@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 16px;
}
@media screen and (max-width: 1440px) {
  html {
    font-size: 1.1111111111vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 4.2666666667vw;
  }
}

* {
  font-family: "Zen Kaku Gothic New", serif, sans-serif;
  color: #222;
  letter-spacing: 0;
}

.grecaptcha-badge {
  visibility: hidden;
}

.sp-show {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-show {
    display: block;
  }
}

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

body {
  font-family: "Zen Kaku Gothic New", sans-serif, serif;
  background-color: #fff;
  overflow-y: auto;
  overflow-x: hidden;
}

body.is-fixed {
  position: fixed;
  left: 0;
  width: 100%;
}

main {
  margin-top: 5.125rem;
}
@media screen and (max-width: 768px) {
  main {
    margin-top: 3.875rem;
  }
}

main.top {
  margin-top: 0;
}

a[href^="tel:"] {
  pointer-events: auto;
}
@media screen and (min-width: 1024px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

a:hover {
  cursor: pointer;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

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

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

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

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

a {
  text-decoration: none;
}

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

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

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

/* Blur images when they have no alt attribute */
img:not([alt]) {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.footer {
  background-color: #222222;
  padding: 6.125rem 0;
  position: relative;
}

.footer::before {
  content: "";
  background-image: url(../images/common/footer-bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.3;
}
@media screen and (max-width: 768px) {
  .footer::before {
    background-image: url(../images/common/footer-bg-sp.png);
  }
}

.footer__inner {
  max-width: 1366px;
  margin-inline: auto;
}

.footer__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 8.1875rem;
     -moz-column-gap: 8.1875rem;
          column-gap: 8.1875rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .footer__wrap {
    -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;
  }
}

@media screen and (max-width: 768px) {
  .footer__left-t {
    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;
  }
}

.footer__logo {
  width: 16.2505625rem;
}
@media screen and (max-width: 768px) {
  .footer__logo {
    width: 11.25rem;
  }
}

.footer__logo-sub,
.footer__logo-sub span {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4375;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer__logo-sub,
  .footer__logo-sub span {
    font-size: 0.6875rem;
  }
}

.footer__logo-sub {
  position: relative;
}

.footer__logo-sub::before {
  content: "";
  background-image: url(../images/common/logo-sub.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 16.25rem;
  height: 2.0833125rem;
  position: absolute;
  top: 73%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .footer__logo-sub::before {
    top: 85%;
    width: 11.25rem;
    height: 1.75rem;
    background-size: contain;
  }
}

.footer__logo-sub span {
  display: inline-block;
  letter-spacing: -0.3em;
  margin-top: 1.235rem;
}
@media screen and (max-width: 768px) {
  .footer__logo-sub span {
    margin-top: 2.25rem;
  }
}

.footer__left-b01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 3.831875rem;
     -moz-column-gap: 3.831875rem;
          column-gap: 3.831875rem;
  margin-top: 2.208125rem;
  text-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .footer__left-b01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 0.625rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 0 3.125rem;
    margin-top: 1.25rem;
  }
}

.footer__left-office a {
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  padding-right: 1.125rem;
  text-transform: uppercase;
  position: relative;
}

.footer__left-office a::before {
  content: "";
  background-image: url(../images/common/arrow-w.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}

.footer__left-b02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .footer__left-b02 {
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
  }
}

@media screen and (max-width: 768px) {
  .footer__left-b02.pc {
    display: none;
  }
}

.footer__left-b02.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .footer__left-b02.sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin-top: 2.5rem;
  }
}

.footer__copyright {
  color: #ffffff;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  margin-top: 1.875rem;
  position: relative;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    margin-top: 0.625rem;
    text-align: center;
    font-size: 0.875rem;
  }
}

.footer__left-link a {
  color: #9FA0A0;
  font-size: 0.75rem;
  font-weight: 500;
}

.footer__right-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
  text-wrap: nowrap;
}

@media screen and (max-width: 768px) {
  .footer__right01 {
    display: none;
  }
}

.footer__nav-items {
  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.625rem;
}

.footer__nav-item a {
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: capitalize;
}

.footer__nav-item--parent {
  position: relative;
}

.footer__child-nav {
  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: 0.625rem;
  margin-top: 0.625rem;
  padding-left: 0.875rem;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
}

.footer__child-item a {
  color: #c8c8c8;
  font-size: 0.8125rem;
  font-weight: 500;
  display: block;
  transition: color 0.25s ease;
}

.footer__child-item a:hover {
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .footer__right02 {
    display: none;
  }
}

.footer__right03 {
  -ms-flex-item-align: end;
      align-self: flex-end;
}

@media screen and (max-width: 768px) {
  .footer__right03 {
    margin-top: 1.25rem;
    -ms-flex-item-align: center;
        align-self: center;
  }
}

.docs__btn {
  margin-bottom: 1.25rem;
}

.btn-surround-docs {
  display: inline-block;
  text-decoration: none;
  font-weight: 700;
  background-color: #ffffff;
  text-align: center;
  width: 13.75rem;
  padding: 1rem;
  border: 1px solid #AA7421;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 1024px) {
  .btn-surround-docs {
    min-width: 160px;
    width: 12.5rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-surround-docs {
    min-width: 200px;
    padding: 12px 16px;
  }
}

.btn-surround-docs,
.btn-surround-docs span {
  color: #AA7421;
}

.btn-surround-docs:hover {
  background-color: #AA7421;
}

.btn-surround-docs:hover,
.btn-surround-docs:hover span {
  color: #ffffff;
}

.header {
  background-color: #222222;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  height: 4.5rem;
  z-index: 2000;
  -webkit-transform: none;
          transform: none;
  opacity: 1;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .header {
    height: 4.125rem;
  }
}

/* スクロール後に付与するクラス */
#header.show {
  -webkit-transform: none;
          transform: none;
  opacity: 1;
}

body:not(.page.home) .header {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

body:not(.home):not(.page-id-277) .header {
  opacity: 1 !important;
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  margin-inline: auto;
  padding: 0 1.5rem;
  height: inherit;
  width: 100%;
  max-width: 1440px;
}
@media screen and (max-width: 768px) {
  .header__inner {
    padding: 0 0.8125rem 0 0.75rem;
  }
}

.header__logo {
  width: 10.7125rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 8.125rem;
  }
}

.header__logo img {
  aspect-ratio: 171.4/34;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .header__nav {
    display: none;
  }
}

.header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.header__list li a {
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.5rem 0.45rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 1200px) {
  .header__list li a {
    font-size: 0.6875rem;
    padding: 0.5rem 0.28rem;
  }
}

body:not(.home):not(.page-id-277) .header__list li a {
  color: #ffffff !important;
}

.header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .header__actions {
    display: none;
  }
}

.header__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 5.5rem;
  padding: 0.55rem 0.85rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
  border: 1px solid transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 1200px) {
  .header__btn {
    min-width: 0;
    padding: 0.5rem 0.65rem;
    font-size: 0.6875rem;
  }
}

.header__btn--recruit {
  background-color: #ffffff;
  color: #222222;
}

.header__btn--contact {
  background-color: #e6ca2f;
  color: #222222;
}

.header__btn--docs {
  background-color: #ffffff;
  color: #AA7421;
  border-color: #AA7421;
}

.header__list li a.h-recruit-sp {
  display: inline-block;
  color: #222222;
  line-height: 1.4166666667;
  margin-left: 1.25rem;
  margin-right: 2.5rem;
  padding: 0.75rem 2.8125rem 0.6875rem;
  text-transform: uppercase;
}

.h-recruit {
  background-color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  padding: 0.75rem 2.8125rem 0.6875rem;
}

.h-recruit-sp {
  background-color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  padding: 0.75rem 2.8125rem 0.6875rem;
}

body:not(.home):not(.page-id-277) .h-recruit {
  color: #222222 !important;
}

.h-contact {
  background-color: #e6ca2f;
  font-size: 12px;
  font-weight: 700;
}

.h-docs {
  background-color: #ffffff;
  color: #AA7421;
  border: 1px solid #AA7421;
  font-size: 12px;
  font-weight: 700;
}

.hamburger {
  display: none;
}
@media screen and (max-width: 768px) {
  .hamburger {
    display: block;
    width: 1.5625rem;
    height: 1.125rem;
    cursor: pointer;
    position: fixed;
    top: 1.318125rem;
    right: 0.98375rem;
    z-index: 2001;
  }
}

