/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

:root{
	/* color pallet */
	--expo-red: 183, 52, 34;
	--expo-blue: 68, 88, 159;
	--expo-light-blue: 100, 199, 204;
	--kansai-rgb: 81, 156, 72;
	--kanto-rgb: 232, 142, 36;
	--hokuriku-rgb: 156, 64, 147;
	--kyushu-rgb: 181, 205, 0;
	--myaku-red: 230, 0, 18;
	--myaku-blue: 0, 128, 255;
	--wakazo-rgb: 0, 149, 217;
	--iwp-rgb: 193, 50, 32;
	--igip-rgb: 70, 93, 170;

	/* area-color */
	--area-rgb: var(--kyushu-rgb);

	/* z-index of parts */
	--header-z: 100;

	/* header-height */
	--header-height: 85px;

	/* fonts */
	--jost: "Jost", "Noto Sans JP", Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
	--zen: "Zen Old Mincho", serif;
}

/* common */
html{animation: enableScroll 5s linear 0s 1 forwards;}
@keyframes enableScroll{
	0%{}
	99%{overflow: hidden;}
	100%{overflow: visible;}
}
@media(max-width: 992px){
	:root{
		--header-height: 65px;
	}
}
.hidden{display: none;}
.block{display: block;}
.header, .header-logo, .header-nav-list, .footer-bottom-nav-list{
	display: flex;
	flex-wrap: wrap;
}
.section{
	position: relative;
	padding: 10vw 7vw;
	overflow: hidden;
	z-index: 1;
}
.common-button-wrap{
	text-align: right;
	margin-top: 5vw;
}
.common-button{
	position: relative;
	display: inline-block;
	font-size: 1.2em;
	font-family: var(--jost);
	font-weight: 500;
	padding: .25em 1.5em .25em 0;
	overflow: hidden;
}
.common-button:before, .common-button:after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: rgb(var(--line-color));
	transition: .5s;
}
.common-button:after{left: -200%}
.common-button:hover:before, .common-button:hover:after{transform: translateX(200%);}
.common-button-inner:before{
	content: "";
	position: absolute;
	width: 1em;
	height: .25em;
	border-bottom: 1px solid;
	border-right: 2px solid;
	transform: skewX(60deg);
	bottom: 50%;
	right: .25em;
}
.common-rounded-link{
	position: relative;
	font-size: 14px;
	display: table;
	margin: auto;
	padding: 1em 3em 1em 3em;
	color: #fff;
	background: #333;
	border-radius: 99px;
	border: 1px solid;
	text-align: center;
	z-index: 1;
	overflow: hidden;
	min-width: 15em;
}
.common-rounded-link:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(var(--expo-red),.8);
	border-radius: 99px;
	top: 0;
	left: 0;
	z-index: -1;
	transform: scaleX(0);
	transform-origin: 100% 50%;
	transition: transform .5s;
}
.common-rounded-link:hover:before{
	transform: scaleX(1);
	transform-origin: 0 50%;
}
.common-rounded-link:after{
	content: "";
	position: absolute;
	width: 1em;
	height: .25em;
	top: 50%;
	right: 1em;
	border-bottom: 1px solid;
	border-right: 2px solid;
	transform: translate(-50%, -50%) skewX(60deg);
}
.common-title{font-size: 5vw;}
.common-title-inner{
	position: relative;
	display: inline-block;
	line-height: .8;
}
.common-title-inner:before{
	content: "";
	position: absolute;
	width: calc(100% - var(--width));
	height: .2vw;
	right: 0;
	top: 0;
	background: rgb(var(--line-color));
	transform: translateY(100%);
	z-index: -1;
}
.common-title-inner:after{
	content: attr(data-title);
	position: absolute;
	font-size: 1.5vw;
	top: 115%;
	right: 0;
	font-family: "Zen Old Mincho", serif;
	transform: skewX(-15deg);
}
.text-content p{
	margin-bottom: 2.2em;
	line-height: 1.8;
}
@media(orientation: portrait){
	.section{padding: 10vh 7vw;}
	.common-title{font-size: 7vh;}
	.common-title-inner:before{height: .2vh;}
	.common-title-inner:after{font-size: 2vh;}
	.common-button-wrap{margin-top: 5vh;}
}
@media(min-width: 575px){
	.tel-link{pointer-events: none;}
	.only-sp{display: none;}
}
@media(orientation: landscape) and (max-width: 992px){
	.common-title{font-size: 8vw;}
}
@media(min-width: 360px){
	.only-360{display: none;}
}
@media(max-width: 360px){
	.common-rounded-link{
		min-width: auto;
		font-size: 12px;
	}
}

