@charset "UTF-8";

/* =Reset=
-------------------------------------------------------------- */
/* assets */
:root{
	--color_primary: #383838;
	--color_main: #0074c0;
	--color_bg: #0087ce;
	--color_bg-dark: #00263e;
	--color_black: #000;
	--color_white: #fff;
	--color_gray: #afafaf;
	--color_gray-light: #f2f2f2;
	--color_gray-dark: rgba(38,59,93,0.28);
	--color_gray-dark2: rgba(185,190,200,0.21);
	--color_marker: #fff500;
	--color_danger: #c00;
	--color_marker_danger: #ffd3d3;
	--color_shadow-light: rgba(0,0,0,0.16);
	--color_shadow: rgba(0,0,0,0.32);
	--color_shadow-dark: rgba(0,0,0,0.57);
	
	--fs-xxxl: 5em;		/* 16の場合：80px, 14の場合：70px (英字フォントのみ使用可) */
	--fs-xxl: 3.87em;	/* 16の場合：62px, 14の場合：54px (英字フォントのみ使用可) */
	--fs-xl: 3.25em;	/* 16の場合：52px, 14の場合：33px */
	--fs-l: 2.37em;		/* 16の場合：38px, 14の場合：28px */
	--fs-m: 1.75em;		/* 16の場合：28px, 14の場合：24px */
	--fs-s: 1.37em;		/* 16の場合：22px, 14の場合：19px */
	--fs-xs: 1.12em;	/* 16の場合：18px, 14の場合：15.68px */
	--fs-xxs: 0.88em;	/* 16の場合：14px, 14の場合：12px */

	--family-meiryo: "Meiryo","メイリオ","Meiryo UI","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Sans","ヒラギノ角ゴシック","MS PGothic","ＭＳ Ｐゴシック",Helvetica,Helvetica Neue,Arial,Osaka,sans-serif;
	--family-noto: "Noto Sans JP","Meiryo","メイリオ","Meiryo UI","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Sans","ヒラギノ角ゴシック","MS PGothic","ＭＳ Ｐゴシック",Helvetica,Helvetica Neue,Arial,Osaka,sans-serif;
	--family-poppin:"Poppins","Noto Sans JP","Meiryo","メイリオ","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;
	--family-icon: FontAwesome;
}
@media screen and (max-width: 896px) {
	:root{
		--fs-xl: 2.5em;		/* 14の場合：35px */
		--fs-l: 2em;		/* 14の場合：28px */
		--fs-m: 1.5em;		/* 14の場合：21px */
		--fs-s: 1.25em;		/* 14の場合：18px */
		--fs-xs: 1.15em;	/* 14の場合：16px */
	}
}

body,div,dl,dt,dd,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,table,th,td,figure{margin:0;padding:0;}
header,main,footer,article,aside,section,figure,picture{display: block;}

h1,h2,h3,h4,h5,h6{font-size:100%;}
table{border-collapse: collapse;border-spacing:0;}
caption{text-align:left;}
fieldset,img{border:0;}
img { max-width: 100%; vertical-align: middle;}
input,button,textarea,select{font-size:inherit; font-family:inherit;}
.home ol, .page ol { list-style: decimal;}
blockquote { position: relative; background-color: var(--color_gray-light); padding: 1.5em 3em; margin: 1em 0;}
blockquote:before,
blockquote:after { position: absolute; color: var(--color_gray); font-family: var(--family-noto); font-size: var(--fs-xl); pointer-events: none;}
blockquote:before { top: 0; left: 0.5em; content: "“";}
blockquote:after { right: 0.5em; bottom: 0; content: "”";}
hr { display: none;}
picture,figure{display:block;padding:0;margin:0;}
ins { font-weight: bold; text-decoration: none;}

/* base
-------------------------------------------------------------- */
body {
	background-color: transparent;
	color: var(--color_primary);
	font:normal normal 16px/1.8 var(--family-noto);
	border: none;
	margin: 0;
	padding: 0;
}

*, *:before, *:after { box-sizing: border-box;}
dl, p { margin: 1em 0;}
dt { font-weight: bold;}
dd + dt { margin-top: 2em;}
dd + dd { margin-top: 0.5em;}
dd > ul { margin-top: 1em; margin-bottom: 1em;}
ul, ol { margin-top: 1.5em; margin-bottom: 1.5em; padding-left: 2em;}
li { line-height: 1.4; margin-bottom: 1em;}
li:last-child { margin-bottom: 0;}
button, a, [type="submit"], [type="reset"], [type="button"] { transition: all 0.2s ease;}
a:any-link { color: var(--color_primary); text-decoration: underline;}
a:hover { color: var(--color_main); text-decoration: none;}
a[target="_blank"]:after {
	display: inline-block;
	width: 1.25em;
	height: 1em;
	content: "";
	background: url(../../images/official_v2/ico_blank.svg) no-repeat 50% 50% / contain;
	font-size: 0.94em;
	vertical-align: middle;
	transition: all 0.2s ease;
	margin: -0.3em 0.4em 0;
}
a[target="_blank"]:hover:after { background-image: url(../../images/official_v2/ico_blank_color.svg);}
a[target="_blank"] > .fa-external-link,

a[target="_blank"].no-icon:after { display:none;}
a.noIcon:after { display: none;}
.faIco:before {
	display: inline-block;
	font-family: var(--family-icon);
	font-size: 0.94em;
	font-weight: 900;
	vertical-align: middle;
	padding-right: 0.25em;
	margin-top: -0.2em;
}

