@charset "UTF-8";

@media all {
	:root {
		-webkit-text-size-adjust: 100%;

		--main-blue: #0061a2;
		--main-red: #da0007;
		--txt: #30465d;
		--txt-hover: rgba(48,70,93,.6);
		--txt-gray: #98a3ae;
		--bg-lightblue: #ecf3f7;
		--table-lightblue: #80b0d1;
		--border-lightblue: #bfd8e8;
		--coco-lightgreen: #35c5bb;
		
		--lineseed: "LINE Seed JP", sans-serif;
		--montserrat: "Montserrat", sans-serif;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: normal;
		line-height: 1;
		color: var(--txt);
		font-feature-settings: "palt";
	}
	h1,h2,h3,h4,h5 {font-weight: 500;}
	a {color: var(--txt);}
	em {
		font-weight: bold;
		font-style: normal;
	}
	sub {
		display: inline-block;
		font-size: 75%;
		transform: translateY(.2em);
	}
	.lineseed {font-family: var(--lineseed)!important;}
	.montserrat {font-family: var(--montserrat)!important;}
	.justify {text-align: justify;}
	.ilb {display: inline-block;}
	.lh15 {line-height: 1.5;}
	.p-r {position: relative;}
	:not(.the_content) img {width: 100%;}
	main {line-break: strict;}
	.section-inner {position: relative;}


	/* sp */
	@media only screen and (max-width: 767px) {
		:root {
			font-size: 0.25vw;
		}
		.spNone, .tabOnly, .pcOnly {display: none!important;}
		body {font-size: 14rem;}
		.site-main,
		.site-footer {
			overflow: clip;
		}
		h2 {font-size: 20rem;}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		:root {
			font-size: 1px;
		}
		.spOnly {display: none!important;}
		body {font-size: 16rem;}
		h2 {font-size: 22rem;}

		/* tab */
		@media (max-width: 1024px) {
			:root {font-size: 0.078125vw;}
			.pcOnly, .tabNone {display: none!important;}
		}
		/* pc */
		@media (min-width: 1025px) {
			.tabOnly, .pcNone {display: none!important;}
			.site-main,
			.site-footer {min-width: 1280px;}
		}

		/* wide */
		@media (min-width: 1600px) {
			:root {
				font-size: 0.0625vw;
			}
		}
	}
}


