:root {
    --font-size-10l: 7.2rem;
    --font-size-9l: 6.4rem;
    --font-size-8l: 4.8rem;
    --font-size-7l: 3.6rem;
    --font-size-6l: 3.2rem;
    --font-size-5l: 3rem;
    --font-size-4l: 2.8rem;
    --font-size-3l: 2.6rem;
    --font-size-2l: 2.4rem;
    --font-size-l: 2rem;
    --font-size-m: 1.8rem;
    --font-size-s: 1.6rem;
    --font-size-2s: 1.4rem;
    --font-size-3s: 1.2rem;
    --font-size-4s: 1.1rem;
    --font-size-5s: 1rem;
    --font-size-6s: .9rem;
    --font-size-7s: .8rem;
    --font-weight-bold: 700;
    --font-weight-regular: 500;
    --line-height-2l: 1.8;
    --line-height-l: 1.5;
    --line-height-m: 1.4;
    --line-height-s: 1.2;
    --color-red-50: #eb0a1e;
    --color-green-50: #2a9074;
    --color-blue-50: #06c;
    --color-blue-70: #5fa8e3;
    --color-white-100: #fff;
    --color-black-0: #000;
    --color-black-0-alpha-90: rgba(0,0,0,.9);
    --color-black-0-alpha-70: rgba(0,0,0,.7);
    --color-black-50: #333;
    --color-gray-30: #666;
    --color-gray-70: #dcdcdc;
    --color-gray-70-alpha-80: #rgba(220 220 220/80%);
    --color-gray-80: #d9d9d9;
    --color-gray-90: #f8f8f8;
    --color-base: var(--color-white-100);
    --color-primary: var(--color-black-0);
    --color-primary-alpha-90: var(--color-black-0-alpha-90);
    --color-primary-alpha-70: var(--color-black-0-alpha-70);
    --color-secondary: var(--color-black-50);
    --color-tertiary: var(--color-gray-30);
    --color-quaternary: var(--color-gray-90);
    --color-disabled-outline: var(--color-gray-80);
    --color-border: var(--color-gray-70);
    --color-border-alpha: var(--color-gray-70-alpha-80);
    --color-border-dark: var(--color-primary);
    --color-error: var(--color-red-50);
    --color-sat: var(--color-blue);
    --color-sun: var(--color-red-50);
    --color-disabled-surface: var(--color-quaternary);
    --color-text-dark: var(--color-primary);
    --color-text-bright: var(--color-base);
    --color-text-readable: var(--color-secondary);
    --color-text-weak: var(--color-tertiary);
    --color-text-error: var(--color-error);
    --color-text-disabled: var(--color-disabled-outline);
    --z-index-header: 100;
    --z-index-ticket-link: 150;
    --z-index-language-menu: 200;
    --z-index-header-menu: 300;
    --z-index-global-loading: 500;
    --header-width: 120px;
    --header-height: 120px;
    --subheader-height: 0;
    --local-navigation-height: 111px;
    --gutter-sp: 24px;
    --margin-2l: 120px;
    --margin-l: 80px;
    --margin-m: 64px;
    --margin-s: 48px;
    --margin-2s: 32px;
    --margin-2s-snug: 24px;
    --margin-2s-tight: 16px;
    --margin-3s: 8px;
    --margin-4s: 4px
}

@media only screen and (max-width: 1023px) {
    :root {
        --margin-2l:80px;
        --margin-l: 64px;
        --margin-m: 48px;
        --margin-s: 32px;
        --margin-2s: 24px;
        --margin-2s-snug: 16px;
        --margin-2s-tight: 8px;
        --margin-3s: 4px
    }
}

@media only screen and (max-width: 1207px) {
    :root {
        --header-width:100%;
        --header-height: 56px;
        --subheader-height: calc(88px + var(--header-height));
        --local-navigation-height: 58px
    }
}

html {
    background-color: #fff;
    font-size: 62.5%;
    scroll-behavior: smooth
}

*,:after,:before {
    letter-spacing: .04em
}

body {
    background: var(--color-base);
    color: var(--color-text-readable);
    font-family: Inter,Noto Sans JP,Noto Sans KR,Noto Sans SC,Noto Sans TC,sans-serif;
    font-size: var(--font-size-m);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-2l);
    margin: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

