@charset "UTF-8";
/*
Theme Name: new-theme
Description: テーマの説明文です。
Author:	制作者名
Author URI: 制作者URL
Version: 1.0
*/

/*==========================================================================
　共通設定
============================================================================ */
html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  color: var(--color-text-primary);
  font-size: 1rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: .06em;
}

:root {
  --color-text-primary: #373737;
  --color-text-secondary: #fff;

  --color-bg-primary: #F2EEE8;
  --color-bg-secondary: #F7F7F5;

  --color-accent-primary: #BFA58A;
  --color-accent-secondary: ;

  --color-muted: #CEC8C1;
  --color-dark: #7A7570;
}

.sp-only {
  display: none;
}

/* セクションタイトル(TOP) */
.sec-title {
  font-size: 2rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

.sec-title-en {
  font-size: 1.2rem;
  font-family: "Cormorant", serif;
  font-weight: 400;
}

/* 共通ボタン */
.main-btn {
  max-width: 320px;
  width: 100%;
}

.main-btn a {
  position: relative;
  display: block;
  width: 100%;
  padding: 14px 40px 14px 12px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 2px;
  text-align: center;
  letter-spacing: 0.08em;
  overflow: hidden;
  color: var(--color-text-primary);
  transition: color 0.4s ease;
}

/* 背景スライド用 */
.main-btn a .bg {
  position: absolute;
  top: 0;
  left: -100%;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-dark);
  transition: left 0.4s ease;
  z-index: 0;
}

/* テキスト前面 */
.main-btn a .txt {
  position: relative;
  z-index: 1;
}

/* 矢印 */
.main-btn a::after {
  content: "";
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  border-right: 1px solid rgba(0, 0, 0, 0.4);
  transition: all 0.4s ease;
  z-index: 1;
}

/* hover */
.main-btn a:hover .bg {
  left: 0;
}

.main-btn a:hover {
  color: #fff;
}

.main-btn a:hover::after {
  border-color: #fff;
  transform: translate(6px, -50%) rotate(45deg);
}

/* 色違い */
.main-btn.is-muted {
  background-color: var(--color-muted);
}

.main-btn.is-muted a {
  border: none;
  color: var(--color-dark);
}

.main-btn.is-muted .bg {
  background-color: var(--color-dark);
}

/* hover */
.main-btn.is-muted a:hover {
  color: #fff;
}

/* パンくず */
.breadcrumbs {
  margin-bottom: 3rem;
  font-size: .9rem;
  color: var(--color-dark);
}

.breadcrumbs .home {
  color: var(--color-muted);
  text-decoration: 1px solid underline currentColor;
  transition: color 0.4s ease;
}

.breadcrumbs .home:hover {
  color: var(--color-accent-primary);
}

.breadcrumb-sep {
  margin: 0 12px 2px;
  color: var(--color-muted);
}

/* パララックス(共通設定) */
.parallax-bg {
  position: absolute;
  inset: -30%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  will-change: transform;
}

/* リニューアル */
.renewal-wrapper {
  padding: 100px 0 200px;
  color: var(--color-dark);
}

.renewal-title {
  margin-bottom: 40px;
  text-align: center;
  font-size: 2rem;
}

.renewal-txt {
  margin-bottom: 40px;
  text-align: center;
  font-size: 1.1rem;
}

.renewal-wrapper .main-btn {
  margin: 0 auto;
}

@media (max-width: 768px) {
  body {
    font-size: .87rem;
  }

  .sp-only {
    display: block;
  }

  .pc-only {
    display: none;
  }

  .sec-title {
    font-size: 1.2rem;
  }

  .sec-title-en {
    font-size: 1rem;
  }

  /* パンくず */
  .breadcrumbs {
    font-size: .75rem;
  }

  /* リニューアル */
  .renewal-wrapper {
    padding: 80px 0 100px;
  }

  .renewal-title {
    margin-bottom: 20px;
    font-size: 1.2rem;
  }

  .renewal-txt {
    margin-bottom: 20px;
    font-size: .9rem;
  }

}

/*==========================================================================
　ヘッダー（共通）
============================================================================ */
.header-wrapper {
  position: fixed;
  width: 100%;
  padding: 0 0 0 3%;
  background-color: var(--color-text-secondary);
  z-index: 100;
}

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  min-height: 68px;
  margin: 0 auto;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  gap: 60px;
}

/* ロゴ */
.header-logo {
  display: flex;
  align-items: center;
  transition: opacity 0.6s ease;
}

.header-logo img {
  width: 190px;
  height: auto;
}

.header-logo:hover {
  opacity: .8;
}

.header-inner .header-nav {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 0.9rem;
}

.header-nav li {
  position: relative;
}

.header-nav li a {
  transition: color 0.6s ease;
}

.header-nav li a:hover {
  color: var(--color-accent-primary);
}

.header-inner .header-nav>li>a {
  padding: 10px;
}

/* メニューの下矢印 */
.header-inner .header-nav .has-arrow {
  position: relative;
}

.header-inner .header-nav .has-arrow::after {
  content: "";
  position: absolute;
  right: -7px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-right: 1px solid var(--color-muted);
  border-bottom: 1px solid var(--color-muted);
}

/* サブメニュー */

.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 250px;
  margin-top: 12px;
  padding: 0;
  background: var(--color-text-secondary);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  z-index: 10;
}

/* リスト */
.sub-menu li {
  position: relative;
}

.sub-menu li::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--color-muted);
  border-right: 1px solid var(--color-muted);
  transition: transform 0.2s ease 0.15s;
}

.sub-menu li:hover::after {
  transform: translate(6px, -50%) rotate(45deg);

}

.sub-menu li a {
  display: block;
  padding: 18px 16px;
  white-space: nowrap;
  transition: background-color 0.4s ease;
}

.sub-menu li a:hover {
  background-color: #f6f6f6;
}

.header-inner .header-nav .has-arrow>div {
  padding: 10px;
}

.header-nav li.has-arrow:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* ヘッダーメニュー */
.header-inner .header-menu {
  position: relative;
  display: flex;
  align-self: stretch;
}

/* メニューボタン */
.header-inner .header-menu a {
  display: flex;
  align-items: center;
  padding: 0 50px 0 70px;
  background-color: var(--color-dark);
  color: var(--color-text-secondary);
  font-family: "Cormorant", serif;
  font-size: 1rem;
  letter-spacing: .1em;
  transition: background 0.5s ease 0.15s;
  overflow: hidden;
  position: relative;
}

.header-inner .header-menu a:hover {
  background-color: #7A7570;
}

.header-inner .header-menu::before,
.header-inner .header-menu::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  transition: opacity 0.3s ease;
}

/* ハンバーガーアイコン */
.header-inner .header-menu::before {
  background: url(images/hamburger-menu-icon.svg) no-repeat center / contain;
  opacity: 1;
}

.header-inner .header-menu::after {
  background: url(images/hamburger-close-icon.svg) no-repeat center / contain;
  opacity: 0;
}

body.is-menu-open .header-inner .header-menu::before {
  opacity: 0;
}

body.is-menu-open .header-inner .header-menu::after {
  opacity: 1;
}

/* ボタンホバー用背景 */
.header-inner .header-menu .bg {
  position: absolute;
  inset: 0;
  background: #4a4643;
  transform: scaleX(0);
  transform-origin: left center;
  z-index: 0;
  transition: transform 0.4s cubic-bezier(0.7, 0, 0.3, 1);
}

.header-menu a:hover .bg {
  transform: scaleX(1);
}

/* ホバーした時かくれないように */
.header-inner .header-menu .menu-txt {
  position: relative;
  z-index: 2;
}


.header-menu a span:last-child {
  position: relative;
  z-index: 1;
}

.header-inner .header-menu::before,
.header-inner .header-menu::after {
  z-index: 2;
}


/* レスポンシブ */
@media (max-width: 1024px) {
  .header-inner .header-nav {
    display: none;
  }
}

@media (max-width: 768px) {
  .header-wrapper {
    padding: 0 0 0 20px;
  }

  .header-inner .header-menu a {
    padding: 0 40px 0 60px;
    font-size: .9rem;
  }

  .header-container {
    min-height: 45px;
  }

  .header-logo img {
    width: 120px;
  }
}

/*==========================================================================
　ハンバーガーメニュー（共通）
============================================================================ */
#hamburger-menu {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 20;
  transform: translateX(-100%);
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

#hamburger-menu.is-open {
  transform: translateX(0);
}

.hamburger-container {
  background-color: var(--color-text-secondary);
  height: 60vh;
}

.hamburger-image {
  height: 40vh;
  background: url("images/hamburger-menu-bottom.webp") no-repeat center 57%/cover;
}

/* ハンバーガーメニュー　上部 */
.hamburger-inner {
  display: flex;
  justify-content: space-between;
  gap: 80px;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 120px 3% 3%;
}

/* ハンバーガーメニュー　左側 */
.hamburger-left-wrapper {
  flex: 0 0 330px;
}

.hamburger-btn {
  margin-bottom: 2.5rem;
}

.hamburger-btn li {
  position: relative;
  margin-bottom: .5rem;
}

.hamburger-btn li a {
  display: block;
  padding: 20px 20px 20px 40px;
  border-radius: 4px;
  background-color: var(--color-accent-primary);
  color: var(--color-text-secondary);
  font-size: .9rem;
  transition: all 0.9s ease;
}

.hamburger-btn li a:hover {
  background-color: #9e8771;
}

.hamburger-btn li a::after {
  content: "";
  position: absolute;
  right: 35px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transition: transform 0.4s ease 0.15s;
}

.hamburger-btn li a:hover::after {
  transform: translate(6px, -50%) rotate(45deg);
}

/* アイコン */
.hamburger-btn li a::before {
  filter: brightness(0) invert(1);
  margin-right: 10px;
  vertical-align: middle;
}

.hamburger-btn li:nth-child(1) a::before {
  content: url("images/event-icon.svg");
}

.hamburger-btn li:nth-child(2) a::before {
  content: url("images/catalog-icon.svg");
  margin-top: 10px;
}

.hamburger-btn li:nth-child(3) a::before {
  content: url("images/contact-icon.svg");
}

.hamburger-tell {
  margin-bottom: 1.8rem;
}

.hamburger-tell a {
  position: relative;
  display: inline-block;
  margin-bottom: .6rem;
  padding-left: 3.3rem;
  font-size: 2.5rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  transition: opacity 0.5s ease;
}

.hamburger-tell a:hover {
  opacity: .6;
}


.hamburger-tell a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 52%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: url('images/phone-icon-b.svg') no-repeat center/contain;

}

.hamburger-tell p {
  font-size: .9rem;
}

.hamburger-sns a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background-color: var(--color-accent-primary);
  border-radius: 50%;
  transition: background 0.6s ease, color 0.3s ease;
}

.hamburger-sns a:hover {
  background-color: #a0886f;
}

