:root {
    --content-width: 1400px;
    --content-width-sm: 1000px;
    --spacing: clamp(2px, 1.568px + 0.14vw, 4px);

    /* 0.75rem (12px) */
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);

    /* 0.875rem (14px) */
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);

    /* 1rem (16px) */
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);

    /* 1.125rem (18px) */
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);

    /* 1.25rem (20px) */
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);

    /* 1.5rem (24px) */
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);

    /* 1.875rem (30px) */
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);

    /* 2.25rem (36px) */
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);

    /* 3rem (48px) */
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;

    /* 3.75rem (60px) */
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;

    /* 4.5rem (72px) */
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;

    /* 6rem (96px) */
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;

    /* 8rem (128px) */
    --text-9xl: 8rem;
    --text-9xl--line-height: 1;

    --swiper-navigation-color: #00ada5;
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
}

p {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

li {
    list-style: none;
}

dl {
    margin: 0;
}

dt {
    margin: 0;
}

dd {
    margin: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    color: #231815;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-style: normal;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;

    margin: 0;
    padding: 0;
}

::selection {
    color: white;
    background-color: #0073bc;
}

/*
コンテンツ幅
*/

.content-width-margin {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--content-width);
}

.content-width-padding {
    padding-left: calc((100% - var(--content-width)) / 2);
    padding-right: calc((100% - var(--content-width)) / 2);
    width: 100%;
}

.content-width-margin-sm {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--content-width-sm);
}

.content-width-padding-sm {
    padding-left: calc((100% - var(--content-width-sm)) / 2);
    padding-right: calc((100% - var(--content-width-sm)) / 2);
    width: 100%;
}

@media (max-width: 1400px) {
    .content-width-margin {
        margin-left: 0;
        margin-right: 0;
    }

    .content-width-padding {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width: 1072px) {
    .content-width-margin-sm {
        margin-left: clamp(36px, 20.688px + 4.79vw, 72px);
        margin-right: clamp(36px, 20.688px + 4.79vw, 72px);
    }

    .content-width-padding-sm {
        padding-left: clamp(36px, 20.688px + 4.79vw, 72px);
        padding-right: clamp(36px, 20.688px + 4.79vw, 72px);
    }
}

/*
フェードイン
*/

@keyframes fadein {
    0% {
        opacity: 0;
        transform: translateY(5px) scale(0.95);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.fadein {
    animation: fadein 1s ease-out 0s 1 normal forwards;
    animation-play-state: paused;
}

.fadein--active {
    animation-play-state: running;
}

/*
display
*/

.block {
    display: block;
}

.flex {
    display: flex;
}

.grid {
    display: grid;
}

/*
テキストカラー
*/

.text-white {
    color: white;
}

.text-black {
    color: black;
}

/*
テキストアライン
*/

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

/*
テキストサイズ
*/

.text-xs {
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
}

.text-sm {
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
}

.text-base {
    font-size: var(--text-base);
    line-height: var(--text-base--line-height);
}

.text-lg {
    font-size: var(--text-lg);
    line-height: var(--text-lg--line-height);
}

.text-xl {
    font-size: var(--text-xl);
    line-height: var(--text-xl--line-height);
}

.text-\[1\.375rem\] {
    font-size: 1.375rem;
    line-height: calc(1.75 / 1.375);
}

.text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--text-2xl--line-height);
}

.text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--text-3xl--line-height);
}

.text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--text-4xl--line-height);
}

.text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--text-5xl--line-height);
}

.text-6xl {
    font-size: var(--text-6xl);
    line-height: var(--text-6xl--line-height);
}

.text-7xl {
    font-size: var(--text-7xl);
    line-height: var(--text-7xl--line-height);
}

.text-8xl {
    font-size: var(--text-8xl);
    line-height: var(--text-8xl--line-height);
}

.text-9xl {
    font-size: var(--text-9xl);
    line-height: var(--text-9xl--line-height);
}

