@charset "UTF-8";
/* ==============================

    サイト設定　適宜変更箇所

============================== */
body,
html {
  font-size: 16px;
}

body {
  color: #1c1f1b;
  font-family: "Noto Serif SC", serif;
  letter-spacing: 0.2em;
}

html {
  scroll-behavior: smooth;
}

p {
  margin-bottom: 0;
  letter-spacing: 0.2em;
}

a,
a img {
  color: #1c1f1b;
  text-decoration: none;
  transition: all 0.2s ease 0s;
}

/*下層ページタイトル*/
.under-v {
  padding: 50px 0 50px;
  text-align: center;
  background: gray;
  color: #fff;
}

/* ==============================

    サイト設定

============================== */
.inner-s {
  max-width: 960px;
  margin: 0 auto;
}

.inner {
  max-width: 1100px;
  margin: 0 auto;
}

.inner-l {
  max-width: 1440px;
  margin: 0 auto;
}

/* カラー */
.red {
  color: #6E0B0B;
  font-weight: bold;
}

/*画像ホバー時*/
.img-hover {
  transition: 0.6s;
}

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

.flex-row {
  flex-direction: row-reverse;
}

/* ==============================

　　固定メニュー

　============================== */
.fix_nav.sp_disp.sp {
  position: fixed;
  z-index: 300;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: black;
}

.wp-block-group.fix_nav.sp_disp-inner {
  gap: 0;
}

.kotei-menu {
  color: #fff;
  padding: 5px 0;
  text-align: center;
  border-right: 0.5px solid #fff;
  position: relative;
}

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

/*メニュー数*/
.sp_disp-4 .kotei-menu {
  width: 25%;
}

.sp_disp-3 .kotei-menu {
  width: 33.3333333333%;
}

.sp_disp-2 .kotei-menu {
  width: 50%;
}

.sp_disp-1 .kotei-menu {
  width: 100%;
}

/* ==============================

ヘッダーの設定

　============================== */
header {
  width: 100%;
  transition: 0.6s;
}

.header-inner {
  transition: 0.6s;
}

/*適宜修正*/
.header-inner {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 300;
}

/* ==============================

    メインビジュアル

　============================== */
/*メインビジュアル　relative*/
.mainv {
  z-index: 0;
  position: relative;
}

.slider-01 {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #000;
}

/*メインビジュアル　高さ適宜変更*/
.mainv,
.slider-01,
.slider-01 .slide figure.wp-block-image.size-full,
.slider-01 .slide figure.wp-block-image.size-full img {
  height: 100vh;
}

.header_top_wapper figure.wp-block-image.size-full {
  height: 100%;
}

figure.wp-block-image.size-full.mb20 {
  margin-bottom: 10px;
}

.hero__banners figure.wp-block-image.size-full img {
  filter: drop-shadow(-1.07px 2.8px 57px rgba(84, 84, 84, 0.16));
}

.header_top_wapper figure.wp-block-image.size-full img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .header_top_wapper figure.wp-block-image.size-full img {
    -o-object-position: 70% -210px;
       object-position: 70% -210px;
  }
}
@media screen and (max-width: 768px) {
  .header_top_wapper figure.wp-block-image.size-full img {
    -o-object-position: 70% -110px;
       object-position: 70% -110px;
  }
}
@media screen and (max-width: 600px) {
  .header_top_wapper figure.wp-block-image.size-full img {
    -o-object-position: 100%;
       object-position: 100%;
  }
}

/*メインビジュアルキャッチコピー*/
figure.wp-block-image.size-full.maincopy {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 20;
  /* 下記適宜変更*/
  max-width: 865px;
  height: 337px;
  width: 100%;
}

/* ==============================

　　↓　PC版テーマ専用CSSは下記から記述　↓

　============================== */
/* ==============================

    スマホ・タブレット縦

============================== */
@media screen and (max-width: 1100px) {
  /*ハンバーガーメニュー表示*/
  .nav-wrapper {
    display: block;
  }
  .pc,
.page-top {
    display: none;
  }
  .sp {
    display: block;
  }
}
/* ==============================

    PC・タブレット横 

============================== */
@media only screen and (min-width: 1100px) {
  .fix_nav.sp_disp.sp {
    display: none;
  }
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
/* ==============================

    タブレット縦横

============================== */
@media (max-width: 1650px) and (min-width: 710px) {
  .fix_nav.sp_disp.sp {
    display: none;
  }
  .inner-s,
.inner,
.inner-l {
    width: 90%;
  }
}
/* ==============================

    タブレット縦のみ

============================== */
@media (max-width: 1100px) and (min-width: 710px) {
  /*MVの高さ適宜変更*/
  .mainv,
.slider-01,
.slider-01 .slide figure.wp-block-image.size-full,
.slider-01 .slide figure.wp-block-image.size-full img {
    height: 60vh;
  }
  .tel-menu-flex {
    max-width: 374px;
  }
  .fix_nav.sp_disp.sp {
    display: none;
  }
}
/* ==============================

    スマホ　

============================== */
@media screen and (max-width: 710px) {
  /*スマホ版MVの高さ適宜変更*/
  .mainv,
.slider-01,
.slider-01 .slide figure.wp-block-image.size-full,
.slider-01 .slide figure.wp-block-image.size-full img {
    height: 60vh;
  }
  .inner-s,
.inner,
.inner-l {
    width: 90%;
  }
  /*スマホ版文字サイズ*/
  p {
    font-size: 15px;
    line-height: 1.7;
    font-weight: bold;
  }
}
/* ==============================

  その他適宜追加する場合は下記に記述

============================== */
:root {
  --bg:#fff;
  --paper:#f7f4ee;
  --ink:#363636;
  --muted:#6f6a63;
  --gold:#c7a23a;
  --gold2:#ba911c;
  --line:#e7dfd1;
  --shadow:0 8px 24px rgba(0,0,0,.08);
  --radius:14px;
  --container:1080px;
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  display: block;
}

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

/* .l-container{width:min(var(--container),calc(100% - 40px));margin-inline:auto} */
.siteHeader {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(231, 223, 209, 0.7);
}

.siteHeader__inner {
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.siteHeader__logoMark {
  font-weight: 700;
  letter-spacing: 0.18em;
  font-size: 14px;
}

.siteHeader__menuBtn {
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  display: grid;
  place-items: center;
  gap: 4px;
  padding: 10px;
}

.siteHeader__menuBtn span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--ink);
  border-radius: 9px;
}

/* =========================
  Hero（design-fit）
========================== */
.hero {
  position: relative;
  height: min(760px, 92vh);
  min-height: 520px;
  overflow: hidden;
}

.home .heroLogo {
  left: 70px;
  top: 40px;
  max-width: 240px;
  max-height: 147px;
}
@media (max-width: 600px) {
  .home .heroLogo {
    max-width: 115px;
    max-height: 47px;
    left: 16px;
    top: 20px;
  }
  .home .heroLogo img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.heroLogo {
  position: absolute;
  left: 30px;
  top: 30px;
  z-index: 3;
  max-width: 160px;
  max-height: 147px;
}
@media (max-width: 820px) {
  .heroLogo {
    max-width: 150.5px;
    max-height: 90px;
    left: 25px;
  }
}
.heroLogo a:hover {
  opacity: 0.7;
}
@media (max-width: 500px) {
  .heroLogo {
    max-width: 89.5px;
    max-height: 52px;
    left: 20px;
    top: 16px;
  }
}
.heroLogo img {
  filter: drop-shadow(-1.07px 4.8px 8px rgb(0, 0, 0));
}

.header_top_wapper {
  min-height: 960px;
  margin: 20px;
  position: relative;
}
@media (min-width: 501px) {
  .header_top_wapper .sp_img {
    display: none;
  }
}
@media (max-width: 500px) {
  .header_top_wapper {
    margin: 10px;
    min-height: 570px;
  }
  .header_top_wapper .tab_mvimg {
    display: none;
  }
}

.hero__bg {
  position: absolute;
  inset: 0;
}

.hero__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 上段（ロゴ＋MENU） */
.hero__top {
  position: fixed;
  top: 40px;
  right: 55px;
  z-index: 100;
}
@media (max-width: 500px) {
  .hero__top {
    top: 18px;
    right: 18px;
  }
}

@media (max-width: 768px) {
  .header_top_wapper .tab_mvimg {
    display: none;
  }
  .header_top_wapper .sp_img {
    display: block !important;
  }
}

/* MENUボタン（白ピル型） */
.heroMenuBtn .wp-block-group__inner-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  height: 44px; /* ←画像っぽい高さ */
  padding: 0 22px 0 18px; /* 左を少し詰める */
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.85);
  color: #b7922f;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.12em; /* ←広すぎ注意（画像に近い） */
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
  text-decoration: none;
}
@media (max-width: 500px) {
  .heroMenuBtn .wp-block-group__inner-container {
    font-weight: bold;
  }
}
@media (max-width: 500px) {
  .heroMenuBtn .wp-block-group__inner-container {
    height: 30px;
    font-size: 15px;
  }
}

/* 3本線アイコン */
.heroMenuBtn__icon {
  width: 18px;
  height: 14px;
  position: relative;
  display: inline-block;
}
@media (max-width: 500px) {
  .heroMenuBtn__icon {
    width: 13.5px;
    height: 11px;
  }
}

.heroMenuBtn__icon::before,
.heroMenuBtn__icon::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: #b7922f;
}
@media (max-width: 500px) {
  .heroMenuBtn__icon::before,
.heroMenuBtn__icon::after {
    height: 1px;
  }
}

/* 上線 */
.heroMenuBtn__icon::before {
  top: 0;
}

/* 下線 */
.heroMenuBtn__icon::after {
  bottom: 0;
}

/* 中線 */
.heroMenuBtn__icon {
  background: linear-gradient(#b7922f, #b7922f) center/100% 2px no-repeat;
}
@media (max-width: 500px) {
  .heroMenuBtn__icon {
    background: linear-gradient(#b7922f, #b7922f) center/100% 1px no-repeat;
  }
}

/* MENUテキスト微調整 */
.heroMenuBtn__txt {
  line-height: 1;
  transform: translateY(1px); /* 画像のように僅かに下げる */
}

/* 左下：金帯キャッチ */
.hero__catchWrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}
@media (max-width: 500px) {
  .hero__catchWrap {
    bottom: 13px;
  }
}

.heroCatch {
  width: min(987px, 68vw);
  padding: 34px 44px 34px 9vw;
  background: linear-gradient(90deg, #f0bc0d 0%, #d0a055 100%);
}
@media (max-width: 1200px) {
  .heroCatch {
    width: 100%;
  }
}
@media (max-width: 600px) {
  .heroCatch {
    padding: 21px 15px;
  }
}

.heroCatch__title {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(30px, 2.2vw, 34px);
  line-height: 1.55;
  letter-spacing: 0.2em;
  font-weight: 600;
  font-size: 30px;
}
@media (max-width: 600px) {
  .heroCatch__title {
    font-size: 20px;
  }
}
@media (max-width: 500px) {
  .heroCatch__title {
    font-weight: bold;
  }
}
.heroCatch__title strong {
  font-weight: 600;
  color: #7a683d;
}
@media (max-width: 500px) {
  .heroCatch__title strong {
    font-weight: bold;
  }
}

.heroCatch__sub {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 12px;
  letter-spacing: 0.14em;
  line-height: 1.8;
}
@media (max-width: 500px) {
  .heroCatch__sub {
    font-weight: bold;
  }
}

/* 右下：バナー2枚 */
.hero__banners {
  position: fixed;
  right: 0px;
  bottom: 0%;
  display: flex;
  flex-direction: column;
  gap: 18px;
  z-index: 3;
}
.hero__banners figure.wp-block-image.size-full {
  width: 80%;
  margin-left: auto;
}
.hero__banners a:hover {
  opacity: 0.7;
}
@media (max-width: 820px) {
  .hero__banners {
    display: none;
  }
}

.hero__banners .heroBannerClose {
  position: absolute;
  top: -40px; /* 内側なら 6px とかに */
  right: 10px;
  width: 28px;
  height: 28px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  z-index: 1000;
  letter-spacing: 0;
  padding-bottom: 2px;
}
@media (max-width: 1024px) {
  .hero__banners .heroBannerClose {
    display: none;
  }
}

.hero__banners .heroBannerClose:hover {
  background: rgba(0, 0, 0, 0.85);
}

.heroBanner {
  width: 370px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(231, 223, 209, 0.85);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: stretch;
}

.heroBanner__thumb {
  background: #eee;
}

.heroBanner__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.heroBanner__body {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}

.heroBanner__title {
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size: 30px;
  letter-spacing: 0.06em;
  color: #b7922f;
  font-weight: 600;
  line-height: 1.1;
}
@media (max-width: 500px) {
  .heroBanner__title {
    font-weight: bold;
  }
}

.heroBanner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 34px;
  border-radius: 4px;
  background: #c7a23a;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.08em;
}

/* =========================
  Brand Lead（白背景・中央）
========================== */
.brandLead {
  background: #fff;
  padding: 90px 0 110px; /* ここが“間” */
}

.brandLead__inner {
  text-align: center;
}
@media (max-width: 500px) {
  .brandLead__inner {
    margin-top: 25px;
  }
  .brandLead__inner.l-container {
    padding: 0;
  }
}

.brandLead__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 52px;
}
@media (max-width: 500px) {
  .brandLead__logo {
    margin-bottom: 45px;
  }
}

.brandLead__logo img {
  width: 220px; /* ロゴサイズ */
  height: auto;
  display: block;
}
@media (max-width: 500px) {
  .brandLead__logo img {
    max-width: 121px;
    width: 121px;
  }
}

.brandLead__kicker {
  margin: 0 0 44px;
  color: var(--gold2);
  font-weight: 600;
  letter-spacing: 0.18em; /* 小さい金文字の字間 */
  font-size: 16px;
}
@media (max-width: 500px) {
  .brandLead__kicker {
    font-weight: bold;
  }
}

.brandLead__name {
  margin: 0 0 18px;
  color: #363636;
  line-height: 2;
  font-size: 24px;
  letter-spacing: 0.2em;
  font-weight: 600;
}
@media (max-width: 500px) {
  .brandLead__name {
    font-size: 15px;
    font-weight: bold;
  }
}

.brandLead__catch {
  margin: 0;
  color: #363636;
  font-size: 24px;
  letter-spacing: 0.14em;
  font-weight: 500;
}

/* =========================
  What is LA TOWA（2col + layering）
========================== */
.what {
  padding: 90px 0 150px;
  position: relative;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1100px) {
  .what {
    padding: 30px 0 100px;
  }
}
@media (max-width: 600px) {
  .what {
    padding: 15px 0;
  }
}

.what__text.l-container {
  margin: 0 0 0;
  padding-left: 7.6vw;
}
@media (max-width: 1330px) {
  .what__text.l-container {
    max-width: 46vw;
  }
}
@media (min-width: 1101px) {
  .what__text.l-container .tabimg01 {
    display: none;
  }
}
@media (max-width: 1100px) {
  .what__text.l-container {
    margin: 0 0 0;
    max-width: 100%;
  }
  .what__text.l-container .tabimg01 {
    display: block;
  }
}
@media (max-width: 500px) {
  .what__text.l-container {
    padding-left: 20px;
    width: 100%;
  }
}

.what__inner .wp-block-group__inner-container .wp-block-group__inner-container {
  display: block;
}

/* 左：テキスト */
.what__title {
  margin: 0 0 26px;
  color: var(--gold2);
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size: 36px;
  letter-spacing: 0.22em;
  font-weight: 500;
}
@media (max-width: 500px) {
  .what__title {
    font-size: 20px;
  }
}

.what__lead {
  margin: 0 0 18px;
  font-size: 24px;
  letter-spacing: 0.2em;
  font-weight: 600;
  line-height: 2.1;
}
@media (max-width: 500px) {
  .what__lead {
    font-weight: bold;
  }
}
@media (max-width: 500px) {
  .what__lead {
    font-size: 15px;
    text-align: justify;
  }
}

.what__sub {
  margin: 22px 0 18px;
  color: #8e8a85;
  letter-spacing: 0.2em;
  font-size: 24px;
}
@media (max-width: 500px) {
  .what__sub {
    font-size: 15px;
  }
}

.what__list {
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.what__list li {
  position: relative;
  padding-left: 18px;
  font-size: 16px;
  letter-spacing: 0.2em;
  margin-left: 60px;
  line-height: 2;
  color: #363636;
}
@media (max-width: 820px) {
  .what__list li {
    margin-left: 0px;
  }
}
@media (max-width: 500px) {
  .what__list li {
    font-size: 15px;
  }
}

.what__list li::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: var(--gold2);
  position: absolute;
  left: 6px;
  top: 14px;
  opacity: 0.9;
}

.what__note {
  margin: 26px 0 10px;
  color: var(--gold2);
  font-size: 24px;
  letter-spacing: 0.14em;
}
@media (max-width: 500px) {
  .what__note {
    font-size: 15px;
  }
}

.what__desc {
  margin: 0;
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 2.75;
  color: #363636;
  margin-left: 60px;
  padding-bottom: 30px;
}
@media (max-width: 820px) {
  .what__desc {
    margin-left: 0px;
  }
}
@media (max-width: 500px) {
  .what__desc {
    font-size: 15px;
    line-height: 2.3;
  }
}

/* 右：ビジュアル（重ね配置） */
.what__visual {
  /* min-height: 720px;  */
}
@media (max-width: 1100px) {
  .what__visual {
    display: none;
  }
}

.what__top {
  position: relative;
}
.what__top::before {
  content: "";
  display: block;
  width: 80%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(90deg, #f0f0f0 0%, #ffffff 100%);
}
@media (max-width: 820px) {
  .what__top::before {
    width: 94%;
  }
}

.what__wapper {
  position: relative;
}
@media (max-width: 820px) {
  .what__wapper {
    margin-top: 40px;
  }
}

/* 大きい商品画像 */
.what__prod {
  position: absolute;
  top: 0;
  right: 0;
  width: 560px;
  max-width: 100%;
  margin: 0;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.1));
}

.what__prod_a {
  max-width: 562px;
  top: -150px;
  right: 0;
}
@media (max-width: 1100px) {
  .what__prod_a {
    display: none;
  }
}
@media (min-width: 1440px) {
  .what__prod_a {
    max-width: 562px;
  }
}

.what__marble.what__prod_b {
  max-width: 200px;
  top: 510px;
  top: 510px;
  right: 3vw;
}
@media (max-width: 1100px) {
  .what__marble.what__prod_b {
    display: none;
  }
}
@media (min-width: 1440px) {
  .what__marble.what__prod_b {
    max-width: 200px;
    top: 510px;
  }
}

.what__marble.what__prod_c {
  max-width: 490px;
  bottom: 0;
  right: 0vw;
}
@media (max-width: 1100px) {
  .what__marble.what__prod_c {
    display: none;
  }
}
@media (min-width: 1440px) {
  .what__marble.what__prod_c {
    max-width: 490px;
  }
}

.what__prod img {
  width: 100%;
  height: auto;
  display: block;
}

/* 大理石（中） */
.what__marble {
  position: absolute;
  top: 360px;
  right: 70px;
  width: 340px;
  margin: 0;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.08);
}

.what__marble img {
  width: 100%;
  height: auto;
  display: block;
}

/* 施術写真（右下） */
.what__treat {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 360px;
  margin: 0;
  overflow: hidden;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.1);
}
@media (max-width: 1100px) {
  .what__treat {
    display: none;
  }
}

.what__treat img {
  width: 100%;
  height: auto;
  display: block;
}

