body {
    margin: 0;
    font-family: "Shippori Mincho", serif;
    color: #333;
    font-size: 15px;
    line-height: 1.8em;
}

a {
    text-decoration: none;
    transition: 0.5s;
    color: #537a7f;
}

img {
    width: 100%;
    vertical-align: top;
}

p {
    margin: 0;
}

h1,
h2,
h3,
h4 {
    margin: 0;
}

section {
    overflow: hidden;
    z-index: 1;
}

li {
    list-style: none;
}

ul {
    margin: 0px;
    padding: 0px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}

.text-orange {
    color: #f7ad00;
}

.text-red {
    color: #d90000;
}

.text-blue {
    color: #537a7f;
}

.slick-arrow:before {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
}

.slick-next:before {
    background: url("../img/top/icon_right.png") !important;
    background-size: contain !important;
}

.slick-prev:before {
    background: url("../img/top/icon_left.png") !important;
    background-size: contain !important;
}

/* スクロールCSS */
.fade-in {
    opacity: 0;
    transition-duration: 1000ms;
    transition-property: opacity, transform;
}

.fade-in-load,
.fade-in-load2,
.fade-in-load3,
.fade-in-load4,
.fade-in-load5,
.fade-in-load6 {
    opacity: 0;
    transition-duration: 1000ms;
    transition-property: opacity, transform;
}

.fade-in-open {
    opacity: 0;
    transition-duration: 1000ms;
    transition-property: opacity, transform;
}

.fade-in-up {
    transform: translate(0, 50px);
}

.fade-in-down {
    transform: translate(0, -50px);
}

.fade-in-left {
    transform: translate(-50px, 0);
}

.fade-in-right {
    transform: translate(50px, 0);
}

.scroll-in {
    opacity: 1;
    transform: translate(0, 0);
}

.fwb {
    font-weight: bold;
}

.poyoyon {
    animation: poyoyon 2s ease-in-out infinite;
}

@keyframes poyoyon {
    0% {
        filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.3));
        transform: translatey(0px);
    }

    50% {
        filter: drop-shadow(0 20px 10px rgba(0, 0, 0, 0.3));
        transform: translatey(-10px);
    }

    100% {
        filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.3));
        transform: translatey(0px);
    }
}

.poyoyon2 {
    animation-name: poyoyon2;
    animation-duration: 2s;
    animation-timing-function: ease-out;
    animation-iteration-count: infinite;
}

@keyframes poyoyon2 {

    0%,
    40%,
    60%,
    80% {
        transform: scale(1.0);
    }

    50%,
    70% {
        transform: scale(0.95);
    }
}

.poyoyon3 {
    animation-name: poyoyon3;
    animation-duration: 0.5s;
    animation-timing-function: ease-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

@keyframes poyoyon3 {
    0% {
        transform: scale(0.95, 0.95);
    }

    100% {
        transform: scale(1, 1);
    }
}

.a-box {
    text-align: center;
    margin: 10px auto;
}

.a-box a {
    background-color: #fff;
    position: relative;
    overflow: hidden;
    width: 300px;
    border-radius: 30px;
    /*ボタンの形状*/
    text-decoration: none;
    display: inline-block;
    border: 1px solid #537a7f;
    /* ボーダーの色と太さ */
    padding: 10px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
}

.a-box a span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #537a7f;
}

.a-box a:hover span {
    color: #fff;
}

.a-box a:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #537a7f;
    width: 100%;
    height: 100%;
    /*アニメーション*/
    transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 0);
    transform-origin: center;
    border-radius: 30px;
}

/*hoverした際の形状*/
.a-box a:hover:before {
    transform: scale(1, 1);
}



/*ボタン全体の形状*/
.openbtn1 {
    /*はじめは非表示に*/
    display: none;
    /*ボタンの位置*/
    position: fixed;
    top: 0px;
    right: 0px;
    z-index: 999;
    /*ボタンの形状*/
    background: #fff;
    cursor: pointer;
    width: 60px;
    height: 60px;
    border-radius: 0px 0px 0px 10px;
    box-shadow: 0 0 12px rgb(103 103 103 / 40%);
}

/*ボタンのアイコン設定*/
.openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 17px;
    height: 3px;
    border-radius: 2px;
    background-color: #00587f;
    width: 45%;
}

.openbtn1 p {
    position: absolute;
    top: 38px;
    font-size: 12px;
    left: 11px;
    color: #00587f;
}

.openbtn1 span:nth-of-type(1) {
    top: 13px;
}

.openbtn1 span:nth-of-type(2) {
    top: 21px;
}

.openbtn1 span:nth-of-type(3) {
    top: 29px;
}

/*activeクラスが付与された後のボタンのアイコン設定*/
.openbtn1.active span:nth-of-type(1) {
    top: 17px;
    left: 19px;
    transform: translateY(6px) rotate(-45deg);
    width: 39%;
}

.openbtn1.active span:nth-of-type(2) {
    opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
    top: 29px;
    left: 19px;
    transform: translateY(-6px) rotate(45deg);
    width: 39%;
}

/*fadeDownクラスが付与された後のボタンの出現アニメーション設定*/
.fadeDown {
    animation-name: fadeDownAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
    display: block;
}

@keyframes fadeDownAnime {
    from {
        opacity: 0;
        transform: translateY(-100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*========= ヘッダーナビゲーションのためのCSS ===============*/

/*==ヘッダーの形状*/
#header {
    background: #fff;
    color: #333;
    z-index: 10;
    position: sticky;
    top: 0px;
    width: 100%;
}

#header .header-inner {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo_header {
    min-width: 100px;
    margin-left: 20px;
    width: 180px;
    font-size: 14px;
}

/*.doneクラスがついたヘッダー*/
#header.dnone {
    opacity: 0;
    /*透過0にして非表示に*/
    display: none;
}

/*メニューボタンをクリックした際に付与されるpanelactiveクラスがついたら*/
#header.dnone.panelactive {
    opacity: 1;
    /*不透明にして出現*/
    display: block;
}

/*==ヘッダーのテキストナビゲーションの形状*/
#g-navi ul {
    list-style: none;
    display: flex;
    justify-content: center;
    margin: 10px 0px 5px;
}

#g-navi li {
    transition: 0.5s;
    text-align: center;
}

#g-navi ul li a {
    display: block;
    text-decoration: none;
    color: #333;
    padding: 0px 0px 5px 0px;
    font-size: 13px;
    letter-spacing: .1rem;
}

/*.doneクラスがついたヘッダーのテキストナビゲーションの形状*/
#header.dnone #g-navi {
    /*固定位置にして最背面に*/
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    /*高さと幅*/
    width: 100%;
    height: 100vh;
    /*天地中央＆テキスト中央揃え*/
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    /*はじめは透過0に*/
    opacity: 0;
    transition: all 0.4s;
}

/*メニューボタンをクリックした際に付与されるpanelactiveクラスがついたナビゲーションの形状*/
#header.dnone.panelactive #g-navi {
    opacity: 1;
    /*不透明に*/
    z-index: 12;
    /*最前面に*/
    background: #eee;
}

#header.dnone.panelactive #g-navi ul {
    display: block;
    /*flexの横並びをblockにして縦並びに*/
}


/*リストの形状*/

#header.dnone.panelactive #g-navi li a {
    color: #333;
    text-decoration: none;
    padding: 20px 10px 0px 10px;
    display: block;
    letter-spacing: 0.1em;
    font-weight: bold;
    transition: all 0.3s;
    width: fit-content;
    margin: 0 auto;
}


.section-page-doctor_title_sp,
.section-page-doctor_title_pc {
    overflow: hidden;
}

.text-slide-in {
    overflow: hidden;
    display: inline-block;
}

.text-slide-in_inner {
    display: inline-block;

}

/*左右のアニメーション*/
.text-leftAnime {
    opacity: 0;
    /*事前に透過0にして消しておく*/
}

.text-slideAnimeLeftRight {
    animation-name: slideTextX100;
    animation-duration: 1.2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
    from {
        transform: translateX(-100%);
        /*要素を左の枠外に移動*/
        opacity: 0;
    }

    to {
        transform: translateX(0);
        /*要素を元の位置に移動*/
        opacity: 1;
    }
}

.text-slideAnimeRightLeft {
    animation-name: slideTextX-100;
    animation-duration: 1.2s;
    animation-fill-mode: forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
    from {
        transform: translateX(100%);
        /*要素を右の枠外に移動*/
        opacity: 0;
    }

    to {
        transform: translateX(0);
        /*要素を元の位置に移動*/
        opacity: 1;
    }
}




/*ここから20241029*/
.section-top {
    position: relative;
    max-width: 1240px;
    margin: -2% auto 0px;
}

.section-top_img {
    width: 80%;
    border-radius: 0px 0px 60px 60px;
}

.section-top_inner {
    position: absolute;
    top: 12%;
    right: 11%;
}

.section-top p {
    line-height: 1.6rem;
    margin: 20px auto;
}

.section-top_text3 {
    margin-bottom: 20px;
}

.section-top_flexblock {
    width: 90%;
    margin: 0 auto;
    display: flex;
    gap: 10px;
    justify-content: center;
}

.section-top_flexbox {
    width: calc((100% - 20px) / 3);
}



.section-news {
    background-color: #eaf1f3;
}

.section-news_h2 {
    padding: 0px 40px;
    max-width: 119px;
    margin: 20px auto;
}

.section-news_flexblock {
    display: flex;
    max-width: 1240px;
    margin: 0 auto;
}

.section-news_flexblock .section-news_flexbox:nth-child(1) {
    width: 30%;
    margin: 40px 40px 40px 0px;
}

.section-news_flexblock .section-news_flexbox:nth-child(2) {
    width: 70%;
    margin: 40px 40px 0px 0px;
}

.section-banner {
    background-color: #eaf1f3;
}

.section-banner_box_2 {
    margin: 0 auto;
    max-width: 960px;
}

.section-banner_youtube {
    margin: 0 auto 40px;
    max-width: 960px;
}

.section-banner_youtube iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.section-banner_box_3 {
    margin: 0 auto 40px;
    max-width: 960px;
}

.section-banner_box_4 {
    margin: 0 auto 40px;
    max-width: 960px;
}

.section-banner_box_1 {
    margin: 0 auto 20px;
    max-width: 480px;
}
.section-banner_box_5 {
    margin: 0 auto 40px;
    max-width: 480px;
}

.section-news .a-box a {
    width: 65px;
    line-height: 12px;
}





.section-pickup {
    background-color: #eaf1f3;
    padding-bottom: 40px;
}

.section-pickup_inner {
    max-width: 1240px;
    margin: 0 auto;
    width: 90%;
    position: relative;
}

.section-pickup_title {
    max-width: 260px;
    margin: 40px 0px 20px;
}

.slider-pickup .slick-slide {
    margin: 0px 15px;
}

.slider-pickup .slick-dots {
    bottom: -45px;
}

.slider-pickup_text {
    position: absolute;
    bottom: -24px;
    right: 15px;
    font-size: 10px;
}







.bg-leaf {
    background-color: #fdfdfd;
    background-image: url("../img/top/rever_dt_menu_bg_0.jpg");
    background-repeat: no-repeat;
    background-position: top 0% right 50%;
    background-size: contain;
}

.section-menu_inner {
    max-width: 1240px;
    margin: 0 auto;
    width: 90%;
}

.section-menu_title {
    max-width: 260px;
    margin: 40px 0px 30px;
}



.section-reason {
    padding-bottom: 60px;
    background-image: url("../img/top/rever_dt_feature_bg.png");
    background-repeat: no-repeat;
    background-position: bottom 0% right 50%;
    padding-bottom: 60px;
    background-size: cover;
}

.section-reason_innner {
    max-width: 1240px;
    margin: 0 auto;
    width: 90%;
}

.section-reason_title {
    max-width: 465px;
    margin: 60px 0px 40px;
}

.reason-flex {
    display: flex;
    gap: 60px;
    flex-wrap: wrap;
    max-width: 1240px;
    margin: 0 auto 80px;
}

.reason-flex_box {
    width: calc((100% - 60px) / 2);
}

.reason-flex_box_inner {
    position: relative;
}

.reason-flex_box_number {
    position: absolute;
    top: 0px;
    left: 0px;
}

.reason-flex_box_number p {
    position: absolute;
    z-index: 2;
    color: #537a7f;
    font-size: 42px;
    top: 3px;
}

.reason-flex_box_number p span {
    font-size: 58px;
}

.reason-flex_box_inner_2 {
    border-radius: 30px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
    background-color: #fff;
}

.reason-flex_box_inner_2 .fwb {
    color: #f7ad00;
}

