@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

span, picture {
  display: inline-block;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

input,
textarea,
select {
  font: inherit;
}

/*----------------------------------
  レイアウト（単位不要）
----------------------------------*/
/*----------------------------------
  color（沖道LP／Figmaトークン5色）
----------------------------------*/
/*----------------------------------
  font-family（沖道LP／Figmaより）
----------------------------------*/
/*----------------------------------
  z-index
----------------------------------*/
html {
  scroll-behavior: smooth;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.4545454545vw;
  }
}
@media (min-width: 1100px) {
  html {
    font-size: 16px;
  }
}

body {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  color: #333333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}
/*----------------------------------
  ピクセル階段の角（Figma の Subtract 形状をCSSで再現）
  2段の階段状に4隅を落とす。$s = 1段あたりの大きさ
----------------------------------*/
.c-button {
  width: 21.875rem;
  aspect-ratio: 400/97;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: url("../img/btn-entry.svg") center/contain no-repeat;
  text-shadow: 2px 2px 4px #fc7d00;
  text-align: center;
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.09em;
  padding-bottom: 0.5rem;
  -webkit-transition: scale 0.4s;
  transition: scale 0.4s;
}
@media screen and (min-width: 768px) {
  .c-button {
    width: 25rem;
    font-size: 1.75rem;
  }
}
@media (any-hover: hover) {
  .c-button:hover {
    opacity: 1;
    scale: 1.05;
  }
}

.c-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(22.5rem, 100%);
  min-height: 3.75rem;
  border-radius: 0.3125rem;
  border: 2px solid #52ABFF;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 1rem 3rem 1rem 2.5rem;
}
.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: 1.25rem;
  aspect-ratio: 1/1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn.--fill {
  color: #FFF;
  background-color: #52ABFF;
}
.c-btn.--fill::after {
  background: url(../img/btn-arrow-white.svg) center/contain no-repeat;
}
.c-btn.--outline {
  color: #52ABFF;
  background-color: #FFF;
}
.c-btn.--outline::after {
  background: url(../img/btn-arrow-blue.svg) center/contain no-repeat;
}
.c-btn.--accent {
  color: #FFF;
  background-color: #FFBF02;
  border-color: #FFBF02;
}
.c-btn.--accent::after {
  background: url(../img/btn-arrow-white.svg) center/contain no-repeat;
}

.c-follow-button__wrap {
  position: fixed;
  bottom: 2.5rem;
  left: 50%;
  translate: -50% 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.375rem;
  -webkit-transition: visibility 0.4s, opacity 0.4s;
  transition: visibility 0.4s, opacity 0.4s;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .c-follow-button__wrap {
    display: none;
  }
}
.c-follow-button__wrap.is-hidden {
  visibility: hidden;
  opacity: 0;
}

.c-follow-button {
  position: relative;
  height: 2.3125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 0.3125rem;
  -webkit-box-shadow: 2px 2px 4px 0 rgba(0, 24, 104, 0.25);
          box-shadow: 2px 2px 4px 0 rgba(0, 24, 104, 0.25);
  color: #FFF;
  font-weight: 700;
  line-height: 1.5;
}
.c-follow-button.--01 {
  width: 11.8125rem;
  background-color: #0047B4;
  font-size: 1rem;
}
.c-follow-button.--01::before {
  content: "";
  position: absolute;
  top: -0.125rem;
  left: -0.1875rem;
  width: 1.875rem;
  aspect-ratio: 30/37;
  background: url(../img/recruit-koji.webp) center/contain no-repeat;
}
.c-follow-button.--02 {
  width: 11.3125rem;
  gap: 0.25rem;
  background-color: #FF9901;
  font-size: 1.125rem;
}
.c-follow-button.--02::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.0625rem;
  aspect-ratio: 17/18;
  background: url(../img/icon-instagram.svg) center/contain no-repeat;
}

.c-heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 12rem;
  min-height: 3.5rem;
  background-color: #001868;
  border: 0.375rem solid #FFF;
  -webkit-filter: drop-shadow(4px 4px 4px rgba(0, 24, 104, 0.25));
          filter: drop-shadow(4px 4px 4px rgba(0, 24, 104, 0.25));
  text-align: center;
  color: #FFF;
  font-family: "Press Start 2P", cursive;
  font-size: 1.25rem;
  line-height: 1;
  padding: 0.75rem 1.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-heading {
    min-width: 14.6875rem;
    min-height: 4.6875rem;
    border-width: 0.5rem;
    font-size: 1.5rem;
    padding: 0.875rem 1.5rem;
  }
}

.c-nav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.125rem;
  color: #333333;
  text-align: center;
}
@media screen and (min-width: 1440px) {
  .c-nav-item {
    width: 5.75rem;
  }
}

.c-nav-item__icon {
  width: 2.1875rem;
  height: 1.8125rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-nav-item__en {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
}

.c-nav-item__jp {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1;
}

.c-job-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.25rem;
  width: 100%;
  padding: 1.75rem 1rem 1.5rem;
  background-color: #FFF;
  border: 2px solid #1b5ba8;
  border-radius: 0.75rem;
  overflow: hidden;
}

.c-job-card__title {
  color: #282d32;
  font-weight: 700;
  font-size: 1.25rem;
  text-align: center;
}

.c-job-card__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 10rem;
  height: 12.25rem;
}
.c-job-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-job-card__button {
  position: relative;
  width: 100%;
  max-width: 13.6875rem;
  height: 2.4375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 0.375rem;
  background-color: #1b5ba8;
  color: #FFF;
  font-weight: 500;
  font-size: 0.8125rem;
  text-align: center;
  padding-right: 0.75rem;
}
.c-job-card__button::after {
  content: "›";
  position: absolute;
  top: 46%;
  right: 0.875rem;
  translate: 0 -50%;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
.c-job-card__button.--closed {
  background-color: #b3b3b3;
  pointer-events: none;
}

.c-work-card {
  width: 100%;
  background-color: #FFF;
  -webkit-box-shadow: 4px 4px 3px rgba(0, 24, 104, 0.15);
          box-shadow: 4px 4px 3px rgba(0, 24, 104, 0.15);
}

.c-work-card__figure {
  position: relative;
  width: 100%;
  aspect-ratio: 878/430;
}
.c-work-card__figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-work-card__label {
  position: absolute;
  bottom: 0;
  left: 1.25rem;
  padding: 0.125rem 1.25rem;
  color: #001868;
  font-size: 1rem;
  line-height: 1.5;
  background-color: #FFF;
}

.c-work-card__body {
  padding: 0.75rem 1.25rem 1rem;
  color: #001868;
}

.c-work-card__title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.4;
}

.c-work-card__place {
  font-size: 1rem;
  line-height: 1.5;
}

.c-service-card {
  position: relative;
  width: 100%;
  aspect-ratio: 488/241;
  border-radius: clamp(2.1875rem, -0.625rem + 11.5384615385vw, 3.125rem);
  -webkit-box-shadow: 2px 2px 4px 0 rgba(0, 24, 104, 0.24);
          box-shadow: 2px 2px 4px 0 rgba(0, 24, 104, 0.24);
  background-color: transparent;
}
@media screen and (min-width: 768px) {
  .c-service-card {
    border-radius: 3.125rem;
  }
}

.c-service-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
}

.c-service-card__label {
  position: absolute;
  bottom: 0.625rem;
  left: 1.625rem;
  background-color: rgba(0, 0, 0, 0.28);
  color: #FFF;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  padding-inline: 0.625rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-service-card__label {
    font-size: 1.75rem;
  }
}

.l-inner {
  width: 100%;
  max-width: 35rem;
  padding-inline: 1.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 76.875rem;
    padding-inline: 2.5rem;
  }
}

.l-header {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  background-color: #fafafa;
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 4rem;
  padding-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    height: 5.6875rem;
    padding-left: 2.4375rem;
  }
}
@media screen and (min-width: 1440px) {
  .l-header__inner {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/* ロゴ */
.l-header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    gap: 0.875rem;
  }
}

.l-header__logo-mark {
  width: 2.5rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-header__logo-mark {
    width: 3.125rem;
  }
}

.l-header__logo-text {
  color: #333333;
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .l-header__logo-text {
    font-size: 1.75rem;
  }
}

.l-header__instagram {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-header__instagram {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 2.3125rem;
    margin-left: 1.5rem;
  }
}

/* メニュー */
.l-header__menu {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 101;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
  width: min(82%, 22.5rem);
  height: 100dvh;
  padding: 5.5rem 1.5rem 2.5rem;
  overflow-y: auto;
  background-color: #fafafa;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media screen and (min-width: 1440px) {
  .l-header__menu {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 0;
    width: auto;
    height: auto;
    padding: 0;
    overflow: visible;
    background-color: transparent;
    -webkit-transform: none;
            transform: none;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

/* ナビ */
.l-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1440px) {
  .l-header__nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    margin-inline: auto;
    padding-inline: 1.5rem;
  }
}

/* CTA（電話 + お問い合わせ） */
.l-header__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}
@media screen and (min-width: 1440px) {
  .l-header__cta {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.l-header__tel {
  position: relative;
  width: 14.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.4375rem;
  color: #FFF;
  background-color: #0053d7;
}
.l-header__tel::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.0625rem;
  translate: 0 -50%;
  width: 0.75rem;
  aspect-ratio: 12/20;
  background-color: #FFF;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.l-header__tel-lead {
  font-size: 0.8125rem;
  font-weight: 700;
}

.l-header__tel-num {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
}
.l-header__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.125rem;
  padding: 1.25rem 1.5625rem;
  color: #0053d7;
  font-weight: 700;
  font-size: 0.875rem;
  background-color: #ffc300;
}
.l-header__contact img {
  width: 2.1875rem;
  height: 1.8125rem;
}

/* ハンバーガーボタン（SPのみ） */
.l-drawer-button {
  position: fixed;
  top: 1.4375rem;
  right: 0.9375rem;
  width: 1.5rem;
  height: 1.5rem;
  -ms-flex-item-align: center;
      align-self: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.1875rem;
  -webkit-transition: top 0.4s, right 0.4s;
  transition: top 0.4s, right 0.4s;
  z-index: 102;
}
@media screen and (min-width: 768px) {
  .l-drawer-button {
    right: 1.5rem;
    width: 2.75rem;
    height: 2.75rem;
    gap: 0.375rem;
  }
}
@media screen and (min-width: 1440px) {
  .l-drawer-button {
    display: none;
  }
}
.l-drawer-button.is-checked {
  top: 1.875rem;
  right: 2.25rem;
}
@media screen and (min-width: 768px) {
  .l-drawer-button.is-checked {
    top: 1.4375rem;
  }
}

