#page-mv {
	position: relative;
	height: 600px;
	overflow: hidden;
}

#page-mv::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	z-index: 1;
	pointer-events: none;
}

#page-mv .mv-inner {
	position: relative;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#page-mv .content-width {
	position: relative;
	height: 100%;
}

#page-mv .page-mv-copy-box {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 2;
}

#page-mv .page-mv-copy-ja {
	color: #59c3e1;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.75;
	font-family: "Noto Sans JP", sans-serif;
}

#page-mv .page-mv-copy-en {
	margin: 30px 0 0;
	color: #fff;
	font-size: 6rem;
	font-weight: 300;
	line-height: 1;
	font-family: "Montserrat", sans-serif;
	letter-spacing: 0.08em;
}

#page-mv .mv-wave {
	position: absolute;
	left: 0;
	bottom: 0;
	aspect-ratio: 1400 / 90;
	width: 100%;
	height: auto;
	line-height: 1;
	z-index: 1;
}

#page-mv .mv-wave img {
	display: block;
	width: 100%;
	height: 100%;
}

.page-sec {
	padding: 150px 0;
}

.page-sec-head-main {
	align-items: center;
}

.page-sec-head-icon {
	width: 26px;
}

.page-sec-head-icon img {
	display: block;
	width: 100%;
}

.page-sec-head-ja {
	margin: 0 0 0 20px;
	color: #595757;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

.page-sec-head-en {
	margin: 20px 0 0 47px;
	color: #b3b3b3;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	font-family: "Montserrat", sans-serif;
	letter-spacing: 0.08em;
}

.about-message-content {
	margin: 65px 0 0;
	align-items: flex-start;
}

.about-message-image {
	width: 100%;
	margin: 0 auto;
}

.about-message-image img {
	display: block;
	width: 800px;
	height: 430px;
	margin: 0 auto;
	border-radius: 10px;
	object-fit: cover;
}

.about-message-text-box {
	width: 100%;
}

.about-message-title {
	color: #59c3e1;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
	margin-bottom: 20px;
}

.about-message-text {
	margin: 43px 0 0;
}

.about-message-text p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.about-message-sign {
	margin: 40px 0 0;
	text-align: right;
}

.about-message-position {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
}

.about-message-name {
	margin: 20px 0 0;
	color: #595757;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

#about-philosophy {
	background: url(../images/common/about-philosophy-bg.png) no-repeat center center;
	background-size: cover;
}

.about-philosophy-content {
	margin: 65px 0 0;
}

.about-philosophy-image {
	width: 290px;
}

.about-philosophy-image img {
	display: block;
	width: 290px;
	height: 290px;
	object-fit: cover;
}

.about-philosophy-text-box {
	width: calc(100% - 370px);
	margin-left: 80px;
}

.about-philosophy-title {
	color: #59c3e1;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
}

.about-philosophy-text {
	margin: 43px 0 0;
}

.about-philosophy-text p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.about-philosophy-text p + p {
	margin-top: 40px;
}

.about-company-content {
	margin: 65px 0 0;
	align-items: flex-start;
}

.about-company-image {
	width: 480px;
}

.about-company-image img {
	display: block;
	width: 480px;
	height: 300px;
	border-radius: 10px;
	object-fit: cover;
}

.about-company-info {
	width: calc(100% - 540px);
	margin-left: 60px;
}

.about-company-table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: none;
	margin: 0;
}

.about-company-table th,
.about-company-table td {
	padding: 0;
	border: none;
	vertical-align: top;
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.875;
	font-family: "Noto Sans JP", sans-serif;
	text-align: left;
}

.about-company-table tr {
	border: none;
}

.about-company-table th {
	width: 120px;
	padding-right: 40px;
	font-weight: 400;
	white-space: nowrap;
	background: none;
}

.about-company-table tr + tr th,
.about-company-table tr + tr td {
	padding-top: 32px;
}