.reason-flex_box_inner_2 .reason-h3 {
    color: #537a7f;
    text-align: center;
    font-size: 24px;
    padding: 25px 0px;
    line-height: 34px;
}

.reason-flex_box_inner_2 p {
    padding: 0px 20px 20px 20px;
}

.reason-flex_box_inner_2 p {
    font-family: "Noto Sans JP", sans-serif;
}

.reason-icon {
    background-color: #fdfdfd;
    height: calc(200px / 2);
    width: 200px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    border-bottom: 2px solid #537a7f;
    transform: rotate(315deg);
    margin-top: -28px;
    margin-left: -20px;
    position: absolute;
    top: 3px;
    left: -55px;
}

.reason-flex_box_img img {
    border-radius: 30px 30px 0px 0px;
}









.section-doctor {
    background-color: #ecf0f3;
}

.section-doctor_bottom {
    margin: 40px auto 0px;
    max-width: 1240px;
}

.section-doctor .a-box a:before {
    background: #8ba3a6;
}

.section-doctor_inner {
    max-width: 1240px;
    margin: 0 auto;
    width: 90%;
}

.section-doctor_title {
    max-width: 300px;
    margin-top: 80px;
    margin-bottom: 40px;
}

.section-doctor_block1_inner {
    display: flex;
    max-width: 1240px;
    margin: 0 auto;
}

.section-doctor_block1_left {
    width: 60%;
}

.section-doctor_block1_right {
    width: 40%;
    margin-top: -8%;
}

.section-doctor_box {
    background-color: #fff;
    border-radius: 30px;
    color: #547980;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
    padding: 20px;
    margin-top: 40px;
    font-family: "Noto Sans JP", serif;
}

.section-doctor_name_flexblock {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

.section-doctor_name_flexblock .section-doctor_name {
    color: #547980;
    font-size: 40px;
    gap: 10px;
    width: fit-content;
}

.section-doctor_name_flexblock .section-doctor_name span {
    font-size: 24px;
}

.section-doctor_name_flexblock .section-doctor_name_flexsns {
    width: 30px;
    margin-left: 20px;
}

.section-doctor_block2 {
    background-color: #547980;
    color: #fff;
    margin-top: -135px;
    padding-top: 4%;
    padding-bottom: 20px;
}

.section-doctor_block2_inner {
    display: flex;
    max-width: 1240px;
    margin: 0 auto;
}

.section-doctor_block2_slider {
    width: 54%;
    margin-top: 50px;
}

.section-doctor_block2_slider .slick-slide {
    margin: 0px 5px;
}

.section-doctor_block2_textbox {
    width: 40%;
    padding: 86px 0px 50px 0px;
    font-family: "Noto Sans JP", serif;
    margin-left: auto;
}

.section-doctor_block2_textbox ul {
    display: flex;
    font-size: 14px;
}

.section-doctor_block2_textbox ul li:first-child {
    min-width: 60px;
}

.section-doctor_block2_text1 {
    font-size: 24px;
    margin-bottom: 10px;
}

.section-doctor_banner {
    margin: 40px auto 0px;
    width: 600px;
}

.section-doctor_banner2 {
    margin: 40px auto 0px;
    width: 600px;
}




.section-other {
    background-image: url("../img/top/rever_dt_data_bg.jpg");
    background-repeat: no-repeat;
    background-position: top 0% right 40%;
    background-size: inherit;
    background-color: #f9f6ef;
    padding-bottom: 60px;
}

.section-other_inner {
    max-width: 1240px;
    margin: 0 auto;
}

.section-other_block1 {
    width: 60%;
}

.section-other_title {
    margin: 0px auto;
    padding-top: 80px;
}

.section-other_text1 {
    color: #547980;
    margin-top: 60px;
    margin-bottom: 60px;
}

.section-other_block2 {
    background-image: linear-gradient(90deg, rgba(223, 211, 195, 1), rgba(243, 233, 211, 1));
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
    border-radius: 30px;
    padding: 50px;
    margin: 40px auto;
}

.section-other_block2_title {
    margin-bottom: 25px;
}

.section-other_block2_flex {
    display: flex;
}

.section-other_block2_flex .section-other_block2_flexbox:first-child {
    width: 35%;
    position: relative;
    padding-right: 60px;
}

.section-other_block2_70 {
    position: absolute;
    top: 50%;
    width: 57%;
    left: 47%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
}

.section-other_block2_flex .section-other_block2_flexbox:nth-child(2) {
    width: 65%;
    margin: auto;
}

.section-other_block2_text span {
    border-bottom: 1px solid #547980;
    padding-bottom: 2px;
}

.section-other_block2_linkflex {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0px;
}

.section-other_block2_linkbox {
    background-color: #547980;
    padding: 5px 10px;
    border-radius: 20px;
}

.section-other_block2_linkbox a {
    color: #fff;
}

.section-other_block2_text2 {
    font-size: 40px;
    color: #547980;
    margin: 60px auto 0px;
    text-align: center;
}






.section-photo {
    padding-bottom: 60px;
    background-color: #f9f6ef;
}






.section-footer {
    background-color: #c5d3d7;
    padding-bottom: 80px;
}

.section-footer_logo {
    max-width: 420px;
    margin: 50px auto;
}

.section-footer_flexblock {
    display: flex;
    gap: 40px;
    margin: 0 auto;
    max-width: 1024px;
}

.section-footer_flexbox {
    width: calc((100% - 40px) / 2);
}

.section-footer_table1 .section-footer_table1_td1 {
    color: #537a7f;
}

.section-footer_table1_td1 {
    min-width: 80px;
}

.section-footer_table1_td2 {
    padding: 20px 0px;
}

.section-footer_table1 tr {
    border-bottom: 1px solid #537a7f;
    display: flex;
    align-items: center;
}

.section-footer_tel {
    width: 80%;
    margin-top: 10px;
    max-width: 230px;
}

.section-footer_table2 {
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
}

.section-footer_table2_tr1 {
    background-color: #537a7f;
    color: #fff;
}

.section-footer_table2_tr2 {
    background-color: #fff;
}

.section-footer_table2_tr2 td:first-child {
    width: 100%;
}

.section-footer_table2 td {
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 10px;
}

.section-footer_menu_block {
    display: flex;
    width: 100%;
    font-family: "Noto Sans JP", serif;
    margin-top: 20px;
}

.section-footer_menu_block .section-footer_menu_box:nth-child(1) {
    width: 40%;
}

.section-footer_menu_block .section-footer_menu_box:nth-child(2) {
    width: 60%;
}

.section-footer_menu_box ul li {
    padding: 5px 0px;
}

.section-footer_menu_box ul li.section-footer_menu_s {
    font-size: 13px;
    padding: 0px;
}




.slider-photo_thumb {
    max-width: 1240px;
    margin: 0 auto;
}

.slider-photo_thumb_box {
    margin: 40px 20px 20px 20px;
}





.section-footer_map {
    width: 100%;
}

.section-footer_map iframe {
    width: 100%;
}







.section-main {
    background-color: #ecf0f3;
    padding-bottom: 80px;
}

.section-treatment_menu_block {
    gap: 20px;
    display: flex;
    max-width: 1024px;
    margin: 40px auto 60px;
    flex-direction: column;
    width: 95%;
}

.section-treatment_menu_box {
    background-color: #fff;
    border-radius: 30px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 60px 50px;
}

.section-treatment_menu_left h2 {
    color: #537a7f;
    border-bottom: 1px solid #537a7f;
    padding-bottom: 15px;
    margin-bottom: 20px;
    font-size: 26px;
}

.section-treatment_menu_left a {
    color: #333;
    font-size: 18px;
    display: flex;
    transition: 0.2s;
}

.section-treatment_menu_left a:hover {
    color: #537a7f;
}

.section-treatment_menu_left a::before {
    width: 0;
    height: 0;
    content: "";
    background-color: transparent;
    transition: 0.3s;
}

.section-treatment_menu_left a:hover::before {
    width: 0.25em;
    height: 0.25em;
    content: "▶";
    font-size: 14px;
    margin-right: 20px;
    color: #537a7f;
}

.section-treatment_menu_left ul li {
    margin: 7px 0px;
}

.section-treatment_menu_left {
    width: 66%;
}

.section-treatment_menu_right {
    width: 28%;
}

.body-other .section-top {
    max-width: 1240px;
}

.body-other .section-top_inner {
    top: auto;
    bottom: 20%;
}


.section-price_menu_block {
    display: flex;
    gap: 20px;
    max-width: 1240px;
    margin: 40px auto;
    justify-content: center;
    flex-wrap: wrap;
    width: 90%;
}

.section-price_menu_box {
    background-color: #537a7f;
    border-radius: 10px;
    box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.2);
    width: calc((100% - 80px) / 5);
}

.section-price_menu_box a {
    color: #fff;
}

.section-price_menu_flex {
    display: flex;
    align-items: center;
    height: 54px;
    padding: 5px 10px;
    justify-content: center;
}

.section-price_menu_left {
    width: 32px;
}

.section-price_menu_right {
    width: 120px;
}

.section-price_menu_right p {
    text-align: center;
    line-height: 1.2rem;
}

.section-price_h2 {
    color: #537a7f;
    font-size: 30px;
    margin-top: 80px;
    margin-bottom: 40px;
    text-align: center;
}

.section-price_box {
    background-color: #fff;
    border-radius: 30px;
    padding: 40px 60px;
    max-width: 1024px;
    margin: 0 auto 20px;
    width: 76%;
}

.section-price_h3 {
    color: #537a7f;
    border-bottom: 1px solid #537a7f;
    padding-bottom: 15px;
    margin-bottom: 10px;
    font-size: 24px;
}

.section-price_box p {
    font-size: 14px;
    margin-bottom: 10px;
}

.table_v1 {
    border: 1px solid #ccc;
    border-spacing: 0px;
    width: 100%;
    font-family: "Noto Sans JP", sans-serif;
}

.table_v1 .text-red {
    font-size: 12px;
}

.table_v1 tbody tr {
    display: flex;
    border-bottom: 1px solid #ccc;
}

.table_v1 tbody tr td {
    width: 50%;
}

.table_v1 tbody tr:last-child {
    border-bottom: 0px solid #ccc;
}

.table_v1 tbody tr td:nth-child(1) {
    background-color: #ecf0f3;
    padding: 5px 10px;
}

.table_v1 tbody tr td:nth-child(2) {
    padding: 5px 10px;
    letter-spacing: 0.04rem;
    text-align: right;
    font-size: 19px;
    color: #537a7f;
}

.table_v1 tbody tr td:nth-child(2) span {
    font-size: 10px;
    color: #333;
}

.section-main_inner_h2_3 {
    color: #537a7f;
    text-align: center;
    margin: 60px auto 20px;
}

.table_v2 {
    border: 1px solid #537a7f;
    border-spacing: 0px;
    font-family: "Noto Sans JP", sans-serif;
    max-width: 1240px;
    width: 95%;
    margin: 0 auto;
}

.table_v2 .text-red {
    font-size: 12px;
}

.table_v2 tbody tr {
    display: flex;
    border-bottom: 1px solid #ccc;
}

.table_v2 tbody tr:last-child {
    border-bottom: 0px solid #ccc;
}

.table_v2 tbody tr td:nth-child(1) {
    background-color: #9ab8bf;
    padding: 5px 10px;
    width: 40%;
    color: #fff;
}

.table_v2 tbody tr td:nth-child(2) {
    padding: 5px 10px;
    letter-spacing: 0.04rem;
    text-align: left;
    color: #333;
    width: 60%;
    background-color: #fff;
}

.table_v2 tbody tr td:nth-child(2) span {
    font-size: 10px;
    color: #333;
}





/* TREATMENT */
.body-treatment .section-main {
    background-color: #fdfdfd;
    padding-bottom: 0px;
}

.body-treatment .section-main_inner {
    background-color: #fdfdfd;
    background-image: url("../img/treatment/rever_dt_content_bg.jpg");
    background-repeat: no-repeat;
    background-position: top 0% center;
    background-size: cover;
    padding-top: 80px;
    padding-bottom: 80px;
}

.body-doctor .section-main_inner {
    background-color: #fdfdfd;
    background-image: url("../img/treatment/rever_dt_content_bg.jpg");
    background-repeat: no-repeat;
    background-position: top 0% center;
    background-size: cover;
    padding-top: 80px;
    padding-bottom: 40px;
}

.body-treatment .section-main_top {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.body-treatment .section-main_top::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-image: linear-gradient(90deg, rgba(57, 210, 248, 1), rgba(48, 97, 96, 1));
    z-index: 2;
    transition: .5s;
}

.body-treatment .section-main_top.is-animated::before {
    transform: translateX(100%);
}

