/* ==========================================================================
	reset
   ========================================================================== */

*,
*::before,
*::after {
	list-style: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	word-wrap: break-word;
	font-weight: inherit;
}

a {
	text-decoration: none;
	color: inherit;
	user-select: none;
	cursor: pointer;
	outline: none;
}

a[href^="tel:"] {
	pointer-events: none;
}
@media screen and (max-width: 767px) and (hover: none) and (pointer: coarse) {
	a[href^="tel:"] {
		pointer-events: auto;
	}
}

html,
body {
	overflow-x: hidden;
}

input,
button,
select,
textarea {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	font: inherit;
	line-height: inherit;
	color: inherit;
	align-items: normal;
}

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

b,
i {
	font-weight: inherit;
	font-style: normal;
}

/* ==========================================================================
	Variables
   ========================================================================== */

:root {

	/* font-family */
	--ff-basic: "Noto Sans JP", "ヒラギノ角ゴ Pro W3",
		"Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo,
		"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--ff-english: "Poppins", "Noto Sans JP",
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic,
		"メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	/* line-height */
	--lh-tiny: 1.25;
	--lh-min: 1.4;
	--lh-basic: 2.2;

	--rd-basic: 12px;

	/* transition */
	--transition-basic: 500ms;
	--transition-fast: 300ms;

}


/* Inner 
---------------------------------------- */

:root {
	--inner-size: 1100px;
	--inner-side-margin: clamp(20px, -10.272px + 8.073vw, 100px);
	--inner-margin-size: max((100vw - var(--inner-size))/2, var(--inner-side-margin));

	--inner-size-exp: 1560px;
	--inner-side-margin-exp: clamp(20px, -29.193px + 13.118vw, 150px);
	--inner-margin-size-exp: max((100vw - var(--inner-size-exp))/2, var(--inner-side-margin-exp));
}

.inner {
	margin-inline: var(--inner-margin-size);
}
.innerP {
	padding-inline: var(--inner-margin-size);
}


/* Spacing
---------------------------------------- */

:root {
	--sh: clamp(2px, 1.243px + 0.202vw, 4px);
	--s1: clamp(4px, 2.486px + 0.404vw, 8px);
	--s2: clamp(8px, 4.973px + 0.807vw, 16px);
	--s3: clamp(12px, 7.459px + 1.211vw, 24px);
	--s4: clamp(16px, 9.946px + 1.615vw, 32px);
	--s5: clamp(20px, 12.432px + 2.018vw, 40px);
	--s6: clamp(24px, 14.918px + 2.422vw, 48px);
	--s7: clamp(28px, 17.405px + 2.825vw, 56px);
	--s8: clamp(32px, 19.891px + 3.229vw, 64px);
	--s9: clamp(36px, 22.377px + 3.633vw, 72px);
	--s10: clamp(40px, 24.864px + 4.036vw, 80px);
	--s11: clamp(44px, 27.35px + 4.44vw, 88px);
	--s12: clamp(48px, 29.837px + 4.844vw, 96px);
	--s13: clamp(52px, 32.323px + 5.247vw, 104px);
	--s14: clamp(56px, 34.809px + 5.651vw, 112px);
	--s15: clamp(60px, 37.296px + 6.054vw, 120px);
}

.mts1 {
	margin-top: var(--s1);
}
.mts2 {
	margin-top: var(--s2);
}
.mts3 {
	margin-top: var(--s3);
}
.mts4 {
	margin-top: var(--s4);
}
.mts5 {
	margin-top: var(--s5);
}
.mts6 {
	margin-top: var(--s6);
}
.mts7 {
	margin-top: var(--s7);
}
.mts8 {
	margin-top: var(--s8);
}
.mts9 {
	margin-top: var(--s9);
}
.mts10 {
	margin-top: var(--s10);
}
.mts11 {
	margin-top: var(--s11);
}
.mts12 {
	margin-top: var(--s12);
}
.mts13 {
	margin-top: var(--s13);
}
.mts14 {
	margin-top: var(--s14);
}
.mts15 {
	margin-top: var(--s15);
}

.mbs1 {
	margin-bottom: var(--s1);
}
.mbs2 {
	margin-bottom: var(--s2);
}
.mbs3 {
	margin-bottom: var(--s3);
}
.mbs4 {
	margin-bottom: var(--s4);
}
.mbs5 {
	margin-bottom: var(--s5);
}
.mbs6 {
	margin-bottom: var(--s6);
}
.mbs7 {
	margin-bottom: var(--s7);
}
.mbs8 {
	margin-bottom: var(--s8);
}
.mbs9 {
	margin-bottom: var(--s9);
}
.mbs10 {
	margin-bottom: var(--s10);
}
.mbs11 {
	margin-bottom: var(--s11);
}
.mbs12 {
	margin-bottom: var(--s12);
}
.mbs13 {
	margin-bottom: var(--s13);
}
.mbs14 {
	margin-bottom: var(--s14);
}
.mbs15 {
	margin-bottom: var(--s15);
}

.pts1 {
	padding-top: var(--s1);
}
.pts2 {
	padding-top: var(--s2);
}
.pts3 {
	padding-top: var(--s3);
}
.pts4 {
	padding-top: var(--s4);
}
.pts5 {
	padding-top: var(--s5);
}
.pts6 {
	padding-top: var(--s6);
}
.pts7 {
	padding-top: var(--s7);
}
.pts8 {
	padding-top: var(--s8);
}
.pts9 {
	padding-top: var(--s9);
}
.pts10 {
	padding-top: var(--s10);
}
.pts11 {
	padding-top: var(--s11);
}
.pts12 {
	padding-top: var(--s12);
}
.pts13 {
	padding-top: var(--s13);
}
.pts14 {
	padding-top: var(--s14);
}
.pts15 {
	padding-top: var(--s15);
}

.pbs1 {
	padding-bottom: var(--s1);
}
.pbs2 {
	padding-bottom: var(--s2);
}
.pbs3 {
	padding-bottom: var(--s3);
}
.pbs4 {
	padding-bottom: var(--s4);
}
.pbs5 {
	padding-bottom: var(--s5);
}
.pbs6 {
	padding-bottom: var(--s6);
}
.pbs7 {
	padding-bottom: var(--s7);
}
.pbs8 {
	padding-bottom: var(--s8);
}
.pbs9 {
	padding-bottom: var(--s9);
}
.pbs10 {
	padding-bottom: var(--s10);
}
.pbs11 {
	padding-bottom: var(--s11);
}
.pbs12 {
	padding-bottom: var(--s12);
}
.pbs13 {
	padding-bottom: var(--s13);
}
.pbs14 {
	padding-bottom: var(--s14);
}
.pbs15 {
	padding-bottom: var(--s15);
}


/* font-size
---------------------------------------- */

:root {
	--f72: clamp(48px, 38.918px + 2.422vw, 72px);
	--f60: clamp(40px, 32.432px + 2.018vw, 60px);
	--f42: clamp(32px, 28.216px + 1.009vw, 42px);
	--f36: clamp(30px, 27.73px + 0.605vw, 36px);
	--f30: clamp(28px, 27.243px + 0.202vw, 30px);
	--f28: clamp(24px, 22.486px + 0.404vw, 28px);
	--f24: clamp(20px, 18.486px + 0.404vw, 24px);
	--f20: clamp(18px, 17.243px + 0.202vw, 20px);
	--f18: clamp(16px, 15.243px + 0.202vw, 18px);
	--f16: clamp(14px, 13.243px + 0.202vw, 16px);
	--f14: clamp(12px, 11.243px + 0.202vw, 14px);
	--f12: clamp(10px, 9.243px + 0.202vw, 12px);
}