/*
フォントウェイト
*/

.font-thin {
    font-weight: 100;
}

.font-extralight {
    font-weight: 200;
}

.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

.font-extrabold {
    font-weight: 800;
}

.font-black {
    font-weight: 900;
}

/*
line-height
*/

.leading-1 {
    line-height: 1;
}

.leading-1\.25 {
    line-height: 1.25;
}

.leading-1\.5 {
    line-height: 1.5;
}

.leading-1\.75 {
    line-height: 1.75;
}

.leading-2 {
    line-height: 2;
}

.leading-2\.25 {
    line-height: 2.25;
}

.leading-2\.5 {
    line-height: 2.5;
}

.leading-2\.75 {
    line-height: 2.75;
}

.leading-3 {
    line-height: 3;
}

/*
テキストデコレーション
*/

.no-underline {
    text-decoration: none;
}

/*
ホワイトスペース
*/

.whitespace-nowrap {
    white-space: nowrap;
}

/*
letter-spacing
*/

.tracking-normal {
    letter-spacing: normal;
}

/*
背景色
*/

.bg-white {
    background-color: white;
}

.bg-neutral-100 {
    background-color: #F7F7F8;
}

@media (min-width: 768px) {
    .md\:bg-white {
        background-color: white;
    }

    .md\:bg-neutral-100 {
        background-color: #f7f7f8;
    }
}

@media (min-width: 1280px) {
    .xl\:bg-white {
        background-color: white;
    }

    .xl\:bg-neutral-100 {
        background-color: #f7f7f8;
    }
}

/*
スクロールスナップ
*/

.snap-none {
    scroll-snap-type: none;
}

.snap-x {
    scroll-snap-type: x var(--tw-scroll-snap-strictness, proximity);
}

.snap-y {
    scroll-snap-type: y var(--tw-scroll-snap-strictness, proximity);
}

.snap-both {
    scroll-snap-type: both var(--tw-scroll-snap-strictness, proximity);
}

.snap-start {
    scroll-snap-align: start;
}

.snap-center {
    scroll-snap-align: center;
}

.snap-end {
    scroll-snap-align: end;
}

.snap-mandatory {
    --tw-scroll-snap-strictness: mandatory;
}

.snap-proximity {
    --tw-scroll-snap-strictness: proximity;
}

/*
オーバーフロー
*/

.overflow-hidden {
    overflow: hidden;
}

.overflow-scroll {
    overflow: scroll;
}

/*
幅・高さ
*/

.w-fit {
    width: fit-content;
}

.w-100 {
    width: 100%;
}

.h-100 {
    height: 100%;
}

.h-screen {
    height: 100vh;
}

/*
マージン
*/

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.ml-auto {
    margin-left: auto;
}

.mr-auto {
    margin-right: auto;
}

.mt-auto {
    margin-top: auto;
}

.mt-0 {
    margin-top: 0;
}

.mt-2 {
    margin-top: calc(var(--spacing) * 2);
}

.mt-3 {
    margin-top: calc(var(--spacing) * 3);
}

.mt-4 {
    margin-top: calc(var(--spacing) * 4);
}

.mt-5 {
    margin-top: calc(var(--spacing) * 5);
}

.mt-6 {
    margin-top: calc(var(--spacing) * 6);
}

.mt-8 {
    margin-top: calc(var(--spacing) * 8);
}

.mt-9 {
    margin-top: calc(var(--spacing) * 9);
}

.mt-10 {
    margin-top: calc(var(--spacing) * 10);
}

.mt-12 {
    margin-top: calc(var(--spacing) * 12);
}

.mt-14 {
    margin-top: calc(var(--spacing) * 14);
}

.mt-16 {
    margin-top: calc(var(--spacing) * 16);
}

.mt-18 {
    margin-top: calc(var(--spacing) * 18);
}

.mt-20 {
    margin-top: calc(var(--spacing) * 20);
}

