@charset "UTF-8";
/* CSS Document */
:root{
    --excel-color: #61a30a;
    --word-color: #5f78d3;
    --accent-color: #ea687b;
    --bold: Arial, "NotoSansJP-Bold", sans-serif;
    --gradation: linear-gradient(to right, #ed5097, #f09c5a);
}

/*******************
MV
********************/
.mvTop__subText>span{
    display: inline-block;
}
@media(max-width: 690px){
    .mv-inner{
        background: url(../images/mv-bg_sp.svg) center no-repeat;
        background-size: cover;
        padding: 20% 1em 13em;
        width: 100%;
        height: 194.5vw;
        min-height: 162vw;
        max-height: none;
        aspect-ratio: 78 / 137;
    }
    .mvTop__subText{
        font-size: 0.9em;
    }
    .mv::before{
        top: 50%;
        right: 50%;
        transform: translate(65%,-90%);
        width: 97.7%;
        max-width: 882px;
        aspect-ratio: 1;
    }
    .mv h1{
        margin-bottom: 10%; 
    }
    .mv-outer{
        width: 97.7%;
        text-align: center;
    }
    .mvPoint {
        margin: 0 0 34%;
        width: 63.2%;
    }
    .mv::after {
        top: 38%;
        right: 50%;
        transform: translate(-30%, 0);
        width: 36.6%;
    }
    .mvTop-text{
        margin: 1em auto 1.2em;
        text-align: center;
        font-size: 3.4vw;
        max-width: 100%;
    }
    .mvBottom-text{
        margin: 0 auto;
        width: 92%;
    }
}
@media(max-width:460px){
    .mv-inner{
        height: 203.5vw;
        aspect-ratio: 78 / 137;
    }
    .mv::before{
        transform: translate(65%,-95%);
    }
    .mv::after {
        top: 36%;
        right: 50%;
    }
}

/*******************
選べる学習プラン
********************/
.selectPlan{
    margin: 0 auto 4em;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    max-width: 1000px;
}
.selectPlan__item{
    position: relative;
    padding: 0 0.8em 1em;
    margin: 0 auto;
    width: 32%;
    max-width: 400px;
    background: #fff;
    box-shadow: 7.3px 7.3px 5.2px 0 rgba(0, 0, 0, 0.15);
    border: 1px solid #e2e2e2;
    border-radius: 0.8em;
}
.selectPlan__item::before{
    content: '';
    position: relative;
    display: block;
    margin: 0 auto 0.7em;
    width: 61.8%;
    height: 1.6rem;
    border-radius:  0 0 0.3em 0.3em;
}
.--excel.selectPlan__item::before{
    background: var(--excel-color);
}
.--word.selectPlan__item::before{
    background: var(--word-color);
}
.--all.selectPlan__item::before{
    margin: 0 auto 1.6em;
    background: var(--accent-color);
}

.selectPlan__itemName{
    margin: 0 auto 1em;
    text-align: center;
}
.selectPlan__itemNameTitle{
    margin: 0 auto 0.2rem;
    font-size: 2.6rem;
    font-family: var(--bold);
    font-weight: 700;
}
.--excel .selectPlan__itemNameTitle{
    color: var(--excel-color);
}
.--word .selectPlan__itemNameTitle{
    color: var(--word-color);
}
.--all .selectPlan__itemNameTitle{
    color: var(--accent-color);
    font-size: 3.2rem;
    line-height: 1.3;
    margin-top: -0.3em;
    margin-bottom: 0.3em;
}
.selectPlan__itemNameTitle .--allSub{
    font-size: 0.5em;
    display: block;
}
.selectPlan__itemNameTitle .--subject{
    display: inline-block;
    margin-right: 0.3em;
    font-size: 1.5em;
}

.selectPlan__price{
    padding: 1.3em 0;
    margin: 0 auto 1.3em;
    border: 1px solid #e2e2e2;
    border-left: none;
    border-right: none;
    text-align: center;
}

.selectPlan__outline{
    margin: 0 auto 1.3em;
}
.selectPlan__outlineItem{
    display: flex;
    gap: .5em;
    align-items: center;
}


.selectPlan__button a{
    padding: 0.2em;
    display: block;
    width: 100%;
    color: #fff;
    font-size: 2rem;
    font-family: var(--bold);
    font-weight: 700;
    text-align: center;
    border-radius: 0.2em;
    transition: all 0.3s ease-in-out;
}
.--excel .selectPlan__button a{
    background: var(--excel-color);
    border: 2px solid var(--excel-color);
}
.--excel .selectPlan__button a:hover{
    color: var(--excel-color);
}
.--word .selectPlan__button a{
    background: var(--word-color);
    border: 2px solid var(--word-color);
}
.--word .selectPlan__button a:hover{
    color: var(--word-color);
}
.--all .selectPlan__button a{
    background: var(--accent-color);
    border: 2px solid var(--accent-color);
}
.--all .selectPlan__button a:hover{
    color: var(--accent-color);
}
.selectPlan__button a:hover{
    background: #fff;
}

.cpMerit__cpBoxSub{
    background: var(--gradation);
}

.cpMerit__cpBoxMain{
    line-height: 1.6;
}
.cpMerit__cpBoxMain>span{
    background: var(--gradation);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cpMerit__cpBoxMain>span>span,
.cpMerit__cpBoxMain>span>a{
    display: inline-block;
}
.cpMerit__cpBoxMain a{
    color: #f09c5a;
    background-clip: unset;
    -webkit-text-fill-color: #f09c5a;
}

.qaImg{
    margin-bottom: .5em;
    border: 1px solid #e2e2e2;
}
.qaFlowList{
    display: none;
    height: 0;
    transition: all 0.1s ease-in-out;
}
.qaItem.open .qaFlowList{
    display: flex;
    flex-direction: column;
    gap: 2.5em;
    height: auto;
}
.qaFlowItem.--attention{
    font-size: .9em;
}
#qa-cancel,
#qa-purchase{
    scroll-margin-top: 7.5em;
}
.qaFlowItem a{
    color: #e94f59;
    text-decoration: underline;
}
.qaFlowItem a:hover{
    text-decoration: none;
}

@media(max-width: 750px){
    .selectPlan{
        flex-direction: column;
        gap: 2em;
    }
    .selectPlan__item{
        width: 88%;
        min-width: 280px;
    }
    .cp__merit .attention{
        text-align: left;
    }
}
@media(max-width: 600px){
    .cpMerit__cpBoxSub{
        font-size: 3.5vw;
    }
    .cpMerit__cpBoxMain{
        font-size: 4vw;
    }
}