.hero {
    width: 100vw;
    background-color: white;
    display: flex;
    position: relative;
    overflow: hidden;
}

@media (max-width: 780px) {
    .hero {
        width: 100vw;
        padding: 10.666667vw 4.266667vw 10.706667vw;
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
    }
}

.hero__menu {
    width: 5.208333vw;
    height: 49.375vw;
    border-right: 1px solid black;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18.777604vw;
    padding-top: 3.347917vw;
}

@media (max-width: 780px) {
    .hero__menu {
        width: 100%;
        height: 9.584vw;
        border-right: none;
        border-bottom: 1px solid black;
        flex-direction: row;
        gap: unset;
        justify-content: space-between;
        align-items: center;
        padding-top: 0;
    }
}

.hero__menu-text {
    font-family: 'BIZ UDMincho', serif;
    font-size: 2.083333vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.18em;
    writing-mode: vertical-rl;
}

@media (max-width: 780px) {
    .hero__menu-text {
        height: unset;
        font-size: 4.8vw;
        line-height: 1.4;
        letter-spacing: 0.1em;
        writing-mode: unset;
    }
}

.hero__menu-logo {
    width: 2.209375vw;
    height: 10.114583vw;
    text-decoration: none;
}

@media (max-width: 780px) {
    .hero__menu-logo {
        width: 23.088vw;
        height: 7.450667vw;
    }
}

.hero__menu-logo img {
    display: none;
}

@media (max-width: 780px) {
    .hero__menu-logo img {
        display: block;
    }
}

.hero__menu-logo svg {
    display: block;
}

@media (max-width: 780px) {
    .hero__menu-logo svg {
        display: none;
    }
}

.hero__menu-logo svg path {
    transition: fill 0.3s ease;
}

.hero__menu-logo:hover svg path {
    fill: #5C5867;
}

.hero__main {
    width: 94.791667vw;
    height: 49.375vw;
    display: flex;
}

@media (max-width: 780px) {
    .hero__main {
        width: 100%;
        height: unset;
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
        align-items: center;
    }
}

