@charset "UTF-8";

/* ==================================
SPファースト
===================================== */
/* 共通スタイル------------------------------- */
* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	list-style: none;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", Meiryo, "游ゴシック", YuGothic, "小塚ゴシック Pr6N", osaka, sans-serif;
	font-weight: 500;
	font-size: 62.5%;

	&::before,
	&::after {
		box-sizing: border-box;
	}
}

/* 必要に応じて使用 */
/* html:focus-within {
	scroll-behavior: smooth;
} */

body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
}

h2,
h3,
h4,
h5,
h6 {
	line-height: 1.5;
	font-weight: 600;

	/* font-feature-settings: "palt"; */
	& span {
		font-weight: 600;
	}
}

p,
span,
a {
	text-decoration-skip-ink: auto;
	line-height: 1.5;
	font-weight: 300;
	font-size: 16px;
	color: #000000;
}

a {
	text-decoration: none;
}

a.noborder,
a.noborder:link,
a.noborder:hover,
a.noborder:active,
a.noborder:visited,
img {
	border: 0;
	vertical-align: bottom;
}

img {
	display: block;
	width: 100%;
}

table {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
	font: inherit;
}

/* clearfix -------------- */
.clearfix {
	zoom: 1;

	&::before,
	&::after {
		content: " ";
		display: table;
	}

	&::after {
		clear: both;
	}
}

/* only_pc/sp ------------- */
.only_sp {
	display: block;
}

.only_pc {
	display: none;
}

/* ボタン共通 ------------- */
.btn-common {
	display: block;
	position: relative;
	margin: 0 auto;
	border-radius: 60px;
	width: 300px;
	height: 60px;
	border: 2px solid #E37878;
	background: #FF4545;
	background: linear-gradient(270deg, rgba(255, 69, 69, 1) 0%, rgba(101, 25, 25, 1) 100%);

	& span {
		position: absolute;
		top: 50%;
		left: 25px;
		transform: translateY(-50%);
		font-size: 2rem;
		font-weight: 600;
		color: #ffffff;
	}

	& .arrow {
		display: block;
		position: absolute;
		left: auto;
		right: 10px;
		border-radius: 50%;
		width: 40px;
		height: 40px;
		background-color: #ffffff;

		&:before {
			content: "";
			position: absolute;
			top: 50%;
			right: -5px;
			left: 0;
			margin: 0 auto;
			z-index: 1;
			transform: translateY(-50%);
			width: 16px;
			height: 25px;
			background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23FF4545" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
		}
	}

	&.close {
		border: 2px solid #999999;
		background: #C7C7C7;
		background: linear-gradient(190deg, rgba(199, 199, 199, 1) 0%, rgba(79, 79, 79, 1) 100%);

		& .arrow:before {
			background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23555555" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
		}
	}
}

.area-briefing .btn-common,
.area-mv .btn-common {
	border: 2px solid #E3C978;
	background: #724D2B;
	background: linear-gradient(90deg, rgba(114, 77, 43, 1) 0%, rgba(185, 158, 83, 1) 100%);

	&.close {
		border: 2px solid #555555;
		background: #C7C7C7;
		background: linear-gradient(190deg, rgba(199, 199, 199, 1) 0%, rgba(79, 79, 79, 1) 100%);

		& .arrow:before {
			background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23555555" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
		}
	}
}

.area-briefing .btn-common .arrow:before,
.area-mv .btn-common .arrow:before {
	background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23B99E53" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
}

/* スクロールダウン共通 ------------- */
.scroll {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 9;
	writing-mode: vertical-rl;

	&:before {
		content: "";
		display: block;
		animation: scroll 2s infinite;
		position: absolute;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
		width: 1px;
		height: 8vw;
		background-color: #ffffff;
	}
}

/* 線のアニメーション */
@keyframes scroll {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}

	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}

	51% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}

	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}

/* header/footer ------------- */
header {
	overflow: hidden;
	background-color: #052146;

	& .scroll {
		&:before {
			height: 8vw;
		}
	}

	&.fade {

		& h1,
		& .h1-L,
		& .h1-S {
			transform: translateX(50px);
			opacity: 0;
			transition: 0.5s;
		}

		& .h1-L {
			transition: .5s .2s;
		}

		& .h1-S {
			transition: .5s .3s;
		}

		&.fadeIn {

			& h1,
			& .h1-L,
			& .h1-S {
				opacity: 1;
				transform: translateY(0);
			}
		}
	}
}

header .area-text {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10.66vw;
	z-index: 9;

	& .copy {
		margin: 0 auto;
		width: calc(100% - 10.66vw);
		font-size: 1.2rem;
		color: #ffffff;
	}

	& .btn-common {
		margin: 0 auto 5.33vw auto;
	}
}


header h1 {
	position: relative;
	margin: 0 0 5.33vw 0;
	width: 100%;

	&>span {
		display: block;
		width: 100%;
		height: 100%;

		&:after {
			content: "";
			display: block;
			position: absolute;
			top: calc(50% + 2px);
			transform: translateY(-50%);
			width: 100%;
			height: calc(100% - 2.66vw);
			background-color: rgba(255, 255, 255, 0.5);
		}
	}

	& img {
		display: block;
		position: relative;
		z-index: 1;
		margin: 0 auto;
		width: auto;
		height: 21.333vw;
	}
}

header .catch {
	margin: 0 auto 6.66vw auto;

	& span {
		display: block;
		margin: 0 auto;
		width: fit-content;

		&.h1-L {
			margin-bottom: 3.2vw;
			width: fit-content;
			height: 21.333vw;
		}

		&.h1-S {
			margin: 0 auto 0 calc((100% - 69.066vw)/2);
			width: fit-content;

			& img:first-of-type {
				margin-bottom: 1.066vw;
			}

			& img {
				height: 5.0666vw;
				filter: invert(100%) sepia(0%) saturate(1%) hue-rotate(58deg) brightness(104%) contrast(102%) drop-shadow(0px 0px 5px rgba(0, 0, 0, 1));
				will-change: filter;
			}
		}
	}

	& img {
		display: block;
		width: auto;
		height: 100%;
		filter: invert(100%) sepia(0%) saturate(1%) hue-rotate(58deg) brightness(104%) contrast(102%);
	}
}

header .area-mv {
	position: relative;
	width: 100%;
	height: 100dvh;
}

header .area-mv .mv {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../images/MV.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 21% center;
}

header .area-mv .link-under {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin: 5.33vw auto 5.33vw auto;
	width: calc(100% - 10.66vw);
	height: 18.666vw;
	background: #C7C7C7;
	background: linear-gradient(90deg, rgba(27, 69, 124, 1) 0%, rgba(70, 170, 255, 1) 100%);

	&:after {
		content: "";
		display: block;
		position: absolute;
		bottom: 1.33vw;
		right: 1.33vw;
		width: 0px;
		height: 0px;
		border-style: solid;
		border-width: 0 0 20px 20px;
		border-color: transparent transparent #FFFFFF transparent;
		transform: rotate(0deg);
	}

	& span {
		display: block;
		line-height: 1.5;
		font-size: 1.8rem;
		font-weight: 600;
		color: #ffffff;
	}
}

header .area-video {
	/* padding: 10.66vw 0 10.66vw 0; */
	padding: 13.33vw 0 0 0;
}

header .area-video a {
	display: block;
	position: relative;
	margin: 0 auto;
	width: fit-content;
	filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.8));


	&::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		z-index: 9;
		border: 2px solid #FFFFFF;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
	}
}

header .area-video .thum {
	position: relative;

	&::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.3);
	}
}

header .area-video .thum svg {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	transform: translateY(-50%);
	margin: 0 auto;
	width: 58px;
	height: 58px;
}

header .area-video .thum .cls-1 {
	fill: none;
}

header .area-video .thum .cls-2 {
	fill: #fff;
}

header .area-video .thum span {
	display: block;
	width: 64vw;
	height: 39.2vw;

	& img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
}

header .area-video p {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 12.2666vw;
	background-color: #FFFFFF;
}

header .area-video p span {
	display: block;
	font-weight: 600;
	font-size: 1.4rem;
	color: #1B457C;
}

footer {
	background-color: #EFF6FF;

	& ul {
		display: flex;
		flex-wrap: wrap;
		padding: 10.66vw;
	}

	& li {
		margin: 0 0 4vw 0;
		width: 50%;

		&:last-of-type {
			margin-bottom: 0;
		}
	}

	& li a {
		font-weight: 600;
		font-size: 1.4rem;
		color: #1B457C;
	}

	& .bottom {
		background-color: #235988;

		& small {
			display: block;
			padding: 3.2vw 0;
			text-align: center;
			font-size: 1.2rem;
			color: #ffffff;
		}
	}
}

/* メニュー ------------- */
nav {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 99;

	& .area-menu {
		position: absolute;
		right: -100%;
		z-index: 9;
		margin: 0 0 0 auto;
		max-width: 194px;
		width: 100%;
		height: 100dvh;
		background-color: #235988;
		transition: .4s;
	}

	& .area-menu.open {
		position: fixed;
		right: 0%;
	}

	& ul {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		margin: 0 auto;
		transform: translateY(-50%);
		max-width: 95px;
	}

	& li {
		margin: 0 0 8vw 0;
	}

	& a {
		font-size: 1.4rem;
		color: #ffffff;
	}

	& .shadow {
		visibility: hidden;
		position: absolute;
		top: 0;
		right: -100%;
		width: 100dvh;
		height: 100dvh;
		background-color: rgba(0, 0, 0, 0.5);
		transition: 0.3s;
		opacity: 0;

		&.open {
			visibility: visible;
			right: 0;
			opacity: 1;
		}
	}

	& .btn {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 9;
		width: 60px;
		height: 60px;
		background-color: #052146;

		&>div {
			position: absolute;
			top: 50%;
			right: 0;
			left: 0;
			transform: translateY(-50%);
			margin: 0 auto;
			width: 30px;
			height: 20px;
		}

		& span {
			display: block;
			position: absolute;
			margin: 0 auto;
			border-radius: 3px;
			width: 30px;
			height: 3px;
			background-color: #ffffff;
			transition: .3s;
		}

		& span:first-of-type {
			top: 0;
		}

		& span:nth-of-type(2) {
			top: 50%;
			transform: translateY(-50%);
		}

		& span:last-of-type {
			bottom: 0;
		}

		&.open {
			& span:first-of-type {
				top: 50%;
				transform: translateY(-50%) rotate(45deg);
			}

			& span:nth-of-type(2) {
				opacity: 0;
			}

			& span:last-of-type {
				top: 50%;
				transform: translateY(-50%) rotate(-45deg);
			}
		}
	}
}

/* nav */


main {
	background-color: #052146;

	& .page-top {
		visibility: hidden;
		position: fixed;
		bottom: 20px;
		right: 20px;
		z-index: 99;
		border-radius: 50%;
		width: 50px;
		height: 50px;
		filter: drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.5));
		background: linear-gradient(0deg, rgba(27, 69, 124, 1) 0%, rgba(36, 33, 66, 1) 100%);
		transition: .3s;
		opacity: 0;

		&.active {
			visibility: visible;
			opacity: 1;
		}
	}

	& .page-top span {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		transform: translateY(-50%) rotate(-90deg);
		margin: 0 auto;
		width: 12px;
		height: 24px;
		background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23FFFFFF" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
		background-repeat: no-repeat;
		background-position: center;

	}

	& .area-btn {
		padding: 13.33vw 0 0 0;

		& a {
			border: 2px solid #E3C978;
			background: #724D2B;
			background: linear-gradient(90deg, rgba(114, 77, 43, 1) 0%, rgba(185, 158, 83, 1) 100%);

			& .arrow:before {
				background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23B99E53" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
			}
		}
	}
}

.btn-common.gold {
	border: 2px solid #E3C978;
	background: #724D2B;
	background: linear-gradient(90deg, rgba(114, 77, 43, 1) 0%, rgba(185, 158, 83, 1) 100%);

	& .arrow:before {
		background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23B99E53" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
	}
}

