@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap');
[data-view='>sm'],
[data-view='sm'] {
    display: none;
}

[data-view='<sm'] {
    display: none;
}

[data-view='>md'],
[data-view='md'] {
    display: none;
}

[data-view='<md'] {
    display: none;
}

[data-view='>lg'],
[data-view='lg'] {
    display: none;
}

[data-view='<lg'] {
    display: none;
}

[data-view='>xl'],
[data-view='xl'] {
    display: none;
}

[data-view='<xl'] {
    display: none;
}

[data-view='>xxl'],
[data-view='xxl'] {
    display: none;
}

[data-view='<xxl'] {
    display: none;
}
/* stylelint-disable */
/* Document
 * ========================================================================== */
/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */
*,
::before,
::after {
    box-sizing: border-box;
    /* 1 */
    background-repeat: no-repeat;
    /* 2 */
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
    text-decoration: inherit;
    /* 1 */
    vertical-align: inherit;
    /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Breaks words to prevent overflow in all browsers (opinionated).
 * 4. Use a 4-space tab width in all browsers (opinionated).
 * 5. Remove the grey highlight on links in iOS (opinionated).
 * 6. Prevent adjustments of font size after orientation changes in iOS.
 */
:where(:root) {
    cursor: default;
    /* 1 */
    line-height: 1.5;
    /* 2 */
    overflow-wrap: break-word;
    /* 3 */
    /* 4 */
    tab-size: 4;
    /* 4 */
    -webkit-tap-highlight-color: transparent;
    /* 5 */
    -webkit-text-size-adjust: 100%;
    /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
:where(body) {
    margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
:where(h1) {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, and Safari.
 */
:where(dl, ol, ul) :where(dl, ol, ul) {
    margin: 0;
}

/**
 * 1. Correct the inheritance of border color in Firefox.
 * 2. Add the correct box sizing in Firefox.
 */
:where(hr) {
    color: inherit;
    /* 1 */
    height: 0;
    /* 2 */
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
:where(nav) :where(ol, ul) {
    list-style-type: none;
    padding: 0;
}

/**
 * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
 */
:where(nav li)::before {
    content: '​';
    float: left;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Prevent overflow of the container in all browsers (opinionated).
 */
:where(pre) {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
    overflow: auto;
    /* 3 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Add the correct text decoration in Safari.
 */
:where(abbr[title]) {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
:where(b, strong) {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
:where(code, kbd, samp) {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
:where(small) {
    font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
:where(audio, canvas, iframe, img, svg, video) {
    vertical-align: middle;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
:where(iframe) {
    border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
:where(svg:not([fill])) {
    fill: currentColor;
}

/* Tabular data
 * ========================================================================== */
/**
 * 1. Collapse border spacing in all browsers (opinionated).
 * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
:where(table) {
    border-collapse: collapse;
    /* 1 */
    border-color: inherit;
    /* 2 */
    text-indent: 0;
    /* 3 */
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
:where(button, input, select) {
    margin: 0;
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
:where(button, [type='button' i], [type='reset' i], [type='submit' i]) {
    -webkit-appearance: button;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
:where(fieldset) {
    border: 1px solid #a0a0a0;
}

/**
 * Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
:where(progress) {
    vertical-align: baseline;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 3. Change the resize direction in all browsers (opinionated).
 */
:where(textarea) {
    margin: 0;
    /* 1 */
    resize: vertical;
    /* 3 */
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
:where([type='search' i]) {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct styles in Safari.
 */
:where(dialog) {
    background-color: white;
    border: solid;
    color: black;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
}

:where(dialog:not([open])) {
    display: none;
}

/*
 * Add the correct display in Safari.
 */
:where(details > summary:first-of-type) {
    display: list-item;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
:where([aria-busy='true' i]) {
    cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
:where([aria-controls]) {
    cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
:where([aria-disabled='true' i], [disabled]) {
    cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
:where([aria-hidden='false' i][hidden]) {
    display: initial;
}

:where([aria-hidden='false' i][hidden]:not(:focus)) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
}

/* stylelint-enable */
:root {
    --base-red: #bb0014;
    --accent-red: #ff0000;
}

html {
    scroll-behavior: smooth;
}
body {
    height: 100%;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    background-color: var(--base-red);
    background-image: linear-gradient(180deg, var(--base-red), #8a0c0c);
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd {
    padding: 0;
    margin: 0;
    font-size: 1rem;
}

figure {
    margin: 0;
    text-align: center;
}

img {
    max-width: 100%;
    height: auto;
}

.page-top {
    position: fixed;
    right: 2.75em;
    bottom: 16vw;
    z-index: 99;
}
.page-top button {
    cursor: pointer;
    -webkit-appearance: none;
            appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    background-color: transparent;
}

.u-mt8 {
    margin-top: 2em;
}

.u-link {
    display: inline-block;
    pointer-events: auto;
    cursor: pointer;
}
.u-link.is-disable {
    pointer-events: none;
    cursor: auto;
}

.u-outer-glow {
    text-shadow: 0 0 0.18em rgba(255, 255, 255, 0.67),
        -0.18em -0.18em 0.34em var(--accent-red),
        0.18em -0.18em 0.34em var(--accent-red),
        0.18em 0.18em 0.34em var(--accent-red),
        -0.18em 0.18em 0.34em var(--accent-red);
}

.u-box-glow {
    box-shadow: 0 0 0.18em rgba(255, 255, 255, 0.67),
        -0.18em -0.18em 0.34em var(--accent-red),
        0.18em -0.18em 0.34em var(--accent-red),
        0.18em 0.18em 0.34em var(--accent-red),
        -0.18em 0.18em 0.34em var(--accent-red);
}

.u-inline-image {
    padding: 0 0.2em 0 0.34em;
}

.view-wrapper {
    position: relative;
    background-color: var(--base-red);
    background-image: url('/wanganmaxi6rr/en/wangan-tournament/assets/images/viewwrap-bg.png');
    background-repeat: repeat;
    background-size: auto;
}

.header-content {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 750px;
    margin: 0 auto 0;
    z-index: 100;
    background-color: var(--base-red);
}

.header-button {
    position: fixed;
    top: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-end;
    background-image: linear-gradient(
        45deg,
        transparent 50%,
        rgba(0, 0, 0, 0.8) 50%
    );
    width: 24.4vw;
    height: 24.4vw;
    padding: 10px;
    z-index: 3;
}

.header-nav {
    position: relative;
    z-index: 2;
}
.header-nav.is-active .u-nav-list {
    opacity: 1;
    transform: scaleY(1) translateX(-50%);
}
.header-nav .u-nav-list {
    position: fixed;
    top: 0;
    left: 50%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-end;
    transform: scaleY(0) translateX(-50%);
    transition-property: transform, opacity;
    transition-duration: 360ms;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform-origin: top;
    width: 100%;
    max-width: 750px;
    padding: 183px 0 16vw 0;
    margin: 0 auto;
    background-image: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.77) 92%,
        rgba(0, 0, 0, 0) 100%
    );
    opacity: 0;
}
.header-nav .u-nav-list > .game-logo {
    position: absolute;
    top: 0;
    left: 10px;
}
.header-nav .u-nav-list > .nav-link {
    height: calc(100vh - 286px);
    overflow-y: scroll;
    margin: 0 auto;
}
.header-nav .u-nav-list > .nav-link > .item {
    width: 93.2vw;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.header-nav .u-nav-list > .nav-link > .item + .item {
    margin-top: 1.25em;
}
.header-nav .u-nav-list > .nav-link > .item.-now {
    position: relative;
}
.header-nav .u-nav-list > .nav-link > .item.-now ::before {
    position: absolute;
    top: -0.25em;
    left: 1.25em;
    content: url('/wanganmaxi6rr/en/wangan-tournament/assets/images/u-nav-list_now-badge.png');
    display: block;
    width: 17.733vw;
    height: 6.533vw;
    font-size: 125%;
    color: #ff0000;
    font-size: 4.8vw;
    text-decoration: none;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.88), -2px -1px 2px #ffffff,
        2px -1px 2px #ffffff, 2px 1px 2px #ffffff, -2px 1px 2px #ffffff;
}
.header-nav .u-nav-list > .nav-link > .item > .u-link.is-disable {
    opacity: 0.4;
}

.u-menu-button {
    width: 5rem;
    padding: 0;
    margin: 0;
    -webkit-appearance: none;
            appearance: none;
    background-color: transparent;
    border: none;
}
.u-menu-button svg,
.u-menu-button img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}
.u-menu-button.is-open + .u-nav-list {
    position: absolute;
    display: flex;
}

.u-toggle-icon {
    --animation-duration: 260ms;
    position: relative;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
    object-fit: contain;
}
.u-toggle-icon > [class^='u-icon_'] {
    position: absolute;
    width: 100%;
    transition: opacity 0s calc(var(--animation-duration) / 2),
        transform var(--animation-duration);
    transform-origin: center center;
}
.u-toggle-icon > .u-icon-pre {
    opacity: 1;
    transform: scale(1);
}
.u-toggle-icon > .u-icon_post {
    opacity: 0;
    transform: scale(0.88);
}
.u-toggle-icon.is-open > .u-icon_pre {
    opacity: 0;
    transform: scale(0.88);
}
.u-toggle-icon.is-open > .u-icon_post {
    opacity: 1;
    transform: scale(1);
}

section.keyvisual {
    text-align: center;
    background-color: var(--base-red);
}
section.keyvisual > .arrow {
    padding: 0;
    margin: 0.75em 0 1em;
    min-height: 8rem;
    background-image: url('./images/scroll-arrow.png');
    background-size: auto;
    background-position: center bottom 1.75em;
    background-repeat: no-repeat;
    animation: arrows 1360ms cubic-bezier(0.215, 0.61, 0.355, 1) normal infinite;
}
section.keyvisual > .arrow > .caption {
    font-size: 3.467vw;
    font-style: italic;
}

section.video-clip {
    padding: 14.4vw 0 0;
    text-align: center;
}
section.video-clip .ytb-wrap {
    position: relative;
    width: 92.533vw;
    height: 52.4vw;
    margin: 0 auto;
    border: solid 6px #ffffff;
    box-shadow: 0 0 0.18em rgba(255, 255, 255, 0.67),
        -0.18em -0.18em 0.34em var(--accent-red),
        0.18em -0.18em 0.34em var(--accent-red),
        0.18em 0.18em 0.34em var(--accent-red),
        -0.18em 0.18em 0.34em var(--accent-red);
}
section.video-clip .ytb-wrap > iframe {
    width: 100%;
    height: 100%;
}
@keyframes arrows {
    0% {
        background-position: center bottom 1.75em;
    }
    100% {
        background-position: center bottom 0px;
    }
}
.c-ribbon-heading {
    width: 92vw;
    padding: 0.55em 0;
    margin: 0.75em auto;
    font-size: 4.8vw;
    font-style: italic;
    background-color: rgba(0, 0, 0, 0.6);
}

.c-sub-section_content.-dark {
    background-color: rgba(0, 0, 0, 0.8);
}
.c-sub-section_content.-dark:not(.-border) {
    max-width: 92vw;
    margin-right: auto;
    margin-left: auto;
}
.c-sub-section_content.-border {
    padding: 4.667vw 0 8vw;
    text-align: center;
    background-color: transparent;
    background-image: url('./images/content-bg.png');
    background-repeat: repeat-y;
    background-size: 710px 1px;
    background-position: center top;
}

section.intro {
    text-align: center;
}
section.intro > .title {
    padding: 14.133vw 0 4.267vw;
}
section.intro > .description {
    padding: 10.667vw 0 0;
}

section.schedule {
    text-align: center;
    padding: 8vw 0 7.467vw;
}

section.anchor {
    width: 100%;
    height: 12.8vw;
    margin: 0;
}
section.anchor > .list {
    position: fixed;
    bottom: 0;
    display: flex;
    width: 100%;
    height: 6em;
    max-width: 750px;
    padding: 0;
    margin: 0 auto;
    transition: opacity 360ms ease, transform 220ms ease;
    border-top: 3px solid rgba(255, 255, 255, 0.67);
    background-image: linear-gradient(
        0deg,
        #949494,
        #b8b8b8 40%,
        #ffffff 47%,
        #8b8b8b 100%
    );
    box-shadow: 0 0 18px -9px rgba(0, 0, 0, 0.34);
    opacity: 0;
}
section.anchor > .list.is-active {
    opacity: 1;
    transform: scaleY(1);
    z-index: 1000;
}
section.anchor > .list > .item {
    display: block;
    width: 50%;
    height: 100%;
}
section.anchor > .list > .item:nth-of-type(n + 2) {
    border-left: 2px solid #666;
}
section.anchor > .list > .item > .u-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transition: background-color 280ms ease-in-out;
}
section.anchor > .list > .item > .u-link > img {
    display: block;
}
section.anchor > .list > .item > .u-link > img.secondary {
    display: none;
}
section.anchor > .list > .item > .u-link.is-expand {
    position: relative;
}
section.anchor > .list > .item > .u-link.is-expand > img {
    display: none;
}
section.anchor > .list > .item > .u-link.is-expand > img.secondary {
    display: block;
}

section.copy .description {
    margin: 1.25em 0;
    text-align: center;
}
section.copy .description > .text {
    font-size: 4vw;
    font-style: italic;
    font-weight: 700;
}

section.championship-results > .title {
    text-align: center;
}
section.championship-results > .description {
    margin: 2em auto 2.75em;
    text-align: center;
}
section.championship-results > .description > .text {
    font-size: 4vw;
    font-style: italic;
    font-weight: 700;
}
section.championship-results .tournament-result .commendation {
    width: 92vw;
    padding: 6.667vw 0 4.667vw 0;
    margin: 0 auto;
    background-color: #000;
    background-repeat: no-repeat;
    background-size: contain;
    background-repeat: no-repeat;
}
section.championship-results .tournament-result .commendation + .commendation {
    margin-top: 4.267vw;
}
section.championship-results .tournament-result .commendation.winningteam {
    background-image: url('./images/results_winningteam-bg.png');
}
section.championship-results
    .tournament-result
    .commendation.winningteam
    > .signboard {
    background-image: url('./images/signboard_winning-team-bg.png');
}
section.championship-results .tournament-result .commendation.runnersup {
    background-image: url('./images/results_runnersup-bg.png');
}
section.championship-results
    .tournament-result
    .commendation.runnersup
    > .signboard {
    background-image: url('./images/signboard_runners-up-bg.png');
}
section.championship-results .tournament-result .commendation > .heading {
    text-align: center;
    height: 73.067vw;
}
section.championship-results .tournament-result .commendation > .signboard {
    display: grid;
    place-content: center;
    width: 77.733vw;
    min-height: 14.667vw;
    margin: 0 auto;
    text-align: center;
    font-size: 4vw;
    font-style: italic;
    font-weight: 700;
    line-height: 1.54;
    color: #000;
    background-color: #919191;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
}
section.championship-results .result-data {
    width: 82.667vw;
    margin: 3.2vw auto 0;
    border: 1px solid #898989;
}
section.championship-results .result-data > .heading {
    display: grid;
    grid-template-columns: 1fr 6.667vw;
    grid-template-rows: 1fr 1fr;
    gap: 0px 0px;
    grid-template-areas: 'shopname expand' 'distance expand';
    padding: 0.533vw 2.4vw;
    background-color: #313131;
}
section.championship-results .result-data > .details {
    opacity: 0;
    transition-property: opacity transform max-height;
    transition-duration: 260ms;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: scaleY(0);
    transform-origin: top;
    max-height: 0;
    background-color: #535353;
}
section.championship-results
    .result-data
    > .heading.is-expand
    > .expand-mark
    > .wrap
    > svg {
    transform: scaleY(1);
}
section.championship-results .result-data > .heading.is-expand + .details {
    opacity: 1;
    transform: scaleY(1);
    max-height: 9999px;
}
section.championship-results .result-data > .heading > .rank-badge {
    grid-area: rankbadge;
}
section.championship-results .result-data > .heading > .shop-name {
    grid-area: shopname;
    padding: 0.25em 0 0 0.5em;
    font-size: 3.467vw;
    line-height: 1.8;
}
section.championship-results .result-data > .heading > .total-distance {
    grid-area: distance;
    text-align: right;
    font-size: 4.267vw;
}
section.championship-results .result-data > .heading > .total-distance::after {
    content: 'm';
    display: inline;
    padding: 0 0.75em 0 0.25em;
    font-size: 3.467vw;
}
section.championship-results .result-data > .heading > .expand-mark {
    cursor: pointer;
    pointer-events: auto;
    grid-area: expand;
    display: flex;
    align-items: center;
    justify-content: center;
}
section.championship-results .result-data > .heading > .expand-mark > .wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.4vw;
    height: 6.4vw;
    border: 0.25rem outset #bb0014;
    background-color: #ff0000;
    box-shadow: inset 0 0 0.25em #bb0014;
    transition: filter 420ms ease;
}
section.championship-results
    .result-data
    > .heading
    > .expand-mark
    > .wrap
    > svg {
    transition-property: opacity transform;
    transition-duration: 260ms;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: scaleY(-1);
    transform-origin: center;
}
section.championship-results .member-list {
    padding: 1.6vw 2vw;
    margin: 0;
}
section.championship-results .member-list > .member-item {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 8vw;
    list-style: none;
    font-size: 3.467vw;
}
section.championship-results .member-list > .member-item[class*='mvp-'] {
    padding-right: 0.875rem;
}
section.championship-results .member-list > .member-item.mvp-distance::after {
    content: url('./images/mvp-badge01.png');
}
section.championship-results .member-list > .member-item.mvp-challenge::after {
    content: url('./images/mvp-badge02.png');
}
section.championship-results .member-list > .member-item.mvp-update::after {
    content: url('./images/mvp-badge03.png');
}
section.championship-results .member-list > .member-item > .label {
    display: block;
}
section.championship-results .member-list > .member-item + .member-item {
    border-top: solid 2px #fff;
}

section.after-hours-festival {
    position: relative;
    padding: 21.333vw 0;
    z-index: 1;
}
section.after-hours-festival::before {
    position: absolute;
    top: 8vw;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: calc(100% - 7.5em);
    background-color: #df6900;
    box-shadow: inset 0 0 1.67em rgba(123, 5, 0, 0.34),
        inset 0 0.25em 0.25em rgba(0, 0, 0, 0.67);
    transform: skewY(-6.3deg);
    z-index: -1;
}
section.after-hours-festival .title {
    text-align: center;
}
section.after-hours-festival .description {
    margin: 1.75em auto 0.75em;
    text-align: center;
}
section.after-hours-festival .description > .text {
    font-size: 4vw;
    font-style: italic;
    font-weight: 700;
}
section.after-hours-festival .description > .text + .text {
    margin-top: 1.75em;
}
section.after-hours-festival .description > .text.-closed {
    font-size: 4vw;
    color: #ff0;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.88);
    letter-spacing: 0.02em;
}
section.after-hours-festival .image {
    margin-top: 8vw;
}

section.venue {
    padding: 13.867vw 0 16vw;
}
section.venue > .title {
    text-align: center;
}
section.venue .description {
    margin: 1.75em auto 2.25em;
    text-align: center;
}
section.venue .description > .text {
    font-size: 4vw;
    font-style: italic;
    font-weight: 700;
}
section.venue .description > .text.-lg {
    font-size: 4vw;
    letter-spacing: 0.04em;
}
section.venue .description > .text.-closed {
    color: #ff0;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.88);
}
section.venue > .caption {
    text-align: center;
}
section.venue .venue-list {
    padding: 0;
    margin-top: 6.4vw;
}
section.venue .venue-list + .venue-list {
    margin-top: 4vw;
}
section.venue .venue-list > .heading {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    min-height: 17.6vw;
    padding: 0 0 0 6vw;
    margin: 0 2.4vw -0.34em;
    color: #ffffff;
    text-align: left;
    font-size: 4.8vw;
    background-color: transparent;
    background-image: url('./images/results_heading-bg.png');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
    z-index: 1;
}
section.venue .venue-list > .heading > button {
    cursor: pointer;
    -webkit-appearance: none;
            appearance: none;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 2vw;
    margin: 0;
    border: 0;
    font-size: 4vw;
    line-height: 1;
    color: #ffffff;
    background-color: #ff0000;
}
section.venue .venue-list > .shop-detail {
    width: 92vw;
    margin: -0.8vw auto 0;
    padding: 4vw 4vw 4.8vw;
    background-color: #000;
}
section.venue .venue-list > .shop-detail + .heading {
    margin-top: 4vw;
}
section.venue .venue-list > .shop-detail > .shop-name {
    margin: 3.467vw auto 0;
    font-size: 3.467vw;
    line-height: 1.6;
}
section.venue .venue-list > .shop-detail > .shop-name::after {
    content: '';
    display: block;
    width: 100%;
    height: 0.533vw;
    margin-top: 1.6vw;
    background-color: var(--accent-red);
}
section.venue .venue-list > .shop-detail > .column {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0 1.875rem;
    padding: 4.8vw 0;
}
section.venue .venue-list > .shop-detail > .column > .image {
    display: block;
    width: 42.667vw;
    height: 32vw;
    border: solid 1px #ffffff;
}
section.venue .venue-list > .shop-detail > .column > .image > img {
    display: block;
    width: auto;
    height: 100%;
    background-color: #919191;
    object-fit: cover;
}
section.venue .venue-list > .shop-detail > .column > .comment {
    margin-top: 2.75em;
    width: 100%;
}
section.venue .venue-list > .shop-detail > .column > .comment > .body {
    padding: 0;
    margin: 0;
    font-style: italic;
    font-weight: 400;
    font-size: 3.467vw;
    line-height: 1.6;
    font-feature-settings: 'palt' 1;
    font-kerning: normal;
    line-break: auto;
    hanging-punctuation: allow-end;
    letter-spacing: 0.02em;
}
section.venue .venue-list > .shop-detail > .column > .comment > .shop-detail {
    padding: 0 2.133vw;
    margin: 1.75em 0 0;
    text-align: right;
}
section.venue
    .venue-list
    > .shop-detail
    > .column
    > .comment
    > .shop-detail
    .u-link {
    font-style: italic;
    font-weight: 400;
    font-size: 3.467vw;
    text-decoration: underline;
    color: #fff;
}
section.venue
    .venue-list
    > .shop-detail
    > .column
    > .comment
    > .shop-detail
    .u-link::after {
    content: u003e;
    display: inline-block;
}
section.venue .venue-list > .shop-detail > .column > .comment > .pic {
    padding: 0 2.133vw;
    margin: 1em 0 0;
    text-align: right;
    font-style: italic;
    font-weight: 400;
    font-size: 3.467vw;
}
section.venue .venue-list > .shop-detail > .c-modal-open {
    cursor: pointer;
    display: grid;
    place-content: center;
    width: 81.333vw;
    height: 10.667vw;
    margin: 0 auto;
    border: outset 3px var(--accent-red);
    font-style: italic;
    font-weight: 400;
    font-size: 3.333vw;
    line-height: 1.1;
    color: #ffffff;
    background-color: var(--accent-red);
}

section.feature {
    padding: 11.467vw 0 17.867vw;
}
section.feature > .title {
    text-align: center;
}
section.feature .description {
    margin: 2em auto 0;
    text-align: center;
}
section.feature .description > .text {
    font-size: 4vw;
    font-style: italic;
    font-weight: 700;
}
section.feature > .sub-section + .sub-section {
    margin-top: 6em;
}
section.feature > .sub-section .feature_heading {
    font-weight: 400;
    text-align: center;
}
section.feature .shop-list {
    padding: 0;
    margin: 0;
}
section.feature .shop-list > .feature-shop-group {
    padding: 4vw 0 0;
}
section.feature .shop-list > .feature-shop-group > .rank-list {
    max-width: 91.333vw;
    padding: 5.2vw 4.267vw;
    margin: 0 auto;
    background-color: #000;
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item {
    list-style: none;
    display: grid;
    grid-template-columns: 6.667vw 30% 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0px 0px;
    grid-template-areas: 'rankbadge shopname shopname' 'rankbadge pref value';
    padding: 0.8vw;
    margin: 0;
    border: solid 2px #898989;
    background-color: #313131;
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    + .rank-list_item {
    border-top: none;
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .rank-badge {
    grid-area: rankbadge;
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .shop-name {
    grid-area: shopname;
    padding: 0.25em 0 0 0.5em;
    font-size: 3.467vw;
    line-height: 1.8;
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .shop-pref {
    grid-area: pref;
    align-self: center;
    justify-self: start;
    padding-left: 1.867vw;
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .shop-pref
    > .badge {
    display: grid;
    place-content: center;
    padding: 0.667vw 1.6vw;
    border-radius: 9999px;
    background-color: #ac1424;
    line-height: 1;
    font-size: 3.2vw;
    letter-spacing: 0.01em;
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .count,
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .distance {
    grid-area: value;
    text-align: right;
    font-size: 4.267vw;
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .count::after,
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .distance::after {
    display: inline;
    padding: 0 0.25em;
    font-size: 3.467vw;
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .count::after {
    content: '台';
}
section.feature
    .shop-list
    > .feature-shop-group
    > .rank-list
    > .rank-list_item
    > .distance::after {
    content: 'km';
}
section.feature .shop-list > .result-shop-group {
    position: relative;
    margin-top: 1.25em;
    border-style: solid;
    border-width: 2px;
    border-color: #888888;
    background-color: #303030;
}
section.feature .shop-list > .result-shop-group > .shop-data {
    padding: 0;
    background-color: #535353;
}
section.feature .shop-list > .result-shop-group > .shop-data > .item + .item {
    border-top: 2px solid #888888;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading {
    display: grid;
    grid-template-columns: 6.667vw 1fr 6.667vw;
    grid-template-rows: 1fr 1fr;
    gap: 0px 0px;
    grid-template-areas: 'rankbadge shopname expand' 'rankbadge distance expand';
    padding: 0.533vw;
    background-color: #313131;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading.is-expand
    > .expand-mark
    > .wrap
    > svg {
    transform: scaleY(1);
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading.is-expand
    + .details {
    opacity: 1;
    transform: scaleY(1);
    max-height: 9999px;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading
    > .rank-badge {
    grid-area: rankbadge;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading
    > .shop-name {
    grid-area: shopname;
    padding: 0.25em 0 0 0.5em;
    font-size: 3.467vw;
    line-height: 1.8;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading
    > .total-distance {
    grid-area: distance;
    text-align: right;
    font-size: 4.267vw;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading
    > .total-distance::after {
    content: 'm';
    display: inline;
    padding: 0 0.75em 0 0.25em;
    font-size: 3.467vw;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading
    > .expand-mark {
    grid-area: expand;
    display: flex;
    align-items: center;
    justify-content: center;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading
    > .expand-mark
    > .wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.4vw;
    height: 6.4vw;
    border: 0.25rem outset #bb0014;
    background-color: #ff0000;
    box-shadow: inset 0 0 0.25em #bb0014;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .heading
    > .expand-mark
    > .wrap
    > svg {
    transition-property: opacity transform;
    transition-duration: 260ms;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: scaleY(-1);
    transform-origin: center;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .details {
    opacity: 0;
    transition-property: opacity transform max-height;
    transition-duration: 260ms;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: scaleY(0);
    transform-origin: top;
    max-height: 0;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .details
    > .mvp-list {
    padding: 1.067vw 2.133vw 1.067vw 7.2vw;
    margin: 0;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .details
    > .mvp-list
    > .mvp-list_item {
    padding: 0.25em 0;
    list-style: none;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .details
    > .mvp-list
    > .mvp-list_item
    + .mvp-list_item {
    margin-top: 0.25em;
    border-top: 1px solid #fff;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .details
    > .mvp-list
    > .mvp-list_item
    > img {
    display: inline-block;
}
section.feature
    .shop-list
    > .result-shop-group
    > .shop-data
    > .item
    > .details
    > .mvp-list
    > .mvp-list_item
    > span {
    padding: 0 0.5em;
    vertical-align: middle;
    font-size: 3.467vw;
    line-height: 1.33;
}
section.feature .shop-list > .shop-group {
    position: relative;
    border-style: solid;
    border-width: 2px;
    border-color: #888888;
    background-color: #303030;
}
section.feature .shop-list > .shop-group::before {
    content: attr(data-group-num);
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 2.5em;
    height: 100%;
    top: 0;
    left: 0;
    color: #fff;
    font-size: 1.25rem;
    background-color: #888888;
}
section.feature .shop-list > .shop-group > .item {
    display: block;
    padding: 1.25em 1.75em;
}
section.feature .shop-list > .shop-group > .item > span {
    color: #ffffff;
    font-size: 3.733vw;
    line-height: 1.33;
}
section.feature .shop-list > .item {
    display: block;
    padding: 1.25em 1.75em;
    background-color: #303030;
    border-style: solid;
    border-width: 0 2px 0 2px;
    border-color: #ffffff;
}
section.feature .shop-list > .item:nth-child(1) {
    border-top-width: 2px;
}
section.feature .shop-list > .item:nth-child(3n) {
    border-bottom-width: 2px;
}
section.feature .shop-list > .item:nth-child(3n + 1) {
    margin-top: 2.133vw;
    border-top-width: 2px;
}
section.feature .shop-list > .item:last-child {
    border-bottom-width: 2px;
}
section.feature .shop-list > .item > span {
    color: #ffffff;
    font-size: 3.733vw;
    line-height: 1.33;
}

.footer-nav {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 6vw 4vw 16.8vw;
    background-color: rgba(0, 0, 0, 0.9);
    opacity: 0;
    transform: scaleY(0);
    transform-origin: bottom;
    z-index: 100;
    transition-property: transform, opacity;
    transition-duration: 360ms;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.footer-nav.is-expand {
    opacity: 1;
    transform: scaleY(1);
}
.footer-nav .area-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.footer-nav .area-list > .item {
    width: 48%;
    border-bottom: solid 0.267vw var(--base-red);
}
.footer-nav .area-list .u-link {
    display: block;
    padding: 1.867vw 0;
    color: #ffffff;
    font-size: 4vw;
    line-height: 1.33;
    text-decoration: none;
}

.footer-content .game-copyright {
    background-color: #000000;
    padding: 2.75em 2.15em 4.7em;
}
.footer-content .game-copyright > span {
    display: block;
}
.footer-content .footer-base {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    background-color: #ffffff;
    padding: 2.25em 2.15em 7em;
}
.footer-content .footer-base .bn-logo {
    width: 13.333vw;
}
.footer-content .footer-base .copyright {
    color: #000000;
}

.modal .modal__overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.74);
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
    z-index: 1050;
}
.modal .modal__container {
    width: 100%;
    max-width: 690px;
    max-height: 76vh;
    padding: 30px;
    background-color: #fff;
}
.modal .modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.modal .modal__title {
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.25;
}
.modal .modal__close::before {
    content: '✕';
}
.modal .modal__content {
    max-height: 72vh;
    margin-top: 2rem;
    margin-bottom: 2rem;
    line-height: 1.5;
    overflow-y: auto;
}
.modal .c-modal__close-outside {
    font-family: Arial, Helvetica, sans-serif;
    -webkit-appearance: none;
            appearance: none;
    content: '✕';
    position: fixed;
    top: -11.467vw;
    right: 0.75rem;
    display: grid;
    place-items: center;
    width: 7.467vw;
    height: 7.467vw;
    border: solid transparent 0.23rem;
    border-radius: 50%;
    color: #fff;
    font-size: 8.533vw;
    line-height: 1;
    background-color: transparent;
    z-index: 1050;
    transition: border-color 320ms ease;
}

.micromodal-slide {
    display: none;
}
.micromodal-slide.is-open {
    display: block;
}
.micromodal-slide[aria-hidden='false'] .modal__overlay {
    animation: mmfadeIn 220ms cubic-bezier(0.34, 0.07, 0.095, 0.995);
}
.micromodal-slide[aria-hidden='false'] .modal__container {
    animation: mmslideIn 220ms cubic-bezier(0.34, 0.07, 0.095, 0.995);
}
.micromodal-slide[aria-hidden='true'] .modal__overlay {
    animation: mmfadeOut 340ms cubic-bezier(0.34, 0.07, 0.095, 0.995);
}
.micromodal-slide[aria-hidden='true'] .modal__container {
    animation: mmslideOut 340ms cubic-bezier(0.34, 0.07, 0.095, 0.995);
}
.micromodal-slide .modal__container,
.micromodal-slide .micromodal-slide .modal__overlay {
    will-change: transform;
}

/* Animation */
@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes mmslideIn {
    from {
        transform: translateY(6%);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-12%);
    }
}
.modal .modal__container {
    padding: 0;
    background-color: rgba(0, 0, 0, 0);
}
.modal .modal__caption {
    font-size: 4.8vw;
    padding: 0.25em 0.75em;
    text-align: center;
    font-style: italic;
    font-weight: 700;
    background-color: var(--accent-red);
    box-shadow: 0 0 32px -8px rgb(255, 255, 255);
}
.modal .modal__content {
    width: 92vw;
    height: 72vh;
    background-color: #debf64;
    background-image: url('./images/modal-bg.png');
    background-repeat: repeat-y;
    background-size: cover;
    background-position: top bottom;
    box-shadow: 0 0 32px -8px rgb(255, 255, 255);
}
.modal .modal__content .members .member-list {
    padding: 0 0 9.067vw;
    margin: 0;
}
.modal .modal__content .members .member-list > .item {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    width: 78vw;
}
.modal .modal__content .members .top-member-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    gap: 3.467vw 3.467vw;
    grid-template-areas: 'no1 no1' 'no2 no3' 'no4 no5';
    padding: 5.6vw 4.267vw 4.267vw;
    margin: 0 auto;
}
.modal .modal__content .members .top-member-list .item {
    display: block;
    list-style: none;
    text-align: center;
}
.modal .modal__content .members .top-member-list .item:nth-child(1) {
    grid-area: no1;
}
.modal .modal__content .members .top-member-list .item:nth-child(2) {
    grid-area: no2;
}
.modal .modal__content .members .top-member-list .item:nth-child(3) {
    grid-area: no3;
}
.modal .modal__content .members .top-member-list .item:nth-child(4) {
    grid-area: no4;
}
.modal .modal__content .members .top-member-list .item:nth-child(5) {
    grid-area: no5;
}
@media (min-width: 36em){
    [data-view='>sm'],
    [data-view='sm'] {
        display: revert;
    }
}
@media not all and (min-width: 36em){
    [data-view='<sm'] {
        display: revert;
    }
}
@media (min-width: 751px){
    [data-view='>md'],
    [data-view='md'] {
        display: revert;
    }
    [data-view='pc'],
    [data-view='desktop'],
    .-pc {
        display: block;
    }
    [data-view='sp'],
    [data-view='mobile'],
    .-sp {
        display: none;
    }
    .page-top {
        right: unset;
        bottom: 7.5em;
        left: calc(50vw - 375px + 570px);
    }
    .view-wrapper {
        max-width: 750px;
        margin: 0 auto;
        box-shadow: 0 0 48vw -3vw rgba(0, 0, 0, 0.67);
    }
    .header-button {
        width: 11.438rem;
        height: 11.438rem;
        left: calc(50vw - 375px + 560px);
    }
    .header-nav .u-nav-list {
        padding-bottom: 7.5rem;
    }
    .header-nav .u-nav-list > .nav-link > .item {
        width: 43.688rem;
    }
    .header-nav .u-nav-list > .nav-link > .item.-now ::before {
        width: 8.313rem;
        height: 3.063rem;
        font-size: 2.25rem;
    }
    section.keyvisual > .arrow > .caption {
        font-size: 1.625rem;
    }
    section.video-clip {
        padding-top: 6.75rem;
    }
    section.video-clip .ytb-wrap {
        width: 43.25rem;
        height: 24.625rem;
    }
    .c-ribbon-heading {
        max-width: 690px;
        padding: 1.438rem;
        font-size: 2.25rem;
        line-height: 1;
    }
    .c-sub-section_content.-dark:not(.-border) {
        max-width: 43.125rem;
    }
    .c-sub-section_content.-border {
        padding: 2.188em 0 3.75em;
    }
    section.intro > .title {
        padding: 6.625em 0 2em;
    }
    section.intro > .description {
        padding: 5em 0 0;
    }
    section.schedule {
        padding: 3.75em 0 3.5em;
    }
    section.anchor {
        max-width: 750px;
        height: 6rem;
    }
    section.copy .description > .text {
        font-size: 1.875em;
    }
    section.championship-results > .description > .text {
        font-size: 1.875em;
    }
    section.championship-results .tournament-result .commendation {
        width: 43.125rem;
        padding: 3.125rem 0 2.188rem 0;
    }
    section.championship-results
        .tournament-result
        .commendation
        + .commendation {
        margin-top: 2rem;
    }
    section.championship-results .tournament-result .commendation > .heading {
        height: 34.25rem;
    }
    section.championship-results .tournament-result .commendation > .signboard {
        width: 36.438rem;
        min-height: 6.875rem;
        font-size: 1.875rem;
    }
    section.championship-results .result-data {
        width: 38.75rem;
        margin-top: 1.5rem;
    }
    section.championship-results .result-data > .heading {
        grid-template-columns: 1fr 3.125rem;
        padding: 0.25rem 1.125rem;
    }
    section.championship-results .result-data > .heading > .shop-name {
        font-size: 1.625rem;
    }
    section.championship-results .result-data > .heading > .total-distance {
        font-size: 2rem;
    }
    section.championship-results
        .result-data
        > .heading
        > .total-distance::after {
        font-size: 1.625rem;
    }
    section.championship-results
        .result-data
        > .heading
        > .expand-mark
        > .wrap {
        width: 3rem;
        height: 3rem;
    }
    section.championship-results .member-list {
        padding: 0.75rem 0.938rem;
    }
    section.championship-results .member-list > .member-item {
        height: 3.75rem;
        font-size: 1.625rem;
    }
    section.after-hours-festival {
        padding: 10em 0;
    }
    section.after-hours-festival::before {
        top: 3.75em;
    }
    section.after-hours-festival .description > .text {
        font-size: 1.875em;
    }
    section.after-hours-festival .description > .text.-closed {
        font-size: 1.875rem;
    }
    section.after-hours-festival .image {
        margin-top: 3.75rem;
    }
    section.venue {
        padding: 6.5rem 0 7.5em;
    }
    section.venue .description > .text {
        font-size: 1.875em;
    }
    section.venue .description > .text.-lg {
        font-size: 1.875rem;
    }
    section.venue .venue-list {
        margin-top: 3rem;
    }
    section.venue .venue-list + .venue-list {
        margin-top: 1.875rem;
    }
    section.venue .venue-list > .heading {
        min-height: 8.25rem;
        padding: 0 0 0 2.813rem;
        margin: 0 1.125rem -0.34em;
    }
    section.venue .venue-list > .heading > button {
        padding: 0.938rem;
        font-size: 1.875rem;
    }
    section.venue .venue-list > .shop-detail {
        width: 43.125rem;
        padding: 1.875rem 1.875rem 2.25rem;
        margin-top: -0.375rem;
    }
    section.venue .venue-list > .shop-detail + .heading {
        margin-top: 1.875rem;
    }
    section.venue .venue-list > .shop-detail > .shop-name {
        margin: 1.625rem auto 0;
        font-size: 1.625rem;
    }
    section.venue .venue-list > .shop-detail > .shop-name::after {
        height: 0.125rem;
        margin-top: 0.75rem;
    }
    section.venue .venue-list > .shop-detail > .column {
        width: 39.375rem;
        padding: 2.25rem 0;
    }
    section.venue .venue-list > .shop-detail > .column > .image {
        width: 20rem;
        height: 15rem;
        overflow: hidden;
    }
    section.venue .venue-list > .shop-detail > .column > .comment > .body {
        font-size: 1.625rem;
    }
    section.venue
        .venue-list
        > .shop-detail
        > .column
        > .comment
        > .shop-detail {
        padding: 0 1rem;
    }
    section.venue
        .venue-list
        > .shop-detail
        > .column
        > .comment
        > .shop-detail
        .u-link {
        font-size: 1.625rem;
    }
    section.venue .venue-list > .shop-detail > .column > .comment > .pic {
        padding: 0 1rem;
        font-size: 1.625rem;
    }
    section.venue .venue-list > .shop-detail > .c-modal-open {
        width: 38.125rem;
        height: 5rem;
        font-size: 1.563rem;
    }
    section.feature {
        padding: 5.375rem 0 8.375rem;
    }
    section.feature .description > .text {
        font-size: 1.875em;
    }
    section.feature .shop-list > .feature-shop-group {
        padding: 1.875rem 0 0;
    }
    section.feature .shop-list > .feature-shop-group > .rank-list {
        max-width: 42.813rem;
        padding: 2.438rem 2rem;
    }
    section.feature
        .shop-list
        > .feature-shop-group
        > .rank-list
        > .rank-list_item {
        grid-template-columns: 3.125rem 30% 1fr;
        padding: 0.375rem;
    }
    section.feature
        .shop-list
        > .feature-shop-group
        > .rank-list
        > .rank-list_item
        > .shop-name {
        font-size: 1.625rem;
    }
    section.feature
        .shop-list
        > .feature-shop-group
        > .rank-list
        > .rank-list_item
        > .shop-pref {
        padding-left: 0.875rem;
    }
    section.feature
        .shop-list
        > .feature-shop-group
        > .rank-list
        > .rank-list_item
        > .shop-pref
        > .badge {
        padding: 0.313rem 0.75rem;
        font-size: 1.5rem;
    }
    section.feature
        .shop-list
        > .feature-shop-group
        > .rank-list
        > .rank-list_item
        > .count,
    section.feature
        .shop-list
        > .feature-shop-group
        > .rank-list
        > .rank-list_item
        > .distance {
        font-size: 2rem;
    }
    section.feature
        .shop-list
        > .feature-shop-group
        > .rank-list
        > .rank-list_item
        > .count::after,
    section.feature
        .shop-list
        > .feature-shop-group
        > .rank-list
        > .rank-list_item
        > .distance::after {
        font-size: 1.625rem;
    }
    section.feature
        .shop-list
        > .result-shop-group
        > .shop-data
        > .item
        > .heading {
        grid-template-columns: 3.125rem 1fr 3.125rem;
        padding: 0.25rem;
    }
    section.feature
        .shop-list
        > .result-shop-group
        > .shop-data
        > .item
        > .heading
        > .shop-name {
        font-size: 1.625rem;
    }
    section.feature
        .shop-list
        > .result-shop-group
        > .shop-data
        > .item
        > .heading
        > .total-distance {
        font-size: 2rem;
    }
    section.feature
        .shop-list
        > .result-shop-group
        > .shop-data
        > .item
        > .heading
        > .total-distance::after {
        font-size: 1.625rem;
    }
    section.feature
        .shop-list
        > .result-shop-group
        > .shop-data
        > .item
        > .heading
        > .expand-mark
        > .wrap {
        width: 3rem;
        height: 3rem;
    }
    section.feature
        .shop-list
        > .result-shop-group
        > .shop-data
        > .item
        > .details
        > .mvp-list {
        padding: 0.5rem 1rem 0.5rem 3.375rem;
    }
    section.feature
        .shop-list
        > .result-shop-group
        > .shop-data
        > .item
        > .details
        > .mvp-list
        > .mvp-list_item
        > span {
        font-size: 1.625rem;
    }
    section.feature .shop-list > .shop-group > .item > span {
        font-size: 1.75rem;
    }
    section.feature .shop-list > .item:nth-child(3n + 1) {
        margin-top: 1rem;
    }
    section.feature .shop-list > .item > span {
        font-size: 1.75rem;
    }
    .footer-nav {
        max-width: 750px;
        padding: 1.875rem 1.875rem 7.875rem;
    }
    .footer-nav .area-list {
        max-height: calc(100vh - 156px);
        overflow: auto;
    }
    .footer-nav .area-list > .item {
        border-bottom-width: 0.125rem;
    }
    .footer-nav .area-list .u-link {
        padding: 1.867vw 0;
        font-size: 1.875rem;
    }
    .footer-content .footer-base .bn-logo {
        width: 8.438em;
    }
    .modal .modal__container {
        max-height: 86vh;
    }
    .modal .modal__content {
        max-height: 78vh;
    }
    .modal .c-modal__close-outside {
        top: -3.25rem;
        width: 3rem;
        height: 3rem;
        font-size: 1.438rem;
    }
    .modal .modal__caption {
        font-size: 2.25rem;
    }
    .modal .modal__content {
        width: 43.125rem;
        height: 92vh;
    }
    .modal .modal__content .members .member-list {
        padding: 0 0 4.25rem;
    }
    .modal .modal__content .members .member-list > .item {
        width: 36.563rem;
    }
    .modal .modal__content .members .top-member-list {
        gap: 1.625rem 1.625rem;
        padding: 2.625rem 2rem 2rem;
    }
}
@media not all and (min-width: 751px){
    [data-view='<md'] {
        display: revert;
    }
    [data-view='pc'],
    [data-view='desktop'],
    .-pc {
        display: none;
    }
    [data-view='sp'],
    [data-view='mobile'],
    .-sp {
        display: block;
    }
    .header-button {
        right: 0;
    }
    section.keyvisual > .arrow {
        width: 16.533vw;
        min-height: 17.067vw;
        margin: 3.467vw auto;
    }
    .footer-content .footer-base .bn-logo {
        margin-left: 6vw;
    }
    #ot-sdk-btn-floating.ot-floating-button {
        bottom: 15.733vw !important;
    }
}
@media (min-width: 62em){
    [data-view='>lg'],
    [data-view='lg'] {
        display: revert;
    }
}
@media not all and (min-width: 62em){
    [data-view='<lg'] {
        display: revert;
    }
}
@media (min-width: 75em){
    [data-view='>xl'],
    [data-view='xl'] {
        display: revert;
    }
}
@media not all and (min-width: 75em){
    [data-view='<xl'] {
        display: revert;
    }
}
@media (min-width: 90em){
    [data-view='>xxl'],
    [data-view='xxl'] {
        display: revert;
    }
}
@media not all and (min-width: 90em){
    [data-view='<xxl'] {
        display: revert;
    }
}
@media (hover: hover){
    section.anchor > .list > .item > .u-link:hover {
        background-color: rgba(255, 255, 255, 0.24);
    }
    section.championship-results
        .result-data
        > .heading
        > .expand-mark
        > .wrap:hover {
        filter: brightness(1.4);
    }
    .footer-nav .area-list .u-link:hover {
        text-decoration: underline;
    }
    .modal .c-modal__close-outside:hover {
        border-color: #fff;
    }
}
@media all and (-ms-high-contrast: none){
    *::-ms-backdrop,
    .u-fit-contain {
        object-fit: contain;
        font-family: 'object-fit: contain';
    }

    *::-ms-backdrop,
    .u-fit-cover {
        object-fit: cover;
        font-family: 'object-fit: cover';
    }
}
@media screen and (prefers-reduced-motion: reduce){
    html {
        scroll-behavior: auto;
    }
}
