/*=======================================

threadlift_young 固有css

=======================================*/



/*=======================================
共通始まり */

@media screen and (max-width:767px) {
    .spmg0 {
        margin: 0 !important;
    }

    .spmg50 {
        margin: 50px !important;
    }
}


* {
    line-height: 1.6;
    color: #453f41;
    font-family: YuMincho,
        /* Mac用 */
        'Yu Mincho',
        /* Windows用 */
        serif;
}

img {
    width: 100%;
    vertical-align: bottom;
}

video {
    width: 100%;
}

li {
    line-height: 1.6;
    font-size: min(28px, calc(calc(28/750) * 100vw))
}

p {
    font-size: min(28px, calc(calc(28/750) * 100vw))
}

table {
    border-collapse: collapse;
    border: solid 1px #f57dbc;
    font-size: 18px;
}

th {
    background-color: #f57dbc;
    text-align: center;
    border: solid 1px #f57dbc;
    height: 30px;
    color: #ffffff;
}

.price__table td {
    text-align: center;
    border: solid 1px #f57dbc;
    height: 50px;
}

.wrap1000 {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.wrap750 {
    width: 750px;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.bold {
    font-weight: bold;
}

.ff24 {
    font-size: 24px;
}

.ff32 {
    font-size: 32px;
}

.ff40 {
    font-size: 40px;
}

@media screen and (max-width:767px) {
    .spff18 {
        font-size: 18px;
    }

    .spff20 {
        font-size: 20px;
    }

    .spff24 {
        font-size: 24px;
    }

    .spff32 {
        font-size: 32px;
    }

    .spff40 {
        font-size: 40px;
    }
}

.t-left {
    text-align: left;
}

@media screen and (max-width:767px) {
    .spt-left {
        text-align: left !important;
    }

    .sppl70 {
        padding-left: 70px;
    }
}


.bg-none {
    background: none;
}

.bgcenter {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
}

.bgcenter::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 57.18%;
}

.bgcenter img {
    width: auto;
    max-width: none;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
    .bgcenter::before {
        display: none;
    }

    .bgcenter img {
        width: 100%;
        height: auto;
        position: static;
        transform: none;
    }
}

.c-white {
    color: #ffffff;
}

.c-ff516d {
    color: #ff516d;
}

.c-f57dbc {
    color: #f57dbc;
}

.uline-fff47c {
    background: linear-gradient(transparent 70%, #FFFF00 100%);
}

.uline-f57dbc {
    width: fit-content;
    /*border-bottom: 2px solid #f57dbc;*/
}

.w-auto {
    width: auto;
}

.icn_modal {
    display: block;
}

.slash {
    position: relative;
}

.slash::before {
    content: "";
    position: absolute;
    background-color: #333333;
    width: 60px;
    height: 1px;
    transform: rotate(45deg);
    left: 15%;
    top: 50%;
}

.slash::after {
    content: "";
    position: absolute;
    background-color: #333333;
    width: 60px;
    height: 1px;
    transform: rotate(-45deg);
    right: 15%;
    top: 50%;
}

@media screen and (max-width:767px) {
    .slash::before {
        left: 5%;
    }

    .slash::after {
        right: 5%;
    }
}

.next {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: -4%;
    z-index: 50;
}

@media screen and (max-width:767px) {
    .next {
        bottom: -4%;
    }
}

.next_arrow_01 img,
.next_arrow_02 img {
    width: min(140px, calc(calc(140/750) * 100vw));
}


.modal_list {
    max-width: 750px;
    box-sizing: border-box;
}

/* 共通終わり
=======================================*/


/*=======================================
ヘッダー 始まり */

@media screen and (max-width:767px) {
    header {
        z-index: 100;
    }
}

.section_header_web img {
    height: auto;
}

/* ヘッダー 終わり
=======================================*/


/*=======================================
FV 始まり */

.fv {
    margin-top: 100px;
    overflow: hidden;
}

.fv__inner {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
}

.fv__inner::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 57.18%;
}

.fv__inner img {
    width: auto;
    max-width: none;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
    .fv {
        margin-top: 50px;
    }

    .fv__inner::before {
        display: none;
    }

    .fv__inner img {
        width: 100%;
        height: auto;
        position: static;
        transform: none;
    }
}

/* FV 終わり
=======================================*/


/*=======================================
クーポン始まり */


.limit_btn {
    background-image: url('../img/threadlift_young/coupon_bg.png');
    text-align: center;
}

@media screen and (max-width: 767px) {}

.btnwrap {
    width: 90%;
    margin: 0 auto;
    text-align: center;
}

.change_btn {
    position: relative;
    display: inline-block;
}

.change_btn::before {
    content: '';
    display: block;
    position: absolute;
    background-size: 100%;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    transition: ease .4s;
}

.change_btn:hover::before {
    opacity: 1;
}

/* クーポン終わり
======================================= */


/*=======================================
onayami 始まり */

.onayami {
    overflow: hidden;
}

.onayami__wrap1__inner .onayami__ttl span {
    background: linear-gradient(transparent 70%, #f57dbc 100%);
}

.onayami__wrap1 {
    position: relative;
    background: url(../img/threadlift_young/onayami_bk01_sp.jpg)no-repeat top center/cover;
}

.onayami__wrap1__inner {
    display: flex;
    justify-content: flex-end;
}

.onayami__wrap1__content {
    width: fit-content;
    margin: min(200px, calc(calc(200/750) * 100vw)) min(100px, calc(calc(100/750) * 100vw)) min(100px, calc(calc(100/750) * 100vw));
}

.checkbox li {
    font-size: min(28px, calc(calc(28 / 750)* 100vw));
    text-indent: max(-28px, calc(-1*(calc(28 / 750)* 100vw)));
    padding-left: min(28px, calc(calc(28 / 750)* 100vw));
}

.checkbox li::before {
    content: "";
    padding-left: min(28px, calc(calc(28/750) * 100vw));
    line-height: 1.5;
    background: url(../img/threadlift_young_meta/checkbox.png) no-repeat left / contain;
}

.onayami__wrap2 {
    position: relative;
    background: url(../img/threadlift_young/onayami_bk02_pc.jpg)no-repeat top center / cover;
}

.onayami__wrap2__fukidashi {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.onayami__wrap4 p,
.onayami__wrap4 p span {
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

.onayami__wrap4 p {
    font-size: min(36px, calc(calc(36/750) * 100vw));
}

.onayami__wrap2__fukidashi p {
    width: min(327.5px, calc(calc(327.5/750) * 100vw));
}

/* onayami 終わり
=======================================*/


/*=======================================
注意喚起 始まり */

.attention {
    background-color: #333333;
}

.attention__wrap {
    box-shadow: none;
}

.js__unit__header {
    background-color: #656363;
}

.js__unit__header::before {
    content: "";
    padding-left: 40px;
    line-height: 1.6em;
    background: url(../img/threadlift_young/caution.png) left 0px top 3px no-repeat;
    background-size: 28px auto;
}

/* 注意喚起 終わり
======================================= */


/*=======================================
point 始まり */

.point {
    background-color: #FEF1F9;
}

.point_ttl {
    padding-top: min(50px, calc(calc(50/750) * 100vw));
    padding-bottom: min(50px, calc(calc(50/750) * 100vw));
    padding-left: min(195px, calc(calc(195/750) * 100vw));
    font-weight: bold;
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

.point1__box,
.point2__box,
.point3__box {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.point1__box,
.point2__box {
    flex-direction: column;
}

.point1__box,
.point2__block,
.point3__block {
    border-top: 2px solid #f57dbc;
}


.point1__box p,
.point1__box p span,
.point2__box p,
.point2__box p span,
.point3__box p {
    /*width: calc(100% / 2 - 10px);*/
    line-height: 1.6;
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

.point3__box p {
    width: calc(100% / 2 - 10px);
}

.point2__block p,
.point2__block p span,
.point3__block p,
.point3__block p span {
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

@media screen and (max-width:767px) {

    .point1__box p,
    .point2__box p {
        width: 100%;
    }
}

.point1,
.point2,
.point3 {
    border: solid 1px #f57dbc;
    position: relative;
}

.point__icon {
    position: absolute;
    left: -1%;
    top: 5%;
    width: min(176px, calc(calc(176/750) * 100vw));
}

.point2__list__outer,
.point2__list__inner {
    border: solid 1px #f57dbc;
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

/* point 終わり
=======================================*/


/*=======================================
case 始まり */

.img_flex {
    flex-direction: column;
}

.img_flex.col3 li {
    width: 100%;
    max-width: 570px;
    margin-right: 0;
}


/* case 終わり
======================================= */


/*=======================================
price 始まり */

.price {
    background-color: #FEF1F9;
}

/* price 終わり
=======================================*/


/*=======================================
model 始まり */

.model__inner {
    border: 1px solid #f57dbc;
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

.model__inner p {
    line-height: 1.6;
}

.model__inner p span {
    line-height: 1.6;
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

.kirakira::before {
    content: "";
    background: url(../img/threadlift_young/kirakira1.png) left 0px top 3px no-repeat;
    background-size: 15px auto;
    padding-left: 20px;
}

.kirakira::after {
    content: "";
    background: url(../img/threadlift_young/kirakira2.png) left 0px top 3px no-repeat;
    background-size: 15px auto;
    padding-left: 20px;
}

.model__ttl {
    border-bottom: 2px solid #f57dbc;
}

/* model 終わり
======================================= */


/*=======================================
doctor 始まり */

.doctor p {
    line-height: 1.6;
}

.doctor__block1 {
    position: relative;
    background: url(../img/threadlift_young/doctor_bk.jpg) no-repeat;
    background-size: cover;
}

.doctor__block1 span {
    bottom: -4%;
}

.doctor__block2,
.doctor__block3,
.doctor__block4 {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.doctor__block2 ul,
.doctor__block3 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.doctor__block2 li,
.doctor__block3 li {
    width: calc(100%/2 - 10px);
}

@media screen and (max-width:767px) {
    .doctor__block3 ul {
        flex-direction: column;
    }

    .doctor__block3 li {
        width: 100%;
    }
}

/* doctor 終わり
=======================================*/


/*=======================================
FAQ 始まり */

.faq {
    margin: 0 auto;
    background: #f9f9f9;
}

.faq__list {
    position: relative;
    z-index: 10;
}

.faq__question,
.faq__answer {
    z-index: 1;
    cursor: pointer;
    font-size: clamp(14px, 2.2vw, 22px);
    position: relative;
    line-height: 1.5;
    padding: 15px 50px 15px 15px;
}

.faq__question,
.faq__answer_txt {
    display: flex;
    align-items: center;
}

.faq__question {
    background: #fff;
    border-bottom: none;
    transition: all 0.4s;
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

.faq__question:hover {
    background: #ffeefc;
}

.faq__answer {
    background: #fef4fa;
    border-bottom: none;
}

.faq__question::before,
.faq__question::after,
.flow__ttl::before,
.flow__ttl::after {
    display: inline-block;
    content: "";
    position: absolute;
    width: 24px;
    height: 2px;
    top: 50%;
    right: clamp(35px, 5vw, 60px);
    background-color: #f57dbc;
    transition: .2s;
    width: clamp(13px, 2.6vw, 26px);
    height: 2px;
    right: 15px;
    top: 45%;
}

.faq__question::after {
    content: '';
    transform: rotate(90deg);
}

.faq__question.js--accordion-open::after {
    transform: rotate(0deg);
}

.flow__ttl.js--accordion-open::after {
    transform: rotate(90deg);
}

.faq__question span,
.faq__answer span {
    margin-left: 55px;
    display: block;
}

.faq__item {
    margin-bottom: 20px;
}

.faq__item:last-child dd {
    border-top: none;
}

.question_icon {
    position: absolute;
    top: 24px;
}

.faq__question_txt,
.faq__question_txt span,
.faq__answer_txt span {
    font-weight: bold;
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro' !important;
}

.faq__question_txt,
.faq__answer_txt {
    position: relative;
}

.faq__question_txt::before,
.faq__answer_txt::before {
    content: '';
    display: block;
    width: clamp(20px, 3.8vw, 38px);
    height: clamp(30px, 4.6vw, 46px);
    position: absolute;
    top: -4px;
    left: 0;
}

.faq__question_txt::before {
    background: url('../img/threadlift_young/question.png') no-repeat;
    background-size: 100%;
}

.faq__answer_txt::before {
    background: url('../img/threadlift_young/answer.png') no-repeat;
    background-size: 100%;
}

.accordion_option {
    display: none;
    margin: 0;
}

dl.accordion {
    overflow: hidden;
}

dl.accordion>dt::before {
    color: #fff;
    position: absolute;
    top: 0.5em;
    left: 0.5em;
}

dl.accordion>dd {
    background: #fff;
    padding: 0.5em 0.5em 0.5em 2em;
    position: relative;
    display: none;
}

dl.accordion>dd::before {
    position: absolute;
    top: 0.5em;
    left: 0.5em;
}

@media screen and (max-width: 767px) {

    .faq__question,
    .faq__answer {
        font-size: 14px;
        padding: 15px 43px 15px 15px;
    }

    .faq__question::before,
    .faq__question::after {
        width: 13px;
        height: 1px;
        right: 15px;
        top: 45%;
    }

    .faq__question span,
    .faq__answer span {
        margin-left: 30px;
    }

    .faq__question_txt::before,
    .faq__answer_txt::before {
        width: 20px;
        height: 30px;
        top: 0px;
    }
}

/* FAQ 終わり
======================================= */


/*=======================================
flow 始まり */

.flow__ttl {
    position: relative;
    background: #FEF1F9;
    border: 1px solid #f57dbc;
}

.flow__ttl p,
.flow__block p {
    font-family: '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

.flow__ttl--step1,
.flow__ttl--step2,
.flow__ttl--step3,
.flow__ttl--step4,
.flow__ttl--step5 {
    position: absolute;
    top: -20%;
    left: 2%;
}

.flow__block {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    border: 1px solid #f57dbc;
}


.flow__block p:first-child {
    padding-bottom: min(20px, calc(calc(20/750) * 100vw));
}

.flow__block p:nth-child(2) {
    line-height: 1.6;
}


/* flow 終わり
=======================================*/

/*=======================================
flow 始まり */

#clinic dl.accordion dl dd {
    width: calc(100% - 6em);
}

@media screen and (max-width:767px) {
    #clinic dl.accordion dl dd {
        width: calc(100% - 8em);
    }
}

#clinic dl.accordion>dt {
    background: #f57dbc;
}

/* FAQ 終わり
======================================= */

.p-tiktok-sp {
    padding: 32px 0 10px;
    /* background-color: #fffff2; */
    height: auto;
    /* margin-top: 150px; */
}

/*20240410_TikTok追加CSS*/
.u-inner {
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: calc(100% - min(60px, calc(calc(60/750) * 100vw))) !important;
}

.fv_area-tiktok-inner-pc {
    width: 100%;
}

.tiktok-video a video {
    height: clamp(330px, 43vw, 300px);
}

.p-tiktok-pc__video {
    display: none;
}

/* .c-container
     ========================================================================== */

.c-container {
    margin-left: auto;
    margin-right: auto;
}

/* width */

.c-container.-width-pc-md {
    width: 750px;
}

.c-container.-width-pc-lg {
    width: 750px;
    background-color: #ffece6;
}

@media screen and (max-width: 640px) {

    .c-container.-width-pc-md,
    .c-container.-width-pc-lg {
        width: auto;
    }

    .c-container.-padding-sp-md {
        padding-left: calc(100vw / 375 * 15);
        padding-right: calc(100vw / 375 * 15);
    }
}

/* .p-tiktok-sp
     ========================================================================== */

.p-tiktok-sp {
    padding: 32px 0 32px;
    /*background-color: #fffff2;*/
    /*カウントダウン高さ調整*/
    height: auto;
    /*margin-top: 150px;*/
}

.p-tiktok-sp__image {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

@media screen and (max-width: 640px) {
    .p-tiktok-sp__image {
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
}

/*20240410_TikTok追加CSS*/




/* 20241122 上書き調整(FV、CTA改修)
================================================================================ */

/* カウントダウンCTA */
.c-web-coupon,
.c-web-coupon__lead {
    width: min(626px, calc(calc(626/750) * 100vw));
    margin: 0 auto;
    display: block;
}

.with-featherlight .featherlight .featherlight-content:has(#c-web-coupon__use) .featherlight-close-icon {
    top: unset;
    bottom: -50px;
    left: 0;
    right: 0;
    margin: auto;
    background-color: #fff;
    width: 40px;
    height: 40px;
}

.with-featherlight .featherlight .featherlight-content:has(#c-web-coupon__use) .featherlight-close-icon:before,
.with-featherlight .featherlight .featherlight-content:has(#c-web-coupon__use) .featherlight-close-icon:after {
    background: #000;
    height: 25px;
}

.c-web-coupon__use {
    width: min(240px, calc(calc(240/750) * 100vw));
    margin: 0 auto;
    display: block;
}

.c-web-coupon__use--scroll {
    overflow-y: scroll;
    /*width: 100%!important;
  height: 100%!important;*/
}

.with-featherlight .featherlight .featherlight-content #c-web-coupon__use,
.with-featherlight .featherlight .featherlight-content {
    padding: 0;
}

.with-featherlight .featherlight .featherlight-content:has(#c-web-coupon__use),
.with-featherlight .featherlight .featherlight-inner#c-web-coupon__use {
    border-radius: min(30px, calc(calc(30 / 750) * 100vw));
}

.with-featherlight .featherlight .featherlight-inner#c-web-coupon__use {
    max-height: calc(90vh - 100px);
}

.featherlight_cont {
    display: none;
}

/* カウントダウンタイマー */
.box_countdown {
    width: min(623px, calc(calc(623/750) * 100vw));
    height: min(52px, calc(calc(52/750) * 100vw));
    margin: 0 auto min(12px, calc(calc(12/750) * 100vw));
    background: url(../img/threadlift_young_meta/countdown_txt.webp) no-repeat center/contain;
    box-sizing: border-box;
    text-align: right;
    padding-right: min(35px, calc(calc(35/750) * 100vw));
}

.box_countdown .yyc-day,
.box_countdown .yyc-hou,
.box_countdown .yyc-min,
.box_countdown .yyc-sec {
    color: #E9297A;
    font-family: "Noto Sans JP", sans-serif;
    font-size: min(38px, calc(calc(38/750) * 100vw));
    font-weight: 600;
    line-height: min(52px, calc(calc(52/750) * 100vw));
    letter-spacing: max(-2px, calc(-1 * (calc(2/750) * 100vw)));
}

.box_countdown .yyc-day-text,
.box_countdown .yyc-hou-text,
.box_countdown .yyc-min-text,
.box_countdown .yyc-sec-text {
    color: #E9297A;
    font-family: "Noto Sans JP", sans-serif;
    font-size: min(24px, calc(calc(24/750) * 100vw));
    font-weight: 600;
    margin-right: min(5px, calc(calc(5/750) * 100vw));
}


/* カウントダウンCTA（キャンペーン） */
.campaign_cta {
    position: relative;
}

.campaign_cta .c-web-coupon {
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    bottom: min(30px, calc(calc(30/750) * 100vw));
}



/* スクロールバーの表示調整 */

.c-web-coupon__use--scroll::-webkit-scrollbar {
    display: none;
}

.c-web-coupon__use--scroll::-webkit-scrollbar-track {
    display: none;
}

.c-web-coupon__use--scroll::-webkit-scrollbar-thumb {
    display: none;
}

.c-web-coupon__use--scroll::-webkit-scrollbar-button {
    display: none;
}

.c-web-coupon__use--scroll::-webkit-scrollbar-track-piece:start,
.c-web-coupon__use--scroll::-webkit-scrollbar-track-piece:end {
    display: none;
}

.featherlight-content .simplebar-content {
    width: min(88vw, 640px);
}

@media screen and (max-width: 750px) {
    .seciton_point_white-box {
        padding: min(30px, calc(30/750 * 100vw));
        box-shadow: 0 min(10px, calc(10/750 * 100vw)) min(25px, calc(25/750 * 100vw)) 0 rgba(0, 0, 0, 0.25);
    }
}