@charset "UTF-8";
*,
*::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;
}

/* 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 {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* 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;
}

/* リキッドレイアウト対応 */
html {
  font-size: 16px;
}
@media screen and (min-width: 1440px) {
  html {
    font-size: 16px;
  }
}
@media screen and (max-width: 1023px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 1130px) {
  html {
    font-size: 1.4159292035vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media screen and (max-width: 599px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

:root {
  --base-font-family: "Noto Sans JP", sans-serif;
  --en-font-family: "Poppins", sans-serif;
  --second-font-family: "Roboto", sans-serif;
  --recruit-font-family: "Zen Kaku Gothic New", sans-serif;
  --z-index-header: 1001;
  --z-index-drawer: 900;
  --z-index-hamburger: 999;
  --color-black: #1a1a1a;
  --color-black2: #2b2b2b;
  --color-black3: #353535;
  --color-black4: #333333;
  --color-black5: #000000;
  --color-white: #fff;
  --color-main: #be1217;
  --color-sub: #D87238;
  --color-gray: #e0e0e0;
  --color-border: #d9d9d9;
  --color-red: #EA3636;
  --color-navy: #253473;
  --header-height: 5rem;
  --header-recruit-height: 6.25rem;
  --header-recruit-top-height: 6.75rem;
}
@media screen and (max-width: 767px) {
  :root {
    --header-height: 3.75rem;
    --header-recruit-height: 3.5rem;
    --header-recruit-top-height: 6rem;
  }
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: initial;
  }
}

html {
  scrollbar-gutter: stable;
  /* アンカーリンクのスムーススクロール時に固定ヘッダー分の余白を確保 */
  scroll-padding-top: var(--header-height);
}

body {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  color: var(--color-black);
  font-family: var(--base-font-family);
  line-height: 1.8;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */
  background-color: #f1f1f1;
}

/* リクルートページのみ上書きしたい指定 */
body.is-recruit {
  background-color: #F8F9FE;
  font-family: var(--recruit-font-family);
}

main {
  flex: 1;
}

html:has(body.is-fixed),
body.is-fixed {
  overflow: hidden;
}

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

/* hover指定できるPCを想定したスタイル */
@media (hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}
/* hoverが使えないタッチ端末を想定した装飾 */
@media (hover: none) {
  a:active {
    opacity: 0.7;
  }
}
@media  {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
.l-3minute-about {
  margin-top: 4.5625rem;
}
@media screen and (max-width: 767px) {
  .l-3minute-about {
    margin-top: 2.375rem;
  }
}

.l-3minute-business {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-3minute-business {
    margin-block: 4.5rem 0;
  }
}

.l-3minute-history {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-3minute-history {
    margin-top: 4.375rem;
  }
}

.l-3minute-philosophy {
  margin-top: 9.6875rem;
}
@media screen and (max-width: 767px) {
  .l-3minute-philosophy {
    margin-top: 2.125rem;
  }
}

.l-about-history {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .l-about-history {
    margin-top: 5rem;
  }
}

.l-about-intro {
  margin-top: 2.875rem;
}
@media screen and (max-width: 767px) {
  .l-about-intro {
    margin-top: 2.6875rem;
  }
}

.l-about-nav {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .l-about-nav {
    margin-top: 2rem;
  }
}

.l-about-strengths {
  margin-top: 8.125rem;
}
@media screen and (max-width: 767px) {
  .l-about-strengths {
    margin-top: 4.6875rem;
  }
}

.l-base {
  margin-block: 6.25rem 8.4375rem;
}
@media screen and (max-width: 767px) {
  .l-base {
    margin-block: 3.5625rem 5rem;
  }
}

.l-breadcrumb {
  margin-top: 1.4375rem;
}
@media screen and (max-width: 767px) {
  .l-breadcrumb {
    margin-top: 0.9375rem;
  }
}

.l-contact {
  margin-block: 6.25rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .l-contact {
    margin-block: 3.5625rem 5rem;
  }
}

.l-entry-form {
  margin-block: 5.375rem 8.125rem;
}
@media screen and (max-width: 767px) {
  .l-entry-form {
    margin-block: 2.375rem 3.125rem;
  }
}

.l-furnace-industry {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .l-furnace-industry {
    margin-top: 5rem;
  }
}

.l-furnace-types {
  margin-top: 7.375rem;
}
@media screen and (max-width: 767px) {
  .l-furnace-types {
    margin-top: 10.4375rem;
  }
}

.l-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: var(--z-index-header);
  width: 100%;
  height: var(--header-height);
}

.l-inner {
  margin-inline: auto;
  width: 100%;
  padding-inline: 1.5625rem;
  max-width: 70.625rem;
}
@media screen and (max-width: 767px) {
  .l-inner {
    max-width: 40rem;
    padding-inline: 1.25rem;
  }
}

.l-message {
  margin-top: 5.75rem;
}
@media screen and (max-width: 767px) {
  .l-message {
    margin-top: 3.75rem;
  }
}

.l-philosophy {
  margin-top: 8.125rem;
}
@media screen and (max-width: 767px) {
  .l-philosophy {
    margin-top: 5.3125rem;
  }
}

.l-privacy {
  margin-block: 4rem 8.4375rem;
}
@media screen and (max-width: 767px) {
  .l-privacy {
    margin-block: 3.0625rem 5rem;
  }
}

.l-products-details {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .l-products-details {
    margin-top: 3.5625rem;
  }
}

.l-products-details + .l-products-details {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .l-products-details + .l-products-details {
    margin-top: 6.25rem;
  }
}

.l-products-link:not([data-page=product01]) {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .l-products-link:not([data-page=product01]) {
    margin-top: 5rem;
  }
}

.l-products-pickup {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .l-products-pickup {
    margin-top: 4.25rem;
  }
}

.l-products {
  margin-block: 6.25rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .l-products {
    margin-block: 3.5625rem 5rem;
  }
}

.l-recruit-about-data {
  margin-block: 5.3125rem 8.125rem;
}
@media screen and (max-width: 767px) {
  .l-recruit-about-data {
    margin-block: 2.5rem 4.875rem;
  }
}

.l-recruit-about {
  margin-block: 5.5rem 8.125rem;
}
@media screen and (max-width: 767px) {
  .l-recruit-about {
    margin-block: 2.3125rem 4.875rem;
  }
}

.l-recruit-breadcrumb {
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .l-recruit-breadcrumb {
    margin-top: 0.3125rem;
  }
}

.l-recruit-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: var(--z-index-header);
  width: 100%;
  height: var(--header-recruit-height);
}

.l-recruit-header.is-top {
  height: var(--header-recruit-top-height);
}

.l-recruit-interview-link {
  margin-block: 6.25rem 8.125rem;
}
@media screen and (max-width: 767px) {
  .l-recruit-interview-link {
    margin-block: 4.0625rem 4.875rem;
  }
}

.l-recruit-interview {
  margin-top: 5.3125rem;
}
@media screen and (max-width: 767px) {
  .l-recruit-interview {
    margin-top: 2.3125rem;
  }
}

.l-recruit-works {
  margin-block: 5.5rem 10.8125rem;
}
@media screen and (max-width: 767px) {
  .l-recruit-works {
    margin-block: 2.5rem 8.75rem;
  }
}

.l-sdgs {
  margin-block: 8.125rem 8.875rem;
}
@media screen and (max-width: 767px) {
  .l-sdgs {
    margin-block: 4.5625rem 3.125rem;
  }
}

.l-sub-content {
  margin-block: 7.3125rem;
}
@media screen and (max-width: 767px) {
  .l-sub-content {
    margin-block: 3.5rem 1.6875rem;
  }
}

.l-sub-content + .l-sub-content {
  margin-top: 3.125rem;
}

.l-sub-mv {
  margin-top: var(--header-height);
}

.c-arrow-button {
  width: 100%;
  max-width: 14.125rem;
  padding-block: 0.75rem;
  padding-inline: 1.8125rem 0.9375rem;
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  justify-content: space-between;
  font-family: var(--en-font-family);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  text-transform: capitalize;
  color: var(--color-white);
  background-color: var(--color-black2);
  border-radius: 2rem;
  outline: 0.125rem solid rgba(255, 255, 255, 0.3);
  position: relative;
  transition: background-color 0.3s ease-out;
}

.c-arrow-button::after {
  content: "";
  width: 2.5rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border-radius: 50%;
  transition: background-color 0.3s ease-out;
}

.c-arrow-button::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6875rem;
  transform: translateY(-50%);
  width: 1rem;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media (any-hover: hover) {
  .c-arrow-button:hover {
    opacity: 1;
    background-color: var(--color-main);
  }
  .c-arrow-button:hover::after {
    background-color: var(--color-black2);
  }
}
/* 赤色ボタン */
.c-arrow-button[data-color=red] {
  background-color: var(--color-main);
}

.c-arrow-button[data-color=red]::after {
  background-color: var(--color-black2);
}

@media (any-hover: hover) {
  .c-arrow-button[data-color=red]:hover {
    opacity: 1;
    background-color: var(--color-black2);
  }
  .c-arrow-button[data-color=red]:hover::after {
    background-color: var(--color-main);
  }
}
.c-button {
  width: 100%;
  max-width: 14rem;
  padding-block: 0.875rem;
  padding-inline: 1.875rem;
  display: inline-block;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-white);
  background-color: var(--color-main);
  border-radius: 62.4375rem;
  transition: background-color 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .c-button {
    max-width: 20.625rem;
    font-size: max(0.875rem, 10px);
    padding: 1.375rem;
  }
}

@media (any-hover: hover) {
  .c-button:hover {
    opacity: 1;
    background-color: var(--color-black2);
  }
}
.c-dialog__contents {
  --duration: 0.3s;
  --scale: 0.95;
  transition: display var(--duration) allow-discrete, overlay var(--duration) allow-discrete, opacity var(--duration) ease-in-out, scale var(--duration) ease-in-out;
  opacity: 0;
  scale: var(--scale);
  padding: 0;
  margin: auto;
  width: 100%;
  max-width: 68.75rem;
  height: -moz-fit-content;
  height: fit-content;
  max-height: 90vh;
  border: none;
  background-color: transparent;
  pointer-events: all;
  margin: auto;
}

.c-dialog__contents[open] {
  opacity: 1;
  scale: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@starting-style {
  .c-dialog__contents[open] {
    opacity: 0;
    scale: var(--scale);
  }
}

.c-dialog__contents-inner {
  padding: 3.125rem;
  height: auto;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .c-dialog__contents-inner {
    padding: 1.875rem 1.25rem;
  }
}

.c-dialog__close {
  display: inline-block;
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  width: 2.5rem;
  height: 2.5rem;
  transition: opacity 0.3s ease-in-out;
  pointer-events: all;
}
@media screen and (max-width: 767px) {
  .c-dialog__close {
    width: 1.875rem;
    height: 1.875rem;
    top: -0.3125rem;
  }
}

.c-dialog__close::before,
.c-dialog__close::after {
  position: absolute;
  width: 1.875rem;
  top: 1.25rem;
  right: 0.625rem;
  height: 2px;
  content: "";
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-dialog__close::before,
  .c-dialog__close::after {
    width: 1.25rem;
  }
}

.c-dialog__close::before {
  transform: rotate(45deg);
}

.c-dialog__close::after {
  transform: rotate(-45deg);
}

.c-dialog__contents iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

@media (any-hover: hover) {
  .c-dialog__close:hover {
    opacity: 0.7;
  }
}
/* 背景 */
.c-dialog__contents::backdrop {
  background-color: var(--color-black);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  pointer-events: all;
}

.c-dialog__contents[open]::backdrop {
  opacity: 1;
}
@starting-style {
  .c-dialog__contents[open]::backdrop {
    opacity: 0;
  }
}

:root:has(dialog[open]) {
  overflow: hidden;
}

/* scrub */
.js-scrub {
  overflow: hidden;
}

.js-scrub img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/1;
  -o-object-fit: cover;
     object-fit: cover;
}

/* parallax */
.js-parallax {
  overflow: hidden;
}

.js-parallax img {
  height: calc(100% + 1.875rem);
  -o-object-position: bottom;
     object-position: bottom;
}
@media screen and (max-width: 767px) {
  .js-parallax img {
    height: calc(100% + 1.25rem);
  }
}

.c-recruit-section-title {
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-recruit-section-title {
    text-align: center;
  }
}

.c-recruit-section-title__en {
  font-family: var(--second-font-family);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  color: currentColor;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .c-recruit-section-title__en {
    font-size: max(1rem, 10px);
  }
}

.c-recruit-section-title__ja {
  margin-top: 1.5rem;
  font-family: var(--recruit-font-family);
  font-size: max(3.75rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .c-recruit-section-title__ja {
    margin-top: 0.75rem;
    font-size: max(2.75rem, 10px);
  }
}

.c-recruit-section-title__ja span:not(.c-recruit-section-title__ja--small),
.c-recruit-section-title__en[data-color=red] {
  color: var(--color-red);
}

.c-recruit-section-title__ja .c-recruit-section-title__ja--small {
  font-size: max(3rem, 10px);
  padding-inline: 0.375rem;
}
@media screen and (max-width: 767px) {
  .c-recruit-section-title__ja .c-recruit-section-title__ja--small {
    font-size: max(2rem, 10px);
  }
}

/* 小さいサイズ */
.c-recruit-section-title[data-size=small] .c-recruit-section-title__en {
  font-size: max(1.25rem, 10px);
}
@media screen and (max-width: 767px) {
  .c-recruit-section-title[data-size=small] .c-recruit-section-title__en {
    font-size: max(0.875rem, 10px);
  }
}

.c-recruit-section-title[data-size=small] .c-recruit-section-title__ja {
  font-size: max(2.5rem, 10px);
  line-height: 1.9;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-recruit-section-title[data-size=small] .c-recruit-section-title__ja {
    font-size: max(1.5rem, 10px);
    line-height: 1.8;
  }
}

/* navy */
.c-recruit-section-title[data-color=navy],
.c-recruit-section-title[data-color=navy] .c-recruit-section-title__en {
  color: var(--color-navy);
}

.c-recruit-sub-section-title {
  text-align: center;
  color: var(--color-navy);
}

.c-recruit-sub-section-title__en {
  font-family: var(--second-font-family);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  color: currentColor;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .c-recruit-sub-section-title__en {
    font-size: max(1rem, 10px);
  }
}

.c-recruit-sub-section-title__ja {
  margin-top: 0.9375rem;
  font-family: var(--recruit-font-family);
  font-size: max(3.75rem, 10px);
  font-weight: 900;
  line-height: 1;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .c-recruit-sub-section-title__ja {
    margin-top: 0.625rem;
    font-size: max(2.5rem, 10px);
    line-height: 1.3;
  }
}

.c-recruit-sub-section-title__ja span:not([data-size=small]) {
  color: var(--color-red);
}

.c-recruit-sub-section-title__ja span[data-size=small] {
  font-size: max(3rem, 10px);
}
@media screen and (max-width: 767px) {
  .c-recruit-sub-section-title__ja span[data-size=small] {
    font-size: max(2rem, 10px);
  }
}

.c-recruit-sub-section-title[data-position=left] {
  text-align: left;
}

.c-recruit-sub-section-title[data-color=white] {
  color: var(--color-white);
}

.c-section-subtitle {
  color: #333333;
}

.c-section-subtitle__en {
  font-family: var(--en-font-family);
  font-size: max(5rem, 10px);
  font-weight: 500;
  color: currentColor;
  line-height: 1;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .c-section-subtitle__en {
    font-size: max(3.5rem, 10px);
  }
}

.c-section-subtitle__ja {
  margin-top: 0.4375rem;
  margin-left: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-family: var(--base-font-family);
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .c-section-subtitle__ja {
    font-size: max(0.875rem, 10px);
  }
}

.c-section-subtitle__ja::before {
  content: "";
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-main);
}

.c-section-subtitle-accent {
  color: var(--color-main);
}

.c-section-subtitle[data-color=white] {
  color: var(--color-white);
}

.c-section-subtitle[data-position=center] {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-section-subtitle[data-position=center] {
    text-align: left;
  }
}

.c-section-subtitle[data-position=center] .c-section-subtitle__ja {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-section-subtitle[data-position=center] .c-section-subtitle__ja {
    justify-content: flex-start;
  }
}

.c-section-title {
  color: var(--color-gray);
}

.c-section-title__en {
  font-family: var(--en-font-family);
  font-size: max(8.25rem, 10px);
  font-weight: 500;
  color: currentColor;
  line-height: 1;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .c-section-title__en {
    font-size: max(4rem, 10px);
  }
}

.c-section-title__ja {
  margin-top: 0.625rem;
  margin-left: 0.3125rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-family: var(--base-font-family);
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .c-section-title__ja {
    margin-top: 0.625rem;
    margin-left: -0.125rem;
  }
}

.c-section-title__ja::before {
  content: "";
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-main);
}

.c-section-title-accent {
  color: var(--color-main);
}

.c-section-title[data-color=white] {
  color: var(--color-white);
}

.c-section-title[data-color=black] {
  color: #333333;
}

.c-slider-autoscroll {
  width: 100cqi;
}

.c-slider-autoscroll__img {
  width: 41rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-slider-autoscroll__img {
    width: 22.75rem;
  }
}

.c-slider-autoscroll__img img {
  aspect-ratio: 656/437;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-recruit-top-company__banner-slider .c-slider-autoscroll__img {
    width: 18.75rem;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-top-company__banner-slider .c-slider-autoscroll__img img {
    aspect-ratio: 300/200;
  }
}

.p-top-products {
  overflow: hidden;
}

.c-slider-overflow__track.splide__track {
  overflow: visible;
}

.js-slider-overflow.is-initial .splide__slide--clone {
  opacity: 0;
  pointer-events: none;
}

.c-slider-overflow__item {
  width: 32.8125rem;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .c-slider-overflow__item {
    width: 18rem;
    gap: 0.5625rem;
  }
}

.c-slider-overflow__card-image {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.c-slider-overflow__card-image img {
  aspect-ratio: 525/349;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-slider-overflow__card-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .c-slider-overflow__card-body {
    gap: 0.0625rem;
  }
}

.c-slider-overflow__card-title {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: #1a1a1a;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media screen and (max-width: 767px) {
  .c-slider-overflow__card-title {
    font-size: max(1.125rem, 10px);
  }
}

.c-slider-overflow__card-text {
  font-family: var(--base-font-family);
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: #1a1a1a;
}
@media screen and (max-width: 767px) {
  .c-slider-overflow__card-text {
    font-size: max(0.875rem, 10px);
  }
}

@media (any-hover: hover) {
  .c-slider-overflow__item a:hover {
    opacity: 1;
  }
  .c-slider-overflow__item a:hover .c-slider-overflow__card-image img {
    transform: scale(1.15);
  }
  .c-slider-overflow__item a:hover .c-slider-overflow__card-title {
    color: var(--color-main);
  }
}
.c-slider-work__track.splide__track {
  overflow: visible;
}

.c-slider-work__item {
  width: 21.125rem;
  position: relative;
  transition: transform 0.7s ease-in-out;
}
@media screen and (max-width: 767px) {
  .c-slider-work__item {
    width: 17.6875rem;
  }
}

.c-slider-work__card-meta {
  position: absolute;
  right: 0;
  top: -0.1875rem;
  z-index: 1;
  background-color: var(--color-white);
  border-radius: 50%;
  width: 6.875rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--color-white);
  color: var(--color-navy);
  outline: 0.3125rem solid var(--color-navy);
  outline-offset: -0.3125rem;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3125rem;
}

.c-slider-work__card-position {
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-red);
}

.c-slider-work__card-name {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: currentColor;
}

.c-slider-work__card-name span {
  font-size: max(0.875rem, 10px);
}

.c-slider-work__card-image {
  width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: 10.625rem;
  border: 1px solid var(--color-navy);
}