.wp-block-separator { display: block; margin: 3em 0;}

@media screen and (max-width: 1280px) {
	body { font-size: 15px;}
}
@media screen and (max-width: 1024px) {
	body { font-size: 14px;}
}
@media screen and (max-width: 480px) {
	body { line-height: 1.6;}
}

/* utility
-------------------------------------------------------------- */
.fLeft		{float:left !important;}
.fRight		{float:right !important;}
.clr, .clear {clear:both;}

/* clearfix */
.cf:before, .cf:after {content:".";display:block;height:0;overflow:hidden;}
.cf:after	{clear:both;}

/* fonts */
.clRed		{color: var(--color_danger);}
.clLightRed	{color: var(--color_marker_danger);}
.clBlue		{color: var(--color_main);}
.clYellow	{color: var(--color_marker);}
.clGray		{color: var(--color_gray);}

.fsXL,
.fsXL-L		{font-size: var(--fs-xl);}
.fsL,
.fsL-M		{font-size: var(--fs-l);}
.fsM,
.fsM-S		{font-size: var(--fs-m);}
.fsS		{font-size: var(--fs-s);}
.fsXS		{font-size: var(--fs-xs);}
.fsXXS		{font-size: var(--fs-xxs);}
.fwB		{font-weight:bold;}
.fItalic	{font-style:italic;}
.ff_noto	{font-family: var(--family-noto);}
.ff_poppin	{font-family: var(--family-poppin);}

.tLeft		{text-align:left !important;}
.tRight		{text-align:right !important;}
.tCenter	{text-align:center !important;}
.lhL		{line-height: 2 !important;}
.lhM		{line-height: 1.5 !important;}
.lhS		{line-height: 1.3 !important;}
.yellowMarker{background: linear-gradient(transparent 58%, var(--color_marker) 0);}
.redMarker{background: linear-gradient(transparent 58%, var(--color_marker_danger) 0);}

@media screen and (max-width: 480px) {
	.fsXL-L		{font-size: var(--fs-l); line-height: 1.3;}
	.fsL-M		{font-size: var(--fs-m); line-height: 1.3;}
	.fsM-S		{font-size: var(--fs-s); line-height: 1.3;}
}

/* spacing */
/* 強制リセット用(多用厳禁) */
.m0 {margin: 0 !important;} .mt0{ margin-top: 0 !important;} .mb0{ margin-bottom: 0 !important;}
.p0 {padding: 0 !important;} .pt0 {padding-top: 0 !important;} .pb0 {padding-bottom: 0 !important;}
/* margin */
.mtHem {margin-top:0.5em;} .mt1em {margin-top:1em;} .mt2em {margin-top:2em;} .mt3em {margin-top:3em;} .mt4em {margin-top:4em;}
.mr1em {margin-right:1em;} .mr2em {margin-right:2em;} .mr3em {margin-right:3em;} .mr4em {margin-right:4em;}
.mbHem {margin-bottom:0.5em;} .mb1em {margin-bottom:1em;} .mb2em {margin-bottom:2em;} .mb3em {margin-bottom:3em;} .mb4em {margin-bottom:4em;}
.ml1em {margin-left:1em;} .ml2em {margin-left:2em;} .ml3em {margin-left:3em;} .ml4em {margin-left:4em;}
/* padding */
.pt1em {padding-top:1em;} .pt2em {padding-top:2em;} .pt3em {padding-top:3em;} .pt4em {padding-top:4em;}
.pr1em {padding-right:1em;} .pr2em {padding-right:2em;} .pr3em {padding-right:3em;} .pr4em {padding-right:4em;}
.pb1em {padding-bottom:1em;} .pb2em {padding-bottom:2em;} .pb3em {padding-bottom:3em;} .pb4em {padding-bottom:4em;}
.pl1em {padding-left:1em;} .pl2em {padding-left:2em;} .pl3em {padding-left:3em;} .pl4em {padding-left:4em;}

/* pageTop */
.pageTop{
	position: fixed;
	right: 2%;
	bottom: 2em;
	z-index: 1010;
}

@media screen and (max-width: 1024px) {
	.pageTop{
		right: 10px;
		bottom: 80px;
		width: 48px;	
	}
}
@media screen and (max-width: 896px) {
	/* margin */
	.mt2em {margin-top:1em;} .mt3em {margin-top:2em;} .mt4em {margin-top:2em;}
	.mr2em {margin-right:1em;} .mr3em {margin-right:2em;} .mr4em {margin-right:2em;}
	.mb2em {margin-bottom:1em;} .mb3em {margin-bottom:2em;} .mb4em {margin-bottom:2em;}
	.ml2em {margin-left:1em;} .ml3em {margin-left:2em;} .ml4em {margin-left:2em;}
	/* padding */
	.pt2em {padding-top:1em;} .pt3em {padding-top:2em;} .pt4em {padding-top:2em;}
	.pr2em {padding-right:1em;} .pr3em {padding-right:2em;} .pr4em {padding-right:2em;}
	.pb2em {padding-bottom:1em;} .pb3em {padding-bottom:2em;} .pb4em {padding-bottom:2em;}
	.pl2em {padding-left:1em;} .pl3em {padding-left:2em;} .pl4em {padding-left:2em;}
}

/* others */
.w100{ width: 100%;} .w50{ width: 50%;} .w30{ width: 30%;} .w25{ width: 25%;}
.hidePc-Tb { display: none;}
.hidePc-Sp { display: none;}

