@charset "utf-8";
:root{
    /*color*/
    --orange:#EA7747;
    --pink:#F3DDD1;
    --red:#CF1D18;
    --yellow:#F8F8B9;
    --light-pink:#FFE8DB;
    --pink_50:rgba(243,221,209,0.5);
    --textColor:#424242;
    --white:#FFFFFF;
    /*font-weight*/
    --fontBold:700; 
    --fontMedi:500;
    --fontReg:400;
    /*font-size*/
    --f36:2.25rem;
    --f32:2rem;
    --f28:1.75rem;
    --f24:1.5rem;
    --f20:1.25rem;
    --f16:1rem;
    --f14:0.875rem;
    --f12:0.75rem;

    /*sectionのpadding*/
    --secPb_s:12.9444%;
}

/*------------------ 共通CSS -----------------------------*/
*{
    padding:0;
    margin:0;
    box-sizing: border-box;
}
html{
    font-size:clamp(1.25rem, 1.005rem + 0.2vw, 1.5rem)/*20~24:1920~3880まで*/
}
body{
    font-family: "Noto Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight:var(--fontReg);
    font-style: normal;
    color:var(--textColor);
    line-height: 1.7;
}

img{
    width:100%;
    height:auto;
    vertical-align: bottom;
}
a{
    color: var(--textColor);
    text-decoration: none;
}
h1,h2,h3,h4,h5,h6{
    font-weight: normal;
}
ul,ol{
    list-style-type: none;
}

@media (max-width:1920px){
    html{
        font-size:clamp(1rem, 0.25rem + 0.83vw, 1.25rem);/*16~20:1440~1920まで*/
    }
}
@media (max-width:980px){
    html{
        font-size:clamp(0.875rem, 0.786rem + 0.24vw, 1rem);/*16~20:1440~1920まで*/
    }
}

/*------------------- 共通クラス ------------------------*/

/*common用＿後で削除*/

.margin-bottom{
    margin-bottom:100px;
}
/*コンテンツ幅*/
.wrap{
    max-width:1920px;
    margin:0 auto;
}

/*格子*/
.lattice{
    background: linear-gradient(to right, rgba(234,119,71,0.2) 1px, transparent 1px), /* 縦線 */
    linear-gradient(to bottom, rgba(234,119,71,0.2) 1px, transparent 1px); /* 横線 */
    background-size: 16px 16px; /* 縦横の格子サイズを指定 */
}

/*黄色のマーカー*/
.marker{
    background-color: var(--yellow);
}
/*赤色の文字*/
.textC{
    color: var(--red);
}
.textB{
    font-weight: var(--fontBold);
}
/*------------------- コンポーネント ------------------------*/

