/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
@font-face {
    font-family: SHanSerB;
    src: url("../fonts/SOURCEHANSERIFCN-BOLD.OTF") format("opentype");
}


@font-face {
    font-family: YouSheBiaoTiHei;
    src: url("../fonts/YouSheBiaoTiHei-2.ttf") format("opentype");
}
*, ::before, ::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0
}

main {
    display: block
}

p, table, blockquote, address, pre, iframe, form, figure, dl {
    margin: 0
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0
}

ul, ol {
    margin: 0;
    padding: 0;
    list-style: none
}

dt {
    font-weight: bold
}

dd {
    margin-left: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit
}

pre {
    font-family: monospace, monospace;
    font-size: inherit
}

address {
    font-style: inherit
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit
}

abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b, strong {
    font-weight: bolder
}

code, kbd, samp {
    font-family: monospace, monospace;
    font-size: inherit
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

img, embed, object, iframe {
    vertical-align: bottom
}

button, input, optgroup, select, textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit
}

[type="checkbox"] {
    -webkit-appearance: checkbox;
    appearance: checkbox
}

[type="radio"] {
    -webkit-appearance: radio;
    appearance: radio
}

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

button, [type="button"], [type="reset"], [type="submit"] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none
}

button[disabled], [type="button"][disabled], [type="reset"][disabled], [type="submit"][disabled] {
    cursor: default
}

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText
}

select::-ms-expand {
    display: none
}

option {
    padding: 0
}

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
    height: auto
}

[type="search"] {
    outline-offset: -2px
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable] {
    outline: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

caption {
    text-align: left
}

td, th {
    vertical-align: top;
    padding: 0
}

th {
    text-align: left;
    font-weight: bold
}

template {
    display: none
}

[hidden] {
    display: none
}

body {
    position: relative;
    font-family: SHanSerB;
    line-height: 1.6;
    font-weight: 400;
    color: #fff;
    font-size: 16px;
    z-index: -1;
    background-color: black
}

.container::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: url("../img/mg_kessen2026/bg.jpg") center top;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1
}

@media only screen and (max-width: 768px) {
    .container::before {
        background: url("../img/mg_kessen2026/bg_sp.jpg") center center;
        -webkit-transform: translate3d(0, 0, -1px);
        transform: translate3d(0, 0, -1px)
    }
}

img {
    width: 100%;
    display: inline;
    max-width: 100%;
    height: auto;
    font-size: 0;
    line-height: 1;
    vertical-align: bottom
}

* {
    box-sizing: border-box
}

*::before, *::after {
    box-sizing: border-box
}

a {
    color: #fff;
    text-decoration: underline;
    outline: none
}

a img {
    transition: all .3s linear
}

@media (hover: hover) {
    a {
        transition: -webkit-text-decoration .3s cubic-bezier(0.37, 0, 0.63, 1);
        transition: text-decoration .3s cubic-bezier(0.37, 0, 0.63, 1);
        transition: text-decoration .3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-text-decoration .3s cubic-bezier(0.37, 0, 0.63, 1)
    }

    a:hover {
        text-decoration: none
    }

    a:hover img {
        -webkit-filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 0.8));
        filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 0.8))
    }
}

mark:not([class]) {
    background-color: transparent;
    background-image: linear-gradient(transparent 60%, rgba(219, 40, 82, 0.25) 60%)
}

input[type=checkbox] {
    -webkit-appearance: none;
    appearance: none
}

textarea:not([class]) {
    padding: 0.5em;
    border: 1px solid #fff
}

.is-sponly {
    display: none
}

.is-pconly {
    display: block
}

@media only screen and (max-width: 768px) {
    .is-pconly {
        display: none
    }

    .is-sponly {
        display: block
    }
}

html {
    scroll-padding-top: 0
}

.l-header {
    font-family: var(--ff-jp);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7
}

.l-header .c-inner {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%
}

.p-gnavDropdown__link {
    text-decoration: none
}

.p-fnav__linkIcon img {
    vertical-align: top
}

.container {
    overflow: visible !important
}

.p-siteHeader {
    position: relative;
    z-index: 20;
    width: 100%;
    background: linear-gradient(180deg, #070e2c 0%, #050a23 100%)
}

body.is-siteHeaderFixed .p-siteHeader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .35)
}

