@charset "UTF-8";
html {
  font-size: 16px;
}

body {
  background-color: #191919;
  color: #333;
  font-family: "ヒラギノ角ゴ ProN", "ヒラギノ角ゴ Pro W3", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "HIragino Kaku Gothic Pro W6", "HIragino Kaku Gothic Pro", Meiryo, "メイリオ", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}

/* ドロワー展開中のスクロールロック（JSが body に付与） */
.noscroll {
  overflow: hidden;
}

/* Google reCAPTCHA v3 バッジ非表示（帰属表示をフォーム付近に明示することが条件） */
/* バッジは案内表示のみで、隠してもスコアリング保護には影響しない */
.grecaptcha-badge {
  visibility: hidden;
}

@font-face {
  font-display: swap;
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 400 900;
  src: url("../fonts/Cinzel-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Lexend";
  font-style: normal;
  font-weight: 100 900;
  src: url("../fonts/Lexend-VariableFont_wght.ttf") format("truetype");
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Set core body defaults */
body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Make images easier to work with */
img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-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;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
.l-inner {
  margin-inline: auto;
  max-width: 100%;
  padding-inline: 65px;
  width: 85.625rem;
}

.l-sec {
  padding: 3.75rem 0 5rem;
}
.l-sec01 {
  padding: 3.5rem 0 6.875rem;
}

.c-accordionToggle {
  background-color: #000;
  border-radius: 100%;
  flex-shrink: 0;
  height: 1.5rem;
  position: relative;
  width: 1.5rem;
}

.c-accordionToggle::before,
.c-accordionToggle::after {
  background-color: rgba(255, 255, 255, 0.9);
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
}

.c-accordionToggle::before {
  -webkit-transform: translate(-50%, -50%);
  height: 0.125rem;
  transform: translate(-50%, -50%);
  width: 0.875rem;
}

.c-accordionToggle::after {
  -webkit-transform: translate(-50%, -50%);
  height: 0.875rem;
  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
  width: 0.125rem;
}

details[open] .c-accordionToggle::after {
  -webkit-transform: translate(-50%, -50%) scaleY(0);
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.c-btn {
  align-items: center;
  background-color: #fff;
  border-radius: 0.25rem;
  color: #000;
  display: inline-flex;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  gap: 1.25rem;
  isolation: isolate;
  justify-content: space-between;
  line-height: 1.2;
  max-width: 100%;
  min-height: 3.75rem;
  overflow: hidden;
  padding-inline: 1.875rem 1.25rem;
  position: relative;
  transition: color 0.3s ease;
  width: 17.5rem;
  z-index: 0;
}

.c-btn::before {
  -webkit-transform: translateX(-100%);
  background-color: #000;
  content: "";
  inset: 0;
  position: absolute;
  transform: translateX(-100%);
  transition: -webkit-transform 0.18s ease-out;
  transition: transform 0.18s ease-out;
  transition: transform 0.18s ease-out, -webkit-transform 0.18s ease-out;
  z-index: 1;
}
@-webkit-keyframes cBtnArrowMove {
  0%, 59% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    z-index: 0;
  }
  60% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    z-index: 3;
  }
}
@keyframes cBtnArrowMove {
  0%, 59% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    z-index: 0;
  }
  60% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    z-index: 3;
  }
}
@-webkit-keyframes cBtnArrowMovePrev {
  0%, 59% {
    -webkit-transform: rotate(180deg) translateX(0);
    transform: rotate(180deg) translateX(0);
    z-index: 0;
  }
  60% {
    -webkit-transform: rotate(180deg) translateX(-50%);
    transform: rotate(180deg) translateX(-50%);
    z-index: 0;
  }
  100% {
    -webkit-transform: rotate(180deg) translateX(0);
    transform: rotate(180deg) translateX(0);
    z-index: 3;
  }
}
@keyframes cBtnArrowMovePrev {
  0%, 59% {
    -webkit-transform: rotate(180deg) translateX(0);
    transform: rotate(180deg) translateX(0);
    z-index: 0;
  }
  60% {
    -webkit-transform: rotate(180deg) translateX(-50%);
    transform: rotate(180deg) translateX(-50%);
    z-index: 0;
  }
  100% {
    -webkit-transform: rotate(180deg) translateX(0);
    transform: rotate(180deg) translateX(0);
    z-index: 3;
  }
}
.c-btn--black {
  background-color: #000;
  color: #fff;
}

.c-btn--red {
  background-color: #F0454E;
  color: #fff;
}

.c-btn--black::before,
.c-btn--red::before {
  content: none;
}
.c-btn--back {
  justify-content: flex-start;
}

.c-btn--back .c-btn__label {
  flex: 1;
  text-align: left;
}

.c-btn--back .c-btn__icon {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.c-btn__label {
  position: relative;
  white-space: nowrap;
  z-index: 2;
}

.c-btn__icon {
  -webkit-mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  background-color: currentColor;
  flex-shrink: 0;
  height: 0.838125rem;
  mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  position: relative;
  width: 1.025625rem;
  z-index: 0;
}

.c-cat {
  background-color: #003C8C;
  color: #fff;
  display: inline-block;
  font-size: 0.75rem;
  min-width: 6.25rem;
  padding: 0.25rem 0.625rem;
  text-align: center;
}

.c-column2 {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
}

.c-column2--gap60 {
  gap: 3.75rem;
}

.c-column3 {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr);
}

.c-column4 {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(4, 1fr);
}

.c-headline1__main {
  border-left: 2px solid #003C8C;
  font-size: 1.875rem;
  padding-left: 1.875rem;
}

.c-headline1__sub {
  font-size: 1rem;
  margin-top: 0.875rem;
}

