@charset "utf-8";

html {
  scroll-behavior: smooth;
}

body {--zoom: 1;}
body.zoomed2 {--zoom: 1.2;}
body.zoomed3 {--zoom: 1.5;}

.en,.jp{display: none;}
.verJp .jp{display: block;}
.verEn .en{display: block;}
.verEn .toEn,
.verJp .toJp{pointer-events: none;opacity: 0.5;text-decoration: none;}
.verEn .forJp{display: none;}

.pb0{padding-bottom: 0 !important;}

:root {
/* 1366px 基準 */
	--px2: min(0.15vw,2px);
	--px3: min(0.22vw,3px);
	--px4: min(0.29vw,4px);
	--px5: min(0.37vw,5px);
	--px6: min(0.44vw,6px);
	--px7: min(0.51vw,7px);
	--px8: min(0.59vw,8px);
	--px9: min(0.66vw,9px);

	--px10: min(0.73vw,10px);
	--px11: min(0.81vw,11px);
	--px12: min(0.88vw,12px);
	--px13: min(0.95vw,13px);
	--px14: min(1.02vw,14px);
	--px15: min(1.1vw,15px);
	--px16: min(1.17vw,16px);
	--px17: min(1.24vw,17px);
	--px18: min(1.32vw,18px);
	--px19: min(1.39vw,19px);

	--px20: min(1.46vw,20px);
	--px21: min(1.54vw,21px);
	--px22: min(1.61vw,22px);
	--px23: min(1.68vw,23px);
	--px24: min(1.76vw,24px);
	--px25: min(1.83vw,25px);
	--px26: min(1.9vw,26px);
	--px27: min(1.98vw,27px);
	--px28: min(2.05vw,28px);
	--px29: min(2.12vw,29px);

	--px30: min(2.2vw,30px);
	--px31: min(2.27vw,31px);
	--px32: min(2.34vw,32px);
	--px33: min(2.42vw,33px);
	--px34: min(2.49vw,34px);
	--px35: min(2.56vw,35px);
	--px36: min(2.64vw,36px);
	--px37: min(2.71vw,37px);
	--px38: min(2.78vw,38px);
	--px39: min(2.86vw,39px);

	--px40: min(2.93vw,40px);
	--px41: min(3vw,41px);
	--px42: min(3.07vw,42px);
	--px43: min(3.15vw,43px);
	--px44: min(3.22vw,44px);
	--px45: min(3.29vw,45px);
	--px46: min(3.37vw,46px);
	--px47: min(3.44vw,47px);
	--px48: min(3.51vw,48px);
	--px49: min(3.59vw,49px);
	--px50: min(3.66vw,50px);

}/* ---root */

.just{text-align-last: justify;}

