/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-border-style: solid;
            --tw-font-weight: initial;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --spacing: .3125rem;
        --font-weight-light: 350;
        --font-weight-normal: 400;
        --font-weight-bold: 700;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono)
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        -moz-tab-size: 4;
        -o-tab-size: 4;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

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

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

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

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

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display: block
    }

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

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::-moz-placeholder {
        opacity: 1
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px) {
        ::-moz-placeholder {
            color: currentColor
        }

        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::-moz-placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }

            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button
    }

    ::file-selector-button {
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .\!mx-auto {
        margin-inline: auto !important
    }

    .\!mt-0 {
        margin-top: calc(var(--spacing)*0) !important
    }

    .\!mt-1 {
        margin-top: calc(var(--spacing)*1) !important
    }

    .\!mt-2 {
        margin-top: calc(var(--spacing)*2) !important
    }

    .\!mt-3 {
        margin-top: calc(var(--spacing)*3) !important
    }

    .\!mt-4 {
        margin-top: calc(var(--spacing)*4) !important
    }

    .\!mt-5 {
        margin-top: calc(var(--spacing)*5) !important
    }

    .\!mt-6 {
        margin-top: calc(var(--spacing)*6) !important
    }

    .\!mt-8 {
        margin-top: calc(var(--spacing)*8) !important
    }

    .\!mb-2 {
        margin-bottom: calc(var(--spacing)*2) !important
    }

    .\!mb-5 {
        margin-bottom: calc(var(--spacing)*5) !important
    }

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-block {
        display: inline-block
    }

    .table {
        display: table
    }

    .w-\[200px\] {
        width: 200px
    }

    .border-collapse {
        border-collapse: collapse
    }

    .transform {
        transform: var(--tw-rotate-x, )var(--tw-rotate-y, )var(--tw-rotate-z, )var(--tw-skew-x, )var(--tw-skew-y, )
    }

    .resize {
        resize: both
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .pl-\[1em\] {
        padding-left: 1em
    }

    .text-center {
        text-align: center
    }

    .text-left {
        text-align: left
    }

    .-indent-\[1em\] {
        text-indent: -1em
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold)
    }

    .font-light {
        --tw-font-weight: var(--font-weight-light);
        font-weight: var(--font-weight-light)
    }

    .font-normal {
        --tw-font-weight: var(--font-weight-normal);
        font-weight: var(--font-weight-normal)
    }

    .blur {
        --tw-blur: blur(8px);
        filter: var(--tw-blur, )var(--tw-brightness, )var(--tw-contrast, )var(--tw-grayscale, )var(--tw-hue-rotate, )var(--tw-invert, )var(--tw-saturate, )var(--tw-sepia, )var(--tw-drop-shadow, )
    }

    .filter {
        filter: var(--tw-blur, )var(--tw-brightness, )var(--tw-contrast, )var(--tw-grayscale, )var(--tw-hue-rotate, )var(--tw-invert, )var(--tw-saturate, )var(--tw-sepia, )var(--tw-drop-shadow, )
    }

    .transition {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    vertical-align: baseline;
    background: 0 0;
    border: 0;
    outline: 0;
    margin: 0;
    padding: 0;
    font-size: 100%
}

body {
    line-height: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

a {
    vertical-align: baseline;
    background: 0 0;
    margin: 0;
    padding: 0;
    font-size: 100%
}

ins {
    color: var(--txt-color);
    background-color: var(--bg-color);
    text-decoration: none
}

mark {
    color: var(--txt-color);
    background-color: var(--bg-color);
    font-style: italic;
    font-weight: 700
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    cursor: help;
    border-bottom: 1px dotted
}

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

hr {
    border: 0;
    border-top: 1px solid var(--txt-color);
    height: 1px;
    margin: 1em 0;
    padding: 0;
    display: block
}

input,
select {
    vertical-align: middle
}

input[type=text],
input[type=password],
input[type=submit],
input[type=button],
input[type=tel],
input[type=mail],
input[type=email],
textarea,
select,
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: 0 0;
    border: none;
    outline: none;
    font-family: inherit;
    font-size: 100%
}

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

input[type=submit],
input[type=button],
button {
    cursor: pointer
}

input::-moz-placeholder {
    font-size: var(--font-size-14px);
    color: var(--txt-placeholder-color)
}

input::placeholder {
    font-size: var(--font-size-14px);
    color: var(--txt-placeholder-color)
}

ul,
ol,
li {
    list-style: none
}

html {
    background: var(--bg-color);
    overflow-y: scroll
}

html.msie body {
    font-size: 100%
}

html.no-msie body {
    font-size: 16px
}

html.iphone a:hover,
html.ipod a:hover,
html.ipad a:hover,
html.android a:hover,
html.iphone a:hover img,
html.ipod a:hover img,
html.ipad a:hover img,
html.android a:hover img {
    opacity: 1 !important
}

body {
    text-align: center;
    color: var(--txt-color);
    background: var(--bg-color);
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
    -webkit-text-size-adjust: 100%;
    font-family: Hiragino Sans, Hiragino Kaku Gothic ProN, sans-serif;
    font-weight: 400;
    line-height: 1.4
}

@media only screen and (min-device-pixel-ratio:2),
(min-resolution:2x) {
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }
}

html.iphone body {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom)
}

a {
    text-decoration: underline
}

a:link,
a:visited,
a:hover,
a:active {
    color: var(--txt-link-color)
}

img {
    vertical-align: bottom;
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block
}

@keyframes btnActiveMove {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%)scale(0)
    }

    to {
        opacity: 0;
        transform: translate(-50%, -50%)scale(10)
    }
}