@media only screen and (max-width: 1023px) {
    body {
        font-size:var(--font-size-2s)
    }
}

b,strong {
    font-weight: var(--font-weight-bold)
}

dt,th {
    font-weight: inherit
}

a,button,input,optgroup,select,textarea {
    outline: none;
    outline-offset: 0
}

select {
    letter-spacing: normal
}

@media only screen and (min-width: 1024px),print {
    .break-sp {
        display:none
    }
}

@media only screen and (max-width: 1023px) {
    .break-pc {
        display:none
    }
}

@keyframes drop {
    30% {
        transform: translateY(-50px) scale(1)
    }

    60% {
        transform: translateY(20px) scale(.8)
    }

    to {
        opacity: 1;
        transform: translate(0) scale(1)
    }
}

@keyframes fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@media only screen and (max-width: 1207px) {
    .anchor-target {
        scroll-margin-top:var(--header-height)
    }
}

.progress-circular[data-v-7b6f3029] {
    border-radius: 50%;
    height: 40px;
    position: relative;
    transition: visibility 0s linear .4s;
    width: 40px
}

.progress-circular[data-v-7b6f3029]:before {
    border: 2px solid var(--color-border-alpha);
    border-radius: 50%;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.progress-circular__panel[data-v-7b6f3029] {
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    transform: translateZ(0);
    width: 50%
}

.progress-circular__panel[data-v-7b6f3029]:first-child {
    left: 50%
}

.progress-circular__panel[data-v-7b6f3029]:nth-child(2) {
    left: 0
}

.progress-circular__panel-inner[data-v-7b6f3029] {
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%
}

.progress-circular__panel:first-child .progress-circular__panel-inner[data-v-7b6f3029] {
    animation: spinner-leftside-7b6f3029 .9s linear infinite;
    transform-origin: left center
}

.progress-circular__panel:nth-child(2) .progress-circular__panel-inner[data-v-7b6f3029] {
    animation: spinner-rightside-7b6f3029 .9s linear infinite;
    transform-origin: right center
}

.progress-circular__panel:first-child .progress-circular__panel-inner-item[data-v-7b6f3029] {
    left: -100%
}

.progress-circular__panel-inner-item[data-v-7b6f3029] {
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    box-sizing: border-box;
    height: 100%;
    position: absolute;
    top: 0;
    transform-origin: center;
    width: 200%
}

@keyframes spinner-leftside-7b6f3029 {
    0% {
        transform: rotate(0)
    }

    25%,50% {
        transform: rotate(180deg)
    }

    75%,to {
        transform: rotate(1turn)
    }
}

@keyframes spinner-rightside-7b6f3029 {
    0%,25% {
        transform: rotate(0)
    }

    50%,75% {
        transform: rotate(180deg)
    }

    to {
        transform: rotate(1turn)
    }
}

.app-root__loading[data-v-7b86a233] {
    align-items: center;
    display: flex;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    justify-content: center;
    pointer-events: none;
    position: fixed;
    z-index: var(--z-index-global-loading)
}

.icon[data-v-847a6fd0] {
    aspect-ratio: 1/1;
    display: block;
    margin: 0;
    padding: 0;
    width: 24px;
    fill: var(--color-primary)
}

.icon.icon--size-3l[data-v-847a6fd0] {
    width: 48px
}

.icon.icon--size-2l[data-v-847a6fd0] {
    width: 40px
}

.icon.icon--size-l[data-v-847a6fd0] {
    width: 32px
}

.icon.icon--size-s[data-v-847a6fd0] {
    width: 16px
}

.icon.icon--size-full[data-v-847a6fd0] {
    width: 100%
}

.icon.icon--color-inherit[data-v-847a6fd0] {
    fill: inherit
}



.header[data-v-024f2934] {
    padding-left: var(--header-width)
}

@media only screen and (max-width: 1207px) {
    .header[data-v-024f2934] {
        padding-left:0
    }
}

.header__sticky[data-v-024f2934] {
    align-items: center;
    background-color: var(--color-primary);
    color: var(--color-text-bright);
    display: flex;
    height: 100dvh;
    justify-content: space-between;
    left: 0;
    padding-bottom: 40px;
    position: fixed;
    text-orientation: sideways;
    top: 0;
    width: var(--header-width);
    writing-mode: vertical-rl;
    z-index: var(--z-index-header)
}

@media only screen and (max-width: 1207px) {
    .header__sticky[data-v-024f2934] {
        background-color:var(--color-primary-alpha-90);
        height: var(--header-height);
        padding-bottom: 0;
        padding-left: 12px;
        text-orientation: mixed;
        writing-mode: initial
    }
}

.header__page-name[data-v-024f2934] {
    flex: 1;
    font-size: var(--font-size-2s);
    line-height: var(--line-height-l);
    max-width: 100%;
    min-height: 0;
    text-align: center
}

@media only screen and (max-width: 1207px) {
    .header__page-name[data-v-024f2934] {
        display:none
    }
}

.header__share[data-v-024f2934],.header__share-list[data-v-024f2934] {
    align-items: center;
    display: flex
}

@media only screen and (max-width: 1207px) {
    .header__share[data-v-024f2934] {
        display:none
    }
}

.header__share-title[data-v-024f2934] {
    display: block;
    font-size: var(--font-size-4s);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-s)
}

