html,
body{
    font-family: "Noto Serif JP", serif;
}

#header_logo { width:210px; height:210px; background:#fff; position:absolute; left:0; top:0; display:inline-block; z-index:200; }
#header_logo img { display:block; transition: opacity 0.3s ease-in-out; max-width:100%; height:auto; }
#header_logo img.mobile { display:none; }
#header_logo a { width:210px; height:210px; display:block; padding:20px; aspect-ratio:1/1; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; transition:opacity 1.4s ease 0.5s; }
#header_logo a:hover img { opacity:0.5; }
#header_logo a .logo_text { font-weight:500; line-height:1.4; }
#header_logo a:hover .logo_text { }

#header_logo.animate a { opacity:1; }
#header { z-index:100; position:absolute; top:0px; left:0px; width:100%; height:80px; background:#fff; display:flex; flex-wrap:wrap; justify-content:flex-end; }
#header_logo2 { z-index:200; position:absolute; left:0; top:0; display:none; }
#global_menu { width:100%; height:80px; z-index:2; position:absolute; top:0; left:50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); z-index:1; }
#global_menu > ul { position:relative; text-align:center; font-size:0; }
#global_menu > ul > li { display:inline-block; position:relative; line-height:1; text-align:center; font-size:16px; }
#global_menu > ul > li > a {  font-family: Arial,"Hiragino Sans", "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN", 游ゴシック, YuGothic,メイリオ, Meiryo,sans-serif; color:#000; text-decoration:none; height:80px; line-height:80px; padding:0 19px; display:block; position:relative; overflow:hidden; }
#global_menu > ul > li.active > a { }
#global_menu ul ul { background:#f3f3f3; display:none; width:250px; position:absolute; top:80px; margin:0; padding:0; z-index:100; }
#global_menu ul ul ul { left: 100%; top:0 !important; margin:0; }
#global_menu ul ul li { line-height:1.5; font-size:14px; padding:0; margin:0; text-align:left; position:relative; display:block; }
#global_menu ul ul a { color:#000; display:block; position:relative; padding:15px 20px 13px; height:auto; line-height:1.6; margin:0; }
#global_menu ul ul a:hover { text-decoration:none; }
#global_menu > ul > li.current-menu-item > a, #global_menu > ul > li.current-menu-parent > a, #global_menu > ul > li.current-menu-ancestor > a { }
#header.active #global_menu > ul > li > a {  }
#global_menu ul ul li.menu-item-has-children > a:before {
  font-family:'design_plus'; content:'\e910'; color:#000; display:block; position:absolute; right:9px; top:19px; font-size:10px;
}



/* 検索フォーム */
body.hide_page_header_bar #header_search { display:none; }
#header_search { height:70px; z-index:2; position:relative; }
#header_search.active { z-index:100; }
#header_search_button { display:block; position:absolute; right:0px; top:0px; width:80px; height:80px; cursor:pointer; z-index:2;  }
#header_search_button:before {
  display:block; font-family:'design_plus'; color:#000; font-size:17px; content:'\e94c';
  left:calc(50% - 2px); top:50%; transform: translate(-50%, -50%); position:absolute; transition: color 0.2s ease;
}
#header_search_button:hover:before { color:red; }
#header_search.active #header_search_button:before { font-family:'design_plus';content:'\e91a'; font-size:20px; }
#header_search form { opacity:0; pointer-events:none; height:40px; width:345px; position:absolute; top:20px; right:80px; z-index:1; transition: all 0.3s ease; }
#header_search.active form { opacity:1; pointer-events:initial; }
#header_search .input_area input { position:absolute; right:0px; width:0px; height:40px; border:none; background:#f3f3f3; z-index:1; padding:0 60px 0 25px; border-radius:50px; transition: all 0.3s ease; }
#header_search.active form .input_area input { width:345px; }
#header_search .button input { position:absolute; right:0px; top:0px; border:none; background:none; }
#header_search .button label { position:absolute; right:0px; top:0px; z-index:10; pointer-events:none; }
#header_search .button label:before {
  display:block; font-family:'design_plus'; color:#000; font-size:14px; content:'\e94c';
  top:10px; right:20px; position:absolute; transition: color 0.2s ease;
}
#header_search .button:hover label:before { }

@font-face {
    font-family: 'design_plus';
    font-weight: normal;
    font-style: normal;
    font-display:swap;
    src: url('fonts/design_plus.woff?v=1.1') format('woff');
}
@font-face {
    font-family: 'footer_bar';
    font-weight: normal;
    font-style: normal;
    font-display:swap;
    src: url('fonts/footer_bar.woff?v=1.1') format('woff');
}
@font-face {
    font-family: 'tiktok_x_icon';
    font-weight: normal;
    font-style: normal;
    font-display:swap;
    src: url('fonts/tiktok_x_icon.woff?v=1.0') format('woff');
}