.body-treatment .section-main_top img {
    opacity: 0;
    transition: .5s;
}

.body-treatment .section-main_top.is-animated img {
    opacity: 1;
}


.section-main_border {
    position: relative;
    height: 95px;
}

.section-main_border span {
    position: absolute;
    right: 50%;
    top: 10%;
    writing-mode: vertical-rl;
}

.section-main_border span::before {
    animation: scroll 2s infinite;
    background-color: #537a7f;
    bottom: -70px;
    content: "";
    height: 60px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 2px;
    z-index: 2;
}

.section-main_border span::after {
    background-color: #438b9459;
    bottom: -70px;
    content: "";
    height: 60px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 2px;
}

@keyframes scroll {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }

    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }

    51% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }

    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

.body-treatment .section-main_inner_h1,
.body-doctor .section-main_inner_h1 {
    text-align: center;
    color: #537a7f;
    font-size: 30px;
    margin-bottom: 30px;
}

.body-treatment .section-main_inner_h1_bottom {
    text-align: center;
    color: #537a7f;
    font-size: 30px;
    margin-bottom: 30px;
    margin-top: 40px;
}

.body-treatment .section-main_inner p {
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    width: 90%;
    margin: 0 auto;
}

.body-treatment .section-main_inner p.mt {
    margin: 40px auto 0px;
}

.section-main_inner_whiteblock {
    background-color: #fff;
    border-radius: 30px;
    box-shadow: 5px 5px 12px rgba(0, 0, 0, 0.2);
    width: 80%;
    margin: 80px auto 0px;
    padding: 80px;
    max-width: 1040px;
}

.body-treatment .section-main_inner_h2 {
    font-size: 28px;
    padding-bottom: 10px;
    padding-left: 10px;
    border-bottom: 1px solid #537a7f;
    color: #537a7f;
    margin-bottom: 20px;
}

.body-treatment .section-main_inner_recommend {
    font-size: 22px;
    color: #537a7f;
    list-style: none;
    margin-bottom: 60px;
}

.body-treatment .section-main_inner_recommend li {
    background-image: url("../img/treatment/rever_dt_menu_template_parts2.png");
    background-position: top 10px left;
    background-repeat: no-repeat;
    background-size: auto 20px;
    padding-left: 30px;
    line-height: 36px;
    font-weight: 500;
}

.section-main_merideme {
    display: flex;
    gap: 30px;
}

