/*=================
menu (header)
==================*/
.menu {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFF;
    width: 100%;
    height: 80px;
    z-index: 99;
    transition: all 0.2s linear;
    opacity: 1;
}

.menu-active {
    border-bottom: 1px solid #0071BC;
}

.menu-fix {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 10px 40px;
    max-width: 1920px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    transition: all 0.2s linear;
    z-index: 98;
}



.logo-area {
    width: 150px;
}


.menu-topic {
    display: flex;
    flex-direction: row;
    width: auto;
}

.menu-topic-text-area {
    display: flex;
    flex-direction: row;
    padding: 17px 0 13px 30px;
    background-color: transparent;
    border-radius: 10px;
    width: auto;
    height: 100%;
    gap: 20px;
}

.menu-topic-text {
    text-align: center;
    line-height: 20px;
    font-size: 18px;
}

.menu-topic-text-line {
    background-color: #3E3A39;
    width: 1px;
    height: auto;
}

.menu-topic-m {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    margin: 2px 0 0 0;
    width: 34px;
    height: 34px;
    transition: all 0.2s linear;
}

.menu-btn {
    position: relative;
    display: flex;
    width: 34px;
    height: 24px;
}

.menu-btn-text {
    position: absolute;
    bottom: 0;
    background-size: 100%;
    background-repeat: no-repeat;
    width: 100%;
    height: 9px;
}

.menu-btn-text-active {
    background-image: url(../asset/img/menu-btn-txt.svg);
}

.menu-btn-text-close {
    background-image: url(../asset/img/menu-btn-txt-close.svg);
}

/*====.btn-trigger====*/
.btn-trigger {
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.btn-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #3E3A39;
    border-radius: 4px;
}

.btn-trigger,
.btn-trigger span {
    display: inline-block;
    transition: all 0.2s;
    box-sizing: border-box;
}

.btn-trigger span:nth-of-type(1) {
    top: 0;
}

.btn-trigger span:nth-of-type(2) {
    top: 40%;
}

.btn-trigger span:nth-of-type(3) {
    bottom: 0;
}

.menu-btn-text {
    color: #3E3A39;
    line-height: min(1.83vw, 11px);
    font-size: min(1.83vw, 11px);
    text-align: center;
}

.contact-touchable {
    pointer-events: auto;
}

.contact-untouchable {
    pointer-events: none;
}

/*========#btn01========*/
#btn01.active span:nth-of-type(1) {
    -webkit-transform: translateY(6px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
}

#btn01.active span:nth-of-type(2) {
    opacity: 0;
}

#btn01.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
}

/*========nav========*/
.menu-list-fix {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    height: 0;
    overflow: hidden;
    flex-direction: row;
    justify-content: center;
    align-items: start;
    max-width: 1920px;
    width: 100%;
    background-color: #ffffff;
    transition: all 0.2s linear;
    z-index: 97;
}

.menu-list-fix-active {
    height: 280px;
    display: flex;
}

.menu-list {
    display: flex;
    flex-direction: column;
    margin-top: 80px;
    gap: 16px;
}

.mobile-menu-under-line {
    background-color: #0071BC;
    width: 100%;
    margin-top: 4px;
    height: 2px;
    transform: scale(0, 1);
    transition: all 0.2s linear;
}

.mobile-menu-under-line-active {
    transform: scale(1, 1);
}

@media screen and (max-width: 1280px) {
    .menu {
        height: 70px;
    }

    .menu-fix {
        padding: 10px 30px;
    }

    .logo-area {
        width: 130px;
        height: auto;
    }

    .menu-topic-text-area {
        gap: 20px;
    }

    .menu-topic-text {
        line-height: 16px;
        font-size: 16px;
    }
}


@media screen and (max-width: 960px) {
    .menu {
        height: 60px;
    }

    .menu-fix {
        padding: 10px 30px;
    }


    .menu-topic-text-area {
        display: none;
    }

    .menu-trial-btn {
        margin: 0 20px 0 0;
        width: 22.92vw;
        min-width: 180px;
    }

    .menu-topic-m {
        display: flex;
    }

    .menu-topic-text-area-m {
        display: flex;
    }

    .menu-trial-btn:hover {
        transform: scale(1, 1);
    }

    .mobile-menu-area {
        display: flex;
    }

    .mobile-menu-list {
        width: 100%;
        gap: 0.417vw;
    }

    .menu-list {
        margin-top: calc(11.33vw + 20px);
    }
}

@media screen and (max-width: 600px) {
    .logo-area {
        width: clamp(90px, calc(40.00px + 13.3333vw), 120px);
        height: auto;
        margin: 0;
        margin-top: 4px;
    }

    .menu {
        height: 11.33vw;
    }

    .menu-fix {
        padding: 0 5%;
    }

    .menu-trial-btn {
        padding: 0 0 0.5vw 0;
        border-radius: 3vw;
        width: 30vw;
        height: 6vw;
        min-width: initial;
    }

    .menu-topic-m {
        width: 5.67vw;
        height: 4vw;
    }

    .menu-topic-text {
        text-align: center;
        line-height: 16px;
        font-size: 16px;
    }

    .menu-topic-text-area-m {
        top: 15vw;
        padding: 0 8.33vw 0.33vw 8.33vw;
        height: 8.33vw;
        gap: 13.33vw;
    }

    .menu-btn {
        width: 5.67vw;
        height: 5.67vw;
    }

    .menu-btn-text {
        height: 2vw;
    }

    .menu-text-sub,
    .menu-text-sub-m {
        font-size: 3.33vw;
    }

    /*====.btn-trigger====*/

    .btn-trigger span {
        height: 0.67vw;
        border-radius: 0.67vw;
    }

    /*========#btn01========*/
    #btn01.active span:nth-of-type(1) {
        -webkit-transform: translateY(1vw) rotate(-45deg);
        transform: translateY(1.67vw) rotate(-45deg);
    }

    #btn01.active span:nth-of-type(3) {
        -webkit-transform: translateY(-1.67vw) rotate(45deg);
        transform: translateY(-1.67vw) rotate(45deg);
    }

    /*========mobilemenu========*/
    .mobile-menu-area {
        top: 14.333vw;
        padding: 5vw 0 5vw 5vw;
        border-radius: 1.667vw 0 0 1.667vw;
        width: 120px;
        gap: 2vw;
        transform: translate(120px, 0);
    }

    .mobile-menu-list {
        gap: 0.667vw;
    }

    .mobile-menu-text {
        font-size: max(3.4vw, 14px);
    }

}

/*=================
#top
==================*/
.top {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 90px;
    width: 100%;
}

.top-contents-area {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-left: clamp(70px, calc(-80.00px + 10.4167vw), 120px);
    width: clamp(528px, calc(162.00px + 25.4167vw), 650px);
    height: auto;
}

.top01 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    width: fit-content;
    gap: clamp(18px, calc(-3.00px + 1.4583vw), 25px);
}

.top01-img-01 {
    margin-top: 4px;
    width: clamp(230px, calc(74.00px + 10.8333vw), 282px);
}

.top01-h1-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.top01-h1 {
    line-height: clamp(40px, calc(13.00px + 1.8750vw), 49px);
    font-size: clamp(40px, calc(13.00px + 1.8750vw), 49px);
}

.top01-text-lo {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

.top01-text-lo-left {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
}

.top01-text-num {
    line-height: clamp(120px, calc(60.00px + 4.1667vw), 140px);
    font-size: clamp(126px, calc(54.00px + 5.0000vw), 150px);
}

.top01-text-percent {
    margin-left: -8px;
    line-height: clamp(63px, calc(57.00px + 0.4167vw), 65px);
    font-size: clamp(50px, calc(5.00px + 3.1250vw), 65px);
}

.top01-mail-icon {
    width: clamp(80px, calc(26.00px + 3.7500vw), 98px);
}

.top01-text-def {
    margin-bottom: 5px;
    line-height: 47px;
    font-size: clamp(40px, calc(19.00px + 1.4583vw), 47px);
}

.top02 {
    margin-top: clamp(4px, calc(-14.00px + 1.2500vw), 10px);
    position: relative;
    display: flex;
}

.top02-img {
    position: absolute;
    top: clamp(-53px, calc(-2.708333vw - 1px), -40px);
    left: 50px;
    width: clamp(90px, calc(42.00px + 3.3333vw), 106px);
}

.top02-text-area {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0071BC;
    border-radius: 10px;
    width: clamp(528px, calc(162.00px + 25.4167vw), 650px);
    height: clamp(100px, calc(40.00px + 4.1667vw), 120px);
}

.top02-text {
    text-align: center;
    font-size: clamp(22px, calc(4.00px + 1.2500vw), 28px);
}

.top02-text-h {
    font-size: clamp(32px, calc(8.00px + 1.6667vw), 40px);
}

.top03 {
    position: relative;
    margin-top: clamp(20px, calc(-10.00px + 2.0833vw), 30px);
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.top03-text-box {
    position: relative;
    display: flex;
    flex-direction: row;
}

.top03-text {
    line-height: clamp(18px, calc(6.00px + 0.8333vw), 22px);
    font-size: clamp(18px, calc(6.00px + 0.8333vw), 22px);
    z-index: 2;
}

.top03-text-deco {
    position: absolute;
    left: 22px;
    bottom: -10px;
    background-color: #D5EEFF;
    height: 20px;
    z-index: 1;
}

.deco-fix-01 {
    width: clamp(440px, calc(140.00px + 20.8333vw), 540px);
}

.deco-fix-02 {
    width: clamp(500px, calc(158.00px + 23.7500vw), 614px);
}

.top03-text-deco-mobile {
    display: none;
    margin-right: 6px;
    background-color: #0071BC;
    width: 8px;
    height: auto;
}

.top03-img {
    position: absolute;
    top: clamp(-42px, calc(-4.8vw - 18px), -36px);
    ;
    right: 0;
    display: none;
    width: clamp(100px, calc(10.00px + 24.0000vw), 130px);
}

.top04 {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: clamp(40px, calc(-2.00px + 2.9167vw), 54px) 0;
    width: clamp(528px, calc(162.00px + 25.4167vw), 650px);
    gap: clamp(24px, calc(6.00px + 1.2500vw), 30px);
}

.medal-img {
    height: clamp(100px, calc(10.00px + 6.2500vw), 130px);
}

.top05 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px;
    padding-right: clamp(14px, calc(-4.00px + 1.2500vw), 20px);
    width: clamp(528px, calc(162.00px + 25.4167vw), 650px);
    height: clamp(90px, calc(60.00px + 2.0833vw), 100px);
    border-radius: 10px;
    background: #F98806;
    position: relative;
    overflow: hidden;
    transition: all 0.2s linear;
    z-index: 0;
}

.top05::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #F98806 0%, #EECE00 100%);
    border-radius: inherit;
    transform: translateX(0);
    transition: transform 0.2s linear;
    pointer-events: none;
    z-index: 0;
}