.c-slider-work__card-image img {
  aspect-ratio: 338/507;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-slider-work__card-text-wrap {
  position: absolute;
  bottom: -2.8125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 22.5rem;
  height: auto;
  aspect-ratio: 338/95;
  background-image: url(../images/recruit-top/fukidashi.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .c-slider-work__card-text-wrap {
    bottom: -4.0625rem;
  }
}

.c-slider-work__card-text {
  padding-top: 0.625rem;
  font-family: var(--recruit-font-family);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: #1a1a1a;
  text-align: center;
  position: relative;
  z-index: 1;
}

.c-slider-work__item.is-slide-active .c-slider-work__card-text-wrap {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 767px) {
  .p-recruit-top-work__cards .c-slider-work__card-meta {
    width: 6rem;
    outline: 0.1875rem solid var(--color-navy);
    outline-offset: -0.1875rem;
    right: 0.125rem;
    top: -0.3125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-top-work__cards .c-slider-work__card-position {
    font-size: max(0.75rem, 10px);
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-top-work__cards .c-slider-work__card-name {
    font-size: max(1.5rem, 10px);
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-top-work__cards .c-slider-work__card-name span {
    font-size: max(0.875rem, 10px);
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-top-work__cards .c-slider-work__card-text-wrap {
    bottom: -0.625rem;
    width: 17.6875rem;
    aspect-ratio: 283/72;
    background-image: url(../images/recruit-top/fukidashi-sp.png);
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-top-work__cards .c-slider-work__card-text {
    font-size: max(0.875rem, 10px);
    line-height: 1.6;
  }
}

@media (any-hover: hover) {
  .c-slider-work__item a:hover {
    opacity: 1;
  }
  .c-slider-work__item a:hover .c-slider-work__card-image img {
    transform: scale(1.15);
  }
  .c-slider-work__item a:hover .c-slider-work__card-title {
    color: var(--color-main);
  }
}
/* スプライド矢印 */
.splide__arrows {
  position: absolute;
  left: 0;
  bottom: -6.25rem;
  z-index: 10;
  width: 19%;
  max-width: 18.75rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .splide__arrows {
    width: 38%;
    max-width: 7.8125rem;
    bottom: -4.0625rem;
  }
}

.splide__arrow {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  border: none;
  background-color: var(--color-black2);
  color: var(--color-white);
  outline: 0.25rem solid rgba(43, 43, 43, 0.5);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .splide__arrow {
    width: 3.25rem;
    height: 3.25rem;
    outline-width: 0.1875rem;
  }
}

.splide__arrow.splide__arrow--prev {
  left: 0;
}

.splide__arrow.splide__arrow--next {
  background-color: var(--color-main);
  outline-color: rgba(190, 18, 23, 0.3);
  right: 0;
}

.splide__arrow svg {
  display: none;
}

.splide__arrow--next::after,
.splide__arrow--prev::after {
  z-index: 10;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.25rem;
  height: auto;
  aspect-ratio: 27/28;
  background-image: url(../images/common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .splide__arrow--next::after,
  .splide__arrow--prev::after {
    width: 1.25rem;
  }
}

.splide__arrow--prev::after {
  transform: translate(-50%, -50%) rotate(-180deg);
}

@media (any-hover: hover) {
  .splide__arrow:hover:not(:disabled) {
    opacity: 1;
  }
  .splide__arrow:hover.splide__arrow--next::after {
    transform: translate(-50%, -50%) scale(1.3);
  }
  .splide__arrow:hover.splide__arrow--prev::after {
    transform: translate(-50%, -50%) rotate(-180deg) scale(1.3);
  }
}
.c-slider-work .splide__arrows {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -5.3125rem;
  z-index: 10;
  width: 100%;
  max-width: 26.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16.625rem;
}
@media screen and (max-width: 767px) {
  .c-slider-work .splide__arrows {
    left: 0;
    transform: translateX(0);
    bottom: -1.875rem;
    width: 50%;
    max-width: 8.4375rem;
  }
}

.c-slider-work .splide__arrow {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  border: none;
  background-color: var(--color-white);
  color: var(--color-white);
  outline: 0.1875rem solid rgba(255, 255, 255, 0.3);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .c-slider-work .splide__arrow {
    width: 3.375rem;
    height: 3.375rem;
    outline-width: 0.125rem;
  }
}

.c-slider-work .splide__arrow.splide__arrow--prev {
  left: 0;
}

.c-slider-work .splide__arrow.splide__arrow--next {
  background-color: var(--color-red);
  right: 0;
}

.c-slider-work .splide__arrow--next::after,
.c-slider-work .splide__arrow--prev::after {
  z-index: 10;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.25rem;
  height: auto;
  aspect-ratio: 27/28;
  background-color: var(--color-white);
  -webkit-mask-image: url(../images/recruit-common/arrow-right.svg);
          mask-image: url(../images/recruit-common/arrow-right.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: cover;
          mask-size: cover;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .c-slider-work .splide__arrow--next::after,
  .c-slider-work .splide__arrow--prev::after {
    width: 0.9375rem;
  }
}

.c-slider-work .splide__arrow--prev::after {
  transform: translate(-50%, -50%) rotate(-180deg);
  background-image: url(../images/recruit-common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* ページネーションのスタイル */
.splide__pagination {
  justify-content: center;
  bottom: -6.125rem;
  position: relative;
  gap: 0.75rem;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .splide__pagination {
    bottom: -2.8125rem;
    gap: 0.4375rem;
    justify-content: flex-end;
  }
}

.splide__pagination__page {
  background-color: var(--color-white);
  border-radius: 50%;
  transition: background-color 0.3s ease-in-out;
  width: 0.75rem;
  height: 0.75rem;
  display: block;
  padding: 0;
  opacity: 0.8;
}

.splide__pagination__page.is-active {
  background-color: var(--color-red);
  transform: scale(1);
}

.c-toast {
  position: fixed;
  top: 20px;
  right: 20px;
  background: var(--color-black2);
  color: #fff;
  padding: 1.25rem 1.875rem;
  border-radius: 0.625rem;
  font-size: max(1.25rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  color: var(--color-white);
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  z-index: 9999;
}
.c-toast.is-show {
  opacity: 1;
  transform: translateY(0);
}

.p-3minute-about {
  position: relative;
  padding-bottom: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-about {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
  }
}

.p-3minute-about__slider {
  padding-top: 2.3125rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-about__slider {
    order: 2;
    padding-top: 0;
  }
}

.p-3minute-about__item {
  width: 21.4375rem;
  padding-block: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-about__item {
    width: 8.25rem;
    padding-block: 2.75rem 5rem;
  }
}

.p-3minute-about__item:nth-child(even) {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-about__item:nth-child(even) {
    margin-top: 0.75rem;
  }
}

.p-3minute-about__image {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 1.25rem 1.875rem rgba(0, 0, 0, 0.1));
}
@media screen and (max-width: 767px) {
  .p-3minute-about__image {
    filter: drop-shadow(0 0.625rem 0.9375rem rgba(0, 0, 0, 0.1));
  }
}

.p-3minute-about__image img {
  aspect-ratio: 343/425;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-recruit-about-3minute__contents {
  position: absolute;
  inset: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-3minute__contents {
    position: static;
  }
}

.p-recruit-about-3minute__inner.l-inner {
  height: 100%;
  max-width: 78.125rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-3minute__inner.l-inner {
    max-width: 40rem;
  }
}

.p-recruit-about-3minute__container {
  background-color: rgba(248, 249, 254, 0.9);
  padding-block: 1.875rem;
  padding-inline: 4rem;
  max-width: 41.6875rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-3minute__container {
    background-color: transparent;
    padding: 0;
    max-width: initial;
  }
}

.p-3minute-about__sub-title {
  margin-top: 3rem;
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-3minute-about__sub-title {
    margin-top: 1.5625rem;
    font-size: max(1.5rem, 10px);
  }
}

.p-3minute-about__sub-title::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -0.625rem;
  left: 0;
  width: 27.3125rem;
  height: auto;
  aspect-ratio: 875/52;
  background-image: url(../images/recruit-about/3minute/text-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-3minute-about__sub-title::before {
    bottom: -0.3125rem;
    width: 20.625rem;
  }
}

.p-3minute-about__text {
  margin-top: 2.25rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .p-3minute-about__text {
    margin-top: 1.875rem;
  }
}

.p-3minute-business {
  background-image: url(../images/recruit-about/3minute/business-bg.png);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: contain;
  aspect-ratio: 1440/360;
}

.p-3minute-business__inner {
  display: grid;
  grid-template-columns: 1fr 47.1028037383%;
}
@media screen and (max-width: 767px) {
  .p-3minute-business__inner {
    grid-template-columns: 1fr;
    gap: 2.125rem;
  }
}

.p-3minute-business__header .c-recruit-sub-section-title__ja {
  line-height: 1.3;
}

.p-3minute-business__container {
  padding-left: 0.3125rem;
}

.p-3minute-business__sub-title {
  margin-top: 2.125rem;
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
}
@media screen and (max-width: 767px) {
  .p-3minute-business__sub-title {
    margin-top: 2.375rem;
    font-size: max(1.5rem, 10px);
  }
}

.p-3minute-business__text {
  margin-top: 1.625rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .p-3minute-business__text {
    margin-top: 0.9375rem;
  }
}

.p-3minute-business__img {
  margin-left: -1.875rem;
  margin-top: 1.875rem;
  width: 26.5625rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-3minute-business__img {
    margin-inline: calc(50% - 50cqi);
    margin-top: -0.4375rem;
    width: 80cqi;
    max-width: 25rem;
  }
}

.p-3minute-business__img img {
  aspect-ratio: 425/283;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-3minute-business__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.125rem 1.6875rem;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .p-3minute-business__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem;
  }
}

.p-3minute-business__item {
  background-color: var(--color-white);
  padding: 1.25rem 1.5rem;
  border-radius: 1rem;
  border: 1px solid var(--color-navy);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-business__item {
    padding: 0.8125rem 1rem;
    border-radius: 0.625rem;
    gap: 0.5rem;
  }
}

.p-3minute-business__item-img {
  width: 8.125rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #C6D3E9;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-business__item-img {
    width: 5.375rem;
  }
}

.p-3minute-business__item-img img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 3.625rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-business__item-img img {
    width: 2.5rem;
  }
}

.p-3minute-business__item-title {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-business__item-title {
    font-size: max(1rem, 10px);
  }
}

.p-3minute-business__item-text {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black);
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-3minute-business__item-text {
    font-size: max(0.875rem, 10px);
  }
}

.p-3minute-connection {
  padding-block: 8.125rem 10.625rem;
  background-image: url(../images/recruit-about/3minute/3minute-connection-img.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-3minute-connection {
    padding-block: 5rem 5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-3minute-connection__header .c-recruit-sub-section-title__ja {
    margin-top: 1rem;
    letter-spacing: -1%;
  }
}

.p-3minute-connection::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: url(../images/recruit-about/3minute/3minute-connection-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-3minute-connection__sub-title {
  margin-top: 3rem;
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-connection__sub-title {
    margin-top: 2.0625rem;
    font-size: max(1.5rem, 10px);
  }
}

.p-3minute-connection__text-wrap {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.625rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-connection__text-wrap {
    margin-top: 1.5rem;
    gap: 1.75rem;
    max-width: 26.875rem;
    margin-inline: auto;
  }
}

.p-3minute-connection__text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-navy);
}

.p-3minute-history__sub-title {
  margin-top: 3rem;
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__sub-title {
    margin-top: 1.5625rem;
    font-size: max(1.5rem, 10px);
  }
}

.p-3minute-history__text {
  margin-top: 1.625rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__text {
    margin-top: 1.25rem;
  }
}

.p-3minute-history__list {
  margin-top: 6.6875rem;
  padding-bottom: 5.625rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5.125rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__list {
    margin-top: 4.4375rem;
    padding-bottom: 3.125rem;
    gap: 4.0625rem;
  }
}

.p-3minute-history__list::before {
  content: "";
  position: absolute;
  left: 0.3125rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 105%;
  background: linear-gradient(to bottom, rgba(160, 185, 219, 0) 0%, rgb(160, 185, 219) 10%, rgb(160, 185, 219) 90%, rgba(160, 185, 219, 0) 100%);
  opacity: 0.4;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__list::before {
    left: -0.125rem;
    width: 0.75rem;
    height: 100%;
  }
}

.p-3minute-history__item {
  display: grid;
  grid-template-columns: 1fr 43.4375%;
  gap: 4.6875rem;
  padding-left: 7.1875rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item {
    grid-template-columns: 1fr;
    gap: 1.4375rem;
    padding-left: 2rem;
  }
}

.p-3minute-history__item::before {
  content: "";
  position: absolute;
  left: 0.5625rem;
  top: 1rem;
  width: 2rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: rgba(37, 52, 115, 0.4);
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item::before {
    width: 1rem;
    top: 0.8125rem;
    left: -0.3125rem;
  }
}

.p-3minute-history__item::after {
  content: "";
  position: absolute;
  left: 0.9375rem;
  top: 1.375rem;
  width: 1.25rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--color-navy);
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item::after {
    width: 0.625rem;
    top: 1rem;
    left: -0.125rem;
  }
}

.p-3minute-history__item:nth-child(2) .p-3minute-history__item-contents {
  padding-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item:nth-child(2) .p-3minute-history__item-contents {
    padding-top: 0;
  }
}

.p-3minute-history__item:nth-child(2)::before {
  top: 4.4375rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item:nth-child(2)::before {
    top: 0.8125rem;
  }
}

.p-3minute-history__item:nth-child(2)::after {
  top: 4.8125rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item:nth-child(2)::after {
    top: 1rem;
  }
}

.p-3minute-history__item:last-child {
  margin-top: -0.625rem;
}

.p-3minute-history__item-year {
  font-family: var(--en-font-family);
  font-size: max(3.75rem, 10px);
  font-weight: 500;
  line-height: 1;
  color: var(--color-black);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-year {
    font-size: max(3rem, 10px);
  }
}

.p-3minute-history__item-year span {
  display: inline-block;
  margin-left: 0.375rem;
  font-size: max(1.5rem, 10px);
  font-family: var(--recruit-font-family);
  font-weight: 500;
  line-height: 1;
  color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-year span {
    font-size: max(1.5rem, 10px);
  }
}

.p-3minute-history__item-year::before {
  content: "";
  position: absolute;
  left: -5.125rem;
  top: 1.875rem;
  width: 4rem;
  height: 2px;
  background-color: var(--color-navy);
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-year::before {
    width: 1.5625rem;
    left: -2.0625rem;
    top: 1.25rem;
  }
}

.p-3minute-history__item-title {
  margin-top: 1.5625rem;
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-title {
    margin-top: 0.625rem;
    font-size: max(1.5rem, 10px);
  }
}

.p-3minute-history__item-text {
  margin-top: 1.1875rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black5);
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-text {
    margin-top: 0.625rem;
    text-align: left;
  }
}

.p-3minute-history__item-img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-img {
    max-width: 18.75rem;
  }
}

.p-3minute-history__item-img img {
  aspect-ratio: 417/261;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  border-radius: 8.125rem;
  border: 1px solid var(--color-navy);
}

.p-3minute-history__item-img-wrap[data-type=grid] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 2.3125rem;
  max-width: 25rem;
  width: 100%;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-img-wrap[data-type=grid] {
    margin-left: initial;
    max-width: 25rem;
    gap: 1.25rem;
  }
}

.p-3minute-history__item-img-wrap[data-type=grid] .p-3minute-history__item-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 62.4375rem;
}

.p-3minute-history__item-img-caption {
  margin-top: -1.125rem;
  position: relative;
  z-index: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
  text-align: center;
  background-color: var(--color-white);
  padding: 0.1875rem 0.625rem;
  border-radius: 62.4375rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-img-caption {
    margin-top: -0.75rem;
    padding: 0.0625rem 0.625rem;
  }
}

.p-3minute-history__item-img-container {
  display: flex;
  position: relative;
  z-index: 1;
  max-width: 25.625rem;
}
@media (max-width: 500px) {
  .p-3minute-history__item-img-container {
    max-width: 18.75rem;
    flex-direction: column;
  }
}

.p-3minute-history__item-img-container:nth-child(even) {
  margin-top: 1.875rem;
  flex-direction: row-reverse;
}
@media (max-width: 500px) {
  .p-3minute-history__item-img-container:nth-child(even) {
    margin-top: 1.75rem;
    flex-direction: column;
  }
}

.p-3minute-history__item-img-container .p-3minute-history__item-img {
  width: 15.625rem;
}

@media screen and (max-width: 767px) {
  .p-3minute-history__item-img-container:nth-child(even) .p-3minute-history__item-img {
    margin-left: auto;
  }
}

.p-3minute-history__item-img-note-wrap {
  position: absolute;
  z-index: -1;
  top: 50%;
  transform: translateY(-50%);
  right: 1.25rem;
  width: 10rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--color-white);
  padding: 0.625rem;
  border-radius: 62.4375rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 500px) {
  .p-3minute-history__item-img-note-wrap {
    width: 7.875rem;
    top: initial;
    bottom: -0.75rem;
    transform: initial;
    right: 0rem;
    z-index: 1;
    padding-top: 0;
  }
}

.p-3minute-history__item-img-container:nth-child(even) .p-3minute-history__item-img-note-wrap {
  right: initial;
  left: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-img-container:nth-child(even) .p-3minute-history__item-img-note-wrap {
    left: 0;
  }
}

.p-3minute-history__item-img-note {
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-img-note {
    font-size: max(0.75rem, 10px);
  }
}

.p-3minute-history__item-img-note span {
  display: block;
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black);
}

.p-3minute-history__item-img-wrap:has(.p-3minute-history__item-img-deco) {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-img-wrap:has(.p-3minute-history__item-img-deco) {
    max-width: 18.75rem;
  }
}

.p-3minute-history__item-img-deco {
  position: absolute;
  z-index: 1;
  top: 61%;
  transform: translateY(-50%);
  right: 1.25rem;
  width: 7.125rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-3minute-history__item-img-deco {
    width: 29.1228070175%;
    max-width: 5.1875rem;
    top: initial;
    bottom: 0.4375rem;
    transform: initial;
  }
}

.p-3minute-history__item-img-deco img {
  aspect-ratio: 228/552;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-3minute-history__item-img-wrap:has(.p-3minute-history__item-img-deco) {
    padding-bottom: 4.375rem;
  }
}

.p-3minute-philosophy {
  background-color: var(--color-navy);
  color: var(--color-white);
  position: relative;
  z-index: 1;
  overflow: clip;
}

.p-3minute-philosophy__wrap {
  padding-block: 7.5rem 7.5rem;
  position: relative;
  max-width: 1440px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-3minute-philosophy__wrap {
    padding-block: 30.1333333333vw 30.1333333333vw;
  }
}

.p-3minute-philosophy::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(163deg, rgba(37, 53, 115, 0) 23.09%, rgba(135, 76, 95, 0.5) 62.15%, #EA634B 101.21%);
}

.p-3minute-philosophy__wrap .p-3minute-philosophy__bg {
  position: absolute;
  left: -0.875rem;
  top: -1.875rem;
  color: var(--color-white);
  opacity: 0.1;
  font-family: var(--second-font-family);
  font-size: max(12.4375rem, 10px);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-3minute-philosophy__wrap .p-3minute-philosophy__bg {
    font-size: 21vw;
    top: -2.6666666667vw;
    left: 0;
  }
}

.p-3minute-philosophy__bg:last-child {
  left: auto;
  right: -0.4375rem;
  top: initial;
  bottom: -1.875rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-philosophy__bg:last-child {
    bottom: -4vw;
    right: 0;
  }
}

.p-3minute-philosophy__inner {
  position: relative;
  z-index: 1;
}

.p-3minute-philosophy__text {
  margin-top: 2.8125rem;
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-philosophy__text {
    margin-top: 1.5625rem;
    font-size: max(2rem, 10px);
  }
}

.p-3minute-philosophy__text span {
  color: var(--color-red);
}

.p-3minute-strengths {
  background-color: rgba(160, 185, 219, 0.3);
  padding-block: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-3minute-strengths {
    padding-block: 5rem;
  }
}

.p-3minute-strengths__sub-title {
  margin-top: 3rem;
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-strengths__sub-title {
    margin-top: 1.75rem;
    font-size: max(1.5rem, 10px);
  }
}

.p-3minute-strengths__list {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  counter-reset: strength;
}
@media screen and (max-width: 767px) {
  .p-3minute-strengths__list {
    margin-top: 2.5625rem;
    max-width: 31.25rem;
    margin-inline: auto;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5rem;
  }
}

.p-3minute-strengths__item {
  position: relative;
  counter-increment: strength;
}

.p-3minute-strengths__item-label {
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--color-white);
  border: 1px solid var(--color-navy);
  border-radius: 62.4375rem;
  width: 4rem;
  height: auto;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: max(2rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 600;
  line-height: 1;
  color: var(--color-navy);
}
.p-3minute-strengths__item-label::before {
  content: counter(strength, decimal-leading-zero);
}
@media screen and (max-width: 767px) {
  .p-3minute-strengths__item-label {
    width: 18.8059701493%;
  }
}

.p-3minute-strengths__item-img {
  width: 100%;
  height: auto;
}

.p-3minute-strengths__item-img img {
  aspect-ratio: 340/213;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  border-radius: 62.4375rem;
  border: 1px solid var(--color-navy);
}

.p-3minute-strengths__item-contents {
  margin-top: 1.25rem;
  padding-inline: 1rem;
}

.p-3minute-strengths__item-title {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-black);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-3minute-strengths__item-title {
    font-size: max(1.25rem, 10px);
  }
}

.p-3minute-strengths__item-title span {
  color: var(--color-red);
}

.p-3minute-strengths__item-text {
  margin-top: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .p-3minute-strengths__item-text {
    margin-top: 0.6875rem;
    letter-spacing: -0.01em;
  }
}

.p-404__contents {
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-404__contents {
    text-align: left;
    gap: 1.875rem;
  }
}

.p-404__text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}

.p-404__link .c-arrow-button {
  min-width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-404__link .c-arrow-button {
    font-size: max(1rem, 10px);
  }
}

.p-about-furnace {
  margin-top: -1px;
  background-color: var(--color-navy);
  padding-block: 5.4375rem 25.9375rem;
}
@media screen and (max-width: 767px) {
  .p-about-furnace {
    padding-block: 3.5rem 6.875rem;
  }
}

.p-about-furnace__inner {
  max-width: 82.3125rem;
  display: grid;
  grid-template-columns: 20.4419889503% 1fr 20.4419889503%;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-about-furnace__inner {
    max-width: 40rem;
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.p-about-furnace__header .c-recruit-sub-section-title__ja {
  line-height: 1.3;
}

.p-about-furnace__text-wrap {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-about-furnace__text-wrap {
    margin-top: 1.9375rem;
    gap: 1.9375rem;
  }
}

.p-about-furnace__text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-white);
  text-align: center;
}

.p-about-furnace__image-wrap {
  margin-top: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-about-furnace__image-wrap {
    margin-top: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }
}

.p-about-furnace__image {
  width: 100%;
  height: auto;
  flex-shrink: 0;
}

.p-about-furnace__image img {
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
  border-radius: 1rem;
  box-shadow: 0.625rem 0.625rem 0.625rem 0 rgba(0, 0, 0, 0.14);
}

@media screen and (max-width: 767px) {
  .p-about-furnace__image-wrap[data-position=left] .p-about-furnace__image:nth-child(1) {
    width: 51.9402985075%;
  }
}

.p-about-furnace__image-wrap[data-position=left] .p-about-furnace__image:nth-child(2) {
  margin-top: 3.5625rem;
  width: 11.4375rem;
  margin-left: auto;
}

.p-about-furnace__image-wrap[data-position=left] .p-about-furnace__image:nth-child(3) {
  margin-top: 1.5rem;
  width: 12.9375rem;
}
@media screen and (max-width: 767px) {
  .p-about-furnace__image-wrap[data-position=left] .p-about-furnace__image:nth-child(3) {
    width: 36.7164179104%;
  }
}

@media screen and (max-width: 767px) {
  .p-about-furnace__image-wrap[data-position=right] {
    flex-direction: row-reverse;
    gap: 0;
    margin-top: -1.25rem;
  }
}

.p-about-furnace__image-wrap[data-position=right] .p-about-furnace__image:nth-child(1) {
  width: 12.9375rem;
}

.p-about-furnace__image-wrap[data-position=right] .p-about-furnace__image:nth-child(2) {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-furnace__image-wrap[data-position=right] .p-about-furnace__image:nth-child(2) {
    margin-top: 0.625rem;
    width: 77.0149253731%;
  }
}

.p-about-furnace__image-wrap[data-position=right] .p-about-furnace__image:nth-child(3) {
  margin-top: 3.5625rem;
  width: 11.4375rem;
  margin-left: auto;
  margin-right: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-furnace__image-wrap[data-position=right] .p-about-furnace__image:nth-child(3) {
    width: 37.6119402985%;
    margin-inline: initial;
    margin-bottom: -2.1875rem;
    margin-right: -3.125rem;
    position: relative;
  }
}

.p-about-history {
  background-color: var(--color-white);
  padding-block: 8.125rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-about-history {
    padding-block: 5.125rem 5rem;
  }
}

.p-about-intro {
  overflow-x: clip;
}

.p-about-intro__bg {
  font-size: min(12.0625rem, 13.4027777778vw);
  font-family: var(--en-font-family);
  font-weight: 400;
  line-height: 1;
  color: var(--color-white);
  white-space: nowrap;
  transform: translateX(-0.625rem);
  opacity: 0.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about-intro__bg {
    margin-top: -1.875rem;
    font-size: max(21.3333333333vw, 5rem);
    transform: initial;
    text-align: left;
  }
}

.p-about-intro__inner {
  position: relative;
  z-index: 1;
  margin-top: -3.3125rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__inner {
    margin-top: 0rem;
  }
}

.p-about-intro__text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black5);
}
@media screen and (max-width: 767px) {
  .p-about-intro__text {
    font-size: max(1rem, 10px);
  }
}

@media screen and (max-width: 767px) {
  .p-about-intro__text + .p-about-intro__text {
    margin-top: 1.875rem;
  }
}

.p-about-intro__image-wrap {
  margin-top: 8rem;
  max-width: 90rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 70.7638888889% 1fr;
}
@media screen and (max-width: 767px) {
  .p-about-intro__image-wrap {
    margin-top: -0.625rem;
    grid-template-columns: 73.3333333333% 1fr;
  }
}

.p-about-intro__image {
  width: 100%;
  height: auto;
}

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

.p-about-intro__image:nth-child(1) img {
  aspect-ratio: 1019/420;
}
@media screen and (max-width: 767px) {
  .p-about-intro__image:nth-child(1) img {
    aspect-ratio: 275/180;
  }
}

.p-about-intro__image:nth-child(2) img {
  aspect-ratio: 421/420;
}
@media screen and (max-width: 767px) {
  .p-about-intro__image:nth-child(2) img {
    aspect-ratio: 100/180;
  }
}

.p-about-nav__list {
  display: grid;
  gap: 0.0625rem;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .p-about-nav__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem 0.5rem;
  }
}

.p-about-nav__item a {
  display: block;
  padding-block: 1.0625rem;
  padding-inline: 0.625rem 1.875rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
  background-color: #C7C7C7;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about-nav__item a {
    font-size: max(0.75rem, 10px);
    text-align: left;
    line-height: 1.5;
    padding-block: 0.5rem;
    padding-inline: 0.5625rem 1.5625rem;
  }
}

.p-about-nav__item a::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  width: 0.75rem;
  height: 0.75rem;
  -webkit-mask-image: url(../images/common/arrow-right.svg);
          mask-image: url(../images/common/arrow-right.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: cover;
          mask-size: cover;
  background-color: var(--color-black4);
  transition: background-color 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-about-nav__item a::after {
    right: 0.6875rem;
    top: 65%;
  }
}

@media (any-hover: hover) {
  .p-about-nav__item a:hover {
    opacity: 1;
    background-color: var(--color-main);
    color: var(--color-white);
  }
  .p-about-nav__item a:hover::after {
    background-color: var(--color-white);
  }
}
@media screen and (max-width: 767px) {
  .p-about-strengths__inner.l-inner {
    padding-inline: 1.125rem;
  }
}

.p-about-strengths__header + .p-about-strengths__heading {
  margin-top: 5.1875rem;
}
@media screen and (max-width: 767px) {
  .p-about-strengths__header + .p-about-strengths__heading {
    margin-top: 2.5rem;
  }
}

.p-about-strengths__heading {
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-main);
}

.p-about-strengths__text-main {
  margin-top: 0.5625rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-about-strengths__text-main {
    font-size: max(1.25rem, 10px);
  }
}

.p-about-strengths__text-sub {
  margin-top: 0.5625rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-about-strengths__text-sub {
    margin-top: 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .p-about-strengths__text-sub + .p-about-strengths__block {
    margin-top: 1.4375rem;
  }
}

.p-about-strengths__block {
  padding-block: 4.5rem;
  display: grid;
  gap: 5rem;
  grid-template-columns: 1.875rem 37.037037037% 1fr;
  border-bottom: 1px solid var(--color-gray);
}
@media screen and (max-width: 767px) {
  .p-about-strengths__block {
    padding-block: 2.5rem 2rem;
    gap: 0.8125rem;
    grid-template-columns: 1fr;
  }
}

.p-about-strengths__label {
  writing-mode: vertical-rl;
  font-family: var(--en-font-family);
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  color: var(--color-main);
}
@media screen and (max-width: 767px) {
  .p-about-strengths__label {
    writing-mode: initial;
  }
}

.p-about-strengths__image {
  width: 100%;
  height: auto;
}

.p-about-strengths__image img {
  aspect-ratio: 400/266;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-about-strengths__contents-step {
  font-size: max(0.875rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-white);
  background-color: var(--color-main);
  padding-inline: 0.625rem;
  border-radius: 62.4375rem;
  width: -moz-fit-content;
  width: fit-content;
  text-transform: capitalize;
}

.p-about-strengths__contents-heading {
  font-size: max(1.5rem, 10px);
  font-weight: 600;
  line-height: 1.8;
  color: var(--color-black4);
}

.p-about-strengths__contents-text {
  margin-top: 0.75rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}

.p-about-system {
  padding-block: 8.125rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-about-system {
    padding-block: 6.8125rem 5rem;
  }
}

.p-base__inner {
  max-width: 73.875rem;
}
@media screen and (max-width: 767px) {
  .p-base__inner {
    max-width: 40rem;
  }
}

.p-base__text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black5);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-base__text {
    font-size: max(1rem, 10px);
    text-align: justify;
  }
}

.p-base__image {
  height: auto;
  margin-top: -1.125rem;
}
@media screen and (max-width: 767px) {
  .p-base__image {
    margin-top: 2.625rem;
    margin-inline: calc(50% - 50cqi);
    width: 100cqi;
  }
}

