@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');
/* --------- reset --------- */
:root {
	--pink: #E9436F;
	--text: #635050;
}
.trapig-content {
	padding-top: 65px;
	background: #FFE8EE;
	color: var(--text);
	font-family: 'M PLUS Rounded 1c', sans-serif;
	*,*::before,*::after {
		box-sizing: border-box;
		margin: 0;
		padding: 0;
	}
	img,picture {
		display: block;
		max-width: 100%;
		height: auto;
	}
	ul,ol {
		list-style: none;
	}
	input,button,textarea,select {
		font: inherit;
	}
}

/* --------- common --------- */
.pc {
	display: none;
}
.content-inner {
	width: 92%;
	max-width: 1080px;
	margin-inline: auto;
}
.sec-txt {
	font-size: 1.6rem;
	font-weight: 800;
	line-height: 1.8;
	letter-spacing: .03em;
	text-align: center;
	margin-top: 30px;
}
.sec-btn {
	display: grid;
	grid-template-columns: 1fr 19px;
	align-items: center;
	justify-content: center;
	padding: 7px;
	background: var(--pink);
	border: 2px solid #fff;
	border-radius: 10vh;
	box-shadow: 0 7px 0 #B80C39;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 800;
	letter-spacing: .03em;
	text-align: center;
	position: relative;
	transition:  scale .2s ease-in-out;
	&::before {
		content: '';
		display: block;
		width: calc(100% + 10px);
		height: calc(100% + 10px);
		border: 3px solid #B80C39;
		border-radius: 10vh;
		position: absolute;
		top: -5px;
		left: -5px;
		pointer-events: none;
	}
	&:active {
		scale: .9;
	}
}
.sec-btn__txt {
	display: inline-block;
	translate: 0.5rem;
}
.sec-btn__ico {
	display: block;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: url(../img/ico_toc01.svg) no-repeat center/8px,#fff;
}

/* --------- sec--toc --------- */
.sec--toc {
	padding-block: 20px;
}
.sec--toc__list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 20px 15px;
}
.sec--toc__btn {
	height: 56px;
}
.sec--toc__btn__txt {
	line-height: 1.2;
}