@media screen and (max-width: 768px) {
  .hamburger, .hamburger span {
    display: inline-block;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

@media screen and (max-width: 768px) {
  .hamburger span {
    position: absolute;
    left: 0.75rem;
    width: 1.5rem;
    height: 2px;
    background-color: #fff;
    border-radius: 4px;
  }
}

body:not(.page.home) .hamburger span {
  background-color: #ffffff;
}

.hamburger span:first-child {
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.hamburger span:nth-child(2) {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 47%;
}

.hamburger span:nth-child(3) {
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.hamburger.is-active span:first-child {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 48%;
  left: 10%;
}

.hamburger.is-active span:nth-child(2) {
  opacity: 0;
  left: 10%;
}

.hamburger.is-active span:nth-child(3) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 48%;
  left: 10%;
}

body:not(.page.home) .hamburger.is-active span {
  background-color: #ffffff;
}

.header.headerColorScroll {
  background-color: #222222;
}

body:not(.page.home) .header.headerColorScroll {
  background-color: #222222;
}

.drawer-menu {
  background: #222222;
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100vh;
}

@media screen and (max-width: 768px) {
  .drawer-menu::before {
    content: "";
    background-image: url(../images/top/fv/fv_bg-sp.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.3;
    z-index: -1;
  }
}

.drawer-menu__inner {
  height: 90vh;
  padding: 0 40px;
}

@media screen and (max-width: 768px) {
  .drawer-menu .header__logo {
    width: 8.125rem;
    position: fixed;
    top: 1.25rem;
    left: 0.75rem;
  }
}

.drawer-menu__items {
  padding-top: 5rem;
  padding-bottom: 1.5rem;
  width: 100%;
  height: 100%;
  overflow: auto;
}

.drawer-menu__item {
  text-align: left;
}

.drawer-menu__item a {
  display: inline-block;
  color: #ffffff;
  text-transform: capitalize;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.drawer-menu__item a span {
  display: inline-block;
  color: #ab8f50;
  text-transform: capitalize;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-left: 10px;
}

.drawer-menu__button {
  text-align: left;
}

.drawer-menu__button + .drawer-menu__button {
  margin-top: 1.25rem;
}

.drawer-menu__button a {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.drawer-menu__items .h-recruit-sp,
.drawer-menu__items .h-contact,
.drawer-menu__items .h-docs {
  display: inline-block;
  width: 180px;
  text-align: center;
  padding: 0.75rem 1.25rem 0.6875rem;
}

@media screen and (max-width: 768px) {
  .drawer-menu__link {
    padding: 0.625rem 0.625rem;
    margin-left: -0.625rem;
  }
}

.drawer-menu__items .h-recruit-sp {
  margin-top: 1.25rem;
}

.inner {
  padding-right: 8.3125rem;
  padding-left: 8.3125rem;
  margin-inline: auto;
  max-width: 1366px;
}
@media screen and (max-width: 1024px) {
  .inner {
    padding-left: 5.6875rem;
    padding-right: 6.3125rem;
  }
}
@media screen and (max-width: 768px) {
  .inner {
    width: 100%;
    padding-right: 27px;
    padding-left: 27px;
    margin-inline: auto;
    max-width: 554px;
  }
}

.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fadeUpTrigger {
  opacity: 0;
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}

.fadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

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

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.btn-surround {
  display: inline-block;
  text-decoration: none;
  color: #FFF;
  font-weight: 700;
  background-color: #ab8f50;
  text-align: center;
  width: inherit;
  padding: 1rem;
  position: relative;
  opacity: 1 !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 13.75rem;
}
@media screen and (max-width: 1024px) {
  .btn-surround {
    min-width: 160px;
    width: 12.5rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-surround {
    min-width: 200px;
    padding: 12px 16px;
  }
}

.btn-surround span {
  display: inline-block;
  color: #ffffff;
  text-transform: uppercase;
  width: 100%;
}

.btn-surround:hover span {
  color: #ab8f50;
}

.btn-surround:before,
.btn-surround:after {
  content: "";
  display: block;
  position: absolute;
  background-color: #ab8f50;
  top: 0;
  pointer-events: none;
}

.btn-surround:before {
  left: 0;
  width: 0;
  height: 2px;
}

.btn-surround:after {
  right: 0;
  width: 2px;
  height: 0;
}

.btn-surround:hover {
  background-color: #FFF;
  color: #ab8f50;
}

.btn-surround:hover:before {
  width: 100%;
  -webkit-transition: width 0.2s 0.2s;
  transition: width 0.2s 0.2s;
}

.btn-surround:hover:after {
  height: 100%;
  -webkit-transition: height 0.1s 0.4s;
  transition: height 0.1s 0.4s;
}

.btn-surround:hover span:before {
  width: 100%;
  -webkit-transition: width 0.2s 0.5s;
  transition: width 0.2s 0.5s;
}

.btn-surround:hover span:after {
  height: 100%;
  -webkit-transition: height 0.1s 0.7s;
  transition: height 0.1s 0.7s;
}

.btn-surround span:before,
.btn-surround span:after {
  content: "";
  display: block;
  position: absolute;
  background-color: #ab8f50;
  bottom: 0;
  pointer-events: none;
}

.btn-surround span:before {
  right: 0;
  width: 0;
  height: 2px;
}

.btn-surround span:after {
  left: 0;
  width: 2px;
  height: 0;
}

.btn-surround-w {
  display: inline-block;
  text-decoration: none;
  color: #ab8f50;
  font-weight: 700;
  background-color: transparent;
  border: 2px solid #ab8f50;
  text-align: center;
  width: inherit;
  padding: 1rem;
  position: relative;
  opacity: 1 !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 13.75rem;
}
@media screen and (max-width: 1024px) {
  .btn-surround-w {
    min-width: 160px;
    width: 12.5rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-surround-w {
    min-width: 200px;
    padding: 12px 16px;
  }
}

.btn-surround-w span {
  color: #ab8f50;
  text-transform: uppercase;
}

.btn-surround-w:hover span {
  color: #ffffff;
}

.btn-surround-w:before,
.btn-surround-w:after {
  content: "";
  display: block;
  position: absolute;
  background-color: #ab8f50;
  top: 0;
  pointer-events: none;
}

.btn-surround-w:before {
  left: 0;
  width: 0;
  height: 2px;
}

.btn-surround-w:after {
  right: 0;
  width: 2px;
  height: 0;
}

.btn-surround-w:hover {
  background-color: #ab8f50;
  color: #ab8f50;
}

.btn-surround-w:hover:before {
  width: 100%;
  -webkit-transition: width 0.2s 0.2s;
  transition: width 0.2s 0.2s;
}

.btn-surround-w:hover:after {
  height: 100%;
  -webkit-transition: height 0.1s 0.4s;
  transition: height 0.1s 0.4s;
}

.btn-surround-w:hover span:before {
  width: 100%;
  -webkit-transition: width 0.2s 0.5s;
  transition: width 0.2s 0.5s;
}

.btn-surround-w:hover span:after {
  height: 100%;
  -webkit-transition: height 0.1s 0.7s;
  transition: height 0.1s 0.7s;
}

.btn-surround-w span:before,
.btn-surround-w span:after {
  content: "";
  display: block;
  position: absolute;
  background-color: #ab8f50;
  bottom: 0;
  pointer-events: none;
}

.btn-surround-w span:before {
  right: 0;
  width: 0;
  height: 2px;
}

.btn-surround-w span:after {
  left: 0;
  width: 2px;
  height: 0;
}

.btn-surround-y {
  display: inline-block;
  text-decoration: none;
  color: #FFF;
  font-weight: 700;
  background-color: #e6ca2f;
  text-align: center;
  width: inherit;
  padding: 1rem;
  position: relative;
  opacity: 1 !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 13.75rem;
}
@media screen and (max-width: 1024px) {
  .btn-surround-y {
    min-width: 160px;
    width: 12.5rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-surround-y {
    min-width: 200px;
    padding: 12px 16px;
  }
}

.btn-surround-y span {
  color: #222222;
  text-transform: uppercase;
}

.btn-surround-y:hover span {
  color: #ffffff;
}

.btn-surround-y:before,
.btn-surround-y:after {
  content: "";
  display: block;
  position: absolute;
  background-color: #806D56;
  top: 0;
  pointer-events: none;
}

.btn-surround-y:before {
  left: 0;
  width: 0;
  height: 2px;
}

.btn-surround-y:after {
  right: 0;
  width: 2px;
  height: 0;
}

.btn-surround-y:hover {
  background-color: #ab8f50;
  color: #ffffff;
}

.btn-surround-y:hover:before {
  width: 100%;
  -webkit-transition: width 0.2s 0.2s;
  transition: width 0.2s 0.2s;
}

.btn-surround-y:hover:after {
  height: 100%;
  -webkit-transition: height 0.1s 0.4s;
  transition: height 0.1s 0.4s;
}

.btn-surround-y:hover span:before {
  width: 100%;
  -webkit-transition: width 0.2s 0.5s;
  transition: width 0.2s 0.5s;
}

.btn-surround-y:hover span:after {
  height: 100%;
  -webkit-transition: height 0.1s 0.7s;
  transition: height 0.1s 0.7s;
}

.btn-surround-y span:before,
.btn-surround-y span:after {
  content: "";
  display: block;
  position: absolute;
  background-color: #806D56;
  bottom: 0;
  pointer-events: none;
}

.btn-surround-y span:before {
  right: 0;
  width: 0;
  height: 2px;
}

.btn-surround-y span:after {
  left: 0;
  width: 2px;
  height: 0;
}

.btn-surround-s {
  display: inline-block;
  text-decoration: none;
  border: 2px solid #e6ca2f;
  color: #e6ca2f;
  font-size: 16px;
  font-weight: 500;
  background-color: transparent;
  text-align: left;
  padding: 0.6875rem 1.25rem;
  position: relative;
  opacity: 1 !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 13.75rem;
}
@media screen and (max-width: 768px) {
  .btn-surround-s {
    max-width: 200px;
    padding: 12px 16px 12px 30px;
  }
}

.btn-surround-s::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.9375rem;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 1.5px solid #e6ca2f;
  border-right: 1.5px solid #e6ca2f;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.btn-surround-s span {
  color: #e6ca2f;
  text-transform: uppercase;
}

.btn-surround-s:hover span {
  color: #222222;
}

.btn-surround-s:hover {
  background-color: #e6ca2f;
  color: #ffffff;
}

.btn-surround-s:hover::after {
  border-top: 1.5px solid #222222;
  border-right: 1.5px solid #222222;
}

.btn-surround-m {
  display: inline-block;
  text-decoration: none;
  border: 2px solid #ab8f50;
  color: #ab8f50;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: transparent;
  text-align: left;
  width: inherit;
  padding: 0.6875rem 1.25rem;
  position: relative;
  opacity: 1 !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 8.75rem;
}
@media screen and (max-width: 768px) {
  .btn-surround-m {
    font-size: 0.625rem;
    width: 7.0625rem;
    padding: 0.4375rem 1.25rem;
  }
}

.btn-surround-m::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.9375rem;
  width: 7px;
  height: 7px;
  margin: auto;
  border-top: 1.5px solid #ab8f50;
  border-right: 1.5px solid #ab8f50;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.btn-surround-m span {
  color: #ab8f50;
  text-transform: uppercase;
}

.btn-surround-m:hover span {
  color: #ffffff;
}

.btn-surround-m:hover {
  background-color: #ab8f50;
  color: #ffffff;
}

/*独自のマウスカーソルを作成*/
.cursor {
  position: fixed;
  top: -5px;
  left: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: transparent;
  z-index: 1000;
  -webkit-transition: width 0.4s, height 0.4s, top 0.4s, left 0.4s;
  transition: width 0.4s, height 0.4s, top 0.4s, left 0.4s;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  pointer-events: none;
  z-index: 3000;
}
@media screen and (max-width: 768px) {
  .cursor {
    display: none;
  }
}

/*aタグにホバーした時に見た目変化*/
.cursor.cursor--hover {
  top: -40px;
  left: -40px;
  width: 80px;
  height: 80px;
  background: rgba(230, 202, 47, 0.4);
}

.section-title {
  color: #222222;
  font-size: 3.75rem;
  font-weight: 900;
  line-height: 1.45;
  text-transform: capitalize;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .section-title {
    font-size: 1.5rem;
  }
}

.section-title_ja {
  color: #ab8f50;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.45;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .section-title_ja {
    font-size: 0.75rem;
  }
}

.js-mask-effect {
  position: relative;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  --translateX:0px;
}

.js-mask-effect::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #E4E4E4;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateX(var(--translateX));
          transform: translateX(var(--translateX));
  z-index: 1;
}

.contact-us {
  background-color: #222222;
  position: relative;
  overflow: hidden;
}

.contact-us::before {
  content: "";
  background-image: url(../images/common/contact-us/bg.png), url(../images/common/contact-us/bg02.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
  width: 41.5625rem;
  height: 100%;
  position: absolute;
  top: 0;
  right: 3.1875rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .contact-us::before {
    right: -121%;
  }
}

.contact-us::after {
  content: "";
  background-image: url(../images/common/contact-us/bg-mask.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.3;
  width: 110%;
  height: 110%;
  position: absolute;
  top: -7%;
  left: -7%;
  z-index: 1;
  -webkit-transition: 4s;
  transition: 4s;
}

.contact-us__container {
  max-width: 1366px;
  margin-inline: auto;
  padding: 5.375rem 8.25rem 5.0625rem;
}
@media screen and (max-width: 768px) {
  .contact-us__container {
    padding: 2.375rem 1.6875rem;
  }
}

.contact-us__content {
  position: relative;
  z-index: 10;
}

.contact-us__title {
  color: #ffffff;
  font-size: 3.75rem;
  font-weight: 900;
  line-height: 1.45;
  text-transform: capitalize;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .contact-us__title {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4583333333;
  }
}

.contact-us__text {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.6875rem;
}
@media screen and (max-width: 768px) {
  .contact-us__text {
    font-size: 16px;
    line-height: 1.5;
  }
}

.contact-us__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
  margin-top: 3.25rem;
  max-width: 52.5rem;
}
@media screen and (max-width: 768px) {
  .contact-us__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 0.75rem;
    margin-top: 1.25rem;
    max-width: none;
  }
}

.contact-us__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 0;
  border-radius: 999px;
  padding: 20px 0;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid transparent;
}
@media screen and (max-width: 768px) {
  .contact-us__cta {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
}

.contact-us__cta-arrow {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.4rem;
  border-style: solid;
  border-width: 5px 0 5px 7px;
  border-color: transparent transparent transparent currentColor;
}

.contact-us__cta--contact,
.contact-us__cta--contact * {
  color: #222222;
}

.contact-us__cta--contact {
  background-color: #e6ca2f;
  white-space: nowrap;
}

.contact-us__cta--cases {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.15rem;
  background-color: #AB8F50;
}

.contact-us__cta--cases,
.contact-us__cta--cases * {
  color: #ffffff;
}

.contact-us__cta--cases .contact-us__cta-arrow {
  border-color: transparent transparent transparent #ffffff;
}

.contact-us__cta--docs {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.15rem;
  background-color: #ffffff;
  border: 1px solid #AA7421;
}

.contact-us__cta--docs,
.contact-us__cta--docs * {
  color: #AA7421;
}

.contact-us__cta--docs .contact-us__cta-arrow {
  border-color: transparent transparent transparent #AA7421;
}

.contact-us__cta-lead {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  max-width: 100%;
  text-align: center;
}

.contact-us__cta-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}

.fixed-cta {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem 1.5rem;
  background: rgba(34, 34, 34, 0.8);
  pointer-events: auto;
}
@media screen and (max-width: 768px) {
  .fixed-cta {
    padding: 0.75rem;
  }
}

.fixed-cta.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.fixed-cta__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
  width: 100%;
  max-width: 52.5rem;
}
@media screen and (max-width: 768px) {
  .fixed-cta__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
}

.fixed-cta .contact-us__cta {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  width: auto;
}
@media screen and (max-width: 768px) {
  .fixed-cta .contact-us__cta {
    width: 100%;
    min-width: 0;
    padding: 0.7rem 0.4rem;
  }
  .fixed-cta .contact-us__cta--contact {
    grid-column: 1 / -1;
  }
  .fixed-cta .contact-us__cta-lead {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .contact-us__tel {
    margin-top: 0.625rem;
  }
}

.contact-us__tel-text {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .contact-us__tel-text {
    font-size: 0.875rem;
    margin-top: 0.625rem;
  }
}

.contact-us__tel-link {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .contact-us__tel-link {
    font-size: 1.125rem;
  }
}

.join {
  background: linear-gradient(95deg, #F1D778 0.43%, #CAB338 18.21%, #967526 99.18%);
  padding: 2.0625rem 0 1.25rem;
}
@media screen and (max-width: 768px) {
  .join {
    overflow-x: hidden;
  }
}

.join__inner {
  padding: 0 5rem 0 8.3125rem;
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .join__inner {
    padding: 2.625rem 0 2.5rem 1.75rem;
  }
}

.join__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .join__wrap {
    -webkit-column-gap: 1.375rem;
       -moz-column-gap: 1.375rem;
            column-gap: 1.375rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.join__left {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .join__left {
    margin-right: 1.25rem;
    width: 58%;
  }
}

.join__title {
  color: #ffffff;
  font-size: 3.75rem;
  font-weight: 900;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .join__title {
    font-size: 1.5rem;
    font-weight: 700;
  }
}

.join__lead {
  font-size: 1.25rem;
  font-weight: 900;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .join__lead {
    font-size: 16px;
    font-weight: 700;
  }
}

.join__text {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .join__text {
    font-size: 14px;
    font-weight: 500;
  }
}

.join__btn {
  margin-top: 2.5rem;
}

@media screen and (max-width: 768px) {
  .join__right.right-pc {
    display: none;
  }
}

.join__right.right-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .join__right.right-sp {
    display: block;
  }
}

.join__img-wrap {
  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;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .join__img-wrap {
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
    row-gap: 0.625rem;
  }
}

.join__img-wrap + .join__img-wrap {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .join__img-wrap + .join__img-wrap {
    margin-top: 0.625rem;
  }
}

.join__img-wrap img {
  border-radius: 10px;
  width: 10.75rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .join__img-wrap img {
    width: 4.9375rem;
    height: auto;
  }
}

.join__right img {
  opacity: 0;
}

.right-pc img,
.right-sp img {
  opacity: 0;
}

.page-content__inner {
  max-width: 1366px;
  margin-inline: auto;
}

.page-header {
  background-color: #ffffff;
  padding: 0 0 6.75rem;
}
@media screen and (max-width: 768px) {
  .page-header {
    padding-bottom: 1.375rem;
  }
}

.page-header__inner {
  max-width: 1366px;
  margin-inline: auto;
  position: relative;
}

.page-title {
  color: #222222;
  font-size: 3.75rem;
  font-weight: 900;
  line-height: 1.45;
  text-transform: capitalize;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .page-title {
    font-size: 1.5rem;
  }
}

.page-title_ja {
  color: #ab8f50;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.45;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .page-title_ja {
    font-size: 0.75rem;
  }
}

.page-title.show,
.page-title_ja.show {
  opacity: 1;
}

.page-news__head-bg {
  position: absolute;
  top: 60%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -7.0625rem;
  -webkit-clip-path: inset(0 0% 0 0);
          clip-path: inset(0 0% 0 0);
  width: 37.5rem;
  opacity: 0;
}
@media screen and (max-width: 1024px) {
  .page-news__head-bg {
    left: -6.25rem;
  }
}
@media screen and (max-width: 768px) {
  .page-news__head-bg {
    width: 12.5rem;
    left: -0.625rem;
  }
}

.page-news__head-bg.show {
  opacity: 1;
}

.page-content {
  background-color: #F1F1F1;
  padding: 5rem 0 11.25rem;
}
@media screen and (max-width: 1024px) {
  .page-content {
    padding: 3.75rem 0 6.25rem;
  }
}
@media screen and (max-width: 768px) {
  .page-content {
    padding-top: 2.5rem;
    padding-bottom: 5rem;
  }
}

.page-footer {
  background-color: #ffffff;
  padding: 2.5rem 0;
}
@media screen and (max-width: 768px) {
  .page-footer {
    padding: 1.25rem 0;
  }
}

.page-footer__inner {
  margin-inline: auto;
  max-width: 1366px;
  width: 72.11%;
}
@media screen and (max-width: 768px) {
  .page-footer__inner {
    width: 100%;
    padding: 0 27px;
  }
}

.page-footer__links {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .page-footer__links {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 1.25rem;
  }
}

.page-footer__link {
  border-bottom: 1px solid #222222;
  position: relative;
}

.page-footer__link a {
  font-size: 1.25rem;
  font-weight: 700;
  padding-bottom: 1.21875rem;
  display: inline-block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page-footer__link a {
    font-size: 1rem;
    padding-bottom: 0.625rem;
  }
}

.page-footer__link::before {
  content: "";
  background-image: url(../images/common/arrow.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 0.875rem;
  height: 0.875rem;
  position: absolute;
  top: 35%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}
@media screen and (max-width: 768px) {
  .page-footer__link::before {
    width: 0.625rem;
    height: 0.625rem;
  }
}

.page-footer__link:hover::before {
  background-image: url(../images/common/arrow-w.svg);
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .page-footer__link:hover::before {
    background-image: url(../images/common/arrow.svg);
  }
}

.page-footer__link::after {
  content: "";
  background-color: #464646;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 50px;
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  top: 35%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -0.75rem;
  opacity: 0;
  z-index: 1;
  -webkit-transform: translateY(-50%) scale(0.8);
          transform: translateY(-50%) scale(0.8); /* 初期状態で少し小さく */
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; /* ゆっくり変化 */
}
@media screen and (max-width: 768px) {
  .page-footer__link::after {
    content: none;
  }
}

.page-footer__link:hover::after {
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1); /* 通常サイズに拡大 */
  opacity: 1; /* フェードイン */
}

.text-bg {
  overflow: hidden;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.text-bg.is-active {
  --skewX: 0deg;
  --cover-x: 101%;
  --x: 0;
}

.text-bg::before,
.text-bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transform: translateX(var(--cover-x, -101%));
          transform: translateX(var(--cover-x, -101%));
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.text-bg::before {
  background-color: #fff;
}

.text-bg::after {
  background-color: #D5D4CE;
  -webkit-transition-delay: 0.26s;
          transition-delay: 0.26s;
}

.word {
  -webkit-transform: translateX(var(--x, -110%)) skewX(var(--skewX, 8deg));
          transform: translateX(var(--x, -110%)) skewX(var(--skewX, 8deg));
  -webkit-transition: -webkit-transform 0.48s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 0.48s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.48s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.48s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 0.48s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.breadcrumbs {
  background-color: #ffffff;
  padding-top: 3rem;
  padding-bottom: 3.125rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .breadcrumbs {
    font-size: 10px;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    gap: 0.25rem; /* スマホ用の隙間調整 */
  }
}

.breadcrumbs__inner {
  max-width: 1366px;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem; /* 項目間のスペース */
}

.breadcrumbs span {
  font-size: 12px;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 768px) {
  .breadcrumbs span {
    font-size: 10px;
  }
}

/* セパレーターの追加 */
.breadcrumbs span:not(:first-of-type)::before {
  content: ">"; /* 任意のセパレーター */
  margin-right: 0.5rem;
  color: #999; /* セパレーターの色 */
}
@media screen and (max-width: 768px) {
  .breadcrumbs span:not(:first-of-type)::before {
    margin-right: 0.25rem;
  }
}

.recommend {
  background-color: #ffffff;
  padding: 11.25rem 0;
}
@media screen and (max-width: 768px) {
  .recommend {
    padding: 5rem 0;
  }
}

.recommend__title {
  background-color: transparent;
  color: #222222;
  font-size: 1.875rem;
  font-weight: 700;
  padding: 0;
  margin: 0;
  text-align: center;
  text-transform: capitalize;
}
@media screen and (max-width: 768px) {
  .recommend__title {
    font-size: 20px;
  }
}

.recommend__head {
  color: #ab8f50;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .recommend__head {
    font-size: 12px;
  }
}

.recommend__items {
  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;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  margin-top: 3.75rem;
  width: 80.53%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .recommend__items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    place-items: center;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 1.25rem;
    width: 90%;
    margin-top: 2.5rem;
    margin-inline: auto;
  }
}

.recommend__item {
  background-color: #E2E0D4;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(34, 34, 34, 0.2), 4px 4px 4px 0px rgba(34, 34, 34, 0.3);
          box-shadow: 0px 0px 6px 0px rgba(34, 34, 34, 0.2), 4px 4px 4px 0px rgba(34, 34, 34, 0.3);
}
.recommend__item a {
  display: block;
  padding: 2.5rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .recommend__item a {
    padding: 1.25rem 0.9375rem;
  }
}

.recommend__item .item-body {
  margin-top: 1.25rem;
}

.recommend__item .item-title {
  display: block;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .recommend__item .item-title {
    font-size: 12px;
  }
}

.recommend__item .item-text {
  font-size: 12px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .recommend__item .item-text {
    font-size: 12px;
  }
}

.service-banner {
  background-color: rgba(171, 143, 80, 0.1);
  border: 2px solid #ab8f50;
  width: 56.25rem;
  margin-inline: auto;
  position: relative;
  margin-top: 11.25rem;
}
@media screen and (max-width: 768px) {
  .service-banner {
    width: 90%;
    margin-top: 2.5rem;
  }
}

.service-banner a {
  display: inline-block;
  padding: 2.5625rem 3rem;
  width: 100%;
  height: inherit;
}
@media screen and (max-width: 768px) {
  .service-banner a {
    padding: 20px;
  }
}

.service-banner::before {
  content: "";
  background-image: url(../images/common/arrow-g.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 2.605625rem;
}
@media screen and (max-width: 768px) {
  .service-banner::before {
    width: 0.625rem;
    height: 0.625rem;
    right: 1.25rem;
  }
}

.service-banner__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .service-banner__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.service-banner__title {
  color: #ab8f50;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.45;
  text-transform: capitalize;
}
@media screen and (max-width: 768px) {
  .service-banner__title {
    font-size: 1.25rem;
  }
}

.service-banner__content-pc {
  color: #545456;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4375;
}
@media screen and (max-width: 768px) {
  .service-banner__content-pc {
    display: none;
    font-size: 0.75rem;
    margin-top: 0.5rem;
  }
}

.service-banner__content-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .service-banner__content-sp {
    display: block;
    font-size: 12px;
    margin-top: 0.5rem;
  }
}

.sns-share {
  padding-bottom: 11.25rem;
}
@media screen and (max-width: 768px) {
  .sns-share {
    padding-bottom: 5rem;
  }
}

.sns-share__text {
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
}

.opening {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 56.22vw; /* .fv と同じ高さに揃える */
  overflow: hidden;
  background: transparent;
}
@media screen and (max-width: 768px) {
  .opening {
    height: 177.8vw;
  }
}

/* 線：左から右へスーッと */
.line-expand {
  position: absolute;
  top: 50%;
  left: 0; /* ← ここを 0 に */
  width: 0;
  height: 2px;
  background: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); /* ← 中央寄せは縦だけに */
  -webkit-transform-origin: left center;
          transform-origin: left center; /* ← スケール時も左から伸びる */
  z-index: 3;
}

/* マスク共通（上下に半分ずつ） */
.white-mask,
.black-mask {
  position: absolute;
  left: 0;
  width: 100%;
  height: 50%;
  -webkit-transform: scaleY(0);
          transform: scaleY(0); /* ← 縮小状態からスタート */
  -webkit-transform-origin: center center;
          transform-origin: center center;
  z-index: 1;
}

.white-mask {
  background: #000;
  z-index: 1;
}

.black-mask {
  background: #222222;
  z-index: 2;
}

/* 上下で起点を変える */
.white-mask--top,
.black-mask--top {
  top: 0;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
}

.white-mask--bottom,
.black-mask--bottom {
  bottom: 0;
  -webkit-transform-origin: top center;
          transform-origin: top center;
}

/* テキスト */
.text-bg-t {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 18% !important;
  height: 56.22vw !important; /* .fv と同じ高さに揃える */
}
@media screen and (max-width: 768px) {
  .text-bg-t {
    height: 177.8vw !important;
  }
}

.text-bg-t.is-active {
  --skewX: 0deg;
  --cover-x: 101%;
  --x: 0;
}

.mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #fff;
  z-index: 1000;
}

.up-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  overflow: hidden;
  font-weight: bold;
}

.char {
  color: #fff;
  font-size: 1.875rem;
  display: inline-block;
  -webkit-transform: none;
          transform: none;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .char {
    font-size: 0.83125rem;
  }
}

.img-wrap {
  overflow: hidden;
  position: relative;
}

.cover1,
.cover2,
.cover3 {
  background: #222222;
  height: 40%;
  left: 0;
  right: 0;
  position: absolute;
  z-index: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0); /* ← GSAPの起点！ */
  will-change: transform;
}

.cover1 {
  top: 0;
}

.cover2 {
  top: 33.3333333333%;
}

.cover3 {
  top: 66.6666666667%;
}

/*画面遷移アニメーション*/
.splashbg {
  display: none;
}

/*bodyにappearクラスがついたら出現*/
body.appear .splashbg {
  display: block;
  content: "";
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  background-color: #333; /*伸びる背景色の設定*/
  -webkit-animation-name: PageAnime;
          animation-name: PageAnime;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes PageAnime {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}

@keyframes PageAnime {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
.opening-bg {
  display: none;
  background-color: #222222;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .opening-bg {
    height: 177.8vw;
  }
}

@media screen and (max-width: 768px) {
  .opening-img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
  }
}

.text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 27.89%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .text {
    width: 80%;
  }
}

.text-img {
  opacity: 0;
}

.text-img.img01 {
  aspect-ratio: 28.17/27.41;
  width: 1.760625rem;
  margin-right: 0.1875rem;
}
@media screen and (max-width: 768px) {
  .text-img.img01 {
    width: 0.96834375rem;
  }
}

.text-img.img02 {
  aspect-ratio: 26.16/27.6;
  width: 1.635rem;
  margin-right: 0.125rem;
}
@media screen and (max-width: 768px) {
  .text-img.img02 {
    width: 0.89925rem;
  }
}

.text-img.img03 {
  aspect-ratio: 22.45/22.77;
  width: 1.403125rem;
  margin-right: 0.3125rem;
}
@media screen and (max-width: 768px) {
  .text-img.img03 {
    width: 0.83421875rem;
  }
}

