@charset "utf-8";

@import url("base.css");


.mplus {
    font-family: "M PLUS 1p", sans-serif;
    font-display: swap;
}

body {
    background-color: #FFFFFF;
    font-family: "Noto Sans JP", sans-serif;
    font-display: swap;
    font-size: 14px;
    line-height: 1.5;
    color: #000000;
}

body.fixed {
    overflow: hidden;
}

.inner {
    width: 1140px;
    padding: 0 30px;
    margin: 0 auto;
}

.error {
    display: block;
    font-size: 12px;
    color: red;
}

#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background-color: #fff;
    padding: 8px 33px;
    z-index: 9;
}

#header.boxShadow {
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.05);
}

.headerBar .logo {
    width: 135px;
}

.headerBar .logo a img {
    width: 100%;
    aspect-ratio: 135 / 40;
    height: auto;
    display: block;
}

#fixH {
    height: 56px;
}

#main {
    height: calc(100vh - 56px);
}

.mainMenu {
    width: calc(100% - 155px);
    margin-top: 4px;
    margin-right: 4px;
}

.mainMenu .menu {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-end;
    width: 100%;
}

.mainMenu .menu>li:not(:last-child) {
    margin-right: 42px;
}

.mainMenu .menu>li a {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
}


#content {
    width: 100%;
    background-color: #f2f2f2;
}

.pageTitle {
    position: relative;
    padding: 43px 0;
}

.pageTitle .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}

.pageTitle .titleEn {
    font-size: 53px;
    font-weight: 900;
    margin-left: 2px;
    letter-spacing: 4.3px;
    margin-right: 38px;
}

.pageTitle .titleJp {
    font-size: 20px;
    margin-bottom: 12px;
}

.sectionTitle {
    text-align: center;
}

.sectionTitle .titleEn {
    font-size: 53px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 3.4px;
    margin-bottom: 34px;
}

.sectionTitle .titleJp {
    font-size: 20px;
    font-weight: 500;
}

.sectionBtn a {
    display: inline-block;
    font-size: 17px;
    font-weight: 500;
    position: relative;
    padding-left: 24px;
    transition: .5s;
    letter-spacing: -0.5px;
    z-index: 1;
}

.sectionBtn a:before {
    content: '';
    position: absolute;
    top: 58%;
    left: -8px;
    transform: translateY(-50%) rotate(45deg);
    width: 5px;
    aspect-ratio: 1 / 1;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transition: .3s;
    z-index: 1;
}

.sectionBtn a:after {
    content: '';
    position: absolute;
    top: 55%;
    left: -18px;
    transform: translateY(-50%);
    background: #333333;
    width: 30px;
    height: 30px;
    border-radius: 30px;
    transition: .5s;
    z-index: -1;
}

.pagingNav .pagi_nav_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.pagingNav .pagi_nav_list li:not(.p-control) {
    margin: 0 6px;
}

.pagingNav .pagi_nav_list li.active:not(.p-control) {
    margin: 0 5px;
}

.pagingNav .pagi_nav_list li a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 30px;
    aspect-ratio: 1/1;
    line-height: 1;
    font-size: 17px;
    color: #cccccc;
    border-radius: 50%;
}

.pagingNav .pagi_nav_list li.active:not(.p-control) a {
    color: #fff;
    background-color: #333333;
}

.pagingNav .pagi_nav_list li:not(.p-control) a {
    padding-bottom: 5px;
}

.pagingNav .pagi_nav_list li.dots a {
    pointer-events: none;
    font-size: 17px;
    font-weight: bold;
    width: auto;
    padding: 0 0 5px;
    letter-spacing: 1px;
}

.pagingNav .pagi_nav_list li.p-control {
    margin: 0 -6px 0 6px;
}

.pagingNav .pagi_nav_list li.p-control a {
    position: relative;
    width: 23px;
    margin-top: -3px;
}

.pagingNav .pagi_nav_list li.p-control img {
    width: 8px;
}

.pagingNav .pagi_nav_list li.p-control.prevDouble img,
.pagingNav .pagi_nav_list li.p-control.nextDouble img {
    width: 14px;
}

.pagingNav .pagi_nav_list li.p-control .black {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
}