@media screen and (max-width: 767px) {
	#page-mv {
		height: 420px;
	}

	#page-mv .page-mv-copy-box {
		left: 0;
		right: 0;
		padding: 0 20px;
	}

	#page-mv .page-mv-copy-ja {
		font-size: 1.4rem;
		line-height: 1.6;
	}

	#page-mv .page-mv-copy-en {
		margin: 18px 0 0;
		font-size: 4rem;
		line-height: 1;
		letter-spacing: 0.04em;
	}

	.page-sec {
		padding: 80px 0;
	}

	.page-sec-head-icon {
		width: 20px;
	}

	.page-sec-head-ja {
		margin-left: 14px;
		font-size: 2.4rem;
		line-height: 1.4;
	}

	.page-sec-head-en {
		margin: 14px 0 0 34px;
		font-size: 1rem;
		line-height: 1.4;
	}

	.about-message-content,
	.about-philosophy-content,
	.about-company-content {
		display: block;
		margin-top: 40px;
	}

	.about-message-image,
	.about-philosophy-image,
	.about-company-image {
		width: 100%;
	}

	.about-message-image img {
		width: 100%;
		height: auto;
		aspect-ratio: 44 / 40;
	}

	.about-philosophy-image img {
		width: 220px;
		height: 220px;
		margin: 0 auto;
	}

	.about-company-image img {
		width: 100%;
		height: auto;
		aspect-ratio: 48 / 30;
	}

	.about-message-text-box,
	.about-philosophy-text-box,
	.about-company-info {
		width: 100%;
		margin-top: 30px;
	}
	
	.about-philosophy-text-box,
	.about-company-info {
		margin-left: 0;
	}

	.about-message-title,
	.about-philosophy-title {
		font-size: 2.4rem;
		line-height: 1.6;
	}

	.about-message-text,
	.about-philosophy-text {
		margin-top: 24px;
	}

	.about-message-text p,
	.about-philosophy-text p,
	.about-company-table th,
	.about-company-table td {
		font-size: 1.4rem;
		line-height: 2;
	}

	.about-philosophy-text p + p {
		margin-top: 24px;
	}

	.about-message-sign {
		margin-top: 30px;
	}

	.about-message-position {
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.about-message-name {
		margin-top: 14px;
		font-size: 2.4rem;
		line-height: 1.4;
	}

	.about-company-table,
	.about-company-table tbody,
	.about-company-table tr,
	.about-company-table th,
	.about-company-table td {
		display: block;
		width: 100%;
	}

	.about-company-table tr + tr {
		margin-top: 22px;
	}

	.about-company-table tr + tr th,
	.about-company-table tr + tr td {
		padding-top: 0;
	}

	.about-company-table th {
		padding-right: 0;
		margin-bottom: 4px;
		line-height: 1.6;
	}

	.about-company-table td {
		line-height: 1.9;
	}
}

#services-detail .services-detail-head {
	margin: 60px 0 0;
	align-items: center;
}

.services-detail-text-box {
	width: 440px;
}

.services-detail-title {
	color: #59c3e1;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
}

.services-detail-text {
	margin: 40px 0 0;
}

.services-detail-text p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.services-detail-image {
	width: 500px;
}

.services-detail-image img {
	display: block;
	width: 500px;
	height: 400px;
	border-radius: 10px;
	object-fit: cover;
}

.services-detail-box-list {
	margin: 80px 0 0;
	gap: 20px;
}

.services-detail-box-item {
	box-sizing: border-box;
	width: calc((100% - 20px) / 2);
	padding: 40px;
	border: 4px solid #eff8fe;
	border-radius: 10px;
	background: #fff;
}

.services-detail-box-title {
	position: relative;
	padding-left: 18px;
	color: #595757;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1;
	font-family: "Noto Sans JP", sans-serif;
}

.services-detail-box-title::before {
	content: "";
	position: absolute;
	top: 0.1em;
	left: 0;
	width: 4px;
	height: 100%;
	border-radius: 2px;
	background: #59c3e1;
}

.services-detail-box-text {
	margin: 30px 0 0;
}

.services-detail-box-text p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

#services-strengths {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.services-strengths-head-main {
	align-items: center;
}

.services-strengths-head-icon {
	width: 26px;
}

.services-strengths-head-icon img {
	display: block;
	width: 100%;
}