@keyframes bodyActiveMove {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

.BtnMove {
    background: var(--key-color);
    opacity: 1;
    width: 100%;
    height: 100%;
    transition: opacity .3s;
    animation: .4s cubic-bezier(.22, 1, .36, 1) forwards bodyActiveMove;
    position: fixed;
    top: 0;
    right: 0
}

.BtnMoveRev {
    background: var(--key-color);
    opacity: 1;
    width: 100%;
    height: 100%;
    transition: opacity .3s;
    animation: .4s cubic-bezier(.22, 1, .36, 1) forwards bodyActiveMove;
    position: fixed;
    top: 0;
    left: 0
}

.BtnMove.is-fadeout,
.BtnMoveRev.is-fadeout {
    opacity: 0
}

.BtnSolidArrow,
.BtnSolidArrow1,
.BtnSolidBlank,
.BtnSolidPlus,
.BtnSolidMinus,
.BtnSolidArrowGray,
.prizeListItem .btnGray,
.prizeListItem .btn,
input.BtnSolidArrow,
input.BtnSolidBlank,
input.BtnSolidPlus,
input.BtnSolidMinus,
input.BtnSolidArrowGray,
.prizeListItem input.btnGray,
.prizeListItem input.btn {
    box-sizing: border-box;
    letter-spacing: -.02em;
    background-color: var(--key-color);
    border: 2px solid var(--key-color);
    background-image: var(--btn-solid-icon-arrow);
    background-position: right 10px top 50%;
    background-repeat: no-repeat;
    background-size: 16px;
    border-radius: 5px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 20px;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    display: block;
    color: var(--btn-color) !important
}

.BtnSolidPlus,
.BtnSolidMinus,
input.BtnSolidPlus,
input.BtnSolidMinus {
    padding: 15px 20px
}

.BtnSolidArrow:hover,
.BtnSolidBlank:hover,
.BtnSolidPlus:hover,
.BtnSolidMinus:hover,
.BtnSolidArrowGray:hover,
.prizeListItem .btnGray:hover,
.prizeListItem .btn:hover,
input.BtnSolidArrow:hover,
input.BtnSolidBlank:hover,
input.BtnSolidPlus:hover,
input.BtnSolidMinus:hover,
input.BtnSolidArrowGray:hover,
.prizeListItem input.btnGray:hover,
.prizeListItem input.btn:hover {
    color: var(--btn-color) !important
}

@media(max-width:374px) {

    .BtnSolidArrow,
    .BtnSolidBlank,
    .BtnSolidPlus,
    .BtnSolidMinus,
    .BtnSolidArrowGray,
    .prizeListItem .btnGray,
    .prizeListItem .btn,
    input.BtnSolidArrow,
    input.BtnSolidBlank,
    input.BtnSolidPlus,
    input.BtnSolidMinus,
    input.BtnSolidArrowGray,
    .prizeListItem input.btnGray,
    .prizeListItem input.btn {
        background-size: 14px;
        font-size: .9375rem
    }
}

.BtnSolidArrow.BtnActive,
.BtnActive.BtnSolidBlank,
.BtnActive.BtnSolidPlus,
.BtnActive.BtnSolidMinus,
.BtnActive.BtnSolidArrowGray,
.prizeListItem .BtnActive.btnGray,
.prizeListItem .BtnActive.btn,
input.BtnSolidArrow.BtnActive,
input.BtnActive.BtnSolidBlank,
input.BtnActive.BtnSolidPlus,
input.BtnActive.BtnSolidMinus,
input.BtnActive.BtnSolidArrowGray,
.prizeListItem input.BtnActive.btnGray,
.prizeListItem input.BtnActive.btn {
    position: relative;
    overflow: hidden
}

.BtnSolidArrow.BtnActive:after,
.BtnActive.BtnSolidBlank:after,
.BtnActive.BtnSolidPlus:after,
.BtnActive.BtnSolidMinus:after,
.BtnActive.BtnSolidArrowGray:after,
.prizeListItem .BtnActive.btnGray:after,
.prizeListItem .BtnActive.btn:after,
input.BtnSolidArrow.BtnActive:after,
input.BtnActive.BtnSolidBlank:after,
input.BtnActive.BtnSolidPlus:after,
input.BtnActive.BtnSolidMinus:after,
input.BtnActive.BtnSolidArrowGray:after,
.prizeListItem input.BtnActive.btnGray:after,
.prizeListItem input.BtnActive.btn:after {
    content: "";
    opacity: 0;
    background: #fff;
    border-radius: 500px;
    width: 60px;
    height: 60px;
    animation: .6s ease-out forwards btnActiveMove;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.BtnSolidBlank {
    background-image: var(--btn-solid-icon-blank)
}

.BtnSolidBlankBk {
    background-image: var(--btn-solid-icon-blank-bk)
}

.BtnSolidPlus {
    background-image: var(--btn-solid-icon-plus)
}

.BtnSolidPlus:after {
    animation: .6s ease-out btnActiveMove
}

.BtnSolidMinus {
    background-image: var(--btn-solid-icon-minus)
}

.BtnSolidMinus:after {
    animation: .6s ease-out btnActiveMove
}

.BtnSolidArrowGray,
.prizeListItem .btnGray {
    pointer-events: none;
    color: #fff !important;
    background-color: var(--btn-disabled-color) !important
}

.BtnSolidArrowGray,
input.BtnSolidArrowGray {
    background-image: var(--btn-line-icon-arrow-wh);
    color: #fff !important
}

.BtnSolidArrowGray {
    border: solid 2px var(--btn-disabled-color) !important
}

.BtnLineArrow,
.BtnLineAnchor,
.BtnLineReverse,
.BtnLineQr,
.BtnLineArrowBk,
.InputBodyForm .LowerBtn .BtnLineArrowBk {
    box-sizing: border-box;
    letter-spacing: -.02em;
    border: 2px solid var(--key-color);
    background-image: var(--btn-line-icon-arrow);
    background-position: right 10px top 50%;
    background-repeat: no-repeat;
    background-size: 16px;
    background-color: var(--bg-color-invert);
    border-radius: 5px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 20px;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    display: block
}

.BtnLineAnchor {
    background-image: none;
    position: relative
}

.BtnLineAnchor:before {
    content: "";
    background-image: var(--btn-line-icon-arrow);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: rotate(90deg)translate(-50%)
}

.BtnSolidArrowWh {
    background-image: var(--btn-solid-icon-arrow)
}

.BtnLineArrow._arrow-wh,
._arrow-wh.BtnLineReverse,
._arrow-wh.BtnLineQr,
._arrow-wh.BtnLineArrowBk,
.InputBodyForm .LowerBtn ._arrow-wh.BtnLineArrowBk {
    background-image: var(--btn-line-icon-arrow-wh)
}

@media(max-width:374px) {

    .BtnLineArrow,
    .BtnLineReverse,
    .BtnLineQr,
    .BtnLineArrowBk,
    .InputBodyForm .LowerBtn .BtnLineArrowBk {
        background-size: 14px;
        font-size: .9375rem
    }
}

.BtnLineArrow.BtnActive,
.BtnLineAnchor.BtnActive,
.BtnActive.BtnLineReverse,
.BtnActive.BtnLineQr,
.BtnActive.BtnLineArrowBk,
.InputBodyForm .LowerBtn .BtnActive.BtnLineArrowBk {
    position: relative;
    overflow: hidden
}

.BtnLineArrow.BtnActive:after,
.BtnLineAnchor.BtnActive:after,
.BtnActive.BtnLineReverse:after,
.BtnActive.BtnLineQr:after,
.BtnActive.BtnLineArrowBk:after,
.InputBodyForm .LowerBtn .BtnActive.BtnLineArrowBk:after {
    background: var(--key-color);
    content: "";
    opacity: 0;
    border-radius: 500px;
    width: 60px;
    height: 60px;
    animation: .6s ease-out forwards btnActiveMove;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.BtnLineReverse {
    background-image: var(--btn-line-icon-reverse);
    background-position: 10px
}

.BtnLineReverseWh,
.BtnLineReverse._arrowWh {
    background-image: var(--btn-line-icon-reverse-wh)
}

.BtnLineQr {
    background-image: var(--btn-line-icon-qr);
    background-position: right 11px top 50%;
    padding: 20px
}

.BtnLineArrowBk {
    background-image: var(--btn-line-icon-arrow-bk)
}

.BtnLineArrowBk._arrow-wh {
    background-image: var(--btn-line-icon-arrow-wh)
}

.InputBodyForm .LowerBtn .BtnLineArrowBk._arrow-wh {
    color: #fff;
    background-image: url(../images/icon_arrow_reverse_wh.svg)
}

.BtnLineArrow._disabled,
.BtnSolidArrow._disabled,
.BtnSolidBlank._disabled,
.accordion._disabled {
    cursor: default;
    pointer-events: none;
    background-image: url(../images/icon_arrow_wh.svg);
    transition: background-color .1s, color .1s;
    color: var(--btn-color) !important;
    background-color: var(--btn-disabled-color) !important;
    border: 1px solid var(--btn-disabled-color) !important
}

.BtnSolidPlus._disabled {
    cursor: default;
    pointer-events: none;
    background-image: none;
    color: var(--btn-color) !important;
    background-color: var(--btn-disabled-color) !important;
    border: 1px solid var(--btn-disabled-color) !important
}

.BtnLoading {
    pointer-events: none;
    display: none
}

:root {
    --max-width: 750px;
    --bg-color: #fff;
    --bg-color-invert: #fff;
    --bg-accordion-color: #e6e6e6;
    --bg-form-color: #eee;
    --form-border: #e8e8e8;
    --txt-color: #000;
    --txt-link-color: #000;
    --txt-placeholder-color: #999;
    --key-color: #cb333b;
    --announce-color: #da2129;
    --border-color: #b3b3b3;
    --btn-color: #fff;
    --btn-disabled-color: #737373;
    --btn-solid-icon-arrow: url(../images/icon_arrow_wh.svg);
    --btn-solid-icon-blank: url(../images/icon_blank_wh.svg);
    --btn-solid-icon-plus: url(../images/icon_plus_wh.svg);
    --btn-solid-icon-minus: url(../images/icon_minus_wh.svg);
    --btn-line-icon-arrow: url(../images/icon_arrow_bk.svg);
    --btn-line-icon-arrow-wh: url(../images/icon_arrow_wh.svg);
    --btn-line-icon-reverse: url(../images/icon_arrow_reverse_bk.svg);
    --btn-line-icon-reverse-wh: url(../images/icon_arrow_reverse_wh.svg);
    --select-line-icon-arrow: url(../images/icon_arrow_select.svg);
    --btn-line-icon-qr: url(../images/icon_qrscan_bk.svg);
    --btn-line-icon-arrow-bk: url(../images/icon_arrow_bk.svg);
    --font-size-8px: .62rem;
    --font-size-10px: .62rem;
    --font-size-11px: .6875rem;
    --font-size-12px: .75rem;
    --font-size-13px: .8125rem;
    --font-size-14px: .875rem;
    --font-size-15px: .9375rem;
    --font-size-15_4px: .96rem;
    --font-size-18px: 1.125rem;
    --font-size-19px: 1.16rem;
    --font-size-20px: 1.25rem;
    --font-size-21px: 1.3125rem;
    --font-size-22px: 1.375rem;
    --font-size-25px: 1.55rem;
    --font-size-27px: 1.6875rem;
    --section-padding-inline: 35px;
    --section-padding-block: 30px;
    --hero-text-padding-inline: 20px
}

.page {
    max-width: var(--max-width);
    margin: 0 auto
}

.page .section {
    border-bottom: 2px solid var(--key-color);
    padding-block: var(--section-padding-block)var(--section-padding-block);
    padding-inline: var(--section-padding-inline)
}

.page .section:first-of-type {
    padding-block-start: 0
}

.page .section .header-button {
    box-sizing: border-box;
    letter-spacing: -.02em;
    width: 100%;
    height: auto;
    color: var(--btn-color);
    background-color: var(--key-color);
    border: 2px solid var(--key-color);
    border-radius: 5px;
    margin: 0 auto;
    padding: 20px 26px;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1;
    display: block
}

.page .section .header-balloon {
    font-size: var(--font-size-27px);
    border-bottom: 2px solid var(--txt-color);
    margin-bottom: 30px;
    padding-bottom: 6px;
    font-weight: 700;
    position: relative
}

.page .section .header-balloon:after {
    background: var(--bg-color);
    border: 2px solid var(--txt-color);
    content: "";
    border-top: none;
    border-right: none;
    width: 15px;
    height: 15px;
    display: block;
    position: absolute;
    bottom: -9px;
    left: 50%;
    transform: translate(-50%)rotate(-45deg)
}

.page .section .header-dot {
    margin: 0 -35px
}

.page .section .header-dot .dot-balloon {
    margin-bottom: 15px;
    margin-left: 20px;
    margin-right: 20px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.2;
    display: inline-block;
    position: relative
}

.page .section .header-dot .dot-balloon:after,
.page .section .header-dot .dot-balloon:before {
    background: var(--txt-color);
    content: "";
    width: 2px;
    height: 19px;
    display: block;
    position: absolute;
    top: 50%
}

.page .section .header-dot .dot-balloon:before {
    left: -10px;
    transform: rotate(-15deg)translateY(-50%)
}

.page .section .header-dot .dot-balloon:after {
    right: -10px;
    transform: rotate(15deg)translateY(-50%)
}

.page .section .header-dot .dot-title {
    margin-left: 35px;
    margin-right: 35px;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.2;
    display: inline-block;
    position: relative
}

.page .section .header-dot .dot-title:after,
.page .section .header-dot .dot-title:before {
    background: var(--txt-color);
    content: "";
    border-radius: 500px;
    width: 9px;
    height: 9px;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.page .section .header-dot .dot-title:before {
    left: -16px
}

.page .section .header-dot .dot-title:after {
    right: -16px
}

.page .section .header-hidden {
    white-space: nowrap;
    clip-path: inset(0);
    border: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden
}

.page .notice-box {
    font-size: var(--font-size-13px);
    color: var(--announce-color);
    border: 2px solid var(--announce-color);
    margin-top: 10px;
    padding: 10px
}

.page .notice-box dl+dl {
    margin-top: 1rem
}

.page .check-file #camera-form .UsersFile,
.page .check-file #camera-form button[type=submit] {
    display: none
}

.page .section-hero .hero-kv {
    margin-inline: calc(var(--section-padding-inline)*-1)
}

.page .section-menu,
.page .is-invert,
:is(.page .section-menu, .page .is-invert) .header-balloon:after {
    background-color: var(--bg-color-invert)
}

.v-liff .section-hero {
    padding-block-end: 0
}

.v-liff.s-lower .section .menu {
    margin-top: 25px
}

.v-liff.s-lower .section .menu li+li {
    margin-top: 15px
}

.v-liff.s-lower .section .menu .BtnLineQr {
    padding: 18px
}

.v-liff.s-lower .section:not(:first-of-type) {
    padding-block: 45px
}

#footer {
    max-width: var(--max-width);
    font-size: var(--font-size-11px);
    margin: 0 auto;
    padding: 15px 0
}

#footer .footer-id {
    line-height: 1
}

#footer .footer-id span {
    border: 1px solid var(--txt-color);
    border-radius: 300px;
    padding: 3px 13px;
    display: inline-block
}