.top05:hover::before {
    transform: translateX(100%);
}

.top05>* {
    position: relative;
    z-index: 1;
}

.cta-btn-img {
    height: clamp(70px, calc(40.00px + 2.0833vw), 80px);
}

.cta-btn-text-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cta-btn-hi {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: clamp(6px, calc(-6.00px + 0.8333vw), 10px);
}

.cta-btn-hi-box {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #000000;
    width: clamp(100px, calc(10.00px + 6.2500vw), 130px);
    height: clamp(28px, calc(16.00px + 0.8333vw), 32px);
}

.cta-btn-text {
    padding-bottom: clamp(3px, calc(0.00px + 0.2083vw), 4px);
    line-height: clamp(28px, calc(16.00px + 0.8333vw), 32px);
    font-size: clamp(20px, calc(8.00px + 0.8333vw), 24px);
}

.cta-btn-text-sub {
    line-height: 20px;
    font-size: clamp(16px, calc(4.00px + 0.8333vw), 20px);
}

.cta-btn-text-notes {
    font-size: clamp(16px, calc(10.00px + 0.4167vw), 18px);
}

.cta-btn-delta {
    width: 17px;
}

@media (max-width: 1440px) {
    .top {
        margin-top: clamp(70px, calc(-90.00px + 12.5000vw), 90px);
    }

    .top-contents-area {
        width: clamp(440px, calc(-264.00px + 55.0000vw), 528px);
    }

    .top01 {
        gap: clamp(12px, calc(-36.00px + 3.7500vw), 18px);
    }

    .top01-img-01 {
        width: clamp(190px, calc(-130.00px + 25.0000vw), 230px);
    }

    .top01-h1 {
        line-height: clamp(34px, calc(-14.00px + 3.7500vw), 40px);
        font-size: clamp(34px, calc(-14.00px + 3.7500vw), 40px);
    }

    .top01-text-num {
        line-height: clamp(100px, calc(-60.00px + 12.5000vw), 120px);
        font-size: clamp(100px, calc(-108.00px + 16.2500vw), 126px);
    }

    .top01-text-percent {
        font-size: clamp(44px, calc(-4.00px + 3.7500vw), 50px);
    }

    .top01-mail-icon {
        width: clamp(68px, calc(-28.00px + 7.5000vw), 80px);
    }

    .top01-text-def {
        line-height: clamp(33px, calc(-79.00px + 8.7500vw), 47px);
        font-size: clamp(34px, calc(-14.00px + 3.7500vw), 40px);
        margin-bottom: 8px;
    }

    .top02-img {
        top: clamp(-36px, calc(-4.00px + -2.5000vw), -40px);
        left: clamp(40px, calc(-40.00px + 6.2500vw), 50px);
        width: clamp(76px, calc(-36.00px + 8.7500vw), 90px);
    }

    .top02-text-area {
        width: clamp(440px, calc(-264.00px + 55.0000vw), 528px);
        height: clamp(88px, calc(-8.00px + 7.5000vw), 100px);
    }

    .top02-text {
        font-size: clamp(20px, calc(4.00px + 1.2500vw), 22px);
    }

    .top02-text-h {
        font-size: clamp(28px, calc(-4.00px + 2.5000vw), 32px);
    }

    .top03 {
        margin-top: clamp(14px, calc(-34.00px + 3.7500vw), 20px);
        gap: clamp(14px, calc(-82.00px + 7.5000vw), 26px);
    }

    .top03-text {
        font-size: clamp(15px, calc(-9.00px + 1.8750vw), 18px);
    }

    .top03-text-deco {
        left: clamp(16px, calc(-32.00px + 3.7500vw), 22px);
        bottom: clamp(-6px, calc(26.00px + -2.5000vw), -10px);
        height: clamp(16px, calc(-16.00px + 2.5000vw), 20px);
    }

    .deco-fix-01 {
        width: clamp(362px, calc(-262.00px + 48.7500vw), 440px);
    }

    .deco-fix-02 {
        width: clamp(420px, calc(-220.00px + 50.0000vw), 500px);
    }

    .top04 {
        width: clamp(440px, calc(-264.00px + 55.0000vw), 528px);
        margin: clamp(30px, calc(-50.00px + 6.2500vw), 40px) 0;
    }

    .medal-img {
        height: clamp(90px, calc(10.00px + 6.2500vw), 100px);
    }

    .top05 {
        justify-content: space-evenly;
        width: clamp(440px, calc(-264.00px + 55.0000vw), 528px);
        height: clamp(70px, calc(-90.00px + 12.5000vw), 90px);
    }

    .cta-btn-img {
        display: none;
    }

    .cta-btn-text {
        font-size: clamp(19px, calc(11.00px + 0.6250vw), 20px);
    }

    .cta-btn-hi-box {
        width: clamp(90px, calc(10.00px + 6.2500vw), 100px);
        height: clamp(26px, calc(10.00px + 1.2500vw), 28px);
    }

    .cta-btn-text-sub {
        font-size: clamp(14px, calc(-2.00px + 1.2500vw), 16px);
    }

    .cta-btn-text-notes {
        font-size: clamp(14px, calc(-2.00px + 1.2500vw), 16px);
    }
}

@media (max-width: 1280px) {
    .top-contents-area {
        margin-left: clamp(30px, calc(-90.00px + 12.5000vw), 70px);
    }
}

@media (max-width: 960px) {
    .top {
        justify-content: center;
    }

    .top-contents-area {
        margin: 0;
    }
}

@media (max-width: 600px) {
    .top {
        padding: 0 5%;
        margin-top: 11.33vw;
    }

    .top-contents-area {
        max-width: 440px;
        width: 100%
    }

    .top02-text-area {
        width: 100%;
    }
}

@media (max-width: 500px) {
    .top01-img-01 {
        width: clamp(150px, calc(30.00px + 32.0000vw), 190px);
    }

    .top01-h1 {
        font-size: clamp(25px, calc(-2.00px + 7.2000vw), 34px);
    }

    .top01-text-num {
        line-height: clamp(68px, calc(-4.00px + 19.2000vw), 92px);
        font-size: clamp(76px, calc(-14.00px + 24.0000vw), 106px);
    }

    .top01-text-percent {
        line-height: clamp(38px, calc(14.00px + 6.4000vw), 46px);
        font-size: clamp(38px, calc(2.00px + 9.6000vw), 50px);
    }

    .top01-text-lo-right {
        display: flex;
        flex-direction: column;
    }

    .top01-mail-icon {
        width: clamp(50px, calc(-4.00px + 14.4000vw), 68px);
    }

    .top01-text-def {
        margin: 0;
        font-size: clamp(25px, calc(-2.00px + 7.2000vw), 34px);
    }

    .top02 {
        margin-top: clamp(4px, calc(-8.00px + 3.2000vw), 8px);
    }

    .top02-img {
        top: clamp(-36px, calc(-6.4vw - 4px), -28px);
        left: clamp(30px, calc(-27.69px + 15.3846vw), 40px);
        width: clamp(60px, calc(-32.31px + 24.6154vw), 76px);
    }

    .top02-text-area {
        height: clamp(70px, calc(16.00px + 14.4000vw), 88px);
    }

    .top02-text {
        font-size: clamp(16px, calc(4.00px + 3.2000vw), 20px);
    }

    .top02-text-h {
        font-size: clamp(22px, calc(4.00px + 4.8000vw), 28px);
    }

    .top03 {
        gap: clamp(10px, calc(-2.00px + 3.2000vw), 14px);
    }

    .top03-text {
        font-size: clamp(15px, calc(6.00px + 2.4000vw), 18px);
        line-height: normal;
        width: 72%;
    }

    .deco-fix-01,
    .deco-fix-02 {
        display: none;
    }

    .top03-text-deco-mobile {
        display: flex;
    }

    .top03-img {
        display: flex;
    }

    .top04 {
        width: 100%;
        gap: clamp(20px, calc(8.00px + 3.2000vw), 24px);
        margin: clamp(20px, calc(-10.00px + 8.0000vw), 30px) 0;
    }

    .medal-img {
        height: clamp(74px, calc(26.00px + 12.8000vw), 90px);
    }

    .top05 {
        width: 100%;
        padding: 10px;
        justify-content: space-around;
    }

    .cta-btn-text {
        font-size: clamp(16px, calc(7.00px + 2.4000vw), 19px);
    }

    .cta-btn-hi-box {
        width: clamp(80px, calc(50.00px + 8.0000vw), 90px);
    }
}




