@charset "UTF-8";

/* ========================================================================== 
   Recruitment: Air Work Lower Page
   ========================================================================== */

.recruit-air-page {
	container-type: inline-size;
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
	--recruit-air-content-width: 1200px;
	--recruit-air-side-gutter: min(4.1667vw, 50px);
	--recruit-air-fluid-width: min(calc(100cqw - (var(--recruit-air-side-gutter) * 2)), 1200px);
	--recruit-air-section-space: calc(var(--recruit-air-fluid-width) * 0.116667);
	--recruit-air-body-size: calc(var(--recruit-air-fluid-width) * 0.013333);
	--recruit-air-heading-number-size: calc(var(--recruit-air-fluid-width) * 0.046667);
	--recruit-air-heading-title-size: calc(var(--recruit-air-fluid-width) * 0.026667);
	--recruit-air-heading-en-size: calc(var(--recruit-air-fluid-width) * 0.075);

	color: #161616;
}

:where(.recruit-air-page) h2,
:where(.recruit-air-page) h3,
:where(.recruit-air-page) p {
	margin: 0;
}

:where(.recruit-air-page) h2,
:where(.recruit-air-page) h3 {
	font-feature-settings: "palt";
}

:where(.recruit-air-page) ol {
	padding: 0;
	list-style: none;
}

.recruit-air-kv {
  --lower-kv-visual-height: min(33.3333vw, 400px);
  --lower-kv-title-overflow: 0px;
  height: var(--lower-kv-visual-height);
}

.recruit-air-kv .c-lower-kv__image img {
	object-position: center 66%;
}

/* Intro
   ========================================================================== */

.recruit-air-intro {
	position: relative;
	z-index: 0;
	padding: var(--recruit-air-section-space) var(--recruit-air-side-gutter) calc(var(--recruit-air-fluid-width) * 0.220833);
	color: #fff;
	background: #0877be url("../images/recruit-air-blue-bg.webp") center / cover no-repeat;
}

.recruit-air-intro__inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: calc(var(--recruit-air-fluid-width) * 0.083333);
	width: min(100%, var(--recruit-air-content-width));
	margin-inline: auto;
}

.recruit-air-intro__title {
	flex: 0 0 auto;
	font-size: calc(var(--recruit-air-fluid-width) * 0.046667);
	font-weight: 700;
	line-height: 1.35;
}

.recruit-air-intro__lead {
	width: calc(var(--recruit-air-fluid-width) * 0.45);
	font-size: var(--recruit-air-body-size);
	font-weight: 500;
	line-height: 2;
}

/* Paper area
   ========================================================================== */

.recruit-air-paper {
	padding-bottom: var(--recruit-air-section-space);
	background: #fff url("../images/recruit-paper-bg.webp") center top / 1920px auto repeat-y;
}

.recruit-air-duties,
.recruit-air-flow {
	width: min(calc(100% - (var(--recruit-air-side-gutter) * 2)), var(--recruit-air-content-width));
	margin-inline: auto;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 35, 75, 0.12);
}

.recruit-air-duties {
	position: relative;
	z-index: 1;
	margin-top: calc(var(--recruit-air-fluid-width) * -0.141667);
}

.recruit-air-duties__visual {
	display: block;
	width: 100%;
	aspect-ratio: 12 / 7;
	overflow: hidden;
}

.recruit-air-duties__visual.recruit-air-duties__visual--architecture {
	aspect-ratio: 25 / 13;
}

.recruit-air-duties__visual.recruit-air-duties__visual--real-estate {
	aspect-ratio: 25 / 13;
}

.recruit-air-duties__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.recruit-air-duties__body {
	padding: calc(var(--recruit-air-fluid-width) * 0.05) calc(var(--recruit-air-fluid-width) * 0.083333) calc(var(--recruit-air-fluid-width) * 0.066667);
}

/* Numbered section headings
   ========================================================================== */

.recruit-air-section-heading {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0;
	padding-bottom: calc(var(--recruit-air-fluid-width) * 0.008333);
	overflow: visible;
}