.header__share-contents[data-v-024f2934] {
    -webkit-margin-start: 24px;
    margin-inline-start:24px}

.header__share-list[data-v-024f2934] {
    gap: 16px
}

.header__share-link[data-v-024f2934] {
    background-color: transparent;
    border-radius: 50%;
    display: block;
    height: 32px;
    overflow: hidden;
    position: relative;
    width: 32px;
    fill: var(--color-text-bright);
    transition: .4s ease;
    transition-property: fill,background-color
}

@media (any-hover: hover) {
    .header__share-link[data-v-024f2934]:focus-visible,.header__share-link[data-v-024f2934]:hover {
        fill:var(--color-text-dark);
        background-color: var(--color-text-bright)
    }
}

.header__share-link-text[data-v-024f2934] {
    display: block;
    left: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    text-indent: 100%;
    top: 0;
    white-space: nowrap
}

.header__subheader[data-v-024f2934] {
    display: flex;
    height: 120px;
    margin-left: auto;
    max-width: max(100% - var(--header-width) + 72px,1440px);
    padding-left: 72px;
    padding-top: 32px;
    width: 100%
}

@media only screen and (max-width: 1207px) {
    .header__subheader[data-v-024f2934] {
        height:var(--subheader-height);
        max-width: none;
        padding-left: var(--gutter-sp);
        padding-right: var(--gutter-sp);
        padding-top: calc(24px + var(--header-height))
    }
}

.header__lang[data-v-024f2934] {
    display: grid;
    grid-template-rows: auto 0fr;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    transition: grid-template-rows .25s ease;
    z-index: var(--z-index-language-menu)
}

.header__lang[data-v-024f2934]:before {
    background-color: var(--color-primary);
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    top: 120px;
    transition: .25s ease;
    transition-property: height,background-color;
    width: 100%
}

@media only screen and (max-width: 1207px) {
    .header__lang[data-v-024f2934]:before {
        background-color:var(--color-primary-alpha-90);
        top: 56px
    }
}

.header__lang-button[data-v-024f2934] {
    align-items: center;
    color: var(--color-text-dark);
    display: flex;
    font-size: var(--font-size-2s);
    font-weight: var(--font-weight-bold);
    height: 120px;
    justify-content: center;
    justify-self: right;
    line-height: var(--line-height-s);
    pointer-events: auto;
    transition: .25s ease;
    transition-property: color,background-color;
    width: 120px
}

@media (any-hover: hover) {
    .header__lang-button[data-v-024f2934]:focus-visible,.header__lang-button[data-v-024f2934]:hover {
        background-color:var(--color-primary);
        color: var(--color-base)
    }
}

@media only screen and (any-hover: hover) and (max-width:1207px) {
    .header__lang-button[data-v-024f2934]:focus-visible,.header__lang-button[data-v-024f2934]:hover {
        background-color:var(--color-base);
        color: var(--color-primary)
    }
}

@media only screen and (max-width: 1207px) {
    .header__lang-button[data-v-024f2934] {
        color:var(--color-text-bright);
        font-size: var(--font-size-3s);
        height: 56px;
        width: 56px
    }
}

.header__lang-button-inner[data-v-024f2934] {
    display: block;
    height: 32px;
    overflow: hidden;
    position: relative;
    width: 32px;
    fill: currentcolor;
    color: inherit
}

