/*
Theme Name: 2026 kyotoekimae
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 2026-kyotoekimae
Tags: 
*/


*,
*:before,
*:after {
  box-sizing: border-box;
}

:root{
    --green: #006E35;
    --black: #1D1D1F;
    --white: #FAF8F3;
    --deep-green: #163E20;
    --beige: #F7E5C3;
}

body{
    font-weight: 500;
}
html{
    font-feature-settings:"palt";
    color: #1D1D1F;
    background-color: #EEEDE5;
    letter-spacing: 0.05em;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}
a{
    text-decoration: none !important;
    color: inherit;
}

[id] {
  scroll-margin-top: 250px;
}


p{
    line-height: 1.9;
}
h2{
    font-weight: 500;
    letter-spacing: 0.1em;
}

.pc-none{
    display: none !important;
}


/* テーブル */
table td{
    padding: 10px 10px 10px 0 !important;
}
table tr{
    border-bottom: 1px solid var(--black) !important;
}
table tr:first-child{
    border-top: 1px solid var(--black) !important;
}
.table_border-none tr{
    border: none !important;
    vertical-align: top;
}
.table_border-none tr:first-child{
    border-top: none !important;
}
.table-scroll{
  overflow-x: scroll;
}


/* リスト */
.wp-block-list{
    padding-left: 20px;
}

/* ボタン 緑→濃緑 */
.btn01 a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    font-size: 20px;
    padding: 22px;
}
.btn01 a:hover{
    background-color: var(--deep-green) !important;
    transition: 0.5s ease all;
}
.btn01 a::after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    border: 1px solid var(--beige);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F7E5C3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    opacity: 1;
}
.btn01 a::before{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--beige);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23163E20' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    position: absolute;
    right: 22px;
    opacity: 0;
    transform: scale(0);
    transition: 0.5s ease all;
}
.btn01 a:hover::before{
    opacity: 1;
    border: 1px solid var(--black);
    transform: scale(1);
    transition: 0.5s ease all;
}

/* ボタン 白→左から緑 */
.btn02{
    overflow: hidden;
}
.btn02 a{
    position: relative;
    background-color: inherit;
    z-index: 0;
    padding: 14px 19px;
    display: flex;
    align-items: center;
}
.btn02 a::after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FAF8F3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    margin-left: 37px;
    flex-shrink: 0;
    margin-top: 2px;
}
.btn02 a::before{
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--deep-green);
    position: absolute;
    inset: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.6s ease;
    z-index: -1;
}
.btn02 a:hover{
    color: var(--white);
}
.btn02 a:hover::after{
    background-color: #EEEDE5;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23163E20' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
}
.btn02 a:hover::before{
    transform: scaleX(1);
    transform-origin: left;
}


/* ボタン テキスト+矢印 */
.btn03{
    display: flex;
    width: fit-content;
    align-items: center;
    position: relative;
    z-index: 0;
    padding-left: 0;
}
.btn03::after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1px solid var(--black);
    border-radius: 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231D1D1F' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    margin-left: 12px;
    position: relative;
    z-index: 0;
}
.btn03::before{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F7E5C3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    position: absolute;
    right: 0;
    opacity: 0;
    transform: scale(0);
    transition: 0.5s ease all;
    z-index: 1;
}


/* ボタン 濃緑→緑 */
.btn04 a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    font-size: 18px;
    font-weight: 600;
}
.btn04 a:hover{
    background-color: var(--green) !important;
    transition: 0.5s ease all;
}
.btn04 a::after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    border: 1px solid var(--beige);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F7E5C3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    opacity: 1;
}
.btn04 a::before{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--beige);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23006E35' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    position: absolute;
    right: 27px;
    transform: scale(0);
    transition: 0.5s ease all;
}
.btn04 a:hover::before{
    transform: scale(1);
    transition: 0.5s ease all;
}





/*---------- header ここから ----------*/
.header{
    position: fixed;
    top: 0;
    z-index: 999;
    color: var(--white);
    font-size: 14px;
    width: 100%;
    background-color: rgba(0, 58, 28, .85);
    padding: 24px 32px 20px 32px;
}
.header-logo-wrap{
    display: flex;
    align-items: center;
}
.home .header{
    background-color: inherit;
    transition: 0.5s ease all;
}
.home .header.is-scroll{
    background-color: rgba(0, 58, 28, .85);
    transition: 0.5s ease all;
}
.header nav{
    display: flex;
    justify-content: flex-end;
}
.header-nav_links-item a{
    background-color: rgba(255, 255, 255, .4);
    transition: 0.5s ease all;
    padding: 4px 12px;
}
.header-nav_links-item a:hover{
    background-color: var(--green);
    transition: 0.5s ease all;
}
.header-nav_links-item .tel{
    font-size: 16px;
}
.header-nav_content{
    margin-top: 0;
}
.header-nav_links-item p{
    margin-top: 0 !important;
}
.p-sp-nav-bg{
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(2,48,71, 0.6);
  top: 0;
  left: 0;
  transition: all 0.3s;
}
.p-sp-nav-bg.bg-active{
  display: block;
  transition: all 0.3s;
}
.p-sp-nav_ul{
  width: fit-content;
  display: flex;
  list-style: none;
  border-top: 1px solid var(--white);
  margin: 0;
  padding-left: 0;
}
.p-sp-nav_li{
    height: 38px;
    transition: all 0.3s;
}
.p-sp-nav_li:hover{
    color: var(--beige);
    transition: all 0.3s;
}
.p-sp-nav_a{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 24px;
  padding-top: 8px;
}
.p-sp-nav_li:first-child .p-sp-nav_a{
    padding-left: 0;
}