@media screen and (max-width: 896px) {
	.hideTb { display: none;}
	.hidePc-Tb { display: block;}
	.tCenter.tbLeft { text-align:left !important;}
}
@media screen and (max-width: 480px) {
	.hideSp { display: none;}
	.hidePc-Sp { display: block;}
	.tCenter.spLeft { text-align:left !important;}
}

/* モバイルファースト用（iPhoneXRサイズ基準）
@media screen and (min-width: 480px) {}
@media screen and (min-width: 896px) and (min-width: 1024px) {}
@media screen and (min-width: 1024px) {}
 */
/* デスクトップファースト用（iPhoneXRサイズ基準）
@media screen and (max-width: 1024px) and (orientation: portrait) {} //タブレット縦のみ
@media screen and (max-width: 896px) and (orientation: landscape) {} //スマホ横のみ
@media screen and (max-width: 896px) {}
@media screen and (max-width: 768px) {} //従来のスマホ基準
@media screen and (max-width: 480px) {}
*/


/* header
-------------------------------------------------------------- */
.header {
	position: sticky;
	top: 0;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	width: 100%;
	background-color: var(--color_white);
	box-shadow: 0 0 10px rgba(0,0,0,0.08);
	padding-left: 1em;
	z-index: 100;
}
.header .logo { width: 160px;}

/* gNav */
.gNav {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	width: 100%;
	padding-left: 2em;
}
.gNav ul { list-style: none; padding: 0; margin: 0;}
.gNav li { margin-bottom: 0;}
.gNav .nav1 {
	display: flex;
	flex-flow: row nowrap;
	align-items: top;
}
.gNav .nav1 > li { height: 100%;}
.gNav .nav1 > li > a,
.gNav .tglBtn {
	display: inline-block;
	color: var(--color_primary);
	text-decoration: none;
	padding: 1em;
	cursor: pointer;
}
.gNav .nav1 > li > a:hover,
.gNav .tglBtn:hover,
.gNav .tglBtn.active { color: var(--color_main);}
.gNav .nav1 > li > a:after,
.gNav .tglBtn:after {
	display: inline-block;
	content: "";
	width: 0.5em;
	height: 0.5em;
	border-top: 1px solid var(--color_primary);
	border-right: 1px solid var(--color_primary);
	vertical-align: middle;
	transform: rotate(45deg);
	margin-left: 0.45em;
}
.gNav .tglBtn:after {
	transform: rotate(135deg);
	margin-top: -0.4em;
}
.gNav .nav1 > li > a[target="_blank"]:after {
	width: 1.25em;
	height: 1em;
	border: none;
	transform: rotate(0);
}
.gNav .hCon a {
	display: inline-block;
	background-color: var(--color_main);
	color: var(--color_white);
	font-weight: bold;
	text-decoration: none;
	padding: 1em 1.5em;
}
.gNav .hCon a:after {
	display: inline-block;
	width: 1em;
	height: 1em;
	content: "";
	background: url(../../images/official_v2/header_mail.svg) no-repeat 50% 50% / contain;
	vertical-align: middle;
	margin: -0.2em 0 0 0.5em;
	pointer-events: none;
}
.gNav .hMaga { display: none;}

@media screen and (max-width: 1024px) {
	.gNav .nav1 > li > a,
	.gNav .tglBtn { padding: 1em 0.8em;}
	.gNav .hCon a { padding: 1em;}
}
@media screen and (max-width: 896px) {
	.header .logo { width: 120px;}
	.gNav { display: none;}
}
@media screen and (max-width: 480px) {
	.header { padding-left: 4%;}
}

/* megaBox */
.megaBox {
	position: absolute;
	top: 3.4em;
	left: 0;
	width: 100%;
	height: 0;
	background-color: var(--color_white);
	box-shadow: 0 12px 12px var(--color_shadow-light);
	padding: 0;
	transition: 0.3s all ease-out;
	overflow: hidden;
	opacity: 0;
	z-index: 1;
}
.hover:hover .tglBtn + .megaBox {
	height: auto;
	padding: 4%;
	opacity: 1;
}
.megaBox > .inr {
	margin: 0 auto;
}
.megaHl { font-size: var(--fs-m); font-weight: bold; margin: 0 0 0.5em;}
.megaHl + ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 1.5em 2%;
}
.megaHl + ul > li { width: 49%;}
.megaBox a {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	height: 100%;
	color: var(--color_primary);
	text-decoration: none;
}
.hover:hover .tglBtn,
.megaBox a:hover { color: var(--color_main);}
.megaBox .img { position: relative; width: 40%; height: 9.5vw; overflow: hidden;}
.megaBox .img.border { border: 1px solid var(--color_gray-light);}
.megaBox img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	transition: 0.2s all ease;
	object-fit: cover;
}
.megaBox a:hover img { transform: translate(-50%, -50%) scale(1.2);}
.megaBox .txt { width: 55%; line-height: 1.5; margin: 0;}
.megaBox dt { font-size: var(--fs-xs);}

.megaMenuBg {
	position: fixed;
	top: 6em;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	background-color: var(--color_shadow-dark);
	transition: 0.2s all ease;
	opacity: 0;
	pointer-events: none;
	z-index: 0;
}
.hover:hover .megaMenuBg,
.megaMenuBg.open { opacity: 1;}