.mt-22 {
    margin-top: calc(var(--spacing) * 22);
}

.mt-24 {
    margin-top: calc(var(--spacing) * 24);
}

.mt-28 {
    margin-top: calc(var(--spacing) * 28);
}

.mt-30 {
    margin-top: calc(var(--spacing) * 30);
}

.mt-32 {
    margin-top: calc(var(--spacing) * 32);
}

.mt-36 {
    margin-top: calc(var(--spacing) * 36);
}

.mt-40 {
    margin-top: calc(var(--spacing) * 40);
}

.mt-44 {
    margin-top: calc(var(--spacing) * 44);
}

.mt-48 {
    margin-top: calc(var(--spacing) * 48);
}

.mt-54 {
    margin-top: calc(var(--spacing) * 54);
}

.mt-64 {
    margin-top: calc(var(--spacing) * 64);
}

.mt-96 {
    margin-top: calc(var(--spacing) * 96);
}

.mt-114 {
    margin-top: calc(var(--spacing) * 114);
}

.mt-120 {
    margin-top: calc(var(--spacing) * 120);
}

.mb-auto {
    margin-bottom: auto;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
}

.mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
}

.mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
}

.mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
}

.mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
}

.mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
}

.mb-9 {
    margin-bottom: calc(var(--spacing) * 9);
}

.mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
}

.mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
}

.mb-14 {
    margin-bottom: calc(var(--spacing) * 14);
}

.mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
}

.mb-18 {
    margin-bottom: calc(var(--spacing) * 18);
}

.mb-20 {
    margin-bottom: calc(var(--spacing) * 20);
}

.mb-22 {
    margin-bottom: calc(var(--spacing) * 22);
}

.mb-24 {
    margin-bottom: calc(var(--spacing) * 24);
}

.mb-28 {
    margin-bottom: calc(var(--spacing) * 28);
}

.mb-30 {
    margin-bottom: calc(var(--spacing) * 30);
}

.mb-32 {
    margin-bottom: calc(var(--spacing) * 32);
}

.mb-36 {
    margin-bottom: calc(var(--spacing) * 36);
}

.mb-40 {
    margin-bottom: calc(var(--spacing) * 40);
}

.mb-44 {
    margin-bottom: calc(var(--spacing) * 44);
}

.mb-48 {
    margin-bottom: calc(var(--spacing) * 48);
}

.mb-54 {
    margin-bottom: calc(var(--spacing) * 54);
}

.mb-64 {
    margin-bottom: calc(var(--spacing) * 64);
}

.mb-96 {
    margin-bottom: calc(var(--spacing) * 96);
}

.mb-114 {
    margin-bottom: calc(var(--spacing) * 114);
}

.mb-120 {
    margin-bottom: calc(var(--spacing) * 120);
}

.mr-24 {
    margin-right: calc(var(--spacing) * 24);
}

/*
パディング
*/

.pt-0 {
    padding-top: 0;
}

.pt-2 {
    padding-top: calc(var(--spacing) * 2);
}

.pt-3 {
    padding-top: calc(var(--spacing) * 3);
}

.pt-4 {
    padding-top: calc(var(--spacing) * 4);
}

.pt-5 {
    padding-top: calc(var(--spacing) * 5);
}

.pt-6 {
    padding-top: calc(var(--spacing) * 6);
}

.pt-8 {
    padding-top: calc(var(--spacing) * 8);
}

.pt-9 {
    padding-top: calc(var(--spacing) * 9);
}

.pt-10 {
    padding-top: calc(var(--spacing) * 10);
}

.pt-12 {
    padding-top: calc(var(--spacing) * 12);
}

.pt-14 {
    padding-top: calc(var(--spacing) * 14);
}

.pt-16 {
    padding-top: calc(var(--spacing) * 16);
}

.pt-18 {
    padding-top: calc(var(--spacing) * 18);
}

.pt-20 {
    padding-top: calc(var(--spacing) * 20);
}

