@charset "UTF-8";

@media (min-width: 640px){
.pc-only{display: block;}
.sp-only{display: none;}
}
@media (max-width: 639px){
	.pc-only{display: none;}
	.sp-only{display: block;}
}
@media (max-width: 400px){
	.pc-only{display: none;}
	.sp-only{display: block;}
}
@media (max-width: 320px){
	.pc-only{display: none;}
	.sp-only{display: block;}
}
.bg-tile{
	background: url(/ja/action/tokyo-tomorrow-project-2023.tokyotokyo.jp/assets/img/2023/bg.png);
	/*background: url(../img/2023/bg.png);*/
	background-size: 20px;
}
.fl_w_sb{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.text-center{
	text-align: center;
}
.wrap{
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding: 0 2vw;
}

.wrap-400{
	max-width: calc(400px + 4vw );
}
.wrap-800{
	max-width: calc(800px + 4vw );
}
.wrap-1000{
	max-width: calc(1000px + 4vw );
}
.wrap-1200{
	max-width: calc(1200px + 4vw );
}
.wrap-1400{
	max-width: 1400px;
}
.wrap img{
	width: 100%;
}

.btn-y{
	background: #ffe61b;
	color: #06a4f6;
	border-radius: 10px;
	padding: 4.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-size: 2.4rem;
	font-weight: bold;
	border-bottom: 8px solid #d0b211;
}
.btn-y figure{
	width: 37px;
	height: 37px;
	top: 37px;
	left: 37px;
	position: absolute;
	left: 30px;
	top: calc(50% - 18.5px);
}
.btn-y figure img{
	width: 37px;
	height: 37px;
	object-fit: contain;
}
.btn-y::after{
	content: "";
	width: 1rem;
	height: 1rem;
	border-top: 2px solid #06a4f6;
    border-left: 2px solid #06a4f6;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
	position: absolute;
	right: 2rem;
	top: 50%;
	margin-top: -5px;
}
.btn-b{
	background: #06a4f6;
	color: #fff;
	border-radius: 10px;
	padding: 4.2rem;
	display: flex;
	justify-content: center;
	position: relative;
	font-size: 2.4rem;
	font-weight: bold;
	border-bottom: 8px solid #097dd1;
}
.btn-b figure{
	width: 37px;
	height: 37px;
	position: absolute;
	/*left: 30px;*/
	right: 2rem;
	top: calc(50% - 16px);
}
.btn-b figure img{
	width: 32px;
	height: 32px;
	object-fit: contain;
}
/*
.btn-b::after{
	content: "";
	width: 1rem;
	height: 1rem;
	border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
	position: absolute;
	right: 2rem;
	top: 50%;
	margin-top: -5px;
}
*/
.btn-b:hover, .btn-y:hover{
	box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.35);
}
@media (max-width: 1023px){

}
@media (max-width: 639px){
	.btn-b{
		padding: 2.5rem 1rem;
		font-size: 1.6rem;
		text-align: center;
	}
	.btn-y{
		padding: 2.5rem 1rem;
		font-size: 1.4rem;
	}
	.btn-b figure{
		width: 2rem;
		height: 2rem;
		top: 50%;
		right: 1.2rem;
		margin: -1rem 0 0 !important;
	}
	.btn-y figure{
		width: 2rem;
		height: 2rem;
		top: 50%;
		left: 1.2rem;
		margin: -1rem 0 0 !important;
	}
	.btn-b figure img, .btn-y figure img{
		width: 2rem;
		height: 2rem;
	}
	.btn-y::after{
		border-top: 1px solid #06a4f6;
		border-left: 1px solid #06a4f6;
		right: 1.2rem;
	}
	.btn-b::after{
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		right: 1.2rem;
	}
}
@media (max-width: 400px){
	.btn-b, .btn-y {
		padding: 1rem 1rem;
		font-size: 1.3rem;
	}
	.btn-b figure, .btn-y figure {
		left: 0.8rem;
	}
}
@media (max-width: 320px){
	.btn-b, .btn-y {
		padding: 1rem 1rem;
		font-size: 1.2rem;
	}
	.btn-b figure img, .btn-y figure img {
		width: 1.5rem;
		height: 1.5rem;
	}
	.btn-b figure, .btn-y figure {
		top: calc(50% + 0.2rem);
	}
	.btn-b::after {
		width: 0.5rem;
		height: 0.5rem;
		top: calc(50% + 0.2rem);
	}
}
/*common*/
#side-float{
	position: fixed;
	right: 0;
	bottom: 300px;
	z-index: 9;
}
#side-float a{
	width: 80px;
	display: block;
}
@media (max-width: 1023px){
	#side-float a{
		width: 60px;
	}
}
@media (max-width: 639px){
	#side-float a{
		width: 50px;
	}

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


/*front*/
#front-archive{padding: 7rem 0 12rem;}

#front-event{
	padding-top: 10rem;
	display: flex;
}
#front-event h2{
	font-size: 3.6rem;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	width: 270px;
	font-weight: bold;
	border-right: 2px solid #000;
	padding: 2rem 0;
}
#front-event h2 strong{
	margin-bottom: 1rem;
}
#front-event-R{
	padding-left: 7rem;
}
.front-event em{
	font-size: 2.8rem;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	display: table;
	padding: 1rem 2rem;
	font-weight: bold;
	background: #0bb6ff;
	color: #fff;
	font-style: normal;
}
#front-event h3{
	font-size: 3.2rem;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	margin: 2rem 0 1rem;
	font-weight: bold;
}
.wrap .front-event img{
	width: inherit;
}
.front-event p{
	margin-top: 2rem;
	font-size: 1.6rem;
	line-height: 2.8rem;
}
@media (max-width: 1023px) {
	#front-event{flex-direction: column;}
	#front-event-L{display: flex; justify-content: center;}
	#front-event h2{align-items: center; border-right: 0; border-bottom: 1px solid #000; font-size: 2.4rem;width:auto;}
	#front-event h2 strong{margin-bottom: 0;}
	#front-event-R{margin-top: 6rem; padding-left: 0;}
	.front-event em{font-size: 2rem;}
	#front-event h3{font-size: 2.4rem;}
	.front-event-title{flex-direction: column;}
	.front-event-title h2{width: 100%; margin-bottom: 2rem;}
}
@media (max-width: 639px){
	#front-archive{padding: 4rem 0 8rem;}
	.front-event em {
		font-size: 1.6rem;
		padding: 0.2rem 1rem;
	}
	#front-event h3 {
		font-size: 2rem;margin: 1.5rem 0 0;
	}
}