.services-strengths-head-ja {
	margin: 0 0 0 20px;
	color: #fff;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

.services-strengths-head-en {
	margin: 20px 0 0 47px;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	font-family: "Montserrat", sans-serif;
	letter-spacing: 0.08em;
}

.services-strengths-text {
	margin: 60px 0 0;
}

.services-strengths-text p {
	color: #fff;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.services-strengths-card-list {
	margin: 55px 0 0;
	gap: 10px;
	align-items: stretch;
}

.services-strengths-card-item {
	box-sizing: border-box;
	width: calc((100% - 20px) / 3);
	padding: 45px 40px 40px;
	border-radius: 10px;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.services-strengths-card-icon {
	line-height: 1;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.services-strengths-card-icon img {
	display: block;
	max-width: 100%;
	height: auto;
}

.services-strengths-card-title {
	margin: 30px 0 0;
	min-height: 2.8em;
	color: #595757;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
	width: 100%;
}

.services-strengths-card-text {
	width: 100%;
	flex: 1;
}

.services-strengths-card-text p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
	text-align: left;
}

#services-flow .services-flow-list {
	margin: 60px 0 0;
}

.services-flow-item {
	position: relative;
	border-top: 1px solid #dddddd;
}

.services-flow-item:last-child {
	border-bottom: 1px solid #dddddd;
}

.services-flow-item::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -13px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 13px solid #dddddd;
	background: none;
}

.services-flow-item:last-child::after {
	display: none;
}

.services-flow-item-inner {
	padding: 40px 30px;
}

.services-flow-title-row {
	align-items: center;
}

.services-flow-step {
	display: inline-block;
	padding: 10px 15px;
	border-radius: 15px;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	font-family: "Montserrat", sans-serif;
}

.services-flow-item:nth-child(odd) .services-flow-step {
	background: #59c3e1;
}

.services-flow-item:nth-child(even) .services-flow-step {
	background: #00508e;
}

.services-flow-title {
	margin: 0 0 0 30px;
	color: #595757;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

.services-flow-text {
	margin: 30px 0 0 112px;
}

.services-flow-text p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
	#services-detail .services-detail-head {
		display: block;
		margin-top: 40px;
	}

	.services-detail-text-box {
		width: 100%;
	}

	.services-detail-title {
		font-size: 2.4rem;
		line-height: 1.6;
	}

	.services-detail-text {
		margin-top: 24px;
	}

	.services-detail-text p {
		font-size: 1.4rem;
		line-height: 2;
	}

	.services-detail-image {
		width: 100%;
		margin-top: 30px;
	}

	.services-detail-image img {
		width: 100%;
		height: auto;
		aspect-ratio: 5 / 4;
	}

	.services-detail-box-list {
		display: block;
		margin-top: 50px;
	}

	.services-detail-box-item {
		width: 100%;
		padding: 30px 20px;
	}

	.services-detail-box-item + .services-detail-box-item {
		margin-top: 15px;
	}

	.services-detail-box-title {
		padding-left: 16px;
		font-size: 1.8rem;
		line-height: 1.4;
	}

	.services-detail-box-title::before {
		top: 0;
		height: 1.4em;
	}

	.services-detail-box-text {
		margin-top: 20px;
	}

	.services-detail-box-text p {
		font-size: 1.4rem;
		line-height: 2;
	}

	#services-strengths {
		background-position: center center;
	}

	.services-strengths-head-icon {
		width: 20px;
	}

	.services-strengths-head-ja {
		margin-left: 14px;
		font-size: 2.4rem;
		line-height: 1.4;
	}

	.services-strengths-head-en {
		margin: 14px 0 0 34px;
		font-size: 1rem;
		line-height: 1.4;
	}

	.services-strengths-text {
		margin-top: 40px;
	}

	.services-strengths-text p {
		font-size: 1.4rem;
		line-height: 2;
	}

	.services-strengths-card-list {
		display: block;
		margin-top: 40px;
	}

	.services-strengths-card-item {
		width: 100%;
		padding: 35px 20px 30px;
	}

	.services-strengths-card-item + .services-strengths-card-item {
		margin-top: 12px;
	}

	.services-strengths-card-icon {
		height: auto;
		min-height: 72px;
	}

	.services-strengths-card-title {
		margin-top: 20px;
		min-height: 0;
		font-size: 2rem;
		line-height: 1.4;
	}

	.services-strengths-card-text {
		margin-top: 20px;
	}

	.services-strengths-card-text p {
		font-size: 1.4rem;
		line-height: 2;
	}

	#services-flow .services-flow-list {
		margin-top: 40px;
	}

	.services-flow-item::after {
		bottom: -10px;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid #dddddd;
	}

	.services-flow-item-inner {
		padding: 30px 15px;
	}

	.services-flow-title-row {
		display: block;
	}

	.services-flow-step {
		display: inline-block;
		font-size: 1.2rem;
		padding: 9px 14px;
	}

	.services-flow-title {
		margin: 14px 0 0;
		font-size: 2rem;
		line-height: 1.4;
	}

	.services-flow-text {
		margin: 18px 0 0;
	}

	.services-flow-text p {
		font-size: 1.4rem;
		line-height: 2;
	}
}

