@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%;

		--green-1: #64b50f;
		--green-2: #006e55;
		--green-3: #4b5a5d;
		--green-4: #ccefdd;
		--green-5: #35b800;
		--green-6: #d4eede;
		--orange-1: #ff8e00;
		--orange-2: #db2100;
		--orange-3: #f3baa2;
		--orange-4: #fff9f0;
		--orange-5: #fde3b1;
		--orange-6: #ffe4d0;
		--gray-1: #939c9e;
		--blue-1: #0098da;
		--blue-2: #0068ae;
		--blue-3: #00b0fc;
		--blue-4: #d4ecfd;
		--blue-5: #c8eeff;
		
	}

	.slackside,
	.main-section-header-ttl .en {
		font-family: "Slackside One", cursive;
		font-weight: 400;
		font-style: normal;
	}
	.zenkaku {
		font-family: "Zen Kaku Gothic New", sans-serif;
	}
	.yakuzen {
		font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
	}
	.ilb {display: inline-block;}
	.site-main {color: var(--green-3);}
	.site-main img {width: 100%;}
	.blue-a {
		text-decoration: underline;
		color: var(--blue-1);
		transition: .3s;
	}
	.blue-a:hover {opacity: .8;}
	.btn-top {pointer-events: none;}
	.btn-top.done {pointer-events: all;}

	@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;
		}
		.site-main {font-size: 1.5rem;}

		.spNone {
			display: none !important;
		}
	}

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

	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;
	}

	.main-section,
	.inner-section {
		position: relative;
		line-height: 1;
	}

	.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;
		overflow: hidden;
	}

	.fv-frame,
	.fv-slider {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
	}
	.fv-frame img,
	.fv-slider img {
		height: 100%;
		object-fit: cover;
	}
	.fv-slider-item {
		width: 100%;
		height: 100%;
	}


	.fv-ttl {position: absolute;}

	.fv-slider-area {
		position: absolute;
		border: 1px solid #fff;
		color: #fff;
		opacity: .6;
		overflow: hidden;
	}
	.fv-area-item {
		display: flex!important;
		align-items: center;
		justify-content: center;
		line-height: 1;
	}

	@keyframes fadezoom {
		0% {transform: scale(1);}
		100% {transform: scale(1.2);}
	}

.animation {
	animation: fadezoom 15s 0s forwards;
}

	/* sp */
	@media (max-width: 767px) {
		.site-main-header {
			margin-top: 59px;
			width: 100%;
			height: 75vw;
		}
		.fv-ttl {
			bottom: 3.5rem;
			right: .5rem;
			width: 22rem;
		}
		.fv-slider-area {
			bottom: .7rem;
			left: calc(50% - 5rem);
			width: 10rem;
			height: 1.5rem;
			border-radius: .4rem;
			font-size: 1.5rem;
		}
		.fv-area-item {
			height: calc(1.8rem - 2px);
			padding-bottom: .7rem;
		}


	}

	/* tab & pc */
	@media (min-width: 768px) {
		.site-main-header {
			margin: 65px auto 0;
			max-width: 160rem;
			height: 57.85714286vw;
		}
		.fv-ttl {
			bottom: 6.5vw;
			right: 3.5vw;
			width: 44.42857143vw;
		}

		.fv-slider-area {
			bottom: 3.5rem;
			left: calc(50% - 7.7rem);
			width: 15.4rem;
			height: 2.8rem;
			border-radius: .8rem;
			border-width: .1rem;
			font-size: 2.2rem;
		}
		.fv-area-item {
			height: calc(2.8rem - 2px);
			padding-bottom: .6rem;
		}

		/* 1400 */
		@media (max-width: 1399px) {
			.fv-slider-area {bottom: 2.5vw;}
			@media (max-width: 1280px) {
				.fv-slider-area {bottom: 2vw;}
			}
		}
		/* tab */
		@media (max-width: 980px) {
			.site-main-header {
				margin-top: 59px;
			}
			.fv-slider-area {
				transform-origin: bottom center;
				scale: .75;
			}
		}
		/* wide */
		@media (min-width: 1400px) {
			.site-main-header {height: 81rem;}
			.fv-ttl {
				bottom: 9.1rem;
				right: calc(50% - 65.5rem);
				width: 62.2rem;
			}
		}
	}
}


/* .lead-seciton */
@media all {
	.lead-section {
		background-color: var(--orange-4);
		font-weight: bold;
		text-align: center;
		color: var(--green-2);
		letter-spacing: .025em;
		white-space: nowrap;
	}

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


	/* sp */
	@media (max-width: 767px) {
		.lead-section {padding: 7.5rem 0 25rem;}
		.lead-section-txt-ttl {
			font-size: 2.4rem;
			margin-bottom: 4.2rem;
		}
		.lead-section-txt {
			font-size: 1.6rem;
			line-height: 1.875;
		}
		.lead-section-txt + .lead-section-txt {
			margin-top: 3rem;
			font-size: 1.6rem;
		}
		.le-1 {
			top: 42.5rem;
			right: .5rem;
			width: 7.9rem;
		}
		.le-2 {
			bottom: 48rem;
			left: .5rem;
			width: 5.75rem;
		}
		.le-3 {
			bottom: 15.5rem;
			right: 2rem;
			width: 6.25rem;
		}
		.le-4 {
			top: 14rem;
			left: -2rem;
			width: 12.85rem;
		}
		.le-5 {
			top: 54rem;
			right: -3rem;
			width: 14.4rem;
		}
		.le-6 {
			bottom: 19.5rem;
			left: -2.5rem;
			width: 12.85rem;
		}
		.le-1, .le-2, .le-3 {display: none;}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.lead-section {padding: 10rem 0 26.5rem;}
		.lead-section-txt-ttl {
			font-size: 4rem;
			margin-bottom: 7rem;
		}
		.lead-section-txt {
			font-size: 2rem;
			line-height: 1.9;
		}
		
		/* tab */
		@media (max-width: 1024px) {
			.lead-section-txt {font-size: 1.9rem;}
		}

		.le-1 {
			top: 10rem;
			right: max(0px, calc(50% - 55rem));
			width: 18rem;
		}
		.le-2 {
			top: 36rem;
			left: max(0px, calc(50% - 55rem));
			width: 12.5rem;
		}
		.le-3 {
			bottom: 26rem;
			right: max(-1.5rem, calc(50% - 60rem));
			width: 12.5rem;
		}
		.le-4 {
			top: 10rem;
			left: max(-5rem, calc(50% - 60rem));
			width: 25.7rem;
		}
		.le-5 {
			top: 33rem;
			right: max(-10rem, calc(50% - 70rem));
			width: 28.8rem;
		}
		.le-6 {
			bottom: 32rem;
			left: max(-8rem, calc(50% - 72.5rem));
			width: 25.7rem;
		}

		@media (max-width: 1024px) {
			.le-1 {
				right: 4rem;
				width: 12rem;
			}
			.le-2 {
				top: 38rem;
				left: 2rem;
				width: 8.33rem;
			}
			.le-3 {
				right: 3rem;
				width: 8.33rem;
			}
			.le-4 {width: 17.13rem;}
			.le-5 {width: 19.2rem;}
			.le-6 {width: 17.13rem;}
		}
	}
}


/* .news-section */
@media all {
	.news-section {
		display: flex;
		justify-content: center;
		padding: 0 2rem;
		background-color: #c0e5cf;
	}
	.news-section::before,
	.news-section::after {
		content: '';
		position: absolute;
		left: 0;
		display: block;
		width: 100%;
		background: center / cover no-repeat;
	}
	.news-section::before {
		bottom: calc(100% - 1px);
	}
	.news-section::after {
		top: calc(100% - 1px);
	}

	.news-section-inner {
		position: relative;
		background-color: #fff;
		border-radius: 2rem;
	}

	.news-section-inner::before {
		content: '';
		position: absolute;
		top: 2.5rem;
		display: block;
		height: calc(100% - 5rem);
		background: top left / contain repeat-y url(../img/news/ring.svg);
	}
	/* .news-section-inner::after {
		content: '';
		position: absolute;
		display: block;
		height: 2rem;
		background: linear-gradient(to top, rgba(255,255,255,1) .1rem, rgba(255,255,255,0) 100%);
	} */

	.news-ttl .ja {
		display: block;
		font-weight: 600;
		letter-spacing: .1em;
	}
	.news-ttl .en {
		display: block;
		color: var(--blue-1);
	}

	.news-list {
		overflow: auto;
		padding-right: 2.5rem;
		height: 100%;
		font-weight: normal;
	}

	.news-item {
		position: relative;
		display: flex;
		padding: 1rem 0;
		line-height: 1.43;
	}
	.news-item::before,
	.news-item:last-child::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: .2rem;
		background: left top / contain repeat-x url(../img/news/dot-row.png);
	}
	.news-item:last-child::after {top: 100%;}

	.news-item time {
		display: inline-block;
		width: 10rem;
		color: var(--green-3);
	}

	.news-item p,
	.news-item a {
		width: calc(100% - 10rem);
		color: var(--green-3);
	}

	.ne-2 {
		transition: 3s ease-out, opacity .5s ease;
		transform-origin: top left;
	}
	.ne-2.active {
		animation: anim-ne2 1s ease-out forwards;
	}

	/* sp */
	@media (max-width: 767px) {
		.news-section {
			margin-top: -2rem;
			padding: 5rem 2rem 8rem;
		}
		.news-section::before {
			height: 10.7rem;
			background-image: url(../img/news/before-sp.png);
		}
		.news-section::after {
			height: 1.2rem;
			background-image: url(../img/news/after-sp.svg);
			background-size: cover;
		}


		.news-ttl {
			text-align: center;
		}
		.news-ttl .en {font-size: 5rem;}
		.news-ttl .ja {
			margin-top: .6rem;
			font-size: 1.2rem;
		}

		.news-section-inner {
			padding: 0 2rem;
			height: 35.2rem;
		}
		.news-section-inner::before {
			left: -.6rem;
			width: 2.1rem;
			background-size: 2.1rem 1.932rem;
		}
		.news-section-inner::after {
			bottom: 0;
			right: 1.5rem;
			width: calc(100% - 3.5rem);
		}
		
		.news-list {
			padding: 1rem 1rem 2rem;
			margin-top: 1rem;
			height: calc(100% - 7.2rem);
		}

		.news-item {
			flex-direction: column;
			margin-top: .5rem;
			padding: 1rem 0;
			font-size: 1.4rem;
			line-height: 1.428;
		}

		.news-item time + p {
			margin-top: .5rem;
			width: 100%;
		}

		.ne-1 {
			bottom: .1rem;
			left: .5rem;
			width: 9rem;
		}
		.ne-2 {
			bottom: -6rem;
			right: .5rem;
			width: 12.8rem;
		}
		.ne-2.active {animation-duration: 5s;}
		@keyframes anim-ne2 {
			0% {right: .5rem;bottom: -6rem;}
			100% {right: calc(100% - 23rem);bottom: -5rem;transform: scale(.6);}
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.news-section {height: 37rem;}
		.news-section::before {
			height: 24.5rem;
			background-image: url(../img/news/before-pc.png);
		}
		.news-section::after {
			height: 1.6rem;
			background-image: url(../img/news/after-pc.svg);
		}

		.news-section-inner {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 0 2.5rem 0 5rem;
			width: 90%;
			max-width: 85rem;
			height: 30rem;
		}
		.news-section-inner::before {
			left: -.8rem;
			width: 2.5rem
		}
		.news-section-inner::after {
			bottom: 4rem;
			right: 5rem;
			width: calc(100% - 15rem);
		}

		.news-ttl {
			margin-top: -3rem;
			text-align: center;
		}
		.news-ttl .ja {
			margin-top: 1rem;
			font-size: 1.2rem;
		}
		.news-ttl .en {
			font-size: 6.4rem;
		}


		.news-list {
			width: calc(100% - 19.5rem);
			height: 17rem;
			font-size: 1.5rem;
		}

		.ne-1 {
			bottom: 1rem;
			left: max(0px, calc(50% - 63rem));
			width: 15.7rem;
		}
		.ne-2 {
			bottom: -12rem;
			right: max(0px, calc(50% - 71rem));
			width: 25.6rem;
		}

		/* before */
		@media (max-width: 1400px) {
			.news-section::before {height: 17.5vw;}
		}
		/* tab */
		@media (max-width: 1024px) {
			.news-section::after {height: 1vw;}
			.ne-1 {width: 12rem;}
			.ne-2 {
				bottom: -2rem;
				width: 17.2rem;
			}
		}
	}
}

