@charset "utf-8";
@import "//cdn.jsdelivr.net/npm/destyle.css@4.0.1/destyle.min.css";
@import "//cdn.jsdelivr.net/npm/simplebar@latest/dist/simplebar.css";
@import "//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap";
@import "//cdn.jsdelivr.net/npm/yakuhanjp@4.0.1/dist/css/yakuhanjp.css";
@import "//fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap";

:root {
	--vw: 1vw;
	--vh: 1vh
}

*:focus {
	outline: none
}

html {
	height: 100%;
	width: 100%
}

@media screen and (min-width: 1400px) {
	html {
		font-size: 62.5%
	}
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
	html {
		font-size: calc(var(--vw)*100/1400*10)
	}
}

@media screen and (max-width: 767px) {
	html {
		font-size: calc(var(--vw)*100/375*10)
	}
}

body {
	background: #f7f7f7;
	display: flex;
	flex-direction: column;
	font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
	font-weight: 500;
	height: 100%;
	overflow-x: hidden;
	touch-action: manipulation
}

body:not(.is-visible) {
	visibility: hidden
}

body.is-modal-visible {
	overflow: hidden;
	padding-right: var(--scrollbar-width)
}

@font-face {
	font-display: block;
	font-family: icomoon;
	font-style: normal;
	font-weight: normal;
	src: url("/common/fonts/icomoon.ttf?v=20240327") format("truetype"), url("/common/fonts/icomoon.woff?v=20240327") format("woff"), url("/common/fonts/icomoon.svg?v=20240327#IcoMoon") format("svg")
}

.l-content {
	flex-grow: 1
}

@media screen and (min-width: 768px) {
	.l-content {
		margin-left: calc(50% - var(--vw)*50);
		margin-right: calc(50% - var(--vw)*50);
		width: calc(var(--vw)*100)
	}
}

@media screen and (max-width: 767px) {
	.l-content {
		margin-left: calc(50% - var(--vw)*50);
		margin-right: calc(50% - var(--vw)*50);
		width: calc(var(--vw)*100)
	}
}

@media screen and (min-width: 1400px) {
	.l-content {
		padding-left: calc((var(--vw)*100 - 120rem)/2);
		padding-right: calc((var(--vw)*100 - 120rem)/2)
	}
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
	.l-content {
		padding-left: max((var(--vw) * 100 - 120rem) / 2, 10rem);
		padding-right: max((var(--vw) * 100 - 120rem) / 2, 10rem)
	}
}

@media screen and (max-width: 767px) {
	.l-content {
		padding-left: 2.75rem;
		padding-right: 2.75rem
	}
}

.l-content>:first-child {
	margin-top: 0 !important
}

.l-content>:last-child {
	margin-bottom: 0 !important
}

body:not(.-error) .l-content {
	padding-bottom: 7rem
}

body.-error .l-content {
	align-items: center;
	display: flex
}

@media screen and (min-width: 768px) {
	body.-error .l-content {
		padding-bottom: 7rem
	}
}

@media screen and (max-width: 767px) {
	body.-error .l-content {
		padding-bottom: 4rem
	}
}

.l-footer {
	align-items: center;
	background: #313131;
	color: #a3a3a3;
	display: flex;
	flex-shrink: 0;
	font-family: Inter, sans-serif;
	font-size: 1rem;
	height: 4rem;
	justify-content: center
}

.l-header,
.l-header__text {
	align-items: center;
	display: flex;
	justify-content: center
}

.l-header {
	background: #000;
	color: #fff;
	flex-shrink: 0;
	font-weight: bold;
	overflow: hidden
}

@media screen and (min-width: 768px) {
	.l-header {
		font-size: 4rem;
		height: 13rem;
		line-height: 5.8rem;
		margin-bottom: 7rem
	}
}

@media screen and (max-width: 767px) {
	.l-header {
		font-size: 2.6rem;
		height: 13.8rem;
		line-height: 3.7rem;
		margin-bottom: 3rem
	}
}

@media screen and (min-width: 768px) {
	body:not(.-error) .l-header {
		font-size: 4rem
	}
}

@media screen and (max-width: 767px) {
	body:not(.-error) .l-header {
		font-size: 2.6rem
	}
}

body.-error .l-header {
	font-family: Inter, sans-serif
}

@media screen and (min-width: 768px) {
	body.-error .l-header {
		font-size: 4.4rem
	}
}

@media screen and (max-width: 767px) {
	body.-error .l-header {
		font-size: 3rem
	}
}

@media screen and (min-width: 768px) {
	.l-header__text {
		margin-left: calc(50% - var(--vw)*50);
		margin-right: calc(50% - var(--vw)*50);
		width: calc(var(--vw)*100)
	}
}

@media screen and (max-width: 767px) {
	.l-header__text {
		margin-left: calc(50% - var(--vw)*50);
		margin-right: calc(50% - var(--vw)*50);
		width: calc(var(--vw)*100)
	}
}

@media screen and (min-width: 1400px) {
	.l-header__text {
		padding-left: calc((var(--vw)*100 - 120rem)/2);
		padding-right: calc((var(--vw)*100 - 120rem)/2)
	}
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
	.l-header__text {
		padding-left: max((var(--vw) * 100 - 120rem) / 2, 10rem);
		padding-right: max((var(--vw) * 100 - 120rem) / 2, 10rem)
	}
}

@media screen and (max-width: 767px) {
	.l-header__text {
		padding-left: 2.75rem;
		padding-right: 2.75rem
	}
}

.l-header__image+.l-header__text {
	display: none
}

.c-button {
	align-items: center;
	border: .1rem solid;
	border-radius: .4rem;
	cursor: pointer;
	display: flex;
	font-size: 1.6rem;
	font-weight: bold;
	height: 4rem;
	justify-content: center;
	line-height: 2.6rem;
	padding-bottom: .1rem;
	transition-duration: .3s;
	transition-property: background, border, color;
	width: 11.5rem
}

.c-button.-dark,
.p-index-vote__section:not(.is-expand) .p-index-vote__footer .c-button,
.p-index-vote__item-checkbox:not(:checked)~* .c-button.p-index-vote__item-button {
	background: #313131;
	border-color: #313131;
	color: #fff
}

.c-button.-dark:hover,
.p-index-vote__section:not(.is-expand) .p-index-vote__footer .c-button:hover,
.p-index-vote__item-checkbox:not(:checked)~* .c-button.p-index-vote__item-button:hover {
	background: #fff;
	border-color: #b7b7b7;
	color: inherit
}

.c-button.-light,
.p-index-vote__section.is-expand .p-index-vote__footer .c-button,
.p-index-vote__item-checkbox:checked~* .c-button.p-index-vote__item-button {
	border-color: #b7b7b7
}

.c-button.-light:hover,
.p-index-vote__section.is-expand .p-index-vote__footer .c-button:hover,
.p-index-vote__item-checkbox:checked~* .c-button.p-index-vote__item-button:hover {
	background: #313131;
	border-color: #313131;
	color: #fff
}

.c-heading {
	border-top: .4rem solid #000;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 3.4rem;
	margin-bottom: 4rem;
	padding-top: 2rem
}

@media screen and (min-width: 768px) {
	.c-heading {
		margin-top: 7rem
	}
}

@media screen and (max-width: 767px) {
	.c-heading {
		margin-top: 5rem
	}
}

.c-modal {
	align-items: center;
	background: rgba(0, 0, 0, .7);
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition-duration: .3s;
	transition-property: opacity, visibility;
	z-index: 1000
}

@media screen and (min-width: 768px) {
	.c-modal {
		padding: 6rem
	}
}

@media screen and (max-width: 767px) {
	.c-modal {
		padding: 2rem
	}
}

.c-modal:not(.is-visible) {
	opacity: 0;
	visibility: hidden
}

.c-modal.is-visible {
	opacity: 1;
	visibility: visible
}