/* スライドエリア */
.top-img-area {
    position: relative;
    overflow: hidden;
    display: flex;
    margin-right: 40px;
    border-radius: 0 20px 20px 0;
    width: clamp(770px, calc(110.00px + 45.8333vw), 990px);
    height: clamp(700px, calc(280.00px + 29.1667vw), 840px);
}

.top-mobile-fix {
    position: relative;
    overflow: hidden;
    display: none;
    margin: 0;
    margin-bottom: 10px;
    border-radius: 12px;
    width: 440px;
    height: 300px;
}

.gura-white {
    position: absolute;
    top: 0;
    left: 0;
    background-image: linear-gradient(0deg, #ffffff, transparent 80%);
    border-radius: 12px 12px 0 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}



.dual-vert-slider {
    position: absolute;
    top: -230px;
    right: -292px;
    width: min(100%, calc(540px * 2 + 20px));
    margin: 0 auto;
}

.dual-vert-slider-inner {
    width: 100%;
    transform: rotate(-20deg);
    transform-origin: center;
}

.dual-vert-slider-columns {
    display: flex;
    width: 100%;
    gap: 20px;
}

.dual-vert-slider-column {
    width: calc((100% - 20px) / 2);
    height: calc(304px * 6 + 20px * 3);
    overflow: hidden;
}

.dual-vert-slider-track {
    display: flex;
    flex-direction: column;
    will-change: transform;
}

.dual-vert-slider-item {
    margin-bottom: 20px;
}

.dual-vert-slider-item img {
    display: block;
    width: 100%;
    height: auto;
}

.dual-vert-slider-column-up .dual-vert-slider-track.dual-vert-slider-animate {
    animation: dual-vert-slide-up 36s linear infinite;
}

.dual-vert-slider-column-down .dual-vert-slider-track.dual-vert-slider-animate {
    animation: dual-vert-slide-up 36s linear infinite reverse;
}

@keyframes dual-vert-slide-up {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-50%);
    }
}

@media (max-width: 1440px) {
    .top-img-area {
        margin-right: clamp(30px, calc(-50.00px + 6.2500vw), 40px);
        width: clamp(700px, calc(140.00px + 43.7500vw), 770px);
        height: clamp(540px, calc(-740.00px + 100.0000vw), 700px);
    }
}

@media (max-width: 1280px) {
    .dual-vert-slider {
        width: min(100%, calc(540px * 2 + 12px));
    }

    .dual-vert-slider-columns {
        gap: 12px;
    }

    .dual-vert-slider-column {
        height: calc(304px * 6 + 12px * 3);
    }

    .dual-vert-slider-item {
        margin-bottom: 12px;
    }
}

@media (max-width: 960px) {
    .top-img-area {
        display: none;
    }

    .top-mobile-fix {
        display: flex;
    }

    .dual-vert-slider {
        top: 0;
        right: 0;
    }

    .dual-vert-slider-inner {
        transform: rotate(0deg);
    }

    .dual-vert-slider-columns {
        justify-content: space-between;
    }

    .dual-vert-slider-column {
        width: calc((100% - 12px) / 2);
    }
}

@media (max-width: 600px) {
    .top-mobile-fix {
        width: 100%;
    }
}

@media (max-width: 500px) {
    .top-mobile-fix {
        height: clamp(200px, calc(-100.00px + 80.0000vw), 300px);
    }
}