.pt-22 {
    padding-top: calc(var(--spacing) * 22);
}

.pt-24 {
    padding-top: calc(var(--spacing) * 24);
}

.pt-28 {
    padding-top: calc(var(--spacing) * 28);
}

.pt-30 {
    padding-top: calc(var(--spacing) * 30);
}

.pt-32 {
    padding-top: calc(var(--spacing) * 32);
}

.pt-36 {
    padding-top: calc(var(--spacing) * 36);
}

.pt-40 {
    padding-top: calc(var(--spacing) * 40);
}

.pt-44 {
    padding-top: calc(var(--spacing) * 44);
}

.pt-48 {
    padding-top: calc(var(--spacing) * 48);
}

.pt-54 {
    padding-top: calc(var(--spacing) * 54);
}

.pt-64 {
    padding-top: calc(var(--spacing) * 64);
}

.pt-96 {
    padding-top: calc(var(--spacing) * 96);
}

.pt-114 {
    padding-top: calc(var(--spacing) * 114);
}

.pt-120 {
    padding-top: calc(var(--spacing) * 120);
}

.pb-0 {
    padding-bottom: 0;
}

.pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
}

.pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
}

.pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
}

.pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
}

.pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
}

.pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
}

.pb-9 {
    padding-bottom: calc(var(--spacing) * 9);
}

.pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
}

.pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
}

.pb-14 {
    padding-bottom: calc(var(--spacing) * 14);
}

.pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
}

.pb-18 {
    padding-bottom: calc(var(--spacing) * 18);
}

.pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
}

.pb-22 {
    padding-bottom: calc(var(--spacing) * 22);
}

.pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
}

.pb-28 {
    padding-bottom: calc(var(--spacing) * 28);
}

.pb-30 {
    padding-bottom: calc(var(--spacing) * 30);
}

.pb-32 {
    padding-bottom: calc(var(--spacing) * 32);
}

.pb-36 {
    padding-bottom: calc(var(--spacing) * 36);
}

.pb-40 {
    padding-bottom: calc(var(--spacing) * 40);
}

.pb-44 {
    padding-bottom: calc(var(--spacing) * 44);
}

.pb-48 {
    padding-bottom: calc(var(--spacing) * 48);
}

.pb-54 {
    padding-bottom: calc(var(--spacing) * 54);
}

.pb-64 {
    padding-bottom: calc(var(--spacing) * 64);
}

.pb-96 {
    padding-bottom: calc(var(--spacing) * 96);
}

.pb-114 {
    padding-bottom: calc(var(--spacing) * 114);
}

.pb-120 {
    padding-bottom: calc(var(--spacing) * 120);
}

/*
角丸
*/

.rounded-lg {
    border-radius: 8px;
}

.rounded-xl {
    border-radius: 16px;
}

/*
budoux
*/

@media (max-width: 768px) {
    .md\:budoux-full br {
        display: none;
    }
}

/*
dl
*/

.description-list {
    display: grid;
    grid-template-columns: auto 1fr;
}

.description-list>dt,
.description-list>dd {
    font-size: calc(1.25rem - clamp(0rem, -0.185rem + 0.46vw, 0.125rem));
    font-weight: 500;
    line-height: 1.77;
}

.description-list>dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
    height: fit-content;
}

.description-list>dt::after {
    content: " ／ ";
}

@media (max-width: 640px) {
    .description-list {
        grid-template-columns: auto;
    }

    .description-list>dt,
    .description-list>dd {
        font-size: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
    }

    .description-list>dt {
        justify-content: start;
    }

    .description-list>dd~dt {
        margin-top: 1em;
    }

    .description-list--mb-par>dt {
        gap: 0;
    }

    .description-list--mb-par>dt::before {
        content: "[";
    }

    .description-list--mb-par>dt::after {
        content: "]";
    }
}


/*
header
*/