.section-main_meri_box {
    background-color: #ecf0f3;
    border-radius: 20px;
    width: calc((100% - 30px) / 2);
    background-image: url("../img/treatment/rever_dt_menu_template_parts3.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 30%;
    padding: 25px 20px;
    min-height: 160px;
}

.section-main_deme_box {
    background-color: #ecf0f3;
    border-radius: 20px;
    width: calc((100% - 30px) / 2);
    background-image: url("../img/treatment/rever_dt_menu_template_parts4.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 30%;
    padding: 25px 20px;
    min-height: 160px;
}

.section-main_merideme h2 {
    color: #537a7f;
    text-align: center;
    margin-bottom: 15px;
}

.section-main_merideme ul {
    list-style-type: none;
    margin-left: 10px;
    font-family: "Noto Sans JP", sans-serif;
}

.section-main_merideme ul li:before {
    content: '・';
    margin-left: -10px;
}

.section-main_inner_h2_2 {
    max-width: 240px;
    width: 60%;
    margin: 60px 0px 0px;
}

.section-main_inner_h2_2+.table_v1 {
    margin-top: 30px;
}

.body-treatment .section-main_inner_whiteblock .section-main_inner_p {
    text-align: left;
    margin-top: 20px;
    margin-bottom: 10px;
    width: 100%;
}

.slick-next {
    right: -30px !important;
}

.slick-prev {
    left: -30px !important;
}

.slick-next:before {
    background: url("../img/top/icon_right.png") !important;
    background-size: contain !important;
}

.slick-prev:before {
    background: url("../img/top/icon_left.png") !important;
    background-size: contain !important;
}

.slick-next {
    right: 3.5% !important;
}

.slick-prev {
    left: 3.5% !important;
}

.slick-next,
.slick-prev {
    z-index: 10;
    top: 50% !important;
    height: 95px !important;
    width: 20px !important;
}

.slick-arrow:before {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1 !important;
}

.slider-photo_thumb .slick-arrow {
    display: none !important;
}

.slider-photo_thumb .slider-photo_thumb_box {
    cursor: pointer;
}



.section-main_topmenu {
    display: flex;
    gap: 30px;
    max-width: 1240px;
    margin: 0 auto;
}

.section-main_topmenu_block {
    background-color: #ecf0f3;
    padding: 60px 0px;
}

.section-main_topmenu_box {
    width: calc((100% - 60px) / 3);
}

.button_white {
    padding: 10px 30px;
    text-align: center;
    border-radius: 30px;
    background-color: #fff;
    border: 1px solid #537a7f;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}

.section-main_wn {
    background-color: #ecf0f3;
    padding: 80px 0px 120px;
}

.section-main_wn_img1 {
    width: 90%;
    max-width: 768px;
    margin: 0 auto 60px;
}

.section-main_wn_img2 {
    width: 90%;
    max-width: 1024px;
    margin: 60px auto 0px;
}

.section-main_wn_rela {
    position: relative;
    margin: 0 auto;
    max-width: 940px;
}

.section-main_wn_block {
    border-radius: 20px;
    background-color: #fff;
    margin-bottom: 20px;
    padding: 20px 40px;
}

.section-main_wn_block_title {
    color: #537a7f;
    font-size: 24px;
    background-image: url("../img/treatment/rever_dt_menu_template_parts2.png");
    background-position: top 10px left;
    background-repeat: no-repeat;
    background-size: auto 29px;
    padding-left: 40px;
    font-weight: 700;
    padding-top: 9px;
    padding-bottom: 9px;
}

.section-main_wn_block_text {
    font-size: 14px;
    font-family: "Noto Sans JP", sans-serif;
    max-width: 50%;
    margin-top: 10px;
}

.section-main_wn_block_img1 {
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 1;
}

.section-main_wn_block_img2 {
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 1;
}

.section-main_wn .section-main_wn_rela:nth-child(3) .section-main_wn_block {
    padding: 20px 40px 20px 50%;
}

.section-main_wn .section-main_wn_rela:nth-child(3) .section-main_wn_block .section-main_wn_block_text {
    width: 100%;
    max-width: 100%;
}

.section-main_wn_linkblock {
    display: flex;
    max-width: 1024px;
    margin: 40px auto 0px;
}

.section-main_wn_linkbox {
    width: calc(100% / 2);
}

.section-main_bg_blue {
    background-color: #ecf0f3;
    padding-bottom: 60px;
}

.section-main_bg_blue .section-main_inner_h2_3 {
    margin: 0px auto 20px;
    padding-top: 60px;
}

.accordion-content {
    display: none;
    padding: 0px 20px 20px;
}

.accordion {
    max-width: 1240px;
    margin: 0 auto;
    width: 95%;
}

.accordion-item {
    background-color: #fff;
    margin-bottom: 20px;
}

.accordion-title {
    padding-bottom: 15px;
    padding-left: 15px;
    padding-top: 10px;
    font-weight: 400;
    display: flex;
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
}

.accordion-title span {
    color: #537a7f;
    font-size: 28px;
    font-family: "Shippori Mincho", serif;
    margin: auto 10px auto 0px;
}

.accordion-title p::after,
.accordion-title p::before {
    content: "";
    position: absolute;
    right: 1.25em;
    top: 41%;
    width: 2px;
    height: 0.75em;
    background-color: #537a7f;
    transition: all 0.3s;
}

.accordion-title p::after {
    transform: rotate(90deg);
}

.open.accordion-title p::before {
    transform: rotate(90deg) !important;
}

.accordion-content_flex {
    border-top: 1px solid #ccc;
    padding-top: 20px;
}

.accordion-content_r {
    padding-left: 35px;
    font-family: "Noto Sans JP", sans-serif;
    color: #999;
}

.section-main_gum_flex {
    display: flex;
    margin: 0px auto;
    max-width: 1120px;
    width: 90%;
    gap: 20px;
    align-items: center;
}

.section-main_gum_flex .text-blue {
    font-size: 20px;
    line-height: 35px;
}

.body-treatment .section-main_inner .section-main_gum_flex p {
    width: 50%;
    text-align: left;
}

.section-main_gum_r {
    width: 50%;
}

.body-access .section-main .section-footer_table2 {
    width: 768px;
    margin: 0 auto;
}

.body-access .section-main .section-footer_table2_tr2 td:first-child {
    max-width: 200px;
}

.body-access .section-main p {
    max-width: 768px;
    width: 95%;
    margin: 0 auto 80px;
}

.body-access .section-main {
    background-color: #fdfdfd;
    background-image: url("../img/treatment/rever_dt_content_bg.jpg");
    background-repeat: no-repeat;
    background-position: top 0% center;
    background-size: cover;
    padding-top: 0px;
    padding-bottom: 0px;
}

.body-access .section-price_h2 {
    margin-top: 0px;
    padding-top: 80px;
}

.body-access .section-main_bg_blue {
    padding-bottom: 80px;
}

.section-access_flex {
    display: flex;
    max-width: 1240px;
    margin: 0 auto;
    gap: 20px;
    align-items: center;
}

.section-access_flex .section-footer_table1 {
    width: 100%;
}

.section-access_flex .section-access_flex_box:first-child {
    width: calc(45% - 20px);
}

.section-access_flex .section-access_flex_box:last-child {
    width: calc(55% - 20px);
}


.section-doctor_flex {
    display: flex;
    align-items: end;
    gap: 30px;
    margin: 0 auto;
    max-width: 1240px;
    justify-content: center;
    padding-top: 60px;
    width: 85%;
}

.section-doctor_flex_box:nth-child(1) {
    width: calc(45% - 15px);
}

.section-doctor_flex_box:nth-child(1) img {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}

.section-doctor_flex_box:nth-child(2) {
    width: calc(55% - 15px);
}

.section-doctor_name_flexblock {
    display: flex;
}

.section-doctor_name_flexsns {
    width: 30px;
    margin-left: 20px;
}

.section-doctor_h2 {
    max-width: 400px;
    width: 67%;
    margin-bottom: 20px;
}

.section-doctor_certificate {
    margin-top: 60px;
}

.section-doctor_certificate_box {
    margin: 0px 5px;
}

.body-doctor .section-main_wn_block_img1 {
    right: 14%;
    top: 6%;
    width: 21%;
    max-width: 200px;
}

.body-doctor .section-main_wn .section-main_wn_rela:nth-child(2) .section-main_wn_block {
    padding: 20px 40px 20px 50%;
}

.body-doctor .section-main_wn .section-main_wn_rela:nth-child(2) .section-main_wn_block .section-main_wn_block_text {
    width: 100%;
    max-width: 100%;
}

.body-doctor .section-main_wn .section-main_wn_rela:nth-child(2) .section-main_wn_block_img2 {
    left: 11%;
    top: 5%;
    width: 29%;
    max-width: 275px;
}

.body-doctor .section-main_inner_whiteblock {
    padding: 40px;
    margin: 20px auto 0px;
    width: 80%;
    max-width: 1160px;
}

.body-doctor .section-main_inner_h1 {
    margin-bottom: 60px;
}

.body-doctor .section-main_inner_whiteblock h2 {
    color: #537a7f;
}

.section-doctor_charm_flex {
    display: flex;
    align-items: center;
    gap: 20px;
}

.section-doctor_charm_flex .section-doctor_charm_flex_box:nth-child(1) {
    color: #537a7f;
    font-size: 60px;
}

.body-doctor .section-main_inner_whiteblock .section-doctor_charm_flex h2 {
    font-size: 28px;
    margin-bottom: 20px;
}

.section-doctor_award_flex {
    max-width: 1240px;
    width: 88%;
    display: flex;
    margin: 60px auto;
    flex-wrap: wrap;
    gap: 10px;
}

.section-doctor_award_flexbox {
    width: calc((100% - 14px) / 2);
    border: 1px solid #547980;
}

.section-doctor_award_flexbox_title {
    background-color: #8cb4bc;
    border-bottom: 1px solid #547980;
    color: #fff;
    padding: 5px 0px;
    text-align: center;
}

.section-doctor_award_flexbox:nth-child(1) .section-doctor_award_flexbox_text,
.section-doctor_award_flexbox:nth-child(2) .section-doctor_award_flexbox_text {
    min-height: 90px;
}

.section-doctor_award_flexbox_text {
    background-color: #fff;
    padding: 10px 0px;
    text-align: center;
}

.section-doctor_career_flex {
    display: flex;
    max-width: 1240px;
    width: 88%;
    gap: 20px;
    margin: 0 auto;
}

.body-doctor .section-main {
    padding-bottom: 0px;
}

.body-doctor .section-main_wn_rela {
    max-width: 1240px;
    width: 85%;
}

.section-doctor_career_flex ul {
    display: flex;
    padding: 0px 10px;
}

.section-doctor_career_flex_box .section-doctor_career_text {
    margin-top: 10px;
    margin-bottom: 10px;
}

.section-doctor_career_flex p {
    font-size: 14px;
}

.section-doctor_career_flex ul li {
    font-size: 14px;
}

.section-doctor_career_flex ul li:first-child {
    margin-right: 10px;
}

.section-doctor_career_flex_box:nth-child(1) {
    width: 60%;
}

.section-doctor_career_flex_box:nth-child(2) {
    width: 40%;
}

.section-doctor_career_flex_box:nth-child(2) img {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}

.section-doctor_career_flex_box h3 {
    padding: 5px 10px;
    background-color: #8cb4bc;
    color: #fff;
}

.body-second.body-treatment .section-main_inner_recommend {
    margin-bottom: 0px;
}

.section-second_banner {
    margin: 80px auto;
    width: 93%;
    max-width: 1240px;
}

.body-second .section-main_inner p.section-second_title {
    font-size: 30px;
    color: #547980;
    margin-bottom: 40px;
    font-family: "Shippori Mincho", serif;
}

.section-second_link_block {
    display: flex;
    max-width: 1240px;
    margin: 40px auto;
    width: 90%;
}

.section-second_link_box {
    width: 50%;
}

.body-gummy .section-main_gum_flex img {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
    border-radius: 30px;
}

.body-implant .text-blue {
    font-size: 20px;
    font-weight: bold;
    font-family: "Shippori Mincho", serif;
    display: block;
    margin-top: 15px;
    margin-bottom: 10px;
}

.body-laminate .section-main_inner_recommend {
    margin-bottom: 0px;
}

.body-laminate .section-main_inner_whiteblock.mb60 {
    margin: 40px auto 100px;
}

.body-laminate .section-main_bg_blue {
    padding-top: 60px;
    padding-bottom: 120px;
}

.body-laminate .section-main_wn_linkblock {
    margin: 100px auto 0px;
}

.body-laminate .section-main_bg_blue .section-main_inner_h1_bottom_2 {
    color: #333;
    font-size: 14px;
    text-align: center;
}

.section-main_inner_h2_4 {
    width: 60%;
    margin-bottom: 20px;
}

.section-laminate_flex {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
}

.body-treatment .section-main_inner_whiteblock .section-laminate_flex .section-main_inner_p {
    margin-top: 0px;
    margin-bottom: 0px;
}

.section-laminate_flex .section-laminate_flex_box:nth-child(1) {
    width: 60%;
}

.section-laminate_flex .section-laminate_flex_box:nth-child(2) {
    width: 40%;
}

.section-main_merideme2 {
    width: 100%;
    flex-direction: column;
}

.section-main_merideme2 ul {
    display: flex;
    margin: 25px auto;
    align-items: center;
}

.section-main_merideme2 ul li:before {
    display: none;
    margin-left: 0px;
}

.section-main_merideme2 .section-main_meri_box,
.section-main_merideme2 .section-main_deme_box {
    width: 100%;
}

.section-main_merideme2 ul li:nth-child(1) {
    color: #547980;
    padding-right: 20px;
    width: 30%;
    font-family: "Shippori Mincho", serif;
    font-size: 20px;
    max-width: 200px;
}

.section-main_merideme2 ul li:nth-child(2) {
    width: 70%;
    padding-left: 20px;
    border-left: 1px solid #547980;
}

.section-inv_title1 {
    margin: 40px auto 80px;
    width: 80%;
    max-width: 768px;
}

.section-inv_p {
    max-width: 1240px;
    width: 90%;
    margin: 0 auto;
}

.block_youtube {
    width: 90%;
    margin: 40px auto;
    max-width: 1240px;
}

.block_youtube iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.section-inv_title_p {
    color: #547980;
    font-size: 34px;
    margin-bottom: 20px;
    text-align: center;
    margin-top: 80px;
    line-height: 55px;
}

.body-invisalign .section-main_bg_blue .section-inv_merit_flex_box img {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
    border-radius: 30px;
}

.body-invisalign .section-main_bg_blue .section-inv_merit_flex_box p {
    font-family: "Noto Sans JP", sans-serif;
}

.section-inv_merit_flex_box p .text-orange {
    font-weight: bold;
}

.section-inv_p_2 {
    max-width: 1240px;
    width: 90%;
    text-align: center;
    margin: 0 auto;
}

.section-inv_flex {
    display: flex;
    gap: 20px 30px;
    flex-wrap: wrap;
    margin: 40px auto 0px;
    max-width: 1240px;
    width: 90%;
}

.section-inv_flexbox {
    opacity: 0;
    width: calc((100% - 60px) / 3);
    background-color: #fff;
    border-radius: 30px;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
    transition: 1s;
    min-height: 185px;
    transform: translate(0, 50px);
}

.section-inv_flexbox.fadein {
    opacity: 1;
    transform: translate(0, 0);
}

.section-inv_flexbox ul {
    margin: 25px;
}

.section-inv_flexbox ul li {
    text-align: center;
}

.section-inv_flexbox ul li:nth-child(1) {
    font-size: 21px;
    font-weight: 600;
    color: #547980;
    margin-bottom: 20px;
    line-height: 28px;
}

.section-inv_4_block {
    max-width: 1240px;
    width: 90%;
    margin: 40px auto 0px;
}

.body-invisalign .section-main_inner_h1 {
    line-height: 44px;
}

.body-invisalign .section-main_inner_h1 span {
    font-size: 56px;
    margin-right: 7px;
}

.section-main_bg_blue .section-inv_merit_flex {
    gap: 30px;
}

.section-inv_merit_flex {
    display: flex;
    gap: 0px;
    margin: 0 auto;
    align-items: center;
    max-width: 1240px;
    width: 90%;
}

.section-main_bg_blue .section-inv_merit_flex_box {
    width: calc((100% - 20px)/ 2);
}

.section-main_inner .section-inv_merit_flex_box {
    width: calc((100% - 20px)/ 2);
}

.body-invisalign .section-main_inner .section-inv_merit_flex_box p {
    text-align: left;
}

.section-inv_flow_block {
    display: flex;
    gap: 20px;
    flex-direction: column;
    max-width: 1240px;
    width: 90%;
    margin: 0 auto 60px;
}

.block_movie {
    margin: 40px auto;
    width: 90%;
    max-width: 1240px;
}

.block_movie video {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.section-inv_flow_box {
    display: flex;
    align-items: center;
    width: 100%;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}

.body-invisalign .section-main_inner .section-inv_flow_box p.section-inv_flow_box_l {
    width: 10%;
    color: #547980;
    font-family: "Shippori Mincho", serif;
    font-size: 50px;
}

.body-invisalign .section-main_inner .section-inv_flow_box .section-inv_flow_box_r {
    width: 90%;
    padding-top: 40px;
    padding-bottom: 40px;
}

.body-invisalign .section-main_inner .section-inv_flow_box .section-inv_flow_box_r p {
    text-align: left;
    width: 98%;
    margin: 0 auto 0 0;
}

.body-invisalign .section-main_inner .section-inv_flow_box .section-inv_flow_box_r p.section-inv_flow_title {
    color: #547980;
    font-size: 28px;
    margin-bottom: 20px;
    font-family: "Shippori Mincho", serif;
}

.body-invisalign .section-main_inner .section-inv_flow_box .section-inv_flow_box_r p.section-inv_flow_title span {
    font-size: 16px;
    display: block;
    padding-top: 5px;
}

.body-invisalign .table_v1 {
    margin-bottom: 40px;
}

.body-invisalign .section-main_inner_h2 span {
    font-size: 16px;
    margin-left: 10px;
}

.section-fixed_block {
    display: flex;
}

.section-fixed_box {
    width: 50%;
}

.section-fixed {
    position: fixed;
    bottom: 0px;
    z-index: 2000;
}

.section-footer_bnr {
    width: 300px;
    margin: 20px auto;
}

/* 
WordPress化による追記 
*/

/*
パンくず
*/
.breadcrumb {
    max-width: 1144px;
    margin: 20px auto 40px;
    padding-inline: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
}

.breadcrumb-lists {
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
}

.breadcrumb-item {
    flex-shrink: 0;
    display: flex;
    align-items: center;

    &:not(:first-child)::before {
        content: "/";
        display: inline-block;
        margin-inline: 16px 14px;
        color: #aaa;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.5;
    }
}

.breadcrumb-item:last-child {
    flex: 1;
    min-width: 0;
}

.breadcrumb-item:last-child span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.breadcrumb-item span {
    color: #aaa;
}

.breadcrumb-item a span {
    color: #537a7f;
    text-decoration: underline;
}

.breadcrumb-item a {
    transition: 0.3s;
}

.breadcrumb-item a:hover {
    opacity: 0.7;
}

/* 
お知らせページのパンくず
*/
.body-news .breadcrumb {
    max-width: 1320px;
    margin: 90px auto 20px;
}

/* 
投稿ページ 共通レイアウト
*/
.layout-post {
    display: flex;
    justify-content: space-between;
    gap: calc((80 / 1144) * 100%);
    max-width: 1144px;
    margin-inline: auto;
    padding-inline: 20px;
    padding-bottom: 140px;
}

.layout-post.--detail {
    margin-top: 60px;
}

.layout-post.--detail.--news {
    display: block;
}

/* お知らせ詳細ページのみ画像の横幅をautoに */
.layout-post.--detail.--news .post-detail-content img {
    width: auto;
}

.layout-post-main {
    flex: 1 1 calc(100% - 260px);
}

.layout-post-sidebar {
    flex: 1 0 260px;
}

/* 
記事一覧 共通レイアウト
*/

.post-card {}

/* 症例一覧だけ画像の縦横比なしで画像全体を表示 */
.post-card.--case .post-card-thumbnail img {
    aspect-ratio: initial;
}

.post-card+.post-card {
    margin-top: 20px;
}

.post-card a {
    display: flex;
    gap: 20px;
    min-width: 0;
    padding: 20px;
    border: 1px solid #537a7f;
    border-radius: 20px;
    font-family: "Noto Sans JP", sans-serif;
}

.post-card-thumbnail {
    max-width: 300px;
    margin: 0;
    flex-shrink: 0;
}

.post-card-thumbnail img {
    border-radius: 8px;
    width: 100%;
    height: 100%;
    aspect-ratio: 300/200;
    object-fit: cover;
}

.post-card-block {
    min-width: 0;
}

.post-card-time {
    color: #aaa;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
}

.post-card-title {
    font-family: "Shippori Mincho", serif;
    color: #537a7f;
    font-size: 18px;
    line-height: 1.8;
    margin-top: 4px;
}

.post-card-supervisor {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
}

.post-card-supervisor-icon {
    width: 40px;
    height: 40px;
    margin: 0;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.post-card-supervisor-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.post-card-supervisor-name {
    color: #333;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
}

.post-card-warp {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    color: #333;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
}

/* カテゴリー */

.post-card-category-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.body-case .post-card-category-list {
    flex-shrink: 1;
}

.post-card-category-item {
    background-color: #ECF0F3;
    border-radius: 4px;
    padding: 8px;
}

/* キーワード */

.post-card-keyword-list {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.post-card-keyword-item {
    display: inline;
}

.post-card-keyword-item+.post-card-keyword-item {
    margin-left: 10px;
}

.post-card-keyword-item span {
    color: #8CB4BC;
}

/* ページャー */
.post-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: fit-content;
    max-width: 400px;
    margin-inline: auto;
    padding-inline: 100px;
    margin-top: 60px;
    position: relative;
    box-sizing: border-box;
}

.post-pager a {
    transition: 0.3s;
}

.post-pager a:hover {
    opacity: 0.7;
}

.page-numbers {
    color: #537a7f;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    padding: 4px 8px;
}

.page-numbers.current {
    padding-bottom: 2px;
    border-bottom: 2px solid #8CB4BC;
}

.page-numbers.prev,
.page-numbers.next {
    color: #537a7f;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.page-numbers.prev::before,
.page-numbers.next::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 11px;
    background: url(../img/icon_triangle.png) no-repeat center / contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.page-numbers.prev {
    padding-left: 16px;
    margin-right: 24px;
    left: 0;
}

.page-numbers.prev::before {
    left: 0;
}

.page-numbers.next {
    padding-right: 16px;
    margin-left: 24px;
    right: 0;
}

.page-numbers.next::before {
    right: 0;
    transform: translateY(-50%) scale(-1, 1);
}

/* サイドバー 共通 */

.post-sidebar {}

.post-sidebar-section {}

.post-sidebar-section+.post-sidebar-section {
    margin-top: 60px;
}

.post-sidebar-title {
    background-color: #537a7f;
    border-radius: 8px 8px 0 0;
    padding: 10px;
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}

.post-sidebar-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
    /* padding-inline: 8px; */
    margin-top: 24px;
}

.post-sidebar-item {}

.post-sidebar-item a {
    background-color: #ECF0F3;
    color: #333;
    display: block;
    padding: 8px;
    border-radius: 4px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 1;
    transition: 0.3s;
}

.post-sidebar-item a:hover {
    opacity: 0.7;
}

/* キーワード */
.post-sidebar-section.--keyword .post-sidebar-list {
    gap: 16px 10px;
}

.post-sidebar-section.--keyword .post-sidebar-item a {
    background-color: transparent;
    color: #537a7f;
    display: block;
    padding: 0;
    border-radius: 0;
    font-size: 14px;
    line-height: 1;
}

.post-sidebar-section.--keyword .post-sidebar-item span {
    color: #8CB4BC;
}

/* 
記事詳細 共通レイアウト
*/
.post-detail {}


.post-detail-time {
    font-family: 'Noto-sans-jp', sans-serif;
    color: #aaa;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
}

.post-detail-title {
    color: #537a7f;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 16px;
}

.post-detail-warp {
    margin-top: 16px;
    color: #333;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
}

.post-detail-category-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.post-detail-category-item {
    background-color: #ECF0F3;
    border-radius: 4px;
    padding: 8px;
}

.post-detail-keyword-list {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.post-detail-keyword-item {}

.post-detail-keyword-item span {
    color: #8CB4BC;
}

.post-detail-keyword-ellipsis {}

.post-detail-thumbnail {
    margin: 24px 0 0 0;
}

.post-detail-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* 目次 */
#toc_container {
    background-color: #ECF0F3;
    border-radius: 8px;
    padding: 24px;
    margin-top: 40px;
}

#toc_container .toc_title {
    font-family: 'Noto Sans JP', sans-serif;
    color: #537a7f;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    margin-top: 0;
}

#toc_container .toc_list {
    margin-top: 12px;
}

#toc_container .toc_list li {
    padding-left: 0;
}

#toc_container .toc_list li::before {
    display: none;
}

#toc_container .toc_list li+li {
    margin-top: 12px;
}

