@charset "UTF-8";
/* pc、spの非表示 */
body {
  color: #000;
  font-family: Noto Sans JP, sans-serif;
  font-size: max(1.6rem, 9px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  width: 100%;
  position: relative;
  background-color: #F9F6EB;
}

@media (max-width: 767px) {
  body {
    font-size: 1.6rem;
  }
}
body.menu-open {
  overflow: hidden;
}

img {
  width: 100%;
  height: auto;
}

:root {
  --header-height: 8.5rem;
  /* ヘッダーの高さを変数として管理 */
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
  font-size: 10px;
}
@media (max-width: 1400px) and (min-width: 768px) {
  html {
    font-size: 0.7142857143vw;
  }
}
@media (max-width: 767px) {
  html {
    font-size: min(2.6666666667vw, 20px);
  }
}

/* pc、spの非表示 */
@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
.subpage-main {
  padding-top: 7.1428571429vw;
}
@media (max-width: 767px) {
  .subpage-main {
    padding-top: 10rem;
  }
}

footer {
  background-image: url(../img-file/common/pc-footer-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  footer {
    background-image: url(../img-file/common/sp-footer-bg.webp);
  }
}

.footer {
  max-width: 1920px;
  padding-top: 6.4285714286vw;
  padding-bottom: 1.4285714286vw;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .footer {
    padding-top: 7.5rem;
    padding-bottom: 2rem;
  }
}

.footer-logo-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 2.1428571429vw;
     -moz-column-gap: 2.1428571429vw;
          column-gap: 2.1428571429vw;
  margin-bottom: 3.5714285714vw;
}
@media (max-width: 767px) {
  .footer-logo-flex {
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    margin-bottom: 5rem;
  }
}

.footer-logo-left {
  display: block;
  width: 6.4285714286vw;
}
@media (max-width: 767px) {
  .footer-logo-left {
    width: 8rem;
  }
}

.footer-logo-right-text {
  font-size: 1.7142857143vw;
  color: #fff;
  margin-bottom: 0.7142857143vw;
}
@media (max-width: 767px) {
  .footer-logo-right-text {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
}

.footer-logo-right-address {
  font-size: 1.1428571429vw;
  color: #fff;
}
@media (max-width: 767px) {
  .footer-logo-right-address {
    font-size: 1.6rem;
  }
}

.footer-logo-right-tel {
  font-size: 1.1428571429vw;
  color: #fff;
}
@media (max-width: 767px) {
  .footer-logo-right-tel {
    font-size: 1.6rem;
  }
}

.footer-nav {
  font-size: 1.2857142857vw;
  font-weight: 400;
  font-family: cinzel, serif;
  text-align: center;
  color: #fff;
  margin-bottom: 5.7142857143vw;
}
.footer-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.1428571429vw;
     -moz-column-gap: 2.1428571429vw;
          column-gap: 2.1428571429vw;
  padding-left: 5vw;
}

.footer-nav-item {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.footer-nav-item:hover {
  opacity: 0.5;
}

.footer-nav-contact {
  background-color: #A88A58;
  color: #fff;
  width: 9.6428571429vw;
  margin-inline: auto;
  text-align: center;
  padding-block: 1.4285714286vw;
  padding-inline: 2.1428571429vw;
  -webkit-box-shadow: 0 0 0.4285714286vw rgba(255, 255, 255, 0.4);
          box-shadow: 0 0 0.4285714286vw rgba(255, 255, 255, 0.4);
}
@media (max-width: 767px) {
  .footer-nav-contact {
    width: 13.5rem;
    padding-block: 2rem;
    padding-inline: 3rem;
    -webkit-box-shadow: 0 0 0.6rem rgba(255, 255, 255, 0.4);
            box-shadow: 0 0 0.6rem rgba(255, 255, 255, 0.4);
  }
}

.footer-copyright {
  font-size: 1vw;
  text-align: center;
  color: #fff;
}
@media (max-width: 767px) {
  .footer-copyright {
    font-size: 1.2rem;
    margin-right: unset;
  }
}

.page-top {
  position: fixed;
  z-index: 10;
  bottom: 1.4285714286vw;
  right: 1.4285714286vw;
  cursor: pointer;
  border-width: 0;
  background-color: unset;
}
@media (max-width: 767px) {
  .page-top {
    bottom: 2rem;
    right: 2rem;
  }
}

.page-top-img {
  width: 3.5714285714vw;
  height: 3.5714285714vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.page-top-img:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .page-top-img {
    width: 5rem;
    height: 5rem;
  }
}

/* ===========================
   Header 基本設定
=========================== */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100000;
}

/* ===========================
   ロゴ
=========================== */
@media (max-width: 767px) {
  .header-left {
    padding-top: 1.5rem;
    padding-left: 1.5rem;
  }
}

@media (max-width: 767px) {
  .header-logo {
    display: block;
    width: 7.6rem;
    height: auto;
    position: relative;
  }
}

/* ===========================
   ナビゲーション
=========================== */
.header-nav-list {
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 120%;
  z-index: 10000;
  padding-top: 2.1428571429vw;
  padding-left: 1.4285714286vw;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background-color: #F5F5EE;
  color: #403C35;
}
@media (max-width: 767px) {
  .header-nav-list {
    padding-top: 3rem;
    padding-left: unset;
  }
}

.header-nav-list.active {
  left: 70%;
  width: 30%;
}
@media (max-width: 767px) {
  .header-nav-list.active {
    left: 0;
    width: 100%;
  }
}

.header-right-link {
  display: block;
  text-align: center;
  margin-bottom: 2.5vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .header-right-link {
    margin-bottom: 3.5rem;
  }
}
.header-right-link:hover {
  opacity: 0.5;
}

.header-right-link-logo {
  display: block;
  width: 7.3571428571vw;
  margin-bottom: 4.2857142857vw;
}
@media (max-width: 767px) {
  .header-right-link-logo {
    width: 10.3rem;
    margin-bottom: 6rem;
    margin-left: 2rem;
  }
}

.header-nav-list-item-en {
  font-size: 1.2857142857vw;
  font-weight: 400;
  font-family: cizel, serif;
  text-align: center;
  color: #403C35;
  margin-bottom: 0.0714285714vw;
}
@media (max-width: 767px) {
  .header-nav-list-item-en {
    font-size: 1.8rem;
    margin-bottom: 0.1rem;
  }
}

.header-nav-list-item-ja {
  font-size: 0.8571428571vw;
  font-weight: 400;
  font-family: cizel, serif;
  text-align: center;
  color: #77746D;
}
@media (max-width: 767px) {
  .header-nav-list-item-ja {
    font-size: 1.2rem;
  }
}

.header-nav-list-item-en-btn {
  font-size: 1.2857142857vw;
  font-weight: 400;
  font-family: cizel, serif;
  text-align: center;
  color: #fff;
  background-color: #A88A58;
  margin-bottom: 0.3571428571vw;
  width: 9.5714285714vw;
  margin-inline: auto;
  padding-block: 0.7142857143vw;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .header-nav-list-item-en-btn {
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    width: 13.4rem;
    padding-block: 1rem;
  }
}

/* ===========================
   ハンバーガーボタンのラッパー
=========================== */
.header__hb-btn-wrap {
  position: fixed;
  top: 1.4285714286vw;
  right: 1.4285714286vw;
  z-index: 20000;
}
@media (max-width: 767px) {
  .header__hb-btn-wrap {
    top: 1rem;
    right: 2rem;
  }
}

/* ===========================
   ハンバーガーボタン
=========================== */
.header__hb-btn {
  position: relative;
  width: 4.2857142857vw;
  height: 4.2857142857vw;
  cursor: pointer;
}
@media (max-width: 767px) {
  .header__hb-btn {
    width: 6rem;
    height: 6rem;
  }
}

.header__hb-btn span {
  display: block;
  width: 2.8571428571vw;
  height: 0.1428571429vw;
  background-color: #B09383;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
@media (max-width: 767px) {
  .header__hb-btn span {
    width: 4rem;
    height: 0.2rem;
  }
}

/* 初期位置（3本線） */
.header__hb-btn span:nth-of-type(1) {
  top: 1.0714285714vw;
}
@media (max-width: 767px) {
  .header__hb-btn span:nth-of-type(1) {
    top: 1.5rem;
  }
}

.header__hb-btn span:nth-of-type(2) {
  top: 2vw;
}
@media (max-width: 767px) {
  .header__hb-btn span:nth-of-type(2) {
    top: 2.8rem;
  }
}

.header__hb-btn span:nth-of-type(3) {
  top: 2.9285714286vw;
}
@media (max-width: 767px) {
  .header__hb-btn span:nth-of-type(3) {
    top: 4.1rem;
  }
}

/* ===========================
   Menu テキスト
=========================== */
.header-hb-menu-text {
  position: absolute;
  top: 3.5714285714vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 0.8571428571vw;
  color: #B09383;
  text-align: center;
  font-family: cizel, serif;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .header-hb-menu-text {
    top: 5rem;
    font-size: 1.2rem;
  }
}

/* ===========================
   ハンバーガー → バツの変形
=========================== */
.header__hb-btn.active span:nth-of-type(1) {
  top: 2vw;
  -webkit-transform: translateX(-50%) rotate(30deg);
          transform: translateX(-50%) rotate(30deg);
}
@media (max-width: 767px) {
  .header__hb-btn.active span:nth-of-type(1) {
    top: 2.8rem;
  }
}

.header__hb-btn.active span:nth-of-type(2) {
  opacity: 0;
}

.header__hb-btn.active span:nth-of-type(3) {
  top: 2vw;
  -webkit-transform: translateX(-50%) rotate(-30deg);
          transform: translateX(-50%) rotate(-30deg);
}
@media (max-width: 767px) {
  .header__hb-btn.active span:nth-of-type(3) {
    top: 2.8rem;
  }
}

@media (max-width: 767px) {
  .header-flex-subpage {
    padding-top: 1.5rem;
    padding-left: 1.5rem;
  }
}

@media (max-width: 767px) {
  .header-logo-subpage {
    display: block;
    width: 7.6rem;
    height: auto;
    position: relative;
  }
}

.fv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-family: cinzel, serif;
}

.fv-left {
  width: 25rem;
  width: 17.8571428571vw;
  margin-inline: auto;
  padding-top: 4rem;
  padding-top: 2.8571428571vw;
}

.fv-left-link {
  display: block;
  width: 16rem;
  width: 11.4285714286vw;
  margin-inline: auto;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  margin-bottom: 2.8571428571vw;
}
.fv-left-link:hover {
  opacity: 0.5;
}

.fv-left-nav {
  display: block;
  font-size: 1.6rem;
  text-align: center;
  color: #403C35;
}

.fv-left-nav-link {
  position: relative;
  display: inline-block;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
  margin-bottom: 3rem;
  margin-bottom: 2.1428571429vw;
}
.fv-left-nav-link:hover {
  color: transparent;
}
.fv-left-nav-link:hover::after {
  content: attr(data-jp);
  /* ← HTMLのdata-jp属性を参照 */
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #403C35;
  white-space: nowrap;
}

.fv-left-nav-contact {
  background-color: #A88A58;
  color: #fff;
  width: 8.9285714286vw;
  margin-inline: auto;
  text-align: center;
  padding-block: 0.7142857143vw;
  margin-bottom: 8.5714285714vw;
}
.fv-left-nav-contact:hover {
  color: transparent;
}
.fv-left-nav-contact:hover::after {
  content: attr(data-jp);
  position: absolute;
  top: 0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #fff;
  white-space: nowrap;
}

.fv-scroll-img {
  width: 1.7857142857vw;
  margin-inline: auto;
}

.fv-right {
  width: 85vw;
  position: relative;
}
@media (max-width: 767px) {
  .fv-right {
    width: 100%;
  }
}

.fv-right-text {
  position: absolute;
  bottom: 2.8571428571vw;
  left: 5.7142857143vw;
  color: #fff;
}
@media (max-width: 767px) {
  .fv-right-text {
    bottom: 2rem;
    left: 2rem;
  }
}

.fv-right-text-en {
  font-size: 4.2857142857vw;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .fv-right-text-en {
    font-size: 4rem;
  }
}

.fv-right-text-ja {
  font-size: 1.7142857143vw;
  font-weight: 400;
  margin-top: -0.7142857143vw;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .fv-right-text-ja {
    font-size: 1.6rem;
    margin-top: -1rem;
  }
}

.top-business {
  padding-top: 11.4285714286vw;
  padding-bottom: 5.7142857143vw;
}
@media (max-width: 767px) {
  .top-business {
    padding-top: 8rem;
    padding-bottom: 5rem;
  }
}

.top-business-title {
  margin-bottom: 5vw;
}
@media (max-width: 767px) {
  .top-business-title {
    margin-bottom: 4rem;
  }
}

.top-business-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-column-gap: 3.5714285714vw;
     -moz-column-gap: 3.5714285714vw;
          column-gap: 3.5714285714vw;
  margin-bottom: 2.8571428571vw;
}
@media (max-width: 767px) {
  .top-business-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: unset;
       -moz-column-gap: unset;
            column-gap: unset;
    row-gap: 3rem;
    margin-bottom: 3rem;
  }
}

