@charset "UTF-8";

:root {
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
	line-height: 1.8;
	--min1px: max(1px, 1rem);
	--min2px: max(2px, 2rem);
	--main-color: #00479a;
	--pale-main: #80a3cc;
	--orange: #dfb756;
	--brown: #d7cfc2;
	--green: #007d84;
	--border-gray: #707070;
	font-weight: 200;
}
.zen {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
}
.palt {font-feature-settings: "palt";text-align: justify;}
.opa3 {transition: .3s;}
.opa3:hover {opacity: .7;}
@media only screen and (max-width: 767px) {
	:root {
		font-size: 0.3125vw; /* w320 */
	}
	.site-header,
	.site-main,
	.site-footer {
		font-size: 13rem;
	}
}
@media print,
(min-width: 768px) {
	:root {
		font-size: 1px;
	}
	.site-header,
	.site-main,
	.site-footer {
		font-size: 14rem;
	}
}
@media (min-width: 1025px) {
	/* .site-main, .site-footer {min-width: 1280px} */
}
@media (min-width: 1600px) {
	:root {
		font-size: 0.0625vw;
	}
}



/* --HEADER-- */
@media all {
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background-color: #fff;
		box-shadow: 0 1px 2px #000;
		z-index: 1000;
	}

	.site-header-logo {
		display: inline-flex;
		align-items: center;
		height: 100%;
	}

	.site-header-logo a {
		display: block;
	}

	.site-header-nav {
		font-weight: 500;
	}
	.site-header-nav-item a {
		display: inline-flex;
		align-items: center;
	}
	.site-header-nav-item a::after {
		content: attr(data-en);
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		body.nav-active {
			overflow: hidden;
		}

		.site-header {height: 50rem;}
		.site-header-logo {
			position: absolute;
			top: 0;
			left: 15rem;
		}
		.site-header-logo img {width: 120rem;}
		.site-header-nav {
			position: fixed;
			top: 50rem;
			padding: 20rem 0 40rem;
			right: -125%;
			width: 100vw;
			background-color: #fff;
			transition: right .5s;
			z-index: 999;
			max-height: calc(100vh - 50rem);
			font-size: 14rem;
		}
		.site-header-nav-name {
			display: block;
			padding: 0 20rem;
			font-size: 13rem;
			color: #828282;
		}

		.nav-active .site-header-nav {
			right: 0;
		}

		.site-header-nav-list {
			padding: 0 20rem;
		}
		.site-header-nav-item {
			position: relative;
			margin: 0 auto;
			padding: 10rem 0;
			border-bottom: 1rem solid var(--lightgray);
			line-height: 1;
		}
		.site-header-nav-item a {
			padding: 10rem 0 10rem 1em;
		}
		.site-header-nav-item a::after {
			content: '/ ' attr(data-en);
			display: inline-block;
			margin-left: 4rem;
		}
		.site-main {padding-top: 50rem;}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.site-header {
			display: flex;
			justify-content: space-between;
			height: 80rem;
		}
		.site-main {padding-top: 80rem;}
		.site-header-logo {
			margin-left: 20rem;
		}
		.site-header-logo a {transition: opacity .3s;}
		.site-header-logo a:hover {opacity: .7;}
		.site-header-logo img {
			width: 200rem;
		}
		
	
		.site-header-nav {
			margin-right: 20rem;
			width:520rem;
			height: 100%;
		}
		.site-header-nav-list {
			display: flex;
			justify-content: flex-end;
			height: 100%;
		}
		.site-header-nav-item {
			display: flex;
			align-items: center;
			height: 100%;
		}
		.site-header-nav-item a {
			position: relative;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			padding: 0 15rem;
			height: 100%;
			line-height: 1;
			transition: color .5s, background-color .5s;
		}
		.site-header-nav-item a:hover {
			color: #fff;
			background-color: var(--main-color);
		}
		.site-header-nav-item a::after {
			display: block;
			margin-top: 8rem;
			text-align: center;
			font-size: 12rem;
		}
		
		@media (max-width: 1024px) {
			.site-header-nav {margin-right: 0;}
		}
	}
	
	/* tab */
	/* @media screen and (min-width: 768px) and (max-width: 1024px) {
		.site-header-nav {
			width: 400rem;
			padding: 0 15rem 30rem;
			font-size: 16rem;
		}
		.site-header-nav-item {
			padding: 15rem 0;
		}
	} */
}



