@charset "UTF-8";

/* --- Global Settings --- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

@font-face {
    font-family: "Oswald";
    src: url('/camp/numberless_student/index4/font/Oswald-Bold.woff') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --Text-Primary-main: #96C31D;
    --Text-Primary-sub: #7DA21A;
    --Text-Accent: #F05C22;
    --Text-Main: #0F0F0F;
    --Text-Sub-1: #666666;
    --Text-Sub-2: #E4E4E4;
    --Text-Sub-3: #FFFFFF;

    --A-MAIN-BLACK: #26160B;

    --bg-Primary-main: #96C31D;
    --bg-Primary-sub: #8AB21E;
    --bg-Accent: #F05C22;
    --bg-Black: #0F0F0F;
    --bg-White: #FFFFFF;
    --bg-Gray-main: #F1F5F4;
    --bg-Gray-sub: #D4DEDB;
}

/* --- common --- */

main {
    overflow: hidden;
}

img {
    width: 100%;
}

a:hover {
    opacity: 0.7;
}

.nowrap {
    white-space: nowrap;
}

@media screen and (max-width: 768px) {
    .pc-only {
        display: none !important;
    }
}
@media screen and (min-width: 769px) {
    .sp-only {
        display: none !important;
    }
}

/* --- js-acc  --- */
.js-acc {
    cursor: pointer;
}

.js-acc:hover .js-acc-head  {
    opacity: 0.7;
}

.js-acc-body {
    display: none;
}

/* --- js-tab-panel  --- */
.js-tab-btn {
    cursor: pointer;
}

.js-tab-panel {
    display: none;
}

.js-tab-panel.is-active {
    display: block;
}

/* --- c-h2  --- */
.c-h2 {
}

.c-h2_item {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (12 / 375));
}

.c-h2_ttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(100vw * (12 / 375));
}

.c-h2_ttl.c-h2_ttl--center {
    align-items: center;
}

.c-h2_ttl-label {
    /* background: var(--bg-Black, #0F0F0F); */
    padding: calc(100vw * (4 / 375)) calc(100vw * (16 / 375));
}