.p-base__image img {
  aspect-ratio: 1132/544;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-base__list {
  max-width: 67.375rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-base__list {
    margin-top: 0.3125rem;
  }
}

.p-base__item + .p-base__item {
  margin-top: 2.9375rem;
}
@media screen and (max-width: 767px) {
  .p-base__item + .p-base__item {
    margin-top: 2.0625rem;
  }
}

.p-base__item {
  background-color: var(--color-white);
  padding: 2.5rem 3.5rem;
  display: grid;
  grid-template-columns: 1fr 50%;
  align-items: center;
  gap: 3.125rem;
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 767px) {
  .p-base__item {
    grid-template-columns: 1fr;
    padding: 1.75rem 1.25rem 1.5rem;
    gap: 2.5625rem;
  }
}

.p-base__item-heading-en {
  font-size: max(0.875rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 500;
  color: var(--color-main);
  line-height: 1;
}

.p-base__item-heading-en span {
  display: inline-block;
  padding-inline: 0.5rem;
}

.p-base__item-heading {
  margin-top: 0.125rem;
  font-size: max(1.5rem, 10px);
  font-weight: 500;
  color: var(--color-black5);
  line-height: 1.8;
}

.p-base__item-address {
  margin-top: 1.25rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  color: var(--color-black5);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-base__item-address {
    margin-top: 0.5625rem;
  }
}

.p-base__item-tel {
  margin-top: 0.625rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  color: var(--color-black5);
  line-height: 1.8;
}

@keyframes p-base-underline-move {
  0% {
    transform: scaleX(1);
    transform-origin: center;
  }
  50% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
.p-base__item-page a {
  display: inline-block;
  position: relative;
  color: var(--color-main);
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}
.p-base__item-page a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(1);
  transform-origin: center;
}

@media (any-hover: hover) {
  .p-base__item-page a:hover {
    opacity: 1;
  }
  .p-base__item-page a:hover::after {
    animation: p-base-underline-move 0.3s ease-in-out forwards;
  }
}
.p-base__item-link {
  margin-top: 1.9375rem;
}
@media screen and (max-width: 767px) {
  .p-base__item-link {
    margin-top: 1.3125rem;
  }
}

.p-base__item-link a {
  width: 100%;
  max-width: 11.625rem;
  padding-block: 0.9375rem;
  padding-inline: 0.9375rem 1.125rem;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-black2);
  border-radius: 62.4375rem;
  transition: background-color 0.3s ease-out;
}

.p-base__item-link a::before {
  content: "";
  width: 1.25rem;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../images/common/google-map-icon.svg);
          mask-image: url(../images/common/google-map-icon.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--color-main);
  transition: background-color 0.3s ease-out;
}

.p-base__item-link a::after {
  content: "";
  width: 0.75rem;
  height: auto;
  aspect-ratio: 1/1;
  transform: rotate(-45deg);
  background-image: url(../images/common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media (any-hover: hover) {
  .p-base__item-link a:hover {
    opacity: 1;
    background-color: var(--color-main);
  }
  .p-base__item-link a:hover::before {
    background-color: var(--color-white);
  }
}
.p-base__item-image {
  width: 100%;
  height: auto;
}

.p-base__item-image img {
  aspect-ratio: 481/321;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-breadcrumb span {
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  line-height: 1;
  display: inline-block;
  color: var(--color-black);
}

.p-breadcrumb span.current-item {
  padding-inline: 0.5rem;
}

.p-breadcrumb span:has(a) span {
  text-decoration: underline;
  text-decoration-color: var(--color-main);
  color: var(--color-main);
  padding-inline: 0.5rem;
}

.p-contact-banner {
  color: var(--color-white);
}

.p-contact-banner__inner.l-inner {
  max-width: 67.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-contact-banner__inner.l-inner {
    max-width: 40rem;
  }
}

.p-contact-banner__link {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9.1875rem;
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-contact-banner__link {
    bottom: -9.375rem;
    transform: none;
    width: 89.3333333333%;
    margin-inline: auto;
  }
}

.p-contact-banner__link a {
  display: block;
  padding-block: 4.125rem 3.875rem;
  padding-inline: 5.25rem;
  font-family: var(--en-font-family);
  font-size: max(8.25rem, 10px);
  font-weight: 500;
  line-height: 1;
  text-transform: capitalize;
  color: currentColor;
  background-color: var(--color-main);
  position: relative;
  transition: background-color 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-contact-banner__link a {
    padding-block: 2.3125rem 5.25rem;
    padding-inline: 1.75rem;
    font-size: max(4rem, 10px);
  }
}

.p-contact-banner__link a::before {
  content: "";
  position: absolute;
  right: 5.625rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 11.25rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-contact-banner__link a::before {
    width: 8.25rem;
    right: 1.875rem;
    top: initial;
    bottom: 1.875rem;
    transform: none;
  }
}

.p-contact-banner__link a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 9.0625rem;
  transform: translateY(-50%);
  width: 3.875rem;
  height: auto;
  aspect-ratio: 12/11;
  background-image: url(../images/common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border-radius: 50%;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-contact-banner__link a::after {
    width: 2.8125rem;
    right: 4.4375rem;
    top: initial;
    bottom: 4.4375rem;
    transform: none;
  }
}

.p-contact-banner__link a span {
  margin-top: 0.5rem;
  margin-left: 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-family: var(--base-font-family);
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-contact-banner__link a span {
    margin-left: -0.1875rem;
  }
}

.p-contact-banner__link a span::before {
  content: "";
  flex-shrink: 0;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: var(--color-white);
  border-radius: 50%;
}

@media (any-hover: hover) {
  .p-contact-banner__link a:hover {
    opacity: 1;
  }
  .p-contact-banner__link a:hover::before {
    transform: translateY(-50%) scale(1.189);
  }
}
@media screen and (any-hover: hover) and (max-width: 767px) {
  .p-contact-banner__link a:hover::before {
    transform: scale(1.189);
  }
}
.p-contact__status-list {
  margin-top: 3.125rem;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  max-width: 25rem;
  width: 100%;
  counter-reset: number;
}
@media screen and (max-width: 767px) {
  .p-contact__status-list {
    margin-top: 1.875rem;
    max-width: 18.75rem;
  }
}

.p-contact__status-item {
  width: 6.25rem;
  height: 6.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid var(--color-main);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-contact__status-item {
    width: 5rem;
    height: 5rem;
  }
}

.p-contact__status-item.p-contact__status-item--current {
  background-color: var(--color-main);
  color: var(--color-white);
}

.p-contact__attention {
  max-width: 50rem;
  margin-inline: auto;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-contact__attention {
    margin-top: 1.875rem;
  }
}

.p-contact__attention-heading {
  font-size: max(1.25rem, 10px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact__attention-heading {
    font-size: max(1.125rem, 10px);
  }
}

.p-contact__attention-item {
  padding-left: 1em;
  position: relative;
}

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

.p-contact__form {
  margin-top: 3.125rem;
}

.p-efforts {
  padding-block: 8.1875rem 8.75rem;
  background-color: var(--color-white);
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-efforts {
    padding-block: 5.125rem 5rem;
  }
}

.p-efforts__article {
  margin-top: 4.625rem;
}
@media screen and (max-width: 767px) {
  .p-efforts__article {
    margin-top: 2.5rem;
  }
}

.p-efforts__article + .p-efforts__article {
  margin-top: 2.5rem;
  padding-top: 4rem;
  border-top: 1px solid var(--color-gray);
}
@media screen and (max-width: 767px) {
  .p-efforts__article + .p-efforts__article {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
  }
}

.p-efforts__article-grid {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: 1fr 18.5185185185%;
}
@media screen and (max-width: 767px) {
  .p-efforts__article-grid {
    grid-template-columns: 1fr;
  }
}

.p-efforts__heading {
  font-size: max(1.5rem, 10px);
  font-weight: 600;
  line-height: 1.8;
  color: currentColor;
  position: relative;
  display: flex;
  padding-left: 0.9375rem;
}

.p-efforts__heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  flex-shrink: 0;
  width: 0.125rem;
  height: 100%;
  background-color: var(--color-main);
}

.p-efforts__text {
  margin-top: 1.5rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-efforts__text {
    margin-top: 0.8125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-efforts__list + .p-efforts__text {
    margin-top: 1.5625rem;
  }
}

.p-efforts__image {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-efforts__image {
    max-width: 12.5rem;
  }
}

.p-efforts__image img {
  aspect-ratio: 200/284;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-efforts__list {
  margin-top: 1.4375rem;
  counter-reset: efforts;
}
@media screen and (max-width: 767px) {
  .p-efforts__list {
    margin-top: 0.875rem;
  }
}

.p-efforts__item + .p-efforts__item {
  margin-top: 1.5625rem;
}

.p-efforts__item {
  counter-increment: efforts;
  padding-left: 1.375rem;
  position: relative;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-efforts__item {
    padding-left: 1.375rem;
  }
}

.p-efforts__item::before {
  content: counter(efforts) ".";
  color: var(--color-main);
  position: absolute;
  left: 0;
  top: 0.1em;
  width: 0.9375rem;
  text-align: right;
}

.p-efforts__sub-list {
  margin-top: 0.375rem;
  counter-reset: efforts-sub;
}
@media screen and (max-width: 767px) {
  .p-efforts__sub-list {
    margin-top: 0.4375rem;
  }
}

.p-efforts__sub-item + .p-efforts__sub-item {
  margin-top: 0.5rem;
}

.p-efforts__sub-item {
  counter-increment: efforts-sub;
  padding-left: 1.5625rem;
  position: relative;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}

.p-efforts__sub-item::before {
  content: counter(efforts-sub);
  background-color: var(--color-black4);
  color: var(--color-white);
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-employee-benefits {
  padding-top: 5.4375rem;
}
@media screen and (max-width: 767px) {
  .p-employee-benefits {
    padding-top: 2.5rem;
  }
}

.p-employee-benefits__header .c-recruit-sub-section-title__en {
  text-transform: capitalize;
}

.p-employee-benefits__list {
  margin-top: 4rem;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .p-employee-benefits__list {
    margin-top: 2.5rem;
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-employee-benefits__item {
  background-color: rgba(160, 185, 219, 0.3);
  border-radius: 1.25rem;
  padding: 1.5rem;
}

.p-employee-benefits__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-black);
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-employee-benefits__title {
    gap: 0.3125rem;
  }
}

.p-employee-benefits__title::before {
  content: "";
  flex-shrink: 0;
  width: 2.5rem;
  height: auto;
  aspect-ratio: 40/40;
  background-image: url(../images/requirements/employee-benefits-icon01.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-employee-benefits__item[data-type=qualification] .p-employee-benefits__title::before {
  background-image: url(../images/requirements/employee-benefits-icon02.svg);
}

.p-employee-benefits__item[data-type=refresh] .p-employee-benefits__title::before {
  background-image: url(../images/requirements/employee-benefits-icon03.svg);
}

.p-employee-benefits__detail-list {
  margin-top: 0.9375rem;
}

.p-employee-benefits__detail-item + .p-employee-benefits__detail-item {
  margin-top: 0.125rem;
}

.p-employee-benefits__detail-item {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black);
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.p-employee-benefits__detail-item::before {
  flex-shrink: 0;
  content: "";
  margin-top: 0.625rem;
  width: 0.4375rem;
  height: auto;
  aspect-ratio: 7/7;
  background-color: var(--color-navy);
  border-radius: 50%;
}

.p-entry-form__head {
  text-align: center;
}

.p-entry-form__head-text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black5);
}

.p-entry-form__head-link {
  margin-top: 1.375rem;
}

.p-entry-form__head-link .c-arrow-button {
  background-color: var(--color-navy);
  padding-inline: 1.4375rem 0.9375rem;
  font-family: var(--recruit-font-family);
}

.p-entry-form__head-link .c-arrow-button::after {
  background-color: #C6D3E9;
}

@media (any-hover: hover) {
  .p-entry-form__head-link .c-arrow-button:hover {
    opacity: 1;
    background-color: var(--color-red);
  }
}
.p-entry-form__content {
  margin-top: 4.5rem;
  background-color: rgba(160, 185, 219, 0.1);
  padding-inline: 5.5rem;
  padding-block: 5rem;
  border-radius: 2rem;
}
@media screen and (max-width: 767px) {
  .p-entry-form__content {
    margin-top: 3.5625rem;
    padding-inline: 1.125rem;
    padding-block: 2.5rem 2.5rem;
  }
}

.p-entry-form__wrap {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  border-bottom: 1px solid #C6D3E9;
  padding-block: 2.5rem 1.9375rem;
}
@media screen and (max-width: 767px) {
  .p-entry-form__wrap {
    gap: 0.4375rem;
    padding-block: 2.5625rem 2rem;
  }
}

.p-entry-form__wrap:first-child {
  padding-top: 0;
}

.p-entry-form__label {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-black4);
  display: grid;
  grid-template-columns: 2.25rem 1fr;
  gap: 0.5rem;
  align-items: center;
}

.p-entry-form.js-confirmArea .p-entry-form__label {
  display: block;
}

.p-entry-form__wrap:has(textarea) .p-entry-form__label {
  gap: 0.125rem 0.5rem;
}

.p-entry-form__wrap:has(textarea) .p-entry-form__label span:not(.u-optional) {
  grid-area: 2/1/3/3;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: #727D8F;
}

.p-entry-form__input,
.p-entry-form__textarea {
  flex-grow: 1;
  width: 100%;
}

.p-entry-form__input input,
.p-entry-form__radio-item input[type=text] {
  padding: 0.5rem 0.75rem;
  width: 100%;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  background-color: var(--color-white);
  border: 1px solid #C6D3E9;
}
@media screen and (max-width: 767px) {
  .p-entry-form__input input,
  .p-entry-form__radio-item input[type=text] {
    font-size: max(1rem, 10px);
    padding: 0.5rem 0.625rem;
  }
}

.p-entry-form__textarea textarea {
  padding: 0.5625rem 0.75rem;
  width: 100%;
  height: 100%;
  min-height: 15rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  background-color: var(--color-white);
  border: 1px solid #C6D3E9;
  resize: none;
  field-sizing: content;
  box-shadow: 0 0.25rem 0.625rem rgba(91, 163, 115, 0.05);
}
@media screen and (max-width: 767px) {
  .p-entry-form__textarea textarea {
    font-size: max(0.875rem, 10px);
    padding: 0.625rem 0.5rem;
  }
}

.p-entry-form__input input::-moz-placeholder, .p-entry-form__textarea textarea::-moz-placeholder {
  color: #C7C7C7;
}

.p-entry-form__input input::placeholder,
.p-entry-form__textarea textarea::placeholder {
  color: #C7C7C7;
}

/* radio */
.p-entry-form__radio {
  display: flex;
  align-items: center;
  gap: 0.75rem 1.625rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-entry-form__radio {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.875rem;
  }
}

.p-entry-form__radio .wpcf7-list-item {
  display: block;
  margin-left: 0;
}

.p-entry-form__radio-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.p-entry-form__radio input:not([type=text]) {
  display: none;
}

.p-entry-form__radio input + span {
  cursor: pointer;
  display: inline-block;
  padding-left: 2.1875rem;
  position: relative;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-entry-form__radio input + span {
    padding-left: 2.3125rem;
  }
}

.p-entry-form__radio input + span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: var(--color-white);
  border: 1px solid #E0E0E0;
  border-radius: 50%;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}

.p-entry-form__radio input + span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.375rem;
  transform: translateY(-50%);
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: var(--color-black2);
  transition: 0.3s;
  opacity: 0;
}

.p-entry-form__radio input:checked + span::after {
  opacity: 1;
}

/* privacy */
.p-entry-form__privacy {
  margin-top: 2.9375rem;
  background-color: rgba(160, 185, 219, 0.2);
  padding: 2.5rem;
  padding-right: 1.875rem;
  border-radius: 1rem;
  max-width: 26.9375rem;
  margin-inline: auto;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .p-entry-form__privacy {
    padding: 1.25rem;
  }
}

.p-entry-form__privacy .wpcf7-list-item {
  margin-left: 0;
}

.p-entry-form__privacy a {
  color: var(--color-navy);
  text-decoration: underline;
  text-decoration-color: var(--color-navy);
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

.p-entry-form__privacy input + span {
  position: relative;
  padding-left: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .p-entry-form__privacy input + span {
    padding-left: 1.875rem;
    display: block;
  }
}

.p-entry-form__privacy input + span::before {
  content: "";
  position: absolute;
  top: 55%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray);
}
@media screen and (max-width: 767px) {
  .p-entry-form__privacy input + span::before {
    top: 0.375rem;
    transform: initial;
  }
}

.p-entry-form__privacy input + span::after {
  content: "";
  margin-top: -0.125rem;
  position: absolute;
  top: 55%;
  left: 0.15625rem;
  transform: translateY(-50%) rotate(-45deg);
  display: block;
  width: 0.625rem;
  height: 0.4375rem;
  border-bottom: 2px solid var(--color-black);
  border-left: 2px solid var(--color-black);
  transition: 0.3s;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-entry-form__privacy input + span::after {
    top: 0.625rem;
    transform: rotate(-45deg);
  }
}

.p-entry-form__privacy input:checked + span::after {
  opacity: 1;
}

/* submit */
.p-entry-form__submit {
  margin-top: 2.8125rem;
  text-align: center;
}

.p-entry-form__submit input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: 1.375rem;
  padding-inline: 2.875rem 3.75rem;
  min-width: 18.75rem;
  color: var(--color-white);
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1;
  background-color: var(--color-black2);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='11' viewBox='0 0 12 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.39205 10.6023L5.36932 9.59089L8.92045 6.03976H0V4.56248H8.92045L5.36932 1.01703L6.39205 -1.71661e-05L11.6932 5.30112L6.39205 10.6023Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.25rem center;
  border: none;
  border-radius: 2.25rem;
  cursor: pointer;
  transition: background-color 0.3s ease-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.p-entry-form__submit input:hover {
  opacity: 1;
  background-color: var(--color-main);
}

/* confirm */
.p-entry-form__confirm {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}

.p-entry-form__submit-wrap {
  margin-top: 3.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-entry-form__submit-wrap {
    margin-top: 2.5rem;
    flex-direction: column;
  }
}

.p-entry-form__submit-wrap .c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: 1.375rem;
  padding-inline: 2.875rem 3.75rem;
  width: 18.75rem;
  min-width: 18.75rem;
  color: var(--color-white);
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1;
  background-color: var(--color-main);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='11' viewBox='0 0 12 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='scale(-1,1) translate(-12,0)'%3E%3Cpath d='M6.39205 10.6023L5.36932 9.59089L8.92045 6.03976H0V4.56248H8.92045L5.36932 1.01703L6.39205 -1.71661e-05L11.6932 5.30112L6.39205 10.6023Z' fill='white'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 1.25rem center;
  border: none;
  border-radius: 2.25rem;
  cursor: pointer;
  transition: background-color 0.3s ease-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

@media (any-hover: hover) {
  .p-entry-form__submit-wrap .c-button:hover {
    opacity: 1;
    background-color: var(--color-black2);
  }
}
.p-footer {
  position: relative;
  z-index: 0;
  padding-top: 16.4375rem;
  background-color: #181818;
  color: var(--color-white);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding-top: 13.125rem;
  }
}

.p-footer__inner {
  position: relative;
  z-index: 1;
}

.p-footer__wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-footer__wrap {
    flex-direction: column;
    justify-content: center;
    gap: 2.625rem;
  }
}

.p-footer__left {
  width: 23.1481481481%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__left {
    width: 100%;
  }
}

.p-footer__logo {
  width: 15.625rem;
}

.p-footer__logo a {
  padding: 0.625rem 0;
  display: block;
}

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

.p-footer__address {
  margin-top: 0.375rem;
  font-style: normal;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-footer__address {
    margin-top: 0.5rem;
  }
}

.p-footer__sns {
  margin-top: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-footer__sns {
    margin-top: 2rem;
  }
}

.p-footer__sns-list {
  display: flex;
  gap: 0.8125rem;
}

.p-footer__sns-item a {
  display: block;
  width: 3rem;
  height: 3rem;
}

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

.p-footer__copyright {
  margin-top: 4.875rem;
}
@media screen and (max-width: 767px) {
  .p-footer__copyright {
    margin-top: 2rem;
  }
}

.p-footer__copyright small {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
}

.p-footer__right {
  flex-grow: 1;
}

.p-footer__nav-columns {
  display: flex;
  justify-content: flex-end;
  gap: 8.9156626506%;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-columns {
    flex-direction: column;
    gap: 0.875rem;
  }
}

.p-footer__nav-column[data-column="1"] {
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-column[data-column="1"] {
    width: 100%;
  }
}

.p-footer__nav-column[data-column="2"] {
  width: 26.5060240964%;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-column[data-column="2"] {
    width: 100%;
  }
}

.p-footer__nav-column[data-column="3"] {
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-column[data-column="3"] {
    width: 100%;
  }
}

.p-footer__nav-item a {
  padding-block: 0.75rem;
  display: block;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-item a {
    padding-block: 0.625rem;
  }
}

.p-footer__nav-item:first-child a {
  padding-top: 0;
}

.p-footer__nav-sub-item a {
  padding-block: 0.25rem;
  display: flex;
  gap: 0.625rem;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-sub-item a {
    padding-block: 0.3125rem;
  }
}

.p-footer__nav-sub-item:first-child a {
  padding-top: 0;
}

.p-footer__nav-sub-item a::before {
  content: "";
  flex-shrink: 0;
  display: block;
  margin-top: 0.5625rem;
  width: 0.625rem;
  height: 2px;
  background-color: var(--color-main);
  border-radius: 50%;
}

.p-footer__bottom {
  position: relative;
  z-index: 0;
  margin-top: 5.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer__bottom {
    margin-top: 2.375rem;
  }
}

.p-footer__bg {
  position: absolute;
  pointer-events: none;
  left: 0;
  right: 0;
  bottom: 0;
  aspect-ratio: 1440/735;
  width: 100%;
  height: auto;
  mix-blend-mode: soft-light;
  opacity: 0.1;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
          mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
}

.p-footer__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/footer-bg.avif") center/cover no-repeat;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__bg::before {
    aspect-ratio: 375/275;
  }
}

.p-footer__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(24, 24, 24, 0) 100%, rgb(24, 24, 24) 0%);
  z-index: 0;
}

.p-footer__bottom-message {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
  height: auto;
  mix-blend-mode: hue;
}

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

.p-form__message,
.p-contact__form-message {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black5);
}

.p-form__contents {
  margin-top: 3.5625rem;
  background-color: var(--color-white);
  color: var(--color-black4);
  padding-inline: 5.5rem;
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .p-form__contents {
    margin-top: 3.125rem;
    padding-inline: 1.5rem;
    padding-block: 2rem 2.5rem;
  }
}

.p-form__wrap {
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
}

.p-form__wrap + .p-form__wrap {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-form__wrap + .p-form__wrap {
    margin-top: 2.125rem;
  }
}

.p-form__label {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  display: flex;
  align-items: center;
}

.u-required,
.u-optional {
  display: inline-block;
  margin-right: 0.625rem;
  padding: 0.25rem 0.5rem;
  font-size: max(0.625rem, 10px);
  font-weight: 500;
  line-height: 1;
  color: var(--color-white);
}

.u-required {
  background-color: var(--color-main);
}

.p-entry-form__label .u-required,
.p-entry-form__label .u-optional {
  border-radius: 62.4375rem;
  margin-right: 0;
}

.p-entry-form__label .u-required {
  background-color: var(--color-navy);
}

.u-optional {
  background-color: #555555;
}

.p-form__input,
.p-form__textarea {
  flex-grow: 1;
  width: 100%;
}

.p-form__input input {
  padding: 0.5rem 0.75rem;
  width: 100%;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  background-color: #fafafa;
  border: 1px solid var(--color-gray);
}
@media screen and (max-width: 767px) {
  .p-form__input input {
    font-size: max(0.875rem, 10px);
    padding: 0.5625rem 0.625rem;
  }
}

.p-form__input input:focus {
  outline: 1px solid #222;
}

.p-form__textarea textarea {
  padding: 0.5625rem 0.75rem;
  width: 100%;
  height: 100%;
  min-height: 15rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  background-color: #fafafa;
  border: 1px solid var(--color-gray);
  resize: none;
  field-sizing: content;
}
@media screen and (max-width: 767px) {
  .p-form__textarea textarea {
    font-size: max(0.875rem, 10px);
    padding: 0.625rem 0.5rem;
  }
}

.p-form__textarea textarea:focus {
  outline: 1px solid #222;
}

.p-form__input input::-moz-placeholder, .p-form__textarea textarea::-moz-placeholder {
  color: #C7C7C7;
}

.p-form__input input::placeholder,
.p-form__textarea textarea::placeholder {
  color: #C7C7C7;
}

.p-form__checkbox .wpcf7-list-item {
  display: block;
  margin-left: 0;
}

.p-form__checkbox .wpcf7-list-item:not(:first-of-type) {
  margin-top: 0.4375rem;
}

.p-form__checkbox input {
  display: none;
}

.p-form__checkbox input + span {
  cursor: pointer;
  display: inline-block;
  padding-left: 2.5rem;
  position: relative;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-form__checkbox input + span {
    padding-left: 2.3125rem;
  }
}

.p-form__checkbox input + span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: var(--color-white);
  border: 1px solid var(--color-gray);
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}

.p-form__checkbox input + span::after {
  content: "";
  margin-top: -0.125rem;
  position: absolute;
  top: 50%;
  left: 0.25rem;
  transform: translateY(-50%) rotate(-45deg);
  display: block;
  width: 0.9375rem;
  height: 0.5rem;
  border-bottom: 0.125rem solid #000;
  border-left: 0.125rem solid #000;
  transition: 0.3s;
  opacity: 0;
}

.p-form__checkbox input:checked + span::after {
  opacity: 1;
}

.p-contact__form-privacy {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-black4);
}

.p-contact__form-privacy .wpcf7-list-item {
  margin-left: 0;
}

.p-contact__form-privacy a {
  color: var(--color-main);
  text-decoration: underline;
  text-decoration-color: var(--color-main);
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

.p-contact__form-privacy label {
  margin-top: 1.4375rem;
  display: block;
}

.p-contact__form-privacy input + span {
  position: relative;
  padding-left: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .p-contact__form-privacy input + span {
    padding-left: 1.625rem;
    display: block;
  }
}

.p-contact__form-privacy input + span::before {
  content: "";
  position: absolute;
  top: 60%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray);
}
@media screen and (max-width: 767px) {
  .p-contact__form-privacy input + span::before {
    top: 0.375rem;
    transform: initial;
  }
}

.p-contact__form-privacy input + span::after {
  content: "";
  margin-top: -0.125rem;
  position: absolute;
  top: 60%;
  left: 0.15625rem;
  transform: translateY(-50%) rotate(-45deg);
  display: block;
  width: 0.625rem;
  height: 0.4375rem;
  border-bottom: 2px solid var(--color-black);
  border-left: 2px solid var(--color-black);
  transition: 0.3s;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-contact__form-privacy input + span::after {
    top: 0.625rem;
    transform: rotate(-45deg);
  }
}