#front-ev{margin: 7rem auto;}
#front-ev figure{
	margin-left: -2vw;
	margin-right: -2vw;
	overflow: hidden;
}
#front-ev figure img{
	object-fit: cover;
}
#front-ev p{margin-top: 2rem;font-size: 1.2rem;}

#front-present{
	display: flex;
	justify-content: center;
	margin-bottom: 8rem;
}
#front-present > div{
	width: 50%;
	max-width: 400px;
}
#front-present h2{
	font-size: 3.2rem;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}
#front-present h2 strong{
	margin-left: 16px;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
@media (max-width: 1023px) {
	#front-present h2{font-size: 2.4rem;}
	#front-present h2 strong{margin-left: 38px;}
}


#front-present h2 span{
	position: relative;
	margin-left: 62px;
}
#front-present h2 span::before{
	content: "";
	display: block;
	width: 219px;
	height: 21px;
	background: url(/ja/action/tokyo-tomorrow-project-2023.tokyotokyo.jp/assets/img/2023/present-bg.png);
	/*background: url(../img/2023/present-bg.png);*/
	background-size: 100%;
	position: absolute;
	left: 50%;
	margin-left: -109.5px;
	bottom: -15px;
}
#front-present h2 + p{
	margin: 4rem 0 1rem;
	font-size: 2rem;
	line-height: 3.4rem;
	font-weight: bold;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
#front-present p{
	margin-top: 0;
	font-size: 1.2rem;
	line-height: 1.8rem;
	font-weight: normal;
}
#front-present-L{
	display: flex;
	align-content: center;
	flex-wrap: wrap;
}
#front-present-R{padding-left: 2rem;}
#front-present figure{
	max-width: 276px;
	width:50%;
}

.front-event-container{
	padding: 80px 0;
}
#front-tama-container{
	background-image: url(/ja/action/tokyo-tomorrow-project-2023.tokyotokyo.jp/assets/img/2023/front-tama.png);
	/*background-image: url(../img/2023/front-tama.png);*/
	background-size: cover;
	background-position: top center;
	padding: 8rem 0;
}
#front-tama-inner{position: relative;}
.front-event-title{
	margin-right: 100px;
	background: rgba(255,255,255,.8);
	border-left: 8px solid #0bb6ff;
	position: relative;
	display: flex;
	padding: 4rem 3rem 4rem;
	margin-bottom: 8rem;
}
.front-event-title p{
	font-size: 1.6rem;
	line-height: 1.8;
	width: 800px;
}
.front-event-title::before{
	content: "";
    width: 38px;
    height: 45px;
    position: absolute;
    left: 120px;
    top: -28px;
	display: block;
	background-image: url(/ja/action/tokyo-tomorrow-project-2023.tokyotokyo.jp/assets/img/2023/front-event-title.png);
	/*background-image: url(../img/2023/front-event-title.png);*/
	background-size: cover;
}
.front-event-title h2{
	display: flex;
	flex-direction: column;
	font-size: 2.4rem;
	font-weight: bold;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	width: 380px;
	justify-content: center;
}
.wrap .front-event-title img{
	width: inherit;
}
.front-event-inner dl{
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
.front-event-inner dt{
	width: 160px;
	background: #d9d9d9;
	border-bottom: 1px solid #aaa;
	padding: 2rem 2.5rem;
	font-weight: bold;
	font-size: 1.4rem;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
.front-event-inner dd{
	width: calc(100% - 160px);
	background: rgba(255,255,255,.9);
	border-bottom: 1px solid #bbb;
	padding: 2rem 2.5rem;
}
.front-event-inner dd a{
	color: #00a7e9;
	text-decoration: underline;
}

.front-event-map{
	display: flex;
	position: relative;
	justify-content: space-between;
	margin-bottom: 2rem;
}
.front-event-map + .front-event-map{
	margin-bottom: 0;
}
.front-event-mapL{
	width: 60%;
	padding-right: 2rem;
}
.front-event-mapL dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
}
.front-event-mapL dt{
	width: 110px;
	padding: 0 0.5em;
	border-bottom:none;
	background: transparent;
	font-weight: 500;
}
.front-event-mapL dt.no-blank{
	width: 100%;
}
.front-event-mapL dd{
	width: calc(100% - 110px);
	padding: 0 0.5em;
	border-bottom:none;
	background: transparent;
}
.front-event-mapR{
	position: relative;
	height: 0;
	padding-top: 40%;
	width: 40%;
}
.front-event-mapR iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.front-event-map .none{
	border-bottom: 0 !important;
}
.front-event-map iframe{
	border:1px solid #ccc!important;
}


.front-event-inner dd figure.tama{
	position: absolute;
	top: 2rem;
	max-width: 322px;
	width: 100%;
	right: 5rem;
}
.front-event-inner .caption{width: calc(100% - 340px);}
@media (max-width: 1023px) {
	.front-event-title p {width:100%;}
}
@media (max-width: 639px) {
	#front-ev p {font-size:12px;line-height: 1.4;}
	#front-present{flex-wrap: wrap;}
	#front-present-L{width: 100%; margin-bottom: 2rem;}
	#front-present > div{width: 100%;}
	#front-present-R{width: 100%;}
	#front-present h2{align-items: center; width: 100%;}
	#front-present h2 strong{margin-left: 0;font-size: 20px;}
	#front-present h2 span{margin-left: 10px !important;margin-top: -13px;}
	#front-present h2 span img{width:75%;}
	#front-present h2 + p{font-size: 1.6rem;line-height: 2.8rem;}
	#front-present figure {margin-top: 20px;}
	.wrap .front-event-title h2{font-size:1.8rem;}
	.wrap .front-event-title h2 span{margin-top: -5px;}
	.wrap .front-event-title h2 span img{width:50%;}
	.front-event-title{padding: 2rem 1rem 2rem;}
	.front-event-title p {font-size: 1.4rem;line-height: 1.6;}
	.front-event-title::before {
		width: 30px;
		height: 30px;
		left: 100px;
		top: -22px;}
	.front-event-inner .wrap{padding:0;}
	.front-event-inner .caption{width: 100%;}
}
@media (max-width: 775px) {
	.front-event-inner dd figure.tama{position: static;margin-top: 10px;}
}
.front-event-footer{
	display: flex;
	justify-content: space-between;
	margin-top: 7rem;
}
.front-event-footer > div{
	width: 48%;
}
.front-event-footer div a{
	width: 100%;
}
.front-event-footer a:hover{
	opacity: .9;
}
/*モザイクアート詳細画像リンク用*/
	.front-event-footer .mosaic-link {
		width: 48%;
}
@media (max-width: 1023px) {
	.front-event-footer .mosaic-link {
		width: 60%;
	}
}
@media (max-width: 775px) {
	.front-event-footer .mosaic-link {
		width: 70%;
	}
}
@media (max-width: 639px) {
	.front-event-footer .mosaic-link {
		width: 50%;
	}
}

#front-rantern{
	margin-top: 8rem;
}
#front-rantern .front-event-inner dt{
	background: #3e3e3e;
	color: #fff;
	border-bottom-color: #333;
}
#front-rantern .front-event-inner dd{
	border-bottom-color: #333;
	border-right: 1px solid #333;
}
#front-rantern .front-event-inner dd.border{
	border-top: 1px solid #333;
}
#front-rantern-container{
	background-image: url(/ja/action/tokyo-tomorrow-project-2023.tokyotokyo.jp/assets/img/2023/front-rantern.png);
	/*background-image: url(../img/2023/front-rantern.png);*/
	background-repeat: no-repeat;
	background-size: cover;
}
#front-rantern dl dd.fl_w_sb{
	padding: 0;
}
#front-rantern .fl_w_sb div{
	width: 50%;
	text-align: center;
	padding: 2rem 1.5rem;
}
#front-rantern .fl_w_sb div + div{
	border-left: 1px solid #333;
}
#front-rantern dl strong{
	font-size: 2rem;
	font-weight: bold;
}
#front-rantern dl a{
	color: #06a4f6;
	text-decoration: underline;
}
#front-event-rantern-maps{
	padding: 8rem 0;
	background: #fff;
}
#front-event-rantern-map-list{
	background: #f8f7f7;
	transition: .3s all;
	padding: 2rem;
}
#front-event-rantern-map-list.hidden{
	padding: 0;
}