#footer small {
    margin-top: 15px;
    display: block
}

.font-notice {
    color: var(--announce-color)
}

.font-8px {
    font-size: var(--font-size-8px)
}

.font-10px {
    font-size: var(--font-size-10px)
}

.font-11px {
    font-size: var(--font-size-11px)
}

.font-12px {
    font-size: var(--font-size-12px)
}

.font-13px {
    font-size: var(--font-size-13px)
}

.font-14px {
    font-size: var(--font-size-14px)
}

.font-15px {
    font-size: var(--font-size-15px)
}

.font-18px {
    font-size: var(--font-size-18px)
}

.font-19px {
    font-size: var(--font-size-19px)
}

.font-20px {
    font-size: var(--font-size-20px)
}

.font-21px {
    font-size: var(--font-size-21px)
}

.font-22px {
    font-size: var(--font-size-22px)
}

.font-25px {
    font-size: var(--font-size-25px)
}

.font-27px {
    font-size: var(--font-size-27px)
}

.accordion .BtnSolidPlus,
.accordion .BtnSolidMinus {
    cursor: pointer
}

.accordion .accordion-content {
    font-size: var(--font-size-12px);
    text-align: justify;
    background: var(--bg-accordion-color);
    line-break: strict;
    word-break: break-all;
    border-radius: 5px;
    margin-top: 7px;
    padding: 15px;
    display: none
}

