@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&family=Noto+Sans+TC:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Urbanist:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

/*
font-family: "Rubik", sans-serif;
*/

:root {

	--transition-dur:.4s;
	--transition:all var(--transition-dur) ease-in-out;
	--transition-fast:all .2s ease-in-out;
	--glow-white:-2px -2px 5px rgba(255,255,255,1), 2px -2px 5px rgba(255,255,255,1), -2px 2px 5px rgba(255,255,255,1), 2px 2px 5px rgba(255,255,255,1) , 0 0 15px #FFF;

	--body-font-size:1.25rem;
	--body-line-height:1.5;

	--color-main-bg:#FFF;

	--this-font-color:#000000;
	--this-font-color-a:#000000;
	--this-border-color:#000;

	--container-width:1600px;
	--container-s-width:1200px;
	--container-padding:0px;

	--header-top-padding:20px;
	--header-bottom-padding:40px;
	--header-logo-width:380px;
	--header-logo-ratio:7.34;

	--header-right-padding:0;

	--minimenu-font-color:#0059aa;
	--minimenu-font-color-hover:#0095aa;
	--minimenu-font-size:1rem;
	--minimenu-margin-top:8px;
	--minimenu-spacing:22px;
	--minimenu-social-gap:10px;
	--minimenu-ico-social-size:22px;
	--minimenu-language-gap:16px;

	--mainmenu-font-color:#008dce;
	--mainmenu-font-color-on:#90cb4b;
	--mainmenu-gap:34px;
	--mainmenu-margin-top:8px;
	
	--mobile-toggle-size:24px;

	--footer-bg:#333333;
	--footer-padding-h:40px;
	--footer-font-size:1.125rem;
	--footer-copyright-font-size:.875rem;
	--footer-gap:20px 30px;
	--footer-contact-gap:5px 70px;
	--footer-logo-width:485px;

	--deco0-default-left:calc(50% - 780px);
	--deco0-default-top:300px;
	--deco0-default-width:110px;

	--btn-padding:4px 20px; --btn-min-width:180px; --btn-font-size:1.125rem;
	--btn-b-padding:0px 12px; --btn-b-min-width:50px; --btn-b-font-size:.875rem;
}