.l-drawer-button__bar {
  display: block;
  width: 1.25rem;
  height: 0.125rem;
  background-color: #001868;
  -webkit-transition: opacity 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 768px) {
  .l-drawer-button__bar {
    width: 2.25rem;
  }
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-child(1) {
  -webkit-transform: translateY(0.3125rem) rotate(45deg);
          transform: translateY(0.3125rem) rotate(45deg);
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .l-drawer-button.is-checked .l-drawer-button__bar:nth-child(1) {
    -webkit-transform: translateY(0.5rem) rotate(45deg);
            transform: translateY(0.5rem) rotate(45deg);
  }
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-child(2) {
  opacity: 0;
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-child(3) {
  -webkit-transform: translateY(-0.3125rem) rotate(-45deg);
          transform: translateY(-0.3125rem) rotate(-45deg);
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .l-drawer-button.is-checked .l-drawer-button__bar:nth-child(3) {
    -webkit-transform: translateY(-0.5rem) rotate(-45deg);
            transform: translateY(-0.5rem) rotate(-45deg);
  }
}

.l-drawer {
  position: fixed;
  top: 0.9375rem;
  right: 0.9375rem;
  translate: calc(100% + 0.9375rem);
  border: 4px solid #FFF;
  background-color: #001868;
  -webkit-box-shadow: 4px 4px 8.1px 0 rgba(0, 24, 104, 0.25);
          box-shadow: 4px 4px 8.1px 0 rgba(0, 24, 104, 0.25);
  -webkit-transition: translate 0.4s;
  transition: translate 0.4s;
  z-index: 101;
}
.l-drawer.is-checked {
  translate: 0 0;
}

.l-drawer__box {
  border-top: 2px solid #FFF;
  margin: 2.875rem 1.25rem 0;
}
@media screen and (min-width: 768px) {
  .l-drawer__box {
    margin-top: 3.25rem;
  }
}

.l-drawer__list {
  padding: 1.25rem 1.375rem;
}

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

.l-drawer__link {
  color: #FFF;
  font-family: "Press Start 2P", cursive;
  font-size: 0.875rem;
  line-height: 1.4;
  padding-block: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .l-drawer__link {
    font-size: 1rem;
  }
}

/* ドロワー展開中のスクロールロック */
body.is-fixed {
  overflow: hidden;
}

.l-footer {
  position: relative;
  background-color: #001868;
  color: #FFF;
  padding-block: 1.375rem;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-block: 1rem 0.375rem;
  }
}

.l-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-footer__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
    padding-inline: 5rem 3.125rem;
  }
}

/* 左：会社情報 */
.l-footer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .l-footer__info {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.l-footer__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.875rem;
}

.l-footer__logo-mark {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.125rem;
}
@media screen and (min-width: 768px) {
  .l-footer__logo-mark {
    width: 3.5625rem;
  }
}

.l-footer__logo-name {
  font-family: "Noto Serif JP", serif;
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.l-footer__address {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.94;
  margin-top: 0.25rem;
}

.l-footer__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.125rem;
  margin-top: 0.25rem;
}

.l-footer__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.l-footer__tel img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
}

.l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1.375rem;
}

/* 中央：ポリシー */
.l-footer__link {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-top: auto;
}

.l-footer__pagetop {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.8125rem;
}
@media screen and (min-width: 768px) {
  .l-footer__pagetop {
    margin-left: auto;
  }
}

.l-footer__copyright {
  text-align: center;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 2.72;
  letter-spacing: 0.04em;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .l-footer__copyright {
    margin-top: 0;
  }
}

.l-footer__crane {
  position: absolute;
  top: -3.75rem;
  right: 0.5rem;
  width: 5rem;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .l-footer__crane {
    top: -1.75rem;
    right: 9.0625rem;
    width: 6.625rem;
  }
}

.l-cta {
  background: url(../img/cta-bg.webp) center/cover no-repeat;
  padding-block: 6.25rem 3.0625rem;
}
@media screen and (min-width: 768px) {
  .l-cta {
    padding-block: 9.4375rem 3.0625rem;
  }
}

.l-cta__list {
  display: grid;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .l-cta__list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1.25rem, -1.3786764706rem + 3.8235294118vw, 2.0625rem);
  }
}

.l-cta__item {
  border: 5px solid #001868;
  background-color: #FBF7EF;
  -webkit-box-shadow: 4px 4px 4px 0 rgba(0, 24, 104, 0.2);
          box-shadow: 4px 4px 4px 0 rgba(0, 24, 104, 0.2);
  padding: 0 1.4375rem 1.125rem 1.125rem;
  -webkit-transition: translate 0.6s;
  transition: translate 0.6s;
}
@media screen and (min-width: 768px) {
  .l-cta__item {
    position: relative;
    height: 100%;
  }
}
@media (any-hover: hover) {
  .l-cta__item:hover {
    opacity: 1;
    translate: 0 -0.75rem;
  }
}

.l-cta__item-title {
  position: relative;
  margin: -1.75rem auto 0;
}
@media screen and (min-width: 768px) {
  .l-cta__item-title {
    margin-top: -2.625rem;
  }
}
.l-cta__item-title::before {
  content: "";
  position: absolute;
}
.l-cta__item-title.--01::before {
  bottom: -1rem;
  left: -5rem;
  width: 6.0625rem;
  aspect-ratio: 121/148;
  background: url(../img/cta-icon-01.webp) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .l-cta__item-title.--01::before {
    left: -6.0625rem;
    width: 7.5625rem;
  }
}
.l-cta__item-title.--02::before {
  bottom: -1.875rem;
  right: -5.75rem;
  width: 6.625rem;
  aspect-ratio: 133/162;
  background: url(../img/cta-icon-02.webp) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .l-cta__item-title.--02::before {
    right: -7.1875rem;
    width: 8.3125rem;
  }
}

.l-cta__item-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  margin-top: 0.875rem;
}
@media screen and (min-width: 768px) {
  .l-cta__item-body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.l-cta__item-img {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .l-cta__item-img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    aspect-ratio: unset;
    width: clamp(13.75rem, 9.9080882353rem + 5.5882352941vw, 14.9375rem);
  }
}
.l-cta__item-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .l-cta__item-img img {
    height: auto;
  }
}

@media screen and (min-width: 768px) {
  .l-cta__item-content {
    padding-bottom: 4.625rem;
  }
}

.l-cta__item-text {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .l-cta__item-text {
    font-size: 1.125rem;
  }
}
.l-cta__item-text.--large {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .l-cta__item-text.--large {
    font-size: 1.375rem;
    margin-top: 0.75rem;
  }
}

.l-cta__item-button {
  margin: 1.25rem auto 0;
}
@media screen and (min-width: 768px) {
  .l-cta__item-button {
    position: absolute;
    bottom: 0;
    right: 0;
    width: clamp(13.875rem, 9.8308823529rem + 5.8823529412vw, 15.125rem);
    border-radius: 0.3125rem 0 0 0;
    font-size: 1.125rem;
    padding-right: 2.5rem;
    margin: 0;
  }
}

/*----------------------------------
  下層ページ用トークン（Figma 採用ページより）
  ※ foundation/_variables.scss は変更せず、下層専用の色だけをここに追加する
----------------------------------*/
.l-bg {
  background: center/48rem auto repeat-y;
}
@media screen and (min-width: 768px) {
  .l-bg {
    background-size: 90rem auto;
  }
}
@media screen and (min-width: 1440px) {
  .l-bg {
    background-size: 100% auto;
  }
}
.l-bg.--blue {
  background-image: url(../img/blue-bg.webp);
}
.l-bg.--cats {
  background-image: url(../img/cats-bg.webp);
}

.p-main-visual {
  position: relative;
  aspect-ratio: 390/1253;
}
@media screen and (min-width: 768px) {
  .p-main-visual {
    aspect-ratio: 1440/1018;
  }
}

.p-main-visual__heading {
  width: 78.9743589744vw;
  padding-top: 62.5641025641vw;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-main-visual__heading {
    width: 49.7916666667vw;
    padding-top: 12.0833333333vw;
  }
}

.p-main-visual__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}

.p-main-visual__cta {
  width: 63.3333333333vw;
  display: block;
  margin: 10.5128205128vw auto 0;
  -webkit-transition: scale 0.4s;
  transition: scale 0.4s;
}
@media screen and (min-width: 768px) {
  .p-main-visual__cta {
    width: 27.7777777778vw;
    margin-top: 1.4583333333vw;
  }
}
@media (any-hover: hover) {
  .p-main-visual__cta:hover {
    opacity: 1;
    scale: 1.05;
  }
}

.p-recruit {
  position: relative;
  overflow: hidden;
  padding-block: 3.75rem 3rem;
  background: url(../img/recruit-bg-sp.webp) top center/cover no-repeat;
  margin-top: -1px;
}
@media screen and (min-width: 768px) {
  .p-recruit {
    background-image: url(../img/recruit-bg.webp);
    padding-block: 4.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-recruit__inner {
    max-width: 71.6875rem;
  }
}

.p-recruit__list {
  display: grid;
  gap: 1rem;
  width: 100%;
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-recruit__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.3125rem;
    margin-top: 2.25rem;
  }
}

.p-recruit__cta {
  margin: 1.5rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-recruit__cta {
    margin-top: 2.0625rem;
  }
}

.p-recruit__mascot {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-recruit__mascot {
    display: block;
    position: absolute;
    left: 3.3125rem;
    bottom: 1.5rem;
    width: 8.375rem;
    height: auto;
    pointer-events: none;
  }
}

.p-message {
  position: relative;
  padding-block: 5rem;
  background: url("../img/msg-bg.webp") center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-message {
    padding-block: 8.1875rem;
  }
}

.p-message__card {
  position: relative;
  width: 100%;
  padding: 2.1875rem 1rem;
  background-color: #fbf7ef;
  border: 5px solid #001868;
}
@media screen and (min-width: 768px) {
  .p-message__card {
    padding: 3.4375rem 1.25rem;
  }
}

.p-message__heading {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  white-space: nowrap;
}

/* 代表メッセージ */
.p-message__intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  padding-block: 1.25rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-message__intro {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.3125rem;
    padding-block: 3.75rem 4.375rem;
  }
}

.p-message__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(20.125rem, 100%);
  aspect-ratio: 322/311;
}
.p-message__photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-message__body {
  color: #333333;
}
@media screen and (min-width: 768px) {
  .p-message__body {
    width: 38.375rem;
  }
}

.p-message__body-title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-message__body-title {
    font-size: 1.5rem;
  }
}

.p-message__body-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-message__body-text {
    margin-top: 2rem;
  }
}

.p-message__body-name {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 1.5rem;
}

/* 大切にしていること */
.p-message__subheading {
  width: 17.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-message__subheading {
    width: 18.8125rem;
  }
}

.p-message__points {
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-message__points {
    max-width: 60.625rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.25rem;
    margin-inline: auto;
  }
}

.p-message__point {
  width: 18.6875rem;
  height: 19.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
  padding-inline: 3.125rem;
  text-align: center;
  background: no-repeat center/100% 100%;
}
@media screen and (min-width: 768px) {
  .p-message__point {
    width: 100%;
  }
}
.p-message__point.--green {
  background-image: url("../img/frame-green.svg");
}
.p-message__point.--green .p-message__point-icon {
  width: 3.4375rem;
}
.p-message__point.--yellow {
  background-image: url("../img/frame-yellow.svg");
}
.p-message__point.--yellow .p-message__point-icon {
  width: 5rem;
}
.p-message__point.--blue {
  background-image: url("../img/frame-blue.svg");
}
.p-message__point.--blue .p-message__point-icon {
  width: 6.375rem;
}

.p-message__point-title {
  color: #00174b;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-message__point-line {
  width: 100%;
  height: 1px;
  background-color: #000;
}

.p-message__point-text {
  text-align: left;
  color: #333333;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-message__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-message__buttons {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5rem;
    margin-top: 2rem;
  }
}