/* sec-box共通 ------------- */
.sec-box {
	/* margin: 0 0 20vw 0; */
	margin: 0 0 21.333vw 0;

	& .inner, .inner-youTube {
		margin: 0 auto;
		width: 89.3333vw;
	}

	& p {
		line-height: 1.75;
		font-size: 1.6rem;
	}
}

/* sec-box */

.sec-box h2 {
	position: relative;
	margin: 0 0 13.33vw 0;
	padding: 7.2vw 0 0 0;
	width: 100%;

	& span {
		display: block;
		width: fit-content;

		& img {
			width: auto;
			height: 6.6vw;
		}
	}

	& .h2-eng {
		position: absolute;
		top: 0;
		height: 13.33vw;
		width: auto;
		opacity: .5;
		filter: invert(23%) sepia(21%) saturate(3020%) hue-rotate(184deg) brightness(94%) contrast(94%);
	}
}

.sec-box h2 .h2-inner {
	display: block;
	position: relative;
	z-index: 9;
	margin: 0 auto;
	padding: 0 4vw 0 4vw;
	width: fit-content;

	&:before,
	&:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		width: 2.66vw;
		height: 2.133vw;
		background-image: url(../images/parts_qua.svg);
		background-repeat: no-repeat;
		background-size: cover;
	}

	&:before {
		left: 0;
		transform: rotate(180deg);
	}

	&:after {
		right: 0;
	}

	& .h2-S {
		& img {
			height: 4.8vw;
		}
	}

	& span:nth-of-type(2) {
		margin: 0 auto;
	}

	& span.marker {
		position: relative;

		&:after {
			content: "";
			position: absolute;
			left: 0;
			width: 100%;
			height: 5px;
			background-color: #46AAFF;
		}
	}
}

.sec-box h2.fade {
	& .h2-inner span {
		transition: 0.2s;
		opacity: 0;
	}

	& .h2-inner span.marker {
		&:after {
			width: 0%;
			transition: 0.3s 0.3s;
		}
	}

	&.fadeIn {
		& .h2-inner span {
			transition: 0.3s 0.3s;
			opacity: 1;
		}

		& .h2-inner span.marker {
			&:after {
				left: 0;
				width: 100%;
			}
		}
	}
}

.sec-box .area-cv {
	margin: 0 auto;
	padding: 4.266vw 4.266vw;
	box-sizing: border-box;

	& p {
		text-align: center;
		line-height: 2;
		font-weight: 600;
		font-feature-settings: "palt";
		color: #000000;
	}

	&>p {
		margin: 0 0 10.666vw 0;
		line-height: 2;
		font-size: 4.26vw;
	}
}

/* area-cv */

.area-cv .copy {
	& p {
		font-size: 4.8vw;
		color: #1B457C;
	}

	& strong,
	& span {
		padding: 0 0 5px 0;
		font-weight: 600;
		font-size: 6.66vw;

		&.marker {
			display: inline;
			background: linear-gradient(transparent 85%, #46AAFF 85%);
			background-repeat: no-repeat;
			transition: .3s;
		}
	}

	&.fade {

		& strong,
		& span {
			&.marker {
				background-size: 0% 100%;
				transition: background-size 1.5s;
			}
		}

		&.fadeIn {

			& strong,
			& span {
				&.marker {
					background-size: 100% 100%;
				}
			}
		}
	}
}

/* copy */

/* sec-1 ------------- */
.sec-1 {
	padding: 13.33vw 0 0 0;

	& .inner>p {
		/* margin: 0 0 16vw 0; */
		margin: 0 0 13.33vw 0;
		text-align: center;
		line-height: 1.5;
		font-weight: 600;
		font-size: 4.8vw;
		color: #ffffff;
	}

	& ul {
		/* margin: 0 0 10.66vw 0; */
		margin: 0 0 13.33vw 0;
	}

	& li {
		margin: 0 0 8vw 0;
		background-color: #ffffff;

		&:last-of-type {
			margin-bottom: 0;
		}
	}
}

.sec-1 h2 {
	& span img {
		height: 6.1333vw;
	}

	& .h2-eng {
		right: 0;
	}
}

.sec-1 h2 .h2-inner {
	display: flex;
}

.sec-1 .box-img {
	width: 100%;
	height: 65.6vw;
	background-color: #999999;

	& img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
}

.sec-1 .box-text {
	padding: 8vw 5.333vw;
	box-sizing: border-box;

	& h3 {
		margin: 0 0 8vw 0;
		text-align: center;
		font-size: 4.26vw;
		color: #1B457C;
	}

	& p {
		font-size: 1.4rem;
	}
}

.sec-1 .area-cv {
	padding: 13.33vw 0;
	background-color: #EFF6FF;

	& .copy {
		position: relative;
		margin: 0 auto 10.66vw auto;
		padding: 8vw 0;
		width: calc(100% - 5.33vw);

		&::before,
		&:after {
			content: "";
			display: block;
			position: absolute;
			width: 8vw;
			height: 8vw;
			background-image: url(../images/parts_pt-S.svg);
			background-repeat: no-repeat;
			background-size: cover;
		}

		&:before {
			top: 0;
			left: 0;
		}

		&:after {
			bottom: 0;
			right: 0;
			transform: rotate(180deg);
		}
	}
}


.bg-light {
	background-color: #235988;
}

/* sec-2 ------------- */
.sec-2 {
	/* margin-bottom: 10.66vw; */
	margin-bottom: 13.33vw;
	padding: 6.66vw 0 0 0;
}

.sec-2 h2 {
	& .h2-inner {
		& span {
			&:first-of-type {
				margin: 0 0 2.66vw 0;
			}
		}
	}

	& span img {
		height: 6.1333vw;
	}

	& .h2-eng {
		left: 0;
		filter: invert(10%) sepia(21%) saturate(5106%) hue-rotate(196deg) brightness(99%) contrast(100%);
	}
}

.sec-2 h3 {
	display: flex;
	align-items: center;
	position: absolute;
	top: 7.466vw;
	z-index: 9;
	padding: 0 0 0 24vw;
	box-sizing: border-box;
	width: 100%;
	min-height: 13.333vw;
	background: #1B457C;
	background: linear-gradient(90deg, rgba(27, 69, 124, 1) 0%, rgba(36, 33, 66, 1) 100%);

	&:before,
	&:after {
		content: "";
		display: block;
		position: absolute;
	}

	&:before {
		left: -4vw;
		width: 4vw;
		height: 100%;
		background-color: #1B457C;
	}

	&:after {
		left: -4vw;
		bottom: -4vw;
		width: 0;
		height: 0;
		border-width: 0 4vw 4vw 0;
		border-color: transparent #052146 transparent transparent;
		border-style: solid;
		display: inline-block;
	}

	& span {
		/* position: absolute;
		top: 50%;
		transform: translateY(-50%); */
		font-size: 2.5rem;
		color: #ffffff;
	}

	& span.num {
		position: absolute;
		left: 1.33vw;
		top: -0.533vw;
		transform: unset;

		& img {
			height: 10.66vw;
			width: auto;
		}
	}
}

.sec-2 .box-point {
	position: relative;
	margin: 0 0 10.666vw 0;

	&:last-of-type {
		margin-bottom: 0;
	}

	&.point-3 {
		& h3 span {
			font-feature-settings: "palt";
			font-size: 2.0rem;
		}
	}

	& .wrap {
		background-color: #ffffff;
	}

	& .text {
		position: relative;
		z-index: 9;
		padding: 29.333vw 4vw 34.666vw 4vw;
	}

	& h4 {
		margin: 0 0 8vw 0;
		line-height: 1.5;
		font-size: 2rem;
		font-feature-settings: "palt";
		color: #1B457C;
	}

	& .box-img {
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 89.333vw;

		&:before {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			right: 0;
			left: 0;
			z-index: 1;
			width: 100%;
			height: 100%;
			background: #ffffff;
			background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
		}

		& img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			opacity: .5;
		}
	}
}




/* sec-3 ------------- */
.sec-3 {
	margin-bottom: 0;
	padding: 0 0 87.4666vw 0;

	& .message {
		text-align: center;
		line-height: 1.5;
		font-weight: 600;
		font-size: 5.33vw;
		color: #ffffff;
	}
}

/* sec-3 */

.sec-3 h2 {
	& .h2-inner {
		&>span {
			&:first-of-type {
				margin: 0 auto 2.66vw auto;
			}
		}
	}

	& span img {
		height: 6.1333vw;
	}

	& .h2-S {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 2.66vw !important;
	}

	& .h2-S:nth-of-type(3) {
		margin-bottom: 0 !important;

		& img {
			height: 4vw;
		}
	}

	& .h2-eng {
		right: 0;
		filter: invert(12%) sepia(65%) saturate(1092%) hue-rotate(179deg) brightness(93%) contrast(103%);
	}
}

.sec-3 .area-cv {
	/* margin: 0 0 16vw 0; */
	margin: 0 0 13.33vw 0;
	padding: 0;
	width: 100%;

	& .copy {
		position: relative;

		& p {
			line-height: 2;
			color: #ffffff;
		}

		&:first-of-type {
			margin-bottom: 13.33vw;
		}

		&:last-of-type {
			margin-bottom: 0;
		}
	}

	& .num {
		margin: 0 0 5.33vw 0;
		height: 9.3vw;

		& .cls-1 {
			fill: #46AAFF;
		}

		& svg {
			display: block;
			margin: 0 auto;
			height: 100%;
		}
	}
}

.sec-3 .box-benefits {
	position: relative;
	margin: 0 0 13.33vw 0;
	padding: 10.66vw 4vw;
	background-color: #ffffff;

	&:last-of-type {
		margin-bottom: 13.33vw;
	}

	& .note {
		margin-top: 10.66vw;
		line-height: 1.5;
		font-size: 1.2rem;
	}

	& .item {
		margin: 0 0 13.33vw 0;

		&:last-of-type {
			margin-bottom: 0;
		}
	}

	& h3 {
		margin: 0 0 13.33vw 0;
		text-align: center;
		font-size: 6.4vw;
		color: #052146;
	}

	& h3 span {
		display: inline-block;
		margin: 0 auto;
		padding: 0 1.33vw;
		width: fit-content;
		background-color: #052146;
		font-size: 2.4rem;
		color: #ffffff;
	}

	& .box-ico {
		position: relative;
		margin: 0 auto 8vw auto;
		width: 40vw;
		height: 40vw;
		background-color: #EFF6FF;

		& img {
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			height: 24vw;
		}
	}

	& h4 {
		margin: 0 0 8vw 0;
		text-align: center;
		font-size: 4.8vw;
		color: #1B457C;
	}

	& p {
		font-size: 1.6rem;
	}

	&.benefits-3 {
		& .item:nth-of-type(2) {
			& .box-ico {
				& img {
					height: 13.33vw;
				}
			}
		}
	}
}

.cv-bottom {
	position: relative;
	margin: -71.466vw auto 0 auto;
	padding: 13.33vw 0;
	width: calc(100% - 10.66vw);
	background-color: #EFF6FF;

	&::before,
	&:after {
		content: "";
		display: block;
		position: absolute;
		width: 8vw;
		height: 8vw;
		background-image: url(../images/parts_pt-S.svg);
		background-repeat: no-repeat;
		background-size: cover;
	}

	&:before {
		top: 2.66vw;
		left: 2.66vw;
	}

	&:after {
		bottom: 2.66vw;
		right: 2.66vw;
		transform: rotate(180deg);
	}

	& .area-cv {
		padding: 0;
		width: 100%;
	}

	& .copy p {
		margin: 0 0 8vw 0;
		line-height: 2;
		font-size: 5.33vw;
		color: #1B457C;
	}
}

