@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&family=Zen+Kaku+Gothic+New&display=swap');

/* --------- FMT --------- */
:root {
	--main: #285BAE;
	--txt-color: #444A4F;
	--lightBlue: #65A9DA;
	--outfit: 'Outfit', 'Zen Kaku Gothic New', sans-serif;
}
.info_wrap,
.footer_container {
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Verdana", "sans-serif";
	font-size: 16px;
	line-height: 1.5;
	color: #000;
	font-weight: 400;
}
img {
	display: block;
	width: 100%;
}
.content_wrap {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	color: var(--txt-color);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 66px;
	width: 100%;
	position: relative;
	z-index: 0;
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}
}
.content-inner {
	width: 92%;
	max-width: 700px;
	margin-inline: auto;
}
figure {
	margin: 0 auto;
	width: 100%;
}
.txt-link {
	color: var(--main);
	text-decoration: underline;
	font-weight: 700;
	transition: .3s;
	&:active {
		opacity: .5;
	}
}
.note-list {
	display: grid;
	gap: 5px;
}
.note-list__item {
	font-size: 12px;
	letter-spacing: .025em;
	padding-left: 1em;
	text-indent: -1em;
}
/* ------ 汎用 ------ */
/* --- CTA --- */
.cta-wrapper {
	margin-top: 30px;
	.note-list {
		margin-top: 20px;
	}
}
.cta-btn {
	display: block;
}
.cta-note {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	padding-left: 1em;
	text-indent: -1em;
	margin-top: 20px;
}
/* --- acc --- */
.acc__btn {
	display: block;
	width: fit-content;
	margin: 10px auto 0;
	padding: 8px 41px 8px 20px;
	background: var(--main);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .05em;
	list-style: none;
	border-radius: 10vh;
	position: relative;
	cursor: pointer;
	transition: .3s opacity;
	&::-webkit-details-marker {
		display: none;
	}
	&:active {
		opacity: .7;
	}
}
.acc__ico {
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 10px;
	right: 10px;
	background: #fff;
	border-radius: 50%;
	&::before,
	&::after {
		content: "";
		display: block;
		width: 8px;
		height: 2px;
		background: var(--main);
		position: absolute;
		inset: 0;
		margin: auto;
	}
	&::after {
		rotate: 90deg;
		transition: rotate .3s;
	}
}
.acc[open] .acc__ico::after {
	rotate: 0deg;
}
.acc__content {
	margin-top: 15px;
	background: #fff;
	border: 1px solid var(--main);
	transition: .6s ease-in-out;
	height: 0;
	overflow: hidden;
}
.note-acc {
	.acc__content {
		background: #F0F8FF;
	}
	.acc__content__inner {
		padding: 9px;
	}
	.acc__btn {
		padding: 4px 36px 5px 18px;
	}
	.acc__ico {
		width: 16px;
		height: 16px;
		top: 6px;
	}
}
.acc__content__inner {
	padding: 19px 14px;
}
/* --- sec-separator --- */
.sec-separator {
	width: 207px;
	margin: 20px auto 0;
}
/* --- sec-box --- */
.sec-box {
	background: url(../img/bg_common02.png) repeat top left/375px;
	padding: 28px 15px 38px;
	border-block: 2px solid var(--main);
}
/* --- sec-ttl --- */
.sec-ttl {
	margin-inline: auto;
}
/* --- sec-period --- */
.sec-period {
	color: var(--main);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
	margin-top: 20px;
}
.sec-period__day {
	font-size: 13px;
	letter-spacing: .05em;
}