.p-contact__form-privacy input:checked + span::after {
  opacity: 1;
}

.p-contact__form-submit {
  margin-top: 6.25rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact__form-submit {
    margin-top: 3.125rem;
  }
}

.p-form__submit {
  margin-top: 3.375rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-form__submit {
    margin-top: 2.5rem;
  }
}

.p-form__submit input,
.wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: 1.375rem;
  padding-inline: 2.875rem 3.75rem;
  min-width: 18.75rem;
  color: var(--color-white);
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1;
  background-color: var(--color-black2);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='11' viewBox='0 0 12 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.39205 10.6023L5.36932 9.59089L8.92045 6.03976H0V4.56248H8.92045L5.36932 1.01703L6.39205 -1.71661e-05L11.6932 5.30112L6.39205 10.6023Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.25rem center;
  border: none;
  border-radius: 2.25rem;
  cursor: pointer;
  transition: background-color 0.3s ease-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.p-form__submit input:hover,
.wpcf7-submit:hover {
  opacity: 1;
  background-color: var(--color-main);
}

.p-form__submit-wrap {
  margin-top: 3.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-form__submit-wrap {
    margin-top: 2.5rem;
    flex-direction: column;
  }
}

.p-form__submit-wrap .c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: 1.375rem;
  padding-inline: 2.875rem 3.75rem;
  width: 18.75rem;
  min-width: 18.75rem;
  color: var(--color-white);
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1;
  background-color: var(--color-main);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='11' viewBox='0 0 12 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='scale(-1,1) translate(-12,0)'%3E%3Cpath d='M6.39205 10.6023L5.36932 9.59089L8.92045 6.03976H0V4.56248H8.92045L5.36932 1.01703L6.39205 -1.71661e-05L11.6932 5.30112L6.39205 10.6023Z' fill='white'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 1.25rem center;
  border: none;
  border-radius: 2.25rem;
  cursor: pointer;
  transition: background-color 0.3s ease-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.p-contact__form-submit .c-button {
  min-width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-contact__form-submit .c-button {
    font-size: max(1rem, 10px);
  }
}

.js-confirmButton:disabled {
  cursor: not-allowed;
}

@media (any-hover: hover) {
  .p-form__submit-wrap .c-button:hover {
    opacity: 1;
    background-color: var(--color-black2);
  }
}
.wpcf7-form:not(.invalid):not(.unaccepted) .wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7-not-valid-tip {
  color: #E10000;
  font-size: max(1rem, 10px);
  margin-top: 0.3125rem;
  display: block;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output {
  display: none;
}

.p-furnace-connection {
  padding-block: 8rem 8.75rem;
  position: relative;
  background-image: url(../images/recruit-about/furnace/connection-bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-furnace-connection {
    padding-block: 6.25rem 4.375rem;
  }
}

.p-furnace-connection::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(198, 211, 233, 0.8) 59%, rgba(198, 211, 233, 0) 100%);
}

.p-furnace-connection::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: rgba(255, 255, 255, 0.8);
}

.p-furnace-connection__bg-img {
  position: absolute;
  top: max(-9.0277777778vw, -25rem);
  right: 0;
  z-index: 1;
  width: 34.5138888889%;
  max-width: 40.625rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-furnace-connection__bg-img {
    width: 60%;
    max-width: 21.875rem;
    top: max(-34.6666666667vw, -8.125rem);
  }
}

.p-furnace-connection__bg-img img {
  aspect-ratio: 497/527;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-furnace-connection__inner {
  position: relative;
  z-index: 2;
}

.p-furnace-connection__text {
  margin-top: 3.125rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black5);
}
@media screen and (max-width: 767px) {
  .p-furnace-connection__text {
    margin-top: 2rem;
    text-align: left;
  }
}

.p-furnace-connection__list {
  margin-top: 4.6875rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.75rem 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-connection__list {
    margin-top: 2.375rem;
    gap: 1.4375rem;
  }
}

.p-furnace-connection__item {
  width: 31.5985130112%;
}
@media screen and (max-width: 767px) {
  .p-furnace-connection__item {
    width: 100%;
    max-width: 20.9375rem;
  }
}

.p-furnace-connection__item-image {
  width: 100%;
  height: auto;
}

.p-furnace-connection__item-image img {
  aspect-ratio: 340/227;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: 10.625rem;
  border: 1px solid var(--color-navy);
}

.p-furnace-connection__item-content {
  position: relative;
  z-index: 1;
  margin-top: -0.8125rem;
  background-color: var(--color-white);
  padding: 1rem 1.5rem;
  border-radius: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-furnace-connection__item-content {
    margin-top: -0.5rem;
    padding: 0.9375rem 1.4375rem;
  }
}

.p-furnace-connection__item-heading {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
}

.p-furnace-connection__item-text {
  margin-top: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: left;
}

.p-furnace-connection__item-text::before {
  content: "";
  width: 2.5rem;
  height: auto;
  aspect-ratio: 80/33;
  background-image: url(../images/recruit-about/furnace/icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-furnace-connection__item-note {
  margin-top: 0.1875rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black5);
  text-align: center;
}

.p-furnace-feature {
  background-color: var(--color-navy);
  color: var(--color-white);
  position: relative;
  z-index: 1;
}

.p-furnace-feature::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: url(../images/recruit-about/furnace/feature-bg.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature::before {
    opacity: 0.7;
  }
}

.p-furnace-feature__inner {
  display: flex;
  justify-content: space-between;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__inner {
    flex-direction: column;
  }
}

.p-furnace-feature__container {
  padding-block: 7.5rem 8.125rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__container {
    padding-block: 8.5rem 3.125rem;
  }
}

.p-furnace-feature__header .c-recruit-sub-section-title__ja {
  line-height: 1.3;
}

.p-furnace-feature__text {
  margin-top: 3rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__text {
    margin-top: 2rem;
    text-align: left;
  }
}

.p-furnace-feature__list {
  margin-top: 1.875rem;
  max-width: 34.875rem;
  background-color: var(--color-white);
  padding: 1.75rem 1.875rem;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__list {
    margin-top: 1.875rem;
    padding: 1.25rem 1.5rem;
    gap: 0.75rem;
  }
}

.p-furnace-feature__item {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-black4);
  display: flex;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__item {
    gap: 0.625rem;
    line-height: 1.6;
  }
}

