@charset "utf-8";

@font-face {
    font-family: 'Hannari Mincho';
    src: url('font/HannariMincho.otf') format('otf');
}

/*共通設定*/
*,
::before,
::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

ul,
ol {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
    transition: 0.2s;
}

a:hover {
    opacity: 0.8;
}

body {
    font-size: 16px;
    line-height: 1.7;
    color: #404040;
    font-family: 'Hannari Mincho', serif;
    letter-spacing: 0.05em;
}

img {
    max-width: 100%;
}

.wrap {
    overflow: hidden;
}

.parent {
    padding: 0 5vw;
}

.child {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}

.sans {
    font-family: "Noto Sans JP", sans-serif;
}

.hannari {
    font-family: "Hannari Mincho", serif;
}

.cinzel {
    font-family: "Cinzel", serif;
}

.petemoss {
    font-family: "Petemoss", cursive;
}

@media screen and (min-width: 751px) {
    .pc-non {
        display: none !important;
    }
}

@media screen and (max-width: 750px) {
    .sp-non {
        display: none !important;
    }
}

@media screen and (min-width: 751px) {
    .link-tel {
        pointer-events: none;
    }
}

@media screen and (max-width: 750px) {
    .sp-mt-0 {
        margin-top: 0 !important;
    }
}


.line-h2 {
    position: relative;
    text-align: center;
    font-size: 28px;
    font-weight: 400;
    margin-bottom: 120px;
}

.line-h2::before {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100px;
    height: 2px;
    border-bottom: solid 2px #404040;
}

.en-title {
    position: absolute;
    top: 0;
    left: calc(50% - 690px);
    color: rgba(208, 133, 125, 0.3);
    writing-mode: vertical-rl;
    font-size: 110px;
    white-space: nowrap;
}

.cta-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    color: #fff;
}

.cta-tel {
    width: 49%;
    background-color: #D0857D;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
}

.cta-txt-01 {
    font-size: 14px;
    line-height: 1.2;
}

.cta-txt-01 span {
    font-size: 40px;
    font-family: "Cinzel", serif;
}

.cta-line {
    width: 49%;
    background-color: #68B173;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    font-size: 24px;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
}

/*終わり*/


