@charset "UTF-8";
/* ========================================
   Web Fonts
   Japanese : Shippori Mincho
   Latin    : Jost (JostRoman equivalent)
======================================== */
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&family=Shippori+Mincho:wght@400;500;600;700&display=swap");
/* ========================================
   Base
======================================== */
html {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
body {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  color: #231815;
  background: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  -webkit-text-size-adjust: 100%;
}
*, *::before, *::after {
  box-sizing: border-box;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
/* ========================================
   Header
======================================== */
.site-Header {
  position: relative;
  z-index: 100;
  width: 100%;
  height: 106px;
  background: #fff;
}
.site-Header-Inner {
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 32px 0 40px;
  display: flex;
  align-items: center;
  gap: 20px;
}
/* ========================================
   Header Logo
======================================== */
.site-Header-Logo {
  width: 266px;
  margin: 0;
  padding: 0;
  flex: 0 1 266px;
}
.site-Header-Logo a {
  display: block;
  width: 100%;
}
.site-Header-Logo img {
  display: block;
  width: 100%;
  height: auto;
}
/* ========================================
   Global Navigation
======================================== */
.global-Nav {
  min-width: 0;
  margin-left: auto;
}
.global-Nav-List {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 36px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.global-Nav-List li {
  margin: 0;
  padding: 0;
  flex-shrink: 0;
}
.global-Nav-List a {
  display: flex;
  align-items: center;
  color: #231815;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  transition: opacity 0.3s ease;
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}
.global-Nav-List a:hover {
  opacity: 0.6;
}
/* ========================================
   Dropdown Arrow
======================================== */
.global-Nav-Item--dropdown a {
  gap: 8px;
}
/* 下向き矢印 */
.global-Nav-Arrow {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 4px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transform-origin: center;
  position: relative;
  top: -2px;
  transition: transform 0.3s ease;
}
/* メニュー表示時 */
.global-Nav-Item--dropdown:hover .global-Nav-Arrow, .global-Nav-Item--dropdown:focus-within .global-Nav-Arrow {
  transform: rotate(225deg);
  top: 2px;
}
/* ========================================
   Header Reservation Button
======================================== */
.site-Header-Reserve {
  margin: 0 0 0 14px;
  padding: 0;
  flex-shrink: 0;
}
.site-Header-Reserve a {
  width: clamp(155px, 12vw, 192px);
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  background: #1d2e48;
  color: #fff;
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  transition:
    opacity 0.3s ease, background-color 0.3s ease;
}
.site-Header-Reserve a:hover {
  opacity: 0.8;
}
/* ========================================
   First View
======================================== */
.hero {
  position: relative;
  width: 100%;
  /*
   * 添付画像
   * hero-img-pc.jpg
   * 1597 × 639px
   */
  aspect-ratio: 1597 / 639;
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-image: url("../img/hero-img-pc.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  color: #fff;
}
/* ========================================
   First View Inner
======================================== */
.hero-Inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  text-align: center;
  /*
   * デザインカンプに合わせ、
   * FV中央より若干上へ配置
   */
  transform: translateY(-5px);
}
/* ========================================
   First View Title
======================================== */
.hero-Title {
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: clamp(32px, 3.2vw, 48px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-shadow:
    0 1px 5px rgba(0, 0, 0, 0.25);
}
.wp-singular .post_content h2.hero-Title {
  color: #fff;
}
/* ========================================
   First View Text
======================================== */
.hero-Text {
  margin: 22px 0 0;
  padding: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.08em;
  text-shadow:
    0 1px 4px rgba(0, 0, 0, 0.25);
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}
/* ========================================
   First View Buttons
======================================== */
.hero-Btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin-top: 35px;
}
.hero-Btn {
  width: 260px;
  margin: 0;
  padding: 0;
}
.hero-Btn a {
  position: relative;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 42px 0 25px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  transition:
    opacity 0.3s ease, transform 0.3s ease;
}
.hero-Btn a, .about-Btn a, .philosophy-Btn a, .future-Btn a {
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}
.hero-Btn a:hover {
  opacity: 0.85;
}
/* Gold */
.hero-Btn--gold a {
  background: #aa8652;
}
/* Navy */
.hero-Btn--navy a {
  background: #1d2e48;
}
/* ========================================
   First View Button Arrow
======================================== */
.hero-Btn-Arrow {
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}
/* ========================================
   Header Breakpoint
   1200px以下
======================================== */
@media screen and (max-width: 1200px) {
  /* Header
  -------------------------------------- */
  .site-Header {
    height: 70px;
  }
  .site-Header-Inner {
    padding: 0 24px;
    gap: 15px;
  }
  .site-Header-Logo {
    width: 210px;
    flex: 0 0 210px;
  }
  /* PC Navigation
  -------------------------------------- */
  .global-Nav {
    display: none;
  }
  /* Reservation
  -------------------------------------- */
  .site-Header-Reserve {
    margin-left: auto;
  }
  .site-Header-Reserve a {
    width: 160px;
    height: 48px;
    padding: 0 15px;
    font-size: 13px;
  }
  /* First View
  -------------------------------------- */
  .hero {
    aspect-ratio: auto;
    min-height: 560px;
    background-position: center center;
  }
  .hero-Inner {
    max-width: 900px;
    padding: 0 40px;
  }
  .hero-Title {
    font-size: 38px;
  }
  .hero-Text {
    font-size: 16px;
  }
}
/* ========================================
   Smartphone
   767px以下
======================================== */
@media screen and (max-width: 767px) {
  /* Header
  -------------------------------------- */
  .site-Header {
    height: 68px;
  }
  .site-Header-Inner {
    padding: 0 18px;
  }
  /* Logo
  -------------------------------------- */
  .site-Header-Logo {
    width: 170px;
    flex: 0 1 170px;
  }
  /* First View
  -------------------------------------- */
  .hero {
    width: 100%;
    /*
     * スマホでは縦長のFVへ変更
     */
    min-height: calc(100svh - 68px);
    /*
     * 現状PC用画像しかないため、
     * シャンパングラスがある程度残る位置に調整
     */
    background-position: 58% center;
  }
  .hero-Inner {
    width: 100%;
    padding: 0 22px;
    transform: none;
  }
  /* Title
  -------------------------------------- */
  .hero-Title {
    font-size: clamp(26px, 7vw, 34px);
    line-height: 1.65;
    letter-spacing: 0.08em;
  }
  /* Text
  -------------------------------------- */
  .hero-Text {
    margin-top: 18px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.04em;
  }
  /* Buttons
  -------------------------------------- */
  .hero-Btns {
    flex-direction: column;
    gap: 14px;
    margin-top: 28px;
  }
  .hero-Btn {
    width: min(100%, 300px);
  }
  .hero-Btn a {
    height: 52px;
    padding: 0 40px 0 20px;
    font-size: 16px;
  }
}
/* ========================================
   Small Smartphone
   400px以下
======================================== */
@media screen and (max-width: 400px) {
  .site-Header-Inner {
    padding: 0 15px;
  }
  .site-Header-Logo {
    width: 150px;
    flex-basis: 150px;
  }
  .hero-Inner {
    padding: 0 18px;
  }
  .hero-Title {
    font-size: 25px;
    letter-spacing: 0.05em;
  }
  .hero-Text {
    font-size: 13px;
  }
}
/* ========================================
   ABOUT
======================================== */
.about {
  width: 100%;
  padding: 128px 0 122px;
  background: #fff;
}
/* ========================================
   ABOUT Inner
======================================== */
.about-Inner {
  width: calc(100% - 80px);
  max-width: 1275px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  column-gap: 100px;
  align-items: start;
}
/* ========================================
   ABOUT Content
======================================== */
.about-Content {
  min-width: 0;
}
/* ========================================
   ABOUT Heading
======================================== */
.about-Heading {
  margin: 0 0 58px;
}
.about-Heading-En {
  margin: 0;
  color: #ae8750;
  font-family:
    "Jost", Arial, "Helvetica Neue", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
.about-Heading-Ja {
  margin: 10px 0 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.22em;
}
/* ========================================
   ABOUT Body
======================================== */
.about-Body {
  margin: 0;
}
/* Title
---------------------------------------- */
.about-Title {
  margin: 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 31px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.08em;
}
/* Text
---------------------------------------- */
.about-Text, .futurePage p {
  margin: 30px 0 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.035em;
}
/* ========================================
   ABOUT Button
======================================== */
.about-Btn {
  width: 250px;
  margin: 50px 0 0;
}
.about-Btn a {
  position: relative;
  width: 100%;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px 0 25px;
  background: #ae8750;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  transition:
    opacity 0.3s ease, background-color 0.3s ease;
}
.about-Btn a:hover {
  opacity: 0.8;
}
/* Arrow
---------------------------------------- */
.about-Btn-Arrow {
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}
/* ========================================
   ABOUT Image
======================================== */
.about-Image {
  width: 100%;
  margin: 0;
  padding: 0;
}
.about-Image img {
  display: block;
  width: 100%;
  height: auto;
  /*
   * 元画像の比率を維持
   */
  aspect-ratio: 630 / 410;
  object-fit: cover;
}
/* ========================================
   ABOUT
   Tablet
   1200px以下
======================================== */
@media screen and (max-width: 1200px) {
  .about {
    padding: 90px 0;
  }
  .about-Inner {
    width: calc(100% - 60px);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 55px;
  }
  .about-Heading {
    margin-bottom: 40px;
  }
  .about-Heading-En {
    font-size: 27px;
  }
  .about-Heading-Ja {
    font-size: 15px;
  }
  .about-Title {
    font-size: 26px;
  }
  .about-Text, .futurePage p {
    margin-top: 24px;
    font-size: 14px;
  }
  .about-Btn {
    margin-top: 40px;
  }
}
/* ========================================
   ABOUT
   Smartphone
   767px以下
======================================== */
@media screen and (max-width: 767px) {
  .about {
    padding: 70px 0;
  }
  .about-Inner {
    width: calc(100% - 40px);
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  /* Heading
  -------------------------------------- */
  .about-Heading {
    margin-bottom: 35px;
  }
  .about-Heading-En, .way-Heading-En, .symbol-Heading-En, .company-Heading-En, .page-Heading-En {
    font-size: 25px;
  }
  .about-Heading-Ja {
    margin-top: 8px;
    font-size: 14px;
    letter-spacing: 0.18em;
  }
  /* Title
  -------------------------------------- */
  .about-Title {
    font-size: 24px;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
  /* Text
  -------------------------------------- */
  .about-Text, .futurePage p {
    margin-top: 24px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.02em;
  }
  /* Image
  -------------------------------------- */
  .about-Image {
    order: -1;
    margin-bottom: 40px;
  }
  /* Button
  -------------------------------------- */
  .about-Btn {
    width: min(100%, 250px);
    margin-top: 35px;
  }
  .about-Btn a {
    height: 52px;
    font-size: 16px;
  }
}
/* ========================================
   ABOUT
   Small Smartphone
   400px以下
======================================== */
@media screen and (max-width: 400px) {
  .about-Inner {
    width: calc(100% - 36px);
  }
  .about-Title {
    font-size: 22px;
  }
  .about-Text, .futurePage p {
    font-size: 13px;
  }
}
/* ========================================
   OUR BUSINESS
======================================== */
.business {
  width: 100%;
  padding: 0 0 95px;
  background: #fff;
}
/* ========================================
   BUSINESS Inner
======================================== */
.business-Inner {
  width: 100%;
}
/* ========================================
   BUSINESS Heading
======================================== */
.business-Heading {
  width: 100%;
  margin: 0;
  padding: 88px 30px 58px;
  background:
    linear-gradient(to right, #fff 0, #fff calc((100% - 1200px) / 2 + 200px), #f2f2f2 calc((100% - 1200px) / 2 + 200px), #f2f2f2 100%);
  text-align: center;
}
.business-Heading-En {
  margin: 0;
  color: #ae8750;
  font-family:
    "Jost", Arial, "Helvetica Neue", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
.business-Heading-Ja {
  margin: 10px 0 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
/* ========================================
   BUSINESS Main
======================================== */
.business-Main {
  width: 100%;
  display: grid;
  grid-template-columns:
    minmax(0, calc((100% - 1200px) / 2 + 700px)) minmax(0, 1fr);
  /* 画像を右側コンテンツの高さに引き伸ばさず、
     デザインカンプのようにグレー背景より下へはみ出させる */
  align-items: start;
}
/* ========================================
   BUSINESS Image
======================================== */
.business-Image {
  position: relative;
  min-width: 0;
  overflow: hidden;
}
.business-Image > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 470px;
  object-fit: cover;
  object-position: center;
}
/* ========================================
   BUSINESS Shop Information
======================================== */
.business-Shop {
  position: absolute;
  top: auto;
  bottom: -50px;
  right: 60px;
  width: 280px;
  padding-left: 22px;
  transform: translateY(-34%);
  color: #fff;
  border-left: 2px solid rgba(255, 255, 255, 0.75);
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  text-shadow:
    0 1px 4px rgba(0, 0, 0, 0.45);
}
.business-Shop-Copy {
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.business-Shop-Name {
  margin: 0 0 17px;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.business-Shop-Name span {
  display: block;
  margin-top: 2px;
  font-family: "Jost", "Shippori Mincho", serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.03em;
}
.business-Shop-Info {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: 0.02em;
}
.business-Shop-Btn {
  width: 120px;
  margin: 13px 0 0;
}
.business-Shop-Btn a {
  position: relative;
  width: 100%;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px 3px 0;
  border: 1px solid rgba(255, 255, 255, 0.9);
  color: #fff;
  font-size: 16px;
  text-decoration: none;
}
.business-Shop-Btn a span {
  position: absolute;
  top: 50%;
  right: 9px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 17px;
}
/* ========================================
   BUSINESS Content
======================================== */
.business-Content {
  min-width: 0;
  padding: 65px 40px 60px 60px;
  background: #f2f2f2;
}
/* Title
---------------------------------------- */
.business-Title {
  margin: 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
/* Text
---------------------------------------- */
.business-Text {
  margin: 25px 0 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.025em;
}
/* ========================================
   BUSINESS Button
======================================== */
.business-Btn {
  width: 250px;
  margin: 42px 0 0;
}
.business-Btn a {
  position: relative;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 38px 0 20px;
  background: #ae8750;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 600;
  transition: opacity 0.3s ease;
}
.business-Btn a:hover {
  opacity: 0.8;
}
.business-Btn a span {
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 19px;
}
/* ========================================
   OUR PHILOSOPHY
======================================== */
.philosophy {
  width: 100%;
  padding: 0 0 100px;
  background: #fff;
}
/* ========================================
   PHILOSOPHY Inner
======================================== */
.philosophy-Inner {
  width: calc(100% - 80px);
  max-width: 1200px;
  min-height: 490px;
  margin: 0 auto;
  padding: 85px 110px;
  display: grid;
  grid-template-columns: 1.0fr 1.2fr;
  column-gap: 100px;
  align-items: start;
  background-image:
    linear-gradient(rgba(15, 7, 2, 0.05), rgba(15, 7, 2, 0.05)), url("../img/philosophy-img.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  color: #fff;
}
/* ========================================
   PHILOSOPHY Heading
======================================== */
.philosophy-Heading {
  padding-top: 10px;
}
.philosophy-Heading-En, .way-Heading-En, .symbol-Heading-En, .company-Heading-En, .page-Heading-En {
  margin: 0;
  color: #c59a5c;
  font-family:
    "Jost", Arial, "Helvetica Neue", sans-serif;
  font-size: 29px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.philosophy-Heading-Ja {
  margin: 10px 0 0;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.22em;
}
/* ========================================
   PHILOSOPHY Content
======================================== */
.philosophy-Content {
  padding-top: 5px;
}
/* Title
---------------------------------------- */
.philosophy-Title {
  margin: 0;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 27px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.08em;
  text-shadow:
    0 1px 5px rgba(0, 0, 0, 0.35);
}
/* Text
---------------------------------------- */
.philosophy-Text {
  margin: 23px 0 0;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.025em;
  text-shadow:
    0 1px 4px rgba(0, 0, 0, 0.4);
}
/* ========================================
   PHILOSOPHY Button
======================================== */
.philosophy-Btn {
  width: 250px;
  margin: 40px 0 0;
}
.philosophy-Btn a {
  position: relative;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 38px 0 20px;
  background: #ae8750;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  transition: opacity 0.3s ease;
}
.philosophy-Btn a:hover {
  opacity: 0.8;
}
.philosophy-Btn a span {
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 18px;
}
/* ========================================
   BUSINESS / PHILOSOPHY
   Tablet
   1200px以下
======================================== */
.business-Content {
  padding:
    65px 40px 11vw 55px;
}
@media screen and (max-width: 1600px) {
  .business-Content {
    padding:
      65px 40px 5.5vw 55px;
  }
}
@media screen and (max-width: 1200px) {
  /* BUSINESS
  -------------------------------------- */
  .business {
    padding-bottom: 75px;
  }
  .business-Heading {
    width: 100%;
    padding: 70px 25px 50px;
    background:
      linear-gradient(to right, #fff 0, #fff 16%, #f2f2f2 16%, #f2f2f2 100%);
  }
  .business-Heading-En, .way-Heading-En, .symbol-Heading-En, .company-Heading-En, .page-Heading-En {
    font-size: 27px;
  }
  .business-Main {
    grid-template-columns: 58% 42%;
  }
  .business-Image > img {
    min-height: 430px;
  }
  .business-Shop {
    right: 25px;
    width: 225px;
  }
  .business-Content {
    padding:
      55px clamp(25px, 4vw, 50px);
  }
  .business-Title {
    font-size: 25px;
  }
  .business-Text {
    font-size: 14px;
  }
  /* PHILOSOPHY
  -------------------------------------- */
  .philosophy {
    padding-bottom: 80px;
  }
  .philosophy-Inner {
    width: calc(100% - 60px);
    min-height: 450px;
    padding: 70px 60px;
    grid-template-columns: 0.9fr 1.1fr;
    column-gap: 60px;
  }
  .philosophy-Heading-En, .way-Heading-En, .symbol-Heading-En, .company-Heading-En, .page-Heading-En {
    font-size: 27px;
  }
  .philosophy-Title {
    font-size: 24px;
  }
}
/* ========================================
   BUSINESS / PHILOSOPHY
   Smartphone
   767px以下
======================================== */
@media screen and (max-width: 767px) {
  /* =====================================
     BUSINESS
  ====================================== */
  .business {
    padding-bottom: 65px;
  }
  .business-Heading {
    width: 100%;
    margin: 0;
    padding: 60px 20px 40px;
    background: #f2f2f2;
  }
  .business-Heading-En {
    font-size: 25px;
  }
  .business-Heading-Ja {
    font-size: 14px;
  }
  /* ========================================
     OUR BUSINESS
     スマホ：グレー背景を画面幅いっぱいに
  ======================================== */
  .business {
    width: 100%;
    overflow: hidden;
  }
  .business-Inner {
    width: 100%;
    max-width: none;
  }
  .business-Main {
    width: 100%;
  }
  .business-Content {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }
  /* Main
  -------------------------------------- */
  .business-Main {
    display: flex;
    flex-direction: column;
  }
  /* Image
  -------------------------------------- */
  .business-Image {
    width: 100%;
  }
  .business-Image > img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 860 / 610;
    object-fit: cover;
  }
  /* Shop information
  -------------------------------------- */
  .business-Shop {
    top: auto;
    right: 20px;
    bottom: 40px;
    width: 300px;
    padding-left: 15px;
    transform: none;
  }
  .business-Shop-Copy {
    margin-bottom: 10px;
    font-size: 16px;
  }
  .business-Shop-Name {
    margin-bottom: 10px;
    font-size: 25px;
  }
  .business-Shop-Name span {
    font-size: 14px;
  }
  .business-Shop-Info {
    font-size: 16px;
  }
  /* Content
  -------------------------------------- */
  .business-Content {
    padding: 45px 20px 50px;
  }
  .business-Title {
    font-size: 24px;
  }
  .business-Text {
    margin-top: 20px;
    font-size: 14px;
  }
  .business-Btn {
    margin: 30px auto 0;
  }
  /* =====================================
     PHILOSOPHY
  ====================================== */
  .philosophy {
    padding-bottom: 70px;
  }
  .philosophy-Inner {
    width: calc(100% - 40px);
    min-height: 560px;
    padding: 45px 25px;
    display: flex;
    flex-direction: column;
    background-position: 35% center;
  }
  /* Heading
  -------------------------------------- */
  .philosophy-Heading {
    padding: 0;
  }
  .philosophy-Heading-En, .way-Heading-En, .symbol-Heading-En, .company-Heading-En, .page-Heading-En {
    font-size: 25px;
  }
  .philosophy-Heading-Ja, .way-Heading-Ja, .symbol-Heading-Ja, .company-Heading-Ja, .page-Heading-Ja {
    font-size: 13px;
  }
  /* Content
  -------------------------------------- */
  .philosophy-Content {
    margin-top: auto;
    padding: 0;
  }
  .philosophy-Title {
    font-size: 23px;
  }
  .philosophy-Text {
    margin-top: 20px;
    font-size: 13px;
  }
  .philosophy-Btn {
    margin: 30px auto 0;
  }
}
/* ========================================
   Small Smartphone
   400px以下
======================================== */
@media screen and (max-width: 400px) {
  .business-Shop {
    right: 15px;
    bottom: 40px;
    width: 300px;
  }
  .business-Shop-Copy {
    display: none;
  }
  .business-Shop-Name {
    font-size: 23px;
  }
  .business-Shop-Info {
    font-size: 14px;
    line-height: 1.45;
  }
  .business-Title {
    font-size: 21px;
  }
  .philosophy-Inner {
    width: calc(100% - 36px);
    padding: 40px 20px;
  }
  .philosophy-Title {
    font-size: 21px;
  }
}
/* ========================================
   OUR FUTURE
======================================== */
.future {
  width: 100%;
  padding: 90px 0 85px;
  background: #f2f2f2;
}
/* ========================================
   FUTURE Inner
======================================== */
.future-Inner {
  width: calc(100% - 80px);
  max-width: 1000px;
  margin: 0 auto;
}
/* ========================================
   FUTURE Heading
======================================== */
.future-Heading {
  text-align: center;
}
.future-Heading-En {
  margin: 0;
  color: #ae8750;
  font-family:
    "Jost", Arial, "Helvetica Neue", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
.future-Heading-Ja {
  margin: 10px 0 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
/* ========================================
   FUTURE Lead
======================================== */
.future-Lead {
  margin: 50px 0 55px;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 27px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
}
/* ========================================
   FUTURE Common
======================================== */
.future-Image {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.future-Image img {
  display: block;
  width: 100%;
  height: auto;
}
.future-Title {
  margin: 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.06em;
}
.future-Text {
  margin: 20px 0 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.02em;
}
/* ========================================
   FUTURE Block 01
======================================== */
.future-Block--01 {
  display: grid;
  grid-template-columns:
    minmax(0, 0.8fr) minmax(0, 1.35fr);
  align-items: center;
  column-gap: 0;
}
/* Content
---------------------------------------- */
.future-Content--01 {
  position: relative;
  padding: 32px 50px 32px 12px;
}
/*
 * デザイン上の横線
 */
.future-Content--01::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + 70px);
  height: 1px;
  background: #231815;
  z-index: 2;
}
/* Image
---------------------------------------- */
.future-Image--01 {
  position: relative;
  z-index: 1;
}
.future-Image--01 img {
  aspect-ratio: 600 / 400;
  object-fit: cover;
}
/* ========================================
   FUTURE Block 02
======================================== */
.future-Block--02 {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 80px;
  margin-top: 65px;
}
/* ========================================
   FUTURE Left
======================================== */
.future-Left {
  min-width: 0;
}
.future-Image--02 img {
  aspect-ratio: 460 / 300;
  object-fit: cover;
}
/* Left text
---------------------------------------- */
.future-Content--02 {
  position: relative;
  margin-left: 18px;
  padding:
    42px 10px 25px 30px;
}
/*
 * 左側縦線
 */
.future-Content--02::before {
  content: "";
  position: absolute;
  top: -35px;
  bottom: 0;
  left: 0;
  width: 1px;
  background: #231815;
  z-index: 2;
}
/* ========================================
   FUTURE Right
======================================== */
.future-Right {
  min-width: 0;
}
/* Right text
---------------------------------------- */
.future-Content--03 {
  position: relative;
  margin-left: 18px;
  padding:
    5px 10px 35px 30px;
}
/*
 * 左側縦線
 */
.future-Content--03::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: -35px;
  left: 0;
  width: 1px;
  background: #231815;
  z-index: 2;
}
/* ========================================
   スナテク Button
======================================== */
.future-Tech-Btn {
  width: 250px;
  margin: 25px 0 0;
}
.future-Tech-Btn a {
  position: relative;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 38px 0 20px;
  border: 1px solid #1d2e48;
  color: #1d2e48;
  background: transparent;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 600;
  transition:
    background-color 0.3s ease, color 0.3s ease;
}
.future-Tech-Btn a:hover {
  color: #fff;
  background: #1d2e48;
}
.future-Tech-Btn a span {
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 18px;
}
/* ========================================
   FUTURE Image 03
======================================== */
.future-Image--03 {
  margin-top: 0;
}
.future-Image--03 img {
  aspect-ratio: 460 / 300;
  object-fit: cover;
}
/* ========================================
   FUTURE Main Button
======================================== */
.future-Btn {
  width: 250px;
  margin: 60px auto 0;
}
.future-Btn a {
  position: relative;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 38px 0 20px;
  background: #ae8750;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  transition: opacity 0.3s ease;
}
.future-Btn a:hover {
  opacity: 0.8;
}
.future-Btn a span {
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 18px;
}
/* ========================================
   OUR FUTURE
   Tablet
   1200px以下
======================================== */
@media screen and (max-width: 1200px) {
  .future {
    padding: 80px 0;
  }
  .future-Inner {
    width: calc(100% - 60px);
    max-width: 900px;
  }
  .future-Heading-En {
    font-size: 27px;
  }
  .future-Lead {
    margin:
      45px 0 50px;
    font-size: 25px;
  }
  /* Block 01
  -------------------------------------- */
  .future-Block--01 {
    grid-template-columns:
      minmax(0, 0.9fr) minmax(0, 1.3fr);
  }
  .future-Content--01 {
    padding-right: 35px;
  }
  /* Block 02
  -------------------------------------- */
  .future-Block--02 {
    column-gap: 45px;
    margin-top: 55px;
  }
  .future-Title {
    font-size: 20px;
  }
  .future-Text {
    font-size: 12px;
  }
}
/* ========================================
   OUR FUTURE
   Smartphone
   767px以下
======================================== */
@media screen and (max-width: 767px) {
  .future {
    padding: 65px 0;
  }
  .future-Inner {
    width: calc(100% - 40px);
  }
  /* Heading
  -------------------------------------- */
  .future-Heading-En {
    font-size: 25px;
  }
  .future-Heading-Ja {
    font-size: 14px;
  }
  /* Lead
  -------------------------------------- */
  .future-Lead {
    margin:
      35px 0 40px;
    font-size: 22px;
    text-align: left;
  }
  /* Common
  -------------------------------------- */
  .future-Title {
    font-size: 21px;
  }
  .future-Text {
    font-size: 13px;
  }
  /* =====================================
     Block 01
  ====================================== */
  .future-Block--01 {
    display: flex;
    flex-direction: column;
  }
  .future-Image--01 {
    order: 1;
  }
  .future-Content--01 {
    order: 2;
    padding:
      30px 0 0 20px;
  }
  .future-Content--01::before {
    top: 0;
    width: 100%;
  }
  /* =====================================
     Block 02
  ====================================== */
  .future-Block--02 {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 50px;
  }
  /* Left
  -------------------------------------- */
  .future-Content--02 {
    margin-left: 0;
    padding:
      30px 0 0 20px;
  }
  /* Right
  -------------------------------------- */
  .future-Content--03 {
    margin: 0;
    padding:
      0 0 30px 20px;
  }
  /* Images
  -------------------------------------- */
  .future-Image--02 img, .future-Image--03 img {
    width: 100%;
  }
  /* Button
  -------------------------------------- */
  .future-Btn {
    margin: 20px auto 0;
  }
}
/* ========================================
   OUR FUTURE
   Small Smartphone
   400px以下
======================================== */
@media screen and (max-width: 400px) {
  .future-Inner {
    width: calc(100% - 36px);
  }
  .future-Lead {
    font-size: 20px;
  }
  .future-Title {
    font-size: 19px;
  }
  .future-Text {
    font-size: 12px;
  }
}
/* ========================================
   RECRUIT
======================================== */
.recruit {
  width: 100%;
  padding: 115px 0 115px;
  background: #1d324f;
  color: #fff;
}
/* ========================================
   RECRUIT Inner
======================================== */
.recruit-Inner {
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 0 auto;
}
/* ========================================
   RECRUIT Main
======================================== */
.recruit-Main {
  display: grid;
  grid-template-columns:
    minmax(0, 600px) minmax(0, 1fr);
  column-gap: 95px;
  align-items: start;
}
/* ========================================
   RECRUIT Image
======================================== */
.recruit-Image {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.recruit-Image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 600 / 400;
  object-fit: cover;
}
/* ========================================
   RECRUIT Content
======================================== */
.recruit-Content {
  padding-top: 0;
}
/* ========================================
   RECRUIT Heading
======================================== */
.recruit-Heading {
  margin: 0 0 55px;
}
.recruit-Heading-En {
  margin: 0;
  color: #fff;
  font-family:
    "Jost", Arial, "Helvetica Neue", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
.recruit-Heading-Ja {
  margin: 10px 0 0;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
/* ========================================
   RECRUIT Title
======================================== */
.recruit-Title {
  margin: 0;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.09em;
}
/* ========================================
   RECRUIT Text
======================================== */
.recruit-Text {
  margin: 28px 0 0;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
/* ========================================
   RECRUIT Points
======================================== */
.recruit-Points {
  margin-top: 75px;
}
/* Title
---------------------------------------- */
.recruit-Points-Title {
  margin: 0 0 38px;
  color: #b58a4e;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
}
/* ========================================
   RECRUIT Points List
======================================== */
.recruit-Points-List {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  column-gap: 18px;
}
/* ========================================
   RECRUIT Points
======================================== */
.recruit-Points {
  margin-top: 75px;
}
/* Title
---------------------------------------- */
.recruit-Points-Title {
  margin: 0 0 38px;
  color: #b58a4e;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
}
/* ========================================
   RECRUIT Points List
======================================== */
.recruit-Points-List {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 18px;
  align-items: center;
}
/* ========================================
   RECRUIT Point
======================================== */
.recruit-Point {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.recruit-Point img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
/* ========================================
   RECRUIT Points
   Tablet
======================================== */
@media screen and (max-width: 1200px) {
  .recruit-Points {
    margin-top: 65px;
  }
  .recruit-Points-Title {
    margin-bottom: 32px;
    font-size: 25px;
  }
  .recruit-Points-List {
    gap: 12px;
  }
}
/* ========================================
   RECRUIT Points
   Smartphone
======================================== */
@media screen and (max-width: 767px) {
  .recruit-Points {
    margin-top: 55px;
  }
  .recruit-Points-Title {
    margin-bottom: 30px;
    font-size: 22px;
  }
  .recruit-Points-List {
    max-width: 430px;
    margin: 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .recruit-Point {
    width: 100%;
    max-width: 180px;
    justify-self: center;
  }
  /*
   * 7個目だけ中央配置
   */
  .recruit-Point:last-child {
    grid-column: 1 / -1;
  }
}
/* ========================================
   RECRUIT Buttons
======================================== */
.recruit-Buttons {
  max-width: 810px;
  margin: 60px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 28px;
}
/* ========================================
   RECRUIT Button
======================================== */
.recruit-Btn {
  position: relative;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding:
    0 40px 0 20px;
  background: #b58a4e;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition:
    opacity 0.3s ease, transform 0.3s ease;
}
.recruit-Btn:hover {
  opacity: 0.85;
}
.recruit-Btn span {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 19px;
  font-weight: 400;
  line-height: 1;
}
/* ========================================
   RECRUIT
   Tablet
   1200px以下
======================================== */
@media screen and (max-width: 1200px) {
  .recruit {
    padding:
      90px 0;
  }
  .recruit-Inner {
    width: calc(100% - 60px);
  }
  /* Main
  -------------------------------------- */
  .recruit-Main {
    grid-template-columns:
      minmax(0, 1.25fr) minmax(0, 0.9fr);
    column-gap: 60px;
  }
  /* Heading
  -------------------------------------- */
  .recruit-Heading {
    margin-bottom: 40px;
  }
  .recruit-Heading-En {
    font-size: 27px;
  }
  /* Title
  -------------------------------------- */
  .recruit-Title {
    font-size: 26px;
  }
  /* Text
  -------------------------------------- */
  .recruit-Text {
    font-size: 14px;
  }
  /* Points
  -------------------------------------- */
  .recruit-Points {
    margin-top: 65px;
  }
  .recruit-Points-Title {
    font-size: 25px;
  }
  .recruit-Points-List {
    column-gap: 12px;
  }
  .recruit-Point {
    padding:
      12px 5px;
  }
  .recruit-Point-Icon {
    height: 30px;
    margin-bottom: 5px;
    font-size: 23px;
  }
  .recruit-Point-Text {
    font-size: 11px;
  }
  /* Buttons
  -------------------------------------- */
  .recruit-Buttons {
    margin-top: 50px;
  }
}
/* ========================================
   RECRUIT
   Smartphone
   767px以下
======================================== */
@media screen and (max-width: 767px) {
  .recruit {
    padding:
      65px 0;
  }
  .recruit-Inner {
    width: calc(100% - 40px);
  }
  /* =====================================
     Main
  ====================================== */
  .recruit-Main {
    display: flex;
    flex-direction: column;
  }
  /* Image
  -------------------------------------- */
  .recruit-Image {
    order: 2;
    margin-top: 35px;
  }
  /* Content
  -------------------------------------- */
  .recruit-Content {
    order: 1;
  }
  /* Heading
  -------------------------------------- */
  .recruit-Heading {
    margin-bottom: 35px;
  }
  .recruit-Heading-En {
    font-size: 25px;
  }
  .recruit-Heading-Ja {
    font-size: 14px;
  }
  /* Title
  -------------------------------------- */
  .recruit-Title {
    font-size: 25px;
  }
  /* Text
  -------------------------------------- */
  .recruit-Text {
    margin-top: 22px;
    font-size: 16px;
  }
  /* =====================================
     Points
  ====================================== */
  .recruit-Points {
    margin-top: 55px;
  }
  .recruit-Points-Title {
    margin-bottom: 30px;
    font-size: 22px;
  }
  /*
   * SPでは円を無理に7個横並びにせず、
   * 2列に変更
   */
  .recruit-Points-List {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 430px;
    margin: 0 auto;
  }
  .recruit-Point {
    max-width: 180px;
    justify-self: center;
  }
  .recruit-Point-Icon {
    height: 35px;
    font-size: 25px;
  }
  .recruit-Point-Text {
    font-size: 12px;
  }
  /*
   * 7個目を中央へ
   */
  .recruit-Point:last-child {
    grid-column: 1 / -1;
  }
  /* =====================================
     Buttons
  ====================================== */
  .recruit-Buttons {
    width: 100%;
    max-width: 430px;
    margin:
      45px auto 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .recruit-Btn {
    width: min(100%, 267px);
    height: 50px;
    font-size: 16px;
    margin: auto;
    padding: 0 32px 0 25px;
  }
}
/* ========================================
   RECRUIT
   Small Smartphone
   400px以下
======================================== */
@media screen and (max-width: 400px) {
  .recruit-Inner {
    width: calc(100% - 36px);
  }
  .recruit-Title {
    font-size: 22px;
  }
  .recruit-Points-List {
    gap: 14px;
  }
  .recruit-Point {
    padding: 10px;
  }
  .recruit-Point-Text {
    font-size: 11px;
  }
}
/* ========================================
   NEWS
======================================== */
.news {
  width: 100%;
  padding: 120px 0 115px;
  background: #fff;
}
/* ========================================
   NEWS Inner
======================================== */
.news-Inner {
  width: calc(100% - 80px);
  max-width: 860px;
  margin: 0 auto;
}
.news-Inner.news-Btn-sec {
  margin: 52px auto 115px;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
  .news-Inner.news-Btn-sec {
    margin: 52px auto 85px;
  }
}
@media screen and (max-width: 767px) {
  .news-Inner.news-Btn-sec {
    margin: 35px auto 65px;
  }
}
/* ========================================
   NEWS Heading
======================================== */
.news-Heading {
  margin: 0 0 60px;
  text-align: center;
}
.news-Heading-En {
  margin: 0;
  color: #ae8750;
  font-family:
    "Jost", Arial, "Helvetica Neue", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
.news-Heading-Ja {
  margin: 12px 0 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.22em;
}
/* ========================================
   NEWS List
======================================== */
.news-List {
  width: 100%;
  border-top: 1px solid #ccc;
}
/* ========================================
   NEWS Item
======================================== */
.news-Item {
  margin: 0;
  border-bottom: 1px solid #ccc;
}
.news-Item > a {
  width: 100%;
  min-height: 74px;
  display: grid;
  grid-template-columns:
    120px 110px minmax(0, 1fr);
  column-gap: 15px;
  align-items: center;
  padding: 15px 45px;
  color: #231815;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.news-Item > a:hover {
  opacity: 0.6;
}
/* ========================================
   NEWS Date
======================================== */
.news-Date {
  display: block;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
/* ========================================
   NEWS Category
======================================== */
.news-Category {
  width: 98px;
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border: 1px solid #b58a4e;
  color: #b58a4e;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
/* ========================================
   NEWS Title
======================================== */
.news-Title {
  min-width: 0;
  margin: 0;
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.025em;
}
/* ========================================
   NEWS Button
======================================== */
.news-Btn {
  width: 250px;
  margin: 62px auto 0;
}
.news-Btn a {
  position: relative;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px 0 25px;
  background: #b58a4e;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.news-Btn a:hover {
  opacity: 0.8;
}
.news-Btn a span {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 19px;
  font-weight: 400;
  line-height: 1;
}
/* ========================================
   NEWS
   Tablet
   1200px以下
======================================== */
@media screen and (max-width: 1200px) {
  .news {
    padding: 90px 0;
  }
  .news-Inner {
    width: calc(100% - 60px);
  }
  .news-Heading {
    margin-bottom: 50px;
  }
  .news-Heading-En {
    font-size: 27px;
  }
  .news-Item > a {
    grid-template-columns:
      110px 105px minmax(0, 1fr);
    padding:
      15px 30px;
  }
}
/* ========================================
   NEWS
   Smartphone
   767px以下
======================================== */
@media screen and (max-width: 767px) {
  .news {
    padding: 65px 0 70px;
  }
  .news-Inner {
    width: calc(100% - 40px);
  }
  /* Heading
  -------------------------------------- */
  .news-Heading {
    margin-bottom: 40px;
  }
  .news-Heading-En {
    font-size: 25px;
  }
  .news-Heading-Ja {
    margin-top: 9px;
    font-size: 14px;
  }
  /* Item
  -------------------------------------- */
  .news-Item > a {
    min-height: 0;
    grid-template-columns:
      auto 1fr;
    column-gap: 18px;
    row-gap: 10px;
    padding:
      20px 5px;
  }
  /* Date
  -------------------------------------- */
  .news-Date {
    font-size: 14px;
  }
  /* Category
  -------------------------------------- */
  .news-Category {
    width: auto;
    min-width: 85px;
    max-width: max-content;
    min-height: 22px;
    padding:
      2px 10px;
    font-size: 14px;
  }
  /* Title
  -------------------------------------- */
  .news-Title {
    grid-column: 1 / -1;
    font-size: 16px;
    line-height: 1.7;
  }
  /* Button
  -------------------------------------- */
  .news-Btn {
    width: min(100%, 267px);
    margin-top: 45px;
  }
}
/* ========================================
   NEWS
   Small Smartphone
   400px以下
======================================== */
@media screen and (max-width: 400px) {
  .news-Inner {
    width: calc(100% - 36px);
  }
  .news-Date {
    font-size: 13px;
  }
  .news-Category {
    font-size: 13px;
  }
  .news-Title {
    font-size: 16px;
  }
}
/* ========================================
   CONTACT
======================================== */
.contact {
  position: relative;
  width: 100%;
  min-height: 450px;
  display: flex;
  align-items: center;
  padding: 80px 0;
  background:
    linear-gradient(rgba(68, 48, 14, 0.5), rgba(68, 48, 14, 0.5)), url("../img/contact-bg-img.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  color: #fff;
}
/* ========================================
   CONTACT Inner
======================================== */
.contact-Inner {
  position: relative;
  z-index: 1;
  width: calc(100% - 80px);
  max-width: 930px;
  margin: 0 auto;
}
/* ========================================
   CONTACT Heading
======================================== */
.contact-Heading {
  margin: 0 0 55px;
  text-align: center;
}
.contact-Heading-En {
  margin: 0;
  color: #fff;
  font-family:
    "Jost", Arial, "Helvetica Neue", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
.contact-Heading-Ja {
  margin: 12px 0 0;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
/* ========================================
   CONTACT Links
======================================== */
.contact-Links {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}
/* ========================================
   CONTACT Link
======================================== */
.contact-Link {
  position: relative;
  min-width: 0;
  min-height: 96px;
  display: grid;
  grid-template-columns:
    60px minmax(0, 1fr);
  column-gap: 18px;
  align-items: center;
  padding:
    20px 32px 20px 25px;
  border: 1px solid rgba(255, 255, 255, 0.95);
  color: #fff;
  text-decoration: none;
  transition:
    background-color 0.3s ease, border-color 0.3s ease;
}
.contact-Link:hover {
  background-color: rgba(255, 255, 255, 0.12);
}
/* ========================================
   CONTACT Icon
======================================== */
.contact-Link-Icon {
  width: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-Link-Icon img {
  display: block;
  width: 52px;
  max-width: 100%;
  height: auto;
}
/* ========================================
   CONTACT Text
======================================== */
.contact-Link-Text {
  margin: 0;
  color: #fff;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
/* ========================================
   CONTACT Arrow
======================================== */
.contact-Link-Arrow {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-52%);
  color: #fff;
  font-family: "Jost", Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}
/* ========================================
   CONTACT
   Tablet
   1200px以下
======================================== */
@media screen and (max-width: 1200px) {
  .contact {
    min-height: 420px;
    padding: 70px 0;
  }
  .contact-Inner {
    width: calc(100% - 60px);
    max-width: 900px;
  }
  .contact-Heading {
    margin-bottom: 45px;
  }
  .contact-Heading-En {
    font-size: 27px;
  }
  .contact-Links {
    gap: 20px;
  }
  .contact-Link {
    grid-template-columns:
      50px minmax(0, 1fr);
    column-gap: 14px;
    padding:
      18px 35px 18px 18px;
  }
  .contact-Link-Icon {
    width: 50px;
  }
  .contact-Link-Icon img {
    width: 45px;
  }
  .contact-Link-Text {
    font-size: 14px;
  }
}
/* ========================================
   CONTACT
   Smartphone
   767px以下
======================================== */
@media screen and (max-width: 767px) {
  .contact {
    min-height: 0;
    padding: 65px 0;
    background-position: center center;
  }
  .contact-Inner {
    width: calc(100% - 40px);
  }
  /* Heading
  -------------------------------------- */
  .contact-Heading {
    margin-bottom: 40px;
  }
  .contact-Heading-En {
    font-size: 25px;
  }
  .contact-Heading-Ja {
    margin-top: 9px;
    font-size: 14px;
  }
  /* Links
  -------------------------------------- */
  .contact-Links {
    max-width: 430px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  .contact-Link {
    min-height: 90px;
    grid-template-columns:
      55px minmax(0, 1fr);
    column-gap: 18px;
    padding:
      15px 45px 15px 22px;
  }
  .contact-Link-Icon {
    width: 55px;
  }
  .contact-Link-Icon img {
    width: 48px;
  }
  .contact-Link-Text {
    font-size: 16px;
  }
}
/* ========================================
   CONTACT
   Small Smartphone
   400px以下
======================================== */
@media screen and (max-width: 400px) {
  .contact-Inner {
    width: calc(100% - 36px);
  }
  .contact-Link {
    grid-template-columns:
      48px minmax(0, 1fr);
    column-gap: 14px;
    padding-left: 18px;
  }
  .contact-Link-Icon {
    width: 48px;
  }
  .contact-Link-Icon img {
    width: 42px;
  }
  .contact-Link-Text {
    font-size: 16px;
  }
}
/* ========================================
   FOOTER
======================================== */
.footer {
  width: 100%;
  background: #fff;
  color: #231815;
}
/* ========================================
   FOOTER Main
======================================== */
.footer-Main {
  width: 100%;
  padding: 105px 0 105px;
  background: #f3f3f3;
}
/* ========================================
   FOOTER Inner
======================================== */
.footer-Inner {
  width: calc(100% - 80px);
  max-width: 1000px;
  margin: 0 auto;
}
/* ========================================
   FOOTER Logo
======================================== */
.footer-Logo {
  width: 200px;
  margin: 0 auto 50px;
}
.footer-Logo a {
  display: block;
  width: 100%;
}
.footer-Logo img {
  display: block;
  width: 100%;
  height: auto;
}
/* ========================================
   FOOTER Navigation
======================================== */
.footer-Nav {
  width: 100%;
}
/* Common
---------------------------------------- */
.footer-Nav-List {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 34px;
  row-gap: 15px;
  list-style: none;
}
.footer-Nav-List li {
  margin: 0;
  padding: 0;
}
.footer-Nav-List a {
  display: block;
  color: #231815;
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.025em;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.footer-Nav-List a:hover {
  opacity: 0.55;
}
/* Second Row
---------------------------------------- */
.footer-Nav-List--sub {
  margin-top: 17px;
  column-gap: 38px;
}
/* ========================================
   FOOTER SNS
======================================== */
.footer-Sns {
  margin: 48px 0 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  list-style: none;
}
.footer-Sns li {
  margin: 0;
  padding: 0;
}
.footer-Sns a {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    opacity 0.3s ease, transform 0.3s ease;
}
.footer-Sns a:hover {
  opacity: 0.6;
  transform: translateY(-2px);
}
.footer-Sns img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* ========================================
   FOOTER Copyright
======================================== */
.footer-Copyright {
  width: 100%;
  padding: 27px 20px;
  background: #fff;
  text-align: center;
}
.footer-Copyright small {
  color: #231815;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
/* ========================================
   FOOTER
   Tablet
   1200px以下
======================================== */
@media screen and (max-width: 1200px) {
  .footer-Main {
    padding:
      85px 0;
  }
  .footer-Inner {
    width: calc(100% - 60px);
  }
  .footer-Logo {
    width: 180px;
    margin-bottom: 45px;
  }
  .footer-Nav-List {
    column-gap: 25px;
  }
  .footer-Nav-List--sub {
    column-gap: 30px;
  }
  .footer-Nav-List a {
    font-size: 13px;
  }
}
/* ========================================
   FOOTER
   Smartphone
   767px以下
======================================== */
@media screen and (max-width: 767px) {
  .footer-Main {
    padding:
      65px 0 60px;
  }
  .footer-Inner {
    width: calc(100% - 40px);
  }
  /* Logo
  -------------------------------------- */
  .footer-Logo {
    width: 155px;
    margin-bottom: 45px;
  }
  /* Navigation
  -------------------------------------- */
  .footer-Nav-List {
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 0;
    border-top: 1px solid #d3d3d3;
  }
  .footer-Nav-List li {
    border-bottom: 1px solid #d3d3d3;
  }
  .footer-Nav-List a {
    position: relative;
    padding:
      14px 22px 14px 5px;
    font-size: 16px;
    line-height: 1.5;
  }
  .footer-Nav-List a::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-52%);
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
  }
  /* Sub Navigation
  -------------------------------------- */
  .footer-Nav-List--sub {
    margin-top: 25px;
  }
  /* SNS
  -------------------------------------- */
  .footer-Sns {
    margin-top: 40px;
    gap: 23px;
  }
  .footer-Sns a {
    width: 28px;
    height: 28px;
  }
  /* Copyright
  -------------------------------------- */
  .footer-Copyright {
    padding:
      22px 15px;
  }
  .footer-Copyright small {
    font-size: 14px;
  }
}
/* ========================================
   FOOTER
   Small Smartphone
   400px以下
======================================== */
@media screen and (max-width: 400px) {
  .footer-Inner {
    width: calc(100% - 36px);
  }
  .footer-Nav-List {
    column-gap: 14px;
  }
  .footer-Nav-List a {
    font-size: 15px;
  }
  .footer-Sns {
    gap: 20px;
  }
  .footer-Sns a {
    width: 26px;
    height: 26px;
  }
}
/* =========================================================
   PC Design Fine Tuning
   デザインカンプ 1500px 基準
   ※ 1201px以上のPC表示のみ適用
========================================================= */
@media screen and (min-width: 1201px) {
  /* ========================================
     ABOUT
  ======================================== */
  .about {
    padding-top: 115px;
    padding-bottom: 125px;
  }
  .about-Inner {
    max-width: 1275px;
    column-gap: 90px;
  }
  /* ========================================
     OUR BUSINESS
  ======================================== */
  .business {
    padding-bottom: 105px;
  }
  /*
   * カンプに合わせて、
   * 左側の店舗写真を少し大きくする
   */
  .business-Main {
    grid-template-columns:
      minmax(0, calc((100% - 1200px) / 2 + 730px)) minmax(0, 1fr);
  }
  .business-Image > img {
    min-height: 490px;
  }
  /* ========================================
     OUR PHILOSOPHY
  ======================================== */
  /*
   * ここは現在かなりカンプに近いため、
   * 大きく変更しない
   */
  .philosophy {
    padding-bottom: 100px;
  }
  /* ========================================
     OUR FUTURE
  ======================================== */
  .future {
    padding:
      100px 0 95px;
  }
  /*
   * 現在1000px。
   * カンプではコンテンツがもう少し大きいため
   * わずかに拡張。
   */
  .future-Inner {
    max-width: 1080px;
  }
  .future-Lead {
    margin:
      52px 0 60px;
  }
  /*
   * 上段画像を少し大きく
   */
  .future-Block--01 {
    grid-template-columns:
      minmax(0, 0.76fr) minmax(0, 1.1fr);
  }
  .future-Content--01 {
    padding:
      32px 40px 32px 12px;
  }
  /*
   * 下段左右の間隔
   */
  .future-Block--02 {
    column-gap: 75px;
    margin-top: 70px;
  }
  /* ========================================
     RECRUIT
  ======================================== */
  .recruit {
    padding:
      120px 0 125px;
  }
  /*
   * 上段と「7つの安心」の間を
   * カンプに合わせて少し広げる
   */
  .recruit-Points {
    margin-top: 85px;
  }
  .recruit-Points-Title {
    margin-bottom: 42px;
  }
  /*
   * 7アイコンとボタンの間隔
   */
  .recruit-Buttons {
    margin-top: 58px;
  }
  /* ========================================
     NEWS
  ======================================== */
  .news {
    padding:
      125px 0 52px;
  }
  /*
   * 現在860px → 少し拡張
   */
  .news-Inner {
    max-width: 900px;
  }
  .news-Heading {
    margin-bottom: 62px;
  }
  .news-Item > a {
    min-height: 78px;
  }
  .news-Btn {
    margin-top: 65px;
  }
  /* ========================================
     CONTACT
  ======================================== */
  /*
   * CONTACTは現在かなりカンプに近いため
   * 基本構造は変更しない
   */
  .contact-Inner {
    max-width: 930px;
  }
  /* ========================================
     FOOTER
  ======================================== */
  .footer-Main {
    padding:
      100px 0 100px;
  }
  /*
   * カンプより若干大きく見えるロゴを縮小
   */
  .footer-Logo {
    width: 185px;
    margin-bottom: 45px;
  }
  .footer-Sns {
    margin-top: 44px;
  }
}
/* =========================================================
   PC Design Fine Tuning - Step 2
   1500pxカンプ比較による微調整
========================================================= */
@media screen and (min-width: 1201px) {
  /* ========================================
     ABOUT
  ======================================== */
  .about {
    padding-bottom: 105px;
  }
  /* ========================================
     OUR BUSINESS
  ======================================== */
  .business {
    padding-bottom: 90px;
  }
  /* ========================================
     OUR FUTURE
  ======================================== */
  .future {
    padding-bottom: 85px;
  }
  .future-Block--02 {
    margin-top: 65px;
  }
  /* ========================================
     RECRUIT
  ======================================== */
  .recruit {
    padding-top: 115px;
    padding-bottom: 115px;
  }
  .recruit-Points {
    margin-top: 72px;
  }
  .recruit-Points-Title {
    margin-bottom: 38px;
  }
  .recruit-Buttons {
    margin-top: 50px;
  }
}
/* =========================================================
   Tablet Layout
   768px - 960px
========================================================= */
@media screen and (min-width: 768px) and (max-width: 960px) {
  /* ========================================
     COMMON
  ======================================== */
  .about-Inner, .future-Inner, .recruit-Inner, .news-Inner, .contact-Inner, .footer-Inner {
    width: calc(100% - 80px);
  }
  /* ========================================
     HEADER
  ======================================== */
  .site-Header {
    height: 70px;
  }
  .site-Header-Inner {
    padding: 0 30px;
  }
  .site-Header-Logo {
    width: 190px;
    flex-basis: 190px;
  }
  .site-Header-Reserve a {
    width: 150px;
    height: 46px;
    font-size: 12px;
  }
  /* ========================================
     HERO
  ======================================== */
  .hero {
    min-height: 500px;
  }
  .hero-Inner {
    max-width: 800px;
    padding: 0 40px;
  }
  .hero-Title {
    font-size: 34px;
  }
  .hero-Text {
    font-size: 15px;
  }
  .hero-Btn {
    width: 260px;
  }
  /* ========================================
     ABOUT
  ======================================== */
  .about {
    padding:
      85px 0 90px;
  }
  .about-Inner {
    grid-template-columns:
      minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 50px;
  }
  .about-Heading {
    margin-bottom: 38px;
  }
  .about-Heading-En {
    font-size: 27px;
  }
  .about-Heading-Ja {
    font-size: 15px;
  }
  .about-Title {
    font-size: 25px;
  }
  .about-Text {
    font-size: 16px;
    line-height: 1.9;
  }
  .about-Btn {
    margin-top: 30px;
    width: 260px;
  }
  /* ========================================
     OUR BUSINESS
  ======================================== */
  .business {
    padding-bottom: 80px;
  }
  .business-Heading {
    padding:
      70px 30px 50px;
    background:
      linear-gradient(to right, #fff 0, #fff 12%, #f2f2f2 12%, #f2f2f2 100%);
  }
  .business-Main {
    grid-template-columns:
      56% 44%;
  }
  .business-Image > img {
    min-height: 420px;
  }
  .business-Shop {
    right: 20px;
    width: 250px;
  }
  .business-Shop-Copy {
    font-size: 12px;
  }
  .business-Shop-Name {
    font-size: 19px;
  }
  .business-Shop-Info {
    font-size: 14px;
  }
  .business-Content {
    padding:
      50px 30px;
  }
  .business-Title {
    font-size: 23px;
  }
  .business-Text {
    margin-top: 20px;
    font-size: 16px;
  }
  .business-Btn {
    width: 260px;
    margin-top: 30px;
  }
  /* ========================================
     OUR PHILOSOPHY
  ======================================== */
  .philosophy {
    padding-bottom: 75px;
  }
  .philosophy-Inner {
    width: calc(100% - 80px);
    min-height: 410px;
    padding:
      55px 45px;
    grid-template-columns:
      1.0fr 1.2fr;
    column-gap: 45px;
  }
  .philosophy-Heading-En {
    font-size: 25px;
  }
  .philosophy-Heading-Ja {
    font-size: 13px;
  }
  .philosophy-Title {
    font-size: 22px;
  }
  .philosophy-Text {
    font-size: 16px;
  }
  .philosophy-Btn {
    width: 260px;
  }
  /* ========================================
     OUR FUTURE
  ======================================== */
  .future {
    padding:
      75px 0;
  }
  .future-Inner {
    max-width: 820px;
  }
  .future-Heading-En {
    font-size: 27px;
  }
  .future-Lead {
    margin:
      42px 0 48px;
    font-size: 28px;
  }
  .future-Block--01 {
    grid-template-columns:
      minmax(0, 0.85fr) minmax(0, 0.9fr);
  }
  .future-Content--01 {
    padding:
      28px 30px 28px 10px;
  }
  .future-Title {
    font-size: 19px;
  }
  .future-Text {
    margin-top: 16px;
    font-size: 16px;
  }
  .future-Block--02 {
    column-gap: 40px;
    margin-top: 55px;
  }
  .future-Content--02 {
    margin-left: 12px;
    padding:
      35px 5px 20px 22px;
  }
  .future-Content--03 {
    margin-left: 12px;
    padding:
      5px 5px 30px 22px;
  }
  .future-Tech-Btn, .future-Btn {
    width: 260px;
  }
  /* ----------------------------------------
     PC / Tablet用罫線を削除
  ---------------------------------------- */
  .future-Content--01::before, .future-Content--02::before, .future-Content--03::before {
    content: none;
    display: none;
  }
  /* ========================================
     RECRUIT
  ======================================== */
  .recruit {
    padding:
      85px 0;
  }
  .recruit-Main {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.0fr);
    column-gap: 45px;
  }
  .recruit-Heading {
    margin-bottom: 30px;
  }
  .recruit-Heading-En {
    font-size: 26px;
  }
  .recruit-Title {
    font-size: 24px;
  }
  .recruit-Text {
    font-size: 16px;
  }
  .recruit-Points {
    margin-top: 55px;
  }
  .recruit-Points-Title {
    margin-bottom: 30px;
    font-size: 23px;
  }
  /*
   * 7個を無理に1列へ押し込まず、
   * タブレットでは4 + 3にする
   */
  .recruit-Points-List {
    max-width: 650px;
    margin: 0 auto;
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
    gap:
      20px 25px;
  }
  .recruit-Point {
    max-width: 125px;
    margin: 0 auto;
  }
  .recruit-Buttons {
    margin-top: 45px;
    gap: 15px;
  }
  .recruit-Btn {
    font-size: 12px;
  }
  /* ========================================
     NEWS
  ======================================== */
  .news {
    padding:
      80px 0;
  }
  .news-Inner {
    max-width: 820px;
  }
  .news-Heading {
    margin-bottom: 45px;
  }
  .news-Item > a {
    grid-template-columns:
      105px 100px minmax(0, 1fr);
    padding:
      15px 20px;
  }
  .news-Btn {
    width: 260px;
  }
  /* ========================================
     CONTACT
  ======================================== */
  .contact {
    min-height: 400px;
    padding:
      65px 0;
  }
  .contact-Inner {
    max-width: 820px;
  }
  .contact-Heading {
    margin-bottom: 40px;
  }
  .contact-Links {
    gap: 15px;
  }
  .contact-Link {
    grid-template-columns:
      42px minmax(0, 1fr);
    column-gap: 10px;
    padding:
      16px 30px 16px 14px;
  }
  .contact-Link-Icon {
    width: 42px;
  }
  .contact-Link-Icon img {
    width: 38px;
  }
  .contact-Link-Text {
    font-size: 1.6vw;
  }
  /* ========================================
     FOOTER
  ======================================== */
  .footer-Main {
    padding:
      75px 0;
  }
  .footer-Logo {
    width: 165px;
    margin-bottom: 40px;
  }
  .footer-Nav-List {
    column-gap: 20px;
    row-gap: 12px;
  }
  .footer-Nav-List a {
    font-size: 14px;
  }
  .footer-Nav-List--sub {
    margin-top: 15px;
    column-gap: 25px;
  }
  .footer-Sns {
    margin-top: 38px;
  }
}
/* =========================================================
   Tablet Fine Tuning
   768px - 834px
========================================================= */
@media screen and (min-width: 768px) and (max-width: 834px) {
  /* ========================================
     ABOUT
  ======================================== */
  /*
   * 左側コンテンツとの高さの差を小さくするため、
   * 画像を少し縦長にする
   */
  .about-Image {
    height: 100%;
    max-height: 360px;
  }
  .about-Image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* ========================================
     RECRUIT
  ======================================== */
  /*
   * 左画像を右側コンテンツの高さへ
   * 少し近づける
   */
  .recruit-Image {
    height: 100%;
    max-height: 390px;
  }
  .recruit-Image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* ========================================
     ABOUT
  ======================================== */
  .about-Image {
    height: 100%;
    max-height: 360px;
  }
  .about-Image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* ========================================
     RECRUIT Main Image
  ======================================== */
  .recruit-Image {
    height: 100%;
    max-height: 390px;
  }
  .recruit-Image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* ========================================
     RECRUIT 7 POINTS
  ======================================== */
  .recruit-Points-List {
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap:
      25px 30px;
  }
  .recruit-Point {
    /*
     * 4個 + gap3個 が
     * 1行へ収まるサイズ
     */
    width: calc((100% - 90px) / 4);
    max-width: 125px;
    margin: 0;
  }
}
/* =========================================================
   Smartphone Fine Tuning
   767px以下
========================================================= */
@media screen and (max-width: 767px) {
  /* ========================================
     HERO
  ======================================== */
  .hero {
    min-height: 520px;
  }
  .hero-Inner {
    padding:
      0 20px;
  }
  .hero-Title {
    font-size: 30px;
    line-height: 1.7;
  }
  .hero-Text {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.9;
  }
  .hero-Buttons {
    margin-top: 25px;
    gap: 10px;
  }
  /* ========================================
     ABOUT
  ======================================== */
  .about {
    padding:
      55px 0 65px;
  }
  .about-Inner {
    width: calc(100% - 40px);
    row-gap: 30px;
  }
  /*
   * 834px用のheight:100%等を確実に解除
   */
  .about-Image {
    width: 100%;
    height: auto;
    max-height: none;
  }
  .about-Image img {
    width: 100%;
    height: auto;
    object-fit: initial;
  }
  .about-Heading {
    margin-bottom: 28px;
  }
  .about-Title {
    font-size: 25px;
    line-height: 1.8;
  }
  .about-Text, .futurePage p {
    margin-top: 22px;
    font-size: 16px;
    line-height: 2;
  }
  .about-Btn {
    margin: 30px auto 0;
  }
  /* ========================================
     OUR BUSINESS
  ======================================== */
  .business {
    padding-bottom: 65px;
  }
  .business-Heading {
    padding: 55px 20px 0;
  }
  .business-Image > img {
    min-height: 0;
    height: auto;
  }
  .business-Content {
    padding:
      35px 20px 0;
  }
  .business-Title {
    font-size: 25px;
    line-height: 1.75;
  }
  .business-Text {
    font-size: 16px;
    line-height: 2;
  }
  /* ========================================
     OUR PHILOSOPHY
  ======================================== */
  .philosophy {
    padding: 65px 20px 65px;
  }
  .philosophy-Inner {
    width: 100%;
    min-height: 430px;
    padding:
      40px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-position:
      center center;
  }
  .philosophy-Heading {
    width: 100%;
  }
  .philosophy-Content {
    width: 100%;
    margin-top: 30px;
  }
  .philosophy-Title {
    font-size: 25px;
    line-height: 1.8;
  }
  .philosophy-Text {
    margin-top: 20px;
    font-size: 16px;
    line-height: 2;
  }
  /* ========================================
     OUR FUTURE
  ======================================== */
  .future {
    padding:
      60px 0 65px;
  }
  .future-Inner {
    width: calc(100% - 40px);
  }
  .future-Lead {
    margin: 35px 0 42px;
    font-size: 22px;
    text-align: center;
  }
  .future-Title {
    font-size: 18px;
    line-height: 1.8;
  }
  .future-Text {
    margin-top: 15px;
    font-size: 11px;
    line-height: 1.9;
  }
  .future-Block--02 {
    margin-top: 45px;
  }
  /* ========================================
     RECRUIT
  ======================================== */
  .recruit {
    padding:
      60px 0 65px;
  }
  .recruit-Inner {
    width: calc(100% - 40px);
  }
  /*
   * タブレット用画像指定をリセット
   */
  .recruit-Image {
    width: 100%;
    height: auto;
    max-height: none;
  }
  .recruit-Image img {
    width: 100%;
    height: auto;
    object-fit: initial;
  }
  .recruit-Points {
    margin-top: 50px;
  }
  .recruit-Points-Title {
    margin-bottom: 30px;
    font-size: 25px;
  }
  /*
   * スマホでは2列
   */
  .recruit-Points-List {
    width: 100%;
    max-width: 300px;
    margin:
      0 auto;
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
    gap:
      22px 28px;
  }
  .recruit-Point {
    width: 100%;
    max-width: 125px;
    margin:
      0 auto;
  }
  /*
   * 最後の1個を中央へ
   */
  .recruit-Point:last-child {
    grid-column:
      1 / -1;
  }
  .recruit-Buttons {
    margin-top: 38px;
    gap: 10px;
  }
  /* ========================================
     NEWS
  ======================================== */
  .news {
    padding: 65px 0 35px;
  }
  .news-Inner {
    width: calc(100% - 40px);
  }
  .news-Heading {
    margin-bottom: 40px;
  }
  .news-Item > a {
    padding: 20px 5px;
  }
  .news-Title {
    margin-top: 10px;
    line-height: 1.8;
  }
  .news-Btn {
    margin-top: 40px;
  }
  /* ========================================
     CONTACT
  ======================================== */
  .contact {
    padding:
      55px 0;
  }
  .contact-Inner {
    width: calc(100% - 40px);
  }
  .contact-Heading {
    margin-bottom: 35px;
  }
  .contact-Links {
    gap: 10px;
  }
  .contact-Link {
    min-height: 72px;
    padding:
      12px 40px 12px 18px;
  }
  /* ========================================
     FOOTER
  ======================================== */
  .footer-Main {
    padding:
      55px 0 50px;
  }
  .footer-Logo {
    width: 140px;
    margin-bottom: 50px;
  }
}
/* =========================================================
   Smartphone Fine Tuning - Step 2
   767px以下
========================================================= */
@media screen and (max-width: 767px) {
  /* ========================================
     ① OUR BUSINESS
     ボタン下の背景余白を確保
  ======================================== */
  .business {
    padding-bottom: 0;
  }
  .business-Content {
    padding:
      35px 20px 45px;
  }
  /* ========================================
     ② OUR FUTURE
     全ブロックを
     画像 → タイトル → 本文
     に統一
  ======================================== */
  /* 上段 */
  .future-Block--01 {
    display: flex;
    flex-direction: column;
  }
  .future-Image--01 {
    order: 1;
  }
  .future-Content--01 {
    order: 2;
  }
  /* 下段 */
  .future-Block--02 {
    display: flex;
    flex-direction: column;
    margin-top: 40px;
  }
  .future-Left, .future-Right {
    width: 100%;
  }
  /*
   * 左側
   * 画像02 → Content02
   */
  .future-Left {
    display: flex;
    flex-direction: column;
  }
  .future-Image--02 {
    order: 1;
  }
  .future-Content--02 {
    order: 2;
  }
  /*
   * 右側
   * 画像03 → Content03
   */
  .future-Right {
    display: flex;
    flex-direction: column;
    margin-top: 40px;
  }
  .future-Image--03 {
    order: 1;
  }
  .future-Content--03 {
    order: 2;
  }
  /* ----------------------------------------
     画像をすべてコンテンツ幅いっぱいに
  ---------------------------------------- */
  .future-Image--01, .future-Image--02, .future-Image--03 {
    width: 100%;
  }
  .future-Image--01 img, .future-Image--02 img, .future-Image--03 img {
    display: block;
    width: 100%;
    height: auto;
  }
  /* ----------------------------------------
     テキスト位置を統一
  ---------------------------------------- */
  .future-Content--01, .future-Content--02, .future-Content--03 {
    width: 100%;
    margin:
      0;
    padding:
      22px 0 0;
    text-align: left;
  }
  /* ----------------------------------------
     タイトル・本文
  ---------------------------------------- */
  .future-Title {
    margin: 0;
    font-size: 25px;
    line-height: 1.8;
    text-align: left;
  }
  .future-Text {
    margin:
      14px 0 0;
    font-size: 16px;
    line-height: 1.9;
    text-align: left;
  }
  /* ----------------------------------------
     FUTURE内ボタン
  ---------------------------------------- */
  .future-Tech-Btn {
    margin: 30px auto 0;
  }
  /* ========================================
     ③ RECRUIT
     アイコンを拡大・左右間隔を縮小
  ======================================== */
  .recruit-Points-List {
    width: 100%;
    max-width: 100%;
    margin:
      0 auto;
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
    column-gap: 14px;
    row-gap: 22px;
  }
  .recruit-Point {
    width: 100%;
    max-width: 200px;
    margin:
      0 auto;
  }
  .recruit-Point img {
    width: 100%;
    height: auto;
  }
  .recruit-Point:last-child {
    grid-column:
      1 / -1;
  }
  /* ========================================
     ④ CONTACT
     アイコン位置維持・テキスト中央
  ======================================== */
  .contact-Link {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 72px;
    padding:
      12px 32px 12px 18px;
  }
  .contact-Link-Icon {
    flex:
      0 0 48px;
    width: 48px;
  }
  .contact-Link-Text {
    flex: 1;
    margin: 0;
    padding-right: 48px;
    text-align: center;
  }
  /* ========================================
     ⑤ FOOTER
     ナビの罫線を削除
  ======================================== */
  .footer-Nav-List {
    border-top: 0;
  }
  .footer-Nav-List li {
    border-bottom: 0;
  }
  .footer-Nav-List a {
    padding:
      10px 18px 10px 0;
  }
  /* ========================================
     ⑥ FOOTER SNS
  ======================================== */
  .footer-Sns {
    margin-top: 35px;
    gap: 5px;
  }
  .footer-Sns a {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .footer-Sns img {
    width: 40px;
    height: 40px;
    object-fit: contain;
  }
}
@media screen and (max-width: 400px) {
  .recruit-Points-List {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}
/* =========================================================
   MOBILE MENU
========================================================= */
/* PCでは非表示 */
.menu-Toggle, .mobile-Menu {
  display: none;
}
/* =========================================================
   Smartphone
   1200px以下
========================================================= */
@media screen and (max-width: 1200px) {
  /* Reservation
  -------------------------------------- */
  .site-Header-Reserve {
    display: none;
  }
  /* ========================================
     Hamburger Button
  ======================================== */
  .menu-Toggle {
    position: relative;
    z-index: 1002;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    background: #1d324f;
    cursor: pointer;
  }
  .menu-Toggle span {
    display: block;
    width: 22px;
    height: 1px;
    background: #fff;
    transition:
      transform 0.3s ease, opacity 0.3s ease;
  }
  /* ========================================
     Menu Background
  ======================================== */
  .mobile-Menu {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
    width: 100%;
    height: 100dvh;
    display: block;
    overflow-y: auto;
    background: #f4f2ee;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition:
      opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  }
  /* Open */
  .mobile-Menu.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  /* ========================================
     Inner
  ======================================== */
  .mobile-Menu-Inner {
    width: 100%;
    min-height: 100%;
    padding:
      0 20px 50px;
  }
  /* ========================================
     Header
  ======================================== */
  .mobile-Menu-Head {
    min-height: 85px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .mobile-Menu-Title {
    margin: 0;
    display: flex;
    align-items: center;
    color: #231815;
    font-family:
      "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  }
  .mobile-Menu-Title span {
    font-size: 28px;
    line-height: 1;
  }
  .mobile-Menu-Title small {
    position: relative;
    margin-left: 40px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.08em;
  }
  .mobile-Menu-Title small::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -21px;
    width: 1px;
    height: 30px;
    background: #ae8750;
    transform: translateY(-50%);
  }
  /* ========================================
     Close Button
  ======================================== */
  .mobile-Menu-Close {
    position: relative;
    width: 58px;
    height: 58px;
    margin-right: -20px;
    border: 0;
    background: #1d324f;
    cursor: pointer;
  }
  .mobile-Menu-Close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 1px;
    background: #fff;
  }
  .mobile-Menu-Close span:first-child {
    transform:
      translate(-50%, -50%) rotate(45deg);
  }
  .mobile-Menu-Close span:last-child {
    transform:
      translate(-50%, -50%) rotate(-45deg);
  }
  /* ========================================
     Navigation
  ======================================== */
  .mobile-Nav {
    width: 100%;
    margin-top: 15px;
    padding:
      10px 22px;
    border-radius: 18px;
    background: #fff;
  }
  .mobile-Nav-List, .mobile-Nav-Sub {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mobile-Nav-Item {
    border-bottom: 1px solid #d8d8d8;
  }
  .mobile-Nav-Item:last-child {
    border-bottom: 0;
  }
  /* ========================================
     First Level
  ======================================== */
  .mobile-Nav-Item > a, .mobile-Nav-Row > a {
    color: #231815;
    font-family:
      "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-decoration: none;
  }
  .mobile-Nav-Item > a {
    min-height: 62px;
    display: flex;
    align-items: center;
    padding:
      12px 5px;
  }
  /* Parent */
  .mobile-Nav-Row {
    min-height: 62px;
    display: grid;
    grid-template-columns:
      minmax(0, 1fr) 45px;
    align-items: center;
  }
  .mobile-Nav-Row > a {
    display: flex;
    align-items: center;
    min-height: 62px;
    padding:
      12px 5px;
  }
  /* ========================================
     Accordion Button
  ======================================== */
  .mobile-Nav-Accordion {
    position: relative;
    width: 45px;
    height: 62px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  /*
   * CSSだけで下向き矢印
   */
  .mobile-Nav-Accordion span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #ae8750;
    border-bottom: 2px solid #ae8750;
    transform:
      translate(-50%, -70%) rotate(45deg);
    transition:
      transform 0.3s ease;
  }
  /* Open arrow */
  .mobile-Nav-Accordion[aria-expanded="true"] span {
    transform:
      translate(-50%, -25%) rotate(225deg);
  }
  /* ========================================
   Second Level
======================================== */
  .mobile-Nav-Sub {
    display: block;
    max-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #f3f1ed;
    opacity: 0;
    transition:
      max-height 0.35s ease, opacity 0.25s ease;
  }
  /* アコーディオンOPEN */
  .mobile-Nav-Item.is-open .mobile-Nav-Sub {
    max-height: 500px;
    opacity: 1;
  }
  .mobile-Nav-Sub li {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mobile-Nav-Sub a {
    display: block;
    padding:
      14px 25px 14px 40px;
    color: #4a403b;
    font-family:
      "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    text-decoration: none;
  }
  /* ========================================
     Bottom Button
  ======================================== */
  .mobile-Menu-Buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 25px;
  }
  .mobile-Menu-Btn {
    position: relative;
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding:
      12px 45px;
    background: #ae8750;
    color: #fff;
    font-family:
      "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
  }
  .mobile-Menu-Btn span {
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-52%);
    font-family: "Jost", Arial, sans-serif;
    font-size: 20px;
  }
  /* ========================================
     Menu Open Body
  ======================================== */
  body.is-menu-open {
    overflow: hidden;
  }
}
@media screen and (max-width: 1200px) {
  /* ========================================
     Hamburger Button
     ヘッダー右端に配置
  ======================================== */
  .site-Header-Inner {
    position: relative;
  }
  .menu-Toggle {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1002;
    width: 70px;
    height: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    background: #1d324f;
    cursor: pointer;
  }
  .menu-Toggle span {
    display: block;
    width: 26px;
    height: 1px;
    background: #fff;
  }
}
@media screen and (max-width: 1200px) {
  /* =====================================================
     設定値

     --menu-panel-width
       右側メニューパネルの幅

     --menu-button-width
       左へ移動するMENUボタンの幅
  ===================================================== */ :root {
    --menu-panel-width: 78vw;
    --menu-button-width: 70px;
  }
  /* ========================================
     Hamburger
  ======================================== */
  .menu-Toggle {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 3003;
    width: var(--menu-button-width);
    height: 70px;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    background: #1d324f;
    cursor: pointer;
    transition:
      right 0.4s ease;
  }
  .menu-Toggle span {
    display: block;
    width: 25px;
    height: 1px;
    background: #fff;
    transform-origin: center;
    transition:
      transform 0.3s ease, opacity 0.3s ease;
  }
  /* ========================================
     OPEN時
     ボタンをメニューパネル左へ移動
  ======================================== */
  body.is-menu-open .menu-Toggle {
    right: var(--menu-panel-width);
  }
  /* 1本目 */
  body.is-menu-open .menu-Toggle span:nth-child(1) {
    transform:
      translateY(7px) rotate(45deg);
  }
  /* 2本目 */
  body.is-menu-open .menu-Toggle span:nth-child(2) {
    opacity: 0;
  }
  /* 3本目 */
  body.is-menu-open .menu-Toggle span:nth-child(3) {
    transform:
      translateY(-7px) rotate(-45deg);
  }
  /* ========================================
     Mobile Menu
  ======================================== */
  .mobile-Menu {
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    z-index: 3000;
    width: 100%;
    height: 100dvh;
    display: block;
    visibility: hidden;
    background: transparent;
    opacity: 0;
    pointer-events: none;
    transition:
      visibility 0.4s ease, opacity 0.4s ease;
  }
  .mobile-Menu.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  /* ========================================
     Overlay
  ======================================== */
  .mobile-Menu-Overlay {
    position: absolute;
    inset: 0;
    background:
      rgba(0, 0, 0, 0.38);
    opacity: 0;
    transition:
      opacity 0.4s ease;
  }
  .mobile-Menu.is-open .mobile-Menu-Overlay {
    opacity: 1;
  }
  /* ========================================
     Menu Panel
  ======================================== */
  .mobile-Menu-Panel {
    position: absolute;
    top: 0;
    right: 0;
    width: var(--menu-panel-width);
    height: 100%;
    padding:
      0 0 40px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background:
      rgba(255, 255, 255, 0.97);
    transform:
      translateX(100%);
    transition:
      transform 0.4s ease;
  }
  .mobile-Menu.is-open .mobile-Menu-Panel {
    transform:
      translateX(0);
  }
  /* ========================================
     Navigation
  ======================================== */
  .mobile-Nav {
    width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
  }
  .mobile-Nav-List, .mobile-Nav-Sub {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mobile-Nav-Item {
    border-bottom:
      1px solid rgba(29, 50, 79, 0.25);
  }
  /* ========================================
     First Level
  ======================================== */
  .mobile-Nav-Item > a, .mobile-Nav-Row > a {
    color: #231815;
    font-family:
      "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-decoration: none;
  }
  .mobile-Nav-Item > a {
    min-height: 68px;
    display: flex;
    align-items: center;
    padding:
      15px 25px;
  }
  /* ========================================
     Parent Row
  ======================================== */
  .mobile-Nav-Row {
    min-height: 68px;
    display: grid;
    grid-template-columns:
      minmax(0, 1fr) 60px;
    align-items: stretch;
  }
  .mobile-Nav-Row > a {
    display: flex;
    align-items: center;
    padding:
      15px 25px;
  }
  /* ========================================
     Accordion Arrow
  ======================================== */
  .mobile-Nav-Accordion {
    position: relative;
    width: 60px;
    height: 100%;
    min-height: 68px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .mobile-Nav-Accordion span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-right:
      2px solid #ae8750;
    border-bottom:
      2px solid #ae8750;
    transform:
      translate(-50%, -70%) rotate(45deg);
    transition:
      transform 0.3s ease;
  }
  .mobile-Nav-Accordion[aria-expanded="true"] span {
    transform:
      translate(-50%, -25%) rotate(225deg);
  }
  /* ========================================
     Second Level
  ======================================== */
  .mobile-Nav-Sub {
    background: #f3f1ed;
    transition:
      grid-template-rows 0.35s ease;
  }
  .mobile-Nav-Sub a {
    display: block;
    padding:
      14px 25px 14px 40px;
    color: #4a403b;
    font-family:
      "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    text-decoration: none;
  }
  /* ========================================
     CTA
  ======================================== */
  .mobile-Menu-Buttons {
    margin:
      30px 20px 0;
  }
  .mobile-Menu-Btn {
    position: relative;
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding:
      12px 45px;
    background: #ae8750;
    color: #fff;
    font-family:
      "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
  }
  .mobile-Menu-Btn span {
    position: absolute;
    top: 50%;
    right: 20px;
    transform:
      translateY(-50%);
    font-family:
      "Jost", Arial, sans-serif;
    font-size: 20px;
  }
  .mobile-Menu-Btn--reserve {
    background: #1d324f;
  }
  .mobile-Menu-Btn--contact {
    background: #ae8750;
  }
  /* ========================================
     Body Lock
  ======================================== */
  body.is-menu-open {
    overflow: hidden;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  :root {
    --menu-panel-width: 520px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --menu-panel-width: 78vw;
  }
}
/* ========================================
   Responsive Line Break
======================================== */
/* デフォルト：非表示 */
.br-1200, .br-960, .br-768, .br-460, .br-400 {
  display: none;
}
/* 1200px以下で改行 */
@media screen and (max-width: 1200px) {
  .br-1200 {
    display: block;
  }
}
/* 960px以下で改行 */
@media screen and (max-width: 960px) {
  .br-960 {
    display: block;
  }
}
/* 768px以下で改行 */
@media screen and (max-width: 768px) {
  .br-768 {
    display: block;
  }
}
/* 460px以下で改行 */
@media screen and (max-width: 460px) {
  .br-460 {
    display: block;
  }
}
/* 400px以下で改行 */
@media screen and (max-width: 400px) {
  .br-400 {
    display: block;
  }
}
/* ========================================
   Responsive Line Break - Hide
======================================== */
/* デフォルト：改行する */
.br-hide-1200, .br-hide-960, .br-hide-768, .br-hide-460, .br-hide-400 {
  display: block;
}
/* 1200px以下で改行解除 */
@media screen and (max-width: 1200px) {
  .br-hide-1200 {
    display: none;
  }
}
/* 960px以下で改行解除 */
@media screen and (max-width: 960px) {
  .br-hide-960 {
    display: none;
  }
}
/* 768px以下で改行解除 */
@media screen and (max-width: 768px) {
  .br-hide-768 {
    display: none;
  }
}
/* 460px以下で改行解除 */
@media screen and (max-width: 460px) {
  .br-hide-460 {
    display: none;
  }
}
/* 400px以下で改行解除 */
@media screen and (max-width: 400px) {
  .br-hide-400 {
    display: none;
  }
}
/* ========================================
   Global Navigation
======================================== */
.global-Nav-List {
  display: flex;
  align-items: center;
}
.global-Nav-Item {
  position: relative;
}
/* ========================================
   Parent Menu
======================================== */
.global-Nav-Link {
  display: flex;
  align-items: center;
  gap: 10px;
}
/* ========================================
   Second Level
======================================== */
.global-Nav-Sub {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 280px;
  margin: 0;
  padding: 0;
  list-style: none;
  /*
   * 少し透過した白背景
   * 0.92を小さくするとさらに透過します
   */
  background: rgba(255, 255, 255, 0.92);
  /* 背景を少しぼかす */
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  opacity: 0;
  visibility: hidden;
  transform:
    translate(-50%, -10px);
  transition:
    opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 100;
}
@media screen and (max-width: 960px) {
  .global-Nav-Sub {
    display: none;
  }
}
/* ========================================
   Second Level Item
======================================== */
.global-Nav-Sub li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(180, 138, 76, 0.5);
}
.global-Nav-Sub li:last-child {
  border-bottom: none;
}
/* ========================================
   Second Level Link
======================================== */
.global-Nav-Sub a {
  position: relative;
  display: block;
  padding:
    20px 25px 20px 48px;
  color: #1a1715;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
  transition:
    background-color 0.25s ease, color 0.25s ease;
}
/* 「－」部分 */
.global-Nav-Sub a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 25px;
  width: 10px;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
/* ホバー */
.global-Nav-Sub a:hover, .global-Nav-Sub a:focus-visible {
  background: rgba(180, 138, 76, 0.12);
}
/* ========================================
   Dropdown
======================================== */
.global-Nav-Item--dropdown {
  position: relative;
}
/* 親と子の間のホバー領域を確保 */
.global-Nav-Item--dropdown::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 20px;
}
/* ========================================
   Second Level
======================================== */
.global-Nav-Sub {
  position: absolute;
  /* 20px余白を追加 */
  top: calc(100% + 20px);
  left: 50%;
  width: 280px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -10px);
  transition:
    opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 100;
}
/* OPEN */
.global-Nav-Item--dropdown:hover > .global-Nav-Sub, .global-Nav-Item--dropdown:focus-within > .global-Nav-Sub {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
/* ========================================
   Typography Calibration
   1500px design comp matching
   Shippori Mincho / Jost
   2026-09-25
======================================== */
/* Japanese text rendering */
.about-Heading-Ja, .about-Title, .about-Text, .business-Heading-Ja, .business-Shop, .business-Title, .business-Text, .philosophy-Heading-Ja, .philosophy-Title, .philosophy-Text, .future-Heading-Ja, .future-Lead, .future-Title, .future-Text, .recruit-Heading-Ja, .recruit-Title, .recruit-Text, .recruit-Points-Title, .news-Heading-Ja, .news-Date, .news-Category, .news-Title, .news-Btn a, .global-Nav-Sub a, .futurePage p {
  font-family:
    "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}
.wp-singular .post_content h2.philosophy-Heading-Ja, .wp-singular .post_content h2.recruit-Heading-Ja {
  color: #fff;
}
/* Latin / section headings */
.about-Heading-En, .business-Heading-En, .philosophy-Heading-En, .future-Heading-En, .recruit-Heading-En, .news-Heading-En, .way-Heading-En, .symbol-Heading-En, .company-Heading-En, .page-Heading-En {
  font-family: "Jost", Arial, "Helvetica Neue", sans-serif;
}
/* Desktop: 1500px comp calibration */
@media screen and (min-width: 1201px) {
  .about-Heading-En, .philosophy-Heading-En, .business-Heading-En, .future-Heading-En, .recruit-Heading-En, .news-Heading-En, .way-Heading-En, .symbol-Heading-En, .company-Heading-En, .page-Heading-En {
    font-size: 40px;
  }
  .about-Heading-Ja, .business-Heading-Ja, .philosophy-Heading-Ja, .future-Heading-Ja, .recruit-Heading-Ja, .news-Heading-Ja {
    font-size: 18px;
  }
  .about-Title {
    font-size: 33px;
    line-height: 1.72;
  }
  .about-Text {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.025em;
  }
  .business-Title {
    font-size: 33px;
    line-height: 1.68;
  }
  .business-Text {
    font-size: 16px;
    line-height: 1.95;
  }
  .business-Shop-Copy {
    font-size: 16px;
  }
  .business-Shop-Name {
    font-size: 27px;
  }
  .business-Shop-Info {
    font-size: 16px;
    line-height: 1.6;
  }
  .philosophy-Title {
    font-size: 33px;
    line-height: 1.72;
  }
  .philosophy-Text {
    font-size: 16px;
    line-height: 1.95;
  }
  .future-Lead {
    font-size: 28px;
    line-height: 1.65;
  }
  .future-Title {
    font-size: 25px;
    line-height: 1.68;
  }
  .future-Text {
    font-size: 16px;
    line-height: 1.95;
  }
  .recruit-Title {
    font-size: 33px;
    line-height: 1.75;
  }
  .recruit-Text {
    font-size: 16px;
    line-height: 1.95;
  }
  .recruit-Points-Title {
    font-size: 33px;
  }
  .news-Date {
    font-size: 15px;
  }
  .news-Category {
    font-size: 14px;
  }
  .news-Title {
    font-size: 16px;
    line-height: 1.75;
  }
}
/* Tablet: keep the established layout while compensating for Shippori Mincho */
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .about-Text, .business-Text, .philosophy-Text, .future-Text, .recruit-Text {
    line-height: 1.95;
  }
}
/* Smartphone: preserve the completed responsive balance */
@media screen and (max-width: 767px) {
  .about-Title, .business-Title, .philosophy-Title, .future-Lead, .future-Title, .recruit-Title {
    font-weight: 500;
  }
  .about-Text, .business-Text, .philosophy-Text, .future-Text, .recruit-Text, .news-Title, .futurePage p {
    font-weight: 500;
  }
}
/* ========================================
   OUR BUSINESS
   Google Map Link
======================================== */
.business-Map-Link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  line-height: 1.5;
  transition: opacity 0.3s ease;
}
.business-Map-Link:hover {
  opacity: 0.7;
}
/* 外部リンクアイコン */
.business-Map-Icon {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  border: 1.5px solid currentColor;
  box-sizing: border-box;
}
/* 右上の矢印 */
.business-Map-Icon::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: -4px;
  right: -4px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
}
/* 斜めの線 */
.business-Map-Icon::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 1.5px;
  top: 3px;
  right: -2px;
  background: currentColor;
  transform: rotate(-45deg);
  transform-origin: center;
}
.business-Map-Link, .business-Map-Link:visited {
  color: #fff;
}
/* ========================================
   Small Smartphone
   400px以下
======================================== */
@media screen and (max-width: 400px) {
  .future-Title {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .recruit-Points-List {
    display: grid;
    grid-template-columns: repeat(3, 120px);
    justify-content: center;
    gap: 20px 20px;
  }
  .recruit-Point {
    width: 120px;
  }
  .recruit-Point img {
    display: block;
    width: 100%;
    height: auto;
  }
  .recruit-Point:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
  }
}
@media screen and (max-width: 400px) {
  .recruit-Points-List {
    grid-template-columns: repeat(2, 150px);
  }
  .recruit-Point {
    width: 150px;
  }
}
.business-Main {
  display: grid;
  grid-template-columns: 55% 45%;
  grid-template-areas:
    "image content"
    "image button";
}
.business-Image {
  grid-area: image;
}
.business-Content {
  grid-area: content;
}
.business-Btn {
  grid-area: button;
}
@media screen and (max-width: 767px) {
  .business-Main {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #f3f3f3;
  }
  .business-Content {
    order: 1;
    width: 100%;
    background: transparent;
    box-sizing: border-box;
  }
  .business-Image {
    order: 2;
    width: 100%;
  }
  .business-Image img {
    display: block;
    width: 100%;
    height: auto;
  }
  .business-Btn {
    order: 3;
    width: 100%;
    margin: 0;
    padding: 30px 0 50px;
    text-align: center;
  }
}
.business-Btn--pc {
  display: block;
  margin-top: 40px;
}
.business-Btn--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .business-Main {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  /* ① テキスト */
  .business-Content {
    order: 1;
    width: 100%;
  }
  /* PC用ボタンは非表示 */
  .business-Btn--pc {
    display: none;
  }
  /* ② 画像 */
  .business-Image {
    order: 2;
    width: 100%;
  }
  .business-Image img {
    display: block;
    width: 100%;
    height: auto;
  }
  /* ③ SP用ボタン */
  .business-Btn--sp {
    display: block;
    order: 3;
    width: auto;
    margin: auto;
    padding: 30px 0 50px;
    text-align: center;
    width: min(100%, 250px);
  }
  .business-Btn--sp a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
  }
  .business-Image {
    position: relative;
    min-height: 350px;
    overflow: hidden;
  }
  .business-Image img {
    width: 100%;
    height: 100%;
    min-height: 350px;
    object-fit: cover;
    object-position: center;
  }
}
/* ========================================
   POLICY COMMON
   プライバシーポリシー / サイト利用規約 /
   反社会的勢力に対する基本方針 共通
======================================== */
.policy {
  width: 100%;
  padding: 90px 20px 120px;
  background: #fff;
}
.policy-Inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
/* ----------------------------------------
   導入文
---------------------------------------- */
.policy-Lead {
  margin: 0 0 60px;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
}
.policy-Lead p {
  margin: 0 0 24px;
}
.policy-Lead p:last-child {
  margin-bottom: 0;
}
/* ----------------------------------------
   セクション
---------------------------------------- */
.policy-Section {
  padding: 0 0 3em;
  margin: 0 0 3em;
  border-bottom: 1px solid #ddd;
}
.policy-Section--last {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
/* ----------------------------------------
   見出し
---------------------------------------- */
.policy-Title {
  margin: 0 0 24px;
  padding: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
/* ----------------------------------------
   本文
---------------------------------------- */
.policy-Text {
  margin: 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
}
.policy-Text + .policy-Text {
  margin-top: 16px;
}
/* ----------------------------------------
   リスト
---------------------------------------- */
.policy-List {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.policy-List li {
  position: relative;
  margin: 0;
  padding: 0 0 0 1.2em;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
}
.policy-List li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
/* ----------------------------------------
   会社情報・制定日
---------------------------------------- */
.policy-Info {
  margin-top: 36px;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
}
.policy-Info p {
  margin: 0;
}
.policy-Info p + p {
  margin-top: 24px;
}
/* ========================================
   TABLET
======================================== */
@media screen and (max-width: 960px) {
  .policy {
    padding: 70px 40px 100px;
  }
  .policy-Inner {
    max-width: 100%;
  }
}
/* ========================================
   SMARTPHONE
======================================== */
@media screen and (max-width: 767px) {
  .policy {
    padding: 55px 20px 80px;
  }
  .policy-Lead {
    margin-bottom: 45px;
    font-size: 16px;
    line-height: 1.9;
  }
  .policy-Lead p {
    margin-bottom: 20px;
  }
  .policy-Section {
    padding-bottom: 3em;
    margin-bottom: 3em;
  }
  .policy-Section--last {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .policy-Title {
    margin-bottom: 18px;
    font-size: 20px;
    line-height: 1.5;
  }
  .policy-Text {
    font-size: 16px;
    line-height: 1.9;
  }
  .policy-Text + .policy-Text {
    margin-top: 14px;
  }
  .policy-List {
    margin-top: 4px;
  }
  .policy-List li {
    padding-left: 1.2em;
    font-size: 16px;
    line-height: 1.9;
  }
  .policy-Info {
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.9;
  }
  .policy-Info p + p {
    margin-top: 20px;
  }
}
/* ========================================
   SMALL SMARTPHONE
======================================== */
@media screen and (max-width: 400px) {
  .policy {
    padding-right: 16px;
    padding-left: 16px;
  }
}
/* ========================================
   ABOUT PAGE
======================================== */
.aboutPage {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #222;
}
.aboutPage * {
  box-sizing: border-box;
}
.aboutPage-Inner {
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 0 auto;
}
/* ========================================
   COMMON HEADING
======================================== */
.aboutPage-Heading {
  margin: 0 0 40px;
  padding: 0;
  text-align: center;
  background: none;
}
.aboutPage-HeadingEn {
  margin: 0 0 3px;
  padding: 0;
  font-family: "Jost", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #ad8b50;
}
.aboutPage-HeadingJa {
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #222;
}
.aboutPage-Heading--left {
  text-align: left;
}
/* ========================================
   ABOUT PLACE
======================================== */
.aboutPage-Intro {
  padding: 90px 0 110px;
  background: #fff;
}
.aboutPage-IntroGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 90px;
  align-items: center;
}
.aboutPage-IntroContent {
  min-width: 0;
}
.aboutPage-Intro .aboutPage-Heading {
  margin-bottom: 30px;
}
/*.aboutPage-IntroCatch {
  margin: 0 0 28px;
  padding: 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.08em;
}*/
.aboutPage-IntroText {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 2;
}
.aboutPage-IntroImage {
  width: 100%;
}
.aboutPage-IntroImage img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
/* ========================================
   OUR PHILOSOPHY
======================================== */
.aboutPage-Philosophy {
  padding: 95px 0 110px;
  background: #f4f4f4;
}
.aboutPage-Philosophy .aboutPage-Heading {
  margin-bottom: 40px;
}
.aboutPage-PhilosophyMessage {
  text-align: center;
}
.aboutPage-PhilosophyCatch {
  margin: 0 0 30px;
  padding: 0;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.aboutPage-PhilosophyText {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 2;
}
.aboutPage-PhilosophyList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 55px;
}
.aboutPage-PhilosophyItem {
  display: flex;
  min-height: 230px;
  padding: 35px 25px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  text-align: center;
}
.aboutPage-PhilosophyItemEn {
  margin: 0 0 22px;
  padding: 0;
  font-family: "Jost", sans-serif;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #ad8b50;
}
.aboutPage-PhilosophyItemText {
  margin: 0;
  padding: 0;
  font-size: 20px;
  line-height: 1.9;
  letter-spacing: 0.06em;
}
.wp-singular .post_content h2 {
  color: #222;
}
/* ========================================
   PLACE WAY
======================================== */
.aboutPage-Way {
  padding: 95px 0 110px;
  background: #fff;
}
.aboutPage-Way .aboutPage-Heading {
  margin-bottom: 50px;
}
.aboutPage-WayList {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 5px;
}
.aboutPage-WayItem {
  display: flex;
  min-width: 0;
  min-height: 250px;
  padding: 28px 15px;
  flex-direction: column;
  align-items: center;
  background: #f3f3f3;
  text-align: center;
}
.aboutPage-WayLetter {
  margin: 0;
  padding: 0;
  font-family: "Jost", serif;
  font-size: 46px;
  font-weight: 400;
  line-height: 1;
  color: #ad8b50;
}
.aboutPage-WayEn {
  margin: 6px 0 24px;
  padding: 0;
  font-family: "Jost", sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: #ad8b50;
}
.aboutPage-WayTitle {
  margin: 0 0 14px;
  padding: 0;
  font-size: 20px;
  line-height: 1.6;
}
.aboutPage-WayText {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.9;
}
/* ========================================
   OUR SYMBOL
======================================== */
.aboutPage-Symbol {
  padding: 95px 0 110px;
  background: #f4f4f4;
}
.aboutPage-Symbol .aboutPage-Heading {
  margin-bottom: 50px;
}
.aboutPage-SymbolGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 80px;
  align-items: center;
}
.aboutPage-SymbolImage {
  width: 100%;
}
.aboutPage-SymbolImage img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.aboutPage-SymbolCatch {
  margin: 0 0 28px;
  padding: 0;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.aboutPage-SymbolText {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 2;
}
/* ========================================
   COMPANY
======================================== */
.aboutPage-Company {
  padding: 95px 0 120px;
  background: #fff;
}
.aboutPage-Company .aboutPage-Heading {
  margin-bottom: 50px;
}
.aboutPage-CompanyTable {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  border-top: 1.5px solid #b7a98e;
}
.aboutPage-CompanyRow {
  display: grid;
  grid-template-columns: 150px 1fr;
  margin: 0;
  padding: 0;
  border-bottom: 1.5px solid #b7a98e;
}
.aboutPage-CompanyRow dt, .aboutPage-CompanyRow dd {
  margin: 0;
  padding: 20px 20px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
}
/* ========================================
   TABLET
======================================== */
@media screen and (max-width: 960px) {
  .aboutPage-Inner {
    width: calc(100% - 60px);
  }
  .aboutPage-Intro {
    padding: 75px 0 90px;
  }
  .aboutPage-IntroGrid {
    gap: 50px;
  }
  .aboutPage-Philosophy, .aboutPage-Way, .aboutPage-Symbol {
    padding: 80px 0 90px;
  }
  .aboutPage-Company {
    padding: 80px 0 100px;
  }
  .aboutPage-PhilosophyList {
    gap: 20px;
  }
  .aboutPage-WayList {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .aboutPage-SymbolGrid {
    gap: 50px;
  }
}
/* ========================================
   SMARTPHONE
======================================== */
@media screen and (max-width: 767px) {
  .aboutPage-Inner {
    width: calc(100% - 40px);
  }
  /* heading */
  .aboutPage-Heading {
    margin-bottom: 30px;
  }
  .aboutPage-HeadingEn {
    font-size: 18px;
  }
  .aboutPage-HeadingJa {
    font-size: 13px;
  }
  /* ABOUT PLACE */
  .aboutPage-Intro {
    padding: 55px 0 70px;
  }
  .aboutPage-IntroGrid {
    display: flex;
    gap: 35px;
    flex-direction: column;
  }
  .aboutPage-IntroContent, .aboutPage-IntroImage {
    width: 100%;
  }
  /*.aboutPage-IntroCatch {
    margin-bottom: 22px;
    font-size: 20px;
  }*/
  .aboutPage-IntroText {
    font-size: 16px;
    line-height: 1.9;
  }
  /* OUR PHILOSOPHY */
  .aboutPage-Philosophy {
    padding: 65px 0 70px;
  }
  .aboutPage-PhilosophyCatch {
    font-size: 25px;
  }
  .aboutPage-PhilosophyText {
    font-size: 16px;
    line-height: 1.9;
    text-align: left;
  }
  .aboutPage-PhilosophyText br {
    display: none;
  }
  .aboutPage-PhilosophyList {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 40px;
  }
  .aboutPage-PhilosophyItem {
    min-height: auto;
    padding: 35px 20px;
  }
  /* PLACE WAY */
  .aboutPage-Way {
    padding: 65px 0 70px;
  }
  .aboutPage-WayList {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .aboutPage-WayItem {
    min-height: 225px;
    padding: 28px 10px;
  }
  .aboutPage-WayLetter {
    font-size: 40px;
  }
  .aboutPage-WayTitle {
    font-size: 20px;
  }
  .aboutPage-WayItem:last-child {
    grid-column: 1 / -1;
  }
  /* OUR SYMBOL */
  .aboutPage-Symbol {
    padding: 65px 0 75px;
  }
  .aboutPage-SymbolGrid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .aboutPage-SymbolCatch {
    font-size: 20px;
  }
  .aboutPage-SymbolText {
    font-size: 16px;
    line-height: 1.9;
  }
  .aboutPage-SymbolText br {
    display: none;
  }
  /* COMPANY */
  .aboutPage-Company {
    padding: 65px 0 80px;
  }
  .aboutPage-CompanyRow {
    grid-template-columns: 100px 1fr;
  }
  .aboutPage-CompanyRow dt, .aboutPage-CompanyRow dd {
    padding: 12px 10px;
    font-size: 16px;
  }
}
/* ========================================
   SMALL SMARTPHONE
======================================== */
@media screen and (max-width: 400px) {
  .aboutPage-Inner {
    width: calc(100% - 32px);
  }
  .aboutPage-PhilosophyCatch {
    font-size: 22px;
  }
  .aboutPage-WayList {
    grid-template-columns: 1fr;
  }
  .aboutPage-WayItem {
    min-height: auto;
    padding: 30px 15px;
  }
  .aboutPage-WayItem:last-child {
    grid-column: auto;
  }
  .aboutPage-CompanyRow {
    grid-template-columns: 90px 1fr;
  }
}
/* ========================================
   BUSINESS PAGE
======================================== */
.businessPage {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #222;
}
.businessPage * {
  box-sizing: border-box;
}
.businessPage-Inner {
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 0 auto;
}
/* ========================================
   COMMON HEADING
======================================== */
.businessPage-Heading {
  margin: 0 0 45px;
  padding: 0;
  text-align: center;
  background: none;
}
.businessPage-HeadingEn {
  margin: 0 0 3px;
  padding: 0;
  font-family: "Jost", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #ad8b50;
}
.businessPage-HeadingJa {
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #222;
}
.businessPage-Heading--left {
  text-align: left;
}
/* ========================================
   LEAD
======================================== */
.businessPage-Lead {
  padding: 85px 0 95px;
  background: #fff;
  text-align: center;
}
.businessPage-LeadCatch {
  margin: 0 0 30px;
  padding: 0;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.businessPage-LeadText {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 2;
}
/* ========================================
   OUR BUSINESS
======================================== */
.businessPage-OurBusiness {
  padding: 95px 0;
  background: #f3f3f3;
}
.businessPage-OurBusinessGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 90px;
  align-items: center;
}
.businessPage-OurBusiness .businessPage-Heading {
  margin-bottom: 30px;
}
.businessPage-OurBusinessCatch {
  margin: 0 0 28px;
  padding: 0;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.businessPage-OurBusinessText {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 2;
}
.businessPage-OurBusinessImage {
  width: 100%;
  text-align: center;
}
.businessPage-OurBusinessImage img {
  display: block;
  width: 100%;
  max-width: 500px;
  height: auto;
  margin: 0 auto;
}
/* ========================================
   OUR PLACE
======================================== */
.businessPage-Place {
  padding: 95px 0 110px;
  background: #fff;
}
.businessPage-Place .businessPage-Heading {
  margin-bottom: 50px;
}
.businessPage-PlaceGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: flex-start;
}
.businessPage-PlaceImage {
  width: 100%;
}
.businessPage-PlaceImage img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.businessPage-PlaceContent {
  width: 100%;
  max-width: 520px;
  padding: 20px 0 20px 65px;
}
.businessPage-PlaceCategory {
  margin: 0 0 10px 5px;
  padding: 0;
  font-family: "Jost", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.post_content h3.businessPage-PlaceName {
  margin: 0;
  padding: 0;
  font-size: 34px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
.businessPage-PlaceLine {
  width: calc(100% + 65px);
  height: 1px;
  margin: 18px 0 35px -65px;
  background: #777;
}
.businessPage-PlaceCatch {
  margin: 0 0 25px;
  padding: 0;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.businessPage-PlaceText {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 2;
}
/* ========================================
   COMMON BUTTON
======================================== */
.businessPage-Btn {
  width: 250px;
  margin: 50px 0 0;
}
.businessPage-Btn a {
  position: relative;
  width: 100%;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px 0 17px;
  background: #ae8750;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  transition:
    opacity 0.3s ease, background-color 0.3s ease;
}
.businessPage-Btn a:hover {
  opacity: 0.75;
}
.businessPage-Btn-Arrow {
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-52%);
  font-family: "Jost", Arial, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}
.businessPage-Btn.btn-Center {
  margin: 50px auto 0;
}
/* ========================================
   MORE THAN A LOUNGE
======================================== */
.businessPage-More {
  padding: 95px 0 110px;
  background: #f3f3f3;
}
.businessPage-More .businessPage-Heading {
  margin-bottom: 50px;
}
.businessPage-MoreGrid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 90px;
  align-items: center;
}
.businessPage-MoreCatch {
  margin: 0 0 30px;
  padding: 0;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.businessPage-MoreText {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 2;
}
.businessPage-MoreList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.businessPage-MoreItem {
  width: 100%;
  background: #fff;
}
.businessPage-MoreItem img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
/* ========================================
   OUR FUTURE
======================================== */
.businessPage-Future {
  padding: 95px 0 120px;
  background: #fff;
}
.businessPage-Future .businessPage-Heading {
  margin-bottom: 50px;
}
.businessPage-FutureGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 70px;
  align-items: center;
}
.businessPage-FutureImage {
  width: 100%;
}
.businessPage-FutureImage img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.businessPage-FutureText {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 2;
}
/* ========================================
   TABLET
======================================== */
@media screen and (max-width: 960px) {
  .businessPage-Inner {
    width: calc(100% - 60px);
  }
  .businessPage-Lead {
    padding: 70px 0 80px;
  }
  .businessPage-OurBusiness, .businessPage-Place, .businessPage-More {
    padding: 80px 0 90px;
  }
  .businessPage-Future {
    padding: 80px 0 100px;
  }
  .businessPage-OurBusinessGrid {
    gap: 50px;
  }
  .businessPage-PlaceContent {
    padding-left: 45px;
    padding-right: 30px;
  }
  .businessPage-MoreGrid {
    gap: 50px;
  }
  .businessPage-FutureGrid {
    gap: 50px;
  }
  /* OUR PLACE */
  .businessPage-PlaceLine {
    width: calc(100% + 45px);
    margin-left: -45px;
  }
}
/* ========================================
   SMARTPHONE
======================================== */
@media screen and (max-width: 767px) {
  .businessPage-Inner {
    width: calc(100% - 40px);
  }
  /* HEADING */
  .businessPage-Heading {
    margin-bottom: 35px;
  }
  .businessPage-HeadingEn {
    font-size: 18px;
  }
  .businessPage-HeadingJa {
    font-size: 13px;
  }
  /* LEAD */
  .businessPage-Lead {
    padding: 55px 0 65px;
  }
  .businessPage-LeadCatch {
    margin-bottom: 22px;
    font-size: 25px;
  }
  .businessPage-LeadText {
    font-size: 16px;
    line-height: 1.9;
    text-align: left;
  }
  .businessPage-LeadText br {
    display: none;
  }
  /* OUR BUSINESS */
  .businessPage-OurBusiness {
    padding: 65px 0 70px;
  }
  .businessPage-OurBusinessGrid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .businessPage-OurBusinessCatch {
    font-size: 25px;
  }
  .businessPage-OurBusinessText {
    line-height: 1.9;
  }
  .businessPage-OurBusinessText br {
    display: none;
  }
  .businessPage-OurBusinessImage img {
    max-width: 420px;
  }
  /* OUR PLACE */
  .businessPage-Place {
    padding: 65px 0 70px;
  }
  .businessPage-Place .businessPage-Heading {
    padding: 0 20px;
  }
  .businessPage-PlaceGrid {
    grid-template-columns: 1fr;
    width: calc(100% - 40px);
    margin: auto;
  }
  .businessPage-PlaceContent {
    max-width: none;
    padding: 35px 0 0;
  }
  .post_content h3.businessPage-PlaceName {
    font-size: 28px;
  }
  .businessPage-PlaceLine {
    margin: 15px 0 28px;
  }
  .businessPage-PlaceCatch {
    font-size: 25px;
  }
  .businessPage-PlaceText {
    line-height: 1.9;
  }
  .businessPage-PlaceText br {
    display: none;
  }
  .businessPage-PlaceLine {
    width: 100%;
    margin-left: 0;
  }
  /* COMMON BUTTON */
  .businessPage-Btn {
    width: min(100%, 250px);
    margin-top: 35px;
  }
  /* MORE THAN A LOUNGE */
  .businessPage-More {
    padding: 65px 0 70px;
  }
  .businessPage-MoreGrid {
    grid-template-columns: 1fr;
    gap: 45px;
  }
  .businessPage-MoreCatch {
    font-size: 25px;
  }
  .businessPage-MoreText {
    line-height: 1.9;
  }
  .businessPage-MoreText br {
    display: none;
  }
  .businessPage-MoreList {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  /* OUR FUTURE */
  .businessPage-Future {
    padding: 65px 0 80px;
  }
  .businessPage-FutureGrid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .businessPage-FutureText {
    line-height: 1.9;
  }
  .businessPage-FutureText br {
    display: none;
  }
  /* BUTTON */
  .businessPage-Btn {
    margin: 28px auto 0;
  }
  .businessPage-Btn a {
    height: 52px;
    font-size: 16px;
  }
  .businessPage-Btn.btn-Center {
    margin: 28px auto 0;
  }
}
/* ========================================
   SMALL SMARTPHONE
======================================== */
@media screen and (max-width: 400px) {
  .businessPage-Inner {
    width: calc(100% - 32px);
  }
  .businessPage-MoreList {
    grid-template-columns: repeat(2, 1fr);
  }
  .businessPage-LeadCatch {
    font-size: 22px;
  }
  .businessPage-OurBusinessCatch, .businessPage-PlaceCatch, .businessPage-MoreCatch {
    font-size: 22px;
  }
  .businessPage-PlaceGrid {
    grid-template-columns: 1fr;
    width: calc(100% - 32px);
  }
}
/* ========================================
   OUR PLACE タブレット画像調整
======================================== */
@media screen and (min-width: 768px) and (max-width: 960px) {
  .businessPage-PlaceGrid {
    align-items: stretch;
  }
  .businessPage-PlaceImage {
    position: relative;
    min-height: 100%;
    overflow: hidden;
  }
  .businessPage-PlaceImage img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
}
/* ========================================
   RECRUIT PAGE
======================================== */
.recruitPage {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  font-size: 16px;
  line-height: 2;
  letter-spacing: .04em;
  color: #222;
}
.recruitPage, .recruitPage * {
  box-sizing: border-box;
}
.recruitPage-Inner {
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 0 auto;
}
.recruitPage img {
  display: block;
  max-width: 100%;
}
.recruitPage p, .recruitPage h2, .recruitPage h3, .recruitPage dl, .recruitPage dt, .recruitPage dd {
  margin-top: 0;
}
.recruitPage a {
  text-decoration: none;
}
/* ========================================
   COMMON HEADING
======================================== */
.recruitPage-Heading {
  margin: 0 0 45px;
  padding: 0;
  text-align: center;
}
.recruitPage-Heading--left {
  text-align: left;
}
.page-Heading-En2 {
  margin: 0 0 5px;
  font-family: "Jost", sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .08em;
  color: #ad8b50;
}
.wp-singular .post_content h2.page-Heading-Ja2 {
  margin: 0;
  font-family:
    "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .06em;
  color: #222;
}
.recruitPage-HeadingDesc {
  padding: 10px 0 0;
  font-size: 16px;
  line-height: 1.9;
}
/* ========================================
   LEAD
======================================== */
.recruitPage-Lead {
  padding: 90px 0 100px;
  background: #fff;
  text-align: center;
}
.recruitPage-LeadCatch {
  margin: 0 0 30px;
  padding: 0;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.recruitPage-LeadText {
  margin: 0;
  font-size: 16px;
  line-height: 2;
}
/* ========================================
   MESSAGE
======================================== */
.recruitPage-Message {
  padding: 100px 0;
  background: #f2f2f2;
}
.recruitPage-MessageGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 80px;
  align-items: center;
}
.recruitPage-MessageImage img {
  width: 100%;
  height: auto;
  aspect-ratio: 1200 / 780;
  object-fit: cover;
}
.recruitPage-MessageContent {
  min-width: 0;
}
.recruitPage-MessageCatch {
  margin: 0 0 28px;
  padding: 0;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.recruitPage-MessageText {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 2;
}
.recruitPage-MessageText:last-child {
  margin-bottom: 0;
}
/* ========================================
   FEATURES
======================================== */
.recruitPage-Features {
  padding: 100px 0 115px;
  background: #fff;
}
.recruitPage-FeatureList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  max-width: 1200px;
  margin: 55px auto 0;
}
.recruitPage-FeatureItem {
  display: flex;
  width: 25%;
  min-height: 250px;
  padding: 30px 15px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* centerから変更 */
  border: 1px solid #d8cbb8;
  margin-right: -1px;
  margin-bottom: -1px;
  background: #fff;
  text-align: center;
}
.recruitPage-FeatureItem img {
  width: 48px;
  height: 48px;
  margin: 0 auto 18px;
  object-fit: contain;
  flex-shrink: 0;
}
.recruitPage-FeatureItem h3 {
  display: flex;
  width: 100%;
  min-height: 58px; /* タイトル2行分の高さを確保 */
  margin: 0 0 12px;
  align-items: flex-start;
  justify-content: center;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.7;
  color: #ad8b50;
}
.recruitPage-FeatureItem p {
  width: 100%;
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
}
/* ========================================
   WORK
======================================== */
.recruitPage-Work {
  padding: 100px 0 110px;
  background: #f2f2f2;
}
.recruitPage-WorkList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 35px;
  margin-top: 45px;
}
.recruitPage-WorkItem {
  display: grid;
  grid-template-columns: 35% 65%;
  min-width: 0;
  background: #fff;
  color: #222;
  transition: opacity .3s;
  border: 1.5px solid #aa8652;
}
.recruitPage-WorkItem:hover {
  opacity: .75;
}
.recruitPage-WorkImage {
  min-height: 200px;
  overflow: hidden;
}
.recruitPage-WorkImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruitPage-WorkContent {
  position: relative;
  min-width: 0;
  padding: 25px 30px;
}
.recruitPage-WorkContent h3 {
  margin: 0 0 15px;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.5;
}
.recruitPage-WorkContent p {
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
}
.recruitPage-WorkArrow {
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-family: sans-serif;
  font-size: 22px;
  color: #ad8b50;
}
/* ========================================
   DETAIL
======================================== */
.recruitPage-Detail {
  padding: 100px 0 125px;
  background: #fff;
}
.recruitPage-DetailBlock {
  width: 100%;
  max-width: 900px;
  margin: 65px auto 0;
  scroll-margin-top: 100px;
}
.recruitPage-DetailBlock + .recruitPage-DetailBlock {
  margin-top: 100px;
}
.post_content h3.recruitPage-DetailTitle {
  margin: 0 0 30px;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.7;
}
.recruitPage-DetailTable {
  width: 100%;
  border-top: 1px solid #c8c8c8;
}
.recruitPage-DetailRow {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  margin: 0;
  border-bottom: 1px solid #c8c8c8;
}
.recruitPage-DetailRow dt, .recruitPage-DetailRow dd {
  margin: 0;
  padding: 14px 20px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}
.recruitPage-DetailRow dt {
  background: #ede3d0;
}
.recruitPage-DetailRow dd {
  background: #fff;
}
/* ========================================
   ENTRY BUTTON
======================================== */
.recruitPage-DetailButton {
  margin: 45px 0 0;
  text-align: center;
}
.recruitPage-DetailButton a {
  display: inline-flex;
  min-height: 52px;
  padding: 12px 30px;
  align-items: center;
  justify-content: center;
  gap: 25px;
  background: #b28c4e;
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  transition: opacity .3s;
}
.recruitPage-DetailButton a:hover {
  opacity: .75;
}
.recruitPage-DetailButton span {
  font-family: sans-serif;
  font-size: 20px;
}
/* ========================================
   TABLET : 1200px
======================================== */
@media screen and (max-width: 1200px) {
  .recruitPage-MessageGrid {
    gap: 55px;
  }
  .recruitPage-WorkList {
    gap: 20px;
  }
  .recruitPage-WorkContent {
    padding: 22px 20px;
  }
}
/* ========================================
   TABLET : 960px
======================================== */
@media screen and (max-width: 960px) {
  .recruitPage-Inner {
    width: calc(100% - 60px);
  }
  .recruitPage-Lead {
    padding: 75px 0 85px;
  }
  .recruitPage-Message, .recruitPage-Features, .recruitPage-Work {
    padding: 80px 0 90px;
  }
  .recruitPage-Detail {
    padding: 80px 0 100px;
  }
  .recruitPage-MessageGrid {
    gap: 40px;
    align-items: stretch;
  }
  .recruitPage-MessageImage {
    position: relative;
    min-height: 100%;
    overflow: hidden;
  }
  .recruitPage-MessageImage img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: auto;
  }
  .recruitPage-FeatureItem {
    width: 25%;
    min-height: 230px;
    padding: 25px 10px;
  }
  .recruitPage-FeatureItem h3 {
    font-size: 18px;
  }
  .recruitPage-FeatureItem p {
    font-size: 16px;
  }
  .recruitPage-WorkList {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .recruitPage-WorkItem {
    grid-template-columns: 35% 65%;
  }
  .recruitPage-WorkImage {
    min-height: 190px;
  }
}
/* ========================================
   SMARTPHONE : 767px
======================================== */
@media screen and (max-width: 767px) {
  .recruitPage-Inner {
    width: calc(100% - 40px);
  }
  .recruitPage-Heading {
    margin-bottom: 35px;
  }
  .page-Heading-En2 {
    font-size: 16px;
  }
  .wp-singular .post_content h2.page-Heading-Ja2 {
    font-size: 21px;
  }
  .recruitPage-HeadingDesc {
    font-size: 15px;
  }
  /* LEAD */
  .recruitPage-Lead {
    padding: 55px 0 65px;
  }
  .recruitPage-LeadCatch {
    margin-bottom: 22px;
    font-size: 25px;
  }
  .recruitPage-LeadText {
    font-size: 15px;
  }
  /* MESSAGE */
  .recruitPage-Message {
    padding: 65px 0 70px;
  }
  .recruitPage-MessageImage {
    position: static;
    min-height: 0;
  }
  .recruitPage-MessageImage img {
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 1200 / 780;
  }
  .recruitPage-MessageCatch {
    font-size: 25px;
  }
  .recruitPage-MessageText {
    font-size: 15px;
    line-height: 1.9;
  }
  .recruitPage-MessageText br {
    display: none;
  }
  .recruitPage-MessageGrid {
    display: flex;
    flex-direction: column-reverse;
    gap: 35px;
  }
  /* FEATURES */
  .recruitPage-Features {
    padding: 65px 0 75px;
  }
  /* WORK */
  .recruitPage-Work {
    padding: 65px 0 75px;
  }
  .recruitPage-WorkList {
    margin-top: 30px;
  }
  .recruitPage-WorkItem {
    grid-template-columns: 38% 62%;
  }
  .recruitPage-WorkImage {
    min-height: 170px;
  }
  .recruitPage-WorkContent {
    padding: 20px 15px;
  }
  .recruitPage-WorkContent h3 {
    font-size: 19px;
  }
  .recruitPage-WorkContent p {
    font-size: 13px;
  }
  /* DETAIL */
  .recruitPage-Detail {
    padding: 65px 0 80px;
  }
  .recruitPage-DetailBlock {
    margin-top: 45px;
  }
  .recruitPage-DetailBlock + .recruitPage-DetailBlock {
    margin-top: 80px;
  }
  .post_content h3.recruitPage-DetailTitle {
    font-size: 19px;
  }
  .recruitPage-DetailRow {
    grid-template-columns: 115px minmax(0, 1fr);
  }
  .recruitPage-DetailRow dt, .recruitPage-DetailRow dd {
    padding: 15px 15px;
    font-size: 16px;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }
  .recruitPage-DetailButton {
    margin-top: 35px;
  }
}
/* ========================================
   SMALL SMARTPHONE : 400px
======================================== */
@media screen and (max-width: 400px) {
  .recruitPage-Inner {
    width: calc(100% - 32px);
  }
  .recruitPage-LeadCatch {
    font-size: 22px;
  }
  .recruitPage-MessageCatch {
    font-size: 22px;
  }
  .recruitPage-WorkItem {
    grid-template-columns: 1fr;
  }
  .recruitPage-WorkImage {
    height: 190px;
    min-height: 0;
  }
  .recruitPage-WorkContent {
    padding: 20px;
  }
  .recruitPage-DetailRow {
    grid-template-columns: 95px minmax(0, 1fr);
  }
  .recruitPage-DetailRow dt, .recruitPage-DetailRow dd {
    padding: 15px 15px;
    font-size: 16px;
  }
}
/* ========================================
   FEATURES : SMARTPHONE GRID
   2枚ごとに縦位置を揃え、カード内は中央揃え
======================================== */
@media screen and (max-width: 767px) {
  .recruitPage-FeatureList {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 35px;
  }
  .recruitPage-FeatureItem {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: subgrid;
    grid-row: span 3;
    width: 100%;
    min-height: 0;
    padding: 25px 12px;
    margin: 0;
    border: 1px solid #d8cbb8;
    justify-items: center;
    align-items: start;
    text-align: center;
  }
  .recruitPage-FeatureItem img {
    grid-column: 1;
    width: 42px;
    height: 42px;
    margin: 0 auto;
    object-fit: contain;
    justify-self: center;
  }
  .recruitPage-FeatureItem h3 {
    grid-column: 1;
    display: block;
    width: 100%;
    min-height: 0;
    height: auto;
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    justify-self: stretch;
    text-align: center;
  }
  .recruitPage-FeatureItem p {
    grid-column: 1;
    display: block;
    width: 100%;
    margin: 0;
    font-size: 12px;
    line-height: 1.8;
    justify-self: stretch;
    text-align: center;
  }
  /* 7枚目だけ中央に配置し、subgridから独立させる */
  .recruitPage-FeatureItem:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: 50%;
    justify-self: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 25px 12px;
    text-align: center;
  }
  .recruitPage-FeatureItem:last-child:nth-child(odd) img {
    width: 42px;
    height: 42px;
    margin: 0 auto 18px;
    flex-shrink: 0;
  }
  .recruitPage-FeatureItem:last-child:nth-child(odd) h3 {
    display: block;
    width: 100%;
    min-height: 0;
    height: auto;
    margin: 0 0 12px;
    text-align: center;
  }
  .recruitPage-FeatureItem:last-child:nth-child(odd) p {
    display: block;
    width: 100%;
    margin: 0;
    text-align: center;
  }
}
/* ========================================
   NEWS LIST PAGE
   SWELL 投稿一覧ページ専用
   #body_wrap.blog
======================================== */
/* ----------------------------------------
   一覧エリア全体
---------------------------------------- */
#body_wrap.blog #content {
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 90px;
  padding-bottom: 110px;
  font-family:
    "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  color: #222;
}
/* SWELLの一覧エリア */
#body_wrap.blog .l-mainContent {
  width: 100%;
  max-width: none;
  margin: 0;
}
#body_wrap.blog .l-mainContent__inner {
  width: 100%;
  max-width: none;
  margin: 0;
}
#body_wrap.blog .p-homeContent {
  width: 100%;
  max-width: none;
  margin: 0;
}
/* 一覧幅 */
#body_wrap.blog .p-postListTabBody {
  width: 100%;
}
#body_wrap.blog .p-postList, .p-postListWrap .p-postList {
  display: block;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
/* ----------------------------------------
   各記事
---------------------------------------- */
#body_wrap.blog .p-postList__item, .p-postListWrap .p-postList__item {
  width: 100%;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #d9d9d9;
  list-style: none;
}
/* 記事全体をリンクに */
#body_wrap.blog .p-postList__link, .p-postListWrap .p-postList__link {
  display: block;
  width: 100%;
  margin: 0;
  padding: 22px 20px;
  background: transparent;
  color: #222;
  text-decoration: none;
  transition: background-color .3s;
}
#body_wrap.blog .p-postList__link:hover, .p-postList__link .p-postList__link:hover {
  background: #faf8f5;
}
/* 日付・カテゴリー・タイトルの横並び */
#body_wrap.blog .p-postList__body, .p-postList__link .p-postList__body {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
}
/* ----------------------------------------
   日付・カテゴリー
---------------------------------------- */
#body_wrap.blog .p-postList__meta, .p-postList__link .p-postList__meta {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0;
  padding: 0;
}
/* 日付 */
#body_wrap.blog .p-postList__times, .p-postList__link .p-postList__times {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}
#body_wrap.blog .c-postTimes__posted, .p-postList__link .c-postTimes__posted {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-family: "Jost", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  color: #222;
  letter-spacing: .02em;
}
/* SWELLの日付アイコンを非表示 */
#body_wrap.blog .c-postTimes__posted::before, .p-postList__link .c-postTimes__posted::before {
  display: none;
}
/* カテゴリーラベル */
#body_wrap.blog .p-postList__cat, .p-postList__link .p-postList__cat {
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 90px;
  min-height: 24px;
  margin: 0;
  padding: 2px 10px;
  align-items: center;
  justify-content: center;
  border: 1px solid #b28c4e;
  background: #fff;
  color: #b28c4e;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}
/* SWELLのカテゴリーアイコンを非表示 */
#body_wrap.blog .p-postList__cat::before, .p-postList__link .p-postList__cat::before {
  display: none;
}
/* ----------------------------------------
   記事タイトル
---------------------------------------- */
#body_wrap.blog .p-postList__title, .p-postList__link .p-postList__title {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family:
    "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: .04em;
  color: #222;
  text-align: left;
  overflow-wrap: anywhere;
}
#body_wrap.blog .p-postList__link:hover .p-postList__title, .p-postList__link .p-postList__link:hover .p-postList__title {
  color: #b28c4e;
}
/* ========================================
   PAGINATION
======================================== */
#body_wrap.blog .c-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 60px auto 0;
  padding: 0;
}
#body_wrap.blog .c-pagination .page-numbers {
  display: inline-flex;
  width: 40px;
  height: 40px;
  min-width: 40px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid #b28c4e;
  border-radius: 50%;
  background: #fff;
  color: #b28c4e;
  font-family: "Jost", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  transition:
    background-color .3s, color .3s;
}
/* 現在のページ */
#body_wrap.blog .c-pagination .page-numbers.current {
  border-color: #b28c4e;
  background: #b28c4e;
  color: #fff;
}
/* ホバー */
#body_wrap.blog .c-pagination a.page-numbers:hover {
  border-color: #b28c4e;
  background: #b28c4e;
  color: #fff;
}
/* 前へ・次へ */
#body_wrap.blog .c-pagination .prev, #body_wrap.blog .c-pagination .next {
  font-size: 14px;
}
/* ========================================
   TABLET : 960px
======================================== */
@media screen and (max-width: 960px) {
  #body_wrap.blog #content {
    width: calc(100% - 60px);
    padding-top: 75px;
    padding-bottom: 90px;
  }
  .page-id-2 .p-postListWrap .p-postList {
    width: calc(100% - 60px);
  }
  #body_wrap.blog .p-postList__body, .p-postList__link .p-postList__body {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
  }
  #body_wrap.blog .p-postList__meta, .p-postList__link .p-postList__meta {
    gap: 12px;
  }
  #body_wrap.blog .p-postList__link, .p-postList__link .p-postList__link {
    padding: 20px 10px;
  }
}
/* ========================================
   SMARTPHONE : 767px
======================================== */
@media screen and (max-width: 767px) {
  #body_wrap.blog #content {
    width: calc(100% - 40px);
    padding-top: 55px;
    padding-bottom: 75px;
  }
  .page-id-2 .p-postListWrap .p-postList {
    width: calc(100% - 40px);
  }
  /* 日付・カテゴリーを上、タイトルを下に */
  #body_wrap.blog .p-postList__body, .p-postList__link .p-postList__body {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  #body_wrap.blog .p-postList__link, .p-postList__link .p-postList__link {
    padding: 20px 0;
  }
  #body_wrap.blog .p-postList__meta, .p-postList__link .p-postList__meta {
    display: flex;
    gap: 15px;
    align-items: center;
  }
  #body_wrap.blog .c-postTimes__posted, .p-postList__link .c-postTimes__posted {
    font-size: 13px;
  }
  #body_wrap.blog .p-postList__cat, .p-postList__link .p-postList__cat {
    min-width: 80px;
    min-height: 23px;
    padding: 2px 8px;
    font-size: 11px;
  }
  #body_wrap.blog .p-postList__title, .p-postList__link .p-postList__title {
    font-size: 15px;
    line-height: 1.9;
  }
  #body_wrap.blog .c-pagination {
    gap: 8px;
    margin-top: 45px;
  }
  #body_wrap.blog .c-pagination .page-numbers {
    width: 36px;
    height: 36px;
    min-width: 36px;
    font-size: 13px;
  }
}
/* ========================================
   SMALL SMARTPHONE : 400px
======================================== */
@media screen and (max-width: 400px) {
  #body_wrap.blog #content {
    width: calc(100% - 32px);
  }
  .page-id-2 .p-postListWrap .p-postList {
    width: calc(100% - 36px);
  }
  #body_wrap.blog .p-postList__meta, .p-postList__link .p-postList__meta {
    gap: 10px;
  }
}
/* ========================================
   PLACE NEWS DETAIL
   SWELL 通常投稿ページ専用
======================================== */
#body_wrap.single-post {
  --news-gold: #b28c4e;
  --news-text: #222;
  --news-border: #dedede;
}
/* コンテンツ全体 */
#body_wrap.single-post #content {
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 0 auto;
  padding: 90px 0 110px;
  color: var(--news-text);
}
/* SWELLの横幅指定を解除 */
#body_wrap.single-post #main_content, #body_wrap.single-post .l-mainContent__inner {
  width: 100%;
  max-width: none;
  margin: 0;
}
/* 記事全体を中央に */
#body_wrap.single-post .l-mainContent__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
/* 記事の各パーツを同じ幅に */
#body_wrap.single-post .p-articleHead, #body_wrap.single-post .p-articleMetas.-top, #body_wrap.single-post .post_content, #body_wrap.single-post .p-articleFoot, #body_wrap.single-post #after_article {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
/* 日付・カテゴリーをタイトルより上へ */
#body_wrap.single-post .p-articleMetas.-top {
  order: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  margin-top: 0;
  margin-bottom: 45px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--news-border);
}
/* タイトル */
#body_wrap.single-post .p-articleHead {
  order: 2;
  position: relative;
  display: block;
  margin-top: 0;
  padding: 0;
  background: none;
  box-shadow: none;
  padding: 0 20px;
}
/* SWELLの大きな日付を非表示 */
#body_wrap.single-post .c-postTitle__date {
  display: none;
}
#body_wrap.single-post .c-postTitle__ttl {
  margin: 0;
  padding: 0;
  font-family:
    "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: .06em;
  color: var(--news-text);
}
/* 日付 */
#body_wrap.single-post .p-articleMetas__times {
  order: 1;
  margin: 0;
}
#body_wrap.single-post .c-postTimes__posted {
  font-family: "Jost", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--news-text);
}
#body_wrap.single-post .c-postTimes__posted::before {
  display: none;
}
/* カテゴリー */
#body_wrap.single-post .p-articleMetas__termList {
  order: 2;
  margin: 0;
}
#body_wrap.single-post .c-categoryList__link {
  display: inline-flex;
  min-width: 90px;
  min-height: 24px;
  padding: 2px 12px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--news-gold);
  border-radius: 0;
  background: #fff;
  color: var(--news-gold);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  box-shadow: none;
  text-decoration: none;
}
#body_wrap.single-post .c-categoryList__link:hover {
  background: var(--news-gold);
  color: #fff;
}
.single-post .c-categoryList:before {
  content: none;
}
/* アイキャッチ画像 */
.single-post .p-articleThumb {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}
/* 本文 */
#body_wrap.single-post .post_content {
  order: 3;
  padding: 0 20px 55px;
  border-bottom: 1px solid var(--news-border);
  font-family:
    "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.1;
  letter-spacing: .04em;
  color: var(--news-text);
}
#body_wrap.single-post .post_content p {
  font-size: inherit;
  line-height: inherit;
}
/* 本文内の見出し */
#body_wrap.single-post .post_content h2, #body_wrap.single-post .post_content h3 {
  box-shadow: none;
  color: var(--news-text);
  font-weight: 500;
}
#body_wrap.single-post .post_content h2 {
  font-size: 24px;
}
#body_wrap.single-post .post_content h3 {
  font-size: 20px;
}
/* 記事末尾のカテゴリーを非表示 */
#body_wrap.single-post .p-articleFoot {
  order: 4;
  display: none;
}
/* 一覧へ戻るボタン用 */
#body_wrap.single-post #after_article {
  order: 5;
  display: flex;
  justify-content: center;
  margin-top: 55px;
}
/* ========================================
   TABLET
======================================== */
@media screen and (max-width: 960px) {
  #body_wrap.single-post #content {
    width: calc(100% - 60px);
    padding-top: 75px;
    padding-bottom: 90px;
  }
}
/* ========================================
   SMARTPHONE
======================================== */
@media screen and (max-width: 767px) {
  #body_wrap.single-post #content {
    width: calc(100% - 40px);
    padding-top: 55px;
    padding-bottom: 75px;
  }
  #body_wrap.single-post .p-articleMetas.-top {
    gap: 12px;
    margin-bottom: 30px;
    padding-bottom: 15px;
  }
  #body_wrap.single-post .c-postTitle__ttl {
    font-size: 22px;
    line-height: 1.7;
  }
  #body_wrap.single-post .c-postTimes__posted {
    font-size: 13px;
  }
  #body_wrap.single-post .c-categoryList__link {
    min-width: 80px;
    padding: 2px 8px;
    font-size: 11px;
  }
  #body_wrap.single-post .post_content {
    padding: 0 0 40px;
    font-size: 15px;
    line-height: 2;
  }
  #body_wrap.single-post .post_content h2 {
    font-size: 21px;
  }
  #body_wrap.single-post .post_content h3 {
    font-size: 18px;
  }
  #body_wrap.single-post #after_article {
    margin-top: 40px;
  }
  #body_wrap.single-post .p-articleHead {
    padding: 0;
  }
  .single-post .p-articleThumb {
    padding: 0;
  }
}
@media screen and (max-width: 400px) {
  #body_wrap.single-post #content {
    width: calc(100% - 32px);
  }
}
/* ========================================
   NEWS DETAIL - COMMON HERO
======================================== */
.single-post .p-breadcrumb {
  max-width: 100%;
}
/* パンくずの直前に共通ビジュアルを表示 */
#body_wrap.single-post #breadcrumb {
  position: relative;
}
/* NEWS */
/* NEWS詳細ページ メインビジュアル */
#body_wrap.single-post #breadcrumb::before {
  content: "NEWS";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 320px;
  min-height: 320px;
  padding: 0 20px 25px;
  box-sizing: border-box;
  /* 背景画像 + 黒の半透明レイヤー + ドット模様 */
  background-image:
    linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2)), url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFAQMAAAC3obSmAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAGUExURUdwTAAAAJ8qhFEAAAABdFJOUwBA5thmAAAAEklEQVQI12MwYDBgYGBoYGAAAASKAOH8MS30AAAAAElFTkSuQmCC"), url("/placelounge-web/wp-content/uploads/2026/10/news_featured-img.jpg");
  background-size:
    cover, 2px 2px, cover;
  background-position:
    center, center, center;
  background-repeat:
    no-repeat, repeat, no-repeat;
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #fff;
}
/* お知らせ */
#body_wrap.single-post #breadcrumb::after {
  content: "お知らせ";
  position: absolute;
  top: 180px;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .08em;
  color: #fff;
  white-space: nowrap;
  pointer-events: none;
}
/* パンくずはビジュアルの下に */
#body_wrap.single-post #breadcrumb {
  padding: 0;
  background: #fff;
}
/* パンくず本体 */
#body_wrap.single-post #breadcrumb .p-breadcrumb__list {
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 20px;
  padding-bottom: 20px;
  background: transparent;
}
@media screen and (max-width: 960px) {
  #body_wrap.single-post #breadcrumb .p-breadcrumb__list {
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 767px) {
  #body_wrap.single-post #breadcrumb::before {
    height: 220px;
    min-height: 220px;
    margin-bottom: 6px;
    font-size: 28px;
    letter-spacing: 0.1em;
  }
  #body_wrap.single-post #breadcrumb::after {
    top: 125px;
    font-size: 15px;
  }
  #body_wrap.single-post #breadcrumb .p-breadcrumb__list {
    width: calc(100% - 40px);
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
/* ========================================
   NEWS DETAIL - BACK BUTTON
======================================== */
/* 本文とボタンの間の区切り線 */
#body_wrap.single-post .post_content {
  border-bottom: 0;
}
/* 戻るボタンエリア */
#body_wrap.single-post .newsDetail-Back {
  display: flex;
  justify-content: center;
  margin-top: 60px;
  padding-top: 55px;
  border-top: 1px solid #dedede;
}
/* ボタン */
#body_wrap.single-post .newsDetail-BackLink {
  display: inline-flex;
  position: relative;
  min-width: 240px;
  min-height: 52px;
  padding: 12px 45px;
  align-items: center;
  justify-content: center;
  background: #b28c4e;
  color: #fff;
  font-family:
    "Shippori Mincho", "Yu Mincho", serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  transition: opacity .3s;
}
#body_wrap.single-post .newsDetail-BackLink:hover {
  opacity: .8;
  color: #fff;
}
/* 矢印 */
#body_wrap.single-post .newsDetail-BackArrow {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-family: sans-serif;
  font-size: 22px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #body_wrap.single-post .newsDetail-Back {
    margin-top: 40px;
    padding-top: 40px;
  }
  #body_wrap.single-post .newsDetail-BackLink {
    min-width: 220px;
    min-height: 48px;
  }
}
/* ========================================
   PLACE NEWS 投稿ページ 見出し
======================================== */
/* 見出し共通 */
.single-post .l-mainContent__inner h2.wp-block-heading, .single-post .l-mainContent__inner h3.wp-block-heading, .single-post .l-mainContent__inner h4.wp-block-heading, .single-post .l-mainContent__inner h5.wp-block-heading, .single-post .l-mainContent__inner h6.wp-block-heading {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.08em;
  color: #222;
  box-shadow: none;
  border-radius: 0;
}
/* ----------------------------------------
   H1 投稿タイトル
---------------------------------------- */
.single-post .c-postTitle__ttl {
  font-family: "Shippori Mincho", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #222;
  margin: 0 0 30px;
}
/* ----------------------------------------
   H2 ベージュ背景
---------------------------------------- */
.single-post .l-mainContent__inner h2.wp-block-heading {
  font-size: 22px;
  padding: 12px 18px;
  margin: 60px 0 20px;
  background: #f3ede5;
  border: none;
}
/* ----------------------------------------
   H3 下線
---------------------------------------- */
.single-post .l-mainContent__inner h3.wp-block-heading {
  font-size: 21px;
  padding: 0 0 10px;
  margin: 60px 0 20px;
  background: none;
  border: none;
  border-bottom: 1px solid #cdbb9f;
}
/* ----------------------------------------
   H4 左縦線
---------------------------------------- */
.single-post .l-mainContent__inner h4.wp-block-heading {
  font-size: 20px;
  padding: 0 0 0 12px;
  margin: 60px 0 20px;
  background: none;
  border: none;
  border-left: 6px solid #cdbb9f;
}
/* ----------------------------------------
   H5 交互カラードットアイコン
---------------------------------------- */
.single-post .l-mainContent__inner h5.wp-block-heading {
  position: relative;
  font-size: 19px;
  padding: 0 0 0 15px;
  margin: 60px 0 20px;
  background: none;
  border: none;
  box-shadow: none;
}
/* 左側のSVGアイコン */
.single-post .l-mainContent__inner h5.wp-block-heading::before {
  content: "" !important;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 5px;
  height: 32px;
  background-image: url("../img/news/heading5-icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
/* ----------------------------------------
   H6 装飾なし
---------------------------------------- */
.single-post .l-mainContent__inner h6.wp-block-heading {
  font-size: 18px;
  padding: 0;
  margin: 60px 0 20px;
  background: none;
  border: none;
}
/* ----------------------------------------
   SWELL標準の疑似要素を解除
---------------------------------------- */
.single-post .l-mainContent__inner h2.wp-block-heading::before, .single-post .l-mainContent__inner h2.wp-block-heading::after, .single-post .l-mainContent__inner h3.wp-block-heading::before, .single-post .l-mainContent__inner h3.wp-block-heading::after, .single-post .l-mainContent__inner h4.wp-block-heading::before, .single-post .l-mainContent__inner h4.wp-block-heading::after, .single-post .l-mainContent__inner h5.wp-block-heading::before, .single-post .l-mainContent__inner h5.wp-block-heading::after, .single-post .l-mainContent__inner h6.wp-block-heading::before, .single-post .l-mainContent__inner h6.wp-block-heading::after {
  content: none;
}
/* ========================================
   スマートフォン 767px以下
======================================== */
@media screen and (max-width: 767px) {
  .single-post .c-postTitle__ttl {
    font-size: 24px;
    margin-bottom: 24px;
  }
  .single-post .l-mainContent__inner h2.wp-block-heading {
    font-size: 20px;
    padding: 12px 15px;
    margin: 45px 0 18px;
  }
  .single-post .l-mainContent__inner h3.wp-block-heading {
    font-size: 19px;
    margin: 45px 0 18px;
  }
  .single-post .l-mainContent__inner h4.wp-block-heading {
    font-size: 18px;
    margin: 45px 0 18px;
  }
  .single-post .l-mainContent__inner h5.wp-block-heading {
    font-size: 17px;
    margin: 45px 0 18px;
  }
  .single-post .l-mainContent__inner h6.wp-block-heading {
    font-size: 16px;
    margin: 45px 0 18px;
  }
}
/* ========================================
   NEWS投稿ページ 表示順変更
======================================== */
.single-post .l-mainContent__inner {
  display: flex;
  flex-direction: column;
}
/* 1. 日付・カテゴリー */
.single-post .p-articleMetas.-top {
  order: 1;
}
/* 2. アイキャッチ画像 */
.single-post .p-articleThumb {
  order: 2;
}
/* 3. 記事タイトル */
.single-post .p-articleHead {
  order: 3;
}
/* 4. 本文 */
.single-post .post_content {
  order: 4;
}
/* 5. 記事下部 */
.single-post .p-articleFoot {
  order: 5;
}
.single-post .l-articleBottom {
  order: 6;
}
/* ========================================
   PLACE /future/  私たちの取り組み
   子テーマ用 / 固定ページ本文のみ
======================================== */
.futurePage {
  --future-gold: #ae8a51;
  --future-ink: #252525;
  --future-gray: #f1f1f1;
  width: 100%;
  color: var(--future-ink);
  font-family: "Jost", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  font-size: 16px;
  line-height: 2;
  letter-spacing: .04em
}
.futurePage, .futurePage * {
  box-sizing: border-box
}
.futurePage-Inner {
  width: calc(100% - 80px);
  max-width: 1200px;
  margin-inline: auto
}
.futurePage img {
  display: block;
  max-width: 100%;
  height: auto
}
.futurePage a {
  text-decoration: none;
  color: inherit
}
.futurePage h3, .futurePage h4 {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-weight: 400;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  background: none;
  border: 0;
  box-shadow: none
}
.futurePage h3 {
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.futurePage-Section {
  scroll-margin-top: 90px
}
.futurePage-Eyebrow {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 18px !important;
  color: var(--future-gold) !important;
  font-family: "Jost", serif !important;
  font-size: 13px !important;
  letter-spacing: .08em
}
.futurePage-Eyebrow span {
  font-size: 40px
}
/* INTRO */
.futurePage-Intro {
  padding: 90px 0 80px;
  background: #fff
}
.futurePage-IntroGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 75px;
  align-items: center
}
.futurePage-IntroImage img {
  width: 100%;
  aspect-ratio: 1201/781;
  object-fit: cover
}
.futurePage-AnchorNav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 75px
}
.futurePage-AnchorNav a {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: center;
  min-height: 68px;
  padding: 10px 12px;
  border-left: 1px solid #d9c9ad;
  transition: color .2s, background .2s
}
.futurePage-AnchorNav a:last-child {
  border-right: 1px solid #d9c9ad
}
.futurePage-AnchorNav a:hover {
  color: var(--future-gold);
  background: #faf8f3
}
.futurePage-AnchorNum {
  font-family: "Jost", serif;
  font-size: 30px;
  line-height: 1;
  color: var(--future-gold)
}
.futurePage-AnchorNav a > span:last-child {
  font-size: 18px;
  line-height: 1.5
}
.futurePage-AnchorNav small {
  display: block;
  font-family: "Jost", sans-serif;
  font-size: 13px;
  letter-spacing: .1em;
  color: var(--future-gold)
}
/* CULTURE */
.futurePage-Culture {
  background: var(--future-gray)
}
.futurePage-CultureHero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 550px
}
.futurePage-CulturePhoto {
  min-height: 450px;
  overflow: hidden
}
.futurePage-CulturePhoto img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
.futurePage-CultureText {
  display: flex;
  align-items: center;
  padding: 75px clamp(30px, 6vw, 110px)
}
.futurePage-CultureTextInner {
  max-width: 510px
}
.futurePage-CultureText h2 {
  margin-bottom: 28px
}
.futurePage-CultureText p:not(.futurePage-Eyebrow) {
  margin-bottom: 20px
}
.futurePage-CultureText p:last-child {
  margin-bottom: 0
}
.futurePage-CultureLower {
  padding: 75px 0 95px;
  text-align: center
}
.futurePage-CultureLower h3 {
  margin-bottom: 45px
}
.futurePage-CultureCards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px
}
.futurePage-CultureCard {
  min-height: 230px;
  padding: 35px 16px 28px;
  background: #fff
}
.futurePage-CultureCard img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  margin: 0 auto 17px
}
.futurePage-CultureCard h4 {
  margin-bottom: 10px;
  font-size: 20px;
}
.futurePage-CultureCard p {
  font-size: 16px;
  line-height: 1.8
}
.futurePage .futurePage-CultureClosing {
  margin-top: 45px !important;
  font-size: 18px;
}
/* EXPERIENCE */
.futurePage-Experience {
  background: #fff
}
.futurePage-ExperienceGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 570px
}
.futurePage-ExperienceCopy {
  padding: 80px clamp(30px, 6vw, 110px);
  align-self: center;
  justify-self: end;
  width: 100%;
  max-width: 710px
}
.futurePage-ExperienceCopy > p:not(.futurePage-Eyebrow) {
  margin-bottom: 20px
}
.futurePage-ExperienceVisual {
  position: relative;
  min-height: 540px;
  background: #eee
}
.futurePage-ExperienceVisual > img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
.futurePage-ExperienceCaption {
  position: absolute;
  bottom: 30px;
  left: 35px;
  right: 35px;
  padding: 20px;
  background: rgba(255, 255, 255, .85)
}
.futurePage-ExperienceCaption small, .futurePage-ExperienceCaption span {
  display: block;
  font-size: 14px
}
.futurePage-ExperienceCaption strong {
  display: block;
  font-size: 24px;
  font-weight: 400
}
.futurePage-ExperienceCaption p {
  margin-top: 10px;
  font-size: 14px
}
.futurePage-ExperiencePeople {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 50px
}
.futurePage-ExperiencePeople > div {
  padding: 25px 8px;
  text-align: center;
  background: #f3f3f3
}
.futurePage-ExperiencePeople img {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 10px
}
.futurePage-ExperiencePeople span {
  display: block;
  font-size: 14px;
  line-height: 1.6
}
.futurePage-ExperienceClosing {
  text-align: center;
  padding-top: 75px;
  padding-bottom: 90px
}
.futurePage-ExperienceClosing h3 {
  margin-bottom: 15px
}
.futurePage-ExperienceClosing p {
  margin: 15px 0 30px;
}
/* TECHNOLOGY */
.futurePage-Technology {
  padding: 95px 0;
  background: var(--future-gray)
}
.futurePage-TechIntro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 65px;
  margin-bottom: 60px
}
.futurePage-TechImage img {
  width: 100%;
  aspect-ratio: 1201/781;
  object-fit: cover;
}
.futurePage-TechColumns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 50px;
}
.futurePage-TechColumnHeading {
  display: flex;
  gap: 20px;
  align-items: center;
  border-bottom: 1px solid #cbbda5;
  padding-bottom: 20px;
  margin-bottom: 22px;
}
.futurePage-TechColumnHeading img {
  width: 88px;
  height: 88px;
  object-fit: contain;
}
.futurePage-TechColumnHeading h3 {
  font-size: 21px;
}
.futurePage-TechColumn ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
.futurePage-TechColumn li {
  position: relative;
  padding-left: 30px;
  font-size: 16px;
  line-height: 1.8;
  display: flex;
  align-items: center;
  gap: 15px;
}
/* ========================================
   TECHNOLOGY セクション アイコン
======================================== */
/* アイコン共通設定 */
.futurePage-TechColumn li::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
/* 左右のリストを通した連番で指定 */
/* 左側 1番目 */
.futurePage-TechColumn:first-child li:nth-child(1)::before {
  background-image: url("/placelounge-web/wp-content/themes/swell_child/assets/img/future/future-technology-icon1.png");
}
/* 左側 2番目 */
.futurePage-TechColumn:first-child li:nth-child(2)::before {
  background-image: url("/placelounge-web/wp-content/themes/swell_child/assets/img/future/future-technology-icon2.png");
}
/* 左側 3番目 */
.futurePage-TechColumn:first-child li:nth-child(3)::before {
  background-image: url("/placelounge-web/wp-content/themes/swell_child/assets/img/future/future-technology-icon3.png");
}
/* 左側 4番目 */
.futurePage-TechColumn:first-child li:nth-child(4)::before {
  background-image: url("/placelounge-web/wp-content/themes/swell_child/assets/img/future/future-technology-icon4.png");
}
/* 右側 1番目 */
.futurePage-TechColumn:last-child li:nth-child(1)::before {
  background-image: url("/placelounge-web/wp-content/themes/swell_child/assets/img/future/future-technology-icon5.png");
}
/* 右側 2番目 */
.futurePage-TechColumn:last-child li:nth-child(2)::before {
  background-image: url("/placelounge-web/wp-content/themes/swell_child/assets/img/future/future-technology-icon6.png");
}
/* 右側 3番目 */
.futurePage-TechColumn:last-child li:nth-child(3)::before {
  background-image: url("/placelounge-web/wp-content/themes/swell_child/assets/img/future/future-technology-icon7.png");
}
.futurePage-TechClosing {
  text-align: center;
  margin-top: 80px
}
.futurePage-TechClosing h3 {
  margin-bottom: 22px
}
.futurePage-TechClosing > a {
  display: inline-block;
  width: min(330px, 100%);
  margin-top: 50px
}
.futurePage-TechClosing > a img {
  width: 100%;
  height: auto
}
/* FUTURE */
.futurePage-Tomorrow {
  padding: 95px 0;
  background: #fff
}
.futurePage-TomorrowGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 75px;
  align-items: center
}
.futurePage-TomorrowCopy p:not(.futurePage-Eyebrow) {
  margin-bottom: 20px
}
.futurePage-TomorrowImage img {
  width: 100%;
  aspect-ratio: 1201/781;
  object-fit: cover
}
.futurePage-TomorrowCircles {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 70px
}
.futurePage-TomorrowCircles > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 230px;
  aspect-ratio: 1;
  border-radius: 50%;
  padding: 20px;
  background: #eee5d2;
  text-align: center
}
.futurePage-TomorrowCircles h3 {
  font-size: 18px;
  margin-bottom: 10px
}
.futurePage-TomorrowCircles p {
  margin: 5px 0 0;
  font-size: 15px;
  line-height: 1.75
}
/* ENDING */
.futurePage-Finale {
  padding: 75px 0;
  background: #ae8a51;
  color: #fff;
  text-align: center
}
.futurePage-Finale h2 {
  margin-bottom: 18px;
  font-size: 26px;
  color: #fff
}
.wp-singular .post_content .futurePage-Finale h2 {
  color: #fff;
  font-weight: 500;
}
.futurePage-Finale p {
  color: #fff
}
/* TABLET */
@media(max-width:1200px) {
  .futurePage-IntroGrid, .futurePage-TechIntro, .futurePage-TomorrowGrid {
    gap: 45px
  }
  .futurePage-CultureText, .futurePage-ExperienceCopy {
    padding: 60px 45px
  }
}
@media(max-width:960px) {
  .futurePage-Inner {
    width: calc(100% - 60px)
  }
  .futurePage-Intro {
    padding: 75px 0
  }
  .futurePage-AnchorNav a {
    gap: 8px;
    padding: 10px 6px
  }
  .futurePage-AnchorNum {
    font-size: 23px
  }
  .futurePage-AnchorNav a > span:last-child {
    font-size: 12px
  }
  .futurePage-CultureText, .futurePage-ExperienceCopy {
    padding: 50px 30px
  }
  .futurePage-CultureCards {
    gap: 10px
  }
  .futurePage-CultureCard {
    padding: 25px 10px
  }
  .futurePage-ExperiencePeople {
    gap: 6px
  }
  .futurePage-ExperiencePeople > div {
    padding: 12px 5px
  }
  .futurePage-TechColumns {
    gap: 30px
  }
  .futurePage-TomorrowCircles > div {
    width: 200px
  }
}
/* SMARTPHONE */
@media(max-width:767px) {
  .futurePage {
    font-size: 15px
  }
  .futurePage-Inner {
    width: calc(100% - 40px)
  }
  .futurePage h3 {
    font-size: 25px;
  }
  .futurePage-Section {
    scroll-margin-top: 75px
  }
  .futurePage-Intro {
    padding: 55px 0 60px
  }
  .futurePage-IntroGrid {
    grid-template-columns: 1fr;
    gap: 30px
  }
  .futurePage-IntroCopy h2 {
    margin-bottom: 20px
  }
  .futurePage-AnchorNav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 45px
  }
  .futurePage-AnchorNav a {
    min-height: 70px;
    justify-content: flex-start;
    padding: 12px;
    border-bottom: 1px solid #d9c9ad
  }
  .futurePage-AnchorNav a:nth-child(2) {
    border-right: 1px solid #d9c9ad
  }
  .futurePage-AnchorNav a:nth-child(-n+2) {
    border-top: 1px solid #d9c9ad
  }
  .futurePage-AnchorNav a > span:last-child {
    font-size: 12.5px
  }
  .futurePage-AnchorNav small {
    font-size: 11px;
  }
  .futurePage-CultureHero, .futurePage-ExperienceGrid {
    grid-template-columns: 1fr
  }
  .futurePage-CulturePhoto {
    min-height: 0
  }
  .futurePage-CulturePhoto img {
    aspect-ratio: 1.4;
    object-fit: cover
  }
  .futurePage-CultureText, .futurePage-ExperienceCopy {
    padding: 50px 20px
  }
  .futurePage-CultureTextInner {
    max-width: none
  }
  .futurePage-CultureLower {
    padding: 55px 0 65px
  }
  .futurePage-CultureLower h3 {
    margin-bottom: 30px
  }
  .futurePage-CultureCards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px
  }
  .futurePage-CultureCard {
    min-height: 200px;
    padding: 25px 12px
  }
  .futurePage-CultureCard h4 {
    font-size: 15px
  }
  .futurePage-CultureCard p {
    font-size: 12px
  }
  .futurePage-ExperiencePeople {
    margin-top: 40px;
  }
  .futurePage .futurePage-CultureClosing {
    margin-top: 30px !important;
    font-size: 16px;
  }
  .futurePage-ExperienceCopy {
    max-width: none;
    justify-self: stretch
  }
  .futurePage-ExperienceVisual {
    min-height: 0
  }
  .futurePage-ExperienceVisual > img {
    aspect-ratio: 1.15;
    object-fit: cover
  }
  .futurePage-ExperienceCaption {
    left: 15px;
    right: 15px;
    bottom: 15px;
    padding: 15px
  }
  .futurePage-ExperienceClosing {
    padding-top: 55px;
    padding-bottom: 65px
  }
  .futurePage-Technology {
    padding: 65px 0
  }
  .futurePage-TechIntro {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 45px
  }
  .futurePage-TechColumns {
    grid-template-columns: 1fr;
    gap: 45px
  }
  .futurePage-TechColumnHeading img {
    width: 74px;
    height: 74px
  }
  .futurePage-TechColumnHeading h3 {
    font-size: 18px
  }
  .futurePage-TechClosing {
    margin-top: 60px
  }
  .futurePage-TechClosing > a {
    margin-top: 40px
  }
  .futurePage-Tomorrow {
    padding: 65px 0
  }
  .futurePage-TomorrowGrid {
    grid-template-columns: 1fr;
    gap: 30px
  }
  .futurePage-TomorrowCircles {
    gap: 10px;
    margin-top: 45px
  }
  .futurePage-TomorrowCircles > div {
    width: calc((100% - 20px)/3);
    padding: 10px 5px
  }
  .futurePage-TomorrowCircles h3 {
    font-size: 13px;
    margin-bottom: 5px
  }
  .futurePage-TomorrowCircles p {
    font-size: 10px;
    line-height: 1.5
  }
  .futurePage-Finale {
    padding: 55px 0
  }
  .futurePage-Finale h2 {
    font-size: 21px
  }
  .futurePage-Eyebrow span {
    font-size: 30px
  }
}
@media(max-width:400px) {
  .futurePage-Inner {
    width: calc(100% - 32px)
  }
  .futurePage h3 {
    font-size: 22px;
  }
  .futurePage-AnchorNav a {
    padding: 10px 7px
  }
  .futurePage-AnchorNum {
    font-size: 21px
  }
  .futurePage-ExperiencePeople span {
    font-size: 10px
  }
  .futurePage-ExperiencePeople img {
    width: 52px;
    height: 52px
  }
  .futurePage-TomorrowCircles {
    flex-wrap: wrap
  }
  .futurePage-TomorrowCircles > div {
    width: calc((100% - 10px)/2);
    max-width: 160px
  }
  .futurePage-CultureCard {
    min-height: 190px
  }
}