#toc_container .toc_list a {
    display: block;
    padding-left: 1em;
    position: relative;
    color: #333;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s;
}

#toc_container .toc_list a::before {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    border-radius: 4px;
    background-color: #537a7f;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

#toc_container .toc_list a:hover {
    color: #537a7f;
}

/* ブロックエディタ用 */

.post-detail-content {
    font-family: 'Noto Sans JP', sans-serif;
}

.post-detail-content p {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 24px;
}

.post-detail-content h2 {
    font-family: 'shippori mincho', serif;
    color: #537a7f;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.6;
    padding-bottom: 20px;
    border-bottom: 2px solid #8CB4BC;
    margin-top: 72px;
    scroll-margin-top: 150px;
}

.post-detail-content h3 {
    font-family: 'shippori mincho', serif;
    color: #333;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.4;
    padding-left: 12px;
    margin-top: 56px;
    position: relative;
}

.post-detail-content h3::before {
    content: "";
    display: block;
    width: 4px;
    height: 100%;
    border-radius: 4px;
    background-color: #537a7f;
    position: absolute;
    top: 0;
    left: 0;
}

.post-detail-content h3+p {
    margin-top: 38px;
}

.post-detail-content h4 {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    background-color: #537a7f;
    padding: 8px;
    margin-top: 32px;
}

/* .post-detail-content h2 span,
.post-detail-content h3 span,
.post-detail-content h4 span {
    display: inline-block;
    line-height: 1;
} */

.post-detail-content strong {
    color: #D90000;
    font-weight: 400;
}

.post-detail-content a {
    color: #537a7f;
    text-decoration: underline;
    transition: 0.3s;
}

.post-detail-content a:hover {
    opacity: 0.7;
}

.post-detail-content .wp-block-table {
    margin: 24px 0 0 0;
}

.post-detail-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
}

.post-detail-content .wp-block-table thead {
    border-bottom: 0;
}

.post-detail-content table th,
.post-detail-content table td {
    padding: 10px;
}

.post-detail-content table td {
    border: 1px solid #8CB4BC;
}

.post-detail-content table td:nth-child(1) {
    background-color: #C5D3D7;
    width: calc((200 / 804) * 100%);
    padding: 10px;
    position: relative;
}

.post-detail-content table td:nth-child(1)::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 2px;
    background-color: #ECF0F3;
    position: absolute;
    bottom: 1px;
    left: 0;
}

.post-detail-content table thead th {
    background-color: #8CB4BC;
    border-top: 1px solid #8CB4BC;
    border-left: 1px solid #ECF0F3;
    color: #fff;
    font-weight: 400;
}

.post-detail-content table thead th:first-child {
    background-color: #ECF0F3;
    border: 1px solid #8CB4BC;
    color: #333;
}

.post-detail-content ul {
    margin-top: 16px;
}

.post-detail-content ul li {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    padding-left: 16px;
    position: relative;
}

.post-detail-content ul li::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #537a7f;
    position: absolute;
    top: 10px;
    left: 0;
}

.post-detail-content ul li+li {
    margin-top: 8px;
}

/* YouTubeブロック */
.post-detail-content .wp-block-embed {
    margin: 24px 0 0 0;
}

.post-detail-content .wp-block-embed__wrapper {
    width: 100%;
    aspect-ratio: 804/439;
}

.post-detail-content .wp-block-embed__wrapper iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.post-detail-content .wp-block-embed__caption {
    font-size: 14px;
    font-weight: 400;
    margin-top: 8px;
}

/* シェアボタン */
.share {
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #ECF0F3;
    border-radius: 8px;
    margin-top: 74px;
}

.share a {
    transition: 0.3s;
}

.share a:hover {
    opacity: 0.7;
}

.share-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding: 30px;
}

.share-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
}

.share-block {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: min(calc((16 / 428) * 100vw), 16px);
}

.share-link-wrapper {
    /* flex-shrink: 0; */
}

.share-link {
    color: #537a7f;
    font: initial;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    border: 1px solid currentColor;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    appearance: none;
    cursor: pointer;
}

.share-link::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: url(../img/icon_copy_link.svg) no-repeat center / contain;
    flex-shrink: 0;
}

.share-sns {}

.share-sns-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: min(calc((16 / 428) * 100vw), 16px);
}

.share-sns-item {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

/* URLコピー時のトースト表示 */
.copy-toast {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: #537a7f;
    color: #fff;
    padding: 10px 20px;
    border-radius: 8px;
    z-index: 9999;
    font-size: 20px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

.copy-toast.is-visible {
    opacity: 1;
}


/* 監修者 */
.post-detail-supervisor {
    font-family: 'Noto Sans JP', sans-serif;
    border: 1px solid #8CB4BC;
    border-radius: 8px;
    padding: 30px;
    margin-top: 32px;
}

.post-detail-supervisor-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.post-detail-supervisor-icon {
    width: 80px;
    height: 80px;
    margin: 0;
    flex-shrink: 0;
}

.post-detail-supervisor-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.post-detail-supervisor-head-warp {}

.post-detail-supervisor-head-title {
    color: #537a7f;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
}

.post-detail-supervisor-name {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 8px;
}

.post-detail-supervisor-name span {
    font-size: 14px;
    line-height: 1;
}

.post-detail-supervisor-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 16px;
}

/* 記事詳細のページャー */
.post-detail-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    margin-top: 32px;
}

.post-detail-pager a {
    transition: 0.3s;
}

.post-detail-pager a:hover {
    opacity: 0.7;
}

.post-detail-pager-back {
    width: 100%;
    max-width: 200px;
}

.post-detail-pager-back a {
    background-color: #537a7f;
    border-radius: 100px;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    display: block;
    padding: 16px;
}

.post-detail-pager-prev,
.post-detail-pager-next {
    width: 100%;
    max-width: 65px;
}

.post-detail-pager-prev a,
.post-detail-pager-next a {
    color: #537a7f;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    position: relative;
}

.post-detail-pager-prev a::before,
.post-detail-pager-next a::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 11px;
    background: url(../img/icon_triangle.png) no-repeat center / contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.post-detail-pager-prev a {
    padding-left: 16px;
}

.post-detail-pager-prev a::before {
    left: 0;
}

.post-detail-pager-next a {
    padding-right: 16px;
}

.post-detail-pager-next a::before {
    right: 0;
    transform: translateY(-50%) scale(-1, 1);
}

/* 404 */
.error-404 {
    padding-block: 100px;
}

.error-404-inner {
    max-width: 1144px;
    margin: 0 auto;
    padding: 20px;
}

.error-404-title {
    font-family: 'Shippori Mincho', serif;
    color: #537a7f;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.8;
    text-align: center;
    margin-top: 16px;
}

.error-404-content {
    text-align: center;
    margin-top: 24px;
}

.error-404-content p {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
}

.error-404-content p+p {
    margin-top: 12px;
}

.error-404-home {
    width: 100%;
    max-width: 200px;
    margin-top: 40px;
    margin-inline: auto;
}

.error-404-btn {
    background-color: #537a7f;
    border-radius: 100px;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    display: block;
    padding: 16px;
}

/* 
WordPress化による追記 ここまで
*/