.pagingNav .pagi_nav_list li.active.p-control .black {
    opacity: 1;
}

.pagingNav .pagi_nav_list li.active.p-control .grey {
    opacity: 0;
}

.pagingNav .pagi_nav_list li.p-control.prev,
.pagingNav .pagi_nav_list li.p-control.prevDouble {
    margin: 0 6px 0 -6px;
}

.pagingNav .pagi_nav_list li.p-control.prev img,
.pagingNav .pagi_nav_list li.p-control.prevDouble img {
    transform: rotate(180deg);
}

.pagingNav .pagi_nav_list li.p-control.prev .black,
.pagingNav .pagi_nav_list li.p-control.prevDouble .black {
    transform: translate(-50%, -50%) rotate(180deg);
}

.pagingNavDetail {
    margin: 64px auto 0;
}

.pagingNavDetail .pagi_nav_list li.p-control a,
.pagingNavDetail .pagi_nav_list li:not(.p-control) a {
    width: initial;
}

.pagingNavDetail .pagi_nav_list li.p-control.prev,
.pagingNavDetail .pagi_nav_list li.p-control.prevDouble,
.pagingNavDetail .pagi_nav_list li.p-control {
    margin: 0;
}

.pagingNavDetail .pagi_nav_list li:not(.p-control) {
    margin: 0 48px;
}

.pagingNavDetail .pagi_nav_list li a {
    font-size: 17px;
    color: #333333;
    font-weight: bold;
    letter-spacing: 0.5px;
    border-radius: 0;
}

.pagingNavDetail .pagi_nav_list li.p-control a {
    font-size: 17px;
    color: #cccccc;
    aspect-ratio: initial;
    position: relative;
}

.pagingNavDetail .pagi_nav_list li.p-control.prev a {
    padding-left: 32px;
}

.pagingNavDetail .pagi_nav_list li.p-control.next a {
    padding-right: 32px;
}

.pagingNavDetail .pagi_nav_list li.p-control a:before {
    content: "";
    position: absolute;
    background: url('../images/common/arrow-paging-grey-alone.svg') no-repeat;
    background-size: 100%;
    width: 9px;
    height: 16px;
    top: 3px;
    right: 0;
}

.pagingNavDetail .pagi_nav_list li.p-control.prev a:before {
    background-image: url('../images/common/arrow-paging-grey-alone.svg');
    transform: rotate(180deg);
    left: 0;
    right: inherit;
}

.pagingNavDetail .pagi_nav_list li:not(.p-control) a {
    padding-bottom: 3px;
    aspect-ratio: initial;
}

.pagingNavDetail .pagi_nav_list li.p-control.disabled a {
    pointer-events: none;
}

.sectionNext {
    background-color: #fff;
    padding: 68px 0 38px;
}

.sectionNext .nextWrap {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    background: #333333 url(../images/common/section-next-bg-photo.webp)no-repeat center right -2px/ contain;
    color: #fff;
    padding: 22px 121px 20px;
    overflow: hidden;
}

.sectionNext .nextWrap::before {
    content: "";
    position: absolute;
    top: -6px;
    left: -10px;
    width: 83px;
    height: calc(100% + 6px);
    background: url(../images/common/section-next-photo-flower-01.webp)no-repeat top left/100%;
}

.sectionNext .nextWrap::after {
    content: "";
    position: absolute;
    top: -23px;
    right: 5px;
    width: 76px;
    height: calc(100% + 23px);
    background: url(../images/common/section-next-photo-flower-02.webp)no-repeat top left/100%;
}

.sectionNext .nextWrap .nextBox {
    max-width: calc(100% - 140px);
    margin-right: 26px;
}

.sectionNext .nextWrap .nextBox .nextNote {
    font-size: 12px;
    letter-spacing: 2.6px;
    margin-bottom: 8px;
}

.sectionNext .nextWrap .nextBox .nextPage {
    font-size: 53px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 3.6px;
    margin-bottom: 5px;
    margin-left: 2px;
}

.sectionNext .nextWrap .nextBox .nextSub {
    font-size: 20px;
    letter-spacing: 1.2px;
}