/* header */
.header{
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: var(--header-z);
	justify-content: space-between;
	height: var(--header-height);
	background: rgba(255,255,255,.7);
	opacity: 0;
	visibility: hidden;
	transition: .5s;
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	border-bottom: 1px solid rgba(255,255,255,.25);
	box-shadow: 0 0 5px #ccc;
}
.header.visible{
	visibility: visible;
	opacity: 1;
}
.header-logo{
	align-items: center;
	height: 100%;
}
.header-logo-link{
	padding: 1em 2em;
	position: relative;
	display: inline-block;
	height: 100%;
}
.header-logo-img{
	display: inline-block;
	height: 100%;
	/*
	width: 100%;
	object-fit: contain;
	object-position: left;
	*/
}
.header-nav{padding: 0 1em;}
.header-nav-list{
	height: 100%;
	align-items: center;
	gap: 1em;
}
.header-nav-item{position: relative;}
.header-nav-link{
	position: relative;
	display: inline-block;
	font-size: 15px;
	width: 100%;
	padding: 1em;
	min-width: 6em;
	text-align: center;
	transition: .3s;
	white-space: nowrap;
}
.header-nav-link:hover{color: rgb(var(--expo-red));}
.header-nav-link:before, .header-nav-link:after{
	content: "";
	position: absolute;
}
/* hamburger */
.hamburger-label{
	display: block;
	position: absolute;
	width: calc((100% - 2em) * .2);
	height: 100%;
	top: 0;
	right: 0;
}
.hamburger-line{
	position: absolute;
	display: inline-block;
	width: 2em;
	height: 3px;
	background: #000;
	top: 50%;
	left: 50%;
	transition: .3s;
}
#hamburgerToggle:checked ~ .hamburger-label .hamburger-line{background: rgb(var(--expo-red));}
.hamburger-line:first-of-type{transform: translate(-50%, -300%);}
.hamburger-line:nth-of-type(2){transform: translate(-50%, -50%);}
.hamburger-line:nth-of-type(3){transform: translate(-50%, 200%);}
#hamburgerToggle:checked ~ .hamburger-label .hamburger-line:first-of-type{transform: translate(-50%, -50%) rotate(-315deg);}
#hamburgerToggle:checked ~ .hamburger-label .hamburger-line:nth-of-type(2){width: 0;}
#hamburgerToggle:checked ~ .hamburger-label .hamburger-line:nth-of-type(3){transform: translate(-50%, -50%) rotate(315deg);}
/* header-SP&Tab */
@media(max-width: 991px){
	.header-logo{width: 75%;}
	.header-logo-link{padding: 1em;}
	.header-nav{
		position: fixed;
		width: 100vw;
		height: 100vh;
		top: 0;
		left: 0;
		background: rgba(0,0,0,.75);
		visibility: hidden;
		opacity: 0;
		transition: .5s;
		backdrop-filter: blur(5px);
    	-webkit-backdrop-filter: blur(5px);
	}
	html:has(#hamburgerToggle:checked){overflow: hidden;}
	#hamburgerToggle:checked ~ .header-nav{
		visibility: visible;
		opacity: 1;
	}
	.header-nav-list{
		position: absolute;
		display: block;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		justify-content: space-evenly;
		gap: 2em;
		width: 100%;
		height: auto;
	}
	.header-nav-link{
		color: #fff;
		font-size: 16px;
	}
	.nav-fold-label:hover{color:#fff;}
	.nav-fold-toggle:checked ~ .nav-fold-label{color: rgb(var(--expo-red));}
	.nav-fold-label:before{
		width: .5em;
		height: .5em;
		border-right: 3px solid rgb(var(--expo-red));
		border-bottom: 3px solid rgb(var(--expo-red));
		bottom: .5em;
		left: 50%;
		transform: translateX(-50%) rotate(45deg);
		transition: .3s;
	}
	.nav-fold-toggle:checked ~ .nav-fold-label:before{transform: translate(-50%, 50%) rotate(45deg) scale(-1);}
}
/* header-Tab */
@media(min-width: 575px) and (max-width: 992px) and (orientation: portrait){
	.header-nav-link{
		font-size: 1.25em;
		line-height: 1.5;
	}
}
/* header-PC */
@media(min-width: 992px){
	.hamburger-label{display: none;}
	.header-nav-link:before, .header-nav-link:after{
		width: 0;
		height: 3px;
		background: rgb(var(--expo-red));
		bottom: .5em;
		transition: .3s;
	}
	.header-nav-link:before{left: 50%;}
	.header-nav-link:after{right: 50%;}
	.header-nav-link:hover:before, .header-nav-link:hover:after{width: 50%;}
}
@media(min-width: 1010px){
	.header-nav{padding: 0 2em;}
}
@media(min-width: 1075px){
	.header-nav-list{gap: 2em;}
}

/* news */
.news-section{
	display: grid;
	grid-template-columns: 30% 70%;
	background: rgba(255,255,255,.9);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}
.news-section:before, .news-section:after{
	content: "";
	position: absolute;
	width: 20vw;
	height: 20vw;
	background: rgb(var(--expo-blue));
}
.news-section:before{
	top: 0;
	right: 0;
	clip-path: polygon(0 0, 10px 0, 100% calc(100% - 10px), 100% 100%);
}
.news-section:after{
	bottom: 0;
	left: 0;
	clip-path: polygon(0 0, 100% 100%, 30% 100%, 0 70%);
}
.news-list{
	position: relative;
	z-index: 9;
}
.news-item{border-bottom: 1px solid rgba(0,0,0,.3);}
.news-item:first-of-type{border-top: 1px solid rgba(0,0,0,.3);}
.news-item-link{
	position: relative;
	display: grid;
	align-items: center;
	min-height: 7em;
	padding: 2em 2em 2em 10em;
	transition: .3s;
	z-index: 1;
}
.news-item-link:hover{
	background: rgba(0,0,0,.6);
	color: #fff;
}
.news-item-link:before, .news-item-link:after{
	content: "";
	position: absolute;
	background: rgba(var(--expo-blue),.5);
	transition: .3s;
}
.news-item-link:before{
	height: calc(100% - 2em);
	width: 1px;
	top: 50%;
	left: 8em;
	transform: translate(-50%, -50%);
}
.news-item-link:after{
	width: 1em;
	height: 1em;
	bottom: 0;
	right: 0;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.news-item-link:hover:before, .news-item-link:hover:after{
	background: rgb(var(--area-rgb));
	filter: brightness(1.2);
}
.news-item-title{line-height: 1.5;}
.news-item-date{
	position: absolute;
	top: 50%;
	left: 0;
	font-size: .9em;
    min-width: 8em;
    text-align: center;
	transform: translateY(-50%);
}
.news-all-wrap{grid-column: 1/3;}
@media(max-width: 992px){ /* ex.portrait */
	.news-section{display: block;}
	.news-list{margin-top: 12.5vw;}
	.news-item-link{
		padding: 2.5em 1em 1em;
		background: rgba(0,0,0,.025);
	}
	.news-item-link:before{display: none;}
	.news-item-title{
		padding: 0;
	}
	.news-item-date{
		top: 1em;
		transform: none;
	}
	.news-item-time{
		position: relative;
		display: inline-block;
	}
	.news-item-time:before{
		content: "";
		position: absolute;
		width: 2em;
		height: 1px;
		background: rgba(var(--expo-blue),.5);
		left: 100%;
		top: 50%;
		transform: translate(.5em, -50%);
	}
	.news-item-link:hover .news-item-time:before{background: rgb(var(--area-rgb));}
}

/* promotion-section */
.promotion-section{
	position: relative;
	background: #333;
	color: #fff;
	z-index: 1;
}
.promotion-section:before, .promotion-section:after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}
.promotion-section:before{
	background: #222;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.promotion-section:after{
	background: radial-gradient(at 0 0, rgb(var(--expo-red)), transparent 20%, transparent 80%, rgb(var(--expo-blue)));
}
.embed-frame{
	position: relative;
	margin: auto;
	--width: calc(100% - 2em);
	width: var(--width);
	height: 0;
	padding-bottom: calc(var(--width) / 16 * 9);
}
.embed-frame:before{
	content: "";
	position: absolute;
	width: calc(100% + 2em);
	height: calc(100% + 2em);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(var(--expo-light-blue),.1);
	border: 1px solid rgb(var(--expo-light-blue));
}
.embed-frame iframe{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
@media(min-width: 992px){
	.embed-frame{
		--width: 50%;
	}
}

/* about */
.about-section{
	background: rgba(var(--expo-red));
	color: #fff;
}
.about-section:before{
	content: "";
	position: absolute;
	width: 60%;
	height: 30%;
	background: rgba(0,0,0,.05);
	z-index: -1;
	right: 0;
	top: 5%;
	clip-path: polygon(100% 0, 100% 60%, 60% 100%, 0 100%);
}
.about-title:before, .about-title-slide{
	position: absolute;
	display: block;
	color: rgba(255,255,255,.1);
	font-size: 15vw;
	padding-right: 1em;
	white-space: nowrap;
	top: 0;
	left: 0;
	transform: translateX(-100%);
	animation: titleSlide 60s linear var(--sec) infinite forwards;
}
.about-title:before{
	content: attr(data-slide);
	font-family: var(--jost);
	font-weight: 500;
	--sec: 0s;
}
.about-title-slide{--sec: -30s;}
@keyframes titleSlide{
	0%{transform: translateX(100%);}
	100%{transform: translateX(-100%);}
}
.about-title-desc{
	line-height: 1.8;
	font-size: 2.5vw;
}
.about-title-desc-group{display: block;}
.about-title-desc-item{
	display: table-cell;
	transform: skewX(-15deg);
}
.about-content{
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 7vw 0;
}
.about-content:before{
	content: "";
	position: absolute;
	width: 200%;
	height: calc(100vw * 1.125);
	top: 40%;
	left: 50%;
	background: rgba(255,255,255,.05);
	clip-path: polygon(0 0, 50% 0, 90% 100%, 0 100%);
	transform: translateX(-50%);
	z-index: -1;
}
.about-img-wrap{
	position: relative;
	height: 0;
	left: -7vw;
	padding-bottom: 56.25%;
	background: #fff;
	clip-path: polygon(0 0, 60% 0, 100% 100%, 0 100%);
}
.about-img{
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 5vw;
	transform: translateX(-15%);
}
.about-list{
	position: relative;
	z-index: 1;
	padding-top: 8vw;
	counter-reset: about-count;
}
.about-list:before, .about-list:after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 7vw;
	z-index: -1;
}
.about-list:before{
	background: rgb(var(--expo-red));
	left: 7vw;
}
.about-list:after{
	background: #333;
	left: -7vw;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), calc(100% - 7vw) 100%, 0 100%);
}
.about-list-item{
	position: relative;
	min-height: calc((100vw - 14vw) / 32 * 9 - 7vw);
	width: 50%;
	padding-right: 7vw;
	margin-bottom: 14vw;
}
.about-list-title{
	position: relative;
	font-size: 1.9vw;
	padding: .5em 0 1.25em;
	counter-increment: about-count;
}
.about-list-title:before{
	content: counter(about-count)". "attr(data-sub);
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2.75vw;
	color: silver;
	transform: translateY(-100%) skewX(-15deg);
}
.about-list-title:after{
	content: "";
	position: absolute;
	width: 50vw;
	height: .2vw;
	background: rgba(var(--area-rgb));
	left: 0;
	bottom: .5em;
}
.about-list-title-inner{
	display: inline-block;
	transform: skewX(-15deg);
}
.about-list-img-wrap{
	position: absolute;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	top: -7vw;
	left: 100%;
}
.about-list-img{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	top: 0;
	left: 0;
}
.about-list-text{line-height: 1.8;}
@media(orientation: portrait){
	.about-img{padding: 5vh;}
	.about-content:before{
		width: 300vh;
		height: calc(100vh * 1.6875);
		top: 20%;
	}
}
@media(orientation: portrait) and (max-width: 575px){
	.about-section:before{
		width: 80%;
		top: 5%;
	}
	.about-list-item{
		width: 100%;
		padding-right: 14vw;
		padding-top: 60%;
		margin-bottom: 25vw;
	}
	.about-list-title{
		font-size: 3.9vw;
		padding-bottom: 1.5em;
	}
	.about-list-title:before{font-size: 5.5vw;}
	.about-list-title:after{width: 100%;}
	.about-list-img-wrap{left: 0;}
}
@media(min-width: 575px) and (max-width: 992px){
	.about-list-item{padding-right: 2vw;}
	.about-list-title{font-size: 2.2vw;}
	.about-list-title:before{font-size: 3.1vw;}
}
@media(orientation: landscape) and (max-width: 992px){
	.about-content:before{top: 20%;}
	.about-list-text{font-size: 14px;}
}
@media(max-width: 992px){
	.about-title-desc{font-size: 3vw;}
}
@media(max-width: 575px){
	.about-title-desc{font-size: 6vw;}
	.about-title-desc-item{display: block;}
	.about-title:before, .about-title-slide{font-size: 30vw;}
	.about-content{
		grid-template-columns: 1fr;
		gap: 2.2em;
	}
	.about-list-text{font-size: 14px;}
}
@media(max-width: 360px){
	.about-content:before{top: 10%;}
}

