@charset "UTF-8";

/* --------- FMT --------- */
:root {
	--main: #1097D7;
	--pink: #F36184;
	--annotation: #6193AB;
	--transition: cubic-bezier(.4,0,.5,1)
}
.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;
	color: #000;
	line-height: 1.5;
	font-weight: 400;
}
img,
picture {
	display: block;
	width: 100%;
}
.content_wrap {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
	margin-top: 66px;
	width: 100%;
	position: relative;
	z-index: 0;
	background: url(../img/bg_common01_sp.jpg) repeat top/100%;
	*,*::before,*::after {
		box-sizing: border-box;
	}
}
.content_wrap:has(.tab-btn--02.active) {
	background: url(../img/bg_common02_sp.jpg) repeat top/100%;
}
.content-inner {
	width: 92%;
	max-width: 600px;
	margin-inline: auto;
}
figure {
	margin: 0 auto;
    width: 100%;
}
.txt-link{
	color: var(--pink);
	text-decoration: underline;
	font-weight: 700;
	transition: .3s;
	&:active {
		opacity: .5;
	}
}
.note-list {
	display: grid;
	gap: 4px;
}
.note-list__items {
	color: var(--annotation);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .03em;
	padding-left: 1em;
	text-indent: -1em;
}

/* ------ 汎用 ------ */
/* --- CTA --- */
.cta-wrapper {
	margin-top: 30px;
	.note-list {
		margin-top: 20px;
	}
}
.cta-btn {
	display: block;
	filter: drop-shadow(0 4px 4px rgb(0 0 0/.15));
}
.cta-note {
	color: var(--pink);
	font-size: 11px;
	line-height: 1.4;
	padding-left: 1em;
	text-indent: -1em;
	margin-top: 10px;
}
/* --- sec-box --- */
.sec-box {
	background: #fff;
	border: 3px solid var(--main);
	border-radius: 20px;
	padding: 37px 12px 27px;
	margin-top: 15px;
}
/* --- sec-txt --- */
.sec-txt {
	color: #1b91c9;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .03em;
	text-align: center;
}
.sec-txt__highlight {
	color: var(--pink);
	background: linear-gradient(to top,#FFEFF5 0%,#FFEFF5 10px,transparent 10px,transparent 100%);
	span {
		font-size: 13px;
		letter-spacing: .03em;
	}
}
/* --- sec-join --- */
.sec-join {
	background: #E1F9FC;
	border: 2px solid #A0E0E8;
	border-radius: 15px;
	padding: 15px 13px 13px;
}
.sec-join__ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-inline: auto;
	&::before,
	&::after {
		content: "";
		display: inline-block;
		width: 45px;
		height: 35px;
	}
	&::before {
		background: url(../img/bg_common02.svg) no-repeat center/cover;
	}
	&::after {
		background: url(../img/bg_common03.svg) no-repeat center/cover;
	}
}
.sec-join__ttl__img {
	width: 89px;
}
.sec-join__list {
	margin-top: 7px;
}
.sec-join__list__items {
	display: grid;
	grid-template-columns: 66px 1fr;
	align-items: start;
	gap: 13px;
	padding-block: 13px 10px;
	border-bottom: 4px dotted var(--main);
	&:last-child {
		border: none;
	}
}
.sec-join__list__items__ttl {
	background: var(--main);
	padding-block: 5px;
	border-radius: 10vh;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .03em;
	text-align: center;
}
.sec-join__list__items__dtl {
	display: grid;
	min-height: 100%;
	align-items: center;
}
.sec-join__list__items__dtl__txt {
	color: var(--main);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .03em;
}
/* --- acc --- */
.acc {
	margin-top: 10px;
}
.acc__btn {
	display: block;
	width: fit-content;
	margin: 0 auto;
	padding: 6px 30px 6px 15px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	list-style: none;
	background: var(--main);
	border-radius: 10vh;
	position: relative;
	cursor: pointer;
	&::-webkit-details-marker {
		display:none;
	}
}
.acc__ico {
	display: block;
	width: 17px;
	height: 17px;
	position: absolute;
	top: 8px;
	right: 7px;
	background: #fff;
	border-radius: 50%;
	&::before,
	&::after {
		content: "";
		display: block;
		width: 9px;
		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: 10px;
    transition: .6s ease-in-out;
	height: 0;
	overflow: hidden;
}
/* --- modal --- */
.modal-btn {
	display: block;
	padding: 0;
	background: 0;
	border: 0;
	position: relative;
	cursor: pointer;
	&::after {
		content: '';
		display: block;
		width: 40px;
		height: 40px;
		background: url(../img/ico_zoom.svg) no-repeat center/cover;
		position: absolute;
		top: 0;
		right: 0;
	}
}
.modal-content {
	width: 92%;
	max-width: 640px;
	border: 0;
	padding: 0;
	background: 0;
	opacity: 0;
	translate: 0 20px;
	transition: opacity .4s ease-in-out, overlay .4s ease-in-out allow-discrete, display .4s ease-in-out allow-discrete;
	&[open] {
		opacity: 1;
		@starting-style {
			opacity: 0;
		}
	}
	&::backdrop {
		background: rgb(255 255 255/.5);
		backdrop-filter: blur(10px);
		opacity: 0;
		transition: opacity .4s ease-in-out, overlay .4s ease-in-out allow-discrete, display .4s ease-in-out allow-discrete;
	}
	&[open]::backdrop {
		opacity: 1;
		@starting-style {
			opacity: 0;
		}
	}
}
.modal-close-btn {
	display: block;
	width: 24px;
	height: 24px;
	margin: 0 0 8px auto;
	border: 0;
	padding: 0;
	position: relative;
	background: 0;
	cursor: pointer;
	transition: .4s opacity ease-in-out;
	&::before,&::after {
		content: '';
		display: block;
		width: 30px;
		height: 1px;
		background: #333;
		position: absolute;
		top: 50%;
		left: 50%;
		translate: -50% -50%;
	}
	&::before {
		rotate: 45deg;
	}
	&::after {
		rotate: -45deg;
	}
}
/* --- animation --- */
[data-animate="fade-up"] {
	opacity: 0;
	translate: 0 40px;
	transition: 1s translate var(--transition),
				.7s opacity var(--transition);
	&.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);
		border-radius: 10vh;
		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;
}