/* ---------------------------- */
/* ハンバーガーメニューのボタン */
/* ---------------------------- */
.l-sp-header_ham-menu {
  width: 60px;
  height: 60px;
  border-radius: 3px;
  color: #fff;
  font-size: 13px;
  font-weight: 400;
  text-align: center;
  padding-top: 6px;
  display: none;
}
/* ---------------------------- */
.open-btn1 {
  position: relative; /*ボタン内側の基点となるためrelativeを指定*/
  cursor: pointer;
  width: 60px;
  height: 40px;
}
/*ボタン内側:三本線のスタイル*/
.open-btn1 span {
  display: inline-block;
  transition: all 0.5s; /*アニメーションの設定*/
  position: absolute;
  right: 0;
  height: 1px; /*Android端末で線の太さの違い出る対策*/
  transform: scaleY(0.5) translateY(1px); /*Android端末で線の太さの違い出る対策*/
  border-radius: 2px;
  background: #fff;
  width: 32px;
}
/* 上の線 */
.open-btn1 span:nth-of-type(1) {
  top: 7px;
}
/* 真ん中の線 */
.open-btn1 span:nth-of-type(2) {
  top: 14px;
}
/* 下の線 */
.open-btn1 span:nth-of-type(3) {
  top: 21px;
}
/* ---------------------------- */
/*activeクラスが付与されると線が回転して×に*/
.open-btn1.active span:nth-of-type(1) {
  top: 8px;
  transform: translateY(6px) rotate(-20deg);
  height: 1px; /*Android端末で線の太さの違い出る対策*/
}
.open-btn1.active span:nth-of-type(2) {
  opacity: 0; /*真ん中の線は透過*/
}
.open-btn1.active span:nth-of-type(3) {
  top: 20px;
  transform: translateY(-6px) rotate(20deg);
  height: 1px; /*Android端末で線の太さの違い出る対策*/
}


/*---------- header ここまで ----------*/



/*---------- footer ここから ----------*/
footer{
        margin-top: 0;
}
.footer{
    background-color: #EEEDE5;
    padding-top: 160px;
}
.footer_bg-white{
    padding: 64px 56px;
    max-width: 546px;
}
.footer_bg-green{
    padding: 107px 90px;
}
.footer .footer_btn .btn01 a{
    font-size: 18px !important;
    font-weight: 600;
    height: 64px;
}
.footer .btn01 a::before{
    right: 22px;
    border: 1px solid var(--beige);
}
.footer_tel{
    padding: 13px 22px;
    gap: 16px;
    height: 64px;
}
.footer_tel p{
    font-weight: 600;
}
.footer_tel-number{
    font-size: 27px;
    font-weight: 500 !important;
    line-height: 1;
}
.medical-hours{
    font-size: 14px;
}
.medical-hours td:first-child{
    font-family: "EB Garamond", serif;
    font-size: 17px;
}
.footer h2{
    font-size: 20px;
    margin-top: 40px;
    margin-bottom: -16px;
}
.footer-nav{
    max-width: 800px;
    width: 100%;
    justify-content: space-between;
}
.footer-nav a{
    transition: 0.3s ease all;
}
.footer-nav a:hover{
    color: #BD964C;
    text-decoration: underline;
    text-underline-offset: 5px;
    transition: 0.3s ease all;
}
.footer-nav ul{
    list-style: none;
    padding-left: 0;
    line-height: 2;
}
.footer-nav_column{
    display: flex;
    flex-direction: column;
    gap: 56px;
    max-width: 190px;
}
.accordion{
    margin-top: 0;
}
.footer-nav_news-column{
    margin-top: 0;
}


/*---------- footer ここまで ----------*/



/*---------- TOPページ ここから ----------*/

.top_content{
    overflow: hidden;
    margin-top: -24px !important;
}

/* MV */
#metaslider-id-1333{
    position: absolute;
    top: 0;
    left: 0;
    height: 100vh !important;
    width: 100%;
    background-color: #000;
}
#metaslider-id-1333 img{
    height: 100vh !important;
    object-fit: cover;
}
#metaslider-id-1333 .flexslider .caption-wrap{
    height: 100%;
    background: linear-gradient(0deg, rgb(0, 0, 0, .0),rgb(0, 0, 0, .0), 85%, rgb(0, 0, 0, .6) );
    opacity: 1;
}
.metaslider .caption{
    height: 100%;
    position: relative;
}
.mv-text{
    margin-left: 88px;
    font-size: 48px;
    line-height: 1.66;
    letter-spacing: .24em;
    position: absolute;
    bottom: 88px;
    left: 0;
}
.mv-text2{
    font-size: 24px;
    margin-top: 8px;
}
.mv-text_frame{
    font-size: 18px;
    width: fit-content;
    border: 1px solid var(--white);
    border-radius: 30px;
    display: flex;
    align-items: baseline;
    letter-spacing: .05em;
    margin: 27px 0 12px 0;
    padding: 4px 20px 8px 20px;
    line-height: 1;
}
.mv-text_frame-num{
    font-family: "EB Garamond", serif;
    font-size: 32px;
}
.mv-text_small{
    font-size: 13px;
    letter-spacing: .05em;
}

.home .entry-content{
    background-image: url(/wp-content/uploads/2025/11/Rectangle-567.png);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
}


.top_bg-green_content{
    width: 100vw;
    margin: 100vh calc(50% - 50vw) 0;
    background-color: rgba(0, 58, 28, .85);
    padding: 112px 0 160px 0;
    color: var(--beige);
}
.top_bg-green_content h2{
    font-size: 30px;
}
.top_consultaion{
    max-width: 1120px;
    width: 100%;
    margin: 0 auto;
}

.table{
    /* max-width: 736px; */
    width: 100%;
    height: auto;
    margin-right: 0 !important;
    white-space: nowrap;
}
.top-news{
    justify-content: space-between;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    margin-top: 112px;
}
.top-news .post-backlink{
    justify-content: left;
}
.top-news .post-backlink a{
    padding-left: 0;
}
.top-news .post-backlink a::after{
    background-color: inherit;
    border: 1px solid var(--beige);
}
.top-news .news-archive li{
    border-top: 1px solid var(--beige);
}
.top-news .news-archive li:last-child{
    border-bottom: 1px solid var(--beige);
}
.top-news .news-list a::after{
    margin-top: 6px;
    border: 1px solid var(--beige);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F7E5C3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
}
.top-news .news-list:hover{
    background-color: var(--green);
}
.top-news .news-list a::before{
    top: 6px;
}
.top-news .news-list:hover a::before{
    border: 1px solid var(--beige);
    background-color: var(--beige);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23006E35' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
}