/*=================
scroll icon
==================*/
.scroll-icon-m-area {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.scroll-icon-mo {
    display: none;
    justify-content: center;
    align-items: center;
    margin: 20px 0;
    width: 100%;
}

.scroll-icon-m-fix {
    position: relative;
    width: 19px;
    height: 40px;
}

.scroll-m-icon {
    background-image: url(../asset/img/scroll-icon-m.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 16px;
    height: 40px;
}

.scroll-m-icon-sub {
    position: absolute;
    top: 0px;
    left: -3px;
    background-image: url(../asset/img/scroll-icon-m-sub.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 7px;
    height: 7px;
    animation: slide-m 2s infinite;
}

@keyframes slide-m {
    0% {
        top: 0px;
    }

    50% {
        top: 40px;
    }

    100% {
        top: 0px;
    }
}

@media screen and (max-width:960px) {
    .scroll-icon-m-area {
        display: none;
    }

    .scroll-icon-mo {
        display: flex;
    }
}

/*=================
main-contents(all)
==================*/
.main-contents {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 150px 0;
    max-width: clamp(900px, calc(600.00px + 20.8333vw), 1000px);
    width: 100%;
    gap: 170px;
}

.all-headline-area {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
    width: 100%;
    gap: 20px;
}

.all-headline-line {
    background-color: #0071BC;
    flex-grow: 1;
    height: 1px;
}

.all-headline-text {
    font-size: clamp(24px, calc(6.00px + 1.2500vw), 30px);
    padding-bottom: 2px;
}

.each-contents-area {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.each-contents-header-area {
    position: relative;
    display: flex;
    width: 100%;
}

.each-contents-header-text {
    font-size: clamp(52px, calc(28.00px + 1.6667vw), 60px);
    z-index: 2;
}

.each-contents-header-img {
    position: absolute;
    top: 0;
    right: 0;
}

@media screen and (max-width:1440px) {
    .main-contents {
        max-width: clamp(750px, calc(-450.00px + 93.7500vw), 900px);
        gap: clamp(140px, calc(-100.00px + 18.7500vw), 170px);
    }

    .all-headline-text {
        font-size: clamp(22px, calc(6.00px + 1.2500vw), 24px);
    }

    .each-contents-header-text {
        font-size: clamp(44px, calc(-20.00px + 5.0000vw), 52px);
    }
}

@media screen and (max-width:960px) {
    .main-contents {
        max-width: 440px;
        padding: 60px 0;
        gap: 100px;
    }

    .all-headline-area {
        margin-bottom: 14px;
    }

    .all-headline-text {
        font-size: 18px;
    }

    .each-contents-header-text {
        font-size: 36px;
    }
}

@media screen and (max-width:500px) {
    .main-contents {
        padding: clamp(50px, calc(20.00px + 8.0000vw), 60px) 5%;
        max-width: 100%;
        width: 100%;
        gap: clamp(90px, calc(60.00px + 8.0000vw), 100px);
    }

    .all-headline-text {
        font-size: clamp(16px, calc(10.00px + 1.6000vw), 18px);
    }

    .each-contents-header-text {
        font-size: clamp(28px, calc(4.00px + 6.4000vw), 36px);
    }
}

/*=================
#issue
==================*/
.issue {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.issue-header-img {
    width: clamp(300px, calc(156.00px + 10.0000vw), 348px);
    z-index: 1;
}

.issue-02 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.issue-02-delta {
    margin-top: clamp(66px, calc(24.00px + 2.9167vw), 80px);
    margin-bottom: 10px;
    width: clamp(30px, calc(18.00px + 0.8333vw), 34px);
}

.issue-02-header {
    margin-bottom: 40px;
    font-size: clamp(26px, calc(14.00px + 0.8333vw), 30px);
}

.issue-02-item-area {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    gap: 36px;
}

.issue-02-item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #0071BC;
    border-radius: 16px;
    width: 48%;
    height: clamp(200px, calc(68.00px + 9.1667vw), 244px);
}

.issue-02-quotation {
    position: absolute;
    top: -20px;
    left: 10px;
    width: clamp(50px, calc(32.00px + 1.2500vw), 56px);
}

.issue-02-item-text {
    font-size: clamp(22px, calc(16.00px + 0.4167vw), 24px);
    line-height: clamp(40px, calc(28.00px + 0.8333vw), 44px);
    width: 80%;
}

.issue-03 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 66px;
    width: 100%;
}

.issue-03-left {
    display: flex;
    flex-direction: column;
    width: clamp(500px, calc(350.00px + 10.4167vw), 550px);
    gap: 40px;
}

.issue-03-text-sub {
    line-height: 44px;
    font-size: clamp(26px, calc(20.00px + 0.4167vw), 28px);
    width: 100%;
}

.issue-03-text-area {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.issue-03-text {
    font-size: clamp(44px, calc(38.00px + 0.4167vw), 46px);
    z-index: 2;
}

.issue-03-text-deco-area {
    position: relative;
    display: flex;
    width: 100%;
}

.issue-03-text-deco {
    position: absolute;
    left: 0;
    bottom: clamp(-8px, calc(-3.2vw + 8px), -4px);
    ;
    background-color: #D5EEFF;
    width: clamp(500px, calc(410.00px + 6.2500vw), 530px);
    height: clamp(36px, calc(30.00px + 0.4167vw), 38px);
    z-index: 1;
}

.issue-03-img {
    width: clamp(320px, calc(230.00px + 6.2500vw), 350px);
}

@media screen and (max-width:1440px) {
    .issue-header-img {
        width: clamp(250px, calc(-150.00px + 31.2500vw), 300px);
    }

    .issue-02-delta {
        margin-top: clamp(56px, calc(-24.00px + 6.2500vw), 66px);
        width: clamp(28px, calc(12.00px + 1.2500vw), 30px);
    }

    .issue-02-header {
        font-size: clamp(22px, calc(-10.00px + 2.5000vw), 26px);
    }

    .issue-02-item-area {
        gap: clamp(30px, calc(-18.00px + 3.7500vw), 36px);
    }

    .issue-02-item {
        height: clamp(180px, calc(20.00px + 12.5000vw), 200px);
    }

    .issue-02-quotation {
        top: clamp(-20px, calc(-3.75vw + 34px), -14px);
        ;
        left: clamp(10px, calc(-3.75vw + 64px), 16px);
        width: clamp(40px, calc(-40.00px + 6.2500vw), 50px);
    }

    .issue-02-item-text {
        line-height: clamp(32px, calc(-32.00px + 5.0000vw), 40px);
        font-size: clamp(18px, calc(-14.00px + 2.5000vw), 22px);
    }

    .issue-03 {
        margin-top: clamp(46px, calc(-114.00px + 12.5000vw), 66px);
    }

    .issue-03-left {
        width: clamp(420px, calc(-220.00px + 50.0000vw), 500px);
        gap: clamp(30px, calc(-50.00px + 6.2500vw), 40px);
    }

    .issue-03-text-sub {
        line-height: clamp(38px, calc(-10.00px + 3.7500vw), 44px);
        font-size: clamp(22px, calc(-10.00px + 2.5000vw), 26px);
    }

    .issue-03-text {
        font-size: clamp(36px, calc(-28.00px + 5.0000vw), 44px);
    }

    .issue-03-text-deco {
        width: clamp(410px, calc(-310.00px + 56.2500vw), 500px);
    }

    .issue-03-img {
        width: clamp(290px, calc(50.00px + 18.7500vw), 320px);
    }
}

@media screen and (max-width:960px) {
    .issue-header-img {
        top: 50px;
        width: 138px;
    }

    .issue-02-delta {
        margin-top: 24px;
        width: 20px;
    }

    .issue-02-header {
        margin-bottom: 30px;
        font-size: 20px;
        text-align: center;
    }

    .issue-02-item {
        width: 100%;
        height: 120px;
        border-radius: 12px;
    }

    .issue-02-quotation {
        width: 34px;
    }

    .issue-02-item-area {
        gap: 24px;
    }

    .issue-03 {
        justify-content: center;
        margin-top: 28px;
        width: 100%;
    }

    .issue-03-text-sub {
        line-height: 30px;
        font-size: 20px;
    }

    .issue-03-text {
        text-align: center;
        font-size: 34px;
        width: 100%;
    }

    .issue-03-text-deco-area {
        align-items: center;
    }

    .issue-03-text-deco {
        width: 100%;
    }

    .issue-03-img {
        display: none;
    }
}

@media screen and (max-width:500px) {
    .issue-header-img {
        width: clamp(108px, calc(18.00px + 24.0000vw), 138px);
    }

    .issue-02-delta {
        width: clamp(16px, calc(4.00px + 3.2000vw), 20px);
        margin-bottom: clamp(4px, calc(-14.00px + 4.8000vw), 10px);
    }

    .issue-02-header {
        font-size: clamp(18px, calc(12.00px + 1.6000vw), 20px);
        margin-bottom: clamp(20px, calc(-10.00px + 8.0000vw), 30px);
    }

    .issue-02-quotation {
        top: clamp(-20px, calc(-8vw + 20px), -10px);
        ;
        left: ;
        width: clamp(26px, calc(2.00px + 6.4000vw), 34px);
    }

    .issue-02-item-area {
        gap: clamp(18px, calc(0.00px + 4.8000vw), 24px);
    }

    .issue-02-item-text {
        line-height: normal;
        font-size: clamp(16px, calc(10.00px + 1.6000vw), 18px);
    }

    .issue-03 {
        margin-top: clamp(20px, calc(-4.00px + 6.4000vw), 28px);
    }

    .issue-03-left {
        gap: clamp(20px, calc(-10.00px + 8.0000vw), 30px);
    }

    .issue-03-text-sub {
        font-size: clamp(18px, calc(12.00px + 1.6000vw), 20px);
        line-height: clamp(28px, calc(22.00px + 1.6000vw), 30px);
    }

    .issue-03-text {
        font-size: clamp(29px, calc(14.00px + 4.0000vw), 34px);
    }

    .issue-03-text-deco {
        height: clamp(24px, calc(-12.00px + 9.6000vw), 36px);
    }
}

/*=================
#approach
==================*/
.approach {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.approach-header-img {
    width: clamp(500px, calc(302.00px + 13.7500vw), 566px);
    z-index: 1;
}

.approach-02 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: clamp(100px, calc(58.00px + 2.9167vw), 114px);
    width: 100%;
}

.approach-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: clamp(110px, calc(80.00px + 2.0833vw), 120px);
    border: 1px solid #0071BC;
    border-radius: 16px;
    width: 31%;
    height: clamp(470px, calc(230.00px + 16.6667vw), 550px);
    gap: clamp(24px, calc(6.00px + 1.2500vw), 30px);
}

.approach-item-huki {
    position: absolute;
    top: -42px;
    left: auto;
    right: auto;
    width: clamp(190px, calc(121.00px + 4.7917vw), 213px);
}

.approach-item-header {
    text-align: center;
    font-size: clamp(22px, calc(10.00px + 0.8333vw), 26px);
    width: 80%;
}

.approach-item-text {
    line-height: clamp(30px, calc(12.00px + 1.2500vw), 36px);
    font-size: clamp(20px, calc(14.00px + 0.4167vw), 22px);
    width: 80%;
}

@media screen and (max-width:1440px) {
    .approach-header-img {
        width: clamp(430px, calc(-130.00px + 43.7500vw), 500px);
    }

    .approach-02 {
        margin-top: clamp(86px, calc(-26.00px + 8.7500vw), 100px);
    }

    .approach-item {
        padding-top: clamp(90px, calc(-70.00px + 12.5000vw), 110px);
        gap: clamp(20px, calc(-12.00px + 2.5000vw), 24px);
        height: clamp(400px, calc(-160.00px + 43.7500vw), 470px);
    }

    .approach-item-huki {
        width: clamp(170px, calc(10.00px + 12.5000vw), 190px);
    }

    .approach-item-header {
        font-size: clamp(19px, calc(-5.00px + 1.8750vw), 22px);
    }

    .approach-item-text {
        font-size: clamp(16px, calc(-16.00px + 2.5000vw), 20px);
        line-height: clamp(26px, calc(-6.00px + 2.5000vw), 30px);
    }
}

@media screen and (max-width:960px) {
    .approach-header-img {
        width: 300px;
    }

    .approach-02 {
        flex-direction: column;
        margin-top: 70px;
        gap: 60px;
    }

    .approach-item {
        width: 100%;
        height: 270px;
    }

    .approach-item-text {
        width: 86%;
    }
}

@media screen and (max-width:500px) {
    .approach-header-img {
        width: clamp(200px, calc(-100.00px + 80.0000vw), 300px);
    }

    .approach-item {
        padding-top: clamp(70px, calc(10.00px + 16.0000vw), 90px);
        gap: clamp(14px, calc(-4.00px + 4.8000vw), 20px);
    }

    .approach-item-huki {
        width: clamp(160px, calc(130.00px + 8.0000vw), 170px);
    }
}

/*=================
#intro
==================*/
.intro {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.intro-header-img {
    width: clamp(350px, calc(230.00px + 8.3333vw), 390px);
    z-index: 1;
}

.intro-02 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: clamp(56px, calc(26.00px + 2.0833vw), 66px);
    width: 100%;
}

.intro-02-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #0071BC;
    border-radius: 16px;
    width: 31%;
    aspect-ratio: 1 / 1;
}

.intro-02-item-header-area {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 74px;
}

.intro-02-item-header {
    text-align: center;
    font-size: clamp(24px, calc(18.00px + 0.4167vw), 26px);
}

.intro-02-item-text-area {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
}

.intro-02-item-text {
    line-height: clamp(100px, calc(70.00px + 2.0833vw), 110px);
    font-size: clamp(90px, calc(60.00px + 2.0833vw), 100px);
}

.intro-02-item-text-sub {
    font-size: clamp(46px, calc(34.00px + 0.8333vw), 50px);
}

.intro-03 {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 5%;
    margin-top: clamp(70px, calc(40.00px + 2.0833vw), 80px);
    width: 100%;
    gap: clamp(46px, calc(34.00px + 0.8333vw), 50px);
}

.intro-03-header-areae {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #0071BC;
    border-radius: 25px;
    width: 100%;
    height: clamp(44px, calc(26.00px + 1.2500vw), 50px);
}

.intro-03-header {
    font-size: clamp(20px, calc(14.00px + 0.4167vw), 22px);
    padding-bottom: 2px;
}

.intro-03-item-area {
    display: flex;
    flex-direction: column;
    gap: clamp(46px, calc(34.00px + 0.8333vw), 50px);
}

.intro-03-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.intro-03-item-imgbox {
    display: flex;
    justify-content: center;
    align-items: center;
    width: clamp(290px, calc(170.00px + 8.3333vw), 330px);
    height: clamp(270px, calc(210.00px + 4.1667vw), 290px);
}

.intro-03-item-img {
    width: 100%;
}

.intro-03-item-img-02 {
    height: 100%;
}

.intro-03-item-text-area {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.intro-03-item-delta {
    width: clamp(30px, calc(0.00px + 2.0833vw), 40px);
}

.intro-03-item-text-frame {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid #0071BC;
    border-radius: 16px;
    width: clamp(450px, calc(360.00px + 6.2500vw), 480px);
    height: clamp(270px, calc(210.00px + 4.1667vw), 290px);
    gap: 18px;
}

.in-03-it-img-mobile {
    display: none;
    position: absolute;
    top: -10px;
    left: 16px;
    width: 150px;
}

.in-03-it-img-mobile-02 {
    display: none;
    position: absolute;
    top: -10px;
    left: 46px;
    width: 110px;
}

.intro-03-item-header-text {
    text-align: center;
    font-size: clamp(24px, calc(18.00px + 0.4167vw), 26px);
    width: 80%;
}

.intro-03-item-header-text-sub {
    font-size: clamp(20px, calc(14.00px + 0.4167vw), 22px);
}

.intro-03-item-line {
    background-color: #0071BC;
    width: 80%;
    height: 1px;
}

.intro-03-item-text {
    width: 80%;
    font-size: clamp(20px, calc(14.00px + 0.4167vw), 22px);
}

@media screen and (max-width:1440px) {
    .intro-header-img {
        width: clamp(290px, calc(-190.00px + 37.5000vw), 350px);
    }

    .intro-02 {
        margin-top: clamp(50px, calc(2.00px + 3.7500vw), 56px);
    }

    .intro-02-item-header-area {
        height: clamp(60px, calc(-52.00px + 8.7500vw), 74px);
    }

    .intro-02-item-header {
        font-size: clamp(21px, calc(-3.00px + 1.8750vw), 24px);
    }

    .intro-02-item-text {
        font-size: clamp(80px, calc(0.00px + 6.2500vw), 90px);
        line-height: clamp(80px, calc(-80.00px + 12.5000vw), 100px);
    }

    .intro-02-item-text-sub {
        font-size: clamp(40px, calc(-8.00px + 3.7500vw), 46px);
        line-height: 40px;
    }

    .intro-03 {
        margin-top: clamp(60px, calc(-20.00px + 6.2500vw), 70px);
        gap: clamp(36px, calc(-44.00px + 6.2500vw), 46px);
    }

    .intro-03-header-areae {
        height: clamp(38px, calc(-10.00px + 3.7500vw), 44px);
    }

    .intro-03-header {
        font-size: clamp(18px, calc(2.00px + 1.2500vw), 20px);
    }

    .intro-03-item-imgbox {
        width: clamp(240px, calc(-160.00px + 31.2500vw), 290px);
        height: clamp(240px, calc(0.00px + 18.7500vw), 270px);
    }

    .intro-03-item-delta {
        width: clamp(26px, calc(-6.00px + 2.5000vw), 30px);
    }

    .intro-03-item-text-frame {
        width: clamp(380px, calc(-180.00px + 43.7500vw), 450px);
        height: clamp(240px, calc(0.00px + 18.7500vw), 270px);
    }

    .intro-03-item-header-text {
        font-size: clamp(20px, calc(-12.00px + 2.5000vw), 24px);
    }

    .intro-03-item-header-text-sub {
        font-size: clamp(18px, calc(2.00px + 1.2500vw), 20px);
    }

    .intro-03-item-text {
        font-size: clamp(16px, calc(-16.00px + 2.5000vw), 20px);
    }
}

@media screen and (max-width:960px) {
    .intro-header-img {
        width: 164px;
    }

    .intro-02 {
        margin-top: 30px;
    }

    .intro-02-item-header-area {
        height: 46px;
    }

    .intro-02-item-header {
        font-size: 16px;
        line-height: 20px;
    }

    .intro-02-item-text {
        font-size: 54px;
        line-height: 50px;
    }

    .intro-02-item-text-sub {
        font-size: 27px;
        line-height: 27px;
    }

    .intro-03 {
        margin-top: 50px;
        gap: 20px;
        padding: 0;
    }

    .intro-03-item-area {
        width: 100%;
        gap: 20px;
    }

    .intro-03-item-imgbox {
        display: none;
    }

    .intro-03-item-delta {
        display: none;
    }

    .intro-03-item-text-frame {
        width: 100%;
        gap: 14px;
        height: 220px;
    }

    .intro-03-item-header-text {
        text-align: end;
        font-size: 18px;
        width: 86%;
    }

    .intro-03-item-header-text-sub {
        font-size: 16px;
    }

    .intro-03-item-line {
        width: 86%;
    }

    .intro-03-item-text {
        width: 86%;
    }

    .in-03-it-img-mobile,
    .in-03-it-img-mobile-02 {
        display: flex;
    }
}

@media screen and (max-width:500px) {
    .intro-header-img {
        width: clamp(124px, calc(4.00px + 32.0000vw), 164px);
    }

    .intro-02 {
        margin-top: 20px;
        flex-direction: column;
        gap: 10px;
    }

    .intro-02-item {
        width: 100%;
        aspect-ratio: unset;
        flex-direction: row;
        padding-bottom: 4px;
        height: 90px;
        gap: 16px;
    }

    .intro-02-item-header-area {
        justify-content: flex-end;
    }

    .intro-02-item-text-area {
        justify-content: flex-start;
    }

    .i02ih-03 {
        text-align: end;
    }

    .intro-03-header-areae {
        height: clamp(34px, calc(22.00px + 3.2000vw), 38px);
    }

    .intro-03-header {
        font-size: clamp(16px, calc(10.00px + 1.6000vw), 18px);
    }

    .intro-03-item-header-text {
        font-size: clamp(16px, calc(10.00px + 1.6000vw), 18px);
    }

    .in-03-it-img-mobile {
        width: clamp(110px, calc(-10.00px + 32.0000vw), 150px);
        top: clamp(-16px, calc(-9.6vw + 32px), -4px);
        ;
        left: clamp(6px, calc(-24.00px + 8.0000vw), 16px);
    }

    .in-03-it-img-mobile-02 {
        width: clamp(80px, calc(-10.00px + 24.0000vw), 110px);
        left: clamp(12px, calc(-90.00px + 27.2000vw), 46px);
    }
}

/*=================
#plan
==================*/
.plan {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.plan-fix {
    flex-direction: column;
}

.plan-contents-header-text {
    font-size: clamp(34px, calc(28.00px + 0.4167vw), 36px);
    line-height: clamp(58px, calc(52.00px + 0.4167vw), 60px);
    width: 530px;
}

.plan-contents-text {
    margin-top: clamp(34px, calc(16.00px + 1.2500vw), 40px);
    font-size: clamp(22px, calc(16.00px + 0.4167vw), 24px);
    line-height: clamp(38px, calc(32.00px + 0.4167vw), 40px);
    width: 500px;
}

.plan-header-img {
    width: clamp(302px, calc(164.00px + 9.5833vw), 348px);
    margin-right: 16px;
}

.plan-02 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
}

.plan-02-item {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-top: clamp(100px, calc(70.00px + 2.0833vw), 110px);
    width: 48%;
}

.pl-02-it-01-he-deco {
    position: absolute;
    top: -70px;
    right: 0;
    width: 140px;
}

.plan-02-item-ab {
    position: absolute;
    top: -44px;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #0071BC;
    border-radius: 50%;
    width: clamp(150px, calc(138.00px + 0.8333vw), 154px);
    aspect-ratio: 1 / 1;
    gap: 4px;
}

.plan-02-item-ab-text-sub {
    font-size: clamp(20px, calc(14.00px + 0.4167vw), 22px);
}

.plan-02-item-ab-text-area {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
}

.plan-02-item-ab-text-min {
    line-height: clamp(24px, calc(18.00px + 0.4167vw), 26px);
    font-size: clamp(24px, calc(18.00px + 0.4167vw), 26px);
}

.plan-02-item-ab-text {
    line-height: clamp(30px, calc(24.00px + 0.4167vw), 32px);
    font-size: clamp(34px, calc(28.00px + 0.4167vw), 36px);
}

.plan-02-item-out-text {
    text-align: end;
    font-size: clamp(20px, calc(14.00px + 0.4167vw), 22px);
    margin-bottom: 4px;
}

.plan-02-item-frame {
    display: flex;
    flex-direction: column;
    padding: 0 8%;
    padding-top: clamp(100px, calc(82.00px + 1.2500vw), 106px);
    padding-bottom: 30px;
    border: 1px solid #0071BC;
    border-radius: 12px;
    width: 100%;
    height: 700px;
    gap: 50px;
}

.plan-02-item-contents {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.plan-02-item-01-header-area {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    background-color: #000000;
    border-radius: 20px;
    padding: 4px 0 6px 0;
    width: 100%;
    height: 40px;
}

.plan-02-item-01-header {
    font-size: clamp(18px, calc(12.00px + 0.4167vw), 20px);
}

.plan-02-item-01-header-fix {
    text-align: center;
    width: clamp(194px, calc(134.00px + 4.1667vw), 214px);
}

.plan-02-item-contents-line {
    background-color: #ffffff;
    width: 1px;
    height: 100%;
}

.plan-02-item-02 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 24px;
    margin-bottom: 18px;
    width: 100%;
    gap: 8px;
}

.plan-02-item-02-header-frame {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #0071BC;
    width: 214px;
    height: 36px;
}

.plan-02-item-02-header {
    font-size: 20px;
    padding-bottom: 2px;
}

.plan-02-item-02-num-area {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.plan-02-item-02-num {
    padding-bottom: 8px;
    line-height: 50px;
    font-size: 40px;
}

.plan-02-item-02-num-sub {
    font-size: 20px;
}

.plan-02-item-02-num-tax {
    line-height: 16px;
    font-size: 16px;
}

.plan-02-item-03 {
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid #0071BC;
    border-bottom: 1px solid #0071BC;
    padding: 12px 0;
    padding-bottom: 14px;
    width: 100%;
}

.plan-02-item-03-text {
    font-size: clamp(20px, calc(14.00px + 0.4167vw), 22px);
}

.plan-03 {
    display: flex;
    flex-direction: column;
    margin-top: 16px;
    width: 100%;
    gap: 12px;
}

.plan-03-text {
    font-size: 18px;
    line-height: 24px;
}

@media screen and (max-width:1440px) {
    .plan-contents-header-text {
        font-size: clamp(30px, calc(-2.00px + 2.5000vw), 34px);
        line-height: clamp(50px, calc(-14.00px + 5.0000vw), 58px);
    }

    .plan-contents-text {
        font-size: clamp(20px, calc(4.00px + 1.2500vw), 22px);
        line-height: clamp(32px, calc(16.00px + 1.2500vw), 34px);
        width: clamp(420px, calc(-220.00px + 50.0000vw), 500px);
        margin-top: clamp(30px, calc(-2.00px + 2.5000vw), 34px);
    }

    .plan-header-img {
        width: clamp(280px, calc(104.00px + 13.7500vw), 302px);
        margin: 0;
    }

    .plan-02-item {
        margin-top: clamp(80px, calc(-80.00px + 12.5000vw), 100px);
    }

    .plan-02-item-ab {
        width: clamp(130px, calc(-30.00px + 12.5000vw), 150px);
        top: clamp(-44px, calc(-5vw + 28px), -36px);
        gap: clamp(4px, calc(-3.75vw + 58px), 10px);
    }

    .plan-02-item-ab-text-sub {
        font-size: clamp(18px, calc(2.00px + 1.2500vw), 20px);
        line-height: clamp(18px, calc(2.00px + 1.2500vw), 20px);
    }

    .plan-02-item-ab-text-min {
        font-size: clamp(20px, calc(-12.00px + 2.5000vw), 24px);
        line-height: clamp(20px, calc(-12.00px + 2.5000vw), 24px);
    }

    .plan-02-item-ab-text {
        font-size: clamp(28px, calc(-20.00px + 3.7500vw), 34px);
        line-height: clamp(26px, calc(-6.00px + 2.5000vw), 30px);
    }

    .plan-02-item-out-text {
        font-size: clamp(18px, calc(2.00px + 1.2500vw), 20px);
    }

    .plan-02-item-02-header-frame {
        width: clamp(196px, calc(52.00px + 11.2500vw), 214px);
    }

    .plan-02-item-02-header {
        font-size: clamp(18px, calc(2.00px + 1.2500vw), 20px);
        padding-bottom: 2px;
    }

    .plan-02-item-02-num {
        font-size: clamp(36px, calc(4.00px + 2.5000vw), 40px);
        line-height: clamp(44px, calc(-4.00px + 3.7500vw), 50px);
    }

    .plan-02-item-02-num-tax {
        font-size: clamp(14px, calc(-2.00px + 1.2500vw), 16px);
    }

    .plan-02-item-02-num-sub {
        font-size: clamp(18px, calc(2.00px + 1.2500vw), 20px);
    }

    .plan-02-item-03-text {
        font-size: clamp(17px, calc(-7.00px + 1.8750vw), 20px);
    }

    .plan-03 {
        gap: clamp(10px, calc(-6.00px + 1.2500vw), 12px);
        margin-top: clamp(14px, calc(-2.00px + 1.2500vw), 16px);
    }

    .plan-03-text {
        font-size: clamp(16px, calc(0.00px + 1.2500vw), 18px);
        line-height: clamp(22px, calc(6.00px + 1.2500vw), 24px);
    }

    .plan-02-item-frame {
        height: clamp(670px, calc(430.00px + 18.7500vw), 700px);
        gap: clamp(40px, calc(-40.00px + 6.2500vw), 50px);
    }
}

@media screen and (max-width:960px) {
    .plan-contents-header-text {
        width: 100%;
        font-size: 23px;
        line-height: 38px;
    }

    .plan-contents-text {
        font-size: 18px;
        line-height: 28px;
        margin-top: 18px;
        width: 100%;
    }

    .plan-header-img {
        width: 120px;
    }

    .plan-02 {
        flex-direction: column;
    }

    .plan-02-item {
        margin-top: 60px;
        width: 100%;
    }

    .plan-02-item-frame {
        height: 650px;
    }
}

@media screen and (max-width:500px) {
    .plan-contents-header-text {
        font-size: clamp(19px, calc(7.00px + 3.2000vw), 23px);
        line-height: clamp(32px, calc(14.00px + 4.8000vw), 38px);
        font-feature-settings: "palt";
    }

    .plan-contents-text {
        font-size: clamp(16px, calc(10.00px + 1.6000vw), 18px);
        line-height: clamp(24px, calc(12.00px + 3.2000vw), 28px);
        margin-top: clamp(10px, calc(-14.00px + 6.4000vw), 18px);
    }

    .plan-header-img {
        width: clamp(90px, calc(0.00px + 24.0000vw), 120px);
    }

    .plan-02-item {
        margin-top: clamp(40px, calc(-20.00px + 16.0000vw), 60px);
    }

    .plan-02-item-ab {
        width: clamp(116px, calc(74.00px + 11.2000vw), 130px);
        top: clamp(-44px, calc(-9.142857vw + 6.285714px), -28px);
    }

    .plan-02-item-01-header {
        font-size: clamp(16px, calc(10.00px + 1.6000vw), 18px);
    }

    .plan-02-item-01-header-fix {
        width: clamp(172px, calc(106.00px + 17.6000vw), 194px);
    }

    .pl-02-it-01-he-deco {
        width: clamp(130px, calc(100.00px + 8.0000vw), 140px);
        top: clamp(-70px, calc(-3.428571vw - 51.142857px), -64px);
    }

    .plan-02-item-02-header-frame {
        height: clamp(32px, calc(20.00px + 3.2000vw), 36px);
    }

    .plan-02-item-02-header {
        font-size: clamp(16px, calc(10.00px + 1.6000vw), 18px);
    }

    .plan-02-item-03-text {
        font-size: clamp(16px, calc(13.00px + 0.8000vw), 17px);
    }

    .plan-02-item-frame {
        padding-top: clamp(80px, calc(20.00px + 16.0000vw), 100px);
        height: clamp(620px, calc(530.00px + 24.0000vw), 650px);
    }
}

/*=================
#contact
==================*/
.mail {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mail-header-text {
    text-align: center;
    font-size: clamp(28px, calc(22.00px + 0.4167vw), 30px);
    line-height: clamp(48px, calc(42.00px + 0.4167vw), 50px);
}

.mail-header-area {
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(../asset/img/mail-header-img.png);
    background-repeat: no-repeat;
    background-size: 100%;
    border-radius: 16px;
    margin-bottom: 70px;
    width: 100%;
    height: clamp(200px, calc(86.00px + 7.9167vw), 238px);
}

.mail-03 {
    display: flex;
    flex-direction: column;
    margin-top: 16px;
    max-width: 600px;
    width: 100%;
    gap: 8px;
}

.mail-03-text {
    font-size: 18px;
    line-height: 24px;
}

.mail-check-area {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 60px;
    background-color: #0071BC;
    border-radius: 16px;
    max-width: 600px;
    width: 100%;
    height: 190px;
}

.mail-check-img {
    position: absolute;
    top: -20px;
    left: 20px;
    width: 118px;
}

.mail-check-text {
    font-size: 24px;
    width: 84%;
}


@media screen and (max-width:1440px) {
    .mail-header-area {
        height: clamp(176px, calc(-16.00px + 15.0000vw), 200px);
    }

    .mail-header-text {
        font-size: clamp(24px, calc(-8.00px + 2.5000vw), 28px);
        line-height: clamp(42px, calc(-6.00px + 3.7500vw), 48px);
    }

    .mail-03-text {
        font-size: clamp(16px, calc(0.00px + 1.2500vw), 18px);
        line-height: clamp(22px, calc(6.00px + 1.2500vw), 24px);
    }

    .mail-check-text {
        font-size: clamp(22px, calc(6.00px + 1.2500vw), 24px);
    }
}

@media screen and (max-width:960px) {
    .mail-header-area {
        background-image: url(../asset/img/mail-header-mobile-img.png);
        height: 238px;
        margin-bottom: 30px;
    }

    .mail-header-text {
        width: 70%;
    }

    .mail-mobile-fix {
        line-height: 28px;
    }

    .mail-check-area {
        height: 170px;
    }

    .mail-check-img {
        width: 90px;
    }

    .mail-check-text {
        font-size: 18px;
        width: 80%;
    }
}

@media screen and (max-width:500px) {
    .mail-header-area {
        height: clamp(210px, calc(126.00px + 22.4000vw), 238px);
    }

    .mail-header-text {
        font-size: clamp(19px, calc(4.00px + 4.0000vw), 24px);
        line-height: clamp(34px, calc(10.00px + 6.4000vw), 42px);
    }

    .mail-check-area {
        height: clamp(150px, calc(90.00px + 16.0000vw), 170px);
    }

    .mail-check-img {
        width: clamp(80px, calc(50.00px + 8.0000vw), 90px);
    }

    .mail-check-text {
        font-size: clamp(16px, calc(10.00px + 1.6000vw), 18px);
        font-feature-settings: "palt";
    }
}

/*=================
#contact
==================*/
.mail-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 20px 0 0 0;
    max-width: 674px;
    width: 100%;
    gap: 30px;
}

.mail-form-circle-area {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0;
}

.mail-form-policy-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 30px 0 15px 0;
    width: 100%;
    gap: 10px;
}

.mail-form-policy-header {
    font-size: 22px;
}

.mail-form-policy-copy {
    font-size: 20px;
}

.circle-area-fix {
    gap: 20px;
}

.mail-form-line {
    background-color: #0071BC;
    width: 100%;
    height: 1px;
}

/*入力フォーム*/
.form-container {
    width: 600px;
}

form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.form-main {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    gap: 40px;
}

.form-fix {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    width: 100%;
}

.center-fix-align {
    align-items: center;
}

.center-fix {
    justify-content: center;
}

.label-appearance {
    color: #0071BC;
    font-size: 22px;
    line-height: 50px;
    font-weight: 400;
    width: 250px;
}

.label-appearance-fix {
    line-height: normal;
}

.label-appearance-flex {
    display: flex;
    flex-direction: row;
}

.mail-form-left-text-min {
    line-height: 32px;
    font-size: 18px;
}

.mail-text-fix01 {
    height: 36px;
}

.mail-text-visibility {
    visibility: hidden;
}

.mail-form-left-text-back {
    border-radius: 8px;
    background-color: #0071BC;
    padding: 0 14px 4px 14px;
    margin-right: 10px;
}

.mail-form-left-text-back-02 {
    border-radius: 8px;
    border: 1px solid #0071BC;
    padding: 0 14px 4px 14px;
    margin-right: 10px;
}

.input-text {
    display: flex;
    font-size: 20px;
    font-weight: 400;
    padding: 2px 14px 2px 14px;
    color: #3E3A39;
    flex-grow: 1;
    border: 1px solid #0071BC;
    height: 46px;
}

.input-area {
    font-size: 20px;
    padding: 10px;
    color: #3E3A39;
    flex-grow: 1;
    border: 1px solid #cacaca;
    border-radius: 10px;
    height: 150px;
}

.form-input::placeholder {
    color: #787777;
}

.custom-select {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    user-select: none;
    text-align: center;
    width: 100%;
    height: 46px;
    font-size: 20px;
}

.custom-select-text {
    cursor: default;
    font-size: 22px;
}

.custom-select .selected {
    cursor: pointer;
    border: none;
    border-radius: 0;
    padding: 5px 30px 5px 10px;
    border: 1px solid #0071BC;
    color: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.selected {
    width: 200px;
    height: 46px;
}

.custom-select .selected::before {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 6px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6"><polygon points="0,0 10,0 5,6" fill="%230071BC"/></svg>') no-repeat center center;
    background-size: contain;
}

.custom-select .selected::after {
    content: '';
    margin-left: 4px;
    font-size: 20px;
    color: #000000;
}

.custom-select .options {
    position: absolute;
    top: 45px;
    left: 250px;
    right: 0;
    max-height: 200px;
    overflow-y: auto;
    display: none;
    z-index: 100;
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #0071BC;
    color: #ffffff;
    -webkit-overflow-scrolling: touch;
    /* モバイルタッチ対応 */
}

.options {
    width: 200px;
}

.custom-select .options li {
    padding: 10px 10px;
    text-align: center;
    cursor: pointer;
}

.custom-select .options li:hover,
.custom-select .options li:active {
    color: #000000;
    touch-action: manipulation;
}



/*ラジオボタン*/
.label-appearance-box {
    display: flex;
    justify-content: flex-start;
    font-size: 22px;
    color: #0071BC;
    font-weight: 400;
    text-align: center;
    width: 234px;
}

.label-appearance-mini {
    font-size: 18px;
    font-weight: 200;
}

.radio-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.radio-group label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-feature-settings: "palt";
    position: relative;
    padding-left: 34px;
    padding-bottom: 3px;
    font-size: 20px;
    color: #3E3A39;
}

.mail-text-fix02 {
    font-feature-settings: "palt";
}

.radio-group input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.radio-group label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    background-color: #FFFFFF;
    border: 1px solid #cacaca;
    border-radius: 50%;
    box-sizing: border-box;
}

.radio-group input[type="radio"]:checked+label::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #C1272D;
}

/*チェックボックス*/
.checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.checkbox-group label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-feature-settings: "palt";
    position: relative;
    padding-left: 34px;
    padding-bottom: 3px;
    font-size: 20px;
    color: #3E3A39;
}