.accordion .accordion-content h3 {
    font-size: var(--font-size-14px);
    margin-top: 15px;
    font-weight: 700
}

.accordion .accordion-content h3:first-of-type {
    margin-top: 0
}

.accordion .accordion-content p,
.accordion .accordion-content ul,
.accordion .accordion-content ol {
    margin-top: 7px
}

:is(.accordion .accordion-content ul, .accordion .accordion-content ol) li {
    text-indent: -1em;
    padding-left: 1em
}

.accordion .accordion-content .inquiry {
    margin-top: 7px
}

.accordion .accordion-content .inquiry dt {
    font-weight: 400
}

.accordion .accordion-content .inquiry dd,
.accordion .accordion-content .inquiry dd ul {
    margin-top: 0
}

.accordion .accordion-content .inquiry dd ul li {
    margin-top: 3px
}

.filesize {
    color: var(--announce-color)
}

.inquiry {
    margin-top: 30px
}

.inquiry dl dt {
    font-weight: 700
}

.inquiry li {
    margin-top: 7px
}

.modal {
    z-index: 2147483647;
    background: #0009;
    width: 100%;
    height: 100%;
    transition: all .3s .2s;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch !important
}

.modal .modal-inner {
    background-color: var(--bg-color);
    border-radius: 5px;
    width: 73.3333%;
    max-width: 510px;
    padding: 30px 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.modal .modal-inner .modal-close {
    z-index: 2147483647;
    white-space: nowrap;
    cursor: pointer;
    text-indent: 100%;
    background: #000;
    border: 2px solid #fff;
    border-radius: 500px;
    width: 28px;
    height: 28px;
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: -11px;
    right: -11px;
    overflow: hidden;
    box-shadow: 0 1px 2px 1px #00000080
}

.modal .modal-inner .modal-close:before,
.modal .modal-inner .modal-close:after {
    content: "";
    background: #fff;
    width: 12px;
    height: 2px;
    transition: all .6s;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%
}

.modal .modal-inner .modal-close:before {
    transform: translate(-50%, -50%)rotate(45deg)
}

.modal .modal-inner .modal-close:after {
    transform: translate(-50%, -50%)rotate(-45deg)
}

.modal-age .modal-title {
    font-weight: 700;
    display: block
}

.modal-age .select-age {
    border: 2px solid var(--key-color);
    pointer-events: all;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    width: 100px;
    margin: 0 auto 15px;
    padding: 0 8px;
    display: flex;
    position: relative
}

.modal-age .select-age .select-age-label {
    z-index: 9999999;
    width: 100%;
    height: 100%;
    color: var(--txt-color);
    background-color: var(--bg-color);
    background-image: var(--select-line-icon-arrow);
    pointer-events: none;
    background-position: 90%;
    background-repeat: no-repeat;
    background-size: 10px;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    margin: 0;
    display: flex;
    position: absolute;
    top: 0;
    left: 0
}

.modal-age .select-age .select-age-unit {
    position: absolute;
    bottom: 0;
    left: calc(100% + 15px)
}

.modal-age .select-age select {
    text-align: center;
    color: var(--txt-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 8px 20px
}

.modal-point .modal-inner {
    width: calc(100% - 60px);
    color: var(--key-color);
    padding: 70px 20px
}

.modal-point .modal-inner p {
    padding: 15px 0
}

.page .section-hero .hero-anchor {
    margin: 0 calc(var(--section-padding-inline)*-1);
    background-color: var(--key-color);
    padding: 15px 20px
}

.page .section-hero .hero-anchor ul {
    justify-content: space-between;
    gap: 10px;
    display: flex
}

.page .section-hero .hero-anchor ul li {
    width: 100%
}

.page .section-hero .hero-teaser h2 {
    margin-left: -15px;
    margin-right: -15px
}

.page .section-hero .hero-notice {
    color: var(--btn-color);
    background-color: var(--announce-color);
    margin-inline: calc((var(--section-padding-inline))*-1);
    padding: 30px 0;
    font-weight: 700
}

.page .section-hero .hero-days .hero-day {
    font-size: var(--font-size-14px);
    border-top: 1px solid var(--txt-color);
    margin-inline: calc((var(--section-padding-inline) - var(--hero-text-padding-inline))*-1);
    padding: 15px 0;
    font-weight: 700
}

.page .section-hero .hero-days .hero-day:first-of-type {
    border-top: 0;
    padding-top: 20px
}

.page .section-hero .hero-days .hero-day:last-of-type {
    padding-bottom: 0
}

.page .section-hero .hero-outline {
    font-size: var(--font-size-12px);
    border-top: 1px solid var(--txt-color);
    margin-top: 15px;
    margin-inline: calc((var(--section-padding-inline) - var(--hero-text-padding-inline))*-1);
    padding-top: 15px
}

.page .section-hero .hero-cta {
    border-top: 1px solid var(--txt-color);
    margin-top: 15px;
    margin-inline: calc((var(--section-padding-inline) - var(--hero-text-padding-inline))*-1);
    padding: 15px 15px 0
}

.page .section-hero .hero-cta .hero-cta-text {
    font-size: var(--font-size-11px)
}

.page .section-hero .hero-cta .BtnSolidBlank {
    margin-top: 10px
}

.page .section-hero .hero-cta .serial .serial__inputs {
    margin-top: 15px
}

.page .section-hero .hero-cta .serial .serial__inputs label {
    display: block
}

.page .section-hero .hero-cta .serial .serial__inputs label+label {
    margin-top: 5px
}

.page .section-hero .hero-cta .serial .serial__inputs label input[type=text] {
    box-sizing: border-box;
    width: 100%;
    font-family: Helvetica Neue, Helvetica, sans-serif;
    font-size: var(--font-size-21px);
    text-align: center;
    background: var(--bg-form-color);
    border: none;
    border-radius: 5px;
    outline: none;
    padding: 5px 10px;
    line-height: .8;
    display: block
}

.page .section-hero .hero-cta .serial .serial__inputs label input[type=text]::-moz-placeholder {
    font-size: var(--font-size-21px);
    color: var(--txt-placeholder-color)
}

.page .section-hero .hero-cta .serial .serial__inputs label input[type=text]::placeholder {
    font-size: var(--font-size-21px);
    color: var(--txt-placeholder-color)
}

.page .section-howto,
.page .section-howto .header-balloon:after {
    background-color: var(--bg-color-invert)
}

.entry {
    box-sizing: border-box;
    height: 93px
}

.entry .header-hidden {
    display: none
}

.entry .entry-cta {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--max-width);
    background-color: #ffffffbf;
    padding: 5px;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translate(-50%)
}

.entry .entry-cta p {
    font-size: var(--font-size-11px);
    padding: .4em
}

.s-end .section-hero {
    border-bottom: 0;
    padding-bottom: 0
}

.s-end .section-prize .prize-box {
    display: none
}

.s-end .section-prize .prize-box:nth-of-type(2) {
    display: block
}

.p-mypage .section-hero {
    border-bottom: 0
}

.p-mypage .notice {
    color: var(--btn-color);
    background-color: var(--announce-color);
    margin-inline: calc(var(--section-padding-inline)*-1);
    padding: 20px
}

.p-mypage .notice h2 {
    font-size: var(--font-size-15_4px);
    font-weight: 700
}

.p-mypage .section-point .point {
    margin-top: 15px
}

.p-mypage .section-point .point .point-now {
    box-sizing: border-box;
    min-width: 150px;
    color: var(--key-color);
    border: 2px solid var(--key-color);
    border-radius: 10px;
    padding: 15px 30px;
    font-family: Helvetica Neue, Helvetica, sans-serif;
    font-size: 2.625rem;
    font-weight: 700;
    line-height: .8;
    display: inline-block;
    position: relative
}

.p-mypage .section-point .point .point-now:after {
    color: var(--key-color);
    content: "シール";
    font-size: 1.125rem;
    font-weight: 700;
    position: absolute;
    bottom: 0;
    right: -4.5em
}

.p-mypage .section-point .point .unit-point:after {
    content: "ポイント"
}

.p-mypage .section-seal p {
    font-size: var(--font-size-15px);
    margin-top: 15px
}

.p-mypage .section-seal p:first-of-type {
    margin-top: 0
}

.p-mypage .section-seal .seal-select {
    background: var(--bg-accordion-color);
    border-radius: 5px;
    margin-top: 7px;
    padding: 15px
}

.p-history .section-history .history-tabs {
    border-bottom: 2px solid var(--key-color);
    margin-bottom: 10px;
    display: flex
}

.p-history .section-history .history-tabs .history-tab {
    justify-content: center;
    align-items: center;
    width: 50%;
    display: flex
}

.p-history .section-history .history-tabs .history-tab a {
    text-align: center;
    width: 100%;
    color: var(--key-color);
    border-radius: .8rem .8rem 0 0;
    padding: .6rem .2rem;
    font-weight: 700;
    text-decoration: none
}

.p-history .section-history .history-tabs .history-tab.is-select a {
    color: #fff;
    background-color: var(--key-color)
}

.p-history .section-history .history-content {
    display: none
}

.p-history .section-history .history-content table {
    width: 100%;
    color: var(--txt-color);
    border: 1px solid var(--border-color);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 5px;
    overflow: hidden
}

.p-history .section-history .history-content table th {
    box-sizing: border-box;
    letter-spacing: .08em;
    text-align: center;
    color: #000;
    border-top: 1px solid var(--border-color);
    background: #ccc;
    width: 84px;
    padding: 10px 3px;
    font-size: .8125rem;
    font-weight: 400
}

.p-history .section-history .history-content table td {
    letter-spacing: -.03em;
    text-align: left;
    color: #000;
    border-top: 1px solid var(--border-color);
    background: #fff;
    padding: 10px
}

.p-history .section-history .history-content table td .win,
.p-history .section-history .history-content table td .win a {
    color: var(--key-color)
}

.p-history .section-history .history-content table tr:first-child,
.p-history .section-history .history-content table tr:first-child th,
.p-history .section-history .history-content table tr:first-child td {
    border: none
}

.p-history .section-history .history-content table+table {
    margin-top: 10px
}

.p-history .section-history .history-content.is-active {
    display: block
}

.p-history .section-history .history-pagenation {
    margin-top: 10px
}

.p-history .section-history .history-pagenation nav {
    margin-top: 2px
}

.p-history .section-history .history-pagenation nav ul {
    flex-flow: row;
    place-content: center;
    align-items: center;
    display: flex
}

.p-history .section-history .history-pagenation nav ul li {
    margin: 0 4px;
    font-family: Helvetica Neue, Helvetica, sans-serif;
    font-size: .875rem;
    line-height: 1
}

.p-history .section-history .history-pagenation nav ul li a {
    box-sizing: border-box;
    border: 1px solid var(--txt-color);
    border-radius: 5px;
    min-width: 32px;
    padding: 7px 5px;
    text-decoration: none;
    display: block
}

.p-history .section-history .history-pagenation nav ul li span {
    box-sizing: border-box;
    min-width: 32px;
    color: var(--btn-color);
    background: var(--key-color);
    border-radius: 5px;
    padding: 7px 5px;
    display: block
}

.p-history .section-history .history-pagenation nav ul li.history-page-arrow-left,
.p-history .section-history .history-pagenation nav ul li.history-page-arrow-right {
    border: 0;
    padding: 7px 0
}

:is(.p-history .section-history .history-pagenation nav ul li.history-page-arrow-left, .p-history .section-history .history-pagenation nav ul li.history-page-arrow-right) a {
    border: none;
    min-width: 24px;
    font-weight: 700
}

.p-form .section-form form {
    margin-top: 25px
}

.p-form .section-form form input[type=text],
.p-form .section-form form input[type=email],
.p-form .section-form form input[type=tel],
.p-form .section-form form textarea,
.p-form .section-form form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: 0 0;
    border: none;
    outline: none;
    font-size: 1rem
}

