@charset "UTF-8";
@import url(destyle.min.css);

/*=== 独自設定 ===*/
html{
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body{
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: var(--fontSize-basic);
    color: var(--font-color);
}
h1, h2, h3, h4, h5, h6{ font-weight: 700; }
img{
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    vertical-align: baseline;
}
::before,
::after{
    background-repeat: no-repeat;
    background-size: cover;
}
textarea{ resize: none; }

/*=== カラー設定・余白指定・フォントサイズ ===*/
:root{
    --font-color: #220d03;
    --border-color: #e6dfd6;
    --bg-color: #f3f2f1;
    --dark-brown: #2f1c14;
    --light-gray: #ececec;
    --white: #ffffff;
    --accent-color: #b7ab43;
    --main-black: #170801;
    --category-blue: #0e3965;
    --category-red: #920a0a;
    --fontSize-basic: clamp(1.6rem, 0.9375vw, 1.8rem);
    --fontSize-basicSP: clamp(1.6rem, 2.8205128205128207vw, 2.2rem);
}

/*=== フォント ===*/
.hina-mincho-regular{/*Hina Mincho*/
    font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
}
.cormorant-garamond{/*Cormorant Garamond*/
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.noto-serif-jp{/*Noto Serif JP*/
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}


/*=== パーツ設定 ===*/
/*== 幅 ==*/
.common_inner{ width: 90%; }
.inner_large{
    margin: 0 auto;
    max-width: 182rem;
    width: 98%;
}
/*== ボタン ==*/
.btn{
    background-color: var(--accent-color);
    width: 78%;
    transition: background-color .3s ease;
}
.btn_a{
    position: relative;
    display: block;
    color: var(--white);
    font-weight: 500;
    text-align: center;
}
.btn_a::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    width: clamp(.7rem, calc(.9 * 10 / 780 * 100vw), .9rem);
    height: clamp(1.478rem, calc(1.9 * 10 / 780 * 100vw), 1.9rem);
    background-image: url(../img/common/arrowR_white.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-transform: translateY(-50%) translateX(0%);
    transform: translateY(-50%) translateX(0%);
}
/* ボタンサイズ large */
.btn_large{ max-width: 40rem; }
.btn_large .btn_a{ padding: clamp(2.4rem, calc(3.2 * 10 / 1920 * 100vw), 3.2rem) 0; }
.btn_large .btn_a::before{ right: clamp(1rem, calc(3 * 10 / 780 * 100vw), 3rem); }
/* ボタンサイズ middle */
.btn_middle{ max-width: 30rem; }
.btn_middle .btn_a{ padding: clamp(2.4rem, calc(2.5 * 10 / 1920 * 100vw), 2.5rem) 0; }
/* ボタンサイズ small */
.btn_small{ max-width: 26.5rem; }
.btn_small .btn_a{ padding: clamp(2.4rem, calc(2.5 * 10 / 1920 * 100vw), 2.5rem) 0; }
@media (hover: hover){
    .btn:hover{ background-color: var(--main-black); }
}
@media screen and ( max-width: 780px ){
    body{ font-size: var(--fontSize-basicSP); }

    /*=== パーツ設定 ===*/
    /*== 幅 ==*/
    .common_inner,
    .inner_large{
        width: 95%;
    }
    /*== ボタン ==*/
    .btn_a{ font-size: clamp(1.6rem, calc(1.8 * 10 / 780 * 100vw), 1.8rem); }
    /* ボタンサイズ large */
    .btn_large .btn_a{ padding: clamp(1.6rem, calc(3 * 10 / 780 * 100vw), 3rem) 0; }
    /* ボタンサイズ middle */
    .btn_middle .btn_a{ padding: clamp(1.6rem, calc(2.5 * 10 / 780 * 100vw), 2.5rem) 0; }
    /* ボタンサイズ small */
    .btn_small .btn_a{ padding: clamp(1.6rem, calc(2.5 * 10 / 780 * 100vw), 2.5rem) 0; }
}


/*=== main ===*/
main{ margin-top: var(--header-height); }


/*=== header ===*/
.header{
    position: fixed;
    top: 0;
    padding: 1.6rem 0 1.6rem clamp(1rem, calc(5 * 10 / 1920 * 100vw), 5rem);
    display: flex;
    width: 100%;
    background-color: var(--white);
    align-items: center;
    justify-content: space-between;
    z-index: 11;
    transition: padding .3s ease;
}
.header_logo{
    width: clamp(24.8rem, calc(37.2 * 10 / 1920 * 100vw), 37.2rem);
    transition: opacity .3s ease, width .3s ease;
}
.header_logo_a{
    display: block;
    width: 100%;
}
.headerMenu_wrapper{ width: calc(100% - clamp(1rem, calc(37.2 * 10 / 1920 * 100vw), 37.2rem)); }
.headerMenu_nav{
    display: flex;
    justify-content: end;
}
.headerMenu_ul{
    display: flex;
    align-items: center;
}
.headerMenu_li{
    position: relative;
    width: fit-content;
    height: 100%;
}
.headerMenu_li_news{ display: none; }
.headerMenu_li::before{
    content: "";
    position: absolute;
    top: -2.7rem;
    left: 50%;
    width: .1rem;
    height: 4.3rem;
    background-color: var(--accent-color);
    -webkit-transform: translateY(0%) translateX(-50%);
    transform: translateY(0%) translateX(-50%);
    opacity: 0;
    transition: opacity .3s ease;
}
.headerMenu_current::before{ opacity: 1; }
.headerMenu_current .headerMenu_a{ color: var(--accent-color); }
.headerMenu_a{
    padding: 0 clamp(1rem, calc(4.5 * 10 / 1920 * 100vw), 4.5rem);
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    transition: color .3s ease;
}
.headerTel_wrap{ margin: 0 clamp(1rem, calc(3.7 * 10 / 1920 * 100vw), 3.7rem) 0 clamp(1rem, calc(5.6 * 10 / 1920 * 100vw), 5.6rem); }
.headerTel{
    position: relative;
    padding-left: clamp(1rem, calc(2.8 * 10 / 1920 * 100vw), 2.8rem);
    font-size: clamp(2.4rem, calc(3.8 * 10 / 1920 * 100vw), 3.8rem);
    font-weight: 700;
}
a[href^="tel:"]{
    pointer-events: none;
    cursor: default;
}
.headerTel::before{
    content: "";
    position: absolute;
    top: clamp(1.2rem, calc(1.8 * 10 / 1920 * 100vw), 1.8rem);
    left: 0;
    width: clamp(1.4rem, calc(2.1 * 10 / 1920 * 100vw), 2.1rem);
    height: clamp(1.867rem, calc(2.8 * 10 / 1920 * 100vw), 2.8rem);
    background-image: url(../img/common/tel_icon.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.headerTel_receptionHours{
    margin-top: clamp(.4rem, calc(.8 * 10 / 780 * 100vw), .8rem);
    padding-left: clamp(1rem, calc(2.8 * 10 / 1920 * 100vw), 2.8rem);
    display: flex;
}
.headerTel_receptionHours_span{
    margin-right: clamp(.8rem, calc(2 * 10 / 1920 * 100vw), 2rem);
    display: block;
    width: fit-content;
}
.headerPC_btn{
    max-width: 26rem;
    width: 18%;
    background-color: var(--accent-color);
    transition: background-color .3s ease;
}
.headerPC_btn_a{
    padding: clamp(1rem, calc(2.5 * 10 / 1920 * 100vw), 2.5rem) 0;
    display: flex;
    height: 100%;
    font-weight: 500;
    color: var(--white);
    align-items: center;
    justify-content: center;
}
.headerMenu_a,
.headerTel_receptionHours,
.headerPC_btn_a{/*headerテキストサイズ*/
    font-size: clamp(1.4rem, 0.9375vw, 1.8rem);
}
.headerSP_btn_wrap{/*headerSP用のボタン*/
    display: none;
}
.headerBtn_box{/*headerSP用のハンバーガーメニュー*/
    display: none;
}
@media (hover: hover){
    .header_logo:hover{ opacity: .6; }
    .headerMenu_li:hover::before{ opacity: 1; }
    .headerMenu_li:hover .headerMenu_a{ color: var(--accent-color); }
    .headerPC_btn:hover{ background-color: var(--main-black); }
}


/*=== common contact ===*/
.common_contact_sec{
    padding: 7.6rem 0;
    background-image: url(../img/common/common_contact_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.cc_inner{
    margin: 0 auto;
    display: flex;
    max-width: 100rem;
    width: 90%;
    gap: clamp(1.8rem, calc(5 * 10 / 780 * 100vw), 5rem) 2.4rem;
    justify-content: space-between;
}
.cc_title{
    margin-bottom: 1.6rem;
    padding: 1rem 1.9rem;
    width: fit-content;
    font-size: clamp(1.8rem, calc(2.5 * 10 / 1080 * 100vw), 2.5rem);
    font-weight: 500;
    background-color: var(--white);
}
.cc_tel{
    position: relative;
    padding-left: clamp(2.4rem, calc(3.8 * 10 / 1080 * 100vw), 3.8rem);
    font-size: clamp(4rem, calc(5.4 * 10 / 1080 * 100vw), 5.4rem);
    font-weight: 700;
}
.cc_tel::before{
    content: "";
    position: absolute;
    top: clamp(1.4rem, calc(2.4 * 10 / 1080 * 100vw), 2.4rem);
    left: 0;
    width: clamp(1.4rem, calc(3.1 * 10 / 1080 * 100vw), 3.1rem);
    height: clamp(1.867rem, calc(4.3 * 10 / 1080 * 100vw), 4.3rem);
    background-image: url(../img/common/tel_icon.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.cc_tel_receptionHours{
    margin-top: 1.6rem;
    padding-left: clamp(2.4rem, calc(3.8 * 10 / 1080 * 100vw), 3.8rem);
    display: flex;
    font-size: clamp(1.8rem, calc(2.4 * 10 / 1080 * 100vw), 2.4rem);
    font-weight: 500;
    justify-content: center;
}
.cc_tel_receptionHours_span{
    margin-right: 2rem;
    display: block;
    width: fit-content;
}
.cc_btn_wrap{
    max-width: 40rem;
    width: 45%;
}
.cc_btn{
    width: 100%;
    transition: background-color .3s ease;
}
.cc_btn:first-of-type{
    margin-bottom: 3.3rem;
    background-color: var(--accent-color);
}
.cc_btn:last-of-type{ background-color: var(--main-black); }
.cc_btn_a{
    position: relative;
    padding: 3.2rem 0;
    display: block;
    font-weight: 500;
    color: var(--white);
    text-align: center;
}
.cc_btn_a::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 3rem;
    width: clamp(.7rem, calc(.9 * 10 / 780 * 100vw), .9rem);
    height: clamp(1.478rem, calc(1.9 * 10 / 780 * 100vw), 1.9rem);
    background-image: url(../img/common/arrowR_white.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-transform: translateY(-50%) translateX(0%);
    transform: translateY(-50%) translateX(0%);
}
@media (hover: hover){
    .cc_btn:first-of-type:hover{ background-color: var(--main-black); }
    .cc_btn:last-of-type:hover{ background-color: var(--accent-color); }
}


/*=== ページトップボタン ===*/
.pagetop_link_btn{
    position: fixed;
    right: 2.7%;
    bottom: 2rem;
    width: 7rem;
    background-color: var(--main-black);
    aspect-ratio: 1 / 1;
    visibility: hidden;
    opacity: 0;
    z-index: 9;
    transition: visibility .3s ease, opacity .3s ease;
}
.pagetop_link_btn.pagetop_is_active{
    visibility: visible;
    opacity: 1;
    transition: visibility .3s ease, opacity .3s ease, background-color .3s ease;
}
.pagetop_link_btn_a{
    position: relative;
    padding-bottom: 1.4rem;
    display: flex;
    width: 100%;
    height: 100%;
    font-size: 1.4rem;
    color: var(--white);
    align-items: end;
    justify-content: center;
}
.pagetop_link_btn_a::before{
    content: "";
    position: absolute;
    top: 2.3rem;
    left: 50%;
    width: clamp(.7rem, calc(.9 * 10 / 780 * 100vw), .9rem);
    height: clamp(1.478rem, calc(1.9 * 10 / 780 * 100vw), 1.9rem);
    background-image: url(../img/common/arrowR_white.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate(-50%, -50%) rotate(-90deg);
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
}
@media (hover: hover){
    .pagetop_link_btn.pagetop_is_active:hover{ background-color: var(--accent-color); }
}


/*=== グループ企業 ===*/
.group_sec{
    padding: 4.8rem 0 0;
    background-color: var(--main-black);
}
.group_inner{
    margin: 0 auto;
    max-width: 100rem;
    width: 90%;
}
.group_title{
    margin-bottom: 3.4rem;
    font-size: 2rem;
    color: var(--white);
    font-weight: 700;
    text-align: center;
}
.group_ul{
    display: flex;
    flex-wrap: wrap;
    gap: 1.1rem 1.3rem;
    justify-content: center;
}
.group_li{
    border: .1rem solid var(--white);
    width: 24rem;
    height: 5rem;
    background-color: var(--white);
    transition: background-color .3s ease;
}
.group_a{
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    font-size: 1.6rem;
    color: var(--main-black);
    align-items: center;
    justify-content: center;
    transition: color .3s ease;
}
.group_a::before,
.group_a::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 1.2rem;
    width: .7rem;
    height: 1.5rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translateY(-50%) translateX(0%);
    -webkit-transform: translateY(-50%) translateX(0%);
}
.group_a::before{ background-image: url(../img/common/group_arrowR_black.png); }
.group_a::after{
    background-image: url(../img/common/group_arrowR_white.png);
    opacity: 0;
    transition: opacity .3s ease;
}
@media (hover: hover){
    .group_li:hover{ background-color: var(--main-black); }
    .group_li:hover .group_a{ color: var(--white); }
    .group_li:hover .group_a::after{ opacity: 1; }
}


/*=== footer ===*/
.footer{
    padding: 5.6rem 0 2.6rem;
    background-color: var(--main-black);
}
.footer :is(p, a, small){
    font-size: clamp(1.5rem, calc(1.6 * 10 / 1920 * 100vw), 1.6rem);
    font-weight: 500;
    color: var(--white);
}
.footer_inner{
    margin: 0 auto;
    display: flex;
    max-width: 100rem;
    width: 90%;
}
.footer_info_wrap,
.footerMenu_nav{
    width: 50%;
}
.footer_info_wrap{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.footer_logo{
    max-width: 37.2rem;
    width: 80%;
    transition: opacity .3s ease;
}
.footer_logo_a{ display: block; }
.footerMenu_ul{
    display: flex;
    flex-wrap: wrap;
    gap: 4.5rem 0;
}
.footerMenu_li{ width: 50%; }
.footerMenu_a{
    position: relative;
    padding-left: clamp(1.6rem, calc(3.4 * 10 / 1920 * 100vw), 3.4rem);
    display: block;
    transition: color .3s ease;
}
.footerMenu_a::before,
.footerMenu_a::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: .7rem;
    height: 1.478rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-transform: translateY(-50%) translateX(0%);
    transform: translateY(-50%) translateX(0%);
}
.footerMenu_a::before{ background-image: url(../img/common/arrowR_white.png); }
.footerMenu_a::after{
    background-image: url(../img/common/arrowR_yellow.png);
    opacity: 0;
    transition: opacity .3s ease;
}
.footer_postCode{ margin-bottom: .8rem; }
.copyright{
    margin-top: 11.4rem;
    display: block;
    text-align: center;
}
@media (hover: hover){
    .footer_logo:hover{ opacity: .6; }
    .footerMenu_li:hover .footerMenu_a{ color: var(--accent-color); }
    .footerMenu_li:hover .footerMenu_a::after{ opacity: 1; }
}


@media screen and ( max-width: 1280px ){
    /*=== header ===*/
    .headerSP_btn_wrap{/*headerSP用のボタン*/
        margin: clamp(1.6rem, calc(4 * 10 / 780 * 100vw), 4rem) 0 clamp(2.4rem, calc(6.4 * 10 / 780 * 100vw), 6.4rem);
        display: flex;
        gap: .8rem 1.6rem;
        justify-content: space-between;
    }
    .headerSP_btn{ width: 48%; }
    .headerSP_btn_a{
        padding: 3.1rem 0;
        display: block;
        font-size: clamp(1.8rem, calc(2.5 * 10 / 780 * 100vw), 2.5rem);
        font-weight: 500;
        color: var(--white);
        text-align: center;
    }
    .headerSP_btn_wrap .headerSP_btn:first-of-type{ background-color: var(--accent-color); }
    .headerSP_btn_wrap .headerSP_btn:last-of-type{ background-color: var(--dark-brown); }
    .headerBtn_box{/*headerSP用のハンバーガーメニュー*/
        display: block;
    }
    .headerPC_btn{/*headerPC用のボタン*/
        display: none;
    }
    .headerBtn_box{/*ハンバーガーメニュー*/
        position: relative;
        display: block;
        right: clamp(.8rem, calc(2 * 10 / 780 * 100vw), 2rem);
        width: 4.5rem;
        height: 6rem;
        background-size: cover;
        cursor: pointer;
        z-index: 100;
    }
    .headerBtn_box::before{
        content: "MENU";
        position: absolute;
        bottom: 0;
        left: 50%;
        font-size: clamp(1.4rem, calc(1.6 * 10 / 1280 * 100vw), 1.6rem);
        color: var(--font-color);
        -webkit-transform: translateY(0%) translateX(-50%);
        transform: translateY(0%) translateX(-50%);
    }
    .menu_active::before{ content: "CLOSE"; }
    .menu_active{ background-image: none; }
    .headerBtn_span{
        position: absolute;
        display: block;
        right: 0;
        width: 4.5rem;
        height: .3rem;
        background-color: var(--dark-brown);
        position: absolute;
        transition: all .3s;
    }
    .headerBtn_span:nth-child(1){ top: 0; }
    .headerBtn_span:nth-child(2){ top: 1.6rem; }
    .headerBtn_span:nth-child(3){ top: 3.2rem; }
    .menu_active .headerBtn_span:nth-child(1){
        transform: rotate(45deg);
        top: 1.6rem;
    }
    .menu_active .headerBtn_span:nth-child(2){ opacity: 0; }
    .menu_active .headerBtn_span:nth-child(3){
        transform: rotate(-45deg);
        top: 1.6rem;
    }
    body.active{
        height: 100%;
        overflow: hidden;
    }
    .headerMenu_wrapper{/*メニュー背景*/
        position: fixed;
        /* top: 9.5rem; */
        top: var(--header-height);
        right: -100%;
        padding: 0 0 8rem;
        width: 100%;
        height: 100%;
        background-color: transparent;
        transition: .5s all;
        overflow: auto;
        z-index: 10;
    }
    #headerBtn.menu_active+.headerMenu_wrapper{ right: 0; }
    .headerMenu_inner{
        background-image: url(../img/common/headerSP_bg.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .headerMenu_nav{/*メニュー*/
        flex-direction: column;
        margin: 0 auto;
        padding: 3.2rem 0 8rem;
        width: 80%;
    }
    .headerMenu_ul{ flex-direction: column; }
    .headerMenu_li{ width: 100%; }
    .headerMenu_li_news{ display: block; }
    .headerMenu_li::before{ display: none; }
    .headerMenu_a{
        padding: 2.4rem 0;
        font-size: clamp(1.8rem, calc(2.5 * 10 / 780 * 100vw), 2.5rem);
    }
    .headerTel_wrap{
        margin: 0 auto;
        width: fit-content;
    }
    .headerTel{
        padding-left: clamp(1rem, calc(5.6 * 10 / 780 * 100vw), 5.6rem);
        font-size: clamp(4rem, calc(7 * 10 / 780 * 100vw), 7rem);
    }
    .headerTel::before{
        top: clamp(1.6rem, calc(3 * 10 / 780 * 100vw), 3rem);
        left: 0;
        width: clamp(2.25rem, calc(3.7 * 10 / 780 * 100vw), 3.7rem);
        height: clamp(3rem, calc(5.1 * 10 / 780 * 100vw), 5.1rem);
    }
    .headerTel_receptionHours{
        padding-left: clamp(1rem, calc(5.6 * 10 / 780 * 100vw), 5.6rem);
        font-size: clamp(1.8rem, calc(3.1 * 10 / 780 * 100vw), 3.1rem);
        justify-content: center;
    }
    .headerTel_receptionHours_span{ margin-right: clamp(.8rem, calc(3.4 * 10 / 780 * 100vw), 3.4rem); }
}
@media screen and ( max-width: 780px ){
    /*=== header ===*/
    .header{ padding: clamp(1.4rem, calc(1.8 * 10 / 780 * 100vw), 1.8rem) 0 clamp(.8rem, calc(3.2 * 10 / 780 * 100vw), 3.2rem) clamp(.8rem, calc(2 * 10 / 780 * 100vw), 2rem); }
    .header_logo{ width: clamp(18.4rem, calc(33.4 * 10 / 780 * 100vw), 33.4rem); }
    .headerMenu_wrapper{ top: clamp(8rem, calc(11.2 * 10 / 780 * 100vw), 11.2rem); }
    .headerMenu_nav{ width: 95%; }
    .headerSP_btn_wrap{ width: 100%; }
    .headerSP_btn{ max-width: 33rem; }
    .headerMenu_a{ padding: clamp(1.6rem, calc(4.6 * 10 / 780 * 100vw), 4.6rem) 0; }
    a[href^="tel:"]{
        pointer-events: auto;
        cursor: pointer;
    }

    /*=== common contact ===*/
    .common_contact_sec{
        padding: 5.4rem 0 clamp(5.4rem, calc(7.4 * 10 / 780 * 100vw), 7.4rem);
        background-image: url(../img/common/common_contact_bg_SP.jpg);
    }
    .cc_inner{
        flex-direction: column;
        width: 95%;
    }
    .cc_title{
        margin: 0 auto clamp(1.8rem, calc(3.2 * 10 / 780 * 100vw), 3.2rem);
        padding: 1.2rem clamp(1.6rem, calc(2.6 * 10 / 780 * 100vw), 2.6rem);
        font-size: clamp(1.8rem, calc(3.4 * 10 / 780 * 100vw), 3.4rem);
    }
    .cc_tel_box{ text-align: center; }
    .cc_tel{
        padding-left: clamp(2.4rem, calc(5.4 * 10 / 780 * 100vw), 5.4rem);
        font-size: clamp(4rem, calc(7.4 * 10 / 780 * 100vw), 7.4rem);
    }
    .cc_tel::before{
        top: clamp(1.6rem, calc(3.4 * 10 / 780 * 100vw), 3.4rem);
        width: clamp(2.25rem, calc(4.2 * 10 / 780 * 100vw), 4.2rem);
        height: clamp(3rem, calc(5.9 * 10 / 780 * 100vw), 5.9rem);
    }
    .cc_tel_receptionHours{
        margin-top: clamp(.8rem, calc(2.4 * 10 / 780 * 100vw), 2.4rem);
        padding-left: clamp(2.4rem, calc(5.4 * 10 / 780 * 100vw), 5.4rem);
        font-size: clamp(1.8rem, calc(3.2 * 10 / 780 * 100vw), 3.2rem);
    }
    .cc_btn_wrap{
        display: flex;
        max-width: initial;
        width: 100%;
        gap: 1rem 1.6rem;
        justify-content: space-between;
    }
    .cc_btn{
        max-width: 33rem;
        width: 60%;
    }
    .cc_btn:first-of-type{ margin-bottom: 0; }
    .cc_btn_a{ padding: clamp(2rem, calc(2.9 * 10 / 780 * 100vw), 2.9rem) 0; }
    .cc_btn::after{ right: 2rem; }

    /*=== ページトップボタン ===*/
    .pagetop_link_btn{
        right: clamp(.8rem, calc(2 * 10 / 780 * 100vw), 2rem);
        bottom: clamp(1.4rem, calc(3 * 10 / 780 * 100vw), 3rem);
        width: clamp(4.8rem, calc(8.4 * 10 / 780 * 100vw), 8.4rem);
    }
    .pagetop_link_btn_a{
        padding-bottom: clamp(.7rem, calc(1.7 * 10 / 780 * 100vw), 1.7rem);
        font-size: clamp(1.2rem, calc(1.6 * 10 / 780 * 100vw), 1.6rem);
    }
    .pagetop_link_btn_a::before{
        top: clamp(1.7rem, calc(2.8 * 10 / 780 * 100vw), 2.8rem);
        width: clamp(.7rem, calc(1 * 10 / 780 * 100vw), 1rem);
        height: clamp(1.478rem, calc(2.3 * 10 / 780 * 100vw), 2.3rem);
    }

    /*=== footer ===*/
    .footer{ padding: clamp(5.4rem, calc(7.2 * 10 / 780 * 100vw), 7.2rem) 0 6.4rem; }
    .footer_inner{ width: 95%; }
    .footer_info_wrap{ width: 100%; }
    .footer_logo{ margin: 0 auto clamp(2rem, calc(6.9 * 10 / 780 * 100vw), 6.9rem); }
    .footerMenu_nav{ display: none; }
    .footer p{
        font-size: var(--fontSize-basicSP);
        text-align: center;
    }
    .copyright{
        margin-top: clamp(8rem, calc(10.3 * 10 / 780 * 100vw), 10.3rem);
        font-size: clamp(1.2rem, calc(1.6 * 10 / 780 * 100vw), 1.6rem) !important;
    }
}
@media screen and ( max-width: 500px ){
    /*=== header ===*/
    .headerSP_btn_wrap{ flex-direction: column; }
    .headerSP_btn{
        max-width: initial;
        width: 100%;
    }
    .headerSP_btn_a{ padding: 2.4rem 0; }

    /*=== common contact ===*/
    .cc_btn_wrap{ flex-direction: column; }
    .cc_btn{
        max-width: initial;
        width: 100%;
    }
}