.p-furnace-feature__item::before {
  content: "";
  flex-shrink: 0;
  display: block;
  margin-top: 0.4375rem;
  width: 1rem;
  height: 1.1875rem;
  background-image: url(../images/recruit-about/furnace/list-icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-furnace-feature__sub-title {
  margin-top: 2.375rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__sub-title {
    margin-top: 1.9375rem;
  }
}

.p-furnace-feature__sub-title span {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__sub-title span {
    padding-right: 0.3125rem;
  }
}

.p-furnace-feature__sub-title span::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -0.625rem;
  left: 0;
  width: 12.5rem;
  height: auto;
  aspect-ratio: 403/43;
  background-image: url(../images/recruit-about/furnace/text-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__sub-title span::before {
    bottom: -0.625rem;
    width: 11.25rem;
  }
}

.p-furnace-feature__img-wrap {
  position: relative;
  z-index: 1;
  margin-right: calc(50% - 50cqi);
  width: 38.1944444444cqi;
  height: 68.4375rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__img-wrap {
    margin-inline: calc(50% - 50cqi);
    width: 100cqi;
    height: auto;
    padding-bottom: 4.75rem;
  }
}

.p-furnace-feature__slider {
  max-width: 34.375rem;
  height: inherit;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__slider {
    max-width: none;
    width: 100%;
  }
}

.p-furnace-feature__slider-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;
  animation: p-furnace-feature-scroll-v 40s linear infinite;
  backface-visibility: hidden;
  will-change: transform;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__slider-list {
    flex-direction: row;
    width: -moz-max-content;
    width: max-content;
    height: auto;
    flex-wrap: nowrap;
    gap: 0;
    animation: p-furnace-feature-scroll-h 40s linear infinite;
  }
}

.p-furnace-feature__slider-item {
  flex: 0 0 auto;
  flex-shrink: 0;
  width: 100%;
  height: auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-furnace-feature__slider-item {
    width: 18.75rem;
    min-width: 18.75rem;
  }
}

.p-furnace-feature__slider-img {
  width: 100%;
  height: auto;
}

.p-furnace-feature__slider-img img {
  aspect-ratio: 550/367;
  height: auto;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@keyframes p-furnace-feature-scroll-v {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}
@keyframes p-furnace-feature-scroll-h {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.p-furnace-industry {
  padding-block: 7.4375rem 8.125rem;
  background-image: url(../images/recruit-about/furnace/industry-bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-furnace-industry {
    padding-block: 5rem 4.5625rem;
  }
}

.p-furnace-industry__text {
  margin-top: 3.125rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-furnace-industry__text {
    margin-top: 1.9375rem;
  }
}

.p-furnace-industry__list {
  margin-top: 3.5rem;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-industry__list {
    margin-top: 2.6875rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.375rem 3rem;
    max-width: 25rem;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-furnace-industry__item {
    width: 90%;
  }
}

.p-furnace-industry__item:nth-child(even) {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-industry__item:nth-child(even) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-furnace-industry__item:nth-child(odd) {
    margin-left: auto;
  }
}

.p-furnace-industry__item-image {
  width: 92%;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--color-white);
  outline: 0.3125rem solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-furnace-industry__item-image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-industry__item-image img {
    width: 60%;
  }
}

.p-furnace-industry__item-heading {
  margin-top: -0.625rem;
  position: relative;
  z-index: 1;
  border-radius: 999px;
  background: linear-gradient(104deg, #253573 0%, #874C5F 50%, #EA634B 100%);
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  color: var(--color-white);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  padding: 0.25rem 0.625rem;
  white-space: nowrap;
}

.p-furnace-role {
  margin-top: -17.8125rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-role {
    margin-top: 0;
  }
}

.p-furnace-role__inner {
  padding-block: 7.5rem 8.125rem;
  max-width: 83.125rem;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-role__inner {
    max-width: 40rem;
    flex-direction: column;
    padding-block: 4.5rem 0;
    gap: 3.125rem;
  }
}

.p-furnace-role__inner::before {
  content: "";
  margin-left: calc(50% - 50vw);
  position: absolute;
  z-index: 0;
  width: calc(100vw - 7.5rem - 10vw);
  height: 100%;
  left: 0;
  top: 0;
  background-color: #DEE6F3;
  border-radius: 0 4rem 4rem 0;
}
@media screen and (min-width: 1440px) {
  .p-furnace-role__inner::before {
    width: calc(565px + 50vw - 7.1875rem);
  }
}
@media screen and (max-width: 767px) {
  .p-furnace-role__inner::before {
    width: 100cqi;
    border-radius: 0;
  }
}

.p-furnace-role__inner::after {
  content: "";
  margin-left: calc(50% - 50vw);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: calc(100vw - 7.5rem - 10vw);
  height: auto;
  aspect-ratio: 1170/202;
  background-image: url(../images/recruit-about/furnace/line.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 0 0 4rem 0;
}
@media screen and (min-width: 1440px) {
  .p-furnace-role__inner::after {
    width: calc(565px + 50vw - 7.1875rem);
  }
}
@media screen and (max-width: 767px) {
  .p-furnace-role__inner::after {
    width: 100cqi;
    border-radius: 0;
    background-image: url(../images/recruit-common/mv-line-sp.png);
    aspect-ratio: 375/102;
  }
}

.p-furnace-role__container {
  width: 100%;
  position: relative;
  z-index: 1;
  padding-left: 7.8125%;
}
@media screen and (max-width: 767px) {
  .p-furnace-role__container {
    padding-left: 0;
  }
}

.p-furnace-role__text-wrap {
  margin-top: 3rem;
  max-width: 39.4375rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-role__text-wrap {
    margin-top: 2.5625rem;
  }
}

.p-furnace-role__text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}

.p-furnace-role__list {
  margin-top: 2rem;
  background-color: var(--color-white);
  padding: 1.75rem 1.875rem;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-role__list {
    margin-top: 0.9375rem;
    padding: 1.25rem 1.5rem;
    gap: 0.8125rem;
  }
}

.p-furnace-role__list + .p-furnace-role__text {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-role__list + .p-furnace-role__text {
    margin-top: 0.9375rem;
  }
}

.p-furnace-role__item {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-black4);
  display: flex;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-role__item {
    line-height: 1.6;
    gap: 0.6875rem;
  }
}

.p-furnace-role__item::before {
  flex-shrink: 0;
  content: "";
  display: block;
  margin-top: 0.4375rem;
  width: 1rem;
  height: 1.1875rem;
  background-image: url(../images/recruit-about/furnace/list-icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-furnace-role__image-wrap {
  flex-shrink: 0;
  padding-top: 1.25rem;
  max-width: 26.0625rem;
  width: 26.0625rem;
  height: 100%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-role__image-wrap {
    padding-top: 0;
    margin-bottom: -6.25rem;
    margin-right: calc(50% - 50vw);
    width: 82.4cqi;
    margin-left: auto;
  }
}

.p-furnace-role__image img {
  border-radius: 59.6875rem;
  border: 1px solid var(--color-navy);
  box-shadow: 0.625rem 0.875rem 1.25rem 0 rgba(0, 0, 0, 0.14);
}
@media screen and (max-width: 767px) {
  .p-furnace-role__image img {
    border-radius: 59.6875rem 0 0 59.6875rem;
    border-right: none;
  }
}

.p-furnace-role__image:nth-child(1) {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-furnace-role__image:nth-child(1) {
    margin-left: auto;
  }
}

.p-furnace-role__image:nth-child(1) img {
  aspect-ratio: 417/277;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
}

.p-furnace-role__image:nth-child(2) {
  width: 20.0625rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-furnace-role__image:nth-child(2) {
    width: 80%;
    max-width: 12.5rem;
    margin-left: auto;
  }
}

.p-furnace-role__image:nth-child(2) img {
  aspect-ratio: 321/214;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
}

.p-furnace-types__head-wrap {
  position: relative;
  z-index: 1;
}

.p-furnace-types__head-bg-marquee {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__head-bg-marquee {
    top: 3.125rem;
  }
}

.p-furnace-types__head-bg {
  display: flex;
  flex-shrink: 0;
  color: var(--color-white);
  font-size: max(12.5rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  opacity: 0.8;
  animation: p-furnace-types-marquee 30s linear infinite;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__head-bg {
    font-size: max(6.25rem, 10px);
    animation: p-furnace-types-marquee 20s linear infinite;
  }
}

.p-furnace-types__head-bg span {
  display: inline-block;
  padding-inline: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__head-bg span {
    padding-inline: 0.9375rem;
  }
}

@keyframes p-furnace-types-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.p-furnace-types__text {
  position: relative;
  z-index: 1;
  margin-top: 3.125rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black5);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__text {
    margin-top: 1.5625rem;
  }
}

.p-furnace-types__list-wrap {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-wrap {
    margin-top: 1.9375rem;
  }
}

.p-furnace-types__list-title {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-black);
  display: flex;
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-title {
    font-size: max(1.25rem, 10px);
    gap: 1.0625rem;
  }
}

.p-furnace-types__list-title::before {
  flex-shrink: 0;
  content: "";
  display: block;
  margin-top: 0.4375rem;
  width: 1.375rem;
  height: 1.6875rem;
  background-image: url(../images/recruit-about/furnace/list-icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-title::before {
    margin-top: 0.125rem;
  }
}

.p-furnace-types__list {
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2.25rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list {
    margin-top: 1.25rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

.p-furnace-types__list-article + .p-furnace-types__list-article {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-article + .p-furnace-types__list-article {
    margin-top: 3.125rem;
  }
}

.p-furnace-types__list-article:first-child .p-furnace-types__list {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-article:first-child .p-furnace-types__list {
    grid-template-columns: 1fr;
  }
}

.p-furnace-types__list-article:nth-child(2) .p-furnace-types__list {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-article:nth-child(2) .p-furnace-types__list {
    grid-template-columns: 1fr;
  }
}

.p-furnace-types__item {
  border-radius: 1rem;
  overflow: hidden;
}

/* モーダル用ボタン */
.p-furnace-types__item-btn {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  cursor: pointer;
  font: inherit;
  text-align: left;
  position: relative;
  z-index: 0;
}

.p-furnace-types__item-btn::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(181deg, rgba(234, 99, 75, 0) 28.73%, rgba(135, 76, 95, 0.5) 64.67%, #253573 100.62%);
  pointer-events: none;
}

@media (any-hover: hover) {
  .p-furnace-types__item-btn:hover .p-furnace-types__item-image img {
    transform: scale(1.1);
  }
}
.p-furnace-types__item-image {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.p-furnace-types__item-image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  transition: transform 0.3s ease-out;
}

.p-furnace-types__list-article:first-child .p-furnace-types__item-image img {
  aspect-ratio: 527/263;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-article:first-child .p-furnace-types__item-image img {
    aspect-ratio: 335/223;
  }
}

.p-furnace-types__list-article:nth-child(2) .p-furnace-types__item-image img {
  aspect-ratio: 342/172;
}

.p-furnace-types__item-heading {
  position: absolute;
  z-index: 3;
  width: 100%;
  bottom: 1.125rem;
  left: 0;
  padding-inline: 1.125rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-furnace-types__item-heading {
    font-size: max(1.25rem, 10px);
    padding-inline: 0.8125rem;
    bottom: 0.625rem;
  }
}

.p-furnace-types__item-heading::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  width: 2rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--color-navy);
  border-radius: 50%;
  transition: background-color 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__item-heading::before {
    width: 1.5rem;
  }
}

.p-furnace-types__item-heading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
  width: 1rem;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__item-heading::after {
    width: 0.75rem;
    right: 1.375rem;
  }
}

.p-furnace-types__list-article:nth-child(1) .p-furnace-types__item-heading {
  width: -moz-fit-content;
  width: fit-content;
  left: initial;
  right: 4.5rem;
  bottom: 1.5625rem;
  font-size: max(1.5rem, 10px);
  padding-inline: 0;
}

.p-furnace-types__list-article:nth-child(1) .p-furnace-types__item-heading::before {
  width: 2rem;
  height: 2rem;
  right: -3rem;
  bottom: 1.5625rem;
}

.p-furnace-types__list-article:nth-child(1) .p-furnace-types__item-heading::after {
  width: 1rem;
  height: 1rem;
  right: -2.5rem;
  bottom: 1.5625rem;
}

.p-furnace-types__list-article:nth-child(2) .p-furnace-types__item-heading {
  width: -moz-fit-content;
  width: fit-content;
  left: initial;
  right: 4.125rem;
  padding-inline: 0;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-article:nth-child(2) .p-furnace-types__item-heading {
    font-size: max(1.5rem, 10px);
    bottom: 1.125rem;
  }
}

.p-furnace-types__list-article:nth-child(2) .p-furnace-types__item-heading::before {
  right: -3rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-article:nth-child(2) .p-furnace-types__item-heading::before {
    width: 2rem;
    height: 2rem;
    right: -3rem;
    bottom: 1.5625rem;
  }
}

.p-furnace-types__list-article:nth-child(2) .p-furnace-types__item-heading::after {
  right: -2.5rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__list-article:nth-child(2) .p-furnace-types__item-heading::after {
    width: 1rem;
    height: 1rem;
    right: -2.5rem;
    bottom: 1.5625rem;
  }
}

/* モーダル */
.p-furnace-types__modal.c-dialog__contents {
  max-width: 49.8125rem;
  background-color: var(--color-white);
  color: var(--color-black);
  border-radius: 2rem;
  border: 0.125rem solid #C6D3E9;
  /* Safari 用: scale の代わりに transform で閉じるアニメーション */
  transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete, opacity 0.5s ease-in-out, scale 0.5s ease-in-out, transform 0.5s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__modal.c-dialog__contents {
    width: 95%;
    max-width: 37.5rem;
    border-radius: 1.25rem;
    border: 0.0625rem solid #C6D3E9;
  }
}

.p-furnace-types__modal.c-dialog__contents::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(234, 99, 75, 0) 50%, rgba(234, 99, 75, 0.1) 70%, rgba(37, 53, 115, 0.3) 100%);
  z-index: 0;
}

.p-furnace-types__modal.c-dialog__contents::backdrop {
  transition: opacity 0.5s ease-in-out;
}

.p-furnace-types__modal.c-dialog__contents[open]::backdrop {
  opacity: 0.7;
  transition: opacity 0.5s ease-in-out;
}
@starting-style {
  .p-furnace-types__modal.c-dialog__contents[open]::backdrop {
    opacity: 0;
  }
}

/* Safari用：閉じる時のアニメーション同期 */
.p-furnace-types__modal.c-dialog__contents.is-closing::backdrop {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.p-furnace-types__modal .c-dialog__contents-inner {
  padding: 4rem;
  display: grid;
  gap: 2.75rem;
  grid-template-columns: 1fr 50.0751879699%;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__modal .c-dialog__contents-inner {
    grid-template-columns: 1fr;
    padding: 1.875rem 1.25rem;
    gap: 1.5rem;
  }
}

/* 4・6・7・8番目（電気炉・焼入炉・焼鈍炉・燃準炉）: JS で .is-furnace-type-variant */
.p-furnace-types__modal.c-dialog__contents.is-furnace-type-variant .c-dialog__contents-inner {
  --furnace-modal-variant: 1;
  align-items: center;
}

/* 閉じるボタン：「閉じる」テキスト + Xアイコン */
.p-furnace-types__modal-close::before,
.p-furnace-types__modal-close::after {
  content: none;
  display: none;
}

.p-furnace-types__modal-close {
  position: absolute;
  top: 1.5625rem;
  right: 1.375rem;
  display: flex;
  align-items: center;
  gap: 0.3125rem;
  width: auto;
  height: auto;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  color: var(--color-black5);
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__modal-close {
    top: 1.25rem;
    right: 1.25rem;
  }
}

.p-furnace-types__modal-close:hover {
  opacity: 0.7;
}

.p-furnace-types__modal-close-icon {
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}

.p-furnace-types__modal-close-icon::before,
.p-furnace-types__modal-close-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.25rem;
  height: 2px;
  background-color: var(--color-black5);
  transform-origin: center;
}

.p-furnace-types__modal-close-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.p-furnace-types__modal-close-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* c-dialogのデフォルト閉じるボタン擬似要素を非表示 */
.p-furnace-types__modal-close.c-dialog__close::before,
.p-furnace-types__modal-close.c-dialog__close::after {
  display: none;
}

.p-furnace-types__modal-title {
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
  display: flex;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__modal-title {
    font-size: max(1.5rem, 10px);
  }
}

.p-furnace-types__modal-title::before {
  content: "";
  display: block;
  margin-top: 0.4375rem;
  width: 1.75rem;
  height: 2.0625rem;
  background-image: url(../images/recruit-about/furnace/list-icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__modal-title::before {
    width: 1.25rem;
    height: 1.5rem;
  }
}

.p-furnace-types__modal-text {
  margin-top: 0.625rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-furnace-types__modal-text {
    font-size: max(1rem, 10px);
  }
}

.p-furnace-types__modal-image {
  width: 100%;
  height: auto;
}

.p-furnace-types__modal-image img {
  aspect-ratio: 333/222;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: 0.8125rem;
}

.p-header {
  background-color: var(--color-white);
  color: var(--color-black);
  border-bottom: 1px solid var(--color-border);
  transition: color 0.3s ease-in-out, height 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.p-header.is-mv {
  background-color: transparent;
  color: var(--color-white);
  height: 7.5rem;
  border-bottom: 1px solid transparent;
}
@media screen and (max-width: 767px) {
  .p-header.is-mv {
    height: 6.25rem;
  }
}

.p-header:has(.is-open) {
  background-color: var(--color-black2);
  border-bottom: 1px solid transparent;
}

.p-header:has(.is-open) .p-header__lang-item a {
  color: var(--color-white);
}

.p-header__inner {
  padding-inline: 2.5rem 2.1875rem;
  height: inherit;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    padding-inline: 1.25rem 0.875rem;
  }
}

.p-header__logo {
  max-width: 12.375rem;
  width: 100%;
  height: inherit;
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    max-width: 9.375rem;
  }
}

.p-header__logo a {
  padding-top: 0.8125rem;
  height: inherit;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-header__logo a {
    padding-top: 0.3125rem;
  }
}

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

.p-header__right {
  display: flex;
  height: inherit;
  align-items: center;
  gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-header__right {
    gap: 0.5rem;
  }
}

.p-header__nav {
  display: block;
  height: inherit;
}
@media screen and (max-width: 767px) {
  .p-header__nav {
    display: none;
  }
}

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

.p-header__nav-item {
  height: inherit;
}

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

.p-header__nav-item a {
  padding: 0 1rem;
  height: inherit;
  display: flex;
  align-items: center;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1;
  color: currentColor;
  text-transform: uppercase;
}

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

.p-header__lang-item {
  height: inherit;
}

.p-header__lang-item a {
  padding-inline: 0.375rem;
  height: inherit;
  display: flex;
  align-items: center;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1;
  color: currentColor;
  text-transform: uppercase;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-header__lang-item a {
    padding-inline: 0.3125rem;
  }
}

.p-header__lang-item:not(:last-child) a::before {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  height: 0.9375rem;
  background-color: currentColor;
  top: 52%;
  transform: translateY(-50%) rotate(20deg);
  right: 0;
}

.p-header__lang-item a.is-current::after {
  position: absolute;
  content: "";
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  width: 0.25rem;
  height: 0.25rem;
  background-color: var(--color-main);
  border-radius: 50%;
  transition: bottom 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-header__lang-item a.is-current::after {
    bottom: 0.625rem;
  }
}

.p-header.is-mv .p-header__lang-item a.is-current::after {
  bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-header.is-mv .p-header__lang-item a.is-current::after {
    bottom: 1.875rem;
  }
}

.p-header__nav-item.p-header__nav-item--contact a.c-button {
  height: initial;
  padding-block: 0.875rem;
  padding-inline: 1.875rem;
  color: var(--color-white);
}

.p-header__contact-button {
  display: none;
  margin-top: 0;
  width: 2.75rem;
  height: 2.75rem;
  background-color: var(--color-main);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: margin-top 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-header__contact-button {
    display: block;
  }
}

.p-header__contact-button a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.8125rem 0.6875rem;
}

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

.p-header.is-mv .p-header__contact-button,
.p-header__hamburger {
  margin-top: 0.3125rem;
}

.p-header__hamburger {
  display: none;
  margin-top: 0;
  padding: 0;
  outline: none;
  border: none;
  position: relative;
  z-index: var(--z-index-hamburger);
  width: 2.75rem;
  height: 2.75rem;
  background-color: var(--color-black);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  cursor: pointer;
  transition: transform 0.3s ease-out, background-color 0.3s ease-out, margin-top 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-header__hamburger {
    display: block;
  }
}

.p-header__hamburger span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 0.875rem;
  height: 1px;
  background-color: var(--color-white);
  transition: background-color 0.3s ease-out;
}

.p-header__hamburger span::before,
.p-header__hamburger span::after {
  position: absolute;
  content: "";
  display: block;
  width: 0.875rem;
  height: 1px;
  background-color: var(--color-white);
  transition: transform 0.3s ease-out, background-color 0.3s ease-out;
}

.p-header__hamburger span::before {
  transform: translateY(-0.25rem);
}

.p-header__hamburger span::after {
  transform: translateY(0.25rem);
}

.p-header__hamburger.is-open {
  background-color: var(--color-white);
}

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

.p-header__hamburger.is-open span::before,
.p-header__hamburger.is-open span::after {
  background-color: var(--color-black);
}

.p-header__hamburger.is-open span::before {
  transform: translateY(0) rotate(45deg);
}

.p-header__hamburger.is-open span::after {
  transform: translateY(0) rotate(-45deg);
}

.p-header__drawer {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
  pointer-events: none;
  position: fixed;
  z-index: var(--z-index-drawer);
  inset: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: var(--color-black2);
  color: var(--color-white);
  overflow-y: scroll;
  scrollbar-width: none;
}

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

.p-header__drawer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.p-header__drawer-nav {
  padding-inline: 1.25rem;
  margin-inline: auto;
  padding-block: 5.1875rem 6.25rem;
  max-width: 37.5rem;
}

.p-header__drawer-item:not(.p-header__drawer-item--contact) > a {
  padding-block: 2.5625rem 0.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: max(1.25rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  position: relative;
}

.p-header__drawer-sub-list {
  margin-top: 0.5625rem;
}

.p-header__drawer-sub-item a {
  padding-block: 0.25rem;
  display: flex;
  gap: 0.625rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}

.p-header__drawer-sub-item a::before {
  content: "";
  flex-shrink: 0;
  display: block;
  margin-top: 0.8125rem;
  width: 0.625rem;
  height: 2px;
  background-color: var(--color-main);
  border-radius: 50%;
}

.p-header__drawer-item.p-header__drawer-item--contact {
  margin-top: 2.8125rem;
}

.p-header__drawer-item.p-header__drawer-item--contact a.c-arrow-button {
  max-width: initial;
  border-radius: 62.4375rem;
  font-size: max(1.0625rem, 10px);
  line-height: 1.8;
  padding-inline: 1.9375rem 0.9375rem;
  border: 2px solid rgba(255, 255, 255, 0.3);
  outline: none;
}

.p-header__drawer-item.p-header__drawer-item--contact a.c-arrow-button::after {
  width: 2.8125rem;
}

.p-header__drawer-item.p-header__drawer-item--contact a.c-arrow-button::before {
  right: 1.8125rem;
}

.p-header__drawer-item:not(.p-header__drawer-item--contact) > a::after {
  content: "";
  background-image: url(../images/common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 1rem;
  height: auto;
  aspect-ratio: 1/1;
}

.p-job-description {
  padding-block: 7.5rem 8.125rem;
}
@media screen and (max-width: 767px) {
  .p-job-description {
    padding-block: 4.6875rem 4.75rem;
  }
}

.p-job-description__list {
  margin-top: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .p-job-description__list {
    margin-top: 2.5rem;
  }
}

.p-job-description__item {
  display: grid;
  align-items: center;
  grid-template-columns: 11.25rem 1fr;
  padding-block: 2.1875rem;
  background: linear-gradient(to right, var(--color-navy) 0, var(--color-navy) 11.25rem, #C7C7C7 11.25rem, #C7C7C7 100%) bottom/100% 1px no-repeat;
}
@media screen and (max-width: 767px) {
  .p-job-description__item {
    grid-template-columns: 1fr;
    gap: 0.125rem;
    padding-block: 2.0625rem 1rem;
    background: linear-gradient(to right, var(--color-navy) 0, var(--color-navy) 3.125rem, #C7C7C7 3.125rem, #C7C7C7 100%) bottom/100% 1px no-repeat;
  }
}

.p-job-description__item:first-child {
  padding-top: 0;
}

.p-job-description__item-title {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  padding-inline: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-job-description__item-title {
    padding-inline: 0;
  }
}

.p-job-description__item-value {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-job-description__item-value {
    padding-inline: 0;
  }
}

.p-link-banner__items {
  display: grid;
  gap: 1.75rem 3.75rem;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .p-link-banner__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.625rem 1.25rem;
  }
}

.p-link-banner__item {
  width: 100%;
  height: auto;
  position: relative;
}

/* 画像（または代替）のみがリンク／ボタン。本文は外に出してテキスト内リンクを有効にする */
.p-link-banner__link--media {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  text-align: left;
  text-decoration: none;
  color: inherit;
}

button.p-link-banner__link--media {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

a.p-link-banner__link--media {
  cursor: pointer;
}

.p-link-banner__media-fallback {
  display: block;
  width: 100%;
  padding: 1rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-black);
  border: 1px solid var(--color-border);
  background-color: var(--color-white);
}

.p-link-banner__img {
  width: 100%;
  height: auto;
  overflow: hidden;
  display: block;
}

.p-link-banner__img img {
  aspect-ratio: 319/146;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-link-banner__img img {
    aspect-ratio: 157/100;
  }
}

.p-link-banner__new {
  position: absolute;
  top: 0;
  left: 0;
  font-size: max(1rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 400;
  color: var(--color-white);
  line-height: 1;
  text-transform: capitalize;
  background-color: var(--color-main);
  padding: 0.125rem 0.375rem;
}

.p-link-banner__body {
  margin-top: 0.25rem;
  text-align: left;
  display: block;
}

.p-link-banner__title {
  font-size: max(1rem, 10px);
  color: var(--color-black);
  font-weight: 400;
  line-height: 1.6;
  display: block;
}

.p-link-banner__text {
  margin-top: 0.25rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-black);
  display: block;
}
.p-link-banner__text :where(a) {
  color: var(--color-main);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

.p-link-banner__label {
  margin-top: 0.5625rem;
  font-size: max(1rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 400;
  color: var(--color-main);
  line-height: 1;
  display: block;
}

@media (any-hover: hover) {
  .p-link-banner__link--media:hover .p-link-banner__img img {
    transform: scale(1.1);
  }
}
.p-message__contents {
  margin-top: 4.375rem;
  display: grid;
  gap: 5rem;
  grid-template-columns: 1fr 32.4074074074%;
}
@media screen and (max-width: 767px) {
  .p-message__contents {
    margin-top: 2.5rem;
    gap: 1.875rem;
    grid-template-columns: 1fr;
  }
}

.p-message__message-heading {
  font-size: max(1.5rem, 10px);
  font-weight: 600;
  line-height: 1.3333333333;
  color: var(--color-main);
}
@media screen and (max-width: 767px) {
  .p-message__message-heading {
    font-size: max(1.5rem, 10px);
    line-height: 1.8;
  }
}

.p-message__message-text-wrap {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-message__message-text-wrap {
    margin-top: 0.875rem;
  }
}

.p-message__message-text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
  letter-spacing: -3%;
}

.p-message__message-text span {
  display: inline-block;
  font-size: max(1.125rem, 10px);
  font-weight: 600;
  line-height: 1.8;
  color: var(--color-black4);
}

.p-message__message-text + .p-message__message-text {
  margin-top: 1.875rem;
}

.p-message__image {
  width: 100%;
  aspect-ratio: 350/466;
}
@media screen and (max-width: 767px) {
  .p-message__image {
    aspect-ratio: 335/223;
  }
}

.p-message__image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-mv {
  position: relative;
}

.p-mv__video {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 31.25rem;
}

.p-mv__video video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-mv__copy {
  position: absolute;
  right: 0;
  bottom: 5rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-mv__copy {
    right: initial;
    left: 50%;
    transform: translateX(-50%);
    bottom: 3.4375rem;
  }
}

.p-mv__inner.l-inner {
  max-width: 88.125rem;
}
@media screen and (max-width: 767px) {
  .p-mv__inner.l-inner {
    max-width: 40rem;
    padding-inline: 0.625rem 1.25rem;
  }
}

.p-mv__copy-contents {
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-mv__copy-contents {
    margin-left: initial;
  }
}

.p-mv__main-copy {
  font-size: max(3.5rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-white);
  text-shadow: 0 0 1.25rem #000000;
}
@media screen and (max-width: 767px) {
  .p-mv__main-copy {
    margin-left: -0.3125rem;
    font-size: max(2.25rem, 10px);
  }
}

.p-mv__main-copy span {
  color: var(--color-main);
}

.p-mv__sub-copy {
  padding-left: 1.875rem;
  margin-top: 1.125rem;
  font-size: max(1.5rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-mv__sub-copy {
    font-size: max(1rem, 10px);
    padding-left: 0.625rem;
    margin-top: 0.625rem;
  }
}

.p-overview {
  background-color: #F1F1F1;
  padding-block: 8.25rem 8.9375rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-overview {
    padding-block: 5.125rem 5rem;
    overflow-x: clip;
  }
}

.p-overview::before {
  content: "";
  width: 100%;
  height: auto;
  aspect-ratio: 1400/521;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  background-image: url(../images/company/overview-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-overview::before {
    width: 155%;
    background-position: 130% -35px;
  }
}

.p-overview__contents {
  margin-top: 4.5625rem;
  max-width: 56.25rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-overview__contents {
    margin-top: 2.5rem;
  }
}

.p-overview__item + .p-overview__item {
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-overview__item + .p-overview__item {
    margin-top: 1.75rem;
  }
}

.p-overview__item:has(.p-overview__item-detail:nth-child(2)) + .p-overview__item {
  margin-top: 2.3125rem;
}
@media screen and (max-width: 767px) {
  .p-overview__item:has(.p-overview__item-detail:nth-child(2)) + .p-overview__item {
    margin-top: 0.5625rem;
  }
}

.p-overview__item {
  display: grid;
  grid-template-columns: 14.4444444444% 1fr;
  gap: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-overview__item {
    grid-template-columns: 22.3880597015% 1fr;
  }
}

.p-overview__item-year {
  font-size: max(2rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-overview__item-year {
    font-size: max(1.5rem, 10px);
  }
}

.p-overview__item-content {
  padding-top: 0.4375rem;
  position: relative;
  padding-left: 3.9375rem;
}
@media screen and (max-width: 767px) {
  .p-overview__item-content {
    padding-top: 0.3125rem;
    padding-left: 2rem;
  }
}

.p-overview__item-content::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background-color: var(--color-main);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-overview__item-content::before {
    top: 0.9375rem;
  }
}

.p-overview__item-content::after {
  content: "";
  width: 0.125rem;
  height: 75%;
  background-color: #555555;
  position: absolute;
  left: 0.4375rem;
  top: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-overview__item-content::after {
    top: 2.5rem;
  }
}

.p-overview__item:last-child .p-overview__item-content::after {
  display: none;
}

.p-overview__item-detail + .p-overview__item-detail {
  margin-top: 0.9375rem;
}

.p-overview__item-detail {
  display: grid;
  grid-template-columns: 1.875rem 1fr;
  gap: 0.625rem;
}

.p-overview__item-detail-month {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: #c7c7c7;
}

.p-overview__item-detail-text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-overview__item-detail-text {
    font-size: max(1rem, 10px);
  }
}

.p-philosophy {
  padding-block: 8.125rem 8.875rem;
  background-color: var(--color-black2);
  color: var(--color-white);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-philosophy {
    padding-block: 5.125rem 5rem;
  }
}

.p-philosophy::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../images/company/philosophy-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 0.8;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 767px) {
  .p-philosophy::before {
    background-position: 20%;
  }
}

.p-philosophy__contents {
  position: relative;
  z-index: 1;
  margin-top: 4.375rem;
  display: grid;
  gap: 6.25rem;
  grid-template-columns: 33.3333333333% 1fr;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-philosophy__contents {
    margin-top: 2.3125rem;
    gap: 1.875rem;
    grid-template-columns: 1fr;
  }
}

.p-philosophy__philosophy-heading {
  font-size: max(2.5rem, 10px);
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-philosophy__philosophy-heading {
    font-size: max(2rem, 10px);
    line-height: 1.6;
  }
}

.p-philosophy__philosophy-heading span {
  color: var(--color-main);
}

.p-philosophy__philosophy-text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-philosophy__philosophy-text {
    text-align: justify;
  }
}

.p-privacy__list {
  counter-reset: privacy;
  max-width: 56.4375rem;
  margin-inline: auto;
}

.p-privacy__item {
  counter-increment: privacy;
}

.p-privacy__item + .p-privacy__item {
  margin-top: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-privacy__item + .p-privacy__item {
    margin-top: 2.5625rem;
  }
}

.p-privacy__heading .p-privacy__heading-number::before {
  content: counter(privacy) ".";
}

.p-privacy__heading {
  font-size: max(1.5rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-privacy__heading {
    font-size: max(1.25rem, 10px);
  }
}

.p-privacy__heading-number {
  display: inline-block;
  color: var(--color-main);
  margin-right: 0.625rem;
}

.p-privacy__text {
  margin-top: 1rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-privacy__text {
    margin-top: 0.625rem;
  }
}

.p-privacy__sublist {
  margin-top: 1.0625rem;
  counter-reset: privacy-sub;
  list-style: none;
}

.p-privacy__subitem {
  counter-increment: privacy-sub;
}

.p-privacy__subheading .p-privacy__heading-number::before {
  content: "(" counter(privacy-sub) ")";
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-main);
}

.p-privacy__subitem + .p-privacy__subitem {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-privacy__subitem + .p-privacy__subitem {
    margin-top: 1.125rem;
  }
}

.p-privacy__subheading {
  font-size: max(1.25rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-privacy__subheading {
    font-size: max(1.125rem, 10px);
  }
}

.p-privacy__subtext {
  padding-left: 2.5rem;
  margin-top: 0.4375rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-privacy__subtext {
    font-size: max(0.875rem, 10px);
  }
}

.p-products-details__inner.l-inner {
  max-width: 67.3125rem;
  padding-inline: 0;
}
@media screen and (max-width: 767px) {
  .p-products-details__inner.l-inner {
    max-width: 40rem;
    padding-inline: 1.25rem;
  }
}

.p-products-details__head {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-products-details__head {
    flex-direction: column;
  }
}

.p-products-details__head-image {
  margin-left: calc(50% - 50cqi);
  width: 59.375cqi;
  max-width: 100vw;
}
@media screen and (max-width: 767px) {
  .p-products-details__head-image {
    margin-inline: calc(50% - 50cqi);
    width: 100cqi;
  }
}

.p-products-details__head-image img {
  aspect-ratio: 855/570;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  max-width: 53.4375rem;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-products-details__head-image img {
    max-width: initial;
    aspect-ratio: 375/200;
  }
}

.p-products-details__head-contents {
  background-color: var(--color-white);
  margin-left: max(-235px, -16.3194444444cqi);
  width: 59.2592592593%;
  padding-block: 4.6875rem;
  padding-inline: 4.375rem 5rem;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-products-details__head-contents {
    margin-top: -1.875rem;
    margin-left: 0;
    width: 100%;
    padding: 1.25rem 1.25rem;
  }
}

.p-products-details__head-heading {
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-main);
}
@media screen and (max-width: 767px) {
  .p-products-details__head-heading {
    font-size: max(1.5rem, 10px);
  }
}

.p-products-details__head-subheading {
  margin-top: 0.5rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-products-details__head-subheading {
    margin-top: 0.75rem;
    font-size: max(1.25rem, 10px);
  }
}

@media screen and (max-width: 767px) {
  .p-products-details__head-subheading[data-font=sp-small] {
    font-size: max(1.1875rem, 10px);
  }
}

@media screen and (max-width: 767px) {
  .p-products-details__head-subheading[data-space=sp-small] {
    letter-spacing: -0.02em;
  }
}

.p-products-details__head-text {
  margin-top: 0.3125rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}

.p-products-details__head-text[data-space=small] {
  letter-spacing: -0.04em;
}

@media screen and (max-width: 767px) {
  .p-products-details__head-text[data-space=sp-small] {
    letter-spacing: -0.04em;
  }
}

.p-products-details__head-text[data-space="-4"] {
  letter-spacing: -4%;
}
@media screen and (max-width: 767px) {
  .p-products-details__head-text[data-space="-4"] {
    letter-spacing: 0;
  }
}

.p-products-details:nth-child(even) .p-products-details__head {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-products-details:nth-child(even) .p-products-details__head {
    flex-direction: column;
  }
}

.p-products-details:nth-child(even) .p-products-details__head-image {
  margin-left: initial;
  margin-right: calc(50% - 50cqi);
}
@media screen and (max-width: 767px) {
  .p-products-details:nth-child(even) .p-products-details__head-image {
    margin-inline: calc(50% - 50cqi);
  }
}

.p-products-details:nth-child(even) .p-products-details__head-image img {
  margin-right: auto;
  margin-left: initial;
}

.p-products-details:nth-child(even) .p-products-details__head-contents {
  margin-left: 0;
  margin-right: max(-235px, -16.3194444444cqi);
}
@media screen and (max-width: 767px) {
  .p-products-details:nth-child(even) .p-products-details__head-contents {
    margin-right: 0;
  }
}

.p-products-details__block {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-products-details__block {
    margin-top: 3.5rem;
  }
}

.p-products-details__block-heading {
  font-size: max(2rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black5);
  background-color: #EAEAEA;
  padding-block: 0.5rem;
  padding-inline: 1.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-products-details__block-heading {
    padding-block: 0.25rem;
    font-size: max(1.5rem, 10px);
  }
}

.p-products-details__block-heading::before {
  content: "";
  width: 0.25rem;
  height: 100%;
  background-color: var(--color-main);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}

.p-products-details__list {
  margin-top: 1.875rem;
  display: grid;
  gap: 2.5rem 2rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .p-products-details__list {
    margin-top: 1.75rem;
    gap: 1.25rem 1rem;
    grid-template-columns: 1fr;
  }
}

.p-products-details__item-img {
  width: 100%;
  height: auto;
}

.p-products-details__item-img img {
  aspect-ratio: 522/260;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-products-details__item-img img {
    aspect-ratio: 335/167;
  }
}

.p-products-details__item-text {
  margin-top: 0.75rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black);
  display: flex;
  gap: 0.6875rem;
}

.p-products-details__item-text::before {
  content: "";
  margin-top: 0.75rem;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-main);
  border-radius: 50%;
  flex-shrink: 0;
}

.p-products-link {
  background-color: var(--color-white);
  padding-block: 4.875rem;
}
@media screen and (max-width: 767px) {
  .p-products-link {
    padding-block: 4.5625rem 4.25rem;
  }
}

.p-products-link__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-products-link__list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-products-link__item a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.p-products-link__item a::before {
  content: "";
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  width: 2.5rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border-radius: 50%;
  transition: background-color 0.3s ease-out;
  z-index: 3;
}

.p-products-link__item a::after {
  content: "";
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  width: 1rem;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 3;
}

.p-products-link__link-image {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}

.p-products-link__link-image img {
  aspect-ratio: 351/240;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media screen and (max-width: 767px) {
  .p-products-link__link-image img {
    aspect-ratio: 335/223;
  }
}

.p-products-link__link-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-black5);
  z-index: 1;
  opacity: 0.5;
}

.p-products-link__link-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #BE1217;
  background: linear-gradient(30deg, rgb(190, 18, 23) 0%, rgba(190, 18, 23, 0) 60%);
  z-index: 2;
  opacity: 0.5;
}

.p-products-link__link-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  font-size: max(1rem, 10px);
  font-weight: 700;
  color: var(--color-white);
  line-height: 1.8;
  z-index: 3;
}

@media (any-hover: hover) {
  .p-products-link__item a:hover {
    opacity: 1;
  }
  .p-products-link__item a:hover .p-products-link__link-image img {
    transform: scale(1.15);
  }
}
.p-products-pickup {
  background-color: var(--color-black2);
  overflow: clip;
  position: relative;
}

.p-products-pickup__contents-wrap {
  display: flex;
  align-items: center;
  gap: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-products-pickup__contents-wrap {
    flex-direction: column-reverse;
    gap: 4.875rem;
  }
}

.p-products-pickup__contents-img {
  margin-left: calc(50% - 50vw);
  width: 44.9305555556vw;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-products-pickup__contents-img {
    margin-inline: calc(50% - 50cqi);
    width: 100cqi;
  }
}

.p-products-pickup__contents-img img {
  aspect-ratio: 647/462;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  max-width: 40.4375rem;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-products-pickup__contents-img img {
    aspect-ratio: 375/250;
    max-width: initial;
    margin-inline: auto;
  }
}

.p-products-pickup__contents {
  color: var(--color-white);
  max-width: 33.6875rem;
}
@media screen and (max-width: 767px) {
  .p-products-pickup__contents {
    margin-top: 5rem;
    max-width: 37.5rem;
  }
}

.p-products-pickup__inner {
  position: relative;
}

.p-products-pickup__contents-title-bg {
  position: absolute;
  width: 100%;
  max-height: 6.25rem;
  overflow: clip;
  top: -0.3125rem;
  left: min(58.125rem, 64.4vw);
  margin-left: auto;
  font-size: max(6.25rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 500;
  line-height: 1;
  color: var(--color-gray);
  text-transform: capitalize;
  opacity: 0.2;
}
@media screen and (max-width: 767px) {
  .p-products-pickup__contents-title-bg {
    width: -moz-fit-content;
    width: fit-content;
    top: -0.3125rem;
    left: initial;
    right: -0.3125rem;
    font-size: max(4.5rem, 10px);
    max-height: initial;
    overflow: initial;
  }
}

.p-products-pickup__contents-title {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-products-pickup__contents-title {
    font-size: max(1.25rem, 10px);
  }
}

.p-products-pickup__contents-text {
  margin-top: 1.4375rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-products-pickup__contents-text {
    margin-top: 0.9375rem;
  }
}

.p-products-pickup__contents-text-sub {
  margin-top: 2.0625rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-products-pickup__contents-text-sub {
    margin-top: 1.875rem;
  }
}

.p-products__list {
  counter-reset: product 0;
}

.p-products__item {
  counter-increment: product;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .p-products__item {
    grid-template-columns: 1fr;
  }
}

.p-products__item + .p-products__item {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-products__item + .p-products__item {
    margin-top: 5rem;
  }
}

.p-products__item:nth-child(even) .p-products__item-image {
  grid-area: 1/2/2/3;
}
@media screen and (max-width: 767px) {
  .p-products__item:nth-child(even) .p-products__item-image {
    grid-area: unset;
  }
}

.p-products__item:nth-child(even) .p-products__item-body {
  grid-area: 1/1/2/2;
  padding-inline: 0 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-products__item:nth-child(even) .p-products__item-body {
    padding-inline: 0;
    grid-area: unset;
  }
}

.p-products__item-image {
  width: 100%;
  height: auto;
}

.p-products__item-image img {
  aspect-ratio: 538/359;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-products__item-body {
  padding-left: 3.9375rem;
}
@media screen and (max-width: 767px) {
  .p-products__item-body {
    padding-left: 0;
    margin-top: -1.875rem;
  }
}

.p-products__item-heading-en {
  font-size: max(1rem, 10px);
  font-weight: 500;
  font-family: var(--en-font-family);
  color: var(--color-main);
  line-height: 1;
  text-transform: capitalize;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-products__item-heading-en {
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 0.5625rem;
  }
}

.p-products__item-heading-en::after {
  content: counter(product, decimal-leading-zero);
  font-size: max(6.25rem, 10px);
  font-weight: 500;
  font-family: var(--en-font-family);
  color: var(--color-gray);
  line-height: 1;
  display: inline-block;
  position: relative;
  z-index: -1;
  margin-left: -2.5rem;
}
@media screen and (max-width: 767px) {
  .p-products__item-heading-en::after {
    margin-left: 0;
    font-size: max(4rem, 10px);
    margin-left: -0.25rem;
    margin-bottom: -0.625rem;
  }
}

.p-products__item-heading {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-products__item-heading {
    margin-top: 0.625rem;
    font-size: max(1.25rem, 10px);
  }
}

.p-products__item-text {
  margin-top: 1.25rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -2%;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-products__item-text {
    margin-top: 0.625rem;
  }
}

.p-products__item:first-child .p-products__item-text {
  margin-top: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-products__item:first-child .p-products__item-text {
    margin-top: 0.5625rem;
    letter-spacing: -1.5%;
  }
}

.p-products__item-link {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-products__item-link {
    margin-top: 2.125rem;
  }
}

.p-profile {
  background-color: var(--color-white);
  color: var(--color-black4);
  padding-block: 8.1875rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-profile {
    padding-block: 5rem 5rem;
  }
}

.p-profile__contents {
  margin-top: 4.5625rem;
}
@media screen and (max-width: 767px) {
  .p-profile__contents {
    margin-top: 2.625rem;
  }
}

.p-profile__item {
  display: grid;
  grid-template-columns: 9.2592592593% 1fr;
  padding-block: 2.625rem 1.875rem;
  padding-inline: 0.3125rem;
  background: linear-gradient(to right, var(--color-main) 0, var(--color-main) 6.25rem, #C7C7C7 6.25rem, #C7C7C7 100%) bottom/100% 1px no-repeat;
}
@media screen and (max-width: 767px) {
  .p-profile__item {
    grid-template-columns: 29.8507462687% 1fr;
    padding-block: 1.5625rem 1.9375rem;
    padding-inline: 0.3125rem 0;
  }
}

.p-profile__item:first-child {
  padding-top: 0;
}

.p-profile__item-heading {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
}

.p-profile__item-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  padding-left: 1.75rem;
}

.p-profile__item-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-profile__item-list {
    gap: 0.5625rem;
  }
}

.p-profile__item-list-item {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  display: flex;
  justify-content: flex-start;
  gap: 0.5rem;
}

.p-profile__item-list-item::before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--color-white);
  border-radius: 50%;
  display: block;
  outline: 4px solid #575757;
  outline-offset: -4px;
  flex-shrink: 0;
  margin-top: 0.625rem;
}