.p-siteHeader__inner {
    min-height: min(3.64583vw, 70px);
    padding: 0 min(1.5625vw, 30px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 24px
}

.p-siteHeader__logo {
    width: min(17.1875vw, 330px);
    min-width: 180px;
    line-height: 0
}

.p-siteHeader__actions {
    display: none;
    flex: 0 0 auto;
    align-items: center;
    column-gap: min(1.5625vw, 30px);
    color: #fff;
    font-family: SHanSerB;
    font-size: min(1.33333vw, 20px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: nowrap;
}

.p-siteHeader__remaining {
    display: none;
    text-shadow: 0 0 8px rgba(74, 156, 255, .45)
}

.p-siteHeader__remainingNum {
    display: inline-block;
    min-width: .8em;
    text-align: center
}

.p-siteHeader__logout {
    text-shadow: 0 0 8px rgba(74, 156, 255, .65);
    transition: color .2s linear, text-shadow .2s linear
}

body.is-logged-in .p-siteHeader__actions {
    display: flex
}

body.has-header-vote-chance .p-siteHeader__remaining {
    display: inline-block
}

@media (hover: hover) {
    .p-siteHeader__logout:hover {
        color: #f6d35c;
        text-shadow: 0 0 12px rgba(246, 211, 92, .7)
    }
}

@media only screen and (max-width: 768px) {
    .p-siteHeader__inner {
        min-height: 9.375vw;
        padding: 0 3.125vw;
        column-gap: 3.125vw
    }

    .p-siteHeader__logo {
        width: 45.83333vw;
        min-width: 0
    }

    .p-siteHeader__logout {
        font-size: 3.125vw
    }

    .p-siteHeader__actions {
        column-gap: 3.125vw;
        font-size: 3.125vw
    }
}

.lazyload {
    opacity: 0;
    transition: all .3s linear, opacity .6s linear
}

.lazyload.is-loaded {
    opacity: 1
}

.headerCol {
    position: relative;
    width: 100%;
    background-color: #fff;
    border-bottom: 2px solid #666;
    z-index: 10
}

.headerInner {
    margin: 0 auto;
    width: 98%;
    max-width: 1100px
}

.headerLogo {
    max-width: 380px;
    padding: 20px 0
}

@media only screen and (max-width: 768px) {
    .headerLogo {
        padding: 8px 0;
        width: 40%;
        min-width: 180px
    }
}

.breadcrumbCol {
    margin: auto;
    position: relative;
    padding: 8px 0;
    font-size: 10px;
    color: #666;
    background-color: #fff;
    z-index: 10
}

.breadcrumbInner {
    margin: 0 auto;
    width: 98%;
    max-width: 1100px
}

.breadcrumbLink {
    color: #005fb2;
    text-decoration: none
}

.l-sns {
    margin-top: min(3.33333vw, 50px);
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    gap: 10px 0;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    line-height: 1
}

.copyrights {
    margin: 0 auto;
    padding: min(2.66667vw, 40px) 0;
    text-align: center;
    font-size: min(1.2vw, 18px)
}

@media only screen and (max-width: 768px) {
    .copyrights {
        font-size: 14px
    }
}

.copyrights .att {
    text-align: center;
    font-size: 14px
}

@media only screen and (max-width: 768px) {
    .copyrights .att {
        margin: auto;
        width: 88.54167vw;
        font-size: 12px
    }
}

.footerCol {
    margin: auto;
    position: relative;
    width: 100%;
    color: #ccc;
    background-color: #383838;
    z-index: 10
}

.footerColInner {
    margin: auto;
    padding: 25px 0;
    max-width: 990px
}

@media only screen and (max-width: 768px) {
    .footerColInner {
        padding: 10px 1%
    }
}

.pg-footer__bandai {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center
}

.pg-footer__logo {
    margin-right: 1.25em
}

@media only screen and (max-width: 768px) {
    .pg-footer__logo {
        margin-right: 2%;
        width: 40px
    }
}

.footerNotice {
    display: block;
    font-size: 10px
}

@media only screen and (max-width: 768px) {
    .footerNotice {
        width: calc(98% - 60px)
    }
}

@media (hover: hover) {
    .p-link {
        transition: 0.6s;
        font-weight: 800
    }

    .p-link:hover {
        opacity: 0.7;
        text-decoration: none
    }
}

.spOnly {
    display: none
}

@media only screen and (max-width: 768px) {
    .spOnly {
        display: block
    }
}

.pcOnly {
    display: block
}

@media only screen and (max-width: 768px) {
    .pcOnly {
        display: none
    }
}

.c-inner {
    margin: auto;
    max-width: min(71.33333vw, 1070px)
}

@media only screen and (max-width: 768px) {
    .c-inner {
        max-width: 86.66666vw
    }
}

.c-sponly {
    display: none
}

@media only screen and (max-width: 768px) {
    .c-sponly {
        display: block
    }
}

.pg-mv {
    background: url("../img/mg_kessen2026/mvbg.jpg") center top;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    height: 54.6875vw;
    overflow: hidden
}

@media only screen and (max-width: 768px) {
    .pg-mv {
        background: url("../img/mg_kessen2026/mv_sp/mvbg_sp.jpg") center top;
        height: 172vw
    }
}

.pg-mv .p-mv1 {
    width: 30.41667vw;
    position: absolute;
    z-index: 4;
    top: 0;
    left: 25.18125vw
}

.pg-mv .p-mv1_bg {
    width: 25vw;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 32.83125vw
}

.pg-mv .p-mv2 {
    width: 39.89583vw;
    position: absolute;
    z-index: 4;
    top: 8.2167vw;
    right: 23.52917vw;
}

.pg-mv .p-mv2_bg {
    width: 25.83333vw;
    position: absolute;
    z-index: 1;
    top: 7.8125vw;
    right: 26.35417vw
}

.pg-mv .p-mv3 {
    width: 15.15625vw;
    position: absolute;
    z-index: 3;
    top: .52083vw;
    right: 0
}

.pg-mv .p-mv4 {
    width: 26.09375vw;
    position: absolute;
    z-index: 2;
    top: 9.27083vw;
    right: 7.08333vw
}

.pg-mv .p-mv5 {
    width: 45.72917vw;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0
}

.pg-mv .p-mv6 {
    width: 25.36458vw;
    position: absolute;
    z-index: 2;
    bottom: 0;
    right: 0
}

.pg-mv .p-mv7 {
    width: 35.3125vw;
    position: absolute;
    z-index: 2;
    bottom: 0;
    right: 24.375vw
}

.pg-mv .p-mv8 {
    width: 12.34375vw;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0
}

.pg-mv .p-mv9 {
    width: 24.0625vw;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 10.05208vw
}

.pg-mv .p-mv10 {
    width: 33.33333vw;
    position: absolute;
    z-index: 2;
    top: 5.05208vw;
    left: 0
}

.pg-mv .p-mvlogo {
    width: 40.3125vw;
    position: absolute;
    z-index: 4;
    bottom: 3.86458vw;
    left: 3.38542vw
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv1_sp {
        width: 54.03646vw;
        position: absolute;
        z-index: 4;
        top: 12vw;
        right: 19.1375vw;
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv1_bg_sp {
        width: 63.80208vw;
        position: absolute;
        z-index: 2;
        top: 48.4vw;
        right: 15.4vw
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv2_sp {
        width: 58.06771vw;
        position: absolute;
        z-index: 3;
        top: 64.3vw;
        right: 0
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv2_bg_sp {
        width: 60.9375vw;
        position: absolute;
        z-index: 2;
        top: 77vw;
        right: 0
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv3_sp {
        width: 58.72396vw;
        position: absolute;
        z-index: 2;
        top: 0;
        right: 1.9104vw
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv4_sp {
        width: 42.1875vw;
        position: absolute;
        z-index: 2;
        top: 12.5vw;
        left: 40.86458vw
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv5_sp {
        width: 30.8vw;
        position: absolute;
        z-index: 2;
        top: 1.04167vw;
        right: 0
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv6_sp {
        width: 43.09896vw;
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv7_sp {
        width: 42.57813vw;
        position: absolute;
        z-index: 2;
        top: 44.27083vw;
        left: 0
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mv10_sp {
        width: 52.15625vw;
        position: absolute;
        z-index: 2;
        top: 83.63542vw;
        left: 0;
    }
}

@media only screen and (max-width: 768px) {
    .pg-mv .p-mvlogo_sp {
        width: 95vw;
        position: absolute;
        z-index: 4;
        bottom: 3vw;
        right: 2.5vw
    }
}

.p-ttlmate {
    margin: auto;
    padding-top: min(1.46667vw, 22px);
    max-width: min(11.13333vw, 167px)
}

@media only screen and (max-width: 768px) {
    .p-ttlmate {
        padding-top: 3.125vw;
        max-width: 21.74479vw
    }
}

.pg-intro {
    margin: min(15.33333vw, 230px) auto 0 auto;
    max-width: 1500px;
    width: 90%;
    padding: min(5vw, 75px) 0;
    background-color: rgba(0, 0, 0, 0.6)
}

@media only screen and (max-width: 768px) {
    .pg-intro {
        margin: 80px auto 0 auto;
        width: 94%;
        padding: 9.76563vw 0
    }
}

.pg-intro .p-ttl {
    margin: auto;
    max-width: min(41vw, 615px)
}

@media only screen and (max-width: 768px) {
    .pg-intro .p-ttl {
        max-width: 80.07813vw
    }
}

.pg-intro .p-leadTxt1 {
    font-size: min(2.33333vw, 35px);
    text-align: center;
    font-family: SHanSerB;
    font-weight: 600
}

@media only screen and (max-width: 768px) {
    .pg-intro .p-leadTxt1 {
        font-size: 4.03646vw;
        line-height: 2.5
    }
}

.pg-intro .p-leadTxt1 .p-marker {
    padding: min(.8vw, 12px) min(5vw, 80px) min(1.06667vw, 16px) min(5vw, 80px);
    background-color: #7d6421
}

@media only screen and (max-width: 768px) {
    .pg-intro .p-leadTxt1 .p-marker {
        padding: .65104vw 3vw
    }
}

.pg-intro .p-leadTxt2 {
    padding-top: min(3vw, 45px);
    font-size: min(1.6vw, 24px);
    text-align: center;
    font-weight: 500;
    font-family: SHanSerB;
}

@media only screen and (max-width: 768px) {
    .pg-intro .p-leadTxt2 {
        padding-top: 1.30208vw;
        font-size: 3.64583vw;
        line-height: 1.8
    }
}

.pg-intro .p-leadTxt3 {
    padding-top: min(2.66667vw, 40px);
    font-size: min(1.6vw, 24px);
    text-align: center;
    font-weight: 500;
    font-family: SHanSerB;
}

@media only screen and (max-width: 768px) {
    .pg-intro .p-leadTxt3 {
        padding-top: 5.20833vw;
        font-size: 4.16667vw
    }
}

.pg-intro .p-leadTxt3 .p-border {
    padding: min(.53333vw, 8px) min(.8vw, 12px) min(.66667vw, 10px) min(.8vw, 12px);
    border: 1px solid #fff;
    display: inline-block
}

@media only screen and (max-width: 768px) {
    .pg-intro .p-leadTxt3 .p-border {
        padding: 1.95313vw 2.60417vw;
        font-size: 4.16667vw
    }
}

.pg-intro .p-leadTxt4 {
    padding-top: 20px;
    font-size: min(1.33333vw, 20px);
    text-align: center;
    font-weight: 500;
    font-family: SHanSerB;
}

@media only screen and (max-width: 768px) {
    .pg-intro .p-leadTxt4 {
        padding-top: 2.60417vw;
        font-size: 3.125vw
    }
}

.pg-intro .p-leadTxt4 .p-border {
    padding: min(.53333vw, 8px) min(.8vw, 12px) min(.66667vw, 10px) min(.8vw, 12px);
    border: 1px solid #fff;
    display: inline-block
}

@media only screen and (max-width: 768px) {
    .pg-intro .p-leadTxt4 .p-border {
        padding: 1.95313vw 2.60417vw;
        font-size: 4.16667vw
    }
}

.pg-intro .c-inner {
    padding-top: min(3.33333vw, 50px)
}

@media only screen and (max-width: 768px) {
    .pg-intro .c-inner {
        padding-top: 5.20833vw
    }
}

.pg-howto {
    margin: min(15.33333vw, 230px) auto 0 auto;
    max-width: 1500px;
    width: 90%;
    padding: min(5vw, 75px) 0;
    background-color: rgba(0, 0, 0, 0.6)
}

@media only screen and (max-width: 768px) {
    .pg-howto {
        margin: 80px auto 0 auto;
        width: 94%;
        padding: 9.76563vw 0
    }
}

.pg-howto .p-howto {
    position: relative
}

.pg-howto .p-howto__fin {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 10
}

.pg-howto .p-howto__finTxt {
    text-align: center;
    font-size: min(2vw, 30px);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__finTxt {
        font-size: 3.25521vw
    }
}

.pg-howto .p-howto__ttl {
    padding: min(.8vw, 12px) 0;
    font-size: min(1.73333vw, 26px);
    font-weight: 500;
    background-color: #423e30;
    text-align: center;
    font-family: SHanSerB;
    line-height: 1.2
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__ttl {
        padding: 1.95313vw 2.60417vw;
        font-size: 3.90625vw
    }
}

.pg-howto .p-howto__ttl.--middle {
    font-size: min(2.13333vw, 32px);
    background-image: url(../img/mg_kessen2026/howtomiddlebg.png);
    background-size: contain;
    line-height: 1.0
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__ttl.--middle {
        font-size: 5.46875vw;
        background-size: cover;
        background-image: url(../img/mg_kessen2026/howtomiddlebg_sp.png);
        background-repeat: no-repeat
    }
}

.pg-howto .p-howto__ttl.--final {
    padding: 16px 0;
    line-height: 0.8;
    font-size: min(3.06667vw, 46px);
    background: url(../img/mg_kessen2026/howtofinalbg.png), linear-gradient(180deg, #423e2a 0%, #756e55 100%);
    background-size: contain;
    position: relative
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__ttl.--final {
        font-size: 7.42188vw;
        background-size: cover;
        background-image: url(../img/mg_kessen2026/howtofinalbg_sp.png), linear-gradient(180deg, #423e2a 0%, #756e55 100%);
        background-repeat: no-repeat
    }
}

.pg-howto .p-howto__ttl.--final::before {
    content: "";
    background: url(../img/mg_kessen2026/final.png);
    background-size: contain;
    width: min(4.66667vw, 70px);
    height: min(3.06667vw, 46px);
    display: block;
    position: absolute;
    top: 33%;
    left: 37%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__ttl.--final::before {
        width: 9.11458vw;
        height: 5.98958vw;
        left: 26%
    }
}

.pg-howto .p-howto__ttl.--final::after {
    content: "";
    background: url(../img/mg_kessen2026/final.png);
    background-size: contain;
    width: min(4.66667vw, 70px);
    height: min(3.06667vw, 46px);
    display: block;
    position: absolute;
    top: 33%;
    left: 63%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__ttl.--final::after {
        width: 9.11458vw;
        height: 5.98958vw;
        left: 75%
    }
}

.pg-howto .p-howto__ttlsmall {
    font-size: min(1.33333vw, 20px);
    letter-spacing: 2px;
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__ttlsmall {
        font-size: 3.125vw
    }
}

.pg-howto .p-howto__ttlsmall.--middle {
    font-size: min(1.53333vw, 24px)
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__ttlsmall.--middle {
        font-size: 3.64583vw
    }
}

.pg-howto .p-howto__ttlsmall.--final {
    font-size: min(1.8vw, 27px)
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__ttlsmall.--final {
        font-size: 3.90625vw
    }
}

.pg-howto .p-howto__week {
    display: inline-block;
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
    font-size: 70%
}

.pg-howto .p-howto__box {
    padding: min(1.66667vw, 25px);
    font-size: min(1.33333vw, 20px);
    background-color: #b1ad9a;
    color: #000;
    text-align: center
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__box {
        padding: 3.25521vw 0.5vw;
        font-size: 3.64583vw;
        text-align: center;
        line-height: 1.8
    }
}

.pg-howto .p-howto__box.--middle {
    font-size: min(1.6vw, 24px)
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__box.--middle {
        font-size: 3.3vw
    }
}

.pg-howto .p-howto__box.--final {
    font-size: min(1.6vw, 24px);
    font-weight: 700
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__box.--final {
        font-size: 4.42708vw
    }
}

.pg-howto .p-howto__smalltxt {
    font-size: min(1.2vw, 18px);
    display: block
}

.pg-howto .p-howto__finalNote {
    margin: 50px 0
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-howto__smalltxt {
        padding-top: 10px;
        font-size: 3.25521vw;
        text-indent: -1em;
        padding-left: 1em
    }

    .pg-howto .p-howto__finalNote {
        margin: 6.51042vw 0
    }
}

.pg-howto .p-howto__arrow {
    margin: auto;
    padding-top: min(.66667vw, 10px);
    padding-bottom: min(1.33333vw, 20px);
    max-width: min(10.66667vw, 152px)
}

.pg-howto .p-howto__arrow.--middle {
    max-width: min(22.66667vw, 339px)
}

.pg-howto .p-ttl {
    margin: auto;
    max-width: min(38.33333vw, 575px)
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-ttl {
        max-width: 74.86979vw
    }
}

.pg-howto .p-linklists {
    margin-top: min(3.33333vw, 50px);
    margin-bottom: min(3.33333vw, 50px);
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-column-gap: min(1.33333vw, 20px);
    -moz-column-gap: min(1.33333vw, 20px);
    column-gap: min(1.33333vw, 20px)
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-linklists {
        margin: 4.60417vw auto  4.60417vw auto;
        width: 90%;
        display: block
    }
}

.pg-howto .p-linklists__list {
    border: 0;
    padding: min(1.6vw, 24px) min(1.33333vw, 20px);
    max-width: 330px;
    width: min(22vw, 330px);
    aspect-ratio: 1044 / 597;
    background-image: url("../img/mg_kessen2026/checkbox.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center
}

.pg-howto .p-linklists__list:last-child {
    margin-bottom: 0
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-linklists__list {
        max-width: 100%;
        margin-bottom: 2.60417vw;
        width: 100%;
        padding: 5.20833vw 4.55729vw
    }
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-linklists__logo {
        margin: auto;
        width: 90%
    }
}

.pg-howto .p-linklists__logoText {
    min-height: min(2.66667vw, 40px);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    color: #000;
    font-family: "YouSheBiaoTiHei";
    font-size: min(2.5vw, 32px);
    line-height: 1.2;
    letter-spacing: 2px;
    text-align: center;
    white-space: nowrap
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-linklists__logoText {
        min-height: 8.33333vw;
        font-size: 5.20833vw
    }
}

.pg-howto .p-linklists__txt {
    margin: min(.53333vw, 8px) 0 min(.8vw, 12px);
    font-size: min(1.33333vw, 20px);
    line-height: 1;
    vertical-align: baseline
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-linklists__txt {
        text-align: center;
        margin: 0 0 3.25521vw 0;
        font-size: 3.90625vw
    }
}

.pg-howto .p-linklists__bt {
    width: 88%
}

.pg-howto .p-linklists__num {
    font-size: min(3.33333vw, 50px);
    font-weight: 800;
    display: inline-block;
    -webkit-transform: translateY(min(.13333vw, 2px));
    transform: translateY(min(.13333vw, 2px))
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-linklists__num {
        font-size: 9.11458vw;
        -webkit-transform: translateY(.26042vw);
        transform: translateY(.26042vw)
    }
}

.pg-howto .p-linklists__unit {
    font-size: min(2vw, 30px);
    font-weight: 800
}

@media only screen and (max-width: 768px) {
    .pg-howto .p-linklists__unit {
        font-size: 5.20833vw
    }
}

.pg-howto .c-inner {
    padding-top: min(3.33333vw, 50px)
}

@media only screen and (max-width: 768px) {
    .pg-howto .c-inner {
        padding-top: 5.20833vw
    }
}

.pg-attention {
    margin: min(15.33333vw, 230px) auto 0 auto;
    max-width: 1500px;
    width: 90%;
    padding: min(5vw, 75px) 0;
    background-color: rgba(0, 0, 0, 0.6)
}

@media only screen and (max-width: 768px) {
    .pg-attention {
        margin: 80px auto 0 auto;
        width: 94%;
        padding: 9.76563vw 0
    }
}

.pg-attention .p-ttl {
    margin: auto;
    max-width: min(31.93333vw, 479px)
}

@media only screen and (max-width: 768px) {
    .pg-attention .p-ttl {
        max-width: 62.36979vw
    }
}

.pg-attention .p-attList li {
    padding-bottom: min(.66667vw, 10px);
    font-size: min(1.2vw, 18px);
    line-height: 1.8;
    text-indent: -1em;
    padding-left: 1em
}

@media only screen and (max-width: 768px) {
    .pg-attention .p-attList li {
        padding-bottom: 2.60417vw;
        font-size: 3.3vw
    }
}

.pg-attention .p-attList li:last-child {
    padding-bottom: 0
}

.pg-attention .c-inner {
    padding-top: min(3.33333vw, 50px)
}

@media only screen and (max-width: 768px) {
    .pg-attention .c-inner {
        padding-top: 5.20833vw
    }
}

.pg-lineup {
    margin: min(15.33333vw, 230px) auto 0 auto;
    max-width: 1500px;
    width: 90%;
    padding: min(5vw, 75px) 0;
    background-color: rgba(0, 0, 0, 0.6)
}

@media only screen and (max-width: 768px) {
    .pg-lineup {
        margin: 80px auto 0 auto;
        width: 94%;
        padding: 9.76563vw 0
    }
}

.pg-lineup .p-ttl {
    margin: auto;
    max-width: min(35.33333vw, 530px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup .p-ttl {
        max-width: 69.01042vw
    }
}

.pg-lineup .p-btList {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding-bottom: min(3.33333vw, 50px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup .p-btList {
        margin: auto;
        width: 69.66146vw;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        row-gap: 5.20833vw;
        padding-bottom: 10.41667vw
    }
}

.pg-lineup .p-btList li {
    max-width: min(16.53333vw, 248px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup .p-btList li {
        max-width: 32.29167vw
    }
}

.pg-lineup .p-buildersnotettl {
    margin: auto;
    max-width: min(46.8vw, 702px);
    padding-top: min(3.33333vw, 50px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup .p-buildersnotettl {
        max-width: 83.33333vw;
        padding-top: 10.41667vw
    }
}

.pg-lineup .p-buildersnotettl.--gap {
    padding-top: min(10vw, 100px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup .p-buildersnotettl.--gap {
        padding-top: 15.625vw
    }
}

.pg-lineup .p-buildersnotettl.--gapL {
    padding-top: min(10vw, 200px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup .p-buildersnotettl.--gapL {
        padding-top: 23.4375vw
    }
}

.pg-lineup .p-buildersnotesubttl {
    margin: auto;
    margin-top: min(1.33333vw, 20px);
    max-width: min(60.8vw, 912px);
    padding: min(.66667vw, 10px);
    text-align: center;
    background-color: #423e30;
    font-size: min(1.86667vw, 28px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup .p-buildersnotesubttl {
        max-width: 83.33333vw;
        padding: 1.30208vw;
        font-size: 3.64583vw;
        margin-top: 1.30208vw
    }
}

.pg-lineup .p-buildersnotesubttl.--gap {
    margin-top: min(3.33333vw, 50px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup .p-buildersnotesubttl.--gap {
        margin-top: 13.02083vw
    }
}

.pg-lineup .p-buildersnotebnr {
    margin: auto;
    padding-top: min(1.33333vw, 20px);
    max-width: min(60.8vw, 912px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup .p-buildersnotebnr {
        max-width: 83.33333vw
    }
}

.pg-lineup .c-inner {
    padding-top: min(3.33333vw, 50px);
    overflow: visible
}

@media only screen and (max-width: 768px) {
    .pg-lineup .c-inner {
        padding-top: 5.20833vw;
        overflow: visible
    }
}

.pg-lineup.pg-lineup--commononly {
    padding-top: min(2vw, 30px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup.pg-lineup--commononly {
        padding-top: 5.20833vw
    }
}

.pg-lineup.pg-lineup--commononly .c-inner {
    padding-top: 0
}

@media only screen and (max-width: 768px) {
    .pg-lineup.pg-lineup--commononly .c-inner {
        padding-top: 0
    }
}

.pg-lineup.pg-lineup--commononly .p-buildersnotettl.--gap {
    padding-top: min(3.33333vw, 50px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup.pg-lineup--commononly .p-buildersnotettl.--gap {
        padding-top: 10.41667vw
    }
}

.pg-lineup__resulttxt {
    font-family: SHanSerB;
    text-align: center;
    font-size: min(2.4vw, 50px);
    /*background: linear-gradient(90deg, #ffcc01 0%, #f8df7b 40%, #ffd558 100%, #ffd558 50%);*/
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 40%, #ffffff 100%, #ffffff 50%);
    color: transparent;
    background-clip: text;
    text-fill-color: transparent
}

@media only screen and (max-width: 768px) {
    .pg-lineup__resulttxt {
        font-size: 4.6875vw
    }
}

.pg-lineup__resulttxtS {
    font-size: min(3.2vw, 60px);
    font-weight: 700
}

@media only screen and (max-width: 768px) {
    .pg-lineup__resulttxtS {
        font-size: 7.8125vw
    }
}

.pg-lineup__resulttxtL {
    font-size: min(6.53333vw, 120px);
    font-weight: 700
}

@media only screen and (max-width: 768px) {
    .pg-lineup__resulttxtL {
        font-size: 13.02083vw
    }
}

.pg-lineup__resulttxtnomal {
    font-family: SHanSerB;
    text-align: center;
    font-size: min(3.2vw, 48px);
    font-weight: 700;
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 40%, #ffffff 100%, #ffffff 50%);
    color: transparent;
    background-clip: text;
    text-fill-color: transparent
}

@media only screen and (max-width: 768px) {
    .pg-lineup__resulttxtnomal {
        font-size: 5.20833vw
    }
}

.pg-lineup__resulttxtsmall {
    margin-top: min(1.33333vw, 20px);
    text-align: center;
    font-size: min(1vw, 15px);
    background: linear-gradient(90deg, #ffcc01 0%, #f8df7b 40%, #ffd558 100%, #ffd558 50%);
    background-clip: text;
    color: transparent
}

@media only screen and (max-width: 768px) {
    .pg-lineup__resulttxtsmall {
        margin-top: 2.60417vw;
        font-size: 2.60417vw
    }
}

.pg-lineup__rank {
    margin: auto;
    max-width: min(85.6vw, 1284px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup__rank {
        max-width: 100%
    }
}

.pg-lineup__other {
    margin-left: auto;
    margin-right: auto;
    max-width: min(52.8vw, 800px);
    padding-bottom: min(.66667vw, 10px);
    margin-bottom: min(1.33333vw, 20px);
    text-align: center;
    font-family: SHanSerB;
    font-size: min(2.93333vw, 30px);
    background: linear-gradient(90deg, #ffcc01 0%, #f8df7b 40%, #ffd558 100%, #ffd558 50%);
    color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    font-weight: 500;
    border-bottom: 1px solid #f8df7b
}

.pg-lineup__other.--gap {
    margin-top: min(4vw, 60px)
}

.pg-lineup__noticeText {
    display: block;
    margin-top: min(.93333vw, 14px);
    background: none;
    color: #fff;
    background-clip: border-box;
    -webkit-text-fill-color: #fff;
    text-fill-color: #fff;
    font-size: min(1.2vw, 18px);
    line-height: 1.45;
    text-align: center
}

@media only screen and (max-width: 768px) {
    .pg-lineup__other {
        max-width: 83.33333vw;
        margin-bottom: 2.60417vw;
        font-size: 4.6875vw
    }

    .pg-lineup__other.--gap {
        margin-top: 7.8125vw
    }

    .pg-lineup__noticeText {
        margin-top: 2.60417vw;
        font-size: 3.125vw;
        margin-bottom: 2.60417vw;
    }
}

.pg-lineup__otherlists {
    padding-top: min(1.33333vw, 20px);
    display: -webkit-flex;
    display: flex;
    gap: 20px 20px;
    text-align: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width: 768px) {
    .pg-lineup__otherlists {
        gap: 2.60417vw 2.60417vw
    }
}

@media only screen and (max-width: 768px) {
    .pg-lineup__otherlists.--second {
        margin-top: 2.60417vw
    }
}

.pg-lineup__otherlists.--second {
    padding-top: min(2vw, 30px);
    /*margin-bottom: min(4.66667vw, 70px);*/
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: min(3.66667vw, 55px) min(2.4vw, 36px);
    -webkit-justify-content: stretch;
    justify-content: stretch
}

.pg-lineup__otherlists.--square {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: min(3.66667vw, 55px) min(2.4vw, 36px);
    -webkit-justify-content: stretch;
    justify-content: stretch
}

.pg-lineup__otherlists.--square li {
    max-width: none;
    width: 100%
}

.pg-lineup__productImageLink {
    display: block;
    width: 100%
}

.pg-lineup__otherlists.--square li > img:first-child,
.pg-lineup__otherlists.--square li > .pg-lineup__productImageLink:first-child img {
    aspect-ratio: 1 / 1;
    background: rgba(0, 0, 0, 0.6);
    display: block;
    object-fit: contain;
    width: 100%;
    border: 1px solid #6d5c3f
}

.pg-lineup__search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, min(34.66667vw, 520px)) minmax(0, 1fr);
    -webkit-align-items: center;
    align-items: center;
    column-gap: min(1.33333vw, 20px);
    margin: min(1.6vw, 24px) auto 0;
    max-width: 100%;
    width: 100%
}

.pg-lineup__searchInput {
    grid-column: 2;
    min-width: 0;
    width: 100%;
    border: 1px solid #6d5c3f;
    border-radius: 4px;
    background: rgba(0, 0, 0, .55);
    color: #fff;
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    font-size: min(1vw, 15px);
    line-height: 1.4;
    outline: 0;
    padding: min(.8vw, 12px) min(1.06667vw, 16px)
}

.pg-lineup__searchInput::placeholder {
    color: rgba(207, 207, 207, .72)
}

.pg-lineup__searchInput:focus {
    border-color: #f8df7b;
    box-shadow: 0 0 0 2px rgba(248, 223, 123, .16)
}

.pg-lineup__searchNote {
    color: #cfcfcf;
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    font-size: min(.93333vw, 14px);
    grid-column: 3;
    line-height: 1.5;
    white-space: nowrap
}

.pg-lineup__empty {
    color: #cfcfcf;
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    font-size: min(1.06667vw, 16px);
    margin: min(2vw, 30px) 0 min(4.66667vw, 70px);
    text-align: center
}

.pg-lineup__notice {
    color: #cfcfcf;
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    font-size: min(1.2vw, 18px);
    line-height: 1.8;
    margin: min(1.6vw, 24px) auto min(4.66667vw, 70px);
    max-width: min(53.33333vw, 800px);
    text-align: center
}

.pg-lineup__otherlists.--second li {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    max-width: none;
    width: 100%
}

.pg-lineup__otherlists.--second li > img:first-child,
.pg-lineup__otherlists.--second li > .pg-lineup__productImageLink:first-child img {
    aspect-ratio: 1 / 1;
    background: rgba(0, 0, 0, 0.6);
    display: block;
    object-fit: contain;
    width: 100%;
    border: 1px solid #6d5c3f
}

.pg-lineup__otherlists.--second li p {
    -webkit-flex: 1;
    flex: 1;
    margin-top: min(1.23333vw, 12px);
    margin-bottom: min(1.23333vw, 12px);
    color: #cfcfcf;
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    font-size: min(.93333vw, 14px);
    line-height: 1.4
}

.pg-lineup__otherlists.--second li > img:last-child {
    -webkit-align-self: center;
    align-self: center;
    margin-top: min(.4vw, 6px);
    width: 88%;
    cursor: pointer
}

.pg-lineup__otherlists.--second li > img:last-child.is-disabled {
    cursor: default
}

@media only screen and (max-width: 768px) {
    .pg-lineup__otherlists.--second {
        padding-top: 3.90625vw;
        margin-top: 2.60417vw;
        /*margin-bottom: 9.11458vw;*/
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7.8125vw 4.16667vw
    }

    .pg-lineup__otherlists.--square {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7.8125vw 4.16667vw
    }

    .pg-lineup__search {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-flex-direction: column;
        flex-direction: column;
        gap: 1.82292vw;
        margin-top: 4.16667vw;
        max-width: 100%
    }

    .pg-lineup__searchInput {
        width: 100%;
        font-size: 3.38542vw;
        padding: 2.60417vw 3.125vw
    }

    .pg-lineup__searchNote {
        font-size: 3.125vw;
        text-align: center;
        white-space: normal
    }

    .pg-lineup__empty {
        font-size: 3.38542vw;
        margin: 5.20833vw 0 9.11458vw
    }

    .pg-lineup__notice {
        font-size: 3.64583vw;
        margin: 4.16667vw auto 9.11458vw;
        max-width: 100%
    }

    .pg-lineup__otherlists.--second li {
        width: 100%
    }

    .pg-lineup__otherlists.--second li p {
        margin-top: 1.30208vw;
        font-size: 3.38542vw
    }


    .pg-lineup__otherlists.--second li > img:last-child {
        margin-top: 1.04167vw
    }
}

.pg-lineup__otherlists li {
    max-width: min(15.13333vw, 227px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup__otherlists li {
        max-width: 100%;
        width: 48%
    }
}

@media only screen and (max-width: 768px) {
    .pg-lineup__otherlists li p {
        font-size: 3.38542vw
    }
}

.pg-lineup__othersub {
    padding: min(1.06667vw, 16px) 0;
    font-weight: 500;
    background-color: #423e30;
    text-align: center;
    font-family: SHanSerB;
    line-height: 1.2;
    font-size: min(2vw, 30px);
    background: url(../img/mg_kessen2026/howtofinalbg.png), linear-gradient(180deg, #423e2a 0%, #756e55 100%);
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    background-position: center
}

.pg-lineup__othersub.--second {
    margin-top: min(4vw, 60px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup__othersub {
        padding: 1.95313vw 2.60417vw;
        font-size: 3.64583vw;
        background-size: cover;
        background-image: url(../img/mg_kessen2026/howtofinalbg_sp.png), linear-gradient(180deg, #423e2a 0%, #756e55 100%);
        background-repeat: no-repeat
    }
}

.pg-lineup__othersubtxt {
    margin-top: min(1.33333vw, 20px);
    font-size: min(1.86667vw, 28px);
    text-align: center
}

@media only screen and (max-width: 768px) {
    .pg-lineup__othersubtxt {
        margin-top: 2.60417vw;
        font-size: 3.90625vw
    }
}

.pg-lineup__othersubborder {
    border: 1px solid #fff;
    padding: min(.33333vw, 5px) min(.66667vw, 10px);
    display: inline-block;
    font-size: 80%
}

.pg-lineup__othersubsmall {
    font-size: 70%
}

.pg-lineup__att {
    margin-top: min(1.33333vw, 20px);
    text-align: center;
    font-size: min(1vw, 15px)
}

@media only screen and (max-width: 768px) {
    .pg-lineup__att {
        margin-top: 2.60417vw;
        font-size: 2.60417vw
    }
}

.pg-resultlink {
    margin: min(15.33333vw, 230px) auto 0 auto;
    max-width: 1500px;
    width: 90%;
    padding: min(5vw, 75px) 0;
    background-color: rgba(0, 0, 0, 0.6)
}

.pg-resultlink__txt {
    font-size: min(2.33333vw, 35px);
    text-align: center;
    font-family: SHanSerB;
    font-weight: 600
}

@media only screen and (max-width: 768px) {
    .pg-resultlink__txt {
        font-size: 4.03646vw
    }
}

.pg-resultlink__txt .p-marker {
    padding: min(.8vw, 12px) min(.66667vw, 10px) min(1.06667vw, 16px) min(.66667vw, 10px);
    background-color: #7d6421
}

@media only screen and (max-width: 768px) {
    .pg-resultlink__txt .p-marker {
        padding: .65104vw
    }
}

.pg-resultlink__resultbt {
    margin: auto;
    padding-top: min(2.66667vw, 40px);
    padding-bottom: min(1.33333vw, 20px);
    max-width: min(30.93333vw, 464px)
}

@media only screen and (max-width: 768px) {
    .pg-resultlink__resultbt {
        padding-top: 2.60417vw;
        padding-bottom: 2.60417vw;
        max-width: 60.41667vw
    }
}

.pg-contact {
    margin: min(15.33333vw, 230px) auto 0 auto;
    max-width: 1500px;
    width: 90%;
    padding: min(5vw, 75px) 0;
    background-color: rgba(0, 0, 0, 0.6)
}

@media only screen and (max-width: 768px) {
    .pg-contact {
        margin: 80px auto 0 auto;
        width: 94%;
        padding: 9.76563vw 0
    }
}

.pg-contact .p-ttl {
    margin: auto;
    max-width: min(27.66667vw, 415px)
}

@media only screen and (max-width: 768px) {
    .pg-contact .p-ttl {
        max-width: 54.03646vw
    }
}

.pg-contact .p-contactbt {
    margin: auto;
    max-width: min(30.93333vw, 464px)
}

@media only screen and (max-width: 768px) {
    .pg-contact .p-contactbt {
        max-width: 72.26563vw
    }
}

.pg-contact .p-attList {
    padding-top: min(2.66667vw, 40px)
}

@media only screen and (max-width: 768px) {
    .pg-contact .p-attList {
        padding-top: 7.16146vw
    }
}

.pg-contact .p-attList li {
    padding-bottom: min(.66667vw, 10px);
    font-size: min(1.2vw, 18px);
    line-height: 1.4;
    text-indent: -1em;
    padding-left: 1em
}

@media only screen and (max-width: 768px) {
    .pg-contact .p-attList li {
        font-size: 3.125vw;
        padding-bottom: 2.60417vw
    }
}

.pg-contact .p-attList li:last-child {
    padding-bottom: 0
}

.pg-contact .c-inner {
    padding-top: min(3.33333vw, 50px)
}

@media only screen and (max-width: 768px) {
    .pg-contact .c-inner {
        padding-top: 5.20833vw
    }
}

.pg-pack {
    width: 100%;
    height: 100%;
    background-image: url("../img/mg_kessen2026/pack.webp");
    background-repeat: repeat-y;
    background-size: 100%;
    -webkit-animation-name: pack;
    animation-name: pack;
    animation-direction: reverse;
    -webkit-animation-duration: 120s;
    animation-duration: 120s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

@media only screen and (max-width: 768px) {
    .pg-pack {
        background-image: url("../img/mg_kessen2026/pack_sp.webp")
    }
}

#p-surveyCol .p-itemList {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-column-gap: min(3vw, 45px);
    -moz-column-gap: min(3vw, 45px);
    column-gap: min(3vw, 45px)
}

@media only screen and (max-width: 768px) {
    #p-surveyCol .p-itemList {
        -webkit-column-gap: 5.20833vw;
        -moz-column-gap: 5.20833vw;
        column-gap: 5.20833vw
    }
}

#p-surveyCol .p-itemList li {
    margin-bottom: min(6vw, 90px);
    width: min(11.86667vw, 178px);
    height: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column
}

@media only screen and (max-width: 768px) {
    #p-surveyCol .p-itemList li {
        margin-bottom: 13.02083vw;
        width: 24.08854vw
    }
}

#p-surveyCol .p-itemList li .p-pic img {
    display: block;
    width: min(11.86667vw, 178px);
    height: min(11.86667vw, 178px);
    -o-object-fit: contain;
    object-fit: contain;
    border: 1px solid #7d6421;
    background-color: #fff
}

@media only screen and (max-width: 768px) {
    #p-surveyCol .p-itemList li .p-pic img {
        width: 24.08854vw;
        height: 24.08854vw
    }
}

#p-surveyCol .p-itemList li .p-itemName {
    padding: 15px 10px;
    text-align: center;
    -webkit-flex-grow: 1;
    flex-grow: 1
}

@media only screen and (max-width: 768px) {
    #p-surveyCol .p-itemList li .p-itemName {
        padding: 1.95313vw 0
    }
}

#p-surveyCol .p-itemList li .btnVote {
    margin: auto;
    display: block;
    text-align: center;
    width: min(10.66667vw, 160px);
    transition: all .3s linear
}

@media only screen and (max-width: 768px) {
    #p-surveyCol .p-itemList li .btnVote {
        width: 100%;
        height: auto
    }
}

@media (hover: hover) {
    #p-surveyCol .p-itemList li .btnVote:hover {
        -webkit-filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 0.8));
        filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 0.8))
    }
}

#p-surveyCol .p-itemList .p-section-title {
    margin-bottom: min(2.66667vw, 40px);
    margin-top: min(3.33333vw, 50px);
    width: 100%;
    height: auto;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-shrink: 0;
    flex-shrink: 0
}

#p-surveyCol .p-itemList .p-section-title img {
    display: block
}

#p-surveyCol .p-resultInner {
    padding: min(1.33333vw, 20px) min(.66667vw, 10px);
    text-align: center;
    font-size: min(1.6vw, 24px)
}

@media only screen and (max-width: 768px) {
    #p-surveyCol .p-resultInner {
        font-size: 3.90625vw
    }
}

#p-surveyCol .p-resultInner .p-resultImg {
    margin: auto;
    padding-bottom: min(1.33333vw, 20px);
    max-width: min(33.33333vw, 500px)
}

@media only screen and (max-width: 768px) {
    #p-surveyCol .p-resultInner .p-resultImg {
        max-width: 80%
    }
}

#p-surveyCol .p-resultTxt {
    text-align: center;
    font-size: min(1.6vw, 24px)
}

@media only screen and (max-width: 768px) {
    #p-surveyCol .p-resultTxt {
        font-size: 3.90625vw
    }
}

.p-back {
    display: none;
    position: fixed;
    bottom: 0px;
    right: 15px;
    z-index: 5;
    width: min(11.66667vw, 175px)
}

@media only screen and (max-width: 768px) {
    .p-back {
        width: 110px
    }
}

.p-comets {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    margin: auto;
    width: 100%;
    z-index: -1
}

.p-comets__list {
    position: fixed;
    width: 60px;
    height: 100%;
    top: 0;
    left: 50%;
    overflow: hidden;
    -webkit-transform: rotate(-40deg);
    transform: rotate(-40deg);
    z-index: -1
}

.p-comets__list::after {
    content: "";
    position: absolute;
    height: 60vh;
    width: 100%;
    top: -50%;
    left: 0;
    background: url("../img/mg_kessen2026/hoshi.png") no-repeat center;
    background-size: contain;
    -webkit-animation: drop 3.5s infinite;
    animation: drop 3.5s infinite;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    opacity: 1
}

.p-comets__list:nth-child(1) {
    margin-left: -40%
}

.p-comets__list:nth-child(1)::after {
    -webkit-animation-delay: 2.2s;
    animation-delay: 2.2s
}

.p-comets__list:nth-child(2) {
    margin-left: -20%
}

.p-comets__list:nth-child(2)::after {
    -webkit-animation-delay: 100s;
    animation-delay: 100s
}

.p-comets__list:nth-child(3) {
    margin-left: 0%
}

.p-comets__list:nth-child(3)::after {
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

.p-comets__list:nth-child(4) {
    margin-left: 40%
}

.p-comets__list:nth-child(4)::after {
    -webkit-animation-delay: 15.6s;
    animation-delay: 15.6s
}

.p-comets2 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    margin: auto;
    width: 100%;
    z-index: -1
}

.p-comets2__list {
    position: fixed;
    width: 60px;
    height: 100%;
    top: 0;
    left: 50%;
    overflow: hidden;
    -webkit-transform: rotate(-40deg);
    transform: rotate(-40deg);
    z-index: -1
}

.p-comets2__list::after {
    content: "";
    position: absolute;
    height: 60vh;
    width: 100%;
    top: -50%;
    left: 0;
    background: url("../img/mg_kessen2026/hoshi_red.png") no-repeat center;
    background-size: contain;
    -webkit-animation: drop 3.5s infinite;
    animation: drop 3.5s infinite;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    opacity: 1
}

.p-comets2__list:nth-child(1) {
    margin-left: 20%
}

.p-comets2__list:nth-child(1)::after {
    -webkit-animation-delay: 20.7s;
    animation-delay: 20.7s
}

@-webkit-keyframes drop {
    0% {
        top: -50%
    }
    100% {
        top: 150%
    }
}

@keyframes drop {
    0% {
        top: -50%
    }
    100% {
        top: 150%
    }
}

.jsInview {
    overflow: hidden
}

.jsInview.p-animateSlideBottom {
    opacity: 0
}

.jsInview.p-animateSlideBottom.isView {
    -webkit-animation: slide-bottom 0.5s ease-in-out forwards;
    animation: slide-bottom 0.5s ease-in-out forwards
}

.jsInview.p-animateSlideTop {
    opacity: 0
}

.jsInview.p-animateSlideTop.isView {
    -webkit-animation: slide-top 0.5s ease-in-out forwards;
    animation: slide-top 0.5s ease-in-out forwards
}

.jsInview.p-animatescaleDownTop {
    opacity: 0
}

.jsInview.p-animatescaleDownTop.isView {
    -webkit-animation: scale-down-top 0.5s ease-in-out forwards;
    animation: scale-down-top 0.5s ease-in-out forwards
}

.jsInview.p-animateslideBottomslow {
    opacity: 0
}

.jsInview.p-animateslideBottomslow.isView {
    -webkit-animation: slide-bottom2 0.8s ease-in-out forwards;
    animation: slide-bottom2 0.8s ease-in-out forwards
}

.jsInview.p-animateslideRotateVerLFwd {
    opacity: 1
}

.jsInview.p-animateslideRotateVerLFwd.isView {
    -webkit-animation: slide-rotate-ver-l-fwd 0.5s ease-in-out forwards;
    animation: slide-rotate-ver-l-fwd 0.5s ease-in-out forwards
}

.jsInview.p-animateFade {
    opacity: 0
}

.jsInview.p-animateFade.isView {
    opacity: 1;
    -webkit-animation: fadein 0.5s ease-in-out forwards;
    animation: fadein 0.5s ease-in-out forwards
}

.js-animatemain, .js-animatemain2 {
    opacity: 0
}

.js-animatemain.isView, .js-animatemain2.isView {
    -webkit-animation: scale-down-top2 0.3s ease-in-out forwards;
    animation: scale-down-top2 0.3s ease-in-out forwards
}

.p-mv1_bg, .p-mv2_bg {
    display: none
}

.js-animate1 {
    opacity: 0
}

.js-animate1.isView {
    -webkit-animation: fadeinbottom 0.5s ease-in-out forwards;
    animation: fadeinbottom 0.5s ease-in-out forwards
}

.js-animate2 {
    opacity: 0
}

.js-animate2.isView {
    -webkit-animation: fadeintop 0.5s ease-in-out forwards;
    animation: fadeintop 0.5s ease-in-out forwards
}

.p-mvlogo, .p-mvlogo_sp {
    opacity: 0
}

.p-mvlogo.isView, .p-mvlogo_sp.isView {
    -webkit-animation: fadein 0.5s ease-in-out forwards;
    animation: fadein 0.5s ease-in-out forwards
}

@-webkit-keyframes pack {
    0% {
        background-position: 0 0
    }
    100% {
        background-position: 0 2579px
    }
}

@keyframes pack {
    0% {
        background-position: 0 0
    }
    100% {
        background-position: 0 2579px
    }
}

@-webkit-keyframes fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateY(80px);
        transform: translateY(80px);
        -webkit-filter: blur(15px);
        filter: blur(15px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-filter: blur(0);
        filter: blur(0)
    }
}

@keyframes fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateY(80px);
        transform: translateY(80px);
        -webkit-filter: blur(15px);
        filter: blur(15px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-filter: blur(0);
        filter: blur(0)
    }
}

@-webkit-keyframes slide-top {
    0% {
        -webkit-transform: translateY(60px);
        transform: translateY(60px);
        opacity: 0
    }
    50% {
        opacity: 0.5
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1
    }
}

@keyframes slide-top {
    0% {
        -webkit-transform: translateY(60px);
        transform: translateY(60px);
        opacity: 0
    }
    50% {
        opacity: 0.5
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1
    }
}

@-webkit-keyframes slide-bottom {
    0% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
        opacity: 0
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1
    }
}

@keyframes slide-bottom {
    0% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
        opacity: 0
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1
    }
}

@-webkit-keyframes slide-bottom2 {
    0% {
        -webkit-transform: translateY(-80px);
        transform: translateY(-80px);
        opacity: 0
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1
    }
}

@keyframes slide-bottom2 {
    0% {
        -webkit-transform: translateY(-80px);
        transform: translateY(-80px);
        opacity: 0
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1
    }
}

@-webkit-keyframes scale-down-top {
    0% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 0
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 1
    }
}

@keyframes scale-down-top {
    0% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 0
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 1
    }
}

@keyframes scale-down-top {
    0% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 0
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 1
    }
}

@-webkit-keyframes scale-down-top2 {
    0% {
        -webkit-transform: scale(2.5);
        transform: scale(2.5);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 0
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 1
    }
}

@keyframes scale-down-top2 {
    0% {
        -webkit-transform: scale(2.5);
        transform: scale(2.5);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 0
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        opacity: 1
    }
}

@-webkit-keyframes slide-rotate-ver-l-fwd {
    0% {
        -webkit-transform: translateX(-150px) translateZ(130px) rotateY(90deg);
        transform: translateX(-150px) translateZ(130px) rotateY(90deg);
        -webkit-transform-origin: center right;
        transform-origin: center right
    }
    100% {
        -webkit-transform: translateX(0) translateZ(0) rotateY(0);
        transform: translateX(0) translateZ(0) rotateY(0);
        -webkit-transform-origin: center right;
        transform-origin: center right
    }
}

@keyframes slide-rotate-ver-l-fwd {
    0% {
        -webkit-transform: translateX(-150px) translateZ(130px) rotateY(90deg);
        transform: translateX(-150px) translateZ(130px) rotateY(90deg);
        -webkit-transform-origin: center right;
        transform-origin: center right
    }
    100% {
        -webkit-transform: translateX(0) translateZ(0) rotateY(0);
        transform: translateX(0) translateZ(0) rotateY(0);
        -webkit-transform-origin: center right;
        transform-origin: center right
    }
}

@-webkit-keyframes roll-in-blurred-bottom {
    0% {
        -webkit-transform: translateY(800px) rotate(720deg);
        transform: translateY(800px) rotate(720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0
    }
    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        opacity: 1
    }
}

@keyframes roll-in-blurred-bottom {
    0% {
        -webkit-transform: translateY(800px) rotate(720deg);
        transform: translateY(800px) rotate(720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0
    }
    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        opacity: 1
    }
}

@-webkit-keyframes roll-in-blurred-top {
    0% {
        -webkit-transform: translateY(-800px) rotate(-720deg);
        transform: translateY(-800px) rotate(-720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0
    }
    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1
    }
}

@keyframes roll-in-blurred-top {
    0% {
        -webkit-transform: translateY(-800px) rotate(-720deg);
        transform: translateY(-800px) rotate(-720deg);
        -webkit-filter: blur(50px);
        filter: blur(50px);
        opacity: 0
    }
    100% {
        -webkit-transform: translateY(0) rotate(0deg);
        transform: translateY(0) rotate(0deg);
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1
    }
}

@-webkit-keyframes puff-in-top {
    0% {
        -webkit-transform: scale(2);
        transform: scale(2);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        -webkit-filter: blur(4px);
        filter: blur(4px);
        opacity: 0
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1
    }
}

@keyframes puff-in-top {
    0% {
        -webkit-transform: scale(2);
        transform: scale(2);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        -webkit-filter: blur(4px);
        filter: blur(4px);
        opacity: 0
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1
    }
}

@-webkit-keyframes fadeinbottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(60px);
        transform: translateY(60px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes fadeinbottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(60px);
        transform: translateY(60px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes fadeintop {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        transform: translateY(0px)
    }
}

@keyframes fadeintop {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        transform: translateY(0px)
    }
}

@keyframes fadein {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

.shutter {
    overflow: hidden
}

.shutter.isView {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #1e1e1e;
    z-index: 9999;
    -webkit-animation: byeShutter 2.6s forwards;
    animation: byeShutter 2.6s forwards
}

.shutter.isView::before, .shutter.isView::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto
}

.shutter.isView::before {
    background-color: #b5a58b;
    width: 0;
    height: 1px;
    -webkit-animation: shutterOpen1 2.6s forwards;
    animation: shutterOpen1 2.6s forwards
}

.shutter.isView::after {
    width: 120%;
    height: 0;
    margin-left: -10%;
    background-color: #f3f3f3;
    -webkit-animation: shutterOpen2 2.6s forwards;
    animation: shutterOpen2 2.6s forwards
}

.content {
    opacity: 0
}

.content.isView {
    opacity: 1;
    -webkit-animation: contentScale 2.6s forwards;
    animation: contentScale 2.6s forwards
}

@-webkit-keyframes byeShutter {
    70% {
        opacity: 1
    }
    100% {
        opacity: 0;
        display: none;
        z-index: -1
    }
}

@keyframes byeShutter {
    70% {
        opacity: 1
    }
    100% {
        opacity: 0;
        display: none;
        z-index: -1
    }
}

@-webkit-keyframes shutterOpen1 {
    0% {
        width: 0;
        height: 1px
    }
    50% {
        width: 100%;
        height: 1px
    }
    90% {
        width: 100%;
        height: 100%
    }
    100% {
        width: 100%;
        height: 100%
    }
}

@keyframes shutterOpen1 {
    0% {
        width: 0;
        height: 1px
    }
    50% {
        width: 100%;
        height: 1px
    }
    90% {
        width: 100%;
        height: 100%
    }
    100% {
        width: 100%;
        height: 100%
    }
}

@-webkit-keyframes shutterOpen2 {
    0% {
    }
    60% {
        width: 120%;
        height: 0;
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }
    90% {
        width: 120%;
        height: 100%;
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }
    100% {
        width: 120%;
        height: 100%;
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }
}

@keyframes shutterOpen2 {
    0% {
    }
    60% {
        width: 120%;
        height: 0;
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }
    90% {
        width: 120%;
        height: 100%;
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }
    100% {
        width: 120%;
        height: 100%;
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }
}

@-webkit-keyframes contentScale {
    0% {
    }
    70% {
        -webkit-transform: perspective(800px) scale(0.9) rotateX(15deg);
        transform: perspective(800px) scale(0.9) rotateX(15deg)
    }
    100% {
        -webkit-transform: perspective(800px) scale(1) rotateX(0);
        transform: perspective(800px) scale(1) rotateX(0)
    }
}

@keyframes contentScale {
    0% {
    }
    70% {
        -webkit-transform: perspective(800px) scale(0.9) rotateX(15deg);
        transform: perspective(800px) scale(0.9) rotateX(15deg)
    }
    100% {
        -webkit-transform: perspective(800px) scale(1) rotateX(0);
        transform: perspective(800px) scale(1) rotateX(0)
    }
}

.p-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5)
}