.c-modal__container {
	background: #fff;
	border-radius: .6rem;
	display: flex;
	flex-direction: column;
	max-height: 100%;
	max-width: 100%;
	position: relative
}

@media screen and (min-width: 768px) {
	.c-modal__container {
		padding: 5rem 6rem;
		width: 80rem
	}
}

@media screen and (max-width: 767px) {
	.c-modal__container {
		padding: 4rem 3rem;
		width: 100%
	}
}

.c-modal.is-visible .c-modal__container {
	margin-right: calc(var(--scrollbar-width))
}

@media screen and (min-width: 768px) {
	.c-modal.-error .c-modal__container {
		padding: 4rem;
		width: 40rem
	}
}

@media screen and (max-width: 767px) {
	.c-modal.-error .c-modal__container {
		padding: 4rem 3rem
	}
}

.c-modal__container>:not(.c-scroll) {
	flex-shrink: 0
}

.c-modal__close {
	align-items: center;
	aspect-ratio: 1;
	border-radius: 50%;
	display: flex;
	font-size: 1.8rem;
	justify-content: center;
	position: absolute;
	transition-duration: .3s;
	transition-property: background, color;
	width: 4rem
}

@media screen and (min-width: 768px) {
	.c-modal__close {
		right: 1.1rem;
		top: 1.1rem
	}
}

@media screen and (max-width: 767px) {
	.c-modal__close {
		right: .1rem;
		top: .1rem
	}
}

.c-modal__close::before {
	content: "\e903";
	font-family: "icomoon" !important;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1;
	text-align: center
}

.c-modal__close:hover {
	background: #000;
	color: #fff
}

.c-modal__heading {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 3.4rem;
	margin-bottom: 3rem;
	text-align: center
}

@media screen and (min-width: 768px) {
	.c-modal__heading {
		margin-bottom: 5rem
	}
}

@media screen and (max-width: 767px) {
	.c-modal__heading {
		margin-bottom: 3rem
	}
}

.c-modal.-error .c-modal__heading {
	color: #ff8901
}

@media screen and (max-width: 767px) {
	.c-modal.-error .c-modal__heading {
		font-size: 2rem;
		line-height: 3rem;
		margin-bottom: 3rem
	}
}

.c-modal__content {
	margin-bottom: 3rem
}

@media screen and (min-width: 768px) {
	.c-modal__content.c-scroll {
		margin-right: -3.5rem;
		padding-right: 2.5rem
	}
}

@media screen and (max-width: 767px) {
	.c-modal__content.c-scroll {
		margin-right: -1.3rem;
		padding-right: 1.6rem
	}
}

.c-modal__button {
	align-self: center
}

.c-modal__error {
	font-size: 1.4rem;
	line-height: 2.4rem;
	margin-bottom: 3rem
}

.c-picture {
	display: table;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 100%
}

@media screen and (min-width: 1400px) {
	.c-picture {
		max-width: var(--width-pc, var(--width-no-tb, var(--width-no-sp, var(--width, calc(var(--vw) * 100)))))
	}
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
	.c-picture {
		max-width: var(--width-tb, var(--width-no-pc, var(--width-no-sp, var(--width, calc(var(--vw) * 100)))))
	}
}

@media screen and (max-width: 767px) {
	.c-picture {
		max-width: var(--width-sp, var(--width-no-pc, var(--width-no-tb, var(--width, calc(var(--vw) * 100)))))
	}
}

.c-picture.-circle {
	border-radius: 50%;
	overflow: hidden
}

.c-picture__image {
	display: block
}

@media screen and (min-width: 1400px) {
	.c-picture__image {
		height: var(--height-pc, var(--height-no-tb, var(--height-no-sp, var(--height, 100%))))
	}
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
	.c-picture__image {
		height: var(--height-tb, var(--height-no-pc, var(--height-no-sp, var(--height, 100%))))
	}
}

@media screen and (max-width: 767px) {
	.c-picture__image {
		height: var(--height-sp, var(--height-no-pc, var(--height-no-tb, var(--height, 100%))))
	}
}

.c-picture__image:not([width]) {
	width: 100%
}

.c-picture__image[width] {
	height: auto;
	max-width: 100%
}

.c-picture__image:not(.-contain) {
	-o-object-fit: cover;
	object-fit: cover
}

.c-picture__image.-contain {
	-o-object-fit: contain;
	object-fit: contain
}

.c-scroll {
	overflow-y: auto
}

.c-scroll::-webkit-scrollbar {
	background: #e2e2e2;
	border-radius: 100rem;
	width: .8rem
}

.c-scroll::-webkit-scrollbar-thumb {
	background: #000;
	border-radius: 100rem;
	-webkit-transition: background .3s;
	transition: background .3s
}

.c-scroll::-webkit-scrollbar-thumb:hover {
	background: #bebebe
}

.c-step {
	display: flex;
	font-weight: bold;
	text-align: center
}

@media screen and (min-width: 768px) {
	.c-step.-page {
		font-size: 1.6rem;
		line-height: 2.6rem;
		margin-bottom: 6rem;
		margin-top: 6rem;
		position: relative
	}

	.c-step.-page::before {
		content: "STEP";
		font-family: Inter, sans-serif;
		font-size: 1.4rem;
		left: 0;
		line-height: 1;
		position: absolute;
		top: 1.7rem
	}
}

@media screen and (max-width: 767px) {
	.c-step.-page {
		font-size: 1.2rem;
		line-height: 2.2rem;
		margin-bottom: 3rem;
		margin-top: 3rem
	}
}

.c-step.-category {
	color: #fff;
	justify-content: center
}

@media screen and (min-width: 768px) {
	.c-step.-category {
		margin-bottom: 2rem;
		margin-top: 2rem
	}
}

@media screen and (max-width: 767px) {
	.c-step.-category {
		flex-wrap: wrap;
		margin-bottom: 3rem;
		margin-right: -0.1rem;
		margin-top: 3rem;
		row-gap: 2rem;
		width: calc(100% + .1rem)
	}
}

.c-step__item {
	display: flex
}

.c-step.-page .c-step__item {
	color: #8b8b8b;
	position: relative
}

@media screen and (min-width: 768px) {
	.c-step.-page .c-step__item:not(:last-child) {
		margin-right: -4.5rem
	}
}

@media screen and (max-width: 767px) {
	.c-step.-page .c-step__item:not(:last-child) {
		margin-right: -2.25rem
	}
}

.c-step.-page .c-step__item:not(:first-child) {
	flex-grow: 1
}

@media screen and (min-width: 768px) {

	.c-step.-page .c-step__item::before,
	.c-step.-page .c-step__item:last-child::after {
		background: #d9d9d9;
		content: "";
		height: .8rem;
		margin-top: 4.2rem;
		position: relative;
		z-index: -1
	}

	.c-step.-page .c-step__item::before {
		margin-right: -4.5rem
	}

	.c-step.-page .c-step__item:first-child::before,
	.c-step.-page .c-step__item:last-child::after {
		border-radius: 100rem;
		width: 15.5rem
	}

	.c-step.-page .c-step__item:not(:first-child)::before {
		flex-grow: 1
	}

	.c-step.-page .c-step__item:last-child::after {
		margin-left: -4.5rem
	}
}

@media screen and (max-width: 767px) {
	.c-step.-page .c-step__item::before {
		margin-right: -2.25rem
	}

	.c-step.-page .c-step__item:not(:first-child)::before {
		background: #d9d9d9;
		content: "";
		flex-grow: 1;
		height: .8rem;
		margin-top: 1.8rem;
		position: relative;
		z-index: -1
	}
}

.c-step.-page .c-step__item:not(.is-current~*) {
	color: #000
}

.c-step.-page .c-step__item:not(.is-current~*)::before {
	background: #000
}

.c-step.-category .c-step__item {
	align-items: center
}