.c-hoverRun {
  background-image: linear-gradient(90deg, #000, #000);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 1px;
  color: #000;
  display: inline;
  text-decoration: none;
  transition: background-size 0.5s;
}
.c-hoverUnderline {
  display: inline-block;
  position: relative;
}

.c-hoverUnderline::after {
  background: #000;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.5s ease-in-out;
  width: 100%;
}
.c-hoverUnderline {
  display: inline-block;
  position: relative;
}

.c-hoverUnderline::after {
  background: #000;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.3s ease-in-out;
  width: 100%;
}
.c-imgHover {
  position: relative;
}

.c-imgHover img {
  transition: 0.5s opacity;
  width: 2.25rem;
}

.c-imgHover img:nth-of-type(2) {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 0.5s opacity;
}
.c-imgZoom {
  overflow: hidden;
  position: relative;
}
.c-imgZoom img {
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  transition: transform 0.8s, -webkit-transform 0.8s;
}
.c-link {
  line-height: 1;
  position: relative;
}

.c-link::after {
  background: url(../img/common/link.svg) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: -0.9375rem;
  top: 0.3em;
  width: 0.625rem;
}

.c-marker {
  background: linear-gradient(transparent 70%, #FCF65F 0%);
  display: inline;
}

.c-recaptchaNote {
  color: #B3B3B3;
  font-size: 0.75rem;
  line-height: 1.6;
  margin-top: 3rem;
  text-align: center;
}

.c-recaptchaNote a {
  color: inherit;
  text-decoration: underline;
}

.c-sectionTitle {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
  translate: 0 0.2rem;
}

.c-sectionTitle__en {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 3.125rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 0.8;
}

.c-sectionTitle__ja {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.c-tag {
  border: 1px solid #D9D9D9;
  color: #000;
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.375rem 0.5rem;
}

.c-underBar {
  display: inline-block;
  position: relative;
}
.c-underBar::before {
  -webkit-transform: translateX(-50%);
  background-color: #333;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  opacity: 1;
  position: absolute;
  transform: translateX(-50%);
  transition: 0.5s;
  width: 100%;
}
.p-about {
  padding-block: 0 8.75rem;
  position: relative;
}

.p-about__inner {
  padding-inline: 40px;
}

.p-about__text {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 2.2727;
}

.p-about__btn {
  margin-top: 4.375rem;
}

.p-backBtn {
  background-color: #2E2E2E;
  display: flex;
  justify-content: center;
  padding-block: 0 8.75rem;
}

.p-breadcrumb {
  align-items: center;
  background-color: #000;
  display: flex;
  height: 2.375rem;
  overflow: hidden;
}

.p-breadcrumb__list {
  align-items: center;
  display: flex;
  gap: 1.25rem;
}

.p-breadcrumb__item {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  line-height: 1;
  white-space: nowrap;
}

.p-breadcrumb__link {
  color: #fff;
}

.p-breadcrumb__sep {
  background: url("../img/about/about-breadcrumb-arrow.svg") no-repeat center/contain;
  flex-shrink: 0;
  height: 0.8125rem;
  width: 0.4375rem;
}

.p-company {
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 35.0625rem;
  overflow: hidden;
  padding-block: 8.75rem;
  position: relative;
}

.p-company__bg {
  inset: 0;
  position: absolute;
  z-index: 0;
}

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

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

.p-company__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  margin-top: 2.25rem;
  width: 100%;
}

.p-company__body {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 2.25rem;
}

.p-company__btn {
  margin-top: 2.25rem;
}

.p-companyAccess {
  background-color: #2E2E2E;
  padding-top: 8.75rem;
}

.p-companyAccess__inner {
  align-items: flex-start;
  display: flex;
  gap: 6.25rem;
}

.p-companyAccess__head {
  flex-shrink: 0;
  width: 13.125rem;
}

.p-companyAccess__title {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-companyAccess__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.5;
}

.p-companyAccess__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-companyAccess__list {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2.25rem;
  min-width: 0;
}

.p-companyAccess__item {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-companyAccess__item:not(:first-child) {
  border-top: 0.0625rem solid rgba(255, 255, 255, 0.3);
  padding-top: 2.25rem;
}

.p-companyAccess__name {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6363636364;
}

.p-companyAccess__map {
  height: 23.125rem;
  width: 100%;
}

.p-companyAccess__map iframe {
  -webkit-filter: grayscale(100%) contrast(110%) brightness(98%);
  border: 0;
  display: block;
  filter: grayscale(100%) contrast(110%) brightness(98%);
  height: 100%;
  width: 100%;
}

.p-companyAccess__addr {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-companyHistory {
  background-color: #2E2E2E;
  padding-block: 8.75rem;
}

.p-companyHistory__inner {
  display: flex;
  flex-direction: column;
  gap: 4.375rem;
}

.p-companyHistory__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-companyHistory__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-companyHistory__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-companyHistory__cols {
  align-items: flex-start;
  display: flex;
  gap: 4.375rem;
}

.p-companyHistory__col {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.p-companyHistory__colHead {
  align-items: center;
  display: flex;
  gap: 0.625rem;
  padding-bottom: 1.25rem;
}

.p-companyHistory__colTitle {
  color: #fff;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 0.8571428571;
  white-space: nowrap;
}

.p-companyHistory__colLine {
  background-color: rgba(255, 255, 255, 0.3);
  flex: 1;
  height: 0.0625rem;
}

.p-companyHistory__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-companyHistory__row {
  align-items: flex-start;
  display: flex;
  gap: 0.3125rem;
}

.p-companyHistory__year {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 0.625rem;
}

.p-companyHistory__dot {
  background-color: #fff;
  border-radius: 100%;
  flex-shrink: 0;
  height: 0.625rem;
  width: 0.625rem;
}

.p-companyHistory__yearLabel {
  color: #fff;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  width: 5rem;
}

.p-companyHistory__desc {
  color: #fff;
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  min-width: 0;
}

.p-companyInfo {
  background-color: #2E2E2E;
  padding-top: 8.75rem;
}

.p-companyInfo__inner {
  align-items: flex-start;
  display: flex;
  gap: 6.25rem;
}

.p-companyInfo__head {
  flex-shrink: 0;
  width: 13.125rem;
}

.p-companyInfo__title {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-companyInfo__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.5;
}

.p-companyInfo__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-companyInfo__table {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.p-companyInfo__row {
  align-items: flex-start;
  display: flex;
  gap: 1.25rem;
}

.p-companyInfo__row:not(:first-child) {
  border-top: 0.0625rem solid rgba(255, 255, 255, 0.3);
  padding-top: 1.25rem;
}

.p-companyInfo__label {
  color: #fff;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  width: 7.5rem;
}

.p-companyInfo__value {
  color: #fff;
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  min-width: 0;
}

.p-companyServices {
  background-color: #2E2E2E;
  padding-top: 8.75rem;
}

.p-companyServices__inner {
  display: flex;
  flex-direction: column;
  gap: 4.375rem;
}

.p-companyServices__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-companyServices__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-companyServices__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-companyServices__list {
  display: grid;
  gap: 4.375rem;
  grid-template-columns: repeat(3, 1fr);
}

.p-companyServices__card {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-companyServices__thumb {
  aspect-ratio: 240/140;
}

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

.p-companyServices__body {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-companyServices__cardTitle {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.p-companyServices__text {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
}

.p-contact {
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  overflow: hidden;
  padding-block: 8.75rem;
  position: relative;
}

.p-contact__bg {
  inset: 0;
  isolation: isolate;
  position: absolute;
  z-index: 0;
}

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

.p-contact__bg::after {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.72) 9.845%, rgba(0, 0, 0, 0.12) 94.931%);
  content: "";
  inset: 0;
  position: absolute;
}

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

.p-contact__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  margin-top: 2.25rem;
  width: 100%;
}

.p-contact__lead {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 2.25rem;
}

.p-contact__cards {
  display: flex;
  gap: 2.25rem;
  position: relative;
  z-index: 2;
}

.p-contact__card {
  align-items: center;
  background-color: #fff;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2.25rem;
  min-width: 0;
  padding: 2.25rem;
}

.p-contact__cardBody {
  align-items: center;
  color: #000;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  text-align: center;
}

.p-contact__cardTitle {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1;
}

.p-contact__cardText {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5625;
}

.c-btn.p-contact__cardBtn {
  width: 100%;
}

.p-pageHead.p-pageHead--contact {
  background-color: #1A1A1A;
}

.p-contactForm {
  background-color: #2E2E2E;
  padding-block: 4.375rem 8.75rem;
}

.p-contactForm [hidden] {
  display: none;
}

.p-contactForm__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-contactForm__heading {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
  white-space: nowrap;
}

.p-contactForm__line {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-contactForm__rows {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 2.25rem;
}

.p-contactForm__row {
  align-items: center;
  background-color: #fff;
  border-radius: 0.25rem;
  display: flex;
  gap: 2.25rem;
  padding-block: 1.2rem;
  padding-inline: 2.25rem;
}

.p-contactForm__row--textarea {
  align-items: stretch;
  padding-block: 2.25rem;
}

.p-contactForm__row.is-invalid {
  outline: 0.125rem solid #F0454E;
  outline-offset: -0.0625rem;
}

.p-contactForm__label {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 0.625rem;
}

.p-contactForm__labelText {
  color: #000;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
  width: 8.75rem;
}

.p-contactForm__req {
  align-items: center;
  background-color: #F0454E;
  border-radius: 0.25rem;
  color: #fff;
  display: flex;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  height: 1.25rem;
  justify-content: center;
  line-height: 1;
  width: 2.5rem;
}

.p-contactForm__divider {
  background-color: #D9D9D9;
  flex-shrink: 0;
  height: 1.875rem;
  width: 0.0625rem;
}

.p-contactForm__row--textarea .p-contactForm__divider {
  align-self: stretch;
  height: auto;
}

.p-contactForm__field {
  flex: 1;
  min-width: 0;
}

.p-contactForm__field .wpcf7-form-control-wrap {
  display: block;
}

.p-contactForm__field input[type=text],
.p-contactForm__field input[type=email],
.p-contactForm__field input[type=tel],
.p-contactForm__field textarea {
  background-color: transparent;
  border: none;
  color: #000;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
  width: 100%;
}

.p-contactForm__field input::-webkit-input-placeholder, .p-contactForm__field textarea::-webkit-input-placeholder {
  color: #666666;
  opacity: 1;
}

.p-contactForm__field input:-ms-input-placeholder, .p-contactForm__field textarea:-ms-input-placeholder {
  color: #666666;
  opacity: 1;
}

.p-contactForm__field input::-ms-input-placeholder, .p-contactForm__field textarea::-ms-input-placeholder {
  color: #666666;
  opacity: 1;
}

.p-contactForm__field input::placeholder,
.p-contactForm__field textarea::placeholder {
  color: #666666;
  opacity: 1;
}

.p-contactForm__field textarea {
  display: block;
  height: 12.5rem;
  resize: vertical;
}

.p-contactForm__field .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
}

.p-contactForm__field .wpcf7-list-item {
  margin: 0;
}

.p-contactForm__field .wpcf7-list-item label {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-contactForm__field .wpcf7-list-item-label {
  color: #000;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-contactForm__field input[type=radio] {
  background-color: #D9D9D9;
  border-radius: 100%;
  display: block;
  flex-shrink: 0;
  height: 1.25rem;
  width: 1.25rem;
}

.p-contactForm__field input[type=radio]:checked {
  background-color: #2E2E2E;
  box-shadow: inset 0 0 0 0.375rem #D9D9D9;
}

.p-contactForm__agree {
  align-items: center;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  padding-block: 1.0625rem;
  padding-inline: 2.25rem;
}

.p-contactForm__agree .wpcf7-form-control-wrap,
.p-contactForm__agree .wpcf7-acceptance,
.p-contactForm__agree .wpcf7-list-item,
.p-contactForm__agree .wpcf7-list-item label {
  align-items: center;
  display: flex;
  margin: 0;
}

.p-contactForm__agree .wpcf7-list-item-label {
  display: none;
}

.p-contactForm__agree input[type=checkbox] {
  background-color: #D9D9D9;
  display: block;
  flex-shrink: 0;
  height: 1.125rem;
  width: 1.125rem;
}

.p-contactForm__agree input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 6.2l3 3 6-7' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.75rem 0.75rem;
}

.p-contactForm__agreeText {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-contactForm__agreeLink {
  color: #fff;
  text-decoration: underline;
}

.p-contactForm__errorMsg {
  color: #F0454E;
  display: block;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 0.375rem;
}

.p-contactForm__actions {
  display: flex;
  justify-content: center;
  margin-top: 3.5rem;
}

.p-contactForm__actions--confirm {
  gap: 4.375rem;
}

.p-contactForm__actions--center {
  margin-top: 3.5rem;
}

.p-contactForm__value {
  color: #000;
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
  min-width: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.p-contactForm__completeHead {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-contactForm__completeTitle {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
}

.p-contactForm__completeLine {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-contactForm__completeText {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  margin-top: 1.25rem;
}

.p-contactForm .wpcf7-response-output {
  display: none;
}

.wpcf7-form:not(.invalid):not(.unaccepted) .wpcf7-not-valid-tip {
  display: none;
}

.wpcf7-form:not(.invalid):not(.unaccepted) .wpcf7-not-valid {
  border-color: transparent;
}

.p-csr {
  background-color: #2E2E2E;
  padding-block: 8.75rem;
}

.p-csr__inner {
  display: flex;
  flex-direction: column;
  gap: 8.75rem;
}

.p-csrCert {
  display: flex;
  flex-direction: column;
  gap: 4.375rem;
  margin-top: 1.3125rem;
}

.p-csrCert__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-csrCert__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-csrCert__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-csrCert__list {
  -webkit-column-gap: 2.25rem;
  -moz-column-gap: 2.25rem;
  column-gap: 2.25rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
  row-gap: 4.375rem;
}

.p-csrCert__item {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-csrCert__logo {
  background-color: #fff;
  width: 100%;
}

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

.p-csrCert__caption {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  width: 100%;
}

.p-csrSec {
  display: flex;
  flex-direction: column;
  gap: 4.375rem;
}

.p-csrSec__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-csrSec__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-csrSec__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-csrSec__cards {
  align-items: flex-start;
  display: flex;
  gap: 4.375rem;
}

.p-csrSec__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.p-csrSec__thumb {
  aspect-ratio: 240/140;
  overflow: hidden;
}

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

.p-csrSec__cardBody {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-csrSec__cardTitle {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-csrSec__cardText {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
}

.p-csrSec__other {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}

.p-csrSec__otherTitle {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 0.8571428571;
}

.p-csrSec__lists {
  align-items: flex-start;
  display: flex;
  gap: 4.375rem;
}

.p-csrSec__list {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.p-csrSec__listItem {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-csrSec__listItem:not(:first-child) {
  -webkit-border-before: 1px solid rgba(255, 255, 255, 0.3);
  -webkit-padding-before: 1.25rem;
  border-block-start: 1px solid rgba(255, 255, 255, 0.3);
  padding-block-start: 1.25rem;
}
.p-cycle {
  background-color: #2E2E2E;
  padding-bottom: 8.75rem;
}

.p-cycle__inner {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.p-cycle__head {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.p-cycle__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-cycle__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-cycle__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-cycle__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-cycle__diagramImg {
  display: block;
  height: auto;
  max-width: 77.5rem;
  width: 100%;
}

.p-detailFv {
  background-color: #2E2E2E;
  min-height: 36.25rem;
  overflow: hidden;
  position: relative;
}

.p-detailFv__inner {
  background-color: #1A1A1A;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  padding-block: 8.75rem 4.375rem;
  padding-inline: max(65px, 50% - 38.75rem);
  position: relative;
}

.p-detailFv__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-detailFv__label {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-detailFv__labelEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-detailFv__labelJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-detailFv__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  width: 100%;
}

.p-detailFv__img {
  -o-object-fit: cover;
  height: 27.5rem;
  object-fit: cover;
  position: absolute;
  right: 0;
  top: 8.75rem;
  width: min(46.875rem, 100% - 65px - 35rem);
}

.p-detailFv__text {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-detailFv__title {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.5;
  max-width: 32.5rem;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.p-detailFv__meta {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-detailFv__badge {
  align-items: center;
  background-color: #666666;
  border-radius: 0.25rem;
  color: #fff;
  display: inline-flex;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.5rem;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
  width: 6.25rem;
}

.p-detailFv__metaText {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 0.875;
  white-space: nowrap;
}

.p-detailNav {
  background-color: #2E2E2E;
  padding-block: 0 8.75rem;
}

.p-detailNav__inner {
  align-items: center;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
}

.p-detailNav__btn {
  align-items: center;
  background-color: #fff;
  border-radius: 0.25rem;
  color: #000;
  display: inline-flex;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  isolation: isolate;
  line-height: 2.375;
  min-height: 3.75rem;
  overflow: hidden;
  padding-inline: 1.875rem 1.25rem;
  position: relative;
  transition: color 0.3s ease;
  width: 17.5rem;
  z-index: 0;
}

.p-detailNav__btn::before {
  -webkit-transform: translateX(-100%);
  background-color: #000;
  content: "";
  inset: 0;
  position: absolute;
  transform: translateX(-100%);
  transition: -webkit-transform 0.18s ease-out;
  transition: transform 0.18s ease-out;
  transition: transform 0.18s ease-out, -webkit-transform 0.18s ease-out;
  z-index: 1;
}

.p-detailNav__btn--center {
  justify-content: center;
}

.p-detailNav__btn--prev {
  gap: 1.25rem;
}

.p-detailNav__btn--next {
  gap: 1.25rem;
}

.p-detailNav__btn--prev .p-detailNav__label {
  flex: 1;
  text-align: left;
}

.p-detailNav__btn--next .p-detailNav__label {
  flex: 1;
  text-align: right;
}

.p-detailNav__label {
  position: relative;
  white-space: nowrap;
  z-index: 2;
}

.p-detailNav__icon {
  -webkit-mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  background-color: currentColor;
  flex-shrink: 0;
  height: 0.838125rem;
  mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  position: relative;
  width: 1.025625rem;
  z-index: 0;
}

.p-detailNav__btn--prev .p-detailNav__icon {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-detailNav__btn.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}
.p-drawer {
  -ms-scroll-chaining: none;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  inset: 0;
  justify-content: flex-end;
  opacity: 0;
  overscroll-behavior: none;
  position: fixed;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  visibility: hidden;
  z-index: 50;
}

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

.p-drawer__panel {
  -webkit-transform: translateX(100%);
  background-color: #000;
  display: flex;
  flex-direction: column;
  gap: 4.375rem;
  height: 100%;
  max-width: 100%;
  overflow-y: auto;
  padding-block: 7.25rem 4.375rem;
  padding-inline: 4.375rem;
  transform: translateX(100%);
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  width: 37.5rem;
}

.p-drawer.is-open .p-drawer__panel {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.p-drawer__navList {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.p-drawer__navLink {
  align-items: flex-end;
  display: flex;
  gap: 0.9375rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-drawer__navEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 0.8333333333;
}

.p-drawer__navJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.0714285714;
}

.p-drawer__navLink--single .p-drawer__navEn {
  font-size: 1rem;
  line-height: 1.25;
}

.p-drawer__company {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-drawer__logo {
  align-items: flex-end;
  display: flex;
  gap: 0.9375rem;
}

.p-drawer__logoMark {
  height: auto;
  width: 7.5rem;
}

.p-drawer__logoText {
  height: auto;
  width: 8.125rem;
}

.p-drawer__address {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
  white-space: nowrap;
}

.p-drawer__sns {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  padding-bottom: 0.3125rem;
}

.p-drawer__sns img {
  height: 1.5rem;
  width: 1.5rem;
}

.p-entry {
  background-color: #000;
  overflow: hidden;
  padding-block: 8.75rem;
  position: relative;
}

.p-entry__bg {
  inset: 0;
  position: absolute;
  z-index: 0;
}

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

.p-entry__inner {
  display: flex;
  flex-direction: column;
  gap: 4.375rem;
  position: relative;
  z-index: 1;
}

.p-entry__head {
  align-items: center;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
}

.p-entry__title {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 1.25rem;
}

.p-entry__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-entry__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.125;
}

.p-entry__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: right;
}

.p-entry__btns {
  display: flex;
  gap: 2.25rem;
}

.p-entry__tel {
  align-items: center;
  background-color: #F7F7F7;
  border-radius: 0.25rem;
  color: #000;
  display: flex;
  flex: 1;
  gap: 1rem;
  min-height: 3.75rem;
  padding-inline: 1.875rem 1.25rem;
}

.p-entry__telIcon {
  flex-shrink: 0;
  height: 1.875rem;
  width: 1.875rem;
}

.p-entry__telNum {
  flex-shrink: 0;
  font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2666666667;
  white-space: nowrap;
}

.p-entry__telSub {
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
}

.p-entry__form {
  align-items: center;
  background-color: #F0454E;
  border-radius: 0.25rem;
  color: #fff;
  display: flex;
  flex: 1;
  gap: 1.25rem;
  justify-content: space-between;
  min-height: 3.75rem;
  padding-inline: 1.875rem 1.25rem;
  transition: opacity 0.3s ease;
}
.p-entry__formLabel {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
}

.p-entry__formIcon {
  -webkit-mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  background-color: currentColor;
  flex-shrink: 0;
  height: 0.838125rem;
  mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  width: 1.025625rem;
}

.p-pageHead.p-pageHead--entry {
  background-color: #1A1A1A;
}

.p-entryForm {
  background-color: #2E2E2E;
  padding-block: 4.375rem 8.75rem;
}

.p-entryForm [hidden] {
  display: none;
}

.p-entryForm__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-entryForm__heading {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
  white-space: nowrap;
}

.p-entryForm__line {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-entryForm__rows {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 2.25rem;
}

.p-entryForm__row {
  align-items: center;
  background-color: #fff;
  border-radius: 0.25rem;
  display: flex;
  gap: 2.25rem;
  padding-block: 1.20625rem;
  padding-inline: 2.25rem;
}

.p-entryForm__row--textarea {
  align-items: stretch;
  padding-block: 2.25rem;
}

.p-entryForm__row.is-invalid {
  outline: 0.125rem solid #F0454E;
  outline-offset: -0.0625rem;
}

.p-entryForm__label {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 0.625rem;
  justify-content: flex-end;
  width: 11.875rem;
}

.p-entryForm__labelText {
  color: #000;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

.p-entryForm__req {
  align-items: center;
  background-color: #F0454E;
  border-radius: 0.25rem;
  color: #fff;
  display: flex;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  height: 1.25rem;
  justify-content: center;
  line-height: 1;
  width: 2.5rem;
}

.p-entryForm__divider {
  background-color: #D9D9D9;
  flex-shrink: 0;
  height: 1.875rem;
  width: 0.0625rem;
}

.p-entryForm__row--textarea .p-entryForm__divider {
  align-self: stretch;
  height: auto;
}

.p-entryForm__field {
  flex: 1;
  min-width: 0;
}

.p-entryForm__field .wpcf7-form-control-wrap {
  display: block;
}

.p-entryForm__field input[type=text],
.p-entryForm__field input[type=email],
.p-entryForm__field input[type=tel],
.p-entryForm__field textarea {
  background-color: transparent;
  border: none;
  color: #000;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
  width: 100%;
}

.p-entryForm__field input::-webkit-input-placeholder, .p-entryForm__field textarea::-webkit-input-placeholder {
  color: #666666;
  opacity: 0.5;
}

.p-entryForm__field input:-ms-input-placeholder, .p-entryForm__field textarea:-ms-input-placeholder {
  color: #666666;
  opacity: 0.5;
}

.p-entryForm__field input::-ms-input-placeholder, .p-entryForm__field textarea::-ms-input-placeholder {
  color: #666666;
  opacity: 0.5;
}

.p-entryForm__field input::placeholder,
.p-entryForm__field textarea::placeholder {
  color: #666666;
  opacity: 0.5;
}

.p-entryForm__field textarea {
  display: block;
  height: 12.5rem;
  resize: vertical;
}

.p-entryForm__field .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
}

.p-entryForm__field .wpcf7-list-item {
  margin: 0;
}

.p-entryForm__field .wpcf7-list-item label {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-entryForm__field .wpcf7-list-item-label {
  color: #000;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-entryForm__field input[type=radio] {
  background-color: #D9D9D9;
  border-radius: 100%;
  display: block;
  flex-shrink: 0;
  height: 1.25rem;
  width: 1.25rem;
}

.p-entryForm__field input[type=radio]:checked {
  background-color: #2E2E2E;
  box-shadow: inset 0 0 0 0.375rem #D9D9D9;
}

.p-entryForm__date {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-entryForm__date .wpcf7-form-control-wrap {
  display: block;
}

.p-entryForm__date select {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  color: #000;
  cursor: pointer;
  display: block;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-entryForm__date select:invalid,
.p-entryForm__date select option[value=""] {
  color: #666666;
}

.p-entryForm__dateUnit {
  color: #000;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-entryForm__postal {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-entryForm__postalMark {
  color: #000;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-entryForm__postal .wpcf7-form-control-wrap {
  flex-shrink: 0;
}

.p-entryForm__postal input[type=text] {
  width: 7.5rem;
}

.p-entryForm__postalBtn {
  align-items: center;
  background-color: #2E2E2E;
  border: none;
  border-radius: 0.25rem;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  justify-content: center;
  line-height: 1;
  padding-block: 0.5rem;
  padding-inline: 0.625rem;
  transition: opacity 0.3s ease;
}
.p-entryForm__agree {
  align-items: center;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  padding-block: 1.0625rem;
  padding-inline: 2.25rem;
}

.p-entryForm__agree .wpcf7-form-control-wrap,
.p-entryForm__agree .wpcf7-acceptance,
.p-entryForm__agree .wpcf7-list-item,
.p-entryForm__agree .wpcf7-list-item label {
  align-items: center;
  display: flex;
  margin: 0;
}

.p-entryForm__agree .wpcf7-list-item-label {
  display: none;
}

.p-entryForm__agree input[type=checkbox] {
  background-color: #D9D9D9;
  display: block;
  flex-shrink: 0;
  height: 1.125rem;
  width: 1.125rem;
}

.p-entryForm__agree input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 6.2l3 3 6-7' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.75rem 0.75rem;
}

.p-entryForm__agreeText {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-entryForm__agreeLink {
  color: #fff;
  text-decoration: underline;
}

.p-entryForm__errorMsg {
  color: #F0454E;
  display: block;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 0.375rem;
}

.p-entryForm__actions {
  display: flex;
  justify-content: center;
  margin-top: 3.5rem;
}

.p-entryForm__actions--confirm {
  gap: 4.375rem;
}

.p-entryForm__actions--center {
  margin-top: 3.5rem;
}

.p-entryForm__value {
  color: #000;
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
  min-width: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.p-entryForm__completeHead {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-entryForm__completeTitle {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
}

.p-entryForm__completeLine {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-entryForm__completeText {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  margin-top: 1.25rem;
}

.p-entryForm .wpcf7-response-output {
  display: none;
}

.p-footer {
  background-color: #1A1A1A;
  padding-block: 8.75rem;
  position: relative;
}

.p-footer__inner {
  display: flex;
  gap: 4.375rem;
}

.p-footer__company {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2.25rem;
}

.p-footer__logo {
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
}

.p-footer__logoMark {
  height: auto;
  width: 11.25rem;
}

.p-footer__logoText {
  height: auto;
  width: 11.1875rem;
}

.p-footer__info {
  align-items: flex-end;
  display: flex;
  gap: 2.25rem;
}

.p-footer__address {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
  white-space: nowrap;
}

.p-footer__sns {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  padding-bottom: 0.3125rem;
}

.p-footer__sns img {
  height: 1.5rem;
  width: 1.5rem;
}

.p-footer__copyright {
  -webkit-transform: translateY(-50%);
  color: #666666;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  left: max(65px, 50% - 38.75rem);
  line-height: 2.8;
  position: absolute;
  top: 24.625rem;
  transform: translateY(-50%);
}

.p-footer__navWrap {
  display: contents;
}

.p-footer__nav {
  -webkit-column-gap: 4.375rem;
  -moz-column-gap: 4.375rem;
  column-gap: 4.375rem;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: auto auto;
  grid-template-rows: repeat(4, auto);
  row-gap: 1.6rem;
}

.p-footer__navLink {
  align-items: baseline;
  display: flex;
  gap: 0.9375rem;
}

.p-footer__navEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-footer__navJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
}

.p-footer__navLink--single .p-footer__navEn {
  font-size: 1rem;
}

.p-fixedBg {
  inset: 0;
  overflow: hidden;
  position: fixed;
  z-index: -1;
}

.p-fixedBg__media {
  -o-object-fit: cover;
  background-color: #000;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-fixedBg::after {
  background-color: rgba(0, 0, 0, 0.2);
  content: "";
  inset: 0;
  position: absolute;
}

.p-fixedBg__frame {
  --fv-frame: 4.375rem;
  border: var(--fv-frame) solid #1A1A1A;
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.p-fv {
  height: max(100vh, 52.5rem);
  position: relative;
  z-index: 1;
}

.p-fv__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-end;
  padding-block: 8.75rem;
  position: relative;
  z-index: 2;
}

.p-fv__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 4.375rem;
  padding-inline: 2.5rem;
}

.p-fv__catch img {
  height: auto;
  max-width: 100%;
  width: 58.25rem;
}

.p-fv__lead img {
  height: auto;
  max-width: 100%;
  width: 19.1875rem;
}

.p-header {
  background-color: rgba(26, 26, 26, 0.8);
  height: 4.375rem;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 20;
}

.p-header__inner {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: space-between;
  margin-inline: auto;
  max-width: 85.625rem;
  padding-inline: 35px;
}

.p-header__logo {
  align-items: flex-end;
  display: flex;
  gap: 1rem;
}

.p-header__logoMark {
  height: auto;
  width: 6.75rem;
}

.p-header__logoText {
  height: auto;
  width: 11.1875rem;
}

.c-hamburger {
  background-color: transparent;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  height: 1.4375rem;
  position: relative;
  width: 1.875rem;
}

.c-hamburger::before {
  content: "";
  inset: -0.6875rem;
  position: absolute;
}

.c-hamburger span {
  background-color: #fff;
  height: 0.0625rem;
  left: 0;
  position: absolute;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  width: 100%;
}

.c-hamburger span:nth-child(1) {
  top: 0;
}

.c-hamburger span:nth-child(2) {
  -webkit-transform: translateY(-50%);
  top: 50%;
  transform: translateY(-50%);
}

.c-hamburger span:nth-child(3) {
  bottom: 0;
}

.c-hamburger.is-open span:nth-child(1) {
  -webkit-transform: translateY(-50%) rotate(45deg);
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.c-hamburger.is-open span:nth-child(2) {
  opacity: 0;
}

.c-hamburger.is-open span:nth-child(3) {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  bottom: auto;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.p-header:has(.c-hamburger.is-open) {
  background-color: transparent;
  z-index: 60;
}

.p-header:has(.c-hamburger.is-open) .p-header__logo {
  opacity: 0;
  pointer-events: none;
}

.p-hoge {
  color: blue;
  font-size: 6.25rem;
}

.p-hoge2 {
  color: pink;
  font-size: 1.875rem;
}

.p-interviewArchive {
  background-color: #2E2E2E;
  padding-block: 6.25rem;
}

.p-interviewArchive__list {
  display: grid;
  gap: 2.25rem;
  grid-template-columns: repeat(4, 1fr);
}

.p-interviewArchive__card {
  color: #fff;
  display: block;
  position: relative;
}

.p-interviewArchive__thumb {
  aspect-ratio: 283/415.07;
  overflow: hidden;
  width: 100%;
}

.p-interviewArchive__thumb img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  width: 100%;
}
.p-interviewArchive__body {
  background-color: #2E2E2E;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  left: 0;
  padding-inline: 1.25rem;
  padding-top: 1.25rem;
  position: absolute;
  width: calc(100% - 1.875rem);
}

.p-interviewArchive__catch {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
}

.p-interviewArchive__meta {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-interviewArchive__badge {
  align-items: center;
  border-radius: 0.25rem;
  display: inline-flex;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.5rem;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
  width: 6.25rem;
}

.p-interviewArchive__badge--koji {
  background-color: #FFD500;
  color: #000;
}

.p-interviewArchive__badge--sekkei {
  background-color: #007BD0;
  color: #fff;
}

.p-interviewArchive__badge--eigyo {
  background-color: #F0454E;
  color: #fff;
}

.p-interviewArchive__name {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.1666666667;
  white-space: nowrap;
}

.p-interviewEpisode {
  align-items: flex-start;
  background-color: #2E2E2E;
  display: flex;
  gap: 4.375rem;
  padding-block: 6.25rem;
  padding-inline: max(65px, 50% - 38.75rem);
}

.p-interviewEpisode:nth-of-type(n+3) {
  padding-top: 0;
}

.p-interviewEpisode--reverse {
  flex-direction: row-reverse;
}

.p-interviewEpisode__figure {
  border-radius: 0.25rem;
  flex-shrink: 0;
  height: 17.5rem;
  overflow: hidden;
  width: 26.25rem;
}

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

.p-interviewEpisode__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.p-interviewEpisode__head {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-interviewEpisode__num {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.875;
}

.p-interviewEpisode__heading {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
}

.p-interviewEpisode__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  width: 100%;
}

.p-interviewEpisode__text {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-media {
  display: flex;
  font-size: 1.25rem;
  justify-content: space-between;
  max-width: 100%;
}

.foo {
  font-size: 6.25rem;
}

.p-media__head {
  font-size: 1.875rem;
}

.p-media__txt {
  font-size: 1.25rem;
}

.p-media__img {
  width: 40%;
}

.p-media__body {
  width: 50%;
}

.p-message {
  background-color: #2E2E2E;
  padding-block: 8.75rem;
}

.p-message__inner {
  -webkit-column-gap: 4.375rem;
  -moz-column-gap: 4.375rem;
  align-items: start;
  column-gap: 4.375rem;
  display: grid;
  grid-template-areas: "photo title" "photo body";
  grid-template-columns: 420fr 750fr;
  row-gap: 2.25rem;
}

.p-message__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
  grid-area: title;
}

.p-message__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-message__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-message__photo {
  grid-area: photo;
  height: 100%;
}

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

.p-message__body {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  grid-area: body;
}

.p-message__text p {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-message__sign {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: right;
}

.p-modal {
  background: rgba(255, 255, 255, 0.7);
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.p-modal__block {
  -webkit-transform: translate(-50%, -50%);
  background-color: #FEAEBB;
  border-radius: 0.625rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 27.5rem;
}

.p-modal__wrap {
  padding: 3.75rem 0 2.5rem;
  position: relative;
}

.p-movie {
  height: 43.75rem;
  position: relative;
  z-index: 1;
}

.p-news {
  background-color: #2E2E2E;
  padding-block: 8.75rem;
}

.p-news__inner {
  display: flex;
  gap: 4.375rem;
}

.p-news__side {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 4.375rem;
  width: 16.5625rem;
}

.p-news__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  margin-top: 2.25rem;
  width: 100%;
}

.p-news__filter {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-news__filterLink {
  align-items: center;
  background-color: #fff;
  border-radius: 0.25rem;
  color: #2E2E2E;
  display: flex;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  height: 2.5rem;
  justify-content: space-between;
  padding-inline: 1.25rem 0.75rem;
}

.p-news__filterLink.is-active {
  background-color: #666666;
  color: #fff;
}

.p-news__filterLink--hasArrow::after {
  -webkit-transform: rotate(45deg);
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
  flex-shrink: 0;
  height: 0.375rem;
  transform: rotate(45deg);
  width: 0.375rem;
}

.p-news__main {
  align-items: flex-end;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2.25rem;
  min-width: 0;
}

.p-news__list {
  width: 100%;
}

.p-news__list[hidden] {
  display: none;
}

.p-news__item + .p-news__item {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  margin-top: 2.25rem;
  padding-top: 2.25rem;
}

.p-news__link {
  align-items: center;
  display: flex;
  gap: 1.25rem;
  padding-right: 1.25rem;
}

.p-news__thumb {
  background-color: #1A1A1A;
  flex-shrink: 0;
  height: 5rem;
  overflow: hidden;
  width: 7.5rem;
}

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

.p-news__body {
  flex: 1;
  min-width: 0;
}

.p-news__meta {
  align-items: center;
  display: flex;
  gap: 0.625rem;
  translate: 0 0.3rem;
}

.p-news__tag {
  align-items: center;
  border-radius: 0.25rem;
  display: inline-flex;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.5rem;
  justify-content: center;
  width: 6.25rem;
}

.p-news__tag--blue {
  background-color: #007BD0;
  color: #fff;
}

.p-news__tag--red {
  background-color: #F0454E;
  color: #fff;
}

.p-news__tag--yellow {
  background-color: #FFD500;
  color: #000;
}

.p-news__date {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
}

.p-news__title {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 1.25rem;
}

.p-news__empty {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
}

.p-news__arrow {
  -webkit-mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  background-color: #fff;
  flex-shrink: 0;
  height: 0.838125rem;
  mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  width: 1.025625rem;
}

.p-newsArchive {
  background-color: #2E2E2E;
  padding-block: 4.375rem 8.75rem;
  padding-inline: max(65px, 50% - 38.75rem);
}

.p-newsArchive__inner {
  align-items: flex-start;
  display: flex;
  gap: 4.375rem;
}

.p-newsArchive__side {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 4.375rem;
  width: 16.5625rem;
}

.p-newsArchive__block {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.p-newsArchive__heading {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
}

.p-newsArchive__filter {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-newsArchive__filterLink {
  align-items: center;
  background-color: #fff;
  border-radius: 0.25rem;
  color: #2E2E2E;
  display: flex;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  height: 2.5rem;
  justify-content: space-between;
  padding-inline: 1.25rem 0.75rem;
}

.p-newsArchive__filterLink.is-active {
  background-color: #666666;
  color: #fff;
}

.p-newsArchive__filterLink--hasArrow::after {
  -webkit-transform: rotate(45deg);
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
  flex-shrink: 0;
  height: 0.375rem;
  transform: rotate(45deg);
  width: 0.375rem;
}

.p-newsArchive__yearSelect {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232e2e2e' stroke-width='2'/%3E%3C/svg%3E");
  background-position: right 0.75rem center;
  background-repeat: no-repeat;
  background-size: 0.625rem 0.375rem;
  border: none;
  border-radius: 0.25rem;
  color: #2E2E2E;
  cursor: pointer;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  height: 2.5rem;
  padding-inline: 1.25rem 2rem;
  width: 100%;
}

.p-newsArchive__main {
  align-items: center;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4.375rem;
  min-width: 0;
}

.p-newsArchive__list {
  width: 100%;
}

.p-newsArchive__item + .p-newsArchive__item {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  margin-top: 2.25rem;
  padding-top: 2.25rem;
}

.p-newsArchive__link {
  align-items: center;
  display: flex;
  gap: 1.25rem;
  padding-right: 1.25rem;
}

.p-newsArchive__thumb {
  background-color: #1A1A1A;
  flex-shrink: 0;
  height: 5rem;
  overflow: hidden;
  width: 7.5rem;
}

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

.p-newsArchive__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1rem;
  margin-top: 0.4rem;
  min-width: 0;
}

.p-newsArchive__meta {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-newsArchive__tag {
  align-items: center;
  border-radius: 0.25rem;
  display: inline-flex;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.5rem;
  justify-content: center;
  width: 6.25rem;
}

.p-newsArchive__tag--blue {
  background-color: #007BD0;
  color: #fff;
}

.p-newsArchive__tag--red {
  background-color: #F0454E;
  color: #fff;
}

.p-newsArchive__tag--yellow {
  background-color: #FFD500;
  color: #000;
}

.p-newsArchive__date {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
}

.p-newsArchive__title {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-newsArchive__arrow {
  -webkit-mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  background-color: #fff;
  flex-shrink: 0;
  height: 0.838125rem;
  mask: url("../img/top/btn-arrow-black.svg") no-repeat center/contain;
  width: 1.025625rem;
}

.p-newsArchive__empty {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  width: 100%;
}

.p-newsArchive__pager {
  width: 100%;
}

.p-newsArchive__pager .wp-pagenavi {
  align-items: center;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
}

.p-newsArchive__pager .wp-pagenavi .pages {
  display: none;
}

.p-newsArchive__pager .wp-pagenavi a,
.p-newsArchive__pager .wp-pagenavi span {
  align-items: center;
  background-color: #fff;
  border-radius: 0.25rem;
  color: #000;
  display: inline-flex;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  height: 2.375rem;
  justify-content: center;
  line-height: 1;
  width: 2.375rem;
}

.p-newsArchive__pager .wp-pagenavi .current {
  background-color: #666666;
  color: #fff;
}

.p-newsSingle {
  overflow: hidden;
  position: relative;
}

.p-newsSingle__fv {
  background-color: #1A1A1A;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  padding-block: 8.75rem 4.4rem;
  padding-inline: max(65px, 50% - 38.75rem);
}

.p-newsSingle__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-newsSingle__label {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-newsSingle__labelEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-newsSingle__labelJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-newsSingle__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  width: 100%;
}

.p-newsSingle__img {
  -o-object-fit: cover;
  height: 27.5rem;
  object-fit: cover;
  position: absolute;
  right: 0;
  top: 8.75rem;
  width: min(46.875rem, 100% - 65px - 35rem);
}

.p-newsSingle__titleBlock {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 32.5rem;
}

.p-newsSingle__title {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.p-newsSingle__meta {
  align-items: center;
  display: flex;
  gap: 1.25rem;
}

.p-newsSingle__badge {
  align-items: center;
  border-radius: 0.25rem;
  display: inline-flex;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.5rem;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
  width: 6.25rem;
}

.p-newsSingle__badge--blue {
  background-color: #007BD0;
  color: #fff;
}

.p-newsSingle__badge--red {
  background-color: #F0454E;
  color: #fff;
}

.p-newsSingle__badge--yellow {
  background-color: #FFD500;
  color: #000;
}

.p-newsSingle__date {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.p-newsSingle__body {
  background-color: #2E2E2E;
  margin: 0;
  padding-block: 4.375rem 6.25rem;
  padding-inline: max(65px, 50% - 38.75rem);
}

.p-newsSingle__text {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  max-width: 32.5rem;
}

.p-newsSingle__text p {
  margin: 0;
}

.p-notFound__foot {
  display: flex;
  justify-content: center;
  padding-block: 3.75rem 7.5rem;
}

.p-notFound__foot .p-backBtn {
  padding: 0;
}

.p-number {
  background-color: #2E2E2E;
  padding-bottom: 8.75rem;
}

.p-number__inner {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.p-number__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-number__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-number__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-number__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2.25rem;
}

.p-number__card {
  background-color: #1A1A1A;
  display: flex;
  flex-direction: column;
}

.p-number__card--wide {
  gap: 1.25rem;
  justify-content: center;
  padding-block: 2.25rem 1.25rem;
  padding-inline: 2.25rem;
  width: calc((100% - 2.25rem) / 2);
}

.p-number__card--tall {
  align-items: center;
  gap: 1.25rem;
  padding-block: 1.25rem;
  padding-inline: 2.25rem;
  width: calc((100% - 4.5rem) / 3);
}

.p-number__cardMain {
  align-items: center;
  display: flex;
  gap: 2.25rem;
  width: 100%;
}

.p-number__cardHead {
  align-items: center;
  display: flex;
  gap: 1.25rem;
  width: 100%;
}

.p-number__cardLabel {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 1.25rem;
}

.p-number__icon {
  display: block;
  flex-shrink: 0;
  height: auto;
  max-height: 2.5rem;
  max-width: 2.5rem;
  width: auto;
}

.p-number__labelText {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-number__labelJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-number__labelEn {
  color: #fff;
  font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
}

.p-number__card--wide:nth-of-type(1) .p-number__cardLabel {
  width: 10.4375rem;
}

.p-number__card--wide:nth-of-type(2) .p-number__cardLabel {
  width: 11.25rem;
}

.p-number__divider {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-number__divider--v {
  align-self: stretch;
  flex-shrink: 0;
  height: auto;
  width: 0.0625rem;
}

.p-number__value {
  display: block;
  height: auto;
  max-height: 2.5rem;
  max-width: 100%;
  min-width: 0;
  width: auto;
}

.p-number__graphic {
  display: block;
  height: auto;
  max-width: 100%;
  width: auto;
}

.p-number__graphic--cert {
  margin-block: 1.5625rem;
}

.p-number__caption {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  text-align: center;
}

.p-number__icon,
.p-number__labelText,
.p-number__value,
.p-number__graphic,
.p-number__divider,
.p-number__caption {
  -webkit-transform: translateY(1.5rem);
  -webkit-filter: blur(4px);
  filter: blur(4px);
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease, -webkit-filter 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, filter 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, filter 0.7s ease, -webkit-transform 0.7s ease, -webkit-filter 0.7s ease;
}

.p-number__card.is-inview .p-number__icon,
.p-number__card.is-inview .p-number__labelText,
.p-number__card.is-inview .p-number__value,
.p-number__card.is-inview .p-number__graphic,
.p-number__card.is-inview .p-number__divider,
.p-number__card.is-inview .p-number__caption {
  -webkit-transform: translateY(0);
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}

.p-number__card.is-inview .p-number__icon {
  transition-delay: 0.15s;
}

.p-number__card.is-inview .p-number__labelText {
  transition-delay: 0.3s;
}

.p-number__card.is-inview .p-number__value,
.p-number__card.is-inview .p-number__graphic,
.p-number__card.is-inview .p-number__divider {
  transition-delay: 0.45s;
}

.p-number__card.is-inview .p-number__caption {
  transition-delay: 0.6s;
}
.p-page__body {
  padding-block: 3.75rem 7.5rem;
}

.p-pageFv {
  background-color: #191919;
  height: 51.25rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.p-pageFv__imgWrap {
  height: 30rem;
  left: max(35px, 50% - 40.625rem);
  overflow: hidden;
  position: absolute;
  right: max(35px, 50% - 40.625rem);
  top: 4.375rem;
}

.p-pageFv__img {
  -o-object-fit: cover;
  -o-object-position: center;
  display: block;
  height: 160%;
  object-fit: cover;
  object-position: center;
  width: 100%;
  will-change: transform;
}

@-webkit-keyframes pageFvTextIn {
  from {
    -webkit-transform: translateY(3.125rem);
    -webkit-filter: blur(4px);
    filter: blur(4px);
    opacity: 0;
    transform: translateY(3.125rem);
  }
  to {
    -webkit-transform: translateY(0);
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pageFvTextIn {
  from {
    -webkit-transform: translateY(3.125rem);
    -webkit-filter: blur(4px);
    filter: blur(4px);
    opacity: 0;
    transform: translateY(3.125rem);
  }
  to {
    -webkit-transform: translateY(0);
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
    transform: translateY(0);
  }
}
.p-pageFv__text {
  background-color: #1A1A1A;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  left: max(0px, 50% - 42.8125rem);
  max-width: 100%;
  padding-block: 4.375rem;
  padding-inline: 35px;
  position: absolute;
  width: 45.5rem;
}

.p-pageFv__text > * {
  -webkit-animation: pageFvTextIn 1s ease 0.3s both;
  animation: pageFvTextIn 1s ease 0.3s both;
}
.p-pageFv--works .p-pageFv__text {
  width: 49.75rem;
}

.p-pageFv--recruit .p-pageFv__text {
  width: 52.5rem;
}

.p-pageFv--company .p-pageFv__text {
  width: 35.1875rem;
}

.p-pageFv--csr .p-pageFv__text {
  width: 36.6875rem;
}

.p-pageFv__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-pageFv__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 3.75rem;
  font-weight: 400;
  line-height: 1;
}

.p-pageFv__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.8181818182;
}

.p-pageFv__line {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-pageFv__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-pageHead {
  background-color: #191919;
  padding-block: 8.75rem 4.375rem;
}

.p-pageHead__inner {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.p-pageHead__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-pageHead__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-pageHead__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-pageHead__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-pageHead__line {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-pageHead__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-pageTop {
  bottom: 1.875rem;
  cursor: pointer;
  position: fixed;
  right: 1.875rem;
  z-index: 50;
}

.p-pageTop__wrap {
  position: relative;
}

.p-pageTop__wrap img {
  width: 3.125rem;
}

.p-pageTop__wrap img:nth-of-type(2) {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 0.5s opacity;
}
.p-philosophy {
  background-color: #2E2E2E;
  padding-left: max(65px, 50% - 38.75rem);
  padding-top: 8.75rem;
}

.p-philosophy__inner {
  -webkit-column-gap: 4.375rem;
  -moz-column-gap: 4.375rem;
  align-items: start;
  column-gap: 4.375rem;
  display: grid;
  grid-template-areas: "title photo" "lead  photo" "motto photo";
  grid-template-columns: 767fr 503fr;
  row-gap: 2.25rem;
}

.p-philosophy__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
  grid-area: title;
}

.p-philosophy__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-philosophy__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-philosophy__photo {
  grid-area: photo;
  height: 100%;
}

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

.p-philosophy__lead {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  grid-area: lead;
}

.p-philosophy__statement {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-philosophy__text {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-philosophy__motto {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  grid-area: motto;
}

.p-philosophy__mottoHead {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-philosophy__mottoLabel {
  color: #fff;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-philosophy__mottoLine {
  background-color: rgba(255, 255, 255, 0.3);
  flex: 1;
  height: 0.0625rem;
}

.p-philosophy__mottoImgs {
  align-items: center;
  display: flex;
  gap: 4.375rem;
  justify-content: center;
}

.p-philosophy__mottoImg {
  height: auto;
  max-width: 100%;
  width: 18.75rem;
}

.p-pageHead.p-pageHead--privacy {
  background-color: #1A1A1A;
}

.p-privacy {
  background-color: #2E2E2E;
  padding-block: 4.375rem 8.75rem;
}

.p-privacy__inner {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.p-privacy__block {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-privacy__heading {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
  white-space: nowrap;
}

.p-privacy__text {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-privacy__line {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-privacy__mail {
  color: #fff;
  text-decoration: underline;
}

.p-recruit {
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 46.0625rem;
  overflow: hidden;
  padding-block: 8.75rem;
  position: relative;
}

.p-recruit__bg {
  inset: 0;
  position: absolute;
  z-index: 0;
}

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

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

.p-recruit__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  margin-top: 2.25rem;
  width: 100%;
}

.p-recruit__body {
  margin-top: 2.25rem;
}

.p-recruit__catch {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.3333333333;
}

.p-recruit__lead {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 1.25rem;
}

.p-recruit__brSp {
  display: none;
}

.p-recruit__btn {
  margin-top: 2.25rem;
}

.p-recruitAbout {
  overflow: clip;
  position: relative;
}

.p-recruitAbout__bg {
  background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("../img/recruit/recruit-about-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: -1;
}

.p-recruitAbout__inner {
  padding-block: 8.75rem;
  position: relative;
  z-index: 1;
}

.p-recruitAbout__head {
  align-items: center;
  display: flex;
  gap: 2.1875rem;
  justify-content: space-between;
}

.p-recruitAbout__title {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 1.25rem;
}

.p-recruitAbout__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-recruitAbout__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.125;
}

.p-recruitAbout__headDivider {
  background-color: rgba(179, 179, 179, 0.7);
  flex-shrink: 0;
  height: 4.875rem;
  width: 0.0625rem;
}

.p-recruitAbout__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: right;
}

.p-recruitAbout__list {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  margin-top: 4.375rem;
}

.p-recruitAbout__item {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 0.25rem;
  padding: 1.25rem 2.25rem;
}

.p-recruitAbout__qRow {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 1.25rem;
  list-style: none;
}

.p-recruitAbout__qRow::-webkit-details-marker {
  display: none;
}

.p-recruitAbout__qLabel {
  color: #000;
  flex-shrink: 0;
  font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.2;
}

.p-recruitAbout__qText {
  color: #000;
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-recruitAbout__body {
  display: flex;
  gap: 2.25rem;
  overflow: hidden;
  padding-block: 1.25rem 1rem;
}

.p-recruitAbout__answer {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.p-recruitAbout__answerLine {
  background-color: rgba(0, 0, 0, 0.1);
  height: 0.0625rem;
  width: 100%;
}

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

.p-recruitAbout__aLabel {
  color: #000;
  flex-shrink: 0;
  font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.2;
}

.p-recruitAbout__aText {
  color: #000;
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2.1428571429;
  min-width: 0;
}

.p-recruitAbout__photo {
  flex-shrink: 0;
  width: 22.5rem;
}

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

.p-recruitEnv {
  background-color: #191919;
  padding-block: 8.75rem;
}

.p-recruitEnv__head {
  align-items: flex-start;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
}

.p-recruitEnv__title {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 1.25rem;
}

.p-recruitEnv__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-recruitEnv__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.125;
}

.p-recruitEnv__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: right;
}

.p-recruitEnv__group {
  margin-top: 4.375rem;
}

.p-recruitEnv__groupHead {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.p-recruitEnv__groupNo {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.875;
}

.p-recruitEnv__groupName {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
  margin: 0;
}

.p-recruitEnv__groupLine {
  background-color: rgba(255, 255, 255, 0.3);
  flex-basis: 100%;
  height: 0.0625rem;
  width: 100%;
}

.p-recruitEnv__charts {
  display: grid;
  gap: 2.25rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2.25rem;
}

.p-recruitEnv__chartCard {
  background-color: #1A1A1A;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.25rem 2.25rem;
}

.p-recruitEnv__chartHead {
  align-items: center;
  display: flex;
  gap: 1.25rem;
}

.p-recruitEnv__chartIcon {
  flex-shrink: 0;
  height: 2.5rem;
  width: auto;
}

.p-recruitEnv__chartLabel {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-recruitEnv__chartLabelJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-recruitEnv__chartLabelEn {
  color: #fff;
  font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
}

.p-recruitEnv__chartDivider {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-recruitEnv__chartGraph {
  margin-inline: -2.25rem;
}

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

.p-recruitEnv__chartCaption {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  text-align: center;
}

.p-recruitEnv__nums {
  display: grid;
  gap: 2.25rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 2.25rem;
}

.p-recruitEnv__numCard {
  background-color: #1A1A1A;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 2.25rem 2.25rem 1.25rem;
}

.p-recruitEnv__numTop {
  align-items: center;
  display: flex;
  gap: 2.25rem;
}

.p-recruitEnv__numLabel {
  align-items: center;
  display: flex;
  gap: 1.25rem;
}

.p-recruitEnv__numIcon {
  flex-shrink: 0;
  height: 2.5rem;
  width: auto;
}

.p-recruitEnv__numLabelText {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 0.5rem;
  width: 7.5rem;
}

.p-recruitEnv__numLabelJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.p-recruitEnv__numLabelEn {
  color: #fff;
  font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
}

.p-recruitEnv__numDivider {
  background-color: rgba(255, 255, 255, 0.3);
  flex-shrink: 0;
  height: 2.5rem;
  width: 0.0625rem;
}

.p-recruitEnv__numValue {
  height: 2.5rem;
  width: auto;
}

.p-recruitEnv__numCaption {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  text-align: center;
}

.p-recruitEnv__benefits {
  display: grid;
  gap: 4.375rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2.25rem;
}

.p-recruitEnv__benefit {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-recruitEnv__benefitPhoto img {
  -o-object-fit: cover;
  aspect-ratio: 240/140;
  border-radius: 0.25rem;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-recruitEnv__benefitBody {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-recruitEnv__benefitTitle {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-recruitEnv__benefitText {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
}

.p-recruitEnv__chartIcon,
.p-recruitEnv__chartLabel,
.p-recruitEnv__chartDivider,
.p-recruitEnv__chartGraph,
.p-recruitEnv__chartCaption,
.p-recruitEnv__numIcon,
.p-recruitEnv__numLabelText,
.p-recruitEnv__numDivider,
.p-recruitEnv__numValue,
.p-recruitEnv__numCaption,
.p-recruitEnv__benefitPhoto,
.p-recruitEnv__benefitTitle,
.p-recruitEnv__benefitText {
  -webkit-transform: translateY(1.5rem);
  -webkit-filter: blur(4px);
  filter: blur(4px);
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease, -webkit-filter 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, filter 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, filter 0.7s ease, -webkit-transform 0.7s ease, -webkit-filter 0.7s ease;
}

.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartIcon,
.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartLabel,
.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartDivider,
.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartGraph,
.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartCaption,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numIcon,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numLabelText,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numDivider,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numValue,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numCaption,
.p-recruitEnv__benefit.is-inview .p-recruitEnv__benefitPhoto,
.p-recruitEnv__benefit.is-inview .p-recruitEnv__benefitTitle,
.p-recruitEnv__benefit.is-inview .p-recruitEnv__benefitText {
  -webkit-transform: translateY(0);
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}

.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartIcon,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numIcon,
.p-recruitEnv__benefit.is-inview .p-recruitEnv__benefitPhoto {
  transition-delay: 0.15s;
}

.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartLabel,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numLabelText,
.p-recruitEnv__benefit.is-inview .p-recruitEnv__benefitTitle {
  transition-delay: 0.3s;
}

.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartDivider,
.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartGraph,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numDivider,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numValue,
.p-recruitEnv__benefit.is-inview .p-recruitEnv__benefitText {
  transition-delay: 0.45s;
}

.p-recruitEnv__chartCard.is-inview .p-recruitEnv__chartCaption,
.p-recruitEnv__numCard.is-inview .p-recruitEnv__numCaption {
  transition-delay: 0.6s;
}
.p-recruitGuideline {
  background-color: #2E2E2E;
  padding-block: 8.75rem;
}

.p-recruitGuideline__inner {
  align-items: flex-start;
  display: flex;
  gap: 4.375rem;
}

.p-recruitGuideline__head {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 2.1875rem;
  width: 18.875rem;
}

.p-recruitGuideline__title {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-recruitGuideline__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-recruitGuideline__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.125;
}

.p-recruitGuideline__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-recruitGuideline__list {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2.25rem;
  min-width: 0;
}

.p-recruitGuideline__item {
  background-color: #F7F7F7;
  border-radius: 0.25rem;
  padding: 1.25rem 2.25rem;
}

.p-recruitGuideline__itemHead {
  cursor: pointer;
  display: flex;
  gap: 2.25rem;
  list-style: none;
}

.p-recruitGuideline__itemHead::-webkit-details-marker {
  display: none;
}

.p-recruitGuideline__itemTitle {
  color: #000;
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-recruitGuideline__table {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding-block: 0.625rem 1rem;
}

.p-recruitGuideline__row {
  border-top: 1px solid #D9D9D9;
  display: flex;
  gap: 2.25rem;
  margin-top: 0.625rem;
  padding-top: 0.625rem;
}

.p-recruitGuideline__row:first-child {
  margin-top: 0;
}

.p-recruitGuideline__rowLabel {
  color: #000;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2.1428571429;
  text-align: right;
  width: 5rem;
}

.p-recruitGuideline__rowBody {
  color: #000;
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2.1428571429;
  min-width: 0;
}

.p-recruitGuideline__note {
  font-size: 0.75rem;
  line-height: 2.5;
}

.p-recruitMembers {
  background-color: #2E2E2E;
  overflow: hidden;
  padding-block: 8.75rem;
}

.p-recruitMembers__headRow {
  align-items: flex-start;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
}

.p-recruitMembers__title {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 1.25rem;
}

.p-recruitMembers__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-recruitMembers__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.125;
}

.p-recruitMembers__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: right;
}

.p-recruitMembers__slider {
  margin-left: max(65px, 50% - 38.75rem);
  margin-top: 4.375rem;
  padding-inline: 0;
}

.p-recruitMembers__card {
  color: #fff;
  display: block;
  flex-shrink: 0;
  height: 27.5rem;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  width: 18.75rem;
}

.p-recruitMembers__cardImg {
  inset: 0;
  position: absolute;
}

.p-recruitMembers__cardImg img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  width: 100%;
}
.p-recruitMembers__cardBody {
  background-color: #2E2E2E;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  left: 0;
  padding: 1.25rem 1.25rem 0;
  position: absolute;
  right: 1.875rem;
}

.p-recruitMembers__cardCatch {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
}

.p-recruitMembers__cardMeta {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-recruitMembers__cardCat {
  align-items: center;
  border-radius: 0.25rem;
  display: inline-flex;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.5rem;
  justify-content: center;
  width: 6.25rem;
}

.p-recruitMembers__cardCat--red {
  background-color: #F0454E;
  color: #fff;
}

.p-recruitMembers__cardCat--blue {
  background-color: #007BD0;
  color: #fff;
}

.p-recruitMembers__cardCat--yellow {
  background-color: #FFD500;
  color: #000;
}

.p-recruitMembers__cardName {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.1666666667;
}

.p-recruitMembers__foot {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 4.375rem;
}

.p-recruitMembers__pager {
  align-items: center;
  display: flex;
  gap: 1.25rem;
}

.p-recruitMessage {
  background-color: #2E2E2E;
  overflow: hidden;
  padding-block: 8.75rem;
}

.p-recruitMessage__inner {
  -webkit-column-gap: 4.375rem;
  -moz-column-gap: 4.375rem;
  align-items: start;
  column-gap: 4.375rem;
  display: grid;
  grid-template-areas: "photo title" "photo body";
  grid-template-columns: 45.4375rem 1fr;
  padding-right: max(65px, 50% - 38.75rem);
  row-gap: 2.25rem;
}

.p-recruitMessage__photo {
  grid-area: photo;
  max-width: 100%;
  width: 45.4375rem;
}

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

.p-recruitMessage__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
  grid-area: title;
}

.p-recruitMessage__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-recruitMessage__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-recruitMessage__body {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  grid-area: body;
}

.p-recruitMessage__headline {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-recruitMessage__text {
  color: #fff;
  display: flex;
  flex-direction: column;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  gap: 2.25rem;
  line-height: 2.25;
}

.p-sdgs {
  background-color: #2E2E2E;
  padding-block: 8.75rem;
}

.p-sdgs__inner {
  display: flex;
  gap: 4.375rem;
}

.p-sdgs__left {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 2.25rem;
  width: 25.875rem;
}

.p-sdgs__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  margin-top: 2.25rem;
  width: 100%;
}

.p-sdgs__body {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 2.25rem;
}

.p-sdgs__photos {
  display: flex;
  flex: 1;
  gap: 2.25rem;
}

.p-sdgs__photo {
  aspect-ratio: 228/317;
  flex: 1;
  overflow: hidden;
}

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

.p-slider {
  width: 100%;
}
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}
.p-slider .swiper-slide-active .p-slider__img,
.p-slider .swiper-slide-duplicate-active .p-slider__img,
.p-slider .swiper-slide-prev .p-slider__img {
  -webkit-animation: zoomUp 10s linear 0s 1 normal both;
  animation: zoomUp 10s linear 0s 1 normal both;
}
.p-slider .swiper-pagination-bullets.swiper-pagination-horizontal {
  display: flex;
  justify-content: center;
  text-align: center;
  z-index: 2;
}
.p-slider .swiper-pagination-bullet {
  background: url(../img/) center center/contain no-repeat;
  background-color: transparent;
  border-radius: unset;
  height: 15px;
  opacity: 1;
  width: 15px;
}
.p-slider .swiper-pagination-bullet-active {
  background: url(../img/) center center/contain no-repeat;
  background-color: transparent;
  border-radius: unset;
  height: 15px;
  opacity: 1;
  width: 15px;
}

.p-slider__img {
  height: 100%;
}
.p-slider__img img {
  -o-object-fit: cover;
  aspect-ratio: 16/9;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-slider__slide {
  overflow: hidden;
}

.p-slider__btn {
  height: 60px;
  width: 60px;
}

.p-slider__pagination {
  bottom: 30px !important;
  left: auto;
  position: absolute;
  right: auto;
  width: auto;
}

.p-strength {
  background-color: #2E2E2E;
  padding-bottom: 8.75rem;
}

.p-strength__inner {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.p-strength__title {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-strength__titleEn {
  color: #fff;
  font-family: "Cinzel", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.p-strength__titleJa {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}

.p-strength__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-strength__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2.25rem 4.375rem;
}

.p-strength__card {
  align-items: center;
  display: flex;
  gap: 2.25rem;
  width: calc((100% - 4.375rem) / 2);
}

.p-strength__cardImg {
  flex-shrink: 0;
  width: 10rem;
}

.p-strength__cardImg img {
  -o-object-fit: cover;
  display: block;
  height: 7.5rem;
  object-fit: cover;
  width: 100%;
}

.p-strength__cardBody {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  justify-content: center;
}

.p-strength__cardTitle {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
}

.p-strength__cardLine {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.0625rem;
  width: 100%;
}

.p-strength__cardText {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5625;
}

.p-works {
  background-color: #2E2E2E;
  overflow: hidden;
  padding-block: 8.75rem;
  position: relative;
}

.p-works__headRow {
  align-items: flex-end;
  display: flex;
  gap: 1.25rem;
}

.p-works__headRow > .c-sectionTitle {
  flex-shrink: 0;
}

.p-works__lead {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-weight: 500;
}

.p-works__lead--pc {
  flex: 1;
  font-size: 1.125rem;
  line-height: 1.5;
  text-align: right;
  translate: 0 0.3rem;
}

.p-works__lead--sp {
  display: none;
}

.p-works__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  margin-top: 2.25rem;
  width: 100%;
}

.p-works__slider {
  margin-left: max(65px, 50% - 38.75rem);
  margin-top: 4.375rem;
  padding-inline: 0;
}

.p-works__sliderWrapper {
  align-items: center;
}

.p-works__card {
  flex-shrink: 0;
  height: 25rem;
  overflow: hidden;
  position: relative;
  width: 18.75rem;
}

.p-works__cardLink {
  color: inherit;
  display: block;
  inset: 0;
  position: absolute;
  text-decoration: none;
}

.p-works__cardImg {
  inset: 0;
  position: absolute;
}

.p-works__cardImg img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  width: 100%;
}
.p-works__cardBody {
  background-color: #2E2E2E;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  left: 0;
  padding: 1.25rem 1.25rem 0;
  position: absolute;
  right: 1.875rem;
}

.p-works__cardMeta {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-works__cardCat {
  align-items: center;
  border-radius: 0.25rem;
  display: inline-flex;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.5rem;
  justify-content: center;
  width: 6.25rem;
}

.p-works__cardCat--red {
  background-color: #F0454E;
  color: #fff;
}

.p-works__cardCat--blue {
  background-color: #007BD0;
  color: #fff;
}

.p-works__cardCat--yellow {
  background-color: #FFD500;
  color: #000;
}

.p-works__cardDate {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.1666666667;
}

.p-works__cardTitle {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p-works__foot {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 4.375rem;
}

.p-works__pager {
  align-items: center;
  display: flex;
  gap: 1.25rem;
}

.p-works__btn {
  flex-shrink: 0;
}

.p-works__dot {
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 100%;
  height: 0.625rem;
  position: relative;
  width: 0.625rem;
}

.p-works__dot.is-active {
  background-color: #007BD0;
}

.p-works__dot.is-active::after {
  border: 1px solid #007BD0;
  border-radius: 100%;
  content: "";
  inset: -0.25rem;
  position: absolute;
}

.p-worksArchive {
  background-color: #2E2E2E;
  padding-block: 6.25rem 8.75rem;
}

.p-worksArchive__list {
  display: grid;
  gap: 2.25rem;
  grid-template-columns: repeat(4, 1fr);
}

.p-worksArchive__item {
  min-width: 0;
}

.p-worksArchive__card {
  color: #fff;
  display: block;
  position: relative;
}

.p-worksArchive__thumb {
  aspect-ratio: 283/377;
  overflow: hidden;
  width: 100%;
}

.p-worksArchive__thumb img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  width: 100%;
}
.p-worksArchive__body {
  background-color: #2E2E2E;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  left: 0;
  padding-inline: 1.25rem;
  padding-top: 1.25rem;
  position: absolute;
  width: calc(100% - 1.875rem);
}

.p-worksArchive__meta {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-worksArchive__badge {
  align-items: center;
  background-color: #666666;
  border-radius: 0.25rem;
  color: #fff;
  display: inline-flex;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.5rem;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
  width: 6.25rem;
}

.p-worksArchive__date {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.1666666667;
}

.p-worksArchive__cardTitle {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p-worksArchive__empty {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
}

.p-worksSingleContent {
  background-color: #2E2E2E;
  padding-block: 1.25rem 6.25rem;
}

.p-worksSingleContent__inner {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-worksSingleContent__title {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
}

.p-worksSingleContent__line {
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  height: 0.0625rem;
  width: 100%;
}

.p-worksSingleContent__text {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
}

.p-worksSingleContent__text p + p {
  margin-top: 2.25rem;
}

.p-worksSingleOverview {
  background-color: #2E2E2E;
  padding-block: 0 6.25rem;
}

.p-worksSingleOverview--noContentAbove {
  padding-top: 6.25rem;
}

.p-worksSingleOverview__inner {
  align-items: flex-start;
  display: flex;
  gap: 4.375rem;
}

.p-worksSingleOverview__body {
  display: flex;
  flex: 1 1 23.125rem;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.p-worksSingleOverview__title {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3636363636;
}

.p-worksSingleOverview__table {
  border-top: 0.0625rem solid rgba(255, 255, 255, 0.3);
}

.p-worksSingleOverview__row {
  align-items: flex-start;
  border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.3);
  display: flex;
  gap: 1.25rem;
  padding-block: 0.625rem;
}

.p-worksSingleOverview__label {
  color: #fff;
  flex-shrink: 0;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  width: 4rem;
}

.p-worksSingleOverview__value {
  color: #fff;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  min-width: 0;
}

.p-worksSingleOverview__figure {
  aspect-ratio: 800/440;
  flex: 0 1 50rem;
  min-width: 0;
  overflow: hidden;
}

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

.p-worksSingleFigure {
  background-color: #2E2E2E;
  padding-block: 0 4.375rem;
}

.p-worksSingleFigure__img {
  -o-object-fit: cover;
  aspect-ratio: 1240/600;
  display: block;
  object-fit: cover;
  width: 100%;
}

.u-base1 {
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.u-base2 {
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

html.js .js-fade > *:not(.js-fadeSkip) {
  -webkit-transform: translateY(3.125rem);
  -webkit-filter: blur(4px);
  filter: blur(4px);
  opacity: 0;
  transform: translateY(3.125rem);
  transition: opacity 1s, -webkit-transform 1s, -webkit-filter 1s;
  transition: opacity 1s, transform 1s, filter 1s;
  transition: opacity 1s, transform 1s, filter 1s, -webkit-transform 1s, -webkit-filter 1s;
}

html.js .js-fade.is-inview > *:not(.js-fadeSkip) {
  -webkit-transform: translateY(0);
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}
.u-flex {
  display: flex;
}

.u-font14 {
  font-size: 0.875rem;
}

.u-font16 {
  font-size: 1rem;
}

.u-font18 {
  font-size: 1.125rem;
}

.u-font20 {
  font-size: 1.25rem;
}

.u-font22 {
  font-size: 1.375rem;
}

.u-font24 {
  font-size: 1.5rem;
}

.u-font28 {
  font-size: 1.75rem;
}

.u-font32 {
  font-size: 2rem;
}

.u-font40 {
  font-size: 2.5rem;
}

.u-hover {
  transition: opacity 0.5s;
}

.u-hover:hover {
  opacity: 0.6;
  transition: opacity 0.5s;
}

.u-lh10 {
  line-height: 1;
}

.u-lh13 {
  line-height: 1.3;
}

.u-lh15 {
  line-height: 1.5;
}

.u-lh16 {
  line-height: 1.6;
}

.u-lh20 {
  line-height: 2;
}

.u-ls05 {
  letter-spacing: 0.05em;
}

.u-ls10 {
  letter-spacing: 0.1em;
}

.u-ls15 {
  letter-spacing: 0.15em;
}

.u-ls20 {
  letter-spacing: 0.2em;
}

.u-mt10 {
  margin-top: 10px !important;
  margin-top: 0.625rem !important;
}

.u-mt20 {
  margin-top: 20px !important;
  margin-top: 1.25rem !important;
}

.u-mt30 {
  margin-top: 30px !important;
  margin-top: 1.875rem !important;
}

.u-mt40 {
  margin-top: 40px !important;
  margin-top: 2.5rem !important;
}

.u-mt50 {
  margin-top: 50px !important;
  margin-top: 3.125rem !important;
}

.u-mt60 {
  margin-top: 60px !important;
  margin-top: 3.75rem !important;
}

.u-mt70 {
  margin-top: 70px !important;
  margin-top: 4.375rem !important;
}

.u-mt80 {
  margin-top: 80px !important;
  margin-top: 5rem !important;
}

.u-mt90 {
  margin-top: 90px !important;
  margin-top: 5.625rem !important;
}

.u-mt100 {
  margin-top: 100px !important;
  margin-top: 6.25rem !important;
}

.u-mt110 {
  margin-top: 110px !important;
  margin-top: 6.875rem !important;
}

.u-mt120 {
  margin-top: 120px !important;
  margin-top: 7.5rem !important;
}

.u-mt130 {
  margin-top: 130px !important;
  margin-top: 8.125rem !important;
}

.u-mt140 {
  margin-top: 140px !important;
  margin-top: 8.75rem !important;
}

.u-mt150 {
  margin-top: 150px !important;
  margin-top: 9.375rem !important;
}

.u-mt160 {
  margin-top: 160px !important;
  margin-top: 10rem !important;
}

.u-mt170 {
  margin-top: 170px !important;
  margin-top: 10.625rem !important;
}

.u-mt180 {
  margin-top: 180px !important;
  margin-top: 11.25rem !important;
}

.u-mt190 {
  margin-top: 190px !important;
  margin-top: 11.875rem !important;
}

.u-mt200 {
  margin-top: 200px !important;
  margin-top: 12.5rem !important;
}

.u-shadow {
  box-shadow: 6px 6px 16px rgba(0, 0, 0, 0.16);
}

.u-sp {
  display: none;
}

.u-textLeft {
  text-align: Left !important;
}

.u-textCenter {
  text-align: Center !important;
}

.u-textRight {
  text-align: Right !important;
}

.u-textJustify {
  text-align: Justify !important;
}
.u-visuallyHidden {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  white-space: nowrap;
  width: 1px;
}

.u-w300 {
  font-weight: 300;
}

.u-w400 {
  font-weight: 400;
}

.u-w500 {
  font-weight: 500;
}

.u-w600 {
  font-weight: 600;
}

.u-w700 {
  font-weight: 700;
}

.u-w900 {
  font-weight: 900;
}

@media screen and (min-width: 768px) {
  .c-hoverRun:hover {
    background-size: 100% 1px;
  }
  .c-hoverUnderline:hover::after {
    opacity: 1;
  }
  .c-hoverUnderline:hover::after {
    opacity: 1;
  }
  .c-underBar:hover:before {
    opacity: 0;
    transition: 0.5s all;
  }
  .p-pageTop__wrap:hover img:nth-of-type(1) {
    opacity: 0;
    transition: 0.5s opacity;
  }
  .p-pageTop__wrap:hover img:nth-of-type(2) {
    opacity: 1;
    transition: 0.5s opacity;
  }
}

@media screen and (min-width: 769px) {
  .c-imgHover:hover img:nth-of-type(1) {
    opacity: 0;
    transition: 0.5s opacity;
  }
  .c-imgHover:hover img:nth-of-type(2) {
    opacity: 1;
    transition: 0.5s opacity;
  }
  .c-imgZoom:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
  }
}

@media screen and (max-width: 1290px) {
  html {
    font-size: 1.2403100775vw;
  }
}

@media screen and (max-width: 1200px) {
  .p-media__txt {
    color: pink;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
  a[href^="tel:"] {
    pointer-events: all;
  }
  .l-inner {
    padding-inline: 20px;
  }
  .l-sec {
    padding: 5rem 0 6.25rem;
  }
  .l-sec01 {
    padding: 4.5rem 0 5.75rem;
  }
  .c-accordionToggle {
    height: 1.0625rem;
    width: 1.0625rem;
  }
  .c-accordionToggle::before {
    width: 0.625rem;
  }
  .c-accordionToggle::after {
    height: 0.625rem;
  }
  .c-btn {
    font-size: 0.75rem;
    min-height: 3rem;
    padding-inline: 1.25rem;
    width: 14rem;
  }
  .c-btn__icon {
    height: 0.6875rem;
    width: 0.75rem;
  }
  .c-column2 {
    gap: 1.875rem;
    grid-template-columns: repeat(1, 1fr);
  }
  .c-column2--gap60 {
    gap: 2.5rem;
  }
  .c-column2--gapSp20 {
    gap: 1.25rem;
  }
  .c-column3 {
    grid-template-columns: repeat(1, 1fr);
  }
  .c-column4 {
    grid-template-columns: repeat(1, 1fr);
  }
  .c-column4--sp2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-headline1__main {
    font-size: 1.25rem;
    padding-left: 1.375rem;
  }
  .c-headline1__sub {
    margin-top: 1.625rem;
    padding-left: 1.375rem;
  }
  .c-recaptchaNote {
    margin-top: 2rem;
  }
  .c-sectionTitle {
    gap: 1rem;
    translate: 0;
  }
  .c-sectionTitle__en {
    font-size: 2rem;
  }
  .c-sectionTitle__ja {
    font-size: 0.9375rem;
  }
  .p-about {
    padding-block: 0 4.375rem;
  }
  .p-about__inner {
    padding-inline: 0;
  }
  .p-about__text {
    font-size: 0.9375rem;
    line-height: 2.4;
  }
  .p-about__btn {
    margin-top: 2.25rem;
  }
  .p-backBtn {
    padding-block: 0 4.375rem;
    padding-inline: 1.25rem;
  }
  .p-breadcrumb {
    height: 2.5rem;
  }
  .p-breadcrumb__list {
    gap: 0.625rem;
  }
  .p-company {
    min-height: 23.6875rem;
    padding-block: 4.675rem 4.4rem;
  }
  .p-company__line {
    margin-top: 1.25rem;
  }
  .p-company__body {
    font-size: 0.875rem;
    line-height: 2;
    margin-top: 1.25rem;
  }
  .p-company__btn {
    display: flex;
    margin-left: auto;
  }
  .p-company__brPc {
    display: none;
  }
  .p-companyAccess {
    padding-top: 4.375rem;
  }
  .p-companyAccess__inner {
    flex-direction: column;
    gap: 2.25rem;
  }
  .p-companyAccess__head {
    width: auto;
  }
  .p-companyAccess__titleEn {
    font-size: 1.75rem;
    line-height: 1.3571428571;
  }
  .p-companyAccess__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-companyAccess__list {
    gap: 1rem;
    width: 100%;
  }
  .p-companyAccess__item {
    gap: 0.4375rem;
  }
  .p-companyAccess__item:not(:first-child) {
    padding-top: 1.25rem;
  }
  .p-companyAccess__name {
    font-size: 0.9375rem;
    line-height: 1.4666666667;
  }
  .p-companyAccess__addr {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-companyHistory {
    padding-block: 4.375rem;
  }
  .p-companyHistory__inner {
    gap: 2rem;
  }
  .p-companyHistory__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-companyHistory__titleEn {
    font-size: 1.75rem;
  }
  .p-companyHistory__titleJa {
    font-size: 0.75rem;
  }
  .p-companyHistory__cols {
    flex-direction: column;
    gap: 2.25rem;
  }
  .p-companyHistory__col {
    gap: 0.625rem;
  }
  .p-companyHistory__colTitle {
    font-size: 1.375rem;
  }
  .p-companyHistory__list {
    gap: 1rem;
  }
  .p-companyHistory__year {
    gap: 0.3125rem;
  }
  .p-companyHistory__dot {
    height: 0.375rem;
    width: 0.375rem;
  }
  .p-companyHistory__yearLabel {
    font-size: 0.75rem;
    line-height: 1.5;
    width: 3.4375rem;
  }
  .p-companyHistory__desc {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-companyInfo {
    padding-top: 2.25rem;
  }
  .p-companyInfo__inner {
    flex-direction: column;
    gap: 2.25rem;
  }
  .p-companyInfo__head {
    width: auto;
  }
  .p-companyInfo__titleEn {
    font-size: 1.75rem;
    line-height: 1.3571428571;
  }
  .p-companyInfo__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-companyInfo__table {
    gap: 1rem;
  }
  .p-companyInfo__row {
    align-items: center;
    gap: 0.625rem;
  }
  .p-companyInfo__label {
    font-size: 0.75rem;
    line-height: 2;
    width: 4.0625rem;
  }
  .p-companyInfo__value {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-companyServices {
    padding-top: 4.375rem;
  }
  .p-companyServices__inner {
    gap: 1rem;
  }
  .p-companyServices__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-companyServices__titleEn {
    font-size: 1.75rem;
  }
  .p-companyServices__titleJa {
    font-size: 0.75rem;
  }
  .p-companyServices__list {
    gap: 2.25rem;
    grid-template-columns: 1fr;
  }
  .p-companyServices__card {
    gap: 1rem;
  }
  .p-companyServices__cardTitle {
    font-size: 0.875rem;
  }
  .p-companyServices__text {
    font-size: 0.6875rem;
    line-height: 1.9;
  }
  .p-contact {
    padding-block: 4.675rem 4.3rem;
  }
  .p-contact__bg img {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
  }
  .p-contact__bg::after {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.62) 9.845%, rgba(0, 0, 0, 0.12) 94.931%);
  }
  .p-contact__line {
    margin-top: 1.25rem;
  }
  .p-contact__lead {
    font-size: 0.875rem;
    line-height: 2;
    margin-top: 1.25rem;
  }
  .p-contact__cards {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-contact__card {
    gap: 1.25rem;
    padding: 1.25rem;
  }
  .p-contact__cardTitle {
    font-size: 0.9375rem;
  }
  .p-contact__cardText {
    align-self: stretch;
    font-size: 0.75rem;
    line-height: 1.5;
    text-align: left;
  }
  .p-contact__brPc {
    display: none;
  }
  .p-contactForm {
    padding-block: 2.25rem 4.375rem;
  }
  .p-contactForm__heading {
    font-size: 0.9375rem;
    line-height: 1;
    white-space: normal;
  }
  .p-contactForm__heading--confirm {
    line-height: 1.7333333333;
  }
  .p-contactForm__rows {
    margin-top: 1.25rem;
  }
  .p-contactForm__row {
    align-items: stretch;
    flex-direction: column;
    gap: 1rem;
    padding-block: 1.25rem;
    padding-inline: 1.25rem;
  }
  .p-contactForm__row--textarea {
    padding-block: 1.25rem;
  }
  .p-contactForm__labelText {
    font-size: 0.75rem;
    text-align: left;
    white-space: normal;
    width: auto;
  }
  .p-contactForm__req {
    font-size: 0.625rem;
    height: 1rem;
  }
  .p-contactForm__divider {
    height: 0.0625rem;
    width: 100%;
  }
  .p-contactForm__row--textarea .p-contactForm__divider {
    align-self: auto;
    height: 0.0625rem;
  }
  .p-contactForm__field {
    width: 100%;
  }
  .p-contactForm__field input[type=text],
  .p-contactForm__field input[type=email],
  .p-contactForm__field input[type=tel],
  .p-contactForm__field textarea {
    font-size: 0.75rem;
  }
  .p-contactForm__field input[type=text],
  .p-contactForm__field input[type=email],
  .p-contactForm__field input[type=tel] {
    display: block;
    height: 0.75rem;
    line-height: 1;
    padding: 0;
  }
  .p-contactForm__field textarea {
    height: 11.25rem;
  }
  .p-contactForm__field .wpcf7-radio {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-contactForm__field .wpcf7-list-item-label {
    font-size: 0.75rem;
  }
  .p-contactForm__field input[type=radio] {
    height: 1rem;
    margin: 0;
    width: 1rem;
  }
  .p-contactForm__agree {
    gap: 1.25rem;
    padding-block: 1.1875rem;
    padding-inline: 0.625rem;
  }
  .p-contactForm__agree input[type=checkbox] {
    height: 1rem;
    width: 1rem;
  }
  .p-contactForm__agreeText {
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
  .p-contactForm__actions {
    margin-top: 2.25rem;
  }
  .p-contactForm__actions--confirm {
    gap: 1.25rem;
  }
  .p-contactForm__actions--confirm .c-btn {
    flex: 1;
  }
  .p-contactForm__actions--center {
    margin-top: 2.25rem;
  }
  .p-contactForm__value {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-contactForm__completeTitle {
    font-size: 0.9375rem;
    line-height: 1.7333333333;
  }
  .p-contactForm__completeText {
    font-size: 0.75rem;
    line-height: 1.8333333333;
  }
  .p-csr {
    padding-block: 2.25rem 4.375rem;
  }
  .p-csr__inner {
    gap: 4.375rem;
  }
  .p-csrCert {
    gap: 2.25rem;
    margin-top: -0.125rem;
  }
  .p-csrCert__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-csrCert__titleEn {
    font-size: 1.75rem;
    line-height: 1.3571428571;
  }
  .p-csrCert__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-csrCert__list {
    grid-template-columns: 1fr;
    row-gap: 1.25rem;
  }
  .p-csrCert__item {
    align-items: center;
    flex-direction: row;
    gap: 1.25rem;
  }
  .p-csrCert__logo {
    flex-shrink: 0;
    width: 7.5rem;
  }
  .p-csrCert__caption {
    font-size: 0.875rem;
    line-height: 1.5;
    text-align: left;
    width: auto;
  }
  .p-csrSec {
    gap: 2.25rem;
  }
  .p-csrSec__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-csrSec__titleEn {
    font-size: 1.75rem;
    line-height: 1.3571428571;
  }
  .p-csrSec__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-csrSec__cards {
    flex-direction: column;
    gap: 1.9375rem;
  }
  .p-csrSec__card {
    gap: 1.0625rem;
    width: 100%;
  }
  .p-csrSec__cardBody {
    gap: 0.0625rem;
  }
  .p-csrSec__cardTitle {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .p-csrSec__cardText {
    font-size: 0.6875rem;
    line-height: 2;
  }
  .p-csrSec__other {
    gap: 1.5rem;
    margin-top: -0.625rem;
  }
  .p-csrSec__otherTitle {
    font-size: 1.375rem;
    line-height: 1.5;
  }
  .p-csrSec__lists {
    flex-direction: column;
    gap: 1.0625rem;
  }
  .p-csrSec__list {
    gap: 1.0625rem;
    width: 100%;
  }
  .p-csrSec__listItem {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-csrSec__list + .p-csrSec__list .p-csrSec__listItem:first-child {
    -webkit-border-before: 1px solid rgba(255, 255, 255, 0.3);
    -webkit-padding-before: 1.25rem;
    border-block-start: 1px solid rgba(255, 255, 255, 0.3);
    padding-block-start: 1.25rem;
  }
  .p-cycle {
    padding-block: 4.375rem;
  }
  .p-cycle__head {
    gap: 1.25rem;
  }
  .p-cycle__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-cycle__titleEn {
    font-size: 1.75rem;
  }
  .p-cycle__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-cycle__lead {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-cycle__diagramImg {
    max-width: 100%;
  }
  .p-detailFv {
    min-height: 0;
  }
  .p-detailFv__inner {
    gap: 1.2rem;
    padding-block: 6.1rem 2.25rem;
    padding-inline: 0;
  }
  .p-detailFv__head {
    gap: 0.625rem;
    padding-inline: 1.25rem;
  }
  .p-detailFv__label {
    gap: 0.625rem;
  }
  .p-detailFv__labelEn {
    font-size: 1.75rem;
  }
  .p-detailFv__labelJa {
    font-size: 0.75rem;
    line-height: 1.6666666667;
  }
  .p-detailFv__line {
    display: none;
  }
  .p-detailFv__img {
    aspect-ratio: 75/67;
    height: auto;
    position: static;
    width: 100%;
  }
  .p-detailFv__text {
    gap: 1rem;
    padding-inline: 1.25rem;
  }
  .p-detailFv__title {
    font-size: 1.625rem;
    line-height: 1.6153846154;
    max-width: 100%;
  }
  .p-detailFv__badge {
    font-size: 0.625rem;
    height: 1.25rem;
    width: 4.625rem;
  }
  .p-detailFv__metaText {
    font-size: 0.75rem;
  }
  .p-detailNav {
    padding-block: 4.375rem;
  }
  .p-detailNav__inner {
    gap: 1rem;
  }
  .p-detailNav__btn {
    font-size: 0.75rem;
    line-height: 3.1666666667;
    min-height: 3rem;
    padding-inline: 1rem;
  }
  .p-detailNav__btn--center {
    flex: 1;
    padding-inline: 0.625rem;
  }
  .p-detailNav__btn--prev {
    flex-shrink: 0;
    gap: 0.625rem;
    width: 5rem;
  }
  .p-detailNav__btn--next {
    flex-shrink: 0;
    gap: 0.625rem;
    width: 5rem;
  }
  .p-detailNav__icon {
    height: 0.6875rem;
    width: 0.75rem;
  }
  .p-drawer__panel {
    gap: 2.25rem;
    padding-block: 4.375rem 1rem;
    padding-inline: 1.25rem;
    width: 16.25rem;
  }
  .p-drawer__navList {
    gap: 2.25rem;
  }
  .p-drawer__navLink {
    gap: 0.625rem;
  }
  .p-drawer__navEn {
    font-size: 1rem;
    line-height: 1.125;
  }
  .p-drawer__navJa {
    font-size: 0.6875rem;
    line-height: 1.6363636364;
  }
  .p-drawer__navLink--single .p-drawer__navEn {
    font-size: 0.75rem;
    line-height: 1.6666666667;
  }
  .p-drawer__logo {
    display: none;
  }
  .p-drawer__address {
    display: none;
  }
  .p-drawer__sns {
    gap: 1.25rem;
  }
  .p-entry {
    padding-block: 4.375rem;
  }
  .p-entry__bg img {
    opacity: 0.6;
  }
  .p-entry__inner {
    gap: 2.25rem;
  }
  .p-entry__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-entry__title {
    gap: 0.625rem;
  }
  .p-entry__titleEn {
    font-size: 1.75rem;
  }
  .p-entry__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-entry__lead {
    font-size: 0.75rem;
    line-height: 2;
    text-align: left;
  }
  .p-entry__btns {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-entry__tel {
    min-height: 3rem;
    padding-inline: 1.25rem;
  }
  .p-entry__telIcon {
    height: 1.25rem;
    width: 1.25rem;
  }
  .p-entry__telNum {
    font-size: 1.375rem;
  }
  .p-entry__telSub {
    font-size: 0.6875rem;
  }
  .p-entry__form {
    min-height: 3rem;
    padding-inline: 1.25rem;
  }
  .p-entry__formLabel {
    font-size: 0.75rem;
    font-weight: 500;
  }
  .p-entry__formIcon {
    height: 0.6875rem;
    width: 0.75rem;
  }
  .p-entryForm {
    padding-block: 2.25rem 4.375rem;
  }
  .p-entryForm__heading {
    font-size: 0.9375rem;
    line-height: 1;
    white-space: normal;
  }
  .p-entryForm__heading--confirm {
    line-height: 1.7333333333;
  }
  .p-entryForm__rows {
    margin-top: 1.25rem;
  }
  .p-entryForm__row {
    align-items: stretch;
    flex-direction: column;
    gap: 1rem;
    padding-block: 1.25rem;
    padding-inline: 1.25rem;
  }
  .p-entryForm__row--textarea {
    padding-block: 1.25rem;
  }
  .p-entryForm__label {
    justify-content: flex-start;
    width: auto;
  }
  .p-entryForm__labelText {
    font-size: 0.75rem;
    text-align: left;
    white-space: normal;
  }
  .p-entryForm__req {
    font-size: 0.625rem;
    height: 1rem;
  }
  .p-entryForm__divider {
    height: 0.0625rem;
    width: 100%;
  }
  .p-entryForm__row--textarea .p-entryForm__divider {
    align-self: auto;
    height: 0.0625rem;
  }
  .p-entryForm__field {
    width: 100%;
  }
  .p-entryForm__field input[type=text],
  .p-entryForm__field input[type=email],
  .p-entryForm__field input[type=tel],
  .p-entryForm__field textarea {
    font-size: 0.75rem;
  }
  .p-entryForm__field input[type=text],
  .p-entryForm__field input[type=email],
  .p-entryForm__field input[type=tel] {
    display: block;
    height: 0.75rem;
    line-height: 1;
    padding: 0;
  }
  .p-entryForm__field textarea {
    height: 5rem;
  }
  .p-entryForm__field .wpcf7-radio {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-entryForm__field .wpcf7-list-item-label {
    font-size: 0.75rem;
  }
  .p-entryForm__field input[type=radio] {
    height: 1rem;
    margin: 0;
    width: 1rem;
  }
  .p-entryForm__date {
    gap: 0.5rem;
  }
  .p-entryForm__date select {
    font-size: 0.75rem;
    height: 1rem;
    line-height: 1;
    padding-block: 0;
  }
  .p-entryForm__dateUnit {
    font-size: 0.75rem;
  }
  .p-entryForm__postal {
    flex-wrap: wrap;
    gap: 0.625rem;
  }
  .p-entryForm__postalMark {
    font-size: 0.75rem;
  }
  .p-entryForm__postal input[type=text] {
    width: 5.625rem;
  }
  .p-entryForm__postalBtn {
    font-size: 0.75rem;
    padding-block: 0.125rem;
  }
  .p-entryForm__agree {
    gap: 1.25rem;
    padding-block: 1.1875rem;
    padding-inline: 0.625rem;
  }
  .p-entryForm__agree input[type=checkbox] {
    height: 1rem;
    width: 1rem;
  }
  .p-entryForm__agreeText {
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
  .p-entryForm__actions {
    margin-top: 2.25rem;
  }
  .p-entryForm__actions--confirm {
    gap: 1.25rem;
  }
  .p-entryForm__actions--confirm .c-btn {
    flex: 1;
  }
  .p-entryForm__actions--center {
    margin-top: 2.25rem;
  }
  .p-entryForm__value {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-entryForm__completeTitle {
    font-size: 0.9375rem;
    line-height: 1.7333333333;
  }
  .p-entryForm__completeText {
    font-size: 0.75rem;
    line-height: 1.8333333333;
  }
  .p-footer {
    padding-block: 4.375rem 2.25rem;
  }
  .p-footer__inner {
    flex-direction: column;
    gap: 4.775rem;
  }
  .p-footer__company {
    flex: none;
    gap: 1.25rem;
    order: 2;
  }
  .p-footer__logo {
    align-items: flex-end;
    flex-direction: row;
    gap: 0.9375rem;
  }
  .p-footer__logoMark {
    width: 7rem;
  }
  .p-footer__logoText {
    width: 7.03125rem;
  }
  .p-footer__info {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-footer__address {
    font-size: 0.6875rem;
    line-height: 2;
  }
  .p-footer__brPc {
    display: none;
  }
  .p-footer__sns {
    gap: 1.25rem;
  }
  .p-footer__copyright {
    -webkit-transform: none;
    position: static;
    transform: none;
  }
  .p-footer__nav {
    display: flex;
    flex-direction: column;
    gap: 2.39rem;
    order: 1;
  }
  .p-footer__navLink {
    gap: 0.625rem;
  }
  .p-footer__navEn {
    font-size: 1rem;
  }
  .p-footer__navJa {
    font-size: 0.6875rem;
  }
  .p-footer__navLink--single .p-footer__navEn {
    font-size: 0.75rem;
  }
  .p-fixedBg__frame {
    --fv-frame: 3.125rem;
    border-width: var(--fv-frame) 0 0;
  }
  .p-fv {
    height: 43.125rem;
  }
  .p-fv__inner {
    padding-block: 3.125rem;
  }
  .p-fv__content {
    gap: 2.25rem;
    padding-inline: 0;
  }
  .p-fv__catch img {
    width: 20.9375rem;
  }
  .p-fv__lead img {
    width: 13.75rem;
  }
  .p-header {
    height: 3.125rem;
  }
  .p-header__inner {
    max-width: none;
    padding-inline: 1.25rem;
  }
  .p-header__logoMark {
    width: 5rem;
  }
  .p-header__logoText {
    width: 8.125rem;
  }
  .c-hamburger {
    height: 1.125rem;
    width: 1.375rem;
  }
  .p-interviewArchive {
    padding-block: 2.25rem;
  }
  .p-interviewArchive__list {
    gap: 1.25rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .p-interviewArchive__card {
    display: flex;
    flex-direction: column;
  }
  .p-interviewArchive__body {
    gap: 0.5rem;
    padding-inline: 0;
    position: static;
    width: 100%;
  }
  .p-interviewArchive__catch {
    font-size: 0.6875rem;
    line-height: 1.6363636364;
  }
  .p-interviewArchive__meta {
    align-items: flex-start;
  }
  .p-interviewArchive__badge {
    font-size: 0.625rem;
    height: 1.25rem;
    width: 4.625rem;
  }
  .p-interviewArchive__name {
    font-size: 0.625rem;
    line-height: 1.8;
  }
  .p-interviewEpisode {
    flex-direction: column;
    gap: 1.25rem;
    gap: 1.5rem;
    padding-block: 0 4.375rem;
    padding-inline: 0;
  }
  .p-interviewEpisode:has(+ .p-detailNav) {
    padding-bottom: 0;
  }
  .p-interviewEpisode--reverse {
    flex-direction: column;
  }
  .p-interviewEpisode__figure {
    aspect-ratio: 3/2;
    height: auto;
    width: 100%;
  }
  .p-interviewEpisode__body {
    gap: 0.625rem;
    gap: 0.8rem;
    padding-inline: 1.25rem;
    width: 100%;
  }
  .p-interviewEpisode__head {
    gap: 0.625rem;
  }
  .p-interviewEpisode__num {
    font-size: 0.75rem;
  }
  .p-interviewEpisode__heading {
    font-size: 0.9375rem;
  }
  .p-interviewEpisode__text {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-media {
    flex-direction: column-reverse;
  }
  .p-media__head {
    font-size: 6.25rem;
  }
  .p-media__txt {
    color: red;
    font-size: 2.5rem;
  }
  .p-media__img {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
  .p-media__body {
    margin-top: 1.875rem;
    width: 100%;
  }
  .p-message {
    padding-block: 4.375rem;
  }
  .p-message__inner {
    grid-template-areas: "title" "photo" "body";
    grid-template-columns: 1fr;
  }
  .p-message__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-message__titleEn {
    font-size: 1.75rem;
  }
  .p-message__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-message__photo {
    aspect-ratio: 67/50;
    height: auto;
  }
  .p-message__photo img {
    -o-object-position: top;
    object-position: top;
  }
  .p-message__body {
    gap: 1.5rem;
  }
  .p-message__text p {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-message__sign {
    font-size: 0.75rem;
  }
  .p-modal__block {
    width: 80%;
  }
  .p-modal__wrap {
    padding: 2.5rem 0 1.875rem;
  }
  .p-movie {
    height: 37.5rem;
  }
  .p-news {
    padding-block: 4.675rem 4.4rem;
  }
  .p-news__inner {
    flex-direction: column;
    gap: 2.25rem;
  }
  .p-news__side {
    gap: 1.25rem;
    width: 100%;
  }
  .p-news__line {
    margin-top: 1.25rem;
  }
  .p-news__filter {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr 1fr;
  }
  .p-news__filterLink {
    font-size: 0.6875rem;
    height: 1.875rem;
  }
  .p-news__item + .p-news__item {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
  }
  .p-news__link {
    gap: 0.625rem;
    padding-right: 0;
  }
  .p-news__thumb {
    aspect-ratio: 120/80;
    height: 4.125rem;
    width: auto;
  }
  .p-news__meta {
    translate: 0;
  }
  .p-news__tag {
    font-size: 0.625rem;
    height: 1.25rem;
    width: 4.625rem;
  }
  .p-news__date {
    font-size: 0.625rem;
  }
  .p-news__title {
    font-size: 0.75rem;
    line-height: 1.5;
    margin-top: 0.625rem;
  }
  .p-news__empty {
    font-size: 0.75rem;
  }
  .p-news__arrow {
    height: 0.6875rem;
    width: 0.75rem;
  }
  .p-newsArchive {
    padding-block: 2.25rem 4.375rem;
    padding-inline: 1.25rem;
  }
  .p-newsArchive__inner {
    flex-direction: column;
    gap: 2.3rem;
  }
  .p-newsArchive__side {
    gap: 1.3rem;
    width: 100%;
  }
  .p-newsArchive__block {
    gap: 1.2rem;
  }
  .p-newsArchive__heading {
    font-size: 0.875rem;
  }
  .p-newsArchive__filter {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr 1fr;
  }
  .p-newsArchive__filterLink {
    font-size: 0.6875rem;
    height: 1.875rem;
  }
  .p-newsArchive__yearSelect {
    font-size: 0.6875rem;
    height: 1.875rem;
  }
  .p-newsArchive__main {
    gap: 2.25rem;
    width: 100%;
  }
  .p-newsArchive__item + .p-newsArchive__item {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
  }
  .p-newsArchive__link {
    gap: 0.625rem;
    padding-right: 0;
  }
  .p-newsArchive__thumb {
    aspect-ratio: 120/80;
    height: 4.125rem;
    width: auto;
  }
  .p-newsArchive__body {
    gap: 0.625rem;
    margin: 0;
  }
  .p-newsArchive__tag {
    font-size: 0.625rem;
    height: 1.25rem;
    width: 4.625rem;
  }
  .p-newsArchive__date {
    font-size: 0.625rem;
  }
  .p-newsArchive__title {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-newsArchive__arrow {
    height: 0.6875rem;
    width: 0.75rem;
  }
  .p-newsArchive__pager .wp-pagenavi {
    gap: 1rem;
  }
  .p-newsArchive__pager .wp-pagenavi a,
  .p-newsArchive__pager .wp-pagenavi span {
    font-size: 0.75rem;
    height: 1.875rem;
    width: 1.875rem;
  }
  .p-newsSingle__fv {
    gap: 1.2rem;
    padding-block: 6.1rem 2.25rem;
    padding-inline: 0;
  }
  .p-newsSingle__head {
    gap: 0.625rem;
    padding-inline: 1.25rem;
  }
  .p-newsSingle__label {
    gap: 0.625rem;
  }
  .p-newsSingle__labelEn {
    font-size: 1.75rem;
  }
  .p-newsSingle__labelJa {
    font-size: 0.75rem;
    line-height: 1.6666666667;
  }
  .p-newsSingle__line {
    display: none;
  }
  .p-newsSingle__img {
    aspect-ratio: 3/2;
    height: auto;
    position: static;
    width: 100%;
  }
  .p-newsSingle__titleBlock {
    gap: 1rem;
    max-width: 100%;
    padding-inline: 1.25rem;
  }
  .p-newsSingle__title {
    font-size: 1.625rem;
    line-height: 1.6153846154;
  }
  .p-newsSingle__meta {
    gap: 0.625rem;
  }
  .p-newsSingle__badge {
    font-size: 0.625rem;
    height: 1.25rem;
    width: 4.625rem;
  }
  .p-newsSingle__date {
    font-size: 0.75rem;
  }
  .p-newsSingle__body {
    padding-block: 2.25rem;
    padding-inline: 1.25rem;
  }
  .p-newsSingle__text {
    font-size: 0.75rem;
    line-height: 2;
    max-width: 100%;
  }
  .p-notFound__foot {
    padding-block: 2.5rem 5rem;
  }
  .p-number {
    padding-block: 4.375rem;
  }
  .p-number__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-number__titleEn {
    font-size: 1.75rem;
  }
  .p-number__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-number__cards {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-number__card {
    width: 100%;
  }
  .p-number__card--wide {
    gap: 1rem;
    padding-block: 1.25rem 1rem;
    padding-inline: 1.25rem;
    width: 100%;
  }
  .p-number__card--tall {
    padding-block: 1.25rem 1rem;
    padding-inline: 1.25rem;
    width: 100%;
  }
  .p-number__card:nth-of-type(5) {
    gap: 1.4rem;
  }
  .p-number__cardMain {
    gap: 1rem;
  }
  .p-number__cardHead {
    gap: 0.625rem;
  }
  .p-number__cardLabel {
    gap: 0.625rem;
  }
  .p-number__icon {
    max-height: 1.875rem;
    max-width: 1.875rem;
  }
  .p-number__card:nth-of-type(4) .p-number__icon {
    max-width: 3rem;
  }
  .p-number__card:nth-of-type(5) .p-number__icon {
    max-width: 2.3rem;
  }
  .p-number__labelText {
    gap: 0.25rem;
  }
  .p-number__labelJa {
    font-size: 0.75rem;
  }
  .p-number__labelEn {
    font-size: 0.625rem;
  }
  .p-number__card--wide:nth-of-type(1) .p-number__cardLabel {
    width: 5.3125rem;
  }
  .p-number__card--wide:nth-of-type(2) .p-number__cardLabel {
    width: 5.6875rem;
  }
  .p-number__value {
    max-height: 1.875rem;
  }
  .p-number__graphic--cert {
    margin-block: 0;
    width: 64%;
  }
  .p-number__graphic--donut {
    max-width: none;
    width: calc(100% + 1.6875rem);
  }
  .p-number__caption {
    font-size: 0.6875rem;
    line-height: 1.6363636364;
  }
  .p-page__body {
    padding-block: 2.5rem 5rem;
  }
  .p-pageFv {
    display: flex;
    flex-direction: column;
    height: auto;
    padding-top: 3.125rem;
  }
  .p-pageFv__imgWrap {
    aspect-ratio: 1/1;
    height: auto;
    position: static;
    width: 100%;
  }
  .p-pageFv__text {
    gap: 1.25rem;
    margin-inline: 0;
    margin-right: auto;
    margin-top: -2.5625rem;
    padding-block: 2.25rem;
    padding-inline: 1.25rem;
    position: relative;
    width: 20.9375rem;
  }
  .p-pageFv--works .p-pageFv__text {
    width: 20.9375rem;
  }
  .p-pageFv--recruit .p-pageFv__text {
    width: 20.9375rem;
  }
  .p-pageFv--company .p-pageFv__text {
    width: 20.9375rem;
  }
  .p-pageFv--csr .p-pageFv__text {
    width: 20.9375rem;
  }
  .p-pageFv__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-pageFv__titleEn {
    font-size: 2.25rem;
  }
  .p-pageFv__titleJa {
    font-size: 0.9375rem;
    line-height: 1;
  }
  .p-pageFv__lead {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-pageHead {
    padding-block: 6.25rem 2.25rem;
  }
  .p-pageHead__inner {
    gap: 1.25rem;
  }
  .p-pageHead__head {
    gap: 1.3rem;
  }
  .p-pageHead__title {
    gap: 0.625rem;
  }
  .p-pageHead__titleEn {
    font-size: 1.75rem;
    line-height: 0.8571428571;
  }
  .p-pageHead__titleJa {
    font-size: 0.75rem;
    line-height: 1.6666666667;
  }
  .p-pageHead__lead {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-pageTop {
    bottom: 1.25rem;
    right: 1.5625rem;
  }
  .p-philosophy {
    padding-block: 2.25rem 4.375rem;
    padding-inline: 1.25rem;
  }
  .p-philosophy__inner {
    grid-template-areas: "title" "photo" "lead" "motto";
    grid-template-columns: 1fr;
  }
  .p-philosophy__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-philosophy__titleEn {
    font-size: 1.75rem;
  }
  .p-philosophy__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-philosophy__photo {
    aspect-ratio: 67/50;
    height: auto;
  }
  .p-philosophy__lead {
    gap: 1.25rem;
  }
  .p-philosophy__statement {
    font-size: 1.375rem;
    line-height: 1.7272727273;
  }
  .p-philosophy__text {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-philosophy__motto {
    gap: 1.25rem;
  }
  .p-philosophy__mottoLabel {
    font-size: 0.75rem;
  }
  .p-philosophy__mottoImgs {
    gap: 2.25rem;
  }
  .p-philosophy__mottoImg {
    width: 9.34375rem;
  }
  .p-pageHead--privacy .p-pageHead__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-privacy {
    padding-block: 2.25rem 4.375rem;
  }
  .p-privacy__inner {
    gap: 1.25rem;
  }
  .p-privacy__block {
    gap: 1rem;
  }
  .p-privacy__heading {
    font-size: 0.9375rem;
    line-height: 1;
  }
  .p-privacy__text {
    font-size: 0.75rem;
    line-height: 1.8333333333;
  }
  .p-recruit {
    min-height: 36.9375rem;
    padding-block: 4.675rem 4.3rem;
  }
  .p-recruit__line {
    margin-top: 1.25rem;
  }
  .p-recruit__body {
    margin-top: 1.25rem;
  }
  .p-recruit__catch {
    font-size: 1.625rem;
    line-height: 1.6153846154;
  }
  .p-recruit__lead {
    font-size: 0.875rem;
    line-height: 2;
    margin-top: 1rem;
  }
  .p-recruit__brPc {
    display: none;
  }
  .p-recruit__brSp {
    display: inline;
  }
  .p-recruit__btn {
    display: flex;
    margin-left: auto;
  }
  .p-recruitAbout__inner {
    padding-block: 4.375rem;
  }
  .p-recruitAbout__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-recruitAbout__title {
    gap: 0.625rem;
  }
  .p-recruitAbout__titleEn {
    font-size: 1.75rem;
  }
  .p-recruitAbout__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-recruitAbout__lead {
    font-size: 0.75rem;
    line-height: 2;
    text-align: left;
  }
  .p-recruitAbout__list {
    gap: 1.25rem;
    margin-top: 2.25rem;
  }
  .p-recruitAbout__item {
    padding: 0.625rem;
  }
  .p-recruitAbout__qRow {
    gap: 0.625rem;
  }
  .p-recruitAbout__qLabel {
    font-size: 1.375rem;
    line-height: 1;
  }
  .p-recruitAbout__qText {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-recruitAbout__body {
    flex-direction: column;
    gap: 0.625rem;
    padding-block: 0.625rem 0;
  }
  .p-recruitAbout__answer {
    gap: 0.625rem;
  }
  .p-recruitAbout__answerRow {
    gap: 0.625rem;
  }
  .p-recruitAbout__aLabel {
    font-size: 1.375rem;
    line-height: 1;
  }
  .p-recruitAbout__aText {
    font-size: 0.6875rem;
    line-height: 2;
  }
  .p-recruitAbout__photo {
    width: 100%;
  }
  .p-recruitAbout__photo img {
    aspect-ratio: 360/240;
    height: auto;
  }
  .p-recruitEnv {
    padding-block: 4.375rem;
  }
  .p-recruitEnv__head {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-recruitEnv__title {
    gap: 0.625rem;
  }
  .p-recruitEnv__titleEn {
    font-size: 1.75rem;
  }
  .p-recruitEnv__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-recruitEnv__lead {
    font-size: 0.75rem;
    line-height: 2;
    text-align: left;
  }
  .p-recruitEnv__group {
    margin-top: 2.25rem;
  }
  .p-recruitEnv__groupHead {
    gap: 0.9rem 0.625rem;
  }
  .p-recruitEnv__groupNo {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-recruitEnv__groupName {
    font-size: 0.875rem;
    line-height: 1;
  }
  .p-recruitEnv__charts {
    gap: 1.25rem;
    grid-template-columns: 1fr;
    margin-top: 1.05rem;
  }
  .p-recruitEnv__chartCard {
    padding: 1.25rem 1.25rem 1rem;
  }
  .p-recruitEnv__chartHead {
    gap: 0.625rem;
  }
  .p-recruitEnv__chartIcon {
    height: 1.875rem;
  }
  .p-recruitEnv__chartLabel {
    gap: 0.25rem;
  }
  .p-recruitEnv__chartLabelJa {
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
  .p-recruitEnv__chartLabelEn {
    font-size: 0.625rem;
    line-height: 1;
  }
  .p-recruitEnv__chartGraph {
    margin-inline: -1.25rem;
  }
  .p-recruitEnv__chartCaption {
    font-size: 0.6875rem;
    line-height: 1.6363636364;
  }
  .p-recruitEnv__nums {
    gap: 1.25rem;
    grid-template-columns: 1fr;
    margin-top: 1.25rem;
  }
  .p-recruitEnv__numCard {
    padding: 1.25rem 1.25rem 1rem;
  }
  .p-recruitEnv__numTop {
    gap: 1rem;
  }
  .p-recruitEnv__numLabel {
    gap: 0.625rem;
    width: 50%;
  }
  .p-recruitEnv__numIcon {
    height: 1.875rem;
  }
  .p-recruitEnv__numLabelText {
    gap: 0.25rem;
    width: auto;
  }
  .p-recruitEnv__numLabelJa {
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
  .p-recruitEnv__numLabelEn {
    font-size: 0.625rem;
    line-height: 1;
    white-space: normal;
  }
  .p-recruitEnv__numDivider {
    height: 1.875rem;
  }
  .p-recruitEnv__numValue {
    height: 1.875rem;
  }
  .p-recruitEnv__numCaption {
    font-size: 0.6875rem;
    line-height: 1.6363636364;
  }
  .p-recruitEnv__benefits {
    gap: 1.25rem;
    grid-template-columns: 1fr;
    margin-top: 2.25rem;
  }
  .p-recruitEnv__benefit {
    gap: 0.625rem;
  }
  .p-recruitEnv__benefitBody {
    gap: 0.3125rem;
  }
  .p-recruitEnv__benefitTitle {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .p-recruitEnv__benefitText {
    font-size: 0.6875rem;
    line-height: 2;
  }
  .p-recruitGuideline {
    padding-block: 4.375rem;
  }
  .p-recruitGuideline__inner {
    flex-direction: column;
    gap: 2.25rem;
  }
  .p-recruitGuideline__head {
    gap: 1.25rem;
    width: 100%;
  }
  .p-recruitGuideline__title {
    gap: 0.625rem;
  }
  .p-recruitGuideline__titleEn {
    font-size: 1.75rem;
  }
  .p-recruitGuideline__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-recruitGuideline__lead {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-recruitGuideline__list {
    gap: 1.25rem;
    width: 100%;
  }
  .p-recruitGuideline__item {
    padding: 0.625rem;
  }
  .p-recruitGuideline__itemHead {
    gap: 0.625rem;
  }
  .p-recruitGuideline__itemTitle {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-recruitGuideline__table {
    padding-block: 0.625rem 0;
  }
  .p-recruitGuideline__row {
    flex-direction: column;
    gap: 0.25rem;
  }
  .p-recruitGuideline__rowLabel {
    font-size: 0.8125rem;
    text-align: left;
    width: auto;
  }
  .p-recruitGuideline__rowBody {
    font-size: 0.8125rem;
  }
  .p-recruitGuideline__note {
    font-size: 0.6875rem;
  }
  .p-recruitMembers {
    padding-block: 4.375rem;
  }
  .p-recruitMembers__headRow {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-recruitMembers__title {
    gap: 0.625rem;
  }
  .p-recruitMembers__titleEn {
    font-size: 1.75rem;
  }
  .p-recruitMembers__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-recruitMembers__lead {
    font-size: 0.75rem;
    line-height: 2;
    text-align: left;
  }
  .p-recruitMembers__slider {
    margin-left: 20px;
    margin-top: 2.25rem;
  }
  .p-recruitMembers__card {
    height: 19.25rem;
    width: 13.125rem;
  }
  .p-recruitMembers__cardBody {
    padding: 1.25rem 0 0;
    right: 1.25rem;
  }
  .p-recruitMembers__cardCatch {
    font-size: 0.75rem;
    line-height: 1.8333333333;
  }
  .p-recruitMembers__cardMeta {
    gap: 0.5rem;
  }
  .p-recruitMembers__cardCat {
    font-size: 0.625rem;
    height: 1.25rem;
    width: 4.625rem;
  }
  .p-recruitMembers__cardName {
    font-size: 0.625rem;
  }
  .p-recruitMembers__foot {
    flex-direction: column;
    gap: 2.25rem;
    margin-top: 2.45rem;
  }
  .p-recruitMembers__pager {
    justify-content: center;
  }
  .p-recruitMessage {
    padding-block: 2.25rem 4.375rem;
  }
  .p-recruitMessage__inner {
    grid-template-areas: "title" "photo" "body";
    grid-template-columns: 1fr;
    padding-inline: 1.25rem;
    row-gap: 2.3rem;
  }
  .p-recruitMessage__photo {
    width: 100%;
  }
  .p-recruitMessage__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-recruitMessage__titleEn {
    font-size: 1.75rem;
  }
  .p-recruitMessage__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-recruitMessage__body {
    gap: 1.25rem;
  }
  .p-recruitMessage__headline {
    font-size: 1.375rem;
    line-height: 1.7272727273;
  }
  .p-recruitMessage__text {
    font-size: 0.75rem;
    gap: 0;
    line-height: 2;
  }
  .p-sdgs {
    padding-block: 4.675rem 4.3rem;
  }
  .p-sdgs__inner {
    flex-direction: column;
    gap: 2.25rem;
  }
  .p-sdgs__left {
    display: contents;
  }
  .p-sdgs__head {
    order: 1;
  }
  .p-sdgs__line {
    margin-top: 1.25rem;
  }
  .p-sdgs__body {
    font-size: 0.875rem;
    line-height: 2;
    margin-top: 1.25rem;
  }
  .p-sdgs__photos {
    gap: 1.25rem;
    order: 2;
  }
  .p-sdgs__btn {
    display: flex;
    margin-left: auto;
    order: 3;
  }
  .p-sdgs__brPc {
    display: none;
  }
  .p-slider .swiper-pagination-bullets.swiper-pagination-horizontal {
    text-align: center;
  }
  .p-strength {
    padding-block: 4.5rem;
  }
  .p-strength__inner {
    gap: 1.3rem;
  }
  .p-strength__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-strength__titleEn {
    font-size: 1.75rem;
  }
  .p-strength__titleJa {
    font-size: 0.75rem;
    line-height: 1;
  }
  .p-strength__lead {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-strength__cards {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr 1fr;
    margin-top: 0.9rem;
  }
  .p-strength__card {
    align-items: stretch;
    flex-direction: column;
    gap: 0.625rem;
    width: auto;
  }
  .p-strength__cardImg {
    width: 100%;
  }
  .p-strength__cardImg img {
    aspect-ratio: 4/3;
    height: auto;
  }
  .p-strength__cardTitle {
    font-size: 0.9375rem;
    line-height: 1.4666666667;
  }
  .p-strength__cardText {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-works {
    padding-block: 4.7rem 4.35rem;
  }
  .p-works__headRow {
    gap: 1rem;
  }
  .p-works__lead--pc {
    display: none;
  }
  .p-works__lead--sp {
    display: block;
    font-size: 0.875rem;
    line-height: 2;
    margin-top: 1.25rem;
  }
  .p-works__line {
    margin-top: 1.25rem;
  }
  .p-works__slider {
    margin-left: 20px;
    margin-top: 2.25rem;
  }
  .p-works__sliderWrapper {
    align-items: flex-start;
  }
  .p-works__card {
    height: auto;
    width: 13.125rem;
  }
  .p-works__cardLink {
    position: static;
  }
  .p-works__cardImg {
    height: 17.5rem;
    position: static;
  }
  .p-works__cardBody {
    bottom: auto;
    gap: 0.625rem;
    margin-top: -2.5rem;
    padding: 1.25rem 0 0;
    position: relative;
    right: auto;
    width: 11.875rem;
    z-index: 1;
  }
  .p-works__cardMeta {
    gap: 0.5rem;
  }
  .p-works__cardCat {
    font-size: 0.625rem;
    height: 1.25rem;
    width: 4.625rem;
  }
  .p-works__cardDate {
    font-size: 0.625rem;
  }
  .p-works__cardTitle {
    font-size: 0.75rem;
    line-height: 1.8333333333;
  }
  .p-works__foot {
    flex-direction: column;
    gap: 2.25rem;
    margin-top: 2.1rem;
  }
  .p-worksArchive {
    padding-block: 2.25rem 4.375rem;
  }
  .p-worksArchive__list {
    gap: 1.3rem 1.25rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .p-worksArchive__card {
    display: flex;
    flex-direction: column;
  }
  .p-worksArchive__body {
    padding-inline: 0;
    position: static;
    width: 100%;
  }
  .p-worksArchive__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.6rem;
  }
  .p-worksArchive__badge {
    font-size: 0.625rem;
    height: 1.25rem;
    width: 4.625rem;
  }
  .p-worksArchive__date {
    font-size: 0.625rem;
  }
  .p-worksArchive__cardTitle {
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
  .p-worksSingleContent {
    padding-block: 2.25rem;
  }
  .p-worksSingleContent__inner {
    gap: 0.625rem;
  }
  .p-worksSingleContent__title {
    font-size: 0.9375rem;
    line-height: 1.4;
  }
  .p-worksSingleContent__text {
    font-size: 0.75rem;
    line-height: 2;
  }
  .p-worksSingleContent__text p + p {
    margin-top: 1.5rem;
  }
  .p-worksSingleOverview {
    padding-block: 0 4.375rem;
  }
  .p-worksSingleOverview--noContentAbove {
    padding-top: 4.375rem;
  }
  .p-worksSingleOverview__inner {
    flex-direction: column;
    gap: 4.375rem;
  }
  .p-worksSingleOverview__body {
    flex: none;
    gap: 0.625rem;
    width: 100%;
  }
  .p-worksSingleOverview__title {
    font-size: 0.9375rem;
    line-height: 1.4;
  }
  .p-worksSingleOverview__label {
    font-size: 0.75rem;
    line-height: 1.6666666667;
    width: 3.125rem;
  }
  .p-worksSingleOverview__value {
    font-size: 0.75rem;
    line-height: 1.6666666667;
  }
  .p-worksSingleOverview__figure {
    aspect-ratio: 75/67;
    border-radius: 0.25rem;
    flex: none;
    margin-inline: -20px;
    width: calc(100% + 40px);
  }
  .p-worksSingleFigure {
    padding-block: 0;
  }
  .p-worksSingleFigure__img {
    aspect-ratio: 75/67;
    margin-inline: -20px;
    max-width: none;
    width: calc(100% + 40px);
  }
  .u-font18 {
    font-size: 1rem;
  }
  .u-font20 {
    font-size: 1rem;
  }
  .u-font22 {
    font-size: 1.125rem;
  }
  .u-font24 {
    font-size: 1.125rem;
  }
  .u-mt100 {
    margin-top: 1.875rem;
  }
  .u-mtSp10 {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .u-mtSp20 {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .u-mtSp30 {
    margin-top: 30px !important;
    margin-top: 1.875rem !important;
  }
  .u-mtSp40 {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .u-mtSp50 {
    margin-top: 50px !important;
    margin-top: 3.125rem !important;
  }
  .u-mtSp60 {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .u-mtSp70 {
    margin-top: 70px !important;
    margin-top: 4.375rem !important;
  }
  .u-mtSp80 {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .u-mtSp90 {
    margin-top: 90px !important;
    margin-top: 5.625rem !important;
  }
  .u-mtSp100 {
    margin-top: 100px !important;
    margin-top: 6.25rem !important;
  }
  .u-mtSp110 {
    margin-top: 110px !important;
    margin-top: 6.875rem !important;
  }
  .u-mtSp120 {
    margin-top: 120px !important;
    margin-top: 7.5rem !important;
  }
  .u-mtSp130 {
    margin-top: 130px !important;
    margin-top: 8.125rem !important;
  }
  .u-mtSp140 {
    margin-top: 140px !important;
    margin-top: 8.75rem !important;
  }
  .u-mtSp150 {
    margin-top: 150px !important;
    margin-top: 9.375rem !important;
  }
  .u-mtSp160 {
    margin-top: 160px !important;
    margin-top: 10rem !important;
  }
  .u-mtSp170 {
    margin-top: 170px !important;
    margin-top: 10.625rem !important;
  }
  .u-mtSp180 {
    margin-top: 180px !important;
    margin-top: 11.25rem !important;
  }
  .u-mtSp190 {
    margin-top: 190px !important;
    margin-top: 11.875rem !important;
  }
  .u-mtSp200 {
    margin-top: 200px !important;
    margin-top: 12.5rem !important;
  }
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
  .u-textMdLeft {
    text-align: Left !important;
  }
  .u-textMdCenter {
    text-align: Center !important;
  }
  .u-textMdRight {
    text-align: Right !important;
  }
  .u-textMdJustify {
    text-align: Justify !important;
  }
}

@media screen and (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-btn:not(.c-btn--black):not(.c-btn--red):not(.c-btn--back):hover {
    color: #fff;
  }
  .c-btn:not(.c-btn--black):not(.c-btn--red):not(.c-btn--back):hover::before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  .c-btn:not(.c-btn--black):not(.c-btn--red):not(.c-btn--back):hover .c-btn__icon {
    -webkit-animation: cBtnArrowMove 0.3s cubic-bezier(1, 0.5, 0.6, 1.4) both;
    animation: cBtnArrowMove 0.3s cubic-bezier(1, 0.5, 0.6, 1.4) both;
  }
  .c-btn--black:hover {
    background-color: #000;
    color: #fff;
    opacity: 0.8;
  }
  .c-btn--red:hover {
    background-color: #F0454E;
    color: #fff;
    opacity: 0.85;
  }
  .c-btn--back:hover {
    color: #fff;
  }
  .c-btn--back:hover::before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  .c-btn--back:hover .c-btn__icon {
    -webkit-animation: cBtnArrowMovePrev 0.3s cubic-bezier(1, 0.5, 0.6, 1.4) both;
    animation: cBtnArrowMovePrev 0.3s cubic-bezier(1, 0.5, 0.6, 1.4) both;
  }
  a.p-detailNav__btn:hover {
    color: #fff;
  }
  a.p-detailNav__btn:hover::before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  a.p-detailNav__btn--next:hover .p-detailNav__icon {
    -webkit-animation: cBtnArrowMove 0.3s cubic-bezier(1, 0.5, 0.6, 1.4) both;
    animation: cBtnArrowMove 0.3s cubic-bezier(1, 0.5, 0.6, 1.4) both;
  }
  a.p-detailNav__btn--prev:hover .p-detailNav__icon {
    -webkit-animation: cBtnArrowMovePrev 0.3s cubic-bezier(1, 0.5, 0.6, 1.4) both;
    animation: cBtnArrowMovePrev 0.3s cubic-bezier(1, 0.5, 0.6, 1.4) both;
  }
  .p-entry__form:hover {
    opacity: 0.85;
  }
  .p-entryForm__postalBtn:hover {
    opacity: 0.85;
  }
  .p-interviewArchive__card:hover .p-interviewArchive__thumb img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
  }
  .p-recruitMembers__card:hover .p-recruitMembers__cardImg img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
  }
  .p-works__card:hover .p-works__cardImg img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
  }
  .p-worksArchive__card:hover .p-worksArchive__thumb img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
  .p-number__icon,
  .p-number__labelText,
  .p-number__value,
  .p-number__graphic,
  .p-number__divider,
  .p-number__caption {
    -webkit-transform: none;
    -webkit-filter: none;
    filter: none;
    opacity: 1;
    transform: none;
    transition: none;
  }
  .p-pageFv__text > * {
    -webkit-animation: none;
    animation: none;
  }
  .p-recruitEnv__chartIcon,
  .p-recruitEnv__chartLabel,
  .p-recruitEnv__chartDivider,
  .p-recruitEnv__chartGraph,
  .p-recruitEnv__chartCaption,
  .p-recruitEnv__numIcon,
  .p-recruitEnv__numLabelText,
  .p-recruitEnv__numDivider,
  .p-recruitEnv__numValue,
  .p-recruitEnv__numCaption,
  .p-recruitEnv__benefitPhoto,
  .p-recruitEnv__benefitTitle,
  .p-recruitEnv__benefitText {
    -webkit-transform: none;
    -webkit-filter: none;
    filter: none;
    opacity: 1;
    transform: none;
    transition: none;
  }
  html.js .js-fade > *:not(.js-fadeSkip) {
    -webkit-transform: none;
    -webkit-filter: none;
    filter: none;
    opacity: 1;
    transform: none;
    transition: none;
  }
}