.p-modal__overlay {
    -webkit-align-items: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 100
}

.p-modal__container {
    background-color: #000;
    -webkit-filter: drop-shadow(0px 0px 20px rgba(223, 196, 124, 0.8));
    filter: drop-shadow(0px 0px 20px rgba(223, 196, 124, 0.8));
    max-height: 80vh;
    max-width: min(33.33333vw, 500px);
    overflow-y: auto;
    padding: min(2vw, 30px);
    width: 80%
}

@media only screen and (max-width: 768px) {
    .p-modal__container {
        padding: 3.90625vw;
        max-width: 78.125vw
    }
}

.p-modal__close {
    position: absolute;
    right: min(1vw, 15px);
    top: min(.66667vw, 0px);
    background: transparent;
    border: 0;
    font-size: 30px
}

@media only screen and (max-width: 768px) {
    .p-modal__close {
        right: 1.95313vw;
        top: 1.30208vw
    }
}

.p-modal__contentTxt {
    text-align: center;
    padding-bottom: min(.66667vw, 10px);
    font-size: min(1.33333vw, 20px);
    font-weight: 600;
    width: 95%
}

@media only screen and (max-width: 768px) {
    .p-modal__contentTxt {
        padding-bottom: 1.30208vw;
        font-size: 3.64583vw;
        width: 90%
    }
}