/* --BURGER-- sp */
@media only screen and (max-width: 767px) {

	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		width: 30rem;
	}

	.menu-tirgger-wrapper {
		position: fixed;
		display: flex;
		align-items: center;
		z-index: 10002;
		right: min(35px, 5.46875vw);
		width: 7.8125vw;
		max-width: 50px;
		min-height: 70px;
		max-height: 100px;
		height: 15.625vw;
	}

	.menu-trigger {
		position: absolute;
		top: 12rem;
		right: 10rem;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		height: 27rem;
		visibility: visible;
		opacity: 1;
		transition: transform .5s;
		cursor: pointer;
	}

	.menu-trigger span {
		/* position: absolute;
			left: 0; */
		width: 100%;
		height: 3rem;
		background-color: var(--main-color);
	}

	.nav-active .menu-trigger span:nth-of-type(1) {
		transform: translateY(12rem) rotate(-220deg) scaleX(1.25);
	}

	.nav-active .menu-trigger span:nth-of-type(2) {
		opacity: 0;
	}

	.nav-active .menu-trigger span:nth-of-type(3) {
		transform: translateY(-12.5rem) rotate(220deg) scaleX(1.25);
	}

	.nav-active .menu-trigger {
		visibility: visible !important;
		opacity: 1 !important;
	}

	.menu-trigger.hidden {
		visibility: hidden;
		opacity: 0;
		transition: .5s;
	}

	.menu-bg,
	.bg-trigger {
		display: block;
		position: absolute;
		top: 50rem;
		left: 0;
		width: 100%;
		height: calc(100vh - 50rem);
		visibility: hidden;
	}

	.menu-bg {
		background: rgba(0, 0, 0, .5);
		opacity: 0;
		transition: .5s;
	}

	.nav-active .menu-bg {
		opacity: 1;
		visibility: visible;
	}

	.bg-trigger {
		cursor: pointer;
	}

	.nav-active .bg-trigger {
		visibility: visible;
		backdrop-filter: blur(1rem);
	}
}
/* --BURGER-- tab */
/* @media only screen and (min-width: 768px) and (max-width: 1024px) {
	.site-header { height: 100rem;}
	.menu-trigger {
		top: 33rem;
		right: 30rem;
		width: 40rem;
		height: 37rem;
	}
	.menu-trigger span {
		height: 4rem;
	}
	.menu-bg, .bg-trigger,.site-header-nav {
		top: 100rem;
	}
	.nav-active .menu-trigger span:nth-of-type(1) {
		transform: translateY(16rem) rotate(-220deg) scaleX(1.25);
	}
	.nav-active .menu-trigger span:nth-of-type(3) {
		transform: translateY(-16.5rem) rotate(220deg) scaleX(1.25);
	}
} */

/* --BURGER-- pc & tab */
@media print,
(min-width: 768px) {

	.menu-trigger,
	.menu-bg,
	.bg-trigger {
		display: none;
	}
}