/* --- sec-txt --- */
.sec-txt {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: .05em;
	text-align: center;
	margin-top: 25px;
}
/* --- sec-subttl --- */
.sec-subttl {
	display: grid;
	place-content: center;
	width: 198px;
	height: 46px;
	background: url(../img/bg_common03.svg) no-repeat center/cover;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
	margin-inline: auto;
}
/* --- animation --- */
[data-animate="fade-up"] {
	opacity: 0;
	translate: 0 40px;
	transition: .6s ease-out opacity, .6s ease-out translate;
	&.js-animate--active {
		opacity: 1;
		translate: 0 0;
	}
}
/* --- comingsoon,finish --- */
.comingsoon,
.finish {
	position: relative;
	pointer-events: none;
	&::after {
		content: "Coming Soon";
		display: grid;
		place-content: center;
		background: rgb(255 255 255/.9);
		font-size: 8vw;
		font-weight: 700;
		text-align: center;
		line-height: 1.2;
		position: absolute;
		inset: 0;
	}
}
.finish-txt {
	max-width: 740px;
	margin: 16px auto;
	border: 2px solid #f00;
	background: #fff;
	padding-block: 8px;
	color: #f00;
	font-weight: 700;
	text-align: center;
}
.finish::after {
	content: "終了しました";
	border: 2px solid #f00;
	color: #f00;
	font-size: 18px;
	width: 90%;
	height: 90%;
	margin: auto;
}