.p-modal__container--message {
    background-color: #000;
    max-width: min(30vw, 450px)
}

@media only screen and (max-width: 768px) {
    .p-modal__container--message {
        max-width: 78.125vw
    }
}

.p-modal__content--message {
    padding-top: min(.66667vw, 10px)
}

@media only screen and (max-width: 768px) {
    .p-modal__content--message {
        padding-top: 1.30208vw
    }
}

.p-messageModal__inner {
    padding: min(1.33333vw, 20px) min(.66667vw, 10px);
    text-align: center
}

@media only screen and (max-width: 768px) {
    .p-messageModal__inner {
        padding: 3.90625vw 1.95313vw
    }
}

.p-messageModal__text {
    text-align: center;
    font-size: min(1.6vw, 24px);
    line-height: 1.8;
    white-space: pre-line
}

@media only screen and (max-width: 768px) {
    .p-messageModal__text {
        font-size: 3.90625vw
    }
}

.p-messageModal__button {
    display: inline-block;
    margin-top: min(1.33333vw, 20px);
    min-width: min(10.66667vw, 160px);
    padding: min(.6vw, 9px) min(1.66667vw, 25px);
    background: linear-gradient(180deg, #d8bb70 0%, #8c6b22 100%);
    border: 1px solid #e2ca87;
    color: #231d0e;
    font-size: min(1.2vw, 18px);
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
    transition: all .3s linear
}

@media only screen and (max-width: 768px) {
    .p-messageModal__button {
        margin-top: 3.90625vw;
        min-width: 31.25vw;
        padding: 1.95313vw 5.20833vw;
        font-size: 3.64583vw
    }
}

@media (hover: hover) {
.p-messageModal__button:hover {
        -webkit-filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 0.8));
        filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 0.8));
        -webkit-transform: translateY(-1px);
        transform: translateY(-1px)
    }
}