.c-h2_ttl-txt {
    color: var(--Text-Sub-3, #FFF);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (32 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 41.6px */
    letter-spacing: calc(100vw * (0.96 / 375));
}

@media screen and (min-width: 769px) {
    .c-h2 {
        display: flex;
        gap: 30px;
        align-items: center;
    }

    .c-h2:has(.c-h2_ttl--center) {
        justify-content: center;
    }

    .c-h2_deco {
        max-width: 283px;
        width: 100%;
    }

    .c-h2_item {
        gap: 24px;
    }

    .c-h2_ttl {
        gap: 12px;
    }

    .c-h2_ttl-label {
        padding: 4px 16px;
    }

    .c-h2_ttl-txt {
        font-size: 48px;
        letter-spacing: 1.44px;
    }

    .c-h2_fig {
        max-width: 377px;
        width: 100%;
    }
}


/* --- c-h2_char-01  --- */
.c-h2_deco.c-h2_char-01 {
    position: relative;
    width: calc(100vw * (200 / 375));
    margin: calc(100vw * (-10 / 375)) auto 0;
}

.c-h2_deco.c-h2_char-01 .c-h2_char {
    position: relative;
    z-index: 1;
}

.c-h2_deco.c-h2_char-01 .c-h2_icon-01 {
    width: calc(100vw * (52 / 375));
    position: absolute;
    top: calc(100vw * (45 / 375));
    left: 0;
}

.c-h2_deco.c-h2_char-01 .c-h2_icon-02 {
    width: calc(100vw * (52 / 375));
    position: absolute;
    top: 0;
    right: 0;
}

@media screen and (min-width: 769px) {
    .c-h2_deco.c-h2_char-01 {
        max-width: 283px;
        width: 100%;
        margin: 0;
    }

    .c-h2_deco.c-h2_char-01 .c-h2_char {
        width: 100%;
    }

    .c-h2_deco.c-h2_char-01 .c-h2_icon-01 {
        width: 75px;
        top: 60px;
    }

    .c-h2_deco.c-h2_char-01 .c-h2_icon-02 {
        width: 75px;
        top: 10px;
    }
}


/* --- c-h2_char-02  --- */
.c-h2_deco.c-h2_char-02 {
    position: relative;
    width: calc(100vw * (180 / 375));
    margin: calc(100vw * (-50 / 375)) 0 0 auto;
}

.c-h2_deco.c-h2_char-02 .c-h2_char {
    position: relative;
    z-index: 1;
}

.c-h2_deco.c-h2_char-02 .c-h2_icon-01 {
    position: absolute;
    width: calc(100vw * (45 / 375));
    top: calc(100vw * (36 / 375));
    left: calc(100vw * (5 / 375));
    z-index: 1;
}

.c-h2_deco.c-h2_char-02 {
    position: relative;
    margin-top: calc(100vw * (-50 / 375));
}

.c-h2_deco.c-h2_char-02 .c-h2_char {
    width: calc(100vw * (180 / 375));
    margin: 0 0 0 auto;
}

@media screen and (min-width: 769px) {
    .c-h2_deco.c-h2_char-02 {

max-width: 283px;

width: 100%;

margin: auto;

}

    .c-h2_deco.c-h2_char-02 .c-h2_char {

width: 100%;

}

    .c-h2_deco.c-h2_char-02 .c-h2_icon-01 {

width: 70px;

top: 55px;

left: 5px;

}

    .c-h2_deco.c-h2_char-02 {

    }

    .c-h2_deco.c-h2_char-02 .c-h2_char {

    }
}

/* --- c-h2_char-03  --- */
.c-h2_deco.c-h2_char-03 {
    position: relative;
    width: calc(100vw * (200 / 375));
    margin: calc(100vw * (-100 / 375)) 0 0 auto;
}

.c-h2_deco.c-h2_char-03 .c-h2_char {
    position: relative;
    z-index: 1;
}

.c-h2_deco.c-h2_char-03 .c-h2_icon-01 {
    position: absolute;
    width: calc(100vw * (65 / 375));
    top: calc(100vw * (45 / 375));
    left: calc(100vw * (-5 / 375));
}

.c-h2_deco.c-h2_char-03 .c-h2_icon-02 {
    position: absolute;
    width: calc(100vw * (65 / 375));
    top: calc(100vw * (45 / 375));
    right: calc(100vw * (-8 / 375));
}

@media screen and (min-width: 769px) {
    .c-h2_deco.c-h2_char-03 {
        max-width: 283px;
        width: 100%;
        margin: auto;
    }

    .c-h2_deco.c-h2_char-03 .c-h2_char {
        width: 100%;
    }

    .c-h2_deco.c-h2_char-03 .c-h2_icon-01 {
        max-width: 105px;
        width: 100%;
        left: -20px;
        top: 60px;
    }

    .c-h2_deco.c-h2_char-03 .c-h2_icon-02 {
        max-width: 105px;
        width: 100%;
        right: -20px;
        top: 60px;
    }
}

/* --- c-h2_char-04  --- */
.c-h2_deco.c-h2_char-04 {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    margin: calc(100vw * (10 / 375)) auto 0;
}

.c-h2_deco.c-h2_char-04 .c-h2_char {
    position: relative;
    z-index: 1;
    width: 50%;
}

.c-h2_deco.c-h2_char-04 .c-h2_bln {
    position: relative;
    z-index: 1;
    width: 50%;
}

.c-h2_deco.c-h2_char-04 .c-h2_icon {
    position: absolute;
    width: calc(100vw * (45 / 375));
    top: calc(100vw * (45 / 375));
    left: 0;
}

@media screen and (min-width: 769px) {
    .c-h2_deco.c-h2_char-04 {
        max-width: 263px;
        width: 100%;
        flex-direction: column;
    }

    .c-h2_deco.c-h2_char-04 .c-h2_char {
        width: 100%;
}

    .c-h2_deco.c-h2_char-04 .c-h2_bln {
        width: 100%;
        margin-bottom: 7.5px;
    }

    .c-h2_deco.c-h2_char-04 .c-h2_icon {
        width: 80px;
        top: 50px;
    }
}


/* --- c-h3  --- */
.c-h3 {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.c-h3_bln {
    position: relative;
    padding: calc(100vw * (12 / 375)) calc(100vw * (24 / 375));
    border-radius: calc(100vw * (10 / 375));
    background: var(--bg-Black, #0F0F0F);
    margin-bottom: calc(100vw * (12 / 375));
}

.c-h3_bln-txt {
    color: var(--Text-Sub-3, #FFF);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (18 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: calc(100vw * (0.54 / 375));
    text-align: center;
}

.c-h3 .c-h3_bln-txt .c-txt-green {
    color: var(--Text-Primary-main, #96C31D);
}

.c-h3 .c-txt-green {
    color: var(--Text-Primary-sub, #7DA21A);
}

.c-h3_bln::before {
    content: "";
    background-image: url(/camp/numberless_student/index4/img/Polygon.svg);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(100vw * (28 / 375));
    height: calc(100vw * (22 / 375));
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100vw * (-12 / 375));
    margin: auto;
}

.c-h3_ttl {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (12 / 375));
}

.c-h3_ttl::after {
    content: "";
    width: calc(100vw * (120 / 375));
    height: calc(100vw * (5 / 375));
    margin: auto;
    border-radius: var(--full, 999px);
    background: var(--Text-Primary-main, #96C31D);
}

.c-h3_ttl-txt {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (24 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 36px */
    letter-spacing: calc(100vw * (0.72 / 375));
}

.c-h3_ttl-txt .-large {
    color: var(--Text-Primary-sub, #7DA21A);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (32 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: calc(100vw * (0.96 / 375));
}

@media screen and (min-width: 769px) {
    .c-h3_bln {
        padding: 12px 24px;
        border-radius: 10px;
        margin-bottom: 12px;
    }

    .c-h3_bln-txt {
        font-size: 20px;
        letter-spacing: 0.6px;
    }

    .c-h3_bln::before {
        width: 28px;
        height: 22px;
        bottom: -12px;
    }

    .c-h3_ttl {
        gap: 12px;
    }

    .c-h3_ttl-txt {
        font-size: 32px;
        letter-spacing: 0.96px;
    }

    .c-h3_ttl-txt .-large {
        font-size: 48px;
        letter-spacing: 1.44px;
    }

    .c-h3_ttl::after {
        width: 120px;
        height: 5px;
        border-radius: 999px;
    }
}

/* --- c-h4  --- */
.c-h4 {
    display: flex;
    flex-direction: column;
}

.c-h4_ttl {
    text-align: center;
}

.c-h4_ttl-txt {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (20 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 26px */
    letter-spacing: calc(100vw * (0.6 / 375));
}

@media screen and (min-width: 769px) {
    .c-h4_ttl-txt {
        font-size: 24px;
        letter-spacing: 0.72px;
    }
}

/* --- c-txt --- */
.c-txt {
    color: var(--Text-Main, #0F0F0F);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 18px */
    letter-spacing: calc(100vw * (0.36 / 375));
}

.c-txt-green {
    color: var(--Text-Primary-main, #96C31D);
}

.c-txt-orange {
    color: var(--Text-Accent, #F05C22) !important;
}

.c-txt-bold {
    font-weight: 700;
}

.c-txt-underline {
    text-decoration: underline;
}

.c-txt-link {
    color: var(--Text-Main, #0F0F0F);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 170%; /* 20.4px */
    text-decoration: underline;
}

.c-txt-link::after {
    content: "";
    background-image: url("/camp/numberless_student/index4/img/icon_link.svg");
    background-repeat: no-repeat;
    filter: brightness(0) saturate(100%) invert(0%) sepia(7%) saturate(7492%) hue-rotate(93deg) brightness(104%) contrast(88%);
    width: calc(100vw * (12 / 375));
    height: calc(100vw * (12 / 375));
    display: inline-block;
    margin-left: calc(100vw * (4 / 375));
}

.c-txt-link[data-modal]::after {
    background-image: url("/camp/numberless_student/index4/img/ad_group.svg");
}

.c-txt-center {
    text-align: center;
}

.c-txt-orange .c-txt-link {
    color: var(--Text-Accent, #F05C22);
}

.c-txt-green .c-txt-link {
    color: var(--Text-Primary-main, #96C31D);
}

.c-txt-orange .c-txt-link::after {
    filter: brightness(0) saturate(100%) invert(40%) sepia(47%) saturate(2741%) hue-rotate(351deg) brightness(99%) contrast(90%);
}

.c-txt-green .c-txt-link::after {
    filter: brightness(0) saturate(100%) invert(59%) sepia(70%) saturate(475%) hue-rotate(35deg) brightness(103%) contrast(92%);
}

@media screen and (min-width: 769px) {
    .c-txt {
        font-size: 14px;
        letter-spacing: 0.42px;
    }

    .c-txt-link {
        font-size: 12px;
    }

    .c-txt-link::after {
        width: 12px;
        height: 12px;
        margin-left: 4px;
    }

}


/* --- c-note --- */
.c-note {
    margin-top: calc(100vw * (8 / 375));
}

.cta_inr > .c-note,
.panel_inr > .c-note,
.panel_item > .c-note,
.panel_cont-wrap > .c-note,
.panel_cont > .c-note,
.acc_body-item > .c-note,
.precautions_item > .c-note {
    margin-top: 0;
}

.info-table_td  > .c-note {
    margin-top: calc(100vw * (4 / 375));
}

.c-note_item {
    color: var(--Text-Sub-1, #666);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (10 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 15px */
    position: relative;
    padding-left: 1.2em;
}

.c-note_item[data-note] {
    padding-left: 1.8em;
}

.c-note_item::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
}

.c-note_item[data-note]::before {
    content: "※" attr(data-note);
    position: absolute;
    left: 0;
    top: 0;
}

.c-note_item.c-note_item--nomark {
    padding-left: 0;
}

.c-note_item.c-note_item--nomark::before {
    content: none;
}

.c-note_item .c-txt-link {
    color: var(--Text-Sub-1, #666);
    font-size: calc(100vw * (10 / 375));
}

.c-note_item .c-txt-link::after {
    filter: brightness(0) saturate(100%) invert(63%) sepia(0%) saturate(6474%) hue-rotate(17deg) brightness(65%) contrast(115%);
}

.c-note_item.c-txt-orange .c-txt-link {
    color: var(--Text-Accent, #F05C22);
}

.c-note_item.c-txt-green .c-txt-link {
    color: var(--Text-Primary-main, #96C31D);
}

.c-note_item.c-txt-orange .c-txt-link::after {
    filter: brightness(0) saturate(100%) invert(40%) sepia(47%) saturate(2741%) hue-rotate(351deg) brightness(99%) contrast(90%);
}

.c-note_item.c-txt-green .c-txt-link::after {
    filter: brightness(0) saturate(100%) invert(59%) sepia(70%) saturate(475%) hue-rotate(35deg) brightness(103%) contrast(92%);
}

.c-note.c-note--center {
    text-align: center;
}

.c-note.c-note--center .c-note_item {
    display: inline-block;
}

@media screen and (min-width: 769px) {
    .c-note {
        margin-top: 8px;
    }

    .c-note.c-note--pccenter {
        text-align: center;
    }

    .c-note_item {
        font-size: 12px;
    }

    .c-note.c-note--pccenter .c-note_item {
        display: inline-block;
    }

    .c-note_item .c-txt-link {
        font-size: 12px;
    }
}

/* --- c-list --- */
.c-list_item {
    position: relative;
    padding-left: 1.2em;
    color: var(--Text-Main, #0F0F0F);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    line-height: 170%;
}

.c-list_item::before {
    content: '・';
    position: absolute;
    left: 0;
    top: 0;
}

.c-note .c-list_item {
    color: var(--Text-Sub-1, #666);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (10 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 170%; /* 20.4px */
}

.c-list_item .c-txt-link {
    color: var(--Text-Sub-1, #666);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (10 / 375));
}

.c-list_item .c-txt-link::after {
    filter: brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(1%) hue-rotate(183deg) brightness(94%) contrast(80%);
}

@media screen and (min-width: 769px) {
    .c-list_item {
        font-size: 12px;
    }

    .c-note .c-list_item {
        font-size: 12px;
    }

    .c-list_item .c-txt-link {
        font-size: 12px;
    }
}


/* --- header --- */
.header {
    position: fixed;
    z-index: 99;
    width: auto;
    top: 0;
    right: 0;
}

.header_inr {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    padding: calc(100vw * (4 / 375)) calc(100vw * (8 / 375)) calc(100vw * (4 / 375)) calc(100vw * (16 / 375));
}

.header_menu-btn {
    width: calc(100vw * (44 / 375));
    padding: calc(100vw * (14 / 375)) calc(100vw * (10 / 375));
    cursor: pointer;
}

.header_nav {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background: var(--bg-Gray-main, #F1F5F4);
    opacity: 0;
    visibility: hidden;
    transform: translateY(calc(100vw * (20 / 375)));
    transition: all 0.6s ease;
    padding: calc(100vw * (64 / 375)) calc(100vw * (24 / 375));
}

.header_nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.header_nav-close {
    width: calc(100vw * (44 / 375));
    position: absolute;
    top: calc(100vw * (16 / 375));
    right: calc(100vw * (16 / 375));
}

.header_nav-list {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.header_nav-item {
    border-top: 1px solid var(--bg-Gray-sub, #D4DEDB);
    opacity: 0;
    transform: translateY(calc(100vw * (20 / 375)));
    transition: all .6s;
}

.header_nav-item:last-child {
    border-bottom: 1px solid var(--bg-Gray-sub, #D4DEDB);
}

.header_nav.is-open .header_nav-item {
    opacity: 1;
    transform: translateY(0);
}

.header_nav.is-open .header_nav-item:nth-child(1) { transition-delay: 0.1s; }
.header_nav.is-open .header_nav-item:nth-child(2) { transition-delay: 0.2s; }
.header_nav.is-open .header_nav-item:nth-child(3) { transition-delay: 0.3s; }
.header_nav.is-open .header_nav-item:nth-child(4) { transition-delay: 0.4s; }
.header_nav.is-open .header_nav-item:nth-child(5) { transition-delay: 0.5s; }
.header_nav.is-open .header_nav-item:nth-child(6) { transition-delay: 0.6s; }

.header_nav-item a {
    display: block;
    width: 100%;
    padding: calc(100vh * (13.5 / 375));
    color: var(--A-MAIN-BLACK, #26160B);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (16 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
}

@media screen and (min-width: 769px) {

    .header_inr {
        padding: 0 0 0 48px;
    }

    .header_menu-btn {
        width: 90px;
        padding: 32px 26px;
    }

    .header_nav {
        padding: 64px 24px;
    }

    .header_nav-close {
        width: 60px;
        top: 25px;
        right: 25px;
        cursor: pointer;
    }

    .header_nav-close:hover {
        opacity: 0.7;
    }

    .header_nav-item a {
        color: var(--A-MAIN-BLACK, #26160B);
        text-align: center;
        font-family: "Noto Sans JP";
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 150%; /* 30px */
        padding: 32px 0;
    }

    .header_nav-list {
        height: 100%;
        justify-content: center;
    }
}


/* --- kv --- */
.kv {
    position: relative;
    background-image: url("/camp/numberless_student/index4/img/img_bg01_sp.png"), url("/camp/numberless_student/index4/img/img_bg02_sp.png");
    background-size: 100%, 100%;
    background-position: top, bottom;
    background-repeat: no-repeat;
}

.kv_inr {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (8 / 375));
    padding: 0 0 calc(100vw * (8 / 375));
}

.kv_logo {
    width: calc(100vw * (160 / 375));
    padding-top: calc(100vw * (10 / 375));
    padding-left: calc(100vw * (16 / 375));
}

.kv_main {
    width: calc(100vw * (323 / 375));
    margin: 0 auto;
    position: relative;
}

.kv_deco {
    position: relative;
    pointer-events: none;
}

.kv_deco-char-01 {
    position: absolute;
    width: calc(100vw * (180 / 375));
    left: calc(100vw * (-50 / 375));
    top: calc(100vw * (31 / 375));
}

.kv_deco-char-02 {
    position: absolute;
    width: calc(100vw * (180 / 375));
    right: calc(100vw * (-50 / 375));
    top: calc(100vw * (31 / 375));
}

.kv_deco-bln {
    width: calc(100vw * (237 / 375));
    margin: 0 auto;
}

.kv_offer {
    margin-top: calc(100vw * (-14 / 375));
}

@media screen and (min-width: 850px) {
    .kv {
        position: relative;
        background-image: url(/camp/numberless_student/index4/img/img_bg01_pc.png), url(/camp/numberless_student/index4/img/img_bg02_pc.png);
    }

    .kv_inr {
        padding: 0 16px 40px;
        position: relative;
        gap: 22px;
    }

    .kv_logo {
        max-width: 295px;
        padding-top: 10px;
    }

    .kv_main {
        max-width: 55.55vw;
        max-width: 800px;
        width: 100%;
        position: relative;
        z-index: 1;
    }

    .kv_main > img {
        display: block;
        max-width: 33.33vw;
        max-width: 480px;
        width: 100%;
        margin: 0 auto;
    }

    .kv_deco {
        position: absolute;
        width: 100%;
        height: 100%;
    }

    .kv_deco-char {
        width: 100%;
    }

    .kv_deco-char-01 {
        width: 20.83vw;
        height: 23.05vw;
        width: 300px;
        height: 332px;
        top: 0;
        bottom: 0;
        margin: auto;
        left: -30px;
    }

    .kv_deco-char-02 {
        width: 20.83vw;
        height: 23.05vw;
        width: 300px;
        height: 332px;
        top: 0;
        bottom: 0;
        margin: auto;
        right: -30px;
    }

    .kv_deco-bln {
        width: auto;
    }

    .kv_deco-bln-01 {
        position: absolute;
        width: 11vw;
        width: 160px;
        top: 25px;
        left: 0;
    }

    .kv_deco-bln-02 {
        position: absolute;
        width: 11vw;
        width: 160px;
        bottom: 20px;
        left: 0;
    }

    .kv_deco-bln-03 {
        position: absolute;
        width: 11vw;
        width: 160px;
        top: 25%;
        right: 0;
    }

    .kv_offer {
        margin-top: -20px;
    }
}

@media screen and (min-width: 851px) and (max-width: 1199px) {
    .kv_deco-bln {
        max-width: 500px;
        width: 100%;
        margin-top: 20px;
    }
}

@media screen and (max-width: 1199px) {
    .kv-only-01 {
        display: none !important;
    }
}

@media screen and (max-width: 850px), screen and (min-width: 1200px) {
    .kv-only-02 {
        display: none !important;
    }
}

@media screen and (min-width: 851px) {
    .kv-only-03 {
        display: none !important;
    }
}

@media screen and (min-width: 1200px) {
    .kv-only-04 {
        display: none !important;
    }
}


/* --- cp --- */
.cp-card {
    width: calc(100vw * (343 / 375));
    margin: 0 auto;
    padding-bottom: calc(100vw * (10 / 375));
    border-radius: calc(100vw * (10 / 375));
    position: relative;
    display: block;
}

.cp-card_head {
    background: var(--bg-Black, #0F0F0F);
    padding: calc(100vw * (8 / 375)) 0;
    border-radius: calc(100vw * (10 / 375)) calc(100vw * (10 / 375)) 0 0;
}

.cp-card_label {
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 21px */
}

.cp-card_body {
    border-right: 4px solid var(--bg-Gray-sub, #D4DEDB);
    border-bottom: 4px solid var(--bg-Gray-sub, #D4DEDB);
    border-left: 4px solid var(--bg-Gray-sub, #D4DEDB);
    background: var(--bg-White, #FFF);
    padding: calc(100vw * (8 / 375)) calc(100vw * (16 / 375)) calc(100vw * (14 / 375));
    border-radius: 0 0 calc(100vw * (10 / 375)) calc(100vw * (10 / 375));
}

.cp-card_txt {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 14px */
}

.cp-card_benefit {
    display: flex;
    gap: calc(100vw * (4 / 375));
    justify-content: center;
    align-items: baseline;
}

.cp-card_unit {
    color: var(--Text-Primary-sub, #7DA21A);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (21.346 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 21.346px */
}

.cp-card_val {
    color: var(--Text-Primary-sub, #7DA21A);
    text-align: center;
    font-family: Oswald;
    font-size: calc(100vw * (48 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 57.6px */
}

.cp-card_icon {
    position: absolute;
    width: calc(100vw * (25 / 375));
    margin: auto;
    left: 0;
    right: 0;
    bottom: 0;
}

@media screen and (min-width: 850px) {
    .cp-card {
        max-width: 800px;
        width: 100%;
        border-radius: 10px;
        padding-bottom: 15px;
    }
        
    .cp-card:hover {
        opacity: 0.7 !important;
    }

    .cp-card_head {
        padding: 12px 0;
        border-radius: 10px 10px 0 0;
    }

    .cp-card_label {
        font-size: 16px;
    }

    .cp-card_body {
        padding: 8px 16px 24px;
        border-radius: 0 0 10px 10px;
    }

    .cp-card_txt {
        font-size: 16px;
    }

    .cp-card_unit {
        font-size: 24px;
    }

    .cp-card_val {
        font-size: 64px;
    }

    .cp-card_benefit {
        gap: 4px;
    }

    .cp-card_body-item {
        display: flex;
        justify-content: center;
        align-items: baseline;
        gap: 8px;
    }

    .cp-card_icon {
        width: 30px;
    }
}

/* --- cta --- */
.cta {
    background: var(--bg-Primary-main, #96C31D);
}

.cta_inr {
    width: calc(100vw * (282 / 375));
    padding: calc(100vw * (32 / 375)) 0;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * (8 / 375));
}

.cta_list {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (16 / 375));
    width: 100%;
}

.cta_bln {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 21px */
    letter-spacing: calc(100vw * (0.42 / 375));
    margin-bottom: calc(100vw * (4 / 375));
    width: calc(100vw * (335 / 375));
    left: 50%;
    transform: translateX(-50%);
    position: relative;
}

.cta_btn {
    border-radius: var(--full, 999px);
    border: 2px solid var(--bg-Black, #0F0F0F);
    padding: calc(100vw * (16 / 375)) calc(100vw * (24 / 375));
    display: flex;
    position: relative;
}

.cta_btn.cta_btn--or {
    background: #F05C22;
}

.cta_btn.cta_btn--wh {
    background: #ffffff;
}

.cta_btn-txt {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 21px */
    position: relative;
    flex: 1px;
}

.cta_btn.cta_btn--or .cta_btn-txt {
    color: #ffffff;
}

.cta_btn-txt::after {
    content: "";
    background-image: url(/camp/numberless_student/index4/img/icon_link.svg);
    background-repeat: no-repeat;
    width: calc(100vw * (12 / 375));
    height: calc(100vw * (12 / 375));
    position: absolute;
    right: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.cta_btn.cta_btn--or .cta_btn-txt::after {
    background-image: url(/camp/numberless_student/index4/img/icon_link.svg);
    filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(897%) hue-rotate(236deg) brightness(114%) contrast(100%);
}

.cta_btn[data-modal] .cta_btn-txt::after {
    background-image: url(/camp/numberless_student/index4/img/ad_group.svg);
}

.cta .c-note_item {
    color: var(--Text-Main, #0F0F0F);
}

@media screen and (min-width: 769px) {
    .cta_inr {
        max-width: 800px;
        width: 100%;
        padding: 32px 16px;
        gap: 8px;
    }

    .cta_list {
        flex-direction: row;
        gap: 16px;
    }

    .cat_list-item {
        width: calc((100% - 16px) / 2);
    }

    .cta_bln {
        font-size: 14px;
        letter-spacing: 0.42px;
        margin-bottom: 4px;
        width: auto;
        left: 0;
        transform: translateX(0%);
    }

    .cta_btn {
        padding: 24px;
    }

    .cta_btn-txt {
        font-size: 16px;
    }

    .cta_btn-txt::after {
        width: 12px;
        height: 12px;
    }

    .cta_inr .c-note_item {
        display: inline-block;
    }
}

/* --- main-cont --- */
.main-cont {}

.main-cont-item {
    padding: 0 calc(100vw * (16 / 375)) calc(100vw * (64 / 375));
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (32 / 375));
    position: relative;
    background-image: url(/camp/numberless_student/index4/img/img_bg01_sp.png), url(/camp/numberless_student/index4/img/img_bg02_sp.png);
    background-size: 100%, 102%;
    background-position: top, bottom;
    background-repeat: no-repeat;
}

.main-cont-item:last-child {
    background: var(--bg-Gray-main, #F1F5F4);
}

@media screen and (min-width: 769px) {
    .main-cont-item {
        background-image: url(/camp/numberless_student/index4/img/img_bg01_pc.png), url(/camp/numberless_student/index4/img/img_bg02_pc.png);
        padding: 0 16px 60px;
        gap: 48px;
        margin-top: -1px;
    }

    .main-cont-item > .c-h2 {
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
    }
}

/* --- anc --- */
.anc {
    padding: calc(100vw * (64 / 375)) calc(100vw * (16 / 375));
    background: var(--bg-Gray-main, #F1F5F4);
}

.anc_inr {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (24 / 375));
}
.anc_main {
    position: relative;
    text-align: center;
}

.anc_main-bg {
    position: absolute;
    width: calc(100vw * (343 / 375));
    margin: auto;
    left: 0;
    right: 0;
    bottom: 0;
}

.anc_main-fig {
    width: calc(100vw * (171 / 375));
    margin: 0 auto;
    position: relative;
}

.anc_list {
    display: flex;
    gap: calc(100vw * (12 / 375));
}

.anc_list-item {
    width: calc((100% - calc(100vw * (12 / 375))) / 2);
    position: relative;
    padding-bottom: calc(100vw * (14 / 375));
}

.anc_bln {
    background: var(--bg-Black, #0F0F0F);
    padding: calc(100vw * (6 / 375)) calc(100vw * (16 / 375));
    display: inline-block;
    border-radius: calc(100vw * (10 / 375));
    margin-bottom: calc(100vw * (12 / 375));
    position: relative;
}

.anc_bln-txt {
    color: var(--Text-Sub-3, #FFF);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (24 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 36px */
    letter-spacing: calc(100vw * (0.72 / 375));
}

.anc_bln::before {
    content: "";
    background-image: url(/camp/numberless_student/index4/img/Polygon.svg);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(100vw * (28 / 375));
    height: calc(100vw * (22 / 375));
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100vw * (-12 / 375));
    margin: auto;
}


.anc_btn {
    display: flex;
    padding: calc(100vw * (16 / 375)) 0;
    border-radius: calc(100vw * (10 / 375));
    border: 2px solid var(--bg-Gray-sub, #D4DEDB);
    background: var(--bg-White, #FFF);
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 calc(100vw * (4 / 375)) 0 rgba(0, 0, 0, 0.20);
}

.anc_btn-emp {
    color: var(--Text-Primary-sub, #7DA21A);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (28 / 375));
    font-style: normal;
    font-weight: 900;
    line-height: 120%; /* 33.6px */
    letter-spacing: calc(100vw * (0.84 / 375));
}

.anc_btn-txt {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (24 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 28.8px */
    letter-spacing: calc(100vw * (0.72 / 375));
}

.anc_btn-icon {
    position: absolute;
    width: calc(100vw * (24 / 375));
    height: calc(100vw * (24 / 375));
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

@media screen and (min-width: 769px) {
    .anc {
        padding: 80px 16px;
    }

    .anc_inr {
        gap: 24px;
    }

    .anc_main-bg {
        max-width: 700px;
        width: 100%;
    }

    .anc_bln {
        padding: 7px 32px;
        border-radius: 10px;
        margin-bottom: 22px;
    }

    .anc_bln-txt {
        font-size: 32px;
        letter-spacing: 0.96px;
    }

    .anc_bln::before {
        width: 28px;
        height: 22px;
        bottom: -12px;
    }

    .anc_main-fig {
        max-width: 256px;
    }

    .anc_list {
        gap: 24px;
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
    }

    .anc_list-item {
        width: calc((100% - 12px) / 2);
        padding-bottom: 15px;
    }

    .anc_btn {
        padding: 24px;
        border-radius: 10px;
        box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.20);
    }

    .anc_btn-txt {
        font-size: 32px;
        letter-spacing: 0.96px;
    }

    .anc_btn-emp {
        font-size: 40px;
        letter-spacing: 1.2px;
    }

    .anc_btn-icon {
        width: 30px;
        height: 30px;
    }
}

/* --- panel --- */
.panel {
    border-radius: calc(100vw * (10 / 375));
    border: 2px solid var(--bg-Gray-sub, #D4DEDB);
    background: var(--bg-White, #FFF);
}

.panel_inr {
    padding: calc(100vw * (32 / 375)) calc(100vw * (16 / 375));
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (32 / 375));
}

.panel_item {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (24 / 375));
}

.panel_cont-wrap {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (24 / 375));
}

.panel_cont {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (16 / 375));
}

@media screen and (min-width: 769px) {
    .panel {
        max-width: 1000px;
        width: 100%;
        margin: 0 auto;
        border-radius: 10px;
    }

    .panel_inr {
        padding: 64px 48px;
        gap: 64px;
    }

    .panel_item {
        gap: 32px;
    }
    
    .panel_cont-wrap {
        gap: 24px;
    }

    .panel_cont {
        gap: 16px;
    }

    .panel_cont > *:not(.acc, .faq) {
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
    }
}

/* --- full-fig --- */
.full-fig {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (16 / 375));
}

@media screen and (min-width: 769px) {
    .full-fig {
        gap: 24px;
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
    }
}

/* --- acc --- */
.acc {
    width: 100%;
}

.acc_item {
    padding: calc(100vw * (16 / 375));
    border-radius: var(--lg, calc(100vw * (10 / 375)));
    border: 2px solid var(--bg-Black, #0F0F0F);
    background: var(--bg-White, #FFF);
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (24 / 375));
}

.acc_head {
    position: relative;
    display: flex;
}

.acc_head-txt {
    color: #1A1A1A;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 21px */
    letter-spacing: calc(100vw * (0.42 / 375));
    flex: 1;
}

.acc_body-item {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (8 / 375));
}

.acc_body-item + .acc_body-item {
    margin-top: calc(100vw * (24 / 375));
}

.acc_head.js-acc-head::after {
    content: "＋";
    font-size: calc(100vw * (16 / 375));
}

.acc_head.js-acc-head.is-open::after {
    content: "－";
}

@media screen and (min-width: 769px) {
    .acc_item {
        padding: 16px;
        border-radius: 10px;
        gap: 24px;
    }

    .acc_item:hover .acc_head {
        opacity: 0.7;
    }

    .acc_item:has(.acc_body:hover) .acc_head {
        opacity: 1;
    }

    .acc_head-txt {
        font-size: 14px;
        letter-spacing: 0.42px;
    }

    .acc_head.js-acc-head::after {
        font-size: 16px;
    }

    .acc_body {
        cursor: auto;
    }

    .acc_body-item {
        gap: 8px;
    }

    .acc_body-item + .acc_body-item {
        margin-top: 24px;
    }
}

/* --- card --- */
.card-grp.card-grp--col2 {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (24 / 375));
}

.card_inr {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (16 / 375));
    padding: 0 calc(100vw * (8 / 375));
}

.card_fig {
    border: 2px solid var(--bg-Gray-sub, #D4DEDB);
}

.card_fig.card_fig--noborder {
    border: none;
}

.card_body {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (6 / 375));
}

@media screen and (min-width: 769px) {
    .card-grp.card-grp--col2 {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 24px;
    }

    .card-grp.card-grp--col2 .card {
        width: calc((100% - 24px) / 2);
    }

    .card-grp.card-grp--col3 {
        max-width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 24px;
        margin: 0;
    }

    .card-grp.card-grp--col3 .card {
        width: calc((100% - 48px) / 3);
    }

    .card_inr {
        gap: 16px;
        padding: 0;
    }

    .card_body {
        gap: 8px;
    }

    .card-grp {
        max-width: 700px;
        width: 100%;
        gap: 24px;
        margin: 0 auto;
    }
}

/* --- js-card-cal --- */
.js-card-cal {
    position: relative;
    margin: 0 calc(100vw * (-16 / 375));
}

.js-card-cal .slick-list {
    padding: 0 calc(100vw * (8 / 375));
}

.js-card-cal .slick-dots {
    border: none;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    gap: calc(100vw * (16 / 375));
    list-style: none;
    text-align: center;
    margin: calc(100vw * (12 / 375)) 0 0;
    height: calc(100vw * (12 / 375));
}

.js-card-cal .slick-dots li {
    position: relative;
    display: inline-block;
    width: calc(100vw * (12 / 375));
    height: calc(100vw * (12 / 375));
    padding: 0;
    cursor: pointer;
    background-color: var(--bg-Gray-sub, #D4DEDB);
    border-radius: 50%;
}

.js-card-cal .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: calc(100vw * (10 / 375));
    height: calc(100vw * (10 / 375));
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.js-card-cal .slick-dots li.slick-active {
    background-color: var(--bg-Primary-main, #96C31D);
}

.js-card-cal .slick-arrow {
    width: calc(100vw * (30 / 375));
    height: calc(100vw * (30 / 375));
    position: absolute;
    top: calc(100vw * (73.5 / 375));
    z-index: 10;
}

.card-grp.card-grp--col2.js-card-cal .slick-arrow {
    top: calc(100vw * (210 / 375));
}

.js-card-cal .slick-prev.slick-arrow {
    transform: rotate(90deg);
    left: 0;
}

.js-card-cal .slick-next.slick-arrow {
    transform: rotate(-90deg);
    right: 0;
}

.js-card-cal .slick-arrow.slick-disabled {
    display: none !important;
}

@media screen and (min-width: 769px) {
}

/* --- point-table --- */
.point-table {}

.point-table_row {
    display: flex;
}

.point-table_th {
    background: var(--bg-Primary-sub, #8AB21E);
    width: calc(100vw * (105 / 375));
    height: calc(100vw * (54 / 375));
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-bottom: 1px solid var(--bg-Gray-main, #F1F5F4);
}

.point-table_th.point-table_th--hauto {
    height: auto;
}

.point-table:last-child .point-table_row:last-child .point-table_th {
    border-bottom: none;
}

.point-table_ttl {
    color: var(--Text-Sub-3, #FFF);
    text-align: center;
    font-feature-settings: 'halt' on;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 900;
    line-height: 150%; /* 21px */
}

.point-table_td {
    flex: 1;
    padding: calc(100vw * (8 / 375)) calc(100vw * (16 / 375));
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: calc(100vw * (2 / 375));
    border-right: 1px solid var(--bg-Gray-sub, #D4DEDB);
    border-bottom: 1px solid var(--bg-Gray-sub, #D4DEDB);
}

.point-table_td.point-table_td--center {
    align-items: center;
}

.point-table:first-child .point-table_row:first-child .point-table_td {
    border-top: 1px solid var(--bg-Gray-sub, #D4DEDB);
}

.point-table_unit {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-feature-settings: 'halt' on;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (16 / 375));
    font-style: normal;
    font-weight: 900;
    line-height: 100%; /* 16px */
}

.point-table_val {
    color: var(--Text-Primary-sub, #7DA21A);
    text-align: center;
    font-family: Oswald;
    font-size: calc(100vw * (24 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 24px */
}

.point-table_val .num {
    color: var(--Text-Primary-sub, #7DA21A);
    text-align: center;
    font-family: Oswald;
    font-size: calc(100vw * (38 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: calc(100vw * (-1.9 / 375));
    margin-right: calc(100vw * (2 / 375));
}

.point-table_lgtxt {
    color: var(--Text-Primary-sub, #7DA21A);
    text-align: center;
    font-feature-settings: 'halt' on;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (26 / 375));
    font-style: normal;
    font-weight: 900;
    line-height: 100%; /* 26px */
}

.point-table_td.point-table_td--label {
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * (4 / 375));
}

.point-table_td-label {
    color: var(--Text-Sub-3, #FFF);
    text-align: center;
    font-feature-settings: 'halt' on;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    font-weight: 900;
    line-height: 100%; /* 12px */
    border-radius: calc(100vw * (99 / 375));
    background: var(--bg-Primary-sub, #8AB21E);
    padding: calc(100vw * (4 / 375)) 0;
    width: 100%;
}

@media screen and (min-width: 769px) {
    .point-table_th {
        max-width: 138px;
        width: 100%;
        height: auto;
    }

    .point-table_th.point-table_th--hautopc {
        height: auto;
    }

    .point-table_ttl {
        font-size: 14px;
    }

    .point-table_td {
        gap: 2px;
        padding: 16px;
        text-wrap: nowrap;
    }

    .point-table_unit {
        font-size: 16px;
    }

    .point-table_val {
        font-size: 28px;
        letter-spacing: 2.24px;
    }

    .point-table_val .num {
        font-size: 38px;
        letter-spacing: -1.9px;
        margin-right: 2px;
    }

    .point-table_lgtxt {
        font-size: 30px;
    }

    .point-table_wrap {
        display: flex;
        gap: 12px;
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
    }

    .point-table {
        display: flex;
        flex-direction: column;
        width: calc((100% - 12px) / 2);
    }

    .point-table_row:last-child {
        flex: 1;
    }

    .point-table .point-table_row:first-child .point-table_td {
        border-top: 1px solid var(--bg-Gray-sub, #D4DEDB);
    }
    
    .point-table_td-label {
        font-size: 12px;
        padding: 4px 0;
    }

    .point-table_td.point-table_td--label {
        gap: 4px;
        padding: 8px 16px;
    }
}

/* --- faq --- */
.faq {}

.faq-item {
    padding: calc(100vw * (24 / 375)) 0;
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (16 / 375));
    border-bottom: 1px solid var(--bg-Gray-sub, #D4DEDB);
}

.faq_head {
    display: flex;
    gap: calc(100vw * (16 / 375));
}

.faq_head::after {
    content: "＋";
    width: calc(100vw * (32 / 375));
    height: calc(100vw * (32 / 375));
    background: var(--bg-Primary-sub, #8AB21E);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    font-size: calc(100vw * (20 / 375));
    padding-bottom: calc(100vw * (2 / 375));
    position: relative;
    top: 0;
    bottom: 0;
    margin: auto;
}

.faq_head.js-acc-head.is-open::after {
    content: "－";
}

.faq_q-lable {
    width: calc(100vw * (23 / 375));
}

.faq_q-txt {
    color: var(--Text-Main, #0F0F0F);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 21px */
    letter-spacing: calc(100vw * (0.42 / 375));
    flex: 1;
}

.faq_body {
    padding: 0 0 0 calc(100vw * (37 / 375));
    display: none;
}

.faq-scroll {
    width: 100%;
    overflow-x: auto;
}

@media screen and (min-width: 769px) {
    .faq-item {
        padding: 24px 16px;
        gap: 16px;
    }

    .faq_head {
        gap: 16px;
        align-items: center;
    }

    .faq_q-lable {
        width: 23px;
    }

    .faq_q-txt {
        font-size: 14px;
        letter-spacing: 0.42px;
    }

    .faq_head::after {
        width: 32px;
        height: 32px;
        font-size: 20px;
        padding-bottom: 2px;
    }

    .faq_body {
        padding-left: 37px;
    }
}

/* --- faq-table --- */

.faq-table {
    display: flex;
    flex-direction: column;
    width: calc(100vw * (676 / 375));
}

.faq-table_head {
    display: flex;
}

.faq-table_th {
    display: flex;
    width: calc(100vw * (288 / 375));
    height: calc(100vw * (50 / 375));
    padding: calc(100vw * (8 / 375));
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--bg-Primary-sub, #8AB21E);
}

.faq-table_th + .faq-table_th {
    border-left : 1px solid var(--Text-Sub-3, #FFF);
}

.faq-table_ttl {
    color: var(--Text-Sub-3, #FFF);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 18px */
    letter-spacing: calc(100vw * (0.36 / 375));
}

.faq-table_row {
    display: flex;
}

.faq-table_td {
    display: flex;
    width: calc(100vw * (288 / 375));
    height: calc(100vw * (50 / 375));
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid var(--bg-Gray-sub, #D4DEDB);
    border-left: 1px solid var(--bg-Gray-sub, #D4DEDB);
    background: var(--bg-White, #FFF);
}

.faq-table_th:first-child,
.faq-table_td:first-child {
    width: calc(100vw * (448 / 375));
}

.faq-table_td:last-child {
    border-right: 1px solid var(--bg-Gray-sub, #D4DEDB);
}

.faq-table_row.faq-table_row-hauto .faq-table_td {
    height: auto;
}

.faq-table_td-head {
    display: flex;
    width: calc(100vw * (160 / 375));
    height: 100%;
    padding: calc(100vw * (8 / 375));
    flex-direction: column;
    justify-content: center;
    text-align: center;
    background: var(--bg-Gray-main, #F1F5F4);
}

.faq-table_td-body {
    display: flex;
    padding: calc(100vw * (8 / 375)) calc(100vw * (12 / 375));
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(100vw * (4 / 375));
    flex: 1;
}

@media screen and (min-width: 769px) {
    .faq-table {
        width: 736px;
    }

    .faq-table_th:first-child,
    .faq-table_td:first-child {
        width: 448px;
    }

    .faq-table_th {
        width: 288px;
        height: 50px;
        padding: 8px;
    }

    .faq-table_ttl {
        font-size: 14px;
        letter-spacing: 0.42px;
    }

    .faq-table_td {
        width: 288px;
        height: 50px;
    }

    .faq-table_td-head {
        width: 160px;
        padding: 8px;
    }

    .faq-table_td-body {
        padding: 8px 12px;
        gap: 4px;
    }
}

@media screen and (min-width: 769px) {
    .detail {
        display: flex;
        align-items: center;
        gap: 16px;
    }

    .detail_fig {
        max-width: 340px;
        width: 100%;
    }

    .detail_body {
        display: flex;
        flex-direction: column;
        gap: 16px;
        flex: 1;
    }

    .detail_body .c-h4_ttl {
        text-align: left;
    }
}

/* --- app-pickup --- */
.app-pickup {
    border-radius: calc(100vw * (10 / 375));
    background: var(--bg-Gray-main, #F1F5F4);
    padding: calc(100vw * (32 / 375)) calc(100vw * (16 / 375));
}

.app-pickup_inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * (16 / 375));
}

.app-pickup_fig {
    width: calc(100vw * (80 / 375));
}

@media screen and (min-width: 769px) {
    .panel_cont .app-pickup {
        max-width: 594px;
        width: 100%;
        padding: 32px 48px;
        border-radius: 10px;
    }

    .app-pickup_inr {
        flex-direction: row;
        gap: 16px;
    }

    .app-pickup_fig {
        width: 80px;
    }
}


/* --- attention-txt --- */
.c-attention-txt {
    color: #1A1A1A;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: calc(100vw * (0.42 / 375));
    padding-left: calc(100vw * (34 / 375));
    position: relative;
}

.c-attention-txt::before {
    content: "";
    background-image: url(/camp/numberless_student/index4/img/icon_attention.svg);
    background-repeat: no-repeat;
    background-position: center;
    width: calc(100vw * (26 / 375));
    height: calc(100vw * (26 / 375));
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

@media screen and (min-width: 769px) {
    .c-attention-txt {
        font-size: 14px;
        padding-left: 35px;
        max-width: 100% !important;
        width: auto !important;
        text-align: center;
    }

    .c-attention-txt::before {
        width: 26px;
        height: 26px;
    }
}

/* --- bnr_bln --- */
.bnr-area {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (16 / 375));
}

.bnr-area_item {
    display: flex;
    flex-direction: column;
}

.bnr_bln {
    color: #1A1A1A;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (20 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 26px */
    letter-spacing: calc(100vw * (0.6 / 375));
}

.bnr img {
    border: 2px solid var(--bg-Gray-sub, #D4DEDB);
    overflow: hidden;
}

@media screen and (min-width: 769px) {
    .bnr-area {
        gap: 16px;
    }

    .bnr_bln {
        font-size: 24px;
        letter-spacing: 0.72px;
    }
}

/* --- flow --- */
.flow {
    position: relative;
    background-image: url(/camp/numberless_student/index4/img/img_bg01_sp.png), url(/camp/numberless_student/index4/img/img_bg02_sp.png);
    background-size: 100%, 100%;
    background-position: top, bottom;
    background-repeat: no-repeat;
}

.flow_inr {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (32 / 375));
}


.flow .c-h2 {
    padding: 0 calc(100vw * (16 / 375));
}

.flow-tab {}

.flow-tab_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(100vw * (16 / 375));
    width: 100%;
}

.flow-tab_btn {
    width: calc(100vw * (142 / 375));
    padding: calc(100vw * (12 / 375)) calc(100vw * (8 / 375));
    border-radius: var(--md, calc(100vw * (4 / 375))) var(--md, calc(100vw * (4 / 375))) 0 0;
    border-top: 2px solid var(--Text-Accent, #F05C22);
    border-right: 2px solid var(--Text-Accent, #F05C22);
    border-left: 2px solid var(--Text-Accent, #F05C22);
    opacity: 0.5;
    background: var(--bg-White, #FFF);
}

.flow-tab_btn-txt {
    color: var(--Text-Accent, #F05C22);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 21px */
    text-align: center;
}

.flow-tab_btn.is-active {
    background: var(--bg-Accent, #F05C22);
    opacity: 1;
}

.flow-tab_btn.is-active .flow-tab_btn-txt {
    color: #ffffff;
}

.flow-tab_panel {
    border-top: 2px solid var(--bg-Accent, #F05C22);
    background: var(--bg-Gray-main, #F1F5F4);
}

.flow-tab_panel-inr {
    padding: calc(100vw * (48 / 375)) calc(100vw * (16 / 375));
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (16 / 375));
}

.flow-tab_panel-cont {
}

.flow-step {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(100vw * (16 / 375));
}

.flow-step_ttl {}

.flow-step_ttl-txt {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (18 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 18px */
}

.flow-step_ttl-val {
    color: var(--Text-Accent, #F05C22);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (40 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
}

.flow-step_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: calc(100vw * (10 / 375));
    background: var(--bg-White, #FFF);
    border: 2px solid var(--bg-White, #FFF);
    width: calc(100vw * (280 / 375));
    margin: 0 auto;
    padding: calc(100vw * (12 / 375));
    position: relative;
}

.flow-step_head {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.flow-step_num {
    color: var(--Text-Sub-3, #FFF);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (10 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 10px */
    border-radius: calc(100vw * (4 / 375));
    background: var(--bg-Primary-sub, #8AB21E);
    padding: calc(100vw * (4 / 375)) calc(100vw * (8 / 375));
}

.flow-step_icon {
    width: calc(100vw * (40 / 375));
}

.flow-step_body {}

.flow-step_item-ttl {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (13 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 20.8px */
}

.flow-step_pickup-icon {
    position: absolute;
    width: calc(100vw * (80 / 375));
    left: calc(100vw * (-40 / 375));
}

.flow-step_item.flow-step_item--pickup {
    border: 2px solid var(--Text-Accent, #F05C22);
}

.flow-step_item::before {
    content: "";
    height: calc(100vw * (14 / 375));
    width: calc(100vw * (4 / 375));
    background-color: #DEDEDE;
    position: absolute;
    z-index: 0;
    bottom: calc(100vw * (-16 / 375));
    left: 0;
    right: 0;
    margin: auto;
}

.flow-step_item:last-child::before {
    content: none;
}

.flow-tab_panel-cont .c-txt-link {
    color: var(--NOTE-DARK, #5E5E5E);
}

.flow-tab_panel-cont .c-txt-link::after {
    filter: brightness(0) saturate(100%) invert(36%) sepia(11%) saturate(6%) hue-rotate(4deg) brightness(93%) contrast(85%);
}

@media screen and (min-width: 769px) {
    .flow {
        background-image: url(/camp/numberless_student/index4/img/img_bg01_pc.png), url(/camp/numberless_student/index4/img/img_bg02_pc.png);
    }

    .flow_inr {
        gap: 32px;
    }

    .flow .c-h2 {
        max-width: 720px;
        width: 100%;
        margin: 0 auto;
        display: flex;
        padding: 0;
        gap: 10px;
    }

    .flow-tab_nav {
        gap: 16px;
    }

    .flow-tab_btn {
        max-width: 344px;
        width: 100%;
        padding: 16px 8px;
        border-radius: 4px 4px 0 0;
    }

    .flow-tab_btn-txt {
        font-size: 20px;
    }

    .flow-tab_panel-cont {
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
    }

    .flow-tab_panel-inr {
        padding: 48px 16px;
        gap: 16px;
    }

    .flow-step {
        gap: 16px;
    }

    .flow-step_ttl-txt {
        font-size: 24px;
    }

    .flow-step_ttl-val {
        font-size: 48px;
    }

    .flow-step_item {
        padding: 12px;
        border-radius: 10px;
        max-width: 100%;
        width: 100%;
    }

    .flow-step_item::before {
        height: 16px;
        width: 4px;
        bottom: -18px;
    }

    .flow-step_num {
        padding: 4px 8px;
        font-size: 14px;
        border-radius: 4px;
    }

    .flow-step_icon {
        width: 40px;
    }

    .flow-step_head {
        flex-direction: row;
    }

    .flow-step_item-ttl {
        font-size: 20px;
    }

    .flow-step_pickup-icon {
        height: 106%;
        left: -40px;
    }

    .flow-step_pickup-icon img {
        width: auto;
        height: 100%;
    }
}

/* --- info --- */
.info {
    position: relative;
    background-image: url(/camp/numberless_student/index4/img/img_bg01_sp.png);
    background-size: 100%;
    background-position: top;
    background-repeat: no-repeat;
}

.info_inr {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (32 / 375));
    padding: calc(100vw * (48 / 375)) calc(100vw * (16 / 375));
}

.info_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(100vw * (24 / 375));
}

.info_cont {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(100vw * (16 / 375));
}

.info_offer {
    width: 100%;
}

.info-tab {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(100vw * (16 / 375));
}

.info-tab_nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(100vw * (8 / 375));
    width: 100%;
}

.info-tab_btn {
    padding: calc(100vw * (8 / 375)) calc(100vw * (10 / 375));
    border-radius: calc(100vw * (100 / 375));
    border: 1px solid var(--bg-Gray-sub, #D4DEDB);
    background: var(--bg-White, #FFF);
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc((100% - calc(100vw * (16 / 375))) / 3);
}

.info-tab_btn-txt {
    color: var(--Text-Sub-1, #666);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (13 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 19.5px */
}

.info-tab_btn.is-active {
    background: var(--bg-Primary-main, #96C31D);
    opacity: 1;
}

.info-tab_btn.is-active .info-tab_btn-txt {
    color: var(--Text-Main, #0F0F0F);
}

.info-tab_panel {
    width: 100%;
}

.info-tab_panel-item {}

.info-main {}

.info-main_fig {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(100vw * (16 / 375));
    position: relative;
}

.info-main_fig-bg {
    position: absolute;
    width: calc(100vw * (343 / 375));
    margin: auto;
    left: 0;
    right: 0;
    top: calc(100vw * (-60 / 375));
    bottom: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.info-main_fig-item {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(100vw * (16 / 375));
    position: relative;
}

.info-main_fig-caption {
    color: var(--Text-Main, #0F0F0F);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 14px */
    writing-mode: vertical-rl;
}

.info-main_fig-item img {
    width: calc(100vw * (220 / 375));
}

.info-table {}

.info-table_row {
    display: flex;
}

.info-table_th {
    border-bottom: 1px solid var(--Text-Sub-3, #FFF);
    background: var(--bg-Primary-main, #96C31D);
    padding: calc(100vw * (8 / 375));
    width: calc(100vw * (100 / 375));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.info-table_ttl {
    color: var(--Text-Sub-3, #FFF);
    text-align: center;
    text-shadow: 0 0 calc(100vw * (4 / 375)) rgba(0, 0, 0, 0.10);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 170%; /* 20.4px */
}

.info-table_td {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    padding: calc(100vw * (8 / 375)) calc(100vw * (12 / 375));
    border-right: 1px solid var(--bg-Gray-sub, #D4DEDB);
    border-bottom: 1px solid var(--bg-Gray-sub, #D4DEDB);
    background: var(--Text-Sub-3, #FFF);
}

.info-table_txt {
    color: var(--Text-Main, #0F0F0F);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 170%; /* 20.4px */
}

.info-table_row:first-child .info-table_td {
    border-top: 1px solid var(--bg-Gray-sub, #D4DEDB);
}

.info-table_row:last-child .info-table_th {
    border-bottom: none;
}

.info-table_icon-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(100vw * (12 / 375));
    padding: calc(100vw * (12 / 375)) 0;
}

.info-table_icon {
    height: calc(100vw * (20 / 375));
}

.info-table_icon img {
    width: auto;
    height: 100%;
}

.info-table_icon.info-table_icon--pitapa {
    height: calc(100vw * (14 / 375));
}

@media screen and (min-width: 769px) {
    .info {
        position: relative;
        background-image: url(/camp/numberless_student/index4/img/img_bg01_pc.png);
        background-size: 100%;
        background-position: top;
        background-repeat: no-repeat;
    }

    .info_inr {
        padding: 48px 16px;
        gap: 32px;
    }

    .info_item {
        gap: 24px;
        max-width: 1000px;
        width: 100%;
        margin: 0 auto;
    }

    .info_cont {
        gap: 24px;
    }

    .info-tab {
        gap: 16px;
    }

    .info-tab_nav {
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
        gap: 10px;
    }

    .info-tab_btn {
        width: calc((100% - 32px) / 3);
        border-radius: 100px;
        padding: 16px 0;
    }

    .info-tab_btn-txt {
        font-size: 13px;
    }

    .info-main_fig {
        flex-direction: row;
        gap: 16px;
    }

    .info-main_fig-item {
        width: auto;
        gap: 16px;
    }

    .info-main_fig-caption {
        font-size: 14px;
    }

    .info-main_fig-item img {
        max-width: 312px;
        width: 100%;
    }

    .info-table_th {
        max-width: 120px;
        width: 100%;
        padding: 12px 8px;
    }

    .info-table_ttl {
        font-size: 12px;
        text-shadow: 0 0 4px rgba(0, 0, 0, 0.10);
    }

    .info-table_td {
        padding: 12px;
    }

    .info-table_txt {
        font-size: 12px;
    }

    .info-table_icon-list {
        gap: 12px;
        padding: 12px 0;
    }

    .info-table_icon {
        height: 20px;
    }

    .info-table_icon.info-table_icon--pitapa {
        height: 23px;
    }
}

/* --- contact --- */

.contact {
    position: relative;
    background-image: url(/camp/numberless_student/index4/img/img_bg02_sp.png);
    background-size: 100%;
    background-position: bottom;
    background-repeat: no-repeat;
}

.contact_inr {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (48 / 375));
    padding: 0 calc(100vw * (16 / 375)) calc(100vw * (48 / 375));
}


.contact_btn {
    border-radius: calc(100vw * (28 / 375));
    border: 2px solid var(--bg-Black, #0F0F0F);
    background: var(--bg-White, #FFF);
    padding: calc(100vw * (16 / 375)) calc(100vw * (24 / 375));
    width: 100%;
    display: flex;
    flex-direction: column;
}

.contact_btn-txt {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 21px */
    letter-spacing: calc(100vw * (0.42 / 375));
    position: relative;
}

.contact_btn-txt::after {
    content: "";
    background-image: url(/camp/numberless_student/index4/img/ad_group.svg);
    background-repeat: no-repeat;
    filter: brightness(0) saturate(100%) invert(0%) sepia(10%) saturate(428%) hue-rotate(322deg) brightness(89%) contrast(89%);
    width: calc(100vw * (12 / 375));
    height: calc(100vw * (12 / 375));
    position: absolute;
    right: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
}

@media screen and (min-width: 769px) {
    .contact {
        position: relative;
        background-image: url(/camp/numberless_student/index4/img/img_bg02_pc.png);
        background-size: 100%;
        background-position: bottom;
        background-repeat: no-repeat;
    }

    .contact_inr {
        padding: 0 0 48px;
        gap: 48px;
    }

    .contact_btn {
        border-radius: 28px;
        max-width: 282px;
        width: 100%;
        margin: 0 auto;
        padding: 16px 20px;
    }

    .contact_btn-txt {
        font-size: 14px;
        letter-spacing: 0.42px;
    }

    .contact_btn-txt::after {
        width: 12px;
        height: 12px;
    }

    .contact_item {
        max-width: 1000px;
        width: 100%;
        margin: 0 auto;
        padding: 16px;
    }
}

/* --- footer --- */
footer {
    display: flex;
    padding: calc(100vw * (24 / 375)) calc(100vw * (16 / 375));
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(100vw * (24 / 375));
    background: var(--Design-black, #000);
    font-family: "Noto Sans JP";
}

.footer-item_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * (16 / 375));
    font-size: calc(100vw * (10 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.footer-copyright {
    text-align: center;
    font-size: calc(100vw * (10 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #fff;
}

footer .c-txt-link {
    color: #fff;
}

footer .c-txt-link::after {
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(1%) hue-rotate(269deg) brightness(103%) contrast(101%);
}

@media screen and (min-width: 769px) {
    footer {
        padding: 24px 16px;
        gap: 24px;
    }

    .footer-item_wrap {
        font-size: 12px;
        gap: 16px;
    }

    .footer-copyright {
        font-size: 12px;
    }
}

/* --- c-modal --- */
.js-modal-open,
.js-modal-close {
    cursor: pointer;
}

.c-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    padding: calc(100vw * (16 / 375));
}

.c-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.c-modal_bg {
    position: absolute;
    inset: 0;
    cursor: pointer;
    background: #929292;
    opacity: 0.8;
}

.c-modal_inr {
    position: relative;
    width: 100%;
    max-height: 95vh;
    background-color: #fff;
    padding: calc(100vw * (40 / 375)) calc(100vw * (25 / 375));
    border-radius: calc(100vw * (8 / 375));
    display: flex;
    flex-direction: column;
}

.c-modal_item {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (12 / 375));
}

.c-modal_close {
    width: calc(100vw * (24 / 375));
    height: calc(100vw * (24 / 375));
    position: absolute;
    top: calc(100vw * (10 / 375));
    right: calc(100vw * (15 / 375));
}

.c-modal_close.js-modal-close {
    opacity: 0.7;
}

.c-modal_close:hover {
    opacity: 0.7;
}

.c-modal_body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-right: calc(100vw * (5 / 375));
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (24 / 375));
}

.c-modal_ttl {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (20 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 30px */
}

.c-modal_subttl {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans CJK JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 18px */
}

.c-modal_scroll {
    overflow-y: scroll;
    height: calc(100vw * (395 / 375));
    border-radius: calc(100vw * (10 / 375));
    border: 2px solid var(--bg-Gray-sub, #D4DEDB);
    background: var(--bg-White, #FFF);
    padding: calc(100vw * (16 / 375));
}

.c-modal.c-modal--night.is-night .c-modal_scroll {
    height: calc(100vw * (120 / 375));
}

.c-modal_scroll-ttl {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (16 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 24px */
    margin-bottom: calc(100vw * (16 / 375));
}

.c-modal .night-on {
    display: none;
}

.c-modal.c-modal--night.is-night .night-on {
    display: block;
}

.c-modal.c-modal--night.is-night .night-off {
    display: none;
}

@media screen and (min-width: 769px) {
    .c-modal_inr {
        max-width: 800px;
        padding: 40px 24px;
        border-radius: 10px;
    }

    .c-modal {
        padding: 16px;
    }

    .c-modal_close {
        width: 60px;
        height: 60px;
        top: 15px;
        right: 15px;
    }

    .c-modal_ttl {
        font-size: 24px;
    }

    .c-modal_subttl {
        font-size: 14px;
    }

    .c-modal_item {
        gap: 16px;
        max-width: 752px;
        width: 100%;
        margin: 0 auto;
    }

    .c-modal_body {
        gap: 24px;
        padding-right: 5px;
    }

    .c-modal_scroll {
        height: 425px;
        padding: 16px;
        max-width: 600px;
        width: 100%;
        margin: 0 auto;
        border-radius: 10px;
    }

    .c-modal.c-modal--night.is-night .c-modal_scroll {
        height: 316px;
    }

    .c-modal_scroll-ttl {
        margin-bottom: 16px;
        font-size: 16px;
        text-align: center;
    }

    .c-modal_item .cta_list .cat_list-item {
        width: 100%;
    }

    .c-modal_item .cta_list .cat_list-item .cta_btn {
        max-width: 392px;
        width: 100%;
        margin: 0 auto;
    }
}

/* --- c-modal-table --- */
.c-modal-table_head {
    display: flex;
}

.c-modal-table_th {
    width: calc(100% / 3);
    border: 1px solid var(--bg-Gray-sub, #D4DEDB);
    background: var(--bg-Primary-main, #96C31D);
    padding: calc(100vw * (10 / 375));
}

.c-modal-table_ttl {
    color: var(--Text-Sub-3, #FFF);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 21px */
}

.c-modal-table_row {
    display: flex;
}

.c-modal-table_td {
    width: calc(100% / 3);
    border: 1px solid var(--bg-Gray-sub, #D4DEDB);
    background: var(--bg-White, #FFF);
    padding: calc(100vw * (8 / 375));
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.c-modal-table_td:first-child {
    background: var(--bg-Gray-main, #F1F5F4);
}

.c-modal-table_label {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (11 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 16.5px */
}

.c-modal-table_txt {
    color: var(--Text-Main, #0F0F0F);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 18px */
}

.c-modal-table_txt.c-modal-table_txt--muted {
    color: var(--Text-Sub-1, #666);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 18px */
}

@media screen and (min-width: 769px) {
    .c-modal-table {
        width: 100%;
    }

    .c-modal-table_ttl {
        font-size: 14px;
    }

    .c-modal-table_th {
        padding: 10px;
    }

    .c-modal-table_td {
        padding: 8px;
    }

    .c-modal-table_txt.c-modal-table_txt--muted {
        font-size: 12px;
    }

    .c-modal-table_txt {
        font-size: 12px;
    }

    .c-modal-table_label {
        font-size: 11px;
    }
}

.c-modal_fig {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (12 / 375));
    padding: calc(100vw * (16 / 375));
    border-radius: calc(100vw * (10 / 375));
    border: 2px solid var(--bg-Gray-sub, #D4DEDB);
}

.c-modal_fig-ttl {
    color: var(--TEXT-BLACK, #242527);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (16 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 24px */
}

.c-modal_fig .c-txt-link {
    color: var(--Text-Sub-1, #666);
}

.c-modal_fig .c-txt-link::after {
    filter: brightness(0) saturate(100%) invert(43%) sepia(10%) saturate(0%) hue-rotate(274deg) brightness(91%) contrast(101%);
}

@media screen and (min-width: 769px) {
    .c-modal_fig-ttl {
        color: var(--TEXT-BLACK, #242527);
        text-align: center;
        font-family: "Noto Sans JP";
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 150%; /* 24px */
    }

    .c-modal_fig {
        padding: 16px;
        border-radius: 10px;
        gap: 12px;
    }

    .c-modal_fig img {
        max-width: 320px;
        width: 100%;
        margin: 0 auto;
    }

    .c-modal_fig .c-txt-link {
        text-align: center;
    }

    .c-modal_item .cta_list {
        flex-direction: column;
    }
}

/* --- modal-contact --- */
.modal-contact {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (12 / 375));
}
.modal-contact_ttl {
    color: var(--TEXT-BLACK, #242527);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 21px */
    letter-spacing: calc(100vw * (0.42 / 375));
}

.modal-contact_btn {
    border-radius: var(--full, 999px);
    border: 2px solid var(--bg-Black, #0F0F0F);
    background: var(--bg-White, #FFF);
    padding: calc(100vw * (16 / 375)) calc(100vw * (24 / 375));
    display: flex;
    justify-content: center;
    gap: calc(100vw * (4 / 375));
}

.modal-contact_btn-txt {
    color: var(--Text-Primary-sub, #7DA21A);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (24 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 24px */
    letter-spacing: calc(100vw * (0.72 / 375));
}

.modal-contact_btn::before {
    content: "";
    background-image: url(/camp/numberless_student/index4/img/img_flow01-01.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(100vw * (24 / 375));
    height: calc(100vw * (24 / 375));
}

@media screen and (min-width: 769px) {
    .modal-contact_ttl {
        font-size: 16px;
    }

    .modal-contact {
        max-width: 345px;
        width: 100%;
        gap: 12px;
        margin: 0 auto;
    }

    .modal-contact_btn {
        border-radius: 999px;
        gap: 4px;
        padding: 16px 24px;
    }

    .modal-contact_btn-txt {
        font-size: 24px;
        letter-spacing: 0.72px;
    }

    .modal-contact_btn::before {
        width: 24px;
        height: 24px;
    }
}

/* --- precautions --- */
.precautions {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (24 / 375));
}

.precautions_item {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * (8 / 375));
}

.precautions_label {
    color: var(--Text-Main, #0F0F0F);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (12 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 18px */
    padding: calc(100vw * (4 / 375)) 0 calc(100vw * (4 / 375)) calc(100vw * (12 / 375));
    border-left: 4px solid var(--bg-Primary-main, #96C31D);
}

.precautions .c-list_item {
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    line-height: 150%; /* 21px */
    letter-spacing: calc(100vw * (0.42 / 375));
}

.precautions_txt {
    color: var(--Text-Main, #0F0F0F);
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 21px */
    letter-spacing: calc(100vw * (0.42 / 375));
}

@media screen and (min-width: 769px) {
    .precautions {
        gap: 24px;
    }

    .precautions_item {
        gap: 8px;
    }

    .precautions_label {
        font-size: 12px;
        padding: 4px 0 4px 16px;
    }

    .precautions .c-list_item {
        font-size: 14px;
        letter-spacing: 0.42px;
    }

    .precautions_txt {
        font-size: 14px;
        letter-spacing: 0.42px;
    }
}

/* --- floating --- */
.floating {
    position: fixed;
    bottom: calc(100vw * (15 / 375));
    left: 0;
    right: 0;
    margin: auto;
    height: auto;
    transition: transform 0.3s, opacity 0.3s;
    z-index: 98;
}

.floating.is-hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
}

.floating_inr {
    display: flex;
    justify-content: center;
}

.floating_btn {
    border-radius: var(--full, 999px);
    border: 2px solid var(--Text-Main, #0F0F0F);
    background: var(--Text-Accent, #F05C22);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.20);
    padding: calc(100vw * (16 / 375)) calc(100vw * (33.5 / 375));
    cursor: pointer;
}

.floating_btn-txt {
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: calc(100vw * (14 / 375));
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 21px */
    position: relative;
}

.floating_btn-txt::after {
    content: "";
    background-image: url(/camp/numberless_student/index4/img/ad_group.svg);
    background-repeat: no-repeat;
    width: calc(100vw * (12 / 375));
    height: calc(100vw * (12 / 375));
    position: absolute;
    right: calc(100vw * (-15 / 375));
    top: 0;
    bottom: 0;
    margin: auto;
}

@media screen and (min-width: 769px) {
    .floating {
        bottom: 15px;
    }

    .floating_btn {
        padding: 16px 64px;
    }

    .floating_btn-txt {
        font-size: 14px;
    }

    .floating_btn-txt::after {
        right: -15px;
        width: 12px;
        height: 12px;
    }
}

/* --- pagetop --- */
.pagetop {
    position: fixed;
    bottom: calc(100vw * (70 / 375));
    right: calc(100vw * (16 / 375));
    width: calc(100vw * (44 / 375));
    opacity: 0;
    visibility: hidden;
    transition: 0.4s;
    z-index: 98;
}

.js-pagetop.is-show {
    opacity: 1;
    visibility: visible;
}

.pagetop_btn {
    text-decoration: none;
}

@media screen and (min-width: 769px) {
    .pagetop {
        bottom: 32px;
        right: 32px;
        width: 67.5px;
    }
}


/* --- anime --- */

/* --- kv_anime --- */
.kv.is-animated .kv_main {
    opacity: 0;
    pointer-events: none;
    animation: fadeup 1.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 0s;
}

.kv.is-animated .kv_deco-char-01 {
    opacity: 0;
    pointer-events: none;
    transform-origin: center;
    animation: 
        fadeup 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards,
        katakata-center 0.7s ease-in-out 1.6s infinite alternate;
}

.kv.is-animated .kv_deco-char-02 {
    opacity: 0;
    pointer-events: none;
    transform-origin: center;
    animation: 
        fadeup 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards,
        katakata-center-rev 0.7s ease-in-out 1.6s infinite alternate;
}

@media screen and (max-width: 849px) {
    .kv.is-animated .kv_deco-bln {
        opacity: 0;
        pointer-events: none;
        animation: 
            fadeup 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards,
            fuwafuwa-y-only 0.7s ease-in-out 1.8s infinite alternate;
    }
}
@media screen and (min-width: 850px) {
    .kv.is-animated .kv_deco-bln-01,
    .kv.is-animated .kv_deco-bln-02,
    .kv.is-animated .kv_deco-bln-03,
    .kv.is-animated .kv_deco-bln-04 {
        opacity: 0;
        pointer-events: none;
        animation: 
            fadeup 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards,
            fuwafuwa-y-only 0.7s ease-in-out 1.8s infinite alternate;
    }
}

.kv.is-animated .cp-card {
    opacity: 0;
    animation: fadeup 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.6s forwards
}
@keyframes fadeup {
    0% {
        transform: translateY(30px);
        opacity: 0;
    }
    /* 80%の地点を少し遅らせて、最後までじわっと動くように調整 */
    85% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes katakata-center {
    0% {
        transform: translateY(-1px) rotate(-3deg);
    }
    100% {
        transform: translateY(1px) rotate(3deg);
    }
}
@keyframes katakata-center-rev {
    0% {
        transform: translateY(1px) rotate(3deg);
    }
    100% {
        transform: translateY(-1px) rotate(-3deg);
    }
}
@keyframes fuwafuwa-y-only {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-5px);
    }
}

/* --- h2_anime --- */
.c-h2_ttl-label {
    position: relative;
    overflow: hidden;
}

.c-h2.is-animated .c-h2_ttl-label::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: var(--bg-Black, #0F0F0F); 
    transform-origin: left center;
    animation: bg-reveal 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.c-h2_ttl-txt {
    position: relative;
    z-index: 2;
    display: block;
    clip-path: inset(0 100% 0 0); 
}

.c-h2.is-animated .c-h2_ttl-txt {
    animation: text-reveal 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.c-h2_ttl-label:nth-child(2)::before,
.c-h2_ttl.is-animated .c-h2_ttl-label:nth-child(2) .c-h2_ttl-txt {
    animation-delay: 0.3s;
}

@keyframes bg-reveal {
    0% {
        transform: scaleX(0);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    100% {
        transform: scaleX(1);
        opacity: 1;
    }
}

@keyframes text-reveal {
    0% {
        clip-path: inset(0 100% 0 0);
    }
    100% {
        clip-path: inset(0 0 0 0);
    }
}

.c-h2 .c-h2_char {
    opacity: 0;
}
.c-h2.is-animated .c-h2_char {
    opacity: 0;
    animation: fadeup 1.0s cubic-bezier(0.22, 1, 0.36, 1) 0.8s forwards;
}

.c-h2 .c-h2_icon-01,
.c-h2 .c-h2_icon-02,
.c-h2 .c-h2_icon {
    opacity: 0;
}

.c-h2.is-animated .c-h2_icon-01,
.c-h2.is-animated .c-h2_icon-02,
.c-h2.is-animated .c-h2_icon {
    opacity: 0;
    animation: 
        fadeup 1.0s cubic-bezier(0.22, 1, 0.36, 1) 1.0s forwards,
        fuwafuwa-y-01 0.5s ease-in-out 2.0s infinite alternate;
}

@keyframes fuwafuwa-y-01 {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-10px);
    }
}

.js-scroll-trigger.js-fadein-page {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1), 
                transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
    visibility: hidden;
}

.js-scroll-trigger.js-fadein-page.is-animated {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.anc_main-bg,
.info-main_fig-bg {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transition: 
        clip-path 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s,
        opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}

.js-scroll-trigger.js-fadein-page.is-animated .anc_main-bg,
.js-scroll-trigger.js-fadein-page.is-animated .info-main_fig-bg.is-animated {
    opacity: 1;
    clip-path: inset(0 0 0 0);
}

.kv_attention {
    margin: 0 auto;
    max-width: 1000px;
}

.kv_attention .c-txt {
    margin: 0 20px;
}
@media screen and (max-width: 849px) {
    .kv_attention .c-txt {
    margin: 20px;
}
}

@media screen and (min-width: 769px) {
    .pp-center {
    flex-direction: column !important;
    }
}