.top-business-flex-item {
  position: relative;
  z-index: 1;
}

.top-business-flex-item-img {
  width: 27.1428571429vw;
}
@media (max-width: 767px) {
  .top-business-flex-item-img {
    width: 34.5rem;
    margin-inline: auto;
  }
}

.top-business-flex-item-text-wrap {
  position: absolute;
  top: 3.9285714286vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
  width: 21.4285714286vw;
}
@media (max-width: 767px) {
  .top-business-flex-item-text-wrap {
    width: 30rem;
    top: 5rem;
  }
}

.top-business-flex-item-title {
  font-size: 1.7142857143vw;
  font-family: cinzel, serif;
  margin-block: 1.4285714286vw;
  color: #B09383;
  text-align: center;
}
@media (max-width: 767px) {
  .top-business-flex-item-title {
    font-size: 2.4rem;
    margin-block: unset;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
  }
}

.top-business-flex-item-text {
  font-size: 1.1428571429vw;
  color: #403C35;
  text-align: left;
}
@media (max-width: 767px) {
  .top-business-flex-item-text {
    font-size: 1.6rem;
  }
}

.top-projects {
  padding-block: 5.7142857143vw;
}

.top-projects-title {
  margin-bottom: 5vw;
}
@media (max-width: 767px) {
  .top-projects-title {
    margin-bottom: 4rem;
  }
}

.top-projects-slider01-title,
.top-projects-slider02-title {
  font-size: 2vw;
  font-family: cinzel, serif;
  color: #403C35;
  text-align: center;
  position: relative;
  margin-bottom: 5vw;
}
@media (max-width: 767px) {
  .top-projects-slider01-title,
  .top-projects-slider02-title {
    font-size: 2rem;
    margin-bottom: 7rem;
  }
}
.top-projects-slider01-title::after,
.top-projects-slider02-title::after {
  content: "";
  display: block;
  width: 1.7142857143vw;
  height: 0.0714285714vw;
  background-color: #B09383;
  margin-inline: auto;
  position: absolute;
  bottom: -0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  .top-projects-slider01-title::after,
  .top-projects-slider02-title::after {
    width: 2.4rem;
    height: 0.1rem;
    bottom: -1rem;
  }
}

#top-projects-slider {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 5.7142857143vw;
  padding-left: 7.1428571429vw;
  position: relative;
}
@media (max-width: 767px) {
  #top-projects-slider {
    padding-left: unset;
    margin-bottom: 8rem;
  }
}
#top-projects-slider::after {
  content: "";
  display: block;
  width: 88.5714285714vw;
  height: 0.0714285714vw;
  background-color: #bbb;
  position: absolute;
  bottom: -4.2857142857vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  #top-projects-slider::after {
    width: 34.5rem;
    bottom: -4rem;
  }
}

#top-projects-slider .splide__slide {
  padding: 0;
  margin: 0 0.7142857143vw;
  width: 17.8571428571vw !important;
}
@media (max-width: 767px) {
  #top-projects-slider .splide__slide {
    width: 17.5rem !important;
    margin: 0 1rem;
  }
}

.top-projects-contents-item {
  display: block;
  position: relative;
  width: 17.8571428571vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.top-projects-contents-item:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .top-projects-contents-item {
    width: 17.5rem;
  }
}

.top-projects-contents-item-img {
  position: relative;
  z-index: 1;
  width: 17.8571428571vw;
}
@media (max-width: 767px) {
  .top-projects-contents-item-img {
    width: 17.5rem;
  }
}
.top-projects-contents-item-img img {
  width: 17.8571428571vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .top-projects-contents-item-img img {
    width: 17.5rem;
  }
}

.top-projects-contents-item-title {
  font-size: 1.4285714286vw;
  font-weight: 400;
  color: #403C35;
  font-family: Noto Serif JP, serif;
  position: absolute;
  bottom: 0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .top-projects-contents-item-title {
    font-size: 1.6rem;
    bottom: 0.5rem;
  }
}

/* 矢印デザイン */
.splide__arrow {
  background: #fff;
  border: 0.0714285714vw solid #ddd;
  color: #333;
  width: 1.7857142857vw;
  height: 1.7857142857vw;
  border-radius: 50%;
  font-size: 0.8571428571vw;
  cursor: pointer;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .splide__arrow {
    border: 0.1rem solid #ddd;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.2rem;
  }
}

.splide__arrow:hover {
  opacity: 0.5;
}

/* 矢印コンテナを右上に配置 */
#top-projects-slider .splide__arrows {
  position: absolute;
  top: -2.1428571429vw;
  right: 5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 4.2857142857vw;
  z-index: 10;
}
@media (max-width: 767px) {
  #top-projects-slider .splide__arrows {
    top: -3rem;
    right: 0rem;
    gap: 4rem;
  }
}

/* 共通スタイル */
#top-projects-slider .splide__arrow {
  background: none;
  border: none;
  width: 2.8571428571vw;
  height: 2.8571428571vw;
  cursor: pointer;
  text-indent: -9999px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  #top-projects-slider .splide__arrow {
    width: 3rem;
    height: 3rem;
  }
}

/* 左矢印 */
#top-projects-slider .splide__arrow--prev {
  background: url("../img-file/top/slider-arrow-left.webp") no-repeat center/contain;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#top-projects-slider .splide__arrow--prev:hover {
  opacity: 0.5;
}

/* 右矢印 */
#top-projects-slider .splide__arrow--next {
  background: url("../img-file/top/slider-arrow-right.webp") no-repeat center/contain;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#top-projects-slider .splide__arrow--next:hover {
  opacity: 0.5;
}

.top-projects-contents-view-more {
  display: block;
  width: 17.8571428571vw;
  margin-left: auto;
  margin-top: 2.8571428571vw;
  margin-right: 6.0714285714vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.top-projects-contents-view-more:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .top-projects-contents-view-more {
    width: 13.5rem;
    margin-top: 4rem;
    margin-right: 2rem;
  }
}

#top-projects-slider02 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.top-projects-slider02 {
  padding-top: 3.5714285714vw;
  padding-bottom: 3.5714285714vw;
}
@media (max-width: 767px) {
  .top-projects-slider02 {
    padding-top: 0.5rem;
    padding-bottom: 3rem;
  }
}

/* 2段目ラッパー */
.top-projects-slider02-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.4285714286vw;
  position: relative;
  padding-left: 7.1428571429vw;
}
@media (max-width: 767px) {
  .top-projects-slider02-wrapper {
    padding-left: 1.5rem;
    gap: unset;
  }
}

/* 固定1枚目 */
.top-projects-fixed {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 17.8571428571vw;
          flex: 0 0 17.8571428571vw;
}
@media (max-width: 767px) {
  .top-projects-fixed {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 17.5rem;
            flex: 0 0 17.5rem;
  }
}

.top-projects-fixed .top-projects-contents-item {
  display: block;
  position: relative;
  width: 17.8571428571vw;
}
@media (max-width: 767px) {
  .top-projects-fixed .top-projects-contents-item {
    width: 17.5rem;
  }
}

.top-projects-fixed .top-projects-contents-item-img {
  width: 17.8571428571vw;
}
@media (max-width: 767px) {
  .top-projects-fixed .top-projects-contents-item-img {
    width: 17.5rem;
  }
}

.top-projects-fixed .top-projects-contents-item-img img {
  width: 17.8571428571vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .top-projects-fixed .top-projects-contents-item-img img {
    width: 17.5rem;
  }
}

.top-projects-fixed .top-projects-contents-item-title {
  font-size: 1.4285714286vw;
  font-weight: 400;
  color: #000;
  font-family: "Noto Serif JP", serif;
  position: absolute;
  bottom: 0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
@media (max-width: 767px) {
  .top-projects-fixed .top-projects-contents-item-title {
    font-size: 2rem;
    bottom: 1rem;
  }
}

/* Splide部分（2枚目以降） */
#top-projects-slider02 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  /* 残りの幅を占有 */
}

/* スライド */
#top-projects-slider02 .splide__slide {
  padding: 0;
  margin: 0 0.7142857143vw;
  width: 17.8571428571vw !important;
}
@media (max-width: 767px) {
  #top-projects-slider02 .splide__slide {
    width: 17.5rem !important;
    margin: 0 1rem;
  }
}

#top-projects-slider02 .top-projects-contents-item {
  display: block;
  position: relative;
  width: 17.8571428571vw;
}
@media (max-width: 767px) {
  #top-projects-slider02 .top-projects-contents-item {
    width: 17.5rem;
  }
}

#top-projects-slider02 .top-projects-contents-item-img {
  width: 17.8571428571vw;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  #top-projects-slider02 .top-projects-contents-item-img {
    width: 17.5rem;
  }
}

#top-projects-slider02 .top-projects-contents-item-img img {
  width: 17.8571428571vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  #top-projects-slider02 .top-projects-contents-item-img img {
    width: 17.5rem;
  }
}

#top-projects-slider02 .top-projects-contents-item-title {
  font-size: 1.4285714286vw;
  font-weight: 400;
  color: #000;
  font-family: "Noto Serif JP", serif;
  position: absolute;
  bottom: 0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
@media (max-width: 767px) {
  #top-projects-slider02 .top-projects-contents-item-title {
    font-size: 2rem;
    bottom: 1rem;
  }
}

/* 矢印コンテナ（2段目用） */
#top-projects-slider02 .splide__arrows {
  position: absolute;
  top: -2.1428571429vw;
  right: 5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 4.2857142857vw;
  z-index: 10;
}
@media (max-width: 767px) {
  #top-projects-slider02 .splide__arrows {
    top: -3rem;
    right: 0rem;
    gap: 4rem;
  }
}

/* 矢印共通 */
#top-projects-slider02 .splide__arrow {
  background: none;
  border: none;
  width: 2.8571428571vw;
  height: 2.8571428571vw;
  cursor: pointer;
  text-indent: -9999px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  #top-projects-slider02 .splide__arrow {
    width: 3rem;
    height: 3rem;
  }
}