/* SP（崩れない形） */
@media (max-width: 900px) {
  .what__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .what__visual {
    min-height: 540px;
  }
  .what__prod {
    position: relative;
    width: min(520px, 92%);
    margin-left: auto;
  }
  .what__marble {
    top: 240px;
    right: 18px;
    width: 260px;
  }
  .what__treat {
    width: 260px;
  }
}
/* =========================
  CTA Frame（大理石＋金枠）
========================== */
.ctaFrame {
  padding: 52px 0 28px;
}

.ctaFrame__inner {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.ctaFrame__inner a:hover {
  opacity: 0.7;
}
@media (min-width: 501px) {
  .ctaFrame__inner .sp_img_01 {
    display: none !important;
  }
}
@media (max-width: 500px) {
  .ctaFrame__inner .pc_img_01 {
    display: none !important;
  }
  .ctaFrame__inner .sp_img_01 {
    display: block !important;
  }
}

/* 枠の本体 */
.ctaFrameBox {
  position: relative;
  width: min(920px, 100%);
  text-align: center;
  /* 大理石 */
  padding: 52px 20px 46px;
}

/* ふわっと外側影（背面） */
.ctaFrameBox::before {
  content: "";
  position: absolute;
  inset: 18px;
  background: rgba(255, 255, 255, 0.65);
  filter: blur(0px);
  z-index: -1;
  /* 影 */
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
  border-radius: 2px;
}

/* 金枠（内側） */
.ctaFrameBox::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 3px solid rgba(199, 162, 58, 0.65);
  pointer-events: none;
}

/* テキスト */
.ctaFrameBox__main {
  margin: 0 0 12px;
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size: 34px;
  letter-spacing: 0.18em;
  color: #6b5b2f;
  font-weight: 600;
}
@media (max-width: 500px) {
  .ctaFrameBox__main {
    font-weight: bold;
  }
}

.ctaFrameBox__sub {
  margin: 0 0 26px;
  font-size: 18px;
  letter-spacing: 0.14em;
  color: #6b5b2f;
  font-weight: 500;
}

/* ボタン（中央・金） */
.ctaFrameBox__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 44px;
  padding: 0 24px;
  border-radius: 4px;
  background: #c7a23a;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.14em;
  box-shadow: 0 14px 26px rgba(199, 162, 58, 0.18);
}

/* 右の丸矢印 */
.ctaFrameBox__arrow {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.75);
  position: relative;
}

.ctaFrameBox__arrow::before {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%) rotate(-45deg);
}

/* SP調整 */
@media (max-width: 768px) {
  .ctaFrame {
    padding: 38px 0 22px;
  }
  .ctaFrameBox {
    padding: 34px 16px 30px;
  }
  .ctaFrameBox::after {
    inset: 14px;
  }
  .ctaFrameBox::before {
    inset: 14px;
  }
  .ctaFrameBox__main {
    font-size: 26px;
    letter-spacing: 0.12em;
  }
  .ctaFrameBox__sub {
    font-size: 15px;
    letter-spacing: 0.08em;
    line-height: 1.9;
  }
}
/* =========================
  Brand Repeat（LA TOWA帯）
========================== */
.brandRepeat {
  background: #fff;
  padding: 18px 0 22px;
  overflow: hidden;
}

.brandRepeat__inner {
  text-align: center;
  white-space: nowrap;
  color: rgba(0, 0, 0, 0.12); /* 薄グレー */
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.2vw, 56px);
  letter-spacing: 0.24em;
  font-weight: 500;
  /* 画像みたいに少し上に浮く感じ */
  transform: translateY(6px);
}

/* SP */
@media (max-width: 768px) {
  .brandRepeat {
    padding: 14px 0 18px;
  }
  .brandRepeat__inner {
    font-size: 34px;
    letter-spacing: 0.2em;
  }
}
/* =========================
  Support Block（Lessonなど共通ブロック）
========================== */
.supportBlock {
  background: #fff;
  padding: 78px 0 90px;
}

/* 上：センター見出し */
.supportBlock__head {
  text-align: center;
  margin-bottom: 56px;
}

.supportBlock__headline {
  margin: 100px auto 120px;
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 2.1;
  text-align: center;
  font-size: 36px;
  color: #dfad1d;
  /* 逆方向：色を入れ替え */
  background: linear-gradient(-10deg, #67592c 0%, #f0bc0d 150%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  /* 念のため */
}
@media (max-width: 820px) {
  .supportBlock__headline {
    font-size: 30px;
    margin: 80px auto 80px;
  }
}
@media (max-width: 500px) {
  .supportBlock__headline {
    font-weight: bold;
  }
}
@media (max-width: 600px) {
  .supportBlock__headline {
    font-size: 18px;
    margin: 40px auto 40px;
  }
}

.supportBlock__headlineTop {
  display: block;
  font-size: 24px;
}

.supportBlock__headlineBottom {
  display: block;
  font-size: 28px;
}

/* 下：2カラム */
.supportBlock__body {
  /* display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 60px;
  align-items:start;
  margin-bottom: 130px; */
  position: relative;
  margin-top: 130px;
  padding-bottom: 50px;
}
@media (min-width: 1440px) {
  .supportBlock__body {
    padding-bottom: 100px;
  }
}
@media (max-width: 1024px) {
  .supportBlock__body {
    margin-top: 30px;
    padding: 0 15px;
  }
  .supportBlock__body .wp-block-group-is-layout-constrained {
    display: flex;
    flex-direction: column;
  }
  .supportBlock__body .program_right .wp-block-group-is-layout-constrained {
    display: flex;
    flex-direction: column;
  }
}
@media (max-width: 600px) {
  .supportBlock__body {
    margin-top: 0px;
    padding-top: 0;
  }
}
.supportBlock__body .supportBlock__body_inner {
  max-width: 1480px;
  padding: 0 20px;
  position: relative;
  margin: 0 auto;
}
@media (max-width: 600px) {
  .supportBlock__body .supportBlock__body_inner {
    padding: 0;
    margin-bottom: 30px;
  }
}
.supportBlock__body .supportBlock__body_inner .wp-block-group__inner-container {
  display: flex;
  gap: 20px;
}
.supportBlock__body .supportBlock__body_inner .wp-block-group__inner-container .wp-block-group__inner-container {
  display: block;
}

.supportBlock__text_top {
  display: flex;
  align-items: center;
  min-height: 490px;
  margin-bottom: 100px;
}
@media (max-width: 820px) {
  .supportBlock__text_top {
    padding: 90px 0 45px !important;
  }
  .supportBlock__text_top .wp-block-group-is-layout-constrained {
    flex-direction: column;
  }
}
@media (max-width: 600px) {
  .supportBlock__text_top {
    padding: 0px 0 0px !important;
    margin-bottom: 0px;
    min-height: initial;
  }
}

.supportBlock__text {
  max-width: 550px;
  margin: 0;
}
@media (max-width: 1200px) {
  .supportBlock__text {
    max-width: 45vw;
  }
}
@media (max-width: 1024px) {
  .supportBlock__text {
    max-width: 100%;
  }
}

/* 左 */
.supportBlock__kicker {
  margin: 0 0 14px;
  color: var(--gold2);
  font-size: 16px;
  letter-spacing: 0.2em;
  font-weight: 700;
}
@media (max-width: 600px) {
  .supportBlock__kicker {
    font-size: 15px;
  }
}

.supportBlock__title {
  margin: 0 0 22px;
  font-size: 40px;
  font-weight: 700;
  color: #363636;
}
@media (max-width: 820px) {
  .supportBlock__title {
    font-size: 20px;
  }
}
.supportBlock__title.program_ttl {
  font-size: 24px;
}
@media (max-width: 600px) {
  .supportBlock__title {
    font-size: 24px;
    margin: 0 0 15px;
    line-height: 1;
  }
}

.supportBlock__desc {
  margin: 0 0 34px;
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 2.6;
  color: #363636;
}
.supportBlock__desc.bk {
  font-weight: bold;
}
.supportBlock__desc.bk strong {
  color: #000;
}
.supportBlock__desc strong {
  font-weight: 700;
  color: #a97f4a;
}
@media (max-width: 600px) {
  .supportBlock__desc {
    font-size: 15px;
    line-height: 2;
  }
}

/* ボタン（画像の金ボタン＋影） */
.img_flex .wp-block-group__inner-container {
  display: flex;
  gap: 40px;
}

.supportBlock__btn {
  max-width: 223px;
}
.supportBlock__btn a {
  background-color: transparent;
  display: block !important;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.14);
}
.supportBlock__btn a:hover {
  opacity: 0.7;
}

.supportBlock__btn02 {
  max-width: 253px;
  margin-top: 20px;
}
.supportBlock__btn02 a {
  background-color: transparent;
  display: block !important;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.14);
}
.supportBlock__btn02 a:hover {
  opacity: 0.7;
}

.supportBlock__arrow {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.75);
  position: relative;
}

.supportBlock__arrow::before {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%) rotate(-45deg);
}

/* 右：写真（少し下げて配置するのがポイント） */
@media (max-width: 820px) {
  .supportBlock__media {
    max-width: 100%;
    position: initial;
  }
}

.supportBlock__media img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.1);
  border-radius: 2px;
}

/* SP */
@media (max-width: 900px) {
  .supportBlock {
    padding: 56px 0 70px;
  }
  .supportBlock__head {
    margin-bottom: 34px;
  }
  .supportBlock__headlineTop {
    font-size: 18px;
  }
  .supportBlock__headlineBottom {
    font-size: 20px;
  }
  .supportBlock__body {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .supportBlock__media {
    margin-top: 0;
  }
}
/* =========================
  Full Support（オリーブ帯＋浮遊写真）
========================== */
.fullSupport {
  /* padding: 56px 0 72px; */
  background-image: url("../img/a770fd92062cdad39b6d6f1c82dc5ec4-scaled-1.jpg");
}
@media (max-width: 900px) {
  .fullSupport {
    margin-bottom: 200px;
  }
}
@media (max-width: 820px) {
  .fullSupport {
    background-image: url("../img/fullSupportbk.png");
    background-position: center;
  }
  .fullSupport.program {
    margin-top: 150px;
  }
}
@media (max-width: 600px) {
  .fullSupport {
    margin-top: 140px;
  }
}

.fullSupport__inner {
  position: relative;
  padding: 40px 0; /* 写真がはみ出す余白 */
}

/* オリーブの帯（背景） */
.fullSupport__panel {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 58px 36px;
  text-align: center;
  color: #fff;
  overflow: hidden; /* 中の背景画像を切る */
}
@media (max-width: 600px) {
  .fullSupport__panel {
    padding: 58px 0px;
  }
  .fullSupport__panel .l-container {
    padding: 0 !important;
  }
}

/* 帯そのもの */
/* .fullSupport__panel::before{
  content:"";
  position:absolute;
  inset: 0;
  background: rgba(118, 104, 48, .92);
  z-index: 0;
} */
/* 背景の商品画像（薄く） */
.fullSupport__panel::after {
  content: "";
  position: absolute;
  inset: -20px;
  filter: blur(0px);
  z-index: 0;
}

/* 中央テキストは前面へ */
.fullSupport__script,
.fullSupport__headline,
.fullSupport__text {
  position: relative;
  z-index: 1;
}

/* 手書きっぽい "full support" */
.fullSupport__script {
  margin: 0 auto 14px;
  max-width: 314px;
}
@media (max-width: 820px) {
  .fullSupport__script {
    margin: 0 auto 45px;
  }
}
@media (max-width: 600px) {
  .fullSupport__script {
    max-width: 157px;
  }
}

/* 見出し */
.fullSupport__headline {
  margin: 0 0 40px;
  font-size: 24px;
  letter-spacing: 0.2em;
  font-weight: 700;
}
@media (max-width: 600px) {
  .fullSupport__headline {
    font-size: 18px;
    margin: 15px 0 60px;
  }
}

/* 本文 */
.fullSupport__text {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 2;
  margin-bottom: 10px;
}
@media (max-width: 600px) {
  .fullSupport__text {
    margin-bottom: 30px;
    font-size: 15px;
  }
}

.fullSupport__text02 {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 2;
}
@media (max-width: 600px) {
  .fullSupport__text02 {
    font-size: 15px;
  }
}

/* =========================
  浮遊写真
========================== */
.floatPhoto {
  position: absolute;
  margin: 0;
}

.floatPhoto img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 22px 40px rgba(0, 0, 0, 0.18);
}

/* 左上（画像では上に少しはみ出す） */
.floatPhoto--lt {
  position: absolute;
  left: -100px;
  top: -25px;
  max-width: 16.18vw;
}
@media (max-width: 1100px) {
  .floatPhoto--lt {
    left: 0;
  }
}
@media (max-width: 900px) {
  .floatPhoto--lt {
    left: 20px;
    max-width: 116.5px;
    top: -50px;
  }
}
@media (max-width: 600px) {
  .floatPhoto--lt {
    top: -80px;
  }
}
@media (min-width: 1440px) {
  .floatPhoto--lt {
    max-width: 233px;
  }
}

/* 左下 */
.floatPhoto--lb {
  position: absolute;
  left: -40px;
  bottom: -25px;
  max-width: 9vw;
}
@media (max-width: 1100px) {
  .floatPhoto--lb {
    left: 0;
  }
}
@media (max-width: 900px) {
  .floatPhoto--lb {
    left: 20px;
    max-width: 145.5px;
    bottom: -130px;
  }
}
@media (min-width: 1440px) {
  .floatPhoto--lb {
    max-width: 130px;
  }
}

/* 右上 */
.floatPhoto--rt {
  position: absolute;
  right: 130px;
  top: -45px;
  max-width: 8.3vw;
}
@media (max-width: 900px) {
  .floatPhoto--rt {
    max-width: 81.5px;
    right: 20px;
  }
}
@media (min-width: 1200px) {
  .floatPhoto--rt {
    max-width: 120px;
  }
}

/* 右下（縦長） */
.floatPhoto--rb {
  position: absolute;
  right: -100px;
  bottom: -60px;
  max-width: 16.18vw;
}
@media (max-width: 1300px) {
  .floatPhoto--rb {
    right: -4vw;
  }
}
@media (max-width: 1100px) {
  .floatPhoto--rb {
    right: 0vw;
    bottom: -120px;
    max-width: 14.18vw;
  }
}
@media (max-width: 900px) {
  .floatPhoto--rb {
    max-width: 116.5px;
    bottom: -120px;
  }
}
@media (min-width: 1440px) {
  .floatPhoto--rb {
    max-width: 233px;
  }
}

/* =========================
  Contact CTA（2枚ゴールドカード）
========================== */
.contactCta {
  background: #fff;
  padding: 66px 0 70px;
  text-align: center;
}

.contactCta__script {
  margin: 0 0 14px;
  text-align: center;
  color: var(--gold2);
  font-size: 18px;
  letter-spacing: 0.06em;
  font-family: "Segoe Script", "Bradley Hand", "Comic Sans MS", cursive;
  /* ✅ 追加：斜め */
  display: inline-block; /* transform効かせるため */
  transform: rotate(-6deg); /* 右上がりにしたい場合はマイナス */
  transform-origin: center;
}

.contactCta__title {
  margin: 0 0 40px;
  text-align: center;
  color: #363636;
  font-size: 36px;
  letter-spacing: 0.2em;
  font-weight: 700;
}
.contactCta__title.lesson {
  margin-bottom: 20px;
}

/* 2枚並び */
.contactCta__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 46px;
}

.nayami .entxt {
  margin-bottom: 80px;
}
.nayami a:hover {
  opacity: 0.7;
}
.nayami.mb100 {
  margin-bottom: 100px;
}
@media (min-width: 1025px) {
  .nayami .sp_img01 {
    display: none;
  }
}
@media (max-width: 1024px) {
  .nayami {
    padding: 0 40px;
  }
  .nayami .pc_img01 {
    display: none;
  }
  .nayami .sp_img01 {
    display: block !important;
  }
}
@media (max-width: 600px) {
  .nayami {
    padding: 0 10px;
  }
  .nayami .sp_img01 {
    margin: 0 auto;
    padding: 0 10px;
  }
  .nayami .l-container {
    padding: 0 !important;
    width: 100%;
  }
}

/* =========================
  Card
========================== */
.contactCard {
  position: relative;
  height: 120px;
  padding: 16px 56px 16px 18px;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 18px;
  align-items: center;
  border-radius: 2px;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(199, 162, 58, 0.96), rgba(199, 162, 58, 0.78));
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.12);
}

/* サムネ */
.contactCard__thumb {
  width: 110px;
  height: 82px;
  background: rgba(255, 255, 255, 0.25);
  overflow: hidden;
}

.contactCard__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.contactCard__body {
  color: #fff;
}

/* 英見出し＋罫線 */
.contactCard__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}

.contactCard__en {
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size: 22px;
  letter-spacing: 0.06em;
  font-weight: 600;
  white-space: nowrap;
}
@media (max-width: 500px) {
  .contactCard__en {
    font-weight: bold;
  }
}

.contactCard__line {
  height: 1px;
  background: rgba(255, 255, 255, 0.7);
  flex: 1;
  transform: translateY(2px);
}

.contactCard__jp {
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  opacity: 0.95;
}

/* 右端の丸矢印 */
.contactCard__icon {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.7);
}

.contactCard__icon::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%) rotate(-45deg);
}

/* hover（任意） */
.contactCard:hover {
  filter: brightness(1.02);
}

/* SP */
@media (max-width: 900px) {
  .contactCta__cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .contactCta__title {
    font-size: 20px;
    margin-bottom: 26px;
  }
  .contactCard {
    height: auto;
    padding: 14px 52px 14px 14px;
    grid-template-columns: 96px 1fr;
  }
  .contactCard__thumb {
    width: 96px;
    height: 72px;
  }
  .contactCard__en {
    font-size: 18px;
    white-space: normal;
  }
}
@media (max-width: 600px) {
  .contactCta__title {
    font-size: 16px;
    margin-top: 25px;
  }
}
/* =========================
  Why choose us
========================== */
.why {
  padding: 70px 0 90px;
  margin-top: 140px;
  background-color: #f9f9f9;
}
@media (max-width: 600px) {
  .why {
    padding: 35px 0 90px;
    margin-top: 50px;
  }
  .why .l-container {
    padding: 0;
  }
}

.why__head {
  margin-bottom: 34px;
}

.why__title {
  margin: 0 0 25px;
  font-size: 36px;
  letter-spacing: 0.2em;
  font-weight: 700;
  color: #363636;
}
@media (max-width: 600px) {
  .why__title {
    font-size: 24px;
  }
}

.why__sub {
  margin: 0 0 0 0;
  font-size: 16px;
  letter-spacing: 0.2em;
  color: #363636;
  font-weight: 600;
}
@media (max-width: 500px) {
  .why__sub {
    font-weight: bold;
  }
}
@media (max-width: 600px) {
  .why__sub {
    font-size: 15px;
  }
}

/* 4カード */
.why__grid .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 60px;
}
@media (max-width: 820px) {
  .why__grid .wp-block-group__inner-container {
    gap: 12px;
    margin-top: 20px;
    grid-template-columns: repeat(2, 1fr);
  }
}

.why__grid .wp-block-group__inner-container .wp-block-group__inner-container {
  display: block;
  margin-top: 0;
}

.whyCard {
  background: #fff;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  overflow: hidden;
}

.whyCard__img {
  margin: 0;
  aspect-ratio: 4/3; /* 画像エリア */
  padding: 10px 10px;
}