@media screen and (max-width: 768px) {
    body {
        font-size: 12px;
        line-height: 1.5em;
    }

    .a-box a {
        font-size: 12px;
        padding: 10px 20px;
        line-height: 15px;
        width: 150px;
    }

    #header.dnone {
        opacity: 1;
        display: block;
    }

    #header {
        padding-right: 73px;
        height: 52px;
        position: fixed;
        background-image: linear-gradient(360deg, rgba(256, 256, 256, 0), rgba(256, 256, 256, 1) 25px);
        background-color: transparent;
    }

    .logo_header img {
        margin-top: 6%;
    }

    .logo_header {
        margin-left: 5px;
    }

    .openbtn1 {
        display: block;
    }

    #header.dnone.panelactive #g-navi ul {
        padding: 0px;
        position: relative;
        top: 40%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        -ms-transform: translateY(-50%) translateX(-50%);
    }

    .pc-display {
        display: none;
    }

    .sp-display {
        display: block;
    }

    #header.dnone.panelactive #g-navi {
        display: block;
    }

    #header.dnone #g-navi {
        display: none;
    }

    .header-flex {
        display: none;
    }

    .section-top {
        margin: 1% auto 0px;
    }

    .section-top_text1 {
        margin-left: 43%;
        margin-top: 7%;
        width: 54%;
        margin-bottom: 7%;
    }

    .section-top_img {
        border-radius: 0px 0px 50px 0px;
    }

    .section-top_flexblock {
        gap: 3px;
    }

    .section-top_flexblock {
        width: 100%;
    }




    .section-news_flexblock .section-news_flexbox:nth-child(1) {
        margin: 0px;
        padding-right: 10px;
        border-right: 1px solid #537a7f;
        width: 20%;
    }

    .section-news_flexblock .section-news_flexbox:nth-child(2) {
        margin: 0px 0px 0px 10px;
        width: 80%;
    }

    .section-news_flexblock {
        width: 90%;
        margin: 40px auto;
    }

    .section-news_h2 {
        width: 100%;
        padding: 0px;
        margin: 15px auto 15px;
    }

    .section-news .a-box {
        margin: 10px auto 0px;
    }

    .section-news .a-box a {
        width: 41px;
        line-height: 8px;
        padding: 10px 9px;
    }

    .iframe-news iframe {
        height: 86px;
        width: 100%;
    }

    .section-banner_box_1,
    .section-banner_box_5 {
        width: 90%;
    }

    .section-banner_youtube {
        width: 90%;
        margin: 0 auto 20px;
    }

    .section-banner_box_3 {
        width: 90%;
        margin: 0 auto 20px;
    }

    .section-banner_box_4 {
        width: 90%;
        margin: 0 auto 20px;
    }

    .section-pickup {
        padding-bottom: 20px;
    }

    .section-pickup_inner,
    .section-menu_inner {
        width: 95%;
    }

    .section-pickup_title {
        max-width: 203px;
        margin: 20px 0px 10px;
    }

    .section-menu_title {
        max-width: 212px;
        margin: 30px 0px 10px;
    }

    .section-reason_title {
        max-width: 353px;
        margin: 20px 0px 30px;
    }

    .section-reason_innner {
        width: 95%;
    }

    .reason-flex {
        gap: 30px;
        flex-direction: column;
        margin: 0 auto 40px;
    }

    .reason-flex_box {
        width: 95%;
        margin: 0 auto;
    }

    .reason-flex_box_number p span {
        font-size: 32px;
    }

    .reason-flex_box_number p {
        font-size: 22px;
        top: 8px;
    }

    .reason-icon {
        width: 120px;
        height: calc(120px / 2);
        margin-top: -20px;
        margin-left: 10px;
    }

    .reason-flex_box_inner_2 .reason-h3 {
        padding: 20px 0px;
        font-size: 18px;
    }

    .reason-flex_box_inner_2 p {
        font-size: 10px;
        line-height: 1.6em;
        min-height: auto;
        padding: 0px 20px 20px 20px;
    }

    .section-reason {
        padding-bottom: 20px;
    }


    .section-doctor_inner {
        width: 90%;
    }

    .section-doctor_block1_inner {
        width: 95%;
        margin: 0 auto;
    }

    .section-doctor_name_flexblock .section-doctor_name {
        font-size: 27px;
        margin-bottom: 0px;
    }

    .section-doctor_name_flexblock .section-doctor_name_flexsns {
        margin-left: 10px;
        margin-right: 25px;
    }

    .section-doctor_name_flexblock {
        margin-bottom: 25px;
    }

    .section-doctor_name_flexblock .section-doctor_name span {
        font-size: 14px;
    }

    .section-doctor_block1_left {
        margin-left: 2.5%;
    }

    .section-doctor_block1_right {
        width: 62%;
        margin-top: -16%;
    }

    .section-doctor_title {
        max-width: 200px;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .section-doctor_box {
        width: 80%;
        margin: 10px auto 30px;
        font-size: 11px;
        box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
    }

    .section-doctor_block2_textbox {
        width: 100%;
        padding: 10px 0px 10px 0px;
    }

    .section-doctor_block2 {
        margin-top: 0px;
        padding-top: 20px;
    }

    .section-doctor_block2_text1 {
        font-size: 17px;
    }

    .section-doctor_block2_textbox ul {
        font-size: 10px;
    }

    .section-doctor_block2_textbox ul li:first-child {
        min-width: 35px;
    }

    .section-doctor_block2_inner {
        width: 90%;
        gap: 10px;
        flex-wrap: wrap;
    }

    .section-doctor_block2_img1 {
        width: calc((100% - 10px) / 2);
    }

    .section-doctor_block2_slider {
        width: 100%;
        margin-top: 0px;
    }

    .section-doctor_bottom {
        margin: 20px auto 0px;
    }



    .section-other {
        background-size: contain;
    }

    .section-other_title {
        padding-top: 30px;
        margin: 0 auto 0 0;
    }

    .section-other_block1 {
        width: 90%;
        margin: 0 auto;
    }

    .section-other_title {
        width: 60%;
    }

    .section-other_text1 {
        width: 60%;
        margin-top: 26px;
        margin-bottom: 26px;
    }

    .section-other_block2 {
        margin: 20px auto;
        width: 90%;
        padding: 0px;
    }

    .section-other_block2_flex {
        display: block;
    }

    .section-other_block2_flex .section-other_block2_flexbox:first-child {
        padding-right: 0px;
        width: 48%;
        margin: 15px auto 10px;
    }

    .section-other_block2_title {
        width: 80%;
        margin: 0 auto;
        padding-top: 20px;
    }

    .section-other_block2_flex .section-other_block2_flexbox:nth-child(2) {
        width: 90%;
    }

    .section-other_block2_linkflex {
        gap: 6px 5px;
        font-size: 11px;
        justify-content: center;
    }

    .section-other_block2_text2 {
        margin: 20px auto 0px;
        padding-bottom: 30px;
        font-size: 17px;
        text-align: center;
    }

    .section-other_block2_70 {
        width: 67%;
        left: 50%;
    }

    .section-other {
        padding-bottom: 10px;
    }

    .slider-photo_thumb_box {
        margin: 10px 5px;
    }

    .section-photo {
        padding-bottom: 20px;
    }

    .section-footer {
        padding-bottom: 40px;
    }

    .section-footer_tel {
        max-width: 160px;
        margin-top: 5px;
    }

    .section-footer_logo {
        width: 52%;
        margin: 20px auto;
    }

    .section-footer_table1_td2 span {
        font-size: 13px;
    }

    .section-footer_table1 {
        width: 100%;
    }

    .section-footer_flexblock {
        display: block;
        padding-left: 14px;
        padding-right: 14px;
    }

    .section-footer_flexblock .section-footer_flexbox:nth-child(2) {
        display: none;
    }

    .section-footer_flexbox {
        width: 100%;
        font-size: 10px;
    }

    .section-footer_menu_box ul li.section-footer_menu_s {
        font-size: 10px;
    }

    .section-footer_table2_tr2 td:first-child {
        width: 100%;
    }

    .section-footer_table2 {
        margin-bottom: 10px;
    }

    .section-footer_map iframe {
        height: 240px;
    }

    .section-footer_table1_td2 {
        padding: 10px 0px;
    }


    #header.dnone.panelactive #g-navi ul {
        /* transform: translateY(55%) translateX(-50%);
        -webkit-transform: translateY(55%) translateX(-50%);
        -ms-transform: translateY(55%) translateX(-50%); */
        transform: translateY(35%) translateX(-50%);
        -webkit-transform: translateY(35%) translateX(-50%);
        -ms-transform: translateY(35%) translateX(-50%);
    }



    .section-price_menu_block {
        gap: 10px;
        flex-wrap: wrap;
        width: 90%;
    }

    .section-price_menu_right p {
        font-size: 12px;
        line-height: 15px;
    }

    .section-price_h2 {
        font-size: 20px;
        margin-top: 60px;
        margin-bottom: 30px;
    }

    .section-price_box {
        border-radius: 20px;
        padding: 20px 30px;
    }

    .section-price_h3 {
        font-size: 16px;
    }

    .section-price_box p {
        font-size: 12px;
    }

    .table_v1 tbody tr td:nth-child(2) {
        font-size: 16px;
    }

    .table_v1 tbody tr td:nth-child(1) {
        font-size: 10px;
    }

    .section-main {
        padding-bottom: 40px;
    }

    .section-price_menu_flex {
        padding: 0px 10px;
    }

    .section-price_menu_box {
        width: calc((100% - 20px) / 3);
    }

    .section-treatment_menu_box {
        padding: 30px 20px;
        align-items: center;
        flex-direction: column-reverse;
    }

    .section-treatment_menu_left a {
        font-size: 12px;
    }

    .section-treatment_menu_left a:hover::before {
        margin-right: 10px;
        font-size: 10px;
    }

    .section-treatment_menu_block {
        width: 90%;
    }

    .section-treatment_menu_left {
        width: 100%;
    }

    .section-treatment_menu_left h2 {
        font-size: 19px;
        line-height: 1.8rem;
        text-align: center;
        padding-bottom: 4px;
    }

    .section-treatment_menu_right {
        width: 39%;
    }





    .body-treatment .section-top {
        margin: 13% auto 0px;
    }

    .section-top_img {
        width: 90%;
    }

    .body-top .section-top_inner {
        width: 92%;
    }

    .body-index .section-top_inner {
        right: 4%;
    }

    .body-top .section-top_text2 {
        margin: 3% 0% 5% 5%;
    }

    .body-other .section-top_inner {
        width: 100%;
        position: inherit;
    }

    .section-top_text2 {
        width: 75%;
        margin: 5% 0% 5% auto;
    }

    .body-price .section-top_text2 {
        width: 50%;
    }

    .body-treatment .section-main_inner,
    .body-doctor .section-main_inner {
        padding-top: 0px;
    }

    .section-main_border {
        height: 75px;
    }

    .section-main_border span::after {
        height: 40px;
        bottom: -50px;
    }

    .section-main_border span::before {
        height: 40px;
        bottom: -50px;
    }

    .body-treatment .section-main_inner_h1,
    .body-doctor .section-main_inner_h1 {
        font-size: 21px;
        margin-bottom: 20px;
        line-height: 29px;
    }

    .body-treatment .section-main_inner_h1_bottom {
        font-size: 21px;
        margin-bottom: 20px;
        line-height: 29px;
    }

    .section-main_inner_whiteblock {
        margin: 20px auto 0px;
        padding: 25px 20px;
    }

    .section-main_inner_whiteblock .section-main_merideme {
        margin-top: 20px;
    }

    .accordion-title {
        padding-right: 24px;
        font-size: 12px;
        line-height: 25px;
    }

    .section-main_inner_whiteblock .section-main_inner_h2 {
        padding-left: 0px;
    }

    .section-main_inner_h2_3 {
        margin: 30px auto 20px;
    }

    .section-main_meri_box {
        padding: 20px;
    }

    .section-main_inner_whiteblock .table_v1 {
        margin-top: 20px;
    }

    .body-treatment .section-main_inner_h2 {
        font-size: 20px;
        text-align: center;
        margin-bottom: 15px;
    }

    .body-treatment .section-main_inner_recommend {
        font-size: 14px;
        margin-bottom: 30px;
    }

    .body-treatment .section-main_inner_recommend li {
        line-height: 21px;
        padding-bottom: 10px;
        background-position: top 4px left;
        background-size: auto 16px;
        padding-left: 24px;
    }

    .section-main_merideme {
        gap: 20px;
        flex-flow: column;
    }

    .section-main_meri_box,
    .section-main_deme_box {
        width: calc(100% - 40px);
        min-height: 100px;
    }

    .section-main_inner_h2_2 {
        width: 45%;
        max-width: 155px;
    }

    .body-treatment .section-main_inner_whiteblock .section-main_inner_p {
        width: 100%;
    }

    .table_v2 {
        width: 90%;
    }

    .button_white {
        padding: 10px;
        border-radius: 20px;
    }

    .section-main_topmenu {
        gap: 10px;
        align-items: center;
        width: 70%;
        flex-direction: column;
    }

    .section-main_topmenu_block {
        padding: 30px 0px;
    }

    .section-main_topmenu_box {
        width: 100%;
    }

    .section-main_wn {
        padding: 30px 0 40px;
    }

    .section-main_wn_img1 {
        margin: 0 auto 30px;
        width: 80%;
    }

    .section-main_wn_rela {
        width: 90%;
    }

    .section-main_wn_block {
        padding: 15px 20px;
    }

    .section-main_wn_block_img1,
    .section-main_wn_block_img2 {
        display: none;
    }

    .section-main_wn_block_text {
        max-width: 100%;
    }

    .section-main_wn_block_title {
        font-size: 19px;
        background-size: auto 22px;
        padding-left: 30px;
    }

    .section-main_wn_block_text {
        margin-top: 5px;
    }

    .section-main_wn .section-main_wn_rela:nth-child(3) .section-main_wn_block {
        padding: 15px 20px;
    }

    .section-main_wn_img2 {
        margin: 30px auto 0px;
    }

    .section-main_wn_linkblock {
        margin: 20px auto 0px;
        flex-direction: column;
        width: 75%;
    }

    .section-main_wn_linkbox {
        width: 100%;
    }

    .accordion-title::after,
    .accordion-title::before {
        top: 1.75em;
    }

    .section-main_gum_flex {
        flex-direction: column;
        gap: 10px;
    }

    .body-treatment .section-main_inner .section-main_gum_flex p {
        width: 95%;
    }

    .section-main_gum_r {
        width: 60%;
    }

    .body-treatment .section-main_inner {
        padding-bottom: 60px;
    }

    .section-main_bg_blue .section-main_inner_h2_3 {
        padding-top: 40px;
    }

    .body-access .section-top_text2 {
        width: 60%;
    }

    .body-access .section-price_h2 {
        padding-top: 40px;
    }

    .body-access .section-main .section-footer_table2_tr2 td:first-child {
        min-height: 100px;
        width: inherit;
    }

    .body-access .section-main p {
        margin: 0px auto 40px;
    }

    .body-access .section-price_h2 {
        margin-bottom: 20px;
    }

    .section-access_flex {
        flex-direction: column;
        gap: 0px;
    }

    .body-access .section-main .section-footer_table2 {
        width: 95%;
    }

    .body-access .section-main_bg_blue {
        padding-bottom: 60px;
    }

    .section-access_flex .section-access_flex_box:first-child {
        width: 75%;
    }

    .section-access_flex .section-access_flex_box:last-child {
        width: 85%;
    }

    .body-index .section-top_text2 {
        width: 89%;
        margin: 5% auto;
    }

    .body-doctor .section-top_text2 {
        width: 57%;
    }

    .section-doctor_certificate {
        margin-top: 20px;
    }

    .section-doctor_flex {
        flex-direction: column;
        gap: 20px;
        padding-top: 30px;
    }

    .section-doctor_flex_box:nth-child(1) {
        width: 65%;
        margin: 0 auto;
    }

    .section-doctor_flex_box:nth-child(2) {
        width: 95%;
        margin: 0 auto;
    }

    .section-doctor_h2 {
        margin: 15px 0px 20px auto;
    }

    .body-doctor .section-main_wn_block_title {
        font-size: 15px;
        background-size: auto 16px;
        padding-left: 23px;
    }

    .body-doctor .section-main_wn .section-main_wn_rela:nth-child(2) .section-main_wn_block {
        padding: 15px 20px;
    }

    .body-doctor .section-main_inner {
        padding-top: 30px;
    }

    .body-doctor .section-main_inner_whiteblock {
        margin: 20px auto 0px;
        padding: 25px 20px;
    }

    .section-doctor_charm_flex {
        gap: 10px;
    }

    .section-doctor_charm_flex .section-doctor_charm_flex_box:nth-child(1) {
        font-size: 40px;
    }

    .body-doctor .section-main_inner_whiteblock .section-doctor_charm_flex h2 {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .section-doctor_award_flexbox {
        width: 100%;
    }

    .section-doctor_award_flexbox:nth-child(1) .section-doctor_award_flexbox_text,
    .section-doctor_award_flexbox:nth-child(2) .section-doctor_award_flexbox_text {
        min-height: inherit;
    }

    .section-doctor_career_flex {
        flex-direction: column-reverse;
    }

    .body-doctor .section-main_wn_block_text {
        font-size: 12px;
    }

    .section-doctor_career_flex_box:nth-child(1) {
        width: 100%;
    }

    .section-doctor_career_flex_box:nth-child(2) {
        width: 65%;
        margin: 0 auto;
    }

    .section-doctor_career_flex ul {
        padding: 4px 10px;
    }

    .section-doctor_career_flex ul li {
        font-size: 12px;
    }

    .section-doctor_career_flex p {
        font-size: 12px;
        padding: 4px 10px;
    }

    .section-second_link_block {
        display: block;
    }

    .section-second_banner {
        margin: 40px auto 80px;
    }

    .body-second .section-main_inner p.section-second_title {
        font-size: 23px;
        margin-bottom: 20px;
    }

    .section-second_link_box {
        width: 100%;
    }

    .section-second_link_block {
        margin: 40px auto 0px;
    }

    .body-gummy .section-main_gum_flex {
        flex-direction: column-reverse;
    }

    .body-gummy .section-main_gum_flex img {
        border-radius: 10px;
    }

    .body-implant .table_v2 tbody tr td:nth-child(1) {
        width: 26%;
    }

    .body-implant .text-blue {
        font-size: 16px;
    }

    .body-laminate .section-main_inner_recommend {
        margin-bottom: 0px;
    }

    .body-laminate .section-main_wn_linkblock {
        margin: 40px auto 30px;
    }

    .section-laminate_flex {
        flex-direction: column-reverse;
    }

    .section-laminate_flex .section-laminate_flex_box:nth-child(1) {
        width: 100%;
    }

    .section-laminate_flex .section-laminate_flex_box:nth-child(2) {
        width: 80%;
        margin: 0 auto;
    }

    .section-main_merideme2 .section-main_meri_box,
    .section-main_merideme2 .section-main_deme_box {
        width: 87%;
    }

    .section-main_merideme2 ul {
        flex-direction: column;
    }

    .section-main_merideme2 ul li:nth-child(1) {
        width: 100%;
        padding-right: 0px;
        padding-bottom: 10px;
        font-size: 14px;
        text-align: center;
    }

    .section-main_merideme2 ul li:nth-child(2) {
        width: 100%;
        padding-left: 0px;
        border-left: 0px;
        border-top: 1px solid #547980;
        padding-top: 10px;
    }

    .section-laminate_flex_img {
        width: 80%;
        margin: 0 auto;
    }

    .section-main_inner_h2_4 {
        width: 100%;
    }

    .section-laminate_flex {
        gap: 0px;
    }

    .body-laminate .section-main_bg_blue {
        padding-top: 20px;
        padding-bottom: 80px;
    }

    .body-laminate .section-main_bg_blue .section-main_inner_h1_bottom_2 {
        font-size: 12px;
        width: 90%;
        margin: 0 auto;
    }

    .body-laminate .section-main_inner_whiteblock.mb60 {
        margin: 30px auto 40px;
    }

    .section-inv_title1 {
        margin: 20px auto 40px;
    }

    .section-inv_title_p {
        line-height: 30px;
        font-size: 19px;
        margin-bottom: 20px;
        margin-top: 40px;
    }

    .section-inv_merit_flex {
        flex-direction: column;
    }

    .section-inv_merit_flex_box {
        width: 80%;
        margin: 0 auto;
    }

    .section-inv_merit_flex_box {
        width: 100%;
    }

    .block_movie {
        margin: 20px auto 0;
    }

    .section-inv_4_block {
        margin: 20px auto 0px;
    }

    .section-main_inner .section-inv_merit_flex_box:nth-child(1) {
        width: 80%;
    }

    .section-main_inner .section-inv_merit_flex_box:nth-child(2) {
        width: 100%;
    }

    .body-invisalign .section-main_inner .section-inv_flow_box p.section-inv_flow_box_l {
        width: 29%;
        font-size: 40px;
    }

    .body-invisalign .section-main_inner .section-inv_flow_box .section-inv_flow_box_r {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .body-invisalign .section-main_inner .section-inv_flow_box .section-inv_flow_box_r p.section-inv_flow_title {
        font-size: 20px;
        line-height: 24px;
    }

    .body-invisalign .section-main_inner .section-inv_flow_box .section-inv_flow_box_r p.section-inv_flow_title span {
        font-size: 12px;
        line-height: 16px;
    }

    .body-invisalign .section-main_inner .section-inv_flow_box .section-inv_flow_box_r p {
        width: 95%;
    }

    .section-inv_flexbox {
        width: 100%;
        min-height: inherit;
    }

    .body-invisalign .section-main_inner_h2 {
        line-height: 26px;
        font-size: 18px;
    }

    .body-invisalign .section-main_inner_h2 span {
        font-size: 12px;
        display: block;
    }

    .section-inv_flexbox ul {
        margin: 16px;
    }

    .section-inv_flexbox ul li:nth-child(1) {
        margin-bottom: 10px;
        font-size: 18px;
    }

    .section-main_bg_blue .section-inv_merit_flex_box:nth-child(1) {
        width: 80%;
    }

    .section-main_bg_blue .section-inv_merit_flex_box:nth-child(2) {
        width: 100%;
    }

    .body-invisalign .section-main_inner .section-inv_merit_flex_box p {
        width: 100%;
    }

    .slider-pickup .slick-slide {
        margin: 0px 10px;
    }

    .section-footer_bnr {
        margin: 10px auto 60px;
        width: 100%;
    }

    .section-doctor_treatment_sp {
        width: 100%;
    }

    .body-doctor .section-main_wn {
        padding: 30px 0 0px;
    }

    .section-doctor_banner {
        width: 90%;
        margin: 20px auto;
    }

    .section-doctor_banner2 {
        width: 90%;
        margin: 20px auto 40px;
    }
}

@media screen and (min-width: 769px) {
    .slider-pickup_text {
        right: 10px;
        font-size: 12px;
    }

    .section-doctor_treatment_sp {
        display: none;
    }

    .section-fixed {
        display: none;
    }

    .reason-flex_box:nth-child(1) .reason-flex_box_inner_2,
    .reason-flex_box:nth-child(2) .reason-flex_box_inner_2 {
        min-height: 661px;
    }

    .reason-flex_box:nth-child(3) .reason-flex_box_inner_2,
    .reason-flex_box:nth-child(4) .reason-flex_box_inner_2 {
        min-height: 583px;
    }

    .reason-flex_box:nth-child(5) .reason-flex_box_inner_2,
    .reason-flex_box:nth-child(6) .reason-flex_box_inner_2 {
        min-height: 640px;
    }

    .reason-flex_box:nth-child(7) .reason-flex_box_inner_2,
    .reason-flex_box:nth-child(8) .reason-flex_box_inner_2 {
        min-height: 666px;
    }

    .reason-flex_box:nth-child(9) .reason-flex_box_inner_2,
    .reason-flex_box:nth-child(10) .reason-flex_box_inner_2 {
        min-height: 642px;
    }

    a:hover {
        opacity: 0.85;
    }

    .pc-display {
        display: block;
    }

    .sp-display {
        display: none;
    }

    .section-other_block2_text {
        font-size: 23px;
        margin-bottom: 33px;
    }

    .header-flex {
        max-width: 80px;
        position: fixed;
        right: 0px;
        top: 140px;
        z-index: 2001;
    }

    .header-link {
        width: 100%;
    }

    .body-detail .header-link a:hover {
        opacity: 1;
    }

    .header-flex .header-link:nth-child(1) .header-link_inner {
        background-image: linear-gradient(90deg, rgb(31 119 40 / 79%), rgb(165 219 165) 74%, rgb(126 173 117));
        padding: 20px;
        border-radius: 0px 40px 0px 0px;
        box-shadow: -4px 5px 5px rgba(0, 0, 0, 0.2);
        position: relative;
        z-index: 0;
        overflow: hidden;
    }

    .header-flex .header-link:nth-child(1) .header-link_inner::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 0%;
        height: 100%;
        background-color: #09a03b;
        -webkit-transition: .5s;
        transition: .5s;
    }

    .header-flex .header-link:nth-child(1) .header-link_inner:hover::before {
        width: 100%;
    }

    .header-flex .header-link:nth-child(2) .header-link_inner {
        background-image: linear-gradient(90deg, rgba(28, 129, 165, 1), rgba(200, 218, 225, 1) 74%, rgba(104, 166, 206, 1));
        /*background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.4), rgba(200, 218, 225, 1) 74%, rgba(0, 0, 0, 0.2));*/
        padding: 20px;
        border-radius: 0px 0px 0px 40px;
        box-shadow: -4px 5px 5px rgba(0, 0, 0, 0.2);
        position: relative;
        z-index: 0;
        overflow: hidden;
    }

    .header-flex .header-link:nth-child(2) .header-link_inner::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 0%;
        height: 100%;
        background-color: #04a8d6;
        /*background-color: #ccc;*/
        -webkit-transition: .5s;
        transition: .5s;
    }

    .header-flex .header-link:nth-child(2) .header-link_inner:hover::before {
        width: 100%;
    }

    #header h1.logo {
        margin: 20px 0px 20px 10px;
    }

    #g-navi li span:after {
        content: '|';
        margin-left: 10px;
        margin-right: 10px;
    }

    #g-navi a {
        position: relative;
    }

    #g-navi li {
        transition: 0.5s;
    }

    #g-navi a::after {
        position: absolute;
        left: 2%;
        content: '';
        height: 1px;
        background: #ccc;
        bottom: -1px;
        transform: scale(0, 1);
        transform-origin: center top;
        transition: transform 0.3s;
        width: 66%;
    }

    #g-navi a:hover::after {
        transform: scale(1, 1);
        width: 66%;
    }

    #g-navi li:nth-child(4) a:hover::after {
        width: 50%;
    }

    .section-doctor_block1 {
        width: 90%;
        margin: 0 auto;
    }

    .section-doctor_block2_inner {
        width: 90%;
        gap: 30px;
    }

    .section-doctor_block2 {
        padding-bottom: 40px;
    }

    .section-other_inner {
        width: 90%;
    }

    .section-doctor_block2_inner .section-doctor_block2_img1:nth-child(1) {
        margin-left: 40px;
    }

    .section-other_text1 {
        font-size: 22px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1073px) {
    .section-doctor_block2_img1 {
        margin-top: 10%;
    }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
    #g-navi ul li a {
        font-size: 12px;
        letter-spacing: .02rem;
    }
}