.top-about{
    background-color: var(--white);
    color: var(--black);
    max-width: 1328px;
    width: 100%; 
    margin: 136px auto 0 auto;
    padding: 104px 160px 104px 104px;
    border-radius: 8px;
    position: relative;
}
.top-about-img{
    width: 100vw;
    max-width: 1600px;
    text-align: right;
    margin: 0 calc(50% - 48vw) 50px;
}
.top-about-img img{
    max-width: 912px;
    width: 90%;
}
.top-about-iguchi{
    z-index: 1;
    padding-bottom: 138px;
    margin-top: -120px !important;
}
.top-about-iguchi img{
    width: 472px;
    margin-bottom: 24px;
}
.top-about_subtitle{
    font-size: 20px;
}
.top-about-text{
    text-align: justify;
    max-width: 448px;
    margin-top: 38px !important;
}
.top-about-text .post-backlink{
    margin-top: 0;
    justify-content: end;
}
.top-about-text .post-backlink a{
    padding-right: 0;
}
.top-about-text .post-backlink a::before{
    right: 0;
    border: 1px solid var(--black);
}


/* 文字が流れるアニメーション */
.slide-text-container{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
.slide-text-wrapper{
    display: flex;
    animation: loop-text 30s linear infinite;
    
}
.slide-text-gradation{
    position: relative;
}
.slide-text{
    display: inline-block;
    white-space: nowrap;
    margin-top: 0;
    color: #1D7146;
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
/* 文字が流れるアニメーションのマスク */
.slide-text-gradation{
    mask-image: linear-gradient(to right, transparent 0%, black 25%, black 75%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 25%, black 75%, transparent 100%);
}
/* 文字が流れるアニメーション ここまで */


.top-airway{
    max-width: 896px;
    width: 100%;
    margin: 0 auto;
    padding: 0 32px;
}
.top-middle_ttl{
    font-size: 24px;
    font-weight: 700;
    margin-top: 56px !important;
    margin-bottom: 40px;
}
.top-airway_flame{
    justify-content: center;
}
.top-airway-links .btn01{
    height: 72px;
    border: 1px solid var(--beige);
    border-radius: 4px;
}
.top-airway-links .btn01 a{
        font-size: 18px;
        text-align: left;
        padding: 27px;
}
.top-airway-links .btn01 a::before{
    right: 27px;
}

.top_bg-gray{
    margin-top: 0;
    background-color: #EEEDE5;
    padding: 148px 32px 160px 32px;
    overflow: hidden;
    position: relative;
}
.top_h2{
    max-width: 1120px;
    width: 100%;
    margin: 0 auto 32px auto;
}
.top_h2 h2{
    font-size: 30px;
    font-weight: bold;
}
.top_h2 p{
    font-size: 13px;
}

.top_features{
    display: flex;
    flex-wrap: wrap !important;
}
.top_features_img{
    width: 100%;
    object-fit: cover;
    height: 192px;
    overflow: hidden;
}
.top_features_img img{
    height: 200px;
    transition: 0.5s ease all;
    cursor: pointer;
    object-fit: cover;
}
.top_features-items{
    border-radius: 4px;
    overflow: hidden;
    flex-basis: 352px !important;
}
.top_features-items:hover .top_features_img img{
    transform: scale(1.1);
    transition: 0.5s ease all;
}
.top_features-items_inner{
    padding: 16px 32px 40px 32px;
}

.top_features-items:hover .btn03::before{
    opacity: 1;
    border: 1px solid var(--green);
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FAF8F3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    transform: scale(1);
    transition: 0.5s ease all;
}







.top_throat-items{
    cursor: pointer;
}
.top_throat-img{
    max-width: 264px;
    width: 100%;
    height: 160px;
    object-fit: cover;
    transition: 0.5s ease all;
    overflow: hidden;
}
.top_throat-items .top_throat-img img{
    transition: 0.5s ease all;
}
.top_throat-items:hover .top_throat-img img{
    transition: 0.5s ease all;
    transform: scale(1.1);
}
.top_throat-tags{
    margin-top: 26px;
    margin-bottom: 30px;
}
.top_throat-items .btn03::before{
    opacity: 0;
    border: 1px solid var(--black);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231D1D1F' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-color: var(--white);
    transform: scale(0);
    transition: 0.5s ease all;
}
.top_throat-items:hover .btn03::before{
    opacity: 1;
    transform: scale(1);
    transition: 0.5s ease all;
}
.top_throat-items .btn03::after{
     border: 1px solid var(--green);
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F7E5C3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
}

.top_about-surgery .top-middle_ttl{
    margin-top: 0 !important;
    margin-bottom: 0;
}
.top_about-surgery p{
    margin-top: 16px;
}


.top_doctors-file{
    width: 100vw;
    margin: 0 calc(50% - 50vw) 0;
    background-color: rgba(0, 58, 28, .85);
    padding: 72px 32px 78px 32px;
    color: var(--beige);
}

.doctors-file{
    gap: 24px;
    margin-top: 32px;
    }


/* 院長コラム スライダー */
.slick-track{
    display: flex;
    gap: 32px;
}
.slick-arrows-area-wrap .read-more{
    padding-right: 0;
}
.slick-arrows-area{
    display: block;
    padding: 15px 32px;
    width: 132px;
    border-right: 1px solid var(--black);
    border-left: 1px solid var(--black);
}
.slick-arrows{
    display: flex;
    justify-content: space-between;
}
.slick-arrow{
    width: 26px;
    height: 26px;
    border: 1px solid var(--black);
    border-radius: 100%;
    background-color: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
}
.slick-arrow::before{
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    background-color: var(--green);
    border-radius: 100%;
    transition: 0.5s ease all;
    transform: scale(0);
    position: absolute;
    z-index: 0;
}
.slick-prev-arrow{
    margin-right: 16px;
}
.slick-arrow::after{
    content: "";
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 26px;
    height: 26px;
    border-radius: 100%;
    border: 1px solid var(--black);
    flex-shrink: 0;
    z-index: 1;
}
.slick-prev-arrow::after{
    content: "<";
}
.slick-next-arrow::after{
    content: ">";
}
.slick-arrow:hover{
    color: var(--white);
    border: var(--green);
    transition: 0.5s ease all;
}
.slick-arrow:hover::before{
    opacity: 1;
    transform: scale(1);
}
.slick-arrow:hover::after{
    border: 1px solid var(--green);
}





.top_column-list{
    width: 352px !important;
    overflow: hidden;
}
.top_column-list.column-content{
    display: flex;
    flex-direction: column;
    height: auto;
}
.top_column-list.column-content a{
    height: 100%;
    background-color: var(--white);
    border-radius: 4px;
}
.top_column-list_img{
    overflow: hidden;
    margin-top: -24px;
    border-radius: 4px 4px 0 0;
    height: 200px;
}
.top_column-list_img img{
    transition: 0.5s ease all;
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.top_column-list:hover .top_column-list_img img{
    transition: 0.5s ease all;
    transform: scale(1.2);
}
.top_column-list .read-more{
    display: flex;
    align-items: flex-end;
}
.top_column-list .read-more::before{
    opacity: 0;
    border: none;
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FAF8F3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    transform: scale(0);
    transition: 0.5s ease all;
}
.top_column-list:hover .read-more::before{
    opacity: 1;
    border: 1px solid var(--black);
    background-color: var(--white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231D1D1F' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    transform: scale(1);
    transition: 0.5s ease all;
}
.top_h2 .read-more{
    padding-bottom: 0;
}







.top_access{
    background-color: #EEEDE5;
    margin-top: 0;
    padding: 0 32px;
}
.map{
	position: relative;
    max-width: 1120px;
	width: 100%;
    margin: 0 auto;
	height: 0;
	padding-top: 28%; 
}
.map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top_access-ttl{
    font-size: 20px;
}


/*---------- TOPページ ここまで ----------*/



/*---------- 固定ページ ここから ----------*/
.page-title_bg{
    width: 100vw;
    height: 380px;
    object-fit: cover;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    margin-top: 0;
}
.page-title_bg img{
    height: 380px;
    width: 100%;
    object-fit: cover;
}
.page-title{
    position: absolute;
    top: 104px;
    left: 0;
    width: 100vw;
    height: 252px;
    background-color: rgba(0, 58, 28, .85);
    z-index: 2;
}
.post-type-archive .page-title, .single-column .page-title, .tax-column_category .page-title{
    top: 111.5px;
}
.page-title_content{
    padding: 72px 88px 0 88px;
    justify-content: space-between;
    align-items: flex-end;
    line-height: normal;
}
.single-column .page-title_content{
    padding: 73px 88px 0 88px;
}
.category .page-title_content,.single-post .page-title_content{
    padding-top: 74px;
}
.category .page-title_content p,.single-post .page-title_content p,.single-column .page-title_content p{
    margin-top: 13px !important;
}
.page-title_content h1{
    color: var(--white);
    font-size: 48px;
    letter-spacing: 0.15em;
    font-weight: 600;
}
.page-title_content p{
    color: var(--beige);
    margin-top: 16px !important;
    line-height: normal;
}

/* パンくずリスト */
.breadcrumbs{
    color: var(--beige);
    font-size: 12px;
}
.breadcrumbs .home,.breadcrumbs .category,.breadcrumbs .archive{
    position: relative;
    padding-right: 32px;
}
.breadcrumbs .home::after,.breadcrumbs .category::after,.breadcrumbs .archive::after{
    content: "";
    display: block;
    height: 1px;
    width: 16px;
    background-color: var(--beige);
    position: absolute;
    top: 50%;
    right: 8px;
}
.breadcrumbs .current-item::after{
    display: none;
}
.breadcrumbs span[property="name"] {
    display: inline-block;
    padding: 0;
    margin-top: -3px;
    vertical-align: middle;
    max-width: 190px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.page-main{
    width: 100%;
    padding: 120px 32px 24px 32px;
    background-color: #EEEDE5;
    margin: 380px auto 0 auto;
    line-height: 1.8;
}
.page-main-sidenav{
    width: 100%;
    justify-content: space-between;
    margin: 380px auto 0 auto;
    padding: 120px 32px 24px 32px;
    line-height: 1.8;
    background-color: #EEEDE5;
}
.page-content{
    max-width: 1184px;
    width: 100%;
    margin: 0 auto;
}
.page-content_narrow{
    max-width: 736px;
    width: 100%;
    margin: 0 auto;
}
.page-h1{
    border-bottom: 1px solid var(--green) !important;
    padding-bottom: 16px;
    margin-bottom: 32px;
    margin-top: -120px;
    padding-top: 240px;
    font-size: 30px;
    font-weight: 700;
}
.page-h1::before{
    content:'';
    display: block;
}
.page-main-sidenav .page-h1:first-of-type{
    padding-top: 0;
}
.page-h2{
    font-size: 22px;
    margin-bottom: 32px;
    margin-top: 32px;
}
.page-h3{
    font-size: 20px;
    display: inline-block;
    margin-top: 0;
    text-decoration: underline 2px solid var(--black);
    text-underline-offset: 5px;
}
.page-content_bg-white{
    padding: 40px 48px;
    margin-bottom: 32px;
}


/* 固定ページ サイドナビ */
#toc_container{
    list-style: none;
    position: sticky;
    top: 200px;
    background-color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 100%;
    padding: 24px 40px;
    width: 336px;
    margin-bottom: 0;
}
.toc_list li{
    font-weight: 700;
    border-bottom: 1px solid var(--black);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    display: flex;
}
.toc_list li:last-child{
    border-bottom: none;
}
.toc_list a{
    width: 100%;
    padding: 16px  4px 16px 0;
    text-decoration: none;
}
#toc_container a:hover{
    text-decoration: none;
}
.toc_list li:hover::after{
    opacity: 0;
}
.toc_list li::after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FAF8F3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    opacity: 1;
}
.toc_list li::before{
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 100%;
    background-color: var(--white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231D1D1F' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    position: absolute;
    right: 0;
    opacity: 0;
    transform: scale(0);
    transition: 0.5s ease all;
}
.toc_list li:hover::before{
    opacity: 1;
    border: 1px solid var(--black);
    transform: scale(1);
    transition: 0.5s ease all;
}


/* 当院について */
.about_introduction img{
    height: 200px;
    object-fit: cover;
}
.about_introduction figcaption{
    font-size: 18px !important;
    text-align: left !important;
    font-weight: 600;
}
.about_equipment{
    gap: 40px;
    margin-bottom: 24px;
}
.about_equipment img{
    height: 200px;
}


/* はじめての方へ */
.tel-linkbtn{
    padding: 20px;
}
.tel-linkbtn p{
    font-size: 40px;
    line-height: 1 !important;
}



/* 手術 */
.daysurgery-img{
    width: 200px;
    height: 200px;
    margin: 0 auto;
}



/* 費用・保険案内 */
.payment{
    display: flex;
}
.payment img{
    width: 104px !important;
    height: 104px;
}
.payment .wp-block-media-text__content{
    padding: 0 0 0 32px;
}
.payment .wp-block-media-text__content p{
    margin-top: 0;
    margin-bottom: 0;
}


/* faq ここから */
.page-faq h2{
    margin-bottom: 0;
}
.wp-block-details{
    margin-top: 0;
}
summary{
    list-style-type: none;
    font-size: 18px;
    padding: 24px 64px 24px 48px;
    text-indent: -32px;
    position: relative;
}
summary::-webkit-details-marker {
  display: none;
}
summary strong::before{
    content: "Q";
    font-family: "EB Garamond", serif;
    color: var(--green);
    margin-right: 16px;
}
summary::before{
    content: "";
    display: block;
    width: 15px;
    height: 1px;
    background-color: var(--green);
    position: absolute;
    right: 16px;
    top: 50%;
}
summary::after{
    content: "";
    display: block;
    width: 1px;
    height: 15px;
    background-color: var(--green);
    position: absolute;
    right: 23px;
    top: calc(50% - 7px);
}
details[open] summary::after{    
    animation: toggleOpen 0.5s ease;
    animation-fill-mode: forwards;
}
@keyframes toggleOpen {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(90deg);
  }
}

details:not([open]) summary::after{
    animation: toggleClose 0.5s ease all;
}

@keyframes toggleClose {
  0% {
    transform: rotate(90deg);
  }
  100% {
    transform: rotate(0deg);
  }
} 


details p{
    padding: 0 16px 24px 48px;
    margin-top: 0 !important;
}
details p::before{
    content: "A";
    font-family: "EB Garamond", serif;
    color: var(--green);
    font-size: 18px;
    margin-left: -32px;
    margin-right: 16px;
}

/* :root {
  interpolate-size: allow-keywords;
}
details {
  &::details-content {
    @media (prefers-reduced-motion: no-preference) {
      overflow: clip;
      transition-duration: 500ms;
      transition-property: content-visibility, block-size;
      transition-behavior: allow-discrete;
      block-size: auto;
      opacity: 1;
      transition: 0.5s ease all;
    }
  }

  &:not(:open)::details-content {
    block-size: 0;
    opacity: 0;
    transition: 0.5s ease all;
  }
} */


details {
  /* --------アコーディオンの中身のスタイル-------- */
  &::details-content {
    transition:
      height 0.5s,
      opacity 0.5s,
      content-visibility 0.5s allow-discrete;
    height: 0;
    opacity: 0;
    overflow: clip;
  }

  /* --------アコーディオンの中身のスタイル（開いている時）-------- */
  &[open]::details-content {
    opacity: 1;
  }

  /* アコーディオンが開いた時のスタイル */
  &[open] .icon {
    transform: rotate(180deg);
  }
}

@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords; /* height:0（数値型） → auto（文字型） のアニメーションを可能にするための指定 */
  }
  details[open]::details-content {
    height: auto;
  }
}