.f80 {
	font-size: var(--f72) !important;
}
.f60 {
	font-size: var(--f60) !important;
}
.f42 {
	font-size: var(--f42) !important;
}
.f36 {
	font-size: var(--f36) !important;
}
.f30 {
	font-size: var(--f30) !important;
}
.f28 {
	font-size: var(--f28) !important;
}
.f24 {
	font-size: var(--f24) !important;
}
.f20 {
	font-size: var(--f20) !important;
}
.f18 {
	font-size: var(--f18) !important;
}
.f16 {
	font-size: var(--f16) !important;
}
.f14 {
	font-size: var(--f14) !important;
}
.f12 {
	font-size: var(--f12) !important;
}

/* color
---------------------------------------- */

:root {
	--txt-black: #29282E;
	--line-grey: #D6D6D6;
	--line-blue: #89B9DE;
	--white: #fff;
	--blue: #015BAB;
	--light-blue: #ECF3F9;
	--red: #E60000;
}

.bgWhite {
	background: var(--white) !important;
}
.bgBlue {
	background: var(--blue) !important;
}
.bgLightBlue {
	background: var(--light-blue) !important;
}
.bgRed {
	background: var(--red) !important;
}

.white {
	color: var(--white) !important;
}
.blue {
	color: var(--blue) !important;
}
.lightBlue {
	color: var(--light-blue) !important;
}
.red {
	color: var(--red) !important;
}

.bgGrd {
	background: linear-gradient(90deg, #005BAC 0%, #4382BC 100%);
}

.bgGrd--smbl {
	position: relative;
	z-index: 10;
}
.bgGrd--smbl::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 10px;
	left: 65%;
	transform: translateX(-50%);
	width: 1007px;
	max-width: 100%;
	height: 100%;
	background: url(/recruit-common/img/back-elem.png) no-repeat center top/100%;
}



/* ==========================================================================
	general
   ========================================================================== */

body {
	font-family: var(--ff-basic);
	color: var(--txt-black);
	font-weight: 400;
	line-height: var(--lh-basic);
	font-size: var(--f16);
}

iconify-icon {
	vertical-align: -.125em;
	/* margin-inline: .5em; */
}

b {
	font-weight: 700;
}

i {
	display: inline-block;
	text-decoration: inherit;
}


/* ==========================================================================
	utility
   ========================================================================== */


.ac {
	text-align: center !important;
}
.al {
	text-align: left !important;
}
.ar {
	text-align: right !important;
}
@media (max-width: 767px) {
	.acsp {
		text-align: center !important;
	}
	.alsp {
		text-align: left !important;
	}
	.arsp {
		text-align: right !important;
	}
}

.acbl {
	max-width: max-content;
	margin-inline: auto;
}

.acmi {
	margin-inline: auto;
}

.rd {
	border-radius: var(--rd-basic);
}

.hr {
	border: 0;
	border-top: 1px solid var(--line-blue);
	margin-block: var(--s2);
}

.rltv {
	position: relative;
}

.leadline {
	display: flex;
}
.leadline::before {
	content: "";
	background: currentColor;
	height: 2px;
	width: 1em;
	margin-right: 16px;
	margin-top: .55em;
}

.leadlineW {
	display: flex;
}
.leadlineW::before {
	content: "";
	background: currentColor;
	height: 2px;
	width: 2em;
	margin-right: 16px;
	margin-top: .55em;
}

.lnk {
	color: var(--blue);
}

.over {
	transition: opacity var(--transition-fast);
}
@media (hover: hover) {
	.over:hover {
		opacity: 0.6;
	}
}

@media (max-width: 767px) {
	.pcOnly {
		display: none !important;
	}
}
@media (max-width: 1180px) and (min-width: 768px) {
	.tbHidden {
		display: none !important;
	}
}
@media (min-width: 768px) {
	.spOnly {
		display: none !important;
	}
}

/* ==========================================================================
	grid
   ========================================================================== */

.grid {
	--grid-columns: 1;
	display: grid;
	grid-template-columns: repeat(var(--grid-columns), 1fr);
	grid-template-rows: 1fr;
	margin-inline: auto;
}

.grid--col2 {
	--grid-columns: 2;
}
.grid--col3 {
	--grid-columns: 3;
}
.grid--col4 {
	--grid-columns: 4;
}
.grid--col5 {
	--grid-columns: 5;
}
.grid--col6 {
	--grid-columns: 6;
}
.grid--col7 {
	--grid-columns: 7;
}
@media (max-width: 1180px) {
	.grid--coltb1 {
		--grid-columns: 1;
	}
	.grid--coltb2 {
		--grid-columns: 2;
	}
	.grid--coltb3 {
		--grid-columns: 3;
	}
}
@media (max-width: 767px) {
	.grid--colsp1 {
		--grid-columns: 1;
	}
	.grid--colsp2 {
		--grid-columns: 2;
	}
	.grid--colsp3 {
		--grid-columns: 3;
	}
}

.grid--gap8 {
	gap: var(--s8);
}
.grid--gap7 {
	gap: var(--s7);
}
.grid--gap6 {
	gap: var(--s6);
}
.grid--gap5 {
	gap: var(--s5);
}
.grid--gap4 {
	gap: var(--s4);
}
.grid--gap3 {
	gap: var(--s3);
}
.grid--gap2 {
	gap: var(--s2);
}
.grid--gap1 {
	gap: var(--s1);
}
@media (max-width: 767px) {
	.grid--gapsp5 {
		gap: var(--s5);
	}
	.grid--gapsp4 {
		gap: var(--s4);
	}
	.grid--gapsp3 {
		gap: var(--s3);
	}
	.grid--gapsp2 {
		gap: var(--s2);
	}
	.grid--gapsp1 {
		gap: var(--s1);
	}
}

.grid_span1 {
	grid-column: span 1;
}
.grid_span2 {
	grid-column: span 2;
}
.grid_span3 {
	grid-column: span 3;
}
.grid_span4 {
	grid-column: span 4;
}
.grid_span5 {
	grid-column: span 5;
}
.grid_span6 {
	grid-column: span 6;
}
@media (max-width: 1180px) {
	.grid_spantb1 {
		grid-column: span 1;
	}
	.grid_spantb2 {
		grid-column: span 2;
	}
	.grid_spantb3 {
		grid-column: span 3;
	}
	.grid_spantb4 {
		grid-column: span 4;
	}
	.grid_spantb5 {
		grid-column: span 5;
	}
	.grid_spantb6 {
		grid-column: span 6;
	}
}
@media (max-width: 767px) {
	.grid_spansp1 {
		grid-column: span 1;
	}
	.grid_spansp2 {
		grid-column: span 2;
	}
	.grid_spansp3 {
		grid-column: span 3;
	}
	.grid_spansp4 {
		grid-column: span 4;
	}
	.grid_spansp5 {
		grid-column: span 5;
	}
	.grid_spansp6 {
		grid-column: span 6;
	}
}

.grid_rowspan2 {
	grid-row: span 2;
}


/* ==========================================================================
	frame
   ========================================================================== */

.frame {
	/* border: 1px solid var(--line-grey); */
	padding: var(--s6) var(--s8);
	border-radius: var(--rd-basic);
	background: var(--white);
	position: relative;
}