/* 左矢印 */
#top-projects-slider02 .splide__arrow--prev {
  background: url("../img-file/top/slider-arrow-left.webp") no-repeat center/contain;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#top-projects-slider02 .splide__arrow--prev:hover {
  opacity: 0.5;
}

/* 右矢印 */
#top-projects-slider02 .splide__arrow--next {
  background: url("../img-file/top/slider-arrow-right.webp") no-repeat center/contain;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#top-projects-slider02 .splide__arrow--next:hover {
  opacity: 0.5;
}

#top-projects-slider03 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.top-projects-slider03 {
  padding-top: 3.5714285714vw;
  padding-bottom: 3.5714285714vw;
}
@media (max-width: 767px) {
  .top-projects-slider03 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

/* 3段目ラッパー */
.top-projects-slider03-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.4285714286vw;
  position: relative;
  padding-left: 7.1428571429vw;
}
@media (max-width: 767px) {
  .top-projects-slider03-wrapper {
    gap: unset;
    padding-left: 1.5rem;
  }
}
.top-projects-slider03-wrapper::after {
  content: "";
  position: absolute;
  bottom: -9.2857142857vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 88.5714285714vw;
  height: 0.0714285714vw;
  background-color: #bbb;
}
@media (max-width: 767px) {
  .top-projects-slider03-wrapper::after {
    width: 34.5rem;
    height: 0.1rem;
    bottom: -9rem;
  }
}

/* 固定1枚目 */
.top-projects-fixed {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 17.8571428571vw;
          flex: 0 0 17.8571428571vw;
  /* 固定幅を1枚分 */
}
@media (max-width: 767px) {
  .top-projects-fixed {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 17.5rem;
            flex: 0 0 17.5rem;
  }
}

.top-projects-fixed .top-projects-contents-item {
  display: block;
  position: relative;
  width: 17.8571428571vw;
}
@media (max-width: 767px) {
  .top-projects-fixed .top-projects-contents-item {
    width: 17.5rem;
  }
}

.top-projects-fixed .top-projects-contents-item-img {
  width: 17.8571428571vw;
}
@media (max-width: 767px) {
  .top-projects-fixed .top-projects-contents-item-img {
    width: 17.5rem;
  }
}

.top-projects-fixed .top-projects-contents-item-img img {
  width: 17.8571428571vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .top-projects-fixed .top-projects-contents-item-img img {
    width: 17.5rem;
  }
}

.top-projects-fixed .top-projects-contents-item-title {
  font-size: 1.4285714286vw;
  font-weight: 400;
  color: #000;
  font-family: "Noto Serif JP", serif;
  position: absolute;
  bottom: 0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
@media (max-width: 767px) {
  .top-projects-fixed .top-projects-contents-item-title {
    font-size: 2rem;
    bottom: 1rem;
  }
}

/* Splide部分（2枚目以降） */
#top-projects-slider03 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  /* 残りの幅を占有 */
}

/* スライド */
#top-projects-slider03 .splide__slide {
  padding: 0;
  margin: 0 0.7142857143vw;
  width: 17.8571428571vw !important;
}
@media (max-width: 767px) {
  #top-projects-slider03 .splide__slide {
    width: 17.5rem !important;
    margin: 0 1rem;
  }
}

#top-projects-slider03 .top-projects-contents-item {
  display: block;
  position: relative;
  width: 17.8571428571vw;
}
@media (max-width: 767px) {
  #top-projects-slider03 .top-projects-contents-item {
    width: 17.5rem;
  }
}

#top-projects-slider03 .top-projects-contents-item-img {
  width: 17.8571428571vw;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  #top-projects-slider03 .top-projects-contents-item-img {
    width: 17.5rem;
  }
}

#top-projects-slider03 .top-projects-contents-item-img img {
  width: 17.8571428571vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  #top-projects-slider03 .top-projects-contents-item-img img {
    width: 17.5rem;
  }
}

#top-projects-slider03 .top-projects-contents-item-title {
  font-size: 1.4285714286vw;
  font-weight: 400;
  color: #000;
  font-family: "Noto Serif JP", serif;
  position: absolute;
  bottom: 0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
@media (max-width: 767px) {
  #top-projects-slider03 .top-projects-contents-item-title {
    font-size: 2rem;
    bottom: 1rem;
  }
}

/* 矢印コンテナ（3段目用） */
#top-projects-slider03 .splide__arrows {
  position: absolute;
  top: -2.1428571429vw;
  right: 5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 4.2857142857vw;
  z-index: 10;
}
@media (max-width: 767px) {
  #top-projects-slider03 .splide__arrows {
    top: -3rem;
    right: 0rem;
    gap: 4rem;
  }
}

/* 矢印共通 */
#top-projects-slider03 .splide__arrow {
  background: none;
  border: none;
  width: 2.8571428571vw;
  height: 2.8571428571vw;
  cursor: pointer;
  text-indent: -9999px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  #top-projects-slider03 .splide__arrow {
    width: 3rem;
    height: 3rem;
  }
}

/* 左矢印 */
#top-projects-slider03 .splide__arrow--prev {
  background: url("../img-file/top/slider-arrow-left.webp") no-repeat center/contain;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#top-projects-slider03 .splide__arrow--prev:hover {
  opacity: 0.5;
}

/* 右矢印 */
#top-projects-slider03 .splide__arrow--next {
  background: url("../img-file/top/slider-arrow-right.webp") no-repeat center/contain;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#top-projects-slider03 .splide__arrow--next:hover {
  opacity: 0.5;
}

.top-projects-contents-view-more02 {
  display: block;
  width: 17.8571428571vw;
  margin-left: auto;
  margin-top: 2.1428571429vw;
  margin-right: 6.0714285714vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.top-projects-contents-view-more02:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .top-projects-contents-view-more02 {
    width: 13.5rem;
    margin-top: 3rem;
    margin-right: 2rem;
  }
}

.top-projects-service {
  padding-top: 5.7142857143vw;
  padding-bottom: 7.1428571429vw;
}
@media (max-width: 767px) {
  .top-projects-service {
    padding-top: 4rem;
    padding-bottom: 5rem;
  }
}

.top-projects-service-title {
  font-size: 2vw;
  font-family: cinzel, serif;
  color: #403C35;
  text-align: center;
  position: relative;
  margin-bottom: 2.8571428571vw;
}
@media (max-width: 767px) {
  .top-projects-service-title {
    font-size: 2rem;
    margin-bottom: 4rem;
  }
}
.top-projects-service-title::after {
  content: "";
  display: block;
  width: 1.7142857143vw;
  height: 0.0714285714vw;
  background-color: #B09383;
  margin-inline: auto;
  position: absolute;
  bottom: -0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  .top-projects-service-title::after {
    width: 2.4rem;
    height: 0.1rem;
    bottom: -1rem;
  }
}

.top-projects-banner-img {
  display: block;
  width: 71.4285714286vw;
  margin-inline: auto;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.top-projects-banner-img:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .top-projects-banner-img {
    width: 34.5rem;
  }
}

.top-news {
  padding-top: 5.7142857143vw;
  padding-bottom: 8.5714285714vw;
}
@media (max-width: 767px) {
  .top-news {
    padding-top: 3rem;
    padding-bottom: 5rem;
  }
}

.top-news-title {
  margin-bottom: 5vw;
}
@media (max-width: 767px) {
  .top-news-title {
    margin-bottom: 4rem;
  }
}

.top-news-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-column-gap: 4.2857142857vw;
     -moz-column-gap: 4.2857142857vw;
          column-gap: 4.2857142857vw;
}
@media (max-width: 767px) {
  .top-news-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: unset;
       -moz-column-gap: unset;
            column-gap: unset;
  }
}

.top-news-link {
  display: block;
  width: 24.2857142857vw;
  height: auto;
  margin-inline: auto;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .top-news-link {
    width: 34rem;
    margin-bottom: 1rem;
  }
}
.top-news-link:hover {
  opacity: 0.5;
}

.top-news-img {
  display: block;
  width: 24.2857142857vw;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  margin-inline: auto;
  margin-bottom: 0.7142857143vw;
}
@media (max-width: 767px) {
  .top-news-img {
    width: 34rem;
    margin-bottom: 1rem;
  }
}

.top-news-info-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.4285714286vw;
     -moz-column-gap: 1.4285714286vw;
          column-gap: 1.4285714286vw;
  margin-bottom: 0.7142857143vw;
}
@media (max-width: 767px) {
  .top-news-info-flex {
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    margin-bottom: 1rem;
  }
}

.top-news-time {
  font-size: 1.2857142857vw;
  font-weight: 400;
  color: #777;
}
@media (max-width: 767px) {
  .top-news-time {
    font-size: 1.8rem;
  }
}

.top-news-mark {
  font-size: 1vw;
  font-weight: 400;
  text-align: center;
  color: #fff;
  display: inline-block;
}
@media (max-width: 767px) {
  .top-news-mark {
    font-size: 1.4rem;
    width: unset;
  }
}

.top-news-tag-label {
  display: block;
  padding-block: 0.0714285714vw;
  padding-inline: 0.3571428571vw;
}
@media (max-width: 767px) {
  .top-news-tag-label {
    margin-top: 0.2rem;
    padding-block: 0.1rem;
    padding-inline: 0.5rem;
    white-space: nowrap;
  }
}

.top-news-text {
  font-size: 1.2857142857vw;
  color: #403C35;
}
@media (max-width: 767px) {
  .top-news-text {
    font-size: 1.8rem;
  }
}

#top-contact {
  padding-top: 3.5714285714vw;
  padding-bottom: 10.7142857143vw;
}
@media (max-width: 767px) {
  #top-contact {
    padding-top: 8rem;
    padding-bottom: 12rem;
  }
}

