/* ================================
FAQページ基本セット
================================ */
:root {
    --main-color: #916C3E;
    --main-font : 'Noto Sans JP', sans-serif;
}

/* 見出しボタン一覧 */
.p-buttons {
    display        : flex;
    flex-wrap      : wrap;
    justify-content: center;
    gap            : 10px;
    margin-top     : 3rem;

    @media screen and (max-width: 768px) {
        margin-right: 30px;
    }
}

.p-buttons .btn {
    font-size  : 14px;
    width      : 49%;
    height     : auto !important;
    margin     : 0 !important;
    line-height: 1.35;
    text-align : left;

    @media screen and (max-width: 768px) {
        width: 100% !important;
    }
}

/* ボタン矢印（すべて中央に寄せる場合は以下cssは削除、HTMLの各ボタンaタグ内に「 →」を追加） */
.p-buttons .btn:after {
    content    : "→";
    display    : block;
    margin-left: auto;
}

/* 初期設定 */
@media (min-width: 769px) {
    .is-sp {
        display: none;
    }
}

@media (max-width: 768px) {
    .is-pc {
        display: none;
    }
}

.p-page p:not(:last-child) {
    margin-bottom: 1.5em;
}

.p-text--sub {
    font-size: 0.9em;
}

.p-indent1 {
    display     : inline-block;
    padding-left: 1em;
    text-indent : -1em;
}

/* margin-top */
.mt_0 {
    margin-top: 0px !important;
}

.mt_10 {
    margin-top: 10px !important;
}

.mt_20 {
    margin-top: 20px !important;
}

.mt_30 {
    margin-top: 30px !important;
}

.mt_40 {
    margin-top: 40px !important;
}

.mt_50 {
    margin-top: 50px !important;
}

.mt_60 {
    margin-top: 60px !important;

    @media screen and (max-width: 768px) {
        margin-top: 30px !important;
    }
}

.mt_70 {
    margin-top: 70px !important;

    @media screen and (max-width: 768px) {
        margin-top: 40px !important;
    }
}

.mt_90 {
    margin-top: 90px !important;

    @media screen and (max-width: 768px) {
        margin-top: 45px !important;
    }
}

/* margin-bottom */
.mb_10 {
    margin-bottom: 10px !important;
}

.mb_20 {
    margin-bottom: 20px !important;
}

.mb_30 {
    margin-bottom: 30px !important;
}

.mb_40 {
    margin-bottom: 40px !important;
}

.mb_50 {
    margin-bottom: 50px !important;
}

.mb_60 {
    margin-bottom: 60px !important;

    @media screen and (max-width: 768px) {
        margin-bottom: 30px !important;
    }
}


/* CTAボックス */
.p-ctabox {
    text-align   : center;
    width        : fit-content;
    margin-inline: auto;
    border       : 1px solid var(--main-color);
    padding      : 1rem 2rem;
    margin-top   : 3rem;

    @media screen and (max-width: 768px) {
        width     : 100%;
        box-sizing: border-box;
    }
}

.p-ctabox__title {
    font-size    : 22px !important;
    font-weight  : bold;
    margin-bottom: 1rem;
    text-align   : center;

    @media screen and (max-width: 768px) {
        font-size: 5.5vw !important;
    }
}

/* 左右寄せ */
.p-right {
    width      : fit-content;
    margin-left: auto;

    @media screen and (max-width: 768px) {
        margin-inline: auto;
    }
}

.p-left {
    width       : fit-content;
    margin-right: auto;

    @media screen and (max-width: 768px) {
        margin-inline: auto;
    }
}

.p-box {
    padding   : 1.25em;
    background: #e3decb;
}

.p-box .p-box__title {
    font-size    : 1.15em;
    font-weight  : bold;
    margin-bottom: 0.5em;
}


/* ================================
ページ固有セット
================================ */
#p-prevention .service__caries .el__box .el__item p {
    padding-right: 10px;
}

#p-prevention .el__link {
    margin-top       : 0px;
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-flex : 1;
    -ms-flex-positive: 1;
    flex-grow        : 1;
    -webkit-box-pack : justify;
    -ms-flex-pack    : justify;
    justify-content  : space-between;
}