@media screen and (min-width: 769px) and (max-width: 1020px) {
    .section-doctor_block2_img1 {
        margin-top: 17%;
    }

    .section-doctor_block2_slider {
        margin-top: 150px;
    }
}

@media screen and (min-width: 1074px) and (max-width: 1240px) {
    .section-doctor_block2_img1 {
        margin-top: 6%;
    }
}

@media screen and (min-width: 1240px) {
    .section-banner_box_1 {
        margin: 0 auto 80px;
        max-width: 960px;
    }
    .section-banner_box_5 {
        margin: 0 auto 80px;
        max-width: 960px;
    }

    .section-doctor_block2_slider {
        margin-top: 0px;
    }

    .section-doctor_block2_slider .slick-slide,
    .section-doctor_certificate_box {
        margin: 0px 10px;
    }
}

/* 
WordPress化による追記（レスポンシブ）
*/
/* スマホ〜タブレット */
@media screen and (max-width: 900px) {
    /* @media screen and (max-width: 767px) { */
    /* @media screen and (max-width: 1023px) { */

    /*
MVのタイトル
*/
    .body-column .section-top_text2,
    .body-case .section-top_text2 {
        max-width: 248px;
    }

    /*
パンくず
*/
    .breadcrumb {
        margin: 20px auto 23px;
        padding-inline: 20px;
        font-size: 12px;
    }

    /* コラム・症例詳細ページ */
    .body-post-detail .breadcrumb {
        margin: 80px auto 13px;
    }

    /* お知らせ */
    .body-news .breadcrumb {
        margin: 72px auto 20px;
    }

    .breadcrumb-item {
        &:not(:first-child)::before {
            margin-inline: 8px 6px;
        }
    }

    /* 投稿ページ共通レイアウト */
    .layout-post {
        display: block;
        padding-inline: calc((20 / 428) * 100%);
        padding-bottom: 80px;
    }

    .layout-post.--detail {
        margin-top: 20px;
    }

    .layout-post-main {}

    .layout-post-sidebar {
        margin-top: 60px;
    }

    /* 
記事一覧 共通レイアウト
*/
    .post-archive {
        padding-inline: calc((20 / 428) * 100%);
    }

    .post-card a {
        display: block;
        padding: calc((20 / 428) * 100%) calc((24 / 428) * 100%);
    }

    .post-card-thumbnail {
        max-width: 100%;
    }

    .post-card-block {
        margin-top: 20px;
    }

    .post-card-time {
        font-size: 14px;
    }

    .post-card-title {
        font-size: 16px;
        margin-top: 4px;
    }

    .post-card-supervisor {
        margin-top: 16px;
    }

    .post-card-warp {
        display: block;
        margin-top: 16px;
    }

    .post-card-category-list {
        gap: 8px;
    }

    .post-card-keyword-list {
        gap: 8px;
    }

    .post-card-keyword-item {
        /* width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; */
    }

    .post-card-keyword-item span {
        color: #8CB4BC;
    }

    .post-card-keyword-list {
        margin-top: 16px;
    }

    /* ページャー */
    .post-pager {
        padding-inline: min(calc((100 / 428) * 100vw), 100px);
        gap: min(calc((16 / 428) * 100vw), 16px);
    }

    .page-numbers {
        padding: min(calc((4 / 428) * 100vw), 4px) min(calc((8 / 428) * 100vw), 8px);
    }

    .page-numbers.current {}

    .page-numbers.prev,
    .page-numbers.next {
        font-size: clamp(10px, calc((16 / 428) * 100vw), 16px);
    }

    .page-numbers.prev {
        padding-left: min(calc((16 / 428) * 100vw), 16px);
        margin-right: min(calc((24 / 428) * 100vw), 24px);
    }

    .page-numbers.next {
        padding-right: min(calc((16 / 428) * 100vw), 16px);
        margin-left: min(calc((24 / 428) * 100vw), 24px);
    }



    /* サイドバー */
    .post-sidebar-item a {
        background-color: transparent;
        border: 1px solid #8CB4BC;
    }

    .post-sidebar-section.--keyword .post-sidebar-item a {
        border: none;
    }

    /* 
記事詳細 共通レイアウト
*/
    .post-detail-title {
        font-size: 24px;
        margin-top: 8px;
    }

    .post-detail-warp {
        margin-top: 8px;
    }

    /* ブロックエディタ用 */
    .post-detail-content h2 {
        font-size: 20px;
        margin-top: 64px;
    }

    .post-detail-content h3 {
        font-size: 18px;
        line-height: 1.4;
        margin-top: 40px;
    }

    .post-detail-content h3::before {
        content: "";
        display: block;
        width: 4px;
        height: 100%;
        border-radius: 4px;
        background-color: #537a7f;
        position: absolute;
        top: 0;
        left: 0;
    }

    .post-detail-content h3+p {
        margin-top: 24px;
    }

    .post-detail-content h4 {
        font-size: 16px;
        line-height: 1.8;
        margin-top: 24px;
    }

    .post-detail-content table {
        width: 100%;
        border-collapse: collapse;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.8;
        table-layout: fixed;
    }

    .post-detail-content table th,
    .post-detail-content table td {
        padding: 10px;
    }

    .post-detail-content table td {
        border: 1px solid #8CB4BC;
    }

    .post-detail-content table td:nth-child(1) {
        background-color: #C5D3D7;
        width: auto;
        /* width: calc((200 / 804) * 100%); */
        padding: 10px;
        position: relative;
        min-width: 120px;
    }

    .post-detail-content table td:nth-child(1)::before {
        content: "";
        display: inline-block;
        width: 100%;
        height: 2px;
        background-color: #ECF0F3;
        position: absolute;
        bottom: 1px;
        left: 0;
    }

    .post-detail-content table thead th {
        background-color: #8CB4BC;
        border-top: 1px solid #8CB4BC;
        border-left: 1px solid #ECF0F3;
        color: #fff;
        font-weight: 400;
    }

    .post-detail-content table thead th:first-child {
        background-color: #ECF0F3;
        border: 1px solid #8CB4BC;
        color: #333;
    }

    /* YouTubeブロック */
    .post-detail-content .wp-block-embed__wrapper {
        aspect-ratio: 388/244;
    }

    /* シェアボタン */
    .share {
        margin-top: 80px;
    }

    .share-inner {
        display: block;
    }

    .share-text {
        text-align: center;
    }

    .share-block {
        margin-top: 16px;
    }

    .share-inner {
        padding: 30px 15px;
    }

    .share-link {
        color: #537a7f;
        font: initial;
        font-size: 14px;
        font-weight: 400;
        line-height: 1;
        border: 1px solid currentColor;
        border-radius: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 8px 16px;
        appearance: none;
        cursor: pointer;
        transition: 0.3s;
    }

    .share-link:hover {
        opacity: 0.7;
    }

    .share-link::before {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        background: url(../img/icon_copy_link.svg) no-repeat center / contain;
        flex-shrink: 0;
    }

    .share-sns {}

    .share-sns-list {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 16px;
    }

    .share-sns-item {
        width: 32px;
        height: 32px;
        flex-shrink: 0;
    }

    /* URLコピー時のトースト表示 */
    .copy-toast {
        font-size: 16px;
    }

    /* 監修者 */
    .post-detail-supervisor {
        margin-top: 40px;
    }

    /* 記事詳細のページャー */
    .post-detail-pager-back {
        max-width: 160px;
    }

    .post-detail-pager-back a {
        font-size: 14px;
        padding: 14px;
    }

    .post-detail-pager-prev,
    .post-detail-pager-next {
        max-width: 60px;
    }

    .post-detail-pager-prev a,
    .post-detail-pager-next a {
        font-size: 14px;
    }

    /* 404 */
    .error404 .breadcrumb {
        margin: 80px auto 0;
    }
    .error-404-content {
        text-align: left;
        margin-top: 24px;
    }
}