.whyCard__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.whyCard__title {
  margin: 14px 16px 0px;
  text-align: center;
  font-size: 17px;
  letter-spacing: 0.2em;
  font-weight: 700;
  color: #292929;
  position: relative;
  padding-bottom: 15px;
}
@media (max-width: 600px) {
  .whyCard__title {
    font-size: 15px;
    text-align: center;
    margin: 0px 10px 0px;
    padding-bottom: 10px;
  }
}

/* タイトル下の金ライン */
.whyCard__title::after {
  content: "";
  position: absolute;
  left: 0%;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #c7a23a;
}

.whyCard__text {
  margin: 0;
  padding: 20px 16px 18px;
  font-size: 12px;
  letter-spacing: 0.06em;
  line-height: 2.1;
  color: #000;
  font-weight: bold;
}
@media (max-width: 600px) {
  .whyCard__text {
    font-size: 15px;
    line-height: 1.5;
    padding: 10px 10px 10px;
    text-align: justify;
  }
}

/* 下のボタン */
.why__cta {
  margin-top: 38px;
  display: flex;
  justify-content: center;
}
.why__cta a:hover {
  opacity: 0.7;
}

.why__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.14);
}

.why__arrow {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  position: relative;
}

.why__arrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%) rotate(-45deg);
}

/* レスポンシブ */
@media (max-width: 1100px) {
  .why__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .why {
    padding: 54px 0 70px;
  }
  .why__title {
    font-size: 30px;
    letter-spacing: 0.1em;
  }
  .why__grid {
    grid-template-columns: 1fr;
  }
}
/* =========================
  Product Pick（化粧品としても選ばれる）
========================== */
.productPick_wapper {
  margin-top: 150px;
}
@media (min-width: 601px) {
  .productPick_wapper .sp_img_01 {
    display: none;
  }
}
@media (max-width: 600px) {
  .productPick_wapper {
    margin-top: 60px;
  }
  .productPick_wapper .pc_img_01 {
    display: none;
  }
}

.productPick {
  background: #fff;
  padding: 72px 0 86px;
}

.productPick__head {
  text-align: center;
  margin-bottom: 36px;
}

.productPick__title {
  margin: 0 0 10px;
  color: #363636;
  font-size: 36px;
  letter-spacing: 0.22em;
  font-weight: 700;
}
@media (max-width: 600px) {
  .productPick__title {
    font-size: 18px;
  }
}

.productPick__script {
  margin: 0 0 50px;
  text-align: center;
}
@media (max-width: 600px) {
  .productPick__script {
    max-width: 250px;
    margin: 0 auto 40px;
  }
}

.productPick__script .figure {
  max-width: 377px;
  margin: 0 auto 0px;
}

/* 横長KV */
.productPick__visual {
  margin: 38px 0 42px;
  background: #f3f3f3;
}

.productPick__visual img {
  width: 100%;
  height: auto;
  display: block;
  max-height: 420px; /* 高さを揃える */
  -o-object-fit: cover;
     object-fit: cover; /* 横長で切り抜き */
}

/* 下のテキスト */
.productPick__text {
  text-align: center;
}

#info_slider {
  margin-top: 90px;
}

.productPick__lead {
  margin: 60px 0 70px;
  font-size: 24px;
  letter-spacing: 0.2em;
  font-weight: 700;
  color: #363636;
  text-align: center;
}
@media (max-width: 600px) {
  .productPick__lead {
    margin: 60px 0 40px;
    font-size: 14px;
  }
}

.productPick__desc {
  margin: 0 0 120px;
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 2.6;
  color: #363636;
  text-align: center;
}
@media (max-width: 600px) {
  .productPick__desc {
    margin: 0px 0 40px;
    font-size: 15px;
    padding: 0 20px;
  }
}

.vk_slider_item.vk_valign-center {
  margin: 0 15px;
}

.productPick__desc strong {
  color: #93791f;
}

/* 金強調 */
.productPick__hl {
  color: var(--gold2);
  font-weight: 700;
}

/* SP */
@media (max-width: 768px) {
  .productPick {
    padding: 56px 0 66px;
  }
  .productPick__title {
    font-size: 20px;
    letter-spacing: 0.14em;
  }
  .productPick__script {
    font-size: 13px;
    transform: rotate(-3deg);
  }
  .productPick__visual {
    margin: 26px 0 30px;
  }
  .productPick__visual img {
    max-height: 300px;
  }
  .productPick__lead {
    font-size: 15px;
    line-height: 1.9;
  }
}
/* =========================
  Product Gallery（5枚横並び）
========================== */
.prodGallery {
  position: relative;
  padding: 34px 0 44px;
  background: #fff;
}

/* 下に薄い柄（スクショの点々っぽい雰囲気） */
.prodGallery::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 70px;
  background: radial-gradient(circle, rgba(199, 162, 58, 0.18) 1px, transparent 1px) 0 0/14px 14px;
  opacity: 0.35;
  pointer-events: none;
}

.prodGallery__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px; /* 画像間の余白 */
  align-items: center;
}

/* 画像の枠（白背景＋微影で浮かせる） */
.prodGallery__item {
  margin: 0;
  background: #fff;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

/* 高さを揃える（横長帯になる） */
.prodGallery__item img {
  width: 100%;
  height: 150px; /* ←ここで帯の高さを決める */
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

/* レスポンシブ */
@media (max-width: 1100px) {
  .prodGallery__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }
  .prodGallery__item img {
    height: 140px;
  }
}
@media (max-width: 680px) {
  .prodGallery__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .prodGallery__item img {
    height: 130px;
  }
}
/* =========================
  Ingredients（5つの主成分）
========================== */
.ingredients {
  position: relative;
  padding: 70px 0 90px;
  background: #fff;
  overflow: hidden;
}

/* ドット/波っぽい背景（雰囲気） */
.ingredients::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, rgba(199, 162, 58, 0.18) 1px, transparent 1px) 0 0/16px 16px, radial-gradient(circle, rgba(199, 162, 58, 0.1) 1px, transparent 1px) 8px 8px/18px 18px;
  opacity: 0.35;
  pointer-events: none;
}

/* 右の人物背景 */
.ingredients__bg {
  position: absolute;
  top: 90px;
  right: -60px;
  width: 680px;
  height: 860px;
  opacity: 0.95;
  filter: saturate(1.02);
  pointer-events: none;
}

/* 右下の商品 */
.ingredients__product {
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 360px;
  height: 360px;
  pointer-events: none;
}

.ingredients__inner {
  position: relative;
  min-height: 1560px; /* キャンバス高さ */
  background-image: url("../img/bk01_wide.png");
  background-size: cover;
  margin-bottom: 80px;
  background-position: right;
}
@media (max-width: 1024px) {
  .ingredients__inner {
    background-image: url("../img/bk01_wide_tab.png");
    min-height: initial;
    padding-bottom: 115px;
    padding-top: 45px;
    padding-left: 20px;
    padding-right: 20px;
    background-position: top;
    background-position: right;
    position: relative;
  }
  .ingredients__inner::after {
    content: "";
    display: block;
    position: absolute;
    right: 2vw;
    bottom: 5vw;
    background-image: url(../img/botor.png);
    width: 28vw;
    height: 44vw;
    background-size: cover;
  }
}
@media (max-width: 600px) {
  .ingredients__inner {
    background-image: url("../img/mvimg-scaled-1.png");
  }
  .ingredients__inner::after {
    display: none;
  }
}

/* 見出し */
.ingredients__head {
  text-align: center;
  margin-bottom: 38px;
  position: relative;
  z-index: 2;
}

.ingredients__kicker {
  margin: 0 0 10px;
  color: var(--gold2);
  font-size: 16px;
  letter-spacing: 0.16em;
  font-weight: 700;
}

.ingredients__title {
  margin: 0;
  font-size: 36px;
  letter-spacing: 0.22em;
  font-weight: 700;
  color: #363636;
}
@media (max-width: 600px) {
  .ingredients__title {
    font-size: 21px;
  }
}

/* カード群 */
.ingredients__cards {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 820px) {
  .ingredients__cards {
    margin-top: 600px;
  }
}

/* 共通カード */
.ingCard {
  position: absolute;
  width: 370px;
  background: #fff;
  padding: 100px 20px 24px;
  box-shadow: 0 22px 40px rgba(0, 0, 0, 0.12);
  border-radius: 2px;
}

.ingCard__hex {
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 150px;
}

.ingCard__hex img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.ingCard__name {
  margin: 30px 0 12px;
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.2em;
  font-weight: 900;
  color: #363636;
}
@media (max-width: 600px) {
  .ingCard__name {
    font-size: 16px;
    margin: 15px 0 12px;
    letter-spacing: 0;
  }
}

.ingCard__desc {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 2.1;
  color: #000;
  font-weight: 900;
}
@media (max-width: 600px) {
  .ingCard__desc {
    font-size: 15px;
    line-height: 1.5;
    text-align: justify;
    padding: 0 5px;
  }
}

/* ✅ 位置：画像の段違い配置 */
.ingCard--a {
  left: 70px;
  top: 170px;
}

.ingCard--b {
  left: 470px;
  top: 210px;
  width: 370px;
}

.ingCard--c {
  left: 70px;
  top: 580px;
}

.ingCard--d {
  left: 470px;
  top: 630px;
  width: 370px;
}

.ingCard--e {
  left: 70px;
  top: 1000px;
}

/* =========================
  SP：縦並び（absolute解除）
========================== */
@media (max-width: 900px) {
  .ingCard {
    position: initial;
    width: 100%;
    max-width: 520px;
    margin: 150px auto;
  }
  .ingCard__hex {
    position: initial;
    transform: translateX(0%);
    width: 150px;
    height: 150px;
    margin: -170px auto 0;
  }
}
@media (max-width: 1024px) {
  .ingredients__inner {
    margin-bottom: 50px;
  }
  .ingredients__cards {
    margin-top: 500px;
  }
  .ingredients__cards .wp-block-group-is-layout-constrained {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0px;
  }
  .ingredients__cards .wp-block-group-is-layout-constrained .wp-block-group-is-layout-constrained {
    display: block;
    padding: 0;
  }
  .ingCard {
    max-width: 48%;
    padding: 30px 10px 24px;
    margin-bottom: 30px;
  }
  .ingCard__hex {
    width: 70px;
    height: 70px;
    margin: -85px auto 0;
  }
  .ingCard--a {
    margin-top: 55px;
  }
  .ingCard--b {
    margin-top: 85px;
  }
  .ingCard--c {
    margin-top: 55px;
  }
  .ingCard--d {
    margin-top: 85px;
  }
  .ingCard--e {
    margin-left: 0px;
    margin-right: 0;
    margin-top: 50px;
  }
  .ingCard__desc.ingCard--e {
    margin-top: 0;
    margin-left: 0;
  }
}
@media (max-width: 600px) {
  .ingredients__cards {
    margin-top: 200px;
  }
}
.syouhin .btn_wapper {
  text-align: center;
}
.syouhin .btn_wapper a:hover {
  opacity: 0.7;
}
.syouhin .why__btn {
  margin: 0 auto;
  line-height: 0;
}
@media (max-width: 600px) {
  .syouhin .enttl {
    max-width: 219px;
    margin: 0 auto;
  }
  .syouhin .miniCta__title {
    font-size: 18px;
    margin-bottom: 50px;
  }
}

/* =========================
  Mini CTA（商品について）
========================== */
.miniCta {
  background: #fff;
  padding: 70px 0 82px;
  text-align: center;
}

/* 手書き英語（斜め） */
.miniCta__script {
  margin: 0 0 10px;
  color: var(--gold2);
  font-size: 18px;
  letter-spacing: 0.06em;
  font-family: "Segoe Script", "Bradley Hand", "Comic Sans MS", cursive;
  display: inline-block;
  transform: rotate(-6deg);
  transform-origin: center;
}

/* 見出し */
.miniCta__title {
  margin: 0 0 55px;
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size: 36px;
  letter-spacing: 0.2em;
  font-weight: 600;
  color: #363636;
}
@media (max-width: 500px) {
  .miniCta__title {
    font-weight: bold;
  }
}

/* ボタン */
.miniCta__btnWrap {
  display: flex;
  justify-content: center;
}

.miniCta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 44px;
  padding: 0 26px;
  background: #c7a23a;
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  letter-spacing: 0.14em;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.14);
}

/* 丸矢印 */
.miniCta__arrow {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  position: relative;
}

.miniCta__arrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%) rotate(-45deg);
}

/* SP */
@media (max-width: 768px) {
  .miniCta {
    padding: 54px 0 64px;
  }
  .miniCta__script {
    font-size: 15px;
    transform: rotate(-5deg);
  }
  .miniCta__title {
    font-size: 20px;
    letter-spacing: 0.14em;
    margin-bottom: 20px;
  }
}
/* =========================
  Voices（体験者様の声）
========================== */
.voices {
  background: #fff;
  padding: 0 0 70px;
}

/* 金の帯（吹き出し） */
.voicesHead {
  margin: 50px auto 0;
  background: #f0bc0d;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
  max-width: 1200px;
  font-size: 36px;
  color: #fff;
}
@media (max-width: 600px) {
  .voicesHead {
    height: 62px;
  }
}

.voicesHead::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 16px solid #f0bc0d;
}

.voicesHead__title {
  margin: 0;
  color: #fff;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 36px;
}
.voicesHead__title.support {
  position: relative;
}
.voicesHead__title.support::before {
  content: "";
  background-image: url("../img/Stepstoopening.png");
  width: 151px;
  height: 48px;
  display: block;
  position: absolute;
  left: 0%;
  transform: translateX(-50%);
  top: -35px;
}
@media (max-width: 600px) {
  .voicesHead__title.support::before {
    width: 68px;
    height: 21px;
    background-size: contain;
    top: -11px;
    background-repeat: no-repeat;
  }
}
@media (max-width: 1024px) {
  .voicesHead__title {
    font-size: 26px;
  }
}
@media (max-width: 600px) {
  .voicesHead__title {
    font-size: 18px;
    font-weight: bold;
  }
}

/* リード文 */
.voices__lead {
  margin: 70px 0;
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.2em;
  color: #363636;
}
@media (max-width: 600px) {
  .voices__lead {
    font-size: 15px;
    margin: 40px 0px 40px;
    padding: 0 12px;
  }
}

/* 1件 */
.voiceItem {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1200px) {
  .voiceItem {
    max-width: 94%;
  }
}
@media (max-width: 600px) {
  .voiceItem {
    max-width: 90%;
    padding: 0 0px;
  }
}

.voiceItem.top {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.voiceItem .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 34px;
  padding: 34px 0;
  position: relative;
}

.voiceItem__body .wp-block-group__inner-container {
  display: block;
}

/* 金の破線（上下） */
.voiceItem::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: repeating-linear-gradient(90deg, rgba(199, 162, 58, 0.9) 0 10px, transparent 10px 18px);
}

.voiceItemlast {
  margin-bottom: 150px;
}

.voiceItemlast::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: repeating-linear-gradient(90deg, rgba(199, 162, 58, 0.9) 0 10px, transparent 10px 18px);
}

.voiceItem::before {
  top: 0;
}

.voiceItem::after {
  bottom: 0;
}

/* 左：丸イラスト */
.voiceItem__avatar {
  margin: 0;
  width: 170px;
  height: 170px;
  border-radius: 999px;
  border: 3px solid rgba(199, 162, 58, 0.9);
  overflow: hidden;
  background: #fff;
  align-self: start;
  justify-self: start;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.1);
}
@media (max-width: 600px) {
  .voiceItem__avatar {
    width: 156px;
    height: 156px;
  }
}

.voiceItem__avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

/* 右：本文 */
.voiceItem__title {
  margin: 0 0 40px;
  font-size: 24px;
  font-weight: 800;
  color: #363636;
  line-height: 1.5;
}

.voiceItem__text {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 2.2;
  color: #363636;
  font-weight: bold;
}
@media (max-width: 600px) {
  .voiceItem__text {
    padding-bottom: 40px;
    font-size: 15px;
  }
}

/* SP */
/* =========================
  Information
========================== */
.info {
  background: #f9f9f9;
  padding: 60px 0;
  margin-top: 85px;
  /* スクショの“ふわっと背景影” */
  box-shadow: 0 40px 70px rgba(0, 0, 0, 0.12);
}
@media (max-width: 600px) {
  .info {
    padding: 40px 0 0;
  }
}

.info__inner {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 56px;
  align-items: start;
}

/* 左 */
.info__kicker {
  margin: 0 0 10px;
  color: var(--gold2);
  font-size: 16px;
  letter-spacing: 0.2em;
  font-weight: 700;
}
@media (max-width: 600px) {
  .info__kicker {
    font-size: 15px;
    margin: 0 0 0px;
  }
}

.info__title {
  margin: 0 0 36px;
  font-size: 40px;
  font-weight: 600;
  color: #363636;
}
@media (max-width: 500px) {
  .info__title {
    font-weight: bold;
  }
}
@media (max-width: 820px) {
  .info__title {
    font-size: 36px;
  }
}
@media (max-width: 600px) {
  .info__title {
    font-size: 24px;
    margin-bottom: 0;
  }
}

/* 左ボタン（スクショの横長） */
.info__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.info__btn:hover {
  opacity: 0.7;
}
@media (min-width: 1025px) {
  .info__btn.sp_btn {
    display: none;
  }
}
@media (max-width: 1024px) {
  .info__btn {
    margin: 0 auto;
  }
  .info__btn.pc_btn {
    display: none;
  }
  .info__btn.sp_btn {
    display: flex;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

/* 丸矢印 */
.info__arrow {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  position: relative;
}

.info__arrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%) rotate(-45deg);
}

/* 右：カード3枚 */
.infoGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media (max-width: 600px) {
  .infoGrid {
    gap: 0px;
  }
}

.infoCard {
  background: #fff;
  display: block;
  border-radius: 2px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  /* スクショの影 */
  box-shadow: 0 26px 52px rgba(0, 0, 0, 0.18);
}
.infoCard:hover {
  opacity: 0.7;
}
@media (max-width: 820px) {
  .infoCard {
    display: flex;
  }
}

@media (max-width: 820px) {
  a.infoCard {
    margin-bottom: 20px;
  }
  a.infoCard:last-of-type {
    margin-bottom: 0;
  }
}
.infoCard__thumb {
  background: #000;
  aspect-ratio: 4/3;
}
@media (max-width: 820px) {
  .infoCard__thumb {
    max-width: 270px;
  }
}
@media (max-width: 600px) {
  .infoCard__thumb {
    max-width: 135px;
  }
}

.infoCard__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.infoCard__body {
  padding: 18px 18px 22px;
}

.infoCard__date {
  display: block;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #363636;
  font-weight: 600;
  margin-bottom: 10px;
}
@media (max-width: 500px) {
  .infoCard__date {
    font-weight: bold;
  }
}