.sectionNext .nextWrap .nextBtn {
    margin-bottom: 3px;
}

.sectionNext .nextWrap .nextBtn a {
    position: relative;
    display: block;
    width: 127px;
    color: #000;
    font-size: 13px;
    font-weight: bold;
    background-color: #fff;
    border-radius: 50px;
    padding: 5px 10px 5px 22px;
    letter-spacing: -0.6px;
}

.sectionNext .nextWrap .nextBtn a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%) rotate(-45deg);
    border: solid #000;
    border-width: 0 1px 1px 0;
    padding: 3px;
}

.areaContact {
    padding-bottom: 65px;
    box-shadow: 0 5px 9px rgba(173, 168, 168, 0.4);
    background-color: #fff;
}

.areaContact .contactWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: 32px 30px 48px;
    background: #333333 url(../images/common/contact-bg-photo.webp)no-repeat center left -2px/ 65%;
}

.areaContact .contactWrap .contactBox {
    width: 357px;
    text-align: center;
    margin-right: 54px;
}

.areaContact .contactWrap .contactBox .contactTitle {
    font-size: 53px;
    color: #fff;
    margin-bottom: 25px;
    letter-spacing: 3.7px;
}

.areaContact .contactWrap .contactBox .contactList li:not(:last-child) {
    margin-bottom: 16px;
}

.areaContact .contactWrap .contactBox .contactList li a {
    display: block;
    width: 100%;
    font-size: 21px;
    font-weight: bold;
    background-color: #fff;
    border-radius: 50px;
    padding: 11px 25px 12px 46px;
}

.areaContact .contactWrap .contactBox .contactList li a .sub {
    position: relative;
    display: inline-block;
    text-align: left;
    width: 70%;
    letter-spacing: 1px;
}

.areaContact .contactWrap .contactBox .contactList li a .sub::before {
    content: "";
    position: absolute;
    top: 52%;
    left: -45px;
    transform: translateY(-50%);
    width: 23px;
    height: 25px;
    background: url(../images/common/icon-phone.webp)no-repeat top left/ 100%;
}

.areaContact .contactWrap .contactBox .contactList li a .sub::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -23px;
    transform: translateY(-50%) rotate(-45deg);
    border: solid #000;
    border-width: 0 2px 2px 0;
    padding: 4px;
}

.areaContact .contactWrap .contactBox .contactList li.mail a .sub {
    letter-spacing: 0;
}

.areaContact .contactWrap .contactBox .contactList li.mail a .sub::before {
    width: 26px;
    height: 18px;
    background: url(../images/common/icon-mail.webp)no-repeat top left/ 100%;
}

#footer {
    width: 100%;
    padding: 63px 0;
}

#footer .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 88.7%;
}

#footer .ftInfo {
    width: 265px;
    margin-left: 30px;
}

#footer .ftInfo .ftLogo {
    width: 135px;
    margin-bottom: 40px;
}

#footer .ftInfo .ftManu .manuSub {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
    margin-left: -2px;
    letter-spacing: 1.4px;
}

#footer .ftInfo .ftManu .manuLogo {
    width: 100%;
}

#footer .ftInfo .ftManu .manuLogo img {
    width: 100%;
    aspect-ratio: 265/88;
    object-fit: cover;
    object-position: center;
}

#footer .ftMenu {
    width: calc(100% - 320px);
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-end;
    font-size: 12px;
    letter-spacing: 1px;
    margin-top: 28px;
}

#footer .ftMenu .menu:not(:last-child) {
    margin-right: 83px;
}

#footer .ftMenu .menu li:not(:last-child) {
    margin-bottom: 9px;
}

#footer .ftMenu .menu .menuChild {
    margin-left: 21px;
    margin-top: 8px;
}


@media (min-width: 1200px) {
    body {
        overflow-x: hidden;
    }

    .areaContact .contactWrap .contactBox {
        margin-right: 18%;
    }
}

@media (max-width: 1600px) and (min-width: 1200px) {
    .areaContact .contactWrap .contactBox {
        margin-right: 10%;
    }

    .areaContact .contactWrap {
        background-size: contain;
    }
}

@media (max-width: 1400px) and (min-width: 1200px) {
    .areaContact .contactWrap .contactBox {
        margin-right: 5%;
    }
}

