@charset "UTF-8";

:root {
	-webkit-text-size-adjust: 100%;
	--sans-serif: "Nunito Sans", "Zen Kaku Gothic New", sans-serif;
	font-family: var(--sans-serif);
	line-height: 1.8;
	--txt: #333333;
	--gray: #7a848c;
	--light-gray: #ddd;
	--paged-gray: #9e9e9e;
	--footer-gray: #b7b7b7;
	--main-color: #0e357f;
	--light-blue: #32a0e6;
	--light-green: #f4f8f8;
	color: var(--txt);
	--max1px: max(1px, 1rem);
	--max2px: max(2px, 2rem);
}
address {font-style:normal}
a {color: var(--txt);}
.palt {font-feature-settings: "palt";}
.v-palt {letter-spacing: -.4em;}
.justify {text-align: justify;}
@media only screen and (max-width: 767px) {
	:root {
		/*font-size: 0.3125vw; /* dev-width: 320px */
		font-size: 0.25vw; /* dev-width: 400px */
		font-weight: 500;
	}
	.site-header,
	.site-main,
	.site-footer {
		font-size: 15rem;
		overflow: hidden;
	}
}
@media (max-width: 1024rem) {
	.site-main, .site-footer {overflow: hidden;}
}
@media print,
(min-width: 768px) {
	:root {
		font-size: 1px;
	}
	.site-header,
	.site-main,
	.site-footer {
		font-size: 15rem;
	}
}
@media (min-width: 1600px) {
	:root {
		font-size: 0.0625vw;
	}
}