/* sec-4 ------------- */
.sec-4 {
	/* padding: 20vw 0 0 0; */
	padding: 21.333vw 0 0 0;

	& .h2-eng {
		left: 0;
	}

	& table {
		margin: 0 0 13.33vw 0;
		width: 100%;
	}

	& tr {
		display: block;
		margin: 0 0 5.33vw 0;

		&:last-of-type {
			margin-bottom: 0;
		}
	}

	& th {
		display: block;
		margin: 0 0 1.333vw 0;
		padding: 4vw 0;
		box-sizing: border-box;
		width: 100%;
		background-color: #235988;

		& h3 {
			font-size: 2rem;
			color: #ffffff;
		}

		& h4 {
			font-size: 1.8rem;
			color: #ffffff;
		}
	}

	& td {
		display: block;
		padding: 5.33vw 5.33vw;
		background-color: #EFF6FF;

		& p {
			text-align: center;
			font-weight: 300;
			font-size: 1.4rem;
		}

		& strong {
			font-weight: 300;
			font-size: 1.6rem;
		}
	}

	& .area-schedule {
		position: relative;
		/* margin: 16vw 0 13.33vw 0; */
		margin: 13.33vw 0 13.33vw 0;

		& h3 {
			margin: 0 0 5.33vw 0;
			padding: 4vw 5.33vw;
			background-color: #235988;
			font-size: 2rem;
			color: #ffffff;
		}

		& .wrap:before {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			left: 2.4vw;
			height: calc(100% - 10.66vw - 13.33vw);
			width: 2px;
			background-color: #235988;
		}

		& .note {
			font-size: 1.2rem;
			color: #ffffff;
		}

		& dl {
			position: relative;
			margin: 0 0 6.66vw 0;
			padding: 0 0 0 8.533vw;
		}

		& dt,
		& dt span,
		& dd {
			font-weight: 600;
			color: #ffffff;
		}

		& dt {
			display: flex;
			align-items: center;
			margin: 0 0 4vw 0;
			font-size: 1.4rem;

			&::before {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				border-radius: 50%;
				width: 5.33vw;
				height: 5.33vw;
				background-color: #235988;
			}

			& span {
				display: block;

				&:first-of-type {
					width: 80px;
				}

				&:nth-of-type(2) {
					width: 60px;
				}

				&.small {
					font-size: 1.2rem;
				}
			}
		}

		& dd {
			font-size: 1.4rem;
		}
	}

	& .btn {
		display: block;
		position: relative;
		/* margin: 0 0 16vw 0; */
		margin: 0 0 13.33vw 0;
		width: 100%;
		height: 16vw;
		background: #242142;
		background: linear-gradient(-45deg, rgba(36, 33, 66, 1) 0%, rgba(27, 69, 124, 1) 100%);

		&:after {
			content: "";
			display: block;
			position: absolute;
			bottom: 1.33vw;
			right: 1.33vw;
			width: 0px;
			height: 0px;
			border-style: solid;
			border-width: 0 0 5.33vw 5.33vw;
			border-color: transparent transparent #FFFFFF transparent;
			transform: rotate(0deg);
		}

		& span {
			position: absolute;
			top: 50%;
			left: 2.66vw;
			transform: translateY(-50%);
			font-weight: 600;
			font-size: 1.6rem;
			color: #ffffff;
		}
	}

}

/* area-briefing ----------- */
.sec-4 .area-briefing {
	/* margin: 26.66vw auto 0 auto; */
	margin: 21.333vw auto 0 auto;

	& .wrap-table {
		margin: 0 auto;
		width: 100%;
	}

	& h3 {
		/* margin: 0 0 16vw 0; */
		margin: 0 0 13.33vw 0;
	}

	& h3 span {
		display: block;
		margin: 0 auto;
		width: fit-content;

		& img {
			margin: 0 auto;
			width: auto;
			height: 6.1333vw;

			&:first-of-type {
				margin-bottom: 2.66vw;
			}
		}
	}

	& .wrap-table h3 {
		display: flex;
		align-items: center;
		margin: 0 0 8vw 0;
		height: 21.32vw;
		background-color: #46AAFF;

		& span {
			font-size: 2.0rem;
			color: #FFFFFF;
		}
	}


	& .message {
		margin: 0 0 13.33vw 0;
		text-align: center;
		line-height: 2;
		font-weight: 600;
		font-size: 4.8vw;
		color: #ffffff;

		&:first-of-type .note {
			display: block;
			margin-top: 1em;
			text-align: center !important;
		}
	}

	& .wrap-table:first-of-type {
		margin-bottom: 13.33vw;
	}

	& .briefing {
		margin: 0 0 5.33vw 0;

		& td p {
			text-align: left;
			font-size: 1.6rem;

			& span {
				display: block;
				font-size: 1.4rem;
			}
		}
	}

	& .note {
		font-size: 1.2rem;
		color: #ffffff;
	}

	& .btn-common {
		margin: 13.33vw auto 26.66vw auto;
		/*border: 2px solid #E37878;
			background: #FF4545;
			background: linear-gradient(270deg, rgba(255, 69, 69, 1) 0%, rgba(101, 25, 25, 1) 100%);

			& .arrow {
				&:before {
					background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23FF4545" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
				}
			}*/
	}
}

.sec-4 .area-briefing .flow {
	position: relative;
	margin: 0 0 13.33vw 0;
	padding: 10.66vw 0;
	background-color: #EFF6FF;

	& h3 {
		margin: 0 0 13.33vw 0;
		text-align: center;
		font-size: 6.4vw;
		color: #052146;
	}

	& ul {
		position: relative;
		margin: 0 0 8vw 0;

		&:before {
			content: "";
			display: block;
			position: absolute;
			top: .4rem;
			left: 1.9vw;
			width: 2px;
			height: calc(100% - 1rem);
			background-color: #235988;
		}
	}

	& li {
		position: relative;
		margin: 0 0 8vw 0;
		padding: 0 0 0 6.9333vw;

		&:before {
			content: "";
			display: block;
			position: absolute;
			top: 2px;
			left: 0;
			border-radius: 50%;
			width: 4.26vw;
			height: 4.26vw;
			background-color: #235988;
		}

		&:last-of-type {
			margin-bottom: 0;
		}
	}

	& .ttl {
		display: grid;
		grid-template-columns: 2fr 50px;
		column-gap: 2.66vw;
		margin: 0 0 2.66vw 0;
		font-feature-settings: 'palt';
	}

	& h4 span {
		font-weight: 600;
		font-size: 1.6rem;

		&.small {
			font-size: 1.4rem;
		}
	}

	& .time {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 50px;
		height: 24px;
		background-color: #46AAFF;

		& span {
			font-weight: 600;
			font-size: 1.4rem;
			color: #ffffff;
		}
	}

	& .text p {
		font-size: 1.4rem;
	}

	& .area-img .box-img {
		margin: 0 0 2.66vw 0;
	}

	& .area-img p {
		text-align: center;
		font-size: 1.2rem;
	}
}



/* sec-5 ------------- */
.sec-5 {
	padding: 0 0 13.33vw 0;
	background: #242142;
	background: linear-gradient(90deg, rgba(36, 33, 66, 1) 0%, rgba(27, 69, 124, 1) 100%);

	& .note {
		margin: 0 0 6.4vw 0;
		line-height: 1.5;
		font-size: 1.4rem;
		color: #ffffff;
	}
}

.sec-5 h2 .h2-eng {
	right: 0;
	filter: invert(9%) sepia(68%) saturate(2116%) hue-rotate(198deg) brightness(91%) contrast(98%);
}

.sec-5 .list-teacher {
	display: flex;
	flex-wrap: wrap;
}

.sec-5 .list-teacher li {
	margin: 0 calc(100% - (41.333vw * 2)) 5.33vw 0;

	&:nth-of-type(even) {
		margin-right: 0;
	}

	&:last-of-type {
		margin-bottom: 0;
	}

	& svg {
		width: 41.333vw;
		height: 55.2vw;
	}

	& .gradation {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		fill: url(#SVGID_1);
	}
}

.sec-5 .box-item {
	position: relative;

	& p {
		position: absolute;
		right: 1.33vw;
		bottom: 1.33vw;
		z-index: 9;
	}

	& span {
		display: block;
		text-align: right;
		font-weight: 600;
		font-feature-settings: "palt";
		color: #ffffff;

		&.title {
			font-size: 1rem;
		}

		&.name {
			font-size: 1.4rem;
		}
	}

}

/* sec-6 ------------- */
.sec-6 {
	margin-bottom: 26.66vw;
}

.sec-6 .box-voice {
	position: relative;
	margin: 0 0 10.66vw 0;
}

.sec-6 .box-voice .box-img {
	position: relative;
	margin: 0 auto 13.33vw auto;
	padding: 0 0 2.66vw 0;

	&:before {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		right: 0;
		width: 98.666vw;
		height: 66.666vw;
		clip-path: polygon(0 100%, 100% 0, 100% 100%);
		background: linear-gradient(-135deg, rgba(27, 69, 124, 1) 0%, rgba(36, 33, 66, 1) 100%);
		transform: rotate(0deg);
	}

	& .img {
		position: relative;
		margin: 0 auto 5.33vw auto;
		width: 58.666vw;
		height: 58.666vw;
		background-color: #efefef;
	}
}

.sec-6 .box-voice:nth-of-type(even) .box-img {
	&:before {
		transform: rotate(0deg) scale(-1, 1);
	}
}

.sec-6 .box-voice .nameTitle {
	position: relative;
	margin: 0 0 1.5em 0;
	line-height: 1.5;
	font-size: 1.2rem;

	& .name {
		display: block;
		margin: 0 0 2.66vw 0;
		font-weight: 600;
		font-size: 1.8rem;
		color: #ffffff;
	}
}

.sec-6 .box-voice .profile {
	position: relative;
	line-height: 1.75;
	font-size: 1.4rem;
}

.sec-6 .box-voice .box-text {
	position: relative;
	padding: 8vw 0;

	&::before,
	&:after {
		content: "";
		display: block;
		position: absolute;
		width: 8vw;
		height: 8vw;
		background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="%231B457C" class="cls-1" d="m3,36c-1.66,0-3-1.34-3-3V0h33c1.66,0,3,1.34,3,3s-1.34,3-3,3H6v27c0,1.66-1.34,3-3,3Z"/></svg>');
		background-repeat: no-repeat;
		background-size: cover;
	}

	&:before {
		top: 0;
		left: 0;
	}

	&:after {
		bottom: 0;
		right: 0;
		transform: rotate(180deg);
	}

	& p {
		margin: 0 0 1.5em 0;

		&:last-of-type {
			margin-bottom: 0;
		}
	}
}

.sec-6 .box-voice h3 {
	margin: 0 0 8vw 0;
	text-align: center;
	font-size: 2rem;
	color: #46AAFF;
}

.sec-6 .box-voice p {
	margin: 0 0 0 0;
	color: #ffffff;
}

.sec-6 .area-video {
	margin: 0 auto;
	height: 50.133vw;
	background-color: #efefef;
}

.sec-join {
	padding: 13.33vw 0;
	background: #1B457C;
	background: linear-gradient(-45deg, rgba(27, 69, 124, 1) 0%, rgba(36, 33, 66, 1) 100%);

	& .area-cv {
		position: relative;
		padding: 13.33vw 0;
		background-color: #ffffff;

		&::before,
		&:after {
			content: "";
			display: block;
			position: absolute;
			width: 8vw;
			height: 8vw;
			background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="%23235988" class="cls-1" d="m3,36c-1.66,0-3-1.34-3-3V0h33c1.66,0,3,1.34,3,3s-1.34,3-3,3H6v27c0,1.66-1.34,3-3,3Z"/></svg>');
			background-repeat: no-repeat;
			background-size: cover;
		}

		&:before {
			top: 2.133vw;
			left: 2.133vw;
		}

		&:after {
			bottom: 2.133vw;
			right: 2.133vw;
			transform: rotate(180deg);
		}

		& p {
			line-height: 1.5;
			font-size: 6.66vw;
		}

		& .text-big>span {
			color: #1B457C;
		}

		& p.red {
			margin: calc(13.33vw - 6.66vw) 0;
			color: #FF3B3B;
		}
	}
}

/* sec-7 ------------- */
.sec-7 {
	margin-bottom: 0;
	/* padding: 0 0 26.66vw 0; */
	padding: 0 0 21.333vw 0;

	& .open {
		& .head:after {
			transform: translateY(-50%) rotate(90deg);
		}

		& .inner-text {
			visibility: visible;
			padding-top: 5.33vw;
			padding-bottom: 5.33vw;
			height: 100%;
		}
	}

	& .head {
		position: relative;
		padding: 5.33vw 17.333vw 5.33vw 5.33vw;
		background-color: #235988;

		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 50%;
			right: 5.33vw;
			transform: translateY(-50%);
			width: 4.26vw;
			height: 5.8666vw;
			background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23FFFFFF" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
			transition: .3s;
		}

		& p {
			line-height: 1.5;
			font-weight: 600;
			font-size: 1.8rem;
			color: #ffffff;
		}

	}

	& .text {
		transition: .3s;
	}

	& .inner-text {
		visibility: hidden;
		padding: 0 5.33vw;
		height: 0;
		background-color: #EFF6FF;
		transition: .3s;

		& p {
			font-size: 1.6rem;
		}

		& a {
			color: #46AAFF;
		}
	}
}