#front-event-rantern-map-trig{
	background: #3e3e3e;
	color: #fff;
	padding: 0.75rem 1.5rem 1.25rem;
	font-size: 2rem;
	font-weight: bold;
	position: relative;
}
#front-event-rantern-map-trig img{
	width: 24.5px;
}
#front-event-rantern-map-trig i{
	width: 105px;
	border-radius: 20px;
	background: #fff;
	position: absolute;
	right: 20px;
	top: 50%;
	display: block;
	font-style: normal;
	font-size: 16px;
	margin-top: -12px;
	cursor: pointer;
}
#front-event-rantern-map-trig i::before{
	content: "CLOSE";
	color: #3e3e3e;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	display: block;
	padding-left: 15px;
	width: 75px;
}
#front-event-rantern-map-trig i.done::before{
	content: "OPEN";
}
#front-event-rantern-map-trig i u{
	display: inline-block;
	vertical-align: middle;
	color: #3e3e3e;
	line-height: 1;
	width: 16px;
	height: 3px;
	background: currentColor;
	border-radius: 3px;
	position: absolute;
	right: 10px;
	top: 45%;
}

#front-event-rantern-map-trig i u::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	border-radius: inherit;
	transform: rotate(90deg);
	transition: .3s all;
	opacity: 0;
}
#front-event-rantern-map-trig i.done u::before {
	opacity: 1;
}
@media (max-width: 639px){
	#front-event{padding-top: 2rem;}
	.front-event-title{margin-right: 1rem; margin-bottom: 4rem;}
	.front-event-footer{margin-top: 20px;}
	.front-event-inner dt{width: 80px; padding: 2rem 1rem;font-size:1.2rem;}
	.front-event-inner dd{width: calc(100% - 80px); padding: 2rem 1rem;line-height: 1.6;font-size:1.2rem;}
	#front-rantern .fl_w_sb div{padding: 2rem 1rem;}
	#front-event-rantern-map-trig i{width: 26px; right: 1rem;}
	#front-event-rantern-map-trig i::before{font-size: 0;}
	#front-event-rantern-map-trig i u{right: auto; left: 5px;}
	#front-event-rantern-map-trig{padding: 1rem 4rem 1rem 1rem;font-size: 1.6rem;}
	#front-tama-container, .front-event-container, #front-event-rantern-maps{padding:4rem 0;}
	#front-event-rantern-map-list {padding: 1rem;}
}