.p-shareLayer {
    position: absolute;
    z-index: 10001;
    width: min(24vw, 360px);
    color: #fff
}

.p-shareLayer__tip {
    display: none;
    width: 100%;
    height: auto
}

.p-shareLayer__inner {
    position: relative;
    padding: min(1.33333vw, 20px);
    background: rgba(0, 0, 0, 0.94);
    border: 1px solid #d8bb70;
    -webkit-filter: drop-shadow(0px 0px 20px rgba(223, 196, 124, 0.55));
    filter: drop-shadow(0px 0px 20px rgba(223, 196, 124, 0.55));
    text-align: center
}

.p-shareLayer__inner::before {
    content: "";
    position: absolute;
    top: -14px;
    left: 50%;
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-bottom: 14px solid #d8bb70;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.p-shareLayer__inner::after {
    content: "";
    position: absolute;
    top: -12px;
    left: 50%;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 12px solid rgba(0, 0, 0, 0.94);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.p-shareLayer.--above .p-shareLayer__inner::before {
    top: auto;
    bottom: -14px;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top: 14px solid #d8bb70;
    border-bottom: 0
}

.p-shareLayer.--above .p-shareLayer__inner::after {
    top: auto;
    bottom: -12px;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid rgba(0, 0, 0, 0.94);
    border-bottom: 0
}

.p-shareLayer__poster {
    display: block;
    width: 100%;
    height: auto;
    -webkit-touch-callout: default;
    user-select: auto
}

.p-shareLayer__poster[hidden] {
    display: none !important
}

.p-shareLayer.--wechat .p-shareLayer__inner {
    padding: 0;
    background: transparent;
    border: 0;
    -webkit-filter: none;
    filter: none
}

.p-shareLayer.--browser {
    width: min(42vw, 620px)
}

.p-shareLayer.--browser .p-shareLayer__inner {
    padding: 0;
    background: transparent;
    border: 0;
    -webkit-filter: drop-shadow(0px 0px 20px rgba(223, 196, 124, 0.55));
    filter: drop-shadow(0px 0px 20px rgba(223, 196, 124, 0.55))
}

.p-shareLayer.--browser .p-shareLayer__inner::before,
.p-shareLayer.--browser .p-shareLayer__inner::after,
.p-shareLayer.--browser .p-shareLayer__tip {
    display: none !important
}

.p-shareLayer.--wechat .p-shareLayer__tip {
    display: block
}

.p-shareLayer.--wechat {
    position: fixed;
    top: min(1.33333vw, 20px);
    right: min(1.33333vw, 20px);
    left: auto !important;
    width: min(27vw, 340px)
}

.p-shareLayer.--wechat .p-shareLayer__inner::before,
.p-shareLayer.--wechat .p-shareLayer__inner::after,
.p-shareLayer.--wechat .p-shareLayer__poster {
    display: none !important
}

@media only screen and (max-width: 768px) {
    .p-shareLayer {
        width: 78.125vw
    }

    .p-shareLayer__inner {
        padding: 4.6875vw 4.16667vw
    }

    .p-shareLayer.--browser {
        width: 92vw
    }

    .p-shareLayer.--wechat {
        top: 2.60417vw;
        right: 2.60417vw;
        width: 56vw
    }
}

#vote-image {
    margin: auto;
    display: block;
    border: 1px solid #7d6421;
    max-height: min(26.66667vw, 400px);
    width: auto
}