.p-recruit-about-data__list {
  display: grid;
  gap: 2.5rem 1.75rem;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__list {
    max-width: 34.375rem;
    margin-inline: auto;
    grid-template-columns: 1fr;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.875rem;
  }
}

.p-recruit-about-data__item {
  background-color: #DEE6F3;
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid #959EC4;
  display: flex;
  flex-direction: column;
  gap: 0.6875rem;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item {
    padding: 1.25rem;
  }
}

.p-recruit-about-data__item-label {
  width: 100%;
  min-height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-white);
  background-color: var(--color-navy);
  padding: 0.25rem;
  border-radius: 62.4375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item-label {
    font-size: max(1.125rem, 10px);
    min-height: 2rem;
  }
}

.p-recruit-about-data__item[data-index="8"] .p-recruit-about-data__item-label {
  font-size: max(1.125rem, 10px);
}

.p-recruit-about-data__item-img {
  width: 10.625rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--color-white);
  outline: 2px solid #A8AFCB;
  outline-offset: -0.125rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item-img {
    width: 9.375rem;
  }
}

.p-recruit-about-data__item-img img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 5.1875rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item-img img {
    width: 4.375rem;
  }
}

.p-recruit-about-data__item-data {
  font-size: max(4rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 600;
  line-height: 1;
  background: linear-gradient(170deg, #253473, #EA634B);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item-data {
    font-size: max(3rem, 10px);
  }
}

.p-recruit-about-data__item-data:has(img) {
  display: flex;
  align-items: flex-end;
  align-items: center;
}

.p-recruit-about-data__item-data img {
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-recruit-about-data__item[data-index="5"] .p-recruit-about-data__item-data img {
  width: 1.875rem;
  margin-top: 0.5rem;
  margin-inline: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item[data-index="5"] .p-recruit-about-data__item-data img {
    width: 1.25rem;
    margin-top: 0.375rem;
  }
}

.p-recruit-about-data__item[data-index="8"] .p-recruit-about-data__item-data {
  align-items: flex-end;
}

.p-recruit-about-data__item[data-index="8"] .p-recruit-about-data__item-data img {
  width: 2.3125rem;
  margin-inline: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item[data-index="8"] .p-recruit-about-data__item-data img {
    width: 1.5625rem;
  }
}

.p-recruit-about-data__item[data-index="9"] .p-recruit-about-data__item-img img {
  width: 6.0625rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item[data-index="9"] .p-recruit-about-data__item-img img {
    width: 4.375rem;
  }
}

.p-recruit-about-data__item[data-index="10"] {
  margin-top: 1.25rem;
}

.p-recruit-about-data__item-data:has(img) span {
  margin-left: 0;
}

.p-recruit-about-data__item-data span {
  display: inline-block;
  font-size: max(2.25rem, 10px);
  font-family: var(--recruit-font-family);
  font-weight: 700;
  line-height: 1;
  color: var(--color-black);
  margin-left: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item-data span {
    font-size: max(1.5rem, 10px);
  }
}

.p-recruit-about-data__item-note {
  position: absolute;
  bottom: -2.1875rem;
  right: 0;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black);
  margin-right: auto;
  padding-inline: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item-note {
    margin-inline: auto;
  }
}

.p-recruit-about-data__item-text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-black);
  padding-inline: 0.3125rem;
}

.p-recruit-about-data__item-text span {
  display: block;
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  line-height: 1.6;
}

.p-recruit-about-data__item[data-index="10"] {
  grid-area: 4/1/5/4;
  gap: 1.4375rem;
  min-height: 18.75rem;
  background-image: url(../images/recruit-about/data/data-map.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item[data-index="10"] {
    grid-area: unset;
    background-image: url(../images/recruit-about/data/data-map-sp.png);
    background-size: contain;
    background-position: top;
    padding-top: 10rem;
    padding-top: 47.7611940299%;
    gap: 0.625rem;
    min-height: initial;
  }
}

.p-recruit-about-data__item-text-wrap {
  max-width: 17.625rem;
  margin-right: auto;
  margin-left: 3.9375rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-about-data__item-text-wrap {
    max-width: initial;
    margin-left: initial;
    margin-right: initial;
    gap: 0.3125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-about-data__item-text-wrap .p-recruit-about-data__item-data {
    text-align: center;
  }
}

.p-recruit-about-data__item-text-wrap .p-recruit-about-data__item-text {
  padding: 0;
}

.p-recruit-breadcrumb {
  text-align: right;
  color: var(--color-black);
}

.p-recruit-breadcrumb span {
  font-size: max(0.75rem, 10px);
  font-family: var(--recruit-font-family);
  font-weight: 500;
  line-height: 1;
  display: inline-block;
  color: currentColor;
}

.p-recruit-breadcrumb span.current-item {
  padding-inline: 0.5rem;
}

.p-recruit-breadcrumb span:has(a) span {
  text-decoration: underline;
  text-decoration-color: var(--color-navy);
  color: var(--color-navy);
  padding-inline: 0.5rem;
}

/* 熱処理炉とはページ（/recruit/about/furnace/）のみ */
.page-about-furnace .p-recruit-breadcrumb {
  background-color: var(--color-navy);
  margin: 0;
  padding-top: 0.9375rem;
  color: var(--color-white);
}

.page-about-furnace .p-recruit-breadcrumb span:has(a) span {
  color: var(--color-red);
}

.p-recruit-company-list {
  counter-reset: company-item;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list {
    margin-top: 2.5rem;
  }
}

.p-recruit-company-list__item + .p-recruit-company-list__item {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list__item + .p-recruit-company-list__item {
    margin-top: 1.9375rem;
  }
}

.p-recruit-company-list__item {
  margin-top: 4.75rem;
  position: sticky;
  top: var(--header-recruit-height);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list__item {
    position: relative;
    top: initial;
    margin-top: 0;
  }
}

.p-recruit-about .p-recruit-company-list__item {
  position: relative;
  top: initial;
}

.p-recruit-company-list__item:nth-of-type(2) {
  z-index: 2;
}

.p-recruit-company-list__item:nth-of-type(3) {
  z-index: 3;
}

.p-recruit-company-list__item a:before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  width: 8.75rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--color-white);
  outline: 0.4375rem solid #EEEFF4;
  outline-offset: -0.4375rem;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list__item a:before {
    width: 17.0666666667cqi;
    outline: 0.125rem solid #EEEFF4;
    outline-offset: -0.125rem;
  }
}

.p-recruit-company-list__item a::after {
  content: "";
  position: absolute;
  z-index: 2;
  bottom: 3.4375rem;
  right: 3.4375rem;
  width: 1.875rem;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/recruit-common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list__item a::after {
    width: 4.2666666667cqi;
    right: 6.4cqi;
    bottom: 6.4cqi;
  }
}

.p-recruit-company-list__item-image {
  width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: 62.5rem;
  border: 1px solid var(--color-navy);
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list__item-image {
    border-radius: 23.25rem;
  }
}

.p-recruit-company-list__item-image img {
  aspect-ratio: 1076/405;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list__item-image img {
    aspect-ratio: 335/223;
  }
}

.p-recruit-company-list__item-body {
  position: relative;
  z-index: 1;
  margin-top: -2.625rem;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--color-white);
  padding: 0.1875rem 1.5625rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list__item-body {
    margin-top: -1.25rem;
    padding: 0rem 0.4375rem;
    border-radius: 0.1875rem;
  }
}

.p-recruit-company-list__item-title {
  font-size: max(3rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
  counter-increment: company-item;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list__item-title {
    font-size: max(1.5rem, 10px);
  }
}

.p-recruit-company-list__item-title::before {
  position: absolute;
  top: -1.75rem;
  left: 0.625rem;
  display: block;
  content: "(" counter(company-item, decimal-leading-zero) ")";
  font-size: max(1rem, 10px);
  font-weight: 600;
  line-height: 1;
  color: var(--color-navy);
  background-color: #F8F9FE;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list__item-title::before {
    font-size: max(0.75rem, 10px);
    top: -1.125rem;
    left: 0.1875rem;
  }
}

.p-recruit-company-list__item-title span {
  color: var(--color-red);
}

@media (any-hover: hover) {
  .p-recruit-company-list__item a:hover {
    opacity: 1;
  }
  .p-recruit-company-list__item a:hover .p-recruit-company-list__item-image img {
    transform: scale(1.1);
  }
}
.p-recruit-company-list[data-page=about] .p-recruit-company-list__item-image img {
  aspect-ratio: 1076/405;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list[data-page=about] .p-recruit-company-list__item-image img {
    aspect-ratio: 335/223;
  }
}

.p-recruit-company-list[data-page=about] .p-recruit-company-list__item + .p-recruit-company-list__item {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-company-list[data-page=about] .p-recruit-company-list__item + .p-recruit-company-list__item {
    margin-top: 2rem;
  }
}

.p-recruit-entry-cta {
  background-image: url(../images/recruit-top/entry-bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}

.p-recruit-entry-cta a {
  display: block;
  padding-block: 7.5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-cta a {
    padding-block: 4rem 3.8125rem;
  }
}

.p-recruit-entry-cta__marquee {
  position: absolute;
  top: 52%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 0;
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  pointer-events: none;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-cta__marquee {
    top: initial;
    transform: initial;
    bottom: 4.1875rem;
  }
}

.p-recruit-entry-cta__marquee-text {
  display: flex;
  flex-shrink: 0;
  animation: marquee 200s linear infinite;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-cta__marquee-text {
    animation: marquee 100s linear infinite;
  }
}

.p-recruit-entry-cta__marquee-text span {
  display: inline-block;
  padding-inline: 2.5rem;
  font-family: var(--second-font-family);
  font-size: max(12.5rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-cta__marquee-text span {
    font-size: max(5.625rem, 10px);
    padding-inline: 1rem;
  }
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.p-recruit-entry-cta__inner {
  position: relative;
  z-index: 1;
}

.p-recruit-entry-cta__container {
  display: grid;
  gap: 3.75rem;
  grid-template-columns: 1fr 12.5rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-cta__container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.p-recruit-entry-cta__content {
  max-width: 26.0625rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-cta__content {
    max-width: initial;
  }
}

.p-recruit-entry-cta__header.c-recruit-section-title .c-recruit-section-title__ja {
  margin-top: 0.9375rem;
  margin-left: -0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-cta__header.c-recruit-section-title .c-recruit-section-title__ja {
    font-size: max(2.5rem, 10px);
  }
}

.p-recruit-entry-cta__text {
  margin-top: 2rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black);
}

.p-recruit-entry-cta__button {
  display: block;
  width: 11.875rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-cta__button {
    margin-left: auto;
    margin-right: 0.375rem;
    width: 7.4375rem;
    outline-width: 0.375rem;
  }
}

.p-recruit-entry-cta__button::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: var(--color-red);
  outline: 0.625rem solid rgba(234, 54, 54, 0.5);
  outline-offset: 0rem;
  transition: transform 0.3s ease-out;
}

.p-recruit-entry-cta__button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3.75rem;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../images/recruit-common/arrow-right.svg);
          mask-image: url(../images/recruit-common/arrow-right.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--color-white);
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry-cta__button::after {
    width: 2.5rem;
    bottom: 2.375rem;
    right: 4.0625rem;
  }
}

@media (any-hover: hover) {
  .p-recruit-entry-cta a:hover {
    opacity: 1;
  }
  .p-recruit-entry-cta a:hover .p-recruit-entry-cta__button::before {
    transform: scale(1.2);
  }
}
.p-recruit-footer {
  position: relative;
  z-index: 0;
  padding-block: 6.4375rem 5.625rem;
  background-image: url(../images/recruit-common/footer-bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-footer {
    padding-block: 3.9375rem 3.75rem;
    background-image: url(../images/recruit-common/footer-bg-sp.jpg);
  }
}

.p-recruit-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 767px) {
  .p-recruit-footer::before {
    background-color: rgba(0, 0, 0, 0.69);
  }
}

.p-recruit-footer__inner {
  position: relative;
  z-index: 1;
}

.p-recruit-footer__wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-recruit-footer__wrap {
    flex-direction: column;
    justify-content: center;
    gap: 3.9375rem;
  }
}

.p-recruit-footer__left {
  width: 28.9814814815%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-footer__left {
    width: 100%;
  }
}

.p-recruit-footer__logo {
  width: 14.375rem;
}

.p-recruit-footer__logo a {
  padding: 0.625rem 0;
  display: block;
}

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

.p-recruit-footer__address {
  margin-top: 0.375rem;
  font-style: normal;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-recruit-footer__address {
    margin-top: 0.5rem;
  }
}

.p-recruit-footer__sns {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-footer__sns {
    margin-top: 1.5625rem;
  }
}

.p-recruit-footer__sns-list {
  display: flex;
  gap: 0.8125rem;
}

.p-recruit-footer__sns-item a {
  display: block;
  width: 3rem;
  height: 3rem;
}

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

.footer__button {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .footer__button {
    margin-top: 2.0625rem;
  }
}

.footer__button a {
  width: 100%;
  max-width: 19.5625rem;
  padding-block: 1.375rem;
  padding-inline: 1.875rem 1.375rem;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-navy);
  border-radius: 2.1875rem;
  outline: 1px solid var(--color-white);
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .footer__button a {
    max-width: 20.875rem;
  }
}

.footer__button a::after {
  content: "";
  width: 0.9375rem;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../images/recruit-common/icon_external-link.svg);
          mask-image: url(../images/recruit-common/icon_external-link.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--color-white);
  transition: background-color 0.3s ease-out;
}

@media (any-hover: hover) {
  .footer__button a:hover {
    background-color: var(--color-white);
    color: var(--color-navy);
    opacity: 1;
  }
  .footer__button a:hover::after {
    background-color: var(--color-navy);
  }
}
.p-recruit-footer__right {
  margin-top: 0.75rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-recruit-footer__right {
    margin-top: 0;
    gap: 2.875rem;
  }
}

.p-recruit-footer__nav-columns {
  display: flex;
  justify-content: flex-end;
  gap: 10.3947368421%;
}
@media screen and (max-width: 767px) {
  .p-recruit-footer__nav-columns {
    flex-direction: column;
    gap: 2.0625rem;
  }
}

.p-recruit-footer__nav-column {
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-recruit-footer__nav-column {
    width: 100%;
  }
}

.p-recruit-footer__nav-item a {
  padding-block: 0.9375rem;
  display: block;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-recruit-footer__nav-item a {
    padding-block: 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-footer__nav-sub-items {
    margin-top: 0.25rem;
  }
}

.p-recruit-footer__nav-sub-item a {
  padding-block: 1rem;
  display: flex;
  gap: 0.9375rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: currentColor;
}

.p-recruit-footer__nav-sub-item a::before {
  content: "";
  flex-shrink: 0;
  display: block;
  margin-top: 0.5625rem;
  width: 0.625rem;
  height: 2px;
  background-color: var(--color-red);
  border-radius: 50%;
}

.p-recruit-footer__copyright {
  text-align: right;
  padding-bottom: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-footer__copyright {
    padding-bottom: 0;
    text-align: left;
  }
}

.p-recruit-footer__copyright small {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
}

.p-recruit-header {
  border-bottom: 1px solid transparent;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out, height 0.3s ease-out, color 0.3s ease-out;
  color: var(--color-white);
}

.p-recruit-header.is-top,
.p-recruit-header:not(:has(~ main .p-recruit-sub-mv figure)) {
  color: var(--color-black);
}

.p-recruit-header.is-open,
.p-recruit-header:not(.is-mv).is-open {
  background-color: var(--color-navy);
  border-color: transparent;
}

.p-recruit-header:not(.is-mv) {
  background-color: var(--color-white);
  border-color: var(--color-border);
  height: 5rem;
  color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .p-recruit-header:not(.is-mv) {
    height: var(--header-recruit-height);
    background-color: transparent;
    border-color: transparent;
  }
}

.p-recruit-header__inner {
  padding-inline: 2.5rem 0;
  height: inherit;
  display: flex;
  justify-content: space-between;
  transition: padding-block 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-recruit-header__inner {
    padding-inline: 1.25rem 0;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-header.is-top .p-recruit-header__inner {
    padding-block: 1.25rem;
    padding-inline: 1.25rem 1.25rem;
  }
}

.p-recruit-header__logo {
  max-width: 14.375rem;
  width: 100%;
  height: inherit;
}
@media screen and (max-width: 767px) {
  .p-recruit-header__logo {
    max-width: 7.5rem;
  }
}

.p-recruit-header__logo a {
  height: inherit;
  display: flex;
  align-items: center;
  transition: padding-top 0.3s ease-out, opacity 0.3s ease-out;
}

@media screen and (max-width: 767px) {
  .p-recruit-header .p-recruit-header__logo a {
    padding-top: 1.0625rem;
  }
}

.p-recruit-header.is-top .p-recruit-header__logo a {
  padding-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-header.is-top .p-recruit-header__logo a {
    padding-top: 0.9375rem;
  }
}

.p-recruit-header:not(.is-mv) .p-recruit-header__logo a {
  padding-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-header:not(.is-mv) .p-recruit-header__logo a {
    padding-top: 1.0625rem;
  }
}

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

.p-recruit-header__right {
  display: flex;
  height: inherit;
  align-items: center;
}

.p-recruit-header__nav {
  display: block;
  height: inherit;
}

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

.p-recruit-header__nav-item {
  height: inherit;
}

@media screen and (max-width: 767px) {
  .p-recruit-header__nav-item:not(.p-recruit-header__nav-item--recruitment, .p-recruit-header__nav-item--entry) {
    display: none;
  }
}

.p-recruit-header__nav-item a {
  padding: 0 0.75rem;
  height: inherit;
  display: flex;
  align-items: center;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, opacity 0.3s ease-out;
}

.p-recruit-header__nav-item.p-recruit-header__nav-item--recruitment {
  margin-left: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-header__nav-item.p-recruit-header__nav-item--recruitment {
    margin-left: 0;
  }
}

.p-recruit-header__nav-item.p-recruit-header__nav-item--recruitment a,
.p-recruit-header__nav-item.p-recruit-header__nav-item--entry a {
  width: 10rem;
  height: inherit;
  color: var(--color-white);
  justify-content: center;
  border: 1px solid transparent;
}
@media screen and (max-width: 767px) {
  .p-recruit-header__nav-item.p-recruit-header__nav-item--recruitment a,
  .p-recruit-header__nav-item.p-recruit-header__nav-item--entry a {
    width: 3.5rem;
    height: auto;
    aspect-ratio: 1/1;
    padding: 0.3125rem;
  }
}

.p-recruit-header__nav-item.p-recruit-header__nav-item--recruitment a {
  background-color: var(--color-navy);
  border-color: var(--color-navy);
}
@media screen and (max-width: 767px) {
  .p-recruit-header__nav-item.p-recruit-header__nav-item--recruitment a {
    font-size: max(0.625rem, 10px);
    transition: background-color 0.3s ease-out, color 0.3s ease-out, border 0.3s ease-out;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-header.is-open .p-recruit-header__nav-item.p-recruit-header__nav-item--recruitment a {
    border: 1px solid #7C85AB;
  }
}

.p-recruit-header__nav-item.p-recruit-header__nav-item--entry a {
  background-color: var(--color-red);
  font-family: var(--en-font-family);
  border-color: var(--color-red);
}
@media screen and (max-width: 767px) {
  .p-recruit-header__nav-item.p-recruit-header__nav-item--entry a {
    font-size: max(0.75rem, 10px);
  }
}

@media (any-hover: hover) {
  .p-recruit-header__nav-item.p-recruit-header__nav-item--recruitment a:hover {
    background-color: var(--color-white);
    color: var(--color-navy);
    opacity: 1;
  }
  .p-recruit-header__nav-item.p-recruit-header__nav-item--entry a:hover {
    background-color: var(--color-white);
    color: var(--color-red);
    opacity: 1;
  }
}
.p-recruit-header__hamburger {
  display: none;
  margin-top: 0;
  padding: 0;
  outline: none;
  border: none;
  position: relative;
  z-index: var(--z-index-hamburger);
  width: 3.5rem;
  height: 3.5rem;
  background-color: #2B2B2B;
  cursor: pointer;
  transition: transform 0.3s ease-out, background-color 0.3s ease-out, margin-top 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-recruit-header__hamburger {
    display: block;
  }
}

.p-recruit-header__hamburger span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 1.5rem;
  height: 2px;
  background-color: var(--color-white);
  transition: background-color 0.3s ease-out;
}

.p-recruit-header__hamburger span::before,
.p-recruit-header__hamburger span::after {
  position: absolute;
  content: "";
  display: block;
  width: 1.5rem;
  height: 2px;
  background-color: var(--color-white);
  transition: transform 0.3s ease-out, background-color 0.3s ease-out;
}

.p-recruit-header__hamburger span::before {
  transform: translateY(-0.5rem);
}

.p-recruit-header__hamburger span::after {
  transform: translateY(0.5rem);
}

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

.p-recruit-header__hamburger.is-open span::before {
  transform: translateY(0) rotate(45deg);
}

.p-recruit-header__hamburger.is-open span::after {
  transform: translateY(0) rotate(-45deg);
}

.p-recruit-header__drawer {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease-out, visibility 0.3s ease-out;
  pointer-events: none;
  position: fixed;
  z-index: var(--z-index-drawer);
  inset: 0;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  background-color: var(--color-navy);
  color: var(--color-white);
  overflow-y: auto;
  scrollbar-width: none;
}

.p-recruit-header__drawer-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3.875rem;
  min-height: min(100%, 100vh);
}

.p-recruit-header__drawer-inner::after {
  position: absolute;
  z-index: 0;
  content: "";
  inset: 0;
  opacity: 0.5;
  background: linear-gradient(135deg, transparent 0%, transparent 29%, rgba(37, 53, 115, 0) 29%, rgba(37, 53, 115, 0.5) 50%, #ea634b 100%);
  pointer-events: none;
}

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

.p-recruit-header__drawer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.p-recruit-header__drawer-nav {
  height: inherit;
  padding-inline: 1.25rem;
  padding-block: 5.1875rem 0;
  position: relative;
  z-index: 1;
}

.p-recruit-header__drawer-list {
  margin-top: 1.875rem;
}

.p-recruit-header__drawer-item + .p-recruit-header__drawer-item {
  margin-top: 0.625rem;
}

.p-recruit-header__drawer-item:not(.p-recruit-header__drawer-item--contact):not(.p-recruit-header__drawer-item--entry) > a {
  padding-block: 1.25rem 0.3125rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: max(1.25rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  position: relative;
}

.p-recruit-header__drawer-sub-list {
  margin-top: 0.5625rem;
}

.p-recruit-header__drawer-sub-item a {
  padding-block: 1.5625rem 0.8125rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  border-bottom: 1px solid #7C85AB;
}

.p-recruit-header__drawer-sub-item a::after {
  content: "";
  -webkit-mask-image: url(../images/common/arrow-right.svg);
          mask-image: url(../images/common/arrow-right.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: cover;
          mask-size: cover;
  background-color: var(--color-red);
  width: 0.75rem;
  height: auto;
  aspect-ratio: 1/1;
}

.p-recruit-header__drawer-sub-item:first-child a {
  padding-top: 0.3125rem;
}

.p-recruit-header__drawer-item.p-recruit-header__drawer-item--contact,
.p-recruit-header__drawer-item.p-recruit-header__drawer-item--entry {
  margin-top: 2.8125rem;
}

.p-recruit-header__drawer-item.p-recruit-header__drawer-item--contact a.c-arrow-button,
.p-recruit-header__drawer-item.p-recruit-header__drawer-item--entry a.c-arrow-button {
  max-width: initial;
  border-radius: 62.4375rem;
  font-size: max(1.0625rem, 10px);
  line-height: 1.8;
  padding-inline: 1.9375rem 0.9375rem;
  border: 2px solid rgba(255, 255, 255, 0.3);
  outline: none;
}

.p-recruit-header__drawer-item.p-recruit-header__drawer-item--contact a.c-arrow-button::after,
.p-recruit-header__drawer-item.p-recruit-header__drawer-item--entry a.c-arrow-button::after {
  width: 2.8125rem;
}

.p-recruit-header__drawer-item.p-recruit-header__drawer-item--contact a.c-arrow-button::before,
.p-recruit-header__drawer-item.p-recruit-header__drawer-item--entry a.c-arrow-button::before {
  right: 1.8125rem;
}

.p-recruit-header__drawer-bottom {
  margin-inline: calc(50% - 50vw);
  width: 100cqi;
}

.p-recruit-header__drawer-bottom img {
  aspect-ratio: 375/43;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-recruit-interview-link__contents {
  background-color: rgba(160, 185, 219, 0.3);
  border-radius: 2rem;
  padding-block: 2.5rem 4rem;
  padding-inline: 5.5rem;
  text-align: center;
  color: var(--color-navy);
  border-radius: 2rem;
  padding-block: 2.5rem 4rem;
  padding-inline: 5.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview-link__contents {
    border-radius: 1rem;
    padding-block: 1.625rem 2rem;
    padding-inline: 1.25rem;
  }
}

.p-recruit-interview-link__title {
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview-link__title {
    font-size: max(1.25rem, 10px);
  }
}

.p-recruit-interview-link__list {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview-link__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.375rem 1rem;
  }
}

.p-recruit-interview-link__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9375rem;
}

.p-recruit-interview-link__item-image {
  width: 100%;
  height: auto;
  border-radius: 50%;
  border: 1px solid var(--color-navy);
  overflow: hidden;
}

.p-recruit-interview-link__item-image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  transition: transform 0.3s ease-out;
}

.p-recruit-interview-link__item-dept {
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-red);
}

.p-recruit-interview-link__item-name {
  margin-top: 0.4375rem;
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-navy);
}