.hero__main-image-wrap {
    width: 61.927083vw;
    height: 49.375vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (max-width: 780px) {
    .hero__main-image-wrap {
        width: 100%;
        height: unset;
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
        align-items: center;
    }
}

.hero__main-image {
    width: 42.916667vw;
    height: 32.604167vw;
    background-color: #fff;
    margin-left: 5.677083vw;
}

@media (max-width: 780px) {
    .hero__main-image {
        width: 80vw;
        height: 60.776vw;
        margin-left: 0;
    }
}

.hero__main-text-content {
    width: 32.864583vw;
    height: 49.375vw;
}

@media (max-width: 780px) {
    .hero__main-text-content {
        width: 100%;
        height: unset;
    }
}

.hero__main-text-wrap {
    display: flex;
    flex-direction: column;
    gap: 2.083333vw;
    width: 21.666667vw;
    margin-top: 15.416667vw;
}

@media (max-width: 780px) {
    .hero__main-text-wrap {
        width: 100%;
        gap: 4.266667vw;
        margin-top: 0;
    }
}

.hero__main-text {
    font-size: 0.83333vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
}

@media (max-width: 780px) {
    .hero__main-text {
        font-size: 3.733333vw;
    }
}


.hero__main-text-header {
    display: flex;
    flex-direction:column;
    gap: 0.416667vw;
}

@media (max-width: 780px) {
    .hero__main-text-header {
        gap: 1.066667vw;
    }
}

.hero__main-title {
    font-family: 'BIZ UDMincho', serif;
    font-size: 1.197917vw;
    font-weight: 400;
    line-height: 1.739;
    letter-spacing: 0.05em;
}

@media (max-width: 780px) {
    .hero__main-title {
        font-size: 4.8vw;
        line-height: 2.22;
    }
}

.hero__main-title-text {
    font-size: 0.833333vw;
    font-weight: 400;
    line-height: 1.56;
    letter-spacing: 0.05em;
}

@media (max-width: 780px) {
    .hero__main-title-text {
        font-size: 3.2vw;
        line-height: 2.08;
    }
}

.hero__link {
    position: absolute;
    top: 1.254167vw;
    right: 1.25vw;
    width: 6.25vw;
    height: 6.25vw;
    border-radius: 50%;
    background-color: #272727;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: white;
    gap: 0.197917vw;
    padding-top: 1.666667vw;
    transition: background-color 0.3s ease;
}

.hero__link:hover {
    background-color: #7E0000;
}

@media (max-width: 780px) {
    .hero__link {
        width: 21.333333vw;
        height: 21.333333vw;
        padding-top: 3.733333vw;
        top: unset;
        bottom: -3.021333vw;
        right: 4.266667vw;
        gap: 1.136vw;
    }
}

.hero__link-text {
    width: fit-content;
    font-size: 0.885417vw;
    font-weight: 500;
    line-height: 1.353;
    letter-spacing: 0.05em;
    text-decoration: none;
    text-align: center;
}

.hero__link-text span {
    font-size: 0.78125vw;
}

@media (max-width: 780px) {

    .hero__link-text {
        font-size: 3.2vw;
    }

    .hero__link-text span {
        font-size: 2.666667vw;
    }
}

.hero__link-image {
    width: 1.666667vw;
    height: 1.291667vw;
    background-image: url('../../images/jan/hero-link-image.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 780px) {
    .hero__link-image {
        width: 6.4vw;
        height: 4.96vw;
    }
}

.about {
    width: 100vw;
    background-color: #E5DFD9;
    padding: 4.166667vw 22.644792vw;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: space-between;
    position: relative;
}

@media (max-width: 780px) {
    .about {
        width: 100vw;
        padding: 10.666667vw 4.266667vw 21.333333vw;
        flex-direction: column;
        gap: 6.4vw;
    }
}

.about__bg01 {
    width: 12.265625vw;
    height: 3.313542vw;
    position: absolute;
    top: 5.905208vw;
    left: 2.234375vw;
    background-image: url('/resources/enatomo_salon/images/jan/about-bg01.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 780px) {
    .about__bg01 {
        width: 40.962667vw;
        height: 11.066667vw;
        top: 10.266667vw;
        left: 1.237333vw;
    }
}

.about__bg02 {
    width: 15.304167vw;
    height: 3.555208vw;
    position: absolute;
    top: 26.6125vw;
    right: 6.09375vw;
    background-image: url('/resources/enatomo_salon/images/jan/about-bg02.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 780px) {
    .about__bg02 {
        width: 36.936vw;
        height: 8.581333vw;
        top: 209.306667vw;
        right: 6.949333vw;
    }
}

.about__title {
    width: 4.710417vw;
    height: 28.645833vw;
    font-family: 'BIZ UDMincho', serif;
    font-size: 1.875vw;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.3em;
    writing-mode: vertical-rl;
}

@media (max-width: 780px) {
    .about__title {
        width: 13.333333vw;
        height: 73.333333vw;
        font-size: 4.8vw;
    }
}

.about__text {
    width: 41.666667vw;
    font-size: 0.9375vw;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 2.4;
}

@media (max-width: 780px) {
    .about__text {
        width: 100%;
        font-size: 3.733333vw;
    }
}

.image-section {
    width: 100vw;
    height: 20.833333vw;
}

@media (max-width: 780px) {
    .image-section {
        width: 100vw;
        height: 53.333333vw;
    }
}

.product {
    width: 100vw;
    display: flex;
}

.product--1 {
    background-color: #DAB67C;
}

.product--2 {
    background-color: #4B0801;
}

.product--3 {
    background-color: #6D3034;
}

@media (max-width: 780px) {
    .product {
        width: 100vw;
        background-color: white;
    }
}

.product__menu {
    width: 36.510417vw;
    height: auto;
    position: relative;
}

.product__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 36.51vw;
    height: 55.78vw;
}

.product__image.fixed {
    position: fixed;
    top: 0;
    left: 0;
}

@media (max-width: 780px) {

    .product__menu,
    .product__image {
       display: none;
    }
}

.product-main {
    width: 63.541667vw;
    padding: 0;
}

@media (max-width: 780px) {
    .product-main {
        width: 100vw;
    }
}

.product-main__content {
    background-color: #FBFAF9;
    padding: 8.333333vw 6.276042vw 3.333333vw;
    display: flex;
    flex-direction: column;
    gap: 3.333333vw;
}

@media (max-width: 780px) {
    .product-main__content {
        padding: 10.666667vw 4.266667vw;
        gap: 10.666667vw;
    }
}

.product-main__header {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 3.333333vw;
}

@media (max-width: 780px) {
    .product-main__header {
        gap: 6.4vw;
    }
}

.product-main__header-title-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (max-width: 780px) {
    .product-main__header-title-wrap {
        justify-content: flex-start;
        align-items: flex-start;
        gap: 6.4vw;
    }
}

.product-main__header-title {
    font-family: 'BIZ UDMincho', serif;
    font-size: 2.604167vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.35em;
    writing-mode: vertical-rl;
}

@media (max-width: 780px) {
    .product-main__header-title {
        font-size: 6.4vw;
    }
}

.product-main__header-title-image {
    display: none;
}

@media (max-width: 780px) {
    .product-main__header-title-image {
        display: block;
        width: 70.133333vw;
        height: 72vw;
    }
}

.product-main__header-text {
    font-size: 0.9375vw;
    font-weight: 400;
    line-height: 2.2;
    letter-spacing: 0;
    padding: 1.25vw 4.661458vw;
    background-color: white;
}

@media (max-width: 780px) {

    .product-main__header-text {
        font-size: 3.733333vw;
        line-height: 1.8;
        padding: 6.4vw;
    }
}

.product-main__section-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2.083333vw;
}

@media (max-width: 780px) {
    .product-main__section-list {
        gap: 10.666667vw;
    }
}

.product-main__section {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2.083333vw;
}

@media (max-width: 780px) {
    .product-main__section {
        gap: 10.666667vw;
    }
}

.product-main__section-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.833333vw;
}

@media (max-width: 780px) {
    .product-main__section-wrap {
        gap: 4.266667vw;
    }
}

.product-main__section-title-wrap {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.833333vw;
}

@media (max-width: 780px) {
    .product-main__section-title-wrap {
        gap: 4.266667vw;
    }
}

.product-main__section-number {
    width: 4.166667vw;
    height: 4.166667vw;
    border-radius: 50%;
    background-color: #333;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'BIZ UDMincho', serif;
    font-size: 2.083333vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.02em;
}

@media (max-width: 780px) {
    .product-main__section-number {
        width: 17.066667vw;
        height: 17.066667vw;
        font-size: 6.4vw;
    }
}

.product-main__section-title {
    font-family: 'BIZ UDMincho', serif;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.04em;
}

@media (max-width: 780px) {
    .product-main__section-title {
        font-size: 4.8vw;
    }
}

.product-main__section-text {
    font-size: 0.833333vw;
    font-weight: 400;
    line-height: 2.4;
    letter-spacing: 0.05em;
}

@media (max-width: 780px) {
    .product-main__section-text {
        font-size: 3.733333vw;
        line-height: 1.8;
    }
}

.product-main__section-image {
    width: 33.333333vw;
    height: 21.052604vw;
    border-radius: 1.5625vw;
    overflow: hidden;
}

@media (max-width: 780px) {
    .product-main__section-image {
        width: 91vw;
        height: 57.474667vw;
        border-radius: 2.133333vw;
    }
}

.product-main__comment {
    width: 100%;
    display: flex;
    align-items: flex-end;
    gap: 3.333333vw;
    padding-left: 3.59375vw;
}

@media (max-width: 780px) {
    .product-main__comment {
        flex-direction: column;
        align-items: center;
        padding-left: 0;
        gap: 6.4vw;
    }
}

.product-main__comment-text-wrap {
    width: 31.09375vw;
    background-color: white;
    border-radius: 1.5625vw;
    padding: 1.25vw;
    display: flex;
    flex-direction: column;
    gap: 0.416667vw;
}

@media (max-width: 780px) {
    .product-main__comment-text-wrap {
        width: 100%;
        border-radius: 2.133333vw;
        padding: 4.266667vw;
        gap: 2.133333vw;
    }
}

.product-main__comment-text-title {
    font-size: 1.041667vw;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.04em;
}

@media (max-width: 780px) {
    .product-main__comment-text-title {
        font-size: 4.8vw;
        line-height: 1.94;
    }
}

.product-main__comment-text {
    font-size: 0.833333vw;
    font-weight: 400;
    line-height: 2.2;
    letter-spacing: 0.05em;
}

@media (max-width: 780px) {
    .product-main__comment-text {
        font-size: 3.733333vw;
        line-height: 1.8;
    }
}

.product-main__comment-image-wrap {
    width: 9.375vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.833333vw;
    position: relative;
}

@media (max-width: 780px) {
    .product-main__comment-image-wrap {
        width: 48vw;
        gap: 4.266667vw;
    }
}

.product-main__comment-image {
    width: 9.375vw;
    height: 9.375vw;
    border-radius: 50%;
    overflow: hidden;
}

@media (max-width: 780px) {
    .product-main__comment-image {
        width: 48vw;
        height: 48vw;
    }
}

.product-main__comment-image-text {
    width: 100%;
    text-align: center;
    font-family: 'BIZ UDMincho', serif;
    font-size: 0.729167vw;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

@media (max-width: 780px) {
    .product-main__comment-image-text {
        font-size: 3.733333vw;
    }
}

.product-main__comment-image-text span {
    font-size: 0.9375vw;
}

@media (max-width: 780px) {
    .product-main__comment-image-text span {
        font-size: 4.8vw;
    }
}


.product-main__comment-mark {
    position: absolute;
    top: -0.411458vw;
    right: -0.843229vw;
    width: 3.931771vw;
    height: 2.363542vw;
    transform: rotate(22.07deg);
    background-image: url('../../images/jan/comment-mark.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 780px) {
    .product-main__comment-mark {
        top: -2.8vw;
        right: -7.205333vw;
        width: 12.757333vw;
        height: 7.669333vw;
    }
}

.product-main__cta {
    width: 100%;
    background-color: #E5DFD9;
    padding: 2.083333vw 6.25vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.083333vw;
}

@media (max-width: 780px) {
    .product-main__cta {
        width: 91.466667vw;
        margin: 0 auto;
        padding: 6.4vw 5.466667vw;
        gap: 6.4vw;
    }
}

.product-main__cta-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2.083333vw;
}

@media (max-width: 780px) {
    .product-main__cta-content {
        gap: 6.4vw;
    }
}

.product-main__cta-title-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.833333vw;
}

@media (max-width: 780px) {
    .product-main__cta-title-wrap {
        gap: 2.133333vw;
    }
}

.product-main__cta-title {
    font-family: 'BIZ UDMincho', serif;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.848;
    letter-spacing: 0.04em;
}

@media (max-width: 780px) {
    .product-main__cta-title {
        font-size: 4.8vw;
        line-height: 1.94;
    }
}

.product-main__cta-text {
    font-size: 0.9375vw;
    font-weight: 400;
    line-height: 1.94;
    letter-spacing: 0.02em;
}

@media (max-width: 780px) {
    .product-main__cta-text {
        font-size: 3.733333vw;
        line-height: 2.5;
    }
}

.product-main__cta-price {
    font-size: 1.458333vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
}

@media (max-width: 780px) {
    .product-main__cta-price {
        font-size: 7.466667vw;
        line-height: 1.556;
    }
}

.product-main__cta-price span {
    font-size: 0.677083vw;
}

@media (max-width: 780px) {
    .product-main__cta-price span {
        font-size: 3.466667vw;
    }
}

.product-main__cta-image-list-wrap {
    width: fit-content;
}

@media (max-width: 780px) {
    .product-main__cta-image-list-wrap {
        width: 100%;
        overflow: scroll;
    }
}

.product-main__cta-image-list {
    width: fit-content;
    display: flex;
    gap: 0.833333vw;
}

@media (max-width: 780px) {
    .product-main__cta-image-list {
        width: 132.266667vw;
        gap: 2.133333vw;
    }
}

.product-main__cta-image {
    width: 14.0625vw;
    height: 14.0625vw;
}

@media (max-width: 780px) {
    .product-main__cta-image {
        width: 42.666667vw;
        height: 42.666667vw;
    }
}

.product-main__cta-button {
    width: 9.791667vw;
    height: 2.34375vw;
    background-color: black;
    color: white;
    text-decoration: none;
    border-radius: 0.520833vw;
    position: relative;
    padding-top: 0.260417vw;
    padding-left: 2.604167vw;
    font-size: 0.885417vw;
    font-weight: 500;
    line-height: 2.058;
    letter-spacing: 0.08em;
    transition: background-color 0.3s ease, color 0.3s ease;
    border: 1px solid black;
}

.product-main__cta-button:hover {
    color: black;
    background-color:  white;
}

.product-main__cta-button::after {
    content: '';
    position: absolute;
    top: 0.952083vw;
    right: 2.18125vw;
    width: 0.7875vw;
    height: 0.439583vw;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='14.625' y1='5.2207' x2='0.505516' y2='5.2207' stroke='white' stroke-linecap='round'/%3E%3Cpath d='M10.4688 0.5L15.1193 4.72119L10.4688 8.94238' stroke='white' stroke-linecap='round'/%3E%3C/svg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.product-main__cta-button:hover::after {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='14.625' y1='5.2207' x2='0.505516' y2='5.2207' stroke='black' stroke-linecap='round'/%3E%3Cpath d='M10.4688 0.5L15.1193 4.72119L10.4688 8.94238' stroke='black' stroke-linecap='round'/%3E%3C/svg%3E");
}

@media (max-width: 780px) {
    .product-main__cta-button {
        width: 50.133333vw;
        height: 12vw;
        padding-top: 1.333333vw;
        padding-left: 13.333333vw;
        font-size: 3.733333vw;
        line-height: 2.5;
    }

    .product-main__cta-button::after {
        top: 4.874667vw;
        right: 14.634667vw;
        width: 4.032vw;
        height: 2.250667vw;
    }
}



.recommend {
    width: 100vw;
    background-color: white;
    padding: 8.333333vw 17.135417vw;
    display: flex;
    flex-direction: column;
    gap: 2.083333vw;
}

@media (max-width: 780px) {
    .recommend {
        width: 100vw;
        padding: 10.666667vw 4.266667vw;
        gap: 10.666667vw;
    }
}

.recommend__title-wrap {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 1.25vw;
    text-decoration: none;
    color: black;
}

@media (max-width: 780px) {
    .recommend__title-wrap {
        gap: 4.266667vw;
    }
}

.recommend__title {
    font-family: 'BIZ UDMincho', serif;
    font-size: 2.604167vw;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.05em;
}

@media (max-width: 780px) {
    .recommend__title {
        font-size: 4.8vw;
    }
}

.recommend__title-button {
    width: 2.604167vw;
    height: 2.604167vw;
    border: 1px solid black;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.recommend__title-button svg {
    width: 0.833333vw;
    height: 0.520833vw;
}

@media (max-width: 780px) {
    .recommend__title-button {
        width: 6.4vw;
        height: 6.4vw;
    }

    .recommend__title-button svg {
        width: 2.133333vw;
        height: 1.192vw;
    }
}


.recommend__list-wrap {
    width: 100%;
}

@media (max-width: 780px) {
    .recommend__list-wrap {
        overflow: scroll;
    }
}

.recommend__list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 1.458333vw;
    row-gap: 1.458333vw;
}

@media (max-width: 780px) {
    .recommend__list {
        width: 445.866667vw;
        gap: 2.133333vw;
    }
}

.recommend__item {
    width: 11.979167vw;
    height: 11.979167vw;
}

@media (max-width: 780px) {
    .recommend__item {
        width: 42.666667vw;
        height: 42.666667vw;
    }
}


.footer {
    width: 100vw;
    height: 56.25vw;
    background-color: black;
    position: relative;
}

@media (max-width: 780px) {
    .footer {
        width: 100vw;
        height: 216.533333vw;
    }
}

.footer__image {
    width: 36.458333vw;
    height: 56.25vw;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url('../../images/jan/footer-image.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 780px) {
    .footer__image {
        width: 100vw;
        height: 53.333333vw;
        background-image: url('../../images/jan/sp-footer-image.jpg');
    }
}

.footer__content {
    position: absolute;
    top: 0;
    left: 36.458333vw;
    width: 63.541667vw;
    height: 100%;
    padding: 9.010417vw 0 0;
}

@media (max-width: 780px) {
    .footer__content {
        top: 53.333333vw;
        left: 0;
        width: 100vw;
        height: unset;
        padding: 9.866667vw 5.333333vw 3.816vw;
    }
}

.footer__main {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 780px) {
    .footer__main {
        display: flex;
        flex-direction: column;
    }
}

.footer__title {
    color: white;
    font-family: 'BIZ UDMincho', serif;
    font-size: 3.072917vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.18em;
    writing-mode: vertical-rl;
}

@media (max-width: 780px) {
    .footer__title {
        font-size: 6.4vw;
    }
}

.footer__button-wrap {
    width: fit-content;
    display: flex;
    gap: 0.833333vw;
    margin-top: 4.114583vw;
}

@media (max-width: 780px) {
    .footer__button-wrap {
        width: 100%;
        flex-direction: column;
        gap: 4.266667vw;
        margin-top: 10.666667vw;
    }
}

.footer__button {
    width: 18.229167vw;
    height: 2.604167vw;
    border: 1px solid white;
    color: white;
    font-size: 0.833333vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (max-width: 780px) {
    .footer__button {
        width: 100%;
        height: 13.333333vw;
        font-size: 4.266667vw;
    }
}

.footer__logo {
    display: none;
}

@media (max-width: 780px) {
    .footer__logo {
        display: block;
        width: 64vw;
        height: 14.584vw;
        margin-top: 10.666667vw;
    }
}

.footer__link-wrap {
    width: fit-content;
    display: flex;
    gap: 1.822917vw;
    margin-top: 1.614583vw;
}

@media (max-width: 780px) {
    .footer__link-wrap {
        width: fit-content;
        gap: 7.733333vw;
        margin-top: 10.666667vw;
    }
}

.footer__link {
    color: white;
    font-size: 0.833333vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    text-decoration: none;
}

@media (max-width: 780px) {
    .footer__link {
        font-size: 3.733333vw;
    }
}

.footer__copyright {
    color: white;
    font-size: 0.520833vw;
    font-weight: 500;
    line-height: 2.8;
    letter-spacing: 0.05em;
    margin-top: 3.494792vw;
}

@media (max-width: 780px) {
    .footer__copyright {
        font-size: 2.666667vw;
        margin-top: 4.266667vw;
    }
}

.to-top {
    position: fixed;
    top: 2.083vw;
    right: 2.124vw;
    width: 2.21vw;
    height: 9.792vw;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.to-top.is-visible {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 780px) {
    .to-top {
        width: 9.290667vw;
        height: 42.666667vw;
        top: 6.4vw;
        right: 0;
    }
}