/* --------- main --------- */
main {
	background: url(../img/bg_common01.png) repeat center top/100%;
}
/* ------ mv ------ */
.mv h1 {
	max-width: 1300px;
	margin-inline: auto;
	opacity: 0;
	transition: 1.2s opacity ease-in-out;
}
.loaded .mv h1 {
	opacity: 1;
}
.mv__period {
	background: #FCEF8E;
	padding-block: 4px 5px;
	border-block: 1px solid var(--main);
	color: var(--main);
	font-size: 26px;
	font-weight: 600;
	font-family: var(--outfit);
	letter-spacing: .05em;
	text-align: center;
}
.mv__period__day {
	display: inline-block;
	width: 20px;
	height: 20px;
	background: var(--main);
	border-radius: 50%;
	padding-top: 1px;
	color: #FCEF8E;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	text-align: center;
	margin-left: 4px;
	vertical-align: 4px;
}
.mv__period__ico {
	display: inline-block;
	width: 30px;
	margin-inline: 8px;
	vertical-align: 8px;
}
/* ------ sec--intro ------ */
.sec--intro {
	padding-block: 40px 30px;
	position: relative;
	>* {
		position: relative;
	}
	&::before {
		content: '';
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 750/352;
		background: url(../img/bg_intro01_sp.png) no-repeat center/cover;
		position: absolute;
		top: 30px;
		left: 0;
		mix-blend-mode: hard-light;
	}
}
.sec--intro__txt {
	color: var(--main);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: .07em;
	text-align: center;
}
.sec--intro__img-wrapper {
	display: block;
	width: 80%;
	margin: 30px 0 0 auto;
	overflow: hidden;
	&.js-animate--active .sec--intro__img {
		translate: 0;
	}
}
.sec--intro__img {
	translate: 150%;
	transition: 1s cubic-bezier(0.2, 0.8, 0.25, 1) translate;
}
.sec--intro__movie-outer {
	max-width: 500px;
	margin: 30px auto 0;
}
.sec--intro__movie-wrapper {
	padding: 14px;
	border: 1px solid var(--main);
	border-radius: 10px;
	background: #fff;
}
.sec--intro__movie {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
}
.sec--inrto__movie-caption {
	color: var(--main);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .07em;
	text-align: center;
	margin-top: 6px;
}
.sec--intro__movie-note {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .07em;
	text-align: center;
	margin-top: 2px;
}
.sec--intro__acc {
	margin-top: 30px;
	.sec-separator:first-child {
		margin-top: 0;
	}
}
.sec--intro__acc__txt {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
	margin-top: 20px;
}
.sec--intro__acc__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	margin-top: 20px;
}
.sec--intro__acc__list__item {
	display: flex;
	flex-direction: column-reverse;
	gap: 8px;
}
.sec--intro__acc__list__item__ttl {
	color: #65A9DA;
	>span {
		display: block;
		line-height: 1.3;
		text-align: center;
	}
}
.sec--intro__acc__list__item__ttl__kanji {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
}
.sec--intro__acc__list__item__ttl__kana {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0;
}
/* ------ sec--toc ------ */
.sec--toc {
	padding-bottom: 50px;
	position: relative;
	.content-inner {
		position: relative;
	}
	&::before {
		content: '';
		display: block;
		width: 97.6%;
		height: auto;
		aspect-ratio: 732/619;
		background: url(../img/bg_toc01_sp.png) no-repeat center/cover;
		position: absolute;
		top: 10px;
		left: 0;
		mix-blend-mode: hard-light;
	}
}
.sec--toc__ttl {
	color: #B7D5F1;
	font-size: 25px;
	font-weight: 600;
	font-family: var(--outfit);
	letter-spacing: .05em;
	text-align: center;
}
.sec--toc__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 12px;
	margin: 10px 14px 0;
	li {
		width: calc(calc(100% - 12px) / 2);
	}
}
.sec--toc__btn {
	display: block;
	transition: .3s scale;
	&:active {
		scale: 1.05;
	}
}
/* ------ sec--contents ------ */
.sec--contents {
	.sec-ttl {
		width: 200px;
	}
}
.sec--contents__txt--note {
	font-size: 12px;
	letter-spacing: .05em;
	text-align: center;
	margin-top: 8px;
}
.sec--contents__list {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 25px;
}
.sec--contents__list__ttl {
	background: var(--main);
	padding: 8px 15px;
	clip-path: polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%,10px 50%);
	>span {
		display: block;
		text-align: center;
	}
}
.sec--contents__list__ttl__ja {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
}
.sec--contents__list__ttl__en {
	color: #799CD6;
	font-size: 11px;
	font-weight: 600;
	font-family: var(--outfit);
	line-height: 1.2;
	letter-spacing: .05em;
}
.sec--contents__list__dtl {
	display: flex;
	flex-direction: column;
	max-width: 360px;
	margin: 20px auto 0;
	gap: 5px;
	&:has(.sec--contents__list__dtl__list-wrapper) {
		margin-top: 15px;
	}
}
.sec--contents__list__dtl__txt {
	color: var(--main);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
	span {
		font-size: 12px;
		letter-spacing: .05em;
	}
}
.sec--contents__list__dtl__lead-txt {
	font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
}
.sec--contents__list__dtl__list {
	margin-top: 5px;
}
.sec--contents__list__dtl__list-wrapper__ttl {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .05em;
	>span {
		display: block;
		text-align: center;
	}
}
.sec--contents__list__dtl__list-wrapper__ttl__highlight {
	color: var(--lightBlue);
}
.sec--contents__list__dtl__list-wrapper__ttl__subttl {
	margin-top: 4px;
}
.sec--contents__list__dtl__list__item {
	display: flex;
	gap: 8px;
	align-items: center;
	padding-block: 10px;
	border-top: 1px solid var(--main);
	&:first-child {
		border: 0;
	}
	&:has([data-state="comngsoon"]) {			text-align: center;
		justify-content: center;
	}
	.sec--contents__list__dtl__txt {
		text-align: left;
	}
}
.sec--contents__list__dtl__list__label {
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .05em;
	background: var(--lightBlue);
	padding: 2px 10px 4px;
	border-radius: 10vh;
}
.sec--contents__list__item:nth-child(3) {
	.sec--contents__list__dtl__list__label {
		font-size: 12px;
		padding-inline: 8px;
		flex-shrink: 0;
	}
	.sec--contents__list__dtl__txt {
		letter-spacing: .03em;
		span {
			letter-spacing: .03em;
		}
	}
}
.sec--contents__acc {
	max-width: 500px;
	margin: 40px auto 0;
	.acc__btn {
		width: 100%;
		padding: 10px;
		text-align: center;
		border-radius: 0;
	}
	.acc__ico {
		top: 12px;
	}
}
.sec--contents__acc {
	.acc__content {
		margin: 0;
		border-width: 2px;
	}
	.acc__content__inner {
		padding: 13px 13px 18px;
	}
	.acc__content__txt {
		font-size: 13px;
		font-weight: 500;
		letter-spacing: .05em;
		text-align: center;
	}
	.acc__content__img {
		width: 50px;
		margin:10px auto 0 ;
	}
}
.sec--contents__splide {
	margin: 15px 17px 0 16px;
}
.splide__arrows-wrapper {
	position: relative;
}
.splide__arrow {
	display: grid;
	place-content: center;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 29px;
	height: 30px;
	background: var(--txt-color);
	z-index: 1;
	padding: 0;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: .3s opacity;
	svg {
		display: none;
	}
	&::after {
		content: '';
		display: block;
		width: 7px;
		height: 7px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		rotate: 45deg;
		translate: -1px;
	}
	&:active {
		opacity:.7;
	}
	&[disabled] {
		display: none;
	}
}
.splide__arrow--next {
	right: -17px;
}
.splide__arrow--prev {
	left: -16px;
	scale: -1;
}
.splide__slide {
	display: flex;
	height: 120px;
	flex-direction: column;
	justify-content: center;
	background: #E1F0FF;
	padding: 20px;
	border-radius: 10px;
}
.splide__slide__txt {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
	margin-top: 5px;
	&:first-child {
		margin: 0;
	}
	&+.splide__slide__btn {
		margin-top: 5px;
	}
}
.splide__slide__btn {
	display: block;
	width: fit-content;
	margin-inline: auto;
	padding: 3px 8px;
	background: var(--main);
	border-radius: 10vh;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
}
/* ------ sec-novelty ------ */
.sec-novelty {
	margin-top: 50px;
	.sec-ttl {
		width: 249px;
	}
	.note-acc {
		margin-top: 20px;
	}
}
.sec--novelty__note-list {
	margin-top: 20px;
}
.sec--novelty__img-outer {
	margin-top: 25px;
}
.sec--novelty__img__ttl {
	width: fit-content;
	background: var(--main);
	padding: 0 10px 2px;
	border-radius: 10vh;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
	margin-inline: auto;
}
.sec--novelty__img {
	margin-top: 16px;
}
.sec--novelty__img-note {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .05em;
	text-align: right;
	margin-top: 13px;
}
.sec--novelty__place {
	max-width: 500px;
	margin: 30px 15px 0;
}
.sec--novelty__place__list__item {
	border-top: 1px solid var(--main);
	padding-block: 10px 15px;
	&:first-child {
		border: 0;
		padding-top: 15px;
	}
}
.sec--novelty__place__list__ttl {
	color: var(--main);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
}
.sec--novelty__place__list__dtl {
	margin-top: 1px;
}
.sec--novelty__place__list__dtl__txt {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
	margin-top: 4px;
}
.sec--novelty__place__list__dtl__note {
	font-size: 12px;
	letter-spacing: .05em;
	margin-top: 4px;
}
.sec--novelty__period {
	margin-top: 5px;
}
.sec--novelty__period__txt {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
	margin-top: 15px;
}
.sec--novelty__flow {
	max-width: 500px;
	margin: 50px auto 0;
	padding: 0 13px 13px;
	border: 2px solid var(--lightBlue);
	background: #F0F8FF;
}
.sec--novelty__flow__ttl {
	background: var(--lightBlue);
	mask-image: url(../img/bg_common03.svg);
	translate: 0 -25px;
}
.sec--novelty__flow__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: -13px;
	background: linear-gradient(to top,var(--lightBlue) 0%,var(--lightBlue) 100%) no-repeat top left 30px/2px calc(100% - 24px);
}
.sec--novelty__flow__list__item {
	display: flex;
	align-items: center;
	gap: 8px;
}
.sec--novelty__flow__list__item__num {
	display: block;
	width: fit-content;
	padding: 1px 9px 3px;
	background: #FCEF8E;
	border: 1px solid var(--lightBlue);
	border-radius: 10vh;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .05em;
	flex-shrink: 0;
}
.sec--novelty__flow__list__item__txt {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .05em;
}

