.u-font__noto {
	font-family: "Noto Sans JP", sans-serif;
}

body {
	background: #f2e5cd;
	color: #202020;
	font-family: "Noto Sans JP", sans-serif;
}

a {
	transition: 0.3s;
	color: #202020;
	text-decoration: none;
}

picture,
img,
a,
span {
	display: inline-block;
}

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

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

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
	vertical-align: baseline;
	margin: 0;
	border: 0;
	padding: 0;
	font: inherit;
	font-size: 100%;
}

html {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

li,
dd {
	list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
	display: block;
}

img {
	vertical-align: bottom;
	border: none;
}

.l-inner {
	position: relative;
	margin: auto;
	padding: 0 1.25rem;
	width: 100%;
	max-width: 1390px;
	height: inherit;
}

.l-inner__narrow {
	max-width: 55rem;
}

.l-footer {
	background: #f2e5cd;
	padding: 3.125rem 0 2.5rem;
}

.l-footer__head-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: auto;
	width: 46.75rem;
}

.l-footer__logo {
	width: 18.125rem;
	height: auto;
}

.l-footer__head-text {
	font-feature-settings: "palt";
	color: #534741;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

.l-footer__link-wrap {
	-moz-column-gap: 2.5rem;
	display: flex;
	column-gap: 2.5rem;
	justify-content: center;
	align-items: center;
	margin: 1.875rem 0 2.625rem;
}

.l-footer__link-wrap a {
	display: block;
	opacity: 0.7;
}

.l-footer__under-wrap {
	-moz-column-gap: 1.5625rem;
	display: flex;
	column-gap: 1.5625rem;
	justify-content: center;
	align-items: center;
}

.l-footer__poppin {
	width: 11.875rem;
	height: auto;
}

.l-footer__poppin-link {
	padding-top: 1.5625rem;
}

.l-footer__poppin-link a,
.l-footer__poppin-link span {
	color: #534741;
	font-weight: 400;
	font-size: 1.1875rem;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

.l-footer__poppin-link a {
	display: inline-block;
	position: relative;
}

.l-footer__poppin-link a::after {
	position: absolute;
	top: calc(100% + 0.0625rem);
	left: 0;
	background: #534741;
	width: 100%;
	height: 1px;
	content: "";
}

.l-footer__copyright {
	margin-top: 1.25rem;
	color: #534741;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.78125;
	letter-spacing: 0.01em;
}

.l-section {
	padding-top: 5rem;
}

.c-section__title {
	font-weight: 400;
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0em;
	text-align: center;
}

.p-fv {
	position: relative;
	background: url(../img/2nd-fv_sp.png) no-repeat center top/cover;
	aspect-ratio: 1920/1345;
	width: 100%;
	height: auto;
}

.p-fv::after {
	position: absolute;
	bottom: -1.0416666667vw;
	left: 0;
	background: url(../img/fv_bg-buller.png) no-repeat center center/cover;
	aspect-ratio: 2400/430;
	width: 100%;
	height: auto;
	content: "";
}

.p-fv__topCopy {
	position: absolute;
	top: 1.2125rem;
	left: 0.2125rem;
	aspect-ratio: 788/240;
	width: 32.2916666667vw;
	height: auto;
}

.p-fv__topCopy img {
	-o-object-fit: contain;
	object-fit: contain;
}

.p-fv__title {
	position: relative;
	z-index: 2;
	padding-top: 42.78125vw;   /* 元45.28125vw。1920px でボタンとストアボタンが重なるため2.5vw引き上げ */
	text-align: center;
}

.p-fv__title img {
	aspect-ratio: 1261/379;
	/* 元: max(51.0416666667vw, 61.25rem) を70%に縮小（下のメッセージボタン用スペース確保） */
	width: max(35.7291666667vw, 42.875rem);
	height: auto;
}

.p-fv__nav {
	-moz-column-gap: 1.25rem;
	display: flex;
	position: absolute;
	bottom: 2.5rem;
	left: 50%;
	column-gap: 1.25rem;
	justify-content: space-between;
	align-items: center;
	transform: translateX(-50%);
	z-index: 2;
	background: rgba(245, 239, 235, 0.8);
	padding: 0.9375rem 1.25rem;
	aspect-ratio: 1350/140;
	width: 80.375rem;
	height: auto;
}

.p-fv__nav-title {
	margin-left: 1.25rem;
	aspect-ratio: 229/119;
	width: 11.25rem;
	height: auto;
}

.p-fv__menu {
	-moz-column-gap: 1rem;
	display: flex;
	column-gap: 1rem;
	align-items: center;
}

.p-fv__link {
	aspect-ratio: 328/146;
	width: 16.0625rem;
	height: auto;
}

.p-fv__link a {
	display: inline-block;
}

/* ===== FV プロデューサーレターへのボタン（1st_go_message.png 535x211） =====
   PCはタイトルロゴの直下にフロー配置。SPは下の860px未満ブロックで絶対配置に切替 */
.p-fv__message-btn {
	position: relative;
	z-index: 5;
	margin-top: 1.25rem;   /* ロゴとの間隔 */
	width: 100%;
	text-align: center;
}

.p-fv__message-btn a {
	transition: 0.3s;
	display: inline-block;
}

.p-fv__message-btn img {
	aspect-ratio: 535 / 211;
	width: 25rem;         /* PC表示サイズ（535pxの約54%） */
	height: auto;
}

.p-four {
	position: relative;
	aspect-ratio: 1920/880;
	width: 100%;
	height: auto;
	height: 45.8333333333vw;
	min-height: 55rem;
	overflow: hidden;
}

.p-four::after {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 3;
	background: url(../img/four_bg-buller.png) no-repeat center center/cover;
	aspect-ratio: 1920/345;
	width: 100%;
	height: auto;
	content: "";
}

.p-four__chara {
	position: absolute;
}

.p-four__chara img {
	-o-object-fit: contain;
	object-fit: contain;
}

.p-four__chara.--chara1 {
	top: 3.125rem;
	left: -2.5rem;
	z-index: 2;
	width: 35.3125rem;
	height: auto;
}

.p-four__chara.--chara2 {
	top: 7.8125rem;
	left: 8.75rem;
	z-index: 3;
	width: 39.1875rem;
	height: auto;
}

.p-four__chara.--chara3 {
	top: 4.875rem;
	right: 13.125rem;
	z-index: 2;
	width: 42.5rem;
	height: auto;
}

.p-four__chara.--chara4 {
	top: 2.1875rem;
	right: -16.25rem;
	width: 46rem;
	height: auto;
}

.p-four__chara.--chara4 .z4 {
	position: relative;
	z-index: 1;
}

.badge {
	display: inline-block;
	position: absolute;
	top: 21.875rem;
	right: -3.125rem;
	z-index: 4;
	aspect-ratio: 1;
	width: 19.375rem;
	height: auto;
}

.badge2 {
	top: 20.875rem;
	left: -8.725rem;
	width: 19.375rem;
	height: auto;
}

@media screen and (max-width: 1700px) {
	.badge {
		right: 0;
		width: 16rem;
	}
	.badge2 {
		left: 0rem;
		width: 16rem;
	}
}


.badge img {
	transition: all 0.3s ease;
}

.p-four__x-link {
	display: block;
	position: absolute;
	top: 31.25rem;
	left: 15rem;
	z-index: 4;
	width: 49.25rem;
	height: auto;
}

.p-four__x-link img {
	transition: all 0.3s ease;
	width: 100%;
	height: 100%;
}

.p-story {
	position: relative;
	margin-top: -4.6875rem;
	width: 100%;
	height: 72.5rem;
	overflow: hidden;
}

.p-story::after {
	position: absolute;
	top: 3.125rem;
	left: 0;
	background: url(../img/story_bg.png) no-repeat center top/cover;
	width: 100%;
	height: 100%;
	content: "";
}

.p-story__lead {
	position: absolute;
	top: 0rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 6;
	width: 120rem;
	height: auto;
}

.p-story__chara {
	position: absolute;
	top: 15.625rem;
	right: -5rem;
	z-index: 7;
	width: 23.4375rem;
	height: auto;
}

.p-story__text-wrap {
	padding-top: 15rem;
	text-align: center;
}

.p-story__text {
	display: block;
	position: relative;
	z-index: 7;
	margin: auto;
	height: auto;
}

.p-story__text:not(:last-of-type) {
	margin-bottom: 3.75rem;
}

.p-story__text.--text1 {
	width: 38.4375rem;
}

.p-story__text.--text2 {
	width: 17.5625rem;
}

.p-story__text.--text3 {
	width: 46rem;
}

.p-story__text.--text4 {
	width: 25.4375rem;
}

.p-story__text.--text5 {
	width: 40.25rem;
}

.p-character {
	position: relative;
	margin-top: -4.6875rem;
	width: 100%;
	height: 61.375rem;
	overflow: hidden;
}

.p-character::before {
	position: absolute;
	top: 5rem;
	left: 0;
	z-index: 2;
	background: url(../img/contents_bg.png) no-repeat center center/cover;
	width: 100%;
	height: 100%;
	content: "";
}

.p-character::after {
	position: absolute;
	top: 5rem;
	left: 0;
	z-index: 3;
	background: url(../img/character_bg.png) no-repeat center top/cover;
	width: 100%;
	height: 100%;
	content: "";
}

.p-character__contents-wrap {
	position: relative;
	z-index: 4;
	margin-top: 16.25rem;
}

.p-character__kazari {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.p-character__kazari.--left {
	left: -2.1875rem;
}

.p-character__kazari.--right {
	right: -2.1875rem;
}

.p-character__chara {
	position: absolute;
	transition: all 0.3s ease;
	width: 15.6875rem;
	height: auto;
}

.p-character__chara.--chara1 {
	top: 1.25rem;
	left: 1.25rem;
}

.p-character__chara.--chara2 {
	bottom: 1.25rem;
	left: 1.25rem;
}

.p-character__chara.--chara3 {
	top: 1.25rem;
	right: 1.25rem;
}

.p-character__chara.--chara4 {
	right: 1.25rem;
	bottom: 1.25rem;
}

.p-character__content {
	display: none;
	transition: all 0.3s ease;
	margin: auto;
	width: 58rem;
	height: auto;
}

.p-character__content.js-show {
	display: block;
}

.p-campaign {
	position: relative;
	margin-top: -4.6875rem;
	width: 100%;
	height: 58.625rem;
	overflow: hidden;
}

.p-campaign::before {
	position: absolute;
	top: 5rem;
	left: 0;
	z-index: 2;
	background: url(../img/contents_bg.png) no-repeat center center/cover;
	width: 100%;
	height: 100%;
	content: "";
}

.p-campaign__head {
	position: relative;
	z-index: 5;
	margin: 11.875rem auto 2rem;
	width: 100%;
	text-align: center;
}

.p-campaign__head img {
	width: 41.6875rem;
	height: auto;
}

.p-campaign__wrap {
	-moz-column-gap: 1.25rem;
	display: grid;
	position: relative;
	grid-template-columns: 32.8125rem 39.375rem;
	column-gap: 1.25rem;
	align-items: flex-start;
	z-index: 4;
	margin: auto;
	margin-left: 8.125rem;
	width: 72.625rem;
	max-width: 100%;
}

.p-campaign__item {
	width: 100%;
}

.p-campaign__item.--small {
	position: relative;
}

.p-campaign__item.--small:not(:last-of-type) {
	margin-bottom: 0.625rem;
}

.p-campaign__item.--small .p-campaign__tassei {
	position: absolute;
	top: 50%;
	left: 7.5rem;
	transform: translateY(-50%);
	width: 10.375rem;
}

.p-campaign__item.--last {
	margin-top: -0.625rem;
	width: 101%;
}

.p-campaign__item.--large {
	position: relative;
}

.p-campaign__item.--large .p-campaign__tassei {
	position: absolute;
	right: 5.625rem;
	bottom: 1.875rem;
	width: 22.375rem;
}

.p-register {
	position: relative;
	padding-top: 5.375rem;
	width: 100%;
	height: 58.875rem;
	overflow: hidden;
}

.p-register::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: url(../img/contents_bg.png) no-repeat center center/cover;
	width: 100%;
	height: 100%;
	content: "";
}

.p-register::after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	background: url(../img/register_bg.webp) no-repeat center top/cover;
	width: 100%;
	height: 100%;
	content: "";
}

.p-register__container {
	position: relative;
	z-index: 5;
	margin: auto;
	background: url(../img/register_container-bg.png) no-repeat center center/contain;
	width: 60.1875rem;
	height: 47.125rem;
}

.p-register__mail-head {
	margin-top: 4.375rem;
	width: 100%;
	text-align: center;
}

.p-register__mail-head img {
	width: 38.4375rem;
	height: auto;
}

.p-register__form {
	margin-top: 2.5rem;
	text-align: center;
}

.p-register__privacy {
	margin-bottom: 2.8125rem;
}

.p-register__privacy-label input[type=checkbox] {
	display: none;
}

.p-register__privacy-label span {
	display: inline-block;
	position: relative;
	padding-left: 3.125rem;
}

.p-register__privacy-label span::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	border: 1px solid #42210b;
	background: #fff;
	width: 1.6875rem;
	height: 1.6875rem;
	content: "";
}