/* height:0→autoへのアニメーションが対応していない場合は、固定値にアニメーションさせる */
@supports not (interpolate-size: allow-keywords) {
  details[open]::details-content {
    height: 200px;
    overflow-y: scroll;
  }
}





/* faq アコーディオン ここまで */

/*---------- 固定ページ ここまで ----------*/



/*---------- お知らせ ここから ---------- */

/* ページネーション */
.pagination .nav-links{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 56px;
    font-family: "EB Garamond", serif;
    gap: 12px;
}
.page-numbers{
    width: 24px;
    height: 24px;
    background-color: var(--white);
    text-align: center;
    border: 1px solid var(--black);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s ease all;
}
.page-numbers.current{
    background-color: var(--green);
    color: var(--white);
    border-color: var(--green);
}
.page-numbers:hover{
    background-color: var(--green);
    color: var(--white);
    border-color: var(--green);
    transition: 0.5s ease all;
}

/* お知らせ一覧 */
.news-list{
    padding: 20px 40px;
    align-items: flex-start;
    gap: 2px;
}
.news-list h2{
    margin-left: 24px;
    width: 100%;
}
.news-list a{
    width: 100%;
    justify-content: space-between;
    letter-spacing: 0.05em;
}
time{
    font-size: 15px;
    font-family: "EB Garamond", serif;
}
.wp-block-post-date{
    flex-shrink: 0;
}