.hamburger-sns img {
  display: block;
  width: 30px;
  height: 30px;
}

/* ハンバーガーメニュー　右側 */
.hamburger-right-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1200px;
  gap: 40px;
}

.hamburger-right-wrapper ul {
  min-width: 150px;
}

.hamburger-right-wrapper li {
  margin-bottom: 2.2rem;
}

.hamburger-right-wrapper li a {
  transition: color 0.3s ease;
}

.hamburger-right-wrapper li a:hover {
  color: var(--color-accent-primary);
}

#hamburger-menu .is-sub {
  font-size: .85rem;
  color: var(--color-dark);
}

/* ハンバーガーメニューが開いている時にheader-navを非表示 */
.header-nav {
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

body.is-menu-open .header-nav {
  opacity: 0;
  visibility: hidden;
}

@media (max-width: 1024px) {
  .hamburger-container {
    height: auto;
    min-height: 60vh;
  }

  .hamburger-inner {
    padding: 120px 2% 3%;
    gap: 20px;
  }

  /* ハンバーガーメニュー　左側 */
  .hamburger-left-wrapper {
    flex: 0 0 270px;
  }

  /* ハンバーガーメニュー　右側 */
  .hamburger-right-wrapper {
    gap: 10px;
  }

  .hamburger-right-wrapper ul {
    min-width: 0px;
  }

  .hamburger-right-wrapper li {
    margin-bottom: 1.5rem;
    font-size: .85rem;
  }

  #hamburger-menu .is-sub {
    font-size: .8rem;
  }

  /* ボタン */
  .hamburger-btn {
    margin-bottom: 1.5rem;
  }

  .hamburger-btn li a {
    padding: 16px 16px 16px 36px;
  }

  /* 電話番号 */
  .hamburger-tell {
    margin-bottom: 1.5rem;
  }

  .hamburger-tell a {
    font-size: 2rem;
  }

  .hamburger-tell p {
    font-size: .75rem;
  }
}

@media (max-width: 768px) {
  #hamburger-menu {
    overflow-y: auto;
  }

  .hamburger-container {
    height: auto;
  }

  .hamburger-inner {
    flex-direction: column;
    gap: 30px;
    padding: 100px 5% 40px;
  }

  /* 左側の幅制限を解除 */
  .hamburger-left-wrapper {
    flex: none;
    width: 100%;
  }

  /* ボタン */
  .hamburger-btn li a {
    padding: 16px 20px 16px 40px;
  }

  /* 電話番号 */
  .hamburger-tell a {
    font-size: 2rem;
  }

  /* ハンバーガーメニュー　右側 */
  .hamburger-right-wrapper {
    flex-direction: column;
    gap: 20px;
    width: 100%;
  }

  .hamburger-right-wrapper ul {
    min-width: 0;
    width: 100%;
  }

  .hamburger-right-wrapper li {
    margin-bottom: 1rem;
  }

  /* 下部の画像縮小 */
  .hamburger-image {
    height: 200px;
  }

  /* ヘッダー固定 */
  *:not(#hamburger-menu) {
    animation: none !important;
    transition: none !important;
  }

  /* ハンバーガー内ヘッダーのtransitionだけ復活 */
  #hamburger-menu .header-wrapper {
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
}

/*==========================================================================
　サイドメニュー（共通）
============================================================================ */
aside {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  z-index: 99;
}

.side-menu li {
  position: relative;
}

.side-menu li a {
  display: block;
  padding: 24px 16px;
  writing-mode: vertical-rl;
  background-color: var(--color-text-secondary);
  border-bottom: 1px solid var(--color-muted);
  position: relative;
  transition: background 0.5s ease, color 0.5s ease;
}

.side-menu li:last-child a {
  border-bottom: none;
}

/* アイコン */
.side-menu li:nth-child(1) a::before {
  content: url("images/event-icon.svg");
  margin-bottom: 8px;
}

.side-menu li:nth-child(2) a::before {
  content: url("images/catalog-icon.svg");
  margin-bottom: 8px;
}

.side-menu li:nth-child(3) a::before {
  content: url("images/contact-icon.svg");
  margin-bottom: 8px;
}

.side-menu li a:hover {
  background: #f5f3f2;
  color: var(--color-dark);
}

/* SNSアイコン */
.side-sns a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background-color: var(--color-accent-primary);
  border-radius: 50px;
  position: relative;
  transition: background 0.6s ease, color 0.3s ease;
}

.side-sns li a:hover {
  background-color: #a0886f;
}

.side-sns img {
  display: block;
  width: 28px;
  height: 28px;
}

/* レスポンシブ */
@media (max-width: 768px) {
  aside {
    position: fixed;
    bottom: 0;
    top: auto;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
  }

  /* メニュー横並び */
  .side-menu {
    display: flex;
    width: 100%;
  }

  .side-menu li {
    width: 33.33%;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
  }

  .side-menu li:last-child {
    border-right: none;
  }

  /* ボタン中身 */
  .side-menu li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    writing-mode: horizontal-tb;
    height: 60px;
    padding: 12px 0;
    font-size: .7rem;
  }

  /* アイコン調整 */
  .side-menu li:nth-child(1) a::before {
    margin-bottom: 4px;
  }

  .side-menu li:nth-child(2) a::before {
    margin-bottom: 4px;
  }

  .side-menu li:nth-child(3) a::before {
    margin-bottom: 4px;
  }


  .side-sns {
    display: none;
  }
}

/*==========================================================================
　お問い合わせカード（共通）
============================================================================ */
#contact-sec {
  background: url(images/after-support.webp) no-repeat center 20%/cover;
  display: flex;
  align-items: center;
  padding: 40px 0;
}

.contact-sec-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 140px;
  max-width: 1300px;
  margin: 0 auto;
}

.contact-sec-left-inner {
  color: var(--color-text-secondary);
}

/* タイトル */
.contact-sec-left-inner .sec-title {
  margin-bottom: 2rem;
  font-size: 3rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 100;
}

.contact-sec-left-inner .sec-title .sec-title-en {
  font-size: 1rem;
  font-family: "Cormorant", serif;
  font-weight: 400;
}

.contact-sec-left-inner p {
  line-height: 1.8;
}

/* お問い合わせカード */
.contact-sec-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 50px;
  margin-bottom: 1rem;
  padding: 28px 50px;
  border-radius: 2px;
  background-color: var(--color-text-secondary);
}

/* WEBからのお問い合わせボタン */
.contact-sec-btn {
  position: relative;
}

.contact-sec-btn div a {
  position: relative;
  display: block;
  margin-bottom: .8rem;
  padding: 20px 80px 20px 40px;
  border-radius: 4px;
  background-color: var(--color-accent-primary);
  color: var(--color-text-secondary);
  font-size: 1rem;
  text-align-last: left;
  transition: all 0.9s ease;
}

.contact-sec-btn div a:hover {
  background-color: #9e8771;
}

.contact-sec-btn div a::after {
  content: "";
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transition: transform 0.4s ease 0.15s;
}

.contact-sec-btn div a:hover::after {
  transform: translate(6px, -50%) rotate(45deg);
}

.contact-sec-btn div:last-child a {
  margin-bottom: 0;
}

/* WEBからのお問い合わせボタン　アイコン */
.contact-sec-btn div a::before {
  filter: brightness(0) invert(1);
  margin-right: 10px;
  vertical-align: middle;
}

.contact-sec-btn div:nth-child(1) a::before {
  content: url("images/catalog-icon.svg");
}

.contact-sec-btn div:nth-child(2) a::before {
  content: url("images/contact-icon.svg");
  margin-top: 10px;
}

/* 電話からボタン */
.contact-sec-tell a {
  position: relative;
  display: inline-block;
  margin-bottom: .6rem;
  padding-left: 3.3rem;
  font-size: 2.2rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  transition: opacity 0.6s ease;
}

.contact-sec-tell a:hover {
  opacity: .65;
}

.contact-sec-tell a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 52%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: url('images/phone-icon-b.svg') no-repeat center/contain;
}

.contact-sec-tell p {
  font-size: .85rem;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #contact-sec {
    padding: 40px 80px;
  }

  .contact-sec-wrapper {
    gap: 20px;
  }

  .contact-sec-left-inner .sec-title {
    margin-bottom: 1rem;
    font-size: 2rem;
  }

  /* お問い合わせカード */
  .contact-sec-card {
    gap: 10px;
    padding: 24px 20px;
  }

  /* ボタン */
  .contact-sec-btn div a {
    margin-bottom: .5rem;
    padding: 16px 55px 16px 50px;
  }
}

@media (max-width: 768px) {
  #contact-sec {
    padding: 40px 15px;
  }

  .contact-sec-wrapper {
    flex-direction: column;
    gap: 20px;
  }

  /* お問い合わせカード */
  .contact-sec-card {
    flex-direction: column;
    gap: 20px;
    padding: 24px 30px;
  }

  .contact-sec-btn div a {
    padding: 16px 70px 16px 50px;
    font-size: .8rem;
  }

  /* 電話 */
  .contact-sec-tell a {
    font-size: 2rem;
  }

  .contact-sec-tell p {
    font-size: .8rem;
  }

}

/*==========================================================================
　フッター（共通）
============================================================================ */
.footer-wrapper {
  padding: 60px 100px;
  background-color: var(--color-dark);
  color: var(--color-text-secondary);
}

.footer-logo {
  max-width: 1440px;
  margin: 0 auto;
  transition: opacity 0.6s ease;
}

.footer-logo:hover {
  opacity: .6;
}

.footer-logo img {
  width: 280px;
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 80px;
  max-width: 1440px;
  margin: 0 auto;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--color-text-secondary);
}

/* フッター上部 左*/
.footer-left-container {
  flex: 0 0 330px;
  max-width: 330px;
}

.footer-logo {
  margin-bottom: 1.8rem;
}

/* ボタン */
.footer-btn a {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 1.8rem;
  padding: 14px;
  background-color: var(--color-text-secondary);
  border-radius: 4px;
  font-size: 1.1rem;
  text-align: center;
  letter-spacing: .08em;
  color: var(--color-dark);
  font-weight: 600;
}

.footer-btn a::after {
  content: "";
  position: absolute;
  right: 26px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--color-dark);
  border-right: 1px solid var(--color-dark);
  transition: transform 0.4s ease 0.15s;
}

.footer-btn a:hover::after {
  transform: translate(6px, -50%) rotate(45deg);
}

.footer-address {
  margin-bottom: 1.8rem;
}

.footer-address p {
  margin-bottom: 0.5rem;
}

.footer-tell {
  margin-bottom: 1.8rem;
}

.footer-tell a {
  position: relative;
  display: inline-block;
  margin-bottom: .6rem;
  padding-left: 3.3rem;
  font-size: 2.8rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  transition: opacity 0.5s ease;
}

.footer-tell a:hover {
  opacity: .6;
}

