@charset "UTF-8";

/*************
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', sans-serif;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
	color: var(--txt-color);
	margin-top: 66px;
	background-color: var(--primary-color);
	width: 100%;
	position: relative;
	z-index: 0;
}
.content_wrap :is(*,*::before,*::after) {
	box-sizing: border-box;
}
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 {
	--txt-color: #1f1f1f;
	--primary-color: #aa1b1b;
	--transition: cubic-bezier(0,1,.7,1);
}
/*アキ*/
.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;}

/* テキスト汎用 */
.bold {font-weight: bold;}
.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;}

}
/*************
汎用
*************/
.content-inner {
	width: 92%;
	max-width: 880px;
	margin-inline: auto;
}
.txt-red {
	color: var(--primary-color);
}
.txt-srtong {
	font-weight: 700;
}
.txt-link {
	color: var(--primary-color);
	text-decoration: underline;
	&:hover {
		text-decoration: none;	
	}
}
/* CTA(Voistock)ボタン */
.cta-btn {
	display: block;
	background: #fff;
	margin-bottom: 16px;
	clip-path: polygon(10px 0,100% 0,calc(100% - 10px) calc(100% + 3px),0 calc(100% + 3px));
	font-size: 20px;
	font-weight: 700;
	position: relative;
	z-index: 0;
	&::after {
		content: "";
		display: block;
		width: 18px;
		height: 21px;
		clip-path: polygon(0 0,100% 50%,0 100%);
		position: absolute;
		top: 50%;
		right: 18px;
		translate: 0 -50%;
	}
	&:before {
		content: "";
		display: block;
		background: #ffe200;
		scale: 0 1;
		position: absolute;
		inset: 0;
		transition: .3s;
		transform-origin: left center;
		z-index: -1;
	}
	&:hover {
		&::before {
			scale: 1 1;
		}
	}
}
.cta-btn__marker {
	color: #fff;
	font-size: 25px;
	font-weight: 700;
	padding: 0 8px 2px;
}
.cta-btn-note-list {
	margin-bottom: 25px;
}
.cta-btn-note-list__items {
	font-size: 12px;
	line-height: 1.67;
	letter-spacing: .05em;
	.txt-color {
		color: #FAC22C;
	}
}
.cta-btn-wrapper {
	max-width: 520px;
	margin-inline: auto;
}
.qr-wrapper {
	display: grid;
	grid-template-columns: 1fr 100px;
	gap: 16px;
	align-items: start;
	margin-bottom: 20px;
	padding: 16px;
	border: 1px solid #fff;
	background: var(--primary-color);
}
.qr__ttl {
	background: #fff;
	color: var(--primary-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .025em;
	text-align: center;
	padding-block: 6px;
	margin-bottom: 10px;
}
.qr__ttl__large-txt {
	font-size: 22px;
}
.qr__txt {
	color: #fff;
	font-weight: 500;
	line-height: 1.5;
}
.qr__img {
	overflow: hidden;
}

/* アコーディオン */
.acc_body {
	display: none;
}
.acc_btn {
	font-weight: 700;
    width: fit-content;
    margin: 0 auto;
    color: #000;
    position: relative;
    padding-right: 28px;
	cursor: pointer;
	transition: all 0.3s;
}
.acc_btn span {
	position: absolute;
	background-color: #000;
	height: 20px;
	width: 20px;
	border-radius: 100%;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.acc_btn span::before,
.acc_btn span::after {
	content: "";
	background-color: #fff;
	position: absolute;
	width: 10px;
	height: 2px;
	transform: translate(-50%,-50%);
	top: 50%;
	left: 50%;
	transition: transform .3s;
}
.acc_btn span::before {
	transform: translate(-50%,-50%) rotate(90deg);
}
.acc_btn.open span::before {
	transform: translate(-50%,-50%);
}
/* ご注意事項アコーディオン */
.caution_acc .acc_btn {
    padding: 3px 36px 5px 16px;
    border-radius: 10vh;
	border: 1px solid #000;
    background-color: #fff;
	color: #000;
	transition: .3s;
	&:hover {
		color: #fff;
		background: var(--primary-color);
		span {
			background: #fff;
			&::before,&::after {
				background: var(--primary-color);
			}
		}
	}
}
.caution_acc .acc_btn span {
	right: 8px;
}
.caution_acc .acc_body {
	margin-top: 10px;
	border: 1px solid rgb(31 31 31/.75);
	padding: 16px 15px;
	border-radius: 8px;
}
.caution_acc__list__items {
	font-size: 11px;
	line-height: 1.45;
}

/* coming soon */
.comingsoon {
	position: relative;
	pointer-events: none;
	user-select: none;
}
.comingsoon-txt {
	display: grid;
	place-content: center;
	color: #fff;
	font-size: 10vw;
	font-weight: 700;
	text-align: center;
	background: rgb(0 0 0/.75);
	position: absolute;
	inset: 0;
	z-index: 1;
}
@media(min-width:751px){
	.caution_acc__list__items {
		font-size: 12px;
	}
	.comingsoon::before {
		content: "coming soon";
		display: grid;
		place-content: center;
		color: #fff;
		font-size: 20px;
		font-weight: 700;
		text-align: center;
		position: absolute;
		inset: 0;
		background: rgb(0 0 0/.75);
	}
}

/* pdfボタン */
.pdf-btn {
	display: block;
	max-width: 320px;
	margin: 0 auto 20px;
	padding: 12px;
	background: #000;
	border-radius: 10vh;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	transition: .3s;
	&:hover {
		background: var(--primary-color);
	}
}
.pdf-btn__ico {
	width: 24px;
	height: 24px;
	display: inline-block;
	margin-left: 4px;
}

/* アニメーション */
.js-animate[data-animate="fade-up"] {
	opacity: 0;
	translate: 0 40px;
	transition: 1.5s var(--transition);
}
.js-animate--active[data-animate="fade-up"] {
	opacity: 1;
	translate: 0;
}
.js-animate [data-animate="clip"] {
	clip-path: inset(0 100% 0 0);
	transition: 1.5s var(--transition);
}
.js-animate--active [data-animate="clip"] {
	clip-path: inset(0);
}
@keyframes mask {
	0% {
		scale: 0 1;
		transform-origin: left center;
	}
	49% {
		transform-origin: left center;
	}
	50% {
		scale: 1 1;
		transform-origin: center center;
	}
	51% {
		transform-origin: right center;
	}
	100% {
		scale: 0 1;
		transform-origin: right center;
	}
}
/*************
mv
*************/
.mv {
	position: relative;
	margin-bottom: 19px;
	&::before {
		content: "";
		display: block;
		position: absolute;
		inset: 0;
		background: #fff;
		z-index: 10;
		scale: 0 1;
		transform-origin: left center;
	}
}
.loaded .mv::before {
	animation: mask 1s var(--transition) forwards;
}
.mv__img {
	max-width: 1300px;
	margin-inline: auto;
	opacity: 0;
}
.loaded .mv__img {
	opacity: 1;
	transition: opacity 0s linear .5s;
}
@media(min-width:751px){
	.mv {
		margin-bottom: 45px;
	}
}
/*************
lead
*************/
.lead {
	background: #fff;
	padding-block: 28px 35px;
	clip-path: polygon(0 32px,100% 0,100% calc(100% - 32px),0 100%);
	overflow: hidden;
	margin-bottom: 22px;
}
.lead__txt {
	color: var(--primary-color);
	font-size: 25px;
	font-weight: 700;
	line-height: 1.52;
	text-align: center;
	rotate: -5deg;
}
.lead__txt__small-txt {
	display: block;
	width: fit-content;
	margin-inline: auto;
	font-size: 20px;
}
@media(min-width:751px){
	.lead {
		max-width: 800px;
		margin: 0 auto 48px;
		padding-block: 48px 54px;
		clip-path: polygon(0 63px,100% 0,100% calc(100% - 63px),0 100%);
	}
	.lead__txt {
		font-size: 32px;
		line-height: 1.375;
	}
	.lead__txt__small-txt {
		font-size: 24px;
	}
}
/*************
sec--toc
*************/
.sec--toc {
	margin-bottom: 24px;
}
.sec--toc__ttl {
	width: fit-content;
	margin: 0 auto 27px;
	background: #fff;
	padding: 3px 8px;
	color: var(--primary-color);
	font-size: 20px;
	font-weight: 900;
	line-height: 1.45;
	position: relative;
	&::after {
		content: "";
		display: block;
		width: 13px;
		height: 12px;
		background: #fff;
		clip-path: polygon(0 0,100% 0,50% 100%);
		position: absolute;
		bottom: -11px;
		left: 50%;
		translate: -50% 0;
	}
}
.sec--toc__list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 10px 7px;
}
.sec--toc__list__link {
	display: block;
	border: 1px solid #fff;
	border-radius: 4px;
	overflow: hidden;
	transition: .3s;
	&:hover {
		opacity: .7;
	}
}
@media(min-width:751px){
	.sec--toc {
		margin-bottom: 48px;
	}
	.sec--toc__ttl {
		font-size: 24px;
		line-height: 1.46;
	}
	.sec--toc__list {
		max-width: 800px;
		margin-inline: auto;
		grid-template-columns: repeat(4,1fr);
		gap: 20px;
	}
}
/*************
sec--howto
*************/
.sec--howto {
	margin-bottom: 80px;
}
.sec--howto__bg {
	padding: 15px 12px;
	background: #fff;
}
.sec--howto__ttl {
	color: var(--primary-color);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.44;
	width: fit-content;
	margin: 0 auto 24px;
	padding: 0 18px 6px;
	border-bottom: 2px solid var(--primary-color);
}
.sec--howto__steps-acc {
	margin-bottom: 10px;
}
.sec--howto__steps-acc .acc_btn {
	color: #3e3e3e;
	padding: 0;
	border-bottom: 1px solid var(--txt-color);
	margin-bottom: 10px;
	span {
		display: none;
	}
	&.open {
		display: none;
	}
}
.sec--howto__steps-content--02,
.sec--howto__steps-content--03 {
	position: relative;
	&::before,&::after {
		content: "";
		display: block;
		position: absolute;
		left: 50%;
		translate: -50% 0;
	}
	&::before {
		width: 31px;
		height: 31px;
		background: var(--primary-color);
		border-radius: 50%;
		top: -41px;
	}
	&::after {
		width: 9px;
		height: 9px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		rotate: 45deg;
		top: -33px;
	}
}
.sec--howto__steps-content--01 {
	margin-bottom: 25px;
}
.sec--howto__steps-acc .acc_btn.open + .acc_body{
	margin-top: 51px;
}
.sec--howto__steps-content--02 {
	margin-bottom: 51px;
}
.sec--howto__steps-content__ttl {
	background: #AAAAAA;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.44;
	text-align: center;
	margin-bottom: 9px;
}
.sec--howto__steps-content__txt--red {
	color: var(--primary-color);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.56;
}
.sec--howto__steps-content--01 .sec--howto__steps-content__txt--red {
	text-align: center;
	margin-bottom: 2px;
}
.sec--howto__steps-content--02 .sec--howto__steps-content__txt--red {
	margin-bottom: 10px;
}
.sec--howto__steps-content__txt--note {
	font-size: 11px;
	font-weight: 700;
	line-height: 1.45;
}
.sec--howto__steps-content--01 .sec--howto__steps-content__txt--note {
	text-align: center;
	margin-bottom: 4px;
}
.sec--howto__steps-content--02 .sec--howto__steps-content__txt--note {
	align-self: end;
}
.sec--howto__steps-content__txt--black {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.75;
}
.sec--howto__steps-content--01 .sec--howto__steps-content__txt--black {
	text-align: center;
	margin-bottom: 12px;
}
.sec--howto__steps-content__btn {
	display: block;
	width: fit-content;
	margin-inline: auto;
	background: #FDE31A;
	border: 2px solid #B1B1B1;
	border-radius: 10vh;
	padding: 4px 36px 5px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.45;
	box-shadow: 2px 3px 0 #b1b1b1;
	position: relative;
	transition: .3s;
	&:hover {
		translate: 2px 3px;
		box-shadow: none;
	}
	&::after {
		content: "▶";
		font-size: 13px;
		font-weight: 700;
		position: absolute;
		right: 7px;
		top: 50%;
		translate: 0 -50%;
	}
	.comingsoon-txt {
		font-size: 18px;
		border-radius: 10vh;
	}
}
.sec--howto__steps-content__qr-wrapper {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	align-items: center;
	gap: 16px;
}
.sec--howto__steps-content__qr-wrapper__txt {
	font-size: 16px;
	font-weight: 700;
}
.sec--howto__steps-content__note-list {
	align-self: end;
}
.sec--howto__steps-content__col {
	display: grid;
	grid-template-columns: 36.45% 1fr;
	gap: 22px;
}
.sec--howto__steps-content__dtl {
	display: grid;
	align-items: start;
	grid-template-rows: auto 1fr auto;
}
.sec--howto__steps-acc .acc_btn--close {
	display: block;
	width: fit-content;
	margin: 24px auto 0;
	color: #3E3E3E;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	border: none;
	border-bottom: 1px solid #3E3E3E;
	padding: 0;
	background: none;
}
.sec--howto__note-list {
	margin-bottom: 10px;
}
.sec--howto__note-list__items {
	font-size: 11px;
	font-weight: 700;
	line-height: 1.45;
	&.txt-red {
		color: var(--primary-color);
	}
}
.sec--howto .caution_acc .acc_body {
	border: 0;
	padding: 0;
	border-radius: 0;
}
.sec--howto .caution_acc__list__items {
	font-weight: 700;
}
@media(min-width:751px){
	.sec--howto {
		margin-bottom: 93px;
	}
	.sec--howto__bg {
		padding: 40px;
	}
	.sec--howto__ttl {
		font-size: 24px;
	}
	.sec--howto__steps-acc-list {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 64px;
		margin-bottom: 12px;
	}
	.sec--howto__steps-content {
		margin: 0;
	}
	.sec--howto__steps-content--02,
	.sec--howto__steps-content--03 {
		&::before,&::after {
			top: 50%;
			translate: 0 -50%;
		}
		&::before {
			width: 32px;
			height: 32px;
			left: -48px;
		}
		&::after {
			rotate: -45deg;
			left: -40px;
		}
	}
	.sec--howto__steps-content__img {
		width: 50%;
		margin-inline: auto;
	}
	.sec--howto__steps-content__txt--red {
		font-size: 16px;
		line-height: 1.5;
		text-align: center;
	}
	.sec--howto__steps-content__txt--red {
		margin-bottom: 8px;
	}
	.sec--howto__steps-content--01 .sec--howto__steps-content__txt--red {
		margin-bottom: 8px;
	}
	.sec--howto__steps-content--02 .sec--howto__steps-content__txt--red {
		margin-bottom: 8px;
	}
	.sec--howto__steps-content__txt--note {
		text-align: center;
	}
	.sec--howto__steps-content__txt--black {
		font-size: 14px;
		text-align: center;
	}
	.sec--howto__steps-content__col {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.sec--howto__note-list__items {
		font-size: 12px;
	}
}
/*************
sec--tanahashi
*************/
.sec--tanahashi {
	margin-bottom: 57px;
}
.sec--tanahashi__box {
	max-width: 600px;
	background: #fff;
	padding: 17px 14px 40px;
}
.sec--tanahashi__ttl {
	max-width: 540px;
	margin: -70px auto 16px;
}
.sec--tanahashi__img-wrapper {
	width: 82.33%;
	max-width: 312px;
	margin: 0 auto 19px;
	position: relative;
}
.sec--tanahashi__img02 {
	width: 76.63%;
	position: absolute;
	top: 29.36%;
	right: -16.09%;
}
.sec--tanahashi__img-note {
	font-size: 12px;
	text-align: right;
	margin-top: 4px;
}
.sec--tanahashi__lead {
	max-width: 600px;
	background: #520D0D;
	position: relative;
	overflow: hidden;
	margin: 0 -14px 24px;
}
.sec--tanahashi__lead__txt {
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.47;
	text-align: center;
	padding-block: 13px;
}
.sec--tanahashi__lead__bg {
	width: 126px;
	height: 126px;
	position: absolute;
	top: 0;
	left: -2.13vw;
	mix-blend-mode: overlay;
}
.cta-btn--tanahashi {
	max-width: 440px;
	margin: 0 auto 16px;
	padding: 25px 30px;
	color: #fff;
	background: var(--primary-color);
	box-shadow: 0 3px 0 #7F0F0F;
	&:hover {
		color: var(--primary-color);
		&::after {
			background: var(--primary-color);
		}
	}
	&::after {
		background: #fff;
		transition: .3s;
	}
	.cta-btn__marker {
		color: var(--primary-color);
		font-size: 23px;
		background: #fff;
		margin-right: 4px;
	}
}
@media(min-width:751px){
	.sec--tanahashi__box {
		padding: 32px;
	}
	.sec--tanahashi__img02 {
		width: 88%;
		right: -30%;
	}
	.sec--tanahashi__lead {
		margin: 0 -32px 24px;
	}
	.sec--tanahashi__lead__txt {
		font-size: 20px;
		padding: 20px;
	}
	.sec--tanahashi__lead__bg {
		left: 40px;
	}
}

/*************
sec--tot
*************/
.sec--tot {
	color: #fff;
	padding-block: 36px 57px;
	background: #2c2c2c;
	:is(.cta-btn-note-list__items,.caution_acc__list__items) .txt-link {
			color: #FFE200;
	}
	.caution_acc .acc_body {
		border-color: rgb(255 255 255/.75);
	}
}
.sec--tot__ttl {
	max-width: 540px;
	margin: 0 auto 19px;
}
.sec--tot__img-wrapper {
	position: relative;
	max-width: 600px;
	padding-bottom: 31.59%;
}
.sec--tot__img01 {
	width: 73.04%;
	margin-inline: auto;
}
.sec--tot__img02 {
	width: calc(100% + 8vw);
	max-width: none;
	position: absolute;
	bottom: 0;
	left: -4vw;
}
.sec--tot__img03 {
	width: 78.84%;
	position: absolute;
	right: 0;
	bottom: 4.87%;
}
.sec--tot__lead {
	max-width: 600px;
	padding-block: 15px 16px;
	background: rgb(0 0 0/.52);
	margin: 0 auto 32px;
	overflow: hidden;
	position: relative;
}
.sec--tot__lead__txt {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.47;
	text-align: center;
	margin-bottom: 10px;
}
.sec--tot__lead__note-list {
	margin: 0 4% 15px;
}
.sec--tot__lead__note-list__items {
	font-size: 12px;
	line-height: 1.67;
	letter-spacing: .05em;
}
.sec--tot__lead__btn {
	display: block;
	width: 45.6%;
	max-width: 224px;
	margin: 0 auto 8px;
	transition: .3s;
	&:hover {
		opacity: .7;
	}
}
.sec--tot__lead__btn-note {
	font-size: 12px;
	text-align: center;
}
.sec--tot__lead__bg {
	width: 126px;
	height: 126px;
	mix-blend-mode: lighten;
	position: absolute;
	top: 0;
	left: -2.67vw;
}
.sec--tot__schedule__ttl {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5625;
	text-align: center;
	position: relative;
	max-width: 600px;
	margin: 0 auto 12px;
	background: linear-gradient(to right,#fff 0%, #fff calc(50% - 122px),transparent calc(50% - 122px),transparent calc(50% + 122px),#fff calc(50% + 122px),#fff 100%) no-repeat center/100% 1px;
}
.sec--tot__schedule__ttl__en {
	display: block;
	font-size: 32px;
	font-weight: 400;
	font-family: "Impact","Anton","Noto Sans JP",sans-serif;
}
.sec--tot__schedule__list {
	background: #000000;
	width: calc(100% - 30px);
	max-width: 520px;
	margin: 0 auto 12px;
	&:last-child {
		margin-bottom: 24px;
	}
}
.sec--tot__schedule__list__ttl {
	font-size: 18px;	
	font-weight: 500;
	line-height: 1.44;
	text-align: center;
	padding-block: 8px 6px;
	border-bottom: 1px solid #fff;
}
.sec--tot__schedule__list__dtl {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.67;
	text-align: center;
	padding-block: 6px 8px;
}
.sec--tot__schedule__list__dtl__large-txt {
	font-size: 18px;
}
.cta-btn--tot {
	padding: 12px 34px 9px;
	box-shadow: 0 3px 0 #000;
	&::after {
		background: #000;
	}
}
.cta-btn--tot .cta-btn__marker {
	display: block;
	width: fit-content;
	background: #000;
	color: #fff;
}
.sec--tot .qr-wrapper {
	background: #fff
}
.sec--tot .qr__ttl {
	color: #fff;
	background: #000;
}
.sec--tot .qr__txt {
	color: #000;
}
@media(min-width:751px){
	.sec--tot {
		padding-block: 93px;
	}
	.sec--tot__img02 {
		left: -32px;
	}
	.sec--tot__img03 {
		max-width: 360px;
	}
	.sec--tot__lead {
		background: linear-gradient(to right,#2c2c2c 0%,transparent 40px,rgb(44 44 44/100%) calc(100% - 40px),#2c2c2c 100%),
					rgb(0 0 0/.52);
		padding: 20px;
	}
	.sec--tot__lead__txt {
		font-size: 20px;
	}
	.sec--tot__lead__bg {
		left: 40px;
	}
	.sec--tot__schedule__ttl {
		font-size: 18px;
	}
	.sec--tot__schedule__list__ttl {
		font-size: 20px;
	}
	.sec--tot__schedule__list__dtl {
		font-size: 16px;
	}
	.sec--tot__schedule__list__dtl__large-txt {
		font-size: 20px;
	}
}


/*************
sec--talk
*************/
.sec--talk {
	padding-block: 80px 56px;
}
.sec--talk__box {
	max-width: 600px;
	background: #fff;
	padding: 17px 14px 40px;
}
.sec--talk__ttl {
	max-width: 540px;
	margin: -70px auto 16px;
}
.sec--talk__img-wrapper {
	width: 82.33%;
	max-width: 600px;
	margin: 0 auto 17px;
	position: relative;
}
.sec--talk__img02 {
	width: 91.95%;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}
.sec--talk__lead {
	background: #520D0D;
	position: relative;
	overflow: hidden;
	max-width: 600px;
	margin: 0 -14px 33px;
}
.sec--talk__lead__txt {
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.47;
	text-align: center;
	padding: 29px 4% 22px;
}
.sec--talk__lead__bg {
	width: 126px;
	height: 126px;
	position: absolute;
	top: 0;
	left: -1.87vw;
	mix-blend-mode: overlay;
}
.sec--talk__schedule {
	margin-bottom: 33px;
}
.sec--talk__schedule__ttl {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.29;
	text-align: center;
	position: relative;
	margin-bottom: 12px;
	background: linear-gradient(to right,#fff 0%, #fff calc(50% - 104px),transparent calc(50% - 104px),transparent calc(50% + 104px),#fff calc(50% + 104px),#fff 100%) no-repeat center/100% 1px;
}
.sec--talk__schedule__ttl__small-txt {
	display: block;
	font-size: 18px;
}
.sec--talk__schedule__list {
	color: #fff;
	background: #7F0F0F;
	width: calc(100% - 30px);
	max-width: 520px;
	margin: 0 auto 12px;
}
.sec--talk__schedule__list__ttl {
	font-size: 18px;	
	font-weight: 500;
	line-height: 1.44;
	text-align: center;
	padding-block: 8px 6px;
	border-bottom: 1px solid #fff;
}
.sec--talk__schedule__list__dtl {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.44;
	text-align: center;
	padding-block: 6px 8px;
}
.sec--talk__schedule__note {
	font-size: 12px;
	text-align: center;
}
.cta-btn--talk {
	padding: 4px 15px 0;
	color: #fff;
	font-feature-settings: "palt";
	line-height: 1.35;
	background: var(--primary-color);
	box-shadow: 0 3px 0 #7F0F0F;
	&:hover {
		color: var(--primary-color);
		&::after {
			background: var(--primary-color);
		}
	}
	&::after {
		background: #fff;
		transition: .3s;
	}
	.cta-btn__marker {
		display: block;
		width: fit-content;
		color: var(--primary-color);
		font-size: 22px;
		line-height: 1.14;
		background: #fff;
		+ & {
			margin-top: 3px;
		}
	}
}
.sec--talk .qr__ttl__large-txt {
	font-size: 20px;
}

@media(min-width:751px) {
	.sec--talk {
		padding-block: 93px;
	}
	.sec--talk__box {
		padding: 32px;
	}
	.sec--talk__img01 {
		width: 100%;
	}
	.sec--talk__img02 {
		max-width: 360px;
	}
	.sec--talk__lead {
		margin: 0 -32px 33px;
	}
	.sec--talk__lead__txt {
		font-size: 20px;
	}
	.sec--talk__lead__bg {
		left: 40px;
	}
	.sec--talk__schedule__list__ttl {
		font-size: 20px;
	}
	.sec--talk__schedule__list__dtl {
		font-size: 20px;
	}
}

/*************
sec--novelty
*************/
.sec--novelty__ttl {
	max-width: 540px;
	margin: 0 auto 16px;
}
.sec--novelty__lead-txt {
	width: fit-content;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	rotate: -9deg;
	margin: 0 auto 40px;
	position: relative;
	z-index: 1;
}

@media(min-width:751px) {
	.sec--novelty__lead-txt {
		rotate: -5deg;
	}
}

/*************
sec--stand
*************/
.sec--stand {
	margin-bottom: 40px;
}
.sec--stand__box {
	max-width: 600px;
	margin-inline: auto;
	background: #fff;
	padding: 17px 14px 40px;
}
.sec--stand__ttl {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
	background: #510D0D;
	padding: 5px 5px 6px;
	margin-bottom: 11px;
}
.sec--stand__lead-txt {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.33;
	text-align: center;
	margin-bottom: 21px;
}
.sec--stand__img {
    margin-bottom: 17px;
}
.sec--stand__img-note {
	margin-top: 4px;
	font-size: 12px;
	text-align: right;
	line-height: 1.42;
}
.sec--stand__txt-wrapper {
	max-width: 600px;
	margin: 0 auto 20px;
}
.sec--stand__txt {
	font-size: 12px;
	line-height: 1.5;
}
.sec--stand__note-list__items {
	font-size: 12px;
	line-height: 1.5;
}
.sec--stand__acc__txt {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.47;
    text-align: center;
}
.cta-btn--stand {
	max-width: 440px;
	margin: 0 auto;
	padding: 11px 40px 6px 18px;
	color: #fff;
	background: var(--primary-color);
	box-shadow: 0 3px 0 #7F0F0F;
	&:hover {
		color: var(--primary-color);
		&::after {
			background: var(--primary-color);
		}
	}
	&::after {
		background: #fff;
		transition: .3s;
	}
	.cta-btn__marker {
		display: block;
		width: fit-content;
		color: var(--primary-color);
		font-size: 18px;
		background: #fff;
	}
}

@media(min-width:751px) {
	.sec--stand__box {
		padding: 32px;
	}
	.sec--stand__img::after {
		font-size: 70px;
	}
	.sec--stand__txt {
		font-size: 14px;
	}
	.sec--stand__note-list__items {
		font-size: 14px;
	}
}

/*************
sec--tshirt
*************/
.sec--tshirt {
	margin-bottom: 40px;
}
.sec--tshirt__box {
	max-width: 600px;
	margin-inline: auto;
	background: #fff;
	padding: 17px 14px 40px;
}
.sec--tshirt__ttl {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
	background: #510D0D;
	padding: 5px 5px 6px;
	margin-bottom: 11px;
}
.sec--tshirt__lead-txt {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.33;
	text-align: center;
	margin-bottom: 21px;
}
.sec--tshirt__img {
	width: 82.33%;
	margin: 0 auto 17px;
}
.sec--tshirt__img-txt {
	margin-top: 4px;
	font-size: 12px;
	text-align: right;
	line-height: 1.42;
}
.sec--tshirt__note-list {
	margin-bottom: 30px;
}
.sec--tshirt__note-list__items {
	font-size: 12px;
	line-height: 1.5;
}
.sec--tshirt_acc {
	margin-bottom: 20px;
	.acc_btn {
		background: var(--txt-color);
		color: #fff;
		padding: 3px 36px 5px 16px;
		border-radius: 10vh;
		transition: .3s;
		&:hover {
			background: var(--primary-color);
			span::before,span::after {
				background: var(--primary-color);
			}
		}
		span {
			background: #fff;
			right: 8px;
			&::before,&::after {
				background: var(--txt-color);
			}
		}
	}
}
.cta-btn--tshirt {
	max-width: 440px;
	margin: 0 auto;
	padding: 11px 24px 6px;
	color: #fff;
	background: var(--primary-color);
	box-shadow: 0 3px 0 #7F0F0F;
	&:hover {
		color: var(--primary-color);
		&::after {
			background: var(--primary-color);
		}
	}
	&::after {
		background: #fff;
		transition: .3s;
	}
}
.cta-btn--tshirt .cta-btn__marker {
	display: block;
	width: fit-content;
	color: var(--primary-color);
	font-size: 23px;
	background: #fff;
}

@media(min-width:751px) {
	.sec--tshirt__box {
		padding: 32px;
	}
	.sec--tshirt__note-list__items {
		font-size: 14px;
	}
}

/*************
sec--campaign
*************/
.sec--campaign {
	margin-bottom: 40px;
}
.sec--campaign__box {
	max-width: 600px;
	margin-inline: auto;
	background: #fff;
	padding: 13px 14px 20px;
}
.sec--campaign__ttl {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
	background: #510D0D;
	padding: 5px 5px 6px;
	margin-bottom: 11px;
}
.sec--campaign__lead-txt {
	font-size: 18px;	
	font-weight: 700;
	line-height: 1.33;
	text-align: center;
	margin-bottom: 12px;
}
.sec--campaign__txt {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 1em;
}
.sec--campaign__dtl-list-wrapper {
	margin-bottom: 1em;
}
.sec--campaign__dtl-list {
	margin-bottom: 1em;
}
.sec--campaign__dtl-list__ttl {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}
.sec--campaign__dtl-list__dtl {
	font-size: 12px;
	line-height: 1.5;
	a {
		color: #E71A21;
		text-decoration: underline;
		&:hover {
			text-decoration: none;
		}
	} b {
		font-weight: 700;
	}
}
.sec--campaign__note-list {
	margin-bottom: 21px;
}
.sec--campaign__note-list__items {
	font-size: 12px;
	line-height: 1.5;
}
.sec--campaign__btn {
	display: block;
	/* color: #8D8D8D; */
	color: #333333;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	background: #D8D8D8;
	padding: 6px 6px 10px;
	box-shadow: 0 3px 0 #8E8E8E;
	border-radius: 5px;
	margin-bottom: 32px;
	position: relative;
	transition: .3s;
	/* pointer-events: none; */
	&:hover{
		color:#ffffff;
		background: #333333;
		&::after{
			background:#ffffff;
		}
	}
	&::after {
		content: "";
		display: block;
		width: 12px;
		height: 14px;
		/* background: #8D8D8D; */
		background: #333333;
		clip-path: polygon(0 0, 100% 50%,0 100%);
		position: absolute;
		top: 50%;
		right: 14px;
		translate: 0 -50%;
		transition: .3s;
	}
}
.sec--campaign_acc .acc_btn {
	background: var(--txt-color);
	color: #fff;
	padding: 3px 36px 5px 16px;
	border-radius: 10vh;
	transition: .3s;
	&:hover {
		background: var(--primary-color);
		span::before,span::after {
			background: var(--primary-color);
		}
	}
	span {
		background: #fff;
		right: 8px;
		&::before,&::after {
			background: var(--txt-color);
		}
	}
}
.sec--campaign_acc .acc_body {
	margin-top: 20px;
	.sec--campaign__dtl-list:last-child {
		margin: 0;
	}
}

@media(min-width:751px) {
	.sec--campaign {
		margin-bottom: 93px;
	}
	.sec--campaign__box {
		padding: 32px;
	}
	.sec--campaign__txt {
		font-size: 14px;
	}
	.sec--campaign__dtl-list__ttl {
		font-size: 14px;
	}
	.sec--campaign__dtl-list__dtl {
		font-size: 14px;
	}
	.sec--campaign__btn {
		font-size: 18px;
		padding: 16px 6px 20px;
	}
}

/*************
sec--info
*************/
.sec--info {
	background: #fff;
	padding-block: 48px 94px;
}
.sec--info__bnr {
	display: block;
	transition: .3s;
	&:hover {
		opacity: .7;
	}
}
.sec--info__bnr--stardom {
	margin-bottom: 41px;
}
.sec--info__bnr--n-j-w,
.sec--info__bnr--stardom--02 {
	width: 78.55%;
	margin-inline: auto;
}
.sec--info__bnr--n-j-w {
	margin-bottom: 20px;
}
.sec--info__bnr--stardom--02 {
	margin-bottom:6px;
}
.sec--info__note {
	font-size: 12px;
	line-height: 1.42;
	text-align: center;
}

@media(min-width:751px) {
	.sec--info {
		padding-block: 93px;
		.content-inner {
			max-width: 400px;
		}
	}	
}

/*************
終了処理
*************/

.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
*************/
.btn-to-top {
    display: block;
    width: 96px;
    height: 96px;
    background: #ffe200;
    color: var(--primary-color);
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    padding-top: 40px;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    user-select: none;
    position: fixed;
    bottom: 16px;
    right: 16px;
	z-index: 1000;
    transition: .3s;
	&::before {
		content: "";
		display: block;
		width: 12px;
		height: 12px;
		border-top: 2px solid var(--primary-color);
		border-right: 2px solid var(--primary-color);
		rotate: -45deg;
		position: absolute;
		top: 24px;
		left: 50%;
		translate: -50% 0;
	}
	&.shown {
		opacity: 1;
		pointer-events: auto;
		user-select: auto;
		&:hover {
			opacity: .7;
		}
	}
}
/*その他の推し旅プラン*/
.info_wrap {
	margin: 0 auto;
	padding: 0 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;
	font-size: 12px;
}

.footer_container {
	position: relative;
	z-index: 100;
	background-color: #FFF;
	padding-top: 1px;
}
@media(min-width:751px){
	.btn-to-top {
		width: 120px;
		height: 120px;
		padding-top: 52px;
		font-size: 22px;
		&::before {
			border-width: 3px;
			top: 36px;
		}
	}
	.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;
	}

}
	
