@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style-type: none;
}

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

ul,
ol,
div {
  margin: 0;
  padding: 0;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px;
  color: #594c3c;
  scroll-behavior: smooth;
}

picture {
  display: block;
}

.anchor {
  display: block;
  position: relative;
  visibility: hidden;
  top: -50px;
}

.breadcrumbs {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    display: none;
  }
}
.breadcrumbs__content {
  gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1024px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .breadcrumbs__content {
    max-width: 100%;
  }
}
.breadcrumbs__item {
  gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.1em;
  color: #707070;
  line-height: 2em;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.breadcrumbs__item:not(:last-child)::after {
  width: 6px;
  height: 8px;
  content: "";
  background: url("./public/img/icons/caret-right-gray.svg") no-repeat center/contain;
}
.breadcrumbs__item:not(:last-child):hover {
  opacity: 0.5;
}
.breadcrumbs__item--white {
  color: #fff;
}
.breadcrumbs__item--white:not(:last-child)::after {
  background-image: url("./public/img/icons/arrow-right.svg");
}

.image {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.image--100 {
  height: 100%;
}
.image--auto {
  width: auto;
}
.image--contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.title {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  color: #594c3c;
}
.title--white > span {
  color: #fff;
  border-color: #fff;
}
.title--secondary > span, .title--secondary > div {
  color: #3e5902;
  border-color: #3e5902;
}
.title__en, .title__ja {
  font-weight: 400;
  letter-spacing: 0.2em;
  display: block;
}
.title__en {
  padding-left: 4px;
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .title__en {
    font-size: 1.4rem;
  }
}
.title__ja {
  padding-block: 8px;
  border-left: 1px solid #594c3c;
  border-right: 1px solid #594c3c;
  font-family: "BIZ UDPMincho", serif;
  font-size: 3rem;
  line-height: 1.2666666667em;
}
@media screen and (max-width: 767px) {
  .title__ja {
    font-size: 2.4rem;
    line-height: 1.25em;
  }
}
.title__ja--sm {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.2777777778em;
}
@media screen and (max-width: 767px) {
  .title__ja--sm {
    font-size: 1.6rem;
    line-height: 1.25em;
  }
}
.title__ja--lg {
  padding-top: 34px;
}
@media screen and (max-width: 767px) {
  .title__ja--lg {
    padding-top: 30px;
  }
}

.heading {
  font-family: "Noto Sans JP", sans-serif;
}
.heading__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 56px;
  padding: 13px;
  background: #3e5902;
  font-size: 2rem;
  letter-spacing: 0.2em;
  line-height: 1.4em;
  color: white;
}
@media screen and (max-width: 767px) {
  .heading__wrap {
    font-size: 1.8rem;
    letter-spacing: 0.15em;
    line-height: 1.5555555556em;
  }
}
.heading__wrap--mb-40 {
  margin-bottom: 40px;
}
.heading__wrap--mb-24 {
  margin-bottom: 24px;
}
.heading__line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1em;
  color: #594c3c;
}
.heading__line::before {
  content: "";
  width: 8px;
  height: 24px;
  margin: 1px 8px 1px 0;
  background: #f78e00;
}
.heading__line--mb-40 {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .heading__line--mb-40 {
    font-size: 1.8rem;
    line-height: 1.1111111111em;
  }
}
.heading__line--mb-16 {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .heading__line--mb-16 {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.5em;
  }
}