/* --site-header-- */
@media all {
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		justify-content: space-between;
		width: 100%;
		z-index: 1000;
	}


	.site-header-logo {
		position: relative;
		display: flex;
		align-items: center;
	}
	.site-header-logo a {display: block;}
	.site-header-logo a img {width: 100%;}

	.site-header-nav {font-weight: 600;}
	.item-1-subttl::before {content: ' ／ ';}


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

		body.nav-active {overflow: hidden;}
		.site-main {padding-top: 70rem;}

		.site-header {
			align-items: center;
			justify-content: flex-start;
			height: 70rem;
			background-color: #fff;
			transition: background-color .5s;
		}
		.site-header::after {
			content: '';
			position: absolute;
			top: 100%;
			left: 0;
			display: block;
			width: 100%;
			height: 14rem;
			background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
			transition: opacity .5s;
		}
		.site-header a {color: #fff;}
		.nav-active .site-header {background-color: var(--txt);}
		.nav-active .site-header::after {opacity: 0;}

		.site-header-logo {
			position: relative;
			margin-left: 15rem;
			width: 150rem;
		}
		.site-header-logo::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: center / cover no-repeat url(../img/common/full-logo-w.svg);
			opacity: 0;
			transition: opacity .5s;
			pointer-events: none;
		}
		.nav-active .site-header-logo::before {opacity: 1;}
		.site-header-logo img {transition: opacity .5s;}
		.nav-active .site-header-logo img {opacity: 0;}

		.site-header .button.rainbow {
			justify-content: center;
			column-gap: 5rem;
			margin-left: 50rem;
			padding: 0;
			width: 122rem;
			height: 38rem;
			border: max(1px, 1rem) solid #fff;
		}
		.site-header .icon-pencil {width: 16rem;}
		
		.site-header-nav {
			position: fixed;
			overflow-y: auto;
			z-index: 999;
			top: 70rem;
			left: 105vw;
			padding-bottom: 30rem;
			width: 100%;
			max-height: calc(100dvh - 70rem);
			background-color: var(--txt);
			transition: left .5s;
		}
		
		.nav-active .site-header-nav {left: 0;}
		.site-header-nav-list {
			display: flex;
			flex-direction: column;
			padding-top: 10rem;
		}
		.site-header-nav-item {position: relative;}
		.site-header-nav-item a {position: relative;}
		.site-header-nav-item a img {display: none;}

		.site-header-nav-item > a {
			display: inline-block;
			margin: 1em 0 1em 60rem;
			padding-left: 12rem;
			min-width: 180rem;
			font-size: 16rem;
		}
		.site-header-nav-item > a::before {
			content: '▼';
			position: absolute;
			left: -3rem;
			top: 3rem;
			width: 12rem;
			height: 12rem;
			font-size: 10rem;
			transform: rotate(-90deg) scale(.8);
			color: var(--main-red);
		}

		.nav-accordion-opener {
			position: absolute;
			top: 4rem;
			right: 40rem;
			display: block;
			width: 1em;
			height: 1em;
			font-size: 14rem;
		}
		.site-header-nav-item-1::before,
		.nav-accordion-opener::before,
		.nav-accordion-opener::after {
			content: '─';
			position: absolute;
			top: 15rem;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 100%;
			color: #ec8083;
			transition: transform .3s;
		}
		.nav-accordion-opener::after {
			transform: rotate(90deg) scale(1);
			transition: transform .5s linear;
		}
		.nav-accordion-opener.open::after {
			transform: rotate(450deg) scale(0);
		}

		.site-header-nav-list-1 {
			display: none;
			padding: 14rem 0;
			background-color: #45596d;
			font-weight: normal;
		}
		.site-header-nav-item-1 {
			position: relative;
			margin-left: 60rem;
			padding-left: 15rem;
		}
		.site-header-nav-item-1::before {
			top: 3rem;
			left: -2rem;
			width: 10rem;
			height: 10rem;
			scale: .7;
		}
		.site-header-nav-item-1 + .site-header-nav-item-1 {
			margin-top: 14rem;
		}
		.item-1-subttl + .item-1-subttl::before {
			content: '・';
			display: inline-block;
			margin-left: -.2em;
		}

		.site-header-nav-other {
			margin: 16rem auto 0;
			padding-top: 20rem;
			width: 90%;
			border-top: max(1px, 1rem) solid #45596d;
			font-size: 14rem;
		}
		.site-header-nav-other-btns {
			display: flex;
			justify-content: center;
			column-gap: 8rem;
		}
		.site-header-nav-other-btns .button {
			justify-content: center;
			padding: 0 0 2rem 0;
			width: 140rem;
			height: 38rem;
		}
		.site-header-nav-other-btns .button img {
			margin-right: 6rem;
			width: 20rem;
			transform: translateY(2rem);
		}

		.site-header-nav-other-sns {
			display: flex;
			justify-content: center;
			column-gap: 35rem;
			margin-top: 30rem;
		}
		.site-header-nav-other-sns li {
			width: 32rem;
			filter: brightness(0) invert(1);
		}
	}

	/* tab & pc */
	@media (min-width: 768px) {
		.site-header {
			height: 100rem;
			padding-bottom: 14rem;
			background: none;
			/* background: linear-gradient(to bottom, rgba(255,255,255,.8), rgba(255,255,255,.8) 86rem, rgba(255,255,255,0) 100%); */
		}
		.site-header::before,
		.site-header::after {
			content: '';
			position: absolute;
			z-index: -1;
			top: 0;
			left: 0;
			display: block;
			width: 100%;
			height: 100%;
			transition: opacity .3s linear;
		}
		.site-header::before {
			background: linear-gradient(to bottom, rgba(255,255,255,.8), rgba(255,255,255,.8) 86rem, rgba(255,255,255,0) 100%);
			opacity: 1;
		}
		.site-header::after {
			background: linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,1) 86rem, rgba(255,255,255,0) 100%);
			opacity: 0;
		}
		.site-header.scrolled::before {opacity: 0;}
		.site-header.scrolled::after {opacity: 1;}

		.site-header-logo {
			margin-left: 50rem;
			width: 174rem;
		}
		
		.site-header-nav {height: 100%;}
		
		.site-header-nav-list {
			display: flex;
			padding-right: 30rem;
			height: 100%;
		}
		.site-header-nav-item {
			position: relative;
			display: flex;
			align-items: center;
			font-size: 14rem;
		}
		.site-header-nav-item > a {padding: 0 1em;}
		.site-header-nav-item a {transition: opacity .3s;}
		.site-header-nav-item a:hover {opacity: .6;}
		.site-header-nav-item > a {font-weight: 600;}
		
		.site-header-nav-item > a {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 100%;
			width: 100%;
		}
		.site-header-nav-item.has-child > a::after {
			content: '▼';
			position: absolute;
			top: 58rem;
			left: calc(50% - .5em);
			font-size: 12rem;
			color: var(--main-red);
		}

		.site-header-nav-list-1 {
			visibility: hidden;
			opacity: 0;
			position: absolute;
			top: 100%;
			left: calc(50% - 180rem);
			display: block;
			padding: 20rem 0 10rem;
			width: 310rem;
			background-color: var(--bg-lightblue);
			border-bottom-left-radius: 10rem;
			border-bottom-right-radius: 10rem;
			transition: visibility .75s, opacity .75s;
			pointer-events: none;
		}
		.site-header-nav-item.has-child:hover .site-header-nav-list-1 {
			visibility: visible;
			opacity: 1;
			pointer-events: all;
		}
		.site-header-nav-item-1 {padding-left: 28rem;}
		.site-header-nav-item-1 + .site-header-nav-item-1 {
			border-top: 2rem dotted rgba(128,176,209,.5);
		}
		.site-header-nav-item-1 > a {
			display: flex;
			align-items: center;
			column-gap: 12rem;
			height: 80rem;
			font-weight: 500;
		}
		.site-header-nav-item-1 img {
			width: 60rem;
			height: 60rem;
		}
		.item-1-subttl {
			display: block;
			font-size: 12rem;
		}
		.item-1-ttl + .item-1-subttl {margin-top: 8rem;}
		.item-1-subttl + .item-1-subttl {margin-top: 4rem;}
		.item-1-subttl::before {content: '　／ ';}

		.nav-accordion-opener {display: none;}
		
		/* tab */
		@media screen and (min-width: 768px) and (max-width: 1024px) {}

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



}

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

		.menu-trigger {
			position: absolute;
			top: 25rem;
			right: 20rem;
			height: 20rem;
			visibility: visible;
			opacity: 1;
			cursor: pointer;
		}

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

		.nav-active .menu-trigger span {background-color: #fff;}
		.nav-active .menu-trigger span:nth-of-type(1) {
			top: calc(50% - 2rem);
			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% - 2rem);
			transform: rotate(220deg) scaleX(1.25);
			/* 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: fixed;
			top: 70rem;
			left: 0;
			width: 100%;
			height: calc(100dvh - 70rem);
			visibility: hidden;
		}

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

		.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: 70rem;height: calc(100dvh - 70rem);}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.menu-trigger-wrapper,
		.menu-bg,
		.bg-trigger {
			display: none;
		}
	}
}


/* breadcrumbs */
@media all {
	.breadcrumbs {
		position: relative;
		color: #fff;
	}
	.breadcrumbs a {color: #fff;}
	
	.breadcrumbs-list {
		display: flex;
		align-items: center;
		line-height: 1;
	}
	.breadcrumbs-item {flex-shrink: 0;}
	.breadcrumbs-item:last-child {
		flex-shrink: 1;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.breadcrumbs-item:not(:last-child)::after {
		content: '';
		display: inline-block;
		margin: 0 .5em;
		width: 1em;
		height: 1em;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		transform: rotate(-45deg) scale(.5) translateX(-.4em);
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.breadcrumbs-list {
			font-size: 12rem;
		}
		.breadcrumbs-item:last-child {
			text-overflow: ellipsis;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		/* .breadcrumbs {
			margin: 0 auto;
			width: calc(100% - 30rem);
			max-width: 1180rem;
		} */
		.breadcrumbs-list {
			flex-wrap: wrap;
			font-size: 12rem;
		}
		.breadcrumbs + .main-section {
			margin-top: 60rem;
		}
	}
}


/* site-main */
@media all {
	
	.lineseed-ttl {
		font-family: var(--lineseed);
		font-weight: bold;
	}
	.lineseed-narrow {
		display: inline-block;
		width: .5em;
	}
	.lineseed-narrow.center {
		margin-left: -.25em;
		margin-right: .25em;
	}
	.lineseed-narrow.left {
		margin-left: -.5em;
		margin-right: .5em;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.lineseed-ttl {
			font-size: 22rem;
			line-height: 1.64;
			letter-spacing: -.04em;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.lineseed-ttl {
			font-size: 32rem;
			line-height: 1.5;
			letter-spacing: -.02em;
		}
	}
}

/* menu-aside */
@media all {
	.menu-aside {
		position: fixed;
		z-index: 100;
	}
	.menu-nav a {
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 600;
		color: #fff;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.site-main {position: relative;}
		.menu-aside {
			position: sticky;
			z-index: 100;
			top: calc(100% - 48rem);
			left: 0;
		}
		.menu-nav {
			display: flex;
			width: 100%;
			height: 48rem;
		}
		.menu-app {
			order: 1;
			margin-left: 3rem;
			width: 150rem;
			border-top-left-radius: 7rem;
			border-top-right-radius: 7rem;
		}
		.menu-text {
			width: 123rem;
			border-top-left-radius: 7rem;
		}
		.menu-web {
			width: 123rem;
			border-top-right-radius: 7rem;
		}
		.menu-nav a {
			height: 100%;
			font-size: 14rem;
		}

		.menu-nav a img {
			margin-right: 6rem;
			width: 20rem;
			height: 20rem;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.menu-aside {
			top: 120rem;
			right: 0;
			pointer-events: none;
		}
		.menu-nav {
			overflow: hidden;
			display: block;
			width: 50rem;
		}
		.menu-app {
			height: 148rem;
			border-top-left-radius: 5rem;
			border-bottom-left-radius: 5rem;
		}
		.menu-text {
			margin-top: 4rem;
			height: 128rem;
			border-top-left-radius: 5rem;
		}
		.menu-web {
			height: 138rem;
			border-bottom-left-radius: 5rem;
		}
		.menu-nav a {
			writing-mode: vertical-rl;
			text-orientation: upright;
			margin-left: 8rem;
			padding-right: 8rem;
			width: 50rem;
			background-size: 400%;
			font-size: 14rem;
			transition: margin .3s;
			pointer-events: all;
			box-shadow: 0 0 3rem rgba(255,255,255,.3);
		}
		.menu-nav a:hover {margin-left: 0;}
		.menu-nav a img {
			margin-bottom: 6rem;
			width: 16rem;
			height: 16rem;
		}
	}
}

/* site-footer */
@media all {
	.site-footer {background-color: var(--bg-lightblue);}
	.site-footer-contact {
		background: center / cover no-repeat;
		color: #fff;
	}
	.site-footer-contact-ttl {
		position: relative;
		display: flex;
		flex-direction: column;
		padding-left: 1em;
	}
	.site-footer-contact-ttl::before {
		content: '';
		position: absolute;
		top: -3rem;
		left: 0;
		display: block;
		width: 3rem;
		height: calc(100% + 6rem);
		background-color: var(--main-red);
	}
	.site-footer-contact-ttl .en {
		font-family: var(--montserrat);
		font-weight: bold;
		letter-spacing: -.005em;
	}
	.site-footer-contact-ttl .ja {font-weight: 600;}
	.site-footer-contact .button {
		padding-left: 1em;
		border: max(1px, 1rem) solid #fff;
	}

	.site-footer-overview {
		background-color: #fff;
		font-weight: 600;
		color: var(--main-blue);
		text-align: center;
	}
	.site-footer-address {font-style: normal;}
	.site-footer-address::before {
		content: '';
		display: inline-block;
		margin-right: .25em;
		width: 1em;
		height: 1.5em;
		background: center / contain no-repeat url(../img/common/map-pin.svg);
		transform: translateY(.25em);
	}

	.site-footer-left-btm {
		display: flex;
		justify-content: space-between;
		margin-top: 30rem;
	}
	.site-footer-sns-list {display: flex;}
	.site-footer-sns-item a {display: block;}

	.leagal-item::before {
		content: '';
		opacity: .5;
		display: inline-block;
		aspect-ratio: 1;
		border-radius: 50rem;
		background-color: var(--main-red);
		width: 5rem;
		transform: translateY(-2rem);
	}

	.site-footer-copyright {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		background-color: var(--txt);
		color: var(--txt-gray);
	}
	
	/* sp */
	@media only screen and (max-width: 767px) {
		.site-footer-contact {
			padding: 25rem 25rem 0;
			background-image: url(../img/common/contact-bg-sp.jpg);
			height: 290rem;
			font-size: 14rem;
		}
		.site-footer-contact-ttl {font-size: 13rem;}
		.site-footer-contact-ttl .en {font-size: 20rem;}
		.site-footer-contact-ttl .ja {margin-top: .5em;}
		.site-footer-contact-text {
			margin-top: 24rem;
			line-height: 2.29;
		}
		.site-footer-contact-btn {
			margin-top: 20rem;
			text-align: center;
		}
		.site-footer-contact-btn .button {
			padding: 0 1em 0 0;
			width: 188rem;
			justify-content: center;
		}

		.site-footer-left {
			margin-top: 40rem;
			padding: 0 40rem;
		}
		.site-footer-logo {
			margin: 0 auto;
			width: 240rem;
		}
		.site-footer-overview {
			margin: 20rem auto 0;
			padding: 12rem 0;
			border-radius: 7rem;
			font-size: 13rem;
			line-height: 1.7;
		}
		.site-footer-address {
			margin-top: 20rem;
			font-size: 13rem;
			line-height: 1.38;
		}
		.address-blank {
			display: inline-block;
			width: 1.25em;
		}
		.site-footer-sns-list {column-gap: 15rem;}
		.site-footer-sns-item {width: 32rem;}
		.site-footer-leagal {font-size: 13rem;}
		.leagal-item + .leagal-item {margin-top: 9rem;}
		
		.site-footer-copyright {
			margin-top: 40rem;
			height: 30rem;
			font-size: 11rem;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.site-footer {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
		}
		.site-footer a {transition: opacity .3s;}
		.site-footer  a:not(.button):hover {opacity: .6;}
		.site-footer-contact {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			margin-bottom: 50rem;
			width: 100%;
			background-image: url(../img/common/contact-bg-pc.jpg);
			height: 320rem;
		}
		.site-footer-contact .pc-flex {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: space-between;
			width: 850rem;
		}
		.site-footer-contact-ttl {font-size: 12rem;}
		.site-footer-contact-ttl::before {
			top: -6rem;
			height: calc(100% + 12rem);
		}
		.site-footer-contact-ttl .en {font-size: 24rem;}
		.site-footer-contact-ttl .ja {margin-top: 1em;}
		.site-footer-contact-text {line-height: 2.5;}

		.site-footer-contact-btn {margin-top: 40rem;}

		.site-footer-left {
			margin-right: 60rem;
			padding-right: 60rem;
			width: 448rem;
			border-right: max(1px, 1rem) solid var(--border-lightblue);
		}
		.site-footer-logo {
			margin: 0 auto;
			width: 300rem;
		}
		.site-footer-overview {
			margin-top: 20rem;
			padding: 16rem 0;
			border-radius: 10rem;
			font-size: 13rem;
			line-height: 1.54;
		}
		.site-footer-address {
			margin-top: 30rem;
			font-size: 14rem;
		}
		.site-footer-sns-list {column-gap: 15rem;}
		.site-footer-sns-item {width: 30rem;}
		.site-footer-leagal {font-size: 13rem;}
		.leagal-item + .leagal-item {margin-top: 9rem;}

		.site-footer-nav-list {
			display: flex;
			flex-direction: column;
			flex-wrap: wrap;
			align-content: space-between;
			margin-top: -20rem;
			width: 500rem;
			height: 360rem;
		}

		.site-footer-nav-item {
			position: relative;
			margin-top: 20rem;
			padding-left: 14rem;
			min-width: 230rem;
		}
		.site-footer-nav-item::before {
			content: '▼';
			position: absolute;
			top: 6rem;
			left: 0;
			display: block;
			color: var(--main-red);
			font-size: 9rem;
			transform: rotate(-90deg);
		}
		.site-footer-nav-item > a {
			font-size: 14rem;
			font-weight: 600;
			line-height: 1.43;
		}
		.site-footer-nav-list-1 {margin-top: 8rem;}
		.site-footer-nav-item-1 {
			margin-left: 10rem;
			font-size: 13rem;
		}
		.site-footer-nav-item-1 + .site-footer-nav-item-1 {margin-top: 15rem;}
		.site-footer-nav-item-1::before {
			content: '';
			display: inline-block;
			width: 5rem;
			height: 2rem;
			border-radius: 1rem;
			background-color: var(--main-red);
			opacity: .5;
			transform: translateY(-3rem);
		}
		.site-footer-nav-item-1 span {
			font-size: 11rem;
		}

		.site-footer-copyright {
			margin-top: 50rem;
			height: 30rem;
			font-size: 12rem;
		}
	}
}


/* greeting-list */
@media all {
	.greeting-item {position: relative;}
	.greeting-item .button > span {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-content: flex-start;
		align-items: flex-start;
		justify-content: center;
		padding-left: 0;
		text-align: left;
	}
	.greeting-photo {
		display: block;
		height: 100%;
	}
	.greeting-logo {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #f1f1f1;
	}
	.greeting-item .name {
		margin-top: 1em;
		color: var(--main-blue);
	}
	.greeting-item .ttl {line-height: 1.5;}

	/* sp */
	@media only screen and (max-width: 767px) {
		.greeting-list {
			margin: 0 auto;
			padding-bottom: 150rem;
			width: 270rem;
		}
		.greeting-item + .greeting-item {margin-top: 10rem;}
		.greeting-item .button {
			width: 268rem;
			height: 78rem;
		}
		img.greeting-photo {
			margin-right: 16rem;
			width: 75rem;
			object-fit: cover;
		}
		.greeting-logo {
			margin-right: 16rem;
			width: 75rem;
		}
		.greeting-logo img {width: 35rem;}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.greeting-list {
			display: flex;
			justify-content: space-between;
			margin: 0 auto;
			width: 100%;
			max-width: 1000rem;
		}
		.greeting-item .button {
			width: 308rem;
			height: 138rem;
		}
		img.greeting-photo {
			width: 120rem;
			margin-right: 16rem;
			transition: opacity .3s;
		}
		a:hover img.greeting-photo {opacity: .9;}
		.greeting-item .small {font-size: 14rem;}
		.greeting-item .name {
			font-size: 16rem;
			transition: color .3s;
		}
		.greeting-item .button.border-rainbow:hover .name {color: #fff;}

		.greeting-item a:hover .greeting-logo {opacity: .95;}
		.greeting-logo {
			margin-right: 16rem;
			width: 120rem;
			transition: opacity .3s;
		}
		.greeting-logo img {width: 70rem;}
		.greeting-item .ttl {font-size: 16rem;}
	}
}



/* buttons */
@media all {
	.button {
		position: relative;
		display: inline-flex;
		align-items: center;
		font-weight: 600;
	}
	.rainbow {
		background : linear-gradient(135deg, rgba(255, 0, 128, 1) 0%, rgba(227, 0, 103, 1) 4.2%, rgba(218, 0, 95, 1) 6.5%, rgba(115, 0, 219, 1) 22.5%, rgba(106, 5, 217, 1) 25%, rgba(82, 18, 211, 1) 30%, rgba(42, 40, 201, 1) 37.5%, rgba(0, 63, 190, 1) 44%, rgba(0, 94, 255, 1) 50%, rgba(0, 94, 255, 1) 50%, rgba(0, 63, 190, 1) 54.2%, rgba(42, 40, 201, 1) 56.5%, rgba(82, 18, 211, 1) 52.5%, rgba(106, 5, 217, 1) 75%, rgba(115, 0, 219, 1) 80%, rgba(218, 0, 95, 1) 87.5%, rgba(227, 0, 103, 1) 94%, rgba(255, 0, 128, 1) 100%);
		background-size: 220%;
	}
	.button.rainbow {
		color: #fff;
		transition: background-position .3s, filter .3s;
	}
	.border-rainbow {position: relative;}
	.border-rainbow::before {
		content: '';
		position: absolute;
		top: max(-1px, -1rem);
		left: max(-1px, -1rem);
		width: calc(100% + max(2px, 2rem));
		height: calc(100% + max(2px, 2rem));
		background: linear-gradient(to right, #f00, #b507de, #00a2e7);
	}
	
	.border-rainbow > span {
		overflow: hidden;
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
		background: #fff;
	}
	.button.border-rainbow::before {border-radius: 7rem;}
	.button.border-rainbow > span {border-radius: 6.5rem;}

	.button:where(.bg-red, .bg-blue) {
		border: max(1px, 1rem) solid #fff;
		color: #fff;
	}

	.button:not(.no-arrow)::after {
		content: '';
		position: absolute;
		aspect-ratio: 1;
		border-radius: 50%;
		background: center / cover no-repeat var(--main-red) url(../img/common/btn-arrow.png);
		box-shadow: 0 0 0 max(1px, 1rem) rgba(255,255,255,0);
		color: #fff;
	}
	.button.arrow-bottom::after {transform: rotate(90deg);}

	.viewmore > span {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		padding-left: 1em;
	}
	.viewmore .en {
		font-family: var(--montserrat);
		font-weight: 600;
	}
	.viewmore .ja {
		margin-top: .5em;
		font-weight: 500;
		color: #98a3ae;
	}
	.viewmore.rainbow .ja {color: #fff;}

	.button img.outgo {
		display: inline-block;
		width: 1em;
		transform: translate(3rem, -.15em);
	}

	.button.gray {
		background: #a0a0a0;
		pointer-events: none;
		color: #fff;
	}
	.button.rainbow.gray::after {
		background: center / cover no-repeat #888 url(../img/common/btn-arrow.png);
	}

	@media only screen and (max-width: 767px) {
		.button {
			width: 163rem;
			height: 46rem;
			border-radius: 7rem;
			font-size: 13rem;
		}
		.button:not(.no-arrow)::after {
			top: calc(50% - 9rem);
			right: -9rem;
			width: 18rem;
		}
		.button.rainbow::after {transition: box-shadow .3s;}
		.button.rainbow:hover {background-position: 100% center;}
		.button.rainbow:hover::after {box-shadow: 0 0 0 min(1px, 1rem) rgba(255,255,255,.5);}

		.viewmore > span {padding-left: 8rem;}
		.viewmore .en {font-size: 13rem;}
		.viewmore .ja {font-size: 11rem;}
	}
	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.button {
			width: 198rem;
			height: 58rem;
			border-radius: 10rem;
			font-size: 14rem;
		}
		.button:not(.no-arrow)::after {
			top: calc(50% - 10rem);
			right: -10rem;
			width: 20rem;
		}
		.button.rainbow {
			width: 200rem;
			height: 60rem;
		}
		.button.rainbow::after {transition: box-shadow .3s;}
		.button.rainbow:not(.no-hover):hover {
			background-position: 100% center;
			filter: brightness(1.15);
		}
		.button.rainbow:not(.no-hover):hover::after {box-shadow: 0 0 0 min(1px, 1rem) rgba(255,255,255,.5);}

		.button.border-rainbow > span {
			transition: color .3s, background-color .3s;
		}
		.button.border-rainbow:not(.no-hover):hover > span {
			color: #fff;
			background-color: rgba(255,255,255,0);
		}

		.viewmore .en {font-size: 16rem;}
		.viewmore .ja {
			font-size: 12rem;
			transition: color .3s;
		}
		.viewmore:not(.no-hover):hover .ja {color: #fff;}

	}
}

/* open-close icon */
@media all {
	.open-close {
		position: absolute;
		border-radius: 50%;
		aspect-ratio: 1;
		color: #fff;
	}
	.open-close::before,
	.open-close::after {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		padding-bottom: .05em;
		transition: .5s;
	}
	.open-close::before {content: '＋';opacity: 0;}
	.open-close::after {content: 'ー';opacity: 0;}
	.close.open-close::before {
		opacity: 1;
		transform: rotate(-180deg);
	}
	.open-close:not(.close)::after {
		transform: rotate(180deg);
		opacity: 1;
	}
	/* sp */
	@media only screen and (max-width: 767px) {
		.open-close::before,
		.open-close::after {padding-bottom: .1em;}
	}

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


/* background & dummy for delete */
@media all {
	.bg-grid-1 {background-image: url(../img/common/bg-grid-1.png);}
	.bg-grid-2 {background-image: url(../img/common/bg-grid-2.png);}

	.bg-red,
	.border-rainbow.red::before {
		background : linear-gradient(-60deg, rgba(218, 0, 7, 1) 31.71%, rgba(255, 0, 128, 1) 100%);
	}
	.bg-blue,
	.border-rainbow.blue::before {
		background : linear-gradient(-60deg, rgba(0, 97, 162, 1) 31.71%, rgba(0, 139, 194, 1) 100%);
	}
	.bg-green,
	.border-rainbow.green::before {
		background : linear-gradient(60deg, #d8df00, #2cb53a 100%);
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.main-section {padding: 30rem 25rem;}
		.bg-grid {
			background-size: 15rem;
			background-position-x: center;
		}
		.bg-grid-2 {background-position: 5rem 7.5rem;}

	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.bg-grid {
			background-size: 20rem;
			background-position-x: calc(50% - 10rem);
		}
		.bg-grid-2 {background-position: 20rem 10rem;}


	}
}

/* Shortcoder exam-info-card */
@media all {
	.exam-info-card,
	.exam-info-card-inner {position: relative;}

	.exam-info-number {
		position: absolute;
		z-index: 1;
		padding-top: .5em;
		background: center / contain no-repeat url(../img/common/number-bg.svg);
		font-weight: bold;
		color: #fff;
	}
	.exam-info-number > span {
		display: flex;
		align-items: center;
		justify-content: center;
		padding-bottom: max(1px, 1rem);
	}
	.exam-info-card-inner {
		width: 100%;
		height: 100%;
	}
	.exam-info-card-inner::before {
		content: '';
		position: absolute;
		top: calc(0px - max(1px, 1rem));
		left: calc(0px - max(1px, 1rem));
		display: block;
		width: calc(100% + max(2px, 2rem));
		height: calc(100% + max(2px, 2rem));
		background: linear-gradient(to right top, #f00, #b507de, #00a2e7);
	}
	.exam-info-card-dl {
		position: relative;
		width: 100%;
		height: 100%;
		background-color: #fff;
	}
	.exam-info-card-dt {font-weight: 800;}
	.exam-info-card-dd {
		display: flex;
		align-items: flex-start;
		column-gap: .2em;
	}
	.exam-info-period-ttl {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: max(1px, 1rem) solid var(--main-blue);
		border-radius: 2em;
		font-weight: 600;
		color: var(--main-blue);
	}
	.exam-info-date {font-weight: 500;}

	.exam-info-buttons {position: absolute;}
	.exam-info-card-dd.notice {
		padding-top: .25em;
		color: var(--txt-gray);
	}
	.exam-info-buttons .button > span {padding-left: 1em;}

	/* sp */
	@media only screen and (max-width: 767px) {
		.exam-info-card {
			margin: 0 auto;
			width: 370rem;
			height: 145rem;
		}
		.exam-info-number {
			top: -7rem;
			left: 8rem;
			padding-right: 6rem;
			width: 37rem;
			height: 48rem;
			font-size: 11rem;
		}
		.exam-info-number > span {margin-top: -1px;}
		.exam-info-card-inner::before {
			border-radius: 7rem;
		}
		.exam-info-card-dl {
			padding: 16rem 0 0 10rem;
			border-radius: 7rem;
		}
		.exam-info-card-dt {
			margin-bottom: 12rem;
			padding-left: 40rem;
			font-size: 18rem;
		}
		.exam-info-card .exam-info-card-dt img {
			display: inline-block;
			margin: 0 0 0 5rem;
			width: 23rem;
			height: 21rem;
		}

		.exam-info-card-dd + .exam-info-card-dd {margin-top: 6rem;}
		
		.exam-info-period-ttl {
			padding-bottom: 1px;
			width: 74rem;
			height: 18rem;
			font-size: 11rem;
		}
		.exam-info-date {font-size: 14rem;}
		.exam-info-card-dd.notice {font-size: 11rem;}

		.exam-info-buttons {
			bottom: -18rem;
			right: 20rem;
		}
		.exam-info-card .button {
			height: 36rem;
			width: 124rem;
		}
		.exam-info-card .button + .button {margin-left: 20rem;}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.exam-info-card {
			margin: 0 auto;
			width: 600rem;
			height: 210rem;
		}
		.home .exam-info-card {
			width: 465rem;
			height: 175rem;
		}
		.exam-info-number {
			top: -12rem;
			left: 12rem;
			padding-top: 10rem;
			padding-right: 10rem;
			width: 54rem;
			height: 80rem;
			font-size: 16rem;
		}
		.home .exam-info-number {
			top: -9rem;
			left: 10rem;
			padding-top: 7rem;
			padding-right: 10rem;
			width: 44rem;
			height: 62rem;
			font-size: 13rem;
		}
		.exam-info-card-inner::before {
			border-radius: 10rem;
		}
		.exam-info-card-dl {
			padding: 22rem 25rem 0;
			border-radius: 9rem;
		}
		.exam-info-card-dt {
			margin-bottom: 30rem;
			padding-left: 50rem;
			font-size: 22rem;
		}
		.home .exam-info-card-dt {
			margin-bottom: 20rem;
			padding-left: 40rem;
			font-size: 20rem;
		}
		.exam-info-card .exam-info-card-dt img {
			display: inline-block;
			margin: 0 0 0 12rem;
			width: 32rem;
			height: 30rem;
		}
		.home .exam-info-card-dt img {
			margin-left: 8rem;
			width: 26rem;
			height: 24rem;
		}
		.exam-info-card-dd + .exam-info-card-dd {margin-top: 12rem;}
		.home .exam-info-card-dd + .exam-info-card-dd {margin-top: 8rem;}

		.exam-info-card-dd {font-size: 20rem;}
		.home .exam-info-card-dd {font-size: 16rem;}
		.exam-info-period-ttl {
			width: 120rem;
			height: 25rem;
			font-size: 14rem;
		}
		.home .exam-info-period-ttl {
			width: 88rem;
			height: 20rem;
			font-size: 12rem;
		}
		.exam-info-card-dd.notice {font-size: 12rem;}

		.exam-info-buttons {
			bottom: -20rem;
			right: 50rem;
		}
		.home .exam-info-buttons {
			right: 30rem;
		}
		.exam-info-card .button {
			height: 40rem;
			width: 140rem;
		}
		.exam-info-card .button + .button {margin-left: 20rem;}

		.aside-card-top {margin-top: 10rem;}
	}
}

/* Shortcoder banner_2026 */
@media all {
	.banner_2026 {
		position: relative;
		line-height: 1;
		text-align: center;
	}
	.banner_2026::before {
		content: '';
		position: absolute;
		height: max(1px, 1rem);
		background: linear-gradient(to right top, #f00, #b507de, #00a2e7);
	}
	.banner_2026-ttl {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto;
		background-color: #798796;
		border-radius: 10em;
		font-family: var(--lineseed);
		font-weight: bold;
		color: #fff;
	}

	.banner_2026-list {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.banner_2026-item {
		position: relative;
		z-index: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		font-weight: bold;
	}
	.banner_2026-item::before {
		content: '';
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background-color: #ead3dc;
		filter: blur(6rem);
	}
		.banner_2026-item:nth-child(2)::before {
			background-color: #dfd6ed;
		}
		.banner_2026-item:nth-child(3)::before {
			background-color: #ced9ed;
		}
	
	.banner_2026-text {
		font-weight: bold;
		color: var(--main-blue);
		text-align: center;
	}




	/* sp */
	@media only screen and (max-width: 767px) {
		.banner_2026 {
			margin: 0 auto;
			width: 350rem;
		}
		.banner_2026-ttl {
			width: 100%;
			height: 36rem;
			font-size: 18rem;
		}

		.banner_2026-list {margin-top: 30rem;}
		.banner_2026-item {
			width: 110rem;
			height: 110rem;
			font-size: 14rem;
			line-height: 25rem;
		}
		.banner_2026-text {
			margin: 22rem 0;
			line-height: 32rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.banner_2026 {
			margin: 0 auto;
			width: 640rem;
		}
		.banner_2026-ttl {
			width: 510rem;
			height: 45rem;
			font-size: 22rem;
		}

		.banner_2026-list {
			margin-top: 30rem;
			width: 510rem;
		}
		.banner_2026-item {
			width: 150rem;
			height: 150rem;
			line-height: 30rem;
		}

		.banner_2026-text {
			margin: 40rem 0;
			font-size: 18rem;
			line-height: 38rem;
		}
	}
}

/* Shortcoder text_and_sns */
@media all {
	.sc-text_sns {
		text-align: center;
		line-height: 1;
	}
	.sc-text_sns .sc-ttl {
		position: relative;
		padding-bottom: 1em;
		font-family: var(--lineseed);
		font-weight: bold;
		text-align: center;
	}
	.sc-text_sns .sc-ttl::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: calc(50% - 1em);
		display: block;
		width: 3em;
		height: 3rem;
		background: linear-gradient(to right, #f00, #b507de, #00a2e7);
	}

	.sc-text_sns .sc-p-txt span {display: inline-block;}
	.sc-text_sns .sc-text-btn .button {
		justify-content: center;
		height: 100%;
		width: 100%;
	}

	.sc-text_sns .sc-sns {
		border: max(2px, 2rem) solid var(--bg-lightblue);
	}
	.sc-text_sns .sc-sns-list {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.sc-text_sns .sc-sns-item a {display: block;}
	.sc-text_sns .sc-sns-item img {margin: 0;}
	



	/* sp */
	@media only screen and (max-width: 767px) {
		.sc-text_sns {
			margin: 0 auto;
			width: 350rem;
		}
		.sc-text_sns .sc-text {
			position: relative;
			display: flex;
			justify-content: space-between;
			padding: 30rem 10rem 80rem 15rem;
			background-color: var(--bg-lightblue);
		}
		.sc-text_sns .sc-text-img {
			margin: 0;
			width: 120rem;
		}
		.sc-text_sns .sc-text-txt {
			width: 180rem;
			text-align: center;
		}
		.sc-text_sns .sc-ttl > span {
			display: block;
			font-size: 16rem;
			line-height: 28rem;
		}
		.sc-text_sns .sc-ttl {padding-bottom: 8rem;}
		.sc-text_sns .sc-p-txt {
			margin-top: 10rem;
			line-height: 26rem;
		}
		.sc-text_sns .sc-text-btn {
			position: absolute;
			bottom: 25rem;
			left: calc(50% - 90rem);
			width: 180rem;
			height: 36rem;
		}

		.sc-text_sns .sc-sns {
			padding: 30rem 0;
			border-top: none;
		}
		.sc-text_sns .sc-sns-list {
			margin-top: 20rem;
			width: 220rem;
		}
		.sc-text_sns .sc-sns-item img {
			width: 55rem;
			height: 55rem;
		}
		.sc-text_sns .sc-sns-txt {
			margin-top: 10rem;
			line-height: 26rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.sc-text_sns {
			display: flex;
			width: 1000rem;
		}
		.sc-text_sns .sc-text {
			flex-shrink: 0;
			display: flex;
			padding: 25rem 42rem;
			width: 640rem;
			background-color: var(--bg-lightblue);
		}
		.sc-text_sns .sc-text-img {
			margin: 0;
			width: 170rem;
		}
		.sc-text_sns .sc-text-txt {
			margin-left: 60rem;
			width: 300rem;
		}
		.sc-text_sns .sc-ttl {
			margin-top: 8rem;
			font-size: 18rem;
		}
		.sc-text_sns .sc-p-txt {
			margin-top: 30rem;
			line-height: 30rem;
		}
		.sc-text_sns .sc-text-btn {
			width: 220rem;
			height: 40rem;
			margin: 40rem auto 0;
		}

		.sc-text_sns .sc-sns {
			padding: 22rem 0 25rem;
			width: calc(100% - 640rem);
			border-left: none;
		}
		.sc-text_sns .sc-sns-list {
			margin-top: 30rem;
			width: 266rem;
		}
		.sc-text_sns .sc-sns-item img {
			width: 70rem;
			height: 70rem;
		}
		.sc-text_sns .sc-sns-txt {
			margin-top: 20rem;
			line-height: 30rem;
		}
	}
}





/* 印刷用 */
@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;
		z-index: 1000;
		bottom: 20rem;
		right: 20rem;
		width: 3em;
		height: 3em;
		border-radius: 50%;
		box-shadow: 0 0 2rem 1px #fff;
		font-size: 12rem;
		overflow: hidden;
		transition: bottom .3s;
	}
	.modal-open .to-top {
		opacity: 0;
		visibility: hidden;
	}

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

	}
	.to-top a::after {
		content: '';
		position: absolute;
		top: 42.5%;
		left: 35%;
		width: 25%;
		height: 25%;
		border: max(1px, 1rem) 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 {bottom: 55rem;}
		.to-top.bottom {bottom: 40rem;}
	}
	/* pc */
	@media (min-width: 1025px) {
		.to-top.bottom {bottom: 45rem;}
	}
}

/* inview */
@media not print {
	.deco {position: absolute;z-index: 10;pointer-events: none;}
	.elemFadeIn, .elemFadeInReverse {
		opacity: 0;
		filter: blur(1em);
		transform: translateY(30rem);
		transition: .5s opacity linear, .45s filter, .5s transform linear;
	}
	.elemFadeInReverse {transform: translateY(-30rem);}

	.elemFadeIn.animated,
	.elemFadeInReverse.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);
	}

	.inview.underline {
		position: relative;
		display: inline-block;
	}
	.inview.underline::before {
		content: '';
		position: absolute;
		z-index: -1;
		bottom: 6rem;
		left: 0;
		display: block;
		width: 0;
		height: 8rem;
		opacity: .5;
		background-color: #ff0;
		transition: width 1s;
	}
	.inview.animated.underline::before {width: 100%;}
	.inview.underline.ease-in::before {transition-timing-function: ease-in;}
	.inview.underline.ease-out::before {transition-timing-function: ease-out;}
	.inview.underline.linear::before {transition-timing-function: ease-out;}

	@media (min-width: 767px) {
		.elemFadeIn.pcLeft {
			transform: translate(30rem, 0);
		}
		.elemFadeIn.pcLeft.animated {
			transform: translate(0rem, 0);
		}
	}
}

/* モーダル */
@media all {
	.modal-base {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 1000;
	}
	.modal-closer {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(70, 75, 100, 0.75);
		background: rgba(10, 35, 80, .6);
		cursor: zoom-out;
	}
	.modal-youtube-container {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 90%;
		max-width: 800rem;
		z-index: 1001;
	}
	.modal-youtube {
		position: relative;
		width: 100%;
		padding-top: 56.25%; /* 16:9 Aspect Ratio */
		background: #000;
	}
	.modal-youtube iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: none;
	}
	.modal-close-button {
		position: absolute;
		top: -75rem;
		right: 0;
		color: #fff;
		font-size: 50rem;
		cursor: pointer;
		line-height: 1;
	}

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

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




/* template */
@media all {

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

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