.recruit-air-section-heading__number {
	flex: 0 0 auto;
	margin-right: calc(var(--recruit-air-fluid-width) * 0.02);
	color: #087cc1;
	font-family: var(--font-en);
	font-size: var(--recruit-air-heading-number-size);
	font-weight: 700;
	line-height: 1;
}

.recruit-air-section-heading__title {
	flex: 0 0 auto;
	margin: 0;
	font-size: var(--recruit-air-heading-title-size);
	font-weight: 700;
	line-height: 1.4;
}

.recruit-air-section-heading__line {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	min-width: 0;
	height: 1px;
	margin: 0;
	background: #d1d1d1;
}

.recruit-air-section-heading__en {
	position: absolute;
	right: 0;
	bottom: calc(var(--recruit-air-fluid-width) * 0.008333);
	z-index: 0;
	color: #ededed;
	font-family: var(--font-en);
	font-size: var(--recruit-air-heading-en-size);
	font-weight: 700;
	line-height: 1;
}

.recruit-air-section-heading > :not(.recruit-air-section-heading__line):not(.recruit-air-section-heading__en) {
	position: relative;
	z-index: 1;
}

/* Shared recruitment schedule panel
   ========================================================================== */

.c-recruit-schedule {
	--recruit-steps-gap: calc(var(--recruit-air-fluid-width) * 0.025);
	--recruit-steps-margin-top: calc(var(--recruit-air-fluid-width) * 0.041667);
	--recruit-steps-label-width: calc(var(--recruit-air-fluid-width) * 0.166667);
	--recruit-steps-item-height: calc(var(--recruit-air-fluid-width) * 0.066667);
	--recruit-steps-label-padding: calc(var(--recruit-air-fluid-width) * 0.01) calc(var(--recruit-air-fluid-width) * 0.02);
	--recruit-steps-step-size: calc(var(--recruit-air-fluid-width) * 0.013333);
	--recruit-steps-title-top: calc(var(--recruit-air-fluid-width) * 0.003333);
	--recruit-steps-title-size: calc(var(--recruit-air-fluid-width) * 0.016667);
	--recruit-steps-text-padding: calc(var(--recruit-air-fluid-width) * 0.01) calc(var(--recruit-air-fluid-width) * 0.025);
	--recruit-steps-text-size: var(--recruit-air-body-size);
	--recruit-schedule-padding-top: calc(var(--recruit-air-fluid-width) * 0.083333);
	--recruit-schedule-padding-inline: calc(var(--recruit-air-fluid-width) * 0.083333);
	--recruit-schedule-padding-bottom: calc(var(--recruit-air-fluid-width) * 0.066667);

	width: min(calc(100% - (var(--recruit-air-side-gutter) * 2)), var(--recruit-air-content-width));
	margin-inline: auto;
	padding: var(--recruit-schedule-padding-top) var(--recruit-schedule-padding-inline) var(--recruit-schedule-padding-bottom);
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 35, 75, 0.12);
	scroll-margin-top: calc(var(--site-header-height) + 30px);
}

/* Duties
   ========================================================================== */

.recruit-air-duties__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(calc(var(--recruit-air-fluid-width) * 0.3), 1fr));
	grid-auto-flow: row;
	align-items: stretch;
	gap: calc(var(--recruit-air-fluid-width) * 0.033333) calc(var(--recruit-air-fluid-width) * 0.05);
	margin-top: calc(var(--recruit-air-fluid-width) * 0.033333);
}

.recruit-air-duties__list--single {
	grid-template-columns: min(100%, calc(var(--recruit-air-fluid-width) * 0.39));
	justify-content: start;
}

.recruit-air-duty {
	min-height: calc(var(--recruit-air-fluid-width) * 0.208333);
	padding: calc(var(--recruit-air-fluid-width) * 0.025);
	background: #f5f5f5;
}

.recruit-air-duty__heading {
	display: flex;
	align-items: center;
	gap: calc(var(--recruit-air-fluid-width) * 0.013333);
}

.recruit-air-duty__title {
	font-size: calc(var(--recruit-air-fluid-width) * 0.02);
	font-weight: 700;
	line-height: 1.5;
}

