@charset "UTF-8";

/* reset & set default */
@media all {
	html {
		font-size: 62.5% !important;
		height: 100%;
	}

	body {
		font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
		font-size: 1.4rem !important;
		font-weight: 500;
		line-height: 26px;
		overflow-x: hidden;
		color: #000;
		background-color: #fff;
		-webkit-font-smoothing: antialiased;
		-webkit-text-size-adjust: 100%;
		-moz-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
		text-size-adjust: 100%;
	}

	/* body.of-hidden {overflow: hidden;} */
	@media (max-width: 979px) {
		body.is_fixed {
			overflow: hidden;
		}

		.pcOnly {
			display: none !important;
		}
	}

	@media (min-width: 980px) {
		.pcNone {
			display: none !important;
		}
	}

	@media (max-width: 767px) {
		:root {
			font-size: 2.5vw !important;
		}

		.spNone {
			display: none !important;
		}
	}

	@media (min-width: 768px) {
		.spOnly {
			display: none !important;
		}
	}

	/* a{
		font-weight: 500;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
		text-decoration: none;
		color: #333;
	}
	a:hover{
		opacity: .75;
	} */
	h3,
	h4 {
		font-weight: 500;
	}

	img {
		vertical-align: bottom;
	}

	button {
		border: none;
		background-color: transparent;
	}

	label {
		white-space: nowrap;
	}

	input {
		border: none;
	}

	.underline {
		text-decoration: underline;
	}

	a.blue-a {
		color: #0bb6ff;
		text-decoration: underline;
		transition: opacity .3s;
	}

	a.blue-a:hover {
		opacity: .7;
	}

	.main-section {
		position: relative;
	}

	.palt {
		font-feature-settings: "palt";
	}

	/* wide */
	@media (min-width: 1601px) {
		:root {
			font-size: 0.625vw !important;
		}
	}
}


/* .site-main-header */
@media all {
	.l-japanese[data-v-e9c819a0] {
		padding: 0;
	}

	.txt-center {
		text-align: center;
	}

	.site-main-header {
		position: relative;
		background: center / cover no-repeat url(../img/mv.jpg);
	}

	.mv-logo {
		position: absolute;
	}

	.mv-bg {
		object-fit: cover;
		height: 100%;
	}

	/* sp & tab */
	@media (max-width: 979px) {
		.site-main-header {
			height: calc(70vw + 60px);
		}

		.mv-logo {
			top: 60px;
			left: 25%;
			width: 50%;
		}
	}

	/* pc */
	@media (min-width: 980px) {
		.site-main-header {
			margin: 0 auto;
			max-width: 160rem;
			height: 57.143vw;
			/*min-height: 75rem;
			max-height: 80rem;*/
		}

		.mv-logo {
			top: calc(34.5% - 20rem);
			left: calc(50% - 22.35rem);
			width: 44.7rem;
			height: 40rem;
		}
	}
}


/* .lead-seciton */
@media all {
	.lead-section-txt {
		margin: 0 auto;
		font-size: 1.8rem;
		line-height: 4rem;
		text-align: center;
	}

	.lead-section-txt+.lead-section-txt {
		margin-top: 1.5em;
	}

	.lead-section-txt.txt2 {
		line-height: 4rem;
	}

	.btn {
		position: relative;
		display: inline-block;
		padding: .9em 1.25em .95em 3.05em;
		border: 2px solid #000;
		background: #fff;
		font-weight: bold;
		color: #000;
		text-align: center;
		cursor: pointer;
		transition: color .3s, background .3s;
	}

	.btn::before {
		content: '';
		position: absolute;
		top: calc(50% - 1.85rem);
		left: 1em;
		display: block;
		width: 3.7rem;
		height: 3.7rem;
		background: center / cover no-repeat url(../img/btn-arrow-b.svg);
		transition: all .3s;
	}

	.btn:hover {
		background: #000;
		color: #fff;
	}

	.btn:hover::before {
		background-image: url(../img/btn-arrow-w.svg);
	}


	/* sp */
	@media (max-width: 767px) {
		.lead-section {
			padding-top: 8rem;
		}

		.lead-section-txt {
			padding: 0 2em;
		}

		.btn-about {
			margin-top: 5rem;
			text-align: center;
		}

		.btn {
			font-size: 2rem;
		}

		.lead-section-txt {
			/*text-align: left;*/
			line-height: 1.8;
		}

		.lead-section-txt.txt2 {
			line-height: 2;
		}

		.btn {
			font-size: 1.5rem;
		}

		.btn::before {
			top: calc(50% - 1.25rem);
			width: 2.5rem;
			height: 2.5rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.lead-section {
			z-index: 2;
			padding-top: 10rem;
		}

		.lead-section-txt {
			margin: 0 auto;
			width: 60rem;
		}

		.btn-about {
			margin-top: 8.5rem;
			text-align: center;
		}

		.btn {
			font-size: 2rem;
		}
	}
}


/* .news-section */
@media all {
	.news-section {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 2rem;
		background-color: #85daff;
	}

	.news-section-inner {
		background-color: #fff;
	}

	.main-section-header-ttl {
		font-weight: 500;
		line-height: 1.75;
	}

	.main-section-header-ttl small {
		display: block;
		font-size: 0;
	}

	.news-list {
		overflow: auto;
		/* 以下3行、お知らせ増えたらコメントアウト */
		/* display: flex;
		flex-direction: column;
		justify-content: center; */
		height: 100%;
		font-weight: normal;
	}

	.news-item {
		display: flex;
		padding: .5em 0;
		border-bottom: .1rem solid #d7d7d7;
		font-feature-settings: "palt";
	}

	.news-item time {
		display: inline-block;
		width: 9em;
	}

	.news-item p {
		width: calc(100% - 9em);
	}

	/* sp */
	@media (max-width: 767px) {
		.news-section {
			margin-top: 7.5rem;
			padding: 3rem 2rem;
		}

		.news-section-inner {
			padding: 1rem 1rem 2rem;
			width: 100%;
			height: 30rem;
			border-radius: 2rem;
		}

		.main-section-header-ttl {
			font-size: 3rem;
			text-align: center;
		}

		.main-section-header-ttl>small>img {
			height: 3rem;
		}

		.news-list {
			padding: 1rem 1rem 2rem;
			margin-top: 1rem;
			max-height: 18rem;
			justify-content: flex-start;
		}

		.news-item {
			flex-direction: column;
			margin-top: .5rem;
			padding: .5rem 0 1rem;
		}

		.news-item>p {
			line-height: 1.5;
			width: 100%;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.news-section {
			margin-top: 20rem;
			height: 41rem;
			z-index: 1;
		}

		.news-section-inner {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 3rem 6rem 3rem 7.3rem;
			width: 100%;
			max-width: 102.8rem;
			height: 27rem;
			border-radius: 2.3rem;
		}

		.main-section-header-ttl {
			font-size: 3.8rem;
		}

		.main-section-header-ttl>small>img {
			height: 4rem;
		}

		.news-ttl {
			flex-shrink: 0;
		}

		.news-list {
			width: calc(100% - 18rem);
			max-width: 68.5rem;
			font-size: 1.4rem;
		}

		.news-item {
			max-width: 58rem;
		}
	}
}

/* .lantern-section */
@media all {
	.lantern-txt-ttl {
		line-height: 1.822;
	}

	.lantern-txt {
		line-height: 2.1875;
	}

	.lantern-img {
		background-color: #aaa;
	}

	.lantern-btn {
		display: flex;
		justify-content: center;
		gap: 20px;
		align-items: flex-end;
	}

	/* sp */
	@media (max-width: 767px) {

		#lantern,
		#lantern-btn {
			margin: 0 !important;
			padding: 60px 2rem !important;
			;
		}

		.lantern-txt-content {
			margin-top: 4rem;
			text-align: center;
		}

		.lantern-txt-ttl {
			font-size: 2rem;
			text-align: center;
		}

		.lantern-txt {
			margin-top: 3rem;
			font-size: 1.5rem;
		}

		.lantern-img {
			margin-top: 7rem;
			width: 100%;
			height: 20rem;
		}
	}

	/* tab & sp */
	@media (max-width: 830px) {
		.lantern-btn {
			display: block;
			margin: -120px 0 -60px;
		}

		.btn-lantern {
			margin-top: 6rem;
			text-align: center;
		}

		.news-list {
			justify-content: flex-start;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.lantern-section {
			margin: 15rem auto 0;
			width: 75rem;
			text-align: center;
		}

		.lantern-section .requirement-dl {
			text-align: left;
		}

		.lantern-txt-content {
			margin-top: 9rem;
		}

		.lantern-txt-ttl {
			font-size: 2.8rem;
		}

		.lantern-txt {
			margin: 5rem auto 0;
			width: 52rem;
			font-size: 1.6rem;
		}

		.lantern-img {
			margin-top: 7rem;
			width: 100%;
		}

		.btn-lantern {
			margin-top: 10rem;
			text-align: center;
		}
	}
}


/*common*/
#side-float {
	position: fixed;
	right: 0;
	bottom: 300px;
	z-index: 9;
}

#side-float a {
	width: 80px;
	display: block;
}

.mb1rem {
	margin-bottom: 1.5rem;
}

@media (max-width: 1023px) {
	#side-float a {
		width: 60px;
	}
}

@media (max-width: 639px) {
	#side-float a {
		width: 50px;
	}

}

#side-float a img {
	width: 100%;
}