/* ----------------------------------------------------------------------
 フッター
 ---------------------------------------------------------------------- */

 /* 画像カルーセル */
 #footer_image_carousel.splide { visibility:visible; }
 #footer_image_carousel.no_slide .splide__list { display:flex; flex-wrap:wrap; }
 #footer_image_carousel .item { width:322px; height:auto; aspect-ratio:322/209; position:relative; overflow:hidden; }
 #footer_image_carousel.no_slide .splide__list .item { flex: 1 1 0%; }
 #footer_image_carousel img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }


 /*　アイコンバナー */
 #footer_icon_banner { display:flex; flex-wrap:wrap; margin-right:-1px; }
 #footer_icon_banner .item { flex: 1 1 0%; }
 #footer_icon_banner .item a { display:block; width:100%; height:70px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; border-right:1px solid #ddd; }
 #footer_icon_banner .item:last-of-type a { border-right:none; }
 #footer_icon_banner a:before { color:#937960; margin:0 12px 0 0; }
 #footer_icon_banner a span { transition: color 0.1s ease; }


 /* ロゴエリア */
 #footer { border-top:1px solid #ddd; }
 #footer_top { display:flex; flex-wrap:wrap; }
 #footer_top > div { flex: 1 1 0%; border-left:1px solid #ddd; padding:60px 60px; }
 #footer_top > div:first-of-type { border-left:none; }
 #footer_top .footer_menu_mobile { display:none; }


 /* ロゴ */
 #footer_logo { display:flex; flex-wrap:wrap; justify-content:center; align-items:center;}
 #footer_logo img { display:block; -webkit-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; margin:0 auto; }
 #footer_logo a:hover img { opacity:0.5; }
 #footer_logo a .logo_text { font-weight:500; }
 #footer_logo a:hover .logo_text { }
 #footer_logo .logo_image.mobile { display:none; }


 /* メニュー */
 .footer_menu li { margin:0 0 30px 0; font-size:14px; }
 .footer_menu li:last-of-type { margin:0; }
 .footer_menu li a { display:block; }
 .footer_menu li a:hover { color:rgba(0,0,0,0.5) !important; }

 /* 住所 */
 #footer_address { text-align:center; font-size:14px; line-height:2; border-top:1px solid #ddd; padding:15px; }
 #footer_address span { padding:0 0.5em; }

 /* コピーライト */
 #copyright { border-top:1px solid #ddd; height:60px; line-height:60px; position:relative; text-align:center; font-size:12px; }


 /* 上部へ戻る*/
 #return_top { opacity:0; transition: opacity 0.5s ease; position:fixed; right:0px; bottom:0px; display:flex; flex-wrap:wrap; justify-content:center; align-items:end; z-index:2; }
 #return_top a { color:#000; width:80px; line-height:80px; font-size:14px; font-weight:500; writing-mode:vertical-rl; display:inline-block; text-align:left; position:relative; padding:60px 0 30px 0; }
 #return_top a:before { content:'\e90f'; font-family:'design_plus'; display:block; transform:rotate(90deg); position:absolute; top:35px; }
 #return_top.active { opacity:1; }
 #return_top span, #return_top a:before { transition: opacity 0.2s ease; }
 #return_top a:hover span, #return_top a:hover:before { opacity:0.5; }


 /* SNSボタン */
 #footer_sns { position:fixed; left:0px; bottom:20px; z-index:10; width:80px; background:#fff; padding:20px 0 0;}
 #footer_sns li { display:block; margin:0; }
 #footer_sns li a { width:80px; height:35px; }
 #footer_sns.color_type1 li a:before { color:#937960; }

 #drawer_menu
 {
    display: none;
}

.footer_menu li{
    list-style: none;
}
.footer_menu li a{
    color: #000;
}

