@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Arimo:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap');
:root {
	/* colors */
	--blue-light: #d6e8fd;
	--text-color: #363636;
	--key-color: #3e6eb2;
	--blue: #6ba6f1;
	--gray-light1: #f0f0f0;
	--gray-light2: #f1f1f1;
	--gray-light3: #f8f8f8;
	--line: #cccccc;
	--yellow: #f8e937;
	--white: #ffffff;
	--black: #000000;
	--fire: #c1272d;
	--orange: #fd911e;
	/* font */
	--font-regular: 400;
	--font-medium: 500;
	--font-semibold: 600;
	--font-bold: 700;
	--font-sans: "Noto Sans JP", sans-serif;
	--font-serif: "Noto Serif JP", serif;
	/* repeatable size */
	--global-header-height: 55px;
	--base-inline-margin: 4vw;
	scroll-padding-block-start: var(--global-header-height);
	@media (1024px <=width), print {
		--global-header-height: 70px;
	}
	@media (1280px <=width), print {
		--base-inline-margin: calc(calc(100% - 1200px) / 2);
	}
	/* font-size */
	--fs12-14: clamp(0.75rem, 0.693rem + 0.24vw, 0.875rem);
	--fs14-14: calc(14 / 16 * 1rem);
	--fs14h-16: clamp(0.906rem, 0.863rem + 0.18vw, 1rem);
	--fs15-18: clamp(0.938rem, 0.853rem + 0.36vw, 1.125rem);
	--fs15h-18: clamp(0.969rem, 0.898rem + 0.3vw, 1.125rem);
	--fs15h-21: clamp(0.969rem, 0.813rem + 0.67vw, 1.313rem);
	--fs16-21: clamp(1rem, 0.858rem + 0.61vw, 1.313rem);
	--fs18-24: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
	--fs19-26: clamp(1.188rem, 1.13rem + 0.24vw, 1.313rem);
	--fs20-28: clamp(1.25rem, 1.023rem + 0.97vw, 1.75rem);
	--fs20-48: clamp(1.25rem, 0.455rem + 3.39vw, 3rem);
	--fs24-36: clamp(1.5rem, 1.159rem + 1.45vw, 2.25rem);
	--fs24-50: clamp(1.5rem, 0.761rem + 3.15vw, 3.125rem);
	--fs27-60: clamp(1.688rem, 0.75rem + 4vw, 3.75rem);
	--fs28-71: clamp(1.75rem, 0.528rem + 5.21vw, 4.438rem);
	@media (1280px <=width), print {
		--fs12-14: calc(14 / 16 * 1rem);
		--fs14-14: calc(14 / 16 * 1rem);
		--fs14h-16: calc(16 / 16 * 1rem);
		--fs15-18: calc(18 / 16 * 1rem);
		--fs15h-18: calc(18 / 16 * 1rem);
		--fs15h-21: calc(21 / 16 * 1rem);
		--fs16-21: calc(21 / 16 * 1rem);
		--fs18-24: calc(24 / 16 * 1rem);
		--fs19-26: calc(26 / 16 * 1rem);
		--fs20-28: calc(28 / 16 * 1rem);
		--fs20-48: calc(48 / 16 * 1rem);
		--fs24-50: calc(50 / 16 * 1rem);
		--fs24-36: calc(36 / 16 * 1rem);
		--fs27-60: calc(60 / 16 * 1rem);
		--fs28-71: calc(71 / 16 * 1rem);
	}
	--bfs16:calc(14.5 / 16 * 1rem);
	--bfs16l:calc(15 / 16 * 1rem);
	--bfs16ll:calc(15.5 / 16 * 1rem);
	--bfs18:calc(15.5 / 16 * 1rem);
	--bfs19:calc(15.5 / 16 * 1rem);
	--bfs21:calc(15.5 / 16 * 1rem);
	--bfs21l:calc(16 / 16 * 1rem);
	--bfs24:calc(16 / 16 * 1rem);
	--bfs28:calc(18 / 16 * 1rem);
	--bfs36:calc(24 / 16 * 1rem);
	@media (768px <=width), print {
		--bfs16: calc(15 / 16 * 1rem);
		--bfs16l: calc(15 / 16 * 1rem);
		--bfs16ll: calc(15.5 / 16 * 1rem);
		--bfs18: calc(16 / 16 * 1rem);
		--bfs19: calc(16 / 16 * 1rem);
		--bfs21: calc(17.5 / 16 * 1rem);
		--bfs21l: calc(17.5 / 16 * 1rem);
		--bfs24: calc(18 / 16 * 1rem);
		--bfs28: calc(20 / 16 * 1rem);
		--bfs36: calc(24 / 16 * 1rem);
	}
	@media (1024px <=width), print {
		--bfs16: calc(15 / 16 * 1rem);
		--bfs16l: calc(15.5 / 16 * 1rem);
		--bfs16ll: calc(15.5 / 16 * 1rem);
		--bfs18: calc(17 / 16 * 1rem);
		--bfs19: calc(18 / 16 * 1rem);
		--bfs21: calc(19 / 16 * 1rem);
		--bfs21l: calc(19 / 16 * 1rem);
		--bfs24: calc(20/ 16 * 1rem);
		--bfs28: calc(24 / 16 * 1rem);
		--bfs36: calc(32/ 16 * 1rem);
	}
	@media (1280px <=width), print {
		--bfs16: calc(16 / 16 * 1rem);
		--bfs16l: calc(16 / 16 * 1rem);
		--bfs16ll: calc(16 / 16 * 1rem);
		--bfs18: calc(18 / 16 * 1rem);
		--bfs19: calc(19 / 16 * 1rem);
		--bfs21: calc(21 / 16 * 1rem);
		--bfs21l: calc(21 / 16 * 1rem);
		--bfs24: calc(24 / 16 * 1rem);
		--bfs28: calc(28 / 16 * 1rem);
		--bfs36: calc(36 / 16 * 1rem);
	}
	/* spacer */
	--spacer-ratio:0.6;
	--bm10:calc(10 / 16 * 1rem * var(--spacer-ratio));
	--bm15:calc(15 / 16 * 1rem * var(--spacer-ratio));
	--bm20:calc(20 / 16 * 1rem * var(--spacer-ratio));
	--bm25:calc(25 / 16 * 1rem * var(--spacer-ratio));
	--bm26:calc(26 / 16 * 1rem * var(--spacer-ratio));
	--bm30:calc(30 / 16 * 1rem * var(--spacer-ratio));
	--bm38:calc(38 / 16 * 1rem * var(--spacer-ratio));
	--bm40:calc(40 / 16 * 1rem * var(--spacer-ratio));
	--bm45:calc(45 / 16 * 1rem * var(--spacer-ratio));
	--bm50:calc(50 / 16 * 1rem * var(--spacer-ratio));
	--bm52:calc(52 / 16 * 1rem * var(--spacer-ratio));
	--bm55:calc(55 / 16 * 1rem * var(--spacer-ratio));
	--bm60:calc(60 / 16 * 1rem * var(--spacer-ratio));
	--bm65:calc(65 / 16 * 1rem * var(--spacer-ratio));
	--bm70:calc(70 / 16 * 1rem * var(--spacer-ratio));
	--bm75:calc(75 / 16 * 1rem * var(--spacer-ratio));
	--bm80:calc(80 / 16 * 1rem * var(--spacer-ratio));
	--bm85:calc(85 / 16 * 1rem * var(--spacer-ratio));
	--bm90:calc(90 / 16 * 1rem * var(--spacer-ratio));
	--bm95:calc(95 / 16 * 1rem * var(--spacer-ratio));
	--bm100:calc(100 / 16 * 1rem * var(--spacer-ratio));
	--bm105:calc(100 / 16 * 1rem * var(--spacer-ratio));
	--bm110:calc(110 / 16 * 1rem * var(--spacer-ratio));
	--bm115:calc(115 / 16 * 1rem * var(--spacer-ratio));
	--bm120:calc(120 / 16 * 1rem * var(--spacer-ratio));
	--bm125:calc(125 / 16 * 1rem * var(--spacer-ratio));
	--bm130:calc(130 / 16 * 1rem * var(--spacer-ratio));
	--bm140:calc(140 / 16 * 1rem * var(--spacer-ratio));
	--bm150:calc(150 / 16 * 1rem * var(--spacer-ratio));
	--bm160:calc(160 / 16 * 1rem * var(--spacer-ratio));
	--bm180:calc(180 / 16 * 1rem * var(--spacer-ratio));
	--bm200:calc(200 / 16 * 1rem * var(--spacer-ratio));
	@media (768px <=width), print {
		--spacer-ratio: 0.7;
	}
	@media (1024px <=width), print {
		--spacer-ratio: 0.8;
	}
	@media (1280px <=width), print {
		--spacer-ratio: 1;
	}
}
/* ============================== */
/*  BASE */
/* ============================== */
body {
	font-family: var(--font-sans);
	font-size: var(--base-font-size);
	font-weight: var(--font-medium);
	color: var(--text-color);
	line-break: normal;
	line-height: 1.75;
}
::-moz-selection {
	background-color: #b3d4fc;
	color: #000000;
	text-shadow: none;
}
::selection {
	background-color: #b3d4fc;
	color: #000000;
	text-shadow: none;
}
:where(h1, h2, h3, h4, h5, h6, dt) {
	font-feature-settings: "palt";
	font-weight: var(--font-bold);
}
:where(a) {
	color: var(--link-color);
	text-decoration: underline;
}
@media(hover:hover) {
	:where(a, button) {
		transition: color 200ms ease-out, background-color 200ms ease-out, opacity 200ms ease-out;
	}
}
iframe {
	inline-size: 100%;
	block-size: auto;
}
summary::-webkit-details-marker {
	display: none;
}
[type="text"], [type="email"], [type="search"], [type="tel"], [type="url"], [type="password"], textarea {
	border: 1px solid var(--grayEE);
	padding: 0.65em 0.75em;
	transition: 150ms;
	inline-size: 100%;
	font-size: 16px;
}
[type="text"]:focus, [type="email"]:focus, [type="search"]:focus, [type="tel"]:focus, [type="url"]:focus, [type="password"]:focus, textarea:focus {
	outline: none;
	background-color: var(--blue-light);
}
textarea {
	field-sizing: content;
	@supports (field-sizing: content) {
		resize: none;
	}
}
em {
	color: var(--key-color);
	font-weight: inherit;
	font-style: normal;
}
a {
	color: var(--key-color);
	text-decoration: underline;
}
/* ============================== */
/*  LAYOUT,UTILITY */
/* ============================== */
.visually-hidden {
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
}
@media only screen and (width < 768px) {
	.only-md {
		display: none;
	}
}
@media (768px <=width), print {
	.only-sm {
		display: none;
	}
}
.ml-0\.5em {
	margin-inline-start: -0.5em;
}
.mr-0\.5em {
	margin-inline-end: -0.5em;
}
.ml0\.5em {
	margin-inline-start: 0.5em;
}
.mr0\.5em {
	margin-inline-end: 0.5em;
}
.pl0\.5em {
	padding-inline-start: 0.5em;
}
.ls0 {
	letter-spacing: 0;
}
.ls2p {
	letter-spacing: 2%;
}
.ls-2p {
	letter-spacing: -2%;
}
.ls-5p {
	letter-spacing: -5%;
}
.ls-8p {
	letter-spacing: -8%;
}
.ls-15p {
	letter-spacing: -15%;
}
.ls-50p {
	letter-spacing: -50%;
}
br.br-md {
	@media only screen and (768px > width) {
		display: none;
	}
}
br.br-lg {
	@media only screen and (1024px > width) {
		display: none;
	}
}
br.br-xl {
	@media only screen and (1280px > width) {
		display: none;
	}
}
br.nw-sm {
	display: block;
	@media (640px <=width), print {
		display: none;
	}
}
br.nw-md {
	display: block;
	@media (768px <=width), print {
		display: none;
	}
}
br.nw-lg {
	display: block;
	@media (1024px <=width), print {
		display: none;
	}
}
#go-pagetop {
	display: contents;
	& a {
		inline-size: 45px;
		inset-inline-end: 4vw;
		inset-block-end: 52px;
		position: fixed;
		z-index: 90;
		aspect-ratio: 1;
		transition: 300ms ease;
		background-color: rgb(0 0 0 /0.3);
		display: none;
		& span {
			/* visually-hidden */
			clip: rect(0 0 0 0) !important;
			clip-path: inset(50%) !important;
			inline-size: 1px !important;
			block-size: 1px !important;
			overflow: hidden !important;
			position: absolute !important;
			white-space: nowrap !important;
		}
		@media (768px <=width), print {
			inline-size: calc(60 / 18 * 1em);
			inset-inline-end: calc(40 / 18 * 1em);
			inset-block-end: calc(40 / 18 * 1em);
		}
	}
	& a::before {
		content: "";
		inline-size: 25%;
		aspect-ratio: 1;
		position: absolute;
		inset-inline-start: 37.5%;
		inset-block-start: 41%;
		display: block;
		border-block-start: 2px solid var(--white);
		border-inline-end: 2px solid var(--white);
		transform: rotate(-45deg);
	}
	@media(hover:hover) {
		& a:hover {
			background-color: var(--key-color);
		}
	}
}
/* ============================== */
/*  REPEATABLE */
/* ============================== */
.heading-center {
	font-size: clamp(1.25rem, 1.023rem + 0.97vw, 1.75rem);
	margin: 0 auto var(--bm50);
	font-weight: var(--font-bold);
	line-height: 1.2;
	inline-size: fit-content;
	padding: 0 0.25em 0.2em;
	font-feature-settings: "palt";
	border-block-end: 3px solid var(--key-color);
	color: var(--text-color);
}
.chapter-section {
	margin: var(--bm100) 0 var(--bm100);
	padding: 0 var(--base-inline-margin);
}
/* ============================== */
/*  GLOBAL-HEADER */
/* ============================== */
.global-header {
	position: fixed;
	z-index: 120;
	inline-size: 100%;
	block-size: var(--global-header-height);
	inset-block-start: 0;
	inset-inline-start: 0;
	padding: 0 0 0 var(--base-inline-margin);
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: color-mix(in srgb, var(--white) 80%, transparent);
	gap: 0.5em;
	& a, & button {
		text-decoration: none;
		color: inherit;
	}
}
@media (1092px <=width), print {
	.global-header {
		padding-inline-start: 20px;
		gap: 10px;
		& .menu-toggle {
			display: none;
		}
		& .main-nav {
			display: flex !important;
			flex: none;
		}
	}
}
.site-id {
	inline-size: calc(180 / 16 * 1rem);
	block-size: 100%;
	line-height: 1.5;
	display: flex;
	align-items: center;
	font-size: calc(20 / 16 * 1rem);
	font-weight: var(--font-medium);
	margin: 0;
	@media (768px <=width), print {
		inline-size: calc(220 / 16 * 1rem);
	}
	@media (1092px <=width), print {
		inline-size: calc(258 / 16 * 1rem);
	}
}
#menu-toggle {
	--_bar-width: 2px;
	--_bar-shift: 10px;
	--_bar-size: 28px;
	--_bar-color: var(--key-color);
	block-size: var(--global-header-height);
	aspect-ratio: 1;
	position: fixed;
	z-index: 140;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	inset-block-start: 0;
	inset-inline-end: 0;
	transition: border-color 200ms;
	&.is-clicked {}
	& .menu-icon {
		display: block;
		inline-size: var(--_bar-size);
		block-size: var(--_bar-width);
		position: absolute;
		transform-origin: center;
		transition: background-color 200ms;
		background-color: var(--_bar-color);
		position: relative;
		&::before, &::after {
			content: '';
			inline-size: 100%;
			block-size: 100%;
			position: absolute;
			transition: rotate 200ms, inset-block-start 200ms 100ms;
			inset-inline-start: 0;
			transform-origin: center;
			background-color: var(--_bar-color);
		}
		&::before {
			inset-block-start: calc(var(--_bar-shift) * -1);
		}
		&::after {
			inset-block-start: var(--_bar-shift);
		}
		&:is(.is-clicked *) {
			background-color: transparent;
		}
		&:is(.is-clicked *)::before, &:is(.is-clicked *)::after {
			transition: rotate 200ms 100ms, inset-block-start 200ms;
			inset-block-start: 0;
			background-color: #fff;
		}
		&:is(.is-clicked *)::before {
			rotate: 45deg;
		}
		&:is(.is-clicked *)::after {
			rotate: -45deg;
		}
	}
	@media (1092px <=width), print {
		display: none;
	}
}
@media only screen and (1092px > width) {
	.main-nav {
		display: none;
		background-color: var(--key-color);
		inline-size: 85%;
		block-size: 100svh;
		position: absolute;
		inset-block-start: 0;
		inset-inline-end: 0;
		overflow-y: scroll;
		padding: calc(20px + var(--global-header-height)) 90px 120px;
		&::before {
			content: "";
			display: block;
			position: fixed;
			inset-block-start: 0;
			inset-inline-end: 0;
			inline-size: 85%;
			block-size: var(--global-header-height);
			background-color: color-mix(in oklab, var(--key-color) 90%, transparent);
			z-index: 130;
		}
	}
	#js-overLayer {
		content: "";
		position: fixed;
		inset-block-start: 0;
		inset-inline-start: 0;
		inline-size: 15%;
		block-size: 100svh;
		background-color: var(--white);
		opacity: 0.8;
	}
}
@media only screen and (480px > width) {
	.main-nav {
		padding-inline: 20px;
	}
}
@media (1092px <=width), print {
	.main-nav {
		display: flex !important;
		& #js-focus-trap {
			display: none;
		}
	}
	#js-overLayer {
		display: none;
	}
}
@media only screen and (1092px > width) {
	.main-menu {
		font-size: calc(15.5 / 16 * 1rem);
		line-height: 1.5;
		font-weight: var(--font-medium);
		border-block-start: 1px solid color-mix(in oklab, var(--white) 30%, transparent);
		& > li {
			border-block-end: 1px solid color-mix(in oklab, var(--white) 30%, transparent);
		}
		& > li > a {
			padding: 0.75em 6px;
			display: block;
			color: var(--white);
		}
		& > li.has-submenu {
			position: relative;
			& > a {
				inline-size: calc(100% - 40px - 1.2em);
			}
			& .submenu-toggle {
				block-size: 40px;
				inline-size: 40px;
				position: absolute;
				inset-block-start: calc(calc(1lh + 1.5em - 40px) / 2);
				inset-inline-end: 0;
				color: transparent;
				&::before, &::after {
					content: "";
					position: absolute;
					inline-size: 1.2em;
					block-size: 2px;
					background-color: var(--white);
					inset-inline-end: 6px;
					inset-block-start: calc(50% - 1px);
					display: block;
					transition: rotate 200ms, opacity 200ms;
					rotate: 0;
				}
				&::after {
					rotate: -90deg;
				}
			}
			&.open .submenu-toggle::before {
				rotate: 90deg;
				opacity: 0;
			}
			&.open .submenu-toggle::after {
				rotate: 0deg;
			}
		}
		& li.contact {
			& a {
				background: url("../images/common/ico_header-mail.svg") no-repeat center left 6px / 20px;
				padding-inline-start: 36px;
			}
		}
	}
}
@media (1092px <=width), print {
	.main-menu {
		font-size: calc(14 / 16 * 1rem);
		font-weight: var(--font-medium);
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
		align-items: center;
		line-height: calc(20 / 15);
		block-size: var(--global-header-height);
		& > li {
			block-size: 100%;
			display: flex;
			align-items: center;
			padding-block-start: 5px;
			border-block-end: 5px solid transparent;
			transition: 200ms border-block-end-color;
		}
		@media(hover: hover) {
			& > li:hover {
				border-block-end: 5px solid var(--key-color);
			}
		}
		& > li > a {
			padding: 0.3em 1em;
			display: block;
		}
		& > li:last-child > a {
			padding-inline-end: 0;
		}
		& .submenu-toggle {
			display: none;
		}
		& li.contact {
			margin-inline-start: 2em;
			border-block-end: none;
			padding-block-start: 0;
			& a {
				block-size: 100%;
				aspect-ratio: 1;
				background: var(--key-color) url("../images/common/ico_header-mail.svg") no-repeat center / 20px;
			}
			& .label {
				clip: rect(0 0 0 0) !important;
				clip-path: inset(50%) !important;
				inline-size: 1px !important;
				block-size: 1px !important;
				overflow: hidden !important;
				position: absolute !important;
				white-space: nowrap !important;
			}
		}
	}
}
@media only screen and (1092px > width) {
	.submenu {
		display: none;
		& menu {
			font-size: calc(14 / 16 * 1rem);
			line-height: 1.5;
			padding-inline-start: 20px;
			padding-block-end: 1em;
			display: flex;
			flex-direction: column;
			justify-content: center;
			gap: 0.8em;
		}
		& li {
			padding-inline-start: 1em;
			text-indent: -1em;
		}
		& li span {
			display: block;
		}
		& a {
			color: var(--white);
			display: block;
		}
	}
}
@media (1092px <=width), print {
	.submenu {
		display: none;
		position: fixed;
		inset-block-start: var(--global-header-height);
		inset-inline-start: 0;
		inline-size: 100%;
		background-color: var(--key-color);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		padding: 1.5em 5em 1.5em 1.5em;
		& menu {
			font-size: 1em;
			line-height: 1.75;
			display: grid;
			grid-auto-flow: column;
			grid-template-rows: repeat(2, auto);
			grid-template-columns: repeat(3, auto);
			gap: 0.25em 4em;
			justify-content: end;
			& li.cat-top {
				grid-row: 1 / -1;
				align-self: start;
			}
		}
		&#submenu-product {
			& menu {
				grid-template-rows: repeat(5, auto);
			}
		}
		&#submenu-works {
			& menu {
				grid-template-rows: repeat(3, auto);
			}
		}
		&#submenu-recruit {
			& menu {
				grid-template-rows: repeat(2, auto);
			}
		}
		& a {
			color: var(--white);
			display: block;
			@media(hover: hover) {
				&:hover {
					text-decoration: underline;
				}
			}
		}
	}
}
/* ============================== */
/*  GLOBAL-FOOTER */
/* ============================== */
.global-footer {
	margin: 70px 0 0;
	a {
		text-decoration: none;
		color: inherit;
	}
	@media (768px <=width), print {
		margin-block-start: 120px;
	}
	@media (1024px <=width), print {
		margin-block-start: var(--bm180);
	}
}
.footer-address {
	--_logo-size-ratio: 0.75;
	--_margin-inline-start: 100px;
	line-height: 1;
	font-weight: var(--font-medium);
	margin: 0 auto;
	inline-size: min(calc(100% - 8vw), 1200px);
	position: relative;
	padding-block-start: calc(15px * var(--_logo-size-ratio));
	& .company-name-en {
		border-block-end: 1px solid #808080;
		font-size: 38px;
		padding-block-end: calc(8px * var(--_logo-size-ratio));
		margin-block-end: calc(8px * var(--_logo-size-ratio));
		margin-inline-start: calc(var(--_margin-inline-start) * var(--_logo-size-ratio));
		& img {
			inline-size: calc(281px * var(--_logo-size-ratio));
			display: block;
		}
	}
	& .company-name-ja {
		font-size: 19px;
		margin-inline-start: calc(var(--_margin-inline-start) * var(--_logo-size-ratio));
		& img {
			inline-size: calc(194px * var(--_logo-size-ratio));
			display: block;
		}
	}
	& .company-info {
		font-size: calc(14 / 16 * 1rem);
		display: flex;
		flex-direction: column;
		margin-block-start: 1.4em;
		gap: 0.4em;
		& a {
			color: var(--key-color);
			text-decoration: underline;
		}
	}
	&::before {
		content: "";
		inline-size: calc(82px * var(--_logo-size-ratio));
		aspect-ratio: 164 / 188;
		position: absolute;
		inset-block-start: 0;
		inset-inline-start: 0;
		background: url("../images/common/logo_mark.png") no-repeat center / contain;
	}
	@media (768px <=width), print {
		--_logo-size-ratio: 0.80;
		& .company-info {
			font-size: calc(13.5 / 16 * 1rem);
			flex-direction: row;
			gap: 1.25em;
			margin-inline-start: calc(var(--_margin-inline-start) * var(--_logo-size-ratio));
			margin-block-start: 0.7em;
		}
		&::after {
			content: "";
			inline-size: 160px;
			aspect-ratio: 468 / 462;
			background: url("../images/common/ill_footer.png") no-repeat center / contain;
			position: absolute;
			inset-block-end: -22px;
			inset-inline-end: 10px;
			display: block;
		}
	}
	@media (1024px <=width), print {
		--_logo-size-ratio: 1;
		& .company-info {
			font-size: calc(14 / 16 * 1rem);
		}
		&::after {
			inline-size: 234px;
			inset-block-end: -22px;
			inset-inline-end: 24px;
		}
	}
}
.footer-copyright {
	background-color: var(--key-color);
	font-weight: var(--font-semibold);
	color: var(--white);
	block-size: calc(46 / 14 * 1em);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-block-start: var(--bm50);
	& small {
		font-size: calc(12 / 16 * 1rem);
	}
	@media (768px <=width), print {
		font-size: calc(14 / 16 * 1rem);
		block-size: calc(70 / 14 * 1em);
		margin-block-start: var(--bm40);
	}
}
/*パンクズ*/
.breadcrumb {
	font-size: calc(14 / 16 * 1rem);
	line-height: 1.75;
	margin: calc(15 / 16 * 1rem) var(--base-inline-margin) calc(30 / 16 * 1rem);
	font-feature-settings: "palt";
	& ol {
		display: flex;
		flex-wrap: wrap;
		list-style-type: none;
	}
	& li {
		display: flex;
		align-items: center;
	}
	& li:not(:first-child)::before {
		content: "";
		inline-size: 0.5em;
		block-size: 0.5em;
		box-sizing: border-box;
		display: block;
		margin: 0 0.8em 0 calc(0.8em - 0.225em);
		border-block-start: solid 1px;
		border-inline-end: solid 1px;
		transform: scaleY(0.9) rotate(45deg);
	}
	& a {
		color: inherit;
	}
}
.subpage-hero {
	block-size: min(calc(170 / 375 * 100vw), 250px);
	padding-block-start: var(--global-header-height);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	text-shadow: 0 0 5px rgb(0 0 0 / 0.6);
	color: var(--white);
	text-align: center;
	line-height: 1.25;
	display: flex;
	justify-content: center;
	align-items: center;
	& > h1, & > p {
		margin: 0;
	}
	& .en {
		font-size: clamp(1.688rem, 0.75rem + 4vw, 3.75rem);
		text-transform: uppercase;
		display: block;
		font-family: "Arimo", sans-serif;
		font-weight: var(--font-bold);
		margin-block-end: 0.15em;
	}
	& .ja {
		font-size: clamp(0.938rem, 0.853rem + 0.36vw, 1.125rem);
		display: block;
	}
	@media (768px <=width), print {
		block-size: calc(250 / 16 * 1rem);
	}
	@media (1024px <=width), print {
		block-size: calc(350 / 16 * 1rem);
		& .en {
			padding-block-start: 0.5em;
		}
	}
}
@media print {
	.global-header {
		position: absolute;
	}
	#go-pagetop {
		display: none;
	}
}