.sec-7 .wrap-faq {
	margin: 0 0 2.66vw 0;
}

/* sec-8 ------------- */
.sec-8 {
	margin-bottom: 0;
	position: relative;

	&:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 98.666vw;
        height: 66.666vw;
        clip-path: polygon(0 100%, 100% 0, 100% 100%);
        background: linear-gradient(-135deg, rgba(27, 69, 124, 1) 0%, rgba(36, 33, 66, 1) 100%);
        transform: rotate(180deg) scaleX(-1);
    }

	&.sec-box h2 {
        margin-bottom: 13.3333vw;
        padding-top: 13.3333vw;
    }

	& .area-video {
		display: flex;
		justify-content: space-evenly;
		flex-direction: column;

		& .wrapper-video{

			&:first-of-type {
				margin-bottom: 8vw;
			}

			& p {
				margin-top: 20px;
				color: #fff;
				font-size: 1.6rem;
        		font-weight: 600;
			}

			& iframe {
				width: 89.3333vw;
				height: 50.3173vw;
				z-index: 1;
                position: relative;
			}
		}
	}

	&  .link-under {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		margin: 13.3333vw auto 0 auto;;
		width: 89.3333vw; 
		height: 18.6666vw; 
		background: #C7C7C7;
		background: linear-gradient(90deg, rgba(27, 69, 124, 1) 0%, rgba(70, 170, 255, 1) 100%);
		transition: .3s;

			&:hover {
				transform: translateY(1px);
				background: rgba(70, 170, 255, 1);
				opacity: 0.8;

					&:after {
						bottom: 0px;
						right: 0px;
					}
			}

		    &:after {
				content: "";
				display: block;
				position: absolute;
				bottom: 1.3333vw;
				right: 1.3333vw;
				width: 0px;
				height: 0px;
				border-style: solid;
				border-width: 0 0 20px 20px;
				border-color: transparent transparent #FFFFFF transparent;
				transform: rotate(0deg);
				transition: .3s;
			}

		    & span {
				display: block;
				line-height: 1.5;
				font-size: 1.8rem;
				font-weight: 600;
				color: #ffffff;
			}
	}
}

.sec-8 .box-candidate {
    position: relative;
	padding-bottom: 21.2799vw;

	&:before {
		content: none;
	}
}



/* area-modal------------------------------- */
.area-modal {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 999;
}

.area-modal .sec-modal {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 999;
	padding: 9.33vw 0;
	width: 100%;
	height: 100%;
	overflow-y: scroll;

	& .shadow {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
	}

	& .btn-close {
		position: absolute;
		top: 2.66vw;
		right: 2.66vw;
		z-index: 9999999;
		width: 6.66vw;
		height: 6.66vw;
	}

	& .btn-close span {
		position: absolute;
		margin: 0 auto;
		border-radius: 3px;
		width: 30px;
		height: 3px;
		background-color: #ffffff;
		transition: .3s;

		&:first-of-type {
			top: 50%;
			transform: translateY(-50%) rotate(45deg);
		}

		&:nth-of-type(2) {
			top: 50%;
			transform: translateY(-50%) rotate(-45deg);
		}
	}

	&:has(.area-video) .box-theme {
		margin: 0 0 8vw 0;
	}
}

.area-modal .sec-modal .box-modal {
	position: relative;
	z-index: 99;
	margin: 0 auto;
	padding: 10.66vw 5.33vw;
	width: calc(100% - 10.66vw);
	background-color: #235988;

	& .inner {
		position: relative;
		z-index: 999;
	}

	& .img {
		margin: 0 0 8vw 0;
	}

	& .img svg {
		display: block;
		margin: 0 auto;
		width: 43.4666vw;
	}

	& p,
	span,
	h3 {
		color: #ffffff;
	}
}

.area-modal .sec-modal .box-profile-1 {
	margin: 0 0 8vw 0;

	& .name {
		margin: 0 0 5.33vw 0;
		font-weight: 600;
		font-size: 2rem;

		& span {
			display: block;
			margin: 0 0 3.733vw 0;
			font-weight: 600;
			font-size: 1.4rem;
		}
	}

	& .bio {
		line-height: 1.5;
		font-size: 1.4rem;

		& dl {
			margin: 0 0 2em 0;
		}

		& dt,
		& dd {
			line-height: 1.5;
			font-size: 1.4rem;
			color: #ffffff;
		}

		& dt {
			margin: 0 1em 0 0;
		}

		& li {
			line-height: 1.5;
			font-weight: 300;
			font-size: 1.4rem;
			color: #ffffff;
		}

		& h4 {
			margin-bottom: 2.66vw;
			font-size: 1.4rem;
			color: #ffffff;
		}
	}

	& div.bio {
		margin: 2em 0 0 0;
	}
}

.area-modal .sec-modal .box-profile-2 {
	margin: 0 0 13.33vw 0;

	& .box-text {
		margin-bottom: 5.33vw;

		&:last-of-type {
			margin-bottom: 0;
		}
	}

	& h3 {
		margin: 0 0 4vw 0;
		padding: 6px 13px;
		width: fit-content;
		background-color: #1B457C;

		& span {
			font-size: 1.6rem;
		}
	}

	& p,
	a,
	h4 {
		font-size: 1.2rem;
		color: #ffffff;
	}

	& a {
		text-decoration: underline;
	}
}

.area-modal .sec-modal .box-theme {
	position: relative;
	padding: 4vw 4vw;

	&::before,
	&:after {
		content: "";
		display: block;
		position: absolute;
		width: 4vw;
		height: 4vw;
		background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="%231B457C" class="cls-1" d="m3,36c-1.66,0-3-1.34-3-3V0h33c1.66,0,3,1.34,3,3s-1.34,3-3,3H6v27c0,1.66-1.34,3-3,3Z"/></svg>');
		background-repeat: no-repeat;
		background-size: cover;
	}

	&:before {
		top: 0;
		left: 0;
	}

	&:after {
		bottom: 0;
		right: 0;
		transform: rotate(180deg);
	}

	& h3 {
		margin: 0 0 5.33vw 0;
		line-height: 1.5;
		font-size: 1.8rem;
	}
}

.area-modal .sec-modal .area-video {
	margin: 0 0 8vw 0;

	&:last-of-type {
		margin-bottom: 0;
	}

	& .box-video {
		position: relative;
		margin: 0 auto 5.33vw auto;
		width: 76.8vw;
		height: 43.2vw;

		&.type-vertical {
			width: 76.8vw;
			height: 136.533vw;
		}
	}

	& .box-video video {
		width: 100%;
		height: 100%;
	}

	& .box-video .btn-play {
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);

		& img {
			display: block;
			position: absolute;
			top: 50%;
			right: 0;
			left: 0;
			margin: 0 auto;
			transform: translateY(-50%);
			width: 10.666vw;
			height: 10.666vw;
		}
	}

	& p {
		font-size: 1.6rem;
		font-weight: 600;
		color: #ffffff;
	}
}

#p-25au, #participant-comments {
	background-color: #052146;

	& .bg {
		position: relative;
		z-index: 0;

		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			right: 0;
			left: 0;
			z-index: 0;
			margin: 0 auto;
			width: 100%;
			height: 100%;
			background-image: url(../images/parts_dot.png);
			background-repeat: repeat;
			background-size: 200px;
		}
	}

	& main {
		position: relative;
		z-index: 1;
		background-color: transparent;
	}

	& header {
		position: relative;
		z-index: 9;
		background-color: transparent;
	}

	& header .area-mv .mv {
		background-image: url(../images/25au/MV.jpg);
		background-position: center right -17.0666vw;
	}

	& #payment h2 {
		margin: 0 0 5.33vw 0;
		background-color: #235988;
		text-align: center;
		font-size: 2rem;
		color: #ffffff;
	}

	& #payment h2 span {
		&.small {
			font-size: 1.6rem !important;
		}
	}

	& #payment .sub-h2 {
		margin: 0 0 13.33vw 0;

		& h2 {
			margin: 0 0 1.33vw 0;
			text-align: left;
			line-height: 1.75;
		}

		& h2 span {
			padding: 5px;
			background-color: #FFFFFF;
			font-size: 2rem;
			color: #052146;
		}

		& p.small {
			text-align: right;
			font-size: 1.2rem;
		}
	}

	& #payment .pay-area:last-of-type {
		margin: 13.33vw 0 0 0;
	}

	& #payment .pay-area h3 {
		display: flex;
		align-items: center;
		margin: 0 0 4vw 0;
		height: 10.66vw;
		text-align: center;
		background-color: #052146;

		& span {
			display: block;
			margin: 0 auto;
			font-size: 1.8rem;
			color: #FFFFFF;
		}
	}

	& #payment .pay-area table {
		border-spacing: 1px 1px;
		border-collapse: separate;
		width: 100%;
	}


	& #payment .pay-area th {
		padding: 1.33vw 0;
		background-color: #1B457C;
	}

	& #payment .pay-area h4 {
		font-size: 1.6rem;
		color: #FFFFFF;
	}

	& #payment .pay-area .bg-none th {
		padding: 0 0 1.33vw 0;
		background-color: transparent;
	}

	& #payment .pay-area td {
		padding: 1.33vw 0;
		background-color: #EFF6FF;
	}

	& #payment .pay-area p {
		text-align: center;
		font-size: 1.5rem;
		color: #000000;
	}

	& #payment .note {
		margin: 8vw 0 0 0;
	}

	& #payment .note li {
		margin: 0 0 1.33vw 0;
		font-size: 1.2rem;
		color: #FFFFFF;
	}

	& #payment .note li:last-of-type {
		margin-bottom: 0;
	}

	/*#p-25au*/
}

/* 追加ページ分============= */
.page-under .sec-intro {
	padding: 80px 0 0 0;

	& h2 {
		padding-top: 8vw !important;
		margin-bottom: clamp(50px, 6.666vw, 80px);

		& .h2-eng {
			right: 0;
		}

		& .h2-inner span:first-of-type {
			margin-bottom: 10px;
		}

		& .h2-inner span {
			transition: .3s;
			opacity: 0;
		}

		&.fadeIn .h2-inner span {
			opacity: 1;
		}
	}

	& .box-img {
		margin: 0 auto 13.33vw auto;
		max-width: 323px;
		width: 53.3333vw;
	}

	& .box-text p {
		color: #FFFFFF;

		&.name {
			margin-top: 30px;
			text-align: right;
		}
	}
}

.page-under .area-cv {
	position: relative;
	padding: 21.333vw 0;
	width: 100%;
	background-color: #EFF6FF;

	&:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-image: url(../images/MV.jpg);
		background-repeat: no-repeat;
		background-position: 20% 40%;
		background-size: 1920px;
		opacity: 0.2;
	}

	& .inner {
		position: relative;
		z-index: 1;
	}

	& .copy p {
		text-align: center;
		line-height: 2;
		font-weight: 600;
		font-size: clamp(1.8rem, 2.4vw, 2.5rem);
	}

	& .copy strong {
		font-size: clamp(2.5rem, 3.33vw, 3rem);
	}
}

.page-under .sec-box {
	position: relative;
}