.top-contact {
  background-color: #fff;
  width: 64.2857142857vw;
  margin-inline: auto;
  padding-top: 4.2857142857vw;
  padding-bottom: 3.9285714286vw;
}
@media (max-width: 767px) {
  .top-contact {
    width: 34.5rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.top-contact-text {
  font-size: 1.1428571429vw;
  text-align: center;
  margin-top: 2.8571428571vw;
  margin-bottom: 2.8571428571vw;
  color: #403C35;
}
@media (max-width: 767px) {
  .top-contact-text {
    font-size: 1.6rem;
    margin-top: 5rem;
    margin-bottom: 3rem;
  }
}

.top-contact-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 3.5714285714vw;
     -moz-column-gap: 3.5714285714vw;
          column-gap: 3.5714285714vw;
  color: #fff;
  background-color: #A88A58;
  width: 35.7142857143vw;
  margin-inline: auto;
  padding-block: 2.1428571429vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-box-shadow: 0 0.4285714286vw 1.0714285714vw rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.4285714286vw 1.0714285714vw rgba(0, 0, 0, 0.25);
}
@media (max-width: 767px) {
  .top-contact-btn {
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    width: 31.5rem;
    padding-block: 2rem;
    -webkit-box-shadow: 0 0.6rem 1.5rem rgba(0, 0, 0, 0.25);
            box-shadow: 0 0.6rem 1.5rem rgba(0, 0, 0, 0.25);
  }
}
.top-contact-btn:hover {
  opacity: 0.5;
}

.top-contact-btn-text {
  font-size: 1.4285714286vw;
  padding-left: 4.2857142857vw;
}
@media (max-width: 767px) {
  .top-contact-btn-text {
    font-size: 2rem;
    padding-left: 1rem;
  }
}

.top-contact-btn-arrow {
  width: 3.5714285714vw;
}
@media (max-width: 767px) {
  .top-contact-btn-arrow {
    width: 4rem;
  }
}
.top-contact-btn-arrow img {
  padding-bottom: 0.7142857143vw;
}
@media (max-width: 767px) {
  .top-contact-btn-arrow img {
    padding-bottom: 1rem;
  }
}

.contact-form {
  padding-top: 5.7142857143vw;
  padding-bottom: 14.2857142857vw;
}
@media (max-width: 767px) {
  .contact-form {
    padding-top: 10rem;
    padding-bottom: 12rem;
  }
}

.contact-form-text {
  width: 52.8571428571vw;
  font-size: 1.2857142857vw;
  color: #403C35;
  margin-inline: auto;
  margin-bottom: 2.8571428571vw;
}
@media (max-width: 767px) {
  .contact-form-text {
    font-size: 1.8rem;
    width: 34.5rem;
    margin-bottom: 4rem;
  }
}

.contact-form__flex-item {
  margin-inline: auto;
  margin-bottom: 1.4285714286vw;
}
@media (max-width: 767px) {
  .contact-form__flex-item {
    margin-bottom: 4rem;
  }
}

.contact-form__flex02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.2rem;
     -moz-column-gap: 1.2rem;
          column-gap: 1.2rem;
  margin-bottom: 1rem;
  -webkit-column-gap: 0.8571428571vw;
     -moz-column-gap: 0.8571428571vw;
          column-gap: 0.8571428571vw;
  margin-bottom: 0.7142857143vw;
  position: relative;
  margin-inline: auto;
  width: 52.8571428571vw;
}
@media (max-width: 767px) {
  .contact-form__flex02 {
    width: 34.5rem;
    -webkit-column-gap: 1.2rem;
       -moz-column-gap: 1.2rem;
            column-gap: 1.2rem;
    margin-bottom: 1rem;
  }
}

.contact-form__flex03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.8571428571vw;
     -moz-column-gap: 0.8571428571vw;
          column-gap: 0.8571428571vw;
  margin-bottom: 0.7142857143vw;
  position: relative;
  margin-inline: auto;
  padding-left: 1.4285714286vw;
  padding-right: 1.6428571429vw;
}
@media (max-width: 767px) {
  .contact-form__flex03 {
    -webkit-column-gap: 1.2rem;
       -moz-column-gap: 1.2rem;
            column-gap: 1.2rem;
    margin-bottom: 1rem;
    padding-left: 2rem;
    padding-right: 2.3rem;
  }
}

.contact-form__info {
  font-size: 1.1428571429vw;
  letter-spacing: 0.05vw;
  letter-spacing: 0rem;
  color: #403C35;
}
@media (max-width: 767px) {
  .contact-form__info {
    font-size: 1.6rem;
    letter-spacing: 0.07rem;
    letter-spacing: 0rem;
  }
}

.absolutely {
  font-size: 0.8571428571vw;
  font-weight: 400;
  color: #fff;
  background-color: #D01E0B;
  padding: 0.1785714286vw 0.5357142857vw;
  border-radius: 0.2142857143vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 767px) {
  .absolutely {
    font-size: 1.2rem;
    padding: 0.25rem 0.75rem;
    border-radius: 0.3rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.optional {
  font-size: 0.8571428571vw;
  font-weight: 400;
  color: #fff;
  background-color: #777;
  padding: 0.1785714286vw 0.5357142857vw;
  border-radius: 0.2142857143vw;
}
@media (max-width: 767px) {
  .optional {
    font-size: 1.2rem;
    padding: 0.25rem 0.75rem;
    border-radius: 0.3rem;
  }
}

.wpcf7-text {
  display: block;
  width: 52.8571428571vw;
  margin-inline: auto;
  background-color: #fff;
  border: 0.0714285714vw solid #ccc;
  border-radius: 0.3571428571vw;
  padding-block: 0.7857142857vw;
  padding-inline: 1.0714285714vw;
  cursor: pointer;
  font-size: 1.1428571429vw;
  letter-spacing: 0.0714285714vw;
}
@media (max-width: 767px) {
  .wpcf7-text {
    width: 34.5rem;
    border: 0.1rem solid #ccc;
    border-radius: 0.5rem;
    padding-block: 1.1rem;
    padding-inline: 1.5rem;
    cursor: pointer;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
}

.wpcf7-textarea {
  display: block;
  width: 52.8571428571vw;
  height: 8.5714285714vw;
  margin-inline: auto;
  background-color: #fff;
  border: 0.0714285714vw solid #ccc;
  border-radius: 0.3571428571vw;
  padding-block: 0.7857142857vw;
  padding-inline: 1.0714285714vw;
  cursor: pointer;
  font-size: 1.1428571429vw;
}
@media (max-width: 767px) {
  .wpcf7-textarea {
    width: 34.5rem;
    height: 12rem;
    border: 0.1rem solid #ccc;
    border-radius: 0.5rem;
    padding-block: 1.1rem;
    padding-inline: 1.5rem;
    font-size: 1.6rem;
  }
}

.wpcf7 select {
  display: block;
  width: 52.8571428571vw;
  margin-inline: auto;
  background-color: #fff;
  color: #403C35;
  border: 0.0714285714vw solid #ccc;
  border-radius: 0.3571428571vw;
  padding-block: 0.7857142857vw;
  padding-inline: 1.0714285714vw;
  cursor: pointer;
  font-size: 1.1428571429vw;
  letter-spacing: 0.0714285714vw;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
}
@media (max-width: 767px) {
  .wpcf7 select {
    width: 34.5rem;
    border: 0.1rem solid #ccc;
    border-radius: 0.5rem;
    padding-block: 1.1rem;
    padding-inline: 1.5rem;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
}

.contact-select-wrap {
  position: relative;
  display: block;
  width: 52.8571428571vw;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .contact-select-wrap {
    width: 34.5rem;
  }
}
.contact-select-wrap::after {
  content: "";
  position: absolute;
  right: 0.7142857143vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-left: 0.4285714286vw solid transparent;
  border-right: 0.4285714286vw solid transparent;
  border-top: 0.4285714286vw solid #666;
  /* ▼の色 */
  pointer-events: none;
}
@media (max-width: 767px) {
  .contact-select-wrap::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    border-left: 0.6rem solid transparent;
    border-right: 0.6rem solid transparent;
    border-top: 0.6rem solid #666;
    /* ▼の色 */
    pointer-events: none;
  }
}

/* ラッパー全体 */
.contact-form__pp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.1428571429vw;
  color: #403C35;
  margin-block: 4.2857142857vw;
}
@media (max-width: 767px) {
  .contact-form__pp {
    font-size: 1.6rem;
    margin-block: 6rem;
  }
}

/* チェックボックス */
.contact-form__pp input[type=checkbox] {
  width: 1.4285714286vw;
  height: 1.4285714286vw;
  margin: 0;
  cursor: pointer;
}
@media (max-width: 767px) {
  .contact-form__pp input[type=checkbox] {
    width: 2rem;
    height: 2rem;
  }
}

/* テキスト部分 */
.pp-text {
  display: inline-block;
}

/* リンク（プライバシーポリシー） */
.pp-link {
  color: #403C35;
  text-decoration: underline;
  text-underline-offset: 0.1428571429vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .pp-link {
    text-underline-offset: 0.2rem;
  }
}
.pp-link:hover {
  opacity: 0.5;
}

/* ボタンラッパー */
.contact-form__btn-wrap {
  text-align: center;
}

.submit-btn {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 28.5714285714vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .submit-btn {
    width: 34.5rem;
    max-width: unset;
  }
}
.submit-btn:hover {
  opacity: 0.5;
}

/* ボタン本体 */
.submit-btn input[type=submit] {
  width: 100%;
  padding: 1.4285714286vw 3.5714285714vw;
  background-color: #A88A58;
  color: #fff;
  font-size: 1.7142857143vw;
  font-weight: 400;
  letter-spacing: 0.0714285714vw;
  border: none;
  border-radius: 0.7142857143vw;
  cursor: pointer;
}
@media (max-width: 767px) {
  .submit-btn input[type=submit] {
    width: 34.5rem;
    padding: 2rem 5rem;
    font-size: 2.4rem;
    letter-spacing: 0.1rem;
    border-radius: 1rem;
  }
}

/* 矢印アイコン */
.submit-btn__arrow {
  position: absolute;
  top: 50%;
  right: 1.4285714286vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.4285714286vw;
  height: 1.4285714286vw;
  background: url("../img-file/common/btn-white-arrow.webp") no-repeat center center;
  background-size: contain;
  pointer-events: none;
}
@media (max-width: 767px) {
  .submit-btn__arrow {
    right: 2rem;
    width: 2rem;
    height: 2rem;
  }
}

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

/* ボタンが無効なとき */
input.confirm_button:disabled {
  cursor: not-allowed;
}

.wpcf7-not-valid-tip {
  width: 52.8571428571vw;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .wpcf7-not-valid-tip {
    width: 34.5rem;
  }
}

.wpcf7 form.sent .wpcf7-response-output {
  width: 52.8571428571vw;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .wpcf7 form.sent .wpcf7-response-output {
    width: 34.5rem;
  }
}

.not-found-contents {
  padding-top: 5.7142857143vw;
  padding-bottom: 14.2857142857vw;
}
@media (max-width: 767px) {
  .not-found-contents {
    padding-top: 14rem;
    padding-bottom: 12rem;
  }
}

.not-found-text {
  font-size: 1.4285714286vw;
  line-height: 2;
  margin-bottom: 7.1428571429vw;
  color: #403C35;
  text-align: center;
}
@media (max-width: 767px) {
  .not-found-text {
    font-size: 1.6rem;
    margin-bottom: 10rem;
  }
}

.not-found-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.8571428571vw;
     -moz-column-gap: 2.8571428571vw;
          column-gap: 2.8571428571vw;
  width: 14.6428571429vw;
  margin-inline: auto;
  color: #B89861;
  font-family: cinzel, serif;
  font-size: 1.4285714286vw;
  letter-spacing: 0.0357142857vw;
  text-align: center;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  border-bottom: 0.0714285714vw solid #B89861;
  padding-bottom: 0.7142857143vw;
}
@media (max-width: 767px) {
  .not-found-btn {
    -webkit-column-gap: 4rem;
       -moz-column-gap: 4rem;
            column-gap: 4rem;
    width: 20.5rem;
    font-size: 2rem;
    letter-spacing: 0.05rem;
    border-bottom: 0.1rem solid #B89861;
    padding-bottom: 1rem;
  }
}
.not-found-btn:hover {
  opacity: 0.5;
}

.not-found-btn-arrow-img {
  width: 1.4285714286vw;
}
@media (max-width: 767px) {
  .not-found-btn-arrow-img {
    width: 2rem;
  }
}
.not-found-btn-arrow-img img {
  padding-bottom: 0.5vw;
}
@media (max-width: 767px) {
  .not-found-btn-arrow-img img {
    padding-bottom: 0.7rem;
  }
}

.company-contents {
  padding-top: 5.7142857143vw;
  padding-bottom: 14.2857142857vw;
}
@media (max-width: 767px) {
  .company-contents {
    padding-top: 15rem;
    padding-bottom: 8rem;
  }
}

.company-link-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 3.5714285714vw;
     -moz-column-gap: 3.5714285714vw;
          column-gap: 3.5714285714vw;
  margin-bottom: 5.7142857143vw;
}
@media (max-width: 767px) {
  .company-link-flex {
    display: grid;
    grid-template-columns: repeat(2, auto);
    -webkit-column-gap: 5rem;
       -moz-column-gap: 5rem;
            column-gap: 5rem;
    row-gap: 2rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    justify-items: center;
    margin-bottom: 8rem;
  }
}