.footer-tell a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 52%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: url('images/phone-icon.svg') no-repeat center/contain;

}

.footer-sns img {
  width: 40px;
  height: 40px;
  transition: opacity 0.6s ease;
}

.footer-sns img:hover {
  opacity: .4;
}

.footer-tell p {
  font-size: .9rem;
}

/* フッター上部 右*/
.footer-right-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1200px;
  gap: 50px;
}

.footer-right-container ul {
  min-width: 150px;
}

.footer-right-container li {
  margin-bottom: 2.2rem;

}

.footer-right-container li a {
  transition: opacity 0.4s ease;
}

.footer-right-container li a:hover {
  opacity: .5;
}

.footer-right-container .is-sub {
  font-size: .9rem;
}

/* フッター下部 */
.footer-bottom-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding-top: 2.5rem;
}

.footer-bottom-container .legal-nav {
  display: flex;
  gap: 40px;
}

.footer-bottom-container .legal-nav a {
  transition: opacity 0.4s ease;
}

.footer-bottom-container .legal-nav a:hover {
  opacity: .5;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  .footer-left-container {
    flex: 0 0 350px;
  }

  .footer-right-container ul {
    min-width: 100px;
  }

  .footer-inner {
    gap: 40px;
  }
}

@media (max-width: 768px) {

  .footer-wrapper {
    padding: 40px 20px 80px;
  }

  .footer-right-container {
    flex-direction: column;
    gap: 20px;
  }

  .footer-logo img {
    width: 240px;
  }

  /* ボタン */
  .footer-btn a {
    margin-bottom: 1.5rem;
    font-size: .9rem;
  }

  /* 会社住所 */
  .footer-address {
    margin-bottom: 1.2rem;
  }

  /* 会社電話番号 */
  .footer-tell a {
    font-size: 2.5rem;
  }

  .footer-right-container li {
    margin-bottom: .9rem;
  }

  .footer-right-container .is-sub {
    font-size: .8rem;
  }

  .footer-inner {
    padding-bottom: 1.5rem;
  }

  .footer-bottom-container {
    padding-top: 1.5rem;
  }

  .footer-bottom-container p {
    order: 2;
  }

  .footer-bottom-container .legal-nav {
    margin-bottom: 2rem;
    order: 1;
  }

}


/*==========================================================================
　メインビジュアル（TOP）
============================================================================ */
section {
  position: relative;
}

/* ファーストビジュアル画像 */
.fv-container {
  width: 100%;
  height: 100vh;
  position: relative;
}

.fv-container::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #7a747094;
  mix-blend-mode: multiply;
}

.fv-container .image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  background-size: cover;
  background-position: center center;
  animation: image-switch-animation 25s infinite;
}

.fv-container .src1 {
  background-image: url(images/fv-image01.webp);
}

.fv-container .src2 {
  background-image: url(images/fv-image02.webp);
}

.fv-container .src3 {
  background-image: url(images/fv-image03.webp);
}

.fv-container .src4 {
  background-image: url(images/fv-image04.webp);
}

.fv-container .src5 {
  background-image: url(images/fv-image05.webp);
}

@keyframes image-switch-animation {
  0% {
    opacity: 0;
  }

  5% {
    opacity: 1;
  }

  25% {
    opacity: 1;
  }

  30% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.image:nth-of-type(1) {
  animation-delay: 0s;
}

.image:nth-of-type(2) {
  animation-delay: 5s;
}

.image:nth-of-type(3) {
  animation-delay: 10s;
}

.image:nth-of-type(4) {
  animation-delay: 15s;
}

.image:nth-of-type(5) {
  animation-delay: 20s;
}

/* タイトル */
h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 0;
  color: var(--color-text-secondary);
  z-index: 10;
}

h1 span {
  display: inline-block;
  letter-spacing: 0.4em;
}

.fv-title {
  position: absolute;
  bottom: 6%;
  left: 4%;
  color: var(--color-text-secondary);
  z-index: 10;
}

.fv-title h2 {
  margin-bottom: 10px;
  padding-bottom: 4px;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 1.7;
}

.fv-title p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 1.1rem;
}

@media (max-width: 768px) {
  h1 {
    font-size: 1.1rem;
  }

  .fv-title {
    bottom: 12%;
    left: 2%;
  }

  .fv-title h2 {
    margin-bottom: 6px;
    font-size: 1.7rem;
    line-height: 1.5;
  }

  .fv-title p {
    font-size: .7rem;
    line-height: 1.7;
  }
}

/*==========================================================================
　イベント（TOP）
============================================================================ */
#event {
  background-color: var(--color-text-secondary);
}

#event .event-container {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 140px 20px;
}

/* タイトル */
#event .event-title-wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 100px;
}

/* イベントカード */
#event .event-content {
  display: flex;
  gap: 40px;
  padding: 0;
  margin: 0;
  list-style: none;
}

#event .event-content li {
  width: calc((100% - 80px) / 3);
}

#event .event-content li a {
  display: block;
  width: 100%;
  transition: opacity 0.7s ease;
}

#event .event-content li a:hover {
  opacity: .7;
}

/* イベントサムネ */
#event .event-content .event-content-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-bottom: 14px;
}

#event .event-content .event-content-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* イベントタイトル */
#event .event-content .event-content-title {
  margin-bottom: 10px;
  font-size: 1rem;
}

/* イベント情報 */
#event .event-content .event-content-info {
  display: flex;
  align-items: center;
  gap: 20px;
}

#event .event-content .event-content-info .event-content-area {
  padding: 5px 10px;
  border: 1px solid var(--color-dark);
  border-radius: 2px;
  font-size: .8rem;
  color: var(--color-dark);
}

#event .event-content .event-content-info .event-content-date {
  font-size: .9rem;
  color: var(--color-dark);
}

/* NEW!マーク */
#event .event-content li {
  position: relative;
}

#event .event-content li:before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  content: "new!";
  top: -20px;
  left: -20px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: #cd9860;
  font-family: "Cormorant", serif;
  font-weight: 400;
  color: var(--color-text-secondary);
  font-size: 1.1rem;
  z-index: 999;
}

/* NEW!マークの表示非表示 */
#event .event-content li.is-new:before {
  display: none;
}

/* デフォルトは非表示に変更 */
#event .event-content li:before {
  display: flex;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #event .event-container {
    max-width: 960px;
    padding: 140px 40px;
  }

  /* タイトル */
  #event .event-title-wrapper {
    margin-bottom: 80px;
  }

  /* ボタン */
  #event .event-btn {
    max-width: 280px;
  }

  #event .event-btn a {
    padding: 12px 8px;
  }

  /* イベントカード */
  #event .event-content li {
    width: 100%;
  }

  #event .event-content {
    gap: 30px;
  }

  #event .event-content li a {
    display: block;
    width: 100%;
  }

  /* イベントサムネ */
  #event .event-content .event-content-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-bottom: 14px;
  }

  /* イベントタイトル */
  #event .event-content .event-content-title {
    margin-bottom: 6px;
    font-size: .8rem;
  }

  /* イベント情報 */
  #event .event-content .event-content-info {
    gap: 10px;
  }

  #event .event-content .event-content-info .event-content-area {
    padding: 3px 5px;
    font-size: .65rem;
  }

  #event .event-content .event-content-info .event-content-date {
    font-size: .7rem;
  }

  /* NEW!マーク */
  #event .event-content li:before {
    width: 60px;
    height: 60px;
    font-size: 1.1rem;
  }
}

@media (max-width: 768px) {
  #event .event-container {
    padding: 60px 20px;
  }

  /* タイトル */
  #event .event-title-wrapper {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 80px;
  }

  /* ボタン */
  #event .event-btn {
    max-width: 100%;
  }

  #event .event-btn a {
    padding: 12px 8px;
  }

  /* イベントカード */
  #event .event-content {
    flex-direction: column;
    gap: 40px;
  }

  /* イベントサムネ */
  #event .event-content .event-content-thumb {
    margin-bottom: 6px;
  }

  /* NEW!マーク */
  #event .event-content li:before {
    left: -10px;
  }
}

/*==========================================================================
　コンセプト（TOP）
============================================================================ */
#concept {
  background-color: var(--color-text-secondary);
  padding-bottom: 5px;
}

#concept .concept-wrapper {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
  text-align: center;
  color: var(--color-text-secondary);
}

#concept .concept-bg {
  background: url(images/concept.webp) no-repeat center/cover;
}

#concept .concept-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 1;
}

#concept .concept-wrapper>*:not(.concept-bg) {
  position: relative;
  z-index: 2;
}

/* タイトル */
#concept .sec-title {
  margin-bottom: 48px;
  font-size: 2.4rem;
}

#concept .sec-title-en {
  display: block;
  font-size: 1.8rem;
}

/* テキスト */
#concept .txt {
  margin-bottom: 60px;
}

#concept .txt p {
  margin-bottom: 24px;
  line-height: 2;
  font-size: 1.2rem;
}

/* ボタン */
#concept .concept-btn a::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--color-text-secondary);
  border-right: 1px solid var(--color-text-secondary);
  z-index: 1;
  transition: transform 0.4s ease;
}

#concept .concept-btn a {
  position: relative;
  display: inline-block;
  padding: 10px 40px 10px 20px;
  font-size: 1rem;
  letter-spacing: 0.08em;
}

#concept .concept-btn a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--color-text-secondary);
  transition: width 0.4s ease;
}

#concept .concept-btn a:hover::before {
  width: 100%;
}

#concept .concept-btn a:hover::after {
  transform: translate(6px, -50%) rotate(45deg);
}

/* レスポンシブ */
@media (max-width: 1024px) {

  /* タイトル */
  #concept .sec-title {
    font-size: 1.8rem;
  }

  #concept .sec-title-en {
    font-size: 1.5rem;
  }


  #concept .txt p {
    font-size: 1rem;
  }

}

@media (max-width: 768px) {
  #concept {
    padding-bottom: 3px;
  }

  #concept .concept-wrapper {
    padding: 60px 12px;
  }

  /* タイトル */
  #concept .sec-title {
    margin-bottom: 20px;
    font-size: 1.2rem;
  }

  #concept .sec-title-en {
    font-size: 1.1rem;
  }

  #concept .txt {
    margin-bottom: 20px;
  }

  #concept .txt p {
    margin-bottom: 12px;
    line-height: 1.8;
    font-size: .8rem;
  }

  /* ボタン */
  #concept .concept-btn a {
    font-size: .8rem;
  }
}

/*==========================================================================
　強み　選ばれる理由（TOP）
============================================================================ */
#strengths {
  background-color: var(--color-text-secondary);
}

#strengths .strengths-list {
  display: flex;
  gap: 5px;

}

#strengths .strengths-list li {
  flex: 1;
  position: relative;
}

#strengths .strengths-list li a {
  transition: opacity 0.4s ease;

}