@media only screen and (max-width: 1207px) {
    .header__lang-button-inner[data-v-024f2934] {
        height:24px;
        width: 24px
    }
}

.header__lang-button-text[data-v-024f2934] {
    display: block;
    height: 4px;
    left: 0;
    overflow: hidden;
    position: absolute;
    text-indent: 100%;
    top: 0;
    white-space: nowrap;
    width: 4px
}

.header__lang-list[data-v-024f2934] {
    opacity: 0;
    padding-bottom: 8px;
    pointer-events: none;
    transform: translateY(-76px);
    transition: .25s ease;
    transition-property: .7,transform;
    width: 100%
}

@media only screen and (max-width: 1207px) {
    .header__lang-list[data-v-024f2934] {
        transform:translateY(-28px)
    }
}

.header__lang-link[data-v-024f2934] {
    align-items: center;
    color: var(--color-text-dark);
    display: flex;
    font-size: var(--font-size-2s);
    font-weight: var(--font-weight-bold);
    justify-content: center;
    line-height: var(--line-height-s);
    padding: 13px 16px;
    position: relative;
    transition: .4s ease;
    transition-property: color,background-color;
    width: 100%;
    z-index: 1
}

@media (any-hover: hover) {
    .header__lang-link:focus-visible .header__lang-link-text[data-v-024f2934],.header__lang-link:hover .header__lang-link-text[data-v-024f2934] {
        background-size:100% 1px
    }
}

@media only screen and (max-width: 1207px) {
    .header__lang-link[data-v-024f2934] {
        color:var(--color-text-bright);
        font-size: var(--font-size-3s);
        padding-bottom: 10.5px;
        padding-top: 10.5px
    }
}

.header__lang-link.selected .header__lang-link-text[data-v-024f2934] {
    background-size: 100% 1px
}

.header__lang-link-text[data-v-024f2934] {
    background-image: linear-gradient(0deg,currentcolor 0,currentcolor 1px);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    font: inherit;
    line-height: 0;
    padding-bottom: 4px;
    transition: background-size .4s ease,line-height .25s ease
}

.header__lang.is-open[data-v-024f2934] {
    grid-template-rows: auto 1fr;
    pointer-events: auto
}

.header__lang.is-open[data-v-024f2934]:before {
    background-color: var(--color-base);
    height: calc(100% - 120px);
    opacity: 1
}

@media only screen and (max-width: 1207px) {
    .header__lang.is-open[data-v-024f2934]:before {
        background-color:var(--color-primary-alpha-90);
        height: calc(100% - 56px)
    }
}

.header__lang.is-open .header__lang-button[data-v-024f2934] {
    background-color: var(--color-base);
    color: var(--color-primary)
}

@media only screen and (max-width: 1207px) {
    .header__lang.is-open .header__lang-button[data-v-024f2934] {
        background-color:transparent;
        color: var(--color-text-bright)
    }
}

.header__lang.is-open .header__lang-list[data-v-024f2934] {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0)
}

.header__lang.is-open .header__lang-link-text[data-v-024f2934] {
    line-height: inherit
}

.header__menu[data-v-024f2934] {
    -webkit-backdrop-filter: blur(12.5px);
    backdrop-filter: blur(12.5px);
    background-color: #0000004d;
    height: 100dvh;
    left: 0;
    position: fixed;
    top: 0;
    transform: translate(-100%) translateZ(0);
    transition: transform .4s ease;
    width: 100%;
    z-index: var(--z-index-header-menu)
}

.header__menu.is-open[data-v-024f2934] {
    transform: translate(0) translateZ(0)
}

.header__menu-button[data-v-024f2934] {
    align-items: center;
    display: flex;
    height: 120px;
    justify-content: center;
    width: 120px
}

@media only screen and (max-width: 1207px) {
    .header__menu-button[data-v-024f2934] {
        height:56px;
        width: 56px
    }
}

@media (any-hover: hover) {
    .header__menu-button:focus-visible .header__menu-button-inner[data-v-024f2934],.header__menu-button:hover .header__menu-button-inner[data-v-024f2934] {
        transform:rotate(-180deg)
    }
}

.header__menu-button-inner[data-v-024f2934] {
    display: block;
    height: 48px;
    overflow: hidden;
    position: relative;
    width: 48px;
    fill: var(--color-text-bright);
    transition: transform .4s ease
}