.p-works {
  position: relative;
  padding-block: 3rem;
  background: url(../img/work-bg.webp) center top no-repeat;
  background-size: auto 106.25rem;
}
@media screen and (min-width: 768px) {
  .p-works {
    background-size: 90rem auto;
    padding-block: 4.875rem 5.0625rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-works {
    background-size: 100% auto;
  }
}

/* フィルタタブ */
.p-works__tabs,
.p-business-service__tabs {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem 1rem;
  width: 100%;
  max-width: 20rem;
  padding: 1rem 0rem;
  border-block: 5px solid #FEC201;
  background-color: #00174B;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-works__tabs,
  .p-business-service__tabs {
    max-width: 44.375rem;
    height: 140px;
    gap: 20px 25px;
    padding: 19px 10px;
    margin-top: 2.875rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-works__tabs,
  .p-business-service__tabs {
    max-width: 71.25rem;
    height: 5.25rem;
  }
}
.p-works__tabs::before, .p-works__tabs::after,
.p-business-service__tabs::before,
.p-business-service__tabs::after {
  content: "";
  position: absolute;
  top: -5px;
  width: 25px;
  aspect-ratio: 25/116;
}
@media screen and (min-width: 768px) {
  .p-works__tabs::before, .p-works__tabs::after,
  .p-business-service__tabs::before,
  .p-business-service__tabs::after {
    width: 33px;
    aspect-ratio: 33/140;
  }
}
@media screen and (min-width: 1440px) {
  .p-works__tabs::before, .p-works__tabs::after,
  .p-business-service__tabs::before,
  .p-business-service__tabs::after {
    aspect-ratio: 33/84;
  }
}
.p-works__tabs::before,
.p-business-service__tabs::before {
  left: -1.5rem;
  background: url(../img/work-tab-frame-left-sp.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-works__tabs::before,
  .p-business-service__tabs::before {
    left: -32px;
    background: url(../img/work-tab-frame-left-tab.png) center/contain no-repeat;
  }
}
@media screen and (min-width: 1440px) {
  .p-works__tabs::before,
  .p-business-service__tabs::before {
    background: url(../img/work-tab-frame-left-pc.png) center/contain no-repeat;
  }
}
.p-works__tabs::after,
.p-business-service__tabs::after {
  right: -1.5rem;
  background: url(../img/work-tab-frame-right-sp.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-works__tabs::after,
  .p-business-service__tabs::after {
    right: -32px;
    background: url(../img/work-tab-frame-right-tab.png) center/contain no-repeat;
  }
}
@media screen and (min-width: 1440px) {
  .p-works__tabs::after,
  .p-business-service__tabs::after {
    background: url(../img/work-tab-frame-right-pc.png) center/contain no-repeat;
  }
}

.p-works__tab,
.p-business-service__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #FFF;
  border-radius: 0.3125rem;
  -webkit-box-shadow: 2px 2px 4px rgba(0, 24, 104, 0.25);
          box-shadow: 2px 2px 4px rgba(0, 24, 104, 0.25);
  text-align: center;
  color: #001868;
  font-size: 0.9375rem;
  font-weight: 700;
  padding: 0.3125rem 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-works__tab,
  .p-business-service__tab {
    width: 12.375rem;
    font-size: 1.125rem;
  }
}
.p-works__tab.--active,
.p-business-service__tab.--active {
  color: #FFF;
  background-color: #0047b4;
}

/* 実績ボックス */
.p-works__body {
  display: none;
  width: 21.875rem;
  gap: 1rem;
  padding: 1.5rem 0.625rem;
  background-color: #fbf7ef;
  border: 3px solid #001868;
  margin: 0.9375rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-works__body {
    width: 100%;
    grid-template-columns: 56.6875rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: 5px solid #001868;
    padding: 4.5rem 1.25rem 7rem;
  }
}
.p-works__body.--active {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-works__body.--main {
    grid-template-columns: repeat(2, clamp(30rem, 21.9117647059rem + 11.7647058824vw, 32.5rem));
    gap: 1.125rem clamp(1.25rem, -1.9852941176rem + 4.7058823529vw, 2.25rem);
    padding: 3rem 1.25rem;
  }
}

.p-works__box-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  color: #001868;
  font-size: 1.125rem;
  font-weight: 700;
  padding-left: 1.625rem;
}
@media screen and (min-width: 768px) {
  .p-works__box-title {
    font-size: 1.5rem;
    padding-left: 5.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-works__box-title.--main {
    padding-left: 1.625rem;
  }
}

.p-works__box-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-works__box-icon {
    width: 2.1875rem;
  }
}

.p-works__box-frame {
  aspect-ratio: 329/295;
  background: url(../img/work-frame-sp.png) center/contain no-repeat;
  padding: 1rem 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-works__box-frame {
    aspect-ratio: 907/234;
    background: url(../img/work-frame-02.png) center/contain no-repeat;
    padding: 1.4375rem 0.625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-works__box-frame.--main {
    aspect-ratio: 512/233;
    background: url(../img/work-frame.png) center/contain no-repeat;
    padding: clamp(0.75rem, -1.4742647059rem + 3.2352941176vw, 1.4375rem) 0.625rem;
  }
}

.p-works__list {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-works__list {
    width: 34.375rem;
    height: 12.1875rem;
    margin-inline: 7.625rem 0;
  }
}
@media screen and (min-width: 768px) {
  .p-works__list.--main {
    width: 28.75rem;
    margin-inline: auto;
  }
}

.p-works__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
  border-bottom: 1px solid #FFBF02;
  padding-block: 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-works__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.375rem;
    padding: 0.5625rem 0 0.5625rem 0.3125rem;
  }
}
.p-works__item:last-child {
  border-bottom: none;
}
.p-works__item:first-child {
  border-bottom: 1px solid #FFBF02;
}

.p-works__year {
  width: 3.5625rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #FFBF02;
  border-radius: 0.375rem;
  color: #001868;
  font-family: "Press Start 2P", cursive;
  font-size: 0.9375rem;
  padding: 0.3125rem 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-works__year {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 4.125rem;
    font-size: 1.125rem;
  }
}

.p-works__item-text {
  color: #333333;
  font-size: 0.84375rem;
}
@media screen and (min-width: 768px) {
  .p-works__item-text {
    font-size: 1.125rem;
  }
}

.p-service {
  position: relative;
  background: url("../img/service-bg.webp") center bottom/cover no-repeat;
  padding-block: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-service {
    padding-block: 5.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-service__inner {
    max-width: 67.5rem;
  }
}

.p-service__list {
  width: 100%;
  display: grid;
  gap: 1.125rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-service__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem 2.1875rem;
    margin-top: 5.1875rem;
  }
}

.p-news__wrap {
  background: url(../img/news-bg.webp) center/cover no-repeat;
}

.p-news {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-news {
    padding-top: 6.25rem;
  }
}

.p-news__card {
  position: relative;
  width: 100%;
  padding: 3.5rem 1.25rem 2.5rem;
  background-color: #fbf7ef;
  border: 5px solid #001868;
}
@media screen and (min-width: 768px) {
  .p-news__card {
    padding: 4.625rem 1.25rem 3.375rem;
  }
}

.p-news__heading {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-news__illust {
  position: absolute;
  top: -4.75rem;
  left: 50%;
  translate: 3.5rem 0;
  width: 5rem;
}
@media screen and (min-width: 768px) {
  .p-news__illust {
    width: 6.1875rem;
  }
}

.p-news__lead {
  text-align: center;
  color: #2a3148;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-news__list {
  width: 100%;
  max-width: 46.1875rem;
  border-top: 1px solid #FFBF02;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-news__list {
    margin-top: 2.625rem;
  }
}

.p-news__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  padding: 1rem 1.625rem 1rem 0.625rem;
  border-bottom: 1px solid #FFBF02;
}
@media screen and (min-width: 768px) {
  .p-news__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.625rem;
    padding: 1.25rem 1.875rem 1.25rem 2.5rem;
  }
}
.p-news__item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 1.25rem;
  aspect-ratio: 1/1;
  background: url(../img/btn-arrow-orange.svg) center/contain no-repeat;
}

.p-news__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.625rem;
}

.p-news__date {
  color: #2a3148;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-top: 0.125rem;
}

.p-news__category {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 1.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #FFBF02;
  color: #FFF;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  padding-inline: 0.3125rem;
}

.p-news__title {
  color: #2a3148;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-news__button {
  margin: 1.25rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-news__button {
    margin-top: 2.0625rem;
  }
}

.p-instagram {
  padding-block: 3rem 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-instagram {
    padding-block: 4.25rem 5.625rem;
  }
}
.p-instagram .sbi_feedtheme_header_text {
  color: #FFF;
  font-weight: 700;
}

.p-instagram__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-instagram__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.875rem;
    margin-top: 3rem;
  }
}

.p-instagram__item {
  aspect-ratio: 1/1;
  background-color: #D9D9D9;
}

.p-instagram__button {
  margin: 1.25rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-instagram__button {
    margin-top: 2.125rem;
  }
}

.p-footer-nav {
  position: relative;
  overflow: hidden;
  padding-block: 3rem 5rem;
  padding-inline: 1.25rem;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-footer-nav {
    padding: 3.8125rem 5rem 14.0625rem;
  }
}

.p-footer-nav__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-footer-nav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: clamp(2.25rem, -2.6029411765rem + 7.0588235294vw, 3.75rem);
  }
}

.p-footer-nav__col {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-footer-nav__col {
    width: 9rem;
  }
}

.p-footer-nav__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 5.625rem;
}
@media screen and (min-width: 768px) {
  .p-footer-nav__icon {
    height: 7.8125rem;
  }
}
.p-footer-nav__icon img {
  width: auto;
  height: 100%;
}

.p-footer-nav__title {
  color: #333333;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.5;
  text-align: center;
}

.p-footer-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  width: 100%;
}

.p-footer-nav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  color: #333333;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
}
.p-footer-nav__link::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4375rem 0.3125rem 0 0.3125rem;
  border-color: #333333 transparent transparent transparent;
}

.p-footer-nav__divider {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-footer-nav__divider {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: block;
    -ms-flex-item-align: center;
        align-self: center;
    width: 1px;
    height: 23.375rem;
    background-color: #FFBF02;
  }
}

.p-footer-nav__mascot {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-footer-nav__mascot {
    display: block;
    position: absolute;
    bottom: 2.1875rem;
    z-index: 1;
    width: 7.5rem;
    height: auto;
    pointer-events: none;
  }
}
.p-footer-nav__mascot.--left {
  left: 1.875rem;
}
.p-footer-nav__mascot.--right {
  right: 1.875rem;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.p-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  display: grid;
  place-items: center;
  z-index: 200;
  -webkit-transition: visibility 0.8s, opacity 0.8s;
  transition: visibility 0.8s, opacity 0.8s;
}
.p-loading.is-loaded {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
  visibility: hidden;
  opacity: 0;
}
.p-loading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -13.75rem;
  width: 9.25rem;
  aspect-ratio: 1/1;
  background: url(../img/loading-photo.gif) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-loading::before {
    translate: 13.5rem -50%;
  }
}

.p-loading__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 1;
}

.p-loading__bg-stripe {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  scale: 0 1;
  height: 100%;
  background-color: #FFF;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  margin-top: -1px;
}

.p-loading.is-loaded .p-loading__bg-stripe {
  scale: 1 1;
}