.header {
    display: flex;
    align-items: center;
    gap: clamp(14px, 9.856px + 1.3vw, 28px);

    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;

    --side-spacing: max(0px, calc((100% - var(--content-width)) / 2));
    padding-top: clamp(11px, 7.744px + 1.02vw, 22px);
    padding-left: calc(var(--side-spacing) + clamp(16px, 11.264px + 1.48vw, 32px));
    padding-right: calc(var(--side-spacing) + clamp(16px, 9.488px + 2.04vw, 38px));
    width: 100%;

    z-index: 999;
}

.header__logo {
    display: block;
}

.header__logo>a {
    display: block;
    transition: all 0.2s ease-in-out;
}

.header__logo>a:hover {
    opacity: 0.5;
}

.header__logo>a>img {
    display: block;
    height: 54px;
}

.header__navigation {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: auto;
}

.header__navigation>ul {
    display: contents;
}

.header__navigation>ul>li {
    display: contents;
}

.header__navigation>ul>li:not(:last-child)::after {
    content: "|";
}

.header__navigation>ul>li>a {
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

.header__navigation>ul>li>a:hover {
    opacity: 0.5;
}

.header__hamburger {
    display: none;
    cursor: pointer;
    aspect-ratio: 5 / 3;
    flex-direction: column;
    justify-content: space-between;
    height: 31px;
    margin-left: auto;
    transition: all 0.3s ease-in-out;
}


@media (max-width: 1024px) {
    .header__navigation {
        display: none;
    }

    .header__reserve {
        display: none;
    }

    .header__hamburger {
        display: flex;
    }

    .header__hamburger>span {
        display: block;
        background-color: #231815;
        height: 2px;
        width: 100%;
        transition: all 0.3s ease-in-out;
    }

    .header__hamburger--active {
        transform: scaleY(0.7);
    }

    .header__hamburger--active>span:nth-child(1) {
        transform: translateY(15px) rotate(315deg);
    }

    .header__hamburger--active>span:nth-child(2) {
        transform: rotate(225deg);
    }

    .header__hamburger--active>span:nth-child(3) {
        width: 0%;
    }
}

/*
mobile-navigation
*/

.mobile-navigation {
    display: flex;
    justify-content: center;
    flex-direction: column;
    opacity: 0;
    pointer-events: none;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    transition: all 0.2s ease-in-out;
    padding-top: clamp(120px, 1.488px + 18.52vw, 200px);
    padding-left: 21%;
}

@media (max-width: 1024px) {
    .mobile-navigation--active {
        background-color: white;
        backdrop-filter: blur(2px);
        opacity: 1;
        pointer-events: all;
    }
}

.mobile-navigation__list {
    display: flex;
    flex-direction: column;
    gap: clamp(30px, -28px + 18.13vw, 88px);
    margin-bottom: clamp(30px, -60px + 28.13vw, 120px);
}

.mobile-navigation__list>li {
    display: contents;
}

.mobile-navigation__list>li>a {
    display: block;
    border-bottom: 1px solid #c6c7c7;
    font-size: clamp(1.25rem, 0.625rem + 3.13vw, 1.875rem);
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

.mobile-navigation__list>li>a:hover {
    opacity: 0.5;
}

.mobile-navigation__reserve {
    margin-bottom: clamp(30px, -34px + 20vw, 94px);
}

/*
reserve-button
*/

.reserve-button {
    display: inline flex;
    align-items: center;
    justify-content: center;
    gap: 3px;

    border-radius: 7px;
    background-color: #0073bc;
    color: white;

    font-size: calc(1.375rem - clamp(0rem, -0.741rem + 1.85vw, 0.5rem));
    line-height: 1;
    text-decoration: none;

    padding: calc(16px - clamp(0px, -8.896px + 1.39vw, 6px)) calc(32px - clamp(0px, -11.856px + 1.85vw, 8px));

    transition: all 0.2s ease-in-out;
}

.reserve-button::after {
    display: inline-block;
    content: "";
    background-image: url(../../bus-lp202508/images/common/deco_reserve_check.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: 1em;
    width: 1em;
}

.reserve-button:hover {
    transform: scale(1.05);
}

@media (max-width: 640px) {
    .reserve-button {
        padding: calc(14px - clamp(0px, -8.896px + 1.39vw, 6px)) 16px;
    }
}

/*
decorations
*/

.deco-triangle {
    display: inline-block;
    aspect-ratio: 1 / 1;
    clip-path: polygon(0 0, 100% 50%, 0% 100%);
    background-color: currentColor;
    height: 0.15em;
    margin-bottom: 0.15em;
    vertical-align: middle;
}

/*
footer
*/

.footer {
    background-image: linear-gradient(black, black);
    background-size: calc(100% - 1368px) calc(100% - 1px);
    background-repeat: no-repeat;
    background-position: left bottom;
    margin-right: clamp(26px, 11.184px + 2.31vw, 36px);
}

.footer::before {
    content: "";
    display: block;
    background-image: url(../../bus-lp202508/images/common/footer.webp);
    background-position: bottom right;
    background-size: 1368px auto;
    background-repeat: no-repeat;
    height: 178px;
}

.footer__content {
    background-image: linear-gradient(black, black);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding-top: calc(30px - clamp(0px, -14.816px + 2.31vw, 10px));
    padding-bottom: calc(30px - clamp(0px, -14.816px + 2.31vw, 10px));
    padding-left: calc(70px - clamp(0px, -59.264px + 9.26vw, 40px));
    padding-right: clamp(27.008px, 12.192px + 2.31vw, 37.008px);
    margin-right: 40px;
}

.footer__content__links {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr auto auto;
    column-gap: clamp(18px, 3.184px + 2.31vw, 28px);
    padding-left: calc((100vw - var(--content-width)) / 2);
}

.footer__content__copyright {
    color: white;
    font-size: calc(1rem - clamp(0rem, -0.37rem + 0.93vw, 0.25rem));
    font-weight: 500;
    line-height: 1;
    text-align: right;
}

.footer-logo {
    display: block;
}

.footer-logo>a {
    display: block;
}

.footer-logo>a>img {
    display: block;
    aspect-ratio: 30 / 7;
    width: 220px;
}

.footer-navigation {
    display: flex;
    align-items: center;
    gap: 1em;

    color: white;
    font-size: calc(1.125rem - clamp(0rem, -0.185rem + 0.46vw, 0.125rem));
    font-weight: 500;
    line-height: 1;
}

.footer-navigation>ul {
    display: contents;
}

.footer-navigation>ul>li>a {
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

.footer-navigation>ul>li>a:hover {
    opacity: 0.5;
}

@media (max-width: 1400px) {
    .footer__content__links {
        padding-left: 0;
    }
}

@media (max-width: 1280px) {
    .footer__content__links {
        display: grid;
        grid-template-columns: auto;
        row-gap: clamp(28px, 18px + 3.13vw, 38px);
        margin-bottom: clamp(28px, 18px + 3.13vw, 38px);
    }

    .footer__content__copyright {
        text-align: left;
    }
}

@media (max-width: 640px) {
    .footer {
        margin-right: 0;
    }

    .footer__content {
        padding-top: clamp(15.008px, 4.69vw, 30px);
        padding-bottom: clamp(15.008px, 4.69vw, 30px);
        padding-left: clamp(16px, 5vw, 32px);
        padding-right: clamp(16px, 5vw, 32px);
        margin-right: 40px;
    }

    .footer-navigation {
        justify-content: space-between;
        gap: 0.2em;
    }

    .footer-navigation {
        display: grid;
        justify-content: space-between;
        grid-template-columns: 1fr auto 1fr;
        gap: 1em;
    }

    .footer-navigation>ul>li {
        text-align: center;
    }

    .footer-navigation>ul>li:nth-child(4) {
        display: none;
    }
}