#p-prevention .el__link>div {
    -ms-flex-preferred-size: 49%;
    flex-basis             : 49%;
}

#p-prevention .el__link .btn {
    font-size  : 14px;
    min-width  : auto;
    line-height: 1.35;
}


#p-prevention .section__title {
    font-size  : 28px;
    font-weight: bold;
    color      : #4d4d4d;
    line-height: 35px;
}

#p-prevention .section__title.style-2 span {
    display      : inline-block;
    background   : #00A79B;
    padding      : 0 17px;
    font-weight  : bold;
    color        : #fff;
    margin-bottom: .5em;
}

@media (max-width: 768px) {
    #p-prevention .section__title {
        font-size: 26px;
    }

    #p-prevention .section__title.style-1 {
        font-size: 24px;
    }
}

#p-prevention .service__caries.pt_1:before {
    display: none;
}

#p-prevention .implant_features3 {
    width          : 100%;
    display        : flex;
    flex-wrap      : wrap;
    justify-content: space-between;
    margin         : 3em auto 0;
}

#p-prevention .implant_features3 li {
    width        : calc(100% / 3.6);
    margin       : 0 auto;
    border-radius: 50%;
    background   : #b8ac7d;
    background   : linear-gradient(to top, #b8ac7d, #b8ac7d, #d0c8a8)
}

#p-prevention .implant_features3 li .circle_height {
    position   : relative;
    padding-top: 100%;
    height     : 0;
}

#p-prevention .implant_features3 li .circle_height p {
    position   : absolute;
    top        : 50%;
    left       : 50%;
    transform  : translate(-50%, -50%);
    margin     : 0;
    text-align : center;
    width      : 70%;
    line-height: 1.4;
    color      : #fff;
    font-size  : 1.1em;
}

#p-prevention .implant_catch2 {
    margin-top : 1.5em;
    background : #E3DECB;
    font-size  : 20px;
    font-weight: bold;
    color      : #4d4d4d;
    line-height: 35px;
    text-align : center;
    padding    : .25em 0;
}

@media (max-width: 768px) {
    #p-prevention .implant_features3 li {
        width: calc(100% / 3.3);
    }

    #p-prevention .implant_features3 li .circle_height p {
        font-size: 1em;
    }

    #p-prevention .service__caries .el__list li {
        font-size    : 18px;
        margin-bottom: .5em;
    }
}

#p-prevention .home-contact__title span.text01 {
    display      : block;
    margin-bottom: -.5em;
    font-size    : 1.4em;
    font-weight  : bold;
}

#p-prevention .ucolumnFlex .txt {
    flex      : 1;
    overflow  : hidden;
    order     : 2;
    padding   : 0 20px;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    #p-prevention .ucolumnFlex .txt p {
        font-size  : 16px;
        line-height: 1.7;
    }
}

#p-prevention .ucolumnSec h3 {
    font-size: 19px;
    margin   : 1em auto;
}

@media (max-width: 768px) {
    #p-prevention .ucolumnSec h3 {
        font-size  : 18px;
        margin     : 0 auto .75em;
        padding-top: 2em;
    }
}

#p-prevention .border06 {
    display      : inline-block;
    border-bottom: 1px solid #000;
}

#p-prevention .border04 {
    border-left : 5px solid #00A99D;
    padding-left: 10px;
    text-align  : left;
}

@media (max-width: 768px) {
    #p-prevention .ucolumnSec h3.border04 {
        padding-top: 0;
    }
}

#p-prevention .service__caries.tokucho {
    margin-top: 20px;
}

#p-prevention .service__caries__content.tokucho .title {
    font-size    : 19px;
    font-weight  : bold;
    line-height  : 27px;
    margin-bottom: 20px;
    margin-top   : 0px;
}

#p-prevention .service__caries .el__list.tokucho li {
    text-align   : left;
    font-weight  : normal;
    margin-bottom: .5em;
}