.front-event-rantern-map{
	background: #fff;
	display: flex;
	position: relative;
	justify-content: space-between;
	padding: 2rem;
	margin-bottom: 2rem;
}
.front-event-rantern-map + .front-event-rantern-map{
	margin-bottom: 0;
}
.front-event-rantern-mapL{
	width: 60%;
	padding-right: 2rem;
}
.front-event-rantern-mapL h3{
	font-size: 2rem;
	font-weight: bold;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	margin-bottom: 2rem;
}
.front-event-rantern-mapL h3::before{
	content: "■";
	color: #06a4f6;
	margin-right: .5em;
}
.front-event-rantern-mapL dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
}
.front-event-rantern-mapL dt{
	width: 110px;
	padding: 2rem 0;
	border-bottom: 1px solid #00a7e9;
}
.front-event-rantern-mapL dd{
	width: calc(100% - 110px);
	padding: 2rem;
	border-bottom: 1px solid #ddd;
}
.front-event-rantern-map .none{
	border-bottom: 0 !important;
}
.front-event-rantern-mapR{
	position: relative;
	height: 0;
	padding-top: 40%;
	width: 40%;
}
.front-event-rantern-mapR iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.front-event-inner dd .lantern-img {
	display: flex;
	justify-content: space-between;
}
.front-event-inner dd .lantern-img p{
	width:70%;
}
.front-event-inner dd .lantern-img figure{
	width:28%;
}
@media (max-width: 1023px) {
	.front-event-rantern-mapL dt{width: 100%; padding: 1rem 0 0;}
	.front-event-rantern-mapL dd{width: 100%; padding: 1rem 0; border-bottom: 0;}
	.front-event-rantern-mapL dd + dt{margin-top: 2rem;}
	.front-event-rantern-mapL dd + dt.none{border-bottom: 1px solid #00a7e9 !important;}
}
@media (max-width: 639px) {
	#front-rantern dl strong {font-size: 1.4rem;}
	.front-event-rantern-map{flex-wrap: wrap;padding: 1rem;}
	.front-event-rantern-map > div{width: 100%;}
	.front-event-rantern-mapR{margin-top: 2rem;}
	.front-event-rantern-mapL {padding-right: 0;}
	.front-event-rantern-mapL h3 {font-size: 1.6rem;letter-spacing: -0.04em;}
	.front-event-rantern-mapL dl{font-size: 12px; line-height: 1.6;}
	.front-event-rantern-mapL br.sp_clear{display: none;}
	.front-event-map{flex-wrap: wrap;}
	.front-event-map dt{width: 80px;padding:0.4em 0;line-height: 1;}
	.front-event-map dd {padding:0.4em 0;line-height: 1;}
	.front-event-map dl{margin-bottom:2rem;}
	.front-event-map > div{width: 100%;}
}

#front-event-rantern2-maps{
	padding: 8rem 0;
	background: #fff;
}
#front-event-rantern2-map-list{
	background: #f8f7f7;
	transition: .3s all;
	padding: 2rem;
}
#front-event-rantern2-map-list.hidden{
	padding: 0;
}

#front-event-rantern2-map-trig{
	background: #3e3e3e;
	color: #fff;
	padding: 0.75rem 1.5rem 1.25rem;
	font-size: 2rem;
	font-weight: bold;
	position: relative;
}
#front-event-rantern2-map-trig img{
	width: 24.5px;
}
#front-event-rantern2-map-trig i{
	width: 105px;
	border-radius: 20px;
	background: #fff;
	position: absolute;
	right: 20px;
	top: 50%;
	display: block;
	font-style: normal;
	font-size: 16px;
	margin-top: -12px;
	cursor: pointer;
}
#front-event-rantern2-map-trig i::before{
	content: "CLOSE";
	color: #3e3e3e;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	display: block;
	padding-left: 15px;
	width: 75px;
}
#front-event-rantern2-map-trig i.done::before{
	content: "OPEN";
}
#front-event-rantern2-map-trig i u{
	display: inline-block;
	vertical-align: middle;
	color: #3e3e3e;
	line-height: 1;
	width: 16px;
	height: 3px;
	background: currentColor;
	border-radius: 3px;
	position: absolute;
	right: 10px;
	top: 45%;
}

#front-event-rantern2-map-trig i u::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	border-radius: inherit;
	transform: rotate(90deg);
	transition: .3s all;
	opacity: 0;
}
#front-event-rantern2-map-trig i.done u::before {
	opacity: 1;
}
@media (max-width: 639px){
	#front-event-rantern2-map-trig i{width: 26px; right: 1rem;}
	#front-event-rantern2-map-trig i::before{font-size: 0;}
	#front-event-rantern2-map-trig i u{right: auto; left: 5px;}
	#front-event-rantern2-map-trig{padding: 1rem 4rem 1rem 1rem;font-size: 1.6rem;}
}

.front-event-rantern2-map{
	background: #fff;
	display: flex;
	position: relative;
	justify-content: space-between;
	padding: 2rem;
	margin-bottom: 2rem;
}
.front-event-rantern2-map + .front-event-rantern-map{
	margin-bottom: 0;
}
.front-event-rantern2-mapL{
	width: 60%;
	padding-right: 2rem;
}
.front-event-rantern2-mapL h3{
	font-size: 2rem;
	font-weight: bold;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	margin-bottom: 2rem;
}
.front-event-rantern2-mapL h3::before{
	content: "■";
	color: #06a4f6;
	margin-right: .5em;
}
.front-event-rantern2-mapL dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
}
.front-event-rantern2-mapL dt{
	width: 110px;
	padding: 2rem 0;
	border-bottom: 1px solid #00a7e9;
}
.front-event-rantern2-mapL dd{
	width: calc(100% - 110px);
	padding: 2rem;
	border-bottom: 1px solid #ddd;
}
.front-event-rantern2-map .none{
	border-bottom: 0 !important;
}
.front-event-rantern2-mapR{
	position: relative;
	height: 0;
	padding-top: 40%;
	width: 40%;
}
.front-event-rantern2-mapR iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media (max-width: 1023px) {
	.front-event-rantern2-mapL dt{width: 100%; padding: 1rem 0 0;}
	.front-event-rantern2-mapL dd{width: 100%; padding: 1rem 0; border-bottom: 0;}
	.front-event-rantern2-mapL dd + dt{margin-top: 2rem;}
	.front-event-rantern2-mapL dd + dt.none{border-bottom: 1px solid #00a7e9 !important;}
}
@media (max-width: 639px) {
	#front-rantern dl strong {font-size: 1.4rem;}
	.front-event-rantern2-map{flex-wrap: wrap;padding: 1rem;}
	.front-event-rantern2-map > div{width: 100%;}
	.front-event-rantern2-mapR{margin-top: 2rem;}
	.front-event-rantern2-mapL {padding-right: 0;}
	.front-event-rantern2-mapL h3 {font-size: 1.6rem;letter-spacing: -0.04em;}
	.front-event-rantern2-mapL dl{font-size: 12px; line-height: 1.6;}
	.front-event-rantern2-mapL br.sp_clear{display: none;}
	.front-event-map{flex-wrap: wrap;}
	.front-event-map dt{width: 80px;padding:0.4em 0;line-height: 1;}
	.front-event-map dd {padding:0.4em 0;line-height: 1;}
	.front-event-map dl{margin-bottom:2rem;}
	.front-event-map > div{width: 100%;}
}






#front-mosaic{
	position: relative;
	/*margin: 24rem 0 6rem;*/
	margin: 0 0 6rem;
}
/* イベントが終了して削除になったため非表示
#front-mosaic::before{
	content: "";
	width: 15px;
	height: 15px;
	display: block;
	background: #029ad6;
	transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
	position: absolute;
	left: 50%;
	top: -120px;
	margin-left: -10px;
}
*/
#front-mosaic-lv{padding-top: 8rem; margin-top: -8rem;}
.mosaic-title{
	position: relative;
	display: flex;
}
.mosaic-title h2{
	font-size: 3.6rem;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	width:300px;
}
.mosaic-title p{
	font-size: 1.6rem;
	line-height: 1.8;
	max-width:800px;
}