.checkbox-group input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.checkbox-group label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    background-color: #FFFFFF;
    border: 1px solid #cacaca;
    border-radius: 50%;
    box-sizing: border-box;
}

.checkbox-group input[type="checkbox"]:checked+label::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #C1272D;
}

/*hidden要素*/
#update-frequency:not([hidden]),
#aim5-other:not([hidden]) {
    display: flex;
    flex-direction: column;
    width: 340px;
}

/*送信ボタン*/
.submit-btn-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.submit-btn {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0 30px;
    margin: 0;
    margin-top: 50px;
    background-color: #000000;
    border-radius: 6px;
    width: 100%;
    height: 56px;
    z-index: 6;
}

.submit-btn-text {
    padding: 0 0 2px 0;
    font-weight: 400;
    font-size: 22px;
    color: #ffffff;
    z-index: 8;
}

.submit-btn-text-fix {
    flex-grow: 1;
    text-align: center;
}

.submit-btn-effect {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #0071BC;
    width: 0;
    height: 100%;
    transition: all 0.2s linear;
    z-index: 7;
}

.submit-btn:hover .submit-btn-effect {
    width: 100%;
}

.submit-btn:hover .submit-btn-text {
    color: #FFFFFF;
}

.height36 {
    height: 36px;
}

@media screen and (max-width:1280px) {

    .label-appearance-box,
    .label-appearance {
        font-size: 20px;
    }

    .mail-form-left-text-back,
    .mail-form-left-text-back-02 {
        padding: 0 14px 2px 14px;
    }
}