.frame--border {
	border: 2px solid var(--blue);
}
.frame--borderBold {
	border: 4px solid var(--blue);
}

.frame--tag {
	border-radius: 0 var(--rd-basic) var(--rd-basic) var(--rd-basic);
	margin-top: 50px;
}

.frame--p2 {
	padding: var(--s2);
}
.frame--p3 {
	padding: var(--s3);
}
.frame--p4 {
	padding: var(--s4);
}
.frame--p5 {
	padding: var(--s5);
}
.frame--p6 {
	padding: var(--s6);
}

.frame_tag {
	margin-bottom: -4px;
	position: absolute;
	top: 0;
	left: -4px;
	transform: translateY(-100%);
}
.frame_tag>* {
	line-height: var(--lh-min);
	font-weight: bold;
	font-size: clamp(22px, 16.702px + 1.413vw, 36px);
	color: var(--white);
	background: var(--blue);
	display: inline-block;
	padding-inline: var(--s2);
}

/* ==========================================================================
	l-header
   ========================================================================== */

.l-header {
	display: grid;
	align-items: center;
	justify-content: space-between;
	grid-template-columns: 290px 1fr;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2000;
	width: 100%;
	background: #fff;
	font-family: var(--ff-english);
	transition: background var(--transition-basic);
}
.is-top:not(.is-spMenuOpen):not(.is-subMenuOpen) .l-header {
	background: none;
}
@media (max-width: 1180px) {
	.l-header {
		grid-template-columns: 1fr auto;
	}
}

.l-header_left {
	padding: var(--s2) var(--s3);
	display: grid;
	align-items: center;
	grid-template-columns: 80px 1fr;
	gap: var(--s3);
	transition: color var(--transition-basic);
}
.is-top:not(.is-spMenuOpen):not(.is-subMenuOpen) .l-header_left a {
	color: var(--white);
}
.is-top:not(.is-spMenuOpen):not(.is-subMenuOpen) .c-logo img {
	filter: brightness(0) invert(1);
}
@media (max-width: 1180px) {
	.l-header_left {
		padding: var(--s2) var(--s3);
		display: grid;
		align-items: center;
		grid-template-columns: 60px 1fr;
		gap: var(--s3);
	}
}

.l-header_right {
	width: 100%;
	justify-self: end;
	display: grid;
	align-items: center;
	grid-template-columns: 1fr auto;
	height: 100%;
	font-size: clamp(12px, 8.973px + 0.807vw, 20px);
	padding: var(--s2) var(--s3);
}

.l-header_btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	align-items: center;
	column-gap: clamp(24px, -179.011px + 17.204vw, 56px);
	padding-inline: clamp(32px, -272.516px + 25.806vw, 80px);
	font-weight: 500;
	transition: color var(--transition-fast);
}
.is-top:not(.is-spMenuOpen):not(.is-subMenuOpen) .l-header_btns {
	color: var(--white);
}
.l-header_btns a,
.l-header_btns button {
	position: relative;
	display: block;
}
.l-header_btns a::after,
.l-header_btns button::after {
	content: "";
	position: absolute;
	background: var(--blue);
	height: 3px;
	width: 0;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	transition: width var(--transition-fast);
}
.is-top:not(.is-spMenuOpen):not(.is-subMenuOpen) .l-header_btns a::after,
.is-top:not(.is-spMenuOpen):not(.is-subMenuOpen) .l-header_btns button::after {
	background: var(--white);
}
.l-header_btns .is-current::after {
	width: calc(100% + 20px);
}
@media (hover: hover) {
	.l-header_btns a:hover::after,
	.l-header_btns button:hover::after {
		width: calc(100% + 20px);
	}
}
@media (max-width: 1180px) {
	.l-header_btns {
		display: none;
	}
}

@media (max-width: 1180px) {
	.l-header_entry {
		display: none;
	}
}

.l-header_spMenuBtn {
	display: block;
	min-height: 100%;
	padding-block: var(--s1);
	position: relative;
}
@media (min-width: 1181px) {
	.l-header_spMenuBtn {
		display: none;
	}
}
.l-header_spMenuBtn_icon {
	position: relative;
	display: grid;
	place-content: center;
	width: 32px;
}
.l-header_spMenuBtn_icon i {
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	width: 100%;
	height: 4px;
	position: absolute;
	background: var(--blue);
	transition: var(--transition-fast);
	transition-property: transform, width, top;
	border-radius: 100px;
}
.is-top:not(.is-spMenuOpen):not(.is-subMenuOpen) .l-header_spMenuBtn_icon i {
	background: var(--white);
}
.l-header_spMenuBtn_icon i:first-child {
	top: calc(50% - 11px);
}
.l-header_spMenuBtn_icon i:nth-child(2) {
	width: calc(100% - 8px);
}
.l-header_spMenuBtn_icon i:last-child {
	top: calc(50% + 11px);
	width: calc(100% - 16px);
}
.is-spMenuOpen .l-header_spMenuBtn_icon i:first-child {
	top: 50%;
	transform: translate(0, -50%) rotate(45deg);
}
.is-spMenuOpen .l-header_spMenuBtn_icon i:nth-child(2) {
	width: 0;
}
.is-spMenuOpen .l-header_spMenuBtn_icon i:last-child {
	top: 50%;
	transform: translate(0, -50%) rotate(-45deg);
	width: 100%;
}


/* ==========================================================================
	l-subMenu
   ========================================================================== */

.l-subMenu {
	position: fixed;
	z-index: 500;
	width: 100%;
	top: var(--header-height);
	transition: var(--transition-basic);
	background: #fff;
	font-family: var(--ff-english);
	font-weight: 600;
}
.l-subMenu_body {
	background: #fff;
	padding-block: var(--s6);
	width: 100%;
	position: relative;
	top: 0;
	left: 0;
	gap: 24px;
	transition: var(--transition-basic);
	overflow: hidden;
	z-index: 10;
	display: grid;
	grid-template-columns: 220px 1fr;
	box-shadow: 0 0 16px rgba(0, 0, 0, .3);
}
body:not(.is-subMenuOpen) .l-subMenu {
	opacity: 0;
	visibility: hidden;
}
.l-subMenu_body:not(.is-open) {
	opacity: 0;
	visibility: hidden;
	position: absolute;
}

.l-subMenu a {
	position: relative;
	display: block;
	transition: opacity var(--transition-fast);
}
.l-subMenu ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s6);
}
.l-subMenu h5 {
	color: var(--blue);
	font-size: var(--f30);
	line-height: var(--lh-tiny);
	padding-top: .25em;
	padding-right: var(--s6);
	border-right: 1px solid var(--blue);
}
.l-subMenu h6 {
	font-family: var(--ff-english);
	font-size: var(--f20);
	color: var(--blue);
	line-height: var(--lh-tiny);
}
.l-subMenu p {
	display: flex;
	align-items: center;
	font-size: var(--f12);
}
.l-subMenu p::before {
	content: "";
	background: var(--txt-black);
	height: 1px;
	width: 1em;
	margin-right: 4px;
}
.l-subMenu a iconify-icon {
	font-size: var(--f16);
	color: var(--blue);
	margin-left: var(--s1);
	vertical-align: 0.005em;
	transition: transform var(--transition-fast);
}
@media (hover: hover) {
	.l-subMenu a:hover {
		opacity: .65;
	}
	.l-subMenu a:hover iconify-icon {
		transform: translateX(2px);
	}
}