@media screen and (min-width: 768px) {
	.c-step.-category .c-step__item:not(:first-child)::before {
		background: #d9d9d9;
		content: "";
		height: .8rem;
		width: 5.5555555556rem
	}

	.c-step.-category .c-step__item:not(:first-child):not(.is-current~*)::before {
		background: #000
	}
}

@media screen and (max-width: 767px) {
	.c-step.-category .c-step__item:nth-child(5):not(:last-child) {
		margin-right: -2.75rem
	}

	.c-step.-category .c-step__item:nth-child(6) {
		margin-left: -2.75rem
	}

	.c-step.-category .c-step__item:nth-child(n+6):last-child {
		margin-right: auto
	}

	.c-step.-category .c-step__item:not(:first-child)::before,
	.c-step.-category .c-step__item:nth-child(5):not(:last-child):after {
		background: #d9d9d9;
		content: "";
		height: .8rem
	}

	.c-step.-category .c-step__item:not(:first-child):not(:nth-child(6)):before {
		width: 1rem
	}

	.c-step.-category .c-step__item:nth-child(5):not(:last-child):after,
	.c-step.-category .c-step__item:nth-child(6):before {
		width: 2.75rem
	}

	.c-step.-category .c-step__item:not(:first-child):not(.is-current~*)::before,
	.c-step.-category .c-step__item:nth-child(5):not(:last-child):not(.is-current~*):not(.is-current)::after {
		background: #000
	}
}

.c-step.-page .c-step__text {
	margin-left: -1rem;
	margin-right: -1rem
}

@media screen and (min-width: 768px) {
	.c-step.-page .c-step__text {
		width: 11rem
	}
}

@media screen and (max-width: 767px) {
	.c-step.-page .c-step__text {
		width: 6.5rem
	}
}

.c-step.-page .c-step__text::before {
	aspect-ratio: 1;
	background: #d9d9d9 50% 50%/contain no-repeat;
	border-radius: 50%;
	content: "";
	display: block;
	margin-bottom: 1rem;
	margin-left: 1rem;
	margin-right: 1rem
}

.c-step.-page .c-step__item:not(.is-current~*) .c-step__text::before {
	background-color: #000
}

.c-step.-page .c-step__item:last-child.is-current .c-step__text::before {
	background-color: #ff8901
}

@media screen and (min-width: 768px) {
	.c-step.-page .c-step__item.-index .c-step__text::before {
		background-image: url(/common/images/step-01.svg)
	}
}

@media screen and (max-width: 767px) {
	.c-step.-page .c-step__item.-index .c-step__text::before {
		background-image: url(/common/images/step-01-sp.svg)
	}
}

@media screen and (min-width: 768px) {
	.c-step.-page .c-step__item.-input .c-step__text::before {
		background-image: url(/common/images/step-02.svg)
	}
}

@media screen and (max-width: 767px) {
	.c-step.-page .c-step__item.-input .c-step__text::before {
		background-image: url(/common/images/step-02-sp.svg)
	}
}

@media screen and (min-width: 768px) {
	.c-step.-page .c-step__item.-confirm .c-step__text::before {
		background-image: url(/common/images/step-03.svg)
	}
}

@media screen and (max-width: 767px) {
	.c-step.-page .c-step__item.-confirm .c-step__text::before {
		background-image: url(/common/images/step-03-sp.svg)
	}
}

@media screen and (min-width: 768px) {
	.c-step.-page .c-step__item.-thanks .c-step__text::before {
		background-image: url(/common/images/step-04.svg)
	}
}

@media screen and (max-width: 767px) {
	.c-step.-page .c-step__item.-thanks .c-step__text::before {
		background-image: url(/common/images/step-04-sp.svg)
	}
}

.c-step.-category .c-step__text {
	align-items: center;
	background: #d9d9d9;
	border-radius: .6rem;
	display: flex;
	flex-direction: column;
	font-family: Inter, sans-serif;
	font-size: 2.6rem;
	line-height: 3.5rem
}

@media screen and (min-width: 768px) {
	.c-step.-category .c-step__text {
		height: 5.6rem;
		padding-top: .6rem;
		width: 7rem
	}
}

@media screen and (max-width: 767px) {
	.c-step.-category .c-step__text {
		height: 5.4rem;
		padding-top: .5rem;
		width: 5.6rem
	}
}

.c-step.-category .c-step__text::before {
	content: "設問";
	font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
	line-height: 1;
	margin-top: .3rem
}

@media screen and (min-width: 768px) {
	.c-step.-category .c-step__text::before {
		font-size: 1rem;
		margin-bottom: -0.3rem
	}
}

@media screen and (max-width: 767px) {
	.c-step.-category .c-step__text::before {
		font-size: .9rem;
		margin-bottom: -0.2rem
	}
}

.c-step.-category .c-step__item:not(.is-current~*) .c-step__text {
	background-color: #000;
	color: #fff
}

