@charset 'UTF-8';
.f12
{
    font-size: 12px;
}

@media print, screen and (max-width: 1921px)
{
    .f12
    {
        font-size: .625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f12
    {
        font-size: .29297vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f12
    {
        font-size: 2.26667vw;
    }
}

.f13
{
    font-size: 13px;
}

@media print, screen and (max-width: 1921px)
{
    .f13
    {
        font-size: .67708vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f13
    {
        font-size: .39062vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f13
    {
        font-size: 2.4vw;
    }
}

.f14
{
    font-size: 14px;
}

@media print, screen and (max-width: 1921px)
{
    .f14
    {
        font-size: .72917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f14
    {
        font-size: .48828vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f14
    {
        font-size: 2.53333vw;
    }
}

.f15
{
    font-size: 15px;
}

@media print, screen and (max-width: 1921px)
{
    .f15
    {
        font-size: .78125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f15
    {
        font-size: .58594vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f15
    {
        font-size: 2.66667vw;
    }
}

.f16
{
    font-size: 16px;
}

@media print, screen and (max-width: 1921px)
{
    .f16
    {
        font-size: .83333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f16
    {
        font-size: .68359vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f16
    {
        font-size: 2.8vw;
    }
}

.f17
{
    font-size: 17px;
}

@media print, screen and (max-width: 1921px)
{
    .f17
    {
        font-size: .88542vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f17
    {
        font-size: .78125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f17
    {
        font-size: 2.93333vw;
    }
}

.f18
{
    font-size: 18px;
}

@media print, screen and (max-width: 1921px)
{
    .f18
    {
        font-size: .9375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f18
    {
        font-size: .87891vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f18
    {
        font-size: 3.06667vw;
    }
}

.f19
{
    font-size: 19px;
}

@media print, screen and (max-width: 1921px)
{
    .f19
    {
        font-size: .98958vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f19
    {
        font-size: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f19
    {
        font-size: 3.2vw;
    }
}

.f20
{
    font-size: 20px;
}

@media print, screen and (max-width: 1921px)
{
    .f20
    {
        font-size: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f20
    {
        font-size: 1.07422vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f20
    {
        font-size: 3.33333vw;
    }
}

.f21
{
    font-size: 21px;
}

@media print, screen and (max-width: 1921px)
{
    .f21
    {
        font-size: 1.09375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f21
    {
        font-size: 1.17188vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f21
    {
        font-size: 3.46667vw;
    }
}

.f22
{
    font-size: 22px;
}

@media print, screen and (max-width: 1921px)
{
    .f22
    {
        font-size: 1.14583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f22
    {
        font-size: 1.26953vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f22
    {
        font-size: 3.6vw;
    }
}

.f23
{
    font-size: 23px;
}

@media print, screen and (max-width: 1921px)
{
    .f23
    {
        font-size: 1.19792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f23
    {
        font-size: 1.36719vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f23
    {
        font-size: 3.73333vw;
    }
}

.f24
{
    font-size: 24px;
}

@media print, screen and (max-width: 1921px)
{
    .f24
    {
        font-size: 1.25vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f24
    {
        font-size: 1.46484vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f24
    {
        font-size: 3.86667vw;
    }
}

.f25
{
    font-size: 25px;
}

@media print, screen and (max-width: 1921px)
{
    .f25
    {
        font-size: 1.30208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f25
    {
        font-size: 1.5625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f25
    {
        font-size: 4vw;
    }
}

.f26
{
    font-size: 26px;
}

@media print, screen and (max-width: 1921px)
{
    .f26
    {
        font-size: 1.35417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f26
    {
        font-size: 1.66016vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f26
    {
        font-size: 4.13333vw;
    }
}

.f27
{
    font-size: 27px;
}

@media print, screen and (max-width: 1921px)
{
    .f27
    {
        font-size: 1.40625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f27
    {
        font-size: 1.75781vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f27
    {
        font-size: 4.26667vw;
    }
}

.f28
{
    font-size: 28px;
}

@media print, screen and (max-width: 1921px)
{
    .f28
    {
        font-size: 1.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f28
    {
        font-size: 1.85547vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f28
    {
        font-size: 4.4vw;
    }
}

.f29
{
    font-size: 29px;
}

@media print, screen and (max-width: 1921px)
{
    .f29
    {
        font-size: 1.51042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f29
    {
        font-size: 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f29
    {
        font-size: 4.53333vw;
    }
}

.f30
{
    font-size: 30px;
}

@media print, screen and (max-width: 1921px)
{
    .f30
    {
        font-size: 1.5625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f30
    {
        font-size: 2.05078vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f30
    {
        font-size: 4.66667vw;
    }
}

.f31
{
    font-size: 31px;
}

@media print, screen and (max-width: 1921px)
{
    .f31
    {
        font-size: 1.61458vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f31
    {
        font-size: 2.14844vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f31
    {
        font-size: 4.8vw;
    }
}

.f32
{
    font-size: 32px;
}

@media print, screen and (max-width: 1921px)
{
    .f32
    {
        font-size: 1.66667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f32
    {
        font-size: 2.24609vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f32
    {
        font-size: 4.93333vw;
    }
}

.f33
{
    font-size: 33px;
}

@media print, screen and (max-width: 1921px)
{
    .f33
    {
        font-size: 1.71875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f33
    {
        font-size: 2.34375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f33
    {
        font-size: 5.06667vw;
    }
}

.f34
{
    font-size: 34px;
}

@media print, screen and (max-width: 1921px)
{
    .f34
    {
        font-size: 1.77083vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f34
    {
        font-size: 2.44141vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f34
    {
        font-size: 5.2vw;
    }
}

.f35
{
    font-size: 35px;
}

@media print, screen and (max-width: 1921px)
{
    .f35
    {
        font-size: 1.82292vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f35
    {
        font-size: 2.53906vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f35
    {
        font-size: 5.33333vw;
    }
}

.f36
{
    font-size: 36px;
}

@media print, screen and (max-width: 1921px)
{
    .f36
    {
        font-size: 1.875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f36
    {
        font-size: 2.63672vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f36
    {
        font-size: 5.46667vw;
    }
}

.f37
{
    font-size: 37px;
}

@media print, screen and (max-width: 1921px)
{
    .f37
    {
        font-size: 1.92708vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f37
    {
        font-size: 2.73438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f37
    {
        font-size: 5.6vw;
    }
}

.f38
{
    font-size: 38px;
}

@media print, screen and (max-width: 1921px)
{
    .f38
    {
        font-size: 1.97917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f38
    {
        font-size: 2.83203vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f38
    {
        font-size: 5.73333vw;
    }
}

.f39
{
    font-size: 39px;
}

@media print, screen and (max-width: 1921px)
{
    .f39
    {
        font-size: 2.03125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f39
    {
        font-size: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f39
    {
        font-size: 5.86667vw;
    }
}

.f40
{
    font-size: 40px;
}

@media print, screen and (max-width: 1921px)
{
    .f40
    {
        font-size: 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .f40
    {
        font-size: 3.02734vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .f40
    {
        font-size: 6vw;
    }
}

html,
body
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 23px;
    line-height: 1.6;

    text-align: center;

    color: #0b1353;
}

a
{
    text-decoration: none;

    color: #0b1353;
}

.sp
{
    display: none !important;
}

@media print, screen and (max-width: 430px)
{
    .sp
    {
        display: block !important;
    }
}

.pc
{
    display: block;
}

@media print, screen and (max-width: 430px)
{
    .pc
    {
        display: none !important;
    }
}

.spi
{
    display: none;
}

@media print, screen and (max-width: 430px)
{
    .spi
    {
        display: inline;
    }
}

.pci
{
    display: inline;
}

@media print, screen and (max-width: 430px)
{
    .pci
    {
        display: none;
    }
}

br
{
    font-size: 0;
}

/* ============== .l-sec ============== */
.l-sec
{
    width: 100%;
}

.l-sec__inner
{
    width: 57.29167vw;
    max-width: 1100px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1025px)
{
    .l-sec__inner
    {
        width: 90.23438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .l-sec__inner
    {
        width: 92vw;
    }
}

.l-sec--fixed
{
    overflow: hidden;
}

/* ============== .head ============== */
.head
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    width: 100%;
    height: 100px;
    margin: 0 auto;

    background-color: #fff;
    -webkit-box-shadow: 0 3px 24px rgba(0, 0, 0, .16);
            box-shadow: 0 3px 24px rgba(0, 0, 0, .16);
}

@media print, screen and (max-width: 1921px)
{
    .head
    {
        height: 5.20833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head
    {
        height: 9.76562vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head
    {
        height: 19.23077vw;
    }
}

.head--open
{
    -webkit-box-shadow: none;
            box-shadow: none;
}

.head .thanks
{
    display: none;
}

.head__inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 100px;
    margin: 0 auto;
    padding: 0 10px 0 20px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media print, screen and (max-width: 1921px)
{
    .head__inner
    {
        height: 5.20833vw;
        padding: 0 .52083vw 0 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__inner
    {
        height: 9.76562vw;
        padding: 0 2.44141vw 0 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__inner
    {
        height: 11.79487vw;
        margin: 3.84615vw 0 3.58974vw;
        padding: 0 6.92308vw 0 2.82051vw;
    }
}

.head__logoLink
{
    display: block;

    width: 385px;
    padding-top: 3px;
}

@media print, screen and (max-width: 1921px)
{
    .head__logoLink
    {
        width: 20.05208vw;
        padding-top: .15625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__logoLink
    {
        width: 37.59766vw;
        padding-top: .29297vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__logoLink
    {
        width: 58.20513vw;
        padding-top: 2.30769vw;
    }
}

.head__logo
{
    width: 100%;

    -webkit-transition: .4s;
            transition: .4s;
}

@media (any-hover: hover)
{
    .head__logo:hover
    {
        -webkit-transition: all .3s ease-out;
                transition: all .3s ease-out;

        opacity: .7;
    }
}

.head__logo > picture img
{
    display: block;

    width: 100%;
}

.head__rBlock
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 40px;
}

@media print, screen and (max-width: 1921px)
{
    .head__rBlock
    {
        gap: 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__nav
    {
        display: none;
    }
}

.head__listBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 30px;
}

@media print, screen and (max-width: 1921px)
{
    .head__listBox
    {
        gap: 1.5625vw;
    }
}

.head__list:last-child
{
    margin-right: 0;
}

.head__link
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 800;

    display: block;

    color: #0b1353;
}

@media (any-hover: hover)
{
    .head__link:hover
    {
        -webkit-transition: all .3s ease-out;
                transition: all .3s ease-out;

        opacity: .7;
    }
}

.head__btn
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 800;

    position: relative;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 388px;
    padding: 15px 0;

    letter-spacing: .05em;

    color: #fff;
    background: -webkit-gradient(linear, left top, left bottom, from(#ac231a), to(#56120d));
    background: linear-gradient(to bottom, #ac231a, #56120d);
}

@media print, screen and (max-width: 1921px)
{
    .head__btn
    {
        width: 20.20833vw;
        padding: .78125vw 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__btn
    {
        width: 55.07812vw;
        margin: 3.90625vw auto 0;
        padding: 1.95312vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__btn
    {
        width: 80.25641vw;
        margin: 10.25641vw auto 20.51282vw;
        padding: 3.84615vw 0 3.58974vw;
    }
}

@media (any-hover: hover)
{
    .head__btn:hover
    {
        -webkit-transition: all .3s ease-out;
                transition: all .3s ease-out;

        opacity: .7;
    }
}

.head__btn::before
{
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;

    width: 15px;
    height: 21px;
    margin: auto 0;

    content: '';

    background-image: url(../images/ico_btn_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .head__btn::before
    {
        right: 1.5625vw;

        width: .78125vw;
        height: 1.09375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__btn::before
    {
        right: 2.92969vw;

        width: 1.46484vw;
        height: 2.05078vw;
    }
}

.head__btn--pc
{
    display: block;
}

@media print, screen and (max-width: 1025px)
{
    .head__btn--pc
    {
        display: none;
    }
}

.head__btn--pd
{
    display: none;
}

@media print, screen and (max-width: 1025px)
{
    .head__btn--pd
    {
        display: block;
    }
}

.head__spNav
{
    display: none;
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav
    {
        position: relative;

        display: block;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 6.44531vw;
        height: 4.49219vw;
        padding-left: 1.75781vw;

        cursor: pointer;

        border-left: 1px solid rgba(112, 112, 112, .58);
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav
    {
        width: 16.92308vw;
        height: 11.79487vw;
    }
}

.head__spNav::before
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    line-height: 1;

    position: absolute;
    right: 0;
    bottom: 0;

    content: 'MENU';

    color: #0b1353;
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav::before
    {
        font-size: 1.5625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav::before
    {
        font-size: 3.58974vw;
    }
}

.head__spNav > span
{
    position: absolute;

    width: 46px;
    height: 2px;

    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;

    background-color: #0b1353;
}

@media print, screen and (max-width: 1921px)
{
    .head__spNav > span
    {
        width: 2.39583vw;
        height: .10417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav > span
    {
        right: .97656vw;

        width: 3.125vw;
        height: .19531vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav > span
    {
        right: 1.79487vw;

        width: 8.20513vw;
        height: .51282vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav > span:nth-of-type(1)
    {
        top: .48828vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav > span:nth-of-type(1)
    {
        top: 1.28205vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav > span:nth-of-type(2)
    {
        top: 1.46484vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav > span:nth-of-type(2)
    {
        top: 3.84615vw;
    }
}

.head__spNav--open > span
{
    background-color: #0b1353;
}

.head__spNav--open > span:nth-of-type(1)
{
    top: 9px;

    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}

@media print, screen and (max-width: 1921px)
{
    .head__spNav--open > span:nth-of-type(1)
    {
        top: .46875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav--open > span:nth-of-type(1)
    {
        top: .87891vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav--open > span:nth-of-type(1)
    {
        top: 2.30769vw;
    }
}

.head__spNav--open > span:nth-of-type(2)
{
    top: 9px;

    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
}

@media print, screen and (max-width: 1921px)
{
    .head__spNav--open > span:nth-of-type(2)
    {
        top: .46875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav--open > span:nth-of-type(2)
    {
        top: .87891vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav--open > span:nth-of-type(2)
    {
        top: 2.30769vw;
    }
}

.head__spNav--open::before
{
    content: 'CLOSE';
}

.head__spMenu
{
    position: fixed;
    z-index: 5;
    top: 0;
    right: 0;

    overflow: scroll;

    width: 100%;
    height: 100vh;

    -webkit-transition: all .2s;
            transition: all .2s;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);

    opacity: 0;
    background-color: #f3f5f8;

    -webkit-overflow-scrolling: touch;
}

.head__spMenu--open
{
    -webkit-transform: translateY(0);
            transform: translateY(0);

    opacity: 1;
}

.head__spMenu--open .head__menuContent
{
    -webkit-animation-name: gnaviAnime;
            animation-name: gnaviAnime;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: .2s;
            animation-delay: .2s;

    opacity: 0;
    /*0.2 秒遅らせて出現*/

    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

@-webkit-keyframes gnaviAnime
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

@keyframes gnaviAnime
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuContent
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        height: auto;
        min-height: auto;
        padding: 19.53125vw 22.46094vw 0vw 22.46094vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuContent
    {
        padding: 32.05128vw 11.02564vw 0 8.46154vw;
    }
}

.head__spMenuItem
{
    list-style-type: none;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuItem
    {
        padding: 3.125vw 0;

        border-top: .09766vw solid rgba(112, 112, 112, .6);
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuItem
    {
        padding: 5.64103vw 0;

        border-top: .25641vw solid rgba(112, 112, 112, .6);
    }
}

.head__spMenuItem:last-child
{
    border-bottom: 1px solid rgba(112, 112, 112, .6);
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuItem:last-child
    {
        border-bottom: .09766vw solid rgba(112, 112, 112, .6);
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuItem:last-child
    {
        border-bottom: .25641vw solid rgba(112, 112, 112, .6);
    }
}

.head__spMenuLink
{
    display: block;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuLink
    {
        font-family: 'Noto Serif JP', serif;
        font-size: 1.95312vw;
        font-weight: bold;
        font-weight: 900;

        position: relative;

        padding-left: .97656vw;

        text-align: left;
        letter-spacing: .1em;

        color: #0b1353;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuLink
    {
        font-size: 4.21053vw;
    }
}

.head__spMenuLink::before
{
    position: absolute;
    top: 0;
    right: 23px;
    bottom: 0;

    width: 24px;
    height: 9px;
    margin: auto 0;

    content: '';

    background-image: url(../images/ico_header_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuLink::before
    {
        right: 2.24609vw;

        width: 2.34375vw;
        height: .87891vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuLink::before
    {
        right: 5.89744vw;

        width: 6.15385vw;
        height: 2.30769vw;
    }
}

/* ============== .foot ============== */
.foot
{
    padding: 21px 0 20;

    background-color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .foot
    {
        padding: 1.09375vw 0 1.04167vw;
    }
}

.foot__txt
{
    font-weight: 500;

    text-align: center;
    letter-spacing: .02em;
}

/* ============== .fv ============== */
.fv
{
    position: relative;

    width: 100%;
    height: 56.25vw;
}

@media print, screen and (max-width: 1921px)
{
    .fv
    {
        height: 56.25vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .fv
    {
        margin-top: 9.76562vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .fv
    {
        height: 216.79389vw;
        margin-top: 0;
    }
}

.fv__photo
{
    width: 100%;
}

.fv__photo > picture img
{
    display: block;

    width: 100%;
}

.fv__scrollBox
{
    position: absolute;
    bottom: 18px;
    left: 50%;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}

@media print, screen and (max-width: 1921px)
{
    .fv__scrollBox
    {
        bottom: .9375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .fv__scrollBox
    {
        display: none;
    }
}

.fv__scrollArrow
{
    width: 12px;
}

@media print, screen and (max-width: 1921px)
{
    .fv__scrollArrow
    {
        width: .625vw;
    }
}

.fv__scrollArrow > img
{
    display: block;

    width: 100%;
}

.fv__scroll
{
    font-family: 'Noto Serif JP', serif;
    font-size: 12px;
    font-weight: 700;

    margin-left: -26px;

    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    letter-spacing: .04em;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .fv__scroll
    {
        font-size: .625vw;

        margin-left: -1.35417vw;
    }
}

/* ============== .entrySec ============== */
.entrySec
{
    position: relative;

    padding: 100px 0;

    background-color: #0b1353;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec
    {
        padding: 5.20833vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec
    {
        padding: 15.38462vw 0 12.82051vw;
    }
}

.entrySec::before
{
    position: absolute;
    right: 0;
    bottom: 197px;
    left: 0;

    width: 100%;
    height: 248px;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_entry_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.entrySec__inner
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 101px 61px 80px 51px;

    border-radius: 20px;
    background-color: #fff;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .16);
            box-shadow: 0 0 20px rgba(0, 0, 0, .16);
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__inner
    {
        padding: 5.26042vw 3.17708vw 4.16667vw 2.65625vw;

        -webkit-box-shadow: 0 0 1.04167vw rgba(0, 0, 0, .16);
                box-shadow: 0 0 1.04167vw rgba(0, 0, 0, .16);
    }
}

@media print, screen and (max-width: 1025px)
{
    .entrySec__inner
    {
        padding: 7.8125vw 9.76562vw 5.85938vw 9.76562vw;

        -webkit-box-shadow: 0 0 1.95312vw rgba(0, 0, 0, .16);
                box-shadow: 0 0 1.95312vw rgba(0, 0, 0, .16);
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__inner
    {
        padding: 10.25641vw 5.12821vw 10.25641vw 5.12821vw;

        -webkit-box-shadow: 0 0 5.12821vw rgba(0, 0, 0, .16);
                box-shadow: 0 0 5.12821vw rgba(0, 0, 0, .16);
    }
}

.entrySec__cont
{
    margin-top: 44px;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__cont
    {
        margin-top: 2.29167vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__cont
    {
        margin-top: 6.15385vw;
    }
}

.entrySec__mainForm
{
    width: 988px;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__mainForm
    {
        width: 51.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .entrySec__mainForm
    {
        width: 70.70312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__mainForm
    {
        width: 100%;
    }
}

.entrySec__main
{
    width: 100%;

    border-spacing: 10px;
    border-collapse: separate;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__main
    {
        border-spacing: .52083vw;
    }
}

.entrySec__th
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 348px;
    padding: 40px 0 40px 119px;

    text-align: left;

    color: #ac231a;
    background-color: #fff9f8;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__th
    {
        width: 18.125vw;
        padding: 2.08333vw 0 2.08333vw 6.19792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .entrySec__th
    {
        width: 24.41406vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__th
    {
        display: block;

        width: 100%;
        padding: 3.84615vw 0 3.84615vw 17.69231vw;
    }
}

.entrySec__th > span
{
    position: relative;
}

.entrySec__th--last
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-top: 40px;

    vertical-align: top;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__th--last
    {
        padding-top: 2.08333vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__th--last
    {
        padding-top: 10.25641vw;
    }
}

.entrySec__th--required > span::before
{
    font-family: 'Noto Serif JP', serif;
    font-size: 18px;
    line-height: 1;

    position: absolute;
    top: 0;
    bottom: 0;
    left: -65px;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 28px;
    margin: auto 0;
    padding: 4px 7px 5px;

    content: '必須';

    color: white;
    background-color: #ac231a;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__th--required > span::before
    {
        font-size: .9375vw;

        left: -3.38542vw;

        height: 1.45833vw;
        padding: .20833vw .36458vw .26042vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__th--required > span::before
    {
        font-size: 3.58974vw;

        left: -14.10256vw;

        height: 5.64103vw;
        padding: 1.02564vw 1.79487vw 1.28205vw;
    }
}

.entrySec__td
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 630px;
    padding: 33px 40px;

    background-color: #f3f5f8;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__td
    {
        width: 32.8125vw;
        padding: 1.71875vw 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .entrySec__td
    {
        width: 46.28906vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__td
    {
        display: block;

        width: 100%;
        padding: 3.84615vw 5.12821vw;
    }
}

.entrySec__entry
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 30px;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__entry
    {
        gap: 1.5625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__entry
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

.entrySec .wpcf7-list-item > label
{
    cursor: pointer;
}

.entrySec .wpcf7-list-item > label > input
{
    position: relative;

    width: 24px;
    height: 24px;
    margin-right: 10px;
    margin-bottom: 5px;

    border: 2px solid #0b1353;
    border-radius: 50%;
    background-color: #fff;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec .wpcf7-list-item > label > input
    {
        width: 1.25vw;
        height: 1.25vw;
        margin-right: .52083vw;
        margin-bottom: .26042vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec .wpcf7-list-item > label > input
    {
        width: 5.12821vw;
        height: 5.12821vw;
        margin-right: 2.5641vw;
        margin-bottom: .51282vw;
    }
}

.entrySec .wpcf7-list-item > label > input:checked::before
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 14px;
    height: 14px;

    content: '';
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    border-radius: 50%;
    background: #ac231a;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec .wpcf7-list-item > label > input:checked::before
    {
        width: .72917vw;
        height: .72917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .entrySec .wpcf7-list-item > label > input:checked::before
    {
        width: 1.36719vw;
        height: 1.36719vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec .wpcf7-list-item > label > input:checked::before
    {
        width: 3.38542vw;
        height: 3.38542vw;
    }
}

.entrySec .wpcf7-list-item .wpcf7-list-item-label
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
}

.entrySec__txt
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 550px;
    padding: 6px 10px 8px;

    border: 2px solid #0b1353;
    background-color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__txt
    {
        width: 28.64583vw;
        padding: .3125vw .52083vw .41667vw;

        border: .10417vw solid #0b1353;
    }
}

@media print, screen and (max-width: 1025px)
{
    .entrySec__txt
    {
        width: 41.40625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__txt
    {
        width: 100%;
        padding: 1.53846vw 2.5641vw 2.05128vw;

        border: .51282vw solid #0b1353;
    }
}

.entrySec__txt::-webkit-input-placeholder
{
    color: #c9c9c9;
}

.entrySec__txt::-moz-placeholder
{
    color: #c9c9c9;
}

.entrySec__txt::-ms-input-placeholder
{
    color: #c9c9c9;
}

.entrySec__txt::placeholder
{
    color: #c9c9c9;
}

.entrySec__btn
{
    position: relative;

    display: inline-block;

    margin: 0 auto;
    margin-top: 50px;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__btn
    {
        margin-top: 2.60417vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__btn
    {
        width: 100%;
        margin-top: 5.12821vw;
    }
}

.entrySec__btn::before
{
    position: absolute;
    z-index: 1;
    top: 0;
    right: 40px;
    bottom: 0;

    width: 15px;
    height: 21px;
    margin: auto 0;

    content: '';

    background-image: url(../images/img_entry_btn_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__btn::before
    {
        right: 2.08333vw;

        width: .78125vw;
        height: 1.09375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__btn::before
    {
        right: 2.5641vw;

        width: 2.5641vw;
        height: 4.10256vw;
    }
}

.entrySec__btnTxt
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;

    width: 680px;
    padding: 28px 0;

    cursor: pointer;
    -webkit-transition: all .3s;
            transition: all .3s;
    letter-spacing: .05em;

    color: white;
    border: none;
    background: -webkit-gradient(linear, left top, left bottom, from(#ac231a), to(#56120d));
    background: linear-gradient(to bottom, #ac231a, #56120d);
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__btnTxt
    {
        width: 35.41667vw;
        padding: 1.45833vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__btnTxt
    {
        width: 100%;
        padding: 4.61538vw 0;
    }
}

@media (any-hover: hover)
{
    .entrySec__btnTxt:hover
    {
        -webkit-transition: all .3s;
                transition: all .3s;

        opacity: .8;
    }
}

.entrySec__agreeCheck
{
    margin-top: 30px;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__agreeCheck
    {
        margin-top: 1.5625vw;
    }
}

.entrySec__agreeCheck .wpcf7-list-item-label a
{
    position: relative;

    color: #ac231a;
}

.entrySec__agreeCheck .wpcf7-list-item-label a::before
{
    position: absolute;
    right: 0;
    bottom: -2px;
    left: 0;

    width: 100%;
    height: 2px;
    margin: 0 auto;

    content: '';

    background-color: #ac231a;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__agreeCheck .wpcf7-list-item-label a::before
    {
        bottom: -.10417vw;

        height: .10417vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__agreeCheck .wpcf7-list-item-label a::before
    {
        bottom: -.51282vw;

        height: .51282vw;
    }
}

@media (any-hover: hover)
{
    .entrySec__agreeCheck .wpcf7-list-item-label a:hover
    {
        -webkit-transition: all .3s;
                transition: all .3s;

        opacity: .8;
    }
}

.entrySec__agreeCheck .wpcf7-list-item > label
{
    cursor: pointer;
}

.entrySec__agreeCheck .wpcf7-list-item > label > input
{
    position: relative;

    width: 20px;
    height: 20px;
    margin-right: 6px;
    margin-bottom: 3px;

    border: 2px solid #0b1353;
    border-radius: 0;
    background-color: #fff;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__agreeCheck .wpcf7-list-item > label > input
    {
        width: 1.04167vw;
        height: 1.04167vw;
        margin-right: .3125vw;
        margin-bottom: .15625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__agreeCheck .wpcf7-list-item > label > input
    {
        width: 3.84615vw;
        height: 3.84615vw;
        margin-right: 1.53846vw;
        margin-bottom: 0;
    }
}

.entrySec__agreeCheck .wpcf7-list-item > label > input:checked::before
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 8px;

    content: '';
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    border-radius: 0;
    background-color: transparent;
    background-image: url(../images/img_agree_check.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .entrySec__agreeCheck .wpcf7-list-item > label > input:checked::before
    {
        width: .625vw;
        height: .41667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .entrySec__agreeCheck .wpcf7-list-item > label > input:checked::before
    {
        width: 2.5641vw;
        height: 1.79487vw;
    }
}

.entrySec__agreeCheck .wpcf7-list-item .wpcf7-list-item-label
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
}

/* ============== .mesSec ============== */
.mesSec
{
    position: relative;

    padding: 84px 0 79px;
}

@media print, screen and (max-width: 1921px)
{
    .mesSec
    {
        padding: 4.375vw 0 4.11458vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mesSec
    {
        padding: 8.20312vw 0 7.71484vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .mesSec
    {
        padding: 13.33333vw 0 12vw;
    }
}

.mesSec::before
{
    position: absolute;
    z-index: -3;

    width: 100%;
    height: 100%;

    content: '';

    background: -webkit-gradient(linear, left top, left bottom, from(#0b1353), to(#575c80));
    background: linear-gradient(to bottom, #0b1353, #575c80);

    inset: 0;
}

.mesSec::after
{
    position: absolute;
    top: 56px;
    right: 0;
    left: 0;

    width: 967px;
    height: 190px;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_mes_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .mesSec::after
    {
        top: 2.91667vw;

        width: 50.36458vw;
        height: 9.89583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mesSec::after
    {
        top: 3.51562vw;

        width: 89.55078vw;
        height: 13.67188vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .mesSec::after
    {
        top: 9.23077vw;
    }
}

.mesSec__inner
{
    position: relative;

    width: 100%;
    max-height: 1920px;
    margin: 0 auto;
}

.mesSec__inner::before
{
    position: absolute;
    top: -60px;
    right: 0;
    left: -350px;

    width: 1800px;
    height: 1px;
    margin: 0 auto;

    content: '';

    background-color: #ac231a;
}

@media print, screen and (max-width: 1921px)
{
    .mesSec__inner::before
    {
        top: -3.125vw;
        left: -18.22917vw;

        width: 93.75vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mesSec__inner::before
    {
        top: -5.85938vw;
        left: -1.95312vw;

        width: 92.77344vw;
    }
}

.mesSec__inner::after
{
    position: absolute;
    right: 0;
    bottom: -56px;
    left: -350px;

    width: 1800px;
    height: 1px;
    margin: 0 auto;

    content: '';

    background-color: #ac231a;
}

@media print, screen and (max-width: 1921px)
{
    .mesSec__inner::after
    {
        bottom: -2.91667vw;
        left: -18.22917vw;

        width: 93.75vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mesSec__inner::after
    {
        bottom: -5.46875vw;
        left: -1.95312vw;

        width: 92.77344vw;
    }
}

.mesSec__ttl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 800;
    line-height: 1.25;

    padding-bottom: 16px;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .mesSec__ttl
    {
        padding-bottom: .83333vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .mesSec__ttl
    {
        line-height: 1.5;

        padding-bottom: 4.10256vw;
    }
}

.mesSec__ttl:nth-child(2)
{
    padding-bottom: 53px;
}

@media print, screen and (max-width: 1921px)
{
    .mesSec__ttl:nth-child(2)
    {
        padding-bottom: 2.76042vw;
    }
}

.mesSec__txt
{
    font-weight: 500;
    line-height: 1.739;

    letter-spacing: .02em;

    color: #fff;
}

@media print, screen and (max-width: 430px)
{
    .mesSec__txt
    {
        line-height: 1.8;
    }
}

/* ============== .c-ttl ============== */
.c-ttl
{
    position: relative;

    padding-top: 30px;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttl
    {
        padding-top: 1.5625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttl
    {
        padding-top: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-ttl
    {
        padding-top: 7.69231vw;
    }
}

.c-ttl::before
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    width: 20px;
    height: 20px;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_ttl_illust.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttl::before
    {
        width: 1.04167vw;
        height: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttl::before
    {
        width: 1.95312vw;
        height: 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-ttl::before
    {
        width: 5.12821vw;
        height: 5.12821vw;
    }
}

.c-ttl--white::before
{
    background-image: url(../images/img_ttl_illust_white.svg);
}

.c-ttl__jp
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 800;

    letter-spacing: .06em;

    color: #0b1353;
}

@media print, screen and (max-width: 430px)
{
    .c-ttl__jp
    {
        font-size: 5.12821vw;
    }
}

.c-ttl__jp > span
{
    position: relative;

    padding: 0 62px;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttl__jp > span
    {
        padding: 0 3.22917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttl__jp > span
    {
        padding: 0 5.07812vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-ttl__jp > span
    {
        padding: 0 7.17949vw;
    }
}

.c-ttl__jp > span::before
{
    position: absolute;
    bottom: 8px;
    left: 0;

    width: 42px;
    height: 33px;

    content: '';

    background-image: url(../images/img_ttl_line.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttl__jp > span::before
    {
        bottom: .41667vw;

        width: 2.1875vw;
        height: 1.71875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttl__jp > span::before
    {
        bottom: .78125vw;

        width: 3.125vw;
        height: 2.24609vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-ttl__jp > span::before
    {
        bottom: 1.02564vw;

        width: 5.64103vw;
        height: 4.35897vw;
    }
}

.c-ttl__jp > span::after
{
    position: absolute;
    right: 0;
    bottom: 8px;

    width: 42px;
    height: 33px;

    content: '';

    background-image: url(../images/img_ttl_line.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttl__jp > span::after
    {
        bottom: .41667vw;

        width: 2.1875vw;
        height: 1.71875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttl__jp > span::after
    {
        bottom: .78125vw;

        width: 3.125vw;
        height: 2.24609vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-ttl__jp > span::after
    {
        bottom: 1.02564vw;

        width: 5.64103vw;
        height: 4.35897vw;
    }
}

.c-ttl__jp--white
{
    color: #fff;
}

.c-ttl__jp--white > span::before
{
    background-image: url(../images/img_ttl_line_white.svg);
}

.c-ttl__jp--white > span::after
{
    background-image: url(../images/img_ttl_line_white.svg);
}

/* ============== .businessSec ============== */
.businessSec
{
    position: relative;

    padding: 80px 0;

    background-color: #f3f5f8;
}

@media print, screen and (max-width: 1921px)
{
    .businessSec
    {
        padding: 4.16667vw 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .businessSec
    {
        padding: 7.8125vw 0;
    }
}

.businessSec::before
{
    position: absolute;
    top: 0;
    left: 11px;

    width: 1030px;
    height: 183px;

    content: '';

    background-image: url(../images/img_business_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .businessSec::before
    {
        left: .57292vw;

        width: 53.64583vw;
        height: 9.53125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .businessSec::before
    {
        left: 1.46667vw;

        width: 92vw;
        height: 24.4vw;
    }
}

.businessSec::after
{
    position: absolute;
    right: 11px;
    bottom: 40px;

    width: 1123px;
    height: 183px;

    content: '';

    background-image: url(../images/img_business_bg_02.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .businessSec::after
    {
        right: .36458vw;
        bottom: 2.08333vw;

        width: 53.64583vw;
        height: 9.53125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .businessSec::after
    {
        right: .93333vw;
        bottom: 1.33333vw;

        width: 92vw;
        height: 24.4vw;
    }
}

.businessSec__inner
{
    width: 1192px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1921px)
{
    .businessSec__inner
    {
        width: 62.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .businessSec__inner
    {
        width: 90.23438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .businessSec__inner
    {
        width: 92vw;
    }
}

.businessSec__cont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 40px;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 90px;
}

@media print, screen and (max-width: 1921px)
{
    .businessSec__cont
    {
        margin-top: 2.08333vw;

        gap: 4.6875vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .businessSec__cont
    {
            flex-direction: column;

        margin-top: 10.25641vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        gap: 0;
    }
}

.businessSec__lBox
{
    width: 460px;
    margin-top: 172px;

    text-align: left;
}

@media print, screen and (max-width: 1921px)
{
    .businessSec__lBox
    {
        width: 23.95833vw;
        margin-top: 8.95833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .businessSec__lBox
    {
        width: 35.15625vw;
        margin-top: 12.89062vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .businessSec__lBox
    {
        width: 100%;
        margin-top: 0;
    }
}

.businessSec__ttl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 800;
    line-height: 1.667;

    margin-bottom: 27px;
    padding-bottom: 25px;

    letter-spacing: .02em;

    color: #0b1353;
    border-bottom: 3px solid #ac231a;
}

@media print, screen and (max-width: 1921px)
{
    .businessSec__ttl
    {
        margin-bottom: 1.40625vw;
        padding-bottom: 1.30208vw;

        border-bottom: .15625vw solid #ac231a;
    }
}

@media print, screen and (max-width: 430px)
{
    .businessSec__ttl
    {
        margin-bottom: 4.35897vw;
        padding-bottom: 2.5641vw;

        border-bottom: .51282vw solid #ac231a;
    }
}

.businessSec__photo
{
    width: 644px;
}

@media print, screen and (max-width: 1921px)
{
    .businessSec__photo
    {
        width: 33.54167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .businessSec__photo
    {
        width: 43.35938vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .businessSec__photo
    {
        width: 100%;
    }
}

.businessSec__photo > picture img
{
    display: block;

    width: 100%;
}

.businessSec__txt
{
    font-weight: 500;
    line-height: 1.739;

    letter-spacing: .02em;

    color: #0b1353;
}

/* ============== .worksSec ============== */
.worksSec
{
    position: relative;

    padding: 80px 0 0;
}

@media print, screen and (max-width: 1921px)
{
    .worksSec
    {
        padding: 4.16667vw 0 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .worksSec
    {
        padding: 5.85938vw 0 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .worksSec
    {
        padding: 10.25641vw 0 0;
    }
}

.worksSec::before
{
    position: absolute;
    z-index: -3;
    top: 0;
    right: 0;
    left: 0;

    width: 100%;
    height: 65.10417vw;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_works_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1921px)
{
    .worksSec::before
    {
        height: 65.10417vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .worksSec::before
    {
        height: 384.61538vw;
    }
}

.worksSec::after
{
    position: absolute;
    z-index: -2;
    top: 136px;
    left: 39px;

    width: 731px;
    height: 139px;

    content: '';

    background-image: url(../images/img_works_bg_02.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .worksSec::after
    {
        top: 7.08333vw;
        left: 2.03125vw;

        width: 38.07292vw;
        height: 7.23958vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .worksSec::after
    {
        top: 2.5641vw;
        left: 2.5641vw;

        width: 76.92308vw;
        height: 25.64103vw;
    }
}

.worksSec__inner
{
    width: 1232px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1921px)
{
    .worksSec__inner
    {
        width: 64.16667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .worksSec__inner
    {
        width: 90.23438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .worksSec__inner
    {
        width: 92vw;
    }
}

.worksSec__cont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 60px;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 50px;
}

@media print, screen and (max-width: 1921px)
{
    .worksSec__cont
    {
        margin-top: 3.125vw;

        gap: 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .worksSec__cont
    {
        margin-top: 3.90625vw;

        gap: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .worksSec__cont
    {
            flex-direction: column;

        margin-top: 7.69231vw;

        gap: 5.12821vw;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.worksSec__photo
{
    width: 433px;
}

@media print, screen and (max-width: 1921px)
{
    .worksSec__photo
    {
        width: 22.55208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .worksSec__photo
    {
        width: 27.63672vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .worksSec__photo
    {
        width: 100%;
    }
}

.worksSec__photo > picture img
{
    display: block;

    width: 100%;
}

.worksSec__rBox
{
    width: 749px;
}

@media print, screen and (max-width: 1921px)
{
    .worksSec__rBox
    {
        width: 39.01042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .worksSec__rBox
    {
        width: 48.82812vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .worksSec__rBox
    {
        width: 100%;

        text-align: left;
    }
}

.worksSec__ttl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 800;

    margin-bottom: 25px;
    padding-bottom: 26px;

    letter-spacing: .02em;

    color: #fff;
    border-bottom: 3px solid #ac231a;
}

@media print, screen and (max-width: 1921px)
{
    .worksSec__ttl
    {
        margin-bottom: 1.30208vw;
        padding-bottom: 1.35417vw;

        border-bottom: .15625vw solid #ac231a;
    }
}

.worksSec__txt
{
    font-weight: 500;
    line-height: 1.739;

    text-align: left;
    letter-spacing: .02em;

    color: #fff;
}

/* ============== .charmSec ============== */
.charmSec
{
    position: relative;

    width: 100%;
    padding: 60px 0 0;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec
    {
        padding: 3.125vw 0 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec
    {
        padding: 3.90625vw 0 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec
    {
        padding: 7.69231vw 0 0;
    }
}

.charmSec::before
{
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: -120px;
    left: 0;

    width: 100%;
    height: 44.6875vw;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_charm_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec::before
    {
        bottom: -6.25vw;

        height: 44.6875vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec::before
    {
        bottom: -30.76923vw;

        height: 307.69231vw;
    }
}

.charmSec__inner
{
    width: 1300px;
    margin: 0 auto;
    padding: 80px 0 50px;

    border-radius: 20px;
    background-color: #f3f5f8;
    -webkit-box-shadow: 0 0 24px rgba(0, 0, 0, .16);
            box-shadow: 0 0 24px rgba(0, 0, 0, .16);
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__inner
    {
        width: 67.70833vw;
        padding: 4.16667vw 0 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__inner
    {
        width: 90.23438vw;
        padding: 5.85938vw 0;
    }
}

.charmSec__cont
{
    margin-top: 40px;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__cont
    {
        margin-top: 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__cont
    {
        margin-top: 2.92969vw;
    }
}

.charmSec__txt
{
    font-weight: 500;
    line-height: 1.6;
}

.charmSec__txt > span
{
    color: #ac231a;
}

.charmSec__itemBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 39px;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 40px;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__itemBox
    {
        margin-top: 2.03125vw;

        gap: 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__itemBox
    {
        margin-top: 2.92969vw;

        gap: 1.95312vw;
    }
}

.charmSec__item
{
    width: 350px;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__item
    {
        width: 18.22917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__item
    {
        width: 24.41406vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__item
    {
        width: 100%;
    }
}

.charmSec__ttlBox
{
    position: relative;

    width: 100%;
    margin-bottom: 33px;
    padding: 11px 0 47px;

    background-color: #0b1353;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__ttlBox
    {
        margin-bottom: 1.71875vw;
        padding: .57292vw 0 2.44792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__ttlBox
    {
        margin-bottom: 2.92969vw;
        padding: .39062vw 0 3.61328vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__ttlBox
    {
        margin-bottom: 8.46154vw;
        padding: 2.82051vw 0 9.48718vw;
    }
}

.charmSec__ttlBox::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 95px;
    height: 75px;

    content: '';

    background-image: url(../images/img_charm_ttl_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__ttlBox::before
    {
        width: 4.94792vw;
        height: 3.90625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__ttlBox::before
    {
        width: 5.85938vw;
        height: 4.88281vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__ttlBox::before
    {
        width: 19.23077vw;
        height: 14.10256vw;
    }
}

.charmSec__ttlBox::after
{
    position: absolute;
    right: 0;
    bottom: -12px;
    left: 0;

    width: 25px;
    height: 16px;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_charm_ttl_bg_02.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__ttlBox::after
    {
        bottom: -.625vw;

        width: 1.30208vw;
        height: .83333vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__ttlBox::after
    {
        bottom: -3.07692vw;

        width: 5.12821vw;
        height: 3.07692vw;
    }
}

.charmSec__ttlBox--02
{
    padding: 11px 0 21px;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__ttlBox--02
    {
        padding: .57292vw 0 1.09375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__ttlBox--02
    {
        padding: .39062vw 0 1.66016vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__ttlBox--02
    {
        padding: 2.82051vw 0 5.12821vw;
    }
}

.charmSec__num
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;
    line-height: 1;

    position: relative;
    z-index: 1;

    padding-left: 8px;

    text-align: left;
    letter-spacing: .02em;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__num
    {
        padding-left: .41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__num
    {
        padding-left: .58594vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__num
    {
        padding-left: 2.05128vw;
    }
}

.charmSec__ttl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 800;
    line-height: 1;

    padding-top: 7px;

    letter-spacing: .02em;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__ttl
    {
        padding-top: .36458vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__ttl
    {
        padding-top: .39062vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__ttl
    {
        padding-top: 1.79487vw;
    }
}

.charmSec__ttl--02
{
    line-height: 1.6;

    margin: -27px 0 0 60px;
    padding-top: 5px;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__ttl--02
    {
        margin: -1.40625vw 0 0 3.125vw;
        padding-top: .26042vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__ttl--02
    {
        margin: -2.5641vw 0 0 1.28205vw;
    }
}

.charmSec__itemTxtBox
{
    position: relative;

    width: 310px;
    margin: 0 auto 182px;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__itemTxtBox
    {
        width: 16.14583vw;
        margin: 0 auto 9.47917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__itemTxtBox
    {
        width: 21.48438vw;
        margin: 0 auto 12.89062vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__itemTxtBox
    {
        width: 66.66667vw;
        margin: 0 auto 41.02564vw;
    }
}

.charmSec__itemTxtBox::after
{
    position: absolute;
    z-index: 0;
    right: 0;
    bottom: -162px;
    left: -21px;

    width: 350px;
    height: 200px;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_charm_item_photo.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__itemTxtBox::after
    {
        bottom: -8.4375vw;
        left: -1.09375vw;

        width: 18.22917vw;
        height: 10.41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .charmSec__itemTxtBox::after
    {
        bottom: -11.91406vw;
        left: -2.05078vw;

        width: 25.29297vw;
        height: 14.55078vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSec__itemTxtBox::after
    {
        bottom: -38.97436vw;
        left: -4.10256vw;

        width: 76.92308vw;
        height: 46.15385vw;
    }
}

.charmSec__itemTxtBox--02::after
{
    background-image: url(../images/img_charm_item_photo_02.webp);
}

.charmSec__itemTxtBox--03::after
{
    background-image: url(../images/img_charm_item_photo_03.webp);
}

.charmSec__itemTxtBox--04::after
{
    background-image: url(../images/img_charm_item_photo_04.webp);
}

.charmSec__itemTxtBox--05::after
{
    background-image: url(../images/img_charm_item_photo_05.webp);
}

.charmSec__itemTxtBox--06::after
{
    background-image: url(../images/img_charm_item_photo_06.webp);
}

.charmSec__itemTxt
{
    font-weight: 600;
    line-height: 1.25;

    position: relative;
    z-index: 1;

    width: 100%;
    padding: 11px 0 10px;

    letter-spacing: .02em;

    color: #0b1353;
    border: 1px solid #0b1353;
    border-radius: 100vw;
    background-color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__itemTxt
    {
        padding: .57292vw 0 .52083vw;
    }
}

.charmSec__itemTxt--short
{
    padding: 23px 0;
}

@media print, screen and (max-width: 1921px)
{
    .charmSec__itemTxt--short
    {
        padding: 1.19792vw 0;
    }
}

/* ============== .scheduleSec ============== */
.scheduleSec
{
    position: relative;

    padding: 80px 0 50px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec
    {
        padding: 4.16667vw 0 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec
    {
        padding: 5.85938vw 0 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec
    {
        padding: 5.12821vw 0 7.69231vw;
    }
}

.scheduleSec::before
{
    position: absolute;
    z-index: 1;
    top: 80px;
    left: 72px;

    width: 23px;
    height: 2665px;

    content: '';

    background-image: url(../images/img_flow_bg_01.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec::before
    {
        top: 4.16667vw;
        left: 3.75vw;

        width: 1.19792vw;
        height: 138.80208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec::before
    {
        top: 5.85938vw;
        left: 1.46484vw;

        width: 2.24609vw;
        height: 214.84375vw;
    }
}

.scheduleSec::after
{
    position: absolute;
    z-index: 1;
    top: 80px;
    right: 72px;

    width: 23px;
    height: 2665px;

    content: '';

    background-image: url(../images/img_flow_bg_02.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec::after
    {
        top: 4.16667vw;
        right: 3.75vw;

        width: 1.19792vw;
        height: 138.80208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec::after
    {
        top: 5.85938vw;
        right: 1.46484vw;

        width: 2.24609vw;
        height: 214.84375vw;
    }
}

.scheduleSec__cont
{
    margin-top: 49px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__cont
    {
        margin-top: 2.55208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__cont
    {
        margin-top: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__cont
    {
        margin-top: 7.69231vw;
    }
}

.scheduleSec__ttl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;

    position: relative;

    padding: 14px 0 12px;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__ttl
    {
        padding: .72917vw 0 .625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__ttl
    {
        padding: 3.58974vw 0 3.07692vw;
    }
}

.scheduleSec__ttl::before
{
    position: absolute;
    z-index: -2;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_flow_ttl_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    inset: 0;
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__ttl::before
    {
        background-image: url(../images/img_flow_ttl_bg_sp.svg);
    }
}

.scheduleSec__ttl--center::before
{
    background-image: url(../images/img_flow_ttl_bg_center.svg);
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__ttl--center::before
    {
        background-image: url(../images/img_flow_ttl_bg_center_sp.svg);
    }
}

.scheduleSec__ttl--short::before
{
    background-image: url(../images/img_flow_ttl_bg_short.svg);
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__ttl--short::before
    {
        background-image: url(../images/img_flow_ttl_bg_center_sp.svg);
    }
}

.scheduleSec__item
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding-bottom: 60px;

    gap: 40px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__item
    {
        padding-bottom: 3.125vw;

        gap: 2.08333vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__item
    {
        padding-bottom: 3.07692vw;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        gap: 0;
    }
}

.scheduleSec__item:nth-child(2)
{
    padding-top: 25px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__item:nth-child(2)
    {
        padding-top: 1.30208vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__item:nth-child(3) .scheduleSec__timeBox::after
    {
        bottom: -32.82051vw;

        height: 27.17949vw;
    }
}

.scheduleSec__item:nth-child(5) .scheduleSec__timeBox::after
{
    bottom: -215px;

    height: 207px;

    background-size: 100% 2.91667vw;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__item:nth-child(5) .scheduleSec__timeBox::after
    {
        bottom: -11.19792vw;

        height: 10.78125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__item:nth-child(5) .scheduleSec__timeBox::after
    {
        bottom: -67.94872vw;

        height: 55.89744vw;

        background-image: url(../images/img_flow_item_line_02_sp.svg);
        background-size: cover;
    }
}

.scheduleSec__item:last-child
{
    padding-bottom: 0;
}

.scheduleSec__item:last-child .scheduleSec__timeBox::after
{
    display: none;
}

.scheduleSec__item--last
{
    margin-left: 285px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__item--last
    {
        margin-left: 14.84375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__item--last
    {
        margin-left: 21.48438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__item--last
    {
        margin-left: 22.30769vw;
    }
}

.scheduleSec__timeBox
{
    position: relative;

    width: 240px;
    padding: 16px 0 33px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__timeBox
    {
        width: 12.5vw;
        padding: .83333vw 0 1.71875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__timeBox
    {
        width: 19.53125vw;
        padding: 1.5625vw 0 3.22266vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__timeBox
    {
        width: 22.30769vw;
        padding: 2.05128vw 0 2.30769vw;
    }
}

.scheduleSec__timeBox::before
{
    position: absolute;
    z-index: -2;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_flow_time_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    inset: 0;
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__timeBox::before
    {
        background-image: url(../images/img_flow_time_bg_sp.svg);
    }
}

.scheduleSec__timeBox::after
{
    position: absolute;
    right: 0;
    bottom: -63px;
    left: 0;

    width: 8px;
    height: 56px;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_flow_item_line_02.svg);
    background-repeat: repeat-y;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__timeBox::after
    {
        bottom: -3.28125vw;

        width: .41667vw;
        height: 2.91667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__timeBox::after
    {
        bottom: -36.92308vw;

        width: 1.02564vw;
        height: 30.76923vw;

        background-image: url(../images/img_flow_item_line_02_sp.svg);
    }
}

.scheduleSec__timeBox--red::before
{
    background-image: url(../images/img_flow_time_bg_red.svg);
}

.scheduleSec__time
{
    font-family: 'DIN 2014', sans-serif;
    font-weight: 700;

    letter-spacing: .05em;

    color: #fff;
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__time
    {
        font-size: 3.33333vw;
    }
}

.scheduleSec__timeIllust
{
    width: 80px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__timeIllust
    {
        width: 4.16667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__timeIllust
    {
        width: 5.85938vw;
        margin-top: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__timeIllust
    {
        width: 8.71795vw;
        margin-top: 1.28205vw;
    }
}

.scheduleSec__timeIllust > picture img
{
    display: block;

    width: 100%;
}

.scheduleSec__detailBox
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 525px;
    height: 176px;
    padding: 12px 20px 14px;

    text-align: left;

    background-color: #f3f5f8;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__detailBox
    {
        width: 27.34375vw;
        height: 9.16667vw;
        padding: .625vw 1.04167vw .72917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__detailBox
    {
        width: 43.94531vw;
        height: auto;
        padding: 1.17188vw 1.95312vw 1.36719vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__detailBox
    {
        width: 69.23077vw;
        padding: 2.5641vw 2.5641vw 2.30769vw;
    }
}

.scheduleSec__detailBox--red
{
    background-color: #fff9f8;
}

.scheduleSec__detailTxt
{
    font-weight: 500;
    line-height: 1.6;

    letter-spacing: .02em;

    color: #0b1353;
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__detailTxt
    {
        font-size: 3.07692vw;
    }
}

.scheduleSec__detailTxt > span
{
    position: relative;
}

.scheduleSec__detailTxt > span::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 18px;
    height: 18px;
    margin: auto 0;

    content: '';

    background-image: url(../images/img_flow_detail_illust.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__detailTxt > span::before
    {
        width: .9375vw;
        height: .9375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__detailTxt > span::before
    {
        width: 2.05128vw;
        height: 2.05128vw;
    }
}

.scheduleSec__detailTxt--red
{
    color: #ac231a;
}

.scheduleSec__detailTxt--red > span::before
{
    background-image: url(../images/img_flow_detail_illust_red.svg);
}

.scheduleSec__detailTtl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;

    margin-bottom: 10px;
    padding-bottom: 10px;

    color: #0b1353;
    border-bottom: 1px solid #0b1353;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__detailTtl
    {
        margin-bottom: .52083vw;
        padding-bottom: .52083vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__detailTtl
    {
        margin-bottom: 2.5641vw;
        padding-bottom: 2.5641vw;
    }
}

.scheduleSec__detailTtl--red
{
    color: #ac231a;
    border-bottom-color: #ac231a;
}

.scheduleSec__itemImg
{
    width: 253px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__itemImg
    {
        width: 13.17708vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__itemImg
    {
        width: 22.46094vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__itemImg
    {
        width: 45.64103vw;
        margin-top: 3.07692vw;
        margin-right: 9.23077vw;
    }
}

.scheduleSec__itemImg > picture img
{
    display: block;

    width: 100%;
}

.scheduleSec__btmInner
{
    width: 1335px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmInner
    {
        width: 69.53125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__btmInner
    {
        width: 90.23438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmInner
    {
        width: 92vw;
    }
}

.scheduleSec__btmCont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 50px;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 59px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmCont
    {
        margin-top: 2.60417vw;

        gap: 3.07292vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__btmCont
    {
        margin-top: 3.90625vw;

        gap: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmCont
    {
            flex-direction: column;

        margin-top: 10.25641vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        gap: 6.15385vw;
    }
}

.scheduleSec__btmlBlock
{
    width: 842px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmlBlock
    {
        width: 43.85417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__btmlBlock
    {
        width: 53.71094vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmlBlock
    {
        width: 100%;
    }
}

.scheduleSec__btmLImg
{
    width: 100%;
    margin-top: 25px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmLImg
    {
        margin-top: 1.30208vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmLImg
    {
        margin-top: 5.12821vw;
    }
}

.scheduleSec__btmLImg > picture img
{
    display: block;

    width: 100%;
}

.scheduleSec__btmRBlock
{
    width: 434px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmRBlock
    {
        width: 22.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__btmRBlock
    {
        width: 29.29688vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmRBlock
    {
        width: 100%;
    }
}

.scheduleSec__btmRBox
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin-top: 30px;
    padding: 25px 25px 15px 30px;

    background-color: #fff9f8;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmRBox
    {
        margin-top: 1.5625vw;
        padding: 1.30208vw 1.30208vw .78125vw 1.5625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__btmRBox
    {
        margin-top: 1.95312vw;
        padding: 2.44141vw 1.95312vw 1.46484vw 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmRBox
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 76.66667vw;
        margin: 0 auto;
        margin-top: 5.12821vw;
        padding: 4.35897vw 4.61538vw 2.5641vw 5.38462vw;
    }
}

.scheduleSec__btmRBoxItem
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 15px 19px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmRBoxItem
    {
        gap: .78125vw .98958vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmRBoxItem
    {
        gap: 2.5641vw 4.87179vw;
    }
}

.scheduleSec__btmRBoxTxt
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 800;

    letter-spacing: .05em;

    color: #ac231a;
}

.scheduleSec__btmRBoxTxt--01
{
    margin-right: 23px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmRBoxTxt--01
    {
        margin-right: 1.19792vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmRBoxTxt--01
    {
        margin-right: 3.84615vw;
    }
}

.scheduleSec__btmRBoxTxt--03
{
    margin-right: 16px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmRBoxTxt--03
    {
        margin-right: .83333vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmRBoxTxt--03
    {
        margin-right: 3.33333vw;
    }
}

.scheduleSec__btmRBoxImg
{
    width: 221px;
}

@media print, screen and (max-width: 1921px)
{
    .scheduleSec__btmRBoxImg
    {
        width: 11.51042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .scheduleSec__btmRBoxImg
    {
        width: 14.64844vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .scheduleSec__btmRBoxImg
    {
        width: 38.71795vw;
    }
}

.scheduleSec__btmRBoxImg > picture img
{
    display: block;

    width: 100%;
}

/* ============== .trainingSec ============== */
.trainingSec
{
    position: relative;

    padding: 80px 0;

    background-color: #f3f5f8;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec
    {
        padding: 4.16667vw 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSec
    {
        padding: 5.85938vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec
    {
        padding: 15.38462vw 0;
    }
}

.trainingSec:before
{
    position: absolute;
    z-index: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 450px;
    margin: 0 auto;

    content: '';

    background-color: #0b1353;
    background-image: url(../images/img_training_sec_bg.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec:before
    {
        height: 23.4375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec:before
    {
        height: 52.05128vw;

        background-image: url(../images/img_training_sec_bg_sp.webp);
    }
}

.trainingSec__cont
{
    margin-top: 40px;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec__cont
    {
        margin-top: 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSec__cont
    {
        margin-top: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__cont
    {
        margin-top: 5.12821vw;
    }
}

.trainingSec__txt
{
    font-weight: 500;
    line-height: 1.75;
}

.trainingSec__txt > span
{
    color: #ac231a;
}

.trainingSec__ttl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 8px 0;

    letter-spacing: .02em;

    color: #fff;
    background: -webkit-gradient(linear, left top, left bottom, from(#ac231a), to(#56120d));
    background: linear-gradient(to bottom, #ac231a, #56120d);
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec__ttl
    {
        padding: .41667vw 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSec__ttl
    {
        padding: .78125vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__ttl
    {
        font-size: 3.33333vw;

        padding: 1.02564vw 0;
    }
}

.trainingSec__ttl--blue
{
    background: -webkit-gradient(linear, left top, left bottom, from(#575c80), to(#0b1353));
    background: linear-gradient(to bottom, #575c80, #0b1353);
}

.trainingSec__box
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-height: 880px;
    margin-top: 10px;
    padding: 30px 38px 40px;

    background-color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec__box
    {
        min-height: 45.83333vw;
        padding: 1.5625vw 1.97917vw 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSec__box
    {
        height: auto;
        min-height: 0;
        padding: 2.92969vw 3.71094vw 3.90625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__box
    {
        height: auto;
        min-height: 105vw;
        padding: 3.58974vw 4.61538vw 4.61538vw;
    }
}

.trainingSec__box--02
{
    padding: 30px 25px 40px;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec__box--02
    {
        padding: 1.5625vw 1.30208vw 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSec__box--02
    {
        padding: 2.92969vw 2.44141vw 3.90625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__box--02
    {
        padding: 3.58974vw 3.33333vw 4.61538vw;
    }
}

.trainingSec__txtBox
{
    margin-bottom: 39px;

    text-align: left;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec__txtBox
    {
        margin-bottom: 2.03125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSec__txtBox
    {
        margin-bottom: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__txtBox
    {
        margin-bottom: 4.35897vw;
    }
}

.trainingSec__txtBox:nth-child(2)
{
    margin-bottom: 0;
}

.trainingSec__subTtl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;

    margin-bottom: 5px;
    padding-bottom: 5px;

    letter-spacing: .02em;

    border-bottom: 1px solid #ac231a;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec__subTtl
    {
        margin-bottom: .26042vw;
        padding-bottom: .26042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSec__subTtl
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        margin-bottom: .48828vw;
        padding-bottom: .48828vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__subTtl
    {
        font-size: 3.07692vw;

        margin-bottom: 1.28205vw;
        padding-bottom: 1.28205vw;
    }
}

.trainingSec__subTtl--02
{
    letter-spacing: 0;
}

.trainingSec__swiperTxt
{
    font-weight: 500;
    line-height: 1.65;

    letter-spacing: .02em;
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__swiperTxt
    {
        font-size: 2.82051vw;
    }
}

.trainingSec__swiperTxt > span
{
    position: relative;
}

.trainingSec__swiperTxt > span::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 18px;
    height: 18px;
    margin: auto 0;

    content: '';

    background-image: url(../images/img_flow_detail_illust.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec__swiperTxt > span::before
    {
        width: .9375vw;
        height: .9375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__swiperTxt > span::before
    {
        width: 2.05128vw;
        height: 2.05128vw;
    }
}

.trainingSec__img
{
    width: 429px;
    margin: 0 auto;
    margin-top: 29px;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec__img
    {
        width: 22.34375vw;
        margin-top: 1.51042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSec__img
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        margin-top: 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__img
    {
        margin-top: 4.35897vw;
    }
}

.trainingSec__img > picture img
{
    display: block;

    width: 100%;
}

.trainingSec__img--02
{
    width: 460px;
    margin: 25px auto 0;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSec__img--02
    {
        width: 23.95833vw;
        margin: 1.30208vw auto 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSec__img--02
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 34.17969vw;
        margin: 1.95312vw auto 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__img--02
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 53.07692vw;
        margin: 4.35897vw auto 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSec__note
    {
        font-size: 2.30769vw;
    }
}

/* ============== .trainingSwiper ============== */
.trainingSwiper
{
    width: 100%;
    margin-top: 39px;
}

.trainingSwiper__wrapper
{
    width: 1060px;

    gap: 40px;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSwiper__wrapper
    {
        width: 55.20833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSwiper__wrapper
    {
        width: 90.23438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSwiper__wrapper
    {
        width: auto;
        padding-bottom: 7.69231vw;

        gap: 0;
    }
}

.trainingSwiper__cont
{
    overflow: hidden;

    width: 100%;
    width: 100%;
}

@media print, screen and (max-width: 430px)
{
    .trainingSwiper__cont
    {
        width: 75.38462vw;
        margin: 0 auto;
    }
}

.trainingSwiper__slide
{
    width: 510px;
}

@media print, screen and (max-width: 1921px)
{
    .trainingSwiper__slide
    {
        width: 26.5625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .trainingSwiper__slide
    {
        width: 43.26172vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSwiper__slide
    {
        width: auto;
    }
}

.trainingSwiper__slide > img
{
    display: block;

    width: 100%;
}

.trainingSwiper .swiper-pagination
{
    display: none;
}

@media print, screen and (max-width: 430px)
{
    .trainingSwiper .swiper-pagination
    {
        bottom: 0 !important;

        display: block;
    }
}

.trainingSwiper .swiper-pagination-bottom
{
    display: none;
}

@media print, screen and (max-width: 430px)
{
    .trainingSwiper .swiper-pagination-bottom
    {
        display: block;

        margin-top: 8vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .trainingSwiper .swiper-pagination-bullet
    {
        width: 1.79487vw;
        height: 1.79487vw;

        opacity: 1;
        border: .25641vw solid #fff;
        background-color: transparent;
    }
}

.trainingSwiper .swiper-pagination-bullet-active
{
    background: #fff;
    /* アクティブ色 */
}

/* ============== .flowSec ============== */
.flowSec
{
    position: relative;

    padding: 80px 0 50px;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec
    {
        padding: 4.16667vw 0 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec
    {
        padding: 5.85938vw 0 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec
    {
        padding: 10.25641vw 0 7.69231vw;
    }
}

.flowSec::before
{
    position: absolute;
    z-index: -3;
    top: 0;
    right: 0;
    left: 0;

    width: 100%;
    height: 44.6875vw;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_flow_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec::before
    {
        height: 44.6875vw;
    }
}

.flowSec__cont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 44px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__cont
    {
        margin-top: 2.29167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__cont
    {
        margin-top: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__cont
    {
        margin-top: 5.12821vw;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 7.69231vw;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

.flowSec__item
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 220px;
    min-height: 220px;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__item
    {
        width: 11.45833vw;
        min-height: 11.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__item
    {
        width: 17.57812vw;
        min-height: 17.57812vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__item
    {
        width: 41.02564vw;
        min-height: 41.02564vw;
    }
}

.flowSec__item::before
{
    position: absolute;
    z-index: -2;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_flow_item_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    inset: 0;
}

.flowSec__item::after
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: -73px;
    bottom: 0;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 74px;
    height: 6px;
    margin: auto 0;

    content: '';

    background-color: #0b1353;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__item::after
    {
        right: -3.80208vw;

        width: 3.85417vw;
        height: .3125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__item::after
    {
        right: -7.12891vw;

        width: 7.22656vw;
        height: .58594vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__item::after
    {
        right: -7.94872vw;

        width: 8.20513vw;
        height: 1.53846vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__item:nth-child(2)::after
    {
        display: none;
    }
}

.flowSec__item:last-child::after
{
    display: none;
}

.flowSec__num
{
    height: 53px;
    padding: 8px 0 0 0 5px;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__num
    {
        height: 2.76042vw;
        padding: .41667vw 0 0 .26042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__num
    {
        height: 3.90625vw;
        padding: .78125vw 0 0 .48828vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__num
    {
        height: 10.25641vw;
        padding: 2.05128vw 0 0 1.28205vw;
    }
}

.flowSec__num > picture img
{
    display: block;

    height: 100%;
}

.flowSec__txt
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;
    line-height: 1;

    padding-top: 1.40625vw;

    letter-spacing: .1em;
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__txt
    {
        padding-top: 2.63672vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__txt
    {
        padding-top: 5.12821vw;
    }
}

.flowSec__txt--03
{
    line-height: 1.029;

    padding-top: .20833vw;
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__txt--03
    {
        padding-top: .29297vw;
    }
}

.flowSec__checkBox
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 900px;
    margin: 26px auto 0;
    padding: 0 107px 0 105px;

    text-align: left;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__checkBox
    {
        width: 46.875vw;
        margin: 1.35417vw auto 0;
        padding: 0 5.57292vw 0 5.46875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__checkBox
    {
        width: 58.59375vw;
        margin: 1.95312vw auto 0;
        padding: 0 7.8125vw 0 7.61719vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__checkBox
    {
        width: 100%;
        margin: 5.12821vw auto 0;
        padding: 0 5.12821vw;
    }
}

.flowSec__checkBox::before
{
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 170px;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_flow_check_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__checkBox::before
    {
        height: 8.85417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__checkBox::before
    {
        height: 11.42578vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__checkBox::before
    {
        height: 32.05128vw;

        background-image: url(../images/img_flow_check_bg_sp.svg);
    }
}

.flowSec__checkTtl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;

    text-align: left;
    letter-spacing: .2em;

    color: #6d829f;
}

.flowSec__checkTxt
{
    font-weight: 500;
    line-height: 1.739;

    padding: 3px 0 24px;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__checkTxt
    {
        padding: .15625vw 0 1.25vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__checkTxt
    {
        padding: .29297vw 0 2.34375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__checkTxt
    {
        padding: .76923vw 0 2.05128vw;
    }
}

.flowSec__checkIcon
{
    position: relative;
}

.flowSec__checkIcon::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 18px;
    height: 18px;
    margin: auto 0;

    content: '';

    background-image: url(../images/img_flow_detail_illust.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__checkIcon::before
    {
        width: .9375vw;
        height: .9375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .flowSec__checkIcon::before
    {
        width: 1.53846vw;
        height: 1.53846vw;
    }
}

.flowSec__checkRed
{
    position: relative;

    color: #ac231a;
}

.flowSec__checkRed::before
{
    position: absolute;
    right: 0;
    bottom: -2px;
    left: 0;

    width: 100%;
    height: 2px;
    margin: 0 auto;

    content: '';

    background-color: #ac231a;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__checkRed::before
    {
        bottom: -.10417vw;

        height: .10417vw;
    }
}

/* ============== .jobSec ============== */
.jobSec
{
    position: relative;

    padding: 50px 0 80px;
}

@media print, screen and (max-width: 1921px)
{
    .jobSec
    {
        padding: 2.60417vw 0 4.16667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .jobSec
    {
        padding: 7.69231vw 0 15.38462vw;
    }
}

.jobSec::before
{
    position: absolute;
    z-index: -3;
    right: 0;
    bottom: -93px;
    left: 0;

    width: 100%;
    height: 65.15625vw;
    margin: 0 auto;

    content: '';

    background-image: url(../images/img_job_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1921px)
{
    .jobSec::before
    {
        bottom: -4.84375vw;

        height: 65.15625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .jobSec::before
    {
        bottom: -23.84615vw;

        height: 320.76923vw;
    }
}

.jobSec__inner
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 70px 94px 80px 96px;

    border: 2px solid #0b1353;
    background-color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .jobSec__inner
    {
        padding: 3.64583vw 4.89583vw 4.16667vw 5vw;

        border: .10417vw solid #0b1353;
    }
}

@media print, screen and (max-width: 430px)
{
    .jobSec__inner
    {
        padding: 10.25641vw 5.12821vw 15.38462vw 5.12821vw;

        border: .51282vw solid #0b1353;
    }
}

.jobSec__cont
{
    width: 100%;
    margin-top: 80px;
}

@media print, screen and (max-width: 1921px)
{
    .jobSec__cont
    {
        margin-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .jobSec__cont
    {
        margin-top: 10.25641vw;
    }
}

.jobSec__table
{
    line-height: 1.8;

    width: 100%;

    border-collapse: collapse;

    border-bottom: 1px dashed #6d829f;
}

@media print, screen and (max-width: 1921px)
{
    .jobSec__table
    {
        border-bottom: .05208vw dashed #6d829f;
    }
}

@media print, screen and (max-width: 430px)
{
    .jobSec__table
    {
        border-bottom: .25641vw dashed #6d829f;
    }
}

.jobSec__table tr
{
    border-top: 1px dashed #6d829f;
}

@media print, screen and (max-width: 1921px)
{
    .jobSec__table tr
    {
        border-top: .05208vw dashed #6d829f;
    }
}

@media print, screen and (max-width: 430px)
{
    .jobSec__table tr
    {
        border-top: .25641vw dashed #6d829f;
    }
}

.jobSec__head
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 215px;
    padding: 35px 0;

    text-align: center;
    vertical-align: middle;

    background-color: #f2f5f8;
}

@media print, screen and (max-width: 1921px)
{
    .jobSec__head
    {
        width: 11.19792vw;
        padding: 1.82292vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .jobSec__head
    {
        display: block;

        width: 100%;
        padding: 5.12821vw 0 5.12821vw 5.12821vw;

        text-align: left;
    }
}

.jobSec__data
{
    font-weight: 500;
    line-height: 1.304;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 690px;
    padding: 35px 0 34px 56px;

    text-align: left;
    vertical-align: middle;
    letter-spacing: .02em;
}

@media print, screen and (max-width: 1921px)
{
    .jobSec__data
    {
        padding: 1.82292vw 0 1.77083vw 2.91667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .jobSec__data
    {
        display: block;

        width: 100%;
        padding: 5.12821vw 0 5.12821vw 5.12821vw;
    }
}

.jobSec__data > span
{
    position: relative;
}

.jobSec__data > span::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 18px;
    height: 18px;
    margin: auto 0;

    content: '';

    background-image: url(../images/img_flow_detail_illust.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .jobSec__data > span::before
    {
        width: .9375vw;
        height: .9375vw;
    }
}

/* ============== .charmSwiper ============== */
.charmSwiper
{
    width: 300px;
    margin: 0 auto;
}

@media print, screen and (max-width: 430px)
{
    .charmSwiper
    {
        width: 76.92308vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSwiper__wrapper
    {
        width: 76.92308vw;
        padding-bottom: 5.12821vw;
    }
}

.charmSwiper__cont
{
    overflow: hidden;

    width: 100%;
}

@media print, screen and (max-width: 430px)
{
    .charmSwiper__cont
    {
        width: 76.92308vw;
        margin-top: 7.69231vw;
    }
}

.charmSwiper__slide
{
    width: 100%;
}

.charmSwiper .swiper-pagination
{
    display: none;
}

@media print, screen and (max-width: 430px)
{
    .charmSwiper .swiper-pagination
    {
        bottom: 0 !important;

        display: block;
    }
}

.charmSwiper .swiper-pagination-bottom
{
    display: none;
}

@media print, screen and (max-width: 430px)
{
    .charmSwiper .swiper-pagination-bottom
    {
        display: block;

        margin-top: 8vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .charmSwiper .swiper-pagination-bullet
    {
        width: 1.79487vw;
        height: 1.79487vw;

        opacity: 1;
        border: .25641vw solid #0b1353;
        background-color: #f3f5f8;
    }
}

.charmSwiper .swiper-pagination-bullet-active
{
    background: #0b1353;
    /* アクティブ色 */
}

/* ============== .thanks ============== */
.thanks
{
    padding: 40px 0 215px;

    background-color: #f3f5f8;
}

@media print, screen and (max-width: 1921px)
{
    .thanks
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        height: 100vh;
        padding: 2.08333vw 0 11.19792vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .thanks
    {
        padding: 5.12821vw 0 55.12821vw;
    }
}

.thanks__btn
{
    display: block;

    width: 75px;
    height: 75px;
    margin-right: 40px;
    margin-bottom: 102px;
    margin-left: auto;

    background: -webkit-gradient(linear, left top, left bottom, from(#0b1353), to(#575c80));
    background: linear-gradient(to bottom, #0b1353, #575c80);
}

@media print, screen and (max-width: 1921px)
{
    .thanks__btn
    {
        width: 3.90625vw;
        height: 3.90625vw;
        margin-right: 2.08333vw;
        margin-bottom: 5.3125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanks__btn
    {
        width: 6.34766vw;
        height: 6.34766vw;
        margin-right: 2.92969vw;
        margin-bottom: 9.96094vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .thanks__btn
    {
        width: 8.97436vw;
        height: 8.97436vw;
        margin-right: 5.12821vw;
        margin-bottom: 15.89744vw;
    }
}

@media (any-hover: hover)
{
    .thanks__btn:hover
    {
        -webkit-transition: .3s;
                transition: .3s;

        opacity: .8;
    }
}

.thanks__btn > span
{
    position: relative;

    display: block;

    width: 100%;
    height: 100%;
}

.thanks__btn > span::before
{
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 35px;
    height: 35px;
    margin: auto auto;

    content: '';

    background-image: url(../images/ico_thanks_btn.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .thanks__btn > span::before
    {
        width: 1.82292vw;
        height: 1.82292vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanks__btn > span::before
    {
        width: 3.41797vw;
        height: 3.41797vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .thanks__btn > span::before
    {
        width: 3.84615vw;
        height: 3.84615vw;
    }
}

.thanks__ttl
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;

    letter-spacing: .02em;
}

.thanks__illust
{
    width: 249px;
    margin: 50px auto 75px;
}

@media print, screen and (max-width: 1921px)
{
    .thanks__illust
    {
        width: 12.96875vw;
        margin: 2.60417vw auto 3.90625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanks__illust
    {
        width: 18.45703vw;
        margin: 4.88281vw auto 7.32422vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .thanks__illust
    {
        width: 38.20513vw;
        margin: 12.82051vw auto 14.10256vw;
    }
}

.thanks__illust > picture img
{
    display: block;

    width: 100%;
}

.thanks__txt
{
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    line-height: 1.6;

    letter-spacing: .02em;
}