/* header sp
-------------------------------------------------------------- */
.trigger_btn {
	position: relative;
	display: none;
	width: 58px;
	height: 58px;
	background-color: var(--color_primary);
}
.trigger_btn > span {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 26px;
	height: 12px;
	margin: auto;
}
.trigger_btn > span:before,
.trigger_btn > span:after {
	position: absolute;
	left: 0;
	right: 0;
	content: "";
	border-top: 2px solid var(--color_white);
	transition: all 0.2s linear;
	margin: auto;
}
.trigger_btn > span:before { top: 0;}
.trigger_btn > span:after { bottom: 0;}

/* open_menu */
.open_menu .trigger_btn > span:before { top: 5px; transform: rotate(30deg);}
.open_menu .trigger_btn > span:after { bottom: 5px; transform: rotate(-30deg);}

@media screen and (max-width: 896px) {
	.trigger_btn { display: block; margin-left: auto;}
	.gNavBg {
		position: fixed;
		top: 0;
		left: 0;
		content: "";
		background-color: var(--color_shadow-dark);
		transition: 0.5s all ease;
		opacity: 0;
		z-index: 99;
	}
	.open_menu .gNavBg {
		width: 100%;
		height: 100%;
		opacity: 1;
	}

	.gNav {
		position: fixed;
		top: 58px;
		left: 0;
		display: block;
		height: 0;
		background-color: var(--color_white);
		border-top: 1px solid var(--color_gray-light);
		box-shadow: 0 6px 8px var(--color_shadow-light);
		transition: 0.5s all ease;
		padding: 0;
		opacity: 0;
		overflow: hidden;
	}
	.open_menu .gNav {
		height: auto;
		max-height: calc(100% - 58px);
		opacity: 1;
		overflow: auto;
	}
	.gNav .nav1 { display: block;}
	.gNav .nav1 > li > a,
	.gNav .tglBtn {
		position: relative;
		display: block;
		font-size: var(--fs-xs);
		font-weight: bold;
		border-bottom: 1px solid var(--color_gray-light);
		padding: 1em 2em 1em 1em;
	}
	.gNav .tglBtn.open { border-bottom: none;}
	.gNav .tglBtn:after {
		position: absolute;
		top: 1.1em;
		right: 1em;
		width: 1.3em;
		height: 1.3em;
		background: url(../../images/official_v2/ico_plus.svg) no-repeat 50% 50% / contain;
		border: none;
		transform: none;
		margin: 0;
	}
	.gNav .tglBtn.open:after { background-image: url(../../images/official_v2/ico_minus.svg);}
	.gNav .nav1 > li > a:after { display: none;}
	.gNav .nav1 > li > a[target="_blank"]:after { display: inline-block;}
	.gNav .nav1 > li > a[target="_blank"]:after {
		position: absolute;
		top: 1.2em;
		right: 1em;
		width: 1.8em;
		height: 1.5em;
		margin: 0;
	}

	.megaBox {
		position: static;
		display: none;
		height: auto;
		box-shadow: none;
		padding: 0;
		opacity: 1;
	}
	.hover:hover .tglBtn + .megaBox { padding: inherit;}
	.hover:hover .megaMenuBg,
	.megaMenuBg.open { display: none;}
	.hover .tglBtn.open + .megaBox {
		display: block;
		border-bottom: 1px solid var(--color_gray-light);
		padding: 0 1em 1em;
	}
	.megaHl { display: none;}
	.megaHl + ul { gap: 1em 2%;}
	.megaHl + ul > li { width: 32%;}
	.megaBox a { flex-direction: column; height: auto;}
	.megaBox .img,
	.megaBox .txt { width: auto; height: auto;}
	.megaBox img {
		position: static;
		width: auto;
		height: auto;
		transform: none;
	}
	.megaBox a:hover img { transform: none;}
	.megaBox dt { font-size: inherit; line-height: 1.2; margin-top: 0.5em;}
	.megaBox dd { display: none;}

	.nav2 li a {
		display: block;
		font-weight: bold;
		text-decoration: none;
		padding: 1em;
		border-bottom: 1px solid var(--color_gray-light);
	}
	.nav2 li a:hover { color: var(--color_main);}
	.gNav .hCon a {
		display: block;
		color: var(--color_primary);
		font-size: var(--fs-xs);
		background-color: var(--color_white);
	}
	.gNav .hCon a:after { display: none;}
	.gNav .hMaga { display: block; font-size: var(--fs-xs);}
}
@media screen and (max-width: 480px) {
	.megaHl + ul { gap: 1em 4%;}
	.megaHl + ul > li { width: 48%;}
}


/* latestInfoBox */
.latestInfoBox {
	position: sticky;
	top: 3.8em;
	background-color: var(--color_white);
	box-shadow: 0 0 10px var(--color_shadow-light);
	font-size: var(--fs-xxs);
	text-align: center;
	padding: 0.5em 4%;
	margin: 0;
	transition: all 0.4s ease;
	z-index: 9;
}
.latestInfoBox.is-hide {
	top: 1em;
}
@media screen and (max-width: 1024px) {
	.latestInfoBox { top: 3.4em;}
}
@media screen and (max-width: 896px) {
	.latestInfoBox {
		top: 4.7em;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	.latestInfoBox a .icoLbl { margin-right: 0.4em;}
	.latestInfoBox a time { display: none;}

/* 挙動がおかしいので一旦非表示
	.latestInfoBox { top: 4.7em; white-space: nowrap; overflow: hidden;}
	.latestInfoBox.marquee a {
		display: block;
		transform: translateX(-7.2em);
		animation: marquee 5s linear;
	}
	@keyframes marquee {
		0% {
			transform: translateX(0);
		}
		100% {
			transform: translateX(-120%);
		}
	}
*/
}

/* module
-------------------------------------------------------------- */
#wrapper {
	width: auto;
	box-shadow: none;
	border: none;
	padding: 0;
	margin: 0;
}
.container { z-index: 1;}

