
@charset "UTF-8";
/*! 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-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
	}

	.\!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-\[100px\] {
		width: 100px
	}

	.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
	}

	.\!pt-2 {
		padding-top: calc(var(--spacing)*2) !important
	}

	.\!pb-0 {
		padding-bottom: calc(var(--spacing)*0) !important
	}

	.\!pl-\[1em\] {
		padding-left: 1em !important
	}

	.pl-\[1em\] {
		padding-left: 1em
	}

	.text-left {
		text-align: left
	}

	.\!-indent-\[1em\] {
		text-indent: -1em !important
	}

	.-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)
	}

	.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)
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: 0 0;
	border: none;
	outline: none;
	font-size: 1rem
}

input[type=text]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
	font-size: var(--font-size-13px);
	color: var(--txt-placeholder-color)
}

input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
select::placeholder,
textarea::placeholder {
	font-size: var(--font-size-13px);
	color: var(--txt-placeholder-color)
}

input[type=text],
input[type=email],
input[type=tel],
input[type=file],
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
}

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
}

input[type=checkbox]:checked:before {
	content: "";
	background: #000;
	width: 5px;
	height: 2px;
	display: block;
	position: absolute;
	top: 6px;
	left: 1px;
	transform: rotate(45deg)
}

input[type=checkbox]:checked:after {
	content: "";
	background: #000;
	width: 2px;
	height: 8px;
	display: block;
	position: absolute;
	bottom: 2px;
	right: 4px;
	transform: rotate(40deg)
}

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
}

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%)
}

input[type=file] {
	font-size: var(--font-size-14px);
	margin-top: 5px
}

input[type=file]:first-child {
	margin-top: 0
}

input[type=file]::file-selector-button {
	border: 1px solid #858585;
	border-radius: 3px;
	padding: 3px 5px;
	font-weight: 400
}

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
}

select {
	background: var(--bg-form-color)var(--select-line-icon-arrow)no-repeat right 10px top 50%;
	background-size: auto 7px;
	line-height: 24px
}

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(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_arrow_reverse_wh.svg);
}

.BtnLineArrow._disabled,
.BtnSolidArrow._disabled,
.BtnSolidBlank._disabled,
.accordion._disabled {
	cursor: default;
	pointer-events: none;
	background-image: url(https://lsp-campaign.com/koreichi-receiptcp-2/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: #e60012;
	--announce-color: #da2129;
	--border-color: #b3b3b3;
	--btn-color: #fff;
	--btn-disabled-color: #737373;
    --btn-solid-icon-arrow: url(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_arrow_wh.svg);
    --btn-solid-icon-blank: url(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_blank_wh.svg);
    --btn-solid-icon-plus: url(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_plus_wh.svg);
    --btn-solid-icon-minus: url(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_minus_wh.svg);
    --btn-line-icon-arrow: url(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_arrow_bk.svg);
    --btn-line-icon-arrow-wh: url(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_arrow_wh.svg);
    --btn-line-icon-reverse: url(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_arrow_reverse_bk.svg);
    --btn-line-icon-reverse-wh: url(..https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_arrow_reverse_wh.svg);
    --select-line-icon-arrow: url(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_arrow_select.svg);
    --btn-line-icon-qr: url(https://lsp-campaign.com/koreichi-receiptcp-2/images/icon_qrscan_bk.svg);
    --btn-line-icon-arrow-bk: url(https://lsp-campaign.com/koreichi-receiptcp-2/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 .section .header-boundary {
	font-size: var(--font-size-20px);
	border-bottom: 4px solid var(--key-color);
	margin: 55px -35px 0;
	padding-bottom: 15px;
	font-weight: 700
}

.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-outline {
	font-size: var(--font-size-12px);
	padding: 20px
}

.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 dl {
	margin-top: 0
}

.accordion .accordion-content .inquiry dl dt {
	font-weight: 400
}

.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: calc(100% - 70px);
	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;
	font-weight: 700;
	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
}

:is(.modal-point, .modal-tomato) .modal-inner {
	width: calc(100% - 60px);
	color: var(--key-color);
	padding: 70px 20px
}

:is(.modal-point, .modal-tomato) .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 .sticker-box {
	margin-bottom: 30px;
	margin-left: 20px;
	margin-right: 20px
}

.p-history .section-history .sticker-box .current-list {
	justify-content: space-between;
	display: flex
}

.p-history .section-history .sticker-box .current-list li {
	width: 40%;
	padding: 4px
}

@media(max-width:360px) {
	.p-history .section-history .sticker-box .current-list li {
		width: 47%
	}
}

.p-history .section-history .sticker-box .current-list li dl dt {
	font-size: var(--font-size-14px);
	color: #fff;
	padding: 4px;
	font-weight: 700
}

.p-history .section-history .sticker-box .current-list li dl dd {
	line-break: strict;
	word-break: break-all;
	background: #fff;
	border-radius: 0 0 10px 10px;
	padding: 10px;
	font-family: Helvetica Neue, Helvetica, sans-serif;
	font-size: 2.625rem;
	font-weight: 700;
	line-height: .8
}

.p-history .section-history .sticker-box .current-list .sticker-koreichi {
	background: #f49800;
	border-radius: 10px
}

.p-history .section-history .sticker-box .current-list .sticker-tomato {
	background: #e60012;
	border-radius: 10px
}

.p-history .section-history .sticker-box .sticker-total {
	margin-top: 20px
}

.p-history .section-history .sticker-box .sticker-total dt {
	font-size: var(--font-size-18px);
	font-weight: 700
}

.p-history .section-history .sticker-box .sticker-total dd {
	box-sizing: border-box;
	min-width: 150px;
	color: var(--key-color);
	border: 2px solid var(--key-color);
	border-radius: 10px;
	margin-top: 5px;
	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-history .section-history .sticker-box .sticker-total dd:after {
	color: var(--key-color);
	content: "ポイント";
	font-size: 1.125rem;
	font-weight: 700;
	position: absolute;
	bottom: 0;
	right: -4.5em
}

.p-history .section-history .sticker-box .sticker-total .unit-point:after {
	content: "ポイント"
}

.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 .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:first-of-type {
	margin-top: 0
}

: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 {
	font-size: var(--font-size-12px);
	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;
	text-align: center;
	border: 1px solid var(--key-color);
	-moz-appearance: textfield;
	background-color: #fff;
	border-radius: .25em;
	justify-content: center;
	align-items: center;
	width: 4em;
	height: 42px;
	font-size: 1.2em;
	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 {
	color: var(--key-color);
	flex-shrink: 0;
	margin: 0 .25em;
	font-size: 1.6em
}

.p-confirm_shop .section-confirm_shop .itemList li .itemList__seal {
	width: 3.5em;
	height: 100%;
	color: var(--btn-color);
	background-color: var(--key-color);
	flex-direction: column;
	flex-shrink: 0;
	justify-content: center;
	align-items: center;
	font-size: .7em;
	line-height: 1;
	display: flex
}

.p-confirm_shop .section-confirm_shop .itemList li .itemList__seal span:first-of-type {
	font-size: 1.2em
}

.p-confirm_shop .section-confirm_shop .itemList li .itemList__seal span:nth-of-type(2) {
	font-weight: 400
}

.p-confirm_shop .section-confirm_shop .itemList li .itemList__name {
	text-align: left;
	flex-grow: 1;
	padding: .75em 1em;
	font-size: .9em;
	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-confirm_shop .section-confirm_shop .modal-shop.is-default .only-default {
	display: block
}

.p-confirm_shop .section-confirm_shop .modal-shop.is-default .only-tomato {
	display: none
}

.p-confirm_shop .section-confirm_shop .modal-shop.is-tomato .seal-num {
	margin-top: 0
}

.p-confirm_shop .section-confirm_shop .modal-shop.is-tomato .only-default {
	display: none
}

.p-confirm_shop .section-confirm_shop .modal-shop.is-tomato .only-tomato {
	display: block
}

.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-course-seal .section-select-course-seal .point {
	margin-top: 15px
}

.p-select-course-seal .section-select-course-seal .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-select-course-seal .section-select-course-seal .point .point-now:after {
	color: var(--key-color);
	content: "ポイント";
	font-size: 1.125rem;
	font-weight: 700;
	position: absolute;
	bottom: 0;
	right: -4.5em
}

.p-select-course-seal .section-select-course-seal .point .unit-point:after {
	content: "ポイント"
}

.p-select-course-seal .section-select-course-seal .prize-list {
	margin-top: 15px
}

.p-select-course-seal .section-select-course-seal .prize-list .prize-list-item .course-title {
	font-size: 1.12rem;
	font-weight: 700
}

.p-select-course-seal .section-select-course-seal .prize-list .prize-list-item .dot-title {
	margin-top: 10px
}

.p-select-course-seal .section-select-course-seal .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;
	margin-top: 10px;
	padding: 15px 10px;
	display: flex
}

.p-select-course-seal .section-select-course-seal .prize-list .prize-list-item .prize-box .BtnSolidArrow {
	margin-top: 15px;
	padding-top: .5em;
	padding-bottom: .5em
}

.p-select-course-seal .section-select-course-seal .prize-list .prize-list-item .prize-detail {
	font-size: var(--font-size-12px);
	text-align: left;
	margin-top: 10px
}

.p-select-course-seal .section-select-course-seal .prize-list .prize-list-item+.prize-list-item {
	margin-top: 30px
}

.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
}

.p-select-shop .store-list {
	padding: 0 10px
}

.p-select-shop .store-list li {
	text-align: left
}

.p-select-shop .store-list li+li {
	margin-top: 10px
}

.p-select-shop .store-list label {
	cursor: pointer
}

.p-quiz .quiz-list {
	margin-top: 25px;
	padding: 0 10px
}

.p-quiz .quiz-list li {
	text-align: left
}

.p-quiz .quiz-list li+li {
	margin-top: 10px
}

.p-quiz .quiz-list label {
	cursor: pointer
}

@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
}