html { 
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
}

body {
    min-width: 375px;
}

body.js-active {
    overflow: hidden;
}

main {
    overflow: hidden;
}

span {
    display: inline-block;
}

picture {
    display: block;
}

img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

a {
    display: inline-block;
}

@media screen and (min-width: 901px) {
    a.--nomal,
    button.--nomal {
        transition: opacity .5s;
    }

    a.--nomal:hover,
    button.--nomal:hover {
        opacity: 0.6;
    }
}

/* utility */
.u-ja {
    font-family: "Zen Old Mincho", serif;
}

.u-nsj {
    font-family: 'Noto Serif JP', serif;
}

.u-en {
    font-family: "Manrope", sans-serif;
}

.--white {
    color: #fff !important;
}

.--st700 {
    font-weight: 700;
    color: #000;
}

/* layout */
.l-wrapper {
    padding-left: 40px;
    padding-right: 40px;
}

.l-inner {
    margin: 0 auto;
    max-width: 1060px;
}

@media screen and (max-width: 900px) {
    .l-wrapper {
        padding-left: 20px;
        padding-right: 20px;
    }

    .l-inner {
        max-width: 440px;
    }
}

/* common */
.pc-only {
    display: block;
}

.br-pc-only {
    display: inline-block;
}

.sp-only {
    display: none;
}

.br-sp-only {
    display: none;
}

@media screen and (max-width: 900px) {
    .pc-only {
        display: none;
    }

    .br-pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }

    .br-sp-only {
        display: inline-block;
    }
}

.c-subHead {
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3333;
    letter-spacing: .03em;
    color: #ddc381;
    margin-bottom: 12px;
}

.c-h2 {
    text-align: center;
    font-size: 50px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .08em;
    padding-bottom: 31px;
    position: relative;
}

.c-h2::before {
    background: rgb(221,195,129);
    background: linear-gradient(90deg, rgba(221,195,129,0) 0%, rgba(221,195,129,1) 25%, rgba(221,195,129,1) 50%, rgba(221,195,129,1) 75%, rgba(221,195,129,0) 100%);
    content: '';
    height: 2px;
    left: calc(50% - 63px);
    position: absolute;
    bottom: 0;
    width: 126px;
}

.c-txt {
    margin-top: 30px;
    text-align: center;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 18px;
    line-height: 2;
    letter-spacing: .04em;
}

@media screen and (max-width: 900px) {
    .c-subHead {
        font-size: 12px;
        margin-bottom: 6px;
    }
    
    .c-h2 {
        font-size: 32px;
        padding-bottom: 21px;
    }
    
    .c-h2::before {
        left: calc(50% - 44px);
        width: 88px;
    }
    
    .c-txt {
        margin-top: 20px;
        text-align: left;
        font-size: 15px;
        line-height: 1.8;
    }
}