.p-loading.is-loaded .p-loading__bg-stripe:nth-child(1) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.p-loading.is-loaded .p-loading__bg-stripe:nth-child(2) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.p-loading.is-loaded .p-loading__bg-stripe:nth-child(3) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.p-loading.is-loaded .p-loading__bg-stripe:nth-child(4) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.p-loading.is-loaded .p-loading__bg-stripe:nth-child(5) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.p-loading.is-loaded .p-loading__bg-stripe:nth-child(6) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.p-loading.is-loaded .p-loading__bg-stripe:nth-child(7) {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.p-loading__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 0;
}

.p-loading__text {
  color: #FFBF02;
  font-family: "Press Start 2P", cursive;
  font-size: 1.5rem;
}

.p-loading__body {
  width: 22.5rem;
  height: 1.5625rem;
  background-color: #D9D9D9;
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-loading__body {
    width: 28.3125rem;
  }
}

.p-loading__bar {
  position: relative;
  width: 0%;
  height: 100%;
  overflow: hidden;
}
.p-loading__bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 22.5rem;
  height: 100%;
  background: url(../img/loading-bar.png) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-loading__bar::before {
    width: 28.3125rem;
  }
}

.p-loading__percent {
  color: #FFBF02;
  font-family: "Press Start 2P", cursive;
  font-size: 1.5rem;
  margin-top: 0.75rem;
}

.u-hidden-sp {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-hidden-sp {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none;
  }
}

@media (any-hover: hover) {
  a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  a:hover {
    opacity: 0.7;
  }
}
.u-fade-in {
  translate: 0 5rem;
  opacity: 0;
  -webkit-transition: translate 0.8s ease-in-out, opacity 0.8s ease-in-out;
  transition: translate 0.8s ease-in-out, opacity 0.8s ease-in-out;
}
.u-fade-in.is-in-view {
  translate: 0 0;
  opacity: 1;
}

.u-icon {
  -webkit-animation: icon ease 5s infinite;
          animation: icon ease 5s infinite;
}

@-webkit-keyframes icon {
  0% {
    translate: 0 0;
  }
  30% {
    translate: 0 0;
  }
  34% {
    translate: 0 -1rem;
  }
  38% {
    translate: 0 0;
  }
  60% {
    translate: 0 0;
  }
  64% {
    translate: 0 -0.5rem;
  }
  68% {
    translate: 0 0;
  }
  72% {
    translate: 0 -0.5rem;
  }
  76% {
    translate: 0 0;
  }
  100% {
    translate: 0 0;
  }
}

@keyframes icon {
  0% {
    translate: 0 0;
  }
  30% {
    translate: 0 0;
  }
  34% {
    translate: 0 -1rem;
  }
  38% {
    translate: 0 0;
  }
  60% {
    translate: 0 0;
  }
  64% {
    translate: 0 -0.5rem;
  }
  68% {
    translate: 0 0;
  }
  72% {
    translate: 0 -0.5rem;
  }
  76% {
    translate: 0 0;
  }
  100% {
    translate: 0 0;
  }
}
/*----------------------------------
  下層ページ（採用ページ）
----------------------------------*/
.c-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 11.25rem;
  aspect-ratio: 216/70.3;
  padding-bottom: 0.375rem;
  background: url(../img/label-frame.svg) center/100% 100% no-repeat;
  color: #FFF;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-label {
    width: 13.5rem;
    padding-bottom: 0.5625rem;
    font-size: 1.75rem;
  }
}

.c-strength-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.5897435897vw;
  width: 100%;
  padding: 6.1538461538vw 7.1794871795vw 7.6923076923vw;
  background: url(../img/recruit-strength-frame.svg) center/100% 100% no-repeat;
}
@media screen and (min-width: 768px) {
  .c-strength-card {
    gap: 1.375rem;
    min-height: 17.5rem;
    padding: 2rem 1.3125rem 2.6875rem;
  }
}

.c-strength-card__title {
  color: #00174b;
  font-size: 4.6153846154vw;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-strength-card__title {
    min-height: 4.125rem;
    font-size: 1.5rem;
  }
}

.c-strength-card__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 8.7179487179vw;
}
@media screen and (min-width: 768px) {
  .c-strength-card__icon {
    height: 2.625rem;
  }
}
.c-strength-card__icon img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-strength-card__text {
  color: #00174b;
  font-size: 3.3333333333vw;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-strength-card__text {
    font-size: 0.9916875rem;
  }
}

.l-breadcrumb {
  background-color: #ececec;
  padding-block: 0.625rem;
}

.l-breadcrumb__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5625rem;
  width: 100%;
  max-width: 71.25rem;
  padding-inline: 1.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-breadcrumb__inner {
    max-width: 73.75rem;
    padding-inline: 2.5rem;
  }
}

.l-breadcrumb__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  color: #0091db;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
.l-breadcrumb__link::after {
  content: "";
  width: 0.3125rem;
  height: 0.5625rem;
  background: url(../img/breadcrumb-arrow.svg) center/contain no-repeat;
}

.l-breadcrumb__current {
  color: #333333;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-recruit-mv {
  position: relative;
  overflow: hidden;
  padding-block: 7.1794871795vw 6.1538461538vw;
}
@media screen and (min-width: 768px) {
  .p-recruit-mv {
    aspect-ratio: 1440/680;
    padding-block: 0;
  }
}

.p-recruit-mv__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.p-recruit-mv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}

.p-recruit-mv__heading {
  width: 84.6153846154vw;
  max-width: 20.625rem;
  margin-inline: auto;
}
.p-recruit-mv__heading img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-recruit-mv__heading {
    position: absolute;
    left: 29.9305555556vw;
    top: 5.6944444444vw;
    width: 38.9583333333vw;
    max-width: none;
    margin-inline: 0;
  }
}

.p-recruit-mv__mission {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 89.7435897436vw;
  max-width: 21.875rem;
  margin: 4.1025641026vw auto 0;
}
@media screen and (min-width: 768px) {
  .p-recruit-mv__mission {
    left: 30.0694444444vw;
    top: 25.9722222222vw;
    width: 39.7916666667vw;
    max-width: none;
    margin: 0;
    position: absolute;
  }
}

.p-recruit-mv__mission-plate {
  width: 100%;
  height: auto;
}

.p-recruit-mv__mission-text {
  position: absolute;
  left: 50%;
  top: 47.5%;
  translate: -50% 0;
  width: 100%;
  color: #FFF;
  font-size: 3.8461538462vw;
  font-weight: 700;
  text-align: center;
  text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.7);
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-recruit-mv__mission-text {
    font-size: 1.8055555556vw;
  }
}

.p-recruit-mv__figures {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.0256410256vw;
  margin-top: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .p-recruit-mv__figures {
    display: contents;
  }
}

.p-recruit-mv__man {
  width: 28.7179487179vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-recruit-mv__man {
    position: absolute;
    width: 12.8680555556vw;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-mv__man.--suit {
    left: 3.6111111111vw;
    top: 27.8472222222vw;
  }
}
.p-recruit-mv__man.--helmet {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
@media screen and (min-width: 768px) {
  .p-recruit-mv__man.--helmet {
    left: 17.3611111111vw;
    top: 30.9722222222vw;
  }
}

.p-recruit-mv__sign {
  width: 51.2820512821vw;
  margin: 3.0769230769vw 2.5641025641vw 0 auto;
}
.p-recruit-mv__sign img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-recruit-mv__sign {
    position: absolute;
    left: 74.1666666667vw;
    top: 33.0555555556vw;
    width: 23.125vw;
    margin: 0;
  }
}

.p-benefits {
  position: relative;
  overflow: hidden;
  padding-block: 14.358974359vw;
  background: url(../img/recruit-benefits-bg.webp) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-benefits {
    padding-block: 7.5rem;
  }
}
.p-benefits::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.45);
}

.p-benefits__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-benefits__inner {
    gap: 2.75rem;
  }
}

.p-benefits__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  width: 100%;
  max-width: 53.25rem;
}
@media screen and (min-width: 768px) {
  .p-benefits__head {
    gap: 1.5625rem;
  }
}

.p-benefits__lead {
  color: #00174b;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-benefits__lead {
    font-size: 1rem;
  }
}

.p-benefits__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-benefits__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.6875rem;
  }
}

.p-benefits__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.1794871795vw;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-benefits__main {
    gap: 3.125rem;
    width: 40.5625rem;
  }
}

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

.p-benefits__points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.0512820513vw;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-benefits__points {
    gap: 1.125rem;
    width: 36.375rem;
  }
}

.p-benefits__point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.0769230769vw;
  max-width: 11.375rem;
  padding: 3.5897435897vw 2.0512820513vw;
  background-color: rgba(255, 255, 255, 0.59);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-benefits__point {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.25rem;
    min-height: 12.5625rem;
    padding: 1.0625rem 1.125rem;
  }
}

.p-benefits__point-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  .p-benefits__point-icon {
    height: 5.5625rem;
  }
}
.p-benefits__point-icon img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-benefits__point-title {
  color: #00174b;
  font-size: 3.8461538462vw;
  font-weight: 700;
  line-height: 1.32;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-benefits__point-title {
    font-size: 1.5rem;
  }
}

.p-benefits__license {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 32.3125rem;
  padding: 3rem 1.125rem 2.375rem;
  border: 0.3125rem solid #001868;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-benefits__license {
    min-height: 34.0625rem;
    padding: 3.5rem 1.125rem 2.375rem;
  }
}

.p-benefits__license-label {
  position: absolute;
  left: 50%;
  top: 0.6875rem;
  translate: -50% -50%;
}

.p-benefits__license-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 26.375rem;
}

.p-benefits__license-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.5897435897vw;
  padding: 0.375rem 0.75rem;
  border-bottom: 1px solid #FFBF02;
}
.p-benefits__license-item:last-child {
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .p-benefits__license-item {
    gap: 1.5625rem;
  }
}

.p-benefits__license-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.641025641vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-benefits__license-icon {
    width: 2.0625rem;
  }
}

.p-benefits__license-text {
  color: #333333;
  font-size: 4.1025641026vw;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-benefits__license-text {
    font-size: 1.375rem;
  }
}

.p-benefits__man {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-benefits__man {
    display: block;
    position: absolute;
    right: -1.9375rem;
    bottom: -6rem;
    width: 10.6875rem;
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
    pointer-events: none;
  }
}
@media screen and (min-width: 1440px) {
  .p-benefits__man {
    bottom: -2.875rem;
  }
}

.p-strength {
  padding-block: 12.3076923077vw;
  background-color: #52ABFF;
}
@media screen and (min-width: 768px) {
  .p-strength {
    padding-block: 7.5rem;
  }
}

.p-strength__box {
  position: relative;
  width: 100%;
  max-width: 59.5rem;
  padding: 10.2564102564vw 4.6153846154vw 8.2051282051vw;
  border: 0.3125rem solid #001868;
  background-color: #fbf7ef;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-strength__box {
    padding: 4.6875rem 4.625rem;
  }
}

.p-strength__label {
  position: absolute;
  left: 50%;
  top: -0.9375rem;
  translate: -50% 0;
}

.p-strength__list {
  display: grid;
  gap: 4.1025641026vw;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-strength__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5625rem;
  }
}

.p-flow {
  position: relative;
  overflow: hidden;
  padding-block: 12.3076923077vw;
  background: url(../img/recruit-flow-bg.webp) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-flow {
    padding-block: 7.5rem;
  }
}
.p-flow::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.3);
}

.p-flow__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.875rem;
}

.p-flow__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 50.9375rem;
}

.p-flow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.0769230769vw;
  width: 100%;
  padding: 4.1025641026vw;
  border: 0.3125rem solid #001868;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-flow__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3.375rem;
    min-height: 9.0625rem;
    padding: 0.875rem 1.5rem;
  }
}