/*TOPのBTN*/
.btnSmall{
    background-image: linear-gradient(135deg, #cf1d18, #e97b4e 46%, #cf1d18);
    background-color:var(--pink);
    padding:10px 16px;
    border-radius: 70px;
    display: flex;
    justify-content:center;
    align-items: center;
    transition: 0.5s;
}

.btnSmall_text{
    color:var(--white);
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
    font-weight: bold;
    margin-right:15px;
}

.btnSmall_triangle{
    width: 20px;
    height: 20px;
    background-image: url(img/arrow.webp);
    background-size: contain;
    background-repeat: no-repeat;
}
.btnSmall:hover{
    transform: scale(1.1,1.1);
}

.btnLine:hover{
  box-shadow: none;
  transform: scale(0.99, 0.99) translateY(2px);
}


/*LINEのBTN*/
.btnLine{
    background-image: linear-gradient(135deg, #cf1d18, #e97b4e 46%, #cf1d18);
    background-color:var(--pink);
    padding:22px 19px;
    border-radius: 15px;
    border: solid 1px var(--white);
    transition: 0.2s;
    display:flex;
    align-items:center;
    justify-content: center;
    box-shadow: 0 3px 5px rgb(0 0 0 / 20%);
}
.btnLine_img{
    max-width:40px;
}
.btnLine_text{
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
    font-weight:var(--fontBold);
    font-size:var(--f20);
    color: var(--white);
    text-align: center;
}


/* sectionの見出し１ */

.secHeading_textBox{
    text-align: center;
}
.secHeading_text{
    line-height: 2.0;
    display: inline-block;
    min-width:250px;
}
.secHeading_dec{
    display:inline-block;
    width:110%;
    background-image: url(img/secheading.webp);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    left:-5%;
    aspect-ratio: 23 / 1; /*背景画像のアスペクト比 */
}
.secHeading_heading{
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
    font-weight:var(--fontBold);
    font-size:var(--f32);
    color: var(--red);
    text-align: center;
    line-height: 1.4;
}
@media (max-width:980px){
    .secHeading_heading{
        font-size:var(--f28);
    }
}
@media (max-width:600px){
    .secHeading_heading{
        font-size:var(--f24);
    }
}
/* caseNum */
.caseNum{
    background-color: var(--textColor);
    color:var(--white);
    display: inline-block;
    font-family: "Allura", cursive;
    font-weight: 400;
    font-style: normal;
    font-size:var(--f24);
    padding:8px 28px 4px 20px;
    border-radius: 20px 20px 20px 0;
}

/* reasonNum */
.reasonNum{
    background-color: var(--textColor);
    color:var(--white);
    display: inline-block;
    padding:8px 28px 4px 20px;
    border-radius: 20px 0px 20px 20px;
}

/* caseItem */

.caseItem_head{
    display: flex;
    align-items: flex-end;
}
.caseItem_img{
    max-width:100px;
    margin-right:5px;
}
.caseItem_caseText{
    font-size:var(--f32);
    font-weight: var(--fontBold);
    letter-spacing: 0.03em;
    line-height: 2.0;
}
.caseItem_text{
    background-color: var(--pink);
    padding:24px 32px; 
    
}
.caseItem_bText{
    font-size:var(--f24);
    font-weight: var(--fontBold);
    margin-bottom:16px;
}

/* reasonItem */
.reasonItem{
    background-color: var(--white);
    border-radius: 10px;
    padding:0 1em 1em;
}
.reasonItem_reasonNum{
    transform:translate(-30%,-50%) rotate(-10deg);
}
.reasonItem_head{
    display:flex;
    margin-bottom:16px;
    align-items:flex-end;
}
.reasonItem_headB{
    font-size:var(--f32);
    font-weight: var(--fontBold);
    color: var(--orange);
    line-height: 1.4;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    align-self: flex-start;
}
.reasonItem_headB::after{
    content:"";
    display:block;
    height:var(--f16);
    width:100%;
    background-color: var(--yellow);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.reasonItem_headS{
    font-weight: var(--fontBold);
    line-height: 1.5;
}
.reasonItem_text{
    line-height: 1.8;
}


/* reviewItem */
.reviewItem{
    background-color: var(--white);
    border-radius: 16px;
    padding-inline: 20px;
    padding-block:16px;
}
.reviewItem_tag{
    display: inline-block;
    border-radius: 8px;
    background-color: var(--textColor);
    color:var(--white);
    padding:8px;
    margin-bottom:8px;
    font-size:var(--f14);
}
.reviewItem_title{
    font-weight: var(--fontBold);
    color: var(--orange);
    line-height: 1.8;
    margin-bottom:16px;
}
.reviewItem_text{
    line-height: 1.8;
    border-left:7px var(--yellow) solid;
    padding-left:8px;
    margin-bottom:16px;
}
.reviewItem_name{
    color: var(--orange);
}



/* stepItem */
.stepItem{
    position: relative;
}
.stepItem_num{
    width:80px;
    height:80px;
    border-radius: 50%;
    background-color: var(--textColor);
    color: var(--white);
    font-weight: var(--fontBold);
    text-align: center;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top:-40px;
    left:-40px;
    transform: rotate(-10deg);
}
.stepItem_titleBox{
    background-color: var(--orange);
    padding:24px 10px;
    text-align: center;
}
.stepItem_titleText{
    background-color: var(--white);
    color: var(--orange);
    display: inline-block;
    font-size: var(--f14);
    font-weight:bold;
    padding:4px 8px;
    border-radius:8px;
}
.stepItem_title{
    color: var(--white);
    font-size:var(--f20);
    font-weight:bold;
}
.stepItem_title>span{
    font-size:var(--f32)
}
.stepItem_text{
    background-color: var(--white);
    line-height: 1.8;
    padding:16px;
}
@media (max-width:980px){
    .stepItem_title>span{
        font-size:var(--f28)
    }

}
@media (max-width:600px){
    .stepItem_title>span{
        font-size:var(--f24)
    }
}



/* accordion */

.accordion{
    background-color: var(--white);
    border-radius: 10px;
    padding:32px 32px;
}
.accordion_qes{
    list-style-type: none;
    padding-bottom:8px;
    cursor: pointer;
}
.accordion_qa{
    font-size:var(--f24);
    font-weight: var(--fontBold);
    display: inline-block;
    margin-right:8px;
}
.accordion_qa-ans{
    color:var(--red);
}
.accordion_ans{
    padding-top:8px;
    border-top: dotted var(--textColor) 1px;
    display: grid;
    grid-template-rows: 0fr; /* 初期状態は高さ0 */
    transition: grid-template-rows 0.3s ease-out, opacity 0.3s;
    opacity: 0;
}
.accordion_ansInner>:nth-child(2){
    padding-left:30px;
}
.accordion[open] .accordion_ans {
    grid-template-rows: 1fr; /* コンテンツの高さ分広がる */
    opacity: 1;
}
.accordion .accordion_ansInner {
    overflow: hidden;
    /* padding: 0 1em; */
}

/* submit */
.submit{
   
    margin-inline:auto;
}
.submit_textBox{
    color: var(--white);
    font-size:var(--f20);
    font-weight:var(--fontBold);
    text-align: center;
    margin-bottom:24px;
}


.submit_Precautions>small{
    font-size: var(--f16);
    line-height: 1.4;
}





/*---------------------------------------------------- contentsWrap --------------------------------------------------------------------*/
.contentsWrap{
    display:flex;
}
.contentsWrap_fixl,
.contentsWrap_fixr{
    position: fixed;
    width:calc((100% - 1920px) /2);
    height:100vh;
}
.contentsWrap_fixl{
    left:0;
    top:0;
}
 .contentsWrap_contents{
    min-height:100vh;
}
.contentsWrap_fixr{
    right:0;
    top:0;
}
@media (max-width:1920px){
    .contentsWrap_fixl,
    .contentsWrap_fixr{
        display:none;
    }
    .contentsWrap_contents{
        max-width: none;
        width:100%;
    }
}

/*--------------------------------------------------------- header ------------------------------------------------------------------*/
.header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom:2%;
    padding-inline: 4.1666%;
}
.header_head{
    /*font-size:var(--f16);
    font-weight: var(--fontBold);*/
    background-color:#6C6058;
    padding:5px 10px 10px;
}
.header_btnWrap{
    display: flex;
}
.header_btnWrap>:first-child{
    margin-right:16px;
}

@media (max-width:630px){
    .header_btnWrap>:first-child{
        margin-right:0;
        margin-bottom:0.5em;
    }

    .header_btnSamllText{
        font-size:var(--f16);
        margin-right:0;
    }
       
    .header_btnSamlltriangle{
        display: none;
    }
}

/*---------------------------------------------------- firstView --------------------------------------------------------------------*/
.firstViewWrap{
    background-image:url(img/back_line.webp);
    background-size:100%;
    background-repeat: no-repeat;
    background-position:center bottom;
    padding-top:1.89393%;
}

.firstView{
    position: relative;
    padding-bottom: 13.6363%;
    padding-inline: 4.1666%;
}

.firstView_iconBox{
    display: flex;
}
.firstView_icon{
    width:150px;
    height: 150px;
    background-color: var(--white);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right:1.212%;/*1320=16px*/
    margin-bottom:1.212%;/*1320=16px*/
}
.firstView_imgCorrects{
    transform: translateX(8px);
}
.firstView_iconInner{
text-align: center;
}
.firstView_iconText{
    font-size: var(--f12);
    font-weight: var(--fontBold);
}
.firstView_img>img{
    width:50%;
    height:50%;
}

.firstView_textWrap{
    position: relative;
    margin-bottom:1.212%;/*1320=16px*/
}
.firstView_textBox{
    background-color: var(--white);
    border-radius: 10px;
    padding:1.5151% 3.4090%;
    width:80%;
    position: relative;
}
.firstView_textMark{
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
    font-size: var(--f20);
    margin-bottom:1.212%;/*1320=16px*/
}
.firstView_textMark>span{
    font-weight: var(--fontBold);
}
.firstView_text{
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
    font-size: var(--f36);
    font-weight: bold;
    line-height: 1.5;
    margin-bottom:12px;
}
.firstView_textSmall{
    font-weight: var(--fontBold);
    position:relative;
}

.firstView_icon10{
    position: absolute;
    bottom:60%;
    right:18%;
    width:132px;
    height:132px;
    z-index:99;
}

.firstView_circleImg{
    border-radius: 50%;
    max-width:35%;
    overflow: hidden;
    position: absolute;
    right:5%;
    top:-50%;
    z-index: 1;
}
.firstView_circleImg>img{
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
}


.firstView_btnWrap{
    display: flex;
}
.firstView_cta{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-right:8px;
}
.firstView_ctaicon{
    width:128px;
    display: flex;
    align-items: end;
}

.firstView_message{
    max-width:240px;
    margin:auto;
    margin-bottom:8px;
    color:#FFFD05;
    font-size:var(--f20);
    font-weight: bold;
}

.firstView_btnApply,
.firstView_btnLine{
    max-width:350px;
    flex-grow: 1;
    position: relative;
    z-index:99;
}

.br_sf{
    display: none;
}

@media (max-width:1920px){
    .firstView_icon{
        width:115px;
        height: 115px;
    }
}

@media (max-width:1305px){
    .firstView{
        display: flex;
        flex-direction: column;
        background-image:url(img/back_line_sf.webp),url(img/top_sf.webp);
        background-position:bottom center,center bottom 50px;
        background-size:100% 50%,cover;
        background-repeat: no-repeat;
        padding-bottom:5%;
    }
    .firstView_iconBox{
        order:2;
        align-self: center;
    }
    .firstView_textWrap{
        order:1;
        padding-top:40%;
        align-self: center;
        width:70%;
        max-width:630px;
    }
    .firstView_textBox{
        width:100%;
    }
    .firstView_btnWrap{
        order:4;
        justify-content: center;
    }

    .firstView_circleImg{
        display: none;
    }
    .firstView_icon10{
        right:-10%;
        top:50%;
        transform: translateY(-50%);
    }
    .firstView_textMark{
        font-size:var(--f16);
    }
    .firstView_text{
        font-size:var(--f28);
    }
    .firstView_textSmall{
        font-size:var(--f16);
    }
}

@media(max-width:890px){
    .firstView_textWrap{
        width:85%;
        padding-top:50%;
    }
    .firstView_iconBox{
        margin-bottom:1em;
    }
}

@media(max-width:730px){
    .firstView{
        background-image:url(img/back_line_sfs.webp),url(img/top_sfs.webp);
        /*background-position:bottom center,center bottom 100px;*/
        background-position:bottom center,center top;
        background-size:100% 80%,100% auto;
    }
    .firstView_textWrap{
        padding-top:80%;
        width:80%;
        max-width: 430px;   
    }
    .firstView_btnWrap{
        margin-inline:auto;
    }
    .firstView_textBox{
        padding:3% 4%;
    }
    .firstView_btnWrap :nth-child(1){
        margin-right:0;
        margin-bottom:1%;
    }
    .br_sf{
        display: block;
    }
    .firstView_icon10{
        right:-3%;
        bottom:2%;
        top:auto;
        transform:none;
    }
}

@media(max-width:560px){
    .firstView_textWrap {
        width:100%;
        transform:none;
    }
    .firstView_icon10{
        transform: scale(80%);
        bottom:-20%;
    }
    .firstView_btnApplyText{
        font-size:var(--f20);
    }
    .firstView_btnLineText{
        font-size:var(--f16);
    }
    .firstView_textWrap{
        padding-top:90%;
    }
    .br_sf_middlenone{
        display: none;
    }
}

@media(max-width:480px){
    .firstView{
        background-size:100% 90%,100% auto;
    }
    .firstView_ctaicon{
        display: none;
    }
    
}

@media(max-width:438px){
    .firstView{
        background-size:auto 90%,100% auto;
    }
    .firstView_text{
        font-size:var(--f24);
    }
    .firstView_icon10{
        transform: scale(70%) translateX(16px);
    }
    .firstView_icon{
        transform: scale(80%);
    }

}
@media(max-width:400px){
    .br_sf_middlenone{
        display: block;
    }
}

/*---------------------------------------------------- case --------------------------------------------------------------------*/


.case::before{
    content:"";
    display:block;
    width:100%;
    height:300px;
    background-color: var(--pink_50);
    clip-path: polygon(0 0%,  100% 0%, 100% 100%);
}

.case_inner{
    position: relative;
    padding-bottom:5.0505%;
    overflow: hidden;
}

.case_caseItem{
    width:57.4242%;
    margin-inline: auto;
    margin-bottom:3.0303%;
}

.case_caseItem:last-child{
    margin-bottom:0;
}
@media (max-width:1440px){
    .case_caseItem{
        width:80%;
        margin-bottom:5.0303%;
    }
}
@media (max-width:980px){
    .case_caseItem{
        width:100%;
    }
    .case_inner{
        width:91.83%;
        margin-inline:auto;
        background-color: transparent;
        padding-block:var(--secPb_s) ;
    }
    .case_caseItemImg{
        max-width:75px;
        margin-right:15px;
    }
    .case_caseText {
        font-size: var(--f24);
        line-height: 1.4;
    }
    .case_bText {
        font-size: var(--f20);
    }
    .case_caseNum {
        padding:10px 20px 4px 14px;
        margin-bottom:10px;
        line-height: 1;
    }
    .case_caseItemHead{
        margin-bottom:8px;
    }
}
@media (max-width:600px){
    .case_secHeading{
        margin-bottom:10.666%;
    }
    .case_caseItemImg{
        display: none;
    }
    .case_caseItem{
        margin-bottom:9.3333%;
    }
    .case_itemText{
        padding:16px 24px;
    }
    .case_caseText {
        font-size: var(--f20);
    }
}
@media (max-width:400px){
    .case_inner{
        width:calc(100% - 40px);
    }
}
/*---------------------------------------------------- reason --------------------------------------------------------------------*/

.reason{
    background-color:rgba(255,255,255,0.5);
    padding-inline: 13.194%;
    padding-block:100px;
}
.reason>p{
    margin-bottom:30px;
}
.reason_markerText{
    font-weight: var(--fontBold);
    font-size: var(--f20);
    line-height: 1.8;
}
.reason_markerText .textC{
    font-size: var(--f32);
}
.reason_contentsBox{
    display:flex;
    justify-content: space-between;
    margin-bottom:100px;
}
.reason_contentsText{
    width:58%;
    display: flex;
    flex-direction: column;
}
.reason_contentsImg{
    width:39.9221%;
}
.reason_textBoxTop{
    font-size: var(--f24);
    font-weight: var(--fontMedi);
}
.reason_textBoxTop :nth-child(1){
    margin-bottom: 30px;
}
.reason_textBoxTop :nth-child(2){
    padding-left:2em;
}
.reason_textBoxTop .bigText{
    font-size: var(--f36);
}
.reason_textBoxBottom{
    margin-top:auto;
    text-align: center;
}
.reason_textDecoration{
    position: relative;
}
.reason_textDecoration::after{
    content:"";
    display:inline-block;
    width:110%;
    height:20px;
    background-image: url(img/secheading.webp);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left:-5%;
    bottom:-70%;
}
.reason_textDotted{
    border-bottom:dotted var(--orange) 2px;
}
.reason_textBottomC{
    color: var(--orange);
    font-weight: var(--fontBold);
}
.reason_textBottom{
    font-size: var(--f32);
    display: inline-block;
    position: relative;
    margin-bottom:30px;
}
.reason_textBottom::before,
.reason_textBottom::after{
    content:"";
    display: block;
    width:2px;
    height:32px;
    background-color: var(--textColor);
    position: absolute;
}
.reason_textBottom::before{
    left:-25px;
    bottom:0px;
    transform: rotate(-45deg);
}
.reason_textBottom::after{
    right:-15px;
    bottom:0px;
    transform: rotate(45deg);
}
.reason_heading{
    margin-bottom:30px;
    font-weight: bold;
}
.reason_headingBig{
    font-size: var(--f32);
    letter-spacing: 0.1em;
}
.reason_headingText{
    margin-inline: auto;
    width:78%;
    text-align: left;
}
.reason_itemBox{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.reason_reasonitem {
    width:42.924%;
    margin-bottom:60px;
}
@media (max-width:1440px){
    .reason_p{
        text-align: center;
        font-size: var(--f20);
        
    }
    .reason_contentsText{
        display: contents;
    }
    .reason_contentsBox{
        flex-direction: column;
    }
    .reason_textBoxTop{
        order: 1;
        margin-bottom:5.0612%;
    }
    .reason>p{
        margin-bottom:3.0612%;
    }
    .reason_textBoxTop :nth-child(1){
        margin-bottom: 3.0612%;
    }
    .reason_textBoxTop :nth-child(2){
        padding-left:5em;
    }
    .reason_contentsImg{
        order: 2;
        display: flex;
        align-items: flex-end;
        width:100%;
        margin-inline:auto;
        padding-left:6em;
        margin-bottom: 5.0612%;
    }
    .reason_contentsImg>div{
        width:48%;
        margin-right:2%;
    }
    .reason_contentsImg>p{
        width:50%;
    }
    .reason_textBoxBottom{
        order: 3;
    }
    .reason_headingText{
        width:70%;
        text-align: center;
    }
    .reason_reasonitem {
        width:46.924%;
        margin-bottom:60px;
    }
}
@media (max-width:980px){
    .reason{
        background-color:rgba(255,255,255,0.5);
        padding-inline: 4.085%;
        padding-block:var(--secPb_s);
    }
    .reason_markerText,
    .reason_textBoxTop{
        font-size: var(--f20);
    }
    .reason_markerText .textC,
    .reason_textBoxTop .bigText,
    .reason_headingBig,
    .reason_textBottom,
    .reason_headB{
        font-size: var(--f28);
    }
    .reason_contentsImg{
        flex-direction: column;
        align-items: start;
        padding-left:0;
    }
    .reason_contentsImg>div,
    .reason_contentsImg>p{
        width:60%;
        margin-inline:auto;
    }
    .reason_itemBox{
        flex-direction: column;
    }
    .reason_reasonitem {
        width:90%;
        margin-inline:auto ;
    }
    .reason_reasonitem:last-child{
        margin-bottom:0;
    }
}
@media (max-width:600px){
    .reason_markerText,
    .reason_textBoxTop{
        font-size: var(--f16);
    }
    .reason_markerText .textC,
    .reason_textBoxTop .bigText,
    .reason_headingBig,
    .reason_textBottom,
    .reason_headB{
        font-size: var(--f24);
    }
    .reason_contentsImg>div,
    .reason_contentsImg>p{
        width:80%;
        margin-inline:auto;
    }
    .reason_headingText{
        width:100%;
        text-align: left;
    }
    .reason_reasonNum {
        padding:6px 20px 4px 20px;
        border-radius: 20px 0px 20px 20px;
        transform:translate(-25%,-50%) rotate(-5deg);
    }

}
@media (max-width:400px){
    .reason{
        padding-inline: 20px;
    }
}
/*---------------------------------------------------- movie --------------------------------------------------------------------*/
.movie{
    padding-top:100px;
    padding-bottom:200px;
    background-color:var(--pink_50);
}
.movie_heading{
    color: var(--textColor);
    font-size:var(--f24);
}
.movie_heading>span{
    color: var(--red);
    font-size:var(--f32);
}
.movie_headingText{
    max-width:25em;
    margin-inline:auto ;
    text-align: center;
    margin-bottom:24px;
}
.movie_secHeading{
    margin-bottom:60px;
}
.movie_movieBox{
    position: relative;
    max-width: 750px;
    margin-inline: auto;
}

.movie_movie>video{
    width:100%;
    aspect-ratio: 1.6 / 1;
}

@media (max-width:1440px){

    .movie_movieBox{
        max-width: 700px;
    }
}
@media (max-width:980px){
        .movie{
        padding-top: var(--secPb_s);
        padding-bottom:13.888%;
        padding-inline: 20px;
    }
    .movie_movieBox{
        max-width: auto;
        width:80%;
    }
    .movie_movieTitle{
        padding:2% 6%;;
        font-size: var(--f20);
        transform:translate(-20%,-40%) rotate(-10deg);
    }
}
@media (max-width:400px){
    .movie_movieBox{
        width:100%;
    }
    .movie_movieTitle{
        transform:translate(-50%,-50%) rotate(0deg);
        border-radius: 20px 20px 20px 20px;
        top:0;
        left:50%;
    }
}

/*---------------------------------------------------- reviews --------------------------------------------------------------------*/


.review_inner{
    width:91.666%;
    margin-inline: auto;
    /*position: relative;
    top:-200px;*/
    padding-top:5em;
}
.review_headingBox{
    text-align: center;
    margin-bottom:60px;
}
.review_headingImg>img{
    max-width:150px;
}
.review_headingImg{
    margin-bottom:20px;
}
.review_heading{
    font-size: var(--f24);
    font-weight: var(--fontBold);
}
.review_itemName{
    margin-top:auto
}
.review_reviewsBox{
    width:80%;
    margin-inline: auto;
}
.review_reviewItem{
    width:calc(100% / 3);
}

/*splideの設定*/
.splide-wrapper{
    padding-inline: 60px;
}

.splide__arrow{
    background-color:transparent;
    width:50px;
    height:50px;
    border:none;
    position: absolute;
    font-size: var(--f28);
    font-weight: var(--fontBold);
    color: var(--textColor);
}
.splide__arrow--prev{
    top:50%;
    left:0;
    z-index: 100;
}
.splide__arrow--next{
    top:50%;
    right:0;
    z-index: 100;
}
.splide_page{
    width:10px;
    height:10px;
    background-color:var(--textColor);
    border-radius: 50%;
    transition: .5s all;
    border: none;
    margin-inline:5px;
}
.splide_page.is-active {
    background-color: var(--orange);
}
.splide_pagination{
   position: relative;
    bottom: -1.5em;
}

@media (max-width:1440px){
     .review_reviewsBox{
        width:100%;
    }
    .review{
        overflow: hidden;
    }
}
@media (max-width:1120px){
    .review_reviewItem{
            width:48%;
            margin-bottom:4%;
    }
}
@media (max-width:980px){
        .review_reviewItem{
        width:calc(100% / 2);
    }
    .review_itemName {
        text-align: right;
    }
}
@media (max-width:600px){
    .review::before{
        height:150px;
    }
    .review_inner{
        top:-100px;
    }
    .splide__arrow{
        display: none;
    }
    .splide-wrapper{
        padding-inline: 0;
    }
}
@media (max-width:400px){
    .review_inner{
        width:calc(100% - 40px);
    }

}

/*---------------------------------------------------- form --------------------------------------------------------------------*/
.form{
    background-color: var(--pink_50);
    clip-path: polygon(0 12.5%, 100% 0%, 100% 100%, 0% 100%);
}
.form-f{
    background-color: var(--textColor);
}
.form_inner{
    padding-block: 250px;
    position: relative;
}
.form_submit{
        max-width: 55%;
        padding-inline:4.085%;
}
.form_inner::after{
    content:"";
    display:block;
    position: absolute;
    inset: 0;
    background-color: var(--orange);
    background-image:url(img/formBg.webp) ;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
    clip-path: polygon(0 12.5%, 100% 0%, 100% 87.5%, 0% 100%);
}
.form_textBox{
    margin-bottom:45px;
}
.form_textBox h2{
    font-size:var(--20);
}
.form_cta{
    margin-bottom:45px;
}
@media (max-width:1440px){
    .form_inner{
        padding-block: 175px;
        position: relative;
    }
    .form_submit{
        max-width: 60%;
    }
}
@media (max-width:980px){
    .form_formItem{
        flex-direction: column;
        width: 85%;
        margin-inline:auto ;
        margin-bottom:30px;
    }
    .form_submit{
        max-width: 80%;
    }
    .form{
        clip-path: polygon(0 12.5%, 100% 0%, 100% 100%, 0% 100%);
    }
    .form_inner::after{
        clip-path: polygon(0 12.5%, 100% 0%, 100% 87.5%, 0% 100%);
    }

    .form_formItem>label{
        margin-bottom:5px;
    }
    .form_formItem>label,
    .form_formItem>input{
        width:100%;
    }
}
@media (max-width:600px){
    .form_inner{
        padding-block: 175px;
    }
    .form_submit{
        max-width: 100%;
        padding-inline:4.085%;
    }
    .form_formItem{
        width: 100%;
    }
    .form_formItem>input{
        padding: 0.75em 1em;
    }
}
@media (max-width:400px){
    .form{
        clip-path: polygon(0 6%, 100% 0%, 100% 100%, 0% 100%);
    }
    .form_inner::after{
        clip-path: polygon(0 6%, 100% 0%, 100% 94%, 0% 100%);
    }
    .form_submit{
        padding-inline:0%;
    }
    .form_inner{
        padding-block: 100px;
        padding-inline: 20px;
    }
}
/*---------------------------------------------------- step --------------------------------------------------------------------*/
.step{
    background-color: var(--pink_50);
}
.step_inner{
    width:91.666%;
    margin-inline: auto;
    padding-block:100px;
}
.step_secHeading{
    margin-bottom:60px;
}
.step_headingText{
    font-size:var(--f20);
    font-weight:var(--fontBold);
    text-align: center;
    margin-bottom:80px;
}
.step_headingText>span{
    font-size:var(--f32);
}
.step_items{
    display: flex;
    justify-content: space-between;
}

.step_items-week{
    justify-content: center;
     margin-bottom:120px;
}
.step_weekItems{
    width:24%;
    margin-right:4%;
}
.step_stepItem{
    width: 18.9393%;
    display:flex;
    flex-direction: column;
    position: relative;
}
.step_stepItem:not(:last-child)::after{
    content: "";
    display:inline-block;
    width:calc((1320px - (250px *4)) / 3 /2);
    aspect-ratio: 1 / 1.5;
    background-image: url(img/stepArrow.webp);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top:50%;
    right:-10%;
    transform: translate(100%,-50%);
}
.stepItem_text{
    flex-grow: 1;
}
@media (max-width:1440px){
    .step_items{
        flex-direction: column;
    }
    .step_items-week{
        flex-direction:row;
    }
    
    .step_stepItem{
        max-width:700px;
        width:auto;
        margin-inline: auto;
        margin-bottom: 80px;
    }
    .step_stepItem:last-child{
        margin-bottom: 0px;
    }
    .step_stepItemTitleBox {
        padding:10px 10px 10px 45px;
        text-align: left;
        display:flex;
        align-items: center;
    }
    .step_stepItemTitleText {
        padding:4px 8px;
        border-radius:8px;
    }
    .step_stepItemTitle{
        line-height: 1;
        margin-left:1em;
    }
    .step_stepItem:not(:last-child)::after{
        width:40px;
        top:auto;
        bottom:0%;
        left: 50%;
        transform: translate(-50%,120%) rotate(90deg); 
    }

}
@media (max-width:980px){
    .step_inner{
        width:91.83%;
        padding-top:var(--secPb_s);
        padding-bottom:0;
    }
    .step_items-week{
        flex-direction:column;
    }
    .step_stepItem{
        width: 90%;
    }
    .step_num{
        width:60px;
        height:60px;
        line-height: 1;
        position: absolute;
        top:-30px;
        left:-30px;
        transform: rotate(-10deg);
    }
    .step_items-week{
        align-items: center;
    }
    .step_weekItems{
        max-width:500px;
        margin-bottom:50px;
        width:80%;
        margin-right:0;
    }
    .step_weekItems:last-child{
        margin-bottom:0px;
    }
}
@media (max-width:600px){
    .step_stepItemTitleBox {
        flex-direction: column;
        align-items: start;
        padding:10px 10px 0px 30px;
    }
    .step_stepItemTitle{
        line-height: 1.6;
        margin-left:0em;
    }
    .step_stepItemTitleText {
        padding:0px 8px;
        border-radius:4px;
    }
    .step_headingText {
        margin-bottom: 50px;
    }
    .step_items-week{
        margin-bottom:80px;
    }
    .step_weekItems{
        width:100%;
    }
}
@media (max-width:400px){
    .step_inner{
        width: calc(100% - 40px);
    }
}

/*---------------------------------------------------- study --------------------------------------------------------------------*/

.study{
    max-width:800px;
    margin-inline:auto;
    padding-inline:20px;
}

.study_item:not(:first-of-type){
    padding-block:5em;
}

.study_text{
    max-width:250px;
    margin-inline:auto;
    margin-bottom:1em;
}

.study_heding{
    margin-bottom:20px;
    text-align: center  ;
}

@media(max-width:980px){
    .study{
        padding-top: var(--secPb_s);
    }
}

/*---------------------------------------------------- suitability --------------------------------------------------------------------*/
.suitability{
    background-color: var(--pink_50);
}
.suitability_inner{
    width:91.666%;
    margin-inline: auto;
    padding-top:100px;
    padding-bottom:200px;
    padding-inline: 13.194%;
}

.suitability_contentsBox{
    background-color: var(--white);
    border-radius: 10px;
    padding-top:4.102%;
    padding-bottom:5.102%;
    display: flex;
    position: relative;
}
.suitability_secHeading{
    margin-bottom:60px;
}
.suitability_fit,
.suitability_unfit{
    width:50%;
    padding:0 4.102%;
}
.suitability_fit{
    border-right:2px dotted var(--textColor);
}
.suitability_thirdHeading{
    color: var(--red);
    font-size: var(--f20);
    font-weight:bold;
    text-align: center;
    margin-bottom:30px;
}

.suitability_strong{
    text-decoration:underline wavy var(--orange);
    font-weight: bold;
}
.suitability_strong2{
    text-decoration:underline wavy var(--textColor);
    font-weight: bold;
}
.suitability_fitImg{
    position: absolute;
    right:-32px;
    bottom:-72px;
    width:80px;
}

@media (max-width:980px){
    .suitability_inner{
        padding-inline:0;
    }
    .suitability_fitImg{
        right:-10px;
        bottom:-75px;
        width:70px;
    }
}

@media (max-width:600px){
    .suitability_contentsBox{
        padding-block:0;
        padding-inline:4.102%;
        flex-direction: column;
    }
    
    .suitability_fit,
    .suitability_unfit{
        width:100%;
        padding:0 0 20px;
    }
    .suitability_fit{
        border-right:none;
        border-bottom:2px dotted var(--textColor);
    }
    .suitability_thirdHeading{
        text-align: center;
        margin-bottom:0px;
        padding:20px 20px 15px;
    }
    .suitability_fitImg{
        right:0px;
        bottom:-75px;
        width:60px;
    }
}
/*---------------------------------------------------- teacher --------------------------------------------------------------------*/

.teacher_inner{
    width:91.666%;
    margin-inline: auto;
    padding-top:100px;
    padding-inline: 13.194%;
    padding-bottom:100px;
}
.teacher_secHeading{
    margin-bottom:60px;
}
.teacher_profileBox{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: flex-end;
    margin-bottom:40px;
}
.teacher_nameBox{
    display: flex;
    align-items: flex-end;
    margin-bottom:16px;
}
.teacher_name{
    font-size: var(--f32);
    font-weight: var(--fontBold);
    line-height: 1;
    margin-right:15px;
}
.teacher_background{
    margin-bottom:16px;
}
.teacher_img{
    width:240px;
    margin-right:16px;
    flex-shrink: 0;
}
.teacher_MsgBox{
    display: flex;
    align-items: flex-end;
}
.teacher_msg{
    background-color: var(--light-pink);
    padding:64px 32px;
    min-height: 400px;
    margin-right:10px;
}
.teacher_msgHeading{
    font-size:var(--f20);
    color: var(--red);
    margin-bottom:15px;
}
.teacher_msgImg{
    max-width: 160px;
}
@media (max-width:1440px){
    .teacher_inner{
        padding-bottom:20%;
    }
    .teacher_profileBox{
        flex-direction: column-reverse;
        align-items: center;
    }
    .teacher_profile{
        text-align: center;
    }
    .teacher_nameBox{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .teacher_img{
        margin-bottom:3%;
        margin-right:0;
    }
    .teacher_name{
        margin-bottom:2%;
        margin-right:0;
    }
    .teacher_MsgBox{
        display: block;
        position:relative;
    }
    .teacher_msgImg{
        position: absolute;
        right:0;
        bottom:-15%;
    }
    .teacher_msg{
        padding:32px 32px 150px 32px;
        margin-right:0px;
    }
    .teacher_text{
        text-align: left;
    }
}
@media (max-width:980px){
    .teacher_inner{
        width:91.83%;
        padding-inline: 0%;
        padding-top:var(--secPb_s);
        padding-bottom:calc(var(--secPb_s)*2)
    }
}
@media (max-width:600px){
    .teacher_inner{
        padding-bottom:calc(var(--secPb_s)*2);
    }
    .teacher_secHeading{
        margin-bottom:6%;
    }
    .teacher_img{
        width:180px;
        margin-bottom:3%;
    }
    .teacher_name{
        margin-bottom:3%;
    }
}
@media (max-width:400px){
    .teacher_inner{
        width:100%;
        padding-inline: 20px;
         padding-bottom:calc(var(--secPb_s)*3);
    }
}


/*---------------------------------------------------- qa --------------------------------------------------------------------*/
.qa{
    background-color: var(--pink_50);
}
.qa_inner{
    width:91.666%;
    margin-inline: auto;
    padding-top:100px;
    padding-bottom:200px;
    padding-inline: 13.194%;
}
.qa_heading{
    font-size: var(--f32);
    color: var(--red);
    font-weight: var(--fontBold);
    text-align: center;
    margin-bottom:60px
}

.qa_item{
    margin-bottom:16px;
}
.qa_item:last-child{
    margin-bottom:0px;
}
@media (max-width:980px){
    .qa_inner{
        width:91.83%;
        padding-inline:0%;
        padding-block:var(--secPb_s);
    }
    .qa_heading{
        font-size: var(--f28);
        margin-bottom:var(--secPb_s);
    }
}
@media (max-width:600px){
    .qa_heading{
        font-size: var(--f24);
    }
    .qa_item{
        border-radius: 10px;
        padding:16px 16px;
    }
}
@media (max-width:400px){
    .qa_inner{
        width:100%;
        padding-inline:20px;
    }
}
/*---------------------------------------------------- comparison --------------------------------------------------------------------*/
.comparison_inner{
    width:91.666%;
    margin-inline: auto;
    padding-top:100px;
    padding-inline: 13.194%;
}
.comparison_secHeading{
    margin-bottom:24px;
}
.comparison_headinImg{
    text-align: center;
    margin-top:32px;
}
.comparison_headinImg>img{
    max-width:100px;
}
.comparison_headingText{
    font-size: var(--f20);
    font-weight: var(--fontBold);
    max-width:680px;
    margin-inline: auto;
    text-align: center;
    margin-bottom:40px;
}
.comparison_itemBox{
    display: flex;
    flex-wrap: wrap;
    margin-bottom:40px;
}
.comparison_item{
    width: calc(100% / 3);
}
.comparison_supportBox{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom:60px;
}



.comparison_btnContentsText{
    font-size: var(--f20);
    font-weight:var(--fontBold);
    text-align: center;
}
.comparison_btnLine,
.comparison_btnContentsText-fItem{
    flex: 1;
}
.comparison_btnContentsText-fItem{
    text-align: left;
    margin-bottom:0px;
}
.comparison_btnLine{
  max-width: none;
}
.comparison_btnContentsText>span{
    color: var(--orange);
}
.comparison_btnContentsBox{
    display:flex;
    align-items: center;
    gap: 30px;
    background-color: var(--pink_50);
    border-radius: 20px;
    padding:25px ;
    max-width:1060px;
    margin-inline:auto;
    margin-bottom:32px;
}


.comparison_supportItem{
    flex: 2;
    margin-right:10px;
}
.comparison_supportItem:last-child{
    flex:0.8;
}
.comparison_flowImg{
    padding-inline: 5%;
    margin-bottom:20px;
    max-width:800px;
    margin-inline:auto;
}

.comparison_textBox{
    background-color: var(--yellow);
    padding:24px 16px;
    margin-bottom:80px;
}
.comparison_textB{
    font-weight: var(--fontBold);
    margin-bottom:8px;
}
.comparison_payment{
    margin-bottom:16px;
}
@media (max-width:1440px){
    .comparison_inner{
        padding-inline: 20%;
    }
    .comparison_itemBox{
        margin-bottom:104px;
    }
    .comparison_btnContentsBox{
        flex-direction: column;
        padding:20px ;
        gap: 10px;
    }
    .comparison_btnContentsText-fItem{
        margin-bottom:0px;
        text-align: center;
    }
    .comparison_btnContentsText{
        margin-bottom:15px;
    }
    .comparison_item{
        width: calc(100% / 2);
    }
    .comparison_supportBox{
        flex-direction: column;
        align-items: center;
        position: relative;
        margin-bottom:0;
    }
    .comparison_supportItem{
        margin-bottom:48px;
        flex-grow: 1;
        margin-right:0;
    }
    .comparison_supportItem:last-child{
        position: absolute;
        top:0;
        right:0;
        max-width:150px;
        transform: translate(50%,-50%);
    }
    .comparison_flowImg{
        padding-inline: 5%;
        margin-bottom:48px;
    }
    .comparison_btnLine{
        width:80%;;
    }
}
@media (max-width:980px){
    .comparison_inner{
        width:91.83%;
        padding-block:var(--secPb_s);
        padding-inline:0%;
    }
    .comparison_itemBox{
        max-width:600px;
        margin-inline:auto ;
    }
    .comparison_supportBox{
        max-width:400px;
        margin-inline:auto ;
    }
    .comparison_supportItem:last-child{
        width: 125px;
    }
}
@media (max-width:600px){
    .comparison_itemBox {
        margin-bottom: 60px;
    }
    .comparison_supportBox{
        max-width:66.666%;
        min-width:250px;
    }
    .comparison_supportItem:last-child{
        width:29.25%;
    }
    .comparison_itemBox{
        flex-direction: column;
        max-width:66.666%;
    }
    .comparison_item{
        width:100%;
        margin-bottom:15px;
    }
    .comparison_item:last-child{
        margin-bottom:0px;
    }
}
@media (max-width:400px){
    .comparison_inner{
        width:100%;
        padding-inline:20px;
    }
    .comparison_supportBox,
    .comparison_itemBox{
        max-width:80.666%;
    }
}
/*---------------------------------------------------- footer --------------------------------------------------------------------*/
.footer{
    margin-top:-1px;
    background-color: var(--textColor);
}
.footer_inner{
    color:var(--white);
    text-align: center;
    padding-bottom:100px;
}
.footer_inner>ul>li>a{
    color:var(--white)
}
.footer_title{
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
    font-weight: var(--fontBold);
}
.footer_headingBox{
    color: #FFFD05
}
.footer_text{
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
    font-size: var(--f20);
    margin-bottom:32px;
}
.footer_textFc{
    font-family: "Noto Sans", sans-serif;
    font-weight: var(--fontBold);
}
.footer_br{
    display:none;
}
.footer_linkBox{
    margin-bottom:16px;
}
.footer_link{
    margin-bottom:12px;
}
.footer_link>a:hover{
    opacity: 0.5;
}
.footer_copy{
    font-style: normal;
}
@media (max-width:980px){
    .footer_inner{
        width:91.666%;
        margin-inline: auto;
        padding-top:var(--secPb_s);
        padding-bottom:100px;
    }
}
@media (max-width:600px){
    .footer_link{
        margin-bottom:1%;
    }
    .footer_linkBox{
        margin-bottom:1.5%;
    }
    .footer_inner{
        padding-bottom:10%;
    }
    .footer_copy{
        text-align: center;
    }
}

@media (max-width:400px){



    .footer_inner{
        width:100%;
        padding-inline: 20px;
    }
}

.privacy{
    padding-inline: 4.1666%;
}

.privacy_header{
    padding-top: 1.89393%;
}

.privacy_btnSamlltriangle{
    transform: rotate(180deg);
    margin-right:1em;
}