@charset "UTF-8";

/* No JS */
.no-js .bb-custom-wrapper {
	height: auto;
}

.no-js .bb-custom-content {
	height: 470px;
}

/*************
FMT
*************/
.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 {
	display: block;
	width: 100%;
}
.content_wrap {
	-webkit-font-smoothing: antialiased;
	font-family: 'Noto Sans JP', serif;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
	color: var(--text-color);
	margin-top: 66px;
	background-color: var(--bg-color);
	width: 100%;
	position: relative;
	z-index: 0;
	overflow: hidden;
	*,*::before,*::after {
		box-sizing: border-box;
	}
}
.content-inner {
	width: 92%;
	max-width: 620px;
	margin-inline: auto;
}
a:hover img {opacity: 1;}

figure {
	margin: 0 auto;
    width: 100%;
}
figcaption .caption {
	margin-left: auto;
    margin-right: 0;
    width: fit-content;
	font-size: 12px;
}
@media(min-width:751px){
	.content_wrap {
		margin-top: 90px;
	}
}
:root {
	--text-color: #000000;
	--primary-color: #2ebcad;
	--bg-color: #FFFFFF;
	--red-color: #EE0000;
	--accent-color: #FFFF00;
	--font-zen: "Zen Maru Gothic","Noto Sans JP",sans-serif
}
/*アキ*/
.mgt48 {margin-top: 48px !important;}
.mgt32 {margin-top: 32px !important;}
.mgt24 {margin-top: 24px !important;}
.mgt16 {margin-top: 16px !important;}
.mgt8 {margin-top: 8px !important;}
.mgt4 {margin-top: 4px !important;}
.mgt0 {margin-top: 0 !important;}

/*テキストサイズ*/
.annotation {font-size: 14px;}
.smallest {font-size: 12px;}
.larger {font-size: 1.5em;}
.smaller {font-size: 0.75em;}

/* テキスト揃え */
.center {text-align: center;}
.auto_center {
	margin-left: auto;
	margin-right: auto;
	width: fit-content;
}
.right {text-align: right;}
.left {text-align: left;}
.ib {display: inline-block;}