.p-flow__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .p-flow__label {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    gap: 1.875rem;
    width: 12.1875rem;
  }
}

.p-flow__num {
  width: 9.7435897436vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-flow__num {
    width: 3.505625rem;
  }
}

.p-flow__title {
  color: #00174b;
  font-size: 5.1282051282vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-flow__title {
    font-size: 1.5rem;
  }
}

.p-flow__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 0.75rem;
  border-radius: 0.625rem;
  background-color: #FFF;
  color: #00174b;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-flow__text {
    width: 32.375rem;
    min-height: 6rem;
    font-size: 1rem;
  }
}

.p-flow__arrow {
  position: relative;
  width: 14.358974359vw;
  height: 12.8205128205vw;
  margin-top: -3.5897435897vw;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-flow__arrow {
    width: 4.80625rem;
    height: 4.25rem;
    margin-top: -1.25rem;
  }
}
.p-flow__arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/recruit-flow-arrow.svg) center/contain no-repeat;
  rotate: 180deg;
}

.p-flow__arrow-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 4.8717948718vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-flow__arrow-icon {
    width: 1.635875rem;
  }
}

.p-flow__excavator {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-flow__excavator {
    display: block;
    position: absolute;
    left: 85.2430555556vw;
    top: 0.9027777778vw;
    width: 11.5972222222vw;
    height: auto;
    pointer-events: none;
  }
}

.p-voice {
  position: relative;
  overflow: hidden;
  padding-block: 12.3076923077vw;
  background: url(../img/recruit-voice-bg.webp) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-voice {
    padding-block: 7.5rem;
  }
}
.p-voice::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(117, 116, 116, 0.35);
}

.p-voice__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.875rem;
}

.p-voice__card {
  width: 100%;
  max-width: 66.875rem;
  padding: 6.1538461538vw 4.1025641026vw;
  border: 0.3125rem solid #001868;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-voice__card {
    padding: 3.25rem 2.8125rem;
  }
}

.p-voice__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-voice__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-block: 1.0625rem;
  }
}

.p-voice__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 41.0256410256vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-voice__photo {
    width: 14.5625rem;
  }
}

.p-voice__content {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-voice__content {
    width: 41.5625rem;
  }
}

.p-voice__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .p-voice__meta {
    gap: 2.125rem;
  }
}

.p-voice__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 6.5rem;
  padding: 0.1875rem 1rem;
  border-radius: 1.6875rem;
  background-color: #FFBF02;
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-voice__name {
    font-size: 1.125rem;
  }
}

.p-voice__role {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3125rem;
  color: #00174b;
  font-size: 4.1025641026vw;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-voice__role {
    font-size: 1.294375rem;
  }
}
.p-voice__role::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.75rem;
  height: 1.9375rem;
  background: url(../img/recruit-voice-arrow.svg) center/contain no-repeat;
  rotate: 90deg;
}

.p-voice__text {
  margin-top: 0.625rem;
  padding: 0.875rem 1.375rem 1.375rem;
  border: 0.1176875rem solid #1b5ba8;
  border-radius: 0.706rem;
  background-color: #FFF;
  color: #00174b;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-voice__text {
    font-size: 0.9375rem;
  }
}

.p-voice__cat {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-voice__cat {
    display: block;
    position: absolute;
    left: 81.7361111111vw;
    bottom: 5.6944444444vw;
    width: 11.1111111111vw;
    height: auto;
    pointer-events: none;
  }
}

.p-joblist {
  position: relative;
  overflow: hidden;
  padding-block: 12.3076923077vw;
  background: url(../img/recruit-list-bg.webp) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-joblist {
    padding-block: 7.5rem;
  }
}
.p-joblist::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.46);
}

.p-joblist__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.875rem;
}

.p-joblist__panel {
  position: relative;
  width: 100%;
  max-width: 64.25rem;
  padding-block: 0.75rem 1.25rem;
  border-radius: 1.0625rem;
  background-color: rgba(255, 255, 255, 0.3);
}

.p-joblist__lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3125rem;
  color: #00174b;
  text-align: center;
  padding: 0.75rem 1.25rem;
}

.p-joblist__lead-title {
  font-size: 1.375rem;
  font-weight: 700;
}

.p-joblist__lead-text {
  font-size: 1rem;
  font-weight: 500;
}

.p-joblist__slider {
  position: relative;
  margin-top: 0.625rem;
}

.p-joblist__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.1025641026vw;
  padding-inline: 5.1282051282vw;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.p-joblist__track::-webkit-scrollbar {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-joblist__track {
    gap: 1.875rem;
    padding-inline: 4.375rem;
  }
}

.p-joblist__slide {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.9743589744vw;
          flex: 0 0 58.9743589744vw;
  scroll-snap-align: center;
}
@media screen and (min-width: 768px) {
  .p-joblist__slide {
    -ms-flex-preferred-size: 15.6875rem;
        flex-basis: 15.6875rem;
  }
}

.p-joblist__arrow {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  z-index: 1;
  width: 2.7884375rem;
  height: 2.7884375rem;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.p-joblist__arrow.--prev {
  left: -2.0512820513vw;
}
@media screen and (min-width: 768px) {
  .p-joblist__arrow.--prev {
    left: -1.375rem;
  }
}
.p-joblist__arrow.--next {
  right: -2.0512820513vw;
}
@media screen and (min-width: 768px) {
  .p-joblist__arrow.--next {
    right: -1.375rem;
  }
}
.p-joblist__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}
.p-joblist__arrow img {
  width: 100%;
  height: 100%;
}

.c-heading.--jp {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .c-heading.--jp {
    min-width: 13.3125rem;
    font-size: 1.4875rem;
  }
}

.l-page-mv {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  min-height: 38.4615384615vw;
  padding: 6.1538461538vw 5.1282051282vw;
  background: url(../img/page-mv-bg.webp) center bottom/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .l-page-mv {
    min-height: 26.3888888889vw;
    padding: 0 8.3333333333vw 0 13.1944444444vw;
  }
}
.l-page-mv::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.25);
}

.l-page-mv__title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.3076923077vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2.0512820513vw 4.6153846154vw;
  border: 0.1875rem solid #001868;
  background-color: #fbf7ef;
  color: #001868;
  font-size: 6.1538461538vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .l-page-mv__title {
    gap: 0.625vw;
    padding: 0.8333333333vw 2.2222222222vw;
    font-size: 3.125vw;
  }
}

.l-page-mv__title-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 4.6153846154vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-page-mv__title-icon {
    width: 2.4305555556vw;
  }
}

.l-page-mv__hearts {
  position: absolute;
  top: 2.5641025641vw;
  right: 2.5641025641vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .l-page-mv__hearts {
    top: 1.1111111111vw;
    right: 1.3194444444vw;
  }
}
.l-page-mv__hearts img {
  width: 5.641025641vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-page-mv__hearts img {
    width: 2.4050694444vw;
  }
}

.l-page-mv__figure {
  position: absolute;
  height: auto;
  pointer-events: none;
  -webkit-animation: icon ease 5s infinite;
          animation: icon ease 5s infinite;
}
.l-page-mv__figure.--01 {
  left: auto;
  right: 14.8717948718vw;
  bottom: 0;
  width: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  .l-page-mv__figure.--01 {
    left: 77.7777777778vw;
    right: auto;
    top: 15.1388888889vw;
    bottom: auto;
    width: 6.7361111111vw;
  }
}
.l-page-mv__figure.--02 {
  right: 2.0512820513vw;
  bottom: 0;
  width: 15.8974358974vw;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
@media screen and (min-width: 768px) {
  .l-page-mv__figure.--02 {
    left: 83.75vw;
    right: auto;
    top: 13.4722222222vw;
    bottom: auto;
    width: 8.0555555556vw;
  }
}

.p-about {
  position: relative;
  overflow: hidden;
  padding-block: 12.3076923077vw;
}
@media screen and (min-width: 768px) {
  .p-about {
    padding-block: 7.5rem;
  }
}

.p-about__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12.3076923077vw;
}
@media screen and (min-width: 768px) {
  .p-about__inner {
    gap: 7.5rem;
  }
}

/* 代表挨拶 */
.p-about__greeting {
  position: relative;
  width: 100%;
  max-width: 65.75rem;
  padding: 10.2564102564vw 4.1025641026vw;
  border: 0.3125rem solid #001868;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-about__greeting {
    padding: 5.5rem 2.8125rem;
  }
}

.p-about__greeting-heading {
  position: absolute;
  left: 50%;
  top: -2.15625rem;
  translate: -50% 0;
}

.p-about__greeting-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .p-about__greeting-body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.3125rem;
  }
}

.p-about__greeting-photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  max-width: 20.125rem;
  height: auto;
}

.p-about__greeting-text {
  color: #333333;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-about__greeting-text {
    width: 39.6875rem;
    font-size: 1rem;
  }
}

/* 品質方針・環境方針・情報セキュリティ基本方針 */
.p-about__policies {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6.1538461538vw;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-about__policies {
    gap: 3rem;
  }
}

.p-about__policy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.1025641026vw;
  width: 100%;
  max-width: 65.125rem;
  padding: 6.1538461538vw 4.1025641026vw;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-about__policy {
    gap: 2.5rem;
    padding: 2.5rem 2.5rem 2.5rem 3.125rem;
  }
}

.p-about__policy-title {
  color: #000;
  font-size: 5.641025641vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-about__policy-title {
    font-size: 2rem;
  }
}
.p-about__policy-title span {
  color: #52ABFF;
}

.p-about__policy-text {
  color: #333333;
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-about__policy-text {
    font-size: 1rem;
  }
}
.p-about__policy-text + .p-about__policy-text {
  margin-top: 1.5rem;
}

.p-about__policy-label {
  display: block;
  color: #52ABFF;
}

.p-about__policy-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-about__policy-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.375rem;
  color: #333333;
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-about__policy-item {
    font-size: 1rem;
  }
}
.p-about__policy-item::before {
  content: attr(data-num);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #52ABFF;
}

.p-about__cat {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-about__cat {
    display: block;
    position: absolute;
    right: -1.5625rem;
    bottom: -7.6875rem;
    width: 10rem;
    height: auto;
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
    pointer-events: none;
  }
}
@media screen and (min-width: 1440px) {
  .p-about__cat {
    right: -5.5625rem;
    bottom: -3.6875rem;
  }
}

.c-section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.875rem;
  width: 100%;
}
.c-section-title::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.125rem;
  height: 4.125rem;
  background-color: #aadffd;
}

.c-section-title__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.4375rem;
  color: #001868;
}

.c-section-title__ja {
  font-size: 6.6666666667vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-section-title__ja {
    font-size: 2.25rem;
  }
}

.c-section-title__en {
  font-size: 1rem;
  font-weight: 700;
}

.c-def-table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}

.c-def-table__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-def-table__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.c-def-table__row + .c-def-table__row {
  margin-top: -1px;
}

.c-def-table__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0.625rem;
  border: 1px solid #001868;
  background-color: #aadffd;
  color: #001868;
  font-size: 3.8461538462vw;
  font-weight: 700;
  line-height: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-def-table__label {
    width: 9.6875rem;
    min-height: 5rem;
    margin-right: -1px;
    font-size: 1.125rem;
  }
}