#strengths .strengths-list li a:hover {
  opacity: .8;
}

#strengths .strengths-list li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1/ 2;
}

#strengths .strengths-list li span {
  position: absolute;
  bottom: 10px;
  left: 10px;
  color: #fff;
  font-size: 1rem;
}

/* レスポンシブ */
@media (max-width: 768px) {

  #strengths .strengths-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
  }

  #strengths .strengths-list li img {
    aspect-ratio: 3 / 4;
  }

  #strengths .strengths-list li span {
    font-size: .85rem;
  }
}

/*==========================================================================
　施工事例（TOP）
============================================================================ */
#works {
  padding: 180px 3%;
  overflow: hidden;
  background-color: var(--color-text-secondary);
}

#works .sec-title {
  margin-bottom: 3rem;
}

/* スライダー */
.works-swiper {
  position: relative;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto 20px;
  padding-bottom: 50px;
}


.works-swiper .swiper-slide {
  height: auto;
  opacity: 0.4;
  text-align: center;
  transition: transform 0.7s ease;
}

.works-swiper .swiper-slide:hover {
  transform: translateY(-16px);
}

.works-swiper .swiper-slide img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* 左右の画像 */
.works-swiper .swiper-slide .slide-inner {
  width: 100%;
  height: 100%;
  transition: transform 0.4s;
  transform: scale(0.85);
  transform-origin: center center;
}

/* 真ん中画像 */
.works-swiper .swiper-slide-active {
  opacity: 1;
}

.works-swiper .swiper-slide-active .slide-inner {
  transform: scale(1);
}

/* ラインナップタグ */
.works-swiper .lineup-tag {
  display: inline-block;
  margin: 10px;
  padding: 3px 10px;
  border-radius: 2px;
  background-color: var(--color-accent-primary);
  color: var(--color-text-secondary);
  font-size: .75rem;
}

/* ボタン */
#works .works-swiper .swiper-button-prev,
#works .works-swiper .swiper-button-next {
  width: 100px;
  height: 100px;
}

#works .works-swiper .swiper-button-prev::after,
#works .works-swiper .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 90px;
  margin: auto;
  width: 90px;
}

#works .works-swiper .swiper-navigation-icon {
  display: none;
}

/* 前へボタン */
#works .works-swiper .swiper-button-prev {
  left: 170px !important;
  top: 40%;
}

#works .works-swiper .swiper-button-prev::after {
  background-image: url(images/swiper_pre.png);
}

/* 次へボタン */
#works .works-swiper .swiper-button-next {
  right: 170px !important;
  top: 40%;
}

#works .works-swiper .swiper-button-next::after {
  background-image: url(images/swiper_next.png);
}

/* ページネーション */
.works-swiper .swiper-pagination {
  bottom: -50px !important;
}

/* ページネーションのサイズと色 */
.works-swiper .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  margin: 0 8px !important;
  background-color: var(--color-dark);
  opacity: 0.3;
}

.works-swiper .swiper-pagination-bullet-active {
  opacity: 1;
}

/* 施工事例ボタン */
.works-swiper .works-btn {
  position: absolute;
  top: -100px;
  right: 5%;
  z-index: 10;
}

.works-swiper .works-btn img {
  width: 160px;
  height: auto;
}

.works-swiper .works-btn a {
  display: inline-block;
  transition: transform 0.3s ease;
}

.works-swiper .works-btn a:hover {
  transform: scale(1.05);
}

/* レスポンシブ */
@media (max-width: 1024px) {

  /* 施工事例ボタン */
  .works-swiper .works-btn {
    right: 15%;
  }

  .works-swiper .works-btn img {
    width: 150px;
  }

  /* 前後ボタン */
  #works .works-swiper .swiper-button-prev,
  #works .works-swiper .swiper-button-next {
    width: 80px;
    height: 80px;
  }
}

@media (max-width: 768px) {
  #works {
    padding: 80px 3%;
  }

  .works-swiper {
    padding-bottom: 0px;
  }

  /* 施工事例ボタン */
  .works-swiper .works-btn {
    top: -90px;
    right: 0;
  }

  .works-swiper .works-btn img {
    width: 110px;
  }

  /* 前後ボタン */
  #works .works-swiper .swiper-button-prev,
  #works .works-swiper .swiper-button-next {
    display: none;
  }

}


/*==========================================================================
　ラインナップ（TOP）
============================================================================ */
#lineup .lineup-container {
  display: flex;
  align-items: stretch;
  height: 100vh;
  overflow: hidden;
  background-color: var(--color-bg-primary);
}

/* ====== 左側　テキスト ======= */
#lineup .lineup-text {
  width: 45%;
  padding: 200px 130px;
  background-color: var(--color-bg-primary);
}

#lineup .lineup-text .sec-title {
  margin-bottom: 70px;
  font-size: 1.5rem;
}

#lineup .lineup-text .sec-title-en {
  font-size: 1rem;
}

#lineup .lineup-text .lineup-title {
  position: relative;
  margin-bottom: 50px;
  font-size: 3.2rem;
  color: var(--color-dark);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  z-index: 1;
}

#lineup .lineup-text .lineup-title::before {
  position: absolute;
  content: "Lineup";
  top: -10px;
  left: 0;
  font-family: "Sirivennela", sans-serif;
  font-size: 6rem;
  color: var(--color-text-secondary);
  z-index: -1;

}

#lineup .lineup-text .lineup-catch {
  margin-bottom: 20px;
  font-size: 1.5rem;
  color: var(--color-dark);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

#lineup .lineup-text .lineup-desc {
  margin-bottom: 60px;
  line-height: 2;
}

/* ボタン */
#lineup .main-btn {
  max-width: 100%;
}

#lineup .main-btn a {
  padding: 20px 40px 20px 12px;
}

/* ======== 右側　スライダー ========= */
#lineup .lineup-slider {
  position: relative;
  width: 55%;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* 背景ぼかし */
#lineup .lineup-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: blur(20px);
  transform: scale(1.1);
  transition: background-image 0.6s ease;
  z-index: 0;
}

/* 背景オーバーレイ */
#lineup .lineup-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

#lineup .lineup-swiper {
  position: relative;
  z-index: 1;
  width: 100%;
}

#lineup .lineup-swiper .swiper-slide .slide-inner {
  width: 100%;
  transition: transform 0.4s;
  transform: scale(0.85);
  transform-origin: center center;
}

#lineup .lineup-swiper .swiper-slide-active {
  opacity: 1;
}

#lineup .lineup-swiper .swiper-slide-active .slide-inner {
  transform: scale(1);
}

/* スライダー画像 */
#lineup .lineup-swiper .swiper-slide img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
}

/* ボタン */
#lineup .lineup-swiper .swiper-button-prev,
#lineup .lineup-swiper .swiper-button-next {
  width: 80px;
  height: 80px;
}

#lineup .lineup-swiper .swiper-button-prev::after,
#lineup .lineup-swiper .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 80px;
  margin: auto;
  width: 80px;
}

#lineup .lineup-swiper .swiper-navigation-icon {
  display: none;
}

/* 前へボタン */
#lineup .lineup-swiper .swiper-button-prev {
  left: 70px !important;
}

#lineup .lineup-swiper .swiper-button-prev::after {
  background-image: url(images/swiper_pre.png);
}

/* 次へボタン */
#lineup .lineup-swiper .swiper-button-next {
  right: 70px !important;
}

#lineup .lineup-swiper .swiper-button-next::after {
  background-image: url(images/swiper_next.png);
}

#lineup .lineup-swiper .swiper-button-prev,
#lineup .lineup-swiper .swiper-button-next {
  transition: opacity 0.4s ease !important;
}

#lineup .lineup-swiper .swiper-button-prev:hover,
#lineup .lineup-swiper .swiper-button-next:hover {
  opacity: 0.85 !important;
}

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

/* ページネーション*/
#lineup .lineup-swiper .swiper-pagination {
  position: absolute;
  bottom: -80px;
  left: 30px;
  width: auto;
  text-align: left;
  color: var(--color-text-secondary);
  font-size: .9rem;
}

/* スクロールバー */
#lineup .lineup-swiper .swiper-scrollbar {
  position: absolute;
  bottom: -75px;
  left: 90px;
  width: 200px;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.3);
}

#lineup .lineup-swiper .swiper-scrollbar-drag {
  background-color: var(--color-text-secondary);
}

@media (max-width: 1024px) {
  #lineup .lineup-text {
    padding: 100px 60px;
  }

  /* タイトル */
  #lineup .lineup-text .sec-title {
    margin-bottom: 30px;
  }

  #lineup .lineup-text .lineup-title {
    margin-bottom: 33px;
  }

  /* ボタン */
  #lineup .lineup-swiper .swiper-button-prev::after,
  #lineup .lineup-swiper .swiper-button-next::after {
    width: 60px;
    height: 60px;
  }

  /* 前へボタン */
  #lineup .lineup-swiper .swiper-button-prev {
    left: 50px !important;
  }

  /* 次へボタン */
  #lineup .lineup-swiper .swiper-button-next {
    right: 50px !important;
  }


}

@media (max-width: 768px) {

  /* 縦並びに変更 */
  #lineup .lineup-container {
    flex-direction: column;
  }

  /* テキストエリア */
  #lineup .lineup-text {
    width: 100%;
    height: 390px;
    padding: 34px 20px;
  }

  /* タイトル */
  #lineup .lineup-text .sec-title {
    margin-bottom: 10px;
  }

  #lineup .lineup-text .lineup-title {
    margin-bottom: 10px;
    font-size: 2.2rem;
  }

  #lineup .lineup-text .lineup-title::before {
    font-size: 4rem;
  }

  #lineup .lineup-text .lineup-catch {
    margin-bottom: 8px;
    font-size: 1.2rem;
  }

  #lineup .lineup-text .lineup-desc {
    margin-bottom: 20px;
  }

  /* スライダーエリア */
  #lineup .lineup-slider {
    width: 100%;
  }

  #lineup .lineup-swiper .swiper-slide .slide-inner {
    transform: scale(1);
  }

  #lineup .lineup-swiper .swiper-slide-active .slide-inner {
    transform: scale(1);
  }

  /* スライダー画像 */
  #lineup .lineup-swiper .swiper-slide img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
  }


  /* ナビボタン非表示 */
  #lineup .lineup-swiper .swiper-button-prev,
  #lineup .lineup-swiper .swiper-button-next {
    display: none;
  }

  /* ページネーション・スクロールバー */
  #lineup .lineup-swiper .swiper-pagination {
    bottom: -40px;
    left: 20px;
  }

  #lineup .lineup-swiper .swiper-scrollbar {
    bottom: -35px;
    left: 70px;
    width: 140px;
  }

}

/*==========================================================================
　お客様の声（TOP）
============================================================================ */
#voice {
  background-color: var(--color-text-secondary);
}