@media (max-width: 768px) {
    #p-prevention .service__caries .el__list.tokucho li {
        font-size  : 16px;
        line-height: 1.7;
    }
}

#p-prevention .service__caries .el__list.tokucho li::first-line {
    color      : #00a99d;
    font-weight: bold;
}

#p-prevention .section__title.style-2.qa {
    font-size: 20px;
}

#p-prevention .section__title.style-2.qa span {
    padding: 2px 28px;
}

#p-prevention .tokucho_nexttext {
    font-size  : 16px;
    line-height: 1.7;
    margin-top : 1em;
}

@media (max-width: 768px) {
    #p-prevention .tokucho_nexttext {
        margin: 1em 1em 0 -1em;
    }
}

#p-prevention br.is-sp {
    display: none;
}

@media (max-width: 768px) {
    #p-prevention br.is-sp {
        display: inline;
    }

    #p-prevention br.is-pc {
        display: none;
    }
}

#p-prevention .staff-doctor-2 dt {
    border-bottom : 1px solid #eee;
    padding-bottom: .5em;
    margin        : 0 0 .5em;
    padding-left  : 1em;
    text-indent   : -1em;
    font-weight   : bold;
}

#p-prevention .staff-doctor-2 dt h3 {
    font-size: 16px;
    margin   : 0;
}

#p-prevention .staff-doctor-2 dd {
    padding-left: 1em;
    text-indent : -1em;
    margin      : .5em 0 2em 1em;
}

#p-prevention .staff-doctor-2 dd::first-letter {
    font-weight: bold;
    color      : #00a79b;
}

@media (max-width: 768px) {
    #p-prevention .staff-doctor-2 dl {
        font-size  : 1.1em;
        line-height: 1.7;
    }
}

#p-prevention .service__caries__content.green {
    background: #B2E4E1;
}

#p-prevention .service__caries__content.green .excerpt {
    font-size : 20px;
    text-align: center;
}

#p-prevention .implant_allprice {
    width: 100%;
}

#p-prevention .implant_allprice .abouttext {
    color: #00a99d;
    ;
    text-align : center;
    font-size  : 1.2em;
    margin     : 2em auto .5em;
    font-weight: bold;
}

#p-prevention .implant_allprice .inner {
    width     : 90%;
    margin    : 0 auto 40px;
    padding   : 20px 20px 20px 20px;
    box-sizing: border-box;
    background: #ddf3f2;
}

#p-prevention .implant_allprice .inner ul {
    width: 100%;
}

#p-prevention .implant_allprice .inner ul li {
    width          : 100%;
    display        : flex;
    flex-wrap      : wrap;
    justify-content: space-between;
    align-items    : center;
    position       : relative;
    margin-bottom  : 50px;
    padding        : 10px 20px;
    background     : #fff;
    box-sizing     : border-box;
    font-size      : 1.1em;
    font-weight    : bold;
}

#p-prevention .implant_allprice .inner ul li:after {
    content    : "+";
    width      : 100%;
    text-align : center;
    font-size  : 50px;
    font-weight: bold;
    color      : #00A79B;
    position   : absolute;
    top        : 80%;
    left       : 50%;
    transform  : translate(-50%, 0%);
}

#p-prevention .implant_allprice .inner ul li:last-child {
    margin-bottom: 0px;
}

#p-prevention .implant_allprice .inner ul li:last-child:after {
    display: none;
}

#p-prevention .implant_allprice .inner ul li .photo {
    width: 20%;
}

#p-prevention .implant_allprice .inner ul li .photo img {
    max-width: 100%;
    height   : auto;
    border   : 1px solid #eee;
}

#p-prevention .implant_allprice .inner ul li p {
    width: 75%;
}

#p-prevention .implant_allprice .inner .noticetext {
    padding-left: 1em;
    text-indent : -1em;
    margin      : 1em 0;
    font-size   : .9em;
}

#p-prevention .implant_allprice .inner ul li p.wide {
    width    : 100%;
    font-size: .9em;
}

#p-prevention .flow_ol {
    width : 90%;
    margin: 3em auto;
}