@media screen and (max-width: 896px) {
}

/* section */
.sec { 
	padding: 6em 4%;
	position: relative;
}
.sec.bgGray { background-color: var(--color_gray-light);}
/* cocoon reset */
.sec > .inr,
.sec > .wp-block-group__inner-container {
	width: 1100px;
	max-width: 100%;
	margin: 0 auto;
}
.sec.typeShort > .wp-block-group__inner-container { width: 760px;}
.sec.wp-block-columns { display: block; margin: 0;}
/* end */
@media screen and (max-width: 1280px) {
	.sec { padding: 8% 4%;}
}
@media screen and (max-width: 480px) {
	.sec { padding: 10% 4%;}
}

/* headline */
.mvHl {
	border-bottom: 1px solid #EAEAEA;
	padding: 0 4%;
}
.mvHl > .inr {
	position: relative;
	display: flex;
	align-items: center;
	width:1100px;
	max-width:100%;
	min-height: 17em;
	padding: 2em 0;
	margin: 0 auto;
}
.mvHl > .inr:after{
	position:absolute;
	bottom: 0;
	right: 0;
	display: block;
	content: attr(data-text);
	color: var(--color_gray-dark2);
	font-family:var(--family-poppin);
	font-size: 160px;
	font-weight: bold;
	text-align: right;
	line-height: 0.75;
	letter-spacing: -0.02em;
	margin-bottom: -0.02em;
}
.mvHl h1 {
	position: relative;
	font-size: var(--fs-l);
	font-weight: bold;
	line-height: 1.3;
	z-index: 1;
}
@media screen and (max-width: 1280px) {
	.mvHl > .inr:after{ font-size: 12.5vw;}
}
@media screen and (max-width: 896px) {
	.mvHl > .inr { min-height: 13em; padding: 1em 0;}
	.mvHl > .inr:after{ font-size: 12vw;}
}

.hl1 {
	color: var(--color_main);
	font-weight: bold;
	line-height: 1.3;
	margin: 4em 0 1em;
}
.hl1:first-child { margin-top: 0;}
.hl1:before {
	display: block;
	content: attr(data-text);
	font-family: var(--family-poppin);
}
.hl1.typeEn {
	color: var(--color_primary);
	font-family: var(--family-poppin);
	font-size: var(--fs-xxxl);
	margin: 1em 0 0.25em;
}
.hl1.typeEn:first-child { margin-top: 0;}
.hl1.colWhite { color: var(--color_white);}
.hl1 > span {
	display: block;
	color: var(--color_primary);
	font-family: var(--family-poppin);
	font-size: var(--fs-xl);
	margin: 0.1em 0 0.4em;
}
.hl1.sizeS > span { font-size: var(--fs-l);}

.hl2 {
	font-size: var(--fs-m);
	font-weight: bold;
	line-height: 1.4;
	margin: 4em 0 1em;
}
.hl2:first-child { margin-top: 0;}

.hl3 {
	font-size: var(--fs-s);
	font-weight: bold;
	line-height: 1.3;
	margin: 4em 0 1em;
}
.hl3:first-child { margin-top: 0;}

.hl4 {
	background-color: var(--color_gray-light);
	font-size: var(--fs-xs);
	font-weight: bold;
	line-height: 1.4;
	border-radius: 4px;
	padding: 0.8em 1em;
	margin: 3em 0 1em;
}
.hl2 + .hl4 { margin-top: 2em;}

.hl5 {
	font-size: 1em;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: 2px solid var(--color_primary);
	padding-bottom: 1em;
	margin: 2.5em 0 1em;
}

.hl2 + .wp-block-table table,
.hl3 + .wp-block-table table,
.hl4 + .wp-block-table table,
.hl5 + .wp-block-table table { margin-top: 0;}

@media screen and (max-width: 896px) {
	.hl1 { margin: 4em 0 1em;}
	.hl1.typeEn { font-size: var(--fs-xxl);}
	.hl1 > span {
		font-size: var(--fs-l);
		line-height: 1.2;
		margin-bottom: 0;
	}
	.hl1.sizeS > span { font-size: var(--fs-l);}
	.hl4 { margin: 2em 0 0.5em;}
	.hl5 {
		padding-bottom: 0.5em;
		margin: 2em 0 0.5em;
	}
}
@media screen and (max-width: 480px) {
	.hl2 { margin: 2.5em 0 0.5em;}
}