#voice .voice-container {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 120px 20px 150px;
}

/* タイトル */
#voice .voice-title-wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px;
  padding: 0 80px;
}

/* お客様の声カード */
#voice .voice-content {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

#voice .voice-content li a {
  display: block;
  padding: 40px 30px;
  background-color: var(--color-bg-secondary);
  box-shadow: 2px 3px 8px #EDE9E5;
  transition: opacity 0.5s ease;
}

#voice .voice-content li a:hover {
  opacity: .65;
}

#voice .voice-title {
  margin-bottom: 8px;
  font-size: 1.1rem;
}

#voice .voice-message {
  margin-bottom: 14px;
  text-decoration: underline;
  text-decoration-color: var(--color-muted);
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
  font-size: .8rem;
  line-height: 2.4;
}

#voice .voice-lead-more {
  display: flex;
  justify-content: flex-end;
  font-size: .8rem;
  color: var(--color-muted);
  transition: color ease 0.6s;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #voice .voice-container {
    max-width: 960px;
  }
}

@media (max-width: 768px) {
  #voice .voice-container {
    padding: 40px 20px;
  }

  /* タイトル */
  #voice .voice-title-wrapper {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px;
    padding: 0;
  }

  /* お客様の声カード */
  #voice .voice-content {
    flex-direction: column;
    gap: 10px;
  }

  #voice .voice-content li {
    padding: 0;
  }

  #voice .voice-content li a {
    padding: 20px 20px;
  }

  #voice .voice-title {
    margin-bottom: 5px;
    font-size: 1rem;
  }

  #voice .voice-message {
    margin-bottom: 5px;
    font-size: .75rem;
  }

  #voice .voice-lead-more a {
    font-size: .65rem;
  }

}

/*==========================================================================
　パララックス（TOP）
============================================================================ */
.parallax {
  height: 400px;
}

.parallax::before {
  position: fixed;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100vh;
  z-index: -1;
  background: url(images/parallax.webp) no-repeat center/cover;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  .parallax {
    height: 350px;
  }
}

@media (max-width: 768px) {
  .parallax {
    height: 180px;
  }

}

/*==========================================================================
　お知らせ（TOP）
============================================================================ */
#news {
  background-color: var(--color-bg-secondary);
}

#news .news-wrapper {
  display: flex;
  justify-content: center;
  gap: 100px;
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  padding: 80px 0;
}

#news .news-wrapper>div {
  flex: 1;
  min-width: 0;
}

/* タイトル */
#news .sec-title {
  flex: 0 0 200px;
}

#news .news-wrapper .news-list .news-list-layout {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}

#news .news-wrapper .news-list a {
  display: block;
  padding: 26px 14px;
  border-bottom: 1px solid var(--color-muted);
  transition: opacity 0.5s ease, transform 0.8s ease;
}

#news .news-wrapper .news-list a:hover {
  opacity: .68;
  transform: translateX(10px);
}

/* お知らせ日付 */
#news .news-wrapper .news-list .news-post-date {
  font-size: .9rem;
  color: var(--color-muted);
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #news .news-wrapper {
    max-width: 860px;
  }
}

@media (max-width: 768px) {
  #news .news-wrapper {
    flex-direction: column;
    gap: 0px;
    padding: 60px 10px;
  }

  #news .news-wrapper>div {
    flex: 1;
    min-width: 0;
  }

  /* タイトル */
  #news .sec-title {
    flex: 0 0 40px;
    padding: 0 10px;
  }

  #news .news-wrapper .news-list .news-list-layout {
    gap: 30px;
  }

  #news .news-wrapper .news-list a {
    padding: 14px 17px;
  }

  #news .news-wrapper .news-title {
    font-size: .8rem;
  }

  /* お知らせ日付 */
  #news .news-wrapper .news-list .news-post-date {
    font-size: .8rem;
  }

}

/*==========================================================================
　コラム・ブログ（TOP）
============================================================================ */
#article {
  background-color: var(--color-text-secondary);
}

#article .article-container {
  display: flex;
  justify-content: center;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 80px 0;
}

/* コラム・ブログ */
#article .column,
#article .blog {
  flex: 1;
  padding: 40px 50px;
}

/* コラム　右ボーダー */
#article .column {
  border-right: 1px solid var(--color-muted)
}

/* タイトル周り */
#article .title-layout {
  display: flex;
  justify-content: space-between;
  gap: 100px;
  margin-bottom: 40px;
}

/* タイトル固定 */
#article .title-layout .sec-title {
  flex: 0 0 auto;
}

/* ボタン */
#article .main-btn {
  max-width: 180px;
}

#article .main-btn.is-muted {
  color: var(--color-text-secondary);
}

#article .main-btn.is-muted a {
  padding: 13px 24px 13px 8px;
  color: var(--color-text-secondary);
}

#article .main-btn.is-muted a::after {
  border-top: 1px solid var(--color-text-secondary);
  border-right: 1px solid var(--color-text-secondary);
}

/* 記事内容 */
#article .article-content li {
  margin-bottom: 30px;
}

#article .article-content a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  transition: opacity 0.5s ease, transform 0.8s ease;
}

#article .article-content a:hover {
  opacity: .7;
  transform: translateX(-10px);
}

/* 画像 */
#article .article-content .article-thumb {
  width: 140px;
  aspect-ratio: 4 / 3;
  flex-shrink: 0;
}

#article .article-content .article-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}

/* 日付 */
#article .article-content .article-post-date {
  font-size: .9rem;
  color: var(--color-muted);
}

/* タイトル */
#article .article-content .article-title {
  line-height: 1.5;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #article .article-container {
    max-width: 980px;
  }

  #article .column,
  #article .blog {
    padding: 40px 40px;
  }
}

@media (max-width: 768px) {
  #article .article-container {
    flex-direction: column;
    padding: 40px 0;
  }

  /* コラムの右ボーダーを下ボーダーに変更 */
  #article .column {
    border-right: none;
    border-bottom: 1px solid var(--color-muted);
  }

  #article .column,
  #article .blog {
    padding: 30px 20px;
  }

  /* タイトル周り */
  #article .title-layout {
    gap: 20px;
    margin-bottom: 24px;
  }

  /* 記事内容 */
  #article .article-content li {
    margin-bottom: 20px;
  }

  /* 画像 */
  #article .article-content .article-thumb {
    width: 100px;
  }

  /* タイトル */
  #article .article-content .article-title {
    font-size: .8rem;
  }
}

/*==========================================================================
　プライバシーポリシー
============================================================================ */
#privacy-policy-page {
  padding: 100px 0;
}

#privacy-policy-page .breadcrumbs {
  margin-left: 3%;
}

#privacy-policy-page .privacy-wrapper {
  margin: 0 auto;
  max-width: 1000px;
  font-size: .95rem;
}

/* タイトル */
#privacy-policy-page .privacy-wrapper .sec-title {
  margin-bottom: 60px;
}

/* リード */
#privacy-policy-page .privacy-wrapper .privacy-lead {
  margin-bottom: 60px;
}

#privacy-policy-page .privacy-wrapper .privacy-sec h3 {
  margin-bottom: 20px;
  padding-bottom: 5px;
  font-size: 1.4rem;
  border-bottom: 1px solid var(--color-muted);
}

#privacy-policy-page .privacy-wrapper .privacy-sec p {
  margin-bottom: 16px;
  line-height: 1.8;
}

#privacy-policy-page .privacy-wrapper .privacy-sec {
  margin-bottom: 60px;
}

#privacy-policy-page .privacy-wrapper .privacy-sec ul li {
  margin-bottom: 10px;
}

#privacy-policy-page .privacy-wrapper .privacy-company {
  font-size: 1rem;
}

/*==========================================================================
　サイトマップ
============================================================================ */
#site-map-page {
  padding: 100px 0;
}

#site-map-page .breadcrumbs {
  margin-left: 3%;
}

#site-map-page .site-map-wrapper {
  margin: 0 auto;
  max-width: 1000px;
  font-size: .95rem;
}

/* タイトル */
#site-map-page .site-map-wrapper .sec-title {
  margin-bottom: 60px;
}

/* リスト */
#site-map-page .site-map-wrapper .site-map-list li {
  margin-bottom: 40px;
  padding-bottom: 40px;
  padding-left: 20px;
  border-bottom: 1px solid var(--color-muted);
}

#site-map-page .site-map-wrapper .site-map-list li a {
  display: block;
  transition: color 0.3s ease;
}

/* サブリスト */
#site-map-page .site-map-wrapper .site-map-list-sub {
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
  margin-top: 10px;
}

#site-map-page .site-map-wrapper .site-map-list-sub li {
  position: relative;
  margin-bottom: 0px;
  padding-bottom: 0px;
  border: none;
}

#site-map-page .site-map-wrapper .site-map-list-sub li::after {
  position: absolute;
  top: 0px;
  right: -50px;
  content: "／";
  color: var(--color-muted);
}

#site-map-page .site-map-wrapper .site-map-list-sub li:last-child::after {
  display: none;
}

#site-map-page .site-map-wrapper .site-map-list li:has(.site-map-list-sub)>a {
  margin-bottom: 10px;
  display: inline-block;
}

/* ホバー */
#site-map-page .site-map-wrapper .site-map-list li a:hover {
  color: var(--color-accent-primary);
}

/*==========================================================================
　お問い合わせページ（single）
============================================================================ */
#contact-page {
  padding: 100px 10% 140px;
}

#contact-page .form-layout {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 5rem;
}

/* セクションタイトル(下層ページ) */
#contact-page .page-sec-title {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 100;
}

#contact-page .page-sec-title .page-sec-title-en {
  display: block;
  margin-bottom: 8px;
  font-size: 1.2rem;
  font-family: "Cormorant", serif;
  font-weight: 400;
}

/* 上部フォームの種類ボタン */
#contact-page .form-kind ul {
  display: flex;
  align-items: center;
  gap: 10px;
}

#contact-page .form-kind ul li a,
#contact-page .form-kind ul li.is-current {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 2px;
  font-size: 0.9rem;
  text-align: center;
}

/* アクティブ */
#contact-page .form-kind ul li.is-current {
  background-color: var(--color-accent-primary);
  color: var(--color-text-secondary);
}

/* 非アクティブ */
#contact-page .form-kind ul li a {
  border: 1px solid var(--color-accent-primary);
  color: var(--color-accent-primary);
}

#contact-page .contact-lead {
  margin-bottom: 4rem;
  text-align: center;
  line-height: 2;
  font-size: 1.1rem;
}

/* コンタクトフォーム7 */
.contact-form h3 {
  margin-bottom: 40px;
  font-size: 1.5rem;
  font-family: "Shippori Mincho", serif;
  text-align: center;
}

.contact-form {
  background: var(--color-bg-secondary);
  padding: 40px;
  max-width: 860px;
  margin: 0 auto;
  border-radius: 4px;
}