.recruit-air-duty__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: calc(var(--recruit-air-fluid-width) * 0.020833);
	padding-inline: calc(var(--recruit-air-fluid-width) * 0.008333);
	color: #fff;
	font-size: calc(var(--recruit-air-fluid-width) * 0.0125);
	font-weight: 500;
	line-height: 1.4;
	background: #087cc1;
}

.recruit-air-duty__text {
	margin-top: calc(var(--recruit-air-fluid-width) * 0.016667);
	font-size: var(--recruit-air-body-size);
	font-weight: 400;
	line-height: 1.9;
}

/* Voice
   ========================================================================== */

.recruit-air-voice {
	margin-top: var(--recruit-air-section-space);
}

.recruit-air-voice__heading,
.recruit-air-voice__viewport {
	width: min(calc(100% - (var(--recruit-air-side-gutter) * 2)), var(--recruit-air-content-width));
	margin-inline: auto;
}

.recruit-air-voice__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: calc(var(--recruit-air-fluid-width) * 0.05);
	margin-top: calc(var(--recruit-air-fluid-width) * 0.041667);
}

.recruit-air-voice-card {
	display: block;
	min-width: 0;
	color: inherit;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0, 35, 75, 0.13);
	text-decoration: none;
}

.recruit-air-voice-card__image {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.recruit-air-voice-card__body {
	display: block;
	padding: calc(var(--recruit-air-fluid-width) * 0.020833) calc(var(--recruit-air-fluid-width) * 0.025);
}

.recruit-air-voice-card__quote {
	display: block;
	margin-bottom: calc(var(--recruit-air-fluid-width) * 0.016667);
	color: #087cc1;
	font-size: calc(var(--recruit-air-fluid-width) * 0.016667);
	font-weight: 700;
	line-height: 1.55;
}

.recruit-air-voice-card__role {
	display: block;
	margin-top: 0;
	font-size: var(--recruit-air-body-size);
	font-weight: 500;
	line-height: 1.5;
}

.recruit-air-voice-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: calc(var(--recruit-air-fluid-width) * 0.006667);
}

.recruit-air-voice-card__name {
	font-family: var(--font-en);
	font-size: calc(var(--recruit-air-fluid-width) * 0.023333);
	font-weight: 700;
	line-height: 1;
}

.recruit-air-voice-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--recruit-air-fluid-width) * 0.021667);
	aspect-ratio: 1;
	border-radius: 50%;
	color: #fff;
	font-size: calc(var(--recruit-air-fluid-width) * 0.011667);
	background: #087cc1;
}

/* Flow
   ========================================================================== */

.recruit-air-flow {
	--recruit-steps-gap: calc(var(--recruit-air-fluid-width) * 0.025);
	--recruit-steps-margin-top: calc(var(--recruit-air-fluid-width) * 0.041667);
	--recruit-steps-label-width: calc(var(--recruit-air-fluid-width) * 0.216667);
	--recruit-steps-item-height: calc(var(--recruit-air-fluid-width) * 0.066667);
	--recruit-steps-label-padding: calc(var(--recruit-air-fluid-width) * 0.01) calc(var(--recruit-air-fluid-width) * 0.02);
	--recruit-steps-step-size: calc(var(--recruit-air-fluid-width) * 0.013333);
	--recruit-steps-title-top: calc(var(--recruit-air-fluid-width) * 0.003333);
	--recruit-steps-title-size: calc(var(--recruit-air-fluid-width) * 0.016667);
	--recruit-steps-text-padding: calc(var(--recruit-air-fluid-width) * 0.01) calc(var(--recruit-air-fluid-width) * 0.025);
	--recruit-steps-text-size: var(--recruit-air-body-size);

	margin-top: var(--recruit-air-section-space);
	padding: calc(var(--recruit-air-fluid-width) * 0.05) calc(var(--recruit-air-fluid-width) * 0.083333) calc(var(--recruit-air-fluid-width) * 0.066667);
}

/* Open positions
   ========================================================================== */

