@charset "UTF-8";
:root {
  --fz-min: 12px;
}
@media only screen and (max-width: 767px) {
  :root {
    --fz-min: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
html {
  word-break: break-all;
  font-size: 100%;
  scroll-behavior: smooth;
  overflow-x: clip;
}
@media (min-width: 768px) and (max-width: 1440px) {
  html {
    font-size: 1.1111111111vw;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 2.1333333333vw;
  }
}

body {
  font-size: max(1rem, var(--fz-min, 12px));
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", "Yu Gothic", sans-serif;
  font-weight: 500;
  color: #333333;
}
@media only screen and (max-width: 767px) {
  body {
    font-size: max(1rem, var(--fz-min, 12px));
  }
}
body a {
  transition: all 0.4s;
}

.Inner {
  max-width: 1440px;
  width: 100%;
  padding-inline-start: 1.875rem;
  padding-inline-end: 1.875rem;
  margin-inline-start: auto;
  margin-inline-end: auto;
}
@media only screen and (max-width: 767px) {
  .Inner {
    padding-inline-start: 1.4285714286rem;
    padding-inline-end: 1.4285714286rem;
    max-width: 550px;
  }
}

.textTen {
  font-family: "ten-mincho", serif !important;
}

:where(#material, #equipment, #history) {
  scroll-margin-block-start: 6.25rem;
}
@media only screen and (max-width: 767px) {
  :where(#material, #equipment, #history) {
    scroll-margin-block-start: min(16.2666666667vw, 122px);
  }
}

#wpadminbar {
  inset-block-start: auto !important;
  inset-block-end: 0 !important;
}

html {
  margin-block-start: 0 !important;
  margin-block-end: 32px !important;
}

@media screen and (max-width: 782px) {
  html {
    margin-block-end: 46px !important;
  }
}
.Header {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 100;
  width: 100%;
  height: 6.25rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .Header {
    height: min(16.2666666667vw, 122px);
  }
}

.HeaderInner {
  width: 100%;
  max-width: 1500px;
  height: 100%;
  margin-inline: auto;
  padding-inline: 1.875rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .HeaderInner {
    max-width: none;
    padding-inline-start: min(6.8vw, 51px);
    padding-inline-end: min(4.5333333333vw, 34px);
  }
}

.HeaderLogo {
  width: 22.25rem;
  margin-block: 0;
  line-height: 0;
}
@media only screen and (max-width: 767px) {
  .HeaderLogo {
    width: min(63.2vw, 474px);
  }
}

@media only screen and (max-width: 767px) {
  .HeaderLogo__Link img {
    width: 100%;
  }
}

.HeaderNav__List {
  display: flex;
  align-items: center;
  column-gap: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .HeaderNav__List {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    column-gap: 0;
    row-gap: min(2.1333333333vw, 16px);
  }
}

.HeaderNav__List a {
  font-size: max(1rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 0.9;
}
@media only screen and (max-width: 767px) {
  .HeaderNav__List a {
    font-size: max(min(4.2666666667vw, 32px), var(--fz-min, 12px));
    display: block;
    padding-block-start: min(3.2vw, 24px);
    padding-block-end: min(3.2vw, 24px);
  }
}

.HeaderNav__List .HeaderNav__Contact {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.25rem;
  height: 3.25rem;
  padding-inline: 3.5rem;
  white-space: nowrap;
  background-color: #1d7769;
  border-radius: 1.625rem;
  color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .HeaderNav__List .HeaderNav__Contact {
    width: min(42.6666666667vw, 320px);
    height: min(11.7333333333vw, 88px);
    padding-inline: 0;
    padding-block-start: 0;
    padding-block-end: 0;
    border-radius: min(5.8666666667vw, 44px);
  }
}

@media only screen and (max-width: 767px) {
  .HeaderNav {
    position: fixed;
    inset-block-start: 0;
    inset-inline-end: 0;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    block-size: 100dvh;
    background-color: #ffffff;
    opacity: 0;
    transition: opacity 0.4s ease;
    visibility: hidden;
  }
}

@media only screen and (max-width: 767px) {
  .HeaderNav.active {
    opacity: 1;
    visibility: visible;
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn {
    position: relative;
    z-index: 91;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    inline-size: min(5.8666666667vw, 44px);
    block-size: min(4.5333333333vw, 34px);
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn span {
    display: block;
    inline-size: 100%;
    block-size: min(0.8vw, 6px);
    background-color: #1c1c1c;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn.open span:nth-child(1) {
    transform: translateY(min(1.8666666667vw, 14px)) rotate(45deg);
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn.open span:nth-child(2) {
    opacity: 0;
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn.open span:nth-child(3) {
    transform: translateY(calc(min(1.8666666667vw, 14px) * -1)) rotate(-45deg);
  }
}

.FooterContact {
  position: relative;
  background-color: #f5f5f5;
  padding-block: 6.3125rem 3.5rem;
}
@media only screen and (max-width: 767px) {
  .FooterContact {
    padding-block: min(8.1333333333vw, 61px) min(5.3333333333vw, 40px);
  }
}

.FooterContact__Inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.FooterContact__Lead {
  font-size: max(1.875rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FooterContact__Lead {
    font-size: max(min(3.7333333333vw, 28px), var(--fz-min, 12px));
    line-height: 1.642804428;
    letter-spacing: unset;
  }
}

.FooterContact__Metals {
  margin-block-start: 2.0625rem;
  font-size: max(1.125rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FooterContact__Metals {
    margin-block-start: min(2.8vw, 21px);
    font-size: max(min(2.4vw, 18px), var(--fz-min, 12px));
    line-height: 1.7781350482;
    inline-size: fit-content;
    text-align: start;
  }
}

.FooterContact__Heading {
  font-size: max(1.875rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FooterContact__Heading {
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
    letter-spacing: unset;
  }
}

.FooterContact__HeadingWeb {
  margin-block-start: 3.5rem;
}
@media only screen and (max-width: 767px) {
  .FooterContact__HeadingWeb {
    margin-block-start: min(5.3333333333vw, 40px);
  }
}

.FooterContact__HeadingTel {
  margin-block-start: 2.25rem;
}
@media only screen and (max-width: 767px) {
  .FooterContact__HeadingTel {
    margin-block-start: min(6.1333333333vw, 46px);
  }
}

.FooterContact__Btns {
  margin-block-start: 2.4375rem;
  display: flex;
  column-gap: 3.5625rem;
}
@media only screen and (max-width: 767px) {
  .FooterContact__Btns {
    flex-direction: column;
    align-items: center;
    column-gap: 0;
    row-gap: min(2.2666666667vw, 17px);
    margin-block-start: min(2.9333333333vw, 22px);
  }
}

.FooterBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25rem;
  height: 5rem;
  background-color: #1d7769;
  border-radius: 3.53125rem;
  color: #ffffff;
  font-size: max(1.5rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FooterBtn {
    width: min(76.4vw, 573px);
    height: min(15.0666666667vw, 113px);
    border-radius: min(7.5333333333vw, 56.5px);
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.FooterContact__Tel {
  margin-block-start: 2.4375rem;
  font-family: "Oswald", sans-serif;
  font-size: max(5rem, var(--fz-min, 12px));
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .FooterContact__Tel {
    margin-block-start: min(3.2vw, 24px);
    font-size: max(min(8vw, 60px), var(--fz-min, 12px));
  }
}

.FooterContact__TelLabel {
  font-size: max(3.125rem, var(--fz-min, 12px));
}
@media only screen and (max-width: 767px) {
  .FooterContact__TelLabel {
    font-size: max(min(6.6666666667vw, 50px), var(--fz-min, 12px));
  }
}

.FooterContact__Fax {
  margin-block-start: 1.8125rem;
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FooterContact__Fax {
    margin-block-start: min(3.4666666667vw, 26px);
    font-size: max(min(2.9333333333vw, 22px), var(--fz-min, 12px));
  }
}

.FooterContact__Fax a {
  color: #1d7769;
}

.FooterContact__Hours {
  margin-block-start: 1.0625rem;
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FooterContact__Hours {
    margin-block-start: min(3.8666666667vw, 29px);
    font-size: max(min(2.4vw, 18px), var(--fz-min, 12px));
    line-height: 1.7781350482;
  }
}

.FooterCopyright {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6.375rem;
  background-color: #1d7769;
}
@media only screen and (max-width: 767px) {
  .FooterCopyright {
    height: min(13.6vw, 102px);
  }
}

.FooterCopyright__Text {
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  color: #ffffff;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FooterCopyright__Text {
    font-size: max(min(2.1333333333vw, 16px), var(--fz-min, 12px));
  }
}

.FooterTop {
  position: absolute;
  inset-inline-end: min(7.5vw, 144px);
  inset-block-end: min(2.03125vw, 39px);
  inline-size: min(5vw, 96px);
  block-size: min(5vw, 96px);
  border-radius: 50%;
  background-color: #1d7769;
  display: grid;
  place-content: center;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .FooterTop {
    inset-inline-end: min(4.4vw, 33px);
    inset-block-end: min(2.6666666667vw, 20px);
    inline-size: min(10.9333333333vw, 82px);
    block-size: min(10.9333333333vw, 82px);
  }
}

.FooterTop__Arrow {
  inline-size: min(1.1458333333vw, 22px);
  block-size: min(1.1458333333vw, 22px);
  border-block-start: 2.5px solid #ffffff;
  border-inline-end: 2.5px solid #ffffff;
  transform: translateY(22%) rotate(-45deg);
}
@media only screen and (max-width: 767px) {
  .FooterTop__Arrow {
    inline-size: min(2.9333333333vw, 22px);
    block-size: min(2.9333333333vw, 22px);
  }
}

.SectionTitle {
  text-align: var(--title-align, center);
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1;
  font-size: max(min(1.875vw, 36px), var(--fz-min, 12px));
}
@media only screen and (max-width: 767px) {
  .SectionTitle {
    font-size: max(min(4.8vw, 36px), var(--fz-min, 12px));
  }
}

.SectionTitle--fixed {
  font-size: max(2.25rem, var(--fz-min, 12px));
}
@media only screen and (max-width: 767px) {
  .SectionTitle--fixed {
    font-size: max(min(4.8vw, 36px), var(--fz-min, 12px));
  }
}

.PhotoFrame {
  overflow: hidden;
  border-start-start-radius: var(--frame-radius, min(3.4375vw, 66px));
}

.PhotoFrame img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.Fv {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .Fv {
    block-size: min(144.2666666667vw, 1082px);
  }
}

.Fv__Image {
  width: 81.9270833333vw;
  margin-inline-start: auto;
}
@media only screen and (max-width: 767px) {
  .Fv__Image {
    position: absolute;
    inset: 0;
    width: 100%;
    margin-inline-start: 0;
  }
}

.Fv__Image img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .Fv__Image img {
    block-size: 100%;
    object-fit: cover;
  }
}

.Fv__Line {
  position: absolute;
  inset-block-start: 17.65625vw;
  inset-inline-start: 12.4479166667vw;
  width: 0.15625vw;
  height: 10.5208333333vw;
  background-color: rgba(112, 112, 112, 0.75);
}
@media only screen and (max-width: 767px) {
  .Fv__Line {
    display: none;
  }
}

.Fv__Lead {
  position: absolute;
  inset-block-start: 17.9166666667vw;
  inset-inline-start: 24.1666666667vw;
  color: #ffffff;
  font-size: max(2.03125vw, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 2.0512820513;
}
@media only screen and (max-width: 767px) {
  .Fv__Lead {
    inset-block-start: min(32.5333333333vw, 244px);
    inset-inline-start: min(10.5333333333vw, 79px);
    font-size: max(min(5.2vw, 39px), var(--fz-min, 12px));
    white-space: nowrap;
  }
}

.News {
  padding-block: min(1.8229166667vw, 35px);
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
}
@media only screen and (max-width: 767px) {
  .News {
    padding-block-start: min(3.4666666667vw, 26px);
    padding-block-end: 0;
    padding-inline-start: min(6.8vw, 51px);
    padding-inline-end: min(6.8vw, 51px);
    font-size: max(min(3.0666666667vw, 23px), var(--fz-min, 12px));
  }
}

.News__Bar {
  display: flex;
  align-items: center;
  column-gap: 2.5rem;
  inline-size: fit-content;
  margin-inline-start: auto;
  margin-inline-end: max(min(12.5vw, 240px), (100% - 1440px) / 2);
}
@media only screen and (max-width: 767px) {
  .News__Bar {
    flex-wrap: wrap;
    align-items: center;
    column-gap: min(2.6666666667vw, 20px);
    row-gap: min(2.4vw, 18px);
    inline-size: 100%;
    margin-inline: 0;
  }
}

.News__Divider {
  flex-shrink: 0;
  inline-size: 0.25rem;
  block-size: 1.375rem;
  background-color: #1d7769;
}
@media only screen and (max-width: 767px) {
  .News__Divider {
    inline-size: min(0.5333333333vw, 4px);
    block-size: min(2.9333333333vw, 22px);
  }
}

.News__Date {
  flex-shrink: 0;
}

@media only screen and (max-width: 767px) {
  .News__Title {
    flex-basis: 100%;
    display: flex;
    align-items: center;
    min-inline-size: 0;
  }
}

@media only screen and (max-width: 767px) {
  .News__TitleText {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    min-inline-size: 0;
  }
}

@media only screen and (max-width: 767px) {
  .News__Title::after {
    content: "";
    flex-shrink: 0;
    inline-size: min(1.8666666667vw, 14px);
    block-size: min(1.8666666667vw, 14px);
    margin-inline-start: min(2.2666666667vw, 17px);
    border-block-start: min(0.4vw, 3px) solid #1d7769;
    border-inline-end: min(0.4vw, 3px) solid #1d7769;
    transform: rotate(45deg);
  }
}

@media only screen and (max-width: 767px) {
  .News__Empty {
    flex-basis: 100%;
  }
}

.News__More {
  flex-shrink: 0;
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  .News__More {
    display: none;
  }
}

.Slide {
  overflow: hidden;
  padding-block-start: min(5.0520833333vw, 97px);
}
@media only screen and (max-width: 767px) {
  .Slide {
    padding-block-start: min(4.2666666667vw, 32px);
  }
}

.Slide__List {
  display: flex;
  inline-size: max-content;
  animation: slide-marquee calc(var(--slide-count, 3) * 7s) linear infinite;
}

.Slide:hover .Slide__List,
.Slide:focus-within .Slide__List {
  animation-play-state: paused;
}

@keyframes slide-marquee {
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .Slide__List {
    animation: none;
  }
}
.Slide__Item {
  flex-shrink: 0;
  inline-size: 36.0416666667vw;
  block-size: 32.9166666667vw;
  margin-inline-end: 2.2395833333vw;
}
@media only screen and (max-width: 767px) {
  .Slide__Item {
    inline-size: min(92.2666666667vw, 692px);
    block-size: min(84.2666666667vw, 632px);
    margin-inline-end: min(5.7333333333vw, 43px);
  }
}

.Slide__Item img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.Lead {
  padding-block: min(10.3125vw, 198px);
}
@media only screen and (max-width: 767px) {
  .Lead {
    padding-block-start: min(7.2vw, 54px);
    padding-block-end: 0;
  }
}

.Lead__Inner {
  max-inline-size: calc(1440px + 3.75rem);
  padding-inline: 1.875rem;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .Lead__Inner {
    max-inline-size: none;
    padding-inline-start: min(5.0666666667vw, 38px);
    padding-inline-end: min(5.2vw, 39px);
    flex-direction: column;
    row-gap: min(7.4666666667vw, 56px);
  }
}

.Lead__Heading {
  flex: 0 0 46.0416666667%;
  font-size: max(2.25rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 2;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .Lead__Heading {
    flex: none;
    font-size: max(min(4.8vw, 36px), var(--fz-min, 12px));
    line-height: 1.7221584386;
  }
}

.Lead__Body {
  inline-size: 46.6666666667%;
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.075em;
  padding-block-start: 0.9375rem;
}
@media only screen and (max-width: 767px) {
  .Lead__Body {
    inline-size: 100%;
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.9583333333;
    padding-block-start: 0;
  }
}

.Service {
  padding-block: min(5.2083333333vw, 100px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .Service {
    padding-block-start: min(20.6666666667vw, 155px);
    padding-block-end: 0;
    overflow-x: hidden;
  }
}

.Service__Inner {
  max-inline-size: calc(1440px + 3.75rem);
  padding-inline: 1.875rem;
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .Service__Inner {
    max-inline-size: none;
    padding-inline-start: min(4.5333333333vw, 34px);
    padding-inline-end: min(4.4vw, 33px);
  }
}

.Service__Head {
  position: relative;
}

.Service__Band {
  inline-size: 87.6041666667vw;
  margin-block: calc(min(1.5104166667vw, 29px) * -1) min(10.3645833333vw, 199px);
}
@media only screen and (max-width: 767px) {
  .Service__Band {
    inline-size: min(95.4666666667vw, 716px);
    margin-block: min(10.4vw, 78px) min(7.0666666667vw, 53px);
  }
}

.Service__Band img {
  inline-size: 100%;
}
@media only screen and (max-width: 767px) {
  .Service__Band img {
    border-start-end-radius: min(10.6666666667vw, 80px);
  }
}

.Service__En {
  display: block;
  font-family: "Lato", sans-serif;
  font-size: max(min(12.0833333333vw, 232px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
  color: #e6e6e6;
  text-align: end;
  margin-inline-end: min(0px, (1440px - 100vw) / 2);
}
@media only screen and (max-width: 767px) {
  .Service__En {
    font-size: max(min(30.9333333333vw, 232px), var(--fz-min, 12px));
    text-align: start;
    white-space: nowrap;
    margin-inline-start: calc(min(6vw, 45px) * -1);
    margin-inline-end: 0;
  }
}

.Service__Ja {
  position: absolute;
  inset-block: 0;
  inset-inline: 0;
  display: grid;
  place-content: center;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .Service__Ja {
    inset-block: min(28.9333333333vw, 217px) auto;
  }
}

.Service__Grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.1875rem;
  row-gap: 1.0625rem;
}
@media only screen and (max-width: 767px) {
  .Service__Grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: min(2.2666666667vw, 17px);
    row-gap: min(2.2666666667vw, 17px);
  }
}

.ServiceCard {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  block-size: 100%;
  padding-block: 3.75rem 2.5rem;
  background-color: #ffffff;
  border: 1px solid #808080;
}
@media only screen and (max-width: 767px) {
  .ServiceCard {
    padding-block: min(5.7333333333vw, 43px) min(5.2vw, 39px);
  }
}

.ServiceCard::before {
  content: "";
  position: absolute;
  inset-block-start: -1px;
  inset-inline: -1px;
  block-size: 0.4375rem;
  background-color: #1d7769;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.ServiceCard:hover::before,
.ServiceCard:focus-visible::before {
  opacity: 1;
}

.ServiceCard__Img {
  overflow: hidden;
  inline-size: 18.25rem;
  block-size: 18.25rem;
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .ServiceCard__Img {
    inline-size: min(28.2666666667vw, 212px);
    block-size: min(28.2666666667vw, 212px);
  }
}

.ServiceCard__Img img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.ServiceCard__Title {
  position: relative;
  margin-block-start: 2.375rem;
  color: #1d7769;
  font-size: max(1.5rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .ServiceCard__Title {
    margin-block-start: min(2.8vw, 21px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    white-space: nowrap;
    letter-spacing: unset;
  }
}

.ServiceCard__Arrow {
  position: absolute;
  inset-inline-start: 100%;
  inset-block-start: 50%;
  transform: translateY(-50%);
  margin-inline-start: 1.125rem;
  inline-size: 1.875rem;
  block-size: 1.875rem;
  background-color: #1d7769;
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .ServiceCard__Arrow {
    margin-inline-start: min(1.8666666667vw, 14px);
    inline-size: min(3.2vw, 24px);
    block-size: min(3.2vw, 24px);
  }
}

.ServiceCard__Arrow::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  inline-size: 0;
  block-size: 0;
  border-block: 0.34375rem solid transparent;
  border-inline-start: 0.625rem solid #ffffff;
}
@media only screen and (max-width: 767px) {
  .ServiceCard__Arrow::after {
    border-block: min(0.8vw, 6px) solid transparent;
    border-inline-start: min(0.8vw, 6px) solid #ffffff;
  }
}

.Material {
  padding-block: min(5.2083333333vw, 100px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .Material {
    padding-block-start: min(18.4vw, 138px);
    padding-block-end: 0;
    overflow-x: hidden;
  }
}

.Material__Inner {
  max-inline-size: calc(1440px + 3.75rem);
  padding-inline: 30px;
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .Material__Inner {
    max-inline-size: none;
    padding-inline: min(4.5333333333vw, 34px);
  }
}

.Material__Head {
  position: relative;
}

.Material__En {
  display: block;
  font-family: "Lato", sans-serif;
  font-size: max(min(9.4791666667vw, 182px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
  color: #e6e6e6;
  text-align: start;
  margin-inline-start: min(0px, (1440px - 100vw) / 2);
}
@media only screen and (max-width: 767px) {
  .Material__En {
    font-size: max(min(24.2666666667vw, 182px), var(--fz-min, 12px));
    margin-inline-start: 0;
    white-space: nowrap;
  }
}

.Material__Ja {
  position: absolute;
  inset-block: 0;
  inset-inline: 0;
  display: grid;
  place-content: center;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .Material__Ja {
    inset-block: min(22vw, 165px) auto;
  }
}

.Material__Band {
  inline-size: 87.6041666667vw;
  margin-inline-start: auto;
  margin-block: calc(min(1.1822916667vw, 22.7px) * -1) min(10.3645833333vw, 199px);
}
@media only screen and (max-width: 767px) {
  .Material__Band {
    inline-size: min(95.6vw, 717px);
    margin-inline-start: min(4.6666666667vw, 35px);
    margin-block: min(8.8vw, 66px) min(10.1333333333vw, 76px);
  }
}

.Material__Band img {
  inline-size: 100%;
}
@media only screen and (max-width: 767px) {
  .Material__Band img {
    border-start-start-radius: min(10.6666666667vw, 80px);
  }
}

.Material__Grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.1875rem;
  row-gap: 2.625rem;
}
@media only screen and (max-width: 767px) {
  .Material__Grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: min(2.1333333333vw, 16px);
    row-gap: min(3.7333333333vw, 28px);
  }
}

.MaterialCard__Img {
  overflow: hidden;
  aspect-ratio: 468/348;
}
@media only screen and (max-width: 767px) {
  .MaterialCard__Img {
    aspect-ratio: 333/251;
  }
}

.MaterialCard__Img img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.MaterialCard__Label {
  margin-block-start: 1.6875rem;
  font-size: max(1.5rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .MaterialCard__Label {
    margin-block-start: min(2.4vw, 18px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.About {
  padding-block: min(5.2083333333vw, 100px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .About {
    padding-block-start: min(24vw, 180px);
    padding-block-end: 0;
    overflow-x: hidden;
  }
}

.About__Inner {
  max-inline-size: calc(1440px + 3.75rem);
  padding-inline: 1.875rem;
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .About__Inner {
    max-inline-size: none;
    padding-inline: min(4.5333333333vw, 34px);
  }
}

.About__Head {
  position: relative;
}

.About__En {
  display: block;
  font-family: "Lato", sans-serif;
  font-size: max(min(12.65625vw, 243px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
  color: #e6e6e6;
  text-align: end;
  margin-inline-end: min(0px, (1440px - 100vw) / 2);
}
@media only screen and (max-width: 767px) {
  .About__En {
    font-size: max(min(32.4vw, 243px), var(--fz-min, 12px));
    text-align: center;
    margin-inline-end: 0;
  }
}

.About__Ja {
  position: absolute;
  inset-block: 0;
  inset-inline: 0;
  display: grid;
  place-content: center;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .About__Ja {
    inset-block: min(26.6666666667vw, 200px) auto;
  }
}

.About__Band {
  inline-size: 87.6041666667vw;
  margin-block: calc(min(1.5104166667vw, 29px) * -1) min(10.2604166667vw, 197px);
}
@media only screen and (max-width: 767px) {
  .About__Band {
    inline-size: min(95.6vw, 717px);
    margin-inline-start: min(4.6666666667vw, 35px);
    margin-block: min(7.0666666667vw, 53px) min(10.4vw, 78px);
    overflow: hidden;
    border-start-start-radius: min(4vw, 30px);
  }
}

.About__Band picture {
  display: block;
}

.About__Band img {
  inline-size: 100%;
}

.About__Message {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .About__Message {
    flex-direction: column;
    align-items: flex-start;
    row-gap: min(6.6666666667vw, 50px);
  }
}

.About__MessagePhoto {
  flex: 0 0 50.1388888889%;
}
@media only screen and (max-width: 767px) {
  .About__MessagePhoto {
    flex: none;
    inline-size: 100%;
  }
}

.About__MessagePhoto img {
  inline-size: 100%;
}

.About__MessageText {
  inline-size: 45%;
}
@media only screen and (max-width: 767px) {
  .About__MessageText {
    inline-size: 100%;
  }
}

.About__MessageTitle {
  line-height: 1;
}

.About__MessageBody {
  margin-block-start: 1.875rem;
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.075em;
}
@media only screen and (max-width: 767px) {
  .About__MessageBody {
    margin-block-start: min(6.2666666667vw, 47px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.7916666667;
  }
}

.About__Cards {
  margin-block-start: min(10.3125vw, 198px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.1875rem;
}
@media only screen and (max-width: 767px) {
  .About__Cards {
    margin-block-start: min(6.8vw, 51px);
    grid-template-columns: repeat(2, 1fr);
    column-gap: min(2.2666666667vw, 17px);
    row-gap: min(3.4666666667vw, 26px);
  }
}

.ServiceCard--about .ServiceCard__Title {
  transition: color 0.3s ease;
}

.ServiceCard--about:hover .ServiceCard__Title,
.ServiceCard--about:focus-visible .ServiceCard__Title {
  color: #1d7769;
}

.Faq {
  padding-block: min(5.2083333333vw, 100px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .Faq {
    padding-block-start: min(18.2666666667vw, 137px);
    padding-block-end: 0;
  }
}

.Faq__Inner {
  inline-size: min(max(62.625rem, 600px), 100% - 2.5rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .Faq__Inner {
    inline-size: min(91.0666666667vw, 683px);
  }
}

.Faq__Heading {
  margin-block-end: min(3.0208333333vw, 58px);
}
@media only screen and (max-width: 767px) {
  .Faq__Heading {
    margin-block-end: min(7.7333333333vw, 58px);
  }
}

.Faq__List {
  border-block-start: 1px solid #959595;
}

.FaqItem {
  border-block-end: 1px solid #959595;
}

.FaqItem__Head {
  display: flex;
  align-items: center;
  column-gap: 3rem;
  inline-size: 100%;
  padding-block: 1.875rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
  text-align: start;
  color: inherit;
  font-family: inherit;
}
@media only screen and (max-width: 767px) {
  .FaqItem__Head {
    column-gap: min(6vw, 45px);
    padding-block: min(3.8666666667vw, 29px);
  }
}

.FaqItem__Mark {
  flex: 0 0 1.125rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: max(1.5rem, var(--fz-min, 12px));
  line-height: 1;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FaqItem__Mark {
    flex: 0 0 min(2.8vw, 21px);
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.FaqItem__Mark--q {
  color: #1d7769;
}

.FaqItem__Mark--a {
  color: #b92958;
}

.FaqItem__Q {
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  line-height: 1.9375;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FaqItem__Q {
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
    line-height: 1.3333333333;
  }
}

.FaqItem__Arrow {
  flex-shrink: 0;
  margin-inline-start: auto;
  margin-inline-end: 2.5rem;
  inline-size: 0.625rem;
  block-size: 0.625rem;
  border-inline-end: 2px solid #2a2a2a;
  border-block-end: 2px solid #2a2a2a;
  transform: translateY(-25%) rotate(45deg);
  transform-origin: center;
  transition: transform 0.4s ease;
}
@media only screen and (max-width: 767px) {
  .FaqItem__Arrow {
    margin-inline-end: min(4vw, 30px);
    inline-size: min(1.8666666667vw, 14px);
    block-size: min(1.8666666667vw, 14px);
  }
}

.FaqItem.is-open .FaqItem__Arrow {
  transform: translateY(25%) rotate(225deg);
}

.FaqItem__Panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
}

.FaqItem.is-open .FaqItem__Panel {
  grid-template-rows: 1fr;
}

.FaqItem__PanelInner {
  overflow: hidden;
  min-block-size: 0;
}

.FaqItem__PanelBody {
  display: flex;
  align-items: flex-start;
  column-gap: 3rem;
  padding-block: 0.625rem 2.375rem;
}
@media only screen and (max-width: 767px) {
  .FaqItem__PanelBody {
    column-gap: min(6vw, 45px);
    padding-block: min(1.3333333333vw, 10px) min(5.0666666667vw, 38px);
  }
}

.FaqItem__A {
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .FaqItem__A {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.6666666667;
  }
}

.Area {
  padding-block: min(5.2083333333vw, 100px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .Area {
    padding-block-start: min(16vw, 120px);
    padding-block-end: 0;
    overflow-x: hidden;
  }
}

.Area__Heading {
  margin-block-end: min(2.2395833333vw, 43px);
}
@media only screen and (max-width: 767px) {
  .Area__Heading {
    margin-block-end: min(5.8666666667vw, 44px);
  }
}

.Area__Box {
  inline-size: min(62.6041666667vw, 1202px);
  margin-inline: auto;
  min-block-size: min(22.8125vw, 438px);
  display: flex;
  align-items: center;
  column-gap: min(2.5520833333vw, 49px);
  padding-inline-start: min(10.78125vw, 207px);
  background-color: #f2f8f8;
}
@media only screen and (max-width: 767px) {
  .Area__Box {
    inline-size: 100%;
    min-block-size: min(58.4vw, 438px);
    column-gap: min(2.9333333333vw, 22px);
    padding-inline-start: min(7.7333333333vw, 58px);
  }
}

.Area__Map {
  flex: 0 0 min(17.9166666667vw, 344px);
}
@media only screen and (max-width: 767px) {
  .Area__Map {
    flex: 0 0 min(45.8666666667vw, 344px);
  }
}

.Area__Map img {
  inline-size: 100%;
}

.Area__Region {
  font-size: max(2.25rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .Area__Region {
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.Column {
  padding-block: min(5.2083333333vw, 100px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .Column {
    padding-block-start: min(10.5333333333vw, 79px);
    padding-block-end: min(13.2vw, 99px);
  }
}

.Column__Inner {
  inline-size: min(62.6041666667vw, 1202px);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .Column__Inner {
    inline-size: min(91.0666666667vw, 683px);
  }
}

.Column__Heading {
  margin-block-end: min(2.34375vw, 45px);
}
@media only screen and (max-width: 767px) {
  .Column__Heading {
    margin-block-end: min(5.2vw, 39px);
  }
}

.Column__List {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: min(0.9895833333vw, 19px);
}
@media only screen and (max-width: 767px) {
  .Column__List {
    grid-template-columns: repeat(2, 1fr);
    column-gap: min(2.2666666667vw, 17px);
  }
}

@media only screen and (max-width: 767px) {
  .Column .Column__List li:nth-child(3) {
    display: none;
  }
}

.ColumnCard {
  position: relative;
}

.ColumnCard__Link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.ColumnCard__Thumb {
  aspect-ratio: 388/272;
  overflow: hidden;
  background-color: #d8d8d8;
}
@media only screen and (max-width: 767px) {
  .ColumnCard__Thumb {
    aspect-ratio: 333/272;
  }
}

.ColumnCard__Thumb img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.ColumnCard__Meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 0.5625rem;
  row-gap: 0.375rem;
  margin-block-start: min(0.78125vw, 15px);
}
@media only screen and (max-width: 767px) {
  .ColumnCard__Meta {
    row-gap: min(0.8vw, 6px);
    margin-block-start: min(1.8666666667vw, 14px);
  }
}

.ColumnCard__Cat {
  position: relative;
  z-index: 2;
  display: grid;
  place-content: center;
  min-inline-size: 7.625rem;
  min-block-size: 1.875rem;
  padding-inline: 0.5rem;
  background-color: #1d7769;
  color: #ffffff;
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .ColumnCard__Cat {
    min-inline-size: min(16.2666666667vw, 122px);
    min-block-size: min(4vw, 30px);
    font-size: max(min(2.1333333333vw, 16px), var(--fz-min, 12px));
  }
}

.ColumnCard__Cat:hover {
  opacity: 0.85;
}

.ColumnCard__Date {
  flex-basis: 100%;
  color: #2d2d2d;
  font-family: "Arial", sans-serif;
  font-size: max(1rem, var(--fz-min, 12px));
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .ColumnCard__Date {
    font-size: max(min(2.1333333333vw, 16px), var(--fz-min, 12px));
  }
}

.ColumnCard__Title {
  margin-block-start: 0.5rem;
  color: #2d2d2d;
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .ColumnCard__Title {
    margin-block-start: min(1.0666666667vw, 8px);
    font-size: max(min(2.1333333333vw, 16px), var(--fz-min, 12px));
  }
}

.Column__More {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: min(25.6770833333vw, 493px);
  block-size: min(4.3229166667vw, 83px);
  margin-block-start: min(2.7604166667vw, 53px);
  margin-inline: auto;
  border: 2px solid #1d7769;
  border-radius: min(2.1875vw, 42px);
  color: #1d7769;
  font-size: max(1.5rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .Column__More {
    inline-size: min(65.7333333333vw, 493px);
    block-size: min(11.0666666667vw, 83px);
    margin-block-start: min(7.2vw, 54px);
    border-radius: min(5.5333333333vw, 41.5px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.Column__MoreArrow {
  position: absolute;
  inset-inline-end: min(1.6145833333vw, 31px);
  inset-block-start: 50%;
  inline-size: 0.6875rem;
  block-size: 0.6875rem;
  border-block-start: 2px solid #1d7769;
  border-inline-end: 2px solid #1d7769;
  transform: translateY(-50%) rotate(45deg);
}
@media only screen and (max-width: 767px) {
  .Column__MoreArrow {
    inset-inline-end: min(4.1333333333vw, 31px);
    inline-size: min(1.4666666667vw, 11px);
    block-size: min(1.4666666667vw, 11px);
  }
}

.Company {
  position: relative;
  padding-block-start: 12.03125vw;
  overflow: hidden;
  background-color: #f5f5f5;
}
@media only screen and (max-width: 767px) {
  .Company {
    padding-block-start: min(26.6666666667vw, 200px);
    padding-block-end: min(11.0666666667vw, 83px);
  }
}

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

.Company__Bg picture {
  display: contents;
}

.Company__Bg img {
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  inline-size: 100%;
  block-size: auto;
}
@media only screen and (max-width: 767px) {
  .Company__Bg img {
    block-size: 100%;
    object-fit: cover;
    object-position: center;
  }
}

.Company__En {
  position: absolute;
  inset-block-start: 3.6458333333vw;
  inset-inline-end: 0;
  z-index: 1;
  font-family: "Lato", sans-serif;
  font-size: max(9.53125vw, var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .Company__En {
    inset-block-start: min(9.3333333333vw, 70px);
    inset-inline-end: min(7.7333333333vw, 58px);
    font-size: max(min(20.4vw, 153px), var(--fz-min, 12px));
  }
}

.Company__Panel {
  position: relative;
  z-index: 2;
  margin-inline-start: 12.5vw;
  min-block-size: 64.53125vw;
  padding-block: 4.6354166667vw 5.2083333333vw;
  padding-inline: 6.25vw 18.75vw;
  background-color: #ffffff;
  border-start-start-radius: 3.8541666667vw;
}
@media only screen and (max-width: 767px) {
  .Company__Panel {
    margin-inline-start: min(4.6666666667vw, 35px);
    min-block-size: auto;
    padding-block: min(6.6666666667vw, 50px) min(8vw, 60px);
    padding-inline: min(6.4vw, 48px) min(6.4vw, 48px);
    border-start-start-radius: min(5.3333333333vw, 40px);
  }
}

.Company__Heading {
  line-height: 1;
}

.Company__Profile {
  display: flex;
  align-items: center;
  column-gap: 4.0625vw;
  margin-block-start: 2.3958333333vw;
}
@media only screen and (max-width: 767px) {
  .Company__Profile {
    flex-direction: column;
    align-items: flex-start;
    column-gap: 0;
    row-gap: min(3.8666666667vw, 29px);
    margin-block-start: min(4.1333333333vw, 31px);
  }
}

.Company__Photo {
  flex: 0 0 31.1458333333vw;
}
@media only screen and (max-width: 767px) {
  .Company__Photo {
    flex: none;
    inline-size: min(80.4vw, 603px);
  }
}

.Company__Photo img {
  inline-size: 100%;
  aspect-ratio: 1800/1287;
  object-fit: cover;
}

.Company__Name {
  font-size: max(1.875rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .Company__Name {
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.Company__Address {
  margin-block-start: 1.3125rem;
  font-size: max(1rem, var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .Company__Address {
    margin-block-start: min(4.4vw, 33px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.4166666667;
  }
}

.Company__Cert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-block-start: 5.46875vw;
}
@media only screen and (max-width: 767px) {
  .Company__Cert {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: min(5.0666666667vw, 38px);
    margin-block-start: min(4.4vw, 33px);
  }
}

.Company__Iso {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-inline-start: 2.9166666667vw;
}
@media only screen and (max-width: 767px) {
  .Company__Iso {
    align-items: flex-start;
    margin-inline-start: 0;
  }
}

.Company__IsoLogo {
  inline-size: 26.09375vw;
  block-size: 12.7604166667vw;
}
@media only screen and (max-width: 767px) {
  .Company__IsoLogo {
    inline-size: min(66.8vw, 501px);
    block-size: min(32.6666666667vw, 245px);
  }
}

.Company__IsoLogo picture {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

.Company__IsoLogo img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}

.Company__IsoText {
  margin-block-start: 0.9375rem;
  font-size: max(1.5rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .Company__IsoText {
    margin-block-start: min(5.4666666667vw, 41px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.Company__Pdfs {
  display: flex;
  flex-direction: column;
  row-gap: 1.3020833333vw;
}
@media only screen and (max-width: 767px) {
  .Company__Pdfs {
    inline-size: 100%;
    row-gap: min(2.2666666667vw, 17px);
  }
}

.Company__Pdf {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 27.5520833333vw;
  min-block-size: 5.15625vw;
  padding-inline: 1.25rem;
  background-color: #1d7769;
  border-radius: 2.6041666667vw;
  color: #ffffff;
  font-size: max(1.5rem, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .Company__Pdf {
    inline-size: min(71.0666666667vw, 533px);
    min-block-size: min(13.7333333333vw, 103px);
    border-radius: min(6.8666666667vw, 51.5px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    margin-inline: auto;
  }
}

.Company--page .Company__Bg img {
  inset-block-start: 0;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
}

.Company--page {
  margin-block-start: 8.6458333333vw;
  padding-block-end: 11.3541666667vw;
}
@media only screen and (max-width: 767px) {
  .Company--page {
    margin-block-start: min(7.7333333333vw, 58px);
    padding-block-end: min(6.4vw, 48px);
  }
}

.Company--page .Company__Panel {
  min-block-size: 102.2395833333vw;
}
@media only screen and (max-width: 767px) {
  .Company--page .Company__Panel {
    min-block-size: auto;
  }
}

@media only screen and (max-width: 767px) {
  .Company--page .Company__Heading {
    display: none;
  }
}

.Company__Table {
  max-inline-size: 47.03125vw;
  margin-block-start: 5.9375vw;
  margin-inline: auto;
  padding-block: 2.0833333333vw;
  border-block: 1px solid #c5c5c5;
}
@media only screen and (max-width: 767px) {
  .Company__Table {
    max-inline-size: min(80.2666666667vw, 602px);
    margin-block-start: min(4.8vw, 36px);
    padding-block: min(5.7333333333vw, 43px);
  }
}

.Company__TableRow {
  display: flex;
  padding-inline-start: 10.625vw;
}
@media only screen and (max-width: 767px) {
  .Company__TableRow {
    padding-inline-start: min(3.0666666667vw, 23px);
  }
}

.Company__TableRow + .Company__TableRow {
  margin-block-start: 0.5729166667vw;
}
@media only screen and (max-width: 767px) {
  .Company__TableRow + .Company__TableRow {
    margin-block-start: min(0.5333333333vw, 4px);
  }
}

.Company__TableLabel {
  flex: 0 0 9.0625vw;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(0.8333333333vw, var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5495867769;
}
@media only screen and (max-width: 767px) {
  .Company__TableLabel {
    flex: 0 0 min(23.2vw, 174px);
    font-size: max(min(2.8vw, 21px), var(--fz-min, 12px));
    line-height: 1.3779527559;
  }
}

.Company__TableValue {
  flex: 1;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(0.8333333333vw, var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.7045454545;
}
@media only screen and (max-width: 767px) {
  .Company__TableValue {
    font-size: max(min(2.8vw, 21px), var(--fz-min, 12px));
    line-height: 1.4960629921;
    letter-spacing: 1.5px;
  }
}

.CompanyLead {
  padding-block-start: min(10.2083333333vw, 196px);
  padding-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .CompanyLead {
    padding-block-start: min(11.2vw, 84px);
  }
}

.CompanyLead__Inner {
  inline-size: min(min(70.8333333333vw, 1360px), 100% - 2.5rem);
  margin-inline: auto;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .CompanyLead__Inner {
    inline-size: min(90.8vw, 681px);
  }
}

.CompanyLead__Title {
  font-size: max(min(3.125vw, 60px), var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .CompanyLead__Title {
    font-size: max(min(4.8vw, 36px), var(--fz-min, 12px));
  }
}

.CompanyLead__Accent {
  color: #1d7769;
}

.CompanyLead__Text {
  max-inline-size: min(45.1041666667vw, 866px);
  margin-block-start: min(3.8541666667vw, 74px);
  margin-inline: auto;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 2;
  text-align: start;
}
@media only screen and (max-width: 767px) {
  .CompanyLead__Text {
    max-inline-size: 100%;
    margin-block-start: min(8vw, 60px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.75;
  }
}

.CompanyLead__Sdgs {
  margin-block-start: min(3.90625vw, 75px);
}
@media only screen and (max-width: 767px) {
  .CompanyLead__Sdgs {
    margin-block-start: min(8.9333333333vw, 67px);
  }
}

.CompanyLead__Sdgs img {
  inline-size: 100%;
  aspect-ratio: 1200/711;
}

.Greeting {
  padding-block: min(2.6041666667vw, 50px) 0;
}
@media only screen and (max-width: 767px) {
  .Greeting {
    padding-block-start: min(8vw, 60px);
  }
}

.Greeting__Inner {
  display: flex;
  align-items: flex-start;
  column-gap: min(3.5416666667vw, 68px);
  inline-size: min(min(70.8333333333vw, 1360px), 100% - 2.5rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .Greeting__Inner {
    flex-direction: column;
    align-items: stretch;
    column-gap: 0;
    row-gap: min(6.8vw, 51px);
    inline-size: min(81.6vw, 612px);
  }
}

.Greeting__Photo {
  flex: 0 0 min(31.40625vw, 603px);
}
@media only screen and (max-width: 767px) {
  .Greeting__Photo {
    flex: none;
    inline-size: min(80vw, 600px);
    margin-inline: auto;
  }
}

.Greeting__Photo img {
  inline-size: 100%;
  aspect-ratio: 603/448;
  object-fit: cover;
}

.Greeting__Body {
  flex: 1;
  align-self: center;
}
@media only screen and (max-width: 767px) {
  .Greeting__Body {
    flex: none;
    align-self: stretch;
  }
}

.Greeting__Text {
  margin-block-start: min(1.9791666667vw, 38px);
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 2.06;
}
@media only screen and (max-width: 767px) {
  .Greeting__Text {
    margin-block-start: min(5.4666666667vw, 41px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.625;
  }
}

.History {
  padding-block: min(11.9270833333vw, 229px) 0;
}
@media only screen and (max-width: 767px) {
  .History {
    padding-block-start: min(7.4666666667vw, 56px);
  }
}

.History__Panel {
  position: relative;
  inline-size: calc(1203 * min(max(100vw, 878px), 1920px) / 1920);
  block-size: calc(2102 * min(max(100vw, 878px), 1920px) / 1920);
  margin-block-start: min(3.8020833333vw, 73px);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .History__Panel {
    inline-size: 100vw;
    block-size: min(280.4vw, 2103px);
    margin-block-start: min(9.7333333333vw, 73px);
  }
}

.History__Panel::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline: calc((calc(1203 * min(max(100vw, 878px), 1920px) / 1920) - calc(1360 * min(max(100vw, 878px), 1920px) / 1920)) / 2);
  background-color: #f2f8f8;
}
@media only screen and (max-width: 767px) {
  .History__Panel::before {
    inset-inline: 0;
  }
}

.History__Spine {
  position: absolute;
  inset-block-start: calc(128 * min(max(100vw, 878px), 1920px) / 1920);
  inset-inline-start: calc(50% - min(0.15625vw, 3px));
  inline-size: min(0.3125vw, 6px);
  block-size: calc(1888 * min(max(100vw, 878px), 1920px) / 1920);
  background-color: #717474;
}
@media only screen and (max-width: 767px) {
  .History__Spine {
    inset-block-start: calc(128 * 100vw / 750);
    inset-inline-start: min(50.2666666667vw, 377px);
    inline-size: min(0.6666666667vw, 5px);
    block-size: calc(1888 * 100vw / 750);
  }
}

.History__Dot {
  position: absolute;
  inset-block-start: calc(var(--y) * min(max(100vw, 878px), 1920px) / 1920);
  inset-inline-start: calc(var(--x) * min(max(100vw, 878px), 1920px) / 1920);
  inline-size: min(0.9895833333vw, 19px);
  block-size: min(0.9895833333vw, 19px);
  background-color: #1c1c1c;
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .History__Dot {
    inset-block-start: calc(var(--y) * 100vw / 750);
    inline-size: min(2.5333333333vw, 19px);
    block-size: min(2.5333333333vw, 19px);
  }
}

@media only screen and (max-width: 767px) {
  .History__Dot--r {
    inset-inline-start: min(58.2666666667vw, 437px);
  }
}

@media only screen and (max-width: 767px) {
  .History__Dot--l {
    inset-inline-start: min(40.4vw, 303px);
  }
}

.History__Conn {
  position: absolute;
  inset-block-start: calc(var(--y) * min(max(100vw, 878px), 1920px) / 1920);
  inset-inline-start: calc(var(--x) * min(max(100vw, 878px), 1920px) / 1920);
  inline-size: calc(var(--w) * min(max(100vw, 878px), 1920px) / 1920);
  block-size: calc(var(--h) * min(max(100vw, 878px), 1920px) / 1920);
  background-color: #1c1c1c;
}
@media only screen and (max-width: 767px) {
  .History__Conn {
    inset-block-start: calc(var(--y) * 100vw / 750);
    inline-size: min(8.2666666667vw, 62px);
    block-size: min(0.5333333333vw, 4px);
  }
}

@media only screen and (max-width: 767px) {
  .History__Conn--r {
    inset-inline-start: min(50.4vw, 378px);
  }
}

@media only screen and (max-width: 767px) {
  .History__Conn--l {
    inset-inline-start: min(42.5333333333vw, 319px);
  }
}

.History__Item {
  position: absolute;
  inset-block-start: calc(var(--y) * min(max(100vw, 878px), 1920px) / 1920);
  inset-inline-start: calc(var(--x) * min(max(100vw, 878px), 1920px) / 1920);
}
@media only screen and (max-width: 767px) {
  .History__Item {
    display: flex;
    flex-direction: column;
    inset-block-start: calc(var(--y) * 100vw / 750);
  }
}

@media only screen and (max-width: 767px) {
  .History__Item--r {
    align-items: flex-start;
    inset-inline-start: min(62.9333333333vw, 472px);
    inset-inline-end: auto;
    inline-size: min(35.4666666667vw, 266px);
  }
}

@media only screen and (min-width: 768px) {
  .History__Item--l {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    inline-size: calc(240 * min(max(100vw, 878px), 1920px) / 1920);
  }
}
@media only screen and (max-width: 767px) {
  .History__Item--l {
    align-items: flex-end;
    inset-inline-start: min(1.6vw, 12px);
    inline-size: min(36.8vw, 276px);
    inset-inline-end: auto;
  }
}

@media only screen and (min-width: 768px) {
  .History__Item--l .History__Year {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 767px) {
  .History__Item--l .History__Year {
    justify-content: flex-end;
    text-align: end;
  }
}

.History__Year {
  display: flex;
  align-items: baseline;
  color: #1d7769;
  font-family: "Oswald", "Arial", sans-serif;
  font-size: max(min(3.125vw, 60px), var(--fz-min, 12px));
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .History__Year {
    font-size: max(min(8vw, 60px), var(--fz-min, 12px));
    white-space: nowrap;
    flex-wrap: wrap;
  }
}

.History__Era {
  margin-inline-start: min(0.8333333333vw, 16px);
  color: #1c1c1c;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
}
@media only screen and (max-width: 767px) {
  .History__Era {
    flex-basis: 100%;
    margin-inline-start: 0;
    margin-block-start: min(0.5333333333vw, 4px);
    font-size: max(min(2.1333333333vw, 16px), var(--fz-min, 12px));
  }
}

.History__Desc {
  margin-block-start: min(0.1041666667vw, 2px);
  color: #1c1c1c;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .History__Desc {
    margin-block-start: min(0.5333333333vw, 4px);
    font-size: max(min(2.1333333333vw, 16px), var(--fz-min, 12px));
    white-space: normal;
    line-height: 1.5;
  }
}

.History__Br {
  display: none;
}

.History__Photo {
  position: absolute;
  inset-block-start: calc(var(--y) * min(max(100vw, 878px), 1920px) / 1920);
  inset-inline-start: calc(var(--x) * min(max(100vw, 878px), 1920px) / 1920);
  inline-size: calc(var(--w) * min(max(100vw, 878px), 1920px) / 1920);
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .History__Photo {
    inset-block-start: calc(var(--sy) * 100vw / 750);
    inset-inline-start: calc(var(--sx) * 100vw / 750);
    inline-size: calc(var(--sw) * 100vw / 750);
  }
}

.History__PhotoImg {
  overflow: hidden;
  aspect-ratio: var(--w)/var(--h);
}
@media only screen and (max-width: 767px) {
  .History__PhotoImg {
    aspect-ratio: var(--sw)/var(--sh);
  }
}

.History__Photo--shadow .History__PhotoImg {
  box-shadow: min(0.2604166667vw, 5px) min(0.2604166667vw, 5px) 0 0 #bbd9d4;
}

.History__PhotoImg img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.History__PhotoCap {
  color: #1c1c1c;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 400;
  letter-spacing: 0.075em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .History__PhotoCap {
    font-size: max(min(2.1333333333vw, 16px), var(--fz-min, 12px));
  }
}

.History__Photo--above .History__PhotoCap {
  margin-block-end: min(0.6770833333vw, 13px);
}

.History__Photo--below .History__PhotoCap {
  margin-block-start: min(1.1979166667vw, 23px);
}
@media only screen and (max-width: 767px) {
  .History__Photo--below .History__PhotoCap {
    margin-block-start: min(2vw, 15px);
  }
}

@media only screen and (max-width: 767px) {
  .History__Photo--scap-right .History__PhotoCap {
    position: absolute;
    inset-block-start: calc(26 * 100vw / 750);
    inset-inline-start: calc(100% + min(2.4vw, 18px));
    margin: 0;
    text-align: start;
    white-space: nowrap;
  }
}

.Stakeholder {
  padding-block: min(3.0208333333vw, 58px) 0;
}
@media only screen and (max-width: 767px) {
  .Stakeholder {
    padding-block-start: min(4.1333333333vw, 31px);
  }
}

.Stakeholder__Heading {
  font-size: max(min(1.875vw, 36px), var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .Stakeholder__Heading {
    font-size: max(min(4.8vw, 36px), var(--fz-min, 12px));
  }
}

.Stakeholder__Box {
  inline-size: max(min(62.65625vw, 1203px), 550px);
  margin-block-start: min(3.8020833333vw, 73px);
  margin-inline: auto;
  border: min(1.5625vw, 30px) solid #f2f8f8;
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .Stakeholder__Box {
    inline-size: 100vw;
    margin-block-start: min(4.4vw, 33px);
    border-width: min(4.6666666667vw, 35px);
  }
}

.Stakeholder__Inner {
  padding: min(2.9166666667vw, 56px) min(4.1666666667vw, 80px);
  inline-size: 100%;
}
@media only screen and (max-width: 767px) {
  .Stakeholder__Inner {
    padding: min(5.3333333333vw, 40px) min(4.6666666667vw, 35px);
  }
}

.Stakeholder__Text {
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .Stakeholder__Text {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.6666666667;
  }
}

.SpBr {
  display: none;
}
@media only screen and (max-width: 767px) {
  .SpBr {
    display: inline;
  }
}

.Equipment {
  padding-block: min(8.8541666667vw, 170px) 0;
}
@media only screen and (max-width: 767px) {
  .Equipment {
    padding-block-start: min(13.3333333333vw, 100px);
  }
}

.Equipment__Inner {
  max-inline-size: calc(1440px + 3.75rem);
  padding-inline: 1.875rem;
  margin-inline: auto;
  margin-block-start: min(3.3854166667vw, 65px);
}
@media only screen and (max-width: 767px) {
  .Equipment__Inner {
    max-inline-size: none;
    padding-inline: 0;
    margin-block-start: min(6.4vw, 48px);
  }
}

.Equipment__Grid {
  margin-block-end: min(4.375vw, 84px);
}
@media only screen and (max-width: 767px) {
  .Equipment__Grid {
    padding-inline: min(4.6666666667vw, 35px);
    margin-block-end: min(8.1333333333vw, 61px);
  }
}

.Equipment__Table {
  inline-size: max(min(62.65625vw, 1203px), 550px);
  margin-inline: auto;
  padding: min(1.5104166667vw, 29px);
  background-color: #f5f5f5;
}
@media only screen and (max-width: 767px) {
  .Equipment__Table {
    inline-size: 100vw;
    padding: min(4vw, 30px) min(2.4vw, 18px);
  }
}

.Equipment__Table + .Equipment__Table {
  margin-block-start: min(3.0208333333vw, 58px);
}
@media only screen and (max-width: 767px) {
  .Equipment__Table + .Equipment__Table {
    margin-block-start: min(7.6vw, 57px);
  }
}

.Equipment__TableInner {
  padding: min(2.4479166667vw, 47px) min(3.125vw, 60px) min(1.5625vw, 30px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .Equipment__TableInner {
    padding: min(6.1333333333vw, 46px) min(3.2vw, 24px) min(4vw, 30px);
  }
}

@media only screen and (max-width: 767px) {
  .Equipment__TableScroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-block-end: min(3.7333333333vw, 28px);
    scrollbar-width: thin;
    scrollbar-color: #b5b5b5 #eeeeee;
  }
}

.Equipment__TableScroll::-webkit-scrollbar {
  block-size: min(0.8vw, 6px);
}

.Equipment__TableScroll::-webkit-scrollbar-track {
  background-color: #eeeeee;
  border-radius: min(0.4vw, 3px);
}

.Equipment__TableScroll::-webkit-scrollbar-thumb {
  background-color: #b5b5b5;
  border-radius: min(0.4vw, 3px);
}

.Equipment__TableTitle {
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  margin-block-end: min(1.9270833333vw, 37px);
}
@media only screen and (max-width: 767px) {
  .Equipment__TableTitle {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    margin-block-end: min(4vw, 30px);
  }
}

.EquipTable {
  inline-size: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
@media only screen and (max-width: 767px) {
  .EquipTable {
    inline-size: min(133.3333333333vw, 1000px);
  }
}

.EquipTable th,
.EquipTable td {
  border: 1px solid #e5e5e5;
  text-align: center;
  padding-block: min(0.8333333333vw, 16px);
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
}
@media only screen and (max-width: 767px) {
  .EquipTable th,
  .EquipTable td {
    padding-block: min(2.1333333333vw, 16px);
    font-size: max(min(2.1333333333vw, 16px), var(--fz-min, 12px));
  }
}

.EquipTable thead th {
  border: none;
  padding-block: 0 min(0.7291666667vw, 14px);
}
@media only screen and (max-width: 767px) {
  .EquipTable thead th {
    padding-block: 0 min(1.8666666667vw, 14px);
  }
}

.EquipTable__Pill {
  display: block;
  inline-size: min(15.6770833333vw, 301px);
  margin-inline: auto;
  padding-block: min(0.5729166667vw, 11px);
  background-color: #51a195;
  border-radius: min(1.1197916667vw, 21.5px);
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(0.9375vw, 18px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .EquipTable__Pill {
    inline-size: min(40.2666666667vw, 302px);
    padding-block: min(1.4666666667vw, 11px);
    border-radius: min(2.8vw, 21px);
    font-size: max(min(2.4vw, 18px), var(--fz-min, 12px));
  }
}

.EquipTable__Rowhead {
  vertical-align: middle;
}

.Equipment__List {
  margin-block-start: min(0.9375vw, 18px);
}
@media only screen and (max-width: 767px) {
  .Equipment__List {
    margin-block-start: min(3.2vw, 24px);
  }
}

.Equipment__List li {
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .Equipment__List li {
    font-size: max(min(2.1333333333vw, 16px), var(--fz-min, 12px));
  }
}

.RecruitBanner {
  position: relative;
  margin-block-start: min(7.9166666667vw, 152px);
  padding-block: min(4.4270833333vw, 85px) min(6.25vw, 120px);
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .RecruitBanner {
    margin-block-start: min(5.3333333333vw, 40px);
    padding-block: min(25.8666666667vw, 194px) min(12vw, 90px);
  }
}

.RecruitBanner__En {
  position: absolute;
  inset-block-start: calc(min(1.4739583333vw, 28.3px) * -1);
  inset-inline-end: 0;
  z-index: 0;
  font-family: "Lato", sans-serif;
  font-size: max(min(12.65625vw, 243px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
  color: #e6e6e6;
  transform: scaleX(0.929);
  transform-origin: right;
}
@media only screen and (max-width: 767px) {
  .RecruitBanner__En {
    inset-block-start: 0;
    inset-inline-start: min(6vw, 45px);
    inset-inline-end: auto;
    inline-size: max-content;
    font-size: max(min(29.7333333333vw, 223px), var(--fz-min, 12px));
    transform: scaleX(0.903);
    transform-origin: left;
  }
}

.RecruitBanner__Heading {
  position: relative;
  z-index: 1;
}

.RecruitBanner__Inner {
  position: relative;
  z-index: 1;
  inline-size: min(62.65625vw, 1203px);
  margin-inline: auto;
  margin-block-start: min(3.6979166667vw, 71px);
}
@media only screen and (max-width: 767px) {
  .RecruitBanner__Inner {
    inline-size: min(90.9333333333vw, 682px);
    margin-block-start: min(6.2666666667vw, 47px);
  }
}

.RecruitBanner__Card {
  position: relative;
  display: flex;
  align-items: center;
  min-block-size: min(20.9895833333vw, 403px);
}
@media only screen and (max-width: 767px) {
  .RecruitBanner__Card {
    min-block-size: min(53.6vw, 402px);
  }
}

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

.RecruitBanner__Bg img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.RecruitBanner__CardBody {
  position: relative;
  z-index: 1;
  padding-inline-start: min(4.21875vw, 81px);
}
@media only screen and (max-width: 767px) {
  .RecruitBanner__CardBody {
    padding-inline-start: min(5.3333333333vw, 40px);
  }
}

.RecruitBanner__Catch {
  color: #1d7769;
  font-size: max(min(1.875vw, 36px), var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.35;
}
@media only screen and (max-width: 767px) {
  .RecruitBanner__Catch {
    font-size: max(min(4.8vw, 36px), var(--fz-min, 12px));
  }
}

.RecruitBanner__Btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-inline-size: min(15.3645833333vw, 295px);
  min-block-size: min(3.2291666667vw, 62px);
  margin-block-start: min(1.40625vw, 27px);
  padding-inline: min(2.0833333333vw, 40px);
  background-color: #1d7769;
  border-radius: min(1.6145833333vw, 31px);
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(1.09375vw, 21px), var(--fz-min, 12px));
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .RecruitBanner__Btn {
    min-inline-size: min(39.2vw, 294px);
    min-block-size: min(8.2666666667vw, 62px);
    margin-block-start: min(4.4vw, 33px);
    padding-inline: min(4vw, 30px);
    border-radius: min(4.1333333333vw, 31px);
    font-size: max(min(2.8vw, 21px), var(--fz-min, 12px));
  }
}

.RecruitBanner__BtnArrow {
  inline-size: min(0.5729166667vw, 11px);
  block-size: min(0.8333333333vw, 16px);
  margin-inline-start: min(1.0416666667vw, 20px);
  border-block-start: 2px solid currentColor;
  border-inline-end: 2px solid currentColor;
  transform: rotate(45deg);
}
@media only screen and (max-width: 767px) {
  .RecruitBanner__BtnArrow {
    inline-size: min(1.4666666667vw, 11px);
    block-size: min(2.1333333333vw, 16px);
    margin-inline-start: min(2.6666666667vw, 20px);
  }
}

.RecruitBanner__Text {
  inline-size: fit-content;
  margin-block-start: min(2.96875vw, 57px);
  margin-inline: auto;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 2;
  text-align: start;
}
@media only screen and (max-width: 767px) {
  .RecruitBanner__Text {
    max-inline-size: min(80vw, 600px);
    margin-inline-start: min(5.0666666667vw, 38px);
    margin-block-start: min(7.6vw, 57px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.9166666667;
    text-align: start;
    letter-spacing: unset;
  }
}

.Reason {
  padding-block: min(10.2083333333vw, 196px) 0;
}
@media only screen and (max-width: 767px) {
  .Reason {
    padding-block-start: min(12vw, 90px);
  }
}

.Reason__Inner {
  display: flex;
  flex-direction: column;
  row-gap: min(4.0104166667vw, 77px);
  max-inline-size: calc(1440px + 3.75rem);
  padding-inline: 30px;
  margin-inline: auto;
  margin-block-start: min(2.1354166667vw, 41px);
}
@media only screen and (max-width: 767px) {
  .Reason__Inner {
    row-gap: min(9.6vw, 72px);
    padding-inline: min(4.6666666667vw, 35px);
    margin-block-start: min(6vw, 45px);
  }
}

.ServicePage .Material {
  padding-block-start: min(4.21875vw, 81px);
}
@media only screen and (max-width: 767px) {
  .ServicePage .Material {
    padding-block-start: min(12vw, 90px);
  }
}

.FeatureRow {
  display: flex;
  align-items: center;
  column-gap: min(4.9479166667vw, 95px);
}
@media only screen and (max-width: 767px) {
  .FeatureRow {
    flex-direction: column;
    align-items: stretch;
    row-gap: min(4vw, 30px);
  }
}

.FeatureRow--reverse {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 767px) {
  .FeatureRow--reverse {
    flex-direction: column;
  }
}

.FeatureRow__Photo {
  flex: 0 0 min(37.6041666667vw, 722px);
  overflow: hidden;
  aspect-ratio: 722/393;
}
@media only screen and (max-width: 767px) {
  .FeatureRow__Photo {
    flex: none;
    inline-size: 100%;
  }
}

.FeatureRow__Photo img {
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: none;
  object-fit: cover;
}

.FeatureRow__Body {
  flex: 1;
}

.FeatureRow__Title {
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .FeatureRow__Title {
    white-space: normal;
    font-size: max(min(4.2666666667vw, 32px), var(--fz-min, 12px));
  }
}

.FeatureRow__Text {
  margin-block-start: min(1.4583333333vw, 28px);
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .FeatureRow__Text {
    margin-block-start: min(3.2vw, 24px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.6;
  }
}

.FeatureRow__Body > .FeatureRow__Text:first-child {
  margin-block-start: 0;
}

.OtherService {
  padding-block: min(2.6041666667vw, 50px) 0;
}
@media only screen and (max-width: 767px) {
  .OtherService {
    padding-block-start: min(12vw, 90px);
  }
}

.OtherService__Inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(4.0625vw, 78px);
  max-inline-size: calc(1440px + 3.75rem);
  padding-inline: 30px;
  margin-inline: auto;
  margin-block-start: min(3.5416666667vw, 68px);
}
@media only screen and (max-width: 767px) {
  .OtherService__Inner {
    grid-template-columns: 1fr;
    row-gap: min(7.4666666667vw, 56px);
    padding-inline: min(4.6666666667vw, 35px);
    margin-block-start: min(6vw, 45px);
  }
}

.OtherCard__Photo {
  overflow: hidden;
  aspect-ratio: 683/433;
}

.OtherCard__Photo img {
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: none;
  object-fit: cover;
}

.OtherCard__Title {
  margin-block-start: min(1.5625vw, 30px);
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .OtherCard__Title {
    margin-block-start: min(3.7333333333vw, 28px);
    font-size: max(min(4.2666666667vw, 32px), var(--fz-min, 12px));
  }
}

.OtherCard__Text {
  margin-block-start: min(1.6666666667vw, 32px);
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 2.0625;
}
@media only screen and (max-width: 767px) {
  .OtherCard__Text {
    margin-block-start: min(2.6666666667vw, 20px);
    font-size: max(min(2.6666666667vw, 20px), var(--fz-min, 12px));
    line-height: 1.6;
  }
}

.Sdgs {
  padding-block: min(7.0833333333vw, 136px) 0;
}
@media only screen and (max-width: 767px) {
  .Sdgs {
    padding-block-start: min(12vw, 90px);
  }
}

.Sdgs__Inner {
  max-inline-size: calc(1440px + 3.75rem);
  padding-inline: 30px;
  margin-inline: auto;
  margin-block-start: min(3.6979166667vw, 71px);
}
@media only screen and (max-width: 767px) {
  .Sdgs__Inner {
    padding-inline: min(4.6666666667vw, 35px);
    margin-block-start: min(6vw, 45px);
  }
}

.ServicePage .Stakeholder {
  padding-block: min(8.8020833333vw, 169px) min(6.25vw, 120px);
}
@media only screen and (max-width: 767px) {
  .ServicePage .Stakeholder {
    padding-block: min(12vw, 90px) min(16vw, 120px);
  }
}

@media only screen and (max-width: 767px) {
  .Stakeholder__Text--small {
    font-size: max(min(2.6666666667vw, 20px), var(--fz-min, 12px));
  }
}

.Stakeholder__Note {
  text-align: right;
  margin-block-start: min(1.0416666667vw, 20px);
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
}
@media only screen and (max-width: 767px) {
  .Stakeholder__Note {
    margin-block-start: min(2.1333333333vw, 16px);
    font-size: max(min(2.6666666667vw, 20px), var(--fz-min, 12px));
  }
}

.FlowPage {
  padding-block-end: min(5.1041666667vw, 98px);
}
@media only screen and (max-width: 767px) {
  .FlowPage {
    padding-block-end: min(13.3333333333vw, 100px);
  }
}

.FlowPage__Inner {
  inline-size: min(min(75.15625vw, 1443px), 100% - 3.75rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .FlowPage__Inner {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
  }
}

.AnchorTabs {
  padding-block-start: min(10.3125vw, 198px);
  padding-block-end: min(0.9895833333vw, 19px);
}
@media only screen and (max-width: 767px) {
  .AnchorTabs {
    padding-block-start: min(5.2vw, 39px);
    padding-block-end: 0;
  }
}

.AnchorTabs__List {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: min(2.6041666667vw, 50px);
}
@media only screen and (max-width: 767px) {
  .AnchorTabs__List {
    grid-template-columns: 1fr;
    grid-auto-rows: 1fr;
    row-gap: min(4vw, 30px);
  }
}

.AnchorTabs__Link {
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: 100%;
  padding-block: min(1.1979166667vw, 23px);
  background-color: #f2f8f8;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1.3333332185;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .AnchorTabs__Link {
    position: relative;
    padding-block: min(2.5333333333vw, 19px);
    padding-inline: min(5.7333333333vw, 43px);
    font-size: max(min(4.2666666667vw, 32px), var(--fz-min, 12px));
    line-height: 1.4375;
  }
}

.AnchorTabs__Icon {
  display: none;
}
@media only screen and (max-width: 767px) {
  .AnchorTabs__Icon {
    display: block;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: min(2.5333333333vw, 19px);
    inline-size: min(3.2vw, 24px);
    block-size: min(3.2vw, 24px);
    translate: 0 -50%;
    color: #0a090b;
  }
}

.FlowSection {
  padding-block-start: min(4.6875vw, 90px);
  scroll-margin-block-start: 6.25rem;
}
@media only screen and (max-width: 767px) {
  .FlowSection {
    padding-block-start: min(13.3333333333vw, 100px);
    scroll-margin-block-start: min(16.2666666667vw, 122px);
  }
}

@media only screen and (max-width: 767px) {
  .AnchorTabs + .FlowSection {
    padding-block-start: min(10.9333333333vw, 82px);
  }
}

.FlowSection__Heading {
  line-height: 1.444444623;
}
@media only screen and (max-width: 767px) {
  .FlowSection__Heading {
    line-height: 1.4444444444;
  }
}

.FlowSection__Heading::after {
  content: "";
  display: block;
  inline-size: min(7.0833333333vw, 136px);
  block-size: min(0.2083333333vw, 4px);
  margin-inline: auto;
  margin-block-start: min(2.1875vw, 42px);
  background-color: #1d7769;
}
@media only screen and (max-width: 767px) {
  .FlowSection__Heading::after {
    inline-size: min(19.7333333333vw, 148px);
    block-size: min(0.5333333333vw, 4px);
    margin-block-start: min(2.9333333333vw, 22px);
  }
}

.FlowSection__Lead {
  margin-block-start: min(1.9791666667vw, 38px);
  font-size: max(min(1.0416666667vw, 20px), var(--fz-min, 12px));
  letter-spacing: 0.1em;
  line-height: 1.9;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 767px) {
  .FlowSection__Lead {
    margin-block-start: min(6.6666666667vw, 50px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.75;
  }
}

.FlowSection__Notes {
  display: flex;
  flex-direction: column;
  row-gap: min(1.875vw, 36px);
  margin-block-start: min(2.5vw, 48px);
}
@media only screen and (max-width: 767px) {
  .FlowSection__Notes {
    row-gap: min(4.8vw, 36px);
    margin-block-start: min(6.6666666667vw, 50px);
  }
}

.FlowSection__Lead + .FlowSection__Notes {
  margin-block-start: min(2.03125vw, 39px);
}
@media only screen and (max-width: 767px) {
  .FlowSection__Lead + .FlowSection__Notes {
    margin-block-start: min(4.6666666667vw, 35px);
  }
}

.NoteBox {
  padding-block-start: min(1.8229166667vw, 35px);
  padding-block-end: min(var(--note-pb, 30) / 1920 * 100vw, var(--note-pb, 30) * 1px);
  padding-inline: min(1.9270833333vw, 37px);
  border: 4px solid #1d7769;
  font-size: max(min(1.0416666667vw, 20px), var(--fz-min, 12px));
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 767px) {
  .NoteBox {
    padding-block-start: min(3.6vw, 27px);
    padding-block-end: min(6vw, 45px);
    padding-inline-start: min(4vw, 30px);
    padding-inline-end: min(5.3333333333vw, 40px);
    border-width: min(0.4vw, 3px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.NoteBox__Title {
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .NoteBox__Title {
    font-size: max(min(3.4666666667vw, 26px), var(--fz-min, 12px));
    line-height: 1.6153846154;
  }
}

.NoteBox__Title--alert {
  color: #c90909;
}

.NoteBox__List {
  margin-block-start: min(0.78125vw, 15px);
  line-height: 1.9;
}
@media only screen and (max-width: 767px) {
  .NoteBox__List {
    margin-block-start: min(4vw, 30px);
    line-height: 1.75;
  }
}

.StepList {
  margin-block-start: min(2.96875vw, 57px);
}
@media only screen and (max-width: 767px) {
  .StepList {
    margin-block-start: min(6.5333333333vw, 49px);
  }
}

.FlowSection__Notes + .StepList {
  margin-block-start: min(3.0208333333vw, 58px);
}
@media only screen and (max-width: 767px) {
  .FlowSection__Notes + .StepList {
    margin-block-start: min(10.6666666667vw, 80px);
  }
}

.StepList__Item:not(:last-child)::after {
  content: "";
  display: block;
  inline-size: min(13.1770833333vw, 253px);
  block-size: min(1.6145833333vw, 31px);
  margin-inline: auto;
  margin-block: min(2.03125vw, 39px);
  background-color: #1d7769;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media only screen and (max-width: 767px) {
  .StepList__Item:not(:last-child)::after {
    inline-size: min(34.6666666667vw, 260px);
    block-size: min(5.4vw, 40.5px);
    margin-block-start: min(3.1333333333vw, 23.5px);
    margin-block-end: min(4vw, 30px);
  }
}

.StepCard {
  display: flex;
  column-gap: min(1.875vw, 36px);
  padding-inline-start: min(4.7395833333vw, 91px);
  padding-inline-end: min(4.1666666667vw, 80px);
  background-color: #f2f8f8;
}
@media only screen and (max-width: 767px) {
  .StepCard {
    flex-direction: column-reverse;
    column-gap: 0;
    padding-inline: 0;
    background-color: transparent;
  }
}

.StepCard__Body {
  flex: 1;
  padding-block-start: min(var(--step-pt, 79) / 1920 * 100vw, var(--step-pt, 79) * 1px);
  padding-block-end: min(var(--step-pb, 45) / 1920 * 100vw, var(--step-pb, 45) * 1px);
}
@media only screen and (max-width: 767px) {
  .StepCard__Body {
    padding-block-start: min(4vw, 30px);
    min-block-size: min(38.6666666667vw, 290px);
    padding-block-end: min(5.4666666667vw, 41px);
    padding-inline-start: min(4.4vw, 33px);
    padding-inline-end: min(5.7333333333vw, 43px);
    background-color: #f2f8f8;
  }
}

.StepCard__Title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(1.5625vw, 30px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .StepCard__Title {
    font-size: max(min(4.8vw, 36px), var(--fz-min, 12px));
    line-height: 1.4444444444;
  }
}

.StepCard__Text {
  margin-block-start: min(1.6666666667vw, 32px);
  font-size: max(min(1.0416666667vw, 20px), var(--fz-min, 12px));
  letter-spacing: 0.1em;
  line-height: 1.9;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 767px) {
  .StepCard__Text {
    margin-block-start: min(2.6666666667vw, 20px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.75;
  }
}

.StepCard__Alert {
  color: #c90909;
}

.StepCard__Photo {
  flex: 0 0 min(19.0625vw, 366px);
  align-self: center;
  aspect-ratio: 366/232;
  margin-block: min(1.7708333333vw, 34px);
}
@media only screen and (max-width: 767px) {
  .StepCard__Photo {
    flex: none;
    align-self: stretch;
    aspect-ratio: 680/325;
    min-block-size: 0;
    margin-block: 0;
  }
}

.StepCard__Photo img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.PageHead {
  position: relative;
  padding-block-start: 6.25rem;
}
@media only screen and (max-width: 767px) {
  .PageHead {
    padding-block-start: min(15.8666666667vw, 119px);
  }
}

.PageHead__Band {
  block-size: 23.0729166667vw;
  background-color: #f5f5f5;
}
@media only screen and (max-width: 767px) {
  .PageHead__Band {
    block-size: min(67.0666666667vw, 503px);
  }
}

.PageHead__Body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-block-start: 9.84375vw;
  padding-inline-start: 12.5vw;
}
@media only screen and (max-width: 767px) {
  .PageHead__Body {
    padding-block-start: min(10.2666666667vw, 77px);
    padding-inline-start: min(12.9333333333vw, 97px);
  }
}

.PageHead__Ja {
  margin: 0;
  font-size: max(1.0416666667vw, var(--fz-min, 12px));
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .PageHead__Ja {
    font-size: max(min(2.6666666667vw, 20px), var(--fz-min, 12px));
  }
}

.PageHead__En {
  font-family: "Lato", sans-serif;
  font-size: max(2.5vw, var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
  margin-block-start: 0.46875vw;
}
@media only screen and (max-width: 767px) {
  .PageHead__En {
    font-size: max(min(6.4vw, 48px), var(--fz-min, 12px));
    margin-block-start: min(0.6666666667vw, 5px);
  }
}

.PageHead__Visual {
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  inline-size: 45.1041666667vw;
  block-size: 16.3020833333vw;
  --frame-radius: 3.125vw;
}
@media only screen and (max-width: 767px) {
  .PageHead__Visual {
    inline-size: min(87.7333333333vw, 658px);
    block-size: min(41.6vw, 312px);
    --frame-radius: min(3.2vw, 24px);
  }
}

.PageHead__Visual picture {
  display: contents;
}

.PageHead__Visual img {
  object-position: var(--kv-pos, center);
}

.NewsList {
  padding-block-start: min(10.78125vw, 207px);
  padding-block-end: min(10.3645833333vw, 199px);
}
@media only screen and (max-width: 767px) {
  .NewsList {
    padding-block-start: min(12vw, 90px);
    padding-block-end: min(18.6666666667vw, 140px);
  }
}

.NewsList__Items {
  inline-size: min(min(44.9479166667vw, 863px), 100% - 3.75rem);
  margin-inline: auto;
  margin-block-start: min(2.1875vw, 42px);
  display: flex;
  flex-direction: column;
  row-gap: min(1.5104166667vw, 29px);
}
@media only screen and (max-width: 767px) {
  .NewsList__Items {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
    margin-block-start: min(6.6666666667vw, 50px);
    row-gap: min(4.8vw, 36px);
  }
}

.NewsCard {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: min(1.25vw, 24px);
  padding-block-end: min(1.3020833333vw, 25px);
  border-block-end: 1px solid #d2d2d2;
}
@media only screen and (max-width: 767px) {
  .NewsCard {
    row-gap: min(2.6666666667vw, 20px);
    padding-block-end: min(3.2vw, 24px);
  }
}

.NewsCard__Link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.NewsCard__Meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: min(1.4583333333vw, 28px);
  row-gap: min(0.5208333333vw, 10px);
}
@media only screen and (max-width: 767px) {
  .NewsCard__Meta {
    column-gap: min(3.2vw, 24px);
    row-gap: min(1.0666666667vw, 8px);
  }
}

.NewsCard__Cat {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-inline-size: min(6.5625vw, 126px);
  padding-block: min(0.4166666667vw, 8px);
  padding-inline: min(1.0416666667vw, 20px);
  line-height: 1;
  background-color: #1d7769;
  color: #ffffff;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .NewsCard__Cat {
    min-inline-size: min(20vw, 150px);
    padding-block: min(1.3333333333vw, 10px);
    padding-inline: min(3.2vw, 24px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.NewsCard__Cat:hover {
  opacity: 0.85;
}

.NewsCard__Date {
  flex-basis: 100%;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .NewsCard__Date {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.NewsCard__Body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: min(2.0833333333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .NewsCard__Body {
    column-gap: min(3.2vw, 24px);
  }
}

.NewsCard__Title {
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .NewsCard__Title {
    font-size: max(min(3.7333333333vw, 28px), var(--fz-min, 12px));
    line-height: 1.4;
  }
}

.NewsCard__More {
  display: flex;
  align-items: center;
  column-gap: min(0.8333333333vw, 16px);
  flex-shrink: 0;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .NewsCard__More {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    column-gap: min(1.8666666667vw, 14px);
  }
}

.NewsCard__Arrow {
  inline-size: min(0.3645833333vw, 7px);
  block-size: min(0.3645833333vw, 7px);
  border-block-start: 1.5px solid currentColor;
  border-inline-end: 1.5px solid currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .NewsCard__Arrow {
    inline-size: min(1.4666666667vw, 11px);
    block-size: min(1.4666666667vw, 11px);
  }
}

.NewsCard:hover .NewsCard__More {
  color: #1d7769;
}

.NewsList .PageNumBox {
  margin-block-start: min(3.5416666667vw, 68px);
}
@media only screen and (max-width: 767px) {
  .NewsList .PageNumBox {
    margin-block-start: min(9.3333333333vw, 70px);
  }
}

.NewsList__Empty {
  margin-block-start: min(3.125vw, 60px);
  text-align: center;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
}
@media only screen and (max-width: 767px) {
  .NewsList__Empty {
    font-size: max(min(3.4666666667vw, 26px), var(--fz-min, 12px));
  }
}

.NewsDetail {
  padding-block-start: min(10.78125vw, 207px);
  padding-block-end: min(10.4166666667vw, 200px);
}
@media only screen and (max-width: 767px) {
  .NewsDetail {
    padding-block-start: min(12vw, 90px);
    padding-block-end: min(18.6666666667vw, 140px);
  }
}

.NewsDetail__Title {
  margin: 0;
  inline-size: min(min(57.5vw, 1104px), 100% - 3.75rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .NewsDetail__Title {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
  }
}

.NewsDetail__Inner {
  inline-size: min(min(44.7395833333vw, 859px), 100% - 3.75rem);
  margin-inline: auto;
  margin-block-start: min(2.1875vw, 42px);
  display: flex;
  flex-direction: column;
  row-gap: min(1.1979166667vw, 23px);
}
@media only screen and (max-width: 767px) {
  .NewsDetail__Inner {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
    margin-block-start: min(6.6666666667vw, 50px);
    row-gap: min(4vw, 30px);
  }
}

.NewsDetail__Meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: min(1.5104166667vw, 29px);
  row-gap: min(0.5208333333vw, 10px);
}
@media only screen and (max-width: 767px) {
  .NewsDetail__Meta {
    column-gap: min(3.2vw, 24px);
    row-gap: min(1.0666666667vw, 8px);
  }
}

.NewsDetail__Cat {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-inline-size: min(6.4583333333vw, 124px);
  padding-block: min(0.4166666667vw, 8px);
  padding-inline: min(1.0416666667vw, 20px);
  line-height: 1;
  background-color: #1d7769;
  color: #ffffff;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .NewsDetail__Cat {
    min-inline-size: min(20vw, 150px);
    padding-block: min(1.3333333333vw, 10px);
    padding-inline: min(3.2vw, 24px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.NewsDetail__Cat:hover {
  opacity: 0.85;
}

.NewsDetail__Date {
  flex-basis: 100%;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .NewsDetail__Date {
    font-size: max(min(2.6666666667vw, 20px), var(--fz-min, 12px));
  }
}

.NewsDetail__Body {
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 2.5;
}
@media only screen and (max-width: 767px) {
  .NewsDetail__Body {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.9;
  }
}

.NewsDetail__Body p {
  margin-block: 0;
}

.NewsDetail__Body p + p {
  margin-block-start: 1em;
}

.PostNav {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: min(4.7395833333vw, 91px);
  margin-block-start: min(8.3333333333vw, 160px);
}
@media only screen and (max-width: 767px) {
  .PostNav {
    row-gap: min(3.7333333333vw, 28px);
    margin-block-start: min(12vw, 90px);
  }
}

.PostNav__Link {
  display: flex;
  align-items: center;
  column-gap: min(0.9375vw, 18px);
  color: #2d2d2d;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .PostNav__Link {
    column-gap: min(2.1333333333vw, 16px);
    font-size: max(min(2.6666666667vw, 20px), var(--fz-min, 12px));
  }
}

.PostNav__Label {
  text-decoration: underline;
  text-underline-offset: min(0.3125vw, 6px);
}

.PostNav__Arrow {
  inline-size: min(0.4166666667vw, 8px);
  block-size: min(0.4166666667vw, 8px);
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .PostNav__Arrow {
    inline-size: min(1.6vw, 12px);
    block-size: min(1.6vw, 12px);
  }
}

.PostNav__Arrow--prev {
  border-block-start: 1.5px solid #1d7769;
  border-inline-start: 1.5px solid #1d7769;
  transform: rotate(-45deg);
}

.PostNav__Arrow--next {
  border-block-start: 1.5px solid #1d7769;
  border-inline-end: 1.5px solid #1d7769;
  transform: rotate(45deg);
}

.ColumnArchive {
  padding-block-start: min(10.78125vw, 207px);
  padding-block-end: min(9.84375vw, 189px);
}
@media only screen and (max-width: 767px) {
  .ColumnArchive {
    padding-block-start: min(12vw, 90px);
    padding-block-end: min(18.6666666667vw, 140px);
  }
}

.ColumnArchive__Heading {
  margin-block-end: min(2.1875vw, 42px);
}
@media only screen and (max-width: 767px) {
  .ColumnArchive__Heading {
    margin-block-end: min(6vw, 45px);
  }
}

.ColumnArchive__Inner {
  inline-size: min(min(62.6041666667vw, 1202px), 100% - 3.75rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .ColumnArchive__Inner {
    inline-size: min(91.0666666667vw, 683px);
  }
}

.ColumnArchive__List {
  row-gap: min(1.6145833333vw, 31px);
}
@media only screen and (max-width: 767px) {
  .ColumnArchive__List {
    row-gap: min(5.3333333333vw, 40px);
  }
}

.ColumnArchive .PageNumBox {
  margin-block-start: min(2.8125vw, 54px);
}
@media only screen and (max-width: 767px) {
  .ColumnArchive .PageNumBox {
    margin-block-start: min(9.3333333333vw, 70px);
  }
}

.ColumnDetail {
  padding-block-start: min(10.1041666667vw, 194px);
  padding-block-end: min(9.8958333333vw, 190px);
}
@media only screen and (max-width: 767px) {
  .ColumnDetail {
    padding-block-start: min(12vw, 90px);
    padding-block-end: min(18.6666666667vw, 140px);
  }
}

.ColumnDetail__Inner {
  inline-size: min(min(44.8958333333vw, 862px), 100% - 3.75rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .ColumnDetail__Inner {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
  }
}

.ColumnDetail__Hero {
  aspect-ratio: 862/563;
  overflow: hidden;
  background-color: #d8d8d8;
}

.ColumnDetail__Hero img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.ColumnDetail__Meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: min(1.5104166667vw, 29px);
  row-gap: min(0.4166666667vw, 8px);
  margin-block-start: min(1.4583333333vw, 28px);
}
@media only screen and (max-width: 767px) {
  .ColumnDetail__Meta {
    row-gap: min(1.0666666667vw, 8px);
    column-gap: min(3.2vw, 24px);
    margin-block-start: min(3.7333333333vw, 28px);
  }
}

.ColumnDetail__Title {
  margin-block-start: min(1.40625vw, 27px);
  color: #2d2d2d;
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .ColumnDetail__Title {
    margin-block-start: min(3.2vw, 24px);
    font-size: max(min(4.5333333333vw, 34px), var(--fz-min, 12px));
  }
}

.ColumnDetail__Divider {
  block-size: min(0.1041666667vw, 2px);
  margin-block: min(0.625vw, 12px) min(2.03125vw, 39px);
  background-color: #1d7769;
}
@media only screen and (max-width: 767px) {
  .ColumnDetail__Divider {
    block-size: 2px;
    margin-block: min(1.8666666667vw, 14px) min(3.7333333333vw, 28px);
  }
}

.ColumnDetail__Body {
  color: #2d2d2d;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8125;
}
@media only screen and (max-width: 767px) {
  .ColumnDetail__Body {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.9;
  }
}

.ColumnDetail__Body p {
  margin-block: 0;
}

.ColumnDetail__Body p + p {
  margin-block-start: 1em;
}

.ColumnDetail__Body h2 {
  margin-block: 2.6em 1em;
  padding-block-end: 0.5em;
  border-block-end: 1px solid #1d7769;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .ColumnDetail__Body h2 {
    font-size: max(min(4.5333333333vw, 34px), var(--fz-min, 12px));
  }
}

.ColumnDetail__Body h3 {
  margin-block: 2em 0.6em;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(1.0416666667vw, 20px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .ColumnDetail__Body h3 {
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.ColumnDetail__Body h2 + h3 {
  margin-block-start: 1.2em;
}

.ColumnDetail__Body :is(h2, h3) + :is(p, ul) {
  margin-block-start: 0;
}

.ColumnDetail__Body > :first-child {
  margin-block-start: 0;
}

.ColumnDetail__Body ul {
  margin-block: 1em;
}

.ColumnDetail__Body li {
  position: relative;
  padding-inline-start: 1.2em;
}

.ColumnDetail__Body li + li {
  margin-block-start: 0.4em;
}

.ColumnDetail__Body li::before {
  content: "・";
  position: absolute;
  inset-inline-start: 0;
}

.ColumnDetail__Body a {
  color: #1d7769;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (any-hover: hover) {
  .ColumnDetail__Body a:hover {
    text-decoration: none;
  }
}
.Policy {
  padding-block-start: min(9.8958333333vw, 190px);
  padding-block-end: min(10.3125vw, 198px);
}
@media only screen and (max-width: 767px) {
  .Policy {
    padding-block-start: min(12vw, 90px);
    padding-block-end: min(18.6666666667vw, 140px);
  }
}

.Policy__Inner {
  inline-size: min(min(45.2083333333vw, 868px), 100% - 3.75rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .Policy__Inner {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
  }
}

.Policy__Section {
  margin-block-start: min(1.4583333333vw, 28px);
}
@media only screen and (max-width: 767px) {
  .Policy__Section {
    margin-block-start: min(5.6vw, 42px);
  }
}

.Policy__Section:first-child {
  margin-block-start: 0;
}

.Policy__Section--tight {
  margin-block-start: 0;
}

.Policy__Heading {
  margin: 0;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .Policy__Heading {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.Policy__Text {
  margin: 0;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .Policy__Text {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.Policy__List {
  margin-block-start: min(1.4583333333vw, 28px);
}
@media only screen and (max-width: 767px) {
  .Policy__List {
    margin-block-start: min(5.6vw, 42px);
  }
}

.Policy__ListItem {
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .Policy__ListItem {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.ContactThanks {
  padding-block-start: min(10.78125vw, 207px);
  padding-block-end: min(21.6666666667vw, 416px);
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .ContactThanks {
    padding-block-start: min(12vw, 90px);
    padding-block-end: min(21.3333333333vw, 160px);
    padding-inline: min(4.6666666667vw, 35px);
  }
}

.ContactThanks__Heading {
  margin: 0;
}

.ContactThanks__Body {
  margin-block-start: min(2.9166666667vw, 56px);
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .ContactThanks__Body {
    margin-block-start: min(6.6666666667vw, 50px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    text-align: start;
  }
}

.ContactThanks__Body p {
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .ContactThanks__Body br {
    display: none;
  }
}

.ContactThanks__Body p + p {
  margin-block-start: min(1.4583333333vw, 28px);
}
@media only screen and (max-width: 767px) {
  .ContactThanks__Body p + p {
    margin-block-start: min(3.2vw, 24px);
  }
}

.ContactThanks__DownloadLead {
  margin-block-start: min(4.4791666667vw, 86px);
  margin-block-end: 0;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .ContactThanks__DownloadLead {
    margin-block-start: min(7.4666666667vw, 56px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.4285714286;
  }
}

.ContactThanks__Banner {
  display: block;
  margin-block-start: min(2.03125vw, 39px);
  margin-inline: auto;
  inline-size: min(46.875vw, 900px);
}
@media only screen and (max-width: 767px) {
  .ContactThanks__Banner {
    margin-block-start: min(4.8vw, 36px);
    inline-size: 100%;
  }
}

.Contact {
  padding-block-start: min(10.78125vw, 207px);
  padding-block-end: min(10.3645833333vw, 199px);
}
@media only screen and (max-width: 767px) {
  .Contact {
    padding-block-start: min(12vw, 90px);
    padding-block-end: min(18.6666666667vw, 140px);
  }
}

.Contact__Heading {
  margin: 0 0 min(2.6041666667vw, 50px);
}
@media only screen and (max-width: 767px) {
  .Contact__Heading {
    margin: 0 0 min(6.6666666667vw, 50px);
  }
}

.ContactForm {
  inline-size: min(min(46.875vw, 900px), 100% - 3.75rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .ContactForm {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
  }
}

.ContactForm__Field {
  margin-block-start: min(0.78125vw, 15px);
}
@media only screen and (max-width: 767px) {
  .ContactForm__Field {
    margin-block-start: min(3.7333333333vw, 28px);
  }
}

.ContactForm__Field:first-child {
  margin-block-start: 0;
}

.ContactForm__Field[data-ycf-field=agree_privacy] {
  margin-block-start: min(1.1458333333vw, 22px);
}
@media only screen and (max-width: 767px) {
  .ContactForm__Field[data-ycf-field=agree_privacy] {
    margin-block-start: min(4.8vw, 36px);
  }
}

.ContactForm .cf-turnstile {
  display: flex;
  justify-content: center;
}

.ContactForm__LabelRow {
  display: flex;
  align-items: center;
  column-gap: min(0.625vw, 12px);
  margin-block-end: min(0.46875vw, 9px);
}
@media only screen and (max-width: 767px) {
  .ContactForm__LabelRow {
    column-gap: min(2.1333333333vw, 16px);
    margin-block-end: min(1.8666666667vw, 14px);
  }
}

.ContactForm__Label {
  color: #101010;
  font-size: max(min(0.9375vw, 18px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .ContactForm__Label {
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.ContactForm__Required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: min(2.4479166667vw, 47px);
  block-size: min(0.9375vw, 18px);
  padding-inline: min(0.3125vw, 6px);
  background-color: #ffd506;
  color: #101010;
  font-size: max(min(0.7291666667vw, 14px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .ContactForm__Required {
    min-inline-size: min(9.6vw, 72px);
    block-size: min(4vw, 30px);
    padding-inline: min(1.3333333333vw, 10px);
    font-size: max(min(2.9333333333vw, 22px), var(--fz-min, 12px));
  }
}

.ContactForm__Input {
  inline-size: 100%;
  block-size: min(2.5vw, 48px);
  padding-inline: min(0.8333333333vw, 16px);
  border: 1px solid #101010;
  background-color: #ffffff;
  color: #101010;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .ContactForm__Input {
    block-size: min(11.2vw, 84px);
    padding-inline: min(3.2vw, 24px);
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.ContactForm__Textarea {
  inline-size: 100%;
  min-block-size: min(13.2291666667vw, 254px);
  padding: min(0.7291666667vw, 14px) min(0.8333333333vw, 16px);
  border: 1px solid #101010;
  background-color: #ffffff;
  color: #101010;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  line-height: 1.75;
  resize: vertical;
}
@media only screen and (max-width: 767px) {
  .ContactForm__Textarea {
    min-block-size: min(48vw, 360px);
    padding: min(2.9333333333vw, 22px) min(3.2vw, 24px);
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.ContactForm__Input::placeholder,
.ContactForm__Textarea::placeholder {
  color: #9b9b9b;
}

.ContactForm__RadioList {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: min(1.4583333333vw, 28px);
  row-gap: min(0.625vw, 12px);
}
@media only screen and (max-width: 767px) {
  .ContactForm__RadioList {
    column-gap: min(4.5333333333vw, 34px);
    row-gap: min(2.6666666667vw, 20px);
  }
}

.ContactForm__Radio {
  display: inline-flex;
  align-items: center;
  column-gap: min(0.5208333333vw, 10px);
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .ContactForm__Radio {
    column-gap: min(2.1333333333vw, 16px);
  }
}

.ContactForm__Radio input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
}

.ContactForm__RadioMark {
  position: relative;
  inline-size: min(1.3541666667vw, 26px);
  block-size: min(1.3541666667vw, 26px);
  flex-shrink: 0;
  border: 1px solid #101010;
  border-radius: 50%;
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .ContactForm__RadioMark {
    inline-size: min(5.3333333333vw, 40px);
    block-size: min(5.3333333333vw, 40px);
  }
}

.ContactForm__Radio input:checked + .ContactForm__RadioMark {
  border-color: #1d7769;
}

.ContactForm__Radio input:checked + .ContactForm__RadioMark::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  inline-size: min(0.7291666667vw, 14px);
  block-size: min(0.7291666667vw, 14px);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #1d7769;
}
@media only screen and (max-width: 767px) {
  .ContactForm__Radio input:checked + .ContactForm__RadioMark::after {
    inline-size: min(2.9333333333vw, 22px);
    block-size: min(2.9333333333vw, 22px);
  }
}

.ContactForm__Radio input:focus-visible + .ContactForm__RadioMark {
  outline: 2px solid #1d7769;
  outline-offset: 2px;
}

.ContactForm__RadioLabel {
  color: #101010;
  font-size: max(min(0.9375vw, 18px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .ContactForm__RadioLabel {
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.ContactForm__Control--agree {
  display: flex;
  justify-content: center;
}

.ContactForm__Checkbox {
  display: inline-flex;
  align-items: center;
  column-gap: min(0.625vw, 12px);
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .ContactForm__Checkbox {
    column-gap: min(2.1333333333vw, 16px);
  }
}

.ContactForm__Checkbox input {
  position: relative;
  appearance: none;
  inline-size: min(0.8333333333vw, 16px);
  block-size: min(0.8333333333vw, 16px);
  flex-shrink: 0;
  border: 1px solid #101010;
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .ContactForm__Checkbox input {
    inline-size: min(4vw, 30px);
    block-size: min(4vw, 30px);
  }
}

.ContactForm__Checkbox input:checked {
  border-color: #1d7769;
  background-color: #1d7769;
}

.ContactForm__Checkbox input:checked::after {
  content: "";
  position: absolute;
  inset-block-start: 45%;
  inset-inline-start: 50%;
  inline-size: min(0.2604166667vw, 5px);
  block-size: min(0.46875vw, 9px);
  border-inline-end: 2px solid #ffffff;
  border-block-end: 2px solid #ffffff;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media only screen and (max-width: 767px) {
  .ContactForm__Checkbox input:checked::after {
    inline-size: min(1.2vw, 9px);
    block-size: min(2vw, 15px);
  }
}

.ContactForm__Checkbox input:focus-visible {
  outline: 2px solid #1d7769;
  outline-offset: 2px;
}

.ContactForm__CheckboxLabel {
  color: #101010;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .ContactForm__CheckboxLabel {
    font-size: max(min(3.4666666667vw, 26px), var(--fz-min, 12px));
    line-height: 1.4615384615;
  }
}

.ContactForm__PrivacyLink {
  color: #1d7769;
  text-decoration: underline;
}

.ContactForm__Submit {
  margin-block-start: min(1.1458333333vw, 22px);
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .ContactForm__Submit {
    margin-block-start: min(5.3333333333vw, 40px);
  }
}

.ContactForm__SubmitButton {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: min(17.34375vw, 333px);
  block-size: min(3.8020833333vw, 73px);
  border: none;
  border-radius: min(1.9270833333vw, 37px);
  background-color: #1d7769;
  color: #ffffff;
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  cursor: pointer;
  opacity: 0.4;
  transition: opacity 0.3s ease;
}
@media only screen and (max-width: 767px) {
  .ContactForm__SubmitButton {
    inline-size: min(62.6666666667vw, 470px);
    block-size: min(13.8666666667vw, 104px);
    border-radius: min(6.9333333333vw, 52px);
    font-size: max(min(4.2666666667vw, 32px), var(--fz-min, 12px));
  }
}

.ContactForm__SubmitButton.is-ready {
  opacity: 1;
}

.ContactForm__SubmitButton.is-ready:hover,
.ContactForm__SubmitButton.is-ready:focus-visible {
  opacity: 0.85;
}

.ContactForm__SubmitArrow {
  position: absolute;
  inset-inline-end: min(1.4583333333vw, 28px);
  inset-block-start: 50%;
  inline-size: min(0.46875vw, 9px);
  block-size: min(0.46875vw, 9px);
  border-block-start: 2px solid #ffffff;
  border-inline-end: 2px solid #ffffff;
  transform: translateY(-50%) rotate(45deg);
}
@media only screen and (max-width: 767px) {
  .ContactForm__SubmitArrow {
    inset-inline-end: min(4.8vw, 36px);
    inline-size: min(1.8666666667vw, 14px);
    block-size: min(1.8666666667vw, 14px);
  }
}

.ContactForm__SubmitButton.is-loading {
  opacity: 0.6;
}

.ContactForm__Error,
.ContactForm__GlobalError {
  margin-block-start: min(0.3125vw, 6px);
  color: #c8102e;
  font-size: max(min(0.7291666667vw, 14px), var(--fz-min, 12px));
}
@media only screen and (max-width: 767px) {
  .ContactForm__Error,
  .ContactForm__GlobalError {
    margin-block-start: min(1.0666666667vw, 8px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.ContactForm__Field.is-error .ContactForm__Input,
.ContactForm__Field.is-error .ContactForm__Textarea {
  border-color: #c8102e;
}

.ContactForm--confirm {
  inline-size: min(min(46.875vw, 900px), 100% - 3.75rem);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 767px) {
  .ContactForm--confirm {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
  }
}

.ContactForm__ConfirmLead {
  margin-block-end: min(1.5625vw, 30px);
  text-align: center;
  color: #101010;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .ContactForm__ConfirmLead {
    margin-block-end: min(4.8vw, 36px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.ContactForm__ConfirmItem {
  display: flex;
  flex-wrap: wrap;
  column-gap: min(1.0416666667vw, 20px);
  row-gap: min(0.3125vw, 6px);
  padding-block: min(0.9375vw, 18px);
  border-block-end: 1px solid #d2d2d2;
}
@media only screen and (max-width: 767px) {
  .ContactForm__ConfirmItem {
    column-gap: min(3.2vw, 24px);
    row-gap: min(1.0666666667vw, 8px);
    padding-block: min(3.2vw, 24px);
  }
}

.ContactForm__ConfirmLabel {
  flex: 0 0 min(10.9375vw, 210px);
  color: #101010;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .ContactForm__ConfirmLabel {
    flex-basis: 100%;
    font-size: max(min(3.4666666667vw, 26px), var(--fz-min, 12px));
  }
}

.ContactForm__ConfirmValue {
  flex: 1;
  color: #101010;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .ContactForm__ConfirmValue {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.ContactForm__ConfirmActions,
.ContactForm__BackActions {
  display: flex;
  justify-content: center;
}

.ContactForm__ConfirmActions {
  margin-block-start: min(2.0833333333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .ContactForm__ConfirmActions {
    margin-block-start: min(6.6666666667vw, 50px);
  }
}

.ContactForm__TurnstileWrap {
  margin-block-start: min(2.0833333333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .ContactForm__TurnstileWrap {
    margin-block-start: min(6.6666666667vw, 50px);
  }
}

.ContactForm__SubmitForm {
  order: 2;
}

.ContactForm__BackForm {
  order: 1;
  margin-block-start: min(0.8333333333vw, 16px);
}
@media only screen and (max-width: 767px) {
  .ContactForm__BackForm {
    margin-block-start: min(3.2vw, 24px);
  }
}

.ContactForm__BackButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: min(12.5vw, 240px);
  block-size: min(2.9166666667vw, 56px);
  border: 1px solid #1d7769;
  border-radius: min(1.4583333333vw, 28px);
  background-color: #ffffff;
  color: #1d7769;
  font-size: max(min(0.9375vw, 18px), var(--fz-min, 12px));
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media only screen and (max-width: 767px) {
  .ContactForm__BackButton {
    inline-size: min(48vw, 360px);
    block-size: min(12.8vw, 96px);
    border-radius: min(6.4vw, 48px);
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
  }
}

.ContactForm__BackButton:hover,
.ContactForm__BackButton:focus-visible {
  opacity: 0.85;
}

.RecruitPage .PhotoFrame:not(.PageHead__Visual):not(.RecruitLead__Frame--landscape) {
  --frame-radius: 0;
}

.RecruitLead {
  padding-block-start: min(10.78125vw, 207px);
  padding-block-end: min(5.2083333333vw, 100px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .RecruitLead {
    padding-block-start: min(12vw, 90px);
    padding-block-end: min(8vw, 60px);
  }
}

.RecruitLead__Inner {
  inline-size: min(min(75.2604166667vw, 1445px), 100% - 3.75rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .RecruitLead__Inner {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
  }
}

.RecruitLead__Heading {
  margin: 0 0 min(2.7083333333vw, 52px);
}
@media only screen and (max-width: 767px) {
  .RecruitLead__Heading {
    margin-block-end: min(6vw, 45px);
  }
}

.RecruitLead__Collage {
  display: flex;
  flex-direction: column;
  row-gap: min(3.0208333333vw, 58px);
}
@media only screen and (max-width: 767px) {
  .RecruitLead__Collage {
    row-gap: min(4vw, 30px);
  }
}

.RecruitLead__Frame--landscape {
  inline-size: 100%;
  aspect-ratio: 1445/669;
}

.RecruitLead__Frame--machinery {
  flex: 0 0 min(37.7083333333vw, 724px);
  aspect-ratio: 724/394;
}
@media only screen and (max-width: 767px) {
  .RecruitLead__Frame--machinery {
    flex: none;
    inline-size: 100%;
  }
}

.RecruitLead__Text--under {
  margin-inline: auto;
  inline-size: fit-content;
}
@media only screen and (max-width: 767px) {
  .RecruitLead__Text--under {
    margin-inline-start: 0;
    inline-size: 100%;
  }
}

.RecruitLead__Row {
  display: flex;
  align-items: center;
  column-gap: min(4.8958333333vw, 94px);
}
@media only screen and (max-width: 767px) {
  .RecruitLead__Row {
    flex-direction: column;
    align-items: stretch;
    column-gap: 0;
    row-gap: min(4vw, 30px);
  }
}

.RecruitLead__Text--side {
  flex: 1;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .RecruitLead__Text--side {
    flex: none;
    inline-size: 100%;
  }
}

.RecruitLead__Text {
  margin-block-end: 0;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .RecruitLead__Text {
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.6;
  }
}

.RecruitPage {
  position: relative;
}

.RecruitInterview {
  padding-block-start: min(0.8854166667vw, 17px);
}
@media only screen and (max-width: 767px) {
  .RecruitInterview {
    padding-block-start: min(9.3333333333vw, 70px);
  }
}

.RecruitInterview__Cards {
  position: relative;
  margin-block-start: min(0.2604166667vw, 5px);
}

.RecruitInterview__Cards::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inline-size: 100%;
  inset-block-start: min(8.2291666667vw, 158px);
  inset-block-end: calc(min(24.4791666667vw, 470px) * -1);
  background-color: #f2f8f8;
  z-index: -1;
}

.RecruitInterview__Head {
  position: relative;
  display: flex;
  align-items: center;
  min-block-size: min(7.8125vw, 150px);
}
@media only screen and (max-width: 767px) {
  .RecruitInterview__Head {
    min-block-size: min(12.8vw, 96px);
    overflow: hidden;
  }
}

.RecruitInterview__En {
  position: absolute;
  inset-block-start: 50%;
  transform: translateY(-50%);
  inset-inline-end: 0;
  color: #e6e6e6;
  font-family: "Lato", sans-serif;
  font-size: max(min(10.3125vw, 198px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .RecruitInterview__En {
    font-size: max(min(12.8vw, 96px), var(--fz-min, 12px));
  }
}

.RecruitInterview__Heading {
  position: relative;
  inline-size: 100%;
  margin: 0;
}

.InterviewCard {
  inline-size: min(min(52.2916666667vw, 1004px), 100% - 3.75rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .InterviewCard {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
  }
}

.InterviewCard + .InterviewCard {
  margin-block-start: min(5.3125vw, 102px);
}
@media only screen and (max-width: 767px) {
  .InterviewCard + .InterviewCard {
    margin-block-start: min(9.3333333333vw, 70px);
  }
}

.InterviewCard__Head {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .InterviewCard__Head {
    flex-direction: column;
    align-items: flex-start;
    row-gap: min(3.2vw, 24px);
  }
}

.InterviewCard__Photo {
  flex: 0 0 min(29.4270833333vw, 565px);
  aspect-ratio: 565/395;
}
@media only screen and (max-width: 767px) {
  .InterviewCard__Photo {
    flex: none;
    inline-size: 100%;
  }
}

.InterviewCard__Profile {
  margin-inline-start: min(2.96875vw, 57px);
}
@media only screen and (max-width: 767px) {
  .InterviewCard__Profile {
    margin-inline-start: 0;
  }
}

.InterviewCard__Name {
  margin: 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .InterviewCard__Name {
    font-size: max(min(4.2666666667vw, 32px), var(--fz-min, 12px));
  }
}

.InterviewCard__Hire {
  margin: min(0.9895833333vw, 19px) 0 0;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .InterviewCard__Hire {
    margin-block-start: min(2.1333333333vw, 16px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.InterviewCard__QaList {
  margin-block-start: min(4.0104166667vw, 77px);
  border-block-end: 1px solid #333333;
}
@media only screen and (max-width: 767px) {
  .InterviewCard__QaList {
    margin-block-start: min(5.3333333333vw, 40px);
  }
}

.InterviewQa {
  border-block-start: 1px solid #959595;
  padding-block: min(1.7708333333vw, 34px) min(1.9791666667vw, 38px);
}
@media only screen and (max-width: 767px) {
  .InterviewQa {
    padding-block: min(3.7333333333vw, 28px) min(3.7333333333vw, 28px);
  }
}

.InterviewQa__Row {
  position: relative;
  display: flex;
  column-gap: min(2.3958333333vw, 46px);
}
@media only screen and (max-width: 767px) {
  .InterviewQa__Row {
    column-gap: min(3.2vw, 24px);
  }
}

.InterviewQa__Trigger {
  inline-size: 100%;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  text-align: start;
  appearance: none;
  cursor: pointer;
}

.InterviewQa__Row--a {
  margin-block-start: min(1.0416666667vw, 20px);
}
@media only screen and (max-width: 767px) {
  .InterviewQa__Row--a {
    margin-block-start: min(2.6666666667vw, 20px);
  }
}

.InterviewQa__Mark {
  flex-shrink: 0;
  inline-size: min(0.9375vw, 18px);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .InterviewQa__Mark {
    inline-size: min(3.7333333333vw, 28px);
    font-size: max(min(4.8vw, 36px), var(--fz-min, 12px));
  }
}

.InterviewQa__Mark--q {
  color: #1d7769;
}

.InterviewQa__Mark--a {
  color: #b92958;
}

.InterviewQa__Question {
  margin: 0;
  padding-block-start: min(0.15625vw, 3px);
  padding-inline-end: min(3.6458333333vw, 70px);
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.9375;
}
@media only screen and (max-width: 767px) {
  .InterviewQa__Question {
    padding-inline-end: min(7.4666666667vw, 56px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.InterviewQa__Answer {
  margin: 0;
  padding-block-start: min(0.15625vw, 3px);
  inline-size: min(38.9583333333vw, 748px);
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2.3125;
}
@media only screen and (max-width: 767px) {
  .InterviewQa__Answer {
    inline-size: 100%;
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
  }
}

.InterviewQa__Arrow {
  position: absolute;
  inset-inline-end: min(0.15625vw, 3px);
  inset-block-start: min(0.3125vw, 6px);
  inline-size: min(0.5729166667vw, 11px);
  block-size: min(0.5729166667vw, 11px);
  border-block-start: 2px solid #333333;
  border-inline-end: 2px solid #333333;
  transform: rotate(-45deg);
  transition: transform 0.4s ease;
}
@media only screen and (max-width: 767px) {
  .InterviewQa__Arrow {
    inline-size: min(2.1333333333vw, 16px);
    block-size: min(2.1333333333vw, 16px);
    inset-inline-end: min(0.5333333333vw, 4px);
    inset-block-start: min(1.3333333333vw, 10px);
  }
}

.InterviewQa.is-open .InterviewQa__Arrow {
  transform: rotate(135deg);
}

.InterviewQa__Panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
}

.InterviewQa.is-open .InterviewQa__Panel {
  grid-template-rows: 1fr;
}

.InterviewQa__PanelInner {
  overflow: hidden;
  min-block-size: 0;
}

.RecruitMessage {
  padding-block: min(9.375vw, 180px) min(5.2083333333vw, 100px);
}
@media only screen and (max-width: 767px) {
  .RecruitMessage {
    padding-block-start: min(13.3333333333vw, 100px);
    padding-block-end: 0;
  }
}

.RecruitMessage__Inner {
  inline-size: min(min(62.2916666667vw, 1196px), 100% - 3.75rem);
  margin-inline: auto;
  display: flex;
  align-items: center;
  column-gap: min(3.5416666667vw, 68px);
}
@media only screen and (max-width: 767px) {
  .RecruitMessage__Inner {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
    flex-direction: column;
    align-items: stretch;
    column-gap: 0;
    row-gap: min(6.8vw, 51px);
  }
}

.RecruitMessage__Photo {
  flex: 0 0 min(31.40625vw, 603px);
  aspect-ratio: 603/448;
}
@media only screen and (max-width: 767px) {
  .RecruitMessage__Photo {
    flex: none;
    inline-size: 100%;
  }
}

.RecruitMessage__Body {
  flex: 1;
}

.RecruitMessage__Heading {
  margin: 0 0 min(2.6041666667vw, 50px);
}
@media only screen and (max-width: 767px) {
  .RecruitMessage__Heading {
    margin-block-end: min(5.4666666667vw, 41px);
  }
}

.RecruitMessage__Text {
  margin: 0;
  inline-size: min(27.2916666667vw, 524px);
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 2.5;
}
@media only screen and (max-width: 767px) {
  .RecruitMessage__Text {
    inline-size: 100%;
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.9;
  }
}

.RecruitFlow {
  padding-block: min(5.2083333333vw, 100px) min(6.25vw, 120px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .RecruitFlow {
    padding-block-start: min(12vw, 90px);
    padding-block-end: 0;
  }
}

.RecruitFlow__Head {
  position: relative;
  display: flex;
  align-items: center;
  min-block-size: min(7.7604166667vw, 149px);
  margin-block-end: min(0.3645833333vw, 7px);
}
@media only screen and (max-width: 767px) {
  .RecruitFlow__Head {
    min-block-size: min(12.8vw, 96px);
    margin-block-end: min(3.2vw, 24px);
    overflow: hidden;
  }
}

.RecruitFlow__En {
  position: absolute;
  inset-block-start: 50%;
  transform: translateY(-50%);
  inset-inline-end: 0;
  color: #e6e6e6;
  font-family: "Lato", sans-serif;
  font-size: max(min(10.3125vw, 198px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .RecruitFlow__En {
    font-size: max(min(12.8vw, 96px), var(--fz-min, 12px));
  }
}

.RecruitFlow__Heading {
  position: relative;
  inline-size: 100%;
  margin: 0;
}

.RecruitFlow__Steps {
  inline-size: min(min(70.8333333333vw, 1360px), 100% - 3.75rem);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .RecruitFlow__Steps {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
  }
}

.FlowStep {
  display: flex;
  align-items: flex-start;
  column-gap: min(3.0208333333vw, 58px);
}
@media only screen and (max-width: 767px) {
  .FlowStep {
    flex-direction: column;
    align-items: stretch;
    column-gap: 0;
    row-gap: min(3.2vw, 24px);
  }
}

.FlowStep + .FlowStep {
  margin-block-start: min(3.0208333333vw, 58px);
}
@media only screen and (max-width: 767px) {
  .FlowStep + .FlowStep {
    margin-block-start: min(7.4666666667vw, 56px);
  }
}

.FlowStep__Photo {
  flex: 0 0 min(31.40625vw, 603px);
  aspect-ratio: 603/332;
}
@media only screen and (max-width: 767px) {
  .FlowStep__Photo {
    flex: none;
    inline-size: 100%;
  }
}

.FlowStep__Content {
  flex: 1;
}

.FlowStep__TitleRow {
  display: flex;
  align-items: center;
  column-gap: min(1.0416666667vw, 20px);
}
@media only screen and (max-width: 767px) {
  .FlowStep__TitleRow {
    column-gap: min(2.6666666667vw, 20px);
  }
}

.FlowStep__Time {
  flex-shrink: 0;
  color: #1d7769;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(1.5625vw, 30px), var(--fz-min, 12px));
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .FlowStep__Time {
    font-size: max(min(5.0666666667vw, 38px), var(--fz-min, 12px));
  }
}

.FlowStep__Bar {
  flex-shrink: 0;
  inline-size: 2px;
  block-size: min(1.4583333333vw, 28px);
  background-color: #959595;
}
@media only screen and (max-width: 767px) {
  .FlowStep__Bar {
    block-size: min(4.5333333333vw, 34px);
  }
}

.FlowStep__Title {
  margin: 0;
  font-size: max(min(1.25vw, 24px), var(--fz-min, 12px));
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .FlowStep__Title {
    font-size: max(min(4vw, 30px), var(--fz-min, 12px));
    line-height: 1.4;
  }
}

.FlowStep__Body {
  margin: min(1.4583333333vw, 28px) 0 0;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  line-height: 1.675;
}
@media only screen and (max-width: 767px) {
  .FlowStep__Body {
    margin-block-start: min(2.6666666667vw, 20px);
    font-size: max(min(3.2vw, 24px), var(--fz-min, 12px));
    line-height: 1.9;
  }
}

.RecruitJob {
  padding-block: min(6.25vw, 120px) min(8.3333333333vw, 160px);
  background-color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .RecruitJob {
    padding-block: min(12vw, 90px) min(16vw, 120px);
  }
}

.RecruitJob__Heading {
  margin: 0 0 min(2.6041666667vw, 50px);
}
@media only screen and (max-width: 767px) {
  .RecruitJob__Heading {
    margin-block-end: min(5.3333333333vw, 40px);
  }
}

.RecruitJob__Tabs {
  display: flex;
  inline-size: min(min(70.8333333333vw, 1360px), 100% - 3.75rem);
  margin-inline: auto;
  column-gap: min(0.78125vw, 15px);
  margin-block-end: min(1.9270833333vw, 37px);
}
@media only screen and (max-width: 767px) {
  .RecruitJob__Tabs {
    column-gap: min(1.6vw, 12px);
    padding-inline: min(4.6666666667vw, 35px);
    margin-block-end: min(4vw, 30px);
  }
}

.RecruitJob__Tab {
  flex: 1 1 0;
  min-inline-size: 0;
  block-size: min(3.3333333333vw, 64px);
  border: none;
  border-radius: min(1.6666666667vw, 32px);
  background-color: #ebebeb;
  font-size: max(min(0.9375vw, 18px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  text-align: center;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .RecruitJob__Tab {
    flex: 1 1 0;
    min-inline-size: 0;
    inline-size: auto;
    min-block-size: min(11.2vw, 84px);
    block-size: auto;
    padding: min(1.3333333333vw, 10px) min(0.8vw, 6px);
    border-radius: min(5.6vw, 42px);
    font-size: max(min(2.9333333333vw, 22px), var(--fz-min, 12px));
    line-height: 1.3;
  }
}

.RecruitJob__Tab.is-active {
  background-color: #1d7769;
  color: #ffffff;
}

.RecruitJob__Table {
  inline-size: min(min(70.8333333333vw, 1360px), 100% - 3.75rem);
  margin-inline: auto;
  padding-block: min(1.25vw, 24px);
  padding-inline: min(6.25vw, 120px);
  border: 1px solid #d2d2d2;
}
@media only screen and (max-width: 767px) {
  .RecruitJob__Table {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
    padding-block: min(2.6666666667vw, 20px);
    padding-inline: min(4vw, 30px);
  }
}

.RecruitJob__Row {
  display: flex;
  align-items: baseline;
  column-gap: min(1.0416666667vw, 20px);
  padding-block: min(0.78125vw, 15px);
}
@media only screen and (max-width: 767px) {
  .RecruitJob__Row {
    column-gap: min(2.6666666667vw, 20px);
    padding-block: min(2.1333333333vw, 16px);
  }
}

.RecruitJob__Row + .RecruitJob__Row {
  border-block-start: 1px solid #d2d2d2;
}

.RecruitJob__Label {
  flex: 0 0 min(7.8125vw, 150px);
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .RecruitJob__Label {
    flex-basis: min(25.3333333333vw, 190px);
    font-size: max(min(3.4666666667vw, 26px), var(--fz-min, 12px));
    line-height: 1.4;
  }
}

.RecruitJob__Value {
  margin: 0;
  font-size: max(min(0.9375vw, 18px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5555555556;
}
@media only screen and (max-width: 767px) {
  .RecruitJob__Value {
    font-size: max(min(3.4666666667vw, 26px), var(--fz-min, 12px));
    line-height: 1.7;
  }
}

.RecruitJob__Notice {
  margin: 0;
  padding-block: min(1.25vw, 24px);
  text-align: center;
  font-size: max(min(0.9375vw, 18px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5555555556;
}
@media only screen and (max-width: 767px) {
  .RecruitJob__Notice {
    padding-block: min(2.6666666667vw, 20px);
    text-align: start;
    font-size: max(min(3.4666666667vw, 26px), var(--fz-min, 12px));
    line-height: 1.7;
  }
}

@media only screen and (min-width: 768px) {
  .RecruitJob__Table:has(.RecruitJob__Notice) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-block-size: min(30.2083333333vw, 580px);
  }
}

.RecruitJob__Cta {
  margin: min(2.96875vw, 57px) 0 0;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: max(min(1.875vw, 36px), var(--fz-min, 12px));
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6112514351;
}
@media only screen and (max-width: 767px) {
  .RecruitJob__Cta {
    margin-block-start: min(6.6666666667vw, 50px);
    font-size: max(min(5.3333333333vw, 40px), var(--fz-min, 12px));
    line-height: 1.6;
  }
}

.RecruitJob__CtaAccent {
  color: #1d7769;
}

.ArrowsArea {
  width: 51.5rem;
  margin-inline: auto;
  display: flex;
  column-gap: 5.75rem;
  color: #354256;
  margin-block-start: 5.1875rem;
  margin-block-end: 6.875rem;
}

.PrevNavi,
.NextNavi {
  width: 22.875rem;
  height: 5rem;
  border-radius: 999px;
  border: 2px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: max(1.5rem, var(--fz-min, 12px));
  font-weight: 700;
  position: relative;
  transition: all 0.4s;
}
.PrevNavi:hover,
.NextNavi:hover {
  background-color: #354256;
  color: #fff;
}

.PrevNavi__p,
.NextNavi__p {
  opacity: 0.6;
  pointer-events: none;
}

.PrevNavi::after {
  display: block;
  content: "";
  width: 0.9375rem;
  height: 0.9375rem;
  border-block-start: 2px solid;
  border-inline-start: 2px solid;
  position: absolute;
  top: 50%;
  left: 3.125rem;
  transform: translateY(-50%) rotate(-45deg);
}

.PrevNavi:hover::after,
.NextNavi:hover::after {
  border-color: #fff;
}

.NextNavi::after {
  display: block;
  content: "";
  width: 0.9375rem;
  height: 0.9375rem;
  border-block-start: 2px solid;
  border-inline-end: 2px solid;
  position: absolute;
  top: 50%;
  right: 3.125rem;
  transform: translateY(-50%) rotate(45deg);
}

.is-disabled {
  color: #ccc;
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}

.PageNumBox {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: min(1.40625vw, 27px);
}
@media only screen and (max-width: 767px) {
  .PageNumBox {
    column-gap: min(3.2vw, 24px);
  }
}

.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: min(2.7604166667vw, 53px);
  block-size: min(2.7604166667vw, 53px);
  border-radius: 50%;
  background-color: #bbd9d4;
  font-size: max(min(0.9375vw, 18px), var(--fz-min, 12px));
}
@media only screen and (max-width: 767px) {
  .page-numbers {
    inline-size: min(8.5333333333vw, 64px);
    block-size: min(8.5333333333vw, 64px);
    font-size: max(min(3.4666666667vw, 26px), var(--fz-min, 12px));
  }
}
.page-numbers {
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1;
}

.page-numbers.current {
  background-color: #1d7769;
  color: #ffffff;
}

.Breadcrumb {
  inline-size: min(min(62.6041666667vw, 1202px), 100% - 3.75rem);
  margin-inline: auto;
  margin-block-start: min(0.9895833333vw, 19px);
  margin-block-end: min(0.9895833333vw, 19px);
}
@media only screen and (max-width: 767px) {
  .Breadcrumb {
    inline-size: calc(100% - min(9.3333333333vw, 70px));
    margin-block: min(3.7333333333vw, 28px);
  }
}

.Breadcrumb_List {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.Breadcrumb_Item {
  display: flex;
  align-items: center;
  font-size: max(min(0.8333333333vw, 16px), var(--fz-min, 12px));
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .Breadcrumb_Item {
    font-size: max(min(2.6666666667vw, 20px), var(--fz-min, 12px));
  }
}

.Breadcrumb_Item:not(:last-child)::after {
  content: "＜";
  margin-inline: min(1.6145833333vw, 31px);
}
@media only screen and (max-width: 767px) {
  .Breadcrumb_Item:not(:last-child)::after {
    margin-inline: min(2.6666666667vw, 20px);
  }
}

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

.Breadcrumb_Item a:hover {
  text-decoration: underline;
}

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