/* label */
.latestInfoBox { font-weight: bold;}
.latestInfoBox a { color: var(--color_primary);}
.icoLbl {
	display: inline-block;
	background-color: var(--color_gray-light);
	font-style: normal;
	font-size: 0.75em;
	line-height: 1.3;
	vertical-align: middle;
	border-radius: 4px;
	padding: 0.2em 0.5em;
	margin-top: -0.2em;
}
.icoLbl + time { display: inline-block; margin: 0 0.5em;}
.icoLbl.seminar		{ background-color:#e1deef;}
.icoLbl.important	{ background-color:#eac9c9;}
.icoLbl.voice		{ background-color:#ead6c9;}
.icoLbl.news		{ background-color:#c4dbea;}
.icoLbl.media		{ background-color:#cdf2ec;}
.icoLbl.other		{ background-color:#d8d8d8;}
.icoLbl.press		{ background-color:#e2e8cc;}
.icoLbl.recruit		{ background-color:#e3dbb6;}
.icoLbl.survey		{ background-color:#b4d6bc;}

.newsHl { display: flex; flex-flow: column nowrap; gap: 0.5em 0; margin: 0;}
.newsHl dt { order: 2; font-weight: normal;}
.newsHl a { color: var(--color_primary);}
.newsHl a:hover { color: var(--color_main);}
.newsHl dd { font-weight: bold; order: 1;}

/* button */
.btnArea { text-align: center; margin-top: 3em;}
.btnArw, a.btnArw {
	position: relative;
	display: inline-block;
	color: var(--color_primary);
	font-family: var(--family-poppin);
	font-weight: bold;
	padding-right: 3.5em;
}
.btnArw:hover { color: var(--color_main); text-decoration: none;}
.btnArw[target="_blank"]:after,
.btnArw:after {
	position: absolute;
	right: 0.25em;
	top: 50%;
	content: "";
	width: 2.5em;
	height: 2.5em;
	background: url(../../images/official_v2/btn_arrowr_color.svg) no-repeat 50% 50% / contain;
	transition: all 0.2s ease;
	transform: translateY(-50%);
	margin: 0;
}
.btnArw[target="_blank"]:after,
.btnArw[target="_blank"]:hover:after {
		background-image: url(../../images/official_v2/btn_blank_color.svg);
}
.btnArw:hover:after { right: 0;}
.btnArw[target="_blank"]:after { right: 0.25em;}

.btnArw.back { padding-left: 3.5em; padding-right: 0;}
.btnArw.back:after {
	right: auto;
	left: 0.25em;
	background-image: url(../../images/official_v2/btn_arrowl_color.svg);
}
.btnArw.back:hover:after { left: 0;}

.btnArw.colWhite { color: var(--color_white);}

.btnArw.sizeL { font-size: var(--fs-m); padding-right: 2em;}
.btnArw.sizeL:after { width: 1.5em; height: 1.5em;}

@media screen and (max-width: 896px) {
	.btnArw[target="_blank"]:after { right: 0;}
	.btnArw.back:after { right: auto; left: 0;}
}
@media screen and (max-width: 480px) {
	.btnArea { margin-top: 2em;}
}

/* table */
table { width: 100%; border-collapse: collapse; margin: 2em auto;}
table th, table td { vertical-align: top; border: 1px solid var(--color_gray); padding: 1em;}
th { width: 35%; text-align: left;}
td { background-color: var(--color_white);}
table i { vertical-align: middle;}
table .ico { display: inline-block; margin-top: -0.1em;}
table p:first-child, table ul:first-child, table ol:first-child, table dl:first-child { margin-top: 0;}
table p:last-child, table ul:last-child, table ol:last-child, table dl:last-child { margin-bottom: 0;}

.wp-block-table.tableA,
.wp-block-table.tableB { margin: 2em 0;}
.wp-block-table.tableA table,
.wp-block-table.tableB table { width: 100%; margin: 0;}
.wp-block-table td,
.wp-block-table th { border: 1px solid var(--color_gray);}
.wp-block-table thead { border-bottom: none;}

.tableA th,
.tableB th { background-color: #ebebeb; line-height: 1.4;}
.tableA th { width: auto;}
.tableA thead th { background-color: var(--color_primary); color: var(--color_white);}
.tableB thead th { border-bottom: 3px solid var(--color_primary);}
.tableA .col1 { width: 10%;}
.tableA .col2 { width: 20%;}
.tableA .col3 { width: 30%;}
.tableA .col4 { width: 40%;}
.tableA .col5 { width: 50%;}
.tableA .col6 { width: 60%;}

@media screen and (max-width: 834px) {
	table th, table td { font-size: 1em;}
}
@media screen and (max-width: 480px) {
	table th, table td { padding: 0.5em;}
}

/* flexBox */
.flexBox {
	display: flex;
	width: 100%;
	flex-flow: row wrap;
	list-style: none;
	padding: 0;
}
.flexBox + .flexBox { margin: 4% 0 0;}
.flexBox:last-child { margin-bottom: 0;}
.flexBox.between { justify-content: space-between !important;}
.flexBox.aCenter { align-items: center !important;}
.flexBox.clm2 { gap: 3em 6%;}
.flexBox.clm2 .item, .flexBox.clm2 .box,
.flexBox.clm2 > div, .flexBox.clm2 > li { width: 47%;}
.flexBox.clm3 { gap: 2em 3%;}
.flexBox.clm3 .item, .flexBox.clm3 .box,
.flexBox.clm3 > div, .flexBox.clm3 > li { width: 31.3%; line-height: 1.5;}
.flexBox.clm4 { gap: 2em 2.65%;}
.flexBox.clm4 .item, .flexBox.clm4 .box,
.flexBox.clm4 > div, .flexBox.clm4 > li { width: 23%; line-height: 1.5;}

.flexBox > .txt { width: 55%; margin: 0;}
.flexBox > .img { width: 40%; text-align: center;}
.flexBox > .img.border {
	border: 1px solid var(--color_gray-light);
	padding: 4%;
}
.flexBox > .img img { display: inline-block;}
/* cocoon reset */
.flexBox > .wp-block-column { flex-basis: auto !important;}
.flexBox > .img .wp-block-image { margin: 0;}
/* end */

.flexBox li.item { margin-bottom: 0;}
.flexBox .item,
.flexBox .item > a {
	display: flex;
	flex-flow: column nowrap;
	gap: 0.5em 0;
}
.flexBox .item > a {
	color: var(--color_primary);
}
.flexBox .item > a:hover { color: var(--color_main);}
.flexBox .item .txt { font-size: var(--fs-xxs); margin: 0;}
.flexBox .item .img { position: relative; text-align: center; margin-bottom: 0.5em;}

@media screen and (max-width: 896px) {
	.flexBox.clm2,
	.flexBox.clm3 { gap: 2em 4%;}
	.flexBox.clm3 .item, .flexBox.clm3 .box,
	.flexBox.clm3 > div, .flexBox.clm3 > li { width: 48%;}
}
@media screen and (max-width: 480px) {
	.flexBox { flex-direction: column;}
	.flexBox.clm2,
	.flexBox.clm3 { flex-direction: row;}
	.flexBox.clm2 { gap: 0;}
	.flexBox.clm2 .item, .flexBox.clm2 .box,
	.flexBox.clm2 > div, .flexBox.clm2 > li,
	.flexBox.clm3 .item, .flexBox.clm3 .box,
	.flexBox.clm3 > div, .flexBox.clm3 > li { width: 100%;}
	.flexBox.clm4 { flex-flow: row wrap;}
	.flexBox.clm4 .item, .flexBox.clm4 .box,
	.flexBox.clm4 > div, .flexBox.clm4 > li { width: 48%;}

	.flexBox > .txt,
	.flexBox > .img { width: 100%;}
	.flexBox > .img { padding: 8%;}
}

/* snsBox */
.snsBox{
	display:flex;
	flex-flow: row wrap;
	gap: 1.4em;
	justify-content: space-between;
	line-height: 1.3;
	list-style: none;
	padding: 0;
}
.snsBox.start{ justify-content: flex-start;}
.snsBox .item{
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	border-bottom:1px solid var(--color_primary);
	margin: 0;
}
.snsBox .item a{
	position:relative;
	display:block;
	color: var(--color_primary);
	font-weight:bold;
	text-decoration:none;
	padding: 1.5em 0 1.5em 3em;
}
.snsBox .item a:hover{ color: var(--color_main);}

.snsBox .item a:before{
	position: absolute;
	left: 0;
	top: 50%;
	content:"";
	width: 2.5em;
	height: 2.5em;
	background: no-repeat 50% 50% / contain;
	transition: all 0.2s ease;
	margin-top: -1.25em;
}
.snsBox .item a:hover:before { opacity: 0.6;}
.snsBox .item.x a:before{ background-image:url("../../images/ico_x_color.svg"); width: 2em; height: 2em; margin-top: -1em; }
.snsBox .item.twitter a:before{ background-image:url("../../images/ico_twitter_color.svg"); }
.snsBox .item.facebook a:before{ background-image:url("../../images/ico_facebook_color.svg"); }
.snsBox .item.magazine a:before{ background-image:url("../../images/official_v2/ico_magazine.svg"); }

@media screen and (max-width: 896px) {
	.snsBox{
		gap: 0;
	}
	.snsBox .item { width: 100%;}
}

/* blank-box */
.blank-box { border: 1px solid var(--color_gray); margin: 2em 0;}
.blank-box :first-child { margin-top: 0;}
.blank-box :last-child { margin-bottom: 0;}


/* scrolla.js
-------------------------------------------------------------- */
.animate { visibility: hidden;}
.is-phone .animate { visibility: visible;}
.aniFade { opacity: 0;}
.aniFade.animate__animated {
	animation: aniFade 1s ease forwards;
}
@keyframes aniFade{
  from { opacity: 0;}
  to { opacity: 1;}
}

@media screen and (max-width: 896px) {
	.aniFade { opacity: 1;}
	.aniFade.animate__animated {
		animation:none;
	}
}

/* footer
-------------------------------------------------------------- */

.footer {
	position: relative;
	background-color: var(--color_bg-dark);
	color: var(--color_white);
	padding: 0;
	margin: 0;
}
.footer > .inr {
	margin: 0 auto;
	overflow: hidden;
	padding: 2em 4%;
}
.footer a { color: var(--color_white);}
.footer a:hover { background-color: transparent !important; opacity: 0.6;}

/* fLink */
.fLink {
	display: flex;
	width: 100%;
	flex-flow: row nowrap;
	justify-content: space-between;
	border-bottom: 1px solid var(--color_white);
	padding-bottom: 2em;
	margin-bottom: 2em;
}
.fLink > div { width: 32%;}
.fLink dl { margin: 0;}
.fLink ul { list-style: none; padding: 0; margin: 0;}
.fLink dt { margin-bottom: 1em;}
.fLink dd,
.fLink li { margin: 0.5em 0;}
.fLink a { position: relative; padding-left: 1em;}
.fLink a:before {
	position: absolute;
	top: 50%;
	left: 0;
	display: inline-block;
	content: "";
	width: 0.6em;
	border-bottom: 1px solid var(--color_white);
}
@media screen and (max-width: 896px) {
	.fLink { display: none;}
}

/* fLogo */
.fLogo {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 3em;
}
.fLogo img { width: 160px;}

.fLogo .right ul { list-style: none; margin: 0;}
.fLogo .right li { display: inline-block;}
.fLogo .right li + li {
	border-left: 1px solid var(--color_white);
	padding-left: 1em;
	margin-left: 1em;
}

/* fNav */
.fNav {
	display: flex;
	flex-flow: row nowrap;
	gap: 2em;
}
.fNav .hl {
	color: #51bbff;
	font-size: var(--fs-xs);
	line-height: 1.3;
	border-left: 3px solid #51bbff;;
	padding-left: 0.8em;
	margin: 0 0 1em;
}
.fService {
	flex-grow: 1;
	border-right: 1px dashed #51bbff;;
	padding-right: 2em;
}
.fService > .inr { display: flex; flex-flow: row wrap;}
.fService dl { width: 33.33%; padding-right: 2%;}
.fService dt { color: #51bbff;;}
.fService dd,
.fOther li {
	position: relative;
	padding-left: 1.2em;
	margin: 0.4em 0;
}
.fService dd:before,
.fOther li:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "・";
}
.fOther { margin-left: auto;}
.fOther ul { list-style: none; padding: 0; margin: 0;}

/* fBtm */
.fBtm {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	color: var(--color_primary);
	background-color: var(--color_white);
	padding: 1em 4%;
}
.fBtm .left { width: 74%;}
.fBtm .right { width: 26%; text-align: right;}

.fBtm .right ul { list-style: none; padding: 0; margin: 0 0 0.5em;}
.fBtm .right li { display: inline-block; vertical-align: middle; margin: 0;}
.fBtm .right li + li { padding-left: 1em;}
.fBtm .right a { display: inline-block;}
.fBtm .right img { vertical-align: middle;}
.fBtm .right a:after { display: none;}
.fBtm .right .icoX {
	background-color: black;
	border-radius: 30px;
	padding: 9px;
	line-height: 0;
}
.fBtm .right .icoX:hover { background-color: black !important;}

.certificationBox { display: flex; width: 100%; flex-flow: row nowrap; justify-content: space-between;}
.certificationBox figure { display: table; margin: 0;}
.certificationBox .img,
.certificationBox figcaption { display: table-cell; vertical-align: top;}
.certificationBox figcaption { font-size: var(--fs-xxs); line-height: 1.5; padding-left: 1em;}
.certificationBox .img { text-align: center;}
.certificationBox a[target="_blank"]:after { display: none;}
.logoIsms { width: 54%;}
.logoIsms .img { width: 150px;}
.logoPmark { width: 44%;}
.logoPmark .img { width: 70px;}

.copyright { font-size: var(--fs-xxs); margin: 0;}
.copyright a { color: var(--color_primary) !important;}
.copyright a:after { display: none;}


@media screen and (max-width: 896px) {
	.fLogo { display: block; margin-bottom: 3em;}
	.fLogo img { width: 120px;}
	.fLogo .right ul { padding: 0; margin: 1em 0 0;}
	.fLogo .right li { padding: 0.2em 0.5em;}
	.fLogo .right li + li { border: none; margin: 0;}
	

	.fNav { display: block;}
	.fService,
	.fOther { width: auto;}
	.fService { border: none; padding-right: 0;}
	.fOther > ul {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.fOther li { width: 33.33%; padding-right: 2%;}

	.fBtm { display: block;}
	.fBtm .left,
	.fBtm .right { width: auto;}
	.certificationBox figcaption { font-size: 0.75em;}
	.certificationBox figcaption br { display: none;}
	.logoIsms .img { width: 100px;}
	.logoPmark .img { width: 50px;}
	
	.fBtm .right { text-align: center; margin-top: 1em;}
}
@media screen and (max-width: 480px) {
	.fLogo { margin-bottom: 2em;}
	.fLogo .right ul { margin: 2em 0;}
	.fLogo .right li { display: block; padding: 0; margin: 0.5em 0;}
	.fLogo .right li + li { padding-left: 0; margin: 0.5em 0}
	.fLogo .right li a { position: relative; padding-left: 1em;}
	.fLogo .right li a:before {
		position: absolute;
		top: 50%;
		left: 0;
		display: inline-block;
		content: "";
		width: 0.6em;
		border-bottom: 1px solid var(--color_white);
	}
	
	.fService > .inr { display: block;}
	.fService dl {
		width: auto;
		padding-right: 0;
		margin: 0.5em 0;
	}
	.fService dd {
		display: inline-block;
		width: 49%;
		vertical-align: top;
	}
	.fOther { margin-top: 2em;}
	.fOther ul { justify-content: space-between;}
	.fOther li { width: 48%; padding-right: 0;}
	.fOther li:last-child { width: 100%;}
	.certificationBox { display: block;}
	.certificationBox figure { width: 100%;}
	.certificationBox figure + figure { margin-top: 1em;}
	.certificationBox .img { width: 100px;}
	.logoPmark .img img { width: 50px;}
}



/* form-privacy
------------------------------------------------------ */
#form_privacy{
	padding:20px;
	font-size:13px;
}
#form_privacy .ttl{
	font-weight:bold;
	text-align:center;
}
#form_privacy h1{
	font-size:unset;
	border:none;
	padding:0;
	margin:1em 0;
	text-align:center;
}
#form_privacy h2{
	font-size:unset;
	font-weight:normal;
	background:none;
	color:#333;
	padding:0;
	margin:0;
}
#form_privacy h2:before{
	content:"・";
}
#form_privacy h3{
	font-size:unset;
	background:none;
	border:none;
	padding:0;
	margin:2em 0 0 0;
}
