@charset "UTF-8";
/*----------------------------------------

	index CSS

	- common

-----------------------------------------*/


html.lenis,
html.lenis body {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: hidden;
}

.lenis.lenis-smooth iframe {
	pointer-events: none;
}

@media screen and (min-width:768px) {
	a[href *="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

.wrapper {
	position: relative;
}

body.home .wrapper {
	overflow: hidden;
}

/*----------------------------------------
	common
-----------------------------------------*/

a.link {
	text-decoration: underline;
	transition: 0.3s;
}

a.link:hover {
	text-decoration: none;
	opacity: 0.7;
}

.ind01 {
	text-indent: -1em;
	padding-left: 1em;
}

.ind015 {
	padding-left: 1.5em;
	text-indent: -1.5em;
}

.ind02 {
	padding-left: 2em;
	text-indent: -2em;
}

.indent-clear {
	text-indent: inherit;
	padding-left: 1em;
}

.list-attention {
	font-size: 14px;
	line-height: 1.6;
}

@media screen and (min-width: 768px) {
	.list-attention {
		font-size: 15px;
	}
}

.mw1920 {
	max-width: 1920px;
	margin: 0 auto;
}

.mw1480 {
	max-width: 1480px;
	margin: 0 auto;
}

.mw1400 {
	max-width: 1400px;
	margin: 0 auto;
}

.mw1320 {
	max-width: 1320px;
	margin: 0 auto;
}

.mw1280 {
	max-width: 1280px;
	margin: 0 auto;
}

.mw1200 {
	max-width: 1200px;
	margin: 0 auto;
}

.mw1160 {
	max-width: 1160px;
	margin: 0 auto;
}

.mw1176 {
	max-width: 1176px;
	margin: 0 auto;
}

.mw1096 {
	max-width: 1096px;
	margin: 0 auto;
}

.mw1040 {
	max-width: 1040px;
	margin: 0 auto;
}

.mw960 {
	max-width: 960px;
	margin: 0 auto;
}

.mw880 {
	max-width: 880px;
	margin: 0 auto;
}

.mw800 {
	max-width: 800px;
	margin: 0 auto;
}

.mw720 {
	max-width: 720px;
	margin: 0 auto;
}

.mw600 {
	max-width: 600px;
	margin: 0 auto;
}


.marker {
	position: relative;
	display: inline;
	padding: 0;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	background-repeat: no-repeat;
	background: #0075EB;
	background-size: 100% 100%;
	background-position: left bottom;
	transition: 2s ease;
	color: #ffffff;
}


.ttl-bd {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	/*text-align: center;*/
	width: 100%;
}

.ttl-bd::before,
.ttl-bd::after {
	content: '';
	flex: 1;
	/* ← 左右の線を残り幅いっぱいに */
	height: 1px;
	background-color: #333;
}

.ttl-bd::before {
	margin-right: 0.4em;
	/* 文字との間隔 */
}

.ttl-bd::after {
	margin-left: 0.4em;
}

.ttl-bd>span {
	display: inline-block;
	/*text-align: center;*/
	line-height: 1.3;
	/*white-space: normal;
	word-break: keep-all;*/
}

.ttl-bd_icon .ttl-bd_icon__inner {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.ttl-bd_icon .ttl-bd_icon__inner>span:nth-of-type(1) {
	width: 4em;
}

.ttl-bg {
	background: #323C38;
	color: #ffffff;
	padding: 0.5em;
}

@media screen and (min-width: 768px) {
	.ttl-bd_icon .ttl-bd_icon__inner>span:nth-of-type(1) {
		width: 3em;
	}
}



.ttl-lv2 {
	font-size: 32px;
	line-height: 1.5;
}

.ttl-lv3 {}

.ttl-lv4 {}

.ttl-lv5 {
	font-size: 24px;
}

.ttl-lv6 {
	font-size: 24px;
}

.ttl-lv7 {
	font-size: 20px;
	line-height: 1.5;
}

@media screen and (min-width: 768px) {
	.ttl-lv2 {
		font-size: 36px;
		line-height: 1.3;
	}

	.ttl-lv3 {}

	.ttl-lv4 {}
}

@media screen and (min-width: 992px) {
	.ttl-lv2 {
		font-size: 50px;
		line-height: 1.3;
	}

	.ttl-lv5 {
		font-size: 36px;
		line-height: 1.5;
	}

	.ttl-lv6 {
		font-size: 32px;
		line-height: 1.5;
	}

	.ttl-lv7 {
		font-size: 30px;
		line-height: 1.5;
	}
}


/*font color*/
.fc-white {
	color: #ffffff;
}

.fc-blue {
	color: #0075EB !important;
}

.fc-green {
	color: #14C451 !important;
}

.sec-ttl-sub {
	font-size: 18px;
}

@media screen and (min-width: 768px) {
	.sec-ttl-sub {
		font-size: 20px;
	}
}



.btn-linkWrapper {
	line-height: 1;
}

.btn-linkWrapper .btn-link--icon {
	margin-top: -0.1em;
}


/* =============================== btn-link =================================*/
.btn-link {
	position: relative;
	width: 90%;
	font-size: 16px;
	line-height: 1.5;
	padding: 1em 1em 1em 1.4em;
	display: inline-block;
	background: #0075EB;
	color: #ffffff;
	border-radius: 9999px;
	margin: 0 auto;
	text-align: left;
	letter-spacing: 0.1em;
}

.btn-link a:link,
.btn-link a:visited {
	color: #ffffff;
}

/* =============================== アイコン（白丸） =================================*/
.btn-link--icon {
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 28px;
	height: 22px;
	background: #ffffff;
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	rotate: -15deg;
}

/* 矢印ラッパー */
.btn-link--icon>span span {
	position: relative;
	width: 13px;
	height: 12px;
	display: block;
	overflow: hidden;
	rotate: 15deg;
}

/* =============================== 矢印（通常時はtransitionなし） =================================*/
.btn-link--icon>span span::before,
.btn-link--icon>span span::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 13px;
	height: 12px;
	background: url(../images/btn_arrow.svg) no-repeat center / contain;
	/* ★通常はアニメーション無し */
	transition: none;
}

/*green*/
.btn-link--icon.btn-link--icon_green>span span::before,
.btn-link--icon.btn-link--icon_green>span span::after {
	background: url(../images/btn_arrow_green.svg) no-repeat center / contain;
}

/*gray*/
.btn-link--icon.btn-link--icon_gray>span span::before,
.btn-link--icon.btn-link--icon_gray>span span::after {
	background: url(../images/btn_arrow_gray.svg) no-repeat center / contain;
}

/*white*/
.btn-link--icon.btn-link--icon_white>span span::before,
.btn-link--icon.btn-link--icon_white>span span::after {
	background: url(../images/btn_arrow_white.svg) no-repeat center / contain;
}

/* 初期位置 */
.btn-link--icon>span span::before {
	transform: translate(0, 0);
}

.btn-link--icon>span span::after {
	transform: translate(-100%, 0);
}

.btn-link--icon.btn-link--icon_bgblue>span span::before,
.btn-link--icon.btn-link--icon_bgblue>span span::after,
.btn-link--icon.btn-link--icon_bggreen>span span::before,
.btn-link--icon.btn-link--icon_bggreen>span span::after {
	background: url(../images/btn_arrow_white.svg) no-repeat center / contain;
}


/* ===============================
   PC hover
=================================*/
@media screen and (min-width: 768px) {

	.btn-link {
		max-width: 286px;
		font-size: 20px;
	}

	.btn-link--icon {
		width: 40px;
		height: 32px;
	}

	.btn-link:hover {
		color: #ffffff;
	}

	/* hover時だけtransition有効 */
	.btn-link:hover .btn-link--icon>span span::before,
	.btn-link:hover .btn-link--icon>span span::after {
		transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	/* before → 右へ抜ける */
	.btn-link:hover .btn-link--icon>span span::before {
		transform: translate(100%, 0);
	}

	/* after → 左から入る */
	.btn-link:hover .btn-link--icon>span span::after {
		transform: translate(0, 0);
		transition-duration: 1s;
		transition-delay: 0.3s;
	}
}


/*----------------------------------------
	cmn-header
-----------------------------------------*/

.cmn-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	height: 50px;
	padding-top: 8px;
	margin-left: 0;
}

.cmn-header__inner {
	opacity: 0;
	transition: all 1s cubic-bezier(0.37, 0, 0.63, 1);
}

.cmn-header.on .cmn-header__inner {
	opacity: 1;
}

.cmn-header__logo {
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1;
	display: block;
	width: 100%;
	height: 100%;
}

.cmn-header__logo a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

.cmn-header__logoImg {
	position: absolute;
	top: 0;
	left: 0;
	height: 40px;
	width: auto;
	transition: all 0.2s cubic-bezier(0.37, 0, 0.63, 1);
}

.cmn-header__logoImg.normal {
	opacity: 1;
	z-index: 2;
}

.cmn-header__logoImg.over {
	opacity: 0;
	z-index: 1;
}

.cmn-header__gnav span,
.cmn-header__subnav span {
	display: block;
	font-size: 12px;
}

.cmn-header__subnav>li:nth-of-type(2) {
	margin-left: 0.8em;
}

body:not(.home) .cmn-header__logoImg.normal {
	opacity: 0;
	z-index: 1;
}

body:not(.home) .cmn-header__logoImg.over {
	opacity: 1;
	z-index: 2;
}


@media screen and (min-width:992px) {
	.cmn-header {
		height: 100px;
		padding-top: 16px;
	}

	.cmn-header__logoImg a {
		height: 40px;
	}

	.cmn-header:not(.fixed) .cmn-header__inner {
		height: 40px;
	}

	.cmn-header__gnav,
	.cmn-header__subnav {
		font-size: 20px;
		line-height: 1;
		transition: all 0.2s cubic-bezier(0.37, 0, 0.63, 1);
	}

	.cmn-header__gnav span,
	.cmn-header__subnav span {
		font-size: 14px;
		padding-top: 0.4em;
		text-align: center;
	}

	.cmn-header__gnav>li:nth-of-type(n+2) {
		margin-left: 1.2em;
	}

	.cmn-header__gnav>li>a {
		position: relative;
		padding: 0.5em 0 1.8em;
		font-size: clamp(12px, 1.4vw, 15px);
	}

	.cmn-header__gnav>li>a:nth-of-type(1):after {
		position: absolute;
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		background-color: #0075EB;
		border-radius: 50%;
		top: -2px;
		left: calc(50% - 5px);
		opacity: 0;
		transition: all 0.6s ease;
	}

	.cmn-header__subnav>li:nth-of-type(2) {
		margin-left: 0.8em;
	}

	.cmn-header__subnav>li>a {
		position: relative;
		display: block;
		border-radius: 40px;
		padding: 0.6em 1.4em;
		color: #ffffff;
		overflow: hidden;
		transition: 0.3s;
	}

	.cmn-header__subnav>li:nth-of-type(1)>a {
		border: 1px solid #6DB829;
	}

	.cmn-header__subnav>li:nth-of-type(2)>a {
		border: 1px solid #F6AB00;
	}

	.cmn-header__subnav>li>a:before {
		content: "";
		display: inline-block;
		width: 100%;
		height: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	.cmn-header__subnav>li>a:after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0 auto;
		opacity: 0;
	}

	.cmn-header__subnav>li:nth-of-type(1)>a:after {
		background: #6DB829;
	}

	.cmn-header__subnav>li:nth-of-type(2)>a:after {
		background: #F6AB00;
	}

	.cmn-header__gnav>li>a {
		transition: 0.3s;
	}

	.cmn-header__gnav>li>a:hover {
		opacity: 0.7;
	}

	.cmn-header__gnav>li>a:nth-of-type(1):hover:after {
		opacity: 1;
		z-index: 1;
	}

	.cmn-header__subnav>li:nth-of-type(1)>a:hover {
		color: #6DB829;
	}

	.cmn-header__subnav>li:nth-of-type(2)>a:hover {
		color: #F6AB00;
	}

	/*beforeマウスオーバー*/
	.cmn-header__subnav>li:nth-of-type(1)>a:hover:before {
		background: #6DB829;
		z-index: -4;
	}

	.cmn-header__subnav>li:nth-of-type(2)>a:hover:before {
		background: #F6AB00;
		z-index: -4;
	}

	/*beforeマウスアウト*/
	.cmn-header__subnav>li>a:not(:hover):before {
		background: #ffffff;
		z-index: -4;
	}

	/*afterマウスオーバー*/
	.cmn-header__subnav>li>a:hover:after {
		animation: 0.4s ease mauseOver forwards;
	}

	/*afterマウスアウト*/
	.cmn-header__subnav>li>a:not(:hover):after {
		animation: 0.4s ease mauseOut forwards;
	}

	/*sub-menu*/
	.cmn-header__gnavWrapper>ul>li {
		position: relative;
	}

	.cmn-header__gnavWrapper>ul>li a {
		color: #ffffff;
	}

	.cmn-header__gnavWrapper ul.sub-menu {
		position: absolute;
		top: 3.6em;
		left: 0;
		margin-left: -4.5em;
		display: block;
		width: 13em;
		visibility: hidden;
		opacity: 0;
		transition: top .3s, opacity .3s;
		z-index: 1000;
		text-align: center;
		border-radius: 8px;
	}

	.cmn-header__gnavWrapper ul.sub-menu li {
		position: relative;
	}

	.cmn-header__gnavWrapper ul.sub-menu li:first-child:after {
		content: '';
		position: absolute;
		top: -10px;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-bottom: 11px solid #178CD5;
		border-top: 0;
	}

	.cmn-header__gnavWrapper ul.sub-menu li:not(:last-of-type):before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 80%;
		height: 1px;
		background-size: 4px 2px;
		background-position: left bottom;
		background-image: linear-gradient(to right, #ffffff, #ffffff 2px, transparent 2px);
		opacity: 0.6;
	}

	.cmn-header__gnavWrapper ul.sub-menu li a {
		display: block;
		padding: 0.8em 0.7em;
		font-size: 16px;
		color: #ffffff;
		transition: all .3s;
		background: #178CD5;
	}

	.cmn-header__gnavWrapper ul.sub-menu li:first-child a {
		padding: 1.2em 0.7em 0.8em;
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;
	}

	.cmn-header__gnavWrapper ul.sub-menu li:last-child a {
		padding: 0.8em 0.7em 1.2em;
		border-bottom-left-radius: 8px;
		border-bottom-right-radius: 8px;
	}

	.cmn-header__gnavWrapper ul.sub-menu li a:hover {
		background: #0077C4;
	}

	.cmn-header__gnavWrapper ul.sub-menu li+li {
		margin-left: 0;
	}

	/*hoverしたら表示*/
	.cmn-header__gnavWrapper>ul>li:hover>ul.sub-menu {
		visibility: visible;
		opacity: 1;
		top: 3em;
	}

	body:not(.home) .cmn-header__gnavWrapper>ul>li a {
		color: #000;
	}
}

@media screen and (min-width:1199px) {
	.cmn-header {
		padding-top: 24px;
	}

	.cmn-header:not(.fixed) .cmn-header__inner {
		height: 60px;
	}

	.cmn-header__logoImg {
		height: 60px;
	}

	.cmn-header__gnav {
		margin-top: 0.5em;
	}
}

@media screen and (min-width:1399px) {
	.cmn-header__gnav>li>a {
		font-size: clamp(16px, 2vw, 18px);
	}
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {

	.cmn-header__gnav,
	.cmn-header__subnav {
		font-size: 16px;
	}

	.cmn-header__gnav span,
	.cmn-header__subnav span {
		font-size: 12px;
	}

	.cmn-header__gnav>li>a:nth-of-type(1):after {
		width: 6px;
		height: 6px;
		top: 0;
	}

	.cmn-header__gnavWrapper ul.sub-menu {
		width: 16em;
		margin-left: -5.5em;
	}

	.cmn-header__gnavWrapper ul.sub-menu li a {
		font-size: 14px;
	}

	.cmn-header__gnav>li a:after {
		top: 0;
	}
}

@media screen and (max-width:992px) {

	.cmn-header__gnav span,
	.cmn-header__subnav span {
		display: block;
	}

	.cmn-header__subnav {
		font-size: 20px;
		line-height: 1;
	}

	.cmn-header__subnav span {
		font-size: 14px;
		padding-top: 0.4em;
		text-align: center;
	}

	.cmn-header__subnav>li>a {
		position: relative;
		display: block;
		border-radius: 40px;
		padding: 0.6em 1.4em;
		color: #ffffff;
		overflow: hidden;
		transition: 0.3s;
	}

	.cmn-header__subnav>li:nth-of-type(1)>a {
		background: #6DB829;
	}

	.cmn-header__subnav>li:nth-of-type(2)>a {
		background: #F6AB00;
	}
}

@media only screen and (min-width: 768px) and (max-width: 992px) {

	.cmn-header__gnav span,
	.cmn-header__subnav span {
		font-size: 14px;
	}

	.cmn-header__subnav>li:nth-of-type(2) {
		margin-top: 0;
		margin-left: 0.8em;
	}
}


/*fixed*/
.cmn-header.fixed {
	height: 44px;
}

.cmn-header.fixed .cmn-header__logoImg {
	height: 25px;
	vertical-align: top;
}

.cmn-header.fixed .cmn-header__logoImg.normal {
	opacity: 0;
}

.cmn-header.fixed .cmn-header__logoImg.over {
	opacity: 1;
}

@media (min-width: 992px) {
	.cmn-header.fixed {
		height: 80px;
		padding-top: 16px;
		background: rgba(255, 255, 255, 0.5);
	}

	.cmn-header.fixed .cmn-header__logoImg {
		height: 32px;
	}

	.cmn-header.fixed .cmn-header__gnav,
	.cmn-header.fixed .cmn-header__subnav {
		font-size: 16px;
	}

	.cmn-header.fixed .cmn-header__gnav span,
	.cmn-header.fixed .cmn-header__subnav span {
		font-size: 12px;
	}

	.cmn-header.fixed .cmn-header__gnav>li>a:nth-of-type(1):after {
		width: 6px;
		height: 6px;
		top: 0;
	}

	.cmn-header.fixed .cmn-header__gnavWrapper ul.sub-menu {
		width: 16em;
		margin-left: -5.5em;
	}

	.cmn-header.fixed .cmn-header__gnavWrapper ul.sub-menu li a {
		font-size: 14px;
	}

	.cmn-header.fixed .cmn-header__gnav>li>a {
		color: #000;
		font-weight: 500;
	}
}

@media (min-width: 1199px) {
	.cmn-header.fixed {
		padding-top: 24px;
	}
}

/*----------------------------------------
		gnav
	-----------------------------------------*/

@media screen and (max-width: 992px) {
	#gnav {
		display: none;
	}

	#gnav.is-active {
		background: #ffffff;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 2000;
	}

	.gnav__inner {
		height: 100%;
	}

	#gnav .cmn-header__menu {
		position: relative;
		height: 100%;
		overflow-y: auto;
		-ms-overflow-style: none;
		/* IE, Edge 対応 */
		scrollbar-width: none;
		-webkit-overflow-scrolling: auto;
	}

	#gnav .cmn-header__menu::-webkit-scrollbar {
		/* Chrome, Safari 対応 */
		display: none;
	}

	.gnav__logo {
		position: fixed;
		left: 0;
		padding-left: 1rem;
		height: 44px;
		display: block;
		padding-top: 8px;
	}

	.gnav__logo img {
		height: 25px;
		width: auto;
		vertical-align: top;
	}

	#gnavBtn {
		position: fixed;
		top: 0;
		right: 0;
		width: 50px;
		height: 50px;
		z-index: 3000;
		transition: 0.3s;
		background: #0075EB;
		cursor: pointer;
	}

	#gnavBtn>div {
		display: flex;
		width: 50px;
		height: 50px;
		justify-content: center;
		align-items: center;
		margin-top: 0.5em;
	}

	#gnavBtn>div>div {
		position: relative;
		width: 24px;
		height: 24px;
	}

	#gnavBtn span {
		position: absolute;
		top: 6px;
		left: 0;
		display: block;
		text-decoration: none;
		width: 24px;
		height: 1px;
		background-color: #ffffff;
	}

	#gnavBtn span:first-child {
		left: 0;
		width: 24px;
		transform: translateY(-6px);
	}

	#gnavBtn span:nth-child(2) {
		left: 0;
		width: 24px;
	}

	#gnavBtn span:nth-child(3) {
		left: 0;
		width: 24px;
		transform: translateY(6px);
	}

	#gnavBtn.is-close span:first-child {
		transform: translateY(-6px);
		animation-name: menuBarOut;
		animation-timing-function: cubic-bezier(.165, .84, .44, 1)
	}

	#gnavBtn.is-close span:first-child,
	#gnavBtn.is-close span:nth-child(2) {
		left: 0;
		width: 24px;
		animation-duration: .5s;
		animation-delay: 0s
	}

	#gnavBtn.is-close span:nth-child(2) {
		animation-name: menuBar2Out;
		animation-timing-function: cubic-bezier(.165, .84, .44, 1)
	}

	#gnavBtn.is-close span:nth-child(3) {
		transform: translateY(6px);
		animation-name: menuBar3Out;
		animation-timing-function: cubic-bezier(.165, .84, .44, 1)
	}

	#gnavBtn.is-close span:nth-child(3),
	#gnavBtn.is-active span:first-child {
		left: 0;
		width: 24px;
		animation-duration: .5s;
		animation-delay: 0s
	}

	#gnavBtn.is-active span:first-child {
		transform: translateY(0) rotate(45deg);
		animation-name: menuBar;
		animation-timing-function: cubic-bezier(.165, .84, .44, 1)
	}

	#gnavBtn.is-active span:nth-child(2) {
		left: 12px;
		width: 0;
		animation-duration: .5s;
		animation-delay: 0s;
		animation-name: menuBar2;
		animation-timing-function: cubic-bezier(.165, .84, .44, 1)
	}

	#gnavBtn.is-active span:nth-child(3) {
		left: 0;
		width: 24px;
		transform: translateY(0) rotate(-45deg);
		animation-duration: .5s;
		animation-delay: 0s;
		animation-name: menuBar3;
		animation-timing-function: cubic-bezier(.165, .84, .44, 1)
	}

	#gnav .cmn-header__gnav ul.sub-menu {
		display: none;
		width: 100%;
	}

	.cmn-header__gnav {
		padding: 4em 0 2em;
		transform: translateY(-10px);
		transition: 0.5s cubic-bezier(.215, .61, .355, 1);
	}

	#gnav.is-active .cmn-header__gnav {
		transform: translateY(0);
	}

	.cmn-header__gnav li a {
		position: relative;
		font-weight: bold;
		padding: 1em 2em 1em 0;
		display: inline-block;
		font-size: 16px;
		line-height: 1.4;
		color: #000000;
	}

	.cmn-header__gnav>li:not(.accordion-menu):not(.accordion-menu-link) a {
		width: 100%;
	}

	.cmn-header__gnav>li:not(.accordion-menu):not(.accordion-menu-link) a:before,
	.cmn-header__gnav>li>.sub-menu>li a:before {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 4px 0 4px 6px;
		border-color: transparent transparent transparent #000000;
		position: absolute;
		top: 50%;
		right: 0%;
		transform: translateY(-50%);
	}

	.cmn-header__gnav>li {
		border-top: 1px dotted #ccc;
	}

	#gnav .cmn-header__gnav ul.sub-menu li a {
		font-size: 14px;
		font-weight: normal;
		padding: 1em 2em 1em 1em;
		width: 100%;
	}

	#gnav .cmn-header__gnav ul.sub-menu li:last-child a {
		padding: 1em 2em 2em 1em;
	}

	#gnav .cmn-header__gnav ul.sub-menu li {
		border-top: none;
	}

	#gnav .accordion-menu-link .accordion-menu_link__icon {
		border-left: 1px dotted #cccccc;
		padding: 1em 2em 1em 1em;
	}

	#gnav .accordion-menu_link__icon:before,
	#gnav .accordion-menu_link__icon:after {
		margin-right: 1em;
	}
}