/* common */
	html {font-size:16px; scroll-behavior:smooth;}
	body {margin:0 auto; min-height:100vh; font-family:"Noto Sans TC", "Open Sans", sans-serif; font-size:var(--body-font-size); line-height:var(--body-line-height); background:var(--color-main-bg); color:var(--this-font-color);  }
	.lang-sc {font-family: "Noto Sans TC","Noto Sans SC", "Open Sans", sans-serif;}
	.lang-en {font-family: "Open Sans", sans-serif;}

	* {box-sizing:border-box; position:relative; transition:var(--transition);}
	a {text-decoration:none; cursor:pointer; color:var(--this-font-color-a);}
	/*a, a:after, a:before, button, .trans {transition:var(--transition);}*/
	img {max-width:100%; border:0;}
	figure {padding:0; margin:0;}
	strong {font-weight:700;}
	p {margin:.5rem 0 1.5rem;}

	[class*="container"] {margin-right:auto; margin-left:auto; max-width:100%; padding-right:var(--container-padding); padding-left:var(--container-padding);}
	.container {width:var(--container-width);  }
	.container-s {width:var(--container-s-width);  }

	.align-center, .align-center *:not([class^="align-"]) {text-align:center !important;}
	.align-left, .align-left *:not([class^="align-"]) {text-align:left !important;}
	.align-right, .align-right *:not([class^="align-"]) {text-align:right !important;}

	.small {font-size:max(75%, 13px);}

	.btn-a, .btn-b {display:inline-block; background:#0059aa; color:#FFF; border-radius:30px;}
	:is(.lang-tc, .lang-sc) :is(.btn-a,.btn-b) {letter-spacing:1px;}

	.btn-a {box-shadow:0 5px #FFF; padding:var(--btn-padding); min-width:var(--btn-min-width);  font-size:var(--btn-font-size); font-weight:500; }
	
	.btn-a:hover {scale:1.1 1.1;}

	.btn-b {box-shadow:0 2px #FFF; padding:var(--btn-b-padding); min-width:var(--btn-b-min-width); font-size:var(--btn-b-font-size); }
	.btn-b:has( .ico) {display:inline-flex; align-items:center; }
	.btn-b .ico {width:16px; height:16px; margin-right:6px; filter:invert(100%) sepia(16%) saturate(7486%) hue-rotate(179deg) brightness(111%) contrast(104%);}
	.btn-b:hover {box-shadow:none;}

	.mobile-br {display:none;}
	
/* animation */
	[class*="ani-"]	{animation-fill-mode:both; animation-timing-function:linear;}
	.noani {animation:none !important;}

	@keyframes mascot-up-down {
		0% {transform:translateY(0);}
		50% {transform:translateY(-20px);}
		100% {transform:translateY(0);}
	}
	@keyframes mascot-right-left {
		0% {transform:rotate(0deg);}
		25% {transform:rotate(3deg);}
		50% {transform:rotate(0deg);}
		75% {transform:rotate(-3deg);}
		100% {transform:rotate(0deg);}
	}

	.use-blend-fade-in {
		animation-name:bg-blend-fadein; 
		animation-duration:3s; 
		animation-fill-mode:forwards;
		-webkit-mask-image: linear-gradient(transparent 0%, black 25%, black 75%, transparent 100%);
		mask-image:linear-gradient(transparent 0%, black 25%, black 75%, transparent 100%);
		-webkit-mask-position:center center; mask-position:center center;
		-webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;	
	}
	@keyframes bg-blend-fadein {
		from {-webkit-mask-size:0% 0%; mask-size:0% 0%; filter:opacity(0%);}
		to {-webkit-mask-size:200vmax 200vmax; mask-size:300vmax 300vmax; filter:opacity(100%);}
	}

	@keyframes blur-in {
		from 	{filter:blur(5px) opacity(0);}
		to 	{filter:blur(0) opacity(1);}
	}
	@keyframes fade-in-from-top {
		from 	{transform:translateY(-20px); filter:opacity(0);}
		to 	{transform:translateY(0); filter:opacity(1);}
	}

	@keyframes shinning {
		0% 	{opacity:0;}
		45% 	{opacity:1;}
		65% 	{opacity:1;}
		100% 	{opacity:0;}
	}

	@keyframes xscale-fadein {
		from 	{scale:0 1; opacity:0;}
		to 	{scale:1 1; opacity:1;}
	}

	.use-shinning2 {animation-name:shinning2; animation-duration:2s; animation-fill-mode:both; animation-iteration-count:infinite;  animation-timing-function:linear; animation-delay:calc(1s + .5s * sibling-index() );}	

	@keyframes shinning2 {
		15% 	{filter:brightness(100%);}
		30% 	{filter:brightness(150%);}
		31% 	{filter:brightness(150%);}
		46% 	{filter:brightness(100%);}
	}

/* aos custom */ 
	[data-aos="blur-in"] {filter:opacity(0) blur(10px);
		&.aos-animate {filter:opacity(1) blur(0px);}
	}
	[data-aos="flip-left"] {transform:perspective(2500px) rotateY(-100deg); filter:opacity(0) blur(10px);
		&.aos-animate {transform:perspective(2500px) rotateY(-0); filter:opacity(1) blur(0px);}
	}
	[data-aos="flip-down"] {transform:perspective(2500px) rotateX(100deg); filter:opacity(0) blur(10px);
		&.aos-animate {transform:perspective(2500px) rotateX(0); filter:opacity(1) blur(0px);}
	}
	[data-aos="zoom-in"] {transform:scale(1.3); filter:opacity(0) blur(10px);
		&.aos-animate {transform:scale(1); filter:opacity(1) blur(0px);}
	}

/* header */
	#header-anchor {position:absolute; top:120vh; left:0; z-index:-10; width:0; height:0;}

	#main-header {}
	#main-header .header-inner {display:flex; justify-content:space-between; align-items:top; padding-top:var(--header-top-padding); padding-bottom:var(--header-bottom-padding);}

	#main-header .brand-logo {width:var(--header-logo-width); aspect-ratio:var(--header-logo-ratio);
		animation-name:blur-in; animation-duration:.6s;  animation-fill-mode:backwards; animation-delay:1s;}
	#main-header .brand-logo>img {width:100; height:100%; object-fit:contain;}
	#main-header .header-right {width:calc(100% - var(--header-logo-width) - 30px); text-align:right; line-height:1.1; padding:var(--header-right-padding);
		animation-name:blur-in; animation-duration:.6s;  animation-fill-mode:backwards; animation-delay:1s;}
	
	#main-header .liner {position:absolute; height:1px; width:0px; background:#8ba7b9; bottom:calc(var(--header-bottom-padding) /2); left:50%; transform:translateX(-50%);}
	#main-header .liner.aos-animate 	{width:calc(var(--container-s-width));}

	.minimenu {font-size:var(--minimenu-font-size); margin-top:var(--minimenu-margin-top); 
		display:flex; gap:var(--minimenu-spacing); justify-content:flex-end; align-items:center; flex-wrap:wrap;}
	.minimenu a {color:var(--minimenu-font-color);}
	.minimenu a:hover {color:var(--minimenu-font-color-hover);}
	.minimenu a.on {font-weight:600;}

	.minimenu .social-wrapper {display:flex; gap:var(--minimenu-social-gap); align-items:center;}
	.minimenu .social {width:var(--minimenu-ico-social-size); aspect-ratio:1; background-color:var(--minimenu-font-color);
		-webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; }
	.minimenu .social:hover {background-color:var(--minimenu-font-color-hover);}
	.minimenu .social.ico-instagram {-webkit-mask-image:url(img/ico-social-instagram.svg); mask-image:url(img/ico-social-instagram.svg);}
	.minimenu .social.ico-linkedin {-webkit-mask-image:url(img/ico-social-linkedin.svg); mask-image:url(img/ico-social-linkedin.svg);}
	.minimenu .social.ico-facebook {-webkit-mask-image:url(img/ico-social-facebook.svg); mask-image:url(img/ico-social-facebook.svg);}
	.minimenu .social.ico-youtube {-webkit-mask-image:url(img/ico-social-youtube.svg); mask-image:url(img/ico-social-youtube.svg);}

	.minimenu .language-wrapper {display:flex; gap:var(--minimenu-language-gap); align-items:center;}
	.minimenu .language-wrapper>a:not(:last-child):before {content:''; position:absolute; background:var(--minimenu-font-color); width:1px; height:80%; top:10%; left:calc(100% + var(--minimenu-language-gap)/2 - 1px); }

	.mainmenu {display:flex; gap:var(--mainmenu-gap); justify-content:flex-end; margin-top:var(--mainmenu-margin-top);}
	.mainmenu a {color:var(--mainmenu-font-color);}
	.mainmenu a:not(:last-child):before {content:''; position:absolute; background:var(--mainmenu-font-color); width:2px; height:80%; top:10%; left:calc(100% + var(--mainmenu-gap)/2 - 1px); }
	.mainmenu a:not(.on):after {content:''; position:absolute; z-index:-1; background:var(--mainmenu-font-color-on); opacity:0; /*mix-blend-mode:multiply;*/ width:calc(100% - 10px); height:3px; left:5px; top:calc(100% + 4px); scale:0 1; transition:var(--transition);}
	.mainmenu a:hover:after {scale:1 1; opacity:1;}
	.mainmenu a.on {color:var(--mainmenu-font-color-on);}

	.mobile-toggle {display:none; position:absolute; z-index:10; right:0; top:calc(var(--header-top-padding) + var(--mobile-toggle-size) /2); width:var(--mobile-toggle-size); aspect-ratio:1;}
	.mobile-toggle>span {position:absolute; width:100%; height:3px; background:var(--mainmenu-font-color); left:0; transform-origin:right center;}
	.mobile-toggle>span:nth-child(1) {top:calc(50% - 7px); }
	.mobile-toggle>span:nth-child(2) {top:50%;}
	.mobile-toggle>span:nth-child(3) {top:calc(50% + 7px);}
	.mobile-toggle.on>span:nth-child(1) {transform:rotate(-45deg) scale(.82,1);}
	.mobile-toggle.on>span:nth-child(2) {opacity:0;}
	.mobile-toggle.on>span:nth-child(3) {transform:rotate(45deg) scale(.82,1);}

/* footer */
	footer {background:var(--footer-bg); padding-top:var(--footer-padding-h); padding-bottom:var(--footer-padding-h); font-weight:300; font-size:var(--footer-font-size); }
	footer, footer a {color:#FFF;}
	footer .footer-inner {display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--footer-gap);}
	footer .logo 		{width:var(--footer-logo-width);}
	footer .contact 	{max-width:500px; display:flex; flex-wrap:wrap; gap:var(--footer-contact-gap);}
	footer .copyright {width:100%; font-size:var(--footer-copyright-font-size); }

	footer .contact>* {padding-left:35px;  }
	footer .contact>*:before {content:''; position:absolute; left:0; top:2px; width:26px; aspect-ratio:1; background-repeat:no-repeat; background-size:contain; filter:invert(100%) sepia(16%) saturate(7486%) hue-rotate(179deg) brightness(111%) contrast(104%);}
	footer .contact>.address:before {background-image:url(img/ico-map.svg);}
	footer .contact>.website:before {background-image:url(img/ico-world.svg);}
	footer .contact>.email:before {background-image:url(img/ico-email.svg);}
	footer .contact>.phone:before {background-image:url(img/ico-phone.svg);}
	
/* index */
	.page-index {
		--color-main-bg:#89BA45; 
		--footer-bg:#89BA45; 

		--header-top-padding:30px;
		--header-bottom-padding:80px;
		--header-logo-width:426px;
		--mainmenu-margin-top:15px;

		--main-min-height:920px;
		--event-logo-margin-top:60px;
		--event-logo-line-color:#00bac7;
		--event-logo-line-width:178px;
		--event-logo-line-height:3px;
		--event-logo-width:750px;
		--event-logo-line1-ratio:.83;
		--event-logo-line2-margin-top:-20px;
		--date-font-size:2.5rem; --date-font-color:#00a77c;
		--btn-line-margin-top:60px;
		--btn-padding:7px 25px; --btn-min-width:180px; --btn-font-size:1.25rem;
		
	}
	.page-index footer {--this-font-color-a:#FFF; color:#FFF;}

	#index-main {min-height:var(--main-min-height); overflow:hidden;}
	#index-main .bg {position:absolute; width:100%; height:100%; z-index:-1;
		background-image: url(img/index-bg.jpg), url(img/index-bbg.png); background-position:center top, left top; background-repeat:no-repeat, repeat-x; text-align:center;}
	#index-main .bg :is(.star1, .star2) {position:absolute; left:50%; top:45%; transform:translate(-50%, -50%);
		animation-name:shinning; animation-iteration-count:infinite;  animation-timing-function:linear; animation-fill-mode:both; animation-duration:4s; }
	#index-main .bg .star2 	{animation-delay:1.5s;}

	#index-main .event {text-align:center;}
	#index-main .event .event-logo {margin-top:var(--event-logo-margin-top); margin-left:auto; margin-right:auto; margin-bottom:0; max-width:var(--event-logo-width);}
	#index-main .event .event-logo>.line1 { max-width:calc(var(--event-logo-width) * var(--event-logo-line1-ratio)); margin-left:auto; margin-right:auto; 
		animation-name:blur-in; animation-duration:.6s;  animation-fill-mode:both; animation-delay:1s;}
	#index-main .event .event-logo>.line2 {margin-top:var(--event-logo-line2-margin-top);
		animation-name:blur-in; animation-duration:.6s;  animation-fill-mode:both; animation-delay:1.2s;}
	#index-main .event .event-logo:after,#index-main .event .event-logo:before {content:''; position:absolute;  width:var(--event-logo-line-width); height:var(--event-logo-line-height); background-color:var(--event-logo-line-color); box-shadow:var(--glow-white); top:73%;
		animation-name:xscale-fadein; animation-duration:.6s;  animation-fill-mode:both; animation-delay:1.4s;}
	#index-main .event .event-logo:after {left:calc(50% + var(--event-logo-width)/2); transform-origin:left center;}
	#index-main .event .event-logo:before {left:calc(50% - var(--event-logo-width)/2 - var(--event-logo-line-width)); transform-origin:right center;}
	#index-main .event .date {font-family:"Rubik", sans-serif; font-stretch:condensed; font-size:var(--date-font-size); font-weight:400; color:var(--date-font-color); text-shadow:var(--glow-white); transform:translateY(-15px); 
		animation-name:fade-in-from-top; animation-duration:.6s;  animation-fill-mode:both; animation-delay:1.6s;}
	#index-main .event .btn-line {margin-top:var(--btn-line-margin-top); 
		animation-name:blur-in; animation-duration:.6s;  animation-fill-mode:both; animation-delay:1.8s;}

	#index-main .mascot1 {left:calc(50% + 430px); top:-30px; }
	#index-main .mascot2 {left:calc(50% - 390px); top:410px; transform-origin:center 90% ;}