/* --------- MV --------- */
.mv {
	opacity: 0;
	transition: 1.2s opacity .2s var(--transition);
}
.loaded .mv {
	opacity: 1;
}
/* --------- sec--lead --------- */
.sec--lead {
	background: repeating-linear-gradient(to right,#FFF6BF 0 12px,#FFFBE2 12px 24px);
	padding-bottom: 55px;
}
.sec--lead__ttl {
	width: 92.754%;
	margin-inline: auto;
	translate: 0 -28px;
	opacity: 0;
	transition: 1.2s opacity 1s var(--transition);
}
.loaded .sec--lead__ttl {
	opacity: 1;
}
.sec--lead__txt {
	width: 85.218%;
	max-width: 292px;
	margin: 2px auto 0;
}
.sec--lead__period {
	background: #fff;
	border: 3px solid #E7CA57;
	border-radius: 15px;
	padding: 27px 17px;
	margin-top: 30px;
	position: relative;
	&::before,
	&::after {
		content: '';
		display: block;
		position: absolute;
		pointer-events: none;
	}
	&::before {
		background: url(../img/img_lead01.svg) no-repeat center/cover;
		width: 48px;
		height: 44px;
		top: -23px;
		left: 27px;
	}
	&::after {
		background: url(../img/img_lead02.svg) no-repeat center/cover;
		width: 50px;
		height: 43px;
		bottom: -24px;
		right: 22px;
	}
}
.sec--lead__period__img {
	height: 27px;
	width: auto;
}
.sec--lead__period__border {
	border: none;
	border-bottom: 4px dotted #E7CA57;
	margin-block: 12px;
}

/* --------- tab-content --------- */
.tab-outer {
	overflow: hidden;
}
.tab-btn-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
	justify-content: center;
	gap: 5px;
	background: repeating-linear-gradient(to right,#FFF6BF 0 12px,#FFFBE2 12px 24px);
	padding-inline: 4%;
}
.tab-btn {
    display: block;
    width: 100%;
    padding: 15px 15px 12px;
    text-align: center;
    border: 0;
	border-radius: 10px 10px 0 0;
    color: #fff;
	font-size: 20px;
	font-weight: 700;
	font-family: inherit;
	letter-spacing: .03em;
    cursor: pointer;
	background: url(../img/bg_tab-btn01.svg) no-repeat center top 10px/71.765%;
}
.tab-btn--01 {
	background-color: #89CCEB;
	&.active {
		background-color: var(--main);
	}
}
.tab-btn--02 {
	background-color: #D8C26C;
	&.active {
		background-color: #99811F;
	}
}
.tab-content {
	display: none;
	overflow: hidden;
	&.active {
		display: block;
	}
}
.first-cont {
	border-top: 3px solid var(--main);
	padding-top: 27px;
}
.second-cont {
	border-top: 3px solid #99811F;
	padding-block: 37px 66px;
}
.tab-cont__ttl {
	width: 84.534%;
	margin-inline: auto;
}
.tab-cont__period {
	color: #fff;
	font-size: 26px;
	font-weight: 800;
	letter-spacing: .03em;
	text-align: center;
	span {
		font-size: 16px;
		letter-spacing: .03em;
	}
}
.second-cont__comingsoon {
	color: #C9A50F;
	font-size: 36px;
	font-weight: 800;
	letter-spacing: .03em;
	text-align: center;
	margin-top: 36px;
	rotate: -5deg;
}

/* ------- sec--story ------- */
.sec--story {
	padding-block: 51px 65px;
	margin-top: 30px;
	position: relative;
	&::before {
		content: '';
		display: block;
		height: 100%;
		width: auto;
		background: repeating-linear-gradient(to right,#C0EDFF 0 10px,#ADE5FE 10px 20px);
		border-radius: 50%;
		aspect-ratio: 1/1;
		position: absolute;
		top: 0;
		left: 50%;
		translate: -50%;
		z-index: -1;
	}
}
.sec--story__ttl {
	width: 96px;
	margin-inline: auto;
}
.sec--story__subttl {
	color:  var(--main);
	font-weight: 900;
	letter-spacing: .03em;
	text-align: center;
	margin-top: 6px;
}
.sec--story__splide {
	margin-top: 20px;
	.splide__slide {
		background: #fff;
		border: 3px solid var(--main);
		border-radius: 15px;
		padding: 12px;
	}
}
.splide__control {
	max-width: 135px;
	margin: 15px auto 0;
	position: relative;
}
.splide__control__btn {
	display: block;
	width: 37px;
	height: 37px;
	border: 3px solid #fff;
	border-radius: 50%;
	cursor: pointer;
	transition: opacity .3s;
	&:active {
		opacity: .5;
	}
}
.splide__arrows {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.splide__arrow {
	background: url(../img/ico_story01.svg) no-repeat left calc(50% - 1px) center/13px,
				var(--main);
	&.splide__arrow--next {
		scale: -1 1;
	}
	svg {
		display: none;
	}
}
.splide__toggle {
	position: absolute;
	inset: 0;
	margin: auto;
	background: var(--main);
}
.splide__toggle__play,
.splide__toggle__pause {
	width: 100%;
	height: 100%;
}
.splide__toggle__pause {
	background: url(../img/ico_story02.svg) no-repeat center/12px;
}
.splide__toggle__play {
	display: block;
	scale: -1 1;
	background: url(../img/ico_story01.svg) no-repeat center/12px;
}

.splide__toggle.is-active .splide__toggle__pause {
	display: block;
}

.sec--story__deco {
	position: absolute;
	pointer-events: none;
}
.sec--story__deco--01 {
	width: 106px;
	top: -10px;
	left: calc(50% + 72px);
}
.sec--story__deco--02 {
	width: 105px;
	bottom: -10px;
	left: calc(50% - 167px);
}
.sec--story__deco--03 {
	width: 218px;
	bottom: -62px;
	left: calc(50% - 7px);
}

/* ------- toc ------- */
.toc-list {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 0;
	padding: 60px 0 40px 4%;
	background: url(../img/bg_toc01.svg) no-repeat top 50px left calc(50% - 173px)/34px,
				url(../img/bg_toc01.svg) no-repeat top 173px left calc(50% + 17px)/34px,
				url(../img/bg_toc01.svg) no-repeat bottom 18px left calc(50% + 167px)/47px;
}
.toc--list__items {
	width: 47.223%;
	&:nth-child(2) {
		margin-left: 5px;
	}
	&:nth-child(3) {
		width: 52.5%;
	}
}

/* ------- sec--novelty ------- */
.sec--novelty__img-wrapper {
	margin-top: 30px;
}
.sec--nobelty__img-note {
	color: var(--annotation);
	font-size: 12px;
	letter-spacing: .03em;
	text-align: right;
	margin-top: 30px;
}
.sec--novelty__join {
	margin-top: 20px;
	position: relative;
	&::after {
		content: "";
		display: block;
		width: 103px;
		height: 107px;
		background: url(../img/bg_novelty01.png) no-repeat center/cover;
		position: absolute;
		top: -54px;
		left: calc(50% - 197px);
	}
}
.sec--novelty__note-list {
	margin-top: 30px;
}
.sec--novelty__exchange {
	margin-top: 30px;
	background: #FFEFF5;
	border: 2px solid #F8BECC;
	border-radius: 15px;
	padding: 18px 13px;
}
.sec--novelty__exchange__list {
	display: grid;
	gap: 15px;
}
.sec--novelty__exchange__list__items__ttl {
	background: var(--main);
	padding-block: 3px;
	border-radius: 10vh;
	color: #fff;
	font-weight: 700;
	letter-spacing: .03em;
	text-align: center;
	position: relative;
	&::before,&::after {
		content: "";
		display: block;
		width: 45px;
		height: 35px;
		position: absolute;
	}
	&::before {
		background: url(../img/bg_novelty02.svg) no-repeat center/cover;
		top: -9px;
		left: calc(50% - 84px);
	}
	&::after {
		background: url(../img/bg_novelty03.svg) no-repeat center/cover;
		top: -8px;
		left: calc(50% + 41px);
	}
}
.sec--novelty__exchange__list__items__dtl {
	color: var(--main);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .03em;
	text-align: center;
	margin-top: 10px;
}
.sec--novelty__exchange__note {
	color: var(--main);
	font-size: 12px;
	letter-spacing: .03em;
	text-align: center;
	margin-top: 10px;
}

/* ------- sec--diary ------- */
.sec--diary {
	padding-top: 20px;
}
.sec--diary__img-wrapper {
	margin-top: 30px;
}
.sec--diary__img-note {
	color: var(--annotation);
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: .03em;
	text-align: center;
	margin-top: 10px;
}
.sec--diary__txt--02 {
	margin-top: 30px;
}
.sec--diary__note-list {
	margin-top: 15px;
}
.sec--diary__join {
	margin-top: 30px;
}
.sec--diary-campaign {
	background: #E1F9FC;
	border: 2px solid var(--main);
	padding: 28px 13px;
	border-radius: 15px;
	margin-top: 30px;
}
.sec--diary-campaign__ttl {
	width: 97.193%;
}
.sec--diary-campaign__txt {
	color: var(--main);
	margin-top: 12px;
}
.sec--diary-campaign__list {
	display: grid;
	gap: 13px;
	margin-top: 25px;
	padding-bottom: 13px;
	border-bottom: 4px dotted #B1E2E8;
}
.sec--diary-campaign__list__items {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 10px;
	align-items: start;
}
.sec--diary-campaign__list__items__ttl {
	background: var(--main);
	padding-block: 5px;
	border-radius: 10vh;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .03em;
	text-align: center;
}
.sec--diary-campaign__list__items__dtl {
	display: grid;
	min-height: 100%;
	align-items: center;
}
.sec--diary-campaign__list__items__dtl__txt {
	color: var(--main);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .03em;
}
.sec--diary-campaign__list__items__dtl__note {
	color: var(--main);
	font-size: 11px;
	letter-spacing: .03em;
	margin-top: 2px;
}
.sec--diary-campaign__sec {
	margin-top: 15px;
	&:first-of-type { 
		margin-top: 25px;
	}
}
.sec--diary-campaign__sec__ttl {
	color: var(--main);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .03em;
	padding-left: 11px;
	position: relative;
	&::before {
		content: "";
		display: block;
		width: 3px;
		height: 100%;
		background: var(--main);
		border-radius: 10vh;
		position: absolute;
		left: 0;
		top: 0;
	}
}
.sec--diary-campaign__sec__txt {
	color: #3289B3;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .03em;
	margin-top: 8px;
}
.sec--diary__campaign__sec--list {
	display: grid;
	gap: 8px;
	border: 1px solid #3289B3;
	border-radius: 8px;
	padding: 9px;
	margin-top: 8px;
}
.sec--diary__campaign__sec--list__items {
	display: grid;
	grid-template-columns: 50px 1fr;
	gap: 8px;
	align-items: start;	
}
.sec--diary__campaign__sec--list__items__ttl {
	border: 1px solid #3289B3;
	padding-block: 1px;
	border-radius: 4px;
	color: #3289B3;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .03em;
	text-align: center;
}
.sec--diary__campaign__sec--list__items__dtl {
	display: grid;
	min-height: 100%;
	align-items: center;
}
.sec--diary__campaign__sec--list__items__dtl__txt {
	color: #3289B3;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .03em;
}
.sec--diary-campaign__sec__note-list {
	margin-top: 8px;
}

/* ------- sec--memory ------- */
.sec--memory {
	padding-block: 20px 50px;
}
.sec--memory__box {
	padding-top: 6px;
}
.sec--memory__txt {
	margin-inline: -10px;
	padding-block: 121px 166px;
	background: url(../img/bg_memory01_sp.png) no-repeat center top/100%,
				url(../img/bg_memory02_sp.png) no-repeat right bottom/97.015%;
}
.sec--memory__join {
	margin-top: 14px;
	.sec-join__ttl__img {
		width: 171px;
	}
}
.sec--memory-wrapping {
	margin-top: 30px;
	padding: 54px 15px 50px;
	background: repeating-linear-gradient(to right,#FCE9EF 0px,#FCE9EF 10px,#FBE4EE 10px,#FBE4EE 20px);
	border-radius: 100vh 100vh 15px 15px;
}
.sec--memory-wrapping__ttl {
	width: 78.948%;
	margin-inline: auto;
}
.sec--memory-wrapping__img {
	margin-top: 20px;
}
.sec--memory-wrapping__txt {
	color: #F36184;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .03em;
	text-align: center;
	margin-top: 40px;
	position: relative;
	a {
		color: #4BAFC6;
		text-decoration: underline;
	}
	&::before,&::after {
		content: "";
		display: block;
		width: 45px;
		height: 35px;
		position: absolute;
	}
	&::before {
		background: url(../img/bg_memory03.svg) no-repeat center/cover;
		top: -27px;
		left: calc(50% - 141px);
	}
	&::after {
		background: url(../img/bg_memory04.svg) no-repeat center/cover;
		bottom: -30px;
		left: calc(50% + 101px);
	}
}

/* ------- sec--store ------- */
.sec--store {
	padding-block: 70px;
	background: repeating-linear-gradient(to right,#FFF6BF 0px,#FFF6BF 12px,#FFF9DF 12px,#FFF9DF 24px);
	position: relative;
	&::before {
		content: "";
		display: block;
		width: 440px;
		height: 132px;
		background: url(../img/bg_store01_sp.png) no-repeat center/cover;
		position: absolute;
		top: -40px;
		left: 50%;
		translate: -50%;
	}
}
.sec--store__ttl {
	width: 260px;
	margin-inline: auto;
}
.sec--store__img {
	margin-top: 25px;
}
.sec--store__btn {
	display: block;
	width: 72.464%;
	margin: 25px auto 0;
}
.sec--store__btn-note {
	font-size: 12px;
	text-align: center;
	margin-top: 8px;
}

/* --------- footer --------- */
/* ------ info_wrap ------ */
.info_wrap {
	margin: 0 auto;
	padding: 10px 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(--pink);
		color: #fff;
		border-color: var(--pink);
		&::after {
			border-color: #fff;
		}
	}
}
.credit {
	text-align: center;
	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;
		background: url(../img/bg_common01_pc.jpg) repeat top/100%;
	}
	.txt-link:hover {
		opacity: .5;
	}

	/* ------ 汎用 ------ */
	/* --- CTA --- */
	.qr-wrapper {
		display: grid;
		grid-template-columns: 1fr 100px;
		gap: 20px;
		border: 2px solid #fff;
		border-radius: 15px;
		box-shadow: 0 4px 4px rgb(0 0 0/.15);
		background: url(../img/bg_cta01.png) no-repeat center/cover;
		padding: 11px 16px;
	}
	.qr-ttl {
		background: #fff;
		border-radius: 10vh;
		color: var(--pink);
		font-size: 18px;
		font-weight: 700;
		padding-block: 9px 6px;
		text-align: center;
	}
	.qr-txt {
		color: #fff;
		font-size: 14px;
		font-weight: 600;
		margin-top: 10px;
	}
	.qr-img {
		border: 2px solid #fff;
		border-radius: 10px;
		overflow: hidden;
	}
	/* --- sec-box --- */
	.sec-box {
		padding: 47px 37px;
		margin-top: 20px;
	}
	/* --- sec-txt --- */
	.sec-txt {
		font-size: 17px;
	}
	/* --- sec-join --- */
	.sec-join {
		padding: 15px 28px 13px;
	}
	/* --- comingsoon,finish --- */
	.comingsoon::after {
		font-size: 20px;
		border-radius: 0;
		color: var(--pink);
	}
	.finish::after {
		white-space: pre;
		content: "終了\Aしました";
	}
	
	/* --------- MV --------- */
	.mv {
		background: url(../img/bg_mv01_pc.png) no-repeat left calc(50% - 85px) bottom/1568px,
					url(../img/bg_common01_pc.jpg) repeat top/100%;
	}
	.mv__img {
		max-width: 375px;
		margin-inline: auto;
	}

	/* --------- sec--lead --------- */
	.sec--lead {
		padding-bottom: 62px;
	}
	.sec--lead__ttl {
		max-width: 360px;
		translate: 0 -24px;
	}
	.sec--lead__txt {
		max-width: 476px;
		margin-top: 16px;
	}
	.sec--lead__period {
		max-width: 482px;
		padding: 27px;
		margin: 40px auto 0;
	}
	.sec--lead__period__img {
		height: 34px;
	}

	/* --------- tab-content --------- */
	.tab-btn-list {
		grid-template-columns: repeat(2, 298px);
		padding-inline: 0;
	}
	.tab-btn {
		background-size: 122px;
	}
	.first-cont {
		padding-top: 37px;
	}
	.tab-cont__ttl {
		max-width: 400px;
	}

	/* ------- sec--story ------- */
	.sec--story {
		padding-block: 61px 123px;
	}
	.sec--story__splide {
		max-width: 480px;
		margin: 20px auto 0;
	}
	.splide__control__btn:hover{
		opacity: .5;
	}
	.sec--story__deco--01 {
		width: 120px;
		top: 0;
		left: calc(50% + 184px);
	}
	.sec--story__deco--02 {
		width: 120px;
		bottom: 34px;
		left: calc(50% - 280px);
	}
	.sec--story__deco--03 {
		width: 250px;
		bottom: 11px;
		left: calc(50% + 81px);
	}

	/* ------- toc ------- */
	.toc-list {
		justify-content: center;
		gap: 5px;
		padding: 67px 0 24px;
		background: url(../img/bg_toc01.svg) no-repeat top 57px left calc(50% - 334px)/34px,
					url(../img/bg_toc01.svg) no-repeat top 40px left calc(50% + 333px)/47px,
					url(../img/bg_toc01.svg) no-repeat bottom 0 left calc(50% - 20px)/34px;
	}
	.toc--list__items {
		width: 170px;
		&:nth-child(2) {
			margin-left: 0;
		}
		&:nth-child(3) {
			width: 189px;
		}
	}

	/* ------- sec--novelty ------- */
	.sec--novelty__ttl {
		max-width: 600px;
		margin-inline: auto;
	}
	.sec--novelty__img-wrapper {
		max-width: 420px;
		margin: 30px auto 0;
	}
	.sec--novelty__exchange {
		padding: 28px;
	}

	/* ------- sec--diary ------- */
	.sec--diary__ttl {
		max-width: 600px;
		margin-inline: auto;
	}
	.sec--diary__img-wrapper {
		max-width: 420px;
		margin: 30px auto 0;
	}
	.sec--diary__txt--02 {
		margin-top: 30px;
	}
	.sec--diary-campaign {
		padding: 15px 28px 13px;
	}
	.sec--diary-campaign__ttl {
		max-width: 296px;
		margin-inline: auto;
	}
	.sec--diary-campaign__sec__ttl {
		font-size: 16px;
	}
	.sec--diary-campaign__sec__txt {
		font-size: 14px;
	}
	.sec--diary__campaign__sec--list {
		padding: 15px;
	}
	.sec--diary__campaign__sec--list__items {
		grid-template-columns: 56px 1fr;
	}
	.sec--diary__campaign__sec--list__items__ttl {
		font-size: 13px;
	}
	.sec--diary__campaign__sec--list__items__dtl__txt {
		font-size: 14px;
	}

	/* ------- sec--memory ------- */
	.sec--memory {
		padding-bottom: 89px;
	}
	.sec--memory__ttl {
		max-width: 600px;
		margin-inline: auto;
	}
	.sec--memory__box {
		padding-top: 26px;
	}
	.sec--memory__txt {
		margin-inline: 0;
		padding-block: 101px 114px;
		background: url(../img/bg_memory01_pc.png) no-repeat top left calc(50% - 5px)/450px,
					url(../img/bg_memory02_pc.png) no-repeat left bottom/510px;
	}
	.sec--memory__join {
		margin-top: 36px;
	}
	.sec--memory-wrapping {
		margin-top: 50px;
		padding: 44px 25px 51px;
	}
	.sec--memory-wrapping__ttl {
		max-width: 280px;
		margin-inline: auto;
	}
	.sec--memory-wrapping__txt {
		font-size: 17px;
		&::before {
			left: calc(50% - 232px);
		}
		&::after {
			bottom: -33px;
			left: calc(50% + 130px);
		}
	}
	/* ------- sec--store ------- */
	.sec--store {
		padding-block: 50px 74px;
		&::before {
			width: 600px;
			height: 131px;
			background: url(../img/bg_store01_pc.png) no-repeat center/cover;
		}
	}
	.sec--store__ttl {
		width: 320px;
	}
	.sec--store__img {
		margin-top: 30px;
	}
	.sec--store__btn {
		max-width: 300px;
	}

	/* --------- footer --------- */
	.info_wrap {
		margin: 0 auto;
		padding: 8px 20px 100px;
	}
	.oshitabi_btn {
		padding: 15px;
		font-size: 20px;
		&:hover {
			background: var(--pink);
			border-color: var(--pink);
			color: #fff;
			&::after {
				border-color: #fff;
			}
		}
	}
}

@media(max-width:750px){
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}