#front-mosaic .wrap h2 img{width: inherit;}

#front-mosaic h2 strong{
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	margin-bottom: 0.5rem;
}
#front-mosaic figure.mosaic-mv{
	/*margin: 6rem 0;*/
	margin: 6rem 0 0.5rem;
}
#front-mosaic .mosaic-note {
	text-align: center;
}
@media (max-width: 1023px) {
	.mosaic-title{
		flex-direction: column;
	}
	.mosaic-title p{
		margin-top:10px;
	}
}
@media (max-width: 639px) {
	#front-mosaic{margin: 6rem 0 3rem;}
	#front-mosaic h2{font-size: 2.4rem;}
	#front-mosaic::before{top: -3rem; width: 8px; height: 8px; margin-left: 5px;}
	#front-mosaic figure{margin: 2rem 0;}
	#front-mosaic figure.mosaic-mv {
		margin: 20px 0 0;
	}
	.mosaic-title{
		flex-direction: column;
	}
	.mosaic-title p{
		margin-top:10px;
	}

}

/*フォトギャラリー*/

#front-ph-gallery {
	position: relative;
	margin: 24rem 0 6rem;
}
#front-ph-gallery::before {
	content: "";
	width: 15px;
	height: 15px;
	display: block;
	background: #029ad6;
	transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
	position: absolute;
	left: 50%;
	top: -120px;
	margin-left: -10px;
}
#front-ph-gallery-lv {padding-top: 8rem; margin-top: -8rem;}
.ph-gallery-title {
	position: relative;
	display: flex;
}
.ph-gallery-title h2 {
	font-size: 3.6rem;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	width:300px;
}
.ph-gallery-title p {
	font-size: 1.6rem;
	line-height: 1.8;
	max-width:800px;
}
#front-ph-gallery .wrap h2 img{width: inherit;}

#front-ph-gallery h2 strong{
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	margin-bottom: 0.5rem;
}

.ph-gallery-cover {
	width: 100%;
	border: 2px #06a4f6 solid;
	background-color: #fff;
	margin: 110px auto;
}
.ph-gallery-area {
	height: 700px;
	min-height: 700px;
	margin: 50px 30px 50px 50px;
	position: relative;
}

.mCS-my-theme.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #06a4f6;width: 16px;height: 80px; }
.mCS-my-theme.mCSB_scrollTools .mCSB_dragger .mCSB_draggerRail{ background-color: #06a4f6;min-height: 500px;height: 100%;}
.mCS-my-theme.mCSB_scrollTools .mCSB_dragger .mCSB_draggerRail{display: none;}
.ph-gallery-area::after {content: ""; display: block; width: 4px; background: #44BAF8; height: 700px; position: absolute; right: 6px; top: 0;}


.photo_flex {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: flex-start;
	margin: auto;
	padding-right: 20px;
}
.photo_flex li {
	width: 19.5%;
    margin-right: 0.5%;
    margin-bottom: 0.5%;
}
.photo_flex li img {
	border: 1px #d2d3d3 solid;
	border-radius: 2px;
}

@media (max-width: 1023px) {
	.photo_flex li {
		width: 31%;
		margin: 1%;
	}
	.mCS-my-theme.mCSB_scrollTools .mCSB_draggerContainer {bottom: 10%;}

	.ph-gallery-title{
		flex-direction: column;
	}
	.ph-gallery-title p{
		margin-top:10px;
	}
}

@media (max-width: 639px) {
	#front-ph-gallery{margin: 6rem 0 3rem;}
	#front-ph-gallery h2{font-size: 2.4rem;}
	#front-ph-gallery::before{top: -3rem; width: 8px; height: 8px; margin-left: 5px;}
	#front-ph-gallery figure{margin: 2rem 0;}
	.ph-gallery-title{
		flex-direction: column;
	}
	.ph-allery-title p{
		margin-top:10px;
	}
	.ph-gallery-cover {
		margin: 20px auto;
	}
	.ph-gallery-area {
		height: 400px;
		margin: 10px 10px 15px;
		min-height: 400px;
	}
	.ph-gallery-content {
		width: 100%;
		padding-right: 10px;
	}
	.photo_flex {
		padding-right: 0px;
	}
	.photo_flex li {
		width: 31%;
		margin: 1%;
	}
	.mCSB_inside > .mCSB_container {
		margin-right: 20px!important;
	}
	.ph-gallery-area::after {
		height: 400px;
		width: 2px;
	}
	.mCS-my-theme.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
		width: 10px;
	}
}

/*モザイクアート*/

#front-mosaic {
	position: relative;
	margin: 24rem 0 6rem;
}
#front-mosaic::before {
	content: "";
	width: 15px;
	height: 15px;
	display: block;
	background: #029ad6;
	transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
	position: absolute;
	left: 50%;
	top: -120px;
	margin-left: -10px;
}
#front-mosaic .imageContainer {
    position: relative;
	width: 100%;
	height: auto;
	padding-bottom: 55.15%;
}
#front-mosaic .inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc( 100% - 9px );
	max-height: 833px;
	background: #fff;
	border: 4px #239cc9 solid;
}
@media (max-width: 1023px) {
	#front-mosaic .inner {
		height: calc( 100% - 1.1% );
	}
}
@media (max-width: 639px) {
	#front-mosaic{margin: 6rem 0 3rem;}
	#front-mosaic h2{font-size: 2.4rem;}
	#front-mosaic::before{top: -3rem; width: 8px; height: 8px; margin-left: 5px;}
	#front-mosaic figure{margin: 2rem 0;}
	#front-mosaic .inner {
		height: calc( 100% - 0.8% );
	}
}