@media screen and (max-width:960px) {
    .mail-form-policy-header {
        font-size: 20px;
    }

    .mail-form-policy-copy {
        font-size: 18px;
    }

    .label-appearance {
        font-size: 20px;
    }

    .label-appearance-box {
        font-size: 20px;
    }

    .radio-group label {
        font-size: 20px;
        padding-bottom: 2px;
    }

    .checkbox-group label {
        font-size: 20px;
        padding-bottom: 2px;
    }

    form {
        gap: 20px;
    }

    .radio-group label::before {
        width: 24px;
        height: 24px;
    }

    .radio-group input[type="radio"]:checked+label::after {
        left: 3px;
    }

    .checkbox-group label::before {
        width: 24px;
        height: 24px;
    }

    .checkbox-group input[type="checkbox"]:checked+label::after {
        left: 3px;
    }

    .mail-form-left-text-min {
        font-size: 16px;
    }

    .form-fix {
        gap: 30px;
    }

    .height36 {
        height: auto;
    }

    .custom-select .options {
        left: 240px;
    }
}

@media screen and (max-width:960px) {
    .center-fix-align {
        align-items: flex-start;
    }

    .mail-text-visibility {
        display: none;
    }

    .mail-form {
        gap: 10px;
    }

    .mail-form-left-text-min {
        font-size: 14px;
        line-height: 25px;
    }

    .mail-form-circle-area {
        gap: 4px;
    }

    .mail-form-policy-header {
        font-size: 16px;
    }

    .mail-form-policy-copy {
        text-align: center;
        font-size: 16px;
    }

    .mail-text-fix01 {
        height: auto;
    }

    .form-container {
        width: 100%;
    }

    .form-fix {
        flex-direction: column;
        gap: 6px;
    }

    .label-appearance {
        line-height: normal;
        font-size: 16px;
        width: auto;

    }

    .input-text {
        width: 100%;
        height: 40px;
        font-size: 18px;
        padding: 10px 12px 12px 12px;
    }

    .label-appearance-box {
        font-size: 16px;
        line-height: normal;
        width: auto;
    }

    .radio-group {
        gap: 5px;
    }

    .radio-group label {
        font-size: 16px;
        padding-left: 26px;
    }

    .radio-group label::before {
        width: 20px;
        height: 20px;
    }

    .radio-group input[type="radio"]:checked+label::after {
        top: 13px;
        left: 3px;
        width: 14px;
        height: 14px;
    }

    .input-area {
        width: 100%;
        font-size: 18px;
    }

    .center-fix {
        align-items: center;
    }

    .checkbox-group {
        padding: 0;
    }

    .checkbox-group label {
        font-size: 16px;
        padding-left: 26px;
    }

    .checkbox-group label::before {
        width: 20px;
        height: 20px;
        top: 15px;
    }

    .checkbox-group input[type="checkbox"]:checked+label::after {
        left: 3px;
        top: 15px;
        width: 14px;
        height: 14px;
    }

    .submit-btn-area {
        width: 100%;
    }

    .submit-btn {
        width: 100%;
        height: 46px;
    }

    .submit-btn-text {
        font-size: 18px;
    }

    .custom-select {
        justify-content: space-between;
        margin-top: 10px;
    }
}