/* テキストカラー */
.fcPrimary {color: var(--primary-color);}
.fcRed {color: var(--red-color);}
.fcWhite {color: #FFF}
.fcYellow {color: #FF0;}
.txt-red {color: #FF0303;}
/* テキスト汎用 */
.bold {font-weight: bold;}
.txt-link{
	color: #5088CB;
	text-decoration: underline;
	font-weight: bold;
	cursor: pointer;
}
.marker {
	background: linear-gradient(transparent 50%, var(--accent-color) 50%);
}
.relative_wrap {position: relative;}

/* 箇条書き */
ul.text_list li,
p.text_list {
	text-indent: -1em;
	padding-left: 1em;
	text-align: left;
}
ul.text_list li + li{
	margin-top: 2px;
}
ul.text_list.annotation li {
	font-size: 14px;
}
@media(min-width:751px){
	.red_box {
		font-size: 22px;
	}
	.pc_center {text-align: center;}

}

/*************
汎用
*************/

.sec-date {
	width: 96%;
	max-width: 360px;
	display: grid;
	align-items: center;
	grid-template-columns: 40px 1fr;
	gap: 10px;
	padding: 16px 23px 13px;
	margin: 0 auto 30px;
	background: url(../img/bg_common01.png) no-repeat center/cover;
	font-family: var(--font-zen);
}
.sec-date__ttl {
	background: #75A7E2;
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: .05em;
	text-align: center;
	padding-block: 3px;
}
.sec-date__dtl {
	color: #75A7E2;
	font-size: 28px;
	font-family: "Coiny","Zen Maru Gothic","Noto Sans JP",sans-serif;
	line-height: 1;
	letter-spacing: .025em;
}
.sec-date__dtl__middle-txt {
	font-size: 17px;
	line-height: 1;
	letter-spacing: .025em;
}
.sec-date__dtl__small-txt {
	font-size: 15px;
	line-height: 1;
	letter-spacing: .025em;
}

.sec-box {
	background: #fff;
	border: 3px solid #5088CB;
	padding: 0 12px 17px;
	border-radius: 15px;
	position: relative;
}
.sec-box__ttl {
	width: 68.99%;
	margin: 0 auto  -15px;
	translate: 0 -27px;
}
.sec-box__txt {
	color: #5088CB;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 20px;
}
.sec-box__step-list {
	display: grid;
	gap:15px ;
}
.sec-box__step-list__inner {
	background: #DCE9FA;
	padding: 10px 16px 17px;
	border-radius: 10px;
}
.sec-box__step-list__inner__ttl {
	width: fit-content;
	margin: 0 auto 8px;
	background: #fff;
	border-radius: 10vh;
	color: #FFA8CD;
	font-size: 17px;
	font-family: "Coiny","Zen Maru Gothic","Noto Sans JP",sans-serif;
	line-height: 1;
	letter-spacing: .025em;
	padding: 5px 9px 2px;
}
.sec-box__step-list__inner__dtl {
	color: #5088CB;
	font-size: 17px;
	font-weight: 900;
	font-family: var(--font-zen);
	letter-spacing: .025em;
	text-align: center;
}

@media(min-width:751px) {
	.sec-box__ttl {
		max-width: 286px;
		translate: 0 -35px;
	}
	.sec-box__txt {
		font-size: 18px;
	}
	.sec-box {
		padding: 0 27px 27px;
	}
	.sec-box__step-list__inner__dtl {
		font-size: 20px;
	}
}

/* ボイストック枠 */
.cta-btn-wrapper {
	position: relative;
	margin-bottom: 55px;
}
.cta-btn {
	display: block;
}
.note-list__items {
	font-size: 12px;
	line-height: 1.58;
	letter-spacing: .025em;
	padding-left: 1em;
	text-indent: -1em;
}
.qr-wrapper {
	display: grid;
	grid-template-columns: 1fr 120px;
	gap: 14px;
	align-items: center;
	background: #B99C4E;
	border: 4px solid #F9C2EA;
	border-radius: 15px;
	padding: 11px 11px 11px 37px;
	margin-bottom: 31px;
	position: relative;
}
.qr__ttl {
	color: #B99C4E;
	font-size: 22px;
	font-family: var(--font-zen);
	font-weight: 900;
	letter-spacing: .015em;
	text-align: center;
	background: #fff;
	border-radius: 10vh;
	padding-block: 5px 4px;
	margin-bottom: 12px;
}
.qr__txt {
	color: #fff;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .015em;
}

/* アコーディオン */
.note-list + .acc {
	margin-block: 19px 63px;
}
.acc__btn {
	display: block;
	width: fit-content;
	margin: 0 auto;
	padding: 6px 40px 7px 21px;
	background: #5088CB;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	list-style: none;
	border-radius: 10vh;
	position: relative;
	cursor: pointer;
}
.acc__ico {
	display: block;
	width: 21px;
	height: 21px;
	position: absolute;
	top: 6px;
	right: 11px;
	background: #fff;
	border-radius: 50%;
	&::before,&::after {
		content: "";
		display: block;
		width: 12px;
		height: 2px;
		background: #5088CB;
		position: absolute;
		top: 50%;
		left: 50%;
		translate: -50% -50%;
	}
	&::after {
		rotate: 90deg;
		transition: rotate .3s;
	}
}
.acc[open] .acc__ico::after {
	rotate: 0deg;
}
.acc__btn::-webkit-details-marker {
	display:none;
}
.acc__content {
	border: 1px solid #5088CB;
	border-radius: 15px;
	padding: 15px;
	margin-top: 15px;
	transition: .6s ease-in-out;
	height: 0;
	overflow: hidden;
}

@media(min-width:751px) {
	.note-list + .acc {
		margin-block: 19px 76px;
	}
}

/* リスト */
.note-ttl {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.46;
	letter-spacing: .025em;
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 5px;
}
.note-list + .note-ttl {
	margin-top: 5px;
}
.note-list {
	display: grid;
	gap: 5px;
}

/* アニメーション */
.js-animate:is([data-animate="fade-up"],[data-animate="fade-right"],[data-animate="fade-left"]) {
	opacity: 0;
	transition-property: opacity,translate;
	transition-duration: 1.5s;
	transition-timing-function: ease;
}
.js-animate[data-animate="fade-up"] {
	translate: 0 40px;
}
.js-animate[data-animate="fade-right"] {
	translate: -40px 0;
}
.js-animate[data-animate="fade-left"] {
	translate: 40px 0;
}
.js-animate--active:is([data-animate="fade-up"],[data-animate="fade-right"],[data-animate="fade-left"]){
	translate: 0;
	opacity: 1;
}
.delay--01 {
	transition-delay: .1s;
}
.delay--02 {
	transition-delay: .2s;
}
.delay--03 {
	transition-delay: .3s;
}
.delay--04 {
	transition-delay: .4s;
}

.floating {
	animation: cloud 20s linear infinite;
}

@keyframes cloud {
	0% {
		translate: 0 0;
	}
	12% {
		translate: 0 -20px;
	}
	24% {
		translate: 0 -10px;
	}
	36% {
		translate: 0 -20px;
	}
	48% {
		translate: 0 0;
	}
	60% {
		translate: 0 20px;
	}
	72% {
		translate: 0 10px;
	}
	84% {
		translate: 0 20px;
	}
	100% {
		translate: 0 0;
	}

}

/* comingsoon */
.comingsoon {
	position: relative;
	pointer-events: none;
	user-select: none;
	&::after {
		content: "Coming Soon";
		display: grid;
		place-content: center;
		align-items: center;
		color: #B99C4E;
		font-size: 8vw;
		font-weight: 900;
		font-family: var(--font-zen);
		line-height: 1;
		text-align: center;
		background: rgb(255 255 255/.8);
		position: absolute;
		inset: 0;
		z-index: 1;
		border-radius: 10vh;
	}
}
.cta-btn-wrapper:has(.cta-btn--photo-frame).comingsoon::after,
.qr-wrapper__photo-frame .qr__img.comingsoon::after {
	color: #5088CB;
}
@media(min-width:751px) {
	.comingsoon::after {
		font-size: 24px;
		border-radius: 0;
	}
}

/*************
sec--anchor
*************/
.mv {
	position: relative;
}
.mv__txt {
	width: 93.87vw;
	position: absolute;
	left: 4vw;
	bottom: 8.8vw;
	z-index: 1;
}
@media(min-width:751px) {
	.mv {
		padding-block: 50px 80px;
		background: url(../img/bg_mv01_pc.png) no-repeat top 41px left calc(50% - 5px)/1099px auto,
					url(../img/bg_mv02_pc.jpg) no-repeat center top/cover;
	}
	.mv__txt {
		position: static;
		max-width: 960px;
		margin-inline: auto;
		padding-right: 6.15%;
	}
}
/*************
sec--anchor
*************/
.sec--anchor {
	background: #C1E7F8;
}
.sec--anchor__audio-wrapper {
	width: 92%;
	margin: -10px auto 30px;
	.plyr__controls {
		justify-content: start;
	}
	.plyr--audio .plyr__controls {
		padding: 11px 22px 11px 22px;
		background: linear-gradient(to right,#75A7E2 0%,#3EB6DC 100%);
		border-radius: 10vh;
	}
	.plyr__control[data-plyr="play"] {
		color: #2363B1;
		background: #D6F5FF;
		border-radius: 50%;
		padding: 8px;
		margin: 0;
		svg {
			width: 14px;
			height: 14px;
		}
	}
	.plyr__time {
		color: #fff;
		font-weight: 900;
	}
	.plyr__volume {
		margin-inline: auto 0;
	}
	.plyr__control[data-plyr="mute"] {
		color: #fff;
	}
	.plyr--full-ui input[type=range] {
		color: #2363B1;
	}
	.plyr__menu {
		display: none;
	}
}
.sec--anchor__list {
	position: relative;
	width: 93.33%;
	height: auto;
	aspect-ratio: 350/202;
	margin-inline: auto 4%;
}
.sec--anchor__list__items {
	position: absolute;
}
.sec--anchor__list__items--story {
	width: 41.7%;
	top: 0;
	left: 5.71%;
}
.sec--anchor__list__items--contents {
	width: 44.29%;
	top: 0;
	right: 0;
}
.sec--anchor__list__items--photo-frame {
	width: 33.14%;
	bottom: 1.98%;
	left: 0;
}
.sec--anchor__list__items--goods {
	width: 32.86%;
	left: 33.71%;
	bottom: 19.3%;
}
.sec--anchor__list__items--gourmet {
	width: 34.86%;
	bottom: 0;
	right: 0;
}
@media(min-width:751px){
	.sec--anchor {
		background: url(../img/bg_anchor_pc.png) no-repeat calc(50% - 5px) top/593px auto,
					linear-gradient(to bottom,transparent 0%,transparent 114px,#C1E7F8 114px,#C1E7F8 100%);
		margin-top: -114px;
		padding-block: 114px 11px;
		position: relative;
	}
	.sec--anchor__audio-wrapper {
		max-width: 480px;
		margin: 0 auto 30px;
		.plyr--audio .plyr__controls {
			padding: 11px 42px 11px 33px;
		}
	}
	.sec--anchor__list {
		display: flex;
		justify-content: space-between;
		align-items: end;
		aspect-ratio: auto;
		max-width: 785px;
		margin-inline: auto;
	}
	.sec--anchor__list__items {
		position: static;
	}
	.sec--anchor__list__items--story {
		width: 18.6%;
	}
	.sec--anchor__list__items--contents {
		width: 19.75%;
	}
	.sec--anchor__list__items--photo-frame {
		width: 18.47%;
	}
	.sec--anchor__list__items--goods {
		width: 18.6%;
	}
	.sec--anchor__list__items--gourmet {
		width: 19.62%;
	}
	.sec--anchor__list__link {
		display: block;
		transition: .3s ease;
	}
	.sec--anchor__list__link:hover {
		translate: 0 -8px;
	}
}
/*************
sec--story
*************/
.sec--story {
	background: url(../img/bg_story01.png) no-repeat center top/auto 60px,
				linear-gradient(to bottom,#C1E7F8 0%,#C1E7F8 60px,#8CBCF5 60px,#8CBCF5 100%);
	padding-block: 88px 84px;
}
.sec--story__ttl-wrapper {
	width: 82.61%;
	margin: 0 auto 21px;
	position: relative;
}
.sec--story__ttl {
	width: 65.26%;
	position: absolute;
	left: 50%;
	translate: -50% 0;
	bottom: 0;
}
.bb-custom-wrapper {
	width: 100%;
	max-width: 690px;
	position: relative;
	margin: 0 auto 40px;
	text-align: center;
	position: relative;
}
.bb-custom-wrapper .bb-bookblock {
	width: 100%;
	height: auto;
	aspect-ratio: 690/800;
	box-shadow: 0 3px 6px rgb(80 136 203/.8);
}
.bb-custom-img {
	position: absolute;
	left: 0;
	top: 0;
}
.bb-custom-wrapper h3 {
	font-size: 1.4em;
	font-weight: 300;
	margin: 0.4em 0 1em;
}
.bb-custom-wrapper nav {
	width: 100%;
	margin: 1em auto 0;
	position: relative;
	z-index: 0;
	text-align: center;
}
.bb-nav {
	display: flex;
	justify-content: center;
	gap: 10px;
}
.bb-custom-icon {
	display: grid;
	place-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff;
	color: #5088CB;
	border: 0;
	padding: 0;
	opacity:1;
}
.bb-custom-icon:active {
	opacity: .6;
}

:is(.bb-custom-icon-arrow-left,.bb-custom-icon-arrow-right) img {
	width: 14px;
	translate: -2px;
}
:is(.bb-custom-icon-arrow-first,.bb-custom-icon-arrow-last) img {
	height: 14px;
	width: auto;
}
.bb-custom-icon-arrow-right,.bb-custom-icon-arrow-last {
	scale: -1 1;
}

.sec--story__deco--02 {
	position: absolute;
	width: 5.51%;
	bottom: -13px;
	right: 11.59%;
}

@media(min-width:751px){
	.sec--story {
		background: url(../img/bg_story01.png) no-repeat center top/auto 85px,
					linear-gradient(to bottom,#C1E7F8 0%,#C1E7F8 85px,#8CBCF5 85px,#8CBCF5 100%);
		padding-block: 106px 103px;
	}
	.sec--story__ttl-wrapper {
		max-width: 385px;
		margin-bottom: 43px;
	}
	.sec--story__ttl {
		width: 64.16%;
		bottom: -14px;
	}
	.bb-custom-wrapper {
		max-width: 500px;
	}
	.bb-custom-icon {
		width: 43px;
		height: 43px;
	}
	.bb-custom-wrapper nav {
		margin-top: 20px;
	}
	.sec--story__deco--02 {
		width: 26px;
		bottom: 0;
		right: 51px;
	}
	.bb-custom-icon:hover {
		opacity: .6;
	}
	
}
/*************
sec--contents
*************/
.sec--contents {
	padding-block: 29px 53px;
	background: url(../img/bg_contents04.png) repeat center top/100% auto;
	position: relative;
	.sec-date {
		margin-bottom: 20px;
	}
}
.sec--contents__deco {
	position: absolute;
}
.sec--contents__deco--01 {
	width: 21.07vw;
	left: 21.6vw;
	top: -7.2vw;
}
.sec--contents__deco--02 {
	width: 42.13vw;
	left: -4.8vw;
	top: -9.33vw;
}
.sec--contents__deco--03 {
	width: 48vw;
	right:  -13.87vw;
	top: -2.93vw;
}
.sec--contents__ttl-wrapper {
	position: relative;
	padding-bottom: 11px;
	margin-bottom: 5px;
}
.sec--contents__deco--04 {
	max-width: none;
	width: 111.47vw;
	position: absolute;
	bottom: 0;
	left: -6.4vw;
}
.sec--contents__ttl {
	width: 75.47vw;
	margin-inline: auto;
}
.sec--message {
	margin-bottom: 40px;
}
.sec--message__ttl-wrapper {
	position: relative;
	margin-inline: -4%;
}
.sec--message__ttl {
	width: 85.07%;
	position: absolute;
	top: 5.07%;
	left: 50%;
	translate: -50%;
}
.sec--message__txt {
	color: #75A7E2;
	font-weight: 900;
	font-family: var(--font-zen);
	line-height: 1.6875;
	text-align: center;
	margin-bottom: 30px;
}
.cta-btn--message {
	filter: drop-shadow(0 0 15px rgb(140 188 245/.6));
}
.cta-btn-deco--message {
	position: absolute;
	width: 38.13%;
	max-width: 143px;
	bottom: -48px;
	left: -19px;
	pointer-events: none;
	user-select: none;
	z-index: 2;
}
.sec--message__deco--02 {
	width: 24px;
	position: absolute;
	top: -33px;
	left: 23px;
}

.sec--quiz {
	margin-bottom: 53px;
}
.sec--quiz__ttl-wrapper {
	margin: 0 -4% 27px;
	position: relative;
}
.sec--quiz__ttl {
	width: 70.13%;
	margin-inline: auto;
	position: relative;
}
.sec--quiz__deco--01 {
	position: absolute;
	top: -23px;
	border-top-left-radius: 0;
	z-index: 0;
}
.sec--quiz__txt {
	color: #75A7E2;
	font-weight: 900;
	font-family: var(--font-zen);
	line-height: 1.6875;
	letter-spacing: .025em;
	text-align: center;
	margin-bottom: 30px;
}
.sec--quiz__img-wrapper {
	margin: 0 -8px 57px -10px;
}
.sec--quiz__box {
	margin-bottom: 30px;
}
.cta-btn-deco--quiz {
	width: 38.13vw;
	max-width: 143px;
	position: absolute;
	top: 8px;
	left: -37px;
	pointer-events: none;
	user-select: none;
	z-index: 2;
}
.sec--quiz .acc {
	margin-bottom: 0;
}
.cta-btn--quiz {
	filter: drop-shadow(0 0 10px rgb(140 188 245/.8));
}

.sec--present__ttl-wrapper {
	position: relative;
	margin: 0 -4% 11px;
}
.sec--present__deco--01 {
	width: 100%;
	position: absolute;
	top: 8.27vw;
	left: 0;
	z-index: 0;
}
.sec--present__deco--02 {
	width: 30.4vw;
	position: absolute;
	left: 5.37vw;
	top: -11px;
	z-index: 0;
}
.sec--present__ttl {
	width: 53.33%;
	margin-inline: auto;
	position: relative;
	z-index: 1;
}
.sec--present__txt {
	color: #75A7E2;
	font-size: 18px;
	font-weight: 900;
	font-family: var(--font-zen);
	line-height: 1.67;
	text-align: center;
	margin-bottom: 17px;
	position: relative;
	z-index: 1;
}
.sec--present__txt__marker {
	background: #75A7E2;
	color: #fff;
	padding-inline: 16px;
	&:last-child {
		padding-inline: 4px;
	}
}
.sec--present__img-area {
	position: relative;
	padding-top: 60px;
	margin-bottom: 58px;
}
.sec--present__deco--03 {
	width: 25.8%;
	position: absolute;
	top: 0;
	right: 0;
}
.sec--present__img-wrapper {
	margin-bottom: 58px;
}
.sec--present__img {
	margin-bottom: -8px;
}
.sec--present__img-note {
	font-size: 12px;
	letter-spacing: .025em;
	text-align: right;
}
.sec--present__box .sec-box__step-list {
	margin-bottom: 20px;
}
.sec--present__box__info {
	display: grid;
	gap: 20px;
}
.sec--present__box__info__row {
	display: grid;
	gap: 10px;
}
.sec--present__box__info__ttl {
	background: #5088CB;
	color: #fff;
	font-size: 18px;
	font-weight: 900;
	font-family: var(--font-zen);
	letter-spacing: .025em;
	text-align: center;
	padding-block: 2px 3px;
}
.sec--present__box__info__dtl__txt {
	color: #5088CB;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .025em;
	text-align: center;
}
.sec--present__box__info__dtl__txt + .note-list {
	margin-top: 10px;
}
.sec--present__box__info__btn {
	display: block;
	background: url(../img/ico_pdf.png) no-repeat center right 24px/ 24px auto,
				#B99C4E;
	color: #fff;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
	padding-block: 8px;
	border-radius: 10vh;
	margin-top: 10px;
	transition: background-color .3s;
	&:hover {
		background: url(../img/ico_pdf.png) no-repeat center right 24px/ 24px auto,
					#9D8033;
	}
}
@media(min-width:751px){
	.sec--contents {
		padding-block: 45px 69px;
		background: url(../img/bg_contents04_pc.png) repeat center top/100% auto;;
		.sec-date {
			margin-bottom: 15px;
		}
	}
	.sec--contents__deco--01 {
		width: 97px;
		left: calc(50% - 200px);
		top: -24px;
	}
	.sec--contents__deco--02 {
		width: 196px;
		left: calc(50% - 321px);
		top: -34px;
	}
	.sec--contents__deco--03 {
		width: 247px;
		right: calc(50% - 336px);
		top: -10px;
	}
	.sec--contents__ttl-wrapper {
		max-width: 557px;
		margin: 0 auto 10px;
	}
	.sec--contents__ttl {
		max-width: 388px;
	}
	.sec--contents__deco--04 {
		width: 100%;
		bottom: 0;
		left: 0;
	}

	.sec--message {
		margin-bottom: 80px;
	}
	.sec--message__ttl-wrapper {
		margin-inline: -50px;
	}
	.sec--message__ttl {
		max-width: 426px;
	}
	.sec--message__txt {
		font-size: 20px;
		line-height: 1.6;
		margin-bottom: 50px;
	}
	.qr-wrapper-deco--message {
		width: 26.94%;
		max-width: 167px;
		position: absolute;
		top: -115px;
		left: -56px;
	}
	.sec--message__deco--02 {
		width: 34px;
		top: -64px;
		left: 117px;
	}

	.sec--quiz {
		margin-bottom: 61px;
	}
	.sec--quiz__ttl-wrapper {
		margin: 0 -50px 34px;
	}
	.sec--quiz__deco--01 {
		top: -15px;
		left: 0;
	}
	.sec--quiz__ttl {
		width: 333px;
	}
	.sec--quiz__txt {
		font-size: 20px;
		line-height: 1.6;
	}
	.sec--quiz__img-wrapper {
		max-width: 460px;
		margin: 0 auto 66px;
	}
	.sec--quiz__box {
		margin-bottom: 41px;
	}
	.qr-wrapper-deco--quiz {
		width: 168px;
		position: absolute;
		top: -42px;
		left: -59px;
	}

	.sec--present__deco--01 {
		top: -48px;
		left: 0;
	}
	.sec--present__deco--02 {
		width: 146px;
		top: -28px;
		left: 112px;
	}
	.sec--present__ttl-wrapper {
		margin: 0 -50px 17px;
	}
	.sec--present__ttl {
		width: 251px;
	}
	.sec--present__txt {
		font-size: 20px;
		line-height: 1.6;
	}
	.sec--present__img-area {
		max-width: 471px;
		margin: 0 auto 66px;
		padding-top: 64px;
	}
	.sec--present__deco--03 {
		width: 120px;
		right: -10px;
		top: -10px;
	}
	.sec--present__img {
		margin-bottom: -8px;
	}
	.sec--present__box__info__btn {
		max-width: 360px;
		margin-inline: auto;
	}
}
/*************
sec--photo-frame
*************/
.sec--photo-frame {
	background: url(../img/bg_photo-frame02.png) repeat top/100% auto,
				#FFEBF4;
	padding-block: 32px 77px;
}
.sec--photo-frame__ttl-wrapper {
	position: relative;
	padding-bottom: 7px;
	margin-bottom: 10px;
}
.sec--photo-frame__ttl {
	width: 65.07%;
	margin-inline: auto;
	position: relative;
}
.sec--photo-frame__deco--01 {
	position: absolute;
	z-index: 0;
	width: 92%;
	top: -59px;
	left: 4.53%;
}
.sec--photo__txt {
	color: #5088CB;
	font-weight: 900;
	font-family: var(--font-zen);
	line-height: 1.6875;
	letter-spacing: .025em;
	text-align: center;
	margin-bottom: 60px;
}
.sec--photo-frame__img-wrapper {
	margin-bottom: 30px;
	position: relative;
}
.sec--photo-frame__img {
	width: 77.97%;
	margin: 0 auto -32px;
}
.sec--photo-frame__deco--02 {
	position: absolute;
	width: 40vw;
	left: -4vw;
	top: -40px;
}
.sec--photo-frame__deco--03 {
	position: absolute;
	width: 8vw;
	top: -23px;
	right: 12vw;
}
.sec--photo-frame__deco--04 {
	position: absolute;
	width: 37.33vw;
	right: -2.13vw;
	bottom: 13px;
}
.sec--photo-frame__img-note {
	font-size: 12px;
	letter-spacing: .025em;
	position: relative;
}
.cta-btn--photo-frame {
	filter: drop-shadow(0 0 15px rgb(80 136 203/.6));
}
.cta-btn-deco--photo-frame {
	width: 24.53%;
	position: absolute;
	left: -8px;
	bottom: -50px;
	z-index: 2;
}
.sec--photo-frame .acc {
	margin-bottom: 0;
}
@media(min-width:751px){
	.sec--photo-frame {
		background: url(../img/bg_photo-frame02_pc.jpg) repeat top/100% auto;
		padding-block: 46px 115px;
	}
	.sec--photo-frame__ttl-wrapper {
		max-width: 499px;
		margin: 0 auto 20px;
	}
	.sec--photo-frame__ttl {
		width: 318px;
	}
	.sec--photo-frame__deco--01 {
		width: 499px;
		position: absolute;
		top: -77px;
		left: 0;
	}
	.sec--photo__txt {
		font-size: 20px;
		line-height: 1.6;
		margin-bottom: 90px;
	}
	.sec--photo-frame__img-wrapper {
		max-width: 345px;
		margin: 0 auto 44px;
	}
	.sec--photo-frame__img {
		width: 100%;
	}
	.sec--photo-frame__deco--02 {
		width: 193px;
		top: -51px;
		left: -65px;
	}
	.sec--photo-frame__deco--03 {
		width: 39px;
		top: -29px;
		right: 4px;
	}
	.sec--photo-frame__deco--04 {
		width: 181px;
		bottom: 16px;
		right: -65px;
	}
	.qr-wrapper-deco--photo-frame {
		width: 126px;
		position: absolute;
		top: -60px;
		left: -64px;
	}
	.qr-wrapper__photo-frame {
		background: #5088CB;
		border-color: #A9EDE9;
	}
	.qr__ttl--phoro-frame {
		color: #5088CB;
	}
}
/*************
sec--goods
*************/
.sec--goods {
	padding-block: 79px 60px;
	background: url(../img/bg_goods01.png) no-repeat center top/auto 60px,
				linear-gradient(to bottom,transparent 0%,transparent 60px,#C6DCF7 60px,#C6DCF7 100%);
	margin-top: -60px;
}
.sec--goods__ttl-wrapper {
	position: relative;
	margin-bottom: 9px;
}
.sec--goods__ttl {
	width: 76.8%;
	margin-inline: auto;
	position: relative;
}
.sec--goods__deco--01 {
	width: 98.67%;
	position: absolute;
	top: -52px;
	left: -2.67%;
}
.sec--goods__txt {
	color: #5088CB;
	font-weight: 900;
	font-family: var(--font-zen);
	line-height: 1.6875;
	letter-spacing: .025em;
	text-align: center;
	margin-bottom: 40px;
}
.sec--goods__img-wrapper {
	margin-bottom: 31px;
	position: relative;
}
.sec--goods__img {
	width: 86.96%;
	margin: 0 auto -17px;
}
.sec--goods__deco--02 {
	width: 35.47%;
	position: absolute;
	left: 0;
	bottom: -1px;
}
.sec--goods__img-note {
	font-size: 12px;
	letter-spacing: .025em;
	text-align: right;
}
.sec--goods__lineup__ttl {
	width: fit-content;
	color: #255C9F;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.47;
	letter-spacing: .025em;
	text-align: center;
	margin: 0 auto 15px;
	padding-inline: 20px;
	position: relative;
	&::before,&::after {
		content: "";
		display: block;
		width: 18px;
		height: 21px;
		background: url(../img/img_goods03.png) no-repeat center/cover;
		position: absolute;
		bottom: 0;
	}
	&::before {
		left: 0;
	}
	&::after {
		scale: -1 1;
		right: 0;
	}
}
.sec--goods__lineup__btn {
	display: block;
	margin-bottom: 10px;
}
.sec--goods__lineup__note {
	font-size: 12px;
	letter-spacing: .025em;
	text-align: center;
}
.sec--goods__box__info__btn {
	display: block;
	position:relative;
	background:#B99C4E;
	color: #fff;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
	padding-block: 8px;
	border-radius: 10vh;
	margin-top: 10px;
	margin-bottom: 10px;
	transition: background-color .3s;
	&:hover {
		background: #9D8033;
	}
	&::before{
		content: "";
        position: absolute;
        top: 50%;
        right: 30px;
        height: 10px;
        width: 10px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        transform: translateY(-50%) rotate(45deg);
        transition: all 0.3s;
	}
}
@media(min-width:751px){
	.sec--goods {
		padding-block: 110px 69px;
		background: url(../img/bg_goods01.png) no-repeat center top/auto 85px,
					linear-gradient(to bottom,transparent 0%,transparent 85px,#C6DCF7 85px,#C6DCF7 100%);
		margin-top: -85px;
	}
	.sec--goods__ttl-wrapper {
		width: 576px;
		margin: 0 auto 20px;
	}
	.sec--goods__ttl {
		width: 373px;
		margin-inline: auto;
	}
	.sec--goods__deco--01 {
		width: 100%;
		top: -68px;
		left: 0;
	}
	.sec--goods__txt {
		font-size: 20px;
		line-height: 1.6;
	}
	.sec--goods__lineup__ttl {
		font-size: 18px;
		padding-inline: 28px;
		&::before,&::after {
			width: 24px;
			height: auto;
			aspect-ratio: 18/21;
		}
	}
	.sec--goods__img {
		width: 544px;
	}
	.sec--goods__deco--02 {
		width: 147px;
		left: -20px;
	}
	.sec--goods__box__info__btn{
		max-width: 360px;
        margin-inline: auto;
	}
}
/*************
sec--souvenir
*************/
.sec--souvenir {
	padding-block: 32px 10px;
	background: url(../img/bg_souvenir02.png) repeat top/100% auto;
}
.sec--souvenir__ttl-wrapper {
	position: relative;
	margin-bottom: 30px;
}
.sec--souvenir__ttl {
	width: 76.8%;
	margin-inline: auto;
	position: relative;
}
.sec--souvenir__deco--01 {
	width: 93.87%;
	position: absolute;
	top: -44px;
	left: 4%;
}
.sec--souvenir__txt {
	color: #75A7E2;
	font-weight: 900;
	font-family: var(--font-zen);
	line-height: 1.6875;
	letter-spacing: .025em;
	text-align: center;
	margin-bottom: 24px;
}
.sec--souvenir__img-wrapper--first {
	width: 89.57%;
	margin: 0 0 22px auto;
}
.sec--souvenir__list-wrapper {
	position: relative;
	margin-bottom: 31px;
}
.sec--souvenir__list-btn {
	display: block;
	width: 100%;
	background: #fff;
	border: 1px solid #5088CB;
	border-radius: 10vh;
	color: #5088CB;
	font-weight: 900;
	letter-spacing: .025em;
	text-align: center;
	padding-block: 13px 14px;
	position: absolute;
	bottom: 0;
	z-index: 1;
	cursor: pointer;
	transition: opacity .5s ease;
	&::before,&::after {
		content: "";
		display: block;
		width: 18px;
		height: 3px;
		background: #5088CB;
		position: absolute;
		top: 50%;
		right: 15px;
		translate: 0 -50%;
	}
	&::after {
		rotate: 90deg;
		transition: rotate .3s;
	}
	&:hover {
		opacity: .9;
	}
}
.sec--souvenir__list-btn.open::after {
	rotate: 0deg;
}
.sec--souvenir__acc {
	max-height: 324px;
	padding-bottom: 68px;
	overflow: hidden;
	transition: max-height .3s ;
}

.sec--souvenir__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 25px;
	background: url(../img/img_souvenir19.png) no-repeat center bottom/100% auto;
	margin-bottom: 21px;
}
.sec--souvenir__list__items {
	width: calc(calc(100% - 25px) / 2);
}
.sec--souvenir__list__button {
	display: block;
	background: 0;
	padding: 15px 0 0;
	border: 0;
	position: relative;
	cursor: pointer;
	transition: opacity .5s ease;
	&:hover {
		opacity: .7;
	}
}
.sec--souvenir__list__button__ribbon {
	display: block;
	width: 81.875%;
	background: #B99C4E;
	padding-block: 1px 2px;
	clip-path: polygon(0 0,100% 0,calc(100% - 4px) 50%,100% 100%,0 100%,4px 50%);
	color: #fff;
	font-size: 17px;
	font-family: var(--font-zen);
	font-weight: 900;
	text-align: center;
	letter-spacing: .025em;
	position: absolute;
	top: 0;
	left: 50%;
	translate: -50%;
}
.sec--souvenir__list__button__ico {
	display: block;
	width: 36px;
	height: 36px;
	background: #F284B2;
	border: 3px solid #fff;
	border-radius: 50%;
	position: absolute;
	bottom: 0;
	right: 7px;
	&::before,&::after {
		content: "";
		display: block;
		width: 15px;
		height: 3px;
		background: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		translate: -50% -50%;
	}
	&::after {
		rotate: 90deg;
	}
}
.sec--souvenir__list-note {
	font-size: 12px;
	letter-spacing: .025em;
	text-align: right;
}
.sec--souvenir__img-wrapper--end {
	width: 100.58%;

	margin: 0 0 24px -7px;
}
.copyrights {
	color: #5088CB;
	font-size: 11px;
	letter-spacing: .05em;
	text-align: center;
}
@media(min-width:751px){
	.sec--souvenir {
		padding-top: 31px;
	}
	.sec--souvenir__ttl-wrapper {
		max-width: 462px;
		margin: 0 auto 40px;
	}
	.sec--souvenir__deco--01 {
		width: 100%;
		top: -60px;
		left: 0;
	}
	.sec--souvenir__ttl {
		width: 378px;
	}
	.sec--souvenir__txt {
		font-size: 20px;
		line-height: 1.6;
		margin-bottom: 40px;
	}
	.sec--souvenir__img-wrapper--first {
		max-width: 380px;
		margin: 0 auto 30px;
	}
	.sec--souvenir__list {
		max-width: 715px;
		background: url(../img/img_souvenir19_pc.png) no-repeat center bottom/431px auto;
	}
	.sec--souvenir__list__items {
		width: calc(calc(100% - 75px) / 4);
	}
	.sec--souvenir__img-wrapper--end {
		width: 463px;
		margin-inline: auto;
	}
}

/*************
modal
*************/

.modal {
	width: 100%;
	height: 100dvh;
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	opacity: 0;
	user-select: none;
	pointer-events: none;
	transition: opacity .3s;
}
.modal.open {
	opacity: 1;
	user-select: auto;
	pointer-events: auto;
}
.modal__bg {
	background: rgb(0 0 0/.75);
	position: absolute;
	inset: 0;
	z-index: 1;
	cursor: pointer;
}
.modal__content {
	border-radius: 10px;
	background: #fff;
	width: 92%;
	padding: 15px 20px 20px;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	translate: -50% -50%;
	opacity: 0;
	user-select: none;
	pointer-events: none;
	transition: opacity .3s;
}
.modal__content.open {
	opacity: 1;
	user-select: auto;
	pointer-events: auto;
}
.modal__content__img-wrapper {
	margin-bottom: 10px;
}
.modal__content__img-place {
	width: fit-content;
	padding: 3px 10px;
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	font-family: var(--font-zen);
	letter-spacing: .05em;
	background: #B99C4E;
	border-radius: 4px;
}
.modal__content__ttl {
	color: #5088CB;
	font-size: 17px;
	font-weight: 900;
	font-family: var(--font-zen);
	letter-spacing: .025em;
	margin-bottom: 10px;
}
.modal__content__txt {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.62;
	letter-spacing: .05em;
}
.modal__content__close-btn {
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: -46px;
	right: 0;
	background: 0;
	padding: 0;
	border: 0;
	cursor: pointer;
	&::before,&::after {
		content: "";
		display: block;
		width: 30px;
		height: 3px;
		background: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		translate: -50% -50%;
		rotate: 45deg;
	}
	&::after {
		rotate: -45deg;
	}
}

@media(min-width:751px) {
	.modal__content {
		max-width: 345px;
	}
}
/*************
終了処理
*************/

.red_box {
	font-weight: bold;
	border: 2px solid var(--red-color);
	color: var(--red-color);
	font-size: 18px;
	text-align: center;
	padding: 8px;
	margin: 16px auto 0;
	max-width: 800px;
	width: calc(100% - 40px);
	background-color: #FFF;
}
.VoiStock_btn.sign-off-btn {
	pointer-events: none;
	position: relative;
}
.sign-off {
    background-color: rgba(255, 255, 255, 0.8);
    color: #EE0000;
    border: #EE0000 2px solid;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 85%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    text-align: center;
    padding: 16px 0;
}
@media(min-width:751px){

	/* 終了処理 QR枠用 */
	.sign-off-pc {
        background-color: rgba(255, 255, 255, 0.9);
        color: #EE0000;
        border: #EE0000 2px solid;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 85%;
        height: 85%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        font-size: 18px;
        text-align: center;
    }
}








/*************
footer
*************/
/*その他の推し旅プラン*/
.info_wrap {
	margin: 0 auto;
	padding: 8px 40px 20px;
	position: relative;
	background-color: #FFF;
}
.oshitabi_btn {
	display: block;
	border: 4px solid #000;
	background-color: #FFF;
	max-width: 740px;
	margin: 32px auto 0;
	text-align: center;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	border-radius: 10px;
	position: relative;
	padding: 10px 30px 10px 5px;
	font-size: 18px;
	transition: all 0.3s;
}
.oshitabi_btn:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	height: 12px;
	width: 12px;
	border-top: 3px solid #000;
	border-right: 3px solid #000;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
}
.oshitabi_btn:hover {
	background-color: var(--primary-color);
	color: #FFF;
	border: 4px solid var(--primary-color);
}
.oshitabi_btn:hover::after {
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;

}
.credit {
	text-align: center;
	margin-top: 16px;
	font-size: 12px;
}

.footer_container {
	position: relative;
	z-index: 100;
	background-color: #FFF;
	padding-top: 1px;
}
@media(min-width:751px){
	.info_wrap {
		margin: 0 auto;
		padding: 8px 20px 100px;
	}
	.oshitabi_btn {
		padding: 15px;
		font-size: 20px;
	}
}





/*************
メディアクエリ
*************/
@media(min-width:751px){
	.sp {
		display: none;
	}
}
@media(max-width:750px){
	.pc {
		display: none;
	}

}
	