.l-subMenu_pages {
	padding-left: var(--s6);
}

/* ==========================================================================
	l-spMenu
   ========================================================================== */

.l-spMenu {
	position: fixed;
	z-index: 1000;
	padding-top: var(--header-height);
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--line-grey);
	transition: var(--transition-basic);
	overflow-y: scroll;
}
@media (min-width: 1181px) {
	.l-spMenu {
		display: none;
	}
}
.l-spMenu_pages {
	background: #fff;
	font-family: var(--ff-english);
	font-weight: 600;
}
.l-spMenu_pages a {
	position: relative;
	display: block;
	padding: var(--s2) var(--s3);
	border-top: 1px solid var(--line-grey);
}
.l-spMenu_pages h5 {
	background: var(--blue);
	color: #fff;
	font-size: var(--f18);
	line-height: var(--lh-tiny);
	padding: var(--s1) var(--s3);
}
.l-spMenu_pages h6 {
	font-family: var(--ff-english);
	font-size: var(--f20);
	color: var(--blue);
	line-height: var(--lh-tiny);
}
.l-spMenu_pages p {
	display: flex;
	align-items: center;
	font-size: var(--f12);
}
.l-spMenu_pages p::before {
	content: "";
	background: var(--txt-black);
	height: 1px;
	width: 1em;
	margin-right: 4px;
}
.l-spMenu_pages a iconify-icon {
	font-size: var(--f32);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: var(--s5);
	color: var(--blue);
	margin: 0;
}
.l-spMenu_pages--faq a {
	background: var(--blue);
}
.l-spMenu_pages--faq a * {
	color: var(--white) !important;
}
.l-spMenu_pages--faq p::before {
	background: var(--white);
}
.l-spMenu_pages--entry a {
	background: var(--red);
}
.l-spMenu_pages--entry a * {
	color: var(--white) !important;
}
.l-spMenu_pages--entry p::before {
	background: var(--white);
}

.l-spMenu_link {
	background: var(--white);
	padding: var(--s3) var(--s4);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: var(--s3);
}
.l-spMenu_link iconify-icon {
	margin-left: .4em;
}



.l-spMenu {
	opacity: 0;
	visibility: hidden;
}
.is-spMenuOpen .l-spMenu {
	visibility: visible;
	opacity: 1;
}

/* ==========================================================================
	l-footer
   ========================================================================== */

.l-footer {
	padding-block: var(--s7) var(--s4);
}
@media (max-width: 767px) {
	.l-footer {
		padding-bottom: calc(var(--s10)*3);
	}
}

.l-footer_top {
	display: grid;
	align-items: center;
	gap: var(--s5);
	grid-template-columns: auto 1fr auto;
	grid-template-areas: "logos sns entry";
	border-bottom: 1px solid var(--blue);
	padding-bottom: var(--s6);
}
@media (max-width: 1180px) {
	.l-footer_top {
		grid-template-columns: auto auto;
		grid-template-areas: "logos sns" "entry entry";
	}
}
@media (max-width: 767px) {
	.l-footer_top {
		justify-items: center;
		grid-template-columns: auto;
		grid-template-areas: "logos" "sns" "entry";
	}
}

.l-footer_logos {
	grid-area: logos;
	display: grid;
	align-items: center;
	grid-template-columns: 100px auto;
	gap: var(--s3);
}

.l-footer_sns {
	grid-area: sns;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--s1) var(--s3);
	color: var(--blue);
	font-weight: 500;
	font-family: var(--ff-english);
	line-height: var(--lh-tiny);
}
.l-footer_sns a {
	transition: var(--transition-fast);
	transition-property: opacity, box-shadow;
}
@media (hover: hover) {
	.l-footer_sns a:hover {
		opacity: .65;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .4);
	}
}

.l-footer_entry {
	grid-area: entry;
}
@media (max-width: 767px) {
	.l-footer_entry {
		width: 100%;
	}
}

.l-footer_body {
	padding-block: var(--s4);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--s6);
}
@media (max-width: 767px) {
	.l-footer_body {
		grid-template-columns: 1fr;
		padding-block: var(--s8);
	}
}

.l-footer_pages {
	font-family: var(--ff-english);
	font-weight: 600;
}
.l-footer_pages h5 {
	background: var(--blue);
	color: #fff;
	font-size: var(--f20);
	line-height: var(--lh-tiny);
	padding: var(--sh) var(--s1);
	margin-bottom: var(--s3);
}
.l-footer_pages h5:not(:first-child) {
	margin-top: var(--s4);
}
.l-footer_pages h6 {
	font-family: var(--ff-english);
	font-size: var(--f20);
	color: var(--blue);
	line-height: var(--lh-tiny);
}
.l-footer_pages ul {
	display: grid;
	gap: var(--s3);
}
.l-footer_pages p {
	display: flex;
	align-items: center;
	font-size: var(--f12);
}
.l-footer_pages p::before {
	content: "";
	background: var(--txt-black);
	height: 1px;
	width: 1em;
	margin-right: 4px;
}
.l-footer_pages a {
	transition: opacity var(--transition-fast);
}
.l-footer_pages a iconify-icon {
	font-size: var(--f16);
	color: var(--blue);
	margin-left: var(--s1);
	vertical-align: 0.005em;
	transition: transform var(--transition-fast);
}
@media (hover: hover) {
	.l-footer_pages a:hover {
		opacity: .65;
	}
	.l-footer_pages a:hover iconify-icon {
		transform: translateX(2px);
	}
}

.l-footer_bottom {
	display: grid;
	align-items: center;
	grid-template-columns: auto auto;
	grid-template-areas: "link copy";
	gap: var(--s3);
}
.l-footer_copyright {
	grid-area: copy;
	font-size: 12px;
	text-align: right;
	font-weight: 600;
	font-family: var(--ff-english);
}
.l-footer_link {
	grid-area: link;
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--s3);
	font-weight: 500;
}
.l-footer_link a {
	transition: opacity var(--transition-fast);
}
.l-footer_link iconify-icon {
	margin-left: .4em;
}
@media (hover: hover) {
	.l-footer_link a:hover {
		opacity: .65;
	}
}
@media (max-width: 767px) {
	.l-footer_bottom {
		grid-template-columns: 1fr;
		grid-template-areas: "link" "copy";
		row-gap: var(--s5);
	}
	.l-footer_link {
		justify-content: center;
	}
	.l-footer_copyright {
		text-align: center;
	}
}

@media (min-width: 1181px) {
	.l-spFixedBtn {
		display: none;
	}
}
@media (max-width: 1180px) {
	.l-spFixedBtn {
		position: fixed;
		width: 100%;
		max-width: 800px;
		left: 50%;
		transform: translateX(-50%);
		bottom: var(--s6);
		z-index: 999;
	}
}

body#entry .l-spFixedBtn {
	display: none;
}

/* ==========================================================================
	l-main
   ========================================================================== */

.l-main {
	padding-top: var(--header-height);
}


/* ==========================================================================
	components
   ========================================================================== */

.c-ttl {
	font-family: var(--ff-english);
	line-height: var(--lh-tiny);
	font-weight: 700;

}

.c-ttl--h1 {
	font-size: var(--f72);
}
.c-ttl--h2 {
	font-size: var(--f42);
}
.c-ttl--h3 {
	font-size: var(--f28);
}
.c-ttl--h4 {
	font-size: var(--f20);
}
.c-ttl--h5 {
	font-size: var(--f18);
}