@media screen and (max-width:500px) {
    .selected {
        width: clamp(150px, calc(0.00px + 40.0000vw), 200px);
    }

    .submit-btn {
        margin-top: clamp(20px, calc(-70.00px + 24.0000vw), 50px);
        padding: 0 clamp(15px, calc(-30.00px + 12.0000vw), 30px);
    }

    .submit-btn-text {
        font-size: clamp(16px, calc(10.00px + 1.6000vw), 18px);
        font-feature-settings: "palt";
        padding-bottom: 4px;
    }

    .custom-select .options {
        left: clamp(187px, calc(-2.00px + 50.4000vw), 250px);
    }

    .options {
        width: clamp(150px, calc(0.00px + 40.0000vw), 200px);
    }
}



#update-frequency-anchor {
    display: contents;
}

/*=================
メールフォームエラー用
==================*/
.form-fix.has-error .input-text {
    background: #FFBEC1;
    border: 2px solid #c30d23;
    color: #3E3A39;
}

.form-fix.has-error .input-text::placeholder {
    color: #c30d23;
    opacity: 1;
}

.form-fix.has-error .custom-select .selected {
    background: #FFBEC1 !important;
    border: 2px solid #c30d23 !important;
    color: #c30d23 !important;
}

.form-fix.has-error .custom-select .selected *,
.form-fix.has-error .custom-select .selected::before,
.form-fix.has-error .custom-select .selected::after {
    color: #c30d23 !important;
    fill: #c30d23 !important;
}