@media (max-width: 1200px) and (min-width: 769px) {

    body,
    #header,
    #footer,
    .inner {
        width: 1200px;
    }


    .areaContact .contactWrap {
        background-size: contain;
    }
}


@media (min-width: 769px) {
    .sp {
        display: none;
    }

    .pagingNav .pagi_nav_list li:not(.p-control) a:hover {
        color: #fff;
        background-color: #333333;
    }

    .pagingNav .pagi_nav_list li.p-control a:hover .black {
        opacity: 1;
    }

    .pagingNav .pagi_nav_list li.p-control a:hover .grey {
        opacity: 0;
    }

    .pagingNavDetail .pagi_nav_list li:not(.p-control) a:hover {
        opacity: 0.6;
        background: transparent;
        color: #333333;
    }

    .pagingNavDetail .pagi_nav_list li.p-control a:hover {
        color: #333333;
    }

    .pagingNavDetail .pagi_nav_list li.p-control a:hover:before {
        filter: brightness(0%);
    }

    .areaContact .contactWrap .contactBox .contactList li:first-child a {
        pointer-events: none;
    }

    .sectionNext .nextWrap .nextBtn a:hover,
    .areaContact .contactWrap .contactBox .contactList li a:hover {
        opacity: 0.8;
    }

    .sectionBtn a:hover {
        opacity: 1;
        color: #fff;
        padding-left: 10px;
        padding-right: 15px;
    }

    .sectionBtn a:hover:before {
        opacity: 0;
    }

    .sectionBtn a:hover:after {
        width: calc(100% + 30px);
        background: #333333;
    }


    .ftMenu {
        display: flex;
    }
}