.f-checkbox {
	cursor: pointer;
	display: table;
	position: relative;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.f-checkbox__input {
	display: none
}

.f-checkbox__control {
	align-items: center;
	aspect-ratio: 1;
	background: #fff;
	border: .1rem solid #d9d9d9;
	color: #f7f7f7;
	display: flex;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3.2rem
}

.f-checkbox__control::before {
	background: #d9d9d9;
	transition-duration: .3s;
	transition-property: background, color
}

.f-checkbox__input:checked~.f-checkbox__control::before {
	background: #000;
	color: #000
}

.f-checkbox__label {
	align-items: center;
	display: flex;
	min-height: 3.2rem;
	padding-left: 4.2rem;
	vertical-align: middle
}

.f-checkbox__control {
	border-radius: .6rem
}

.f-checkbox__control::before {
	background: none;
	content: "\e902";
	font-family: "icomoon" !important;
	font-size: 1.8rem;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1;
	text-align: center
}

.f-checkbox__input:checked~.f-checkbox__control::before {
	background: none
}

.f-input {
	position: relative
}

.f-input__input {
	background: #fff;
	border: .1rem solid #d9d9d9;
	border-radius: .6rem;
	height: 4rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem
}

@media screen and (min-width: 768px) {
	.f-input__input {
		font-size: 1.4rem
	}
}

@media screen and (max-width: 767px) {
	.f-input__input {
		font-size: 1.6rem
	}
}

.f-radio {
	cursor: pointer;
	display: table;
	position: relative;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.f-radio__input {
	display: none
}

.f-radio__control {
	align-items: center;
	aspect-ratio: 1;
	background: #fff;
	border: .1rem solid #d9d9d9;
	color: #f7f7f7;
	display: flex;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3.2rem
}

.f-radio__control::before {
	background: #d9d9d9;
	transition-duration: .3s;
	transition-property: background, color
}

.f-radio__input:checked~.f-radio__control::before {
	background: #000;
	color: #000
}

.f-radio__label {
	align-items: center;
	display: flex;
	min-height: 3.2rem;
	padding-left: 4.2rem;
	vertical-align: middle
}

.f-radio__control {
	border-radius: 50%
}

.f-radio__control::before {
	aspect-ratio: 1;
	border-radius: 50%;
	content: "";
	width: 1.6rem
}

.f-select {
	background: #fff;
	border: .1rem solid #d9d9d9;
	border-radius: .6rem;
	cursor: pointer;
	display: table;
	position: relative
}

.f-select::before {
	content: "\e900";
	font-family: "icomoon" !important;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1;
	line-height: .8rem;
	position: absolute;
	right: 1.6rem;
	text-align: center;
	top: 50%;
	transform: translateY(-50%) rotate(90deg)
}

.f-select__select {
	height: 4rem;
	padding-left: 1.6rem;
	padding-right: 4.7rem;
	position: relative;
	z-index: 1
}

@media screen and (min-width: 768px) {
	.f-select__select {
		font-size: 1.4rem
	}
}

@media screen and (max-width: 767px) {
	.f-select__select {
		font-size: 1.6rem
	}
}

.f-textarea {
	background: #fff;
	border: .1rem solid #d9d9d9;
	border-radius: .6rem;
	font-size: 1.4rem;
	padding: 1rem 1.5rem;
	resize: none;
	width: 100%
}

@media screen and (min-width: 768px) {
	.f-textarea {
		font-size: 1.4rem
	}
}

@media screen and (max-width: 767px) {
	.f-textarea {
		font-size: 1.6rem
	}
}

.u-color-red {
	color: red !important
}

.u-none {
	display: none !important
}

@media screen and (min-width: 1400px) {
	.u-none-pc {
		display: none !important
	}
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
	.u-none-tb {
		display: none !important
	}
}

@media screen and (max-width: 767px) {
	.u-none-sp {
		display: none !important
	}
}

@media screen and (max-width: 1399px) {
	.u-none-no-pc {
		display: none !important
	}
}

@media screen and (max-width: 767px),
screen and (min-width: 1400px) {
	.u-none-no-tb {
		display: none !important
	}
}

@media screen and (min-width: 768px) {
	.u-none-no-sp {
		display: none !important
	}
}

.p-error {
	font-weight: bold;
	text-align: center;
	width: 100%
}

.p-error__heading {
	color: #ff8901;
	font-family: Inter, sans-serif;
	margin-bottom: 4rem
}

.p-error__heading>* {
	display: block
}

.p-error__heading-number {
	font-size: 10rem;
	line-height: 11rem
}

.p-error__heading-message {
	font-size: 2rem;
	line-height: 3rem
}

.p-error__content {
	font-size: 2.4rem;
	line-height: 3.4rem
}

@media screen and (min-width: 768px) {
	.p-error__content {
		margin-bottom: 8rem
	}
}

@media screen and (max-width: 767px) {
	.p-error__content {
		margin-bottom: 6rem
	}
}

.p-error__button {
	align-items: center;
	background: #313131;
	border: .1rem solid;
	border-color: #313131;
	color: #fff;
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	transition-duration: .3s;
	transition-property: background, border, color
}

@media screen and (min-width: 768px) {
	.p-error__button {
		font-size: 2rem;
		height: 7rem;
		line-height: 3rem;
		width: 30rem
	}
}

@media screen and (max-width: 767px) {
	.p-error__button {
		font-size: 1.4rem;
		height: 5rem;
		line-height: 2.4rem;
		width: 100%
	}
}

.p-error__button:hover {
	background: #fff;
	border-color: #b7b7b7;
	color: inherit
}

.p-form-cart {
	font-size: 1.4rem;
	line-height: 2.4rem
}

.p-form-cart .c-heading {
	margin-top: 0
}

@media screen and (min-width: 768px) {
	.p-form-cart__list {
		display: grid;
		gap: 3rem;
		grid-template-columns: repeat(2, 1fr)
	}
}

.p-form-cart__item {
	display: grid;
	gap: 2rem;
	grid-template-columns: 9rem 1fr
}

@media screen and (max-width: 767px) {
	.p-form-cart__item+.p-form-cart__item {
		margin-top: 3rem
	}
}

.p-form-cart__item .c-picture {
	aspect-ratio: 1;
	border-radius: .6rem;
	display: block;
	overflow: hidden
}

.p-form-cart__item-category {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2.6rem;
	margin-bottom: .5rem
}

.p-form-cart__item-number {
	font-family: Inter, sans-serif;
	margin-left: .5rem
}

.p-form-survey {
	font-size: 1.4rem;
	line-height: 2.4rem
}

.p-form-survey .f-input__input {
	margin-right: 1rem;
	width: 12rem
}

.p-form-survey .f-textarea {
	height: 26rem
}

@media screen and (min-width: 768px) {
	.p-form-survey .f-textarea {
		width: 68rem
	}
}

.p-form-survey__require {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 2.2rem;
	margin-top: -2rem
}

.p-form-survey__error {
	background: #fff;
	border: .4rem solid #ff8901;
	border-radius: .6rem;
	color: #ff8901;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2.6rem;
	margin-bottom: 4rem;
	margin-top: 4rem;
	padding: 2.6rem 1.6rem
}

.p-form-survey__error:not(.is-visible) {
	display: none
}

.p-form-survey__error-item {
	padding-left: 1em;
	position: relative
}

.p-form-survey__error-item+.p-form-survey__error-item {
	margin-top: 1rem
}

.p-form-survey__error-item::before {
	content: "・";
	left: 0;
	position: absolute;
	top: 0
}

.p-form-survey__section {
	border-top: .1rem solid #707070;
	margin-top: 3rem;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 3rem
}

.p-form-survey__heading {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.8rem;
	margin-bottom: 2rem
}

.p-form-survey__heading.-require {
	position: relative
}

.p-form-survey__heading.-require::before {
	color: red;
	content: "※";
	left: -2rem;
	position: absolute;
	top: 0
}

.p-form-survey__list {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 3rem
}

.p-form-thanks {
	font-size: 1.4rem;
	line-height: 2.4rem;
	margin-bottom: 4rem
}

@media screen and (min-width: 768px) {
	.p-form-thanks {
		margin-left: 15rem;
		margin-right: 15rem
	}
}

@media screen and (max-width: 767px) {
	.p-form-thanks {
		margin-left: 2rem;
		margin-right: 2rem
	}
}

.p-form-thanks .c-picture {
	margin-bottom: 3rem;
	width: 28rem
}

.p-form-thanks__heading {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 3.4rem;
	margin-bottom: 6rem;
	text-align: center
}

@media screen and (max-width: 767px) {
	.p-form-thanks__heading {
		margin-left: -2rem;
		margin-right: -2rem
	}
}

.p-form-footer {
	border-top: .1rem solid #707070;
	display: flex;
	font-weight: bold;
	justify-content: center;
	margin-top: 3rem;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 4rem
}

@media screen and (min-width: 768px) {
	.p-form-footer {
		gap: 8rem
	}
}

@media screen and (max-width: 767px) {
	.p-form-footer {
		gap: 4rem
	}
}

.p-form-footer__button {
	align-items: center;
	display: flex;
	justify-content: center;
	transition: background .3s
}

@media screen and (min-width: 768px) {
	.p-form-footer__button {
		font-size: 2rem;
		height: 7rem;
		line-height: 3rem;
		width: 30rem
	}
}

@media screen and (max-width: 767px) {
	.p-form-footer__button {
		font-size: 1.4rem;
		height: 5rem;
		line-height: 2.4rem;
		width: 100%
	}
}

.p-form-footer__button.-previous,
.p-form-footer__button.-next {
	position: relative
}

.p-form-footer__button.-previous::before,
.p-form-footer__button.-next::before {
	content: "\e900";
	font-family: "icomoon" !important;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1;
	margin-left: -0.25em;
	margin-right: -0.25em;
	position: absolute;
	text-align: center;
	top: 50%
}

.p-form-footer__button.-previous {
	background: #bebebe
}

@media screen and (max-width: 767px) {
	.p-form-footer__button.-previous {
		padding-left: .5rem
	}
}

.p-form-footer__button.-previous::before {
	transform: rotateY(180deg) translateY(-50%)
}

@media screen and (min-width: 768px) {
	.p-form-footer__button.-previous::before {
		left: 2.5rem
	}
}

@media screen and (max-width: 767px) {
	.p-form-footer__button.-previous::before {
		left: 1rem
	}
}

.p-form-footer__button.-previous:hover {
	background: #d9d9d9
}

.p-form-footer__button.-next {
	background: #ff8901
}

@media screen and (max-width: 767px) {
	.p-form-footer__button.-next {
		padding-right: .5rem
	}
}

.p-form-footer__button.-next::before {
	transform: translateY(-50%)
}

@media screen and (min-width: 768px) {
	.p-form-footer__button.-next::before {
		right: 2.5rem
	}
}

@media screen and (max-width: 767px) {
	.p-form-footer__button.-next::before {
		right: 1rem
	}
}

.p-form-footer__button.-next:hover {
	background: #ffce01
}

.p-form-footer__button.-close {
	background: #313131;
	border: .1rem solid;
	border-color: #313131;
	color: #fff;
	transition-property: background, border, color
}

.p-form-footer__button.-close:hover {
	background: #fff;
	border-color: #b7b7b7;
	color: inherit
}

.p-index-information {
	border-top: .4rem solid #000;
	display: grid;
	margin-bottom: 10rem
}

@media screen and (min-width: 768px) {
	.p-index-information {
		gap: 3rem;
		/* grid-template-columns: 58.4rem .1rem 33.8rem .1rem 1fr; */
		grid-template-columns: auto .1rem 18rem .1rem auto;
		padding-top: 3rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-information {
		gap: 1.5rem 2rem;
		grid-template-columns: 1fr .1rem 1fr;
		padding-top: 1.5rem
	}
}

.p-index-information__separator {
	background: #707070
}

@media screen and (min-width: 768px) {
	.p-index-information__overview {
		font-size: 1.6rem;
		line-height: 2.6rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-information__overview {
		border-bottom: .1rem solid #707070;
		font-size: 1.4rem;
		grid-column: span 3;
		line-height: 2.4rem;
		padding-bottom: 1.5rem
	}
}

.p-index-information__data {
	font-weight: bold;
	text-align: center
}

@media screen and (max-width: 767px) {
	.p-index-information__data {
		grid-column: span 3
	}
}

@media screen and (max-width: 767px) {
	.p-index-information__data.-period {
		border-bottom: .1rem solid #707070;
		grid-column: span 3;
		padding-bottom: 2rem
	}
}

@media screen and (min-width: 768px) {
	.p-index-information__data.-result {
		padding-right: 3rem
	}
}

.p-index-information__data-title {
	font-size: 1.4rem;
	line-height: 2.4rem;
	margin-bottom: 1rem
}

.p-index-information__data-description {
	font-size: 2.4rem;
	line-height: 3.4rem
}

.p-index-information__data-description-note {
	font-weight: normal;
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	.p-index-information__data.-result .p-index-information__data-description {
		font-size: 2.1rem;
		line-height: 3.1rem
	}
}

.p-index-information__vote {
	border-top: .1rem solid #707070;
	font-weight: bold;
	margin-bottom: 1rem
}

@media screen and (min-width: 768px) {
	.p-index-information__vote {
		font-size: 1.8rem;
		grid-column: span 5;
		line-height: 2.8rem;
		padding-top: 3rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-information__vote {
		font-size: 1.6rem;
		grid-column: span 3;
		line-height: 2.6rem;
		padding-top: 1.5rem
	}
}

.p-index-information__vote em {
	background: #ff8901;
	font-style: inherit;
	margin-left: .1rem;
	margin-right: .1rem;
	padding-left: .1rem;
	padding-right: .1rem
}

@media screen and (min-width: 768px) {
	.p-index-information__button {
		grid-column: span 5;
		margin-left: auto;
		margin-right: auto
	}
}

@media screen and (max-width: 767px) {
	.p-index-information__button {
		/* align-self: center; */
		/* grid-column: 3; */
		/* grid-row: 3 */
		grid-column: span 3;
		justify-self: center
	}
}

@media screen and (min-width: 768px) {
	.p-index-information__button .c-button {
		width: 18.4rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-information__button .c-button {
		/* width: 100% */
	}
}

.p-index-vote__section+.p-index-vote__section {
	margin-top: 10rem
}

.p-index-vote__header {
	border-top: .4rem solid #000;
	display: flex;
	font-weight: bold
}

@media screen and (min-width: 768px) {
	.p-index-vote__header {
		justify-content: center;
		margin-bottom: 4rem;
		padding-top: 4rem;
		position: relative
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__header {
		margin-bottom: 2rem;
		padding-top: 2rem
	}
}

@media screen and (min-width: 768px) {
	.p-index-vote__header-heading {
		font-size: 2.6rem;
		line-height: 3.6rem;
		text-align: center
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__header-heading {
		flex-grow: 1;
		font-size: 2.4rem;
		line-height: 3.4rem
	}
}

.p-index-vote__header-toggle {
	align-items: center;
	border-left: .1rem solid #707070;
	font-size: 1.6rem;
	height: 4rem;
	line-height: 2.6rem;
	padding-left: 2rem;
	transition: color .3s
}

@media screen and (min-width: 768px) {
	.p-index-vote__header-toggle {
		position: absolute;
		right: 0;
		top: 4rem
	}

	.p-index-vote__section:not(.is-expand) .p-index-vote__header-toggle::before {
		content: "全て表示"
	}

	.p-index-vote__section.is-expand .p-index-vote__header-toggle::before {
		content: "隠す"
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__header-toggle {
		margin-left: 2rem
	}
}

.p-index-vote__section:not(.is-toggle) .p-index-vote__header-toggle {
	display: none
}

.p-index-vote__section.is-toggle .p-index-vote__header-toggle {
	display: flex
}

.p-index-vote__header-toggle:hover {
	color: rgba(0, 0, 0, .5)
}

.p-index-vote__header-toggle-icon {
	aspect-ratio: 1;
	display: block;
	position: relative;
	transition-duration: .3s;
	transition-property: opacity, transform;
	width: 2.4rem
}

@media screen and (min-width: 768px) {
	.p-index-vote__header-toggle-icon {
		margin-left: 1.5rem
	}
}

.p-index-vote__header-toggle-icon:before,
.p-index-vote__header-toggle-icon:after {
	background: #000;
	border-radius: 100rem;
	content: "";
	position: absolute
}

.p-index-vote__header-toggle-icon:before {
	height: .2rem;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity .3s;
	width: 100%
}

.p-index-vote__header-toggle-icon:after {
	height: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: .2rem
}

.p-index-vote__section.is-expand .p-index-vote__header-toggle-icon {
	transform: rotate(90deg)
}

.p-index-vote__section.is-expand .p-index-vote__header-toggle-icon:before {
	opacity: 0
}

.p-index-vote__header-toggle:hover .p-index-vote__header-toggle-icon {
	opacity: .5
}

.p-index-vote__list {
	display: grid;
	margin: -0.6rem;
	padding: .6rem
}

@media screen and (min-width: 768px) {
	.p-index-vote__list {
		gap: 3rem 2rem;
		grid-template-columns: repeat(5, 1fr)
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__list {
		gap: 1.5rem 1rem;
		grid-template-columns: repeat(3, 1fr)
	}
}

.p-index-vote__section.is-toggle .p-index-vote__list {
	max-height: calc(var(--min-height) + 3rem);
	overflow: hidden;
	transition: max-height .6s
}

.p-index-vote__section.is-expand .p-index-vote__list {
	max-height: var(--max-height)
}

.p-index-vote__item {
	background: #fff;
	border-radius: .6rem;
	box-shadow: 0 0 .6rem rgba(0, 0, 0, .16);
	display: flex;
	flex-direction: column;
	overflow: hidden
}

.p-index-vote__item-checkbox {
	display: none
}

.p-index-vote__item-image {
	cursor: pointer;
	position: relative
}

.p-index-vote__item-image::before {
	align-items: center;
	aspect-ratio: 1;
	background: #000;
	border-radius: 50%;
	color: #fff;
	content: "\e904";
	display: flex;
	font-family: "icomoon" !important;
	font-size: 1.178rem;
	font-style: normal;
	font-weight: normal;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
	position: absolute;
	text-align: center;
	transition-duration: .3s;
	transition-property: background, color;
	width: 2.4rem;
	z-index: 2
}

@media screen and (min-width: 768px) {
	.p-index-vote__item-image::before {
		bottom: 1rem;
		right: 1rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__item-image::before {
		bottom: .5rem;
		right: .5rem
	}
}

.p-index-vote__item-image .c-picture {
	overflow: hidden
}

.p-index-vote__item-image .c-picture__image {
	transition: transform .3s
}

.p-index-vote__item-image:hover::before {
	background: #fff;
	color: #000
}

.p-index-vote__item-image:hover .c-picture__image {
	transform: scale(1.16)
}

.p-index-vote__item-overlay {
	align-items: center;
	background: rgba(0, 0, 0, .5);
	bottom: 0;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-weight: bold;
	justify-content: center;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity .2s;
	z-index: 1
}

@media screen and (min-width: 768px) {
	.p-index-vote__item-overlay {
		padding-top: 2rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__item-overlay {
		padding-bottom: 1rem
	}
}

.p-index-vote__item-overlay::before {
	content: "\e901";
	font-family: "icomoon" !important;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1;
	text-align: center
}

@media screen and (min-width: 768px) {
	.p-index-vote__item-overlay::before {
		font-size: 5.5rem;
		line-height: 3.7rem;
		margin-bottom: 2rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__item-overlay::before {
		font-size: 4rem;
		line-height: 2.7rem;
		margin-bottom: .5rem
	}
}

.p-index-vote__item-overlay::after {
	content: "投票済み";
	line-height: 1
}

@media screen and (min-width: 768px) {
	.p-index-vote__item-overlay::after {
		font-size: 1.6rem;
		line-height: 2.6rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__item-overlay::after {
		font-size: 1.2rem;
		line-height: 2.2rem
	}
}

.p-index-vote__item-checkbox:checked~* .p-index-vote__item-overlay {
	opacity: 1
}

.p-index-vote__item-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1
}

@media screen and (min-width: 768px) {
	.p-index-vote__item-content {
		padding: 2rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__item-content {
		padding: 1rem
	}
}

.p-index-vote__item-name {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	flex-grow: 1;
	margin-bottom: 2rem;
	overflow: hidden;
	word-break: break-all
}

@media screen and (min-width: 768px) {
	.p-index-vote__item-name {
		-webkit-line-clamp: 2;
		font-size: 1.4rem;
		line-height: 2.4rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__item-name {
		-webkit-line-clamp: 3;
		font-size: 1.3rem;
		line-height: 2.3rem
	}
}

.p-index-vote__item-button {
	width: 100%
}

@media screen and (min-width: 768px) {
	.p-index-vote__item-button {
		font-size: 1.6rem;
		line-height: 2.6rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-vote__item-button {
		font-size: 1.3rem;
		line-height: 2.3rem
	}
}

.p-index-vote__item-checkbox:not(:checked)~* .p-index-vote__item-button .c-button__text::before {
	content: "\e901";
	font-family: "icomoon" !important;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1;
	margin-right: .8rem;
	text-align: center
}

.p-index-vote__item-checkbox:not(:checked)~* .p-index-vote__item-button .c-button__text::after {
	content: "投票"
}

.p-index-vote__item-checkbox:checked~* .p-index-vote__item-button .c-button__text::after {
	content: "キャンセル"
}

body.is-cart-animate .p-index-vote__item-button {
	pointer-events: none
}

.p-index-vote__footer {
	align-items: center;
	justify-content: center;
	margin-left: -0.6rem;
	margin-right: -0.6rem;
	margin-top: -10rem;
	padding-top: 4rem;
	position: relative;
	z-index: 2
}

.p-index-vote__section:not(.is-toggle) .p-index-vote__footer {
	display: none
}

.p-index-vote__section.is-toggle .p-index-vote__footer {
	display: flex
}

.p-index-vote__section:not(.is-expand) .p-index-vote__footer {
	background: linear-gradient(rgba(247, 247, 247, 0.65), #f7f7f7 7rem);
	height: 10rem
}

.p-index-vote__section.is-expand .p-index-vote__footer {
	background: none;
	height: auto;
	margin-top: 0
}

.p-index-vote__footer .c-button {
	background: #fff;
	height: 6rem;
	position: relative;
	width: 30rem
}

.p-index-vote__section:not(.is-expand) .p-index-vote__footer .c-button::before {
	content: "全て表示"
}

.p-index-vote__section.is-expand .p-index-vote__footer .c-button::before {
	content: "隠す"
}

.p-index-vote__footer .c-button__icon {
	aspect-ratio: 1;
	display: block;
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	transition-duration: .3s;
	transition-property: opacity, transform;
	width: 2.4rem
}

@media screen and (min-width: 768px) {
	.p-index-vote__footer .c-button__icon {
		margin-left: 1.5rem
	}
}

.p-index-vote__footer .c-button__icon:before,
.p-index-vote__footer .c-button__icon:after {
	background: #000;
	border-radius: 100rem;
	content: "";
	position: absolute;
	transition-duration: .3s;
	transition-property: background, opacity
}

.p-index-vote__footer .c-button__icon:before {
	height: .2rem;
	top: 50%;
	transform: translateY(-50%);
	width: 100%
}

.p-index-vote__footer .c-button__icon:after {
	height: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: .2rem
}

.p-index-vote__section:not(.is-expand) .p-index-vote__footer .c-button__icon:before,
.p-index-vote__section:not(.is-expand) .p-index-vote__footer .c-button__icon:after {
	background: #fff
}

.p-index-vote__section.is-expand .p-index-vote__footer .c-button__icon {
	transform: translateY(-50%) rotate(90deg)
}

.p-index-vote__section.is-expand .p-index-vote__footer .c-button__icon:before,
.p-index-vote__section.is-expand .p-index-vote__footer .c-button__icon:after {
	background: #000
}

.p-index-vote__section.is-expand .p-index-vote__footer .c-button__icon:before {
	opacity: 0
}

.p-index-vote__section:not(.is-expand) .p-index-vote__footer .c-button:hover .c-button__icon:before,
.p-index-vote__section:not(.is-expand) .p-index-vote__footer .c-button:hover .c-button__icon:after {
	background: #000
}

.p-index-vote__section.is-expand .p-index-vote__footer .c-button:hover .c-button__icon:before,
.p-index-vote__section.is-expand .p-index-vote__footer .c-button:hover .c-button__icon:after {
	background: #fff
}

.p-index-navigation {
	flex-shrink: 0;
	font-weight: bold
}

@media screen and (min-width: 768px) {
	.p-index-navigation {
		height: 7rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation {
		height: 5rem
	}
}

.p-index-navigation__inner {
	background: #000;
	display: flex;
	justify-content: center;
	text-align: center;
	z-index: 100
}

@media screen and (min-width: 768px) {
	.p-index-navigation__inner {
		height: 7rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation__inner {
		height: 5rem
	}
}

.p-index-navigation:not(.is-static) .p-index-navigation__inner {
	bottom: 0;
	left: 0;
	position: fixed
}

body:not(.is-modal-visible) .p-index-navigation:not(.is-static) .p-index-navigation__inner {
	right: 0
}

body.is-modal-visible .p-index-navigation:not(.is-static) .p-index-navigation__inner {
	right: var(--scrollbar-width)
}

.p-index-navigation.is-static .p-index-navigation__inner {
	position: relative
}

.p-index-navigation__previous,
.p-index-navigation__next {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	position: absolute;
	top: 0;
	transition-duration: .3s;
	transition-property: background, opacity;
	z-index: 1
}

@media screen and (min-width: 768px) {

	.p-index-navigation__previous,
	.p-index-navigation__next {
		font-size: 2rem;
		line-height: 3rem;
		width: 30rem
	}
}

@media screen and (max-width: 767px) {

	.p-index-navigation__previous,
	.p-index-navigation__next {
		font-size: 1.4rem;
		line-height: 2.4rem;
		width: 8rem
	}
}

.p-index-navigation__previous::before,
.p-index-navigation__next::before {
	content: "\e900";
	font-family: "icomoon" !important;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1;
	margin-left: -0.25em;
	margin-right: -0.25em;
	position: absolute;
	text-align: center;
	top: 50%
}

.p-index-navigation__previous {
	background: #bebebe;
	left: 0
}

@media screen and (max-width: 767px) {
	.p-index-navigation__previous {
		padding-left: .5rem
	}
}

.p-index-navigation__previous::before {
	transform: rotateY(180deg) translateY(-50%)
}

@media screen and (min-width: 768px) {
	.p-index-navigation__previous::before {
		left: 2.5rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation__previous::before {
		left: 1rem
	}
}

.p-index-navigation__previous:hover {
	background: #d9d9d9
}

.p-index-navigation__next {
	background: #ff8901;
	right: 0
}

@media screen and (max-width: 767px) {
	.p-index-navigation__next {
		padding-right: .5rem
	}
}

.p-index-navigation__next::before {
	transform: translateY(-50%)
}

@media screen and (min-width: 768px) {
	.p-index-navigation__next::before {
		right: 2.5rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation__next::before {
		right: 1rem
	}
}

.p-index-navigation__next:not(.is-active) {
	opacity: .4
}

.p-index-navigation__next:not(.is-active):hover {
	opacity: .7
}

.p-index-navigation__next.is-active:hover {
	background: #ffce01
}

.p-index-navigation__cart {
	height: 100%;
	position: relative;
	width: 100%
}

.p-index-navigation__cart-inner {
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	position: absolute;
	right: 0
}

.p-index-navigation__cart-button {
	align-items: flex-end;
	display: flex
}

@media screen and (min-width: 768px) {
	.p-index-navigation__cart-button {
		gap: 1.8rem;
		margin-left: 14.8rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation__cart-button {
		gap: 1.5rem
	}
}

body.is-cart-animate .p-index-navigation__cart-button {
	pointer-events: none
}

.p-index-navigation__cart-box {
	position: relative
}

.p-index-navigation__cart-layer {
	background: 50% 100%/contain no-repeat;
	transform-origin: 50% 100%;
	transition: transform .3s
}

@media screen and (min-width: 768px) {
	.p-index-navigation__cart-layer {
		height: 8.3rem;
		width: 7rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation__cart-layer {
		height: 6rem;
		width: 5.2rem
	}
}

.p-index-navigation__cart-layer.-background {
	background-image: url(/common/images/cart-01.svg);
	filter: drop-shadow(0 0 0.6rem rgba(0, 0, 0, 0.16))
}

.p-index-navigation__cart-layer.-foreground {
	background-image: url(/common/images/cart-02.svg);
	left: 0;
	position: absolute;
	top: 0
}

.p-index-navigation__cart-box.is-animate .p-index-navigation__cart-layer {
	animation: index-navigation-cart-box-animation .45s ease-out
}

.p-index-navigation__cart-button:hover .p-index-navigation__cart-layer {
	transform: scale(1.3)
}

@keyframes index-navigation-cart-box-animation {
	30% {
		transform: scaleX(1.3)
	}

	60% {
		transform: scaleY(1.3)
	}
}

.p-index-navigation__cart-canvas {
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: 0
}

body:not(.is-cart-animate) .p-index-navigation__cart-canvas {
	visibility: hidden
}

body.is-cart-animate .p-index-navigation__cart-canvas {
	visibility: visible
}

.p-index-navigation__cart-paper {
	border-radius: .6rem;
	overflow: hidden
}

.p-index-navigation__cart-paper img {
	height: auto;
	width: 100%
}

.p-index-navigation__cart-counter {
	align-items: center;
	background: #fff;
	border-radius: .4rem;
	box-shadow: 0 0 .6rem rgba(0, 0, 0, .16);
	display: flex;
	flex-direction: column;
	position: relative
}

@media screen and (min-width: 768px) {
	.p-index-navigation__cart-counter {
		height: 6.875rem;
		margin-bottom: 2rem;
		width: 13rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation__cart-counter {
		height: 5.5rem;
		margin-bottom: .8rem;
		width: 10.4rem
	}
}

.p-index-navigation__cart-counter::before {
	background: url(/common/images/cart-03.svg) 50% 50%/contain no-repeat;
	content: "";
	height: .7rem;
	left: -1rem;
	position: absolute;
	top: 3.3rem;
	width: 1.1rem
}

.p-index-navigation__cart-number {
	color: #ff8901;
	font-family: Inter, sans-serif;
	line-height: 1;
	margin-bottom: .3rem;
	margin-top: .5rem
}

@media screen and (min-width: 768px) {
	.p-index-navigation__cart-current {
		font-size: 4rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation__cart-current {
		font-size: 2.6rem
	}
}

.p-index-navigation__cart-delimiter {
	margin-left: .5rem;
	margin-right: .5rem;
	position: relative;
	top: -0.2rem
}

@media screen and (min-width: 768px) {
	.p-index-navigation__cart-delimiter {
		font-size: 2.1rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation__cart-delimiter {
		font-size: 1.4rem
	}
}

@media screen and (min-width: 768px) {
	.p-index-navigation__cart-max {
		font-size: 2rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-navigation__cart-max {
		font-size: 1.4rem
	}
}

.p-index-navigation__cart-text {
	font-size: 1.2rem
}

@media screen and (min-width: 768px) {
	.p-index-information-modal .c-modal__content {
		height: 24.2rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-information-modal .c-modal__content {
		height: 34.4rem
	}
}

.p-index-information-modal__list {
	font-size: 1.4rem;
	line-height: 2.4rem
}

.p-index-information-modal__item {
	padding-left: calc(1em + .5rem);
	position: relative
}

.p-index-information-modal__item::before {
	content: "※";
	left: 0;
	position: absolute;
	top: 0
}

@media screen and (min-width: 768px) {
	.p-index-information-modal__item+.p-index-information-modal__item {
		margin-top: 3rem
	}
}

@media screen and (max-width: 767px) {
	.p-index-information-modal__item+.p-index-information-modal__item {
		margin-top: 2rem
	}
}

.p-index-image-modal .c-modal__container {
	background: none;
	overflow: auto;
	padding: 0
}

@media screen and (min-width: 768px) {
	.p-index-image-modal .c-modal__container {
		width: 42.2rem
	}
}

.p-index-image-modal .c-picture {
	display: block
}

.p-index-image-modal__content {
	background: #fff;
	padding: 2rem
}

.p-index-image-modal__name {
	font-size: 1.2rem;
	line-height: 2.2rem;
	margin-bottom: 3rem;
	word-break: break-all
}

.p-index-image-modal__button {
	margin-left: auto;
	margin-right: auto
}

@media screen and (max-width: 767px) {
	.p-index-cart-modal {
		padding-top: 3.5rem
	}
}

.p-index-cart-modal .c-modal__heading {
	margin-bottom: .5rem
}

.p-index-cart-modal .c-modal__container {
	position: relative
}

@media screen and (max-width: 767px) {
	.p-index-cart-modal .c-modal__container {
		padding-top: 5rem
	}
}

.p-index-cart-modal .c-modal__container::before {
	background: url(/common/images/cart-04.svg) 50% 50%/contain no-repeat;
	content: "";
	height: 6rem;
	left: 50%;
	position: absolute;
	top: -1.5rem;
	transform: translateX(-50%);
	width: 5.2rem
}

.p-index-cart-modal__counter {
	color: #fff;
	display: flex;
	font-size: 1.6rem;
	font-weight: bold;
	justify-content: center;
	line-height: 1;
	margin-bottom: 2rem;
	text-align: center
}

.p-index-cart-modal__counter-text {
	align-items: center;
	background: #ff8901;
	border-radius: 100rem;
	display: flex;
	font-family: Inter, sans-serif;
	height: 2.2rem;
	justify-content: center;
	padding-left: 1rem;
	padding-right: 1rem
}

.p-index-cart-modal__list {
	counter-reset: i
}

@media screen and (min-width: 768px) {
	.p-index-cart-modal__list {
		align-items: stretch;
		display: flex;
		flex-wrap: wrap;
		gap: 2rem
	}
}

.p-index-cart-modal__item {
	border: max(.1rem, 1px) dashed #b7b7b7;
	border-radius: .6rem;
	counter-increment: i;
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	display: grid;
	grid-template-columns: 11.5rem 1fr;
	padding: 1.9rem
}

@media screen and (min-width: 768px) {
	.p-index-cart-modal__item {
		min-height: 21.5rem;
		row-gap: 2rem;
		width: calc((100% - 2rem)/2)
	}
}

@media screen and (max-width: 767px) {
	.p-index-cart-modal__item {
		grid-template-rows: repeat(2, min-content) 1fr;
		min-height: 24.3rem;
		row-gap: 1rem
	}

	.p-index-cart-modal__item+.p-index-cart-modal__item {
		margin-top: 2rem
	}
}

.p-index-cart-modal__item:empty {
	align-items: center;
	display: flex;
	justify-content: center;
	position: relative
}

.p-index-cart-modal__item:empty::before {
	color: #d9d9d9;
	content: counter(i);
	font-family: Inter, sans-serif;
	font-size: 5rem
}

.p-index-cart-modal__item .c-picture {
	aspect-ratio: 1;
	border-radius: .6rem;
	display: block;
	overflow: hidden
}

.p-index-cart-modal__item-title {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	font-size: 1.2rem;
	line-height: 2.2rem;
	overflow: hidden;
	word-break: break-all
}

@media screen and (min-width: 768px) {
	.p-index-cart-modal__item-title {
		-webkit-line-clamp: 2;
		align-self: center
	}
}

@media screen and (max-width: 767px) {
	.p-index-cart-modal__item-title {
		-webkit-line-clamp: 3;
		grid-column: span 2;
		grid-row: 2
	}
}

.p-index-cart-modal__item-button {
	grid-column: span 2;
	justify-self: center
}

@media screen and (max-width: 767px) {
	.p-index-cart-modal__item-button {
		align-self: center;
		font-size: 1.2rem;
		grid-column: 2;
		line-height: 2.2rem;
		width: 100%
	}
}

.p-index-cart-modal__item-button .c-button__text:after {
	content: "キャンセル"
}

.p-notice {
	font-family: Inter, sans-serif;
	font-size: 1.4rem
}

.p-notice__title {
	font-weight: bold;
	margin-bottom: 3rem
}

@media screen and (min-width: 768px) {
	.p-notice__title {
		font-size: 4.2rem;
		line-height: 5.6rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice__title {
		font-size: 2.4rem;
		line-height: 3.2rem
	}
}

.p-notice__lead {
	line-height: 3rem
}

@media screen and (min-width: 768px) {
	.p-notice__lead {
		font-size: 2.2rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice__lead {
		font-size: 2rem
	}
}

@media screen and (min-width: 768px) {
	.p-notice__lead+* {
		margin-top: 5rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice__lead+* {
		margin-top: 4rem
	}
}

.p-notice__error {
	background: #fff;
	border: .1rem solid #ff8901;
	border-radius: .6rem;
	color: #ff8901;
	font-weight: bold;
	margin-top: 4rem;
	text-align: center
}

@media screen and (min-width: 768px) {
	.p-notice__error {
		font-size: 1.8rem;
		line-height: 2.4rem;
		padding: 1.9rem 2.4rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice__error {
		line-height: 1.8rem;
		padding: 1.4rem 1.9rem
	}
}

.p-notice-box {
	background: #fff;
	border: .1rem solid #707070;
	line-height: 2.6rem
}

@media screen and (min-width: 768px) {
	.p-notice-box {
		margin-left: 5rem;
		margin-right: 5rem;
		padding-left: 4.7rem;
		padding-right: 2.9rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice-box {
		padding-left: 1.9rem;
		padding-right: 1.5rem
	}
}

.p-notice-box a {
	color: #ff8901;
	text-decoration: underline;
	word-break: break-all
}

.p-notice-box h4 {
	font-weight: bold
}

@media screen and (min-width: 768px) {
	.p-notice-box h4 {
		font-size: 2rem;
		line-height: 2.7rem;
		margin-bottom: 3rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice-box h4 {
		font-size: 2rem;
		line-height: 2.7rem;
		margin-bottom: 2rem
	}
}

.p-notice-box h5 {
	font-size: 2rem;
	font-weight: bold;
	line-height: 2.7rem;
	margin-top: 3.5rem
}

.p-notice-box li {
	position: relative
}

.p-notice-box li::before {
	left: 0;
	position: absolute
}

.p-notice-box li ul {
	margin-top: 0
}

.p-notice-box ol {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-top: 2rem
}

.p-notice-box ol li {
	padding-left: 3rem
}

.p-notice-box ol.-decimal>li {
	counter-increment: a
}

.p-notice-box ol.-decimal>li::before {
	content: "(" counter(a) ")"
}

.p-notice-box ol.-alpha>li {
	counter-increment: b
}

.p-notice-box ol.-alpha>li::before {
	content: "(" counter(b, lower-alpha) ")"
}

.p-notice-box p {
	margin-top: 2rem
}

.p-notice-box ul {
	margin-top: 2rem
}

.p-notice-box ul li {
	padding-left: 2rem
}

.p-notice-box ul li::before {
	content: "・"
}

@media screen and (min-width: 768px) {
	.p-notice-box__scroll {
		height: 19.1rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice-box__scroll {
		height: 18.2rem
	}
}

@media screen and (min-width: 768px) {
	.p-notice-box__scroll .simplebar-content-wrapper {
		padding-bottom: 2.4rem;
		padding-right: 3.8rem;
		padding-top: 2.4rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice-box__scroll .simplebar-content-wrapper {
		padding-bottom: 1.9rem;
		padding-right: 2.4rem;
		padding-top: 1.9rem
	}
}

.p-notice-box__scroll .simplebar-track {
	background: #e2e2e2;
	border-radius: 100rem;
	bottom: 1.9rem;
	top: 1.9rem;
	width: .8rem
}

.p-notice-box__scroll .simplebar-scrollbar::before {
	background: #000;
	border-radius: 100rem;
	inset: 0;
	opacity: 1
}

.p-notice-footer {
	align-items: center;
	display: flex;
	flex-direction: column
}

@media screen and (min-width: 768px) {
	.p-notice-footer {
		gap: 5rem;
		margin-top: 5rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice-footer {
		gap: 3rem;
		margin-top: 3rem
	}
}

.p-notice-footer .f-checkbox {
	line-height: 3rem
}

@media screen and (min-width: 768px) {
	.p-notice-footer .f-checkbox {
		font-size: 2.2rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice-footer .f-checkbox {
		font-size: 2rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice-footer .f-checkbox__control {
		top: 0;
		transform: none
	}
}

.p-notice-footer__button {
	align-items: center;
	background: #ff8901;
	display: flex;
	font-weight: bold;
	justify-content: center;
	position: relative;
	transition-duration: .3s;
	transition-property: background, opacity
}

@media screen and (min-width: 768px) {
	.p-notice-footer__button {
		font-size: 2rem;
		height: 7rem;
		line-height: 3rem;
		width: 30rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice-footer__button {
		font-size: 1.4rem;
		height: 5rem;
		line-height: 2.4rem;
		padding-right: .5rem;
		width: 18rem
	}
}

.p-notice-footer__button::before {
	content: "\e900";
	font-family: "icomoon" !important;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1;
	margin-left: -0.25em;
	margin-right: -0.25em;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translateY(-50%)
}

@media screen and (min-width: 768px) {
	.p-notice-footer__button::before {
		right: 2.5rem
	}
}

@media screen and (max-width: 767px) {
	.p-notice-footer__button::before {
		right: 1rem
	}
}

.p-notice-footer__button[disabled] {
	opacity: .4;
	pointer-events: none
}

.p-notice-footer__button:hover {
	background: #ffce01
}