.infoCard__ttl {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.06em;
  line-height: 1.8;
  font-weight: 700;
  /* 2〜3行で省略（スクショの…っぽく） */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* hover（任意） */
.infoCard:hover {
  transform: translateY(-2px);
  transition: 0.2s ease;
}

/* responsive */
@media (max-width: 1024px) {
  .info__inner {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .infoGrid {
    display: flex;
    flex-direction: column;
  }
}
@media (max-width: 640px) {
  .info__btn {
    width: 100%;
    max-width: 320px;
  }
  .infoGrid {
    grid-template-columns: 1fr;
  }
}
/* =========================
  Brand Info Block（01 → 02 に寄せる確定版）
========================== */
.brandInfo {
  position: relative;
  padding: 0;
  background: none; /* 背景は擬似要素で全面に敷く */
}

/* 背景を“ブロック全面”に敷く（左の白帯対策） */
.brandInfo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/ft_bk-scaled-1.png") left/contain repeat;
  z-index: 0;
}

/* brandInfo の中身は上に乗せる */
.brandInfo > .wp-block-group__inner-container {
  position: relative;
  z-index: 1;
  /* ここが重要：ブロックをフルブリードにする（左右の白帯＆ズレ対策） */
  width: 100vw;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
}

/* Gutenberg constrained の影響を brandInfo 内だけ無効化 */
.brandInfo .is-layout-constrained,
.brandInfo .wp-block-group__inner-container {
  max-width: none !important;
}

.brandInfo .wp-block-group__inner-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* figureのデフォルト余白でロゴがズレるのを防ぐ */
.brandInfo figure {
  margin: 0;
  display: flex;
  align-items: centere;
  justify-content: center;
}
.brandInfo figure.brandInfo__banner {
  justify-content: flex-start;
}

/* 2カラム：grid を当てるのは “inner の中の inner-container” */
.brandInfo__inner > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 360px;
}

/* 左カラム（ロゴ） */
.brandInfo__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 360px;
  overflow: hidden;
}

.brandInfo__logo img {
  display: block;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 820px) {
  .brandInfo__logo img {
    width: min(260px, 70%);
  }
}

/* 右カラム */
.brandInfo__right {
  background: #e9e4db;
  padding: 100px 54px;
}

/* padding は inner-container 側に当てる（WPでも崩れにくい） */
/* 右側の“コンテンツ幅”を固定して、SNSアイコンが右端へ飛ぶのを防ぐ */
.brandInfo__right_inner > .wp-block-group__inner-container {
  width: 100%;
  max-width: 820px; /* 02のバナー幅感に寄せる */
  padding: 0 54px;
}

/* Address / TEL 行：row の中の inner-container が実体 */
.brandInfo__row > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  align-items: center;
  margin: 0 0 16px;
}

.brandInfo__label {
  background: #8b8b8b;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.12em;
  padding: 10px 0;
  text-align: center;
  border-radius: 2px;
  font-weight: 700;
}

.brandInfo__value {
  margin: 0;
  color: #363636;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  font-weight: bold;
}
.brandInfo__value p {
  margin: 0;
}
.brandInfo__value a {
  color: inherit;
  text-decoration: none;
}
.brandInfo__value a:hover {
  opacity: 0.7;
}

/* バナー：02みたいに広めに */
.brandInfo__banner {
  display: block;
  margin-top: 22px;
}
.brandInfo__banner a {
  position: relative;
  display: block;
  margin-top: 18px;
  background: #000;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  max-width: 535px;
}

.brandInfo__banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* SNS行：justify-between をやめて “アイコンは右寄せ” にする（飛び防止） */
.brandInfo__sns > .wp-block-group__inner-container {
  margin-top: 30px;
  display: flex;
  align-items: center;
  gap: 26px;
  width: 100%;
  max-width: 535px !important;
}
.brandInfo__sns > .wp-block-group__inner-container .brandInfo__snsLeft {
  width: 80%;
}

.brandInfo__snsLeft > .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  gap: 22px;
  flex: 1;
}
.brandInfo__snsLeft > .wp-block-group__inner-container p {
  margin: 0;
}

.brandInfo__snsTitle {
  margin: 0;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #363636;
  font-size: 22px;
}

.brandInfo__snsNote {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #a57a43;
  font-weight: 700;
}

.brandInfo__snsLine {
  margin: 0;
  height: 2px;
  background: rgba(0, 0, 0, 0.35);
  flex: 1;
}

/* アイコンは“右端に寄せる” */
.brandInfo__snsIcons {
  margin-left: auto;
}

.brandInfo__snsIcons > .wp-block-group__inner-container {
  display: flex;
  gap: 16px;
}

/* 丸アイコン */
.brandInfo__snsBtn {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #c7a23a;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.14);
}
.brandInfo__snsBtn a {
  width: 100%;
  height: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.brandInfo__snsBtn img {
  width: 22px;
  height: 22px;
  display: block;
}

/* responsive */
@media (max-width: 1024px) {
  .brandInfo__inner > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .brandInfo__logo {
    min-height: 260px;
    padding: 30px 0;
  }
  .brandInfo__right > .wp-block-group__inner-container {
    display: flex;
    justify-content: center;
  }
  .brandInfo__row > .wp-block-group__inner-container {
    grid-template-columns: 160px 1fr;
  }
  .brandInfo__right {
    padding: 40px 50px 45px;
  }
}
@media (max-width: 600px) {
  .brandInfo::before {
    background-size: cover;
  }
  .brandInfo__sns > .wp-block-group__inner-container .brandInfo__snsLeft {
    width: 100%;
  }
  .brandInfo__row > .wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .brandInfo__label {
    padding: 6px 16px;
    font-size: 12px;
  }
  .brandInfo__value {
    font-size: 16px;
  }
  .brandInfo__sns > .wp-block-group__inner-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .brandInfo__snsIcons {
    margin-left: 0;
  }
  .brandInfo__snsLine {
    display: none;
  }
  .brandInfo__snsBtn {
    width: 36px;
    height: 36px;
  }
  .brandInfo__left {
    min-height: 200px;
    padding: 30px 0;
  }
  .brandInfo__logo img {
    max-width: 156px !important;
    width: 100%;
  }
  .brandInfo__logo {
    min-height: 180px;
    padding: 0px 0;
  }
}
/* =========================
  Footer
========================== */
.siteFooter {
  position: relative;
  color: #fff;
  padding: 70px 0 52px;
  overflow: hidden;
  /* 黒マーブルっぽい質感（画像があるなら差し替え推奨） */
  background: radial-gradient(900px 520px at 50% 40%, rgba(255, 255, 255, 0.1), transparent 55%), linear-gradient(180deg, #1c1c1c 0%, #0f0f0f 100%);
}
.siteFooter a:hover {
  opacity: 0.7;
}
@media (max-width: 600px) {
  .siteFooter {
    padding: 70px 0 90px;
  }
}

/* うっすらマーブル画像を重ねたい場合 */
.siteFooter::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.18; /* スクショくらい薄く */
  pointer-events: none;
}

.siteFooter__inner {
  position: relative;
  z-index: 1;
  text-align: center;
}

/* メニュー：2行に折り返し */
.siteFooter__nav .wp-block-navigation__container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 26px; /* 行間・横間隔 */
  max-width: 580px;
  margin: 0 auto 46px;
}
.siteFooter__nav .wp-block-navigation__container a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.04em;
  font-weight: 600;
  opacity: 0.95;
}
@media (max-width: 500px) {
  .siteFooter__nav .wp-block-navigation__container a {
    font-weight: bold;
  }
}
.siteFooter__nav .wp-block-navigation__container a a:hover {
  opacity: 0.75;
}

/* コピーライト */
.siteFooter__copy {
  margin: 30px 0 0;
  font-size: 12px;
  letter-spacing: 0.12em;
  opacity: 0.92;
  position: relative;
  border-top: 2px solid #dfad1d;
  padding-top: 20px;
}
/* SP */
@media (max-width: 768px) {
  .siteFooter {
    padding: 56px 0 90px;
  }
  .siteFooter::after {
    bottom: 76px;
  }
  .siteFooter__nav {
    gap: 10px 18px;
    margin-bottom: 38px;
  }
  .siteFooter__nav a {
    font-size: 15px;
  }
}
@media (max-width: 600px) {
  .siteFooter__nav {
    flex-direction: column;
    justify-content: flex-start;
    gap: 15px 8px;
  }
  .siteFooter__nav a {
    text-align: left;
  }
}
/* =========================
  Drawer Menu
========================== */
.drawer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
}

.drawer.is-open {
  pointer-events: auto;
}

.drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(420px, 100vw);
  height: 100%;
  background: #fff;
  transform: translateX(120%);
  transition: transform 0.25s ease;
  box-shadow: -12px 0 30px rgba(0, 0, 0, 0.18);
  padding: 26px 22px;
  overflow: scroll;
}
@media (max-width: 600px) {
  .drawer__panel {
    padding: 26px 15px 32px;
  }
}

.drawer.is-open .drawer__overlay {
  opacity: 1;
}

.drawer.is-open .drawer__panel {
  transform: translateX(0);
}

.drawer__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 44px;
  height: 44px;
  border: none;
  background: transparent;
  font-size: 28px;
  cursor: pointer;
  z-index: 999;
}

.drawer__nav {
  margin-top: 46px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sns_link {
  margin: 20px 0 0;
}
.sns_link .wp-block-group__inner-container {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
}
.sns_link .wp-block-group__inner-container .block-group__inner-container {
  display: block;
}

.drawer__nav p {
  color: #222;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: 0.04em;
  padding: 10px 6px;
  border-bottom: 1px solid #eee;
}
.drawer__nav p:hover {
  opacity: 0.7;
}
@media (max-width: 600px) {
  .drawer__nav p {
    font-size: 15px;
    padding: 5px 3px;
    font-weight: bold;
  }
}

header .wp-block-navigation__container.wp-block-navigation {
  margin-top: 24px;
}
header .wp-block-navigation__container li {
  color: #222;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: 0.04em;
  padding: 10px 6px !important;
  border-bottom: 1px solid #eee;
  width: 100%;
}
header .wp-block-navigation__container li:hover {
  opacity: 0.7;
}
@media (max-width: 600px) {
  header .wp-block-navigation__container li {
    font-size: 15px;
    padding: 5px 3px;
    font-weight: bold;
  }
}

body.is-locked {
  overflow: hidden;
}

/* =========================
  Layout helper
========================= */
.l-container {
  width: min(1100px, 100% - 80px);
  margin-inline: auto;
}

/* =========================
  Subpage Hero
========================= */
.subHero {
  position: relative;
  /* height: clamp(240px, 30vw, 360px); */
  min-height: 415px;
  overflow: hidden;
  width: 100%;
}

.subHero__top .wp-block-group__inner-container {
  width: 100%;
  height: 100%;
}

.subHero__top .wp-block-group__inner-container figure {
  height: 100%;
}

.subHero__top .wp-block-group__inner-container figure img {
  height: 100%;
  -o-object-position: right;
     object-position: right;
}

.subHero__top .wp-block-group__inner-container figure.center img {
  -o-object-position: center;
     object-position: center;
}

/* 背景画像 */
.subHero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
@media (min-width: 601px) {
  .subHero__bg .sp_img_01 {
    display: none;
  }
}
@media (max-width: 600px) {
  .subHero__bg .sp_img_01 {
    display: block;
  }
  .subHero__bg .pc_img_01 {
    display: none;
  }
}

.subHero__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

/* 上段 */
.subHero__top {
  position: relative;
  z-index: 2;
  padding: 15px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
}
.subHero__top a:hover {
  opacity: 0.7;
}

.subHero__logo img {
  width: clamp(120px, 12vw, 200px);
  height: auto;
  display: block;
  filter: drop-shadow(-1.07px 4.8px 8px rgb(0, 0, 0));
}
@media (max-width: 600px) {
  .subHero__logo img {
    padding: 10px;
  }
}

/* MENUボタン（右上：白いカプセル） */
.subHero__menuBtn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: rgba(255, 255, 255, 0.92);
  color: #6b5a3a;
  border-radius: 999px;
  padding: 12px 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.subHero__menuIcon {
  width: 18px;
  height: 12px;
  display: inline-block;
  position: relative;
}

.subHero__menuIcon::before,
.subHero__menuIcon::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
}

.subHero__menuIcon::before {
  top: 0;
}

.subHero__menuIcon::after {
  bottom: 0;
}

/* 真ん中線 */
.subHero__menuIcon {
  background: linear-gradient(currentColor, currentColor) center/100% 2px no-repeat;
}

.subHero__menuTxt {
  font-weight: 600;
  letter-spacing: 0.12em;
  font-size: 14px;
}
@media (max-width: 500px) {
  .subHero__menuTxt {
    font-weight: bold;
  }
}

/* 金帯（左下） */
.subHero__bandWrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding-bottom: 18px;
}

.subHero__band {
  position: absolute;
  padding: 20px 0 22px 80px;
}

/* 金の帯本体：左から伸びる */
.subHero__band::before {
  content: "";
  position: absolute;
  left: calc((100vw - min(1100px, 100% - 80px)) / -2); /* コンテナ外へ伸ばす */
  bottom: 0;
  height: 130px;
  width: 72%;
  background: #f0bc0d;
}

/* タイトル */
.subHero__title,
.subHero__jp {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #fff;
  font-family: "Noto Serif SC", serif;
}

.subHero__title {
  font-size: clamp(36px, 4vw, 36px);
  letter-spacing: 0.12em;
  line-height: 1.1;
  font-weight: 600;
}
@media (max-width: 500px) {
  .subHero__title {
    font-weight: bold;
  }
}
@media (max-width: 600px) {
  .subHero__title {
    font-size: clamp(30px, 4vw, 56px);
  }
}

.subHero__jp {
  margin-top: 10px;
  font-size: 14px;
  letter-spacing: 0.06em;
  opacity: 0.95;
}

/* SP調整 */
@media (max-width: 768px) {
  .l-container {
    width: calc(100% - 32px);
  }
  .subHero__top {
    padding: 10px;
  }
  .subHero__band::before {
    left: -16px;
    width: 105%;
    height: 96px;
  }
  .subHero .subHero__top {
    padding: 0;
    margin-left: 0;
  }
}
@media (max-width: 600px) {
  .subHero__band {
    padding: 10px 0 10px 20px;
  }
  .subHero__top {
    padding: 10px 10px 40px;
  }
}
/* いつもの幅想定（既にあるなら不要） */
@media (max-width: 768px) {
  .l-container {
    width: min(1100px, 100% - 32px);
  }
}
/* =========================
   Event lead section
========================= */
.eventLead {
  background: #f6f6f4; /* うっすらグレー */
  padding: 70px 0;
}
@media (max-width: 1024px) {
  .eventLead.tabmtno {
    margin-top: 0;
    padding-top: 0;
  }
}

.eventLead__inner {
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.1);
  padding: 55px 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

/* 左テキスト */
.eventLead__title {
  margin: 0 0 22px;
  font-size: 22px;
  letter-spacing: 0.18em;
  line-height: 1.6;
  font-weight: 600;
  color: #2d2d2d;
  padding-top: 90px;
}
@media (max-width: 500px) {
  .eventLead__title {
    font-weight: bold;
  }
}

.eventLead__desc {
  margin: 0;
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: 0.06em;
  color: #2d2d2d;
}
@media (max-width: 600px) {
  .eventLead__desc {
    font-size: 15px;
  }
}

/* 右画像（影＋余白付き） */
.eventLead__media {
  display: flex;
  justify-content: flex-end;
}

.eventLead__img {
  margin: 0;
  width: min(430px, 100%);
  background: #fff;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.16);
}

.eventLead__img img {
  display: block;
  width: 100%;
  height: auto;
}

/* SP */
@media (max-width: 768px) {
  .eventLead__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 34px 22px;
  }
  .eventLead__media {
    justify-content: center;
  }
  .eventLead__title {
    font-size: 20px;
    letter-spacing: 0.14em;
    padding-top: 20px;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .eventLead__title {
    font-size: 16px;
  }
}
/* =========================
   LINE CTA
========================= */
.lineCta {
  padding: 80px 0 100px;
  background: #fff;
}

.lineCta__lead {
  font-size: 30px;
  margin: 0 0 34px;
  text-align: center;
  letter-spacing: 0.14em;
  line-height: 1.9;
  color: #363636;
  font-weight: 600;
}
@media (max-width: 500px) {
  .lineCta__lead {
    font-weight: bold;
  }
}

/* 枠ボタン */
.lineCtaBox {
  max-width: 920px;
  margin: 0 auto;
  min-height: 92px;
  display: grid;
  grid-template-columns: 78px 1fr 54px;
  align-items: center;
  padding: 18px 26px;
  background: #fff;
  border: 3px solid #17b600; /* LINEグリーン枠 */
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lineCtaBox:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.14);
}

.lineCtaBox__icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
}

.lineCtaBox__icon img {
  width: 32px;
  height: 32px;
  display: block;
}

.lineCtaBox__text {
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.18em;
  color: #363636;
  font-weight: 600;
}
@media (max-width: 500px) {
  .lineCtaBox__text {
    font-weight: bold;
  }
}

.lineCtaBox__ext {
  display: grid;
  place-items: center;
}

/* SP */
@media (max-width: 768px) {
  .lineCta {
    padding: 52px 0 70px;
  }
  .lineCta__lead {
    font-size: 15px;
    letter-spacing: 0.1em;
    margin-bottom: 22px;
  }
  .lineCtaBox {
    grid-template-columns: 56px 1fr 40px;
    padding: 14px 14px;
    min-height: 78px;
  }
  .lineCtaBox__text {
    font-size: 1.6rem;
    letter-spacing: 0.12em;
  }
}
/* 共通コンテナ（既にあるなら不要） */
/* .l-container{
  width: min(1100px, 100% - 80px);
  margin-inline: auto;
} */
@media (max-width: 768px) {
  .l-container {
    width: min(1100px, 100% - 32px);
  }
}
.lt-subsec {
  padding: 80px 0;
}

.lt-subsec__inner {
  background: #f7f7f7;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  padding: 70px 80px;
}

.lt-subsec__grid {
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 60px;
  align-items: center;
}

.lt-subsec__title {
  font-size: 22px;
  letter-spacing: 0.14em;
  margin: 0 0 26px;
  color: #363636;
}

.lt-subsec__desc {
  margin: 0;
  color: #363636;
  line-height: 2.2;
  letter-spacing: 0.08em;
  font-size: 14px;
}

.lt-subsec__img {
  margin: 0;
  justify-self: end;
}

.lt-subsec__img img {
  width: 100%;
  max-width: 520px;
  height: auto;
  display: block;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.12);
}

@media (max-width: 900px) {
  .lt-subsec__inner {
    padding: 48px 28px;
  }
  .lt-subsec__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .lt-subsec__img {
    justify-self: center;
  }
}
.lt-room {
  padding: 90px 0;
}

.lt-room__inner {
  position: relative;
}

.lt-room__grid {
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 1024px) {
  .lt-room__grid {
    padding-top: 0;
  }
}
.lt-room__grid .btn {
  margin: 20px 0 0;
  padding: 0;
}
.lt-room__grid .btn img {
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.1);
}

.lt-room__photo {
  margin: 0;
  box-shadow: 0 22px 40px rgba(0, 0, 0, 0.14);
}

.lt-room__photo img {
  width: 100%;
  height: auto;
  display: block;
}

.lt-room__right {
  position: relative;
  padding-top: 150px;
}

/* 右上に浮く大理石 */
.lt-room__marble {
  position: absolute;
  right: 0;
  top: -40px;
  width: 240px;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.1);
}

.lt-room__marble img {
  width: 100%;
  height: auto;
  display: block;
}

/* 白カード */
.lt-roomCard {
  background: #fff;
  box-shadow: 0 22px 40px rgba(0, 0, 0, 0.1);
  padding: 54px 75px;
  margin-left: -200px;
}
.lt-roomCard .btn {
  max-width: 350px;
}
@media (max-width: 600px) {
  .lt-roomCard .btn {
    padding: 0;
  }
}

.lt-roomCard__title {
  margin: 0 0 22px;
  color: #9b733f; /* ゴールド寄せ */
  font-size: 24px;
  letter-spacing: 0.2em;
  line-height: 1.9;
  font-weight: 700;
}
.lt-roomCard__title.yellow {
  color: #dfad1d;
}
@media (max-width: 820px) {
  .lt-roomCard__title {
    font-size: 20px;
  }
}