@media only screen and (max-width: 768px) {
    #vote-image {
        max-height: none
    }
}

.p-modal.is-open,
.modal.is-open {
    display: block
}

.p-loginModal.is-open {
    display: block
}

html.is-loginModalOpen,
body.is-loginModalOpen {
    overflow: hidden;
    overscroll-behavior: none
}

body.is-loginModalOpen {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%
}

.p-loginModal__overlay {
    padding: min(4vw, 60px) min(2vw, 30px);
    background: rgba(0, 0, 0, 0.72)
}

.p-loginModal__container {
    position: relative;
    width: min(64vw, 820px);
    max-height: 90vh;
    overflow-y: auto;
    padding-bottom: min(2.66667vw, 40px);
    background: #b9b7a6;
    color: #383629;
    box-shadow: 0 0 min(2vw, 30px) rgba(0, 0, 0, 0.6)
}

.p-loginModal__header {
    position: relative;
    padding: min(1.33333vw, 20px) min(3.2vw, 48px);
    background: #423e30;
    color: #fff;
    text-align: center
}

.p-loginModal__title {
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    font-size: min(2.1vw, 28px);
    line-height: 1.25;
    letter-spacing: 0;
    text-shadow: 0 2px 0 rgba(0, 0, 0, 0.35)
}

.p-loginModal__close {
    position: absolute;
    top: min(.53333vw, 8px);
    right: min(.8vw, 12px);
    width: min(2vw, 30px);
    height: min(2vw, 30px);
    color: #fff;
    font-size: min(2vw, 30px);
    line-height: 1;
    text-align: center
}

.p-loginModal__body {
    width: min(43.75vw, 560px);
    margin: 0 auto;
    padding: min(3.66667vw, 55px) 0 min(3.33333vw, 50px)
}

.p-loginModal__input {
    width: 100%;
    height: min(4.33333vw, 64px);
    padding: 0 min(1.46667vw, 22px);
    border: 2px solid #242318;
    border-radius: min(.53333vw, 8px);
    color: #343225;
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    font-size: min(1.8vw, 22px);
    line-height: 1;
    background: transparent
}

.p-loginModal__input::-webkit-input-placeholder {
    color: rgba(52, 50, 37, 0.35)
}

.p-loginModal__input::placeholder {
    color: rgba(52, 50, 37, 0.35)
}

.p-loginModal__codeRow {
    margin-top: min(1.6vw, 24px);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    border: 2px solid #242318;
    border-radius: min(.53333vw, 8px)
}

.p-loginModal__codeRow .p-loginModal__input {
    border: 0;
    border-radius: 0;
    -webkit-flex: 1;
    flex: 1;
    min-width: 0
}

.p-loginModal__sendCode {
    position: relative;
    width: min(13.54167vw, 172px);
    height: min(3.2vw, 48px);
    margin-right: min(1.06667vw, 16px);
    padding-left: min(1.06667vw, 16px);
    color: #343225;
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    font-size: min(1.8vw, 22px);
    line-height: 1;
    text-align: center
}

.p-loginModal__sendCode::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: min(2.66667vw, 40px);
    background: #242318;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.p-loginModal__sendCode::after {
    content: "";
    position: absolute;
    left: min(2.13333vw, 32px);
    right: 0;
    bottom: min(.33333vw, 5px);
    height: 1px;
    background: #242318
}

.p-loginModal__privacy {
    margin-top: min(1.33333vw, 20px);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    gap: min(.53333vw, 8px);
    color: #444235;
    font-size: min(1.46667vw, 20px);
    line-height: 1
}

.p-loginModal__ageConfirm {
    margin-top: min(.66667vw, 10px)
}

.p-loginModal__privacy a {
    color: inherit;
    text-decoration: underline
}