#recruit-person .recruit-person-content {
	margin: 60px 0 0;
	align-items: center;
}

.recruit-person-text-box {
	width: 435px;
}

.recruit-person-item + .recruit-person-item {
	margin-top: 10px;
}

.recruit-person-item-icon {
	width: 25px;
	line-height: 1;
}

.recruit-person-item-icon img {
	display: block;
	width: 100%;
}

.recruit-person-item {
	display: flex;
	align-items: center;
}

.recruit-person-item-text {
	width: calc(100% - 50px);
	margin-left: 30px;
	color: #595757;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-person-item-text span {
	color: #59c3e1;
}

.recruit-person-text {
	margin: 30px 0 0;
}

.recruit-person-text p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-person-image {
	width: 500px;
}

.recruit-person-image img {
	display: block;
	width: 500px;
	height: 400px;
	border-radius: 10px;
	object-fit: cover;
}

#recruit-work {
	padding: 150px 0 110px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.recruit-work-head-main {
	align-items: center;
}

.recruit-work-head-icon {
	width: 26px;
}

.recruit-work-head-icon img {
	display: block;
	width: 100%;
}

.recruit-work-head-ja {
	margin: 0 0 0 20px;
	color: #fff;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-work-head-en {
	margin: 20px 0 0 47px;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	font-family: "Montserrat", sans-serif;
	letter-spacing: 0.08em;
}

.recruit-work-list {
	margin: 60px 0 0;
}

.recruit-work-item + .recruit-work-item {
	margin-top: 40px;
}

.recruit-work-item-icon {
	width: 180px;
	line-height: 1;
}

.recruit-work-item-icon img {
	display: block;
	width: 180px;
	height: 180px;
	object-fit: cover;
}

.recruit-work-item-body {
	width: calc(100% - 220px);
	margin-left: 40px;
}

.recruit-work-item-title {
	color: #fff;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.5;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-work-item-title span {
	color: #59c3e1;
}

.recruit-work-item-text {
	margin: 40px 0 0;
}

.recruit-work-item-text p {
	color: #fff;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

#recruit-interview {
	background: #eff8fe;
}

.recruit-interview-list {
	margin: 60px 0 0;
}

.recruit-interview-item {
	padding: 40px;
	border-radius: 10px;
	background: #fff;
}

.recruit-interview-item + .recruit-interview-item {
	margin-top: 40px;
}

.recruit-interview-meta {
	align-items: center;
}

.recruit-interview-department {
	padding: 10px 20px;
	border-radius: 15px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	font-family: "Noto Sans JP", sans-serif;
	background: #59c3e1;
}

.recruit-interview-item:nth-child(even) .recruit-interview-department {
	background: #00508e;
}

.recruit-interview-name {
	margin-left: 20px;
	color: #595757;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-joined {
	margin-left: 20px;
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-content {
	margin: 30px 0 0;
}

.recruit-interview-image {
	width: 300px;
}

.recruit-interview-image img {
	display: block;
	width: 300px;
	height: 300px;
	object-fit: cover;
}

.recruit-interview-text-box {
	width: calc(100% - 340px);
	margin-left: 40px;
}

.recruit-interview-title {
	color: #595757;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-text {
	margin: 30px 0 0;
}

.recruit-interview-text p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-btn {
	margin: 40px 0 0;
	text-align: right;
}

.recruit-interview-btn a {
	display: inline-block;
	box-sizing: border-box;
	width: 220px;
	height: 54px;
	border: 1px solid #d7d7d7;
	border-radius: 27px;
	text-align: center;
	background: #fff;
}

.recruit-interview-btn a span {
	position: relative;
	display: inline-block;
	padding-right: 22px;
	color: #595757;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 52px;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-btn a span::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 6px;
	height: 6px;
	border-top: 1px solid #595757;
	border-right: 1px solid #595757;
	transform: translateY(-50%) rotate(45deg);
}

.recruit-interview-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100dvw;
	height: 100dvh;
	padding: 0 20px;
	background-color: rgba(0, 0, 0, 0.5);
	box-sizing: border-box;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
	z-index: 1001;
}

.recruit-interview-modal.is-active {
	opacity: 1;
	visibility: visible;
}