.recruit-air-openings {
	padding: var(--recruit-air-section-space) var(--recruit-air-side-gutter);
	color: #fff;
	background: #001f46 url("../images/recruit-air-navy-bg.webp") center / cover no-repeat;
}

.recruit-air-openings__inner {
	width: min(100%, var(--recruit-air-content-width));
	margin-inline: auto;
}

.recruit-air-section-heading--light .recruit-air-section-heading__line {
	background: rgba(255, 255, 255, 0.35);
}

.recruit-air-section-heading--light .recruit-air-section-heading__en {
	color: rgba(255, 255, 255, 0.16);
}

.recruit-air-openings__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(calc(var(--recruit-air-fluid-width) * 0.225), 1fr));
	grid-auto-flow: row;
	align-items: stretch;
	justify-content: start;
	gap: calc(var(--recruit-air-fluid-width) * 0.033333);
	margin-top: calc(var(--recruit-air-fluid-width) * 0.041667);
}

.recruit-air-opening {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	min-height: calc(var(--recruit-air-fluid-width) * 0.175);
	padding: calc(var(--recruit-air-fluid-width) * 0.02);
	color: #111;
	background: #fff;
}

.recruit-air-opening__status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: calc(var(--recruit-air-fluid-width) * 0.041667);
	min-height: calc(var(--recruit-air-fluid-width) * 0.026667);
	padding-inline: calc(var(--recruit-air-fluid-width) * 0.006667);
	color: #fff;
	font-size: calc(var(--recruit-air-fluid-width) * 0.016667);
	font-weight: 700;
	line-height: 1;
}

.recruit-air-opening__status--new {
	background: #e36f9c;
}

.recruit-air-opening__status--career {
	background: #56c9bc;
}

.recruit-air-opening__status--management {
	background: #00448d;
}

.recruit-air-opening__division {
	margin-top: calc(var(--recruit-air-fluid-width) * 0.013333);
	color: #087cc1;
	font-size: calc(var(--recruit-air-fluid-width) * 0.013333);
	font-weight: 700;
	line-height: 1.4;
}

.recruit-air-opening__title {
	margin-top: calc(var(--recruit-air-fluid-width) * 0.003333);
	font-size: calc(var(--recruit-air-fluid-width) * 0.020833);
	font-weight: 700;
	line-height: 1.4;
}

.recruit-air-opening__location {
	margin-top: auto;
	font-size: calc(var(--recruit-air-fluid-width) * 0.013333);
	font-weight: 500;
	line-height: 1.5;
}

/* ========================================================================== 
   Responsive: 600px and below
   ========================================================================== */