/* .event-section */
@media all {
	.event-section {
		background-color: #efefef;
	}

	.event-section-end {
		background-color: #fff;
		position: relative;
		overflow: hidden;
	}

	.event-section-end::after {
		content: '';
		position: absolute;
		top: -1px;
		left: 0;
		width: 100%;
		height: 100%;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		background-color: #efefef;
	}

	.event-item+.event-item {
		position: relative;
	}

	.event-item+.event-item::before {
		content: '';
		position: absolute;
		top: 0;
		left: 25%;
		display: block;
		width: 50%;
		height: .3rem;
		background-color: #0bb6ff;
	}

	.event-cat-photo-item>img {
		clip-path: circle();
		width: 33.8rem;
	}

	.event-item-categories-ttl>img:nth-child(2) {
		transition-delay: .15s;
	}

	.event-item-categories-ttl>img:nth-child(3) {
		transition-delay: .3s;
	}

	.event-item-categories-ttl>img:nth-child(4) {
		transition-delay: .45s;
	}

	.event-item-categories-ttl>img:nth-child(5) {
		transition-delay: .6s;
	}

	.event-cat-photo-item:nth-child(2) {
		transition-delay: .2s;
	}

	.event-cat-photo-item:nth-child(3) {
		transition-delay: .4s;
	}

	.event-present-content {
		background-color: #0bb6ff;
		color: #fff;
	}

	.event-present-ttl {
		font-weight: bold;
		line-height: 1;
	}

	.event-present-notice {
		line-height: 1.4;
	}

	.btn-event-notice {
		display: block;
		margin-top: .5em;
		font-size: 80%;
		color: #f00;
		text-align: center;
		line-height: 1.5;
	}

	.btn-event-notice::before,
	.btn-requirement-notice::before {
		content: '※';
	}

	.event-detail-txt {
		line-height: 2;
	}

	/* sp */
	@media (max-width: 767px) {
		.event-section {
			margin-top: 7rem;
			padding-top: 6rem;
		}

		.event-list {
			margin-top: 4rem;
		}

		.event-item+.event-item {
			margin-top: 4rem;
			padding-top: 4rem;
		}

		.event-item+.event-item::before {
			left: 12.5vw;
			width: 75vw;
		}

		.event-img {
			display: block;
			width: 75vw;
			margin: 0 auto;
		}

		.event-detail {
			margin-top: 2rem;
			padding: 0 2rem;
		}

		.event-detail-ttl {
			font-size: 2.5rem;
		}

		.event-detail-txt {
			margin-top: 1.25rem;
		}

		.btn-event {
			margin-top: 2rem;
		}

		.btn-event .btn {
			width: 100%;
			white-space: nowrap;
		}

		.btn-event-notice {
			font-size: 1.2rem;
			text-align: left;
		}

		.btn-event-notice,
		.btn-requirement-notice {
			position: relative;
			padding-left: 1em;
		}

		.btn-event-notice::before,
		.btn-requirement-notice::before {
			position: absolute;
			top: 0;
			left: 0;
		}

		.event-item-categories {
			position: relative;
			margin-top: 4rem;
			padding-top: 5rem;
		}

		/*
		.event-item-categories-ttl {
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			align-items: center;
			width: 100%;
			height: 82rem;
			pointer-events: none;
		}
		.event-item-categories-ttl > img {
			height: 5rem;
			filter: drop-shadow(.1rem .1rem .3rem #fff)
			drop-shadow(-.1rem -.1rem .3rem #fff);
		}
		.event-item-categories-ttl > img:nth-child(even) {visibility: hidden;}
		.event-cat-photo-list {
			margin: 0 auto;
			width: 30rem;
		}
		.event-cat-photo-item + .event-cat-photo-item {margin-top: 8rem;}
		.event-cat-photo-item > img {width: 100%;}
		*/
		.event-item-categories-ttl {
			display: flex;
			justify-content: space-between;
			margin: 0 auto;
			padding-left: 2rem;
			padding-right: 1rem;
			width: calc(100% - 2rem);
		}

		.event-item-categories-ttl>img {
			height: 3rem;
		}

		.event-cat-photo-list {
			margin-top: 4rem;
			display: flex;
			justify-content: space-evenly
		}

		.event-cat-photo-item {
			width: 32%;
		}

		.event-cat-photo-item>img {
			clip-path: none;
			object-fit: cover;
			width: 100%;
			aspect-ratio: 2 / 3;
		}

		.event-cat-photo-item>.cat-photo-1 {
			object-position: left center;
		}

		.event-cat-photo-item>.cat-photo-3 {
			object-position: 85% center;
		}

		.event-present-content {
			position: relative;
			z-index: 2;
			margin-top: 10rem;
			padding: 4rem 2rem 60vw;
		}

		.event-present-ttl {
			font-size: 6rem;
		}

		.event-present-exp {
			margin-top: 3rem;
			font-size: 1.8rem;
			line-height: 1.4;
		}

		.event-present-notice {
			margin-top: 1rem;
			font-size: 1.2rem;
		}

		.event-present-img {
			position: absolute;
			z-index: 10;
			bottom: -9rem;
			left: calc(50% - 35vw);
			width: 70vw;
		}

		.event-section-end {
			margin-top: 8rem;
			height: 8rem;
		}

		.event-section-end::after {
			left: 0;
			top: -1px;
			width: 100%;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.event-section {
			margin-top: 10rem;
			padding-top: 9rem;
		}

		.event-ttl {
			text-align: center;
		}

		.event-list {
			margin: 13rem auto 0;
			padding: 0 1rem 10rem;
			width: 100%;
			max-width: 128rem;
		}

		.event-item+.event-item {
			margin-top: 10rem;
			padding-top: 10rem;
		}

		.event-item+.event-item::before {
			left: max(1rem, calc(50% - 47.5rem));
			width: calc(100% - 2rem);
			max-width: 95rem;
		}

		.event-item-main {
			display: flex;
			justify-content: space-between;
		}

		.event-img {
			width: calc(100% - 61rem);
			min-width: 40rem;
		}

		.event-detail {
			margin-top: -1.4rem;
			margin-left: 5rem;
			width: 51rem;
		}

		.event-detail-txt {
			margin-top: 4rem;
			font-size: 1.6rem;
			text-align: justify;
			line-height: 2.1875;
		}

		.btn-event {
			margin-top: 5rem;
		}

		.btn-event .btn {
			width: 100%;
		}

		.btn-event .btn::before {
			left: 1.25em;
		}

		.event-item-categories {
			margin-top: 7rem;
			text-align: center;
		}

		.event-item-categories-ttl {
			display: inline-flex;
			justify-content: space-between;
			width: 57rem;
		}

		.event-item-categories-ttl>img {
			height: 5.2rem;
		}

		.event-cat-photo-list {
			display: inline-flex;
			justify-content: space-between;
			margin-top: 3rem;
			width: calc(100% - 2rem);
			max-width: 110rem;
		}

		.event-cat-photo-item {
			width: 30.728%;
		}

		.event-present-content {
			display: flex;
			align-items: center;
			margin-top: 16rem;
			margin-left: 10rem;
			padding-left: 15rem;
			width: calc(100% - 10rem);
			height: 38rem;
			border-radius: 20rem 0 0 20rem;
		}

		.event-present-txt {
			width: 52rem;
		}

		.event-present-ttl {
			font-size: 8rem;
		}

		.event-present-exp {
			margin-top: 4rem;
			font-size: 2.6rem;
			line-height: 1.822;
			font-feature-settings: "palt";
		}

		.event-present-notice {
			margin-top: 1rem;
			font-size: 1.2rem;
		}

		.event-present-img {
			width: 40.7rem;
			transform: translate(8rem, -7rem) !important;
		}

		.event-present-img.is-show {
			transform: translate(8rem, -7rem) !important;
		}

		@media (max-width: 1170px) {
			.event-present-img {
				transform: translate(2rem, -7rem);
			}
		}

		.event-section-end {
			margin-top: 2rem;
			height: 22.5rem;
		}

		.event-section-end::after {
			left: calc(50% - 80rem);
			width: 160rem;
		}

		/* tab */
		@media (max-width: 979px) {
			.event-img {
				width: calc(100% - 49rem);
				min-width: auto;
				object-fit: cover;
			}

			.event-detail {
				margin: 0;
				width: 47rem;
			}

			.btn-event .btn::before {
				left: .75em;
			}

			.event-present-content {
				margin: 16rem 0 0;
				padding: 0 2rem;
				width: 100%;
				border-radius: 0;
			}

			.event-present-txt {
				width: 49rem;
			}

			.event-present-ttl {
				font-size: 7rem;
			}

			.event-present-exp {
				margin-top: 3rem;
				font-size: 2.5rem;
			}

			.event-present-notice {
				margin-top: 1rem;
				font-size: 1.2rem;
			}

			.event-present-img {
				width: 40.7rem;
				transform: translate(3rem, -7rem);
			}
		}
	}

}

/* .requirement-section */
@media all {

	#lantern,
	#lantern-btn,
	#lantern-btn-info {
		padding-top: 65px;
		margin-top: 65px;
	}

	.requirement-section {
		z-index: 1;
	}

	.requirement-section::before {
		content: '';
		position: absolute;
		top: 0;
		display: block;
		height: .3rem;
		background-color: #0bb6ff;
	}

	.requirement-lead {
		text-align: justify;
	}

	.requirement-tbl {
		background-color: #fff;
		border-bottom: 2px solid #0bb6ff;
	}

	.requirement-tbl-ttl {
		display: flex;
		align-items: center;
		width: 100%;
		background-color: #0bb6ff;
		color: #fff;
		line-height: 1;
	}

	.requirement-dl {
		display: flex;
		flex-wrap: wrap;
	}

	.requirement-dl>dt {
		font-weight: bold;
		color: #0bb6ff;
	}

	.requirement-dl>dt,
	.requirement-dl>dd {
		border-bottom: 1px solid #0bb6ff;
	}

	.requirement-dl>dt.no-border,
	.requirement-dl>dd.no-border {
		border-bottom: none;
	}

	.requirement-dl>dd small {
		display: block;
		font-size: 1.1rem;
	}

	.venue-gmap iframe {
		width: 100%;
		height: 100%;
	}

	.program-notice {
		margin-top: 1.5em;
	}

	.btn-requirement {
		text-align: center;
	}

	.btn-requirement-notice {
		display: block;
		margin-top: .5em;
		font-size: 90%;
		color: #f00;
		line-height: 1.5;
	}

	.btn-requirement-notice a {
		color: #f00;
		text-decoration: underline;
	}

	.btn-requirement-notice a:hover {
		text-decoration: none;
	}

	a.underline {
		text-decoration: underline;
	}

	a.underline:hover {
		text-decoration: none;
	}


	.requirement-img-band>img:nth-child(2) {
		transition-delay: .15s;
	}

	.requirement-img-band>img:nth-child(3) {
		transition-delay: .3s;
	}

	.requirement-img-band>img:nth-child(4) {
		transition-delay: .45s;
	}

	.requirement-lead {
		line-height: 2;
	}

	.requirement-inner-section+.requirement-inner-section::before {
		content: '';
		position: absolute;
		top: 0;
		display: block;
		height: .3rem;
		background-color: #0bb6ff;
	}

	.dot-list+.dot-list {
		margin-top: .5em;
	}

	.dot-list li {
		position: relative;
		padding-left: 1em;
	}

	.dot-list li::before {
		content: '・';
		position: absolute;
		top: 0;
		left: 0;
	}

	.dot-list.kome,
	.dot-list.small {
		font-size: 1.1rem;
	}

	.dot-list.kome li::before {
		content: '※';
	}

	.dot-list.num {
		counter-reset: num;
	}

	.dot-list.num li {
		counter-increment: num;
		padding-left: 1.5em;
	}

	.dot-list.num li::before {
		content: counter(num) '.';
	}

	.requirement-dl>dd .dot-list li {
		line-height: 1.5;
	}

	.requirement-dl>dd .dot-list li+li {
		margin-top: .5em;
	}

	.requirement-dl>dd .dot-list li:first-child {
		margin-top: .2em;
	}

	.req-access-btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-top: 1px;
		padding-left: .5em;
		border: 1px solid #0bb6ff;
		border-radius: 2em;
		background-color: #fff;
		box-shadow: 0 .2rem .8rem rgba(0, 0, 0, .25);
		color: #0bb6ff;
		text-align: center;
		transition: .3s;
	}

	.req-access-btn a:hover {
		background-color: #0bb6ff;
		box-shadow: 0 0 0 rgba(0, 0, 0, 0);
		color: #fff;
	}

	.requirement-btn {
		margin: 0 auto;
		padding: 0 2rem;
		max-width: 60rem;
	}

	/* sp */
	@media (max-width: 767px) {
		.requirement-section {
			margin-top: 7rem;
			padding: 6rem 0 7rem;
			background: linear-gradient(to bottom, #fff 4rem, #efefef calc(100% - 40rem));
		}

		.requirement-inner-section+.requirement-inner-section {
			position: relative;
			margin-top: 6rem;
			padding-top: 6rem;
		}

		.requirement-inner-section+.requirement-inner-section::before {
			left: 5%;
			width: 90%;
		}

		.requirement-section::before {
			left: 2rem;
			width: calc(100% - 4rem);
		}

		.requirement-header {
			display: flex;
			flex-direction: column;
			padding: 0 1.75rem;
		}

		.req-kozu .requirement-ttl {
			font-size: 2.7rem;
			white-space: nowrap;
		}

		.requirement-lead {
			order: 3;
			margin-top: 2rem;
		}

		.requirement-img {
			display: block;
			margin: 2rem auto 0;
			width: 75vw;
		}

		.requirement-img-band {
			display: flex;
			justify-content: space-between;
			margin-top: 2rem;
			width: 100%;
			padding: 0 1rem;
		}

		.requirement-img-band img {
			width: calc(25% - .5rem);
		}

		.requirement-tbl {
			margin: 6rem auto 0;
			width: calc(100% - 5rem);
		}

		.requirement-tbl-ttl {
			font-size: 2rem;
		}

		.requirement-tbl-ttl,
		.requirement-dl>dt,
		.requirement-dl>dd {
			padding: 2rem 1.5rem;
		}

		.requirement-dl>dt {
			padding-bottom: 0;
			width: 100%;
			border-bottom: none;
		}

		.requirement-dl>dd {
			padding-top: .5em;
			width: 100%;
			line-height: 2;
		}

		.program-tbl {
			display: flex;
			flex-wrap: wrap;
			line-height: 1.5;
		}

		.program-tbl>dt {
			width: 8.25rem;
			text-align: right;
		}

		.time-area {
			display: inline-block;
			width: 13.25rem;
			text-align: left;
		}

		.program-tbl>dd {
			padding-left: 2rem;
			width: calc(100% - 8.25rem);
		}

		.program-tbl>*:nth-child(n+3) {
			margin-top: 1em;
		}

		.btn-requirement {
			margin-top: 5rem;
		}

		.btn-requirement-notice {
			margin: .5em auto 0;
			width: calc(100% - 4rem);
			font-size: 1.2rem;
			text-align: left;
		}

		.req-access-btn {
			margin-top: 1rem;
		}

		.req-access-btn a {
			margin-top: 2rem;
			height: 3em;
		}

		.venue-gmap {
			margin-top: 2rem;
			height: 16rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.requirement-section {
			margin-top: 10rem;
			padding: 7rem 0 15rem;
			background: linear-gradient(to bottom, #fff 40rem, #efefef calc(100% - 40rem));
		}

		.requirement-section::before {
			left: max(1rem, calc(50% - 47.5rem));
			width: calc(100% - 2rem);
			max-width: 95rem;
		}

		.requirement-header {
			display: flex;
			flex-direction: column;
			flex-wrap: wrap;
			align-content: space-between;
			margin: 0 auto;
			width: calc(100% - 2rem);
			max-width: 95rem;
			height: 36rem;
		}

		.req-kozu .requirement-header {
			height: 42rem;
		}

		.req-lantern .requirement-header {
			height: 42rem;
		}

		.requirement-img {
			margin-left: 2rem;
			object-fit: cover;
			width: auto;
			max-width: 55rem;
			height: 100%;
		}

		.req-lantern .requirement-img {
			max-width: 50rem;
		}

		.requirement-ttl,
		.requirement-lead {
			width: 30rem;
		}

		.req-lantern .requirement-ttl,
		.req-lantern .requirement-lead {
			width: 35rem;
		}

		.requirement-ttl {
			font-size: 2.1rem;
		}

		.requirement-ttl>small>img {
			margin-top: 1rem;
			/* width: 19rem; */
			height: 3.2rem;
		}

		.requirement-lead {
			margin-top: 2rem;
			font-size: 1.6rem;
			line-height: 2.1875;
		}

		.requirement-img-band {
			display: flex;
			justify-content: space-between;
			margin: 7rem auto 0;
			padding: 0 1rem;
			max-width: 134rem;
		}

		.requirement-img-band>img {
			width: 22.728%;
		}

		.requirement-tbl {
			margin: 10rem auto 0;
			width: calc(100% - 8rem);
			max-width: 95rem;
		}

		.requirement-tbl-ttl {
			height: 7rem;
			font-size: 2rem;
		}

		.requirement-dl>dt,
		.requirement-dl>dd {
			padding: 3.3rem 0;
		}

		.requirement-tbl-ttl,
		.requirement-dl>dt {
			padding-left: 2.5rem;
		}

		.requirement-dl>dt {
			width: 16rem;
		}

		.requirement-dl>dd {
			padding-right: 3em;
			width: calc(100% - 16rem);
			line-height: 2;
		}

		.venue {
			display: flex;
			padding-right: 2rem;
		}

		.venue-txt {
			width: 44rem;
		}

		.venue-gmap {
			width: calc(100% - 44rem);
			height: 33rem;
		}

		.program-tbl {
			display: flex;
			flex-wrap: wrap;
		}

		.program-tbl>dt {
			width: 19rem;
		}

		.time-area {
			display: inline-block;
			width: 19rem;
		}

		.program-tbl>dd {
			padding-right: 2rem;
			width: calc(100% - 19rem);
		}

		.time-area {
			display: inline-block;
		}

		.btn-requirement {
			margin-top: 13rem;
		}

		.btn-requirement .btn {
			padding-left: 3.5em;
		}

		.requirement-inner-section+.requirement-inner-section {
			position: relative;
			margin-top: 10rem;
			padding-top: 10rem;
		}

		.requirement-inner-section+.requirement-inner-section::before {
			left: max(1rem, calc(50% - 47.5rem));
			width: calc(100% - 2rem);
			max-width: 95rem;
		}

		.req-access-btn {
			display: flex;
			justify-content: space-between;
			margin: 2em auto 0;
			width: 100%;
			max-width: 50em;
		}

		.req-access-btn a {
			width: 48%;
			height: 4em;
			letter-spacing: .2em;
		}

		/* tab */
		@media (max-width: 979px) {
			.venue {
				display: block;
			}

			.venue-gmap {
				margin-top: 2rem;
				width: 100%;
				height: 35rem;
			}

			.program-tbl>dt {
				width: 17rem;
			}

			.time-area {
				display: inline-block;
				width: 17rem;
			}

			.program-tbl>dd {
				padding-right: 0;
				width: calc(100% - 17rem);
			}

			.program-tbl>*:nth-child(n+3) {
				margin-top: 1rem;
			}

			.req-access-btn a {
				letter-spacing: initial;
			}
		}
	}
}

/* .lantern-ws */
@media all {
	.lantern-ws {
		position: relative;
	}

	.lantern-ws-ttl {
		text-align: center;
	}

	.lantern-ws-lead {
		text-align: center;
	}

	.lantern-ws-content {
		background-color: #fff;
	}

	.lantern-ws .requirement-dl {
		background-color: #e7f8ff;
		border-bottom: 2px solid #0bb6ff;
	}

	.lantern-prd {
		position: relative;
		margin: 1.5em 0 .25em;
		padding-left: 1.25em;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.5;
	}

	.lantern-prd::before {
		content: attr(data-num);
		position: absolute;
		top: 0;
		left: 0;
	}

	.lantern-ws .dot-list.num {
		padding-left: .5em;
	}

	/* sp */
	@media (max-width: 767px) {
		.lantern-ws {
			margin-top: 5rem;
		}

		.lantern-ws-ttl {
			line-height: 1.5;
		}

		.lantern-ws-ttl small {
			margin-top: 1.5rem;
		}

		.lantern-ws-lead {
			margin-top: 4rem;
			padding: 0 2rem;
			font-size: 1.5rem;
		}

		.lantern-ws-content {
			margin: 4rem auto 0;
			padding: .5rem;
			width: calc(100% - 2rem);
		}

		.deco-23 {
			top: 5rem;
			left: -2rem;
			width: 11rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.lantern-ws {
			margin-top: 10rem;
		}

		.lantern-ws-lead {
			margin: 4rem auto 0;
			width: 75rem;
			font-size: 1.6rem;
		}

		.lantern-ws-content {
			margin: 4rem auto 0;
			padding: .6rem;
			width: calc(100% - 8rem);
			max-width: 95rem;
		}

		.deco-23 {
			top: 3rem;
			left: calc(50% - 60rem);
			width: 18.1rem;
		}
	}
}

/* .closed-section */
@media all {
	.closed-section {
		position: relative;
		background-color: #efefef;
	}

	.closed-section::before {
		content: '';
		position: absolute;
		top: 0;
		left: 25%;
		display: block;
		width: 50%;
		height: .3rem;
		background-color: #0bb6ff;
	}

	.closed-section .event-list {
		margin-top: 0;
	}

	/* sp */
	@media (max-width: 767px) {
		.closed-section {
			padding: 7rem 0;
		}

		.event-list+.requirement-inner-section {
			margin-top: 7rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.closed-section {
			padding: 15rem 0;
		}

		.event-list+.requirement-inner-section {
			margin-top: 10rem;
		}
	}
}

/* .archivelist-section */
@media all {
	.archivelist-ttl {
		text-align: center;
	}

	.archivelist-content {
		margin: 0 auto;
	}

	.ae-header {
		display: flex;
		align-items: center;
		background-color: #0bb6ff;
	}

	.ae-ttl {
		color: #fff;
	}

	.ae-ttl small>img {
		filter: brightness(0) invert(1);
	}

	.ae-content-ttl {
		font-weight: bold;
	}

	.trig-youtube {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		aspect-ratio: 16 / 9;
		transition: .3s;
	}

	/* .trig-youtube::before,
	.trig-youtube::after {
		position: absolute;
		pointer-events: none;
		transition: .3s;
	}
	.trig-youtube::before {
		content: '';
		position: absolute;
		top: calc(50% - 2em);
		left: calc(50% - 2em);
		display: block;
		width: 4em;
		height: 4em;
		border-radius: 50%;
		background-color: #f00;
	}
	.trig-youtube::after {
		content: '\025b6';
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding-left: .125em;
		padding-bottom: .05em;
		width: 100%;
		height: 100%;
		font-size: 2em;
		color: #fff;
	}
	.trig-youtube:hover::before,
	.trig-youtube:hover::after {opacity: 0;} */

	.trig-youtube::before {
		background-color: #f00 !important;
	}

	.trig-youtube::after {
		border-color: #f00 !important;
	}

	.trig:hover {
		cursor: pointer;
	}

	.youtube {
		position: relative;
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.youtube iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}

	.ae-yt-comment {
		margin-top: 1em;
		line-height: 1.5;
		text-align: center;
	}

	.ae-img img {
		width: 100%;
		/* height: 100%;
		object-fit: cover;
		object-position: right center; */
	}

	/* sp */
	@media (max-width: 767px) {
		.archivelist-section {
			margin-top: 10rem;
			padding-bottom: 10rem;
		}

		.main-section-header+.archivelist-content {
			margin-top: 5rem;
		}

		.ae-item+.ae-item {
			margin-top: 4rem;
		}

		.ae-ttl {
			padding: 1.2rem 2rem;
			font-size: 2.4rem;
		}

		.ae-ttl>small {
			text-align: left;
		}

		.ae-ttl>small>img {
			height: 2.4rem;
		}

		.ae-content-text_btn {
			margin-top: 3rem;
			line-height: 1.75;
		}

		.ae-content-ttl {
			font-size: 1.8rem;
		}

		.ae-content-text {
			margin-top: 1.5em;
			font-size: 1.4rem;
		}

		.ae-content-btn {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin-top: 4rem;
			width: 100%;
			max-width: 50rem;
		}

		.btn-ae-small {
			width: 47.5%;
			font-size: 1.4rem;
			white-space: nowrap;
		}

		.btn-ae-small::before {
			transform: scale(.8);
		}

		.btn-ae-large {
			margin-top: 2rem;
			width: 100%;
			font-size: 2rem;
		}

		.btn-ae-large::before {
			left: 3em;
		}

		.ae-content {
			margin-top: 2em;
			padding: 0 2em;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.archivelist-section {
			margin: 15rem 0 10rem;
			padding: 0 2rem;
		}

		.main-section-header+.archivelist-content {
			margin-top: 5rem;
		}

		.ae-item+.ae-item {
			margin-top: 8rem;
		}

		.archivelist-content {
			width: 100%;
			max-width: 100rem;
		}

		.ae-ttl {
			padding: 1.6rem 2.4rem;
			font-size: 2.4rem;
		}

		.ae-ttl>small>img {
			height: 2.8rem;
		}

		.ae-content {
			display: flex;
			justify-content: space-between;
			margin-top: 3rem;
		}

		.ae-youtube,
		.ae-img {
			width: 40%;
		}

		.ae-content-text_btn {
			width: 56%;
		}

		.ae-content-ttl {
			font-size: 2rem;
		}

		.ae-content-text {
			margin-top: 1.5em;
			font-size: 1.5rem;
		}

		.ae-content-btn {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin-top: 4rem;
			width: 100%;
			max-width: 50rem;
		}

		.btn-ae-small {
			padding: .7em 1.25em .75em 3.05em;
			width: 47.5%;
			font-size: 1.6rem;
			white-space: nowrap;
		}

		.btn-ae-small::before {
			transform: scale(.8);
		}

		.btn-ae-large {
			margin-top: 2.5rem;
			width: 100%;
		}

		.btn-ae-large::before {
			left: 3em;
		}

		.trig-youtube::before {
			width: 4rem;
			top: calc(50% - 2.32rem);
			left: calc(50% - 1.6rem);
		}

		.trig-youtube::after {
			top: calc(50% - 4rem);
			left: calc(50% - 4rem);
			width: 8rem;
			height: 8rem;
			border: .3rem solid #f00;
		}
	}
}


/* modal */
@media all {
	.modal-content {
		display: none;
	}

	.modal-base {
		position: fixed;
		z-index: 1111;
		top: 0;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100vw;
		height: 100vh;
		background: rgba(0, 0, 0, .8);
		opacity: 1;
		transition: visibility .5s linear, opacity .5s linear;
	}

	.modal-base.hide {
		visibility: hidden;
		opacity: 0;
	}

	.modal-base-closer {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		cursor: pointer;
	}

	.modal-viewer-wrap {
		position: relative;
		background-color: #fff;
	}

	.modal-viewer {
		position: relative;
		overflow: auto;
		width: 100%;
		height: 100%;
	}

	.modal-viewer-wrap.movie {
		height: auto;
		min-height: auto;
		background: rgba(0, 0, 0, .8);
	}

	.modal-viewer-wrap.movie .lt_movie-video {
		margin-top: 0;
	}

	.modal-viewer-wrap.youtube {
		background: rgba(0, 0, 0, .8);
		aspect-ratio: 16 / 9;
		height: auto;
		min-height: auto;
	}

	.modal-viewer-wrap.youtube iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.modal-viewer-wrap:not(.youtube)::before,
	.modal-viewer-wrap:not(.youtube)::after {
		/* content: ''; */
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 5rem;
		background: linear-gradient(to top, rgba(239, 239, 239, 0), rgba(239, 239, 239, 1) 3.5em);
		pointer-events: none;
	}

	.modal-viewer-wrap:not(.youtube)::after {
		top: auto;
		bottom: 0;
		background: linear-gradient(to bottom, rgba(239, 239, 239, 0), rgba(239, 239, 239, 1) 3.5em);
	}

	.modal-closer {
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 0 1px 0;
		border: 2px solid #efefef;
		font-size: 3rem;
		color: #efefef;
		line-height: 1;
		cursor: pointer;
		transition: background .3s, color .3s;
	}

	.modal-closer:hover {
		background: #efefef;
		color: #000;
	}

	/* sp */
	@media (max-width:767px) {
		.modal-base {
			padding-top: 3rem;
			height: 100dvh;
		}

		.modal-closer {
			bottom: 100%;
			right: 0;
			z-index: 10;
		}

		.modal-viewer-wrap {
			width: calc(100% - 1rem);
		}

		.modal-viewer-wrap:not(.youtube, .movie) .modal-viewer {
			height: calc(100dvh - 18rem);
		}

		@media (min-aspect-ratio: 16/9) {

			.modal-viewer-wrap,
			.modal-viewer {
				height: calc(100vh - 5rem) !important;
				width: auto;
				min-width: auto;
			}
		}
	}

	/* tab & pc */
	@media (min-width: 768px) {
		.modal-closer {
			top: -1.4em;
			right: 0;
			width: 1.4em;
			height: 1.4em;
		}

		.modal-viewer-wrap {
			width: calc(100vw - 15rem);
			max-width: 128rem;
			height: calc(100vh - 20rem);
			min-height: 40rem;
			background-color: #fff;
		}

		.modal-content-inner {
			padding: 4rem 3.6rem;
		}

		@media (min-aspect-ratio: 16/9) {

			.modal-viewer-wrap.youtube,
			.modal-viewer-wrap.movie {
				aspect-ratio: 16 / 9;
				height: calc(100vh - 10rem);
				width: auto;
				min-width: auto;
			}
		}

		/* pc */
		@media (min-width:980px) {
			.modal-viewer-wrap {
				min-width: 920px;
			}
		}
	}
}


/* .quiz-contents */
@media all {
	.quiz label {
		white-space: initial;
	}

	.quiz input[type=radio] {
		display: block;
		width: 0;
		height: 0;
		visibility: hidden;
	}

	.quiz {
		background-color: #efefef;
	}

	.quiz-header {
		text-align: center;
	}

	.quiz-ttl {
		line-height: 1.5;
	}

	.quiz-ttl span {
		display: block;
	}

	.quiz-lead {
		line-height: 2;
	}

	.quiz-content {
		overflow: hidden;
	}

	.quiz-list {
		counter-reset: quiz;
	}

	.quiz-item {
		position: relative;
		counter-increment: quiz;
		background-color: #fff;
		text-align: center;
	}

	.quiz-question {
		position: relative;
		/* display: inline-flex; */
		font-weight: 500;
		line-height: 1.7;
		text-align: left;
	}

	.quiz-question::before {
		content: 'Q' counter(quiz);
		position: absolute;
		top: -.5em;
		left: -1.75em;
	}

	.quiz-answer-ttl {
		color: #0bb6ff;
		font-weight: bold;
		text-align: center;
	}

	.quiz-answers {
		display: inline-flex;
		flex-direction: column;
		text-align: left;
	}

	.quiz-ans+.quiz-ans {
		margin-top: 1.5em;
	}

	.quiz-ans label {
		position: relative;
		display: block;
		padding-left: 2.25em;
		cursor: pointer;
	}

	.quiz-ans label::before {
		content: '';
		position: absolute;
		top: .2em;
		left: 0;
		display: block;
		border: 2px solid #0bb6ff;
		border-radius: 50%;
		width: 1.25em;
		height: 1.25em;
		transition: .3s;
	}

	input[type=radio]:checked+label::before {
		background-color: #0bb6ff;
	}


	.quiz-btn {
		text-align: center;
	}

	.quiz-button {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		background-color: #b5b5b5;
		border-radius: 2em;
		font-weight: bold;
		color: #fff;
		transition: .3s;
	}

	.quiz-button.active {
		background-color: #0bb6ff;
		cursor: pointer;
	}

	.quiz-result-content {
		display: none;
		background-color: #85daff;
	}

	.result-ttl {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto;
		background: center / contain no-repeat url(../img/quiz/result.svg);
		font-weight: bold;
	}

	.result-score {
		position: relative;
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background: #fff url(../img/quiz/score-bg.svg) no-repeat;
		font-weight: bold;
	}

	.result-comment {
		font-weight: normal;
		white-space: nowrap;
	}

	.result-detail {
		display: block;
		margin: 0 auto;
	}

	.result-q {
		position: relative;
		align-items: center;
		justify-content: center;
		background-color: #fff;
		text-align: center;
	}

	.result-q dl {
		position: relative;
		display: inline-flex;
		justify-content: center;
		text-align: left;
	}

	.result-q dt {
		position: absolute;
		left: 0;
	}

	.result-a {
		display: block;
		text-align: center;
	}

	.result-a::before {
		content: '×';
		display: inline-block;
		margin-top: .5em;
		/* margin-right: .25em; */
		-webkit-text-stroke-width: .3rem;
	}

	.result-a.correct::before {
		content: '○';
	}

	.hint-flg {
		display: block;
		margin: 0 auto;
	}

	.result-hint {
		background-color: #fff;
	}

	.result-hint-text {
		text-align: left;
		line-height: 2;
	}

	/* sp */
	@media (max-width: 767px) {
		.quiz {
			padding-top: 4rem;
		}

		.quiz-ttl {
			font-size: 2.4rem;
		}

		.quiz-ttl span {
			font-size: 2.4rem;
		}

		.quiz-ttl small {
			margin-top: .5rem;
		}

		.quiz-lead {
			margin-top: 3rem;
			font-size: 1.6rem;
		}

		.quiz-content {
			padding-top: 6rem;
		}

		.quiz-item {
			margin: 0 auto;
			padding: 7rem 2rem 5rem;
			width: calc(100% - 2rem);
			border-radius: 4rem;
		}

		.quiz-item+.quiz-item {
			margin-top: 8rem;
		}

		.quiz-question {
			font-size: 1.8rem;
			line-height: 1.5;
		}

		.quiz-question::before {
			top: -2em;
			left: calc(50% - .75em);
			font-size: 2.7rem;
		}

		.quiz-answer-ttl {
			margin-top: 3.5rem;
			font-size: 1.8rem;
		}

		.quiz-answers {
			margin-top: 2rem;
			font-size: 1.5rem;
			line-height: 1.5;
		}


		.quiz-btn {
			margin-top: 7rem;
			padding-bottom: 7rem;
		}

		.quiz-button {
			width: 30rem;
			height: 6rem;
			box-shadow: 0 0 .5rem rgba(0, 0, 0, .3);
			font-size: 2.4rem;
		}

		.quiz-result-content {
			padding: 3em 0 5rem;
			text-align: center;
		}

		.result-ttl {
			padding-top: 2rem;
			width: 37.6rem;
			height: 24rem;
			font-size: 5rem;
		}

		.result-score {
			margin-top: 3rem;
			padding-top: 3rem;
			width: 35rem;
			height: 23rem;
			background-position: 45% 35%;
			background-size: contain;
			border-radius: 13.5rem;
		}

		.score-wrap .score {
			font-size: 9rem;
		}

		.score-wrap small {
			font-size: 4rem;
		}

		.result-comment {
			margin-top: 1.5em;
			font-size: 1.8rem;
		}

		.result-detail {
			width: 35rem;
		}

		.result-q {
			margin-top: 2.5rem;
			padding: 3rem 2rem;
			width: 100%;
			min-height: 5rem;
			border-radius: 5rem;
		}

		.result-q dl {
			padding-left: 5rem;
		}

		.result-q dt {
			font-size: 2.5rem;
		}

		.result-a::before {
			font-size: 4rem;
			-webkit-text-stroke-width: .2rem;
		}

		.hint-flg {
			margin-top: 3rem;
			width: 60%;
		}

		.result-hint {
			margin: 3rem auto 0;
			padding: 4rem 2rem 3rem;
			width: calc(100% - 2rem);
		}

		.result-hint-text {
			margin: 5rem auto 0;
			font-size: 1.6rem;
		}

		.hint-ttl {
			font-size: 2.5rem;
		}

		.btn-hint {
			margin-top: 3rem;
		}

		.btn-hint .btn {
			padding-left: 2em;
			line-height: 1.7;
		}

	}

	/* pc & tab */
	@media (min-width: 768px) {
		.quiz {
			padding: 8vh 0 0;
		}

		.quiz-ttl {
			font-size: 3.8rem;
		}

		.quiz-ttl span {
			font-size: 3rem;
		}

		.quiz-ttl small {
			margin-top: 1rem;
		}

		.quiz-lead {
			margin-top: 5rem;
			font-size: 1.8rem;
		}

		.quiz-content {
			margin-top: 10rem;
		}

		.quiz-list {
			display: flex;
			flex-direction: column;
			align-items: center;
		}

		.quiz-item {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			padding: 6rem 3rem 4rem;
			width: calc(100% - 1rem);
			max-width: 95rem;
			min-height: 30rem;
			border-radius: 20rem;
		}

		.quiz-item+.quiz-item {
			margin-top: 5rem;
		}

		.quiz-question {
			margin: 0 auto;
			padding: 0 2rem 0 7rem;
			width: calc(100% - 18rem);
			font-size: 2.1rem;
		}

		.quiz-question::before {
			left: 1.2rem;
			font-size: 3.5rem;
		}

		.quiz-answer-ttl {
			margin-top: 4rem;
			font-size: 2.3rem;
		}

		.quiz-answers {
			margin-top: 2.5rem;
			max-width: 70rem;
			font-size: 1.5rem;
			line-height: 1.5;
		}

		.quiz-ans+.quiz-ans {
			margin-top: .75em;
		}

		.quiz-ans label::before {
			top: .1rem;
			font-size: 1.8rem;
		}

		.quiz-btn {
			margin-top: 10rem;
			padding-bottom: 10rem;
		}

		.quiz-button {
			width: 40rem;
			height: 8rem;
			box-shadow: 0 0 .8rem rgba(0, 0, 0, .3);
			font-size: 3rem;
		}

		.quiz-result-content {
			margin-left: -2rem;
			padding: 10em 0;
			width: calc(100% + 4rem);
			text-align: center;
		}

		.result-ttl {
			padding-top: 3rem;
			width: 47rem;
			height: 30rem;
			font-size: 8rem;
		}

		.result-score {
			margin-top: 5rem;
			padding-top: 5rem;
			width: 55rem;
			height: 33rem;
			background-position: 45% 35%;
			border-radius: 16.5rem;
		}

		.score-wrap .score {
			font-size: 14rem;
		}

		.score-wrap small {
			font-size: 8rem;
		}

		.result-comment {
			margin-top: 1.5em;
			font-size: 2.4rem;
		}

		.result-detail {
			width: calc(100% - 40rem);
		}

		.result-q {
			margin-top: 3rem;
			padding: 2.5rem 5rem;
			width: 100%;
			min-height: 9rem;
			border-radius: 10rem;
			font-size: 1.8rem;
		}

		.result-q dl {
			padding-left: 7rem;
		}

		.result-q dt {
			font-size: 3.5rem;
		}

		.result-a::before {
			font-size: 5rem;
		}

		.hint-flg {
			margin: 7rem auto;
			width: 33rem;
		}

		.result-hint {
			margin: 0 auto 0;
			padding: 6.5rem 10.5rem 7rem;
			width: 100%;
			max-width: 75rem;
		}

		.btn-hint {
			margin-top: 4rem;
		}

		.result-hint-text {
			margin-top: 5rem;
			font-size: 1.6rem;
		}

		/* tab */
		@media (max-width: 979px) {
			.quiz-question {
				width: 100%;
			}

			.quiz-result-content {
				margin-left: 0;
				width: 100%;
			}

			.quiz-item {
				width: calc(100% - 5rem);
				border-radius: 10rem;
			}

			.result-hint {
				padding: 6.5rem 2rem 7rem;
				width: calc(100% - 4rem);
			}

			.result-hint-text {
				margin: 5rem auto 0;
				max-width: 54rem;
			}

			.result-detail {
				width: calc(100% - 10rem);
			}
		}

		/* pc */
		@media (min-width: 980px) {
			.quiz-answers.horizontal {
				flex-direction: row;
			}

			.horizontal .quiz-ans+.quiz-ans {
				margin-top: 0;
				margin-left: 2em;
			}
		}
	}
}

/* .quiz-deco */
/* .quiz-deco */
@media all {

	.modal-viewer .img1,
	.modal-viewer .img2 {
		clip-path: circle(50%);
	}

	/* pc & tab */
	@media (min-width: 768px) {

		.modal-viewer .img1,
		.modal-viewer .img2 {
			width: 34rem;
		}

		.modal-viewer .d18 {
			width: 8.4rem;
			bottom: 3rem;
			left: -8rem;
		}

		.modal-viewer .d19 {
			width: 14.2rem;
			top: 8rem;
			right: -5rem;
		}

		.modal-viewer .bg1 {
			width: 7.8rem;
			top: 13rem;
			left: 5rem;
		}

		.modal-viewer .img1 {
			top: -5rem;
			right: -23rem;
		}

		.modal-viewer .d20 {
			width: 19.7rem;
			top: 0;
			left: -10rem;
		}

		.modal-viewer .bg2 {
			width: 7.3rem;
			bottom: 11rem;
			right: 4rem;
		}

		.modal-viewer .img2 {
			top: -12rem;
			left: -23rem;
		}

		.modal-viewer .d21 {
			width: 17.5rem;
			bottom: 10rem;
			right: -7rem;
		}

		.modal-viewer .d22 {
			width: 15.5rem;
			top: 15rem;
			left: -7rem;
		}

		.modal-viewer .d26 {
			width: 15.3rem;
			top: 4rem;
			right: -5rem;
		}

		.modal-viewer .d27 {
			width: 18.2rem;
			bottom: .5rem;
			left: -8rem;
		}

		.modal-viewer .d28 {
			width: 25rem;
			top: -18rem;
			left: -8rem;
		}

		.modal-viewer .d29 {
			width: 21.6rem;
			bottom: 4rem;
			right: -5rem;
		}

		.modal-viewer .d30 {
			width: 19rem;
			top: 15rem;
			left: -7rem;
		}

		.modal-viewer .ff1 {
			width: 15.3rem;
			top: -4rem;
			left: -14rem;
		}

		.modal-viewer .ff2 {
			width: 8.8rem;
			bottom: -2rem;
			right: -9rem;
		}

		.modal-viewer .st1 {
			width: 8.6rem;
			bottom: -5rem;
			left: -8rem;
		}

		.modal-viewer .st2 {
			width: 13.2rem;
			bottom: -4rem;
			right: -9rem;
		}

		@media (max-width: 979px) {
			.modal-viewer .st1 {
				left: -4rem;
			}

			.modal-viewer .st1 {
				right: -6rem;
			}
		}

	}

	/* sp & tab */
	@media (max-width: 979px) {
		.modal-viewer .deco {
			z-index: inherit;
			opacity: .5;
		}

		.modal-viewer :is(.ff1, .ff2, .st1, .st2) {
			opacity: 1;
		}

		.modal-viewer .deco.bg {
			opacity: 1;
		}

		.modal-viewer .img1,
		.modal-viewer .img2 {
			opacity: .75;
			width: 17rem;
		}

		.modal-viewer .d18 {
			width: 4.2rem;
			bottom: 0rem;
			left: 0rem;
		}

		.modal-viewer .d19 {
			width: 7.1rem;
			top: 8rem;
			right: 1rem;
		}

		.modal-viewer .bg1 {
			width: 3.9rem;
			top: 13rem;
			left: 2rem;
		}

		.modal-viewer .img1 {
			top: -5rem;
			right: -4rem;
		}

		.modal-viewer .d20 {
			width: 9.85rem;
			top: -4rem;
			left: auto;
			right: 1rem;
		}

		.modal-viewer .bg2 {
			width: 3.65rem;
			bottom: 11rem;
			right: 4rem;
		}

		.modal-viewer .img2 {
			top: -12rem;
			left: -23rem;
		}

		.modal-viewer .d21 {
			width: 8.75rem;
			bottom: 0rem;
			right: 0rem;
		}

		.modal-viewer .d22 {
			width: 7.75rem;
			top: 17rem;
			left: -1rem;
		}

		.modal-viewer .img1 {
			top: -12rem;
		}

		.modal-viewer .img2 {
			top: -11rem;
			left: -6rem;
		}

		.modal-viewer .d26 {
			width: 7rem;
			top: 0rem;
			right: 0rem;
		}

		.modal-viewer .d27 {
			width: 8rem;
			bottom: 0rem;
			left: 0rem;
		}

		.modal-viewer .d28 {
			width: 12rem;
			top: -10rem;
			left: auto;
			right: -1rem;
		}

		.modal-viewer .d29 {
			width: 12rem;
			bottom: 0rem;
			right: 0rem;
		}

		.modal-viewer .d30 {
			width: 12rem;
			top: calc(100% - 17rem);
			left: -1rem;
		}
	}

	/* sp */
	@media (max-width: 767px) {
		.modal-viewer .d18 {
			bottom: 5rem;
			left: 5rem;
		}

		.modal-viewer .d19 {
			top: -3.5rem;
		}

		.modal-viewer .bg1 {
			top: 10rem;
		}

		.modal-viewer .d20 {
			top: -4rem;
			left: calc(50% + 8rem);
		}

		.modal-viewer .bg2 {
			bottom: 4rem;
		}

		.modal-viewer .d22 {
			top: calc(100% - 4rem);
			left: 2rem;
		}

		.modal-viewer .st1 {
			width: 4.3rem;
			bottom: -3rem;
			left: -1rem;
		}

		.modal-viewer .st2 {
			width: 5rem;
			bottom: -3rem;
			right: -2rem;
		}

		.modal-viewer .ff1 {
			width: 10rem;
			top: -6rem;
			left: -4rem;
		}

		.modal-viewer .ff2 {
			width: 8rem;
			bottom: -4rem;
			right: -4rem;
		}

	}
}

/* .bnr-section */
@media all {
	.bnr-section {
		background-color: #efefef;
	}

	/* sp */
	@media (max-width: 767px) {
		.bnr-section {
			padding: 10rem 0 10rem;
		}

		.bnr-box {
			margin: 0 auto;
			width: calc(100% - 4rem);
		}

		.bnr-box+.bnr-box {
			margin-top: 3rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.bnr-section {
			padding: 20rem 0 10rem;
		}

		.bnr-box {
			margin: 0 auto;
			width: calc(100% - 2rem);
			max-width: 80rem;
		}

		.bnr-box+.bnr-box {
			margin-top: 5rem;
		}

		.bnr-section a {
			transition: opacity .3s;
		}

		.bnr-section a:hover {
			opacity: .75;
		}
	}
}

/* .lt_movie-section */
@media all {
	.lt_movie-ttl {
		padding: .5em 0;
		background-color: #0bb6ff;
		color: #fff;
		text-align: center;
	}

	.lt_movie-video {
		display: block;
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	/* sp */
	@media (max-width: 767px) {
		.lt_movie-section {
			margin-top: 8rem;
			padding: 0 2rem;
		}

		.lt_movie-ttl {
			font-size: 2rem;
			font-feature-settings: "palt";
		}

		.lt_movie-video {
			margin-top: 2rem;
		}

		.lt_movie-text {
			margin-top: 2rem;
			font-size: 1.6rem;
		}

	}

	/* pc & tab */
	@media (min-width: 768px) {
		.lt_movie-section {
			margin: 10rem auto 0;
			width: 68rem;
		}

		.lt_movie-ttl {
			font-size: 2.4rem;
		}

		.lt_movie-video {
			margin-top: 2rem;
		}

		.lt_movie-text {
			margin-top: 2rem;
			font-size: 1.8rem;
		}
	}
}

/********** about.html **********/

/* .about-section */
@media all {
	.about-section {
		background: center top / cover no-repeat url(../img/about/bg.jpg);
	}

	.about-lead-section-txt {
		font-size: 1.8rem;
		text-align: center;
	}

	.about-lead-section-txt+.about-lead-section-txt {
		margin-top: 1.5em;
	}

	.about-content,
	.about-schedule {
		margin: 0 auto;
		background-color: #fff;
		border-radius: 2.3rem;
	}

	.about-schedule {
		position: relative;
		margin-top: 9rem;
	}

	.about-schedule::before {
		content: '';
		position: absolute;
		top: calc(1px - 4.33rem);
		left: calc(50% - 2.5rem);
		display: block;
		width: 5rem;
		height: 4.33rem;
		background-color: #fff;
		clip-path: polygon(50% 0, 100% 100%, 0 100%);
	}

	.schedule-tbl th,
	.schedule-tbl td {
		border-left: max(1px, .1rem) solid #b5b5b5;
		border-right: max(1px, .1rem) solid #b5b5b5;
		text-align: center;
		vertical-align: middle;
	}

	.schedule-tbl th {
		background-color: #d7d7d7;
		font-weight: normal;
	}

	.schedule-tbl tr:nth-child(n+3) td {
		border-top: max(1px, .1rem) solid #d7d7d7;
	}

	.schedule-tbl tr:last-child td {
		border-bottom: max(1px, .1rem) solid #d7d7d7;
	}

	/* sp */
	@media (max-width: 767px) {
		.about-section {
			margin-top: 59px;
			padding-top: 5rem;
			padding-bottom: 8rem;
		}

		.about-content {
			padding: 2rem 0;
			width: calc(100% - 6rem);
		}

		.about-lead-section-txt {
			font-size: 1.4rem;
			text-align: center;
		}

		/* .about-content,
		.about-schedule,
		.about-schedule::before {background-color: rgba(255,255,255,.85);} */
		.page-about .main-section-header-ttl {
			font-size: 2rem;
			line-height: 1.25;
		}

		.page-about .main-section-header-ttl>small {
			margin-top: .5rem;
		}

		.about-txt {
			margin-top: 3rem;
			padding: 0 2rem;
			line-height: 2;
		}

		.about-schedule {
			margin: 8rem auto;
			padding: 2rem 1rem;
			width: 95%;
		}

		.schedule-tbl-wrapper {
			overflow-x: auto;
			overflow-y: hidden;
			padding-bottom: 1rem;
		}

		.schedule-tbl {
			width: auto;
		}

		.schedule-tbl th,
		.schedule-tbl td {
			padding: .75em .5em;
			font-size: 1.2rem;
			white-space: nowrap;
		}

		.schedule-tbl td:last-child {
			text-align: left;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.about-section {
			margin-top: 6.5rem;
			padding-top: 10rem;
			padding-bottom: 15rem;
			background-size: cover;
			;
		}

		.about-content {
			padding: 10rem 0;
			width: calc(100% - 12rem);
			max-width: 75rem;
		}

		.about-ttl,
		.schedule-ttl {
			text-align: center;
		}

		.about-ttl>span {
			display: inline-block;
			margin-left: -.5em;
		}

		.about-txt {
			margin: 3rem auto 0;
			width: 56rem;
			font-size: 1.6rem;
			line-height: 2.1875;
		}

		.about-schedule {
			padding: 6rem 5rem;
			width: calc(100% - 4rem);
			max-width: 102.8rem;
		}

		.schedule-tbl {
			width: 100%;
		}

		.schedule-tbl th,
		.schedule-tbl td {
			height: 4rem;
			padding: 0 .5em;
		}

		.schedule-tbl td:nth-child(2) {
			width: 10em;
		}

		.schedule-tbl td:nth-child(3) {
			width: 12em;
		}

	}
}

/* .lantern_movie-section */
@media all {
	.lantern_movie-ttl {
		text-align: center;
	}

	.lantern_movie-lead {
		text-align: left;
	}

	.lantern_movie-item-ttl {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #0bb6ff;
		font-weight: 500;
		color: #fff;
		line-height: 1;
	}

	.lantern_movie-item-btn {
		position: relative;
		aspect-ratio: 16 / 9;
	}

	.trig-youtube::before,
	.trig-youtube::after,
	.lantern_movie-item-btn::before,
	.lantern_movie-item-btn::after {
		content: '';
		position: absolute;
		z-index: 1;
		display: block;
		transition: opacity .3s;
	}

	.trig-youtube::before,
	.lantern_movie-item-btn::before {
		clip-path: polygon(0 0, 0 100%, 100% 50%);
		background-color: #fff;
		aspect-ratio: 87 / 100;
	}

	.trig-youtube::after,
	.lantern_movie-item-btn::after {
		border-radius: 50%;
	}

	.trig-youtube img,
	.lantern_movie-item-btn img {
		position: absolute;
		z-index: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: opacity .3s;
	}

	.lantern_movie-item-text ol li {
		position: relative;
		padding-left: 1em;
		line-height: 1.25;
	}

	.lantern_movie-item-text ol li+li {
		margin-top: .5em;
	}

	.lantern_movie-item-text ol li::before {
		content: '・';
		position: absolute;
		left: 0;
	}

	/* sp */
	@media (max-width: 767px) {
		.lantern_movie-section {
			margin-top: 5rem;
			padding: 0 2rem;
		}

		.lantern_movie-lead,
		.lantern_movie-content,
		.lantern_movie-item+.lantern_movie-item {
			margin-top: 4rem;
		}

		.lantern_movie-item-ttl {
			padding-bottom: 1px;
			height: 3.6rem;
			font-size: 1.8rem;
		}

		.lantern_movie-item-text {
			padding: 1em 0;
		}

		.trig-youtube::before,
		.lantern_movie-item-btn::before {
			width: 3rem;
			top: calc(50% - 1.8rem);
			left: calc(50% - 1.1rem);
		}

		.trig-youtube::after,
		.lantern_movie-item-btn::after {
			top: calc(50% - 2.3rem);
			left: calc(50% - 2.3rem);
			width: 4.6rem;
			height: 4.6rem;
			border: .3rem solid #fff;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.lantern_movie-section {
			margin-top: 9rem;
			padding: 0 2rem;
		}

		.lantern_movie-lead {
			margin: 6rem auto 0;
			max-width: 76rem;
			font-size: 1.6rem;
			text-align: center;
		}

		.lantern_movie-content {
			margin: 6rem auto 0;
			max-width: 1114rem;
		}

		.lantern_movie-list {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: stretch;
			gap: 5.5vw 6.64%;
		}

		.lantern_movie-list::after {
			content: '';
			display: block;
		}

		.lantern_movie-list::after,
		.lantern_movie-item {
			width: 46%;
			max-width: 52rem;
		}

		.lantern_movie-item-ttl {
			padding-bottom: 2px;
			height: 7rem;
			font-size: 2.5rem;
		}

		.lantern_movie-item-dl {
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			height: 100%;
		}

		.lantern_movie-item-text {
			padding: 1em 0;
		}

		.lantern_movie-item-btn::before {
			width: 5rem;
			top: calc(50% - 2.9rem);
			left: calc(50% - 2rem);
		}

		.lantern_movie-item-btn::after {
			top: calc(50% - 5rem);
			left: calc(50% - 5rem);
			width: 10rem;
			height: 10rem;
			border: .3rem solid #fff;
		}

		.lantern_movie-item-btn:hover {
			cursor: pointer;
		}

		.trig-youtube:hover::before,
		.trig-youtube:hover::after,
		.lantern_movie-item-btn:hover::before,
		.lantern_movie-item-btn:hover::after {
			opacity: .7;
		}

		.trig-youtube:hover img,
		.lantern_movie-item-btn:hover img {
			opacity: .9;
		}
	}
}

/* .movie-section */
@media all {
	.movie-ttl {
		text-align: center;
	}

	.movie-youtube {
		margin: 0 auto;
		aspect-ratio: 16 / 9;
	}

	.movie-youtube iframe {
		width: 100%;
		height: 100%;
	}

	/* sp */
	@media (max-width: 767px) {
		.movie-section {
			margin-top: 8rem;
		}

		.movie-youtube {
			margin: 6rem auto 0;
			width: calc(100% - 4rem);
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.movie-section {
			margin-top: 9rem;
		}

		.movie-youtube {
			margin-top: 11rem;
			width: 75rem;
		}
	}
}

/* .archive-section */
@media all {
	.archive-section {
		background-color: #efefef;
	}

	.archive-ttl {
		text-align: center;
	}

	.archive-item {
		background-color: #fff;
	}

	.archive-item-ttl {
		display: flex;
		flex-direction: column;
		justify-content: center;
		background-color: #0bb6ff;
		font-weight: 900;
		color: #fff;
		line-height: 2;
	}

	.archive-item-ttl>small {
		display: block;
	}

	.archive-item-img img {
		width: 100%;
	}

	.archive-item-lead {
		font-weight: bold;
		line-height: 1.67;
	}

	.archive-item-detail {
		line-height: 1.875;
	}

	.btn-info,
	.btn-repo {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: max(2px, .2rem) solid #0bb6ff;
		font-weight: bold;
		transition: all .3s;
	}

	.btn-info::after,
	.btn-repo::after {
		content: '';
		display: inline-block;
		margin-left: 1em;
		width: 1.3em;
		height: .84em;
		background: left center / contain no-repeat;
	}

	.btn-info {
		background-color: #0bb6ff;
		color: #fff;
	}

	.btn-info::after {
		background-image: url(../img/arrow-w.svg);
	}

	.btn-repo {
		background-color: #fff;
		color: #0bb6ff;
	}

	.btn-repo::after {
		background-image: url(../img/arrow-b.svg);
	}

	/* sp */
	@media (max-width: 767px) {
		.archive-section {
			margin-top: 8rem;
			padding: 6rem 0;
		}

		.archive-contents {
			margin: 4rem auto 0;
			width: calc(100% - 3.2rem);
		}

		.archive-item {
			overflow: hidden;
			border-radius: 2.5rem;
		}

		.archive-item+.archive-item {
			margin-top: 4rem;
		}

		.archive-item-ttl {
			min-height: 9rem;
			padding: 0 1rem;
			font-size: 1.9rem;
			line-height: 1.5;
			text-align: center;
		}

		.archive-item-ttl>small {
			font-size: 1.5rem;
		}

		.archive-item-content {
			padding: 2rem 0 3rem;
		}

		.archive-item-img {
			margin: 0 auto;
			width: calc(100% - 4rem);
		}

		.archive-item-img img {
			border-radius: 1.5rem;
		}

		.archive-item-text {
			margin-top: 2rem;
		}

		.archive-item-lead {
			padding: 0 2rem;
			font-size: 1.65rem;
			font-feature-settings: "palt";
		}

		.archive-item-detail {
			margin-top: 1em;
			padding: 0 2rem;
			font-size: 1.4rem;
		}

		.archive-buttons {
			display: flex;
			flex-direction: column;
			align-items: center;
			margin: 2rem auto 0;
		}

		.btn-info,
		.btn-repo {
			width: 75%;
			height: 4rem;
			border-radius: 2rem;
			font-size: 1.6rem;
		}

		.btn-repo {
			margin-top: 1.6rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.archive-section {
			margin-top: 10rem;
			padding: 10rem 0;
		}

		.archive-contents {
			margin: 5rem auto 0;
			width: calc(100% - 4rem);
			max-width: 120rem;
		}

		.archive-item {
			overflow: hidden;
			border-radius: 4rem;
		}

		.archive-item+.archive-item {
			margin-top: 5rem;
		}

		.archive-item-ttl {
			min-height: 12rem;
			padding: 2.2rem 4.6rem;
			font-size: 2.1rem;
		}

		.archive-item-ttl>small {
			font-size: 1.7rem;
		}

		.archive-item-content {
			display: flex;
			padding: 5.5rem 5rem;
		}

		.archive-item-img {
			flex-shrink: 0;
			width: 40.91%;
		}

		.archive-item-img img {
			border-radius: 4rem;
		}

		.archive-item-text {
			padding-left: 5rem;
			width: 59.09%;
		}

		.archive-item-lead {
			font-size: 2.4rem;
		}

		.archive-item-detail {
			margin-top: 2rem;
			font-size: 1.6rem;
		}

		.archive-buttons {
			margin-top: 3rem;
		}

		.btn-info,
		.btn-repo {
			width: 38.34%;
			max-width: 23rem;
			min-width: 17.7rem;
			height: 5rem;
			border-radius: 2.5rem;
			font-size: 1.8rem;
		}

		.btn-repo {
			margin-left: 3rem;
			width: 41.17%;
			max-width: 24.7rem;
			min-width: 20.7rem;
		}

		.btn-info:hover,
		.btn-repo:hover {
			box-shadow: 0 0 .5rem rgba(0, 0, 0, .5);
			opacity: .8;
		}

		/* tab */
		@media (max-width: 979px) {
			.archive-item-content {
				display: block;
				padding: 4rem 5rem;
			}

			.archive-item-img {
				margin: 0 auto;
				width: 45rem;
			}

			.archive-item-text {
				margin-top: 3rem;
				padding: 0;
				width: 100%;
			}

			.archive-item-ttl,
			.archive-item-lead {
				text-align: center;
			}

			.archive-buttons {
				display: flex;
				justify-content: center;
			}
		}
	}
}

/* .voice-section */
@media all {
	.voice-img figcaption {
		margin-top: 1em;
		color: #0bb6ff;
		line-height: 1.4;
		text-align: center;
	}

	.voice-text {
		position: relative;
		z-index: 0;
		border: min(2px, .2rem) solid #0bb6ff;
	}

	.voice-text::before {
		content: '';
		position: absolute;
		z-index: 1;
		display: block;
		width: 3.2rem;
		height: 3.3rem;
		background: right center / contain no-repeat url(../img/about/voice/balloon-tri.png);
	}

	/* sp */
	@media (max-width: 767px) {
		.voice-section {
			margin-top: 8rem;
			padding: 0 2rem;
		}

		.voice-contents {
			margin: 4rem auto 0;
		}

		.voice-item+.voice-item {
			margin-top: 5rem;
		}

		.voice-img {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}

		.voice-item:nth-child(even) .voice-img {
			flex-direction: row-reverse;
		}

		.voice-img img {
			width: 40%;
		}

		.voice-img figcaption {
			width: 57.5%;
		}

		.voice-text {
			margin-top: 3.5rem;
			padding: 3rem;
			border-radius: 1.6rem;
		}

		.voice-text::before {
			bottom: calc(100% - max(2px, .2rem));
			left: calc(20% - 1.4rem);
			transform: rotate(90deg);
		}

		.voice-item:nth-child(even) .voice-text::before {
			left: calc(70% + 1.4rem);
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.voice-section {
			margin-top: 10rem;
			padding: 0 2rem;
		}

		.voice-contents {
			margin: 13rem auto 0;
			max-width: 102.8rem;
			font-size: 1.6rem;
		}

		.voice-item {
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.voice-item:nth-child(even) {
			flex-direction: row-reverse;
		}

		.voice-item+.voice-item {
			margin-top: 8.5rem;
		}

		.voice-img {
			flex-shrink: 0;
			width: 22rem;
		}

		.voice-text {
			padding: 5rem;
			border-radius: 2.3rem;
		}

		.voice-item:nth-child(odd) .voice-text {
			margin-left: 5rem;
		}

		.voice-item:nth-child(even) .voice-text {
			margin-right: 5rem;
		}

		.voice-text::before {
			top: calc(50% - 1.65rem);
		}

		.voice-item:nth-child(odd) .voice-text::before {
			left: -3.1rem;
		}

		.voice-item:nth-child(even) .voice-text::before {
			right: -3.1rem;
			transform: scale(-1, 1);
		}
	}
}

/* .totop-section */
@media all {
	.totop-section {
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #0bb6ff;
	}

	.btn-totop .btn {
		border-color: #0bb6ff;
		color: #0bb6ff;
	}

	.btn-totop .btn:hover {
		border-color: #fff;
		background-color: #0bb6ff;
		color: #fff;
	}

	.btn-totop .btn::before {
		background-image: url(../img/btn-arrow-blue.svg);
	}

	.btn-totop .btn:hover::before {
		background-image: url(../img/btn-arrow-w.svg);
	}

	/* sp */
	@media (max-width: 767px) {
		.totop-section {
			margin-top: 8rem;
			height: 20rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.totop-section {
			margin-top: 10rem;
			height: 31rem;
		}
	}
}





/* deco */
@media all {
	.deco {
		position: absolute;
		pointer-events: none;
	}

	/* sp & tab */
	@media (max-width: 979px) {
		.deco {
			opacity: .25;
			z-index: -1;
		}

		.deco-1 {
			top: 10rem;
			left: 2rem;
			width: 8.75rem;
		}

		.deco-2 {
			top: 25rem;
			right: 1rem;
			width: 9.7rem;
		}

		.deco-3 {
			top: 50rem;
			left: .5rem;
			width: 14.25rem;
		}

		.deco-4 {
			top: 65rem;
			right: -1rem;
			width: 13.95rem;
		}

		.deco-5 {
			z-index: 1;
			top: 35rem;
			left: 1rem;
			width: 3.55rem;
		}

		.deco-6 {
			z-index: 1;
			top: 80rem;
			right: 0;
			width: 13.55rem;
		}

		.deco-6_2 {
			z-index: 1;
			top: 94rem;
			right: 0;
			width: 13.55rem;
		}

		.deco-6_3 {
			z-index: 4;
			top: 85rem;
			right: 0;
			width: 8rem;
			display: none;
		}

		.event-present-content {
			margin-top: 6rem;
		}

		.event-list {
			position: relative;
			z-index: 2;
		}

		.deco-7 {
			z-index: inherit;
			top: -15rem;
			left: 1.5rem;
			width: 9.75rem;
		}

		.deco-7_2 {
			z-index: inherit;
			top: -16rem;
			left: 1.5rem;
			width: 23.35rem;
		}

		.deco-7_3 {
			z-index: inherit;
			top: -16rem;
			left: 1.5rem;
			width: 20rem;
		}

		.deco-8 {
			bottom: -10rem;
			right: 0;
			width: 5.1rem;
		}

		.deco-8_2 {
			bottom: -7rem;
			right: 0;
			width: 11.25rem;
		}

		.deco-9 {
			z-index: 1;
			top: -15rem;
			left: 0;
			width: 11.55rem;
		}

		.deco-9 img {
			transform: translateY(5rem);
		}

		.deco-9 {
			display: none;
		}

		.bnr-box {
			position: relative;
			z-index: 3;
		}

		.deco-10 {
			z-index: inherit;
			top: -4.5rem;
			right: 0rem;
			width: 12.65rem;
		}

		.deco-11 {
			z-index: inherit;
			top: -4rem;
			left: 1rem;
			width: 6.1rem;
		}

		.deco-12 {
			z-index: inherit;
			top: -10rem;
			right: 0;
			width: 13.95rem;
		}
	}

	/* pc */
	@media (min-width: 980px) {
		.deco-1 {
			top: 10rem;
			left: calc(50% - 60rem);
			width: 17.5rem;
		}

		.deco-2 {
			top: 25rem;
			right: calc(50% - 60rem);
			width: 19.4rem;
		}

		.deco-3 {
			top: 50rem;
			left: calc(50% - 65rem);
			width: 28.5rem;
		}

		.deco-4 {
			top: 65rem;
			right: calc(50% - 60rem);
			width: 27.9rem;
		}

		.deco-5 {
			top: 35rem;
			left: calc(50% - 60rem);
			width: 7.1rem;
		}

		.deco-6 {
			top: 80rem;
			right: calc(50% - 63rem);
			width: 28.8rem;
		}

		.deco-6_3 {
			top: 86.5rem;
			right: max(0px, calc(50% - 60rem));
			width: 25rem;
		}

		.deco-6_2 {
			top: 85rem;
			right: calc(50% - 60rem);
			width: 39.5rem;
		}

		.deco-7 {
			top: -28rem;
			left: calc(50% - 60rem);
			width: 19.5rem;
		}

		.deco-7_2 {
			top: -32rem;
			left: calc(50% - 60rem);
			width: 46.7rem;
		}

		.deco-7_3 {
			top: -30rem;
			left: max(0px, calc(50% - 60rem));
			width: 33.7rem;
		}

		.deco-8 {
			bottom: -5rem;
			right: calc(50% - 57rem);
			width: 10.2rem;
		}

		.deco-8_2 {
			bottom: 7rem;
			right: calc(50% - 66rem);
			width: 22.5rem;
		}

		.deco-9 {
			z-index: 1;
			bottom: 150rem;
			left: calc(50% - 65rem);
		}

		.deco-9 img {
			transform: translateY(130rem);
			width: 23.1rem;
		}

		.deco-10 {
			top: -3rem;
			right: calc(50% - 55rem);
			width: 25.3rem;
		}

		.deco-11 {
			top: 3rem;
			left: calc(50% - 55rem);
			width: 12.2rem;
		}

		.deco-12 {
			top: -3rem;
			right: calc(50% - 60rem);
			width: 27.9rem;
		}
	}
}

/* inview */
@media not print {
	.fadeIn {
		transition: opacity 1.5s, transform 1.5s;
		opacity: 0;
		transform: translateY(5rem);
	}

	.mv-logo.inview img {
		transition: all 1s;
		opacity: 0;
		transform: translateY(5rem);
	}

	.fadeIn.is-show,
	.fadeIn-2.is-show,
	.mv-logo.inview.is-show img {
		opacity: 1;
		transform: translateY(0);
	}

	.fadeIn-2 {
		transition: opacity 3s, transform 3s;
		opacity: 0;
	}

	.delay-1 {
		transition-delay: .3s;
	}

	/* sp & tab */
	.lead-section-txt.inview.fadeIn {
		transition-delay: .3s;
	}

	/* pc */
	@media (min-width: 980px) {

		.archive-item-lead.inview.fadeIn,
		.archive-item-detail.inview.fadeIn,
		.archive-buttons.inview.fadeIn {
			transition-delay: .2s;
		}
	}
}


/********** info-xxxx.html **********/
@media all {
	.info-page .totop-section {
		margin-top: 0;
	}

	@media print,
	(min-width: 768px) {
		.info-page .deco-6 {
			top: 35rem;
		}

		.info-page .deco-6_2 {
			top: 35rem;
		}
	}
}


/* 2025.01.28 */
@media all {
	.lt_movie-text {
		margin-top: 0;
		line-height: 1.625;
	}
	.lantern_movie-item-notice {
		position: relative;
		display: block;
		margin-top: .5em;
		padding-left: 1em;
		font-size: .85em;
		line-height: 1.5;
	}
	.lantern_movie-item-notice::before {
		content: '※';
		position: absolute;
		top: 0;
		left: 0;
	}

	/* sp */
	@media (max-width: 767px) {}

	/* pc & tab */
	@media (min-width: 768px) {
		.lantern_movie-content {max-width: 111.4rem;}
		.lt_movie-ttl {
			margin: 0 auto;
			width: 680px;
		}
	}
}

/* 2025.2.25 */
@media all {

	/* sp */
	@media (max-width: 767px) {}

	/* pc & tab */
	@media (min-width: 768px) {
		.lt_movie-content {
			margin: 0 auto;
			width: 680px;
		}
	}
}

/* 2025.3.5 */
@media all {
	.lantern_movie-section {
		background: linear-gradient(to bottom, #fff, #efefef calc(100% - 40rem));
	}
	#tlc.event-section {
		margin-top: 0;
		padding-bottom: 0;
	}
	.art-img {
		display: block;
		margin: 0 auto;
	}
	.art-text {text-align: center;}
	
	/* sp */
	@media (max-width: 767px) {
		.lantern_movie-section {padding-bottom: 7.5rem;}
		.art-content {margin-top: 5rem;}
		.art-img {margin-top: 4rem;}
		.art-text {margin-top: 1.5rem;}
	}
	
	/* pc & tab */
	@media (min-width: 768px) {
		.lantern_movie-section {padding-bottom: 10rem;}
		#tlc .deco-6_3 {top: 30rem;}

		.art-content {
			margin-top: 6rem;
		}
		.lt_art-ttl {
			width: 100%;
			max-width: 100rem;
		}
		.art-img {
			margin-top: 4rem;
			width: 100%;
			max-width: 100rem;
		}
		.art-text {
			width: 68rem;
			margin: 2rem auto 0;
		}
	}
}


/* .2025.03.17 */
@media all {
	.summary-content {
		aspect-ratio: 16 / 9;
	}
	.summary-lead {
		text-align: center;
		line-height: 2;
	}
	.summary-content iframe {
		width: 100%;
		height: 100%;
	}

	/* sp */
	@media (max-width: 767px) {
		.summary-section {
			margin-top: 10rem;
			/* padding: 0 2rem 3rem; */
		}
		.summary-lead {
			margin-top: 2rem;
		}
		.summary-content {
			margin-top: 2rem;
			padding: 0 2rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.summary-section {
			margin: 15rem auto 0;
			width: 100rem;
		}
		.summary-ttl {
			width: 100%;
			max-width: 100%;
		}
		.summary-lead {
			margin-top: 5rem;
			font-size: 1.8rem;
		}
		.summary-content {
			margin-top: 5rem;
		}
	}
}