.p-form .section-form form input[type=text]::-moz-placeholder,
.p-form .section-form form input[type=email]::-moz-placeholder,
.p-form .section-form form input[type=tel]::-moz-placeholder,
.p-form .section-form form select::-moz-placeholder,
.p-form .section-form form textarea::-moz-placeholder {
    font-size: var(--font-size-13px);
    color: var(--txt-placeholder-color)
}

.p-form .section-form form input[type=text]::placeholder,
.p-form .section-form form input[type=email]::placeholder,
.p-form .section-form form input[type=tel]::placeholder,
.p-form .section-form form select::placeholder,
.p-form .section-form form textarea::placeholder {
    font-size: var(--font-size-13px);
    color: var(--txt-placeholder-color)
}

.p-form .section-form form input[type=text],
.p-form .section-form form input[type=email],
.p-form .section-form form input[type=tel],
.p-form .section-form form input[type=file],
.p-form .section-form form select {
    box-sizing: border-box;
    background: var(--bg-form-color);
    border: 1px solid var(--form-border);
    border-radius: 5px;
    width: 100%;
    padding: 3px 6px;
    display: block
}

.p-form .section-form form input[type=checkbox] {
    background: var(--bg-form-color);
    border: 1px solid var(--form-border);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 2px;
    outline: none;
    width: 14px;
    height: 14px;
    margin: 0 .25em 0 0;
    display: inline-block;
    position: relative
}