@media (max-width: 600px) {
	.recruit-air-page {
		--recruit-air-content-width: 500px;
		--recruit-air-side-gutter: 20px;
		--recruit-air-section-space: 60px;
		--recruit-air-body-size: 14px;
		--recruit-air-heading-number-size: 36px;
		--recruit-air-heading-title-size: 22px;
		--recruit-air-heading-en-size: 50px;
	}

	.recruit-air-kv {
		--lower-kv-visual-height: 200px;
		--lower-kv-title-height: 60px;
	}

	.recruit-air-kv .c-lower-kv__image img {
		position: static;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center 68%;
		transform: none;
	}

	.recruit-air-intro {
		padding: 60px 20px calc(60px + (var(--recruit-air-fluid-width) * 0.25));
	}

	.recruit-air-intro__inner {
		display: block;
	}

	.recruit-air-intro__title {
		font-size: 28px;
		line-height: 1.4;
	}

	.recruit-air-intro__lead {
		width: 100%;
		margin-top: 24px;
		line-height: 1.85;
	}

	.recruit-air-duties {
		margin-top: calc(var(--recruit-air-fluid-width) * -0.25);
	}

	.recruit-air-duties__visual {
		aspect-ratio: 335 / 221;
	}

	.recruit-air-duties__body,
	.recruit-air-flow {
		padding: 20px;
	}

	.recruit-air-section-heading__title {
		margin-left: 0;
	}

	.recruit-air-section-heading__number {
		margin-right: 10px;
	}

	.recruit-air-section-heading__line {
		min-width: 0;
	}

	.recruit-air-section-heading {
		padding-bottom: 8px;
	}

	.recruit-air-section-heading__en {
		bottom: 8px;
	}

	.c-recruit-schedule {
		--recruit-steps-gap: 16px;
		--recruit-steps-margin-top: 24px;
		--recruit-steps-label-width: 1fr;
		--recruit-steps-item-height: 0px;
		--recruit-steps-label-padding: 6px 14px;
		--recruit-steps-step-size: 14px;
		--recruit-steps-title-top: 0px;
		--recruit-steps-title-size: 16px;
		--recruit-steps-text-padding: 14px;
		--recruit-schedule-padding-top: 20px;
		--recruit-schedule-padding-inline: 20px;
		--recruit-schedule-padding-bottom: 20px;

		padding: var(--recruit-schedule-padding-top) var(--recruit-schedule-padding-inline) var(--recruit-schedule-padding-bottom);
	}

	.c-recruit-schedule .c-recruit-steps__label {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr);
		align-items: center;
	}

	.c-recruit-schedule .c-recruit-steps__title {
		margin-top: 0;
	}

	.c-recruit-schedule .c-recruit-steps__text {
		font-size: 14px;
	}

	.recruit-air-duties__list {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 20px;
	}

	.recruit-air-duty {
		min-height: 0;
		padding: 20px;
	}

	.recruit-air-duty__heading {
		gap: 10px;
	}

	.recruit-air-duty__title {
		font-size: 18px;
	}

	.recruit-air-duty__tag {
		min-height: 22px;
		padding-inline: 8px;
		font-size: 13px;
	}

	.recruit-air-duty__text {
		margin-top: 12px;
		line-height: 1.8;
	}

	.recruit-air-voice__viewport {
		overflow-x: auto;
		scrollbar-width: none;
	}

	.recruit-air-voice__viewport::-webkit-scrollbar {
		display: none;
	}

	.recruit-air-voice__list {
		display: flex;
		gap: 20px;
		width: max-content;
		margin-top: 24px;
	}

	.recruit-air-voice-card {
		flex: 0 0 275px;
	}

	.recruit-air-voice-card__body {
		padding: 16px 14px;
	}

	.recruit-air-voice-card__quote {
		margin-bottom: 12px;
		font-size: 14px;
		line-height: 1.55;
	}

	.recruit-air-voice-card__role {
		margin-top: 0;
		font-size: 12px;
	}

	.recruit-air-voice-card__footer {
		margin-top: 5px;
	}

	.recruit-air-voice-card__name {
		font-size: 20px;
	}

	.recruit-air-voice-card__icon {
		width: 22px;
		font-size: 12px;
	}

	.recruit-air-flow {
		--recruit-steps-gap: 16px;
		--recruit-steps-margin-top: 24px;
		--recruit-steps-label-width: 1fr;
		--recruit-steps-item-height: 0px;
		--recruit-steps-label-padding: 6px 14px;
		--recruit-steps-step-size: 14px;
		--recruit-steps-title-top: 2px;
		--recruit-steps-title-size: 16px;
		--recruit-steps-text-padding: 14px;

		margin-top: 60px;
	}

	.c-recruit-steps__item {
		grid-template-columns: 1fr;
	}

	.c-recruit-steps__label {
		min-height: 48px;
	}

	.c-recruit-steps__text {
		min-height: 82px;
		line-height: 1.7;
	}

	.recruit-air-openings__list {
		grid-template-columns: 270px;
		justify-content: center;
		gap: 20px;
		margin-top: 24px;
	}

	.recruit-air-opening {
		min-height: 210px;
		padding: 20px;
	}

	.recruit-air-opening__status {
		min-width: 50px;
		min-height: 32px;
		padding-inline: 8px;
		font-size: 20px;
	}

	.recruit-air-opening__division {
		margin-top: 12px;
		font-size: 16px;
	}

	.recruit-air-opening__title {
		margin-top: 2px;
		font-size: 25px;
	}

	.recruit-air-opening__location {
		font-size: 16px;
	}
}