@media (max-width: 768px) {
    .pc {
        display: none;
    }

    .inner {
        width: 100%;
        padding: 0 4%;
    }

    .hover:hover {
        opacity: 1;
    }

    #header {
        padding: 5px 4%;
    }

    .headerBar {
        width: 35%;
        max-width: 240px;
    }

    .headerBar .logo {
        width: 100%;
    }

    .hamburger {
        width: 40px;
        height: 40px;
        z-index: 9991;
        display: flex;
        justify-content: center;
        flex-direction: column;
        text-align: center;
    }

    .hamburger span {
        display: block;
        height: 1px;
        width: 100%;
        background: #777777;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .25s ease-in-out;
        -moz-transition: .25s ease-in-out;
        transition: .25s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        margin-bottom: 8px;
    }

    .hamburger span:nth-child(2) {
        opacity: 1
    }

    .hamburger span:nth-child(3) {
        margin-top: 8px;
    }

    .hamburger.open span {
        background-color: #fff;
    }

    .hamburger.open span:nth-child(1) {
        margin-bottom: -1px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .hamburger.open span:nth-child(2) {
        opacity: 0;
    }

    .hamburger.open span:nth-child(3) {
        margin-top: -1px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .hamburger.open~.mainMenu {
        display: block;
        animation: itemFadeIn 1s;
    }

    .hamburger.close~.mainMenu {
        display: none;
        animation: itemFadeOut .8s;
    }

    .mainMenu {
        display: none;
        position: fixed;
        overflow-y: auto;
        height: 100%;
        top: 0;
        left: 0;
        width: 100%;
        background: #1F1F1F;
        padding: 80px 9%;
        margin: 0;
    }

    .mainMenu .menu {
        display: block;
        margin-bottom: 60px;
    }

    .mainMenu .menu>li:not(:last-child) {
        margin: 0 0 60px;
    }

    .mainMenu .menu>li a {
        color: #fff;
        font-size: clamp(16px, 3vw, 22px);
    }

    .mainMenu .menuContact {
        width: 100%;
        max-width: 430px;
        margin: 0 auto;
    }

    .mainMenu .menuContact li:not(:last-child) {
        margin-bottom: 4vw;
    }

    .mainMenu .menuContact li a {
        position: relative;
        display: block;
        width: 100%;
        font-size: clamp(20px, 3.6vw, 30px);
        font-weight: bold;
        background-color: #fff;
        border-radius: 50px;
        padding: 15px 25px 16px 40px;
        text-align: center;
    }

    .mainMenu .menuContact li a .sub {
        position: relative;
        display: inline-block;
        width: 70%;
        text-align: left;
    }

    .mainMenu .menuContact li a .sub:before {
        content: "";
        position: absolute;
        top: 52%;
        left: -7vw;
        transform: translateY(-50%);
        width: clamp(23px, 6vw, 35px);
        aspect-ratio: 23 / 25;
        background: url(../images/common/icon-phone.webp) no-repeat top left / 100%;
    }

    .mainMenu .menuContact li a .sub:after {
        content: "";
        position: absolute;
        top: 50%;
        right: -3vw;
        transform: translateY(-50%) rotate(-45deg);
        border: solid #000;
        border-width: 0 3px 3px 0;
        padding: 6px;
    }

    .mainMenu .menuContact li.mail a .sub {
        letter-spacing: 0;
        padding-bottom: 1px;
    }

    .mainMenu .menuContact li.mail a .sub:before {
        width: clamp(26px, 6vw, 38px);
        aspect-ratio: 26/18;
        background: url(../images/common/icon-mail.webp) no-repeat top left / 100%;
    }

    @keyframes itemFadeIn {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }

    @keyframes itemFadeOut {
        0% {
            opacity: 1;
            display: block;
        }

        100% {
            opacity: 0;
        }
    }

    .pageTitle {
        padding: 38px 0 38px 35px;
    }

    .pageTitle .titleEn {
        font-size: clamp(40px, 8vw, 60px);
        margin-right: 15px;
    }

    .pageTitle .titleJp {
        font-size: clamp(16px, 3vw, 22px);
        margin-bottom: clamp(10px, 2vw, 15px);
    }

    .pageTitle::before {
        position: absolute;
        content: "";
        display: block;
        background: url(../images/faq/MF-top.png) center no-repeat;
        background-size: 100%;
        width: clamp(160px, 27.6vw, 240px);
        aspect-ratio: 120/100;
        top: 6px;
        left: -11px;
    }

    .pagingNavDetail {
        margin: 64px auto 0;
    }

    .pagingNavDetail .pagi_nav_list li:not(.p-control) {
        margin: 0 6vw;
    }

    .pagingNavDetail .pagi_nav_list li a {
        font-size: clamp(14px, 3.7vw, 16px);
        letter-spacing: 0.5px;
    }

    .pagingNavDetail .pagi_nav_list li.p-control a {
        font-size: clamp(14px, 3.7vw, 16px);
    }

    .pagingNavDetail .pagi_nav_list li.p-control.prev a {
        padding-left: clamp(18px, 5vw, 22px);
    }

    .pagingNavDetail .pagi_nav_list li.p-control.next a {
        padding-right: clamp(18px, 5vw, 22px);
    }

    .pagingNavDetail .pagi_nav_list li.p-control a:before {
        top: -2px;
        width: clamp(8px, 2.2vw, 8px);
        height: clamp(16px, 4.4vw, 18px);
    }

    .pagingNavDetail .pagi_nav_list li.p-control.next a:before {
        top: 2px;
    }

    .sectionTitle .titleEn {
        font-size: clamp(36px, 8vw, 46px);
        margin-bottom: 20px;
    }

    .sectionTitle .titleJp {
        font-size: clamp(16px, 3vw, 22px);
    }

    .sectionBtn a {
        font-size: clamp(14px, 2.5vw, 18px);
        padding-left: 38px;
    }

    .sectionBtn a:after {
        left: 0;
    }

    .sectionBtn a:before {
        left: 11px;
    }

    .sectionNext {
        padding: 30px 0;
    }

    .sectionNext .nextWrap {
        position: relative;
        padding: 30vw 5vw 5vw;
        background-image: url(../images/common/section-next-bg-photo-sp.webp);
        background-position: center bottom;
        background-size: cover;
        z-index: 1;
    }

    .sectionNext .nextWrap:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 20%, rgba(0, 0, 0, 1) 60%, rgba(0, 0, 0, 1) 100%);
        z-index: -1;
    }

    .sectionNext .nextWrap .nextBox {
        max-width: none;
        width: 100%;
        margin: 0 10px 10px 0;
    }

    .sectionNext .nextWrap .nextBox .nextPage {
        font-size: clamp(40px, 8vw, 60px)
    }

    .sectionNext .nextWrap .nextBox .nextSub {
        font-size: clamp(16px, 3vw, 22px);
    }

    .sectionNext .nextWrap::after {
        top: auto;
        bottom: 0;
        right: -15px;
        width: 16.3vw;
        height: auto;
        aspect-ratio: 76 / 150;
    }

    .sectionNext .nextWrap .nextBtn a {
        display: inline-block;
        width: auto;
        font-size: clamp(14px, 2.5vw, 18px);
        padding: 1.1vw 8vw 1.1vw 3vw;
    }

    .sectionNext .nextWrap .nextBtn a::before {
        right: 4vw;
    }

    .sectionNext .nextWrap .nextBtn a::before {
        border-width: 0 2px 2px 0;
        padding: 4px;
    }

    .sectionNext .nextWrap .nextBox .nextNote {
        font-size: clamp(12px, 2.2vw, 15px);
        margin-bottom: 5px;
    }

    .areaContact {
        padding-bottom: 40px;
        box-shadow: 0 2px 6px rgba(173, 168, 168, 0.4);
    }

    .areaContact .contactWrap {
        position: relative;
        z-index: 1;
        background-image: url(../images/common/contact-bg-photo-sp.webp);
        background-size: cover;
        background-position: left top -4vw;
        padding: 40vw 9vw 10vw;
    }

    .areaContact .contactWrap::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 20%, rgba(0, 0, 0, 1) 55%, rgba(0, 0, 0, 1) 100%);
        z-index: -1;
    }

    .areaContact .contactWrap .contactBox {
        position: relative;
        width: 100%;
        max-width: 430px;
        margin: 0 auto;
    }

    .areaContact .contactWrap .contactBox .contactTitle {
        font-size: clamp(40px, 8vw, 60px)
    }

    .areaContact .contactWrap .contactBox .contactList {
        width: 100%;
        max-width: 430px;
        margin: 0 auto;
    }

    .areaContact .contactWrap .contactBox .contactList li a {
        font-size: clamp(20px, 3.6vw, 30px);
        padding: 15px 25px 16px 50px;
    }

    .areaContact .contactWrap .contactBox .contactList li a .sub {
        width: 70%;
    }

    .areaContact .contactWrap .contactBox .contactList li a .sub::before {
        left: -7vw;
        width: clamp(23px, 6vw, 35px);
        aspect-ratio: 23 / 25;
        height: auto;
    }

    .areaContact .contactWrap .contactBox .contactList li.mail a .sub::before {
        width: clamp(26px, 6vw, 38px);
        aspect-ratio: 26 / 18;
        height: auto;
    }

    .areaContact .contactWrap .contactBox .contactList li a .sub:after {
        border-width: 0 3px 3px 0;
        padding: 6px;
    }


    #footer {
        padding: 20px 0;
    }

    #footer .inner {
        width: 100%;
    }

    #footer .ftInfo {
        width: 100%;
        margin: 0;
        text-align: center;
    }

    #footer .ftInfo .ftLogo {
        max-width: 250px;
        width: 30vw;
        margin: 0 auto 20px;
    }

    #footer .ftInfo .ftManu .manuLogo {
        max-width: 350px;
        width: 60vw;
        margin: 0 auto;
    }

    #footer .ftInfo .ftManu .manuSub {
        font-size: clamp(14px, 2.5vw, 18px);
    }
}

