body {
	color: #0a0a0a;
	font-family: "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight: 500;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

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

html {
	font-size: 16px;
}

*,
*::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 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 ease-in;
}

a:hover {
	opacity: 0.7;
}

a[href^="tel:"] {
	pointer-events: none;
}

.about-mizuho__inner {
	display: flex;
	justify-content: space-between;
}

.about-mizuho__text {
	color: #3075a2;
	font-size: 1.0625rem;
	line-height: 1.76;
	margin-top: 1.875rem;
}

.about-mizuho__image {
	-o-object-fit: cover;
	aspect-ratio: 185/262;
	border: 1px solid #d5d5d5;
	margin-top: 1.875rem;
	max-width: 11.5625rem;
	object-fit: cover;
	width: 100%;
}

.about-mizuho__image-message {
	border: 1px solid #0a0a0a;
	border-radius: 0.625rem;
	margin-top: 1.875rem;
	max-width: 20.9375rem;
	width: 100%;
}

.about-mizuho__image-message img {
	-o-object-fit: cover;
	aspect-ratio: 335/494;
	border-radius: 0.625rem;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.about-mizuho__inner-message {
	display: flex;
	gap: 4%;
}

.about-mizuho__signature {
	color: #3075a2;
	font-size: 1.0625rem;
	font-weight: bold;
	line-height: 1.76;
	margin-top: 1.25rem;
}

.about-mizuho__values {
	grid-gap: 2.2%;
	display: grid;
	gap: 2.2%;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.3125rem;
}

.about-mizuho__value {
	background-color: #5990b4;
	border: 1px solid #0a0a0a;
	border-radius: 0.625rem;
	color: #fff;
	padding: 1.875rem 1.5625rem 1.5625rem;
}

.about-mizuho__value-number {
	border: 1px solid #fff;
	border-radius: 0.3125rem;
	font-size: 1.5rem;
	font-weight: bold;
	height: 2.9375rem;
	line-height: 2;
	margin: 0 auto;
	text-align: center;
	width: 2.9375rem;
}

.about-mizuho__value-title {
	font-size: 1.25rem;
	font-weight: bold;
	margin-top: 1.625rem;
	text-align: center;
}

.about-mizuho__value-text {
	font-size: 0.9375rem;
	line-height: 2;
	margin-top: 1.25rem;
}

.about-mizuho__company {
	margin-top: 2.875rem;
}

.about-mizuho__table {
	background-color: white;
	border-collapse: collapse;
	border-top: 1px solid #d5d5d5;
	width: 100%;
}

.about-mizuho__row {
	border-bottom: 1px solid #d5d5d5;
}

.about-mizuho__header {
	background-color: #5990b4;
	border-right: 1px solid #d5d5d5;
	color: white;
	font-size: 1.0625rem;
	font-weight: bold;
	padding: 1rem 0 1rem 1.25rem;
	text-align: left;
	vertical-align: top;
	width: 16.2%;
}

.about-mizuho__data {
	color: #3075a2;
	font-size: 1.0625rem;
	padding: 1rem 0 1rem 1.25rem;
}

.about-mizuho__address {
	color: #3075a2;
	font-size: 1.0625rem;
}

body.no-scroll {
	overflow: hidden;
}

.wrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	flex: 1;
}

.inner {
	margin: 0 auto;
	max-width: 71.875rem;
	padding: 0 1.5625rem;
	width: 100%;
}