/*----------------------------------------
	sec-top-kv
-----------------------------------------*/

.sec-top-kv {
	width: 100%;
	overflow: hidden;
	opacity: 0;
	transition: all 1s cubic-bezier(0.37, 0, 0.63, 1);
}

.sec-top-kv.on {
	opacity: 1;
}

.sec-top-kv__inner {
	position: relative;
}

.sec-top-kv__colWrapper {
	position: relative;
	width: 100%;
}

.sec-top-kv__col {
	overflow: hidden;
}

.swiper-slide {
	overflow: hidden;
}

.sec-top-kv-over {
	position: absolute;
	top: 0;
	z-index: 5;
	width: 100%;
	height: 100%;
}

.sec-top-kv-circle {
	position: absolute;
	top: 50%;
	left: 90%;
	transform: translate(-50%, -50%);
	margin-top: -3vw;
	z-index: 1;
	overflow: hidden;
}

.sec-top-kv-circle__inner {
	opacity: 0;
	transition: all 1s cubic-bezier(0.37, 0, 0.63, 1);
	width: 100vw;
	margin: 0 auto;
	overflow: hidden;
}

.sec-top-kv-circle__inner.on {
	opacity: 1;
}

.sec-top-kv-bg-ov {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 8;
	background: #D9E4E8;
	mix-blend-mode: multiply;
}

.sec-top-kv__inner02 {
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	z-index: 100;
	margin-top: 2em;
}

.sec-top-kv-catch {
	width: 100.5vw;
	margin: 0 -1.5vw;
	z-index: 10;
	scale: 2.5;
}

.sec-top-kv__ttlWrapper {
	z-index: 10;
	text-align: left;
	margin-left: 5vw;
}

.sec-top-kv__ttl {
	font-size: clamp(24px, 10vw, 30px);
	color: #ffffff;
	letter-spacing: 0.02em;
	line-height: 1.5;
	padding-top: 0.8em;
}

.sec-top-kv__txt {
	font-size: clamp(13px, 3.5vw, 24px);
	line-height: 2;
}

.sec-top-kv__txt>span {
	font-weight: 500;
	line-height: 1;
	display: inline;
	padding: 0.15em 0.4em;
	box-decoration-break: clone;
	background-repeat: no-repeat;
	background-size: 0% 100%;
	background-position: left bottom;
	transition: background-size .6s ease;
}

.fade_t.fade_in .sec-top-kv__txt>span.fade_bg_txt {
	background-image: linear-gradient(transparent 0%, #FFFFFF 0%);
	background-size: 100% 100%;
}

.sec-top-kv-catch__slider__item {
	padding: 0 1.5em;
}

.sec-top-entry__btnWrapper {
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 100;
}

.sec-top-entry__btnWrapper:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: #0075EB;
	width: 50%;
	height: 100%;
	z-index: -1;
}

.sec-top-entry__btnWrapper:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: #14C451;
	width: 50%;
	height: 100%;
	z-index: -1;
}

.sec-top-entry__btnInner {
	display: flex;
}

.sec-top-entry-btn {
	width: 50%;
	text-align: center;
}

.sec-top-entry-btn a {
	background: rgba(0, 117, 235, 1);
	color: #ffffff;
	line-height: 1.4;
	display: block;
	transition: 0.3s;
}

.sec-top-entry-btn a>div {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1em 3em;
}

.sec-top-entry-btn div span:nth-of-type(1) {
	font-size: 16px;
	line-height: 1;
}