/* 行レイアウト */
.form-row {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 8px 50px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid #ddd6ce;
}

.form-label {
  padding-top: 10px;
  font-size: 1rem;
  color: var(--color-text-primary);
}

/* 必須バッチ */
.required {
  display: inline-block;
  background: var(--color-accent-primary);
  color: var(--color-text-secondary);
  font-size: .65rem;
  padding: 2px 6px;
  border-radius: 2px;
  margin-left: 6px;
  vertical-align: middle;
}

/*  入力欄（共通） */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  background: var(--color-text-secondary);
  border: none;
  outline: none;
  padding: 10px 14px;
  width: 100%;
  box-sizing: border-box;
  border-radius: 2px;
  font-size: 1rem;
  color: var(--color-text-primary);
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(140, 125, 110, 0.4);
}

/* プレースホルダー */
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: #bbb;
  font-size: .9rem;
}

/* 姓名・ふりがなの横並び */
.input-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.form-note {
  font-size: 12px;
  color: #888;
  margin-top: 6px;
}

/* テキストエリア */
.wpcf7-form textarea {
  height: 180px;
  resize: vertical;
}

/* チェックボックス */
.wpcf7-checkbox .wpcf7-list-item {
  margin: 0 20px 8px 0;
}

.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #8c7d6e;
  cursor: pointer;
}

.wpcf7-checkbox .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 14px;
  color: var(--color-text-primary);
}

/* プライバシーポリシー */
.privacy {
  text-align: center;
  margin: 40px 0 30px;
  font-size: 14px;
}

.privacy label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}


.privacy input[type="checkbox"] {
  position: relative;
  top: -1px;
  margin: 0;
  vertical-align: middle;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  accent-color: var(--color-dark);
}

/* 送信ボタン */
.cf7-submit input[type="submit"] {
  display: block;
  width: 100%;
  padding: 18px;
  background: #7a6c5e;
  color: #fff;
  border: none;
  font-size: 16px;
  letter-spacing: 0.1em;
  cursor: pointer;
  border-radius: 2px;
  transition: background 0.5s ease;
}

.cf7-submit input[type="submit"]:hover {
  background: var(--color-accent-primary);
}

/* reCAPTCHA注記 */
.recaptcha-note {
  text-align: center;
  font-size: 12px;
  color: #999;
}

.recaptcha-note a {
  color: var(--color-dark);
  text-decoration: underline;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #contact-page {
    padding: 80px 6% 100px;
  }

  .form-row {
    grid-template-columns: 200px 1fr;
    gap: 8px 30px;
  }

  .contact-form {
    padding: 32px;
  }
}

@media (max-width: 768px) {
  #contact-page {
    padding: 60px 5% 80px;
  }

  #contact-page .form-layout {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 40px;
  }

  #contact-page .form-kind ul {
    flex-wrap: wrap;
  }

  #contact-page .form-kind ul li a,
  #contact-page .form-kind ul li.is-current {
    padding: 10px 15px;
    font-size: 0.9rem;
    gap: 6px;
  }

  #contact-page .contact-lead {
    font-size: .85rem;
    margin-bottom: 40px;
    text-align: left;
  }

  /* ステップ画像 */
  .form-step {
    margin-bottom: 2rem;
  }

  .contact-form {
    padding: 24px 20px;
  }

  .contact-form h3 {
    font-size: 1.2rem;
    margin-bottom: 28px;
  }

  /* ラベルと入力欄を縦並び */
  .form-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 16px 0;
  }

  /* フォームラベル */
  .form-label {
    padding-top: 0;
    font-size: .9rem;
  }

  .input-group {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  /* テキストエリア */
  .wpcf7-form textarea {
    height: 140px;
  }

  /* プライバシーポリシー */
  .privacy {
    margin: 28px 0 20px;
    font-size: 12px;
    text-align: left;
  }

  .cf7-submit input[type="submit"] {
    padding: 16px;
    font-size: 15px;
  }

  /* プレースホルダー */
  .wpcf7-form input::placeholder,
  .wpcf7-form textarea::placeholder {
    font-size: .85rem;
  }

  /* reCAPTCHA注記 */
  .recaptcha-note {
    text-align: left;
    font-size: 8px;
  }

}

/*==========================================================================
　資料請求ページ（single）
============================================================================ */
#catalog-page {
  padding: 100px 10% 140px;
}

#catalog-page .form-layout {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 5rem;
}

/* セクションタイトル(下層ページ) */
#catalog-page .page-sec-title {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 100;
}

#catalog-page .page-sec-title .page-sec-title-en {
  display: block;
  margin-bottom: 8px;
  font-size: 1.2rem;
  font-family: "Cormorant", serif;
  font-weight: 400;
}

/* 上部フォームの種類ボタン */
#catalog-page .form-kind ul {
  display: flex;
  align-items: center;
  gap: 10px;
}

#catalog-page .form-kind ul li a,
#catalog-page .form-kind ul li.is-current {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 2px;
  font-size: 0.9rem;
  text-align: center;
}

/* アクティブ */
#catalog-page .form-kind ul li.is-current {
  background-color: var(--color-accent-primary);
  color: var(--color-text-secondary);
}

/* 非アクティブ */
#catalog-page .form-kind ul li a {
  border: 1px solid var(--color-accent-primary);
  color: var(--color-accent-primary);
}

#catalog-page .contact-lead h3 {
  margin-bottom: 20px;
  text-align: center;
  line-height: 1.8;
  font-size: 1.4rem;
  font-weight: bold;
}

#catalog-page .contact-lead p {
  margin-bottom: 80px;
  text-align: center;
  line-height: 2;
  font-size: 1rem;
}

/* カタログ画像 */
#catalog-page .catalog-img {
  max-width: 600px;
  aspect-ratio: 4/3;
  margin: 0 auto 60px;
}

#catalog-page .catalog-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*==========================================================================
　サンクスページ（single）
============================================================================ */
#contact-thanks-page {
  padding: 200px 10% 140px;
}

#contact-thanks-page .form-layout {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 5rem;
}

/* セクションタイトル(下層ページ) */
#contact-thanks-page .page-sec-title {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 100;
}

#contact-thanks-page .page-sec-title .page-sec-title-en {
  display: block;
  margin-bottom: 8px;
  font-size: 1.2rem;
  font-family: "Cormorant", serif;
  font-weight: 400;
}

/* 上部フォームの種類ボタン */
#contact-thanks-page .form-kind ul {
  display: flex;
  align-items: center;
  gap: 10px;
}

#contact-thanks-page .form-kind ul li a,
#contact-thanks-page .form-kind ul li.is-current {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 2px;
  font-size: 0.9rem;
  text-align: center;
}

/* アクティブ */
#contact-thanks-page .form-kind ul li.is-current {
  background-color: var(--color-accent-primary);
  color: var(--color-text-secondary);
}

/* 非アクティブ */
#contact-thanks-page .form-kind ul li a {
  border: 1px solid var(--color-accent-primary);
  color: var(--color-accent-primary);
}

/* thankyou */
#contact-thanks-page .contact-lead {
  margin-bottom: 50px;
  text-align: center;
}

#contact-thanks-page .contact-thanks {
  margin-bottom: 40px;
  font-size: 4rem;
  font-family: "Cormorant", serif;
  color: var(--color-dark);
}

#contact-thanks-page .contact-lead p {
  margin-bottom: 16px;
  line-height: 2.2;
  font-size: 1.2rem;
}

/* ボタン */
#contact-thanks-page .main-btn {
  margin: 0 auto;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #contact-thanks-page {
    padding: 160px 6% 90px;
  }
}

@media (max-width: 768px) {
  #contact-thanks-page {
    padding: 100px 5% 60px;
  }

  #contact-thanks-page .form-layout {
    flex-direction: column;
    align-items: flex-start;
    gap: 0px;
    margin-bottom: 40px;
  }


  #contact-thanks-page .contact-lead {
    font-size: .85rem;
    margin-bottom: 40px;
    text-align: left;
  }

  /* thankyou */
  #contact-thanks-page .contact-lead {
    margin-bottom: 40px;
  }

  #contact-thanks-page .contact-thanks {
    margin-bottom: 16px;
    font-size: 3rem;
    text-align: center;
  }

  #contact-thanks-page .contact-lead p {
    margin-bottom: 8px;
    line-height: 2;
    font-size: 1rem;
  }

  /* ボタン */
  #contact-thanks-page .btn {
    margin-bottom: .5rem;
  }

  #contact-thanks-page .btn a {
    width: 100%;
  }


  #contact-thanks-page .btn a::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }

}

/*==========================================================================
　ラインナップ　共通（single）
============================================================================ */
#lineup-page {
  padding-top: 100px;
  background-color: var(--color-text-secondary);
}

#lineup-page .breadcrumbs {
  margin-bottom: 0rem;
  margin-left: 50px;
}

@media (max-width: 768px) {
  #lineup-page .breadcrumbs {
    margin: 13px 15px 0;
    font-size: .8rem;
  }

}

/* ======== ページタイトル ========= */
#lineup-page .sec-fv {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 45vh;
  margin: 0 50px 40px;
  z-index: 1;
  color: var(--color-text-secondary);
  text-align: center;
}

/* ~~~~~~ リベルタ ~~~~~~~~ */
.lineup-page-liberta .sec-fv {
  background: url(images/lineup-liberta-top.webp) no-repeat center/cover;
}

/* ~~~~~~ リラシオネス ~~~~~~~~ */
.lineup-page-relaciones .sec-fv {
  background: url(images/lineup-relaciones-top.webp) no-repeat center/cover;
}

#lineup-page .sec-fv::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #7a7470b5;
  mix-blend-mode: multiply;
  z-index: -1;
}

/* タイトル */
#lineup-page .sec-fv .sec-title-en {
  display: block;
  font-size: 1.6rem;
}

#lineup-page .sec-fv .sec-title {
  margin-bottom: 34px;
  font-size: 3.2rem;
  line-height: 1.1;
}

#lineup-page .sec-fv p {
  font-size: 1.2rem;
  letter-spacing: .1em;
}

@media (max-width: 768px) {
  #lineup-page {
    padding-top: 80px;
  }

  #lineup-page .sec-fv {
    height: 35vh;
    margin: 0 15px;
    padding: 20px;
  }

  #lineup-page .sec-fv .sec-title {
    margin-bottom: 20px;
    font-size: 2.2rem;
    line-height: 1.2;
  }

  #lineup-page .sec-fv .sec-title-en {
    font-size: 1.2rem;
  }

  #lineup-page .sec-fv p {
    font-size: 0.9rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }

  .form-note {
    font-size: 10px;
  }

}

/* ========== リード文 =========== */
#lineup-page .lead {
  padding: 80px 0;
  text-align: center;
}

#lineup-page .lead .sec-title {
  margin-bottom: 40px;
}