@media (max-width: 768px) {
    #p-prevention .flow_ol {
        padding: 0 0 0 1em;
    }
}

#p-prevention .flow_ol li {
    list-style   : none;
    margin-bottom: 10px;
    font-size    : 1.1em;
    line-height  : 1.7;
}

#p-prevention .flow_ol li .fl {
    display    : block;
    margin-left: -1em;
    font-weight: bold;
    color      : #00a79b;
    font-size  : 1.2em;
}

#p-prevention .flow_ol li .icon_ya {
    text-align: center;
}

#p-prevention .flow_ol li .icon_ya img {
    max-width: 40px;
    height   : auto;
    margin   : 20px 0 0 -40px;
}

@media (max-width: 768px) {
    #p-prevention .flow_ol li .icon_ya img {
        margin: 20px 0 0 -20px;
    }
}

#p-prevention .clinic-facilities.h_ctrl {
    padding: 20px 0 0;
}

#p-prevention .clinic-facilities .el__box {
    position     : relative;
    padding      : 50px 0 0;
    margin-top   : 0;
    margin-bottom: 20px;
}

#p-prevention .shutten {
    width     : 80%;
    font-size : .8em;
    border    : 1px solid #ddd;
    padding   : 30px 20px;
    box-sizing: border-box;
    margin    : 1em auto;
}

#p-prevention .shutten .shutten_photo {
    text-align: center;
}

#p-prevention .shutten .shutten_photo img {
    margin-bottom: 3em;
    max-width    : 90%;
    height       : auto;
}

#p-prevention .clinic-facilities .el__box .ba {
    width          : 84%;
    margin         : 0 auto 40px;
    display        : flex;
    flex-wrap      : wrap;
    justify-content: space-between;
}

#p-prevention .clinic-facilities .el__box .ba li {
    width     : 48%;
    font-size : .9em;
    text-align: center;
}

#p-prevention .clinic-facilities .el__box .ba li .ba_photo img {
    max-width: 100%;
    height   : auto;
}

#p-prevention .clinic-facilities .el__box .ba_only1 {
    width     : 84%;
    margin    : 0 auto 40px;
    text-align: center;
}

#p-prevention .clinic-facilities .el__box .ba_only1 img {
    max-width: 80%;
    height   : auto;
}

/*250509*/
/*診療案内にも症例*/
#p-services .service__caries.pt_1:before {
    display: none;
}

#p-services .section__title {
    font-size  : 28px;
    font-weight: bold;
    color      : #4d4d4d;
    line-height: 35px;
}

#p-services .clinic-facilities.h_ctrl {
    padding: 20px 0 0;
}

.service__caries:before {
    position  : absolute;
    left      : 0;
    top       : 0;
    content   : "";
    width     : 80%;
    height    : 232px;
    background: #B8AC7D;
}

#p-services .clinic-facilities .el__box {
    position     : relative;
    padding      : 50px 0 0;
    margin-top   : 0;
    margin-bottom: 20px;
}

#p-services .clinic-facilities .el__box .ba {
    width          : 84%;
    margin         : 0 auto 40px;
    display        : flex;
    flex-wrap      : wrap;
    justify-content: space-between;
}

#p-services .clinic-facilities .el__box .ba li {
    width     : 48%;
    font-size : .9em;
    text-align: center;
}

#p-services .clinic-facilities .el__box .ba li .ba_photo img {
    max-width: 100%;
    height   : auto;
}

#p-services .clinic-facilities .el__box .ba_only1 {
    width     : 84%;
    margin    : 0 auto 40px;
    text-align: center;
}

#p-services .clinic-facilities .el__box .ba_only1 img {
    max-width: 80%;
    height   : auto;
}

#p-services .btn_more {
    text-align: center;
    margin    : 40px auto;
}

#p-services .btn_more a {
    display         : inline-block;
    background-color: #00A99D;
    border-radius   : 5px;
    padding         : 10px 32px;
    color           : #fff;
    line-height     : 1.4;
    font-size       : 1.1em;
}

#p-services .btn_more a:before {
    content     : '>';
    display     : inline-block;
    margin-right: 10px;
}