.p-recruit-interview-link__item-name span {
  font-size: max(0.875rem, 10px);
}

@media (any-hover: hover) {
  .p-recruit-interview-link__item a:hover {
    opacity: 1;
  }
  .p-recruit-interview-link__item-image img:hover {
    transform: scale(1.1);
  }
}
/* 記事Q番号用：全角数字のカウンター */
@counter-style fullwidth-decimal {
  system: numeric;
  symbols: "０" "１" "２" "３" "４" "５" "６" "７" "８" "９";
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head {
    display: flex;
    flex-direction: column;
  }
}

.p-recruit-interview__head-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head-wrap {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-interview__head-message {
    width: 100%;
  }
}

.p-recruit-interview__head-dept {
  width: -moz-fit-content;
  width: fit-content;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-red);
  padding: 0.4375rem 1.25rem;
  border-radius: 62.4375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head-dept {
    font-size: max(1rem, 10px);
    padding: 0.375rem 1.25rem;
  }
}

.p-recruit-interview__head-title {
  margin-top: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head-title {
    margin-top: 0.5rem;
    background-color: var(--color-white);
    padding-inline: 0.625rem;
  }
}

.p-recruit-interview__head-title span + span {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head-title span + span {
    margin-top: 0;
  }
}

.p-recruit-interview__head-title span {
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-navy);
  background-color: var(--color-white);
  padding-inline: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head-title span {
    font-size: max(1.375rem, 10px);
    display: inline;
    background-color: transparent;
    padding: 0;
  }
}

.p-recruit-interview__head-meta {
  color: var(--color-navy);
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head-meta {
    display: flex;
    gap: 1.125rem;
    margin-top: 0.625rem;
    padding-left: 0.375rem;
  }
}

.p-recruit-interview__head-name {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1;
}

.p-recruit-interview__head-name span {
  font-size: max(0.875rem, 10px);
}

.p-recruit-interview__head-items {
  display: flex;
  gap: 0.625rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.8;
}

.p-recruit-interview__head-items-wrap {
  margin-top: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head-items-wrap {
    margin-top: revert;
  }
}

.p-recruit-interview__head-items-text {
  position: relative;
  padding-left: 1.6875rem;
}

.p-recruit-interview__head-items-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.75rem;
  height: 1px;
  background-color: currentColor;
}

.p-recruit-interview__head-image {
  position: relative;
  z-index: 0;
  margin-top: -0.9375rem;
  width: 100%;
  height: auto;
  border-radius: 62.4375rem;
  border: 1px solid var(--color-navy);
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head-image {
    margin-top: 1.5625rem;
  }
}

.p-recruit-interview__head-image img {
  aspect-ratio: 1076/520;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__head-image img {
    aspect-ratio: 335/223;
  }
}

.p-recruit-interview__content {
  margin-top: 4.0625rem;
  counter-reset: interview-q;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__content {
    margin-top: 1rem;
  }
}

.p-recruit-interview__article {
  counter-increment: interview-q;
}

.p-recruit-interview__article + .p-recruit-interview__article {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article + .p-recruit-interview__article {
    margin-top: 2.625rem;
  }
}

.p-recruit-interview__article:nth-child(2) {
  margin-top: 5.3125rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article:nth-child(2) {
    margin-top: 2.625rem;
  }
}

.p-recruit-interview__article:not(:has(figure)) {
  max-width: 56.375rem;
  margin-inline: auto;
}

.p-recruit-interview__article:has(figure) {
  display: grid;
  grid-template-columns: 1fr 41.6666666667%;
  align-items: center;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article:has(figure) {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .p-recruit-interview__article:has(figure) .p-recruit-interview__article-image {
    order: -1;
  }
}

/* interview6など：SPでテキスト→画像の順にする */
@media screen and (max-width: 767px) {
  .p-recruit-interview--sp-text-first .p-recruit-interview__article:has(figure) .p-recruit-interview__article-image {
    order: 0;
  }
}

.p-recruit-interview__article:nth-child(even):has(figure) {
  grid-template-columns: 41.6666666667% 1fr;
}
.p-recruit-interview__article:nth-child(even):has(figure) .p-recruit-interview__article-content {
  grid-area: 1/2/2/3;
}
.p-recruit-interview__article:nth-child(even):has(figure) .p-recruit-interview__article-image {
  grid-area: 1/1/2/2;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article:nth-child(even):has(figure) {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
  }
  .p-recruit-interview__article:nth-child(even):has(figure) .p-recruit-interview__article-content,
  .p-recruit-interview__article:nth-child(even):has(figure) .p-recruit-interview__article-image {
    grid-area: auto;
  }
  .p-recruit-interview__article:nth-child(even):has(figure) .p-recruit-interview__article-image {
    order: -1;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-interview--sp-text-first .p-recruit-interview__article:nth-child(even):has(figure) .p-recruit-interview__article-image {
    order: 0;
  }
}

.p-recruit-interview__article:has(figure) .p-recruit-interview__article-content {
  max-width: 29.6875rem;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article:has(figure) .p-recruit-interview__article-content {
    max-width: initial;
    margin-left: initial;
  }
}

.p-recruit-interview__article:nth-child(even):has(figure) .p-recruit-interview__article-content {
  margin-right: auto;
  margin-left: initial;
}

.p-recruit-interview__article-title {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-navy);
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article-title {
    font-size: max(1.375rem, 10px);
  }
}

.p-recruit-interview__article-title-num {
  padding-right: 0.625rem;
  flex-shrink: 0;
  display: block;
}
.p-recruit-interview__article-title-num::before {
  content: "Q" counter(interview-q, fullwidth-decimal) ".";
  background: linear-gradient(to bottom, #253473, #EA634B);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.p-recruit-interview__article-text {
  margin-top: 1.5rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black5);
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article-text {
    margin-top: 0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-interview__article:not(:first-child) .p-recruit-interview__article-title {
    letter-spacing: -2%;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-interview__article:not(:first-child) .p-recruit-interview__article-text {
    letter-spacing: -1%;
  }
}

.p-recruit-interview__article-image {
  width: 100%;
  height: auto;
  border-radius: 10.5625rem;
  border: 1px solid var(--color-navy);
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article-image {
    border-radius: 12.6875rem;
  }
}

.p-recruit-interview__article-image img {
  aspect-ratio: 450/300;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article-image img {
    aspect-ratio: 335/223;
  }
}

.p-recruit-interview__article:last-child {
  margin-inline: auto;
  max-width: 56.375rem;
  grid-template-columns: 1fr 37.4722838137%;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article:last-child {
    margin-top: 3.5rem;
    grid-template-columns: 1fr;
  }
}

.p-recruit-interview__article:only-child {
  margin: 0;
}

.p-recruit-interview__article:last-child .p-recruit-interview__article-content {
  max-width: initial;
}

@media screen and (max-width: 767px) {
  .p-recruit-interview__article:last-child .p-recruit-interview__article-image {
    border-radius: 50%;
  }
}

.p-recruit-interview__article:last-child .p-recruit-interview__article-image img {
  aspect-ratio: 338/450;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview__article:last-child .p-recruit-interview__article-image img {
    aspect-ratio: 1;
  }
}

.p-recruit-link-banner__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 599px) {
  .p-recruit-link-banner__items {
    grid-template-columns: 1fr;
  }
}

.p-recruit-link-banner__item {
  position: relative;
}

.p-recruit-link-banner__item::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
  pointer-events: none;
}

.p-recruit-link-banner__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, #253573 0%, rgba(37, 53, 115, 0) 55%);
  opacity: 0.5;
  z-index: 1;
  pointer-events: none;
}

.p-recruit-link-banner__img {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.p-recruit-link-banner__img img {
  aspect-ratio: 720/345;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-recruit-link-banner__img img {
    aspect-ratio: 375/268;
  }
}

.p-recruit-link-banner__title {
  position: absolute;
  z-index: 2;
  bottom: 2.9375rem;
  right: 7.625rem;
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-link-banner__title {
    bottom: 2.125rem;
    right: 6.375rem;
  }
}

.p-recruit-link-banner__title::before {
  content: "";
  position: absolute;
  right: -5.3125rem;
  top: 50%;
  transform: translateY(-50%);
  width: 3.625rem;
  height: 3.625rem;
  aspect-ratio: 1/1;
  background-color: var(--color-white);
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-recruit-link-banner__title::before {
    right: -5.1875rem;
  }
}

.p-recruit-link-banner__title::after {
  content: "";
  position: absolute;
  right: -4.1875rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.375rem;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/recruit-common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .p-recruit-link-banner__title::after {
    right: -4.0625rem;
  }
}

@media (any-hover: hover) {
  .p-recruit-link-banner__item a:hover {
    opacity: 1;
  }
  .p-recruit-link-banner__item a:hover .p-recruit-link-banner__img img {
    transform: scale(1.1);
  }
}
.p-recruit-sub-mv {
  position: relative;
  height: 37.5rem;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-sub-mv {
    height: 20.75rem;
  }
}

.p-recruit-sub-mv__image picture {
  position: absolute;
  inset: 0;
  height: inherit;
  display: block;
}

.p-recruit-sub-mv__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  aspect-ratio: 1440/600;
}

.p-recruit-sub-mv__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.p-recruit-sub-mv__inner {
  position: relative;
  z-index: 2;
  height: inherit;
}

.p-recruit-sub-mv__title-wrap {
  position: absolute;
  bottom: 3.625rem;
  left: 2rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-sub-mv__title-wrap {
    bottom: initial;
    top: 67%;
    transform: translateY(-50%);
    left: 1.25rem;
    height: -moz-fit-content;
    height: fit-content;
  }
}

.p-recruit-sub-mv__title-en {
  font-size: max(1.5rem, 10px);
  font-family: var(--second-font-family);
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-recruit-sub-mv__title-en {
    font-size: max(1.25rem, 10px);
  }
}

.p-recruit-sub-mv__title-ja {
  margin-top: 0.75rem;
  font-size: max(4.5rem, 10px);
  font-family: var(--recruit-font-family);
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-recruit-sub-mv__title-ja {
    margin-top: 0.625rem;
    font-size: max(3rem, 10px);
    line-height: 1;
  }
}

.p-recruit-sub-mv__title-ja span {
  color: var(--color-red);
}