.form-fix.has-error .radio-group label::before,
.form-fix.has-error .checkbox-group label::before {
    outline: 2px solid #c30d23;
    background: #FFBEC1;
}

input.input-text:autofill,
input.input-text:-webkit-autofill {
    -webkit-text-fill-color: #3E3A39 !important;
    caret-color: #3E3A39 !important;
    box-shadow: 0 0 0 1000px #FFFFFF inset !important;
}

.form-fix.has-error input.input-text:autofill,
.form-fix.has-error input.input-text:-webkit-autofill {
    -webkit-text-fill-color: #3E3A39 !important;
    caret-color: #3E3A39 !important;
    box-shadow: 0 0 0 1000px #FFBEC1 inset !important;
    border: 2px solid #c30d23 !important;
}

input.input-text:-moz-autofill {
    box-shadow: 0 0 0 1000px #FFFFFF inset !important;
    color: #3E3A39 !important;
}

.form-fix.has-error input.input-text:-moz-autofill {
    box-shadow: 0 0 0 1000px #FFBEC1 inset !important;
    color: #3E3A39 !important;
    border: 2px solid #c30d23 !important;
}

.custom-select.has-error .selected,
.custom-select.has-error .selected *,
.custom-select.has-error .selected::before,
.custom-select.has-error .selected::after {
    color: #c30d23 !important;
    fill: #c30d23 !important;
    background: #FFBEC1 !important;
    border: 2px solid #c30d23 !important;
}

.form-fix.has-error:has(input.input-text) .mailform-delta {
    display: none !important
}

.form-global-error {
    display: none;
    text-align: center;
    font-size: 20px;
    color: #c30d23;
    margin: 12px 0;
}

.form-global-error.is-show {
    display: block
}

.form-fix.has-error .input-area {
    background-color: #FFBEC1;
    border: 2px solid #c30d23;
    color: #3E3A39;
}

.form-fix.has-error .input-area::placeholder {
    color: #3E3A39;
    opacity: 1;
}

.form-fix.has-error #update-frequency input[type="text"] {
    background: #FFBEC1;
    border: 2px solid #c30d23;
    color: #3E3A39;
}

.form-fix.has-error #update-frequency input[type="text"]::placeholder {
    color: #c30d23;
    opacity: 1;
}

@media screen and (max-width:600px) {
    .form-global-error {
        font-size: 18px;
    }
}

/*=================
#footer
==================*/
.footer {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0071BC;
    width: 100%;
    height: 100px;
    gap: 30px;
}

.footer-text {
    font-size: 18px;
}

@media screen and (max-width:500px) {
    .footer {
        height: clamp(70px, calc(-20.00px + 24.0000vw), 100px);
    }

    .footer-text {
        font-size: clamp(14px, calc(2.00px + 3.2000vw), 18px);
    }
}

/*=================
privacy
==================*/
.privacy {
    justify-content: center;
    align-items: flex-start;
    margin: 0;
    padding: 0;
    max-width: 1920px;
    width: 100%;
    height: auto;
}

.pc {
    display: flex;
}

.sp {
    display: none;
}

.img-area {
    width: 100%;
    height: auto;
}

.back-top {
    position: fixed;
    bottom: 35px;
    right: 35px;
    width: 100px;
    height: 100px;
}

@media screen and (max-width:1280px) {
    .back-top {
        width: 90px;
        height: 90px;
    }

}

@media screen and (max-width:900px) {
    .pc {
        display: none;
    }

    .sp {
        display: flex;
    }

    .back-top {
        bottom: 35px;
        right: 0;
        background-color: #0071BC;
        border-radius: 10px 0 0 10px;
        width: 80px;
        height: 80px;
    }
}

/*=================
サンクスページ　CSS
==================*/
.all-fix {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1920px;
    width: 100%;
    height: 100%;
}

.top-color {
    display: flex;
    width: 100%;
    height: 50px;
    background-color: #0071BC;
    z-index: 10;
}

.main-area {
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    margin: 0 0 100px 0;
    padding: 0 10%;
    width: 100%;
    max-height: 800px;
    min-height: 520px;
    height: 800px;
    box-sizing: border-box;
}

.thx-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    width: 100%;
    height: 88px;
}

.thx-middle {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 50px;
}

.thx-headline-text {
    margin: 0;
    font-feature-settings: "palt";
    font-size: 40px;
    color: #000000;
}

.thx-text {
    margin: 0;
    font-feature-settings: "palt";
    text-align: center;
    font-size: 26px;
    color: #000000;
}

.index-return-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000000;
    border-radius: 35px;
    font-size: 26px;
    color: #ffffff;
    max-width: 400px;
    width: 100%;
    height: 70px;
    position: relative;
    overflow: hidden;
    z-index: 8;
}

.index-return-btn .index-return-btn-text {
    position: relative;
    z-index: 8;
    transition: all 0.1s linear;
}

.index-return-btn:before {
    top: 0;
    left: 0;
    content: '';
    position: absolute;
    background-color: #0071BC;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: all 0.2s linear;
    width: 100%;
    height: 100%;
}

.index-return-btn:hover:before {
    transform: scale(1, 1);
}

.index-return-btn-text {
    padding: 0 0 6px 0;
    color: #ffffff;
    box-sizing: border-box;
}

.footer-area-fix {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    width: 100%;
}

@media screen and (max-width:991px) {
    .thx-headline-text {
        font-size: 34px;
    }

    .thx-text {
        font-size: 22px;
    }

    .index-return-btn {
        font-size: 22px;
    }

    .thx-middle {
        gap: min(5.05vw, 50px);
    }
}

@media screen and (max-width:800px) {
    .thx-text {
        text-align: justify;
    }
}

/*=================
単独　CSS
==================*/
.font-color-white {
    color: #FFFFFF;
}

.font-color-main {
    color: #0071BC;
}

.font-color-sub {
    color: #D5EEFF;
}

.font-color-black {
    color: #000000;
}

.font-color-orange {
    color: #FF931E;
}

.font-color-green {
    color: #00a99d;
}

.font-color-red {
    color: #ea3946;
}

.font-color-gray {
    color: #9B9B9B;
}

.slide-opacity0 {
    opacity: 0;
}