/* carousel */
@media all {
	.carousel {
		position: relative;
		overflow: hidden;
		background-color: var(--orange-4);
	}
	.carousel::after {
		content: '';
		left: 0;
		display: block;
		background: left center / cover repeat-x url(../img/deco/carousel.jpg?v0616);
		animation: carou1 60s linear infinite;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.carousel {
			height: 33rem;
			padding-top: 7.5rem;
		}
		.carousel::after {
			width: 154.98rem;
			height: 25.2rem;
		}
		@keyframes carou1 {
			0% {background-position-x: 154.98rem;}
			100% {background-position-x: 0rem;}
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.carousel {
			height: 54rem;
			padding-top: 11rem;
		}
		.carousel::after {
			width: 246rem;
			height: 40rem;
		}
		@keyframes carou1 {
			0% {background-position-x: 246rem;}
			100% {background-position-x: 0rem;}
		}
	}
}

/* .event-section */
@media all {
	.event-outer-header {
		position: relative;
		background: linear-gradient(to bottom, var(--orange-4), var(--orange-5));
	}
	.event-outer-header::before,
	.event-outer-header::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		pointer-events: none;
	}
	.event-outer-header::before {
		background: center repeat url(../img/event/dot-bg.png);
	}
	.event-ttl, .event-nav {
		position: relative;
		z-index: 1;
	}
	.event-ttl .en {
		display: block;
		color: var(--blue-1);
		text-align: center;
	}
	.event-ttl .en::after {
		content: '';
		display: inline-block;
		background: center / contain no-repeat url(../img/event/icon-cal.svg);
	}
	.event-ttl .ja {
		display: block;
		margin-top: 1.25em;
		text-align: center;
	}

	.event-nav-list {
		display: flex;
		justify-content: center;
	}
	.event-nav-item {
		position: relative;
		transition: transform .5s;
	}
	.event-nav-item::before,
	.event-nav-item::after {
		content: '';
		position: absolute;
		bottom: 100%;
		display: block;
		background: center / cover no-repeat;
		transition: opacity .5s;
	}
	.event-nav-item:not(.active)::after {opacity: 0;}
	
	.event-nav-btn {
		position: relative;
		text-align: center;
	}
	.event-nav-btn::before,
	.event-nav-btn::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		background: left top / cover no-repeat;
		transition: opacity .3s;
		pointer-events: none;
	}
	.event-nav-btn::before {z-index: 1;}
	.event-nav-btn::after {z-index: 2;}
	.event-nav-btn:hover::after,
	.active .event-nav-btn::after {opacity: 0;}

	.event-nav-btn > span {position: relative;z-index: 3;}
	.event-status {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		border-radius: 2em;
		color: #fff!important;
		white-space: nowrap;
	}
	.event-status .narrow {
		display: inline-block;
		margin-left: -0.5em;
		width: 5.1em;
		transform: scaleX(.7);
		font-feature-settings: "palt";
	}
	.event-area, .event-title {display: block;}
	.event-area {
		font-weight: 900;
		letter-spacing: .25em;
	}
	.event-title {
		position: relative;
		font-weight: bold;
	}
	.event-title::after {
		content: '';
		position: absolute;
		display: block;
		background: center / contain no-repeat;
		opacity: 0;
		transition: opacity .5s;
		pointer-events: none;
	}
	.active .event-title::after {opacity: 1;}

	.active .event-nav-btn::after,
	.event-nav-btn:hover::after {opacity: 0;}

	.event-section {
		position: absolute;
		display: none;
		visibility: hidden;
		opacity: 0;
		transition: visibility .5s, opacity .5s;
		z-index: 3;
	}
	.event-section.active {
		position: relative;
		display: block;
		visibility: visible;
		opacity: 1;
		z-index: 4;
	}

	.event-section::before {
		content: '';
		position: absolute;
		left: 0;
		display: block;
		width: 100%;
		background: center / cover no-repeat;
	}
	.event-section::before {bottom: calc(100% - 1px);}

	.event-header-img img {
		padding-right: 1px;
		-webkit-mask-image: url(../img/event/clip.svg);
		-webkit-mask-size: cover;
		-webkit-mask-position: center right;
		mask-image: url(../img/event/clip.svg);
		mask-size: cover;
		mask-position: center right;
	}
	.event-header-ttl {
		position: relative;
		text-align: center;
	}
	.event-header-ttl::before {
		content: '';
		position: absolute;
		display: block;
		background: center / contain no-repeat;
	}
	.event-header-ttl .ja {
		display: block;
		font-weight: 900;
	}
	.event-header-ttl .en {display: block;}
	
	.event-header-lead {
		font-weight: bold;
		text-align: center;
		line-height: 2.6;
	}
	.event-header-lead .ul {
		position: relative;
		display: block;
		width: 100%;
		white-space: nowrap;
	}
	.event-header-lead .ul::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		height: .2rem;
		background: center left / contain repeat-x url(../img/event/dot-row.png);
	}

	.event-request-button {position: relative;}
	.st0 {transition: .3s;}
	.st0:hover {cursor: pointer;}
	.event-request-button-txt {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		font-weight: bold;
		color: #fff;
		pointer-events: none;
	}

	.event-request-end {
		font-weight: bold;
		text-align: center;
	}

	.event-map-ttl,
	.event-report-btn,
	.event-movie-ttl {
		position: relative;
		display: flex;
		align-items: center;
		margin: 0 auto;
		border-radius: 10em;
		font-weight: 900;
		color: #fff;
	}
	.event-map-dd p,
	.event-movie-yt p {
		margin: 1.5em auto;
		font-weight: 500;
		text-align: center;
		line-height: 1.75;
	}
	.event-report-btn::after {
		content: '';
		position: absolute;
		right: .75em;
		display: block;
		aspect-ratio: 1;
		background: center / contain no-repeat url(../img/event/icon-arrow.svg);
	}
	.event-report-btn .icon-repo {margin-right: .25em;}

	.event-movie {font-weight: 500;}
	.event-movie .icon-movie {margin-right: .25em;}
	.event-movie-ttl,
	.event-map-ttl {
		justify-content: center;
		padding-left: 0!important;
	}
	.event-movie-yt {
		margin: 0 auto;
		aspect-ratio: 16 / 9;
	}
	.event-movie-yt iframe {
		width: 100%;
		height: 100%;
	}

	.event-map {font-weight: 500;}
	.event-map .icon-map {margin-right: .5em;}
	.event-map-ttl-text {
		display: inline-flex;
		flex-direction: column;
	}
	.event-map-ttl-text small {
		margin-top: .1em;
		font-weight: 500;
	}
	.event-map-dd {
		margin: 0 auto;
		text-align: center;
	}

	.event-canceled {
		background-color: #fff;
		border: solid #f00;
		font-weight: 500;
		color: #f00;
		text-align: left;
		line-height: 1.2;
	}

	/* 江戸東京歴史ツーリズム */
	.edo.event-nav-item::before {background-image: url(../img/event/edo/flag-light.svg);}
	.edo.event-nav-item::after {background-image: url(../img/event/edo/flag.svg);}
	.edo .event-nav-btn {color: var(--orange-2);}
	.edo .event-status {background-color: var(--orange-1);}
	.edo .event-title::after {background-image: url(../img/event/edo/active.svg);}
	.event-edo-section {background-color: #ffe2cd;}
	.edo-ttl::before {background-image: url(../img/event/edo/flag.svg);}
	.edo-ttl .ja {color: var(--orange-2);}
	.edo-ttl .en {color: var(--orange-1);}
	.event-edo-section .st0 {fill: var(--orange-1);}
	.event-edo-section .st0:hover {fill: var(--orange-2);}
	.edo-oyako {
		position: absolute;
		display: block;
	}
	.edo-tokyo {margin: 0 auto;}
	.edo-request-end {color: var(--orange-2);}
	.event-edo-section .event-report-btn {background-color: var(--orange-1);}
	.event-edo-section :is(.event-movie-ttl, .event-map-ttl) {background-color: var(--orange-2);}

	/* 多摩グリーンツーリズム */
	.tama.event-nav-item::before {background-image: url(../img/event/tama/flag-light.svg);}
	.tama.event-nav-item::after {background-image: url(../img/event/tama/flag.svg);}
	.tama .event-title::after {background-image: url(../img/event/tama/active.svg);}
	.tama .event-nav-btn {color: #006e55;}
	.tama .event-status {background-color: var(--green-5);}
	.event-tama-section {background-color: var(--green-4);}
	.tama-ttl::before {background-image: url(../img/event/tama/flag.svg);}
	.tama-ttl .ja {color: var(--green-2);}
	.tama-ttl .en {color: var(--green-5);}
	.event-tama-section .st0 {fill: var(--green-5);}
	.tama-request-end {color: var(--green-2);}
	.event-tama-section .event-report-btn {background-color: var(--green-1);}
	.event-tama-section :is(.event-movie-ttl, .event-map-ttl) {background-color: var(--green-2);}

	/* 島しょ */
	.island.event-nav-item::before {background-image: url(../img/event/island/flag-light.svg);}
	.island.event-nav-item::after {background-image: url(../img/event/island/flag.svg);}
	.island .event-area {letter-spacing: initial;}
	.island .event-title::after {background-image: url(../img/event/island/active.svg);}
	.island .event-nav-btn {color: var(--blue-2);}
	.island .event-status {background-color: var(--blue-3);}
	.event-island-section {background-color: var(--blue-4);}
	.island-ttl::before {background-image: url(../img/event/island/flag.svg);}
	.island-ttl .ja {color: var(--blue-2);}
	.island-ttl .en {color: var(--blue-3);}
	.event-island-section .st0 {fill: var(--blue-3);}
	.island-request-end {color: var(--blue-2);}
	.event-island-section .event-report-btn {background-color: var(--blue-1);}
	.event-island-section :is(.event-movie-ttl, .event-map-ttl) {background-color: var(--blue-2);}

	/* sp */
	@media (max-width: 767px) {
		.event-outer-header {padding-bottom: 12rem;}
		.event-outer-header::before {background-size: 1rem 1rem;}
		.event-outer-header::after {
			background: top center / contain no-repeat url(../img/event/top-bg-sp.png);
		}

		.event-ttl {padding-top: 3rem;}
		.event-ttl .en {font-size: 6.4rem;}
		.event-ttl .en::after {
			margin-left: 1rem;
			width: 4.61rem;
			height: 3.6rem;
		}

		.event-nav-list {
			margin-top: 7rem;
			column-gap: .6rem;
		}
		
		.event-nav-item:not(.active) {transform: translateY(2rem);}
		.event-nav-item::before,
		.event-nav-item::after {
			left: calc(50% - 2.1rem);
			width: 3.8rem;
			height: 4rem;
		}
		.event-nav-btn {
			padding-top: 1rem;
			width: 12.4rem;
			height: 8.6rem;
		}
		.event-nav-btn::before,
		.event-nav-btn::after {
			height: 10.7rem;
		}

		.event-status {
			padding-bottom: .2rem;
			width: 11.4rem;
			height: 2.2rem;
			font-size: 1.4rem;
		}
		.event-area {
			margin-top: 1.3rem;
			font-size: 2.5rem;
		}
		.event-title {display: none;}

		.event-section {
			margin-top: 8rem;
			padding: 7rem 0;
		}
		.event-section::before {height: 14.4rem;}
		.event-section::after {height: 1.2rem;}

		.event-header {position: relative;}
		.event-section .event-header-img {
			position: absolute;
			top: 8rem;
			width: calc(100% - 2rem);
			height: 30.2rem;
		}
		.event-header-ttl::before {
			bottom: calc(100% + 2rem);
			left: calc(50% - 2.8rem);
			width: 4rem;
			height: 4.3rem;
		}
		.event-header-ttl .ja {font-size: 3rem;}
		.event-header-ttl .ja small {
			display: block;
			margin-top: .5em;
			font-size: 1.7rem;
		}
		.event-header-ttl .en {
			margin-top: .5rem;
			font-size: 2rem;
		}
		.event-header-lead {
			margin-top: 37.5rem;
			padding: 0 1.6rem;
			font-size: 1.6rem;
		}
		.event-header-img img {margin-left: -1px;}
		.event-request-button {
			margin: 0 auto;
			width: 30rem;
		}
		.event-header-link {margin-top: 5rem;}

		.event-request-end {
			margin-top: 5rem;
			padding-bottom: 1.5rem;
		}

		.workshop-end {
			margin-top: 3rem;
			padding-bottom: 0;
		}

		.event-report {
			margin: 6rem 0 11rem;
		}
		.event-report-btn,
		.event-movie-ttl,
		.event-map-ttl {
			padding-left: 1.6rem;
			width: 36rem;
			height: 5.6rem;
			font-size: 2.2rem;
		}
		.event-report-btn::after {
			width: 2rem;
		}
		.event-report-btn .icon-repo {width: 4.4rem;}
		
		.event-movie {margin-top: 6rem;}
		.event-movie-ttl .icon-movie {width: 4.4rem;}
		.event-movie-yt {
			margin-top: 2rem;
			width: 36rem;
		}
		.event-map {
			margin: 6rem auto;
			width: 36rem;
		}
		.event-map-ttl {height: 6.5rem;}
		.event-map-ttl .icon-map {width: 4rem;}
		.event-map-ttl-text small {
			margin-top: .4rem;
			font-size: 1.5rem;
		}
		.event-map-dd iframe {
			width: 100%;
			height: 540px;
		}
		
		.event-canceled {
			margin: -5rem auto 8rem;
			padding: .4em .5em;
			width: calc(100% - 4rem);
			border-width: .2rem;
			font-size: 1.6rem;
			text-align: justify;
		}
		.workshop-canceled {
			margin: 4rem 0 0;
			width: 100%;
		}

		/* 江戸東京歴史ツーリズム */
		.edo .event-nav-btn::before {
			background-image: url(../img/event/edo/bubble-active-sp.svg);
		}
		.edo .event-nav-btn::after {
			background-image: url(../img/event/edo/bubble-sp.svg);
		}
		.event-edo-section {padding-top: 9rem;}
		.event-edo-section::before {background-image: url(../img/event/edo/before-sp.png?0930);}
		.edo-oyako {
			top: -8rem;
			right: 1rem;
			width: 11rem;
		}
		.edo-tokyo {
			margin-top: 2.5rem;
			width: 15rem;
		}

		/* 多摩 */
		.tama .event-nav-btn::before {
			background-image: url(../img/event/tama/bubble-active-sp.svg);
		}
		.tama .event-nav-btn::after {
			background-image: url(../img/event/tama/bubble-sp.svg);
		}
		.event-tama-section::before {background-image: url(../img/event/tama/before-sp.png?0930);}

		/* 島しょ */
		.island .event-nav-btn::before {
			background-image: url(../img/event/island/bubble-active-sp.svg);
		}
		.island .event-nav-btn::after {
			background-image: url(../img/event/island/bubble-sp.svg);
		}
		.event-island-section::before {background-image: url(../img/event/island/before-sp.png?1030);}

		.event-island-section .event-header-img {
			top: 12rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.event-outer-header {padding-bottom: 21.6rem;}
		.event-outer-header::before {background-size: 1.4rem 1.4rem;}
		.event-outer-header::after {
			background: top center no-repeat url(../img/event/top-bg-pc.png);
			background-size: 114.29vw 19.286vw;
		}
		@media (min-width: 1400px) {
			.event-outer-header::after {
				background-size: 160rem 27rem;
			}
		}
		.event-ttl {padding-top: 2rem;}
		.event-ttl .en {font-size: 9rem;}
		.event-ttl .en::after {
			margin-left: 1rem;
			width: 6.4rem;
			height: 5rem;
		}

		.event-nav-list {
			margin-top: 10rem;
			column-gap: 1.6rem;
		}
		.event-nav-item:not(.active) {transform: translateY(3.5rem);}

		.event-nav-item::before,
		.event-nav-item::after {
			left: calc(50% - 2.1rem);
			width: 4.2rem;
			height: 4.4rem;
		}
		.event-nav-btn {
			padding-top: 1.6rem;
			width: 40.4rem;
			height: 14.4rem;
		}
		.event-nav-btn::before,
		.event-nav-btn::after {
			height: 18.2rem;
		}
		.event-nav-item:not(.active) .event-nav-btn:hover {cursor: pointer;}
		
		.event-status {
			padding-bottom: .2rem;
			width: 18rem;
			height: 2.8rem;
			font-size: 1.8rem;
		}
		.event-area {
			margin-top: 1rem;
			font-size: 4.2rem;
		}
		.event-title {
			margin-top: 1.4rem;
			font-size: 1.6rem;
		}

		@media (max-width: 1279px) {
			.event-outer-header {padding-bottom: 16.875vw;}
			.event-nav-list {
				margin-top: 7.8125vw;
				column-gap: 1.25vw;
			}
			.event-nav-item::before,
			.event-nav-item::after {
				left: calc(50% - 1.640625vw);
				width: 3.28125vw;
				height: 3.4375vw;
			}
			.event-nav-btn {
				padding-top: 1.25vw;
				width: 31.5625vw;
				height: 11.25vw;
			}
			.event-nav-btn::before,
			.event-nav-btn::after {
				height: 14.21875vw;
			}
			.event-status {
				padding-bottom: 2px;
				width: 14.0625vw;
				height: 2.1875vw;
				font-size: 1.40625vw;
			}
			.event-area {
				margin-top: 0.78125vw;
				font-size: 3.28125vw;
			}
			.event-title {
				margin-top: 1.09375vw;
				font-size: 1.25vw;
			}
		}
		

		.event-section {
			margin-top: 5rem;
			padding: 7.5rem 0 12rem;
		}
		.event-section::before {height: 20.3rem;}

		.event-header {
			display: flex;
			align-items: center;
		}
		.event-header-img {
			width: calc(50% + 1rem);
			height: 64.2rem;
		}
		.event-header-img img {
			height: 100%;
			object-fit: cover;
		}
		.event-header-txt {
			padding-top: 6rem;
			padding-left: 1rem;
			width: calc(50% - 1rem);
			max-width: 56rem;
			transition-delay: .3s!important;
		}

		.event-header-ttl::before {
			bottom: calc(100% + 2rem);
			left: calc(50% - 2.8rem);
			width: 5.6rem;
			height: 6rem;
		}
		.event-header-ttl .ja {font-size: 4.8rem;}
		.event-header-ttl .ja small {
			display: block;
			margin-top: .5em;
			font-size: 2.2rem;
		}
		.event-header-ttl .en {
			margin-top: 1rem;
			font-size: 2.8rem;
		}

		.event-header-lead {
			margin: 5rem auto 0;
			width: 100%;
			max-width: 46rem;
			font-size: 2rem;
		}
		.event-request-button {
			width: 43rem;
			height: 8.6rem;
			font-size: 2.2rem;
		}
		.event-header-link {
			margin: 5rem auto 0;
		}
		.ev-bg-1, .ev-bg-2, .ev-bg-3 {
			left: calc(50% - 80rem);
			width: 160rem;
			z-index: -1!important;
		}
		.ev-bg-1 {top: 225rem;}
		.ev-bg-2 {top: 370rem;}
		.ev-bg-3 {top: 525rem;}

		.event-request-end {
			margin-top: 7rem;
			padding-bottom: 2rem;
			font-size: 2.2rem;
		}

		.event-report {
			margin: 8rem 0 13rem;
		}
		.event-report-btn,
		.event-movie-ttl,
		.event-map-ttl {
			justify-content: center;
			width: 64.6rem;
			height: 5.4rem;
			font-size: 2.2rem;
			transition: background-color .3s;
		}
		.event-report-btn:hover {background-color: var(--orange-2);}
		.event-report-btn::after {
			width: 1em;
		}
		.event-report-btn .icon-repo {width: 4.6rem;}

		.event-movie {margin-top: 8rem;}
		.event-movie-yt,
		.event-map-dd p {
			width: 64.6rem;
		}
		.event-map-dd p,
		.event-movie-yt p {
			font-size: 1.6rem;
		}
		.event-movie-ttl .icon-movie {width: 3.5rem;}

		.event-map {margin-top: 10rem;}
		.event-map-ttl small {font-size: 1.5rem;}
		.event-map-ttl .icon-map {width: 4rem;}
		
		.event-map-dd iframe {
			margin: 0 auto;
			width: 1021px;
			max-width: calc(100% - 40px);
			height: 642px;
		}

		.event-canceled {
			margin: -7rem auto 2rem;
			padding: .4em 1em;
			border-width: .2rem;
			width: calc(100% - 4rem);
			max-width: 86rem;
			font-size: 1.8rem;
		}
		.workshop-canceled {
			margin: 4rem 0 0;
			width: 100%;
			max-width: none;
		}
		
		@media (min-width: 1600px) {
			.event-map-dd {height: 72.3rem;}
			.event-map-dd iframe {
				transform-origin: center top;
				scale: calc(100vw / 1600px);
			}
		}

		/* 江戸東京歴史ツーリズム */
		.edo .event-nav-btn::before {
			background-image: url(../img/event/edo/bubble-active-pc.svg);
		}
		.edo .event-nav-btn::after {
			background-image: url(../img/event/edo/bubble-pc.svg);
		}
		.edo .event-title::after {
			top: -3rem;
			right: 1rem;
			width: 7.2rem;
			height: 7.8rem;
		}
		.event-edo-section::before {background-image: url(../img/event/edo/before-pc.png?0930);}
		.event-edo-section .event-header-ttl {display: inline-block;}
		.edo-oyako {
			top: -12rem;
			right: -6rem;
			width: 16.4rem;
		}
		.edo-tokyo {
			margin-top: 3rem;
			width: 17.5rem;
		}
		.event-edo-section .ev-bg-1 {top: 160rem;}
		.event-edo-section .ev-bg-2 {top: 283rem;}
		.event-edo-section .event-report-btn:hover {background-color: var(--orange-2);}

		/* 多摩 */
		.tama .event-nav-btn::before {
			background-image: url(../img/event/tama/bubble-active-pc.svg);
		}
		.tama .event-nav-btn::after {
			background-image: url(../img/event/tama/bubble-pc.svg);
		}
		.tama .event-title::after {
			top: -3rem;
			right: 1rem;
			width: 7.2rem;
			height: 8.2rem;
		}
		.event-tama-section::before {background-image: url(../img/event/tama/before-pc.png?v0930);}
		.tama-header-img img {object-position: left center;}

		.event-tama-section .st0:hover {fill: var(--green-2);}
		.tama-request-end1 {margin-top: 11rem;}
		.event-tama-section .event-report-btn:hover {background-color: var(--green-2);}

		/* 島しょ */
		.island .event-nav-btn::before {
			background-image: url(../img/event/island/bubble-active-pc.svg);
		}
		.island .event-nav-btn::after {
			background-image: url(../img/event/island/bubble-pc.svg);
		}
		.island .event-title::after {
			top: -3rem;
			right: 1rem;
			width: 6.9rem;
			height: 7.5rem;
		}
		.event-island-section::before {background-image: url(../img/event/island/before-pc.png?v1118);}
		.island-header-img img {object-position: left center;}

		.event-island-section .st0:hover {fill: var(--blue-2);}
		.event-island-section .event-report-btn:hover {background-color: var(--blue-2);}

		@media (max-width: 1075px) {
			.event-section.event-edo-section {padding-top: 6rem;}
			.event-edo-section .event-section-inner {position: relative;}
			.edo-oyako {right: calc(50% - 25rem);}
			@media (max-width: 979px) {
				.event-edo-section .edo-header {padding-top: 22rem;}
				.edo-oyako {right: calc(50% - 35rem);}
			}
		}


		/* before */
		@media (max-width: 1400px) {
			.event-section::before {height: 14.5vw;}
		}

		/* tab */
		@media (max-width: 979px) {
			.event-header {
				padding-top: 12rem;
				padding-right: 2rem;
			}
			.event-header-ttl {
				position: absolute!important;
				top: 9rem;
				left: 0;
				width: 100%;
			}
			.event-header-img {
				width: 50%;
				height: auto;
			}
			.event-header-txt {
				padding-top: 0;
				width: 44rem;
			}
			.event-header-lead {
				margin-top: 0;
				font-size: 1.8rem;
			}
			@media (max-width: 780px) {
				.event-header-lead {font-size: 1.7rem;}
			}

			/* 島しょ */
			.event-island-section .event-header {
				padding-top: 15rem;
			}
		}

		/* pc not wide */
		@media (min-width: 980px) and (max-width: 1400px) {
			.event-header-img {
				margin-top: calc(20rem - 14.3vw);
				height: 45.85714286vw;
			}
		}
		/* pc */
		@media (min-width: 980px) {
			.event-header-txt {
				padding-right: 4rem;
				width: calc(50% + 4rem);
				max-width: none;
				text-align: center;
			}
			.event-header-img {
				width: calc(50% - 4rem);
			}
		}
	}

}

/* .program-section */
@media all {
	.inner-section.program-section {background: none;}
	.program-item {
		position: relative;
		background-color: #fff;
		border-radius: 2rem;
	}
	.program-item::before {
		content: '';
		position: absolute;
		top: -1.6em;
		left: calc(50% - 1.9rem);
		display: block;
		width: 3.8rem;
		height: 4.2rem;
		background: center / contain no-repeat;
		transform-origin: center center;
		transform: rotate(45deg);
	}
	.program-ttl {
		width: 100%;
		font-size: 2.2rem;
		font-weight: bold;
		text-align: center;
		line-height: 1.4545;
	}
	.program-ttl small {
		display: block;
		font-size: 1.6rem;
		font-weight: 500;
	}
	.program-ttl > :is(span, div) {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: .6rem;
		height: 5.4rem;
	}
	.program-content {
		display: flex;
		justify-content: space-between;
		margin-top: 1.6rem;
	}
	.program-content-txt {
		font-size: 1.6rem;
		font-weight: 500;
		font-feature-settings: "palt";
		text-align: justify;
		line-height: 1.75;
	}
	.program-content-txt .notice {
		display: block;
		margin-top: .5em;
		line-height: 1.5;
	}

	.program-notice {
		padding: 0 2rem;
		text-align: center;
	}

	/* 江戸東京 */
	.event-edo-section .program-ttl {color: var(--orange-2);}
	.event-edo-section .program-item::before {background-image: url(../img/present/pin-or.svg);}

	/* 多摩 */
	.event-tama-section .program-ttl {color: var(--green-2);}
	.event-tama-section .program-item::before {background-image: url(../img/present/pin-gr.svg);}
	.event-tama-section .program-item::after {
		content: '';
		position: absolute;
		display: block;
		background: center / contain no-repeat url(../img/event/tama/pg1.svg);
	}
	.event-tama-section .program-item.pg2::after {
		background-image: url(../img/event/tama/pg2.svg);
	}
	.event-tama-section .program-item.pg3::after {
		background-image: url(../img/event/tama/pg3.svg);
	}

	/* 島しょ */
	.event-island-section .program-ttl {color: var(--blue-2);}
	.event-island-section .program-item::before {background-image: url(../img/present/pin-bl.svg);}
	.event-island-section .program-item::after {
		content: '';
		position: absolute;
		display: block;
		background: center / contain no-repeat url(../img/event/island/pg1.svg);
	}
	.event-island-section .program-item.pg2::after {
		background-image: url(../img/event/island/pg2.svg);
	}
	.event-island-section .program-item.pg3::after {
		background-image: url(../img/event/island/pg3.svg);
	}

	/* sp */
	@media (max-width: 767px) {
		.inner-section.program-section {
			margin-top: 7.5rem;
			padding: 0;
			width: 40rem;
		}
		.program-list {
			position: relative;
			margin: 0 auto;
		}
		.program-list .slick-list {
			overflow: visible;
		}
		.program-list .slick-arrow {
			position: absolute;
			z-index: 1;
			top: 0;
			display: block;
			width: 2rem;
			height: 100%;
			background: linear-gradient(to right, rgba(255,228,210,1), rgba(255,228,210,0));
		}
		.program-list .slick-prev {left: 0;}
		.program-list .slick-next {
			right: 0;
			transform: scaleX(-1);
		}
		.program-list .slick-arrow::after {
			content: '';
			position: absolute;
			top: calc(50% - .5rem);
			left: .3rem;
			display: block;
			width: 1.3rem;
			height: 2.6rem;
			background-color: var(--orange-1);
			clip-path: polygon(0 50%, 100% 0, 100% 100%);
		}

		.program-list .slick-track {display: flex;}
		.program-list .slick-slide {height: auto!important;}

		.program-item {
			margin: 0 2rem;
			padding: 3.5rem 2.2rem 0rem;
			width: 36rem;
		}
		.program-content-txt {
			padding-bottom: 1.6rem;
			font-size: 1.6rem;
		}
		.program-content-txt .notice {font-size: 1.2rem;}
		.site-main .program-img {width: 32%;}
		.program-ttl span{
			font-size: 1.8rem;
		}

		.event-section .program-content-txt {width: 62%;}
		/* 江戸 */
		.event-edo-section .program-content {align-items: flex-end;}
		.event-edo-section .program-img {padding-bottom: 1.6rem;}
		/* 多摩 */
		.event-tama-section .program-list .slick-arrow {
			background: linear-gradient(to right, rgba(204,239,221,1), rgba(204,239,221,0));
		}
		.event-tama-section .program-list .slick-arrow::after {
			background-color: var(--green-5);
		}
		.event-tama-section .program-item::after {
			bottom: 1rem;
			right: -1rem;
			width: 13.14rem;
			height: 10.17rem;
			width: 14.454rem;
			height: 11.187rem;
		}
		.event-tama-section .program-item.pg1::after {
			bottom: .3rem;
			right: -1rem;
		}
		.event-tama-section .program-item.pg2::after {
			width: 13.14rem;
			height: 10.17rem;
		}
		.event-tama-section .program-item.pg3::after {
			bottom: 0rem;
			right: -.2rem;
			right: .7rem;
		}
		
		/* 島しょ */
		.event-island-section .program-list .slick-arrow {
			background: linear-gradient(to right, rgba(212,236,253,1), rgba(212,236,253,0));
		}
		.event-island-section .program-list .slick-arrow::after {
			background-color: var(--blue-3);
		}
		.event-island-section .program-content-txt {padding-bottom: .6rem;}
		.event-island-section .pg2 small.notice {
			font-size: 1.175rem;
			white-space: nowrap;
		}
		
		.event-island-section .program-item.pg1::after {
			bottom: 3rem;
			right: 1.5rem;
			width: 10.5rem;
			height: 9rem;
		}
		.event-island-section .program-item.pg2::after {
			bottom: 4rem;
			right: 1.5rem;
			width: 11.5rem;
			height: 9rem;
		}
		.event-island-section .program-item.pg3::after {
			bottom: 2.5rem;
			right: 1.5rem;
			width: 11.0rem;
			height: 9.7rem;
		}
		
		.event-island-section .program-notice {
			margin-top: 3rem;
			font-size: 1.4rem;
			line-height: 1.5;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.inner-section.program-section {margin-top: 5rem;}
		.program-list {
			display: flex;
			justify-content: space-between;
			margin: 0 auto;
			width: calc(100% - 4rem);
			max-width: 92rem;
		}
		.program-item {
			padding: 3.5rem 2.5rem 2.5rem;
		}
		.program-item:nth-child(2) {transition-delay: .3s;}
		.program-item:nth-child(3) {transition-delay: .6s;}
		.program-content-txt .notice {font-size: 1.2rem;}
		.site-main .program-img {width: 30%;}

		/* 江戸東京 */
		.event-edo-section .program-item {
			width: calc(50% - 1rem);
			min-height: 29rem;
		}
		.event-edo-section .program-content-txt {
			margin-top: 1rem;
			width: 64.1%;
		}
		
		/* 多摩 */
		.event-tama-section .program-item {
			padding-bottom: 4rem;
			width: calc(33% - 1rem);
		}
		.event-tama-section .program-item::after {
			bottom: -7.5rem;
			right: 0;
			width: 14.6rem;
			height: 11.3rem;
		}
		.tama-program-link {margin-top: 12rem;}
		.event-tama-section .program-ttl-pcSmall {
			display: block;
			margin-left: -1em;
			width: calc(100% + 2em);
			font-size: 1.8rem;
			line-height: 1.5;
		}
		
		/* 島しょ */
		.event-island-section .program-item {
			padding-bottom: 2.5rem;
			width: calc(33% - 1rem);
		}
		.event-island-section .program-item::after {
			bottom: -5.5rem;
			right: 1rem;
			width: 12.6rem;
			height: 11.4rem;
		}
		.event-island-section .program-item.pg2::after {
			width: 13rem;
			height: 8.5rem;
		}
		.event-island-section .program-item.pg3::after {
			bottom: -4.3rem;
			width: 11.6rem;
			height: 10rem;
		}
		.island-program-link {margin-top: 12rem;}
		.event-island-section .program-ttl-pcSmall {
			display: block;
			margin-left: -1em;
			width: calc(100% + 2em);
			font-size: 1.8rem;
			line-height: 1.5;
		}

		/* .event-island-section .pg1 .program-content,
		.event-island-section .pg3 .program-content {transform: translateY(25%);} */

		.event-island-section .program-notice {
			margin-top: 12rem;
			font-size: 1.4rem;
		}

		@media (max-width: 870px) {
			.event-tama-section .program-ttl-pcSmall {
				font-size: 1.6rem;
			}
		}
		@media (max-width: 840px) {
			.program-item {
				padding: 3.5rem 1.5rem 2.5rem;
			}
			.event-edo-section .program-content-txt {
				font-size: 1.5rem;
				width: 63%;
			}
			.site-main .event-edo-section .program-img {width: 32%;}
			.event-tama-section .program-ttl .narrow {transform: scaleX(.8);}
		}
	}
}


/* .present-section */
@media all {
	.inner-section {
		position: relative;
		margin: 0 auto;
		border-radius: 2rem;
		background-color: #fff;
	}
	.present-section::before,
	.present-section::after {
		content: '';
		position: absolute;
		display: block;
		background: center / contain no-repeat;
	}
	.present-ttl {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-between;
	}
	.present-ttl::before,
	.present-ttl::after {
		content: '';
		position: absolute;
		top: 0;
		display: block;
		background: center / contain no-repeat;
	}
	.present-ttl::before {left: 0;}
	.present-ttl::after {right: 0; transform: scale(-1);}
	.present-ttl .ja {font-weight: 900;}
	.present-ttl .en {font-size: 2.2rem;}

	.present-lead {font-weight: bold;}
	.present-notice {
		width: 100%;
		font-size: 1.3rem;
		color: var(--green-3);
		line-height: 1.385;
	}
	.present-caption {
		text-align: center;
		line-height: 1.5;
		white-space: nowrap;
	}

	/* 江戸東京 */
	.event-edo-section .present-section::before,
	.event-edo-section .present-section::after {
		background-image: url(../img/present/pin-or.svg);
	}
	.event-edo-section .present-ttl::before {
		background-image: url(../img/present/star-or.svg);
	}
	.event-edo-section .present-ttl::after {
		background-image: url(../img/present/star-or2.svg);
	}
	.event-edo-section .present-ttl .en {color: var(--orange-3);}
	.event-edo-section .present-lead {color: var(--orange-2);}

	/* 多摩 */
	.event-tama-section .present-section::before,
	.event-tama-section .present-section::after {
		background-image: url(../img/present/pin-gr.svg);
	}
	.event-tama-section .present-ttl::before {
		background-image: url(../img/present/star-gr.svg);
	}
	.event-tama-section .present-ttl::after {
		background-image: url(../img/present/star-gr2.svg);
	}
	.event-tama-section .present-ttl .en {color: var(--green-5);}
	.event-tama-section .present-lead {color: var(--green-2);}

	/* 島しょ */
	.event-island-section .present-section::before,
	.event-island-section .present-section::after {
		background-image: url(../img/present/pin-bl.svg);
	}
	.event-island-section .present-ttl::before {
		background-image: url(../img/present/star-bl.svg);
	}
	.event-island-section .present-ttl::after {
		background-image: url(../img/present/star-bl2.svg);
	}
	.event-island-section .present-ttl .en {color: var(--blue-3);}
	.event-island-section .present-lead {color: var(--blue-2);}

	/* sp */
	@media (max-width: 767px) {
		.inner-section {
			padding: 4rem 1.5rem;
			width: 36rem;
		}
		.present-section {
			justify-content: center;
			margin-top: 8rem;
			padding: 2.5rem 1.5rem 2rem;
		}
		.present-section::before {content: none;}
		.present-section::after {
			width: 3.42rem;
			height: 3.78rem;
		}
		.present-section::after {
			top: -1.7rem;
			left: calc(50% - 1.71rem);
			transform: scaleX(-1);
		}

		.present-ttl {
			margin: .5rem auto 0;
			width: 26rem;
			height: 5rem;
		}
		.present-ttl::before,
		.present-ttl::after {
			width: 3.2rem;
			height: 4rem;
		}
		.present-ttl .ja {font-size: 2.8rem;}
		.present-ttl .en {transform: translateY(-.2rem);}

		/* .present-lead {
			margin-top: 1.5rem;
			margin-right: 12.5rem;
			font-size: 1.7rem;
			line-height: 1.5;
			font-feature-settings: "palt";
			text-align: justify;
		} */
		 .present-lead {
			margin: 1.5rem auto 0;
			font-size: 1.7rem;
			line-height: 1.5;
			font-feature-settings: "palt";
			text-align: center;
		 }

		/* .present-img {
			position: absolute;
			z-index: -1;
			top: 10rem;
			right: 1rem;
			width: 12rem;
			height: 10rem;
		} */
		.present-img {
			margin: 2rem auto 0;
			width: 20rem;
		}
		.present-notice  {
			margin-top: 2rem;
			padding-left: 1em;
			font-feature-settings: "palt";
			white-space: nowrap;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.inner-section {font-size: 1.6rem;}
		.present-section {
			justify-content: space-between;
			margin-top: 6rem;
			padding-top: 3rem;
			width: calc(100% - 4rem);
			max-width: 92rem;
			height: 28rem;
		}
		.present-section-inner {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 0 auto;
			width: calc(100% - 4rem);
			max-width: 76rem;
		}
		.present-section::before,
		.present-section::after {
			top: -1.6rem;
			width: 3.8rem;
			height: 4.2rem;
		}
		.present-section::before {left: 0;}
		.present-section::after {
			right: 0;
			transform: scaleX(-1);
		}

		.present-ttl {
			margin: .7rem auto 0;
			width: 31rem;
			height: 6rem;
		}
		.present-ttl::before,
		.present-ttl::after {
			width: 4rem;
			height: 5rem;
		}
		.present-ttl .ja {font-size: 3.6rem;}

		.present-lead {
			margin-top: 2rem;
			font-size: 2.1rem;
			line-height: 1.778;
			text-align: center;
		}

		.present-img {
			margin-top: .5rem;
			width: 30rem;
		}

		.present-notice {
			margin-top: -5rem;
			width: calc(100% - 4rem);
			max-width: 76rem;
		}

		/* tab */
		@media (max-width: 800px) {
			.present-section-inner {
				width: calc(100% - 8rem);
			}
			.present-lead {
				font-size: 1.8rem;
			}
			.present-img {
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				margin-left: 2rem;
				width: 28rem;
				height: 22rem;
			}
		}

		
	}
}

/* .requirement-section, workshop-section */
@media all {
	.requirement-section::before {
		content: '';
		position: absolute;
		display: block;
		background: center / contain no-repeat;
	}
	.flag-header-ttl {
		position: relative;
		/* height: 3.2rem; */
		padding: .65rem 1.2rem .675rem;
		font-weight: 600;
		font-size: 2rem;
		background-color: #000;
		color: #fff;
		line-height: 1.25;
		clip-path: polygon(0 0, 100% 0, calc(100% - .8rem) 50%, 100% 100%, 0 100%);
	}
	.requirement-dl {
		display: flex;
		flex-wrap: wrap;
		line-height: 1.867;
	}
	.requirement-dt,
	.access-dt,
	.workshop-dt {font-weight: bold;}
	
	.requirement-dt small {font-size: 1.2rem;}
	.requirement-dd,
	.access-dd,
	.workshop-dd {
		color: var(--green-3);
	}
	.requirement-dd .notice {
		font-size: 1.3rem;
		line-height: 1.385;
	}
	.requirement-dt,.requirement-dd{
		background-color: #fafafa;
	}
	.requirement-dt:nth-child(4n-1),
	.access-dt:nth-child(4n-1),
	.workshop-dt:nth-child(4n-1),
	.requirement-dd:nth-child(4n),
	.workshop-dd:nth-child(4n),
	.access-dd:nth-child(4n),
	.workshop-dd.price {background-color: #f4f4f4;}

	.workshop-dt.comingsoon {
		background-color: #fafafa;
		color: #4b5a5d!important;
		text-align: center;
		width: 100%;
		height: 9em;
	}
	@media (max-width: 767px) {
		.workshop-dt.comingsoon {height: 5em;}
	}
	.workshop-dd.comingsoon.price {text-align: center;}
	
	.program th {
		font-weight: 500;
		text-align: left;
	}
	.program td {padding-left: 1em;}

	.program.timetable caption {
		font-size: 110%;
		font-weight: bold;
		text-align: left;
	}
	.program.timetable + .program.timetable {margin-top: 2em;}
	.program.timetable :is(th, td) {
		padding-bottom: .75em;
		font-weight: 500;
		line-height: 1.5;
	}
	.program.timetable th {vertical-align: middle;}
	.program.timetable td {font-weight: bold;}
	.program-memo {
		display: block;
		font-weight: normal;
		font-size: 1.4rem;
	}
	.dot-list li {
		position: relative;
		padding-left: .3em;
		font-feature-settings: "palt";
	}
	.dot-list.biko li + li {margin-top: .5em;}
	.dot-list li::before {
		content: '･';
		position: absolute;
		top: 0;
		left: -.3em;
	}
	.dot-list li .notice:last-child {
		margin-bottom: .5em;
	}

	.access-header {margin-top: 6rem;}
	.access-section .access-header {margin-top: 0;}

	.access-map {
		overflow: hidden;
		border-radius: 2rem;
		aspect-ratio: 1;
	}
	.access-map iframe {
		width: 100%;
		height: 100%;
	}

	.access-dl,
	.workshop-dl {
		display: flex;
		flex-wrap: wrap;
		line-height: 1.867;
	}
	.access-dd, .workshop-dd {
		font-feature-settings: "palt";
		background-color: #fafafa;
	}
	.access-dt, .workshop-dt {
		width: 7.5rem;
		background-color: #fafafa;
	}
	.access-dd, .workshop-dd {
		width: calc(100% - 7.5rem);
	}

	.workshop-lead {
		font-weight: 500;
		line-height: 1.867;
	}

	.access-dd .dot-list li {line-height: 1.4;}
	.access-dd .dot-list li+li {margin-top: .6em;}

	.workshop-dd.price {font-weight: bold;}
	.workshop-dd a {text-decoration: underline; transition: opacity .3s;}
	.workshop-dd a:hover {opacity: .7;}

	.requirement-switch-list {
		display: flex;
		margin: .6rem 0 1.6rem;
		line-height: 1;
		gap: 1rem;
	}
	.requirement-switch {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-bottom: .2em;
		width: calc( ( 100% - 1rem ) / 2 );
		height: 3rem;
		border: 1px solid var(--green-3);
		font-weight: bold;
		color: var(--green-3);
		background-color: #fff;
		transition: .3s;
		position: relative;
	}
	.sw-am .requirement-switch.am,
	.sw-pm .requirement-switch.pm {
		background-color: var(--green-3);
		color: #fff;
		pointer-events: none;
	}
	.sw-am .requirement-switch.am::after,
	.sw-pm .requirement-switch.pm::after{
		content: '';
		display: block;
		position: absolute;
		bottom: -10px;
		left: 50%;
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid var(--green-3);
		transition: .5s;
	}
	.program.timetable {
		position: relative;
		z-index: 1;
	}
	.program.timetable th {
		position: relative;
		min-height: 3.2rem;
	}
	.pg-am, .pg-pm {
		position: absolute;
		display: inline-block;
		transition: .7s;
	}
	.sw-am .pg-pm, .sw-pm .pg-am {
		opacity: 0;
		visibility: hidden;
	}

	/* 江戸東京 */
	.event-edo-section .flag-header-ttl {background-color: var(--orange-2);}
	.event-edo-section .requirement-section::before {
		background-image: url(../img/event/edo/clip.svg?0612);
	}
	.event-edo-section .requirement-dt,
	.event-edo-section .access-dt,
	.event-edo-section .workshop-dt {
		color: var(--orange-2);
		display: flex;
		flex-direction: column;
		justify-content: center;
		font-size: 1.8rem;
		font-weight: bold;
	}

	/* 多摩 */
	.event-tama-section .flag-header-ttl {background-color: var(--green-2);}
	.event-tama-section .requirement-section::before {
		background-image: url(../img/event/tama/clip.svg);
	}
	.event-tama-section .requirement-dt,
	.event-tama-section .access-dt,
	.event-tama-section .workshop-dt {
		color: var(--green-2);
		display: flex;
		flex-direction: column;
		justify-content: center;
		font-size: 1.8rem;
		font-weight: bold;
	}
	
	/* 島しょ */
	.event-island-section .flag-header-ttl {background-color: var(--blue-2);}
	.event-island-section .requirement-section::before {
		background-image: url(../img/event/island/clip.svg);
	}
	.event-island-section .requirement-dt,
	.event-island-section .access-dt,
	.event-island-section .workshop-dt {
		color: var(--blue-2);
		display: flex;
		flex-direction: column;
		justify-content: center;
		font-size: 1.8rem;
		font-weight: bold;
	}
	.howto-list {text-align: center;}
	.howto-item a {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding-bottom: .75em;
		border: solid .2rem #00bbd8;
		border-radius: 4em;
		font-weight: bold;
		line-height: 1;
		color: #00bbd8;
	}
	.howto-item.airplane a {
		border-color: #7b90e7;
		color: #7b90e7;
	}
	.howto-item a small {
		position: absolute;
		left: 0;
		bottom: 0;
		display: block;
		width: 100%;
		height: 1em;
		line-height: 1;
	}
	.howto-content .notice {
		margin-top: 2em;
		line-height: 1.5;
	}
	.howto-content .notice + .notice {margin-top: .5em;}
	@media (max-width: 767px) {
		.howto-img {
			margin-top: 2rem;
		}
		.howto-list {margin-top: 3rem;}
		.howto-item {margin-top: 2rem;}
		.howto-item a {
			width: 24.2rem;
			height: 5.2rem;
			font-size: 1.6rem;
		}
		.howto-item a img {
			margin-right: .4rem;
			width: 3.8rem;
			height: 2.4rem;
			/* transition: filter .3s; */
		}
		.howto-item a small {
			bottom: .2rem;
			font-size: 1.2rem;
		}
	}
	@media (min-width: 768px) {
		.howto-img {
			margin: 3rem auto 0;
			max-width: 72rem;
		}
		.howto-list {margin-top: 3rem;}
		.howto-item {display: inline-block;}
		.howto-item + .howto-item {margin-left: 2rem;}
		.howto-item a {
			width: 28.2rem;
			height: 6rem;
			font-size: 1.8rem;
			transition: background-color .3s;
		}
		.howto-item a:hover {
			background-color: #00bbd8;
			color: #fff;
		}
		.howto-item a small {
			bottom: .6rem;
			font-size: 1.2rem;
		}
		.howto-item.airplane a:hover {background-color: #7b90e7;}
		.howto-item a img {
			margin-right: .4rem;
			width: 3.8rem;
			height: 2.4rem;
			/* transition: filter .3s; */
		}
		.howto-item a:hover img {
			filter: brightness(0) invert(1);
		}
	}

	
	/* sp */
	@media (max-width: 767px) {
		.requirement-section,
		.access-section,
		.workshop-section {
			padding: 5rem 2rem 4rem;
			font-size: 1.4rem;
		}
		.requirement-section {margin-top: 12rem;}
		.workshop-section {margin-top: 5rem;/* 10rem; */}

		.requirement-section::before {
			top: -2.8rem;
			left: calc(50% - 5.5rem);
			width: 11rem;
			height: 5.2rem;
		}
		.requirement-dl {
			margin-top: 2rem;
			font-feature-settings: "palt";
			line-height: 1.7;
		}
		.requirement-dt, .requirement-dd,
		.access-dt, .access-dd,
		.workshop-dt, .workshop-dd {
			padding-left: 1.5rem;
			padding-right: 1.5rem;
			/* padding: .5rem 1.5rem 1rem; */
			width: 100%;
		}
		.requirement-dt, .access-dt,.workshop-dt {
			padding-top: .8rem;
			width: 100%;
		}
		.requirement-dd, .access-dd,.workshop-dd {
			padding-bottom: .8rem;
			width: 100%;
		}
		.requirement-dt {
			border: none;
		}
		.requirement-dt small {
			display: inline-block;
			margin-left: .6rem;
		}
		.requirement-dd + .requirement-dt,
		.access-dd + .access-dt,
		.workshop-dd + .workshop-dt {
			margin-top: 0rem;
		}
		.requirement-dt:nth-child(4n-1),
		.access-dt:nth-child(4n-1),
		.workshop-dt:nth-child(4n-1) {
			margin-top: 0rem;
			padding-top: .8rem;
			padding-bottom: 0;
		}
		.requirement-dd:nth-child(4n),
		.access-dd:nth-child(4n),
		.workshop-dd:nth-child(4n) {
			padding-bottom: .8rem;
		}
		.requirement-dd {
			padding-top: .2rem;
			padding-bottom: .8rem;
		}
		.requirement-dd .notice {
			margin-top: .2rem;
			font-size: 1.2rem;
		}
		.program th {white-space: nowrap;}
		.program-memo {font-size: 1.3rem;}

		.access-section {margin-top: 6rem;}
		.access-map {
			margin-top: 2rem;
			width: 100%;
			aspect-ratio: 1;
		}
		.access-content {
			display: flex;
			flex-direction: column-reverse;
		}
		.access-dl,
		.workshop-content,
		.workshop-dl {margin-top: 2rem;}

		.requirement-dt,
		.access-dt,
		.workshop-dt {font-size: 1.6rem;}

		.workshop-dd.price {padding-top: .8rem;}

		.pg-am, .pg-pm {
			top: 1rem;
			left: 1.5rem;
		}

		/* 江戸東京 */
		.event-edo-section .re-1 {
			top: -9rem;
			right: 1rem;
			width: 12rem;
		}
		.event-edo-section .re-2 {display: none;}
		.event-edo-section .re-3 {display: none;
			bottom: -10rem;
			right: 1rem;
			width: 13rem;
		}
		.event-edo-section .re-4 {display: none;}
		.event-edo-section .re-5 {display: none;}

		.event-edo-section .re-6 {display: none;
			bottom: -28rem;
			left: 2rem;
			width: 15.8rem;
		}

		.event-edo-section .workshop-img {
			margin: 1.6rem auto;
			width: 30rem;
		}

		/* tableをblock化 */
		.program.timetable,
		.program.timetable caption,
		.program.timetable tbody,
		.program.timetable tr,
		.program.timetable :is(th, td) {
			display: block;
			padding: 0;
			width: 100%;
		}
		.program.timetable tr + tr th {
			border-top: max(1px, .1rem) dashed var(--gray-1);
		}
		.program.timetable tr th {
			padding-top: 1rem;
		}
		.program.timetable :is(th, td) {
			width: calc(100% + 3rem);
			margin-left: -1.5rem;
			padding-left: 1.5rem;
		}
		/* .program.timetable th {padding-bottom: .5rem;} */
		.program.timetable td {padding-bottom: 1rem;}

		/* 多摩 */
		.deco.tama-1 {
			top: -6.5rem;
			right: -1.7rem;
			width: 14.8rem;
		}
		.deco:is(.tama-2, .tama-3, .tama-4, .tama-5, .tama-6, .tama-7, .tama-t1, .tama-t2, .tama-t3, .tama-t4) {display: none;}

		/* 島しょ */
		.event-island-section .requirement-dl,
		.event-island-section .access-dl {margin-top: 0;}
		.event-island-section .access-map {
			aspect-ratio: unset;
			height: 21rem;
		}
		.howto-header {margin-top: 4rem;}
		.deco.island-1 {
			top: -6rem;
			right: -1rem;
			width: 14rem;
		}
		.event-island-section .requirement-dd table:first-child {margin-top: 1em;}
		.deco.deco:is(.island-2, .island-3, .island-4, .island-5, .island-6, .island-7, .island-8) {display: none;}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.requirement-section,
		.access-section,
		.workshop-section {
			margin: 18rem auto 0;
			padding: 6rem 0;
			width: calc(100% - 4rem);
			max-width: 92rem;
			border-radius: 2rem;
		}
		.access-section {margin-top: 4rem;}
		.workshop-section {margin-top: 8rem;}
		.requirement-section::before {
			top: -5rem;
			left: calc(50% - 7.5rem);
			width: 15rem;
			height: 7rem;
		}
		.inner-section-inner {
			margin: 0 auto;
			width: calc(100% - 4rem);
			max-width: 76rem;
		}
		.requirement-dt, .requirement-dd,
		.access-dt, .access-dd,
		.workshop-dt, .workshop-dd {
			padding: 1.25rem 0;
		}
		.requirement-dt,
		.workshop-dt,
		.access-dt {
			width: 14rem;
			text-align: center;
		}
		.requirement-dd {padding-right: 1em;}
		.requirement-dd,
		.workshop-dd,
		.access-dd {width: calc(100% - 14rem);}
		.requirement-dt small {
			display: block;
			margin-top: -.6rem;
		}

		.requirement-dd .notice {margin-top: .5rem;}
		.access-content,
		.workshop-content {
			display: flex;
			justify-content: space-between;
			margin-top: 2rem;
		}
		.workshop-content {
			align-items: flex-start;
			align-items: center;
			flex-wrap: wrap;
		}
		.access-section .access-content {flex-direction: row-reverse;}
		.access-map {width: calc(100% - 41rem);}
		.workshop-img {
			width: calc(50% - 3rem);
		}
		.access-dl {width: 39rem;}
		.workshop-dl {width: calc(50% + 1rem);}
		.access-dd, .workshop-dd {padding-right: 1em;}
		.workshop-lead {
			margin-bottom: 2em;
			width: 100%;
			font-feature-settings: "palt";
			letter-spacing: .065em;
			letter-spacing: .01em;
		}
		.workshop-dd.price {
			width: 100%!important;
			padding-left: 1em;
			text-align: center;
		}

		.program th {width: 8em;}
		.program.timetable {width: 100%;}

		.program.timetable tr + tr :is(th, td) {
			border-top: max(1px, .1rem) dashed var(--gray-1);
		}
		.program.timetable :is(th, td) {
			padding-top: .75em;
		}
		.pg-am, .pg-pm {
			top: calc(50% - .75em);
			left: 0;
		}

		.accordion :where(.re-4, .re-5) {opacity: 0; transition: opacity .5s;}
		.accordion.open :where(.re-4, .re-5) {opacity: 1;}

		.requirement-switch:hover {
			background-color: var(--green-3);
			background-color: #95b3b7;
			border-color: #95b3b7;
			color: #fff;
			cursor: pointer;
		}

		.workshop-end {
			margin-top: 5rem;
			padding-bottom: 0;
		}

		dd.one-line {
			display: flex;
			align-items: center;
		}


		/* 江戸東京 */
		.event-edo-section .requirement-dt {border-color: #f6cbb9;}
		.event-edo-section .re-1 {
			top: -12rem;
			right: 1.5rem;
			width: 13.9rem;
		}
		.event-edo-section .re-2 {
			top: -4rem;
			left: -22rem;
			left: max(-22rem, calc(50% - 50vw + 1.5rem));
			width: 18.2rem;
		}
		@media (max-width: 1160px) {
			.event-edo-section .re-2 {
				top: -13rem;
				left: 2rem;
				width: 14rem;
			}
		}
		.event-edo-section .re-3 {
			top: 46rem;
			right: -20rem;
			right: max(-20rem, calc(50% - 50vw + 4rem));
			width: 23.1rem;
		}
		.event-edo-section .re-4 {
			top: 94rem;
			left: -31rem;
			left: max(-31rem, calc(50% - 50vw - 6.5rem));
			width: 30.1rem;
		}
		.event-edo-section .re-5 {
			/* bottom: 43rem; */
			top: 165rem;
			right: -18.5rem;
			right: clamp(-18.5rem, calc(50% - 50vw + 5.5rem), -3rem);
			width: 15.6rem;
		}

		.event-edo-section .re-6 {
			top: .5rem;
			left: -10em;
			width: 20rem;
		}
		.event-edo-section .re-7 {
			bottom: 8rem;
			right: 3rem;
			width: 19.4rem;
		}
		/* 江戸東京tab */
		@media (max-width: 1180px) {
			.event-edo-section :is(.re-3, .re-4, .re-5) {
				opacity: 0;
			}
			.event-edo-section .re-6 {
				top: -12rem;
				left: 1rem;
				width: 14rem;
			}
			.event-edo-section .re-7 {
				width: 10.5rem;
				right: 6rem;
				bottom: 3rem;
			}
		}
		/* 江戸東京tab2 */
		@media (max-width: 1024px) {
			.event-edo-section .re-1 {
				width: 10.5rem;
				top: -9rem;
			}
			.event-edo-section .re-3 {
				top: 53rem;
				right: -1rem;
				width: 17.5rem;
			}
			.event-edo-section .re-5 {opacity: 0;}
		}

		/* 多摩 */
		.event-tama-section .access-content {align-items: flex-start;}
		.tama.requirement-section {margin-top: 16rem;}
		.deco.tama-1 {
			top: -7.5rem;
			right: -3rem;
			width: 20rem;
		}
		.deco.tama-2 {
			top: 50rem;
			left: clamp(84rem, calc(50vw + 30rem), 93rem);
			width: 18rem;
		}
		.deco.tama-3 {
			top: 140rem;
			right: 87rem;
			width: 19.5rem;
			opacity: 0;
		}
		.deco.tama-4 {
			top: 173rem;
			left: clamp(84rem, calc(50vw + 30rem), 89rem);
			width: 16.9rem;
			opacity: 0;
		}
		.deco.tama-5 {
			bottom: -10rem;
			right: clamp(84rem, calc(50vw + 30rem), 98rem);
			width: 13.5rem;
		}
		.deco.tama-6 {
			bottom: -69rem;
			left: clamp(86rem, calc(50vw + 33rem), 98rem);
			width: 13.4rem;
		}

		.deco.tama-t1 {
			top: -6rem;
			right: clamp(85rem, calc(50vw + 32rem), 102rem);
			width: 8.7rem;
		}
		.deco.tama-t2 {
			top: 16rem;
			left: clamp(85rem, calc(50vw + 35rem), 105rem);
			width: 7rem;
		}
		.deco.tama-t3 {
			top: 122rem;
			right: clamp(85rem, calc(50vw + 35rem), 96rem);
			width: 10.2rem;
			opacity: 0;
		}
		.deco.tama-t4 {
			bottom: 16rem;
			left: max(.5rem, calc(50vw - 66rem));
			width: 13rem;
		}

		.event-tama-section.accordion.open .deco:is(.tama-3, .tama-4, .tama-t3) {opacity: 1;}

		/* 多摩tab */
		@media (max-width: 1099px) {
			.deco:is(.tama-2, .tama-3, .tama-4, .tama-5, .tama-t2, .tama-t3)
			{opacity: 0!important;}

			.deco.tama-1 {
				top: -9rem;
				right: 2rem;
				width: 18rem;
			}
			.deco.tama-6 {
				bottom: -55rem;
				left: auto;
				right: -1rem;
				width: 10rem;
			}
			.deco.tama-t1 {
				top: -6rem;
				right: auto;
				left: 2rem;
				width: 7rem;
			}
			.deco.tama-t4 {
				bottom: 12rem;
				left: max(4rem, calc(50vw - 44rem));
				width: 10rem;
			}
		}

		/* 島しょ */
		.event-island-section .access-map {
			aspect-ratio: unset;
			height: 23rem;
		}
		.howto-header {
			margin-top: 4rem;
		}
		.event-island-section .workshop-dt {width: 11.5rem;}
		.event-island-section .workshop-dd {width: calc(100% - 11.5rem);}
		.deco.island-1 {
			top: -10rem;
			right: 3.2rem;
			width: 22rem;
		}
		.deco.island-2 {
			top: 8rem;
			right: clamp(85rem, calc(50vw + 25.5rem), 97rem);
			width: 20rem;
		}
		.deco.island-3 {
			top: 49rem;
			left: clamp(85rem, calc(50vw + 27rem), 88rem);
			width: 19rem;
		}
		.deco.island-4 {
			top: 123rem;
			right: clamp(85rem, calc(50vw + 30rem), 95rem);
			width: 16rem;
			opacity: 0;
		}
		.event-island-section.accordion.open .deco.island-4 {opacity: 1;}

		.deco.island-5 {
			top: 9rem;
			left: clamp(85rem, calc(50vw + 28rem), 97rem);
			width: 17.4rem;
		}
		.deco.island-6 {
			top: 20rem;
			right: min(calc(50vw + 27rem), 96rem);
			width: 18.2rem;
		}

		.deco.island-7 {
			top: 20rem;
			left: clamp(85rem, calc(50vw + 31rem), 99rem);
			width: 13rem;
		}
		.deco.island-8 {
			bottom: 10rem;
			left: max(2rem, calc(50vw - 64rem));
			width: 8.4rem;
		}
		
		/* 島しょtab */
		@media (max-width: 1099px) {
			.deco:is(.island-2, .island-3, .island-4, .island-5, .island-7)
			{opacity: 0!important;}

			.deco.island-1 {
				top: -8rem;
				width: 17.6rem;
			}
			.deco.island-6 {
				top: 24rem;
				right: calc(100% - 12.56rem);
				width: 14.56rem;
			}
		}
	}
}

/* .requirement-section.accordion */
@media only screen {
	.accordion-opener {
		position: absolute;
		z-index: 2;
		bottom: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		background-color: #fff;
		transition: .5s;
	}
	.open .accordion-opener {
		opacity: 0;
		visibility: hidden;
	}
	.accordion-opener::before {
		content: '';
		position: absolute;
		bottom: 100%;
		left: 0;
		display: block;
		width: 100%;
		height: 6rem;
		background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
	}
	.accordion-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		padding-bottom: 1px;
		width: 28rem;
		height: 5rem;
		border-radius: 2.5rem;
		font-size: 1.8rem;
		font-weight: bold;
		color: #fff;
		transition: .3s;
	}
	.accordion-btn:hover {cursor: pointer;}

	/* 江戸東京歴史ツーリズム */
	.event-edo-section .accordion-btn {background-color: var(--orange-1);}
	.event-edo-section .accordion-btn:hover {background-color: var(--orange-2);}

	/* 多摩 */
	.event-tama-section .accordion-btn {background-color: var(--green-5);}
	.event-tama-section .accordion-btn:hover {background-color: var(--green-2);}

	/* 島しょ */
	.event-island-section .accordion-btn {background-color: var(--blue-3);}
	.event-island-section .accordion-btn:hover {background-color: var(--blue-2);}

	/* sp */
	@media (max-width: 767px) {
		.accordion .requirement-section-inner {
			overflow: hidden;
			height: calc(100vh - 27.5rem);
			min-height: 105vw;
		}
		.accordion-opener {
			height: 8rem;
			border-bottom-left-radius: 2rem;
			border-bottom-right-radius: 2rem;
		}
		.accordion-closer {
			margin: 4rem auto 0;
			width: 24rem;
		}
		.accordion-btn {
			width: 24rem;
			height: 4rem;
			font-size: 1.6rem;
		}
	}
	/* tab & pc */
	@media (min-width: 768px) {
		.accordion .requirement-section-inner {
			overflow: hidden;
			height: 73rem;
		}
		.accordion-opener {
			height: 10rem;
			border-radius: 2rem;
		}
		.accordion-closer {
			margin: 5rem auto 0;
			width: 28rem;
		}
		.accordion-btn {
			width: 28rem;
			height: 5rem;
			font-size: 1.8rem;
		}
	}
}

/* .event-other-btn */
@media all {
	.event-other {
		margin: 0 auto;
	}
	/* sp */
	@media only screen and (max-width: 767px) {
		.event-bottom-link {
			margin-top: 4rem;
		}
		.event-edo-section .re-7 {display: none;}
		.event-other-btn {margin-top: 4rem;}
	}
	/* pc & tab */
	@media (min-width: 768px) {
		.event-other-btn {margin-top: 8rem;}
	}
}

/* .voice-section */
@media all {
	.voice-section {background-color: #ebf9ff;}
	.voice-section::before {
		content: '';
		position: absolute;
		left: 0;
		display: block;
		width: 100%;
		background: center / cover no-repeat;
	}
	.voice-ttl .en {
		position: relative;
		display: inline-block;
		color: var(--blue-1);
	}
	.voice-ttl .en::after {
		content: '';
		/* position: absolute;
		bottom: 0; */
		left: 100%;
		display: inline-block;
		background: center / contain no-repeat url(../img/voice/megaphone.svg);
	}
	.voice-ttl div{
		display: inline-block;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	.voice-ttl .ja {
		display: block;
		margin-top: 1.5em;
		text-align: center;
	}
	.voice-ttl .ja small {
		display: block;
		margin-top: .8rem;
		font-size: 90%;
		font-weight: 400;
		color: var(--green-3);
	}

	.voice-balloon {
		position: relative;
		background-color: #fff;
		border-radius: 3rem;
		line-height: 1.8667;
	}
	.voice-balloon::before {
		content: '';
		position: absolute;
		z-index: -1;
		display: block;
		background: center / contain no-repeat;
	}
	.voice-balloon-inner {font-weight: bold;}
	
	.voice-info {text-align: right;}
	.voice-hash {
		position: absolute;
		left: 0;
		bottom: -1.25rem;
		text-align: center;
		width: 100%;
	}
	.voice-hash span{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0 1.5em 1px;
		height: 2.5rem;
		border-radius: 5em;
		font-size: 1.3rem;
		color: #fff;
		line-height: 1;
		font-weight: bold;
	}
	.voice-hash.orange span {background-color: var(--orange-1);}
	.voice-hash.green span {background-color: var(--green-1);}
	.voice-hash.blue span {background-color: var(--blue-1);}

	.voice-img img {
		-webkit-mask-size: cover;
		mask-size: cover;
	}
	.v1 .voice-img img {
		-webkit-mask-image: url(../img/voice/mask1.svg);
		mask-image: url(../img/voice/mask1.svg);
		aspect-ratio: 82 / 54;
	}
	/* .v2 .voice-img {mask-image: url(../img/voice/mask2.svg);} */
	.v3 .voice-img img {
		-webkit-mask-image: url(../img/voice/mask3.svg);
		mask-image: url(../img/voice/mask3.svg);
		aspect-ratio: 680 / 485;
	}
	
	/* sp */
	@media only screen and (max-width: 767px) {
		.voice-section {padding: 7.5rem 0 12rem;}
		.voice-section::before {
			top: -1.1rem;
			height: 1.2rem;
			background-image: url(../img/voice/before-sp.svg);
		}
		
		.voice-ttl {margin-left: 2rem;}
		.voice-ttl .en {font-size: 7.2rem;}
		.voice-ttl .en::after {
			margin-left: .5rem;
			width: 6.7rem;
			height: 5.6rem;
		}
		.voice-ttl .ja {font-size: 1.4rem;}

		.voice-list {margin-top: 3rem;}
		.voice-item {
			display: flex;
			flex-direction: column-reverse;
		}
		.voice-item + .voice-item {margin-top: 6rem;}

		.voice-item.v3 {
			display: flex;
			flex-direction: column;
		}
		.voice-balloon {
			margin: -1.8rem auto 0;
			padding: 3rem;
			width: 32rem;
		}
		.voice-balloon::before {
			bottom: calc(100% - 1px);
			width: 6.2rem;
			height: 4rem;
			background-image: url(../img/voice/balloon-edge-sp.svg);
		}
		:is(.v1, .v3) .voice-balloon::before {right: 7rem;}
		.v2 .voice-balloon::before {
			left: 7rem;
			transform: scaleX(-1);
		}
		.v3 .voice-balloon {order: 2;}

		.voice-fig {
			position: relative;
			z-index: 6;
		}
		.v1 .voice-fig {
			margin-top: -1rem;
			margin-left: 5rem;
			width: 13rem;
		}
		.v2 .voice-fig {
			margin-top: -1rem;
			margin-left: auto;
			margin-right: 5rem;
			width: 13.5rem;
		}
		.v3 .voice-fig {
			order: 1;
			margin-left: 5rem;
			width: 9.7rem;
		}

		.v1 .voice-img {
			margin-left: 3rem;
			width: 40rem;
		}
		.v3 .voice-img {
			order: 3;
			margin-top: 8rem;
			margin-left: -3rem;
			width: 40rem;
		}
	}
	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.voice-section {
			padding-top: 8rem;
			background: center no-repeat #ebf9ff url(../img/voice/bg-pc.png);
			background-position-y: 38rem;
		}
		.voice-section::before{
			top: -1.7rem;
			height: 1.8rem;
			background-image: url(../img/voice/before-pc.svg);
		}

		.voice-section-inner {
			overflow: hidden;
			padding-bottom: 12rem;
		}

		.voice-ttl {
			margin: 0 auto;
			width: calc(100% - 4rem);
			max-width: 110rem;
		}
		.voice-ttl .en {font-size: 8.8rem;}
		.voice-ttl .en::after {
			width: 8.9rem;
			height: 7.4rem;
		}
		
		.voice-list {
			margin: -12rem auto 0;
			width: calc(100% - 4rem);
			max-width: 110rem;
		}
		.voice-item {
			display: flex;
			align-items: flex-end;
		}
		.voice-item.v2 {
			margin-top: 1rem;
			padding-left: 16rem;
			justify-content: center;
		}
		.voice-item.v3 {
			margin-top: -3rem;
			flex-direction: row-reverse;
		}
		.voice-balloon, .voice-fig, .voice-img {flex-shrink: 0;}
		.voice-balloon {
			padding: 4rem;
			width: 40rem;
		}
		.v2 .voice-balloon {margin-bottom: 17rem;}
		.v1 .voice-balloon {margin-bottom: 17rem;}
		.v3 .voice-balloon {margin-bottom: 13rem;}

		.voice-balloon::before {
			top: 3.5rem;
			width: 7.2rem;
			height: 5.8rem;
			background-image: url(../img/voice/balloon-edge-pc.svg);
		}
		:is(.v1, .v2) .voice-balloon::before {right: -5rem;}
		.v3 .voice-balloon::before {
			left: -5rem;
			transform: scaleX(-1);
		}
		
		:is(.v2, .v3) .voice-fig {margin-bottom: 5rem;}
		.v2 .voice-fig {
			margin-left: 3rem;
			width: 15.6rem;
		}
		.v1 .voice-fig {
			margin-bottom: 10rem;
			margin-left: 6rem;
			width: 16.4rem;
		}
		.v3 .voice-fig {
			width: 11.9rem;
			margin-right: 2.5rem;
		}

		.v1 .voice-img img {width: 82rem;}
		.v3 .voice-img {transform: translateX(-10.8rem);}
		.v3 .voice-img img {width: 68rem;}
		

		@media (max-width: 1280px) {
			.voice-section {background-size: 125%;}
		}
		@media (min-width: 1601px) {
			.voice-section {background-size: cover;}
		}

		/* tab */
		@media (max-width: 979px) {
			/* .voice-list {margin-top: 2rem;}
			.voice-item.v3 {margin-top: 0;}
			.voice-balloon {
				padding: 3rem;
				width: 30rem;
			}
			.voice-balloon::before {
				top: 5rem;
				width: 7.2rem;
				height: 5.8rem;
			}
			.v1 .voice-balloon {margin-bottom: 13rem;}
			.v2 .voice-balloon {margin-bottom: 2rem;}
			.v3 .voice-balloon {margin-bottom: 10rem;}
			.v1 .voice-fig {
				margin-left: 2.4rem;
				width: 12rem;
			}
			.v2 .voice-fig {
				width: 12.4rem;
				margin-right: .6rem;
			}
			.v3 .voice-fig {
				width: 9rem;
				margin-left: 2.4rem;
			}
			.v1 .voice-img {
				width: 62rem;
				transform: translate(-8rem, -13rem);
			}
			.v2 .voice-img {width: 58rem;}
			.v3 .voice-img {
				width: 56rem;
				transform: translateX(-2rem);
			} */
			
		}

		/* 微調整 2025.06.11 */
		@media (max-width: 1399px) {
			.v1 .voice-img {width: 82rem;height: 54rem;}
			.v1 .voice-img img {width: 58.5714vw;}

			.v3 .voice-img {
				width: 68rem;
				height: 48.5rem;
				transform: translateX(calc(50% - 50vw + 25rem));
			}
			.v3 .voice-img img {width: 56.667vw;}
			@media (max-width: 1200px) {
				:is(.v1, .v3) .voice-balloon {width: 33.33vw;}
			}

			@media (max-width: 979px) {
				.voice-list {margin-top: 3rem;}
				.v1 .voice-img {
					transform: translateX(-8vw);
					margin-top: -4rem;
					margin-bottom: 15rem;
					height: auto;
				}
				.v1 .voice-balloon::before {
					top: auto;
					bottom: 4rem;
				}
				.v1 .voice-fig {
					margin-bottom: 5rem;
					margin-left: 3rem;
					width: 12.4rem;
				}

				.v2 .voice-balloon {margin-bottom: 7rem;}
				.v2 .voice-fig {
					margin-bottom: 0;
					margin-left: 2.4rem;
					width: 12rem;
				}

				.voice-item.v3 {margin-top: 0;}
				.v3 .voice-fig {
					margin-top: 19rem;
					margin-bottom: auto;
				}
				.v3 .voice-img {
					transform: none;
					height: auto;
				}
				.v3 .voice-img img {
					display: block;
					margin-left: auto;
				}
				.v3 .voice-balloon {
					margin-top: 7rem;
					margin-bottom: auto;
				}
				.v3 .voice-fig {
					width: 9rem;
					margin-left: 2.4rem;
				}
			}
		}
	}
}

/* #side-float */
@media all {
	#side-float {
		position: fixed;
		right: -6rem;
		top: 28rem;
		z-index: 99;
		transition: right .25s;
	}
	#side-float.active {right: 0;}

	#side-float a {
		width: 6rem;
		display: block;
	}

	@media (max-width: 1400px) {
		#side-float {top: max(20vw, 22rem);}
		#side-float a {
			width: 4.286vw;
			min-width: 5rem;
		}
	}

	@media (max-width: 767px) {
		#side-float {
			top: 19rem;
			bottom: auto;
		}
		#side-float a + a {margin-top: 1.5rem;}
		#side-float a {
			width: 4.2rem;
		}

	}

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


/* 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;
			}
		}
	}
}


/* .bnr-section */
@media all {
	.bnr-section {
		background-color: #fff;
	}
	.bnr-section::before {
		content: '';
		position: absolute;
		left: 0;
		display: block;
		width: 100%;
		background: center / cover no-repeat;
	}
	.bnr-section img {aspect-ratio: 10 / 4;}

	/* sp */
	@media (max-width: 767px) {
		.bnr-section {
			padding: 10rem 0 10rem;
		}
		.bnr-section::before {
			top: -1.1rem;
			height: 1.2rem;
			background-image: url(../img/banner/before-sp.svg);
		}

		.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-section::before{
			top: -1.7rem;
			height: 1.8rem;
			background-image: url(../img/banner/before-pc.svg);
		}

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

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

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

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

/* .totop-section */
@media all {
	
	.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;
	}

	.totop-section {
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #ABDDBF;
	}
	.btn-totop .btn {
		border-color: #006E55;
		color: #006E55;
		border-radius: 99em;
	}
	.btn-totop .btn::before {
		background-image: url(../img/common/btn-arrow-green.svg);
	}

	/* sp */
	@media (max-width: 767px) {
		.btn {font-size: 2rem;}
		.btn {font-size: 1.5rem;}
		.btn::before {
			top: calc(50% - 1.25rem);
			width: 2.5rem;
			height: 2.5rem;
		}
		.totop-section {
			height: 20rem;
		}
	}

	/* pc & tab */
	@media (min-width: 768px) {
		.btn {font-size: 2rem;}
		.btn:hover {
			background: #000;
			color: #fff;
		}
		.btn:hover::before {
			background-image: url(../img/common/btn-arrow-w.svg);
		}
		.totop-section {
			height: 31rem;
		}
		.btn-totop .btn:hover {
			background-color: #006E55;
			color: #fff;
		}
		.btn-totop .btn:hover::before {
			background-image: url(../img/common/btn-arrow-w.svg);
		}
	}
}


/* deco */
@media all {
	.deco {
		position: absolute;
		pointer-events: none;
		transition: opacity .5s;
	}
	.deco img {width: 100%;}

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

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

}

/* inview */
@media not print {
	.inview {
		position: relative;
	}
	.fadeIn {
		transition: opacity 1.5s, transform 1.5s;
		opacity: 0;
		transform: translateY(5rem);
	}
	.popIn {
		opacity: 0;
		transform: scale(0);
		transition: transform .6s cubic-bezier(0.42, 0, 0.47, 1.3), opacity .8s;
	}
	.popIn.is-show {
		opacity: 1;
		transform: scale(1);
	}

	.fv-ttl-img.onload {
		transition: opacity 1s linear, filter 1s linear, transform 1s ease-in-out;
		opacity: 0;
		transform: translateY(7rem);
	}
	@media (max-width: 767px) {
		.fv-ttl-img.onload {transform: translateY(4rem);}
		.spInview {position: relative;}
		.spFadeIn {
			transition: opacity 1.5s, transform 1.5s;
			opacity: 0;
			transform: translateY(5rem);
		}
		.spFadeIn.is-show {
			opacity: 1;
			transform: translateY(0);
		}
	}

	.fadeIn.is-show,
	.fv-ttl-img.onload.is-show {
		opacity: 1;
		transform: translateY(0);
	}

	/* tab & pc */
	@media (min-width: 768px) {
		.nonSpInview {position: relative;}
		.nonSpFadeIn {
			transition: opacity 1.5s, transform 1.5s;
			opacity: 0;
			transform: translateY(5rem);
		}
		.nonSpFadeIn.is-show {
			opacity: 1;
			transform: translateY(0);
		}
	}

}


/********** 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;
		}
	}
}



/* z-index */
@media all {
	.inview {z-index: 5;}
	.fv-frame {z-index: 1;}
	.fv-ttl {z-index: 2;}
	.fv-slider-area {z-index: 3;}

	.lead-section {z-index: 2;}
	.news-section {z-index: 3;}
	.news-section-inner::before,
	.news-section-inner::after {z-index: 1;}
	.news-deco-contents .deco,
	.event-deco-contents .deco {z-index: 3;}
	.event-section {z-index: 2;}
	.workshop-section {z-index: 1;}
	.voice-section {z-index: 4;}
	.bnr-section {z-index: 5;}
	

	.carousel {z-index: -1;}
}



/* アコーディオン切替え */
.event-section:not(.accordion) .accordion-opener {display: none;}

/* newsの高さ */
@media only screen and (max-width: 767px) {
	.news-section-inner {
		padding-bottom: 2.9rem;
		height: 34.5rem;
	}
	.news-section-inner::before {
		height: 25.116rem;
	}
}
@media print,
(min-width: 768px) {
	.news-section {height: 34rem;}
	.news-section-inner {height: 25rem;}
	/* 行数増えたら変更する */
	/* .news-list {
		padding: 1em 0;
		height: auto;
	} */
}
/* 開発用 */
#onetrust-consent-sdk {display: none!important;}


.co-op-text{
	margin: 40px auto 0;
	width: calc(100% - 4rem);
	max-width: 76rem;
	display: flex;
	justify-content: center;
	line-height: 1.5;
	font-size: 2rem;
	font-weight: bold;

}
@media only screen and (max-width: 767px) {
	.co-op-text{
		font-size: 1.4rem;
	}
}