body {
	color: #0F1524;
	font-family: "Noto Sans JP", sans-serif;
	overflow-x: hidden;
}

body.is-fixed {
	overflow: hidden;
	position: fixed;
	width: 100%;
}

body.lower-page {
	animation: fadein 4s forwards;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

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

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

.l-header {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: 0.3s;
	z-index: 900;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: calc(max(82.5rem, min(91.5%, 110rem)) + 18px);
	padding-left: 9px;
	padding-right: 9px;
	width: 100%;
}

.l-page-top {
	bottom: 0.75rem;
	position: fixed;
	right: 0.75rem;
	z-index: 1000;
}

.c-btn {
	background-color: #FFFFFF;
	border: 1px solid #0F1524;
	border-radius: 2.5rem;
	color: #0F1524;
	display: inline-block;
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.8;
	max-width: 15.5rem;
	overflow: hidden;
	padding: 1.25rem 2.5rem;
	position: relative;
	text-align: left;
	transition: 0.3s;
	width: 100%;
	z-index: 1;
}

.c-btn::before {
	-webkit-mask-image: url(../images/common/common-arrow1.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background: #0F1524;
	content: "";
	display: inline-block;
	height: 1.6875rem;
	mask-image: url(../images/common/common-arrow1.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 1.6875rem;
	top: 50%;
	transform: translateY(-50%);
	transition: 0.3s;
	width: 2.5rem;
}

.c-btn::after {
	background: #0F1524;
	border-radius: 1.875rem;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
	width: 100%;
	z-index: -1;
}

.c-btn:hover {
	border: 1px solid #FFFFFF;
	color: #FFFFFF;
}

.c-btn:hover::before {
	background: #FFFFFF;
}

.c-btn:hover::after {
	transform: scale(1, 1);
}

.c-btn span {
	bottom: 0;
	display: inline-block;
	height: 0.5rem;
	overflow: hidden;
	position: absolute;
	right: 2.625rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.c-btn span:before,
.c-btn span:after {
	-webkit-mask-image: url(../images/common/arrow-white.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
	background: #FFFFFF;
	content: "";
	height: 0.5rem;
	mask-image: url(../images/common/arrow-white.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.c-btn span:after {
	background: #0F1524;
}

.c-btn span:after {
	transform: translate(-100%, -50%);
}

.c-btn:hover span:before {
	animation-delay: 0s;
	animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
}

.c-btn:hover span:after {
	animation-delay: 0.1s;
	animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
}

.c-btn--dark {
	background-color: #0F1524;
	border: none;
	color: #FFFFFF;
}

.c-btn--dark::before {
	background: #FFFFFF;
}

.c-btn--dark::after {
	background: #017CC9;
}

.c-btn--dark:hover {
	border: none;
	color: #FFFFFF;
}

.c-btn--dark span:before,
.c-btn--dark span:after {
	background: #0F1524;
}

.c-page-top {
	background-image: url(../images/common/pagetop.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 3.625rem;
	opacity: 0;
	transition: 0.3s;
	visibility: hidden;
	width: 3.625rem;
	z-index: 1000;
}

.c-page-top.is-active {
	opacity: 1;
	visibility: visible;
}

.c-page-top:hover {
	background-image: url(../images/common/pagetop-hover.svg);
}

.fadein {
	opacity: 0;
	transform: translate(0, 0);
	transition: all 1.5s;
}

.fadein.fadein-bottom {
	transform: translate(0, 30px);
}

.fadein.scrollin {
	opacity: 1 !important;
	transform: translate(0, 0) !important;
}

.p-about {
	border-bottom: 1px solid #e5e7eb;
	border-top: 1px solid #e5e7eb;
	padding: 8.625rem 0 5rem;
	position: relative;
}

.p-about::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-about::after {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-about__inner {
	position: relative;
}

.p-about__inner::before {
	color: #0F1524;
	content: "about";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.3125rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: -3.9375rem;
	writing-mode: vertical-rl;
}

.p-about__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.125rem;
	position: absolute;
	top: -5.4375rem;
	width: 0.5rem;
}

.p-about__header {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	padding-left: 3.5rem;
	padding-right: 3.4375rem;
}

.p-about__title {
	max-width: 23.375rem;
	width: 100%;
}

.p-about__title svg {
	height: 100%;
	width: 100%;
}

.p-about__text {
	letter-spacing: 0.04em;
	line-height: 2;
	max-width: 51.5rem;
	width: 100%;
}

.p-about__cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-left: calc(50% - 50vw + 0.9375rem);
	margin-right: calc(50% - 50vw + 0.9375rem);
	margin-top: 6.6875rem;
	position: relative;
	transition: opacity 0.3s ease;
}

.p-about__cards::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
	z-index: 1;
}

.p-about__cards::after {
	background-color: #e5e7eb;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100vw;
	z-index: 1;
}

.p-about__card {
	background-color: #fff;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.p-about__cards:hover .p-about__card {
	opacity: 0.4;
	transition: opacity 0.3s ease;
}

.p-about__cards:hover .p-about__card:hover {
	opacity: 1;
}

.p-about__card:not(:last-child) {
	border-right: 1px solid #e5e7eb;
}

.p-about__card a {
	display: inline-block;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 1.3125rem 1.5625rem 3.5rem;
}

.p-about__card a:hover .p-about__card-image img {
	transform: scale(1.05);
}

.p-about__card-image {
	border-radius: 0.8125rem;
	overflow: hidden;
	width: 100%;
}

.p-about__card-image img {
	-o-object-fit: cover;
	aspect-ratio: 421/533;
	border-radius: 0.8125rem;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
	width: 100%;
}

.p-about__card-content {
	align-items: center;
	display: flex;
	flex-grow: 1;
	justify-content: space-between;
	margin-top: 1.5625rem;
	position: relative;
}

.p-about__card:nth-child(4) .p-about__card-content {
	padding-right: 0.8125rem;
}

.p-about__card-title {
	font-size: 1rem;
	font-weight: bold;
}

.p-about__card:nth-child(1) .p-about__card-title {
	width: 12.6875rem;
}

.p-about__card:nth-child(3) .p-about__card-title {
	width: 6.3125rem;
}

.p-about__card:nth-child(2) .p-about__card-title {
	width: 14.25rem;
}

.p-about__card:nth-child(4) .p-about__card-title {
	width: 6.3125rem;
}

.p-about__card-icon {
	align-items: center;
	display: flex;
	height: 1.5rem;
	justify-content: center;
	width: 2.25rem;
}

.p-about__card-icon svg {
	height: 1rem;
	width: 1rem;
}

.p-about__card-icon--external {
	height: 0.875rem;
	width: 1rem;
}

.p-about__button-wrap {
	margin-top: 3.3125rem;
	text-align: center;
}

.c-btn--dark {
	background-color: #0F1524;
	border: none;
	color: #fff;
}

.c-btn--dark:hover {
	background-color: #017CC9;
}

.p-anchor-link {
	border-bottom: 1px solid #e5e7eb;
	border-top: 1px solid #e5e7eb;
	top: 0;
	z-index: 10;
}

.p-anchor-link__list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-anchor-link__item {
	background-color: #FFFFFF;
	flex: 1;
	position: relative;
	text-align: center;
}

.p-anchor-link__item:not(:last-child) {
	border-right: 1px solid #e5e7eb;
}

.p-anchor-link__link {
	-webkit-text-decoration: none;
	color: #0F1524;
	display: block;
	font-weight: 700;
	padding: 2.125rem 0.625rem 2.0625rem;
	position: relative;
	text-decoration: none;
	transition: background-color 0.3s;
}

a.p-anchor-link__link:hover {
	background-color: #E5E7EB;
}

.p-anchor-link__link span {
	position: relative;
}

.p-anchor-link__link span::after {
	background-image: url(../images/job/arrow-job.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 1.25rem;
	position: absolute;
	right: -3.125rem;
	top: 55%;
	transform: translateY(-50%);
	width: 1.875rem;
}

button.p-anchor-link__link {
	-webkit-text-decoration: none;
	border: none;
	color: #0F1524;
	cursor: pointer;
	display: block;
	font-weight: 700;
	opacity: 0.5;
	padding: 2.125rem 0.625rem 2.0625rem;
	position: relative;
	text-decoration: none;
	transition: opacity 0.3s;
	width: 100%;
}

button.p-anchor-link__link:hover,
button.p-anchor-link__link.is-active {
	opacity: 1;
}

.p-anchor-link__link span {
	position: relative;
}

.p-anchor-link__link span::after {
	background-image: url(../images/job/arrow-job.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 1.25rem;
	position: absolute;
	right: -3.125rem;
	top: 55%;
	transform: translateY(-50%);
	width: 1.875rem;
}

/* キャリア情報テーブルセクション */

.p-career-table__inner {
	position: relative;
}

.p-career-table__wrapper {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
	padding-left: 3.3333333333rem;
	padding-right: 3.3333333333rem;
}

.p-career-table__table {
	background-color: #FFFFFF;
	border-collapse: collapse;
	color: #000;
	width: 100%;
}

.p-career-table__head {
	background-color: #fcfcfc;
}

.p-career-table__header {
	border: 0.0625rem solid #e5e7eb;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.8;
	padding: 0.4375rem 1.875rem;
	text-align: center;
}

.p-career-table__header--blank {
	background-color: #FFFFFF;
	border-bottom: 0.0625rem solid #e5e7eb;
	border-left: none;
	border-right: none;
	border-top: none;
	width: 14.35%;
}

.p-career-table__header--salary {
	width: 26.61%;
}

.p-career-table__header--ccus {
	width: 26.61%;
}

.p-career-table__header--qualification {
	width: 32.26%;
}

.p-career-table__body {
	background-color: #FFFFFF;
}

.p-career-table__cell {
	border: 0.0625rem solid #e5e7eb;
	padding: 1.375rem 2.375rem;
	vertical-align: center;
}

.p-career-table__cell--period {
	background-color: #FCFCFC;
	font-weight: 700;
	text-align: center;
}

.p-career-table__cell--salary {
	text-align: center;
}

.p-career-table__cell--ccus {
	text-align: center;
}

.p-career-table__period {
	font-weight: 700;
}

.p-career-table__salary {
	font-weight: 400;
}

.p-career-table__level {
	font-weight: 400;
}

.p-career-table__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-career-table__qualification-text {
	letter-spacing: 0.04em;
	line-height: 1.8;
}

/* キャリアイメージセクション */

.p-career {
	padding: 10.9375rem 0 8.125rem;
	position: relative;
}

.p-career::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-career::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-career__inner {
	position: relative;
}

.p-career__inner::before {
	color: #0F1524;
	content: "career";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.25rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: -5.625rem;
	writing-mode: vertical-rl;
}

.p-career__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.0625rem;
	position: absolute;
	top: -6.875rem;
	width: 0.5rem;
}

.p-career__content {
	padding-left: 3.3333333333rem;
	padding-right: 3.3333333333rem;
}

/* タイトル */

.p-career__title {
	max-width: 41.5625rem;
}

/* サブタイトル（施工管理職） */

.p-career__subtitle {
	margin-left: 4.125rem;
	margin-top: 6.25rem;
	max-width: 10.5rem;
	padding-left: 0.9375rem;
	position: relative;
}

.p-career__subtitle::before {
	background-color: #017CC9;
	border-radius: 1.875rem;
	content: "";
	height: 2.3125rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.1875rem;
}

/* タイムライン */

.p-career__timeline {
	align-items: flex-end;
	display: flex;
	gap: 1.25rem;
	justify-content: center;
}

/* 各ステップ */

.p-career__step {
	flex: 1;
	width: 33.333%;
}

.p-career__step--1 .p-career__step-inner {
	min-height: 339px;
}

.p-career__step--2 .p-career__step-inner {
	min-height: 410px;
}

.p-career__step--3 .p-career__step-inner {
	min-height: 481px;
}

/* ステップの内容 */

.p-career__step-inner {
	background-color: #017CC9;
	border-radius: 0.3125rem 0.3125rem 0 0;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-top: 1.25rem;
	padding: 2.5rem 1.5rem;
	position: relative;
}

/* ステップ期間（青いボックスの外） */

.p-career__step-period {
	border: 0.0625rem solid #E5E7EB;
	border-radius: 3.75rem;
	font-weight: 700;
	margin-left: auto;
	margin-right: auto;
	padding: 0.5rem 1.3125rem;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

/* ステップテキスト */

.p-career__step-text {
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 2.2;
}

.p-career__step-text span {
	font-weight: 700;
}

/* ステップリスト */

.p-career__step-list {
	flex: 1;
	list-style: none;
	margin: 0;
	margin-top: 1rem;
	padding: 0;
}

.p-career__step-list-item {
	letter-spacing: 0.04em;
	line-height: 1.5;
	padding-left: 1.25rem;
	position: relative;
}

.p-career__step-list-item::before {
	content: "・";
	left: 0;
	position: absolute;
}

/* ロゴ */

.p-career__step-logo {
	bottom: 1.25rem;
	opacity: 0.2;
	position: absolute;
	right: 1.25rem;
}

.p-career__step-logo img {
	height: 3.125rem;
}

.p-career__table {
	margin-top: 7.5rem;
}

/* 会社情報セクション */

.p-company-info {
	border-top: 1px solid #e5e7eb;
	padding: 7.375rem 0 8.125rem;
	position: relative;
}

.p-company-info::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-company-info::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-company-info__inner {
	position: relative;
}

.p-company-info__inner::before {
	color: #0F1524;
	content: "number";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.25rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: -2.5rem;
	writing-mode: vertical-rl;
}

.p-company-info__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.0625rem;
	position: absolute;
	top: -3.75rem;
	width: 0.5rem;
}

.p-company-info__title-wrapper {
	align-items: flex-end;
	display: flex;
	gap: 1.6875rem;
	padding-left: 3.3333333333rem;
	padding-right: 3.3333333333rem;
}

.p-company-info__main-title {
	width: 52.5rem;
}

.p-company-info__title-text {
	width: 12rem;
}

/* グリッドレイアウト */

.p-company-info__grid {
	grid-gap: 3.3333333333rem;
	display: grid;
	gap: 3.3333333333rem;
	grid-template-columns: repeat(6, 1fr);
	margin-top: 3.125rem;
	padding-left: 3.3333333333rem;
	padding-right: 3.3333333333rem;
	position: relative;
}

.p-company-info__item.p-company-info__item--1a {
	grid-column: span 3;
	min-height: 30.3333333333rem;
}

.p-company-info__item.p-company-info__item--1b {
	grid-column: span 3;
	min-height: 30.3333333333rem;
}

.p-company-info__item.p-company-info__item--2a {
	grid-column: span 2;
	min-height: 35.4166666667rem;
}

.p-company-info__item.p-company-info__item--2b {
	grid-column: span 2;
	min-height: 35.4166666667rem;
}

.p-company-info__item.p-company-info__item--2c {
	grid-column: span 2;
	min-height: 35.4166666667rem;
}

.p-company-info__item.p-company-info__item--3a {
	display: flex;
	flex-direction: column;
	grid-column: span 2;
	min-height: 35.4166666667rem;
}

.p-company-info__item.p-company-info__item--3b {
	grid-column: span 2;
	min-height: 35.4166666667rem;
}

.p-company-info__item.p-company-info__item--3c {
	grid-column: span 2;
	min-height: 35.4166666667rem;
}

.p-company-info__item.p-company-info__item--4a {
	display: flex;
	flex-direction: column;
	grid-column: span 4;
	min-height: 32.6666666667rem;
}

.p-company-info__item.p-company-info__item--4b {
	display: flex;
	flex-direction: column;
	grid-column: span 2;
	min-height: 32.6666666667rem;
}

.p-company-info__item.p-company-info__item--5 {
	grid-column: span 6;
	min-height: 36.0833333333rem;
}

.p-company-info__item {
	background: #FFFFFF;
	border: 1px solid #e5e7eb;
	border-radius: 0.3125rem;
	padding: 2.875rem 2.4375rem;
}

/* 特定アイテムのレイアウト調整 */

.p-company-info__item--licenses {
	grid-column: span 2;
}

/* タイトル */

.p-company-info__title {
	font-size: 1rem;
	font-weight: 700;
	margin-left: auto;
	margin-right: auto;
}

.p-company-info__item--1a .p-company-info__title {
	margin-left: 0;
	width: 4.1666666667rem;
}

.p-company-info__item--1b .p-company-info__title {
	margin-left: 0;
	width: 6.25rem;
}

.p-company-info__item--2a .p-company-info__title {
	width: 8.4166666667rem;
}

.p-company-info__item--2b .p-company-info__title {
	width: 6.25rem;
}

.p-company-info__item--2c .p-company-info__title {
	width: 8.4166666667rem;
}

.p-company-info__item--3a .p-company-info__title {
	width: 8.4166666667rem;
}

.p-company-info__item--3b .p-company-info__title {
	width: 16.9166666667rem;
}

.p-company-info__item--3c .p-company-info__title {
	width: 12.6666666667rem;
}

.p-company-info__item--4a .p-company-info__title {
	width: 12.6666666667rem;
}

.p-company-info__item--4b .p-company-info__title {
	width: 14.75rem;
}

.p-company-info__item--5 .p-company-info__title {
	margin-left: 0;
	width: 12.6666666667rem;
}

.p-company-info__sub {
	font-size: 0.75rem;
	font-weight: 400;
	margin-left: 0.3125rem;
}

/* コンテンツ */

.p-company-info__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 3.1875rem;
}

.p-company-info__content.p-company-info__content--block {
	display: block;
}

.p-company-info__item--1a .p-company-info__content {
	flex-direction: row;
	justify-content: center;
	margin-top: 1.875rem;
	padding-left: 2.6875rem;
	padding-right: 2.6875rem;
}

.p-company-info__item--1b .p-company-info__content {
	flex: 1;
	justify-content: center;
}

.p-company-info__item--2a .p-company-info__content {
	gap: 2.1875rem;
	margin-top: 3.625rem;
}

.p-company-info__item--2b .p-company-info__content {
	gap: 2.1875rem;
	margin-top: 3rem;
}

.p-company-info__item--2c .p-company-info__content {
	margin-top: 3rem;
}

.p-company-info__item--3a .p-company-info__content {
	flex: 1;
	gap: 0;
	justify-content: center;
}

.p-company-info__item--3b .p-company-info__content {
	margin-top: 5rem;
}

.p-company-info__item--3c .p-company-info__content {
	gap: 0;
}

.p-company-info__item--4a .p-company-info__content {
	flex: 1;
	flex-direction: row;
	justify-content: space-between;
	justify-content: center;
	margin: 0 auto;
	max-width: 52.1666666667rem;
	width: 100%;
}

.p-company-info__item--4b .p-company-info__content {
	flex: 1;
	gap: 0;
	justify-content: center;
}

.p-company-info__item--5 .p-company-info__content {
	align-items: flex-start;
	flex-direction: row;
	justify-content: space-between;
	padding-left: 9.0833333333rem;
	padding-right: 6.4166666667rem;
}

/* 数値 */

.p-company-info__number--large {
	color: #017CC9;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 8.3333333333rem;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.p-company-info__unit--large {
	color: #017CC9;
	font-size: 8.3333333333rem;
	font-weight: 500;
}

.p-company-info__value {
	align-items: baseline;
	display: flex;
}

.p-company-info__item--1a .p-company-info__value {
	gap: 0.75rem;
	width: 58.3%;
}

.p-company-info__item--3a .p-company-info__value {
	margin-top: -6.25rem;
}

.p-company-info__item--1b {
	display: flex;
	flex-direction: column;
}

.p-company-info__unit + .p-company-info__number-small {
	margin-left: 1.4375rem;
}

.p-company-info__item--1a .p-company-info__unit {
	font-size: 1.875rem;
}

.p-company-info__number-small {
	font-size: 2.1875rem;
}

.p-company-info__value--large {
	font-size: 1.75rem;
}

.p-company-info__value--highlight {
	font-size: 3rem;
}

.p-company-info__item--2a .p-company-info__number {
	color: #017CC9;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 3.875rem;
	line-height: 1;
}

.p-company-info__item--3a .p-company-info__number {
	color: #017CC9;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 3.875rem;
	line-height: 1.4;
}

.p-company-info__item--3c .p-company-info__number {
	color: #017CC9;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 3.875rem;
	font-weight: 500;
	line-height: 2.2;
}

.p-company-info__item--1a .p-company-info__icon {
	width: 30.37%;
}

.p-company-info__item--1a .p-company-info__icon img {
	-o-object-fit: contain;
	aspect-ratio: 140/207;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-company-info__item--3a .p-company-info__icon {
	margin: 0 auto;
	width: 13.3333333333rem;
}

.p-company-info__item--3b .p-company-info__icon img {
	-o-object-fit: contain;
	aspect-ratio: 160/138;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-company-info__item--3c .p-company-info__icon {
	margin: 0 auto;
	width: 12.1666666667rem;
}

.p-company-info__item--3c .p-company-info__icon img {
	-o-object-fit: contain;
	aspect-ratio: 146/128;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-company-info__item--4a .p-company-info__icon {
	width: 27.63%;
}

.p-company-info__item--4a .p-company-info__icon img {
	-o-object-fit: contain;
	aspect-ratio: 173/112;
	height: 100%;
	margin: 0 auto;
	object-fit: contain;
	width: 100%;
	width: 13.3333333333rem;
}

/* 従業員アイコン */

.p-company-info__people-icons {
	max-width: 10.125rem;
	width: 100%;
}

.p-company-info__people-icon {
	background-color: #017CC9;
	border-radius: 50% 50% 0 0;
	height: 1.875rem;
	position: relative;
	width: 1.875rem;
}

.p-company-info__people-icon::after {
	-webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	background-color: #017CC9;
	bottom: -0.9375rem;
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	content: "";
	height: 1.25rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 1.25rem;
}

/* 円グラフ */

.p-company-info__pie-chart {
	position: relative;
}

.p-company-info__pie-legend {
	margin: 0 auto;
	max-width: 16.125rem;
	width: 100%;
}

.p-company-info__pie-chart-wrapper {
	display: block;
	height: 16rem;
	width: 16rem;
}

.p-company-info__item.p-company-info__item--4b .p-company-info__pie-chart {
	height: 16rem;
	width: 16rem;
}

.p-company-info__pie-chart svg {
	height: 100%;
	width: 100%;
}

.p-company-info__pie-chart svg circle {
	height: 16rem;
	width: 16rem;
}

.p-company-info__pie-legend {
	display: flex;
	justify-content: space-between;
}

.p-company-info__pie-legend--vertical .p-company-info__pie-item:nth-child(1) {
	left: 2.6875rem;
	position: absolute;
	top: -1.75rem;
}

.p-company-info__pie-legend--vertical .p-company-info__pie-item:nth-child(2) {
	bottom: -0.625rem;
	position: absolute;
	right: 0;
}

.p-company-info__pie-label {
	display: block;
	margin: 0 auto;
	width: 1.9375rem;
}

.p-company-info__pie-legend.p-company-info__pie-legend--vertical .p-company-info__pie-item:nth-child(1) .p-company-info__pie-label {
	margin: 0;
	width: 1.1875rem;
}

.p-company-info__pie-legend.p-company-info__pie-legend--vertical .p-company-info__pie-item:nth-child(2) .p-company-info__pie-label {
	margin: 0;
	margin-left: 0.625rem;
	width: 1.875rem;
}

.p-company-info__pie-value {
	color: #017CC9;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 1.5625rem;
	font-weight: 700;
}

.p-company-info__pie-legend.p-company-info__pie-legend--vertical .p-company-info__pie-item:nth-child(2) .p-company-info__pie-value {
	font-size: 2.5rem;
	line-height: 1;
}

.p-company-info__pie-vector {
	-o-object-fit: contain;
	height: 1.4166666667rem;
	left: 1.4375rem;
	object-fit: contain;
	position: absolute;
	top: 0.625rem;
	width: 3.75rem;
}

.p-company-info__pie-vector img {
	-o-object-fit: contain;
	aspect-ratio: 45/17;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-company-info__pie-unit {
	font-size: 0.75rem;
}

/* ドーナツチャート */

.p-company-info__donut-chart {
	height: 16.1666666667rem;
	position: relative;
	width: 16.1666666667rem;
}

.p-company-info__donut-icons-wrap {
	left: 50%;
	max-width: 9.25rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.p-company-info__donut-icons {
	display: flex;
	gap: 2.375rem;
	padding-left: 0.9375rem;
}

.p-company-info__donut-legend {
	align-items: center;
	display: flex;
	gap: 0.9375rem;
	justify-content: center;
	margin-top: 1.25rem;
}

.p-company-info__donut-label {
	display: inline-block;
	display: block;
	margin: 0 auto;
	width: 2.5833333333rem;
}

.p-company-info__donut-number {
	fill: #017CC9;
	color: #017CC9;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
}

.p-company-info__donut-unit {
	font-size: 0.875rem;
	margin-left: 0.1875rem;
}

.p-company-info__age-average {
	text-align: center;
}

.p-company-info__age-average-number {
	color: #0084c7;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 3.875rem;
	font-weight: 500;
	line-height: 1;
	line-height: 1;
}

.p-company-info__age-average-unit {
	color: #333;
	font-size: 1.125rem;
	margin-left: 0.125rem;
}

/* 年齢グループリスト */

.p-company-info__age-groups {
	display: flex;
	flex-direction: column;
	gap: 0.9375rem;
	margin: 0 auto;
	margin-top: 2.4375rem;
	max-width: 16.8125rem;
}

.p-company-info__age-group {
	align-items: center;
	display: flex;
	position: relative;
}

.p-company-info__age-group-label {
	color: #666;
	flex-shrink: 0;
	font-size: 0.75rem;
	line-height: 1.4;
}

.p-company-info__age-bar-container {
	flex: 1;
	height: 1.875rem;
	margin-left: 0.625rem;
	overflow: visible;
	position: relative;
}

.p-company-info__age-bar {
	border-radius: 0 3.125rem 3.125rem 0;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: width 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.p-company-info__age-bar--twenties {
	background-color: #0084c7;
	width: 0;
}

.p-company-info__age-bar--twenties.is-animated {
	animation: slideIn 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
	animation-delay: 0.5s;
}

.p-company-info__age-bar--other {
	background-color: #e0e0e0;
	width: var(--width);
}

.p-company-info__age-percentage {
	color: #333;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 1.5625rem;
	font-weight: bold;
	left: calc(0% + 0.625rem);
	left: calc(var(--bar-width, 0%) + 0.625rem);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
}

.p-company-info__age-percentage--twenties {
	left: calc(75% + 2rem);
}

.p-company-info__age-percentage--twenties.is-animated {
	animation: slidePercentage 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
	animation-delay: 0.5s;
}

.p-company-info__region-label {
	animation: slidePercentage 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
	animation-delay: 0.5s;
	left: 0.625rem;
	opacity: 0;
}

.p-company-info__license-list {
	grid-gap: 0.9375rem;
	display: grid;
	gap: 0.9375rem;
	grid-auto-flow: column;
	grid-template-rows: repeat(4, 1fr);
	width: 63.9%;
}

.p-company-info__license-item {
	color: #666;
	display: flex;
	line-height: 1.4;
}

.p-company-info__license-item::before {
	background-color: #0F1524;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.25rem;
	margin-right: 0.625rem;
	margin-top: 0.9375rem;
	width: 0.25rem;
}

/* 地域グラフラッパー */

.p-company-info__region-bars {
	display: flex;
	flex-direction: column;
	gap: 0.9375rem;
	margin-top: 3.75rem;
	max-width: 42.1666666667rem;
	width: 100%;
}

.p-company-info__region-map {
	max-width: 20.5rem;
	width: 100%;
}

/* 各行 */

.p-company-info__region-group {
	align-items: center;
	display: flex;
	position: relative;
}

/* ラベル */

.p-company-info__region-label {
	flex-shrink: 0;
	width: 6.1666666667rem;
}

.p-company-info__region-label img {
	margin-left: auto;
	width: 100%;
}

.p-company-info__region-group:not(:last-child) .p-company-info__region-label img {
	width: 4.5833333333rem;
}

/* バーの外枠 */

.p-company-info__region-bar-container {
	flex: 1;
	height: 3.0833333333rem;
	margin-left: 0.625rem;
	margin-right: 0.625rem;
	overflow: visible;
	position: relative;
}

/* バー共通 */

.p-company-info__region-bar {
	border-radius: 0 1.875rem 1.875rem 0;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: width 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 大阪府のみ青くアニメーション */

.p-company-info__region-bar--main {
	background-color: #0099D6;
	width: 0;
}

.p-company-info__region-bar--main.is-animated {
	animation: slideIn 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
	animation-delay: 0.5s;
}

/* 他の県は即表示 */

.p-company-info__region-bar--other {
	background-color: #e0e0e0;
	width: var(--width);
}

/* パーセンテージ共通 */

.p-company-info__region-percentage {
	color: #333;
	font-family: "Hanken Grotesk", sans-serif;
	font-weight: 700;
	left: calc(0% + 0.625rem);
	left: calc(var(--bar-width, 0%) + 0.625rem);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
}

.p-company-info__region-percentage span {
	font-family: "Noto Sans JP", sans-serif;
	margin-left: 0.1875rem;
}

/* 大阪府だけアニメーション付き */

.p-company-info__region-percentage--main {
	left: calc(85% + 0.625rem);
}

/* 地図 */

.p-company-info__region-map img {
	-o-object-fit: contain;
	aspect-ratio: 246/308;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

/* アニメーション定義 */

.p-concept {
	padding: 8.6875rem 0 12.9375rem;
	position: relative;
}

.p-concept::before {
	background-color: #E5E7EB;
	bottom: 0;
	content: "";
	display: block;
	height: 100%;
	left: 5rem;
	position: absolute;
	width: 1px;
	z-index: -1;
}

.p-concept::after {
	background-color: #E5E7EB;
	bottom: 0;
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	right: 5rem;
	width: 1px;
	z-index: -1;
}

.p-concept__inner {
	position: relative;
}

.p-concept__inner::before {
	color: #0F1524;
	content: "about";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.25rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: -3.125rem;
	writing-mode: vertical-rl;
}

.p-concept__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.0625rem;
	position: absolute;
	top: -4.375rem;
	width: 0.5rem;
}

.p-concept__content {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	padding-left: 3.5rem;
}

.p-concept__title {
	max-width: 21.625rem;
	width: 40%;
}

.p-concept__title svg {
	height: 100%;
	width: 100%;
}

.p-concept__text {
	width: 55%;
}

.p-concept__paragraph {
	color: #0F1524;
	line-height: 1.8;
	margin: 0;
}

.p-concept__paragraph + .p-concept__paragraph {
	margin-top: 1.5rem;
}

.p-construction-results {
	border-top: 1px solid #e5e7eb;
	position: relative;
}

.p-construction-results::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-construction-results::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-construction-results__inner {
	position: relative;
}

.p-construction-results__inner::before {
	color: #0F1524;
	content: "works";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.3125rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: 5rem;
	writing-mode: vertical-rl;
}

.p-construction-results__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.125rem;
	position: absolute;
	top: 3.75rem;
	width: 0.5rem;
}

.p-construction-results__content {
	padding: 3.6875rem 3.5rem 7.875rem;
}

.p-construction-results__title {
	max-width: 10.5rem;
	width: 100%;
}

.p-construction-results__title img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-construction-results__items {
	grid-gap: 1.8125rem;
	display: grid;
	gap: 1.8125rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-construction-results__item-image img {
	-o-object-fit: cover;
	aspect-ratio: 392/267;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-construction-results__item-image img {
	-o-object-fit: cover;
	color: #0F1524;
	font-size: 1.25rem;
	font-weight: 700;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-construction-results__item-title {
	color: #000;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.8;
}

.p-construction-results__more {
	margin-top: 5.25rem;
	text-align: center;
}

.p-construction-results__more a {
	color: #000;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.p-construction-results__more a::after {
	background-image: url(../images/job/link-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 0.6875rem;
	margin-left: 1.25rem;
	width: 0.6875rem;
}

.p-drawer {
	background-color: #0078C8;
	color: #fff;
	height: auto;
	left: 0.5rem;
	opacity: 0;
	overflow-y: auto;
	position: fixed;
	right: 0.5rem;
	top: 0.5rem;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: 99%;
	z-index: 100;
}

.p-drawer::before {
	background-image: url(../images/common/logo-drawer.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	display: block;
	height: 13.8125rem;
	position: absolute;
	right: 3.125rem;
	width: 53.75rem;
}

.p-drawer-overlay {
	background-color: #0F1524;
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: 100%;
	z-index: 99;
}

.p-drawer.is-open {
	opacity: 1;
	visibility: visible;
}

.p-drawer-overlay.is-open {
	opacity: 0.5;
	visibility: visible;
}

.p-drawer__close {
	align-items: center;
	background-color: #fff;
	border: none;
	border-radius: 50%;
	color: #0078C8;
	cursor: pointer;
	display: flex;
	height: 2.5rem;
	justify-content: center;
	position: absolute;
	right: 1.25rem;
	top: 1.25rem;
	transition: opacity 0.3s;
	width: 2.5rem;
	z-index: 101;
}

.p-drawer__close:hover {
	opacity: 0.8;
}

.p-drawer__hamburger {
	background-color: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: none;
	height: 2.5rem;
	position: fixed;
	right: 1.25rem;
	top: 1.25rem;
	width: 2.5rem;
	z-index: 101;
}

.p-drawer__hamburger span {
	background-color: #0078C8;
	display: block;
	height: 0.125rem;
	width: 1.25rem;
}

.p-drawer__pc-menu {
	display: flex;
	padding: 6.5rem 6.5rem 4.625rem;
}

.p-drawer__column--left {
	width: 26vw;
}

.p-drawer__column--center {
	width: 31vw;
}

.p-drawer__column--right {
	width: 19.4vw;
}

.p-drawer__column.p-drawer__column--left .p-drawer__section:nth-child(1) .p-drawer__heading,
.p-drawer__column.p-drawer__column--left .p-drawer__section:nth-child(3) .p-drawer__heading {
	width: 9.875rem;
}

.p-drawer__column.p-drawer__column--left .p-drawer__section:nth-child(2) .p-drawer__heading {
	width: 7.875rem;
}

.p-drawer__column.p-drawer__column--center .p-drawer__section:nth-child(1) .p-drawer__heading {
	width: 7.875rem;
}

.p-drawer__column.p-drawer__column--center .p-drawer__section:nth-child(2) .p-drawer__heading {
	width: 8.125rem;
}

.p-drawer__column.p-drawer__column--right .p-drawer__section:nth-child(1) .p-drawer__heading {
	width: 13.4375rem;
}

.p-drawer__section + .p-drawer__section {
	margin-top: 4rem;
}

.p-drawer__heading {
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
}

.p-drawer__heading a {
	display: inline-block;
	position: relative;
}

.p-drawer__heading a::after {
	background-color: #FFFFFF;
	bottom: -0.3125rem;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s;
	width: 100%;
}

.p-drawer__heading a:hover::after {
	transform: scaleX(1);
}

.p-drawer__list {
	list-style: none;
	margin: 0;
	margin-top: 0.875rem;
	padding: 0;
}

.p-drawer__item + .p-drawer__item {
	margin-top: 0.3125rem;
}

.p-drawer__item a {
	-webkit-text-decoration: none;
	color: #FFFFFF;
	display: inline-block;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	position: relative;
	text-decoration: none;
	transition: opacity 0.3s;
}

.p-drawer__item a::after {
	background-color: #FFFFFF;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s;
	width: 100%;
}

.p-drawer__item a:hover::after {
	transform: scaleX(1);
}

.p-drawer__external-link {
	-webkit-text-decoration: none;
	align-items: center;
	color: #fff;
	display: flex;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.9;
	position: relative;
	text-decoration: none;
	transition: opacity 0.3s;
	width: -moz-fit-content;
	width: fit-content;
}

.p-drawer__external-link::after {
	background-color: #FFFFFF;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s;
	width: 100%;
}

.p-drawer__external-link:hover::after {
	transform: scaleX(1);
}

.p-drawer__external-link svg {
	margin-left: 0.375rem;
}

.p-drawer__external-links {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 4rem;
}

.p-drawer__entry {
	margin-top: 4rem;
}

.p-drawer__entry a {
	-webkit-text-decoration: none;
	background-color: #FFFFFF;
	border-radius: 3.75rem;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	max-width: 21.75rem;
	overflow: hidden;
	padding: 1.8125rem 3.75rem;
	position: relative;
	text-decoration: none;
	transition: opacity 0.3s;
	width: 100%;
	z-index: 1;
}

.p-drawer__entry a::before {
	-webkit-mask-image: url(../images/common/common-arrow4.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background: #017CC9;
	content: "";
	display: inline-block;
	height: 2.5rem;
	mask-image: url(../images/common/common-arrow4.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 3.75rem;
}

.p-drawer__entry a:hover::before {
	background: #FFFFFF;
}

.p-drawer__entry a::after {
	background: #0F1524;
	border-radius: 3.75rem;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
	width: 100%;
	z-index: -1;
}

.p-drawer__entry a img:last-of-type {
	left: 3.75rem;
	opacity: 0;
	position: absolute;
	top: 1.8125rem;
	transition: opacity 0.3s;
	width: 7.5rem;
}

.p-drawer__entry a:hover img:last-of-type {
	opacity: 1;
}

.p-drawer__entry a:hover::after {
	transform: scale(1, 1);
}

.p-drawer__entry a span {
	bottom: 0;
	display: inline-block;
	height: 1rem;
	overflow: hidden;
	position: absolute;
	right: 3.6875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
}

.p-drawer__entry a span:before,
.p-drawer__entry a span:after {
	-webkit-mask-image: url(../images/common/arrow-black.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
	background: #0F1524;
	content: "";
	height: 1rem;
	mask-image: url(../images/common/arrow-black.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
}

.p-drawer__entry a span:before {
	background: #FFFFFF;
}

.p-drawer__entry a span:after {
	transform: translate(-100%, -50%);
}

.p-drawer__entry a:hover span:before {
	animation-delay: 0s;
	animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
}

.p-drawer__entry a:hover span:after {
	animation-delay: 0.1s;
	animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
}

.p-drawer__entry a img {
	width: 7.5rem;
}

.p-drawer__video-title {
	max-width: 13.4375rem;
	width: 100%;
}

.p-drawer__video-content {
	margin-top: 0.875rem;
}

.p-drawer__video-content + .p-drawer__video-content {
	margin-top: 1.875rem;
}

.p-drawer__video-label {
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.3333333333;
}

.p-drawer__video-body {
	margin-top: 0.5rem;
}

/* SP版スタイル */

.p-drawer__sp-menu {
	display: none;
	padding: 5.5625rem 3.25rem 4.625rem 2.75rem;
}

.p-drawer__home-link {
	-webkit-text-decoration: none;
	color: #fff;
	display: block;
	font-size: 1.125rem;
	text-decoration: none;
	width: 2.6875rem;
}

.p-drawer__home-link:hover {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.p-drawer__sp-section {
	margin-top: 2rem;
}

.p-drawer__sp-heading {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: 1rem;
	justify-content: space-between;
	margin: 0;
}

.p-drawer__sp-section:nth-child(2) .p-drawer__sp-heading img,
.p-drawer__sp-section:nth-child(4) .p-drawer__sp-heading img {
	width: 6.5625rem;
}

.p-drawer__sp-section:nth-child(3) .p-drawer__sp-heading img,
.p-drawer__sp-section:nth-child(5) .p-drawer__sp-heading img {
	width: 5.25rem;
}

.p-drawer__sp-section:nth-child(6) .p-drawer__sp-heading {
	width: 5.875rem;
}

.p-drawer__sp-list {
	display: none;
	list-style: none;
	margin: 0;
	margin-top: 0.875rem;
	padding: 0;
}

.p-drawer__sp-toggle {
	align-items: center;
	display: flex;
	height: 1rem;
	justify-content: center;
	position: relative;
	width: 1rem;
}

.p-drawer__sp-toggle-horizontal {
	background-color: #fff;
	height: 0.0625rem;
	position: absolute;
	transition: transform 0.3s ease;
	width: 0.9375rem;
}

.p-drawer__sp-toggle-vertical {
	background-color: #fff;
	height: 0.9375rem;
	position: absolute;
	transition: transform 0.3s ease;
	width: 0.0625rem;
}

.js-sp-accordion.is-active .p-drawer__sp-toggle-vertical {
	transform: rotate(90deg);
}

.p-drawer__sp-item a {
	-webkit-text-decoration: none;
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 2;
	text-decoration: none;
}

.p-drawer__sp-external-links {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	margin-top: 2.5rem;
}

.p-drawer__sp-entry {
	margin-top: 2.125rem;
}

.p-drawer__sp-entry a {
	-webkit-text-decoration: none;
	background-color: #FFFFFF;
	border-radius: 3.125rem;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	padding: 1.5625rem 3.1875rem;
	position: relative;
	text-decoration: none;
	transition: opacity 0.3s;
	width: 100%;
}

.p-drawer__sp-entry a::before {
	background-image: url(../images/common/common-arrow4-sp.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1.5rem;
	position: absolute;
	right: 2.5625rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.25rem;
}

.p-drawer__sp-entry a img {
	width: 7.5rem;
}

.p-drawer__sp-videos {
	margin-top: 5.5625rem;
}

.p-entry {
	background-color: #017CC9;
}

.p-entry__inner a {
	display: block;
	padding: 5.75rem 0;
}

.p-entry__title {
	align-items: center;
	color: rgba(255, 255, 255, 0.6);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0 auto;
	position: relative;
	transition: color 0.3s;
	width: -moz-fit-content;
	width: fit-content;
}

.p-entry__inner a:hover .p-entry__title {
	color: white;
}

.p-entry__title::before {
	background-image: url(../images/common/common-arrow2.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 1.5rem;
	opacity: 0.6;
	position: absolute;
	right: -9.75rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.3s;
	width: 2.25rem;
}

.p-entry__title::after {
	background-image: url(../images/common/arrow-blue.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.5625rem;
	position: absolute;
	right: -9.0625rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.3s;
	width: 0.6875rem;
}

.p-entry__inner a:hover .p-entry__title::before {
	opacity: 1;
}

.p-entry__inner a:hover .p-entry__title::after {
	opacity: 1;
	right: -9.375rem;
}

.p-entry__title-en {
	font-size: 4rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1;
}

.p-entry__title-ja {
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 1rem;
}

.p-faq {
	border-bottom: 1px solid #e5e7eb;
	padding: 7rem 0 4.5rem;
	position: relative;
}

.p-faq.p-faq--last {
	margin-bottom: 13.75rem;
}

.p-faq__inner {
	position: relative;
}

.p-faq::before {
	background-color: #e5e7eb;
	content: "";
	height: calc(100% + 13.75rem);
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-faq::after {
	background-color: #e5e7eb;
	content: "";
	height: calc(100% + 13.75rem);
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
}

.p-faq__inner::before {
	color: #0F1524;
	content: "Q&A";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.25rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: -1.625rem;
	writing-mode: vertical-rl;
}

.p-faq__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.0625rem;
	position: absolute;
	top: -3.125rem;
	width: 0.5rem;
}

.p-faq__title {
	margin-left: 4.25rem;
}

#about.p-faq .p-faq__title {
	width: 22.5rem;
}

#selection.p-faq .p-faq__title {
	width: 16.8333333333rem;
}

#systems.p-faq .p-faq__title {
	width: 25.3333333333rem;
}

#other.p-faq .p-faq__title {
	width: 8.3333333333rem;
}

.p-faq__list {
	border: 1px solid #e5e7eb;
	margin: 0 auto;
	margin-top: 4.5rem;
	max-width: 91.6666666667rem;
}

.p-faq__item {
	background-color: #FFFFFF;
	border-radius: 0.5rem;
	overflow: hidden;
}

.p-faq__item:not(:first-child) .p-faq__question {
	border-top: 1px solid #e5e7eb;
}

.p-faq__question {
	align-items: flex-start;
	cursor: pointer;
	display: flex;
	padding: 2rem 1.3333333333rem;
	position: relative;
}

.p-faq__icon {
	align-items: center;
	color: #017CC9;
	display: flex;
	flex-shrink: 0;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	margin-top: 0.5rem;
}

.p-faq__question-text {
	color: #0F1524;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.6;
	margin-left: 1.25rem;
	margin-right: 3.75rem;
}

.p-faq__toggle {
	background-color: #333;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: block;
	height: 1.875rem;
	position: absolute;
	right: 1.875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.875rem;
}

.p-faq__toggle span {
	background-color: #FFFFFF;
	height: 0.125rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: opacity 0.3s ease;
	width: 1rem;
}

.p-faq__toggle span:nth-child(2) {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform 0.3s ease;
}

.p-faq__item.is-open .p-faq__toggle span:nth-child(2) {
	transform: translate(-50%, -50%) rotate(0deg);
}

.p-faq__answer-flex {
	align-items: flex-start;
	display: flex;
}

.p-faq__answer {
	display: none;
	padding: 0 1.5rem 1.5rem;
	padding-right: 6.875rem;
}

.p-faq__answer-text {
	color: #0F1524;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.8;
	margin-left: 1.25rem;
}

.p-footer {
	background-color: #f9f9f9;
	padding: 3.75rem 0 2.5rem;
	position: relative;
}

.p-footer::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 100%;
	left: drem(80);
	position: absolute;
	top: 0;
	width: 1px;
}

.p-footer::after {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: 0;
}

.p-footer__wrap {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding-right: 10.5rem;
}

.p-footer__left {
	margin-top: 0;
	max-width: 21.875rem;
}

.p-footer__logo {
	max-width: 16.5rem;
	width: 100%;
}

.p-footer__logo a {
	display: block;
}

.p-footer__logo img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-footer__right {
	max-width: 53.125rem;
	width: 100%;
}

.p-footer__nav-grid {
	display: flex;
	justify-content: space-between;
}

.p-footer__nav-column:nth-child(1) {
	width: 6.625rem;
}

.p-footer__nav-column:nth-child(2) {
	width: 8.3125rem;
}

.p-footer__nav-column:nth-child(3) {
	width: 7.3125rem;
}

.p-footer__nav-column:nth-child(4) {
	width: 11rem;
}

.p-footer__nav-column:nth-child(5) {
	width: 9.375rem;
}

.p-footer__nav-items:nth-child(2) {
	margin-top: 1rem;
}

.p-footer__nav-item + .p-footer__nav-item {
	margin-top: 1rem;
}

.p-footer__nav-items.p-footer__nav-items--sp-only .p-footer__nav-item + .p-footer__nav-item {
	margin-top: 0.4375rem;
}

.p-footer__nav-item a {
	color: #0F1524;
	font-weight: 400;
	line-height: 1.8;
	position: relative;
}

.p-footer__nav-column:nth-child(5) .p-footer__nav-item a {
	font-size: 0.8125rem;
	line-height: 1.9;
}

/* 外部リンク用のスタイル */

.p-footer__nav-item a[target=_blank]::after {
	background: url("../images/common/icon-external.svg") no-repeat center/contain;
	content: "";
	display: inline-block;
	height: 0.625rem;
	margin-left: 1.4375rem;
	width: 0.625rem;
}

.p-footer__nav-item.p-footer__nav-item--header a,
.p-footer__sp-title {
	font-weight: 700;
	line-height: 1.8;
}

.p-footer__sp-title {
	position: relative;
}

.p-footer__sp-title::before {
	background-color: #000;
	content: "";
	display: block;
	height: 1px;
	position: absolute;
	right: 0;
	top: 1rem;
	width: 0.9375rem;
}

.p-footer__sp-title::after {
	background-color: #000;
	content: "";
	display: block;
	height: 0.9375rem;
	position: absolute;
	right: 0.4375rem;
	top: 0.5625rem;
	transition: transform 0.3s ease-in-out;
	width: 1px;
}

.p-footer__sp-title.is-open::after {
	transform: rotate(90deg);
}

/* PC/SP Display Control */

.p-footer__nav-item--pc-only {
	display: block;
}

.p-footer__nav-items--sp-only {
	display: none;
}

.p-footer__submenu {
	display: none;
}

.p-footer__nav-item.p-footer__nav-item--header .p-footer__submenu-item.p-footer__nav-items--sp-only a {
	padding: 0.5rem 0.625rem;
}

.p-footer__copyright {
	color: #777E90;
	display: block;
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-top: 7.5rem;
}

.p-footer__address-wrapper {
	margin-top: 0.9375rem;
}

.p-footer__address {
	font-style: normal;
	font-weight: 400;
	line-height: 1.7;
	margin-top: 1rem;
}

.p-footer__address + .p-footer__address {
	margin-top: 1.4375rem;
}

.p-header {
	background-color: #fff;
	border-bottom: 1px solid #e5e7eb;
	height: 7rem;
}

.p-header__inner {
	display: flex;
	height: inherit;
	justify-content: space-between;
	padding-left: 2.5rem;
	padding-right: 2.5625rem;
}

.p-header__logo {
	height: inherit;
	max-width: 16.5625rem;
	width: 100%;
}

.p-header__logo a {
	align-items: center;
	display: flex;
	height: inherit;
}

.p-header__logo-img {
	height: inherit;
	max-width: 11.5625rem;
	width: 100%;
}

.p-header__logo img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-header__logo-text {
	color: #0F1524;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.9;
	margin-left: 1rem;
	margin-top: 0.75rem;
}

.p-header__nav {
	align-items: center;
	display: flex;
	height: inherit;
	position: relative;
}

.p-header__nav-list {
	display: flex;
	height: inherit;
	padding: 1.0625rem 0;
}

.p-header__nav-item,
.p-header__nav-modal-wrap {
	align-items: center;
	display: flex;
}

.p-header__nav-item.p-header__nav-item--contact {
	align-items: center;
	display: flex;
	margin-left: 0.5rem;
}

.p-header__nav-item > a,
.p-header__nav-modal-wrap > p {
	align-items: center;
	color: #333;
	display: flex;
	font-weight: 500;
	height: inherit;
	letter-spacing: 0.012em;
	line-height: 1;
	padding: 1.125rem 1.1875rem;
	text-transform: uppercase;
}

.p-header__nav-modal-wrap > p {
	transition: 0.3s;
}

.p-header__nav-modal-wrap {
	position: relative;
}

.p-header__nav-modal {
	background-color: #FFFFFF;
	border: 1px solid rgba(15, 21, 36, 0.3);
	border-radius: 0.625rem;
	left: -1.875rem;
	max-width: 11rem;
	opacity: 0;
	padding: 1.75rem 1.375rem;
	position: absolute;
	top: 5rem;
	transform: translateY(-20px);
	transition: opacity 0.25s 0.0833333333s, visibility 0.25s, transform 0.3333333333s cubic-bezier(0.33, 0, 0.24, 1);
	visibility: hidden;
	width: 200%;
}

.p-header__nav-modal-wrap.p-header__nav-modal-wrap--people .p-header__nav-modal {
	max-width: 9.9375rem;
}

.p-header__nav-modal-wrap.p-header__nav-modal-wrap--about .p-header__nav-modal {
	max-width: 12.875rem;
}

.p-header__nav-modal-wrap.p-header__nav-modal-wrap--recruit .p-header__nav-modal {
	max-width: 10.5rem;
}

.p-header__nav-modal-wrap:hover > .p-header__nav-modal {
	opacity: 1;
	transform: rotateX(0deg);
	visibility: visible;
}

.p-header__nav-modal-item + .p-header__nav-modal-item {
	margin-top: 1.5rem;
}

.p-header__nav-modal-item a {
	display: block;
	font-weight: 400;
	letter-spacing: 0.011em;
	line-height: 1;
	position: relative;
	transition: 0.3s;
}

.p-header__nav-modal-item a:hover {
	color: #017CC9;
}

.p-header__nav-list li {
	transition: 0.3s;
}

.p-header__nav-list li:hover {
	transition: 0.3s;
}

.p-header__nav-list li:hover p {
	-webkit-text-decoration: underline;
	text-decoration: underline;
	text-decoration-color: rgba(15, 21, 36, 0.3);
	text-underline-offset: 0.4375rem;
}

.p-header__nav-item.p-header__nav-item--contact a {
	background: #017CC9;
	border-radius: 1.875rem;
	color: #fff;
	font-size: 1.125rem;
	overflow: hidden;
	padding: 1.0625rem 1.875rem;
	padding-right: 5.4375rem;
	position: relative;
	text-align: center;
	z-index: 1;
}

.p-header__nav-item.p-header__nav-item--contact a::before {
	background-image: url(../images/common/arrow1.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1.25rem;
	position: absolute;
	right: 1.9375rem;
	top: 49%;
	transform: translateY(-50%);
	width: 1.875rem;
}

.p-header__nav-item.p-header__nav-item--contact a::after {
	background: #0F1524;
	border-radius: 1.875rem;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
	width: 100%;
	z-index: -1;
}

.p-header__nav-item.p-header__nav-item--contact a:hover {
	color: #FFFFFF;
}

.p-header__nav-item.p-header__nav-item--contact a:hover::after {
	transform: scale(1, 1);
}

.p-header__nav-item.p-header__nav-item--contact a span {
	bottom: 0;
	display: inline-block;
	height: 0.5rem;
	overflow: hidden;
	position: absolute;
	right: 2.625rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.p-header__nav-item.p-header__nav-item--contact a span:before,
.p-header__nav-item.p-header__nav-item--contact a span:after {
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
	background-image: url(../images/common/arrow-black.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.5rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.p-header__nav-item.p-header__nav-item--contact a span:after {
	transform: translate(-100%, -50%);
}

.p-header__nav-item.p-header__nav-item--contact a:hover span:before {
	animation-delay: 0s;
	animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
}

.p-header__nav-item.p-header__nav-item--contact a:hover span:after {
	animation-delay: 0.1s;
	animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
}

.p-header__entry a {
	background-color: #017CC9;
	border-radius: 1.875rem;
	color: #fff;
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.8;
	max-width: 9.0625rem;
	padding: 0.5rem 1.3125rem;
	padding-right: 3.625rem;
	position: relative;
	text-align: center;
	width: 100%;
}

.p-header__entry a::before {
	background-image: url(../images/common/arrow1.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1rem;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
}

.p-header__hamburger {
	background-color: #0F1524;
	border: none;
	border-radius: 2.5rem;
	cursor: pointer;
	height: 3.3125rem;
	margin: 0;
	margin-left: 0.6875rem;
	outline: none;
	padding: 0;
	position: relative;
	transition: 0.3s;
	width: 5.3125rem;
	z-index: 999;
}

.p-header__hamburger.is-active {
	background-color: #FFFFFF;
}

.p-header__hamburger span {
	background-color: #fff;
	display: block;
	height: 1px;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	transition: 0.5s;
	width: 1.3125rem;
}

.p-header__hamburger.is-active span {
	background-color: #0F1524;
}

.p-header__hamburger span:nth-of-type(1) {
	top: -0.3125rem;
}

.p-header__hamburger span:nth-of-type(2) {
	top: 0.3125rem;
}

.p-header__hamburger.is-active span:nth-of-type(1) {
	top: 0;
	transform: translateX(-50%) rotate(45deg);
}

.p-header__hamburger.is-active span:nth-of-type(2) {
	top: -0.0625rem;
	transform: translateX(-50%) rotate(-45deg);
}

.p-hero {
	padding-top: 16.25rem;
	position: relative;
}

.p-hero::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: 1;
}

.p-hero::after {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-hero__inner {
	position: relative; /* 子要素の位置指定の基準 */
}

.p-hero__content {
	max-width: 61.3125rem;
	padding-left: 2.9vw;
}

.p-hero__en-title {
	font-size: 1.375rem;
	font-weight: normal;
}

.p-hero__main-title {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.2;
	margin-top: 0.8125rem;
	max-width: 56.875rem;
	width: 100%;
}

.p-hero__main-title svg {
	height: 100%;
	width: 100%;
}

.p-hero__bottom {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	margin-left: auto;
	margin-top: 1.125rem;
	max-width: 30.8125rem;
}

.p-hero__bottom svg {
	height: 100%;
	width: 100%;
}

.p-hero__line {
	background-color: #333;
	height: 1px;
	margin-right: 1.875rem;
	width: 12.5rem;
}

.p-hero__sub-title {
	font-size: 1.125rem;
}

.p-hero__images {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 6.5rem;
	max-width: none; /* l-innerの制約を解除 */
	position: relative;
	width: 100vw; /* ビューポート幅いっぱいに */
	z-index: 1;
}

.p-hero__main-image {
	height: 40rem;
	width: 100%;
}

.p-hero__main-image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-hero__sub-images {
	display: flex;
	position: absolute;
	right: 2.5rem;
	top: -24.3125rem;
	z-index: 1;
}

.p-hero__sub-image--hand {
	margin-right: 1.9375rem;
	margin-top: 5.5625rem;
	max-width: 19.6875rem;
	width: 100%;
}

.p-hero__sub-image--bridge {
	max-width: 18.3125rem;
	width: 100%;
}

.p-hero__sub-image--hand img {
	aspect-ratio: 315/381;
	border-radius: 0.416875rem;
}

.p-hero__sub-image--bridge img {
	aspect-ratio: 293/360;
}

/* SPで改行表示するためのユーティリティクラス */

.u-display-sp {
	display: none;
}

.p-info-message {
	border-top: 1px solid #e5e7eb;
	position: relative;
}

.p-info-message::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-info-message::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
}

.p-info-message__inner {
	position: relative;
}

.p-info-message__inner::before {
	color: #0F1524;
	content: "message";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.25rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: 5.375rem;
	writing-mode: vertical-rl;
}

.p-info-message__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.0625rem;
	position: absolute;
	top: 3.875rem;
	width: 0.5rem;
}

.p-info-message__content {
	display: flex;
}

.p-info-message__title-wrap {
	max-width: 55rem;
	padding: 6.25rem 2.5rem;
	width: 50%;
}

.p-info-message__title {
	width: 38.0833333333rem;
}

.p-info-message__text-wrap {
	border-left: 1px solid #e5e7eb;
	color: #000;
	letter-spacing: 0.04em;
	line-height: 2.2;
	max-width: 55rem;
	padding-bottom: 7.875rem;
	padding-top: 7.9375rem;
	width: 50%;
}

.p-info-message__text + .p-info-message__text {
	margin-top: 1.25rem;
}

.p-info-person {
	border-top: 1px solid #e5e7eb;
	padding: 8.75rem 0;
	position: relative;
}

.p-info-person::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-info-person::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
}

.p-info-person__inner {
	position: relative;
}

.p-info-person__inner::before {
	color: #0F1524;
	content: "person";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.25rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: -3.375rem;
	writing-mode: vertical-rl;
}

.p-info-person__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.0625rem;
	position: absolute;
	top: -4.875rem;
	width: 0.5rem;
}

.p-info-person__flex {
	align-items: center;
	display: flex;
	gap: 5.3333333333rem;
	margin: 0 auto;
	max-width: 91.6666666667rem;
}

.p-info-person__image {
	max-width: 45.8333333333rem;
	width: 100%;
}

.p-info-person__image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-info-person__content {
	flex: 1;
}

.p-info-person__title {
	width: 34.9166666667rem;
}

.p-info-person__text {
	color: #000;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 2.2;
	margin-top: 2.8125rem;
}

.p-info-person__keywords {
	margin: 0 auto;
	margin-top: 3.625rem;
	max-width: 91.6666666667rem;
}

.p-info-person__keywords-title {
	align-items: center;
	color: #000;
	display: flex;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2.2;
}

.p-info-person__keywords-title::before {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	margin-right: 0.65625rem;
	width: 0.5rem;
}

.p-info-person__keywords-list {
	grid-gap: 0.0625rem;
	display: grid;
	gap: 0.0625rem;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 1.125rem;
}

.p-info-person__keyword-item {
	background-color: #FFFFFF;
	border: 1px solid #e5e7eb;
	border-radius: 0.3825rem;
	padding: 4.125rem 1.375rem 3.5625rem;
	text-align: center;
}

.p-info-person__keyword-icon {
	align-items: center;
	display: flex;
	height: 8.0833333333rem;
	justify-content: center;
	margin: 0 auto;
	width: 8.0833333333rem;
}

.p-info-person__keyword-icon img {
	-o-object-fit: contain;
	aspect-ratio: 1/1;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-info-person__keyword-name {
	color: #000;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin-top: 1.5rem;
}

.p-info-person__keyword-text {
	color: #000;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin-top: 1.3125rem;
}

.p-intro-animation {
	--intro-delay: 0s;
	display: inline-block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-intro-animation::after {
	animation: none;
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, #fff 4%);
	content: "";
	display: block;
	height: 110%;
	left: 6%;
	position: absolute;
	top: -3%;
	transform: translateX(-10%);
	width: 110%;
}

.p-intro-animation.p-intro-animation--black::after {
	background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, #0F1524 4%);
}

.p-intro-animation.p-intro-animation--transparent::after {
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
}

.p-intro-animation.is-animated::after {
	animation: intro_slideout 0.5s cubic-bezier(0.82, 0.46, 0.28, 0.88) forwards;
	animation-delay: var(--intro-delay);
	animation-duration: var(--intro-duration);
}

.p-intro-animation svg {
	animation: none;
	opacity: 0;
	transform: translateX(-50vw) rotate(1deg);
}

/* アニメーションをトリガーで発動させる */

.p-intro-animation.is-animated svg {
	animation: intro_animation 0.45s cubic-bezier(0.82, 0.46, 0.28, 0.88) forwards, intro_fadein 0.45s linear forwards;
	animation-delay: var(--intro-delay);
}

.p-intro-animation.\-1 {
	--intro-duration: 0.5s
  @include mq(md) {
      --intro-delay:1.2s;
	--intro-duration: 0.9s;
}

;
}

.p-intro-animation.\-2 {
	--intro-duration: 0.7s;
}

.p-intro-animation.\-3 {
	--intro-duration: 0.6s;
}

.p-job-detail {
	position: relative;
}

.p-job-detail::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-job-detail::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-job-detail__nav-arrow {
	align-items: center;
	background-color: #FFFFFF;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 0.75rem;
	height: 1.25rem;
	justify-content: center;
	position: absolute;
	right: 0.625rem;
	top: 1.125rem;
	width: 1.875rem;
}

/* メインコンテンツ */

.p-job-detail__content {
	padding: 11.1875rem 2.625rem 0;
	padding-right: 0;
	position: relative;
	position: relative;
}

.p-job-detail__content::before {
	color: #0F1524;
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.8125rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	top: 5.375rem;
	writing-mode: vertical-rl;
}

#construction-manager.p-job-detail__content::before {
	content: "Construction management";
}

#administrative.p-job-detail__content::before {
	content: "Office clerk";
}

.p-job-detail__content::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.625rem;
	position: absolute;
	top: 3.875rem;
	width: 0.5rem;
}

.p-job-detail__content-wrap {
	position: relative;
}

.p-job-detail__content-wrap::before {
	background-color: #E5E7EB;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100vw;
}

.p-job-detail__main {
	display: flex;
	gap: 5rem;
	position: relative;
}

.p-job-detail__images {
	left: -0.1875rem;
	position: absolute;
	top: 57.125rem;
}

.p-job-detail__image:nth-child(1) {
	max-width: 21.8125rem;
	width: 100%;
}

.p-job-detail__image:nth-child(2) {
	margin-left: auto;
	margin-right: -3.3125rem;
	margin-top: 4.375rem;
	max-width: 9.6875rem;
	width: 100%;
}

.p-job-detail__left {
	max-width: 48.9375rem;
	width: 100%;
}

.p-job-detail__right {
	max-width: 63.9375rem;
	width: 100%;
}

.p-job-detail__text-wrap {
	padding-right: 2.5rem;
}

.p-job-detail__title {
	max-width: 17.5rem;
	width: 100%;
}

.p-job-detail__text {
	color: #000;
	letter-spacing: 0.04em;
	line-height: 2.2;
}

.p-job-detail__text span {
	color: #017CC9;
}

/* 動画セクション */

.p-job-detail__video {
	margin-top: 4.3125rem;
}

.p-job-detail__video-title {
	color: #000;
	font-weight: 700;
	margin: 0 0 1.5rem 0;
	padding-left: 1.1875rem;
	position: relative;
}

.p-job-detail__video-title::before {
	background: #017CC9;
	border-radius: 50%;
	content: "";
	height: 0.5rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.5rem;
}

.p-job-detail__video-wrapper {
	border-radius: 0.8125rem;
	overflow: hidden;
	width: 100%;
}

/* インタビューセクション */

.p-job-detail__interview {
	margin-top: 12.125rem;
}

.p-job-detail__interview-title {
	color: #0F1524;
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 2rem 0;
	padding-left: 1.25rem;
	position: relative;
}

.p-job-detail__interview-title::before {
	background: #017CC9;
	border-radius: 50%;
	content: "";
	height: 0.5rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.5rem;
}

.p-job-detail__interview-slider-wrap {
	border: 1px solid #E5E7EB;
	border-bottom: none;
	border-right: none;
	padding: 0.8125rem 3.25rem 9.0625rem;
}

.p-job-detail__interview-slider {
	overflow: hidden;
	padding: 2.5rem 1.5rem;
	position: relative;
}

.p-job-detail__interview-slide {
	width: 100%;
}

.p-job-detail__interview-number {
	align-items: center;
	display: flex;
	gap: 0.75rem;
}

.p-job-detail__interview-number::before {
	background: #017CC9;
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 0.375rem;
	width: 0.375rem;
}

.p-job-detail__interview-header {
	margin-top: 2.125rem;
}

.p-job-detail__interview-name {
	color: #000;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.8;
	margin: 0;
}

.p-job-detail__interview-position {
	color: #000;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.8;
}

/* アコーディオン */

.p-job-detail__accordion {
	list-style: none;
	margin: 0;
	margin-top: 2.125rem;
	padding: 0;
}

.p-job-detail__accordion-item + .p-job-detail__accordion-item {
	margin-top: 2.125rem;
}

.p-job-detail__accordion-trigger {
	align-items: center;
	background: #EEEEEE;
	border: none;
	color: #000;
	cursor: pointer;
	display: flex;
	letter-spacing: 0.04em;
	line-height: 1;
	padding: 1.5rem 1.0625rem;
	position: relative;
	text-align: left;
	transition: background-color 0.3s;
	width: 100%;
}

.p-job-detail__accordion-num {
	font-weight: 700;
	margin-right: 0.5rem;
}

.p-job-detail__accordion-question {
	flex: 1;
	font-weight: 700;
}

.p-job-detail__accordion-icon {
	height: 0.875rem;
	position: relative;
	width: 0.875rem;
}

/* ▼アイコン（初期状態） */

.p-job-detail__accordion-icon::before {
	background-image: url(../images/job/accordion-triangle.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 100%;
	transition: transform 0.3s ease;
	width: 100%;
}

/* ▲アイコン（開いた状態で回転） */

.p-job-detail__accordion-trigger.is-open .p-job-detail__accordion-icon::before {
	transform: rotate(180deg);
}

.p-job-detail__accordion-content {
	background: #EEEEEE;
	display: none;
	letter-spacing: 0.04em;
	line-height: 2.2;
	padding: 0 1.5rem 1.5rem;
}

/* インタビューナビゲーション */

.p-job-detail__interview-nav {
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 0 1.5rem;
}

.p-job-detail__interview-prev,
.p-job-detail__interview-next {
	align-items: center;
	color: #000;
	display: flex;
	justify-content: center;
	opacity: 1;
	padding-left: 0;
	padding-right: 0;
	pointer-events: auto;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	transition: opacity 0.3s ease;
	visibility: visible;
}

.p-job-detail__interview-prev span {
	border-bottom: 1px solid #E5E7EB;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.8;
}

.p-job-detail__interview-prev::before {
	background-image: url(../images/job/arrow-right.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 1.25rem;
	margin-right: 1.25rem;
	transform: rotate(180deg);
	width: 1.875rem;
}

.p-job-detail__interview-next span {
	border-bottom: 1px solid #E5E7EB;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.8;
}

.p-job-detail__interview-next::after {
	background-image: url(../images/job/arrow-right.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 1.25rem;
	margin-left: 1.25rem;
	width: 1.875rem;
}

.is-hidden {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.p-job-detail__interview-next:hover,
.p-job-detail__interview-prev:hover {
	opacity: 0.7;
}

.p-job-other {
	position: relative;
}

.p-job-other::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-job-other::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-job-other__inner {
	position: relative;
}

.p-job-other__inner::before {
	color: #0F1524;
	content: "other";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.3125rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: 5rem;
	writing-mode: vertical-rl;
}

.p-job-other__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.125rem;
	position: absolute;
	top: 3.75rem;
	width: 0.5rem;
}

.p-job-other__content {
	padding: 5.5rem 3.5rem 7.875rem;
	padding-right: 6.875rem;
}

.p-job-other__title {
	max-width: 15.75rem;
	width: 100%;
}

.p-job-other__title img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-job-other__items {
	margin-top: 2.1875rem;
	padding-left: 4.25rem;
}

.p-job-other__item {
	display: flex;
	gap: 3.3125rem;
}

.p-job-other__item + .p-job-other__item {
	margin-top: 4rem;
}

.p-job-other__item-image {
	max-width: 30rem;
	width: 100%;
}

.p-job-other__item-image img {
	-o-object-fit: cover;
	aspect-ratio: 360/245;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-job-other__item-body {
	max-width: 58.3125rem;
	width: 100%;
}

.p-job-other__item-title {
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2.2;
}

.p-job-other__item-text {
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 2.2;
}

/* 仕事を知るセクション */

.p-job {
	background-color: #0F1524;
	color: #FFFFFF;
	padding: 8.5rem 0;
	position: relative;
}

.p-job__inner {
	position: relative;
}

.p-job::before {
	color: #FFFFFF;
	content: "job";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: 2rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: 5rem;
	writing-mode: vertical-rl;
}

.p-job::after {
	background-color: #FFFFFF;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: 2.25rem;
	position: absolute;
	top: 3.5rem;
	width: 0.5rem;
}

.p-job__title {
	font-size: 2.5rem;
	font-weight: bold;
	margin-left: auto;
	margin-right: auto;
	max-width: 23.3125rem;
	text-align: center;
}

.p-job__title svg {
	height: 100%;
	width: 100%;
}

.p-job__lead {
	letter-spacing: 0.04em;
	line-height: 2;
	margin-top: 1.875rem;
	text-align: center;
}

.p-job__list {
	display: flex;
	gap: 3.3125rem;
	margin-top: 5.875rem;
}

.p-job__item {
	width: 50%;
}

/* YouTubeサムネイル */

.youtube-thumbnail {
	border-radius: 0.8125rem;
	cursor: pointer;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.youtube-thumbnail img {
	-o-object-fit: cover;
	aspect-ratio: 851/480;
	border-radius: 0.8125rem;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
	width: 100%;
}

/* 再生中ではない場合のホバーエフェクト */

.youtube-thumbnail:not(.is-playing):hover img {
	transform: scale(1.05);
}

/* 再生ボタン */

.youtube-play-button {
	align-items: center;
	display: flex;
	height: 2.375rem;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: background-color 0.3s ease, transform 0.3s ease;
	width: 3.3125rem;
}

.youtube-thumbnail:not(.is-playing):hover .youtube-play-button {
	transform: translate(-50%, -50%) scale(1.1);
}

/* 再生中の状態 */

.youtube-thumbnail.is-playing {
	cursor: default;
}

.youtube-thumbnail.is-playing::before {
	background-color: rgba(0, 0, 0, 0.7);
	border-radius: 50%;
	content: "";
	cursor: pointer;
	height: 2.5rem;
	opacity: 0;
	position: absolute;
	right: 10px;
	top: 10px;
	transition: opacity 0.3s ease;
	width: 2.5rem;
	z-index: 5;
}

.youtube-thumbnail.is-playing::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M6 19h4V5H6v14zm8-14v14h4V5h-4z'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.9375rem;
	opacity: 0;
	position: absolute;
	right: 10px;
	top: 10px;
	transition: opacity 0.3s ease;
	width: 0.9375rem;
	z-index: 6;
}

.youtube-thumbnail.is-playing:hover::before,
.youtube-thumbnail.is-playing:hover::after {
	opacity: 1;
}

/* YouTubeのiframeスタイル */

.youtube-thumbnail iframe {
	border: none;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.p-job__content {
	padding: 2.9375rem 2.6875rem 0;
}

.p-job__name {
	max-width: 15.75rem;
	width: 100%;
}

.p-job__en {
	color: #FFFFFF;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	margin-top: 1.625rem;
}

.p-job__text {
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.375rem;
}

.p-job__btn-wrap {
	margin-top: 7.625rem;
	text-align: center;
}

/* 再生中のYouTube埋め込み */

.youtube-thumbnail.is-playing {
	aspect-ratio: 16/9;
	cursor: default; /* 再生中はカーソルをデフォルトに戻す */
	overflow: hidden;
	position: relative;
	width: 100%;
}

.youtube-thumbnail.is-playing iframe {
	border: none;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2; /* 他の要素より前面に */
}

.p-links {
	padding-bottom: 7.875rem;
	position: relative;
}

.p-links::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-links::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-links__items {
	border-bottom: 1px solid #e5e7eb;
	border-top: 1px solid #e5e7eb;
	display: flex;
	flex-wrap: wrap;
}

.p-links__item {
	background-color: #FFFFFF;
	width: 33.3333333333%;
}

.p-links__item:not(:last-child) {
	border-right: 1px solid #e5e7eb;
}

.p-links__item a {
	display: block;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.8;
	padding: 4.8125rem 0;
	text-align: center;
	transition: background-color 0.3s ease;
}

.p-links__item a span {
	position: relative;
}

.p-links__item a span::after {
	background-image: url(../images/job/arrow-right.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1.25rem;
	position: absolute;
	right: -3.0625rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.875rem;
}

.p-links__item a:hover {
	background-color: #e5e7eb;
}

/* ローディング全体の表示エリア */

.p-loading {
	align-items: center;
	background-color: #0F1524;
	display: flex;
	height: 100vh;
	justify-content: center;
	left: 0;
	position: fixed;
	top: 0;
	transition: opacity 1.1s 2.2s cubic-bezier(0.44, 0.14, 0.09, 1.02);
	width: 100%;
	z-index: 5000;
}

/* 読み込み終了後にフェードアウト */

.p-loading.loading-active {
	opacity: 0;
	pointer-events: none;
}

/* テキスト部分の装飾 */

.p-loading__txt {
	font-feature-settings: "palt" on;
	text-align: center;
}

/* スパン内テキスト（アニメーション前） */

.p-loading__txt span {
	color: #535a5c;
	display: inline-block;
	position: relative;
}

/* 上から重ねている白いテキスト（アニメーション用） */

.p-loading__txt span::after {
	-webkit-clip-path: inset(0 100% 0 0);
	background-image: url(../images/common/loading-text-white.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	clip-path: inset(0 100% 0 0);
	content: attr(data-txt);
	display: inline-block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: -webkit-clip-path 1s 0s cubic-bezier(0.44, 0.14, 0.09, 1.02);
	transition: clip-path 1s 0s cubic-bezier(0.44, 0.14, 0.09, 1.02);
	transition: clip-path 1s 0s cubic-bezier(0.44, 0.14, 0.09, 1.02), -webkit-clip-path 1s 0s cubic-bezier(0.44, 0.14, 0.09, 1.02);
	width: 100%;
}

/* 2つ目以降のテキストに遅延 */

.p-loading__txt span.--02::after {
	transition-delay: 0.5s;
}

/* ローディング終了時にclip-path全開で表示 */

.p-loading.loading-active .p-loading__txt span::after {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}

.p-members {
	background-color: #FFFFFF;
	position: relative;
}

.p-members__inner {
	padding-bottom: 8.9375rem;
	padding-top: 10.5625rem;
}

.p-members::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-members::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
}

.p-members__content {
	padding-left: 5rem;
	padding-right: 5rem;
}

.p-members__title {
	color: #0F1524;
	font-weight: 700;
	line-height: 1;
}

.p-members__list {
	-moz-column-gap: 1.4375rem;
	column-gap: 1.4375rem;
	display: flex;
	justify-content: center;
	margin-top: 2.3125rem;
	padding-left: 1.6875rem;
	row-gap: 3.75rem;
}

.p-members__item {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	height: auto;
	padding-right: 1.4375rem;
	padding-top: 0.4375rem;
	position: relative;
	text-align: center;
	width: 20%;
}

.p-members__item:not(:last-child)::after {
	background-color: rgba(15, 21, 36, 0.2);
	bottom: 0;
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 1px;
}

.p-members__item .p-members__image-wrap,
.p-members__item .p-members__tenure,
.p-members__item .p-members__position,
.p-members__item .p-members__name {
	flex: 0 0 auto; /* 固定表示 */
}

.p-members__info {
	align-items: center;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.p-members__image-wrap {
	position: relative;
}

.p-members__image {
	background-color: #f0f0f0;
	border-radius: 50%;
	height: 5.625rem;
	margin: 0 auto;
	overflow: hidden;
	width: 5.625rem;
}

.p-members__image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-members__tenure {
	color: #0F1524;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.7;
	margin-top: 0.375rem;
}

.p-members__position {
	color: #0F1524;
	flex-grow: 1;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.7;
}

.p-members__name {
	color: #0F1524;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	margin-top: 0.6875rem;
}

.p-members__description {
	color: #0F1524;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.7;
	margin-top: auto;
	text-align: left;
}

.p-members__big-image {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 9.25rem;
	position: relative;
	width: 100vw;
	z-index: 2;
}

.p-members__big-image img {
	-o-object-fit: cover;
	-o-object-position: center;
	aspect-ratio: 1440/448;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

/* メッセージセクション */

.p-message-to-fellow {
	background-color: #FFFFFF;
	border-top: 1px solid #e5e7eb;
	padding: 5rem 0 6.5rem;
	position: relative;
}

.p-message-to-fellow::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-message-to-fellow::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
}

.p-message-to-fellow__inner {
	position: relative;
}

.p-message-to-fellow__inner::before {
	color: #0F1524;
	content: "talk05";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.25rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: 5.375rem;
	writing-mode: vertical-rl;
}

.p-message-to-fellow__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.0625rem;
	position: absolute;
	top: 3.875rem;
	width: 0.5rem;
}

.p-message-to-fellow__content {
	margin: 0 auto;
	max-width: 73.4375rem;
	position: relative;
}

/* タイトル */

.p-message-to-fellow__title {
	margin: 0 auto;
	max-width: 59.1875rem;
	width: 100%;
}

/* メッセージリスト */

.p-message-to-fellow__list {
	display: flex;
	flex-direction: column;
	gap: 1.6875rem;
	margin-top: 5.5625rem;
}

/* 各メッセージアイテム */

.p-message-to-fellow__item {
	align-items: flex-end;
	display: flex;
	gap: 2.625rem;
}

.p-message-to-fellow__item--left {
	justify-content: flex-start;
	padding-right: 0.8125rem;
}

.p-message-to-fellow__item--right {
	flex-direction: row-reverse;
	justify-content: flex-end;
	padding-left: 0.8125rem;
}

/* 人物情報 */

.p-message-to-fellow__person {
	align-items: center;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 0.5rem;
}

.p-message-to-fellow__avatar {
	-o-object-fit: cover;
	border-radius: 50%;
	height: 7.375rem;
	object-fit: cover;
	width: 7.375rem;
}

.p-message-to-fellow__name {
	color: #000;
	white-space: nowrap;
}

.p-message-to-fellow__name span {
	color: #000;
	white-space: nowrap;
}

/* 吹き出し */

.p-message-to-fellow__bubble {
	background-color: #017CC9;
	border-radius: 0.3125rem;
	color: #FFFFFF;
	margin-bottom: 2.625rem;
	max-width: 65.9375rem;
	padding: 2.8125rem 2.75rem;
	position: relative;
}

.p-message-to-fellow__item--left .p-message-to-fellow__bubble::before {
	border-color: transparent #017CC9 transparent transparent;
	border-style: solid;
	border-width: 0.625rem 0.625rem 0.625rem 0;
	bottom: 2.5rem;
	content: "";
	height: 0;
	left: -0.5625rem;
	position: absolute;
	width: 0;
}

.p-message-to-fellow__item--right .p-message-to-fellow__bubble::after {
	border-color: transparent transparent transparent #017CC9;
	border-style: solid;
	border-width: 0.625rem 0 0.625rem 0.625rem;
	bottom: 2.5rem;
	content: "";
	height: 0;
	position: absolute;
	right: -0.5625rem;
	width: 0;
}

.p-message-to-fellow__bubble-title {
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 2;
}

.p-message-to-fellow__bubble-text {
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin-top: 0.3125rem;
}

/* アニメーション遅延 */

.p-message-to-fellow__item:nth-child(1) {
	transition-delay: 0.1s;
}

.p-message-to-fellow__item:nth-child(2) {
	transition-delay: 0.2s;
}

.p-message-to-fellow__item:nth-child(3) {
	transition-delay: 0.3s;
}

.p-message-to-fellow__item:nth-child(4) {
	transition-delay: 0.4s;
}

.p-message-to-fellow__item:nth-child(5) {
	transition-delay: 0.5s;
}

.p-message {
	border-bottom: 1px solid #e5e7eb;
	border-top: 1px solid #e5e7eb;
	overflow: hidden;
	padding: 5rem 0;
	position: relative;
}

.p-message::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: calc(100% + 10rem);
	left: 5rem;
	position: absolute;
	top: -5rem;
	width: 1px;
}

.p-message::after {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: calc(100% + 10rem);
	position: absolute;
	right: 5rem;
	top: -5rem;
	width: 1px;
	z-index: -1;
}

.p-message__inner {
	position: relative;
}

.p-message__inner::before {
	color: #0F1524;
	content: "message";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.3125rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: 5rem;
	writing-mode: vertical-rl;
}

.p-message__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.125rem;
	position: absolute;
	top: 3.5rem;
	width: 0.5rem;
}

.p-message__content {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.p-message__content::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
}

.p-message__content::after {
	background-color: #e5e7eb;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100vw;
}

.p-message__title {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.4;
	max-width: 27.6875rem;
	padding-bottom: 10.75rem;
	padding-left: 3.5rem;
	padding-top: 9.125rem;
	width: 100%;
}

.p-message__title svg {
	height: 100%;
	width: 100%;
}

.p-message__text {
	border-left: 1px solid #e5e7eb;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 2;
	max-width: 36.6875rem;
	padding: 9.25rem 0 11.4375rem;
	width: 100%;
}

.p-message__carousel {
	margin-top: 5rem;
	padding-bottom: 7.75rem;
	position: relative;
	width: 100%;
}

.p-message__carousel::after {
	background-color: #e5e7eb;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100vw;
}

.p-message__carousel-inner {
	position: relative;
	width: 100%;
}

.p-message__carousel-track {
	animation: carousel-scroll 60s linear infinite;
	display: flex;
	gap: 2.8125rem;
	width: -moz-max-content;
	width: max-content;
}

.p-message__carousel-slide {
	flex: 0 0 auto;
	width: 28.59vw;
}

.p-message__carousel-slide img {
	-o-object-fit: cover;
	aspect-ratio: 549/355;
	border-radius: 0.5rem;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-message__carousel-slide:nth-child(even) {
	margin-bottom: -2.75rem;
	margin-top: 2.75rem;
}

.slide-offset-middle {
	margin-top: 0.9375rem;
}

.slide-offset-down {
	margin-top: 1.875rem;
}

/* アニメーション定義 */

.p-people-movie {
	background-color: #FFFFFF;
	border-top: 1px solid #e5e7eb;
	padding: 3.5rem 0 8rem;
	position: relative;
}

.p-people-movie::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-people-movie::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
}

.p-people-movie__list {
	display: flex;
	gap: 1.25rem;
}

.p-people-movie__title {
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2.2;
	text-align: center;
}

.p-people-movie__thumbnail {
	margin-top: 1.0625rem;
}

.p-people {
	border-top: 0.0625rem solid #e5e7eb;
	margin-top: 5rem;
	padding: 5rem 0;
	position: relative;
}

.p-people::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: calc(100% + 5rem);
	left: 5rem;
	position: absolute;
	top: -5rem;
	width: 1px;
}

.p-people::after {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: calc(100% + 5rem);
	position: absolute;
	right: 5rem;
	top: -5rem;
	width: 1px;
	z-index: -1;
}

.p-people__inner {
	position: relative;
}

.p-people__inner::before {
	color: #0F1524;
	content: "people";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.3125rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: 0.1875rem;
	writing-mode: vertical-rl;
}

.p-people__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.125rem;
	position: absolute;
	top: -1.3125rem;
	width: 0.5rem;
}

.p-people__content {
	padding: 13.75rem 3.5rem 12.1875rem;
	position: relative;
	z-index: 2;
}

.p-people__title {
	max-width: 18.5625rem;
	width: 100%;
}

.p-people__title svg {
	height: 100%;
	width: 100%;
}

.p-people__subtitle {
	margin-top: 4.4375rem;
	max-width: 17.1875rem;
	width: 100%;
}

.p-people__subtitle svg {
	height: 100%;
	width: 100%;
}

.p-people__description {
	margin-top: 1.25rem;
	max-width: 35.1875rem;
}

.p-people__description svg {
	height: 100%;
	width: 100%;
}

.p-people__button-wrap {
	margin-top: 3.75rem;
}

.p-people__image {
	border-radius: 0.625rem;
	height: 100%;
	max-width: calc(100vw - 10.125rem);
	position: absolute;
	right: 50%;
	top: 0;
	transform: translateX(50%);
	width: 100%;
	z-index: -1;
}

.p-people__image picture,
.p-people__image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-reasons {
	background-color: #FFFFFF;
	border-top: 1px solid #e5e7eb;
	position: relative;
	z-index: 0;
}

.p-reasons::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-reasons::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-reasons__hero {
	height: 40.6875rem;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 6.9375rem;
	position: relative;
	width: 100vw;
	z-index: 1;
}

.p-reasons__hero img {
	-o-object-fit: cover;
	aspect-ratio: 1440/488;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-reasons__list {
	padding-bottom: 7.6875rem;
	position: relative;
}

.p-reasons__list::before {
	color: #0F1524;
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.9375rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: 5.375rem;
	writing-mode: vertical-rl;
}

.p-reasons__list:nth-child(1)::before {
	content: "talk01";
}

.p-reasons__list:nth-child(2)::before {
	content: "talk02";
}

.p-reasons__list:nth-child(3)::before {
	content: "talk03";
}

.p-reasons__list:nth-child(4)::before {
	content: "talk04";
}

.p-reasons__list::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.8125rem;
	position: absolute;
	top: 3.875rem;
	width: 0.5rem;
}

.p-reasons__container {
	align-items: flex-start;
	border-bottom: 1px solid #e5e7eb;
	display: flex;
	position: relative;
}

.p-reasons__list + .p-reasons__list .p-reasons__container::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
}

.p-reasons__title-wrap {
	max-width: 45.8125rem;
	padding-left: 3.6875rem;
	padding-top: 6.75rem;
	width: 100%;
}

.p-reasons__title {
	max-width: 21.9375rem;
	width: 100%;
}

.p-reasons__list:nth-child(2) .p-reasons__title {
	max-width: 28rem;
}

.p-reasons__list:nth-child(3) .p-reasons__title {
	max-width: 26.5rem;
}

.p-reasons__list:nth-child(4) .p-reasons__title {
	max-width: 36.6875rem;
}

.p-reasons__content-wrap {
	border-left: 1px solid #e5e7eb;
	max-width: 64.1875rem;
	padding-bottom: 5.1875rem;
	padding-right: 7.25rem;
	padding-top: 8.375rem;
	width: 100%;
}

.p-reasons__lead {
	max-width: 45.8125rem;
	width: 100%;
}

.p-reasons__list:nth-child(2) .p-reasons__lead {
	max-width: 56.5rem;
}

.p-reasons__list:nth-child(3) .p-reasons__lead {
	max-width: 56.5rem;
}

.p-reasons__list:nth-child(4) .p-reasons__lead {
	max-width: 52.9375rem;
}

.p-reasons__lead img {
	-o-object-fit: contain;
	aspect-ratio: 587/102;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-reasons__list:nth-child(2) .p-reasons__lead img {
	aspect-ratio: 678/102;
}

.p-reasons__list:nth-child(3) .p-reasons__lead img {
	aspect-ratio: 678/102;
}

.p-reasons__list:nth-child(4) .p-reasons__lead img {
	aspect-ratio: 635/102;
}

.p-reasons__items {
	margin-top: 6.125rem;
}

.p-reasons__item {
	align-items: flex-start;
	display: flex;
	gap: 2.6875rem;
}

.p-reasons__item + .p-reasons__item {
	margin-top: 2.5rem;
}

.p-reasons__person {
	align-items: center;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 0.75rem;
}

.p-reasons__image {
	border-radius: 50%;
	height: 5rem;
	overflow: hidden;
	width: 5rem;
}

.p-reasons__image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-reasons__name {
	color: #000;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1;
	margin-top: 0.3125rem;
	text-align: center;
}

.p-reasons__text {
	flex: 1;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 2;
}

.p-recruit {
	background-color: #fff;
	padding: 12.5rem 0;
	position: relative;
}

.p-recruit::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-recruit::after {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: 1;
}

.p-recruit__inner {
	position: relative;
}

.p-recruit__inner::before {
	color: #0F1524;
	content: "recruit information";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.3125rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: -7.75rem;
	writing-mode: vertical-rl;
}

.p-recruit__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.125rem;
	position: absolute;
	top: -9.25rem;
	width: 0.5rem;
}

.p-recruit__flex {
	display: flex;
	justify-content: space-between;
	padding-left: 3.5rem;
	padding-right: 3.4375rem;
}

.p-recruit__content {
	max-width: 75.3125rem;
	width: 100%;
}

.p-recruit__title {
	max-width: 19.5rem;
	width: 100%;
}

.p-recruit__title svg {
	height: 100%;
	width: 100%;
}

.p-recruit__text {
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 2;
	margin-top: 6.8125rem;
}

.p-recruit__buttons {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	max-width: 31.3125rem;
	padding-top: 0.5rem;
	width: 100%;
}

.p-recruit__button a {
	background-color: #0F1524;
	border-radius: 2.5rem;
	color: #FFFFFF;
	display: block;
	font-size: 1.25rem;
	font-weight: regular;
	justify-content: space-between;
	letter-spacing: 0.01em;
	line-height: 1.8;
	overflow: hidden;
	padding: 1.3125rem 2.5rem;
	position: relative;
	transition: 0.3s;
	width: 100%;
	z-index: 1;
}

.p-recruit__button a::before {
	background-image: url(../images/common/common-arrow2.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1.6875rem;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.5rem;
}

.p-recruit__button a::after {
	background: #017CC9;
	border-radius: 1.875rem;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
	width: 100%;
	z-index: -1;
}

.p-recruit__button a:hover {
	color: #FFFFFF;
}

.p-recruit__button a:hover::after {
	transform: scale(1, 1);
}

.p-recruit__button a span {
	bottom: 0;
	display: inline-block;
	height: 0.5rem;
	overflow: hidden;
	position: absolute;
	right: 3.375rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.p-recruit__button a span:before,
.p-recruit__button a span:after {
	-webkit-mask-image: url(../images/common/arrow-white.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
	background: #0F1524;
	content: "";
	height: 0.5rem;
	mask-image: url(../images/common/arrow-white.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.p-recruit__button a span:after {
	background: #0F1524;
}

.p-recruit__button a span:after {
	transform: translate(-100%, -50%);
}

.p-recruit__button a:hover span:before {
	animation-delay: 0s;
	animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
}

.p-recruit__button a:hover span:after {
	animation-delay: 0.1s;
	animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
}

.p-requirements {
	position: relative;
}

.p-requirements::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.p-requirements::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-requirements__inner {
	position: relative;
}

.p-requirements__inner::before {
	color: #0F1524;
	content: "job description";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.25rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: 11.1875rem;
	writing-mode: vertical-rl;
}

.p-requirements__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.0625rem;
	position: absolute;
	top: 9.6875rem;
	width: 0.5rem;
}

.p-requirements__inner {
	position: relative;
}

.p-requirements__tabs {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.p-requirements__content {
	display: none;
	padding: 7rem 3.5rem 11.6666666667rem;
}

.p-requirements__content.is-show {
	animation: fade 0.5s;
	display: block;
}

.p-requirements__list {
	margin: 0 auto;
	max-width: 73.3333333333rem;
}

.p-requirements__item {
	border-top: 1px solid #e5e7eb;
	display: flex;
	justify-content: space-between;
	padding: 1.5rem 0.5rem;
	position: relative;
}

.p-requirements__item:last-child {
	border-bottom: 1px solid #e5e7eb;
}

.p-requirements__item::before {
	background-color: #017CC9;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: -1px;
	width: 10.9166666667rem;
}

.p-requirements__item:last-child::after {
	background-color: #017CC9;
	bottom: -1px;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 10.9166666667rem;
}

.p-requirements__term {
	color: #0F1524;
	flex-shrink: 0;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.8;
	width: 10.9166666667rem;
}

.p-requirements__description {
	flex: 1;
	max-width: 53.4166666667rem;
}

.p-requirements__subtitle,
.p-requirements__sub-item,
.p-requirements__text {
	color: #0F1524;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.8;
}

.p-requirements__sub-item {
	padding-left: 1.875rem;
}

.p-requirements__text + .p-requirements__subtitle {
	margin-top: 1.5625rem;
}

.p-requirements__text--small {
	color: #666;
	font-size: 0.875rem;
	margin-top: 0.5rem;
}

.p-requirements__bullet-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-requirements__bullet-list li {
	color: #0F1524;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.8;
	padding-left: 1.25rem;
	position: relative;
}

.p-requirements__bullet-list li:not(:first-child) {
	margin-top: 0.5rem;
}

.p-requirements__bullet-list li::before {
	content: "・";
	left: 0;
	position: absolute;
	top: 0;
}

.p-requirements__number-list {
	counter-reset: item;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-requirements__number-list li {
	color: #0F1524;
	counter-increment: item;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.8;
	padding-left: 1.875rem;
	position: relative;
}

.p-requirements__number-list li:not(:first-child) {
	margin-top: 0.5rem;
}

.p-requirements__number-list li::before {
	content: counter(item) ".";
	left: 0;
	position: absolute;
	top: 0;
}

.p-requirements__salary {
	margin-top: 2rem;
}

.p-requirements__salary-title {
	color: #222;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.8;
}

.p-requirements__text + .p-requirements__salary-title {
	margin-top: 1.5rem;
}

.p-requirements__text + .p-requirements__text {
	margin-top: 1.5rem;
}

.p-requirements__salary-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-requirements__salary-list li {
	color: #0F1524;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.8;
	padding-left: 1.25rem;
	position: relative;
}

.p-requirements__salary-list li:not(:first-child) {
	margin-top: 0.5rem;
}

.p-requirements__salary-list li::before {
	content: "・";
	left: 0;
	position: absolute;
	top: 0;
}

.p-requirements__salary-model {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-requirements__salary-model li {
	color: #0F1524;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.8;
	padding-left: 1.25rem;
	position: relative;
}

.p-requirements__salary-model li:not(:first-child) {
	margin-top: 0.5rem;
}

.p-requirements__salary-model li::before {
	content: "・";
	left: 0;
	position: absolute;
	top: 0;
}

.p-sub-hero {
	padding-bottom: 6.875rem;
	padding-top: 7.5rem;
	position: relative;
}

.p-sub-hero.p-sub-hero--job {
	padding-bottom: 0;
}

.p-sub-hero__inner {
	position: relative;
}

.p-sub-hero::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-sub-hero::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -2;
}

.p-sub-hero__content {
	padding-top: 5.1875rem;
}

.p-sub-hero__title {
	max-width: 24.125rem;
	padding-left: 2.5rem;
}

.p-sub-hero.p-sub-hero--person .p-sub-hero__title {
	max-width: 22.9166666667rem;
}

.p-sub-hero.p-sub-hero--info .p-sub-hero__title {
	max-width: 23.6666666667rem;
}

.p-sub-hero.p-sub-hero--question .p-sub-hero__title {
	max-width: 24rem;
}

.p-sub-hero__title svg {
	height: 100%;
	width: 100%;
}

.p-sub-hero__breadcrumb {
	margin-top: 2.9375rem;
	padding-left: 2.5rem;
}

.p-sub-hero__breadcrumb-wrap {
	border: 1px solid rgba(15, 21, 36, 0.2);
	border-radius: 1.875rem;
	padding: 0.5625rem 1.125rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-sub-hero__image-wrap {
	height: 43.75rem;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 3rem;
	position: relative;
}

.p-sub-hero__image-wrap--people {
	height: auto;
	margin-top: 5rem;
	position: relative;
}

.p-sub-hero__image-wrap--people::before {
	color: #FFFFFF;
	content: "message";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: 2rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	top: 5.375rem;
	writing-mode: vertical-rl;
}

.p-sub-hero__image-wrap--people::after {
	background-color: #FFFFFF;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: 2.125rem;
	position: absolute;
	top: 3.875rem;
	width: 0.5rem;
}

.p-sub-hero__image {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.p-sub-hero__image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-sub-hero__text-wrap {
	height: 100%;
	max-width: calc(34.6875rem + 11.8%);
	padding-bottom: 72px;
	padding-left: 11.8%;
	padding-top: 168px;
	width: 100%;
}

.p-sub-hero__sub-title {
	max-width: 31.3125rem;
	width: 100%;
}

.p-sub-hero__sub-title svg {
	height: auto;
	width: 100%;
}

.p-sub-hero__main-title {
	margin-top: 1.375rem;
	max-width: 28.1875rem;
	width: 100%;
}

.p-sub-hero__main-title svg {
	height: auto;
	width: 100%;
}

.p-sub-hero__title-text {
	color: #FFFFFF;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.9;
	margin-top: 3.125rem;
}

.p-sub-hero__text {
	color: #FFFFFF;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 2.2;
	margin-top: 3.125rem;
}

.c-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.c-breadcrumb__item {
	color: #0F1524;
	line-height: 1;
}

.c-breadcrumb__item:not(:last-child)::after {
	color: rgba(0, 0, 0, 0.3);
	content: "|";
	margin: 0 0.5rem;
}

.c-breadcrumb__link {
	-webkit-text-decoration: none;
	color: rgba(0, 0, 0, 0.3);
	text-decoration: none;
	transition: opacity 0.3s;
}

.c-breadcrumb__link:hover {
	opacity: 0.7;
}

/* 福利厚生セクション */

.p-welfare {
	border-top: 1px solid #e5e7eb;
	padding: 7.1875rem 0 8.75rem;
	position: relative;
}

.p-welfare::before {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	left: 5rem;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-welfare::after {
	background-color: #e5e7eb;
	content: "";
	height: 100%;
	position: absolute;
	right: 5rem;
	top: 0;
	width: 1px;
	z-index: -1;
}

.p-welfare__inner {
	position: relative;
}

.p-welfare__inner::before {
	color: #0F1524;
	content: "welfare";
	display: block;
	font-size: 1rem;
	font-weight: 500;
	left: -2.25rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: absolute;
	text-transform: capitalize;
	top: -2.5rem;
	writing-mode: vertical-rl;
}

.p-welfare__inner::after {
	background-color: #017CC9;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	left: -2.0625rem;
	position: absolute;
	top: -3.75rem;
	width: 0.5rem;
}

.p-welfare__content {
	margin-left: auto;
	margin-right: auto;
	max-width: 86.6666666667rem;
}

.p-welfare__main-title {
	padding-left: 3.3333333333rem;
	padding-right: 3.3333333333rem;
	width: 23.6666666667rem;
}

.p-welfare__content {
	margin-top: 7.5rem;
	padding-left: 3.3333333333rem;
	padding-right: 3.3333333333rem;
}

.p-welfare__heading {
	color: #000;
	font-weight: 400;
	padding-left: 1.25rem;
	position: relative;
}

.p-welfare__heading::before {
	background-color: #017CC9;
	content: "";
	height: 2rem;
	left: 0;
	position: absolute;
	top: 55%;
	transform: translateY(-50%);
	width: 0.25rem;
}

.p-welfare__list + .p-welfare__list {
	margin-top: 10.25rem;
}

.p-welfare__grid {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 1.625rem;
}

.p-welfare__item {
	background: #FFFFFF;
	border: 1px solid #e5e7eb;
	border-radius: 0.3125rem;
	min-height: 13.4166666667rem;
	padding: 1.5625rem;
}

.p-welfare__title {
	color: #000;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 1rem;
}

.p-welfare__text {
	color: #000;
	line-height: 1.8;
}

@media screen and (max-width: 767px) and (min-width: 1440px) {

.p-info-message__text-wrap {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 1440px) / 480))), 16px));
}

}

@media screen and (max-width: 767px) and (max-width: 1439px) and (min-width: 767px) {

.p-info-message__text-wrap {
	font-size: max(14px, min(calc(14px + (0 * ((100vw - 767px) / 673))), 14px));
}

}

@media (max-width: 1439px) and (min-width: 767px) {

.p-about__text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-anchor-link__link {
	font-size: max(14px, min(calc(14px + (1 * ((100vw - 767px) / 673))), 15px));
}

button.p-anchor-link__link {
	font-size: max(14px, min(calc(14px + (1 * ((100vw - 767px) / 673))), 15px));
}

.p-career-table__header {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-career-table__period {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-career-table__salary {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-career-table__level {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-career-table__list {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-career-table__qualification-text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-career__step-period {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-career__step-text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-career__step-list-item {
	font-size: max(14px, min(calc(14px + (-1 * ((100vw - 767px) / 673))), 13px));
}

.p-company-info__license-item {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-company-info__region-percentage {
	font-size: max(14px, min(calc(14px + (4 * ((100vw - 767px) / 673))), 18px));
}

.p-concept__paragraph {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-construction-results__item-title {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-construction-results__more a {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-faq__icon {
	font-size: max(14px, min(calc(14px + (-2 * ((100vw - 767px) / 673))), 12px));
}

.p-faq__question-text {
	font-size: max(14px, min(calc(14px + (4 * ((100vw - 767px) / 673))), 18px));
}

.p-faq__answer-text {
	font-size: max(14px, min(calc(14px + (0 * ((100vw - 767px) / 673))), 14px));
}

.p-footer__nav-item a {
	font-size: max(14px, min(calc(14px + (0 * ((100vw - 767px) / 673))), 14px));
}

.p-footer__nav-item.p-footer__nav-item--header a,
.p-footer__sp-title {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-footer__address {
	font-size: max(14px, min(calc(14px + (0 * ((100vw - 767px) / 673))), 14px));
}

.p-header__nav-item > a,
.p-header__nav-modal-wrap > p {
	font-size: max(14px, min(calc(14px + (0 * ((100vw - 767px) / 673))), 14px));
}

.p-header__nav-modal-item a {
	font-size: max(14px, min(calc(14px + (-1 * ((100vw - 767px) / 673))), 13px));
}

.p-info-message__text-wrap {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-info-person__text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-info-person__keywords-title {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-info-person__keyword-name {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-info-person__keyword-text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-job-detail__text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-job-detail__video-title {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-job-detail__interview-name {
	font-size: max(14px, min(calc(14px + (4 * ((100vw - 767px) / 673))), 18px));
}

.p-job-detail__interview-position {
	font-size: max(14px, min(calc(14px + (4 * ((100vw - 767px) / 673))), 18px));
}

.p-job-detail__accordion-trigger {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-job-detail__accordion-content {
	font-size: max(14px, min(calc(14px + (1 * ((100vw - 767px) / 673))), 15px));
}

.p-job-detail__interview-prev span {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-job-detail__interview-next span {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-job-other__item-title {
	font-size: max(14px, min(calc(14px + (10 * ((100vw - 767px) / 673))), 24px));
}

.p-job-other__item-text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-job__lead {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-job__en {
	font-size: max(14px, min(calc(14px + (0 * ((100vw - 767px) / 673))), 14px));
}

.p-job__text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-links__item a {
	font-size: max(14px, min(calc(14px + (1 * ((100vw - 767px) / 673))), 15px));
}

.p-members__title {
	font-size: max(14px, min(calc(14px + (18 * ((100vw - 767px) / 673))), 32px));
}

.p-members__tenure {
	font-size: max(14px, min(calc(14px + (-4 * ((100vw - 767px) / 673))), 10px));
}

.p-members__position {
	font-size: max(14px, min(calc(14px + (-2 * ((100vw - 767px) / 673))), 12px));
}

.p-members__name {
	font-size: max(14px, min(calc(14px + (-3 * ((100vw - 767px) / 673))), 11px));
}

.p-members__name span {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-members__description {
	font-size: max(14px, min(calc(14px + (-3 * ((100vw - 767px) / 673))), 11px));
}

.p-message-to-fellow__name {
	font-size: max(14px, min(calc(14px + (-3 * ((100vw - 767px) / 673))), 11px));
}

.p-message-to-fellow__name span {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-message-to-fellow__bubble-title {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-message-to-fellow__bubble-text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-message__text {
	font-size: max(14px, min(calc(14px + (1 * ((100vw - 767px) / 673))), 15px));
}

.p-people-movie__title {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-reasons__name {
	font-size: max(14px, min(calc(14px + (-3 * ((100vw - 767px) / 673))), 11px));
}

.p-reasons__name span {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-reasons__text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-recruit__text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 767px) / 673))), 16px));
}

.p-requirements__term {
	font-size: max(14px, min(calc(14px + (1 * ((100vw - 767px) / 673))), 15px));
}

.p-requirements__subtitle,
.p-requirements__sub-item,
.p-requirements__text {
	font-size: max(14px, min(calc(14px + (1 * ((100vw - 767px) / 673))), 15px));
}

.p-requirements__salary-title {
	font-size: max(14px, min(calc(14px + (4 * ((100vw - 767px) / 673))), 18px));
}

.p-sub-hero__title-text {
	font-size: max(14px, min(calc(14px + (12 * ((100vw - 767px) / 673))), 26px));
}

.p-sub-hero__text {
	font-size: max(14px, min(calc(14px + (0 * ((100vw - 767px) / 673))), 14px));
}

.c-breadcrumb__item {
	font-size: max(14px, min(calc(14px + (-4 * ((100vw - 767px) / 673))), 10px));
}

.p-welfare__heading {
	font-size: max(14px, min(calc(14px + (6 * ((100vw - 767px) / 673))), 20px));
}

.p-welfare__title {
	font-size: max(14px, min(calc(14px + (1 * ((100vw - 767px) / 673))), 15px));
}

.p-welfare__text {
	font-size: max(14px, min(calc(14px + (0 * ((100vw - 767px) / 673))), 14px));
}

}

@media (min-width: 1440px) {

.p-about__text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-anchor-link__link {
	font-size: max(15px, min(calc(15px + (2 * ((100vw - 1440px) / 480))), 17px));
}

button.p-anchor-link__link {
	font-size: max(15px, min(calc(15px + (2 * ((100vw - 1440px) / 480))), 17px));
}

.p-career-table__header {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-career-table__period {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-career-table__salary {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-career-table__level {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-career-table__list {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-career-table__qualification-text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-career__step-period {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-career__step-text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-career__step-list-item {
	font-size: max(13px, min(calc(13px + (2 * ((100vw - 1440px) / 480))), 15px));
}

.p-company-info__license-item {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-company-info__region-percentage {
	font-size: max(18px, min(calc(18px + (2 * ((100vw - 1440px) / 480))), 20px));
}

.p-concept__paragraph {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-construction-results__item-title {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-construction-results__more a {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-faq__icon {
	font-size: max(12px, min(calc(12px + (2 * ((100vw - 1440px) / 480))), 14px));
}

.p-faq__question-text {
	font-size: max(18px, min(calc(18px + (2 * ((100vw - 1440px) / 480))), 20px));
}

.p-faq__answer-text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 1440px) / 480))), 16px));
}

.p-footer__nav-item a {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 1440px) / 480))), 16px));
}

.p-footer__nav-item.p-footer__nav-item--header a,
.p-footer__sp-title {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-footer__address {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 1440px) / 480))), 16px));
}

.p-header__nav-item > a,
.p-header__nav-modal-wrap > p {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 1440px) / 480))), 16px));
}

.p-header__nav-modal-item a {
	font-size: max(13px, min(calc(13px + (2 * ((100vw - 1440px) / 480))), 15px));
}

.p-info-message__text-wrap {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-info-person__text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-info-person__keywords-title {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-info-person__keyword-name {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-info-person__keyword-text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-job-detail__text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-job-detail__video-title {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-job-detail__interview-name {
	font-size: max(18px, min(calc(18px + (2 * ((100vw - 1440px) / 480))), 20px));
}

.p-job-detail__interview-position {
	font-size: max(18px, min(calc(18px + (2 * ((100vw - 1440px) / 480))), 20px));
}

.p-job-detail__accordion-trigger {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-job-detail__accordion-content {
	font-size: max(15px, min(calc(15px + (2 * ((100vw - 1440px) / 480))), 17px));
}

.p-job-detail__interview-prev span {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-job-detail__interview-next span {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-job-other__item-title {
	font-size: max(24px, min(calc(24px + (2 * ((100vw - 1440px) / 480))), 26px));
}

.p-job-other__item-text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-job__lead {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-job__en {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 1440px) / 480))), 16px));
}

.p-job__text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-links__item a {
	font-size: max(15px, min(calc(15px + (2 * ((100vw - 1440px) / 480))), 17px));
}

.p-members__title {
	font-size: max(32px, min(calc(32px + (2 * ((100vw - 1440px) / 480))), 34px));
}

.p-members__tenure {
	font-size: max(10px, min(calc(10px + (2 * ((100vw - 1440px) / 480))), 12px));
}

.p-members__position {
	font-size: max(12px, min(calc(12px + (2 * ((100vw - 1440px) / 480))), 14px));
}

.p-members__name {
	font-size: max(11px, min(calc(11px + (2 * ((100vw - 1440px) / 480))), 13px));
}

.p-members__name span {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-members__description {
	font-size: max(11px, min(calc(11px + (2 * ((100vw - 1440px) / 480))), 13px));
}

.p-message-to-fellow__name {
	font-size: max(11px, min(calc(11px + (2 * ((100vw - 1440px) / 480))), 13px));
}

.p-message-to-fellow__name span {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-message-to-fellow__bubble-title {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-message-to-fellow__bubble-text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-message__text {
	font-size: max(15px, min(calc(15px + (2 * ((100vw - 1440px) / 480))), 17px));
}

.p-people-movie__title {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-reasons__name {
	font-size: max(11px, min(calc(11px + (2 * ((100vw - 1440px) / 480))), 13px));
}

.p-reasons__name span {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-reasons__text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-recruit__text {
	font-size: max(16px, min(calc(16px + (2 * ((100vw - 1440px) / 480))), 18px));
}

.p-requirements__term {
	font-size: max(15px, min(calc(15px + (2 * ((100vw - 1440px) / 480))), 17px));
}

.p-requirements__subtitle,
.p-requirements__sub-item,
.p-requirements__text {
	font-size: max(15px, min(calc(15px + (2 * ((100vw - 1440px) / 480))), 17px));
}

/* 20250730_コメントアウト
.p-requirements__salary-title {
	font-size: max(18px, min(calc(18px + (2 * ((100vw - 1440px) / 480))), 20px));
} */

/* 20250730_修正 */
.p-requirements__salary-title {
	font-size: max(15px, min(calc(15px + (2 * ((100vw - 1440px) / 480))), 17px));
}

.p-sub-hero__title-text {
	font-size: max(26px, min(calc(26px + (2 * ((100vw - 1440px) / 480))), 28px));
}

.p-sub-hero__text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 1440px) / 480))), 16px));
}

.c-breadcrumb__item {
	font-size: max(10px, min(calc(10px + (2 * ((100vw - 1440px) / 480))), 12px));
}

.p-welfare__heading {
	font-size: max(20px, min(calc(20px + (2 * ((100vw - 1440px) / 480))), 22px));
}

.p-welfare__title {
	font-size: max(15px, min(calc(15px + (2 * ((100vw - 1440px) / 480))), 17px));
}

.p-welfare__text {
	font-size: max(14px, min(calc(14px + (2 * ((100vw - 1440px) / 480))), 16px));
}

}

@media (max-width: 1880px) {

html {
	font-size: 0.8510638298vw;
}

}

@media screen and (max-width: 1441px) {

.p-entry__title-en {
	font-size: 3.5rem;
}

.p-footer__wrap {
	gap: 1.25rem;
	padding-right: 6.25rem;
}

.p-footer__right {
	max-width: 650px;
}

.p-footer__nav-column:nth-child(1) {
	width: 87px;
}

.p-footer__nav-column:nth-child(2) {
	width: 98px;
}

.p-footer__nav-column:nth-child(3) {
	width: 84px;
}

.p-footer__nav-column:nth-child(4) {
	width: 126px;
}

.p-footer__nav-column:nth-child(5) {
	width: 121px;
}

.p-header__nav-modal {
	max-width: 140px;
}

.p-header__nav-modal-wrap.p-header__nav-modal-wrap--people .p-header__nav-modal {
	max-width: 122px;
}

.p-header__nav-modal-wrap.p-header__nav-modal-wrap--about .p-header__nav-modal {
	max-width: 165px;
}

.p-header__nav-modal-wrap.p-header__nav-modal-wrap--recruit .p-header__nav-modal {
	max-width: 133px;
}

.p-hero__en-title {
	font-size: 1.125rem;
}

}

@media screen and (max-width: 1275px) {

.p-members__list {
	flex-wrap: wrap;
}

.p-members__item {
	max-width: 30.25rem;
	width: 100%;
}

}

@media screen and (max-width: 1023px) {

.p-company-info__item--licenses {
	grid-column: span 2;
}

.p-footer__wrap {
	padding-right: 0;
}

}

@media screen and (max-width: 767px) {

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 16px;
}

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

.l-inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.l-page-top {
	bottom: 4.4375rem;
	right: 1rem;
}

.c-btn {
	font-size: 0.9375rem;
}

.c-btn {
	max-width: 11.625rem;
	padding: 0.9375rem 1.875rem;
}

.c-btn::before {
	height: 1.25rem;
	right: 1.25rem;
	width: 1.875rem;
}

.c-btn span {
	right: 1.8125rem;
}

.c-btn--dark {
	font-size: 0.9375rem;
	max-width: 10.6875rem;
	padding: 0.9375rem 1.875rem;
}

.p-about {
	padding: 3.75rem 0 2.625rem;
}

.p-about::before {
	left: 1.25rem;
	z-index: 1;
}

.p-about::after {
	right: 1.25rem;
	z-index: 1;
}

.p-about__inner::before {
	font-size: 0.625rem;
	left: 0.3125rem;
	top: -2.1875rem;
}

.p-about__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: -2.625rem;
	width: 0.25rem;
}

.p-about__header {
	flex-direction: column;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-about__title {
	max-width: 11.5rem;
	width: 100%;
}

.p-about__text {
	font-size: 0.9375rem;
	margin-top: 0.25rem;
	max-width: 100%;
	width: 100%;
}

.p-about__cards {
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	grid-template-columns: repeat(2, 1fr);
	margin-left: 0;
	margin-right: 0;
	margin-top: 1.6875rem;
	row-gap: 1.75rem;
}

.p-about__cards::before {
	display: none;
}

.p-about__cards::after {
	display: none;
}

.p-about__card:not(:last-child) {
	border-right: none;
}

.p-about__card a {
	padding: 0;
}

.p-about__card-image {
	border-radius: 0.3125rem;
}

.p-about__card-image img {
	border-radius: 0.3125rem;
}

.p-about__card-content {
	margin-top: 0.6875rem;
	padding: 0;
}

.p-about__card-title {
	font-size: 0.6875rem;
}

.p-about__card:nth-child(1) .p-about__card-title {
	width: 6.25rem;
}

.p-about__card:nth-child(3) .p-about__card-title {
	width: 3.125rem;
}

.p-about__card:nth-child(2) .p-about__card-title {
	width: 7rem;
}

.p-about__card:nth-child(4) .p-about__card-title {
	width: 3.125rem;
}

.p-about__card-icon {
	height: 1.25rem;
	width: 1.875rem;
}

.p-about__card-icon svg {
	height: 0.875rem;
	width: 0.875rem;
}

.p-about__card-icon--external {
	height: 0.75rem;
	width: 0.8125rem;
}

.p-about__button-wrap {
	margin-top: 4.5rem;
}

.p-anchor-link {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
}

.p-anchor-link__list {
	flex-direction: column;
}

.p-anchor-link__item {
	width: 100%;
}

.p-anchor-link__item:not(:last-child) {
	border-bottom: 1px solid #e5e7eb;
	border-right: none;
}

.p-anchor-link__link {
	padding: 1.25rem 1rem;
}

.p-anchor-link__link span {
	align-items: center;
	display: flex;
	justify-content: center;
}

.p-anchor-link__link span::after {
	margin-left: 0.3125rem;
	position: static;
	transform: translateY(0);
	width: 1.25rem;
}

.p-requirements__tab-list.p-anchor-link__list {
	flex-direction: row;
}

.p-requirements__tab-item.p-anchor-link__item:not(:last-child) {
	border-bottom: none;
	border-right: 1px solid #e5e7eb;
}

button.p-anchor-link__link {
	padding: 1.25rem 1rem;
}

.p-anchor-link__link span::after {
	height: 0.875rem;
	right: -1.875rem;
	width: 1.25rem;
}

.p-career-table__wrapper {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-career-table__table {
	min-width: 43.75rem;
}

.p-career-table__header {
	font-size: 0.875rem;
	padding: 0.9375rem 1.25rem;
}

.p-career-table__header--blank {
	width: 16%;
}

.p-career-table__header--salary {
	width: 21%;
}

.p-career-table__header--ccus {
	width: 19%;
}

.p-career-table__header--qualification {
	width: 44%;
}

.p-career-table__cell {
	padding: 0.9375rem;
}

.p-career-table__period {
	font-size: 0.875rem;
}

.p-career-table__salary {
	font-size: 1rem;
}

.p-career-table__level {
	font-size: 1rem;
}

.p-career-table__qualification-text {
	font-size: 0.875rem;
	line-height: 1.7;
}

.p-career {
	padding: 3.75rem 0;
}

.p-career::before {
	left: 1.25rem;
}

.p-career::after {
	right: 1.25rem;
}

.p-career__inner::before {
	font-size: 0.625rem;
	left: 0.375rem;
	top: -1.5rem;
}

.p-career__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: -2.0625rem;
	width: 0.25rem;
}

.p-career__content {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-career__title {
	max-width: 15.625rem;
}

.p-career__subtitle {
	margin-left: 0;
	margin-top: 2.5rem;
	max-width: 6.25rem;
}

.p-career__subtitle::before {
	height: 1.5rem;
}

.p-career__timeline {
	align-items: stretch;
	flex-direction: column;
	gap: 1.875rem;
	margin-top: 1.875rem;
}

.p-career__step {
	width: 100%;
}

.p-career__step--1 .p-career__step-inner {
	min-height: auto;
}

.p-career__step--2 .p-career__step-inner {
	min-height: auto;
}

.p-career__step--3 .p-career__step-inner {
	min-height: auto;
}

.p-career__step-inner {
	padding: 1.5rem 1.875rem 3.75rem;
}

.p-career__step-period {
	font-size: 1.125rem;
	margin-bottom: 0.75rem;
}

.p-career__step-text {
	font-size: 0.9375rem;
	line-height: 1.7;
}

.p-career__step-list-item {
	font-size: 0.875rem;
}

.p-career__step-logo img {
	height: 2.5rem;
}

.p-company-info {
	padding: 3.75rem 0;
}

.p-company-info::before {
	left: 1.25rem;
}

.p-company-info::after {
	right: 1.25rem;
}

.p-company-info__inner::before {
	font-size: 0.625rem;
	left: 0.375rem;
	top: -1.5rem;
}

.p-company-info__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: -2.0625rem;
	width: 0.25rem;
}

.p-company-info__title-wrapper {
	gap: 0.625rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-company-info__main-title {
	width: 25rem;
}

.p-company-info__title-text {
	width: 8.3333333333rem;
}

.p-company-info__grid {
	gap: 1.5625rem;
	grid-template-columns: 1fr;
	margin-top: 1.875rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-company-info__item.p-company-info__item--1a {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--1b {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--2a {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--2b {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--2c {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--3a {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--3b {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--3c {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--4a {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--4b {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item.p-company-info__item--5 {
	grid-column: span 1;
	min-height: 100%;
}

.p-company-info__item {
	padding: 0.9375rem;
}

.p-company-info__item--licenses {
	grid-column: span 1;
}

.p-company-info__title {
	font-size: 0.9375rem;
}

.p-company-info__item--1a .p-company-info__title {
	width: 2.0833333333rem;
}

.p-company-info__item--1b .p-company-info__title {
	width: 3.125rem;
}

.p-company-info__item--2a .p-company-info__title {
	width: 4.2083333333rem;
}

.p-company-info__item--2b .p-company-info__title {
	width: 3.125rem;
}

.p-company-info__item--2c .p-company-info__title {
	width: 4.2083333333rem;
}

.p-company-info__item--3a .p-company-info__title {
	width: 4.2083333333rem;
}

.p-company-info__item--3b .p-company-info__title {
	width: 8.4583333333rem;
}

.p-company-info__item--3c .p-company-info__title {
	width: 6.3333333333rem;
}

.p-company-info__item--4a .p-company-info__title {
	width: 6.3333333333rem;
}

.p-company-info__item--4b .p-company-info__title {
	width: 7.375rem;
}

.p-company-info__item--5 .p-company-info__title {
	width: 6.3333333333rem;
}

.p-company-info__content {
	margin-top: 1.25rem;
}

.p-company-info__item--1a .p-company-info__content {
	margin-top: 1.25rem;
}

.p-company-info__item--2a .p-company-info__content {
	margin-top: 1.25rem;
}

.p-company-info__item--2b .p-company-info__content {
	margin-top: 1.25rem;
}

.p-company-info__item--2c .p-company-info__content {
	margin-top: 1.25rem;
}

.p-company-info__item--3b .p-company-info__content {
	margin-top: 1.25rem;
}

.p-company-info__item--4a .p-company-info__content {
	flex-direction: column;
	gap: 1.875rem;
	margin-top: 1.25rem;
}

.p-company-info__item--4b .p-company-info__content {
	margin-top: 2.5rem;
}

.p-company-info__item--5 .p-company-info__content {
	flex-direction: column;
	padding-left: 0;
	padding-right: 0;
}

.p-company-info__number--large {
	font-size: 3.125rem;
}

.p-company-info__unit--large {
	font-size: 3.125rem;
}

.p-company-info__unit + .p-company-info__number-small {
	margin-left: 0.625rem;
}

.p-company-info__item--1a .p-company-info__unit {
	font-size: 0.9375rem;
}

.p-company-info__number-small {
	font-size: 0.9375rem;
}

.p-company-info__value--large {
	font-size: 1.5rem;
}

.p-company-info__value--highlight {
	font-size: 2.25rem;
}

.p-company-info__item--3c .p-company-info__number {
	line-height: 1;
}

.p-company-info__item--3c .p-company-info__icon {
	margin-top: 1.25rem;
}

.p-company-info__item--4a .p-company-info__icon {
	width: 50%;
}

.p-company-info__pie-legend {
	display: flex;
	gap: 1.25rem;
	justify-content: center;
	margin-top: 0.9375rem;
	position: static;
	transform: none;
}

.p-company-info__pie-legend--vertical .p-company-info__pie-item:nth-child(1) {
	right: auto;
}

.p-company-info__pie-item {
	margin-bottom: 0;
}

.p-company-info__age-average-number {
	font-size: 3rem;
}

.p-company-info__age-average-unit {
	font-size: 1.25rem;
}

.p-company-info__age-groups {
	max-width: 100%;
}

.p-company-info__age-group-label {
	font-size: 0.8125rem;
}

.p-company-info__age-percentage {
	font-size: 0.8125rem;
}

.p-company-info__license-list {
	grid-auto-flow: row;
	grid-template-rows: 1fr;
	justify-content: center;
}

.p-company-info__license-item::before {
	margin-top: 0.625rem;
}

.p-company-info__region-bars {
	margin-top: 0;
}

.p-company-info__region-map {
	margin: 0 auto;
	max-width: 15.375rem;
}

.p-company-info__region-label {
	width: 2.8125rem;
}

.p-company-info__region-group:not(:last-child) .p-company-info__region-label img {
	width: 2.1875rem;
}

.p-company-info__region-bar-container {
	height: 1.875rem;
}

.p-company-info__region-percentage {
	font-size: 0.8125rem;
}

.p-concept {
	padding: 5rem 1.25rem;
}

.p-concept::before {
	left: 1.25rem;
}

.p-concept::after {
	right: 1.25rem;
}

.p-concept__inner::before {
	font-size: 0.625rem;
	left: -0.875rem;
	top: -1.875rem;
}

.p-concept__inner::after {
	height: 0.25rem;
	left: -0.75rem;
	top: -2.4375rem;
	width: 0.25rem;
}

.p-concept__content {
	flex-direction: column;
	padding-left: 0;
}

.p-concept__title {
	max-width: 12rem;
	width: 100%;
}

.p-concept__text {
	margin-top: 1.5rem;
	width: 100%;
}

.p-concept__paragraph {
	font-size: 0.875rem;
}

.p-concept__paragraph + .p-concept__paragraph {
	margin-top: 1rem;
}

.p-construction-results::before {
	left: 1.25rem;
}

.p-construction-results::after {
	right: 1.25rem;
}

.p-construction-results__inner::before {
	font-size: 0.625rem;
	left: 0.3125rem;
	top: 2.625rem;
}

.p-construction-results__inner::after {
	height: 0.25rem;
	left: 0.4375rem;
	top: 2rem;
	width: 0.25rem;
}

.p-construction-results__content {
	padding: 2.5rem 1.25rem;
}

.p-construction-results__title {
	max-width: 7.5rem;
}

.p-construction-results__items {
	grid-template-columns: repeat(1, 1fr);
}

.p-construction-results__item-title {
	font-size: 0.875rem;
}

.p-construction-results__more {
	margin-top: 2.5rem;
}

.p-drawer {
	bottom: 0;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
}

.p-drawer::before {
	display: none;
}

.p-drawer__hamburger {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.3125rem;
	justify-content: center;
}

.p-drawer__pc-menu {
	display: none;
}

.p-drawer__sp-menu {
	display: block;
}

.p-entry__inner a {
	padding: 4.5625rem 0 4.875rem;
}

.p-entry__title::before {
	bottom: -2.875rem;
	height: 1.25rem;
	left: 50%;
	top: auto;
	transform: translateX(-50%);
	width: 1.875rem;
}

.p-entry__title::after {
	bottom: -2.5rem;
	height: 0.5rem;
	left: 50%;
	top: auto;
	transform: translateX(-50%);
	width: 0.625rem;
}

.p-entry__title-ja {
	font-size: 1rem;
	margin-top: 0.4375rem;
}

.p-faq {
	padding: 2.5rem 0;
}

.p-faq.p-faq--last {
	margin-bottom: 6.25rem;
}

.p-faq::before {
	height: calc(100% + 6.25rem);
	left: 1.25rem;
}

.p-faq::after {
	height: calc(100% + 6.25rem);
	right: 1.25rem;
}

.p-faq__inner::before {
	font-size: 0.625rem;
	left: 0.375rem;
	top: -0.4375rem;
}

.p-faq__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: -1rem;
	width: 0.25rem;
}

.p-faq__title {
	margin-left: 1.25rem;
}

#about.p-faq .p-faq__title {
	width: 12.5rem;
}

#selection.p-faq .p-faq__title {
	width: 9.3333333333rem;
}

#systems.p-faq .p-faq__title {
	width: 14.0833333333rem;
}

#other.p-faq .p-faq__title {
	width: 4.6666666667rem;
}

.p-faq__list {
	margin-left: 1.25rem;
	margin-right: 1.25rem;
	margin-top: 2.5rem;
}

.p-faq__item {
	border-radius: 0.25rem;
}

.p-faq__question {
	padding: 1rem 1.25rem;
}

.p-faq__icon {
	font-size: 0.875rem;
	margin-top: 0.25rem;
}

.p-faq__question-text {
	font-size: 0.875rem;
	margin-left: 0.75rem;
	margin-right: 2.5rem;
}

.p-faq__toggle {
	height: 1.5rem;
	right: 1.25rem;
	width: 1.5rem;
}

.p-faq__toggle span {
	height: 0.09375rem;
	width: 0.75rem;
}

.p-faq__answer {
	padding: 0 1.25rem 1rem;
}

.p-faq__answer-text {
	font-size: 0.875rem;
	margin-left: 0.75rem;
}

.p-footer {
	padding: 4rem 0 1.75rem;
}

.p-footer::before {
	display: none;
}

.p-footer::after {
	display: none;
}

.p-footer__wrap {
	flex-direction: column-reverse;
}

.p-footer__left {
	margin-top: 9.125rem;
	max-width: 100%;
}

.p-footer__logo {
	max-width: 12.5rem;
}

.p-footer__right {
	margin-top: 0;
	max-width: 100%;
}

.p-footer__nav-grid {
	display: block;
	gap: 3.5rem;
}

.p-footer__nav-column + .p-footer__nav-column {
	margin-top: 1rem;
}

.p-footer__nav-column:nth-child(1) {
	width: 100%;
}

.p-footer__nav-column:nth-child(2) {
	width: 100%;
}

.p-footer__nav-column:nth-child(3) {
	width: 100%;
}

.p-footer__nav-column:nth-child(4) {
	width: 100%;
}

.p-footer__nav-column:nth-child(5) {
	width: 100%;
}

.p-footer__nav-items:nth-child(2) {
	margin-top: 0.875rem;
}

.p-footer__nav-item + .p-footer__nav-item {
	margin-top: 1rem;
}

.p-footer__nav-items.p-footer__nav-items--sp-only .p-footer__nav-item + .p-footer__nav-item {
	margin-top: 0.125rem;
}

.p-footer__nav-item a {
	font-size: 0.75rem;
}

.p-footer__nav-item a[target=_blank]::after {
	margin-left: 0.4375rem;
}

.p-footer__nav-item.p-footer__nav-item--header a,
.p-footer__sp-title {
	font-size: 0.875rem;
}

.p-footer__nav-item--pc-only {
	display: none;
}

.p-footer__nav-items--sp-only {
	display: block;
}

.p-footer__nav-item.p-footer__nav-item--header .p-footer__submenu-item.p-footer__nav-items--sp-only a {
	font-size: 0.8125rem;
	font-weight: 400;
	padding-left: 0;
	padding-right: 0;
}

.p-footer__copyright {
	font-size: 0.625rem;
	margin-top: 5.75rem;
	text-align: center;
}

.p-footer__address {
	font-size: 0.875rem;
	margin-top: 0;
}

.p-footer__address + .p-footer__address {
	margin-top: 0.9375rem;
}

.p-header {
	height: 5.3125rem;
}

.p-header__inner {
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.p-header__logo {
	height: auto;
	max-width: 6.875rem;
	padding-bottom: 0.625rem;
	padding-top: 1.0625rem;
}

.p-header__logo a {
	align-items: flex-start;
	flex-direction: column;
	height: inherit;
	width: 100%;
}

.p-header__logo-text {
	font-size: 0.625rem;
	line-height: 1.9;
	margin-left: 0;
	margin-top: 0.625rem;
}

.p-header__nav {
	align-items: start;
	padding-top: 0.75rem;
}

.p-header__nav-list {
	display: none;
}

.p-header__entry a::before {
	background-image: url(../images/common/arrow1-sp.svg);
}

.p-header__hamburger {
	display: block;
	height: 2.5rem;
	margin-left: 0.125rem;
	width: 4rem;
}

.p-hero {
	overflow: hidden;
	padding-top: 9.375rem;
}

.p-hero::before {
	left: 1.25rem;
}

.p-hero::after {
	right: 1.25rem;
}

.p-hero__content {
	max-width: 15.75rem;
	padding-left: 0;
}

.p-hero__en-title {
	font-size: 0.8125rem;
}

.p-hero__main-title {
	font-size: 2rem;
	max-width: 15.1875rem;
}

.p-hero__bottom {
	margin-top: 1.25rem;
}

.p-hero__line {
	margin-right: 1.25rem;
	width: 9.375rem;
}

.p-hero__sub-title {
	font-size: 1rem;
}

.p-hero__images {
	margin-top: 8.375rem;
}

.p-hero__main-image {
	height: 67.435vw;
}

.p-hero__sub-images {
	right: -3.375rem;
	top: -9.1875rem;
}

.p-hero__sub-image--hand {
	margin-right: 0.625rem;
	margin-top: 2.125rem;
	max-width: 7.4375rem;
}

.p-hero__sub-image--bridge {
	margin-right: 0.625rem;
	max-width: 6.875rem;
}

.u-display-sp {
	display: block;
}

.p-info-message::before {
	left: 1.25rem;
}

.p-info-message::after {
	right: 1.25rem;
}

.p-info-message__inner::before {
	font-size: 0.625rem;
	left: 0.375rem;
	top: 2.0625rem;
}

.p-info-message__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: 1.5rem;
	width: 0.25rem;
}

.p-info-message__content {
	flex-direction: column;
}

.p-info-message__title-wrap {
	max-width: 100%;
	padding: 3.75rem 1.25rem;
	padding-bottom: 0;
	width: 100%;
}

.p-info-message__title {
	width: 16.6666666667rem;
}

.p-info-message__text-wrap {
	border-left: none;
	margin-top: 2.5rem;
	max-width: 100%;
	padding: 0;
	padding-bottom: 2.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.p-info-person {
	padding: 2.5rem 0;
}

.p-info-person::before {
	left: 1.25rem;
}

.p-info-person::after {
	right: 1.25rem;
}

.p-info-person__inner::before {
	font-size: 0.625rem;
	left: 0.375rem;
	top: -0.25rem;
}

.p-info-person__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: -0.8125rem;
	width: 0.25rem;
}

.p-info-person__flex {
	flex-direction: column;
	gap: 2.5rem;
	padding: 0 1.25rem;
}

.p-info-person__image {
	aspect-ratio: 416/294;
	height: auto;
	width: 100%;
}

.p-info-person__content {
	width: 100%;
}

.p-info-person__title {
	width: 15.8333333333rem;
}

.p-info-person__text {
	font-size: 0.875rem;
	margin-top: 1.5rem;
}

.p-info-person__keywords {
	margin-top: 2.5rem;
	padding: 0 1.25rem;
}

.p-info-person__keywords-title {
	font-size: 1rem;
}

.p-info-person__keywords-title::before {
	height: 0.375rem;
	margin-right: 0.75rem;
	width: 0.375rem;
}

.p-info-person__keywords-list {
	gap: 0.0625rem;
	grid-template-columns: 1fr;
}

.p-info-person__keyword-item {
	border-radius: 1rem;
	padding: 1.5rem 1.25rem;
}

.p-info-person__keyword-icon {
	height: 3.75rem;
	width: 3.75rem;
}

.p-info-person__keyword-name {
	font-size: 1rem;
	margin-top: 1rem;
}

.p-info-person__keyword-text {
	font-size: 0.75rem;
	margin-top: 0.75rem;
}

.p-intro-animation.\-2 {
	--intro-delay: 0s;
	--intro-duration: 0.9s;
}

.p-intro-animation.\-3 {
	--intro-delay: 1.6s;
	--intro-duration: 0.7s;
}

.p-job-detail::before {
	left: 1.25rem;
}

.p-job-detail::after {
	right: 1.25rem;
}

.p-job-detail__content {
	padding: 2.5rem 1.25rem;
}

.p-job-detail__content::before {
	font-size: 0.625rem;
	left: -0.875rem;
	top: 2.5rem;
}

.p-job-detail__content::after {
	height: 0.25rem;
	left: -0.75rem;
	top: 1.9375rem;
	width: 0.25rem;
}

.p-job-detail__main {
	flex-direction: column;
	gap: 2.5rem;
}

.p-job-detail__images {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.25rem;
	max-width: 18.75rem;
	position: static;
	width: 100%;
}

.p-job-detail__image:nth-child(1) {
	max-width: 12.5rem;
}

.p-job-detail__image:nth-child(2) {
	margin-right: 0;
	margin-top: 1.875rem;
}

.p-job-detail__left {
	width: 100%;
}

.p-job-detail__right {
	width: 100%;
}

.p-job-detail__text-wrap {
	padding-right: 0;
}

.p-job-detail__title {
	max-width: 9.1875rem;
}

.p-job-detail__text {
	font-size: 0.875rem;
}

.p-job-detail__video {
	margin-top: 2.5rem;
}

.p-job-detail__video-title {
	font-size: 1.125rem;
	margin: 0 0 1rem 0;
}

.p-job-detail__interview {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	position: relative;
}

.p-job-detail__interview::before {
	background-color: #e5e7eb;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: calc(100% + 2.5rem);
}

.p-job-detail__interview-title {
	font-size: 1.125rem;
	margin: 0 0 1.5rem 0;
}

.p-job-detail__interview-slider-wrap {
	border-left: none;
	border-top: none;
	margin-left: calc(50% - 50vw + 1.25rem);
	margin-right: calc(50% - 50vw + 1.25rem);
	padding: 0;
	padding-top: 0;
}

.p-job-detail__interview-slider {
	padding-top: 0;
}

.p-job-detail__interview-header {
	margin-top: 1rem;
}

.p-job-detail__interview-name {
	font-size: 1.25rem;
}

.p-job-detail__interview-position {
	font-size: 0.875rem;
}

.p-job-detail__accordion-trigger {
	font-size: 0.875rem;
	line-height: 1.5;
	padding: 0.75rem 1rem;
}

.p-job-detail__accordion-content {
	font-size: 0.875rem;
	padding: 0 1rem 1rem;
}

.p-job-detail__interview-prev span {
	font-size: 0.875rem;
}

.p-job-detail__interview-prev::before {
	height: 0.875rem;
	margin-right: 0.3125rem;
	width: 1.25rem;
}

.p-job-detail__interview-next span {
	font-size: 0.75rem;
}

.p-job-detail__interview-next::after {
	height: 0.875rem;
	margin-left: 0.3125rem;
	width: 1.25rem;
}

.p-job-other::before {
	left: 1.25rem;
}

.p-job-other::after {
	right: 1.25rem;
}

.p-job-other__inner::before {
	font-size: 0.625rem;
	left: 0.3125rem;
	top: 2.625rem;
}

.p-job-other__inner::after {
	height: 0.25rem;
	left: 0.4375rem;
	top: 2rem;
	width: 0.25rem;
}

.p-job-other__content {
	padding: 2.5rem 1.25rem;
}

.p-job-other__title {
	max-width: 10rem;
}

.p-job-other__items {
	padding-left: 0;
}

.p-job-other__item {
	flex-direction: column;
	gap: 0.9375rem;
}

.p-job-other__item-title {
	font-size: 1.25rem;
}

.p-job-other__item-text {
	font-size: 0.875rem;
}

.p-job {
	padding: 4.375rem 0 3.125rem;
}

.p-job::before {
	font-size: 0.625rem;
	left: 0.3125rem;
	top: 2.125rem;
}

.p-job::after {
	height: 0.25rem;
	left: 0.5rem;
	top: 1.4375rem;
	width: 0.25rem;
}

.p-job__title {
	font-size: 2rem;
	margin: 0 auto;
	max-width: 10.875rem;
}

.p-job__lead {
	font-size: 0.9375rem;
	margin-top: 1.4375rem;
	text-align: left;
}

.p-job__list {
	flex-direction: column;
	gap: 3.625rem;
	margin-top: 4rem;
}

.p-job__item {
	width: 100%;
}

.youtube-thumbnail {
	border-radius: 0.3125rem;
}

.youtube-thumbnail img {
	border-radius: 0.3125rem;
}

.youtube-play-button {
	height: 0.9375rem;
	width: 1.375rem;
}

.youtube-thumbnail.is-playing::before {
	height: 1.875rem;
	width: 1.875rem;
}

.youtube-thumbnail.is-playing::after {
	height: 0.75rem;
	width: 0.75rem;
}

.p-job__content {
	margin-top: 1.375rem;
	padding: 0;
}

.p-job__name {
	max-width: 9.1875rem;
}

.p-job__en {
	font-size: 0.625rem;
	margin-top: 0.8125rem;
}

.p-job__text {
	font-size: 0.875rem;
	margin-top: 0.8125rem;
}

.p-job__btn-wrap {
	margin-top: 1.875rem;
}

.p-links {
	padding-bottom: 3.75rem;
}

.p-links::before {
	left: 1.25rem;
}

.p-links::after {
	right: 1.25rem;
}

.p-links__items {
	flex-direction: column;
	flex-wrap: nowrap;
}

.p-links__item {
	width: 100%;
}

.p-links__item:not(:last-child) {
	border-bottom: 1px solid #e5e7eb;
	border-right: none;
}

.p-links__item a {
	font-size: 0.8125rem;
	padding: 2.5rem 0;
}

.p-links__item a span {
	align-items: center;
	display: flex;
	justify-content: center;
}

.p-links__item a span::after {
	height: 0.875rem;
	margin-left: 0.3125rem;
	position: static;
	transform: translateY(0);
	width: 1.25rem;
}

.p-loading {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-loading__txt {
	margin-left: auto;
	margin-right: auto;
	max-width: 18.75rem;
}

.p-members__inner {
	padding-bottom: 4.375rem;
	padding-top: 5.25rem;
}

.p-members::before {
	left: 1.25rem;
}

.p-members::after {
	right: 1.25rem;
}

.p-members__content {
	margin: 0 auto;
	max-width: 31.25rem;
	padding: 0;
	width: 100%;
}

.p-members__title {
	font-size: 1.25rem;
	text-align: center;
}

.p-members__list {
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	margin-top: 2.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	row-gap: 2.5rem;
}

.p-members__item {
	max-width: 21.875rem;
	padding-bottom: 2.5rem;
	padding-right: 0;
	padding-top: 0;
}

.p-members__item::after {
	display: none;
}

.p-members__item:not(:last-child)::before {
	background-color: rgba(15, 21, 36, 0.2);
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
}

.p-members__item .p-members__item:not(:last-child) {
	margin-bottom: 2.5rem;
}

.p-members__image {
	height: 7.5rem;
	width: 7.5rem;
}

.p-members__tenure {
	font-size: 0.75rem;
}

.p-members__position {
	font-size: 0.875rem;
}

.p-members__name {
	font-size: 1.125rem;
}

.p-members__description {
	font-size: 0.75rem;
	margin-top: 1rem;
}

.p-members__big-image {
	margin-top: 5.25rem;
}

.p-members__big-image img {
	aspect-ratio: 390/240;
}

.p-message-to-fellow {
	padding: 3.75rem 0 3.125rem;
}

.p-message-to-fellow::before {
	left: 1.25rem;
}

.p-message-to-fellow::after {
	right: 1.25rem;
}

.p-message-to-fellow__inner::before {
	font-size: 0.625rem;
	left: 0.375rem;
	top: -1.5rem;
}

.p-message-to-fellow__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: -2.0625rem;
	width: 0.25rem;
}

.p-message-to-fellow__title {
	font-size: 1.5rem;
	max-width: 28.125rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-message-to-fellow__list {
	gap: 2.5rem;
	margin-top: 1.25rem;
}

.p-message-to-fellow__item {
	align-items: center;
	flex-direction: column-reverse;
	gap: 1.25rem;
}

.p-message-to-fellow__item--left {
	padding-right: 0;
}

.p-message-to-fellow__item--right {
	flex-direction: column-reverse;
	padding-left: 0;
}

.p-message-to-fellow__avatar {
	height: 3.75rem;
	width: 3.75rem;
}

.p-message-to-fellow__bubble {
	margin: 0 1.25rem;
	max-width: 100%;
	padding: 1.25rem;
}

.p-message-to-fellow__item--left .p-message-to-fellow__bubble::before {
	bottom: -0.625rem;
	left: 50%;
	top: auto;
	transform: translateX(-50%) rotate(-90deg);
}

.p-message-to-fellow__item--right .p-message-to-fellow__bubble::after {
	bottom: -0.625rem;
	left: 50%;
	right: auto;
	top: auto;
	transform: translateX(-50%) rotate(90deg);
}

.p-message-to-fellow__bubble-title {
	font-size: 1rem;
	text-align: center;
}

.p-message-to-fellow__bubble-text {
	font-size: 0.875rem;
	line-height: 1.7;
}

.p-message {
	padding: 1.5rem 0 2rem;
}

.p-message::before {
	left: 1.25rem;
}

.p-message::after {
	right: 1.25rem;
}

.p-message__inner::before {
	font-size: 0.625rem;
	left: 0.3125rem;
	top: 2.5625rem;
}

.p-message__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: 2rem;
	width: 0.25rem;
}

.p-message__content {
	flex-direction: column;
	padding-top: 4rem;
}

.p-message__title {
	font-size: 2rem;
	max-width: 13.9375rem;
	padding: 0;
	text-align: center;
	width: 100%;
}

.p-message__text {
	font-size: 0.9375rem;
	letter-spacing: 0;
	margin-top: 4.3125rem;
	padding: 0;
	padding-bottom: 5.1875rem;
}

.p-message__title svg {
	height: 100%;
	width: 100%;
}

.p-message__carousel {
	margin-top: 2rem;
	padding-bottom: 3.25rem;
}

.p-message__carousel-track {
	gap: 1.0625rem;
}

.p-message__carousel-slide {
	width: 52.82vw;
}

.p-message__carousel-slide:nth-child(even) {
	margin-bottom: -1.25rem;
	margin-top: 1.25rem;
}

.slide-offset-middle {
	margin-top: 0.625rem;
}

.slide-offset-down {
	margin-top: 1.25rem;
}

.p-people-movie {
	padding: 1.875rem 0 3.75rem;
}

.p-people-movie::before {
	left: 1.25rem;
}

.p-people-movie::after {
	right: 1.25rem;
}

.p-people-movie__list {
	flex-direction: column;
}

.p-people {
	margin-top: 1.5rem;
	padding: 2.75rem 0 4rem;
}

.p-people::before {
	height: calc(100% + 1.5rem);
	left: 1.25rem;
	top: -1.5rem;
}

.p-people::after {
	right: 1.25rem;
}

.p-people__inner::before {
	font-size: 0.625rem;
	left: 0.3125rem;
	top: -1.0625rem;
}

.p-people__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: -1.625rem;
	width: 0.25rem;
}

.p-people__content {
	max-width: 100%;
	padding: 7.875rem 1.25rem 6.75rem;
}

.p-people__title {
	max-width: 9.25rem;
}

.p-people__subtitle {
	margin-top: 0.4375rem;
	max-width: 7.5625rem;
}

.p-people__description {
	margin-top: 0.1875rem;
	max-width: 10.75rem;
}

.p-people__button-wrap {
	margin-top: 2.6875rem;
}

.p-people__image {
	max-width: 100%;
}

.p-reasons::before {
	left: 1.25rem;
}

.p-reasons::after {
	right: 1.25rem;
}

.p-reasons__hero {
	height: 15rem;
	margin-top: 3.125rem;
}

.p-reasons__hero img {
	aspect-ratio: 390/240;
}

.p-reasons__list {
	padding-bottom: 3.75rem;
}

.p-reasons__list::before {
	font-size: 0.625rem;
	left: -0.875rem;
	top: 2.5rem;
}

.p-reasons__list::after {
	height: 0.25rem;
	left: -0.75rem;
	top: 1.9375rem;
	width: 0.25rem;
}

.p-reasons__list:first-child .p-reasons__hero img {
	-o-object-position: right;
	object-position: right;
}

.p-reasons__container {
	flex-direction: column;
	gap: 1.25rem;
}

.p-reasons__title-wrap {
	max-width: 12.5rem;
	padding-left: 1.25rem;
	padding-top: 2.5rem;
}

.p-reasons__title {
	width: 12.5rem;
}

.p-reasons__list:nth-child(2) .p-reasons__title {
	width: 14.375rem;
}

.p-reasons__list:nth-child(3) .p-reasons__title {
	width: 12.5rem;
}

.p-reasons__list:nth-child(4) .p-reasons__title {
	width: 17.5rem;
}

.p-reasons__content-wrap {
	padding-bottom: 2.5rem;
	padding-right: 1.25rem;
	padding-top: 0;
}

.p-reasons__lead {
	font-size: 0.875rem;
	line-height: 1.8;
	margin-bottom: 2.5rem;
	max-width: 21.125rem;
}

.p-reasons__list:nth-child(2) .p-reasons__lead {
	max-width: 21.125rem;
}

.p-reasons__list:nth-child(3) .p-reasons__lead {
	max-width: 20.1875rem;
}

.p-reasons__list:nth-child(4) .p-reasons__lead {
	max-width: 18.6875rem;
}

.p-reasons__lead img {
	aspect-ratio: 338/96;
}

.p-reasons__list:nth-child(2) .p-reasons__lead img {
	aspect-ratio: 338/120;
}

.p-reasons__list:nth-child(3) .p-reasons__lead img {
	aspect-ratio: 323/96;
}

.p-reasons__list:nth-child(4) .p-reasons__lead img {
	aspect-ratio: 299/96;
}

.p-reasons__items {
	margin-top: 3.75rem;
}

.p-reasons__item {
	gap: 1rem;
}

.p-reasons__item + .p-reasons__item {
	margin-top: 2rem;
}

.p-reasons__person {
	gap: 0.5rem;
}

.p-reasons__image {
	height: 3rem;
	width: 3rem;
}

.p-reasons__name {
	font-size: 0.75rem;
}

.p-reasons__text {
	font-size: 0.875rem;
	line-height: 1.7;
}

.p-recruit {
	padding: 3.0625rem 0 4.375rem;
}

.p-recruit::before {
	left: 1.25rem;
}

.p-recruit::after {
	right: 1.25rem;
}

.p-recruit__inner::before {
	font-size: 0.625rem;
	left: 0.3125rem;
	top: -1.3125rem;
}

.p-recruit__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: -1.875rem;
	width: 0.25rem;
}

.p-recruit__flex {
	align-items: flex-start;
	flex-direction: column;
	padding: 0;
}

.p-recruit__content {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.p-recruit__title {
	font-size: 2rem;
	max-width: 9.625rem;
}

.p-recruit__text {
	font-size: 0.875rem;
	margin-top: 0;
}

.p-recruit__buttons {
	gap: 0.5625rem;
	margin-top: 7.125rem;
	padding-top: 0;
	width: 100%;
}

.p-recruit__button a {
	font-size: 0.9375rem;
	padding: 1rem 1.875rem;
}

.p-recruit__button a::before {
	border-radius: 1.875rem;
	height: 1.25rem;
	right: 2rem;
	width: 1.875rem;
}

.p-recruit__button a span {
	right: 2.625rem;
}

.p-requirements::before {
	left: 1.25rem;
}

.p-requirements::after {
	right: 1.25rem;
}

.p-requirements__inner::before {
	font-size: 0.625rem;
	left: 0.375rem;
	top: 10.25rem;
}

.p-requirements__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: 9.6875rem;
	width: 0.25rem;
}

.p-requirements__content {
	padding: 2.5rem 1.25rem;
}

.p-requirements__item {
	flex-direction: column;
	padding: 1.5rem 0;
}

.p-requirements__item::before {
	width: 6.25rem;
}

.p-requirements__term {
	font-size: 0.875rem;
	margin-bottom: 1rem;
	width: 100%;
}

.p-requirements__description {
	width: 100%;
}

.p-requirements__subtitle,
.p-requirements__sub-item,
.p-requirements__text {
	font-size: 0.875rem;
}

.p-requirements__text--small {
	font-size: 0.75rem;
}

.p-requirements__bullet-list li {
	font-size: 0.875rem;
	padding-left: 1rem;
}

.p-requirements__bullet-list li:not(:first-child) {
	margin-top: 0.375rem;
}

.p-requirements__number-list li {
	font-size: 0.875rem;
	padding-left: 1.5rem;
}

.p-requirements__number-list li:not(:first-child) {
	margin-top: 0.375rem;
}

.p-requirements__salary {
	margin-top: 1.5rem;
}

.p-requirements__salary-title {
	font-size: 0.875rem;
	margin-bottom: 0.75rem;
}

.p-requirements__salary-list li {
	font-size: 0.875rem;
	padding-left: 1rem;
}

.p-requirements__salary-list li:not(:first-child) {
	margin-top: 0.375rem;
}

.p-requirements__salary-model li {
	font-size: 0.875rem;
	padding-left: 1rem;
}

.p-requirements__salary-model li:not(:first-child) {
	margin-top: 0.375rem;
}

.p-sub-hero {
	padding-bottom: 3.75rem;
	padding-top: 5rem;
}

.p-sub-hero::before {
	left: 1.25rem;
}

.p-sub-hero::after {
	right: 1.25rem;
}

.p-sub-hero__content {
	padding-top: 3.75rem;
}

.p-sub-hero__title {
	max-width: 12rem;
	padding-left: 0;
}

.p-sub-hero.p-sub-hero--person .p-sub-hero__title {
	max-width: 11.4166666667rem;
}

.p-sub-hero.p-sub-hero--info .p-sub-hero__title {
	max-width: 11.8333333333rem;
}

.p-sub-hero.p-sub-hero--question .p-sub-hero__title {
	max-width: 12rem;
}

.p-sub-hero__breadcrumb {
	margin-top: 1rem;
	padding-left: 0;
}

.p-sub-hero__image-wrap {
	height: 16.25rem;
}

.p-sub-hero.p-sub-hero--person .p-sub-hero__image-wrap {
	height: 33.5rem;
}

.p-sub-hero__image-wrap--people::before {
	font-size: 0.625rem;
	left: 0.4375rem;
	top: 2.5rem;
}

.p-sub-hero__image-wrap--people::after {
	height: 0.25rem;
	left: 0.5625rem;
	top: 1.9375rem;
	width: 0.25rem;
}

.p-sub-hero__image-wrap--people .p-sub-hero__image img {
	-o-object-position: center;
	object-position: center;
}

.p-sub-hero__text-wrap {
	max-width: 25rem;
	padding-bottom: 6.25rem;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	padding-top: 5rem;
}

.p-sub-hero__sub-title {
	max-width: 15.625rem;
}

.p-sub-hero__main-title {
	margin-top: 0.6875rem;
	max-width: 14.0625rem;
}

.p-sub-hero__title-text {
	font-size: 1.25rem;
	margin-top: 1.5625rem;
}

.p-sub-hero__text {
	font-size: 0.875rem;
	margin-top: 1.5625rem;
}

.c-breadcrumb__item {
	font-size: 0.75rem;
}

.p-welfare {
	padding: 3.75rem 0;
}

.p-welfare::before {
	left: 1.25rem;
}

.p-welfare::after {
	right: 1.25rem;
}

.p-welfare__inner::before {
	font-size: 0.625rem;
	left: 0.375rem;
	top: -1.5rem;
}

.p-welfare__inner::after {
	height: 0.25rem;
	left: 0.5rem;
	top: -2.0625rem;
	width: 0.25rem;
}

.p-welfare__main-title {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 10rem;
}

.p-welfare__content {
	margin-top: 3.75rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-welfare__heading {
	font-size: 1.25rem;
	padding-left: 1rem;
}

.p-welfare__heading::before {
	height: 1.5rem;
	width: 0.1875rem;
}

.p-welfare__list + .p-welfare__list {
	margin-top: 5rem;
}

.p-welfare__grid {
	gap: 0.9375rem;
	grid-template-columns: 1fr;
	margin-top: 1.25rem;
}

.p-welfare__item {
	min-height: auto;
	padding: 0.9375rem;
}

.p-welfare__title {
	font-size: 1rem;
	margin-bottom: 0.75rem;
}

.p-welfare__text {
	font-size: 0.875rem;
	line-height: 1.7;
}

}

@media (max-width: 390px) {

html {
	font-size: 4.1025641026vw;
}

}

@keyframes fadein {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes transformLeftRight {

0% {
	transform: translate(-100%, -50%);
}

100% {
	transform: translate(0, -50%);
}

}

@keyframes transformRightLeft {

0% {
	transform: translate(0, -50%);
}

100% {
	transform: translate(100%, -50%);
}

}

@keyframes slideIn {

from {
	width: 0;
}

to {
	width: 75%;
}

}

@keyframes slidePercentage {

from {
	left: 0.625rem;
	opacity: 0;
}

to {
	left: calc(75% + 0.625rem);
	opacity: 1;
}

}

@keyframes slideIn {

from {
	width: 0;
}

to {
	width: 85%;
}

}

@keyframes slidePercentage {

from {
	left: 0.625rem;
	opacity: 0;
}

to {
	left: calc(85% + 0.625rem);
	opacity: 1;
}

}

@keyframes transformLeftRight {

0% {
	transform: translate(-100%, -50%);
}

100% {
	transform: translate(0, -50%);
}

}

@keyframes transformRightLeft {

0% {
	transform: translate(0, -50%);
}

100% {
	transform: translate(100%, -50%);
}

}

@keyframes transformLeftRight {

0% {
	transform: translate(-100%, -50%);
}

100% {
	transform: translate(0, -50%);
}

}

@keyframes transformRightLeft {

0% {
	transform: translate(0, -50%);
}

100% {
	transform: translate(100%, -50%);
}

}

@keyframes intro_animation {

0% {
	transform: translateX(0) rotate(0.3deg);
}

100% {
	transform: translateX(0) rotate(0);
}

}

@keyframes intro_fadein {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes intro_slideout {

0% {
	transform: translateX(-10%);
}

100% {
	transform: translateX(100%);
	visibility: hidden;
}

}

@keyframes carousel-scroll {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(-50%);
}

}

@keyframes transformLeftRight {

0% {
	transform: translate(-100%, -50%);
}

100% {
	transform: translate(0, -50%);
}

}

@keyframes transformRightLeft {

0% {
	transform: translate(0, -50%);
}

100% {
	transform: translate(100%, -50%);
}

}

@keyframes fade {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}


/*# sourceMappingURL=recruit.css.map */