.p-register__privacy-label span::after {
	position: absolute;
	top: calc(50% - 0.1875rem);
	left: 0.5rem;
	transform: translateY(-50%) rotate(45deg);
	opacity: 0;
	border-right: 0.15625rem solid #42210b;
	border-bottom: 0.15625rem solid #42210b;
	width: 0.75rem;
	height: 1.25rem;
	content: "";
}

.p-register__privacy-label input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.p-register__privacy-text {
	font-weight: 400;
	font-size: 1.125rem;
	line-height: 1;
	letter-spacing: 0.05em;
}

.p-register__privacy-text a {
	display: inline-block;
	position: relative;
	color: #d52c30;
}

.p-register__privacy-text a::after {
	position: absolute;
	top: calc(100% + 0.25rem);
	left: 0;
	background: #d52c30;
	width: 100%;
	height: 1px;
	content: "";
}

.p-register__email {
	-moz-column-gap: 0.75rem;
	display: flex;
	column-gap: 0.75rem;
	justify-content: center;
	align-items: center;
}

.p-register__email input[type=email] {
	outline: none;
	border: none;
	border-radius: 62.4375rem;
	padding: 0.375rem 1.5rem;
	width: 29.375rem;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.p-register__email input[type=email]::-moz-placeholder {
	color: #7f7f7f;
}

.p-register__email input[type=email]::placeholder {
	color: #7f7f7f;
}

.p-register__email input[type=submit] {
	transition: all 0.3s ease;
	outline: none;
	border: none;
	border-radius: 62.4375rem;
	background: #603813;
	width: 10.4375rem;
	color: #fff;
	font-weight: 400;
	font-size: 1rem;
	line-height: 2.25;
	letter-spacing: 0.05em;
	text-align: center;
}

.p-register__email input[type=submit]:disabled {
	opacity: 0.6;
	pointer-events: none;
}

.p-register__text-head {
	display: block;
	margin-top: 1.875rem;
	margin-bottom: 1rem;
	text-align: center;
}

.p-register__text-head img {
	width: 12rem;
	height: auto;
}

.p-register__text-wrap {
	margin: auto;
	background: #fff;
	padding: 0.75rem 0;
	padding-left: 1.5625rem;
	width: 40rem;
	height: 20.5rem;
	overflow-y: auto;
}

.p-register__text-wrap::-webkit-scrollbar {
	width: 1.125rem;
}

.p-register__text-wrap::-webkit-scrollbar-track {
	background-color: #c3c3c3;
}

.p-register__text-wrap::-webkit-scrollbar-thumb {
	background: #42210b;
}

.p-register__text {
	font-feature-settings: "palt";
	padding-right: 2.5rem;
	width: 100%;
	height: auto;
	color: #202020;
	font-weight: 400;
	font-size: 0.875rem;
	line-height: 1.5714285714;
	letter-spacing: 0.01em;
}

.p-register__chara {
	position: absolute;
}

.p-register__chara.--chara1 {
	top: -4.125rem;
	left: -0.375rem;
	z-index: 8;
	width: 10.4375rem;
	height: auto;
}

.p-register__chara.--chara2 {
	bottom: 7.5rem;
	left: -2.75rem;
	z-index: 9;
	width: 20.5rem;
	height: auto;
}

.p-register__chara.--chara3 {
	top: -4.3125rem;
	right: -1.5625rem;
	z-index: 8;
	width: 14.0625rem;
	height: auto;
}

.p-register__chara.--chara4 {
	right: -1.25rem;
	bottom: 7.625rem;
	z-index: 9;
	width: 21.5625rem;
	height: auto;
}

.p-thanks__text-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	padding: 0.75rem 0;
	padding-left: 1.5625rem;
	width: 40rem;
	height: 100%;
	overflow-y: auto;
	text-align: center;
}