.text-img.img04 {
  aspect-ratio: 8.13/7.92;
  width: 0.508125rem;
  margin-right: 0.625rem;
}
@media screen and (max-width: 768px) {
  .text-img.img04 {
    width: 0.27946875rem;
  }
}

.text-img.img05 {
  aspect-ratio: 18.75/25.4;
  width: 1.171875rem;
  margin-right: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .text-img.img05 {
    width: 0.64453125rem;
    margin-right: 0.240625rem;
  }
}

.text-img.img06 {
  aspect-ratio: 19.44/21.39;
  width: 1.215rem;
  margin-right: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .text-img.img06 {
    width: 0.66825rem;
    margin-right: 0.240625rem;
  }
}

.text-img.img07 {
  aspect-ratio: 18.75/25.4;
  width: 1.171875rem;
  margin-right: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .text-img.img07 {
    width: 0.64453125rem;
    margin-right: 0.240625rem;
  }
}

.text-img.img08 {
  aspect-ratio: 25.95/24.99;
  width: 1.621875rem;
  margin-right: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .text-img.img08 {
    width: 0.89203125rem;
    margin-right: 0.240625rem;
  }
}

.text-img.img09 {
  aspect-ratio: 25.23/25.38;
  width: 1.576875rem;
  margin-right: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .text-img.img09 {
    width: 0.86728125rem;
    margin-right: 0.240625rem;
  }
}

.text-img.img10 {
  aspect-ratio: 20.43/24.3;
  width: 1.279375rem;
  margin-right: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .text-img.img10 {
    width: 0.70365625rem;
    margin-right: 0.240625rem;
  }
}

.text-img.img11 {
  aspect-ratio: 24.12/20.7;
  width: 1.5075rem;
  margin-right: 0.3125rem;
  margin-bottom: 0.125rem;
}
@media screen and (max-width: 768px) {
  .text-img.img11 {
    width: 0.829125rem;
    margin-right: 0.171875rem;
    margin-bottom: 0.06875rem;
  }
}

.text-img.img12 {
  aspect-ratio: 24/26.28;
  width: 1.5rem;
  margin-right: 0.375rem;
}
@media screen and (max-width: 768px) {
  .text-img.img12 {
    width: 0.825rem;
    margin-right: 0.20625rem;
  }
}

.text-img.img13 {
  aspect-ratio: 8.79/8.79;
  width: 0.549375rem;
}
@media screen and (max-width: 768px) {
  .text-img.img13 {
    width: 0.27090625rem;
  }
}

.logo-wrap {
  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;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 18.75rem;
  opacity: 0;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .logo-wrap {
    width: 9.375rem;
  }
}

.logo-wrap__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

.text-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 18.75rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 2.245rem;
}
@media screen and (max-width: 768px) {
  .text-container {
    width: 6.9125rem;
    margin-top: 0.87555rem;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.text-container img {
  -o-object-fit: cover;
     object-fit: cover;
}

.logo-t-image.img01 {
  aspect-ratio: 37.57/66.57;
  width: 1.52628125rem;
  margin-right: 1.178125rem;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
@media screen and (max-width: 768px) {
  .logo-t-image.img01 {
    width: 0.8589910875rem;
    margin-right: 0.66304875rem;
  }
}

.logo-t-image.img02 {
  aspect-ratio: 9.79/67.3;
  width: 0.39771875rem;
  margin-right: 1.31503125rem;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
@media screen and (max-width: 768px) {
  .logo-t-image.img02 {
    -o-object-fit: cover;
       object-fit: cover;
    width: 0.2275861125rem;
    margin-right: 0.7400995875rem;
  }
}

.logo-t-image.img03 {
  aspect-ratio: 35.97/43.32;
  width: 1.46128125rem;
  margin-right: 1.2016875rem;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
@media screen and (max-width: 768px) {
  .logo-t-image.img03 {
    width: 0.8224090875rem;
    margin-right: 0.676309725rem;
  }
}

.logo-t-image.img04 {
  aspect-ratio: 29.97/44.41;
  width: 1.21769375rem;
  margin-right: 1.2764375rem;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
@media screen and (max-width: 768px) {
  .logo-t-image.img04 {
    width: 0.6852265875rem;
    margin-right: 0.718379025rem;
  }
}

.logo-t-image.img05 {
  aspect-ratio: 64.75/70.46;
  width: 2.63225625rem;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
@media screen and (max-width: 768px) {
  .logo-t-image.img05 {
    width: 1.4814338175rem;
  }
}

.logo-line {
  width: 12.1875rem;
  height: 5.69725rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 768px) {
  .logo-line {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 6.825rem;
    height: 3.2064123rem;
  }
}

.logo-line img {
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0); /* 右側からスライドイン */
}
@media screen and (max-width: 768px) {
  .logo-line img {
    -o-object-fit: none;
       object-fit: none;
  }
}

.logo-line01 {
  aspect-ratio: 37.57/8.24;
  width: 1.52628125rem;
  margin-right: 1.178125rem;
}
@media screen and (max-width: 768px) {
  .logo-line01 {
    width: 0.8589910875rem;
    margin-right: 0.66304875rem;
  }
}

.logo-line02 {
  aspect-ratio: 9.79/8.24;
  width: 0.39771875rem;
  margin-right: 1.3235625rem;
  margin-bottom: 1.33859375rem;
}
@media screen and (max-width: 768px) {
  .logo-line02 {
    width: 0.2238361125rem;
    margin-right: 0.744900975rem;
    margin-bottom: 0.7533605625rem;
  }
}

.logo-line03 {
  aspect-ratio: 35.97/8.24;
  width: 1.46128125rem;
  margin-right: 1.21346875rem;
  margin-bottom: 2.721875rem;
}
@media screen and (max-width: 768px) {
  .logo-line03 {
    width: 0.8224090875rem;
    margin-right: 0.6829402125rem;
    margin-bottom: 1.53187125rem;
  }
}

.logo-line04 {
  aspect-ratio: 29.97/8.24;
  width: 1.21753125rem;
  margin-right: 1.2764375rem;
  margin-bottom: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .logo-line04 {
    width: 0.6852265875rem;
    margin-right: 0.718379025rem;
    margin-bottom: 2.286375rem;
  }
}

.logo-line05 {
  aspect-ratio: 64.75/8.24;
  width: 2.63046875rem;
  margin-bottom: 5.44375rem;
}
@media screen and (max-width: 768px) {
  .logo-line05 {
    width: 1.4804278125rem;
    margin-bottom: 3.0637425rem;
    position: absolute;
    right: 0;
  }
}

.logo-line02-1 {
  aspect-ratio: 233.66/8.241;
  width: 9.4924375rem;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  .logo-line02-1 {
    width: 5.342343825rem;
  }
}

.logo-line02-2 {
  aspect-ratio: 191.476/8.241;
  width: 7.7787125rem;
  position: absolute;
  bottom: 1.33859375rem;
  right: 0;
}
@media screen and (max-width: 768px) {
  .logo-line02-2 {
    width: 4.377859395rem;
    bottom: 0.7533605625rem;
  }
}

.logo-line02-3 {
  aspect-ratio: 125.849/8.241;
  width: 5.112615625rem;
  position: absolute;
  bottom: 2.721875rem;
  right: 0;
}
@media screen and (max-width: 768px) {
  .logo-line02-3 {
    width: 2.8773800738rem;
    bottom: 1.5330525rem;
  }
}

.logo-line02-4 {
  aspect-ratio: 64.747/8.241;
  width: 2.630346875rem;
  position: absolute;
  bottom: 4.0625rem;
  right: 0;
}
@media screen and (max-width: 768px) {
  .logo-line02-4 {
    width: 1.4803592213rem;
    bottom: 2.286375rem;
  }
}

.logo-t-image {
  opacity: 0;
}

.fv {
  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;
  position: relative;
  background-color: #222222;
  max-height: 100vh;
  height: 56.22vw;
  z-index: 1;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 5.5rem;
  padding-bottom: 5.5rem;
}
@media screen and (max-width: 1100px) {
  .fv {
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
  }
}
@media screen and (max-width: 768px) {
  .fv {
    height: 177.8vw;
    padding-top: 6rem;
    padding-bottom: 5rem;
  }
}

.fv__bg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: none;
          transform: none;
  z-index: 1;
}

.fv__bg::before {
  content: "";
  background-image: url(../images/top/fv/fv_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.3;
}
@media screen and (max-width: 768px) {
  .fv__bg::before {
    background-image: url(../images/top/fv/fv_bg-sp.png);
  }
}

.fv__cluster {
  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: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .fv__cluster {
    width: 90%;
  }
}

.fv__wrap {
  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;
  -webkit-column-gap: 8.75rem;
     -moz-column-gap: 8.75rem;
          column-gap: 8.75rem;
  opacity: 1;
  width: auto;
  height: auto !important;
  overflow: visible;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .fv__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.7rem;
    width: 100%;
    padding: 0;
  }
}

.fv__logo {
  width: 9.9894375rem;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .fv__logo {
    width: 4rem;
  }
}

.fv__logo img {
  aspect-ratio: 159.831/132;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.fv__text,
.fv__text span {
  color: #ffffff;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .fv__text,
  .fv__text span {
    font-size: 1.4375rem;
  }
}

.fv__text span {
  letter-spacing: -0.3em;
}

.fv__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
  z-index: 2;
  margin-top: 100px;
  width: 100%;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 1100px) {
  .fv__btns {
    margin-top: 56px;
  }
}
@media screen and (max-width: 768px) {
  .fv__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 0.75rem;
    width: 100%;
    margin-top: 40px;
  }
}

.fv__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: auto;
  min-width: 0;
  height: auto;
  border-radius: 999px;
  padding: 20px 0;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  white-space: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid transparent;
}
@media screen and (max-width: 768px) {
  .fv__btn {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    padding: 20px 0;
  }
}

.fv__btn-arrow {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.5rem;
  border-style: solid;
  border-width: 5px 0 5px 7px;
  border-color: transparent transparent transparent currentColor;
}

.fv__btn--contact {
  -webkit-column-gap: 0.15rem;
     -moz-column-gap: 0.15rem;
          column-gap: 0.15rem;
  background-color: #e6ca2f;
  color: #222222;
  font-size: 1rem;
  white-space: nowrap;
}

.fv__btn--docs {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.15rem;
  background-color: #ffffff;
  border: 1px solid #AA7421;
}

.fv__btn--docs,
.fv__btn--docs * {
  color: #AA7421;
}

.fv__btn--docs .fv__btn-arrow {
  border-color: transparent transparent transparent #AA7421;
}

.fv__btn-lead {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

.fv__btn-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}

.fv__btn-main .fv__btn-arrow {
  margin-left: 0.4rem;
}

.about-us {
  background-color: #f1f1f1;
  padding: 3.125rem 0 2.25rem;
  position: relative;
  z-index: 2;
  overflow: hidden; /* アニメーション時のはみ出しを防ぐ */
}
@media screen and (max-width: 768px) {
  .about-us {
    padding: 5rem 0;
  }
}

.about-us__bg {
  width: 100%;
  height: 63.82%;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .about-us__bg {
    height: 48.31%;
  }
}

.about-us__triangle {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e4e4e4;
  -webkit-clip-path: polygon(0 100%, 100% 0, 100% 100%);
          clip-path: polygon(0 100%, 100% 0, 100% 100%); /* 初期状態 */
}

.about-us__triangle img {
  aspect-ratio: 1366/545;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .about-us__triangle img {
    aspect-ratio: 375/343;
  }
}

.about-us__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
  max-width: 1366px;
  margin-inline: auto;
  padding-right: 2.6875rem;
}
@media screen and (max-width: 768px) {
  .about-us__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2.5rem;
    padding-right: 27px;
  }
}

.about-us__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  position: relative;
  width: 58.35%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .about-us__container {
    width: 100%;
  }
}

.about-us__container-l {
  width: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .about-us__container-l {
    width: 100%;
  }
}

.about-us__head-wrap {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .about-us__head-wrap {
    margin-top: 2.5rem;
  }
}

.about-us__head-text {
  text-align: left;
}

.about-us__head-text span,
.about-us__head-text span.ls01,
.about-us__head-text span.ls02 {
  color: #ab8f50;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about-us__head-text span,
  .about-us__head-text span.ls01,
  .about-us__head-text span.ls02 {
    font-size: 1rem;
  }
}

.about-us__head-text span.ls01 {
  letter-spacing: -0.3em;
}

.about-us__head-text span.ls02 {
  letter-spacing: -1em;
}

.js-text-effect span {
  display: inline-block;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: rotateY(90deg);
          transform: rotateY(90deg);
}

.js-splitText {
  visibility: hidden; /* 初期は非表示（レイアウトは保つ） */
}

.about-us__text-wrap01 {
  margin-top: 2.5rem;
  display: grid;
}

.about-us__text-wrap02 {
  margin-top: 1.25rem;
  display: grid;
}

.about-us__text01,
.about-us__text03 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 3.125;
  letter-spacing: 0.1em;
  text-align: left;
  grid-area: 1/1;
}
@media screen and (max-width: 768px) {
  .about-us__text01,
  .about-us__text03 {
    font-size: 0.875rem;
    line-height: 2.5;
  }
}

.about-us__text02,
.about-us__text04 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 3.125;
  letter-spacing: 0.1em;
  text-align: left;
  grid-area: 1/1;
  -webkit-clip-path: inset(100% 0 0 0);
          clip-path: inset(100% 0 0 0);
}
@media screen and (max-width: 768px) {
  .about-us__text02,
  .about-us__text04 {
    font-size: 0.875rem;
    line-height: 2.5;
  }
}

.about-us__text + .about-us__text {
  margin-top: 2em;
}

.img-pc {
  position: relative;
  width: 34%;
}
@media screen and (max-width: 768px) {
  .img-pc {
    display: none;
  }
}

.img-pc img {
  aspect-ratio: 400/824;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.about-us__btn.container-pc {
  margin-top: 5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .about-us__btn.container-pc {
    display: none;
  }
}

.about-us__btn.container-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .about-us__btn.container-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 2.5rem;
    margin-left: auto;
    padding-right: 27px;
    padding-left: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.about-us__images-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .about-us__images-sp {
    display: block;
    margin-top: 2.5rem;
  }
}

.about-us__images-pc {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .about-us__images-pc {
    display: none;
  }
}

.about-us__pc-swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.about-us__pc-swiper-slide {
  width: 13.75rem;
}
@media screen and (max-width: 768px) {
  .about-us__pc-swiper-slide {
    width: 11.25rem;
  }
}

/* スライダー全体 */
.about-us__pc-swiper {
  width: 100%;
  height: 100%;
  max-height: 824px;
  overflow: clip !important;
}
@media screen and (max-width: 1160px) {
  .about-us__pc-swiper .about-us__pc-swiper {
    max-height: 640px;
  }
}
@media screen and (max-width: 1024px) {
  .about-us__pc-swiper {
    max-height: 560px;
  }
}
@media screen and (max-width: 768px) {
  .about-us__pc-swiper {
    display: none;
  }
}

@media screen and (max-width: 1160px) {
  .about-us__pc-swiper {
    max-height: 640px;
  }
}
.about-us__pc-swiper-wrapper {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .about-us__pc-swiper-wrapper {
    display: none;
  }
}

/* スライド */
.about-us__pc-swiper-slide {
  width: 100%;
  height: auto;
  margin-left: auto;
  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;
}
@media screen and (max-width: 1024px) {
  .about-us__pc-swiper-slide {
    margin-left: 12vw;
  }
}
@media screen and (max-width: 768px) {
  .about-us__pc-swiper-slide {
    display: none;
  }
}

/* 画像調整 */
.about-us__pc-swiper-slide img {
  border-radius: 10px;
  width: 140px;
  height: auto;
  aspect-ratio: 340/226;
  margin-left: auto;
  max-width: 340px; /* 元の画像サイズ */
  height: auto;
  aspect-ratio: 340/226;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .about-us__pc-swiper-slide img {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  .about-us__pc-swiper-slide img {
    width: 100px;
  }
}
/* スライドの動き等速 */
.about-us__sp-swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.about-us__sp-swiper-slide {
  width: 5rem;
}

/* 画像のサイズ調整 */
.about-us__sp-swiper-slide img {
  height: auto;
  width: 100%;
}

.about-us__sp-swiper-slide.up {
  margin-bottom: 1.25rem;
}

.about-us__sp-swiper-slide.down {
  margin-top: 1.25rem;
}

.service {
  padding: 12.375rem 0 7.6875rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .service {
    padding: 5rem 0;
  }
}

.service .text-bg.is-active {
  width: 44vw;
  max-width: 202px;
}
@media screen and (max-width: 1024px) {
  .service .text-bg.is-active {
    width: 46vw;
    max-width: 150px;
  }
}
@media screen and (max-width: 768px) {
  .service .text-bg.is-active {
    width: 28vw;
  }
}

.service .section-title_ja {
  color: #e6ca2f;
}

.service::before {
  content: "";
  background-image: url(../images/top/service/service-bg.png);
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.service__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .service__inner {
    display: block;
    max-width: 500px;
  }
}

@media screen and (min-width: 1366px) {
  .service__inner {
    padding-left: 6.875rem;
  }
}
.service__title.section-title {
  color: #ffffff;
}

.service__title.section-title,
.service__title.section-title_ja {
  position: relative;
}

.service__container {
  margin-top: 2.5rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .service__container {
    margin-top: 1.9rem;
  }
}

.service__items {
  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.875rem;
}
@media screen and (max-width: 1024px) {
  .service__items {
    row-gap: 2.1rem;
  }
}
@media screen and (max-width: 768px) {
  .service__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    row-gap: 2rem;
    position: relative;
  }
}

.service__item {
  height: 11.25rem;
  max-height: 180px;
}
@media screen and (max-width: 1024px) {
  .service__item {
    height: 18.25rem;
  }
}
@media screen and (max-width: 768px) {
  .service__item {
    height: auto;
    max-height: none;
    min-height: 0;
    padding-left: 2.5rem;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .service__item + .service__item {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .service__item.item02 {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .service__item.item03 {
    margin-top: 0;
  }
}

.service__wrap {
  display: contents;
}
@media screen and (max-width: 768px) {
  .service__wrap {
    display: block;
  }
}

.line {
  margin-top: 3.375rem;
  height: 44.5rem;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .line {
    height: 52rem;
    max-height: 520px;
  }
}
@media screen and (max-width: 768px) {
  .line {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .line01.line01-pc,
  .line02.line02-pc,
  .line03.line03-pc,
  .line04.line04-pc,
  .line05.line05-pc {
    display: none;
  }
}

.line01.line01-sp,
.line02.line02-sp,
.line03.line03-sp,
.line04.line04-sp,
.line05.line05-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .line01.line01-sp,
  .line02.line02-sp,
  .line03.line03-sp,
  .line04.line04-sp,
  .line05.line05-sp {
    display: block;
  }
}

.line01 {
  width: 7.875rem;
  height: 6px;
  position: relative;
  z-index: 1;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .line01 {
    left: 0.55rem;
    width: 1.4375rem;
    height: 6px;
    top: 0.4rem;
  }
}

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

.line02 {
  width: 0.21875rem;
  height: 39.18rem;
  max-height: none;
  position: absolute;
  top: 0.2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .line02 {
    height: 52rem;
    max-height: 520px;
  }
}
@media screen and (max-width: 768px) {
  .line02 {
    width: 8px;
    left: 0.65rem;
    height: 37rem;
    max-height: none;
    top: -1.2rem;
  }
}

.line02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .line02 img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 100% 100%;
       object-position: 100% 100%;
    height: inherit;
  }
}
@media screen and (max-width: 768px) {
  .line02 img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 100% 100%;
       object-position: 100% 100%;
    height: inherit;
  }
}