/* ------ sec--campaign ------ */
.sec--campaign {
	margin-top: 60px;
	padding-block: 70px 10px;
	background: url(../img/bg_campaign01.png) repeat top left/375px;
	color: #fff;
	position: relative;
	&::before {
		content: '';
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 750/344;
		background: url(../img/bg_campaign02_sp.png) no-repeat center/cover;
		mix-blend-mode: hard-light;
		position: absolute;
		top: 40px;
		left: 0;
	}
	.content-inner {
		width: 84.5334%;
		max-width: 500px;
		position: relative;
	}
}
.sec--campaign__ttl {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}
.sec--campaign__img {
	margin-top: 40px;
}
.sec--campaign__txt {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: .05em;
	margin-top: 30px;
}
.sec--campaign__btn-wrapper {
	max-width: 300px;
	margin: 30px auto 0;
}
.sec--campaign__btn {
	display: block;
	border: 1px solid #fff;
	border-radius: 10vh;
	padding-block: 14px;
	color: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: .02em;
	text-align: center;
	transition: .3s background-color, .3s color;
	position: relative;
	&::after {
		content: '';
		display: block;
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		rotate: 45deg;
		position: absolute;
		top: 50%;
		right: 20px;
		translate: 0 -50%;
		transition: .3s border-color;
	}
	&:active {
		background: #fff;
		color: var(--main);
		&::after {
			border-color: var(--main);
		}
	}
}
.sec--campaign__source {
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: .05em;
	text-align: center;
	margin-top: 40px;
}
/* ------ to-top ------ */
.to-top {
	display: block;
	width: 50px;
	height: 50px;
	background: linear-gradient(136deg, #F3B4A8 14.5%, #82A4E7 95%);
	position: fixed;
	bottom: 24px;
	right: 8px;
	border: 2px solid #fff;
	border-radius: 50%;
	padding-top: 11px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	font-family: var(--outfit);
	letter-spacing: .05em;
	text-align: center;
	visibility: hidden;
	opacity: 0;
	transition: .3s visibility, .3s opacity;
	&::before {
		content: '';
		display: block;
		width: 8px;
		height: 8px;
		border-left: 2px solid #fff;
		border-top: 2px solid #fff;
		rotate: 45deg;
		margin-inline: auto;
	}
	&.is-visible {
		visibility: visible;
		opacity: 1;
	}
	&:active {
		opacity: .7;
	}
}
/* --------- footer --------- */
/* ------ info_wrap ------ */
.info_wrap {
	margin: 0 auto;
	padding: 8px 40px 20px;
	position: relative;
	background-color: #fff;
}
.oshitabi_btn {
	display: block;
	border: 4px solid #000;
	background: #fff;
	max-width: 740px;
	margin: 32px auto 0;
	font-size: 18px;
	font-weight: 700;
	font-family: "Zen Kaku Gothic New", sans-serif;
	text-align: center;
	border-radius: 10px;
	padding: 10px 30px 10px 5px;
	position: relative;
	transition: all .3s;
	&::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 30px;
		height: 12px;
		width: 12px;
		border-top: 3px solid #000;
		border-right: 3px solid #000;
		translate: 0 -50%;
		rotate: 45deg;
		transition: all .3s;
	}
	&:active {
		background: var(--main);
		color: #fff;
		border-color: var(--main);
		&::after {
			border-color: #fff;
		}
	}
}
.credit {
	text-align: center;
	margin-top: 16px;
	font-size: 12px;
}
.footer_container {
	position: relative;
	z-index: 100;
	background-color: #fff;
	padding-top: 1px;
}