.p-thanks__text-wrap::-webkit-scrollbar {
	width: 1.125rem;
}

.p-thanks__text-wrap::-webkit-scrollbar-track {
	background-color: #c3c3c3;
}

.p-thanks__text-wrap::-webkit-scrollbar-thumb {
	background: #42210b;
}

.p-thanks__text {
	font-feature-settings: "palt";
	padding-right: 2.5rem;
	padding-bottom: 6.25rem;
	width: 100%;
	height: auto;
	color: #202020;
	font-weight: 400;
	font-size: 2.25rem;
	line-height: 1.5;
	letter-spacing: 0em;
}

.u-animation__fadeIn,
.u-animation__fadeInUp,
.u-animation__fadeInUp50,
.u-animation__fadeInLeft,
.u-animation__fadeInRight,
.u-animation__fadeInLeftBig,
.u-animation__fadeInRightBig {
	opacity: 0;
}

.js-fadeIn {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInContents;
}

.js-fadeIn__delay--1s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInContents;
}

.js-fadeIn__delay--2s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInContents;
}

.js-fadeInUp {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInUpContents;
}

.js-fadeInUp50 {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInUpContents50;
}

.js-fadeInUp__delay--05s {
	animation-duration: 1s;
	animation-delay: 0.5s;
	animation-fill-mode: forwards;
	animation-name: fadeInUpContents;
}