.company-link-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.4285714286vw;
     -moz-column-gap: 1.4285714286vw;
          column-gap: 1.4285714286vw;
  position: relative;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.company-link-btn:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .company-link-btn {
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
  }
}
.company-link-btn::after {
  content: "";
  display: inline-block;
  width: 120%;
  height: 0.0714285714vw;
  background-color: #B89861;
  position: absolute;
  bottom: -0.5vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  .company-link-btn::after {
    width: 110%;
    height: 0.1rem;
    bottom: -0.7rem;
  }
}
@media (max-width: 767px) {
  .company-link-btn:nth-child(odd) {
    justify-self: center;
  }
}
@media (max-width: 767px) {
  .company-link-btn:nth-child(even) {
    justify-self: start;
  }
}

.company-link-btn-text {
  font-size: 1.4285714286vw;
  font-weight: 400;
  font-family: Noto Serif JP, serif;
  letter-spacing: 0.0357142857vw;
  color: #B89861;
  text-transform: none !important;
}
@media (max-width: 767px) {
  .company-link-btn-text {
    font-size: 1.6rem;
    letter-spacing: 0.05rem;
  }
}

.company-link-btn-arrow {
  display: block;
  width: 1.4285714286vw;
}
@media (max-width: 767px) {
  .company-link-btn-arrow {
    width: 2rem;
  }
}
@media (max-width: 767px) {
  .company-link-btn-arrow img {
    padding-bottom: 0.25rem;
  }
}

.company-message {
  padding-top: 3rem;
  padding-bottom: 10rem;
  padding-top: 2.1428571429vw;
  padding-bottom: 7.1428571429vw;
}
@media (max-width: 767px) {
  .company-message {
    padding-top: unset;
    padding-bottom: 10rem;
  }
}

.company-contents-title {
  -webkit-font-smoothing: antialiased;
  margin-bottom: 4.2857142857vw;
}
@media (max-width: 767px) {
  .company-contents-title {
    margin-bottom: 6rem;
  }
}

.company-message-text {
  width: 57.1428571429vw;
  margin-inline: auto;
  font-size: 1.1428571429vw;
  color: #403C35;
  line-height: 2;
}
@media (max-width: 767px) {
  .company-message-text {
    font-size: 1.6rem;
    width: 34.5rem;
    letter-spacing: 0.02rem;
  }
}

.company-message-name {
  width: 57.1428571429vw;
  margin-inline: auto;
  text-align: right;
  font-size: 1.1428571429vw;
  color: #403C35;
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .company-message-name {
    font-size: 2rem;
    width: 34.5rem;
  }
}

.company-philosophy {
  width: 80.5rem;
  width: 57.5vw;
  margin-inline: auto;
  padding-top: 3rem;
  padding-bottom: 8rem;
  padding-top: 2.1428571429vw;
  padding-bottom: 5.7142857143vw;
}
@media (max-width: 767px) {
  .company-philosophy {
    width: 34.5rem;
    padding-top: 1rem;
    padding-bottom: 3rem;
  }
}

.company-philosophy-text-wrap {
  margin-bottom: 3.5714285714vw;
}
@media (max-width: 767px) {
  .company-philosophy-text-wrap {
    margin-bottom: 5rem;
  }
}

.company-philosophy-subtitle {
  font-size: 1.7142857143vw;
  font-weight: 400;
  font-family: Noto Serif JP, serif;
  margin-bottom: 0.3571428571vw;
  color: #403C35;
}
@media (max-width: 767px) {
  .company-philosophy-subtitle {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }
}

.company-philosophy-text {
  font-size: 1.1428571429vw;
  font-weight: 400;
  color: #403C35;
}
@media (max-width: 767px) {
  .company-philosophy-text {
    line-height: 2;
    font-size: 1.6rem;
  }
}

.company-philosophy-text-list {
  font-size: 1.1428571429vw;
  font-weight: 400;
  line-height: 2;
  color: #403C35;
}
@media (max-width: 767px) {
  .company-philosophy-text-list {
    line-height: 2;
    font-size: 1.6rem;
  }
}

.company-sdgs {
  background-color: #fdfdf9;
  padding-top: 8rem;
  padding-bottom: 3rem;
  padding-top: 5.7142857143vw;
  padding-bottom: 2.1428571429vw;
  width: 88.5714285714vw;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .company-sdgs {
    padding-top: 4rem;
    padding-bottom: 1rem;
    width: 35.5rem;
  }
}

.company-sdgs-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
  -webkit-column-gap: 2.1428571429vw;
     -moz-column-gap: 2.1428571429vw;
          column-gap: 2.1428571429vw;
  position: relative;
  margin-bottom: 5rem;
  margin-bottom: 3.5714285714vw;
}
@media (max-width: 767px) {
  .company-sdgs-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 2rem;
    margin-bottom: 4rem;
    -webkit-column-gap: unset;
       -moz-column-gap: unset;
            column-gap: unset;
  }
}
.company-sdgs-flex:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -2rem;
  bottom: -1.4285714286vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 102rem;
  width: 72.8571428571vw;
  height: 0.0714285714vw;
  background-color: #ddd;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .company-sdgs-flex:not(:last-child)::after {
    width: 33.5rem;
    height: 0.1rem;
    bottom: -1rem;
  }
}

.company-sdgs-flex-left {
  width: 20rem;
  width: 14.2857142857vw;
}
@media (max-width: 767px) {
  .company-sdgs-flex-left {
    width: 10rem;
    margin-bottom: 2rem;
  }
}

.company-sdgs-flex-right-title {
  font-size: 1.1428571429vw;
  color: #fff;
  background-color: #AC8D59;
  display: inline-block;
  border-radius: 3.5714285714vw;
  padding-block: 0.0714285714vw;
  padding-inline: 1.7857142857vw;
  margin-bottom: 0.3571428571vw;
}
@media (max-width: 767px) {
  .company-sdgs-flex-right-title {
    font-size: 1.6rem;
    border-radius: 5rem;
    padding-block: 0.1rem;
    padding-inline: 2.5rem;
    margin-bottom: 0.5rem;
  }
}

.company-sdgs-flex-right-text {
  font-size: 1.1428571429vw;
  color: #403C35;
  line-height: 1.8;
  margin-bottom: 1.0714285714vw;
}
@media (max-width: 767px) {
  .company-sdgs-flex-right-text {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
}

.company-about {
  padding-top: 12rem;
  padding-bottom: 2rem;
  padding-top: 8.5714285714vw;
  padding-bottom: 1.4285714286vw;
}
@media (max-width: 767px) {
  .company-about {
    padding-top: 8rem;
    padding-bottom: 2rem;
  }
}

.company-about-contents-title {
  -webkit-font-smoothing: antialiased;
  margin-bottom: 4.2857142857vw;
}
@media (max-width: 767px) {
  .company-about-contents-title {
    margin-bottom: 6rem;
  }
}

.company-about-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 7.1428571429vw;
     -moz-column-gap: 7.1428571429vw;
          column-gap: 7.1428571429vw;
  position: relative;
}
@media (max-width: 767px) {
  .company-about-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: unset;
       -moz-column-gap: unset;
            column-gap: unset;
    row-gap: 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.company-about-flex-left {
  position: relative;
}
@media (max-width: 767px) {
  .company-about-flex-left {
    padding-inline: 1.5rem;
  }
}
.company-about-flex-left::after {
  content: "";
  position: absolute;
  bottom: 50%;
  left: 10.7142857143vw;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  width: 0.0714285714vw;
  height: 54.2857142857vw;
  background-color: #C3A45B;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .company-about-flex-left::after {
    left: 16.5rem;
    width: 0.1rem;
    height: 76rem;
  }
}

.company-about-flex-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 2.1428571429vw;
     -moz-column-gap: 2.1428571429vw;
          column-gap: 2.1428571429vw;
  position: relative;
  margin-bottom: 1.7857142857vw;
}
@media (max-width: 767px) {
  .company-about-flex-info {
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
    margin-bottom: 1.6rem;
  }
}

.company-about-flex-title {
  font-size: 1.1428571429vw;
  font-weight: 400;
  color: #403C35;
  min-width: 10.7142857143vw;
}
@media (max-width: 767px) {
  .company-about-flex-title {
    font-size: 1.6rem;
    min-width: 13.5rem;
  }
}

.company-about-flex-text {
  font-size: 1.1428571429vw;
  font-weight: 400;
  color: #403C35;
  min-width: 17.1428571429vw;
}
@media (max-width: 767px) {
  .company-about-flex-text {
    font-size: 1.6rem;
    min-width: 18rem;
  }
}

@media (max-width: 767px) {
  .company-about-flex-text.textarea br {
    display: none;
  }
}

.company-map-link-flex {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 0.0714285714vw solid #403C35;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.company-map-link-flex:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .company-map-link-flex {
    border-bottom: 0.1rem solid #403C35;
  }
}

.link-icon::after {
  content: "";
  display: inline-block;
  width: 1.7142857143vw;
  height: 1.7142857143vw;
  margin-left: 0.3571428571vw;
  margin-top: 0.3571428571vw;
  background: url("../img-file/common/btn-link.webp") no-repeat center center;
  background-size: contain;
}
@media (max-width: 767px) {
  .link-icon::after {
    width: 2.4rem;
    height: 2.4rem;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
  }
}

.company-about-flex-right-img {
  width: 19.2857142857vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .company-about-flex-right-img {
    width: 30.5rem;
    margin-inline: auto;
  }
}
.company-about-flex-right-img img {
  margin-bottom: 0.7142857143vw;
}
@media (max-width: 767px) {
  .company-about-flex-right-img img {
    margin-bottom: 1rem;
  }
}

.news-list-inner {
  width: 84.2857142857vw;
  margin: 0 auto;
  padding-left: 1.4285714286vw;
  padding-right: 1.4285714286vw;
  text-align: center;
}
@media (max-width: 767px) {
  .news-list-inner {
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-bottom: 7rem;
  }
}

.news-list-item {
  display: grid;
  grid-template-columns: repeat(3, 24.2857142857vw);
  row-gap: 4.2857142857vw;
  -webkit-column-gap: 4.2857142857vw;
     -moz-column-gap: 4.2857142857vw;
          column-gap: 4.2857142857vw;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin-bottom: 5vw;
}
@media (max-width: 767px) {
  .news-list-item {
    padding-left: 0rem;
    margin-bottom: 0rem;
    display: block;
    row-gap: 6rem;
    -webkit-column-gap: 6rem;
       -moz-column-gap: 6rem;
            column-gap: 6rem;
  }
}

.news-list-item li a {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.news-list-item li a:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .news-list-item li a {
    margin-bottom: 3rem;
  }
}

.news-list-img {
  display: block;
  width: 34rem;
  width: 24.2857142857vw;
}
@media (max-width: 767px) {
  .news-list-img {
    width: 100%;
    margin: 0 auto;
  }
}
.news-list-img img {
  width: 34rem;
  height: 24rem;
  width: 24.2857142857vw;
  height: 17.1428571429vw;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.7142857143vw;
}
@media (max-width: 767px) {
  .news-list-img img {
    width: 34rem;
    height: auto;
    border-radius: 1rem;
  }
}

.news-list-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.4285714286vw;
     -moz-column-gap: 1.4285714286vw;
          column-gap: 1.4285714286vw;
  margin-top: 0.7142857143vw;
}
@media (max-width: 767px) {
  .news-list-flex {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    margin-top: 1rem;
  }
}