#front-mosaic .image {
	position: absolute;
    background-size: cover;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
}

#front-mosaic .first-image {
	opacity: 1;
	z-index: 9;
}
#front-mosaic .second-image {
	opacity: 1;
}

#front-mosaic .bar-area {
	width: 85%;
	margin: 20px auto 0;
	display: flex;
	justify-content: space-between;
}
#front-mosaic .bar-ttl {
	opacity: 0;
	transition: opacity 1s ease-in-out;
}
#front-mosaic .barCover {
	width: 80%;
	border: 1px #06a4f6 solid;
	margin: 10px auto;
	padding: 0;
	border-radius: 11px;
	transition: opacity 2s ease-in-out;
	opacity: 0;
	height: 22px;
	background: #fff;
}
#front-mosaic .bar {
    width: 0; /* 初期状態では0%の長さ */
    height: 20px;
    background-color: #06a4f6;
	border-radius: 11px 0 0 11px;
    animation: stretchBar 9s ease-in-out forwards; /* アニメーションを適用 */
	opacity: 0;
}
#front-mosaic .bar-percent {
	margin-top: 5px;
	margin-left: 5px;
	opacity: 0;
    transition: opacity 0.2s ease-in-out;
}

@keyframes stretchBar {
	0% {
		width: 0%;
	}
    75% {
        width: 75%; /* 75%まで伸ばす */
    }
    100% {
        width: 75%; /* 最終的に75%で固定 */
    }
}

#front-mosaic .startButton {
	position: absolute;
	left: 50%;
	bottom: 8%;
	transform: translateX(-50%);
	z-index: 9;
	opacity: 1;
	transition: all 1s ease-in-out;
	width: 400px;
	padding: 20px 0;
	text-align: center;
	border-radius: 100vh;
	color: #07A4F6;
	font-size: 2rem;
	margin-top: 10px;
	border: 4px #fff solid;
	background: #FDE62C;
	cursor: pointer;
	display: inline-block;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-weight: bold;
}
#front-mosaic .startButton:hover {
	background: #ffff80;
}

/*モーダル表示*/

.mosaic-howto {
	text-align: center;
	margin-top: 20px;
}
.mosaic-howto .button {
	font-size: 2.8rem;
	font-weight: 900;
	text-decoration: underline;
	text-underline-offset: 10px;
}
.layer {
	background: rgba(0, 0, 0, .6); 
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1; 
	opacity: 0;
	visibility: hidden;
  	transition: opacity 1s linear, visibility 1s linear, z-index 1s linear;
  }
  
  /* モーダルコンテンツ */
.modal {
	position: relative;
	margin-right: auto;
	margin-left: auto;
	width: 80%;
	max-width: 774px;
	opacity: 0;
	visibility: hidden;
	transition: visibility .7s linear, opacity .7s linear;
	min-height: 500px;
}
.modal__inner {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.25);/* モーダルにシャドウをかける */
	display: block;
	padding: 21px 8px 21px;
	height: auto;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 80px;
	margin-bottom: 80px;
}
.scroll-content {
	overflow-y: auto;
	height: 80vh;
	margin: 30px 0 0;
}
.modal__content {
	padding-top: 15px;
	padding-bottom: 23px;
	width: 75%;
	margin: auto;
}
.modal-ttl {
	color: #06a4f6;
	font-size: 2.6rem;
	font-weight: 900;
	margin-bottom: 20px;
	line-height: 120%;
}
.modal__content .mosaic-num {
	width: 65%;
	margin: 20px auto;
}
.modal-list {
	width: 100%;
	margin: 20px auto;
	padding: 20px;
	background-color: #e0e9fb;
}
.modal-list dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: auto;
	text-align: left;
}
.modal-list dl dt {
	width: 35%;
}
.modal-list dl dd {
	width: 60%;
}
.modal-list dl dd.equal {
	width: 5%;
}
.modal-note {
	text-align: left;
}

.modal__button-wrap {
	position: absolute;
	right: 0;
	top: 0;
	display: inline-flex;
}
.close-button {
	position: relative;
	width: 40px;
	height: 40px;
	background: #000;
	padding: 0;
	border: transparent;
	cursor: pointer;
}
.close-button span {
	width: 25px;
	height: 2px;
	background: #fff;
	display: inline-block;
	position: absolute;
	left: calc(50% - 12px);
	top: 50%;
	border-radius: 20px;
}
.close-button span:nth-child(1) {
	transform: rotate(45deg) translate(-1px, -1px);
}
.close-button span:nth-child(2) {
	transform: rotate(-45deg) translate(1px, -1px);
}
  
.layer.is-open {
	z-index: 999;
	opacity: 1;
	visibility: visible;
}
.layer.is-open .modal{
	opacity: 1;
	visibility: visible;
}