/*<section class="fv">*/
.fv {
    position: relative;
    width: 100%;
    height: 100vh;
    background-image: url(../img/fv_pc.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.fv-in {
    width: 100%;
    height: 100%;
}

.fv-txt-wrap {
    width: 50%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
}

.fv-h1 {
    font-weight: 400;
    font-size: 110px;
    line-height: 1;
}

.fv-txt {
    font-size: 32px;
}

.fv-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.fv-con {
    position: relative;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 150px;
    color: #B36C65;
    border-radius: 50%;
    line-height: 1.3;
    background: url(../img/circlr_mv.png) no-repeat center center;
    background-size: cover;
}

.fv-con-txt span {
    font-size: 20px;
}

.scroll {
    position: absolute;
    bottom: 10%;
    left: 5vw;
}

.scroll-text {
    color: #333;
    font-size: 14px;
    text-align: center;
    transform: rotate(90deg);
}

.scroll-border {
    position: relative;
    top: -24px;
    width: 100%;
    height: 40vh;
    overflow: hidden;
}

.scroll-border::before {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 40px;
    top: 0;
    left: 0;
    right: 0;
    background: #404040;
    animation: scroll 3s ease-in-out infinite;
    margin: auto;
}

@keyframes scroll {
    0% {
        height: 0;
        top: 0;
    }

    30% {
        height: 100%;
    }

    100% {
        top: 100%;
    }
}

/*終わり*/


/*<div class="fv-cta">*/
.fv-cta {
    background-color: #D48B83;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
    padding: 16px 5vw;
    position: fixed;
    bottom: 0px;
    left: 0px;
    width: 100%;
    z-index: 100;
}

.fv-cta-in {
    max-width: 900px;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    gap: 16px;
}

.tel-wrap {
    width: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 16px;
    line-height: 1.3;
}

.tel-txt-02 {
    font-size: 32px;
}

.tel-txt-03 {
    font-size: 12px;
}

.line-wrap {
    position: relative;
    max-width: 370px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    line-height: 1.3;
    background-color: #fff;
    border-radius: 50vh;
    padding: 0 24px;
    color: #D48B83;
}

.line-arrow {
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

/*終わり*/


/*<div class="campaign">*/
.campaign {
    max-width: 1000px;
    margin: 0 auto;
    padding: 120px 5vw 200px 5vw;
    text-align: center;
}

/*終わり*/


/*<section class="order">*/
.order {
    position: relative;
    padding: 0 5vw 200px 5vw;
}

.order-area {
    display: flex;
    flex-direction: column;
    gap: 64px;
}

.order-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    opacity: 1;
    transform: none;
    transition: opacity .5s ease, transform .5s ease;
}

.order-wrap.is-hidden {
    display: none;
}

.order-wrap.is-enter {
    opacity: 0;
    transform: translateY(8px);
}

.order-l {
    width: 60%;
    display: flex;
    gap: 8px;
}

.jewelry-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease;
    opacity: 1;
}

.order-ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.order-ul li {
    width: 100px;
    height: 90px;
}

.order-ul li:hover {
    cursor: pointer;
}

.thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.order-r {
    width: 39%;
}

.order-dl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.order-dl dt {
    width: 30%;
    text-align: center;
    padding: 2px;
    border-radius: 50vh;
    color: #D0857D;
    border: solid 1px #D0857D;
    margin: 12px 0;
}

.order-dl dd {
    width: 65%;
    margin: 12px 0;
}

.order-dl .last-dd {
    width: 100%;
    margin: 0;
}

.order-btn-wrap {
    text-align: center;
    margin-top: 80px;
    cursor: pointer;
}

.order-btn {
    position: relative;
    display: inline-block;
    max-width: 200px;
    width: 100%;
    border: solid 1px #404040;
    padding: 10px 0;
}

.order-btn::before {
    content: "";
    border-bottom: solid 1px #404040;
    width: 50px;
    height: 1px;
    position: absolute;
    top: 50%;
    right: -25px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transition: 0.2s;
}

.order-btn:hover.order-btn::before {
    right: -40px;
}

/*終わり*/


/*<section class="reason">*/
.reason {
    padding: 120px 5vw;
    position: relative;
    background-image: url(../img/reason_back.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.reason-area {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.reason-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.reason-wrap-reverse {
    flex-direction: row-reverse;
}

.reason-img-wrap {
    width: 40%;
}

.reason-txt-wrap {
    width: 57%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.reason-num {
    color: #D0857D;
    font-size: 18px;
}

.reason-title {
    font-size: 24px;
}

.reason .en-title {
    top: 120px;
}

/*終わり*/


/*<section class="bridal">*/
.bridal {
    padding: 120px 5vw;
}

.bridal-in {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
    text-align: center;
}

.bridal-h2 {
    font-weight: 400;
    color: rgba(208, 133, 125, 0.3);
    font-size: 110px;
}

.bridal-txt-01 {
    font-size: 24px;
}

/*終わり*/


/*<div class="bridal-swiper infinite-slider">*/
.bridal-swiper {
    padding-bottom: 120px;
}

.swiper-wrapper {
    transition-timing-function: linear;
}

.bridal-swiper-box {
    height: 386px;
}

.bridal-swiper-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);
}

/*終わり*/


/*<section class="flow">*/
.flow {
    position: relative;
    padding: 120px 5vw;
}

.flow-con {
    width: 80%;
    margin: 0 auto;
    border-top: solid 1px #D0857D;
    padding: 40px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.last-flow-con {
    border-bottom: solid 1px #D0857D;
}

.flow-num {
    width: 100px;
    height: 100px;
    border: solid 1px #D0857D;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
}

.flow-num-txt {
    font-size: 20px;
    line-height: 1.2;
    color: #D0857D;
}

.flow-num-txt span {
    font-size: 40px;
}

.flow-txt-wrap {
    width: calc(100% - 140px);
}

.flow-title {
    font-size: 24px;
    color: #D0857D;
}

.flow-btn {
    background-color: #D0857D;
    color: #fff;
    display: inline-block;
    max-width: 160px;
    width: 100%;
    padding: 4px;
    text-align: center;
    margin-top: 16px;
}

.flow .cta-wrap {
    margin-top: 120px;
}

.flow .en-title {
    top: 120px;
}

/*終わり*/


/*<section class="media">*/
.media {
    position: relative;
    padding: 120px 5vw;
    background-image: url(../img/media_back.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.media-h2-wrap {
    width: max-content;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 auto;
}

.media-line {
    width: 90%;
}

.media-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    gap: 21px 34px;
    margin: 64px auto 0;
    max-width: 730px;
}

.media-img {
    width: auto;
    height: 302px;
    box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);
}

.media .en-title {
    left: auto;
    right: calc(50% - 690px);
    top: 120px;
}

/*終わり*/


/*<section class="designer">*/
.designer {
    padding: 120px 5vw 280px 5vw;
}

.designer-en-title {
    color: rgba(208, 133, 125, 0.3);
    font-size: 100px;
    white-space: nowrap;
}

.designer-h2 {
    margin-top: 64px;
}

.designer-wrap-flex {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 160px;
    margin-top: 200px;
}

.designer-wrap {
    position: relative;
    width: 85%;
}

.designer-wrap-01 {
    margin: 0 0 0 auto;
}

.designer-wrap-02 {
    margin: 0 auto 0 0;
}

.designer-img-01 {
    width: 40%;
    position: absolute;
    top: -10%;
    left: -20%;
    z-index: 1;
}

.designer-img-02 {
    width: 40%;
    position: absolute;
    top: -10%;
    right: -20%;
    z-index: 1;
}

.designer-txt-wrap {
    border: solid 2px #D0857D;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.designer-txt-wrap-01 {
    padding: 40px 80px 40px 240px;
}

.designer-txt-wrap-02 {
    padding: 40px 240px 40px 80px;
}

.designer-txt-01 {
    color: rgba(208, 133, 125, 0.3);
    font-size: 100px;
    line-height: 1;
}

.designer-txt-02 {
    font-size: 24px;
}

.designer-back-01 {
    width: 60%;
    position: absolute;
    top: -10%;
    left: calc(50% - 55vw);
    z-index: -1;
}

.designer-back-02 {
    width: 70%;
    position: absolute;
    top: -20%;
    right: calc(50% - 55vw);
    z-index: -1;
}

/*終わり*/


/*<section class="access">*/
.access {
    position: relative;
    padding: 120px 5vw;
    background-image: url(../img/access_back.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.access-dl {
    margin-top: 160px;
    width: 80%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.access-dl dt {
    width: 30%;
    border-top: solid 1px #404040;
    padding: 40px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.access-dl dd {
    width: 70%;
    border-top: solid 1px #404040;
    padding: 40px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.access .en-title {
    top: 120px;
}

.access .last-dt,
.access .last-dd {
    border-bottom: solid 1px #404040;
}

/*終わり*/


/*<section class="faq">*/
.faq {
    padding: 160px 5vw;
    background-color: #FAF1F0;
}

.faq-en-title {
    color: rgba(208, 133, 125, 0.3);
    font-size: 100px;
    white-space: nowrap;
    text-align: center;
    margin: 160px 0 40px 0;
}

.faq-en-title small {
    font-size: 60px
}

.faq-wrap {
    width: 85%;
    margin: 0 auto;
}

.q-txt {
    position: relative;
    background-color: #FFF1BE;
    padding: 16px 16px 16px 40px;
    font-size: clamp(calc(16px), calc(18 / 1200 * 100vw), 18px);
    background-color: #fff;
    margin-top: 24px;
}

.nav-open::before {
    content: "Q";
    font-size: 18px;
    color: #D0857D;
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.q-txt:hover {
    cursor: pointer;
}

.q-txt::after {
    /* 閉じている時 */
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: #D0857D 2px solid;
    border-right: #D0857D 2px solid;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    right: 16px;
    top: calc(50% - 4px);
    transition: 0.2s;
}

.q-txt.active::after {
    /* 閉じている時 */
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.faq-txt {
    position: relative;
    display: none;
    margin-top: 2px;
    padding: 24px 16px 24px 40px;
    background-color: #fff;
}

.faq-txt::before {
    content: "A";
    font-size: 18px;
    color: #D0857D;
    position: absolute;
    top: 24px;
    left: 16px;
}

/*終わり*/


/*<div class="cta-wrap-area">*/
.cta-wrap-area {
    padding: 160px 5vw;
}

/*終わり*/


/*<footer class="footer">*/
.footer {
    padding: 40px 5vw 12px 5vw;
    background-color: #382A23;
    color: #fff;
    font-size: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}


@media screen and (max-width: 750px) {
    .fv {
        height: 173vw;
        background-image: url(../img/fv_sp.jpg);
    }

    .fv-txt-wrap {
        width: 100%;
        display: block;
        padding-top: 18.1vw;
    }

    .fv-h1 {
        font-size: 9.8vw;
        text-align: center;
    }

    .fv-txt {
        text-align: center;
        font-size: 5.3vw;
        margin-top: 3vw;
    }

    .fv-flex {
        margin-top: 85vw;
        width: 98%;
    }

    .fv-con {
        position: relative;
        width: 28.2vw;
        height: 28.2vw;
        overflow: hidden;
        font-size: 3.7vw;
        letter-spacing: 0;
    }

    .fv-con-txt span {
        font-size: 3.7vw;
        letter-spacing: -0.04em;
    }

    .scroll {
        bottom: 46vw;
        left: 0vw;
    }

    .tel-txt-wrap {
        display: flex;
        flex-direction: column-reverse;
    }

    .fv-cta-in {
        flex-wrap: nowrap;
        gap: 0px;
        justify-content: space-between;
    }

    .tel-wrap {
        position: relative;
        gap: 0;
    }

    .tel-wrap .tel-icon {
        position: absolute;
        width: 19px;
        top: 6px;
        left: -5px;
    }

    .tel-txt-01 {
        font-size: 14px;
    }

    .tel-txt-02 {
        padding-left: 20px;
        font-size: 23px;
    }

    .line-wrap {
        width: 165px;
        gap: 4px;
        padding: 0 8px;
    }

    .line-icon {
        width: 28px;
    }

    .line-arrow {
        right: 8px;
        width: 5px;
    }

    .parent {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .campaign {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .en-title {
        position: static;
        font-size: 36px;
        writing-mode: horizontal-tb;
    }

    .line-h2 {
        font-size: 18px;
        text-align: left;
        margin-bottom: 55px;
    }

    .line-h2::before {
        left: 0px;
        transform: none;
        width: 42px;
        bottom: -16px;
    }

    .order-wrap {
        display: block;
    }

    .order-l {
        width: 100%;
        flex-direction: column;
        gap: 6px;
    }

    .order-ul li {
        width: 60px;
        height: 60px;
    }

    .jewelry-img {
        vertical-align: bottom;
    }

    .order-ul {
        flex-direction: row;
        gap: 6px;
    }

    .jewelry-img {
        aspect-ratio: 335 / 235;
        height: auto;
    }

    .order {
        padding-bottom: 70px;
    }

    .order-r {
        width: 100%;
    }

    .order-dl {
        font-size: 14px;

    }

    .order-dl dt {
        margin: 0;
        margin-top: 10px;
    }

    .order-dl dd {
        width: calc(70% - 10px);
        margin: 10px 0 0 10px;
    }

    .order-dl .last-dd {
        margin-top: 10px;
    }

    .reason {
        padding: 70px 4vw;
        background-image: url(../img/reason_back_sp.png);
    }

    .reason-wrap {
        flex-direction: column;
    }

    .reason-img-wrap {
        width: calc(100vw);
        margin-left: -4vw;
    }

    .reason-txt-wrap {
        width: 100%;
        margin-top: 36px;
    }

    .reason-num {
        font-size: 22px;
    }

    .reason-title {
        font-size: 16px;
    }

    .reason-txt {
        font-size: 14px;
    }

    .bridal {
        padding: 60px 4vw;
    }

    .bridal-h2 {
        font-size: 36px;
    }

    .bridal-in {
        gap: 30px;
        align-items: flex-start;
    }

    .bridal-txt-01 {
        font-size: 16px;
        text-align: left;
    }

    .bridal-txt-02 {
        font-size: 14px;
        text-align: left;
    }

    .bridal-swiper {
        padding-bottom: 0;
    }

    .bridal-swiper-box {
        width: 360px;
    }

    .flow {
        padding: 70px 4vw;
    }

    .flow-con {
        width: 100%;
    }

    .flow-num {
        width: 80px;
        height: 80px;
    }

    .flow-num-txt {
        font-size: 16px;
    }

    .flow-num-txt span {
        font-size: 30px;
    }

    .flow-txt-wrap {
        width: calc(100% - 96px);
    }

    .flow-title {
        font-size: 16px;
    }

    .flow-txt {
        font-size: 14px;
    }

    .cta-wrap {
        flex-direction: column;
        gap: 10px;
    }

    .cta-tel {
        width: 100%;
        position: relative;
        padding: 16px 16px 16px 80px;
    }

    .cta-tel .tel-icon {
        width: 56px;
        position: absolute;
        top: 16px;
        left: 16px;
    }

    .cta-line {
        width: 100%;
        font-size: 18px;
        letter-spacing: normal;
    }

    .cta-line .line-icon {
        width: 56px;
    }

    .flow .cta-wrap {
        margin-top: 70px;
    }

    .cta-txt-01 span {
        font-size: 36px;
    }

    .cta-txt-01 em {
        font-style: normal;
        margin-left: -64px;
        font-size: 12px;
    }

    .media {
        padding: 70px 4vw 0;
    }

    .media-h2-wrap {
        width: 100%;
        position: relative;
        font-weight: 400;
        margin-bottom: 55px;
    }

    .media-h2-wrap:before {
        content: "";
        position: absolute;
        bottom: -16px;
        left: 0;
        width: 42px;
        height: 2px;
        border-bottom: solid 2px #404040;
    }

    .media-h2-wrap img {
        display: none;
    }

    .media-h2 {
        font-size: 18px;
        font-weight: 500;
    }

    .media-img {
        height: 120px;
    }

    .media-flex {
        gap: 20px 13px;
    }

    .designer {
        padding: 70px 4vw;
    }

    .designer-en-title {
        font-size: 36px;
        letter-spacing: normal;
    }

    .designer-h2 {
        margin-top: 0;
        font-size: 18px;
    }

    .designer-wrap-flex {
        margin-top: 60px;
        gap: 40px;
    }

    .designer-img-01,
    .designer-img-02 {
        position: static;
        width: 252px;
        display: block;
        margin: 0 auto;
    }

    .designer-wrap {
        width: 100%;
    }

    .designer-wrap-01 {
        margin: 0;
    }

    .designer-txt-wrap-01,
    .designer-txt-wrap-02 {
        padding: 0;
        border-style: none;
    }

    .designer-back-01 {}

    .designer-txt-01 {
        font-size: 57px;
    }

    .designer-txt-02 {
        font-size: 16px;
    }

    .designer-txt-03 {
        font-size: 14px;
    }

    .designer-txt-04 {
        font-size: 14px;
    }

    .designer-back-01,
    .designer-back-02 {
        max-width: initial;
        width: 110%;
        top: -80px;
        left: -5vw;
    }

    .access {
        padding: 70px 4vw;
        background: url(../img/access_back_sp.png) no-repeat center center/cover;
    }

    .access-dl {
        width: 100%;
    }

    .access-dl dt {
        text-align: center;
        font-size: 12px;
    }

    .access-dl dd {
        font-size: 14px;
    }

    .faq {
        padding: 70px 4vw;
    }
    .faq-en-title {
        margin: 70px 0 0;
        text-align: left;
        font-size: 36px;
    }
    .faq-en-title small {
        font-size: 36px;
    }
    .faq-wrap {
        width: 100%;
    }
    .q-txt {
        font-size: 14px;
    }
    .q-txt {
        padding-right: 30px;
        margin-top: 20px;
    }
    .q-txt::after {
        right: 12px;
    }
    .nav-open::before {

    }
    .a-txt {
        font-size: 14px;
    }
    .cta-wrap-area {
        padding: 70px 4vw;
    }
    .footer {
        padding: 16px 4vw 12px 4vw;
        gap: 4px;
    }
}