@charset "UTF-8";
@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;
  scroll-padding-block-start: 4.5rem;
}
@media (min-width: 768px) and (max-width: 1260px) {
  html {
    font-size: 1.2698412698vw;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: min(3.7333333333vw, 20.5333333333px);
  }
}

body {
  font-size: 1rem;
  font-family: "Noto Serif JP", serif, "Hiragino Mincho ProN", "Yu Mincho", serif;
  background-color: #ffffff;
  color: #121212;
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 1rem;
  }
}
body a {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

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

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

.Header {
  inline-size: 100%;
  block-size: 4.5rem;
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  inset-inline-end: 0;
  z-index: 1000;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}
@media only screen and (max-width: 767px) {
  .Header {
    block-size: auto;
    -webkit-padding-before: 1.2142857143rem;
            padding-block-start: 1.2142857143rem;
    -webkit-padding-after: 1.2142857143rem;
            padding-block-end: 1.2142857143rem;
  }
}

@media only screen and (max-width: 767px) {
  .Header--Service {
    -webkit-padding-after: unset;
            padding-block-end: unset;
  }
}

.Header.is-circle-pinned {
  background-color: #fbf9f4;
}

.HeaderWrapper {
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: 1260;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
  -webkit-padding-start: 1.5rem;
          padding-inline-start: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: transparent;
}
@media only screen and (max-width: 767px) {
  .HeaderWrapper {
    -webkit-padding-start: 1.1428571429rem;
            padding-inline-start: 1.1428571429rem;
    -webkit-padding-end: 1.5rem;
            padding-inline-end: 1.5rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.HeaderTopLogo {
  inline-size: 15.625rem;
  inline-size: 13.125rem;
  -webkit-padding-before: 0.375rem;
          padding-block-start: 0.375rem;
  -webkit-padding-after: 0.375rem;
          padding-block-end: 0.375rem;
  -webkit-padding-start: 0.625rem;
          padding-inline-start: 0.625rem;
  -webkit-padding-end: 0.625rem;
          padding-inline-end: 0.625rem;
}
@media only screen and (max-width: 767px) {
  .HeaderTopLogo {
    inline-size: 11.4285714286rem;
    -webkit-padding-before: 0;
            padding-block-start: 0;
    -webkit-padding-after: 0;
            padding-block-end: 0;
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    -webkit-padding-end: 0;
            padding-inline-end: 0;
    position: relative;
    z-index: 2;
  }
}

@media only screen and (max-width: 767px) {
  h1.HeaderTopLogo {
    -webkit-padding-before: 0;
            padding-block-start: 0;
    -webkit-padding-after: 0;
            padding-block-end: 0;
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    -webkit-padding-end: 0;
            padding-inline-end: 0;
  }
}

@media only screen and (max-width: 767px) {
  .HeaderTopLogo__Icon img {
    inline-size: 100%;
    block-size: auto;
  }
}

.HeaderNav {
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .HeaderNav {
    overflow: visible;
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 100vw;
    block-size: 100dvh;
    background-color: #faf8f4;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
    transition: opacity 0.3s ease, visibility 0s linear 0.3s;
    -webkit-padding-before: 10.5714285714rem;
            padding-block-start: 10.5714285714rem;
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-padding-after: 2.8571428571rem;
            padding-block-end: 2.8571428571rem;
  }
}

@media only screen and (max-width: 767px) {
  .HeaderNav.active {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.3s ease, visibility 0s linear 0s;
    transition: opacity 0.3s ease, visibility 0s linear 0s;
  }
}

.HeaderNavList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 4.5rem;
     -moz-column-gap: 4.5rem;
          column-gap: 4.5rem;
  -webkit-margin-start: 4.5rem;
          margin-inline-start: 4.5rem;
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
@media only screen and (max-width: 767px) {
  .HeaderNavList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    row-gap: 4.1428571429rem;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

.is-loaded .HeaderNavList {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.HeaderNavList__Link {
  font-family: "Bentham", serif;
  color: #363129;
  letter-spacing: 0.01em;
  text-decoration: none;
  text-transform: uppercase;
  display: inline-block;
  position: relative;
  -webkit-padding-before: 0.3125rem;
          padding-block-start: 0.3125rem;
  -webkit-padding-after: 0.3125rem;
          padding-block-end: 0.3125rem;
}
@media only screen and (max-width: 767px) {
  .HeaderNavList__Link {
    font-size: 1.5714285714rem;
    line-height: 1;
    -webkit-padding-before: 0;
            padding-block-start: 0;
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}

.HeaderNavList__Link::after {
  content: "";
  position: absolute;
  inset-block-end: 0.0625rem;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 1px;
  background-color: currentColor;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: right center;
          transform-origin: right center;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media only screen and (max-width: 767px) {
  .HeaderNavList__Link::after {
    inset-block-end: -0.2857142857rem;
  }
}

.HeaderNavList__Link:hover::after,
.HeaderNavList__Link:focus-visible::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.HeaderNav__Insta {
  display: none;
}
@media only screen and (max-width: 767px) {
  .HeaderNav__Insta {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    color: inherit;
    -webkit-margin-before: auto;
            margin-block-start: auto;
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}

@media only screen and (max-width: 767px) {
  .HeaderNav__InstaIcon {
    display: block;
    inline-size: 1.7142857143rem;
    block-size: 1.7142857143rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

@media only screen and (max-width: 767px) {
  .HeaderNav__InstaIcon img {
    display: block;
    inline-size: 100%;
    block-size: 100%;
  }
}

.HamburgerBtn {
  display: none;
}
@media only screen and (max-width: 767px) {
  .HamburgerBtn {
    display: block;
    inline-size: 2.8571428571rem;
    block-size: 0.8571428571rem;
    background-color: transparent;
    border: none;
    -webkit-padding-before: 0;
            padding-block-start: 0;
    -webkit-padding-after: 0;
            padding-block-end: 0;
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    -webkit-padding-end: 0;
            padding-inline-end: 0;
    position: relative;
    z-index: 2;
    cursor: pointer;
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn__Line {
    display: block;
    position: absolute;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 0.0714285714rem;
    background-color: #373129;
    -webkit-transition: inset-block-start 0.3s ease, -webkit-transform 0.3s ease;
    transition: inset-block-start 0.3s ease, -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, inset-block-start 0.3s ease;
    transition: transform 0.3s ease, inset-block-start 0.3s ease, -webkit-transform 0.3s ease;
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn__Line:nth-child(1) {
    inset-block-start: 0;
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn__Line:nth-child(2) {
    inset-block-start: calc(100% - 0.0714285714rem);
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn.open .HamburgerBtn__Line:nth-child(1) {
    inset-block-start: calc(50% - 0.0357142857rem);
    -webkit-transform: rotate(33.69deg) scaleX(1.2);
            transform: rotate(33.69deg) scaleX(1.2);
  }
}

@media only screen and (max-width: 767px) {
  .HamburgerBtn.open .HamburgerBtn__Line:nth-child(2) {
    inset-block-start: calc(50% - 0.0357142857rem);
    -webkit-transform: rotate(-33.69deg) scaleX(1.2);
            transform: rotate(-33.69deg) scaleX(1.2);
  }
}

.Footer {
  inline-size: 100%;
  block-size: 25rem;
  background-color: #e8d9c8;
  color: #363129;
  -webkit-padding-before: 5rem;
          padding-block-start: 5rem;
  -webkit-padding-after: 3.75rem;
          padding-block-end: 3.75rem;
}
@media only screen and (max-width: 767px) {
  .Footer {
    block-size: auto;
    -webkit-padding-before: 4.2857142857rem;
            padding-block-start: 4.2857142857rem;
    -webkit-padding-after: 2.1428571429rem;
            padding-block-end: 2.1428571429rem;
  }
}

.Footer__Inner {
  block-size: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .Footer__Inner {
    padding-inline: 2.2857142857rem;
  }
}

.Footer__Contact {
  display: inline-grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.375rem;
     -moz-column-gap: 2.375rem;
          column-gap: 2.375rem;
  row-gap: 0.5rem;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  text-decoration: none;
  color: inherit;
}
@media only screen and (max-width: 767px) {
  .Footer__Contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: 1.7142857143rem;
       -moz-column-gap: 1.7142857143rem;
            column-gap: 1.7142857143rem;
    row-gap: 0.4285714286rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}

.Footer__ContactHeading {
  grid-column: 1;
  grid-row: 1;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0.01em;
  line-height: 1;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Footer__ContactText {
  grid-column: 1;
  grid-row: 2;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .Footer__ContactText {
    font-size: 0.9285714286rem;
  }
}

@media only screen and (max-width: 767px) {
  .Footer__ContactText.sp {
    -webkit-margin-before: 0.4285714286rem;
            margin-block-start: 0.4285714286rem;
  }
}

.Footer__ContactArrow {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  display: block;
  inline-size: 9.4375rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
@media only screen and (max-width: 767px) {
  .Footer__ContactArrow {
    inline-size: 10.7142857143rem;
    -ms-flex-item-align: unset;
        align-self: unset;
    -webkit-padding-before: 1.4285714286rem;
            padding-block-start: 1.4285714286rem;
  }
}

.Footer__Contact:hover .Footer__ContactArrow {
  -webkit-transform: translateX(0.75rem);
          transform: translateX(0.75rem);
}

.Footer__ContactArrow img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.Footer__Bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  inline-size: 100%;
  -webkit-margin-before: auto;
          margin-block-start: auto;
}
@media only screen and (max-width: 767px) {
  .Footer__Bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    row-gap: 0.8571428571rem;
    -webkit-margin-before: 5.7142857143rem;
            margin-block-start: 5.7142857143rem;
  }
}

.Footer__Logo {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.375rem;
  letter-spacing: 0.01em;
  line-height: 1;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-end: 2.3125rem;
          margin-inline-end: 2.3125rem;
}
@media only screen and (max-width: 767px) {
  .Footer__Logo {
    -webkit-margin-end: 0;
            margin-inline-end: 0;
  }
}

.Footer__Insta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-end: 1.625rem;
          margin-inline-end: 1.625rem;
  text-decoration: none;
  color: inherit;
}
@media only screen and (max-width: 767px) {
  .Footer__Insta {
    -webkit-margin-end: 0;
            margin-inline-end: 0;
    -webkit-margin-before: 0.5714285714rem;
            margin-block-start: 0.5714285714rem;
  }
}

.Footer__InstaIcon {
  display: block;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.Footer__InstaIcon img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

.Footer__Address {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-end: 1rem;
          margin-inline-end: 1rem;
}
@media only screen and (max-width: 767px) {
  .Footer__Address {
    -webkit-margin-end: 0;
            margin-inline-end: 0;
    font-size: 0.9285714286rem;
    -webkit-margin-end: 1.1428571429rem;
            margin-inline-end: 1.1428571429rem;
    line-height: 1.4;
  }
}

.Footer__Tel {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .Footer__Tel {
    font-size: 0.9285714286rem;
  }
}

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

.Footer__Privacy {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.625rem;
     -moz-column-gap: 1.625rem;
          column-gap: 1.625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}
@media only screen and (max-width: 767px) {
  .Footer__Privacy {
    font-size: 0.9285714286rem;
    -webkit-column-gap: 0.8571428571rem;
       -moz-column-gap: 0.8571428571rem;
            column-gap: 0.8571428571rem;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-margin-before: 1.4285714286rem;
            margin-block-start: 1.4285714286rem;
  }
}

.Footer__PrivacyLink {
  text-decoration: none;
  color: inherit;
}

.Footer__Copyright {
  display: inline-block;
}

.Footer__ToTop {
  position: absolute;
  inset-block-start: -10rem;
  inset-inline-end: 0;
  display: block;
  inline-size: 0.75rem;
  block-size: 9.4375rem;
}
@media only screen and (max-width: 767px) {
  .Footer__ToTop {
    inset-block-start: -5.7142857143rem;
    inline-size: 0.8571428571rem;
    block-size: 5.7142857143rem;
  }
}

.Footer__ToTopIcon {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.Footer__ToTop:hover .Footer__ToTopIcon {
  -webkit-transform: translateY(-0.75rem);
          transform: translateY(-0.75rem);
}

.Footer__ToTopIcon img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

.ArrowsArea {
  width: 51.5rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 5.75rem;
     -moz-column-gap: 5.75rem;
          column-gap: 5.75rem;
  color: #354256;
  -webkit-margin-before: 5.1875rem;
          margin-block-start: 5.1875rem;
  -webkit-margin-after: 6.875rem;
          margin-block-end: 6.875rem;
}

.PrevNavi,
.NextNavi {
  width: 22.875rem;
  height: 5rem;
  border-radius: 999px;
  border: 2px solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  position: relative;
  -webkit-transition: all 0.4s;
  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;
  -webkit-border-before: 2px solid;
          border-block-start: 2px solid;
  -webkit-border-start: 2px solid;
          border-inline-start: 2px solid;
  position: absolute;
  top: 50%;
  left: 3.125rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          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;
  -webkit-border-before: 2px solid;
          border-block-start: 2px solid;
  -webkit-border-end: 2px solid;
          border-inline-end: 2px solid;
  position: absolute;
  top: 50%;
  right: 3.125rem;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

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

.list-pageNo {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .list-pageNo {
    margin-top: 6.4rem;
  }
}

.PageNumBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
}

.page-numbers {
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
  padding-top: 0.9375rem;
  width: 3.125rem;
  height: 3.125rem;
  background: #fff;
  border: 0.0625rem solid #000;
}

.page-numbers.current {
  color: #fff;
  background: #000;
}

.page-numbers.dots {
  border: none;
}

.PageNumBox div {
  width: 3.125rem;
  height: 3.125rem;
  margin: 0 0.21875rem;
  border: 1px solid #000;
  position: relative;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
@media only screen and (max-width: 767px) {
  .PageNumBox div {
    width: 3.125rem;
    height: 3.125rem;
    margin: 0 0.21875rem;
  }
}
.PageNumBox div:hover {
  opacity: 0.5;
}

.PageNumBox div:nth-of-type(1) {
  background-color: #000;
  color: #fff;
}

.PageNumBox div:nth-of-type(4) {
  border: none;
}

.PageNumBox div p,
.PageNumBox div a {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 0.625rem 0.9375rem;
}

.Breadcrumb {
  -webkit-margin-after: 0.5rem;
          margin-block-end: 0.5rem;
}

.Breadcrumb_List {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  row-gap: 1rem;
}
@media only screen and (max-width: 767px) {
  .Breadcrumb_List {
    row-gap: unset;
  }
}

.Breadcrumb_Item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.125rem;
  color: #fff;
  line-height: 2.3333333333;
}
@media only screen and (max-width: 767px) {
  .Breadcrumb_Item {
    font-size: 0.8571428571rem;
    line-height: unset;
  }
}

.Breadcrumb_Item:not(:last-child)::after {
  content: ">";
  margin-left: min(0.7936507937vw, 10px);
  color: #fff;
  font-family: sans-serif;
  -ms-flex-item-align: center;
      align-self: center;
}

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

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

.Breadcrumb_List--white .Breadcrumb_Item {
  color: #000;
}

.Breadcrumb_List--white .Breadcrumb_Item:not(:last-child)::after {
  color: #000;
}

.ServiceCircle {
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 1/1;
  position: relative;
}

.ServiceCircle__Svg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  overflow: visible;
}

.ServiceCircle__Sector {
  fill: transparent;
  cursor: pointer;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}

.ServiceCircle__InnerArrow {
  -webkit-animation: 8s linear infinite;
          animation: 8s linear infinite;
}

.ServiceCircle__InnerArrow--top {
  -webkit-animation-name: ServiceCircle-inner-wave-top;
          animation-name: ServiceCircle-inner-wave-top;
}

.ServiceCircle__InnerArrow--right {
  -webkit-animation-name: ServiceCircle-inner-wave-right;
          animation-name: ServiceCircle-inner-wave-right;
}

.ServiceCircle__InnerArrow--bottom {
  -webkit-animation-name: ServiceCircle-inner-wave-bottom;
          animation-name: ServiceCircle-inner-wave-bottom;
}

.ServiceCircle__InnerArrow--left {
  -webkit-animation-name: ServiceCircle-inner-wave-left;
          animation-name: ServiceCircle-inner-wave-left;
}

@-webkit-keyframes ServiceCircle-inner-wave-top {
  0% {
    clip-path: inset(100% 0 0 0);
  }
  12.5% {
    clip-path: inset(0 0 0 0);
  }
  25%, 100% {
    clip-path: inset(0 0 100% 0);
  }
}

@keyframes ServiceCircle-inner-wave-top {
  0% {
    clip-path: inset(100% 0 0 0);
  }
  12.5% {
    clip-path: inset(0 0 0 0);
  }
  25%, 100% {
    clip-path: inset(0 0 100% 0);
  }
}
@-webkit-keyframes ServiceCircle-inner-wave-right {
  0%, 25% {
    clip-path: inset(0 100% 0 0);
  }
  37.5% {
    clip-path: inset(0 0 0 0);
  }
  50%, 100% {
    clip-path: inset(0 0 0 100%);
  }
}
@keyframes ServiceCircle-inner-wave-right {
  0%, 25% {
    clip-path: inset(0 100% 0 0);
  }
  37.5% {
    clip-path: inset(0 0 0 0);
  }
  50%, 100% {
    clip-path: inset(0 0 0 100%);
  }
}
@-webkit-keyframes ServiceCircle-inner-wave-bottom {
  0%, 50% {
    clip-path: inset(0 0 100% 0);
  }
  62.5% {
    clip-path: inset(0 0 0 0);
  }
  75%, 100% {
    clip-path: inset(100% 0 0 0);
  }
}
@keyframes ServiceCircle-inner-wave-bottom {
  0%, 50% {
    clip-path: inset(0 0 100% 0);
  }
  62.5% {
    clip-path: inset(0 0 0 0);
  }
  75%, 100% {
    clip-path: inset(100% 0 0 0);
  }
}
@-webkit-keyframes ServiceCircle-inner-wave-left {
  0%, 75% {
    clip-path: inset(0 0 0 100%);
  }
  87.5% {
    clip-path: inset(0 0 0 0);
  }
  100% {
    clip-path: inset(0 100% 0 0);
  }
}
@keyframes ServiceCircle-inner-wave-left {
  0%, 75% {
    clip-path: inset(0 0 0 100%);
  }
  87.5% {
    clip-path: inset(0 0 0 0);
  }
  100% {
    clip-path: inset(0 100% 0 0);
  }
}
.ServiceCircle:has(.ServiceCircle__Sector--top:hover) .ServiceCircle__Sector--top,
.ServiceCircle:has(.ServiceCircle__LabelLink--top:hover) .ServiceCircle__Sector--top {
  fill: rgba(212, 196, 176, 0.5);
}

.ServiceCircle:has(.ServiceCircle__Sector--right:hover) .ServiceCircle__Sector--right,
.ServiceCircle:has(.ServiceCircle__LabelLink--right:hover) .ServiceCircle__Sector--right {
  fill: rgba(212, 196, 176, 0.5);
}

.ServiceCircle:has(.ServiceCircle__Sector--bottom:hover) .ServiceCircle__Sector--bottom,
.ServiceCircle:has(.ServiceCircle__LabelLink--bottom:hover) .ServiceCircle__Sector--bottom {
  fill: rgba(212, 196, 176, 0.5);
}

.ServiceCircle:has(.ServiceCircle__Sector--left:hover) .ServiceCircle__Sector--left,
.ServiceCircle:has(.ServiceCircle__LabelLink--left:hover) .ServiceCircle__Sector--left {
  fill: rgba(212, 196, 176, 0.5);
}

.ServiceCircle__Label {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: 0.02em;
  pointer-events: none;
}

.ServiceCircle__Center {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: 0.02em;
  pointer-events: none;
}

.ServiceCircle__LabelLink {
  cursor: pointer;
  text-decoration: none;
  outline: none;
}

.ServiceCircle__OuterArcBase {
  stroke: #ccc;
}

.ServiceCircle__OuterArc {
  stroke: #363129;
  stroke-dasharray: 0 100;
  -webkit-animation: ServiceCircle-arc-fill 8s linear infinite;
          animation: ServiceCircle-arc-fill 8s linear infinite;
}

.ServiceCircle__OuterArc--01 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.ServiceCircle__OuterArc--02 {
  -webkit-animation-delay: -2s;
          animation-delay: -2s;
}

.ServiceCircle__OuterArc--03 {
  -webkit-animation-delay: -4s;
          animation-delay: -4s;
}

.ServiceCircle__OuterArc--04 {
  -webkit-animation-delay: -6s;
          animation-delay: -6s;
}

@-webkit-keyframes ServiceCircle-arc-fill {
  0% {
    stroke-dasharray: 0 100;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 100 0;
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dasharray: 0 100;
    stroke-dashoffset: -100;
  }
}

@keyframes ServiceCircle-arc-fill {
  0% {
    stroke-dasharray: 0 100;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 100 0;
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dasharray: 0 100;
    stroke-dashoffset: -100;
  }
}
.ServiceCircle__OuterTip {
  fill: #ccc;
  -webkit-animation: ServiceCircle-tip-fill 8s linear infinite;
          animation: ServiceCircle-tip-fill 8s linear infinite;
}

.ServiceCircle__OuterTip--ne {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.ServiceCircle__OuterTip--se {
  -webkit-animation-delay: -2s;
          animation-delay: -2s;
}

.ServiceCircle__OuterTip--sw {
  -webkit-animation-delay: -4s;
          animation-delay: -4s;
}

.ServiceCircle__OuterTip--nw {
  -webkit-animation-delay: -6s;
          animation-delay: -6s;
}

@-webkit-keyframes ServiceCircle-tip-fill {
  0%, 45% {
    fill: #ccc;
  }
  50%, 95% {
    fill: #363129;
  }
  100% {
    fill: #ccc;
  }
}

@keyframes ServiceCircle-tip-fill {
  0%, 45% {
    fill: #ccc;
  }
  50%, 95% {
    fill: #363129;
  }
  100% {
    fill: #ccc;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ServiceCircle__OuterArc {
    -webkit-animation: none;
            animation: none;
    stroke-dasharray: none;
  }
  .ServiceCircle__OuterTip {
    -webkit-animation: none;
            animation: none;
    fill: #363129;
  }
  .ServiceCircle__InnerArrow {
    -webkit-animation: none;
            animation: none;
    clip-path: none;
  }
}
@media only screen and (max-width: 767px) {
  .ServiceCircle__Label,
  .ServiceCircle__Center {
    font-size: 1.2857142857rem;
  }
}
/* ==========================================================================
   TopFv (First View)
   カンプ基準: PC 1440 × 810 / 全画面表示
   挙動: ページスクロール中は画面に sticky で固定され続け、後続の TopAbout が
         通常フローで下から物理的に被さってくる (about の不透明背景が FV を覆う)。
   ========================================================================== */
.TopMain {
  position: relative;
}

.TopFv {
  position: sticky;
  inset-block-start: 0;
  inline-size: 100%;
  block-size: 100svh;
  min-block-size: 55.5555555556vw;
  background-image: url("../img/top/FV.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #faf8f4;
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .TopFv {
    position: relative;
    block-size: 100svh;
    min-block-size: min(177.6vw, 666px);
  }
}

.TopFv__inner {
  block-size: 100%;
  -webkit-padding-before: 22.0833333333vw;
          padding-block-start: 22.0833333333vw;
}
@media only screen and (max-width: 767px) {
  .TopFv__inner {
    -webkit-padding-before: min(49.6vw, 186px);
            padding-block-start: min(49.6vw, 186px);
    -webkit-padding-start: 1.7142857143rem;
            padding-inline-start: 1.7142857143rem;
    -webkit-padding-end: unset;
            padding-inline-end: unset;
  }
}

.TopFv__heading {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 2.5rem;
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-box: trim-both cap alphabetic;
  -webkit-filter: blur(calc(var(--topFvBlurProgress, 0) * 12px));
          filter: blur(calc(var(--topFvBlurProgress, 0) * 12px));
  opacity: calc(1 - var(--topFvBlurProgress, 0));
}
@media only screen and (max-width: 767px) {
  .TopFv__heading {
    font-size: 2.1428571429rem;
    line-height: 1.0666666667;
    -webkit-filter: none;
            filter: none;
    opacity: 1;
  }
}

.TopFv__headingLine {
  display: block;
}

.TopFv__word {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}

.TopFv__wordInner {
  display: inline-block;
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: calc(0.3s + var(--order, 0) * 0.12s);
          transition-delay: calc(0.3s + var(--order, 0) * 0.12s);
}

.is-loaded .TopFv__wordInner {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.TopFv__lead {
  color: #373129;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.375rem;
  letter-spacing: 0.02em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-padding-before: 0.375rem;
          padding-block-start: 0.375rem;
  -webkit-padding-after: 0.375rem;
          padding-block-end: 0.375rem;
  -webkit-margin-before: 3.0555555556vw;
          margin-block-start: 3.0555555556vw;
  overflow: hidden;
  -webkit-filter: blur(calc(var(--topFvBlurProgress, 0) * 12px));
          filter: blur(calc(var(--topFvBlurProgress, 0) * 12px));
  opacity: calc(1 - var(--topFvBlurProgress, 0));
}
@media only screen and (max-width: 767px) {
  .TopFv__lead {
    font-size: 1.2857142857rem;
    line-height: 1.7777777778;
    -webkit-padding-before: 0.2857142857rem;
            padding-block-start: 0.2857142857rem;
    -webkit-padding-after: 0.2857142857rem;
            padding-block-end: 0.2857142857rem;
    -webkit-margin-before: min(8.2666666667vw, 31px);
            margin-block-start: min(8.2666666667vw, 31px);
    overflow: visible;
    -webkit-filter: none;
            filter: none;
    opacity: 1;
  }
}

.TopFv__leadInner {
  display: inline-block;
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: calc(0.3s + 5 * 0.12s);
          transition-delay: calc(0.3s + 5 * 0.12s);
}
@media only screen and (max-width: 767px) {
  .TopFv__leadInner {
    display: block;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

.is-loaded .TopFv__leadInner {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.TopFv__arrow {
  display: block;
  color: #373129;
  text-decoration: none;
  -webkit-margin-before: 5.9722222222vw;
          margin-block-start: 5.9722222222vw;
  inline-size: 10.4166666667vw;
  -webkit-filter: blur(calc(var(--topFvBlurProgress, 0) * 12px));
          filter: blur(calc(var(--topFvBlurProgress, 0) * 12px));
  opacity: calc(1 - var(--topFvBlurProgress, 0));
}
@media only screen and (max-width: 767px) {
  .TopFv__arrow {
    -webkit-margin-before: min(17.6vw, 66px);
            margin-block-start: min(17.6vw, 66px);
    inline-size: min(40vw, 150px);
    -webkit-filter: none;
            filter: none;
    opacity: 1;
  }
}

.TopFv__arrowInner {
  display: block;
}

.TopFv__arrowLift {
  display: block;
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: calc(0.3s + 5 * 0.12s);
          transition-delay: calc(0.3s + 5 * 0.12s);
}

.is-loaded .TopFv__arrowLift {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.TopFv__arrowSvg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.TopFv__arrow:hover .TopFv__arrowSvg {
  -webkit-transform: translateX(0.75rem);
          transform: translateX(0.75rem);
}

.TopFv__scrollIndicator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  inline-size: 0.6875rem;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .TopFv__scrollIndicator {
    inline-size: min(2.9333333333vw, 11px);
  }
}

.TopFv__scrollIndicatorDot {
  --scroll-hint-distance: 1.5rem;
  inline-size: 0.6875rem;
  block-size: 0.6875rem;
  border-radius: 50%;
  background-color: #fff;
  -webkit-animation: TopFv-scrollHintDot 1.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
          animation: TopFv-scrollHintDot 1.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@media only screen and (max-width: 767px) {
  .TopFv__scrollIndicatorDot {
    --scroll-hint-distance: min(6.4vw, 24px);
    inline-size: min(2.9333333333vw, 11px);
    block-size: min(2.9333333333vw, 11px);
  }
}

@-webkit-keyframes TopFv-scrollHintDot {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  70% {
    -webkit-transform: translateY(var(--scroll-hint-distance));
            transform: translateY(var(--scroll-hint-distance));
    opacity: 0;
  }
  71% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes TopFv-scrollHintDot {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  70% {
    -webkit-transform: translateY(var(--scroll-hint-distance));
            transform: translateY(var(--scroll-hint-distance));
    opacity: 0;
  }
  71% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .TopFv__scrollIndicatorDot {
    -webkit-animation: none;
            animation: none;
  }
}
.TopFv__scrollIndicatorLine {
  inline-size: 1px;
  block-size: 4.3125rem;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .TopFv__scrollIndicatorLine {
    block-size: min(18.4vw, 69px);
  }
}

/* ==========================================================================
   TopAbout (ABOUT セクション)
   カンプ基準: PC 1440 × 810
   ========================================================================== */
.TopAbout {
  position: relative;
  inline-size: 100%;
  z-index: 1;
  background-color: rgba(232, 217, 200, 0.75);
}
@media only screen and (max-width: 767px) {
  .TopAbout {
    z-index: auto;
    background-color: #e2d3c2;
  }
}

.TopAbout__inner {
  inline-size: 100%;
  min-block-size: 100svh;
  display: grid;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 3.4722222222vw;
     -moz-column-gap: 3.4722222222vw;
          column-gap: 3.4722222222vw;
  grid-template-rows: auto auto 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-padding-end: 10.625rem;
          padding-inline-end: 10.625rem;
  -webkit-padding-before: 7.7777777778vw;
          padding-block-start: 7.7777777778vw;
  -webkit-padding-after: 7.7777777778vw;
          padding-block-end: 7.7777777778vw;
}
@media only screen and (max-width: 767px) {
  .TopAbout__inner {
    display: block;
    min-block-size: 0;
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
    -webkit-padding-before: min(17.0666666667vw, 64px);
            padding-block-start: min(17.0666666667vw, 64px);
    -webkit-padding-after: min(26.6666666667vw, 100px);
            padding-block-end: min(26.6666666667vw, 100px);
  }
}

.TopAbout__main {
  grid-column: 1;
  inline-size: 25rem;
}
@media only screen and (max-width: 767px) {
  .TopAbout__main {
    grid-column: auto;
    inline-size: auto;
  }
}

.TopAbout__label {
  color: #958f89;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopAbout__label {
    font-size: 1.7142857143rem;
    text-align: center;
  }
}

.TopAbout__heading {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: 0.01em;
  line-height: 1.3125;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 2.8472222222vw;
          margin-block-start: 2.8472222222vw;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopAbout__heading {
    font-size: 1.5714285714rem;
    line-height: 1.3181818182;
    -webkit-margin-before: min(18.6666666667vw, 70px);
            margin-block-start: min(18.6666666667vw, 70px);
  }
}

.TopAbout__headingLine {
  display: block;
  white-space: nowrap;
}

.TopAbout__text {
  color: #373129;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 3.2638888889vw;
          margin-block-start: 3.2638888889vw;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopAbout__text {
    font-size: 1.1428571429rem;
    line-height: 1.875;
    -webkit-margin-before: min(8.8vw, 33px);
            margin-block-start: min(8.8vw, 33px);
  }
}

.TopAbout__textLine {
  display: block;
}

.TopAbout__more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  row-gap: 0.625rem;
  color: #363129;
  text-decoration: none;
  -webkit-margin-before: 4.8611111111vw;
          margin-block-start: 4.8611111111vw;
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
}
@media only screen and (max-width: 767px) {
  .TopAbout__more {
    row-gap: min(2.6666666667vw, 10px);
    -webkit-margin-before: min(23.2vw, 87px);
            margin-block-start: min(23.2vw, 87px);
    grid-column: auto;
    grid-row: auto;
  }
}

.TopAbout__moreLabel {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
@media only screen and (max-width: 767px) {
  .TopAbout__moreLabel {
    font-size: 1.1428571429rem;
  }
}

.TopAbout__moreArrow {
  display: block;
  inline-size: 9.375rem;
}
@media only screen and (max-width: 767px) {
  .TopAbout__moreArrow {
    inline-size: min(40vw, 150px);
  }
}

.TopAbout__moreArrowSvg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.TopAbout__more:hover .TopAbout__moreArrowSvg {
  -webkit-transform: translateX(0.75rem);
          transform: translateX(0.75rem);
}

.TopAbout__list {
  grid-column: 2;
  grid-row: 1/4;
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  -webkit-padding-before: 0;
          padding-block-start: 0;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  inline-size: 25rem;
  -webkit-padding-before: 3.3333333333vw;
          padding-block-start: 3.3333333333vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .TopAbout__list {
    grid-column: auto;
    grid-row: auto;
    inline-size: auto;
    -webkit-padding-before: min(17.3333333333vw, 65px);
            padding-block-start: min(17.3333333333vw, 65px);
  }
}

.TopAbout__item {
  list-style: none;
}

.TopAbout__item + .TopAbout__item {
  -webkit-margin-before: 3.125vw;
          margin-block-start: 3.125vw;
}
@media only screen and (max-width: 767px) {
  .TopAbout__item + .TopAbout__item {
    -webkit-margin-before: min(8vw, 30px);
            margin-block-start: min(8vw, 30px);
  }
}

.TopAbout__itemLine {
  display: block;
  inline-size: 5.5555555556vw;
  block-size: 1px;
  background-color: #373129;
}
@media only screen and (max-width: 767px) {
  .TopAbout__itemLine {
    inline-size: min(21.3333333333vw, 80px);
  }
}

.TopAbout__itemTitle {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 1.875vw;
          margin-block-start: 1.875vw;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopAbout__itemTitle {
    font-size: 1.7142857143rem;
    -webkit-margin-before: min(6.4vw, 24px);
            margin-block-start: min(6.4vw, 24px);
  }
}

.TopAbout__itemText {
  color: #373129;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.02em;
  line-height: 1.875;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 1.6666666667vw;
          margin-block-start: 1.6666666667vw;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopAbout__itemText {
    font-size: 1rem;
    line-height: 1.7142857143;
    -webkit-margin-before: min(5.8666666667vw, 22px);
            margin-block-start: min(5.8666666667vw, 22px);
  }
}

.TopAbout__itemTextLine {
  display: block;
}

/* ==========================================================================
   TopService (SERVICE セクション)
   カンプ基準: PC 1440 × 787 (y=1620 → y=2407)
   左カラム: SERVICE ラベル + 英大見出し + 和文リード
   右カラム: ServiceCircle (600×600 / template-parts/service-circle)
   ========================================================================== */
.TopService {
  position: relative;
  inline-size: 100%;
  -webkit-padding-before: 4.4444444444vw;
          padding-block-start: 4.4444444444vw;
  -webkit-padding-after: 6.0416666667vw;
          padding-block-end: 6.0416666667vw;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .TopService {
    -webkit-padding-before: min(17.0666666667vw, 64px);
            padding-block-start: min(17.0666666667vw, 64px);
    -webkit-padding-after: min(26.6666666667vw, 100px);
            padding-block-end: min(26.6666666667vw, 100px);
  }
}

.TopService__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-rows: auto auto 1fr;
}
@media only screen and (max-width: 767px) {
  .TopService__inner {
    display: block;
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
  }
}

.TopService__main {
  grid-column: 1;
  grid-row: 1;
}
@media only screen and (max-width: 767px) {
  .TopService__main {
    grid-column: auto;
    grid-row: auto;
  }
}

.TopService__label {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopService__label {
    font-size: 1.7142857143rem;
    text-align: center;
  }
}

.TopService__heading {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: 0.01em;
  line-height: 1.3125;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 3.6111111111vw;
          margin-block-start: 3.6111111111vw;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopService__heading {
    font-size: 1.5714285714rem;
    line-height: 1.3181818182;
    -webkit-margin-before: min(18.6666666667vw, 70px);
            margin-block-start: min(18.6666666667vw, 70px);
  }
}

.TopService__headingLine {
  display: block;
}

.TopService__text {
  color: #373129;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 3.3333333333vw;
          margin-block-start: 3.3333333333vw;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopService__text {
    font-size: 1.1428571429rem;
    line-height: 1.875;
    -webkit-margin-before: min(12.2666666667vw, 46px);
            margin-block-start: min(12.2666666667vw, 46px);
  }
}

.TopService__textLine {
  display: block;
}

.TopService__visual {
  grid-column: 2;
  grid-row: 1/4;
  align-self: start;
  -webkit-margin-before: 2.5vw;
          margin-block-start: 2.5vw;
}
@media only screen and (max-width: 767px) {
  .TopService__visual {
    grid-column: auto;
    grid-row: auto;
    -webkit-margin-before: min(12.5333333333vw, 47px);
            margin-block-start: min(12.5333333333vw, 47px);
    inline-size: 24.5rem;
    -webkit-margin-start: -1.1428571429rem;
            margin-inline-start: -1.1428571429rem;
    -webkit-margin-end: -1.1428571429rem;
            margin-inline-end: -1.1428571429rem;
  }
}

.TopService__more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  row-gap: 0.625rem;
  color: #363129;
  text-decoration: none;
  -webkit-margin-before: 4.8611111111vw;
          margin-block-start: 4.8611111111vw;
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
}
@media only screen and (max-width: 767px) {
  .TopService__more {
    row-gap: min(2.6666666667vw, 10px);
    -webkit-margin-before: min(16.8vw, 63px);
            margin-block-start: min(16.8vw, 63px);
    grid-column: auto;
    grid-row: auto;
    justify-self: auto;
  }
}

.TopService__moreLabel {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
@media only screen and (max-width: 767px) {
  .TopService__moreLabel {
    font-size: 1.1428571429rem;
  }
}

.TopService__moreArrow {
  display: block;
  inline-size: 9.375rem;
}
@media only screen and (max-width: 767px) {
  .TopService__moreArrow {
    inline-size: min(40vw, 150px);
  }
}

.TopService__moreArrowSvg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.TopService__more:hover .TopService__moreArrowSvg {
  -webkit-transform: translateX(0.75rem);
          transform: translateX(0.75rem);
}

/* ==========================================================================
   TopProjects (PROJECTS セクション)
   カンプ基準: PC 1440 × 1533 (y=2407 → y=3940)
   カードは object 配下の ProjectsCard コンポーネントを流用
   ========================================================================== */
.TopProjects {
  position: relative;
  inline-size: 100%;
  background-color: #e8e8e8;
  -webkit-padding-before: 3.75vw;
          padding-block-start: 3.75vw;
  -webkit-padding-after: 7.3611111111vw;
          padding-block-end: 7.3611111111vw;
}
@media only screen and (max-width: 767px) {
  .TopProjects {
    -webkit-padding-before: min(17.0666666667vw, 64px);
            padding-block-start: min(17.0666666667vw, 64px);
    -webkit-padding-after: min(26.6666666667vw, 100px);
            padding-block-end: min(26.6666666667vw, 100px);
  }
}

@media only screen and (max-width: 767px) {
  .TopProjects__inner {
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
  }
}

.TopProjects__label {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopProjects__label {
    font-size: 1.7142857143rem;
    text-align: center;
  }
}

.TopProjects__list {
  display: grid;
  grid-template-columns: repeat(3, 23.75rem);
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
  row-gap: 6rem;
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  -webkit-margin-before: 5.4375rem;
          margin-block-start: 5.4375rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .TopProjects__list {
    grid-template-columns: 1fr;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    row-gap: min(17.0666666667vw, 64px);
    -webkit-margin-before: min(17.6vw, 66px);
            margin-block-start: min(17.6vw, 66px);
  }
}

.TopProjects__item {
  list-style: none;
}

.TopProjects__item .ProjectsCard__thumbnail {
  inline-size: 23.75rem;
  block-size: 26.25rem;
}
@media only screen and (max-width: 767px) {
  .TopProjects__item .ProjectsCard__thumbnail {
    inline-size: 100%;
    block-size: min(91.7333333333vw, 344px);
  }
}

.TopProjects__more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  row-gap: 0.625rem;
  color: #363129;
  text-decoration: none;
  -webkit-margin-before: 5.4375rem;
          margin-block-start: 5.4375rem;
}
@media only screen and (max-width: 767px) {
  .TopProjects__more {
    row-gap: min(2.6666666667vw, 10px);
    -webkit-margin-before: min(23.2vw, 87px);
            margin-block-start: min(23.2vw, 87px);
  }
}

.TopProjects__moreLabel {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
@media only screen and (max-width: 767px) {
  .TopProjects__moreLabel {
    font-size: 1.1428571429rem;
  }
}

.TopProjects__moreArrow {
  display: block;
  inline-size: 9.375rem;
}
@media only screen and (max-width: 767px) {
  .TopProjects__moreArrow {
    inline-size: min(40vw, 150px);
  }
}

.TopProjects__moreArrowSvg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.TopProjects__more:hover .TopProjects__moreArrowSvg {
  -webkit-transform: translateX(0.75rem);
          transform: translateX(0.75rem);
}

/* ==========================================================================
   スクロール進行率 → 各フェーズ進行率の派生
   main.js が :root に --aboutBlurProgress / --aboutPhilosophyProgress を書き込む
   ========================================================================== */
:root {
  --aboutBlurProgress: 0;
  --aboutPhilosophyProgress: 0;
  --aboutPhase2TitleProgress: max(0, min(1, calc(var(--aboutPhilosophyProgress) / 0.1)));
  --aboutPhase2StartProgress: max(0, min(1, calc((var(--aboutPhilosophyProgress) - 0.1) / 0.1)));
  --aboutPhase2DesignProgress: max(0, min(1, calc((var(--aboutPhilosophyProgress) - 0.2) / 0.1)));
  --aboutPhase2FactsProgress: max(0, min(1, calc((var(--aboutPhilosophyProgress) - 0.3) / 0.1)));
  --aboutPhase2GrowProgress: max(0, min(1, calc((var(--aboutPhilosophyProgress) - 0.4) / 0.1)));
  --aboutPhase3LeftProgress: max(0, min(1, calc((var(--aboutPhilosophyProgress) - 0.5) / 0.25)));
  --aboutPhase3RightProgress: max(0, min(1, calc((var(--aboutPhilosophyProgress) - 0.75) / 0.25)));
}

/* ==========================================================================
   AboutFv (First View) — sticky で画面に張り付き、後続 .AboutPhilosophy が
   通常フローで下から覆い被さってくる (Top の TopFv / TopAbout と同じ構造)
   カンプ基準: PC 1440 × 912 (FV)
   ========================================================================== */
.AboutMain {
  position: relative;
  background-color: #faf8f4;
}

.AboutFv {
  position: sticky;
  inset-block-start: 0;
  inline-size: 100%;
  block-size: 100svh;
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .AboutFv {
    position: static;
    block-size: auto;
    overflow: visible;
  }
}

.AboutFv__sticky {
  position: relative;
  inline-size: 100%;
  block-size: 100%;
}
@media only screen and (max-width: 767px) {
  .AboutFv__sticky {
    block-size: auto;
  }
}

.AboutFv__bg {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 100%;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .AboutFv__bg {
    block-size: 100%;
  }
}

.AboutFv__bgImage {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 100%;
  background-image: url("../img/about/about-top-BG.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #fff;
}

.AboutFv__overlay {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 100%;
  background-color: #e8d9c8;
  mix-blend-mode: multiply;
  opacity: 1;
}

.AboutFv__inner {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inset-inline-end: 0;
  block-size: 100%;
  -webkit-padding-before: 10rem;
          padding-block-start: 10rem;
  -webkit-filter: blur(calc(var(--aboutBlurProgress, 0) * 12px));
          filter: blur(calc(var(--aboutBlurProgress, 0) * 12px));
  opacity: calc(1 - var(--aboutBlurProgress, 0));
}
@media only screen and (max-width: 767px) {
  .AboutFv__inner {
    position: relative;
    inset-block-start: auto;
    inset-inline-start: auto;
    block-size: auto;
    -webkit-padding-before: 8.1428571429rem;
            padding-block-start: 8.1428571429rem;
    -webkit-padding-after: 0;
            padding-block-end: 0;
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
    -webkit-filter: none;
            filter: none;
    opacity: 1;
  }
}

/* ----- サブナビ (ABOUTラベル + PHILOSOPHY/PEOPLE/COMPANY) ----- */
.AboutFv__subnav {
  display: grid;
  grid-template-columns: 9.375rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  .AboutFv__subnav {
    grid-template-columns: 1fr;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    row-gap: 4.9285714286rem;
  }
}

.AboutFv__subnavLabel {
  display: inline-block;
  color: #959089;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
@media only screen and (max-width: 767px) {
  .AboutFv__subnavLabel {
    font-size: 1.7142857143rem;
    color: #363129;
    text-align: center;
  }
}

.AboutFv__subnavList {
  display: grid;
  grid-template-columns: 11.6875rem 8.3125rem auto;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  list-style: none;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}
@media only screen and (max-width: 767px) {
  .AboutFv__subnavList {
    grid-template-columns: 8.8571428571rem 6rem auto;
  }
}

.AboutFv__subnavItem {
  display: block;
}

.AboutFv__subnavLink {
  display: inline-block;
  background-color: transparent;
  border-block: 0;
  border-inline: 0;
  padding-block: 0;
  padding-inline: 0;
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media only screen and (max-width: 767px) {
  .AboutFv__subnavLink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 0.2857142857rem;
    font-size: 1.1428571429rem;
  }
}

.AboutFv__subnavLink::after {
  content: none;
}
@media only screen and (max-width: 767px) {
  .AboutFv__subnavLink::after {
    content: "";
    display: inline-block;
    inline-size: 0.6428571429rem;
    block-size: 0.5357142857rem;
    -webkit-margin-start: 0.2857142857rem;
            margin-inline-start: 0.2857142857rem;
    background-color: currentColor;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    vertical-align: middle;
  }
}

.AboutFv__subnavLink:hover,
.AboutFv__subnavLink:focus-visible {
  opacity: 0.6;
}

/* ----- サブナビ ロードアニメ ----- */
.AboutFv__subnavLabel,
.AboutFv__subnavItem {
  opacity: 0;
  -webkit-transform: translateY(1.25rem);
          transform: translateY(1.25rem);
  -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.AboutFv__subnavList .AboutFv__subnavItem:nth-child(1) {
  -webkit-transition-delay: calc(0.1s + 1 * 0.06s);
          transition-delay: calc(0.1s + 1 * 0.06s);
}

.AboutFv__subnavList .AboutFv__subnavItem:nth-child(2) {
  -webkit-transition-delay: calc(0.1s + 2 * 0.06s);
          transition-delay: calc(0.1s + 2 * 0.06s);
}

.AboutFv__subnavList .AboutFv__subnavItem:nth-child(3) {
  -webkit-transition-delay: calc(0.1s + 3 * 0.06s);
          transition-delay: calc(0.1s + 3 * 0.06s);
}

.is-loaded .AboutFv__subnavLabel,
.is-loaded .AboutFv__subnavItem {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ----- 英メインコピー ----- */
.AboutFv__heading {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: 0.01em;
  line-height: 1.3125;
  text-box: trim-both cap alphabetic;
  -webkit-margin-start: 9.375rem;
          margin-inline-start: 9.375rem;
  -webkit-margin-before: 5.625rem;
          margin-block-start: 5.625rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutFv__heading {
    font-size: 1.5714285714rem;
    line-height: 1.3181818182;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-before: 5.9285714286rem;
            margin-block-start: 5.9285714286rem;
  }
}

.AboutFv__headingLine {
  display: block;
}

.AboutFv__word {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}

.AboutFv__wordInner {
  display: inline-block;
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: calc(0.3s + var(--order, 0) * 0.06s);
          transition-delay: calc(0.3s + var(--order, 0) * 0.06s);
}

.is-loaded .AboutFv__wordInner {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ----- 日サブコピー ----- */
.AboutFv__lead {
  color: #373129;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  text-box: trim-both cap alphabetic;
  -webkit-margin-start: 9.375rem;
          margin-inline-start: 9.375rem;
  -webkit-margin-before: 2.9375rem;
          margin-block-start: 2.9375rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutFv__lead {
    font-size: 1.1428571429rem;
    line-height: 1.875;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-before: 2.3571428571rem;
            margin-block-start: 2.3571428571rem;
  }
}

.AboutFv__leadLine {
  display: block;
  overflow: clip;
  overflow-clip-margin: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .AboutFv__leadLine {
    overflow-clip-margin: 0.5714285714rem;
  }
}

.AboutFv__leadInner {
  display: block;
  -webkit-transform: translateY(150%);
          transform: translateY(150%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: calc(0.3s + var(--order, 0) * 0.06s);
          transition-delay: calc(0.3s + var(--order, 0) * 0.06s);
}

.is-loaded .AboutFv__leadInner {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ----- HABICHT 紹介 (英 + 日) ----- */
.AboutFv__about {
  -webkit-margin-start: 18.75rem;
          margin-inline-start: 18.75rem;
  -webkit-margin-before: 6.9375rem;
          margin-block-start: 6.9375rem;
}
@media only screen and (max-width: 767px) {
  .AboutFv__about {
    position: relative;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-before: 4.6428571429rem;
            margin-block-start: 4.6428571429rem;
    -webkit-padding-before: 4.4285714286rem;
            padding-block-start: 4.4285714286rem;
  }
}

.AboutFv__about::before {
  content: none;
}
@media only screen and (max-width: 767px) {
  .AboutFv__about::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 5.7142857143rem;
    block-size: 1px;
    background-color: #373129;
  }
}

.AboutFv__aboutHeading {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  line-height: 1.4;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutFv__aboutHeading {
    font-size: 1.2857142857rem;
    line-height: 1.3333333333;
  }
}

.AboutFv__aboutHeadingLine {
  display: block;
  overflow: clip;
  overflow-clip-margin: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .AboutFv__aboutHeadingLine {
    overflow-clip-margin: 0.5714285714rem;
  }
}

.AboutFv__aboutHeadingInner {
  display: block;
  -webkit-transform: translateY(150%);
          transform: translateY(150%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: calc(0.3s + var(--order, 0) * 0.06s);
          transition-delay: calc(0.3s + var(--order, 0) * 0.06s);
}

.is-loaded .AboutFv__aboutHeadingInner {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.AboutFv__aboutText {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-before: 2.5625rem;
          margin-block-start: 2.5625rem;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .AboutFv__aboutText {
    font-size: 1rem;
    line-height: 2;
    -webkit-margin-before: 3.2857142857rem;
            margin-block-start: 3.2857142857rem;
  }
}

.AboutFv__aboutTextInner {
  display: block;
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: calc(0.3s + var(--order, 0) * 0.06s);
          transition-delay: calc(0.3s + var(--order, 0) * 0.06s);
}

.is-loaded .AboutFv__aboutTextInner {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ==========================================================================
   AboutPhilosophy — 通常フローで配置され、下からスクロールで .AboutFv (sticky) に
   物理的に覆い被さる (= Top の TopFv / TopAbout と同じパララックス構造)。
   セクション内に 200svh のスクロール余地を確保。前半 100svh が「下から覆い被さる」運動、
   後半 100svh の sticky 区間で内部演出 (Phase 2 テキスト出現 → Phase 3 三角形画面端着地) を再生する。
   背景白 (#fff) は AboutPhilosophy 自体が持ち、不透明白地がそのまま下から物理的にせり上がる。
   ========================================================================== */
.AboutPhilosophy {
  position: relative;
  inline-size: 100%;
  min-block-size: 200svh;
  z-index: 1;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy {
    position: relative;
    min-block-size: 0;
    z-index: auto;
    -webkit-padding-before: 3.8571428571rem;
            padding-block-start: 3.8571428571rem;
    -webkit-padding-after: 0;
            padding-block-end: 0;
    background-image: url("../img/about/about-BG-sp02.webp");
    background-color: unset;
  }
}

.AboutPhilosophy__bg {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: calc((100% - 100vw) / 2);
  inline-size: 100vw;
  block-size: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__bg {
    display: none;
  }
}

.AboutPhilosophy__triangle {
  position: absolute;
  inline-size: 43.2638888889vw;
  block-size: 100%;
  background-color: #e2d3c0;
  mix-blend-mode: multiply;
}

.AboutPhilosophy__triangle--left {
  inset-block-start: 0;
  inset-inline-start: 0;
  clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
  -webkit-transform: translateX(calc((var(--aboutPhase3LeftProgress, 0) - 1) * 100%));
          transform: translateX(calc((var(--aboutPhase3LeftProgress, 0) - 1) * 100%));
}

.AboutPhilosophy__triangle--right {
  inset-block-start: 0;
  inset-inline-end: 0;
  clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
  -webkit-transform: translateX(calc((1 - var(--aboutPhase3RightProgress, 0)) * 100%));
          transform: translateX(calc((1 - var(--aboutPhase3RightProgress, 0)) * 100%));
}

.AboutPhilosophy__inner {
  position: sticky;
  inset-block-start: 0;
  inline-size: 100%;
  max-inline-size: 1440px;
  block-size: 100svh;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
  overflow: visible;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__inner {
    position: static;
    max-inline-size: none;
    block-size: auto;
    overflow: visible;
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
    -webkit-padding-after: 7.1428571429rem;
            padding-block-end: 7.1428571429rem;
  }
}

.AboutPhilosophy__title {
  position: absolute;
  inset-block-start: var(--phi-y-title, 5rem);
  inset-inline-start: 7.5rem;
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-filter: blur(calc((1 - var(--aboutPhase2TitleProgress, 0)) * 8px));
          filter: blur(calc((1 - var(--aboutPhase2TitleProgress, 0)) * 8px));
  opacity: var(--aboutPhase2TitleProgress, 0);
  text-transform: uppercase;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__title {
    position: static;
    inset-block-start: auto;
    inset-inline-start: auto;
    font-size: 1.7142857143rem;
    text-align: center;
    -webkit-filter: none;
            filter: none;
    opacity: 0;
    -webkit-transform: translateY(1.4285714286rem);
            transform: translateY(1.4285714286rem);
    -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}

@media only screen and (max-width: 767px) {
  .AboutPhilosophy.is-revealed .AboutPhilosophy__title {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

.AboutPhilosophy__list {
  list-style: none;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__list {
    -webkit-margin-before: 4.7142857143rem;
            margin-block-start: 4.7142857143rem;
  }
}

/* ----- 4ブロック (Start / Design / Facts / Grow) ----- */
.AboutPhilosophy__item {
  position: absolute;
  -webkit-transform: translateX(calc((1 - var(--phase2-progress, 0)) * var(--slide-from, 100vw)));
          transform: translateX(calc((1 - var(--phase2-progress, 0)) * var(--slide-from, 100vw)));
  opacity: var(--phase2-progress, 0);
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__item {
    position: relative;
    inset-block-start: auto;
    inset-inline-start: auto;
    -webkit-padding-before: 1.7857142857rem;
            padding-block-start: 1.7857142857rem;
    opacity: 0;
    -webkit-transform: translateY(2.1428571429rem);
            transform: translateY(2.1428571429rem);
    -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transition-delay: calc(0.15s + var(--order, 0) * 0.1s);
            transition-delay: calc(0.15s + var(--order, 0) * 0.1s);
  }
}

@media only screen and (max-width: 767px) {
  .AboutPhilosophy.is-revealed .AboutPhilosophy__item {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

.AboutPhilosophy__item::before {
  content: none;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__item::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 5.7142857143rem;
    block-size: 1px;
    background-color: #373129;
  }
}

@media only screen and (max-width: 767px) {
  .AboutPhilosophy__item + .AboutPhilosophy__item {
    -webkit-margin-before: 2.0714285714rem;
            margin-block-start: 2.0714285714rem;
  }
}

@media only screen and (min-width: 768px) {
  .AboutPhilosophy__item--start {
    inset-block-start: var(--phi-y-start, 10.75rem);
    inset-inline-start: var(--phi-x-start);
    --slide-from: var(--phi-slide-start);
  }
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__item--start {
    --order: 0;
  }
}

@media only screen and (min-width: 768px) {
  .AboutPhilosophy__item--design {
    inset-block-start: var(--phi-y-design, calc(10.75rem + (100svh - 22.5625rem) / 3));
    inset-inline-start: var(--phi-x-design);
    --slide-from: var(--phi-slide-design);
  }
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__item--design {
    --order: 1;
  }
}

@media only screen and (min-width: 768px) {
  .AboutPhilosophy__item--facts {
    inset-block-start: var(--phi-y-facts, calc(10.75rem + (100svh - 22.5625rem) * 2 / 3));
    inset-inline-start: var(--phi-x-facts);
    --slide-from: var(--phi-slide-facts);
  }
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__item--facts {
    --order: 2;
  }
}

@media only screen and (min-width: 768px) {
  .AboutPhilosophy__item--grow {
    inset-block-start: var(--phi-y-grow, calc(100svh - 11.8125rem));
    inset-block-end: auto;
    inset-inline-start: var(--phi-x-grow);
    --slide-from: var(--phi-slide-grow);
  }
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__item--grow {
    --order: 3;
  }
}

.AboutPhilosophy__itemTitle {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 2rem;
  font-size: 1.75rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__itemTitle {
    font-size: 1.7142857143rem;
  }
}

.AboutPhilosophy__itemText {
  color: #373129;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.25rem;
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 1.5rem;
          margin-block-start: 1.5rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__itemText {
    font-size: 1rem;
    line-height: 1.7142857143;
    -webkit-margin-before: 1.6428571429rem;
            margin-block-start: 1.6428571429rem;
  }
}
@supports not (text-box: trim-both cap alphabetic) {
  .AboutPhilosophy__itemText {
    -webkit-margin-before: calc(1.5rem - 15.5px);
            margin-block-start: calc(1.5rem - 15.5px);
  }
  @media only screen and (max-width: 767px) {
    .AboutPhilosophy__itemText {
      -webkit-margin-before: calc(1.6428571429rem - 12px);
              margin-block-start: calc(1.6428571429rem - 12px);
    }
  }
}

.AboutPhilosophy__itemTextLine {
  display: block;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__itemTextLine {
    white-space: normal;
  }
}

/* ----- More ABOUT ボタン (SP のみカンプに存在) ----- */
.AboutPhilosophy__more {
  display: none;
}
@media only screen and (max-width: 767px) {
  .AboutPhilosophy__more {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-decoration: none;
    color: #363129;
    -webkit-margin-before: 6.2142857143rem;
            margin-block-start: 6.2142857143rem;
    opacity: 0;
    -webkit-transform: translateY(1.4285714286rem);
            transform: translateY(1.4285714286rem);
    -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transition-delay: 0.6s;
            transition-delay: 0.6s;
  }
}

@media only screen and (max-width: 767px) {
  .AboutPhilosophy.is-revealed .AboutPhilosophy__more {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@media only screen and (max-width: 767px) {
  .AboutPhilosophy__moreText {
    display: block;
    font-family: "Bentham", serif;
    font-weight: 400;
    font-size: 1.1428571429rem;
    letter-spacing: 0.01em;
    line-height: 1;
    text-box: trim-both cap alphabetic;
  }
}

@media only screen and (max-width: 767px) {
  .AboutPhilosophy__moreArrow {
    display: block;
    inline-size: 10.7142857143rem;
    block-size: 0.7857142857rem;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}

.AboutPhilosophy__moreArrow svg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

/* ==========================================================================
   AboutPeople (PEOPLE 一覧)
   カンプ基準: PC 1440 / セクション背景 #e8e8e8 / 上端 y=1992
   3列×2段の写真グリッド + 名前(Bentham 20) + 役職(Noto Sans 13)
   ========================================================================== */
.AboutPeople {
  position: relative;
  background-color: #e8e8e8;
  -webkit-padding-before: 8.375rem;
          padding-block-start: 8.375rem;
  -webkit-padding-after: 8rem;
          padding-block-end: 8rem;
}
@media only screen and (max-width: 767px) {
  .AboutPeople {
    -webkit-padding-before: 4.5714285714rem;
            padding-block-start: 4.5714285714rem;
    -webkit-padding-after: 7.4285714286rem;
            padding-block-end: 7.4285714286rem;
  }
}

.AboutPeople__inner {
  opacity: 0;
  -webkit-transform: translateY(2.5rem);
          transform: translateY(2.5rem);
  -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media only screen and (max-width: 767px) {
  .AboutPeople__inner {
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
    -webkit-transform: translateY(2.8571428571rem);
            transform: translateY(2.8571428571rem);
  }
}

.AboutPeople.is-revealed .AboutPeople__inner {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

.AboutPeople__title {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__title {
    font-size: 1.7142857143rem;
    text-align: center;
  }
}

.AboutPeople__list {
  display: grid;
  grid-template-columns: repeat(3, 9.375rem);
  -webkit-column-gap: 9.375rem;
     -moz-column-gap: 9.375rem;
          column-gap: 9.375rem;
  row-gap: 5.3125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  -webkit-margin-before: 2.9375rem;
          margin-block-start: 2.9375rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__list {
    grid-template-columns: repeat(2, 10rem);
    -webkit-column-gap: 2.2142857143rem;
       -moz-column-gap: 2.2142857143rem;
            column-gap: 2.2142857143rem;
    row-gap: 4.5714285714rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-margin-before: 5.5714285714rem;
            margin-block-start: 5.5714285714rem;
  }
}

.AboutPeople__item {
  display: block;
  position: relative;
  overflow: visible;
}

.AboutPeople__photo {
  display: block;
  inline-size: 9.375rem;
  aspect-ratio: 150/180;
  background-color: #fff;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__photo {
    inline-size: 10rem;
    aspect-ratio: 140/167.8;
  }
}

.AboutPeople__photoImg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.AboutPeople__caption {
  display: block;
  inline-size: 18.75rem;
  -webkit-margin-before: 1.9375rem;
          margin-block-start: 1.9375rem;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__caption {
    inline-size: 12.2142857143rem;
    -webkit-margin-before: 1.5714285714rem;
            margin-block-start: 1.5714285714rem;
  }
}

.AboutPeople__item:nth-child(3n) .AboutPeople__caption {
  inline-size: 23.4375rem;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__item:nth-child(3n) .AboutPeople__caption {
    inline-size: 12.2142857143rem;
  }
}

.AboutPeople__name {
  display: block;
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  white-space: nowrap;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__name {
    font-size: 1.4285714286rem;
  }
}

@media only screen and (max-width: 767px) {
  .AboutPeople__item:nth-child(-n+2) .AboutPeople__name {
    font-size: 1.2857142857rem;
  }
}
.AboutPeople__role {
  display: block;
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  white-space: nowrap;
  -webkit-margin-before: 1.3125rem;
          margin-block-start: 1.3125rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__role {
    font-size: 0.8571428571rem;
    line-height: 1.6666666667;
    white-space: normal;
    -webkit-margin-before: 1.5714285714rem;
            margin-block-start: 1.5714285714rem;
  }
}

/* ----- 区切り線 ----- */
.AboutPeople__divider {
  block-size: 1px;
  inline-size: 56.25rem;
  background-color: #707070;
  border-block: 0;
  border-inline: 0;
  -webkit-margin-start: 9.375rem;
          margin-inline-start: 9.375rem;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-margin-before: 8.625rem;
          margin-block-start: 8.625rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__divider {
    inline-size: 100%;
    background-color: #373129;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-before: 4.5714285714rem;
            margin-block-start: 4.5714285714rem;
  }
}

/* ----- 組織説明 (区切り線下の 3 行) ----- */
.AboutPeople__lead {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
  text-box: trim-both cap alphabetic;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
  -webkit-margin-before: 7.8125rem;
          margin-block-start: 7.8125rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  max-inline-size: 600px;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__lead {
    font-size: 0.9285714286rem;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-end: 0;
            margin-inline-end: 0;
    -webkit-margin-before: 4.7142857143rem;
            margin-block-start: 4.7142857143rem;
    max-inline-size: none;
  }
}

/* ----- 4 つの役職ブロック (Brand Strategy / PR / Sales / Creative) ----- */
.AboutPeople__roles {
  list-style: none;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
  -webkit-margin-before: 4rem;
          margin-block-start: 4rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  max-inline-size: 600px;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__roles {
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-end: 0;
            margin-inline-end: 0;
    -webkit-margin-before: 5.4285714286rem;
            margin-block-start: 5.4285714286rem;
    max-inline-size: none;
  }
}

.AboutPeople__roleItem {
  display: block;
}

.AboutPeople__roleItem + .AboutPeople__roleItem {
  -webkit-margin-before: 3.625rem;
          margin-block-start: 3.625rem;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__roleItem + .AboutPeople__roleItem {
    -webkit-margin-before: 3.4285714286rem;
            margin-block-start: 3.4285714286rem;
  }
}

.AboutPeople__roleTitle {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__roleTitle {
    font-size: 1.7142857143rem;
  }
}

.AboutPeople__roleText {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 1.9375rem;
          margin-block-start: 1.9375rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__roleText {
    font-size: 0.9285714286rem;
    -webkit-margin-before: 2.2857142857rem;
            margin-block-start: 2.2857142857rem;
  }
}

/* ==========================================================================
   AboutCompany (会社概要)
   カンプ基準: PC 1440 / セクション上端 y=3851 / 下端 y=4830
   ラベル列 x=420 / 値列 x=540 / 事業内容の説明列 x=720
   全 Noto Sans 13px, letter-spacing 0.01em, 行送り 28
   ========================================================================== */
.AboutCompany {
  position: relative;
  -webkit-padding-before: 9.875rem;
          padding-block-start: 9.875rem;
  -webkit-padding-after: 7.6875rem;
          padding-block-end: 7.6875rem;
}
@media only screen and (max-width: 767px) {
  .AboutCompany {
    -webkit-padding-before: 4.5714285714rem;
            padding-block-start: 4.5714285714rem;
    -webkit-padding-after: 7.3571428571rem;
            padding-block-end: 7.3571428571rem;
  }
}

.AboutCompany__inner {
  opacity: 0;
  -webkit-transform: translateY(2.5rem);
          transform: translateY(2.5rem);
  -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media only screen and (max-width: 767px) {
  .AboutCompany__inner {
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
    -webkit-transform: translateY(2.8571428571rem);
            transform: translateY(2.8571428571rem);
  }
}

.AboutCompany.is-revealed .AboutCompany__inner {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .AboutPeople__inner,
  .AboutCompany__inner {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
  .AboutPhilosophy__title,
  .AboutPhilosophy__item,
  .AboutPhilosophy__more {
    -webkit-transition: none;
    transition: none;
  }
}
.AboutCompany__title {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutCompany__title {
    font-size: 1.7142857143rem;
    text-align: center;
  }
}

.AboutCompany__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.9375rem;
  -webkit-margin-before: 3.3125rem;
          margin-block-start: 3.3125rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: 18.75rem;
          margin-inline-start: 18.75rem;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutCompany__list {
    row-gap: 2.7857142857rem;
    -webkit-margin-before: 5.1428571429rem;
            margin-block-start: 5.1428571429rem;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }
}

.AboutCompany__row {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media only screen and (max-width: 767px) {
  .AboutCompany__row {
    grid-template-columns: 5.5714285714rem 1fr;
  }
}

.AboutCompany__row--services {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.AboutCompany__label {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutCompany__label {
    font-size: 0.9285714286rem;
  }
}

.AboutCompany__value {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutCompany__value {
    font-size: 0.9285714286rem;
    line-height: 1.8461538462;
  }
}

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

.AboutCompany__value a:hover,
.AboutCompany__value a:focus-visible {
  text-decoration: underline;
}

.AboutCompany__services {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.9375rem;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}
@media only screen and (max-width: 767px) {
  .AboutCompany__services {
    row-gap: 2.7857142857rem;
  }
}

.AboutCompany__service {
  display: grid;
  grid-template-columns: 11.25rem 1fr;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media only screen and (max-width: 767px) {
  .AboutCompany__service {
    grid-template-columns: 1fr;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.AboutCompany__serviceName {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
@media only screen and (max-width: 767px) {
  .AboutCompany__serviceName {
    display: block;
    font-size: 0.9285714286rem;
  }
}

.AboutCompany__serviceText {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutCompany__serviceText {
    font-size: 0.8571428571rem;
    line-height: 2;
    -webkit-margin-before: 1.1428571429rem;
            margin-block-start: 1.1428571429rem;
  }
}

.AboutPeople__role br {
  display: none;
}

@media only screen and (max-width: 767px) {
  .AboutPeople__role br {
    display: block;
  }
}
/* ==========================================================================
   AboutPeopleModal (PEOPLE 一覧クリックで開く詳細モーダル)
   カンプ基準: PC 570 × 1258 (PC_peope_modal.svg) / SP 375 × 1385 (SP_peope_modal.svg)
   - モーダル幅 = PC カンプ幅 570 / SP は 100vw
   - モーダル高 = 100dvh
   - プロフィール領域 (白背景) PC 最低高 = カンプ上部 575 を維持
   - 残りは Note 領域 (#f1e9e2) が flex-grow で埋める
   - 画面右端からデザイン幅までスライドイン (@starting-style + allow-discrete)
   - ::backdrop に blur(8px)、body スクロールは :has() で禁止

   ---- 単位選択方針 (general.md 単位選択の原則 / style.md SP 規約準拠) ----
   PC: vw1440(X) … カンプ 1440 基準のビューポート連動 (上限なし)。
     rem(X) は html font-size が vw(16, 1260) 連動のため 1260 基準となり、
     カンプ基準 1440 とずれるため不採用。

   SP: rem(X, 14) で統一。
     - html font-size = min(vw(14, 375), 550/375 * 14px) → 375→550 で線形拡大、550 以後固定
     - rem(X, 14) はこのカーブに完全一致 (375 で X px、550 で X*1.466 px、以後固定)
     - vwM(X, 375) は関数定義の第二引数が反映されないため $vw-base(1260) 基準で評価され、
       SP 375px 時にカンプ値の 375/1260 = 約 30% に縮む不具合がある
     - 値の意味（コンテナ余白 / 写真 / アイコン / テキスト要素間 margin）を問わず、
       SP は同一カーブで揃えるのが視覚的整合に最適のため rem(X, 14) で統一
   ========================================================================== */
/* ----- トリガーボタン (AboutPeople__item を包む) -----
   .AboutPeople__list セルは 150px 幅だが、トリガーは画像 (150) + キャプション (300/375)
   の表示領域全体をクリック対象にする必要があるため、セルを越えて 300 / 375 で拡張する */
.AboutPeople__trigger {
  display: block;
  inline-size: 20.8333333333vw;
  padding-block: 0;
  padding-inline: 0;
  border-block: 0;
  border-inline: 0;
  background-color: transparent;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
  overflow: visible;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__trigger {
    inline-size: 12.2142857143rem;
  }
}

.AboutPeople__item:nth-child(3n) .AboutPeople__trigger {
  inline-size: 26.0416666667vw;
}
@media only screen and (max-width: 767px) {
  .AboutPeople__item:nth-child(3n) .AboutPeople__trigger {
    inline-size: 12.2142857143rem;
  }
}

.AboutPeople__trigger:focus-visible {
  outline: 1px solid #363129;
  outline-offset: 4px;
}

/* ----- 開閉時のドキュメントスクロールロック ----- */
body:has(.AboutPeopleModal[open]) {
  overflow: hidden;
}

/* ==========================================================================
   ダイアログ本体
   ========================================================================== */
.AboutPeopleModal {
  position: fixed;
  inset-block-start: 0;
  inset-inline-end: 0;
  inset-block-end: auto;
  inset-inline-start: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  inline-size: 39.5833333333vw;
  max-inline-size: 100vw;
  block-size: 100dvh;
  max-block-size: 100dvh;
  margin-block: 0;
  margin-inline: 0;
  padding-block: 0;
  padding-inline: 0;
  border-block: 0;
  border-inline: 0;
  background-color: #fff;
  color: #363129;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: overlay 0.6s allow-discrete, display 0.6s allow-discrete, -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: overlay 0.6s allow-discrete, display 0.6s allow-discrete, -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), overlay 0.6s allow-discrete, display 0.6s allow-discrete;
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), overlay 0.6s allow-discrete, display 0.6s allow-discrete, -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal {
    inline-size: 100vw;
  }
}

.AboutPeopleModal[open] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

@starting-style {
  .AboutPeopleModal[open] {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
/* ----- 背景 (::backdrop) -----
   blur で背後をぼかす + 軽い暗転 */
.AboutPeopleModal::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  -ms-transition: opacity 0.6s ease, overlay 0.6s allow-discrete, display 0.6s allow-discrete;
  transition: opacity 0.6s ease, overlay 0.6s allow-discrete, display 0.6s allow-discrete;
}
.AboutPeopleModal::backdrop {
  background-color: rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  -webkit-transition: opacity 0.6s ease, overlay 0.6s allow-discrete, display 0.6s allow-discrete;
  transition: opacity 0.6s ease, overlay 0.6s allow-discrete, display 0.6s allow-discrete;
}

.AboutPeopleModal[open]::-ms-backdrop {
  opacity: 1;
}

.AboutPeopleModal[open]::backdrop {
  opacity: 1;
}

@starting-style {
  .AboutPeopleModal[open]::-ms-backdrop {
    opacity: 0;
  }
  .AboutPeopleModal[open]::backdrop {
    opacity: 0;
  }
}
/* ==========================================================================
   プロフィール領域 (白背景 / 高さはコンテンツ + padding のみ)
   ========================================================================== */
.AboutPeopleModal__profile {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-padding-before: 4.1666666667vw;
          padding-block-start: 4.1666666667vw;
  -webkit-padding-after: 4.8611111111vw;
          padding-block-end: 4.8611111111vw;
  -webkit-padding-start: 4.1666666667vw;
          padding-inline-start: 4.1666666667vw;
  -webkit-padding-end: 4.1666666667vw;
          padding-inline-end: 4.1666666667vw;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__profile {
    -webkit-padding-before: 5.7142857143rem;
            padding-block-start: 5.7142857143rem;
    -webkit-padding-after: 4.5714285714rem;
            padding-block-end: 4.5714285714rem;
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
  }
}

/* ----- 閉じるボタン (×) -----
   PC カンプ実測: 25×25 / (515, 30.5) → 右 30 / 上 30 / stroke 1 / #707070
   SP カンプ実測: 30×20 (横長) / translate(308, 23.833) → 右 37 / 上 24 / stroke 1 / #373129
   2配置 (top: プロフィール領域右上 / bottom: Note 領域右下) で同サイズ・同オフセット */
.AboutPeopleModal__close {
  position: absolute;
  inset-inline-end: 2.0833333333vw;
  inline-size: 1.7361111111vw;
  block-size: 1.7361111111vw;
  padding-block: 0;
  padding-inline: 0;
  border-block: 0;
  border-inline: 0;
  background-color: transparent;
  color: #707070;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  border: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  outline: none;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__close {
    inset-inline-end: 2.6428571429rem;
    inline-size: 2.1428571429rem;
    block-size: 1.4285714286rem;
    color: #373129;
  }
}

.AboutPeopleModal__close--top {
  inset-block-start: 2.0833333333vw;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__close--top {
    inset-block-start: 1.7142857143rem;
  }
}

.AboutPeopleModal__close--bottom {
  inset-block-end: 2.0833333333vw;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__close--bottom {
    inset-block-end: 1.7142857143rem;
  }
}

.AboutPeopleModal__close:hover,
.AboutPeopleModal__close:focus-visible {
  opacity: 0.6;
}

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

/* ----- 画像 + 名前 + 役職のヘッド領域 -----
   画像 180×216 (60, 60) → 画像下端 y=276
   名前 baseline y=242, 役職 baseline y=272 (画像下端から 4px 上)
   名前 x=276 → 画像右端 (240) + 36 のギャップ */
.AboutPeopleModal__head {
  display: grid;
  grid-template-columns: 12.5vw 1fr;
  -webkit-column-gap: 2.5vw;
     -moz-column-gap: 2.5vw;
          column-gap: 2.5vw;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
}

.AboutPeopleModal__photo {
  inline-size: 12.5vw;
  block-size: 15vw;
  background-color: #fff;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__photo {
    inline-size: 12.8571428571rem;
    block-size: 15.4285714286rem;
  }
}

.AboutPeopleModal__photoImg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.AboutPeopleModal__heading {
  min-inline-size: 0;
  -webkit-padding-after: 0.2777777778vw;
          padding-block-end: 0.2777777778vw;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__heading {
    inline-size: 100%;
    -webkit-padding-after: 0;
            padding-block-end: 0;
    -webkit-margin-before: 3.0714285714rem;
            margin-block-start: 3.0714285714rem;
    text-align: center;
  }
}

.AboutPeopleModal__name {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__name {
    font-size: 1.4285714286rem;
  }
}

.AboutPeopleModal__role {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 1.4583333333vw;
          margin-block-start: 1.4583333333vw;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__role {
    font-size: 0.9285714286rem;
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
  }
}

/* ----- プロフィール本文 -----
   translate(60, 336) + tspan y=15 → 1行目 baseline y=351 → cap-top ≈ 342
   画像下端 y=276 → 本文 cap-top y=342 = 66 */
.AboutPeopleModal__bio {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 4.5833333333vw;
          margin-block-start: 4.5833333333vw;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__bio {
    font-size: 0.9285714286rem;
    -webkit-margin-before: 4.2857142857rem;
            margin-block-start: 4.2857142857rem;
  }
}

.AboutPeopleModal__bio > p {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

/* ==========================================================================
   Note 領域 (#f1e9e2)
   カンプ実測: 矩形 y=575 から下、見出し baseline y=652、本文先頭 baseline y=712
   ========================================================================== */
.AboutPeopleModal__note {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #f1e9e2;
  -webkit-padding-before: 4.375vw;
          padding-block-start: 4.375vw;
  -webkit-padding-after: 4.5138888889vw;
          padding-block-end: 4.5138888889vw;
  -webkit-padding-start: 4.1666666667vw;
          padding-inline-start: 4.1666666667vw;
  -webkit-padding-end: 4.1666666667vw;
          padding-inline-end: 4.1666666667vw;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__note {
    -webkit-padding-before: 3.7857142857rem;
            padding-block-start: 3.7857142857rem;
    -webkit-padding-after: 7rem;
            padding-block-end: 7rem;
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
  }
}

.AboutPeopleModal__noteTitle {
  color: #363129;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  text-align: center;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__noteTitle {
    font-size: 1.4285714286rem;
  }
}

.AboutPeopleModal__noteText {
  color: #363129;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
  text-box: trim-both cap alphabetic;
  -webkit-margin-before: 3.5416666667vw;
          margin-block-start: 3.5416666667vw;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__noteText {
    font-size: 0.9285714286rem;
    -webkit-margin-before: 3.6428571429rem;
            margin-block-start: 3.6428571429rem;
  }
}

.AboutPeopleModal__noteText > p {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.AboutPeopleModal__noteText > p + p {
  -webkit-margin-before: 1.9444444444vw;
          margin-block-start: 1.9444444444vw;
}
@media only screen and (max-width: 767px) {
  .AboutPeopleModal__noteText > p + p {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}

.Service__SectionLabel--service,
.Service__TabNav,
.Service__HeroHeading,
.Service__HeroLead {
  opacity: 0;
  -webkit-transform: translateY(1.25rem);
          transform: translateY(1.25rem);
  -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.is-loaded .Service__SectionLabel--service {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(0.3s + 0 * 0.12s);
          transition-delay: calc(0.3s + 0 * 0.12s);
}

.is-loaded .Service__TabNav {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(0.3s + 1 * 0.12s);
          transition-delay: calc(0.3s + 1 * 0.12s);
}

.is-loaded .Service__HeroHeading {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(0.3s + 2 * 0.12s);
          transition-delay: calc(0.3s + 2 * 0.12s);
}

.is-loaded .Service__HeroLead {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(0.3s + 3 * 0.12s);
          transition-delay: calc(0.3s + 3 * 0.12s);
}

@media (prefers-reduced-motion: reduce) {
  .Service__SectionLabel--service,
  .Service__TabNav,
  .Service__HeroHeading,
  .Service__HeroLead {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
.Service {
  background-color: #fbf9f4;
  color: #363129;
  -webkit-padding-before: 4.5rem;
          padding-block-start: 4.5rem;
  overflow-x: clip;
}

.Service__SectionLabel {
  font-family: "Bentham", serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Service__SectionLabel--service {
  color: #959089;
  font-size: 1.75rem;
}

.Service__SectionLabel--how {
  color: #363129;
  font-size: 1.75rem;
  white-space: nowrap;
}

.Service__Hero {
  -webkit-padding-before: 5.5rem;
          padding-block-start: 5.5rem;
}

.Service__HeroInner {
  display: grid;
  grid-template-columns: 9.375rem 1fr;
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.Service__HeroBody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-padding-before: 0.125rem;
          padding-block-start: 0.125rem;
}

.Service__TabNav {
  inline-size: 100%;
}

.Service__TabNavList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 4.1875rem;
     -moz-column-gap: 4.1875rem;
          column-gap: 4.1875rem;
  list-style: none;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

.Service__TabNavLink {
  display: inline-block;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #363129;
  text-decoration: none;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}

.Service__TabNavLink:hover {
  opacity: 0.6;
}

.Service__HeroHeading {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #363129;
  -webkit-margin-before: 3.625rem;
          margin-block-start: 3.625rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Service__HeroLead {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #373129;
  -webkit-margin-before: 2.375rem;
          margin-block-start: 2.375rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Service__Blocks {
  -webkit-padding-before: 9.8125rem;
          padding-block-start: 9.8125rem;
}

.Service__BlocksVisual,
.Service__BlocksBody > .Service__Block {
  opacity: 0;
  -webkit-transform: translateY(1.25rem);
          transform: translateY(1.25rem);
  -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.Service__Blocks.is-revealed .Service__BlocksVisual {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(0 * 0.12s);
          transition-delay: calc(0 * 0.12s);
}

.Service__Blocks.is-revealed .Service__BlocksBody > .Service__Block:nth-child(1) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(1 * 0.12s);
          transition-delay: calc(1 * 0.12s);
}

.Service__Blocks.is-revealed .Service__BlocksBody > .Service__Block:nth-child(2) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(2 * 0.12s);
          transition-delay: calc(2 * 0.12s);
}

.Service__Blocks.is-revealed .Service__BlocksBody > .Service__Block:nth-child(3) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(3 * 0.12s);
          transition-delay: calc(3 * 0.12s);
}

.Service__Blocks.is-revealed .Service__BlocksBody > .Service__Block:nth-child(4) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(4 * 0.12s);
          transition-delay: calc(4 * 0.12s);
}
@media only screen and (min-width: 768px) {
  .Service__Blocks.is-revealed .Service__BlocksBody > .Service__Block:nth-child(4) {
    -webkit-padding-after: 15rem;
            padding-block-end: 15rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .Service__BlocksVisual,
  .Service__BlocksBody > .Service__Block {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
.Service__BlocksInner {
  display: grid;
  grid-template-columns: 37.5rem 1fr;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.Service__BlocksVisual {
  inline-size: 37.5rem;
  position: sticky;
  inset-block-start: 10rem;
  -ms-flex-item-align: start;
      align-self: start;
}

.Service__BlocksBody {
  -webkit-padding-before: 0.6875rem;
          padding-block-start: 0.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.Service__Block {
  scroll-margin-block-start: 6.75rem;
}

.Service__Block + .Service__Block {
  -webkit-margin-before: 7.5rem;
          margin-block-start: 7.5rem;
}

.Service__BlockHeading {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #363129;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-padding-after: 1.25rem;
          padding-block-end: 1.25rem;
  -webkit-border-after: 1px solid #000;
          border-block-end: 1px solid #000;
}

.Service__BlockCopy {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #373129;
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Service__BlockDesc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1.75;
  color: #363129;
  -webkit-margin-before: 1.875rem;
          margin-block-start: 1.875rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Service__BlockList {
  list-style: none;
  -webkit-margin-before: 2.125rem;
          margin-block-start: 2.125rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.375rem;
}

.Service__BlockListItem {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #363129;
}

.Service__BlockListEn {
  display: inline;
}

.Service__BlockListJa {
  display: inline;
}

.Service__Bridge {
  position: relative;
  -webkit-padding-before: 7.75rem;
          padding-block-start: 7.75rem;
}

.Service__BridgeInner {
  text-align: center;
}

.Service__BridgeText {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1.75;
  color: #363129;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Service__BridgeArrow {
  display: none;
}

.Service__How {
  position: relative;
  background-color: #fff;
  -webkit-padding-before: 9rem;
          padding-block-start: 9rem;
  -webkit-padding-after: 7.5rem;
          padding-block-end: 7.5rem;
  scroll-margin-block-start: 4.5rem;
  overflow: hidden;
  --how-spike-h: calc(8.8888888889vw * 1 / 3);
}

.Service__How.is-extended {
  --how-spike-h: 8.8888888889vw;
}

.Service__How::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  inline-size: 100vw;
  block-size: var(--how-spike-h);
  background-color: #fbf9f4;
  clip-path: polygon(18.75% 0, 81.25% 0, 50% 100%);
  pointer-events: none;
  -webkit-transition: block-size 700ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: block-size 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
  .Service__How::before {
    -webkit-transition: none;
    transition: none;
  }
}
.Service__How .Service__SectionLabel--how,
.Service__How .Service__Hex,
.Service__How .Service__HowHeading,
.Service__How .Service__HowLead,
.Service__How .Service__HowMore {
  opacity: 0;
  -webkit-transform: translateY(1.25rem);
          transform: translateY(1.25rem);
  -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.Service__How.is-revealed .Service__SectionLabel--how {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(0 * 0.12s);
          transition-delay: calc(0 * 0.12s);
}

.Service__How.is-revealed .Service__Hex {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(1 * 0.12s);
          transition-delay: calc(1 * 0.12s);
}

.Service__How.is-revealed .Service__HowHeading {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(2 * 0.12s);
          transition-delay: calc(2 * 0.12s);
}

.Service__How.is-revealed .Service__HowLead {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(3 * 0.12s);
          transition-delay: calc(3 * 0.12s);
}

.Service__How.is-revealed .Service__HowMore {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: calc(4 * 0.12s);
          transition-delay: calc(4 * 0.12s);
}

@media (prefers-reduced-motion: reduce) {
  .Service__How .Service__SectionLabel--how,
  .Service__How .Service__Hex,
  .Service__How .Service__HowHeading,
  .Service__How .Service__HowLead,
  .Service__How .Service__HowMore {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
.Service__HowInner .Service__SectionLabel--how {
  grid-column: 1;
  grid-row: 1;
}

.Service__HowBody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-margin-before: 5rem;
          margin-block-start: 5rem;
  inline-size: 56.25rem;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
}

.Service__HowMore {
  grid-column: 1/-1;
  grid-row: 2;
  -webkit-margin-before: 7rem;
          margin-block-start: 7rem;
  display: inline-grid;
  grid-template-columns: auto;
  text-decoration: none;
  color: #363129;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}

.Service__HowMoreText {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1;
}

.Service__HowMoreArrow {
  display: block;
  inline-size: 9.375rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.Service__HowMore:hover .Service__HowMoreArrow {
  -webkit-transform: translateX(0.75rem);
          transform: translateX(0.75rem);
}

.Service__HowMoreArrow img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.Service__HowHeading {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #363129;
  -webkit-margin-before: 7.1875rem;
          margin-block-start: 7.1875rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Service__HowLead {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #373129;
  -webkit-margin-before: 2.375rem;
          margin-block-start: 2.375rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Service__Hex {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
  row-gap: 1.25rem;
  list-style: none;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  inline-size: 100%;
}

.Service__HexItem {
  display: contents;
}

.Service__HexShape {
  position: relative;
  grid-row: 1;
  block-size: 7.8125rem;
  inline-size: calc(100% + 3rem);
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  color: #363129;
  -webkit-padding-start: 3.5rem;
          padding-inline-start: 3.5rem;
  -webkit-padding-end: 3.5rem;
          padding-inline-end: 3.5rem;
  -webkit-padding-before: 0.875rem;
          padding-block-start: 0.875rem;
  -webkit-padding-after: 0.875rem;
          padding-block-end: 0.875rem;
  --hex-clip: polygon(0 0, calc(100% - 3rem) 0, 100% 50%, calc(100% - 3rem) 100%, 0 100%, 3rem 50%);
  clip-path: var(--hex-clip);
}

.Service__HexShape::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  block-size: 100%;
  inline-size: calc(100% - 5px);
  background-color: #f4ede6;
  clip-path: var(--hex-clip);
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}

.Service__HexShape.is-active::before {
  background-color: #e2d3c1;
}

.Service__HexItem:nth-child(1) .Service__HexShape,
.Service__HexItem:nth-child(1) .Service__HexNote {
  grid-column: 1;
}

.Service__HexItem:nth-child(2) .Service__HexShape,
.Service__HexItem:nth-child(2) .Service__HexNote {
  grid-column: 2;
}

.Service__HexItem:nth-child(3) .Service__HexShape,
.Service__HexItem:nth-child(3) .Service__HexNote {
  grid-column: 3;
}

.Service__HexItem:nth-child(4) .Service__HexShape,
.Service__HexItem:nth-child(4) .Service__HexNote {
  grid-column: 4;
}

.Service__HexShape--01 {
  --hex-clip: polygon(0 0, calc(100% - 3rem) 0, 100% 50%, calc(100% - 3rem) 100%, 0 100%);
  -webkit-padding-start: 1.5rem;
          padding-inline-start: 1.5rem;
}

.Service__HexShape--04 {
  inline-size: 100%;
  --hex-clip: polygon(0 0, 100% 0, 100% 100%, 0 100%, 3rem 50%);
  -webkit-padding-end: 1.5rem;
          padding-inline-end: 1.5rem;
}

.Service__HexNum {
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #363129;
  -webkit-margin-after: 0.25rem;
          margin-block-end: 0.25rem;
  z-index: 1;
}

.Service__HexLabel {
  display: block;
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #363129;
  z-index: 1;
}

.Service__HexSub {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  line-height: 1.4;
  color: #363129;
  -webkit-margin-before: 0.375rem;
          margin-block-start: 0.375rem;
  white-space: nowrap;
  z-index: 1;
}

.Service__HexNote {
  font-family: "Noto Serif JP", serif;
  grid-row: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #363129;
}

.Service__HexQuote {
  font-weight: 500;
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .Service__HexQuote {
    font-size: 0.9285714286rem;
  }
}

.Service__HexNoteText {
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  line-height: 1;
  -webkit-margin-before: 0.5rem;
          margin-block-start: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .Service__HexNoteText {
    font-size: 0.7857142857rem;
  }
}

@media only screen and (max-width: 767px) {
  .Service {
    -webkit-padding-before: 2.8571428571rem;
            padding-block-start: 2.8571428571rem;
  }
  .Service .Inner {
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
  }
  .Service__SectionLabel--service,
  .Service__SectionLabel--how,
  .Service__HeroHeading,
  .Service__BlockHeading,
  .Service__HowHeading,
  .Service__HowMoreText,
  .Service__HexNum,
  .Service__HexLabel {
    word-break: keep-all;
    overflow-wrap: normal;
  }
  .Service__Hero {
    -webkit-padding-before: 3.3571428571rem;
            padding-block-start: 3.3571428571rem;
    -webkit-padding-before: 5.1428571429rem;
            padding-block-start: 5.1428571429rem;
  }
  .Service__HeroInner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }
  .Service__TabNav {
    display: none;
  }
  .Service__SectionLabel--service,
  .Service__SectionLabel--how {
    font-size: 1.7142857143rem;
    text-align: center;
  }
  .Service__HeroHeading {
    font-size: 1.5714285714rem;
    line-height: 1.3181818182;
    -webkit-margin-before: 4.1428571429rem;
            margin-block-start: 4.1428571429rem;
  }
  .Service__HeroLead {
    font-size: 1.1428571429rem;
    line-height: 1.875;
    -webkit-margin-before: 1.1428571429rem;
            margin-block-start: 1.1428571429rem;
  }
  .Service__HeroLead br,
  .Service__BlockDesc br,
  .Service__HowLead br,
  .Service__BridgeText br {
    display: none;
  }
  .Service__Blocks {
    -webkit-padding-before: 2.6428571429rem;
            padding-block-start: 2.6428571429rem;
  }
  .Service__BlocksVisual,
  .Service__BlocksBody > .Service__Block {
    -webkit-transform: translateY(1.4285714286rem);
            transform: translateY(1.4285714286rem);
  }
  .Service__BlocksInner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3.5714285714rem;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
  .Service .Inner.Service__BlocksInner {
    -webkit-padding-start: unset;
            padding-inline-start: unset;
    -webkit-padding-end: unset;
            padding-inline-end: unset;
  }
  .Service__BlocksVisual {
    inline-size: 26.2142857143rem;
    -webkit-padding-start: 0.8571428571rem;
            padding-inline-start: 0.8571428571rem;
    -webkit-padding-end: 0.8571428571rem;
            padding-inline-end: 0.8571428571rem;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    -webkit-margin-end: auto;
            margin-inline-end: auto;
    position: sticky;
    inset-block-start: 4.0714285714rem;
    -ms-flex-item-align: start;
        align-self: start;
    z-index: 1;
    background-color: #fbf9f4;
    -webkit-box-shadow: 0 -0.8571428571rem 0 0 #fbf9f4;
            box-shadow: 0 -0.8571428571rem 0 0 #fbf9f4;
  }
  .Service__BlocksBody {
    -webkit-padding-before: 0;
            padding-block-start: 0;
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
  }
  .Service__Block {
    position: relative;
    -webkit-padding-before: 1.5rem;
            padding-block-start: 1.5rem;
    scroll-margin-block-start: 29.2857142857rem;
  }
  .Service__Block::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 5.7142857143rem;
    block-size: 1px;
    background-color: #373129;
  }
  .Service__Block + .Service__Block {
    -webkit-margin-before: 4rem;
            margin-block-start: 4rem;
  }
  .Service__BlockHeading {
    font-size: 1.7142857143rem;
    -webkit-padding-after: 0;
            padding-block-end: 0;
    -webkit-border-after: none;
            border-block-end: none;
  }
  .Service__BlockCopy {
    font-size: 1rem;
    line-height: 1.7142857143;
    -webkit-margin-before: 0.7857142857rem;
            margin-block-start: 0.7857142857rem;
  }
  .Service__BlockDesc {
    font-size: 1rem;
    line-height: 1.8571428571;
    -webkit-margin-before: 1.4285714286rem;
            margin-block-start: 1.4285714286rem;
  }
  .Service__BlockList {
    -webkit-margin-before: 1.2142857143rem;
            margin-block-start: 1.2142857143rem;
    row-gap: 0;
  }
  .Service__BlockListItem {
    font-size: 0.9285714286rem;
    line-height: 2.1538461538;
  }
  .Service__BlockListEn,
  .Service__BlockListJa {
    display: inline;
  }
  .Service__Bridge {
    -webkit-padding-before: 3.7857142857rem;
            padding-block-start: 3.7857142857rem;
    -webkit-padding-after: 2.5rem;
            padding-block-end: 2.5rem;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
  .Service__BridgeText {
    font-size: 1rem;
    line-height: 1.8571428571;
    text-align: start;
  }
  .Service__How {
    -webkit-padding-before: 5.3571428571rem;
            padding-block-start: 5.3571428571rem;
    -webkit-padding-after: 7.2142857143rem;
            padding-block-end: 7.2142857143rem;
    scroll-margin-block-start: 4.5714285714rem;
    --how-spike-h: calc(2.4285714286rem * 2 / 3);
  }
  .Service__How.is-extended {
    --how-spike-h: 2.4285714286rem;
  }
  .Service__How .Service__SectionLabel--how,
  .Service__How .Service__Hex,
  .Service__How .Service__HowHeading,
  .Service__How .Service__HowLead,
  .Service__How .Service__HowMore {
    -webkit-transform: translateY(1.4285714286rem);
            transform: translateY(1.4285714286rem);
  }
  .Service__How::before {
    inline-size: 16.8571428571rem;
    background-color: #fbf9f4;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .Service__HowBody {
    -webkit-margin-before: 4.4285714286rem;
            margin-block-start: 4.4285714286rem;
    inline-size: 100%;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-end: 0;
            margin-inline-end: 0;
  }
  .Service__HowHeading {
    font-size: 1.5714285714rem;
    line-height: 1.3181818182;
    -webkit-margin-before: 4.0714285714rem;
            margin-block-start: 4.0714285714rem;
  }
  .Service__HowLead {
    font-size: 1.1428571429rem;
    line-height: 1.625;
    -webkit-margin-before: 1.2857142857rem;
            margin-block-start: 1.2857142857rem;
  }
  .Service__HowMore {
    grid-column: 1;
    -webkit-margin-before: 5.5714285714rem;
            margin-block-start: 5.5714285714rem;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    row-gap: 0.5rem;
  }
  .Service__HowMoreText {
    font-size: 1.1428571429rem;
  }
  .Service__HowMoreArrow {
    inline-size: 10.7142857143rem;
  }
  .Service__Hex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    inline-size: 100%;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-end: 0;
            margin-inline-end: 0;
    list-style: none;
    -webkit-margin-before: 0;
            margin-block-start: 0;
    -webkit-margin-after: 0;
            margin-block-end: 0;
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    position: relative;
    --hex-v: 1.5714285714rem;
    --hex-overlap: 1.3571428571rem;
    row-gap: unset;
  }
  .Service__HexItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    inline-size: 100%;
    grid-column: unset;
    grid-row: unset;
    position: relative;
  }
  .Service__HexItem + .Service__HexItem {
    -webkit-margin-before: calc(var(--hex-overlap) * -1);
            margin-block-start: calc(var(--hex-overlap) * -1);
  }
  .Service__HexItem:nth-child(1) {
    block-size: 8.7142857143rem;
  }
  .Service__HexItem:nth-child(2) {
    block-size: 9.5rem;
  }
  .Service__HexItem:nth-child(3) {
    block-size: 9.5714285714rem;
  }
  .Service__HexItem:nth-child(4) {
    block-size: 9.2857142857rem;
  }
  .Service__HexNote {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 7.8571428571rem;
            flex: 0 0 7.8571428571rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-padding-end: 0.5714285714rem;
            padding-inline-end: 0.5714285714rem;
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    -webkit-margin-before: 0;
            margin-block-start: 0;
    grid-column: unset;
    grid-row: unset;
    position: relative;
  }
  .Service__HexShape {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    inline-size: auto;
    background-color: #f4ede6;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    color: #363129;
    -webkit-padding-start: 1.4285714286rem;
            padding-inline-start: 1.4285714286rem;
    -webkit-padding-end: 1.4285714286rem;
            padding-inline-end: 1.4285714286rem;
    -webkit-padding-before: var(--hex-v);
            padding-block-start: var(--hex-v);
    -webkit-padding-after: var(--hex-v);
            padding-block-end: var(--hex-v);
    block-size: 100%;
    grid-column: unset;
    grid-row: unset;
    --hex-clip: polygon(
      0 0,
      50% var(--hex-v),
      100% 0,
      100% calc(100% - var(--hex-v)),
      50% 100%,
      0 calc(100% - var(--hex-v))
    );
    clip-path: var(--hex-clip);
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
  }
  .Service__HexShape::before {
    content: none;
  }
  .Service__HexItem:first-child .Service__HexShape {
    -webkit-padding-before: 0;
            padding-block-start: 0;
    --hex-clip: polygon(
      0 0,
      100% 0,
      100% calc(100% - var(--hex-v)),
      50% 100%,
      0 calc(100% - var(--hex-v))
    );
  }
  .Service__HexItem:last-child .Service__HexShape {
    -webkit-padding-after: 0;
            padding-block-end: 0;
    --hex-clip: polygon(
      0 0,
      50% var(--hex-v),
      100% 0,
      100% 100%,
      0 100%
    );
  }
  .Service__HexShape.is-active {
    background-color: #e2d3c1;
  }
  .Service__HexShape--01,
  .Service__HexShape--04 {
    -webkit-padding-start: 1.4285714286rem;
            padding-inline-start: 1.4285714286rem;
    -webkit-padding-end: 1.4285714286rem;
            padding-inline-end: 1.4285714286rem;
  }
  .Service__HexNum {
    font-size: 1.4285714286rem;
    line-height: 1;
    -webkit-margin-after: 0.2857142857rem;
            margin-block-end: 0.2857142857rem;
  }
  .Service__HexLabel {
    font-size: 1.4285714286rem;
    line-height: 1;
  }
  .Service__HexSub {
    font-size: 0.9285714286rem;
    line-height: 1;
    -webkit-margin-before: 0.4285714286rem;
            margin-block-start: 0.4285714286rem;
    white-space: nowrap;
  }
  .Service__HexQuote {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.02em;
    line-height: 1;
    color: #363129;
    -webkit-margin-before: 1.7142857143rem;
            margin-block-start: 1.7142857143rem;
  }
  .Service__HexNoteText {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 0.9285714286rem;
    letter-spacing: 0.02em;
    line-height: 1;
    -webkit-margin-before: 0.5714285714rem;
            margin-block-start: 0.5714285714rem;
    color: #363129;
  }
  .Service__HexItem .Service__HexNote::after {
    content: "";
    position: absolute;
    inset-block-end: var(--hex-v);
    inset-inline-end: 0;
    inline-size: 7.8571428571rem;
    block-size: 1.9285714286rem;
    background-color: #f4ede6;
    clip-path: polygon(0 0, 0 0.1428571429rem, 100% 100%, 100% calc(100% - 0.1428571429rem));
    pointer-events: none;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
  }
  .Service__HexItem:last-child .Service__HexNote::after {
    inset-block-end: 0;
  }
  .Service__HexShape.is-active ~ .Service__HexNote::after {
    background-color: #e2d3c1;
  }
}
.Page404BG {
  background-color: #FBF9F4;
}

.Page404Inner {
  -webkit-padding-before: 15.75rem;
          padding-block-start: 15.75rem;
  -webkit-padding-after: 11.25rem;
          padding-block-end: 11.25rem;
}
@media only screen and (max-width: 767px) {
  .Page404Inner {
    -webkit-padding-before: 8.5714285714rem;
            padding-block-start: 8.5714285714rem;
  }
}

.Page404TopText {
  font-family: "Bentham", serif;
  font-size: 2.5rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .Page404TopText {
    font-size: 1.5714285714rem;
  }
}

.Page404MidText,
.Page404BottomText {
  font-size: 0.875rem;
  text-align: center;
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .Page404MidText,
  .Page404BottomText {
    font-size: 0.9285714286rem;
  }
}

.Page404LinkWrap {
  -webkit-margin-before: 7rem;
          margin-block-start: 7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 22.5rem;
     -moz-column-gap: 22.5rem;
          column-gap: 22.5rem;
}
@media only screen and (max-width: 767px) {
  .Page404LinkWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 4.2857142857rem;
  }
}

.Page404Link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 0.75rem;
  font-size: 0.875rem;
}
@media only screen and (max-width: 767px) {
  .Page404Link {
    font-size: 0.9285714286rem;
  }
}

.Page404MailLink img {
  inline-size: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .Page404MailLink img {
    inline-size: 2.8571428571rem;
  }
}

.Page404HomeLink img {
  inline-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .Page404HomeLink img {
    inline-size: 2.2857142857rem;
  }
}

.PrivacyBG {
  background-color: #fbf9f4;
}

.PrivacyInner {
  -webkit-padding-before: 8.75rem;
          padding-block-start: 8.75rem;
  -webkit-padding-after: 10rem;
          padding-block-end: 10rem;
}

.PrivacyTitle {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1.75rem;
  color: #959089;
  letter-spacing: 0.01em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .PrivacyTitle {
    text-align: center;
  }
}

.PrivacyBody {
  -webkit-padding-start: 9.375rem;
          padding-inline-start: 9.375rem;
  -webkit-margin-before: 5rem;
          margin-block-start: 5rem;
}
@media only screen and (max-width: 767px) {
  .PrivacyBody {
    -webkit-padding-start: unset;
            padding-inline-start: unset;
    -webkit-margin-before: 5.7142857143rem;
            margin-block-start: 5.7142857143rem;
  }
}

.PrivacyLead__Heading,
.PrivacyLead__Text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  color: #363129;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
}
@media only screen and (max-width: 767px) {
  .PrivacyLead__Heading,
  .PrivacyLead__Text {
    font-size: 0.9285714286rem;
  }
}

.PrivacyLead__Text {
  -webkit-margin-before: 1.75rem;
          margin-block-start: 1.75rem;
}

.PrivacySection {
  -webkit-margin-before: 3.75rem;
          margin-block-start: 3.75rem;
}

.PrivacySection__Heading {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.25rem;
  color: #373129;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .PrivacySection__Heading {
    font-size: 1.1428571429rem;
  }
}

.PrivacySection__Text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  color: #363129;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
  -webkit-margin-before: 1.25rem;
          margin-block-start: 1.25rem;
}
@media only screen and (max-width: 767px) {
  .PrivacySection__Text {
    font-size: 0.9285714286rem;
  }
}

.PrivacyNumberedList {
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  -webkit-margin-before: 1.75rem;
          margin-block-start: 1.75rem;
}

.PrivacyNumberedList__Group {
  -webkit-margin-before: 1.75rem;
          margin-block-start: 1.75rem;
}

.PrivacyNumberedList__Group:first-child {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}

.PrivacyNumberedList__Label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  color: #363129;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
}

.PrivacyBulletList {
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

.PrivacyBulletList--standalone {
  -webkit-margin-before: 1.75rem;
          margin-block-start: 1.75rem;
}

.PrivacyBulletList__Item {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  color: #363129;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
}

.PrivacyLink {
  color: inherit;
  text-decoration: underline;
}

.PrivacyEnactment {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  color: #363129;
  letter-spacing: 0.01em;
  line-height: 2.1538461538;
  -webkit-margin-before: 4rem;
          margin-block-start: 4rem;
}

.Projects {
  background-color: #E8E8E8;
  color: #363129;
  -webkit-padding-before: 7.5rem;
          padding-block-start: 7.5rem;
  -webkit-padding-after: 7.5rem;
          padding-block-end: 7.5rem;
  overflow-x: clip;
}
@media only screen and (max-width: 767px) {
  .Projects {
    -webkit-padding-before: 2.8571428571rem;
            padding-block-start: 2.8571428571rem;
    -webkit-padding-after: 4.2857142857rem;
            padding-block-end: 4.2857142857rem;
  }
}

.Projects__HeroInner {
  -webkit-padding-before: 2.25rem;
          padding-block-start: 2.25rem;
}
@media only screen and (max-width: 767px) {
  .Projects__HeroInner {
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
    margin-bottom: 2.8571428571rem;
    margin-top: 4.2857142857rem;
    -webkit-padding-before: 0.5714285714rem;
            padding-block-start: 0.5714285714rem;
  }
}

.Projects__SectionLabel {
  font-family: "Bentham", serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Projects__HeroHeading {
  font-size: 2rem;
  margin-bottom: 0.75rem;
  font-family: "Bentham", serif;
}
@media only screen and (max-width: 767px) {
  .Projects__HeroHeading {
    font-size: 1.5714285714rem;
    margin-bottom: 0.4285714286rem;
    text-align: left;
    width: 22.2142857143rem;
    margin-inline: auto;
    word-break: keep-all;
    overflow-wrap: normal;
  }
}

.Projects__SectionLabel--Projects {
  color: #959089;
  font-size: 1.75rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .Projects__SectionLabel--Projects {
    font-size: 1.7142857143rem;
    margin-bottom: 3.2857142857rem;
    text-align: center;
  }
}

.Projects__HeroBody {
  -webkit-padding-start: 9.25rem;
          padding-inline-start: 9.25rem;
}
@media only screen and (max-width: 767px) {
  .Projects__HeroBody {
    -webkit-padding-start: unset;
            padding-inline-start: unset;
  }
}

.Projects__HeroLead {
  font-size: 1.25rem;
  line-height: 1.7;
  margin-bottom: 8.125rem;
}
@media only screen and (max-width: 767px) {
  .Projects__HeroLead {
    font-size: 1.1428571429rem;
    margin-bottom: 4.2857142857rem;
  }
}

.Projects__SectionLabel,
.Projects__HeroHeading,
.Projects__HeroLead {
  opacity: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

/* 表示時 */
.Projects__SectionLabel.is-show,
.Projects__HeroHeading.is-show,
.Projects__HeroLead.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* 少し遅延 */
.Projects__HeroHeading {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}

.Projects__HeroLead {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.ProjectsFilter {
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .ProjectsFilter {
    margin-bottom: 2.8571428571rem;
  }
}

.ProjectsFilter__btn {
  position: relative;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  border: none;
  background: transparent;
  margin-right: 1.25rem;
  padding-bottom: 0.25rem;
}
@media only screen and (max-width: 767px) {
  .ProjectsFilter__btn {
    font-size: 1rem;
    margin-right: 1.4285714286rem;
  }
}

/* 線 */
.ProjectsFilter__btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.0625rem;
  background-color: #363129;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  /* 消える時 */
  -webkit-transform-origin: right center;
          transform-origin: right center;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

/* hover */
.ProjectsFilter__btn:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  /* 出る時 */
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.ProjectsFilterSP {
  position: relative;
  margin-bottom: 2.8571428571rem;
  font-family: "Noto Sans JP", sans-serif;
}

.ProjectsFilterSP__head {
  width: 100%;
  padding-block: 0.3571428571rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: none;
  position: relative;
}

.ProjectsFilterSP__head:after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 0.0714285714rem;
  background-color: #959089;
}

.ProjectsFilterSP__body {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #f3f1ee;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1.7142857143rem;
  padding-right: 1.7142857143rem;
  -webkit-transition: max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease, padding 0.4s ease, -webkit-transform 0.4s ease;
  transition: max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease, padding 0.4s ease, -webkit-transform 0.4s ease;
  transition: max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease, transform 0.4s ease, padding 0.4s ease;
  transition: max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease, transform 0.4s ease, padding 0.4s ease, -webkit-transform 0.4s ease;
  z-index: 10;
}

.ProjectsFilterSP__body.is-open {
  max-height: 600px;
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  padding-top: 1.7142857143rem;
  padding-bottom: 1.7142857143rem;
}

.ProjectsFilterSP__item {
  display: block;
  margin-bottom: 20px;
  border: none;
}

.ProjectsFilterSP__arrow {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid #333;
  display: inline-block;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.ProjectsFilterSP__head.is-open .ProjectsFilterSP__arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.ProjectsGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.125rem 2.5rem;
}
@media only screen and (max-width: 767px) {
  .ProjectsGrid {
    grid-template-columns: 1fr;
    gap: 3.5714285714rem 2.8571428571rem;
  }
}

.ProjectsCard__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.ProjectsCard__thumbnail {
  width: 23.75rem;
  height: 26.25rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .ProjectsCard__thumbnail {
    width: 22.2142857143rem;
    height: 24.5714285714rem;
  }
}

.ProjectsCard__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}

.ProjectsCard__link:hover .ProjectsCard__thumbnail img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.ProjectsCard__title {
  margin-top: 1.5rem;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .ProjectsCard__title {
    margin-top: 1.7142857143rem;
    font-size: 1.7142857143rem;
    word-break: keep-all;
    overflow-wrap: normal;
  }
}

.ProjectsCard__info {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .ProjectsCard__info {
    margin-top: 1.1428571429rem;
    font-size: 1.1428571429rem;
  }
}

.ProjectsCard__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
  margin-top: 1rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .ProjectsCard__tags {
    margin-top: 1.1428571429rem;
    gap: 0.1428571429rem;
  }
}

.ProjectsCard__tag {
  font-size: 0.8125rem;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .ProjectsCard__tag {
    font-size: 0.9285714286rem;
  }
}

@media only screen and (max-width: 767px) {
  .ProjectsCard.is-hidden-sp {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .ProjectsCard.is-hidden-sp.is-show {
    display: block;
  }
}

/* =========================================
Projects Card Animation
========================================= */
.ProjectsCard {
  opacity: 0;
  -webkit-transform: translateY(2.5rem);
          transform: translateY(2.5rem);
  -webkit-transition: opacity 0.9s ease, -webkit-transform 0.9s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 0.9s ease, -webkit-transform 0.9s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.9s cubic-bezier(0.25, 1, 0.5, 1);
}
@media only screen and (max-width: 767px) {
  .ProjectsCard {
    -webkit-transform: translateY(5.7142857143rem) scale(0.96);
            transform: translateY(5.7142857143rem) scale(0.96);
    -webkit-transition: opacity 0.7s ease, -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    transition: opacity 0.7s ease, -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    transition: opacity 0.7s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    transition: opacity 0.7s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  }
}

.ProjectsCard.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.ProjectsCard__title {
  opacity: 0;
  -webkit-transform: translateX(-1.25rem);
          transform: translateX(-1.25rem);
  -webkit-transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, -webkit-transform 0.7s ease;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
@media only screen and (max-width: 767px) {
  .ProjectsCard__title {
    -webkit-transform: translateX(-2.8571428571rem);
            transform: translateX(-2.8571428571rem);
    -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
    transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
    transition: opacity 0.5s ease, transform 0.5s ease;
    transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease;
    -webkit-transition-delay: 0.15s;
            transition-delay: 0.15s;
  }
}

.ProjectsCard.is-show .ProjectsCard__title {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  word-break: keep-all;
  overflow-wrap: break-word;
  font-family: "Bentham", serif;
}

.ProjectsCard__tag {
  opacity: 0;
  -webkit-transform: translateX(-1.25rem);
          transform: translateX(-1.25rem);
  -webkit-transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, -webkit-transform 0.7s ease;
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}
@media only screen and (max-width: 767px) {
  .ProjectsCard__tag {
    -webkit-transform: translateX(-2.8571428571rem);
            transform: translateX(-2.8571428571rem);
    -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
    transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
    transition: opacity 0.5s ease, transform 0.5s ease;
    transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease;
    -webkit-transition-delay: 0.25s;
            transition-delay: 0.25s;
  }
}

.ProjectsCard.is-show .ProjectsCard__tag {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.ProjectSP__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  padding-bottom: 0.7142857143rem;
  cursor: pointer;
  margin-bottom: 4.2857142857rem;
}

.ProjectSP__moreLabel {
  font-size: 1.1428571429rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  letter-spacing: 0.04em;
}

/* 下線 */
.ProjectSP__more::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.0714285714rem;
  background-color: #333;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

/* hover */
.ProjectSP__more:hover::after {
  -webkit-transform: scaleX(0.7);
          transform: scaleX(0.7);
}

@media only screen and (max-width: 767px) {
  .ProjectSingle__moreMargin {
    margin-top: 4.2857142857rem;
  }
}

.ProjectSingle {
  padding-top: 10rem;
  background-color: #F1E9E2;
  color: #363129;
}
@media only screen and (max-width: 767px) {
  .ProjectSingle {
    padding-top: 1.4285714286rem;
  }
}

@media only screen and (max-width: 767px) {
  .ProjectSingleInner {
    padding-inline: 1.1428571429rem;
    padding-bottom: 3.1428571429rem;
    margin-top: 4.2857142857rem;
  }
}

/* ----------------------------
Hero
----------------------------- */
.ProjectSingleHero__label-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleHero__label-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 1.4285714286rem;
  }
}

.ProjectSingleHero__label {
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  color: #959089;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleHero__label {
    font-size: 1.1428571429rem;
  }
}

.ProjectSingleHero__title {
  margin-top: 5rem;
  margin-bottom: 2.5625rem;
  font-size: 2rem;
  line-height: 1.1;
  font-family: "Bentham", serif;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleHero__title {
    margin-top: 1.4285714286rem;
    margin-bottom: 1.4285714286rem;
    font-size: 1.7142857143rem;
    padding-inline: 1.4285714286rem;
  }
}

.ProjectSingleHero_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleHero_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.ProjectSingleHero__left {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ProjectSingleHero__right {
  width: 37.5rem;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleHero__right {
    width: 100%;
  }
}

.ProjectSingleHero__info {
  font-size: 0.875rem;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleHero__info {
    font-size: 1rem;
    margin-bottom: 3.9285714286rem;
    padding-inline: 1.4285714286rem;
    position: relative;
  }
}

@media only screen and (max-width: 767px) {
  .ProjectSingleHero__info:after {
    position: absolute;
    top: 3.5714285714rem;
    left: 1.4285714286rem;
    content: "";
    width: 5.7142857143rem;
    height: 0.0714285714rem;
    background-color: #373129;
  }
}

.ProjectSingleHero__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleHero__tags {
    gap: 0.5714285714rem;
    margin-top: unset;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.ProjectSingleHero__tag {
  font-size: 0.875rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleHero__tag {
    font-size: 0.9285714286rem;
    padding-inline: 1.4285714286rem;
  }
}

.ProjectSingleHero__text {
  font-size: 0.8125rem;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleHero__text {
    font-size: 0.9285714286rem;
    margin-top: 4.2857142857rem;
    padding-inline: 1.4285714286rem;
    margin-bottom: 2.8571428571rem;
  }
}

/* ----------------------------
Info
----------------------------- */
.ProjectSingleInfo {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleInfo {
    grid-template-columns: 1fr;
    gap: 2.5714285714rem;
    margin-top: 2.8571428571rem;
  }
}

@media only screen and (max-width: 767px) {
  .ProjectSingleInfo__item {
    padding-inline: 1.4285714286rem;
    position: relative;
  }
}

@media only screen and (max-width: 767px) {
  .ProjectSingleInfo__item:before {
    padding-inline: 1.4285714286rem;
    position: absolute;
    top: -1.5714285714rem;
    left: 1.4285714286rem;
    content: "";
    background-color: #373129;
    width: 2.2857142857rem;
    height: 0.0714285714rem;
  }
}

.ProjectSingleInfo__heading {
  font-size: 1.125rem;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleInfo__heading {
    font-size: 1.1428571429rem;
  }
}

.ProjectSingleInfo__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-top: 1.25rem;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleInfo__list {
    gap: 1.1428571429rem;
    margin-top: 1.4285714286rem;
    margin-bottom: 2.2857142857rem;
  }
}

.ProjectSingleInfo__text {
  position: relative;
  padding-left: 1.125rem;
  font-size: 0.8125rem;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleInfo__text {
    padding-left: 1.2857142857rem;
    font-size: 0.9285714286rem;
  }
}

.ProjectSingleInfo__text::before {
  content: "";
  position: absolute;
  top: 0.1875rem;
  left: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleInfo__text::before {
    top: 0.2142857143rem;
    width: 0.8571428571rem;
    height: 0.8571428571rem;
  }
}

/* ----------------------------
Main Image
----------------------------- */
.ProjectSingle__mainImg {
  margin-top: 7.5rem;
  width: 75rem;
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .ProjectSingle__mainImg {
    margin-top: 4.2857142857rem;
    width: 24.5rem;
  }
}

.ProjectSingle__mainImg img {
  width: 100%;
  display: block;
}

/* ----------------------------
Media
----------------------------- */
.ProjectSingleMedia {
  margin-top: 1.875rem;
  width: 75rem;
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleMedia {
    margin-top: 2.1428571429rem;
    width: 24.5rem;
  }
}

.ProjectSingleMedia__video,
.ProjectSingleMedia__1col {
  margin-top: 1.875rem;
  width: 75rem;
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleMedia__video,
  .ProjectSingleMedia__1col {
    margin-top: 0.5714285714rem;
    width: 24.5rem;
  }
}

.ProjectSingleMedia__video video,
.ProjectSingleMedia__1col img,
.ProjectSingleMedia__col img {
  width: 100%;
  display: block;
}

.ProjectSingleMedia__2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.875rem;
  margin-top: 1.875rem;
  width: 75rem;
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleMedia__2col {
    gap: 0.5714285714rem;
    margin-top: 0.5714285714rem;
    width: 24.5rem;
  }
}

.ProjectSingleMedia__col {
  width: 36.5625rem;
  height: 45rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleMedia__col {
    width: 11.9285714286rem;
    height: 14.7857142857rem;
  }
}

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

/* ----------------------------
Related
----------------------------- */
.ProjectRelated {
  margin-top: 9.375rem;
  background-color: #E8E8E8;
}
@media only screen and (max-width: 767px) {
  .ProjectRelated {
    margin-top: 4rem;
  }
}

.ProjectSingleBottomInner {
  max-width: 1260px;
  -webkit-padding-start: 1.875rem;
          padding-inline-start: 1.875rem;
  -webkit-padding-end: 1.875rem;
          padding-inline-end: 1.875rem;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
  padding-top: 3.125rem;
  padding-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  .ProjectSingleBottomInner {
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
    padding-top: 3.5714285714rem;
    padding-bottom: 3.5714285714rem;
  }
}

.ProjectRelated__title-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 0.3125rem;
     -moz-column-gap: 0.3125rem;
          column-gap: 0.3125rem;
  margin-bottom: 3.125rem;
}
@media only screen and (max-width: 767px) {
  .ProjectRelated__title-flex {
    -webkit-column-gap: 0.3571428571rem;
       -moz-column-gap: 0.3571428571rem;
            column-gap: 0.3571428571rem;
    margin-bottom: 3.5714285714rem;
  }
}

.ProjectRelated__ArrowSvg {
  display: block;
  width: 5rem;
  -webkit-transform: translateY(-0.5rem);
          transform: translateY(-0.5rem);
}
@media only screen and (max-width: 767px) {
  .ProjectRelated__ArrowSvg {
    width: 10.7142857143rem;
    -webkit-transform: translate(-6.4285714286rem, 0.4285714286rem);
            transform: translate(-6.4285714286rem, 0.4285714286rem);
  }
}

.ProjectRelated__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  margin-bottom: 3.75rem;
}
@media only screen and (max-width: 767px) {
  .ProjectRelated__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2rem;
    margin-bottom: 4.2857142857rem;
  }
}

.ProjectRelated__title {
  font-size: 1.75rem;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .ProjectRelated__title {
    font-size: 1.1428571429rem;
    white-space: nowrap;
  }
}

.ProjectRelated__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .ProjectRelated__category {
    gap: unset;
    font-size: 0.9285714286rem;
    -webkit-transform: translate(-6.4285714286rem, 0.7857142857rem);
            transform: translate(-6.4285714286rem, 0.7857142857rem);
    white-space: nowrap;
  }
}

/* ----------------------------
Projects Grid
----------------------------- */
.ProjectsSingleGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.125rem 2.5rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  .ProjectsSingleGrid {
    grid-template-columns: 1fr;
    gap: 3.5714285714rem 2.8571428571rem;
  }
}

/* ----------------------------
Projects Card
----------------------------- */
.ProjectsSingleCard__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.ProjectsSingleCard__thumbnail {
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #f3f3f3;
}

.ProjectsSingleCard__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}

.ProjectsSingleCard__link:hover .ProjectsSingleCard__thumbnail img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.ProjectsSingleCard__title {
  margin-top: 1.5rem;
  font-size: 1.5rem;
  line-height: 1.2;
  word-break: keep-all;
  overflow-wrap: break-word;
}
@media only screen and (max-width: 767px) {
  .ProjectsSingleCard__title {
    margin-top: 1.7142857143rem;
    font-size: 1.7142857143rem;
  }
}

.ProjectsSingleCard__info {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .ProjectsSingleCard__info {
    margin-top: 1.1428571429rem;
    font-size: 1.1428571429rem;
  }
}

.ProjectsSingleCard__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
  margin-top: 1rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .ProjectsSingleCard__tags {
    margin-top: 1.1428571429rem;
    gap: 0.1428571429rem;
  }
}

.ProjectsSingleCard__tag {
  font-size: 0.8125rem;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .ProjectsSingleCard__tag {
    font-size: 0.9285714286rem;
  }
}

/* ----------------------------
Bottom Link
----------------------------- */
.ProjectRelated__bottom {
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  .ProjectRelated__bottom {
    margin-top: 5.7142857143rem;
  }
}

.ProjectRelated__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-size: 1rem;
  line-height: 1.5;
  color: inherit;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .ProjectRelated__link {
    gap: 1.1428571429rem;
    font-size: 1.1428571429rem;
  }
}

.ProjectRelated__link span {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.ProjectRelated__link:hover span {
  -webkit-transform: translateX(0.25rem);
          transform: translateX(0.25rem);
}
@media only screen and (max-width: 767px) {
  .ProjectRelated__link:hover span {
    -webkit-transform: translateX(0.2857142857rem);
            transform: translateX(0.2857142857rem);
  }
}

.ProjectSingle__more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #363129;
  text-decoration: none;
}
.ProjectSingle__moreLabel {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
@media only screen and (max-width: 767px) {
  .ProjectSingle__moreLabel {
    font-size: 1.1428571429rem;
  }
}

.ProjectSingle__moreArrow {
  display: block;
  inline-size: 9.375rem;
}
@media only screen and (max-width: 767px) {
  .ProjectSingle__moreArrow {
    inline-size: 10.7142857143rem;
  }
}

.ProjectSingle__moreArrowSvg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.ProjectSingle__more:hover .ProjectSingle__moreArrowSvg {
  -webkit-transform: translateX(0.75rem);
          transform: translateX(0.75rem);
}

.js-fade {
  opacity: 0;
  -webkit-transform: translateY(1.875rem);
          transform: translateY(1.875rem);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-transform 0.8s ease;
}
@media only screen and (max-width: 767px) {
  .js-fade {
    -webkit-transform: translateY(2.1428571429rem);
            transform: translateY(2.1428571429rem);
  }
}

.js-fade.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.Thanks {
  background-color: #fbf9f4;
  color: #363129;
  -webkit-padding-before: 6.25rem;
          padding-block-start: 6.25rem;
  -webkit-padding-after: 5rem;
          padding-block-end: 5rem;
  overflow-x: clip;
}
@media only screen and (max-width: 767px) {
  .Thanks {
    -webkit-padding-before: 2.8571428571rem;
            padding-block-start: 2.8571428571rem;
    -webkit-padding-after: 4.2857142857rem;
            padding-block-end: 4.2857142857rem;
  }
}

@media only screen and (max-width: 767px) {
  .Thanks__HeroInner {
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
    margin-bottom: 2.8571428571rem;
  }
}

.Thanks__HeroHeading {
  font-size: 2.5rem;
  margin-bottom: 2.5rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .Thanks__HeroHeading {
    font-size: 1.5714285714rem;
    margin-bottom: 1.4285714286rem;
    width: 22.2142857143rem;
    margin-inline: auto;
    word-break: keep-all;
    overflow-wrap: normal;
  }
}

.Thanks__HeroLead {
  font-size: 0.8125rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  margin-bottom: 4.5rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .Thanks__HeroLead {
    font-size: 0.9285714286rem;
    margin-bottom: 4.2857142857rem;
    text-align: left;
  }
}

.Thanks__HeroHeading02 {
  font-size: 2rem;
  margin-bottom: 1.25rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .Thanks__HeroHeading02 {
    font-size: 1.5714285714rem;
    margin-bottom: 1.4285714286rem;
    width: 22.2142857143rem;
    margin-inline: auto;
    word-break: keep-all;
    overflow-wrap: normal;
  }
}

.Thanks__HeroLead02 {
  font-size: 0.8125rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .Thanks__HeroLead02 {
    font-size: 0.9285714286rem;
    margin-bottom: 4.2857142857rem;
    text-align: left;
  }
}

.Thanks__HeroHeading02-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 20rem;
     -moz-column-gap: 20rem;
          column-gap: 20rem;
}
@media only screen and (max-width: 767px) {
  .Thanks__HeroHeading02-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: unset;
       -moz-column-gap: unset;
            column-gap: unset;
  }
}

.Thanks__HeroMore {
  display: block;
  width: 9.375rem;
  margin-inline: auto;
  margin-top: 1.25rem;
  line-height: 0.5;
}
@media only screen and (max-width: 767px) {
  .Thanks__HeroMore {
    width: unset;
    margin-inline: unset;
    margin-top: 1.4285714286rem;
  }
}

.Contact {
  background-color: #fbf9f4;
  color: #363129;
  -webkit-padding-before: 7.5rem;
          padding-block-start: 7.5rem;
  -webkit-padding-after: 7.5rem;
          padding-block-end: 7.5rem;
  overflow-x: clip;
}
@media only screen and (max-width: 767px) {
  .Contact {
    -webkit-padding-before: 2.8571428571rem;
            padding-block-start: 2.8571428571rem;
    -webkit-padding-after: 2.8571428571rem;
            padding-block-end: 2.8571428571rem;
  }
}

.Contact__HeroInner {
  -webkit-padding-before: 2.25rem;
          padding-block-start: 2.25rem;
}
@media only screen and (max-width: 767px) {
  .Contact__HeroInner {
    -webkit-padding-start: 2.2857142857rem;
            padding-inline-start: 2.2857142857rem;
    -webkit-padding-end: 2.2857142857rem;
            padding-inline-end: 2.2857142857rem;
    margin-bottom: 2.8571428571rem;
    margin-top: 5.7142857143rem;
    -webkit-padding-before: 0rem;
            padding-block-start: 0rem;
  }
}

.Contact__SectionLabel {
  font-family: "Bentham", serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.Contact__HeroHeading {
  font-size: 2rem;
  margin-bottom: 2.25rem;
  margin-top: 2.75rem;
  font-family: "Bentham", serif;
}
@media only screen and (max-width: 767px) {
  .Contact__HeroHeading {
    font-size: 1.5714285714rem;
    margin-bottom: 1.7142857143rem;
    text-align: left;
    width: 22.2142857143rem;
    margin-inline: auto;
    word-break: keep-all;
    overflow-wrap: normal;
  }
}

.Contact__SectionLabel--Contact {
  color: #959089;
  font-size: 1.75rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .Contact__SectionLabel--Contact {
    font-size: 1.7142857143rem;
    margin-bottom: 4.2857142857rem;
    text-align: center;
  }
}

.Contact__HeroBody {
  -webkit-padding-start: 9.25rem;
          padding-inline-start: 9.25rem;
}
@media only screen and (max-width: 767px) {
  .Contact__HeroBody {
    -webkit-padding-start: unset;
            padding-inline-start: unset;
  }
}

.Contact__HeroLead {
  font-size: 1.25rem;
  line-height: 1.7;
  margin-bottom: 4.5rem;
}
@media only screen and (max-width: 767px) {
  .Contact__HeroLead {
    font-size: 1.1428571429rem;
    margin-bottom: 2.2857142857rem;
  }
}

.Contact__HeroLead02 {
  font-size: 0.8125rem;
  margin-bottom: 6.625rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .Contact__HeroLead02 {
    font-size: 0.9285714286rem;
    margin-bottom: 3.7142857143rem;
    line-height: 2;
  }
}

.Contact__HeroLead03 {
  font-size: 0.625rem;
  margin-bottom: 2.5rem;
  -webkit-padding-start: 9.25rem;
          padding-inline-start: 9.25rem;
}
@media only screen and (max-width: 767px) {
  .Contact__HeroLead03 {
    font-size: 0.7142857143rem;
    margin-bottom: 3.7142857143rem;
    -webkit-padding-start: unset;
            padding-inline-start: unset;
  }
}

.ContactForm {
  width: 100%;
  max-width: 56.25rem;
  margin-inline: auto;
  font-family: inherit;
  color: #363129;
}
@media only screen and (max-width: 767px) {
  .ContactForm {
    max-width: unset;
  }
}

.ContactForm__row {
  display: grid;
  grid-template-columns: 11.25rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 0.0625rem solid #363129;
  margin-bottom: 3.75rem;
}
@media only screen and (max-width: 767px) {
  .ContactForm__row {
    grid-template-columns: 8.5714285714rem 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: 0.0714285714rem solid #363129;
    margin-bottom: 3.7142857143rem;
  }
}

.ContactForm__row--textarea {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  min-height: 14.5rem;
  border-bottom: unset;
}
@media only screen and (max-width: 767px) {
  .ContactForm__row--textarea {
    display: block;
    min-height: 16.5714285714rem;
  }
}

@media only screen and (max-width: 767px) {
  .ContactForm__label--textarea {
    display: block;
    margin-bottom: 0.8571428571rem;
  }
}

.ContactForm__label {
  font-size: 0.8125rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .ContactForm__label {
    font-size: 0.9285714286rem;
  }
}

.ContactForm__input,
.ContactForm__textarea {
  width: 100%;
  border: none;
  background: transparent;
  font-size: 0.8125rem;
  outline: none;
  padding: 0.75rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-family: "Noto Sans JP", sans-serif;
  background: transparent;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #363129;
}
@media only screen and (max-width: 767px) {
  .ContactForm__input,
  .ContactForm__textarea {
    font-size: 0.9285714286rem;
    padding: 12, 14;
  }
}

/* クリック時 */
.ContactForm input:focus,
.ContactForm textarea:focus {
  border: none !important;
  outline: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  color: #363129 !important;
}

.ContactForm input:focus {
  background-color: transparent !important;
}

/* 自動入力時の背景色等クリア */
.ContactForm input:-webkit-autofill,
.ContactForm input:-webkit-autofill:hover,
.ContactForm input:-webkit-autofill:focus,
.ContactForm textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-text-fill-color: #363129 !important;
  -webkit-transition: background-color 9999s ease-in-out 0s;
  transition: background-color 9999s ease-in-out 0s;
}

.ContactForm__textarea {
  min-height: 14.5rem;
  resize: vertical;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .ContactForm__textarea {
    min-height: 16.5714285714rem;
  }
}

.ContactForm__submitArea {
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  .ContactForm__submitArea {
    margin-top: 5.7142857143rem;
  }
}

.ContactForm__submitButton {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #363129;
  cursor: pointer;
}

.ContactForm__submitLabel {
  font-family: "Bentham", serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1;
  pointer-events: none;
}

.ContactForm__submitArrow {
  display: block;
  inline-size: 9.375rem;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .ContactForm__submitArrow {
    inline-size: 10.7142857143rem;
  }
}

.ContactForm__submitArrowSvg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.ContactForm__submitButton:hover .ContactForm__submitArrowSvg {
  -webkit-transform: translateX(0.75rem);
          transform: translateX(0.75rem);
}

/* CF7の実ボタンを全面クリック領域にする */
.ContactForm__submit {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  background: transparent;
  color: transparent;
  font-size: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  z-index: 2;
}

.ContactForm__submit:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.wpcf7-response-output {
  display: none !important;
}

.wpcf7-not-valid-tip {
  font-size: 0.75rem;
  font-family: "$font-noto-sans";
}
@media only screen and (max-width: 767px) {
  .wpcf7-not-valid-tip {
    font-size: 0.8571428571rem;
  }
}

.Contact__SectionLabel--Contact,
.Contact__HeroHeading,
.Contact__HeroLead,
.Contact__HeroLead02,
.Contact__HeroLead03,
.ContactForm {
  opacity: 0;
  -webkit-animation: fadeIn 0.8s ease forwards;
          animation: fadeIn 0.8s ease forwards;
}

.Contact__HeroHeading {
  -webkit-animation-delay: 0.15s;
          animation-delay: 0.15s;
}

.Contact__HeroLead {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.Contact__HeroLead02 {
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
}

.Contact__HeroLead03 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.ContactForm {
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}/*# sourceMappingURL=style__yd.css.map */