.p-form .section-form form input[type=checkbox]:checked:before {
    content: "";
    background: #000;
    width: 5px;
    height: 2px;
    display: block;
    position: absolute;
    top: 6px;
    left: 1px;
    transform: rotate(45deg)
}

.p-form .section-form form input[type=checkbox]:checked:after {
    content: "";
    background: #000;
    width: 2px;
    height: 8px;
    display: block;
    position: absolute;
    bottom: 2px;
    right: 4px;
    transform: rotate(40deg)
}

.p-form .section-form form input[type=radio] {
    background: var(--bg-form-color);
    border: 1px solid var(--form-border);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 500px;
    outline: none;
    width: 14px;
    height: 14px;
    margin: 0 .25em 0 0;
    display: inline-block;
    position: relative
}

.p-form .section-form form input[type=radio]:checked:after {
    content: "";
    background: #000;
    border-radius: 500px;
    width: 8px;
    height: 8px;
    line-height: 1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.p-form .section-form form input[type=file] {
    font-size: var(--font-size-14px);
    margin-top: 5px
}

.p-form .section-form form input[type=file]:first-child {
    margin-top: 0
}

.p-form .section-form form input[type=file]::file-selector-button {
    border: 1px solid #858585;
    border-radius: 3px;
    padding: 3px 5px;
    font-weight: 400
}

.p-form .section-form form textarea {
    box-sizing: border-box;
    background: var(--bg-form-color);
    border: 1px solid var(--form-border);
    border-radius: 5px;
    width: 100%;
    padding: 3px 6px;
    display: block
}

.p-form .section-form form select {
    background: var(--bg-form-color)var(--select-line-icon-arrow)no-repeat right 10px top 50%;
    background-size: auto 7px;
    line-height: 24px
}

.p-form .section-form form .control {
    margin-top: 10px
}

.p-form .section-form form .control ul li+li {
    margin-top: 15px
}

.p-form .section-form fieldset {
    text-align: left;
    border: 0;
    min-inline-size: 0;
    margin: 0;
    padding: 0
}

.p-form .section-form fieldset legend {
    max-width: 100%;
    font-size: var(--font-size-14px);
    white-space: normal;
    border: 0;
    margin: 0;
    padding: 0;
    font-weight: 700
}

.p-form .section-form fieldset legend .required-indicator {
    font-size: var(--font-size-12px);
    color: #fff;
    background: var(--announce-color);
    border-radius: 3px;
    margin-left: 5px;
    padding: 3px 6px;
    font-weight: 700;
    line-height: 1;
    display: inline-block
}

.p-form .section-form fieldset+fieldset {
    margin-top: 15px
}

.p-form .section-form fieldset .answer {
    margin-top: 5px
}

.p-form .section-form fieldset .answer label {
    text-indent: 0;
    margin: 0;
    padding: 0;
    line-height: 1.8;
    display: block
}

.p-form .section-form fieldset .answer label+label {
    margin-top: 5px
}

.p-form .section-form fieldset .answer p {
    font-size: var(--font-size-15px);
    margin-top: 5px
}

.p-form .section-form fieldset .answer .error {
    color: #fff;
    background: var(--announce-color);
    border-radius: 5px;
    padding: 5px 10px;
    display: none
}

.p-form .section-form dl {
    text-align: left;
    margin-top: 15px
}

.p-form .section-form dl dt {
    font-size: var(--font-size-14px);
    font-weight: 700
}

.p-form .section-form dl dt span {
    font-size: var(--font-size-12px);
    color: #fff;
    background: red;
    border-radius: 3px;
    margin-left: 5px;
    padding: 3px 6px;
    font-weight: 700;
    line-height: 1;
    display: inline-block
}

.p-form .section-form dl dd {
    margin-top: 5px
}

.p-form .section-form dl dd .FormError {
    box-sizing: border-box;
    color: #fff;
    background: var(--announce-color);
    border-radius: 5px;
    margin-top: 5px;
    padding: 5px 10px;
    display: none
}

.p-form .section-form .input-mail input[type=email]:last-child {
    margin-top: 5px
}

.p-form .section-form .input-privacy {
    text-align: center;
    margin-top: 15px
}

.p-form .section-form .input-privacy legend {
    font-size: 1rem
}

.p-form .section-form .input-privacy label {
    margin-top: 10px;
    line-height: 1.8;
    display: block
}

.p-form .section-form .terms {
    height: 130px;
    font-size: var(--font-size-12px);
    text-align: left;
    text-align: justify;
    line-break: strict;
    word-break: break-all;
    border: 1px solid #666;
    border-radius: 5px;
    margin-top: 10px;
    padding: 6px 10px;
    overflow: auto
}

.p-form .section-form .terms h3 {
    font-size: var(--font-size-14px);
    margin-top: 25px;
    font-weight: 700
}

.p-form .section-form .terms h3:first-of-type {
    margin-top: 0
}

.p-form .section-form .terms p {
    font-size: var(--font-size-12px);
    margin-top: 7px
}

.p-form .section-form .terms ul,
.p-form .section-form .terms ol {
    margin-top: 7px
}

:is(.p-form .section-form .terms ul, .p-form .section-form .terms ol) li {
    text-indent: -1em;
    padding-left: 1em
}

:is(.p-form .section-form .terms ul, .p-form .section-form .terms ol) li+li {
    margin-top: 3px
}

.p-form .section-form .terms .inquiry {
    margin-top: 7px
}

.p-form .section-form .terms .inquiry dl {
    margin-top: 0
}

.p-form .section-form .terms .inquiry dl dt {
    font-weight: 400
}

.p-form .section-form .notice-text {
    font-size: var(--font-size-12px);
    color: var(--announce-color);
    font-weight: 700
}

.p-form .section-form_confirm dl {
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px
}

.p-form .section-form_confirm dl .preview-image img {
    width: 50%;
    margin: 10px auto 0;
    display: block
}

.p-form .section-form_questionnaire .answer input+label {
    margin-top: 5px
}

.p-form .section-form_questionnaire .input-age .answer label {
    vertical-align: middle
}

.p-form .section-form_questionnaire .input-age .answer label select {
    width: 12em;
    margin-top: .25em;
    display: inline-block
}

.p-form .section-form_questionnaire .input-age .answer label span {
    vertical-align: middle;
    font-size: 1rem
}

.p-form .section-form_questionnaire .next-question {
    color: #fff;
    background-color: #cb333b;
    margin: 20px 0;
    padding: 15px
}

.p-form .section-form_questionnaire .next-question p {
    font-size: var(--font-size-14px);
    margin: 0;
    font-weight: 700
}

.p-finish .section-finish .finish-notice {
    color: #fff;
    background-color: var(--announce-color);
    padding: 15px
}

.p-finish .section-finish .finish-notice h3 {
    font-weight: 700
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form {
    text-align: left
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .answer select {
    line-height: 1.8
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-name .answer {
    justify-content: space-between;
    display: flex
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-name .answer label {
    width: 49%;
    margin: 0
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-zipcode .answer {
    align-items: center;
    display: flex
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-zipcode .answer label {
    margin: 0
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-zipcode .answer label:first-of-type,
:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-zipcode .answer label:nth-of-type(2) {
    width: 72px
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-zipcode .answer span {
    margin: 0 2%
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-zipcode .answer .InputAddressAuto {
    width: 42%;
    font-size: var(--font-size-11px);
    background-color: var(--bg-form-color);
    border: 1px solid #999;
    border-radius: 5px;
    margin-left: 4%;
    line-height: 1.6
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-tel .answer {
    align-items: center;
    display: flex
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-tel .answer label {
    width: 72px;
    margin: 0
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .input-tel .answer span {
    margin: 0 2%
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .error {
    font-size: var(--font-size-12px);
    color: #fff;
    background: var(--announce-color);
    border-radius: 3px;
    margin-top: 5px;
    padding: 3px 6px;
    font-weight: 700;
    line-height: 1
}

:is(.p-form .section-form_sent_input, .p-form .section-form_sent_error) form .control {
    margin-top: 30px
}

.p-form .section-form_sent_confirm form {
    margin-top: 20px
}

.p-form .section-form_sent_confirm form fieldset {
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px
}

.p-form .section-form_sent_confirm form .input-name .answer span {
    width: 0;
    margin: 0 .5rem;
    font-size: 0;
    line-height: 0;
    display: inline-block
}

.p-form .section-form_sent_confirm form .control {
    margin-top: 25px
}

.p-terms .section-terms h3 {
    font-size: var(--font-size-14px);
    text-align: left;
    margin-top: 15px;
    font-weight: 700
}

.p-terms .section-terms h3:first-of-type {
    margin-top: 0
}

.p-terms .section-terms p,
.p-terms .section-terms>ul,
.p-terms .section-terms>ol {
    font-size: var(--font-size-12px);
    text-align: left;
    margin-top: 7px
}

:is(.p-terms .section-terms>ul, .p-terms .section-terms>ol) li {
    text-indent: -1em;
    padding-left: 1em
}

.p-terms .section-terms .inquiry {
    text-align: left;
    margin-top: 7px
}

.p-terms .section-terms .inquiry dd {
    margin-top: 7px
}

.p-terms .section-terms .inquiry li {
    margin-top: 0
}

.p-terms .section-terms .inquiry li+li {
    font-size: var(--font-size-12px);
    text-indent: -1em;
    margin-top: 3px;
    padding-left: 1em
}

@keyframes anim-result-move {
    0% {
        opacity: 0;
        transform: translateY(15px)
    }

    50% {
        opacity: .2
    }

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

:is(.p-check .section-check, .p-win .section-win) .anim-result {
    opacity: 0;
    animation: .4s ease-out .6s forwards anim-result-move
}

:is(.p-check .section-check, .p-win .section-win) .header-balloon.anim-result,
:is(.p-check .section-check, .p-win .section-win) h2.anim-result {
    opacity: 0;
    animation: .4s ease-out .3s forwards anim-result-move
}

:is(.p-check .section-check, .p-win .section-win) .need {
    box-sizing: border-box;
    letter-spacing: -.02em;
    width: 100%;
    height: auto;
    color: var(--key-color);
    border: 1px solid var(--key-color);
    border-radius: 5px;
    margin: 0 auto;
    padding: 20px;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1;
    display: block
}

:is(.p-check .section-check, .p-win .section-win) .giftcode {
    margin-top: 15px
}

:is(.p-check .section-check, .p-win .section-win) .giftcode dd {
    font-size: var(--font-size-20px);
    border: 2px solid #e6e6e6;
    border-radius: 5px;
    margin-top: 10px;
    padding: 5px 0;
    font-weight: 700
}

:is(.p-check .section-check, .p-win .section-win) .menu .notice {
    font-size: var(--font-size-12px);
    text-align: left;
    border: 1px solid var(--txt-color);
    line-break: strict;
    overflow-wrap: anywhere;
    word-break: normal;
    padding: 20px 15px
}

:is(.p-check .section-check, .p-win .section-win) .menu .notice .header {
    font-size: var(--font-size-14px);
    font-weight: 700
}

:is(.p-check .section-check, .p-win .section-win) .menu .notice *+.header {
    margin-top: 15px
}

:is(.p-check .section-check, .p-win .section-win) .menu .notice p,
:is(.p-check .section-check, .p-win .section-win) .menu .notice ul {
    margin-top: 7px
}

:is(.p-check .section-check, .p-win .section-win) .menu .notice ul li {
    text-indent: -1em;
    padding-left: 1em
}

:is(.p-check .section-check, .p-win .section-win) .menu .notice ul li+li {
    margin-top: 0
}

.p-confirm_shop .section-confirm_shop .seal-num {
    justify-content: center;
    align-items: center;
    margin: 20px auto;
    font-weight: 700;
    display: flex
}

.p-confirm_shop .section-confirm_shop .seal-num .seal-amount {
    min-width: 60px;
    height: 60px;
    color: var(--key-color);
    border: 2px solid var(--key-color);
    border-radius: .5em;
    justify-content: center;
    align-items: center;
    margin: 0 .5em;
    font-size: 1.5em;
    display: flex
}

.p-confirm_shop .section-confirm_shop .itemList {
    border-radius: .5em;
    overflow: hidden
}

.p-confirm_shop .section-confirm_shop .itemList li {
    background-color: #eee;
    justify-content: center;
    align-items: center;
    padding: 8px 10px;
    display: flex
}

.p-confirm_shop .section-confirm_shop .itemList li input,
.p-confirm_shop .section-confirm_shop .itemList li select,
.p-confirm_shop .section-confirm_shop .itemList li textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: 0 0;
    border: none;
    outline: none;
    font-family: inherit;
    font-size: 100%
}

.p-confirm_shop .section-confirm_shop .itemList li p {
    box-sizing: border-box;
    text-align: center;
    border: 1px solid var(--key-color);
    background-color: #fff;
    border-radius: .25em;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    height: 42px;
    display: flex
}

.p-confirm_shop .section-confirm_shop .itemList li input[type=number] {
    box-sizing: border-box;
    width: 4em;
    height: 42px;
    font-size: var(--font-size-14px);
    text-align: center;
    border: 1px solid var(--key-color);
    -moz-appearance: textfield;
    background-color: #fff;
    border-radius: .25em;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    display: flex
}

.p-confirm_shop .section-confirm_shop .itemList li input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none
}

.p-confirm_shop .section-confirm_shop .itemList li input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none
}

.p-confirm_shop .section-confirm_shop .itemList li input[type=number]::-moz-placeholder {
    color: #999
}

.p-confirm_shop .section-confirm_shop .itemList li input[type=number]::placeholder {
    color: #999
}

.p-confirm_shop .section-confirm_shop .itemList li .itemList__times {
    font-size: var(--font-size-25px);
    color: var(--key-color);
    flex-shrink: 0;
    margin: 0 .25em
}

.p-confirm_shop .section-confirm_shop .itemList li .itemList__seal {
    width: 3.5em;
    height: 100%;
    font-size: var(--font-size-10px);
    color: var(--btn-color);
    background-color: var(--key-color);
    flex-direction: column;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    line-height: 1;
    display: flex
}

.p-confirm_shop .section-confirm_shop .itemList li .itemList__name {
    font-size: var(--font-size-14px);
    text-align: left;
    flex-grow: 1;
    padding: .75em 1em;
    line-height: 1.2
}

.p-confirm_shop .section-confirm_shop .itemList li+li {
    border-top: 2px solid var(--bg-color)
}

.p-confirm_shop .section-confirm_shop .pointList {
    font-size: var(--font-size-20px);
    text-align: left;
    background: #eee;
    border-radius: .2em;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
    padding: 30px 10px;
    display: flex
}

.p-confirm_shop .section-confirm_shop .pointList li+li {
    margin-top: 15px
}

.p-confirm_shop .section-confirm_shop .modal-shop #submit-btn,
.p-confirm_shop .section-confirm_shop .modal-shop #input-image,
.p-confirm_shop .section-confirm_shop .modal-shop button[type=submit] {
    display: none
}

.p-select-course .section-select-course .prize-list {
    margin-top: 15px
}

.p-select-course .section-select-course .prize-list .prize-list-item .prize-box {
    background-color: var(--bg-color-invert);
    border: 1px solid;
    border-color: var(--border-color);
    border-radius: 5px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 15px 10px;
    display: flex
}

.p-select-course .section-select-course .prize-list .prize-list-item .prize-box figure {
    flex: 4
}

.p-select-course .section-select-course .prize-list .prize-list-item .prize-box table {
    font-size: var(--font-size-11px);
    text-align: left;
    flex: 5;
    margin-left: 1em
}

.p-select-course .section-select-course .prize-list .prize-list-item .prize-box table th,
.p-select-course .section-select-course .prize-list .prize-list-item .prize-box table td {
    padding-top: .2em;
    padding-bottom: .2em
}

.p-select-course .section-select-course .prize-list .prize-list-item .prize-box table th {
    white-space: nowrap;
    padding-right: .5em
}

.p-select-course .section-select-course .prize-list .prize-list-item .prize-box table td {
    width: 100%
}

.p-select-course .section-select-course .prize-list .prize-list-item .prize-box .BtnSolidArrow {
    margin-top: 15px;
    padding-top: .5em;
    padding-bottom: .5em
}

.p-select-course .section-select-course .prize-list .prize-list-item+.prize-list-item {
    margin-top: 10px
}

.p-select-point .section-select-point .prize-box {
    background-color: var(--bg-color-invert);
    border: 1px solid;
    border-color: var(--border-color);
    border-radius: 5px;
    margin-top: 15px;
    padding: 15px 10px
}

.p-select-point .section-select-point .prize-box figure {
    flex: 4
}

.p-select-point .section-select-point .prize-box select {
    box-sizing: border-box;
    width: 100%;
    font-size: var(--font-size-11px);
    background: #eee var(--select-line-icon-arrow)no-repeat right 10px top 50%;
    background-size: auto 7px;
    border: 1px solid #e8e8e8;
    border-radius: 5px;
    margin-top: 15px;
    padding: 3px 23px 3px 6px;
    display: block
}

.p-select-point .section-select-point .prize-box .font-notice {
    font-size: var(--font-size-14px);
    margin-top: 5px;
    display: none
}

.p-select-point .section-select-point .prize-box .BtnSolidArrow {
    margin-top: 15px;
    padding-top: .5em;
    padding-bottom: .5em
}

.p-error .section-error #camera-form .UsersFile,
.p-error .section-error #camera-form button[type=submit] {
    display: none
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}