.p-recruit-sub-mv:not(:has(figure)) {
  background-image: url(../images/recruit-common/recruit-mv-bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 30.75rem;
  color: var(--color-navy);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit-sub-mv:not(:has(figure)) {
    height: 20.75rem;
  }
}

.p-recruit-sub-mv:not(:has(figure))::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/200;
  background-image: url(../images/recruit-common/mv-line.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-recruit-sub-mv:not(:has(figure))::before {
    background-image: url(../images/recruit-common/mv-line-sp.png);
    aspect-ratio: 375/102;
  }
}

.p-recruit-sub-mv:not(:has(figure)) .p-recruit-sub-mv__title-wrap {
  bottom: 8.75rem;
  left: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-sub-mv:not(:has(figure)) .p-recruit-sub-mv__title-wrap {
    bottom: 5.1875rem;
    left: 1.25rem;
    top: initial;
    transform: initial;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-sub-mv[data-page=interview] .p-recruit-sub-mv__title-wrap {
    bottom: 2.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-sub-mv[data-page=interview] .p-recruit-sub-mv__title-ja {
    margin-top: 0.875rem;
    line-height: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-sub-mv[data-page=requirements] .p-recruit-sub-mv__title-wrap {
    bottom: 3.125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-sub-mv[data-page=requirements] .p-recruit-sub-mv__title-ja {
    margin-top: 1.125rem;
  }
}

.p-recruit-top-company {
  padding-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-company {
    padding-top: 3.75rem;
  }
}

.p-recruit-top-company__header {
  margin-top: 0.875rem;
  text-align: center;
}

.p-recruit-top-company__banner-slider {
  margin-top: 9.6875rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-company__banner-slider {
    margin-top: 5rem;
  }
}

.p-recruit-top-message {
  position: relative;
  min-height: 64.6875rem;
  overflow: clip;
  background-color: var(--color-navy);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message {
    min-height: initial;
  }
}

.p-recruit-top-message::before {
  position: absolute;
  z-index: 2;
  content: "";
  inset: 0;
  opacity: 0.6;
  background: linear-gradient(to bottom, #253573 0%, rgba(37, 53, 115, 0.6) 30%, rgba(37, 53, 115, 0.6) 70%, #253573 100%);
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message::before {
    background: linear-gradient(to bottom, #253573 0%, rgba(37, 53, 115, 0.8) 30%, rgba(37, 53, 115, 0.8) 80%, #253573 100%);
    opacity: 1;
  }
}

.p-recruit-top-message::after {
  position: absolute;
  z-index: 3;
  content: "";
  inset: 0;
  opacity: 0.6;
  background: linear-gradient(170deg, transparent 0%, transparent 29%, rgba(37, 53, 115, 0) 29%, rgba(37, 53, 115, 0.5) 70%, #ea634b 100%);
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message::after {
    opacity: 0.7;
    background: linear-gradient(135deg, rgba(37, 53, 115, 0) 0%, rgba(37, 53, 115, 0.6) 50%, rgba(234, 99, 75, 0.9) 95%, #ea634b 100%);
  }
}

.p-recruit-top-message__bg {
  max-width: 90rem;
  margin-inline: auto;
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__bg {
    max-width: initial;
    width: 100vw;
  }
}

.p-recruit-top-message__bg-text {
  position: absolute;
  top: -0.625rem;
  right: -1.1875rem;
  width: 25rem;
  height: 100%;
  z-index: 0;
  opacity: 0.7;
  font-family: var(--second-font-family);
  font-size: max(8.75rem, 10px);
  font-weight: 400;
  color: var(--color-red);
  line-height: 1;
  white-space: nowrap;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__bg-text {
    position: relative;
    z-index: 10;
    left: -0.3125rem;
    right: initial;
    top: initial;
    writing-mode: horizontal-tb;
    font-size: max(24vw, 5.625rem);
    margin-inline: calc(50% - 50vw);
    width: 100cqi;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.p-recruit-top-message__inner.l-inner {
  min-height: inherit;
  padding-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__inner.l-inner {
    padding-inline: 1.25rem 0.9375rem;
    padding-block: 5rem 4.25rem;
  }
}

.p-recruit-top-message__container {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  display: flex;
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__container {
    margin-left: initial;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-top-message__header.c-recruit-section-title {
    text-align: left;
  }
}

.p-recruit-top-message__text-wrap {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__text-wrap {
    margin-top: 1.875rem;
    gap: 1.5625rem;
  }
}

.p-recruit-top-message__text {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 2.2;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__text {
    font-size: max(1.0625rem, 10px);
    line-height: 1.8;
  }
}

.p-recruit-top-message__text.p-recruit-top-message__text--large {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 2;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__text.p-recruit-top-message__text--large {
    font-size: max(1.25rem, 10px);
    line-height: 1.8;
  }
}

.p-recruit-top-message__text span {
  position: relative;
}

.p-recruit-top-message__text span::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -0.625rem;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 234/17;
  background-image: url(../images/recruit-top/text-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__text span::before {
    bottom: -0.3125rem;
  }
}

@keyframes slideShow {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes slideShow02 {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
.p-recruit-top-message__slide {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 44%;
  height: 2072px;
  top: 0;
  left: 4.125rem;
  justify-content: space-between;
  flex-wrap: wrap;
  transform: rotate(-8deg);
  transform-origin: center center;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__slide {
    z-index: 0;
    width: 88%;
    top: -6.25rem;
    left: 12.5rem;
  }
}

.p-recruit-top-message__slide-item {
  width: calc(50% - 1.25rem);
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-message__slide-item {
    width: calc(50% - 0.625rem);
  }
}

.p-recruit-top-message__slide .p-recruit-top-message__slide-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: column;
  animation: slideShow 80s infinite linear 1s both;
}

.p-recruit-top-message__slide-item:nth-child(2) .p-recruit-top-message__slide-wrap {
  animation: slideShow02 80s infinite linear 1s both;
}

.p-recruit-top-message__slide-img {
  display: block;
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 298/398;
  overflow: hidden;
}
.p-recruit-top-message__slide-img + .p-recruit-top-message__slide-img {
  margin-top: 1.25rem;
}
.p-recruit-top-message__slide-img picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-recruit-top-message__slide-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-recruit-top-mv {
  background-image: url(../images/recruit-common/mv-bg.jpg);
  background-repeat: repeat;
  background-position: center;
  background-size: auto;
  position: relative;
  overflow: clip;
  padding-block: 2.9375rem 6.4375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv {
    padding-block: 6.25rem 6.875rem;
  }
}

.p-recruit-top-mv::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/200;
  background-image: url(../images/recruit-common/mv-line.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv::before {
    background-image: url(../images/recruit-common/mv-line-sp.png);
    aspect-ratio: 375/102;
  }
}

.p-recruit-top-mv::after {
  content: "";
  position: absolute;
  top: 17%;
  left: 23%;
  width: 5.625rem;
  height: auto;
  aspect-ratio: 179/88;
  background-image: url(../images/recruit-top/mv-deco.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv::after {
    top: 17%;
    left: 8%;
    width: 3.125rem;
  }
}

.p-recruit-top-mv__image {
  transform: scale(0.83396);
  transform-origin: center bottom;
  transition: transform 0.7s ease-in-out;
  width: 100%;
  height: 100%;
}

.p-recruit-top-mv__image img {
  aspect-ratio: 530/786;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-recruit-top-mv__slider .splide__slide.is-active .p-recruit-top-mv__image {
  transform: scale(1);
}

.p-recruit-top-mv__copy-contents {
  position: absolute;
  bottom: 7.2222222222vw;
  left: 12.5vw;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__copy-contents {
    bottom: 13.3333333333vw;
    left: 5.3333333333vw;
  }
}

.p-recruit-top-mv__main-copy-text {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--color-white);
  padding: 0.25rem;
  padding-inline: 1rem 0;
  font-size: max(3.1875rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-navy);
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__main-copy-text {
    font-size: max(1.9375rem, 10px);
    padding-block: 0.1875rem;
    padding-inline: 0.625rem 0;
  }
}

.p-recruit-top-mv__main-copy-text + .p-recruit-top-mv__main-copy-text {
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__main-copy-text + .p-recruit-top-mv__main-copy-text {
    margin-top: 0.3125rem;
  }
}

.p-recruit-top-mv__main-copy-red {
  color: var(--color-red);
}

.p-recruit-top-mv__main-copy-text-sm {
  font-size: max(2.6875rem, 10px);
  padding-inline: 0.125rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__main-copy-text-sm {
    font-size: max(1.5625rem, 10px);
  }
}

.p-recruit-top-mv__button {
  position: absolute;
  z-index: 1;
  bottom: 3.1875rem;
  right: 3.9375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__button {
    top: 6.875rem;
    bottom: auto;
    right: 1.8125rem;
  }
}

.p-recruit-top-mv__button-link {
  display: inline-grid;
  place-content: center;
  position: relative;
  z-index: 0;
  width: 11.875rem;
  aspect-ratio: 1;
  border-radius: 50%;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__button-link {
    width: 6.5625rem;
  }
}

.p-recruit-top-mv__button-img-wrap {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
}

.p-recruit-top-mv__button-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-out;
}

@media (any-hover: hover) {
  .p-recruit-top-mv__button-link:hover .p-recruit-top-mv__button-img {
    transform: scale(1.1);
  }
}
.p-recruit-top-mv__button-link::before {
  position: absolute;
  inset: 0;
  aspect-ratio: 1;
  background: url(../images/recruit-top/movie-btn-text.png) no-repeat center/contain;
  content: "";
  scale: 1.5;
  animation: recruit-top-mv-rotate 25s linear infinite;
  border-radius: 50%;
}

@keyframes recruit-top-mv-rotate {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 360deg;
  }
}
/* 動画モーダル */
.p-recruit-top-mv__modal.c-dialog__contents {
  max-width: 75rem;
  background-color: transparent;
  border-radius: 1rem;
  border: none;
  overflow: visible;
  transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete, opacity 0.5s ease-in-out, scale 0.5s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__modal.c-dialog__contents {
    max-width: 37.5rem;
    border-radius: 0.75rem;
  }
}

.p-recruit-top-mv__modal.c-dialog__contents::backdrop {
  transition: opacity 0.5s ease-in-out;
}

.p-recruit-top-mv__modal.c-dialog__contents[open]::backdrop {
  opacity: 0.8;
  transition: opacity 0.5s ease-in-out;
}
@starting-style {
  .p-recruit-top-mv__modal.c-dialog__contents[open]::backdrop {
    opacity: 0;
  }
}

.p-recruit-top-mv__modal.c-dialog__contents.is-closing::backdrop {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.p-recruit-top-mv__modal .c-dialog__contents-inner {
  padding: 3.125rem 3.125rem 3.125rem 3.125rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__modal .c-dialog__contents-inner {
    padding: 0;
  }
}

.p-recruit-top-mv__modal-close.c-dialog__close::before,
.p-recruit-top-mv__modal-close.c-dialog__close::after {
  display: none;
}

.p-recruit-top-mv__modal-close {
  position: absolute;
  top: 0;
  right: 0.625rem;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__modal-close {
    top: calc(50% - min(46vh, 25rem));
    right: 1.25rem;
  }
}

.p-recruit-top-mv__modal-close:hover {
  opacity: 0.7;
}

.p-recruit-top-mv__modal-close-img {
  display: block;
  width: 3.75rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-mv__modal-close-img {
    width: 2.5rem;
  }
}

.p-recruit-top-mv__modal-video {
  width: 100%;
  aspect-ratio: 1216/684;
}

.p-recruit-top-mv__modal-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-recruit-top-work {
  position: relative;
  padding-block: 8.8125rem 15.75rem;
  color: var(--color-white);
  background-color: var(--color-navy);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-work {
    padding-block: 4.5625rem 40.5333333333vw;
  }
}

.p-recruit-top-work::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/200;
  background-image: url(../images/recruit-common/mv-line.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-work::before {
    background-image: url(../images/recruit-common/mv-line-sp.png);
    aspect-ratio: 375/102;
  }
}

.p-recruit-top-work__inner {
  position: relative;
  z-index: 1;
  max-width: 70.3125rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-work__inner {
    max-width: 40rem;
  }
}

.p-recruit-top-work__container {
  display: flex;
  justify-content: space-between;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-work__container {
    flex-direction: column;
    align-items: center;
    gap: 2.625rem;
  }
}

.p-recruit-top-work__header {
  flex-shrink: 0;
}

.p-recruit-top-work__text {
  padding-top: 0.375rem;
  max-width: 30.375rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-work__text {
    padding-top: 0;
    text-align: justify;
  }
}

.p-recruit-top-work__cards {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-top-work__cards {
    margin-top: 4.375rem;
  }
}

.p-recruit-top-work__cards .splide__slide > a {
  display: block;
  transform: translateY(0);
  transition: transform 1s ease;
}

.p-recruit-top-work__cards .splide__slide.is-slide-active > a {
  transform: translateY(-2.6875rem);
}
@media screen and (max-width: 767px) {
  .p-recruit-top-work__cards .splide__slide.is-slide-active > a {
    transform: translateY(-1.875rem);
  }
}

.p-recruit-top-work__nav-button.p-recruit-top-work__nav-button--prev {
  background-color: #2b2b2b;
}

.p-recruit-top-work__nav-button.p-recruit-top-work__nav-button--next {
  background-color: #be1217;
}

@media (any-hover: hover) {
  .p-recruit-top-work__nav-button:hover {
    opacity: 0.8;
    transform: scale(1.05);
  }
}
.p-recruit-works__content {
  margin-top: 4.25rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-works__content {
    margin-top: 3.375rem;
  }
}

/* スライダーなし（6枚並び）のとき：splide クラスを付けない場合 */
.p-recruit-works__content .c-slider-work__track {
  overflow: visible;
}

.p-recruit-works__content .c-slider-work__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7.0625rem 1.9375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-works__content .c-slider-work__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 6.25rem;
  }
}

.p-recruit-works__content .c-slider-work__item {
  width: auto;
}
@media screen and (max-width: 767px) {
  .p-recruit-works__content .c-slider-work__item {
    max-width: 25rem;
    margin-inline: auto;
  }
}

.p-recruit-works__content .c-slider-work__item > a {
  display: block;
  transform: none;
}

.p-recruit-works__content .c-slider-work__card-text-wrap {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 767px) {
  .p-recruit-works__content .c-slider-work__card-image {
    border-radius: 50%;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit-works__content .c-slider-work__card-image img {
    aspect-ratio: 1;
    -o-object-position: 50% 20%;
       object-position: 50% 20%;
  }
}

.p-sdgs__article {
  margin-top: 4.625rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--color-gray);
}
@media screen and (max-width: 767px) {
  .p-sdgs__article {
    margin-top: 2.5rem;
    padding-bottom: 1.875rem;
  }
}

.p-sdgs__article + .p-sdgs__article {
  margin-top: 3.9375rem;
}
@media screen and (max-width: 767px) {
  .p-sdgs__article + .p-sdgs__article {
    margin-top: 4.625rem;
  }
}

.p-sdgs__text {
  margin-top: 1.5rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-black4);
}
@media screen and (max-width: 767px) {
  .p-sdgs__text {
    margin-top: 0.875rem;
  }
}

.p-sdgs__image-wrap {
  margin-top: 2.5rem;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1fr 21.0185185185%;
}
@media screen and (max-width: 767px) {
  .p-sdgs__image-wrap {
    margin-top: 2.5rem;
    gap: 1.875rem;
    grid-template-columns: 1fr;
  }
}

.p-sdgs__image {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-sdgs__image:nth-child(2) {
    width: 67.7611940299%;
    max-width: 14.1875rem;
  }
}

.p-sdgs__image:nth-child(1) img {
  aspect-ratio: 813/487;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-sdgs__image:nth-child(2) img {
  aspect-ratio: 227/319;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.p-sdgs__image-caption {
  margin-top: 0.625rem;
}

.p-sdgs__image-caption a {
  display: flex;
  align-items: flex-start;
  gap: 0.9375rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-main);
}

.p-sdgs__image-caption a::before {
  content: "";
  flex-shrink: 0;
  margin-top: 0.3125rem;
  width: 1.125rem;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../images/recruit-common/icon_external-link.svg);
          mask-image: url(../images/recruit-common/icon_external-link.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--color-main);
}

.p-sdgs__items {
  margin-top: 2.4375rem;
}

.p-sdgs__item + .p-sdgs__item {
  margin-top: 2.5rem;
}

.p-sdgs__item {
  display: grid;
  gap: 2rem;
  grid-template-columns: 13.8888888889% 1fr;
}
@media screen and (max-width: 767px) {
  .p-sdgs__item {
    grid-template-columns: 6.25rem 1fr;
    gap: 0.3125rem 0.9375rem;
  }
}

.p-sdgs__item-image {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-sdgs__item-image {
    grid-area: 1/1/2/2;
  }
}

.p-sdgs__item-image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-sdgs__item-content {
    display: contents;
  }
}

.p-sdgs__item-heading {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-sdgs__item-heading {
    grid-area: 1/2/2/3;
    font-size: max(1.125rem, 10px);
  }
}

.p-sdgs__item-detail {
  margin-top: 0.3125rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5rem 1rem;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-sdgs__item-detail {
    grid-area: 2/1/3/3;
    gap: 0.4375rem;
  }
}

.p-sdgs__item-detail-item-title {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  display: flex;
  align-items: center;
  gap: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-sdgs__item-detail-item-title {
    gap: 0.5rem;
  }
}

.p-sdgs__item-detail-item-title::after {
  content: "…";
}

.p-sdgs__item-detail-item-text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}

.p-sub-mv {
  width: 100%;
  height: 18.75rem;
  color: var(--color-white);
  background-color: var(--color-black2);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-sub-mv {
    height: 15.625rem;
  }
}

.p-sub-mv::before {
  content: "";
  position: absolute;
  inset: 0;
  filter: blur(3px);
  opacity: 0.5;
  background-image: url(../images/common/sub-mv-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-sub-mv::before {
    opacity: 1;
  }
}

.p-sub-mv::after {
  content: "";
  position: absolute;
  background: linear-gradient(to bottom, rgba(61, 61, 61, 0.7) 0%, rgba(163, 163, 163, 0) 100%);
  inset: 0;
  z-index: 0;
  mix-blend-mode: multiply;
}

.p-sub-mv__inner.l-inner {
  height: inherit;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-sub-mv__inner.l-inner {
    padding-inline: 1.5rem;
  }
}

.p-sub-mv__title-wrap {
  height: inherit;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-sub-mv__title-wrap {
    padding-top: 0;
  }
}

.p-sub-mv__title-en {
  font-size: max(6.25rem, 10px);
  font-family: var(--en-font-family);
  font-weight: 500;
  line-height: 1;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .p-sub-mv__title-en {
    font-size: max(3.5rem, 10px);
  }
}

.p-sub-mv__title-ja {
  font-size: max(1.25rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  text-transform: uppercase;
  position: relative;
  padding-left: 1.6875rem;
}
@media screen and (max-width: 767px) {
  .p-sub-mv__title-ja {
    font-size: max(1.125rem, 10px);
    padding-left: 1.25rem;
  }
}

.p-sub-mv__title-ja::before {
  content: "";
  position: absolute;
  left: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-main);
}

.p-sub-mv.p-sub-mv--no-bg {
  height: 16.875rem;
  color: var(--color-black4);
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .p-sub-mv.p-sub-mv--no-bg {
    height: 12.5rem;
  }
}

.p-sub-mv.p-sub-mv--no-bg::before,
.p-sub-mv.p-sub-mv--no-bg::after {
  content: none;
}

.p-sub-mv.p-sub-mv--no-bg .p-sub-mv__title-wrap {
  padding-top: 5.5rem;
}
@media screen and (max-width: 767px) {
  .p-sub-mv.p-sub-mv--no-bg .p-sub-mv__title-wrap {
    padding-top: 1.375rem;
  }
}

.error404 .p-sub-mv.p-sub-mv--no-bg {
  height: 9.375rem;
}

.error404 .p-sub-mv.p-sub-mv--no-bg .p-sub-mv__title-wrap {
  padding-top: 1.875rem;
}

.error404 .p-sub-mv--no-bg .p-sub-mv__title-ja {
  font-size: max(2.5rem, 10px);
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .error404 .p-sub-mv--no-bg .p-sub-mv__title-ja {
    font-size: max(1.875rem, 10px);
  }
}

.error404 .p-sub-mv--no-bg .p-sub-mv__title-ja::before {
  content: none;
}

.p-top-about {
  padding-block: 8.75rem 8.75rem;
  background-image: url(../images/common/noise-bg.jpg);
  background-repeat: repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-top-about {
    padding-block: 5rem 4.4375rem;
    overflow-x: clip;
  }
}

.p-top-about__container {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-top-about__container {
    flex-direction: column-reverse;
    gap: 4.1875rem;
  }
}

.p-top-about__image-wrap {
  position: relative;
  margin-left: calc(50% - 50vw);
  width: 100vw;
  max-width: 90rem;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-top-about__image-wrap {
    margin-inline: calc(50% - 50vw);
    width: 100vw;
  }
}

.p-top-about__image-wrap::before {
  content: "";
  position: absolute;
  top: -8.75rem;
  bottom: -8.75rem;
  left: 0;
  right: 11.0625rem;
  background-color: var(--color-main);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-top-about__image-wrap::before {
    top: 0;
    bottom: -4.4375rem;
    right: 7.5rem;
  }
}

.p-top-about__image {
  max-width: 33.5625rem;
  width: 37.2916666667vw;
  margin-left: auto;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-top-about__image {
    max-width: initial;
    width: 94.1333333333vw;
  }
}

.p-top-about__image:nth-child(1) {
  margin-right: 5rem;
  aspect-ratio: 537/358;
}

.p-top-about__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.p-top-about__image:nth-child(2) {
  margin-top: 1.75rem;
  max-width: 18.125rem;
  width: 20.1388888889vw;
  aspect-ratio: 290/194;
}
@media screen and (max-width: 767px) {
  .p-top-about__image:nth-child(2) {
    margin-top: 0.875rem;
    max-width: initial;
    width: 68.8vw;
  }
}

.p-top-about__image img:nth-child(2) {
  aspect-ratio: 290/194;
}

.p-top-about__content {
  max-width: 42.625rem;
  padding-top: 1.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-about__content {
    padding-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-about__heading-wrap .c-section-title__en {
    margin-left: -1.5625rem;
    font-size: max(4.5rem, 10px);
  }
}

.p-top-about__heading-wrap .c-section-title__ja {
  display: block;
  margin-left: 0;
  padding-left: min(8.6805555556vw, 7.8125rem);
  margin-top: -3.125rem;
  white-space: nowrap;
  font-size: max(2.5rem, 10px);
  font-weight: 700;
  color: var(--color-black);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-top-about__heading-wrap .c-section-title__ja {
    margin-top: -1.875rem;
    font-size: max(1.5rem, 10px);
    padding-left: 0;
    line-height: 1.8;
  }
}

.p-top-about__text {
  padding-left: min(8.6805555556vw, 7.8125rem);
  margin-top: 2rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  color: var(--color-black);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-top-about__text {
    padding-left: 0;
    margin-top: 1.5625rem;
    font-size: max(1rem, 10px);
  }
}

.p-top-about__button {
  margin-top: 3rem;
  text-align: right;
}

.p-top-base {
  position: relative;
  background-color: #181818;
  color: var(--color-white);
  aspect-ratio: 1440/689;
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-x: clip;
}
@media (min-width: 1441px) {
  .p-top-base {
    aspect-ratio: initial;
    height: 43.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-base {
    padding-top: min(13.375rem, 57.0666666667vw);
    padding-bottom: 5rem;
    aspect-ratio: initial;
    height: auto;
  }
}

.p-top-base::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
  aspect-ratio: 1569/689;
  height: 43.0625rem;
  width: auto;
  max-width: 98.0625rem;
  background-image: url(../images/top/base-bg.avif);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
  aspect-ratio: 1440/689;
}

.p-top-base::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../images/top/base-bg.avif);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-top-base::after {
    background-size: contain;
  }
}

@media (max-width: 1439px) {
  .p-top-base::before {
    content: none;
  }
  .p-top-base::after {
    transform: scale(0.0694444444vw);
    transform-origin: center;
  }
}
@media screen and (max-width: 767px) {
  .p-top-base::after {
    background-image: url(../images/top/base-bg-sp.avif);
    background-position: top center;
  }
}
@media (min-width: 1441px) {
  .p-top-base::before {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) calc((100% - 1440px) / 2), rgb(0, 0, 0) calc((100% - 1440px) / 2 + 129px), rgb(0, 0, 0) calc(100% - ((100% - 1440px) / 2 + 129px)), rgba(0, 0, 0, 0) calc(100% - (100% - 1440px) / 2), rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) calc((100% - 1440px) / 2), rgb(0, 0, 0) calc((100% - 1440px) / 2 + 129px), rgb(0, 0, 0) calc(100% - ((100% - 1440px) / 2 + 129px)), rgba(0, 0, 0, 0) calc(100% - (100% - 1440px) / 2), rgba(0, 0, 0, 0) 100%);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
  }
  .p-top-base::after {
    content: none;
  }
}
.p-top-base__inner.l-inner {
  max-width: 70.9375rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-top-base__inner.l-inner {
    max-width: 40rem;
  }
}

.p-top-base__container {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-top-base__container {
    width: 100%;
    margin-left: initial;
  }
}

.p-top-base__header {
  margin-left: -0.5625rem;
}
@media screen and (max-width: 767px) {
  .p-top-base__header {
    margin-left: 0;
  }
}

.p-top-base__text {
  margin-top: 1.875rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  color: currentColor;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-top-base__text {
    margin-top: 1.9375rem;
  }
}

.p-top-base__button {
  margin-top: 3.125rem;
}

@media (min-width: 1441px) {
  .p-top-base::after {
    -webkit-mask-image: linear-gradient(to right, transparent 0, black calc((100vw - 1200px) / 2), black calc((100vw + 1200px) / 2), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, black calc((100vw - 1200px) / 2), black calc((100vw + 1200px) / 2), transparent 100%);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
  }
}
.p-top-company {
  position: relative;
  padding-block: 8.4375rem 17.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-company {
    padding-block: 5rem 5.125rem;
    overflow-x: clip;
  }
}

.p-top-company__container {
  display: flex;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__container {
    flex-direction: column;
    gap: 2.5rem;
  }
}

.p-top-company__content {
  position: relative;
  z-index: 1;
}

.p-top-company__header .c-section-title__ja {
  color: var(--color-black);
}

.p-top-company__text {
  margin-top: 1.875rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-top-company__text {
    margin-top: 2.0625rem;
  }
}

.p-top-company__button {
  margin-top: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__button {
    margin-top: 3.0625rem;
  }
}

.p-top-company__image-wrap {
  position: absolute;
  z-index: 0;
  width: 46.9444444444cqi;
  max-width: 42.25rem;
  top: 50%;
  transform: translateY(-50%);
  left: 50%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__image-wrap {
    max-width: initial;
    position: static;
    transform: translateY(0);
    margin-inline: calc(50% - 50vw);
    width: 100vw;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.125rem;
  }
}

.p-top-company__image {
  aspect-ratio: 322/483;
}
@media screen and (max-width: 767px) {
  .p-top-company__image {
    aspect-ratio: 355/178;
  }
}

.p-top-company__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.p-top-company__image:nth-child(1) {
  margin-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__image:nth-child(1) {
    grid-area: 2/1/3/2;
    width: 58.4cqi;
    margin-top: revert;
  }
}

@media screen and (max-width: 767px) {
  .p-top-company__image:nth-child(2) {
    grid-area: 1/1/2/2;
    width: 94.6666666667cqi;
    margin-left: auto;
  }
}

.p-top-message {
  position: relative;
  min-height: 52.375rem;
  overflow-x: clip;
  background-image: url("../images/top/message-bg.jpg");
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-top-message {
    min-height: initial;
    padding-bottom: 3.875rem;
    display: flex;
    flex-direction: column-reverse;
    gap: 2.375rem;
    overflow: clip;
  }
}

.p-top-message::before {
  position: absolute;
  content: "";
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
}

.p-top-message__bg {
  max-width: 90rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-message__bg {
    max-width: initial;
    width: 100vw;
  }
}

.p-top-message__bg-text {
  position: absolute;
  top: -1.125rem;
  right: -1.1875rem;
  width: 25rem;
  height: 100%;
  z-index: 0;
  font-family: var(--second-font-family);
  font-size: max(13.1875rem, 10px);
  font-weight: 400;
  color: var(--color-white);
  opacity: 0.3;
  line-height: 0.93;
  white-space: nowrap;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .p-top-message__bg-text {
    position: static;
    writing-mode: horizontal-tb;
    font-size: max(25.0666666667vw, 5.875rem);
    margin-inline: calc(50% - 50vw);
    width: 100cqi;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.p-top-message__images {
  position: absolute;
  top: 5.9375rem;
  right: 11.4375rem;
  width: 23.125%;
}
@media screen and (max-width: 767px) {
  .p-top-message__images {
    position: static;
    width: 100%;
    padding-inline: 1.25rem;
  }
}

.p-top-message__image {
  width: 100%;
  height: auto;
}

.p-top-message__image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-top-message__image.p-top-message__image--1 {
  width: 15.3125rem;
  aspect-ratio: 245/163;
}
@media screen and (max-width: 767px) {
  .p-top-message__image.p-top-message__image--1 {
    width: 54.328358209%;
  }
}

.p-top-message__image.p-top-message__image--2 {
  margin-top: 5.625rem;
  margin-right: 2.125rem;
  margin-left: auto;
  width: 11.375rem;
  aspect-ratio: 182/121;
}
@media screen and (max-width: 767px) {
  .p-top-message__image.p-top-message__image--2 {
    display: none;
  }
}

.p-top-message__image.p-top-message__image--3 {
  margin-top: 4.25rem;
  margin-left: auto;
  width: 20.8125rem;
  aspect-ratio: 333/222;
}
@media screen and (max-width: 767px) {
  .p-top-message__image.p-top-message__image--3 {
    margin-top: -2.6875rem;
    margin-left: auto;
    width: 39.4029850746%;
  }
}

.p-top-message__inner.l-inner {
  min-height: inherit;
}

.p-top-message__container {
  min-height: inherit;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-top-message__container {
    margin-top: -1.5rem;
  }
}

.p-top-message__content {
  color: var(--color-white);
}

.p-top-message__heading {
  padding-left: 0.3125rem;
  font-size: max(2.5rem, 10px);
  font-weight: 700;
  color: currentColor;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-top-message__heading {
    padding-left: 0;
    font-size: max(1.5rem, 10px);
  }
}

.p-top-message__heading-accent {
  color: var(--color-main);
}

.p-top-message__text-wrap {
  margin-top: 2.4375rem;
  padding-left: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-top-message__text-wrap {
    margin-top: 1.875rem;
  }
}

.p-top-message__text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  color: currentColor;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-top-message__text {
    text-align: justify;
  }
}

.p-top-message__text:not(:first-child) {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-message__text:not(:first-child) {
    margin-top: 1.5625rem;
  }
}

.p-top-products {
  position: relative;
  padding-block: 7.1875rem 8.25rem;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-top-products {
    padding-block: 4.5625rem 5rem;
  }
}

.p-top-products::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, #BE1217 0%, #BE1217 49%, transparent 49%, transparent 100%);
}
@media screen and (max-width: 767px) {
  .p-top-products::before {
    background: linear-gradient(to bottom, #BE1217 0%, #BE1217 54%, transparent 54%, transparent 100%);
  }
}

.p-top-products__inner {
  position: relative;
  z-index: 1;
}

.p-top-products__container {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 3.75rem;
  gap: 5.5555555556%;
}
@media screen and (max-width: 767px) {
  .p-top-products__container {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
}

.p-top-products__header {
  flex-shrink: 0;
}

.p-top-products__header.c-section-title .c-section-title__ja::before {
  background-color: var(--color-white);
}

.p-top-products__text {
  padding-bottom: 0.9375rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-top-products__text {
    padding-bottom: 0;
  }
}

.p-top-products__cards {
  margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .p-top-products__cards {
    margin-top: 2.5rem;
  }
}

.p-top-products__nav-button.p-top-products__nav-button--prev {
  background-color: #2b2b2b;
}

.p-top-products__nav-button.p-top-products__nav-button--next {
  background-color: #be1217;
}

@media (any-hover: hover) {
  .p-top-products__nav-button:hover {
    opacity: 0.8;
    transform: scale(1.05);
  }
}
.p-top-products__nav-icon {
  font-family: "Inter", sans-serif;
  font-size: max(1.75rem, 10px);
  font-weight: 500;
  line-height: 1;
}

.p-top-products__button {
  margin-top: 4.5625rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-top-products__button {
    margin-top: 1.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-products__button .c-arrow-button {
    max-width: 10.9375rem;
    padding-inline: 1.25rem 0.9375rem;
  }
}

.p-top-recruit {
  position: relative;
  padding-block: 6.8125rem 6.25rem;
  background-image: url(../images/top/recruit-bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-top-recruit {
    padding-block: 5rem 4.5rem;
  }
}

.p-top-recruit::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: -1;
}

.p-top-recruit::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(21, 46, 107, 0) 0%, #152e6b 66%);
  opacity: 0.95;
  z-index: -1;
}

.p-top-recruit__inner.l-inner {
  max-width: 81.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__inner.l-inner {
    max-width: 40rem;
  }
}

.p-top-recruit__container {
  display: grid;
  gap: min(5.9375rem, 7.6%);
  grid-template-columns: 48% 1fr;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__container {
    grid-template-columns: 1fr;
    gap: 3.4375rem;
  }
}

.p-top-recruit__image-wrap {
  display: grid;
  grid-template-columns: 58.3333333333% 1fr;
  gap: 1rem 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__image-wrap {
    grid-area: 2/1/3/2;
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.p-top-recruit__image {
  width: 100%;
}

.p-top-recruit__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.p-top-recruit__image:nth-child(1) {
  grid-area: 1/1/2/3;
  width: 80%;
  margin-left: auto;
  aspect-ratio: 480/320;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__image:nth-child(1) {
    width: 79.1044776119%;
  }
}

.p-top-recruit__image:nth-child(2) {
  grid-area: 2/1/3/2;
  aspect-ratio: 350/234;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__image:nth-child(2) {
    margin-top: -3.125rem;
    width: 54.328358209%;
  }
}

.p-top-recruit__image:nth-child(3) {
  grid-area: 2/2/3/3;
  aspect-ratio: 234/350;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__image:nth-child(3) {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-top-recruit__content {
    grid-area: 1/1/2/2;
  }
}

.p-top-recruit__header.c-section-title .c-section-title__ja {
  margin-top: 0.5625rem;
  margin-left: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__header.c-section-title .c-section-title__ja {
    margin-left: -0.1875rem;
  }
}

.p-top-recruit__text {
  padding-left: 0.625rem;
  margin-top: 2rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-top-recruit__text {
    margin-top: 1.5rem;
    padding-left: 0;
  }
}

.p-top-recruit__button {
  margin-top: 3rem;
  margin-left: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-recruit__button {
    margin-left: 0;
  }
}

.p-top-strengths {
  position: relative;
  background-color: #181818;
  color: var(--color-white);
  overflow: hidden;
}

.p-top-strengths::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  aspect-ratio: 1440/735;
  background: url("../images/top/strengths-bg01.jpg") center/cover no-repeat;
  filter: blur(3px);
  opacity: 0.7;
  -webkit-mask-image: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
          mask-image: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
}

.p-top-strengths::after {
  content: "";
  position: absolute;
  background: linear-gradient(to bottom, #3d3d3d 0%, rgba(163, 163, 163, 0) 100%);
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/735;
  mix-blend-mode: multiply;
}

.p-top-strengths__bg {
  position: relative;
}

.p-top-strengths__bg::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  z-index: 1;
  aspect-ratio: 1440/735;
  background: url("../images/top/strengths-bg02.jpg") center/cover no-repeat;
  filter: blur(3px);
  opacity: 0.7;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
          mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
}

.p-top-strengths__bg::after {
  content: "";
  position: absolute;
  background: linear-gradient(to bottom, rgba(163, 163, 163, 0) 0%, #3d3d3d 100%);
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/735;
  mix-blend-mode: multiply;
}

.p-top-strengths__inner {
  padding-block: 8.125rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__inner {
    padding-block: 4.5rem 5rem;
  }
}

.p-top-strengths__container {
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .p-top-strengths__header.c-section-title .c-section-title__ja {
    margin-top: 1.25rem;
  }
}

.p-top-strengths__header.c-section-title .c-section-title__ja::before {
  background-color: var(--color-main);
}

.p-top-strengths__message {
  margin-top: 4.5625rem;
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 2.625rem;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__message {
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.p-top-strengths__message-heading {
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__message-heading {
    font-size: max(1.5rem, 10px);
  }
}

.p-top-strengths__message-text {
  padding-top: 0.5625rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__message-text {
    padding-top: 0.25rem;
  }
}

.p-top-strengths__cards {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(4.5625rem, 5.0694444444vw);
  counter-reset: strengths-card;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__cards {
    margin-top: 3.75rem;
    grid-template-columns: 1fr;
    gap: 3.75rem;
  }
}

.p-top-strengths__card {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  counter-increment: strengths-card;
}

.p-top-strengths__card.p-top-strengths__card--1 {
  grid-area: 1/1/2/3;
  flex-direction: row;
  gap: min(4.25rem, 4.7222222222vw);
}
@media screen and (max-width: 767px) {
  .p-top-strengths__card.p-top-strengths__card--1 {
    grid-area: initial;
    flex-direction: column-reverse;
    gap: 1.375rem;
  }
}

.p-top-strengths__card.p-top-strengths__card--1 .p-top-strengths__card-content {
  padding-top: 3.125rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__card.p-top-strengths__card--1 .p-top-strengths__card-content {
    padding-top: 0;
  }
}

.p-top-strengths__card.p-top-strengths__card--1 .p-top-strengths__card-image {
  margin-right: calc(50% - 50vw);
  width: 100vw;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__card.p-top-strengths__card--1 .p-top-strengths__card-image {
    margin-right: initial;
    width: 100%;
  }
}

.p-top-strengths__card.p-top-strengths__card--1 .p-top-strengths__card-image img {
  aspect-ratio: 682/454;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  max-width: 42.625rem;
}

.p-top-strengths__card.p-top-strengths__card--2 {
  grid-area: 2/1/3/2;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__card.p-top-strengths__card--2 {
    grid-area: initial;
  }
}

.p-top-strengths__card.p-top-strengths__card--3 {
  grid-area: 2/2/3/3;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__card.p-top-strengths__card--3 {
    grid-area: initial;
  }
}

.p-top-strengths__card-image {
  width: 100%;
  height: auto;
}

.p-top-strengths__card.p-top-strengths__card--2 .p-top-strengths__card-image,
.p-top-strengths__card.p-top-strengths__card--3 .p-top-strengths__card-image {
  aspect-ratio: 503/335;
}

.p-top-strengths__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-top-strengths__card-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__card-content {
    gap: 0.625rem;
  }
}

.p-top-strengths__card-number {
  font-family: var(--en-font-family);
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1;
  color: var(--color-main);
}

.p-top-strengths__card-number::before {
  content: counter(strengths-card, decimal-leading-zero) " ";
}

.p-top-strengths__card-heading {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.8;
  color: currentColor;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__card-heading {
    font-size: max(1.125rem, 10px);
    white-space: normal;
  }
}

.p-top-strengths__card-text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.8;
  color: currentColor;
}

.p-top-strengths__card-button {
  margin-top: 1.375rem;
}
@media screen and (max-width: 767px) {
  .p-top-strengths__card-button {
    margin-top: 1.125rem;
  }
}

.js-fadein {
  opacity: 0;
  transform: translateY(2.5rem);
  transition: opacity 2s cubic-bezier(0.2, 0.6, 0.2, 1), transform 1s cubic-bezier(0.2, 0.6, 0.2, 1);
}

.js-fadein.is-scrolled {
  opacity: 1;
  transform: translateY(0);
}

.u-external-icon::after {
  content: "";
  display: inline-block;
  margin-left: 0.3125rem;
  width: 0.9375rem;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../images/recruit-common/icon_external-link.svg);
          mask-image: url(../images/recruit-common/icon_external-link.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
}

.u-no-image {
  background-color: var(--color-gray);
  padding: 2% 20%;
  -o-object-fit: contain;
     object-fit: contain;
}

.u-pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}

.u-sp-500 {
  display: none;
}
@media screen and (max-width: 500px) {
  .u-sp-500 {
    display: block;
  }
}

.u-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp {
    display: block;
  }
}
/*# sourceMappingURL=style.css.map */