.c-def-table__value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0.8125rem 4.1025641026vw;
  margin-top: -1px;
  border: 1px solid #001868;
  background-color: #FFF;
  color: #333333;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-def-table__value {
    min-height: 5rem;
    padding-inline: 2.5625rem;
    margin-top: 0;
    font-size: 1.125rem;
  }
}

.c-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  width: 100%;
  max-width: 47.558625rem;
}

.c-panel__label {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 18.7905rem;
  aspect-ratio: 300.648/70.307;
  padding: 1.125rem 1.5rem 0;
  background: url(../img/panel-label.svg) center/100% 100% no-repeat;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-panel__label {
    font-size: 1.75rem;
    padding-block: 0.5625rem;
  }
}

.c-panel__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 5.1282051282vw 5.1282051282vw 6.1538461538vw;
  background: url(../img/panel-frame.svg) center/100% 100% no-repeat;
}
@media screen and (min-width: 768px) {
  .c-panel__body {
    min-height: 14.5625rem;
    padding: 1.25rem 5.25rem 2.1875rem;
  }
}

.c-panel__text {
  color: #333333;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.8125rem;
}
@media screen and (min-width: 768px) {
  .c-panel__text {
    width: 41.1875rem;
    padding: 0.625rem;
    font-size: 1rem;
  }
}

.c-panel__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-panel__list {
    width: 31.125rem;
  }
}

.c-panel__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  min-height: 1.8125rem;
  padding-inline: 0.75rem;
  border-bottom: 1px solid #FFBF02;
  color: #333333;
  font-size: 3.3333333333vw;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-panel__item {
    font-size: 1rem;
  }
}
.c-panel__item img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.75rem;
  height: auto;
}

.c-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.c-step__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 14rem;
  min-height: 14.358974359vw;
  padding: 0.625rem 2.0512820513vw;
  overflow: hidden;
  background-color: #d9d9d9;
  color: #8e8e8f;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-step__item {
    min-height: 5.25rem;
    padding-inline: 1.5rem;
  }
}
.c-step__item.--current {
  background-color: #FFBF02;
  color: #FFF;
}

.c-step__num {
  font-size: 3.0769230769vw;
}
@media screen and (min-width: 768px) {
  .c-step__num {
    font-size: 1rem;
  }
}

.c-step__label {
  font-size: 3.5897435897vw;
}
@media screen and (min-width: 768px) {
  .c-step__label {
    font-size: 1.25rem;
  }
}

.c-step__line {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.1282051282vw;
  height: 0.125rem;
  background-color: #c3c3c3;
}
@media screen and (min-width: 768px) {
  .c-step__line {
    width: 3.125rem;
  }
}

.c-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
  width: 100%;
}

.c-form__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  padding-block: 0.625rem 0.9375rem;
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (min-width: 768px) {
  .c-form__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
  }
}
@media screen and (min-width: 768px) {
  .c-form__row.--top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.c-form__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #001868;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-form__label {
    width: 13.375rem;
  }
}

.c-form__badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-inline: 0.3125rem;
  border-radius: 0.25rem;
  background-color: #001868;
  color: #FFF;
  font-size: 0.8125rem;
  font-weight: 500;
}
.c-form__badge.--optional {
  border: 1px solid #001868;
  background-color: #FFF;
  color: #001868;
}

.c-form__field {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-form__field {
    width: 34.1875rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.c-form__field > span {
  width: 100%;
}

.c-form__input,
.c-form__select,
.c-form__textarea {
  width: 100%;
  padding: 0.625rem 1rem;
  border: 1px solid #c3c3c3;
  border-radius: 0.3125rem;
  background-color: #f9f9f9;
  color: #333333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
  font-weight: 500;
}
.c-form__input::-webkit-input-placeholder, .c-form__select::-webkit-input-placeholder, .c-form__textarea::-webkit-input-placeholder {
  color: #a8a8a8;
}
.c-form__input::-moz-placeholder, .c-form__select::-moz-placeholder, .c-form__textarea::-moz-placeholder {
  color: #a8a8a8;
}
.c-form__input:-ms-input-placeholder, .c-form__select:-ms-input-placeholder, .c-form__textarea:-ms-input-placeholder {
  color: #a8a8a8;
}
.c-form__input::-ms-input-placeholder, .c-form__select::-ms-input-placeholder, .c-form__textarea::-ms-input-placeholder {
  color: #a8a8a8;
}
.c-form__input::placeholder,
.c-form__select::placeholder,
.c-form__textarea::placeholder {
  color: #a8a8a8;
}

.c-form__input,
.c-form__select {
  height: 2.5625rem;
  padding-block: 0;
}

.c-form__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #FFF;
  background-image: url(../img/select-arrow.svg);
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 0.75rem auto;
  padding-right: 2.5rem;
}

.c-form__textarea {
  height: 7.8125rem;
  resize: vertical;
}

.c-form__radios {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  padding: 0.625rem;
}
.c-form__radios .wpcf7-list-item {
  margin-left: 0;
}
.c-form__radios label {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  padding-left: 2rem;
}
.c-form__radios label::before, .c-form__radios label::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.c-form__radios label::before {
  left: 0;
  width: 1.25rem;
  border: 1px solid #d9d9d9;
}
.c-form__radios label::after {
  left: 0.25rem;
  width: 0.75rem;
  background-color: #a8a8a8;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.c-form__radios label:has(input:checked)::after {
  opacity: 1;
}
.c-form__radios input {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}

.c-form__check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  color: #000;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
}
.c-form__check input {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: #001868;
  cursor: pointer;
}

.c-form__agree {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 1.5rem;
}

.c-form__agree-link {
  border-bottom: 1px solid #c3c3c3;
  color: #333333;
}

.c-form__agree .wpcf7-list-item {
  margin: 0;
}

.c-form__agree .wpcf7-list-item-label a,
.c-form__agree .c-form__agree-link {
  border-bottom: 1px solid #c3c3c3;
  color: #333333;
}

.c-form__agree .wpcf7-acceptance label,
.c-form__agree .wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  color: #000;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
}

.c-form__agree input[type=checkbox] {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: #001868;
  cursor: pointer;
}

.c-form__button-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-form__submit {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6875rem;
  width: 20rem;
  aspect-ratio: 400/97;
  margin: 0.875rem auto 0;
  padding-bottom: 0.5rem;
  background: url(../img/btn-entry.svg) center/contain no-repeat;
  color: #fafafa;
  font-size: 1.375rem;
  font-weight: 700;
  text-align: center;
  text-shadow: 2px 2px 4px #fc7d00;
  border: none;
}
@media screen and (min-width: 768px) {
  .c-form__submit {
    width: 25rem;
    font-size: 1.75rem;
  }
}

.c-form .wpcf7,
.c-form .wpcf7-form {
  width: 100%;
}
.c-form .wpcf7-spinner {
  margin-left: 0.5rem;
}
.c-form .wpcf7-response-output {
  margin: 1rem 0 0;
  padding: 0.75rem 1rem;
  border-radius: 0.3125rem;
  font-size: 0.875rem;
}
.c-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.25rem;
  color: #c00;
  font-size: 0.8125rem;
}

.c-form.--confirm .c-form__field {
  position: relative;
}
.c-form.--confirm .c-form__field .wpcf7-form-control-wrap {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.c-form.--confirm .c-form__value {
  padding: 0.625rem 1rem;
  color: #333333;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}
.c-form.--confirm .c-form__agree.is-confirm-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.c-form.--confirm input.c-form__submit {
  border: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* 会社概要 / 沿革・アクセス（クリーム地） */
.p-company {
  padding-block: 12.3076923077vw;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-company {
    padding-block: 7.5rem;
  }
}

.p-company__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12.3076923077vw;
}
@media screen and (min-width: 768px) {
  .p-company__inner {
    gap: 7.5rem;
  }
}

.p-company__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  width: 100%;
  max-width: 53.5625rem;
}

/* 沿革 */
.p-company__history {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6.1538461538vw;
}
@media screen and (min-width: 768px) {
  .p-company__history {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
  }
}

.p-company__history-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-company__history-list {
    width: 30.75rem;
    margin-right: -5.5625rem;
  }
}

.p-company__history-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3125rem;
  width: 100%;
}
.p-company__history-item + .p-company__history-item {
  margin-top: -3px;
}

.p-company__history-marker {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.875rem;
  height: 7.125rem;
  background: url(../img/history-line.svg) top center/contain no-repeat;
}
.p-company__history-item:last-child .p-company__history-marker {
  background-image: url(../img/history-line-last.svg);
}

.p-company__history-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
  padding-block: 0.125rem;
}
@media screen and (min-width: 768px) {
  .p-company__history-body {
    width: 28.5625rem;
  }
}

.p-company__history-year {
  color: #001868;
  font-family: "Press Start 2P", cursive;
  font-size: 4.6153846154vw;
  line-height: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-company__history-year {
    font-size: 1.5rem;
  }
}

.p-company__history-text {
  color: #333333;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-company__history-text {
    font-size: 1rem;
  }
}

.p-company__history-photo {
  position: relative;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-company__history-photo {
    width: 28.4375rem;
  }
}

/* アクセス */
.p-company__map {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-company__map {
    height: 37.625rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

/* 保有資格・認証（土のドット背景） */
.p-company__license {
  position: relative;
  overflow: hidden;
  padding-block: 12.3076923077vw;
  background: url(../img/license-bg.webp) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-company__license {
    padding-block: 7.5rem;
  }
}
.p-company__license::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.27);
}

.p-company__license-box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8.2051282051vw;
  width: 100%;
  max-width: 65.5rem;
  padding: 8.2051282051vw 4.1025641026vw;
  border: 0.1875rem solid #001868;
  background-color: #fbf7ef;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-company__license-box {
    gap: 3.5rem;
    padding: 3.5rem 2.8125rem;
  }
}

/* お仕事情報詳細（募集要項） */
.p-job {
  position: relative;
  overflow: hidden;
  padding-block: 10.2564102564vw;
  background: url(../img/job-bg.webp) center top/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-job {
    padding-block: 7.5rem 6.25rem;
  }
}

.p-job__box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.1794871795vw;
  width: 100%;
  max-width: 53.625rem;
  padding: 7.1794871795vw 4.1025641026vw;
  overflow: hidden;
  background-color: #fcf5ef;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-job__box {
    gap: 3.125rem;
    padding: 3.125rem 2.3125rem;
  }
}

.p-job__title {
  color: #001868;
  font-size: 6.1538461538vw;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-job__title {
    font-size: 2.25rem;
  }
}

/* キャラクター＋吹き出し */
.p-job__intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.0512820513vw;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-job__intro {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.9375rem;
  }
}

.p-job__intro-figure {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30.7692307692vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-job__intro-figure {
    width: 9.75rem;
  }
}
.p-job__intro-figure.--02 {
  scale: -1 1;
}

.p-job__balloon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  aspect-ratio: 442.5/224.15;
  padding: 5.1282051282vw 6.1538461538vw;
  background: url(../img/job-balloon.svg) center/100% 100% no-repeat;
  color: #FFF;
  font-size: 3.3333333333vw;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .p-job__balloon {
    width: 27.65625rem;
    padding: 1.25rem 1.75rem;
    font-size: 1rem;
    line-height: 2.1875rem;
  }
}

.p-job__panels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6.1538461538vw;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-job__panels {
    gap: 1.875rem;
  }
}

.p-job__back {
  margin-inline: auto;
}