.sec-top-entry-btn div span:nth-of-type(2) {
	font-size: 11px;
	line-height: 1;
}

.sec-top-entry-btn:nth-of-type(2) a {
	background: #14C451;
}

.sec-top-entry-btn .btn-link--icon {
	right: 0;
}

.sec-top-kv__sideNav {
	display: none;
}

.sec-top-kv__colWrapper .swiper-slide-prev:not(.swiper-slide-active) .swiper-img,
.sec-top-kv-over .swiper-slide-prev:not(.swiper-slide-active) .swiper-img {
	filter: blur(6px);
}

.sec-top-kv .swiper-img img {
	transform: scale(1.03);
	filter: blur(3px);
}

.sec-top-kv.on .swiper-img img {
	transform: scale(1);
	transition: all 1s cubic-bezier(0.37, 0, 0.63, 1);
	filter: blur(0);
}

@media (min-width: 768px) {
	.sec-top-kv__inner02 {
		margin-top: 7em;
	}

	.sec-top-kv-catch {
		scale: 1;
	}

	.sec-top-kv-circle__inner {
		width: 80vw;
	}

	.sec-top-kv__ttl {
		font-size: clamp(24px, 6vw, 40px);
		color: #ffffff;
		letter-spacing: 0.02em;
		line-height: 1.5;
		padding-top: 0.3em;
	}

	.sec-top-kv__txt {
		font-size: 18px;
		font-size: clamp(16px, 4vw, 18px);
		line-height: 2;
	}

	.sec-top-kv__txt>span {
		line-height: 2.7;
		padding: 0.45em 0.9em;
	}

	.sec-top-entry-btn div span:nth-of-type(1) {
		font-size: 26px;
	}

	.sec-top-entry-btn div span:nth-of-type(2) {
		font-size: 18px;
	}

	.sec-top-entry-btn a:hover {
		opacity: 0.6;
	}

	/* hover時だけtransition有効 */
	.sec-top-entry-btn a:hover .btn-link--icon>span span::before,
	.sec-top-entry-btn a:hover .btn-link--icon>span span::after {
		transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	/* before → 右へ抜ける */
	.sec-top-entry-btn a:hover .btn-link--icon>span span::before {
		transform: translate(100%, 0);
	}

	/* after → 左から入る */
	.sec-top-entry-btn a:hover .btn-link--icon>span span::after {
		transform: translate(0, 0);
		transition-duration: 1s;
		transition-delay: 0.3s;
	}
}

@keyframes loop {
	to {
		-webkit-transform: translateX(-100%);
		transform: translate(-100%)
	}
}

@media screen and (min-width: 992px) {
	.sec-top-kv-circle {
		left: 50%;
	}

	.sec-top-kv-circle__inner {
		width: 46vw;
	}

	.sec-top-kv__sideNav {
		position: fixed;
		right: 0;
		top: 80%;
		transform: translateY(-50%);
		display: inline-flex;
		flex-direction: column;
		z-index: 200;
		margin-right: 1em;
	}

	.sec-top-kv__sideNav a {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		color: #ffffff;
	}

	.sec-top-kv__sideNav a:nth-of-type(1) {
		background: #0075EB;
		border-radius: 9999px 9999px 0 0;
		padding: 1.5em 0.5em 1em;
	}

	.sec-top-kv__sideNav a:nth-of-type(2) {
		background: #14C451;
		border-radius: 0 0 9999px 9999px;
		padding: 1em 0.5em 1.5em;
	}

	.sec-top-kv__sideNav a:nth-of-type(1) span:nth-of-type(1),
	.sec-top-kv__sideNav a:nth-of-type(2) span:nth-of-type(1) {
		writing-mode: vertical-rl;
		font-size: 20px;
	}

	.sec-top-kv__sideNav a:nth-of-type(1) span:nth-of-type(2),
	.sec-top-kv__sideNav a:nth-of-type(2) span:nth-of-type(2) {
		font-size: 14px;
	}

	.sec-top-entry__btnWrapper {
		display: none;
	}

	.sec-top-entry-btn a>div {
		padding: 2.7em 3em;
	}

	.sec-top-kv-bg-ov {
		height: 100%;
	}
}


@media screen and (min-width: 1199px) {
	.swiper-img img {
		margin-top: -4.5em;
	}

	.sec-top-kv__inner02 {
		margin-top: 4em;
	}
}

@media screen and (min-width: 1399px) {
	.sec-top-kv__ttl {
		font-size: clamp(24px, 6vw, 52px);
	}

	.sec-top-kv__txt {
		font-size: clamp(16px, 4vw, 18px);
	}

	.swiper .swiper-wrapper {
		min-height: 800px;
	}

	.swiper-img img {
		margin-top: -4em;
	}
}

@media screen and (max-width: 992px) {
	.swiper .swiper-wrapper {
		height: 95vh;
	}

	.swiper-img {
		width: 100%;
		height: 100%;
	}

	.swiper-img img {
		width: 100%;
		height: calc(100vh + 1.5em);
		object-fit: cover;
		object-position: center center;
		margin-top: -1.5em;
	}

	.sec-top-entry__btnWrapper {
		transition: 0.3s;
	}
}


@media screen and (max-width: 768px) {
	.swiper-img img {
		height: calc(100vh + 2.5em);
		margin-top: -2.5em;
	}
}

@media screen and (min-width: 993px) {
	.pc {
		display: block;
	}

	.sp {
		display: none;
	}
}

@media screen and (max-width: 992px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}

/*----------------------------------------
	sec-top-message
-----------------------------------------*/

.sec-top-message {
	padding: 2em 0 3em;
}

.sec-top-ttl-sub {
	font-size: 24px;
}

.sec-top-message__pic {
	position: relative;
}

.sec-top-message__name-en {
	position: absolute;
	bottom: 0;
	right: 0;
	writing-mode: vertical-rl;
	transform: rotate(-180deg);
	font-size: 30px;
	color: #0075EB;
	letter-spacing: 0.1em;
	margin-bottom: -1em;
	white-space: nowrap;
}

.sec-top-message__name {
	font-size: 22px;
}

@media (min-width: 768px) {
	.sec-top-message {
		padding: 6em 0 7em;
	}

	.sec-top-ttl-sub {
		font-size: 32px;
		line-height: 1.4;
	}

	.sec-top-message__inner {
		display: flex;
	}

	.sec-top-message__picCol {
		width: 40%;
	}

	.sec-top-message__txtCol {
		flex: 1;
		padding-left: 3em;
	}

	.sec-top-message__name-en {
		left: 0;
		right: inherit;
		font-size: 38px;
		color: #0075EB;
	}

	.sec-top-message__name {
		font-size: 30px;
	}
}

@media (min-width: 1199px) {
	.sec-top-ttl-sub {
		font-size: 43px;
		line-height: 1.4;
	}
}

/*----------------------------------------
	sec-top-expertise
-----------------------------------------*/

.sec-top-expertise {
	position: relative;
	background: linear-gradient(to bottom,
			#0075EB 0%,
			#0075EB 40%,
			#79D3E8 100%);
	background-size: 100% 200%;
	background-position: 50% 100%;
	padding: 0 0 3em;
	animation: none;
}

.fade_t.fade_in.sec-top-expertise {
	animation: bgMove 4s ease forwards;
}

@keyframes bgMove {
	0% {
		background-position: 50% 100%;
		background-size: 100% 200%;
	}

	100% {
		background-position: 50% 0%;
		background-size: 100% 400%;
	}
}

.sec-top-expertise-en {
	position: absolute;
	right: 0;
	top: 0;
	margin-left: auto;
	padding-top: 2em;
	width: 100%;
	padding-left: 30%;
}

.sec-top-expertise-en img {
	max-width: 700px;
}

.sec-top-expertise__col {
	background: #ffffff;
	padding: 1em;
}

.sec-top-expertise__col:nth-of-type(n+2) {
	margin-top: 2em;
}

.sec-top-expertise__col__ttl-sub {
	font-size: 14px;
}

.sec-top-expertise__col__ttl {
	font-size: 22px;
	line-height: 1.4;
}

.sec-top-expertise__col__picWrapper {
	display: flex;
	align-items: center;
	justify-content: center;
}

.sec-top-expertise__col__pic {
	width: 50%;
	padding: 0 1em 0 0;
	max-width: 150px;
}

/*svgアニメーション*/
.sec-top-expertise-en svg {
	width: 100%;
	height: auto;
	display: block;
	max-width: 693px;
}

.sec-top-expertise .hand {
	fill: none;
	stroke: #fff;
	stroke-width: 10px;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media (min-width: 992px) {
	.sec-top-expertise {
		padding: 0 0 5.5em;
	}

	.sec-top-expertise-en {
		margin-top: 0;
		padding-left: 46%;
	}

	.sec-top-expertise__colWrapper {
		display: flex;
		gap: 2em;
	}

	.sec-top-expertise__col {
		padding: 2em;
	}

	.sec-top-expertise__col:nth-of-type(n+2) {
		margin-top: 0;
	}

	.sec-top-expertise__col__picWrapper {
		display: block;
	}

	.sec-top-expertise__col__pic {
		display: flex;
		align-items: center;
		padding: 0 20%;
		width: 100%;
		max-width: inherit;
	}

	.sec-top-expertise__col__ttl-sub {
		font-size: 18px;
	}

	.sec-top-expertise__col__ttl {
		font-size: 26px;
		line-height: 1.8;
	}
}


/*----------------------------------------
	sec-top-interview
-----------------------------------------*/

.sec-top-interview {
	padding: 0 0 4em;
	position: relative;
	overflow: hidden;
}

.sec-top-interview__inner {
	text-align: center;
}

.sec-top-interview-en {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	margin-right: auto;
	padding-left: 40%;
	margin-top: 3em;
	line-height: 1;
	z-index: 1;
	margin-right: 1em;
}

.sec-top-interview-en img {
	max-width: 570px;
}

.sec-top-interview__txtWrapper {
	position: relative;
}

.sec-top-interview-en-circle {
	position: absolute;
	width: 30%;
	bottom: 0;
	right: 0;
	margin-right: -1em;
	margin-bottom: -3em;
	animation: 16s linear infinite rotation1;
}

.sec-top-interview__slider__pic {
	position: relative;
	overflow: hidden;
	aspect-ratio: 300 / 440;
	width: 100%;
}

.sec-top-interview__slider__pic img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.sec-top-interview__slider__ttl {
	position: absolute;
	right: 1em;
	bottom: 1em;
	color: #fff;
	z-index: 2;
}

/* 2つの縦文字を「横に」並べる */
.sec-top-interview__slider__ttl .ttl-inner {
	display: flex;
	align-items: flex-end;
	gap: 0.7em;
}

/* 左：和文（縦書き） */
.sec-top-interview__slider__ttl .ja {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-size: 16px;
	letter-spacing: 0.3em;
	line-height: 1;
}

/* 右：英字（縦に積む・文字は回転させない） */
.sec-top-interview__slider__ttl .en {
	writing-mode: vertical-rl;
	font-size: 38px;
	letter-spacing: 0.2em;
	line-height: 1;
	transform: rotate(180deg);
}

.sec-top-interview__slider__item {
	margin-right: 1em;
}

.sec-top-interview__sliderWrapper {
	display: flex;
	flex-direction: column-reverse;
}

.sec-top-interview__txt {
	padding-right: 28%;
}

/*svgアニメーション*/
.sec-top-interview-en svg {
	width: 100%;
	height: auto;
	display: block;
	max-width: 569px;
}

#svg-mask-write-interview .hand {
	fill: none;
	stroke: #fff;
	/* マスク用は白 */
	stroke-width: 10px;
	stroke-linecap: round;
	stroke-linejoin: round;

	/* 欠け対策（特にSafari） */
	vector-effect: non-scaling-stroke;
	shape-rendering: geometricPrecision;
}

@media screen and (min-width:768px) {
	.sec-top-interview {
		padding: 6em 0 5.5em;
	}

	.sec-top-interview__sliderWrapper {
		max-width: calc(100% - (50% - (1200px / 2)));
		margin-left: 0;
		margin-right: auto;
		flex-direction: row;
	}

	.sec-top-interview__txtWrapper {
		width: 54%;
		z-index: 1;
	}

	.sec-top-interview__slider {
		width: 75%;
		overflow: hidden;
	}

	.sec-top-interview__ttlWrapper {
		position: relative;
		display: inline-flex;
		flex-direction: row-reverse;
		justify-content: center;
	}

	.sec-top-interview-en {
		left: 0;
		right: inherit;
		padding-left: 22%;
		margin-top: -3em;
		margin-left: -6em;
		margin-right: inherit;
	}

	.sec-top-interview-en-circle {
		position: relative;
		width: 17%;
		z-index: 1;
		margin-right: 0;
	}

	.sec-top-interview__txt {
		padding-right: 0;
	}
}


/*----------------------------------------
	sec-top-other
-----------------------------------------*/

.sec-top-other__inner {
	border: 10px solid #0075EB;
	max-width: 1440px;
	margin: 0 auto;
	padding: 15% 0 10%;
}

.sec-top-other__col {
	position: relative;
}

.sec-top-other__col a {
	color: inherit;
}

.sec-top-other .sec-top-ttl-sub {
	position: relative;
}

.sec-top-other__col__fig {
	position: absolute;
	top: 0;
	right: 0;
	width: 40%;
	z-index: -1;
}

.sec-top-other__col:nth-of-type(1) .sec-top-other__col__fig {
	margin-right: 0;
	margin-top: -1em;
}

.sec-top-other__col:nth-of-type(2) .sec-top-other__col__fig {
	margin-right: 0;
	margin-top: -2.5em;
}

.sec-top-other__col__icon {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 40px;
	height: 32px;
}

.btn-link--iconWrapper {
	position: relative;
}

.sec-top-other__col:nth-of-type(1) {
	margin-bottom: 15%;
}

@media screen and (min-width:768px) {
	.sec-top-other__inner {
		border: 20px solid #0075EB;
		max-width: 1440px;
		margin: 0 auto;
		padding: 12% 0 8%;
	}

	.sec-top-other__colWrapper {
		display: flex;
	}

	.sec-top-other__col {
		width: 50%;
	}

	.sec-top-other__col:nth-of-type(1) {
		padding-right: 3em;
		margin-bottom: 0;
	}

	.sec-top-other__col:nth-of-type(2) {
		padding-left: 3em;
	}

	.sec-top-other__col__fig {
		margin-top: -4em;
	}

	.sec-top-other__col:nth-of-type(1) .sec-top-other__col__fig {
		margin-right: 6em;
	}

	.sec-top-other__col:nth-of-type(2) .sec-top-other__col__fig {
		margin-right: 0;
	}

	.sec-top-other__col__ttl img {
		max-height: 72px;
		width: auto;
	}

	/* hover時だけtransition有効 */
	.sec-top-other__col a:hover .btn-link--icon>span span::before,
	.sec-top-other__col a:hover .btn-link--icon>span span::after {
		transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	/* before → 右へ抜ける */
	.sec-top-other__col a:hover .btn-link--icon>span span::before {
		transform: translate(100%, 0);
	}

	/* after → 左から入る */
	.sec-top-other__col a:hover .btn-link--icon>span span::after {
		transform: translate(0, 0);
		transition-duration: 1s;
		transition-delay: 0.3s;
	}
}


/* ------------------------------
   sec-cmn-entry
------------------------------ */

.sec-cmn-entry {
	margin: 3em 0 0;
	overflow: hidden;
}

.sec-cmn-entry__slider {
	overflow: hidden;
}

.sec-cmn-entry__slider__item {
	margin-right: 1em;
}

.sec-cmn-entry__inner .sec-top-ttl {
	position: relative;
	margin-top: -1em;
	z-index: 1;
}

.sec-cmn-entry__btnCol3__btn a {
	position: relative;
	display: block;
	color: #ffffff;
	text-align: center;
	padding: 1.6em 0;
	line-height: 1.4;
	transition: 0.3s;
}

.sec-cmn-entry__btnCol3__btn:nth-of-type(1) a {
	background: #58656A;
}

.sec-cmn-entry__btnCol3__btn:nth-of-type(2) a {
	background: #0075EB;
}

.sec-cmn-entry__btnCol3__btn:nth-of-type(3) a {
	background: #14C451;
}

.sec-cmn-entry__btnCol3__btn:nth-of-type(n+2) {
	margin-top: 0.3em;
}

.sec-cmn-entry__btnCol3__btn a span:nth-of-type(1) {
	font-size: 22px;
}

.sec-cmn-entry__btnCol3__btn a span:nth-of-type(2) {
	font-size: 13px;
	letter-spacing: 0.05em;
}

@media screen and (min-width:768px) {
	.sec-cmn-entry {
		margin: 6em 0 0;
	}

	.sec-cmn-entry__slider {
		/*width: 70%;*/
		overflow: hidden;
	}

	.sec-cmn-entry__inner .sec-top-ttl {
		margin-top: -2.5em;
	}

	.sec-cmn-entry__btnCol3 {
		display: flex;
	}

	.sec-cmn-entry__btnCol3__btn {
		width: 100%;
	}

	.sec-cmn-entry__btnCol3__btn:nth-of-type(n+2) {
		margin-top: 0;
	}

	.sec-cmn-entry__btnCol3__btn a span:nth-of-type(1) {
		font-size: 26px;
	}

	.sec-cmn-entry__btnCol3__btn a span:nth-of-type(2) {
		font-size: 16px;
	}

	.sec-cmn-entry .btn-link--icon {
		top: inherit;
		bottom: 0;
		transform: none;
		margin-bottom: 0.8em;
	}

	.sec-cmn-entry__btnCol3__btn a:hover {
		opacity: 0.7;
	}

	/* hover時だけtransition有効 */
	.sec-cmn-entry__btnCol3__btn a:hover .btn-link--icon>span span::before,
	.sec-cmn-entry__btnCol3__btn a:hover .btn-link--icon>span span::after {
		transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	/* before → 右へ抜ける */
	.sec-cmn-entry__btnCol3__btn a:hover .btn-link--icon>span span::before {
		transform: translate(100%, 0);
	}

	/* after → 左から入る */
	.sec-cmn-entry__btnCol3__btn a:hover .btn-link--icon>span span::after {
		transform: translate(0, 0);
		transition-duration: 1s;
		transition-delay: 0.3s;
	}
}


/*----------------------------------------
	sec-interview
-----------------------------------------*/

.sec-interview {
	position: relative;
	overflow: hidden;
}

.sec-interview__ttlWrapper {
	position: relative;
	padding-bottom: 10%;
	margin-bottom: 10%;
}

.sec-interview__ttl {
	font-size: 20px;
}

.sec-interview-en {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	padding-left: 40%;
	margin-top: 0;
	line-height: 1;
	z-index: 1;
	margin-right: 1em;
}

.sec-interview-en img {
	max-width: 570px;
}

.sec-interview-en svg {
	margin-left: auto;
}

.sec-interview__txtWrapper {
	position: relative;
}

.sec-interview__col:nth-of-type(n+2) {
	margin-top: 4em;
}

.sec-interview__col__label {
	font-size: 14px;
	color: #ffffff;
	display: inline-block;
	padding: 0 1em;
}

.sec-interview__col__label_blue {
	background: #0075EB;
}

.sec-interview__col__txt {
	font-size: 18px;
}

.sec-interview__col__name {
	font-size: 40px;
}

.sec-interview__col__name_blue {
	color: #0075EB;
}

.sec-interview__col__year {
	font-size: 18px;
}

.sec-interview__col__nameWrapper {
	display: flex;
	align-items: center;
}

.sec-interview__col {
	position: relative;
}

.sec-interview__col__pic {
	overflow: hidden;
	aspect-ratio: 375 / 550;
	width: 85%;
	margin: 0 auto;
}

.sec-interview__col__pic img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.sec-interview__col__icon {
	position: absolute;
	bottom: 0;
	right: 2em;
	width: 62px;
	height: 50px;
}

.sec-interview__col a {
	color: inherit;
	transition: 0.3s;
}

.sec-interview__col a:hover {
	opacity: 0.7;
}

/* hover時だけtransition有効 */
.sec-interview__col a:hover .btn-link--icon>span span::before,
.sec-interview__col a:hover .btn-link--icon>span span::after {
	transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* before → 右へ抜ける */
.sec-interview__col a:hover .btn-link--icon>span span::before {
	transform: translate(100%, 0);
}

/* after → 左から入る */
.sec-interview__col a:hover .btn-link--icon>span span::after {
	transform: translate(0, 0);
	transition-duration: 1s;
	transition-delay: 0.3s;
}

.sec-interview__col .btn-link--icon {
	margin-top: 2em;
	margin-right: -1em;
}



.btn-link--icon_bgblue {
	background: #0075EB;
	top: inherit;
	right: 0;
	transform: none;
}

.btn-link--icon_bgblue.btn-link--icon_green {
	background: #14C451;
}

.btn-link--icon_bgblue.list-symbol-icon {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin-right: 0.5em;
}

.sec-interview__col .btn-link--icon {
	top: inherit;
	right: 0;
	transform: none;
}

.sec-interview__col .btn-link--icon>span span::before,
.sec-interview__col .btn-link--icon>span span::after {
	background: url(../images/btn_arrow_white.svg) no-repeat center / contain;
}

.sec-interview__col__inner {
	position: relative;
}

/*newgrad*/
.sec-interview__col_newgrad .sec-interview__col__label {
	background: #0075EB;
}

.sec-interview__col_newgrad .sec-interview__col__name {
	color: #0075EB;
}

.sec-interview__col_newgrad .btn-link--icon {
	background: #0075EB;
}

/*career*/
.sec-interview__col_career .sec-interview__col__label {
	background: #14C451;
}

.sec-interview__col_career .sec-interview__col__name {
	color: #14C451;
}

.sec-interview__col_career .btn-link--icon {
	background: #14C451;
}

@media screen and (min-width:768px) {
	.sec-interview__ttlWrapper {
		display: inline-flex;
		flex-direction: row-reverse;
		justify-content: center;
	}

	.sec-interview-en {
		padding-left: 50%;
		margin-bottom: 2em;
	}

	.sec-interview__colWrapper {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.sec-interview__col {
		width: calc((100% - 2em) / 2);
	}

	.sec-interview__col__pic {
		width: 100%;
	}

	.sec-interview__col .btn-link--icon {
		margin-top: 0;
		margin-right: 0;
	}

	.sec-interview__col:nth-of-type(n+2) {
		margin-top: 0;
	}

	.sec-interview__col:nth-of-type(n+3) {
		margin-top: 2em;
	}
}

@media screen and (min-width:992px) {
	.sec-interview__ttlWrapper {
		margin-bottom: 0;
	}

	.sec-interview__colWrapper {
		justify-content: flex-start;
	}

	.sec-interview__col {
		width: calc((100% - 3em) / 3);
		margin-right: 1.5em;
	}

	.sec-interview__col:nth-of-type(n+2) {
		margin-top: 0;
	}

	.sec-interview__col:nth-of-type(n+3) {
		margin-top: 0;
	}

	.sec-interview__col:nth-of-type(n+4) {
		margin-top: 2.5em;
	}

	.sec-interview__col:nth-child(3n) {
		margin-right: 0;
	}

	.sec-interview__col__icon .btn-link--icon {
		width: 62px;
		height: 50px;
	}

	.sec-interview__col__icon .btn-link--icon>span span {
		scale: 1.5;
	}

	.sec-interview__col__pic {
		width: 100%;
	}
}

/*----------------------------------------
	kv
-----------------------------------------*/

.kv {
	position: relative;
	overflow: hidden;
	opacity: 0;
	transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}

.kv.on {
	opacity: 1;
}

.kv__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 100;
	max-width: 1380px;
	width: 100%;
	text-align: center;
}

.kv__bg {
	position: relative;
	background: #000000;
}

.kv__bg:before {
	content: "";
	position: absolute;
	top: 0;
	background: #000000;
	width: 100%;
	height: 100vh;
	z-index: -1;
}

.kv__bg-pic {
	opacity: 0;
	transition: 1s;
}

.kv__bg-pic.on {
	opacity: 1;
}

.kv__bg-pic img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 95vh;
}

.kv__ttl01 {
	font-size: 11vw;
	line-height: 1;
	margin-top: 15%;
}

.kv__ttl02 {
	font-size: 5vw;
}

.kv__scroll {
	position: absolute;
	bottom: 120px;
	left: 25px;
	z-index: 100;
}

.kv__scroll a {
	position: absolute;
	left: -10px;
	top: -45px;
	color: #ffffff;
	font-size: 11px;
}

.kv__scroll:after {
	content: "";
	position: absolute;
	bottom: -70px;
	width: 1px;
	height: 35px;
	background: #ffffff;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}

.kv .slide.slide-up .slide-up01 {
	animation: slide-up01 0.8s cubic-bezier(0.46, 0.26, 0.15, 0.89) 0.5s 1 forwards;
}

.kv__banner {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	position: absolute;
	bottom: 6%;
	right: 0;
	z-index: 100;
}

.kv__banner__inner {
	display: flex;
}

.kv__banner img {
	width: 65vw;
}

@media screen and (min-width: 768px) {
	.kv__inner {
		text-align: left;
	}

	.kv__bg {
		position: relative;
		width: 100%;
		height: 100vh;
	}

	.kv:after {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
	}

	.kv__bg-pic {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		min-height: 100%;
		min-width: 100%;
		z-index: -2;
	}

	.kv__bg-pic.on {
		z-index: 2;
	}

	.kv__bg-pic img {
		height: 100vh;
	}

	.kv__ttl01 {
		font-size: 90px;
		line-height: 1;
		margin-top: 20%;
	}

	.kv__ttl02 {
		font-size: 36px;
	}

	.kv__scroll {
		bottom: 60px;
		left: 54px;
	}

	.kv__scroll a {
		left: -15px;
		top: -65px;
		font-size: 16px;
	}

	.kv__scroll:after {
		bottom: 0;
		height: 60px;
	}

	.kv__video {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		/*縦横幅指定*/
		width: 177.77777778vh;
		/* 16:9 の幅→16 ÷ 9＝ 177.77% */
		height: 56.25vw;
		/* 16:9の幅 → 9 ÷ 16 = 56.25% */
		min-height: 100%;
		min-width: 100%;
		transition: 1s;
		z-index: 1;
	}

	.kv__video.finished {
		opacity: 0;
	}

	.kv__bg-pic img {
		height: 100vh;
	}

	.kv__banner {
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		z-index: 100;
		max-width: 1380px;
		width: 100%;
		padding-left: 20%;
	}

	.kv__banner a+a {
		margin-left: 1%;
	}

	.kv__banner a {
		transition: 0.3s;
	}

	.kv__banner a:hover {
		opacity: 0.8;
	}

	.kv__banner img {
		width: 100%;
		max-width: 300px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.kv__ttl01 {
		font-size: 72px;
	}

	.kv__ttl02 {
		font-size: 29px;
	}
}


/* ------------------------------
   sec-interview-detail
------------------------------ */

.kv-interview {
	position: relative;
	margin-top: 2em;
	overflow: hidden;
}

.kv-interview__inner {
	display: flex;
	flex-direction: column-reverse;
}

.kv-interview__ttl__inner {
	padding: 5% 5% 5% 10%;
}

.kv-interview__pic {
	position: relative;
	display: inline-block;
	font-size: 32px;
	line-height: 1;
	color: #2a3d65;
	letter-spacing: 0.06em;
	padding-right: 5%;
	width: 100%;
}

.kv-interview__pic__bg {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 120%;
	height: 100%;
	z-index: -1;
	padding-left: 5%;
	padding-top: 5%;
}

.kv-interview__pic__bg img {
	object-fit: cover;
	object-position: bottom center;
	width: 100%;
	height: 100%;
}

.kv-interview__label {
	background: #ffffff;
	display: inline-block;
	padding: 0 1em;
	font-size: 14px;
}

.kv-interview__name {
	color: #ffffff;
	font-size: 60px;
	display: flex;
	align-items: center;
	line-height: 1;
}

.kv-interview__name span {
	font-size: 24px;
}

.kv-interview__prof {
	display: flex;
	align-items: center;
}

.kv-interview__year {
	color: #ffffff;
	font-size: 18px;
}

.kv-interview__txt {
	color: #ffffff;
	font-size: 18px;
}

.sec-interview-detail__inner {
	padding-top: 10%;
}

.sec-interview-detail__col__ttl-sub {
	font-size: 18px;
	display: flex;
	align-items: center;
}

.sec-interview-detail__col__ttl-sub__txt {
	line-height: 1.4;
	width: calc(100% - 4em);
}

.sec-interview-detail__col__ttl-sub__q {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	margin-right: 0.5em;
	width: 4em;
	height: 4em;
	rotate: -15deg;
}

.sec-interview-detail__col__ttl-sub__q:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 42px;
	height: 30px;
	border-radius: 50%;
	z-index: -1;
}

.sec-interview-detail__col__ttl-sub span {
	rotate: 15deg;
	display: block;
	margin-top: -0.3em;
}

.sec-interview-detail__col__ttl {
	font-size: 20px;
}

.sec-interview-detail__col__ttlWrapper {
	margin-top: 3%;
}

.sec-interview-detail__col:nth-of-type(n+2) {
	margin-top: 10%;
}

.sec-interview-detail__col-large {
	padding-top: 12%;
}

.sec-interview-detail__col-large__ttlWrapper {
	position: relative;
	background: #ffffff;
	margin-top: -10%;
	z-index: 1;
	padding: 4%;
}

.sec-interview-detail .btn-link {
	background: #ffffff;
	color: #0075EB;
	border: 1px solid #0075EB;
	max-width: 390px;
}

.sec-interview-detail .btn-link--icon_bgblue {
	left: 0;
	margin-left: 1em;
}

.sec-interview-detail .btn-link--icon>span span {
	transform: rotate(-180deg);
}

.kv-interview__pic__bg span {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: cover;
}

/*newgrad*/
.sec-interview-detail_newgrad .kv-interview__pic__bg span {
	background-image: url("../../images/interview/kv_bg_newgrad.png");
}

.sec-interview-detail_newgrad .sec-interview-detail__col__ttl-sub__q:before {
	background: #0075EB;
}

.sec-interview-detail_newgrad .sec-interview-detail__col__ttl-sub__txt {
	color: #0075EB;
}

/*career*/
.sec-interview-detail_career .kv-interview__pic__bg span {
	background-image: url("../../images/interview/kv_bg_career.png");
}

.sec-interview-detail_career .sec-interview-detail__col__ttl-sub__q:before {
	background: #14C451;
}

.sec-interview-detail_career .sec-interview-detail__col__ttl-sub__txt {
	color: #14C451;
}

@media screen and (min-width: 992px) {
	.kv-interview {
		margin-top: 3em;
	}

	.kv-interview__inner {
		flex-direction: row-reverse;
		align-items: center;
		max-width: calc(100% - (50% - (1280px / 2)));
		margin-left: 0;
		margin-right: auto;
	}

	.kv-interview__ttl__inner {
		padding: 0 5% 0 5%;
	}

	.kv-interview__pic__bg {
		bottom: 0;
		left: 0;
		width: 120%;
		height: 130%;
		padding-left: 5%;
		padding-bottom: 0;
		padding-top: 0;
	}

	.kv-interview__ttlWrapper {
		width: 50%;
	}

	.kv-interview__picWrapper {
		width: 50%;
		padding-top: 4%;
		padding-bottom: 4%;
	}

	.kv-interview__pic {
		aspect-ratio: 770 / 560;
		padding-right: 0;
		z-index: 1;
	}

	.kv-interview__pic img {
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		object-position: center;
		height: 100%;
	}

	.kv-interview__name {
		font-size: 80px;
	}

	.sec-interview-detail__col {
		display: flex;
	}

	.sec-interview-detail__pic {
		width: 100%;
	}

	.sec-interview-detail__col__ttlWrapper {
		width: 80%;
		margin: 5% 0 0 -5%;
		padding: 4%;
		background: #ffffff;
	}

	.sec-interview-detail__col:nth-child(odd) {
		flex-direction: row-reverse;
	}

	.sec-interview-detail__col:nth-child(odd) .sec-interview-detail__col__ttlWrapper {
		margin: 5% -5% 0 0;
		position: relative;
		z-index: 1;
	}

	.sec-interview-detail__col-large__ttlWrapper {
		max-width: 870px;
		margin: -10% auto 0;
	}

	.sec-interview-detail__col__ttl {
		font-size: 30px;
	}

	.sec-interview-detail__col__ttl-sub {
		font-size: 22px;
	}

	.sec-interview-detail__col__ttl-sub__q {
		margin-top: -0.3em;
		width: 80px;
		height: 80px;
	}

	.sec-interview-detail__col__ttl-sub__q:before {
		width: 62px;
		height: 50px;
	}

	.sec-interview-detail__col__ttl-sub__txt {
		width: calc(100% - 80px);
	}

	.sec-interview-detail__col:nth-of-type(n+2) {
		margin-top: 5%;
	}

	.sec-interview-detail__col-large {
		padding-top: 6%;
	}
}

@media screen and (min-width: 1199px) {
	.kv-interview__name {
		font-size: 120px;
	}

	.kv-interview__name span {
		font-size: 30px;
	}

	.kv-interview__txt {
		font-size: 20px;
	}
}

@media screen and (min-width: 1499px) {
	.kv-interview__ttlWrapper {
		width: 40%;
	}

	.kv-interview__picWrapper {
		width: 60%;
		padding-top: 5%;
		padding-bottom: 0;
	}

	.kv-interview__pic__bg {
		width: 120%;
		height: 100%;
		padding-left: 5%;
		padding-bottom: 5%;
		margin-bottom: -5%;
		margin-bottom: 0;
	}
}

/*----------------------------------------
	sec-message
-----------------------------------------*/

.sec-top-ttl-sub {
	font-size: 24px;
}

.sec-message__intro__pic {
	position: relative;
}

.sec-message__intro__name-en {
	font-size: 30px;
	color: #0075EB;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.sec-message__intro__name {
	font-size: 22px;
}

@media (min-width: 992px) {
	.sec-top-ttl-sub {
		font-size: 32px;
		line-height: 1.4;
	}

	.sec-message__intro {
		display: flex;

	}

	.sec-message__intro__picCol {
		width: 40%;
	}

	.sec-message__intro__txtCol {
		flex: 1;
		padding-right: 3em;
	}

	.sec-message__intro__name-en {
		font-size: 38px;
		color: #0075EB;
	}

	.sec-message__intro__name {
		font-size: 30px;
	}

	.sec-message__intro02 {
		display: flex;
	}

	.sec-message__intro02__pic {
		width: 50%;
	}

	.sec-message__intro02__txt {
		flex: 1;
		padding-left: 2em;
	}
}

/*----------------------------------------
	sec-benefits
-----------------------------------------*/

.sec-benefits__inner {
	overflow: hidden;
}

.sec-benefits__intro {
	position: relative;
}

.sec-benefits__intro__pic {
	width: 90%;
	margin: 0 0 0 auto;
	position: relative;
	overflow: hidden;
	display: block;

	/* マスク画像の比率に合わせる */
	aspect-ratio: 1 / 1;
	/* 例。実際のpic01_bg.pngの比率に合わせる */

	-webkit-mask-image: url("../../images/benefits/pic01_bg.png");
	mask-image: url("../../images/benefits/pic01_bg.png");

	-webkit-mask-size: contain;
	mask-size: contain;

	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;

	-webkit-mask-position: center;
	mask-position: center;
}

.sec-benefits__intro__pic span,
.sec-benefits__intro__pic img {
	display: block;
	width: 100%;
	height: 100%;
}

.sec-benefits__intro__pic img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	scale: 1.05;
	transition: opacity 0.6s ease, scale 0.6s ease;
}

.sec-benefits.fade_t.fade_in .sec-benefits__intro__pic img {
	opacity: 1;
	scale: 1;
}

.sec-benefits-col__inner:nth-of-type(n+2) {
	margin-top: 12%;
}

.sec-benefits-col__col {
	margin-top: -4em;
}

.sec-benefits-col__col__ttl {
	font-size: 22px;
	margin-top: -4em;
}

.sec-benefits .sec-top-ttl {
	position: relative;
	width: 90%;
	z-index: 1;
}

.sec-top-ttl.typewriter,
.sec-top-other__col__ttl.typewriter {
	position: relative;
	display: inline-block;
}

.sec-top-ttl.typewriter img,
.sec-top-other__col__ttl.typewriter img {
	display: inline-block;
	width: auto;
	height: 100%;
	opacity: 0;
}

.sec-top-ttl.typewriter::before,
.sec-top-other__col__ttl.typewriter::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, #0075EB 0%, #0075EB 40%, #79D3E8 100%);
	background-size: 100% 200%;
	background-position: 50% 100%;
	animation: none;

	/* ←ここを変数化 */
	-webkit-mask-image: var(--mask-url);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	-webkit-mask-size: contain;

	mask-image: var(--mask-url);
	mask-repeat: no-repeat;
	mask-position: center center;
	mask-size: contain;
}

.fade_t.fade_in .sec-top-ttl.typewriter::before,
.fade_t.fade_in .sec-top-other__col__ttl.typewriter::before {
	animation: gradientMove 4s ease forwards;
}

@keyframes gradientMove {
	0% {
		background-position: 50% 100%;
		background-size: 100% 200%;
	}

	100% {
		background-position: 50% 0%;
		background-size: 100% 400%;
	}
}

.sec-top-ttl.typewriter.typewriter_bgwhite::before {
	background: linear-gradient(to bottom, #ffffff 0%, #ffffff 40%, #0075EB 100%);
}

@media (min-width: 768px) {
	.sec-top-ttl.typewriter img {
		height: 8vw;
		max-height: 108px;
		width: auto;
	}
}

@media (min-width: 992px) {
	.sec-top-ttl.typewriter img {
		max-width: inherit;
	}
}



.sec-benefits-col__col__ttl span {
	line-height: 2.1;
	padding: 0.2em 0.5em;
}

.sec-benefits-col__col__ttlWrapper {
	margin-top: 3%;
}

.sec-benefits-colWrapper {
	margin-top: 5em;
}

.sec-benefits-colWrapper__en {
	width: 70%;
	max-width: 450px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.sec-benefits-ex {
	padding: 5em 0 0;
}

.sec-benefits-ex__inner {
	display: flex;
	flex-direction: column;
}

.sec-benefits-ex__ttl p {
	margin-top: 1em;
	line-height: 1.9;
	text-align: left;
}

.sec-benefits-ex__col {
	position: relative;
	aspect-ratio: 1 / 0.9;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 0 2em;
	box-sizing: border-box;
	z-index: 2;
	width: 90%;
	margin: 0 auto;
}

.sec-benefits-ex__col h4,
.sec-benefits-ex__col p {
	position: relative;
	z-index: 2;
}

.sec-benefits-ex__col__bg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	opacity: 0.35;
	z-index: 1;
	pointer-events: none;
}

.sec-benefits-ex__col__bg img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}


@media (min-width: 768px) {
	.sec-benefits {
		position: relative;
	}

	.sec-benefits__intro {
		position: inherit;
		display: flex;
	}

	.sec-benefits__inner {
		max-width: calc(100% - (50% - (1200px / 2)) + 4%);
		margin-right: 0;
		margin-left: auto;
		padding-left: 4%;
	}

	.sec-benefits .sec-top-ttl {
		//width: 120%;
	}

	.sec-benefits__intro__pic {
		width: 90%;
		margin-left: -10%;
	}

	.sec-benefits__intro__txtWrapper {
		position: relative;
		padding-top: 3em;
		width: 200%;
		z-index: 1;
	}

	.sec-benefits-ex {
		padding: 0;
	}

	.sec-benefits-ex__inner {
		position: relative;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		row-gap: 8em;
	}

	.sec-benefits-ex__col {
		position: relative;
		width: 45%;
		aspect-ratio: 1 / 1;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		padding: 2em 2em;
		box-sizing: border-box;
		z-index: 2;
	}

	.sec-benefits-ex__ttl {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 75%;
		margin: 0 auto;
		background: #ffffff;
		padding: 2.5em 2em;
		z-index: 10;
		max-width: 450px;
	}
}

@media (min-width: 992px) {
	.sec-benefits-col__col {
		display: flex;
	}

	.sec-benefits-col__pic {
		width: 100%;
	}

	.sec-benefits-col__col__ttlWrapper {
		width: 90%;
		margin: 20% 0 0 -15%;
	}

	.sec-benefits-col__col__ttlWrapper__inner {
		padding: 2.2em 2em;
		background: #ffffff;
	}

	.sec-benefits-col__col__ttl {
		font-size: 30px;
		margin-top: 0;
		margin-left: 1em;
		margin-bottom: -0.4%;
	}

	.sec-benefits-col__col__ttl span {
		line-height: 2.1;
		padding: 0.2em 0.5em;
	}

	.sec-benefits-colWrapper {
		margin-top: clamp(50px, 10vw, 100px);
	}

	.sec-benefits-col__inner02 {
		max-width: calc(100% - (50% - (1200px / 2)) + 4%);
		margin-left: 0;
		margin-right: auto;
		padding-right: 4%;
	}

	.sec-benefits-col__inner:nth-of-type(n+2) {
		margin-top: 8%;
	}

	.sec-benefits-col__inner:nth-child(even) .sec-benefits-col__inner02 {
		margin-right: inherit;
		margin-left: auto;
		padding-right: 0;
		padding-left: 4%;
	}

	.sec-benefits-col__inner:nth-child(even) .sec-benefits-col__col {
		flex-direction: row-reverse;
	}

	.sec-benefits-col__inner:nth-child(even) .sec-benefits-col__col__ttlWrapper {
		margin: 20% -15% 0 0;
		position: relative;
		z-index: 1;
	}

	.sec-benefits-ex__inner {
		row-gap: 5em;
	}

	.sec-benefits__intro__pic {
		margin-left: -10%;
	}
}

@media (min-width: 1199px) {
	.sec-benefits .sec-top-ttl {
		//width: 150%;
	}

	.sec-benefits-ex__col {
		width: 35%;
	}

	.sec-benefits-ex__ttl {
		max-width: 650px;
		padding: 2em 2em;
	}

	.sec-benefits-ex__inner {
		row-gap: 6em;
	}
}

@media (min-width: 1599px) {
	.sec-benefits-ex__inner {
		row-gap: 0em;
	}

	.sec-benefits-ex__col {
		width: 42%;
	}

	.sec-benefits-ex__ttl {
		max-width: 550px;
	}
}

/* ------------------------------
   sec-other-link
------------------------------ */

.sec-other-link {
	border: 20px solid #0075EB;
	padding: 3% 0;
	margin-top: 8em;
}

.sec-other-link__col a {
	color: #000000;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 2.5em 0;
}

.sec-other-link__col__ttlWrapper {
	display: flex;
	justify-content: center;
	align-items: center;
}

.sec-other-link__col__icon {
	width: 5em;
}

.sec-other-link__col__ttl {
	font-size: 26px;
	flex: 1;
}

.sec-other-link__col__ttl-en {
	font-size: 16px;
}

.sec-other-link__col__ttl-enWrapper {
	position: relative;
}

.sec-other-link__col .btn-link--icon {
	right: -2em;
	top: 50%;
	transform: translateY(-50%);
	margin-top: 0.2em;
}

.sec-other-link__col:nth-of-type(n+2) {
	border-top: 1px dotted #000000;
}

@media (min-width: 992px) {
	.sec-other-link {
		margin-top: 12em;
	}

	.sec-other-link__colWrapper {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.sec-other-link__col {
		width: calc(100% / 3);
	}

	.sec-other-link__col:nth-of-type(n+2) {
		border-top: none;
		border-left: 1px dotted #000000;
	}

	.sec-other-link__col .btn-link--icon {
		right: -3em;
	}

	/* hover時だけtransition有効 */
	.sec-other-link__col a:hover .btn-link--icon>span span::before,
	.sec-other-link__col a:hover .btn-link--icon>span span::after {
		transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	/* before → 右へ抜ける */
	.sec-other-link__col a:hover .btn-link--icon>span span::before {
		transform: translate(100%, 0);
	}

	/* after → 左から入る */
	.sec-other-link__col a:hover .btn-link--icon>span span::after {
		transform: translate(0, 0);
		transition-duration: 1s;
		transition-delay: 0.3s;
	}

	.sec-other-link__col a {
		transition: 0.3s;
	}

	.sec-other-link__col a:hover {
		opacity: 0.7;
	}
}

/* ------------------------------
   sec-training
------------------------------ */

.sec-training-ex {
	padding: 8% 0 0;
}

.sec-training-ex__intro {
	position: relative;
	padding-bottom: 10%;
}

.sec-training-ex__intro__inner {
	display: flex;
}

.sec-training-ex__col__inner {
	position: relative;
	padding: 3% 0 10%;
	position: sticky;
	top: 0;
	background: #0075EB;
}

.sec-training-ex__col__inner:nth-of-type(1):before {
	content: '';
	position: absolute;
	background: #0075EB;
	width: 20%;
	height: 5%;
	right: 0;
	top: -4.5%;
}

.sec-training-ex__col__inner:nth-of-type(2),
.sec-training-ex__col__inner:nth-of-type(4) {
	padding: 3% 0 10%;
	background: #14C451;
}

.sec-training-ex__col__number {
	font-size: 52px;
	color: #ffffff;
	line-height: 1;
	margin-top: -2.2em;
}

.sec-training-ex__col__ttl {
	font-size: 21px;
}

.sec-training-ex__col__ttl span {
	line-height: 2.1;
	padding: 0.2em 0.5em;
	color: #000000;
}

.sec-training-ex__col__ttl span.marker {
	background: #ffffff;
}

.sec-training-ex__col__txt {
	color: #ffffff;
}

.sec-training-trainingpath {
	padding: 16% 0 0;
}

.sec-training-trainingpath .ttl-lv2 {
	margin-top: -0.5em;
	position: relative;
	z-index: 1;
}

.sec-training-trainingpath .sec-benefits-colWrapper__en {
	max-width: 350px;
}

.sec-training-trainingpath__tbl__ttlWrapper {
	display: flex;
	align-items: flex-end;
}

.sec-training-trainingpath__tbl__ttl-sub {
	line-height: 1;
}

.sec-training-trainingpath__tbl__tab__col {
	cursor: pointer;
	width: 50%;
}

.tab_panel {
	overflow: hidden;
	height: 0;
	opacity: 0;
	padding: 0;
}

.tab_panel.active {
	overflow: visible;
	height: auto;
	opacity: 1;
	transition: opacity .4s ease-in-out;
}

.sec-training-trainingpath__tbl__tab {
	display: flex;
	border-bottom: 2px solid #0075EB;
}

.sec-training-trainingpath__tbl__tab__col a {
	color: #8B8B8B;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	padding: 0.3em 0;
	text-align: center;
	line-height: 2;
	transition: 0.3s ease;
}

.sec-training-trainingpath__tbl__tab__col.active a {
	background: #0075EB;
	color: #ffffff !important;
}

.sec-training-trainingpath__tbl__ttl-en {
	display: inline-block;
}

.sec-training-trainingpath__tbl__col {
	position: relative;
	border: 1px dotted #0075EB;
	text-align: center;
	padding: 7% 1%;
}

.sec-training-trainingpath__tbl__col:nth-of-type(n+2) {
	margin-top: 2em;
}

.sec-training-trainingpath__tbl__icon {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	rotate: 90deg;
	transform-origin: 0 50%;
	width: 80px;
	height: 64px;
	margin-bottom: -3em;
	line-height: 1;
	z-index: 1;
}

.sec-training-trainingpath__tbl__inner {
	padding: 6% 0;
}

.sec-training-skill {
	position: relative;
	padding: 0 12px;
}

.sec-training-skill__inner {
	padding: 1em 0;
}

.sec-training-skill__left {
	display: flex;
	justify-content: center;
	align-items: center;
}

.sec-training-skill__left__icon {
	max-width: 46px;
}

.sec-training-skill__bg {
	position: absolute;
	top: 0;
	width: 12px;
	height: 100%;
	z-index: 5;
}

.sec-training-skill__bg img {
	max-width: inherit;
	height: 100%;
	width: auto;
}

.sec-training-skill__bg.left {
	left: 0;
}

.sec-training-skill__bg.right {
	right: 0;
}

.sec-training-skill__right__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
}

.sec-training-skill__right__ex {
	width: calc((100% - 1em) / 2);
}

.sec-training-skill__right span {
	border: 1px solid #000000;
	border-radius: 9999px;
	display: block;
	padding: 0.2em 1em;
	text-align: center;
}

.sec-training-skill__left__ttl {
	font-size: 22px;
}

@media only screen and (min-width: 992px) {
	.sec-training-trainingpath {
		padding: 10% 0 0;
	}

	.sec-training-ex__col__number {
		font-size: 84px;
		margin-top: 0;
	}

	.sec-training-ex__col__ttl {
		font-size: 30px;
	}

	.sec-training-ex__intro {
		padding-bottom: 4%;
	}

	.sec-training-ex__col__inner {
		padding: 3% 0 5%;
		top: 80px;
	}

	.sec-training-skill__inner {
		display: flex;
	}

	.sec-training-ex__intro__inner__left {
		width: 70%;
	}

	.sec-training-ex__intro__inner__right {
		width: 30%;
	}

	.sec-training-ex__col__inner02 {
		width: 50%;
		padding-left: 3%;
	}


	.sec-training-ex__col__inner03 {
		display: flex;
	}

	.sec-training-ex__col__pic {
		width: 50%;
	}

	.sec-training-ex__col__inner:nth-of-type(1):before {
		width: 30%;
		height: 20%;
		right: 0;
		top: -20%;
	}

	.sec-training-ex__col__inner:nth-of-type(2),
	.sec-training-ex__col__inner:nth-of-type(4) {
		padding: 3% 0 6%;
	}

	.sec-training-trainingpath__tbl {
		padding: 5% 0 0;
	}

	.sec-training-trainingpath__tbl__inner {
		padding: 3% 0;
	}

	.sec-training-trainingpath__tbl__tbl__inner {
		padding: 2em 2em 2em 0.5em;
	}

	.sec-training-trainingpath__tbl__col {
		border: 2px dotted #0075EB;
		width: calc((100% - 2em) / 3);
		padding: 2% 1%;
	}

	.sec-training-trainingpath__tbl__col:nth-of-type(n+2) {
		margin-top: 0;
	}

	.sec-training-trainingpath__tbl__colWrapper {
		display: flex;
		gap: 1em;
	}

	.sec-training-trainingpath__tbl__tab__col a {
		font-size: 22px;
		padding: 0.5em 0;
	}

	.sec-training-trainingpath__tbl__tab__col a:hover {
		background: #0075EB;
		color: #ffffff !important;
	}

	.sec-training-trainingpath__tbl__icon {
		right: 0;
		bottom: inherit;
		left: inherit;
		top: 50%;
		transform: translateY(-50%);
		rotate: none;
		margin-right: -2.8em;
		margin-bottom: 0;
	}

	.sec-training-skill {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sec-training-skill__left {
		width: 25%;
	}

	.sec-training-skill__right {
		padding: 0 2% 0 5%;
	}

	.sec-training-skill__right__ex {
		width: calc((100% - 1em) / 3);
	}
}

/* ------------------------------
   sec-application
------------------------------ */

.sec-application__tbl__ttlWrapper {
	display: flex;
	align-items: flex-end;
}

.sec-application__tbl__ttl-sub {
	line-height: 1;
}

.sec-application__tbl__tab__col {
	cursor: pointer;
	width: 50%;
}

.tab_panel {
	overflow: hidden;
	height: 0;
	opacity: 0;
	padding: 0;
}

.tab_panel.active {
	overflow: visible;
	height: auto;
	opacity: 1;
	transition: opacity .4s ease-in-out;
}

.sec-application__tbl__tab {
	display: flex;
}

.sec-application__tbl__tab__col {
	flex: 1;
}

.sec-application__tbl__tab__col a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	box-sizing: border-box;

	color: #8B8B8B;
	font-size: 14px;
	line-height: 2;
	text-align: center;
	padding: 0.3em 0 14px;
	text-decoration: none;
	transition: 0.3s ease;
	margin-bottom: 5px;
}

.sec-application__tbl__tab__col.active a {
	background: #0075EB;
	color: #fff !important;
}

/* 上（青） */
.sec-application__tbl__tab__col.active a::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -8px;
	transform: translateX(-50%);
	width: 36px;
	height: 12px;
	background: #0075EB;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	z-index: 2;
}

/* 下（白） */
.sec-application__tbl__tab__col.active a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -12px;
	transform: translateX(-50%);
	width: 48px;
	height: 12px;
	background: #fff;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	z-index: 1;
}

.sec-application .tab-content {
	border: 20px solid #0075EB;
}

.sec-application__tbl__label {
	display: inline-block;
	font-size: 14px;
	padding: 0 1em;
}

.sec-application__tbl__label:nth-of-type(1) {
	border: 1px solid #0075EB;
	color: #0075EB;
}

.sec-application__tbl__label:nth-of-type(2) {
	border: 1px solid #14C451;
	color: #14C451;
}

.sec-application__tblWrapper {
	display: flex;
	align-items: center;
	position: relative;
}

.sec-application__tblWrapper::after {
	content: "";
	flex: 1;
	height: 2px;
	background: #0075EB;
	margin-left: 1.5em;
}

.sec-application__tbl__ttl {
	font-size: 40px;
}

.sec-application__tbl__ttl-en {
	font-size: 20px;
	line-height: 1;
}

.sec-application__tbl__inner {
	padding: 6% 0;
}

@media only screen and (min-width: 992px) {
	.sec-application__tbl {
		padding: 5% 0 0;
	}

	.sec-application__tbl__inner {
		padding: 6% 0;
	}

	.sec-application__tbl__inner02 {
		display: flex;
	}

	.sec-application__tbl__txtWrapper {
		width: 55%;
	}

	.sec-application__tbl__tab__col a {
		font-size: 22px;
	}
}

/* ------------------------------
   tbl01
------------------------------ */

.sec-application .tbl01 dl {
	width: 100%;
	overflow: hidden;
	border-bottom: 1px dotted #000000;
}

.sec-application .tbl01 dt {
	position: relative;
	font-weight: normal;
	width: 37%;
	text-align: left;
	padding: 1em 0;
	font-size: 14px;
	line-height: 1.6;
}

.sec-application .tbl01 dt:before {
	content: '';
	position: absolute;
	top: 0;
	right: -400%;
	border-top: 1px dotted #000000;
	width: 500%;
	height: 1px;
}

.sec-application .tbl01 dd {
	font-weight: normal;
	width: 63%;
	text-align: left;
	padding: 0 0 1em;
	font-size: 14px;
	line-height: 1.6;
}

.sec-application .tbl01 dd {
	padding: 1em 0;
}

.sec-company-member {
	padding-top: 20%;
}

@media screen and (min-width: 768px) {
	sec-application {
		padding: 8% 0 6%;
	}

	.sec-application .tbl01 dt {
		width: 23%;
		font-size: 16px;
		padding: 1.5em;
	}

	.sec-application .tbl01 dd {
		width: 77%;
		font-size: 16px;
		padding: 1.5em 0 1.5em 0;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.sec-application .tbl01 dt {
		width: 30%;
		font-size: 14px;
	}

	.sec-application .tbl01 dd {
		width: 70%;
		font-size: 14px;
	}
}


/* ------------------------------
sec-entry
------------------------------ */

.sec-form {
	padding: 5% 0 12%;
}

.sec-form p+p {
	padding-top: 4%;
}

.sec-form .txt {
	font-size: 14px;
	line-height: 1.4;
}

.sec-form.sec-form_form a {
	//transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1); /*easeInOutSine*/
}

.sec-form.sec-form_form a:hover {
	//opacity: 0.6;
}

.sec-form__col {
	border-top: 2px solid #0075EB;
}

.sec-entry-career .sec-form__col {
	border-top: 2px solid #14C451;
}

.sec-form__ttl {
	font-size: 22px;
	padding-top: 30px;
}

.sec-form dl>dt {
	font-size: 16px;
	font-weight: normal;
	padding: 20px 0 10px;
}

.sec-form dl>dt>p {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.sec-form dl>dd {
	font-size: 16px;
	padding: 5px 0 20px;
	border-bottom: 1px dotted #060606;
}

.sec-form dl>dd:last-of-type {
	border-bottom: none;
}

.sec-form .required {
	display: flex;
}

.sec-form .required span {
	display: inline-block;
	font-size: 11px;
	padding: 1px 6px;
	margin-left: 1em;
	background: #0075EB;
	color: #ffffff;
}

.sec-entry-career .sec-form .required span {
	background: #14C451;
}

.sec-form dl>dt span.any span {
	display: inline-block;
	font-size: 11px;
	border-radius: 5px;
	padding: 1px 6px;
	margin-left: 1em;
	background: #333333;
	color: #ffffff;
}

.sec-form input[type="text"],
.sec-form input[type="tel"],
.sec-form input[type="url"],
.sec-form input[type="email"],
.sec-form input[type="password"],
.sec-form input[type="number"],
.sec-form input[type="datetime-local"],
.sec-form input[type="date"],
.sec-form textarea,
.sec-form select {
	width: 100%;
	padding: 8px 8px;
	background: #E8EDEF;
	border: 1px solid transparent;
	transition: 0.3s;
}

.sec-form input[type="checkbox"],
.sec-form input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
	transition: 0.3s;
}

.sec-form input[type="radio"]+span {
	margin: 0 1.5em 0 0.1em;
}

.sec-form input[type="number"] {
	width: 30%;
}

.sec-form select {
	width: 300px;
	border: 1px solid transparent;
}

.sec-form input[type="text"]:focus::placeholder,
.sec-form input[type="password"]:focus::placeholder,
.sec-form input[type="url"]:focus::placeholder,
.sec-form input[type="tel"]:focus::placeholder,
.sec-form input[type="email"]:focus::placeholder,
.sec-form input[type="datetime-local"]:focus::placeholder,
.sec-form input[type="date"]:focus::placeholder,
.sec-form input[type="number"]:focus::placeholder {
	color: transparent;
}

.sec-form .type label {
	padding-top: 0.3em;
}

.sec-form label {
	margin: 0;
}

.sec-form .contact__submit {
	padding: 0 15px;
}

.sec-form .agree-label {
	margin-left: 3px;
}

.sec-form .wpcf7-list-item {
	margin: 0 1em 0 0;
}

.sec-form .txt {
	padding: 0 15px;
}

.sec-form .perrson_box {
	height: 150px;
	padding: 1.5em;
	border: 1px solid #CDCFD0;
	overflow-y: scroll;
	font-size: 14px;
}

.submit-btn:disabled {
	cursor: not-allowed;
	opacity: 0.4;
}

.submit-btn:disabled:hover {
	color: #ffffff;
	background: #abcd03;
	border: none;
}

.sec-form__ttl {
	font-size: 18px;
}

.sec-form .perrson_box .lv2-ttl-lv4 {
	font-size: 16px;
}

.sec-form .person_col dl>dt {
	display: none;
}

@media only screen and (min-width: 768px) {
	.sec-form {
		padding: 6% 0 12%;
	}

	.sec-form__col {
		display: flex;
	}

	.sec-form__ttl {
		width: 30%;
	}

	.sec-form p+p {
		padding-top: 1.5%;
	}

	.sec-form dl {
		width: 70%;
		display: flex;
		flex-flow: row wrap;
	}

	.sec-form dl>dt {
		flex-basis: 33%;
		font-weight: normal;
		padding: 30px 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		font-size: 18px;
		border-bottom: 1px dotted #060606;
	}

	.sec-form dl>dt:nth-of-type(1) {
		border-top: none;
	}

	.sec-form .person_col dl {
		display: block;
	}

	.sec-form .person_col dl>dd {
		width: 100%;
	}

	.sec-form__txt a:hover {
		text-decoration: none;
	}

	.sec-form dl>dt.address {
		align-items: flex-start;
	}

	.sec-form dl>dt>p {
		width: 100%;
		justify-content: space-between;
		align-items: start;
		line-height: 1.6;
	}

	.sec-form dl>dt:last-of-type {
		border-bottom: none;
	}

	.sec-form dl>dd {
		flex-basis: 67%;
		padding: 25px 0 25px 20px;
		font-size: 18px;
	}

	.sec-form .contact__submit {
		padding: 0;
	}

	.sec-form .required span {
		font-size: 13px;
		padding: 4px 12px 6px;
		white-space: nowrap;
	}

	.sec-form input[type="text"],
	.sec-form input[type="tel"],
	.sec-form input[type="url"],
	.sec-form input[type="email"],
	.sec-form input[type="password"],
	.sec-form input[type="datetime-local"],
	.sec-form input[type="number"],
	.sec-form input[type="date"],
	.sec-form textarea,
	.sec-form select {
		padding: 14px 8px;
	}

	.sec-form .perrson_box {
		height: 200px;
		font-size: 16px;
	}

	.sec-form .perrson_box .lv2-ttl-lv4 {
		font-size: 20px;
	}

	/* フォーカス時のスタイル */
	.sec-form input[type="text"]:focus,
	.sec-form input[type="email"]:focus,
	.sec-form input[type="password"]:focus,
	.sec-form input[type="datetime-local"]:focus,
	.sec-form input[type="url"]:focus,
	.sec-form input[type="tel"]:focus,
	.sec-form input[type="number"]:focus,
	.sec-form input[type="date"]:focus,
	.sec-form textarea:focus,
	.sec-form select:focus {
		border: 1px solid #da3c41;
	}

	.sec-form__ttl {
		font-size: 28px;
		padding-bottom: 2.5%;
	}
}


/*.sec-form .submit-btn*/
.sec-form .submit-btn {
	background: #0075EB;
	color: #ffffff;
	padding: 0.5em 1em;
	border-radius: 9999px;
	font-size: 20px;
	width: 217px;
	border: 1px solid #0075EB;
}

.sec-entry-career .sec-form .submit-btn {
	background: #14C451;
	border: 1px solid #14C451;
}

@media only screen and (min-width: 768px) {
	.sec-form .submit-btn:hover {
		color: #333333;
		background: #ffffff;
		border: 1px solid #0075EB;
	}

	.sec-entry-career .sec-form .submit-btn:hover {
		border: 1px solid #14C451;
	}
}





/* ------------------------------
   accordion-link
------------------------------ */

.accordion-link {
	cursor: pointer;
	position: relative;
}

.icon-wrap {
	width: 48px;
	height: 48px;
	padding: 0 !important;
	border-top: none;
	display: inline-block;
}

.icon {
	position: relative;
	display: inline-block;
	width: 100%;
	height: 100%;
}

.icon:before,
.icon:after {
	position: absolute;
	content: "";
	display: block;
	transition: all 0.4s;
	background: #2a3d65;
	right: 0;
	top: 50%;
	width: 16px;
	height: 2px;
	transform: translateY(-50%);
}

.icon:before {
	transform: translateY(-50%) rotate(90deg);
}

.accordion-link.active .icon:before {
	transform: translateY(-50%) rotate(0deg);
}


/*----------------------------------------
breadcrumb
-----------------------------------------*/

.sec-breadcrumbs {
	padding-top: 5em;
}

.breadcrumb {
	font-size: 13px;
	line-height: 1.5;
	background: #ffffff;
	padding: 0 0 8%;
	margin-bottom: 0;
	justify-content: end;
}

.breadcrumb li:not(.home) {
	padding-left: 0.3em;
}

.breadcrumb li a {
	position: relative;
	padding-right: 1.2em;
	text-decoration: underline;
}

.breadcrumb li a:before {
	content: ">";
	position: absolute;
	right: 0;
	top: 0.3em;
	font-size: 10px;
	margin: 0 0.25em;
}

@media screen and (min-width: 768px) {
	.sec-breadcrumbs {
		padding-top: 8em;
	}

	.breadcrumb {
		font-size: 15px;
	}

	.breadcrumb li a {
		transition: 0.3s;
	}

	.breadcrumb li a:hover {
		opacity: 0.6;
		text-decoration: none;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.breadcrumb {
		padding: 0.5% 0;
		font-size: 11px;
	}
}

/*----------------------------------------
	page nation
-----------------------------------------*/

.pnavi {
	padding: 8% 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pnavi .page-numbers {
	width: 2.5em;
	height: 2.5em;
	margin: 0 7px;
	font-size: 12px;
	color: #000000;
	background: transparent;
	border: none;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	line-height: 1;
	text-decoration: none;
	padding: 0;
	flex-shrink: 0;
	transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}

.pnavi .page-numbers:hover {
	opacity: 0.6;
}

.pnavi .page-numbers.current:hover {
	opacity: 1;
}

.pnavi .page-numbers.current {
	position: relative;
	color: #ffffff;
}

.pnavi .page-numbers.current:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	background: #0075EB;
	color: #ffffff;
	width: 28px;
	height: 22px;
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	rotate: -15deg;
	z-index: -1;
	margin-left: 0.3em;
}

.pnavi .page-numbers.dots,
.pnavi .page-numbers.next,
.pnavi .page-numbers.prev {
	background: #ffffff;
	border: none;
}

.pnavi .page-numbers.next span,
.pnavi .page-numbers.prev span {
	position: relative;
}

.pnavi .page-numbers.next span:before {
	content: "";
	position: absolute;
	top: -1px;
	bottom: 0;
	margin: auto;
	left: -6px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #000000;
	border-right: 2px solid #000000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.pnavi .page-numbers.prev span:before {
	content: "";
	position: absolute;
	top: -1px;
	bottom: 0;
	margin: auto;
	right: -6px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #000000;
	border-right: 2px solid #000000;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.pnavi span {
	position: relative;
}

.pnavi span a {
	position: relative;
	padding: 1em 0;
	transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1);
	/*easeInOutSine*/
	font-size: 14px;
}

/*前へ*/
.pnavi-previous a {
	margin: 0 10px 0 0;
}

.pnavi-previous:before {
	content: "";
	position: absolute;
	right: 0.5em;
	bottom: 0;
	margin: 0;
	width: 80px;
	height: 6px;
	color: #333333;
	border-left: 1px solid;
	border-bottom: 1px solid;
	-webkit-transform: translateY(-50%) skewX(-45deg);
	-ms-transform: translateY(-50%) skewX(-45deg);
	transform: translateY(-50%) skewX(-45deg);
	-webkit-transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
	-o-transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
	transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
}

/*次へ*/
.pnavi-next a {
	margin: 0 0 0 10px;
}

.pnavi-next:before {
	content: "";
	position: absolute;
	left: 0.5em;
	bottom: 0;
	width: 80px;
	height: 6px;
	color: #2a3d65;
	border-right: 1px solid;
	border-bottom: 1px solid;
	-webkit-transform: translateY(-50%) skewX(45deg);
	-ms-transform: translateY(-50%) skewX(45deg);
	transform: translateY(-50%) skewX(45deg);
	-webkit-transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
	-o-transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
	transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
}

@media only screen and (min-width: 768px) {
	.pnavi {
		padding: 10% 0 0;
	}

	.pnavi .page-numbers {
		font-size: 16px;
	}

	.pnavi .page-numbers.next {
		margin-left: 8%;
	}

	.pnavi .page-numbers.prev {
		margin-right: 8%;
	}

	.pnavi span {
		display: inline-block;
		width: inherit;
	}

	.pnavi span a {
		min-width: 118px;
		font-size: 18px;
	}

	/*前へ*/
	.pnavi-previous {
		margin-right: 20px;
	}

	.pnavi-previous a {
		margin: 0;
	}

	.pnavi-previous:before {
		right: 0;
		width: 118px;
	}

	.pnavi-previous:hover:before {
		width: 128px;
	}

	/*次へ*/
	.pnavi-next {
		margin-left: 20px;
	}

	.pnavi-next a {
		margin: 0;
	}

	.pnavi-next:before {
		left: 0;
		width: 118px;
	}

	.pnavi-next:hover:before {
		width: 128px;
	}

	.pnavi .page-numbers.current:before {
		width: 40px;
		height: 32px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.pnavi span a {
		font-size: 14px;
	}
}

@media only screen and (max-width: 320px) {
	.pnavi span a {
		font-size: 12px;
	}
}


/*----------------------------------------
	swipe
-----------------------------------------*/

/* スワイプ*/
@media (max-width: 767px) {
	.table_scroll {
		overflow-x: auto;
	}

	.swipe {
		position: relative;
	}

	.swipe .swipe_icon {
		display: block;
		position: absolute;
		top: 20%;
		left: calc(50% - 55px);
		z-index: 200;
		width: 110px;
		height: 110px;
		border-radius: 4px;
		background: url(https://www.upp.or.jp/newsite/wp-content/themes/jzpl/assets/cmn/images/icon_swipe02.svg) center center no-repeat;
		background-size: 70% auto;
		pointer-events: none;
		transition: opacity .2s, visibility .2s;
		padding: 4px;
		background-color: #3E9DFF
	}

	.swipe .swipe_icon:after {
		content: '横スクロールできます';
		bottom: 5%;
		left: 5%;
		position: absolute;
		font-size: 10px;
		color: #fff
	}

	.swipe .swipe_icon.hide {
		opacity: 0;
		visibility: hidden
	}
}

/*----------------------------------------
	loading
-----------------------------------------*/

@keyframes fadeOut {
	from {
		opacity: 1;
	}

	to {
		display: none;
		opacity: 0;
		z-index: -100;
	}
}

body .loading-sec {
	position: absolute;
	top: 0;
	width: 100%;
	height: 70vh;
	z-index: 1000;
}

body .loading-sec.loaded {
	z-index: -9000;
}

body .loading-sec__inner {
	padding-top: calc(900 / 1200* 100%);
}

body .loading-sec .loading {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	transform: translate(0, 0);
}

body:not(.home) .loading-sec {
	display: none;
}

body .loading-sec.loaded .loading {
	animation: fadeOut 0.2s forwards;
}

body .loading-sec .loading .loadingInner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}

@media (min-width: 768px) {
	body .loading-sec {
		height: 100vh;
	}

	body .loading-sec__inner {
		padding-top: calc(500 / 1200* 100%);
	}
}

@keyframes spin {
	from {
		transform: rotate(0);
	}

	to {
		transform: rotate(359deg);
	}
}

.spinner-box {
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
}

.circle-border {
	width: 50px;
	height: 50px;
	padding: 3px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: rgb(63, 249, 220);
	background: linear-gradient(0deg, rgba(63, 249, 220, 0.1) 33%, rgb(3, 3, 3) 100%);
	animation: spin .8s linear 0s infinite;
}

.circle-core {
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	border-radius: 50%;
}

/*----------------------------------------
	animation
-----------------------------------------*/

/*.fade_gray {
	opacity: 0.4;
	transition: 1s;
	transition-delay: 0.5s;
}

.fade_t.fade_in .fade_gray {
	opacity: 1;
}*/

@keyframes slideAnime1 {
	0% {
		-webkit-transform: scale(1.08);
		transform: scale(1.08);
		-webkit-transform-origin: 100% 50%;
		transform-origin: 100% 50%;
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
	}
}

@keyframes slideAnime2 {
	0% {
		-webkit-transform: scale(1.12);
		transform: scale(1.12);
		-webkit-transform-origin: 100% 50%;
		transform-origin: 100% 50%;
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
	}
}

@keyframes menuBar {
	0% {
		width: 24px;
		left: 0;
		transform: translateY(-6px);
	}

	60% {
		width: 24px;
		left: 0;
		transform: translateY(0);
	}

	79% {
		width: 0;
		left: 12px;
		transform: translateY(0);
	}

	80% {
		width: 0;
		left: 12px;
		transform: rotate(45deg);
	}

	to {
		width: 24px;
		left: 0;
		transform: rotate(45deg);
	}
}

@keyframes menuBarOut {
	0% {
		transform: rotate(45deg);
	}

	50% {
		transform: translateY(0);
	}

	to {
		transform: translateY(-6px);
	}
}

@keyframes menuBar2 {
	0% {
		left: 0;
		width: 24px;
	}

	60% {
		left: 0;
		width: 24px;
	}

	79% {
		left: 12px;
		width: 0;
	}

	80% {
		left: 12px;
		width: 0;
	}

	to {
		left: 12px;
		width: 0;
	}
}

@keyframes menuBar2Out {
	0% {
		width: 0;
	}

	49% {
		width: 24px;
	}

	50% {
		width: 24px;
	}

	to {
		width: 24px;
	}
}

@keyframes menuBar3 {
	0% {
		left: 0;
		width: 24px;
		transform: translateY(6px);
	}

	60% {
		left: 0;
		width: 24px;
		transform: translateY(0);
	}

	79% {
		left: 12px;
		width: 0;
		transform: translateY(0);
	}

	80% {
		left: 12px;
		width: 0;
		transform: rotate(-45deg);
	}

	to {
		left: 0;
		width: 18px;
		transform: rotate(-45deg);
	}
}

@keyframes menuBar3Out {
	0% {
		transform: rotate(-45deg);
	}

	50% {
		transform: translateY(0);
	}

	to {
		transform: translateY(6px) rotate(0);
	}
}

@keyframes rotation1 {
	0% {
		transform: translateX(-50%) rotate(0);
	}

	100% {
		transform: translateX(-50%) rotate(360deg);
	}
}

@keyframes slide-up01 {
	0% {
		transform: translate(0, 70%);
	}

	100% {
		transform: translate(0, 0);
	}
}

@keyframes slide-up01_s {
	0% {
		transform: translate(0, 200%);
	}

	100% {
		transform: translate(0, 0);
	}
}

@keyframes rotate-shape {
	from {
		transform: rotate(90deg);
		opacity: 0;
	}

	to {
		transform: rotate(0deg);
		opacity: 1;
	}
}

@keyframes rotation1 {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}

/*ttl_fade*/
/*.fade_t .fade_rotate {
	transition: 1.6s;
	scale: 0.97;
}

.fade_t.fade_in .fade_rotate {
	scale: 1;
}*/

/*fade*/
.fade_t .fade_opacity {
	opacity: 0;
	transition: 0.6s ease;
}

.fade_t.fade_in .fade_opacity {
	opacity: 1;
}

.clip_txt {
	clip-path: inset(100% 0 0 0%);
	transition: clip-path 0.8s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .clip_txt {
	clip-path: inset(0% 0% 0% 0%);
}

.clip_circle {
	transform: translateY(50px);
	clip-path: circle(0% at 50% 10%);
	opacity: 0;
	transition: clip-path 1.6s cubic-bezier(0.32, 0.95, 0.6, 1), opacity 2.6s cubic-bezier(0.16, 1, 0.3, 1), transform 2.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-clip-path 1.6s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .clip_circle {
	clip-path: circle(100% at 50% 50%);
	opacity: 1;
	transform: translateY(0);
}

.fade_t .fade_slide {
	clip-path: inset(0 100% 0 0);
	opacity: 0;
	transition: 1.6s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .fade_slide {
	clip-path: inset(0 0 0 0);
	opacity: 1;
}

/*fade_slide_right*/
.fade_t .fade_slide2 {
	clip-path: inset(0 100% 0 0);
	opacity: 0;
	transition: 1s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .fade_slide2 {
	clip-path: inset(0 0 0 0);
	opacity: 1;
}

/*clip_circle2*/
.clip_circle2 {
	transform: translateY(50px);
	clip-path: circle(50% at 50% 50%);
	opacity: 0;
	transition: clip-path 1s cubic-bezier(0.32, 0.95, 0.6, 1), opacity 2s cubic-bezier(0.16, 1, 0.3, 1), transform 2s cubic-bezier(0.16, 1, 0.3, 1), -webkit-clip-path 1.6s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .clip_circle2 {
	clip-path: circle(100% at 50% 50%);
	opacity: 1;
	transform: translateY(0);
}

/*fade*/
.fade_t .fade_big {
	scale: 0.9;
	transition: 0.6s ease;
}

.fade_t.fade_in .fade_big {
	scale: 1;
}

/*fade_scale*/
.fade_t .fade_scale {
	overflow: hidden;
}

.fade_t .fade_scale img {
	transform: scale(1);
	transition: transform 2s cubic-bezier(.22, 1, .36, 1);
}

.fade_t.fade_in .fade_scale img {
	transform: scale(1.1);
}

/*----------------------------------------
	cmn-footer
-----------------------------------------*/

.cmn-footer {
	background: #0075EB;
	margin-top: 3em;
	padding: 2em 0 0;
}

.cmn-footer__inner {
	padding: 0 0 6%;
	color: #ffffff;
}

.cmn-footer__nav {
	display: none;
}

.cmn-footer__ttl {
	font-size: 14px;
}

.cmn-footer__address {
	font-size: 14px;
}

.cmn-footer__copyright {
	font-size: 14px;
	background: #ffffff;
	padding: 1em 0 5em;
}

.cmn-footer__address a[href*="tel:"] {
	color: #ffffff;
}

.cmn-footer .btn-link {
	background: #ffffff;
	color: #0075EB;
}

.cmn-footer .btn-link--icon {
	background: #0075EB;
}

@media screen and (min-width:768px) {
	.cmn-footer {
		margin-top: 5em;
		padding: 2em 0 0;
	}

	.cmn-footer__inner {
		max-width: 1280px;
		margin: 0 auto;
		padding: 3% 0;
	}

	.cmn-footer__copyright {
		font-size: 16px;
		padding: 1em 0 2em;
	}

	.cmn-footer .btn-link {
		min-width: 246px;
	}
}

@media screen and (min-width:992px) {
	.cmn-footer__nav__col {
		display: flex;
		flex-wrap: nowrap;
	}

	.cmn-footer__nav {
		display: flex;
		flex-wrap: wrap;
	}

	.cmn-footer__nav li a {
		display: block;
		color: #fff;
		text-decoration: none;
		font-size: clamp(12px, 1.4vw, 14px);
		letter-spacing: 0.05em;
		transition: opacity 0.3s ease;
		width: 100%;
		padding: 0;
	}

	.cmn-footer__nav li a:hover {
		opacity: 0.7;
	}

	.cmn-footer__nav__col li:not(:first-child) a {
		margin-top: 0.5em;
	}

	.cmn-footer__nav {
		flex-wrap: nowrap;
	}

	.cmn-footer__nav__col ul:nth-of-type(n+2) {
		margin-left: 1.5em;
	}

	.cmn-footer__nav__col:nth-of-type(n+2) {
		padding-left: 1.5em;
	}
}

@media screen and (min-width:1199px) {
	.cmn-footer__nav li a {
		font-size: clamp(14px, 1.2vw, 16px);
	}

	.cmn-footer__nav__col ul:nth-of-type(n+2) {
		margin-left: 3em;
	}

	.cmn-footer__nav__col:nth-of-type(n+2) {
		padding-left: 3em;
	}
}

/*----------------------------------------
	pageTop
-----------------------------------------*/

#pageTop {
	position: fixed;
	right: 20px;
	bottom: -120px;
	display: table;
	z-index: 500;
	transition: 0.3s;
}

#pageTop.fixed {
	bottom: 60px;
}

#pageTop.keep {
	position: absolute;
	right: 20px;
	top: 0;
	z-index: 500;
	margin-top: -40px;
	transition: 0.1s;
}

#pageTop a {
	position: relative;
	width: 40px;
	height: 40px;
	display: table-cell;
	cursor: pointer;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-image: url(../images/pagetop_arrow.svg);
}

@media screen and (min-width: 768px) {
	#pageTop {
		right: 60px;
		bottom: -100px;
	}

	#pageTop.fixed {
		bottom: 20px;
	}

	#pageTop.keep {
		right: 60px;
		margin-top: -80px;
	}

	#pageTop a {
		width: 80px;
		height: 80px;
	}

	#pageTop a:after {
		width: 7px;
		height: 48px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	#pageTop {
		right: 40px;
	}

	#pageTop.fixed {
		bottom: 80px;
	}

	#pageTop.keep {
		right: 40px;
	}

	#pageTop a {
		width: 50px;
		height: 50px;
	}

	#pageTop a:after {
		width: 5px;
		height: 40px;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	#pageTop.fixed {
		bottom: 90px;
	}
}