.lt-roomCard__text {
  margin: 0 0 18px;
  color: #363636;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 2.2;
}
@media (max-width: 600px) {
  .lt-roomCard__text {
    font-size: 15px;
  }
}
.lt-roomCard__text.program strong {
  font-weight: 400;
  border-bottom: 1px solid #a97f4a;
}
@media (max-width: 600px) {
  .lt-roomCard__text.program strong {
    font-weight: bold;
    font-size: 15px;
  }
}

.lt-roomCard__hl {
  color: #e2b10c; /* 強調の金 */
  font-weight: 600;
}
@media (max-width: 500px) {
  .lt-roomCard__hl {
    font-weight: bold;
  }
}

@media (max-width: 1024px) {
  .lt-room__grid {
    grid-template-columns: 1fr;
    gap: 28px;
    display: flex;
    flex-direction: column;
  }
  .lt-room__grid .lt-room__right {
    padding-top: 0;
  }
  .lt-room__marble {
    position: static;
    width: min(260px, 70%);
    margin: 0 0 14px auto;
  }
  .lt-roomCard {
    padding: 34px 22px;
    margin-left: 0;
  }
  .lt-room__marble {
    display: none;
  }
}
@media (max-width: 790px) {
  .lt-room__right {
    padding-top: 50px;
  }
}
@media (max-width: 600px) {
  .lt-room__grid {
    padding: 0 !important;
  }
  .lt-room__right {
    padding-top: 0px;
  }
}
.rentalroombk {
  background-color: #f9f9f9;
  padding: 80px 0;
}
.rentalroombk .btn {
  text-align: center;
  display: block;
  max-width: 310px;
  margin: 0 auto;
}
.rentalroombk .btn img {
  margin: auto;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.1);
}
@media (max-width: 600px) {
  .rentalroombk {
    padding: 30px 0 30px;
    margin-top: 50px;
  }
}

.benefits {
  padding: 70px 0 90px;
  background: #fff;
}

.benefits__head {
  text-align: center;
  margin-bottom: 50px;
}

.benefits__logo {
  width: 160px;
  margin: 0 auto 18px;
}

.benefits__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.benefits__sub {
  margin: 55px 0 150px;
  letter-spacing: 0.12em;
  color: #333;
}
.benefits__sub.big {
  font-size: 36px;
  font-weight: bold;
}
@media (max-width: 600px) {
  .benefits__sub.big {
    font-size: 18px;
  }
}
.benefits__sub.support {
  margin-bottom: 30px;
}

.benefits__body {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 70px;
  max-width: 1440px;
  padding: 0 20px 70px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .benefits__body {
    display: flex !important;
    flex-direction: column-reverse;
  }
}
@media (max-width: 600px) {
  .benefits__body {
    margin-bottom: 30px;
  }
}
.benefits__body.support_top {
  margin-top: 130px;
}
@media (max-width: 1024px) {
  .benefits__body.support_top {
    margin-top: 0px;
  }
}
@media (max-width: 600px) {
  .benefits__body.support_top {
    margin-top: 0px;
    padding-top: 0;
  }
}

.benefits__script {
  font-size: 44px;
  color: #caa247;
  font-style: italic;
  letter-spacing: 0.08em;
  margin: 0 0 18px;
}

.benefits__title {
  margin: 25px 0 18px;
  font-size: 24px;
  letter-spacing: 0.12em;
  font-weight: 700;
  padding-left: 115px;
}
@media (max-width: 1024px) {
  .benefits__title {
    padding-left: 20px;
  }
}
.benefits__title.program {
  padding-left: 80px;
}
@media (max-width: 1024px) {
  .benefits__title.program {
    padding-left: 0;
  }
}
.benefits__title.support {
  color: #a57a43;
}

.benefits__text {
  margin: 0;
  line-height: 2.1;
  color: #333;
  padding-left: 115px;
  font-size: 14px;
}
@media (max-width: 1024px) {
  .benefits__text {
    padding-left: 20px;
  }
}
@media (max-width: 600px) {
  .benefits__text {
    font-size: 15px;
  }
}
.benefits__text.program {
  padding-left: 80px;
}
@media (max-width: 1024px) {
  .benefits__text.program {
    padding-left: 0;
  }
}

.benefits__img {
  margin: 0;
  background: #fff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  padding: 10px;
}

.benefits__img img {
  width: 100%;
  height: auto;
  display: block;
}

.benefitsScript {
  max-width: 376px;
  padding-left: 45px;
}
@media screen and (max-width: 1024px) {
  .benefitsScript {
    padding-left: 0px;
  }
}

@media (max-width: 1024px) {
  .benefits__body {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .benefits__script {
    font-size: 34px;
  }
}
@media (max-width: 820px) {
  .benefits__title {
    padding-left: 5vw;
    font-size: 18px;
  }
  .benefits__text {
    padding-left: 5vw;
    padding-right: 20px;
    font-size: 15px;
  }
  .benefits__sub {
    padding: 30px 0 50px;
    margin: 0;
  }
  .lt-roomCard {
    padding: 20px;
  }
}
@media (max-width: 600px) {
  .benefitsScript {
    padding-left: 0;
    max-width: 60%;
  }
  .benefits__title {
    padding-left: 0px;
    font-size: 18px;
  }
  .benefits__text {
    padding-left: 0px;
    padding-right: 0px;
    font-size: 15px;
  }
}
/* =========================
   Recommended（該当セクション）
========================= */
.rec {
  padding: 80px 0 100px;
  background: #fff;
}

.recHead {
  position: relative;
  background: #E0B100; /* だいたいの黄 */
  color: #fff;
  text-align: center;
  padding: 0px 20px 34px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

/* 中央の▼ */
.recHead::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -21px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 22px solid #E0B100;
  filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.12));
}

.recHead__kicker {
  margin: 0 auto 8px;
  max-width: 166px;
  transform: translate(-100%, 10px);
}

.recHead__title {
  margin: -10px 0 0 0;
  font-size: 26px;
  letter-spacing: 0.18em;
  font-weight: 600;
}
@media (max-width: 500px) {
  .recHead__title {
    font-weight: bold;
  }
}

@media (max-width: 600px) {
  .recHead__kicker {
    margin: 0 auto 8px;
    max-width: 166px;
    transform: translate(0%, 10px);
  }
  .recHead__title {
    margin: 10px 0 0 0;
  }
}
.recList__item_wapper {
  font-size: 24px;
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.recList__item_wapper.rental {
  font-size: 22px;
}
@media (max-width: 600px) {
  .recList__item_wapper.rental {
    font-size: 15px;
    margin-bottom: 0px;
  }
}

.recList__item_wapper::before {
  content: "";
  display: block;
  background-image: url("../img/chek.png");
  background-size: cover;
  width: 45px;
  height: 36px;
  margin-right: 10px;
}

@media (max-width: 820px) {
  .recList__item_wapper {
    font-size: 18px;
  }
}
@media (max-width: 600px) {
  .recList__item_wapper {
    font-size: 14px;
    padding-left: 50px;
  }
  .recList__item_wapper::before {
    position: absolute;
    left: 7%;
    width: 25px;
    height: 21px;
  }
}
@media (max-width: 500px) {
  .recList__item_wapper {
    font-size: 15px;
    padding-left: 7vw;
  }
}
/* 方眼紙ボックス */
.recPaper {
  margin: 70px auto 0;
  width: min(900px, 100%);
  padding: 54px 70px;
  background: repeating-linear-gradient(0deg, rgba(120, 160, 200, 0.18) 0, rgba(120, 160, 200, 0.18) 1px, transparent 1px, transparent 22px), repeating-linear-gradient(90deg, rgba(120, 160, 200, 0.18) 0, rgba(120, 160, 200, 0.18) 1px, transparent 1px, transparent 22px), #fff;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12);
  border-radius: 2px;
}

/* チェックリスト */
.recList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 18px;
}

.recList__item {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: start;
  -moz-column-gap: 16px;
       column-gap: 16px;
  font-size: 16px;
  line-height: 1.9;
  color: #363636;
  letter-spacing: 0.02em;
}

/* チェックアイコン（黄色枠＋チェック） */
.recList__icon {
  width: 28px;
  height: 28px;
  border: 3px solid #E0B100;
  border-radius: 2px;
  position: relative;
  margin-top: 3px;
}

.recList__icon::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 3px;
  width: 10px;
  height: 16px;
  border-right: 4px solid #E0B100;
  border-bottom: 4px solid #E0B100;
  transform: rotate(45deg);
}

/* SP調整 */
@media (max-width: 768px) {
  .l-container {
    width: min(1100px, 100% - 32px);
  }
  .rec {
    padding: 56px 0 70px;
  }
  .recHead {
    padding: 30px 16px 28px;
  }
  .recHead__title {
    font-size: 20px;
    letter-spacing: 0.12em;
  }
  .recPaper {
    margin-top: 52px;
    padding: 28px 18px;
    background-size: auto;
  }
  .recList__item {
    grid-template-columns: 30px 1fr;
    -moz-column-gap: 12px;
         column-gap: 12px;
    font-size: 14.5px;
  }
  .recList__icon {
    width: 24px;
    height: 24px;
  }
  .recList__icon::after {
    left: 6px;
    top: 2px;
    width: 9px;
    height: 14px;
    border-right-width: 3px;
    border-bottom-width: 3px;
  }
}
/* コンテナ想定（既にあるなら不要） */
.rentalGuide {
  padding: 80px 0 110px;
  background: #fff;
}

/* ===== 上のV字バナー ===== */
.rentalGuideHead {
  position: relative;
  margin: 0 auto 48px;
  max-width: 1120px;
  background: #fff;
  border: 10px solid #9a7442; /* ブラウン */
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

.rentalGuideHead__title {
  margin: 0;
  padding: 34px 24px 44px;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: #9a7442;
  line-height: 1.6;
}
@media (max-width: 500px) {
  .rentalGuideHead__title {
    font-weight: bold;
  }
}

/* V字の下側（中央へ尖る） */
.rentalGuideHead::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -58px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 560px solid transparent;
  border-right: 560px solid transparent;
  border-top: 58px solid #9a7442; /* 枠色 */
}

/* 中の白いV（枠の内側） */
.rentalGuideHead::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -46px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 540px solid transparent;
  border-right: 540px solid transparent;
  border-top: 46px solid #fff; /* 背景色 */
}

/* ===== 2カラム ===== */
.rentalGuideGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  margin-top: 78px; /* V字ぶん空ける */
}

/* ===== カード ===== */
.rentalCard_top {
  margin-top: 60px;
}

.rentalCard_wapper {
  width: 48%;
}

.rentalCard {
  background: #fff;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.1);
  padding: 70px 60px 80px;
  margin-bottom: 20px;
}

.rentalCard02 {
  background: #fff;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.1);
  padding: 40px 45px 60px;
  height: 98.4%;
}

.rentalCard + .rentalCard {
  margin-top: 34px;
}

.rentalCard__title {
  font-size: 24px;
  margin: 0 0 18px;
  color: #9b733f;
  font-weight: 700;
  letter-spacing: 0.2em;
}
@media (max-width: 820px) {
  .rentalCard__title {
    font-size: 16px;
  }
}

/* タイトル下の細線 */
.rentalCard__title::after {
  content: "";
  display: block;
  margin-top: 30px;
  height: 1px;
  background: #9b733f;
}

/* blocks */
.rentalCard__block {
  margin-top: 35px;
}

.rentalCard__label {
  margin: 0 0 8px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #222;
  font-size: 16px;
}
@media (max-width: 820px) {
  .rentalCard__label {
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  .rentalCard__label {
    font-size: 15px;
  }
}

.rentalCard__text {
  margin: 0;
  color: #333;
  line-height: 2.25;
  letter-spacing: 0.2em;
  font-size: 16px;
  font-weight: 700;
}

/* 注意事項の箇条書き */
.rentalNote {
  margin: 14px 0 0;
  padding-left: 1.2em;
  color: #333;
  line-height: 2.25;
  letter-spacing: 0.2em;
  padding-left: 0;
  font-size: 14px;
}
@media (max-width: 600px) {
  .rentalNote {
    font-size: 15px;
  }
}

.rentalNote li {
  margin-top: 10px;
  font-weight: 700;
}

/* 右カラム 画像 */
.rentalEquip__img {
  margin: 0 0 18px;
  background: #f4f4f4;
  padding: 14px;
}

.rentalEquip__img img {
  width: 100%;
  height: auto;
  display: block;
}

/* 右下の注釈 */
.rentalEquip__foot {
  margin: 50px 0 0;
  line-height: 2.25;
  font-size: 16px;
  font-weight: 700;
}

@media (max-width: 600px) {
  .rec__inner {
    margin-top: 20px;
  }
  .rec__inner.l-container {
    padding: 0 !important;
  }
  .rentalCard_top {
    margin-top: 30px;
  }
  .rentalCard_top.l-container {
    padding: 0 !important;
  }
  .recHead {
    padding: 0 16px 28px;
  }
  .rentalCard__title {
    font-size: 16px;
  }
  .rentalCard + .rentalCard {
    margin-top: 20px;
  }
  .contactCta__title {
    font-size: 18px;
    margin: 26px;
  }
}
/* ===== レスポンシブ ===== */
@media (max-width: 1100px) {
  .rentalGuideHead::after {
    border-left-width: 44vw;
    border-right-width: 44vw;
  }
  .rentalGuideHead::before {
    border-left-width: 42.5vw;
    border-right-width: 42.5vw;
  }
}
@media (max-width: 900px) {
  .rentalGuideGrid {
    grid-template-columns: 1fr;
  }
  .rentalGuideHead {
    border-width: 8px;
  }
  .rentalGuideHead::after {
    border-left-width: 46vw;
    border-right-width: 46vw;
  }
  .rentalGuideHead::before {
    border-left-width: 44vw;
    border-right-width: 44vw;
  }
  .rentalGuide {
    padding: 60px 0 80px;
  }
}
@media (max-width: 560px) {
  .rentalCard {
    padding: 24px 20px;
  }
  .rentalCard02 {
    padding: 24px 20px;
  }
  .rentalGuideHead__title {
    padding: 26px 16px 38px;
    font-size: 16px;
  }
  .rentalGuideHead::after {
    bottom: -44px;
    border-top-width: 44px;
  }
  .rentalGuideHead::before {
    bottom: -34px;
    border-top-width: 34px;
  }
  .rentalCard__title::after {
    margin-top: 15px;
  }
  .rentalCard__text {
    font-size: 15px;
  }
}
@media (min-width: 782px) {
  .rentalCard03 {
    display: none !important;
  }
}
@media (max-width: 781px) {
  .rentalCard02 {
    display: none;
  }
  .rentalCard03 {
    display: block !important;
    height: auto;
    margin-bottom: 20px;
  }
}
/* containerは既存の .l-container を想定 */
.faqSec {
  padding: 120px 0;
  background: #fff;
}

.faqSec__head {
  text-align: center;
  margin-bottom: 48px;
  position: relative;
  max-width: 540px;
  margin: 0 auto 0px;
}
@media (max-width: 1024px) {
  .faqSec__head {
    margin-top: 20px !important;
  }
}

.faqSec__script {
  margin: 0 0 6px;
  max-width: 78px;
  position: absolute;
  left: 20%;
  top: -40%;
}

.faqSec__title {
  margin: 0 0 14px;
  font-size: clamp(24px, 2.2vw, 34px);
  letter-spacing: 0.08em;
}

.faqSec__lead {
  margin: 20px 0 100px;
  color: #333;
  font-size: 18px;
  letter-spacing: 0.06em;
}
@media (max-width: 600px) {
  .faqSec__lead {
    margin: 20px 0 30px;
  }
}

.faqList {
  max-width: 980px;
  margin: 0 auto;
}

/* details default marker消し */
.faqItem > summary {
  list-style: none;
}

.faqItem > summary::-webkit-details-marker {
  display: none;
}

.faqItem {
  margin: 0 auto 22px;
  max-width: 900px;
}
@media (max-width: 1024px) {
  .faqItem {
    padding: 0 20px;
  }
}
@media (max-width: 600px) {
  .faqItem {
    padding: 0 0px;
  }
}

/* Q（横長ボックス） */
.faqQ .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 66px 1fr 80px;
  align-items: center;
  gap: 18px;
  background: #fff;
  padding: 26px 20px;
  border-radius: 2px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .faqQ .wp-block-group__inner-container {
    padding: 20px 10px;
  }
}

/* 左の丸（Q） */
.faqQ__badge {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f0bc0d; /* ゴールド */
  color: #fff;
  font-weight: 700;
  font-size: 34px;
  line-height: 1;
  padding-bottom: 5px;
  margin-left: 6px;
  letter-spacing: 0;
}

.faqQ__text {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #222;
}
@media (max-width: 600px) {
  .faqQ__text {
    font-size: 16px;
  }
}

/* 右端の「− / ＋」 */
.faqQ__icon {
  justify-self: end;
  position: relative;
  width: 34px;
  height: 34px;
}

.faqQ__icon::before,
.faqQ__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 2px;
  background: #222;
  transform: translate(-50%, -50%);
}

.faqQ__icon::after {
  /* ＋の縦棒（閉じている時だけ表示） */
  width: 2px;
  height: 24px;
}

/* 開いている時は「−」にする（縦棒を消す） */
.faqItem[open] .faqQ__icon::after {
  opacity: 0;
}

/* A（回答） */
.faqA .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 66px 1fr;
  gap: 18px;
  align-items: start;
  padding: 0px 60px 0 20px;
  margin-bottom: 100px;
  font-weight: 700;
  font-size: 14px;
  line-height: 2.4;
}
@media (max-width: 600px) {
  .faqA .wp-block-group__inner-container {
    font-size: 15px;
  }
}

.faqA__badge {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #9b733f; /* ブラウン */
  color: #fff;
  font-weight: 700;
  font-size: 34px;
  line-height: 1;
  margin-left: 6px;
  padding-bottom: 5px;
  letter-spacing: 0;
}

.faqA__body {
  color: #222;
  font-size: 14px;
  line-height: 2.1;
  letter-spacing: 0.06em;
}
@media (max-width: 600px) {
  .faqA__body {
    font-size: 15px;
  }
}

/* SP */
@media (max-width: 768px) {
  .faqSec {
    padding: 80px 0;
  }
  .faqQ {
    grid-template-columns: 54px 1fr 44px;
    padding: 18px 16px;
    gap: 12px;
  }
  .faqQ__badge, .faqA__badge {
    width: 35px;
    height: 35px;
    font-size: 18px;
    margin-left: 0;
  }
  .faqA {
    grid-template-columns: 44px 1fr;
    padding: 16px 16px 0;
    gap: 12px;
  }
}
/* ===== Company Block ===== */
.companyBlock {
  padding: 80px 0 100px;
  background: #fff;
}

.companyBlock__hero {
  position: relative;
  width: min(970px, 100%);
  margin: 0 auto;
  background: #fff;
  margin-top: 70px;
}
@media (max-width: 10240px) {
  .companyBlock__hero {
    padding: 0 20px;
  }
}
@media (max-width: 600px) {
  .companyBlock__hero {
    padding: 0 20px;
    margin-top: 0;
  }
}

.companyBlock__hero img {
  display: block;
  width: 100%;
  height: auto;
}