@media only screen and (max-width: 1207px) {
    .header__menu-button-inner[data-v-024f2934] {
        height:32px;
        width: 32px
    }
}

.header__menu-button-text[data-v-024f2934] {
    display: block;
    left: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    text-indent: 100%;
    top: 0;
    white-space: nowrap
}

.header__menu-inner[data-v-024f2934] {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    height: 100%
}

@media only screen and (max-width: 1207px) {
    .header__menu-inner[data-v-024f2934] {
        grid-template-columns:minmax(0,1fr);
        grid-template-rows: 56px 1fr
    }
}

.header__menu-controll-area[data-v-024f2934] {
    align-self: start;
    background-color: var(--color-primary);
    color: var(--color-text-bright);
    height: 100dvh;
    left: 0;
    top: 0;
    width: var(--header-width)
}

@media only screen and (max-width: 1207px) {
    .header__menu-controll-area[data-v-024f2934] {
        height:56px;
        width: 100%
    }
}

.header__menu-contents[data-v-024f2934] {
    background-color: var(--color-base);
    height: 100%;
    max-width: 1112px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 32px 120px 80px
}

@media only screen and (max-width: 1207px) {
    .header__menu-contents[data-v-024f2934] {
        padding:24px var(--gutter-sp) 64px var(--gutter-sp)
    }
}

.header__nav[data-v-024f2934] {
    margin-top: 80px
}

@media only screen and (max-width: 1207px) {
    .header__nav[data-v-024f2934] {
        margin-top:64px
    }
}

.header__nav-list[data-v-024f2934] {
    display: grid;
    gap: 40px;
    grid-auto-rows: -webkit-max-content;
    grid-auto-rows: max-content;
    grid-template-columns: minmax(0,-webkit-max-content);
    grid-template-columns: minmax(0,max-content)
}

@media only screen and (max-width: 1207px) {
    .header__nav-list[data-v-024f2934] {
        gap:16px
    }
}

.header__nav-link[data-v-024f2934] {
    background-image: linear-gradient(0deg,currentcolor 0,currentcolor 1px);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 2px;
    color: var(--color-text-dark);
    display: block;
    font-size: var(--font-size-4l);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-s);
    max-width: 100%;
    padding-bottom: 10px;
    transition: background-size .4s ease;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media only screen and (max-width: 1207px) {
    .header__nav-link[data-v-024f2934] {
        font-size:var(--font-size-l)
    }
}

@media (any-hover: hover) {
    .header__nav-link[data-v-024f2934]:focus-visible,.header__nav-link[data-v-024f2934]:hover {
        background-size:100% 2px
    }
}