@media (max-width: 639px) {
	.btn-b{
		line-height: 120%;
	}
	
	.mosaic-howto .button {
		font-size: 1.6rem;
	}

	.modal__inner {
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.modal-ttl {
		font-size: 2.2rem;
	}
	.modal-list dl {
		display: block;
		width: 100%;
		margin: auto;
		text-align: left;
	}
	.modal-list dl dt {
		width: 100%;
	}
	.modal-list dl dd {
		width: 100%;
		margin-bottom: 20px;
	}
	.modal-list dl dd.equal {
		width: 0;
	}
	.modal-list dl dd:last-child {
		margin-bottom: 0;
	}
}


@media (max-width: 1023px) {
	#front-mosaic .bar-area {
		width: 90%;
		margin: 20px auto;
		display: flex;
		justify-content: space-between;
	}
	#front-mosaic .barCover {
		width: 100%;
	}
	#front-mosaic .startButton {
		width: 50%;
		bottom: 6%;
		font-size: 2rem;
		padding: 5px 0;
	}
}
@media (max-width: 639px) {
	#front-mosaic .bar-area {
		width: 98%;
		margin: 20px auto;
		display: flex;
		justify-content: space-between;
	}
	#front-mosaic .barCover {
		width: 100%;
	}
	#front-mosaic .startButton {
		width: 70%;
		bottom: 5%;
		font-size: 1.5rem;
		padding: 5px 0;
		border: 2px solid #fff;
	}
	#front-mosaic .bar-percent {
		margin-top: 8px;
		width: 12%;
	}
	#front-mosaic .bar-percent img{
		width:100%;
	}
	#front-mosaic .barCover {
		border-radius: 6px;
		height: 12px;
	}
	#front-mosaic .bar {
		height: 10px;
	}
}

/*東京島ネイチャーツーリズム*/
.front-event-inner dd figure.island-nature{
	position: absolute;
	top: 2rem;
	max-width: 270px;
	width: 100%;
	right: 5rem;
}
#front-island-nature {
	margin: 80px auto 0;
}
#front-island-nature-container{
	background-image: url(/ja/action/tokyo-tomorrow-project-2023.tokyotokyo.jp/assets/img/2023/front-island-nature.jpg);
	/*background-image: url(../img/2023/front-island-nature.jpg);*/
	background-size: cover;
	background-position: top center;
	padding: 8rem 0;
}
#front-island-nature-inner{position: relative;}
.front-event-title{
	margin-right: 100px;
	background: rgba(255,255,255,.8);
	border-left: 8px solid #0bb6ff;
	position: relative;
	display: flex;
	padding: 4rem 3rem 4rem;
	margin-bottom: 8rem;
}
ul.event-list {
	list-style-type: disc;
}
ul.event-list li {
	list-style-type: disc;
	margin-left: 2rem;
}
.margin-t40 {
	margin: 40px auto 0;
}

@media (max-width: 775px) {
	.front-event-inner dd figure.island-nature{position: static;margin-top: 10px;}
}

/*年末カウントダウンイベント*/
.front-event-inner dd figure.countdown{
	position: absolute;
	top: 2rem;
	max-width: 320px;
	width: 100%;
	right: 5rem;
}
#front-countdown {
	margin: 80px auto 0;
}
#front-countdown-container{
	background-image: url(/ja/action/tokyo-tomorrow-project-2023.tokyotokyo.jp/assets/img/2023/front-countdown.jpg); 
	/*background-image: url(../img/2023/front-countdown.jpg);*/
	background-size: cover;
	background-position: top center;
	padding: 8rem 0;
}
#front-countdown-inner{position: relative;}

@media (max-width: 775px) {
	.front-event-inner dd figure.countdown{position: static;margin-top: 10px;}
}

/*過去のイベント（2023）*/
#front-archive-event {
	position: relative;
	margin: 24rem 0 6rem;
}
#front-archive-event::before{
	content: "";
	width: 15px;
	height: 15px;
	display: block;
	background: #029ad6;
	transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
	position: absolute;
	left: 50%;
	top: -120px;
	margin-left: -10px;
}
#front-archive-event-inner{position: relative;}
#front-archivt-event-lv{padding-top: 8rem; margin-top: -8rem;}
.archive-event-title{
	position: relative;
	display: flex;
}
.archive-event-title h2{
	font-size: 3.6rem;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	width:300px;
}
.archive-event-title p{
	font-size: 1.6rem;
	line-height: 1.8;
	max-width:800px;
}
.archive-event-conts-title{
	/*margin-right: 100px;*/
	background-color: #E5F6FD;
	border-left: 8px solid #0bb6ff;
	position: relative;
	display: flex;
	padding: 4rem 3rem 4rem;
	margin-bottom: 2rem;

}
.archive-event-conts-title p{
	font-size: 1.6rem;
	line-height: 1.8;
	width: 800px;
}
.archive-event-conts-title h2{
	display: flex;
	flex-direction: column;
	font-size: 2.4rem;
	font-weight: bold;
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	width: 380px;
	justify-content: center;
}
@media (max-width: 1023px) {
	.archive-event-title{
		flex-direction: column;
	}
	.archive-event-title p{
		margin-top:10px;
	}
}
@media (max-width: 639px) {
	#front-archive-event{margin: 6rem 0 3rem;}
	#front-archive-event h2{font-size: 2.4rem;}
	#front-archive-event::before{top: -3rem; width: 8px; height: 8px; margin-left: 5px;}
	#front-archive-event figure{margin: 2rem 0;}
	.archive-event-title{
		flex-direction: column;
	}
	.archive-event-title p{
		margin-top:10px;
	}
}

.wrap .archive-event-conts-title img{
	width: inherit;
}
#front-archive-event-container{
	margin: 6rem 0;
	padding: 0 0 4rem;
	background-color: #fff;
}
@media (max-width: 639px) {
	#front-archive-event-container{
		margin: 2rem 0;
	}
}


