/*  ---------------------------------------
    共通パーツ
-------------------------------------------- */

body{
    font-family: "Noto Sans JP", "Inter", sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #000000;
}

img{
    width: 100%;
    height: auto;
    display: block;
}

a:hover{
    opacity: 0.7;
    transition: a .3s;
}

.sp-show{
    display: none;
}
@media(max-width: 768px) {
    .sp-show{
        display: block;
    }
    .sp-none{
        display: none;
    }
}
.tab-show{
    display: none;
}
@media(max-width: 1020px) {
    .tab-show{
    display: block;
    }
    .tab-none{
    display:none;
    }
}

.inner{
    max-width: 1260px;
    width: calc(100% - 60px);
    margin: 0 auto;
}
@media(max-width: 768px) {
    .inner{
        width: calc(100% - 40px);
    }
}
.inner02{
    max-width: 996px;
    width: calc(100% - 60px);
    margin: 0 auto;
}
@media(max-width: 768px) {
    .inner02{
        width: 90%;
    }
}
.bg--blue{
    color: #fff;
    background-color: #00518A;
}
.bg--orange{
    color: #fff;
    background-color: #ED8F1A;
}
.txt--orange{
    color: #ED8F1A;
}
.txt--blue{
    color: #00518A;
}
.txt--black{
    color: #000;
}
.btn--red{
    color: #fff;
    background-color: #EA1717;
}
.btn--green{
    color: #fff;
    background-color: #22CD3E;
}
.fw--medium{
    font-weight: 500;
}
.fw--black{
    font-weight: 900;
}

.section{
    padding-top: 100px;
    padding-bottom: 100px;
}
@media(max-width: 768px) {
    .section{
        padding-top: 80px;
        padding-bottom: 80px;
    }
}
.sectionTtl {
    text-align: center;
}
.sectionTtl__ja {
    font-size: 40px;
    line-height: 1.6;
    display: block;
    margin-top: -1.2em;
    white-space: nowrap;
}
@media(max-width: 768px) {
    .sectionTtl__ja{
        font-size: 32px;
    }
}
.sectionTtl__en {
    font-family: "Inter", sans-serif;
    font-size: 90px;
    color: #FFD49B;
}
@media(max-width: 768px) {
    .sectionTtl__en {
        font-size: 72px;
    }
}
.btnWrap{
    position: absolute;
    width: 100%;
    text-align: center;
}
.btn{
    position: relative;
    display: inline-block;
    padding: 24px;
    border-radius: 100px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    text-align: left;
    width: 30%;
    max-width: 320px;
}
.btn:first-child{
    margin-right: 40px;
}
.btn::after{
    content: "";
    background-image: url(../img/btn_arrow.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 7px;
    height: 13px;
    position: absolute;
    top: 40%;
    right: 40px;
}
.mail__btn{
    display: inline-block;
    width: 216px;
    text-align: center;
    padding: 19px;
    border-radius: 100px;
}


/*  ---------------------------------------
    header
-------------------------------------------- */
.header__inner{
    display: flex;
    align-items: center;
    position: fixed;
    width: 100%;
    height: 90px;
    z-index: 1000;
    transition: background-image .5s;
    background-color: #fff;
    padding:0 3%;
}
@media(max-width: 1020px) {
    .header__inner{
        height: 50px;
    }
}
.header__logo{
    margin-right: auto;
}
.header__logo__link img{
    width: 210px;
    max-width: 17vw;
}
    @media(max-width: 1020px) {
        .header__logo__link img{
            width: 93px;
            max-width:none;
        }
    }

.nav__list{
    display: flex;
    align-items: center;
    gap: 16px
}
.nav__link{
    white-space: nowrap;
}
.nav__item__btn:first-child{
    margin-right: 0px;
}
@media(max-width: 1124px) {
    .nav__link{
        font-size: 14px;
        gap: 10px
    }
}

@media(max-width: 1020px) {
    .js-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background-image: url(../img/bg_price-sp.jpg);
        background-size: contain;
        transition: right 0.5s ease;
        padding: 108px 40px 30px;
        text-align: left;
        border-top: solid 6px #ED8F1A;
        margin-top: 50px;
        z-index: 1000;
    }
    .js-nav.is-active {
        right: 0;
    }
    .nav__list{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        text-align: left;
        gap: 24px;
        width: 100px;
        margin: 0 auto;
    }
    .nav__link{
        font-size: 16px;
    }
    .nav__btnWrap{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        position: static;
        margin-top: 40px;
        gap: 16px;
    }
    .nav__item__btn{
        width: 295px;
        padding-left: 40px;
        font-size: 20px;
        text-align: left;
    }
}