#lineup-page .lead p {
  margin-bottom: 20px;
  font-size: 1.1rem;
  line-height: 2;
}

@media (max-width: 768px) {
  #lineup-page .lead {
    padding: 30px 3%;
    text-align: left;
  }

  #lineup-page .lead h3 {
    margin-bottom: 30px;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  #lineup-page .lead p {
    margin-bottom: 16px;
    font-size: 0.9rem;
    line-height: 1.9;
  }

}

/* ======== パララックス ========= */
#lineup-page .parallax {
  position: relative;
  overflow: hidden;
  height: 50vh;
}

/* ~~~~~~ リベルタ ~~~~~~~~ */
.lineup-page-liberta .lineup-bg {
  background: url(images/lineup-liberta-para.webp) no-repeat 50% 65%/cover;
}

/* ~~~~~~ リラシオネス ~~~~~~~~ */
.lineup-page-relaciones .lineup-bg {
  background: url(images/lineup-relaciones-para.webp) no-repeat 50% 60%/cover;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .lineup-page-liberta .parallax {
    height: 32vh;
  }
}

/* ======== こんな方におすすめです ========= */
#lineup-page .recommend {
  max-width: 900px;
  width: 100%;
  margin: 80px auto;
  padding: 70px 40px;
  background-color: var(--color-bg-primary);
  outline: 1px solid var(--color-text-secondary);
  outline-offset: -20px;
}


#lineup-page .recommend .recommend-title {
  position: relative;
  margin-bottom: 80px;
  font-size: 2rem;
  font-family: "Shippori Mincho", serif;
  text-align: center;
}

#lineup-page .recommend .recommend-title:after {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 390px;
  height: 30px;
  background: url(images/lineup-comment.webp) no-repeat center/contain;

}

#lineup-page .recommend .recommend-title .small {
  display: inline-block;
  margin-bottom: 4px;
  padding: 5px 16px;
  font-size: 1.2rem;
  background-color: var(--color-text-secondary);
}

#lineup-page .recommend .recommend-list {
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
}

#lineup-page .recommend .recommend-list li {
  position: relative;
  margin-bottom: 24px;
  padding-left: 34px;
  font-size: 1.1rem;
}

#lineup-page .recommend .recommend-list li::before {
  position: absolute;
  top: 3px;
  left: 0;
  content: "";
  width: 20px;
  height: 20px;
  background: url(images/lineup-check.webp) no-repeat center/contain;
}

#lineup-page .recommend .color {
  color: var(--color-accent-primary);
}

/* レスポンシブ */

@media (max-width: 768px) {
  #lineup-page .recommend {
    max-width: 350px;
    margin: 60px auto;
    padding: 40px 20px;
    outline-offset: -10px;
  }

  /* タイトル */
  #lineup-page .recommend .recommend-title {
    margin-bottom: 60px;
    font-size: 1.5rem;
    line-height: 1.5;
  }

  #lineup-page .recommend .recommend-title:after {
    bottom: -32px;
    width: 280px;
    height: 20px;
  }

  #lineup-page .recommend .recommend-title .small {
    font-size: 0.9rem;
    padding: 4px 12px;
  }

  #lineup-page .recommend .recommend-list li {
    margin-bottom: 18px;
    padding-left: 26px;
    font-size: 0.9rem;
    line-height: 1.8;
  }

  #lineup-page .recommend .recommend-list li::before {
    width: 16px;
    height: 16px;
    top: 4px;
  }

}

/* ========== ３つの特徴 =========== */
#lineup-page .feature {
  padding: 80px 5%;
  background-color: var(--color-bg-secondary);
}

#lineup-page .feature .sec-title {
  margin-bottom: 100px;
  text-align: center;
}

/* グリッド */
#lineup-page .feature>div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  align-items: center;
  gap: 90px 100px;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;

}

#lineup-page .feature .img01 {
  min-width: 0;
}

/* ２行目*/
#lineup-page .feature .txt02 {
  grid-column: 2;
  grid-row: 2;
}

#lineup-page .feature .img02 {
  grid-column: 1;
  grid-row: 2;
}

/* ３行目 */
#lineup-page .feature .txt03 {
  grid-column: 1;
  grid-row: 3;
}

#lineup-page .feature .img03 {
  grid-column: 2;
  grid-row: 3;
}

/* テキストブロック */
#lineup-page .feature .feature-title {
  position: relative;
  margin-bottom: 16px;
  font-size: 1.5rem;
  font-family: "Shippori Mincho", serif;
}

.feature-num {
  display: inline-block;
  transform: translateY(3px);
  margin-right: 10px;
  font-size: 4.5rem;
  font-family: "Cormorant", serif;
  font-style: italic;
  color: var(--color-dark);
}

.feature-en {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-size: 6.5rem;
  font-family: "Corinthia", cursive;
  font-style: italic;
  color: var(--color-muted);
  opacity: 0.3;
}

#lineup-page .feature .feature-txt {
  margin-bottom: 16px;
  font-size: 1.1rem;
  line-height: 1.9;
}

/* 画像 */
#lineup-page .feature .img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 2px;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #lineup-page .feature>div {
    gap: 60px 40px;
  }

  #lineup-page .feature h3 {
    margin-bottom: 70px;
  }

  #lineup-page .feature .feature-title {
    font-size: 1.3rem;
  }

  .feature-num {
    font-size: 3.5rem;
  }

  .feature-en {
    font-size: 5rem;
  }
}

@media (max-width: 768px) {
  #lineup-page .feature {
    padding: 60px 5% 20px;
    font-size: 1.6rem;
  }

  #lineup-page .feature .sec-title {
    margin-bottom: 20px;
    font-size: 1.5rem;
  }

  /* グリッドをやめる */
  #lineup-page .feature>div {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  /* 順番を明示的に指定（ここ重要） */
  .txt01 {
    order: 1;
  }

  .img01 {
    order: 2;
  }

  .txt02 {
    order: 3;
  }

  .img02 {
    order: 4;
  }

  .txt03 {
    order: 5;
  }

  .img03 {
    order: 6;
  }

  /* 画像 */
  #lineup-page .feature .img {
    margin-bottom: 30px;
  }

  #lineup-page .feature .img img {
    width: 100%;
    aspect-ratio: 4 / 3;
  }

  /* タイトル */
  #lineup-page .feature .feature-title {
    margin-bottom: 4px;
    font-size: 1.2rem;
  }

  .feature-num {
    font-size: 3rem;
    transform: translateY(2px);
  }

  .feature-en {
    font-size: 3.5rem;
    right: 10px;
  }

  /* テキスト */
  #lineup-page .feature .feature-txt {
    font-size: 0.95rem;
    line-height: 1.8;
  }

}

/* ======== キズナヤの家づくり ========= */
#lineup-page .concept {
  padding: 80px 5%;
  background-color: var(--color-bg-secondary);
}

#lineup-page .concept .concept-wrapper {
  padding: 100px 40px;
  background-color: #fff;
  border-radius: 10px;
}

#lineup-page .concept .sec-title {
  margin-bottom: 60px;
  text-align: center;
}

#lineup-page .concept .concept-list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  margin-bottom: 70px;
}

#lineup-page .concept .concept-list li {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* 画像 */
#lineup-page .concept .concept-list .img {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  flex-shrink: 0;
  margin-bottom: 10px;
  border-radius: 2px;
}

#lineup-page .concept .concept-list .img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* テキスト */
#lineup-page .concept .concept-list .title {
  margin-bottom: 6px;
  font-size: 1.1rem;
}

/* ボタン */
#lineup-page .concept .main-btn {
  margin: 0 auto;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #lineup-page .concept .concept-wrapper {
    padding: 80px 30px;
  }

  #lineup-page .concept .concept-list {
    gap: 16px;
  }

  #lineup-page .concept .concept-list .title {
    font-size: 1rem;
  }
}

@media (max-width: 768px) {
  #lineup-page .concept {
    padding: 40px 3% 60px;
  }

  #lineup-page .concept .concept-wrapper {
    padding: 60px 20px;
  }

  /* タイトル */
  #lineup-page .concept h3 {
    margin-bottom: 30px;
    font-size: 1.3rem;
  }

  #lineup-page .concept .concept-list {
    flex-direction: column;
    gap: 30px;
    margin-bottom: 40px;
  }

  #lineup-page .concept .concept-list li {
    width: 100%;
  }

  #lineup-page .concept .concept-list .title {
    margin-bottom: 4px;
    font-size: 1rem;
  }

  #lineup-page .concept .concept-list .txt {
    font-size: 0.8rem;
  }
}

/* ===== プレゼント ===== */
.present {
  padding: 80px 5%;
}

.present .img {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  transition: opacity 0.8s ease;
}

.present .img:hover {
  opacity: 0.6;
}

.present .img img {
  width: 100%;
  height: 100%;
}

/* タブレット */
@media (max-width: 1024px) {
  .present .img {
    max-width: 880px;
  }
}

/* スマホ */
@media (max-width: 768px) {
  .present {
    padding: 40px 5%;
  }
}

/* ======== ギャラリー ========= */
#lineup-page .gallery {
  padding: 80px 0 110px;
  overflow: hidden;
}

/* タイトル */
#lineup-page .gallery .sec-title {
  margin-bottom: 60px;
  text-align: center;
}

#lineup-page .gallery .sec-title-en {
  display: block;
  line-height: 1.2;
}

/* ギャラリースライダー */
#lineup-page .gallery-swiper .swiper-slide {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

#lineup-page .gallery-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#lineup-page .gallery-swiper .swiper-wrapper {
  transition-timing-function: linear;
}

/* レスポンシブ */
@media (max-width: 768px) {
  #lineup-page .gallery .sec-title {
    margin-bottom: 30px;
  }

  #lineup-page .gallery {
    padding: 50px 0 70px;
  }
}

/* ======== 施工事例 ========= */
#lineup-page #works {
  background-color: var(--color-bg-secondary);
}

#lineup-page #works {
  padding: 130px 3%;
}

@media (max-width: 768px) {
  #lineup-page #works {
    padding: 70px 3%;
  }
}

/* ======== ラインナップ ========= */
#lineup-page .lineup {
  padding: 80px 5% 140px;
}

/* タイトル */
#lineup-page .lineup .sec-title {
  margin-bottom: 50px;
  text-align: center;
}

#lineup-page .lineup .sec-title-en {
  display: block;
  line-height: 1.1;
}

#lineup-page .lineup .lineup-container {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

/* リスト */
#lineup-page .lineup .lineup-kind {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#lineup-page .lineup .lineup-kind li {
  background-color: var(--color-bg-secondary);
  border-radius: 4px;
  overflow: hidden;
  border-radius: 4px;
}

#lineup-page .lineup .lineup-kind li a {
  display: flex;
  align-items: center;
  gap: 60px;
  padding: 30px 50px 30px 60px;
  transition: opacity 0.6s ease;
}