.page-under .sec-box h2 {
	position: relative;
	padding: 5.33vw 0 0 0;
	width: 100%;
	text-align: center;

	& span,
	& svg {
		display: block;
	}

	& .num-hide {
		display: none;
	}

	& .num {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		z-index: 1;
		margin: 0 auto;
		transform: translateY(50px);
		opacity: 0;
		transition: .3s;

		& svg {
			width: 17.6vw;
			max-height: 60px;
			height: 10.66vw;
		}
	}

	& .cls-1 {
		fill: #46AAFF;
	}

	& .small {
		font-size: clamp(2rem, 2.6666vw, 3rem);
		color: #ffffff;
	}

	& .text {
		padding: 13.33vw 0 8vw 0;
		margin: 0 auto;
		width: 100%;
		background-color: #235988;
		font-size: clamp(3rem, 4vw, 4rem);
		font-feature-settings: "palt";
		letter-spacing: 0.02em;
		color: #ffffff;
		opacity: 0;
		transition: 0.3s;
	}

	&.fadeIn {
		& .text {
			opacity: 1;
		}

		& .num {
			opacity: 1;
			transform: translateY(0);
		}
	}
}

.page-under .sec-box .text-mono {
	margin: 0 0 13.33vw 0;
	text-align: center;
	line-height: 2;
	font-size: 1.6rem;
	color: #FFFFFF;

	&:last-of-type {
		margin-bottom: 0;
	}

	& strong {
		font-size: clamp(1.8rem, 2.4vw, 2rem);
	}
}

.page-under .sec-box h3 {
	margin-bottom: 13.33vw;
}

.page-under .sec-box h3 span {
	display: block;
	text-align: center;
	line-height: 1.5;
	font-size: clamp(2.5rem, 3.333vw, 3.5rem);
	font-feature-settings: "palt";
	letter-spacing: 0.02em;
	color: #E3C978;
}


.page-under .sec-1 h3 {
	margin-bottom: 32vw;
}

.page-under .sec-1 li {
	position: relative;
	margin: 0 auto 26.66vw auto;
	padding: 18.666vw 5.33vw 16vw 5.33vw;

	&:last-of-type {
		margin-bottom: 0;
	}
}

.page-under .sec-1 li .box-img {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -18.666vw;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 37.3333vw;
	height: 37.3333vw;
	background-color: #EDEDED;

	& span {
		display: block;
		width: 26.66vw;
	}
}

.page-under .sec-1 li h4 {
	margin: 10.6vw 0 8vw 0;
	text-align: center;
	font-size: 2.5rem;
	color: #1B457C;
}

.page-under .sec-1 .top {
	padding: 0 0 8vw 0;
	border-bottom: 2px solid #9D9C9F;
}

.page-under .sec-1 .under {
	position: relative;
	padding: calc(16vw + 8vw) 0 0 0;

	&:before {
		content: "";
		display: block;
		position: absolute;
		top: -1px;
		right: 0;
		left: 0;
		margin: 0 auto;
		width: 15.2vw;
		height: 16vw;
		background-image: url(../images/parts_arrow-2.svg);
		background-repeat: no-repeat;
		background-size: contain;
	}

	& p {
		font-weight: 600;
	}
}

.page-under .sec-2 h2 {
	& .text {
		font-size: clamp(2.5rem, 4vw, 4rem);

		& span {
			display: inline;
		}
	}
}

.page-under .sec-2 {
	margin-bottom: 21.333vw;
}

.page-under .sec-2 h3 {
	display: block;
	position: static;
	padding: 0;
	min-height: auto;
	background: transparent;
	text-align: center;

	&:before,
	&:after {
		content: none;
	}
}

.page-under .sec-2 ul {
	margin: 0 0 13.33vw 0;
}

.page-under .sec-2 li {
	margin: 0 0 13.33vw 0;
	padding: 0 0 13.33vw 0;
	border-bottom: 1px solid #235988;

	&:last-of-type {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: 0;
	}

	& h4,
	& p {
		color: #ffffff;
	}
}

.page-under .sec-2 li h4 {
	margin: 0 0 8vw 0;
	line-height: 1.5;
	font-size: clamp(2.0rem, 2.6666vw, 2.5rem);

	& span {
		display: block;
		margin: 0 0 5.33vw 0;
		font-size: 1.6rem;
		color: #46AAFF;
	}

}

.page-under .sec-2 li .box-img {
	margin: 0 0 8vw 0;
}

.page-under .sec-3 {
	padding-bottom: 0;
}

.page-under .sec-3 ul {
	margin-bottom: 13.33vw;
}

.page-under .sec-3 li {
	margin: 0 0 8vw 0;
	border: 3px solid #46AAFF;
	background-color: #EFF6FF;

	&:last-of-type {
		margin-bottom: 0;
	}
}

.page-under .sec-3 li h4 {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 0 0 5.33vw;
	height: 18.666vw;
	background-color: #46AAFF;

	& span {
		font-size: clamp(2.0rem, 2.4vw, 2.5rem);
		color: #FFFFFF;
	}

	& .ico {
		position: absolute;
		top: 5px;
		right: 5px;
		height: 16vw;
		opacity: .2;

		& img {
			width: auto;
			height: 100%;
		}
	}

	& .num {
		position: relative;
		margin: 0 4vw 0 0;
		padding: 0 4vw 0 0;

		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 50%;
			right: 0;
			transform: translateY(-50%);
			width: 1px;
			height: 12.8vw;
			background-color: #FFFFFF;
		}
	}
}

.page-under .sec-3 li .box-text {
	padding: 5.33vw 5.33vw;
	text-align: center;
}

.page-under .sec-4 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 13.33vw 0;
}

.page-under .sec-4 li {
	margin: 0 0 8vw 0;
	width: 42.1333vw;

	&:nth-of-type(3),
	&:nth-of-type(4) {
		margin-bottom: 0;
	}
}

.page-under .sec-4 li h4 {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	margin: 0 0 8vw 0;
	width: 42.1333vw;
	height: 42.1333vw;
	background: #1B457C;
	background: linear-gradient(180deg, rgba(27, 69, 124, 0.5) 0%, rgba(70, 170, 255, 0.5) 100%);
	text-align: center;

	& span {
		display: block;
		font-size: clamp(1.8rem, 2.1333vw, 2.5rem);
		color: #FFFFFF;
	}
}

.page-under .sec-4 li p {
	text-align: center;
	font-size: clamp(1.4rem, 1.8666vw, 1.6rem);
	color: #FFFFFF;

	& a {
		color: #46AAFF;
	}
}

.page-under .sec-5 {
	padding: 0;
	margin-bottom: 21.333vw;
	background: transparent;
}

.page-under .sec-5 li {
	display: flex;
	justify-content: center;
	margin: 0 0 8vw 0;

	& h4,
	& p,
	& span {
		color: #FFFFFF;
	}
}

.page-under .sec-5 li h4 {
	margin: 0 5.33vw 0 0;
	padding: 0 5.33vw 0 0;
	border-right: 1px solid #FFFFFF;
	width: fit-content;
	height: fit-content;
	text-align: center;
	font-size: 3.0rem;

	& span {
		display: block;
		margin: 0 0 0px 0;
		font-size: 1.6rem;
	}
}

.page-under .sec-5 li div {
	width: 72vw;
}

.page-under .btn-back {
	margin-bottom: 21.333vw;
}

/* 受講者の声 個別ページ ------------- */
#participant-comments {
	& iframe {
		width: 89.3333vw;
    	height: 50.1333vw;
	}

	& .inner-describe {
		background-color: #EFF6FF;
		margin-top: 1.3333vw;
		padding: 5.3333vw;
	}

	& h3 {
		font-size: 4.2666vw;
        font-weight: 300;
		margin-bottom: 4.2666vw;
	}

	& p {
		font-size: 3.2vw;
		line-height: 1.5;
		text-align: right;
		color: #1B457C;
	}
	& p span{
		font-size: 3.2vw;
	}
	
	& .inner-youTube:not(last-of-type) {
		margin-bottom: 5.3333vw;
	}

		& .wrapper-vid {
		position: relative;
	}
}