.js-fadeInUp__delay--1s {
	animation-duration: 1s;
	animation-delay: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInUpContents;
}

.js-fadeInUp50__delay--1s {
	animation-duration: 1s;
	animation-delay: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInUpContents50;
}

.js-fadeInUp__delay--15s {
	animation-duration: 1s;
	animation-delay: 1.5s;
	animation-fill-mode: forwards;
	animation-name: fadeInUpContents;
}

.js-fadeInUp__delay--2s {
	animation-duration: 1s;
	animation-delay: 2s;
	animation-fill-mode: forwards;
	animation-name: fadeInUpContents;
}

.js-fadeInLeft {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInLeftContents;
}

.js-fadeInLeft__delay--1s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInLeftContents;
}

.js-fadeInLeft__delay--2s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInLeftContents;
}

.js-fadeInLeftBig {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInLeftBigContents;
}

.js-fadeInLeftBig__delay--1s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInLeftBigContents;
}

.js-fadeInLeftBig__delay--2s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInLeftBigContents;
}

.js-fadeInRight {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInRightContents;
}

.js-fadeInRight__delay--1s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInRightContents;
}

.js-fadeInRight__delay--2s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInRightContents;
}

.js-fadeInRightBig {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInRightBigContents;
}

.js-fadeInRightBig__delay--1s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInRightBigContents;
}

