@charset "utf-8";
#nav{
	display:none!important;
}

.fs13{
	font-size:13px;
}
.mb16{
	margin-bottom: 16px;
}
.ti1{
	text-indent: 1em;
}
:root{
	--design:1920;
	--u:max(calc(100vw / 1920), calc(810px / 1920));
	--x-logo:144;
	--y-logo:196;
	--logo-w:856;
	--logo-h:145;
	--crumb-w:160;
	--crumb-h:23;
	--crumb-fs:16;
	--title-w:300;
	--title-h:90;
	--title-fs:50;
	--ph1-x:1113;
	--ph1-y:90;
	--ph1-w:195;
	--ph1-h:195;
	--ph2-x:1064;
	--ph2-y:316;
	--ph2-w:355;
	--ph2-h:355;
	--ph3-x:1370;
	--ph3-y:145;
	--ph3-w:658;
	--ph3-h:410;
	--ph4-x:1056;
	--ph4-y:112;
	--ph4-w:658;
	--ph4-h:410;
	--ph5-x:1345;
	--ph5-y:481;
	--ph5-w:195;
	--ph5-h:195;
	--ph6-x:1618;
	--ph6-y:283;
	--ph6-w:355;
	--ph6-h:355;
	--switch-x:145;
	--switch-y:663;
	--btn-w:400;
	--btn-h:100;
	--btn-fs:24;
	--edge:clamp(16px, 2vw, 32px);
	--kv-bottom:calc(var(--switch-y) + var(--btn-h));
	--kv-safe-gap:40;
	--recruit-bg_start:713;
	--recruit-maxw:1200;
	--logo-fs:96;
	--logo-lh:1.3;
	--logo-h:calc(var(--logo-fs) * var(--logo-lh));
}
.fresh{
	width:100%;
	margin-inline:auto;
	position:relative;
	overflow-x:hidden;
}