.news-list-time {
  font-size: 1.2857142857vw;
  font-weight: 400;
  text-align: left;
  color: #777;
}
@media (max-width: 767px) {
  .news-list-time {
    letter-spacing: 0.05rem;
    font-size: 1.8rem;
  }
}

.news-list-mark {
  display: inline-block;
  font-size: 1vw;
  font-weight: 400;
  text-align: center;
  color: #fff;
}
@media (max-width: 767px) {
  .news-list-mark {
    font-size: 1.4rem;
  }
}

.news-tag-label {
  display: block;
  padding-block: 0.0714285714vw;
  padding-inline: 0.7142857143vw;
}
@media (max-width: 767px) {
  .news-tag-label {
    margin-top: 0.2rem;
    padding-block: 0.1rem;
    padding-inline: 1rem;
  }
}

.news-list-text {
  margin-top: 0.7142857143vw;
  font-size: 1.2857142857vw;
  font-weight: 400;
  letter-spacing: 0.0714285714vw;
  line-height: 1.5;
  text-align: left;
  color: #403C35;
}
@media (max-width: 767px) {
  .news-list-text {
    font-size: 1.8rem;
    margin-top: 1.8rem;
    letter-spacing: 0rem;
    line-height: 2.6rem;
  }
}

.news-list-tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 5.7142857143vw;
}
@media (max-width: 767px) {
  .news-list-tag-list {
    margin-top: 16rem;
  }
}

.news-list-tag-filter {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.4285714286vw;
  margin-bottom: 6.4285714286vw;
  position: relative;
  margin-inline: auto;
  border-bottom: 0.1rem solid #A88A58;
}
@media (max-width: 767px) {
  .news-list-tag-filter {
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 34.5rem;
    margin-inline: auto;
    padding-inline: 2rem;
    padding-bottom: 1rem;
    margin-bottom: 5rem;
    gap: 2rem;
  }
}

.filter-label {
  font-size: 1.4285714286vw;
  font-weight: 400;
  font-family: cinzel, serif;
  color: #B89861;
}
@media (max-width: 767px) {
  .filter-label {
    font-size: 2rem;
  }
}

.filter-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.4285714286vw;
  padding-bottom: 0.3571428571vw;
}
@media (max-width: 767px) {
  .filter-tags {
    gap: 2rem;
    padding-bottom: 0.5rem;
  }
}

.filter-tag {
  display: inline-block;
  font-size: 1vw;
  font-weight: 400;
  color: #fff;
  padding-inline: 0.7142857143vw;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .filter-tag {
    font-size: 1.6rem;
    padding-inline: 1rem;
  }
}

.filter-tag:hover {
  opacity: 0.5;
}

.news-detail-contents {
  width: 88rem;
  width: 62.8571428571vw;
  margin-inline: auto;
  padding-top: 8rem;
  padding-bottom: 20rem;
  padding-top: 5.7142857143vw;
  padding-bottom: 14.2857142857vw;
}
@media (max-width: 767px) {
  .news-detail-contents {
    width: 34.5rem;
    padding-top: 12rem;
    padding-bottom: 12rem;
  }
}

.news-detail-contents-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -ms-flex-item-align: center;
      align-self: center;
  margin-bottom: 1.0714285714vw;
  -webkit-column-gap: 1.7857142857vw;
     -moz-column-gap: 1.7857142857vw;
          column-gap: 1.7857142857vw;
}
@media (max-width: 767px) {
  .news-detail-contents-flex {
    margin-bottom: 1.5rem;
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
  }
}

.news-detail-date {
  font-size: 1.2857142857vw;
  font-weight: 400;
  color: #403C35;
}
@media (max-width: 767px) {
  .news-detail-date {
    font-size: 1.8rem;
    letter-spacing: 0.15rem;
    margin-right: 1rem;
  }
}

.news-detail-mark {
  font-size: 1vw;
  font-weight: 400;
  margin-top: 0.4rem;
}
@media (max-width: 767px) {
  .news-detail-mark {
    font-size: 1.4rem;
  }
}

.news-detail-contents-title {
  font-size: 1.4285714286vw;
  font-weight: 400;
  margin-bottom: 2.8571428571vw;
  color: #403C35;
}
@media (max-width: 767px) {
  .news-detail-contents-title {
    font-size: 2.4rem;
    margin-bottom: 5rem;
  }
}

.news-detail-contents-text {
  font-size: 1.2857142857vw;
  font-weight: 400;
  line-height: 1.5;
  color: #403C35;
}
@media (max-width: 767px) {
  .news-detail-contents-text {
    font-size: 1.6rem;
    margin-bottom: 4rem;
    line-height: 1.6;
  }
}

.news-detail-link-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4285714286vw;
  font-family: cinzel, serif;
  color: #B89861;
  width: 19vw;
  margin-inline: auto;
  border-bottom: 0.0714285714vw solid #B89861;
  padding-bottom: 0.7142857143vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .news-detail-link-btn {
    font-size: 2rem;
    width: 26.6rem;
    border-bottom: 0.1rem solid #B89861;
    padding-bottom: 1rem;
  }
}
.news-detail-link-btn:hover {
  opacity: 0.5;
}

.news-detail-link-btn-side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.1428571429vw;
     -moz-column-gap: 2.1428571429vw;
          column-gap: 2.1428571429vw;
  font-size: 1.4285714286vw;
  font-family: cinzel, serif;
  color: #B89861;
  width: 10vw;
  margin-inline: auto;
  border-bottom: 0.0714285714vw solid #B89861;
  padding-bottom: 0.7142857143vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .news-detail-link-btn-side {
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
    font-size: 2rem;
    width: 14rem;
    border-bottom: 0.1rem solid #B89861;
    padding-bottom: 1rem;
  }
}
.news-detail-link-btn-side:hover {
  opacity: 0.5;
}

.news-detail-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 7.1428571429vw;
  text-align: center;
}
.news-detail-nav__item.prev {
  text-align: left;
}
.news-detail-nav__item.center {
  text-align: center;
}
.news-detail-nav__item.next {
  text-align: right;
}
@media (max-width: 767px) {
  .news-detail-nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 4rem;
    margin-top: 10rem;
  }
  .news-detail-nav .news-detail-nav__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
  .news-detail-nav .news-detail-nav__item.center {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    text-align: center;
  }
  .news-detail-nav .news-detail-nav__item.prev {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: left;
    margin-right: auto;
  }
  .news-detail-nav .news-detail-nav__item.next {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: right;
    margin-left: auto;
  }
}

.privacy-policy-contents {
  padding-top: 5.7142857143vw;
  padding-bottom: 14.2857142857vw;
  width: 74.2857142857vw;
  margin-inline: auto;
  color: #403C35;
  letter-spacing: 0.05vw;
}
@media (max-width: 767px) {
  .privacy-policy-contents {
    width: 34.5rem;
    padding-top: 12rem;
    padding-bottom: 10rem;
    letter-spacing: 0.07rem;
  }
}

.privacy-policy-contents-first-text {
  font-size: 1.4285714286vw;
  line-height: 2;
  margin-bottom: 2.8571428571vw;
}
@media (max-width: 767px) {
  .privacy-policy-contents-first-text {
    font-size: 1.6rem;
    margin-bottom: 4rem;
  }
}

.privacy-policy-contents-item {
  margin-bottom: 4.2857142857vw;
}
@media (max-width: 767px) {
  .privacy-policy-contents-item {
    margin-bottom: 4rem;
  }
}

.privacy-policy-contents-text {
  font-size: 1.4285714286vw;
  line-height: 2;
  margin-bottom: 0.7142857143vw;
}
@media (max-width: 767px) {
  .privacy-policy-contents-text {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
}

.privacy-policy-contents-title {
  font-size: 2.2857142857vw;
  font-family: cinzel, serif;
}
@media (max-width: 767px) {
  .privacy-policy-contents-title {
    font-size: 2.4rem;
  }
}

.privacy-policy-contents-list {
  font-size: 1.4285714286vw;
  line-height: 2;
  margin-bottom: 0.7142857143vw;
}
@media (max-width: 767px) {
  .privacy-policy-contents-list {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
}

.projects-partners-contents {
  padding-top: 8rem;
  padding-bottom: 20rem;
}
@media (max-width: 767px) {
  .projects-partners-contents {
    padding-top: 10rem;
    padding-bottom: 12rem;
  }
}

.projects-partners-link-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 5rem;
     -moz-column-gap: 5rem;
          column-gap: 5rem;
  margin-bottom: 8rem;
}
@media (max-width: 767px) {
  .projects-partners-link-flex {
    display: grid;
    grid-template-columns: repeat(2, auto);
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
    row-gap: 2rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    justify-items: center;
  }
}

.projects-partners-link-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  position: relative;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.projects-partners-link-btn:hover {
  opacity: 0.5;
}
.projects-partners-link-btn::after {
  content: "";
  display: inline-block;
  width: 120%;
  height: 0.1rem;
  background-color: #B89861;
  position: absolute;
  bottom: -0.7rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  .projects-partners-link-btn::after {
    width: 110%;
  }
}
@media (max-width: 767px) {
  .projects-partners-link-btn:nth-child(odd) {
    justify-self: end;
  }
}
@media (max-width: 767px) {
  .projects-partners-link-btn:nth-child(even) {
    justify-self: start;
  }
}

.projects-partners-link-btn-text {
  font-size: 2rem;
  font-weight: 400;
  font-family: cinzel, serif;
  letter-spacing: 0.05rem;
  color: #B89861;
}
@media (max-width: 767px) {
  .projects-partners-link-btn-text {
    font-size: 1.6rem;
  }
}

.projects-partners-link-btn-arrow {
  display: block;
  width: 2rem;
}
.projects-partners-link-btn-arrow img {
  padding-bottom: 0.5rem;
}

.projects-partners-contents-title {
  -webkit-font-smoothing: antialiased;
  margin-bottom: 6rem;
}

.projects-partners-contents-item {
  position: relative;
  margin-bottom: 8rem;
}

.projects-partners-contents-item-img {
  width: 80rem;
  margin-inline: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .projects-partners-contents-item-img {
    width: 34.5rem;
  }
}

.projects-partners-contents-item-text-wrap {
  background-color: #fff;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(60%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0.8)));
  background: linear-gradient(to top, rgb(255, 255, 255) 60%, rgba(255, 255, 255, 0.8) 100%);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  width: 80rem;
  margin-inline: auto;
  padding-block: 5rem;
  padding-left: 8rem;
  padding-right: 5rem;
  margin-top: -15rem;
}
@media (max-width: 767px) {
  .projects-partners-contents-item-text-wrap {
    width: 34.5rem;
    top: 8rem;
    padding-block: 3rem;
    padding-left: 3rem;
    padding-right: 2rem;
    margin-top: -6rem;
  }
}

.projects-partners-contents-item-title {
  font-size: 2.4rem;
  font-weight: 400;
  font-family: cinzel, serif;
  letter-spacing: 0.05rem;
  color: #B89861;
  margin-bottom: 4rem;
  text-align: center;
  position: relative;
}
.projects-partners-contents-item-title::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 0.1rem;
  background-color: #B89861;
  position: absolute;
  bottom: -0.7rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.projects-partners-contents-item-text-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 2rem;
}

.projects-partners-contents-item-text {
  font-size: 1.6rem;
  font-weight: 400;
  color: #403C35;
  text-align: left;
  width: 45%;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .projects-partners-contents-item-text {
    width: 100%;
    letter-spacing: 0rem;
    white-space: unset;
  }
}