.p-loginModal__privacyText {
    display: inline-block;
    line-height: 1;
    -webkit-transform: translateY(min(.06667vw, 1px));
    transform: translateY(min(.06667vw, 1px))
}

.p-loginModal__checkboxWrap {
    position: relative;
    width: min(1.73333vw, 26px);
    height: min(1.73333vw, 26px);
    flex: 0 0 auto;
    -webkit-transform: translateY(min(.06667vw, 1px));
    transform: translateY(min(.06667vw, 1px))
}

.p-loginModal__checkbox {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    width: 100%;
    height: 100%;
    border: 2px solid #444235;
    border-radius: min(.2vw, 3px);
    background: transparent;
    cursor: pointer
}

.p-loginModal__checkboxOk,
.p-loginModal__ageCheckboxOk {
    display: none;
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(2.13333vw, 32px);
    max-width: none;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    cursor: pointer;
    z-index: 1
}

.p-loginModal.is-privacyAccepted .p-loginModal__checkboxOk,
.p-loginModal__ageCheckbox:checked + .p-loginModal__ageCheckboxOk {
    display: block
}

.p-loginModal__loginBtn {
    margin: min(2.33333vw, 35px) auto 0;
    display: block;
    width: min(43.75vw, 560px);
    max-width: 100%;
    transition: opacity .3s linear
}

.p-loginModal__copyright {
    position: absolute;
    left: 0;
    right: 0;
    bottom: min(1vw, 15px);
    color: #423e30;
    font-size: min(1.2vw, 15px);
    line-height: 1;
    text-align: center
}

.p-surveyModal.is-open {
    display: block
}

.p-surveyModal {
    background: transparent
}

.p-surveyModal__overlay {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: min(4vw, 60px) 0;
    overflow-y: auto;
    background: url("../img/mg_kessen2026/bg.jpg") center top / cover no-repeat fixed
}

.p-surveyModal__container {
    width: 90%;
    max-width: 1500px;
    margin: 0 auto;
    padding: min(5vw, 75px) 0 0;
    background-color: rgba(0, 0, 0, .6);
    color: #fff;
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    box-shadow: none
}

.p-surveyModal__inner {
    --survey-frame-piece-height: min(21.43vw, 353px);
    position: relative;
    width: calc(100% - min(5vw, 75px));
    max-width: 1482px;
    margin: min(2.66667vw, 40px) auto;
    padding: min(4.66667vw, 70px) min(6vw, 90px) min(8vw, 120px);
    min-height: calc(var(--survey-frame-piece-height) * 2);
    overflow: hidden
}

.p-surveyModal__inner::before,
.p-surveyModal__inner::after,
.p-surveyModal__frameMiddle {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    pointer-events: none;
    z-index: 0
}

.p-surveyModal__inner::before {
    top: 0;
    height: var(--survey-frame-piece-height);
    background: url("../img/mg_kessen2026/survey/checkbox_top.png") center top / 100% 100% no-repeat
}

.p-surveyModal__inner::after {
    bottom: 0;
    height: var(--survey-frame-piece-height);
    background: url("../img/mg_kessen2026/survey/checkbox_bottom.png") center bottom / 100% 100% no-repeat
}

.p-surveyModal__frameMiddle {
    top: var(--survey-frame-piece-height);
    bottom: var(--survey-frame-piece-height);
    background: url("../img/mg_kessen2026/survey/checkbox_middle.png") center top / 100% auto repeat-y
}

.p-surveyModal__desc,
.p-surveyModal__form,
.p-surveyModal__submit {
    position: relative;
    z-index: 1
}

.p-surveyModal__title {
    max-width: min(35.33333vw, 530px);
    margin: 0 auto
}

.p-surveyModal__title img {
    display: block;
    width: 100%;
    height: auto
}

.p-surveyModal__titleMate {
    margin: auto;
    padding-top: min(1.46667vw, 22px);
    max-width: min(11.13333vw, 167px)
}

.p-surveyModal__titleMate img {
    display: block;
    width: 100%;
    height: auto
}

.p-surveyModal__desc {
    display: none
}

.p-surveyModal__question {
    padding: min(2vw, 30px) min(.4vw, 6px) min(1.6vw, 24px);
    border-bottom: 1px dashed rgba(213, 177, 82, .72)
}

.p-surveyModal__question:first-child {
    padding-top: min(.66667vw, 10px)
}

.p-surveyModal__question:last-child {
    border-bottom: 0
}

.p-surveyModal__questionTitle {
    display: block;
    width: 100%;
    margin-bottom: min(.86667vw, 13px);
    color: #fff;
    font-size: min(1.2vw, 18px);
    font-weight: 700;
    line-height: 1.55
}

.p-surveyModal__options {
    display: grid;
    width: calc(100% - min(1.8vw, 26px));
    margin-left: min(1.8vw, 26px);
    gap: min(.86667vw, 13px) min(1.6vw, 24px)
}

.p-surveyModal__options--cols-1 {
    grid-template-columns: 1fr
}

.p-surveyModal__options--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.p-surveyModal__options--cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}

.p-surveyModal__options--single {
    margin-top: min(.86667vw, 13px)
}

.p-surveyModal__option {
    display: flex;
    align-items: flex-start;
    gap: min(.4vw, 6px);
    min-width: 0;
    color: rgba(255, 255, 255, .92);
    font-size: min(1.06667vw, 16px);
    font-weight: 400;
    line-height: 1.55
}

.p-surveyModal__option input {
    flex: 0 0 auto;
    margin-top: min(.2vw, 3px)
}

.p-surveyModal__option input[type="radio"],
.p-surveyModal__option input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    width: min(1.2vw, 18px);
    height: min(1.2vw, 18px);
    margin-top: min(.22667vw, 3.4px);
    border: 1px solid rgba(255, 255, 255, .95);
    background: transparent;
    cursor: pointer
}

.p-surveyModal__option input[type="radio"] {
    border-radius: 50%
}

.p-surveyModal__option input[type="radio"]::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(.53333vw, 8px);
    height: min(.53333vw, 8px);
    border-radius: 50%;
    background: #fff;
    opacity: 0;
    transform: translate(-50%, -50%)
}

.p-surveyModal__option input[type="radio"]:checked::after {
    opacity: 1
}

.p-surveyModal__option input[type="checkbox"] {
    border-radius: min(.2vw, 3px)
}

.p-surveyModal__option input[type="checkbox"]::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 46%;
    width: min(.4vw, 6px);
    height: min(.73333vw, 11px);
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    opacity: 0;
    transform: translate(-50%, -50%) rotate(45deg)
}

.p-surveyModal__option input[type="checkbox"]:checked::after {
    opacity: 1
}

.p-surveyModal__option span {
    min-width: 0;
    overflow-wrap: anywhere
}

.p-surveyModal__option--full {
    grid-column: 1 / -1
}

.p-surveyModal__otherRow {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: min(1vw, 15px);
    min-width: 0
}

.p-surveyModal__otherRow .p-surveyModal__option {
    flex: 0 0 auto
}

.p-surveyModal__provinceRow {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: min(.8vw, 12px);
    margin-left: min(1.8vw, 26px);
    color: rgba(255, 255, 255, .92);
    font-size: min(1.06667vw, 16px);
    line-height: 1.55
}

.p-surveyModal__select {
    width: min(10.66667vw, 160px);
    height: min(2vw, 30px);
    padding: 0 min(.53333vw, 8px);
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: min(.26667vw, 4px);
    background: rgba(0, 0, 0, .42);
    color: #fff;
    font-size: min(1.06667vw, 16px);
    line-height: 1.2
}

.p-surveyModal__select option {
    color: #222
}

.p-surveyModal__otherInput {
    display: block;
    flex: 1 1 auto;
    width: auto;
    min-width: min(30vw, 450px);
    height: min(2vw, 30px);
    margin: 0;
    padding: 0 min(.66667vw, 10px);
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: min(.26667vw, 4px);
    color: #fff;
    font-size: min(1.06667vw, 16px);
    line-height: 1.2
}

.p-surveyModal__otherInput:disabled {
    opacity: .45
}

.p-surveyModal__question.is-error {
    background: rgba(180, 28, 28, .22);
    outline: 1px solid rgba(255, 96, 96, .75)
}

.p-surveyModal__submit {
    display: block;
    width: min(35vw, 560px);
    aspect-ratio: 1588 / 192;
    height: auto;
    margin: min(2.66667vw, 40px) auto 0;
    background: url("../img/mg_kessen2026/survey/submit.png") center / contain no-repeat;
    color: transparent;
    font-size: 0;
    line-height: 1;
    text-align: center;
    transition: opacity .2s linear, filter .2s linear
}

.p-surveyModal__submit:disabled {
    opacity: .65
}

@media (hover: hover) {
    .p-surveyModal__submit:hover {
        filter: drop-shadow(0 0 10px rgba(255, 226, 92, .72))
    }
}

@media (hover: hover) {
    .p-loginModal__loginBtn:hover {
        opacity: .75
    }
}

@media only screen and (max-width: 768px) {
    .p-surveyModal__overlay {
        padding: 8vw 0;
        background-image: url("../img/mg_kessen2026/bg_sp.jpg");
        background-position: center center
    }

    .p-loginModal__overlay {
        padding: 7vw 4vw
    }

    .p-loginModal__container {
        width: 88vw;
        padding-bottom: 8.33333vw
    }

    .p-loginModal__header {
        padding: 3.33333vw 7vw
    }

    .p-loginModal__title {
        font-size: 4vw
    }

    .p-loginModal__close {
        top: 1.04167vw;
        right: 2.08333vw;
        width: 5.20833vw;
        height: 5.20833vw;
        font-size: 5.20833vw
    }

    .p-loginModal__body {
        width: 72vw;
        padding: 7.29167vw 0
    }

    .p-loginModal__input {
        height: 10.41667vw;
        padding: 0 3.125vw;
        border-width: 1px;
        border-radius: 1.25vw;
        font-size: 3.6vw
    }

    .p-loginModal__codeRow {
        margin-top: 3.125vw;
        border-width: 1px;
        border-radius: 1.25vw
    }

    .p-loginModal__sendCode {
        width: 25vw;
        height: 7.8125vw;
        margin-right: 2.08333vw;
        padding-left: 2.08333vw;
        font-size: 3.3vw
    }

    .p-loginModal__sendCode::before {
        height: 6.51042vw
    }

    .p-loginModal__sendCode::after {
        left: 3.33333vw;
        bottom: 1.04167vw
    }

    .p-loginModal__privacy {
        margin-top: 2.60417vw;
        gap: 1.04167vw;
        font-size: 3.1vw
    }

    .p-loginModal__ageConfirm {
        margin-top: 2.08333vw
    }

    .p-loginModal__privacyText,
    .p-loginModal__checkboxWrap {
        -webkit-transform: translateY(.26042vw);
        transform: translateY(.26042vw)
    }

    .p-loginModal__checkbox {
        border-width: 1px;
        border-radius: .39063vw
    }

    .p-loginModal__checkboxWrap {
        width: 3.90625vw;
        height: 3.90625vw
    }

    .p-loginModal__checkboxOk,
    .p-loginModal__ageCheckboxOk {
        width: 4.6875vw
    }

    .p-loginModal__loginBtn {
        margin-top: 5.20833vw;
        width: 62vw
    }

    .p-loginModal__copyright {
        bottom: 2.60417vw;
        font-size: 3.125vw
    }

    .p-surveyModal__container {
        width: 94%;
        padding: 9.76563vw 0
    }

    .p-surveyModal__inner {
        --survey-frame-piece-height: 21.44vw;
        width: 86vw;
        margin-top: 3.125vw;
        margin-bottom: 5.20833vw;
        padding: 7.8125vw 5.20833vw 13.02083vw
    }

    .p-surveyModal__title {
        max-width: 69.01042vw
    }

    .p-surveyModal__titleMate {
        padding-top: 3.125vw;
        max-width: 21.74479vw
    }

    .p-surveyModal__question {
        padding: 5.72917vw .78125vw 4.6875vw
    }

    .p-surveyModal__question:first-child {
        padding-top: 1.5625vw
    }

    .p-surveyModal__questionTitle {
        margin-bottom: 2.60417vw;
        font-size: 4.16667vw
    }

    .p-surveyModal__options {
        width: 100%;
        margin-left: 0;
        grid-template-columns: 1fr;
        gap: 2.34375vw
    }

    .p-surveyModal__options--cols-1,
    .p-surveyModal__options--cols-3,
    .p-surveyModal__options--cols-4 {
        grid-template-columns: 1fr
    }

    .p-surveyModal__option {
        gap: 1.5625vw;
        font-size: 3.90625vw
    }

    .p-surveyModal__option input {
        margin-top: .78125vw
    }

    .p-surveyModal__option input[type="radio"],
    .p-surveyModal__option input[type="checkbox"] {
        width: 3.6875vw;
        height: 3.6875vw;
        margin-top: 1.17188vw
    }

    .p-surveyModal__option input[type="radio"]::after {
        width: 2.08333vw;
        height: 2.08333vw
    }

    .p-surveyModal__option input[type="checkbox"] {
        border-radius: .52083vw
    }

    .p-surveyModal__option input[type="checkbox"]::after {
        width: 1.5625vw;
        height: 2.86458vw;
        border-right-width: 1px;
        border-bottom-width: 1px
    }

    .p-surveyModal__provinceRow {
        gap: 2.08333vw;
        font-size: 3.90625vw
    }

    .p-surveyModal__provinceRow .p-surveyModal__option {
        width: 100%
    }

    .p-surveyModal__otherRow {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 2.60417vw
    }

    .p-surveyModal__otherRow .p-surveyModal__option {
        flex: 0 0 auto
    }

    .p-surveyModal__select {
        width: 100%;
        height: 7.8125vw;
        padding: 0 2.08333vw;
        border-radius: 1.04167vw;
        font-size: 3.90625vw
    }

    .p-surveyModal__otherInput {
        flex: 0 0 auto;
        width: 100%;
        min-width: 0;
        height: 7.8125vw;
        margin: 0;
        padding: 0 2.60417vw;
        border-radius: 1.04167vw;
        font-size: 3.90625vw
    }

    .p-surveyModal__submit {
        width: 72vw;
        height: auto;
        margin-top: 7.8125vw;
        font-size: 0
    }
}