.kv,
.wrap.recruit{
	position:relative;
	z-index:1;
	background:transparent;
}
.wrap.recruit{
	z-index:1;
	isolation:isolate;
}
.wrap.recruit::before{
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:calc((var(--kv-bottom) + var(--kv-safe-gap) - var(--recruit-bg_start)) * -1 * var(--u));
	bottom:0;
	background:#ffffff;
	z-index:-1;
	pointer-events:none;
}
.wrap.flow{
	background:transparent!important;
}
.flow__inner{
	background:transparent;
}
.kv{
	position:relative;
	z-index:2;
	width:100%;
	overflow-x:hidden;
	overflow-y:visible;
	min-height:clamp(0px, calc(100vw * 803 / 1920), 803px);
	max-width:1920px;
	margin-inline:auto;
}
.kv__head{
	position:relative;
	margin:0;
	line-height:1;
	z-index:19;
	max-width:1600px;
}
.kv__logo{
	position:absolute;
	left:clamp(0px, calc(100vw * var(--x-logo) / 1280), calc(var(--x-logo) * 1px));
	top:clamp(0px, calc(100vw * var(--y-logo) / 1280), calc(var(--y-logo) * 1px));
	display:inline-block;
	font-weight:600;
	font-size:clamp(0px, calc(100vw * var(--logo-fs) / 1280), calc(var(--logo-fs) * 1px));
	line-height:var(--logo-lh);
	letter-spacing:.02em;
	background:linear-gradient(90deg, #54B2F6 0%, #185AA5 100%);
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
	color:transparent;
	opacity:.5;
	z-index:26;
	margin-left:-13px;
	padding-left:13px;
	margin-top:9px;
	width:59.9%;
	white-space:normal;
}
.kv__crumb{
	position:absolute;
	left:clamp(0px, calc(100vw * var(--x-logo) / 1280), calc(var(--x-logo) * 1px));
	top:clamp(0px, calc(100vw * (var(--y-logo) + var(--logo-h) + 16) / 1280), calc((var(--y-logo) + var(--logo-h) + 16) * 1px));
	width:clamp(0px, calc(100vw * var(--crumb-w) / 1280), calc(var(--crumb-w) * 1px));
	height:clamp(0px, calc(100vw * var(--crumb-h) / 1280), calc(var(--crumb-h) * 1px));
	line-height:clamp(0px, calc(100vw * var(--crumb-h) / 1280), calc(var(--crumb-h) * 1px));
	font-weight:700;
	font-size:clamp(0px, calc(100vw * var(--crumb-fs) / 1280), calc(var(--crumb-fs) * 1px));
	color:#185AA5;
	white-space:nowrap;
	overflow:hidden;
	z-index:25;
}
.kv__title{
	position:absolute;
	left:clamp(0px, calc(100vw * var(--x-logo) / 1280), calc(var(--x-logo) * 1px));
	top:clamp(0px, calc(100vw * (var(--y-logo) + var(--logo-h) + 16 + var(--crumb-h) + 12) / 1280), calc((var(--y-logo) + var(--logo-h) + 16 + var(--crumb-h) + 12) * 1px));
	width:clamp(0px, calc(100vw * var(--title-w) / 1280), calc(var(--title-w) * 1px));
	height:clamp(0px, calc(100vw * var(--title-h) / 1280), calc(var(--title-h) * 1px));
	line-height:clamp(0px, calc(100vw * var(--title-h) / 1280), calc(var(--title-h) * 1px));
	font-weight:700;
	font-size:clamp(0px, calc(100vw * var(--title-fs) / 1280), calc(var(--title-fs) * 1px));
	color:#0b1b2b;
	white-space:nowrap;
	overflow:hidden;
	z-index:25;
}
.kv__photos{
	position:relative;
	z-index:1;
}
.kv__photo{
	position:absolute;
	display:block;
	border-radius:12px;
	overflow:hidden;
}
.kv__photo>img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.kv__photo--4{
	left:clamp(0px, calc(100vw * var(--ph4-x) / 1920), calc(var(--ph4-x) * 1px));
	top:clamp(0px, calc(100vw * var(--ph4-y) / 1920), calc(var(--ph4-y) * 1px));
	width:clamp(0px, calc(100vw * var(--ph4-w) / 1920), calc(var(--ph4-w) * 1px));
	height:clamp(0px, calc(100vw * var(--ph4-h) / 1920), calc(var(--ph4-h) * 1px));
	z-index:1;
}
.kv__photo--5{
	left:clamp(0px, calc(100vw * var(--ph5-x) / 1920), calc(var(--ph5-x) * 1px));
	top:clamp(0px, calc(100vw * var(--ph5-y) / 1920), calc(var(--ph5-y) * 1px));
	width:clamp(0px, calc(100vw * var(--ph5-w) / 1920), calc(var(--ph5-w) * 1px));
	height:clamp(0px, calc(100vw * var(--ph5-h) / 1920), calc(var(--ph5-h) * 1px));
	z-index:2;
}
.kv__photo--6{
	left:clamp(0px, calc(100vw * var(--ph6-x) / 1920), calc(var(--ph6-x) * 1px));
	top:clamp(0px, calc(100vw * var(--ph6-y) / 1920), calc(var(--ph6-y) * 1px));
	width:clamp(0px, calc(100vw * var(--ph6-w) / 1920), calc(var(--ph6-w) * 1px));
	height:clamp(0px, calc(100vw * var(--ph6-h) / 1920), calc(var(--ph6-h) * 1px));
	z-index:2;
	border-radius:8.45%;
}
.kv__switch{
	position:absolute;
	left:clamp(0px, calc((100vw / 1920) * var(--switch-x)), calc(var(--switch-x) * 1px));
	top:clamp(0px, calc((100vw / 1920) * var(--switch-y)), calc(var(--switch-y) * 1px));
	width:clamp(0px, calc((100vw / 1920) * (var(--btn-w) * 2)), calc((var(--btn-w) * 2) * 1px));
	height:clamp(0px, calc((100vw / 1920) * var(--btn-h)), calc(var(--btn-h) * 1px));
	display:flex;
	z-index:3;
	--btn-r:10px;
	--btn-primary-bg:linear-gradient(90deg, #54B2F6 0%, #185AA5 100%);
	--btn-primary-color:#ffffff;
	--btn-primary-border:none;
	--btn-ghost-bg:#ffffff;
	--btn-ghost-color:#333333;
	--btn-ghost-border:3px solid #185AA5;
}
.kv__switch .btn{
	width:50%;
	height:100%;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:clamp(0px, calc((100vw / 1280) * var(--btn-fs)), calc(var(--btn-fs) * 1px));
	text-decoration:none;
	user-select:none;
	border-radius:0;
	padding:0;
	box-sizing:border-box;
	cursor: pointer;
	transition:background-color var(--tra1), color var(--tra1), border-color var(--tra1), transform var(--tra1), box-shadow var(--tra1);
}
.kv__switch .btn:first-child{
	border-radius:var(--btn-r) 0 0 var(--btn-r);
}
.kv__switch .btn:last-child{
	border-radius:0 var(--btn-r) var(--btn-r) 0;
}
.kv__switch .btn--primary{
	font-weight:500;
	color:var(--btn-primary-color);
	background:var(--btn-primary-bg);
	border:var(--btn-primary-border);
}

.kv__switch .btn--ghost{
	font-weight:500;
	color:var(--btn-ghost-color);
	background:var(--btn-ghost-bg);
	border:var(--btn-ghost-border);
}

.kv__switch .btn--primary:hover,
.kv__switch .btn--ghost:hover {
	background:#F3FBFE;
	color:#185AA5;
	border-color:#185AA5;
}

.kv__switch:not(.kv__switch--career) .btn--primary:hover {
	color:var(--btn-primary-color);
	background:var(--btn-primary-bg);
	border:var(--btn-primary-border);
}

.kv__switch.kv__switch--career .btn--ghost:hover {
	color:var(--btn-ghost-color);
	background:var(--btn-ghost-bg);
	border:var(--btn-ghost-border);
}

.kv__switch--career{
	--btn-primary-bg:#ffffff;
	--btn-primary-color:#333333;
	--btn-primary-border:3px solid #185AA5;
	--btn-ghost-bg:linear-gradient(90deg, #54B2F6 0%, #185AA5 100%);
	--btn-ghost-color:#ffffff;
	--btn-ghost-border:none;
}
.kv__photo--1{
	left:clamp(0px, calc(100vw * var(--ph1-x) / 1920), calc(var(--ph1-x) * 1px));
	top:clamp(0px, calc(100vw * var(--ph1-y) / 1920), calc(var(--ph1-y) * 1px));
	width:clamp(0px, calc(100vw * var(--ph1-w) / 1920), calc(var(--ph1-w) * 1px));
	height:clamp(0px, calc(100vw * var(--ph1-h) / 1920), calc(var(--ph1-h) * 1px));
	z-index:2;
}
.kv__photo--2{
	left:clamp(0px, calc(100vw * var(--ph2-x) / 1920), calc(var(--ph2-x) * 1px));
	top:clamp(0px, calc(100vw * var(--ph2-y) / 1920), calc(var(--ph2-y) * 1px));
	width:clamp(0px, calc(100vw * var(--ph2-w) / 1920), calc(var(--ph2-w) * 1px));
	height:clamp(0px, calc(100vw * var(--ph2-h) / 1920), calc(var(--ph2-h) * 1px));
	z-index:2;
}
.kv__photo--3{
	left:clamp(0px, calc(100vw * var(--ph3-x) / 1920), calc(var(--ph3-x) * 1px));
	top:clamp(0px, calc(100vw * var(--ph3-y) / 1920), calc(var(--ph3-y) * 1px));
	width:clamp(0px, calc(100vw * var(--ph3-w) / 1920), calc(var(--ph3-w) * 1px));
	height:clamp(0px, calc(100vw * var(--ph3-h) / 1920), calc(var(--ph3-h) * 1px));
	z-index:1;
}
@media (max-width:1580px){
	:root{
		--y-logo:140;
	}
	.kv__logo{
		left:clamp(0px, calc(100vw * var(--x-logo) / 1280), calc(var(--x-logo) * 1px));
		top:clamp(0px, calc(100vw * var(--y-logo) / 1280), calc(var(--y-logo) * 1px));
		font-size:clamp(0px, calc(100vw * var(--logo-fs) / 1280), calc(var(--logo-fs) * 1px));
		line-height:var(--logo-lh);
		letter-spacing:.02em;
		margin-left:-20px;
		padding-left:13px;
		width:54%;
		white-space:normal;
		margin-top:-90px;
	}
	.kv__crumb{
		left:clamp(0px, calc(100vw * var(--x-logo) / 1280), calc(var(--x-logo) * 1px));
		top:clamp(0px, calc(100vw * (var(--y-logo) + var(--logo-h) + 16) / 1280), calc((var(--y-logo) + var(--logo-h) + 16) * 1px));
		width:clamp(0px, calc(100vw * var(--crumb-w) / 1280), calc(var(--crumb-w) * 1px));
		height:clamp(0px, calc(100vw * var(--crumb-h) / 1280), calc(var(--crumb-h) * 1px));
		line-height:clamp(0px, calc(100vw * var(--crumb-h) / 1280), calc(var(--crumb-h) * 1px));
		font-size:clamp(0px, calc(100vw * var(--crumb-fs) / 1280), calc(var(--crumb-fs) * 1px));
		color:#185AA5;
		white-space:nowrap;
		overflow:hidden;
		z-index:25;
	}
	.kv__title{
		left:clamp(0px, calc(100vw * var(--x-logo) / 1280), calc(var(--x-logo) * 1px));
		top:clamp(0px, calc(100vw * (var(--y-logo) + var(--logo-h) + 16 + var(--crumb-h) + 12) / 1280), calc((var(--y-logo) + var(--logo-h) + 16 + var(--crumb-h) + 12) * 1px));
		width:clamp(0px, calc(100vw * var(--title-w) / 1280), calc(var(--title-w) * 1px));
		height:clamp(0px, calc(100vw * var(--title-h) / 1280), calc(var(--title-h) * 1px));
		line-height:clamp(0px, calc(100vw * var(--title-h) / 1280), calc(var(--title-h) * 1px));
		font-weight:700;
		font-size:clamp(0px, calc(100vw * var(--title-fs) / 1280), calc(var(--title-fs) * 1px));
		color:#0b1b2b;
		white-space:nowrap;
		overflow:hidden;
		z-index:25;
	}
}
@media (max-width:1280px){
	:root{
		--x-logo:144;
		--y-logo:20;
		--logo-w:856;
		--logo-h:128;
		--crumb-w:160;
		--crumb-h:23;
		--crumb-fs:16;
		--title-w:300;
		--title-h:90;
		--title-fs:50;
		--y-logo-1280:var(--y-logo);
		--logo-h-1280:calc(var(--logo-fs) * var(--logo-lh));
		--y-crumb-1280:calc(var(--y-logo-1280) + var(--logo-h-1280) + 16);
		--y-title-1280:calc(var(--y-crumb-1280) + var(--crumb-h) + 12);
		--gap-lc:calc(100vw * 16 / 1280);
		--gap-ct:calc(100vw * 12 / 1280);
	}
	.kv__logo{
		left:clamp(0px, calc(100vw * var(--x-logo) / 1280), calc(var(--x-logo) * 1px));
		top:clamp(0px, calc(100vw * var(--y-logo-1280) / 1280), calc(var(--y-logo-1280) * 1px));
		font-size:clamp(0px, calc(100vw * var(--logo-fs) / 1280), calc(var(--logo-fs) * 1px));
		line-height:var(--logo-lh);
		letter-spacing:.02em;
		margin-left:-20px;
		padding-left:13px;
		width:59.8%;
		white-space:normal;
		margin-top:0;
	}
	.kv__crumb{
		left:clamp(0px, calc(100vw * var(--x-logo) / 1280), calc(var(--x-logo) * 1px));
		top:clamp(0px, calc(100vw * var(--y-crumb-1280) / 1280), calc(var(--y-crumb-1280) * 1px));
		width:clamp(0px, calc(100vw * var(--crumb-w) / 1280), calc(var(--crumb-w) * 1px));
		height:clamp(0px, calc(100vw * var(--crumb-h) / 1280), calc(var(--crumb-h) * 1px));
		line-height:clamp(0px, calc(100vw * var(--crumb-h) / 1280), calc(var(--crumb-h) * 1px));
		font-weight:700;
		font-size:clamp(0px, calc(100vw * var(--crumb-fs) / 1280), calc(var(--crumb-fs) * 1px));
		color:#185AA5;
		white-space:nowrap;
		overflow:hidden;
		z-index:25;
		margin-top: -2rem;
	}
	.kv__title{
		left:clamp(0px, calc(100vw * var(--x-logo) / 1280), calc(var(--x-logo) * 1px));
		top:clamp(0px, calc(100vw * var(--y-title-1280) / 1280), calc(var(--y-title-1280) * 1px));
		width:clamp(0px, calc(100vw * var(--title-w) / 1280), calc(var(--title-w) * 1px));
		height:clamp(0px, calc(100vw * var(--title-h) / 1280), calc(var(--title-h) * 1px));
		line-height:clamp(0px, calc(100vw * var(--title-h) / 1280), calc(var(--title-h) * 1px));
		font-weight:700;
		font-size:clamp(0px, calc(100vw * var(--title-fs) / 1280), calc(var(--title-fs) * 1px));
		color:#0b1b2b;
		white-space:nowrap;
		overflow:hidden;
		z-index:25;
	}
	@supports (anchor-name: --a){
		.kv__logo{
			anchor-name:--logo;
		}
		.kv__crumb{
			top:calc(anchor(--logo bottom) + var(--gap-lc));
		}
		.kv__title{
			top:calc(anchor(--logo bottom) + var(--gap-lc) + clamp(0px, calc(100vw * var(--crumb-h) / 1280), calc(var(--crumb-h) * 1px)) + var(--gap-ct));
		}
	}
}



@media (max-width:810px){
	:root{
		--sp-w:420;
		--sp-h:693;
		--vw:calc(100vw / 420);
		--sp-head:var(--head-height, 56px);
		--btn-w:360;
		--btn-h:70;
		--btn-top:658;
		--sp-left:calc(50% - (var(--sp-w) * var(--vw)) / 2 + 40 * var(--vw));
		--sp-top-logo:calc(124 * var(--vw));
		--sp-top-crumb:calc(255 * var(--vw));
		--sp-top-title:calc(310 * var(--vw));
		--sp-nudge-y:calc(-50 * var(--vw));
	}

	.wrap.recruit::before{content:none !important;}

	.kv{
		position:relative;
		z-index:10;
		height:calc(var(--sp-h) * var(--vw) - var(--sp-head));
		min-height:0;
		overflow-x:visible;
		overflow-y:visible;
		overscroll-behavior:auto;
	}

	.kv__logo,.kv__crumb,.kv__title{left:var(--sp-left);}
	.kv__logo{
		top:calc(var(--sp-top-logo) + var(--sp-nudge-y) - var(--sp-head));
		font-size:600%;
		line-height:1.3;
		letter-spacing:.02em;
		z-index:26;
		margin:0;
		padding:0;
		width:auto;
		margin-left: -13px;
        padding-left: 13px;
	}

	.kv__crumb{
		top:calc(var(--sp-top-crumb) + var(--sp-nudge-y) - var(--sp-head));
		width:calc(160 * var(--vw));
		height:calc(23 * var(--vw));
		line-height:calc(23 * var(--vw));
		font-size:calc(16 * var(--vw));
		z-index:25;
		margin-top:0rem;
	}

	.kv__title{
		top:calc(var(--sp-top-title) + var(--sp-nudge-y) - var(--sp-head));
		width:auto;
		height:auto;
		line-height:1.2;
		font-size:calc(30 * var(--vw));
		white-space:nowrap;
		z-index:25;
	}

	.kv__photo{border-radius:12px;overflow:hidden;}
	.kv__photo>img{width:100%;height:100%;object-fit:cover;}

	.kv__photo--4{
		left:calc(30 * var(--vw));
		top:calc(366 * var(--vw) - var(--sp-head));
		width:calc(291.67 * var(--vw));
		height:calc(181.74 * var(--vw));
		z-index:15;
	}
	.kv__photo--5{
		left:calc(158.1 * var(--vw));
		top:calc(529.56 * var(--vw) - var(--sp-head));
		width:calc(86.44 * var(--vw));
		height:calc(86.44 * var(--vw));
		z-index:20;
	}
	.kv__photo--6{
		left:calc(279.11 * var(--vw));
		top:calc(441.8 * var(--vw) - var(--sp-head));
		width:calc(157.36 * var(--vw));
		height:calc(157.36 * var(--vw));
		z-index:20;
		border-radius:8.45%;
	}

	.kv__switch{
		position:absolute;
		left:calc(50% - (var(--sp-w) * var(--vw)) / 2 + 30 * var(--vw));
		top:calc(var(--btn-top) * var(--vw) - var(--sp-head));
		width:calc(var(--btn-w) * var(--vw));
		height:calc(var(--btn-h) * var(--vw));
		display:flex;
		z-index:40;
		--btn-r:calc(10 * var(--vw));
	}
	.kv__switch .btn{width:50%;height:100%;font-size:calc(18 * var(--vw));border-radius:0;}
	.kv__switch .btn:first-child{border-radius:var(--btn-r) 0 0 var(--btn-r);}
	.kv__switch .btn:last-child{border-radius:0 var(--btn-r) var(--btn-r) 0;}
	.kv__switch .btn--ghost{border-width:calc(3 * var(--vw));}

	/* 1-3は従来どおり（- var(--sp-head) あり） */
	.kv__photo--1{
		left:calc((min(100vw, 810px) / 420) * 52.16);
		top:calc((min(100vw, 810px) / 420) * 357.17 - var(--sp-head));
		width:calc((min(100vw, 810px) / 420) * 88.2);
		height:calc((min(100vw, 810px) / 420) * 88.2);
		z-index:21;
	}
	.kv__photo--2{
		left:calc((min(100vw, 810px) / 420) * 30);
		top:calc((min(100vw, 810px) / 420) * 459.38 - var(--sp-head));
		width:calc((min(100vw, 810px) / 420) * 160.56);
		height:calc((min(100vw, 810px) / 420) * 160.56);
		z-index:22;
	}
	.kv__photo--3{
		left:calc((min(100vw, 810px) / 420) * 168.4);
		top:calc((min(100vw, 810px) / 420) * 382.04 - var(--sp-head));
		width:calc((min(100vw, 810px) / 420) * 297.6);
		height:calc((min(100vw, 810px) / 420) * 185.44);
		z-index:15;
	}
}

@media (max-width:600px){
	:root{
		--sp-w:420;
		--sp-h:693;
		--vw:calc(100vw / 420);
		--sp-head:var(--head-height, 56px);
		--btn-w:360;
		--btn-h:70;
		--btn-top:658;
		--sp-left:calc(50% - (var(--sp-w) * var(--vw)) / 2 + 40 * var(--vw));
		--sp-top-logo:calc(144 * var(--vw));
		--sp-top-crumb:calc(265 * var(--vw));
		--sp-top-title:calc(320 * var(--vw));
		--sp-nudge-y:calc(-50 * var(--vw));
	}
	.kv__logo,.kv__crumb,.kv__title{left:var(--sp-left);}
	.kv__logo{
		top:calc(var(--sp-top-logo) + var(--sp-nudge-y) - var(--sp-head));
		font-size:400%;
		line-height:1.2;
		letter-spacing:.02em;
		z-index:26;
		margin:0;
		padding:0;
		width:auto;
		margin-left: -13px;
        padding-left: 13px;
	}
	.kv__crumb{top:calc(var(--sp-top-crumb) + var(--sp-nudge-y) - var(--sp-head));}
	.kv__title{top:calc(var(--sp-top-title) + var(--sp-nudge-y) - var(--sp-head));}
}













.wrap.recruit{
	width:100%;
	background:#ffffff;
	z-index:0;
}
.recruit__inner{
	max-width:1200px;
	margin-inline:auto;
	padding:0;
}
.recruit__title{
	margin:0;
	padding-top:59px;
	display:flex;
	align-items:baseline;
	gap:20px;
	line-height:1;
}
.recruit__title-ja{
	font-weight:700;
	font-size:30px;
	line-height:1;
	color:#0f172a;
}
.recruit__title-en{
	margin-left:0;
	inline-size:157px;
	block-size:30px;
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;
	font-weight:400;
	font-size:16px;
	line-height:1.2;
	color:#043CA3;
	letter-spacing:.02em;
}
.recruit__list{
	margin:0;
	margin-top:49px;
	padding:0;
	border-top:1px solid #cccccc;
}
.ri{
	display:grid;
	grid-template-columns:170px 1fr;
	column-gap:50px;
	align-items:center;
	padding:25px 0;
	border-bottom:1px solid #cccccc;
}
.ri__term{
	margin:0;
	padding-left:20px;
	font-weight:700;
	font-size:17px;
	line-height:1.6;
	white-space:nowrap;
	color:#0f172a;
	align-self:center;
}
.ri__desc{
	margin:0;
	font-weight:400;
	font-size:15px;
	color:#0f172a;
	line-height:1.8;
	padding-bottom:0;
}
.ri__desc p{
	margin:0 20px 0px 0px;
	letter-spacing:0.07em;
}
.ri__desc>*:last-child{
	margin-bottom:0 !important;
}
.ri__desc p>strong{
	font-weight:700;
	font-size:16px;
	position:relative;
	padding-left:18px;
	display:inline-block;
	color:#000;
}
.ri__desc p>strong::before{
	content:"";
	position:absolute;
	left:0;
	top:calc(50% - 5px);
	width:10px;
	height:10px;
	background:#04CDFC;
	border-radius:4px;
}
.ri__bullets{
	margin:0 0 0px;
	padding-left:0;
	list-style:none;
}
.ri__bullets li{
	margin:0 0 0px;
	font-size:15px;
	line-height:1.8;
	color:#000;
	list-style:none;
}
.ri__bullets li::marker{
	content:"";
}
.ri__desc .ri__note{
	font-size:13px;
	line-height:1.7;
}
.requirements{
	margin:0;
	padding-left:1.2em;
	list-style-type:disc;
}
.requirements li::marker{
	font-size:0.6em;
}
.recruit__cta{
	display:flex;
	justify-content:center;
	margin-top:36px;
}
.entry-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:360px;
	height:64px;
	padding:0 28px;
	border-radius:12px;
	background:linear-gradient(90deg,#54B2F6 0%,#185AA5 100%);
	color:#fff;
	font-weight:600;
	font-size:18px;
	text-decoration:none;
	box-shadow:0 6px 20px rgba(0,0,0,.08);
}
.wrap.recruit .recruit__cta{
	margin-top:36px;
	padding-bottom:60px;
}
.wrap.recruit .recruit__cta .entry-btn{
	--label-gap:12px;
	position:relative;
	display:grid;
	grid-auto-flow:column;
	justify-content:center;
	align-content:center;
	align-items:end;
	column-gap:var(--label-gap);
	width:700px;
	height:150px;
	margin:0 auto;
	border-radius:30px;
	background:#04CDFC !important;
	background-image:linear-gradient(90deg,#54B2F6 0%,#185AA5 100%) !important;
	color:#fff;
	text-decoration:none;
	box-shadow:none;
	min-width:0;
	padding:0 84px;
}
.wrap.recruit .recruit__cta .entry-btn .entry-main{
	font-weight:700;
	font-size:48px;
	line-height:1;
	letter-spacing:5.1px;
}
.wrap.recruit .recruit__cta .entry-btn .entry-sub{
	font-weight:400;
	font-size:24px;
	line-height:1.5;
	margin-left:0;
}
.wrap.recruit .recruit__cta .entry-btn::after{
	content:"\2192";
	position:absolute;
	right:30px;
	top:50%;
	transform:translateY(-50%);
	width:46px;
	height:46px;
	line-height:46px;
	text-align:center;
	border-radius:100px;
	border:1px solid #fff;
	color:#fff;
	font-weight:400;
	font-size:32px;
	box-sizing:border-box;
}
.wrap.recruit .recruit__cta .entry-btn.is-fixed{
	--fx:214px;
	--fy:48px;
	display:block;
	padding:0;
}
.wrap.recruit .recruit__cta .entry-btn.is-fixed .entry-main,
.wrap.recruit .recruit__cta .entry-btn.is-fixed .entry-sub{
	position:relative;
	left:var(--fx);
	top:var(--fy);
	display:inline-block;
	vertical-align:bottom;
}
.wrap.recruit .recruit__cta .entry-btn.is-fixed .entry-sub{
	margin-left:var(--label-gap);
}
@media (min-width:1920px){
	.wrap.recruit{
		padding-left:calc((100vw - 1200px)/2);
		padding-right:calc((100vw - 1200px)/2);
	}
	.recruit__inner{
		max-width:1200px;
		margin-inline:auto;
		padding:0;
	}
	.recruit__title{
		padding-top:59px;
		gap:20px;
	}
	.recruit__title-ja{
		font-size:30px;
	}
	.recruit__title-en{
		inline-size:157px;
		block-size:30px;
		font-size:16px;
	}
	.recruit__list{
		margin-top:49px;
	}
	.ri{
		grid-template-columns:170px 1fr;
		column-gap:50px;
		padding:25px 0;
	}
	.ri__term{
		padding-left:20px;
		font-size:17px;
	}
	.ri__desc{
		font-size:15px;
		padding-bottom:0;
	}
	.ri__desc .ri__note{
		font-size:13px;
	}
	.ri__desc p{
		margin:0 30px 0px 0px;
		letter-spacing:0.07em;
	}
	.ri__desc p>strong{
		font-size:16px;
		padding-left:18px;
	}
	.ri__desc p>strong::before{
		width:10px;
		height:10px;
		border-radius:4px;
		top:calc(50% - 5px);
	}
	.ri__bullets{
		margin:0 0 10px;
		padding-left:0;
		list-style:none;
	}
	.ri__bullets li{
		margin:0 0 5px;
		font-size:15px;
		line-height:1.8;
		list-style:none;
	}
	.entry-btn{
		min-width:360px;
		height:64px;
		padding:0 28px;
		font-size:18px;
		border-radius:12px;
		box-shadow:0 6px 20px rgba(0,0,0,.08);
	}
	.wrap.recruit .recruit__cta .entry-btn{
		width:700px;
		height:150px;
		border-radius:30px;
		padding:0 84px;
	}
	.wrap.recruit .recruit__cta .entry-btn .entry-main{
		font-size:48px;
	}
	.wrap.recruit .recruit__cta .entry-btn .entry-sub{
		font-size:24px;
	}
	.wrap.recruit .recruit__cta .entry-btn::after{
		right:30px;
		width:46px;
		height:46px;
		line-height:46px;
		font-size:32px;
	}
	.wrap.recruit .recruit__cta .entry-btn.is-fixed{
		--fx:214px;
		--fy:48px;
	}
}
@media (max-width:1919px) and (min-width:1280px){
	.wrap.recruit{
		padding-inline:clamp(0px, calc((100vw - 1280px)/2), 320px);
	}
}
@media (max-width:1280px) and (min-width:811px){
	.wrap.recruit{
		padding-inline:clamp(16px, 4vw, 40px);
	}
	.recruit__inner{
		max-width:1200px;
		padding:0;
	}
	.ri{
		grid-template-columns:170px 1fr;
		column-gap:50px;
	}
	.recruit__title{
		gap:20px;
	}
}
@media (max-width:810px){
	.wrap.recruit{
		position:relative;
		z-index:0;
		background:#ffffff;
		margin-top:0 !important;
		padding-top:100px;
	}
	.recruit__inner{
		width:calc(360 / 420 * var(--V));
		max-width:100%;
		margin-inline:auto;
		padding:0;
	}
	.recruit__title{
		margin:0;
		padding:0;
		display:flex;
		align-items:baseline;
		justify-content:flex-start;
		gap:10px;
		line-height:1;
		text-align:left;
	}
	.recruit__title-ja{
		font-weight:700;
		font-size:24px;
		line-height:1;
		color:#0f172a;
		text-align:left;
	}
	.recruit__title-en{
		display:inline-flex;
		align-items:center;
		justify-content:flex-start;
		font-weight:400;
		font-size:12px;
		line-height:1.2;
		color:#043CA3;
		letter-spacing:.02em;
		text-align:left;
	}
	.recruit__list{
		margin:0;
		margin-top:25px;
		padding:0;
		border-top:1px solid #cccccc;
	}
	.ri{
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		justify-content:flex-start;
		padding:25px 0;
		border-bottom:1px solid #cccccc;
	}
	.ri__term{
		margin:0;
		padding:0 0 20px 0;
		font-weight:700;
		font-size:17px;
		line-height:1.4;
		color:#043CA3;
		white-space:normal;
		text-align:left;
		align-self:flex-start;
	}
	.ri__desc{
		margin:0;
		font-weight:400;
		font-size:13px;
		color:#000;
		line-height:1.8;
		padding:0;
		text-align:left;
	}
	.ri__desc p{
		margin:0 5px 0px 0px;
		letter-spacing:0em;
	}
	.ri__desc>*:last-child{
		margin-bottom:0 !important;
	}
	.ri__desc p>strong{
		font-weight:700;
		font-size:14px;
		position:relative;
		padding-left:18px;
		display:inline-block;
		color:#000;
	}
	.ri__desc p>strong::before{
		content:"";
		position:absolute;
		left:0;
		top:calc(50% - 5px);
		width:10px;
		height:10px;
		background:#04CDFC;
		border-radius:4px;
	}
	.ri__bullets{
		margin:0 0 12px;
		padding-left:0;
		list-style:none;
		text-align:left;
	}
	.ri__bullets li{
		margin:0 0 6px;
		font-size:13px;
		line-height:1.5;
		color:#000;
		list-style:none;
		text-align:left;
	}
	.ri__bullets li::marker{
		content:"";
	}
	.ri__desc .ri__note{
		font-size:13px;
		line-height:1.7;
	}
	.recruit__cta{
		display:flex;
		justify-content:center;
		margin-top:36px;
	}
	.wrap.recruit .recruit__cta{
		padding-bottom:60px;
	}
	.wrap.recruit .recruit__cta .entry-btn{
		display:grid;
		grid-auto-flow:column;
		justify-content:center;
		align-content:center;
		align-items:end;
		column-gap:8px;
		width:calc(300 / 420 * var(--V));
		height:70px;
		border-radius:10px;
		padding:0 56px;
		background:#04CDFC !important;
		background-image:linear-gradient(90deg,#54B2F6 0%,#185AA5 100%) !important;
	}
	.wrap.recruit .recruit__cta .entry-btn .entry-main{
		font-size:20px;
		line-height:1;
		font-weight:700;
		letter-spacing:5.1px;
	}
	.wrap.recruit .recruit__cta .entry-btn .entry-sub{
		font-size:12px;
		line-height:1.5;
		font-weight:400;
		margin-left:0;
	}
	.wrap.recruit .recruit__cta .entry-btn::after{
		right:14px;
		width:36px;
		height:36px;
		line-height:36px;
		font-size:22px;
	}
}
@media (max-width:600px){
	.recruit__inner{
		width:calc(var(--btn-w) * var(--vw));
		margin-inline:auto;
	}
}












.flow{
	padding:40px 0 80px;
}
.flow__inner{
	width:min(1200px, 100%);
	margin-inline:auto;
}
.flow__title{
	position:relative;
	height:30px;
	margin:0 0 24px;
}
.flow__title-ja{
	position:absolute;
	left:0;
	bottom:0;
	/* font-family:"Zen Kaku Gothic Antique",sans-serif; */
	font-weight:700;
	font-size:30px;
	line-height:1;
	color:#0b1b2b;
}
.flow__title-en{
	position:absolute;
	left:170px;
	bottom:0;
	/*font-family:"Jost",sans-serif;*/
	font-weight:400;
	font-size:16px;
	line-height:1;
	color:#6aa6da;
	letter-spacing:.02em;
}
.flow__list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	row-gap:20px;
}
.flow--career .flow__list{
	display:flex;
	flex-direction:column;
	row-gap:20px;
}

.fi{
	position:relative;
	width:100%;
	height:80px;
	background:#fff;
	--boxH:80px;
	--arr:19.61px;
	--arrh:calc(19.61px / 1.41421356237);
	--ax:20.13px;
	--ady:0px;
}
.fi__title > a{
	color: inherit;
	text-decoration: none;
}
.fi__title > a:hover{
	text-decoration: underline;
}
.fi__title > a:focus-visible{
	outline: 2px solid #043CA3;
	outline-offset: 2px;
	border-radius: 2px;
}
.fi:nth-child(3){
	--ady:0px;
}
.fi__no{
	position:absolute;
	left:20.13px;
	top:50%;
	transform:translateY(-50%);
	/*font-family:"Jost",sans-serif;*/
	font-weight:700;
	font-size:20px;
	line-height:1;
	color:#04CDFC;
}
.fi__title{
	position:absolute;
	left:100px;
	top:50%;
	transform:translateY(-50%);
	/* font-family:"Zen Kaku Gothic Antique",sans-serif; */
	font-weight:500;
	font-size:20px;
	line-height:1;
	color:#043CA3;
}
.fi:nth-child(n+3) .fi__title{
	color:#000;
	font-weight:500;
}
.fi__note{
	position:absolute;
	left:250px;
	top:50%;
	transform:translateY(-50%);
	/* font-family:"Zen Kaku Gothic Antique",sans-serif; */
	font-weight:400;
	font-size:15px;
	line-height:1;
	color:#000;
}
.fi:nth-child(6) .fi__note{
	left:350px;
}
.fi__logo{
	display:none;
}
.fi:nth-child(3) .fi__logo{
	display:block;
	position:absolute;
	left:350px;
	top:8px;
	width:200px;
	height:62px;
	object-fit:contain;
}
.fi::after{
	content:"";
	position:absolute;
	left:var(--ax);
	top:calc(var(--boxH) + var(--ady));
	width:var(--arr);
	height:var(--arrh);
	background:#04CDFC;
	clip-path:polygon(0 0, 100% 0, 50% 100%);
	z-index:1;
	pointer-events:none;
}
.fi:last-child::after{
	display:none;
}

@media (min-width:1920px){
	.flow{
		padding:131px calc((100vw - 1200px)/2) 80px;
	}
	.flow__inner{
		width:1200px;
		max-width:100%;
		margin-inline:auto;
	}
	.flow__title{
		position:relative;
		height:30px;
		margin:0 0 24px;
	}
	.flow__title-ja{
		position:absolute;
		left:0;
		bottom:0;
		font-weight:700;
		font-size:30px;
		line-height:1;
		color:#0b1b2b;
	}
	.flow__title-en{
		position:absolute;
		left:170px;
		bottom:0;
		font-weight:400;
		font-size:16px;
		line-height:1;
		color:#6aa6da;
		letter-spacing:.02em;
	}
	.flow__list{
		list-style:none;
		margin:0;
		padding:0;
		display:flex;
		flex-direction:column;
		row-gap:20px;
	}
	.fi{
		position:relative;
		width:100%;
		height:80px;
		background:#fff;
		--boxH:80px;
		--arr:19.61px;
		--arrh:calc(19.61px / 1.41421356237);
		--ax:20.13px;
		--ady:0px;
	}
	.fi:nth-child(3){
		--ady:0px;
	}
	.fi__no{
		position:absolute;
		left:20.13px;
		top:50%;
		transform:translateY(-50%);
		font-weight:700;
		font-size:20px;
		line-height:1;
		color:#04CDFC;
	}
	.fi__title{
		position:absolute;
		left:100px;
		top:50%;
		transform:translateY(-50%);
		font-weight:500;
		font-size:20px;
		line-height:1;
		color:#043CA3;
	}
	.fi:nth-child(n+3) .fi__title{
		color:#000;
		font-weight:500;
	}
	.fi__note{
		position:absolute;
		left:250px;
		top:50%;
		transform:translateY(-50%);
		font-weight:400;
		font-size:15px;
		line-height:1;
		color:#000;
	}
	.fi:nth-child(6) .fi__note{
		left:350px;
	}
	.fi__logo{
		display:none;
	}
	.fi:nth-child(3) .fi__logo{
		display:block;
		position:absolute;
		left:350px;
		top:8px;
		width:200px;
		height:62px;
		object-fit:contain;
	}
	.fi::after{
		content:"";
		position:absolute;
		left:var(--ax);
		top:calc(var(--boxH) + var(--ady));
		width:var(--arr);
		height:var(--arrh);
		background:#04CDFC;
		clip-path:polygon(0 0, 100% 0, 50% 100%);
		z-index:1;
		pointer-events:none;
	}
	.fi:last-child::after{
		display:none;
	}
}


@media (max-width:1919px) and (min-width:1280px){
	.flow{
		padding:131px clamp(0px, calc((100vw - 1280px)/2), 320px) 80px;
	}
	.flow__inner{
		width:1200px;
		max-width:100%;
	}
}

@media (max-width:1280px) and (min-width:811px){
	.flow{
		padding:131px clamp(16px, 4vw, 40px) 80px;
	}
	.flow__inner{
		width:min(1200px, 100%);
	}
	.fi{
		--boxH: clamp(72px, calc(72px + (8 * ((100vw - 811px) / 469))), 80px);
		height: var(--boxH);
	}
	.fi::after{
		top: calc(var(--boxH) + var(--ady));
	}
}

@media (max-width:810px){
	:root{ --V:clamp(calc(420px * 0.99), 100vw, 810px); }
	.flow{ padding:45px 0 80px; }
	.flow__inner{ width:min(calc(360 / 420 * var(--V)), 100%); margin-inline:auto; }
	.flow__title{ position:relative; height:24px; margin:0 0 24px; }
	.flow__title-ja{ left:0; bottom:0; font-size:24px; }
	.flow__title-en{ 
		position:absolute; 
		left:140px; 
		bottom:0; 
		/*font-family:"Jost",sans-serif; */
		font-weight:400; 
		font-size:12px; 
		line-height:1; 
		color:#043CA3; 
		letter-spacing:.02em; }
	.flow__list{ row-gap:20px; }
	.fi{
		--boxH:80px;
		--ady:0px;
		--title-x:70px;
		--note-gap:20px;
		position:relative;
		height:var(--boxH);
		background:#fff;
	}
	.fi:nth-child(6){ --note-gap:0px; }
	.fi:nth-child(3){
		--boxH:122px;
		--logo-gap:0px;
	}
	.fi__no{
		position:absolute;
		left:20px;
		top:50%;
		transform:translateY(-50%);
		/*font-family:"Jost",sans-serif;*/
		font-weight:700;
		font-size:20px;
		line-height:1;
		color:#04CDFC;
	}
	.fi__body{
		position:absolute;
		left:var(--title-x);
		right:16px;
		top:50%;
		transform:translateY(-50%);
		display:flex;
		flex-direction:row;
		align-items:flex-end;
		justify-content:flex-start;
		gap:0;
	}
	.fi__title,
	.fi__note,
	.fi__logo{
		position:static;
		transform:none;
		white-space:nowrap;
		margin:0;
	}
	.fi__title{
	/* font-family:"Zen Kaku Gothic Antique",sans-serif; */
		font-weight:500;
		font-size:18px;
		line-height:1;
		color:#043CA3;
	}
	.fi:nth-child(n+3) .fi__title{ color:#000; }
	.fi__note{
		margin-left:var(--note-gap);
		/* font-family:"Zen Kaku Gothic Antique",sans-serif; */
		font-weight:400;
		font-size:13px;
		line-height:1;
		color:#000;
	}
	.fi__logo{
		width:auto;
		height:32px;
		max-width:100%;
		object-fit:contain;
		margin-left:auto;
	}
	.fi:nth-child(3) .fi__logo{
		margin-left:var(--logo-gap);
		width:200px;
		height:62px;
		left:260px;
		top:30px;
	}
	.fi::after{
		content:"";
		position:absolute;
		left:20.13px;
		top:calc(var(--boxH) + var(--ady));
		width:19.61px;
		height:calc(19.61px / 1.41421356237);
		background:#04CDFC;
		clip-path:polygon(0 0, 100% 0, 50% 100%);
		z-index:1;
		pointer-events:none;
	}
	.fi:last-child::after{ display:none; }

	.flow--career .flow__list{ row-gap:20px !important; }
	.flow--career .fi{
		--boxH:80px;
		height:var(--boxH) !important;
		min-height:var(--boxH) !important;
		width:100% !important;
		margin:0 !important;
		transform:none !important;
		order:0 !important;
		align-self:stretch !important;
		grid-column:auto !important;
		grid-row:auto !important;
	}
	.flow--career .fi:nth-child(n){
		height:var(--boxH) !important;
		min-height:var(--boxH) !important;
		margin:0 !important;
		transform:none !important;
		order:0 !important;
		align-self:stretch !important;
		grid-column:auto !important;
		grid-row:auto !important;
	}
	.flow--career .fi__body{
		position:absolute !important;
		left:var(--title-x) !important;
		right:16px !important;
		top:50% !important;
		transform:translateY(-50%) !important;
		display:flex !important;
		flex-direction:row !important;
		align-items:flex-end !important;
		justify-content:flex-start !important;
		gap:0 !important;
	}
	.flow--career .fi__title,
	.flow--career .fi__note,
	.flow--career .fi__logo{
		position:static !important;
		transform:none !important;
		white-space:nowrap !important;
	}
	.flow--career .fi .fi__title{ color:#043CA3 !important; }
	.flow--career .fi:nth-child(n+3) .fi__title{ color:#043CA3 !important; }
	.flow--career .fi:nth-child(3){ --boxH:80px !important; }
	.flow--career .fi:nth-child(3) .fi__body{
		position:absolute !important;
		left:var(--title-x) !important;
		right:16px !important;
		top:50% !important;
		transform:translateY(-50%) !important;
		display:flex !important;
	}
	.flow--career .fi:nth-child(3) .fi__title,
	.flow--career .fi:nth-child(3) .fi__logo{
		position:static !important;
		left:auto !important;
		top:auto !important;
		transform:none !important;
		margin:0 !important;
	}
}


@media (max-width:600px){
	.flow__inner{
		width:calc(var(--btn-w) * var(--vw));
		margin-inline:auto;
	}
	.fi__no{
		top:50%;
		transform:translateY(-50%);
	}
	.fi__body{
		position:absolute;
		left:var(--title-x);
		right:16px;
		top:50%;
		transform:translateY(-50%);
		display:flex;
		flex-direction:row;
		align-items:flex-end;
		justify-content:flex-start;
		flex-wrap:wrap;
		gap:0;
	}
	.fi__title,
	.fi__note{
		white-space:nowrap;
		order:1;
	}
	.fi__note{
		margin-left:var(--note-gap);
	}
	.fi:nth-child(3){
		--boxH:122px;
		height:var(--boxH);
		--ady:0px;
	}
	.fi:nth-child(3) .fi__body{
		position:static;
		left:auto;
		right:auto;
		top:auto;
		transform:none;
		display:block;
	}
	.fi:nth-child(3) .fi__title{
		position:absolute;
		left:var(--title-x);
		top:25px;
		transform:none;
	}
	.fi:nth-child(3) .fi__logo{
		position:absolute;
		left:var(--title-x);
		top:48px;
		width:200px;
		height:62px;
		max-width:100%;
		object-fit:contain;
		margin:0;
	}
	.fi::after{
		top:calc(var(--boxH) + var(--ady));
	}
	.flow--career .flow__list{
		display:flex !important;
		flex-direction:column !important;
		flex-wrap:nowrap !important;
		row-gap:20px !important;
	}
	.flow--career .fi,
	.flow--career .fi:nth-child(n){
		width:100% !important;
		margin:0 !important;
		transform:none !important;
		order:0 !important;
		align-self:stretch !important;
		grid-column:auto !important;
		grid-row:auto !important;
		--boxH:80px;
		height:var(--boxH) !important;
		min-height:var(--boxH) !important;
	}
	.flow--career .fi__body{
		position:absolute !important;
		left:var(--title-x) !important;
		right:16px !important;
		top:50% !important;
		transform:translateY(-50%) !important;
		display:flex !important;
		flex-direction:row !important;
		align-items:flex-end !important;
		justify-content:flex-start !important;
		flex-wrap:nowrap !important;
		gap:0 !important;
	}
	.flow--career .fi__title,
	.flow--career .fi__note{
		order:0 !important;
		white-space:nowrap !important;
	}
	.flow--career .fi__note{
		margin-left:var(--note-gap) !important;
	}
	.flow--career .fi .fi__title{
		color:#043CA3 !important;
	}
	.flow--career .fi:nth-child(n+3) .fi__title{
		color:#043CA3 !important;
	}
	.flow--career .fi:nth-child(3){
		--boxH:80px !important;
	}
	.flow--career .fi:nth-child(3) .fi__body{
		position:absolute !important;
		left:var(--title-x) !important;
		right:16px !important;
		top:50% !important;
		transform:translateY(-50%) !important;
		display:flex !important;
	}
	.flow--career .fi:nth-child(3) .fi__title,
	.flow--career .fi:nth-child(3) .fi__logo{
		position:static !important;
		left:auto !important;
		top:auto !important;
		transform:none !important;
		margin:0 !important;
	}
}



@media (max-width:480px){
	.fi:nth-child(6){ 
		--boxH:100px;
		height:var(--boxH);
	}
	.fi:nth-child(6) .fi__note{
		flex-basis:100%;
		margin:10px 0 0 0;
	}
}



#foot-entry{
	padding-top: 0vw;
	padding-bottom: 6vw;
}

@media (max-width:810px){
	#foot-entry{
		padding-top: 0vw;
		padding-bottom: 10vw;
	}
}

@media (min-width:810px){
	.d810{
		display: none;
	}
}


/* office and FACTORY */
.of-sec-head {
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:25px;
	margin:0 0 20px 0;
	min-width:0;
	flex-wrap:nowrap;
}

.of-sec-title {
	display:flex;
	align-items:baseline;
	margin:0;
	line-height:1;
	font-size:1.875rem;
	font-weight:600;
	letter-spacing:0.06em;
	color:#043CA3;
	flex:0 0 auto;
	white-space:nowrap;
	font-family:'Jost';
}

.of-sec-initial {
	font-size:2.5rem;
	font-weight:600;
	line-height:1;
	margin-right:0;
	color:#043CA3;
}

.of-sec-sub {
	display:inline-block;
	margin:0;
	font-size:0.9375rem;
	font-weight:700;
	color:#000000;
	letter-spacing:0.08em;
	flex:0 0 auto;
	white-space:nowrap;
	font-family:"Zen Kaku Gothic New";
}

.of-sec-head::after {
	content:"";
	flex:0 1 145px;
	max-width:145px;
	height:1px;
	background:#000000;
}

.gallery {
	font-family:"Zen Kaku Gothic New";
	color:#000000;
}

.gallery a {
	text-decoration:none;
	color:inherit;
}

.gallery-kv {
	position:relative;
	width:100%;
	max-width:1920px;
	margin-inline:auto;
	padding-top:calc(0.02151 * min(1860px, 100vw - 60px));
	padding-bottom:calc(0.04302 * min(1860px, 100vw - 60px));
}

.gallery-kv-inner {
	width:100%;
	display:grid;
	place-items:center;
}

.gallery-kv-image,
.gallery-kv-title {
	grid-area:1 / 1 / 2 / 2;
}

.gallery-kv-image {
	position:relative;
	width:min(1860px, calc(100vw - 60px));
	aspect-ratio:1860 / 651;
	border-radius:50px;
	overflow:hidden;
	z-index:0;
}

.gallery-kv-image img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.gallery-kv-title {
	position:relative;
	text-align:center;
	color:#ffffff;
	pointer-events:none;
	z-index:1;
}

.gallery-kv-sub-en {
	margin:0 0 12px 0;
	font-family:"Jost";
	font-weight:600;
	font-size:3.125rem;
	letter-spacing:0.06em;
}

.gallery-kv-main {
	margin:0 0 12px 0;
	font-family:"Jost";
	font-weight:600;
	font-size:6.25rem;
	letter-spacing:0.04em;
	line-height:1.05;
}

.gallery-kv-main-part {
	display:inline;
}

.gallery-kv-main-part--office,
.gallery-kv-main-part--and {
	margin-right:0.25em;
}

.gallery-kv-sub-ja {
	margin:0;
	font-family:"Zen Kaku Gothic New";
	font-weight:700;
	font-size:1rem;
	letter-spacing:0.16em;
}

.gallery-switch-row {
	width:100%;
	background:transparent;
	margin-top:0;
	margin-bottom:calc(-0.02688 * min(1860px, 100vw - 60px));
}

.gallery-switch-inner {
	width:100%;
	max-width:1920px;
	margin-inline:auto;
}

.gallery-switch-row .kv__switch {
	position:static;
	left:auto;
	top:auto;
	transform:none;
	width:clamp(260px, calc((100vw - 60px) * (1000 / 1860)), 1000px);
	height:clamp(52px, calc(((100vw - 60px) / 1860) * var(--btn-h)), calc(var(--btn-h) * 1px));
	margin:0 auto;
	display:flex;
}

.gallery .kv__switch {
	--btn-r:10px;
	--btn-primary-bg:linear-gradient(90deg, #54B2F6 0%, #185AA5 100%);
	--btn-primary-color:#ffffff;
	--btn-primary-border:none;
	--btn-ghost-bg:#ffffff;
	--btn-ghost-color:#333333;
	--btn-ghost-border:3px solid #185AA5;
}

.gallery .kv__switch .btn {
	width:50%;
	height:100%;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:1.5rem; /* 24px 相当 */
	text-decoration:none;
	user-select:none;
	border-radius:0;
	padding:0;
	box-sizing:border-box;
	font-weight:500;
	cursor: pointer;
	transition:background-color var(--tra1), color var(--tra1), border-color var(--tra1), transform var(--tra1), box-shadow var(--tra1);
}



.gallery .kv__switch .btn:first-child {
	border-radius:var(--btn-r) 0 0 var(--btn-r);
}

.gallery .kv__switch .btn:last-child {
	border-radius:0 var(--btn-r) var(--btn-r) 0;
}

.gallery .kv__switch .btn.is-active {
	color:var(--btn-primary-color);
	background:var(--btn-primary-bg);
	border:var(--btn-primary-border);
	font-family:"Zen Kaku Gothic New";
}

.gallery .kv__switch .btn:not(.is-active) {
	color:var(--btn-ghost-color);
	background:var(--btn-ghost-bg);
	border:var(--btn-ghost-border);
	font-family:"Zen Kaku Gothic New";
}

.gallery .kv__switch .btn:not(.is-active):hover {
	background:#F3FBFE;
	color:#185AA5;
	border-color:#185AA5;
}


.gallery-panels {
	width:100%;
	padding-top:calc(0.03226 * min(1860px, 100vw - 60px));
	padding-bottom:calc(0.05376 * min(1860px, 100vw - 60px));
	background:#ffffff;
	background:rgb(255 255 255 / 0.75);
}

.gallery-panels-inner {
	width:100%;
	max-width:1920px;
	margin-inline:auto;
}

.gallery-inner {
	width:min(1650px, calc(100% - 80px));
	margin-inline:auto;
}

.gallery-panel {
	display:none;
}

.gallery-panel.is-active {
	display:block;
}

.gallery-intro {
	padding-top:50px;
	max-width:1000px;
	margin-inline:auto;
}

.gallery-intro p {
	margin:0;
	font-size:1.125rem;
	line-height:1.9;
}

.of-block,
.fc-block {
	margin-top:70px;
}

.gallery .sec-head--office,
.gallery .sec-head--factory {
	margin-bottom:24px;
	--head-color:#043CA3;
}
.of-grid,
.fc-grid{
	display: grid;
	grid-auto-rows: auto;
	gap: 10px;
	border-radius: 30px;
	overflow: hidden;
}

.of-ph,
.fc-grid .of-ph{
	border-radius: 0;
}

.of-ph{
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.of-grid--tokyo .of-ph--t03,
.of-grid--tokyo .of-ph--t04{
	aspect-ratio: 450 / 460;
}

@media (max-width: 810px){
	.of-grid--tokyo .of-ph--t03,
	.of-grid--tokyo .of-ph--t04{
		aspect-ratio: 175 / 179;
	}
}

.of-grid--tokyo .of-ph--t05{
	aspect-ratio: 730 / 460;
}
@media (max-width: 810px){
	.of-grid--tokyo .of-ph--t05{
		aspect-ratio:16 / 9;
	}
}
.of-ph img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.of-ph.of-ph--video{
	position: relative;
	overflow: hidden;
	line-height: 0;
	font-size: 0;
	background: rgb(255 255 255 / 0.75);
}

.of-ph.of-ph--video > video{
	position: absolute;
	left: -1%;
	top: -1%;
	width: 102%;
	height: 102%;
	object-fit: cover;
	display: block;
}


.of-grid--tokyo {
	grid-template-columns:11fr 11fr 18fr 4fr 18fr 18fr;
}

.of-ph--t01 {
	grid-column:1 / 4;
}

.of-ph--t02 {
	grid-column:4 / 7;
}

.of-ph--t03 {
	grid-column:1 / 3;
}

.of-ph--t04 {
	grid-column:3 / 5;
}

.of-ph--t05 {
	grid-column:5 / 7;
}

.of-ph--t06 {
	grid-column:1 / 4;
}

.of-ph--t07 {
	grid-column:4 / 7;
}

.of-ph--t08 {
	grid-column:1 / 4;
}

.of-ph--t09 {
	grid-column:4 / 7;
}

.of-grid--nagoya {
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

.of-grid--kobe {
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

.fc-grid {
	grid-template-columns:repeat(2, minmax(0, 1fr));
	column-gap:10px;
	row-gap:10px;
}

.of-ph--f01 {
	grid-column:1 / 3;
}

@media (max-width:810px) {
	.gallery-kv {
		padding-top:40px;
		padding-bottom:calc(0.09524 * 100vw);
	}

	.gallery-kv-image {
		width:100vw;
		max-width:none;
		aspect-ratio:420 / 600;
		border-radius:0;
		margin-inline:auto;
	}

	.gallery-kv-image img {
		width:100%;
		height:100%;
		object-fit:cover;
	}

	.gallery-kv-main-part {
		display:block;
		margin-right:0;
	}

	.gallery-kv-main-part--and {
		margin-top:0.15em;
		margin-bottom:0.15em;
	}

	.gallery-switch-row {
		margin-bottom:calc(-0.06 * 100vw - 10px);
	}

	.gallery-switch-row .kv__switch {
		width:clamp(260px, calc(100vw * 360 / 420), 694px);
		height:clamp(52px, calc(100vw * 70 / 420), 135px);
	}

	.gallery-kv-sub-en {
		font-size:2.063rem;
	}

	.gallery-kv-main-part--office,
	.gallery-kv-main-part--factory {
		font-size:4.762rem;
	}

	.gallery-kv-main-part--and {
		font-size:3.175rem;
	}

	.gallery-kv-sub-ja {
		font-size:1.270rem;
	}

	.gallery .kv__switch .btn {
		font-size:1.429rem;
	}

	.gallery-intro {
		padding-top:70px;
	}

	.gallery-intro p {
		font-size:1.032rem;
	}

	.of-grid--tokyo {
		grid-template-columns:repeat(2, minmax(0, 1fr));
		border-radius:20px;
	}

	.of-grid--nagoya,
	.of-grid--kobe,
	.fc-grid {
		grid-template-columns:1fr;
		border-radius:20px;
	}

	.of-grid--tokyo .of-ph {
		grid-column:1 / -1;
		border-radius:0;
		overflow:hidden;
	}

	.of-grid--tokyo .of-ph--t03,
	.of-grid--tokyo .of-ph--t04 {
		grid-column:auto;
	}

	.of-grid--nagoya .of-ph,
	.of-grid--kobe .of-ph,
	.fc-grid .of-ph {
		grid-column:auto / auto;
		border-radius:0;
		overflow:hidden;
	}
	.gallery-panels {
		padding-top:60px;
		padding-bottom:60px;
	}
	.of-block,
	.fc-block {
		margin-top:50px;
	}
}

@media (max-width:600px) {
	.gallery-kv {
		padding-top:40px;
	}

	.gallery-intro {
		padding-top:80px;
	}

	.gallery-inner {
		width:min(1650px, calc(100% - 60px));
		margin-inline:auto;
	}

	.gallery-kv-sub-en {
		font-size:2.063rem;
	}

	.gallery-kv-main-part--office,
	.gallery-kv-main-part--factory {
		font-size:4.762rem;
	}

	.gallery-kv-main-part--and {
		font-size:3.175rem;
	}

	.gallery-kv-sub-ja {
		font-size:1.270rem;
	}

	.gallery .kv__switch .btn {
		font-size:1.429rem;
	}

	.gallery-intro p {
		font-size:1.032rem;
	}

	.of-grid,
	.fc-grid {
		border-radius:15px;
	}
}




.line_spacing{
	display:block;
}
.line_spacing::after{
	content:"";
	display:block;
	width:100%;
	height:0.6em;
}


#of-foot-entry{
	padding: 5%;
}

@media (max-width:810px){
	#of-foot-entry{
		padding-top: 10vw;
		padding-bottom: 10vw;
	}
}