.news-archive li{
    border-top: 1px solid var(--black);
    margin-top: 0;
    max-width: 736px;
    width: 100%;
    margin: 0 auto;
}
.news-archive li:last-child{
    border-bottom: 1px solid var(--black);
}
.news-list a{
    display: flex;
    align-items: flex-start;
    position: relative;
    font-size: 16px;
}
.news-list:hover{
    background-color: var(--white);
    transition: 0.5s ease all;
}
.news-list a::after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    border: 1px solid var(--black);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231D1D1F' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    opacity: 1;
    flex-shrink: 0;
    margin-top: 12px;
    margin-left: 35px;
}

.news-list a::before{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    border: 1px solid var(--green);
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F7E5C3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    position: absolute;
    right: 0;
    top: 12px;
    opacity: 0;
    transform: scale(0);
    transition: 0.5s ease all;
}
.news-list:hover a::before{
    opacity: 1;
    transform: scale(1);
    transition: 0.5s ease all;
}

/* お知らせ 個別ページ */
.post-title{
    font-size: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--green);
    margin-bottom: 32px;
}
.post-content{
    padding-bottom: 48px;
    border-bottom: 1px solid var(--green);
    margin-bottom: 32px;
    max-width: 736px;
    margin: 0 auto;
}
.post-backlink a{
    padding: 24px;
    font-weight: 600;
}
.post-backlink{
    display: flex;
    justify-content: center;
}
.post-backlink a:hover{
    transition: 0.5s ease all;
}
.post-backlink a{
    display: flex;
    align-items: center;
    position: relative;
}
.post-backlink a::after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F7E5C3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    margin-left: 14px;
    margin-top: 3px;
    opacity: 1;
}
.post-backlink a::before{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231D1D1F' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    border: 1px solid var(--black);
    background-size: 4px 8px;
    margin-top: 3px;
    position: absolute;
    right: 24px;
    opacity: 0;
    transform: scale(0);
    transition: 0.5s ease all;
}
.post-backlink a:hover::before{
    opacity: 1;
    transform: scale(1);
    transition: 0.5s ease all;
}

/*---------- お知らせ ここまで ---------- */



/*---------- コラム ここから ---------- */