/* --HEADER-- */
@media all {
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
		background-color: #fff;
		box-shadow: 0 5rem 5rem rgba(0, 0, 0, .15);
	}

	.site-header-logo {
		position: absolute;
	}

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

	.site-header-nav {
		font-weight: 500;
	}
	.site-header-nav-item.contact a {
		background-color: var(--main-color);
		color: #fff;
	}
	.site-header-nav-item.contact a::before {
		content: '';
		display: inline-block;
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center center;
	}
	.site-header-nav-item small {
		font-size: 11rem;
		color: var(--gray);
		transition: color .3s;
	}


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

		body.nav-active {
			overflow: hidden;
		}
		.site-header {
			background: none;
			box-shadow: none;
		}
		.site-header-logo {
			z-index: 1000;
			transition: .5s;
		}
		.nav-active .site-header-logo {
			background-color: var(--main-color);
		}
		.site-header-logo a {
			transition: .5s;
		}
		.nav-active .site-header-logo a {
			filter: brightness(0) invert(1);
		}
		
		.site-header-nav {
			position: fixed;
			overflow-y: auto;
			z-index: 999;
			top: 0rem;
			left: 105vw;
			width: 60vw;
			width: 100%;
			max-height: 100vh;
			background-color: var(--main-color);
			font-size: 15rem;
			transition: left .5s;
		}
		.site-header-nav a {
			font-size: 16rem;
			color: #fff;
		}
		.site-header-nav a small {
			font-size: 11rem;
			color: #fff;
		}
		
		.nav-active .site-header-nav {left: 0;}
		.site-header-nav-list {
			display: flex;
			flex-direction: column;
		}
		.site-header-nav-item {
			position: relative;
			padding: 6rem 0;
			line-height: 1;
		}
		.site-header-nav-item small::before {
			content: '/';
			display: inline-block;
			padding: 0 .5em;
		}
		.nav-accordion-opener {
			position: absolute;
			top: 16rem;
			right: 16rem;
			display: block;
			width: 14rem;
			height: 14rem;
			cursor: pointer;
			transition: transform .3s, background-image .3s linear;
			background: center / contain no-repeat url(../img/common/nav-toggle.svg);
		}
		.nav-accordion-open .nav-accordion-opener {
			transform: rotate(360deg);
			background-image: url(../img/common/nav-toggle_opened.svg);
		}
		
		.site-header-nav-item.contact .nav-accordion-opener {display: none;}
		.site-footer-nav .nav-accordion-opener {display: none;}
		
		.site-header-nav-item > a {
			display: inline-block;
			padding: .75em 20rem;
		}

		.site-header-nav-list_2 {
			display: none;
			counter-reset: cnt;
			padding: 10rem 0;
			width: 100vw;
			background-color: #214589;
			line-height: 1;
		}
		.site-header-nav-item_2 {counter-increment: cnt;}
		.site-header-nav-item_2 > a {
			position: relative;
			display: inline-block;
			margin: 10rem 0;
			/* padding-bottom: 12rem; */
			padding: 0 30rem 0 35rem;
			font-size: 13rem;
		}
		.site-header-nav-item_2 > a::before {
			content: '-';
			position: absolute;
			left: 20rem;
			display: inline-block;
			margin-right: 8rem;
		}
		li:not(.projects) .site-header-nav-item_2 > a > small {display: none;}
		
		.projects .site-header-nav-item_2 > a {
			display: inline-flex;
		}
		.projects .site-header-nav-item_2 > a > small {
			order: 2;
			font-size: 13rem;
		}
		.projects .site-header-nav-item_2 > a > small::before {content: none;}
		.projects .site-header-nav-item_2 > a > span {display: none;}
		.projects .site-header-nav-item_2 > a::after {
			content: counter(cnt, decimal-leading-zero);
			order: 1;
			display: block;
			margin-top: -2rem;
			margin-right: 4rem;
			padding-top: 3rem;
			width: 1.5em;
			height: 1.5em;
			border-radius: 50%;
			background-color: #fff;
			font-size: 10rem;
			color: var(--main-color);
			text-align: center;
			line-height: 1;
		}
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.site-header {
			height: 64rem;
		}
		.site-header-logo {
			top: 16rem;
			left: 20rem;
		}
		.site-header-logo img {
			width: auto;
			height: 48rem;
		}
		.nav-active .site-header-nav {
			left: 0;
			width: 100%;
		}
		.site-header-nav-list {
			padding: 90rem 0 40rem;
		}
		.site-header-nav-list::before {
			content: '';
			position: absolute;
			top: 4rem;
			left: 10rem;
			display: block;
			width: calc(100% - 20rem);
			height: max(1rem, 1px);
			background-color: var(--bg2);
		}
		.site-header-nav-item {padding: 3rem 0;}
		.site-header-nav-item > a {margin-left: 20rem;}
		.site-header-nav-item_2 > a {margin-left: 40rem;}
	}

	/* tab & pc */
	@media (min-width: 768px) {
		.site-header {
			height: 80rem;
		}
		.site-header-logo {
			top: 16rem;
			left: 40rem;
		}
		.site-header-logo img {
			width: 69rem;
		}
		
	}

	/* tab */
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		.site-header-nav {
			top: 94rem;
			width: 320rem;
			padding: 30rem 20rem 30rem 0;
			border-top-left-radius: 20rem;
			border-bottom-left-radius: 20rem;
			font-size: 16rem;
		}
		.nav-active .site-header-nav {left: calc(100vw - 300rem);}
		.site-header-nav-list {padding-top: 8rem;}
		.site-header-nav-item {padding: 5rem 0;}
		.site-header-nav-item.nav-accordion::before,
		.site-header-nav-item.nav-accordion::after {top: 24rem;}
		.site-header-nav-list_2 {width: 300rem;}
		.site-header-lang-nav {
			top: 30rem;
			right: 100rem;
		}
	}

	/* pc */
	@media print,
	(min-width: 1025px) {
		.site-main, .site-footer {min-width: 1280px;}
		.site-header {
			top: 25rem;
			left: calc(50% - 500rem);
			width: 1000rem;
			height: 80rem;
			border-radius: 40rem;
			transition: .5s;
		}
		.site-header.unactive {top: -90rem;}
		.site-header-nav {
			position: absolute;
			top: 17.5rem;
			right: 80rem;
			width: 600rem;
			height: 45rem;
		}
		.site-header-nav-list {
			display: flex;
			justify-content: space-between;
			width: 100%;
			height: 100%;
		}
		.site-header-nav-item {
			height: 100%;
		}
		.site-header-nav-item > a {
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			line-height: 1.2;
			height: 100%;
			font-size: 14rem;
			font-weight: 500;
			transition: color .3s;
		}
		#vision .site-header-nav-item.vision > a,
		#vision .site-header-nav-item.vision small,
		#members .site-header-nav-item.members > a,
		#members .site-header-nav-item.members small,
		#bases .site-header-nav-item.bases > a,
		#bases .site-header-nav-item.bases small,
		#projects .site-header-nav-item.projects > a,
		#projects .site-header-nav-item.projects small,
		.site-header-nav-item:not(.contact) > a:hover,
		.site-header-nav-item:not(.contact) > a:hover small {
			color: var(--light-blue);
		}
		.site-header-nav-item.contact > a {
			padding-top: 2px;
			width: 118rem;
			border-radius: 23rem;
			transition: all .3s;
		}
		.site-header-nav-item.contact > a:hover {
			background-color: var(--light-blue);
		}
		
		.site-header-nav-item.nav-accordion > ul,
		.site-header-nav-item.news,
		.site-header-nav-item.about,
		.site-header-nav-item.sitemap {display: none!important;}
		
	}

}