/* 画像上の薄いタイトル */
.companyBlock__heroTitle {
  position: absolute;
  left: 50%;
  top: 28%;
  transform: translateX(-50%);
  font-size: clamp(22px, 3vw, 34px);
  letter-spacing: 0.4em;
  color: rgba(0, 0, 0, 0.38);
  font-weight: 600;
  white-space: nowrap;
  pointer-events: none;
}
@media (max-width: 500px) {
  .companyBlock__heroTitle {
    font-weight: bold;
  }
}

/* テーブル全体の箱 */
.companyTableWrap {
  width: min(970px, 100%);
  margin: 24px auto 0;
  background: #fff;
  padding-bottom: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
  .companyTableWrap {
    padding: 0 20px;
  }
}

.companyTable table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  padding-bottom: 0;
  margin-bottom: 0;
  border: 1px solid #9a9a9a;
}

.companyTable table th,
.companyTable table td {
  border-top: 1px solid #9a9a9a;
  border-right: 1px solid #9a9a9a;
  padding: 50px 22px;
  font-size: 14px;
  line-height: 1.9;
  vertical-align: middle;
}
@media screen and (max-width: 600px) {
  .companyTable table th,
.companyTable table td {
    font-size: 15px;
  }
}

.companyTable table tr:first-child th,
.companyTable table tr:first-child td {
  border-top: none;
}

.companyTable table td:nth-child(odd) {
  width: 28%;
  background: #6e6e6e;
  color: #fff;
  text-align: center;
  font-weight: 600;
  border-left: none;
}
@media (max-width: 500px) {
  .companyTable table td:nth-child(odd) {
    font-weight: bold;
  }
}

.companyTable table td:nth-child(13) {
  border-bottom: 1px solid #000;
}

.companyTable table td {
  width: 72%;
  color: #222;
  border-right: none;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
}

/* ===== SP ===== */
@media (max-width: 768px) {
  .companyTableWrap {
    padding: 0 20px;
  }
  .l-container {
    padding: 0 18px;
  }
  .companyBlock {
    padding: 56px 0 72px;
  }
  .companyBlock__heroTitle {
    top: 22%;
    letter-spacing: 0.25em;
  }
  .companyTable table th,
.companyTable table td {
    padding: 14px 12px;
    font-size: 15px;
  }
  .companyTable table th {
    width: 34%;
  }
  .companyTable table td {
    width: 66%;
  }
}
.accessSec {
  background: #fff;
  padding: 110px 0 120px;
}

.accessSec__inner {
  text-align: center;
}

.accessSec__logo {
  width: min(220px, 56vw);
  margin: 0 auto 18px;
}
@media (max-width: 600px) {
  .accessSec__logo {
    max-width: 155px;
  }
}

.accessSec__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.accessSec__title {
  margin: 65px 0 14px;
  font-size: 36px;
  letter-spacing: 0.2em;
  font-weight: 600;
}
@media (max-width: 500px) {
  .accessSec__title {
    font-weight: bold;
  }
}
@media (max-width: 600px) {
  .accessSec__title {
    margin: 30px 0 14px;
    font-size: 24px;
  }
}

.accessSec__desc {
  margin: 0 auto 40px;
  font-size: 14px;
  line-height: 2.2;
  color: #222;
  text-align: center;
}
@media (max-width: 600px) {
  .accessSec__desc {
    text-align: left;
    font-size: 15px;
  }
}

.accessSec__note {
  margin-left: 8px;
  white-space: nowrap; /* 画像っぽく1行寄せにしたい場合 */
}

/* MAP：横長比率でレスポンシブ */
.accessSec__map {
  margin: 0 auto;
  max-width: 920px; /* 画像の収まり感に近い */
}
@media (max-width: 820px) {
  .accessSec__map {
    padding: 0 20px;
  }
}

.accessSec__mapFrame {
  position: relative;
  width: 100%;
  aspect-ratio: 16/7; /* 横長（画像に近い） */
  background: #fff;
  overflow: hidden;
  border-radius: 2px;
  /* ふわっと影 */
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
}

.accessSec__mapFrame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* SP微調整 */
@media (max-width: 768px) {
  .accessSec {
    padding: 70px 0 80px;
  }
  .accessSec__desc {
    margin-bottom: 28px;
    font-size: 15px;
    line-height: 2;
    padding: 0 10px;
  }
  .accessSec__note {
    display: block; /* SPは注釈を改行して読みやすく */
    margin-left: 0;
    white-space: normal;
  }
  .accessSec__mapFrame {
    aspect-ratio: 16/10;
  }
}
/* =========================
   After Support
========================= */
.afterSupport {
  background: #fff;
  padding: 140px 0 0;
}

.afterSupport .wp-block-group__inner-container {
  display: flex;
  width: 100%;
  gap: 45px;
}

.afterSupport .wp-block-group__inner-container .wp-block-group.afterSupport__text {
  display: block;
  width: 100%;
  padding-left: 100px;
}

.afterSupport .wp-block-group__inner-container .wp-block-group.afterSupport__text .wp-block-group__inner-container {
  display: block;
  width: 100%;
}

.afterSupport__inner {
  margin: 0 auto;
  /* padding: 0 40px; */
  align-items: center;
}

/* Left */
.afterSupport__lead {
  margin: 0 0 18px;
  color: #9a7a45; /* ゴールド系 */
  font-weight: 600;
  letter-spacing: 0.08em;
  font-size: 24px;
}
@media (max-width: 500px) {
  .afterSupport__lead {
    font-weight: bold;
  }
}

.afterSupport__title {
  margin: 0 0 34px;
  color: #9a7a45; /* ゴールド系 */
  font-weight: 600;
  letter-spacing: 0.08em;
  font-size: 24px;
}
@media (max-width: 500px) {
  .afterSupport__title {
    font-weight: bold;
  }
}

.afterSupport__desc {
  color: #363636;
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: 0.03em;
}
@media (max-width: 600px) {
  .afterSupport__desc {
    font-size: 15px;
  }
}

.afterSupport__desc p {
  margin: 0 0 18px;
}

.afterSupport__desc p:last-child {
  margin-bottom: 0;
}

/* Right */
.afterSupport__mediaInner {
  /* background: #f3f3f3; 
  padding: 34px; */
}

.afterSupport__img {
  margin: 0;
}

.afterSupport__img img {
  width: 100%;
  height: auto;
  display: block;
  background: #fff;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.12);
}

/* Responsive */
@media (max-width: 900px) {
  .afterSupport {
    padding: 60px 0;
  }
  .afterSupport__inner {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 0 20px;
  }
  .afterSupport__mediaInner {
    padding: 20px;
  }
}
/* =========================
   Support 6 cards
========================= */
.support6 {
  padding: 90px 0 100px;
  background: #fff;
}

.support6__inner {
  width: min(1060px, 100% - 40px);
  margin: 0 auto;
}

.support6__head {
  text-align: center;
  margin-bottom: 58px;
}

.support6__logo {
  font-family: "Times New Roman", serif;
  letter-spacing: 0.12em;
  font-size: 38px;
  line-height: 1.05;
  color: #b08a4a; /* ゴールド寄せ */
  margin-bottom: 14px;
}

.support6__logo small {
  display: block;
  font-size: 12px;
  letter-spacing: 0.35em;
  margin-top: 6px;
}

.support6__sub {
  font-size: 18px;
  letter-spacing: 0.28em;
  color: #363636;
  margin: 45px 0 90px;
  text-align: center;
}

/* grid */
.support6__grid .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px 56px;
  max-width: 1190px;
  margin: 0 auto;
  padding: 50px 20px 0;
}
@media (max-width: 1024px) {
  .support6__grid .wp-block-group__inner-container {
    grid-template-columns: repeat(2, 1fr);
    padding: 0px 20px 0;
  }
}
@media (max-width: 700px) {
  .support6__grid .wp-block-group__inner-container {
    grid-template-columns: repeat(1, 1fr);
  }
}

.support6__grid .wp-block-group__inner-container .wp-block-group__inner-container {
  display: block;
  padding: 50px 0 0;
}

@media (max-width: 980px) {
  .support6__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 44px 34px;
  }
}
@media (max-width: 680px) {
  .support6 {
    padding: 0px 0 30px;
  }
  .support6__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}
/* card */
.support6Card {
  position: relative;
  padding-top: 22px; /* 丸アイコン分 */
}

/* 丸アイコン */
.support6Card__icon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  width: 157px;
  height: 157px;
  border-radius: 999px;
  /* box-shadow: 0 18px 45px rgba(0,0,0,.12); */
  display: grid;
  place-items: center;
  z-index: 3;
}

.support6Card__iconMark {
  color: #e0b100; /* 黄 */
  font-weight: 700;
  font-size: 26px;
  letter-spacing: 0.06em;
}

/* 白い本体 */
.support6Card__panel {
  position: relative;
  background: #fff;
  padding: 58px 26px 26px; /* 上に余白（丸アイコンが被る） */
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
  z-index: 2;
}

/* 右下の黄色ブロック影（画像の感じ） */
.support6Card::after {
  content: "";
  position: absolute;
  right: -12px;
  bottom: -12px;
  width: 100%;
  height: 80%;
  background: #e0b100;
}
@media (max-width: 820px) {
  .support6Card::after {
    content: "";
    position: absolute;
    right: 7px;
    bottom: -12px;
    width: 85%;
    height: 80%;
    background: #e0b100;
  }
}

/* タイトル＆本文 */
.support6Card__title {
  text-align: center;
  margin: 50px 0 35px;
  font-size: 18px;
  letter-spacing: 0.2em;
  color: #e0b100;
  font-weight: 700;
}

.support6Card__text {
  margin: 0;
  font-size: 14px;
  line-height: 2.05;
  color: #222;
}
@media (max-width: 600px) {
  .support6Card__text {
    font-size: 15px;
  }
}

/* =========================
   開業までのステップ
========================= */
#step_wapper {
  background-color: #f9f9f9;
  padding: 30px 20px;
}

.openSteps {
  padding: 90px 0 80px;
  background: #fff;
}

.openSteps__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---- 見出し（黄色帯＋中央切り欠き） ---- */
.openStepsHead {
  position: relative;
  background: #e3b400; /* ゴールド */
  padding: 36px 16px 30px;
  text-align: center;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.18);
  margin: 0 auto 56px;
}

.openStepsHead::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -22px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-top: 22px solid #e3b400;
}

.openStepsHead__en {
  margin: 0 0 8px;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.06em;
  font-family: "Segoe Script", "Brush Script MT", "Snell Roundhand", cursive;
}

.openStepsHead__jp {
  margin: 0;
  color: #fff;
  font-size: 28px;
  letter-spacing: 0.12em;
  font-weight: 600;
}
@media (max-width: 500px) {
  .openStepsHead__jp {
    font-weight: bold;
  }
}

/* ---- 上下の帯 ---- */
.openSteps__phase {
  max-width: 1200px;
  margin: 50px auto 0;
  text-align: center;
  letter-spacing: 0.12em;
  font-weight: 600;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.18);
}
@media (max-width: 500px) {
  .openSteps__phase {
    font-weight: bold;
  }
}

.openSteps__phase--brown {
  background: #9a733f;
  color: #fff;
  padding: 16px 12px;
  font-size: 36px;
  margin-bottom: 42px;
}
.openSteps__phase--brown.yellow {
  background: linear-gradient(90deg, #f3c300, #cfa449);
  max-width: 1200px;
  margin: 40px auto 0;
}
@media (max-width: 930px) {
  .openSteps__phase--brown.yellow {
    max-width: 92%;
  }
}
@media (max-width: 600px) {
  .openSteps__phase--brown.yellow {
    padding: 25px 0;
    max-width: 100%;
    margin-top: 12px;
  }
}

.openSteps__phase--gold {
  background: #e3b400;
  color: #fff;
  padding: 16px 12px;
  font-size: 22px;
  margin-top: 52px;
}

/* ---- 2カラム ---- */
.openSteps__grid {
  max-width: 1190px;
  margin: 0 auto;
}
.openSteps__grid .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 1200px) {
  .openSteps__grid .wp-block-group__inner-container {
    gap: 20px;
    padding: 0 20px;
  }
}
@media (max-width: 960px) {
  .openSteps__grid .wp-block-group__inner-container {
    grid-template-columns: auto;
  }
}
@media (max-width: 660px) {
  .openSteps__grid .wp-block-group__inner-container {
    padding: 0px;
  }
}
.openSteps__grid .wp-block-group__inner-container .wp-block-group__inner-container {
  display: block;
}

/* 左：ロゴ＋縦リボン */
.openStepsLeft {
  display: grid;
  justify-items: center;
  gap: 22px;
  padding-top: 10px;
}

.openStepsLeft__logo img {
  width: min(270px, 70%);
  height: auto;
  display: block;
}

/* 縦リボン */
.openStepsLeft__ribbon {
  position: relative;
  width: 76px;
  background: #9a733f;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.18);
  padding: 20px 0 34px;
}

.openStepsLeft__ribbon::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  margin: auto;
  width: 0;
  height: 0;
  border-left: 38px solid transparent;
  border-right: 38px solid transparent;
  border-top: 26px solid #fff; /* 下のVカット */
}

.openStepsLeft__ribbon span {
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.18em;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  display: block;
  margin: 0 auto;
}
@media (max-width: 500px) {
  .openStepsLeft__ribbon span {
    font-weight: bold;
  }
}

/* 右：stepリスト */
.stepList {
  display: grid;
  gap: 18px;
  padding-top: 8px;
}

.stepItem {
  position: relative;
  min-height: 66px;
  background: linear-gradient(90deg, #333333, #333);
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.18);
  grid-template-columns: 62px 1fr;
  align-items: center;
  padding: 10px 18px 10px 12px;
  margin-bottom: 30px;
}

.stepItem .wp-block-group__inner-container {
  display: flex !important;
  align-items: center;
}

.stepItem__text {
  margin: 0;
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.08em;
  font-weight: 600;
}
@media (max-width: 600px) {
  .stepItem__text {
    font-weight: bold;
  }
}

.support_btn {
  max-width: 1060px;
  margin: 100px auto;
}
@media (max-width: 1060px) {
  .support_btn {
    max-width: 92%;
  }
}
@media (min-width: 601px) {
  .support_btn.sp_img01 {
    display: none;
  }
}
@media (max-width: 600px) {
  .support_btn {
    margin: 30px auto;
    margin-bottom: 30px !important;
  }
  .support_btn.pc_img01 {
    display: none;
  }
  .support_btn.sp_img01 {
    display: block;
  }
}

.stepimg {
  max-height: 685px;
}
@media (max-width: 960px) {
  .stepimg {
    display: none;
  }
}
.stepimg img {
  height: auto;
  width: auto;
  margin: auto;
}

/* 右上の stepタグ */
.stepItem__tag {
  position: absolute;
  right: 0px;
  top: 0px;
  background: #e0b00c;
  color: #040404;
  font-size: 18px;
  letter-spacing: 0.08em;
  padding: 6px 10px;
  border-radius: 2px;
  font-weight: 700;
}
@media (max-width: 1050px) {
  .stepItem__tag {
    font-size: 15px;
    padding: 3px 5px;
  }
}

/* 左の丸アイコン（簡易：CSSで作る/差し替え可） */
.stepItem__icon {
  width: 66px;
  height: 66px;
  margin-left: 6px;
  position: relative;
}

/* 中身は絵文字で仮置き（後でSVG/画像に差し替えOK） */
.stepItem__icon::after {
  font-size: 18px;
  line-height: 1;
}

/* ---- レスポンシブ ---- */
@media (max-width: 960px) {
  .openSteps__grid {
    grid-template-columns: auto;
  }
  .openStepsLeft__ribbon {
    width: 220px;
    padding: 14px 0 26px;
  }
  .openStepsLeft__ribbon span {
    -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
    text-orientation: mixed;
    text-align: center;
    letter-spacing: 0.12em;
  }
  .openStepsLeft__ribbon::after {
    border-left: 110px solid transparent;
    border-right: 110px solid transparent;
  }
}
@media (max-width: 520px) {
  .openStepsHead__jp {
    font-size: 22px;
  }
  .openSteps__phase {
    max-width: 100%;
    font-weight: bold;
  }
  .openSteps__phase--brown,
.openSteps__phase--gold {
    font-size: 18px;
  }
  .stepItem__text {
    font-size: 16px;
  }
}
.mt100 {
  margin-top: 100px;
}

@media (max-width: 768px) {
  .mt100 {
    margin-top: 50px;
  }
}
.mt60 {
  margin-top: 60px;
}

@media (max-width: 768px) {
  .mt60 {
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .reverse {
    flex-direction: column-reverse;
    padding: 20px;
  }
}
@media (min-width: 601px) {
  .sp_img {
    display: none !important;
  }
}
@media (max-width: 600px) {
  .pc_img {
    display: none !important;
  }
}
/* 初期はAを閉じる */
.faqItem .faqA {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: height 1.2s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.7s ease, transform 0.7s ease;
  will-change: height;
}

.faqItem .is-open .faqA {
  opacity: 1;
  transform: translateY(0);
}

/* クリックできる感を出す */
.faqItem .faqQ {
  cursor: pointer;
}

/* アイコン回転（任意） */
.faqItem .faqQ__icon {
  transition: transform 0.25s ease;
}

.faqItem.is-open .faqQ__icon {
  transform: rotate(180deg);
}

/* アイコン枠（位置はお好みで調整） */
.faqQ__icon {
  margin-left: auto; /* Qの右端に寄せたい場合 */
  width: 24px;
  height: 24px;
  position: relative;
}

/* ＋（横線） */
.faqQ__icon::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 2px;
  transform: translate(-50%, -50%);
  background: currentColor;
}

/* ＋（縦線）＝閉じてる時だけ表示 */
.faqQ__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2px;
  height: 18px;
  transform: translate(-50%, -50%);
  background: currentColor;
}

/* 開いたら縦線を消す → “−” になる */
.is-open .faqQ__icon::after {
  opacity: 0;
}

@media (max-width: 1024px) {
  .voicesHead {
    margin: 0px auto 50px;
    max-width: 94%;
    font-size: 26px;
  }
  .voicesHead.top {
    margin-top: 50px;
  }
  .voiceItem .wp-block-group__inner-container {
    padding: 30px 20px;
    gap: 20px;
  }
}
@media (max-width: 820px) {
  .voicesHead {
    height: 110px;
    width: 80%;
  }
  .voicesHead__title {
    font-size: 26px;
  }
}
@media (max-width: 600px) {
  .voicesHead {
    max-width: 100%;
  }
  .faqQ {
    padding: 8px 16px;
  }
  .faqSec__head {
    margin-bottom: 30px;
  }
  .faqSec__lead {
    font-size: 14px;
    padding: 0 20px;
  }
  .faqQ .wp-block-group__inner-container {
    gap: 0;
    margin-bottom: 0;
    padding: 10px;
    grid-template-columns: 40px 1fr 16px;
  }
  .faqA .wp-block-group__inner-container {
    padding: 10px;
    margin: 0px 0 30px 0;
    gap: 0;
    grid-template-columns: 40px 1fr;
  }
  .voicesHead {
    font-size: 18px;
  }
  .voiceItem__avatar {
    margin: 15px auto 0;
  }
  .voiceItem__title {
    font-size: 18px;
    text-align: center;
    margin-bottom: 25px;
  }
  .voiceItem .wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 0px 0px;
  }
  .voiceItemlast {
    margin-bottom: 30px;
  }
  .voiceItem__text {
    font-size: 15px;
    line-height: 1.5;
  }
}
/* =========================
   CF7 panel layout
========================= */
.wpcf7-form {
  background-color: #f9f9f9;
  padding: 60px 0;
  margin: 60px 0 0;
}