.line03 {
  width: 4rem;
  height: 6px;
  position: absolute;
  top: 13.125rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 3.7625rem;
  z-index: 1;
  overflow: visible;
}
@media screen and (max-width: 1024px) {
  .line03 {
    top: auto;
    bottom: 19rem;
  }
}
@media screen and (max-width: 768px) {
  .line03 {
    top: 12.1rem;
    bottom: auto;
    left: 0.55rem;
    width: 1.4375rem;
    height: 6px;
  }
}

.line03 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .line03 img {
    aspect-ratio: auto;
  }
}

.line04 {
  width: 4rem;
  height: 6px;
  position: absolute;
  top: 26.25rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 3.7625rem;
  z-index: 1;
  overflow: visible;
}
@media screen and (max-width: 1024px) {
  .line04 {
    top: auto;
    bottom: -0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .line04 {
    left: 0.55rem;
    width: 1.4375rem;
    height: 6px;
    top: 24.4rem;
    bottom: auto;
  }
}

.line04 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .line04 img {
    aspect-ratio: auto;
  }
}

.line05 {
  width: 4rem;
  height: 6px;
  position: absolute;
  top: 39.375rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 3.7625rem;
  z-index: 1;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .line05 {
    left: 0.55rem;
    width: 1.4375rem;
    height: 6px;
    top: 36.7rem;
    bottom: auto;
  }
}

.line05 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .line05 img {
    aspect-ratio: auto;
  }
}