.c-copy {
	line-height: var(--lh-min);
	font-weight: bold;
	font-size: clamp(22px, 16.702px + 1.413vw, 36px);
	color: var(--blue);
}
.c-copy {
	display: inline;
	background: linear-gradient(transparent 10%, var(--white) 10%, var(--white), var(--white) 95%, transparent 95%);
}
/* .c-copy,
.c-copy * {
	text-underline-offset: -1em;
	text-decoration: underline;
	text-decoration-thickness: 1.2em;
	text-decoration-color: var(--white);
	text-decoration-skip-ink: none;
} */
.c-copy--blue {
	color: var(--white);
}
.c-copy--blue {
	/* text-decoration-color: var(--blue); */
	background: linear-gradient(transparent 10%, var(--blue) 10%, var(--blue), var(--blue) 95%, transparent 95%);

}
/* .c-copy::selection {
	text-decoration: none;
	color: rgba(0, 0, 0, .2);
} */
.c-copy--min {
	font-size: clamp(20px, 15.459px + 1.211vw, 32px);
}
.c-copy--tiny {
	font-size: var(--f24);
}
/* .c-copy--over {
	margin-top: -.75em;
	display: inline-block;
} */


.c-ttlCaption {
	font-weight: 700;
	font-size: var(--f18);
	display: flex;
	align-items: center;
}
.c-ttlCaption::before {
	content: "";
	background: currentColor;
	height: 2px;
	width: 2em;
	margin-right: 16px;
}
.c-ttlCaption::before {
	content: "";
	background: currentColor;
	height: 2px;
	width: 2em;
	margin-right: 16px;
}

.c-logo img {
	width: 100%;
}

.c-recruitType {
	color: var(--blue);
	line-height: 1;
	/* margin-bottom: .5em; */
	font-weight: 700;
}
.c-recruitType_company {
	font-size: clamp(16px, 15.243px + 0.202vw, 18px);
}
.c-recruitType_recruit {
	font-size: clamp(22px, 18.973px + 0.807vw, 30px);
	font-family: var(--ff-english);
}

.c-snsList {
	display: flex;
	align-items: center;
	gap: 8px;
}
.c-snsList li a {
	width: 60px;
	aspect-ratio: 1;
	background: var(--white);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
	border-radius: 50%;
	display: grid;
	place-content: center;
}
.c-snsList li img {
	display: block;
	width: 28px;
}

.c-entryBtn {
	--color1: var(--red);
	--color2: var(--white);

	display: block;
	background: var(--color1);
	border: 2px solid var(--color2);
	color: var(--color2);
	min-width: 290px;
	border-radius: 100px;
	text-align: center;
	line-height: var(--lh-tiny);
	font-weight: 700;
	padding: 0 var(--s3) var(--s1);
	position: relative;
	z-index: 10;
	overflow: hidden;
	transition: var(--transition-fast);
	transition-property: color, border-color;
}
.c-entryBtn::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	width: 0;
	height: 100%;
	background: var(--color2);
	transition: var(--transition-fast);
	transition-property: width;
}
@media (hover: hover) {
	a:hover .c-entryBtn,
	.c-entryBtn:hover {
		color: var(--color1);
		border-color: var(--color1);
	}
	a:hover .c-entryBtn::before,
	.c-entryBtn:hover::before {
		width: 100%;
		left: 0;
	}
}
.c-entryBtn_en {
	font-family: var(--ff-english);
	font-size: var(--f30);
}
.c-entryBtn_ja {
	font-size: var(--f14);
}
.c-entryBtn_en::after {
	content: "";
	display: inline-block;
	vertical-align: inherit;
	font-size: var(--f18);
	margin-left: .5em;
	width: 1em;
	height: 1em;
	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23000' d='M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8l-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0'/%3E%3C/svg%3E");
	background-color: currentColor;
	-webkit-mask-image: var(--svg);
	mask-image: var(--svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}
.c-entryBtn--large {
	min-width: none;
	width: 100%;
	padding-block: var(--s1) var(--s2);
}
.c-entryBtn--large .c-entryBtn_en {
	font-size: var(--f42);
}
.c-entryBtn--large .c-entryBtn_ja {
	font-size: var(--f20);
}

.c-btn {
	--color1: var(--blue);
	--color2: var(--white);

	background: var(--color1);
	color: var(--color2);
	border: 2px solid var(--color2);
	font-size: var(--f16);
	font-weight: 500;
	border-radius: 100px;
	display: inline-grid;
	place-content: center;
	text-align: center;
	padding: var(--s2) var(--s4);
	line-height: var(--lh-tiny);
	transition: var(--transition-fast);
	transition-property: color, background, border-color;
	position: relative;
	z-index: 10;
	overflow: hidden;
	min-width: min(360px, 100%);
	min-height: 56px;
}
.c-btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: var(--s3);
	transform: translateY(-50%);
	width: 1em;
	height: 1em;
	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23000' d='M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8l-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0'/%3E%3C/svg%3E");
	background-color: currentColor;
	-webkit-mask-image: var(--svg);
	mask-image: var(--svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}
.c-btn::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	width: 0;
	height: 100%;
	background: var(--color2);
	transition: var(--transition-fast);
	transition-property: width;
}
@media (hover: hover) {
	.c-btn:hover {
		color: var(--color1);
		border-color: var(--color1);
	}
	.c-btn:hover::before {
		width: 100%;
		left: 0;
	}
}
.c-btn--red {
	--color1: var(--red);
}
.c-btn--white {
	--color1: var(--white);
	--color2: var(--blue);
}
.c-btn--wide {
	min-width: min(520px, 100%);
}
.c-btn--close::after {
	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Cpath fill='%23000' d='M3.64 2.27L7.5 6.13l3.84-3.84A.92.92 0 0 1 12 2a1 1 0 0 1 1 1a.9.9 0 0 1-.27.66L8.84 7.5l3.89 3.89A.9.9 0 0 1 13 12a1 1 0 0 1-1 1a.92.92 0 0 1-.69-.27L7.5 8.87l-3.85 3.85A.92.92 0 0 1 3 13a1 1 0 0 1-1-1a.9.9 0 0 1 .27-.66L6.16 7.5L2.27 3.61A.9.9 0 0 1 2 3a1 1 0 0 1 1-1c.24.003.47.1.64.27'/%3E%3C/svg%3E");
}
.c-btn--down::after {
	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1024' height='1024' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23000' d='M104.704 338.752a64 64 0 0 1 90.496 0l316.8 316.8l316.8-316.8a64 64 0 0 1 90.496 90.496L557.248 791.296a64 64 0 0 1-90.496 0L104.704 429.248a64 64 0 0 1 0-90.496'/%3E%3C/svg%3E");
}
.c-btn--outlink::after {
	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M13.5 10.5L21 3m-5 0h5v5m0 6v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5'/%3E%3C/svg%3E");
}

.c-label {
	display: inline-grid;
	place-content: center;
	text-align: center;
	font-size: var(--f16);
	font-weight: 500;
	line-height: var(--lh-tiny);
	min-width: 116px;
	min-height: 40px;
	border-radius: 100px;
	padding: var(--sh) var(--s2);
	transition: var(--transition-fast);

	background: var(--white);
	color: var(--blue);
	border: 1px solid var(--blue);
}
.c-label--blue {
	background: var(--blue);
	border-color: var(--white);
	color: #fff;
}
.c-label.is-active,
a.c-label:hover {
	background: var(--blue);
	color: var(--white);
	border-color: var(--blue);
}
@media (max-width: 767px) {
	.c-label {
		min-width: 100px;
		min-height: 36px;
	}
}