.recruit-interview-modal-container {
	position: relative;
	width: 100%;
	max-width: 1040px;
	margin: 100px auto;
}

.recruit-interview-modal-wrap {
	position: relative;
	padding: 80px 60px;
	border-radius: 10px;
	background: #fff;
}

.recruit-interview-modal-close {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 20px;
	right: 20px;
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background-color: #00508e;
	color: #fff;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}

.recruit-interview-modal-close.bottom {
	position: static;
	margin: 50px 0 0 auto;
}

.recruit-interview-modal-head {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	overflow: hidden;
	border-radius: 10px;
}

.recruit-interview-modal-image {
	flex-shrink: 0;
}

.recruit-interview-modal-meta {
	flex: 1;
}

.recruit-interview-modal-image {
	width: 300px;
}

.recruit-interview-modal-image img {
	display: block;
	width: 300px;
	height: 300px;
	object-fit: cover;
}

.recruit-interview-modal-meta {
	box-sizing: border-box;
	width: calc(100% - 300px);
	padding: 40px;
	background-color: #00508e;
}

.recruit-interview-modal-department {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 15px;
	background-color: #fff;
	color: #00508e;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-modal-name-box {
	margin: 25px 0 0;
}

.recruit-interview-modal-name {
	color: #fff;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-modal-joined {
	margin: 8px 0 0;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-modal-title {
	margin: 24px 0 0;
	color: #fff;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-modal-body {
	margin: 60px 0 0;
}

.recruit-interview-modal-section + .recruit-interview-modal-section {
	margin-top: 40px;
}

.recruit-interview-modal-section-title {
	color: #595757;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-interview-modal-section-text {
	margin: 16px 0 0;
}

.recruit-interview-modal-section-text p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
	.recruit-interview-modal-container {
		margin: 80px auto 40px;
	}

	.recruit-interview-modal-wrap {
		padding: 70px 20px 30px;
	}

	.recruit-interview-modal-head {
		display: block;
	}

	.recruit-interview-modal-image,
	.recruit-interview-modal-meta {
		width: 100%;
	}

	.recruit-interview-modal-image img {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.recruit-interview-modal-meta {
		padding: 30px 20px;
	}

	.recruit-interview-modal-name {
		font-size: 2.2rem;
	}

	.recruit-interview-modal-joined,
	.recruit-interview-modal-title,
	.recruit-interview-modal-body p {
		font-size: 1.4rem;
	}

	.recruit-interview-modal-body {
		margin-top: 35px;
	}

	.recruit-interview-modal-close {
		width: 42px;
		height: 42px;
		font-size: 2.2rem;
	}
	.recruit-interview-modal-section + .recruit-interview-modal-section {
		margin-top: 30px;
	}

	.recruit-interview-modal-section-title {
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.recruit-interview-modal-section-text p {
		font-size: 1.4rem;
		line-height: 2;
	}
}

.recruit-requirements-table {
	margin: 60px 0 0;
	border-top: 1px solid #dddddd;
}

.recruit-requirements-row {
	padding: 20px 0;
	border-bottom: 1px solid #dddddd;
	align-items: flex-start;
}

.recruit-requirements-th {
	width: 160px;
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-requirements-td {
	width: calc(100% - 160px);
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-entry-banner-inner {
	padding: 148px 20px 142px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100%;
}

.recruit-entry-banner-content {
	align-items: center;
	max-width: 1040px;
	width: 100%;
	margin: 0 auto;
}

.recruit-entry-banner-text-box {
	width: calc(100% - 110px);
}

.recruit-entry-banner-title {
	color: #fff;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-entry-banner-text {
	margin: 25px 0 0;
}

.recruit-entry-banner-text p {
	color: #fff;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-entry-banner-btn a {
	position: relative;
	display: block;
	width: 56px;
	height: 56px;
	border: 1px solid #fff;
	border-radius: 50%;
}

.recruit-entry-banner-btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translate(-60%, -50%) rotate(45deg);
}
#recruit #banner {
	display: none;
}
@media screen and (max-width: 767px) {
	#recruit-person .recruit-person-content {
		display: block;
		margin-top: 40px;
	}

	.recruit-person-text-box,
	.recruit-person-image {
		width: 100%;
	}

	.recruit-person-item-text {
		width: calc(100% - 40px);
		margin-left: 20px;
		font-size: 2.2rem;
		line-height: 1.5;
	}

	.recruit-person-text {
		margin-top: 24px;
	}

	.recruit-person-text p {
		font-size: 1.4rem;
		line-height: 2;
	}

	.recruit-person-image {
		margin-top: 30px;
	}

	.recruit-person-image img {
		width: 100%;
		height: auto;
		aspect-ratio: 5 / 4;
	}

	#recruit-work {
		padding: 80px 0;
	}

	.recruit-work-head-icon {
		width: 20px;
	}

	.recruit-work-head-ja {
		margin-left: 14px;
		font-size: 2.4rem;
		line-height: 1.4;
	}

	.recruit-work-head-en {
		margin: 14px 0 0 34px;
		font-size: 1rem;
		line-height: 1.4;
	}

	.recruit-work-list {
		margin-top: 40px;
	}

	.recruit-work-item {
		display: block;
	}

	.recruit-work-item-icon {
		width: 140px;
		margin: 0 auto;
	}

	.recruit-work-item-icon img {
		width: 140px;
		height: 140px;
	}

	.recruit-work-item-body {
		width: 100%;
		margin: 24px 0 0;
	}

	.recruit-work-item-title {
		font-size: 2.4rem;
		line-height: 1.5;
		text-align: center;
	}

	.recruit-work-item-text {
		margin-top: 24px;
	}

	.recruit-work-item-text p {
		font-size: 1.4rem;
		line-height: 2;
	}

	.recruit-interview-list {
		margin-top: 40px;
	}

	.recruit-interview-item {
		padding: 25px 20px;
	}

	.recruit-interview-meta {
		display: block;
	}

	.recruit-interview-department {
		display: inline-block;
		font-size: 1.4rem;
	}

	.recruit-interview-name {
		margin: 16px 0 0;
		font-size: 1.8rem;
		line-height: 1.4;
	}

	.recruit-interview-joined {
		margin: 10px 0 0;
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.recruit-interview-content {
		display: block;
		margin-top: 24px;
	}

	.recruit-interview-image {
		width: 100%;
	}

	.recruit-interview-image img {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.recruit-interview-text-box {
		width: 100%;
		margin: 24px 0 0;
	}

	.recruit-interview-title {
		font-size: 2rem;
		line-height: 1.5;
	}

	.recruit-interview-text {
		margin-top: 20px;
	}

	.recruit-interview-text p {
		font-size: 1.4rem;
		line-height: 2;
	}

	.recruit-interview-btn {
		margin-top: 24px;
		text-align: left;
	}

	.recruit-interview-btn a {
		width: 100%;
		max-width: 220px;
	}

	.recruit-requirements-table {
		margin-top: 40px;
	}

	.recruit-requirements-row {
		display: block;
		padding: 18px 0;
	}

	.recruit-requirements-th,
	.recruit-requirements-td {
		width: 100%;
		font-size: 1.4rem;
		line-height: 2;
	}

	.recruit-requirements-td {
		margin-top: 8px;
	}

	#recruit-entry-banner {
		padding: 80px 0;
	}

	.recruit-entry-banner-inner {
		padding: 35px 20px;
	}

	.recruit-entry-banner-content {
		display: block;
	}

	.recruit-entry-banner-text-box {
		width: 100%;
	}

	.recruit-entry-banner-title {
		font-size: 2.4rem;
		line-height: 1.4;
	}

	.recruit-entry-banner-text {
		margin-top: 20px;
	}

	.recruit-entry-banner-text p {
		font-size: 1.4rem;
		line-height: 2;
	}

	.recruit-entry-banner-btn {
		margin-top: 24px;
	}

	.recruit-entry-banner-btn a {
		margin-left: auto;
	}
}

#recruit-entry-banner {
	display: none;
}

#recruit-entry-form {
	padding: 148px 0 142px;
	background-color: #eff8fe;
}

.recruit-entry-form-intro {
	margin: 60px 0 0;
}

.recruit-entry-form-intro p {
	color: #595757;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
}

.recruit-entry-form-box {
	margin: 60px 0 0;
}

@media screen and (max-width: 767px) {
	#recruit-entry-form {
		padding: 80px 0;
	}

	.recruit-entry-form-intro {
		margin-top: 40px;
	}

	.recruit-entry-form-intro p {
		font-size: 1.4rem;
		line-height: 2;
	}

	.recruit-entry-form-box {
		margin-top: 40px;
	}
}