.archive-event-report__list-item{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 3rem auto -5rem;
	padding-bottom: 3rem;
	text-align: left;
	gap: 2rem;
}
.archive-event-report__list-item figure{
	max-width: 45%;
}
.archive-event-report__list-item figure img{
	-o-object-fit: cover;
	object-fit: cover;
}
.archive-event-report__list-item .archive-event-report__list-item-text{
	max-width: 55%;
}
.archive-event-report__list-item .archive-event-report__list-item-text .title{
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 2rem;
}
@media (max-width: 639px) {
	.archive-event-report__list-item{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.archive-event-report__list-item figure{
		width: 100%;
		max-width: inherit;
		height: auto;
	}
	.archive-event-report__list-item .archive-event-report__list-item-text{
		max-width: 100%;
	}
	.archive-event-report__list-item .archive-event-report__list-item-text .title{
		font-size: 1.8rem;
	}
}

#front-archive-event-btn{/*リンクボタン*/
	display: flex;
	justify-content: space-between;
	margin-top: 7rem;
}
#front-archive-event-btn > div{
	width: 48%;
}
#front-archive-event-btn div a{
	width: 100%;
}
#front-archive-event-btn a:hover{
	opacity: .9;
}
#front-archive-event-btn .btn-info{
	background: #06a4f6;
	color: #fff;
	border-radius: 10px;
	padding: 2.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-size: 2.4rem;
	font-weight: bold;
	border-bottom: 8px solid #097dd1;
}
#front-archive-event-btn .btn-info::after{
	content: "";
	width: 1rem;
	height: 1rem;
	border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
	position: absolute;
	right: 2rem;
	top: 50%;
	margin-top: -5px;
}
#front-archive-event-btn .btn-report{
	background: #fff;
	color: #06a4f6;
	border-radius: 10px;
	padding: 2.2rem;
	display: flex;
	justify-content: center;
	position: relative;
	font-size: 2.4rem;
	font-weight: bold;
	border-top: 1px solid #06a4f6;
	border-left: 1px solid #06a4f6;
	border-right: 1px solid #06a4f6;
	border-bottom: 8px solid #097dd1;
}
#front-archive-event-btn .btn-report::after{
	content: "";
	width: 1rem;
	height: 1rem;
	border-top: 2px solid #06a4f6;
    border-left: 2px solid #06a4f6;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
	position: absolute;
	right: 2rem;
	top: 50%;
	margin-top: -5px;
}
#front-archive-event-btn .btn-info:hover, .btn-report:hover{
	box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.35);
}

@media (max-width: 639px){
	#front-archive-event-btn{
		display: flex;
		justify-content: space-between;
		margin-top: 7rem;
	}
	#front-archive-event-btn > div{
		width: 48%;
		margin: auto;
	}
	#front-archive-event-btn .btn-info{
		padding: 1.2rem 1rem;
		font-size: 1.4rem;
	}
	#front-archive-event-btn .btn-report{
		padding: 1.2rem 1rem;
		font-size: 1.4rem;
	}
	#front-archive-event-btn .btn-info::after{
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		right: 1.2rem;
	}
	#front-archive-event-btn .btn-report::after{
		border-top: 1px solid #06a4f6;
		border-left: 1px solid #06a4f6;
		right: 1.2rem;
	}
}
@media (max-width: 400px){
	#front-archive-event-btn .btn-info{
		font-size: 1.3rem;
	}
	#front-archive-event-btn .btn-report{
		font-size: 1.3rem;
	}
}
@media (max-width: 320px){
	#front-archive-event-btn .btn-info{
		font-size: 1.2rem;
	}
	#front-archive-event-btn .btn-report{
		font-size: 1.2rem;
	}
	#front-archive-event-btn .btn-report::after {
		width: 0.5rem;
		height: 0.5rem;
		top: calc(50% + 0.2rem);
	}
}

/*イベントレポート*/
.p-special p {
	font-weight: 200;
}
.p-special a { color: #00a9ea;}

.h3-mess-bg span {
	background-color: #FFFF00;
}
.report-mess-bg {
	background-color: #cccccc;
	border-radius: 10px;
	padding: 10px 40px 10px;
}

/*悪天候による中⽌のお知らせ*/
.event-cancel {
	border: 2px #ff0000 solid;
	background-color: #ffffff;
	padding: 20px;
	color: #ff0000;
	margin: 40px 0;
}
.event-cancel .ttl-cancel {
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 15px;
}
@media (max-width: 639px) {
	.event-cancel .ttl-cancel  {
		font-size: 1.8rem;
	}
}

/* ムービー */
#front-movie {
	position: relative;
	margin: 0 0 6rem;
}
#front-movie-lv {padding-top: 8rem; margin-top: -8rem;}
.movie-title{
	position: relative;
	display: flex;
}
.movie-title h2{
	font-size: 3.6rem;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	width:300px;
}
.movie-title p{
	font-size: 1.6rem;
	line-height: 1.8;
	max-width:800px;
}

#front-movie .wrap h2 img{width: inherit;}

#front-movie h2 strong{
	font-family: 'Noto Sans JP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	margin-bottom: 0.5rem;
}

@media (max-width: 1023px) {
	.movie-title{
		flex-direction: column;
	}
	.movie-title p{
		margin-top:10px;
	}
}
@media (max-width: 639px) {
	#front-movie{margin: 6rem 0 3rem;}
	#front-movie h2{font-size: 2.4rem;}
	#front-movie::before{top: -3rem; width: 8px; height: 8px; margin-left: 5px;}
	.movie-title{
		flex-direction: column;
	}
	.movie-title p{
		margin-top:10px;
	}
}

/* YouTubeモーダル */
#youtube_wrap {
	width: 100%;
	max-width: 1200px;
	margin: 6rem auto 0;
  }
.youtube_modal {
	display: block;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding-top: 56.25%;
}
.youtube_modal iframe, .youtube_modal a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media (max-width: 639px) {
	#youtube_wrap {
		margin: 2rem auto 0;
	  }
}