/* 応募フォーム（STEP1） */
.p-entry {
  padding-block: 12.3076923077vw;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-entry {
    padding-block: 6.25rem;
  }
}

.p-entry__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.1794871795vw;
}
@media screen and (min-width: 768px) {
  .p-entry__inner {
    gap: 5rem;
  }
}

.p-entry__body {
  width: 100%;
  max-width: 47.5rem;
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-entry__body {
    margin-top: 5rem;
  }
}

/*セレクトボックスの矢印を消去*/
.wpcf7-form-control {
  appearance: none;
  -webkit-appearance: none; /*Google Chrome/Safari対応*/
  -moz-appearance: none; /*Firefox対応*/
  -o-appearance: none; /*Opera対応*/
}

/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
  display: none;
}

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

/*スピナー非表示*/
.wpcf7-spinner {
  display: none;
}

/*ボタン関係*/
.confirm_button {
  display: none;
}
.confirm_button:disabled {
  cursor: not-allowed;
}

#js-submit-button {
  cursor: pointer;
}

/* 確認画面（STEP2） */
.p-confirm {
  padding-block: 12.3076923077vw;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-confirm {
    padding-block: 7.5rem;
  }
}

.p-confirm__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.1794871795vw;
}
@media screen and (min-width: 768px) {
  .p-confirm__inner {
    gap: 3rem;
  }
}

.p-confirm__body {
  width: 100%;
  max-width: 50.75rem;
}

.p-confirm__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  width: 100%;
  margin-top: 1.5rem;
}

.p-confirm__back {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 2.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  border-radius: 0.3125rem;
  background-color: #FFBF02;
  color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  padding-inline: 1.125rem;
}
.p-confirm__back::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  scale: -1 1;
  width: 1.0625rem;
  height: 1.0625rem;
  background: url(../img/btn-arrow-white.svg) center/contain no-repeat;
}

/* 送信完了（STEP3） */
.p-thanks {
  padding-block: 12.3076923077vw;
  background: #fbf7ef url(../img/thanks-bg.webp) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-thanks {
    padding-block: 7.5rem;
  }
}

.p-thanks__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10.2564102564vw;
}
@media screen and (min-width: 768px) {
  .p-thanks__inner {
    gap: 8rem;
  }
}

.p-thanks__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  width: 100%;
  max-width: 53.5625rem;
}

.p-thanks__title {
  color: #001868;
  font-size: 5.641025641vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-thanks__title {
    font-size: 2.5rem;
  }
}

.p-thanks__text {
  color: #333333;
  font-size: 3.3333333333vw;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-thanks__text {
    width: 47.75rem;
    font-size: 1rem;
  }
}
.p-thanks__text a {
  text-decoration: underline;
}

/* 404 */
.p-404 {
  position: relative;
  padding-block: 10.2564102564vw;
  background: url(../img/recruit-voice-bg.webp) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-404 {
    padding-block: 2.5rem;
  }
}
.p-404::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(117, 116, 116, 0.35);
}

.p-404__box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.1794871795vw;
  width: 100%;
  max-width: 66.875rem;
  padding: 8.2051282051vw 4.1025641026vw;
  border: 0.3125rem solid #001868;
  background-color: #fbf7ef;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-404__box {
    gap: 3rem;
    padding: 3.25rem 2.8125rem;
  }
}

.p-404__title {
  color: #000;
  font-size: 4.6153846154vw;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-404__title {
    font-size: 1.5rem;
  }
}

.p-404__text {
  color: #000;
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-404__text {
    width: 39.75rem;
    font-size: 1rem;
  }
}
.p-404__text ul {
  list-style: disc;
  padding-left: 1.5rem;
}

.p-404__cat {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-404__cat {
    display: block;
    position: absolute;
    left: 82.9861111111vw;
    bottom: -5.625rem;
    width: 11.1111111111vw;
    height: auto;
    pointer-events: none;
  }
}

/* お問い合わせ（STEP1 フォーム入力） */
.p-contact {
  padding-block: 12.3076923077vw;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-contact {
    padding-block: 7.5rem;
  }
}

.p-contact__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.1794871795vw;
}
@media screen and (min-width: 768px) {
  .p-contact__inner {
    gap: 3rem;
  }
}

.p-contact__body {
  width: 100%;
  max-width: 50.75rem;
}

/* お知らせ一覧 */
.p-news-list {
  padding-block: 10.2564102564vw;
  background: url(../img/news-list-bg.webp) center top/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-news-list {
    padding-block: 5.25rem;
  }
}

.p-news-list__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6.1538461538vw;
  width: 100%;
  max-width: 68.75rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-news-list__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2.5rem;
  }
}

.p-news-list__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 5.1282051282vw 4.1025641026vw;
  border: 1px solid #001868;
  background-color: #FFF;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-news-list__main {
    padding: 3rem 3.5rem;
  }
}

/* 記事1件 */
.c-news-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  padding: 4.6153846154vw 0.625rem;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.c-news-item + .c-news-item {
  margin-top: -1px;
}
@media screen and (min-width: 768px) {
  .c-news-item {
    padding-block: 1.75rem;
  }
}

.c-news-item__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.9375rem;
}

.c-news-item__date {
  color: #52ABFF;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-news-item__cat {
  padding: 0.125rem 0.625rem;
  border-radius: 1.25rem;
  background-color: #d5e6f6;
  color: #52ABFF;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-news-item__title {
  padding-right: 2rem;
  color: #333333;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-news-item__title {
    font-size: 1rem;
  }
}

.c-news-item__arrow {
  position: absolute;
  right: 0.625rem;
  bottom: 4.6153846154vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0.25rem;
  border-radius: 50%;
  background-color: #001868;
}
@media screen and (min-width: 768px) {
  .c-news-item__arrow {
    top: 2.8125rem;
    bottom: auto;
  }
}
.c-news-item__arrow img {
  width: 100%;
  height: 100%;
}

/* ページネーション */
.c-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.9375rem;
  margin-top: 1.5625rem;
}

.c-pagination__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 1.4375rem;
  padding-inline: 0.25rem;
  border: 1px solid #001868;
  background-color: #FFF;
  color: #001868;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
}
.c-pagination__num.--current {
  background-color: #001868;
  color: #FFF;
}
.c-pagination__num.--plain {
  border-color: transparent;
}

.c-pagination__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 0.25rem;
  height: 0.5rem;
}
.c-pagination__arrow img {
  width: 100%;
  height: 100%;
}

/* サイドバー（カテゴリー） */
.p-news-list__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3125rem;
  width: 100%;
  padding: 1.25rem 0.625rem 1.875rem;
  border: 1px solid #001868;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-news-list__side {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 17.5rem;
  }
}

.p-news-list__side-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6875rem;
  padding-bottom: 0.375rem;
  border-bottom: 1px solid #b7b4b4;
  color: #333333;
  font-size: 1.25rem;
  font-weight: 700;
}
.p-news-list__side-title img {
  width: 1.5rem;
  height: 1.5rem;
}

.p-news-list__side-link {
  display: block;
  padding: 0.625rem;
  color: #656463;
  font-size: 1.25rem;
  font-weight: 500;
}

/* 保護猫活動：取り組み内容 */
.p-cats-about {
  padding: 10.2564102564vw 0 7.1794871795vw;
}
@media screen and (min-width: 768px) {
  .p-cats-about {
    padding: 7.5rem 0 3.75rem;
  }
}

.p-cats-about__title {
  color: #001868;
  font-size: 5.641025641vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-cats-about__title {
    font-size: 2.25rem;
  }
}

.p-cats-about__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5.1282051282vw;
  margin-top: 6.1538461538vw;
}
@media screen and (min-width: 768px) {
  .p-cats-about__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 3.125rem;
    margin-top: 2.5rem;
  }
}

.p-cats-about__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-cats-about__photo {
    width: 28.4375rem;
  }
}

.p-cats-about__text {
  color: #333333;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-cats-about__text {
    font-size: 1.125rem;
  }
}

/* 保護猫活動：沖道の仲間を紹介 */
.p-cats-members {
  padding: 7.1794871795vw 0 12.3076923077vw;
}
@media screen and (min-width: 768px) {
  .p-cats-members {
    padding: 3.75rem 0 7.5rem;
  }
}

.p-cats-members__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6.1538461538vw;
}
@media screen and (min-width: 768px) {
  .p-cats-members__inner {
    gap: 3rem;
  }
}

.p-cats-members__list {
  display: grid;
  gap: 4.1025641026vw;
  width: 100%;
  max-width: 59.25rem;
}
@media screen and (min-width: 768px) {
  .p-cats-members__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}

.c-cat-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 1.875rem 1rem;
  border: 1px solid #ffc300;
  border-radius: 0.625rem;
  background-color: #FFF;
}

.c-cat-card__photo {
  width: 100%;
  max-width: 14.25rem;
  height: auto;
  aspect-ratio: 228/254;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-cat-card__name {
  width: 100%;
  color: #001768;
  font-size: 1rem;
  font-weight: 900;
  text-align: center;
}
.c-cat-card__name span {
  font-size: 0.8125rem;
}

.c-cat-card__text {
  width: 100%;
  color: #333333;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-cat-card__text {
    font-size: 1rem;
  }
}

/* 里親募集ブロック（黄色いドット枠） */
.p-cats-members__note {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  padding: 6.1538461538vw 4.1025641026vw;
  background: url(../img/cats-frame.svg) center/100% 100% no-repeat;
}
@media screen and (min-width: 768px) {
  .p-cats-members__note {
    grid-column: span 2;
    padding: 3.125rem 2.5rem;
  }
}

.p-cats-members__photos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  width: 100%;
}
.p-cats-members__photos img:nth-of-type(1) {
  max-width: 35%;
}
.p-cats-members__photos img:nth-of-type(2) {
  max-width: calc(65% - 0.625rem);
}

.p-cats-members__note-text {
  width: 100%;
  color: #333333;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-cats-members__note-text {
    width: 31.75rem;
    font-size: 1rem;
  }
}

.p-cats-members__mascot {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-cats-members__mascot {
    display: block;
    position: absolute;
    right: 1.5rem;
    bottom: -4rem;
    width: 6.5625rem;
    height: auto;
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
    pointer-events: none;
  }
}

/* プライバシーポリシー */
.p-privacy {
  padding-block: 10.2564102564vw;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-privacy {
    padding-block: 7.5rem;
  }
}

.p-privacy__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6.1538461538vw;
  width: 100%;
  max-width: 75rem;
  padding: 8.2051282051vw 4.1025641026vw;
  border: 0.3125rem solid #1d2851;
  background-color: #FFF;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-privacy__box {
    gap: 2rem;
    padding: 5rem 3.25rem 7.5rem;
  }
}

.p-privacy__lead {
  color: #333333;
  font-size: 3.5897435897vw;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-privacy__lead {
    padding-bottom: 2rem;
    font-size: 1rem;
  }
}

.p-privacy__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  padding-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-privacy__section {
    padding-left: 3.125rem;
  }
}

.p-privacy__title {
  color: #001868;
  font-size: 4.6153846154vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-privacy__title {
    font-size: 1.75rem;
  }
}

.p-privacy__text {
  color: #333333;
  font-size: 3.5897435897vw;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-privacy__text {
    max-width: 68.5rem;
    font-size: 1rem;
  }
}
.p-privacy__text p + p {
  margin-top: 0.25rem;
}

.p-privacy__back {
  margin: 1.5rem auto 0;
}