.cf7panel {
  max-width: 1100px;
  margin: 0px auto 0;
  padding: 40px 30px 55px;
  background: #fff;
  background-color: #fff;
}

.cf7col.flex p {
  display: flex;
  align-items: center;
}

.cf7label p {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.cf7panel__lead {
  margin: 0 0 22px;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #333;
}

/* 2-col grid: label | field */
.cf7grid {
  border: 1px solid #e6e6e6;
}

.cf7row {
  display: grid;
  grid-template-columns: 220px 1fr;
  min-height: 64px;
  border-top: 1px solid #e6e6e6;
}

.cf7row:first-child {
  border-top: 0;
}

.cf7label {
  background: #f4f4f4;
  padding: 18px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cf7label__txt {
  font-size: 16px;
  font-weight: 700;
  color: #222;
}

.cf7label__req {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #313131;
  background: #c89c2b; /* ゴールド */
  border-radius: 2px;
}

.cf7field {
  padding: 16px 16px;
  background: #fff;
}

/* inputs */
.cf7field input[type=text],
.cf7field input[type=email],
.cf7field input[type=tel],
.cf7field select,
.cf7field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 0;
  background: #f5f5f5;
  padding: 14px 14px;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 2px;
  outline: none;
}

.cf7field textarea {
  min-height: 180px;
  resize: vertical;
}

.cf7hint {
  display: block;
  font-size: 16px;
  color: #777;
  margin: 0 10px 8px 0;
}

.cf7hint.top {
  min-width: 30px;
  text-align: center;
}

.form_pd {
  padding: 16px 30px 16px 55px;
}

.form_pd02 {
  padding: 16px 30px 16px 35px;
}

/* name 2 columns */
.cf7cols2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* address rows */
.cf7addr__row {
  margin-bottom: 14px;
}

.cf7addr__row:last-child {
  margin-bottom: 0;
}

/* checkbox list */
.cf7field .wpcf7-form-control.wpcf7-checkbox {
  display: grid;
  gap: 10px;
}

.cf7field .wpcf7-list-item {
  margin: 0;
}

.cf7field .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #222;
}

.cf7field input[type=checkbox] {
  width: 14px;
  height: 14px;
}

/* agree */
.cf7agree {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid #e6e6e6;
  font-size: 12px;
  line-height: 1.8;
}

.cf7agree label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.cf7agree input[type=checkbox] {
  margin-top: 3px;
}

/* submit button */
.cf7submit {
  margin-top: 18px;
  display: flex;
  justify-content: center;
}

.cf7btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  padding: 14px 22px;
  border: 0;
  background: #c89c2b;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.2em;
  border-radius: 0;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.12);
  cursor: pointer;
}

.cf7btn:hover {
  filter: brightness(0.96);
}

/* =========================
   Mobile
========================= */
@media (max-width: 780px) {
  .cf7panel {
    padding: 26px 16px 38px;
  }
  .cf7row {
    grid-template-columns: 1fr;
  }
  .cf7label {
    justify-content: flex-start;
  }
  .cf7label__req {
    margin-left: auto;
  }
  .cf7cols2 {
    grid-template-columns: 1fr;
  }
}
/* =========================
   Loading overlay
========================= */
.site-loading {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  background: #fff;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.7s ease, visibility 0.7s ease;
}

/* ロゴ出現前（下からふわっと出すため下方向にオフセット） */
.site-loading__logo {
  width: min(220px, 60vw);
  height: auto;
  opacity: 0;
  transform: translateY(34px) scale(0.98); /* ← 下から上へ */
  filter: blur(12px); /* ← ふわ感を強める */
  will-change: opacity, transform, filter;
}

/* 表示開始（ロゴが下からふわっと出る） */
.site-loading.is-show .site-loading__logo {
  -webkit-animation: logoFloatUp 1.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
          animation: logoFloatUp 1.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* 消える */
.site-loading.is-hide {
  opacity: 0;
  visibility: hidden;
}

/* ロゴ：下から“ふわっ” */
@-webkit-keyframes logoFloatUp {
  0% {
    opacity: 0;
    transform: translateY(44px) scale(0.98);
    filter: blur(14px);
  }
  70% {
    opacity: 1;
    transform: translateY(-3px) scale(1); /* ← ちょい上に行き過ぎて */
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1); /* ← ふわっと収まる */
    filter: blur(0);
  }
}
@keyframes logoFloatUp {
  0% {
    opacity: 0;
    transform: translateY(44px) scale(0.98);
    filter: blur(14px);
  }
  70% {
    opacity: 1;
    transform: translateY(-3px) scale(1); /* ← ちょい上に行き過ぎて */
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1); /* ← ふわっと収まる */
    filter: blur(0);
  }
}
/* 動きが苦手な人向け */
@media (prefers-reduced-motion: reduce) {
  .site-loading__logo {
    opacity: 1;
    transform: none;
    filter: none;
    -webkit-animation: none !important;
            animation: none !important;
  }
  .site-loading {
    transition: none;
  }
}
@media (min-width: 601px) {
  .flow_btn {
    display: none;
  }
}
@media (max-width: 600px) {
  .flow_btn {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99;
  }
  .flow_btn ul {
    display: flex;
    background-color: #fff;
    line-height: 0;
    justify-content: space-between;
  }
  .flow_btn ul li {
    width: 24.9%;
    box-sizing: border-box;
  }
}
.link a:hover {
  opacity: 0.7;
}

.seminar_footer {
  margin-bottom: 70px;
}

/* =========================================
  SMF Contact Layout (image-like)
========================================= */
form.snow-monkey-form {
  max-width: 980px;
  margin: 0 auto;
}

/* 1行（ラベル枠＋入力枠） */
form.snow-monkey-form .smf-item {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 34px;
  padding: 0;
  border: none;
  margin: 0 0 14px;
}

/* 左：ラベル枠（グレーの四角） */
form.snow-monkey-form .smf-item__col--label {
  background: #f2f2f2;
  padding: 18px 18px;
  display: flex;
  align-items: center;
  min-height: 60px;
  font-size: 16px;
}

/* 住所のラベル枠は上寄せ（高さが増えるので） */
@supports (selector(:has(*))) {
  form.snow-monkey-form .smf-item:has([name=zip]) .smf-item__col--label {
    align-items: flex-start;
    padding-top: 22px;
  }
}
/* ラベル文字 */
form.snow-monkey-form .smf-item__label {
  margin: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

form.snow-monkey-form .smf-item__label__text {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #333;
}

/* 右：入力エリア */
form.snow-monkey-form .smf-item__col--controls {
  padding-top: 10px; /* 画像のように少し上が詰まる */
}

form.snow-monkey-form .smf-item__controls {
  display: grid;
  gap: 14px;
}

/* 入力見た目（薄グレー背景） */
form.snow-monkey-form .smf-text-control__control,
form.snow-monkey-form .smf-textarea-control__control,
form.snow-monkey-form .smf-select-control__control {
  width: 100%;
  background: #f4f4f4;
  border: 1px solid #f4f4f4;
  border-radius: 3px;
  padding: 14px 16px;
  font-size: 14px;
  outline: none;
  box-shadow: none;
}

form.snow-monkey-form .smf-text-control__control:focus,
form.snow-monkey-form .smf-textarea-control__control:focus,
form.snow-monkey-form .smf-select-control__control:focus {
  border-color: #d6d6d6;
  background: #fafafa;
}

/* -------------------------
  2カラム（姓/名、せい/めい）
------------------------- */
@media (min-width: 769px) {
  /* smf-item__controls の中に placeholder が2つ以上ある行を2カラム化 */
  @supports (selector(:has(*))) {
    form.snow-monkey-form .smf-item__controls:has(> .smf-placeholder:nth-child(2)) {
      grid-template-columns: 1fr 1fr;
      -moz-column-gap: 18px;
           column-gap: 18px;
      row-gap: 14px;
      align-items: start;
    }
  }
}
/* -------------------------
  住所ブロック（郵便番号だけ横並び＋注釈）
  ※ name="zip" がある行を住所とみなす
------------------------- */
@supports (selector(:has(*))) {
  form.snow-monkey-form .smf-item:has([name=zip]) .smf-item__controls {
    grid-template-columns: 1fr; /* 住所は縦積み */
    gap: 14px;
  }
  /* 郵便番号だけ 〒 + 入力 + 注釈 の並び感を作る */
  form.snow-monkey-form .smf-item:has([name=zip]) .smf-placeholder[data-name=zip] {
    display: grid;
    grid-template-columns: auto 260px 1fr;
    align-items: center;
    gap: 10px;
  }
  /* 〒 */
  form.snow-monkey-form .smf-item:has([name=zip]) .smf-placeholder[data-name=zip]::before {
    content: "〒";
    font-weight: 700;
    color: #333;
  }
  /* 「ハイフン無しで入力」 */
  form.snow-monkey-form .smf-item:has([name=zip]) .smf-placeholder[data-name=zip]::after {
    content: "ハイフン無しで入力";
    font-size: 14px;
    color: #b2b2b2;
  }
  /* 郵便番号入力は幅固定 */
  form.snow-monkey-form .smf-item:has([name=zip]) .smf-placeholder[data-name=zip] .smf-text-control__control {
    width: 260px;
  }
}
/* -------------------------
  チェックボックスの見た目（画像っぽく）
------------------------- */
form.snow-monkey-form .smf-checkboxes-control__control {
  display: grid;
  gap: 10px;
}

form.snow-monkey-form .smf-checkbox-control {
  align-items: center;
  gap: 10px;
}

form.snow-monkey-form .smf-checkbox-control__control {
  width: 16px;
  height: 16px;
  margin-top: 0;
  border-radius: 2px;
}

/* テキストエリア（画像は大きめ） */
form.snow-monkey-form textarea.smf-textarea-control__control {
  min-height: 180px;
}

/* -------------------------
  必須バッジ（黄色）
  ※ required 判定：data-validations に required を含む input がある行
------------------------- */
@supports (selector(:has(*))) {
  form.snow-monkey-form .smf-item:has([data-validations*=required]) .smf-item__label::after {
    content: "必須";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 4px;
    background: #f0bc0d; /* 画像の黄色 */
    color: #313131;
    line-height: 1;
  }
}
/* -------------------------
  同意（枠で囲う）
------------------------- */
@supports (selector(:has(*))) {
  form.snow-monkey-form .smf-item:has([name*=agree], [name*=privacy], [data-name*=agree]) .smf-item__col--controls {
    padding-top: 0;
  }
  form.snow-monkey-form .smf-placeholder[data-name*=checkboxes] {
    /* ほかのcheckbox行にも影響するので同意だけに絞りたい場合は下の「同意用クラス」推奨 */
  }
}
/* 同意行を画像みたいに大きい枠にしたい：checkbox行のうち一番下だけ想定 */
form.snow-monkey-form .smf-action {
  margin-top: 18px;
  text-align: center;
}

/* 送信ボタン（ゴールド） */
form.snow-monkey-form .smf-action .smf-button-control__control,
form.snow-monkey-form .smf-action input[type=submit],
form.snow-monkey-form .smf-action button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  cursor: pointer;
  width: min(380px, 100%);
  height: 56px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.08em;
  color: #fff;
  background: linear-gradient(90deg, #f3c300, #cfa449);
  position: relative;
}

/* 右の丸矢印（っぽいもの） */
form.snow-monkey-form .smf-action .smf-button-control__control::after,
form.snow-monkey-form .smf-action input[type=submit]::after,
form.snow-monkey-form .smf-action button::after {
  content: "›";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.75);
  display: grid;
  place-items: center;
  font-size: 18px;
}

/* SP */
@media (max-width: 768px) {
  form.snow-monkey-form .smf-item {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  form.snow-monkey-form .smf-item__col--label {
    min-height: auto;
    background: #666;
  }
  form.snow-monkey-form .smf-item__label__text {
    color: #fff;
  }
  @supports (selector(:has(*))) {
    form.snow-monkey-form .smf-item:has([name=zip]) .smf-placeholder[data-name=zip] {
      grid-template-columns: auto 1fr;
    }
    form.snow-monkey-form .smf-item:has([name=zip]) .smf-placeholder[data-name=zip]::after {
      grid-column: 1/-1;
      margin-top: 6px;
    }
    form.snow-monkey-form .smf-item:has([name=zip]) .smf-placeholder[data-name=zip] .smf-text-control__control {
      width: 100%;
    }
  }
}
/* ================================
   同意文（枠囲い） agreeBox  ※出力HTMLに合わせた完成版
   - 枠は .smf-placeholder[data-name="agre"] に付ける
   - チェック(左) + 説明文(右) の2カラム
================================ */
/* 全体の余白 */
.snow-monkey-form .agreeBox {
  margin-top: 24px;
}

/* ★枠：チェック＋説明文の「外側」 */
.snow-monkey-form .agreeBox .smf-placeholder[data-name=agre] {
  border: 1px solid #333;
  background: #fff;
  padding: 18px 20px;
  display: grid;
  align-items: center;
  grid-template-columns: 22px 1fr;
  -moz-column-gap: 14px;
       column-gap: 14px;
  position: relative;
}
.snow-monkey-form .agreeBox .smf-placeholder[data-name=agre] .smf-error-messages {
  position: absolute;
  bottom: 0;
  transform: translateY(100%);
}

/* 内側：SMFデフォルトの余白/枠を消す（枠は外側で持つため） */
.snow-monkey-form .agreeBox .smf-checkboxes-control {
  border: 0;
  padding: 0;
  background: transparent;
}

/* fieldset / legend の余白をリセット */
.snow-monkey-form .agreeBox .smf-control-fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.snow-monkey-form .agreeBox .smf-control-legend {
  display: none;
}

/* チェック部分（左列に固定） */
.snow-monkey-form .agreeBox .smf-checkboxes-control {
  grid-column: 1;
}

.snow-monkey-form .agreeBox .smf-checkboxes-control__control {
  margin: 0;
}

/* 説明文（右列に固定） */
.snow-monkey-form .agreeBox .smf-control-description {
  grid-column: 2;
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: #333;
}
@media (max-width: 500px) {
  .snow-monkey-form .agreeBox .smf-control-description {
    font-size: 15px;
  }
}

.snow-monkey-form .agreeBox.lesson .smf-control-description {
  grid-column: 2;
  margin: 0;
  font-size: 11px;
  line-height: 1.7;
  color: #333;
}

/* 「個人情報の取り扱いに同意します」は表示だけ消す（チェックは残す） */
.snow-monkey-form .agreeBox .smf-checkbox-control {
  position: relative;
}

.snow-monkey-form .agreeBox .smf-checkbox-control__label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 説明文リンク */
.snow-monkey-form .agreeBox .smf-control-description a {
  color: #b8962e;
  text-decoration: underline;
  font-weight: 600;
}
@media (max-width: 500px) {
  .snow-monkey-form .agreeBox .smf-control-description a {
    font-weight: bold;
  }
}

/* SP：チェックと説明を縦並びにする（見やすさ重視） */
@media (max-width: 768px) {
  .snow-monkey-form .agreeBox .smf-placeholder[data-name=agre] {
    grid-template-columns: 22px 1fr;
    padding: 16px 16px;
  }
}
.contact_wapper_top {
  background-color: #f9f9f9;
  margin-top: 70px;
  padding: 60px 0 120px;
}
.contact_wapper_top .contact_wapper_inner {
  background-color: #fff;
  max-width: 1060px;
  margin: 0 auto;
  padding: 60px 20px;
}
.contact_wapper_top .contact_wapper_inner .contact_wapper_txt {
  text-align: center;
  font-size: 14px;
  line-height: 2.4;
  margin-bottom: 45px;
}

.contact_flex_wapper .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 608px) {
  .contact_flex_wapper .wp-block-group__inner-container {
    flex-direction: column;
    align-items: flex-start;
  }
  .contact_flex_wapper .wp-block-group__inner-container .contact_flex .wp-block-group__inner-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 10px;
  }
}
.contact_flex_wapper .wp-block-group__inner-container .flex_txt01 {
  margin-right: 20px;
  font-weight: 700;
  min-width: 50px;
}

.inputbox {
  padding: 0 0 0 30px;
}

.program_txt_wapper {
  padding: 40px 0 40px 30px;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.1);
  width: 100%;
  background-color: #fff;
  margin-top: 20px;
}
@media (max-width: 820px) {
  .program_txt_wapper {
    width: 100%;
    max-width: 100%;
    top: auto;
    bottom: 0;
    padding: 40px 0 40px 30px;
    position: initial;
  }
}
.program_txt_wapper .name_txt {
  margin-bottom: 35px;
}
.program_txt_wapper .txt_top {
  margin-bottom: 20px;
}

body .is-layout-flex.reverse02 {
  flex-direction: row-reverse;
}
@media (max-width: 1024px) {
  body .is-layout-flex.reverse02 {
    flex-direction: column-reverse;
  }
}

/* =========================
  Lesson Lead (スクショの上部文章ブロック)
========================= */
.lessonLead {
  max-width: 1240px; /* 幅はお好みで */
  margin: 130px auto 0;
  padding: 14px 20px 0;
}
@media (max-width: 1024px) {
  .lessonLead {
    margin: 0px auto 0;
  }
}
@media (max-width: 600px) {
  .lessonLead {
    margin: 0px auto 0;
    padding-top: 0;
  }
}

/* 一番上の小さい1行 */
.lessonLead__note {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 2;
  font-weight: 600;
  color: #363636;
  letter-spacing: 0.2em;
}
@media (max-width: 820px) {
  .lessonLead__note {
    text-align: center;
    font-weight: bold;
  }
}

/* ゴールドの大見出し */
.lessonLead__title {
  margin: 0 0 18px;
  font-size: 26px; /* スクショの“太め大きめ” */
  line-height: 2.05;
  font-weight: 800;
  letter-spacing: 0.2em; /* 文字間を少し広め */
  color: #b38b33; /* ゴールド */
}
@media (max-width: 820px) {
  .lessonLead__title {
    text-align: center;
  }
}

/* 下の説明（小さめ・太め） */
.lessonLead__desc {
  margin: 0;
  font-size: 14px;
  line-height: 2.2;
  font-weight: 700;
  color: #363636;
  letter-spacing: 0.2em;
}
@media (max-width: 820px) {
  .lessonLead__desc {
    text-align: center;
  }
}

/* SP微調整 */
@media (max-width: 600px) {
  .lessonLead__title {
    font-size: 20px;
    line-height: 1.9;
    letter-spacing: 0.06em;
  }
  .lessonLead__note,
.lessonLead__desc {
    font-size: 15px;
  }
}
/* =========================
  LA TOWA メソッド
========================= */
.method {
  padding: 80px 20px;
  background: #fff;
}

.method__inner {
  max-width: 1240px;
  margin: 0 auto;
}

.method__inner .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 820px) {
  .method__inner .wp-block-group__inner-container {
    display: flex;
    flex-direction: column-reverse;
  }
}

.method__inner .wp-block-group__inner-container .wp-block-group__inner-container {
  display: block;
}

/* ---------- 左テキスト ---------- */
.method__content {
  max-width: 520px;
}

.method__kicker {
  margin: 0 0 18px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #a57a43;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media (max-width: 600px) {
  .method__kicker {
    font-size: 16px;
  }
}
.method__kicker::before {
  content: "";
  display: block;
  background-image: url(../img/icon-2.png);
  width: 27px;
  height: 32px;
  background-size: contain;
}

.method__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid #b38b33;
  font-size: 14px;
  font-weight: 700;
}

.method__title {
  margin: 0 0 22px;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #363636;
  display: flex;
  align-items: center;
}
@media (max-width: 600px) {
  .method__title {
    font-size: 18px;
  }
}
.method__title::before {
  content: "";
  display: block;
  width: 28px;
  height: 3px;
  background-color: #000;
  margin-right: 15px;
}