/* --MAIN-- */
@media all {
	.site-main {
		overflow: hidden;
		width: 100%;
	}
	.main-section {
		position: relative;
	}
	.breadcrumbs,
	.breadcrumbs a {
		color: var(--fontgray);
	}
	.breadcrumbs {
		position: relative;
	}
	.breadcrumbs::before,
	.breadcrumbs::after {
		content: '';
		position: absolute;
		bottom: 10rem;
		left: 0;
		display: block;
		width: 10rem;
		height: 20rem;
		background: linear-gradient(to right, rgba(255,255,255,1) 3px, rgba(255,255,255,0));
		z-index: 1;
	}
	.breadcrumbs::after {
		left: auto;
		right: 0;
		transform: scale(-1, 1);
	}
	.breadcrumbs-list {
		overflow-x: scroll;
		display: flex;
		align-items: center;
	}
	.breadcrumbs-item {
		white-space: nowrap;
	}
	.breadcrumbs-item + .breadcrumbs-item::before {
		content: '＞';
		display: inline-block;
		width: 3em;
		text-align: center;
	}
	
	nav.page-nav {
		text-align: center;
	}
	ul.page-numbers {
		display: inline-flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	ul.page-numbers li + li {
		margin-left: 1em;
	}
	a.page-numbers,
	span.page-numbers {
		display: flex;
		align-items: center;
		color: var(--fontgray);
	}
	span.page-numbers.current {
		color: var(--red);
	}

	.section-ttl {
		font-weight: 200;
		text-align: center;
	}
	.section-ttl::after {
		content: attr(data-en);
		display: block;
		margin-top: -.25em;
	}

	/* --MAIN-- sp */
	@media only screen and (max-width:767px) {
		.main-section {padding: 40rem 0;}
		.section-ttl {
			font-size: 18rem;
		}
		.section-ttl::after {
			font-size: 12rem;
		}
		.breadcrumbs-list {
			padding: 20rem 10rem 10rem;
			font-size: 12rem;
		}
		a.page-numbers.prev,
		a.page-numbers.next {
			width: 21rem;
			height: 11rem;
			background: center / contain no-repeat;
		}
		a.page-numbers.prev {
			background-image: url(../img/common/icon-prev-sp.svg);
		}
		a.page-numbers.next {
			background-image: url(../img/common/icon-next-sp.svg);
		}
	}
	
	/* --MAIN-- tab & pc */
	@media (min-width:768px) {
		.main-section {
			padding: 100rem 0;
		}
		.breadcrumbs {
			margin-left: 20rem;
			margin-right: 20rem;
		}
		.breadcrumbs-list {
			padding: 20rem 20rem 10rem;
			font-size: 14rem;
		}
		ul.page-numbers {
			font-size: 18rem;
		}
		ul.page-numbers li + li {
			margin-left: 2em;
		}
		a.page-numbers,
		span.page-numbers {
			font-weight: 500;
		}
		a.page-numbers.prev,
		a.page-numbers.next {
			width: 26rem;
			height: 13rem;
			background: center / contain no-repeat;
		}
		a.page-numbers.prev {
			background-image: url(../img/common/icon-prev-sp.svg);
		}
		a.page-numbers.next {
			background-image: url(../img/common/icon-next-sp.svg);
		}
	
		.section-ttl {font-size: 40rem;}
		.section-ttl::after {font-size: 20rem;}
	}
	
	/* --MAIN-- pc */
	@media screen and (min-width:1025px) {}
	
	/* --MAIN-- tab */
	@media screen and (min-width: 768px) and (max-width: 1024px) {}	
}


/* .news-list & .ttl-huge */
@media all {
	.ttl-huge {
		color: var(--pale-main);
	}
	.news-list {
		position: relative;
		z-index: 2;
		display: flex;
		flex-wrap: wrap;
	}
	.news-item:first-child {
		border-top: 1rem solid #000;
	}
	.news-item {
		display: flex;
		padding: 1.25em;
		width: 100%;
		border-bottom: 1rem solid #000;
	}
	.news-item a {transition: opacity .3s;}
	.news-item a:hover {opacity: .6;}
	.news-date {width: 5em;}
	.news-ttl {
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		width: calc(100% - 5em);
	}
	
	/* sp */
	@media only screen and (max-width: 767px) {
		.ttl-huge.news {display: none;}
		.news-list {
			margin: 60rem auto 0;
			width: calc(100% - 40rem);
			font-size: 12rem;
		}
		.news-item {padding: .75em 0;}
		.news-date {width: 7em;}
		.news-archive {
			margin: 14rem auto 0;
			width: calc(100% - 40rem);
			font-size: 11rem;
		}
	}


	/* tab & pc */
	@media (min-width: 768px) {
		.ttl-huge {
			writing-mode: vertical-rl;
			font-size: 120rem;
			line-height: 1;
			white-space: nowrap;
		}
		.ttl-huge.news {
			position: absolute;
			top: 0;
			right: max(-10rem, calc(50% - 565rem));
			color: #000;
			transition-delay: .15s;
		}
		.news-list {
			margin: 80rem auto 0;
			width: 600rem;
		}
		.news-item {
			padding-left: 0;
			padding-right: 0;
		}
		.news-ttl {
			-webkit-line-clamp: 1;
			padding-left: 4em;
		}
		.news-archive {
			margin: 1em auto 0;
			width: 600rem;
		}

		@media (max-width: 1024px) {
			.ttl-huge {font-size: 110rem;}
			.ttl-huge.news {font-size: 100rem;}
		}
	}
}


/* cloud */
@media all {
	.cloud::before {
		content: '';
		position: absolute;
		z-index: 1;
		left: 0;
		display: block;
		width:100%;
		pointer-events: none;
		background: left bottom / cover;
		animation: wave 5s ease-in-out infinite;
		transform-origin: bottom center;
	}
	.cloud.c-white::before {
		background-image: url(../img/common/bg-cloud-w.png);
	}
	.cloud.c-green {background-color: var(--green);}
	.cloud.c-green::before {
		background-image: url(../img/common/bg-cloud-g.png);
	}
	.cloud.c-brown {background-color: var(--brown);}
	.cloud.c-brown::before {
		background-image: url(../img/common/bg-cloud-b.png);
	}

	@keyframes wave {
		0% {transform: skewX(0deg) scale(1,1);}
		25% {transform: skewX(15deg) scale(1.025,1.2);}
		50% {transform: skewX(0deg) scale(1,1);}
		75% {transform: skewX(-15deg) scale(1.025,1.2);}
		100% {transform: skewX(0deg) scale(1,1);}
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.cloud {padding-bottom: 125rem;}
		.cloud::before {
			top: -19rem;
			height: 20rem;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.cloud::before {
			top: -53rem;
			height: 54rem;
		}

	}
}

/* p.button a */
@media all {
	.button {
		position: relative;
		text-align: center;
		z-index: 2;
	}
	.button a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: var(--min1px) solid #000;
		background-color: #fff;
		color: #000;
		transition: .3s;
	}
	.button a:hover {
		background-color: var(--orange);
		color: #fff;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.button {margin-top: 80rem;}
		.button a {
			width: 150rem;
			height: 32rem;
			border-radius: 16rem;
			font-size: 14rem;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.button {margin-top: 100rem;}
		.button a {
			width: 200rem;
			height: 50rem;
			border-radius: 25rem;
			font-size: 16rem;
		}

		/* pc */
		@media (min-width: 1025px) {}

		/* tab */
		@media (max-width: 1024px) {}
	}
}

/* --FOOTER-- */
@media all {
	.committee-dl dt::after {
		content: '｜';
		display: inline-block;
		width: .75em;
	}
	.footer-event-notice {text-align: center;}
	.footer-committee,
	.footer-contact,
	.footer-logos {border-top: var(--min1px) solid var(--main-color);}
	.footer-contact {
		margin: 0 auto;
	}
	.footer-contact address {font-style: normal;}
	.footer-contact address + address {margin-top: 2em;}

	.footer-logos img {width: 100%;}

	/* sp & tab */
	@media only screen and (max-width: 1024px) {}

	/* sp */
	@media only screen and (max-width: 767px) {
		.footer-committee,
		.footer-event-notice,
		.footer-contact,
		.footer-logos {
			margin: 0 auto;
			width: calc(100% - 24rem);
		}
		.footer-committee {
			padding: 30rem 0;
			font-size: 12rem;
			text-align: center;
		}
		.committee-dl + dl {margin-top: 1.5em;}
		.committee-dl dt {font-size: 14rem; font-weight: 500;}
		.committee-dl dt::after {content: none;}
		.committee-dl dd {font-weight: normal;}
		.footer-committee .en {margin-top: 3em;}
		.footer-event-notice .ja {font-size: 11rem;}
		.footer-event-notice .en {font-size: 10rem;}

		.footer-contact {
			margin-top: 30rem;
			padding: 30rem 0;
		}
		.footer-contact-text {
			margin-top: 30rem;
			font-size: 11rem;
		}
		.footer-contact-text .en {text-align: left;}
		
		.footer-logos {
			display: flex;
			flex-direction: column;
			align-items: center;
			padding: 30rem 0;
		}
		
		.footer-logo-mirai {width: 220rem;}
		.footer-logo-sdgs {margin-top: 30rem;width: 200rem;}
		.footer-logo-aca {
			position: relative;
			margin-top: 50rem;
			width: 80rem;
		}
		.footer-logo-aca::before {
			content: '';
			position: absolute;
			top: -25rem;
			left: calc(50% - 60rem);
			display: block;
			width: 120rem;
			height: 1px;
			background-color: var(--border-gray);
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.footer-committee,
		.footer-contact,
		.footer-logos {
			margin: 0 auto;
			width: calc(100% - 20rem);
			max-width: 900rem;
		}
		.footer-committee {
			padding: 50rem 0;
		}
		.footer-committee .ja {width: 380rem;font-size: 16rem;}
		.footer-committee .en {
			width: 430rem;
			font-size: 13rem;
			line-height: 2.2;
		}
		.committee-dl > * {display: inline;}

		.footer-event-notice .ja {font-size: 16rem;}
		.footer-event-notice .en {font-size: 13rem;}

		.footer-contact {
			display: flex;
			justify-content: center;
			margin: 50rem auto 0;
			padding: 50rem 0;
		}
		.footer-contact-text {line-height: 1.75;}
		.footer-contact-text .ja {font-size: 16rem;}
		.footer-contact-text .en {
			font-size: 13rem;
			line-height: 2.3;
		}

		.footer-logos {
			display: flex;
			align-items: center;
			justify-content: center;
			margin: 0 auto;
			padding: 30rem 0 40rem;
		}
		.footer-logo-mirai {width: 250rem;}
		.footer-logo-sdgs {
			margin: 0 40rem;
			width: 170rem;
		}
		.footer-logo-aca {
			position: relative;
			margin-left: 40rem;
			width: 78rem;
		}
		.footer-logo-aca::before {
			content: '';
			position: absolute;
			top: 12%;
			left: -40rem;
			display: block;
			width: 1px;
			height: 76%;
			background-color: var(--border-gray);
		}


		/* pc */
		@media (min-width: 1025px) {
			.footer-committee {
				display: flex;
				justify-content: space-between;
				margin: 0 auto;
				padding-left: 50rem;
			}
			.footer-contact > * {
				width: 50%;
			}
			.footer-contact-text {
				padding-left: 10rem;
			}
		}

		/* tab */
		@media screen and (max-width: 1024px) {
			
			.footer-committee :is(.ja, .en) {
				margin-left: auto;
				margin-right: auto;
			}
			.footer-committee > .en {
				margin-top: 2em;
				width: 525rem;
			}

			.footer-event-notice {white-space: nowrap;}

			.footer-contact-text {margin-left: 60rem;}
		}
	}
}

/* 印刷用 */
@media print {
	body {
		width: 100%;
	}

	.site-header {
		position: absolute;
	}
	.site-header-nav,
	.to-top {
		display: none !important;
	}

}


/* --TO TOP-- */
@media all {
	.to-top {
		display: none;
		position: fixed;
		bottom: 20px;
		right: 20px;
		background: #3B4C85;
		width: 3.4375em;
		height: 3.4375em;
		border-radius: 50%;
		box-shadow: 0 0 2px rgba(255, 255, 255, .8);
		font-size: 12px;
		overflow: hidden;
		z-index: 1;
	}

	.to-top a {
		display: block;
		width: 100%;
		height: 100%;
	}
	.to-top a::after {
		content: '';
		position: absolute;
		top: 42.5%;
		left: 35%;
		width: 25%;
		height: 25%;
		border: 3px solid #fff;
		border-left: none;
		border-bottom: none;
		transform: translateY(0) rotate(-45deg);
		transition: .3s;
	}

	.to-top a:hover::after {
		transform: translateY(-30%) rotate(-45deg);
	}
}
@media only screen and (max-width: 767px) {
	.to-top {
		font-size: var(--sp-vw-12px);
	}
}
@media (min-width: 1025px) {
	.to-top a {
		font-size: 12.8px;
	}
}

/* inview */
@media not print {
	.elemFadeIn {
		opacity: 0;
		/* filter: blur(10rem); */
		transform: translateY(30rem);
		transition: 1s opacity, 1s filter, 1s transform;
	}

	.elemFadeIn.animated {
		opacity: 1;
		filter: blur(0);
		transform: translateY(0px);
	}
}

/* --Util--*/
@media all {
	.clearfix::after {
		content: '';
		display: block;
		clear: both;
	}
	.ilb {display: inline-block;}

	/* --Util-- sp */
	@media only screen and (max-width: 767px) {
		.spNone {
			display: none!important;
		}
	}

	/* --Util-- tab & sp */
	@media only screen and (max-width: 1024px) {
		.pcOnly {
			display: none!important;
		}
	}

	/* --Util-- tab & pc */
	@media print,
	(min-width: 768px) {
		.spOnly {
			display: none!important;
		}
	}

	/* --Util-- pc */
	@media print,
	(min-width: 1025px) {
		.pcNone {
			display: none!important;
		}
	}
}


/* the_content() */
@media all {
	.the_content ul li {
		margin-left: 1.5em;
		list-style-type: disc;
	}
	.the_content ol li {
		margin-left: 1.5em;
		list-style-type: decimal;
	}
}
@media only screen and (max-width: 767px) {
	.the_content img {
		width: 100%;
	}
}
@media print,
(min-width: 768px) {
	.the_content::after {
		content: '';
		display: block;
		clear: both;
	}
	.aligncenter {
		display: block;
		margin: 1em auto;
	}
	.alignleft {
		float: left;
	}
	.alignright {
		float: right;
	}
}


/* deco */
@media all {
	.deco {
		position: absolute;
		z-index: 1;
		display: inline-block;
	}
}