.p-noticeModal.is-open {
    display: block
}

.p-noticeModal__overlay {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: center;
    justify-content: center;
    padding-top: min(3.33333vw, 50px);
    background: rgba(0, 0, 0, 0.35)
}

.p-noticeModal__container {
    width: min(31.25vw, 480px);
    padding: min(1.73333vw, 26px) min(1.6vw, 24px) min(1.33333vw, 20px);
    border-radius: min(.8vw, 12px);
    background: #f6f0f5;
    color: #28242a;
    box-shadow: 0 min(.66667vw, 10px) min(2vw, 30px) rgba(0, 0, 0, .35)
}

.p-noticeModal__message {
    min-height: min(3.33333vw, 50px);
    font-size: min(1.06667vw, 16px);
    line-height: 1.5
}

.p-noticeModal__confirm {
    margin-left: auto;
    display: block;
    min-width: min(4.66667vw, 70px);
    padding: min(.66667vw, 10px) min(1.2vw, 18px);
    border-radius: min(1.33333vw, 20px);
    background: #423e30;
    color: #fff;
    font-size: min(1vw, 15px);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    transition: opacity .3s linear
}

@media (hover: hover) {
    .p-noticeModal__confirm:hover {
        opacity: .75
    }
}

@media only screen and (max-width: 768px) {
    .p-noticeModal__overlay {
        padding-top: 8vw
    }

    .p-noticeModal__container {
        width: 82vw;
        padding: 5.20833vw 4.6875vw 4.16667vw;
        border-radius: 2.60417vw
    }

    .p-noticeModal__message {
        min-height: 13.02083vw;
        font-size: 4.16667vw
    }

    .p-noticeModal__confirm {
        min-width: 18.22917vw;
        padding: 2.60417vw 4.6875vw;
        border-radius: 5.20833vw;
        font-size: 3.90625vw
    }
}

.p-termsModal.is-open {
    display: block
}

.p-termsModal {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain
}

.p-termsModal__overlay {
    min-height: 100vh;
    background: #d7d7d7
}

.p-termsModal__container {
    position: relative;
    min-height: 100vh;
    padding: min(8.66667vw, 130px) min(2vw, 30px) min(6.66667vw, 100px);
    background: #d7d7d7;
    color: #343434
}

.p-termsModal__container::before,
.p-termsModal__container::after {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    height: min(4vw, 60px);
    background: #423e30;
    z-index: 1
}

.p-termsModal__container::before {
    top: 0
}

.p-termsModal__container::after {
    bottom: 0
}

.p-termsModal__close {
    position: fixed;
    top: min(1vw, 15px);
    right: min(1.33333vw, 20px);
    z-index: 2;
    width: min(1.73333vw, 26px);
    height: min(1.73333vw, 26px);
    color: #fff;
    font-size: min(2.53333vw, 38px);
    line-height: .7;
    text-align: center
}

.p-termsModal__body {
    width: min(58.66667vw, 880px);
    margin: 0 auto
}

.p-termsModal__title {
    margin-bottom: min(2.66667vw, 40px);
    color: #333;
    font-family: SHanSerB, "Source Han Sans CN", sans-serif;
    font-size: min(3.46667vw, 52px);
    line-height: 1.2;
    text-align: center
}

.p-termsModal__paper {
    min-height: min(70.66667vw, 1060px);
    padding: min(4vw, 60px) min(2.66667vw, 40px) min(4.66667vw, 70px);
    border: 1px solid #777;
    background: #fff
}

.p-termsModal__lead {
    margin-bottom: min(1.33333vw, 20px);
    color: #333;
    font-size: min(.93333vw, 14px);
    font-weight: 700;
    line-height: 1.8;
    text-align: left
}

.p-termsModal__list {
    list-style: decimal;
    padding-left: 1.5em;
    color: #333;
    font-size: min(.93333vw, 14px);
    font-weight: 700;
    line-height: 1.8;
    text-align: left
}

.p-termsModal__list li {
    margin-bottom: min(1.33333vw, 20px)
}

.p-termsModal__subList {
    list-style: disc;
    margin: min(.66667vw, 10px) 0;
    padding-left: 1.5em
}

.p-termsModal__subList li {
    margin-bottom: min(.4vw, 6px)
}

.p-termsModal__rewardGrid {
    margin-top: min(1.06667vw, 16px);
    width: 100%;
    display: grid;
    grid-template-columns: 1.55fr 1fr .95fr 1.65fr;
    gap: min(2.66667vw, 40px);
    line-height: 1.5
}

.p-termsModal__rewardGrid dl {
    margin: 0
}

.p-termsModal__rewardGrid dt,
.p-termsModal__rewardGrid dd {
    margin: 0;
    white-space: nowrap
}

.p-termsModal__rewardGrid dt {
    margin-bottom: min(.4vw, 6px);
    font-size: min(.93333vw, 14px);
    font-weight: 700
}

.p-termsModal__rewardGrid dd {
    font-size: min(.86667vw, 13px);
    font-weight: 700
}

.p-termsModal__agreeBtn {
    margin: min(4vw, 60px) auto 0;
    width: min(31.33333vw, 470px);
    display: block;
    transition: opacity .3s linear
}

@media (hover: hover) {
    .p-termsModal__agreeBtn:hover {
        opacity: .75
    }
}

.p-termsModal__notice {
    color: #333;
    font-size: min(.93333vw, 14px);
    font-weight: 700;
    line-height: 1.8;
    text-align: center
}

.p-termsModal__copyright {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: min(4vw, 60px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: min(1.06667vw, 16px);
    line-height: 1;
    text-align: center
}

@media only screen and (max-width: 768px) {
    .p-termsModal__container {
        padding: 19.53125vw 4vw 18.22917vw
    }

    .p-termsModal__container::before,
    .p-termsModal__container::after {
        height: 12.5vw
    }

    .p-termsModal__close {
        top: 3.125vw;
        right: 3.90625vw;
        width: 5.20833vw;
        height: 5.20833vw;
        font-size: 6.25vw
    }

    .p-termsModal__body {
        width: 92vw
    }

    .p-termsModal__title {
        margin-bottom: 6.51042vw;
        font-size: 8.33333vw
    }

    .p-termsModal__paper {
        padding: 7.8125vw 5.20833vw 8.46354vw
    }

    .p-termsModal__lead {
        margin-bottom: 4.16667vw;
        font-size: 3.125vw;
        line-height: 1.75
    }

    .p-termsModal__list {
        font-size: 3.125vw;
        line-height: 1.75
    }

    .p-termsModal__list li {
        margin-bottom: 4.16667vw
    }

    .p-termsModal__subList {
        margin: 2.60417vw 0;
        padding-left: 1.5em
    }

    .p-termsModal__subList li {
        margin-bottom: 1.30208vw
    }

    .p-termsModal__rewardGrid {
        margin-top: 2.60417vw;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3.125vw 4.16667vw
    }

    .p-termsModal__rewardGrid dt,
    .p-termsModal__rewardGrid dd {
        white-space: normal
    }

    .p-termsModal__rewardGrid dt {
        margin-bottom: 1.04167vw;
        font-size: 3.125vw
    }

    .p-termsModal__rewardGrid dd {
        font-size: 3.125vw
    }

    .p-termsModal__agreeBtn {
        margin-top: 9.11458vw;
        width: 70vw;
        height: auto
    }

    .p-termsModal__notice {
        font-size: 3.125vw
    }

    .p-termsModal__copyright {
        height: 12.5vw;
        font-size: 3.64583vw
    }
}

#confirm-vote-btn {
    margin: auto;
    display: block;
    padding-top: min(1.33333vw, 20px);
    max-width: min(12vw, 180px);
    transition: all .3s linear
}

#confirm-vote-btn img {
    display: block;
    width: 100%;
    height: auto
}

@media only screen and (max-width: 768px) {
    #confirm-vote-btn {
        padding-top: 2.60417vw;
        max-width: 31.25vw
    }
}

@media (hover: hover) {
    #confirm-vote-btn:hover {
        opacity: 0.6
    }
}

@-webkit-keyframes mmfadeIn {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes mmfadeIn {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-webkit-keyframes mmfadeOut {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes mmfadeOut {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-webkit-keyframes mmslideIn {
    from {
        -webkit-transform: translateY(15%);
        transform: translateY(15%)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes mmslideIn {
    from {
        -webkit-transform: translateY(15%);
        transform: translateY(15%)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes mmslideOut {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    to {
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%)
    }
}

@keyframes mmslideOut {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    to {
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%)
    }
}

.p-micromodal__slide.is-open {
    display: block
}

.p-micromodal__slide[aria-hidden="false"] .p-modal__overlay {
    -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
    animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1)
}

.p-micromodal__slide[aria-hidden="false"] .p-modal__container {
    -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
    animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1)
}

.p-micromodal__slide[aria-hidden="true"] .p-modal__overlay {
    -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1)
}

.p-micromodal__slide[aria-hidden="true"] .p-modal__container {
    -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
    animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1)
}

.p-micromodal__slide .p-modal__container, .p-micromodal__slide .p-modal__overlay {
    will-change: transform
}