@media screen and (max-width: 430px) {

    .hamburger {
        width: 30px;
        height: 30px;
    }

    .mainMenu .menu>li:not(:last-child) {
        margin: 0 0 33px;
    }

    .mainMenu .menuContact li a {
        padding: 11px 25px 12px 50px;
    }

    .mainMenu .menuContact li a .sub:after {
        border-width: 0 2px 2px 0;
        padding: 4px;
    }

    .mainMenu .menuContact li:not(:last-child) {
        margin-bottom: 6vw;
    }

    .sectionNext .nextWrap .nextBtn a::before {
        border-width: 0 1px 1px 0;
        padding: 3px;
    }

    .mainMenu .menuContact li a .sub:before,
    .areaContact .contactWrap .contactBox .contactList li a .sub::before {
        left: -40px;
    }

    .areaContact .contactWrap .contactBox .contactList li a {
        padding: 11px 25px 12px 50px;
    }

    .areaContact .contactWrap .contactBox .contactList li a .sub:after {
        border-width: 0 2px 2px 0;
        padding: 4px;
    }

    .areaContact .contactWrap .contactBox .contactList li a .sub {
        width: 70%;
    }

    .sectionNext .nextWrap::after {
        width: 20.3vw;
    }

    #footer .ftInfo .ftLogo {
        width: 135px;
    }
}