.js-fadeInRightBig__delay--2s {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeInRightBigContents;
}

.u-sp {
	display: none;
}

.u-pc {
	display: none;
}

.u-text__center {
	text-align: center !important;
}

.u-text__left {
	text-align: left !important;
}

.u-text__right {
	text-align: right !important;
}

.u-text__nowrap {
	white-space: nowrap;
}

.u-pointer__none {
	pointer-events: none !important;
}

@media (hover: hover) {

a:hover {
	cursor: pointer;
}

.l-footer__link-wrap a:hover {
	opacity: 1;
	cursor: pointer;
}

.p-fv__link a:hover {
	opacity: 0.4;
}

.p-fv__message-btn a:hover {
	opacity: 0.6;
}

.badge:hover img {
	opacity: 0.7;
}

.p-four__x-link:hover img {
	opacity: 0.6;
}

.p-character__chara:hover {
	opacity: 0.4;
}

.p-register__privacy-label:hover {
	cursor: pointer;
}

.p-register__privacy-text a:hover {
	opacity: 0.6;
}

.p-register__email input[type=submit]:hover {
	opacity: 0.4;
	cursor: pointer;
}

}

@media (min-width: 860px) {

.js-fadeIn__delay--1s {
	animation-delay: 1s;
}

.js-fadeIn__delay--2s {
	animation-delay: 2s;
}

.js-fadeInLeft__delay--1s {
	animation-delay: 1s;
}

.js-fadeInLeft__delay--2s {
	animation-delay: 2s;
}

.js-fadeInLeftBig__delay--1s {
	animation-delay: 1s;
}

.js-fadeInLeftBig__delay--2s {
	animation-delay: 2s;
}

.js-fadeInRight__delay--1s {
	animation-delay: 1s;
}

.js-fadeInRight__delay--2s {
	animation-delay: 2s;
}

.js-fadeInRightBig__delay--1s {
	animation-delay: 1s;
}

.js-fadeInRightBig__delay--2s {
	animation-delay: 2s;
}

.u-pc {
	display: block;
}

.u-text__center--pc {
	text-align: center !important;
}

.u-text__left--pc {
	text-align: left !important;
}

.u-text__right--pc {
	text-align: right !important;
}

.u-text__nowrap--pc {
	white-space: nowrap;
}

.u-pointer__none--pc {
	pointer-events: none !important;
}

}