/* ==================================
PC版 ここから min-width:641px
===================================== */
@media screen and (min-width: 768px) {

	/* 共通スタイル------------------------------- */
	* {
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", Meiryo, "小塚ゴシック Pr6N", osaka, sans-serif;
	}

	p,
	span,
	a {
		font-weight: 400;
	}

	/* only_pc/sp ------------- */
	.only_sp {
		display: none;
	}

	.only_pc {
		display: block;
	}
	
	span.only_pc {
		display: inline;
	}

	/* ボタン共通 ------------- */
	.btn-common {
		height: 70px;
		transition: .3s;

		& .arrow {
			width: 50px;
			height: 50px;
			transition: .3s;

			&:before {
				width: 19px;
				height: 30px;
				transition: .3s;
			}
		}

		&:hover {
			background: rgba(255, 69, 69, .5);
			transform: translateY(1px);
			opacity: 0.9;

			& .arrow {
				background: #FF4545;

				&:before {
					background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23FFFFFF" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
					transition: .3s;
				}
			}
		}

		&.close:hover {
			opacity: 1;
			border: 2px solid #999999;
			transform: translateY(0px);
			background: #C7C7C7;
			background: linear-gradient(190deg, rgba(199, 199, 199, 1) 0%, rgba(79, 79, 79, 1) 100%);

			& .arrow {
				background: #FFFFFF;
			}

			& .arrow:before {
				background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23555555" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
			}
		}

		&.close:hover {
			opacity: 1;
			border: 2px solid #999999;
			transform: translateY(0px);
			background: #C7C7C7;
			background: linear-gradient(190deg, rgba(199, 199, 199, 1) 0%, rgba(79, 79, 79, 1) 100%);

			& .arrow {
				background: #FFFFFF;
			}

			& .arrow:before {
				background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23555555" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
			}
		}
	}

	.area-briefing .btn-common,
	.area-mv .btn-common {
		&:hover {
			background: linear-gradient(90deg, rgba(227, 201, 120, 0.5) 0%, rgba(227, 201, 120, 0.5) 100%);

			& .arrow {
				background: #E3C978;
			}
		}

		&.close:hover {
			opacity: 1;
			border: 2px solid #555555;
			background: #C7C7C7;
			background: linear-gradient(190deg, rgba(199, 199, 199, 1) 0%, rgba(79, 79, 79, 1) 100%);

			& .arrow {
				background: #FFFFFF;
			}

			& .arrow:before {
				background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23555555" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
			}
		}
	}

	.btn-common.gold {
		&:hover {
			background: linear-gradient(90deg, rgba(227, 201, 120, 0.5) 0%, rgba(227, 201, 120, 0.5) 100%);
			transform: translateY(1px);
			opacity: 0.9;

			& .arrow {
				background: #E3C978;
			}
		}
	}

	/* header/footer ------------- */
	header {
		position: relative;
	}

	header .catch {
		position: static;
		margin: 0 0 102px 0;
		max-width: 524px;

		& span {
			display: block;
			margin: 0;

			&.h1-L {
				margin-bottom: 25px;
				max-height: 150px;
				height: 11.718vw;
			}

			&.h1-S {
				display: flex;
				margin: 0 0 0 0;

				& img {
					max-height: 24px;
					height: 1.875vw;
				}

				& img:first-of-type {
					margin-bottom: 0;
				}
			}
		}
	}

	header .area-text {
		position: absolute;
		bottom: 5px;
		left: 36.093vw;
		z-index: 9;
		max-width: 533px;

		& .copy {
			margin: 0 0 0 auto;
			width: 100%;
			text-align: right;
		}

		& .btn-common {
			position: relative;
			right: auto;
			left: auto;
			bottom: auto;
			margin: 0 auto 40px auto;
		}
	}

	header h1 {
		position: static;
		margin-bottom: 40px;
		width: fit-content;

		&>span {
			display: block;
			width: fit-content;

			&:after {
				content: unset;
			}
		}

		& img {
			margin: 0;
			max-height: 152px;
			height: 11.875vw;
		}
	}

	header .area-mv {
		margin: 0 0 0 auto;
		width: calc(100% - 140px);
		height: auto;
		min-height: 700px;

		& .mv {
			background-position: left 21% top 10%;
		}
	}

	header .area-mv .link-under {
		margin: 40px auto 0 0;
		max-width: 430px;
		width: 100%;
		max-height: 70px;
		transition: .3s;

		&:after {
			bottom: 5px;
			right: 5px;
			transition: .3s;
		}

		& span {
			font-size: 2.2rem;
		}
	}

	header .area-mv .link-under:hover {
		transform: translateY(1px);
		background: rgba(70, 170, 255, 1);
		opacity: 0.8;

		&:after {
			bottom: 0px;
			right: 0px;
		}
	}


	header .area-video {
		position: absolute;
		/* left: calc(10.9375vw + 7.8125vw); */
		left: calc(140px + 30px);
		bottom: 20px;
		padding: 0;
	}

	header .area-video a {
		transition: .3s;

		&:hover {
			transform: translateY(1px);
			filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.8));

			.thum::before {
				background-color: rgba(0, 0, 0, 0);
			}

			.thum .cls-1 {
				fill: #fff;
			}

			.thum .cls-2 {
				fill: none;
			}
		}
	}

	header .area-video .thum::before,
	header .area-video .thum .cls-1,
	header .area-video .thum .cls-2 {
		transition: .3s;
	}

	header .area-video .thum span {
		max-width: 240px;
		width: 100%;
		max-height: 147px;
		height: 100%;
	}

	header .area-video p {
		height: 46px;
	}

	footer {
		& .inner {
			margin: 0 auto;
			padding: 43px 0;
			max-width: 1000px;
		}

		& ul {
			justify-content: space-between;
			margin: 0 0 0 auto;
			/* max-width: 568px; */
			max-width: 750px;
			padding: 0;
		}

		& li {
			margin-bottom: 0;
			width: fit-content;

			&:last-of-type {
				margin-bottom: 0;
			}
		}

		& li a {
			transition: .3s;

			&:hover {
				color: #46AAFF;
			}
		}

		& .bottom {
			& small {
				padding: 13px 0;
			}
		}
	}

	/* メニュー ------------- */
	nav {
		position: fixed;
		top: 0%;
		left: 0;
		right: auto;
		width: 140px;
		/* min-height: 800px; */
		height: 100dvh;

		& .area-menu {
			position: static;
			right: auto;
			margin: auto;
			max-width: 194px;
			width: auto;
			height: auto;
		}

		& .area-menu.open {
			position: static;
		}

		& ul {
			max-width: none;
		}

		& li {
			margin-bottom: 30px;
		}

		& a {
			padding: 0 0 0 2.031vw;
			transition: .3s;

			&:hover {
				color: #46AAFF;
			}
		}

		& .shadow {
			display: none;
		}

		& .btn {
			display: none;
		}

		& .scroll {
			&:before {
				max-height: 100px;
				height: 11.111vh;
			}

			&.hidden {
				display: none;
			}
		}
	}

	/* nav */

	main {
		& .page-top {
			transition: .3s;

			&:hover {
				transform: translateY(1px);
				filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.5));
			}
		}

		& .area-btn {
			padding: 65px 0 65px 0;
			background-color: #113361;

			& a:hover {
				background: linear-gradient(90deg, rgba(227, 201, 120, 0.5) 0%, rgba(227, 201, 120, 0.5) 100%);

				& .arrow {
					background: #E3C978;
				}

				& .arrow:before {
					background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23FFFFFF" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
				}
			}
		}
	}

	/* sec-box共通 ------------- */
	.sec-box {
		margin-bottom: 120px;

		& .inner {
			margin: 0 auto 0 auto;
			max-width: 1000px;
			width: 100%;
		}
	}

	/* sec-box */
	.sec-box h2 {
		/* margin-bottom: 60px; */
		margin-bottom: 80px;
		padding-top: 70px;

		& span {
			& img {
				height: 50px;
			}
		}

		& .h2-eng {
			height: 120px;
		}
	}

	.sec-box h2 .h2-inner {
		padding: 0 60px 0 60px;

		&:before,
		&:after {
			width: 30px;
			height: 22px;
		}

		& .h2-S {
			& img {
				height: 35px;
			}
		}
	}

	.sec-box .area-cv {
		margin: 0 auto 0 auto;
		padding: 60px 60px;
		max-width: 835px;
		width: 100%;

		&>p {
			margin-bottom: 50px;
			font-size: 2rem;
		}
	}

	/* area-cv */
	.sec-box .copy {
		& p {
			font-size: 2.5rem;
		}

		& strong,
		& span {
			font-size: 3rem;
		}
	}

	/* sec-1 ------------- */
	.sec-1 {
		padding-top: 50px;

		& .h2-eng {
			right: 0;
		}

		& .inner>p {
			margin-bottom: 80px;
			line-height: 2;
			font-size: 2.5rem;
		}

		& ul {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin-bottom: 80px;
		}

		& li {
			margin-bottom: 0;
			max-width: 317px;
			width: 33%;
		}
	}

	.sec-1 .box-img {
		max-height: 232px;
		height: auto;

		& img {
			width: 100%;
			height: 100%;
		}
	}

	.sec-1 .box-text {
		padding: 30px 30px;

		& p {
			font-size: 1.6rem;
		}

		& h3 {
			margin-bottom: 30px;
			font-size: 1.8rem;
		}
	}

	.sec-1 .area-cv {
		padding: 60px 60px;

		& .copy {
			margin-bottom: 50px;
			padding: 30px 0;
			width: 100%;

			&::before,
			&:after {
				content: "";
				display: block;
				position: absolute;
				width: 30px;
				height: 30px;
				background-image: url(../images/parts_pt-S.svg);
				background-repeat: no-repeat;
				background-size: cover;
			}

			&:before {
				top: 0;
				left: 0;
			}

			&:after {
				bottom: 0;
				right: 0;
				transform: rotate(180deg);
			}
		}
	}

	/* sec-2 ------------- */
	.sec-2 {
		/* margin-bottom: 50px; */
		margin-bottom: 80px;
		padding-top: 30px;
	}

	.sec-2 .h2-inner {
		& span {
			&:first-of-type {
				margin-bottom: 20px;
			}
		}
	}

	.sec-2 .box-point {
		margin-bottom: 50px;

		/* &.point-1{
		& h3{
			max-width: 365px;
		}
	}
	&.point-2{
		& h3{
			max-width: 469px;
		}
	} */
		&.point-3 {

			/* & h3{
			max-width: 540px;
		} */
			& h3 span {
				font-feature-settings: unset;
				font-size: 3.5rem;
			}
		}

		& h4 {
			margin-bottom: 30px;
			font-size: 2.5rem;
		}

		& .text {
			padding: 141px 0 60px 43px;
			width: 100%;

			& p {
				font-size: 1.8rem;
			}
		}

		& .box-img {
			right: 0;
			max-width: 509px;
			height: 100%;

			&:before {
				width: 100%;
				height: 100%;
				background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
			}
		}
	}

	.sec-2 h3 {
		top: 40px;
		z-index: 9;
		padding-left: 135px;
		padding-right: 20px;
		width: fit-content;
		min-height: 61px;

		&:before {
			left: -15px;
			width: 15px;
		}

		&:after {
			left: -15px;
			bottom: -15px;
			border-width: 0 15px 15px 0;
		}

		& span {
			font-size: 3.5rem;
		}

		& span.num {
			position: absolute;
			left: 20px;
			top: -12px;
			transform: unset;

			& img {
				height: 60px;
				width: auto;
			}
		}
	}


	/* sec-3 ------------- */
	.sec-3 {
		margin-bottom: 0 !important;
		/* padding-bottom: 348px; */
		padding-bottom: 305px;

		& .message {
			font-size: 3rem;
		}
	}

	/* sec-3 */

	.sec-3 h2 {
		& .h2-inner {
			& span {
				&:first-of-type {
					margin-bottom: 20px;
				}
			}
		}

		& .h2-eng {
			right: 0;
			filter: invert(12%) sepia(65%) saturate(1092%) hue-rotate(179deg) brightness(93%) contrast(103%);
		}

		& .h2-S {
			margin-bottom: 20px !important;
		}
	}

	.sec-3 .area-cv {
		margin: 0 auto 80px auto;
		padding: 0;
		max-width: unset;
		width: 100%;

		& .copy {

			&::before,
			&:after {
				width: 30px;
				height: 30px;
			}

			&:first-of-type {
				margin-bottom: 80px;
			}
		}

		& .num {
			margin-bottom: 20px;
			height: 50px;
		}
	}

	.sec-3 .box-benefits {
		/* margin-bottom: 50px; */
		margin-bottom: 80px;
		padding: 50px 50px;

		&:last-of-type {
			margin-bottom: 80px;
		}

		& .wrap-flex {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}

		& .note {
			position: absolute;
			right: 10px;
			bottom: 10px;
			margin-top: 0;
		}

		& .item {
			margin-bottom: 0;
			max-width: 425px;
			width: 49%;
		}

		& h3 {
			margin-bottom: 60px;
			font-size: 3.5rem;
		}

		& h3 span {
			display: inline;
			margin: 0;
			padding: 2px 5px;
			font-size: 3.5rem;
		}

		& .box-ico {
			margin-bottom: 30px;
			width: 150px;
			height: 150px;

			& img {
				height: 90px;
			}
		}

		& h4 {
			margin-bottom: 30px;
			font-size: 1.8rem;
		}

		&.benefits-3 {
			& .item:nth-of-type(2) {
				& .box-ico {
					& img {
						height: 51px;
					}
				}
			}
		}
	}

	.cv-bottom {
		margin-top: -228px !important;
		margin-bottom: 0 !important;
		padding: 50px 0;
		max-width: 870px;

		&::before,
		&:after {
			width: 30px;
			height: 30px;
		}

		&:before {
			top: 18px;
			left: 18px;
		}

		&:after {
			bottom: 18px;
			right: 18px;
		}

		& .area-cv {
			padding: 0;
		}

		& .copy p {
			margin-bottom: 60px;
			font-size: 2.5rem;
		}
	}

	/* sec-4 ------------- */
	.sec-4 {
		padding-top: 50px;

		& .h2-eng {
			left: 0;
		}


		& table {
			table-layout: fixed;
			margin: 0 auto 80px auto;
			border-collapse: collapse;
			max-width: 750px;
		}

		& tr {
			border-bottom: 20px solid #052146;
			margin-bottom: 0px;

			&:last-of-type {
				border: 0;
			}
		}

		& th {
			display: table-cell;
			border-right: 20px solid #052146;
			padding: 0;
			width: 160px;
			height: 100%;

			& h4 {
				font-size: 1.8rem;
			}
		}

		& td {
			display: table-cell;
			padding: 20px 20px;
			width: 80%;

			& p {
				text-align: left;
			}
		}

		& .area-schedule {
			/* margin: 83px auto 60px auto; */
			margin: 83px auto 50px auto;
			max-width: 750px;

			& h3 {
				position: relative;
				z-index: 9;
				margin-bottom: 30px;
				padding: 20px 20px;
				width: fit-content;
				font-size: 2.5rem;
			}

			& .wrap:before {
				left: 9px;
				height: calc(100% - 65px);
			}

			& .note {
				text-align: right;
				font-size: 1.4rem;
			}

			& dl {
				display: flex;
				flex-wrap: wrap;
				align-items: start;
				margin-bottom: 28px;
				padding-left: 30px;
			}

			& dt {
				margin: 0 20px 0 0;
				font-size: 1.6rem;

				&::before {
					width: 20px;
					height: 20px;
				}

				& span {
					&:first-of-type {
						width: 80px;
					}

					&:nth-of-type(2) {
						width: 50px;
					}

					&.small {
						font-size: 1.2rem;
					}
				}
			}

			& dd {
				width: calc(100% - 235px);
				font-size: 1.6rem;
				font-feature-settings: 'palt';
			}
		}

		& .btn {
			/* margin: 0 auto 60px auto; */
			margin: 0 auto 80px auto;
			max-width: 466px;
			max-height: 60px;
			transition: .3s;

			&:after {
				bottom: 10px;
				right: 10px;
				border-width: 0 0 20px 20px;
			}

			& span {
				left: 30px;
				font-size: 2rem;
			}

			&:hover {
				transform: translateX(5px);
			}
		}
	}

	/* area-briefing ----------- */
	.sec-4 .area-briefing {
		margin-top: 120px;
		width: calc(100% - 10.66vw);

		& h3 {
			/* margin: 0 auto 60px auto; */
			margin: 0 auto 80px auto;
		}

		& h3 span {
			display: flex;
			flex-wrap: wrap;
			margin: 0 auto;
			width: fit-content;

			& img {
				height: 35px;

				&:first-of-type {
					margin-bottom: 0;
				}
			}
		}

		& .wrap-table h3 {
			margin-bottom: 50px;
			height: 50px;

			& span {
				font-size: 2.0rem;
			}
		}

		& .message {
			/* margin-bottom: 60px; */
			margin-bottom: 80px;
			font-size: 2rem;
		}

		& .wrap-table {
			max-width: 730px;

			&:first-of-type {
				margin-bottom: 80px;
			}
		}

		& .briefing {
			margin: 0 auto 20px auto;

			& td p {
				& span {
					display: inline;
				}
			}
		}

		& .note {
			text-align: right;
			font-size: 1.4rem;
		}

		& .btn-common {
			margin: 60px auto 120px auto;

			/* &:hover {
					opacity: .9;
					background: rgba(255, 69, 69, .5);

					& .arrow {
						background: #FF4545;

						&:before {
							background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 100"><path fill="%23FFFFFF" d="m11.11,100c-2.54,0-5.08-.97-7.01-2.91-3.87-3.87-3.87-10.15,0-14.02l32.65-32.66L4.1,17.76C.23,13.89.23,7.61,4.1,3.74,7.97-.14,14.25-.14,18.12,3.74l46.68,46.68-46.68,46.68c-1.93,1.94-4.47,2.91-7.01,2.91Z"/></svg>');
						}
					}
				} */
		}
	}

	.sec-4 .area-briefing .flow {
		margin: 0 auto 120px auto;
		padding: 80px 0;
		max-width: 730px;
		transform: translateY(50px);
		transition: .3s;
		opacity: 0;

		& h3 {
			margin-bottom: 50px;
			font-size: 35px;
		}

		& .inner {
			margin: 0 auto;
			max-width: 556px;
			width: 100%;
		}

		& ul {
			margin-bottom: 50px;

			&:before {
				top: .4rem;
				left: 7px;
				height: calc(100% - 1rem);
			}
		}

		& li {
			display: flex;
			flex-wrap: wrap;
			justify-content: start;
			margin-bottom: 30px;
			padding-left: 26px;

			&:before {
				top: 2px;
				width: 16px;
				height: 16px;
			}
		}

		& .ttl {
			column-gap: 10px;
			margin-right: 30px;
			margin-bottom: 0;
			max-width: 240px;
			width: 100%;
		}

		& .text {
			max-width: 260px;
			width: 100%;
		}

		& .area-img .box-img {
			margin-bottom: 10px;
		}

		&.fadeIn {
			transform: translateY(0);
			opacity: 1;
		}
	}

	/* sec-5 ------------- */
	.sec-5 {
		margin-bottom: 50px;
		padding-bottom: 93px;

		& .note {
			margin-bottom: 20px;
			text-align: right;
			font-size: 1.4rem;
		}
	}

	.sec-5 .list-teacher {
		justify-content: flex-start;
	}

	.sec-5 .list-teacher li {
		margin-bottom: 18px;
		/* margin-right: calc((100% - (185px * 5)) / 4); */
		margin-right: calc((1000px - (185px * 5)) / 4);

		&:nth-of-type(even) {
			margin-right: calc((1000px - (185px * 5)) / 4);
		}

		&:nth-of-type(5n) {
			margin-right: 0;
		}

		&:last-of-type {
			margin-bottom: auto;
		}

		& svg {
			max-width: 185px;
			width: 14.453vw;
			max-height: 247px;
			height: 19.296vw;
		}
	}

	.sec-5 .box-item {
		cursor: pointer;
		max-width: 185px;
		width: 14.453vw;
		max-height: 247px;
		height: 19.296vw;

		& svg {
			& image {
				transition: .3s;
			}
		}

		&:hover {
			& svg {
				& image {
					width: 110%;
					height: 110%;
					/* transform: scale(1); */
				}
			}
		}

		& p {
			right: 10px;
			bottom: 10px;
		}

		& span {
			&.title {
				font-size: 1.2rem;
			}

			&.name {
				font-size: 2rem;
			}
		}
	}

	/* sec-6 ------------- */
	.sec-6 .box-voice {
		margin-bottom: 80px;

		&:before {
			content: "";
			display: block;
			position: absolute;
			bottom: 0;
			right: 0;
			width: 366px;
			height: 366px;
			clip-path: polygon(0 100%, 100% 0, 100% 100%);
			background: linear-gradient(-135deg, rgba(27, 69, 124, 1) 0%, rgba(36, 33, 66, 1) 100%);
			transform: rotate(0deg);
		}

		& .inner {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}

		&:nth-of-type(even) {
			&:before {
				left: 0;
				right: auto;
				transform: rotate(0deg) scale(-1, 1);
			}
		}
	}

	.sec-6 .box-voice .box-img {
		margin: 0;
		padding: 0;
		max-width: 300px;
		width: 100%;

		&:before {
			content: none;
		}

		& .img {
			margin-bottom: 20px;
			width: 300px;
			height: 300px;
		}
	}

	.sec-6 .box-voice .nameTitle {
		& .name {
			margin-bottom: 10px;
			font-size: 2rem;
		}
	}

	.sec-6 .box-voice .box-text {
		padding: 60px 60px;
		max-width: 660px;
		width: calc(100% - 300px);

		&::before,
		&:after {
			width: 60px;
			height: 60px;
			background-image: url('data:image/svg+xml;utf8,<svg id="parts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66 66"><path fill="%23235988" class="cls-1" d="m3,66c-1.66,0-3-1.34-3-3V0h63c1.66,0,3,1.34,3,3s-1.34,3-3,3H6v57c0,1.66-1.34,3-3,3Z"/></svg>');
		}
	}

	.sec-6 .box-voice h3 {
		margin-bottom: 30px;
		text-align: left;
		font-size: 2.5rem;
	}

	.sec-6 .voice-1 {
		& .inner {
			flex-direction: row-reverse;
		}

		& .box-text {
			margin-left: 0;
		}
	}

	.sec-6 .area-video {
		max-width: 818px;
		max-height: 460px;
	}

	.sec-join {
		margin-bottom: 50px;
		padding: 80px 0;

		& .area-cv {
			padding: 50px 0;

			&::before,
			&:after {
				width: 30px;
				height: 30px;
			}

			&:before {
				top: 20px;
				left: 20px;
			}

			&:after {
				bottom: 20px;
				right: 20px;
			}

			& p {
				font-size: 3rem;
			}

			& .text-big>span {
				color: #1B457C;
			}

			& p.red {
				margin: 50px 0;
				line-height: 1;
				font-size: 2.5rem;
			}
		}
	}


	/* sec-7 ------------- */
	.sec-7 {
		margin-bottom: 0 !important;
		padding-bottom: 120px;

		& .open {
			& .inner-text {
				visibility: visible;
				padding-top: 20px;
				padding-bottom: 20px;
				height: 100%;
			}
		}

		& .head {
			cursor: pointer;
			padding: 20px 30px 20px 30px;
			transition: .3s;

			&:hover {
				background-color: #1B457C;
			}

			&:after {
				right: 20px;
				transform: translateY(-50%);
				width: 16px;
				height: 24px;
			}

			& p {
				font-size: 2rem;
			}
		}

		& .inner-text {
			padding: 0px 20px;

			& a {

				/* transition: .3s; */
				&:hover {
					color: #235988;
				}
			}
		}
	}

	.sec-7 .wrap-faq {
		margin: 0 auto 10px auto;
		max-width: 800px;
		width: 100%;
	}

	/* sec-8 ------------- */
	.sec-8 {
		margin-bottom: 0;
		padding-bottom: 140px;

			&:after {
				content: none;
			}

		&.sec-box h2 {
			margin-bottom: 80px;
			padding-top: 50px;
		}

		& .area-video {
			display: flex;
			justify-content: space-evenly;
			flex-direction: row;

			& .wrapper-video{

				&:first-of-type {
                	margin-bottom: 0;
           		}

				& p {
					margin-top: 20px;
                    max-width: 400px;
                    font-size: 2.0rem;
				}

				& iframe {
					width: 400px;
					height: 225px;
				}
			}
		}

		&  .link-under {
			display: flex;
			align-items: center;
			justify-content: center;
			position: relative;
			margin: 80px auto 0 auto;
			width: 431px;
			height: 70px;
			background: #C7C7C7;
			background: linear-gradient(90deg, rgba(27, 69, 124, 1) 0%, rgba(70, 170, 255, 1) 100%);
			transition: .3s;

				&:hover {
					transform: translateY(1px);
					background: rgba(70, 170, 255, 1);
					opacity: 0.8;

						&:after {
							bottom: 0px;
							right: 0px;
						}
				}

				&:after {
					content: "";
					display: block;
					position: absolute;
					bottom: 0.3901vw;
					right: 0.3901vw;
					width: 0px;
					height: 0px;
					border-style: solid;
					border-width: 0 0 20px 20px;
					border-color: transparent transparent #FFFFFF transparent;
					transform: rotate(0deg);
					transition: .3s;
				}

				& span {
					display: block;
					line-height: 1.5;
					font-size: 1.8rem;
					font-weight: 600;
					color: #ffffff;
				}
		}
	}

	.sec-8 .box-candidate {
		position: relative;
		padding-bottom: 50px;

		&:before {
			content: "";
			display: block;
			position: absolute;
			bottom: 0;
			right: 0;
			width: 366px;
			height: 366px;
			clip-path: polygon(0 100%, 100% 0, 100% 100%);
			background: linear-gradient(-135deg, rgba(27, 69, 124, 1) 0%, rgba(36, 33, 66, 1) 100%);
			transform: rotate(0deg);
			z-index: -1;
		}
	}

	/* area-modal------------------------------- */
	.area-modal {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 999;
	}

	.area-modal .sec-modal {
		display: none;
		padding: 100px 0;

		& .btn-close {
			cursor: pointer;
			top: 20px;
			right: 20px;
			width: 25px;
			height: 25px;
		}

		&:has(.area-video) .box-theme {
			margin-bottom: 40px;
		}
	}

	.area-modal .sec-modal .wrap-flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 40px;
	}

	.area-modal .sec-modal .box-modal {
		margin: 0 auto;
		padding: 80px 0;
		width: 1000px;

		& .inner {
			margin: 0 auto;
			max-width: 860px;
		}

		& .img {
			margin: 0 0 0 0;
			max-width: 330px;
			width: 100%;
		}

		& .img svg {
			width: 100%;
		}
	}

	.area-modal .sec-modal .box-profile {
		width: calc(100% - 380px);
	}

	.area-modal .sec-modal .box-profile-1 {
		margin-bottom: 30px;

		& .name {
			margin-bottom: 20px;
			font-size: 2.5rem;

			& span {
				margin-bottom: 10px;
			}
		}

		& .bio {
			& dl {
				display: flex;
				flex-wrap: wrap;
				margin-bottom: 5px;
			}

			& dt {
				margin-right: 0;
				width: calc(106px + 2em);
			}

			& dd {
				width: calc(100% - (106px + 2em));
			}

			& h4 {
				margin-bottom: 10px;
			}
		}

		& div.bio {
			margin-top: 20px;
		}
	}

	.area-modal .sec-modal .box-profile-2 {
		margin-bottom: 30px;

		&:last-of-type {
			margin-bottom: 0px;
		}

		& .box-text {
			margin-bottom: 20px;
		}

		& h3 {
			margin-bottom: 15px;
			padding: 6px 10px;
		}

		& a:hover {
			text-decoration: none;
		}
	}

	.area-modal .sec-modal .box-theme {
		padding: 30px 30px;

		&::before,
		&:after {
			width: 30px;
			height: 30px;
		}

		& h3 {
			margin-bottom: 20px;
			font-size: 2.5rem;
		}
	}


	.area-modal .sec-modal .flex-video {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.area-modal .sec-modal .area-video {
		margin: 0;

		& .box-video {
			margin-bottom: 20px;
			max-width: 400px;
			width: 100%;
			max-height: 225px;
			height: 100%;

			&.type-vertical {
				max-width: 225px;
				width: 100%;
				max-height: 400px;
				height: 100%;

				&+p {
					max-width: 225px;
				}
			}
		}

		& .box-video .btn-play {
			& img {
				width: 60px;
				height: 60px;
			}
		}

		& p {
			margin: 0 auto;
			max-width: 400px;
			font-size: 2.0rem;
		}
	}



	#p-25au {
		& header .area-mv .mv {
			background-position: center right;
		}

		& header .area-text {
			left: 3.90625vw;
		}

		& header .area-text .copy {
			margin: 0 auto 0 0;
			text-align: left;
		}

		& header .area-text .btn-common {
			margin: 0 auto 40px 0;
		}

		& header .area-video {
			left: auto;
			right: 10.9375vw;
		}

		& nav a {
			padding: 0 0 0 1.171875vw;
		}

		& #payment h2 {
			margin-bottom: 20px;
			font-size: 3rem;
		}

		& #payment h2 span {
			&.small {
				font-size: 2rem !important;
			}
		}

		& #payment .sub-h2 {
			margin-bottom: 80px;

			& h2 {
				margin-bottom: 10px;
				text-align: center;
			}

			& h2 span {
				font-size: 3rem;
			}

			& p.small {
				margin: 0 auto;
				max-width: 580px;
				font-size: 1.2rem;
			}
		}

		& #payment .pay-area:last-of-type {
			margin-top: 80px;
		}

		& #payment .pay-area h3 {
			margin-bottom: 20px;
			height: 60px;

			& span {
				font-size: 2.5rem;
			}
		}

		& #payment .pay-area th {
			padding: 10px 0;
		}

		& #payment .pay-area h4 {
			font-size: 2rem;
		}

		& #payment .pay-area .bg-none th {
			padding-bottom: 20px;
		}

		& #payment .pay-area td {
			padding: 10px 0;
		}

		& #payment .note {
			margin-top: 50px;
		}

		& #payment .note li {
			margin-bottom: 10px;
		}

		/* #p-25au */
	}

	/* 追加ページ分============= */
	.page-under .sec-intro {
		& h2 {
			padding-top: 80px !important;
			/* padding-right: calc(100% - (1000px + 140px)); */


			& .h2-inner span:first-of-type {
				margin-bottom: 0;
			}
		}

		& h2 .h2-inner {
			display: flex;
			padding: 0 50px 0 50px;

			& span img {
				max-height: 40px;
				height: 4vw;
			}
		}
	}

	.page-under .sec-intro .wrap-flex {
		display: grid;
		grid-template-columns: 1fr 1fr;
		justify-content: space-between;
	}

	.page-under .sec-intro .box-img {
		margin: 0;
		width: 32.3vw;
	}

	.page-under .sec-intro .box-text {
		max-width: 540px;
		width: 100%;
	}

	.page-under .area-cv {
		margin: 0 0 120px 0;
		padding: 80px 0;
	}

	.page-under .sec-box h2 {
		margin-left: 0;
		margin-bottom: 50px;
		padding-top: 30px;

		& .text {
			padding: 60px 0 30px 0;
		}
	}

	.page-under .sec-box .text-mono {
		margin-bottom: 80px;
	}

	.page-under .sec-1 {
		padding-top: 0;
	}

	.page-under .sec-1 h3 {
		margin-bottom: 150px;
	}

	.page-under .sec-1 li {
		margin-bottom: 0;
		padding: 70px 20px 60px 20px;

	}

	.page-under .sec-1 li .box-img {
		top: -70px;
		max-width: 140px;
		max-height: 140px;

		& span {
			max-width: 100px;
		}
	}

	.page-under .sec-1 li h4 {
		margin: 40px 0 30px 0;
	}

	.page-under .sec-1 .top {
		padding-bottom: 30px;

		& .add-line {
			margin-bottom: calc(1.6rem + 9.2px);
		}
	}

	.page-under .sec-1 .under {
		position: relative;
		padding-top: calc(60px + 30px);

		&:before {
			top: -1px;
			max-width: 57.32px;
			max-height: 60px;
		}
	}

	.page-under .sec-2 {
		margin-bottom: 120px;
		padding-top: 0;
	}

	.page-under .sec-2 h3 {
		margin: 0 auto 80px auto;
	}

	.page-under .sec-2 ul {
		margin: 0 auto 80px auto;
		max-width: 900px;
	}

	.page-under .sec-2 li {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 50px;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 50px;
		padding-bottom: 50px;

		&:nth-of-type(2) {
			& .box-img {
				order: 2;
			}
		}
	}


	.page-under .sec-2 li h4 {
		margin-bottom: 30px;

		& span {
			margin-bottom: 20px;
		}
	}

	.page-under .sec-2 li .box-img {
		margin: 0;
		max-width: 400px;
	}

	.page-under .sec-2 li .box-text {
		max-width: 450px;
		width: 100%;
	}

	.page-under .sec-3 {
		margin-bottom: 120px !important;
	}

	.page-under .sec-3 ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 30px;
		margin-bottom: 80px;
	}

	.page-under .sec-3 li {
		margin-bottom: 30px;
		max-width: 485px;
		width: 100%;

		&:nth-of-type(3),
		&:nth-of-type(4) {
			margin-bottom: 0;
		}
	}

	.page-under .sec-3 li h4 {
		padding-left: 30px;
		height: 70px;

		& .ico {
			height: 60px;
		}

		& .num {
			position: relative;
			margin-right: 20px;
			padding-right: 20px;

			&:after {
				height: 48px;
			}
		}
	}

	.page-under .sec-3 li .box-text {
		padding: 30px 20px;
	}

	.page-under .sec-4 {
		padding-top: 0;
	}

	.page-under .sec-4 ul {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		column-gap: 20px;
		margin-bottom: 80px;
	}

	.page-under .sec-4 li {
		margin: 0 auto 0 auto;
		max-width: 235px;
		width: 18.3593vw;
	}

	.page-under .sec-4 li h4 {
		margin: 0 auto 30px auto;
		max-width: 235px;
		width: 18.3593vw;
		max-height: 235px;
		height: 18.3593vw;
	}


	.page-under .sec-5 {
		margin-bottom: 120px;
	}

	.page-under .sec-5 ul {
		margin: 0 auto;
		max-width: 834px;
	}

	.page-under .sec-5 li {
		align-items: center;
		margin-bottom: 50px;

		&:last-of-type {
			margin-bottom: 0;
		}
	}


	.page-under .sec-5 li h4 {
		margin-right: 20px;
		padding-right: 20px;
	}

	.page-under .btn-back {
		margin-bottom: 120px;
	}

	/* 受講者の声 個別ページ ------------- */
	#participant-comments {

		& .inner-youTube {
			display: flex;
			justify-content: center;
		}

		& iframe {
			width: 208px;
			height: 117px;
		}

		& .inner-describe {
			background-color: #EFF6FF;
			margin-top: 0;
			margin-left: 20px;
			padding: 20px;
			width: 502px;
			height: 117px;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			margin-bottom: 0px;
		}

		& h3 {
			font-size: 16px;
			font-weight: 300;
			margin-bottom: 0;
		}

		& p {
			font-size: 12px;
			text-align: right;
			color: #1B457C;
		}
		
		& p span {
			font-size: 12px;
		}

		& .inner-youTube:not(last-of-type) {
			margin-bottom: 30px;
		}
	}

	#modalBack {
		background-color: rgba(0, 0, 0, .7);
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		z-index: 1000;
		display: none;
	}

	.iframeWrap iframe {
      display: block;
      pointer-events: none;
      /* margin: 3px auto;
      width: 97%; */
    }

	#displayYouTube {
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 1001;

		iframe {
			width: 57.4999vw; //とりあえず横幅
			position:relative;
		}

		& .btn-close {
			position: absolute;
            cursor: pointer;
            top: -55px;
            right: 0;
            width: 25px;
            height: 25px;
			z-index: 9999999;
        }

		& .btn-close span {
			position: absolute;
			margin: 0 auto;
			border-radius: 3px;
			width: 30px;
			height: 3px;
			background-color: #ffffff;
			transition: .3s;

			&:first-of-type {
				top: 50%;
				transform: translateY(-50%) rotate(45deg);
			}

			&:nth-of-type(2) {
				top: 50%;
				transform: translateY(-50%) rotate(-45deg);
			}
		}
	}

	/* min-width:641px */
}