@media screen and (max-width: 768px) {
  .service__container {
    min-width: 0;
    width: 100%;
  }

  .service__item::before {
    background:
      radial-gradient(circle at calc(100% - 3px) center, #e6ca2f 0 2.5px, transparent 2.8px),
      linear-gradient(#e6ca2f, #e6ca2f) left center / calc(100% - 4px) 1px no-repeat;
    content: "";
    height: 6px;
    left: 0;
    position: absolute;
    top: 0.7rem;
    transform: translateY(-50%);
    width: 1.25rem;
  }

  .service__item:not(:last-child)::after {
    background-color: #e6ca2f;
    content: "";
    height: calc(100% + 2rem);
    left: 0;
    position: absolute;
    top: 0.7rem;
    width: 1px;
  }
}

.service__item-head {
  color: #e6ca2f;
  font-size: 1.25rem;
  font-weight: 700;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .service__item-head {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .service__item-head {
    font-size: clamp(0.875rem, 0.8309859155rem + 0.1877934272vw, 1rem);
  }
}

@media screen and (max-width: 400px) {
  .service__item-head {
    font-size: clamp(0.875rem, 0.8529929577rem + 0.0938967136vw, 0.9375rem);
  }
}
.service__item-head a,
.service__item-head a:link,
.service__item-head a:visited {
  color: #e6ca2f !important;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.service__item-head a::after {
  content: "";
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e6ca2f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.service__item-head a:hover {
  opacity: 0.85;
}

.service__item-head a:hover::after {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}


.service__item-text {
  color: #ffffff;
  font-size: 16px;
  font-weight: 500;
  margin-top: 1.25rem;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .service__item-text {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .service__item-text {
    font-size: 14px;
    margin-top: 0.4375rem;
  }
}

@media screen and (max-width: 768px) {
  .service__item-text {
    font-size: clamp(0.8125rem, 0.8014964789rem + 0.0469483568vw, 0.84375rem);
  }
}
@media screen and (max-width: 360px) {
  .service__item-text {
    font-size: 13px;
  }
}
.service__btn {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .service__btn {
    margin-top: 1.25rem;
  }
}

.service__btn.container {
  text-align: center;
  opacity: 1;
}

/* ===============================================
# 白線
=============================================== */
.line-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .line-sp {
    display: block;
    -webkit-clip-path: inset(0 100% 100% 0);
    clip-path: inset(0 100% 100% 0);
    margin-top: -0.9rem;
    width: 1.1875rem;
    height: 21.0625rem;
  }
}

@media screen and (max-width: 768px) {
  .line-sp img {
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.pick-up {
  background-color: #E2E0D4;
  padding: 12.375rem 0 7.6875rem;
}
@media screen and (max-width: 768px) {
  .pick-up {
    padding: 5rem 0;
  }
}

.pick-up__inner {
  padding-left: 8.3125rem;
  padding-right: 0;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .pick-up__inner {
    padding-left: 27px;
    padding-right: 28px;
  }
}

@media screen and (min-width: 1366px) {
  .pick-up__inner {
    padding-left: 9vw;
  }
}
.pick-up .section-title_wrap {
  max-width: 1366px;
}

.pick-up__container {
  max-width: 1366px;
  margin-inline: auto;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .pick-up__container {
    margin-top: 2.5rem;
  }
}

.pick-up__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .pick-up__items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 1.269375rem;
       -moz-column-gap: 1.269375rem;
            column-gap: 1.269375rem;
    row-gap: 2.494375rem;
  }
}

.swiper {
  overflow: hidden;
}

.pick-up__swiper {
  overflow: visible !important;
}

.archive-pick-up__item {
  opacity: 0; 初期状態
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .archive-pick-up__item {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.archive-pick-up__item a {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

.archive-pick-up__item a:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
@media screen and (max-width: 768px) {
  .archive-pick-up__item a:hover {
    -webkit-transform: none;
            transform: none;
  }
}

@media screen and (max-width: 768px) {
  .pick-up__swiper-slide {
    width: 100% !important;
  }
}

.item-img {
  -webkit-box-shadow: 10px 10px 0px 0px #1C2A48;
          box-shadow: 10px 10px 0px 0px #1C2A48;
}
@media screen and (max-width: 768px) {
  .item-img {
    -webkit-box-shadow: 6px 6px 0px 0px #1C2A48;
            box-shadow: 6px 6px 0px 0px #1C2A48;
  }
}

.item-img img {
  aspect-ratio: 300/160;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.item-body {
  margin-top: 0.625rem;
}

.item-body__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .item-body__meta  {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}


.item-category {
  color: #1C2A48;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  position: relative;
  margin-top: 1.25rem;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 768px) {
  .item-category {
    font-size: 0.6875rem;
    margin: 1rem 0 0.2rem;
    /* margin: 1rem 0 0.625rem; */
  }
}

.item-category::before {
  content: "＃";
  display: inline-block;
  color: #1C2A48;
  font-size: 16px;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  /* vertical-align: middle; */

  /* content: "";
  display: inline-block;
  background-color: #1C2A48;
  border-radius: 50px;
  width: 0.625rem;
  height: 0.625rem;
  margin-right: 0.5rem;
  margin-bottom: 0.1875rem;
  vertical-align: middle; */
}
@media screen and (max-width: 768px) {
  .item-category::before {
    font-size: 14px;
    /* width: 8px;
    height: 8px; */
    /* margin-right: 5px; */
  }
}

.item-body span.date {
  color: #1C2A48;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  position: relative;
  margin-top: 1.25rem;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 768px) {
  .item-body span.date {
    font-size: 0.6875rem;
    margin: 0 0 0.625rem;
  }
}



.item-title {
  display: inline;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
  padding-bottom: 0.15em;
  text-decoration: none;
  background-image: -webkit-gradient(linear, left top, right top, from(#ab8f50), to(#ab8f50));
  background-image: linear-gradient(to right, #ab8f50 0%, #ab8f50 100%);
  background-size: 0% 1px; /* 初期状態で下線を隠す */
  background-repeat: no-repeat;
  background-position: left bottom;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .item-title {
    font-size: 1rem;
    line-height: 1.3;
    margin-top: -10px;
  }
}

.pick-up__item:hover .item-title {
  color: #ab8f50;
  background-size: 100% 1px; /* ホバー時に左から右へ下線が伸びる */
}

.item-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .item-text {
    font-size: 0.75rem;
    margin-top: 0.625rem;
  }
}

.pick-up__btn {
  margin-top: 5rem;
  padding-right: 8.375rem;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .pick-up__btn {
    width: 100%;
    text-align: right;
    padding-right: 0;
    margin-top: 2.5rem;
  }
}

.pick-up__btn .button-container {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.pick-up-swiper__button-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  padding-right: 8.375rem;
}
@media screen and (max-width: 768px) {
  .pick-up-swiper__button-wrap {
    display: none;
  }
}

.pick-up-swiper__button-wrap .swiper-button-prev,
.pick-up-swiper__button-wrap .swiper-button-next {
  position: relative;
}

.pick-up-swiper__button-wrap .swiper-button-next {
  margin-left: 3.75rem;
}

.pick-up-swiper__button-wrap .swiper-button-prev::before {
  content: "";
  background-image: url(../images/top/pickup/swiper-arrow-prev.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 2.5rem;
  height: 2.5rem;
}

.pick-up-swiper__button-wrap .swiper-button-next::before {
  content: "";
  background-image: url(../images/top/pickup/swiper-arrow-next.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 2.5rem;
  height: 2.5rem;
}

.voice {
  background-color: #ffffff;
  padding: 12.375rem 0 11rem;
}
@media screen and (max-width: 768px) {
  .voice {
    padding: 5rem 0;
  }
}

.voice_inner {
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .voice_inner {
    max-width: 554px;
  }
}

.voice__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-column-gap: 2.125rem;
     -moz-column-gap: 2.125rem;
          column-gap: 2.125rem;
  row-gap: 5rem;
  margin-top: 4.875rem;
}
@media screen and (max-width: 768px) {
  .voice__items {
    grid-template-columns: 1fr;
  }
}

.voice__item {
  padding-right: 0.9375rem;
  padding-bottom: 0.9375rem;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .voice__item {
    padding-right: 0;
    padding-bottom: 0;
  }
}

.voice__item:hover {
  -webkit-box-shadow: 6px 6px 10px 0px rgba(171, 143, 80, 0.15);
          box-shadow: 6px 6px 10px 0px rgba(171, 143, 80, 0.15);
}
@media screen and (max-width: 768px) {
  .voice__item:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.voice__item:hover .voice__item-img::after {
  opacity: 0.4;
}

.voice__item-img {
  aspect-ratio: 340/200;
  -webkit-filter: drop-shadow(2px 2px 2px rgba(128, 109, 86, 0.2)) drop-shadow(0px 0px 2px rgba(128, 109, 86, 0.2));
          filter: drop-shadow(2px 2px 2px rgba(128, 109, 86, 0.2)) drop-shadow(0px 0px 2px rgba(128, 109, 86, 0.2));
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 768px) {
  .voice__item-img {
    width: 100%;
  }
}

.voice__item-img::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #464646;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.voice__item-img img {
  aspect-ratio: 340/200;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.voice__item-service {
  display: inline-block;
  background-color: #ab8f50;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.125rem 1.25rem;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .voice__item-service {
    font-size: 11px;
  }
}
@media screen and (max-width: 768px) {
  .voice__item-service {
    font-size: 10px;
  }
}

.voice__item-category {
  color: #1C2A48;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 10px;
  border: 1px solid #1C2A48;
  padding: 0 20px;
  margin-top: 0.875rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .voice__item-category {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .voice__item-category {
    font-size: 12px;
    padding: 0 16px !important;
  }
}

.voice__item-body {
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .voice__item-body {
    margin-top: 0.86rem;
  }
}

.voice__item-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  margin-top: 0.875rem;
}
@media screen and (max-width: 768px) {
  .voice__item-name {
    -webkit-column-gap: 0.36rem;
       -moz-column-gap: 0.36rem;
            column-gap: 0.36rem;
    margin-top: 0.625rem;
  }
}

.voice__item-name-i {
  max-height: 1.0625rem;
}

.voice__item-name-i {
  -o-object-fit: contain;
     object-fit: contain;
}

.voice__item-name-t {
  color: #464646;
  /* font-size: 0.75rem; */
  font-size: 1rem;
  font-weight: 500;
  text-align: right;
}
@media screen and (max-width: 1024px) {
  .voice__item-name-t {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .voice__item-name-t {
    font-size: 16px;
  }
}

.voice__item-lead {
  display: inline;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  position: relative;
  padding-bottom: 0.15em;
  text-decoration: none;
  background-image: -webkit-gradient(linear, left top, right top, from(#ab8f50), to(#ab8f50));
  background-image: linear-gradient(to right, #ab8f50 0%, #ab8f50 100%);
  background-size: 0% 1px; /* 初期状態で下線を隠す */
  background-repeat: no-repeat;
  background-position: left bottom;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .voice__item-lead {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .voice__item-lead {
    font-size: 16px;
    display: block;
    padding-bottom: 0;
  }
}

.voice__item:hover .voice__item-lead {
  color: #ab8f50;
  background-size: 100% 1px; /* ホバー時に左から右へ下線が伸びる */
}
@media screen and (max-width: 768px) {
  .voice__item:hover .voice__item-lead {
    background-size: 0;
  }
}

.voice__item-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .voice__item-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 0.3125rem;
  }
}

@media screen and (max-width: 768px) {
  .voice__item-before,
  .voice__item-after {
    width: 100%;
  }
}

.before-head,
.after-head {
  font-size: 1rem;
  font-weight: 900;
}
@media screen and (max-width: 1024px) {
  .before-head,
  .after-head {
    font-size: 14px;
    margin-bottom: 0.625rem;
  }
}

.before-text,
.after-text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 0.3125rem;
}
@media screen and (max-width: 1024px) {
  .before-text,
  .after-text {
    font-size: 12px;
  }
}

.before-head {
  border-bottom: 1px solid #222222;
}

.after-head {
  color: #e6ca2f;
  border-bottom: 1px solid #e6ca2f;
}

.voice__btn {
  margin-top: 5.3125rem;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .voice__btn {
    margin-top: 2.5rem;
  }
}

.animated__clipView {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: -webkit-clip-path 0.8s ease;
  transition: -webkit-clip-path 0.8s ease;
  transition: clip-path 0.8s ease;
  transition: clip-path 0.8s ease, -webkit-clip-path 0.8s ease;
}
.animated__clipView.js-show {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}

.flow {
  background-color: #F1F1F1;
  padding: 12.375rem 0 7.6875rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .flow {
    padding: 5rem 0;
  }
}

.flow__bg {
  width: 100%;
  max-height: 80px;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 61%;
  left: 0;
  overflow: hidden;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
}
@media screen and (max-width: 768px) {
  .flow__bg {
    display: none;
  }
}

.flow__inner {
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .flow__inner {
    max-width: 554px;
  }
}

.flow__lead-wrap {
  display: grid;
}

.flow__lead01 {
  color: #9FA0A0;
  grid-area: 1/1;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.45;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .flow__lead01 {
    font-size: 16px;
  }
}

.flow__lead02 {
  grid-area: 1/1;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.45;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .flow__lead02 {
    font-size: 16px;
  }
}

.flow__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 8.125rem;
     -moz-column-gap: 8.125rem;
          column-gap: 8.125rem;
  margin-top: 7.5rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .flow__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 5rem;
    margin-top: 3.0625rem;
  }
}

.flow__item {
  width: 33%;
}
@media screen and (max-width: 768px) {
  .flow__item {
    padding: 0 1.875rem;
    width: 100%;
  }
}

.flow__item.arrow {
  position: relative;
}

.flow__item.arrow::before {
  content: "";
  background-image: url(../images/top/flow/arrow.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 2.8285rem;
  height: 1.4141875rem;
  position: absolute;
  top: 43%;
  left: -30%;
  -webkit-transform: none;
          transform: none;
}
@media screen and (max-width: 768px) {
  .flow__item.arrow::before {
    background-size: contain;
    width: 1.6429375rem;
    height: 0.883875rem;
    top: -55.287px;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(90deg);
            transform: translateX(-50%) rotate(90deg);
  }
}

.flow__item.arrow::after {
  content: "";
  background-image: url(../images/top/flow/arrow.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 2.8285rem;
  height: 1.4141875rem;
  position: absolute;
  top: 43%;
  left: auto;
  right: -30%;
}
@media screen and (max-width: 768px) {
  .flow__item.arrow::after {
    background-size: contain;
    width: 1.6429375rem;
    height: 0.883875rem;
    top: 107%;
    bottom: -55.287px;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(90deg);
            transform: translateX(-50%) rotate(90deg);
  }
}

.flow__item-head {
  color: #ab8f50;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .flow__item-head {
    font-size: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .flow__item-head::before {
    content: "";
    background-color: #E4E4E4;
    height: 2.5rem;
    width: 100vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: -1;
  }
}

.item-head-num {
  display: inline-block;
  color: #F1F1F1;
  font-size: 1rem;
  font-weight: 500;
  padding-right: 1.25rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .item-head-num {
    font-size: 0.75rem;
  }
}

.item-head-num::before {
  content: "";
  background-image: url(../images/top/flow/num.svg);
  background-position: center;
  background-size: cover;
  width: 1.75rem;
  height: 1.5rem;
  position: absolute;
  top: 50%;
  left: 13%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .item-head-num::before {
    width: 1.5rem;
    height: 1.25rem;
  }
}

.flow__item-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.25rem;
  margin-inline: auto;
  height: 13.75rem;
}
@media screen and (max-width: 768px) {
  .flow__item-img {
    height: auto;
  }
}

.flow__item-img.img01 {
  width: 8.408875rem;
}
@media screen and (max-width: 768px) {
  .flow__item-img.img01 {
    margin-bottom: 0.625rem;
  }
}

.flow__item-img.img01 img {
  aspect-ratio: 134.542/160;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.flow__item-img.img02 {
  width: 11.250125rem;
}
@media screen and (max-width: 768px) {
  .flow__item-img.img02 {
    margin-bottom: 2.625625rem;
  }
}

.flow__item-img.img02 img {
  aspect-ratio: 180.002/97.286;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.flow__item-img.img03 {
  width: 5.02rem;
}
@media screen and (max-width: 768px) {
  .flow__item-img.img03 {
    margin-bottom: 1.25rem;
  }
}

.flow__item-img.img03 img {
  aspect-ratio: 80.32/170;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.flow__item-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4375;
}
@media screen and (max-width: 768px) {
  .flow__item-text {
    font-size: 14px;
  }
}

.flow__btn {
  margin-top: 1.25rem;
  margin-inline: auto;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .flow__btn .btn-surround {
    width: 100%;
  }
}

.flow__arrow {
  margin-top: 10rem;
}

.member {
  background-color: #E2E0D4;
  padding: 11.625rem 0 11.25rem;
  position: relative;
  overflow-x: clip;
  max-width: 100vw;
  will-change: transform;
}
@media screen and (max-width: 768px) {
  .member {
    padding: 5rem 0;
  }
}

.member__inner {
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .member__inner {
    padding-right: 0;
  }
}

.member__container {
  display: none;
}
@media screen and (max-width: 768px) {
  .member__container {
    display: block;
    margin-top: 2.5rem;
  }
}

.member__slider-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 12.4375rem;
     -moz-column-gap: 12.4375rem;
          column-gap: 12.4375rem;
  width: 100%;
  height: 100%;
}

.member__wrap-l, .member__wrap-r {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.member__wrap-l {
  width: 45.18%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .member__wrap-l {
    width: 100%;
  }
}

.member__wrap-l::before,
.member__wrap-l::after {
  content: "PlusA Member";
  position: absolute;
  bottom: -6.25rem;
  width: 100%;
  height: auto;
  color: #D5D4CE;
  font-size: 15rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}

.member__wrap-l::before {
  left: 0;
  -webkit-animation: loop 60s linear infinite;
          animation: loop 60s linear infinite;
}

.member__wrap-l::after {
  left: 100%;
  -webkit-animation: loop 60s linear infinite;
          animation: loop 60s linear infinite;
}

@-webkit-keyframes loop {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes loop {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@media screen and (max-width: 480px) {
  .member__wrap-l {
    padding: 40px 10vw;
  }
}
.member__lead-wrap {
  display: grid;
}

.member__lead01 {
  color: #9FA0A0;
  grid-area: 1/1;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4375;
  margin-top: 2.5rem;
  width: 67%;
}
@media screen and (max-width: 768px) {
  .member__lead01 {
    font-size: 16px;
    width: 100%;
    padding-right: 27px;
  }
}

.member__lead02 {
  color: #000;
  grid-area: 1/1;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4375;
  margin-top: 2.5rem;
  width: 67%;
}
@media screen and (max-width: 768px) {
  .member__lead02 {
    font-size: 16px;
    width: 100%;
    padding-right: 27px;
  }
}

.member__btn {
  margin-top: 4.6875rem;
}

.member__wrap-r {
  width: 54.82%;
}
@media screen and (max-width: 768px) {
  .member__wrap-r {
    width: 100%;
  }
}

.member__wrap-img {
  row-gap: 7.5rem;
}

.member__wrap-img .member__block:first-child {
  padding-top: 0;
}

.member__wrap-img .member__block:last-child {
  padding-bottom: 0;
}

.member__block {
  position: relative;
  width: 95%;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
}
@media screen and (max-width: 768px) {
  .member__block {
    width: 12.4378125rem;
  }
}

.member__block:hover {
  scale: 1.1 !important;
}
@media screen and (max-width: 768px) {
  .member__block:hover {
    scale: 1 !important;
  }
}

.member__img {
  position: relative;
  --scaleY:1;
}

.member__img img {
  aspect-ratio: 500/333;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .member__img img {
    aspect-ratio: 199.005/132.537;
  }
}

.member__img::before {
  content: "";
  aspect-ratio: 226.5/333;
  background-image: url(../images/top/member/member-l.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  position: absolute;
  top: 0;
  left: -4.53125rem;
  -webkit-transform: scaleY(var(--scaleY));
          transform: scaleY(var(--scaleY));
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .member__img::before {
    left: -1.80375rem;
  }
}

.member__img::after {
  content: "";
  aspect-ratio: 158/333;
  background-image: url(../images/top/member/member-r.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: scaleY(var(--scaleY));
          transform: scaleY(var(--scaleY));
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.member__text-wrap {
  position: absolute;
  bottom: 0.625rem;
  left: -6.375rem;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .member__text-wrap {
    bottom: 0.24875rem;
    left: -2.79625rem;
  }
}

.member__text {
  background-color: #ffffff;
  display: block;
  color: #e6ca2f;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4642857143;
  padding: 0.25rem 1.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .member__text {
    font-size: 0.6965rem;
    padding: 0.125rem 0.74375rem;
  }
}

.member__text::before {
  content: "";
  background-color: #222222;
  width: 101%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -1px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  z-index: -1;
}

/* .member__block をホバーしたときの変化 */
.member__block:hover .member__text::before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}

.member__block:hover .member__img::before {
  left: -5.78125rem;
}
@media screen and (max-width: 768px) {
  .member__block:hover .member__img::before {
    left: -2.42875rem;
  }
}

.member__block:hover .member__img::after {
  right: -0.75rem;
}
@media screen and (max-width: 768px) {
  .member__block:hover .member__img::after {
    right: -0.25rem;
  }
}

.member__text + .member__text {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .member__text + .member__text {
    margin-top: 0.24875rem;
  }
}

.member__name-en {
  color: #000;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.4583333333;
  text-align: right;
  text-transform: uppercase;
  position: absolute;
  top: 0.3125rem;
  left: -3.125rem;
  -webkit-clip-path: var(--beforeClip, inset(0 100% 0 0));
          clip-path: var(--beforeClip, inset(0 100% 0 0)); /* 初期状態：下に隠す */
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}
@media screen and (max-width: 768px) {
  .member__name-en {
    font-size: 0.625rem;
    top: 0.125rem;
    left: -1.48625rem;
  }
}

.member__name-ja {
  color: #000;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.45;
  text-align: right;
  text-transform: uppercase;
  position: absolute;
  top: 2.5625rem;
  left: -3.125rem;
  -webkit-clip-path: var(--beforeClip, inset(0 100% 0 0));
          clip-path: var(--beforeClip, inset(0 100% 0 0)); /* 初期状態：下に隠す */
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}
@media screen and (max-width: 768px) {
  .member__name-ja {
    font-size: 0.5rem;
    top: 1.02rem;
    left: -1.48625rem;
  }
}

.member__arrow-box {
  position: absolute;
  bottom: 0.625rem;
  right: 0.625rem;
  width: 3.75rem;
  height: 3.75rem;
  display: inline-block;
  background-color: #ffffff;
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .member__arrow-box {
    width: 1.4925625rem;
    height: 1.4925625rem;
    bottom: 0.24875rem;
    right: 0.24875rem;
  }
}

/* 背景色のアニメーション */
.member__arrow-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  background-color: #222222; /* ホバー時の背景色 */
  -webkit-transform: scaleX(0);
          transform: scaleX(0); /* 初期状態（背景色なし） */
  -webkit-transform-origin: left;
          transform-origin: left; /* 左から右に伸ばす */
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  z-index: 0; /* テキスト・矢印より背面に配置 */
}

.member__block:hover .member__arrow-box {
  background-color: #222222; /* ホバー時に背景を少し変える */
}

.member__arrow {
  display: inline-block;
  background-color: transparent;
  width: 3.75rem;
  height: 3.75rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .member__arrow {
    width: 1.4925625rem;
    height: 1.4925625rem;
  }
}

.member__arrow::before,
.member__arrow::after {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  z-index: 3;
  width: 50%;
  height: 50%;
  top: 25%;
  left: 25%;
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}
@media screen and (max-width: 768px) {
  .member__arrow::before,
  .member__arrow::after {
    width: 48%;
    height: 48%;
    top: 25%;
    left: 26%;
  }
}

/* 通常時の矢印（白） */
.member__arrow::before {
  background-image: url(../images/top/member/m-arrow-w.svg);
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

/* ホバー時の矢印（黒） */
.member__arrow::after {
  background-image: url(../images/top/member/m-arrow-b.svg);
  -webkit-transform: translateX(-200%);
          transform: translateX(-200%);
  opacity: 0;
}

/* ホバー時のアニメーション */
.member__block:hover .member__arrow::before {
  -webkit-transform: translateX(200%);
          transform: translateX(200%);
}

.member__block:hover .member__arrow::after {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}

.member__wrap-sp {
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 768px) {
  .member__wrap-sp {
    opacity: 1;
    visibility: visible;
    overflow-x: hidden;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .member__wrap-sp .section-title_wrap {
    padding-right: 27px;
  }
}

@media screen and (max-width: 768px) {
  .member-swiper {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .member__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-column-gap: 3.75rem;
       -moz-column-gap: 3.75rem;
            column-gap: 3.75rem;
    margin-left: 3.125rem;
  }
}

@media screen and (max-width: 768px) {
  .member__block {
    width: 70%;
    max-width: 300px;
  }
}

@media screen and (max-width: 768px) {
  .member__swiper {
    overflow: hidden;
  }
}

.member__swiper-slide {
  width: 64% !important; /* スライドの幅を適切に設定 */
  max-width: 320px; /* 必要に応じて最大幅を設定 */
}

.member__loop-area {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .member__loop-area {
    top: 6rem;
  }
}

.member__loop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-items: center;
  -webkit-column-gap: 2.5rem;
  -moz-column-gap: 2.5rem;
  column-gap: 2.5rem;
  width: 150vw;
  height: 12.75rem;
  text-wrap: nowrap;
  position: absolute;
  bottom: -19.25rem;
  left: -50vw;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .member__loop {
    display: none;
  }
}

.member__loop-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .member__loop-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    place-items: center;
    -webkit-column-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    width: 150vw;
    height: 23.75rem;
    text-wrap: nowrap;
    position: absolute;
    bottom: -21.25rem;
    left: -50vw;
    overflow: hidden;
    bottom: 9.8rem;
    height: 5.4375rem;
    left: -1.6875rem;
    z-index: -1;
  }
}

.loop-text {
  color: #D5D4CE;
  font-size: 15rem;
  font-weight: 900;
  line-height: 1;
  display: inline-block;
  padding-right: 20px;
  white-space: nowrap;
  will-change: transform;
}
@media screen and (max-width: 768px) {
  .loop-text {
    font-size: 3.75rem;
  }
}

.member__wrap-b {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: 12.4375rem;
     -moz-column-gap: 12.4375rem;
          column-gap: 12.4375rem;
}
@media screen and (max-width: 768px) {
  .member__wrap-b {
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
  }
}

.member__wrap-tr {
  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: end;
      -ms-flex-align: end;
          align-items: flex-end;
  row-gap: 7.5rem;
}

.slider__wrapper {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 768px) {
  .slider__wrapper {
    display: none;
    visibility: hidden;
  }
}

.slider__wrap-left, .slider__wrap-right {
  width: 50%;
}

.slider__wrap-left { /* Safari対応 */
  position: sticky;
  top: 11.25rem; /* 固定開始位置 */
  -ms-flex-item-align: start;
      align-self: flex-start; /* 高さを親要素に合わせる */
  height: 100%;
}
@media screen and (max-width: 768px) {
  .slider__wrap-left {
    position: static;
    height: auto;
  }
}

.slider__wrap-left .section-title_wrap {
  margin-right: auto;
}

.slider__wrap-right .img-box {
  margin-bottom: 2.5rem;
  width: 95%;
  margin-inline: auto;
  opacity: 0; /* 初期状態では非表示 */
  -webkit-transform: translateX(150px);
          transform: translateX(150px); /* 右にずらしておく */
}

.slider__wrap-right .img-box:last-child {
  margin-bottom: 0;
}

.slider__wrap-right .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.member__btn.container {
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .member__btn.container {
    text-align: right;
    padding-right: 27px;
  }
}

.news {
  background-color: #E4E4E4;
  padding: 12.375rem 0 7.6875rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .news {
    padding: 5rem 0;
  }
}

.news__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 10rem;
     -moz-column-gap: 10rem;
          column-gap: 10rem;
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .news__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2.5rem;
    max-width: 554px;
  }
}

.news .text-bg {
  width: 8.8rem;
}
@media screen and (max-width: 768px) {
  .news .text-bg {
    width: 5.8rem;
  }
}

.news__wrap {
  width: 72.73%;
}
@media screen and (max-width: 768px) {
  .news__wrap {
    width: 100%;
  }
}

.news__tablist {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .news__tablist {
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
  }
}

.news__tab {
  border: 1px solid #464646;
  color: #464646;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
  padding: 0.3125rem 0;
  text-align: center;
  text-transform: uppercase;
  width: 30.01%;
}
.news__tab[aria-selected=true] {
  background-color: #464646;
  color: #ffffff;
  position: relative;
  pointer-events: none;
}
@media (any-hover: hover) {
  .news__tab:hover {
    cursor: pointer;
  }
}
@media screen and (max-width: 768px) {
  .news__tab {
    font-size: 0.75rem;
    padding: 0.1875rem 0;
    width: calc((100% - 20px) / 3);
  }
}

.news__contents {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .news__contents {
    width: 100%;
  }
}

.news__content-wrap {
  border-bottom: 1px solid #A5A5A5;
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 10px;
  -webkit-transition: opacity 1s ease, translate 0.5s ease;
  transition: opacity 1s ease, translate 0.5s ease;
}
.news__content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  translate: 0;
}

.news__content a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  padding: 1.8125rem 0;
  padding-right: 1.25rem;
  border-bottom: 1px solid #A5A5A5;
  position: relative;
}
@media screen and (max-width: 768px) {
  .news__content a {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    padding: 1.25rem 0;
    padding-right: 0;
  }
}

.news__content a::before {
  content: "";
  background-image: url(../images/common/arrow.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 0.75rem;
  height: 0.75rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}
@media screen and (max-width: 768px) {
  .news__content a::before {
    content: none;
  }
}

.news__content:first-of-type {
  padding-top: 0;
}

.news__content-img {
  width: 15%;
  aspect-ratio: 120/80;
  overflow: hidden; /* はみ出た部分を隠す */
}
@media screen and (max-width: 768px) {
  .news__content-img {
    width: 27.27%;
  }
}

.news__content-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* 画像を比率を保ちつつ中央でトリミング */
}

@media screen and (max-width: 768px) {
  .news__content-r {
    width: 66.67%;
  }
}

.news__btn {
  margin-top: 3.75rem;
  text-align: right;
}

.news__content-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .news__content-meta {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 0.8125rem;
  }
}

.news__content-time {
  color: #000;
  font-size: 12px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 768px) {
  .news__content-time {
    font-size: 0.875rem;
  }
}

.news__content-category.information {
  padding: 3px 10px;
  min-width: 88px;
  text-align: center;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: normal;
  background: #ab8f50;
  width: 8.75rem;
}
@media screen and (max-width: 768px) {
  .news__content-category.information {
    width: 6.25rem;
  }
}

.news__content-category.event {
  padding: 3px 10px;
  min-width: 88px;
  text-align: center;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: normal;
  background: #1C2A48;
  width: 8.75rem;
}
@media screen and (max-width: 768px) {
  .news__content-category.event {
    width: 6.25rem;
  }
}

.news__content-text {
  color: #222222;
  font-size: 12px;
  font-weight: 400;
  line-height: normal;
}
.news__content-text a {
  font-weight: 700;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .news__content-text {
    font-size: 0.875rem;
  }
}

.page-about .page-content {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .page-about .page-content {
    padding-top: 0;
    overflow: hidden;
  }
}

@media screen and (max-width: 768px) {
  .page-about__inner {
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .page-about .breadcrumbs,
  .page-about .page-header {
    padding-left: 27px;
  }
}

.mission {
  padding: 9.8125rem 0 17.375rem;
}
@media screen and (max-width: 768px) {
  .mission {
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .mission__inner {
    height: inherit;
  }
}

/* レイアウト調整 */
.mission__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 11.5rem;
     -moz-column-gap: 11.5rem;
          column-gap: 11.5rem;
}
@media screen and (max-width: 768px) {
  .mission__content {
    -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;
    min-height: 100svh;
  }
}

/* 左側の三角形を固定表示 */
.triangle-container {
  position: sticky;
  top: 17.1875rem;
  left: 5%;
  width: 20.375rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .triangle-container {
    display: none;
  }
}

.triangle-svg {
  width: 100%;
  height: auto;
}

.triangle-svg {
  width: 20.375rem;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  .triangle-svg {
    width: 12.5rem;
  }
}

.triangle-text {
  font-size: 16px;
  font-weight: bold;
  fill: #1C2A48; /* デフォルトは黒 */
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}

.line-pc01 {
  position: absolute;
  top: 4.1875rem;
  right: -9rem;
  width: 15.8125rem;
  opacity: 1;
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
}

.line-pc02 {
  position: absolute;
  top: 10rem;
  right: -9rem;
  width: 13.125rem;
  opacity: 0;
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
}

.line-pc03 {
  position: absolute;
  top: 16.75rem;
  right: -9rem;
  width: 9.75rem;
  opacity: 0;
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
}

.line-sp01 {
  position: absolute;
  bottom: 0.125rem;
  left: -2.9375rem;
  width: 6.4375rem;
  opacity: 0;
}

.line-sp02 {
  position: absolute;
  bottom: 0.125rem;
  left: -2.9375rem;
  width: 4.75rem;
  opacity: 0;
}

.line-sp03 {
  position: absolute;
  bottom: 0.125rem;
  left: -2.9375rem;
  width: 2.6875rem;
  opacity: 0;
}

/* 右側のスクロールコンテンツ */
.mission__description-wrap {
  display: contents;
}
@media screen and (max-width: 768px) {
  .mission__description-wrap {
    display: block;
  }
}

.mission__description {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .mission__description {
    position: relative;
  }
}

.mission__text-wrap {
  padding: 5rem 0;
}
@media screen and (max-width: 768px) {
  .mission__text-wrap {
    background-color: #F1F1F1;
    /* padding-top: 2.5rem; */
    padding-top: 0;
    width: 100vw;
    height: 100svh;
    min-height: 870px;
    position: relative;
    overflow: hidden;
    min-height: calc(100vh + 50vw);
  }
}

@media screen and (max-width: 768px) {
  .mission__text-wrap.mission {
    min-height: auto;
  }
}

@media screen and (max-width: 768px) {
  .mission__text-wrap.vision {
    min-height: calc(100vh + 35vw);
  }
}

@media screen and (max-width: 768px) {
  .mission__text-wrap__inner {
    width: 100%;
    height: 100%;
    padding: 40px 27px 0px !important;
  }
}

.mission__text-wrap__inner.mission {
  padding: 0;
}
@media screen and (max-width: 768px) {
  .mission__text-wrap__inner.mission {
    padding-top: 2.5rem;
  }
}

@media screen and (max-width: 768px) {
  .pin-spacer {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}

.mission__title {
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1.4333333333;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .mission__title {
    font-size: 1.25rem;
  }
}

.mission__sub-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .mission__sub-title {
    font-size: 0.75rem;
  }
}

.mission__head {
  color: #1C2A48;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.3636363636;
  margin-top: 1.875rem;
  padding-bottom: 0.625rem;
  position: relative;
  text-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .mission__head {
    font-size: 1.25rem;
    line-height: 1.45;
    margin-top: 1.25rem;
  }
}

.mission__head::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #e6ca2f;
  width: 100%;
  height: 2px;
}

.mission__text {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4375;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .mission__text {
    font-size: 14px;
    margin-top: 0.9375rem;
  }
}

.triangle-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .triangle-sp {
    display: block;
    margin-top: 2.5rem;
    margin-inline: auto;
    width: 15.4375rem;
  }
}

@media screen and (max-width: 768px) {
  .triangle-sp img {
    aspect-ratio: 247/200;
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

/* スマホアニメーション用追加 */
@media screen and (max-width: 768px) {
  .visible {
    width: 87%;
    height: 100%;
    position: absolute;
    top: -50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

@media screen and (max-width: 768px) {
  .visible.vision {
    top: -46%;
  }
}

@media screen and (max-width: 768px) {
  .mission__text-wrap.mission {
    background-color: #E4E4E4;
  }
}

@media screen and (max-width: 768px) {
  .mission__text-wrap.vision {
    background-color: #D5D4CE;
  }
}

@media screen and (max-width: 768px) {
  .mission__text-wrap.value {
    background-color: #E4E4E4;
  }
}

.page-about__stats {
  background-color: #E2E0D4;
  padding: 11.25rem 0;
}
@media screen and (max-width: 768px) {
  .page-about__stats {
    padding: 2.5rem 0;
    position: relative;
  }
}

/* コンテナ */
.stats__container {
  max-width: 1366px;
  margin-inline: auto;
  padding-right: 8.3125rem;
  padding-left: 8.3125rem;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .stats__container {
    padding-left: 5.6875rem;
    padding-right: 6.3125rem;
  }
}
@media screen and (max-width: 768px) {
  .stats__container {
    width: 100%;
    padding-right: 27px;
    padding-left: 27px;
    margin-inline: auto;
    max-width: 554px;
  }
}

/* セクションタイトル */
.stats__title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 768px) {
  .stats__title {
    font-size: 1.25rem;
  }
}

.stats__description {
  font-size: 1.25rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .stats__description {
    font-size: 0.75rem;
  }
}

/* サブタイトル */
.stats__sub-title {
  color: #ab8f50;
  font-size: 2.5rem;
  font-weight: 700;
  margin-top: 2.5rem;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 768px) {
  .stats__sub-title {
    font-size: 1.25rem;
    margin-top: 1.25rem;
  }
}

.stats-lead {
  border-bottom: 1px solid #222222;
  font-size: 1.875rem;
  font-weight: 700;
  padding-bottom: 0.625rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .stats-lead {
    font-size: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .stats-lead:first-of-type {
    margin-top: 0;
  }
}

.achievement__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 4.72125rem;
     -moz-column-gap: 4.72125rem;
          column-gap: 4.72125rem;
}
@media screen and (max-width: 768px) {
  .achievement__wrap {
    display: block;
  }
}

.grid-achievement {
  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.0625rem;
  margin-top: 20px;
  width: 63.27%;
}
@media screen and (max-width: 768px) {
  .grid-achievement {
    width: 100%;
  }
}

.stats-grid-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
}

.stat-wrap + .stat-wrap {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .stat-wrap + .stat-wrap {
    margin-top: 2.5rem;
  }
}

/* 個々の統計カード */
.stat-card {
  background-color: #ffffff;
  padding: 2.5rem 1.8125rem;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .stat-card {
    padding: 1.875rem 0.9375rem;
  }
}

.stat-card01 {
  width: 50%;
}

.stat-card02 {
  width: 50%;
}

.stat-title {
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .stat-title {
    font-size: 0.875rem;
  }
}

.stat-card__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .stat-card__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;
  }
}

.stat-card__flex-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .stat-card__flex-center {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.stat-number {
  color: #ab8f50;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .stat-number {
    font-size: 0.875rem;
    margin-top: 0.625rem;
  }
}

.stat-number .highlight {
  color: #ab8f50;
  font-size: 7.5rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .stat-number .highlight {
    font-size: 1.875rem;
  }
}

.stat-number .highlight.dot {
  color: #ab8f50;
  font-size: 3.125rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .stat-number .highlight.dot {
    font-size: 1.25rem;
  }
}

.stat-number .highlight.small {
  color: #ab8f50;
  font-size: 4.375rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .stat-number .highlight.small {
    font-size: 1.25rem;
  }
}

.stat-description {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4375;
}
@media screen and (max-width: 768px) {
  .stat-description {
    font-size: 0.75rem;
    line-height: 1.4166666667;
  }
}

.stat-card01 .stat-description,
.stat-card02 .stat-description {
  margin-top: 1.25rem;
}

@media screen and (max-width: 768px) {
  .grid-achievement .stat-card03 {
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .grid-achievement .stat-card03::before {
    content: "";
    background-image: url(../images/page-about/01.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 4.0813125rem;
    height: 5.208rem;
    position: absolute;
    top: 0.75rem;
    right: 1.0625rem;
  }
}

@media screen and (max-width: 768px) {
  .grid-client .stat-card03 {
    width: 50%;
  }
}

@media screen and (max-width: 768px) {
  .grid-client .stat-card03-img {
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .grid-client .stat-card03-img::before {
    content: "";
    background-image: url(../images/page-about/02-sp.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 6.5498125rem;
    height: 5.75075rem;
    position: absolute;
    bottom: -5rem;
    right: 0.95rem;
  }
}

.stat-card03 .stat-description {
  width: 62.38%;
}
@media screen and (max-width: 768px) {
  .stat-card03 .stat-description {
    width: 100%;
  }
}

.stat-description-note {
  font-size: 0.75rem;
  font-weight: 500;
  display: block;
  margin-top: 0.3125rem;
}
@media screen and (max-width: 768px) {
  .stat-description-note {
    margin-top: 0.625rem;
  }
}

/* イラスト */
.stat-img {
  text-align: center;
}

.stat-img img {
  max-width: 100%;
  height: auto;
}

.stat-img.img01 {
  width: 36.73%;
}
@media screen and (max-width: 768px) {
  .stat-img.img01 {
    display: none;
  }
}

.stat-img.img01 img {
  aspect-ratio: 326.461/416.594;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.stat-img.img02 {
  width: 18.2%;
  margin-left: 0.6875rem;
}
@media screen and (max-width: 768px) {
  .stat-img.img02 {
    display: none;
  }
}

.stat-img.img02 img {
  aspect-ratio: 200.205/407.202;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.stat-img.img03 {
  width: 52.7%;
  margin-right: 1.834375rem;
}
@media screen and (max-width: 768px) {
  .stat-img.img03 {
    display: none;
  }
}

.stat-img.img03 img {
  aspect-ratio: 194.647/219.596;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.stat-img.img04 {
  width: 33.82%;
}
@media screen and (max-width: 768px) {
  .stat-img.img04 {
    display: none;
  }
}

.stat-img.img04 img {
  aspect-ratio: 372.02/252.448;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.client__wrap {
  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: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 2.7375rem;
     -moz-column-gap: 2.7375rem;
          column-gap: 2.7375rem;
  margin-top: 2.5rem;
}

.grid-client {
  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: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 1.25rem;
  width: 76.36%;
}
@media screen and (max-width: 768px) {
  .grid-client {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    width: 100%;
  }
}

.stat-description-note {
  font-size: 12px;
}

.grid-member {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 3.5rem;
     -moz-column-gap: 3.5rem;
          column-gap: 3.5rem;
}

.page-about .member__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 4.72125rem;
     -moz-column-gap: 4.72125rem;
          column-gap: 4.72125rem;
}
@media screen and (max-width: 768px) {
  .page-about .member__wrap {
    display: block;
  }
}

.grid-member .stats-grid-top {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .grid-member .stats-grid-top {
    margin-top: 1.25rem;
    width: 100%;
  }
}

.grid-team {
  width: 57.82%;
}
@media screen and (max-width: 768px) {
  .grid-team {
    width: 100%;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .grid-team .stat-card03::before {
    content: "";
    background-image: url(../images/page-about/04-sp.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 5.4476875rem;
    height: 2.6920625rem;
    position: absolute;
    bottom: -0.66875rem;
    right: 0.74rem;
  }
}

.grid-team .stat-card__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;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .grid-team .stat-card__flex {
    margin-top: 0.625rem;
  }
}

.grid-team .stat-number {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4333333333;
}
@media screen and (max-width: 768px) {
  .grid-team .stat-number {
    font-size: 1.25rem;
  }
}

.grid-team .stat-card03 .stat-description {
  width: 100%;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .grid-team .stat-card03 .stat-description {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .grid-team .client__wrap {
    display: block;
  }
}

/* ===========================
   沿革（Company History）
   =========================== */

.company-history {
  background-color: #F8F7F3;
  padding: 2.5rem 0 5rem;
}
@media screen and (max-width: 768px) {
  .company-history {
    padding: 1.75rem 0 3rem;
  }
}

.company-history__container {
  max-width: 57.25rem;
  margin-inline: auto;
}

/* リード文 */
.company-history__lead {
  margin: 1.5rem 0 2.25rem;
  padding: 1.5rem 2rem;
  background-color: #ffffff;
  border-left: 4px solid #ab8f50;
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(28, 42, 72, 0.04);
}
@media screen and (max-width: 768px) {
  .company-history__lead {
    margin: 1.25rem 0 1.75rem;
    padding: 1.25rem 1.25rem;
  }
}

.company-history__lead-catch {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1C2A48;
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 768px) {
  .company-history__lead-catch {
    font-size: 1.0625rem;
  }
}

.company-history__lead-text {
  font-size: 0.9375rem;
  color: #333333;
  line-height: 1.85;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .company-history__lead-text {
    font-size: 0.8125rem;
    line-height: 1.75;
  }
}

/* タイムラインリスト */
.history-list {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}

/* 縦線 */
.history-list::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.6rem;
  bottom: 0.6rem;
  left: calc(9.5rem + 6px);
  width: 2px;
  background-color: #D6D3C7;
}
@media screen and (max-width: 768px) {
  .history-list::before {
    left: calc(4.5rem + 6px);
  }
}

.history-item {
  display: flex;
  align-items: flex-start;
  gap: 0;
  position: relative;
  padding: 0 0 2.5rem 0;
}
.history-item:last-child {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .history-item {
    padding: 0 0 2rem 0;
  }
}

/* 年号 */
.history-year-wrap {
  flex: 0 0 9.5rem;
  text-align: right;
  padding-right: 1.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .history-year-wrap {
    flex: 0 0 4.5rem;
    padding-right: 0.75rem;
  }
}

.history-year {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1C2A48;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .history-year {
    font-size: 1rem;
  }
}

.history-era {
  font-size: 0.75rem;
  color: #8A8878;
  margin-top: 0.2rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .history-era {
    font-size: 0.625rem;
  }
}

/* ドット */
.history-dot {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #E6CA2F;
  border: 2px solid #1C2A48;
  position: relative;
  top: 0.25rem;
  margin: 0;
  z-index: 1;
  flex-shrink: 0;
}

.history-item--current .history-dot {
  width: 16px;
  height: 16px;
  background-color: #ab8f50;
  border-color: #1C2A48;
  box-shadow: 0 0 0 4px rgba(171, 143, 80, 0.25);
  top: 0.2rem;
}

/* コンテンツ */
.history-content {
  flex: 1;
  padding-left: 1.75rem;
}
@media screen and (max-width: 768px) {
  .history-content {
    padding-left: 1rem;
  }
}

/* イベント */
.history-event + .history-event {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px dashed #DDD9CE;
}
@media screen and (max-width: 768px) {
  .history-event + .history-event {
    margin-top: 1.25rem;
    padding-top: 1rem;
  }
}

.history-event__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1C2A48;
  line-height: 1.45;
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .history-event__title {
    font-size: 0.9375rem;
    margin-bottom: 0.35rem;
  }
}

.history-event__desc {
  font-size: 0.9375rem;
  color: #333333;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .history-event__desc {
    font-size: 0.8125rem;
    line-height: 1.7;
  }
}

.history-event__desc p + p {
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .history-event__desc p + p {
    margin-top: 0.5rem;
  }
}

.history-event__highlight {
  font-weight: 700;
  color: #1C2A48;
}

/* 現在（TODAY）ハイライト */
.history-item--current .history-year {
  color: #ab8f50;
  font-size: 1.35rem;
}
@media screen and (max-width: 768px) {
  .history-item--current .history-year {
    font-size: 0.9375rem;
  }
}

.history-item--current .history-event__title {
  color: #ab8f50;
  font-size: 1.1875rem;
}
@media screen and (max-width: 768px) {
  .history-item--current .history-event__title {
    font-size: 1rem;
  }
}

.board-member {
  background-color: #ffffff;
  padding: 11.25rem 0 16.75rem;
}
@media screen and (max-width: 768px) {
  .board-member {
    padding: 5rem 0;
  }
}

.board-member__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-column-gap: 3.375rem;
     -moz-column-gap: 3.375rem;
          column-gap: 3.375rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .board-member__wrap {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 1.875rem;
    margin-top: 2.5rem;
  }
}

.board-member__item-img img {
  aspect-ratio: 330/234;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.board-member__item-name {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: left;
  margin-top: 0.5625rem;
}
@media screen and (max-width: 768px) {
  .board-member__item-name {
    font-size: 16px;
  }
}

.board-member__item-name span.position {
  font-size: 1rem;
  font-weight: 700;
  padding-right: 0.625rem;
}
@media screen and (max-width: 768px) {
  .board-member__item-name span.position {
    display: block;
    font-size: 12px;
  }
}

.page-news__inner {
  max-width: 1366px;
  margin-inline: auto;
}
.page-news__title {
  margin-bottom: 0;
}

.page-news__wrap {
  width: 72.73%;
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .page-news__wrap {
    padding: 0 27px;
    width: 100%;
  }
}

.page-news__tablist {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page-news__tablist {
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
  }
}

.page-news__tab {
  border: 1px solid #464646;
  color: #464646;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
  padding: 0.3125rem 0;
  text-align: center;
  text-transform: uppercase;
  width: 30.01%;
}
.page-news__tab[aria-selected=true] {
  background-color: #464646 !important;
  color: #ffffff;
  position: relative;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .page-news__tab {
    font-size: 0.75rem;
    padding: 0.1875rem 0;
    width: calc((100% - 20px) / 3);
  }
}

.page-news__contents {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .page-news__contents {
    width: 100%;
    margin-top: 2.5rem;
  }
}

.page-news__content-wrap {
  border-bottom: 1px solid #A5A5A5;
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 10px;
  -webkit-transition: opacity 1s ease, translate 0.5s ease;
  transition: opacity 1s ease, translate 0.5s ease;
}
.page-news__content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  translate: 0;
}

.page-news__content {
  padding: 1.875rem 0;
  padding-right: 1.25rem;
  border-bottom: 1px solid #A5A5A5;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-news__content {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    padding: 1.25rem 0;
    padding-right: 0;
  }
}

.page-news__content a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .page-news__content a {
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.page-news__content::before {
  content: "";
  background-image: url(../images/common/arrow.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 0.875rem;
  height: 0.875rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}
@media screen and (max-width: 768px) {
  .page-news__content::before {
    content: none;
  }
}

.page-news__content:hover::before {
  background-image: url(../images/common/arrow-w.svg);
}

.page-news__content::after {
  content: "";
  background-color: #464646;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 50px;
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -0.75rem;
  opacity: 0;
  z-index: -1;
  -webkit-transform: translateY(-50%) scale(0.8);
          transform: translateY(-50%) scale(0.8); /* 初期状態で少し小さく */
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; /* ゆっくり変化 */
}
@media screen and (max-width: 768px) {
  .page-news__content::after {
    content: none;
  }
}

.page-news__content:hover::after {
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1); /* 通常サイズに拡大 */
  opacity: 1; /* フェードイン */
}

.page-news__content:first-of-type {
  padding-top: 0;
}

.page-news__content-img {
  width: 15%;
}
@media screen and (max-width: 768px) {
  .page-news__content-img {
    width: 27.27%;
  }
}

.page-news__content-img img {
  aspect-ratio: 120/80;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 768px) {
  .page-news__content-r {
    width: 66.67%;
  }
}

.page-news__btn {
  margin-top: 3.75rem;
  text-align: right;
}

.page-news__content-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .page-news__content-meta {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    margin-bottom: 0.8125rem;
  }
}

.page-news__content-time {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: normal;
}
@media screen and (max-width: 768px) {
  .page-news__content-time {
    font-size: 0.875rem;
  }
}

.page-news__content-category.information {
  padding: 3px 10px;
  min-width: 88px;
  text-align: center;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
  background: #ab8f50;
  width: 8.75rem;
}
@media screen and (max-width: 768px) {
  .page-news__content-category.information {
    width: 6.25rem;
    font-size: 0.75rem;
  }
}

.page-news__content-category.event {
  padding: 3px 10px;
  min-width: 88px;
  text-align: center;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
  background: #1C2A48;
  width: 8.75rem;
}
@media screen and (max-width: 768px) {
  .page-news__content-category.event {
    width: 6.25rem;
    font-size: 0.75rem;
  }
}

.page-news__content-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
}
@media screen and (max-width: 768px) {
  .page-news__content-text {
    font-size: 0.875rem;
  }
}

.page-news__content-wrap {
  display: none;
}

.page-news__content-wrap.js-show {
  display: block;
}

.page-news__tab[aria-selected=true] {
  background-color: #000;
  color: #fff;
}

.page-news-detail__wrap {
  width: 56.25rem;
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .page-news-detail__wrap {
    padding: 0 27px;
    width: 100%;
  }
}

.page-news__detail-title {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4333333333;
}
@media screen and (max-width: 768px) {
  .page-news__detail-title {
    font-size: 1.25rem;
  }
}

.page-news-detail h3 {
  font-size: 1.125rem;
  font-weight: 500;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .page-news-detail h3 {
    font-size: 1rem;
    margin-top: 2.5rem;
  }
}

.page-news-detail p {
  font-size: 0.875rem;
  font-weight: 500;
  margin-top: 4.8125rem;
  margin-top: 2.5rem;
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .page-news-detail p {
    margin-top: 1.25rem;
  }
}

.page-news-detail img {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .page-news-detail img {
    margin-top: 2.5rem;
  }
}

.page-news-detail__btn {
  margin-top: 7.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-news-detail__btn {
    margin-top: 2.5rem;
  }
}

.page-member__inner {
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .page-member .page-content {
    padding-bottom: 11.25rem;
  }
}

@media screen and (max-width: 768px) {
  .page-member__container {
    padding: 0 27px;
    max-width: 600px;
    margin-inline: auto;
  }
}

.page-member__blocks {
  max-width: 1366px;
  margin-inline: auto;
  width: 87.85%;
}
@media screen and (max-width: 768px) {
  .page-member__blocks {
    width: 100%;
  }
}

.page-member__block a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 4.85rem;
     -moz-column-gap: 4.85rem;
          column-gap: 4.85rem;
  padding: 2.5rem 2.9375rem;
  position: relative;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
}
@media screen and (max-width: 768px) {
  .page-member__block a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
    width: 100%;
  }
}

.page-member__block:hover {
  -webkit-box-shadow: 0px 0px 6px 0px rgba(34, 34, 34, 0.2), 4px 4px 4px 0px rgba(34, 34, 34, 0.3);
          box-shadow: 0px 0px 6px 0px rgba(34, 34, 34, 0.2), 4px 4px 4px 0px rgba(34, 34, 34, 0.3);
}
@media screen and (max-width: 768px) {
  .page-member__block:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.page-member__block + .page-member__block {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .page-member__block + .page-member__block {
    margin-top: 3.75rem;
  }
}

.page-member__block-l {
  margin-left: 7.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-member__block-l {
    margin-left: 2.5rem;
  }
}

.page-member__block-r {
  margin-top: 1.125rem;
}
@media screen and (max-width: 768px) {
  .page-member__block-r {
    margin-top: 0;
  }
}

.page-member__img {
  width: 25rem;
  position: relative;
  --scaleY:1;
}
@media screen and (max-width: 768px) {
  .page-member__img {
    width: 16.58375rem;
    max-width: 460px;
  }
}

.page-member__img img {
  aspect-ratio: 500/333;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .page-member__img img {
    aspect-ratio: 265.34/176.716;
  }
}

.page-member__img::before {
  content: "";
  aspect-ratio: 226.5/333;
  background-image: url(../images/top/member/member-l.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  position: absolute;
  top: 0;
  left: -4.53125rem;
  -webkit-transform: scaleY(var(--scaleY));
          transform: scaleY(var(--scaleY));
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .page-member__img::before {
    left: -1.80375rem;
  }
}

.page-member__img::after {
  content: "";
  aspect-ratio: 158/333;
  background-image: url(../images/top/member/member-r.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: scaleY(var(--scaleY));
          transform: scaleY(var(--scaleY));
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.page-member__text-wrap {
  position: absolute;
  bottom: 0.625rem;
  left: -6.375rem;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .page-member__text-wrap {
    bottom: 0.24875rem;
    left: -2.79625rem;
  }
}

.page-member__text {
  background-color: #ffffff;
  display: block;
  color: #222222;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4642857143;
  padding: 0.25rem 1.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .page-member__text {
    font-size: 0.9286875rem;
    padding: 0.125rem 0.74375rem;
  }
}

.page-member__text::before {
  content: "";
  background-color: #222222;
  width: 101%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -1px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  z-index: -1;
}

/* .page-member__block をホバーしたときの変化 */
.page-member__block:hover .page-member__text {
  color: #e6ca2f; /* ホバー時の文字色 */
}

.page-member__block:hover .page-member__text::before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}

.page-member__block:hover .page-member__img::before {
  left: -5.78125rem;
}
@media screen and (max-width: 768px) {
  .page-member__block:hover .page-member__img::before {
    left: -2.42875rem;
  }
}

.page-member__block:hover .page-member__img::after {
  right: -0.625rem;
}
@media screen and (max-width: 768px) {
  .page-member__block:hover .page-member__img::after {
    right: -0.25rem;
  }
}

.page-member__block:hover .btn-surround-m::after {
  border-top: 1.5px solid #ffffff;
  border-right: 1.5px solid #ffffff;
}

.page-member__text + .page-member__text {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .page-member__text + .page-member__text {
    margin-top: 0.24875rem;
  }
}

.page-member__name-en {
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1.4583333333;
  text-align: right;
  text-transform: uppercase;
  position: absolute;
  top: 0.3125rem;
  left: -3.75rem;
}
@media screen and (max-width: 768px) {
  .page-member__name-en {
    font-size: 0.75rem;
    top: 0.125rem;
    left: -1.48625rem;
  }
}

.page-member__name-ja {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.4375;
  text-align: right;
  text-transform: uppercase;
  position: absolute;
  top: 2.25rem;
  left: -3.75rem;
}
@media screen and (max-width: 768px) {
  .page-member__name-ja {
    font-size: 0.6625rem;
    top: 1.145rem;
    left: -1.48625rem;
  }
}

.page-member__lead {
  color: #ab8f50;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .page-member__lead {
    font-size: 1rem;
    margin-top: 0.625rem;
  }
}

.page-member__summary {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .page-member__summary {
    font-size: 0.75rem;
    margin-top: 0.625rem;
  }
}

.page-member__btn.container {
  margin-top: 2.5rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .page-member__btn.container {
    margin-top: 1.25rem;
  }
}

.page-member__block:hover .btn-surround-m span {
  color: #ffffff;
}

.page-member__block:hover .btn-surround-m {
  background-color: #ab8f50;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .page-member__container {
    padding: 0 27px;
  }
}

.page-member-detail .page-member__block {
  margin-left: 7.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-member-detail .page-member__block {
    margin-left: 2.5rem;
  }
}

.page-member-detail .page-member__block:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.page-member-detail .page-member__img {
  width: 41.977625rem;
  position: relative;
  --scaleY:1;
}
@media screen and (max-width: 768px) {
  .page-member-detail .page-member__img {
    width: 16.58375rem;
  }
}

.page-member-detail .page-member__img img {
  aspect-ratio: 500/333;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .page-member-detail .page-member__img img {
    aspect-ratio: 265.34/176.716;
  }
}

.page-member-detail .page-member__img::before {
  content: "";
  aspect-ratio: 226.5/333;
  background-image: url(../images/top/member/member-l.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  position: absolute;
  top: 0;
  left: -4.53125rem;
  -webkit-transform: scaleY(var(--scaleY));
          transform: scaleY(var(--scaleY));
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .page-member-detail .page-member__img::before {
    left: -1.80375rem;
  }
}

.page-member-detail .page-member__img::after {
  content: "";
  aspect-ratio: 158/333;
  background-image: url(../images/top/member/member-r.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}

.page-member-detail .page-member__text-wrap {
  position: absolute;
  bottom: 0.625rem;
  left: -6.375rem;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .page-member-detail .page-member__text-wrap {
    bottom: 0.24875rem;
    left: -2.79625rem;
  }
}

.page-member-detail .page-member__text {
  background-color: #ffffff;
  display: block;
  color: #222222;
  font-size: 2.35075rem;
  font-weight: 700;
  line-height: 1.4642857143;
  padding: 0.25rem 1.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .page-member-detail .page-member__text {
    font-size: 0.6965rem;
    padding: 0.125rem 0.74375rem;
  }
}

.page-member-detail .page-member__text::before {
  content: "";
  background-color: #222222;
  width: 101%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -1px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  z-index: -1;
}

.page-member-detail__summary {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .page-member-detail__summary {
    font-size: 0.75rem;
    margin-top: 1.25rem;
  }
}

.page-member-detail__faq {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .page-member-detail__faq {
    margin-top: 3.75rem;
  }
}

.page-member-detail__faq-num {
  color: #ab8f50;
  font-size: 1.25rem;
  font-weight: 500;
  padding-left: 4.6875rem;
  position: relative;
}

.page-member-detail__faq-num::before {
  content: "";
  background-color: #ab8f50;
  height: 1px;
  width: 7.5rem;
  position: absolute;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -3.4375rem;
}
@media screen and (max-width: 768px) {
  .page-member-detail__faq-num::before {
    width: 3.75rem;
    left: 0;
  }
}

.page-member-detail__faq-q {
  color: #ab8f50;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4642857143;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .page-member-detail__faq-q {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
}

.page-member-detail__faq-a {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 2.5rem;
  white-space: pre-wrap;
}
@media screen and (max-width: 768px) {
  .page-member-detail__faq-a {
    font-size: 0.75rem;
    margin-top: 1.25rem;
  }
}

.page-member-detail__faq-a + .page-member-detail__faq-a {
  margin-top: 2em;
}

.article__container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 6.174375rem;
     -moz-column-gap: 6.174375rem;
          column-gap: 6.174375rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-right: 8.3125rem;
  padding-left: 8.3125rem;
  margin-inline: auto;
  max-width: 1366px;
}
@media screen and (max-width: 768px) {
  .article__container {
    padding-right: 1.6875rem;
    padding-left: 1.6875rem;
  }
}

.article__sidebar {
  position: sticky;
  top: 6.25rem;
  width: 200px;
}
@media screen and (max-width: 768px) {
  .article__sidebar {
    display: none;
  }
}

.sidebar-members {
  margin-top: 1.25rem;
  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.5rem;
}

.other-member {
  border-bottom: 1px solid #ab8f50;
  color: #ab8f50;
  font-size: 1.125rem;
  font-weight: 500;
}

.page-member__other-img {
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}

.page-member__other-img:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.article__contents {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.article__sidebar .page-member__block:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.article__sidebar .page-member__block + .page-member__block {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .article__sidebar .page-member__block + .page-member__block {
    margin-top: 3.75rem;
  }
}

.article__sidebar .page-member__block {
  margin-left: 7.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .article__sidebar .page-member__block {
    margin-left: 3.125rem;
  }
}

.article__sidebar .page-member__img {
  width: 10.364875rem;
  position: relative;
  --scaleY:1;
}

.article__sidebar .page-member__img img {
  aspect-ratio: 165.838/110.448;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .article__sidebar .page-member__img img {
    aspect-ratio: 265.34/176.716;
  }
}

.article__sidebar .page-member__text-wrap {
  position: absolute;
  bottom: 0.625rem;
  left: -6.375rem;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .article__sidebar .page-member__text-wrap {
    bottom: 0.24875rem;
    left: -2.79625rem;
  }
}

.article__sidebar .page-member__text {
  background-color: #ffffff;
  display: block;
  color: #222222;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.4642857143;
  padding: 0.25rem 1.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .article__sidebar .page-member__text {
    font-size: 0.625rem;
    padding: 0.125rem 0.74375rem;
  }
}

.article__sidebar .page-member__text::before {
  content: "";
  background-color: #222222;
  width: 101%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -1px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  z-index: -1;
}

/* 全体のレイアウト */
.post-navigation--member {
  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-top: 1px solid #A5A5A5;
  border-bottom: 1px solid #A5A5A5;
  padding: 2.5rem 0;
  gap: 7.5rem;
  margin-top: 11.25rem;
}
@media screen and (max-width: 768px) {
  .post-navigation--member {
    -webkit-column-gap: 3.75rem;
       -moz-column-gap: 3.75rem;
            column-gap: 3.75rem;
    padding: 1.25rem 0;
    margin-top: 5rem;
  }
}

/* 前後リンク共通 */
.post-navigation--member a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-decoration: none;
  width: 48%;
  -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;
}

.post-navigation--member a:hover {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}

.nav-text {
  width: 59.86%;
}
@media screen and (max-width: 768px) {
  .nav-text {
    width: 100%;
  }
}

/* ナビゲーションラベル */
.nav-label {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: #ab8f50; /* ゴールドっぽい色 */
  margin-bottom: 2px;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .nav-label {
    font-size: 0.75rem;
    text-align: left;
  }
}

.nav-details {
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}

.nav-details.reverse .nav-label {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .nav-details.reverse .nav-label {
    text-align: right;
  }
}

/* サムネイルとテキストのレイアウト */
.nav-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .nav-details {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.nav-details.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 0.9375rem;
     -moz-column-gap: 0.9375rem;
          column-gap: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .nav-details.reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* サムネイル画像 */
.nav-thumb {
  width: 37.14%;
}
@media screen and (max-width: 768px) {
  .nav-thumb {
    width: 100%;
  }
}

.nav-thumb img {
  -o-object-fit: cover;
     object-fit: cover;
}

/* タイトルと抜粋 */
.nav-text .nav-title {
  font-size: 1rem;
  font-weight: bold;
  margin: 0 0 5px;
  padding-left: 0.375rem;
}
@media screen and (max-width: 768px) {
  .nav-text .nav-title {
    font-size: 10px;
    padding-left: 0;
  }
}

.nav-previous .nav-title {
  text-align: right;
  padding-right: 5px;
}

.nav-details.reverse .nav-title {
  padding-left: 0.375rem;
}

/* 矢印の位置調整 */
.nav-previous .nav-label::before {
  content: "";
  display: inline-block;
  background-image: url(../images/common/arrow-g.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-right: 0.625rem;
}
@media screen and (max-width: 768px) {
  .nav-previous .nav-label::before {
    width: 11px;
    height: 11px;
    margin-right: 10px;
  }
}

.nav-next .nav-label::after {
  content: "";
  display: inline-block;
  background-image: url(../images/common/arrow-g.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 0.75rem;
  height: 0.75rem;
  margin-left: 0.625rem;
}
@media screen and (max-width: 768px) {
  .nav-next .nav-label::after {
    width: 11px;
    height: 11px;
    margin-left: 10px;
  }
}

.post-navigation__list a {
  display: block;
  color: #ab8f50;
  font-size: 1rem;
  font-weight: 700;
  text-align: left;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .post-navigation__list a {
    font-size: 12px;
    margin-top: 2.5rem;
  }
}

.post-navigation__list a::before {
  content: "";
  display: inline-block;
  background-image: url(../images/common/arrow-g.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-right: 0.625rem;
}
@media screen and (max-width: 768px) {
  .post-navigation__list a::before {
    width: 11px;
    height: 11px;
    margin-right: 10px;
  }
}

.page-pickup__container {
  padding: 0 5.1875rem;
}
@media screen and (max-width: 1024px) {
  .page-pickup__container {
    padding: 0 3.3125rem;
  }
}
@media screen and (max-width: 768px) {
  .page-pickup__container {
    padding: 0 27px;
  }
}

.page-pickup__tablist {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  row-gap: 1.25rem;
  padding-left: 3.125rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page-pickup__tablist {
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
    row-gap: 0.625rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-left: 0;
  }
}

.page-pickup__tab {
  border: 1px solid #464646;
  border-radius: 40px;
  color: #464646;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
  padding: 0.4375rem 2rem 0.5rem;
  text-align: center;
  text-transform: uppercase;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.page-pickup__tab[aria-selected=true] {
  background-color: #464646 !important;
  color: #ffffff;
  position: relative;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .page-pickup__tab {
    font-size: 0.625rem;
    padding: 0.25rem 1.25rem;
  }
}

.page-pickup__contents {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .page-pickup__contents {
    width: 100%;
    margin-top: 2.5rem;
  }
}

.page-pickup__content-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  row-gap: 0.625rem;
  opacity: 0;
  visibility: hidden;
  height: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}
.page-pickup__content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  .page-pickup__content-wrap {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 2.5rem;
  }
}

.page-pickup__content.pick-up__item {
  padding: 2.5rem 3.125rem;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .page-pickup__content.pick-up__item {
    padding: 1.875rem 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .page-pickup__content.pick-up__item {
    padding: 0;
  }
}

.page-pickup__content.pick-up__item:hover {
  -webkit-box-shadow: 0px 0px 6px 0px rgba(34, 34, 34, 0.2), 4px 4px 4px 0px rgba(34, 34, 34, 0.3);
          box-shadow: 0px 0px 6px 0px rgba(34, 34, 34, 0.2), 4px 4px 4px 0px rgba(34, 34, 34, 0.3);
}
@media screen and (max-width: 768px) {
  .page-pickup__content.pick-up__item:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.page-pickup__content.pick-up__item a:hover {
  -webkit-transform: none;
          transform: none;
}

.page-pickup-detail .page-content {
  background-color: #ffffff;
  padding-top: 0;
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail .page-content {
    padding-bottom: 2.5rem;
  }
}

.page-pickup-detail__container {
  background-color: #F1F1F1;
  border-radius: 20px;
  padding: 2.8125rem 2.625rem 7.25rem 3rem;
  width: 65.89%;
  min-width: 600px;
  max-width: 1200px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__container {
    border-radius: 0;
    padding: 40px 27px;
    min-width: auto;
    width: 100%;
  }
}

.page-pickup-detail__title {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4333333333;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__title {
    font-size: 22px;
  }
}

.page-pickup-detail__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 0.625rem;
}

@media screen and (max-width: 768px) {
  .page-pickup-detail__meta {
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: flex-start;
  }
}

.page-pickup-detail__category.item-category {
  margin: 0;
}

.page-pickup-detail__date {
  font-size: 14px;
  font-weight: 500;
}

.page-pickup-detail__img {
  -webkit-box-shadow: 1.625rem 1.625rem 0px 0 #1C2A48;
          box-shadow: 1.625rem 1.625rem 0px 0 #1C2A48;
  margin-right: auto;
  margin-top: 2.5rem;
  margin-bottom: 6.625rem;
  width: 97.03%;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__img {
    -webkit-box-shadow: 8px 6px 0px 0 #1C2A48;
            box-shadow: 8px 6px 0px 0 #1C2A48;
    width: 95%;
    margin-top: 1.25rem;
    margin-bottom: 2.5rem;
    margin-inline: auto;
  }
}

.page-pickup-detail__index {
  background-color: #E2E0D4;
  padding: 2.5rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__index {
    padding: 1.25rem;
    margin-top: 2.5rem;
  }
}

.page-pickup-detail__index-head {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 1.25rem;
}

.page-pickup-detail__index li {
  font-size: 16px;
  font-weight: 500;
  padding-left: 1.375rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__index li {
    font-size: 12px;
    padding-left: 1rem;
  }
}

.page-pickup-detail__index li::before {
  content: "";
  background-color: #ab8f50;
  border-radius: 50px;
  width: 0.75rem;
  height: 0.75rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__index li::before {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.page-pickup-detail__index li + li {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__index li + li {
    margin-top: 0.625rem;
  }
}

/* 表のコンテナ */
.table-container {
  max-width: 800px;
  margin: 40px auto;
  padding: 20px;
  background-color: #fff;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}

/* 表のタイトル */
h2 {
  font-size: 18px;
  margin-bottom: 15px;
}

.table-wrap {
  width: 100%;
  margin-inline: auto;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  overflow-x: auto;
  /* Firefox用 */
  scrollbar-width: thin;
  scrollbar-color: #806D56 #E2E2E2;
}
@media screen and (max-width: 768px) {
  .table-wrap {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
.table-wrap::-webkit-scrollbar {
  height: 8px;
  -webkit-appearance: none;
}
.table-wrap::-webkit-scrollbar-track {
  background-color: #E2E2E2;
}
.table-wrap::-webkit-scrollbar-thumb {
  background-color: #806D56;
  border-radius: 4px;
}

/* 表のスタイル */
.custom-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #333333;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .custom-table {
    min-width: 520px;
  }
}

/* ヘッダー行のスタイル */
.custom-table thead,
.custom-table tr:first-child th,
.custom-table thead th {
  background-color: #E2E0D4;
  color: #333333;
  font-weight: 700;
}

/* セルのスタイル */
.custom-table th, .custom-table td {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  padding: 0.75rem 1rem;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #333333;
}
.custom-table th {
  background-color: #E2E0D4;
  font-weight: 700;
}
.custom-table td {
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .custom-table th, .custom-table td {
    padding: 0.5rem 0.625rem;
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .custom-table th.narrow,
  .custom-table td.narrow {
    width: 30%;
  }
}

/* 左側のグレー背景のセル */
.custom-table .gray-cell {
  background-color: #E2E0D4;
}

/* 右側の黄色背景のセル */
.custom-table .gold-header {
  background-color: #e6ca2f;
}

/* 右側の黄色い枠線の通常セル */
.custom-table .gold-cell {
  background-color: #ffffff;
  border: 1px solid #e6ca2f;
}

.page-pickup-detail__container h3 {
  background-color: #ab8f50;
  color: #ffffff;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4642857143;
  padding: 0.663125rem 1.25rem 0.711875rem;
  margin-top: 5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__container h3 {
    font-size: 18px;
    padding: 0.538125rem 1.125rem 0.586875rem;
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
  }
}

.page-pickup-detail__container p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4285714286;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__container p {
    font-size: 16px !important;
    /* font-size: 13px; */
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}

.page-pickup-detail__container span {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__container span {
    font-size: 13px;
    margin-top: 0.5rem;
  }
}

.page-pickup-detail__container p .bold {
  font-weight: 700;
}

.page-pickup-detail__container h4 {
  border-bottom: 1px solid #ab8f50;
  color: #ab8f50;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.4615384615;
  padding-bottom: 0.625rem;
  margin-top: 5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .page-pickup-detail__container h4 {
    font-size: 16px;
    padding-bottom: 0.375rem;
    margin-top: 1.875rem;
    margin-bottom: 1.25rem;
  }
}

.share-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .share-buttons {
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
  }
}

.share-buttons li a {
  display: block;
  width: 1.875rem;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
@media screen and (max-width: 768px) {
  .share-buttons li a {
    width: 20px;
  }
}

.share-buttons li a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .page-pickup-detail .post-navigation__list {
    margin-top: 2.5rem;
  }
}

.page-pickup-detail .post-navigation__list a {
  padding-left: 8.3125rem;
}
@media screen and (max-width: 1024px) {
  .page-pickup-detail .post-navigation__list a {
    padding-left: 5.6875rem;
  }
}
@media screen and (max-width: 768px) {
  .page-pickup-detail .post-navigation__list a {
    padding-left: 27px;
  }
}

.page-pickup-detail .post-navigation__list a {
  margin-top: 0;
}

.page-voice__container {
  padding-left: 7.875rem;
  padding-right: 8.5rem;
}
@media screen and (max-width: 1024px) {
  .page-voice__container {
    padding-left: 3.5rem;
    padding-right: 4.125rem;
  }
}
@media screen and (max-width: 768px) {
  .page-voice__container {
    padding: 0 27px;
    max-width: 600px;
    margin-inline: auto;
  }
}

.voice__wrap {
  max-width: 1366px;
  margin-inline: auto;
}

.voice__tablist {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  padding-left: 1.875rem;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .voice__tablist {
    padding-left: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .voice__tablist {
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
    row-gap: 0.625rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-left: 0;
  }
}

.voice__tab {
  border: 1px solid #1C2A48;
  border-radius: 40px;
  color: #1C2A48;
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
  padding: 0.4375rem 2rem 0.5rem;
  text-align: center;
  text-transform: uppercase;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.voice__tab[aria-selected=true] {
  background-color: #1C2A48 !important;
  color: #ffffff;
  position: relative;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .voice__tab {
    font-size: 10px;
    padding: 4px 20px;
  }
}

.voice__contents {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .voice__contents {
    width: 100%;
    margin-top: 2.5rem;
  }
}

.voice__content-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  row-gap: 2.5rem;
  opacity: 0;
  visibility: hidden;
  height: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}
.voice__content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  .voice__content-wrap {
    grid-template-columns: 1fr;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 2.5rem;
  }
}

.page-voice__container .voice__item {
  padding-right: 0;
  position: relative;
}

.page-voice__container .voice__item a {
  display: inline-block;
  padding: 1.875rem 2.5rem;
}
@media screen and (max-width: 1024px) {
  .page-voice__container .voice__item a {
    padding: 1.25rem 1.875rem;
  }
}
@media screen and (max-width: 768px) {
  .page-voice__container .voice__item a {
    padding: 0;
  }
}

.page-voice__container .voice__item:hover {
  -webkit-box-shadow: 0px 0px 6px 0px rgba(34, 34, 34, 0.2), 4px 4px 4px 0px rgba(34, 34, 34, 0.3);
          box-shadow: 0px 0px 6px 0px rgba(34, 34, 34, 0.2), 4px 4px 4px 0px rgba(34, 34, 34, 0.3);
}
@media screen and (max-width: 768px) {
  .page-voice__container .voice__item:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

@media screen and (max-width: 768px) {
  .page-voice .voice__item-name {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .page-voice .voice__item-body {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .page-voice .voice__item-wrap {
    margin-top: 10px;
  }
}

.page-voice-detail .voice__item-service {
  display: block;
  margin-bottom: 0.498125rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: static;
}

.page-voice-detail .voice__item-lead {
  display: block;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4333333333;
}
@media screen and (max-width: 768px) {
  .page-voice-detail .voice__item-lead {
    font-size: 16px;
    line-height: 1.4375;
  }
}

.page-voice-detail .voice__item-name {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .page-voice-detail .voice__item-name {
    margin-top: 10px;
  }
}

.page-voice-detail .voice__item-img {
  margin-top: 1.25rem;
}

.page-voice-detail .voice__item-name-t {
  margin-top: 0;
}

.overview {
  background-color: #fdfbf5;
  border: 1px solid #c5b89f;
  padding: 3.375rem 3.125rem;
  margin-top: 5rem;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .overview {
    padding: 2.5rem 2.25rem;
  }
}
@media screen and (max-width: 768px) {
  .overview {
    padding: 1.5625rem 1.25rem;
    margin-top: 1.25rem;
  }
}

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

.overview__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .overview__row {
    row-gap: 10px;
  }
}

/* @media screen and (max-width: 768px) { */
  .overview__row-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
/* } */

.overview__label {
  display: inline-block;
  color: #ab8f50;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.2em;
  text-wrap: nowrap;
}
@media screen and (max-width: 1024px) {
  .overview__label {
    font-size: 14px;
  }
}

.overview__separator {
  display: inline-block;
  color: #ab8f50;
  padding-left: 1.25rem;
}
@media screen and (max-width: 1024px) {
  .overview__separator {
    font-size: 16px;
    padding-left: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .overview__separator {
    padding-left: 10px;
  }
}

.overview__value {
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  padding-left: 1.25rem;
}
@media screen and (max-width: 1024px) {
  .overview__value {
    font-size: 14px;
    padding-left: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .overview__value {
    padding-left: 10px;
  }
}

.overview__description {
  /* font-size: 0.875rem; */
  font-size: 1rem;
  font-weight: 500;
  /* line-height: 1.4285714286; */
  line-height: 1.6285714286;
  margin-top: 1.875rem;
}
@media screen and (max-width: 1024px) {
  .overview__description {
    font-size: 14px;
    margin-top: 20px;
  }
}

.before-after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.375rem;
     -moz-column-gap: 1.375rem;
          column-gap: 1.375rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .before-after {
    -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;
    margin-top: 3.75rem;
    row-gap: 0.875rem;
  }
}

.before,
.after {
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 2.5rem 1.9375rem;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .before,
  .after {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    row-gap: 1.875rem;
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
    padding: 28px;
    width: 100%;
  }
}

.before-title__en {
  font-size: 1rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  line-height: 1.4375;
  text-transform: capitalize;
  text-align: center;
  margin-top: 0 !important;
}
@media screen and (max-width: 768px) {
  .before-title__en {
    font-size: 12px !important;
  }
}

.after-title__en {
  color: #e6ca2f;
  font-size: 1rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  line-height: 1.4375;
  text-transform: capitalize;
  text-align: center;
  margin-top: 0 !important;
}
@media screen and (max-width: 768px) {
  .after-title__en {
    font-size: 10px !important;
  }
}

.before-title__en::before,
.before-title__en::after {
  content: "";
  width: 1px;
  height: 7px;
  background-color: #1C2A48;
}

.before-title__en::before {
  margin-right: 10px;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
}
@media screen and (max-width: 768px) {
  .before-title__en::before {
    margin-right: 5px;
  }
}

.before-title__en::after {
  margin-left: 10px;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
}
@media screen and (max-width: 768px) {
  .before-title__en::after {
    margin-left: 5px;
  }
}

.after-title__en::before,
.after-title__en::after {
  content: "";
  width: 1px;
  height: 7px;
  background-color: #e6ca2f;
}

.after-title__en::before {
  margin-right: 10px;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
}
@media screen and (max-width: 768px) {
  .after-title__en::before {
    margin-right: 5px;
  }
}

.after-title__en::after {
  margin-left: 10px;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
}
@media screen and (max-width: 768px) {
  .after-title__en::after {
    margin-left: 5px;
  }
}

.before-title__ja,
.after-title__ja {
  color: #1C2A48;
  font-size: 1.875rem !important;
  font-weight: 700;
  line-height: 0.1405228758;
  text-align: center;
  margin-top: 0 !important;
}
@media screen and (max-width: 768px) {
  .before-title__ja,
  .after-title__ja {
    font-size: 16px !important;
  }
}

.before-title-img {
  width: 6.472125rem;
  margin-top: 1.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .before-title-img {
    width: 4.375rem;
  }
}

.before-title-img img {
  aspect-ratio: 103.554/80;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.before-body {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .before-body {
    margin-top: 0;
  }
}

.after-body {
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .after-body {
    margin-top: 0;
  }
}

.before-body__item,
.after-body__item {
  color: #1C2A48;
  /* font-size: 0.875rem; */
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4285714286;
  padding-left: 1.125rem;
  text-indent: -1em;
  /* margin-left: 0.3rem; */
}
@media screen and (max-width: 1024px) {
  .before-body__item,
  .after-body__item {
    font-size: 14px;
  }
}

.before-body__item:not(:last-of-type),
.after-body__item:not(:last-of-type) {
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 768px) {
  .before-body__item:not(:last-of-type),
  .after-body__item:not(:last-of-type) {
    margin-bottom: 0.3125rem;
  }
}

.before-body__item::before,
.after-body__item::before {
  content: "";
  display: inline-block;
  background-color: #1C2A48;
  border-radius: 50px;
  width: 0.625rem;
  height: 0.625rem;
  margin-right: 0.5rem;
  /* padding-left: 0.5rem; */
  margin-bottom: 0.1875rem;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .before-body__item::before,
  .after-body__item::before {
    width: 8px;
    height: 8px;
    margin-right: 5px;
  }
}

.before-body__item + .before-body__item {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .before-body__item + .before-body__item {
    margin-top: 0.625rem;
  }
}

.after-title-img {
  width: 6.0935625rem;
  margin-top: 0.9375rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .after-title-img {
    width: 4.3749375rem;
    margin-top: 1.25rem;
  }
}

.after-title-img img {
  aspect-ratio: 97.497/89.999;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.before-after__arrow {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 13.25rem;
}
@media screen and (max-width: 768px) {
  .before-after__arrow {
    height: auto;
    margin-top: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    width: 1.25rem;
  }
}

.page-voice-detail__contents h2,
.page-voice-detail__contents h3 {
  color: #ab8f50;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.45;
  padding-bottom: 1.25rem;
  margin-top: 5rem;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .page-voice-detail__contents h2,
  .page-voice-detail__contents h3 {
    font-size: 16px;
    padding-bottom: 10px;
    margin-top: 3.75rem;
  }
}

.page-voice-detail__contents h2::before,
.page-voice-detail__contents h3::before {
  content: "";
  background-color: #ab8f50;
  background-position: bottom left;
  width: 7.5rem;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .page-voice-detail__contents h2::before,
  .page-voice-detail__contents h3::before {
    height: 1px;
  }
}

.page-voice-detail__contents p {
  /* font-size: 0.875rem; */
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4285714286;
  margin-top: 1.25rem;
}
@media screen and (max-width: 1024px) {
  .page-voice-detail__contents p {
    font-size: 14px;
    margin-top: 10px;
  }
}

.article__container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 6.174375rem;
     -moz-column-gap: 6.174375rem;
          column-gap: 6.174375rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-right: 8.3125rem;
  padding-left: 8.3125rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .article__container {
    padding-right: 1.6875rem;
    padding-left: 1.6875rem;
  }
}

.page-voice-detail .article__sidebar {
  width: 12.5rem;
  min-width: 140px;
  position: static;
}
@media screen and (max-width: 768px) {
  .page-voice-detail .article__sidebar {
    display: none;
  }
}

.sidebar-item + .sidebar-item {
  margin-top: 2.5rem;
}

.sidebar-voices {
  margin-top: 2.5rem;
}

.sidebar-title {
  border-bottom: 1px solid #ab8f50;
  color: #ab8f50;
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .sidebar-title {
    font-size: 14px;
  }
}

.sidebar-voices .voice__item-img {
  margin-bottom: 0.625rem;
}

.sidebar-voices .voice__item-lead {
  font-size: 1rem;
  margin-top: 0.5rem;
  display: inline;
  text-align: left;
  position: relative;
  padding-bottom: 0.1em;
  text-decoration: none;
  background-image: -webkit-gradient(linear, left top, right top, from(#ab8f50), to(#ab8f50));
  background-image: linear-gradient(to right, #ab8f50 0%, #ab8f50 100%);
  background-size: 0% 1px; /* 初期状態で下線を隠す */
  background-repeat: no-repeat;
  background-position: left bottom;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.sidebar-voice a:hover .voice__item-lead {
  color: #ab8f50;
  background-size: 100% 1px; /* ホバー時に左から右へ下線が伸びる */
}

.sidebar-voices .voice__item-category {
  margin-top: 0.625rem;
}

.sidebar-voices .voice__item-name {
  margin-top: 0.625rem;
}

.post-navigation--voice a:hover .nav-title {
  color: #ab8f50;
  background-size: 100% 1px; /* ホバー時に左から右へ下線が伸びる */
}

.article__contents {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.side-contents + .side-contents {
  margin-top: 5rem;
}

.sidebar-pickup {
  margin-top: 2.5rem;
}

.side-contents .item-img {
  margin-bottom: 1.875rem;
}

.side-contents .item-title {
  font-size: 1rem;
  display: inline;
  text-align: left;
  position: relative;
  padding-bottom: 0.1em;
  text-decoration: none;
  background-image: -webkit-gradient(linear, left top, right top, from(#ab8f50), to(#ab8f50));
  background-image: linear-gradient(to right, #ab8f50 0%, #ab8f50 100%);
  background-size: 0% 1px; /* 初期状態で下線を隠す */
  background-repeat: no-repeat;
  background-position: left bottom;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .side-contents .item-title {
    font-size: 12px;
  }
}

.sidebar-pickup .page-pickup__content a:hover .item-title {
  color: #ab8f50;
  background-size: 100% 1px; /* ホバー時に左から右へ下線が伸びる */
}

.side-contents .item-text {
  font-size: 0.75rem;
}
@media screen and (max-width: 1024px) {
  .side-contents .item-text {
    font-size: 10px;
  }
}

.side-contents .item-category {
  margin-top: 0.3125rem;
}

.side-contents .flow__item {
  width: 100%;
}

.side-contents .flow__item-img {
  margin-top: 2.5rem;
  margin-inline: auto;
  width: 6.3066875rem;
  height: auto;
}

.side-contents .flow__item-text {
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 1.25rem;
}
@media screen and (max-width: 1024px) {
  .side-contents .flow__item-text {
    font-size: 10px;
  }
}

.side-contents .btn-surround {
  width: 12.5rem;
}

/* 全体のレイアウト */
.post-navigation--voice {
  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-top: 1px solid #A5A5A5;
  padding: 2.5rem 0;
  gap: 7.5rem;
  margin-top: 11.25rem;
}
@media screen and (max-width: 768px) {
  .post-navigation--voice {
    -webkit-column-gap: 3.75rem;
       -moz-column-gap: 3.75rem;
            column-gap: 3.75rem;
    padding: 1.25rem 0;
    margin-top: 5rem;
  }
}

/* 前後リンク共通 */
.post-navigation--voice a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-decoration: none;
  width: 48%;
  -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;
}

.post-navigation--voice a:hover {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}

.post-navigation--voice a:hover {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}

.post-navigation--voice .nav-text {
  width: 59.86%;
}
@media screen and (max-width: 768px) {
  .post-navigation--voice .nav-text {
    width: 100%;
  }
}

/* ナビゲーションラベル */
.post-navigation--voice .nav-label {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: #ab8f50; /* ゴールドっぽい色 */
  margin-bottom: 0.625rem;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .post-navigation--voice .nav-label {
    font-size: 0.75rem;
    text-align: left;
  }
}

.post-navigation--voice .nav-details {
  background-color: rgba(171, 143, 80, 0.1);
  border: 1px solid #ab8f50;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  padding: 0.625rem;
}
.post-navigation--voice .nav-label.right {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .post-navigation--voice .nav-label.right {
    text-align: right;
  }
}

/* サムネイルとテキストのレイアウト */
.post-navigation--voice .nav-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .post-navigation--voice .nav-details {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* サムネイル画像 */
.post-navigation--voice .nav-thumb {
  width: 37.14%;
}
@media screen and (max-width: 768px) {
  .post-navigation--voice .nav-thumb {
    width: 100%;
  }
}

.post-navigation--voice .nav-thumb img {
  -o-object-fit: cover;
     object-fit: cover;
}

/* タイトルと抜粋 */
.post-navigation--voice .nav-text .nav-title {
  font-size: 1rem;
  font-weight: bold;
  margin: 0 0 5px;
  padding-left: 0.1875rem;
  display: inline;
  text-align: left;
  position: relative;
  padding-bottom: 0.1em;
  text-decoration: none;
  background-image: -webkit-gradient(linear, left top, right top, from(#ab8f50), to(#ab8f50));
  background-image: linear-gradient(to right, #ab8f50 0%, #ab8f50 100%);
  background-size: 0% 1px; /* 初期状態で下線を隠す */
  background-repeat: no-repeat;
  background-position: left bottom;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .post-navigation--voice .nav-text .nav-title {
    display: block;
    font-size: 10px;
    padding-left: 0;
    margin-top: 5px;
  }
}

.post-navigation--voice a:hover .nav-title {
  color: #ab8f50;
  background-size: 100% 1px; /* ホバー時に左から右へ下線が伸びる */
}

.post-navigation--voice .nav-details.reverse .nav-title {
  padding-left: 0.375rem;
}

@media screen and (max-width: 768px) {
  .post-navigation--voice .nav-next {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

/* 矢印の位置調整 */
.nav-previous .nav-label::before {
  content: "";
  display: inline-block;
  background-image: url(../images/common/arrow-g.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-right: 0.625rem;
}
@media screen and (max-width: 768px) {
  .nav-previous .nav-label::before {
    width: 11px;
    height: 11px;
    margin-right: 10px;
  }
}

.nav-next .nav-label::after {
  content: "";
  display: inline-block;
  background-image: url(../images/common/arrow-g.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 0.75rem;
  height: 0.75rem;
  margin-left: 0.625rem;
}
@media screen and (max-width: 768px) {
  .nav-next .nav-label::after {
    width: 11px;
    height: 11px;
    margin-left: 10px;
  }
}

.post-navigation__list a {
  display: block;
  color: #ab8f50;
  font-size: 1rem;
  font-weight: 700;
  text-align: left;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .post-navigation__list a {
    font-size: 12px;
    margin-top: 2.5rem;
  }
}

.post-navigation__list a::before {
  content: "";
  display: inline-block;
  background-image: url(../images/common/arrow-g.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-right: 0.625rem;
}
@media screen and (max-width: 768px) {
  .post-navigation__list a::before {
    width: 11px;
    height: 11px;
    margin-right: 10px;
  }
}



/* pickup pagenavi */

.page-pickup__pagenavi {
  margin-top: 3rem;
  text-align: center;
}

  .pagenavi__inner {
    display: inline-block;
  }

  .wp-pagenavi {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
  }

  .wp-pagenavi a,
  .wp-pagenavi span {
    display: inline-block;
    padding: 0.2rem 0.9rem;
    border: 1px solid #464646;
    color: #464646;
    font-size: 1.25rem;
    text-decoration: none;
    min-width: 32px;
    text-align: center;
  }

  .wp-pagenavi span.current {
    background-color: #464646;
    color: #fff;
    border-color: #464646;
  }

/* ── TOP Office Section ──────────────────────────────────── */
.top-office {
  padding: 80px 0;
  background: #f7f5ef;
}

.top-office__lead {
  text-align: center;
  font-size: 15px;
  color: #5a5349;
  margin: -16px 0 40px;
  line-height: 1.8;
}

.top-office__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 880px;
  margin-inline: auto;
  gap: 24px;
}

@media (max-width: 767px) {
  .top-office__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .top-office {
    padding: 60px 0;
  }
}

.top-office__card {
  display: block;
  text-decoration: none;
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #ede4d5;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  color: inherit;
}

.top-office__card:hover {
  box-shadow: 0 8px 28px rgba(171, 143, 80, 0.18);
  transform: translateY(-4px);
}

.top-office__card-img {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e8e0d0;
}

.top-office__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.top-office__card:hover .top-office__card-img img {
  transform: scale(1.05);
}

.top-office__card-img--comingsoon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-office__card-soon {
  font-family: "Cinzel", serif;
  font-size: 14px;
  letter-spacing: 0.2em;
  color: #9e9082;
}

.top-office__card-body {
  padding: 18px 20px 20px;
}

.top-office__card-en {
  font-family: "Cinzel", "Times New Roman", serif;
  font-size: 10px;
  letter-spacing: 0.25em;
  color: #ab8f50;
  margin: 0 0 4px;
}

.top-office__card-name {
  font-size: 18px;
  font-weight: 700;
  color: #222222;
  margin: 0 0 6px;
  font-family: "Noto Serif JP", serif;
}

.top-office__card-addr {
  font-size: 12px;
  color: #8c897f;
  margin: 0 0 14px;
}

.top-office__card-link {
  font-size: 13px;
  font-weight: 600;
  color: #ab8f50;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s ease;
}

.top-office__card:hover .top-office__card-link {
  gap: 10px;
}

.top-office__card-arrow {
  transition: transform 0.2s ease;
}

.top-office__card:hover .top-office__card-arrow {
  transform: translateX(4px);
}

/* SEO・アクセシビリティ用 視覚的非表示クラス */
.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