/* --------- mediaquery --------- */
@media(min-width:751px) {
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}

	/* --------- FMT --------- */
	.content_wrap {
		margin-top: 90px;
	}
	.txt-link:hover {
		opacity: .5;
	}
	/* ------ 汎用 ------ */
	/* --- CTA --- */
	.qr-wrapper {
		display: grid;
		max-width: 500px;
		margin-inline: auto;
		grid-template-columns: 1fr 100px;
		align-items: center;
		gap: 20px;
		background: linear-gradient(90deg, #A9CDFB 0%, #F5C4BE 100%);
		border: 2px solid var(--main);
		border-radius: 15px;
		padding: 15px 20px;
	}
	.qr-ttl {
		background: #fff;
		border-radius: 10vh;
		font-size: 16px;
		font-weight: 700;
		text-align: center;
		padding-block: 3px;
	}
	.qr-txt {
		font-size: 13px;
		font-weight: 500;
		letter-spacing: .03em;
		margin-top: 10px;
	}
	.qr-img {
		border-radius: 10px;
		overflow: hidden;
	}
	.cta-note {
		font-weight: 400;
		max-width: 500px;
		margin: 10px auto 0;
	}
	/* --- acc --- */
	.acc__btn:hover {
		opacity: .7;
	}
	/* --- sec-box --- */
	.sec-box {
		padding: 30px 40px 40px;
	}
	/* --- sec-period --- */
	.sec-period {
		font-size: 22px;
	}
	.sec-period__day {
		font-size: 17px;
	}

	/* --- sec-txt --- */
	.sec-txt {
		font-size: 16px;
	}
	/* --- comingsoon,finish --- */
	.comingsoon::after {
		font-size: 18px;
	}
	.finish::after {
		white-space: pre;
		content: "終了\Aしました";
	}

	/* --------- main --------- */
	/* ------ mv ------ */
	.mv__period {
		font-size: 30px;
		padding-block: 1px 2px;
	}
	/* ------ sec--intro ------ */
	.sec--intro {
		padding-block: 60px 40px;
		&::before {
			width: 710px;
			aspect-ratio: 710/190;
			background: url(../img/bg_intro01_pc.png) no-repeat center/cover;
			top: 36px;
			left: 50%;
			translate: -50%;
		}
	}
	.sec--intro__txt {
		font-size: 16px;
	}
	.sec--intro__img-wrapper {
		width: 65.64%;
		margin-top: 40px;
	}
	.sec--intro__movie-wrapper {
		margin-top: 40px;
	}
	.sec--intro__movie__ico {
		width: 115px;
		height: 115px;
		&::after {
			width: 41px;
			height: 47px;
		}
	}
	.sec--intro__acc {
		margin-top: 40px;
		.acc__content__inner {
			padding-inline: 39px;
		}
	}
	.sec--intro__acc__list {
		grid-template-columns: repeat(5, 1fr);
	}
	/* ------ sec--toc ------ */
	.sec--toc::before {
		width: 633px;
		aspect-ratio: 633/228;
		background: url(../img/bg_toc01_pc.png) no-repeat center/cover;
		top: -16px;
		left: calc(50% - 389px);
	}
	.sec--toc__list {
		max-width: 470px;
		margin-inline: auto;
		gap: 10px;
		li {
			width: calc(calc(100% - 20px) / 3);
		}
	}
	.sec--toc__btn:hover {
		scale: 1.05;
	}
	/* ------ sec--contents ------ */
	.sec--contents .sec-ttl {
		width: 221px;
	}
	.sec--contents__list__ttl__ja {
		font-size: 17px;
	}
	.sec--contents__acc {
		.acc__btn {
			width: 100%;
			padding: 10px;
			text-align: center;
			border-radius: 0;
		}
		.acc__ico {
			top: 12px;
		}
	}
	.sec--contents__acc .acc__content__inner {
		padding-inline: 38px;
	}
	.sec--contents__splide {
		margin-inline: 10px 11px;
	}
	.splide__arrow {
		width: 31px;
		height: 30px;
		&:hover {
			opacity: .7;
		}
	}
	.splide__arrow--next {
		right: -10px;
	}
	.splide__arrow--prev {
		left: -11px;
	}
	.splide__slide {
		padding-inline: 99px;
	}
	/* ------ sec-novelty ------ */
	.sec-novelty .sec-ttl {
		width: 275px;
	}
	.sec--novelty__img-outer {
		max-width: 310px;
		margin-inline: auto;
	}
	.sec--novelty__place {
		margin-inline: auto;
	}
	.sec--novelty__flow {
		padding: 0 30px 30px;
	}
	.sec--novelty__flow__ttl {
		translate: 0 -25px;
	}

	/* ------ sec--campaign ------ */
	.sec--campaign::before {
		width: 525px;
		aspect-ratio: 525/182;
		background: url(../img/bg_campaign02_pc.png) no-repeat center/cover;
		left: calc(50% - 280px);
	}
	.sec--campaign__ttl {
		font-size: 36px;
	}
	.sec--campaign__txt {
		font-size: 15px;
	}
	.sec--campaign__btn:hover {
		background: #fff;
		color: var(--main);
		&::after {
			border-color: var(--main);
		}
	}
	/* ------ to-top ------ */
	.to-top:hover {
		opacity: .7;
	}

	/* --------- footer --------- */
	.info_wrap {
		margin: 0 auto;
		padding: 8px 20px 100px;
	}
	.oshitabi_btn {
		padding: 15px;
		font-size: 20px;
		&:hover {
			background: var(--main);
			border-color: var(--main);
			color: #fff;
			&::after {
				border-color: #fff;
			}
		}
	}
}
@media(max-width:750px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}