.c-cta__btn {
    position: relative;
    text-align: center;
    margin-top: 17px;
    padding: 26px 65px 30px 20px;
    text-align: center;
}
.c-cta__btn::before {
    border-radius: 4px;
    background: linear-gradient(96deg, #00C314 -11.09%, #007D0C 100.8%);
    content: '';
    height: calc(100% - 7px);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
    transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
}
.c-cta__btn::after {
    border-radius: 4px;
    background: linear-gradient(96deg, #006F0B -11.09%, #005308 100.8%);
    content: '';
    height: calc(100% - 7px);
    left: 0;
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 0;
}

.c-cta__btn>* {
    position: relative;
    z-index: 2;
    transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
}

.c-cta__btn--txt {
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.25);
    font-size: 25px;
    font-weight: 800;
    line-height: 1;
}

.c-cta__btn--txt02 {
    margin-top: 11px;
    text-shadow: 2px 2px 7px rgba(0, 0, 0, 0.25);
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
}

.c-cta__btn--arrow {
    position: absolute;
    width: 34px;
    right: 20px;
    top: 67px;
}

.c-cta__btn--arrow2 {
    position: absolute;
    width: 34px;
    right: 20px;
    top: 45px;
}

@media screen and (min-width: 901px) {
    .c-cta__btn:hover:before {
        transform: translate(0, 7px);
    }

    .c-cta__btn:hover>* {
        transform: translate(0, 7px);
    }
}

@media screen and (max-width: 900px) {
    .c-cta__btn {
        width: 85%;
        margin-top: 10px;
        padding: 19px 41px 19px 15px;
    }
    .c-cta__btn::before {
        border-radius: 3px;
        height: calc(100% - 4px);
    }
    .c-cta__btn::after {
        border-radius: 3px;
        height: calc(100% - 4px);
    }
    
    .c-cta__btn--txt {
        font-size: 15px;
    }
    
    .c-cta__btn--txt02 {
        margin-top: 7px;
        font-size: 18px;
    }
    
    .c-cta__btn--arrow {
        width: 21px;
        right: 12px;
        top: 42px;
    }

    .c-cta__btn--arrow2 {
        width: 21px;
        right: 12px;
        top: 29px;
    }
}

.c-btn02 {
    width: 100%;
    max-width: 532px;
    margin: 25px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    height: 98px;
    padding-bottom: 9px;
    color: #fff;
}
.c-btn02::before {
    background: linear-gradient(96deg, #006F0B -11.09%, #005308 100.8%);
    box-shadow: 8px 8px 10px 0px rgba(0, 0, 0, 0.10);
    content: '';
    position: absolute;
    width: 100%;
    height: calc(100% - 4px);
    border-radius: 100vh;
    left: 0;
    bottom: 0;
    z-index: 0;
}
.c-btn02.--02::before {
    background: linear-gradient(96deg, #0A214F -11.09%, #05132F 100.8%);
}
.c-btn02.--03::before {
    background: linear-gradient(96deg, #B79745 -11.09%, #7F672B 100.8%);
}

.c-btn02 .--bg {
    background: linear-gradient(96deg, #33B247 -11.09%, #007913 100.8%);
    width: 100%;
    height: calc(100% - 4px);
    border-radius: 100vh;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
}
.c-btn02.--02 .--bg {
    background: linear-gradient(96deg, #16439E -11.09%, #0A214F 100.8%);
}
.c-btn02.--03 .--bg {
    background: linear-gradient(96deg, #FFD465 -11.09%, #B79745 100.8%);
}
.c-btn02 .--bg .--logo {
    position: absolute;
    opacity: .08;
    width: 195px;
    top: -50px;
    left: -33px;
}

.c-btn02 .--arrow {
    position: absolute;
    width: 16px;
    right: 15px;
    top: 38px;
    z-index: 2;
    transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
}

.c-btn02 .--small {
    text-shadow: 2px 2px 7px rgba(0, 0, 0, 0.25);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .08em;
    color: #fff;
    position: relative;
    z-index: 2;
    transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
}

.c-btn02 .--large {
    text-shadow: 2px 2px 7px rgba(0, 0, 0, 0.25);
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .08em;
    color: #fff;
    position: relative;
    z-index: 2;
    margin-top: 3px;
    transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
}

.c-btn02 .--caution {
    text-shadow: 2px 2px 7px rgba(0, 0, 0, 0.25);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .08em;
    color: #fff;
    position: relative;
    z-index: 2;
    margin-top: 7px;
    transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
}

@media screen and (min-width: 901px) {
    .c-btn02:hover .--bg {
        transform: translate(0, 4px);
    }
    
    .c-btn02:hover .--arrow {
        transform: translate(0, 4px);
    }
    
    .c-btn02:hover .--small {
        transform: translate(0, 4px);
    }
    
    .c-btn02:hover .--large {
        transform: translate(0, 4px);
    }
    
    .c-btn02:hover .--caution {
        transform: translate(0, 4px);
    }
}

@media screen and (max-width: 900px) {
    .c-btn02 {
        max-width: 284px;
        margin: 21px auto 0;
        height: 66px;
        padding-bottom: 7px;
    }
    
    .c-btn02 .--bg .--logo {
        width: 108px;
        top: -28px;
        left: -18px;
    }
    
    .c-btn02 .--arrow {
        width: 10px;
        right: 12px;
        top: 24px;
    }
    
    .c-btn02 .--small {
        font-size: 10px;
    }
    
    .c-btn02 .--large {
        font-size: 17px;
        margin-top: 1px;
    }
    
    .c-btn02 .--caution {
        scale: .8;
        margin-top: 3px;
    }
}

/*===========================================================================*/
/*  header  */
/*===========================================================================*/
.p-header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background-color: transparent;
    padding: 20px 40px 20px 30px;
    z-index: 90;
    transition: background-color .4s 0s cubic-bezier(.44,.14,.09,1.02);
}
.p-header.js-active {
    background-color: #132450;
}

.p-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-header__logo {
    width: 244px;
}

.p-header__navs {
    display: flex;
    align-items: center;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    color: #fff;
}

.p-header__navs .p-header__nav {
    margin-left: 30px;
}

.p-header__btn {
    margin-left: 34px;
    width: 167px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(96deg, #00C314 -11.09%, #007D0C 100.8%);
    border-radius: 100vh;
    font-weight: 700;
}

.p-header__hamburger {
    display: none;
}

@media screen and (max-width: 1020px) {
    .p-header {
        padding: 20px 20px 20px 15px;
    }
    
    .p-header__logo {
        width: 222px;
    }
    
    .p-header__navs .p-header__nav {
        margin-left: 20px;
    }
    
    .p-header__btn {
        margin-left: 26px;
    }
}

@media screen and (max-width: 900px) {
    .p-header {
        padding: 22px 20px;
    }
    
    .p-header__logo {
        width: 144px;
    }
    
    .p-header__navs {
        display: block;
        position: fixed;
        width: 300px;
        height: 100vh;
        top: 0;
        right: 0;
        background-color: #2b2b2b;
        font-size: 18px;
        z-index: 1;
        padding: 100px 30px;
        transition: transform .6s 0s cubic-bezier(.44,.14,.09,1.02);
        transform: translate(101%, 0);
        pointer-events: none;
    }
    .p-header__navs.js-active {
        transform: translate(0, 0);
        pointer-events: all;
    }

    .p-header__navs .p-header__nav {
        width: 100%;
        display: block;
        margin: 50px 0 0;
        padding-left: 22px;
        position: relative;
    }
    .p-header__navs .p-header__nav::before {
        background-color: #fff;
        content: '';
        height: 2px;
        left: 0;
        position: absolute;
        top: 9px;
        width: 12px;
    }

    .p-header__navs .p-header__nav:nth-of-type(1) {
        margin-top: 0;
    }
    
    .p-header__btn {
        margin-left: 0;
        margin-top: 40px;
        width: 100%;
        height: 52px;
        font-size: 15px;
    }

    .p-header__hamburger {
        display: block;
        width: 32px;
        height: 10px;
        position: relative;
    }
    .p-header__hamburger.--close {
        position: absolute;
        top: 28px;
        left: 30px;
    }

    .p-header__hamburger span {
        background-color: #fff;
        content: '';
        height: 2px;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
    }
    .p-header__hamburger span:nth-of-type(2) {
        top: unset;
        bottom: 0;
        width: 24px;
        left: unset;
        right: 0;
    }

    .p-header__hamburger.js-active span {
        transform: translate(0, 4px) rotate(40deg);
    }
    .p-header__hamburger.js-active span:nth-of-type(2) {
        transform: translate(0, -4px) rotate(-40deg);
        width: 100%;
    }
}

/*===========================================================================*/
/*  mv  */
/*===========================================================================*/
.p-mv {
    position: relative;
    height: 100vh;
    /* background: url('../img/mv-img.webp') no-repeat center center/cover; */
    padding-top: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 580px;
}
.p-mv__bg02 {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 0;
}
.p-mv__bg02 img {
    height: 100%;
    object-fit: cover;
}

.p-mv__bg {
    position: absolute;
    z-index: 1;
    height: 100%;
    width: calc(50% + 363px);
    left: 0;
    top: 0;
    clip-path: polygon(100% 0, calc(100% - 608px) 100%, 0 100%, 0 0);
    background: rgb(66,95,141);
    background: linear-gradient(125deg, rgba(66,95,141,1) 0%, rgba(10,33,80,1) 100%);
}

.p-mv__tri {
    position: absolute;
    width: 922px;
    right: 0;
    bottom: 0;
    z-index: 0;
}

.p-mv__inner {
    width: 100%;
    max-width: 1120px;
    position: relative;
    z-index: 5;
}

.p-mv__subHead {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.36;
    letter-spacing: .04em;
    color: #f5f5f5;
}

.p-mv__subHead span:nth-of-type(2) {
    padding-left: 34px;
    position: relative;
}
.p-mv__subHead span:nth-of-type(2)::before {
    background: url('../img/mv-cross.svg') no-repeat center center/contain;
    content: '';
    height: 12px;
    left: 10px;
    position: absolute;
    top: 4px;
    width: 12px;
}

.p-mv__head {
    margin-top: 6px;
    font-size: 65px;
    font-weight: 500;
    line-height: 1.28;
    color: #fff;
    letter-spacing: .06em;
}
.p-mv__head .--space01 {
    letter-spacing: -.02em;
}
.p-mv__head .--space02 {
    letter-spacing: -.11em;
}
.p-mv__head .--space03 {
    letter-spacing: -.02em;
}

/* .TextTyping {
    opacity: 0;
}
.TextTyping.js-active {
    opacity: 1;
} */

.TextTyping span {
    display: none;
}

/*文字列後ろの線の設定*/
/* .TextTyping::after {
    content: "|";
    animation: typinganime .8s ease infinite;
}

@keyframes typinganime{
    from{opacity:0}
    to{opacity:1}
} */

.p-mv__badges {
    display: flex;
    margin-top: 30px;
}
.p-mv__badges figure:nth-of-type(1) {
    width: 188px;
}
.p-mv__badges figure:nth-of-type(2) {
    width: 152px;
}
.p-mv__badges figure:nth-of-type(3) {
    width: 154px;
}

.p-mv__txt {
    margin-top: 23px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.45;
    color: #213d83;
}
.p-mv__txt span{
    background-color: #fff;
    padding: 0 4px 1px;
}

.p-mv__txt02 {
    margin-top: 15px;
    color: #fff;
}

.p-mv__txt02 .--middle {
    font-size: 33px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: .03em;
    transform: translate(0, -4px) skew(-10deg);
}

.p-mv__txt02 .--large {
    font-size: 60px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .03em;
    transform: translate(3px, 0) skew(-10deg);
}

.p-mv__txt02 .--small {
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .03em;
    transform: translate(0, -4px);
}

.p-mv__caution {
    position: absolute;
    width: 100%;
    padding: 0 20px;
    text-align: right;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.45;
    color: #fff;
    right: 0;
    bottom: 17px;
    z-index: 4;
}

@media screen and (max-width: 900px) {
    .p-mv {
        background: url('../img/mv-img-sp.webp') no-repeat center center/cover;
        padding-top: 5px;
        min-height: 480px;
    }
    .p-mv::before {
        background: linear-gradient(180deg, rgba(0, 22, 64, 0.80) 0%, rgba(0, 0, 0, 0.00) 100%);
        content: '';
        height: 124px;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 2;
    }

    .p-mv__bg {
        width: 100%;
        clip-path: polygon(100% 0, 100% 64px, 41% 100%, 0 100%, 0 0);
        background: linear-gradient(125deg, rgba(66,95,141,1) 0%, rgba(10,33,80,1) 100%);
    }

    .p-mv__tri {
        width: 220px;
    }
    
    .p-mv__inner {
        width: 100%;
        max-width: 1120px;
    }
    
    .p-mv__head {
        margin-top: 8px;
        font-size: 38px;
    }

    .TextTyping {
        width: 260px;
        height: 98px;
    }
    
    .p-mv__badges {
        margin-top: 15px;
    }
    .p-mv__badges figure:nth-of-type(1) {
        width: 126px;
    }
    .p-mv__badges figure:nth-of-type(2) {
        width: 101px;
    }
    .p-mv__badges figure:nth-of-type(3) {
        width: 108px;
    }
    
    .p-mv__txt {
        margin-top: 21px;
        font-size: 15px;
    }
    .p-mv__txt span{
        padding: 1px 6px 2px;
    }
    
    .p-mv__txt02 {
        margin-top: 10px;
    }
    
    .p-mv__txt02 .--middle {
        font-size: 26px;
        transform: translate(0, -2px) skew(-10deg);
    }
    
    .p-mv__txt02 .--large {
        font-size: 44px;
        transform: translate(3px, 0) skew(-10deg);
    }
    
    .p-mv__txt02 .--small {
        font-size: 18px;
        transform: translate(0, -2px);
    }
    
    .p-mv__caution {
        bottom: 15px;
    }
}

/*===========================================================================*/
/*  sv  */
/*===========================================================================*/
.p-sv {
    padding-top: 130px;
    padding-bottom: 130px;
    position: relative;
}
.p-sv::before {
    background: url('../img/sv-img.webp') no-repeat center center/contain;
    content: '';
    height: 580px;
    left: 0;
    position: absolute;
    bottom: 0;
    width: 960px;
    z-index: 0;
}
.p-sv::after {
    background: linear-gradient(270deg, #FFF 72.04%, rgba(255, 255, 255, 0.00) 100%);
    content: '';
    height: 530px;
    left: 696px;
    position: absolute;
    bottom: 0;
    width: 664px;
    z-index: 0;
}

.p-sv__inner {
    position: relative;
    z-index: 2;
}

.p-sv__subHead {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.44;
    letter-spacing: .05em;
}

.p-sv__head {
    font-size: 63px;
    font-weight: 500;
    line-height: 1.35;
    margin-top: 12px;
}
.p-sv__head .--space01 {
    letter-spacing: -.02em;
}
.p-sv__head .--space02 {
    letter-spacing: -.11em;
}
.p-sv__head .--space03 {
    letter-spacing: -.02em;
}

.p-sv__txts {
    max-width: 530px;
    margin: 53px 0 0 auto;
}

.p-sv__txt {
    font-feature-settings: 'fwid' on, 'palt' on, 'pwid' on;
    font-size: 17px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: .02em;
}

.p-sv__logo {
    width: 275px;
    margin: 48px 0 0;
}

@media screen and (max-width: 900px) {
    .p-sv {
        padding-top: 80px;
        padding-bottom: 180px;
    }
    .p-sv::before {
        background: url('../img/sv-img-sp.webp') no-repeat center center/contain;
        height: 60.5333vw;
        width: 100%;
    }
    .p-sv::after {
        display: none;
    }
    
    .p-sv__inner {
        position: relative;
        z-index: 2;
    }
    
    .p-sv__subHead {
        font-size: 13px;
    }
    
    .p-sv__head {
        font-size: 36px;
        margin-top: 7px;
        width: 250px;
    }
    
    .p-sv__txts {
        margin: 25px 0 0 auto;
    }
    
    .p-sv__txt {
        font-size: 15px;
        line-height: 1.8;
    }
    
    .p-sv__logo {
        width: 200px;
        margin: 45px 0 0;
    }
}

/*===========================================================================*/
/*  about  */
/*===========================================================================*/
.p-about {
    padding-top: 100px;
    padding-bottom: 86px;
    background-color: #edf1f4;
    position: relative;
    overflow: hidden;
}
.p-about::before {
    background: url('../img/logo-white.svg') no-repeat center center/contain;
    content: '';
    height: 649px;
    left: -136px;
    position: absolute;
    top: -95px;
    width: 649px;
    opacity: .4;
}

.p-about__inner {
    position: relative;
    z-index: 2;
}

.p-about__subHead {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3333;
    letter-spacing: .03em;
    color: #ddc381;
}

.p-about__content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 20px;
}

.p-about__txts {
    width: 51.5%;
}

.p-about__head {
    font-size: 50px;
    font-weight: 700;
    line-height: 1.4; 
    padding-bottom: 38px;
    position: relative;
}
.p-about__head::before {
    background: url('../img/about-head-deco.png') no-repeat center center/contain;
    content: '';
    height: 4px;
    left: 0;
    position: absolute;
    bottom: 0;
    width: 75px;
    z-index: 2;
}
.p-about__head::after {
    background-color: #cfcfcf;
    content: '';
    height: 1px;
    left: 0;
    position: absolute;
    bottom: 1.5px;
    width: 100vw;
    z-index: 1;
}

.p-about__txt {
    margin-top: 40px;
    text-align: justify;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 16px;
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: .04em;
}

.p-about__img {
    width: 44%;
    position: relative;
    z-index: 3;
    filter: drop-shadow(20px 20px 50px rgba(0, 0, 0, 0.08));
}

@media screen and (max-width: 900px) {
    .p-about {
        padding-top: 80px;
        padding-bottom: 50px;
    }
    .p-about::before {
        height: 320px;
        left: -60px;
        top: -60px;
        width: 320px;
    }
    
    .p-about__subHead {
        font-size: 13px;
    }
    
    .p-about__content {
        display: block;
        margin-top: 18px;
    }
    
    .p-about__txts {
        width: 100%;
    }
    
    .p-about__head {
        font-size: 30px;
        padding-bottom: 30px;
    }
    .p-about__head::before {
        background: url('../img/about-head-deco-sp.png') no-repeat center center/contain;
        height: 4px;
        width: 59px;
    }
    .p-about__head::after {
        width: 100%;
    }
    
    .p-about__txt {
        margin-top: 28px;
        font-size: 14px;
        line-height: 2;
    }
    
    .p-about__img {
        width: 100%;
        margin-top: 40px;
    }
}

/*===========================================================================*/
/*  media  */
/*===========================================================================*/
.p-media {
    padding: 0 20px;
    background-color: #edf1f4;
}

.p-media__wrapper {
    max-width: 1220px;
    margin: 0 auto;
    padding: 93px 20px 72px;
    overflow: hidden;
    background-color: #fff;
    position: relative;
}
.p-media__wrapper::before {
    background: url('../img/media-bg.webp') no-repeat center center/contain;
    content: '';
    height: 621px;
    left: 50%;
    transform: translate(-50%, 0);
    position: absolute;
    top: 59px;
    width: 1116px;
}

.p-media__inner {
    position: relative;
    z-index: 2;
}

.p-media__head {
    text-align: center;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.45;
}
.p-media__head span {
    position: relative;
    padding: 0 35px;
}
.p-media__head span::before {
    background: url('../img/media-txt-left.png') no-repeat center center/contain;
    content: '';
    height: 62px;
    left: 0;
    position: absolute;
    bottom: 0;
    width: 26px;
}
.p-media__head span::after {
    background: url('../img/media-txt-right.png') no-repeat center center/contain;
    content: '';
    height: 62px;
    right: 0;
    position: absolute;
    bottom: 0;
    width: 26px;
}

.p-media__img {
    max-width: 705px;
    margin: 44px auto 0;
    filter: drop-shadow(8px 8px 20px rgba(0, 0, 0, 0.10));
    transform: translateZ(0);
}

@media screen and (max-width: 900px) {
    .p-media {
        padding: 0 20px;
    }
    
    .p-media__wrapper {
        padding: 40px 20px 44px;
        max-width: 440px;
    }
    .p-media__wrapper::before {
        background: url('../img/media-bg-sp.webp') no-repeat center center/contain;
        height: 252px;
        top: 79px;
        width: 335px;
    }
    
    .p-media__head {
        text-align: center;
        font-size: 28px;
        font-weight: 900;
        line-height: 1.45;
    }
    .p-media__head span {
        padding: 0 21px;
    }
    .p-media__head span::before {
        background: url('../img/media-txt-left-sp.png') no-repeat center center/contain;
        height: 37px;
        bottom: 0;
        width: 16px;
    }
    .p-media__head span::after {
        background: url('../img/media-txt-right-sp.png') no-repeat center center/contain;
        height: 37px;
        bottom: 0;
        width: 16px;
    }
    
    .p-media__img {
        max-width: 285px;
        margin: 20px auto 0;
    }
}

/*===========================================================================*/
/*  rate  */
/*===========================================================================*/
.p-rate {
    padding: 0 20px;
    background-color: #edf1f4;
}

.p-rate__wrapper {
    max-width: 1220px;
    margin: 0 auto;
    padding: 69px 0 53px;
    overflow: hidden;
    background-color: #fff;
    position: relative;
}
.p-rate__wrapper::before {
    background: url('../img/rate-bg.webp') no-repeat center center/cover;
    content: '';
    height: 293px;
    left: 50%;
    transform: translate(-50%, 0);
    position: absolute;
    top: 0;
    width: 100%;
}

.p-rate__inner {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px 20px;
}

.p-rate__head {
    text-align: center;
    font-size: 45px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: .04em;
    color: #fff;
}

.p-rate__head span {
    position: relative;
    padding: 0 48px;
}
.p-rate__head span::before {
    background: url('../img/rate-txt-left.svg') no-repeat center center/contain;
    content: '';
    height: 58px;
    left: 0;
    position: absolute;
    bottom: 3px;
    width: 34px;
}
.p-rate__head span::after {
    background: url('../img/rate-txt-left.svg') no-repeat center center/contain;
    content: '';
    height: 58px;
    right: 0;
    position: absolute;
    bottom: 3px;
    width: 34px;
}

.p-rate__contents {
    display: flex;
    justify-content: space-between;
    margin-top: 56px;
}

.p-rate__content {
    width: 48.6%;
    background-color: #eff1f3;
    padding: 30px 27px 53px;
    border-radius: 10px;
}

.p-rate__content--head {
    text-align: center;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.45;
    color: #213d83;
    position: relative;
    padding-bottom: 30px;
}
.p-rate__content--head::before {
    background: rgb(33,61,131);
    background: linear-gradient(90deg, rgba(33,61,131,0) 0%, rgba(33,61,131,1) 25%, rgba(33,61,131,1) 50%, rgba(33,61,131,1) 75%, rgba(33,61,131,0) 100%);
    content: '';
    height: 2px;
    left: 0;
    position: absolute;
    bottom: 0;
    width: 100%;
}

.p-rate__content--img {
    max-width: 335px;
    margin: 50px auto 0;
}
.p-rate__contents .p-rate__content:nth-of-type(2) .p-rate__content--img {
    max-width: 374px;
}

.p-rate__slide {
    margin-top: 70px;
    display: flex;
    align-items: center;
}

.p-rate__slide--inner {
    display: flex;
    align-items: center;
    animation: slide 32s linear infinite normal;
}

.p-rate__slide--inner figure {
    min-width: 437px;
    margin-right: 33px;
}

.p-rate__caution {
    text-align: right;
    font-size: 12px;
    line-height: 1.45;
    padding-right: 15px;
    margin-top: 45px;
}

@keyframes slide {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

@media screen and (max-width: 900px) {
    .p-rate {
        padding-bottom: 60px;
    }
    .p-rate__wrapper {
        max-width: 440px;
        padding: 0 0 40px;
    }
    .p-rate__wrapper::before {
        display: none;
    }
    .p-rate__wrapper::before {
        display: none;
    }

    .p-rate__inner {
        padding-top: 40px;
        background: url('../img/rate-bg-sp.webp') no-repeat center center/cover;
    }
    
    .p-rate__head {
        font-size: 28px;
    }
    
    .p-rate__head span {
        position: relative;
        padding: 0 31px;
    }
    .p-rate__head span::before {
        height: 36px;
        bottom: 0;
        width: 21px;
    }
    .p-rate__head span::after {
        height: 36px;
        bottom: 0;
        width: 21px;
    }
    
    .p-rate__contents {
        display: block;
        margin: 0 auto;
        padding-top: 8px;
        max-width: 295px;
    }
    
    .p-rate__content {
        width: 100%;
        margin-top: 12px;
        padding: 15px 20px 20px;
        border-radius: 4px;
    }
    
    .p-rate__content--head {
        font-size: 20px;
        padding-bottom: 16px;
    }
    
    .p-rate__content--img {
        max-width: 235px;
        margin: 20px auto 0;
    }
    .p-rate__contents .p-rate__content:nth-of-type(2) .p-rate__content--img {
        max-width: 235px;
    }
    
    .p-rate__slide {
        margin-top: 30px;
    }
    
    .p-rate__slide--inner {
        animation: slide 26s linear infinite normal;
    }
    
    .p-rate__slide--inner figure {
        min-width: 189px;
        margin-right: 12px;
    }
    
    .p-rate__caution {
        font-size: 10px;
        margin-top: 15px;
    }
}

/*===========================================================================*/
/*  contents  */
/*===========================================================================*/
.p-contents {
    padding-top: 100px;
    padding-bottom: 100px;
    background: url('../img/content-bg.webp') no-repeat center center/cover;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;  
}

.p-contents .c-h2,
.p-contents__txt  {
    color: #fff;
}

.p-contents__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.p-contents__list li {
    width: 31.42%;
    background-color: #fff;
    position: relative;
    margin-top: 30px;
    border-radius: 5px;
    min-height: 136px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: right;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .03em;
}
.p-contents__list li::before {
    background: url('../img/contents-tri.svg') no-repeat center center/contain;
    content: '';
    height: 19px;
    left: 0;
    position: absolute;
    top: 0;
    width: 19px;
}

.p-contents__list--img {
    position: absolute;
    width: 155px;
    left: 14px;
    top: 50%;
    transform: translate(0, -50%);
}

.p-contents__list--txt {
    width: 100%;
    max-width: 182px;
    position: relative;
    z-index: 2;
}

@media screen and (max-width: 900px) {
    .p-contents {
        padding-top: 60px;
        padding-bottom: 60px;
        background: url('../img/content-bg-sp.webp') no-repeat center center/cover;
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
    }
    
    .p-contents__list {
        justify-content: center;
        padding-top: 15px;
    }
    
    .p-contents__list li {
        width: calc(50% - 5px);
        margin-top: 10px;
        border-radius: 2px;
        min-height: unset;
        padding: 97px 10px 14px;
        display: block;
        font-size: 16px;
        line-height: 1.25;
    }
    .p-contents__list li:nth-of-type(3),
    .p-contents__list li:nth-of-type(8) {
        padding-top: 86px;
    }
    .p-contents__list li:nth-of-type(2n) {
        margin-left: 10px;
    }
    .p-contents__list li::before {
        height: 16px;
        width: 16px;
    }
    
    .p-contents__list--img {
        position: absolute;
        width: 120px;
        left: 50%;
        top: 10px;
        transform: translate(-50%, 0);
    }
    
    .p-contents__list--txt {
        max-width: unset;
    }
}

/*===========================================================================*/
/*  curriculum  */
/*===========================================================================*/
.p-curriculum {
    padding-top: 100px;
    padding-bottom: 100px;
}

.p-curriculum__content {
    margin-top: 30px;
    border-radius: 30px;
    border: 9px solid #edf1f4;
    background-color: #fff;
    padding: 11px 11px 26px;
}

.p-curriculum__content--heads {
    background-color: #04528b;
    border-radius: 12px 12px 0 0;
    color: #fff;
    display: flex;
    align-items: center;
    position: relative;
}
.p-curriculum__content02 .p-curriculum__content--heads {
    background-color: #362194;
}
.p-curriculum__content03 .p-curriculum__content--heads {
    background-color: #188d2a;
}
.p-curriculum__content04 .p-curriculum__content--heads {
    background-color: #0e93b1;
}
.p-curriculum__content05 .p-curriculum__content--heads {
    background-color: #9e7715;
}
.p-curriculum__content--heads::before {
    background-color: #fff;
    content: '';
    height: 100%;
    left: 194px;
    position: absolute;
    top: 0;
    width: 1px;
}

.p-curriculum__content--num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 194px;
}

.p-curriculum__content--num .--small {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.333;
    letter-spacing: .03em;
    margin-right: 6px;
}
.p-curriculum__content--num .--large {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.333;
    letter-spacing: .03em;
}

.p-curriculum__content--headJa {
    padding: 25px 30px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.p-curriculum__content--headJa h3 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.45;
    margin-right: 10px;
}

.p-curriculum__content--headJa .--caution {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}

.p-curriculum__content--lists {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}

.p-curriculum__content--lists>div {
    width: calc(50% - 15px);
    margin-top: 30px;
    background-color: #edf1f4;
    padding: 17px 30px 25px;
    border-radius: 5px;
    position: relative;
}

.p-curriculum__content01 h4,
.p-curriculum__content02 h4 {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .03em;
    color: #006dbd;
    position: relative;
    padding-left: 29px;
    padding-bottom: 15px;
    border-bottom: #acacac dashed 1px;
}
.p-curriculum__content02 h4 {
    color: #644ec4;
}
.p-curriculum__content01 h4::before,
.p-curriculum__content02 h4::before {
    background: url('../img/logo-blue.svg') no-repeat center center/contain;
    content: '';
    height: 22px;
    left: 0;
    position: absolute;
    top: 7px;
    width: 22px;
}
.p-curriculum__content02 h4::before {
    background: url('../img/logo-purple.svg') no-repeat center center/contain;
}

.p-curriculum__content ul {
    margin-top: 15px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: .01em;
}

.p-curriculum__content ul li {
    position: relative;
    padding-left: 20px;
}
.p-curriculum__content ul li:last-of-type {
    padding-right: 40px;
}
.p-curriculum__content ul li::before {
    background: url('../img/check.svg') no-repeat center center/contain;
    content: '';
    height: 14px;
    left: 0;
    position: absolute;
    top: 8px;
    width: 14px;
}

.p-curriculum__content .--etc {
    display: inline-block;
    position: absolute;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: .01em;
    right: 30px;
    bottom: 26px;
}

.p-curriculum__content--lower {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 28px;
}

.p-curriculum__content--lower picture {
    width: 121px;
    margin-right: 11px;
    transform: translate(0, 5px);
}

.p-curriculum__content--lower .--ja {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .03em;
    color: #006dbd;
    transform: translate(0, 7px);
}
.p-curriculum__content02 .p-curriculum__content--lower .--ja {
    color: #644ec4;
}

.p-curriculum__content--lower .u-en {
    font-size: 60px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.04em;
    color: #006dbd;
    margin-right: 2px;
}
.p-curriculum__content02 .p-curriculum__content--lower .u-en {
    color: #644ec4;
}

.p-curriculum__content--lower figure {
    width: 79px;
    transform: translate(0, -7px);
}

.p-curriculum__content--caution {
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: .01em;
    margin-top: 13px;
}

.p-curriculum__content02--content {
    max-width: 980px;
    background-color: #f1eef3;
    border-radius: 5px;
    padding: 36px 36px 36px 60px;
    margin: 30px auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-curriculum__content02--content>div {
    width: 43.56%;
    position: relative;
}
.p-curriculum__content02--content>div .--etc {
    bottom: 0;
    right: 0;
}

.p-curriculum__content02--content>figure {
    width: 51.6%;
}

.p-curriculum__content03--content,
.p-curriculum__content04--content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 980px;
    margin: 36px auto 0;
}

.p-curriculum__content03--content .--txts,
.p-curriculum__content04--content .--txts {
    width: 54.5%;
}

.p-curriculum__content03--content .--txts p,
.p-curriculum__content04--content .--txts p {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: .01em;
    margin-top: 15px;
}
.p-curriculum__content03--content .--txts p:nth-of-type(1),
.p-curriculum__content04--content .--txts p:nth-of-type(1) {
    margin-top: 0;
}
.p-curriculum__content03--content .--txts p.--caution {
    font-size: 12px;
    margin-top: 33px;
}

.p-curriculum__content03--content .--list,
.p-curriculum__content04--content .--list {
    width: 42.3%;
    padding: 18px 24px 24px;
    background-color: #eff3eb;
    border-radius: 5px;
}
.p-curriculum__content04--content .--list {
    background-color: #f3f8f9;
}

.p-curriculum__content03--content .--list h4,
.p-curriculum__content04--content .--list h4 {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .03em;
    color: #33b247;
    padding-bottom: 18px;
    border-bottom: #acacac dashed 1px;
}
.p-curriculum__content04--content .--list h4 {
    color: #32b5d2;
}

.p-curriculum__content03--content .--list ul,
.p-curriculum__content04--content .--list ul {
    margin-top: 14px;
    position: relative;
    padding-left: 154px;
}
.p-curriculum__content03--content .--list ul::before,
.p-curriculum__content04--content .--list ul::before {
    background: url('../img/curriculum03-illust.webp') no-repeat center center/contain;
    content: '';
    height: 135px;
    left: 0;
    position: absolute;
    top: 0;
    width: 122px;
}
.p-curriculum__content04--content .--list ul::before {
    background: url('../img/curriculum04-illust.webp') no-repeat center center/contain;
    top: 5px;
    left: 3px;
}
.p-curriculum__content03--content .--list ul li:last-of-type,
.p-curriculum__content04--content .--list ul li:last-of-type {
    padding-right: 0;
}

.p-curriculum__content04--content .--relation {
    display: flex;
    align-items: center;
    margin-top: 21px;
}

.p-curriculum__content04--content .--relation p {
    width: 174px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 65px;
    border-left: #cecece solid 1px;
    border-right: #cecece solid 1px;
}

.p-curriculum__content04--content .--relation div {
    display: flex;
    align-items: center;
    justify-content: right;
    padding-left: 30px;
}
.p-curriculum__content04--content .--relation div figure:nth-of-type(1) {
    max-width: 181px;
    margin-right: 14px;
}
.p-curriculum__content04--content .--relation div figure:nth-of-type(2) {
    max-width: 140px;
}

.p-curriculum__content04--content p.--caution {
    font-size: 10px;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: .01em;
    text-align: right;
    margin-top: 9px;
}

.p-curriculum__content05--txt {
    margin-top: 20px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: .01em;
}

.p-curriculum__content05--content {
    max-width: 980px;
    margin: 17px auto 0;
    border-radius: 5px;
    display: flex;
    background-color: #f5f5f5;
    position: relative;
}
.p-curriculum__content05--content::before {
    background-color: #cecece;
    content: '';
    height: calc(100% - 40px);
    left: 50%;
    position: absolute;
    top: 20px;
    width: 1px;
    border-radius: 100vh;
}
.p-curriculum__content05--content>div {
    width: 50%;
    text-align: center;
    padding: 40px 30px;
}

.p-curriculum__content05--content>div h4 {
    font-size: 23px;
    font-weight: 700;
    line-height: 1.45;
}

.p-curriculum__content05--content>div h4 span {
    position: relative;
    padding-left: 40px;
}
.p-curriculum__content05--content>div h4 span::before {
    background: url('../img/icon-line.svg') no-repeat center center/contain;
    content: '';
    height: 29px;
    left: 0;
    position: absolute;
    top: 3px;
    width: 30px;
}
.p-curriculum__content05--content>div:nth-of-type(2) h4 span {
    padding-left: 35px;
}
.p-curriculum__content05--content>div:nth-of-type(2) h4 span::before {
    background: url('../img/icon-tel.svg') no-repeat center center/contain;
    height: 23px;
    top: 6px;
    width: 23px;
}

.p-curriculum__content05--content>div p {
    text-align: center;
    font-size: 16px;
    line-height: 1.68;
    margin-top: 13px;
}

.p-curriculum__content05--caution {
    text-align: center;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.65;
    margin-top: 14px; 
}

@media screen and (max-width: 900px) {
    .p-curriculum {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    
    .p-curriculum__content {
        margin-top: 20px;
        border-radius: 12px;
        border: 4px solid #edf1f4;
        padding: 8px 8px 21px;
    }
    .p-curriculum__content01 {
        margin-top: 25px;
    }
    
    .p-curriculum__content--heads {
        border-radius: 9px 9px 0 0;
        display: block;
    }
    .p-curriculum__content--heads::before {
        display: none;
    }
    
    .p-curriculum__content--num {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 10px;
        border-bottom: #fff solid 1px;
    }
    
    .p-curriculum__content--num .--small {
        font-size: 13px;
        transform: translate(0px, 1px);
    }
    .p-curriculum__content--num .--large {
        font-size: 22px;
    }
    
    .p-curriculum__content--headJa {
        padding: 20px 10px;
        justify-content: center;
        flex-direction: column;
        text-align: center;
    }
    
    .p-curriculum__content--headJa h3 {
        font-size: 20px;
        margin-right: 0;
    }
    
    .p-curriculum__content--headJa .--caution {
        font-size: 12px;
        line-height: 1.85;
    }
    
    .p-curriculum__content--lists {
        max-width: 980px;
        margin: 0 8px;
        display: block;
        padding-top: 5px;
    }
    
    .p-curriculum__content--lists>div {
        width: 100%;
        margin-top: 10px;
        padding: 15px 20px;
        border-radius: 3px;
    }
    
    .p-curriculum__content01 h4,
    .p-curriculum__content02 h4 {
        font-size: 18px;
        padding-left: 25px;
    }
    .p-curriculum__content01 h4::before,
    .p-curriculum__content02 h4::before {
        height: 19px;
        top: 5px;
        width: 19px;
    }
    .p-curriculum__content02 h4::before {
        background: url('../img/logo-purple.svg') no-repeat center center/contain;
    }
    
    .p-curriculum__content ul {
        padding-top: 11px;
        margin-top: 0;
        font-size: 13px;
        line-height: 1.6;
    }
    
    .p-curriculum__content ul li {
        margin-top: 4px;
    }
    .p-curriculum__content ul li:last-of-type {
        padding-right: 0;
    }
    .p-curriculum__content ul li::before {
        top: 4px;
    }
    
    .p-curriculum__content .--etc {
        display: block;
        position: relative;
        font-size: 10px;
        right: 0;
        bottom: 0;
        text-align: right;
    }
    
    .p-curriculum__content--lower {
        display: flex;
        margin-top: 20px;
        padding-top: 40px;
    }
    
    .p-curriculum__content--lower picture {
        width: 106px;
        margin-right: 0;
        position: absolute;
        transform: translate(-50%, 0);
        top: 0;
        left: 50%;
    }
    
    .p-curriculum__content--lower .--ja {
        font-size: 22px;
        transform: translate(0, 6px);
    }
    
    .p-curriculum__content--lower .u-en {
        font-size: 46px;
        margin-right: 2px;
    }
    
    .p-curriculum__content--lower figure {
        width: 62px;
        transform: translate(0, 0);
        position: absolute;
        top: -6px;
        left: calc(50% + 58px);
    }
    
    .p-curriculum__content--caution {
        font-size: 10px;
        margin-top: 10px;
    }
    
    .p-curriculum__content02--content {
        border-radius: 3px;
        padding: 15px 20px 20px;
        margin: 15px 8px 0;
        display: block;
    }
    
    .p-curriculum__content02--content>div {
        width: 100%;
    }
    
    .p-curriculum__content02--content>figure {
        width: 100%;
        margin-top: 10px;
    }
    
    .p-curriculum__content03--content,
    .p-curriculum__content04--content {
        display: block;
        margin: 18px 8px 0;
    }
    
    .p-curriculum__content03--content .--txts,
    .p-curriculum__content04--content .--txts {
        width: 100%;
    }
    
    .p-curriculum__content03--content .--txts p,
    .p-curriculum__content04--content .--txts p {
        font-size: 13px;
        margin-top: 10px;
    }
    .p-curriculum__content03--content .--txts p.--caution {
        font-size: 10px;
        margin-top: 10px;
    }
    
    .p-curriculum__content03--content .--list,
    .p-curriculum__content04--content .--list {
        width: 100%;
        margin-top: 20px;
        padding: 15px 20px 20px;
        border-radius: 4px;
    }
    .p-curriculum__content04--content .--list {
        background-color: #f3f8f9;
    }
    
    .p-curriculum__content03--content .--list h4,
    .p-curriculum__content04--content .--list h4 {
        font-size: 16px;
        padding-bottom: 15px;
    }
    
    .p-curriculum__content03--content .--list ul,
    .p-curriculum__content04--content .--list ul {
        margin-top: 0;
        padding-left: 0;
        padding-top: 172px;
        display: flex;
        flex-wrap: wrap;
    }
    .p-curriculum__content04--content .--list ul {
        padding-top: 126px;
    }
    .p-curriculum__content03--content .--list ul::before,
    .p-curriculum__content04--content .--list ul::before {
        height: 142px;
        left: 50%;
        transform: translate(-50%, 0);
        top: 15px;
        width: 128px;
    }
    .p-curriculum__content04--content .--list ul::before {
        top: 15px;
        left: 50%;
        width: 112px;
        height: 96px;
        transform: translate(-50%, 0);
    }
    .p-curriculum__content03--content .--list ul li:last-of-type {
        width: 100%;
    }

    .p-curriculum__content03--content .--list ul li {
        width: 50%;
    }
    .p-curriculum__content04--content .--list ul li {
        width: 100%;
    }
    
    .p-curriculum__content04--content .--relation {
        display: block;
        margin-top: 20px;
    }
    
    .p-curriculum__content04--content .--relation p {
        width: 100%;
        font-size: 12px;
        height: 47px;
        border-left: none;
        border-right: none;
        border-top: #cecece solid 1px;
        border-bottom: #cecece solid 1px;
    }
    
    .p-curriculum__content04--content .--relation div {
        margin-top: 15px;
        justify-content: center;
        padding-left: 0;
    }
    .p-curriculum__content04--content .--relation div figure:nth-of-type(1) {
        max-width: 122px;
        margin-right: 9px;
    }
    .p-curriculum__content04--content .--relation div figure:nth-of-type(2) {
        max-width: 94px;
    }
    
    .p-curriculum__content04--content p.--caution {
        text-align: center;
        margin-top: 8px;
    }
    
    .p-curriculum__content05--txt {
        margin: 18px 8px 0;
        text-align: left;
        font-size: 13px;
        line-height: 1.75;
    }
    
    .p-curriculum__content05--content {
        max-width: 980px;
        margin: 20px 8px 0;
        border-radius: 4px;
        display: block;
    }
    .p-curriculum__content05--content::before {
        height: 1px;
        left: 50%;
        transform: translate(-50%, -50%);
        top: 50%;
        width: calc(100% - 40px);
    }
    .p-curriculum__content05--content>div {
        width: 100%;
        padding: 20px 15px;
    }
    
    .p-curriculum__content05--content>div h4 {
        font-size: 18px;
    }
    
    .p-curriculum__content05--content>div h4 span {
        padding-left: 30px;
    }
    .p-curriculum__content05--content>div h4 span::before {
        height: 21px;
        left: 0;
        top: 3px;
        width: 22px;
    }
    .p-curriculum__content05--content>div:nth-of-type(2) h4 span {
        padding-left: 28px;
    }
    .p-curriculum__content05--content>div:nth-of-type(2) h4 span::before {
        height: 19px;
        top: 6px;
        width: 19px;
    }
    
    .p-curriculum__content05--content>div p {
        font-size: 13px;
        margin-top: 4px;
    }
    
    .p-curriculum__content05--caution {
        text-align: left;
        font-size: 10px;
        margin: 12px 8px 0; 
    }
}

/*===========================================================================*/
/*  strength  */
/*===========================================================================*/
.p-strength {
    padding-top: 100px;
    padding-bottom: 70px;
    position: relative;
    overflow: hidden;
}
.p-strength::before {
    background: url('../img/strength-bg.webp') no-repeat center center/cover;
    content: '';
    height: 629px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.p-strength__inner {
    position: relative;
    z-index: 2;
}

.p-strength__contents {
    padding-top: 74px;
}

.p-strength__content {
    margin-top: 198px;
    position: relative;
}
.p-strength__contents .p-strength__content:nth-of-type(1) {
    margin-top: 0;
}

.p-strength__content::before {
    background: url('../img/strength-img01.webp') no-repeat center center/cover;
    content: '';
    height: 516px;
    left: calc(50% - 65px);
    position: absolute;
    top: calc(50% - 268px);
    width: calc(50vw + 65px);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 70px 100%);
    z-index: 1;
    filter: drop-shadow(15px 15px 35px rgba(22, 43, 75, 0.08));
    transform: translateZ(0);
}
.p-strength__contents .p-strength__content:nth-of-type(2n)::before {
    left: unset;
    right: calc(50% - 65px);
    clip-path: polygon(0 0, 100% 0, calc(100% - 70px) 100%, 0 100%);
}
.p-strength__contents .p-strength__content:nth-of-type(2)::before {
    background: url('../img/strength-img02.webp') no-repeat center center/cover;
}
.p-strength__contents .p-strength__content:nth-of-type(3)::before {
    background: url('../img/strength-img03.webp') no-repeat center center/cover;
}
.p-strength__content::after {
    background: rgb(251,251,251);
    background: linear-gradient(140deg, rgba(251,251,251,0) 0%, rgba(237,241,244,1) 45%, rgba(237,241,244,1) 100%);
    content: '';
    height: 436px;
    left: calc(50% - 209px);
    position: absolute;
    bottom: calc(50% - 328px);
    width: calc(50vw + 209px);
    clip-path: polygon(70px 0, 100% 0, 100% 100%, 0 100%);
    z-index: 0;
}
.p-strength__contents .p-strength__content:nth-of-type(2n)::after {
    left: unset;
    right: calc(50% - 209px);
    clip-path: polygon(0 0, calc(100% - 70px) 0, 100% 100%, 0 100%);
    background: rgb(237,241,244);
    background: linear-gradient(54deg, rgba(237,241,244,1) 0%, rgba(237,241,244,1) 55%, rgba(251,251,251,0) 100%);
}

.p-strength__content--txts {
    max-width: 424px;
    position: relative;
    z-index: 2;
}
.p-strength__contents .p-strength__content:nth-of-type(2n) .p-strength__content--txts {
    margin: 0 0 0 auto;
}

.p-strength__content--num {
    display: flex;
    align-items: center;
    color: #ddc381;
}

.p-strength__content--num .--num {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.375;
    letter-spacing: .03em;
    border-top: 2px solid #ddc381;
    margin-right: 14px;
    transform: translate(0px, 1px);
}

.p-strength__content--num .--txt {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.375;
    letter-spacing: .03em;
}

.p-strength__content--subHead {
    margin-top: 35px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45;
}

.p-strength__content--head {
    margin-top: 12px;
    font-size: 41px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .03em;
}
.p-strength__content--head .--blue {
    color: #213d83;
}

.p-strength__content--txt {
    margin-top: 30px;
    text-align: justify;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 18px;
    line-height: 1.65;
    letter-spacing: .04em;
}

.p-strength__content--caution {
    margin-top: 30px;
    font-size: 12px;
    line-height: 1.65; 
}

.p-strength__line {
    position: relative;
    z-index: 2;
    max-width: 938px;
    margin: 188px auto 0;
    border-radius: 20px;
    padding: 10px 9px;
    background: url('../img/strength-try-bg.webp') no-repeat center center/cover;
}
.p-strength__line::before {
    background: url('../img/strength-plus.png') no-repeat center center/contain;
    content: '';
    height: 92px;
    left: calc(50% - 46px);
    position: absolute;
    top: -46px;
    width: 92px;
    filter: drop-shadow(10px 10px 30px rgba(93, 117, 154, 0.10));
}

.p-strength__line--inner {
    border-radius: 12px;
    border: #fff solid 2px;
    padding: 48px 56px 44px;
    display: flex;
    justify-content: space-between;
}

.p-strength__line--txts {
    width: 59.4%;
}

.p-strength__line--subHead {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45;
    color: #5eae6a;
}

.p-strength__line--subHead span {
    padding: 6px 14px 7px;
    background-color: #fff;
    border-radius: 15px 15px 15px 0;
}

.p-strength__line--img {
    width: 36.9%;
}

.p-strength__line--img img {
    border-radius: 10px;
}

.p-strength__line--head {
    margin-top: 10px;
    font-feature-settings: 'palt' on;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.37;
    letter-spacing: .03em;
    color: #fff;
}

.p-strength__line--txt {
    margin-top: 20px;
    color: #fff;
    text-align: justify;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: .04em;
}
.p-strength__line--txt.--02 {
    margin-top: 12px;
}

.p-strength__line--others {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 25px;
    color: #fff;
}

.p-strength__line--link {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .04em;
    position: relative;
    padding-left: 35px;
}
.p-strength__line--link::before {
    background: url('../img/try-arrow.png') no-repeat center center/contain;
    content: '';
    height: 28px;
    left: 0;
    position: absolute;
    top: 5px;
    width: 28px;
}
.p-strength__line--link .--txt {
    position: relative;
}
.p-strength__line--link .--txt::before {
    background-color: #fff;
    content: '';
    height: 1px;
    left: 0;
    position: absolute;
    bottom: 3px;
    width: 100%;
}

.p-strength__line--caution {
    width: calc(100% - 195px);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.65;
    padding-top: 8px;
}

@media screen and (max-width: 900px) {
    .p-strength {
        padding-top: 60px;
        padding-bottom: 40px;
    }
    .p-strength::before {
        background: url('../img/strength-bg.webp') no-repeat center center/cover;
        height: 238px;
    }
    
    .p-strength__inner {
        position: relative;
        z-index: 2;
    }
    
    .p-strength__contents {
        padding-top: 35px;
    }
    
    .p-strength__content {
        margin-top: 376px;
    }
    .p-strength__contents .p-strength__content:nth-of-type(1) {
        margin-top: 0;
    }
    
    .p-strength__content::before {
        height: 246px;
        left: 0;
        top: unset;
        bottom: -276px;
        width: calc(50vw + 50%);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 33px 100%);
    }
    .p-strength__contents .p-strength__content:nth-of-type(2n)::before {
        right: 0;
        clip-path: polygon(0 0, 100% 0, calc(100% - 33px) 100%, 0 100%);
    }
    .p-strength__content::after {
        height: 184px;
        left: 50%;
        transform: translate(-50%, 0);
        bottom: -326px;
        width: 100vw;
        clip-path: polygon(33px 0, 100% 0, 100% 100%, 0 100%);
    }
    .p-strength__contents .p-strength__content:nth-of-type(2n)::after {
        left: 50%;
        right: unset;
        clip-path: polygon(0 0, calc(100% - 33px) 0, 100% 100%, 0 100%);
    }
    
    .p-strength__content--txts {
        max-width: 424px;
        position: relative;
        z-index: 2;
    }
    .p-strength__contents .p-strength__content:nth-of-type(2n) .p-strength__content--txts {
        margin: 0 0 0 auto;
    }
    
    .p-strength__content--num .--num {
        font-size: 14px;
        border-top: 1px solid #ddc381;
        margin-right: 12px;
    }
    
    .p-strength__content--num .--txt {
        font-size: 16px;
    }
    
    .p-strength__content--subHead {
        margin-top: 15px;
        font-size: 16px;
    }
    
    .p-strength__content--head {
        margin-top: 4px;
        font-size: 32px;
    }
    
    .p-strength__content--txt {
        margin-top: 15px;
        font-size: 15px;
    }
    
    .p-strength__content--caution {
        margin-top: 20px;
        font-size: 10px;
    }
    
    .p-strength__line {
        margin: 372px auto 0;
        border-radius: 10px;
        padding: 5px;
        background: url('../img/strength-try-bg-sp.webp') no-repeat center center/cover;
    }
    .p-strength__line::before {
        height: 50px;
        left: calc(50% - 25px);
        top: -25px;
        width: 50px;
    }
    
    .p-strength__line--inner {
        border-radius: 8px;
        padding: 30px 23px 23px;
        display: block;
    }
    
    .p-strength__line--txts {
        width: 100%;
    }
    
    .p-strength__line--subHead {
        font-size: 16px;
    }
    
    .p-strength__line--subHead span {
        padding: 4px 8px 5px;
        border-radius: 10px 10px 10px 0;
    }
    
    .p-strength__line--img {
        width: 100%;
        margin-top: 15px;
    }
    
    .p-strength__line--head {
        margin-top: 10px;
        font-size: 28px;
    }
    
    .p-strength__line--txt {
        margin-top: 15px;
        font-size: 14px;
    }
    .p-strength__line--txt.--02 {
        margin-top: 10px;
    }
    
    .p-strength__line--others {
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin-top: 15px;
    }
    
    .p-strength__line--link {
        font-size: 18px;
        padding-left: 29px;
    }
    .p-strength__line--link::before {
        height: 20px;
        top: 6px;
        width: 20px;
    }
    .p-strength__line--link .--txt {
        position: relative;
    }
    .p-strength__line--link .--txt::before {
        background-color: #fff;
        content: '';
        height: 1px;
        left: 0;
        position: absolute;
        bottom: 3px;
        width: 100%;
    }
    
    .p-strength__line--caution {
        text-align: center;
        width: 100%;
        font-size: 10px;
        padding-top: 15px;
    }
}

/*===========================================================================*/
/*  worry  */
/*===========================================================================*/
.p-worry {
    padding-top: 83px;
    padding-bottom: 47px;
    background: url('../img/worry-bg.webp') no-repeat center center/cover;
}

.p-worry__head {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.p-worry__head .--wrapper {
    position: relative;
    padding: 0 59px;
}
.p-worry__head .--wrapper::before {
    background: url('../img/worry-txt-left.png') no-repeat center center/contain;
    content: '';
    height: 72px;
    left: 0;
    position: absolute;
    bottom: 9px;
    width: 57px;
}
.p-worry__head .--wrapper::after {
    background: url('../img/worry-txt-right.png') no-repeat center center/contain;
    content: '';
    height: 72px;
    right: 0;
    position: absolute;
    bottom: 9px;
    width: 57px;
}

.p-worry__head .--blue {
    color: #213d83;
}

.p-worry__img {
    max-width: 938px;
    margin: 20px auto 0;
    filter: drop-shadow(15px 15px 40px rgba(21, 38, 63, 0.09));
    transform: translateZ(0);
}

.p-worry__arrow {
    max-width: 84px;
    margin: 40px auto 0;
}

@media screen and (max-width: 900px) {
    .p-worry {
        padding-top: 60px;
        padding-bottom: 30px;
    }
    
    .p-worry__head {
        font-size: 22px;
        line-height: 1.35;
    }
    
    .p-worry__head .--wrapper {
        padding: 0 42px;
    }
    .p-worry__head .--wrapper::before {
        height: 47px;
        bottom: 3px;
        width: 37px;
    }
    .p-worry__head .--wrapper::after {
        height: 47px;
        bottom: 3px;
        width: 37px;
    }
    
    .p-worry__head .--blue {
        color: #213d83;
    }
    
    .p-worry__img {
        max-width: 335px;
        margin: 9px auto 0;
    }
    
    .p-worry__arrow {
        max-width: 56px;
        margin: 20px auto 0;
    }
}

/*===========================================================================*/
/*  cta  */
/*===========================================================================*/
.p-cta {
    padding-top: 96px;
    padding-bottom: 88px;
    background: url('../img/cta-bg.webp') no-repeat center center/cover;
    color: #fff;
}

.p-cta__contents {
    position: relative;
    width: calc(100% + 51px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.p-cta__txts {
    width: 47.35%;
}

.p-cta__txt {
    text-shadow: 10px 10px 30px rgba(0, 15, 38, 0.35);
    font-size: 46px;
    font-weight: 700;
    line-height: 1.38;
}

.p-cta__caution {
    margin-top: 20px;
    font-size: 12px;
    line-height: 2.0; 
}

.p-cta__btns {
    width: 47.8%;
    text-align: center;
}

.p-cta__btns--head {
    text-shadow: 10px 10px 30px rgba(93, 117, 154, 0.05);
    font-size: 23px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.p-cta__btns--head span {
    position: relative;
    padding: 0 21px;
}
.p-cta__btns--head span::before {
    background: url('../img/txt-left-black.svg') no-repeat center center/contain;
    content: '';
    height: 33px;
    left: 0;
    position: absolute;
    bottom: -2px;
    width: 16px;
}
.p-cta__btns--head span::after {
    background: url('../img/txt-right-black.svg') no-repeat center center/contain;
    content: '';
    height: 33px;
    right: 0;
    position: absolute;
    bottom: -2px;
    width: 16px;
}

@media screen and (max-width: 900px) {
    .p-cta {
        padding-top: 40px;
        padding-bottom: 40px;
        background: url('../img/cta-bg-sp.webp') no-repeat center center/cover;
    }
    
    .p-cta__contents {
        width: 100%;
        display: block;
    }
    
    .p-cta__txts {
        width: 100%;
    }
    
    .p-cta__txt {
        font-size: 20px;
        text-align: center;
    }
    
    .p-cta__caution {
        margin-top: 10px;
        font-size: 10px;
        text-align: center;
    }
    
    .p-cta__btns {
        text-align: center;
        width: 100%;
        margin-top: 35px;
    }
    
    .p-cta__btns--head {
        font-size: 17px;
    }
    
    .p-cta__btns--head span {
        position: relative;
        padding: 0 16px;
    }
    .p-cta__btns--head span::before {
        height: 20px;
        bottom: 2px;
        width: 11px;
    }
    .p-cta__btns--head span::after {
        height: 20px;
        bottom: 2px;
        width: 11px;
    }
}

/*===========================================================================*/
/*  compare  */
/*===========================================================================*/
.p-compare {
    padding-top: 100px;
    padding-bottom: 109px;
}

.p-compare__table--wrapper {
    margin-top: 73px;
}

.p-compare__table {
    filter: drop-shadow(13px 13px 50px rgba(0, 25, 61, 0.08));
    transform: translateZ(0);
    position: relative;
}
.p-compare__table::before {
    background-color: #fff;
    content: '';
    height: calc(100% + 32px);
    left: calc((100% - 359px)*198/702);
    position: absolute;
    top: -20px;
    width: 359px;
    border-radius: 15px;
    border: 4px solid #17356f;
    box-shadow: 10px 10px 30px 0px rgba(93, 117, 154, 0.10);
    z-index: 0;
}
.p-compare__table::after {
    background-color: #17356f;
    content: '';
    height: 72px;
    left: calc((100% - 359px)*198/702);
    position: absolute;
    top: -19px;
    width: 359px;
    border-radius: 15px 15px 0 0;
    border: 4px solid #17356f;
    z-index: 1;
}

.p-compare__table dl {
    display: flex;
    position: relative;
    z-index: 2;
}

.p-compare__table dl .--num01 {
    width: calc((100% - 359px)*198/702);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: #fff;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: .05em;
    position: relative;
}
.p-compare__table dl .--num01::before {
    background-color: #d1d1d1;
    content: '';
    height: 1px;
    left: 13px;
    position: absolute;
    bottom: 0;
    width: calc(100% - 26px);
}
.p-compare__table dl.--heads .--num01 {
    opacity: 0;
}
.p-compare__table dl .--num02 {
    width: 359px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: transparent;
    color: #213d83;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .05em;
    padding: 28px 0;
    position: relative;
}
.p-compare__table dl .--num02::before {
    background-color: #d1d1d1;
    content: '';
    height: 1px;
    left: 13px;
    position: absolute;
    bottom: 0;
    width: calc(100% - 26px);
}
.p-compare__table dl .--num02 .u-en {
    font-size: 45px;
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 600;
}
.p-compare__table dl .--num02 .--ja {
    font-size: 30px;
    transform: translate(0, -3px);
}
.p-compare__table dl .--num02 .--small {
    font-size: 12px;
    font-weight: 400;
    margin-top: 6px;
}
.p-compare__table dl .--num03 {
    width: calc((100% - 359px)*252/702);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: #fff;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: .05em;
    position: relative;
}
.p-compare__table dl .--num03::before {
    background-color: #d1d1d1;
    content: '';
    height: 1px;
    left: 13px;
    position: absolute;
    bottom: 0;
    width: calc(100% - 26px);
}
.p-compare__table dl .--num03 .u-en {
    font-size: 24px;
}
.p-compare__table dl .--num03 .--ja {
    font-size: 18px;
    transform: translate(0, -1px);
}
.p-compare__table dl .--num04 {
    width: calc((100% - 359px)*252/702);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: #fff;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: .05em;
    position: relative;
}
.p-compare__table dl .--num04::before {
    background-color: #d1d1d1;
    content: '';
    height: 1px;
    left: 13px;
    position: absolute;
    bottom: 0;
    width: calc(100% - 26px);
}
.p-compare__table dl .--num04 .u-en {
    font-size: 24px;
}
.p-compare__table dl .--num04 .--ja {
    font-size: 18px;
    transform: translate(0, -1px);
}

.p-compare__table dl.--heads dt {
    font-feature-settings: 'palt' on;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .05em;
    padding: 11px;
    color: #fff;
    background-color: #bfbfbf;
    border-radius: 15px 15px 0 0;
}
.p-compare__table dl.--heads dt.--num02 {
    background-color: transparent;
    font-size: 25px;
    padding: 0 11px 18px;
}
.p-compare__table dl.--heads dt.--num04 {
    background-color: #7c7c7c;
}

.p-compare__table dl.--first .--num01 {
    border-radius: 10px 0 0 0;
}
.p-compare__table dl.--last .--num01 {
    border-radius: 0 0 0 10px;
}
.p-compare__table dl.--last .--num04 {
    border-radius: 0 0 10px 0;
}

.p-compare__table dl.--heads dt::before,
.p-compare__table dl.--heads dd::before,
.p-compare__table dl.--last dt::before,
.p-compare__table dl.--last dd::before {
    display: none;
}

@media screen and (max-width: 900px) {
    .p-compare {
        padding: 60px 0;
    }

    .p-compare__inner {
        max-width: 605px;
    }
    
    .p-compare__table--wrapper {
        margin-top: 0;
        padding-top: 30px;
        overflow-x: scroll;
        padding-bottom: 35px;
    }
    
    .p-compare__table {
        margin: 0 20px;
        width: 565px;
        filter: drop-shadow(6px 6px 10px rgba(0, 25, 61, 0.08));
    }
    .p-compare__table::before {
        height: calc(100% + 17px);
        left: calc((100% - 201px)*81/363);
        top: -10px;
        width: 201px;
        border-radius: 8px;
        border: 2px solid #17356f;
        box-shadow: 4px 4px 8px 0px rgba(93, 117, 154, 0.10);
    }
    .p-compare__table::after {
        height: 40px;
        left: calc((100% - 201px)*81/363);
        position: absolute;
        top: -10px;
        width: 201px;
        border-radius: 8px 8px 0 0;
        border: 2px solid #17356f;
    }
    
    .p-compare__table dl {
        display: flex;
        position: relative;
        z-index: 2;
    }
    
    .p-compare__table dl .--num01 {
        width: calc((100% - 201px)*81/363);
        font-size: 10px;
    }
    .p-compare__table dl .--num01::before {
        left: 7px;
        width: calc(100% - 14px);
    }
    .p-compare__table dl .--num02 {
        width: 201px;
        font-size: 14px;
        padding: 16px 0;
    }
    .p-compare__table dl .--num02::before {
        left: 7px;
        width: calc(100% - 14px);
    }
    .p-compare__table dl .--num02 .u-en {
        font-size: 25px;
    }
    .p-compare__table dl .--num02 .--ja {
        font-size: 16px;
        transform: translate(0, -3px);
    }
    .p-compare__table dl .--num02 .--small {
        font-size: 10px;
        margin-top: 3px;
    }
    .p-compare__table dl .--num03 {
        width: calc((100% - 201px)*141/363);
        font-size: 11px;
    }
    .p-compare__table dl .--num03::before {
        left: 7px;
        width: calc(100% - 14px);
    }
    .p-compare__table dl .--num03 .u-en {
        font-size: 13px;
    }
    .p-compare__table dl .--num03 .--ja {
        font-size: 10px;
        transform: translate(0, -1px);
    }
    .p-compare__table dl .--num04 {
        width: calc((100% - 201px)*141/363);
        font-size: 11px;
    }
    .p-compare__table dl .--num04::before {
        left: 7px;
        width: calc(100% - 14px);
    }
    .p-compare__table dl .--num04 .u-en {
        font-size: 13px;
    }
    .p-compare__table dl .--num04 .--ja {
        font-size: 10px;
    }
    
    .p-compare__table dl.--heads dt {
        font-size: 11px;
        padding: 6px;
        border-radius: 8px 8px 0 0;
    }
    .p-compare__table dl.--heads dt.--num02 {
        font-size: 14px;
        padding: 0 6px 10px;
    }
    
    .p-compare__table dl.--first .--num01 {
        border-radius: 6px 0 0 0;
    }
    .p-compare__table dl.--last .--num01 {
        border-radius: 0 0 0 6px;
    }
    .p-compare__table dl.--last .--num04 {
        border-radius: 0 0 6px 0;
    }
}

/*===========================================================================*/
/*  reassurance  */
/*===========================================================================*/
.p-reassurance {
    padding-top: 100px;
    padding-bottom: 52px;
    background: url('../img/support-bg.webp') no-repeat center center/cover;
}

.p-reassurance__content {
    max-width: 545px;
}

.p-reassurance__txt {
    text-align: center;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 31px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .05em;
}

.p-reassurance__txt .--dot {
    position: relative;
}
.p-reassurance__txt .--dot::before {
    background-color: #2b2b2b;
    content: '';
    height: 5px;
    left: calc(50% - 2.5px);
    position: absolute;
    top: -3px;
    width: 5px;
    border-radius: 100vh;
}

.p-reassurance__txt02 {
    margin-top: 10px;
    text-align: center;
    text-shadow: 4px 4px 18px rgba(0, 0, 0, 0.18);
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 31px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .05em;
}

.p-reassurance__txt02 .--bg {
    margin-right: 11px;
    color: #fff;
    position: relative;
    z-index: 2;
}
.p-reassurance__txt02 .--bg::before {
    border-radius: 3px;
    background: linear-gradient(300deg, #fdc830, #f37335);
    content: '';
    height: calc(100% - 4px);
    left: -4px;
    position: absolute;
    top: 2px;
    width: calc(100% + 8px);
    z-index: -1;
}

.p-reassurance__badge {
    max-width: 496px;
    margin: 28px auto 0;
}

@media screen and (max-width: 900px) {
    .p-reassurance {
        padding-top: 62px;
        padding-bottom: 60px;
        background: #f8f5ed;
        position: relative;
        overflow: hidden;
    }
    .p-reassurance::before {
        background: url('../img/support-bg-sp.webp') no-repeat center center/contain;
        content: '';
        height: 297px;
        left: 50%;
        transform: translate(-50%, 0);
        position: absolute;
        top: 18px;
        width: 375px;
    }

    .p-reassurance__inner {
        position: relative;
        z-index: 2;
    }
    
    .p-reassurance__content {
        max-width: unset;
    }
    
    .p-reassurance__txt {
        font-size: 19px;
    }
    
    .p-reassurance__txt .--dot::before {
        height: 3px;
        left: calc(50% - 1.5px);
        top: -2px;
        width: 3px;
    }
    
    .p-reassurance__txt02 {
        margin-top: 6px;
        font-size: 19px;
    }
    
    .p-reassurance__txt02 .--bg {
        margin-right: 6px;
    }
    .p-reassurance__txt02 .--bg::before {
        border-radius: 2px;
        height: calc(100% + 2px);
        left: -3px;
        top: 0;
        width: calc(100% + 6px);
    }
    
    .p-reassurance__badge {
        max-width: 307px;
        margin: 12px auto 0;
    }
}

/*===========================================================================*/
/*  voice  */
/*===========================================================================*/
.p-voice {
    padding-top: 100px;
    padding-bottom: 100px;
    position: relative;
    background-color: #edf1f4;
}
.p-voice::before {
    background: url('../img/voice-bg.webp') no-repeat center center/cover;
    content: '';
    height: 629px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.p-voice__inner {
    position: relative;
    z-index: 2;
}

.p-voice__caution {
    font-size: 12px;
    line-height: 1.65; 
    text-align: center;
    margin-top: 30px;
}

.p-voice__contents {
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.p-voice__content {
    width: 48.59%;
    margin-top: 54px;
    position: relative;
}

.p-voice__content--upper {
    border-radius: 10px 10px 0 0;
    background: #0A214F;
    padding: 14px 15px 16px 141px;
    color: #fff;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    font-feature-settings: 'palt' on;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .06em;
}
.p-voice__content--upper .--name {
    margin-right: 14px;
}
.p-voice__content--upper .--name .--large {
    font-size: 20px;
}

.p-voice__content--upper img {
    width: 108px;
    position: absolute;
    left: 19px;
    top: -35px;
    filter: drop-shadow(7px 7px 20px rgba(0, 21, 52, 0.20));
    transform: translateZ(0);
}

.p-voice__content--lower {
    position: relative;
    z-index: 2;
    background-color: #fff;
    padding: 12px 35px 25px;
}
.p-voice__content--lower.js-active {
    padding: 12px 35px 75px;
}

.p-voice__content--head {
    font-feature-settings: 'palt' on;
    font-size: 26px;
    font-weight: 700;
    line-height: 2.4em;
    letter-spacing: .03em;
    background-image:
        linear-gradient( 90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, #ffff 50%, #ffff 50%),
        linear-gradient( 180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 98.5%, #747b91 98.5%, #747b91 100%);
    background-size: 8px 100%, 100% 2.4em;
}
.p-voice__content--head .--color {
    color: #b79745;
}

.p-voice__content--btn {
    position: absolute;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 0;
    bottom: 0;
    padding-top: 53px;
    height: 127px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 6.96%, #FFF 50%);
    transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
}
.p-voice__content--lower.js-active .p-voice__content--btn {
    background: transparent;
}

.p-voice__content--btnWrap {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    color: #213d83;
    position: relative;
    padding-right: 22px;
}
.p-voice__content--btnWrap::before {
    background: url('../img/voice-arrow.svg') no-repeat center center/contain;
    content: '';
    height: 12px;
    right: 0;
    position: absolute;
    top: 5px;
    width: 9px;
}

.p-voice__content--btnWrap .--txt {
    text-decoration: underline;
}

.js-voice-txt-close {
    display: none;
}

.p-voice__content--lower.js-active .js-voice-txt-close {
    display: inline-block;
}

.p-voice__content--lower.js-active .js-voice-txt-open {
    display: none;
}

.p-voice__content--txt {
    margin-top: 20px;
    text-align: justify;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 15px;
    line-height: 1.65;
    letter-spacing: .04em;
    height: 195px;
    overflow: hidden;
    transition: all .4s 0s cubic-bezier(.44,.14,.09,1.02);
}

.p-voice__content--lower.js-active .p-voice__content--txt {
    height: auto;
}

@media screen and (max-width: 900px) {
    .p-voice {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .p-voice::before {
        height: 341px;
    }
    
    .p-voice__inner {
        position: relative;
        z-index: 2;
    }
    
    .p-voice__caution {
        font-size: 10px;
        margin-top: 25px;
    }
    
    .p-voice__contents {
        padding-top: 6px;
        display: block;
    }
    
    .p-voice__content {
        width: 100%;
        margin-top: 28px;
    }
    
    .p-voice__content--upper {
        border-radius: 8px 8px 0 0;
        padding: 12px 10px 13px 124px;
        flex-direction: column;
        align-items: flex-start;
        font-size: 12px;
    }
    .p-voice__content--upper .--name {
        margin-right: 0px;
        margin-bottom: 7px;
    }
    .p-voice__content--upper .--name .--large {
        font-size: 18px;
    }
    
    .p-voice__content--upper img {
        width: 92px;
        left: 20px;
        top: -14px;
    }
    
    .p-voice__content--lower {
        padding: 10px 25px 20px;
    }
    .p-voice__content--lower.js-active {
        padding: 12px 35px 55px;
    }
    
    .p-voice__content--head {
        font-size: 22px;
        line-height: 2em;
        background-image:
            linear-gradient( 90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, #ffff 50%, #ffff 50%),
            linear-gradient( 180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 98.5%, #747b91 98.5%, #747b91 100%);
        background-size: 8px 100%, 100% 2em;
    }
    
    .p-voice__content--btn {
        padding-top: 42px;
        height: 101px;
    }
    .p-voice__content--lower.js-active .p-voice__content--btn {
        background: transparent;
    }
    
    .p-voice__content--btnWrap {
        font-size: 13px;
        padding-right: 18px;
    }
    .p-voice__content--btnWrap::before {
        top: 4px;
    }
    
    .p-voice__content--txt {
        margin-top: 15px;
        font-size: 13px;
        height: 207px;
    }
}

/*===========================================================================*/
/*  plan  */
/*===========================================================================*/
.p-plan {
    padding-top: 100px;
    padding-bottom: 100px;
    background: #e9ecf0;
    backdrop-filter: blur(5px);
}

.p-plan .c-h2 {
    color: #333;
}

.p-plan__txt {
    color: #333;
    text-align: center;
    margin-top: 30px;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 15px;
    line-height: 2;
    letter-spacing: .04em;
}

.p-plan__contents {
    max-width: 938px;
    margin: 21px auto 0;
}

.p-plan__content--inner {
    display: none;
}
.p-plan__content--inner.js-active {
    display: block;
}

.p-plan__contents--tags {
    display: flex;
    align-items: flex-end;
}

.p-plan__contents--tag {
    width: 33.3333%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e3e3e3;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: .08em;
    height: 61px;
    background: #727272;
}
.p-plan__contents--tag.js-active {
    border-radius: 10px 10px 0 0 !important;
    height: 77px;
    color: #fff;
}

#plan-tag01 {
    border-radius: 10px 0 0 0;
}
#plan-tag01.js-active {
    background: #598a58;
}
#plan-tag02.js-active {
    background: #2180a5;
}
#plan-tag03 {
    border-radius: 0 10px 0 0;
}
#plan-tag03.js-active {
    background: #ad8f2d;
}

.p-plan__content {
    background-color: #fff;
    border-radius: 0 0 10px 10px;
    padding: 26px 63px 55px;
}

#plan-content01 .--color {
    color: #1b892d;
}
#plan-content02 .--color {
    color: #213d83;
}
#plan-content03 .--color {
    color: #b79745;
}

.p-plan__content--head {
    text-align: center;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.43;
}

.p-plan__content--table {
    margin-top: 25px;
    border-top: #acacac dashed 1px;
}

.p-plan__content--table dl {
    border-bottom: #acacac dashed 1px;
    padding: 20px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.p-plan__content--table dl:nth-of-type(3) {
    padding: 28px 0;
}

.p-plan__content--table dl dt {
    width: 154px;
    display: flex;
    align-items: center;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.54;
    letter-spacing: .05em;
}

.p-plan__content--table dl dd {
    width: calc(100% - 154px);
}

.p-plan__content--table dl dd .--space {
    letter-spacing: -.19em;
}

.p-plan__content--table dl dd .--num {
    font-size: 35px;
    font-weight: 700;
    line-height: 1;
}
.p-plan__content--table dl dd .--txt {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.54;
    letter-spacing: .05em;
}

.p-plan__content--table dl dd .--ja {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.54;
    letter-spacing: .05em;
}
.p-plan__content--table dl:nth-of-type(3) dd .--ja {
    font-size: 14px;
}

.p-plan__content--table dl dd .--desc {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.54;
    letter-spacing: .05em;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.54;
    letter-spacing: .05em;
}

.p-plan__content--table dl dd ul {
    position: relative;
    width: calc(100% + 10px);
    margin-top: -10px;
    display: flex;
    flex-wrap: wrap;
}

.p-plan__content--table dl dd ul li {
    position: relative;
    width: calc(33.3333% - 10px);
    margin: 10px 10px 0 0;
    background-color: #f6f6f6;
    min-height: 78px;
    padding: 10px 10px 10px 63px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.p-plan__content--table dl dd ul li figure {
    position: absolute;
    width: 33px;
    left: 24px;
    top: 50%;
    transform: translate(0, -50%);
}

.p-plan__content--table dl dd ul li p {
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.34;
    letter-spacing: .05em;
}
.p-plan__content--table dl dd ul li p.--small {
    font-size: 10px;
    margin-top: 3px;
}

.p-plan__content--caution {
    margin-top: 15px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.54;
    letter-spacing: .05em;
    color: #949494;
}

@media screen and (max-width: 900px) {
    .p-plan {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    
    .p-plan__txt {
        margin-top: 25px;
        font-size: 12px;
        line-height: 1.65;
    }
    
    .p-plan__contents {
        margin: 25px auto 0;
    }
    
    .p-plan__contents--tag {
        font-size: 12px;
        height: 48px;
    }
    .p-plan__contents--tag.js-active {
        height: 57px;
        color: #fff;
    }
    
    .p-plan__content {
        background-color: #fff;
        border-radius: 0 0 10px 10px;
        padding: 15px 15px 30px;
    }
    
    .p-plan__content--head {
        font-size: 18px;
    }
    
    .p-plan__content--table {
        margin-top: 25px;
        border-top: #acacac dashed 1px;
    }
    
    .p-plan__content--table dl {
        padding: 15px 0;
        display: block;
    }
    .p-plan__content--table dl:nth-of-type(3) {
        padding: 15px 0;
    }
    
    .p-plan__content--table dl dt {
        width: 100%;
        display: block;
        text-align: center;
        font-size: 14px;
    }
    
    .p-plan__content--table dl dd {
        width: 100%;
        margin-top: 5px;
        text-align: center;
    }
    .p-plan__content--table dl:nth-of-type(2) dd {
        margin-top: 10px;
    }
    
    .p-plan__content--table dl dd .--num {
        font-size: 28px;
    }
    .p-plan__content--table dl dd .--txt {
        font-size: 20px;
    }
    .p-plan__content--table dl:nth-of-type(3) dd .--txt {
        font-size: 16px;
    }
    
    .p-plan__content--table dl dd .--ja {
        font-size: 14px;
    }
    .p-plan__content--table dl:nth-of-type(3) dd .--ja {
        font-size: 10px;
    }
    
    .p-plan__content--table dl dd .--desc {
        font-size: 12px;
        margin-top: 2px;
    }
    
    .p-plan__content--table dl dd ul {
        justify-content: center;
    }
    
    .p-plan__content--table dl dd ul li {
        width: calc(50% - 10px);
        min-height: 100px;
        height: 100px;
        padding: 62px 10px 10px 10px;
        display: block;
    }
    .p-plan__content--table dl dd ul li.--row02 {
        padding-top: 54px;
    }
    .p-plan__content--table dl dd ul li.--skill {
        padding-top: 55px;
    }
    .p-plan__content--table dl dd ul li.--line {
        padding-top: 45px;
    }
    
    .p-plan__content--table dl dd ul li figure {
        width: 36px;
        left: 50%;
        top: 21px;
        transform: translate(-50%, 0);
    }

    .p-plan__content--table dl dd ul li.--row02 figure {
        top: 13px;
    }
    .p-plan__content--table dl dd ul li.--skill figure {
        top: 13px;
    }
    .p-plan__content--table dl dd ul li.--line figure {
        top: 9px;
    }
    
    .p-plan__content--table dl dd ul li p {
        font-size: 12px;
    }
    .p-plan__content--table dl dd ul li p.--small {
        font-size: 10px;
        margin-top: 1px;
        scale: .8;
    }
    
    .p-plan__content--caution {
        margin-top: 15px;
        font-size: 10px;
    }
}

/*===========================================================================*/
/*  discount  */
/*===========================================================================*/
.p-discount {
    padding-top: 86px;
    padding-bottom: 461px;
    background: url('../img/discount-bg.webp') no-repeat center center/cover;
    position: relative;
    overflow: hidden;
}
.p-discount::before {
    background: url('../img/discount-arrow.png') no-repeat center center/contain;
    content: '';
    height: 82px;
    left: calc(50% - 60px);
    position: absolute;
    bottom: 50px;
    width: 120px;
    z-index: 3;
}
.p-discount::after {
    background: url('../img/discount-bg02.webp') no-repeat center center/contain;
    content: '';
    height: 835px;
    left: 50%;
    transform: translate(-50%, 0);
    position: absolute;
    top: 0;
    width: 1360px;
    z-index: 1;
}

.p-discount__head {
    text-align: center;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.45;
    position: relative;
    z-index: 2;
}

.p-discount__head .--large {
    font-size: 54px;
}

.p-discount__img {
    max-width: 911px;
    margin: 20px auto 0;
    position: relative;
    z-index: 2;
}

.p-discount__ticket {
    position: absolute;
    width: 733px;
    bottom: -41px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 2;
}

@media screen and (max-width: 900px) {
    .p-discount {
        padding-top: 60px;
        padding-bottom: 236px;
        background: url('../img/discount-bg-sp.webp') no-repeat center center/cover;
    }
    .p-discount::before {
        height: 34px;
        left: calc(50% - 29px);
        bottom: 20px;
        width: 58px;
    }
    .p-discount::after {
        background: url('../img/discount-bg02-sp.webp') no-repeat center center/contain;
        height: 326px;
        top: 148px;
        width: 470px;
    }
    
    .p-discount__head {
        font-size: 22px;
    }
    
    .p-discount__head .--large {
        font-size: 36px;
    }
    
    .p-discount__img {
        max-width: 335px;
        padding-left: 6px;
    }
    
    .p-discount__ticket {
        width: 335px;
        bottom: 0;
    }
}

/*===========================================================================*/
/*  try  */
/*===========================================================================*/
.p-try {
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
    z-index: 6;
    background: url('../img/try-bg.webp') no-repeat center center/cover;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;  
}

.p-try__inner {
    position: relative;
    z-index: 8;
}

.p-try__badges {
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-try__badges .p-try__badge:nth-of-type(1) {
    max-width: 307px;
}
.p-try__badges .p-try__badge:nth-of-type(2) {
    max-width: 311px;
}
.p-try__badges .p-try__badge:nth-of-type(3) {
    max-width: 315px;
}

.p-try__caution {
    margin-top: 20px;
    text-align: center;
    font-size: 12px;
    line-height: 1.14;
    letter-spacing: .04em;
    color: #333;
}

.p-try__caution2 {
    margin-top: 20px;
    text-align: right;
    font-size: 12px;
    line-height: 1.14;
    letter-spacing: .04em;
    color: #333;
}

.p-try__head {
    max-width: 675px;
    margin: 19px auto 0;
}

.p-try__img {
    max-width: 938px;
    margin: 30px auto 0;
}

.p-try__img img {
    border-radius: 10px;
    box-shadow: 13px 13px 50px 0px rgba(0, 25, 61, 0.08);
}

.p-try__txt {
    margin-top: 55px;
    text-align: center;
    font-size: 44px;
    font-weight: 700;
    line-height: 1.5;
    color: #222;
}

.p-try__btns {
    text-align: center;
    margin: 35px auto 0;
    color: #333;
    max-width: 689px;
}

@media screen and (max-width: 900px) {
    .p-try {
        padding-top: 40px;
        padding-bottom: 60px;
        background: url('../img/try-bg-sp.webp') no-repeat center center/cover;
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
      
    }
    
    .p-try__badges {
        display: flex;
        flex-wrap: wrap;
        position: relative;
        width: calc(100% + 20px);
        left: -10px;
    }
    
    .p-try__badges .p-try__badge:nth-of-type(1) {
        max-width: 169px;
    }
    .p-try__badges .p-try__badge:nth-of-type(2) {
        max-width: 171px;
    }
    .p-try__badges .p-try__badge:nth-of-type(3) {
        max-width: 182px;
    }
    
    .p-try__caution {
        margin-top: 10px;
        text-align: center;
        position: relative;
        z-index: 2;
    }

    .p-try__caution2 {
        font-size: 7px;
        margin-top: 5px;
        text-align: right;
        position: relative;
        z-index: 2;
    }
    
    .p-try__head {
        max-width: 293px;
    }
    
    .p-try__img {
        max-width: 335px;
        margin: 15px auto 0;
    }
    
    .p-try__img img {
        border-radius: 3px;
    }
    
    .p-try__txt {
        margin-top: 25px;
        font-size: 24px;
    }
    
    .p-try__btns {
        text-align: center;
        margin: 18px auto 0;
        max-width: 335px;
    }
}

/*===========================================================================*/
/*  step  */
/*===========================================================================*/
.p-step {
    padding-top: 100px;
    padding-bottom: 100px;
}

.p-step__head {
    text-align: center;
}

.p-step__head .--wrapper01 {
    display: block;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.45; 
}

.p-step__head .--wrapper02 {
    display: block;
    margin-top: 1px;
}

.p-step__head .--wrapper02 .--ja {
    font-size: 54px;
    font-weight: 700;
    line-height: 1.45;
    transform: translate(0, -4px);
}

.p-step__head .--wrapper02 .--large {
    color: #B79745;
    font-size: 80px;
    font-weight: 700;
    line-height: 1;
    margin: 0 7px 0 4px;
}

.p-step__head .--wrapper02 .--small {
    color: #B79745;
    font-size: 64px;
    font-weight: 700;
    line-height: 1;
    transform: translate(0, -3px);
}

.p-step__list {
    display: flex;
    justify-content: space-between;
    margin-top: 31px;
}

.p-step__list li {
    width: calc(33.3333% - 33px);
    position: relative;
    border-radius: 10px;
    background-color: #f3f3f3;
    padding: 17px 17px 33px;
}
.p-step__list li::before {
    background: url('../img/step-arrow.png') no-repeat center center/contain;
    content: '';
    height: 43px;
    left: calc(100% + 12px);
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    width: 26px;
}
.p-step__list li:last-of-type:before {
    display: none;
}

.p-step__list--num {
    position: absolute;
    width: 68px;
    top: -10px;
    left: -10px;
}

.p-step__list--head {
    margin-top: 20px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45; 
}

.p-step__list--txt {
    margin-top: 26px;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}
.p-step__list li:last-of-type .p-step__list--txt {
    margin-top: 15px;
}

@media screen and (max-width: 900px) {
    .p-step {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    
    .p-step__head {
        text-align: center;
    }
    
    .p-step__head .--wrapper01 {
        font-size: 20px;
    }
    
    .p-step__head .--wrapper02 {
        display: block;
        margin-top: 4px;
    }
    
    .p-step__head .--wrapper02 .--ja {
        font-size: 40px;
        transform: translate(0, -3px);
    }
    
    .p-step__head .--wrapper02 .--large {
        font-size: 60px;
        margin: 0 5px 0 1px;
    }
    
    .p-step__head .--wrapper02 .--small {
        font-size: 48px;
        transform: translate(0, -2px);
    }
    
    .p-step__list {
        display: block;
        margin-top: 0;
        padding-top: 21px;
    }
    
    .p-step__list li {
        width: 100%;
        margin-top: 46px;
        padding: 17px 17px 33px;
    }
    .p-step__list li:nth-of-type(1) {
        margin-top: 0;
        padding: 10px 10px 20px;
    }
    .p-step__list li::before {
        background: url('../img/step-arrow-sp.png') no-repeat center center/contain;
        height: 25px;
        left: 50%;
        top: calc(100% + 10px);
        transform: translate(-50%, 0);
        width: 43px;
    }
    .p-step__list li:last-of-type:before {
        display: none;
    }
    
    .p-step__list--num {
        width: 58px;
        top: -6px;
        left: -6px;
    }
    
    .p-step__list--head {
        margin-top: 15px;
        font-size: 16px;
    }
    
    .p-step__list--txt {
        margin: 10px auto 0;
        text-align: left;
        max-width: 275px;
        font-size: 14px;
    }
    .p-step__list li:last-of-type .p-step__list--txt {
        margin-top: 10px;
    }
}

/*===========================================================================*/
/*  faq  */
/*===========================================================================*/
.p-faq {
    padding-top: 100px;
    padding-bottom: 100px;
    background-color: #f9f9f9;
}

.p-faq__caution {
    margin-top: 40px;
    text-align: center;
    font-size: 12px;
    line-height: 1.65;
}

.p-faq__head02 {
    max-width: 900px;
    margin: 30px auto 0;
    color: #213D83;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.45;
    position: relative;
    padding-left: 28px;
}
.p-faq__head02.--02 {
    margin-top: 80px;
}
.p-faq__head02::before {
    background-color: #213d83;
    content: '';
    height: 2px;
    left: 0;
    position: absolute;
    top: 18px;
    width: 18px;
}

.p-faq__list {
    max-width: 900px;
    margin: 0 auto;
    padding-top: 10px;
}
.p-faq__list.--02 {
    padding-top: 0;
    display: none;
}

.p-faq__list li {
    margin-top: 10px;
}

.p-faq__list--question {
    position: relative;
    padding: 21px 65px 22px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 15px 15px 50px 0px rgba(0, 0, 0, 0.03);
    cursor: pointer;
}

.p-faq__list--question .--q {
    position: absolute;
    width: 32px;
    height: 32px;
    border-radius: 100vh;
    background-color: #213d83;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    left: 20px;
    top: 22px;
}

.p-faq__list--question .--plus {
    width: 18px;
    height: 18px;
    right: 20px;
    position: absolute;
    top: 28px;
}
.p-faq__list--question .--plus::before {
    background-color: #213d83;
    content: '';
    height: 3px;
    left: 50%;
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
}
.p-faq__list--question .--plus::after {
    background-color: #213d83;
    content: '';
    height: 100%;
    left: 50%;
    position: absolute;
    top: 50%;
    width: 3px;
    transform: translate(-50%, -50%);
}
.p-faq__list li.js-active .p-faq__list--question .--plus::after {
    opacity: 0;
}

.p-faq__list--question p {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45; 
}

.p-faq__list--answer {
    display: none;
}

.p-faq__list--answer>div {
    position: relative;
    padding: 20px 50px 30px 65px;
}

.p-faq__list--answer .--a {
    position: absolute;
    width: 32px;
    height: 32px;
    border-radius: 100vh;
    background-color: #b79745;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    left: 20px;
    top: 20px;
}

.p-faq__list--answer .--head {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45;
}

.p-faq__list--answer .--txt {
    margin-top: 14px;
    text-align: justify;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 15px;
    line-height: 1.65;
    letter-spacing: .04em;
}

.p-faq__more {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45; 
    margin-top: 30px;
}

.p-faq__more--link {
    position: relative;
    padding-right: 22px;
}

.p-faq__more--link img {
    position: absolute;
    width: 12px;
    right: 0;
    top: 11px;
}

.p-faq__more--link.js-active img {
    transform: rotate(180deg);
}

.p-faq__more--link .--txt {
    position: relative;
}
.p-faq__more--link .--txt::before {
    background-color: #2b2b2b;
    content: '';
    height: 1px;
    left: 0;
    position: absolute;
    bottom: 0;
    width: 100%;
}

.p-faq__more--link .--close {
    display: none;
}

.p-faq__more--link.js-active .--open {
    display: none;
}
.p-faq__more--link.js-active .--close {
    display: inline-block;
}

@media screen and (max-width: 900px) {
    .p-faq {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    
    .p-faq__caution {
        margin-top: 20px;
    }
    
    .p-faq__head02 {
        font-size: 16px;
        padding-left: 16px;
    }
    .p-faq__head02.--02 {
        margin-top: 40px;
    }
    .p-faq__head02::before {
        height: 2px;
        top: 10px;
        width: 10px;
    }
    
    .p-faq__list--question {
        padding: 12px 40px;
        border-radius: 8px;
    }
    
    .p-faq__list--question .--q {
        width: 18px;
        height: 18px;
        font-size: 10px;
        left: 15px;
        top: 15px;
    }
    
    .p-faq__list--question .--plus {
        width: 15px;
        height: 15px;
        right: 15px;
        top: 16px;
    }
    .p-faq__list--question .--plus::before {
        height: 2px;
    }
    .p-faq__list--question .--plus::after {
        width: 2px;
    }
    
    .p-faq__list--question p {
        font-size: 15px;
    }
    
    .p-faq__list--answer>div {
        position: relative;
        padding: 15px 0 15px 40px;
    }
    
    .p-faq__list--answer .--a {
        width: 18px;
        height: 18px;
        font-size: 10px;
        left: 15px;
        top: 17px;
    }
    
    .p-faq__list--answer .--head {
        font-size: 15px;
    }
    
    .p-faq__list--answer .--txt {
        margin-top: 5px;
        font-size: 14px;
    }
    
    .p-faq__more {
        font-size: 14px;
        margin-top: 20px;
    }
    
    .p-faq__more--link img {
        top: 8px;
    }
    
    .p-faq__more--link.js-active img {
        transform: rotate(180deg);
    }
    
    .p-faq__more--link .--txt {
        position: relative;
    }
    .p-faq__more--link .--txt::before {
        background-color: #2b2b2b;
        content: '';
        height: 1px;
        left: 0;
        position: absolute;
        bottom: 0;
        width: 100%;
    }
    
    .p-faq__more--link .--close {
        display: none;
    }
    
    .p-faq__more--link.js-active .--open {
        display: none;
    }
    .p-faq__more--link.js-active .--close {
        display: inline-block;
    }
}

/*===========================================================================*/
/*  contact  */
/*===========================================================================*/
.p-contact {
    padding-top: 100px;
    padding-bottom: 100px;
}

.p-contact__caution {
    text-align: center;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 15px;
    line-height: 2.25;
    letter-spacing: .04em;
    margin-top: 30px;
}

.p-contact__contents {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

.p-contact__content {
    width: 31.5%;
    margin: 0 1% 0;
    position: relative;
    border-radius: 10px;
    padding: 40px 10px 36px;
    background: url('../img/contact-bg01.webp') no-repeat center center/cover;
}
.p-contact__contents .p-contact__content:nth-of-type(2) {
    background: url('../img/contact-bg02.webp') no-repeat center center/cover;
}
.p-contact__contents .p-contact__content:nth-of-type(3) {
    background: url('../img/contact-bg03.webp') no-repeat center center/cover;
}

.p-contact__content--head {
    text-align: center;
    font-size: 35px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .02em;
    color: #fff;
}

.p-contact__content--head .--wrapper {
    position: relative;
    padding-top: 69px;
}

.p-contact__content--head .--wrapper img {
    position: absolute;
    width: 58px;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
}
.p-contact__contents .p-contact__content:nth-of-type(2) .p-contact__content--head .--wrapper img {
    width: 43px;
    top: 6px;
}
.p-contact__contents .p-contact__content:nth-of-type(3) .p-contact__content--head .--wrapper img {
    width: 50px;
    top: 13px;
}

.p-contact__content--txt {
    margin-top: 24px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.49;
    color: #fff;
}
.p-contact__contents .p-contact__content:nth-of-type(1) .p-contact__content--txt {
    margin-top: 12px;
}

.p-contact__content--btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 263px;
    height: 70px;
    border-radius: 100vh;
    margin: 30px auto 0;
    background-color: #fff;
    box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.10);
    position: relative;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .02em;
    padding-bottom: 2px;
    color: #33b247;
}
.p-contact__contents .p-contact__content:nth-of-type(1) .p-contact__content--btn {
    margin-top: 18px;
}
.p-contact__contents .p-contact__content:nth-of-type(2) .p-contact__content--btn {
    color: #006dbd;
}
.p-contact__contents .p-contact__content:nth-of-type(3) .p-contact__content--btn {
    color: #213d83;
}

.p-contact__content--btn .--arrow {
    position: absolute;
    width: 20px;
    right: 17px;
    top: 50%;
    transform: translate(0, -50%);
}

@media screen and (max-width: 900px) {
    .p-contact {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    
    .p-contact__caution {
        font-size: 12px;
        line-height: 1.65;
        margin-top: 20px;
    }
    
    .p-contact__contents {
        margin-top: 0;
        padding-top: 15px;
        display: block;
    }
    
    .p-contact__content {
        margin-top: 10px;
        width: 100%;
        padding: 20px 10px 25px;
        background: url('../img/contact-bg01-sp.webp') no-repeat center center/cover;
    }
    .p-contact__contents .p-contact__content:nth-of-type(2) {
        background: url('../img/contact-bg02-sp.webp') no-repeat center center/cover;
    }
    .p-contact__contents .p-contact__content:nth-of-type(3) {
        background: url('../img/contact-bg03-sp.webp') no-repeat center center/cover;
    }
    
    .p-contact__content--head {
        font-size: 22px;
    }
    
    .p-contact__content--head .--wrapper {
        padding-top: 0;
        padding-left: 32px;
    }
    .p-contact__contents .p-contact__content:nth-of-type(3) .p-contact__content--head .--wrapper {
        padding-left: 38px;
    }
    
    .p-contact__content--head .--wrapper img {
        width: 24px;
        top: 5px;
        left: 0;
        transform: translate(0, 0);
    }
    .p-contact__contents .p-contact__content:nth-of-type(2) .p-contact__content--head .--wrapper img {
        width: 22px;
        top: 6px;
    }
    .p-contact__contents .p-contact__content:nth-of-type(3) .p-contact__content--head .--wrapper img {
        width: 28px;
        top: 8px;
    }
    
    .p-contact__content--txt {
        margin-top: 8px;
        font-size: 14px;
    }
    .p-contact__contents .p-contact__content:nth-of-type(1) .p-contact__content--txt {
        margin-top: 8px;
    }
    
    .p-contact__content--btn {
        max-width: 285px;
        height: 54px;
        margin: 17px auto 0;
        font-size: 18px;
        padding-bottom: 2px;
    }
    .p-contact__contents .p-contact__content:nth-of-type(1) .p-contact__content--btn {
        margin-top: 17px;
    }
    
    .p-contact__content--btn .--arrow {
        width: 18px;
        right: 20px;
    }
}

.p-telPopup {
    position: fixed;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    z-index: 99;
    padding: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity .5s;
    opacity: 0;
    pointer-events: none;
}
.p-telPopup.js-active {
    opacity: 1;
    pointer-events: all;
}

.p-telPopup__bg {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #0060a5;
    opacity: .9;
}

.p-telPopup__content {
    position: relative;
    z-index: 2;
    background-color: #fff;
    padding: 40px 50px;
    border-radius: 20px;
}
.p-telPopup__content::before {
    background: url('../img/btn-close.svg') no-repeat center center/contain;
    content: '';
    height: 30px;
    right: -30px;
    position: absolute;
    top: -30px;
    width: 30px;
    pointer-events: none;
}

.p-telPopup__content--txt {
    font-size: 19px;
    text-align: center;
    font-weight: 500;
    line-height: 1.4;
}

.p-telPopup__content--nums {
    position: relative;
    padding-left: 80px;
    margin-top: 15px;
}
.p-telPopup__content--nums::before {
    background: url('../img/popup-icon-tel.svg') no-repeat center center/contain;
    content: '';
    height: 60px;
    left: 0;
    position: absolute;
    top: 6px;
    width: 60px;
}

.p-telPopup__content--num {
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
}

.p-telPopup__content--caution {
    font-size: 16px;
    line-height: 1.4;
    margin-top: 5px;
}

@media screen and (max-width: 900px) {
    .p-telPopup {
        padding: 80px 20px;
    }
    
    .p-telPopup__content {
        position: relative;
        z-index: 2;
        background-color: #fff;
        padding: 30px 30px;
        border-radius: 20px;
        width: 100%;
        max-width: 400px;
    }
    .p-telPopup__content::before {
        height: 30px;
        right: 0;
        top: -40px;
        width: 30px;
    }
    
    .p-telPopup__content--txt {
        font-size: 16px;
        text-align: center;
        font-weight: 500;
        line-height: 1.4;
    }
    
    .p-telPopup__content--nums {
        position: relative;
        padding-left: 0;
        margin-top: 10px;
    }
    .p-telPopup__content--nums::before {
        height: 26px;
        top: 4px;
        width: 26px;
    }
    
    .p-telPopup__content--num {
        font-size: 34px;
        font-weight: 700;
        line-height: 1;
        padding-left: 30px;
    }
    
    .p-telPopup__content--caution {
        font-size: 12px;
        text-align: center;
        margin-top: 10px;
    }
}

/*===========================================================================*/
/*  reception  */
/*===========================================================================*/
.p-reception {
    padding-top: 100px;
    padding-bottom: 100px;
    background-color: #172b5d;
}

.p-reception .c-h2 {
    color: #fff;
}

.p-reception__txt {
    margin-top: 30px;
    color: #fff;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 15px;
    line-height: 2.25;
    letter-spacing: .04em;
    text-align: center;
}

.p-reception__txt--select {
    margin-top: 50px;
    text-align: center;
    font-size: 30px;
    line-height: 1.45;
    color: #fff;
}

.p-reception__txt--select .--check {
    position: relative;
    padding-left: 40px;
}
.p-reception__txt--select .--check::before {
    background-color: #b79745;
    content: '';
    height: 29px;
    left: 5px;
    position: absolute;
    top: 10px;
    width: 29px;
    border-radius: 2px;
    z-index: 1;
}
.p-reception__txt--select .--check::after {
    background: url('../img/check-box.svg') no-repeat center center/contain;
    content: '';
    height: 29px;
    left: 5px;
    position: absolute;
    top: 10px;
    width: 29px;
    z-index: 2;
}

.p-reception__caution {
    margin-top: 7px;
    text-align: center;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 15px;
    line-height: 2.25;
    letter-spacing: .04em;
    color: #fff;
}

.p-reception__desc {
    border-radius: 5px;
    background-color: #061742;
    box-shadow: 15px 15px 50px 0px rgba(0, 0, 0, 0.03);
    padding: 30px;
    color: #fff;
    overflow-y: scroll;
    margin: 20px auto 0;
    max-width: 900px;
    height: 140px;
}
.p-reception__desc.--01 {
    margin-top: 30px;
}

.p-reception__desc h4 {
    font-feature-settings: 'palt' on;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .05em;
    margin-bottom: 15px;
}

.p-reception__desc>div {
    text-align: justify;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 15px;
    line-height: 1.65;
    letter-spacing: .04em;
}

.p-reception__desc h5,
.p-reception__desc b {
    font-weight: 500;
    display: block;
    margin-top: 10px;
    margin-bottom: 5px;
} 

.p-reception__desc li {
    padding-left: 30px;
    position: relative;
}

.p-reception__desc>div>ol,
.p-reception__desc>div>ol>li>ol {
    counter-reset: number 0;
}

.p-reception__desc>div>ol>li::before,
.p-reception__desc>div>ol>li>ol>li::before {
    counter-increment: number 1;
    content: '(' counter(number) ')';
    position: absolute;
    left: 0;
}

.p-reception__check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 397px;
    height: 78px;
    background-color: #061742;
    border-radius: 4px;
    margin: 30px auto 0;
    font-size: 20px;
    line-height: 1.45;
    color: #fff;
}

.p-reception__check input {
    display: none;
}

.p-reception__check .--txt {
    position: relative;
    padding-left: 34px;
}
.p-reception__check .--txt::before {
    background-color: #b79745;
    content: '';
    height: 23px;
    left: 0;
    position: absolute;
    top: 3px;
    width: 23px;
    border-radius: 2px;
}
.p-reception__check .--txt::after {
    background: url('../img/check-box.svg') no-repeat center center/contain;
    content: '';
    height: 23px;
    left: 0;
    position: absolute;
    top: 3px;
    width: 23px;
    opacity: 0;
}

.p-reception__check input:checked + .--txt::after {
    opacity: 1;
}

.p-reception__check--caution {
    text-align: center;
    color: #fff;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 20px;
}

.p-reception__contents {
    padding-top: 60px;
    max-width: 900px;
    margin: 0 auto;
    display: none;
}

.p-reception__content {
    margin-top: 40px;
    overflow: hidden;
    border-radius: 5px;
    background-color: #fff;
    box-shadow: 15px 15px 50px 0px rgba(0, 0, 0, 0.03);
    position: relative;
}

.p-reception__content .--color {
    color: #1b892d;
}
.p-reception__content.--standard .--color {
    color: #213d83;
}
.p-reception__content.--expert .--color {
    color: #b79745;
}

.p-reception__content--bg {
    position: absolute;
    width: 100%;
    height: 158px;
    overflow: hidden;
    left: 0;
    top: 0;
    clip-path: polygon(100% 0, 100% calc(100% - 43px), 50% 100%, 0 calc(100% - 43px), 0 0);
    background: linear-gradient(180deg, #33B247 0%, #269938 100.28%);
}
.p-reception__content.--standard .p-reception__content--bg {
    background: linear-gradient(180deg, #16439E 0%, #0A214F 100.28%);
}
.p-reception__content.--expert .p-reception__content--bg {
    background: linear-gradient(180deg, #B79745 0%, #7F672B 100.28%);
}

.p-reception__content--bg img {
    position: absolute;
    width: 439px;
    left: 50%;
    transform: translate(-50%, 0px);
    top: -120px;
    opacity: .1;
}

.p-reception__content--upper {
    position: relative;
    z-index: 2;
    padding: 24px 20px 0;
    text-align: center;
    color: #fff;
}

.p-reception__content--upper h3 {
    text-shadow: 5px 5px 20px rgba(0, 0, 0, 0.31);
    font-size: 50px;
    font-weight: 800;
    line-height: 1.45;
}

.p-reception__content--upper p {
    text-shadow: 5px 5px 20px rgba(0, 0, 0, 0.31);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .05em;
    margin-top: -5px;
}

.p-reception__content--lower {
    position: relative;
    z-index: 2;
    padding: 50px 45px 30px;
}

.p-reception__content--caution01 {
    text-align: center;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .04em;
}

.p-reception__content--price {
    text-align: center;
    margin-top: 12px;
}

.p-reception__content--price .--large {
    font-size: 79px;
    font-weight: 700;
    line-height: 1;
}

.p-reception__content--price .--small {
    font-size: 49px;
    font-weight: 700;
    line-height: 1;
}

.p-reception__content--priceTax {
    margin-top: 15px;
    margin-bottom: 30px;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.54;
    letter-spacing: .05em;
    text-align: center;
}

.p-reception__content--lower .--row {
    padding: 30px 0;
    border-top: #acacac dashed 1px;
}

.p-reception__content--lower .--row .--logos {
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-reception__content--lower .--row .--logos figure {
    margin: 0 7px;
}
.p-reception__content--lower .--row .--logos figure.--visa {
    width: 66px;
}
.p-reception__content--lower .--row .--logos figure.--master {
    width: 64px;
}
.p-reception__content--lower .--row .--logos figure.--jcb {
    width: 62px;
}
.p-reception__content--lower .--row .--logos figure.--amex {
    width: 42px;
}
.p-reception__content--lower .--row .--logos figure.--diners {
    width: 58px;
}

.p-reception__content--btn {
    margin-top: 18px;
    cursor: pointer;
}
.p-reception__content--btn input[type=submit] {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 5;
    opacity: 0;
}
.p-reception__content--lower .--row:last-of-type .p-reception__content--btn {
    margin-top: 0;
}

.p-reception__content--caution {
    margin: 15px auto 0;
    max-width: 533px;
    font-feature-settings: 'palt' on, 'pwid' on;
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .04em;
    text-align: left;
}

.p-reception__content--caution a {
    text-decoration: underline;
}

@media screen and (max-width: 900px) {
    .p-reception {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    
    .p-reception .c-h2 {
        font-size: 25px;
        white-space: nowrap;
    }
    
    .p-reception__txt {
        margin-top: 20px;
        font-size: 12px;
        line-height: 1.65;
    }
    
    .p-reception__txt--select {
        margin-top: 25px;
        font-size: 18px;
        line-height: 1.45;
    }
    
    .p-reception__txt--select .--check {
        padding-left: 21px;
    }
    .p-reception__txt--select .--check::before {
        height: 15px;
        left: 3px;
        top: 7px;
        width: 15px;
    }
    .p-reception__txt--select .--check::after {
        height: 15px;
        left: 3px;
        top: 7px;
        width: 15px;
    }
    
    .p-reception__caution {
        margin-top: 10px;
        font-size: 10px;
        line-height: 1.65;
    }
    
    .p-reception__desc {
        padding: 20px 25px 20px 20px;
        margin: 10px auto 0;
        height: 90px;
    }
    .p-reception__desc.--01 {
        margin-top: 20px;
    }
    
    .p-reception__desc h4 {
        font-size: 16px;
        margin-bottom: 10px;
    }
    
    .p-reception__desc>div {
        font-size: 12px;
    }
    
    .p-reception__desc li {
        padding-left: 25px;
    }
    
    .p-reception__check {
        height: 62px;
        margin: 20px auto 0;
        font-size: 16px;
    }
    
    .p-reception__check .--txt {
        padding-left: 28px;
    }
    .p-reception__check .--txt::before {
        height: 18px;
        top: 3px;
        width: 18px;
    }
    .p-reception__check .--txt::after {
        height: 18px;
        top: 3px;
        width: 18px;
    }

    .p-reception__check--caution {
        font-size: 10px;
    }
    
    .p-reception__contents {
        padding-top: 20px;
    }
    
    .p-reception__content {
        margin-top: 20px;
    }
    
    .p-reception__content--bg {
        height: 102px;
        clip-path: polygon(100% 0, 100% calc(100% - 28px), 50% 100%, 0 calc(100% - 28px), 0 0);
    }
    
    .p-reception__content--bg img {
        width: 246px;
        top: -45px;
    }
    
    .p-reception__content--upper {
        padding: 15px 15px 0;
    }
    
    .p-reception__content--upper h3 {
        font-size: 28px;
    }
    
    .p-reception__content--upper p {
        font-size: 16px;
        margin-top: -2px;
    }
    
    .p-reception__content--lower {
        padding: 45px 15px 5px;
    }
    
    .p-reception__content--price {
        margin-top: 10px;
    }
    
    .p-reception__content--price .--large {
        font-size: 42px;
    }
    
    .p-reception__content--price .--small {
        font-size: 28px;
    }
    
    .p-reception__content--priceTax {
        margin-top: 9px;
        margin-bottom: 20px;
        font-size: 12px;
    }
    
    .p-reception__content--lower .--row {
        padding: 20px 0;
        border-top: #acacac dashed 1px;
    }
    
    .p-reception__content--lower .--row .--logos figure {
        margin: 0 5px;
    }
    .p-reception__content--lower .--row .--logos figure.--visa {
        width: 48px;
    }
    .p-reception__content--lower .--row .--logos figure.--master {
        width: 48px;
    }
    .p-reception__content--lower .--row .--logos figure.--jcb {
        width: 45px;
    }
    .p-reception__content--lower .--row .--logos figure.--amex {
        width: 30px;
    }
    .p-reception__content--lower .--row .--logos figure.--diners {
        width: 42px;
    }
    
    .p-reception__content--btn {
        margin-top: 15px;
    }
    
    .p-reception__content--caution {
        margin: 10px auto 0;
        padding: 0 5px;
    }
}

/*===========================================================================*/
/*  cta02  */
/*===========================================================================*/
.p-cta02 {
    padding-top: 96px;
    padding-bottom: 60px;
    background: url('../img/cta02-bg.webp') no-repeat center center/cover;
}

.p-cta02__subHead {
    text-align: center;
    margin-top: 40px;
}

.p-cta02__subHead .--bg {
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .02em;
    position: relative;
    z-index: 2;
    margin-right: 12px;
}
.p-cta02__subHead .--bg::before {
    border-radius: 3px;
    background-image: linear-gradient(to right, #F37335, #FDC830);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 30%;
    content: '';
    height: 100%;
    left: -7px;
    position: absolute;
    top: 1px;
    width: calc(100% + 14px);
    z-index: -1;
}

.p-cta02__subHead .--small {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .02em;
}

.p-cta02__head {
    margin-top: 18px;
    text-align: center;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .02em;
}

.p-cta02__head_sp {
    margin-top: 18px;
    text-align: center;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .02em;
}

.p-cta02__btns {
    text-align: center;
    max-width: 581px;
    margin: 55px auto 0;
}

.p-cta02__btns .p-cta__btns--head .--wrapper::before {
    background: url('../img/txt-left-black.svg') no-repeat center center/contain;
}
.p-cta02__btns .p-cta__btns--head .--wrapper::after {
    background: url('../img/txt-right-black.svg') no-repeat center center/contain;
}

.p-cta02__btns .c-cta__btn {
    color: #fff;
}
.p-cta02__btns .c-cta__btn::after {
    box-shadow: 10px 10px 15px 0px rgba(0, 0, 0, 0.17);
}

.p-cta02__caution {
    position: relative;
    z-index: 2;
    text-align: center;
    font-size: 12px;
    line-height: 1.65;
    margin-top: 10px;
}

@media screen and (max-width: 900px) {
    .p-cta02 {
        padding-top: 60px;
        padding-bottom: 60px;
        background: url('../img/cta02-bg-sp.webp') no-repeat center center/cover;
    }
    
    .p-cta02__subHead .--bg {
        font-size: 19px;
        margin-right: 0;
    }
    .p-cta02__subHead .--bg::before {
        border-radius: 3px;
        background-image: linear-gradient(to right, #F37335, #FDC830);
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 100% 30%;
        content: '';
        height: 100%;
        left: -7px;
        position: absolute;
        top: 1px;
        width: calc(100% + 14px);
        z-index: -1;
    }
    
    .p-cta02__subHead .--small {
        font-size: 16px;
        margin-top: 4px;
    }
    
    .p-cta02__head {
        margin-top: 10px;
        font-size: 22px;
        line-height: 1.5;
    }

    .p-cta02__head_sp {
        margin-top: 40px;
        font-size: 22px;
        line-height: 1.5;
    }
    
    .p-cta02__btns {
        text-align: center;
        margin: 35px auto 0;
    }
    
    .p-cta02__caution {
        margin-top: 15px;
    }
}

/*===========================================================================*/
/*  footer  */
/*===========================================================================*/
.p-footer {
    padding-top: 31px;
    padding-bottom: 36px;
}

.p-footer__inner {
    max-width: 880px;
    padding: 0 20px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.p-footer__head {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .02em;
    margin-bottom: 9px;
}

.p-footer__list {
    font-size: 13px;
    line-height: 1.45;
    letter-spacing: .05em;
    display: flex;
}

.p-footer__list li {
    margin-right: 18px;
}
.p-footer__list li:last-of-type {
    margin-right: 0;
}

.p-footer__list li a {
    text-decoration: underline;
}

.p-footer__copyRight {
    margin-top: 40px;
    padding-top: 20px;
    border-top: #dedede solid 1px;
    color: #a9a9a9;
    text-align: center;
    font-size: 12px;
    line-height: 1.65; 
}

@media screen and (max-width: 900px) {
    .p-footer {
        padding-top: 40px;
        padding-bottom: 25px;
    }
    
    .p-footer__inner {
        max-width: 295px;
        padding: 0;
        display: flex;
    }
    
    .p-footer__head {
        font-size: 12px;
        margin-bottom: 0;
    }
    
    .p-footer__list {
        font-size: 12px;
        display: block;
        padding-top: 3px;
    }
    
    .p-footer__list li {
        margin-right: 0;
        margin-top: 15px;
    }
}