.fv-title {
    color: #fff;
    font-size: 36px;
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    top: 33%;
}
.fv-text{
    color: #fff;
    font-size: 16px;
    position: absolute;
    top: 55%;
    left: 0;
    right: 0;
    text-align: center;
}
.fv{
    background-image:url("/images/contact/fv.jpg");
    background-size:cover;
    background-position:center;
    height:478px;
    position: relative;
}
/* .fv:before{
    content: "";
    display: block;
    background-color: #000;
    height:478px;
    opacity: 0.2;
    position: absolute;
    top: 0;
    width: 100%;
    } */

    .clinic-area{
        background-image:url("/images/contact/bg.jpg");
        text-align: center;
        padding: 10px 0 150px;
    }
    .clinic-area_list li {
        background-color: #937960;
        border-radius: 40px;
        color: #fff;
        display: inline-block;
        width: 152px;
        height: 75px;
        line-height: 75px;
        font-size: 28px;
        font-weight: 600;
        margin-right: 20px;
    }
    .clinic-area_list li:last-of-type{
        margin-right: 0px;
    }
    .clinic-area_text{
        font-size: 28px;
        font-weight: 600;
        margin-bottom: 15px;
        margin-top: 20px;
    }
    h2 {
        font-size: 40px;
        font-weight: 600;
        text-align: center;
        padding: 40px 0 50px;
    }
    h2:after{
        content: "";
        display: block;
        border-bottom: 1px solid #000;
        width: 200px;
        text-align: center;
        margin: 10px auto 0px;
    }
    .clinic-list h2{
        padding: 0px 0 50px;
    }
    .clinic-list {
        background-color:rgb(244, 241, 239);
        padding: 50px 0 80px 0;
    }
    .clinic-card {
        border: 1px solid #937960;
        max-width: 980px;
        padding: 80px 50px;
        border-radius: 20px;
        box-shadow: 0 14px 28px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.1);
        margin: auto;
        background-color: #fff;
        margin-bottom: 30px;
        width: 100%;
    }
    .clinic-card img {
        width: 100%;
    }
    .clinic-title{
        color: #937960;
        font-size: 24px;
        font-weight: 600;
        margin-bottom: 10px;
    }
    .clinic-text{
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }
    .clinic-btn{
        background-color: #000;
        color: #FFFFFF;
        border-radius: 44px;
        max-width: 420px;
        height: 45px;
        line-height: 45px;
        text-align: center;
        margin: 40px auto 0px;
        font-size: 20px;
        width: 100%;
    }
    .clinic-btn2 {
        background-color: #fff;
        border:1px solid #262626;
        margin: 0px auto 20px;
    }
    .clinic-btn2 a {
        color: #262626;
    }
    .clinic-text img {
        width: 20px;
        height: 20px;
    }
/* .clinic-text:nth-of-type(3){
    margin-left: 5px;
}
.clinic-text:nth-of-type(4){
    margin-left: 3px;
}
.clinic-text:nth-of-type(5){
    margin-left: 3px;
    } */
    .clinic-img {
        height: 100%;
        background-position: center;
        background-size: cover;
    }

    .sp {
        display: none;
    }

    #wrapper{
        max-width: initial!important;
    }

    .row {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px;
    }

    .col-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }

    .p-0 {
        padding: 0 !important;
    }

    .col-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .form-control_text {
        font-size: 14px;
        margin-bottom: 20px;
    }
    .form-control_text span {
        font-weight: bold;
    }
    @media (min-width: 768px) {
        .col-md-6 {
            -ms-flex: 0 0 50%;
            flex: 0 0 50%;
            max-width: 50%;
            position: relative;
            width: 100%;
            padding-right: 15px;
            padding-left: 15px;
        }
    }

    @media screen and (max-width: 800px){
        .pc {
            display: none;
        }
        .sp {
            display: block;
        }
        #header_logo  {
            display: none;
        }
        #header_search_button{
            width: 55px;
            height: 55px;
        }
        #header_logo2 a{
            height: 60px;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
        }
        #header_logo2 .text_image{
            display: inline-flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            height: 60px;
            padding: 0;
        }
        #global_menu{
            display: none;
        }
        .fv{
            height: 245px;
        }
    /* .fv:before{
        height: 245px;
        } */
        h2{
            font-size: 32px;
            padding: 30px 0 30px;
        }
        .clinic-area_text{
            font-size: 21px;;
        }
        .clinic-area_list li{
            font-size: 21px;
        }
        .clinic-area_list li{
            line-height:48px;
            height:48px;
            width: 92px;
        }
        .clinic-area{
            padding: 10px 0 50px;
        }
        .clinic-img{
            height: 160px;
        }
        .clinic-card{
            padding: 28px 17px;
        }
        .clinic-title{
            font-size: 18px;
            text-align: center;
        }
        .clinic-address {
            margin-top: 45px;
        }
        .clinic-btn{
            font-size: 14px;
            margin: 0px auto 5px;
        }
        .fv-title{
            font-size: 20px;
            font-weight: bold;
            top: 30%;
        }
        .fv-text{
            font-size: 12px;
            font-weight: 400;
            top: 50%;
        }
        .clinic-list {
            padding: 50px 15px 80px;
        }
        #header_logo2 {
         display: block;
         left: 20px;
         z-index: 200;
         position: absolute;
         top: 0;
         width: 120px;
     }
     .open_menu #drawer_menu {
         opacity: 1;
         pointer-events: auto;
     }
     .row {
         margin: 0;
     }
 }