/* --BURGER-- */
@media all {
	/* sp & tab */
	@media only screen and (max-width: 1024px) {
		.menu-trigger,
		.menu-trigger span {
			width: 46rem;
		}

		.menu-trigger {
			position: absolute;
			z-index: 1000;
			height: 46rem;
			cursor: pointer;
			background-color: var(--main-color);
			border-radius: 50%;
			border: var(--max1px) solid var(--main-color);
		}

		.menu-trigger span {
			position: absolute;
			left: 14rem;
			display: block;
			box-sizing: border-box;
			width: 16rem;
			height: 1px;
			line-height: 0;
			background-color: #fff;
			transition: transform .4s, top .2s, left .4s, opacity .4s;
		}
		.menu-trigger span:nth-of-type(1) {top: 16rem;}
		.menu-trigger span:nth-of-type(2) {top: 50%;}
		.menu-trigger span:nth-of-type(3) {top: calc(100% - 16rem);}

		.nav-active .menu-trigger span:nth-of-type(1) {
			top: calc(50% - 2px);
			transform: rotate(-220deg) scaleX(1.25);
			/* transform: translateY(12rem) rotate(-220deg) scaleX(1.25); */
		}

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

		.nav-active .menu-trigger span:nth-of-type(3) {
			top: calc(50% - 2px);
			transform: rotate(220deg) scaleX(1.25);
			/* transform: translateY(-12.5rem) rotate(220deg) scaleX(1.25); */
		}

		.nav-active .menu-trigger {
			border-color: #fff;
		}

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

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

		.menu-bg {
			background: rgba(7, 35, 81, .7);
			backdrop-filter: blur(2rem);
			opacity: 0;
			transition: .5s;
		}

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

		.bg-trigger {
			cursor: pointer;
		}

		.nav-active .bg-trigger {
			visibility: visible;
		}
	}
	/* sp */
	@media only screen and (max-width: 767px) {
		.bg-trigger,.menu-bg {top: 0;height: calc(100vh - 0rem);}
		.menu-trigger {top: 16rem;right: 23rem;}
	}
	/* tab */
	@media only screen and (min-width: 768px) and (max-width: 1024px) {
		.menu-trigger,
		.menu-trigger span {
			width: 40rem;
		}
		.menu-trigger {
			top: 23rem;
			right: 38rem;
			width: 48rem;
			height: 48rem;
		}
		.menu-trigger span {
			width: 20rem;
			left: 13rem;
			height: 2rem;
		}
		.menu-bg, .bg-trigger {top: 0rem;}
		.menu-bg, .bg-trigger {height: 100vh;}
	}

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

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

/* .site-header & burger pointer-events */
@media (max-width: 1024px) {
	.site-header {pointer-events: none;}
	.site-header-logo,
	.site-header-nav,
	.menu-trigger,
	.menu-bg,
	.bg-trigger {pointer-events: all;}
}



/* site-main */
@media all {
	.site-main {
		overflow: hidden;
		overflow: clip;
		position: relative;
		width: 100%;
	}
	.main-section {
		position: relative;
	}
	.newtab {
		position: relative;
		display: inline-block;
		margin-left: .5em;
		width: .91em;
		height: .91em;
		border-top: var(--max1px) solid var(--light-blue);
		border-right: var(--max1px) solid var(--light-blue);
	}
	.newtab::after {
		position: absolute;
		left: -.19em;
		top: .39em;
		content: '';
		display: block;
		width: 1.25em;
		height: var(--max1px);
		background-color: var(--light-blue);
		transform: rotate(-45deg);
	}

	/* sp */
	@media only screen and (max-width:767px) {}
		
	/* tab & pc */
	@media (min-width:768px) {
	}

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

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

/* main-section-ttl */
@media all {
	.main-header-ttl::after,
	.main-section-ttl::after {
		content: attr(data-en);
		color: var(--gray);
		font-weight: normal;
	}

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

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

/* base buttons */
@media all {
	.base-item a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding-top: 4px;
		width: 140rem;
		height: 46rem;
		background-color: #fff;
		border: var(--max1px) solid var(--main-color);
		border-radius: 2em;
		line-height: 1.3;
		transition: .3s;
	}
	.base-item .ja {
		color: var(--main-color);
		font-size: 15rem;
		font-weight: bold;
	}
	.base-item .en {
		font-size: 13rem;
		color: var(--gray);
	}
	.base-list.inview > li {
		opacity: 0;
		transform: translateY(20rem);
		transition: .5s;
	}
	.base-list.inview.animated > li {
		opacity: 1;
		transform: translateY(0);
	}
	.base-list.inview.animated > li:nth-child(2) {transition-delay: .15s;}
	.base-list.inview.animated > li:nth-child(3) {transition-delay: .3s;}
	.base-list.inview.animated > li:nth-child(4) {transition-delay: .45s;}
	@media only screen and (max-width: 767px) {}
	@media print,
	(min-width: 768px) {
		.base-item a:hover {
			background-color: #cce7f9;
		}
	}
}

/* --FOOTER-- */
@media all {
	.site-footer,
	.site-footer a,
	.site-footer button {color: #fff;}

	.site-footer {
		position: relative;
		z-index: 1001;
	}

	.footer-tile-nav-item {
		position: relative;
		font-weight: bold;
	}
	.footer-tile-nav-item .en {font-weight: 500;}
	.footer-tile-nav-item .en::before {content: ' / ';}
	.footer-contact-detail {
		font-weight: normal;
		line-height: 2;
	}
	.footer-tile-nav-item img {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.footer-tile-nav-item.contact img {z-index: -1;}
	.footer-tile-nav-item > a {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		line-height: 1.4;
	}
	.footer-tile-nav-item > a .en {display: block;}
	.footer-tile-nav-item > a .en,
	.footer-tile-nav-item .footer-contact-ttl .en {
		font-size: 15rem;
		font-weight: 500;
	}
	.footer-tile-nav-item a .en::before {content: '/ ';}

	.footer-contact-inner .footer-contact-btn {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		border: var(--max1px) solid var(--footer-gray);
		border-radius: 2em;
		background: none;
		font-weight: normal;
		color: var(--footer-gray);
	}

	.footer-top {
		position: relative;
		margin-top: 2rem;
		background: center / cover no-repeat;
	}
	.footer-logo {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		width: 308rem;
		height: 60rem;
		line-height: 1;
	}
	.footer-logo a {display: block;height: 100%;}
	.footer-logo a img {
		width: auto;
		height: 100%;
	}
	.footer-address {
		display: flex;
		flex-direction: column;
		width: 200rem;
		line-height: 1.667;
	}

	.footer-bottom {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #072351;
		font-size: 12rem;
		color: var(--footer-gray);
	}
	.footer-small-nav-item {position: relative;}
	.footer-small-nav-item::before {
		content: '';
		position: absolute;
		top: calc(50% - .5em);
		left: -3em;
		display: block;
		width: 1em;
		height: 1em;
		border-top: var(--max1px) solid #fff;
		border-right: var(--max1px) solid #fff;
		transform: rotate(45deg);
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.footer-tile-nav-list {
			display: flex;
			flex-wrap: wrap;
		}
		.footer-tile-nav-item {
			height: 180rem;
			width: 100%;
		}
		.footer-tile-nav-item:is(.vision, .members) {
			height: 120rem;
		}
		.footer-tile-nav-item:is(.bases, .projects) {
			width: 50%;
		}
		.footer-tile-nav-item > a,
		.footer-tile-nav-item.contact {
			padding: 20rem;
			font-size: 18rem;
		}
		.contact .footer-contact-detail {
			margin-top: 8rem;
			font-size: 14rem;
			line-height: 1.57;
		}
		.footer-contact-inner .footer-contact-btn {
			margin: 16rem auto 0;
			width: 240rem;
			height: 36rem;
			font-size: 15rem;
		}

		.footer-top {
			padding: 44rem 20rem;
			height: 240rem;
			background-image: url(../img/common/footer/bg-sp.webp);
		}
		.footer-address {margin-top: 40rem;}
	}

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

		.footer-tile-nav-list {
			display: grid;
			grid-template-columns: 43.75% 1fr 1fr;
			grid-template-rows: 200rem 200rem 220rem;
			grid-column-gap: 0px;
			grid-row-gap: 0px;
			font-size: 20rem;
		}
		.footer-tile-nav-item {overflow: hidden;}
		.footer-tile-nav-item.vision   {grid-area: 1 / 1 / 2 / 2;}
		.footer-tile-nav-item.members  {grid-area: 2 / 1 / 3 / 2;}
		.footer-tile-nav-item.bases    {grid-area: 1 / 2 / 3 / 3;}
		.footer-tile-nav-item.projects {grid-area: 1 / 3 / 3 / 4;}
		.footer-tile-nav-item.contact  {grid-area: 3 / 1 / 4 / 4;}

		.footer-tile-nav-item:not(.contact) img {
			transition: .3s;
			transform-origin: center;
		}
		.footer-tile-nav-item:not(.contact):hover img {
			transform: scale(1.05);
		}

		.footer-tile-nav-item > a {
			padding: 26rem;
		}

		.footer-tile-nav-item.contact {
			display: flex;
			align-items: center;
			justify-content: center;
			padding: 0 16rem;
		}
		.footer-contact-inner {
			display: flex;
			align-items: flex-end;
			justify-content: space-between;
			width: 100%;
			max-width: 780rem;
			height: 100rem;
		}
		.footer-contact-detail {
			margin-top: 15rem;
			font-size: 15rem;
		}
		.footer-contact-inner .footer-contact-btn {
			width: 300rem;
			height: 45rem;
			font-size: 15rem;
			transition: background-color .3s, color .3s, border .3s;
		}
		.footer-contact-inner .footer-contact-btn:hover {
			cursor: pointer;
			border-color: #fff;
			background-color: rgba(255,255,255,.2);
			color: #fff;
		}

		.footer-top {
			height: 320rem;
			background-image: url(../img/common/footer/bg-pc.webp);
		}
		.footer-logo-address {
			position: absolute;
			top: 60rem;
			left: calc(50% - 490rem);
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			height: 160rem;
		}

		.footer-small-nav {
			position: absolute;
			right: calc(50% - 512rem);
			bottom: 70rem;
		}

		.footer-small-nav-item::before {font-size: 7rem;}
		.footer-small-nav-item a {
			font-size: 15rem;
			transition: opacity .3s;
		}
		.footer-small-nav-item a:hover {opacity: .7;}

		.footer-bottom {height: 40rem;}
	}

	/* tab */
	@media (max-width: 1024px) {
		.footer-logo-address {left: 40rem;}
		.footer-small-nav {right: 40rem;}
	}

}

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

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

}


/* --TO TOP-- */
@media all {
	.to-top {
		visibility: none;
		position: fixed;
		z-index: 1000;
		bottom: 20px;
		right: 20px;
		width: 3em;
		height: 3em;
		border-radius: 50%;
		box-shadow: 0 0 2px 1px #fff;
		font-size: 12px;
		overflow: hidden;
	}

	.to-top a {
		display: block;
		width: 100%;
		height: 100%;
		background-color: var(--main-color);

	}
	.to-top a::after {
		content: '';
		position: absolute;
		top: 42.5%;
		left: 35%;
		width: 25%;
		height: 25%;
		border: 1px 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);
	}
}
/* sp & tab */
@media only screen and (max-width: 1024px) {
	.nav-active .to-top {
		visibility: hidden;
		opacity: 0;
	}
}
/* sp */
@media only screen and (max-width: 767px) {
	.to-top {
		font-size: var(--sp-vw-12px);
	}
}
/* pc */
@media (min-width: 1025px) {
	.to-top a {
		font-size: 12.8px;
	}
}

/* inview */
@media not print {
	.elemFadeIn {
		opacity: 0;
		filter: blur(4rem);
		transform: translateY(50rem);
		transition: 1s opacity linear, .5s filter, 1s transform ease-out;
	}

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

	.elemUpperIn {
		transform: translateY(60rem);
		transition: transform .4s cubic-bezier(0.42, 0, 0.47, 2.5);
	}
	.elemUpperIn.animated {
		transform: translateY(0);
	}

	.elemPolygonIn-LR {
		clip-path: polygon(0 100%, 0 100%, 0 100%);
		transition: clip-path 1.5s ease-out;
	}
	.elemPolygonIn-LR .elemPolygonIn-fadeIn {
		opacity: 0;
		transition: opacity 1s;
		transition-delay: 1s;
	}
	.elemPolygonIn-LR.animated {
		clip-path: polygon(0 -100%,0 100%,200% 100%);
	}
	.elemPolygonIn-LR.animated .elemPolygonIn-fadeIn {
		opacity: 1;
	}

	.elemPolygonIn-RL {
		clip-path: polygon(100% 100%, 100% 100%, 100% 100%);
		transition: clip-path 1.5s ease-out;
	}
	.elemPolygonIn-RL .elemPolygonIn-fadeIn {
		opacity: 0;
		transition: opacity 1s;
		transition-delay: 1s;
	}
	.elemPolygonIn-RL.animated {
		/* clip-path: polygon(0 0, 100% 200%, 100% -100%); */
		clip-path: polygon(-100% 100%, 100% -100%, 100% 100%);
	}
	.elemPolygonIn-RL.animated .elemPolygonIn-fadeIn {
		opacity: 1;
	}
	.smoothText {display: block;overflow: hidden;}
	.smoothTextTrigger {
		display: block;
		transition: .8s cubic-bezier(0.42, 0, 0.47, 1.41);
		transform: translate3d(0, 100%, 0) skewY(12deg);
		transform-origin: left;
	}
	.elemPolygonIn-RL .smoothTextTrigger,
	.elemPolygonIn-LR .smoothTextTrigger {
		transition-delay: .25s;
		transition-property: transform;
	}
	.animated .smoothTextTrigger {
		transform: translate3d(0,0,0) skewY(0);
	}

	.elemPopIn {
		opacity: 0;
		transform: scale(0);
		transition: transform .3s cubic-bezier(0.42, 0, 0.47, 1.5), opacity .4s, filter .4s;
	}
	.animated.elemPopIn {
		opacity: 1;
		transform: scale(1);
	}

	.elemToggleUp-Obj {
		position: absolute;
		bottom: 0;
		display: none;
	}	
}

/* deco */
@media all {
	.deco {
		position: absolute;
		mix-blend-mode: multiply;
	}
	.deco img {
		display: block;
		width: 100%;
		height: auto;
	}
	@media not print {
		.deco img,
		.deco img.animated {
			opacity: 0;
			transform:  translate3d(0,50rem,0);
			filter: blur(10rem);
			transition: transform 2s ease-out, opacity .5s linear, filter 1s linear;
		}
		.deco.animated img:not(.elemFadeIn),
		.deco.animated img.animated {
			transform: translate3d(0,0,0)!important;
			opacity: 1;
			filter: blur(0);
		}
		@media (max-width: 767px) {
			.deco.left img {transform: translateX(-100rem);}
			.deco.right img {transform: translateX(100rem);}
		}
		/* tab & pc */
		@media (min-width: 768px) {
			.deco.left img {transform: translateX(-200rem);}
			.deco.right img {transform: translateX(200rem);}
		}
	}

	/* sp (pc-size * 0.6 */
	@media (max-width: 767px) {
		.c1 {width: 234rem;}
		.c2 {width: 366rem;}
		.c3 {width: 312rem;}
		.c4 {width: 279rem;}
		.c5 {width: 288rem;}

		.deco-1 {width: 162rem;}
		.deco-2 {width: 168.6rem;}
		.deco-3 {width: 154.2rem;}
		.deco-4 {width: 147rem;}
		.deco-5 {width: 138rem;}
		.deco-6 {width: 222rem;}
		.deco-10 {width: 160.8rem;}
	}

	/* tab (pc-size * 0.8) */
	@media (min-width: 768px) and (max-width: 1024px) {
		.c1 {width: 312rem;}
		.c2 {width: 488rem;}
		.c3 {width: 416rem;}
		.c4 {width: 372rem;}
		.c5 {width: 384rem;}

		.deco-1 {width: 216rem;}
		.deco-2 {width: 225rem;}
		.deco-3 {width: 206rem;}
		.deco-4 {width: 196rem;}
		.deco-5 {width: 184rem;}
		.deco-6 {width: 296rem;}
		.deco-10 {width: 215rem;}
	}

	/* pc */
	@media (min-width: 1025px) {
		.c1 {width: 390rem;}
		.c2 {width: 610rem;}
		.c3 {width: 520rem;}
		.c4 {width: 465rem;}
		.c5 {width: 480rem;}

		.deco-1 {width: 270rem;}
		.deco-2 {width: 281rem;}
		.deco-3 {width: 270rem;}
		.deco-4 {width: 300rem;}
		.deco-5 {width: 230rem;}
		.deco-6 {width: 370rem;}
		.deco-10 {width: 268rem;}
	}
}

/* pagination */
@media all {
	.prev_next-link,
	ul.page-numbers {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 0 .5em;
	}
	a.page-numbers,
	span.page-numbers {
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff;
		border: var(--max1px) solid var(--paged-gray);
		color: var(--paged-gray);
		transition: background-color .3s;
	}
	a.page-numbers:hover,
	.prev_next-link a:hover,
	span.page-numbers.current {
		background-color: var(--light-blue);
		border-color: var(--light-blue);
		color: #fff;
	}
	a.page-numbers.prev::before,
	a.page-numbers.next::before {
		content: '';
		display: block;
		width: .5em;
		height: .5em;
		border-top: var(--max2px) solid var(--paged-gray);
		border-left: var(--max2px) solid var(--paged-gray);
		transform: rotate(-45deg);
	}
	a.page-numbers.next::before {
		transform: rotate(135deg);
	}
	a.page-numbers.prev:hover::before,
	a.page-numbers.next:hover::before {
		border-color: #fff;
	}

	.prev_next-link {
		padding: 0 20rem;
		width: 100%;
		max-width: 1040rem;
		font-size: 12rem;
	}
	.prev-link, .next-link {
		max-width: calc(50% - 80rem);
	}
	.prev-link a {justify-content: flex-start;}
	.next-link a {justify-content: flex-end;}

	/* sp */
	@media only screen and (max-width: 767px) {
		.prev_next-link, ul.page-numbers {margin: 60rem auto 0;}
		
		a.page-numbers,
		span.page-numbers,
		a.page-numbers.prev,
		a.page-numbers.next {
			width: 30rem;
			height: 30rem;
			border-radius: 8rem;
			font-size: 13rem;
		}

	}

	/* tab & pc */
	@media (min-width:768px) {
		ul.page-numbers {margin: 30rem auto 0;}
		a.page-numbers,
		span.page-numbers,
		a.page-numbers.prev,
		a.page-numbers.next {
			width: 36rem;
			height: 36rem;
			border-radius: 10rem;
		}
	}
}

/* Google Maps */
@media all {
	.gmap iframe {
		width: 100%;
		height: 100%;
	}
}

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

	/* --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 {
		border-top: max(1rem, 1px) solid var(--border);
		border-bottom: max(1rem, 1px) solid var(--gray);
	} */
	.the_content ul li {
		margin-left: 1.5em;
		list-style-type: disc;
	}
	.the_content ol li {
		margin-left: 1.5em;
		list-style-type: decimal;
	}
	.the_content :is(p,div) + *,
	.the_content * + :is(p,div) {margin-top: 1em;}
	.the_content a {
		color: var(--main-color);
	}
	/* sp */
	@media only screen and (max-width: 767px) {
		.the_content {
			margin-top: 20rem;
			padding: 30rem 0 30rem;
			font-size: 14rem;
		}
		.the_content img {width: 100%;}
	}
	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.the_content::after {
			content: '';
			display: block;
			clear: both;
		}
	}
}

.gmap iframe {
	width: 100%;
	height: 100%;
}



