/*=======================================

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{
    background: #333333;
    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);
}