.projects-brand-contents {
  padding-top: 5.7142857143vw;
  padding-bottom: 14.2857142857vw;
}
@media (max-width: 767px) {
  .projects-brand-contents {
    padding-top: 15rem;
    padding-bottom: 8rem;
  }
}

.projects-brand-link-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 3.5714285714vw;
     -moz-column-gap: 3.5714285714vw;
          column-gap: 3.5714285714vw;
  margin-bottom: 5.7142857143vw;
}
@media (max-width: 767px) {
  .projects-brand-link-flex {
    display: grid;
    grid-template-columns: repeat(2, auto);
    -webkit-column-gap: 5rem;
       -moz-column-gap: 5rem;
            column-gap: 5rem;
    row-gap: 2rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    justify-items: center;
    margin-bottom: 6rem;
  }
}

.projects-brand-link-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.4285714286vw;
     -moz-column-gap: 1.4285714286vw;
          column-gap: 1.4285714286vw;
  position: relative;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.projects-brand-link-btn:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .projects-brand-link-btn {
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
  }
}
.projects-brand-link-btn::after {
  content: "";
  display: inline-block;
  width: 120%;
  height: 0.0714285714vw;
  background-color: #B89861;
  position: absolute;
  bottom: -0.5vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  .projects-brand-link-btn::after {
    width: 110%;
    height: 0.1rem;
    bottom: -0.7rem;
  }
}
@media (max-width: 767px) {
  .projects-brand-link-btn:nth-child(odd) {
    justify-self: end;
  }
}
@media (max-width: 767px) {
  .projects-brand-link-btn:nth-child(even) {
    justify-self: start;
  }
}

.projects-brand-link-btn-text {
  font-size: 1.4285714286vw;
  font-weight: 400;
  font-family: Noto Serif JP, serif;
  letter-spacing: 0.0357142857vw;
  color: #B89861;
  text-transform: none !important;
}
@media (max-width: 767px) {
  .projects-brand-link-btn-text {
    font-size: 1.6rem;
    letter-spacing: 0.05rem;
  }
}

.projects-brand-link-btn-arrow {
  display: block;
  width: 1.4285714286vw;
}
@media (max-width: 767px) {
  .projects-brand-link-btn-arrow {
    width: 2rem;
  }
}
.projects-brand-link-btn-arrow img {
  padding-bottom: 0.3571428571vw;
}
@media (max-width: 767px) {
  .projects-brand-link-btn-arrow img {
    padding-bottom: 0.5rem;
  }
}

.projects-brand-contents-title {
  -webkit-font-smoothing: antialiased;
  margin-bottom: 4.2857142857vw;
}
@media (max-width: 767px) {
  .projects-brand-contents-title {
    margin-bottom: 6rem;
  }
}

.projects-brand-contents-wrap01 {
  margin-bottom: 3.5714285714vw;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap01 {
    margin-bottom: 5rem;
  }
}

.projects-brand-contents-wrap-title {
  font-size: 2vw;
  font-family: Noto Serif JP, serif;
  letter-spacing: 0.0357142857vw;
  color: #403C35;
  text-align: center;
  margin-bottom: 5rem;
  position: relative;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-title {
    font-size: 2.8rem;
    letter-spacing: 0.05rem;
    margin-bottom: 5rem;
  }
}
.projects-brand-contents-wrap-title::after {
  content: "";
  display: block;
  width: 1.7142857143vw;
  height: 0.0714285714vw;
  background-color: #B89861;
  position: absolute;
  bottom: -0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-title::after {
    width: 2.4rem;
    height: 0.1rem;
    bottom: -1rem;
  }
}

.projects-brand-contents-wrap-logo {
  width: 5.0714285714vw;
  margin-inline: auto;
  margin-bottom: 2.8571428571vw;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-logo {
    width: 7.1rem;
    margin-bottom: 2rem;
  }
}

.projects-brand-contents-wrap-products {
  margin-bottom: 5.7142857143vw;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-products {
    padding-inline: 1.75rem;
    margin-bottom: 6rem;
  }
}

.projects-brand-contents-wrap-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.4285714286vw;
     -moz-column-gap: 1.4285714286vw;
          column-gap: 1.4285714286vw;
  margin-bottom: 1.4285714286vw;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    row-gap: 1.6rem;
    margin-bottom: 1.5rem;
  }
}

.projects-brand-contents-wrap-product {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  max-width: 17.8571428571vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-product {
    max-width: unset;
    width: 16rem;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
}

.projects-brand-contents-wrap02 {
  margin-bottom: 3.5714285714vw;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap02 {
    margin-bottom: 5rem;
  }
}

.projects-brand-contents-wrap-title02 {
  font-size: 2vw;
  font-family: Noto Serif JP, serif;
  letter-spacing: 0.0357142857vw;
  color: #403C35;
  text-align: center;
  margin-bottom: 5rem;
  position: relative;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-title02 {
    font-size: 2.8rem;
    letter-spacing: 0.05rem;
    margin-bottom: 5rem;
  }
}
.projects-brand-contents-wrap-title02::after {
  content: "";
  display: block;
  width: 1.7142857143vw;
  height: 0.0714285714vw;
  background-color: #B89861;
  position: absolute;
  bottom: -0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-title02::after {
    width: 2.4rem;
    height: 0.1rem;
    bottom: -1rem;
  }
}

.projects-brand-contents-wrap-logo02 {
  width: 5.0714285714vw;
  margin-inline: auto;
  margin-bottom: 2.8571428571vw;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-logo02 {
    width: 7.1rem;
    margin-bottom: 2rem;
  }
}

.projects-brand-contents-wrap-products02 {
  margin-bottom: 5.7142857143vw;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-products02 {
    padding-inline: 1.75rem;
    margin-bottom: 6rem;
  }
}

.projects-brand-contents-wrap-row02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.4285714286vw;
     -moz-column-gap: 1.4285714286vw;
          column-gap: 1.4285714286vw;
  margin-bottom: 1.4285714286vw;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-row02 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    row-gap: 1.6rem;
    margin-bottom: 1.5rem;
  }
}

.projects-brand-contents-wrap-product02 {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  max-width: 17.8571428571vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .projects-brand-contents-wrap-product02 {
    max-width: unset;
    width: 16rem;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
}

.projects-info-contents {
  padding-top: 8rem;
  padding-bottom: 20rem;
  padding-top: 5.7142857143vw;
  padding-bottom: 14.2857142857vw;
}
@media (max-width: 767px) {
  .projects-info-contents {
    padding-top: 13rem;
    padding-bottom: 12rem;
  }
}

.projects-info-contents-message {
  width: 66.8571428571vw;
  margin-inline: auto;
  font-size: 1.1428571429vw;
  color: #403C35;
  line-height: 1.9;
  margin-bottom: 7.1428571429vw;
}
@media (max-width: 767px) {
  .projects-info-contents-message {
    font-size: 1.6rem;
    width: 34.5rem;
    margin-bottom: 5rem;
  }
}

.projects-info-contents-title {
  -webkit-font-smoothing: antialiased;
  margin-bottom: 4.2857142857vw;
}
@media (max-width: 767px) {
  .projects-info-contents-title {
    margin-bottom: 6rem;
  }
}

.projects-info-contents-wrap {
  width: 74.2857142857vw;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.8571428571vw;
     -moz-column-gap: 2.8571428571vw;
          column-gap: 2.8571428571vw;
  row-gap: 2.8571428571vw;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 767px) {
  .projects-info-contents-wrap {
    width: 34.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: 4rem;
       -moz-column-gap: 4rem;
            column-gap: 4rem;
    row-gap: 4rem;
  }
}

.projects-info-contents-item {
  position: relative;
}

.projects-info-contents-item-img {
  width: 35.7142857143vw;
  margin-inline: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .projects-info-contents-item-img {
    width: 34.5rem;
  }
}

.projects-info-contents-item-text-wrap {
  background-color: #fff;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(60%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0.8)));
  background: linear-gradient(to top, rgb(255, 255, 255) 60%, rgba(255, 255, 255, 0.8) 100%);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  width: 35.7142857143vw;
  margin-inline: auto;
  padding-top: 2.8571428571vw;
  padding-bottom: 2.1428571429vw;
  padding-inline: 1.4285714286vw;
  margin-top: -8.5714285714vw;
}
@media (max-width: 767px) {
  .projects-info-contents-item-text-wrap {
    width: 34.5rem;
    padding-left: 3rem;
    padding-right: 2rem;
    padding-inline: unset;
    padding-top: 3rem;
    padding-bottom: 3rem;
    margin-top: -6rem;
  }
}

.projects-info-contents-item-title {
  font-size: 1.7142857143vw;
  font-weight: 400;
  font-family: cinzel, serif;
  letter-spacing: 0.0357142857vw;
  color: #B89861;
  margin-bottom: 3rem;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  .projects-info-contents-item-title {
    font-size: 2.4rem;
    letter-spacing: 0.05rem;
  }
}
.projects-info-contents-item-title::after {
  content: "";
  display: block;
  width: 1.7142857143vw;
  height: 0.0714285714vw;
  background-color: #B89861;
  position: absolute;
  bottom: -0.5vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  .projects-info-contents-item-title::after {
    width: 2.4rem;
    height: 0.1rem;
    bottom: -0.7rem;
  }
}

.projects-info-contents-item-text-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.projects-info-contents-item-text {
  font-size: 1.1428571429vw;
  font-weight: 400;
  color: #403C35;
  text-align: left;
}
@media (max-width: 767px) {
  .projects-info-contents-item-text {
    font-size: 1.6rem;
    width: 100%;
    letter-spacing: 0rem;
    white-space: unset;
  }
}

.projects-info-contents-purchase-attention {
  font-size: 1.1428571429vw;
  color: #403C35;
  margin-left: auto;
  margin-top: -1.4285714286vw;
}
@media (max-width: 767px) {
  .projects-info-contents-purchase-attention {
    font-size: 1.6rem;
    margin-top: -2rem;
  }
}

.projects-info-contents-records-wrap {
  width: 74.2857142857vw;
  margin-inline: auto;
  margin-bottom: 5.7142857143vw;
}
@media (max-width: 767px) {
  .projects-info-contents-records-wrap {
    width: 34.5rem;
    margin-bottom: 8rem;
  }
}

.projects-info-contents-records-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 5vw;
     -moz-column-gap: 5vw;
          column-gap: 5vw;
  row-gap: 4.2857142857vw;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 767px) {
  .projects-info-contents-records-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: 7rem;
       -moz-column-gap: 7rem;
            column-gap: 7rem;
    row-gap: 3rem;
  }
}

.projects-info-contents-records-item {
  width: 21.4285714286vw;
  background-color: #fdfdf9;
  border: 0.0714285714vw solid #AA8630;
  padding-top: 2.8571428571vw;
  padding-bottom: 2.1428571429vw;
}
@media (max-width: 767px) {
  .projects-info-contents-records-item {
    width: 30rem;
    border: 0.1rem solid #AA8630;
    padding-top: 4rem;
    padding-bottom: 3rem;
  }
}

.projects-info-contents-records-item-title {
  font-size: 2.1428571429vw;
  font-weight: 400;
  font-family: Noto Serif JP, serif;
  color: #403C35;
  text-align: center;
  margin-bottom: 1.6428571429vw;
  position: relative;
}
@media (max-width: 767px) {
  .projects-info-contents-records-item-title {
    font-size: 3rem;
    margin-bottom: 2.3rem;
  }
}
.projects-info-contents-records-item-title::after {
  content: "";
  display: block;
  width: 1.7142857143vw;
  height: 0.0714285714vw;
  background-color: #BD9D84;
  position: absolute;
  bottom: -0.5vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  .projects-info-contents-records-item-title::after {
    width: 2.4rem;
    height: 0.1rem;
    bottom: -0.7rem;
  }
}