.method__text {
  margin: 0;
  font-size: 14px;
  line-height: 2.1;
  color: #222;
  font-weight: 500;
  margin-bottom: 20px;
}
@media (max-width: 600px) {
  .method__text {
    font-size: 15px;
    font-weight: bold;
  }
}

.method__text_btn img {
  box-shadow: 3px 14px 57px rgba(0, 0, 0, 0.16);
}

/* ---------- 右画像 ---------- */
.method__image {
  margin: 0;
  overflow: hidden;
  box-shadow: 3px 14px 57px rgba(0, 0, 0, 0.16);
}

.method__image img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---------- SP対応 ---------- */
@media (max-width: 900px) {
  .method__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .method__content {
    max-width: 100%;
  }
  .method__title {
    font-size: 22px;
  }
}
/* =========================
  GOLD TABLE
========================= */
.goldTable {
  padding: 40px 20px 60px;
  background: #f9f9f9;
}
.goldTable.bknon {
  background-color: #fff;
}

.goldTable_ttl {
  max-width: 1200px;
  margin: 0 auto 20px;
  font-size: 24px;
  font-weight: 900;
  color: #a57a43;
}
@media (max-width: 600px) {
  .goldTable_ttl {
    font-size: 18px;
  }
}

.goldTable__inner {
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 0;
  overflow: hidden;
  background-color: #b99622;
}

/* 1行 */
.goldTable__row .wp-block-group__inner-container {
  margin: 0;
  display: grid;
  grid-template-columns: 320px 1fr;
  align-items: center;
  min-height: 120px; /* 行の高さ（スクショっぽく） */
}
@media (max-width: 820px) {
  .goldTable__row .wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
  }
}

/* 行の区切り */
.goldTable__row + .goldTable__row {
  border-top: 1px solid rgba(255, 255, 255, 0.55);
}

/* 左カラム（項目） */
.goldTable__th {
  margin: 0;
  height: 100%;
  /*display: grid;
  place-items: center;*/
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 24px 18px;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.14em;
  font-size: 14px;
  border-right: 2px solid rgba(255, 255, 255, 0.85); /* 縦ライン */
  background-color: #f0bc0d;
}

@media (max-width: 820px) {
  .goldTable__th {
    width: 100%;
    border-right: none;
    font-size: 15px;
  }
}

/* 右カラム（内容） */
.goldTable__td {
  margin: 0;
  padding: 26px 34px;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.06em;
  line-height: 1.9;
}
.goldTable__td strong {
  font-weight: 700;
  color: #fff;
  background-color: #691515;
  padding: 2px 10px;
  border-radius: 5px;
}
@media (max-width: 600px) {
  .goldTable__td strong {
    padding: 2px 5px;
    font-size: 15px;
  }
}

/* SP */
@media (max-width: 768px) {
  .goldTable__row {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .goldTable__th {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.55);
    font-size: 15px;
    padding: 18px 16px;
  }
  .goldTable__td {
    font-size: 15px;
    padding: 18px 16px;
  }
}
/* =========================
  LESSON INFO 2COL
========================= */
.lessonInfo {
  padding: 60px 20px 80px;
  background: #fff;
}

.lessonInfo__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.lessonInfo__inner .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 64px; /* カード間の余白（スクショ広め） */
  align-items: start;
}
@media (max-width: 820px) {
  .lessonInfo__inner .wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
  }
}

.lessonInfo__inner .wp-block-group__inner-container .wp-block-group__inner-container {
  display: block;
}

/* カード */
.lessonCard {
  border: 1px solid #b89a77;
  background: #fff;
}
@media (max-width: 820px) {
  .lessonCard {
    width: 100%;
  }
}
.lessonCard.blun {
  border: 1px solid #715c41;
}

/* 上の茶帯 */
.lessonCard__head {
  margin: 0;
  padding: 26px 18px;
  text-align: center;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.18em;
  color: #fff;
  background: #a57a43;
}
.lessonCard__head.blun {
  background: #715c41;
}

/* 本文枠 */
.lessonCard__body {
  padding: 44px 56px;
  min-height: 210px; /* 高さを揃えてスクショ感 */
  display: grid;
  place-items: center; /* 左カードの中央寄せにも効く */
}

/* 左：文章 */
.lessonCard__text {
  margin: 0;
  text-align: center;
  font-size: 14px;
  line-height: 2.4;
  font-weight: 600;
  color: #222;
  letter-spacing: 0.06em;
}
@media (max-width: 600px) {
  .lessonCard__text {
    font-weight: bold;
    font-size: 15px;
  }
}
.lessonCard__text strong {
  border-bottom: 1px solid #a97f4a;
  font-weight: 600;
}
@media (max-width: 500px) {
  .lessonCard__text strong {
    font-weight: bold;
    font-size: 15px;
  }
}

/* 右：リスト */
.lessonCard__list {
  margin: 0;
  padding-left: 1.2em; /* ・の位置 */
  font-size: 14px;
  line-height: 2.4;
  font-weight: 600;
  color: #222;
  letter-spacing: 0.06em;
  justify-self: start; /* リストは左寄せ（スクショ） */
}
@media (max-width: 600px) {
  .lessonCard__list {
    font-weight: bold;
  }
}
.lessonCard__list li {
  list-style: disc;
}

/* SP */
@media (max-width: 900px) {
  .lessonInfo__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .lessonCard__body {
    padding: 28px 18px;
    min-height: auto;
    place-items: start;
  }
  .lessonCard__text {
    text-align: left;
  }
}
.lesson_ttl02_wapper {
  background-color: #f0bc0d;
  padding: 80px 0;
}
.lesson_ttl02_wapper .lesson_ttl02_en {
  max-width: 439px;
  margin: 0 auto;
}
.lesson_ttl02_wapper .lesson_ttl02_txt {
  text-align: center;
  font-size: 24px;
  line-height: 1.5;
  color: #fff;
  font-weight: 800;
  margin-top: 25px;
}
@media (max-width: 820px) {
  .lesson_ttl02_wapper .lesson_ttl02_txt {
    padding: 0 20px;
  }
}
@media (max-width: 600px) {
  .lesson_ttl02_wapper .lesson_ttl02_txt {
    font-size: 18px;
  }
}

.lesson_contact {
  background-color: #f9f9f9;
  padding: 90px 0;
  margin-top: 50px;
}
.lesson_contact .voicesHead {
  margin-top: 0;
  margin-bottom: 100px;
}
@media (max-width: 820px) {
  .lesson_contact .voicesHead {
    height: 110px;
    width: 80%;
    font-size: 24px;
  }
}
@media (max-width: 820px) {
  .lesson_contact .voicesHead {
    height: 80px;
    width: 90%;
    font-size: 18px;
  }
}
.lesson_contact .contact_wapper_inner {
  background-color: #fff;
  max-width: 1060px;
  margin: 0 auto;
  padding: 80px;
}
@media (max-width: 600px) {
  .lesson_contact .contact_wapper_inner {
    padding: 20px;
  }
}
.lesson_contact .contact_wapper_inner .contact_wapper_txt {
  text-align: center;
  margin-bottom: 50px;
}

.privacy_box {
  max-width: 1240px;
  margin: 50px auto;
  padding: 0 20px;
  line-height: 2;
}
.privacy_box .privacy_box_top {
  margin-bottom: 30px;
}
.privacy_box .privacy_box_inner {
  margin-bottom: 30px;
}
.privacy_box .privacy_box_inner .privacy_box_ttl {
  font-weight: bold;
  margin-bottom: 10px;
}

.under-v {
  display: none;
}

.nav_select {
  display: none;
}

.news-page {
  margin: 100px 0;
}
@media (max-width: 1024px) {
  .news-page {
    margin: 20px 0;
  }
}
@media (max-width: 600px) {
  .news-page {
    margin: 0px 0 20px;
  }
}

.entry_category {
  background-color: #f0bc0d;
  color: #fff;
}

form[data-screen=confirm] .contact_flex_wapper .wp-block-group__inner-container {
  justify-content: flex-start;
  gap: 20px;
}
form[data-screen=confirm] .agreeBox .smf-placeholder[data-name=agre] {
  display: none !important;
}
form[data-screen=confirm] .smf-item:has([name=zip]) .smf-placeholder[data-name=zip]::after {
  display: none !important;
}
form[data-screen=confirm] .smf-action .smf-button-control + .smf-button-control {
  margin-left: 0;
}

@media (max-width: 820px) {
  form.snow-monkey-form .smf-action .smf-button-control__control,
form.snow-monkey-form .smf-action input[type=submit],
form.snow-monkey-form .smf-action button {
    margin-bottom: 20px !important;
  }
}

.smf-button-control__control[data-action=back] {
  background: #666 !important;
}

.loopMarquee {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding-left: 25px;
  padding-right: 25px;
  box-sizing: border-box;
}

.loopMarquee__track {
  display: flex;
  gap: 0; /* 余白が欲しければ 10px などに */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
}

.loopMarquee__item {
  flex: 0 0 auto;
  display: block;
  width: 270px; /* PCの1枚幅 */
  padding-left: 25px;
  box-sizing: border-box;
}

.loopMarquee__item img {
  display: block;
  width: 100%;
  height: auto;
}

/* タブレット */
@media (max-width: 1100px) {
  .loopMarquee__item {
    width: 180px;
  }
}
/* スマホ */
@media (max-width: 710px) {
  .loopMarquee__item {
    width: 140px;
  }
}
.loopMarquee {
  width: calc(100% - 25px);
  overflow: hidden;
  position: relative;
  margin-top: 100px;
  margin-bottom: -20px;
}

/* WPの inner-container をトラックにする */
.loopMarquee > .wp-block-group__inner-container {
  display: flex;
  gap: 0; /* 余白欲しければ 10px など */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
}

/* 1枚の幅（お好みで） */
.loopMarquee__item {
  flex: 0 0 auto;
  width: 280px; /* PC */
  margin: 0; /* figureの余白を消す */
}

.loopMarquee__item img {
  display: block;
  width: 100%;
  height: auto;
}

/* タブレット */
@media (max-width: 1100px) {
  .loopMarquee__item {
    width: 180px;
  }
}
/* スマホ */
@media (max-width: 710px) {
  .loopMarquee__item {
    width: 140px;
  }
}
.completion {
  padding: 0px 0 20px;
}

a.sp-disable {
  color: #000;
}

@media (min-width: 767px) {
  a.sp-disable {
    pointer-events: none; /* クリック・タップ無効 */
  }
}
@media (max-width: 1024px) {
  .voicesHead__title {
    font-size: 26px;
  }
}
@media (max-width: 600px) {
  .voicesHead__title {
    font-size: 18px;
  }
}
@media (max-width: 600px) {
  .voicesHead {
    height: 80px;
    width: 90%;
  }
}
/* 画像 morebtn-1.png 相当（223×38px） */
.moreBtn_01 {
  margin: 0;
}
.moreBtn_01.center {
  text-align: center;
}
.moreBtn_01.mt20 {
  margin-top: 20px;
}
@media (max-width: 500px) {
  .moreBtn_01.rental a {
    width: 100%;
  }
}

.moreBtn_01 a {
  /* サイズ（画像どおり） */
  width: 350px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  /* 見た目 */
  color: #fff;
  text-decoration: none;
  background: linear-gradient(90deg, #f0bc0e 0%, #d0a154 100%);
  /* 文字 */
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1;
  /* 余計な枠/影を出さない */
  border: none;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
  transition: filter 0.2s ease, transform 0.2s ease;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.14);
}
@media (max-width: 500px) {
  .moreBtn_01 a {
    font-weight: bold;
  }
}
@media (max-width: 500px) {
  .moreBtn_01 a {
    width: 90%;
    height: 50px;
    min-width: 250px;
    font-size: 15px;
  }
}

/* 右の丸＋矢印 */
.moreBtn_01 a::after {
  content: "";
  width: 14px;
  height: 14px;
  border: 1px solid #fff;
  border-radius: 50%;
  position: relative;
  flex: 0 0 auto;
}

/* 矢印（>） */
.moreBtn_01 a::before {
  content: "";
  width: 4px;
  height: 4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  /* 「右の丸」の中央に配置 */
  position: relative;
  left: 111.5px; /* いったん無効化（下で絶対配置に変更） */
}

/* beforeを丸の中に正確に入れるため、aを基準に絶対配置 */
.moreBtn_01 a {
  position: relative;
}

.moreBtn_01 a::before {
  position: absolute;
  right: 24px;
  left: auto;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.moreBtn_01 a::after {
  position: absolute;
  right: 18px; /* 丸の位置 */
  top: 50%;
  transform: translateY(-50%);
}

/* hover（ほんの少しだけ明るく） */
.moreBtn_01 a:hover {
  opacity: 0.7;
}

/* SP：幅を可変にしたい場合はここをON（固定223pxのままで良ければ不要） */
/*
@media (max-width: 480px){
  .moreBtn_01 a{
    width: auto;
    padding: 0 18px;
  }
  .moreBtn_01 a::after{ right: 14px; }
  .moreBtn_01 a::before{ right: 19px; }
}
*/
@media (max-width: 600px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    width: 100%;
  }
}
/* ===============================
   TOP バナー（画像完全一致）
=============================== */
.topBana01 {
  position: relative;
  width: 100%;
  max-width: 915px; /* 元画像幅 */
  aspect-ratio: 915/320; /* 元画像比率 */
  margin-inline: auto;
  background-image: url("../img/topbaner.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.1);
  margin-top: 100px;
}
@media (max-width: 920px) {
  .topBana01 {
    width: 90%;
  }
}
@media (max-width: 600px) {
  .topBana01 {
    background-image: url("../img/topbaner_sp.png");
    aspect-ratio: 375/200;
    width: 94%;
    margin-top: 30px;
  }
}

/* WP Block の余白リセット */
.topBana01 .wp-block-group__inner-container {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  padding-bottom: 50px;
}
.topBana01 .wp-block-group__inner-container .topBana01_txt01 {
  font-size: 54px;
  color: #67592c;
  letter-spacing: 0;
  font-weight: bold;
  padding-top: 100px;
}
@media (max-width: 700px) {
  .topBana01 .wp-block-group__inner-container .topBana01_txt01 {
    font-size: 38px;
  }
}
@media (max-width: 600px) {
  .topBana01 .wp-block-group__inner-container .topBana01_txt01 {
    font-size: 32px;
    padding-top: 50px;
  }
}
.topBana01 .wp-block-group__inner-container .topBana01_txt02 {
  font-size: 32px;
  color: #67592c;
  letter-spacing: 0;
  font-weight: bold;
  padding-bottom: 20px;
}
@media (max-width: 700px) {
  .topBana01 .wp-block-group__inner-container .topBana01_txt02 {
    font-size: 21px;
  }
}
@media (max-width: 600px) {
  .topBana01 .wp-block-group__inner-container .topBana01_txt02 {
    font-size: 16px;
    padding-bottom: 10px;
  }
}
@media (max-width: 600px) {
  .topBana01 .wp-block-group__inner-container {
    padding-bottom: 20px;
  }
}

/* ===== ボタン（透明リンク） ===== */
.topBana01__cta {
  position: absolute;
  margin: 0;
  /* ▼ 画像のボタン位置に完全一致させた数値 */
  left: 37.8%;
  top: 69.4%;
  width: 24.3%;
  height: 11.6%;
}

.topBana01__cta a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  /* 見た目は画像に任せる */
  background: transparent;
  color: transparent;
  text-decoration: none;
  /* iOSハイライト除去 */
  -webkit-tap-highlight-color: transparent;
}

/* キーボード操作時のみ可視化（アクセシビリティ） */
.topBana01__cta a:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.9);
  outline-offset: 4px;
}

.site-global-header #drawer {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.site-global-header #drawer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.is-locked {
  overflow: hidden;
}

.drawer__close {
  cursor: pointer;
}

.ctaCard {
  position: relative;
}
.ctaCard::after {
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  background-image: url(../img/btnarrow.png);
  position: absolute;
  right: 15px;
  bottom: 10px;
  background-size: contain;
}
@media (max-width: 768px) {
  .ctaCard::after {
    width: 15px;
    height: 15px;
  }
}
.ctaCard.bk01 {
  background-image: url(../img/bk01.png);
}
.ctaCard.bk02 {
  background-image: url(../img/bk02.png);
}
.ctaCard .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px;
  background: var(--cta-bg);
  color: var(--cta-text);
  text-decoration: none;
  position: relative;
  min-height: 150px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .ctaCard .wp-block-group__inner-container {
    min-height: initial;
  }
}
.ctaCard .wp-block-group__inner-container .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0px;
  width: 100%;
}

/* 左画像 */
.ctaCard__img {
  width: 25%;
  flex: 0 0 auto;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.12);
}

.ctaCard__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

/* 右側テキスト */
.ctaCard__body {
  flex: 1 1 auto;
  min-width: 0;
}

.ctaCard__title {
  margin: 0;
  font-family: "Georgia", "Times New Roman", serif; /* 近い雰囲気 */
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  border-bottom: 2px solid #fff;
  padding-bottom: 10px;
  color: #fff;
  width: 100%;
}
@media (max-width: 768px) {
  .ctaCard__title {
    font-size: 21px;
  }
}
.ctaCard__title.mini {
  font-size: 20px;
}
@media (max-width: 768px) {
  .ctaCard__title.mini {
    font-size: 14px;
  }
}
.ctaCard__title a {
  color: #fff;
}

.ctaCard__line {
  display: block;
  width: min(420px, 100%);
  height: 2px;
  background: rgba(255, 255, 255, 0.8);
  margin: 14px 0 12px;
}

.ctaCard__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  font-weight: 600;
  margin-top: -5px;
  color: #fff;
}
@media (max-width: 768px) {
  .ctaCard__text {
    font-size: 14px;
  }
}
.ctaCard__text a {
  color: #fff;
}

/* 右端の丸矢印 */
.ctaCard__icon {
  width: 34px;
  height: 34px;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  flex: 0 0 auto;
  position: relative;
}

.ctaCard__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 7px;
  height: 7px;
  border-right: 2px solid rgba(255, 255, 255, 0.95);
  border-top: 2px solid rgba(255, 255, 255, 0.95);
  transform: translateX(1px) rotate(45deg);
}

/* hover */
.ctaCard:hover {
  filter: brightness(1.05);
}

.ctaCard:hover .ctaCard__icon {
  transform: translateX(2px);
  transition: transform 0.18s ease;
}

/* SP：縦並び */
@media (max-width: 768px) {
  .ctaGrid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .ctaCard {
    min-height: 0;
  }
  .wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open {
    display: none !important;
  }
  .wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close {
    display: none !important;
  }
  .wp-block-navigation__responsive-container {
    display: block !important;
    position: initial !important;
  }
}
.wp-block-group.brandInfo {
  box-sizing: border-box;
  overflow: hidden;
}

.sp_txt_01 {
  display: none;
  border: 6px solid #9a733f;
  color: #9a733f;
  margin-bottom: 50px;
  text-align: center;
  padding: 20px 0;
  font-weight: bold;
  font-size: 24px;
}
@media (max-width: 960px) {
  .sp_txt_01 {
    display: block;
  }
}

.pc_hide_arrow {
  display: none;
}
@media (max-width: 600px) {
  .pc_hide_arrow {
    display: block;
  }
}

@media (max-width: 600px) {
  .sp_hide_arrow {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */

/* recapture非表示 */
.grecaptcha-badge { visibility: hidden; }