/* コラム サイドナビ */
.column-sidenav{
    position: sticky;
    top: 200px;
}
.column-sidenav p{
    font-size: 15px;
    margin-bottom: 16px;
}
.column-category{
    padding-left: 0;
}
.column-category li{
    font-weight: 700;
    border-top: 1px solid var(--black);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
.column-category a{
    width: 100%;
    padding: 16px 0;
}
.column-category li::after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FAF8F3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    opacity: 1;
    margin-left: 24px;
    flex-shrink: 0;
}
.column-category li:hover::after{
    opacity: 0;
}
.column-category li::before{
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 100%;
    background-color: var(--white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231D1D1F' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    position: absolute;
    right: 0;
    opacity: 0;
    transform: scale(0);
    transition: 0.5s ease all;
    margin-left: 24px;
    flex-shrink: 0;
}
.column-category li:hover::before{
    opacity: 1;
    border: 1px solid var(--black);
    transform: scale(1);
    transition: 0.5s ease all;
}
.sidenav-btn{
    display: none;
}


/* コラム一覧 */
.column-content{
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 4px;
    overflow: hidden;
}
.column-content_img{
    width: 100%;
    object-fit: cover;
    height: 200px;
    overflow: hidden;
}
.column-content_img img{
    height: 200px;
    transition: 0.5s ease all;
    cursor: pointer;
}
.column-content:hover .column-content_img img{
    transform: scale(1.1);
    transition: 0.5s ease all;
}
.column_time{
    display: block;
    width: 100%;
    padding: 0 24px;
    margin-top: 20px;
    margin-bottom: 8px;
}
.column_time time{
    font-size: 16px;
}
.column-content h2{
    margin-top: 0;
    flex-grow: 1;
    margin: 0;
    padding: 0 24px;
    width: 100%;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.56;
}
.read-more{
    display: flex;
    align-items: center;
    justify-content: end;
    width: 100%;
    position: relative;
    padding: 0 24px 24px 0;
}
.read-more::after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FAF8F3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    opacity: 1;
    margin-left: 10px;
    flex-shrink: 0;
}
.read-more::before{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231D1D1F' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4px 8px;
    position: absolute;
    transform: scale(0);
    transition: 0.5s ease all;
    margin-left: 10px;
    flex-shrink: 0;
}
.read-more:hover::before{
    opacity: 1;
    border: 1px solid var(--black);
    transform: scale(1);
    transition: 0.5s ease all;
}
.column-content:hover .read-more::before{
    opacity: 1;
    border: 1px solid var(--black);
    transform: scale(1);
    transition: 0.5s ease all;
}
.column-content .read-more{
    font-size: 14px;
    padding-top: 24px;
}


.single-column #toc_container{
    width: 70%;
    position: relative;
    top: inherit;
    margin: 0 auto;
}

/*---------- コラム ここまで ---------- */


.privacy-policy h2, .medical-notice h2{
    font-size: 22px;
    margin-top: 48px !important;
} 
.privacy-policy p, .medical-notice p{
    margin-top: 32px;
} 


/* スマホ表示 */
@media screen and (max-width:999px){

    .p-sp-nav_ul{
        flex-wrap: wrap;
    }
    .top-news{
        flex-direction: column;
        margin-top: 56px;
    }
    .sidenav-btn{
        display: flex;
        align-items: center;
        position: fixed;
        bottom: 24px;
        right: 32px;
        z-index: 99;
        background-color: var(--deep-green);
        color: var(--white);
        border: none;
        padding: 6px 12px;
        font-family: inherit;
        border-radius: 4px;
        font-size: 16px;
    }
    .sidenav-btn::before{
        content: "";
        display: inline-block;
        width: 16px;
        height: 16px;
        border-radius: 100%;
        background-color: var(--green);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FAF8F3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 4px 8px;
        margin-right: 8px;
        transition: 1.0s ease all;
    }
    .sidenav-btn.open::before{
        transform: rotate(-90deg);
        transition: 1.0s ease all;
    }
    .column-sidenav{
        position: inherit;
        top: inherit;
    }
    #toc_container{
        position: fixed;
        top: inherit;
        bottom: 64px;
        right: -100%;
        opacity: 0;
        z-index: 999;
        transition: 1.0s ease all;
        padding: 4px 20px;
        width: 240px;
    }
    #toc_container.open{
        right: 32px;
        opacity: 1;
        transition: 1.0s ease all;
    }
    .single-column #toc_container{
        position: inherit;
        opacity: 1;
    }
}