#lineup-page .lineup .lineup-kind li a:hover {
  opacity: 0.7;
}

/* 左：テキスト */
#lineup-page .lineup .lineup-kind li a>div:first-child {
  flex: 1;
}

/* カテゴリータグ */
#lineup-page .lineup .lineup-kind .lineup-kind-tag {
  display: inline-block;
  margin-bottom: 10px;
  padding: 3px 10px;
  background-color: var(--color-accent-primary);
  border-radius: 2px;
  font-size: .75rem;
  color: var(--color-text-secondary);
}

/* ラインナップ名 */
#lineup-page .lineup .lineup-kind .lineup-kind-title {
  margin-bottom: 10px;
  font-size: 1.8rem;
  font-family: "Shippori Mincho", serif;
  color: var(--color-dark);
}

/* キャッチコピー */
#lineup-page .lineup .lineup-kind .lineup-kind-catch {
  margin-bottom: 14px;
  font-size: 1.2rem;
  font-family: "Shippori Mincho", serif;
}

/* 説明文 */
#lineup-page .lineup .lineup-kind .lineup-kind-desc {
  font-size: .9rem;
  color: var(--color-dark);
  line-height: 1.8;
}

/* 右：画像 */
#lineup-page .lineup .lineup-kind .lineup-kind-img {
  flex: 0 0 450px;
  overflow: hidden;
}


#lineup-page .lineup .lineup-kind .lineup-kind-img img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 4px;
  transition: transform 0.5s ease;
}

#lineup-page .lineup .lineup-kind li a:hover .lineup-kind-img img {
  transform: scale(1.08);
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #lineup-page .lineup .lineup-kind li a {
    gap: 30px;
    padding: 25px 30px;
  }

  #lineup-page .lineup .lineup-kind .lineup-kind-img {
    flex: 0 0 350px;
  }

  #lineup-page .lineup .lineup-kind .lineup-kind-title {
    font-size: 1.6rem;
  }
}

@media (max-width: 768px) {
  #lineup-page .lineup {
    padding: 60px 3%;
  }

  #lineup-page .lineup .sec-title {
    margin-bottom: 30px;
  }

  #lineup-page .lineup .lineup-kind li a {
    flex-direction: column;
    gap: 10px;
    padding: 20px;
  }

  /* 画像を上 */
  #lineup-page .lineup .lineup-kind .lineup-kind-img {
    order: -1;
    flex: none;
    width: 100%;
  }

  #lineup-page .lineup .lineup-kind .lineup-kind-img img {
    width: 100%;
    aspect-ratio: 16 / 10;
  }

  /* テキスト */
  #lineup-page .lineup .lineup-kind .lineup-kind-tag {
    margin-bottom: 4px;
    font-size: .65rem;
  }

  #lineup-page .lineup .lineup-kind .lineup-kind-title {
    margin-bottom: 8px;
    font-size: 1.4rem;
  }

  #lineup-page .lineup .lineup-kind .lineup-kind-catch {
    margin-bottom: 4px;
    font-size: .9rem;
    line-height: 1.4;
  }

  #lineup-page .lineup .lineup-kind .lineup-kind-desc {
    font-size: 0.8rem;
    line-height: 1.6;
  }
}

/*==========================================================================
　ラインナップ　リラシオネス（single）
============================================================================ */
/* こんな方におすすめです */
.lineup-page-relaciones .recommend {
  margin: 80px auto 165px !important;
}

/* 定額制表 */
.lineup-page-relaciones .price-list {
  display: flex;
  justify-content: center;
  margin-bottom: 80px;
  gap: 40px;
  flex-wrap: wrap;
}

.lineup-page-relaciones .price-item {
  text-align: center;
}

/* 家の形 */
.lineup-page-relaciones .price-house {
  width: 120px;
  height: 90px;
  border: 1px solid var(--color-dark);
  position: relative;
  margin: 0 auto 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  background: #fff;
}

.lineup-page-relaciones .price-house::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 40px;
  background: var(--color-dark);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border: 1px solid var(--color-dark);
  border-bottom: none;
  box-sizing: border-box;
}

/* 数字 */
.lineup-page-relaciones .size {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.2;
}

.lineup-page-relaciones .unit {
  margin-top: 20px;
  font-size: 1.1rem;
}

/* テキスト */
.lineup-page-relaciones .label {
  font-size: 12px;
  color: var(--color-dark);
}

.lineup-page-relaciones .price {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.2;
}

.lineup-page-relaciones .price span {
  font-size: 12px;
  margin-left: 4px;
}

@media (max-width: 768px) {
  .lineup-page-relaciones .recommend {
    margin: 80px auto 100px !important;
  }

  .lineup-page-relaciones .price-list {
    gap: 50px 16px;
    margin-bottom: 40px;
    padding: 0 16px;
  }

  .lineup-page-relaciones .price-item {
    width: calc(33.333% - 11px);
    flex: 0 0 calc(33.333% - 11px);
  }

  .lineup-page-relaciones .price-house {
    width: 88px;
    height: 68px;
  }

  .lineup-page-relaciones .price-house::before {
    width: 88px;
    top: -30px;
    height: 30px;
  }

  .lineup-page-relaciones .size {
    font-size: 1.8rem;
  }

  .lineup-page-relaciones .price {
    font-size: 1.1rem;
  }
}


/* リラシオネス料金プラン */
.lineup-page-relaciones .relaciones-plan {
  padding: 80px 5%;
}

.lineup-page-relaciones .relaciones-plan .plan-detail {
  margin-bottom: 160px;
}

.lineup-page-relaciones .relaciones-plan h3 {
  margin-bottom: 40px;
  text-align: center;
}

.lineup-page-relaciones .relaciones-plan-lead {
  margin-bottom: 20px;
  font-size: 1.1rem;
  line-height: 2;
  text-align: center;
}

.lineup-page-relaciones .relaciones-plan .price-list {
  margin-top: 120px;
}

/* 詳しい料金 */
.lineup-page-relaciones .relaciones-plan .price-table-wrapper {
  display: flex;
  gap: 40px;
  max-width: 900px;
  margin: 0 auto 20px;
}

.lineup-page-relaciones .relaciones-plan .price-table {
  flex: 1;
  border-collapse: collapse;
  font-size: 0.95rem;
}

/* ヘッダー */
.lineup-page-relaciones .relaciones-plan .price-table thead th {
  padding: 12px 20px;
  background-color: var(--color-muted);
  color: var(--color-text-primary);
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.05em;
}

/* セル */
.lineup-page-relaciones .relaciones-plan .price-table tbody td {
  padding: 20px;
  text-align: center;
}

/* 偶数行に背景色 */
.lineup-page-relaciones .relaciones-plan .price-table tbody tr:nth-child(even) td {
  background-color: #f6f5f2;
}

/* NOTICE */
.lineup-page-relaciones .relaciones-plan .notice {
  max-width: 900px;
  margin: 0 auto;
  font-size: .9rem;
}

@media (max-width: 768px) {
  .lineup-page-relaciones .relaciones-plan .relaciones-plan-lead {
    margin-bottom: 16px;
    font-size: 0.9rem;
    line-height: 1.9;
    text-align: left;
  }

  .lineup-page-relaciones .relaciones-plan .price-table-wrapper {
    flex-direction: column;
    gap: 0;
    padding: 0 16px;
  }

  .lineup-page-relaciones .relaciones-plan .price-table {
    width: 100%;
  }

  .lineup-page-relaciones .relaciones-plan .price-table tbody td:first-child {
    width: 50%;
  }

  .lineup-page-relaciones .relaciones-plan .price-table tbody td:last-child {
    width: 50%;
  }

  /* 右テーブルのヘッダーを非表示にして繋げて見せる */
  .lineup-page-relaciones .relaciones-plan .price-table+.price-table thead {
    display: none;
  }

  /* 左テーブルの最終行の下ボーダーをなくして繋げる */
  .lineup-page-relaciones .relaciones-plan .price-table:first-child tbody tr:last-child td {
    border-bottom: none;
  }

  .lineup-page-relaciones .relaciones-plan .notice {
    padding: 0 16px;
    font-size: .8rem;
  }
}

/* 費用含まれる表 */
.lineup-page-relaciones .cost-include .sec-title {
  font-size: 1.5rem;
}

.lineup-page-relaciones .included-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 900px;
  margin: 0 auto 40px;
}

.lineup-page-relaciones .included-list li {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 10px;
  border: 1px solid var(--color-dark);
  text-align: center;
  font-size: 0.95rem;
  border-radius: 4px;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .lineup-page-relaciones .relaciones-plan .plan-detail {
    margin-bottom: 60px;
  }

  .lineup-page-relaciones .relaciones-plan {
    padding: 40px 5% 20px;
  }

  .lineup-page-relaciones .included-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .lineup-page-relaciones .included-list li {
    padding: 14px 10px;
    font-size: 0.85rem;
  }

  .lineup-page-relaciones .cost-include .sec-title {
    font-size: 1.1rem;
  }
}

/* 標準設備 */
.lineup-page-relaciones .standard {
  padding: 80px 5% 140px;
}

.lineup-page-relaciones .standard .sec-title {
  margin-bottom: 40px;
  text-align: center;
}

.lineup-page-relaciones .standard .standard-lead {
  margin-bottom: 80px;
  font-size: 1.1rem;
  line-height: 2;
  text-align: center;
}

/* 標準設備表 */
.lineup-page-relaciones .standard .standard-list {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 10px;
  text-align: center;

}

.lineup-page-relaciones .standard .standard-list .standard-item img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  margin-bottom: 4px;
  border-radius: 2px;
}

.lineup-page-relaciones .standard .standard-list .standard-item p span {
  font-size: .9rem;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .lineup-page-relaciones .standard {
    padding: 40px 5% 80px;
  }

  .lineup-page-relaciones .standard .sec-title {
    font-size: 1.2rem;
  }

  .lineup-page-relaciones .standard .standard-lead {
    margin-bottom: 40px;
    font-size: 0.9rem;
    line-height: 1.9;
    text-align: left;
  }

  /* 標準設備表 */
  .lineup-page-relaciones .standard .standard-list {
    max-width: 100%;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
  }

  .lineup-page-relaciones .standard .standard-list .standard-item img {
    max-width: 100%;
    height: 260px;
    margin-bottom: 4px;
  }

  .lineup-page-relaciones .standard .standard-list .standard-item p {
    font-size: .8rem;
  }

  .lineup-page-relaciones .standard .standard-list .standard-item p span {
    font-size: .7rem;
  }
}

/*==========================================================================
　準備中
============================================================================ */
#archive-column,
#archive-event,
#archive-voice,
#archive-works,
#archive-column,
#page-after-support,
#page-company,
#page-flow,
#page-reason,
#page-spec,
#page-staff,
#page-concept {
  margin-left: 3%;
  padding-top: 80px;
}