/*----------------------------------
  追加ページ（事業内容 / お知らせ詳細 / お問い合わせ）
----------------------------------*/
/* 記事本文（管理画面から入る想定のWYSIWYG領域） */
.c-post {
  color: #333333;
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .c-post {
    font-size: 1rem;
  }
}
.c-post > * + * {
  margin-top: 1.5rem;
}
.c-post p {
  line-height: 1.9;
}
.c-post a {
  color: #4a90e2;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.c-post h2,
.c-post h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.875rem;
  color: #001868;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .c-post h2,
  .c-post h3 {
    font-size: 1.25rem;
  }
}
.c-post h2::before,
.c-post h3::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.1875rem;
  height: 1.25rem;
  background-color: #001868;
}
.c-post h3 {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .c-post h3 {
    font-size: 1rem;
  }
}
.c-post h4 {
  color: #000;
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-post h4 {
    font-size: 1rem;
  }
}
.c-post ul {
  padding-left: 1.25rem;
}
.c-post li {
  list-style: disc;
  line-height: 2;
}
.c-post li::marker {
  color: #000;
}
.c-post table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.c-post th,
.c-post td {
  border-bottom: 1px solid #ececec;
  font-size: 3.3333333333vw;
  font-weight: 400;
  line-height: 1.5;
  padding: 0.75rem 1rem;
}
@media screen and (min-width: 768px) {
  .c-post th,
  .c-post td {
    font-size: 1rem;
  }
}
.c-post th {
  width: 32%;
  background-color: #aadffd;
  color: #333333;
  text-align: center;
}
.c-post td {
  background-color: #FFF;
  text-align: left;
}
.c-post img {
  width: 100%;
  height: auto;
}

/* 記事送り（前の記事へ／次の記事へ） */
.c-post-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.0769230769vw;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-post-nav {
    gap: 1.5rem;
  }
}

.c-post-nav__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  width: 38.4615384615vw;
  height: 10.7692307692vw;
  padding-inline: 2.0512820513vw;
  background-color: #FFBF02;
  text-decoration: none !important;
  clip-path: polygon(0 8px, 4px 8px, 4px 4px, 8px 4px, 8px 0, calc(100% - 8px) 0, calc(100% - 8px) 4px, calc(100% - 4px) 4px, calc(100% - 4px) 8px, 100% 8px, 100% calc(100% - 8px), calc(100% - 4px) calc(100% - 8px), calc(100% - 4px) calc(100% - 4px), calc(100% - 8px) calc(100% - 4px), calc(100% - 8px) 100%, 8px 100%, 8px calc(100% - 4px), 4px calc(100% - 4px), 4px calc(100% - 8px), 0 calc(100% - 8px));
}
@media screen and (min-width: 768px) {
  .c-post-nav__link {
    width: 14.375rem;
    height: 3.25rem;
    padding-inline: 0.625rem;
  }
}
.c-post-nav__link::before {
  content: "";
  position: absolute;
  inset: 0.25rem;
  background-color: #FFF;
  clip-path: polygon(0 6px, 3px 6px, 3px 3px, 6px 3px, 6px 0, calc(100% - 6px) 0, calc(100% - 6px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) 6px, 100% 6px, 100% calc(100% - 6px), calc(100% - 3px) calc(100% - 6px), calc(100% - 3px) calc(100% - 3px), calc(100% - 6px) calc(100% - 3px), calc(100% - 6px) 100%, 6px 100%, 6px calc(100% - 3px), 3px calc(100% - 3px), 3px calc(100% - 6px), 0 calc(100% - 6px));
}
.c-post-nav__link.is-hidden {
  pointer-events: none;
  opacity: 0;
}

.c-post-nav__label {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: #001868;
  font-size: 3.5897435897vw;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-post-nav__label {
    font-size: 1rem;
  }
}

.c-post-nav__arrow {
  position: relative;
  z-index: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 7.1794871795vw;
  height: 7.1794871795vw;
}
@media screen and (min-width: 768px) {
  .c-post-nav__arrow {
    width: 2.125rem;
    height: 2.125rem;
  }
}
.c-post-nav__arrow img {
  width: 100%;
  height: 100%;
}

/* サイドバーの記事カード（人気記事／関連記事） */
.c-side-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.75rem;
  width: 100%;
  padding-block: 0.75rem;
}

.c-side-post__thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.5rem;
  height: 3.5rem;
}
.c-side-post__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-side-post__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
}

.c-side-post__title {
  color: #001868;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-side-post__text {
  color: #767676;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-side-post__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: center;
      align-self: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0.3125rem;
  border-radius: 50%;
  background-color: #0047b4;
}
.c-side-post__arrow img {
  width: 100%;
  height: 100%;
}

/* 事業内容ページ Service（タブ切替） */
.p-business-service {
  position: relative;
  background: url(../img/business-bg.webp) center top/90rem auto no-repeat;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-business-service {
    background-size: cover;
    padding-block: 7.5rem;
  }
}

.p-business-service__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .p-business-service__inner {
    gap: 1.875rem;
  }
}

/* タブ（Works のタブ帯と同じ意匠を流用） */
.p-business-service__tabs {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .p-business-service__tabs {
    max-width: 41.25rem;
    margin-top: 0;
  }
}
@media screen and (min-width: 1440px) {
  .p-business-service__tabs {
    max-width: 57.625rem;
  }
}

/* パネル */
.p-business-service__panels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.p-business-service__panel {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  width: 100%;
  max-width: 57.4375rem;
  padding: 1.5rem 1rem;
  border: 0.25rem solid #001868;
  background-color: #fbf7ef;
}
@media screen and (min-width: 768px) {
  .p-business-service__panel {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.25rem;
    padding: 4.125rem 3.625rem;
    border-width: 0.3125rem;
  }
}
.p-business-service__panel.--active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-business-service__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 15.6875rem;
}
.p-business-service__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-business-service__content {
    width: 31.6875rem;
    gap: 1.6875rem;
  }
}

.p-business-service__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.0625rem;
  padding-bottom: 1.125rem;
  border-bottom: 1px solid #FFBF02;
  color: #001868;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-business-service__title {
    font-size: 1.5rem;
  }
}

.p-business-service__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.25rem;
  height: auto;
}

.p-business-service__lead {
  color: #001868;
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-business-service__lead {
    font-size: 1.375rem;
  }
}

.p-business-service__text {
  color: #333333;
  font-size: 0.875rem;
  letter-spacing: 0.21em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-business-service__text {
    font-size: 1.125rem;
    line-height: 1.2;
  }
}

/* 事業内容ページの Works（タブ無しで1枚だけ出す） */
.p-works__body.--no-tab {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-works__body.--no-tab {
    margin-top: 1.875rem;
  }
}

/* お知らせ 記事詳細 */
.p-news-detail {
  padding-block: 10.2564102564vw;
}
@media screen and (min-width: 768px) {
  .p-news-detail {
    padding-block: 5.25rem;
  }
}

.p-news-detail__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6.1538461538vw;
  width: 100%;
  max-width: 68.75rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-news-detail__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2.5rem;
  }
}

/* 本文カラム */
.p-news-detail__main {
  padding: 1.25rem 1rem;
  border: 0.25rem solid #001868;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-news-detail__main {
    padding: 3.5rem 4rem 4rem;
  }
}
.p-news-detail__main {
  color: #333333;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .p-news-detail__main {
    font-size: 1rem;
  }
}
.p-news-detail__main > * + * {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-news-detail__main > * + * {
    margin-top: 1.875rem;
  }
}
.p-news-detail__main p {
  line-height: 1.9;
}
.p-news-detail__main a {
  color: #4a90e2;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.p-news-detail__main h2,
.p-news-detail__main h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.875rem;
  color: #001868;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-news-detail__main h2,
  .p-news-detail__main h3 {
    font-size: 1.25rem;
  }
}
.p-news-detail__main h2::before,
.p-news-detail__main h3::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.1875rem;
  height: 1.25rem;
  background-color: #001868;
}
.p-news-detail__main h3 {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-news-detail__main h3 {
    font-size: 1rem;
  }
}
.p-news-detail__main h4 {
  color: #001868;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-news-detail__main h4 {
    font-size: 1rem;
  }
}
.p-news-detail__main ul {
  padding-left: 1.25rem;
}
.p-news-detail__main li {
  list-style: disc;
  line-height: 2;
}
.p-news-detail__main li::marker {
  color: #000;
}
.p-news-detail__main table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.p-news-detail__main th,
.p-news-detail__main td {
  border-color: #ececec;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  padding: 0.75rem 1rem;
}
@media screen and (min-width: 768px) {
  .p-news-detail__main th,
  .p-news-detail__main td {
    font-size: 1rem;
  }
}
.p-news-detail__main td:nth-of-type(1) {
  width: 32%;
  background-color: #aadffd;
  color: #333333;
  text-align: center;
}
.p-news-detail__main td {
  background-color: #FFF;
  text-align: left;
}

.p-news-detail__title {
  padding-bottom: 1rem;
  border-bottom: 0.125rem solid #FFBF02;
  color: #001868;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-news-detail__title {
    font-size: 1.625rem;
  }
}

/* サイドバー */
.p-news-detail__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
  width: 100%;
  padding: 1.25rem 1rem 1.875rem;
  border: 0.25rem solid #001868;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-news-detail__side {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 15.3125rem;
  }
}

.p-news-detail__search {
  position: relative;
  width: 100%;
}

.p-news-detail__search-input {
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 2.5rem 0.5rem 0.875rem;
  border: 1px solid #3f8ae0;
  border-radius: 0.25rem;
  background-color: #FFF;
  color: #333333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.875rem;
}
.p-news-detail__search-input::-webkit-input-placeholder {
  color: #a8a8a8;
}
.p-news-detail__search-input::-moz-placeholder {
  color: #a8a8a8;
}
.p-news-detail__search-input:-ms-input-placeholder {
  color: #a8a8a8;
}
.p-news-detail__search-input::-ms-input-placeholder {
  color: #a8a8a8;
}
.p-news-detail__search-input::placeholder {
  color: #a8a8a8;
}

.p-news-detail__search-button {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  translate: 0 -50%;
  width: 1.125rem;
  height: 1.125rem;
}
.p-news-detail__search-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.75rem;
  height: 0.75rem;
  border: 0.125rem solid #a8a8a8;
  border-radius: 50%;
}
.p-news-detail__search-button::after {
  content: "";
  position: absolute;
  right: 0.0625rem;
  bottom: 0.0625rem;
  width: 0.4375rem;
  height: 0.125rem;
  background-color: #a8a8a8;
  rotate: 45deg;
}

.p-news-detail__side-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-news-detail__side-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6875rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #b7b4b4;
  color: #333333;
  font-size: 1.125rem;
  font-weight: 700;
}
.p-news-detail__side-title img {
  width: 1.5rem;
  height: auto;
}
.p-news-detail__side-title.--bar::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.1875rem;
  height: 1.125rem;
  background-color: #001868;
}

.p-news-detail__side-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 0.25rem;
}

.p-news-detail__side-link {
  display: block;
  padding: 0.375rem 0.625rem;
  color: #656463;
  font-size: 1rem;
  font-weight: 500;
}

.p-news-detail__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.625rem 1.125rem;
  padding: 0.75rem 0.625rem 0;
}

.p-news-detail__tag {
  color: #767676;
  font-size: 0.8125rem;
  font-weight: 400;
}/*# sourceMappingURL=style.css.map */