/* ==================================
TB-PC版 調整 ここから min-width:768px-max-width: 1240px
===================================== */
@media screen and (min-width: 768px) and (max-width: 1240px) {

	/* sec-box共通 ------------- */
	.sec-box {

		/* margin: 0 auto 120px auto;
	width: 100%; */
		& .inner {
			margin: 0 auto 0 140px;
			width: calc(100% - 180px);
		}
	}

	.sec-box h2 {
		margin-left: 140px;
		padding-right: calc(100% - (1000px + 140px));
		width: calc(100% - 140px);

		& span {
			& img {
				height: 4.032vw;
			}
		}
	}

	.sec-box h2 .h2-inner {
		& .h2-S {
			& img {
				height: 2.822vw;
			}
		}
	}

	.sec-box .area-cv {
		&>p {
			font-size: 1.612vw;
		}
	}

	.sec-box .copy {
		& p {
			font-size: 2.016vw;
		}

		& strong,
		& span {
			font-size: 2.419vw;
		}
	}

	.area-w {
		margin: 0 auto 0 140px;
		max-width: 1000px;
		width: calc(100% - 180px);
	}

	.sec-1 h2 .h2-inner {
		justify-content: center;
	}

	.sec-1 h2 .h2-inner {
		& span:nth-of-type(2) {
			margin: 0;
		}
	}

	.sec-1 .box-text {
		& h3 {
			font-size: 1.45vw;
		}
	}

	.sec-3 .message {
		font-size: 2.419vw;
	}

	.sec-3 .box-benefits {

		& h3,
		& h3 span {
			font-size: 2.822vw;
		}

		& h4 {
			font-size: 1.45vw;
		}
	}

	.sec-3 .area-cv {
		& .num {
			height: 4.032vw;
		}
	}

	.sec-4 {
		& .area-briefing {
			& .message {
				font-size: 1.612vw;
			}
		}
	}

	.sec-5 .box-item {
		& span {
			&.name {
				font-size: 1.6129vw;
			}

			&.title {
				font-size: 0.967vw;
			}
		}
	}

	.sec-5 .list-teacher li,
	.sec-5 .list-teacher li:nth-of-type(even) {
		margin-right: calc((100% - (14.453vw * 5)) / 5);

		&:nth-of-type(5n) {
			margin-right: 0;
		}
	}

	.sec-6 .box-voice h3 {
		font-size: 2.016vw;
	}

	.sec-join {
		& .area-cv {
			& p.red {
				font-size: 2.016vw;
			}
		}
	}


	.page-under .sec-box .inner {
		margin-left: auto;
	}


	.box-candidate {

		& .area-video {
			min-width: 80.6451vw;

			& .wrapper-video {

                & iframe {
                    width: 32.2580vw;
                    height: 18.1451vw;
                }

				& p {
					font-size: 1.6rem;
				}
			}
		}
	}
	

}


/* ==================================
巨大幅 調整 ここから min-width:1550px
===================================== */
@media screen and (min-width: 1550px) {
	#p-25au {
		& header .area-mv {
			height: 90dvh;
		}

		& header .area-mv .mv {
			background-position: 0 -3.255vw;
		}
	}

}