/* --------------------------------------------------------------------------
# XXXXXXXX
-------------------------------------------------------------------------- */
/* @media all and (min-width: 768px),print {
}
@media screen and (max-width: 767px){
} */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@100..900&display=swap');

.font-jost {
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

:root {
    --black-color: #001A0C;
}
.u-bg-red{
    background: var(--primary-color-100);
}
.u-text-inderline{
    color: #CD0000;
    text-decoration: underline;
}
.u-bold{
    font-weight: 700;
}
.u-bg-gray-color-2{
    background: var( --gray-color-2);
}

.notice-text{
    color: var(--primary-color-100);
    font-size: calc(18 / var(--font-size) * 1rem);
}
.notice-text--s{
    font-size: calc(14 / var(--font-size) * 1rem);
}
.u-text-black{
    font-weight: 900;
}
.text-bold{
    font-weight: 700;
}
.text-underline{
    text-decoration: underline;
}
.c-note--asterisk {
    text-indent: -1em;
    text-align: left;
    margin-left: 1em;
    margin-top: calc(16 / var(--font-size) * 1rem);
    font-weight: 500;
}
.c-note--asterisk a{
    text-decoration: underline;
}
.c-note--asterisk::before {
    content: "※";
}
.c-note--num {
    padding-left: 1.5em;
}
.c-note--num li::before {
    content: "※";
}
.c-note--num a{
    text-decoration: underline;
}
html{
    scroll-padding-top: calc(85 / var(--font-size)* 1rem);
}


@media screen and (max-width: 767px){
    .c-note--asterisk {
        text-indent: -1em;
        text-align: center;
        margin-left: 1em;
        margin-top: calc(16 / var(--font-size) * 1rem);
        font-weight: 500;
    }
    .c-note--asterisk::before {
        content: "※";
    }
}
@media screen and (max-width: 767px){
    .c-note--asterisk {
        text-indent: -1em;
        text-align: center;
        margin-left: 1em;
        margin-top: calc(16 / var(--font-size) * 1rem);
        font-weight: 500;
    }
    .c-note--asterisk::before {
        content: "※";
    }
}

/* --------------------------------------------------------------------------
# common
-------------------------------------------------------------------------- */

@media all and (min-width: 768px),print {
    .u-hide-tab-pc {
        display: none !important;
    }
    .u-white-color{
        color: #fff !important;
    }
    .l-sec.lp{
        padding: calc(48 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem);
    }
    .lp-header {
        text-align: center;
        margin-bottom: calc(63 / var(--font-size) * 1rem);
    }
    .lp-header .c-txt {
        --txt-font-weight: 700;
        position: relative;
        font-size: calc(32 / var(--font-size) * 1rem);
        line-height: 1.5;
    }
    .lp-header__txt::after {
        content: '';
        display: block;
        width: calc(48 / var(--font-size) * 1rem);
        height: calc(4 / var(--font-size) * 1rem);
        position: absolute;
        bottom: calc(-24 / var(--font-size) * 1rem);
        left: 50%;
        transform: translateX(-50%);
        background: var(--primary-color-100);
    }
    .lp-header__txt span{
        color: var(--primary-color-100);
    }
    .text_underline{
    }
    .lp-header__txt span{
        font-size: calc(32 / var(--font-size) * 1rem);
        display: block;
    }
    .text_underline span{
        font-size: calc(20 / var(--font-size) * 1rem);
        position: relative;
        background: linear-gradient(transparent 65%, #FFFB00 65%);
        width: fit-content;
    }
    .c-header-lv2__txt{
        font-size: calc(32 / var(--font-size) * 1rem);
    }
    .c-header-lv2__txt span{
        font-size: calc(28 / var(--font-size) * 1rem);
        margin-right: .5em;
    }
    .u-txt-link{
        color: #006786;
        text-decoration: underline;
        margin-top: calc(13 / var(--font-size) * 1rem);
    }
}

@media screen and (max-width: 767px){
    .u-hide-sp {
        display: none !important;
    }
    .bl_scroll {
        overflow-x: auto;
        padding-bottom: 10px;
        -webkit-overflow-scrolling: touch;
    }
    .bl_scroll img {
      max-width: 100%;
      min-width: calc(800 / 375 * 100%);
      vertical-align: top;
    }
    .bl_scroll.bl_scroll--l img {
      min-width: calc(900 / 375 * 100%);
    }
    .scrollbar::-webkit-scrollbar {
      height: calc(6 / var(--font-size) * 1rem);
    }
    .scrollbar-thumb-rounded::-webkit-scrollbar-thumb {
      border-radius: 0.25rem;
    }
    .scrollbar-thumb-black::-webkit-scrollbar-thumb {
      --bg-opacity: 1;
      background-color: var(--gray-color-100);
    }
    .scrollbar::-webkit-scrollbar {
    height: calc(6 / var(--font-size) * 1rem);
    }
    .scrollbar-thumb-rounded::-webkit-scrollbar-thumb {
    border-radius: 0.25rem;
    }
    .scrollbar-thumb-black::-webkit-scrollbar-thumb {
    --bg-opacity: 1;
    background-color: var(--gray-color-100);
    }

    .l-sec__in {
        max-width: 100%;
        margin: auto;
    }
    .u-white-color{
        color: #fff !important;
    }
    .l-sec.lp{
        padding: calc(40 / var(--font-size) * 1rem) calc(15 / var(--font-size) * 1rem);
        position: relative;
    }
    .lp-header {
        text-align: center;
        margin-bottom: calc(65 / var(--font-size) * 1rem);
    }
    .lp-header .c-txt {
        --txt-font-weight: 700;
        position: relative;
        line-height: 1.5;
    }
    .lp-header__txt::after {
        content: '';
        display: block;
        width: calc(48 / var(--font-size) * 1rem);
        height: calc(4 / var(--font-size) * 1rem);
        position: absolute;
        bottom: calc(-22 / var(--font-size) * 1rem);
        left: 50%;
        transform: translateX(-50%);
        background: var(--primary-color-100);
    }
    .lp-header__txt span{
        color: var(--primary-color-100);
        display: block;
    }
    .text_underline{
    }
    .lp-header__txt{
        font-size: calc(20/ var(--font-size) * 1rem);
    }
    .lp-header__txt span{
        font-size: calc(26 / var(--font-size) * 1rem);
        font-weight: 700;
    }
    .text_underline span{
        font-size: calc(16 / var(--font-size) * 1rem);
        line-height: 1.5;
        position: relative;
        background: linear-gradient(transparent 65%, #FFFB00 65%);
        width: fit-content;
    }    
    .lp-btn .c-btn__label{
        font-feature-settings: 'palt';
    }
    .c-header-lv2__txt span{
        display: block;
        font-size: calc(22 / var(--font-size) * 1rem);
        margin-bottom: calc(8 / var(--font-size) * 1rem);
    }
    .u-txt-link{
        color: #006786;
        text-decoration: underline;
        margin-top: calc(13 / var(--font-size) * 1rem);
    }
}

/* background */
.main-container{
}
.lead{
    background: #fff;
}
.feature,.flow{
    background: #F8F8F8;
}



/* --------------------------------------------------------------------------
# kv
-------------------------------------------------------------------------- */
@media all and (min-width: 768px),print {
    .c-header-lp{
        position: relative;
        z-index: 2;
    }
    .c-header-lp__txt-lead{
        color: #1C2478;
    }
    .c-header-lp__txt-lead .text01{
        font-size: calc(32/1440*100vw);
        font-weight: 700;
        line-height: 1;
        display: block;
        margin-bottom: calc(16/1440*100vw);
    }
    .c-header-lp__txt-lead .text02{
        font-size: calc(44/1440*100vw);
        font-weight: 700;
        line-height: 1;
        display: block;
        padding-top: calc(16/1440*100vw);
        border-top: 1px solid #1C2478;
        width: fit-content;
    }
    .c-header-lp__txt-main img{
        width: calc(651.06/1440*100vw);
        display: block;
    }
    .c-header-lp__txt-main {
        margin-top: calc(32/1440*100vw);
    }
    .c-header-lp__txt-main .text--ja{
        color: #1C2478;
        font-size: calc(28/1440*100vw);
        font-weight: 700;
        line-height: 0;
        display: block;
        margin-top: calc(32/1440*100vw);
    }
    .c-header-price{
        font-size:  calc(29/1440*100vw) !important;
        letter-spacing: 0.1em;
    }
    .c-header__in {
        position: relative;
        margin: 0 auto;
        padding: calc(46 /1440*100vw) 0 0 calc(198/1440*100vw);
        max-width: unset;
    }
    .c-header__in::after{
        content: '';
        display: block;
        background: url(../img/exam-support/kv_bg_parts.png) right top no-repeat;
        background-size: cover;
        position: absolute;
        top: 0;
        right: 0;
        width: calc(542/1440*100vw);
        padding-top: calc(355/1440*100vw);
    }
    .c-header__in::before{
        display: none;
    }
    .main-container__header {
        padding: 0;
        height: calc(355 / 1440* 100vw);
        background: #FFFFCC;
    }
    .main-container{
        margin-bottom: calc(40 / var(--font-size)* 1rem);
    }
}
@media screen and (max-width: 767px){
    .c-header-lp{
        position: relative;
        z-index: 2;
    }
    .c-header-lp__txt-lead{
        color: #1C2478;
    }
    .c-header-lp__txt-lead .text01{
        font-size: calc(20/375*100vw);
        font-weight: 700;
        line-height: 1;
        display: block;
        margin-bottom: calc(8/375*100vw);
    }
    .c-header-lp__txt-lead .text02{
        font-size: calc(28/375*100vw);
        font-weight: 700;
        line-height: 1;
        display: block;
        padding-top: calc(8/375*100vw);
        border-top: 2px solid #1C2478;
        width: fit-content;
    }
    .c-header-lp__txt-main img{
        width: calc(240/375*100vw);
        display: block;
    }
    .c-header-lp__txt-main {
        margin-top: calc(31/375*100vw);
    }
    .c-header-lp__txt-main .text--ja{
        color: #1C2478;
        font-size: calc(16/375*100vw);
        font-weight: 700;
        line-height: 0;
        display: block;
        margin-top: calc(21/375*100vw);
    }
    .c-header-price{
        font-size:  calc(29/375*100vw) !important;
        letter-spacing: 0.1em;
    }
    .c-header__in {
        position: relative;
        margin: 0 auto;
        padding: calc(32 /375*100vw) 0 0 calc(30/375*100vw);
        max-width: unset;
        height: 100%;
    }
    .c-header__in::after{
        content: '';
        display: block;
        background: url(../img/exam-support/kv_bg_parts_sp.png) right bottom no-repeat;
        background-size: cover;
        position: absolute;
        bottom: 0;
        right: 0;
        width: calc(252/375*100vw);
        padding-top: calc(234/375*100vw);
    }
    .c-header__in::before{
        display: none;
    }
    .main-container__header {
        padding: 0;
        height: calc(426 / 375* 100vw);
        background: #FFFFCC;
    }
    .main-container{
        margin-bottom: calc(40 / var(--font-size)* 1rem);
    }
}

/* --------------------------------------------------------------------------
# lead
-------------------------------------------------------------------------- */
@media all and (min-width: 768px),print {
    .lead.l-sec.lp {
        padding-bottom: 0;
    }
    .lead .l-sec__in {
        max-width: calc(1048 / var(--font-size) * 1rem);
    }
    .lead-item{
        position: relative;
        width: calc(664 / var(--font-size) * 1rem);
        height: calc(251.87 / var(--font-size) * 1rem);
        margin: 0 auto;
    }
    .lead-item::before{
        content: '';
        display: block;
        background: url(../img/exam-support/img_lead.png) left top no-repeat;
        background-size: cover;
        position: absolute;
        top: 0;
        left: 0;
        width: calc(664 / var(--font-size) * 1rem);
        height: calc(251.87 / var(--font-size) * 1rem);
    }
    .lead .lead-text {
        color: #fff;
        font-size: calc(26 / var(--font-size) * 1rem);
        text-align: center;
        line-height: 1.5;
        font-weight: 700;
        z-index: 2;
        width: fit-content;
        position: absolute;
        top: 50%;
        left: calc(40 / var(--font-size) * 1rem);
        transform: translateY(-50%);
    }
    .lead .lead-text {
        text-align: center;
    }
}
@media screen and (max-width: 767px){
    .lead.l-sec.lp {
    }
    .lead .l-sec__in {
    }
    .lead-item{
        position: relative;
        width: calc(335 / var(--font-size) * 1rem);
        height: calc(286.88 / var(--font-size) * 1rem);
        margin: 0 auto;
    }
    .lead-item::before{
        content: '';
        display: block;
        background: url(../img/exam-support/img_lead_sp.png) left top no-repeat;
        background-size: cover;
        position: absolute;
        top: 0;
        left: 0;
        width: calc(335 / var(--font-size) * 1rem);
        height: calc(286.88 / var(--font-size) * 1rem);
    }
    .lead .lead-text {
        color: #fff;
        font-size: calc(18 / var(--font-size) * 1rem);
        text-align: center;
        line-height: 1.8;
        font-weight: 700;
        z-index: 2;
        width: 100%;
        position: relative;
        padding-top: 22px;
    }
    .lead .lead-text {
        text-align: center;
    }
}



/* --------------------------------------------------------------------------
# lp-sec-header
-------------------------------------------------------------------------- */
@media (min-width: 768px), print{
    .c-header-lv2 {
        --header-lv2-font-size: 36;
        text-align: center;
        margin-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .c-header-lv2__in {
        justify-content: center;
        color: #FFF;
        padding: calc(10 / var(--font-size) * 1rem) 0 calc(12 / var(--font-size) * 1rem);
    }
    .lp-sec-header__txt {
        margin-top: calc(40 / var(--font-size) * 1rem)
    }
    .lp-header__txt span {
        color: var(--black-color);
    }
    .lp-header__txt::after{
        background: linear-gradient(90deg, #015AA9 0%, #D52250 100%);
    }
}
@media screen and (max-width: 767px){
    .c-header-lv2 {
        --header-lv2-font-size: 36;
        text-align: center;
        margin-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .c-header-lv2__in {
        justify-content: center;
        color: #FFF;
        padding: calc(10 / var(--font-size) * 1rem) 0 calc(12 / var(--font-size) * 1rem);
    }
    .lp-sec-header__txt {
        margin-top: calc(40 / var(--font-size) * 1rem)
    }
    .lp-header__txt span {
        color: var(--black-color);
    }
    .lp-header__txt::after{
        background: linear-gradient(90deg, #015AA9 0%, #D52250 100%);
        width: calc(36 / var(--font-size) * 1rem);
    }
}




/* --------------------------------------------------------------------------
# merit
-------------------------------------------------------------------------- */
@media all and (min-width: 768px),print {
    .merit .lp-header__txt{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: calc(13 / var(--font-size) * 1rem);
    }
    .merit .lp-header__txt span{
        color: var(--black-color);
    }
    .merit .lp-header__txt span.text--s{
        font-size: calc(22 / var(--font-size) * 1rem);
    }
    .merit .lp-header__txt span.text--m{
        font-size: calc(32 / var(--font-size) * 1rem);
    }
    .merit-item{
    }
    .merit-item__content {
        display: flex;
        gap: calc(12 / var(--font-size) * 1rem);
        padding-top: 0;
        justify-content: center;
        flex-direction: column;
        width: fit-content;
        margin: 0 auto;
    }
    .merit-item-card {
        max-width: 766px;
        width: 100%;
        position: relative;
        background: #FFFFCC;
        padding: calc(20 / var(--font-size) * 1rem)calc(31 / var(--font-size) * 1rem);
    }
    .merit-item-card__body {
        position: relative;
        width: 100%;
        display: flex;
        align-items: center;
    }
    .merit-item-card__cotnent{
        margin-left: calc(24 / var(--font-size) * 1rem);
    }
    .merit-item-card__num p {
        font-size: calc(44 / var(--font-size) * 1rem);
        color: #B8B856;
        font-family: Jost;
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        letter-spacing: 2.2px;
    }
    .merit-item-card__header {
        font-size: calc(20 / var(--font-size) * 1rem);
        margin-bottom: calc(7 / var(--font-size) * 1rem);
        line-height: 1.5;
        display: flex;
    }
    .merit-item-card__txtarea .c-txt {
    }
    .merit-item-card .u-link {
        position: relative;
        margin-top: calc(32 / var(--font-size) * 1rem);
        width: fit-content;
    }
    .merit-item-card .u-link::after{
        content: '';
        display: block;
        background: url(../img/common/ico_arrow_top_green.svg) center center no-repeat;
        width: calc(6 / var(--font-size) * 1rem);
        height: calc(12 / var(--font-size) * 1rem);
        position: absolute;
        top: 50%;
        right: calc(-15 / var(--font-size) * 1rem);
        transform: translateY(-50%);
    }
}
@media screen and (max-width: 767px){
    .merit .l-sec.lp{
        padding-top: 0;
    }
    .merit .lp-header__txt{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    .merit .lp-header__txt span{
        color: var(--black-color);
    }
    .merit .lp-header__txt span.text--s{
        font-size: calc(20 / var(--font-size) * 1rem);
    }
    .merit .lp-header__txt span.text--m{
        font-size: calc(28 / var(--font-size) * 1rem);
    }
    .merit-item{
    }
    .merit-item__content {
        display: flex;
        gap: calc(30 / var(--font-size) * 1rem);
        padding-top: 0;
        justify-content: center;
        flex-direction: column;
        width: fit-content;
        margin: 0 auto;
    }
    .merit-item-card {
        max-width: 766px;
        width: 100%;
        position: relative;
        background: #FFFFCC;
        padding: calc(31 / var(--font-size) * 1rem)calc(20 / var(--font-size) * 1rem)calc(26 / var(--font-size) * 1rem);
    }
    .merit-item-card__body {
        position: relative;
        width: 100%;
        display: flex;
        align-items: center;
    }
    .merit-item-card__cotnent{
    }
    .merit-item-card__num{
        position: absolute;
        top: calc(-65 / var(--font-size) * 1rem);
    }
    .merit-item-card:nth-of-type(2n) .merit-item-card__num{
        position: absolute;
        top: calc(-65 / var(--font-size) * 1rem);
        left: unset;
        right: 0;
    }
    .merit-item-card__num p {
        font-size: calc(44 / var(--font-size) * 1rem);
        color: #B8B856;
        font-family: Jost;
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        letter-spacing: 2.2px;
    }
    .merit-item-card__header {
        font-size: calc(18 / var(--font-size) * 1rem);
        margin-bottom: calc(7 / var(--font-size) * 1rem);
        line-height: 1.5;
        display: flex;
    }
    .merit-item-card__txtarea .c-txt {
    }
    .merit-item-card .u-link {
        position: relative;
        margin-top: calc(32 / var(--font-size) * 1rem);
        width: fit-content;
    }
    .merit-item-card .u-link::after{
        content: '';
        display: block;
        background: url(../img/common/ico_arrow_top_green.svg) center center no-repeat;
        width: calc(6 / var(--font-size) * 1rem);
        height: calc(12 / var(--font-size) * 1rem);
        position: absolute;
        top: 50%;
        right: calc(-15 / var(--font-size) * 1rem);
        transform: translateY(-50%);
    }
}


/* --------------------------------------------------------------------------
# feature
-------------------------------------------------------------------------- */
@media all and (min-width: 768px),print {
    .feature{
    }
    .feature__content {
        display: flex;
        gap: calc(31 / var(--font-size) * 1rem);
        justify-content: center;
    }
    .feature-card {
        width: calc(290 / var(--main-width) * 100%);
        display: flex;
        position: relative;
        background: #fff;
        border-radius: calc(16 / var(--font-size) * 1rem);
        padding: calc(23 / var(--font-size) * 1rem)calc(26 / var(--font-size) * 1rem)calc(29 / var(--font-size) * 1rem);
        box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.10);
    }
    .feature-card__body {
        position: relative;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .feature-card__img {
        margin-bottom: calc(27 / var(--font-size) * 1rem);
    }
    .feature-card__header {
        font-size: calc(20 / var(--font-size) * 1rem);
        margin-bottom: calc(17 / var(--font-size) * 1rem);
        line-height: 1.5;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    .feature-card__txtarea .c-txt {
        text-align: center;
    }

}
@media screen and (max-width: 767px){
    .feature{
    }
    .feature__content {
        display: flex;
        gap: calc(31 / var(--font-size) * 1rem);
        justify-content: center;
        flex-direction: column;
    }
    .feature-card {
        display: flex;
        position: relative;
        background: #fff;
        border-radius: calc(16 / var(--font-size) * 1rem);
        padding: calc(30 / var(--font-size) * 1rem)calc(20 / var(--font-size) * 1rem)calc(29 / var(--font-size) * 1rem);
        box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.10);
    }
    .feature-card__body {
        position: relative;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .feature-card__img {
        margin-bottom: calc(32 / var(--font-size) * 1rem);
        width: calc(160 / var(--font-size) * 1rem);
    }
    .feature-card__header {
        font-size: calc(18 / var(--font-size) * 1rem);
        margin-bottom: calc(17 / var(--font-size) * 1rem);
        line-height: 1.5;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    .feature-card__txtarea .c-txt {
        text-align: center;
    }

}


/* --------------------------------------------------------------------------
# contact-growth
-------------------------------------------------------------------------- */
@media all and (min-width: 768px),print {
    .contact-growth{
        background: #FFEF87;
    }
    .contact-growth .contact-sec__in {
        padding: calc(40 / var(--font-size) * 1rem) 0 calc(63 / var(--font-size) * 1rem);
    }
    .bl_contact-item{
        display: flex;
        justify-content: space-between;
        max-width: 743px;
        margin: 0 auto;
    }
    .contact-item{
        width: calc(320 / var(--font-size) * 1rem);
    }
    .contact-item-img{
        width: calc(209.33 / var(--font-size) * 1rem);
        margin: 0 auto calc(19 / var(--font-size) * 1rem);
    }
    .contact-item-text{
        font-weight: 700;
        color: #CE2955;
        margin-bottom: calc(8 / var(--font-size) * 1rem);
    }
    .contact-item .c-btn {
        --btn-width: 302;
        --btn-height: 76;
    }
    .contact-item .c-btn__in {
        background-color: #CE2955;
        border-radius: 100px;
        box-shadow: 1px 1px 10px 0px rgba(0, 26, 12, 0.25);
    }
    .contact-item .c-btn__label {
        font-size: calc(20 / var(--font-size) * 1rem);
    }
    .contact-item-img{
        width: calc(224 / var(--font-size) * 1rem);
        margin: 0 auto;
    }
    .item02 .contact-item-text{
        color: #2479B6;
    }
    .contact-item.item02 .c-btn__in {
        background-color: #2479B6;
    }

}
@media screen and (max-width: 767px){
    .contact-growth{
        background: #FFEF87;
    }
    .contact-growth .contact-sec__in {
        padding: calc(24 / var(--font-size) * 1rem) 0 calc(40 / var(--font-size) * 1rem);
    }
    .bl_contact-item{
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        flex-direction: column;
        gap: calc(45 / var(--font-size) * 1rem);
    }
    .contact-item{
    }
    .contact-item-img{
        width: calc(180 / var(--font-size) * 1rem);
        margin: 0 auto calc(19 / var(--font-size) * 1rem);
    }
    .contact-item-text{
        font-weight: 700;
        color: #CE2955;
        margin-bottom: calc(13 / var(--font-size) * 1rem);
    }
    .contact-item .c-btn {
        --btn-width: 302;
        --btn-height: 65;
    }
    .contact-item .c-btn__in {
        background-color: #CE2955;
        border-radius: 100px;
        box-shadow: 1px 1px 10px 0px rgba(0, 26, 12, 0.25);
    }
    .contact-item .c-btn__label {
        font-size: calc(20 / var(--font-size) * 1rem);
    }
    .contact-item-img{
        width: calc(180 / var(--font-size) * 1rem);
        margin: 0 auto;
    }
    .item02 .contact-item-text{
        color: #2479B6;
    }
    .contact-item.item02 .c-btn__in {
        background-color: #2479B6;
    }

}



/* --------------------------------------------------------------------------
# difference
-------------------------------------------------------------------------- */
.text_underline{

}
.text_underline span {
    position: relative;
    background: linear-gradient(transparent 65%, #FFFD8C 65%);
    width: fit-content;
    font-weight: 700;
}
@media all and (min-width: 768px),print {
    .difference .lp-header__txt span.text--s{
        font-size: calc(28 / var(--font-size) * 1rem);
    }
    .difference .lp-header__txt span.text--m{
        font-size: calc(32 / var(--font-size) * 1rem);
    }
    .difference-lead p + p{
        margin-top: calc(14 / var(--font-size) * 1rem);
    }
    .difference-qa{
        display: flex;
        background: #FFF7F7;
        border-radius: calc(16 / var(--font-size) * 1rem);
        padding: calc(46 / var(--font-size) * 1rem) calc(18 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem);
        margin: calc(40 / var(--font-size) * 1rem) 0;
    }
    .difference-qa-img{
        width: calc(385 / var(--font-size) * 1rem);
        flex-shrink: 0;
    }
    .difference-qa-text{
        margin-left: calc(35 / var(--font-size) * 1rem);
    }
    .difference-qa-text .c-txt.u-center{
        color: #535755;
        margin-top: calc(5 / var(--font-size) * 1rem);
    }
    .difference-qa-text-head{
        text-align: center;
        font-size: calc(20 / var(--font-size) * 1rem);
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }
    .difference-qa-text-head + .difference-qa-text-head{
        margin-top: 1em;
    }
    .difference-qa-text-head span.font-jost{
        color: #2479B6;
        text-align: center;
        font-family: Jost;
        font-size: 40px;
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
    }
    .q-text::after{
        content: '';
        display: block;
        background: url(../img/exam-support/ison_arrow.svg) no-repeat center top;
        width: 25px;
        height: 11px;
        background-size: contain;
        position: absolute;
        bottom: calc(-15 / var(--font-size) * 1rem);
        left: 50%;
        transform: translateX(-50%);
    }
    .icon-arrow-down img{
        width: 100%;
        height: 100%;
     }
    .difference-qa-text-head.a-text{
        font-weight: 400;
        text-align: left;
    }
    .difference-qa-text-head.a-text span.font-jost{
        color: #E17798;
    }
    .text-strong{
        font-weight: 700;
        color: #D92B61;
        text-decoration: underline;
    }

    .line-head-text {
        position: relative;
        padding: .5rem 1.5rem;
        font-size: calc(28 / var(--font-size) * 1rem);
        font-weight: bold;
        text-align: center;
        width: fit-content;
        margin: 0 auto;
    }
    .line-head-text::before,
    .line-head-text::after {
        position: absolute;
        top: 0.8rem;
        height: 1.8rem;
        content: '';
    }
    .line-head-text::before {
        border-left: solid 2px;
        left: 0;
        transform: rotate(-20deg);
    }
    .line-head-text::after {
        border-right: solid 2px;
        right: 0;
        transform: rotate(20deg);
    }
    .difference-merit {
        margin-top: calc(30 / var(--font-size) * 1rem);
    }
    .difference-merit .merit-item__content{
        flex-direction: initial;
        max-width: 936px;
        width: 100%;
    }
    .difference-merit .merit-item-card__body{
        flex-direction: column;
    }
    
    .difference-merit .merit-item-card__num p {
        font-size: calc(34 / var(--font-size) * 1rem);
    }
    .difference-merit .merit-item-card__header{
        font-size: calc(18 / var(--font-size) * 1rem);
        font-style: normal;
        font-weight: 700;
        line-height: 150%; /* 27px */
        text-align: center;
    }
    .difference-merit .merit-item-card {
        width: calc(222 / var(--font-size) * 1rem);
        max-width: unset;
        width: 100%;
        position: relative;
        background: #FFFFCC;
        padding: calc(21 / var(--font-size) * 1rem);
        border-radius: calc(12 / var(--font-size) * 1rem);
    }
    .difference-merit .merit-item-card__cotnent {
        margin-left: 0;
    }

}
@media screen and (max-width: 767px){
    .difference .lp-header__txt span.text--s{
        font-size: calc(20 / var(--font-size) * 1rem);
    }
    .difference .lp-header__txt span.text--m{
        font-size: calc(28 / var(--font-size) * 1rem);
    }
    .difference-lead p + p{
        margin-top: calc(14 / var(--font-size) * 1rem);
    }
    .difference-qa{
        display: flex;
        background: #FFF7F7;
        border-radius: calc(16 / var(--font-size) * 1rem);
        padding: calc(46 / var(--font-size) * 1rem) calc(18 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem);
        margin: calc(34 / var(--font-size) * 1rem) 0;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .difference-qa-img{
        width: calc(320/375*100vw);
        margin-bottom: calc(32 / var(--font-size) * 1rem);
    }
    .difference-qa-text .c-txt.u-center{
        color: #535755;
        margin-top: calc(9 / var(--font-size) * 1rem);
    }
    .difference-qa-text-head{
        text-align: center;
        font-size: calc(18 / var(--font-size) * 1rem);
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }
    .difference-qa-text-head + .difference-qa-text-head{
        margin-top: 1em;
    }
    .difference-qa-text-head span.font-jost{
        color: #2479B6;
        text-align: center;
        font-family: Jost;
        font-size: calc(40 / var(--font-size) * 1rem);
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        margin-right: calc(7 / var(--font-size) * 1rem);
    }
    .q-text::after{
        content: '';
        display: block;
        background: url(../img/exam-support/ison_arrow.svg) no-repeat center top;
        width:  calc(33 / var(--font-size) * 1rem);
        height: calc(15 / var(--font-size) * 1rem);
        background-size: contain;
        position: absolute;
        bottom: calc(-12 / var(--font-size) * 1rem);
        left: 50%;
        transform: translateX(-50%);
    }
    .icon-arrow-down img{
        width: 100%;
        height: 100%;
     }
    .difference-qa-text-head.a-text{
        font-weight: 400;
        text-align: left;
    }
    .difference-qa-text-head.a-text span.font-jost{
        color: #E17798;
    }
    .text-strong{
        font-weight: 700;
        color: #D92B61;
        text-decoration: underline;
    }

    .line-head-text {
        position: relative;
        padding: .5rem 1.5rem;
        font-size: calc(24 / var(--font-size) * 1rem);
        font-weight: bold;
        text-align: center;
        width: fit-content;
        margin: 0 auto;
        line-height: 1.5;
    }
    .line-head-text::before,
    .line-head-text::after {
        position: absolute;
        top: 0.8rem;
        height: 4.5rem;
        height: calc(65 / var(--font-size) * 1rem);
        content: '';
    }
    .line-head-text::before {
        border-left: solid 2px;
        left: calc(-4 / var(--font-size) * 1rem);
        transform: rotate(-20deg);
    }
    .line-head-text::after {
        border-right: solid 2px;
        right: calc(-4 / var(--font-size) * 1rem);
        transform: rotate(20deg);
    }
    .difference-merit {
        margin-top: calc(30 / var(--font-size) * 1rem);
    }
    .difference-merit .merit-item__content{
        display: flex;
        gap: calc(15 / var(--font-size) * 1rem);
        flex-direction: initial;
        width: 100%;
        flex-wrap: wrap;
    }
    .difference-merit .merit-item-card__body{
        flex-direction: column;
    }
    
    .difference-merit .merit-item-card__num{
        position: relative;
        top: unset;
    }
    .difference-merit .merit-item-card:nth-of-type(2n) .merit-item-card__num {
        position: relative;
        inset: unset;
    }
    .difference-merit .merit-item-card__num p {
        font-size: calc(34 / var(--font-size) * 1rem);
    }
    .difference-merit .merit-item-card__header{
        font-size: calc(16 / var(--font-size) * 1rem);
        font-style: normal;
        font-weight: 700;
        line-height: 150%; /* 27px */
        text-align: center;
        margin-bottom: 0;
        font-feature-settings: "palt";
    }
    .difference-merit .merit-item-card {
        width: calc(160 / var(--font-size) * 1rem);
        width: calc(160/375*100vw);
        max-width: unset;
        position: relative;
        background: #FFFFCC;
        padding: calc(23 / var(--font-size) * 1rem)calc(16 / var(--font-size) * 1rem);
        border-radius: calc(12 / var(--font-size) * 1rem);
    }
    .difference-merit .merit-item-card__cotnent {
        margin-left: 0;
    }

}
@media screen and (max-width: 480px){
    .difference-merit .merit-item-card__header{
        font-size: calc(13 / var(--font-size) * 1rem);
    }
}

/* --------------------------------------------------------------------------
# flow
-------------------------------------------------------------------------- */
@media all and (min-width: 768px),print {
}
@media screen and (max-width: 767px){
}


/* --------------------------------------------------------------------------
# structure
-------------------------------------------------------------------------- */
@media all and (min-width: 768px),print {
    .structure{
    }
    .structure__content {
        --problem-col: 3;
        --problem-gap-x: 22;
        display: flex;
        gap: calc(54 / var(--font-size) * 1rem);
        padding: calc(32 / var(--font-size) * 1rem) calc(36 / var(--font-size) * 1rem);
        justify-content: center;
        background: #F1CADD;
        border-radius: calc(12 / var(--font-size) * 1rem);
        margin-top: calc(11 / var(--font-size) * 1rem);
    }
    .structure-card {
        width: calc(288 / var(--main-width) * 100%);
        display: flex;
        position: relative;
    }
    .structure-card.structure-card--02{
        width: calc(347 / var(--main-width) * 100%);
    }
    .structure-card:nth-of-type(n+2)::before{
        content: '';
        display: block;
        background: url(/wp-content/themes/toasu/assets/img/exam-support/icon_plus.svg) no-repeat center top;
        background-size: contain;
        width: 26px;
        height: 26px;
        position: absolute;
        top: 50%;
        left: calc(-40 / var(--font-size) * 1rem);
        transform: translateY(-50%);
    }
    .structure-card__body {
        background-color: #fff;
        padding: calc(16 / var(--font-size) * 1rem) calc(18 / var(--font-size) * 1rem);
        position: relative;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #000;
        border-radius: calc(5 / var(--font-size) * 1rem);
        border: calc(1 / var(--font-size) * 1rem) solid #000;
    }
    .structure-card__cotnent{
        width: 100%;
    }
    .structure-card__txt {
        font-weight: 700;
        line-height: 1.8;
        font-size: calc(22 / var(--font-size) * 1rem);
        text-align: center;
        padding-bottom: calc(10 / var(--font-size) * 1rem);
        margin-bottom: calc(8 / var(--font-size) * 1rem);
        border-bottom: 2px solid #F1CADD;
    }
    .structure-card__txt02{
        font-size: calc(15 / var(--font-size) * 1rem);
        text-align: center;
        font-style: normal;
        font-weight: 500;
        line-height: 150%; /* 22.5px */
        font-feature-settings: "palt";
    }
    .structure-bottom-text{
        margin-top: calc(24 / var(--font-size) * 1rem);
        font-size: calc(18 / var(--font-size) * 1rem);
        text-align: center;
    }
    .structure-card__txt .text-head{
        font-size: calc(22 / var(--font-size) * 1rem);
    }
}
@media screen and (max-width: 767px){
    .structure{
    }
    .structure__content {
        --problem-col: 1;
        --problem-gap-x: 22;
        display: flex;
        gap: calc(54 / var(--font-size) * 1rem);
        padding: calc(30 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem);
        justify-content: center;
        background: #F1CADD;
        border-radius: calc(12 / var(--font-size) * 1rem);
        margin-top: calc(11 / var(--font-size) * 1rem);
        flex-direction: column;
    }
    .structure-card {
        /* width: calc(265 / var(--main-width) * 100%); */
        display: flex;
        position: relative;
    }

    .structure-card:nth-of-type(n+2)::before{
        content: '';
        display: block;
        background: url(/wp-content/themes/toasu/assets/img/exam-support/icon_plus.svg) no-repeat center top;
        background-size: contain;
        width: 26px;
        height: 26px;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .structure-card__body {
        background-color: #fff;
        padding: calc(22 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem);
        position: relative;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #000;
        border-radius: calc(5 / var(--font-size) * 1rem);
        border: calc(1 / var(--font-size) * 1rem) solid #000;
    }
    .structure-card__cotnent{
        width: 100%;
    }
    .structure-card__txt {
        font-weight: 700;
        line-height: 1.8;
        font-size: calc(22 / var(--font-size) * 1rem);
        text-align: center;
        padding-bottom: calc(10 / var(--font-size) * 1rem);
        margin-bottom: calc(10 / var(--font-size) * 1rem);
        border-bottom: 2px solid #F1CADD;
    }
    .structure-card__txt .text-head{
        font-size: calc(22 / var(--font-size) * 1rem);
    }
    .structure-card__txt .c-txt.c-txt--s{
        font-size: calc(14 / var(--font-size) * 1rem);
    }
    .structure-card__txt02{
        font-size: calc(15 / var(--font-size) * 1rem);
        text-align: center;
        font-style: normal;
        font-weight: 500;
        line-height: 150%; /* 22.5px */
        font-feature-settings: "palt";
    }
    .structure-bottom-text{
        margin-top: calc(24 / var(--font-size) * 1rem);
        text-align: left;
        font-size: calc(18 / var(--font-size) * 1rem);
        line-height: 1.8;
    }

}





/* --------------------------------------------------------------------------
# XXXXXXXX
-------------------------------------------------------------------------- */
/* @media all and (min-width: 768px),print {
}
@media screen and (max-width: 767px){
} */