/* deco & mascot */
	[class*="mascot"] {position:absolute; z-index:2; pointer-events:none;
		animation-fill-mode:both, none; animation-iteration-count:1, infinite;  animation-timing-function:ease-out, linear;}
	.mascot1 {animation-name:fade-in-from-top, mascot-up-down; animation-duration:.6s, 1.2s; animation-delay:2s, 2.6s;}
	.mascot2 {animation-name:fade-in-from-top, mascot-right-left; animation-duration:.6s, 1.7s; animation-delay:2.4s, 3.3s;  }
	.mascot .star {position:absolute; z-index:-1; left:0; top:0; 
		animation-name:shinning; animation-iteration-count:infinite;  animation-timing-function:linear; animation-fill-mode:both; animation-duration:2.5s;}

	[class*="deco"] {position:absolute; z-index:2; mix-blend-mode:multiply;  pointer-events:none;}
	.top .deco0 {left:var(--deco0-default-left); top:var(--deco0-default-top); width:var(--deco0-default-width);}

	[class*="hex"] {position:absolute; z-index:2;  pointer-events:none;}

/* inpage */
	.inpage {
		--top-bg-height:530px; 
		--this-top-bg-image:url(img/inpage-top-bg.jpg);
		--top-part2-mask-height:60px;
		--top-part2-padding-top:120px;
		--top-part2-padding-bottom:200px;
		--color-main-bg:#89ba45;
		--event-logo-margin-bottom:25px;
		--page-title-h1-margin:15px auto 15px auto;

		--para-space:1.75rem;

		--section-top-font-color:#FFF;
		--section-padding-top:80px;
		--section-padding-bottom:140px;
		--section-title-h2-margin-top-follow-icon:10px;
		--section-title-h2-margin-bottom:30px;
		--section-title-h2-font-size:1.875rem;
		--section-title-h2-color:#000;

		--section-dome-doem-height:100px;

		--section-thanks-logos-gap:30px 75px;

		--selector-gap:80px;
		--selector-margin:20px auto 60px;
		--selector-font-size:1.75rem;
		--selector-font-size-s:1.375rem;
	}

	.inpage .top { overflow:hidden; text-align:center; color:var(--section-top-font-color); }
	.inpage .top .bg {position:absolute; width:100%; height:100%; z-index:-1;
		background:var(--this-top-bg-image) no-repeat center top;
		/*background-image:var(--this-top-bg-image); background-position:center top, left top; background-repeat:no-repeat, repeat-x; text-align:center; background-attachment:fixed;*/}
	
	.inpage .top .top-part1 {height:var(--top-bg-height); }
	.inpage .top .event-logo {margin-bottom:var(--event-logo-margin-bottom); 
		animation-name:fade-in-from-top; animation-duration:.6s;  animation-fill-mode:both; animation-delay:.7s;}
	.inpage .top .event-logo>img {max-width:80vw;}

	.inpage .page-title>* {animation-name:blur-in; animation-duration:.7s;  animation-fill-mode:both; animation-delay:calc(1s + .15s * sibling-index() );}
	.inpage .page-title .icon {max-width:10%; margin:0 auto; }
	.inpage .page-title h1 {margin:var(--page-title-h1-margin);}
	.inpage .page-title h1>img {max-width:90%;}

	.inpage .top .top-part2 {background-color:var(--color-main-bg); 
		padding-top:var(--top-part2-padding-top); padding-bottom:var(--top-part2-padding-bottom);}
	.inpage .top .top-part2:before {content:''; position:absolute; left:0; top:calc(0px - var(--top-part2-mask-height));; width:100%; height:var(--top-part2-mask-height); background:var(--color-main-bg); mask-image: linear-gradient(transparent, black);}

	.with-leaves {background-image:url(img/bg-leaves.png); background-position:center top; background-blend-mode:screen;}

	.para:not(:last-child) {margin-bottom:var(--para-space);}

	.section {padding-top:var(--section-padding-top); padding-bottom:var(--section-padding-bottom);}
	.section-title {text-align:center; color:var(--section-title-h2-color); }
	.section-title .icon + h2 {margin-top:var(--section-title-h2-margin-top-follow-icon); margin-bottom:var(--section-title-h2-margin-bottom);}
	.lang-en .section-title h2 {font-family:"Urbanist", sans-serif; font-weight:500; font-size:var(--section-title-h2-font-size);}
	
	.section.section-dome {padding-top:calc(var(--section-padding-top) / 2);}
	.section-dome {background:var(--section-dome-color);}
	.section-dome:before {content:''; position:absolute; z-index:1; left:0; top:calc(0px - var(--section-dome-doem-height)); width:100%; height:var(--section-dome-doem-height);  background:var(--section-dome-color); clip-path:ellipse(55% 100% at 50% 100%);}

	.section-thanks {background-color:#FFF;;}
	.section-thanks .logos {display:flex; flex-wrap:wrap; gap:var(--section-thanks-logos-gap); align-items:center; justify-content:center; }
	
	.selector {text-align:center; display:flex; justify-content:center; gap:var(--selector-gap); font-size:var(--selector-font-size); font-weight:500; margin:var(--selector-margin);  }
	.selector .small {font-size:var(--selector-font-size-s);}
	.selector a:after {content:''; position:absolute; background:var(--selector-color); height:3px; width:calc(100% - 20px); left:10px; bottom:-8px; transform-origin:center; transition:var(--transition); opacity:0; transform:scaleX(.1);}
	.selector a {color:var(--selector-color); opacity:.7;}
	.selector a.on {font-weight:800; opacity:1;}
	.selector a.on:after {opacity:1; transform:scaleX(1);}
	.selector ~ .contents article {overflow:hidden; height:0; opacity:0;}
	.selector ~ .contents article.on {height:auto; opacity:1;}

/* about */
	.page-about {
		--color-main-bg:#89ba45;
		--this-font-color:#000;
		--intro-font-size:1.35rem;

		--section-dome-color:#f2f2f2;
		--people-gap:100px;
		--people-frame-min-width:335px;
		--people-frame-min-height:200px;
		--people-h3-font-size:2rem;
		--people-h4-font-size:2rem;

		--sidebyside-icon-size:70px;
		--sidebyside-table-padding:10px 42px 20px 42px;
		--sidebyside-table-alist-gap:15px;
		--sidebyside-table-ico-size:24px;
		--sidebyside-bottom-morespace:80px;

		--organizer-gap:150px;
		--organizer-direction:row;
		--organizer-photo-size:200px;

		&.lang-en {
			--people-h3-font-size:1.85rem;
			--people-h4-font-size:1.85rem;
			--sidebyside-table-padding:10px 24px 20px 24px;
		}
	}

	.page-about .top .top-part2 {background:var(--color-main-bg) url(img/bg-lung.png) no-repeat 10% 50%; }
	.page-about .top .intro {font-size:var(--intro-font-size);}	
	.page-about .top .mascot1 {left:calc(50% + 430px); top:120px; }
	.page-about .top .mascot2 {left:calc(50% - 490px); top:350px; transform-origin:center 90% ;}
	.page-about .top .deco1 {left:calc(50% + 230px); top:420px;}

	.page-about .people {display:flex; justify-content:center; gap:var(--people-gap); text-shadow:2px 2px 3px #FFF, -2px -2px 3px #FFF;}
	.page-about .people>* {background-image:url(img/about-guest2.png); background-repeat:no-repeat; background-position:right bottom; min-height:var(--people-frame-min-height); display:flex; flex-direction:column; justify-content:center; text-align:center;  width:var(--people-frame-min-width);}
	.page-about .people h3 {font-size:var(--people-h3-font-size); font-weight:500; margin-bottom:6px; margin-top:0;  line-height:1.25;}
	.page-about .people h4 {font-size:var(--people-h4-font-size); font-weight:500; margin-bottom:6px; margin-top:0; line-height:1.25;}

	.page-about .guest  {--section-title-h2-color:#2CAA9D;}
	.page-about .guest .hex1 {top:-40px; left:calc(50% - 740px); }
	.page-about .guest .hex2 {top:20px; left:calc(50% - 620px); }
	.page-about .guest .hex3 {top:-80px; left:calc(50% - 460px); }
	.page-about .guest .hex4 {top:-230px; left:calc(50% + 380px); }
	.page-about .guest .hex5 {top:-100px; left:calc(50% + 550px); }
	.page-about .guest .hex6 {top:-170px; left:calc(50% + 670px); }

	.page-about .side-by-side {padding:0; display:flex; flex-wrap:wrap;}
	.page-about .side-by-side>article {width:50%; padding-bottom:var(--section-padding-top); padding-top:var(--section-padding-bottom);}
	.page-about .side-by-side>article:first-child {padding-left:calc(50% - var(--container-width)/2); padding-right:calc((50% - var(--container-width)*.5)/2); background:#91dace;}
	.page-about .side-by-side>article:nth-child(2) {padding-right:calc(50% - var(--container-width)/2); padding-left:calc((50% - var(--container-width)*.5)/2); background:#80c6de;}
	.page-about .side-by-side .inner {padding-left:calc(var(--sidebyside-icon-size) + 10px); padding-bottom:var(--sidebyside-bottom-morespace)}
	.page-about .side-by-side .inner .icon {position:absolute; left:0; top:0; max-width:var(--sidebyside-icon-size);}
	.page-about .side-by-side .inner h2.text {padding-top:calc(var(--sidebyside-icon-size) * 0.15);}
	.page-about .side-by-side table :is(th,td) {font-weight:400; text-align:left; padding:var(--sidebyside-table-padding); vertical-align:top;;}
	.page-about .side-by-side table th {padding-left:0; white-space:nowrap;}
	.page-about.lang-en .side-by-side table th	{white-space:unset; width:135px;}
	.page-about .side-by-side table td {padding-right:0; border-left:1px solid var(--this-font-color);}
	.page-about .side-by-side .alist {list-style-type:lower-alpha; margin:0;}
	.page-about .side-by-side .alist li {padding:0 0 var(--sidebyside-table-alist-gap) 15px;}
	.page-about .side-by-side table .ico {height:var(--sidebyside-table-ico-size); aspect-ratio:1; display:inline-block;}
	.page-about .side-by-side .deco0 {bottom:0; left:50%; transform:translateX(-50%); width:7%;}

	.page-about .organizer {--section-title-h2-color:#699831;
		background-color:#d8e697; padding-top:var(--section-padding-bottom);}
	.page-about .organizer .people {display:flex; justify-content:center; gap:var(--organizer-gap); flex-direction:var(--organizer-direction); text-align:center;}
	.page-about .organizer .people .photo {width:var(--organizer-photo-size); height:var(--organizer-photo-size); margin-right:auto; margin-left:auto;}
	.page-about .organizer .people figcaption {margin-top:20px;}
	.page-about .organizer .hex1 {top:10px; left:calc(50% + 380px); }
	.page-about .organizer .hex2 {top:70px; left:calc(50% + 500px); }
	.page-about .organizer .hex3 {top:-10px; left:calc(50% + 650px); }

	.page-about .section-thanks .mascot2 {top:-100px; left:calc(50% - 400px); width:100px;}

/* details */
	.page-details {
		--color-main-bg:#3eccff;
		--section-dome-color:#f2f2f2;

		/*--people-grid-gap-h:10px;
		--people-on-up:-30px;
		--people-photo-size:185px;
		--people-content-circle-size:300px;
		--people-content-h3-font-size:1.35rem;
		--people-content-h3-small-font-size:.9375rem;
		--people-content-h3-margin-bottom:14px;*/

		--people2-gap:40px;
		--people2-column:repeat(2, 1fr);

		--people-box-photo-size:185px;
		--people-box-padding:15px 0 80px 100px;
		--people-box-content-min-height:135px;
		--people-box-content-padding:30px 30px 30px 100px;
		--people-h3-font-size:1.5rem;
		--people-h3-small-font-size:1.35rem;
		--people-h3-margin-bottom:8px;
		--people-h4-font-size:1.35rem;
		--people-h4-margin-bottom:14px;
		--arrow-size:40px; --arrow-rotate:35deg; 

		&.lang-en {--people-expand-font-size:1rem;}
	}
	.page-details .top .mascot1 {left:calc(50% - 530px); top:120px; }
	.page-details .top .mascot2 {left:calc(50% + 490px); top:350px; transform-origin:center 90% ;}
	.page-details .top .hex4 {top:38%; left:calc(50% - 620px); }
	.page-details .top .hex5 {top:51%; left:calc(50% - 300px); }
	.page-details .top .hex6 {top:45%; left:calc(50% - 160px); }

	.page-details .speakers {--section-title-h2-color:#2caa9d;}
	.page-details .speakers .deco2 {left:calc(50% + 330px); top:-180px; ;}

	.page-details .people.people2 {display:grid; gap:var(--people2-gap); grid-template-columns:var(--people2-column);}
	.page-details .people .box {padding:var(--people-box-padding); }
	.page-details .people .photo {width:var(--people-box-photo-size); aspect-ratio:1; position:absolute; left:0; top:0; z-index:2;}
	.page-details .people .box .content {background:#FFF; border-radius:15px; z-index:1; min-height:var(--people-box-content-min-height); padding:var(--people-box-content-padding);}
	.page-details .people .box .content .glance {padding-right:calc(var(--arrow-size) + 20px);}
	.page-details .people .box .content h3 {font-size:var(--people-h3-font-size); margin:0 0 var(--people-h3-margin-bottom);}
	.page-details .people .box .content h3 small {font-size:var(--people-h3-small-font-size);}
	.page-details .people .box .content h4 {font-size:var(--people-h4-font-size); margin:0 0 var(--people-h4-margin-bottom); font-weight:400;}
	.page-details .people .box .content .expand {grid-template-rows:0fr; display:grid;
		& .inner {overflow: hidden; font-size:var(--people-expand-font-size); text-align:justify; text-justify:inter-character;}
	}
	.page-details .people .box.on .content .expand {overflow: hidden; grid-template-rows:1fr !important; border-left:2px solid #00bac7; padding-left:10px; }

	.page-details .people .box .content .glance:after,
	.page-details .people .box .content .glance:before {content:''; position:absolute; background:#00bac7; height:2px; width:var(--arrow-size); top:calc(var(--arrow-size)); transition:var(--transition); right:0;}
	.page-details .people .box .content .glance:after {margin-right:calc(var(--arrow-size) - var(--arrow-size) * .2); transform:rotate(var(--arrow-rotate)); }
	.page-details .people .box .content .glance:before { transform:rotate(calc(0deg - var(--arrow-rotate))); }
	.page-details .people .box.on .content .glance:after {transform:rotate(calc(0deg - var(--arrow-rotate)));}
	.page-details .people .box.on .content .glance:before {transform:rotate(var(--arrow-rotate));}
	.page-details .people .box.on  {transform:translateY(var(--people-on-up));}
	.page-details .people .box.on .content {scale:1 1;}


	/*.page-details .speakers .people {display:grid; grid-template-columns:repeat(4,1fr); justify-items:center; row-gap:var(--people-grid-gap-h); align-items:start;}
	.page-details .speakers .people .box {z-index:1;}
	.page-details .speakers .people .trigger {display:block; text-align:center; z-index:2;}
	.page-details .speakers .people .trigger:img {display:block; width:var(--people-photo-size); aspect-ratio:1;}
	.page-details .speakers .people .content {background:#FFF; width:var(--people-content-circle-size) ; aspect-ratio:1; border-radius:50%; margin-top:calc(0px - var(--people-photo-size)*.7 ); z-index:0; padding:calc(var(--people-photo-size)*.7) calc(var(--people-content-circle-size)*.155) calc(var(--people-content-circle-size)*.2) calc(var(--people-content-circle-size)*.155); transform-origin:top center; scale:.05 .05;}
	.page-details .speakers .people .content h3 {margin-top:0; font-size:var(--people-content-h3-font-size); margin-bottom:var(--people-content-h3-margin-bottom);}
	.page-details .speakers .people .content h3 small {display:block; font-weight:400; font-size:70%; font-size:var(--people-content-h3-small-font-size);}
	.page-details .speakers .people .content h3:after {content:''; position:absolute; width:calc(100% + 16px); height:1px; left:-8px; top:calc(100% + var(--people-content-h3-margin-bottom)/2); background-color:#00bac7;}
	.page-details .speakers .people .content .topic {font-size:var(--people-content-h3-small-font-size);}*/

	.page-details .speakers .hex1 {z-index:0; bottom:00px; /*left:calc(50% + 380px);*/ right:calc(50% - 380px); }
	.page-details .speakers .hex2 {z-index:0; bottom:50px; /* left:calc(50% + 500px);*/ right:calc(50% - 500px); }
	.page-details .speakers .hex3 {z-index:0; bottom:0px; /* left:calc(50% + 650px);*/ right:calc(50% - 700px);}
	.page-details .section-thanks .mascot1 {left:calc(50% - 700px); top:-120px; }
	

/* schedule */
	.page-schedule {
		--color-main-bg:#22b59b;
		--section-dome-color:#f2f2f2;
		--top-intro-gap:20px 75px;
		--top-intro-icon-height:98px;
		--top-intro-icon-margin-bottom:12px;
		--top-intro-font-size:1.35rem;
		--selector-color:#00a99c;
		--timetable-line-height:1.7;
		--timetable-line-grid-tamplate:1fr;/*180px auto;*/
		--timetable-line-cell-padding:20px 20px;
		--timetable-photo-size:96px;
		--timetable-event-padding-right:calc(var(--timetable-photo-size) * 2.8);
		--timetable-speaker-margin-top:10px;
		--timetable-event-div-spacing:14px;
		--timetable-expand-font-size:1.125rem;
		--timetable-btn-more-size:20px;
		--timetable-btn-more-font-size:.875rem;
	}
	.page-schedule .top .mascot1 {left:calc(50% + var(--container-width)/2 - 160px); top:120px; }
	.page-schedule .top .mascot2 {left:calc(50% - var(--container-width)/2 + 230px); top:370px; transform-origin:center 90% ;}
	.page-schedule .top .intro {display:flex; justify-content:center; gap:var(--top-intro-gap); text-align:center; font-size:var(--top-intro-font-size)}
	.page-schedule .top .intro .icon {height:var(--top-intro-icon-height); margin-bottom:var(--top-intro-icon-margin-bottom);}
	.page-schedule .top .intro .icon img {max-height:100%;}
	.page-schedule .top .intro .line2 {display:block;}

	.page-schedule .timetable {}
	.page-schedule .timetable .deco1 {right:calc(50% - var(--container-s-width)/2 - 70px); top:-180px;}
	.page-schedule .timetable .hex4 {top:-200px; left:calc(50% - 700px); }
	.page-schedule .timetable .hex5 {top:-50px; left:calc(50% - 550px); }
	.page-schedule .timetable .hex6 {top:-120px; left:calc(50% - 430px); }

	.page-schedule .timetable .contents article .line {display:grid; grid-template-columns:var(--timetable-line-grid-tamplate); line-height:var(--timetable-line-height); border-bottom:1px solid #b7cce1;}
	.page-schedule .timetable .contents article .line>* {padding:var(--timetable-line-cell-padding); }
	.page-schedule .timetable .contents article .line:hover {background-color:#FFF;}
	/*.page-schedule .timetable .contents article .line>.event {grid-column-start:2;}*/
	.page-schedule .timetable .contents article .line>.event.with-speaker {min-height:calc(var(--timetable-photo-size)+20px);}
	.page-schedule .timetable .contents article .line>.event.with-speaker>* {padding-right:var(--timetable-event-padding-right); }
	.page-schedule .timetable .contents article .line>.event .speaker {/*margin-top:var(--timetable-speaker-margin-top);*/}
	.page-schedule .timetable .contents article .line>.event .speaker .photo {position:absolute; right:0; bottom:-10px; }
	.page-schedule .timetable .contents article .line>.event .speaker .photo a {display:inline-block; margin-left:7px;}
	.page-schedule .timetable .contents article .line>.event .speaker .photo img {display:inline-block; z-index:1; width:var(--timetable-photo-size); aspect-ratio:1;}
	.page-schedule .timetable .contents article .line>.event .speaker .photo:before {content:''; position:absolute; background:#7ecfc9; height:1px; width:calc(var(--timetable-event-padding-right) - 20px); right:20px; bottom:var(--body-font-size);}
	.page-schedule .timetable .contents article .line>.event>div:not(:last-child) {margin-bottom:var(--timetable-event-div-spacing);}

	.page-schedule .timetable .has-more .btn-more {/*width:var(--timetable-btn-more-size); aspect-ratio:1; margin-left:5px;*/ display:inline-block; background:#7ecfc9 url(img/btn-more.svg) no-repeat 5px center; background-size:var(--timetable-btn-more-size) var(--timetable-btn-more-size); font-size:var(--timetable-btn-more-font-size); color:#FFF; padding:0 12px 0 calc(var(--timetable-btn-more-size) + 12px); border-radius:18px; box-shadow:1px 1px 0 #31c6ba; }
	.page-schedule .timetable .has-more .btn-more:hover {box-shadow:none;}
	.page-schedule .timetable .has-more .expand {/*grid-column-start:2;*/ font-weight:300; font-size:var(--timetable-expand-font-size); grid-template-rows:0fr; display:grid; padding:0 !important;}
	.page-schedule .timetable .has-more .expand .inner {overflow: hidden; }
	.page-schedule .timetable .has-more.on .expand {verflow: hidden; grid-template-rows:1fr !important; 
		padding:var(--timetable-line-cell-padding) !important;}
		
	.page-schedule .timetable .sp {background: url(img/timetable-sp.png) no-repeat right top; background-size:cover; text-shadow:var(--glow-white);}

	.page-schedule .timetable .mascot3 {bottom:-70px; left:calc(50% - var(--container-width)/2);}
	.page-schedule .timetable .hex1 {bottom:0px; left:calc(50% + 250px);}
	.page-schedule .timetable .hex2 {bottom:-50px; left:calc(50% + 380px);}
	.page-schedule .timetable .hex3 {bottom:-20px; left:calc(50% + 560px);}

/* replay */
	.page-replay {
		--color-main-bg:#e6e7e9;
		--top-part2-padding-top:50px;
		--selector-color:#000000;
		--section-top-font-color:#000000;
		--gallery-grid-tamplate:repeat(3,1fr);
		--gallery-grid-gap:60px 60px;
		/*--gallery-photo-width:332px;*/
		--gallery-photo-height:220px;
		--section-padding-top:20px;
	}
	
	.page-replay .top .mascot1 {left:calc(50% - 530px); top:120px; }
	.page-replay .top .mascot2 {left:calc(50% + 490px); top:370px; transform-origin:center 90% ;}
	.page-replay .top .top-part2 {height:50px; padding:0;}

	.page-replay .gallery {display:grid; grid-template-columns:var(--gallery-grid-tamplate); justify-items:center; gap:var(--gallery-grid-gap); margin:0 auto;}
	.page-replay .gallery .img {/*width:100%; height:100%;*/height:var(--gallery-photo-height); display:block; object-fit:cover; border:1px solid #8cc63f; cursor:pointer;}
	.page-replay .gallery .img:hover {scale:1.07 1.07;}
	.page-replay .section-gallery .hex4 {bottom:0px; left:calc(50% + var(--container-width)/2 - 430px);}
	.page-replay .section-gallery .hex5 {bottom:70px; left:calc(50% + var(--container-width)/2 - 300px);}
	.page-replay .section-gallery .hex6 {bottom:30px; left:calc(50% + var(--container-width)/2 - 170px);}
	.page-replay .section-thanks .mascot4 {top:-180px; left:calc(50% - var(--container-width)/2); z-index:2;}


/* media */
	.page-media {
		--color-main-bg:#80c6de;
		--top-part2-padding-top:20px;
		--top-part2-padding-bottom:0px;

		--list-margin:0 auto 0;
		--list-cell-padding-w:50px;
		--list-cell-padding:40px calc(var(--list-cell-padding-w)*2) 40px 50px;

		--list-cell-gap:50px;
		--list-cell-first-width:80px;
		--list-arrow-size:40px;
	}
	.page-media .top .mascot1 {left:calc(50% + 360px); top:120px; }
	.page-media .top .mascot2 {left:calc(50% - 400px); top:340px; transform-origin:center 90% ;}

	.page-media .section-content {background-color:var(--color-main-bg);}

	.page-media .news-list {list-style:none; margin:var(--list-margin); border-top:2px solid #FFF; padding:0; text-align:left;}
	.page-media .news-list>li {padding:var(--list-cell-padding); border-bottom:2px solid #FFF; transition:var(--transition);}
	
	.page-media .news-list a {font-weight:300; display:flex; gap:var(--list-cell-gap); align-items:top;}
	.page-media .news-list a>span:first-child {width:var(--list-cell-first-width);}
	.page-media .news-list a>span:first-child:after {content:''; position:absolute; background:var(--this-font-color); width:1px; height:1rem; top:.5rem; left:calc(100% + var(--list-cell-gap)/2);}
	.page-media .news-list {
		& li:after, & li:before {
			content:''; position:absolute; background:#FFF; width:var(--list-arrow-size); height:2px;
			right:calc(var(--list-cell-padding-w) * .5); top:50%; transform-origin:right bottom; 
		}
		& li:after {transform:rotate(40deg); }
		& li:before {transform:rotate(-40deg); }
	}
	.page-media .news-list li:has( a:hover)	{
		background:rgba(255,255,255,.1);
	}

	/* comp, contact */
		.page-comp, .page-contact {
			--color-main-bg:#3ad9e8;
			--top-part2-padding-top:30px;
			--top-part2-padding-bottom:0px;
			--selector-color:#000000;
		}
		:is(.page-comp, .page-contact) .top .mascot1 {left:calc(50% + 360px); top:120px; }
		:is(.page-comp, .page-contact) .top .mascot2 {left:calc(50% - 400px); top:350px; transform-origin:center 90% ;}
		:is(.page-comp, .page-contact) .section-content .hex4 {bottom:-50px; left:calc(50% + var(--container-width)/2 - 400px);}
		:is(.page-comp, .page-contact) .section-content .hex5 {bottom:20px; left:calc(50% + var(--container-width)/2 - 270px);}
		:is(.page-comp, .page-contact) .section-content .hex6 {bottom:-20px; left:calc(50% + var(--container-width)/2 - 140px);}
		:is(.page-comp, .page-contact) .section-thanks .mascot4 {top:-100px; left:calc(50% - var(--container-width)/2); z-index:2;}
		.contact-table td {vertical-align:top; padding-right:15px;}