.c-circle {
	/* display: inline-block; */
	background: var(--white);
	width: clamp(40px, 28.648px + 3.027vw, 70px);
	height: clamp(40px, 28.648px + 3.027vw, 70px);
	border-radius: 50%;
	font-size: 30px;
	display: inline-grid;
	place-content: center;
	color: var(--blue);
}


.c-arrow {
	--color: var(--white);
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 220px solid transparent;
	border-left: 220px solid transparent;
	border-top: 60px solid var(--color);
	border-bottom: 0;
	z-index: 10;
}
@media (max-width: 767px) {
	.c-arrow {
		border-right: 110px solid transparent;
		border-left: 110px solid transparent;
		border-top: 40px solid var(--color);
	}
}
.c-arrow--grd {
	--color: #226fb4;
}
.c-arrow--lightBlue {
	--color: var(--light-blue);
}

/* ==========================================================================
	Project
   ========================================================================== */

.p-subHeader {}

.p-subHeaderGrd {
	position: relative;
}
.p-subHeaderGrd_head {
	margin-bottom: var(--s3);
}
.p-subHeaderGrd_body {
	position: relative;
	z-index: 10;
	background: linear-gradient(90deg, #005BAC 0%, #4382BC 100%);
	padding-bottom: var(--s7);
}
.p-subHeaderGrd_body::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 10px;
	left: 65%;
	transform: translateX(-50%);
	width: 1007px;
	max-width: 100%;
	height: 100%;
	background: url(/recruit-common/img/back-elem.png) no-repeat center top/100%;
}
.p-subHeaderGrd_body_top {
	display: grid;
	grid-template-columns: 490fr 610fr;
	grid-template-areas: "cnt img";
	align-items: start;
}
.p-subHeaderGrd--policy .p-subHeaderGrd_body_top {
	grid-template-columns: 570fr 480fr;
}
.p-subHeaderGrd_body_img {
	grid-area: img;
	border-radius: var(--rd-basic);
	overflow: hidden;
	margin-top: -40px;
}
.p-subHeaderGrd_body_cnt {
	grid-area: cnt;
	margin-top: var(--s8);
}
.p-subHeaderGrd_body_over {
	width: 120%;
}
.p-subHeaderGrd_body_img img {
	width: 100%;
}
.p-subHeaderGrd--tall .p-subHeaderGrd_body_img {
	margin-top: -180px;
}
.p-subHeaderGrd--tall .p-subHeaderGrd_head_cnt {
	width: 50%;
}
.p-subHeaderGrd--policy .p-subHeaderGrd_body_img {
	margin-top: -230px;
}
.p-subHeaderGrd--policy .p-subHeaderGrd_head_cnt {
	width: 60%;
}
.p-subHeaderGrd--rvs .p-subHeaderGrd_body_top {
	grid-template-columns: 1fr 1fr;
	grid-template-areas: "img cnt";
}
.p-subHeaderGrd--rvs .p-subHeaderGrd_head_cnt {
	width: 45%;
	margin-left: auto;
}
.p-subHeaderGrd--rvs .p-subHeaderGrd_body_img {
	margin-top: -60px;
}
.p-subHeaderGrd--rvs .p-subHeaderGrd_body_over {
	width: 120%;
	margin-left: -10%;
}
@media (max-width: 1180px) {
	.p-subHeaderGrd_body_top {
		grid-template-columns: 1fr !important;
		grid-template-areas: "img" "cnt" !important;
	}
	.p-subHeaderGrd_body_over {
		width: 100% !important;
		margin: auto !important;
	}
	.p-subHeaderGrd_body_img {
		margin-top: var(--s7) !important;
	}
	.p-subHeaderGrd_head_cnt {
		width: 100% !important;
	}
}

.p-speaker {
	display: grid;
	grid-template-columns: 310fr 720fr;
	align-items: start;
	gap: var(--s5);
}
.p-speaker_img {
	border-radius: var(--rd-basic);
	overflow: hidden;
}
.p-speaker_img img {
	width: 100%;
}
.p-speaker--outro {
	grid-template-columns: 150fr 856fr;
}
@media (max-width: 767px) {
	.p-speaker {
		grid-template-columns: 1fr;
	}
	.p-speaker--outro .p-speaker_img {
		width: 150px;
		margin-inline: auto;
	}
}

.p-interview {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-areas: "cnt img";
}
.p-interview:nth-child(2n) {
	grid-template-areas: "img cnt"
}
.p-interview--rvs {
	grid-template-areas: "img cnt"
}
.p-interview--rvs:nth-child(2n) {
	grid-template-areas: "cnt img";
}
.p-interview_img {
	grid-area: img;
	position: relative;
}
.p-interview_cnt {
	grid-area: cnt;
	padding-block: var(--s10);
	padding-inline: var(--inner-margin-size) var(--s7);
}
.p-interview:nth-child(2n) .p-interview_cnt {
	padding-inline: var(--s7) var(--inner-margin-size);
}
.p-interview--rvs .p-interview_cnt {
	padding-inline: var(--s7) var(--inner-margin-size);
}
.p-interview--rvs:nth-child(2n) .p-interview_cnt {
	padding-inline: var(--inner-margin-size) var(--s7);
}
.p-interview_cnt p {
	text-align: justify;
}
.p-interview_img img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (max-width: 1180px) {
	.p-interview {
		grid-template-columns: 1fr;
		grid-template-areas: "cnt" "img" !important;
	}
	.p-interview_img {
		aspect-ratio: 2 / 1;
	}
}

.p-split {
	display: grid;
	align-items: start;
	grid-template-columns: 470fr 550fr;
	gap: var(--s10);
}
.p-split_img {
	border-radius: var(--rd-basic);
	overflow: hidden;
}
.p-split_img img {
	width: 100%;
}
.p-split_cnt p {
	text-align: justify;
}
.p-split--min {
	grid-template-columns: 670fr 340fr;
}
@media (max-width: 1180px) {
	.p-split {
		grid-template-columns: 1fr;
		gap: var(--s5);
	}
	.p-split_img {
		max-width: 550px;
		margin-inline: auto;
	}
}

.p-timeCard {
	background: var(--light-blue);
	border-radius: var(--rd-basic);
	padding: var(--s2) var(--s4);
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: var(--s8);
}
.p-timeCard_time {
	font-size: var(--f30);
	font-family: var(--ff-english);
	font-weight: bold;
	color: var(--blue);
	line-height: var(--lh-min);
}
.p-timeCard_txt {
	margin-top: .2em;
}
@media (max-width: 767px) {
	.p-timeCard {
		display: block;
		padding-block: var(--s3);
	}
	.p-timeCard_txt {
		margin-top: var(--s1);
	}
}

.c-imgCircle {
	border-radius: 1000px;
	border: 4px solid var(--blue);
	margin-inline: auto;
	overflow: hidden;
}
.c-imgCircle img {
	width: 100%;
}