/* トップページのお知らせ一覧は既存サイトではiframeで読み込みしていたため、新サイトではトップページのみにCSSが当たるように */
.body-index #newsWrap .clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.body-index #newsWrap .clearfix {
  display: inline-block;
}
.body-index * html .clearfix {
  height: 1%;
}
.body-index #newsWrap .clearfix {
  display: block;
}
.body-index #newsWrap .title {
  margin-left: 10px;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
}
.body-index #newsWrap .title a {
  color: #537a7f;
  font-weight: bold;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", serif;
}
.body-index ul#newsList {
  margin: 0 0 15px;
  padding: 0;
}
.body-index ul#newsList li {
  color: #666;
  margin: 0;
  padding: 10px 0;
  margin-bottom: 3px;
  border-bottom: 1px dotted #ccc;
  line-height: 1.6;
  list-style-type: none;
  font-size: 14px;
}
.body-index #newsWrap a {
  color: #36f;
  text-decoration: underline;
}
.body-index #newsWrap a:hover {
  color: #039;
  text-decoration: none;
}
.body-index #newsWrap span.up_ymd {
  font-size: 12px;
  letter-spacing: 0.05em;
}
.body-index #newsWrap .catName {
  display: inline-block;
  padding: 5px 8px;
  border: 1px solid #ccc;
  border-radius: 11px;
  font-size: 11px;
  line-height: 100%;
  margin: 0 2px 2px;
  background-color: #537a7f;
  color: #fff;
}
.body-index #newsWrap .newMark {
  display: inline-block;
  border: 1px solid rgb(255, 171, 21);
  padding: 1px 4px;
  font-size: 11px;
  line-height: 100%;
  background: rgb(255, 171, 21);
  color: #fff;
  box-shadow: 1px 1px 1px #999;
  border-radius: 8px;
  font-style: italic;
}
.body-index #newsWrap .comment {
  display: block;
  padding: 3px 0;
  float: left;
  overflow: hidden;
  font-size: 13px;
  letter-spacing: 0.05em;
}
.body-index #newsWrap .thumbNailWrap {
  display: none;
  width: 110px;
  float: left;
  height: 80px;
  overflow: hidden;
}

  .body-index #newsWrap .title {
    margin-left: 0px;
  }
  .body-index #newsWrap .comment {
    font-size: 10px;
    width: 700px;
}
.body-index #newsWrap .comment p {
    max-width: 565px;
    overflow: hidden; /* はみ出た部分を非表示 */
    white-space: nowrap;
    text-overflow: ellipsis; /* 語尾を3点リーダーに */
  }
  .body-index #newsWrap .title a {
    font-size: 12px;
  }
  .body-index #newsWrap span.up_ymd {
    font-size: 11px;
  }
  .body-index #newsWrap .catName {
    padding: 3px 8px;
  }
  .body-index ul#newsList li {
    padding: 0px;
  }

  /* iframeじゃなくなるので、明示的に最大幅を指定 */
  .body-index .section-news_flexbox > #newsWrap {
    max-width: 700px;
  }

  /* トップのバナー部分WP化中に更新されたためその内容を反映 */
  .section-banner_3_block {
    display: flex;
    gap: 10px;
    max-width: 960px;
    margin: 0 auto 40px;
}
.section-banner_3_box {
    width: calc((100% - 20px) / 3);
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 768px) {
     .section-banner_3_block {
        width: 90%;
        margin: 0 auto 20px;
    }
}



/* single-menu.phpページ専用スタイル */
.pg-menu--case .post-detail-pager-back{
    margin-top: 40px;
    margin-inline: auto;
}
.pg-menu--case{
    padding-block: 80px;
    background: #ecf0f3;
}
.pg-menu--case_inner{
    margin-inline: auto;
    max-width: 1240px;
    width: 95%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media screen and (min-width: 901px) {
    .pg-menu--case_inner{
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (max-width: 768px) {
    .pg-menu--case_inner{
        width: 90%;
    }
}
.single-menu .layout-post {
    display: block;
    padding: 0;
}

.single-menu .post-card a {
    display: block;
    padding: calc((20 / 428) * 100%) calc((24 / 428) * 100%);
    background-color: #fff;
}

.single-menu .post-card-thumbnail {
    max-width: 100%;
}

.single-menu .post-card-block {
    margin-top: 20px;
}

.single-menu .post-card-time {
    font-size: 14px;
}

.single-menu .post-card-title {
    font-size: 16px;
    margin-top: 4px;
}

.single-menu .post-card-warp {
    display: block;
    margin-top: 16px;
}

.single-menu .post-card-category-list {
    gap: 8px;
}

.single-menu .post-card-keyword-list {
    gap: 8px;
}

.single-menu .post-card-keyword-item span {
    color: #8CB4BC;
}

.single-menu .post-card-keyword-list {
    margin-top: 16px;
}

@media screen and (max-width: 768px) {
    .single-menu .post-card a {
        display: block;
        padding: calc((20 / 428) * 100%) calc((24 / 428) * 100%);
    }

    .single-menu .post-card-thumbnail {
        max-width: 100%;
    }

    .single-menu .post-card-block {
        margin-top: 20px;
    }

    .single-menu .post-card-time {
        font-size: 14px;
    }

    .single-menu .post-card-title {
        font-size: 16px;
        margin-top: 4px;
    }

    .single-menu .post-card-warp {
        display: block;
        margin-top: 16px;
    }

    .single-menu .post-card-category-list {
        gap: 8px;
    }

    .single-menu .post-card-keyword-list {
        gap: 8px;
    }

    .single-menu .post-card-keyword-item span {
        color: #8CB4BC;
    }

    .single-menu .post-card-keyword-list {
        margin-top: 16px;
    }
}