.fontZen {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.fontNoto {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.imgHover{transition: all 0.3s 0s ease;}
.imgHover:hover{opacity: 0.7;}

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

.listNumber{
	list-style-type: decimal;
	padding-left: 2em;
}
.listNumber li{margin: 0.5em auto 0;}

.baseWrap{
	width: min(100%,1366px);
	padding: 0 var(--px50);
	margin: 0 auto;
}

	@media screen and (max-width:768px){

	body{
		padding-bottom: 8.33vw;
		overflow-x: hidden;
	}

	.baseWrap{
		width: 100%;
		padding: 0 3.91vw;
	}

	}/* --- max-width:768px */

/* ---------------------- ttl */

.ttlNo1{
	display: flex;
	min-height: var(--px50);
	align-items: center;
	padding-left: var(--px25);
	border-left: 1px solid;
	margin-bottom: var(--px35);
	span{
		font-size: calc(var(--px24) * var(--zoom));
		font-weight: bold;
		line-height: 1.2;
	}
}

.pageExpo .ttlNo1{border-color: #1b9133;}
.pageSchool .ttlNo1{border-color: #e70012;}
.pageSupport .ttlNo1{border-color: #0168b7;}

.pageNews .ttlNo1{border-color: #555;}
.pageAbout .ttlNo1{border-color: #555;}
.pagePrivacy .ttlNo1{border-color: #555;}
.pageDonate .ttlNo1{border-color: #555;}

.ttlNo2{
	margin-bottom: var(--px30);
	span{
		font-size: calc(var(--px22) * var(--zoom));
		font-weight: bold;
		line-height: 1.2;
	}
}

.ttlNo3{
	display: flex;
	align-items: center;
	height: var(--px40);
	padding-left: var(--px30);
	margin-bottom: var(--px30);
	border-bottom: 1px solid #333;
	span{
		font-size: calc(var(--px20) * var(--zoom));
		font-weight: bold;
		line-height: 1.2;
	}
}

.ttlNo4{
	display: flex;
	align-items: center;
	justify-content: center;
	height: min(4.39vw,60px);
	margin-bottom: var(--px30);
	border-bottom: 1px solid #333;
	span{
		font-size: calc(var(--px22) * var(--zoom));
		font-weight: bold;
		line-height: 1.2;
	}
}
/*-----------------------------------------*/
	@media screen and (max-width:768px){

	.ttlNo1{
		min-height: 6.51vw;
		padding-left: 3.26vw;
		margin-bottom: 3.26vw;
		span{
			font-size: calc(3.50vw * var(--zoom))
		}
	}

	.ttlNo2{
		margin-bottom: 3.91vw;
		span{
			font-size: 3.50vw;
		}
	}

	.ttlNo3{
		height: 5.21vw;
		padding-left: 3.91vw;
		margin-bottom: 3.91vw;
		span{
			font-size: 3.50vw;
		}
	}

	.ttlNo4{
		height: 7.81vw;
		margin-bottom: 3.91vw;
		span{
			font-size: 3.50vw;
		}
	}

	}/* --- max-width:768px */

/* ---------------------- button */

.btnNml{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--px18);
	height: min(5.12vw,70px);
	border: 1px solid #000;
	padding: 0 var(--px20);
	background: #fff;
	transition: background 0.3s 0s ease;
	em{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: var(--px10);
		span{font-weight: bold}
		.arw{width: var(--px9);}
	}
}
.btnNml:hover{background: #f0f0f0}

	@media screen and (max-width:768px){

	.btnNml{
		font-size: 3.20vw;
		height: 9.11vw;
		padding: 0 2.6vw;
		em{
			gap: 1.3vw;
			.arw{width: 1.17vw;}
		}
	}

	}/* --- max-width:768px */

/* ---------------------- mvSection */

.mainSection{
	.mt110{margin-top: min(8.05vw,110px);}
	.borderTop{border-top: 1px solid #f0f0f0;}
	.borderBottom{border-bottom: 1px solid #f0f0f0;}
	.borderNone{border: none;}
}

.mainSection .mainBlock{
	margin-top: min(5.86vw,80px);
}

.mainSection .subBlock{
	padding: min(4.76vw,65px) min(5.86vw,80px);
}

.mvSection{
	position: relative;
	z-index: 1;
}

.mvSection .mvWrap{
	width: min(100%,1366px);
	margin: 0 auto;
}

.mvSection .mvImage{
  display: flex;
  align-items: center;
  justify-content: center;
	height: min(27.82vw,380px);
	background-size: cover !important;
	> p{
		text-align: center;
	}
	.main{
		display: block;
		font-size: var(--px48);
		font-weight: 800;
		letter-spacing: 0.2em;
		text-shadow:
			3px 0 2px #fff,
			-3px 0 2px #fff,
			0 3px 2px #fff,
			0 -3px 2px #fff;
	}
	.sub{
		margin-top: var(--px25);
		display: block;
		font-size: var(--px28);
		font-weight: 800;
		letter-spacing: 0.2em;
		text-shadow:
			2px 0 2px #fff,
			-2px 0 2px #fff,
			0 2px 2px #fff,
			0 -2px 2px #fff;
	}
}

.pageExpo .mvSection .mvImage{background: url(/expo/img/mv.png) no-repeat center;}
.pageSchool .mvSection .mvImage{background: url(/school/img/mv.png) no-repeat center;}
.pageSupport .mvSection .mvImage{background: url(/support/img/mv.png) no-repeat center;}
.pageDonate .mvSection .mvImage{background: url(/donate/img/mv.png) no-repeat center;}

.mvSection .mvCaption{
	height: min(6.95vw,95px);
  display: flex;
  align-items: center;
  justify-content: center;
	span.txt{
		font-size: var(--px24);
	  font-family: "Zen Kaku Gothic Antique", sans-serif;
		letter-spacing: 0.2em;
		line-height: 1.5;
		color: #fff;
		font-weight: bold;
	}
}
.pageExpo .mvSection .mvCaption{background-color: #1b9133;}
.pageSchool .mvSection .mvCaption{background-color: #e70012;}
.pageSupport .mvSection .mvCaption{background-color: #0168b7;}
.pageDonate .mvSection .mvCaption{
	background-color: #e2e2e2;
	span{color: #000;}
}

	@media screen and (max-width:768px){

	.mainSection{
		.mt110{margin-top: 14.32vw;}
	}

	.mainSection .mainBlock{
		margin-top: 10.42vw;
	}

	.mainSection .subBlock{
		padding: 7.81vw 0;
	}

	.mvSection .mvWrap{
		width: min(100%,1366px);
	}

	.mvSection .mvImage{
		height: min(39.06vw,300px);
		.main{
			font-size: 4.70vw;
		}
		.sub{
			margin-top: 2.6vw;
			font-size: 3.60vw;
		}
	}
	.pageExpo .mvSection .mvImage{background: url(/expo/img/mv_sp.png) no-repeat center;}
	.pageSchool .mvSection .mvImage{background: url(/school/img/mv_sp.png) no-repeat center;}
	.pageSupport .mvSection .mvImage{background: url(/support/img/mv_sp.png) no-repeat center;}
	.pageDonate .mvSection .mvImage{background: url(/donate/img/mv_sp.png) no-repeat center;}

	.mvSection .mvCaption{
		height: 13vw;
		padding: 0 2.6vw;
		span.txt{
			font-size: 2.80vw;
			letter-spacing: 0.2em;
		}
	}

	}/* --- max-width:768px */

/* ---------------------- txtimgArea */

.txtimgArea{
	display: flex;
	width: 100%;
	div:first-of-type{
		margin-right: var(--px50);
	}
}
.txtimgArea .imgZone p{width: min(21.96vw,300px);}
.txtimgArea.vertImg .imgZone p{width: min(14.64vw,200px);}

	@media screen and (max-width:768px){

	.txtimgArea{
		display: flex;
		flex-wrap: wrap;
		div:first-of-type{
			margin-right: 4vw;
		}
	}
	.txtimgArea .imgZone{text-align: center;width: 100%;}
	.txtimgArea .imgZone p{width: 50vw;display: inline-block;}
	.txtimgArea.vertImg .imgZone p{width: 26.04vw;}
	.txtimgArea .txtZone{margin-top: 7vw;}

	.no1 .txtimgArea .imgZone,
	.no3 .txtimgArea .imgZone{order: 1;}
	.no1 .txtimgArea .txtZone,
	.no3 .txtimgArea .txtZone{order: 2;width: 100%;}

	}/* --- max-width:768px */

/* ---------------------- header */

header{
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
	padding: var(--px25) 0 var(--px10);
	z-index: 10;
}

/* funcBlock */
header .funcBlock ul{
	justify-content: flex-end;
	width: auto;
	display: flex;
	align-items: center;
	li{
		padding-left: var(--px10);
		position: relative;
		&:last-child{padding-left: var(--px30);}
		.bar{
			color: #999;
		}
		a{
			font-size: var(--px18);
			font-weight: bold;
			span{font-weight: bold;display: none;}
		}
	}
}

body {
	header .s1{display: inline-block;}
	header .s2{display: none;}
	header .s3{display: none;}
}
body.zoomed1 {
	header .s1{display: inline-block;}
	header .s2{display: none;}
	header .s3{display: none;}
}
body.zoomed2 {
	header .s1{display: none;}
	header .s2{display: inline-block;}
	header .s3{display: none;}
}
body.zoomed3 {
	header .s1{display: none;}
	header .s2{display: none;}
	header .s3{display: inline-block;;}
}

/* logoBlock */
header .logoBlock{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

header .logoBlock .logoArea{
  display: flex;
  align-items: center;
}

header .logoBlock .logoArea h1{
	width: min(18.74vw,256px);
	a{display: block;}
}

header .logoBlock .logoArea .caption span{
	font-size: var(--px14);
  font-family: "Zen Kaku Gothic Antique", sans-serif;
	padding-left: var(--px30);
	line-height: 1.5;
	font-weight: bold;
}

header .logoBlock .menuArea ul{
	display: flex;
	gap: var(--px10);
	z-index: 15;
}

header .logoBlock .menuArea ul a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(13.18vw,180px);
	height: var(--px40);
	border: var(--px2) solid #000;
	background: #fff;
	transition: background 0.3s 0s ease;
	span{
		font-size: var(--px16);
		font-weight: bold;
	}
}
header .logoBlock .menuArea ul a.is_active,
header .logoBlock .menuArea ul a:hover{background: #f0f0f0}

/* menuBlock */
nav.menuBlock{
	z-index: 10;
	width: min(100%,1366px);
	margin: 0 auto var(--px5);
	z-index: 15;
}

nav.menuBlock ul{
  display: flex;
  align-items: center;
  justify-content: flex-end;
	gap: 1px;
}

nav.menuBlock ul a{
	display: block;
	padding: var(--px10) 0;
	position: relative;
	transition: all 0.3s 0s ease;
	text-align: center;
	span{
  	font-family: "Zen Kaku Gothic Antique", sans-serif;
		font-weight: bold;
		font-size: var(--px18);
		height: var(--px18);
		align-items: center;
		justify-content: center;
	}
	.jp{display: flex}
	.en{display: none}
	&.expo{border-bottom: var(--px2) solid #1b9133;width: min(16.11vw,220px);}
	&.school{border-bottom: var(--px2) solid #e70012;width: min(13.18vw,180px);}
	&.support{border-bottom: var(--px2) solid #0168b7;width: min(12.45vw,170px);}
	&:hover{
		border-color: #fff; !important;
		/* .jp{display: none}
		.en{display: flex;font-size: var(--px14);} */
	}
	&.expo.is_active{background: #1b9133}
	&.school.is_active{background: #e70012}
	&.support.is_active{background: #0168b7}
	&.is_active span{
		color: #fff;
	}
	&.is_active:hover{
		opacity: 0.8;
	}
}

	@media screen and (max-width:768px){

	header{
		padding: 1.3vw 0 1.3vw;
		position: sticky;
		top: 0;
		background: #fff;
		height: 10vw;
	}

	/* funcBlock */
	header .funcBlock{
		padding: 0;
		position: absolute;
		right: 2.6vw;
		top: 2vw;
	}

	header .funcBlock ul{
		li{
			padding-left: 1.3vw;
			&:last-child{padding-left: 2vw;}
			a{
				font-size: 3vw;
			}
		}
	}

	/* logoBlock */
	header .logoBlock{
		width: 100%;
		padding: 0 0;
	}

	header .logoBlock .logoArea .caption{
		display: none;
		font-size: 1.82vw;
		padding-left: 2.6vw;
	}

	header .logoBlock .logoArea h1{
		width: 23vw;
	}

	header .logoBlock .menuArea ul{
		gap: 0;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
	}

	header .logoBlock .menuArea ul li{
		width: 50%;
	}

	header .logoBlock .menuArea ul a{
		width: 100%;
		height: 8.33vw;
		border: 1px solid #000;
		span{
			font-size: 3.20vw;
		}
	}
	header .logoBlock .menuArea ul li:last-child a{border-left: none;}

	/* menuBlock */
	nav.menuBlock{
		position: sticky;
		top: 10vw;
		background: #fff;
	}

	nav.menuBlock ul{
		width: 100%;
		border-top: 1px solid #000;
		li{
			width: calc(100% / 3);
		}
	}

	nav.menuBlock ul a{
		display: inline-flex;
	  align-items: center;
	  justify-content: center;
		padding: 0;
		width: 100% !important;
		height: 8.85vw;
		span{
			font-size: 3vw;
			height: 100%;
		}
		&:hover{
			.jp{display: flex}
			.en{display: none}
		}
	}

	}/* --- max-width:768px */


/* nav.menuBlock ul a:before{
	content: "";
	position: absolute;
	display: block;
	top: 50%;
 	transform: translateY(-50%);
	left: 0;
	width: var(--px8);
	height: var(--px15);
	background-size: contain !important;
}
nav.menuBlock ul a.expo:before{background: url(/common/img/arw_right_expo.png) no-repeat center;}
nav.menuBlock ul a.school:before{background: url(/common/img/arw_right_school.png) no-repeat center;}
nav.menuBlock ul a.support:before{background: url(/common/img/arw_right_support.png) no-repeat center;} */

/* ---------------------- footer */

footer{
	background: #fafafa;
	padding: var(--px50) 0 var(--px25);
}

footer *{
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

footer .baseWrap{
  display: flex;
  justify-content: space-between;
}

footer .infoBlock address{
	font-size: var(--px16);
	line-height: 1.8;
	span{
		font-weight: bold;
	}
}

footer .infoBlock .snsBox{
	display: flex;
	align-items: center;
	gap: var(--px10);
	margin-top: var(--px18);
	a{
		display: block;
		width: var(--px23);
	}
}

footer .linkBlock .linkBox{
  display: flex;
  align-items: center;
	justify-content: flex-end;
	gap: var(--px20);
	margin-top: var(--px30);
	a{
		font-size: var(--px16);
		font-weight: bold;
	}
}

footer .linkBlock .copy{
	margin-top: var(--px20);
	font-size: var(--px16);
}

	@media screen and (max-width:768px){

	footer{
		padding: 7.81vw 0 3.91vw;
	}

	footer .baseWrap{
	  display: block;
	}

	footer .infoBlock address{
		font-size: 3.20vw;
	}

	footer .infoBlock .snsBox{
		gap: 3vw;
		margin-top: 2.6vw;
		a{
			width: 5vw;
		}
	}

	footer .linkBlock{
		margin-top: 5.86vw;
	}

	footer .linkBlock .linkBox{
		gap: 2.6vw;
		margin-top: 3.39vw;
		justify-content: flex-start;
		a{
			font-size: 3.20vw;
		}
	}

	footer .linkBlock .copy{
		margin-top: 3vw;
		font-size: 3.20vw;
	}

	}/* --- max-width:768px */

/* ---------------------- main */

/* pathSection */
main .pathSection{
	padding: var(--px10) 0;
}

main .pathSection li{
	display: inline-flex;
	align-items: center;
	font-size: var(--px16);
	&:nth-child(n + 2){padding-left: var(--px5);}
	a{
		position: relative;
		padding-right: var(--px16);
		line-height: 1.5;
		&:before{
			content: "";
			position: absolute;
			display: block;
			right: 0;
			top: 50%;
			margin-top: max(-0.37vw,-5px);
		  width: var(--px6);
		  height: var(--px6);
		  border-top: 1px solid black;
		  border-right: 1px solid black;
		  transform: rotate(45deg);
			background-size: contain !important;
		}
	}
}

	@media screen and (max-width:768px){

	/* pathSection */
	main .pathSection{
		padding: 2.6vw 0;
	}

	main .pathSection li{
		font-size: 3.20vw;
		&:nth-child(n + 2){padding-left: 0.65vw;}
		a{
			padding-right: 2.34vw;
			&:before{
				top: 50%;
				margin-top: -0.8vw;
			  width: 1vw;
			  height: 1vw;
			}
			&:nth-child(n + 2){padding-left: 1.3vw;}
		}
	}

	}/* --- max-width:768px */

/* titleSection */
main .titleSection{
	background: #f0f0f0;
  display: flex;
  align-items: center;
	height: min(8.05vw,110px);
	h1{
		font-size: var(--px28);
		font-weight: bold;
	  font-family: "Zen Kaku Gothic Antique", sans-serif;
	  font-style: normal;
	}
}

	@media screen and (max-width:768px){

	/* titleSection */
	main .titleSection{
		height: 14.32vw;
		padding: 0 2.6vw;
		h1{
			font-size: 4.20vw;
		}
	}

	}/* --- max-width:768px */

/* mainSection */
main .mainSection .baseWrap{
	.ttlH2{
		font-size: calc(var(--px20) * var(--zoom));
		line-height: 1.8;
		font-weight: bold;
		margin-top: 1em;
	}
	.ttlH3{
		font-size: calc(var(--px19) * var(--zoom));
		line-height: 1.8;
		font-weight: bold;
		margin-top: 1em;
	}
	.txtMain{
		font-size: calc(var(--px20) * var(--zoom));
		line-height: 1.8;
	}
	.txtSub{
		font-size: calc(var(--px18) * var(--zoom));
		line-height: 1.8;
		margin-top: 1em;
	}
	.txtSubSub{
		font-size: calc(var(--px17) * var(--zoom));
		line-height: 1.8;
		margin-top: 1em;
	}
	.txtNml{
		font-size: calc(var(--px16) * var(--zoom));
		line-height: 1.8;
		margin-top: 1em;
	}
}

	@media screen and (max-width:768px){

	/* mainSection */
	main .mainSection .baseWrap{
		.ttlH2{
			font-size: calc(4.0vw * var(--zoom));/* 30 */
		}
		.ttlH3{
			font-size: calc(3.80vw * var(--zoom));/* 28 */
		}
		.txtMain{
			font-size: calc(3.60vw * var(--zoom));/* 26 */
		}
		.txtSub{
			font-size: calc(3.40vw * var(--zoom));/* 18 */
		}
		.txtSubSub{
			font-size: calc(2.80 * var(--zoom));/* 17 */
		}
		.txtNml{
			font-size: calc(3vw * var(--zoom));/* 24 */
		}
	}

	}/* --- max-width:768px */

/* pagePrivacy */
.pagePrivacy main .mainSection{
	.baseWrap{
		padding: min(6.22vw,85px) var(--px50);
	}
	.contentsMain{
		padding: min(5.86vw,80px) 0 0;
	}
	.contentsMain .section{
		margin-top: min(5.86vw,80px);
	}
}

	@media screen and (max-width:768px){
	}/* --- max-width:768px */

/* pageAbout */
.pageAbout main .mainSection{
	.baseWrap{
		padding: min(6.22vw,85px) var(--px50);
	}
	.contentsMain{
		padding: min(5.86vw,80px) 0 0;
	}
	.contentsMain .section{
		margin-top: min(5.86vw,80px);
	}
}

/* =========================== sptBlock */

.sptBlock{
	padding: min(5.86vw,80px) 0;
	.ttl_spt span{
		font-size: var(--px24);
		font-weight: bold;
	}
	img{
	  width: 100%;
	  height: 100%;
	  object-fit: contain;
	  object-position: center;
		display: block;
	}
	.sptBox{
		margin-top: min(4.39vw,60px);
  	display: grid;
		gap: var(--px40) var(--px20);
		grid-template-columns: repeat(6, 1fr);
		.img span{height: min(4.03vw,55px);}
		.txt{
			display: block;
			font-size: var(--px12);
			margin-top: var(--px15);
			line-height: 1.5;
			text-align: center;
		}
	}
	.sptSubBox{
		text-align: center;
		margin-top: var(--px40);
		li{display: inline-block;font-size: var(--px12)}
	}
}

	@media screen and (max-width:768px){

	.sptBlock{
		padding: 7.81vw 2.6vw;
		.ttl_spt span{
			font-size: 3.50vw;
		}
		.sptBox{
			margin-top: 7.81vw;
	  	display: grid;
			gap: 4vw 2.6vw;
			grid-template-columns: repeat(4, 1fr);
			.img span{height: 8vw;}
			.txt{display: none;}
		}
		.sptSubBox{
			text-align: left;
			margin-top: 3.91vw;
			li{
				display: inline-block;
				font-size: 3.20vw;
			}
		}
	}

	}/* --- max-width:768px */

/* =========================== img */

/* imgCap */
main .imgCap{
	line-height: 1;
	display: inline-block;
	margin-top: 1em;
	text-align: center;
	.cap{
		display: block;
		line-height: 1.5;
		text-align: center;
		font-size: 0.8em;
		margin-top: var(--px5);
	}
	&.flL{margin-right: 1em;}
	&.flR{margin-left: 1em;}
	&.tiny img{width: min(7.32vw,100px);}
	&.small img{width: min(10.98vw,150px);}
	&.middle img{width: min(18.3vw,250px);}
	&.big img{width: min(25.62vw,350px);}
	a{text-decoration: underline;}
	a:hover{text-decoration: none;opacity: 0.8;}
}

img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
	display: block;
}

.img {
	&.ratio4x3 { aspect-ratio: 4 / 3; }
	&.ratio16x9 { aspect-ratio: 16 / 9; }
	&.ratio3x4 { aspect-ratio: 3 / 4; }
	&.ratio9x16 { aspect-ratio: 9 / 16; }
}

/* imgBox */
main .imgBox {
  display: grid;
  gap: var(--px30);
	margin-top: 1em;
  padding: 0;
	.img{margin-bottom: 0.3em;}
	&.col1{
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  flex-wrap: wrap;
		li{width: 100%}
	}
	&.col2{grid-template-columns: repeat(2, 1fr);}
	&.col3{grid-template-columns: repeat(3, 1fr);}
	&.col4{grid-template-columns: repeat(4, 1fr);}
	&.col5{grid-template-columns: repeat(5, 1fr);}
	li{
		display: block;
		font-size: 0.8em;
		line-height: 1.5;
	}
	a{text-decoration: underline;}
	a:hover{text-decoration: none;opacity: 0.8;}
}

	@media screen and (max-width:768px){

	/* imgCap */
	main .imgCap{
		display: block;
		.cap{
			display: block;
			margin-top: 0.8vw;
		}
		&.flL{float: none;margin-right: 0;}
		&.flR{float: none;margin-left: 0;}
		img{margin: auto;}
		&.tiny img{width: 90%;}
		&.small img{width: 90%;}
		&.middle img{width: 90%;}
		&.big img{width: 90%;}
	}

	/* imgBox */
	main .imgBox {
	  gap: 2.13vw;
		&.col4.col1ForSp,
		&.col3.col1ForSp,
		&.col2.col1ForSp{
			display: flex;flex-wrap: wrap;
			li{width: 100%;}
			.img{width: 100%;}
		}
	}

	}/* --- max-width:768px */

.topImgBox{
	margin-top: var(--px40);
	grid-template-columns: repeat(4, 1fr);
}

	@media screen and (max-width:768px){

	.topImgBox{
		margin-top: 5.21vw;
		grid-template-columns: repeat(2, 1fr);
	}

	}/* --- max-width:768px */

/* =========================== lastBtnBlock */

.lastBtnBlock{
	padding: min(7.32vw,100px) 0;
	.btn{
		text-align: center;
	}
	.btnNml{
		width: min(90%,500px);
	}
}

	@media screen and (max-width:768px){

	.lastBtnBlock{
		padding: 13.02vw 0;
		.btnNml{
			width: 100%;
		}
	}

	}/* --- max-width:768px */

/* =========================== eventBlock */

.eventBlock{
	position: relative;
	padding: min(4.39vw,60px) var(--px30) var(--px50);
	margin-bottom: var(--px50);
	border: 1px solid #000;
	.ttl{
		font-size: var(--px30);
		font-weight: bold;
		line-height: 1.5;
	}
	.txtEvt{
		font-size: calc(var(--px18) * var(--zoom));
		line-height: 1.5;
		margin-top: var(--px30);
	}
	.dateTable{
		font-size: calc(var(--px18) * var(--zoom));
		line-height: 1.5;
		margin-top: var(--px30);
		th{text-align-last: justify;white-space: nowrap;font-weight: bold}
	}
	.btn{
		display: flex;
		flex-wrap: wrap;
		gap: var(--px15);
		margin-top: var(--px30);
	}
}

	@media screen and (max-width:768px){

	#eventBlock{
		position: absolute;
		top: -20vw;
	}

	.eventBlock{
		padding: 7.81vw 4.56vw 5.86vw;
		margin-bottom: 6.51vw;
		.ttl{
			font-size: 3.5vw;
		}
		.txtEvt{
			font-size: calc(3.0vw * var(--zoom));
			margin-top: 3.91vw;
		}
		.dateTable{
			font-size: calc(3.0vw * var(--zoom));
			margin-top: 3.91vw;
		}
		.btn{
			margin-top: 3.91vw;
		}
	}

	}/* --- max-width:768px */

/* =========================== mv */

.mvBox{
	a.vg{
		position: relative;
		display: block;
		background: #fafafa;
		height: 100%;
		overflow: hidden;
	}
	a.vg .ttl{
		position: absolute;
		top: min(11.71vw,160px);
		left: var(--px50);
		width: min(36.82vw,503px);
	}
	a.vg .ttl2{
		z-index: 1;
		position: absolute;
		top: min(11.71vw,160px);
		left: var(--px50);
		width: min(36.82vw,503px);
		.main span{
			font-family: "Noto Sans JP", sans-serif;
			font-size: var(--px48);
			font-weight: 900;
			letter-spacing: var(--px2);
			color: #000;
			line-height: 1.2;
		}
		.sub span{
			font-family: "Noto Sans JP", sans-serif;
			font-size: var(--px18);
			margin-top: var(--px10);
			color: #000;
			line-height: 1.5;
		}
	}
	a.vg .bubble{
		position: absolute;
		background: #555;
		border-radius: 50%;
	}
	a.vg .bubble span{display: block;}
	a.vg .bubble.no1 span{width: min(5.86vw,80px);height: min(5.86vw,80px);}
	a.vg .bubble.no1{top: var(--px38);left: min(44.22vw,604px);background: #f4ffd8;}
	a.vg .bubble.no2 span{width: min(11.35vw,155px);height: min(11.35vw,155px);}
	a.vg .bubble.no2{top: var(--px11);left: min(57.39vw,784px);background: #ecefff}
	a.vg .bubble.no3 span{width: min(8.42vw,115px);height: min(8.42vw,115px);}
	a.vg .bubble.no3{top: var(--px43);left: min(80.53vw,1100px);background: #ffe7da}
	a.vg .bubble.no4 span{width: min(10.98vw,150px);height: min(10.98vw,150px);}
	a.vg .bubble.no4{top: min(11.71vw,160px);left: min(45.39vw,620px);background: #f5f1f7}
	a.vg .bubble.no5 span{width: min(10.25vw,140px);height: min(10.25vw,140px);}
	a.vg .bubble.no5{top: min(7.61vw,104px);left: min(67.35vw,920px);background: #ffeae9}
	a.vg .bubble.no6 span{width: min(6.81vw,93px);height: min(6.81vw,93px);}
	a.vg .bubble.no6{top: min(25.62vw,350px);left: min(50.22vw,686px);background: #ffffd0}
	a.vg .bubble.no7 span{width: min(7.69vw,105px);height: min(7.69vw,105px);}
	a.vg .bubble.no7{top: min(20.5vw,280px);left: min(60.76vw,830px);background: #dff6ff}
	a.vg .bubble.no8 span{width: min(6.22vw,85px);height: min(6.22vw,85px);}
	a.vg .bubble.no8{top: min(26.72vw,365px);left: min(70.28vw,960px);background: #ffeee1}
	a.vg .bubble.no9 span{width: min(10.98vw,150px);height: min(10.98vw,150px);}
	a.vg .bubble.no9{top: min(21.67vw,296px);left: min(81.26vw,1110px);background: #f4ffd8}

	a.vg .img{
		position: absolute;
		border-radius: 50%;
		overflow: hidden;
	}
	a.vg .img span{display: block;transform: scale(1.8)}
	a.vg .img.no1{top: var(--px16);left: min(60.91vw,832px);width: min(8.71vw,119px);height: min(8.71vw,119px);}
	a.vg .img.no2{top: var(--px30);left: min(77.01vw,1052px);width: min(9.59vw,131px);height: min(9.59vw,131px);}
	a.vg .img.no3{top: min(9.52vw,130px);left: min(48.32vw,660px);width: min(10.25vw,140px);height: min(10.25vw,140px);}
	a.vg .img.no4{top: min(17.2vw,235px);left: min(57.83vw,790px);width: min(9.08vw,124px);height: min(9.08vw,124px);}
	a.vg .img.no5{top: min(10.83vw,148px);left: min(70.06vw,957px);width: min(13.18vw,180px);height: min(13.18vw,180px);}
	a.vg .img.no6{top: min(24.67vw,337px);left: min(46.19vw,631px);width: min(9.52vw,130px);height: min(9.52vw,130px);}
	a.vg .img.no7{top: min(22.55vw,308px);left: min(80.09vw,1094px);width: min(11.49vw,157px);height: min(11.49vw,157px);}
}

	@media screen and (max-width:768px){

	.mvBox{
		a.vg .ttl{
			position: absolute;
			top: 50%;
			left: 50%;
			width: 64.32vw;
			margin-top: -11.52vw;
			margin-left: -32vw;
		}
		a.vg .ttl2{
			top: 50%;
			left: 19vw;
			width: 64.32vw;
			text-align: center;
			margin-top: -11.52vw;
			margin-left: 0;
			.main span{
				font-size: 6vw;
				letter-spacing: 0.26vw;
			}
			.sub span{
				font-size: 2.5vw;
				margin-top: 1vw;
			}
		}
		a.vg .bubble.no1 span{width: 19.84vw;height: 19.84vw;}
		a.vg .bubble.no1{top: 16.64vw;left: 3.4vw;background: #dff6ff;}
		a.vg .bubble.no2 span{width: 19.2vw;height: 19.2vw;}
		a.vg .bubble.no2{top: -9.6vw;left: 36.8vw;background: #ffffcc}
		a.vg .bubble.no3 span{width: 20vw;height: 20vw;}
		a.vg .bubble.no3{top: 6.88vw;left: 63.04vw;background: #ffe7da}
		a.vg .bubble.no4 span{width: 24.48vw;height: 24.48vw;}
		a.vg .bubble.no4{top: 53.44vw;left: 3.52vw;background: #ecefff}
		a.vg .bubble.no5 span{width: 18.88vw;height: 18.88vw;}
		a.vg .bubble.no5{top: 59.92vw;left: 52.32vw;background: #ffffcc}
		a.vg .bubble.no6 span{width: 24.48vw;height: 24.48vw;}
		a.vg .bubble.no6{top: 54.16vw;left: 66.24vw;background: #f5f1f7}
		a.vg .bubble.no7 span{width: 24vw;height: 24vw;}
		a.vg .bubble.no7{top: 69.04vw;left: 82.88vw;background: #f4ffd8}
		a.vg .bubble.no8 span{}
		a.vg .bubble.no8{display: none;}
		a.vg .bubble.no9 span{}
		a.vg .bubble.no9{display: none;}

		a.vg .img.no1{top: 6.4vw;left: 12.32vw;width: 19.2vw;height: 19.2vw;}
		a.vg .img.no2{top: 4.8vw;left: 71.2vw;width: 25.6vw;height: 25.6vw;}
		a.vg .img.no3{top: 50.84vw;left: 9.76vw;width: 31.04vw;height: 31.04vw;}
		a.vg .img.no4{top: 59.74vw;left: 73.44vw;width: 21.6vw;height: 21.6vw;}
		a.vg .img.no5{display: none;}
		a.vg .img.no6{display: none;}
		a.vg .img.no7{display: none;}
	}

	}/* --- max-width:768px */

/* =========================== banImg */

.banImg{
	height: min(19.03vw,260px);
	border: 1px solid #000;
	a.vg > div{
		position: absolute;
		top: max(-7.32vw,-100px);
	}
	a.vg .ttl2{
		z-index: 1;
		.main span{
			font-size: var(--px38);
			letter-spacing: var(--px2);
		}
		.sub span{
			font-size: var(--px16);
			margin-top: var(--px10);
		}
	}
}

	@media screen and (max-width:768px){

	.banImg{
		height: 70.31vw;
		a.vg > div{
			top: -3vw;
			left: -6vw;
		}
		a.vg .ttl2{
			top: 29vw;
			left: 19vw;
			width: 64.32vw;
			text-align: center;
			margin-top: 0;
			margin-left: 0;
			.main span{
				font-size: 6vw;
				letter-spacing: 0.26vw;
			}
			.sub span{
				font-size: 2.5vw;
				margin-top: 1vw;
			}
		}
	}

	}/* --- max-width:768px */

/* =========================== verEn */

.verEn{
	header .funcBlock ul li:last-child{display: none;}
	header .menuArea ul li:first-child{display: none;}
	footer .linkBlock > div{display: none;}
	nav.menuBlock{display: none;}
}

	@media screen and (max-width:768px){

	.verEn{
		header .menuArea ul li:last-child{
			width: 100%;
		}
		#eventBlock{
			position: absolute;
			top: -10vw;
		}
	}

	}/* --- max-width:768px */