/* theme */
.theme-section{
	background: rgba(255,255,255,.85);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	padding-left: 0;
	padding-right: 0;
	overflow: visible;
}
.theme-section:before, .theme-section:after{
	content: "";
	position: absolute;
	width: var(--size);
	height: var(--size);
	background: #000;
	z-index: -1;
}
.theme-section:before{
	--size: 40vw;
	top: 0;
	left: 0;
	clip-path: polygon(0 0, 100% 0, 0 100%);
}
.theme-section:after{
	--size: 20vw;
	bottom: 0;
	right: 0;
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
.theme-title{
	font-size: 5vw;
	margin-bottom: 1em;
	line-height: 1.6;
	color: #fff;
	mix-blend-mode: difference;
	transform: translate3d(0,0,0);
}
.theme-title-inner{transform: skewX(-15deg);}
.theme-content p, .theme-footnote-item, .theme-greeting-content p{
	line-height: 1.8;
	margin-bottom: 2.2em;
}
.theme-footnote-wrap{
	background: rgba(0,0,0,.5);
	color: #fff;
	overflow: hidden;
}
.theme-footnote-switch{
	position: relative;
	display: block;
	padding: 2em 3em 2em 2em;
	cursor: pointer;
	transition: box-shadow 1s;
}
.theme-footnote-switch:hover, .theme-footnote-switch:has(.theme-footnote-check:checked){background: rgba(0,0,0,.25);}
.theme-footnote-switch:has(.theme-footnote-check:checked){box-shadow: 0 .25em 1em #fff, 0 1em 1em rgb(var(--area-rgb));}
.theme-footnote-list{
	padding: 0 2rem;
	transition: .5s;
	max-height: 0;
	font-size: 14px;
	overflow: hidden;
}
.theme-footnote-switch:has(.theme-footnote-check:checked) ~ .theme-footnote-list{
	padding: 2rem;
	max-height: 9999px;
}
.theme-footnote-item:last-of-type{margin-bottom: 0;}
.theme-introduction{
	position: relative;
	padding: 0 7vw;
}
.theme-background{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: .07;
}
.theme-background-sticky{
	position: sticky;
	top: 100px;
	left: 0;
	width: 100%;
	overflow: hidden;
}
.theme-background-img{
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: contain;
	left: 10%;
}
.theme-greeting{
	margin: 5em 0 0;
	padding: 0 7vw;
}
.theme-greeting-img-wrap{
	position: relative;
	height: 0;
	width: 100%;
	padding-top: 100%;
	margin: 0 auto 1em;
}
.theme-greeting-img-wrap:after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, #000, transparent 70%);
	top: 0;
	left: 0;
}
.theme-greeting-img{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	top: 0;
	left: 0;
}
.theme-leader-name-wrap{
	position: absolute;
	bottom: 1em;
	right: 1em;
	text-align: right;
	color: #fff;
	z-index: 9;
	line-height: 1.6;
	white-space: nowrap;
	overflow: hidden;
}
.theme-leader-name{
	position: relative;
	display: inline-block;
}
.theme-leader-name:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, transparent, rgb(var(--area-rgb)));
	top: 50%;
	right: 100%;
	transform: translate(-.5em, -50%);
}
@media(min-width: 576px) and (max-width: 991px){
	.theme-greeting-img-wrap{
		width: 50%;
		padding-top: 50%;
	}
}
@media(min-width: 992px){
	.theme-content, .theme-footnote-wrap{width: 65%;}
	.theme-section:before{--size: 30vw;}
	.theme-section:after{--size: 15vw;}
	.theme-title{font-size: 3.5vw;}
	.theme-background{opacity: .14;}
	.theme-background-sticky{
		width: 50%;
		left: 50%;
	}
	.theme-greeting{
		display:grid;
		grid-template-columns: 30% calc(70% - 2em);
		gap: 2em;
	}
}