.header__logo[data-v-024f2934] {
    display: block;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    max-width: 100%;
    transition: opacity .4s ease;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media (any-hover: hover) {
    .header__logo[data-v-024f2934]:focus-visible,.header__logo[data-v-024f2934]:hover {
        opacity:.7
    }
}

.header__logo-inner[data-v-024f2934] {
    display: block;
    height: 72px;
    overflow: hidden;
    position: relative;
    width: 288px
}

@media only screen and (max-width: 1207px) {
    .header__logo-inner[data-v-024f2934] {
        height:48px;
        width: 192px
    }
}

.header__logo-text[data-v-024f2934] {
    display: block;
    left: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    text-indent: 100%;
    top: 0;
    white-space: nowrap
}

.header__logo-element[data-v-024f2934] {
    display: block;
    height: auto;
    width: 100%
}







.layout[data-v-77172f3d] {
    margin-left: auto;
    margin-right: auto;
    width: 100%
}


.layout__footer[data-v-77172f3d],.layout__main[data-v-77172f3d] {
    padding-left: var(--header-width)
}

@media only screen and (max-width: 1207px) {
    .layout__footer[data-v-77172f3d],.layout__main[data-v-77172f3d] {
        padding-left:0
    }
}




.layout__footer[data-v-77172f3d],.layout__main[data-v-77172f3d] {
    padding-left: var(--header-width)
}

@media only screen and (max-width: 1207px) {
    .layout__footer[data-v-77172f3d],.layout__main[data-v-77172f3d] {
        padding-left:0
    }
}


.footer[data-v-555d458d] {
    background-color: var(--color-quaternary)
}

.footer__inner[data-v-555d458d] {
    -moz-column-gap: 32px;
    column-gap: 32px;
    display: grid;
    grid-template-areas: "logo nav" "catchphrase nav" "copyright copyright";
    grid-template-columns: minmax(0,-webkit-max-content) minmax(0,-webkit-max-content);
    grid-template-columns: minmax(0,max-content) minmax(0,max-content);
    grid-template-rows: auto auto 1fr;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    max-width: 1560px;
    padding: 72px 120px
}

@media only screen and (max-width: 1023px) {
    .footer__inner[data-v-555d458d] {
        -moz-column-gap:0;
        column-gap: 0;
        grid-template-areas: "logo" "catchphrase" "nav" "copyright";
        grid-template-columns: minmax(0,-webkit-max-content);
        grid-template-columns: minmax(0,max-content);
        grid-template-rows: -webkit-max-content -webkit-max-content -webkit-max-content -webkit-max-content;
        grid-template-rows: max-content max-content max-content max-content;
        max-width: none;
        padding: 48px 24px
    }
}

.footer__logo[data-v-555d458d] {
    display: block;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    max-width: 100%;
    transition: opacity .4s ease;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media (any-hover: hover) {
    .footer__logo[data-v-555d458d]:focus-visible,.footer__logo[data-v-555d458d]:hover {
        opacity:.7
    }
}

.footer__logo-inner[data-v-555d458d] {
    display: block;
    height: 72px;
    overflow: hidden;
    position: relative;
    width: 288px
}

@media only screen and (max-width: 1023px) {
    .footer__logo-inner[data-v-555d458d] {
        height:48px;
        width: 192px
    }
}

.footer__logo-text[data-v-555d458d] {
    display: block;
    left: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    text-indent: 100%;
    top: 0;
    white-space: nowrap
}

.footer__logo-element[data-v-555d458d] {
    display: block;
    height: auto;
    width: 100%
}

.footer__catchphrase[data-v-555d458d] {
    grid-area: catchphrase;
    margin-top: 48px
}

@media only screen and (max-width: 1023px) {
    .footer__catchphrase[data-v-555d458d] {
        margin-top:32px
    }
}

.footer__catchphrase-paragraph[data-v-555d458d] {
    margin-top: 8px
}

.footer__nav[data-v-555d458d] {
    grid-area: nav
}

@media only screen and (max-width: 1023px) {
    .footer__nav[data-v-555d458d] {
        margin-top:32px
    }
}

.footer__nav-list[data-v-555d458d] {
    display: grid;
    gap: 16px;
    grid-auto-rows: -webkit-max-content;
    grid-auto-rows: max-content;
    grid-template-columns: minmax(0,-webkit-max-content);
    grid-template-columns: minmax(0,max-content)
}

@media only screen and (max-width: 1023px) {
    .footer__nav-list[data-v-555d458d] {
        gap:8px
    }
}

.footer__nav-link[data-v-555d458d] {
    background-image: linear-gradient(0deg,currentcolor 0,currentcolor 1px);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    color: var(--color-text-dark);
    display: block;
    font-size: var(--font-size-2l);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-s);
    max-width: 100%;
    padding-bottom: 9px;
    transition: background-size .4s ease;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media only screen and (max-width: 1023px) {
    .footer__nav-link[data-v-555d458d] {
        font-size:var(--font-size-m)
    }
}

@media (any-hover: hover) {
    .footer__nav-link[data-v-555d458d]:focus-visible,.footer__nav-link[data-v-555d458d]:hover {
        background-size:100% 1px
    }
}

.footer__copyright[data-v-555d458d] {
    grid-area: copyright;
    line-height: 1;
    margin-top: 24px
}

@media only screen and (max-width: 1023px) {
    .footer__copyright[data-v-555d458d] {
        margin-top:32px
    }
}

.layout[data-v-ef11798a] {
    margin-left: auto;
    margin-right: auto;
    width: 100%
}

.layout__footer[data-v-ef11798a],.layout__main[data-v-ef11798a] {
    padding-left: var(--header-width)
}

@media only screen and (max-width: 1207px) {
    .layout__footer[data-v-ef11798a],.layout__main[data-v-ef11798a] {
        padding-left:0
    }
}