.p-modalCard {}
.p-modalCard_top {
	padding-inline: var(--s1);
	position: relative;
	z-index: 10;
}
.p-modalCard_top_label {
	text-align: center;
	margin-top: -16px;
	position: relative;
	z-index: 10;
}
.p-modalCard_top_img img {
	transition: transform var(--transition-fast);
}
.p-modalCard_bottom {
	background: var(--light-blue);
	border-radius: var(--s1);
	padding-block: var(--s1) var(--s3);
	padding-inline: var(--s3) var(--s6);
	position: relative;
	padding-top: calc(50% + var(--s1));
	margin-top: -50%;
}
.p-modalCard_bottom::after {
	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 15l6 6m-11-4a7 7 0 1 1 0-14a7 7 0 0 1 0 14'/%3E%3C/svg%3E");
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	mask: var(--svg) no-repeat center;
	-webkit-mask: var(--svg) no-repeat center;
	mask-size: contain;
	-webkit-mask-size: contain;

	color: var(--blue);
	font-size: var(--f24);
	position: absolute;
	right: var(--s3);
	bottom: var(--s3);
	transition: transform var(--transition-fast);
}
@media (hover: hover) {
	.p-modalCard:hover .p-modalCard_top_img img {
		transform: scale(1.1)
	}
	.p-modalCard:hover .p-modalCard_bottom::after {
		transform: scale(1.2)
	}
}

.p-modalContent {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 3000;
	transition: var(--transition-basic);
	transition-property: opacity, visibility;
}
.p-modalContent:not(.is-open) {
	opacity: 0;
	visibility: hidden;
}
.p-modalContent_bg {
	background: rgba(255, 255, 255, .85);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.p-modalContent_wrap {
	position: relative;
	z-index: 1;
	background: var(--white);
	height: 90vh;
	overflow-y: scroll;
	top: 50%;
	transform: translateY(-50%);
	box-shadow: 0 3px 6px rgba(0, 0, 0, .45);
}
.p-modalContent_top {
	position: relative;
	display: grid;
	grid-template-columns: min(320px, 50%) 1fr;
	column-gap: var(--s8);
	padding-inline: var(--s9);
}
.p-modalContent_head {
	background: linear-gradient(90deg, #005BAC 0%, #4382BC 100%);
	padding-block: 16px;
	position: relative;
	text-align: right;
	padding-right: 16px;
	grid-area: head;
}
.p-modalContent_head button {
	/* top: 16px; */
	border: 1px solid var(--blue);
	z-index: 10;
	position: relative;
}
.p-modalContent_top_img {
	margin-top: -20%;
}
.p-modalContent_top_cnt {
	padding-block: var(--s5);
}
.p-modalContent_body {
	padding: var(--s5) var(--s9) var(--s8);
}
@media (max-width: 767px) {
	.p-modalContent_top {
		position: relative;
		display: grid;
		grid-template-columns: 1fr;
		column-gap: var(--s8);
		padding-inline: var(--s5);
	}
	.p-modalContent_top_label {
		text-align: center;
		margin-top: -48px;
	}
	.p-modalContent_body {
		padding-inline: var(--s5);
	}
}

.p-withLabel {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--s2);
}

.p-labels {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s1);
	margin-bottom: var(--s2);
}
.p-labels--jcc {
	justify-content: center;
}

.p-entryBnr {
	border-radius: var(--rd-basic);
	overflow: hidden;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	background: linear-gradient(90deg, rgba(0, 91, 171, 1) 0%, rgba(0, 91, 171, .4) 100%);
	color: var(--white);
}
.p-entryBnr_body {
	padding: var(--s5) var(--s6);
	display: grid;
	align-items: center;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr;
	gap: var(--s3);
}
.p-entryBnr_body_cnt {}
.p-entryBnr_body_btn {}
.p-entryBnr_img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
@media (max-width: 767px) {
	.p-entryBnr {
		grid-template-columns: 1fr;
	}
}

.p-entryGrid {
	display: grid;
	grid-template-columns: 100%;
	row-gap: var(--s5);
}
.p-entryGrid_body {
	display: grid;
	grid-template-columns: 536fr 437fr;
	grid-template-rows: auto 1fr;
	grid-template-areas: "ttl img" "cnt img";
	gap: var(--s2) var(--s5);
}
.p-entryGrid_body_ttl {
	grid-area: ttl;
}
.p-entryGrid_body_cnt {
	grid-area: cnt;
}
.p-entryGrid_body_img {
	grid-area: img;
}
.p-entryGrid_btn {
	text-align: center;
}
@media (max-width: 767px) {
	.p-entryGrid_body {
		grid-template-columns: 1fr;
		grid-template-areas: "ttl" "img" "cnt";
	}
}


.p-table {
	table-layout: fixed;
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--line-grey);
}
.p-table th,
.p-table td {
	padding: var(--s3) 12px;
	border-bottom: 1px solid var(--line-grey);
}
.p-table th {
	line-height: var(--lh-tiny);
	background: var(--light-blue);
	text-align: center;
	width: 150px;
}
.p-table a {
	color: var(--blue);
	text-decoration: underline;
}
@media only screen and (max-width: 767px) {
	.p-table {
		border-bottom: none;
	}
	.p-table th,
	.p-table td {
		display: block;
		width: 100%;
	}
	.p-table th {
		border-bottom: none;
	}
}

.p-grd {
	position: relative;
	z-index: 10;
	padding-block: var(--s10);
	background: linear-gradient(90deg, #005BAC 0%, #4382BC 100%);
	overflow: hidden;
}
.p-grd::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 10px;
	left: 65%;
	transform: translateX(-50%);
	width: 1007px;
	max-width: 100%;
	aspect-ratio: 1007 / 993;
	background: url(/recruit-common/img/back-elem.png) no-repeat center/100%;
}

.p-card {
	display: block;
	border-radius: var(--rd-basic);
	overflow: hidden;
	position: relative;
	z-index: 10;
	min-height: 380px;
	color: var(--white);
}
.p-card::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 70%;
	background: linear-gradient(180deg, rgba(30, 30, 30, 0) 0%, rgba(30, 30, 30, .8) 100%);
	z-index: -1;
	transition: opacity var(--transition-fast);
}
.p-card_img {
	position: absolute;
	z-index: -2;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.p-card_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-fast);
}
.p-card_body {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	padding: var(--s4);
}
.p-card_ttl {
	margin-bottom: var(--s1);
}
.p-card_ttl iconify-icon {
	font-size: .5em;
	margin-left: .75em;
	vertical-align: .15em;
	transition: transform var(--transition-fast);
}
.p-card_label {
	position: absolute;
	top: 16px;
	right: 16px;
}
@media (hover: hover) {
	a.p-card:hover .p-card_img img {
		transform: scale(1.05);
	}
	a.p-card:hover::before {
		opacity: 0.5;
	}
	a.p-card:hover .p-card_ttl iconify-icon {
		transform: translateX(4px);
	}
}
@media (max-width: 767px) {
	.p-card {
		min-height: auto;
		aspect-ratio: 1;
	}
}
.p-card--min {
	min-height: 240px;
}
.p-card--double {
	grid-row: span 2;
}
.p-card--slide {
	min-height: 500px;
}
.p-card--slide .p-card_body {
	padding: var(--s3);
}
@media (max-width: 767px) {
	.p-card--min {
		min-height: auto;
		aspect-ratio: 2/1;
	}
	.p-card--double {
		aspect-ratio: 1;
	}
	.p-card--slide {
		min-height: 400px;
		aspect-ratio: 0;
	}
}

.p-smplCard {
	border-radius: var(--rd-basic);
	overflow: hidden;
	display: block;
	padding: var(--s4);
	color: var(--blue);
	background: var(--white);
	transition: var(--transition-fast);
	transition-property: background;
}
@media (hover: hover) {
	a.p-smplCard:hover {
		background: var(--light-blue);
	}
	a.p-smplCard:hover .p-card_ttl iconify-icon {
		transform: translateX(4px);
	}
}