@keyframes spin {
	from {
		transform: rotate(0);
	}

	to {
		transform: rotate(359deg);
	}
}

.spinner-box {
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
}

.circle-border {
	width: 50px;
	height: 50px;
	padding: 3px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: rgb(63, 249, 220);
	background: linear-gradient(0deg, rgba(63, 249, 220, 0.1) 33%, rgb(3, 3, 3) 100%);
	animation: spin .8s linear 0s infinite;
}

.circle-core {
	width: 100%;
	height: 100%;
	background-color: #F5F5F5;
	border-radius: 50%;
}


@media (min-width: 768px) {

	/*fade*/
	.fade_t .fade_blur {
		filter: blur(5px);
		opacity: 0;
		transition: 1.6s cubic-bezier(0.32, 0.95, 0.6, 1);
	}

	.fade_t.fade_in .fade_blur {
		filter: blur(0);
		opacity: 1;
	}
}

/*svg*/
#svg-animation {
	max-width: 100%;
	height: auto;
	display: block;
}

/* mask用：白=表示 */
#svg-animation .st0 {
	fill: none;
	stroke: #ffffff;
	stroke-width: 44;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/* .typewriter */
.typewriter {
	display: inline-block;
	transition: .8s;
	transform: translateX(1em);
	opacity: 0;
}

.fade_t.fade_in .typewriter {
	transform: translateX(0);
	opacity: 1;
}

/* contact form spinner customize */
.wpcf7-spinner {
	display: block !important;
	margin: 10px auto 0 !important;
}

@media (max-width: 767px) {
	.btn-link--icon_bgblue.list-symbol-icon {
		vertical-align: middle;
	}
}