/* ---------------------------------------
        hamburger
-------------------------------------------- */

.hamburger{
    position: fixed;
    z-index: 9999;
    top: 20px;
    right: 25px;
    width: 16px;
    height: 12px;
    cursor: pointer;
}
.hamburger span{
    position: absolute;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 2px;
    background-color: #000000;
}
.hamburger span:first-child{
    top: 0px;
}
.hamburger span:nth-child(2){
    top: 6px;
    transition: opacity 0.3s;
}
.hamburger span:nth-child(3){
    top: 12px;
}
.hamburger.is-active span{
    background-color: #000000;
}
.hamburger.is-active span:first-child{
    top: 5px;
    transform: rotate(-45deg);
}
.hamburger.is-active span:nth-child(2){
    opacity: 0;
}
.hamburger.is-active span:nth-child(3){
    top: 5px;
    transform: rotate(45deg);
}


/*  ---------------------------------------
    FV
-------------------------------------------- */
.fv{
    position: relative;
    width: 100%;
}
.fv__ttl{
    background-image: url(../img/bg_fv-pc.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.fv__img{
    display: block;
    width: 90%;
    max-width: 1310px;
    padding: 15% 0 10% 0;
    margin: 0 auto;
}
@media(max-width: 768px) {
    .fv__img{
        padding: 26% 0 10% 0;
    }
}
.fv__btnWrap{
    top: 81%;
    left: 50%;
    transform: translateX(-50%);
}

/* 追従ボタン */
@media screen and (max-width: 768px){
    .fixed__btnWrap {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 100;
        display: flex;
    }
    .fixed__btnWrap.is-active{
        display: none;
    }
    .fixed__btn{
        position: relative;
        display: block;
        width: 100%;
        margin: 0;
        padding: 1.6rem 1.8rem 1.6rem 1.6rem;
        text-decoration: none;
        font-size: 15px;
    }
    .fixed__btn:first-child{
        border-right: 2px solid #fff;
        padding: 1.6rem 1.8rem 1.6rem 1.1rem;
    }
    .fixed__btn::after{
        content: "";
        background-image: url(../img/btn_arrow.png);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 8px;
        height: 13px;
        position: absolute;
        top: 40%;
        right: 15px;
    }
}

/*  ---------------------------------------
    price
-------------------------------------------- */
.price{
    background: url(../img/bg_price-pc.jpg);
    background-size: 77%;
    background-repeat: repeat;
    background-position: top;
}
@media(max-width: 768px) {
.price{
    background: url(../img/bg_price-sp.jpg);
    background-size: 98%;
    background-repeat: repeat;
    background-position: top;
}
}
.price__inner{
    max-width: 996px;
    width: calc(100% - 60px);
    margin: 0 auto;
}
@media(max-width: 768px) {
    .price__inner{
        width: 90%;
    }
}
.priceTtl__note{
    font-weight: 400;
    text-align: center;
    margin-top: 20px;
}
.price__wrap{
    text-align: center;
    margin-top: 60px;
}
.price__contents{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
@media(max-width: 768px) {
    .price__contents{
        flex-direction: column;
        gap: 16px;
    }
}
.price__content {
    width: 48%;
    border-radius: 20px;
    border: solid 2px #000000;
    background-color: #fff;
    padding: 44px 33px;
}
@media(max-width: 768px) {
    .price__content{
        width: 100%;
        border-radius: 10px;
        padding: 40px;
    }
}

.priceContent__job {
    font-size: 20px;
    width: 90%;
    padding: 16px;
    margin: 0 auto;
    border-radius: 99px;
    color: #fff;
    background-color: #ED8F1A;
}
.priceContent__job--blue{
    color: #fff;
    background-color: #00518A;
}
@media(max-width: 768px) {
    .priceContent__job{
        font-size: 18px;
        width: 100%;
        max-width: 300px;
    }
}

.priceContent__price {
    font-family: "Inter", sans-serif;
    font-size: 60px;
    margin-top: 46px;
}
@media(max-width: 768px) {
    .priceContent__price{
        font-size: 40px;
        margin-top: 24px;
    }
}

.price__en {
    font-size: 50px;
}
@media(max-width: 768px) {
    .price__en {
        font-size: 32px;
    }
}

.price__txtWrap {
    margin: 0 auto;
    width: 100%;
    border-radius: 10px;
    border: solid 2px #000000;
    background-color: #fff;
    padding: 40px;
    margin-top: 25px;
}
@media(max-width: 768px) {
    .price__txtWrap{
        margin-top: 16px;
        line-height: 1.3;
        padding: 40px 0;
    }
}

.price__txt {
    font-size: 24px;
    margin-top: 16px;
}
.price__txt:first-child{
    margin-top: 0;
}

/*  ---------------------------------------
    cashback
-------------------------------------------- */

.cashback{
    position: relative;
    background-image: url(../img/bg_cashback-pc.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media(max-width: 768px) {
    .cashback{
        background-image: url(../img/bg_cashback-sp.jpg);
    }
}
.cashback::before{
    content: "";
    width: 25%;
    height: 100%;
    object-fit: contain;
    background-image: url(../img/cashback_img01.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -1px;
    left: 0px;
    z-index: 10;
}
.cashback::after{
    content: "";
    width: 25%;
    height: 100%;
    object-fit: contain;
    background-image: url(../img/cashback_img02.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -1px;
    right: 0px;
    z-index: 10;
}
@media(max-width: 768px) {
    .cashback::before,
    .cashback::after{
        width: 50%;
        height: 40%;
    }
}
.cashback__inner{
    padding: 6.5% 0 3.5% 0;
}
@media(max-width: 768px) {
    .cashback__inner{
        padding: 15% 0 40% 0;
    }
}
.cashback__txtWrap{
    color: #fff;
    text-align: center;
}

.cashback__ttl{
    font-size:  min(4vw,51px);
}
@media(max-width: 768px) {
    .cashback__ttl{
        font-size:  max(8vw,36px);
    }
}

.cashback__txt{
    line-height: 1.6;
    margin-top: 24px;
}
@media(max-width: 768px) {
    .cashback__txt{
        font-size:  max(4vw,16px);
    }
}

/*  ---------------------------------------
    about
-------------------------------------------- */

.about__txtWrap {
    text-align: center;
    line-height: 1.8;
    margin-top:32px;
}
@media(max-width: 768px) {
    .about__txtWrap{
        margin-top: 40px;
        text-align: left;
    }
}

.about__list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 108px;
    counter-reset: number 0;
}
@media(max-width: 768px) {
    .about__list{
        flex-direction: column;
        width: 83%;
        margin: 0 auto;
    }
}
.about__item {
    width: 30%;
    counter-increment: number 1;
}
@media(max-width: 768px) {
    .about__item {
        max-width: 400px;
        width: 90%;
        margin-top: 100px;
    }
}
.about__img {
    position: relative;
}
.about__img::before{
    content: "";
    width: 109px;
    height: 109px;
    border-radius: 50%;
    background-color: #FBE9D1;
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.about__img--beige::before{
    background-color: #F3E3CD;
}
.about__img::after{
    content: counter(number, decimal-leading-zero);
    font-family: 'Inter', sans-serif;
    font-size: 44px;
    color: #ED8F1A;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
}
.about_item__txtWrap {
    font-size: min(2.3vw, 1.3em);
    line-height: 1.7;
    text-align: center;
    margin-top: 32px;
}
@media(max-width: 768px) {
    .about_item__txtWrap{
        font-size: 24px;
    }
}
.about_item__txt {
    border-bottom: dotted 2px #AFAFAF;
    white-space: nowrap;
}

/*  ---------------------------------------
    hard
-------------------------------------------- */

.hard__bgBlue{
    position: relative;
    background-color: #00518A;
    padding-top: 88px;
    padding-bottom: 128px;
}
@media(max-width: 960px) {
    .hard__bgBlue{
        padding-top: 80px;
        padding-bottom: 40px;
    }
}
.hard__bgBlue::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #00518a transparent transparent transparent;
    border-width: 95px 232px 0px 232px;
    position: absolute;
    bottom: -95px;
    left: 50%;
    transform: translateX(-50%);
}
@media(max-width: 768px) {
    .hard__bgBlue::after{
        border-width: 53px 127px 0px 127px;
        bottom: -53px;
    }
}
.hard__ttl{
    font-size: min(5vw, 40px);
    color: #fff;
    text-align: center;
}
@media(max-width: 768px) {
    .hard__ttl{
        font-size: 32px;
        line-height: 1.6;
    }
}
.dot{
    background-image: radial-gradient(circle at center, #fff 20%, transparent 20%);
    background-position: top right;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    padding-top: .2em;
}
@media(max-width: 768px) {
    .dot{
        padding-top: .1em;
    }
}
.hard__listWrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 71px;
    column-gap: 15px;
}
@media(max-width: 960px) {
    .hard__listWrap{
        flex-direction: column;
        margin-top: 24px;
    }
}
.hard__list{
    flex-shrink: 0;
}
@media(max-width: 960px) {
    .hard__list{
        width: 65%;
        min-width: 335px;
    }
}
.hard__list:not(:first-child){
    margin-top: 24px;
}
.hard__item{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 30px;
    background-color: #fff;
    line-height: 1.3;
}
.hard__item:first-child{
    margin-bottom: 24px;
}
.check__icon{
    background-image: url(../img/check_icon.png);
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    width: 24px;
    height: 24px;
}
.hard__itemTxt{
    font-size: min(2vw, 22px);
}
@media(max-width: 768px) {
    .hard__itemTxt{
        font-size: 20px;
    }
}
.hard__img{
    width: 35%;
    max-width: 430px;
    margin: 0 auto;
    z-index: 10;
}
@media(max-width: 960px) {
    .hard__img{
        order: 3;
        margin-top: 24px;
        width: 80%;
        min-width: 300px;
    }
}
.hard__bgOrange{
    background-color: #ED8F1A;
    padding-top: 112px;
    padding-bottom: 224px;
}
@media(max-width: 768px) {
    .hard__bgOrange{
        padding-top: 76px;
        padding-bottom: 76px;
    }
}
.hard__txtWrap{
    position: relative;
    background-color: #fff;
    text-align: center;
    border:  solid 3px #000;
    border-radius: 23px;
    padding-top: 53px;
    padding-bottom: 53px;
}
@media(max-width: 768px) {
    .hard__txtWrap{
        padding-top: 40px;
        padding-bottom: 40px;
    }
}
.hard__txtWrap::after{
    content:"";
    width: 90%;
    height: 340px;
    background-image: url(../img/hard_img02.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 85%;
    left: 50%;
    transform: translateX(-50%);
}
@media(max-width: 768px) {
    .hard__txtWrap::after{
        top: 90%;
    }
}
@media(max-width: 500px) {
    .hard__txtWrap::after{
        top: 95%;
        width: 100%;
    }
}
.hard__txt{
    font-size: 2rem;
    line-height: 1.8;
}
@media(max-width: 768px) {
    .hard__txt{
        font-size: min(5.5vw, 30px);
    }
}

/*  ---------------------------------------
    reason
-------------------------------------------- */

.reason{
    background-color: #FFF5E8;
}
.reason__list{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 33px;
    margin-top: 60px;
}
@media(max-width: 960px) {
    .reason__list{
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}
.reason__item{
    background-color: #fff;
    padding-top: 40px;
    padding-bottom: 30px;
    border-radius: 20px;
}
@media(max-width: 768px) {
    .reason__item{
        padding-top: 24px;
        padding-bottom: 24px;
    }
}
@media(max-width: 768px) {
    .reason__item:last-child{
        grid-column: 1 / span 2;
    }
}
.reason__img{
    max-width: 185px;
    margin: 0 auto
}
@media(max-width: 768px) {
    .reason__img{
        max-width: 89px;
    }
}
.reason__txtWrap{
    text-align: center;
    line-height: 1.6;
}
.reason__itemTtl{
    font-size: 1.5em;
}
@media(max-width: 768px) {
    .reason__itemTtl{
        font-size: 1em;
    }
}
.reason__itemTxt{
    font-weight: 400;
}
@media(max-width: 768px) {
    .reason__itemTxt{
        font-size: 0.9em;
    }
}

/*  ---------------------------------------
    Flow
-------------------------------------------- */

.flow__contents{
    margin-top: 70px;
}
.flow__item{
    position: relative;
    display: flex;
    align-items: center;
    padding: 16px 48px;
    border-radius: 50px;
    justify-content: space-between;
}
@media(max-width: 768px) {
    .flow__item{
        max-width: 500px;
        margin: 0 auto;
        flex-direction: column;
        padding: 24px;
        border-radius: 20px;
    }
}
.flow__item:not(:first-child){
    margin-top: 43px;
}
.flow__item::after{
    content: '';
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 30px;
    border-style: solid;
}
.flow__item:last-child:after{
    border-color: transparent;
}
.flow__item--orange::after{
    border-color: #ED8F1A transparent transparent transparent;
}
.flow__item--blue::after{
    border-color: #00558c transparent transparent transparent;
}
.flow__item__num{
    font-family: 'Inter', sans-serif;
    font-size: min(4vw, 3em);
    margin-right: 40px;
    border-right: 2px solid white;
    padding-right: 36px;
}
@media(max-width: 768px) {
    .flow__item__num{
        font-size: 2.5em;
        padding-right: 24px;
        margin-right: 24px;
    }
}
.flow__item:first-child .flow__item__num {
    padding-right: 45px;
}
@media(max-width: 768px) {
    .flow__item:first-child .flow__item__num {
        padding-right: 24px;
    }
}

.flow_itemWrap{
    display: flex;
    align-items: center;
    flex-shrink: 0;

}
@media(max-width: 768px) {
    .flow_itemWrap{
        width: 100%;
    }
}
.flow_itemWrap02{
    width: 60%;
}
@media(max-width: 768px) {
    .flow_itemWrap02{
        justify-content: space-between;
        width: 100%;
    }
}
@media(max-width: 768px) {
    .flow_itemWrap02{
        margin-top: 16px;
    }
}
.flow__item__ttl {
    font-size: min(3vw, 2em);
    min-width: 7em;
}
@media(max-width: 768px) {
    .flow__item__ttl {
        font-size: 1.5em;
    }
}
.flow__item__txt {
    line-height: 1.8;
    padding-right: 10px;
}
@media(max-width: 768px) {
    .flow__item__txt {
        width: 70%;
        padding-right: 0px;
    }
}
.flow__item__img{
    width: 65px;
    height: 65px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    flex-shrink: 0;
}
.flow__item__img img{
    width: 45px;
}

/*  ---------------------------------------
    voice
-------------------------------------------- */

.voice{
    background-color: #FFF5E8;
}
.voice__wrap{
    margin-top: 106px;
}
.voice__list {
    display: flex;
    align-items: center;
    justify-content: space-around;
}
@media(max-width: 768px) {
    .voice__list {
        flex-direction: column;
        gap: 70px;
    }
}
.voice__item {
    position: relative;
    background-color: #fff;
    width: 30%;
    border-radius: 10px;
    padding: 65px 2.382% 5px;
}
@media(max-width: 768px) {
    .voice__item{
        width: 100%;
        max-width: 500px;
        padding-bottom: 32px;
    }
}
.voice__item::after{
    content: "";
    width: 91px;
    height: 91px;
    background-image: url(../img/voice_img01.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
}
.voice__item:nth-child(2):after{
    background-image: url(../img/voice_img02.png);
}
.voice__item:nth-child(3):after{
    background-image: url(../img/voice_img03.png);
}
.voice__post {
    text-align: center;
}
.voice__txt {
    margin-top: 19px;
    line-height: 1.6;
    min-height: 127px;
}
@media(max-width: 768px) {
    .voice__txt{
        min-height: 78px;
    }
}


/*  ---------------------------------------
    support
-------------------------------------------- */

.support {
    background-image: url(../img/bg_support-pc.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 100px 0 0 0;
}
@media(max-width: 768px) {
    .support{
        background-image: url(../img/bg_support-sp.jpg);
        padding: 80px 0 0 0;
    }
}
.support__ttl {
    text-align: center;
}
.support__en {
    display: block;
    font-size: min(8vw,90px);
    color: #fff;
    font-family: 'Inter', sans-serif;
    line-height: 1;
    margin-bottom: -13px;
}
@media(max-width: 768px) {
    .support__en{
        font-size: 56px;
        margin-bottom: -8px;
    }
}
.support__ja {
    display: block;
    font-size: min(4vw,50px);
    color: #fff;
    background-color: #ED8F1A;
    line-height: 1.6;
    padding: 10px 0;
    border-radius: 10px;
}
@media(max-width: 768px) {
    .support__ja{
        font-size: 32px;
    }
}
.support__introWrap{
    text-align: center;
}
@media(max-width: 768px) {
    .support__introWrap{
        margin-top: 16px;
    }
}
.support__intro {
    font-size: 28px;
    text-align: center;
    line-height: 1.8;
    padding-bottom: 5px;
    margin: 10px auto 0 auto;
    background: linear-gradient(transparent 92%, #000 0%);
    display: inline;
}
@media(max-width: 768px) {
    .support__intro{
        font-size: 20px;
    }
}
.support__wrap{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
@media(max-width: 768px) {
    .support__wrap{
        flex-direction: column;
        margin-top: 40px;
    }
}
.support__txtWrap {
    position: relative;
    width: 55%;
    background-color: #fff;
    padding: 68px 2% 78px 2%;
    border-radius: 20px;
    text-align: center;
    margin-top: 60px;
    margin-bottom: 62px;
    filter:drop-shadow(0px 4px 14px rgb(0 0 0 / 0.25));
}
@media(max-width: 768px) {
    .support__txtWrap{
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        padding: 32px;
    }
}
.support__txtWrap::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    border-width: 32px 0px 32px 55.43px;
    position: absolute;
    top: 25%;
    right: -40px;
    transform: rotate(15deg);
}
@media(max-width: 768px) {
    .support__txtWrap::after{
        transform: rotate(145deg);
        top: 91%;
        right: 60%;
        border-color: transparent transparent #fff transparent;
        border-width: 0px 32px 83px 32px
    }
}
.support__read {
    font-size: min(3vw,40px);
}
@media(max-width: 768px) {
    .support__read{
        font-size: 28px;
        line-height: 1.3;
    }
}
.support__txt {
    font-size: 20px;
    margin-top: 24px;
}
@media(max-width: 768px) {
    .support__txt {
        margin-top: 0px;
        line-height: 1.4;
        font-size: 16px;
    }
}
.support__txt--top{
    margin-top: 30px;
}
.support__txt:last-child {
    margin-top: 20px;
}
@media(max-width: 768px) {
    .support__txt:last-child {
        font-size: 20px;
    }
}
.support__txt--big {
    font-size: 32px;
}
.support__img{
    width: 49%;
    margin-left: -30px;
    z-index: 10;
}
@media(max-width: 768px) {
    .support__img{
        width: 100%;
        max-width: 400px;
        margin: 14px auto 0 auto;
    }
}


/*  ---------------------------------------
    faq
-------------------------------------------- */

.faq__wrap{
    margin-top: 70px;
}
@media(max-width: 768px) {
    .faq__wrap{
        margin-top: 40px;
    }
}
.faq__item{
    border-bottom: solid 3px #00518A;
    padding-bottom: 20px;
}
.faq__item:not(:first-child){
    margin-top: 40px;
}
.faq__item__q{
    position: relative;
    cursor: pointer;
    line-height: 1.6;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 30px;
}
@media(max-width: 768px) {
    .faq__item__q{
        font-size: 16px;
        padding-right: 10px;
    }
}
.faq__item__a{
    margin-top: 24px;
}
@media(max-width: 768px) {
    .faq__item__a{
        font-size: 14px;
        margin-top: 16px;
    }
}

.faq__item__btn{
    position: absolute;
    content: "";
    top: 50%;
    right: 21px;
    width: 20px;
    height: 3px;
    background-color: #00518A;
    border-radius: 10px;
}
.faq__item__btn::after{
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    right: 0px;
    width: 20px;
    height: 3px;
    background-color: #00518A;
    transform: rotate(90deg);
    transition: transform 0.3s;
    border-radius: 10px;
}
.faq__item__btn.open::after{
    transform: rotate(0deg);
    transition: transform 0.3s;
}
.faq__item__q__text{
    position: relative;
    line-height: 1.6;
    padding: 9px 0 9px 74px;
}
.faq__item__a__text{
    position: relative;
    line-height: 1.6;
    padding: 13px 0 13px 74px;
}
@media(max-width: 768px) {
    .faq__item__q__text{
        padding: 9px 30px 9px 66px;
    }
    .faq__item__a__text{
        padding: 13px 0 13px 66px;
    }
}
.faq__item__q__text::before,
.faq__item__a__text::before{
    font-size: 30px;
    font-weight: 500;
    font-family: 'Inter';
    color: #fff;
    border-radius:50%;
    width:50px;
    height:50px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.faq__item__q__text::before{
    content:'Q';
    background-color: #00518A;
}
.faq__item__a__text::before{
    content:'A';
    background-color: #ED8F1A;
}
.faq__item__a{
    display: none;
}


/*  ---------------------------------------
    future
-------------------------------------------- */

.future{
    background-color: #ED8F1A;
    padding: 78px 0 60px 0;
}
.future__inner{
    position: relative;
    background-image: url(../img/bg_future-pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 20px;
}
@media(max-width: 768px) {
    .future__inner{
        background-image: url(../img/bg_future-sp.jpg);
    }
}
.future__inner::after{
    content: "";
    width: 16%;
    height: 54%;
    object-fit: contain;
    background-image: url(../img/future_img01.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -7px;
    left: 38px;
    z-index: 10;
}
@media(max-width: 768px) {
    .future__inner::after{
        width: 35%;
        height: 23%;
        bottom: -4px;
        left: 29px;
    }
}
.future__inner::before{
    content: "";
    width: 18%;
    height: 58%;
    object-fit: contain;
    background-image: url(../img/future_img02.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -20px;
    right: 36px;
    z-index: 10;
}
@media(max-width: 768px) {
    .future__inner::before{
        width: 39%;
        height: 25%;
        bottom: -4px;
        right: 28px;
    }
}
.future__wrap{
    width: 80%;
    margin: 0 auto;
    text-align: center;
    padding: 130px 0 80px 0;
    line-height: 1.6;
}
@media(max-width: 768px) {
    .future__wrap{
        width: 100%;
        padding: 64px 0 200px 0;
    }
}
.future__ttl{
    line-height: 1.6;
    font-size: min(4vw,50px);
}
@media(max-width: 768px) {
    .future__ttl{
        font-size: max(7vw, 28px);
    }
}
.future__txtWrap{
    margin-top: 24px;
}
.future__txt{
    font-size: 20px;
}
@media(max-width: 768px) {
    .future__txt{
        font-size: max(4vw, 20px);
    }
}
.future__txt--medium {
    font-size: 26px;
}
@media(max-width: 768px) {
    .future__txt--medium {
        font-size: max(4.5vw, 24px);
    }
}
.future__txt--big {
    font-size: 32px;
}
@media(max-width: 768px) {
    .future__txt--big {
        font-size: max(4.5vw, 24px);
    }
}
.future__btnArea{
    margin-top: 24px;
}
@media(max-width: 768px) {
    .future__btnArea{
        margin-top: 30px;
    }
}
@media(max-width: 768px) {
    .future__btnTxt{
        font-size: max(3vw, 16px);
    }
}
.future__btnWrap{
    position: static;
    margin-top: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
@media(max-width: 768px) {
    .future__btnWrap{
        flex-direction: column;
    }
}
.future__btn{
    width: 35%;
}
@media(max-width: 768px) {
    .future__btn{
        width: 90%;
    }
}
.future__btn:first-child {
    margin-right: 0;
}


/*  ---------------------------------------
    company
-------------------------------------------- */

@media(max-width: 768px) {
    .company__sectionTtl__en{
        font-size: 64px;
    }
}
.company__wrap{
    margin: 30px 0 0 0;
}
@media(max-width: 768px) {
    .company__wrap{
        margin: 40px 0 0 0;
    }
}
.company__list {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    line-height: 1.5;
}
@media(max-width: 768px) {
    .company__list {
        flex-direction: column;
        align-items: flex-start;
    }
}
.company__item__name {
    width: 345px;
    border-bottom: 1px solid #000000;
    font-size: 20px;
    padding: 30px 0;
}
.company__item__name:first-child{
    padding: 0 0 30px 0;
}

@media(max-width: 768px) {
    .company__item__name {
        width: 100%;
        border-bottom: none;
        font-size: 20px;
        padding: 30px 0 0 0;
    }
    .company__item__name:first-child{
        padding: 30px 0 0 0 ;
    }
}
.company__item__info {
    width: calc(100% - 345px);
    border-bottom: 1px solid #000000;
    padding:30px 0;
}
.company__item__info:first-child{
    padding: 0 0 30px 0;
}
@media(max-width: 768px) {
    .company__item__info {
        width: 100%;
        border-bottom: 1px solid #000000;
        padding:30px 0;
    }
}


/*  ---------------------------------------
    footer
-------------------------------------------- */

.footer{
    border-top: solid 6px #ED8F1A;
}
.footer__inner{
    width: 100%;
    padding:0 3%;
    margin: 0 auto;
}

.footer__Wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 74px;
    gap: 16px;
}
@media(max-width: 900px) {
    .footer__Wrap{
        flex-direction: column;
        margin-top: 64px;
        gap: 0;
    }
}
.footer__logo{
    margin-right: auto;
    flex-shrink: 0;
}
@media(max-width: 900px) {
    .footer__logo{
        margin-right: 0;
    }
}
.footer__logo__link img{
    width: 210px;
}
.footer__navWrap{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 55px;
}
@media(max-width: 900px) {
    .footer__navWrap{
        flex-direction: column;
        gap: 0px;
    }
}
.footer__navList{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;

}
@media(max-width: 900px) {
    .footer__navList{
        justify-content: center;
        margin-top: 15px;
        max-width: 350px;
        padding: 0;
    }
}

.footer__lowerWrap{
    margin-top: 50px;
}
.footer__lowerList{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
}
@media(max-width: 900px) {
    .footer__lowerList{
        gap: 8px;
        justify-content: center;
    }
}
.footer__lowerItem{
    font-size: 14px;
}
@media(max-width: 900px) {
    .footer__lowerItem{
        font-size: 12px;
    }
}
.footer__navBtn {
    flex-shrink: 0;
    max-width: 100%;
}
@media(max-width: 900px) {
    .footer__navBtn{
        margin-top: 28px;
        margin-left: 0px;
    }
}
.footer__bottom{
    height: 56px;
    margin-top: 30px;
}
@media(max-width: 768px) {
    .footer__bottom{
        margin-bottom: 68px;
    }
}
.page__footer__bottom{
    margin-bottom: 0;
}
.footer__copyright{
    font-size:  12px;
    text-align: center;
    line-height: 56px;
}

/*  ---------------------------------------
    下層ページ共通
-------------------------------------------- */
.page{
    line-height: 1.6;
    padding-top: 90px;
    font-size: 16px;
}
@media(max-width: 768px) {
    .page{
        padding-top: 50px;
        font-size: 15px;
    }
}
.page__inner{
    width: calc(100% - 60px);
    max-width: 960px;
    margin: 0 auto;
}
@media(max-width: 768px) {
    .page__inner{
        width: calc(100% - 40px);
    }
}
.page__ttlWrap{
    height: 250px;
    background-color: #ED8F1A;
    padding: 32px 0;
}
@media(max-width: 768px) {
    .page__ttlWrap{
        height: 170px;
        padding: 24px 0;
    }
}
.page__ttl{
    width: 90%;
    max-width: 1020px;
    margin: 0 auto;
    text-align: center;
    font-size: 40px;
    background-color: #fff;
    border: solid 3px #000;
    border-radius: 23px;
    padding: 61px 0;
}
@media(max-width: 768px) {
    .page__ttl{
        font-size: 24px;
        padding: 40px 0;
    }
    #law .page__ttl{
        padding: 24px 0;
    }
}
.page__bread{
    font-size: 14px;
    font-weight: 400;
    text-align: left;
    margin-top: 16px;
}
.page__readWrap{
    margin-top: 50px;
}
@media(max-width: 768px) {
    .page__readWrap{
        margin-top: 30px;
    }
}
.page__readTtl {
    font-size: 24px;
    color: #ED8F1A;
}
@media(max-width: 768px) {
    .page__readTtl{
        font-size: 18px;
    }
}

.page__read {
    margin-top: 20px;
    font-weight: 500;
}
@media(max-width: 768px) {
    .page__read {
        margin-top: 16px;
    }
}


.page__contents {
    padding: 100px 0;
}
@media(max-width: 768px) {
    .page__contents {
        padding: 56px 0;
    }
}
.page__bread__arrow{
    margin: 0 10px;
}
.page__content {
    font-size: 28px;
    color: #ED8F1A;
    margin-top: 64px;
    margin-left: 35px;
    list-style-type:decimal;
}
@media(max-width: 768px) {
    .page__content{
        font-size: 20px;
        margin-top: 40px;
        margin-left: 35px;
    }
}
.page__content:first-child{
    margin-top: 0;
}
.page__content__text{
    color: #000;
    font-weight: 500;
    margin-top: 16px;
    font-size: 16px;
}
@media(max-width: 768px) {
    .page__content__text{
        font-size: 15px;
    }
}
.page__content__info{
    margin-top: 20px;
}
.page__content__notes{
    margin-top:10px;
    font-size: 0.8rem;
}

.page__content__ul {
    margin-top: 20px;
    list-style: none;
}

.page__content__li {
    list-style: disc;
    font-size: 16px;
    color: #000;
    font-weight: 500;
    margin-top: 2px;
    margin-left: 1.5rem;
}
@media(max-width: 768px) {
    .page__content__li{
        font-size: 15px;
    }
}

.list__num {
    margin-top: 20px;
    list-style: none;
    counter-reset: parent;
}

.item__num {
    position: relative;
    padding-left: 1rem;
    list-style: none;
    margin-left: 0;
    margin-top: 2px;
}
.item__num::before{
    counter-increment: parent;
    content: counter(parent) ". ";
    position: absolute;
    left: 0;
}

/*  ---------------------------------------
    agreement
-------------------------------------------- */

#agreement .page__contents {
    counter-reset: number 0;
}
#agreement .page__content{
    list-style: none;
    margin-left: 0px;
}
#agreement .page__content::before{
    counter-increment: number 1;
    content: "第"counter(number)"章";
    margin-right:5px;
}
/*  ---------------------------------------
    privacy
-------------------------------------------- */

#privacy .page__contents {
    counter-reset: privacy-number 0;
}
#privacy .page__content{
    list-style: none;
    margin-left: 0px;
}
#privacy .page__content::before{
    counter-increment: privacy-number 1;
    content: counter(privacy-number)".";
    margin-right:5px;
}

/*  ---------------------------------------
    law
-------------------------------------------- */

#law .page__contents {
    counter-reset: law-number 0;
}
#law .page__content{
    list-style: none;
    margin-left: 0px;
}
#law .page__content::before{
    counter-increment: law-number 1;
    content: counter(law-number)".";
    margin-right:5px;
}