.header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
}
.header__upper {
  padding: 12px 48px;
  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;
  background-color: #f0f2f0;
}
@media screen and (max-width: 980px) {
  .header__upper {
    padding: 0 0 0 4%;
    min-height: 64px;
  }
}
.header__logo {
  width: 280px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 1200px) {
  .header__logo {
    width: 196px;
  }
}
@media screen and (max-width: 980px) {
  .header__logo {
    width: 218px;
  }
}
.header__info-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 18px;
}
@media screen and (max-width: 1200px) {
  .header__info-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.header__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.header__tel {
  font: 400 2.8rem "BIZ UDPMincho", serif;
  line-height: 1.3571428571em;
  color: #3e5902;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 1200px) {
  .header__tel {
    font-size: 2rem;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}
@media screen and (max-width: 980px) {
  .header__tel {
    font-size: 2.6rem;
    color: #fff;
  }
}
.header__tel::before {
  content: "TEL.";
  font: 700 1.2rem "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1200px) {
  .header__tel::before {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .header__tel:hover {
    opacity: 0.5;
  }
}
.header__sched {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3333333333em;
  color: #3e5902;
}
@media screen and (max-width: 1200px) {
  .header__sched {
    font-size: 1rem;
  }
}
.header__nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 980px) {
  .header__nav-links {
    gap: 0;
  }
}
.header__nav-link {
  width: 160px;
  height: 40px;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #3e5902;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #594c3c;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  gap: 4px;
  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: 1200px) {
  .header__nav-link {
    width: 150px;
  }
}
@media screen and (max-width: 980px) {
  .header__nav-link {
    height: 64px;
    width: 64px;
    border-radius: 0;
    border: none;
  }
}
.header__nav-link::before {
  content: "";
  width: 20px;
  height: 24px;
  background: url("./public/img/icons/map-pin.svg") no-repeat center/100% 100%;
}
.header__nav-link:hover {
  opacity: 0.5;
}
.header__nav-link--contact {
  border: none;
  background-color: #594c3c;
  color: #fff;
  gap: 6px;
}
.header__nav-link--contact::before {
  width: 26px;
  height: 18px;
  background: none;
  -webkit-mask: url("./public/img/icons/mail.svg") no-repeat center/100% 100%;
          mask: url("./public/img/icons/mail.svg") no-repeat center/100% 100%;
  background-color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.header__nav-link--contact:hover {
  opacity: 1;
  background-color: #d0ac8d;
  color: #594c3c;
}
.header__nav-link--contact:hover::before {
  background-color: #594c3c;
}
@media screen and (max-width: 980px) {
  .header__nav-link-txt {
    display: none;
  }
}
.header__lower {
  padding-inline: 48px;
  height: 48px;
  background-color: #3e5902;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 980px) {
  .header__lower {
    position: relative;
    padding: 8px 4%;
    height: 51px;
    height: auto;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 980px) {
  .header__lower-content {
    position: fixed;
    z-index: 999;
    left: 0;
    top: 115px;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .header__lower-content.active {
    max-height: 100svh;
    overflow-y: scroll;
    opacity: 1;
    pointer-events: auto;
  }
}
.header__lower-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 980px) {
  .header__lower-links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 18px;
    padding: 24px 4% 21px;
    background-color: #fff;
  }
  .header__lower-links > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.header__lower-link {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4285714286em;
  color: #fff;
  margin-right: 89px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 1200px) {
  .header__lower-link {
    margin-right: 62px;
  }
}
@media screen and (max-width: 980px) {
  .header__lower-link {
    color: #3e5902;
    padding-bottom: 18px;
    border-bottom: 1px solid #3e5902;
    margin-right: 0;
    width: 100%;
  }
}
.header__lower-link:hover {
  color: #efefc5;
}
.header__lower-link--mr45 {
  margin-right: 45px;
}
@media screen and (max-width: 1200px) {
  .header__lower-link--mr45 {
    margin-right: 30px;
  }
}
@media screen and (max-width: 980px) {
  .header__lower-link--mr45 {
    margin-right: 0;
  }
}
.header__lower-link--mr0 {
  margin-right: 0;
}
.header__lower-link--dd {
  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;
  gap: 4px;
  padding-inline: 50px;
}
@media screen and (max-width: 980px) {
  .header__lower-link--dd {
    gap: 0;
    padding-inline: 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    border-bottom: none;
  }
}
.header__lower-link--dd::after {
  content: "";
  width: 12px;
  height: 12px;
  background: url("./public/img/icons/arrow-down-circle.svg") no-repeat center/100% 100%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 980px) {
  .header__lower-link--dd::after {
    display: none;
  }
}
@media screen and (max-width: 980px) {
  .header__lower-link--sp-last {
    padding-bottom: 0;
    border-bottom: none;
  }
}
.header__sublist-trigger {
  position: relative;
  margin-right: 45px;
}
@media screen and (min-width: 981px) {
  .header__sublist-trigger:hover .header__sublist {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    display: block;
  }
  .header__sublist-trigger:hover .header__lower-link--dd::after {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}
@media screen and (max-width: 980px) {
  .header__sublist-trigger {
    margin-right: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.header__sublist {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  padding: 14px 50px 3px;
  background-color: #3e5902;
  color: #fff;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  visibility: hidden;
  display: none;
}
@media screen and (max-width: 980px) {
  .header__sublist {
    position: initial;
    left: initial;
    top: initial;
    padding: 10px 0 3px;
    pointer-events: auto;
    opacity: 1;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    visibility: visible;
  }
}
.header__sublist-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6666666667em;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  padding: 2px 0;
}
@media screen and (max-width: 980px) {
  .header__sublist-item {
    font-size: 14px;
    line-height: 1.4285714286em;
    color: #3e5902;
    padding-bottom: 14px;
    border-bottom: 1px solid #ccc;
    gap: 0;
    padding-left: 15px;
  }
}
.header__sublist-item::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 3px;
  height: 6px;
  background: url("./public/img/icons/arrow-right.svg") no-repeat center/100% 100%;
}
@media screen and (max-width: 980px) {
  .header__sublist-item::before {
    content: "・";
    display: initial;
    width: initial;
    height: initial;
    background: unset;
  }
}
.header__sublist-item:hover {
  color: #efefc5;
}
.header__sublist-item--sp-last {
  border-bottom-color: #3e5902;
}
.header__hamburger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.header__hamburger.active .header__hamburger-icon span:nth-child(1) {
  -webkit-transform: rotate(12deg);
          transform: rotate(12deg);
}
.header__hamburger.active .header__hamburger-icon span:nth-child(1)::before {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-24deg);
          transform: translate(-50%, -50%) rotate(-24deg);
}
.header__hamburger.active .header__hamburger-icon span:last-child {
  opacity: 0;
}
.header__hamburger-txt {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff;
}
.header__hamburger-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.header__hamburger-icon span {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.header__hamburger-icon span:nth-child(1)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.header__menu-info {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 29px 4% 48px;
  background-color: #f0f2f0;
}
.header__menu-loc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  padding: 16px 0;
  background-color: #3e5902;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 12px;
}
.header__menu-loc::before {
  content: "";
  width: 20px;
  height: 24px;
  -webkit-mask: url("./public/img/icons/map-pin.svg") no-repeat center/100% 100%;
          mask: url("./public/img/icons/map-pin.svg") no-repeat center/100% 100%;
  background-color: #fff;
}
.header__menu-loc-title {
  display: block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4285714286em;
  color: #fff;
}
.header__menu-loc-txt {
  display: block;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1.6666666667em;
  color: #fff;
}
.header__menu-contact {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 30px 16px 27px;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 13px;
}
.header__menu-contact::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  background-image: -webkit-gradient(linear, left top, right bottom, color-stop(50%, #f78e00), color-stop(50%, transparent));
  background-image: linear-gradient(to bottom right, #f78e00 50%, transparent 50%);
}
.header__menu-contact-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.5px;
  font: 400 32px "BIZ UDPMincho", serif;
  color: #594c3c;
  margin-bottom: 7px;
}
@media screen and (max-width: 430px) {
  .header__menu-contact-tel {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
.header__menu-contact-tel::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 24px;
  height: 24px;
  background: url("./public/img/icons/tel-circle.svg") no-repeat center/100% 100%;
}
.header__menu-contact-txt {
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1.25em;
}
.header__menu-contact-txt--mb {
  margin-bottom: 2px;
}
.header__menu-mail {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 12px 16px;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 24px;
}
@media screen and (max-width: 430px) {
  .header__menu-mail {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.header__menu-mail::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  background-image: -webkit-gradient(linear, left top, right bottom, color-stop(50%, #f78e00), color-stop(50%, transparent));
  background-image: linear-gradient(to bottom right, #f78e00 50%, transparent 50%);
}
.header__menu-mail-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.header__menu-mail-title::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 24px;
  height: 24px;
  background: url("./public/img/icons/mail-circle.svg") no-repeat center/100% 100%;
}
.header__menu-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 270px;
  margin-inline: auto;
  padding-bottom: 115px;
}
.header__menu-sns-title {
  position: relative;
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6666666667em;
  color: #3e5902;
  padding-inline: 10px;
}
.header__menu-sns-title::before, .header__menu-sns-title::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 78px;
  height: 1px;
  background-color: #3e5902;
}
.header__menu-sns-title::before {
  left: 100%;
}
.header__menu-sns-title::after {
  right: 100%;
}
.header__menu-sns-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}

.notched-container {
  width: 100%;
  padding: 80px 64px 64px;
  background-color: #f2f1eb;
  -webkit-clip-path: polygon(0 0, 42.2% 0, 50% 32px, 57.8% 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 42.2% 0, 50% 32px, 57.8% 0, 100% 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 767px) {
  .notched-container {
    padding: 64px 16px 50px;
    -webkit-clip-path: polygon(0 0, 38.6% 0, 50% 16px, 61.7% 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 38.6% 0, 50% 16px, 61.7% 0, 100% 0, 100% 100%, 0 100%);
  }
}

.access {
  display: grid;
  grid-template-columns: 52.84% 47.16%;
  height: 390px;
}
@media screen and (max-width: 767px) {
  .access {
    grid-template-columns: 100%;
    grid-template-rows: repeat(2, 280px);
    height: auto;
  }
}
.access__map-embed {
  width: 100%;
  height: 100%;
  border: none;
}
.access__content {
  padding: 0 48px;
  background: url("./public/img/common/access.jpg") no-repeat center/cover;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
@media screen and (max-width: 767px) {
  .access__content {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 40px 15px 0 30px;
  }
}
.access__title {
  position: relative;
  padding-bottom: 8px;
  font-family: "BIZ UDPMincho", serif;
  font-size: 2rem;
  letter-spacing: 0.2em;
}
.access__title::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #594c3c;
  position: absolute;
  bottom: 0;
  left: 0;
}
.access__desc {
  padding-block: 40px 16px;
  font-size: 1.6rem;
  line-height: 1.8em;
  letter-spacing: 0.1em;
}
.access__btn {
  padding: 3px 14.5px 5px;
  border-radius: 12px;
  border: 1px solid #594c3c;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1em;
  letter-spacing: 0.05em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.access__btn:hover {
  background-color: #594c3c;
  color: #fff;
}

.reno-menu {
  position: relative;
  padding-block: 80px;
}
@media screen and (max-width: 1050px) {
  .reno-menu {
    padding-block: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .reno-menu {
    padding-bottom: 49px;
  }
}
.reno-menu::before {
  top: 0;
  right: 0;
  bottom: 0;
  content: "";
  z-index: -1;
  position: absolute;
  left: calc(50% - 512px);
  background-color: #efefc5;
}
@media screen and (max-width: 1200px) {
  .reno-menu::before {
    left: 30px;
  }
}
.reno-menu--left::before {
  left: 0;
  right: calc(50% - 340px);
}
@media screen and (max-width: 1050px) {
  .reno-menu--left::before {
    right: 0;
    left: 30px;
  }
}
.reno-menu__content {
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1024px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .reno-menu__content {
    max-width: 100%;
  }
}
@media screen and (max-width: 1200px) {
  .reno-menu__content {
    padding-left: 8%;
  }
}
@media screen and (max-width: 1050px) {
  .reno-menu__content {
    padding-left: 50px;
  }
}
.reno-menu__wrap {
  gap: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 37px;
}
@media screen and (max-width: 1200px) {
  .reno-menu__wrap {
    gap: 40px;
  }
}
@media screen and (max-width: 1050px) {
  .reno-menu__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .reno-menu__wrap {
    margin-bottom: 40px;
  }
}
.reno-menu__wrap--left {
  gap: 40px;
}
@media screen and (max-width: 1050px) {
  .reno-menu__wrap--left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.reno-menu__label {
  font-size: 1.8rem;
  position: relative;
  margin-bottom: 24px;
  padding-bottom: 12px;
  display: inline-block;
  letter-spacing: 0.2em;
  font-family: "BIZ UDPMincho", serif;
  line-height: 2.1111111111em;
}
@media screen and (max-width: 767px) {
  .reno-menu__label {
    margin-bottom: 40px;
    padding-bottom: 16px;
    line-height: 1.7777777778em;
  }
}
.reno-menu__label::before {
  bottom: 0;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  background-color: #594c3c;
}
.reno-menu__text {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  font-family: "BIZ UDPMincho", serif;
  line-height: 2em;
}
.reno-menu__text--highlight {
  margin-top: 16px;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .reno-menu__text--highlight {
    margin-top: 40px;
  }
}
.reno-menu__image {
  display: block;
  width: 438px;
  height: 306px;
  overflow: hidden;
  min-width: 438px;
  margin-left: -79px;
}
@media screen and (max-width: 1200px) {
  .reno-menu__image {
    margin-left: -9%;
  }
}
@media screen and (max-width: 1050px) {
  .reno-menu__image {
    width: 398px;
    height: 266px;
    min-width: unset;
    margin-top: -30px;
    margin-left: -50px;
  }
}
@media screen and (max-width: 767px) {
  .reno-menu__image {
    width: 100%;
    height: 189px;
    max-width: 271px;
  }
}
.reno-menu__image--left {
  margin-inline: 0 -79px;
}
@media screen and (max-width: 1200px) {
  .reno-menu__image--left {
    margin-right: -4%;
  }
}
@media screen and (max-width: 1050px) {
  .reno-menu__image--left {
    margin-inline: -50px 0;
  }
}
.reno-menu__image--ent {
  width: 306px;
  min-width: 306px;
  height: 438px;
}
@media screen and (max-width: 767px) {
  .reno-menu__image--ent {
    width: 100%;
    min-width: initial;
    height: 189px;
    max-width: 271px;
  }
}
.reno-menu__support {
  font-size: 2.4rem;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  padding-left: 100px;
}
@media screen and (max-width: 1050px) {
  .reno-menu__support {
    text-align: left;
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .reno-menu__support {
    font-size: 20px;
    line-height: 1.8em;
  }
}
.reno-menu__support--left {
  text-align: left;
  padding-left: 0;
}

.footer__upper {
  position: relative;
  padding: 50px 50px 40px;
  background-color: #f0f2f0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 50px;
}
@media screen and (max-width: 1130px) {
  .footer__upper {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .footer__upper {
    padding: 32px 4% 50px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.footer__toTop {
  position: absolute;
  right: 46px;
  top: 58px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #3e5902;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .footer__toTop {
    right: 4%;
    top: initial;
    bottom: 15px;
  }
}
.footer__toTop::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
          transform: translate(-50%, -50%) rotate(-90deg);
  width: 5px;
  height: 10px;
  background: url("./public/img/icons/arrow-right.svg") no-repeat center/100% 100%;
}
.footer__toTop:hover {
  background-color: #707070;
}
.footer__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer__logo {
  display: block;
  width: 280px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.footer__sns-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  margin-block: auto 10px;
}
@media screen and (max-width: 767px) {
  .footer__sns-links {
    gap: 16px;
    margin-block: 23px 12px;
  }
}
.footer__sns {
  display: block;
  width: 40px;
  height: 40px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.footer__sns:hover {
  opacity: 0.5;
}
.footer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 60px;
  padding-top: 15px;
}
@media screen and (max-width: 1130px) {
  .footer__info {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .footer__info {
    gap: 0;
    padding-top: 8px;
  }
}
.footer__info-upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 115px;
}
@media screen and (max-width: 1130px) {
  .footer__info-upper {
    gap: 60px;
  }
}
@media screen and (max-width: 980px) {
  .footer__info-upper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .footer__info-upper {
    gap: 25px;
  }
}
.footer__info-txt {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.4285714286em;
  color: #3e5902;
}
.footer__tel {
  display: block;
  font: 400 2.8rem "BIZ UDPMincho", serif;
  line-height: 1.3571428571em;
  color: #3e5902;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  margin-block: 16px 10px;
}
@media screen and (max-width: 767px) {
  .footer__tel {
    margin-top: 24px;
  }
}
.footer__tel::before {
  content: "TEL.";
  font: 700 1.2rem "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
}
.footer__tel:hover {
  opacity: 0.5;
}
.footer__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 90px;
}
@media screen and (max-width: 1130px) {
  .footer__links {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .footer__links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
}
.footer__link-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .footer__link-container {
    gap: 10px;
  }
}
.footer__link {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4285714286em;
  color: #3e5902;
  padding-left: 9px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .footer__link {
    padding-left: 0;
    padding-top: 10px;
    border-top: 1px solid #3e5902;
  }
}
.footer__link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background-color: #3e5902;
}
@media screen and (max-width: 767px) {
  .footer__link::before {
    display: none;
  }
}
.footer__link:hover {
  color: #707070;
}
.footer__link:hover::before {
  background-color: #707070;
}
.footer__link--plain {
  padding-left: 0;
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .footer__link--plain {
    margin-bottom: 0;
  }
}
.footer__link--plain::before {
  display: none;
}
@media screen and (max-width: 767px) {
  .footer__link--sp-last {
    padding-bottom: 10px;
    border-bottom: 1px solid #3e5902;
  }
}
.footer__sublink-wrapper {
  position: relative;
  padding-left: 9px;
}
@media screen and (max-width: 767px) {
  .footer__sublink-wrapper {
    padding-left: 0;
  }
}
.footer__sublink-wrapper::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #3e5902;
}
@media screen and (max-width: 767px) {
  .footer__sublink-wrapper::before {
    display: none;
  }
}
.footer__sublinks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.footer__sublink {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.6666666667em;
  color: #3e5902;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.footer__sublink::before {
  content: "・";
}
.footer__sublink:hover {
  color: #707070;
}
.footer__note {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 2em;
  color: #3e5902;
}
.footer__copyright {
  display: block;
  width: 100%;
  background-color: #594c3c;
  padding-block: 4px;
  font-size: 1.2rem;
  line-height: 2.6666666667em;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    padding-block: 0;
  }
}

.p-banner {
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
}
.p-banner__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-block: 50px 120px;
}
@media screen and (max-width: 980px) {
  .p-banner__container {
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .p-banner__container {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-block: 40px 80px;
  }
}
.p-banner__img {
  display: block;
  width: 61.13%;
  aspect-ratio: 835/441;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-banner__img {
    width: 56.8%;
    aspect-ratio: 213/207;
    margin-top: 0;
  }
}
.p-banner__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-left: 1px solid #594c3c;
  margin: 40px 0 0 64px;
}
@media screen and (max-width: 980px) {
  .p-banner__title {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-banner__title {
    margin: 24px 0 0 16px;
  }
}
.p-banner__title-txt {
  font: 400 3rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 1.2666666667em;
  color: #594c3c;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  padding-block: 15px;
  border-right: 1px solid #594c3c;
}
@media screen and (max-width: 767px) {
  .p-banner__title-txt {
    font-size: 18px;
    padding-block: 8px;
    letter-spacing: 5px;
  }
}
.p-banner__type-container {
  margin-left: 40px;
}
@media screen and (max-width: 980px) {
  .p-banner__type-container {
    margin-left: 32px;
  }
}
@media screen and (max-width: 767px) {
  .p-banner__type-container {
    margin-left: 12px;
  }
}
.p-banner__type {
  font: 400 9rem "BIZ UDPMincho", serif;
  letter-spacing: 0.1em;
  color: #fff;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  padding: 7px 8px 0;
  min-width: 106px;
  min-height: 106px;
  background-color: #594c3c;
  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: 767px) {
  .p-banner__type {
    font-size: 32px;
    padding: 8px 8px 5px;
    min-width: 48px;
    min-height: 48px;
  }
}
.p-banner__type-subheading {
  display: block;
  width: 24px;
  margin: 12px auto 0;
}
@media screen and (max-width: 767px) {
  .p-banner__type-subheading {
    width: 17.5px;
    margin-top: 16px;
  }
}
.p-banner__start-quote, .p-banner__end-quote {
  width: 12px;
  height: 9px;
}
@media screen and (max-width: 767px) {
  .p-banner__start-quote, .p-banner__end-quote {
    width: 7px;
    height: 5px;
  }
}
.p-banner__start-quote {
  margin-inline: 1.5rem 1rem;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
@media screen and (max-width: 767px) {
  .p-banner__start-quote {
    margin-inline: 1rem 0.5rem;
  }
}
.p-banner__end-quote {
  margin-inline: 1rem 1.5rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-banner__end-quote {
    margin-inline: 0.5rem 1rem;
  }
}

.cta {
  display: grid;
  grid-template-columns: 52.84% 47.16%;
  height: 390px;
  background: #a6866a;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .cta {
    grid-template-columns: 100%;
    height: auto;
  }
}
.cta__wrapper {
  position: relative;
  padding-top: 64px;
}
@media screen and (max-width: 767px) {
  .cta__wrapper {
    padding-inline: 15px;
  }
}
.cta__message {
  padding-left: 48px;
}
@media screen and (min-width: 1441px) {
  .cta__message {
    max-width: 644px;
  }
}
@media screen and (max-width: 1366px) {
  .cta__message {
    padding-left: 8%;
  }
}
@media screen and (max-width: 767px) {
  .cta__message {
    padding: 48px 0 0;
  }
}
.cta__message-wrap {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .cta__message-wrap {
    bottom: -99px;
    margin-top: -99px;
    padding-inline: 15px;
  }
}
.cta__text {
  display: inline-block;
  margin-bottom: 24px;
  padding: 13.5px 39px;
  background: #594c3c;
  border-radius: 29px;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .cta__text {
    padding-inline: 11px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .cta__text {
    margin-bottom: 12px;
    padding: 5px 10.5px;
    font-size: 16px;
  }
}
.cta__subtext {
  font-size: 1.6rem;
  line-height: 1.25em;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .cta__subtext {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .cta__subtext {
    font-size: 12px;
  }
}
.cta__subtext--q2 {
  padding: 8px 0 0 115px;
}
@media screen and (max-width: 1366px) {
  .cta__subtext--q2 {
    padding-left: 18%;
  }
}
@media screen and (max-width: 767px) {
  .cta__subtext--q2 {
    padding-left: 71px;
  }
}
.cta__picture {
  position: absolute;
  bottom: 0;
  right: 0;
  aspect-ratio: 644/390;
}
@media screen and (max-width: 767px) {
  .cta__picture {
    position: relative;
    aspect-ratio: 375/204;
  }
}
.cta__info {
  gap: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .cta__info {
    gap: 16px;
  }
}
@media screen and (max-width: 767px) {
  .cta__info {
    gap: 16px;
  }
}
@media screen and (max-width: 767px) {
  .cta__info-wrap {
    width: 77%;
  }
}
.cta__btn {
  overflow: hidden;
  position: relative;
  display: block;
  padding: 16px 19px;
  background: #fff;
  font-weight: 700;
  font-size: 1.6rem;
  color: #594c3c;
  text-align: center;
  line-height: 1.25em;
  letter-spacing: 0.05em;
  -webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 1081px) {
  .cta__btn {
    min-width: 448px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .cta__btn {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .cta__btn {
    padding: 14.5px 18px;
    font-size: 14px;
    width: 100%;
  }
}
.cta__btn:not(:last-child) {
  margin-bottom: 16px;
}
.cta__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 24px 0 0;
  border-color: #f78e00 transparent transparent transparent;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-transform-origin: top left;
          transform-origin: top left;
}
@media screen and (max-width: 767px) {
  .cta__btn::before {
    border-width: 16px 16px 0 0;
  }
}
.cta__phone-label, .cta__mail-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.cta__phone-label::before, .cta__mail-label::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 32px;
  height: 32px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transform: background-image 0.3s ease;
          transform: background-image 0.3s ease;
}
@media screen and (max-width: 767px) {
  .cta__phone-label::before, .cta__mail-label::before {
    width: 24px;
    height: 24px;
  }
}
.cta__phone-label {
  gap: 4px;
  font: 400 4.8rem "BIZ UDPMincho", serif;
  line-height: 1em;
  letter-spacing: normal;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1080px) {
  .cta__phone-label {
    font-size: 38px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .cta__phone-label {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .cta__phone-label {
    font-size: 24px;
  }
}
.cta__phone-label::before {
  background-image: url("./public/img/icons/tel-circle.svg");
}
.cta__phone-label:hover {
  opacity: 0.7;
}
.cta__mail-label {
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .cta__mail-label {
    gap: 4px;
    text-align: left;
  }
}
.cta__mail-label::before {
  background-image: url("./public/img/icons/mail-circle.svg");
}
.cta__phone {
  height: 166px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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 (min-width: 768px) and (max-width: 1023px) {
  .cta__phone {
    height: 146px;
  }
}
@media screen and (max-width: 767px) {
  .cta__phone {
    height: 112px;
  }
}
.cta__phone-hours {
  padding-block: 5px 4px;
}
@media screen and (max-width: 767px) {
  .cta__phone-hours {
    padding-block: 4px 2px;
  }
}
.cta__phone-note {
  font-size: 1.2rem;
  line-height: 1.6666666667em;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .cta__phone-note {
    font-size: 11px;
  }
}
@media screen and (max-width: 767px) {
  .cta__phone-note {
    font-size: 10px;
  }
}
.cta__mail:hover {
  color: #fff;
}
.cta__mail:hover::before {
  -webkit-transform: scale(22);
          transform: scale(22);
}
.cta__mail:hover .cta__mail-label::before {
  background-image: url("./public/img/icons/mail-circle-white.svg");
}

.contact__intro {
  position: relative;
}
.contact__intro-wrapper {
  width: 100%;
  max-width: calc(1024px + 8%);
  padding: 0 4% 120px;
  margin: 24px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .contact__intro-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 80px;
    padding: 0 0 126px 4%;
  }
}
.contact__intro-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  padding: 64px 55px 80px 64px;
  background-color: #fff;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  max-height: -webkit-max-content;
  max-height: -moz-max-content;
  max-height: max-content;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 1250px) {
  .contact__intro-content {
    padding: 40px 30px 60px 40px;
    -ms-flex-negative: initial;
        flex-shrink: initial;
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .contact__intro-content {
    padding: 40px 24px 50px 40px;
    width: 100%;
    max-width: initial;
    gap: 16px;
  }
}
.contact__intro-content-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.contact__intro-txt {
  font: 400 1.8rem "BIZ UDPMincho", serif;
  letter-spacing: 0.1em;
  line-height: 2.2222222222em;
}
@media screen and (max-width: 1250px) {
  .contact__intro-txt {
    font-size: 1.6rem;
  }
}
.contact__intro-txt--bottom {
  margin-top: 18px;
}
.contact__intro-block {
  -webkit-transform: translateX(24px);
          transform: translateX(24px);
}
@media screen and (max-width: 1250px) {
  .contact__intro-block {
    -webkit-transform: initial;
            transform: initial;
  }
}
.contact__intro-subheading {
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6666666667em;
  color: #fff;
  background-color: #594c3c;
  border-radius: 29px;
  text-wrap: nowrap;
  padding: 11px 38.6px;
  margin-bottom: 55px;
  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: 1250px) {
  .contact__intro-subheading {
    padding-inline: 20px;
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .contact__intro-subheading {
    padding: 12px 32.21px;
    margin-bottom: 24px;
  }
}
.contact__intro-block-txt {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.25em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .contact__intro-block-txt {
    font-size: 12px;
  }
}
.contact__intro-block-txt--bottom {
  margin: 24px 0 0 50px;
}
@media screen and (max-width: 1250px) {
  .contact__intro-block-txt--bottom {
    margin: 15px 0 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .contact__intro-block-txt--bottom {
    margin: 10px 0 0 40px;
  }
}
.contact__intro-bg-wrapper {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  max-width: 1366px;
  height: 100%;
  pointer-events: none;
}
.contact__intro-bg-wrapper::before, .contact__intro-bg-wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  background: url("./public/img/contact/man-smiling.png") no-repeat center/contain;
}
.contact__intro-bg-wrapper::before {
  right: 0;
  width: 340px;
  aspect-ratio: 340/436;
}
@media screen and (max-width: 1250px) {
  .contact__intro-bg-wrapper::before {
    width: 238px;
  }
}
@media screen and (max-width: 980px) {
  .contact__intro-bg-wrapper::before {
    width: 174px;
  }
}
@media screen and (max-width: 767px) {
  .contact__intro-bg-wrapper::before {
    width: 223px;
    aspect-ratio: 223/285;
    background-image: url("./public/img/contact/man-smiling-sp.png");
  }
}
.contact__intro-bg-wrapper::after {
  right: 317px;
  width: 386px;
  aspect-ratio: 386/222;
  background-image: url("./public/img/contact/man-woman-thinking.png");
}
@media screen and (max-width: 1250px) {
  .contact__intro-bg-wrapper::after {
    width: 270px;
  }
}
@media screen and (max-width: 980px) {
  .contact__intro-bg-wrapper::after {
    width: 232px;
    right: 222px;
  }
}
@media screen and (max-width: 767px) {
  .contact__intro-bg-wrapper::after {
    width: 220px;
    aspect-ratio: 220/154;
    right: initial;
    left: 0;
    background-image: url("./public/img/contact/man-woman-thinking-sp.png");
  }
}
.contact__info {
  position: relative;
  width: 100%;
  padding: 65px 4% 88px;
  background-color: #594c3c;
}
@media screen and (max-width: 767px) {
  .contact__info {
    padding-block: 64px;
  }
}
.contact__info::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 20px solid #594c3c;
}
.contact__info-title {
  position: relative;
  font-size: 2.4rem;
  letter-spacing: 0.2em;
  color: #fff;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto;
  padding-inline: 18px 15px;
}
@media screen and (max-width: 767px) {
  .contact__info-title {
    padding-inline: 14px 10px;
  }
}
.contact__info-title::before, .contact__info-title::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-35%);
          transform: translateY(-35%);
  width: 8px;
  height: 20px;
  background: url("./public/img/icons/text-deco-slash.svg") no-repeat center/100% 100%;
}
@media screen and (max-width: 767px) {
  .contact__info-title::before, .contact__info-title::after {
    width: 8px;
    height: 17px;
    background-image: url("./public/img/icons/text-deco-slash-sp.svg");
  }
}
.contact__info-title::before {
  left: 0;
}
.contact__info-title::after {
  right: 0;
  -webkit-transform: translateY(-35%) scaleX(-1);
          transform: translateY(-35%) scaleX(-1);
}
.contact__info-container {
  width: 100%;
  max-width: 758px;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  color: #fff;
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .contact__info-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    margin-top: 32px;
  }
}
.contact__info-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-left: 16px;
  border-left: 1px solid #fff;
}
.contact__info-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.1111111111em;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .contact__info-heading {
    font-size: 16px;
  }
}
.contact__info-heading::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url("./public/img/icons/tel-white.svg") no-repeat center/100% 100%;
}
.contact__info-heading--mail::before {
  width: 20px;
  height: 16px;
  background-image: url("./public/img/icons/mail-white.svg");
}
@media screen and (max-width: 767px) {
  .contact__info-heading--mail::before {
    height: 14px;
  }
}
.contact__info-tel {
  display: block;
  font: 400 3rem "BIZ UDPMincho", serif;
  color: #fff;
  margin-bottom: 8px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.contact__info-tel:hover {
  opacity: 0.5;
}
.contact__info-txt {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4285714286em;
}
.contact__info-txt--bullet {
  margin-left: 1em;
  text-indent: -1em;
}
.contact__info-txt--bottom {
  margin-top: auto;
  line-height: 2em;
}
.contact__form-wrapper {
  width: 100%;
  background-color: #fff;
  padding: 100px 4% 200px;
}
@media screen and (max-width: 767px) {
  .contact__form-wrapper {
    padding-top: 80px;
  }
}
.contact__form-step {
  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;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .contact__form-step {
    margin-bottom: 56px;
  }
}
.contact__form-step-en {
  display: block;
  padding-inline: 10px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  border-width: 0 2px;
  border-style: solid;
  border-color: #594c3c;
}
.contact__form-step-jp {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2em;
}
.contact__form {
  width: 100%;
  max-width: 758px;
  margin-inline: auto;
}
.contact__form-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .contact__form-list {
    gap: 32px;
  }
}
.contact__form-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.contact__form-item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.contact__form-item-label--required::after {
  content: "必須";
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #df1517;
  padding: 0 3px 1px;
}
.contact__form-item-field {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.25em;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .contact__form-item-field {
    width: 100%;
  }
}
.contact__form-item-field input[type=text],
.contact__form-item-field input[type=email],
.contact__form-item-field input[type=tel],
.contact__form-item-field textarea {
  width: 100%;
  border: 1px solid #a6866a;
  background-color: #fff;
  font: inherit;
  letter-spacing: 0.1em;
  padding: 9px 8px;
  border-radius: 0;
  resize: none;
}
@media screen and (max-width: 767px) {
  .contact__form-item-field input[type=text],
  .contact__form-item-field input[type=email],
  .contact__form-item-field input[type=tel],
  .contact__form-item-field textarea {
    padding: 15px;
  }
}
.contact__form-item-field input[type=text]::-webkit-input-placeholder, .contact__form-item-field input[type=email]::-webkit-input-placeholder, .contact__form-item-field input[type=tel]::-webkit-input-placeholder, .contact__form-item-field textarea::-webkit-input-placeholder {
  color: #ccc;
}
.contact__form-item-field input[type=text]::-moz-placeholder, .contact__form-item-field input[type=email]::-moz-placeholder, .contact__form-item-field input[type=tel]::-moz-placeholder, .contact__form-item-field textarea::-moz-placeholder {
  color: #ccc;
}
.contact__form-item-field input[type=text]:-ms-input-placeholder, .contact__form-item-field input[type=email]:-ms-input-placeholder, .contact__form-item-field input[type=tel]:-ms-input-placeholder, .contact__form-item-field textarea:-ms-input-placeholder {
  color: #ccc;
}
.contact__form-item-field input[type=text]::-ms-input-placeholder, .contact__form-item-field input[type=email]::-ms-input-placeholder, .contact__form-item-field input[type=tel]::-ms-input-placeholder, .contact__form-item-field textarea::-ms-input-placeholder {
  color: #ccc;
}
.contact__form-item-field input[type=text]::placeholder,
.contact__form-item-field input[type=email]::placeholder,
.contact__form-item-field input[type=tel]::placeholder,
.contact__form-item-field textarea::placeholder {
  color: #ccc;
}
.contact__form-item-field input[type=text]:focus,
.contact__form-item-field input[type=email]:focus,
.contact__form-item-field input[type=tel]:focus,
.contact__form-item-field textarea:focus {
  outline: none;
}
.contact__form-item-field--zip {
  max-width: 159px;
}
@media screen and (max-width: 767px) {
  .contact__form-item-field--zip {
    max-width: 100%;
    width: 100%;
  }
}
.contact__form-item-field--textarea {
  -webkit-box-flex: initial;
      -ms-flex: initial;
          flex: initial;
  height: 160px;
}
.contact__form-item-field--textarea textarea {
  height: 100%;
}
.contact__form-item-field--agree {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.contact__form-radio {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 12px 10px;
}
@media screen and (max-width: 767px) {
  .contact__form-radio {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.contact__form-radio label {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact__form-radio input[type=radio] {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid #a6866a;
  background-color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.contact__form-radio input[type=radio]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 10px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #a6866a;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.contact__form-radio input[type=radio]:checked::after {
  opacity: 1;
}
.contact__form-checkbox label {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
}
.contact__form-checkbox input[type=checkbox] {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 6px;
  width: 16px;
  height: 16px;
  border-radius: 0;
  border: 1px solid #3d3d3d;
  background-color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.contact__form-checkbox input[type=checkbox]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 12px;
  aspect-ratio: 12/9;
  -webkit-mask: url("./public/img/contact/checked-icon.svg") no-repeat center/100% 100%;
          mask: url("./public/img/contact/checked-icon.svg") no-repeat center/100% 100%;
  background-color: #3d3d3d;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.contact__form-checkbox input[type=checkbox]:checked::after {
  opacity: 1;
}
.contact__form-item-field-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
.contact__form-zip-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .contact__form-zip-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 4px;
  }
}
.contact__form-zip-item-label {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
.contact__form-zip-note {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6666666667em;
  color: #fff;
  background-color: #ccc;
  padding: 10px 15.5px;
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .contact__form-zip-note {
    margin: 4px 0 0;
    padding-inline: 10px;
    width: 100%;
    text-align: center;
  }
}
.contact__form-privacy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  padding: 8px;
  border: 1px solid #594c3c;
  background-color: #f3f3f3;
  height: 160px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .contact__form-privacy {
    margin-top: 64px;
  }
}
.contact__form-privacy-heading {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4285714286em;
}
.contact__form-privacy-content {
  display: block;
  padding-inline: 22px;
  font-size: 1.2rem;
  line-height: 1.6666666667em;
  color: #707070;
  overflow-y: auto;
  height: 100%;
}
.contact__form-privacy-note {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.4285714286em;
  text-align: center;
  margin-block: 24px 40px;
}
@media screen and (max-width: 767px) {
  .contact__form-privacy-note {
    margin-bottom: 64px;
  }
}
.contact__form-btn-wrapper {
  margin-top: 70px;
  gap: 40px;
  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: 767px) {
  .contact__form-btn-wrapper {
    margin-top: 40px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 24px;
  }
}
.contact__form-btn {
  all: unset;
  cursor: pointer;
  position: relative;
  width: 100%;
  max-width: 432px;
  height: 64px;
  background-color: #3e5902;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  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;
}
.contact__form-btn::before {
  content: "";
  position: absolute;
  right: 28px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 7px;
  height: 14px;
  background: url("./public/img/icons/arrow-right.svg") no-repeat center/100% 100%;
}
.contact__form-btn:hover {
  opacity: 0.5;
}
.contact__form-btn--back {
  background-color: #707070;
}
.contact__form-btn--back::before {
  right: initial;
  left: 23px;
  -webkit-transform: translateY(-50%) scaleX(-1);
          transform: translateY(-50%) scaleX(-1);
}
.contact__form-btn--top {
  background-color: #a6866a;
}
.contact__form-thankyou-msg {
  display: block;
  font: 400 3rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 1.8666666667em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact__form-thankyou-msg {
    font-size: 20px;
  }
}
.contact__form-thankyou-txt {
  font: 400 1.6rem "BIZ UDPMincho", serif;
  letter-spacing: 0.1em;
  line-height: 2em;
  text-align: center;
  margin-block: 48px 64px;
}
@media screen and (max-width: 767px) {
  .contact__form-thankyou-txt {
    text-align: left;
  }
}
.contact__form-thankyou-note {
  padding: 40px;
  background-color: #f2f1eb;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .contact__form-thankyou-note {
    padding: 24px;
  }
}
.contact__title {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .contact__address::-webkit-input-placeholder {
    font-size: 1.1rem;
    letter-spacing: 0;
  }
  .contact__address::-moz-placeholder {
    font-size: 1.1rem;
    letter-spacing: 0;
  }
  .contact__address:-ms-input-placeholder {
    font-size: 1.1rem;
    letter-spacing: 0;
  }
  .contact__address::-ms-input-placeholder {
    font-size: 1.1rem;
    letter-spacing: 0;
  }
  .contact__address::placeholder {
    font-size: 1.1rem;
    letter-spacing: 0;
  }
}

.company {
  position: relative;
}
.company__container {
  display: block;
  width: 100%;
  max-width: calc(1024px + 8%);
  padding: 0 4% 120px;
  margin: 89px auto 0;
}
@media screen and (max-width: 767px) {
  .company__container {
    margin: 80px auto 0;
    padding-bottom: 80px;
  }
}
.company__container--profile {
  padding: 0 4%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 41px;
}
@media screen and (max-width: 1050px) {
  .company__container--profile {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .company__container--profile {
    gap: 0;
  }
}
.company__mission-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 29px;
  margin-bottom: 80px;
}
@media screen and (max-width: 980px) {
  .company__mission-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    margin-bottom: 64px;
  }
}
.company__mission {
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
}
.company__mission > h2 {
  margin-bottom: 40px;
  font-size: 3rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .company__mission > h2 {
    margin-bottom: 32px;
    font-size: 2.4rem;
  }
}
.company__mission > p {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 2.2222222222em;
}
@media screen and (max-width: 767px) {
  .company__mission > p {
    font-size: 1.6rem;
    line-height: 2.375em;
  }
}
.company__message-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
}
@media screen and (max-width: 980px) {
  .company__message-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 40px;
  }
}
.company__message-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 980px) {
  .company__message-wrapper {
    padding-bottom: 0;
  }
}
.company__message-title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding-bottom: 8px;
  font-family: "BIZ UDPMincho", serif;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  border-bottom: 1px solid #594c3c;
}
@media screen and (max-width: 767px) {
  .company__message-title {
    font-size: 1.8rem;
    margin-bottom: -16px;
  }
}
@media screen and (max-width: 767px) {
  .company__message-title--profile {
    margin-bottom: 40px;
  }
}
.company__message, .company__signature {
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.company__message {
  font-size: 1.6rem;
  line-height: 2em;
}
.company__message--quote {
  font-size: 1.8rem;
}
.company__signature {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .company__signature {
    margin-top: 24px;
  }
}
.company__signature dt {
  font-size: 1.4rem;
}
.company__signature dd {
  font-size: 2rem;
}
.company__profile {
  padding-block: 160px 240px;
  background: #f0f2f0;
}
@media screen and (max-width: 767px) {
  .company__profile {
    padding-block: 80px 100px;
  }
}
.company__table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
.company__table > dl {
  border-top: 1px solid #594c3c;
  border-bottom: 1px solid #594c3c;
}
.company__profile-grid {
  display: grid;
  grid-template-columns: 90px 1fr;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 980px) {
  .company__profile-grid {
    grid-template-columns: 1fr;
  }
}
.company__profile-grid:not(:last-child) > dt, .company__profile-grid:not(:last-child) > dd {
  border-bottom: 1px solid #594c3c;
}
@media screen and (max-width: 980px) {
  .company__profile-grid:not(:last-child) > dt, .company__profile-grid:not(:last-child) > dd {
    border-bottom: none;
  }
}
.company__profile-grid > dt, .company__profile-grid > dd {
  padding-block: 16px;
  padding-left: 16px;
}
@media screen and (max-width: 767px) {
  .company__profile-grid > dt, .company__profile-grid > dd {
    padding-left: 4px;
  }
}
.company__profile-grid > dt {
  position: relative;
  height: 100%;
  background: white;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .company__profile-grid > dt {
    padding-block: 4px;
  }
}
.company__profile-grid > dd {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75em;
}
@media screen and (max-width: 767px) {
  .company__profile-grid > dd {
    padding-block: 6px 18px;
  }
}
.company__profile-grid--lg {
  grid-template-columns: 155px 1fr;
}
@media screen and (max-width: 980px) {
  .company__profile-grid--lg {
    grid-template-columns: 1fr;
  }
}
.company__profile-grid--lg > dt, .company__profile-grid--lg > dd {
  background: #fff;
}
@media screen and (max-width: 980px) {
  .company__profile-grid--lg > dt {
    border-bottom: 1px solid #594c3c;
  }
}
.company__profile-grid--lg > dt::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: calc(100% - 32px);
  margin-top: 16px;
  background: #594c3c;
}
@media screen and (max-width: 980px) {
  .company__profile-grid--lg > dt::before {
    display: none;
  }
}
.company__profile-list {
  list-style-type: none;
  display: grid;
  grid-template-columns: 246px 236px;
  gap: 0 40px;
}
@media screen and (max-width: 980px) {
  .company__profile-list {
    grid-template-columns: 1fr;
  }
}
.company__profile-list--no-gap {
  grid-template-columns: 91px 580px;
  gap: 0 4px;
}
@media screen and (max-width: 980px) {
  .company__profile-list--no-gap {
    display: none;
    grid-template-columns: 1fr;
  }
}
.company__profile-list--no-gap-sp {
  display: none;
}
.company__profile-list--no-gap-sp > ul > li:nth-child(even) {
  margin-left: 15px;
}
@media screen and (max-width: 980px) {
  .company__profile-list--no-gap-sp {
    display: grid;
    grid-template-columns: 1fr;
  }
}
.company__mission-image {
  z-index: -1;
  position: absolute;
  top: -159px;
  right: 0;
}
@media screen and (max-width: 767px) {
  .company__mission-image {
    aspect-ratio: 225/194;
    top: -80px;
  }
}
.company__mission-image img {
  height: 688px;
}
@media screen and (max-width: 1024px) {
  .company__mission-image img {
    height: 550px;
  }
}
@media screen and (max-width: 880px) {
  .company__mission-image img {
    height: 344px;
  }
}
@media screen and (max-width: 767px) {
  .company__mission-image img {
    height: 194px;
  }
}
.company__message-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-preferred-size: 372px;
      flex-basis: 372px;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media screen and (max-width: 980px) {
  .company__message-image {
    -ms-flex-preferred-size: unset;
        flex-basis: unset;
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .company__message-image {
    margin-left: -4%;
  }
}
@media screen and (max-width: 980px) {
  .company__title {
    padding-left: 38px;
  }
}

.topic__list-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  padding: 0 4% 240px;
}
@media screen and (max-width: 767px) {
  .topic__list-wrapper {
    padding-bottom: 95px;
  }
}
.topic__list-bg {
  position: absolute;
  z-index: 1;
  right: 0;
  top: 115px;
  width: 264px;
  height: 326px;
}
@media screen and (max-width: 767px) {
  .topic__list-bg {
    position: relative;
    right: initial;
    top: initial;
    width: 62.5%;
    aspect-ratio: 224/144;
    height: auto;
    overflow: hidden;
  }
}
.topic__list-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1024px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 60px;
  margin-top: 89px;
}
@media screen and (max-width: 767px) {
  .topic__list-container {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .topic__list-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 18px;
    margin-right: -4%;
  }
}
.topic__list-content {
  width: 100%;
  max-width: 665px;
}
.topic__list-categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .topic__list-categories {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 9px;
    margin-bottom: 38px;
  }
}
.topic__list-cat {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4285714286em;
  padding-block: 5px;
  border: 1px solid #594c3c;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  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;
}
.topic__list-cat.active {
  background-color: #fff;
  pointer-events: none;
}
.topic__list-cat:hover {
  opacity: 0.5;
}
.topic__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .topic__list {
    margin-bottom: 42px;
  }
}
.topic__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 10px;
  border-bottom: 1px solid #594c3c;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .topic__list-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.topic__list-item:hover {
  opacity: 0.5;
}
.topic__list-item-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.topic__list-item-date {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-right: 5px;
}
.topic__list-item-cats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  margin-right: 12px;
}
@media screen and (max-width: 767px) {
  .topic__list-item-cats {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
  }
}
.topic__list-item-cat {
  min-width: 96px;
  min-height: 18px;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background-color: #fff;
  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;
}
.topic__list-item-title {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  display: -webkit-box;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow-wrap: break-word;
  overflow: hidden;
}
.topic__sngl-wrapper {
  padding: 100px 4% 240px;
}
@media screen and (max-width: 767px) {
  .topic__sngl-wrapper {
    padding-block: 80px 120px;
  }
}
.topic__sngl-container {
  width: 100%;
  max-width: 758px;
  margin-inline: auto;
}
.topic__sngl-upper {
  padding-bottom: 40px;
  border-bottom: 1px solid #594c3c;
}
.topic__sngl-title {
  font: 400 3rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 1.2666666667em;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .topic__sngl-title {
    font-size: 24px;
  }
}
.topic__sngl-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
.topic__sngl-date {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.topic__sngl-cats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
}
.topic__sngl-cat {
  font-size: 1.2rem;
  font-weight: 500;
  background-color: #bfba9f;
  min-height: 18px;
  padding-inline: 8.6px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .topic__sngl-cat {
    font-size: 10px;
    min-height: initial;
    height: 16px;
  }
}
.topic__sngl-cat:hover {
  opacity: 0.5;
}
.topic__sngl-lower {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  margin-top: 40px;
}
.topic__sngl-txt {
  font: 400 1.6rem "BIZ UDPMincho", serif;
  letter-spacing: 0.1em;
  line-height: 2em;
}
.topic__sngl-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .topic__sngl-block {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
@media screen and (max-width: 767px) {
  .topic__sngl-block--reversed-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 16px;
  }
}
.topic__sngl-img {
  display: block;
  width: 100%;
  aspect-ratio: 359/337;
  border: 1px solid #707070;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .topic__sngl-img {
    aspect-ratio: 345/337;
  }
}
.topic__sngl-img--single {
  aspect-ratio: 758/404;
}
@media screen and (max-width: 767px) {
  .topic__sngl-img--single {
    aspect-ratio: 345/337;
  }
}
.topic__sngl-btn-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .topic__sngl-btn-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 56px;
  }
}
.topic__sngl-btn {
  position: relative;
  background-color: #fff;
  border: 1px solid #594c3c;
  border-radius: 29px;
  width: 100%;
  max-width: 226px;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.25em;
  padding-block: 9px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  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: 767px) {
  .topic__sngl-btn {
    max-width: 264px;
    padding-block: 10px;
  }
}
.topic__sngl-btn::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%) scaleX(-1);
          transform: translateY(-50%) scaleX(-1);
  width: 6px;
  height: 12px;
  -webkit-mask: url("./public/img/icons/arrow-right-big.svg") no-repeat center/100% 100%;
          mask: url("./public/img/icons/arrow-right-big.svg") no-repeat center/100% 100%;
  background-color: #594c3c;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.topic__sngl-btn:hover {
  border-color: #707070;
  background-color: #707070;
  color: #fff;
}
.topic__sngl-btn:hover::before {
  background-color: #fff;
}