@media screen and (max-width:767px){

    [id] {
        scroll-margin-top: 150px;
    }

    .sp-none{
        display: none !important; 
    }
    .pc-none{
        display: block !important;
    }

    /* header */
    .l-sp-header_ham-menu{
        display: block;
        position: absolute;
        right: 24px;
    }
    .header{
        height: 80px;
        padding: 20px 24px;
        transition: all 1.0s;
        overflow: hidden;
    }
    .header.panel-active{
        background-color: rgba(0, 58, 28, 1) !important;
        transition: all 1.0s;
        overflow: inherit;
        height: 100%;
    }
    .header-logo-wrap{
        z-index: 999;
        height: fit-content;
    }
    .header-logo img{
        width: 180px;
    }
    .header-nav_wrap{
        width: 100vw !important;
        margin: 0 calc(50% - 50vw) !important;
    }
    .header-nav_wrap.bg-active{
        width: 100vw;
        margin: 0 calc(50% - 50vw);
        overflow-y: scroll;
    }
    .header nav{
        border-top: none;
        margin: 0 0 0 auto;
        padding: 24px 40px;
        width: 100%;
    }
    .header-nav_links{
        flex-direction: column;
        padding-top: 24px;
    }
    .p-sp-nav_ul{
        flex-direction: column;
        width: 100%;
        align-items: center;
    }
    #sp-gnav{   
        
    }
    .sp-g-nav_inner{
        display: flex;
        flex-direction: column-reverse;
        justify-content: flex-end;
        background-color: rgba(0, 58, 28, 1);
        width: 100%;
        height: calc(100vh - 80px);
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 0%);
        -webkit-mask-size: 100% 0%;
        -webkit-mask-repeat: no-repeat;
        mask-image: linear-gradient(to bottom, #000 0%, #000 0%);
        mask-size: 100% 0%;
        mask-repeat: no-repeat;
        transition: mask-size 1s ease, -webkit-mask-size 1s ease;
    }
    #sp-gnav.panel-active{
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
    }
    #sp-gnav.panel-active .sp-g-nav_inner{
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;


    }
    .p-sp-nav_ul{
        border-top: none;
    }
    .p-sp-nav_li{
        width: 100%;
        font-size: 18px;
    }
    .p-sp-nav_a{
        padding-left: 0;
    }
    .header-nav_links{
        width: 100%;
        padding: 0 40px;
        align-items: flex-start;
        gap: 0;
    }
    .header-nav_links-item{
        padding: 16px 0;
        border-top: 1px solid #8A8170;
        width: 100%;
        justify-content: space-between;
    }
    .header-nav_links-item:last-child{
        border-bottom: 1px solid #8A8170;
    }
    .header-nav_links-item a{
        padding: 1px 16px 2px 16px;
        width: 160px !important;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .header-nav_links-item .tel{
        font-size: 20px;
    }
    
    
    
    /* footer */
    .footer{
        padding: 48px 16px 0 16px;
    }
    .footer_bg-white{
        padding: 40px 27px;
        margin: 0 auto !important;
    }
    .footer_tel{
        font-size: 14px;
        padding: 13px 18px;
        gap: 8px;
        letter-spacing: 0.01em;
    }
    .footer_tel-number{
        font-size: 26px;
    }
    .footer h2{
        font-size: 18px;
        margin-top: 32px;
        margin-bottom: 0;
    }
    .medical-hours{
        font-size: 13px;
    }
    .medical-hours td{
        padding: 2px 0 !important;
    }
    .medical-hours td:first-child{
        font-size: 15px;
    }
    .footer_bg-green{
        padding: 24px 48px;
    }
    .footer_small{
        margin-top: 17px;
        gap: 15px;
    }
    .footer_small .wp-block-group{
        justify-content: center;
        gap: 16px;
    }
    .footer_small p{
        text-align: center;
    }
    .footer-nav{
        gap: 0;
        flex-direction: column;
    }
    .footer-nav_column{
        gap: 0;
        max-width: 100%;
    }
    .footer-nav_news-column{
        margin-top: 0;
    }
    .footer-nav_news-column p{
        margin-top: 0;
        padding: 16px 0;
    }
    .footer-nav_news-column p:not(:first-child){
        border-top: 1px solid #8A8170;
    }

    /* フッター アコーディオン */
    .accordion{
        padding: 16px 0;
        margin-top: 0;
    }
    .accordion{
        border-bottom: 1px solid #8A8170;
        margin-top: 0;
    }
    .accordion-content {
        display: none;
        margin-top: 0;
    }
    .accordion-header {
        font-size: 20px;
        transition: all .5s ease;
        cursor: pointer;
        position: relative;
    }
    .accordion-header::before,
    .accordion-header::after{
        position:absolute;
        content:'';
        top:1px;
        right:20px;
        bottom:0;
        width:12px;
        height:1px;
        margin:auto;
        background: var(--beige);
    }
    .accordion-header::after{
        transform:rotate(-90deg);
        transition:transform 0.3s;
    }
    .accordion-header.active::after{
        transform:rotate(0deg);
    }


    /* 共通部分 */
    .page-main{
        padding-top: 55px;
        margin-top: 189px;
    }
    .page-main-sidenav{
        padding-top: 33px;
        margin-top: 189px;
    }
    .post-content{
        margin-bottom: 0;
    }
    .text_sp-s{
        font-size: 13px;
        letter-spacing: 0.005em;
        margin-top: 12px;
    }
    .table{
        font-size: 14px;
    }
    table td{
    padding: 16px 10px 16px 0 !important;
}
    table td:first-child{
        padding-left: 0 !important;
        width: max-content;
        min-width: 80px;
        text-align: left;
    }
    .table.is-style-vk-table-scrollable td{
        padding-right: 28px !important;
    }
    .table.is-style-vk-table-scrollable td:first-child{
        text-align: center;
    }
    .page-h1{
        padding-bottom: 8px;
        font-size: 24px;
        margin-top: -96px;
        padding-top: 192px;
    }
    .page-h2{
        font-size: 20px;
        margin-bottom: 24px;
    }
    .page-h3{
        font-size: 17px;
    }
    p{
        margin-top: 16px;
    }

    .btn01 a{
        font-size: 18px;
        padding: 16px 28px;
    }
    .btn02{
        width: 100%;
    }
    .btn02 a{
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 9px 19px;
        text-align: left;
    }

    .page-content_bg-white{
        padding: 32px;
    }



    /* TOPページ */
    .top_content{
        margin-top: -24px;
    }
    /* MV */
    #metaslider-id-1333{
        position: relative;
    }
    .mv-text{
        font-size: 30px;
        margin-left: 32px;
        bottom: 120px;
    }
    .mv-text2{
        font-size: 18px;
    }
    .mv-text_frame{
        font-size: 16px;
    }
    .mv-text_frame-num{
        font-size: 28px;
    }

    .top_doctors-file{
        padding: 64px 32px;
    }
    .top_bg-green_content{
        padding: 56px 0;
        margin-top: 0;
    }
    .top_bg-green_content h2{
        font-size: 28px;
    }

    .top-news{
        margin-top: 56px;
    }
    .top-news .post-backlink a{
        padding-right: 0;
        justify-content: flex-end;
    }

    .top-about{
        margin-top: 48px;
        padding: 32px 32px 40px 32px;
    }
    .top-about-img{
        top: 32px;
        margin-bottom: 0;
    }
    .top-about-iguchi{
        margin-top: 0 !important;
    }
    .top-about-iguchi img{
        margin-left: -64px;
        min-width: 338px;
        margin-bottom: 16px;
    }
    .top-about-iguchi{
        padding-bottom: 16px;
    }
    .top-about_subtitle{
        font-size: 18px;
    }
    .top-about-text{
        margin-top: 0 !important;
    }


    /* 文字が流れるアニメーションのマスク */
    .slide-text-gradation{
        mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
    }
    /* 文字が流れるアニメーション ここまで */

    .top-airway{
        padding: 0;
    }
    .top-middle_ttl{
        font-size: 21px;
        margin-top: 0 !important;
        margin-bottom: 32px;
    }
    .top-airway_flame{
        width: fit-content;
        max-width: 270px;
        gap: 16px;
    }
    .top-airway-img{
        text-align: center;
    }
    .top-airway-links{
        max-width: 256px;
    }
    .top-airway-links .btn01 a{
        padding: 12px 24px;
    }
    .top-airway-links .btn01 a::before{
        right: 24px;
    }


    .top_bg-gray{
        padding: 64px 32px;
    }


    .top_features .slick-list{
        width: 100%;
        height: 100% !important;
        overflow-x: hidden;
    }
    .top_features_wrapper {
        position: relative;
    }
    .top_features{
        display: flex !important;
    }
    .top_features .slick-track{
        width: inherit;
    }
    .top_features-items{
        flex-shrink: 0;
        flex-basis: 100% !important;
    }
    .top_features::-webkit-scrollbar {
        display: none;
    }

    .scroll-btn {
        position: absolute;
        width: 100%;
        top: 50%;
        z-index: 10;
    }
    .scroll-btn.prev {
        left: -20px;
        transform: scale(-1, 1);
    }
    .scroll-btn.next {
        right: -20px;
    }
    .scroll-btn.is-hidden {
        opacity: 0;
        pointer-events: none;
    } 
    .scroll-btn.slick-disabled {
        opacity: 0;
        pointer-events: none;
    }


    .top_about-surgery{
        flex-direction: column-reverse !important;
    }

    .top_throat-img{
        max-width: inherit;
    }
    .top_throat-tags{
        margin-top: 10px;
        margin-bottom: -2px;
    }
    .top_throat-text{
        width: 100%;
        margin-top: 16px !important;
    }
    .top_throat-text .btn03{
        width: inherit;
        justify-content: flex-end;
    }


    .doctors-file{
        gap: 16px;
        margin-top: 40px;
    }


    .top_column-ttl{
        gap: 0;
        position: relative;
    }
    .top_column{
       width: 100%;
       overflow-x: hidden;
    }
    .slick-track{
        width: 100% !important;
        gap: 0;
    }
    .top_column-list.column-content{
        flex-shrink: 0;
        width: 100% !important;
    }
    .slick-list{
        margin-right: 0;
    }
    .slick-arrows{
        width: 100vw;
        margin: 0 calc(50% - 50vw);
    }
    .slick-arrow{
        width: 40px;
        height: 40px;
        background-color: var(--deep-green);
        border: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F7E5C3' viewBox='0 0 4 8'%3E%3Cpath d='M0 0L4 4L0 8L2 4L0 0Z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 8px 16px;
    }
    .slick-arrow::after{
        display: none;
    }
    .slick-arrows-area{
        position: absolute;
        top: 300px;
        z-index: 999;
        border-left: none;
        border-right: none;
        width: 100%;
        padding: 0;
    }
    .slick-arrow:hover::before{
        transform: none;
        opacity: 0;
    }
    .slick-next-arrow{
        margin-right: 16px;
    }
    .slick-prev-arrow{
        transform: scale(-1, 1);
        margin-left: 16px;
    }
    .read-more.right{
        text-align: right;
        padding-right: 0;
        display: flex !important;
        align-items: center;
    }
    .slick-prev-arrow.slick-disabled,
    .slick-next-arrow.slick-disabled {
        opacity: 0;
        pointer-events: none;
    }



    .map{
        padding-top: 100%;
    }
    .top_access-ttl{
        font-size: 18px;
    }





    /* 固定ページ 上部見出し */
    .page-title_bg{
        height: 189px;
        margin-top: 0;
    }
    .page-title_bg img{
        height: 189px;
    }
    .page-title{
        top: 56px;
        height: 109.5px;
    }
    .post-type-archive .page-title,.single-column .page-title{
        top: 64px;
    }
    .category .page-title_content, .single-post .page-title_content{
        padding-top: 15px;
    }
    .page-title_img img{
        height: 190px !important;
    }
    .page-title_content{
        padding: 16px 24px;
        bottom: 24px;
    }
    .single-column .page-title_content{
        padding: 16px 24px;
    }
    .page-title_content h1{
        font-size: 28px;
        margin-top: 0 !important;
    }
    .page-title_content p{
        font-size: 14px;
        margin-top: 6px !important;
    }
    .single-column .page-title_content p{
        margin-top: 11px !important;
    }
    .category .page-title_content p,.single-post .page-title_content p,.single-column .page-title_content p{
        margin-top: 6px !important;
    }
    .breadcrumbs{
        color: var(--black);
        position: absolute;
        bottom: -30px;
        right: 32px;
        font-size: 11px;
    }
    .breadcrumbs .home::after, .breadcrumbs .category::after, .breadcrumbs .archive::after{
        background-color: var(--black);
    }
    .breadcrumbs span[property="name"]{
        max-width: 110px;
    }


    /* 当院について */
    .about_introduction{
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .about_equipment{
        gap: 16px;
        margin-bottom: 32px;
    }
    .about_equipment p{
        margin-top: 8px;
    }
    .tel-linkbtn{
        padding: 16px;
    }
    .tel-linkbtn p{
        font-size: 32px;
    }
    .tel-linkbtn img{
        width: 20px !important;
        height: 20px !important;
    }


    /* 鼻づまりについて */
    .sinusitis_step.wp-block-columns{
        flex-wrap: wrap !important;
        justify-content: space-between;
    }
    .sinusitis_step_items{
        flex-basis: 45% !important;
    }
    .sinusitis_step_items .li{
        list-style-position: outside;
    }


    /* よくある質問 */
    summary{
        font-size: 17px;
        padding: 16px 52px 16px 32px;
    }
    details p{
        padding: 0 0 16px 32px;
    }



    /* お知らせ */
    .news-list{
        flex-direction: column;
        padding: 16px 0;
        gap: 0;
    }
    .news-list h2{
        margin-left: 0;
    }
    .news-list a::after{
        margin-top: 0;
        margin-left: 0;
        position: absolute;
        right: 0;
        top: -26px;
    }
    .news-list a::before{
        top: -26px;
    }
    .news-list:hover{
        background-color: inherit;
    }
    .post-title{
        font-size: 24px;
    }
    .post-backlink{
        font-size: 15px;
        padding: 0;
    }

    /* コラム */
    .column-content h2{
        font-size: 18px;
    }
    .column_date-category{
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .taxonomy-column_category{
        padding-left: 0 !important;
        border-left: none;
    }


    /* プライバシーポリシー */
    .privacy-policy h2,.medical-notice h2{
        font-size: 20px;
    } 
    .privacy-policy p, .medical-notice p{
        margin-top: 24px;
    } 

}