/* voice */
.voice-section{
	background: rgba(var(--expo-blue));
	color: #fff;
}
.voice-title{
	text-align: right;
	line-height: 1.5;
}
.voice-title-sub{font-size: 2vw;}
.voice-title-main{
	font-size: 3vw;
	transform: skewX(-15deg);
}
.voice-list{
	display: grid;
	gap: 7vw;
	margin-top: 7vw;
	--position: -1.75vw;
}
.voice-list-item{
	position: relative;
	padding: 2em;
	background: rgba(255,255,255,.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 5px;
}
.voice-name{
	background: rgb(var(--expo-red));
	padding: 1em;
	position: absolute;
	width: 94%;
	top: var(--position);
	right: 0;
	padding-left: 8vw;
	clip-path: polygon(0 0, 100% 0, calc(100% - 2em) 100%, 0 100%);
}
.voice-img-wrap{
	position: absolute;
	width: 15vw;
	top: var(--position);
	left: -5vw;
	border: 10px solid rgb(var(--expo-red));
	border-radius: 50%;
	overflow: hidden;
}
.voice-img{
	width: 100%;
	object-fit: cover;
}
.voice-person-info{margin: 1.5em 0 0 10vw;}
.voice-igip-team, .voice-current-career{
	margin: 1.5em 0;
	line-height: 1.8;
	font-size: 14px;
}
.voice-past-tag, .voice-current-tag{
	display: inline-block;
	padding: 0 1em;
	background: rgba(var(--expo-light-blue),.8);
	font-size: .9em;
	margin-bottom: .5em;
}
.voice-comment{
	margin-top: 2em;
	line-height: 1.8;
}
.voice-back, .voice-back-inner{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.voice-back{
	z-index: -1;
	background: linear-gradient(90deg, transparent 0%, transparent 100%),
		radial-gradient(at bottom, rgba(255, 255, 255, 0.1) 0%, transparent 100%),
		radial-gradient(at bottom, rgba(255, 255, 255, 0.25) 0%, rgba(0, 0, 0, 0.08) 63%);
	overflow: hidden;
}
.voice-back-inner:before, .voice-back-inner:after{
	content: "";
	position: absolute;
    width: 25vw;
    height: 25vw;
    border: 2.5vw solid rgb(var(--expo-light-blue));
    border-radius: 50%;
    transform-origin: center;
    animation: voiceBack 4s linear var(--delay) infinite forwards;
    opacity: .5;
}
.voice-back-inner:first-of-type:before{
	top: -5%;
	left: -5%;
	--delay: -4s;
}
.voice-back-inner:first-of-type:after{
	top: 5%;
	left: 60%;
	--delay: -7s;
}
.voice-back-inner:nth-of-type(2):before{
	top: 45%;
	left: 45%;
	--delay: -6s;
}
.voice-back-inner:nth-of-type(2):after{
	top: 75%;
	left: 80%;
	--delay: -2s;
}
.voice-back-inner:nth-of-type(3):before{
	top: 60%;
	left: -5%;
	--delay: -3s;
}
.voice-back-inner:nth-of-type(3):after{
	top: 88%;
	left: 45%;
	--delay: -5s;
}
.voice-back-inner:nth-of-type(4):before{
	top: 20%;
	left: 10%;
	--delay: -1s;
}
.voice-back-inner:nth-of-type(4):after{
	top: 25%;
	left: 90%;
	--delay: 0s;
}
@keyframes voiceBack{
	0%{
		border: 0px solid rgb(var(--expo-light-blue));
		transform: scale(0);
	}
	25%{
		border: 2.5vw solid rgb(var(--expo-light-blue));
	}
	50%{
		border: 2.5vw solid rgb(var(--expo-light-blue));
		transform: sclae(1);
	}
	75%{
		border: 0px solid rgb(var(--expo-light-blue));
	}
	100%{
		border: 0px solid rgb(var(--expo-light-blue));
		transform: scale(1);
	}
}
@media(orientation: portrait){
	.voice-back-inner:before, .voice-back-inner:after{
		width: 25vh;
		height: 25vh;
	}
	.voice-back-inner:first-of-type:before{
		top: 0;
		left: 0;
	}
	.voice-back-inner:nth-of-type(2):before{
		top: 15%;
		left: -5%;
	}
	.voice-back-inner:nth-of-type(2):after{
		top: 40%;
		left: -5%;
	}
	.voice-back-inner:nth-of-type(3):before{
		top: 50%;
		left: 50%;
	}
	.voice-back-inner:nth-of-type(3):after{left: 70%;}
	.voice-back-inner:nth-of-type(4):before{
		top: 70%;
		left: -10%;
	}
	.voice-back-inner:nth-of-type(4):after{left: 60%;}
}
@media(min-width: 992px){
	.voice-list{
		grid-template-columns: 1fr 1fr;
	}
}
@media(max-width: 991px){
	.voice-title-sub{font-size: 3vw;}
	.voice-title-main{font-size: 5vw;}
	.voice-list{--position: -3vw;}
	.voice-person-info{margin-left: 20vw;}
	.voice-img-wrap{width: 25vw;}
	.voice-name{
		width: 92%;
		padding-left: 15vw;
	}
}
@media(max-width: 575px){
	.voice-list-item{
		padding: 1em;
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);

	}
	.voice-title-sub{font-size: 5vw;}
	.voice-title-main{font-size: 7vw;}
	.voice-list{
		margin-top: 10vh;
		gap: 10vh;
		--position: -7vw;
	}
	.voice-person-info{
		margin: 7vw 0 0 35vw;
	}
	.voice-img-wrap{width: 40vw;}
	.voice-name{
		padding-left: 25vw;
		width: 82%;
	}
}
@media(max-width: 359px){
	.voice-person-info{margin: 35vw 0 0;}
}

/* achievements */
.achievements-section{
	background: #333;
	color: #fff;
}
.achievements-section:before, .achievements-section:after{
	content: "";
	position: absolute;
	width: 60%;
	height: 60%;
	z-index: -1;
}
.achievements-section:before{
	top: 0;
	left: 0;
	background: linear-gradient(-45deg, #000, rgba(255,255,255,.1));
	clip-path: polygon(0 0, 100% 0, 0 100%);
}
.achievements-section:after{
	bottom: 0;
	right: 0;
	background: linear-gradient(45deg, #000, rgba(255,255,255,.1));
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
.achievements-title{
	position: relative;
	display: inline-block;
	font-size: 2vw;
	margin-bottom: 3em;
	line-height: 1.8;
}
.achievements-title:before{
	content: attr(data-title);
	position: absolute;
	top: 100%;
	left: 0;
	font-family: var(--zen);
	font-size: 1.25em;
	transform: skewX(-15deg);
}
.achievements-title:after{
	content: "";
	position: absolute;
	width: 100%;
	height: .25vw;
	background: rgb(var(--expo-red));
	top: 100%;
	left: 0;
}
.achievements-list-wrap{
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
}
.achievements-list-item{
	padding: 2em 1em;
	background: rgba(var(--expo-light-blue),.1);
	border: 1px solid rgb(var(--expo-light-blue));
	line-height: 1.8;
}
.achievements-list-item:first-of-type{
	background: none;
	border: none;
	padding: 0;
}
.achievements-list-title{
	position: relative;
	font-size: 1.5vw;
	margin: 0 0 1em;
}
.achievements-list-title:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: rgba(var(--expo-light-blue));
	top: 100%;
	left: 0;
}
.achievements-list-content li{
	position: relative;
	font-size: 14px;
	line-height: 1.5;
	padding-left: 1rem;
	margin: .5em 0;
}
.achievements-list-content > li:before{
	content: "";
	position: absolute;
	width: 2px;
	height: 1em;
	background: rgb(var(--area-rgb));
	top: .25em;
	left: 0;
}
.achievements-list-detail li:before{
	content: "";
	position: absolute;
	width: .6em;
	height: 1px;
	background: rgba(var(--area-rgb));
	top: .75em;
	left: 0;
}
.achievements-list-others{font-size: 14px;}
.achievements-torophy-wrap{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 150vh;
	z-index: -1;
	transform: translateX(30%);
}
.achievements-torophy{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
@media(min-width: 992px){
	.achievements-list-item{width: calc(33.33% - 1.4em);}
}
@media(min-width: 575px) and (max-width: 992px){
	.achievements-list-item{width: calc(50% - 1em);}
	.achievements-list-title{font-size: 2.5vw;}
}
@media(orientation: portrait){
	.achievements-title{font-size: 2.5vh;}
	.achievements-torophy-wrap{
		width: 150vw;
		height: 100vh;
		transform: translateX(30%);
	}
}
@media(max-width: 575px){
	.achievements-list-title{font-size: 2.75vh;}
	.achievements-list-wrap{gap: 1.5em;}
	.achievements-list-item{width: 100%;}
}

/* program */
.program-section{
	background: #fff;
	overflow: visible !important;
}
.program-section:after{
	content: "";
	position: absolute;
	height: 100%;
	width: 7vw;
	background: rgb(var(--area-rgb));
	top: 0;
	left: 0;
}
.program-title{
	position: sticky;
	writing-mode: vertical-lr;
	transform: scale(-1);
	background: #333;
	color: #fff;
	font-size: 2vw;
	font-weight: 700;
	padding: 0 1em;
	height: 50vh;
	left: 0;
	top: var(--header-height);
	margin-left: -7vw;
	text-align: center;
	white-space: nowrap;
	z-index: 19;
	clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 calc(100% - 10px), 10px 100%, 0 calc(100% - 10px), 0 10px);
}
.program-list{
	position: relative;
	margin: -50vh 0 0 14vw;
}
.program-list:before{
	content: "";
	position: absolute;
	width: 1.5px;
	height: calc(100% + 20vw);
	top: -10vw;
	left: 0;
	background: linear-gradient(0, transparent, rgb(var(--expo-blue)) 5%, rgb(var(--expo-blue)) 95%, transparent);
}
.program-list-item{
	position: relative;
	margin: 0 0 4em 2vw;
}
.program-list-title{
	position: relative;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.5;
}
.program-list-title:before{
	content: "";
	position: absolute;
	width: 1em;
	height: 1em;
	background: rgb(var(--expo-blue));
	border-radius: 50%;
	left: -2vw;
	top: 0.3em;
	transform: translateX(calc(-50% + .75px));
	box-shadow: inset 0 0 0 .15em #fff;
	border: 1.5px solid rgb(var(--expo-blue));
}
.program-list-title-sub{
	position: relative;
	font-size: 1.25em;
	transform: skewX(-15deg);
	line-height: 1.5;
	margin: .25em 0 .5em;
	color: #fff;
	padding: .25em 1em;
}
.program-list-title-sub:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(90deg, rgb(var(--expo-blue)) 25%, transparent);
	z-index: -1;
}
.program-list-date{
	position: absolute;
	right: calc(100% + 3.5vw);
	width: 3em;
	text-align: center;
	top: 0;
	line-height: 2;
	font-size: 1.25em;
	color: #777;
}
.program-list-card-item{
	margin: 1em 0 2em;
}
.program-list-card-title{
	position: relative;
	display: inline-block;
	line-height: 1.5;
	padding: 1.5em 0 0 2em;
	margin-bottom: .5em;
}
.program-list-card-title-inner{
	display: inline-block;
	transform: skewX(-15deg);
}
.program-list-card-title:before{
	position: absolute;
	content: attr(data-en);
	font-family: var(--jost);
	font-weight: 500;
	color: rgb(var(--expo-red));
	top: 0;
	left: 0;
}
.program-list-card-title:after{
	content: "";
	position: absolute;
	width: 1.5em;
	height: 1.5px;
	background: rgb(var(--expo-red));
	bottom: .75em;
	left: 0;
}
.program-list-card-list{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.program-list-card-list-item{
	position: relative;
	padding: 125% 1em 1em;
	line-height: 1.5;
	overflow: hidden;
}
.program-list-card-list-item:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 50%;
	bottom: 0;
	left: 0;
	background: linear-gradient(transparent, #000 90%);
	z-index: 9;
}
.program-list-card-list-title, .program-list-card-list-subtitle{
	position: relative;
	color: #fff;
	z-index: 9;
	width: 100%;
	text-align: right;
	padding-bottom: .25rem;
}
.program-list-card-list-subtitle{font-size: .8em;}
.program-list-card-list-subtitle-inner{
	display: inline-block;
	text-align: left;
}
.program-list-card-content{
	line-height: 1.8;
}
.program-list-card-list-img-wrap{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transition: .5s;
}
.program-list-card-list-item:hover .program-list-card-list-img-wrap{transform: scale(1.1);}
.program-list-card-list-img{
	display: inline-block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.program-list-card-text-item{
	padding-left: 0.5em;
	border-left: 3px solid rgba(var(--area-rgb),.5);
	line-height: 1.5;
	margin-bottom: 1em;
}
.program-list-card-text-title{
	font-weight: 700;
}
.program-list-card-img-wrap{
	padding: 1em;
	background: rgba(var(--area-rgb),.5);
	border: 1px solid rgb(var(--area-rgb));
	margin: 1em auto;
}
.program-list-card-img{width: 100%;}
.program-back{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
	z-index: -1;
}
.program-back-inner{
	display: block;
	position: absolute;
	height: 25vh;
	width: 2em;
	transform: skewX(45deg);
	overflow: hidden;
}
.program-back-inner:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 200%;
	background: rgba(var(--expo-light-blue),.3);
	top: 0;
	left: 0;
	animation: programSlash 5s ease 0s infinite forwards, programSlashColor 10s ease 0s infinite forwards;
}
@keyframes programSlash{
	0%{transform: translateY(-200%);}
	75%{transform: translateY(200%);}
	100%{transform: translateY(200%);}
}
@keyframes programSlashColor{
	0%{background: rgba(var(--expo-light-blue),.3);}
	50%{background: rgba(var(--expo-light-blue),.3);}
	50.1%{background: rgba(var(--area-rgb),.3);}
	100%{background: rgba(var(--area-rgb),.3);}
}
.program-back-inner:first-of-type{
	top: 2%;
	right: 10%;
}
.program-back-inner:nth-of-type(2){
	top: 5%;
	left: 20%;
}
.program-back-inner:nth-of-type(3){
	top: 10%;
	left: 75%;
}
.program-back-inner:nth-of-type(4){
	left: 10%;
	top: 15%;
}
.program-back-inner:nth-of-type(5){
	left: 25%;
	top: 30%;
}
.program-back-inner:nth-of-type(6){
	top: 25%;
	right: 25%;
}
.program-back-inner:nth-of-type(7){
	top: 35%;
	right: 10%;
}
.program-back-inner:nth-of-type(8){
	top: 50%;
	left: 60%;
}
.program-back-inner:nth-of-type(9){
	top: 60%;
	left: 20%;
}
.program-back-inner:nth-of-type(10){
	top: 70%;
	right: 20%;
}
.program-back-inner:nth-of-type(11){
	top: 75%;
	left: 30%;
}
.program-back-inner:nth-of-type(12){
	top: 80%;
	right: 20%;
}
.program-back-inner:nth-of-type(13){
	left: 30%;
	top: 90%;
}
.program-back-inner:nth-of-type(14){
	top: 40%;
	left: 20%;
}
.program-back-inner:nth-of-type(15){
	top: 95%;
	right: 10%;
}
@media(max-width: 992px){
	.program-list-title-sub{font-size: 2.3vw;}
	.program-list-title-sub:before{background: linear-gradient(90deg, rgb(var(--expo-blue)) 75% , transparent);}
	.program-list-card-list{grid-template-columns: 1fr 1fr;}
}
@media(max-width: 575px){
	.program-section:after{display: none;}
	.program-title{
		writing-mode: inherit;
		transform: scale(1);
		font-size: 6vw;
		background: rgba(var(--area-rgb),.75);
		margin-top: -10vh;
		width: 100vw;
		height: auto;
		padding: 1em 0;
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px));
	}
	.program-list{
		margin: 0;
		padding: 3em 0 0 1em;
	}
	.program-list-date{
		right: 100%;
		transform: translateX(100%);
		text-align: left;
	}
	.program-list-title {
	    padding-top: 2em;
	    font-size: 1.25em;
	}
	.program-list-title:before{
		left: -1.15em;
		top: .55em;
	}
	.program-list-title-sub{font-size: 3.3vw;}
	.program-list-card-list{grid-template-columns: 1fr;}
}
@media(min-width: 992px){
	.program-list-card-img-wrap{width: 50%;}
}

/* info */
.info-section{
	background: rgba(0,0,0,.8);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #fff;
	z-index: 1;
	overflow: visible;
}
.info-title{
	padding: 2em 0;
	text-align: center;
	line-height: 1.5;
}
.info-title-en{
	display: block;
	font-size: 4.5vw;
	color: rgba(255,255,255,.5);
}
.info-title-jp{
	display: inline-block;
	font-size: 2.5vw;
	transform: skewX(-15deg);
}
.info-list{
	max-width: 750px;
	margin: auto;
}
.info-list-item{
	margin: 2em 0;
	overflow: hidden;
}
.info-list-label{
	position: relative;
	display: block;
	line-height: 1.6;
	padding: 2em 3em 2em 2em;
	background: rgba(255,255,255,.1);
	transition: 1s;
}
.info-checkbox:checked ~ .info-list-title .info-list-label{
	box-shadow: 0 .25em 1em #fff, 0 1em 1em rgb(var(--area-rgb));
	text-shadow: 0 0 5px rgb(var(--area-rgb)), 0 0 10px rgb(var(--area-rgb)), 0 0 15px rgb(var(--area-rgb));
}
.info-list-label:before, .theme-footnote-switch:before{
	content: "";
	position: absolute;
	width: .5em;
	height: .5em;
	border-bottom: 2px solid;
	border-right: 2px solid;
	top: 50%;
	right: 1em;
	transform: translate(-50%, -50%) rotate(45deg);
	transition: transform .3s, filter 1s;
}
.info-checkbox:checked ~ .info-list-title .info-list-label:before, .theme-footnote-switch:has(.theme-footnote-check:checked):before{
	transform: translate(-50%, -50%) rotate(225deg);
	filter: drop-shadow(0 0 5px rgb(var(--area-rgb))) drop-shadow(0 0 5px rgb(var(--area-rgb))) drop-shadow(0 0 5px rgb(var(--area-rgb)))
}
.info-list-content{
	max-height: 0;
	overflow: hidden;
	transition: .3s;
	padding: 0 2em;
	background: rgba(255,255,255,.2);
}
.info-checkbox:checked ~ .info-list-content{
	max-height: 999px;
	padding: 2em;
}
.info-list-text{line-height: 1.8;}
.info-list-link{
	margin: 1em auto 2em;
}
.info-list-link:before{background: rgb(var(--area-rgb));}
.info-inner-list-title{
	line-height: 1.8;
	margin: 0 0 .5em;
	font-weight: 700;
}
.info-back, .info-back-inner{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}
.info-back-inner{
	position: sticky;
	height: 100vh;
	background: rgba(var(--expo-blue),.5);
	clip-path: polygon(50% 0, 70% 0, 90% 30%, 40% 100%, 20% 100%, 70% 30%);
	overflow: hidden;
}
.info-back-inner:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, transparent, rgba(255,255,255,.25), transparent);
	top: 0;
	left: 0;
	transform: translateY(-100%);
	animation: infoBackEffect 5s ease 0s infinite forwards;
}
@keyframes infoBackEffect{
	0%{}
	50%{transform: translateY(100%);}
	100%{transform: translateY(100%);}
}