.projects-info-contents-records-item-text {
  font-size: 2.8571428571vw;
  font-weight: 400;
  font-family: Noto Serif JP, serif;
  color: #403C35;
  text-align: center;
}
@media (max-width: 767px) {
  .projects-info-contents-records-item-text {
    font-size: 4rem;
  }
}

.projects-info-contents-records-item-attention {
  font-size: 1vw;
  font-weight: 400;
  color: #403C35;
  text-align: right;
  margin-top: 0.7142857143vw;
}
@media (max-width: 767px) {
  .projects-info-contents-records-item-attention {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}

.projects-info-contents-process-wrap {
  margin-bottom: 8.5714285714vw;
}
@media (max-width: 767px) {
  .projects-info-contents-process-wrap {
    margin-bottom: 12rem;
  }
}

.projects-info-contents-process-item {
  margin-bottom: 2.1428571429vw;
}
@media (max-width: 767px) {
  .projects-info-contents-process-item {
    margin-bottom: 3rem;
  }
}

.projects-info-contents-process-item-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.1428571429vw;
     -moz-column-gap: 2.1428571429vw;
          column-gap: 2.1428571429vw;
  margin-bottom: 0.8571428571vw;
  width: 57.1428571429vw;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .projects-info-contents-process-item-flex {
    width: 34.5rem;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
    margin-bottom: 1.2rem;
  }
}

.projects-info-contents-process-item-number {
  font-size: 2.1428571429vw;
  font-weight: 400;
  font-family: Noto Serif JP, serif;
  color: #D7C393;
}
@media (max-width: 767px) {
  .projects-info-contents-process-item-number {
    font-size: 3rem;
  }
}

.projects-info-contents-process-item-img {
  width: 2.8571428571vw;
}
@media (max-width: 767px) {
  .projects-info-contents-process-item-img {
    width: 4rem;
  }
}

.projects-info-contents-process-item-title {
  font-size: 1.7142857143vw;
  font-weight: 400;
  font-family: Noto Serif JP, serif;
  color: #AA8630;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .projects-info-contents-process-item-title {
    font-size: 2.4rem;
  }
}

.projects-info-contents-process-item-text {
  font-size: 1.1428571429vw;
  font-weight: 400;
  color: #403C35;
  background-color: #fdfdf9;
  text-align: left;
  width: 57.1428571429vw;
  margin-inline: auto;
  padding-block: 1.0714285714vw;
  padding-left: 2.8571428571vw;
}
@media (max-width: 767px) {
  .projects-info-contents-process-item-text {
    font-size: 1.6rem;
    width: 34.5rem;
    padding-left: 2rem;
    padding-block: 1.5rem;
  }
}

.c-pager {
  display: inline-block;
  width: 100%;
  text-align: center;
  margin-bottom: 14.2857142857vw;
  font-family: Noto Serif JP, serif;
}
@media (max-width: 767px) {
  .c-pager {
    margin-bottom: 15rem;
  }
}
.c-pager .page-numbers {
  display: inline-block;
  width: 3.6428571429vw;
  height: 3.6428571429vw;
  font-size: 1.2857142857vw;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  color: #B89861;
  border-bottom: 0.0714285714vw solid #B89861;
  margin-right: 1.0714285714vw;
  padding-top: 0.7142857143vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .c-pager .page-numbers {
    width: 5.1rem;
    height: 5.1rem;
    font-size: 1.8rem;
    font-weight: 400;
    border-bottom: 0.1rem solid #B89861;
    margin-right: 1.5rem;
    padding-top: 1rem;
    margin-bottom: 15rem;
  }
}
.c-pager .page-numbers:hover {
  opacity: 0.5;
  cursor: pointer;
}
.c-pager :last-child {
  margin-right: 0;
}
.c-pager .current {
  color: #fff;
  background-color: #A88A58;
  text-decoration: none;
}
.c-pager .dots {
  display: inline-block;
  font-size: 1.2857142857vw;
  font-weight: bold;
  margin-right: 0.7142857143vw;
  border: none;
  color: #A88A58;
}
@media (max-width: 767px) {
  .c-pager .dots {
    font-size: 1.8rem;
    margin-right: 1rem;
  }
}

.c-title-en {
  display: block;
  font-size: 4.2857142857vw;
  color: #B89861;
  font-family: cinzel, serif;
  text-align: center;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .c-title-en {
    font-size: 3.6rem;
  }
}

.c-title-ja {
  display: block;
  font-size: 1vw;
  color: #B89861;
  font-family: cinzel, serif;
  text-align: center;
  margin-top: -0.7142857143vw;
}
@media (max-width: 767px) {
  .c-title-ja {
    font-size: 1.4rem;
    margin-top: -0.75rem;
  }
}

.c-lower-title-en {
  display: block;
  font-size: 3.5714285714vw;
  color: #B89861;
  font-family: cinzel, serif;
  text-align: center;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .c-lower-title-en {
    font-size: 3.6rem;
    line-height: 1.1;
  }
}

.c-lower-title-ja {
  display: block;
  font-size: 1vw;
  color: #B89861;
  font-family: cinzel, serif;
  text-align: center;
  margin-top: -0.7142857143vw;
}
@media (max-width: 767px) {
  .c-lower-title-ja {
    font-size: 1.4rem;
    margin-top: unset;
  }
}

.c-lower-page-fv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 1.4285714286vw;
     -moz-column-gap: 1.4285714286vw;
          column-gap: 1.4285714286vw;
  padding-left: 3.2142857143vw;
}

.c-lower-page-fv-left {
  margin-top: -5vw;
}

.c-lower-page-fv-left-logo {
  display: block;
  width: 11.3571428571vw;
  margin-bottom: 2.8571428571vw;
}

.c-lower-page-fv-left-nav {
  display: block;
  font-size: 1.6rem;
  text-align: center;
  color: #403C35;
}

.c-lower-page-fv-left-nav-link {
  position: relative;
  display: inline-block;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
  margin-bottom: 2.5vw;
  font-family: cinzel, serif;
}
.c-lower-page-fv-left-nav-link:hover {
  color: transparent;
}
.c-lower-page-fv-left-nav-link:hover::after {
  content: attr(data-jp);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #403C35;
  white-space: nowrap;
}

.c-lower-page-fv-left-nav-contact {
  background-color: #A88A58;
  color: #fff;
  width: 8.9285714286vw;
  margin-inline: auto;
  text-align: center;
  padding-block: 0.7142857143vw;
}
.c-lower-page-fv-left-nav-contact:hover {
  color: transparent;
}
.c-lower-page-fv-left-nav-contact:hover::after {
  content: attr(data-jp);
  position: absolute;
  top: 25%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #fff;
  white-space: nowrap;
}

.c-lower-page-fv-right {
  width: 82.8571428571vw;
  position: relative;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right {
    width: 33.6rem;
    margin-left: auto;
  }
}

.c-lower-page-fv-right-border {
  position: relative;
}
.c-lower-page-fv-right-border::after {
  content: "";
  width: 32.8571428571vw;
  height: 0.0714285714vw;
  position: absolute;
  left: 4.2857142857vw;
  bottom: 2.1428571429vw;
  z-index: 2;
  background-color: #B89861;
  display: block;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right-border::after {
    left: -2.5rem;
    bottom: -7rem;
    width: 30rem;
    height: 0.1rem;
  }
}

.c-lower-page-fv-right-text {
  position: absolute;
  bottom: 2.8571428571vw;
  left: 5.7142857143vw;
  color: #fff;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right-text {
    bottom: -6.5rem;
    left: -2.5rem;
  }
}

.c-lower-page-fv-right-text-en {
  display: block;
  font-size: 4.2857142857vw;
  font-weight: 400;
  color: #B89861;
  font-family: cinzel, serif;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right-text-en {
    font-size: 4.2rem;
    white-space: nowrap;
    -webkit-font-smoothing: antialiased;
  }
}

.c-lower-page-fv-right-text-ja {
  display: block;
  font-size: 1.4285714286vw;
  font-weight: 400;
  margin-top: -1rem;
  color: #B89861;
  font-family: cinzel, serif;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right-text-ja {
    font-size: 1.8rem;
    -webkit-font-smoothing: antialiased;
  }
}

.c-lower-page-fv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 1.4285714286vw;
     -moz-column-gap: 1.4285714286vw;
          column-gap: 1.4285714286vw;
  padding-left: 3.2142857143vw;
}

.c-lower-page-fv-left {
  margin-top: -5vw;
}

.c-lower-page-fv-left-logo {
  display: block;
  width: 11.3571428571vw;
  margin-bottom: 2.8571428571vw;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.c-lower-page-fv-left-logo:hover {
  opacity: 0.5;
}

.c-lower-page-fv-left-nav {
  display: block;
  font-size: 1.6rem;
  text-align: center;
  color: #403C35;
}

.c-lower-page-fv-left-nav-link {
  position: relative;
  display: inline-block;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
  margin-bottom: 2.5vw;
  font-family: cinzel, serif;
}
.c-lower-page-fv-left-nav-link:hover {
  color: transparent;
}
.c-lower-page-fv-left-nav-link:hover::after {
  content: attr(data-jp);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #403C35;
  white-space: nowrap;
}

.c-lower-page-fv-left-nav-contact {
  background-color: #A88A58;
  color: #fff;
  width: 8.9285714286vw;
  margin-inline: auto;
  text-align: center;
  padding-block: 0.7142857143vw;
}
.c-lower-page-fv-left-nav-contact:hover {
  color: transparent;
}
.c-lower-page-fv-left-nav-contact:hover::after {
  content: attr(data-jp);
  position: absolute;
  top: 0.7142857143vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #fff;
  white-space: nowrap;
}

.c-lower-page-fv-right {
  width: 82.8571428571vw;
  position: relative;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right {
    width: 33.6rem;
    margin-left: auto;
  }
}

.c-lower-page-fv-right-border {
  position: relative;
}
.c-lower-page-fv-right-border::after {
  content: "";
  width: 32.8571428571vw;
  height: 0.0714285714vw;
  position: absolute;
  left: 4.2857142857vw;
  bottom: 2.1428571429vw;
  z-index: 2;
  background-color: #B89861;
  display: block;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right-border::after {
    left: -2.5rem;
    bottom: -7rem;
    width: 30rem;
    height: 0.1rem;
  }
}

.c-lower-page-fv-right-text {
  position: absolute;
  bottom: 2.8571428571vw;
  left: 5.7142857143vw;
  color: #fff;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right-text {
    bottom: -6.5rem;
    left: -2.5rem;
  }
}

.c-lower-page-fv-right-text-en {
  display: block;
  font-size: 4.2857142857vw;
  font-weight: 400;
  color: #B89861;
  font-family: cinzel, serif;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right-text-en {
    font-size: 4.2rem;
    letter-spacing: 0rem;
    white-space: nowrap;
    -webkit-font-smoothing: antialiased;
  }
}

.c-lower-page-fv-right-text-ja {
  display: block;
  font-size: 1.4285714286vw;
  font-weight: 400;
  margin-top: -1rem;
  color: #B89861;
  font-family: cinzel, serif;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 767px) {
  .c-lower-page-fv-right-text-ja {
    font-size: 1.8rem;
    -webkit-font-smoothing: antialiased;
  }
}/*# sourceMappingURL=style.css.map */