.section-title {
	background: linear-gradient(to right, #cbc338, #5990b4);
	color: #fff;
	display: inline-block;
	font-family: "M PLUS 1p", serif;
	font-size: 4.75rem;
	font-weight: 900;
	letter-spacing: -0.125rem;
	line-height: 1.1;
	padding: 0 0.9375rem;
	position: relative;
	text-transform: uppercase;
	z-index: 1;
}

.section-title.u-mobile {
	display: none;
}

.section-intro {
	color: #3075a2;
	writing-mode: vertical-rl;
}

.section-subtitle {
	font-family: "M PLUS 1p", serif;
	font-size: 2.5rem;
	font-weight: 900;
	letter-spacing: 0.28125rem;
	margin-left: 1rem;
}

.section-description {
	color: #3075a2;
	font-size: 1.125rem;
	letter-spacing: 0.125rem;
	margin-left: 2.25rem;
	margin-top: -0.125rem;
}

.section-arrow {
	position: relative;
}

.section-arrow::before {
	animation-duration: 300ms;
	animation-fill-mode: both;
	background: url(../images/top/arrow-b.svg) no-repeat center center/cover;
	bottom: 2.875rem;
	content: "";
	height: 1.105rem;
	position: absolute;
	right: 2.8125rem;
	width: 1.160625rem;
	z-index: 2;
}

.section-arrow::after {
	background-color: #fff;
	border-radius: 50%;
	bottom: 1.875rem;
	content: "";
	height: 3.125rem;
	position: absolute;
	right: 1.875rem;
	transition-duration: 320ms;
	width: 3.125rem;
	z-index: 1;
}

.section-sub-arrow {
	position: relative;
}

.section-sub-arrow::before {
	animation-duration: 300ms;
	animation-fill-mode: both;
	background: url(../images/top/arrow-b.svg) no-repeat center center/cover;
	bottom: 2.875rem;
	content: "";
	height: 1.105rem;
	position: absolute;
	right: 2.8125rem;
	width: 1.160625rem;
	z-index: 2;
}

.section-sub-arrow::after {
	animation-duration: 300ms;
	animation-fill-mode: both;
	background-color: #fff;
	border-radius: 50%;
	bottom: 1.875rem;
	content: "";
	height: 3.125rem;
	position: absolute;
	right: 1.875rem;
	width: 3.125rem;
	z-index: 1;
}

.section-arrow-after {
	bottom: 2.875rem;
	height: 1.105rem;
	opacity: 0;
	position: absolute;
	right: 4.375rem;
	transition: right 0.2s ease-in;
	width: 1.160625rem;
	z-index: 3;
}

.lower-layout {
	margin-top: 10.0625rem;
}

.lower__inner {
	margin: 0 auto;
	max-width: 86.875rem;
	padding: 0 1.5625rem;
	width: 100%;
}

.lower-mizuho__section:first-child {
	padding-top: 5rem;
}

.lower-mizuho__section:last-child {
	padding-bottom: 5rem;
}

.lower-mizuho__section--s {
	padding-top: 4.375rem;
}

.lower-mizuho__section:not(:first-child) {
	padding-top: 5.25rem;
}

.lower-mizuho__section--r {
	background-color: #5990b4;
	border-radius: 0.625rem;
	padding: 2.5rem 2.5rem 2.375rem;
}

.lower-mizuho__section--r-wrap {
	padding-top: 5rem;
}

.lower-section-subtitle {
	color: #3075a2;
	font-family: "M PLUS 1p", serif;
	font-size: 4.75rem;
	font-weight: 900;
	letter-spacing: -0.1125rem;
	text-transform: uppercase;
}

.lower-section-title {
	color: #3075a2;
	font-family: "M PLUS 1p", serif;
	font-size: 1.75rem;
	font-weight: 900;
	letter-spacing: -0.1em;
}

.lower__content {
	grid-gap: clamp(1.875rem, -22.406rem + 35vw, 7.563rem);
	display: grid;
	display: flex;
	gap: clamp(1.875rem, -22.406rem + 35vw, 7.563rem);
}

.lower__nav {
	flex-shrink: 0;
	margin-top: 4.0625rem;
	width: 12.5rem;
}

.lower__nav-list {
	position: sticky;
	top: 6.25rem;
	z-index: 2;
}

.lower__nav-item:not(:first-child) {
	margin-top: 1.25rem;
}

.lower__nav-item a {
	display: block;
	letter-spacing: 0.0625rem;
	padding: 0.75rem 0;
	position: relative;
}

.lower__nav-item a:hover {
	opacity: 1;
}

.lower__nav-item a:hover::before {
	width: 100%;
}

.lower__nav-item a::before {
	background: #d5d5d5;
	bottom: 0.125rem;
	content: "";
	display: block;
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: 0.25s width;
	width: 0%;
}

.lower__nav-item a::after {
	background: url(../images/top/arrow-b.svg) no-repeat center center/cover;
	content: "";
	height: 0.904375rem;
	position: absolute;
	right: 0.75rem;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	width: 0.95rem;
}

.lower__nav-item a.is-current::before {
	display: block;
	left: 0;
	width: 100%;
}

.lower__section {
	margin-top: -0.375rem;
}

.lower__section-title {
	color: #3075a2;
	font-size: 1.25rem;
	font-weight: bold;
	position: relative;
	z-index: 1;
}

.lower__section-title::after {
	background-color: #3075a2;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.lower__section-title span {
	background-color: #fff;
	padding-right: 1.25rem;
	position: relative;
	z-index: 1;
}

.lower__section-subtitle {
	color: #3075a2;
	font-family: "M PLUS 1p", serif;
	font-size: 1.75rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	margin-top: 1.875rem;
}

.target {
	display: inline-block;
	opacity: 0;
	transform: translateY(1em);
	transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.target.show {
	opacity: 1;
	transform: translateY(0);
}

.lower__section-title--w {
	color: #fff;
}

.lower__section-title--w::after {
	background-color: #fff;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.lower__section-title--w span {
	background-color: #5990b4;
}

.lower__section-subtitle--w {
	color: #fff;
}

/* 共通のアニメーション設定 */

.job-description__step,
.interview__highlight {
	opacity: 0;
	transform: translateX(-50px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.job-description__step.is-visible,
.interview__highlight.is-visible {
	opacity: 1;
	transform: translateX(0);
}

.recruit__step,
.about-mizuho__value {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.recruit__step.is-visible,
.about-mizuho__value.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.section-faq {
	margin-top: 5.625rem;
	padding-bottom: 7.75rem;
}

.section-faq__inner {
	margin: 0 auto;
	max-width: 66.875rem;
	padding: 0 1.5625rem;
	width: 100%;
}

.faq-list__item {
	background-color: #f5f5f5;
	border-radius: 0.625rem;
	position: relative;
}

.faq-list__item-q,
.faq-list__item-a {
	position: relative;
}

.faq-list__item::before {
	background-color: #3075a2;
	border-radius: 0.3125rem;
	content: "";
	height: 2.9375rem;
	left: 1.875rem;
	position: absolute;
	top: 1.25rem;
	width: 2.9375rem;
}

.faq-list__item::after {
	border-radius: 0.3125rem;
	color: #fff;
	content: "Q";
	font-family: "M PLUS 1p", serif;
	font-size: 1.5rem;
	font-weight: bold;
	left: 2.75rem;
	position: absolute;
	top: 1.625rem;
}

.faq-list__item-a::before {
	background-color: #cbc338;
	border-radius: 0.3125rem;
	content: "";
	height: 2.9375rem;
	left: -4.5625rem;
	position: absolute;
	top: 50%;
	transform: translateY(-43%);
	width: 2.9375rem;
}

.faq-list__item-a::after {
	border-radius: 0.3125rem;
	color: #fff;
	content: "A";
	font-family: "M PLUS 1p", serif;
	font-size: 1.5rem;
	left: -3.625rem;
	position: absolute;
	top: 50%;
	transform: translateY(-40%);
}

.faq-list__item:not(:first-child) {
	margin-top: 2.0625rem;
}

.faq-list__item-question {
	color: #3075a2;
	cursor: pointer;
	font-size: 1.0625rem;
	font-weight: bold;
	line-height: 1.76;
	padding: 1.75rem 6.375rem 1.75rem 6.375rem;
}

.faq-list__item-wrap {
	position: relative;
}

.faq-list__item-wrap::before,
.faq-list__item-wrap::after {
	background: #3075a2;
	content: "";
	height: 0.0625rem;
	position: absolute;
	right: 1.875rem;
	top: 50%;
	transition: 0.3s;
	width: 1.5rem;
}

.faq-list__item-wrap::after {
	transform: rotate(90deg);
}

.faq-list__item-wrap.is-open::after {
	transform: rotate(0deg);
}

.faq-list__item-answer {
	color: #3075a2;
	display: none;
	font-size: 1.0625rem;
	line-height: 1.76;
	padding: 0.5625rem 6.5rem 1.875rem 6.4375rem;
}

.layout-footer {
	margin-top: 0.625rem;
	padding-bottom: 4.0625rem;
}

.footer__inner {
	margin: 0 auto;
	max-width: 115.625rem;
	padding: 0 1.5625rem;
	width: 100%;
}

.footer__mv {
	position: relative;
}

.footer__mv::after {
	background-color: rgba(46, 152, 155, 0.6);
	border-radius: 0.625rem;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.footer__mv-img img {
	-o-object-fit: cover;
	aspect-ratio: 1800/484;
	border-radius: 0.625rem;
	object-fit: cover;
	width: 100%;
}

.footer__mv-text {
	color: #fff;
	font-family: "M PLUS 1p", serif;
	font-size: 2.5rem;
	font-weight: 900;
	left: 50%;
	letter-spacing: 0.5rem;
	line-height: 1.5;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 1;
}

.footer__wrap {
	align-items: center;
	display: flex;
	height: 4.6875rem;
	margin-left: auto;
	margin-top: 2rem;
	max-width: 102.3125rem;
	padding: 0 1.25rem 0;
	width: 100%;
}

.footer__logo {
	height: inherit;
	max-width: clamp(6.25rem, -2.986rem + 12.96vw, 10.625rem);
	width: 100%;
}

.footer__logo a {
	align-items: center;
	display: flex;
	font-weight: bold;
	height: inherit;
}

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

.footer__nav {
	height: inherit;
	padding-left: clamp(0.625rem, -26.819rem + 38.52vw, 13.625rem);
}

.footer__nav-list {
	align-items: center;
	display: flex;
	height: inherit;
}

.footer__nav-item {
	height: inherit;
}

.footer__nav-link {
	align-items: center;
	display: flex;
	font-weight: bold;
	height: inherit;
	padding: 0 1rem;
	text-transform: uppercase;
}

.footer__nav-link.footer__nav-link--contact {
	align-items: center;
	display: flex;
	height: inherit;
}

.footer__nav-link.footer__nav-link--contact img {
	margin-left: 0.3125rem;
	width: 0.68125rem;
}

.footer__copyright {
	font-size: 0.625rem;
	font-weight: 400;
	margin-left: auto;
	margin-top: 2.375rem;
}

.layout-header {
	left: 50%;
	position: fixed;
	top: 1.875rem;
	transform: translateX(-50%);
	z-index: 900;
}

.header {
	background-color: #cbc338;
	border: solid 1px #fff;
	border-radius: 2.0625rem;
	height: 4.125rem;
	max-width: 62.5rem;
	width: 100%;
}

.header__inner {
	display: flex;
	height: inherit;
	padding: 0 2.25rem 0 2.8125rem;
}

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

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

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

.header__nav {
	height: inherit;
	margin-left: auto;
}

.header__nav-list {
	display: flex;
	height: inherit;
}

.header__nav-item {
	height: inherit;
}

.header__nav-item.header__nav-item--last {
	margin-right: 1.125rem;
}

.header__nav-item.header__nav-item--contact {
	align-items: center;
	display: flex;
	position: relative;
}

.header__nav-item--contact::before {
	background-color: #fff;
	content: "";
	height: 2.0625rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.0625rem;
}

.header__nav-item a {
	align-items: center;
	color: #fff;
	display: flex;
	font-weight: bold;
	height: inherit;
	padding: 0 1rem;
	text-transform: uppercase;
}

.header__nav-item.header__nav-item--contact a {
	color: #fff;
	height: inherit;
	margin-left: 1.125rem;
	padding: 0 1rem;
	position: relative;
}

.header__nav-item.header__nav-item--contact a::after {
	background: url(../images/top/feather-external-link.svg) no-repeat center center/cover;
	content: "";
	display: inline-block;
	height: 0.67875rem;
	margin-left: 0.625rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.67875rem;
}

.header__menu {
	display: none;
}

.header__drawer {
	display: none;
}

.not-found {
	margin-top: 8.125rem;
}

.not-found__content {
	background-color: #5990b4;
	border-radius: 0.625rem;
	padding: 1.25rem;
}

.not-found__title {
	color: #fff;
	font-family: "M PLUS 1p", serif;
	font-size: 5rem;
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
}

.not-found__subtitle {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 500;
	margin-top: -0.625rem;
	text-align: center;
}

.not-found__text {
	font-size: 1.0625rem;
	margin-top: 1.25rem;
	text-align: center;
}

.not-found__img {
	margin: 1.25rem auto 0;
	max-width: 18.75rem;
	width: 100%;
}

.not-found__img img {
	-o-object-fit: cover;
	aspect-ratio: 473/385;
	object-fit: cover;
	width: 100%;
}

.interview__header {
	margin-top: 0.375rem;
}

.interview__profile {
	display: flex;
	gap: 3.4%;
}

.interview__image {
	-o-object-fit: cover;
	aspect-ratio: 140/140;
	border: 1px solid #0a0a0a;
	border-radius: 50%;
	height: 8.75rem;
	margin-top: 2rem;
	object-fit: cover;
	width: 8.75rem;
}

.interview__info {
	flex: 1;
}

.interview__highlight {
	margin-top: 1.25rem;
}

.interview__highlight-title {
	background-color: #cbc338;
	border-radius: 0.625rem 0.625rem 0 0;
	color: #fff;
	font-size: 1.25rem;
	font-weight: bold;
	padding-top: 0.25rem;
	text-align: center;
	width: 14.375rem;
}

.interview__highlight-text {
	background-color: #cbc338;
	border-radius: 0 0.625rem 0.625rem 0.625rem;
	font-weight: 600;
	margin-top: -0.25rem;
	width: 100%;
}

.interview__highlight-text span {
	color: #fff;
	display: block;
	font-size: 1.4375rem;
	font-weight: 600;
	padding: 0.8125rem 1.5625rem;
}

.interview__content {
	margin-top: 2.5rem;
}

.interview__section:not(:first-child) {
	margin-top: 3.125rem;
}

.interview__question {
	color: #3075a2;
	font-size: 1.25rem;
	font-weight: bold;
	padding-bottom: 0.375rem;
	position: relative;
}

.interview__question::after {
	background: url(../images/people/dashed.png) no-repeat center center/cover;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	width: 100%;
}

.interview__answer {
	color: #3075a2;
	font-size: 1.0625rem;
	line-height: 1.76;
	margin-top: 0.875rem;
}

.interview__answer-wrap {
	align-items: end;
	background-color: #f5f5f5;
	border-radius: 0.625rem;
	display: flex;
	gap: 4%;
	justify-content: space-between;
	margin-top: 1.875rem;
	padding: 2.75rem clamp(0.625rem, -6.25rem + 10vw, 2.5rem) 2.875rem clamp(0.625rem, -6.25rem + 10vw, 2.5rem);
}

.interview__answer-content {
	position: relative;
}

.interview__answer-row {
	align-items: baseline;
	display: flex;
	position: relative;
}

.interview__answer-row:not(:first-child) {
	margin-top: 1.8125rem;
}

.interview__answer-head {
	color: #3075a2;
	font-size: 1.0625rem;
	font-weight: bold;
	line-height: 1.76;
	padding-left: clamp(2.813rem, -2.458rem + 7.67vw, 4.25rem);
	position: relative;
}

.interview__answer-head::before {
	background-color: #cbc338;
	border-radius: 50%;
	content: "";
	height: 1.25rem;
	left: 1.25rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
}

.interview__answer-row:not(:last-child) .interview__answer-body::after {
	background-color: #cbc338;
	content: "";
	height: 144%;
	left: 1.875rem;
	position: absolute;
	top: 1.5rem;
	width: 0.0625rem;
}

.interview__answer-body {
	color: #3075a2;
	font-size: 1.0625rem;
	line-height: 1.76;
	margin-left: 2.5rem;
}

.interview__answer-img {
	border-radius: 0.625rem;
	height: 100%;
	max-width: clamp(12.5rem, -18.438rem + 45vw, 20.938rem);
	width: 100%;
}

.interview__answer-img img {
	-o-object-fit: cover;
	aspect-ratio: 335/370;
	border: 1px solid #0a0a0a;
	border-radius: 0.625rem;
	object-fit: cover;
	width: 100%;
}

.mv {
	border: 0.625rem solid #cbc338;
	height: 100vh;
	height: 100dvh;
	min-height: 37.5rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.mv::before {
	background: url(../images/top/repeat-grid.png) no-repeat center center/cover;
	content: "";
	height: 100vh;
	height: 100vh;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.mv__video {
	-o-object-fit: cover;
	height: 100%;
	left: 50%;
	min-height: 37.5rem;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.mv__title {
	left: 50%;
	max-width: 50rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.mv__entry-btn {
	bottom: 2.8125rem;
	position: fixed;
	right: 2.8125rem;
	z-index: 100;
}

.mv__entry-btn a {
	align-items: center;
	background-color: #cbc338;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-family: "M PLUS 1p", serif;
	font-size: 1.25rem;
	font-weight: 900;
	height: 10rem;
	justify-content: center;
	letter-spacing: 0.03125rem;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	width: 10rem;
}

.mv__entry-btn a::after {
	border: 1px solid #fff;
	border-radius: 50%;
	content: "";
	height: 9.375rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 9.375rem;
}

.recruitment {
	overflow: hidden;
	position: relative;
}

.layout-recruitment {
	margin-top: 6.25rem;
	padding-bottom: 11.25rem;
}

.recruitment__circle-img {
	left: 50%;
	max-width: 56.25rem;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
}

.recruitment__circle-img img {
	animation: rotate 40s infinite linear;
	transform: rotate(0deg);
}

.recruitment__content {
	margin: 0 auto;
	margin-top: 6.25rem;
}

.recruitment__content-img {
	margin: 0 auto;
	max-width: 19.75rem;
	width: 100%;
}

.recruitment__content-img img {
	-o-object-fit: cover;
	aspect-ratio: 316/139;
	object-fit: cover;
	width: 100%;
}

.recruitment__catchphrase {
	color: #3075a2;
	font-family: "M PLUS 1p", serif;
	font-size: 1.875rem;
	font-weight: bold;
	letter-spacing: 0.09375rem;
	line-height: 1.56;
	margin-top: 1.875rem;
	text-align: center;
}

.recruitment__details {
	color: #3075a2;
	font-size: 1.25rem;
	line-height: 2;
	margin-top: 1.5625rem;
	text-align: center;
}

.recruitment__details-l {
	font-size: 1.625rem;
}

.recruitment__details-ls {
	font-size: 1.6875rem;
}

.recruitment__img {
	margin: 0 auto;
	margin-top: 1.875rem;
	max-width: 27.25rem;
	width: 100%;
}

.recruitment__images {
	left: 50%;
	max-width: 60.75rem;
	position: absolute;
	top: 1.5625rem;
	transform: translateX(-50%);
	width: 100%;
}

.about {
	overflow: hidden;
	position: relative;
}

.about__content {
	display: flex;
}

.about__intro {
	margin-top: 1.875rem;
}

.about__grid {
	grid-column-gap: 1.625rem;
	grid-row-gap: 1.625rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr 0.62fr;
	margin-left: 2.0625rem;
	margin-top: -2.6875rem;
}

.about__item {
	border: 1px solid #0a0a0a;
	border-radius: 0.625rem;
	overflow: hidden;
	position: relative;
}

.about__item a {
	border-radius: 0.625rem;
	display: block;
	overflow: hidden;
}

.about__item a:hover .section-arrow::before {
	animation-name: arrowBefore;
}

.about__item a:hover .section-sub-arrow::before {
	animation-name: arrowBefore;
}

.about__item a:hover .section-arrow::after {
	background-color: #3075a2;
}

.about__item a:hover .section-sub-arrow::after {
	background-color: #3075a2;
}

.about__item a:hover .section-arrow-after {
	opacity: 1;
	right: 2.8125rem;
}

.about__item a:hover {
	opacity: 1;
}

.about__item a:hover img {
	transform: scale(1.1);
}

.about__item--job-img {
	-o-object-fit: cover;
	aspect-ratio: 900/550;
	object-fit: cover;
	width: 100%;
}

.about__item--message-img {
	-o-object-fit: cover;
	aspect-ratio: 437/342;
	object-fit: cover;
	width: 100%;
}

.about__item--company-img {
	-o-object-fit: cover;
	aspect-ratio: 437/342;
	object-fit: cover;
	width: 100%;
}

.about__item a img {
	display: block;
	height: auto;
	transition: transform 0.3s ease-in-out;
	width: 100%;
}

.about__item--job {
	grid-area: 1/1/2/3;
}

.about__item--message {
	grid-area: 2/1/3/2;
}

.about__item--company {
	grid-area: 2/2/3/3;
}

.about__label {
	background-color: #fff;
	color: #3075a2;
	font-family: "M PLUS 1p", serif;
	font-size: 1.875rem;
	font-weight: 900;
	left: 1.875rem;
	padding: 0.1875rem 0.8125rem;
	position: absolute;
}

.about__item--job .about__label {
	bottom: 4.375rem;
}

.about__item--message .about__label {
	bottom: 1.875rem;
}

.about__item--company .about__label {
	bottom: 1.875rem;
}

.about__caption {
	bottom: 1.875rem;
	color: #fff;
	font-family: "M PLUS 1p", serif;
	font-size: 1.125rem;
	font-weight: 900;
	left: 1.875rem;
	position: absolute;
	text-shadow: 1px 1px #3075a2;
}

.about__illustration {
	bottom: 0;
	position: absolute;
	right: calc(50% + 385px);
	width: 21.875rem;
}

.about__illustration img {
	-o-object-fit: cover;
	aspect-ratio: 350/130;
	object-fit: cover;
	width: 100%;
}

.people {
	background-color: #5990b4;
	padding: 3.125rem 0 17.875rem;
	position: relative;
}

.people::before {
	-o-object-fit: cover;
	aspect-ratio: 755/330;
	background: url(../images/top/top_people-02.png) no-repeat center center/cover;
	content: "";
	height: clamp(10rem, -5.198rem + 21.52vw, 20.625rem);
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: clamp(22.688rem, -12.536rem + 49.87vw, 47.313rem);
}

.people::after {
	-o-object-fit: cover;
	aspect-ratio: 755/330;
	background: url(../images/top/top_people-02.png) no-repeat center center/cover;
	bottom: 0;
	content: "";
	height: clamp(10rem, -5.198rem + 21.52vw, 20.625rem);
	object-fit: cover;
	position: absolute;
	right: 0;
	transform: rotate(180deg);
	width: clamp(22.688rem, -12.536rem + 49.87vw, 47.313rem);
}

.layout-people {
	margin-top: 5.625rem;
	position: relative;
}

.people__img-text {
	bottom: 1.5625rem;
	left: clamp(1.563rem, -1.566rem + 4.43vw, 3.75rem);
	position: absolute;
	width: clamp(15.625rem, 7.579rem + 11.39vw, 21.25rem);
}

.people__img-text img {
	-o-object-fit: cover;
	aspect-ratio: 340/272;
	object-fit: cover;
	width: 100%;
}

.people__character-img {
	animation: bounce 2s ease-out infinite;
	position: absolute;
	right: clamp(1.563rem, -5.142rem + 9.49vw, 6.25rem);
	top: 1.875rem;
	width: clamp(16.438rem, -2.336rem + 26.58vw, 29.563rem);
	z-index: 2;
}

.people__character-img img {
	-o-object-fit: cover;
	aspect-ratio: 473/385;
	object-fit: cover;
	width: 100%;
}

.people__img {
	bottom: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: clamp(31.25rem, -8.979rem + 56.96vw, 59.375rem);
	z-index: 1;
}

.people__subtitle {
	color: #fff;
	font-family: "M PLUS 1p", serif;
	font-size: 5rem;
	font-weight: 900;
	letter-spacing: 0.1875rem;
	text-align: center;
	text-transform: uppercase;
}

.people__title {
	color: #fff;
	font-family: "M PLUS 1p", serif;
	font-size: 2.5rem;
	font-weight: 900;
	letter-spacing: 0.25rem;
	margin-top: -0.625rem;
	text-align: center;
}

.people__text {
	color: #fff;
	font-size: 1.125rem;
	line-height: 2.1;
	margin-top: 2.5rem;
	text-align: center;
}

.people__btn {
	margin: 2.4375rem auto 0;
	max-width: 12.5rem;
	position: relative;
}

.top-btn-arrow {
	animation-duration: 300ms;
	animation-fill-mode: both;
	opacity: 0;
	position: absolute;
	right: 2.75rem;
	top: 38%;
	transform: translateY(-50%);
	width: 0.998125rem;
	z-index: 5;
}

.top-btn a {
	background-color: #c9dfed;
	border-radius: 56.25rem;
	display: block;
	padding: 1.25rem 6.25rem 1.25rem 1.25rem;
	position: relative;
}

.top-btn a:hover {
	opacity: 1;
}

.top-btn a:hover::before {
	opacity: 0;
	right: 0.9375rem;
}

.top-btn a:hover::after {
	background-color: #3075a2;
}

.top-btn a:hover .top-btn-arrow {
	animation-name: arrowAfter;
}

.top-btn a::before {
	animation-duration: 300ms;
	animation-fill-mode: both;
	background: url(../images/top/arrow-b.svg) no-repeat center center/cover;
	content: "";
	height: 0.95rem;
	position: absolute;
	right: 1.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.998125rem;
	z-index: 2;
}

.top-btn a::after {
	animation-duration: 300ms;
	animation-fill-mode: both;
	background-color: #fff;
	border-radius: 50%;
	content: "";
	height: 2.6875rem;
	position: absolute;
	right: 0.9375rem;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color 0.2s ease-in;
	width: 2.6875rem;
	z-index: 1;
}

.faq {
	overflow: hidden;
}

.layout-faq {
	padding-top: 5.625rem;
}

.faq__content {
	display: flex;
}

.faq__intro {
	margin-top: 2rem;
}

.faq__img-content {
	position: relative;
	width: 100%;
}

.faq__img01 {
	left: 4.125rem;
	position: absolute;
	top: -5.1875rem;
	width: clamp(18.75rem, 7.227rem + 16.32vw, 20.688rem);
}

.faq__img01 img {
	-o-object-fit: cover;
	aspect-ratio: 331/331;
	object-fit: cover;
	width: 100%;
}

.faq__img02 img {
	-o-object-fit: cover;
	aspect-ratio: 333/333;
	object-fit: cover;
	width: 100%;
}

.faq__img03 img {
	-o-object-fit: cover;
	aspect-ratio: 337/367;
	object-fit: cover;
	width: 100%;
}

.faq__img02 {
	left: 15.75rem;
	position: absolute;
	top: clamp(8.438rem, 2.862rem + 7.89vw, 9.375rem);
	width: 20.8125rem;
	width: clamp(18.75rem, 7.227rem + 16.32vw, 20.688rem);
}

.faq__img02::after {
	background-color: #fffcc3;
	border: 1px solid #0a0a0a;
	border-radius: 50%;
	content: "";
	height: clamp(21.875rem, 9.609rem + 17.37vw, 22.938rem);
	left: clamp(16.375rem, 2.993rem + 17.95vw, 18.625rem);
	position: absolute;
	top: -9.5625rem;
	width: clamp(21.875rem, 9.609rem + 17.37vw, 22.938rem);
	z-index: -1;
}

.faq__img03 {
	left: clamp(33.75rem, 20.484rem + 17.37vw, 35.813rem);
	position: absolute;
	top: clamp(-0.188rem, -3.161rem + 4.21vw, 0.313rem);
	width: clamp(18.75rem, 7.227rem + 16.32vw, 20.688rem);
	z-index: 3;
}

.faq__img04 {
	animation: float_re 1.8s 2.4s ease-in-out infinite;
	left: 7.625rem;
	position: absolute;
	top: clamp(12.313rem, -5.158rem + 24.74vw, 15.25rem);
	transform: translate(0, 0) rotate(180deg) scale(-1, 1);
	width: 9.5rem;
}

.faq__img05 {
	animation: float_re 1.8s 1.8s ease-in-out infinite;
	left: clamp(29.313rem, 15.188rem + 20vw, 31.688rem);
	position: absolute;
	top: -5.1875rem;
	transform: translate(0, 0) rotate(180deg) scale(-1, 1);
	width: clamp(10.625rem, -1.27rem + 16.84vw, 12.625rem);
	z-index: -1;
}

.faq__img06 {
	animation: float_re 1.8s 1.2s ease-in-out infinite;
	left: clamp(45rem, 16.289rem + 45.32vw, 54.5rem);
	position: absolute;
	top: 15.9375rem;
	transform: translate(0, 0) rotate(260deg) scale(-1, 1);
	width: clamp(7.188rem, -5.822rem + 18.42vw, 8rem);
	z-index: 3;
}

.faq__btn {
	margin-top: 3.3125rem;
	max-width: 12.5rem;
	position: relative;
}

.layout-page-top-wrap {
	margin-top: 1.875rem;
}

.page-top-wrap__inner {
	display: flex;
	justify-content: end;
	margin: 0 auto;
	max-width: 115.625rem;
	padding: 0 1.5625rem;
	width: 100%;
}

.page-top {
	align-items: center;
	color: #3075a2;
	cursor: pointer;
	display: flex;
	font-size: 1.125rem;
	font-weight: 900;
	margin-left: auto;
	max-width: 112.5rem;
	position: relative;
	text-transform: uppercase;
}

.page-top-arrow {
	margin-left: 0.5rem;
	transition: opacity 0.2s ease-in;
}

.page-top-arrow img {
	width: 2.6875rem;
}

.page-top-text {
	font-family: "M PLUS 1p", serif;
	position: relative;
}

.page-top-text::after {
	background-color: #3075a2;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	position: absolute;
	right: 0;
	width: 5.5625rem;
}

.job-description__steps {
	grid-gap: 3.125rem;
	display: grid;
	gap: 3.125rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 1.6875rem;
}

.job-description__text {
	color: #fff;
	font-size: 1.0625rem;
	line-height: 1.76;
	margin-top: 1.25rem;
}

.job-description__step {
	position: relative;
}

.job-description__step-img {
	position: relative;
}

.job-description__step-img img {
	-o-object-fit: cover;
	aspect-ratio: 280/371;
	object-fit: cover;
	width: 100%;
}

.job-description__step:not(:first-child) .job-description__step-img::before {
	background: url(../images/work/work_image-04.png) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: -1.8125rem;
	position: absolute;
	top: 0;
	width: 0.9375rem;
}

.job-description__step-text {
	color: #fff;
	display: flex;
	font-size: 1.0625rem;
	justify-content: center;
	line-height: 1.76;
	margin-top: 1.25rem;
}

.job-description__vehicle-wrap {
	display: flex;
	gap: 2.1875rem;
	margin-top: 1.25rem;
}

.job-description__vehicle {
	background-color: #fff;
	border-radius: 0.625rem;
	display: flex;
}

.job-description__vehicle-image {
	max-width: 19.8125rem;
	width: 100%;
}

.job-description__vehicle-image img {
	-o-object-fit: cover;
	aspect-ratio: 317/210;
	border-radius: 0.625rem;
	object-fit: cover;
	width: 100%;
}

.job-description__vehicle-name {
	align-items: center;
	color: #5990b4;
	display: flex;
	flex-shrink: 0;
	font-size: 1.25rem;
	font-weight: bold;
	justify-content: center;
	width: 8.4375rem;
}

.work-benefits__content {
	display: flex;
	gap: 5%;
	margin-top: 2.1875rem;
}

.work-benefits__point {
	align-items: center;
	display: flex;
}

.work-benefits__point:not(:first-child) {
	margin-top: 2.3125rem;
}

.work-benefits__point-head {
	flex-shrink: 0;
	width: 6.25rem;
}

.work-benefits__text {
	color: #3075a2;
	font-size: clamp(1.25rem, 0.183rem + 1.54vw, 1.5rem);
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1.66;
	margin-left: 2.1875rem;
}

.work-benefits__image {
	border: 1px solid #0a0a0a;
	border-radius: 0.625rem;
	height: 100%;
	max-width: clamp(15.625rem, -7.055rem + 32.69vw, 20.938rem);
	width: 100%;
}

.work-benefits__image img {
	-o-object-fit: cover;
	aspect-ratio: 335/370;
	border-radius: 0.625rem;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.recruit {
	margin-top: -5.125rem;
}

.recruit__text {
	color: #3075a2;
	font-size: 1.0625rem;
	line-height: 1.76;
	margin-top: 7.1875rem;
}

.recruit__steps {
	margin-top: 1.8125rem;
	position: relative;
}

.recruit__step {
	border: 1px solid #0a0a0a;
	border-radius: 0.625rem;
	display: flex;
}

.recruit__step:not(:first-child) {
	margin-top: 1.4375rem;
}

.recruit__step-header {
	background-color: #5990b4;
	border-radius: 0.625rem 0 0 0.625rem;
	flex-shrink: 0;
	max-width: 15rem;
	padding: 1.125rem 0 1.125rem 1.875rem;
	position: relative;
	width: 100%;
}

.recruit__step:not(:last-child) .recruit__step-header::before {
	border-left: 0.8125rem solid transparent;
	border-right: 0.8125rem solid transparent;
	border-top: 1.5rem solid #5990b4;
	bottom: -1.4375rem;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
	z-index: 1;
}

.recruit__step:not(:last-child) .recruit__step-header::after {
	border-left: 0.875rem solid transparent;
	border-right: 0.875rem solid transparent;
	border-top: 1.5625rem solid #0a0a0a;
	bottom: -1.5625rem;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.recruit__step-title {
	color: #fff;
	font-family: "M PLUS 1p", serif;
	font-size: 1.5rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1.45;
}

.recruit__text-content {
	display: flex;
	gap: 5%;
	justify-content: space-between;
}

.recruit__step-text {
	color: #5990b4;
	font-size: 1.0625rem;
	font-weight: bold;
	padding: 1.75rem 1.875rem;
}

.recruit__text-img {
	margin-right: 1.25rem;
	max-width: 18.4375rem;
	width: 100%;
}

.recruit__text-img img {
	-o-object-fit: cover;
	aspect-ratio: 295/199;
	object-fit: cover;
	width: 100%;
}

.benefits {
	margin-top: 1.875rem;
}

.benefits__list {
	grid-row-gap: 1.4375rem;
	grid-column-gap: 1.4375rem;
	-moz-column-gap: 1.4375rem;
	column-gap: 1.4375rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	row-gap: 1.4375rem;
}

.benefits__item {
	background-color: #5990b4;
	border: 1px solid #0a0a0a;
	border-radius: 0.625rem;
	padding: 1.875rem 0;
}

.benefits__number {
	border: 1px solid #fff;
	border-radius: 0.3125rem;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	height: 2.9375rem;
	line-height: 2;
	margin: 0 auto;
	text-align: center;
	width: 2.9375rem;
}

.benefits__name {
	color: #fff;
	font-size: 1.25rem;
	font-weight: bold;
	margin-top: 1.6875rem;
	text-align: center;
}

.benefits__detail {
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.benefits__detail-l {
	font-size: 1.875rem;
}

.benefits__detail-s {
	font-size: 0.9375rem;
}

/* 最初は非表示にする */

.js-bounce {
	opacity: 0;
}

/* スクロール時に追加されるアニメーションクラス */

.bounceIn {
	animation: bounceIn 0.8s ease-in-out;
	opacity: 1;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1150px;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

@media (max-width: 1100px) {

html {
	font-size: 1.4545454545vw;
}

}

@media screen and (max-width: 767px) {

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 16px;
}

.about-mizuho__inner {
	display: block;
}

.about-mizuho__text {
	font-size: 0.875rem;
	line-height: 1.71;
	margin-top: 1.5625rem;
}

.about-mizuho__image {
	margin: 1.5625rem auto 0;
	max-width: none;
	max-width: initial;
	width: 39.8%;
}

.about-mizuho__image-message {
	margin: 1.625rem auto 0;
	max-width: none;
	max-width: initial;
	width: 50.2%;
}

.about-mizuho__image-message img {
	aspect-ratio: 168/247;
}

.about-mizuho__inner-message {
	display: block;
}

.about-mizuho__signature {
	font-size: 0.875rem;
	line-height: 1.71;
	margin-top: 0.5rem;
}

.about-mizuho__values {
	gap: 3%;
	grid-template-columns: repeat(1, 1fr);
	margin: 1.6875rem auto 0;
	max-width: 20.9375rem;
	padding-bottom: 2.8125rem;
	width: 100%;
}

.about-mizuho__value {
	padding: 1.875rem 1.1875rem 1.5625rem;
}

.about-mizuho__value-number {
	font-size: 1.1875rem;
	height: 2.5rem;
	width: 2.5rem;
}

.about-mizuho__value-title {
	font-size: 1.0625rem;
	margin-top: 1.125rem;
}

.about-mizuho__value-text {
	font-size: 0.875rem;
}

.about-mizuho__company {
	margin-top: 1.5rem;
}

.about-mizuho__table {
	border-top: none;
}

.about-mizuho__row {
	border-bottom: none;
}

th,
td {
	display: block;
	width: 100%;
}

.about-mizuho__header {
	font-size: 0.875rem;
	padding: 0.8125rem 0 0.8125rem 0.8125rem;
	vertical-align: baseline;
	vertical-align: initial;
	width: 100%;
}

.about-mizuho__data {
	font-size: 0.875rem;
	padding: 0.8125rem 0 0.8125rem 0.8125rem;
}

.about-mizuho__address {
	font-size: 0.875rem;
}

.inner {
	max-width: 37.5rem;
}

.section-title {
	display: block;
	font-size: 2.25rem;
	letter-spacing: -0.06875rem;
	margin: 0 auto;
	padding: 0.0625rem 1.375rem 0.0625rem 1.5625rem;
	width: -moz-fit-content;
	width: fit-content;
}

.section-title.u-mobile {
	display: inline-block;
	font-size: clamp(1.75rem, -1.159rem + 14.55vw, 2.15rem);
	margin-left: -1.4375rem;
}

.section-intro {
	writing-mode: initial;
}

.section-subtitle {
	font-size: 1.25rem;
	letter-spacing: 0.125rem;
	margin-left: 0;
}

.section-description {
	font-size: 0.875rem;
	letter-spacing: 0;
	margin-left: 0;
	margin-top: 1rem;
}

.section-arrow::before {
	bottom: 1.1875rem;
	height: 0.6675rem;
	right: 1.1875rem;
	width: 0.70125rem;
}

.section-arrow::after {
	bottom: 0.625rem;
	height: 1.875rem;
	right: 0.625rem;
	width: 1.875rem;
}

.section-arrow-after {
	bottom: 1.1875rem;
	height: 0.6675rem;
	right: 1.875rem;
	width: 0.70125rem;
}

.lower-layout {
	margin-top: 6.5625rem;
}

.lower__inner {
	max-width: 37.5rem;
	padding: 0 1.25rem;
}

.lower-mizuho__section:first-child {
	padding-top: 3.375rem;
}

.lower-mizuho__section:last-child {
	padding-bottom: 1.875rem;
}

.lower-mizuho__section--s {
	padding-top: 3.125rem;
}

.lower-mizuho__section:not(:first-child) {
	padding-top: 3.125rem;
}

.lower-mizuho__section--r {
	padding: 2.875rem 1.125rem 2.625rem;
}

.lower-mizuho__section--r-wrap {
	padding-top: 3.125rem;
}

.lower-section-subtitle {
	font-size: 2.25rem;
	letter-spacing: -0.05625rem;
	line-height: 1.08;
}

.lower-section-title {
	font-size: 1.25rem;
	margin-top: 0.25rem;
}

.lower__content {
	display: block;
	margin-top: 2.375rem;
}

.lower__nav {
	margin: 0 auto;
	width: 60%;
}

.lower__nav-item:not(:first-child) {
	margin-top: 0;
}

.lower__nav-item {
	border-bottom: 1px solid #d5d5d5;
}

.lower__nav-item a:hover::before {
	width: 0;
}

.lower__nav-item a {
	font-size: 0.875rem;
	letter-spacing: 0;
	padding: 0.4375rem 0;
}

.lower__nav-item a.is-current::before {
	display: none;
}

.lower__section-title::after {
	top: 0;
	transform: none;
	transform: initial;
}

.lower__section-title span {
	background-color: transparent;
	background-color: initial;
	display: block;
	font-size: 0.875rem;
	padding-right: 0;
	padding-top: 1.25rem;
}

.lower__section-subtitle {
	font-size: 1.25rem;
	line-height: 1.6;
	margin-top: 1.5rem;
}

.lower__section-title--w::after {
	top: 0;
	transform: none;
	transform: initial;
}

.section-faq {
	margin-top: 3rem;
	padding-bottom: 2.5rem;
}

.section-faq__inner {
	max-width: 37.5rem;
	padding: 0;
}

.faq-list__item::before {
	height: 2.0625rem;
	left: 0.8125rem;
	top: 0.8125rem;
	width: 2.0625rem;
}

.faq-list__item::after {
	font-size: 1rem;
	left: 1.4375rem;
	top: 1.0625rem;
}

.faq-list__item-a::before {
	height: 2.0625rem;
	left: -2.6875rem;
	transform: translateY(-49%);
	width: 2.0625rem;
}

.faq-list__item-a::after {
	font-size: 1rem;
	left: -2rem;
	transform: translateY(-46%);
}

.faq-list__item:not(:first-child) {
	margin-top: 1.0625rem;
}

.faq-list__item-question {
	font-size: 0.875rem;
	line-height: 1.64;
	padding: 1.0625rem 3.25rem 1.125rem 3.5rem;
}

.faq-list__item-wrap::before,
.faq-list__item-wrap::after {
	right: 1.25rem;
	width: 1.125rem;
}

.faq-list__item-answer {
	font-size: 0.875rem;
	line-height: 1.71;
	padding: 0.4375rem 3.25rem 1.625rem 3.5rem;
}

.layout-footer {
	margin-top: 0.625rem;
}

.footer__inner {
	max-width: 37.5rem;
	padding: 0 1.25rem;
}

.footer__mv-img img {
	aspect-ratio: 335/140;
}

.footer__mv-text {
	font-size: 1.0625rem;
	letter-spacing: 0.125rem;
}

.footer__wrap {
	display: block;
	height: auto;
	height: initial;
	margin-top: 1.125rem;
}

.footer__logo {
	margin: 0 auto;
	max-width: 6.3125rem;
}

.footer__nav {
	margin-top: 1rem;
	padding-left: 0;
}

.footer__nav-list {
	display: block;
}

.footer__nav-link {
	display: block;
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
	padding: 0.3125rem 0;
	text-align: center;
}

.footer__nav-link.footer__nav-link--contact {
	justify-content: center;
}

.footer__copyright {
	margin-top: 1.375rem;
	text-align: center;
}

.layout-header {
	top: 1.25rem;
	z-index: 1000;
}

.header {
	height: 2.375rem;
	width: 88%;
}

.header__inner {
	padding: 0 0.125rem 0 1rem;
}

.header__hamburger-menu {
	display: flex;
	margin-left: auto;
}

.header__logo {
	max-width: 3.9375rem;
}

.header__nav {
	display: none;
}

.header__menu {
	align-items: center;
	color: #fff;
	display: flex;
	font-size: 0.875rem;
	font-weight: 900;
	margin-right: -0.4375rem;
	text-transform: uppercase;
}

.header__hamburger {
	border: none;
	cursor: pointer;
	height: inherit;
	margin: 0;
	outline: none;
	padding: 0;
	position: relative;
	transition: 0.3s;
	width: 2.5rem;
	z-index: 999;
}

.header__hamburger.is-open {
	background-color: transparent;
}

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

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

.header__hamburger span:nth-of-type(2) {
	top: 0;
}

.header__hamburger span:nth-of-type(3) {
	top: 0.25rem;
}

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

.header__hamburger.is-open span:nth-of-type(2) {
	opacity: 0;
}

.header__hamburger.is-open span:nth-of-type(3) {
	top: -0.125rem;
	transform: translateX(-50%) rotate(-35deg);
}

.header__drawer {
	background-color: #5990b4;
	bottom: 0;
	display: none;
	height: calc(100vh + 20px);
	left: 0;
	overflow-y: scroll;
	padding: 6.0625rem 0;
	position: fixed;
	right: 0;
	scrollbar-width: none;
	top: -1.25rem;
	width: 100%;
	z-index: 900;
}

.header__drawer::-webkit-scrollbar {
	display: none;
}

.header__drawer-item:not(:first-child) {
	border-top: 1px solid #fff;
}

.header__drawer-item a {
	color: #fff;
	display: block;
	font-weight: 700;
	line-height: 1;
	padding: 1.5625rem 2.5rem;
	text-transform: uppercase;
}

.header__drawer-item.header__drawer-item--contact img {
	display: inline;
	margin-left: 0.5rem;
	width: 0.67875rem;
}

.entry-btn {
	margin: 0 auto;
}

.entry-btn a {
	background-color: #cbc338;
	color: #fff;
	display: block;
	font-family: "M PLUS 1p", serif;
	font-weight: 900;
	letter-spacing: 0.03125rem;
	padding: 0.875rem 0;
	position: relative;
	text-align: center;
	text-transform: uppercase;
}

.entry-btn a::before {
	border: 1px solid #fff;
	content: "";
	height: 2.5rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 19rem;
}

.header__drawer-entry {
	margin: 1.5625rem auto 0;
	max-width: 19.6875rem;
	width: 100%;
}

.not-found {
	margin-top: 5.625rem;
	padding-bottom: 2.5rem;
}

.not-found__content {
	padding: 1.25rem 0.875rem;
}

.not-found__title {
	font-size: 1.75rem;
}

.not-found__subtitle {
	font-size: 0.875rem;
	margin-top: 0;
}

.not-found__text {
	font-size: 0.875rem;
}

.interview__profile {
	display: block;
}

.interview__profile-flex {
	display: flex;
	gap: 5.5%;
	margin-top: -0.875rem;
}

.interview__image {
	aspect-ratio: 100/100;
	height: 6.25rem;
	margin-top: 1.25rem;
	width: 6.25rem;
}

.interview__highlight {
	margin-top: 1.625rem;
}

.interview__highlight-title {
	font-size: 0.875rem;
	max-width: 9.9375rem;
	padding: 0.375rem 0;
}

.interview__highlight-text {
	font-size: 1rem;
	margin-top: -0.1875rem;
}

.interview__highlight-text span {
	font-size: 1rem;
	line-height: 1.5;
	padding: 0.375rem 1.1875rem;
}

.interview__content {
	margin-top: 1.5rem;
}

.interview__section:not(:first-child) {
	margin-top: 1.5625rem;
}

.interview__question {
	font-size: 1.0625rem;
}

.interview__answer {
	font-size: 0.875rem;
	line-height: 1.71;
}

.interview__answer-wrap {
	display: block;
	margin-top: 1rem;
	padding: 1.4375rem 1.5625rem 1.5625rem 0.625rem;
}

.interview__answer-row:not(:first-child) {
	margin-top: 1.375rem;
}

.interview__answer-head {
	font-size: 0.875rem;
	padding-left: 2.125rem;
}

.interview__answer-head::before {
	height: 0.875rem;
	left: 0.9375rem;
	width: 0.875rem;
}

.interview__answer-row:not(:last-child) .interview__answer-body::after {
	height: 132%;
	left: 1.3125rem;
	top: 1.1875rem;
}

.interview__answer-body {
	font-size: 0.875rem;
	line-height: 1.71;
	margin-left: 0.875rem;
}

.interview__answer-img {
	margin-top: 2.5rem;
	max-width: none;
	max-width: initial;
	padding-left: 1rem;
}

.interview__answer-img img {
	aspect-ratio: 285/215;
}

.mv {
	min-height: 20rem;
}

.mv__title {
	width: 84.6%;
}

.mv__entry-btn {
	bottom: 0;
	left: 0;
	right: auto;
	right: initial;
	width: 100%;
}

.mv__entry-btn a {
	align-items: initial;
	border-radius: 0;
	border-radius: initial;
	display: block;
	font-size: 1rem;
	height: auto;
	justify-content: initial;
	padding: 0.875rem 0;
	width: 100%;
}

.mv__entry-btn a::after {
	border: 1px solid #fff;
	border-radius: 0;
	border-radius: initial;
	content: "";
	height: calc(100% - 5px);
	position: absolute;
	width: calc(100% - 5px);
}

.layout-recruitment {
	margin-top: 3.125rem;
	padding-bottom: 3.6875rem;
}

.recruitment__circle-img {
	max-width: 37.5rem;
	width: 180%;
}

.recruitment__content {
	margin-top: 3.75rem;
	width: 100%;
}

.recruitment__content-img {
	max-width: 11.25rem;
}

.recruitment__catchphrase {
	font-size: 1.25rem;
	margin-top: 2.1875rem;
}

.recruitment__details {
	font-size: 0.9375rem;
	margin-top: 0.9375rem;
}

.recruitment__details-l {
	font-size: 1.1875rem;
}

.recruitment__details-ls {
	font-size: 1.25rem;
}

.recruitment__img {
	margin-top: 1.6875rem;
	max-width: 14.0625rem;
}

.recruitment__images {
	max-width: 23.4375rem;
}

.layout-about {
	margin-top: 4.375rem;
	padding-bottom: 8.9375rem;
}

.about__title--d {
	display: none;
}

.about__content {
	display: block;
	margin-top: 0.125rem;
}

.about__intro {
	margin-top: 0;
}

.about__grid {
	grid-column-gap: 0;
	grid-row-gap: 1.25rem;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: repeat(1, 1fr);
	margin-left: 0;
	margin-top: 1rem;
}

.about__item a:hover .section-arrow-after {
	right: 1.1875rem;
}

.about__item--job-img {
	aspect-ratio: 335/204;
}

.about__item--message-img {
	-o-object-position: top;
	aspect-ratio: 335/144;
	object-position: top;
}

.about__item--company-img {
	aspect-ratio: 335/151;
}

.about__item--job {
	grid-area: initial;
}

.about__item--message {
	grid-area: initial;
}

.about__item--company {
	grid-area: initial;
}

.about__label {
	font-size: 1.0625rem;
	left: 0.625rem;
	padding: 0.125rem 0.5rem;
}

.about__item--job .about__label {
	bottom: 3.125rem;
}

.about__item--message .about__label {
	bottom: 0.625rem;
}

.about__item--company .about__label {
	bottom: 0.625rem;
}

.about__caption {
	bottom: 0.6875rem;
	font-size: 0.8125rem;
	left: 0.625rem;
	line-height: 1.3;
}

.about__illustration {
	bottom: 1.5rem;
	left: 50%;
	right: auto;
	right: initial;
	transform: translateX(-50%);
	width: 16.8125rem;
}

.people {
	padding: 7.875rem 0 18.8125rem;
}

.people::before {
	aspect-ratio: 375/164;
	height: auto;
	height: initial;
	width: 100%;
}

.people::after {
	aspect-ratio: 375/164;
	height: auto;
	height: initial;
	width: 100%;
}

.layout-people {
	margin-top: 0;
}

.people__img-text {
	display: none;
}

.people__character-img {
	animation: bounce-s 2s ease-out infinite;
	bottom: 16.5%;
	left: 50%;
	right: auto;
	right: initial;
	top: auto;
	top: initial;
	transform: translateX(-50%);
	width: 12.5rem;
}

.people__img {
	max-width: clamp(23.438rem, 9.985rem + 57.4vw, 37.5rem);
	width: 100%;
}

.people__subtitle {
	font-size: 2.25rem;
	letter-spacing: 0;
	position: relative;
}

.people__title {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
	margin-top: -0.125rem;
}

.people__text {
	font-size: 0.875rem;
	line-height: 2.4;
	margin-top: 1.875rem;
}

.people__btn {
	margin: 1.8125rem auto 0;
	max-width: 9.6875rem;
}

.top-btn-arrow {
	right: 2.3125rem;
	top: 36%;
}

.top-btn a {
	font-size: 0.875rem;
	padding: 0.875rem 4.375rem 0.875rem 0.9375rem;
}

.top-btn a::before {
	right: 1.375rem;
}

.top-btn a::after {
	height: 1.8125rem;
	width: 1.8125rem;
}

.layout-faq {
	padding-bottom: 16.25rem;
	padding-top: 3.125rem;
}

.faq__content {
	display: block;
	text-align: center;
}

.faq__intro {
	margin-top: 1.125rem;
}

.faq__subtitle {
	text-align: center;
}

.faq__img-content {
	margin-left: -5.25rem;
}

.faq__img01 {
	left: auto;
	left: initial;
	right: calc(50% - 25px);
	top: 7.1875rem;
	width: 8.0625rem;
}

.faq__img02 {
	left: auto;
	left: initial;
	right: calc(50% - 99px);
	top: 12.875rem;
	width: 8.125rem;
}

.faq__img02::after {
	height: 9.375rem;
	left: auto;
	left: initial;
	right: calc(50% - 202px);
	top: -3.75rem;
	width: 9.375rem;
}

.faq__img03 {
	left: auto;
	left: initial;
	right: calc(50% - 226px);
	top: 9.3125rem;
	width: 8.25rem;
}

.faq__img04 {
	left: auto;
	left: initial;
	right: calc(50% + 23px);
	top: 15.875rem;
	width: 3.75rem;
}

.faq__img05 {
	left: auto;
	left: initial;
	right: calc(50% - 147px);
	top: 7.1875rem;
	width: 4.9375rem;
}

.faq__img06 {
	left: auto;
	left: initial;
	right: calc(50% - 270px);
	top: 16.375rem;
	width: 3.75rem;
}

.faq__btn {
	margin: 1.6875rem auto 0;
	max-width: 9.6875rem;
}

.layout-page-top-wrap {
	margin-top: 0;
}

.page-top-wrap__inner {
	max-width: 37.5rem;
	padding: 0 1.25rem;
}

.page-top {
	padding: 0;
}

.page-top-arrow img {
	width: 2.125rem;
}

.page-top-text {
	font-size: 0.875rem;
}

.page-top-text::after {
	width: 4.25rem;
}

.job-description__steps {
	gap: 2rem;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 1.25rem;
}

.job-description__text {
	font-size: 0.875rem;
	line-height: 1.71;
	margin-top: 0.75rem;
}

.job-description__step-img {
	margin: 0 auto;
	max-width: none;
	max-width: initial;
	width: 63.6%;
}

.job-description__step:not(:first-child) .job-description__step-img::before {
	display: none;
}

.job-description__step:not(:first-child)::before {
	background: url(../images/work/work_image-04-s.png) no-repeat center center/cover;
	content: "";
	height: 0.5rem;
	left: 50%;
	position: absolute;
	top: -1.25rem;
	transform: translateX(-50%);
	width: 11.875rem;
}

.job-description__step-text {
	font-size: 0.875rem;
	line-height: 1.71;
	margin-top: 0.375rem;
}

.job-description__vehicles {
	margin-top: 2.875rem;
}

.job-description__vehicle-wrap {
	display: block;
	margin: 1.4375rem auto 0;
	max-width: 20.8125rem;
}

.job-description__vehicle {
	display: block;
}

.job-description__vehicle:not(:first-child) {
	margin-top: 2.6875rem;
}

.job-description__vehicle-image {
	max-width: none;
	max-width: initial;
}

.job-description__vehicle-name {
	font-size: 1.125rem;
	padding: 1.0625rem 0;
	text-align: center;
	width: auto;
	width: initial;
}

.work-benefits__content {
	display: block;
	margin-top: 0.75rem;
}

.work-benefits__texts {
	margin: 0 auto;
	max-width: 20.8125rem;
	width: 100%;
}

.work-benefits__point {
	display: block;
}

.work-benefits__point:not(:first-child) {
	margin-top: 1.875rem;
}

.work-benefits__point-head {
	margin: 0 auto;
}

.work-benefits__text {
	font-size: 1.0625rem;
	line-height: 1.41;
	margin-left: 0;
	margin-top: 1.25rem;
}

.work-benefits__image {
	margin: 1.8125rem auto 0;
	max-width: none;
	max-width: initial;
}

.work-benefits__image img {
	aspect-ratio: 335/199;
}

.recruit__text {
	font-size: 0.875rem;
	line-height: 1.71;
	margin-top: 6.25rem;
}

.recruit__steps {
	margin-top: 1.9375rem;
}

.recruit__step {
	display: block;
	position: relative;
}

.recruit__step:not(:first-child) {
	margin-top: 1.0625rem;
}

.recruit__step:not(:last-child)::before {
	border-left: 1.3125rem solid transparent;
	border-right: 1.3125rem solid transparent;
	border-top: 1.625rem solid #fff;
	bottom: -1.0625rem;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
	z-index: 1;
}

.recruit__step:not(:last-child)::after {
	border-left: 0.875rem solid transparent;
	border-right: 0.875rem solid transparent;
	border-top: 1.125rem solid #0a0a0a;
	bottom: -1.1875rem;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.recruit__step-header {
	border-radius: 0.625rem 0.625rem 0 0;
	max-width: none;
	max-width: initial;
	padding: 0.8125rem 0 0.8125rem 1.125rem;
}

.recruit__step:not(:last-child) .recruit__step-header::before {
	display: none;
}

.recruit__step:not(:last-child) .recruit__step-header::after {
	display: none;
}

.recruit__step-title {
	font-size: 1.125rem;
}

.recruit__text-content {
	display: block;
}

.recruit__step-text {
	font-size: 0.875rem;
	line-height: 1.71;
	padding: 1.1875rem 1.0625rem;
}

.recruit__text-img {
	margin: 1.125rem auto 0;
	max-width: 14.375rem;
}

.benefits {
	margin-top: 1.5rem;
}

.benefits__list {
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 1rem;
}

.benefits__item {
	min-height: 8.8125rem;
	min-width: 9.9375rem;
	padding: 1.25rem 0 0.75rem;
}

.benefits__number {
	font-size: 0.9375rem;
	height: 2rem;
	width: 2rem;
}

.benefits__name {
	font-size: 0.9375rem;
	line-height: 1.3;
	margin-top: 1rem;
}

.benefits__detail-l {
	font-size: 1.25rem;
}

.benefits__detail-s {
	font-size: 0.8125rem;
}

.inner {
	padding-left: 20px;
	padding-right: 20px;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@media screen and (max-width: 320px) {

.faq__img02::after {
	right: calc(50% - 185px);
}

.faq__img06 {
	right: calc(50% - 230px);
}

}

@keyframes arrowBefore {

0% {
	opacity: 1;
	transform: translateX(0);
}

100% {
	opacity: 0;
	transform: translateX(100%);
}

}

@keyframes arrowAfter {

0% {
	opacity: 0;
	transform: translateX(0);
}

100% {
	opacity: 1;
	transform: translateX(100%);
}

}

@keyframes rotate {

0% {
	transform: rotate(0deg);
}

100% {
	transform: rotate(360deg);
}

}

@keyframes bounce {

0%,40%,60%,80% {
	transform: scale(1);
}

50%,70% {
	transform: scale(0.95);
}

}

@keyframes bounce-s {

0%,40%,60%,80% {
	transform: scale(1) translateX(-50%);
}

50%,70% {
	transform: scale(0.95) translateX(-50%);
}

}

@keyframes float_re {

0%,100% {
	transform: translate(0, 0) rotate(260deg) scale(-1, 1);
}

45% {
	transform: translate(0, -15px) rotate(260deg) scale(-1, 1);
}

}

@keyframes bounceIn {

0% {
	opacity: 0;
	transform: scale(0.3) translateY(-200px);
}

50% {
	opacity: 1;
	transform: scale(1.1) translateY(20px);
}

70% {
	transform: scale(0.9) translateY(-10px);
}

100% {
	transform: scale(1) translateY(0);
}

}


/*# sourceMappingURL=style.css.map */