.p-infoCard {
	background: #fff;
	padding: var(--s6) var(--s5) var(--s5);
	border-radius: var(--rd-basic);
}
.p-infoCard_ic {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--s3);
	text-align: center;
}
@media (max-width: 767px) {
	.p-infoCard_ic {
		flex-direction: column-reverse;
	}
}
.p-infoCard_column {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	column-gap: var(--s5);
}
@media (max-width: 1180px) {
	.p-infoCard_column--tbbr {
		display: block;
	}
}
@media (max-width: 767px) {
	.p-infoCard_column--spbr {
		display: block;
	}
}
.p-infoCard_value {
	margin-block: var(--s4) var(--s1);
}
.p-infoCard_value_subttl {
	font-size: var(--f24);
	text-align: center;
	color: var(--blue);
	font-weight: bold;
	padding-right: var(--f42);
}
@media (max-width: 767px) {
	.p-infoCard_value_subttl {
		font-size: var(--f20);
		padding-right: 0;
	}
}
.p-infoCard_value_num {
	font-size: var(--f42);
	font-family: var(--ff-english);
	color: var(--blue);
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.p-infoCard_value_num b {
	font-size: 2em;
	vertical-align: -.05em;
}
.p-infoCard_comm {
	font-size: var(--f14);
	line-height: 1.8;
	text-align: center;
}
.p-infoCard_cnt {
	/* font-size: var(--f14); */
	line-height: 1.8;
	margin-top: var(--s3);
}
@media (max-width: 767px) {
	.p-infoCard_cnt {
		margin-top: var(--s5);
	}
}
.p-infoCard_list {
	display: flex;
	flex-wrap: wrap;
	column-gap: 1.25em;
	line-height: 1.6;
}
.p-infoCard_list li {
	padding-left: 1.25em;
	position: relative;
	margin-block: .25em;
}
.p-infoCard_list li::before {
	content: "●";
	position: absolute;
	left: 0;
	color: var(--blue);
	transform: scale(.5);
}
.p-infoCard_list--br li {
	width: 100%;
}
@media (max-width: 767px) {
	.p-infoCard_list li {
		width: 100%;
	}
}

.p-faq_q,
.p-faq_a {
	padding-inline: var(--s6);
}
.p-faq_q {
	color: #fff;
	font-size: var(--f28);
	background: linear-gradient(90deg, #005BAC 0%, #4382BC 100%);
	position: relative;
	font-weight: bold;
	line-height: var(--lh-min);
	display: grid;
	align-items: center;
	padding-block: var(--s2);
	padding-right: var(--s12);
	gap: var(--s3);
	grid-template-columns: var(--f42) 1fr;
}
.p-faq_q::before {
	content: "Q.";
	font-family: var(--ff-english);
	font-size: var(--f36);
	line-height: 1;
}
.p-faq_a {
	background: var(--light-blue);
	position: relative;
	display: grid;
	padding-block: var(--s3);
	gap: var(--s3);
	grid-template-columns: var(--f42) 1fr;
}
.p-faq_a::before {
	font-weight: bold;
	color: var(--blue);
	content: "A.";
	font-family: var(--ff-english);
	font-size: var(--f36);
	line-height: 1;
}
.p-faq_q i {
	position: absolute;
	top: 50%;
	right: var(--s5);
	width: 35px;
	height: 100%;
	transform: translateY(-50%);
}
.p-faq_q i::before,
.p-faq_q i::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 4px;
	background: var(--white);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.p-faq_q i::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: width var(--transition-fast);
}
.is-open .p-faq_q i::after {
	width: 0;
}
@media (max-width: 767px) {
	.p-faq_q,
	.p-faq_a {
		padding-inline: var(--s4);
	}
	.p-faq_q {
		color: #fff;
		font-size: var(--f20);
		padding-right: var(--s12);
	}
	.p-faq_q::before,
	.p-faq_a::before {
		font-size: var(--f28);
	}
	.p-faq_q i {
		width: 25px;
		right: var(--s3);
	}
}

/* ==========================================================================
	Project & Component Top
   ========================================================================== */

.p-mv {
	height: 100vh;
	/* ↑↑↑ fallback */
	height: 100svh;
	overflow: hidden;
	position: relative;
}
.p-mv_body {
	z-index: 10;
	height: 100%;
}
.p-mv_body::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(1, 91, 171, .3);
}

.p-mv_body_back {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-width: 100%;
	min-height: 100%;
	width: 177.77778vh;
	height: calc(56.25vw + 400px);
}
@media (max-width: 767px) {
	.p-mv_body_back {
		width: calc(56.25vh + 400px);
		height: 177.77778vw;
	}
}

.p-mv_body_cnt {
	position: relative;
	z-index: 50;
	min-height: 100%;
}

.p-mv--slim {
	height: 87svh;
}

.p-mvCnt {
	position: absolute;
	top: calc(45% + var(--header-height));
	transform: translateY(-50%);
	width: 100%;
	padding-inline: var(--inner-margin-size-exp);
}
.p-mvCnt--sub {
	top: calc(35% + var(--header-height));
	padding-inline: var(--inner-margin-size);
}
@media (max-width: 767px) {
	.p-mvCnt {
		top: 60%;
	}
	.p-mvCnt--sub {
		top: 50%;
	}
}

.p-mvCnt_btn {
	margin-top: var(--s10);
}
@media (max-width: 767px) {
	.p-mvCnt_btn {
		max-width: 85%;
		margin-inline: auto;
		text-align: center;
	}
}

.c-mainCopyJa {
	width: 800px;
	max-width: 100%;
}
.c-mainCopyEn {
	width: 370px;
	max-width: 60%;
}
.c-mainCopyJa--min {
	width: 560px;
}
.c-mainCopyJa img,
.c-mainCopyEn img {
	width: 100%;
}

/* ==========================================================================
	ローディング画面
   ========================================================================== */

.is-loaded .p-loading {
	display: none;
}

.p-loading_body {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: linear-gradient(90deg, #005BAC 0%, #4382BC 100%);
	z-index: 9999;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: var(--white);
	transition-delay: 500ms;
}
.is-preLoaded .p-loading_body {
	opacity: 0;
	visibility: hidden;
}

.p-loading_slide {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: -100%;
	background: var(--white);
	z-index: 99999;
}
.is-preLoaded .p-loading_slide {
	animation: slide 1s cubic-bezier(.83, 0, .17, 1);
}
@keyframes slide {
	0% {
		left: -100%;
	}
	50% {
		left: 0;
	}
	100% {
		left: 100%;
	}
}

.p-loading_spinner {
	width: 40px;
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		radial-gradient(farthest-side, var(--white) 94%, #0000) top/6px 6px no-repeat,
		conic-gradient(#0000 30%, var(--white));
	-webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 6px), #000 0);
	animation: l13 1s infinite linear;
}
@keyframes l13 {
	100% {
		transform: rotate(1turn)
	}
}

.p-loading_txt {
	font-family: var(--ff-english);
}

/* ==========================================================================
	JS系
   ========================================================================== */

.js-modal,
.js-modal_close {
	cursor: pointer;
}

.is-closed .js-accordion_tgt {
	height: 0;
}
.is-open .js-accordion_tgt {
	height: var(--js-autoHeight);
}
.js-accordion_tgt {
	transition: height var(--transition-fast);
	overflow: hidden;
}