@media(orientation: portrait){
	.info-title{
		line-height: 2;
		padding: 1em 0;
	}
	.info-title-jp{font-size: 5vw;}
	.info-back-inner{clip-path: polygon(10% 0, 30% 0, 90% 40%, 20% 100%, 0 100%, 70% 40%);}
}
@media(max-width: 575px){
	.info-list-content{
		padding: 0 1em;
	}
	.info-checkbox:checked ~ .info-list-content{
		padding: 2em 1em 1em;
	}
	.info-list-link{width: 100%;}
}
@media(min-width: 450px){
	.info-list-link{min-width: 25em;}
}

/* expo */
.expo-section{letter-spacing: 0.15em;}
.expo-2{
	background: rgb(var(--expo-blue));
	color: #fff;
}
.expo-section section, .expo-inner{
	display: grid;
	gap: 2em 0;
}
.expo-inner{
	max-width: 750px;
	margin: auto;
}
.expo-section h2, .expo-section h3{
	line-height: 1.6;
	font-weight: 700;
}
.expo-section h2{font-size: 1.3em;}
.table-center{
	display: table;
	margin: auto;
}
.expo-section h3{
	text-align: center;
	color: rgb(var(--myaku-blue));
}
.expo-section h3:before{
	content: attr(data-en);
	display: block;
	width: 100%;
	font-size: 2em;
	font-weight: 700;
	line-height: 1.2;
	color: #555;
}
.expo-section .long-text{line-height: 2;}
.expo-section .long-text p{margin-bottom: 2em;}
.expo-section .long-text p:last-of-type{margin-bottom: 0;}
.expo-section section{
	position: relative;
	margin: 3em 0;
	z-index: 1;
}
.expo-wakazo{
	background: rgba(var(--wakazo-rgb),.1);
	border: 1px solid rgb(var(--wakazo-rgb));
	padding: 2em 1.5em;
}
.expo-wakazo .logo{
	display: block;
	order: -1;
	width: 125px;
	margin: auto;
}
.expo-links .links{
	display: grid;
	gap: 1em;
}
.expo-links a{
	position: relative;
	display: grid;
	height: 5em;
	padding-right: 2em;
	border: 1px solid #777;
	background: #fff;
	border-radius: 9px;
	place-content: center;
	transition: .5s;
}
.expo-links a:hover{opacity: .75;}
.expo-links a:before{
	content: "";
	position: absolute;
	width: .5em;
	height: .5em;
	border-top: 2px solid #777;
	border-right: 2px solid #777;
	top: 50%;
	right: 1em;
	transform: translateY(-50%) rotate(45deg);
	transition: .5s;
}
.expo-links a:hover:before{transform: translate(.25em, -50%) rotate(45deg);}
.expo-links img{
    position: absolute;
    height: 75%;
    width: calc(100% - 4em);
    object-fit: contain;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.expo-links .expo-svg{
    top: 0;
	transform: translate(-65%, -50%);
	width: 50%;
	left: 0;
}
.expo-schedule-list{
	display: grid;
	gap: 1.5em 1em;
	margin: auto;
}
.expo-schedule-list > div{
	display: grid;
	gap: 0 1em;
	line-height: 1.6;
	padding-left: 1em;
	border-left: 3px solid rgb(var(--color));
}
.expo-schedule-list dd{
	order: -1;
	letter-spacing: 0;
}
.expo-2 .common-button{
	padding-top: .5em;
	padding-bottom: .5em;
	font-size: 4.5vw;
}
.expo-links-back, .expo-back-wrap{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
	background: #fff;
}
.expo-links-back{
	background: transparent;
	width: 100vw;
}
.expo-svg{position: absolute;}
.expo-1-red{
    left: 50%;
    top: 0;
    transform: translate(50%, -10%) rotate(-120deg) scale(2, -2);
}
.expo-1-red-2, .expo-1-blue-2{filter: brightness(1.2);}
.expo-1-red-2{transform: translate(50%, -20%) rotate(-120deg) scale(1.5, -1.5);}
.expo-1-blue{
    bottom: 0;
    right: 50%;
    transform: translate(-10%, 70%) rotate(60deg) scale(-2, 2);
}
.expo-1-blue-2{transform: translate(-30%, 60%) rotate(-30deg) scale(-1.25, 1.25);}
.expo-blue-circle, .expo-red-circle{
	position: absolute;
	--size: 7vh;
	width: var(--size);
	height: var(--size);
	--color: rgb(var(--myaku-blue));
	color: var(--color);
	background: var(--color);
	border-radius: 50%;
}
.expo-red-circle{--color: rgb(var(--myaku-red));}
.expo-circle-1{
	top: calc(var(--size) / 3);
	left: var(--size);
}
.expo-circle-2{
	background: transparent;
	border: 3px solid;
	--size: 3vh;
	top: calc(3 * var(--size));
	left: var(--size);
}
.expo-circle-3{
    --size: 5vh;
    top: calc(2.75 * var(--size));
    left: var(--size);
}
.expo-circle-4{
	bottom: calc(var(--size) / 2);
	right: calc(var(--size) / 2);
}
.expo-circle-5{
	--size: 3vh;
	background: transparent;
	border: 3px solid;
	bottom: calc(var(--size) / 2);
	right: calc(var(--size) * 4);
}
.expo-circle-6{
	--size: 4vh;
	bottom: calc(var(--size) * 3);
	right: calc(var(--size) / 2.75);
}

.expo-diagram{
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 75%;
	letter-spacing: .1em;
	counter-reset: diagram-question;
}
.expo-diagram section{
	position: absolute;
	gap: .25em;
	margin: 0;
	font-size: 1.75vw;
}
section.diagram-start, section.diagram-goal{z-index: 9;}
.diagram-start{
	bottom: 0;
	left: 0;
    background: rgb(var(--myaku-blue));
    padding: 1.5em;
    border-radius: 65% 35% 76% 24% / 37% 52% 48% 63%;
}
.diagram-mid{
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.diagram-goal{
	top: 0;
	right: 0;
	background: rgb(var(--myaku-red));
    padding: 5em 3em;
	border-radius: 25% 75% 67% 33% / 51% 48% 52% 49%;
}
.expo-diagram h3{
	font-size: 1.2em;
	font-weight: 700;
	color: #fff;
}
.expo-diagram li{
	counter-increment: diagram-question;
	line-height: 1.6;
}
.expo-diagram li:before{
	content: "Q" counter(diagram-question) ". ";
	font-weight: 700;
}
.diagram-mid h3, .diagram-mid ol{position: absolute;}
.diagram-mid h3{
	top: 50%;
	left: 50%;
	transform: translate(-62%, 50%) rotate(-45deg);
	z-index: 1;
}
.diagram-mid ol{
	display: grid;
	gap: .5em;
	padding: 1.5em;
	border: 1px solid;
}
.diagram-mid:before, .diagram-mid ol:before, .mid-3:after{
	content: "";
	position: absolute;
}
.diagram-mid ol:before, .mid-3:after{
	height: 1px;
	top: 50%;
	background: #fff;
}
.diagram-mid:before{
    width: 55%;
    --height: 10vw;
    --arrow-left: calc(var(--height) / 5);
    --arrow-right: calc(var(--height) / 5 * 4);
    height: var(--height);
    background: linear-gradient(90deg, rgb(var(--myaku-blue)), rgb(var(--myaku-red)));
    top: 55%;
    left: 46%;
    transform: translate(-52.5%, -47.5%) rotate(-45deg);
    clip-path: polygon(0 var(--arrow-left), 85% var(--arrow-left), 85% 0, 100% 50%, 85% 100%, 85% var(--arrow-right), 0 var(--arrow-right));
    z-index: 1;
}
.mid-1{
	bottom: .5em;
	right: 0;
	width: 37vw;
}
.mid-1:before{
	width: 100%;
	right: 100%;
}
.mid-2{
    top: 47%;
    right: 0;
    width: 37vw;
}
.mid-2:before{
	width: 50%;
	right: 100%;
}
.mid-3{
	top: 2em;
	left: 0;
}
ol.mid-3:before{
	height: 40vw;
	width: 1px;
	top: 100%;
	left: 7.5em;
}
.mid-3:after{
	width: 35%;
	left: 100%;
}

.expo-2 .expo-back-wrap{background: rgb(var(--igip-rgb));}
.expo-2-red-1{
    top: 0;
    left: 0;
    transform: translate(-30%, -50%) rotate(-40deg) scale(1, .5);
}
.expo-2-red-2{
    bottom: 0;
    right: 0;
    transform: translate(35%, 27.5%) rotate(125deg) scale(1, .5);
}
.expo-2-white-1{
    left: 0;
    top: 0;
    transform: translate(-25%, -50%) rotate(135deg) scaleX(-1);
}
.expo-2-white-2{
    right: 0;
    bottom: 0;
    transform: translate(40%, 20%) rotate(-45deg) scaleX(-1);
}
@media(min-width: 600px){
	.expo-section h2{font-size: 1.6em;}
	.expo-links .links{grid-template-columns: 1fr 1fr 1fr;}
	.expo-schedule-list > div{grid-template-columns: 12.5em 1fr;}
	.expo-2 .common-button{font-size: 1.2em;}
}
@media(min-width: 873px){
	.expo-diagram section{font-size: 13.15px;}
	.diagram-mid:before{
		--height: 89.29px;
		width: calc(750px * .7);
	}
	.diagram-mid h3{transform: translate(-65%, 50%) rotate(-45deg);}
	.mid-1, .mid-2{width: 300px;}
	ol.mid-3:before{height: 357px;}
	.mid-3:after{width: calc(750px / 3);}
}
@media(min-width: 992px){
	.expo-links .expo-svg{
		width: 45%;
		transform: translate(-100%, -50%);
	}
}
@media(orientation: landscape){
	.expo-blue-circle, .expo-circle-4{--size: 7vw;}
	.expo-circle-2, .expo-circle-5{--size: 3vw;}
	.expo-circle-3{--size: 5vw;}
	.expo-circle-6{--size: 4vw;}
}

/* advisors&supporters */
.advisors-section{
	background: #333;
	position: relative;
	z-index: 1;
}
.advisors-section-inner{
	position: relative;
	padding: 10vw 7vw;
	z-index: 1;
}
.advisors-wrap:before, .supporters-wrap:before{
	content: "";
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
}
.advisors-wrap:before{
	height: 125%;
	background: rgba(var(--expo-blue),.2);
	clip-path: polygon(0 0, 10% 0, 60% 40%, 0 100%);
}
.supporters-wrap:before{
	height: 100%;
	background: rgba(var(--expo-red),.2);
	clip-path: polygon(100% 0, 100% 100%, 0 70%, 0 60%);
}
.advisors-title{
	position: relative;
	font-size: 2vw;
	padding: 3em 0 2em;
	color: #fff;
}
.advisors-title:before{
	content: attr(data-en);
	font-size: 2.5em;
	font-family: var(--jost);
	font-weight: 500;
	position: absolute;
	top: 0;
	left: 0;
	border-bottom: 2px solid rgb(var(--expo-light-blue));
	line-height: 1.05;
}
.advisors-title-inner{
	display: inline-block;
	transform: skewX(-15deg);
}
.advisors-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2em;
}
.advisors-list-item{
	position: relative;
	background-size: cover;
	background-position: center center;
	text-align: center;
	padding: calc(50% + 3em) 3.5vw 2em;
	overflow: hidden;
	width: 100%;
}
.advisors-list-item:before, .advisors-list-item:after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(var(--expo-blue),.1);
	clip-path: polygon(0 20%, 100% 80%, 100% 100%, 0 100%);
}
.advisors-list-item:after{
	background: rgba(var(--expo-light-blue),.2);
	clip-path: polygon(0 0, 80% 0, 0 60%);
}
.advisors-list-name, .advisors-list-img-wrap, .advisors-list-subtitles{
	z-index: 5;
}
.advisors-list-name{
	position: relative;
	display: inline-block;
	padding: 1em 0;
}
.advisors-list-img-wrap{
	position: absolute;
	width: 50%;
	height: 0;
	top: 2em;
	left: 50%;
	padding-top: 50%;
	border-radius: 50%;
	overflow: hidden;
	transform: translateX(-50%);
}
.advisors-list-img{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.advisors-list-subtitles{
	position: relative;
	line-height: 1.5;
}
.advisors-list-subtitles li{
	position: relative;
	padding: .5em 0;
}
.advisors-list-subtitles li:before{
	content: "";
	position: absolute;
	width: 3em;
	height: 2px;
	background: rgba(var(--area-rgb),.5);
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.advisors-list-subtitles li:last-of-type:before{display: none;}
.advisors-list-subtitles span{display: inline-block;}
.supporters-wrap{padding-top: 10vw;}
.advisors-list.supporters, .chair-supporter-wrap{
	position: relative;
	padding: 2em 0;
	border-bottom: 1px solid #fff;
}
.chair-supporter-wrap{border-top: 1px solid #fff;}
.advisors-list.supporters .advisors-list-item:before, .advisors-list.supporters .advisors-list-item:after,
.chair-supporter:before, .chair-supporter:after{
	height: 0;
	padding-top: 100%;
	border-radius: 50%;
	background: rgba(var(--expo-red),.1);
	clip-path: none;
	transform: translate(-30%, -30%);
}
.advisors-list.supporters .advisors-list-item:after, .chair-supporter:after{
	transform: translate(50%, 75%);
}
.chair-supporter:before, .chair-supporter:after{
	width: 70%;
	padding-top: 70%;
}
.advisors-title.supporters{text-align: right;}
.chair-supporter-tag{
	position: relative;
	display: table;
	margin: 0 auto;
	font-size: .9em;
	padding: .5em 2em;
	background: rgb(var(--area-rgb));
	color: #fff;
	border-radius: 99px;
}
.supporters-position-title{
	color: #fff;
	font-size: 2em;
}
.supporters-position-title-inner{
	display: inline-block;
	transform: skewX(-15deg);
}
@media(orientation: portrait){
	.advisors-section-inner{padding: 10vh 7vw;}
	.advisors-title{font-size: 3vh;}
	.advisors-wrap:before{
		height: 105%;
		clip-path: polygon(0 0, 100% 40%, 100% 70%, 0 100%);
	}
	.supporters-wrap:before{clip-path: polygon(100% 0, 0 30%, 0 60%, 100% 100%);}
}
@media(max-width: 575px){
	.chair-supporter-title{
		text-align: center;
		padding-bottom: 1em;
	}
}
@media(min-width: 576px){
	.advisors-list-item{
		width: calc(33.33% - 1.5em);
		padding-top: calc(50% / 3 + 2em);
	}
	.advisors-title:before{border-bottom: 3px solid rgb(var(--expo-light-blue));}
	.chair-supporter-wrap{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 2em;
	}
	.chair-supporter{
		width: calc(66.66% - 1em);
		padding: 10% 0 10% 30%;
	}
	.advisors-list-title-item, .supporters-position-title{
		width: calc(33.33% - 1.5rem);
		display: grid;
		align-items: center;
		text-align: center;
	}
	.advisors-list-title-item .supporters-position-title{width: 100%;}
	.chair-supporter-img-wrap{
		width: 33.33%;
		padding-top: 33.33%;
		left: 17.5%;
		top: 50%;
		transform: translateY(-50%);
	}
}
/* override */
.advisors-title.supporters:before{
	left: auto;
	right: 0;
	border-color: rgb(var(--expo-red));
}
.advisors-section-inner:first-of-type{padding-bottom: 0;}

/* organizer */
.organizer-section{background: #fff;}
.organizer-title{
	position: relative;
	display: table;
	margin: 0 auto 7vw;
	font-size: 2.5vw;
	padding: 0 0 1em;
}
.organizer-title-jp{
	display: inline-block;
	transform: skewX(-15deg);
}
.organizer-title-en{
	content: attr(data-en);
	position: absolute;
	bottom: 0;
	left: 50%;
	font-size: .75em;
	font-family: var(--jost);
	transform: translateX(-50%);
}
.organizer-title-en:before, .organizer-title-en:after{
	content: "";
	position: absolute;
	width: 1.875em;
	height: .1vw;
	background: rgb(var(--expo-red));
	top: .24em;
	right: 1.7em;
}
.organizer-title-en:after{
	width: 1.325em;
	right: 0;
}
.organizer-inner-sections-wrap, .organizer-img-multiply{
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}
.organizer-inner-sections-wrap{
	justify-content: center;
	gap: 7vw 4em;
}
.organizer-inner-title{
	width: 100%;
	font-weight: 700;
	font-size: 1.5vw;
	text-align: center;
	margin: 1.5em 0;
}
.organizer-img-wrap{
	position: absolute;
	width: 50%;
	margin: auto;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.organizer-img-multiply{
	justify-content: space-around;
}
.organizer-img-multiply:before{
	content: "×";
	position: absolute;
	font-size: 4vw;
	font-weight: 700;
	color: rgb(var(--expo-red));
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.organizer-img-item{
	--size: 15vw;
	width: var(--size);
	height: var(--size);
	text-align: center;
	margin: auto;
}
.organizer-img-multiply-item{
	width: 35%;
}
.organizer-inner-section{
	position: relative;
	width: calc(50% - 2em);
	padding: 15vw 0 5em;
}
.organizer-inner-section:first-of-type{
	width: 100%;
	padding: 15vw 0 0;
}
.organizer-multiply{
	display: block;
	font-family: var(--jost);
	font-size: 1.5em;
	line-height: 1;
	color: rgb(var(--expo-red));
}
.organizer-img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.organizer-img-mirai{
	width: 85%;
}
.organizer-text{line-height: 1.8;}
.organizer-text-1col{
	width: 50%;
	margin: auto;
}
.organizer-link{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
}
.organizer-back{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
	z-index: -1;
	opacity: .05;
}
.organizer-back-inner{
	position: absolute;
	width: 100%;
	height: 50%;
	top: 0;
	text-align: center;
}
.organizer-back-inner:first-of-type{
	right: 100%;
	transform: translateX(75%);
}
.organizer-back-inner:nth-of-type(2){
	top: 50%;
	left: 100%;
	transform: translateX(-70%);
}
.organizer-back-img{
	height: 100%;
	object-fit: contain;
}
@media(max-width: 992px){
	.organizer-title{font-size: 3vw;}
	.organizer-inner-title{font-size: 2vw;}
}
@media(max-width: 575px){
	.organizer-title-en:before, .organizer-title-en:after{height: .2vw;}
	.organizer-title{font-size: 6vw;}
	.organizer-inner-sections-wrap{gap: 10vh 0;}
	.organizer-inner-section{
		width: 100%;
		padding-top: 25vw !important;
	}
	.organizer-img-multiply, .organizer-text{width: 100%;}
	.organizer-img-multiply:before{font-size: 10vw;}
	.organizer-inner-title{font-size: 4.4vw;}
	.organizer-img-item{
		--size: 25vw;
	}
	.organizer-back-inner:first-of-type{transform: none;}
}

/* contact */
.contact-section{
	background: linear-gradient(90deg, rgba(var(--expo-red),.95), rgba(var(--expo-blue),.95) 40%);
	overflow: hidden;
	color: #fff;
}
.contact-section:before, .contact-section:after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: #333;
	top: 0;
	left: 0;
	z-index: -1;
}
.contact-section:before{clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%, 0 5%);}
.contact-section:after{clip-path: polygon(-20% 5%, 20% 100%, -20% 100%);}
.contact-title{
	font-size: 5.5vw;
	line-height: 1.5;
}
.contact-form-link{
	font-size: 3.6vw;
	padding: .1em 1.5em .1em 0;
	transition: .5s;
}
.contact-form-link:hover{text-shadow: 0 0 10px #fff;}
.contact-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.contact-item{
	display: inline-block;
	--size: 7vw;
	width: calc(var(--size) / 2 * 1.732);
	height: var(--size);
	margin-left: calc(var(--size) * -.4);
	filter: drop-shadow(0 0 .15vw var(--shadow-color)) drop-shadow(0 0 .3vw var(--shadow-color));
	transform: translate3d(0,0,0);
}
.contact-item:first-of-type{
	margin-left: 0;
}
.contact-item:nth-of-type(even){
	margin-top: calc(var(--size) * .8);
}
.contact-inner-title{
	font-size: 2vw;
	text-align: center;
	margin-bottom: .5em;
	transition: .5s;
}
.contact-inner-title:has(~ .contact-list .contact-sns-link:hover){text-shadow: 0 0 5px #fff, 0 0 10px var(--shadow-color), 0 0 15px var(--shadow-color);}
.contact-sns-link{
	display: inline-block;
	width: 100%;
	height: 100%;
	padding: 30%;
	background: #fff;
	clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
	transition: .3s;
	transform: translate3d(0,0,0);
}
.contact-sns-link:hover{
	filter: invert(1);
}
.contact-sns-icon{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
@media(min-width: 992px){
	.contact-section{
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		height: 100vh;
		padding: 3.5vw 7vw;
	}
	.contact-inner-sections-wrap{
		display: grid;
		align-items: center;
		height: 100%;
	}
}
@media(max-width: 992px){
	.contact-inner-title{font-size: 3.5vw;}
	.contact-item{
		--size: 10vw;
		filter: drop-shadow(0 0 .3vw var(--shadow-color)) drop-shadow(0 0 .5vw var(--shadow-color));
	}
	.contact-inner-section{margin-top: 10vh;}
}
@media(max-width: 575px){
	.contact-title{font-size: 10vw;}
	.contact-form-link{font-size: 6.6vw;}
	.contact-inner-title{font-size: 5vw;}
	.contact-item{
		--size: 22vw;
		filter: drop-shadow(0 0 .5vw var(--shadow-color)) drop-shadow(0 0 1vw var(--shadow-color));
	}
}

/* footer */
.footer{
	position: relative;
	z-index: 1;
	background: #000;
	color: #fff;
	overflow: hidden;
}
.footer-nav{
	position: relative;
	padding: 7vw;
	background: linear-gradient(rgb(var(--expo-blue)), transparent);
	font-size: 14px;
	line-height: 1.6;
	overflow: hidden;
	z-index: 9;
}
.footer-nav-img-wrap{
	position: absolute;
	height: 100%;
	opacity: .2;
	top: 0;
	left: 0;
	transform: translateX(-25%);
	z-index: 2;
}
.footer-nav-img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.footer-nav-list{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3.5vw;
	z-index: 1;
}
.footer-nav-item{
	margin: .5em 0;
}
.footer-nav-link{display: inline-block;}
.copyright-wrap{
	position: relative;
	padding: 1em 0 1.5em;
	font-size: 14px;
	background: #000;
	color: #fff;
	z-index: 1;
	text-align: center;
	line-height: 3;
}
.staldia-credit{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.staldia-credit-link{
	display: inline-block;
	margin-left: -.5em;
}
.staldia-credit-img{
	width: 12em;
	transition: .3s;
}
.staldia-credit-img:hover{filter: drop-shadow(0 0 5px #09f) drop-shadow(0 0 10px #09f) drop-shadow(0 0 15px #09f);}
.staldia-credit-img.lighting{animation: staldiaLogo 2s linear 0s 1 alternate;}
@keyframes staldiaLogo{
	0%{}
	25%{filter: drop-shadow(-5px 0 5px #09f) drop-shadow(-10px 0 10px #09f) drop-shadow(-15px 0 15px #09f);}
	75%{filter: drop-shadow(5px 0 5px #09f) drop-shadow(10px 0 10px #09f) drop-shadow(15px 0 15px #09f);}
	100%{filter: none;}
}
@media(min-width: 575px){
	.footer-nav-link{min-width: 32em;}
}
@media(max-width: 992px){
	.footer-nav-list{
		display: block;
		text-align: center;
	}
	.footer-nav-item:first-of-type{margin-bottom: 7vw;}
}
@media(max-width: 575px){
	.footer-nav{padding: 10vh 7vw;}
	.footer-nav-link{
		font-size: 3.5vw;
		min-width: 22.5em;
	}
}