@media(max-width: 390px) {
    .mainMenu .menuContact li a .sub {
        width: 79%;
    }

    .areaContact .contactWrap .contactBox .contactList li a .sub {
        width: 75%;
    }

    .areaContact .contactWrap .contactBox .contactList li a {
        padding: 11px 25px 12px 40px;
    }

    .mainMenu .menuContact li a .sub:before,
    .areaContact .contactWrap .contactBox .contactList li a .sub::before {
        left: -40px;
    }
}

@media(max-width: 360px) {
    .mainMenu .menuContact li a .sub {
        width: 84%;
    }

    .areaContact .contactWrap .contactBox .contactList li a .sub {
        width: 79%;
    }

    .sectionBtn a {
        padding-left: 34px;
    }
}

.evt {
    visibility: hidden;
}

.evt.done {
    visibility: visible;
}

.animated {
    -webkit-animation-duration: 1.1s;
    animation-duration: 1.1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

.titleEn .text .box {
    display: block;
    overflow: hidden;
}

.titleEn .text .box>span {
    transition: transform .5s;
    transform: translateY(105%);
    display: inline-block;
    font-style: normal;
}

.titleEn.show .text .box>span {
    transform: none;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.titleEn.show .text .box>span:nth-child(1) {
    transition-delay: 0s;
}

.titleEn.show .text .box>span:nth-child(2) {
    transition-delay: 0.1s;
}

.titleEn.show .text .box>span:nth-child(3) {
    transition-delay: 0.2s;
}

.titleEn.show .text .box>span:nth-child(4) {
    transition-delay: 0.3s;
}

.titleEn.show .text .box>span:nth-child(5) {
    transition-delay: 0.4s;
}

.titleEn.show .text .box>span:nth-child(6) {
    transition-delay: 0.5s;
}

.titleEn.show .text .box>span:nth-child(7) {
    transition-delay: 0.6s;
}

.titleEn.show .text .box>span:nth-child(8) {
    transition-delay: 0.7s;
}

.titleEn.show .text .box>span:nth-child(9) {
    transition-delay: 0.8s;
}

.titleEn.show .text .box>span:nth-child(10) {
    transition-delay: 0.9s;
}

.titleEn.show .text .box>span:nth-child(11) {
    transition-delay: 1s;
}

.titleEn.show .text .box>span:nth-child(12) {
    transition-delay: 1.1s;
}

.titleEn.show .text .box>span:nth-child(13) {
    transition-delay: 1.2s;
}

.titleEn.show .text .box>span:nth-child(14) {
    transition-delay: 1.3s;
}

.titleEn.show .text .box>span:nth-child(15) {
    transition-delay: 1.4s;
}

.titleEn.show .text .box>span:nth-child(16) {
    transition-delay: 1.5s;
}

.titleEn.show .text .box>span:nth-child(17) {
    transition-delay: 1.6s;
}

.titleEn.show .text .box>span:nth-child(18) {
    transition-delay: 1.7s;
}

.titleEn.show .text .box>span:nth-child(19) {
    transition-delay: 1.8s;
}

.titleEn.show .text .box>span:nth-child(20) {
    transition-delay: 1.9s;
}

.titleEn.show .text .box>span:nth-child(21) {
    transition-delay: 2s;
}

.titleEn.show .text .box>span:nth-child(22) {
    transition-delay: 2.1s;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 3rem, 0);
        transform: translate3d(0, 3rem, 0);
    }

    30% {
        opacity: .5;
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}