.reform {
  padding: 90px 4% 240px;
}
@media screen and (max-width: 767px) {
  .reform {
    padding-block: 80px 85px;
  }
}
.reform__container {
  width: 100%;
  max-width: 1024px;
  margin-inline: auto;
}
.reform__title {
  padding-inline: 8px;
  border-style: solid;
  border-width: 0 1px;
  border-color: #3e5902;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media screen and (max-width: 767px) {
  .reform__title {
    margin-inline: auto;
  }
}
.reform__title-jp {
  display: block;
  font: 400 3rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 1.2666666667em;
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .reform__title-jp {
    font-size: 24px;
    margin-bottom: 0;
  }
}
.reform__title-en {
  display: block;
  font: 400 1.6rem "Montserrat", sans-serif;
  letter-spacing: 0.2em;
  color: #3e5902;
}
@media screen and (max-width: 767px) {
  .reform__title-en {
    font-size: 14px;
  }
}
.reform__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 80px 40px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .reform__links {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 35px;
  }
}
.reform__link {
  position: relative;
  display: block;
  height: 260px;
  padding: 24px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .reform__link {
    height: auto;
    aspect-ratio: 345/160;
    padding: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.reform__link::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #333;
  opacity: 0.35;
  mix-blend-mode: multiply;
  pointer-events: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .reform__link::after {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .reform__link:hover::after {
    opacity: 0;
  }
  .reform__link:hover .reform__link-arrow {
    background-color: #fff;
  }
  .reform__link:hover .reform__link-arrow::before {
    background-color: #3e5902;
  }
}
.reform__link-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.reform__link-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .reform__link-content {
    margin-top: auto;
  }
}
.reform__link-title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .reform__link-title-wrap {
    gap: 8px;
  }
}
.reform__link-title-wrap--vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}
@media screen and (max-width: 767px) {
  .reform__link-title-wrap--vertical {
    gap: 4px;
  }
}
@media screen and (max-width: 767px) {
  .reform__link-title-wrap--col-sp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4px;
  }
}
.reform__link-type-wrap {
  position: relative;
}
.reform__link-type-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #594c3c;
  mix-blend-mode: multiply;
}
.reform__link-type {
  position: relative;
  display: block;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  padding: 7px 8px 0;
  min-width: 64px;
  min-height: 64px;
}
@media screen and (max-width: 980px) {
  .reform__link-type {
    min-width: 40px;
    min-height: 40px;
    padding: 8px;
  }
}
@media screen and (max-width: 980px) and (max-width: 767px) {
  .reform__link-type {
    -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
            writing-mode: initial;
    text-orientation: initial;
  }
}
.reform__link-type::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #594c3c;
  mix-blend-mode: multiply;
}
.reform__link-type--horizontal {
  -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
          writing-mode: initial;
  text-orientation: initial;
}
.reform__link-type--sep::before {
  display: none;
}
.reform__link-type-txt {
  position: relative;
  font: 400 4.8rem "BIZ UDPMincho", serif;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 980px) {
  .reform__link-type-txt {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .reform__link-type-txt {
    font-size: 24px;
  }
}
.reform__link-title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .reform__link-title-container {
    gap: 4px;
  }
}
.reform__link-title-container--end {
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media screen and (max-width: 767px) {
  .reform__link-title-container--end {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
.reform__link-title {
  display: block;
  padding: 2px 7px;
  font: 400 2.4rem "BIZ UDPMincho", serif;
  letter-spacing: 0.1em;
  background-color: #fff;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 767px) {
  .reform__link-title {
    font-size: 14px;
  }
}
.reform__link-arrow {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 24px;
  width: 80px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .reform__link-arrow {
    right: 16px;
    bottom: 16px;
    width: 48px;
  }
}
.reform__link-arrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 12.5px;
  height: 25px;
  -webkit-mask: url("./public/img/reform/arrow-left.svg") no-repeat center/100% 100%;
          mask: url("./public/img/reform/arrow-left.svg") no-repeat center/100% 100%;
  background-color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .reform__link-arrow::before {
    width: 7.5px;
    height: 15px;
  }
}

.reno__wrapper {
  padding-bottom: 240px;
}
@media screen and (max-width: 767px) {
  .reno__wrapper {
    padding-bottom: 87px;
  }
}
.reno__container {
  width: 100%;
  max-width: calc(1024px + 8%);
  padding-inline: 4%;
  margin-inline: auto;
}
.reno__und-heading {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2em;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}
@media screen and (max-width: 767px) {
  .reno__und-heading {
    font-size: 16px;
  }
}
.reno__und-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 2px;
  background-color: #f78e00;
}
.reno__und-heading--mb {
  margin-bottom: 22px;
}
.reno__intro {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .reno__intro {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 80px;
  }
}
.reno__intro--mb160 {
  margin-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .reno__intro--mb160 {
    margin-bottom: 80px;
  }
}
.reno__intro--end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.reno__intro--solo {
  grid-template-columns: 1fr;
  gap: 0;
}
.reno__intro-title {
  font: 400 4rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  margin-block: 40px;
}
@media screen and (max-width: 767px) {
  .reno__intro-title {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .reno__intro-title .sp-block {
    display: block;
    margin-top: 16px;
    margin-left: 2rem;
  }
}
.reno__intro-txt {
  font: 400 2rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 1.9em;
}
@media screen and (max-width: 767px) {
  .reno__intro-txt {
    font-size: 18px;
    letter-spacing: 0.15em;
    line-height: 2em;
  }
}
.reno__intro-txt--short {
  max-width: 758px;
}
.reno__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 80px 40px;
  margin-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .reno__grid {
    grid-template-columns: 1fr;
    gap: 48px;
    margin-bottom: 110px;
  }
}
.reno__sublist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
.reno__sublist-item {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .reno__sublist-item {
    font-size: 16px;
    line-height: 1.75em;
  }
}
.reno__sublist-item:not(:last-child) {
  padding-bottom: 24px;
  border-bottom: 1px solid #ccc;
}
.reno__ext-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 120px;
  margin-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .reno__ext-list {
    gap: 60px;
    margin-bottom: 110px;
  }
}
.reno__ext-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
.reno__ext-list-item-txt {
  font: 400 1.8rem "BIZ UDPMincho", serif;
  letter-spacing: 0.1em;
  line-height: 2em;
}
.reno__ext-content {
  display: grid;
  grid-template-columns: repeat(2, auto);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .reno__ext-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.reno__ext-content--end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.reno__ext-sublist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .reno__ext-sublist {
    gap: 20px;
  }
}
.reno__ext-sublist-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .reno__ext-sublist-item {
    font-size: 16px;
    letter-spacing: 0.03em;
  }
}
.reno__ext-sublist-item::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #f78e00;
  margin-top: 9px;
}
@media screen and (max-width: 767px) {
  .reno__ext-sublist-item::before {
    margin-top: 8px;
  }
}
.reno__ext-sublist-item-note {
  display: block;
  font: 400 1.6rem "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
}
.reno__ext-img-wrapper {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .reno__ext-img-wrapper {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.reno__ext-img {
  display: block;
  width: 100%;
  max-width: 202px;
}
@media screen and (max-width: 767px) {
  .reno__ext-img {
    max-width: 100%;
  }
}
.reno__ext-img--large {
  max-width: 257px;
}
@media screen and (max-width: 767px) {
  .reno__ext-img--large {
    max-width: 100%;
  }
}
.reno__ext-img--auto {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}
@media screen and (max-width: 767px) {
  .reno__ext-img--auto {
    max-width: 100%;
  }
}
.reno__ent-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 40px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .reno__ent-card {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 0;
  }
}
.reno__ent-card--win {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .reno__ent-card--win {
    margin-bottom: 0;
  }
}
.reno__ent-card--win-no-mb {
  margin-bottom: 0;
}
.reno__ent-card-img {
  display: block;
  width: 100%;
  max-width: 226px;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .reno__ent-card-img {
    margin-block: 40px 16px;
    max-width: 180px;
  }
}
.reno__ent-card-img--win {
  margin-bottom: 0;
}
.reno__ent-card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .reno__ent-card-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.reno__ent-card-content--win {
  margin-bottom: 0;
  margin-top: 0;
}
.reno__ent-card-content--win2 {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .reno__ent-card-content--win2 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.reno__ent-card-bubble {
  position: relative;
  padding: 22px 40px;
  width: 100%;
  max-width: 308px;
  border-radius: 40px;
  background-color: #bfba9f;
  font: 400 1.8rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 2.1111111111em;
  color: #333;
}
@media screen and (max-width: 767px) {
  .reno__ent-card-bubble {
    max-width: 100%;
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 2em;
    border-radius: 16px;
  }
}
.reno__ent-card-bubble::before {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
  border-right: 16px solid #bfba9f;
}
@media screen and (max-width: 767px) {
  .reno__ent-card-bubble::before {
    top: 100%;
    right: initial;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    border-bottom: 0;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 16px solid #bfba9f;
  }
}
.reno__ent-card-bubble--win {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}
@media screen and (max-width: 767px) {
  .reno__ent-card-bubble--win {
    max-width: 100%;
  }
}
.reno__ent-card-note {
  display: block;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .reno__ent-card-note {
    margin-bottom: 40px;
  }
}
.reno__ent-card-note--mb {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .reno__ent-card-note--mb {
    margin-block: 16px 0;
  }
}
.reno__win-card-note {
  display: block;
  font-size: 2rem;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .reno__win-card-note {
    font-size: 18px;
    letter-spacing: 0;
    line-height: 2em;
    text-align: left;
    margin-top: 40px;
  }
}
.reno__ent-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .reno__ent-content {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
.reno__ent-content-txt {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2em;
}
.reno__bath-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .reno__bath-list {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
.reno__bath-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.reno__bath-list-item--new {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .reno__bath-list-item--new {
    gap: 10px;
  }
  .reno__bath-list-item--new:not(:last-child) {
    padding-bottom: 48px;
    border-bottom: 1px solid #707070;
  }
}
.reno__bath-list-item-line {
  grid-column: span 2;
  height: 1px;
  background-color: #707070;
}
.reno__bath-list-item-img {
  display: block;
  width: 100%;
  aspect-ratio: 428/195;
  margin-top: auto;
  overflow: hidden;
}
.reno__bath-list-item-img--small {
  aspect-ratio: 202/136;
  margin-top: 0;
}
.reno__win-note {
  display: block;
  font: 400 2rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 1.9em;
  margin-top: auto;
}

.recruitment {
  margin-top: 89px;
}
@media screen and (max-width: 767px) {
  .recruitment {
    margin-top: 80px;
  }
}
.recruitment__container {
  display: block;
  width: 100%;
  max-width: calc(1024px + 8%);
  padding-inline: 4%;
  margin-inline: auto;
}
.recruitment__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .recruitment__heading {
    margin-bottom: 38px;
  }
}
.recruitment__heading span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  margin-left: 6px;
}
.recruitment__heading span::after {
  content: "";
  background: #594c3c;
  width: 1px;
  height: 20px;
}
.recruitment__heading span:first-child::before {
  content: "";
  background: #594c3c;
  width: 1px;
  height: 20px;
}
.recruitment__heading--mb-100 {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .recruitment__heading--mb-100 {
    margin-bottom: 40px;
  }
}
.recruitment__heading--mb-40 {
  margin-bottom: 40px;
}
.recruitment__banner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 120px;
  padding-block: 80px;
}
@media screen and (max-width: 767px) {
  .recruitment__banner {
    grid-template-columns: 1fr;
    gap: 33px;
    margin-bottom: 66px;
    padding-block: 0 64px;
  }
}
.recruitment__banner::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: calc(50% - 246px);
  background: #efddc5;
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
}
@media screen and (max-width: 767px) {
  .recruitment__banner::before {
    top: 124px;
    left: 4%;
  }
}
.recruitment__banner-image {
  overflow: hidden;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  -webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
}
@media screen and (max-width: 767px) {
  .recruitment__banner-image {
    margin-right: 6%;
  }
}
.recruitment__banner-image img {
  aspect-ratio: 663/447;
}
.recruitment__banner-text-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 492px;
}
@media screen and (max-width: 767px) {
  .recruitment__banner-text-wrapper {
    margin-left: calc(4% + 24px);
    margin-right: 24px;
  }
}
.recruitment__banner-heading {
  position: relative;
  width: 100%;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .recruitment__banner-heading {
    padding-bottom: 20px;
  }
}
.recruitment__banner-heading::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #594c3c;
}
.recruitment__banner-heading > img {
  max-width: 169px;
}
.recruitment__banner-quote {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  width: 100%;
  max-width: 375px;
  margin-inline: auto;
  padding-block: 32px;
  font-family: "BIZ UDPMincho", serif;
  font-size: 2.4rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .recruitment__banner-quote {
    gap: 16px;
    font-size: 1.8rem;
    padding-inline: 14px 15px;
  }
}
.recruitment__banner-quote--right {
  -ms-flex-item-align: end;
      align-self: flex-end;
}
.recruitment__banner-text {
  position: relative;
  padding-top: 40px;
  font-family: "BIZ UDPMincho", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 2.2222222222em;
}
@media screen and (max-width: 767px) {
  .recruitment__banner-text {
    padding-top: 32px;
  }
}
.recruitment__banner-text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #594c3c;
}
.recruitment__characteristic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 980px) {
  .recruitment__characteristic {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.recruitment__characteristic:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 980px) {
  .recruitment__characteristic:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.recruitment__characteristic:not(:last-child) {
  margin-bottom: 120px;
}
@media screen and (max-width: 980px) {
  .recruitment__characteristic:not(:last-child) {
    margin-bottom: 80px;
  }
}
.recruitment__characteristic-heading {
  position: relative;
  font-size: 2rem;
  font-weight: 400;
  padding-bottom: 24px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .recruitment__characteristic-heading {
    line-height: 1.6em;
  }
}
.recruitment__characteristic-heading::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: #594c3c;
}
.recruitment__characteristic-heading--pl {
  padding-left: 40px;
}
@media screen and (max-width: 980px) {
  .recruitment__characteristic-heading--pl {
    padding-left: unset;
  }
}
.recruitment__characteristic-text {
  padding-right: 40px;
  font-family: "BIZ UDPMincho", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 2em;
}
@media screen and (max-width: 980px) {
  .recruitment__characteristic-text {
    padding-right: unset;
  }
}
.recruitment__characteristic-text--pl {
  padding-left: 40px;
  padding-right: 0;
}
@media screen and (max-width: 980px) {
  .recruitment__characteristic-text--pl {
    padding-left: unset;
  }
}
.recruitment__characteristic-image {
  overflow: hidden;
  -ms-flex-preferred-size: 492px;
      flex-basis: 492px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 40px;
}
@media screen and (max-width: 980px) {
  .recruitment__characteristic-image {
    max-width: 600px;
    -ms-flex-preferred-size: unset;
        flex-basis: unset;
    -ms-flex-negative: unset;
        flex-shrink: unset;
    margin-bottom: 32px;
  }
}
.recruitment__characteristic-image img {
  aspect-ratio: 492/336;
}
.recruitment__message {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 46px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 80px 400px;
  margin-block: 40px 160px;
  height: 400px;
}
@media screen and (max-width: 980px) {
  .recruitment__message {
    padding-left: 25px;
  }
}
@media screen and (max-width: 767px) {
  .recruitment__message {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: unset;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-block: 79px 70px;
    height: initial;
    padding: 75px 0 280px;
  }
}
.recruitment__message::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 80px;
  right: 0;
  bottom: 0;
  left: 0;
  background: #efddc5;
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  .recruitment__message::before {
    top: 0;
  }
}
.recruitment__message-image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 400px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .recruitment__message-image {
    width: 345px;
    right: initial;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.recruitment__message-text {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .recruitment__message-text {
    margin-top: 0;
    padding-inline: 28px 20px;
    text-align: center;
  }
}
.recruitment__message-text > * {
  display: block;
}
.recruitment__message-text > dt {
  margin-bottom: 24px;
  font-family: "BIZ UDPMincho", serif;
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1.2666666667em;
}
@media screen and (max-width: 767px) {
  .recruitment__message-text > dt {
    font-size: 2.4rem;
    line-height: 1.6666666667em;
  }
}
.recruitment__message-text > dd {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2.2222222222em;
}
@media screen and (max-width: 767px) {
  .recruitment__message-text > dd {
    line-height: 1.6666666667em;
  }
}
.recruitment__cards {
  padding-block: 86px 87px;
  background: rgba(239, 239, 197, 0.8);
}
@media screen and (max-width: 767px) {
  .recruitment__cards {
    padding-block: 64px 80px;
  }
}
.recruitment__card-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 32px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 980px) {
  .recruitment__card-wrapper {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
.recruitment__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  padding: 64px 64px 74px;
}
@media screen and (max-width: 767px) {
  .recruitment__card {
    padding: 64px 32px 54px;
  }
}
.recruitment__card::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 8px;
  right: 8px;
  border: 1px solid #594c3c;
}
.recruitment__card::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 8px;
  right: 0;
  bottom: 0;
  left: 8px;
  background: #fff;
}
.recruitment__card:nth-child(even) {
  margin-top: 80px;
}
@media screen and (max-width: 980px) {
  .recruitment__card:nth-child(even) {
    margin-top: unset;
  }
}
.recruitment__card > * {
  z-index: 1;
}
.recruitment__card-triangle {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 40px 0 0;
  border-color: #594c3c transparent transparent transparent;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.recruitment__card-header {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 2em;
}
.recruitment__card-header > span {
  position: relative;
  display: block;
  margin-bottom: 4px;
  padding-bottom: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.recruitment__card-header > span::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background: #f78e00;
}
.recruitment__card-image {
  position: absolute;
  top: -19px;
  right: 48px;
  border-radius: 50%;
  overflow: hidden;
  width: 160px;
  height: 160px;
}
@media screen and (max-width: 767px) {
  .recruitment__card-image {
    width: 128px;
    height: 128px;
    top: 12px;
    right: -4px;
  }
}
.recruitment__card-description {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2em;
}
.recruitment__requirements {
  padding-block: 110px 160px;
}
@media screen and (max-width: 767px) {
  .recruitment__requirements {
    padding-block: 64px 127px;
  }
}
.recruitment__table {
  width: 100%;
  max-width: 758px;
  margin: 0 auto;
  border-top: 1px solid #594c3c;
}
.recruitment .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}
.recruitment .wp-block-table td {
  border: none;
  border-bottom: 1px solid #594c3c;
  padding: 16px 30px;
  vertical-align: top;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2em;
  color: #594c3c;
}
@media screen and (max-width: 767px) {
  .recruitment .wp-block-table td {
    border-bottom: none;
    padding: 6px 0 12px;
    display: block;
  }
}
.recruitment .wp-block-table td:first-child {
  padding-inline: 12px;
  width: 133px;
  background: #f0f2f0;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .recruitment .wp-block-table td:first-child {
    padding: 4px;
    width: 100%;
  }
}
.recruitment__table-list {
  padding-left: 1em;
}
.recruitment__table-list span {
  display: block;
  margin-top: 4px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.45em;
}
.recruitment__table-list li {
  position: relative;
}
.recruitment__table-list li::before {
  content: "・";
  font-weight: 400;
  position: absolute;
  top: 0;
  left: -16px;
}
.recruitment__table-list li:not(:last-child) {
  margin-bottom: 8px;
}
.recruitment__table-ordered-list {
  counter-reset: li;
  padding-left: 1.5em;
  list-style: none;
}
.recruitment__table-ordered-list > li {
  position: relative;
}
.recruitment__table-ordered-list > li::before {
  content: counter(li);
  counter-increment: li;
  position: absolute;
  left: -2em;
  top: 1em;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  background-color: #594c3c;
  line-height: 1.5em;
  padding-inline: 5px;
}
.recruitment__requirements-message {
  position: relative;
  width: 100%;
  max-width: 758px;
  margin-inline: auto;
  margin-top: 80px;
  padding: 40px 56px;
  border: 1px solid #707070;
  background: #a6866a;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .recruitment__requirements-message {
    padding: 40px 39px;
  }
}
.recruitment__contact {
  position: relative;
  background: #efddc5;
}
.recruitment__contact-wrapper {
  padding-block: 120px;
}
@media screen and (max-width: 767px) {
  .recruitment__contact-wrapper {
    padding-bottom: 80px;
  }
}
.recruitment__contact-text {
  text-align: center;
  font-family: "BIZ UDPMincho", serif;
  font-size: 2.4rem;
  letter-spacing: 0.2em;
  line-height: 2em;
  margin-bottom: 40px;
}
.recruitment__contact-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .recruitment__contact-buttons {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .recruitment__contact-buttons {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.recruitment__contact-button {
  overflow: hidden;
  position: relative;
  padding: 9.5px 33px 12.5px;
  border: 1px solid #594c3c;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  font-weight: 700;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  min-height: 80px;
}
@media screen and (max-width: 767px) {
  .recruitment__contact-button {
    padding: 14px 30px;
  }
}
.recruitment__contact-button--with-arrow {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.recruitment__contact-button--with-arrow::after {
  content: "";
  position: absolute;
  right: 33px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 6px;
  height: 12px;
  -webkit-mask: url("./public/img/icons/arrow-right-big.svg") no-repeat center/100% 100%;
          mask: url("./public/img/icons/arrow-right-big.svg") no-repeat center/100% 100%;
  background-color: #594c3c;
}
.recruitment__contact-button--with-arrow:hover {
  opacity: 1 !important;
  background-color: #f78e00;
  color: #fff;
}
.recruitment__contact-button--with-arrow:hover::after {
  background-color: #fff;
}
.recruitment__contact-button--with-arrow:hover::before {
  border-top-color: #594c3c;
}
.recruitment__contact-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 24px 0 0;
  border-color: #f78e00 transparent transparent transparent;
  -webkit-transition: border-top-color 0.3s ease;
  transition: border-top-color 0.3s ease;
}
.recruitment__contact-button:hover {
  opacity: 0.7;
}
.recruitment__contact-label {
  position: relative;
  z-index: 1;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .recruitment__contact-label {
    font-size: 1.8rem;
    line-height: 1.3333333333em;
  }
}
.recruitment__contact-label--sm {
  letter-spacing: 0;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .recruitment__contact-label--sm {
    margin-right: 0;
    font-size: 2rem;
  }
}
.recruitment__contact-label--lg {
  font-size: 4rem;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .recruitment__contact-label--lg {
    font-size: 3.6rem;
  }
}
.recruitment__deco {
  position: absolute;
}
.recruitment__deco--line-top {
  top: 0;
  left: 0;
  width: 120px;
  height: 120px;
}
.recruitment__deco--line-bottom {
  bottom: 0;
  right: 0;
  width: 120px;
  height: 120px;
}
.recruitment__deco--id {
  top: 18px;
  right: 8.8%;
  width: 124px;
}
@media screen and (max-width: 1200px) {
  .recruitment__deco--id {
    top: -58px;
  }
}
@media screen and (max-width: 767px) {
  .recruitment__deco--id {
    right: 0;
    width: 100px;
  }
}
.recruitment__deco--note {
  top: -80px;
  left: 80px;
  width: 160px;
}
@media screen and (max-width: 767px) {
  .recruitment__deco--note {
    left: 0;
    top: -42px;
    width: 128px;
  }
}
.recruitment__table-note {
  font-size: 1.6rem;
  text-align: center;
}

.top__container {
  margin-inline: auto;
  width: 1024px;
  max-width: calc(100% - 60px);
}
@media screen and (max-width: 767px) {
  .top__container {
    width: 100%;
    max-width: calc(100% - 30px);
  }
}
.top__truncate {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.top__btn {
  position: relative;
  padding: 7px 0 9px;
  width: 226px;
  background-color: #594c3c;
  border-radius: 20px;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  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;
}
.top__btn::after {
  content: "";
  width: 7px;
  height: 13px;
  background: url("./public/img/icons/arrow-right@6x12.svg") no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top__btn:hover {
  background-color: #a6866a;
}
.top__btn--ml-auto {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .top__btn--ml-auto {
    margin-right: auto;
  }
}
.top .splide__pagination {
  bottom: 10px;
  padding: 0 10px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.top .splide__pagination__page {
  background: #fff;
  margin: 6px;
  opacity: 1;
  border: 1px solid #594c3c;
}
.top .splide__pagination__page.is-active {
  -webkit-transform: none;
          transform: none;
  background: #594c3c;
}
.top .reveal-bg {
  overflow: hidden;
}
.top .reveal-bg::before {
  height: 0;
  -webkit-transition: height 0.6s ease;
  transition: height 0.6s ease;
  z-index: 1;
}
.top .reveal-text {
  position: relative;
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: opacity 0.6s ease 0.4s, -webkit-transform 0.6s ease 0.4s;
  transition: opacity 0.6s ease 0.4s, -webkit-transform 0.6s ease 0.4s;
  transition: opacity 0.6s ease 0.4s, transform 0.6s ease 0.4s;
  transition: opacity 0.6s ease 0.4s, transform 0.6s ease 0.4s, -webkit-transform 0.6s ease 0.4s;
  z-index: 2;
}
.top .title__ja span {
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
  -webkit-transition: -webkit-clip-path 1s cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: -webkit-clip-path 1s cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: clip-path 1s cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: clip-path 1s cubic-bezier(0.37, 0, 0.63, 1), -webkit-clip-path 1s cubic-bezier(0.37, 0, 0.63, 1) !important;
}
.top .title__ja span.aos-animate {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

/* TOP - HERO
---------------------------------------------------------- */
.top-hero {
  width: 100%;
  height: 84.4dvh;
  background: #fff;
}
@media screen and (min-width: 1025px) and (max-width: 1366px) {
  .top-hero {
    height: 648px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .top-hero {
    height: 848px;
  }
}
@media screen and (max-width: 767px) {
  .top-hero {
    height: 82.8dvh;
  }
}
.top-hero__container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: 58.6vh 25.3vh;
  gap: 4px;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1025px) and (max-width: 1366px) {
  .top-hero__container {
    grid-template-rows: 450px 194px;
  }
}
@media screen and (max-width: 1024px) {
  .top-hero__container {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 0;
  }
}
.top-hero__intro {
  grid-column: 1/3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 24.56%;
  background: #fff;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media screen and (max-width: 1024px) {
  .top-hero__intro {
    grid-column: 1;
    grid-row: 1/3;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 0;
  }
}
.top-hero__intro-wrap {
  padding-top: 77px;
}
@media screen and (max-width: 767px) {
  .top-hero__intro-wrap {
    padding-top: 33px;
  }
}
.top-hero__headline {
  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;
  gap: 16px;
  margin-left: 16px;
  font: 400 4rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .top-hero__headline {
    gap: 4px;
    font-size: 24px;
  }
}
.top-hero__headline span:first-child {
  margin-top: -77px;
  padding-right: 8px;
  border-right: 1px solid #594c3c;
}
@media screen and (max-width: 767px) {
  .top-hero__headline span:first-child {
    margin-top: -33px;
  }
}
.top-hero__headline span:last-child {
  padding-left: 8px;
  border-left: 1px solid #594c3c;
}
.top-hero__desc {
  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;
  gap: 16px;
  font-family: "BIZ UDPMincho", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .top-hero__desc {
    gap: 8px;
    font-size: 12px;
  }
}
.top-hero__media {
  position: absolute;
  inset: 0;
  height: 100%;
}
.top-hero__media--slide {
  z-index: -1;
  -webkit-transition: 7s 1s ease-out;
  transition: 7s 1s ease-out;
}
.top-hero__title {
  position: relative;
  display: inline-block;
  padding: 8px;
  font: 400 3rem "BIZ UDPMincho", serif;
  color: #fff;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .top-hero__title {
    font-size: 24px;
  }
}
.top-hero__title::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #594c3c;
  mix-blend-mode: multiply;
  position: absolute;
  left: 0;
  bottom: 0;
}
.top-hero__title--fs64 {
  font-size: 6.4rem;
}
.top-hero__subtitle {
  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;
  gap: 2px;
}
@media screen and (max-width: 767px) {
  .top-hero__subtitle {
    gap: 4px;
  }
}
.top-hero__subtitle-text {
  position: relative;
  display: inline-block;
  padding: 2px 8px;
  font-family: "BIZ UDPMincho", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .top-hero__subtitle-text {
    font-size: 14px;
  }
}
.top-hero__subtitle-text::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
}
.top-hero__title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
}
.top-hero__title-wrap--slide {
  gap: 16px;
}
.top-hero__title-wrap--slide .top-hero__subtitle {
  gap: 12px;
}
.top-hero__title-wrap--slide .top-hero__subtitle-text {
  font-size: 3rem;
}
.top-hero__title-wrap--entrance {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .top-hero__title-wrap--entrance {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 4px;
  }
}
@media screen and (min-width: 768px) {
  .top-hero__title-wrap--entrance .top-hero__title {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}
.top-hero__title-wrap--col-start {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .top-hero__title-wrap--col-start {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 4px;
  }
}
.top-hero__title-wrap--thumb {
  position: relative;
  padding: 16px;
  height: 100%;
}
.top-hero__title-wrap--consult {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .top-hero__title-wrap--consult {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.top-hero__slider {
  grid-column: 3/7;
}
@media screen and (max-width: 1024px) {
  .top-hero__slider {
    display: none;
  }
}
.top-hero__slider-track {
  height: 100%;
}
.top-hero__slide.is-active .top-hero__media--slide {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.top-hero__slide.is-active .reveal-bg::before {
  height: 100%;
  bottom: 0;
}
.top-hero__slide.is-active .reveal-text {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.top-hero__slide-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  padding: 64px;
  height: 100%;
}
.top-hero__slide-content--exterior {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top-hero__slide-content--exterior .top-hero__title-wrap {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.top-hero__slide-content--expansion {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top-hero__slide-content--expansion .top-hero__title-wrap {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.top-hero__slide-content--consult {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top-hero__desc-item {
  position: relative;
  padding-left: 24px;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2em;
}
.top-hero__desc-item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.top-hero__desc-item--fs20 {
  font-size: 2rem;
  line-height: 2em;
}
.top-hero__desc-item--gray {
  color: #333;
}
.top-hero__desc-item--white {
  color: #fff;
}
.top-hero__consult-title {
  display: block;
  position: relative;
  width: 268px;
  height: 280px;
}
.top-hero__consult-title::before {
  content: "";
  width: 100%;
  background: #f78e00;
  position: absolute;
  left: 0;
  bottom: 0;
}
.top-hero__consult-title--thumb {
  width: 122px;
  height: 128px;
}
@media screen and (max-width: 767px) {
  .top-hero__consult-title--thumb {
    width: 106px;
    height: 110px;
  }
}
.top-hero__consult-title--thumb::before {
  display: none;
}
.top-hero__consult-desc {
  position: relative;
  font-weight: 900;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
.top-hero .splide__pagination {
  bottom: 10px;
  padding: 0 10px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.top-hero .splide__pagination__page {
  background: #fff;
  margin: 6px;
  opacity: 1;
  border: 1px solid #594c3c;
}
.top-hero .splide__pagination__page.is-active {
  -webkit-transform: none;
          transform: none;
  background: #594c3c;
}
.top-hero__thumb {
  position: relative;
  cursor: pointer;
}
.top-hero__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: #707070;
  mix-blend-mode: multiply;
  opacity: 0.6;
  visibility: visible;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 1024px) {
  .top-hero__thumb::after {
    display: none;
  }
}
.top-hero__thumb.active {
  cursor: default;
}
.top-hero__thumb.active::after {
  opacity: 0;
  visibility: hidden;
}
.top-hero__thumb-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

/* TOP - 新着情報
---------------------------------------------------------- */
.top-topics {
  padding-block: 160px 120px;
  background: #dedccf;
}
@media screen and (max-width: 767px) {
  .top-topics {
    padding-block: 80px 57px;
  }
}
.top-topics__container {
  display: grid;
  grid-template-columns: 244px 1fr;
  gap: 54px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .top-topics__container {
    gap: 35px;
  }
}
@media screen and (max-width: 767px) {
  .top-topics__container {
    grid-template-columns: 100%;
    gap: 35px;
    max-width: 100%;
  }
}
.top-topics__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 42px;
}
@media screen and (max-width: 767px) {
  .top-topics__header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-left: 15px;
  }
}
.top-topics__picture {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-topics__picture {
    width: 62.23%;
  }
}
.top-topics__main {
  padding-right: 61px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .top-topics__main {
    padding-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-topics__main {
    padding-right: 0;
    margin-inline: auto;
    width: calc(100% - 30px);
  }
}
.top-topics__categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-topics__categories {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 9px;
  }
}
.top-topics__category {
  padding-block: 4px 6px;
  border: 1px solid #594c3c;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  text-align: center;
  -webkit-transition: letter-spacing 0.3s ease;
  transition: letter-spacing 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top-topics__category {
    padding-block: 9px;
  }
}
.top-topics__category.active {
  cursor: default;
  background: #fff;
}
.top-topics__category:not(.active):hover {
  letter-spacing: 0.2em;
}
.top-topics__list {
  margin-block: 35px 67px;
}
@media screen and (max-width: 767px) {
  .top-topics__list {
    margin-block: 34px 29px;
  }
}
.top-topics__item {
  position: relative;
  padding-block: 0 10px;
}
@media screen and (max-width: 767px) {
  .top-topics__item {
    padding-block: 4px;
  }
}
.top-topics__item::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #594c3c;
  position: absolute;
  bottom: 0;
  left: 0;
}
.top-topics__item:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .top-topics__item:not(:last-child) {
    margin-bottom: 15px;
  }
}
.top-topics__item:hover {
  opacity: 0.7;
}
.top-topics__article {
  display: grid;
  grid-template-columns: auto auto 1fr;
}
@media screen and (max-width: 767px) {
  .top-topics__article {
    grid-template-columns: 77px auto;
  }
}
.top-topics__article-date {
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
.top-topics__article-category {
  margin-inline: 5px 10px;
  width: 96px;
  background: #fff;
  font-weight: 500;
  font-size: 1.2rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-topics__article-category {
    margin-left: 9px;
  }
}
.top-topics__article-title {
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .top-topics__article-title {
    grid-column: 1/-1;
    padding-top: 4px;
  }
}

/* TOP - SERVICES
---------------------------------------------------------- */
.top-services {
  position: relative;
  background: #fff;
}
.top-services::before {
  content: "";
  display: block;
  width: 50vw;
  height: 120px;
  background: #dedccf;
  position: absolute;
  top: -1px;
  right: 0;
}
@media screen and (max-width: 767px) {
  .top-services::before {
    height: 66px;
  }
}
@media screen and (max-width: 767px) {
  .top-services__container {
    max-width: 100%;
  }
}
.top-services__blockqoute {
  position: relative;
  padding-block: 120px 64px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .top-services__blockqoute {
    padding: 32px 27px 40px 15px;
    max-width: calc(100% - 47px);
  }
}
.top-services__blockqoute-inner {
  padding-inline: 16px;
  border-left: 4px solid #f78e00;
  font-family: "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .top-services__blockqoute-inner {
    padding-inline: 12px 0;
    gap: 32px;
  }
}
.top-services__heading {
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .top-services__heading {
    font-size: 20px;
  }
}
.top-services__desc {
  font-size: 2rem;
  line-height: 1.9em;
}
@media screen and (max-width: 767px) {
  .top-services__desc {
    font-size: 16px;
    line-height: 2em;
    letter-spacing: 0.1em;
  }
}
.top-services__figure {
  position: relative;
  display: grid;
  grid-template-columns: 187px 1fr 187px;
}
@media screen and (max-width: 1023px) {
  .top-services__figure {
    grid-template-columns: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .top-services__figure > * {
    grid-row: 1;
  }
}
.top-services__home {
  grid-column: 2;
  display: block;
  margin: 56px auto 0;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 1023px) {
  .top-services__home {
    grid-column: 1;
    margin-top: 0;
  }
}
.top-services__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px 32px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .top-services__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .top-services__list {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 17px;
       -moz-column-gap: 17px;
            column-gap: 17px;
    margin-inline: auto;
    width: calc(100% - 30px);
  }
}
.top-services__list--left {
  grid-column: 1;
  align-self: flex-end;
  margin: 0 23px 64px 0;
}
@media screen and (max-width: 1023px) {
  .top-services__list--left {
    display: none;
  }
}
.top-services__list--center {
  grid-template-columns: repeat(2, 1fr);
  max-width: 360px;
  position: absolute;
  top: 0;
  left: 41.5%;
}
@media screen and (max-width: 1023px) {
  .top-services__list--center {
    display: none;
  }
}
.top-services__list--right {
  grid-column: 3;
  align-self: flex-start;
  margin: 64px 0 0 23px;
}
@media screen and (max-width: 1023px) {
  .top-services__list--right {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .top-services__list--sp {
    display: none;
  }
}
.top-services__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
.top-services__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: #594c3c;
  border-radius: 50%;
  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: 767px) {
  .top-services__icon {
    background: #f78e00;
  }
}
.top-services__figure-footer {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .top-services__figure-footer {
    margin-inline: auto;
    padding-bottom: 120px;
    max-width: calc(100% - 40px);
  }
}
.top-services__question {
  position: relative;
  display: block;
  margin: 20px auto 26px;
  padding: 13px 38px;
  max-width: 700px;
  background: #594c3c;
  border-radius: 35px;
  font-weight: 700;
  font-size: 3rem;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-services__question {
    margin-bottom: 24px;
    padding: 16px 25px;
    border-radius: 50px;
    font-size: 20px;
  }
}
.top-services__question::after {
  content: "";
  width: 0;
  height: 0;
  border-width: 20px 0 0 20px;
  border-color: transparent transparent transparent #594c3c;
  border-style: solid;
  position: absolute;
  top: -20px;
  right: 80px;
}
.top-services__notes {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-services__notes {
    font-size: 18px;
    text-align: left;
  }
}

/* TOP - CAMPAIGN
---------------------------------------------------------- */
.top-campaign {
  padding-bottom: 80px;
  background: linear-gradient(to bottom, #fff 0%, #fff 120px, #cca775 120px, #cca775 100%);
}
@media screen and (max-width: 767px) {
  .top-campaign {
    background: linear-gradient(to bottom, #fff 0%, #fff 80px, #cca775 80px, #cca775 100%);
  }
}
.top-campaign__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .top-campaign__container {
    grid-template-columns: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-campaign__container {
    grid-template-columns: 100%;
    gap: 68px;
  }
}
.top-campaign__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.3));
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
.top-campaign__card::after {
  content: "";
  width: 0;
  height: 0;
  border-width: 64px 64px 0 0;
  border-color: #f78e00 transparent transparent transparent;
  border-style: solid;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .top-campaign__card::after {
    border-width: 48px 48px 0 0;
  }
}
.top-campaign__card:hover {
  -webkit-filter: none;
          filter: none;
}
.top-campaign__card-content {
  display: grid;
  grid-template-columns: 1fr calc(100% - 80px) 1fr;
  padding-block: 40px;
  height: 100%;
  background: #f7f1ea;
}
@media screen and (min-width: 1024px) and (max-width: 1080px) {
  .top-campaign__card-content {
    grid-template-columns: 1fr calc(100% - 50px) 1fr;
  }
}
@media screen and (max-width: 767px) {
  .top-campaign__card-content {
    grid-template-columns: 1fr calc(100% - 48px) 1fr;
    padding-bottom: 32px;
  }
}
.top-campaign__card-content > * {
  grid-column: 2;
}
.top-campaign__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top-campaign__header--screen {
  grid-column: 2/-1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top-campaign__title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 2em;
}
.top-campaign__title .lg {
  font-weight: 900;
  font-size: 5.6rem;
  line-height: 1em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .top-campaign__title .lg {
    font-size: 48px;
  }
}
.top-campaign__title .orange {
  color: #f78e00;
  line-height: 1em;
  letter-spacing: 0.032em;
}
.top-campaign__text-area {
  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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  margin-top: 24px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75em;
  letter-spacing: 0.05em;
}
.top-campaign__text18 {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .top-campaign__text18 {
    font-size: 16px;
    line-height: 1.75em;
  }
}
.top-campaign__text18--green {
  color: #3e5902;
}
.top-campaign__link {
  display: block;
  padding: 16px 40px 19px;
  background-color: #594c3c;
  font-weight: 700;
  font-size: 2rem;
  color: #fff;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (min-width: 1024px) and (max-width: 1080px) {
  .top-campaign__link {
    padding-inline: 25px;
  }
}
@media screen and (max-width: 767px) {
  .top-campaign__link {
    padding: 11px 16px 13px;
    font-size: 16px;
  }
}
.top-campaign__link::after {
  content: "";
  display: inline-block;
  margin-left: 12px;
  width: 14px;
  height: 16px;
  background: url("./public/img/icons/arrow-right@14x16.svg") no-repeat center/contain;
}
@media screen and (max-width: 1023px) {
  .top-campaign__link::after {
    position: absolute;
    right: 16px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.top-campaign__link--green {
  background-color: #3e5902;
}
.top-campaign__card-screen::after {
  border-top-color: #3e5902;
}
.top-campaign__card-screen .top-campaign__card-content {
  background: #f0f2f0;
}
.top-campaign__card-screen .top-campaign__title-wrap {
  -ms-flex-item-align: end;
      align-self: flex-end;
}
.top-campaign__screen-subtitle {
  margin-top: 8px;
}
.top-campaign__picture {
  width: 62.4%;
  height: 196px;
}
@media screen and (max-width: 767px) {
  .top-campaign__picture {
    width: 58.47%;
    height: 180px;
  }
}

/* TOP - 私たちが選ばれる理由
---------------------------------------------------------- */
.top-reasons__container {
  gap: 33px;
  padding: 120px 60px 120px 0;
  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;
}
@media screen and (max-width: 1080px) {
  .top-reasons__container {
    padding-right: 0;
  }
}
@media screen and (max-width: 1024px) {
  .top-reasons__container {
    gap: 53px;
    padding-right: 30px;
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-reasons__container {
    gap: 8px;
    padding: 35px 15px 64px 0;
    max-width: 100%;
  }
}
.top-reasons__slider {
  visibility: visible;
}
@media screen and (min-width: 1024px) {
  .top-reasons__photos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
    max-width: 798px;
  }
}
.top-reasons__photo {
  position: relative;
}
@media screen and (max-width: 1024px) {
  .top-reasons__photo {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .top-reasons__picture {
    height: 100%;
  }
}
.top-reasons__photo-caption {
  position: absolute;
  inset: 0;
  padding: 10px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-caption {
    padding: 16px;
  }
}
.top-reasons__photo-caption span {
  display: inline-block;
  font-size: 1.6rem;
  padding: 2px 8px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-caption span {
    font-size: 14px;
    direction: ltr;
  }
}
.top-reasons__photo-caption span.fs24 {
  margin-left: 40px;
  padding-block: 4px;
  font-family: "BIZ UDPMincho", serif;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-caption span.fs24 {
    margin-left: 0;
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .top-reasons__photo-01 {
    margin-left: 40px;
    width: 226px;
    height: 360px;
  }
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-01 .top-reasons__photo-caption {
    padding: 0 0 16px;
  }
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-01 .top-reasons__photo-caption span:first-child {
    margin-right: 14px;
  }
}
@media screen and (min-width: 1024px) {
  .top-reasons__photo-02 {
    margin-block: 20px;
    width: 258px;
    height: 320px;
  }
}
.top-reasons__photo-02 .top-reasons__photo-caption {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-02 .top-reasons__photo-caption {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-right: 0;
  }
}
@media screen and (min-width: 1024px) {
  .top-reasons__photo-03 {
    width: 258px;
    height: 340px;
  }
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-03 .top-reasons__photo-caption {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-03 .top-reasons__photo-caption span:first-child {
    margin-right: 32px;
  }
}
@media screen and (min-width: 1024px) {
  .top-reasons__photo-04 {
    width: 359px;
    height: 232px;
  }
}
.top-reasons__photo-04 .top-reasons__photo-caption {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-04 .top-reasons__photo-caption {
    padding-inline: 0;
  }
}
@media screen and (min-width: 768px) {
  .top-reasons__photo-04 .top-reasons__photo-caption span:first-child {
    margin-right: 39px;
  }
}
@media screen and (min-width: 1024px) {
  .top-reasons__photo-05 {
    margin-top: 12px;
    width: 391px;
    height: 220px;
  }
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-05 .top-reasons__photo-caption {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-reasons__photo-05 .top-reasons__photo-caption .fs24 {
    margin-left: 40px;
  }
}
.top-reasons__heading {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .top-reasons__heading {
    margin: 5px 15px 0 auto;
  }
}
.top-reasons__btn {
  position: relative;
  margin-top: 49px;
  padding-bottom: 8px;
  width: 133px;
  height: 133px;
  background-color: #3e5902;
  border-radius: 50%;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  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: 767px) {
  .top-reasons__btn {
    margin-top: 24px;
    width: 120px;
    height: 120px;
    letter-spacing: 0.15em;
  }
}
.top-reasons__btn::after {
  content: "";
  width: 13px;
  height: 13px;
  background: url("./public/img/icons/arrow-right@12x12.svg") no-repeat center/contain;
  position: absolute;
  bottom: 24px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.top-reasons__btn:hover {
  background-color: #929d7b;
}

/* TOP - 施工事例
---------------------------------------------------------- */
.top-works__line {
  width: 1px;
  height: 80px;
  background: #707070;
  position: absolute;
  top: -18px;
  left: 18px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-works__line {
    height: 40px;
    top: -10px;
    left: 8px;
  }
}
.top-works__container {
  display: grid;
  grid-template-columns: 133px 87%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  padding-block: 120px 100px;
}
@media screen and (max-width: 767px) {
  .top-works__container {
    grid-template-columns: 100%;
    padding-block: 40px 70px;
  }
}
.top-works__container > * {
  grid-column: 2;
}
@media screen and (max-width: 767px) {
  .top-works__container > * {
    grid-column: 1;
  }
}
.top-works__container::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background: #f0f2f0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.top-works__container::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  right: 100%;
}
.top-works__heading-wrap {
  grid-column: 1;
  z-index: 2;
  padding-inline: 40px 21px;
  background: #f0f2f0;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .top-works__heading-wrap {
    padding-left: 32px;
  }
}
@media screen and (max-width: 767px) {
  .top-works__slider {
    padding: 24px 0 0 32px;
  }
}
.top-works__slider::before {
  content: "";
  width: 32px;
  height: calc(100% - 24px);
  background: #f0f2f0;
  position: absolute;
  top: 24px;
  left: 0;
  z-index: 1;
  display: none;
}
@media screen and (max-width: 767px) {
  .top-works__slider::before {
    display: block;
  }
}
.top-works__track {
  overflow: visible;
}
.top-works__item:hover .top-works__slide {
  background-color: #efddc5;
}
.top-works__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  padding: 16px 0 9px 16px;
  height: 100%;
  background-color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.top-works__slide-category {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  font-weight: 500;
}
.top-works__slide-image {
  display: block;
  aspect-ratio: 320/176;
}
.top-works__slide-date {
  font-weight: 400;
  font-size: 1.2rem;
}
.top-works__slide-title {
  font-weight: 500;
}
.top-works .splide__pagination {
  bottom: -25px;
  left: -6px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .top-works .splide__pagination {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.top-works .splide__pagination__page {
  background: transparent;
}
.top-works__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px;
  margin-top: 59px;
}
@media screen and (max-width: 1023px) {
  .top-works__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: calc(100% - 30px);
  }
}
@media screen and (max-width: 767px) {
  .top-works__footer {
    gap: 28px;
    width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .top-works__btn {
    margin-inline: auto;
  }
}
.top-works__info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .top-works__info {
    -ms-flex-item-align: end;
        align-self: flex-end;
    width: calc(100% - 32px);
  }
}
.top-works__info-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 21px;
  position: relative;
  font-size: 1.2rem;
  line-height: 1.6666666667em;
  letter-spacing: 0.05em;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .top-works__info-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 7px;
  }
}
.top-works__info-item::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #594c3c;
  display: block;
  position: absolute;
  top: 50%;
  left: 64px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .top-works__info-item::after {
    display: none;
  }
}
.top-works__info-item:not(:last-child) {
  margin-bottom: 23px;
}
@media screen and (max-width: 767px) {
  .top-works__info-item:not(:last-child) {
    margin-bottom: 28px;
  }
}
.top-works__info-term {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 53px;
  line-height: 1.3333333333em;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-works__info-term {
    font-size: 14px;
  }
}

/* TOP - 募集要項
---------------------------------------------------------- */
.top-recruit {
  padding-block: 120px;
}
@media screen and (max-width: 767px) {
  .top-recruit {
    padding-block: 59px 54px;
  }
}
.top-recruit__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 1023px) {
  .top-recruit__container {
    grid-template-columns: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .top-recruit__container > * {
    grid-row: 1;
  }
}
.top-recruit__picture, .top-recruit__speech {
  height: 280px;
  border-radius: 40px;
}
.top-recruit__picture {
  grid-column: 1;
  display: block;
  width: 532px;
  -webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-recruit__picture {
    width: calc(100% - 40px);
    height: auto;
  }
}
.top-recruit__speech {
  grid-column: span 2/span 2;
  margin: 40px 0 0 -32px;
  position: relative;
  background: #efddc5;
  border: 4px solid #fff;
  width: 106.54%;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .top-recruit__speech {
    margin: -20px 0 0 auto;
    width: 514px;
  }
}
@media screen and (max-width: 767px) {
  .top-recruit__speech {
    justify-self: flex-end;
    margin: -16px 0 0;
    width: calc(100% - 40px);
    height: 190px;
  }
}
.top-recruit__speech::after {
  content: "";
  width: 33px;
  height: 33px;
  background: #efddc5;
  border-width: 0 4px 4px 0;
  border-style: solid;
  border-color: #fff;
  position: absolute;
  top: 50%;
  left: -21px;
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
}
@media screen and (max-width: 1023px) {
  .top-recruit__speech::after {
    width: 20px;
    height: 20px;
    top: -15px;
    left: 47px;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
  }
}
.top-recruit__speech-link {
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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: 767px) {
  .top-recruit__speech-link {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-left: 46px;
  }
}
.top-recruit__speech-link:hover .top-recruit__btn {
  background-color: #a6866a;
}
.top-recruit__heading span {
  position: relative;
  font-weight: 500;
  font-size: 3rem;
  letter-spacing: 0.4em;
  line-height: 1em;
  text-align: center;
}
.top-recruit__heading span::before {
  content: "";
  width: 1px;
  height: 30px;
  background: #594c3c;
  position: absolute;
  top: 52%;
  left: -7px;
  -webkit-transform: translateY(-48%);
          transform: translateY(-48%);
}
.top-recruit__heading span:last-child::after {
  content: "";
  width: 1px;
  height: 30px;
  background: #594c3c;
  position: absolute;
  top: 52%;
  right: 0;
  -webkit-transform: translateY(-48%);
          transform: translateY(-48%);
}
.top-recruit__texts {
  padding-top: 20px;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .top-recruit__texts {
    padding-top: 14px;
    font-size: 12px;
  }
}
.top-recruit__texts .fs24 {
  display: inline-block;
  padding-top: 16px;
  font: 400 2.4rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 1.5833333333em;
}
@media screen and (max-width: 767px) {
  .top-recruit__texts .fs24 {
    padding-top: 11px;
    font-size: 16px;
    line-height: 1.5625em;
  }
}
.top-recruit__qoute {
  position: relative;
  display: block;
}
.top-recruit__qoute::before, .top-recruit__qoute::after {
  position: absolute;
  top: 0;
  display: inline-block;
}
.top-recruit__qoute::before {
  content: "“";
  right: 100%;
}
.top-recruit__qoute::after {
  content: "”";
  left: 100%;
}
.top-recruit__btn {
  position: absolute;
  right: 36px;
  bottom: 36px;
  width: 48px;
  height: 48px;
  background-color: #594c3c;
  border-radius: 50%;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  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: 767px) {
  .top-recruit__btn {
    right: 20px;
    bottom: 20px;
    width: 32px;
    height: 32px;
  }
}
@media screen and (max-width: 767px) {
  .top-recruit__btn-arrow {
    width: 18px;
    height: 18px;
  }
}

.reason__wrapper {
  padding: 50px 4% 0;
}
@media screen and (max-width: 767px) {
  .reason__wrapper {
    padding-block: 80px 70px;
  }
}
.reason__wrapper--lower {
  position: relative;
  width: 100%;
  padding: 0 0 240px;
}
@media screen and (max-width: 767px) {
  .reason__wrapper--lower {
    padding-bottom: 80px;
  }
}
.reason__mv {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto 88px;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 38px;
}
@media screen and (max-width: 767px) {
  .reason__mv {
    gap: 0;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 450px) {
  .reason__mv {
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content;
  }
}
.reason__mv-title {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .reason__mv-title {
    margin-top: 0;
  }
}
.reason__mv-img-upper {
  padding-left: 95px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .reason__mv-img-upper {
    padding-left: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.reason__mv-img-middle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
  margin-top: 8px;
}
.reason__mv-img-lower {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 1300px) {
  .reason__mv-img-lower {
    padding-right: 205px;
  }
}
@media screen and (max-width: 1100px) {
  .reason__mv-img-lower {
    padding-right: 23%;
  }
}
@media screen and (max-width: 767px) {
  .reason__mv-img-lower {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 8px;
    padding-right: 10px;
    margin-top: 18px;
  }
}
.reason__mv-img {
  display: block;
  overflow: hidden;
}
.reason__mv-img--1 {
  width: 103%;
  aspect-ratio: 399/230;
  margin-bottom: 34px;
}
@media screen and (max-width: 767px) {
  .reason__mv-img--1 {
    margin-bottom: 0;
    margin-left: 16px;
    width: 84%;
  }
}
.reason__mv-img--2 {
  aspect-ratio: 242/320;
}
@media screen and (max-width: 767px) {
  .reason__mv-img--2 {
    width: 38%;
    min-width: 93px;
  }
}
.reason__mv-img--3 {
  aspect-ratio: 216/292;
  margin: 0 -110px -112px 0;
}
@media screen and (max-width: 1300px) {
  .reason__mv-img--3 {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .reason__mv-img--3 {
    margin-bottom: -10px;
    width: 33%;
    min-width: 83px;
  }
}
.reason__mv-img--4 {
  aspect-ratio: 329/180;
  margin-top: -34px;
  max-width: 329px;
}
@media screen and (max-width: 767px) {
  .reason__mv-img--4 {
    margin-top: -8px;
    width: 38%;
  }
}
.reason__mv-img--5 {
  aspect-ratio: 374/200;
  max-width: 374px;
}
@media screen and (max-width: 767px) {
  .reason__mv-img--5 {
    width: 43%;
  }
}
.reason__title-wrap {
  position: relative;
  width: 100%;
}
.reason__title-wrap::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 68%;
  height: 100%;
  background-color: #efefc5;
}
@media screen and (max-width: 767px) {
  .reason__title-wrap::before {
    right: initial;
    left: 0;
    width: 87%;
  }
}
.reason__container {
  position: relative;
  width: 100%;
  max-width: calc(1024px + 8%);
  padding-inline: 4%;
  margin-inline: auto;
}
.reason__container--title {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  padding-block: 62px 64px;
}
@media screen and (max-width: 767px) {
  .reason__container--title {
    grid-template-columns: 1fr;
    gap: 0;
    padding-block: 45px 64px;
  }
}
.reason__title {
  padding-left: 25px;
}
@media screen and (max-width: 767px) {
  .reason__title {
    padding-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 9px;
  }
}
.reason__title-txt {
  display: block;
  font: 400 3rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 1.2666666667em;
  color: #3e5902;
}
@media screen and (max-width: 767px) {
  .reason__title-txt {
    font-size: 16px;
    letter-spacing: 0.15em;
    line-height: 1.625em;
    margin-bottom: 5px;
  }
}
.reason__title-txt--lower {
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .reason__title-txt--lower {
    margin-bottom: 5px;
  }
}
.reason__title-num-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 11px;
  padding-left: 10px;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .reason__title-num-wrap {
    gap: 6px;
    padding-left: 0;
    margin-top: 0;
  }
}
.reason__title-num {
  display: block;
  width: 44px;
  height: 85px;
}
@media screen and (max-width: 767px) {
  .reason__title-num {
    width: 27px;
    height: 53px;
  }
}
.reason__list-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 980px) {
  .reason__list-container {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .reason__list-container {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.reason__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
.reason__list--left {
  margin-top: -145px;
}
@media screen and (max-width: 767px) {
  .reason__list--left {
    margin-top: -32px;
  }
}
.reason__list--right {
  margin-top: 100px;
  gap: 80px;
}
.reason__list-item {
  padding: 40px 32px 40px 0;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .reason__list-item {
    padding: 32px 0 0;
  }
}
.reason__list-item-upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  margin-bottom: 32px;
}
.reason__list-item-upper--col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.reason__list-item-info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.reason__list-item-info--row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .reason__list-item-info--row {
    gap: 0;
  }
}
.reason__list-item-img {
  display: block;
  width: 100%;
  aspect-ratio: 428/258;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .reason__list-item-img {
    width: auto;
    margin-right: -5%;
  }
}
.reason__list-item-img--left-sp {
  margin-inline: -5% 0;
}
.reason__list-item-note {
  font-size: 1.6rem;
  line-height: 1.25em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: end;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-bottom: 12px;
  letter-spacing: 0.1em;
}
.reason__list-item-note--hr {
  -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
          writing-mode: initial;
  text-orientation: initial;
  text-align: left;
  margin-bottom: 0;
}
.reason__list-item-heading {
  font: 400 3rem "BIZ UDPMincho", serif;
  letter-spacing: 0.1em;
  line-height: 1.6em;
  margin-top: 6px;
}
@media screen and (max-width: 980px) {
  .reason__list-item-heading {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .reason__list-item-heading {
    font-size: 30px;
  }
}
.reason__list-item-heading--ver {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .reason__list-item-heading--ver {
    line-height: initial;
  }
}
.reason__list-item-txt {
  font: 400 1.6rem "BIZ UDPMincho", serif;
  letter-spacing: 0.1em;
  line-height: 2em;
}
.reason__faq-wrap {
  margin-top: 40px;
}
.reason__faq-title {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.4285714286em;
  color: #fff;
  padding: 6px 16px;
  background-color: #bfba9f;
}
.reason__faq-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}
.reason__faq-list-item {
  cursor: pointer;
  position: relative;
  padding: 13px 46px 13px 16px;
  background-color: #f0f2f0;
}
.reason__faq-list-item.active .reason__faq-q {
  text-decoration: underline;
}
.reason__faq-list-item.active .reason__faq-a {
  max-height: 500px;
}
.reason__faq-list-item.active .reason__faq-cross {
  background-color: transparent;
}
.reason__faq-q {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4285714286em;
  color: #3e5902;
  -webkit-transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.reason__faq-a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.4rem;
  line-height: 1.7142857143em;
  color: #3e5902;
  max-height: 0;
  padding-top: 8px;
  overflow: hidden;
  -webkit-transition: 0.6s linear;
  transition: 0.6s linear;
}
.reason__faq-cross {
  position: absolute;
  top: 15px;
  right: 23px;
  width: 1px;
  height: 16px;
  background-color: #3e5902;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.reason__faq-cross::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
  width: 100%;
  height: 100%;
  background-color: #3e5902;
}
.reason__list-btn {
  position: relative;
  display: block;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25em;
  color: #fff;
  padding: 13px 30px 13px 16px;
  background-color: #3e5902;
  margin-top: 32px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.reason__list-btn::before {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #fff;
}
.reason__list-btn:hover {
  opacity: 0.5;
}

.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  display: flex;
  align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    gap: 24px;
  }
}
.wp-pagenavi--works {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  cursor: pointer;
  width: 32px;
  height: 32px;
}
.wp-pagenavi .page,
.wp-pagenavi .pages,
.wp-pagenavi .current {
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 500;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  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;
}
.wp-pagenavi .page:hover,
.wp-pagenavi .pages:hover,
.wp-pagenavi .current:hover {
  opacity: 0.6;
}
.wp-pagenavi .current {
  background-color: #fff;
  pointer-events: none;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  position: relative;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #594c3c;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 6px;
  height: 12px;
  background: url("./public/img/icons/arrow-right-big.svg") no-repeat center/100% 100%;
}
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
  opacity: 0.5;
}
.wp-pagenavi .previouspostslink {
  margin-right: 24px;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .previouspostslink {
    margin-right: 0;
  }
}
.wp-pagenavi .previouspostslink::before {
  -webkit-transform: translate(-50%, -50%) scaleX(-1);
          transform: translate(-50%, -50%) scaleX(-1);
}
.wp-pagenavi .nextpostslink {
  margin-left: 24px;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .nextpostslink {
    margin-left: 0;
  }
}
.wp-pagenavi .pages {
  padding: 6px 20px;
  pointer-events: none;
  background-color: #fff;
}

.works__list-wrapper {
  padding: 90px 4% 240px;
}
@media screen and (max-width: 767px) {
  .works__list-wrapper {
    padding-block: 80px 110px;
  }
}
.works__list-container {
  width: 100%;
  max-width: calc(1024px + 8%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 214px 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 52px;
}
@media screen and (max-width: 1200px) {
  .works__list-container {
    grid-template-columns: auto 1fr;
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .works__list-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.works__list-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 54px;
}
@media screen and (max-width: 767px) {
  .works__list-info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 28px;
    padding-left: 40px;
  }
}
.works__list-info--sngl {
  padding-left: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .works__list-cats-menu {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
}
.works__list-cat-btn {
  all: unset;
  cursor: pointer;
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25em;
  padding: 9px 18px 9px 8px;
  color: #594c3c;
  background-color: #fff;
  border-width: 1px 0;
  border-style: solid;
  border-color: #594c3c;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 300px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.works__list-cat-btn::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  width: 8px;
  height: 6px;
  -webkit-mask: url("./public/img/icons/arrow-right-solid.svg") no-repeat center/100% 100%;
          mask: url("./public/img/icons/arrow-right-solid.svg") no-repeat center/100% 100%;
  background: #594c3c;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .works__list-cat-btn::after {
    width: 10px;
    height: 4px;
    -webkit-mask: url("./public/img/icons/arrow-down.svg") no-repeat center/100% 100%;
            mask: url("./public/img/icons/arrow-down.svg") no-repeat center/100% 100%;
  }
}
.works__list-cats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .works__list-cats {
    position: absolute;
    left: 0;
    top: 100%;
    gap: 0;
    width: 100%;
    height: 0;
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  .works__list-cats.active {
    height: auto;
    max-height: 999px;
    pointer-events: auto;
  }
}
.works__list-cat {
  height: 40px;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25em;
  color: #8d8d8d;
  padding: 9px 18px 9px 8px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .works__list-cat {
    color: #594c3c;
    background-color: #fff;
    border-bottom: 1px solid #594c3c;
  }
}
@media screen and (min-width: 768px) {
  .works__list-cat.active {
    position: relative;
    color: #594c3c;
    background-color: #fff;
    border-width: 1px 0;
    border-style: solid;
    border-color: #594c3c;
    pointer-events: none;
  }
  .works__list-cat.active::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid #594c3c;
  }
}
@media screen and (min-width: 768px) {
  .works__list-cat:hover {
    opacity: 0.5;
  }
}
.works__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 64px 40px;
  margin-block: 80px;
}
@media screen and (max-width: 1200px) {
  .works__list {
    gap: 45px 28px;
  }
}
@media screen and (max-width: 980px) {
  .works__list {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .works__list {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-block: 0 64px;
  }
}
.works__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  padding: 16px 0 9px 16px;
  background-color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .works__list-item {
    gap: 7px;
  }
}
.works__list-item:hover {
  background-color: #efddc5;
}
.works__list-item-cat {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.1428571429em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.works__list-item-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.works__list-item-img {
  display: block;
  width: 100%;
  aspect-ratio: 320/176;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .works__list-item-img {
    aspect-ratio: 306/176;
  }
}
.works__list-item-date {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
.works__list-item-title {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow-wrap: break-word;
  overflow: hidden;
}
.works__sngl-container {
  width: 100%;
  max-width: 1024px;
  margin-inline: auto;
  padding-right: 44px;
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-template-columns: auto 1fr;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .works__sngl-container {
    padding-right: 0;
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.works__sngl-info-txt {
  font: 400 2rem "BIZ UDPMincho", serif;
  letter-spacing: 0.2em;
  line-height: 1.6em;
  padding-block: 10px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .works__sngl-info-txt {
    -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
            writing-mode: initial;
    text-orientation: initial;
    padding-block: 0;
  }
}
.works__sngl-info-txt:hover {
  opacity: 0.5;
}
.works__sngl-title {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.works__sngl-date {
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.works__sngl-img {
  display: block;
  width: 100%;
  overflow: hidden;
  margin-block: 24px 64px;
}
@media screen and (max-width: 767px) {
  .works__sngl-img {
    margin-bottom: 24px;
  }
}
.works__sngl-img img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.works__sngl-img--lower {
  margin-block: 40px;
}
@media screen and (max-width: 767px) {
  .works__sngl-img--lower {
    margin-block: 54px 24px;
  }
}
.works__sngl-txt {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2em;
}

.wpcf7-form .wpcf7-list-item {
  margin: 0 !important;
}

.wpcf7 .wpcf7-spinner {
  display: none !important;
}

.wpcf7-response-output {
  display: none !important;
  width: 100%;
  max-width: calc(1024px + 8%);
  padding-inline: 4%;
  margin-inline: auto !important;
  font-size: 1.2rem;
  line-height: 1.6666666667em;
  color: #f32f3f;
}

.wpcf7-form-confirm .contact__form-item-label--required::after {
  display: none;
}
.wpcf7-form-confirm .contact__form-list {
  gap: 24px;
}
.wpcf7-form-confirm .contact__form-item {
  gap: 4px;
  padding-bottom: 24px;
  border-bottom: 1px solid #594c3c;
}
.wpcf7-form-confirm .contact__form-item-field--textarea {
  height: auto;
}
.wpcf7-form-confirm .contact__form-privacy {
  display: none;
}
.wpcf7-form-confirm .contact__form-privacy-note {
  display: none;
}
.wpcf7-form-confirm .contact__form-item-field--agree {
  display: none;
}
.wpcf7-form-confirm .contact__form-btn--confirm {
  display: none;
}

.overflow {
  overflow: hidden;
}

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

.reasons-slider-pc {
  display: block;
}
@media screen and (max-width: 1023px) {
  .reasons-slider-pc {
    display: none;
  }
}

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

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

.pc-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .pc-flex {
    display: none;
  }
}

.sp-flex {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.tabletpc-flex-980 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 980px) {
  .tabletpc-flex-980 {
    display: none;
  }
}

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

.tabletsp-flex-980 {
  display: none;
}
@media screen and (max-width: 980px) {
  .tabletsp-flex-980 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.fw-bold {
  font-weight: 700;
}

.underline {
  text-decoration: underline;
}

.wrapper {
  padding-top: 120px;
}
@media screen and (max-width: 1200px) {
  .wrapper {
    padding-top: 112px;
  }
}
@media screen and (max-width: 980px) {
  .wrapper {
    padding-top: 115px;
  }
}
.wrapper--browna6 {
  background-color: #a6866a;
}
.wrapper--brown-ded {
  background-color: #dedccf;
}
.wrapper--green-f0f {
  background-color: #f0f2f0;
}

.relative {
  position: relative;
}

.hidden {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.anchor {
  display: block;
  position: relative;
  top: -120px;
  visibility: hidden;
}
@media screen and (max-width: 1200px) {
  .anchor {
    top: -112px;
  }
}
@media screen and (max-width: 980px) {
  .anchor {
    top: -115px;
  }
}