/* --------- sec--about --------- */
.sec--about {
	padding-block: 70px 130px;
	background: url(../img/bg_about01.svg) no-repeat left  calc(50% - 137px) top 25px/74px,
				url(../img/bg_about02.svg) no-repeat left calc(50% + 137px) top 40px/74px,
				url(../img/bg_common01.svg) no-repeat left calc(50% + 139px) top 7%/185px,
				url(../img/bg_common01.svg) no-repeat left calc(50% - 145px) top 33.5%/186px,
				url(../img/bg_common01.svg) no-repeat left calc(50% + 145px) top 61.3%/186px
}
.sec--about__ttl {
	width: 235px;
	margin-inline: auto;
}
.sec--about__col {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 30px;
}
.sec--about__img {
	width: 181px;
	margin-inline: auto;
}
.sec--about__table {
	border: 3px solid var(--pink);
	background: radial-gradient(var(--pink) 70%, #FFDAE4 70%) no-repeat top 12px left 12px/10px 10px,
				radial-gradient(var(--pink) 70%, #FFDAE4 70%) no-repeat top 12px right 14px/10px 10px,
				radial-gradient(var(--pink) 70%, #FFDAE4 70%) no-repeat bottom 14px right 14px/10px 10px,
				radial-gradient(var(--pink) 70%, #FFDAE4 70%) no-repeat bottom 14px left 12px/10px 10px,
				#FFDAE4;
	padding: 22px 17px 17px;
	border-radius: 20px;
	box-shadow: 0 6px 0 var(--pink);
}
.sec--about__table__item {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 10px;
	align-items: center;
	padding-block: 10px;
	+& {
		border-top: 3px dotted #F1B1C2;
	}
}
.sec--about__table__ttl {
	background: var(--pink);
	padding-block: 2px;
	border-radius: 4px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .03em;
	text-align: center;
}
.sec--about__table__txt {
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: .03em;
}

/* --------- sec--info --------- */
.sec--info {
	padding-block: 120px 130px;
	background: url(../img/bg_info01.svg) no-repeat left  calc(50% - 120px) top 79px/79px,
				url(../img/bg_info02.svg) no-repeat left calc(50% + 126px) top 79px/82px,
				url(../img/bg_common02.svg) no-repeat left calc(50% - 164px) top 29.62%/187px,
				url(../img/bg_common02.svg) no-repeat left calc(50% + 154px) top 53.2%/187px,
				url(../img/bg_common02.svg) no-repeat left calc(50% - 164px) top 90.2%/187px,
				linear-gradient(to bottom,transparent 0%,#FFF8CC 120px,#FFF8CC 100%);
	margin-top: -120px;
}
.sec--info__ttl {
	width: 130px;
	margin-inline: auto;
}
.sec--info__swiper {
	max-width: 700px;
	margin: 30px auto 0;
	cursor: grab;
	&:active {
		cursor: grabbing;
	}
	.swiper-pagination {
		position: static;
		margin-top: 15px;
	}
	.swiper-pagination-bullet {
		width: 12px;
		height: 12px;
		margin-inline: 5px;
		background: #fff;
		border: 2px solid #D2AD00;
		opacity: 1;
	}
	.swiper-pagination-bullet-active {
		background: #D2AD00;
	}
}
.sec--info__item {
	border: 3px solid #D2AD00;
	border-radius: 20px;
	overflow: hidden;
}
.sec--info__caption {
	display: block;
	padding: 10px 7px 7px;
	background: #D2AD00;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
}
/* ------ sec--info-cm ------ */
.sec--info-cm {
	margin-top: 30px;
}
.sec--info-cm__ttl {
	width: fit-content;
	margin-inline: auto;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: .03em;
	&::before,
	&::after {
		content: '';
		display: inline-block;
		width: 13px;
		height: 15px;
		background: url(../img/ico_common01.svg) no-repeat center/contain;
		margin-inline: 10px;
	}
	&::after {
		scale: -1 1;
	}
}
.sec--info-cm__movie {
	display: block;
	width: 100%;
	max-width: 700px;
	margin: 15px auto 0;
	height: auto;
	aspect-ratio: 16/9;
}


/* --------- sec--wallpaper --------- */
.sec--wallpaper {
	padding-block: 120px 130px;
	background: url(../img/bg_wallpaper01.svg) no-repeat left  calc(50% - 127px) top 75px/74px,
				url(../img/bg_wallpaper02.svg) no-repeat left calc(50% + 127px) top 88px/80px,
				url(../img/bg_common01.svg) no-repeat left calc(50% + 149px) top 15%/185px,
				url(../img/bg_common01.svg) no-repeat left calc(50% - 145px) top 94.6%/186px,
				linear-gradient(to bottom,transparent 0%,#FFE8EE 120px,#FFE8EE 100%);
	margin-top: -120px;
}
.sec--wallpaper__ttl {
	width: 237px;
	margin-inline: auto;
}
.sec--wallpaper__list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 30px 15px;
	margin-top: 30px;
}
.sec--wallpaper__img {
	border-radius: 10px;
}
.sec--wallpaper__btn {
	display: block;
	box-shadow: none;
	padding: 6px;
	font-size: 1.5rem;
	line-height: 1.5;
	letter-spacing: .03em;
	margin-top: 15px;
}

/* --------- sec--stamp --------- */
.sec--stamp {
	padding-block: 120px 10px;
	background: url(../img/bg_stamp01.svg) no-repeat left  calc(50% - 120px) top 80px/79px,
				url(../img/bg_stamp02.svg) no-repeat left calc(50% + 126px) top 80px/82px,
				url(../img/bg_common02.svg) no-repeat left calc(50% + 154px) top 14.5%/187px,
				url(../img/bg_common02.svg) no-repeat left calc(50% - 164px) top 51.5%/187px,
				url(../img/bg_common02.svg) no-repeat left calc(50% + 154px) top 74.5%/187px,
				linear-gradient(to bottom,transparent 0%,#FFF8CC 120px,#FFF8CC 100%);
	margin-top: -120px;
}
.sec--stamp__ttl {
	width: 187px;
	margin-inline: auto;
}
.sec--stamp__box {
	max-width: 840px;
	margin: 56px auto 0;
	background: #fff;
	border: 3px solid #D2AD00;
	border-radius: 20px;
	padding: 0 17px 37px;
}
.sec--stamp__box__ttl {
	width: 241px;
	margin: -26px auto 0;
}
.sec--stamp__box__img {
	margin-top: 19px;
}
.sec--stamp__box__btn {
	width: 200px;
	padding: 10px;
	margin: 30px auto 0;
}
.sec--stamp__box__btn__txt {
	line-height: 1.5;
}
.sec--stamp__box__btn__ico {
	background: url(../img/ico_stamp01.svg) no-repeat left 6px center/8px,#fff;
}
.sec--stamp__subsec {
	margin-top: 50px;
}
.sec--stamp .sec--stamp__img {
	max-width: 520px;
	margin: 20px auto 0;
	border-radius: 15px;
}
/* ------ sec--stamp-store ------ */
.sec--stamp-store__ttl {
	width: fit-content;
	margin-inline: auto;
	font-size: 1.8rem;
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: .03em;
	text-align: center;
	position: relative;
	padding-inline: 13px;
	&::before,
	&::after {
		content: '';
		display: inline-block;
		width: 13px;
		height: 15px;
		background: url(../img/ico_common01.svg) no-repeat center/contain;
		position: absolute;
		bottom: 6px;
	}
	&::before {
		left: 0;
	}
	&::after {
		right: 0;
		scale: -1 1;
	}
}
.sec--stamp-store__ttl__note {
	font-size: 1.5rem;
	letter-spacing: .03em;
}
/* ------ sec--stamp-goods ------ */
.sec--stamp-goods__ttl {
	text-align: center;
}
.sec--stamp-goods__ttl__marker {
	color: #D2AD00;
	font-size: 2.4rem;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: .03em;
	background: linear-gradient(to top,#F9EFB1 0%,#F9EFB1 1.2rem,transparent 1.2rem,transparent 100%);
}
.sec--stamp-goods__txt {
	margin-top: 20px;
}

.sec--stamp-goods__btn {
	max-width: 440px;
	margin: 20px auto 0;
}

.sec--stamp-goods__btn__ico {
	background: url(../img/ico_stamp01.svg) no-repeat left 6px center/8px,#fff;
}

/* --------- footer-deco --------- */
.footer-deco {
	background: #FFF8CC;
}

@media (min-width:600px) {
	/* --------- common --------- */
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}
	.sec-txt {
		font-size: 1.8rem;
		margin-top: 40px;
	}
	.sec-btn {
		padding: 12px;
		border-width: 3px;
		font-size: 2.2rem;
		&::before {
			width: calc(100% + 14px);
			height: calc(100% + 14px);
			border-width: 4px;
			top: -7px;
			left: -7px;
		}
		&:hover {
			scale: .9;
		}
	}
	/* --------- sec--toc --------- */
	.sec--toc {
		padding: 0;
	}
	.sec--toc__list {
		grid-template-columns: repeat(4,1fr);
		gap: 20px;
	}
	.sec--toc__btn {
		height: 73px;
	}
	.sec--toc__btn__txt {
		line-height: 1.5;
	}

	/* --------- sec--about --------- */
	.sec--about {
		padding-block: 150px 200px;
		background: url(../img/bg_about01.svg) no-repeat left  calc(50% - 332px) top 110px/156px,
					url(../img/bg_about02.svg) no-repeat left calc(50% + 322px) top 140px/156px,
					url(../img/bg_common01.svg) no-repeat left calc(50% + 464px) top 27%/292px,
					url(../img/bg_common01.svg) no-repeat left calc(50% - 462px) top 44.5%/292px,
					url(../img/bg_common01.svg) no-repeat left calc(50% + 236px) top 82%/292px
	}
	.sec--about__ttl {
		width: 350px;
	}
	.sec--about__txt {
		margin-top: 60px;
	}
	.sec--about__col {
		flex-direction: row-reverse;
		align-items: end;
		justify-content: center;
		gap: 80px;
		margin-top: 60px;
	}
	.sec--about__img {
		width: 267px;
		flex-shrink: 0;
		margin: 0;
		translate: 0 -30px;
	}
	.sec--about__table {
		width: 57.41%;
		border: 5px solid var(--pink);
		background: radial-gradient(var(--pink) 72%, #FFDAE4 72%) no-repeat top 20px left 20px/12px 12px,
					radial-gradient(var(--pink) 72%, #FFDAE4 72%) no-repeat top 20px right 20px/12px 12px,
					radial-gradient(var(--pink) 72%, #FFDAE4 72%) no-repeat bottom 20px right 20px/12px 12px,
					radial-gradient(var(--pink) 72%, #FFDAE4 72%) no-repeat bottom 20px left 20px/12px 12px,
					#FFDAE4;
		padding: 30px 40px 35px;
		border-radius: 30px;
		box-shadow: 0 8px 0 var(--pink);
	}
	.sec--about__table__item {
		grid-template-columns: 120px 1fr;
		gap: 15px;
		padding-block: 15px;
	}
	.sec--about__table__ttl {
		font-size: 1.7rem;
	}
	.sec--about__table__txt {
		font-size: 1.8rem;
		line-height: 1.5;
	}

	/* --------- sec--info --------- */
	.sec--info {
		padding-block: 150px 200px;
		background: url(../img/bg_info01.svg) no-repeat left  calc(50% - 270px) top 134px/124px,
					url(../img/bg_info02.svg) no-repeat left calc(50% + 288px) top 129px/156px,
					url(../img/bg_common02.svg) no-repeat left calc(50% - 392px) top 21.6%/292px,
					url(../img/bg_common02.svg) no-repeat left calc(50% + 394px) top 53%/292px,
					url(../img/bg_common02.svg) no-repeat left calc(50% - 414px) top 81.6%/292px,
					linear-gradient(to bottom,transparent 0%,#FFF8CC 150px,#FFF8CC 100%);
		margin-top: -150px;
	}
	.sec--info__ttl {
		width: 195px;
	}
	.sec--info__swiper {
		margin-top: 40px;
		.swiper-pagination {
			margin-top: 20px;
		}
		.swiper-pagination-bullet {
			width: 15px;
			height: 15px;
		}
	}
	.sec--info__item {
		border-width: 5px;
		border-radius: 30px;
	}
	.sec--info__caption {
		display: grid;
		align-items: center;
		min-height: calc(2lh + 25px);
		padding: 15px 10px 10px;
		font-size: 2.2rem;
	}
	/* ------ sec--info-cm ------ */
	.sec--info-cm {
		margin-top: 60px;
	}
	.sec--info-cm__ttl {
		font-size: 2.4rem;
		&::before,
		&::after {
			width: 19px;
			height: 21px;
		}
	}
	.sec--info-cm__movie {
		margin-top: 20px;
	}

	/* --------- sec--wallpaper --------- */
	.sec--wallpaper {
		padding-block: 150px 200px;
		background: url(../img/bg_wallpaper01.svg) no-repeat left  calc(50% - 332px) top 120px/156px,
					url(../img/bg_wallpaper02.svg) no-repeat left calc(50% + 322px) top 150px/156px,
					url(../img/bg_common01.svg) no-repeat left calc(50% + 504px) top 30%/292px,
					url(../img/bg_common01.svg) no-repeat left calc(50% - 524px) top 87.4%/292px,
					linear-gradient(to bottom,transparent 0%,#FFE8EE 150px,#FFE8EE 100%);
		margin-top: -150px;
	}
	.sec--wallpaper__ttl {
		width: 355px;
	}
	.sec--wallpaper__list {
		grid-template-columns: repeat(4,1fr);
		gap: 70px 40px;
		margin-top: 40px;
	}
	.sec--wallpaper__btn {
		padding: 7px;
		box-shadow: none;
		font-size: 1.8rem;
		margin-top: 25px;
		+& {
			margin-top: 15px;
		}
	}

	/* --------- sec--stamp --------- */
	.sec--stamp {
		padding-block: 150px 0;
		background: url(../img/bg_stamp01.svg) no-repeat left  calc(50% - 270px) top 134px/124px,
					url(../img/bg_stamp02.svg) no-repeat left calc(50% + 288px) top 129px/156px,
					url(../img/bg_common02.svg) no-repeat left calc(50% + 394px) top 11%/292px,
					url(../img/bg_common02.svg) no-repeat left calc(50% - 454px) top 31.5%/292px,
					url(../img/bg_common02.svg) no-repeat left calc(50% + 444px) top 57%/292px,
					url(../img/bg_common02.svg) no-repeat left calc(50% - 334px) top 80%/292px,
					linear-gradient(to bottom,transparent 0%,#FFF8CC 150px,#FFF8CC 100%);
		margin-top: -150px;
	}
	.sec--stamp__ttl {
		width: 281px;
	}
	.sec--stamp__box {
		border-width: 5px;
		border-radius: 40px;
		padding: 0 65px 65px;
		margin-top: 80px;
	}
	.sec--stamp__box__ttl {
		width: 340px;
		margin-top: -40px;
	}
	.sec--stamp__box__img {
		margin-top: 30px;
	}
	.sec--stamp__box__btn {
		width: 300px;
		padding: 12px;
		margin-top: 60px;
	}
	.sec--stamp__box__btn__txt {
		line-height: 1.5;
	}
	.sec--stamp__subsec {
		margin-top: 60px;
	}
	.sec--stamp__img {
		border-radius: 20px;
		margin-top: 40px;
	}
	/* ------ sec--stamp-store ------ */
	.sec--stamp-store__ttl {
		font-size: 2.4rem;
		padding-inline: 29px;
		&::before,
		&::after {
			width: 19px;
			height: 22px;
			bottom: 6px;
		}
	}
	.sec--stamp-store__ttl__note {
		font-size: 1.8rem;
	}
	/* ------ sec--stamp-goods ------ */
	.sec--stamp-goods__ttl__marker {
		font-size: 3.2rem;
		background: linear-gradient(to top,#F9EFB1 0%,#F9EFB1 1.5rem,transparent 1.5rem,transparent 100%);
	}
	.sec--stamp-goods__txt {
		margin-top: 30px;
	}

	/* --------- footer-deco --------- */
	.footer-deco {
		background: #FFF8CC;
	}
}
@media (min-width:960px) {
	.trapig-content {
		padding-top: 90px;
	}
}