@media screen and (max-width: 1389px) and (min-width: 860px) {

html {
	font-size: calc(16 / 1390 * 100vw);
}

}

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

.p-story__lead {
	aspect-ratio: 1920/150;
	width: 100%;
	height: auto;
}

}

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

.p-fv__title {
	padding-top: 40.3958333333vw;   /* 元42.8958333333vw。同上 */
}

.p-story__chara {
	right: -1.25rem;
	width: 22.5rem;
}

}

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

html {
	font-size: calc(16 / 750 * 100vw);
}

.l-inner {
	padding: 0 1.25rem;
	width: 100%;
	max-width: 100%;
}

.l-inner__narrow {
	padding: 0 3.125rem;
	max-width: 100%;
}

.l-footer {
	padding: 2.1875rem 0 5.875rem;
}

.l-footer__head-wrap {
	width: 36.375rem;
}

.l-footer__logo {
	width: 13.75rem;
}

.l-footer__head-text {
	font-weight: 400;
	font-size: 0.8125rem;
	line-height: 1.4615384615;
	letter-spacing: 0.01em;
}

.l-footer__link-wrap {
	-moz-column-gap: 1.875rem;
	column-gap: 1.875rem;
	margin: 1.5625rem 0 2.5rem;
}

.l-footer__under-wrap {
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.l-footer__poppin {
	width: 9.6875rem;
}

.l-footer__poppin-link a,
.l-footer__poppin-link span {
	font-weight: 400;
	font-size: 0.9375rem;
	line-height: 1.4666666667;
	letter-spacing: 0.01em;
}

.l-footer__copyright {
	margin-top: 0.875rem;
	font-weight: 400;
	font-size: 0.8125rem;
	line-height: 1.6923076923;
	letter-spacing: 0.01em;
}

.l-section {
	padding-top: 2.5rem;
}

.c-section__title {
	font-weight: 400;
	font-size: 1.25rem;
	line-height: 1.5;
	letter-spacing: 0em;
}

.p-fv {
	/* 1層目=フェード用グラデーション（下端だけを背景色#f2e5cdへ溶かす）
	   60%からフェード開始、85%で完全に背景色。画像の下端は枠の84.3%の位置
	   2層目=背景画像。縮小率はcover相当が約202%、下げるほど縮小＝左右の見切れが減る */
	background:
		linear-gradient(to bottom,
			rgba(242, 229, 205, 0) 50%,
			rgb(242, 229, 205) 85%),
		url(../img/2nd-fv_sp.png) center top;
	background-size: 100% 100%, 150% auto;
	background-repeat: no-repeat, no-repeat;
	background-color: #f2e5cd;
	aspect-ratio: 750/1060;
}
    
.p-fv__title {
	padding-top: 42rem;
}

.p-fv__title img {
	width: 41.25rem;
}

.p-fv__nav {
	display: block;
	bottom: -12.5rem;
	padding: 0.625rem 1.5rem;
	width: 32.625rem;
	text-align: center;
}

.p-fv__nav-title {
	margin: auto;
	margin-bottom: 1rem;
	aspect-ratio: 351/51;
	width: 18.125rem;
	height: auto;
}

.p-fv__menu {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

.p-fv__link {
	width: 100%;
}

.p-fv__message-btn {
	position: absolute;
	left: 60%;
	bottom: 38%;
	/* fadeInUp が transform を使うため、中央寄せは translateX ではなく
	   画像幅(25.625rem)の半分の負マージンで行う。
	   中央寄せなら -12.8125rem。値を小さくするほど右へ寄る（右端まで残り約5.94rem） */
	margin-left: -12.8125rem;
	margin-top: 0;
	width: auto;
	z-index: 4;
}

.p-fv__message-btn img {
	width: 25.625rem;
}

.p-four {
	margin-top: 13.75rem;
	aspect-ratio: 750/660;
	height: 41.25rem;
	min-height: unset;
}

.p-four::after {
	bottom: -3.75rem;
	aspect-ratio: 750/320;
}

.p-four__chara.--chara1 {
	top: 1.875rem;
	left: 0rem;
	width: 18.125rem;
}

.p-four__chara.--chara2 {
	top: 4.5rem;
	left: 5.625rem;
	width: 20.625rem;
}

.p-four__chara.--chara3 {
	top: 3.5rem;
	right: 8.125rem;
	width: 22.5rem;
}

.p-four__chara.--chara4 {
	top: 1.25rem;
	right: -6.25rem;
	width: 24.375rem;
}

.badge {
	top: 13.125rem;
	right: 3.125rem;
	width: 9.375rem;
}
.badge2 {
	top: 13.125rem;
	left: 1.125rem;
}

.p-four__x-link {
	top: 19.625rem;
	left: 0.9375rem;
	width: 41.875rem;
}

.p-story {
	margin-top: -2.5rem;
	height: 54.6875rem;
}

.p-story::after {
	top: 2.5rem;
}

.p-story__lead {
	width: 87.5rem;
}

.p-story__chara {
	display: none;
}

.p-story__text-wrap {
	padding-top: 12.8125rem;
}

.p-story__text:not(:last-of-type) {
	margin-bottom: 2.5rem;
}

.p-story__text.--text1 {
	width: 30.375rem;
}

.p-story__text.--text2 {
	width: 13.4375rem;
}

.p-story__text.--text3 {
	width: 36.625rem;
}

.p-story__text.--text4 {
	width: 20.8125rem;
}

.p-story__text.--text5 {
	width: 31.5625rem;
}

.p-character {
	margin-top: -3.125rem;
	height: 50rem;
}

.p-character::before {
	top: 3.125rem;
}

.p-character::after {
	top: 3.125rem;
}

.p-character__contents-wrap {
	margin-top: 9.0625rem;
}

.p-character__kazari {
	display: none;
}

.p-character__chara {
	width: 11.25rem;
}

.p-character__chara.--chara1 {
	top: calc(100% - 1.25rem);
	left: 0;
}

.p-character__chara.--chara2 {
	top: calc(100% - 1.25rem);
	bottom: unset;
	left: 11.0625rem;
}

.p-character__chara.--chara3 {
	top: calc(100% - 1.25rem);
	right: 11.0625rem;
}

.p-character__chara.--chara4 {
	top: calc(100% - 1.25rem);
	right: 0rem;
	bottom: unset;
}

.p-character__content {
	width: 41.625rem;
}

.p-campaign {
	margin-top: -3.125rem;
	height: 72.625rem;
}

.p-campaign::before {
	top: 3.125rem;
}

.p-campaign__head {
	margin: 8.125rem auto 1.875rem;
}

.p-campaign__head img {
	width: 33.75rem;
}

.p-campaign__wrap {
	display: block;
	margin: auto;
	width: 26.875rem;
}

.p-campaign__item.--large {
	margin-top: 0.375rem;
	width: 30.4375rem;
}

.p-register {
	padding-top: 2.1875rem;
	height: 46.25rem;
}

.p-register__container {
	margin-left: -1.25rem;
	background: url(../img/register_container-bg_sp.png) no-repeat center center/contain;
	width: 46.875rem;
	height: 41.875rem;
}

.p-register__mail-head {
	margin-top: 3.5rem;
}

.p-register__mail-head img {
	width: 33.75rem;
}

.p-register__form {
	margin-top: 1.875rem;
}

.p-register__privacy {
	margin-bottom: 1.875rem;
}

.p-register__privacy-label span {
	padding-left: 2.5rem;
}

.p-register__email input[type=email] {
	width: 25rem;
}

.p-register__email input[type=submit] {
	width: 9.0625rem;
}

.p-register__text-head {
	margin-top: 1.5625rem;
	margin-bottom: 0.75rem;
}

.p-register__text-head img {
	width: 10.625rem;
}

.p-register__text-wrap {
	padding: 0.625rem 0;
	padding-left: 1.25rem;
	width: 35rem;
	height: 18.125rem;
}

.p-register__chara {
	display: none;
}

.js-fadeInLeft {
	animation-name: fadeInUpContents;
}

.js-fadeInLeft__delay--1s {
	animation-name: fadeInUpContents;
}

.js-fadeInLeft__delay--2s {
	animation-name: fadeInUpContents;
}

.js-fadeInLeftBig {
	animation-name: fadeInUpContents;
}

.js-fadeInLeftBig__delay--1s {
	animation-name: fadeInUpContents;
}

.js-fadeInLeftBig__delay--2s {
	animation-name: fadeInUpContents;
}

.js-fadeInRight {
	animation-name: fadeInUpContents;
}

.js-fadeInRight__delay--1s {
	animation-name: fadeInUpContents;
}

.js-fadeInRight__delay--2s {
	animation-name: fadeInUpContents;
}

.js-fadeInRightBig {
	animation-name: fadeInUpContents;
}

.js-fadeInRightBig__delay--1s {
	animation-name: fadeInUpContents;
}

.js-fadeInRightBig__delay--2s {
	animation-name: fadeInUpContents;
}

.u-sp {
	display: block;
}

.u-text__center--sp {
	text-align: center !important;
}

.u-text__left--sp {
	text-align: left !important;
}

.u-text__right--sp {
	text-align: right !important;
}

.u-text__nowrap--sp {
	white-space: nowrap;
}

.u-pointer__none--sp {
	pointer-events: none !important;
}

}

@keyframes fadeInContents {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes fadeInUpContents {

0% {
	transform: translateY(20px);
	opacity: 0;
}

100% {
	transform: translateY(0);
	opacity: 1;
}

}

@keyframes fadeInUpContents50 {

0% {
	transform: translate(-50%, 20px);
	opacity: 0;
}

100% {
	transform: translate(-50%, 0px);
	opacity: 1;
}

}

@keyframes fadeInLeftContents {

0% {
	transform: translateX(-20px);
	opacity: 0;
}

100% {
	transform: translateX(0);
	opacity: 1;
}

}

@keyframes fadeInLeftBigContents {

0% {
	transform: translateX(-1000px);
	opacity: 0;
}

100% {
	transform: translateX(0);
	opacity: 1;
}

}

@keyframes fadeInRightContents {

0% {
	transform: translateX(20px);
	opacity: 0;
}

100% {
	transform: translateX(0);
	opacity: 1;
}

}

@keyframes fadeInRightBigContents {

0% {
	transform: translateX(62.5rem);
	opacity: 0;
}

100% {
	transform: translateX(0);
	opacity: 1;
}

}

