@charset "UTF-8";
/* =========================================================
   ILCHI Second Layer CSS - Organized
   対象：固定ページ2階層目
   対象 body class：
   - 共通：ilchi-second-layer-page
   - studio：ilchi-second-layer-studio
   - program：ilchi-second-layer-program
   - faq：ilchi-second-layer-faq
   - company：ilchi-second-layer-company
   - privacy：ilchi-second-layer-privacy
   - sitemap：ilchi-second-layer-sitemap
   - otoiawase：ilchi-second-layer-otoiawase
   - contact：ilchi-second-layer-contact（必要時。お問い合わせと同じCSS）
   注意：
   - body class は ilchi-lp-css.php 側で付与する
   - このCSSファイルにはPHPを書かない
   - studio / program / faq / company / privacy / sitemap / otoiawase 完成時点の整理版
========================================================= */
/* =========================================================
   00. 2階層目 共通
========================================================= */
body.ilchi-second-layer-page .mainSection {
  line-height: 1.9;
}
body.ilchi-second-layer-page .mainSection,
body.ilchi-second-layer-page .mainSection *,
body.ilchi-second-layer-page .mainSection *::before,
body.ilchi-second-layer-page .mainSection *::after {
  box-sizing: border-box;
}
body.ilchi-second-layer-page .mainSection p { margin-bottom: 1.35em; }
body.ilchi-second-layer-page .mainSection img, body.ilchi-second-layer-page .mainSection iframe { max-width: 100%; }
body.ilchi-second-layer-page .mainSection img { height: auto; }
body.ilchi-second-layer-page .mainSection a { text-decoration: none; }
body.ilchi-second-layer-page .mainSection a:hover { text-decoration: underline; }
@media (max-width: 767px) {
  body.ilchi-second-layer-page .mainSection { font-size: 14px; line-height: 1.85; }
}
/* =========================================================
   01. 共通パーツ：ページ内リンク・見出し・小ラベル
   対象：studio / program
========================================================= */
/* ページ内リンク */
body.ilchi-second-layer-studio .mainSection .ilchi-page-anchor-nav,
body.ilchi-second-layer-program .mainSection .ilchi-page-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 42px;
  padding: 0;
  background: transparent;
  border: none;
}
body.ilchi-second-layer-studio .mainSection .ilchi-page-anchor-nav a,
body.ilchi-second-layer-program .mainSection .ilchi-page-anchor-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 16px;
  background: #fff;
  border: 1px solid #f0b899;
  border-radius: 999px;
  color: #1f6fb2;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(120, 70, 30, 0.06);
}
body.ilchi-second-layer-studio .mainSection .ilchi-page-anchor-nav a:hover,
body.ilchi-second-layer-program .mainSection .ilchi-page-anchor-nav a:hover {
  background: #fff1e8;
  border-color: #f28f5b;
  color: #d95f24;
  text-decoration: none;
}
/* セクション見出し */
body.ilchi-second-layer-studio .mainSection .ilchi-section-title,
body.ilchi-second-layer-program .mainSection .ilchi-section-title {
  display: flex;
  align-items: center;
  margin: 52px 0 28px;
  padding: 14px 18px;
  background: #fff7f2;
  border: none !important;
  border-left: 6px solid #f26a21 !important;
  border-radius: 10px;
  color: #e85f1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: 0 4px 14px rgba(120, 70, 30, 0.06);
}
body.ilchi-second-layer-studio .mainSection .ilchi-section-title::before, body.ilchi-second-layer-program .mainSection .ilchi-section-title::before { content: none !important; }
/* 英字ラベル */
body.ilchi-second-layer-studio .mainSection .ilchi-card-label,
body.ilchi-second-layer-program .mainSection .ilchi-card-label {
  margin: 0 0 6px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
/* =========================================================
   02. studioページ：基本レイアウト ========================================================= */ body.ilchi-second-layer-studio .siteContent { padding-top: 42px; }
body.ilchi-second-layer-studio .siteContent .container, body.ilchi-second-layer-studio .siteContent .container-fluid { max-width: 1160px !important; }
body.ilchi-second-layer-studio .siteContent .mainSection {
  float: none !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}
body.ilchi-second-layer-studio .mainSection { font-size: 15px; line-height: 1.9; }
/* 旧HTMLのinline見出しが残った場合の保険 */
body.ilchi-second-layer-studio .mainSection span[style*="color"] strong { border-top: none !important; border-bottom: none !important; }
/* =========================================================
   03. studioページ：共通カード
========================================================= */
body.ilchi-second-layer-studio .mainSection .ilchi-studio-card {
  margin: 0 0 56px;
  padding: 34px;
  background: #fff;
  border: 1px solid #f3dfd4;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08);
}
body.ilchi-second-layer-studio .mainSection .ilchi-studio-card h3 {
  margin: 0 0 18px;
  color: #222;
  font-size: 22px;
  line-height: 1.5;
}
/* =========================================================
   04. studioページ：スタッフ紹介
========================================================= */
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__role {
  margin: 0 0 24px;
  color: #333;
  font-size: 17px;
  font-weight: 700;
}
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__inner {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 34px;
  align-items: start;
}
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__photo { margin: 0; }
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__photo img {
  display: block;
  width: 100%;
  height: auto;
  float: none !important;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__body h3 {
  margin: 0 0 18px;
  color: #222;
  font-size: 22px;
  line-height: 1.5;
}
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__lead {
  margin: 0 0 16px;
  color: #555;
  font-weight: 700;
}
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__body ul {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__body li {
  position: relative;
  margin: 0 0 8px;
  padding-left: 1.2em;
}
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__body li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 7px;
  height: 7px;
  background: #f26a21;
  border-radius: 50%;
}
body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__body h4 {
  margin: 24px 0 12px;
  color: #f26a21;
  font-size: 17px;
  font-weight: 700;
}
/* =========================================================
   05. studioページ：スタジオ紹介 ========================================================= */ body.ilchi-second-layer-studio .mainSection .ilchi-intro-card { margin-bottom: 64px; }
body.ilchi-second-layer-studio .mainSection .ilchi-intro-card__head {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid #f3dfd4;
}
body.ilchi-second-layer-studio .mainSection .ilchi-intro-card__label {
  margin: 0 0 6px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
body.ilchi-second-layer-studio .mainSection .ilchi-intro-card__head h3 {
  margin: 0;
  color: #222;
  font-size: 22px;
  line-height: 1.5;
}
body.ilchi-second-layer-studio .mainSection .ilchi-studio-info {
  margin: 0 0 32px;
  padding: 22px 24px;
  background: #fff8f3;
  border: 1px solid #f3dfd4;
  border-radius: 16px;
}
body.ilchi-second-layer-studio .mainSection .ilchi-studio-info dl { margin: 0; }
body.ilchi-second-layer-studio .mainSection .ilchi-studio-info dl > div {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  align-items: start;
  margin: 0 0 10px;
}
body.ilchi-second-layer-studio .mainSection .ilchi-studio-info dl > div:last-child { margin-bottom: 0; }
body.ilchi-second-layer-studio .mainSection .ilchi-studio-info dt { color: #f26a21; font-weight: 700; }
body.ilchi-second-layer-studio .mainSection .ilchi-studio-info dd { margin: 0; }
body.ilchi-second-layer-studio .mainSection .ilchi-intro-section { margin-top: 34px; }
body.ilchi-second-layer-studio .mainSection .ilchi-intro-section h4 {
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 4px solid #f26a21;
  color: #333;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}
body.ilchi-second-layer-studio .mainSection .ilchi-intro-section p { margin-bottom: 1.35em; }
body.ilchi-second-layer-studio .mainSection .ilchi-benefit-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 22px;
}
body.ilchi-second-layer-studio .mainSection .ilchi-benefit-item {
  padding: 22px;
  background: #fffaf7;
  border: 1px solid #f3dfd4;
  border-radius: 18px;
}
body.ilchi-second-layer-studio .mainSection .ilchi-benefit-item h5 {
  margin: 0 0 12px;
  color: #f26a21;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
body.ilchi-second-layer-studio .mainSection .ilchi-benefit-item p { margin: 0; line-height: 1.8; }
/* =========================================================
   06. studioページ：アクセス
========================================================= */
body.ilchi-second-layer-studio .mainSection .ilchi-access-card__body {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr) !important;
  gap: 36px !important;
  align-items: start !important;
}
body.ilchi-second-layer-studio .mainSection .ilchi-access-card__text { min-width: 0; }
body.ilchi-second-layer-studio .mainSection .ilchi-access-card__text p { margin-bottom: 1.25em; }
body.ilchi-second-layer-studio .mainSection .ilchi-map-wrap {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08) !important;
}
body.ilchi-second-layer-studio .mainSection .ilchi-map-wrap iframe {
  display: block !important;
  width: 100% !important;
  height: 380px !important;
  border: 0 !important;
}
/* =========================================================
   07. studioページ：フォトギャラリー・営業時間 ========================================================= */ body.ilchi-second-layer-studio .mainSection .ilchi-gallery-card { text-align: center; }
body.ilchi-second-layer-studio .mainSection .ilchi-gallery-card .ilchi-card-label,
body.ilchi-second-layer-studio .mainSection .ilchi-gallery-card h3,
body.ilchi-second-layer-studio .mainSection .ilchi-gallery-card p {
  text-align: left;
}
body.ilchi-second-layer-studio .mainSection .ilchi-gallery-wrap { max-width: 760px; margin: 26px auto 0 !important; }
body.ilchi-second-layer-studio .mainSection .ilchi-gallery-wrap img { border-radius: 16px; }
body.ilchi-second-layer-studio .mainSection .ilchi-gallery-wrap .metaslider,
body.ilchi-second-layer-studio .mainSection .ilchi-gallery-wrap .metaslider .slides,
body.ilchi-second-layer-studio .mainSection .ilchi-gallery-wrap img {
  margin-left: auto !important;
  margin-right: auto !important;
}
body.ilchi-second-layer-studio .mainSection .ilchi-hours-card { margin-top: -24px; }
body.ilchi-second-layer-studio .mainSection .ilchi-hours-list { margin: 22px 0 0; }
body.ilchi-second-layer-studio .mainSection .ilchi-hours-list div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid #f3dfd4;
}
body.ilchi-second-layer-studio .mainSection .ilchi-hours-list div:last-child { border-bottom: none; }
body.ilchi-second-layer-studio .mainSection .ilchi-hours-list dt { color: #f26a21; font-weight: 700; }
body.ilchi-second-layer-studio .mainSection .ilchi-hours-list dd { margin: 0; }
body.ilchi-second-layer-studio .mainSection .ilchi-hours-list dd span { color: #777; font-size: 0.92em; }

/* =========================================================
   studioページ：営業時間見出しの上余白調整
========================================================= */

body.ilchi-second-layer-studio h2#hours.ilchi-section-title {
  margin-top: 56px !important;
}
/* =========================================================
   札幌 studio：フォトギャラリー下〜営業時間見出しの余白調整
   .mainSection あり環境用
========================================================= */

body.ilchi-second-layer-studio .mainSection .ilchi-gallery-card,
body.ilchi-second-layer-studio .entry-body .ilchi-gallery-card,
body.ilchi-second-layer-studio .entry-content .ilchi-gallery-card {
  margin-bottom: 72px !important;
}

body.ilchi-second-layer-studio .mainSection .ilchi-gallery-card + h2#hours.ilchi-section-title,
body.ilchi-second-layer-studio .entry-body .ilchi-gallery-card + h2#hours.ilchi-section-title,
body.ilchi-second-layer-studio .entry-content .ilchi-gallery-card + h2#hours.ilchi-section-title {
  margin-top: 0 !important;
}

/* 念のため、営業時間見出し自体にも上余白を確保 */
body.ilchi-second-layer-studio .mainSection h2#hours.ilchi-section-title,
body.ilchi-second-layer-studio .entry-body h2#hours.ilchi-section-title,
body.ilchi-second-layer-studio .entry-content h2#hours.ilchi-section-title {
  margin-bottom: 22px !important;
}

/* =========================================================
   08. studioページ：レッスンスケジュール
========================================================= */
body.ilchi-second-layer-studio .mainSection .ilchi-table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card { padding: 28px 28px 34px; }
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card .ilchi-card-label {
  margin-bottom: 8px;
  color: #b46a43;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card h3 {
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eedfd7;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card > p {
  margin: 0 0 22px;
  color: #444;
  line-height: 1.8;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table {
  width: 100%;
  min-width: 760px;
  margin: 0;
  border: 1px solid #eadfd8;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 14px;
  table-layout: fixed;
  overflow: hidden;
  background: #fff;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table th,
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table td {
  padding: 14px 10px;
  border-right: 1px solid #eadfd8;
  border-bottom: 1px solid #eadfd8;
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 14px;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table tr > *:last-child { border-right: none; }
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table tbody tr:last-child > * { border-bottom: none; }
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table thead th {
  background: #fff1e8;
  color: #333;
  font-weight: 700;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table thead th:first-child {
  width: 170px;
  background: #fff7f2;
  text-align: left;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table tbody th {
  width: 170px;
  background: #fffaf7;
  color: #333;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
  word-break: keep-all;
  font-variant-numeric: tabular-nums;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table td {
  color: #f26a21;
  font-size: 20px;
  font-weight: 700;
}
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table tbody tr:hover th,
body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table tbody tr:hover td {
  background: #fffdfa;
}
/* =========================================================
   09. studioページ：料金表
========================================================= */
body.ilchi-second-layer-studio .mainSection .ilchi-price-card {
  margin-bottom: 64px;
  padding: 30px 32px 36px;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-card h3 {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eadfd8;
  font-size: 21px;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-card > p { margin-bottom: 20px; color: #444; }
body.ilchi-second-layer-studio .mainSection .ilchi-entry-fee {
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  margin: 22px 0 34px;
  padding: 18px 24px;
  background: #fffdfb;
  border: 1px solid #eadfd8;
  border-radius: 18px;
}
body.ilchi-second-layer-studio .mainSection .ilchi-entry-fee__label {
  display: inline-flex;
  width: fit-content;
  min-width: 0;
  margin: 0 0 12px;
  padding: 6px 14px;
  background: #65cfc6;
  color: #fff;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
body.ilchi-second-layer-studio .mainSection .ilchi-entry-fee__body {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 26px;
  padding: 0;
  text-align: left;
}
body.ilchi-second-layer-studio .mainSection .ilchi-entry-fee__body strong {
  min-width: 110px;
  color: #222;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.4;
}
body.ilchi-second-layer-studio .mainSection .ilchi-entry-fee__body span {
  color: #d73a26;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-table {
  width: 100%;
  min-width: 780px;
  margin: 0;
  border: 1px solid #eadfd8;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  table-layout: fixed;
  overflow: hidden;
  background: #fff;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-table th,
body.ilchi-second-layer-studio .mainSection .ilchi-price-table td {
  padding: 15px 14px;
  border-right: 1px solid #eadfd8;
  border-bottom: 1px solid #eadfd8;
  text-align: center;
  vertical-align: middle;
  line-height: 1.6;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-table tr > *:last-child { border-right: none; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-table tbody tr:last-child > * { border-bottom: none; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-table thead th {
  background: #65cfc6;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-table thead th:nth-child(1) { width: 15%; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-table thead th:nth-child(2) { width: 15%; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-table thead th:nth-child(3) { width: 28%; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-table thead th:nth-child(4) { width: 42%; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-table tbody th {
  color: #333;
  font-size: 16px;
  font-weight: 700;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-amount {
  color: #222;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-table td:last-child {
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.75;
  text-align: left;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-table td:last-child span { display: block; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-table td:last-child span:not(.ilchi-price-note) { color: #333; font-size: 14px; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-note {
  display: inline-block !important;
  margin-bottom: 6px;
  padding: 3px 8px;
  background: #fff3ec;
  border-radius: 999px;
  color: #e85f1f;
  font-size: 13px;
  font-weight: 700;
}
body.ilchi-second-layer-studio .mainSection .ilchi-price-row--month > * { background: #fff4f6; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-row--three > * { background: #fff3df; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-row--year > * { background: #f3faed; }
body.ilchi-second-layer-studio .mainSection .ilchi-price-row--month + .ilchi-price-row--month > *,
body.ilchi-second-layer-studio .mainSection .ilchi-price-row--three + .ilchi-price-row--three > *,
body.ilchi-second-layer-studio .mainSection .ilchi-price-row--year + .ilchi-price-row--year > * {
  background: #fff;
}
/* =========================================================
   10. studioページ：スマホ調整
========================================================= */
@media (max-width: 767px) {
  body.ilchi-second-layer-studio .siteContent {
    padding-top: 28px;
  }
  body.ilchi-second-layer-studio .siteContent .mainSection { max-width: 100% !important; padding: 0 20px !important; }
  body.ilchi-second-layer-studio .mainSection { font-size: 14px; line-height: 1.85; }
  body.ilchi-second-layer-studio .mainSection .ilchi-page-anchor-nav {
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 34px;
  }
  body.ilchi-second-layer-studio .mainSection .ilchi-page-anchor-nav a {
    flex: 1 1 calc(50% - 8px);
    min-height: 38px;
    padding: 8px 10px;
    font-size: 13px;
  }
  body.ilchi-second-layer-studio .mainSection .ilchi-section-title {
    margin: 38px 0 22px;
    padding: 12px 14px;
    border-left-width: 5px !important;
    border-radius: 8px;
    font-size: 20px;
  }
  body.ilchi-second-layer-studio .mainSection .ilchi-studio-card { padding: 22px; border-radius: 18px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-studio-card h3 { font-size: 19px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__inner { grid-template-columns: 1fr; gap: 22px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__photo { max-width: 240px; margin: 0 auto; }
  body.ilchi-second-layer-studio .mainSection .ilchi-staff-card__body h3, body.ilchi-second-layer-studio .mainSection .ilchi-intro-card__head h3 { font-size: 19px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-studio-info { padding: 18px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-studio-info dl > div { grid-template-columns: 1fr; gap: 4px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-benefit-list { grid-template-columns: 1fr; gap: 14px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-benefit-item { padding: 18px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-access-card__body { grid-template-columns: 1fr !important; gap: 22px !important; }
  body.ilchi-second-layer-studio .mainSection .ilchi-map-wrap iframe { height: 300px !important; }
  body.ilchi-second-layer-studio .mainSection .ilchi-hours-card { margin-top: 0; }
  body.ilchi-second-layer-studio .mainSection .ilchi-hours-list div {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 14px 0;
  }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card { padding: 22px 18px 24px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card h3 {
    margin-bottom: 12px;
    padding-bottom: 10px;
    font-size: 18px;
  }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card > p { margin-bottom: 18px; font-size: 14px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table { min-width: 700px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table th, body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table td { padding: 12px 8px; font-size: 13px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table tbody th { width: 150px; font-size: 13px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-table td { font-size: 18px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-price-card { padding: 22px 18px 26px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-entry-fee { padding: 18px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-entry-fee__body {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  body.ilchi-second-layer-studio .mainSection .ilchi-entry-fee__body strong { min-width: 0; font-size: 23px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-entry-fee__body span { font-size: 14px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-price-table { min-width: 720px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-price-table th, body.ilchi-second-layer-studio .mainSection .ilchi-price-table td { padding: 13px 10px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-price-amount { font-size: 20px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-price-table td:last-child { font-size: 13px; }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card .ilchi-table-scroll,
  body.ilchi-second-layer-studio .mainSection .ilchi-price-card .ilchi-table-scroll,
  body.ilchi-second-layer-studio .mainSection .ilchi-price-card .ilchi-price-table-wrap {
    position: relative;
    margin-top: 14px;
    padding-top: 34px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card .ilchi-table-scroll::before,
  body.ilchi-second-layer-studio .mainSection .ilchi-price-card .ilchi-table-scroll::before,
  body.ilchi-second-layer-studio .mainSection .ilchi-price-card .ilchi-price-table-wrap::before {
    content: "← 横にスクロールできます →";
    position: absolute;
    top: 0;
    left: 0;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 10px;
    background: #fff3ec;
    border: 1px solid #f3dfd4;
    border-radius: 999px;
    color: #d95f24;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
  }
  body.ilchi-second-layer-studio .mainSection .ilchi-schedule-card .ilchi-table-scroll::after,
  body.ilchi-second-layer-studio .mainSection .ilchi-price-card .ilchi-table-scroll::after,
  body.ilchi-second-layer-studio .mainSection .ilchi-price-card .ilchi-price-table-wrap::after {
    content: "";
    position: sticky;
    right: 0;
    float: right;
    width: 28px;
    height: 1px;
    pointer-events: none;
    box-shadow: -18px 0 22px rgba(242, 106, 33, 0.22);
  }
}
/* =========================================================
   11. programページ：基本レイアウト
========================================================= */
body.ilchi-second-layer-program .siteContent .mainSection {
  float: none !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}
body.ilchi-second-layer-program .siteContent .sideSection,
body.ilchi-second-layer-program .siteContent .subSection,
body.ilchi-second-layer-program .siteContent .sideSction,
body.ilchi-second-layer-program .siteContent aside {
  display: none !important;
}
body.ilchi-second-layer-program .mainSection .ilchi-page-anchor-nav { margin-bottom: 46px; }
/* =========================================================
   12. programページ：カード・動画・概要
========================================================= */
body.ilchi-second-layer-program .mainSection .ilchi-program-card {
  margin: 0 0 56px;
  padding: 34px;
  background: #fff;
  border: 1px solid #f3dfd4;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08);
}
body.ilchi-second-layer-program .mainSection .ilchi-program-card h3 {
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eadfd8;
  color: #222;
  font-size: 22px;
  line-height: 1.5;
}
body.ilchi-second-layer-program .mainSection .ilchi-program-card p { color: #333; line-height: 1.9; }
body.ilchi-second-layer-program .mainSection .ilchi-video-wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 820px;
  margin: 24px auto 34px;
  padding-top: 56.25%;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}
body.ilchi-second-layer-program .mainSection .ilchi-video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}
body.ilchi-second-layer-program .mainSection .ilchi-program-overview {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 36px;
  align-items: center;
}
body.ilchi-second-layer-program .mainSection .ilchi-program-overview__image { margin: 0; text-align: center; }
body.ilchi-second-layer-program .mainSection .ilchi-program-overview__image img {
  max-width: 100%;
  height: auto;
  filter: saturate(1.05);
}
/* =========================================================
   13. programページ：トレーニングSTEP
========================================================= */
body.ilchi-second-layer-program .mainSection .ilchi-program-step-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 26px;
}
body.ilchi-second-layer-program .mainSection .ilchi-program-step {
  display: grid;
  grid-template-columns: 1fr 126px;
  gap: 20px;
  align-items: center;
  padding: 22px;
  background: #fffaf7;
  border: 1px solid #f3dfd4;
  border-radius: 18px;
}
body.ilchi-second-layer-program .mainSection .ilchi-program-step span {
  display: inline-block;
  margin-bottom: 6px;
  color: #f26a21;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
body.ilchi-second-layer-program .mainSection .ilchi-program-step h4 {
  margin: 0 0 10px;
  color: #222;
  font-size: 17px;
  line-height: 1.5;
}
body.ilchi-second-layer-program .mainSection .ilchi-program-step p {
  margin: 0;
  font-size: 14px;
  line-height: 1.75;
}
body.ilchi-second-layer-program .mainSection .ilchi-program-step img {
  display: block;
  width: 126px;
  height: 126px;
  object-fit: cover;
  border-radius: 14px;
  filter: saturate(1.06) contrast(1.04);
}
/* =========================================================
   14. programページ：タブレット・スマホ調整
========================================================= */
/* STEPカードは狭い画面では縦並び */
@media (max-width: 991px) {
  body.ilchi-second-layer-program .mainSection .ilchi-program-step-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
  }
  body.ilchi-second-layer-program .mainSection .ilchi-program-step {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 22px 20px !important;
    gap: 16px !important;
    overflow: hidden !important;
  }
  body.ilchi-second-layer-program .mainSection .ilchi-program-step__body {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    order: 1 !important;
  }
  body.ilchi-second-layer-program .mainSection .ilchi-program-step span {
    display: block !important;
    margin: 0 0 6px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  body.ilchi-second-layer-program .mainSection .ilchi-program-step h4 {
    margin: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
    word-break: keep-all !important;
  }
  body.ilchi-second-layer-program .mainSection .ilchi-program-step p {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
    word-break: normal !important;
  }
  body.ilchi-second-layer-program .mainSection .ilchi-program-step img {
    order: 2 !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 150px !important;
    height: 150px !important;
    max-width: 70% !important;
    margin: 2px auto 0 !important;
    object-fit: cover !important;
    border-radius: 16px !important;
  }
}
@media (max-width: 767px) {
  body.ilchi-second-layer-program .siteContent .mainSection {
    max-width: 100% !important;
    padding: 0 20px !important;
  }
  body.ilchi-second-layer-program .siteContent .mainSection nav.ilchi-page-anchor-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin: 16px 0 24px !important;
    padding: 0 !important;
  }
  body.ilchi-second-layer-program .siteContent .mainSection nav.ilchi-page-anchor-nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
  body.ilchi-second-layer-program .siteContent .mainSection nav.ilchi-page-anchor-nav br { display: none !important; }
  body.ilchi-second-layer-program .mainSection .ilchi-section-title {
    margin: 38px 0 22px;
    padding: 12px 14px;
    border-left-width: 5px !important;
    border-radius: 8px;
    font-size: 20px;
  }
  body.ilchi-second-layer-program .mainSection .ilchi-program-card { padding: 22px; border-radius: 18px; }
  body.ilchi-second-layer-program .mainSection .ilchi-program-card h3 { font-size: 19px; }
  body.ilchi-second-layer-program .mainSection .ilchi-program-overview { grid-template-columns: 1fr; gap: 24px; }
  body.ilchi-second-layer-program .mainSection .ilchi-program-overview__image { max-width: 280px; margin: 0 auto; }
}
/* =========================================================
   15. studioページ：スマホ ページ内ボタン最終調整
   - 6個ボタンを 2列×3段に固定
   - ボタン下〜最初の見出し余白を整理
========================================================= */
@media screen and (max-width: 767px) {
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, auto) !important;
    gap: 8px 10px !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 18px auto 4px !important;
    padding: 0 !important;
    outline: none !important;
  }
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav > a {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 7px 6px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    flex: none !important;
    color: #1f6fb2 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: normal !important;
  }
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav > a:nth-of-type(1) { grid-column: 1 !important; grid-row: 1 !important; }
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav > a:nth-of-type(2) { grid-column: 2 !important; grid-row: 1 !important; }
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav > a:nth-of-type(3) { grid-column: 1 !important; grid-row: 2 !important; }
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav > a:nth-of-type(4) { grid-column: 2 !important; grid-row: 2 !important; }
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav > a:nth-of-type(5) { grid-column: 1 !important; grid-row: 3 !important; }
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav > a:nth-of-type(6) { grid-column: 2 !important; grid-row: 3 !important; }
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav + h2.ilchi-section-title,
  body.ilchi-second-layer-studio .mainSection nav.ilchi-page-anchor-nav + .ilchi-section-title {
    margin-top: 8px !important;
  }
}
/* =========================================================
   16. faqページ：よくあるご質問
========================================================= */
body.ilchi-second-layer-faq .siteContent {
  padding-top: 42px;
}
body.ilchi-second-layer-faq .siteContent .container, body.ilchi-second-layer-faq .siteContent .container-fluid { max-width: 1160px !important; }
body.ilchi-second-layer-faq .siteContent .mainSection {
  float: none !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}
body.ilchi-second-layer-faq .siteContent .sideSection,
body.ilchi-second-layer-faq .siteContent .subSection,
body.ilchi-second-layer-faq .siteContent .sideSction,
body.ilchi-second-layer-faq .siteContent aside {
  display: none !important;
}
body.ilchi-second-layer-faq .mainSection { font-size: 15px; line-height: 1.9; }
body.ilchi-second-layer-faq .mainSection .ilchi-faq-lead {
  max-width: 760px;
  margin: 0 auto 22px;
  color: #444;
  text-align: center;
}
/* ページ内リンク */
body.ilchi-second-layer-faq .mainSection .ilchi-page-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 34px;
  padding: 0;
  background: transparent;
  border: none;
}
body.ilchi-second-layer-faq .mainSection .ilchi-page-anchor-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 16px;
  background: #fff;
  border: 1px solid #f0b899;
  border-radius: 999px;
  color: #1f6fb2;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(120, 70, 30, 0.06);
}
body.ilchi-second-layer-faq .mainSection .ilchi-page-anchor-nav a:hover {
  background: #fff1e8;
  border-color: #f28f5b;
  color: #d95f24;
  text-decoration: none;
}
/* 見出し */
body.ilchi-second-layer-faq .mainSection .ilchi-section-title {
  display: flex;
  align-items: center;
  margin: 52px 0 28px;
  padding: 14px 18px;
  background: #fff7f2;
  border: none !important;
  border-left: 6px solid #f26a21 !important;
  border-radius: 10px;
  color: #e85f1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: 0 4px 14px rgba(120, 70, 30, 0.06);
}
body.ilchi-second-layer-faq .mainSection .ilchi-section-title::before { content: none !important; }
body.ilchi-second-layer-faq .mainSection .ilchi-card-label {
  margin: 0 0 6px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
/* FAQカード */
body.ilchi-second-layer-faq .mainSection .ilchi-faq-card {
  margin: 0 0 56px;
  padding: 34px;
  background: #fff;
  border: 1px solid #f3dfd4;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08);
}
body.ilchi-second-layer-faq .mainSection .ilchi-faq-card h3 {
  margin: 0 0 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eadfd8;
  color: #222;
  font-size: 22px;
  line-height: 1.5;
}
/* FAQ項目 */
body.ilchi-second-layer-faq .mainSection .ilchi-faq-item {
  margin: 0 0 14px;
  background: #fffaf7;
  border: 1px solid #f3dfd4;
  border-radius: 16px;
  overflow: hidden;
}
body.ilchi-second-layer-faq .mainSection .ilchi-faq-item:last-child { margin-bottom: 0; }
body.ilchi-second-layer-faq .mainSection .ilchi-faq-item summary {
  position: relative;
  display: block;
  padding: 17px 52px 17px 22px;
  color: #222;
  font-weight: 700;
  line-height: 1.65;
  cursor: pointer;
  list-style: none;
}
body.ilchi-second-layer-faq .mainSection .ilchi-faq-item summary::-webkit-details-marker { display: none; }
body.ilchi-second-layer-faq .mainSection .ilchi-faq-item summary::before {
  content: "Q";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-right: 10px;
  background: #f26a21;
  border-radius: 50%;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  vertical-align: 1px;
}
body.ilchi-second-layer-faq .mainSection .ilchi-faq-item summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  color: #f26a21;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}
body.ilchi-second-layer-faq .mainSection .ilchi-faq-item[open] summary { background: #fff3ec; }
body.ilchi-second-layer-faq .mainSection .ilchi-faq-item[open] summary::after { content: "−"; }
body.ilchi-second-layer-faq .mainSection .ilchi-faq-answer {
  padding: 0 22px 22px 56px;
  color: #333;
  line-height: 1.9;
}
body.ilchi-second-layer-faq .mainSection .ilchi-faq-answer p { margin: 0 0 1.1em; }
body.ilchi-second-layer-faq .mainSection .ilchi-faq-answer p:last-child { margin-bottom: 0; }
body.ilchi-second-layer-faq .mainSection .ilchi-faq-answer ul { margin: 0 0 1.1em; padding-left: 1.4em; }
body.ilchi-second-layer-faq .mainSection .ilchi-faq-answer li { margin-bottom: 0.35em; }
body.ilchi-second-layer-faq .mainSection .ilchi-faq-answer a {
  color: #1f6fb2;
  font-weight: 700;
  text-decoration: underline;
}
/* スマホ */
@media (max-width: 767px) {
  body.ilchi-second-layer-faq .siteContent { padding-top: 28px; }
  body.ilchi-second-layer-faq .siteContent .mainSection { max-width: 100% !important; padding: 0 20px !important; }
  body.ilchi-second-layer-faq .mainSection { font-size: 14px; line-height: 1.85; }
  body.ilchi-second-layer-faq .mainSection .ilchi-faq-lead { margin-bottom: 22px; text-align: left; }
  body.ilchi-second-layer-faq .mainSection .ilchi-page-anchor-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 16px 0 24px !important;
    padding: 0 !important;
  }
  body.ilchi-second-layer-faq .mainSection .ilchi-page-anchor-nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 7px 14px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
  body.ilchi-second-layer-faq .mainSection .ilchi-section-title {
    margin: 38px 0 22px;
    padding: 12px 14px;
    border-left-width: 5px !important;
    border-radius: 8px;
    font-size: 20px;
  }
  body.ilchi-second-layer-faq .mainSection .ilchi-faq-card { padding: 22px; border-radius: 18px; }
  body.ilchi-second-layer-faq .mainSection .ilchi-faq-card h3 { margin-bottom: 18px; font-size: 19px; }
  body.ilchi-second-layer-faq .mainSection .ilchi-faq-item { border-radius: 14px; }
  body.ilchi-second-layer-faq .mainSection .ilchi-faq-item summary { padding: 15px 44px 15px 16px; font-size: 14px; }
  body.ilchi-second-layer-faq .mainSection .ilchi-faq-item summary::before {
    width: 22px;
    height: 22px;
    margin-right: 8px;
    font-size: 12px;
  }
  body.ilchi-second-layer-faq .mainSection .ilchi-faq-item summary::after { right: 16px; font-size: 22px; }
  body.ilchi-second-layer-faq .mainSection .ilchi-faq-answer { padding: 0 16px 18px 46px; }
}
/* =========================================================
   17. companyページ：会社概要
========================================================= */
body.ilchi-second-layer-company .siteContent {
  padding-top: 42px;
}
body.ilchi-second-layer-company .siteContent .container, body.ilchi-second-layer-company .siteContent .container-fluid { max-width: 1160px !important; }
body.ilchi-second-layer-company .siteContent .mainSection {
  float: none !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}
body.ilchi-second-layer-company .siteContent .sideSection,
body.ilchi-second-layer-company .siteContent .subSection,
body.ilchi-second-layer-company .siteContent .sideSction,
body.ilchi-second-layer-company .siteContent aside {
  display: none !important;
}
body.ilchi-second-layer-company .mainSection { font-size: 15px; line-height: 1.9; }
body.ilchi-second-layer-company .mainSection .ilchi-card-label {
  margin: 0 0 6px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
body.ilchi-second-layer-company .mainSection .ilchi-company-card {
  margin: 0 0 64px;
  padding: 34px;
  background: #fff;
  border: 1px solid #f3dfd4;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08);
}
body.ilchi-second-layer-company .mainSection .ilchi-company-card h2 {
  margin: 0 0 28px;
  padding-bottom: 14px;
  border-bottom: 1px solid #eadfd8;
  color: #222;
  font-size: 24px;
  line-height: 1.5;
}
body.ilchi-second-layer-company .mainSection .ilchi-company-list { margin: 0; border-top: 1px solid #f1e2da; }
body.ilchi-second-layer-company .mainSection .ilchi-company-list > div {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 28px;
  padding: 16px 0;
  border-bottom: 1px solid #f1e2da;
}
body.ilchi-second-layer-company .mainSection .ilchi-company-list dt {
  margin: 0;
  color: #f26a21;
  font-weight: 700;
}
body.ilchi-second-layer-company .mainSection .ilchi-company-list dd { margin: 0; color: #333; }
body.ilchi-second-layer-company .mainSection .ilchi-company-official {
  margin-top: 34px;
  padding: 24px 26px;
  background: #fff8f3;
  border: 1px solid #f3dfd4;
  border-radius: 18px;
  text-align: left;
}
body.ilchi-second-layer-company .mainSection .ilchi-company-official__label {
  margin: 0 0 8px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
}
body.ilchi-second-layer-company .mainSection .ilchi-company-official p { margin: 0 0 12px; }
body.ilchi-second-layer-company .mainSection .ilchi-company-official a {
  color: #1f6fb2;
  font-weight: 700;
  text-decoration: underline;
  word-break: break-all;
}
body.ilchi-second-layer-company .mainSection .ilchi-company-official__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 180px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 14px 0 0 !important;
  padding: 0 24px !important;
  background: #fff !important;
  border: 1px solid #f0b899 !important;
  border-radius: 999px !important;
  color: #1f6fb2 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 3px 8px rgba(120, 70, 30, 0.08) !important;
  box-sizing: border-box !important;
  transform: none !important;
}
body.ilchi-second-layer-company .mainSection .ilchi-company-official__button span {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
body.ilchi-second-layer-company .mainSection .ilchi-company-official__button:hover {
  background: #fff1e8 !important;
  border-color: #f28f5b !important;
  color: #d95f24 !important;
  text-decoration: none !important;
}
/* スマホ */
@media screen and (max-width: 767px) {
  body.ilchi-second-layer-company .siteContent { padding-top: 28px; }
  body.ilchi-second-layer-company .siteContent .mainSection { max-width: 100% !important; padding: 0 20px !important; }
  body.ilchi-second-layer-company .mainSection { font-size: 14px; line-height: 1.85; }
  body.ilchi-second-layer-company .mainSection .ilchi-company-card { padding: 22px; border-radius: 18px; }
  body.ilchi-second-layer-company .mainSection .ilchi-company-card h2 { margin-bottom: 20px; font-size: 20px; }
  body.ilchi-second-layer-company .mainSection .ilchi-company-list > div {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 16px 0;
  }
  body.ilchi-second-layer-company .mainSection .ilchi-company-list dt { font-size: 13px; }
  body.ilchi-second-layer-company .mainSection .ilchi-company-official {
    margin-top: 26px;
    padding: 20px;
    border-radius: 16px;
    text-align: left;
  }
  body.ilchi-second-layer-company .mainSection .ilchi-company-official__button {
    display: flex !important;
    width: 100% !important;
    max-width: 240px !important;
    margin: 14px auto 0 !important;
    padding: 0 20px !important;
  }
}
/* =========================================================
   18. privacyページ：プライバシーポリシー
========================================================= */
body.ilchi-second-layer-privacy .siteContent {
  padding-top: 42px;
}
body.ilchi-second-layer-privacy .siteContent .container, body.ilchi-second-layer-privacy .siteContent .container-fluid { max-width: 1160px !important; }
body.ilchi-second-layer-privacy .siteContent .mainSection {
  float: none !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}
body.ilchi-second-layer-privacy .siteContent .sideSection,
body.ilchi-second-layer-privacy .siteContent .subSection,
body.ilchi-second-layer-privacy .siteContent .sideSction,
body.ilchi-second-layer-privacy .siteContent aside {
  display: none !important;
}
body.ilchi-second-layer-privacy .mainSection { font-size: 15px; line-height: 1.95; }
body.ilchi-second-layer-privacy .mainSection .ilchi-card-label {
  margin: 0 0 6px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-card {
  margin: 0 0 64px;
  padding: 38px;
  background: #fff;
  border: 1px solid #f3dfd4;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08);
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-card h2 {
  margin: 0 0 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid #eadfd8;
  color: #222;
  font-size: 24px;
  line-height: 1.5;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-lead {
  margin: 0 0 28px;
  padding: 22px 24px;
  background: #fff8f3;
  border: 1px solid #f3dfd4;
  border-radius: 16px;
  color: #333;
}
/* ページ内リンク */
body.ilchi-second-layer-privacy .mainSection .ilchi-page-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 34px;
  padding: 0;
  background: transparent;
  border: none;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-page-anchor-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 16px;
  background: #fff;
  border: 1px solid #f0b899;
  border-radius: 999px;
  color: #1f6fb2;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(120, 70, 30, 0.06);
}
body.ilchi-second-layer-privacy .mainSection .ilchi-page-anchor-nav a:hover {
  background: #fff1e8;
  border-color: #f28f5b;
  color: #d95f24;
  text-decoration: none;
}
/* 各項目 */
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section {
  margin: 0;
  padding: 30px 0;
  border-top: 1px solid #f1e2da;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section:last-child { padding-bottom: 0; }
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section h3 {
  margin: 0 0 16px;
  padding-left: 14px;
  border-left: 4px solid #f26a21;
  color: #e85f1f;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.6;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section p { margin: 0 0 1.2em; color: #333; }
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section p:last-child { margin-bottom: 0; }
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section li {
  position: relative;
  margin: 0 0 10px;
  padding-left: 1.25em;
  color: #333;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.82em;
  width: 6px;
  height: 6px;
  background: #f26a21;
  border-radius: 50%;
}
/* 下部ポリシー一覧 */
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-policy-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 24px;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-policy-list section {
  padding: 20px;
  background: #fffaf7;
  border: 1px solid #f3dfd4;
  border-radius: 16px;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-policy-list h4 {
  margin: 0 0 10px;
  color: #f26a21;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-policy-list p {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}
/* スマホ */
@media screen and (max-width: 767px) {
  body.ilchi-second-layer-privacy .siteContent { padding-top: 28px; }
  body.ilchi-second-layer-privacy .siteContent .mainSection { max-width: 100% !important; padding: 0 20px !important; }
  body.ilchi-second-layer-privacy .mainSection { font-size: 14px; line-height: 1.85; }
  body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-card { padding: 22px; border-radius: 18px; }
  body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-card h2 { margin-bottom: 18px; font-size: 20px; }
  body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-lead { margin-bottom: 22px; padding: 18px; }
  body.ilchi-second-layer-privacy .mainSection nav.ilchi-page-anchor-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 10px !important;
    width: 100% !important;
    margin: 16px 0 22px !important;
    padding: 0 !important;
  }
  body.ilchi-second-layer-privacy .mainSection nav.ilchi-page-anchor-nav br { display: none !important; }
  body.ilchi-second-layer-privacy .mainSection nav.ilchi-page-anchor-nav > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal !important;
  }
  body.ilchi-second-layer-privacy .mainSection nav.ilchi-page-anchor-nav + .ilchi-privacy-section { margin-top: 0 !important; padding-top: 24px !important; }
  body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section { padding: 24px 0; }
  body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-section h3 { font-size: 18px; }
  body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-policy-list { grid-template-columns: 1fr; gap: 14px; }
  body.ilchi-second-layer-privacy .mainSection .ilchi-privacy-policy-list section { padding: 18px; }
}
/* =========================================================
   19. sitemapページ：サイトマップ
========================================================= */

body.ilchi-second-layer-sitemap .siteContent {
  padding-top: 42px;
}

body.ilchi-second-layer-sitemap .siteContent .container, body.ilchi-second-layer-sitemap .siteContent .container-fluid { max-width: 1160px !important; }

body.ilchi-second-layer-sitemap .siteContent .mainSection {
  float: none !important;
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}

body.ilchi-second-layer-sitemap .siteContent .sideSection,
body.ilchi-second-layer-sitemap .siteContent .subSection,
body.ilchi-second-layer-sitemap .siteContent .sideSction,
body.ilchi-second-layer-sitemap .siteContent aside {
  display: none !important;
}

body.ilchi-second-layer-sitemap .mainSection { font-size: 15px; line-height: 1.9; }

/* サイトマップ本体をカード化 */
body.ilchi-second-layer-sitemap .mainSection > ul,
body.ilchi-second-layer-sitemap .mainSection .sitemap,
body.ilchi-second-layer-sitemap .mainSection .simple-sitemap-wrap,
body.ilchi-second-layer-sitemap .mainSection .simple-sitemap-container {
  margin: 0 0 64px !important;
  padding: 34px 38px !important;
  background: #fff !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08) !important;
}

/* リスト調整 */
body.ilchi-second-layer-sitemap .mainSection ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ilchi-second-layer-sitemap .mainSection li {
  position: relative;
  margin: 0;
  padding: 13px 0 13px 1.4em;
  border-bottom: 1px solid #f1e2da;
  color: #333;
}

body.ilchi-second-layer-sitemap .mainSection li:last-child { border-bottom: none; }

body.ilchi-second-layer-sitemap .mainSection li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.35em;
  width: 7px;
  height: 7px;
  background: #f26a21;
  border-radius: 50%;
}

body.ilchi-second-layer-sitemap .mainSection li a {
  color: #1f6fb2;
  font-weight: 700;
  text-decoration: none;
}

body.ilchi-second-layer-sitemap .mainSection li a:hover { color: #d95f24; text-decoration: underline; }

/* スマホ */
@media screen and (max-width: 767px) {
  body.ilchi-second-layer-sitemap .siteContent { padding-top: 28px; }

  body.ilchi-second-layer-sitemap .siteContent .mainSection { max-width: 100% !important; padding: 0 20px !important; }

  body.ilchi-second-layer-sitemap .mainSection { font-size: 14px; line-height: 1.85; }

  body.ilchi-second-layer-sitemap .mainSection > ul,
  body.ilchi-second-layer-sitemap .mainSection .sitemap,
  body.ilchi-second-layer-sitemap .mainSection .simple-sitemap-wrap,
  body.ilchi-second-layer-sitemap .mainSection .simple-sitemap-container {
    padding: 22px !important;
    border-radius: 18px !important;
  }

  body.ilchi-second-layer-sitemap .mainSection li { padding: 12px 0 12px 1.25em; }

  body.ilchi-second-layer-sitemap .mainSection li::before {
    top: 1.3em;
    width: 6px;
    height: 6px;
  }
}
/* =========================================================
   20. otoiawaseページ：お問い合わせ
========================================================= */

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent {
  padding-top: 42px;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .container,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .container-fluid {
  max-width: 1160px !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .mainSection {
  float: none !important;
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .sideSection,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .subSection,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .sideSction,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent aside {
  display: none !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection {
  font-size: 15px;
  line-height: 1.9;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-card-label {
  margin: 0 0 6px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-card {
  margin: 0 0 64px;
  padding: 38px;
  background: #fff;
  border: 1px solid #f3dfd4;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08);
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-card h2 {
  margin: 0 0 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid #eadfd8;
  color: #222;
  font-size: 24px;
  line-height: 1.5;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-lead {
  margin: 0 0 30px;
  padding: 22px 24px;
  background: #fff8f3;
  border: 1px solid #f3dfd4;
  border-radius: 16px;
  color: #333;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-lead p {
  margin: 0 0 0.8em;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-lead p:last-child {
  margin-bottom: 0;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-lead strong {
  color: #e85f1f;
  font-size: 1.08em;
}

/* Contact Form 7 */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-form {
  margin-top: 28px;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 p {
  margin: 0 0 20px;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 label {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-weight: 700;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 input[type="text"],
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 input[type="email"],
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 input[type="tel"],
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #eadfd8;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
  font-size: 15px;
  line-height: 1.6;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 textarea {
  min-height: 220px;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  min-height: 42px;
  padding: 10px 26px;
  background: #f26a21;
  border: none;
  border-radius: 999px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 input[type="submit"]:hover {
  background: #d95f24;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent {
    padding-top: 28px;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .mainSection {
    max-width: 100% !important;
    padding: 0 20px !important;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection {
    font-size: 14px;
    line-height: 1.85;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-card {
    padding: 22px;
    border-radius: 18px;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-card h2 {
    margin-bottom: 18px;
    font-size: 20px;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-lead {
    margin-bottom: 24px;
    padding: 18px;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 textarea {
    min-height: 180px;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .wpcf7 input[type="submit"] {
    width: 100%;
    min-height: 44px;
  }
}
/* =========================================================
   お問い合わせページ：フォーム下〜フッター間の余白調整
========================================================= */

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent {
  padding-bottom: 24px !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection .ilchi-contact-card {
  margin-bottom: 24px !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .iby-studio-footer {
  margin-top: 32px !important;
}

/* =========================================================
   21. 管理メモ
   - お問い合わせは body class が ilchi-second-layer-otoiawase でも
     ilchi-second-layer-contact でも同じ表示になります。
   - 料金表は .ilchi-price-table-wrap でもスマホ横スクロール案内が出ます。
========================================================= */
/* =========================================================
   programページ互換対応
   .mainSection が存在しないLightning環境用
========================================================= */

body.ilchi-second-layer-program .ilchi-page-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 46px;
  padding: 0;
  background: transparent;
  border: none;
}

body.ilchi-second-layer-program .ilchi-page-anchor-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 16px;
  background: #fff;
  border: 1px solid #f0b899;
  border-radius: 999px;
  color: #1f6fb2;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(120, 70, 30, 0.06);
}

body.ilchi-second-layer-program .ilchi-page-anchor-nav a:hover {
  background: #fff1e8;
  border-color: #f28f5b;
  color: #d95f24;
  text-decoration: none;
}

body.ilchi-second-layer-program .ilchi-section-title {
  display: flex;
  align-items: center;
  margin: 52px 0 28px;
  padding: 14px 18px;
  background: #fff7f2;
  border: none !important;
  border-left: 6px solid #f26a21 !important;
  border-radius: 10px;
  color: #e85f1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: 0 4px 14px rgba(120, 70, 30, 0.06);
}

body.ilchi-second-layer-program .ilchi-section-title::before {
  content: none !important;
}

body.ilchi-second-layer-program .ilchi-card-label {
  margin: 0 0 6px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

body.ilchi-second-layer-program .ilchi-program-card {
  margin: 0 0 56px;
  padding: 34px;
  background: #fff;
  border: 1px solid #f3dfd4;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08);
}

body.ilchi-second-layer-program .ilchi-program-card h3 {
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eadfd8;
  color: #222;
  font-size: 22px;
  line-height: 1.5;
}

body.ilchi-second-layer-program .ilchi-program-card p {
  color: #333;
  line-height: 1.9;
}

body.ilchi-second-layer-program .ilchi-video-wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 820px;
  margin: 24px auto 34px;
  padding-top: 56.25%;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

body.ilchi-second-layer-program .ilchi-video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

body.ilchi-second-layer-program .ilchi-program-overview {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 36px;
  align-items: center;
}

body.ilchi-second-layer-program .ilchi-program-overview__image {
  margin: 0;
  text-align: center;
}

body.ilchi-second-layer-program .ilchi-program-overview__image img {
  max-width: 100%;
  height: auto;
  filter: saturate(1.05);
}

body.ilchi-second-layer-program .ilchi-program-step-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 26px;
}

body.ilchi-second-layer-program .ilchi-program-step {
  display: grid;
  grid-template-columns: 1fr 126px;
  gap: 20px;
  align-items: center;
  padding: 22px;
  background: #fffaf7;
  border: 1px solid #f3dfd4;
  border-radius: 18px;
}

body.ilchi-second-layer-program .ilchi-program-step__body {
  display: block;
}

body.ilchi-second-layer-program .ilchi-program-step h4 {
  margin: 0 0 10px;
  color: #222;
  font-size: 17px;
  line-height: 1.5;
}

body.ilchi-second-layer-program .ilchi-program-step img {
  display: block;
  width: 126px;
  height: 126px;
  object-fit: cover;
  border-radius: 14px;
  filter: saturate(1.06) contrast(1.04);
}

@media screen and (max-width: 991px) {
  body.ilchi-second-layer-program .ilchi-program-step-list {
    grid-template-columns: 1fr !important;
  }

  body.ilchi-second-layer-program .ilchi-program-step {
    display: flex !important;
    flex-direction: column !important;
    padding: 22px 20px !important;
    gap: 16px !important;
  }

  body.ilchi-second-layer-program .ilchi-program-step img {
    width: 150px !important;
    height: 150px !important;
    max-width: 70% !important;
    margin: 2px auto 0 !important;
  }
}

@media screen and (max-width: 767px) {
  body.ilchi-second-layer-program nav.ilchi-page-anchor-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin: 16px 0 24px !important;
  }

  body.ilchi-second-layer-program nav.ilchi-page-anchor-nav a {
    width: 100% !important;
    min-height: 38px !important;
    padding: 7px 14px !important;
    font-size: 14px !important;
  }

  body.ilchi-second-layer-program .ilchi-section-title {
    margin: 38px 0 22px;
    padding: 12px 14px;
    border-left-width: 5px !important;
    border-radius: 8px;
    font-size: 20px;
  }

  body.ilchi-second-layer-program .ilchi-program-card {
    padding: 22px;
    border-radius: 18px;
  }

  body.ilchi-second-layer-program .ilchi-program-card h3 {
    font-size: 19px;
  }

  body.ilchi-second-layer-program .ilchi-program-overview {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body.ilchi-second-layer-program .ilchi-program-overview__image {
    max-width: 280px;
    margin: 0 auto;
  }
}
/* =========================================================
   studioページ互換対応
   .mainSection が存在しないLightning環境用
   吉野教室で確認
========================================================= */

/* サイドバー非表示・本文幅調整 */
body.ilchi-second-layer-studio .siteContent {
  padding-top: 42px;
}

body.ilchi-second-layer-studio .siteContent .container,
body.ilchi-second-layer-studio .siteContent .container-fluid {
  max-width: 1160px !important;
}

body.ilchi-second-layer-studio .siteContent .sideSection,
body.ilchi-second-layer-studio .siteContent .subSection,
body.ilchi-second-layer-studio .siteContent .sideSction,
body.ilchi-second-layer-studio .siteContent aside,
body.ilchi-second-layer-studio .siteContent .sidebar,
body.ilchi-second-layer-studio .siteContent .widget-area,
body.ilchi-second-layer-studio #secondary {
  display: none !important;
}

body.ilchi-second-layer-studio .siteContent .mainSection,
body.ilchi-second-layer-studio .siteContent .entry-body,
body.ilchi-second-layer-studio .siteContent .entry-content,
body.ilchi-second-layer-studio .siteContent article {
  float: none !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}

/* ページ内リンク */
body.ilchi-second-layer-studio .ilchi-page-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 42px;
  padding: 0;
  background: transparent;
  border: none;
}

body.ilchi-second-layer-studio .ilchi-page-anchor-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 16px;
  background: #fff;
  border: 1px solid #f0b899;
  border-radius: 999px;
  color: #1f6fb2;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(120, 70, 30, 0.06);
}

body.ilchi-second-layer-studio .ilchi-page-anchor-nav a:hover {
  background: #fff1e8;
  border-color: #f28f5b;
  color: #d95f24;
  text-decoration: none;
}

/* セクション見出し */
body.ilchi-second-layer-studio .ilchi-section-title {
  display: flex;
  align-items: center;
  margin: 52px 0 28px;
  padding: 14px 18px;
  background: #fff7f2;
  border: none !important;
  border-left: 6px solid #f26a21 !important;
  border-radius: 10px;
  color: #e85f1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: 0 4px 14px rgba(120, 70, 30, 0.06);
}

body.ilchi-second-layer-studio .ilchi-section-title::before {
  content: none !important;
}

/* 共通ラベル */
body.ilchi-second-layer-studio .ilchi-card-label,
body.ilchi-second-layer-studio .ilchi-intro-card__label {
  margin: 0 0 6px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* カード */
body.ilchi-second-layer-studio .ilchi-studio-card {
  margin: 0 0 56px;
  padding: 34px;
  background: #fff;
  border: 1px solid #f3dfd4;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08);
  box-sizing: border-box;
}

body.ilchi-second-layer-studio .ilchi-studio-card h3 {
  margin: 0 0 18px;
  color: #222;
  font-size: 22px;
  line-height: 1.5;
}

/* スタッフ紹介 */
body.ilchi-second-layer-studio .ilchi-staff-card__role {
  margin: 0 0 24px;
  color: #333;
  font-size: 17px;
  font-weight: 700;
}

body.ilchi-second-layer-studio .ilchi-staff-card__inner {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 34px;
  align-items: start;
}

body.ilchi-second-layer-studio .ilchi-staff-card__photo {
  margin: 0;
}

body.ilchi-second-layer-studio .ilchi-staff-card__photo img {
  display: block;
  width: 100%;
  height: auto;
  float: none !important;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}

body.ilchi-second-layer-studio .ilchi-staff-card__body h3 {
  margin: 0 0 18px;
  color: #222;
  font-size: 22px;
  line-height: 1.5;
}

body.ilchi-second-layer-studio .ilchi-staff-card__lead {
  margin: 0 0 16px;
  color: #555;
  font-weight: 700;
}

body.ilchi-second-layer-studio .ilchi-staff-card__body ul {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

body.ilchi-second-layer-studio .ilchi-staff-card__body li {
  position: relative;
  margin: 0 0 8px;
  padding-left: 1.2em;
}

body.ilchi-second-layer-studio .ilchi-staff-card__body li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 7px;
  height: 7px;
  background: #f26a21;
  border-radius: 50%;
}

/* スタジオ情報 */
body.ilchi-second-layer-studio .ilchi-studio-info {
  margin: 0 0 32px;
  padding: 22px 24px;
  background: #fff8f3;
  border: 1px solid #f3dfd4;
  border-radius: 16px;
}

body.ilchi-second-layer-studio .ilchi-studio-info dl {
  margin: 0;
}

body.ilchi-second-layer-studio .ilchi-studio-info dl > div {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  align-items: start;
  margin: 0 0 10px;
}

body.ilchi-second-layer-studio .ilchi-studio-info dt {
  color: #f26a21;
  font-weight: 700;
}

body.ilchi-second-layer-studio .ilchi-studio-info dd {
  margin: 0;
}

/* アクセス */
body.ilchi-second-layer-studio .ilchi-access-card__body {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr) !important;
  gap: 36px !important;
  align-items: start !important;
}

body.ilchi-second-layer-studio .ilchi-map-wrap {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08) !important;
}

body.ilchi-second-layer-studio .ilchi-map-wrap iframe {
  display: block !important;
  width: 100% !important;
  height: 380px !important;
  border: 0 !important;
}

/* ギャラリー */
body.ilchi-second-layer-studio .ilchi-gallery-card {
  text-align: center;
}

body.ilchi-second-layer-studio .ilchi-gallery-card .ilchi-card-label,
body.ilchi-second-layer-studio .ilchi-gallery-card h3,
body.ilchi-second-layer-studio .ilchi-gallery-card p {
  text-align: left;
}

body.ilchi-second-layer-studio .ilchi-gallery-wrap {
  max-width: 760px;
  margin: 26px auto 0 !important;
}

body.ilchi-second-layer-studio .ilchi-gallery-wrap img {
  border-radius: 16px;
}

/* 営業時間 */
body.ilchi-second-layer-studio .ilchi-hours-list {
  margin: 22px 0 0;
}

body.ilchi-second-layer-studio .ilchi-hours-list div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid #f3dfd4;
}

body.ilchi-second-layer-studio .ilchi-hours-list div:last-child {
  border-bottom: none;
}

body.ilchi-second-layer-studio .ilchi-hours-list dt {
  color: #f26a21;
  font-weight: 700;
}

body.ilchi-second-layer-studio .ilchi-hours-list dd {
  margin: 0;
}

/* スケジュール・料金表 */
body.ilchi-second-layer-studio .ilchi-table-scroll,
body.ilchi-second-layer-studio .ilchi-price-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.ilchi-second-layer-studio .ilchi-schedule-table,
body.ilchi-second-layer-studio .ilchi-price-table {
  width: 100%;
  min-width: 760px;
  margin: 0;
  border: 1px solid #eadfd8;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 14px;
  table-layout: fixed;
  overflow: hidden;
  background: #fff;
}

body.ilchi-second-layer-studio .ilchi-schedule-table th,
body.ilchi-second-layer-studio .ilchi-schedule-table td,
body.ilchi-second-layer-studio .ilchi-price-table th,
body.ilchi-second-layer-studio .ilchi-price-table td {
  padding: 14px 10px;
  border-right: 1px solid #eadfd8;
  border-bottom: 1px solid #eadfd8;
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 14px;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body.ilchi-second-layer-studio .siteContent {
    padding-top: 28px;
  }

  body.ilchi-second-layer-studio .siteContent .mainSection,
  body.ilchi-second-layer-studio .siteContent .entry-body,
  body.ilchi-second-layer-studio .siteContent .entry-content,
  body.ilchi-second-layer-studio .siteContent article {
    max-width: 100% !important;
    padding: 0 20px !important;
  }

  body.ilchi-second-layer-studio .ilchi-page-anchor-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 10px !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 18px auto 8px !important;
    padding: 0 !important;
  }

  body.ilchi-second-layer-studio .ilchi-page-anchor-nav > a {
    display: flex !important;
    width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 7px 6px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  body.ilchi-second-layer-studio .ilchi-section-title {
    margin: 38px 0 22px;
    padding: 12px 14px;
    border-left-width: 5px !important;
    border-radius: 8px;
    font-size: 20px;
  }

  body.ilchi-second-layer-studio .ilchi-studio-card {
    padding: 22px;
    border-radius: 18px;
  }

  body.ilchi-second-layer-studio .ilchi-studio-card h3 {
    font-size: 19px;
  }

  body.ilchi-second-layer-studio .ilchi-staff-card__inner,
  body.ilchi-second-layer-studio .ilchi-access-card__body {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body.ilchi-second-layer-studio .ilchi-staff-card__photo {
    max-width: 240px;
    margin: 0 auto;
  }

  body.ilchi-second-layer-studio .ilchi-studio-info {
    padding: 18px;
  }

  body.ilchi-second-layer-studio .ilchi-studio-info dl > div,
  body.ilchi-second-layer-studio .ilchi-hours-list div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  body.ilchi-second-layer-studio .ilchi-map-wrap iframe {
    height: 300px !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-table,
  body.ilchi-second-layer-studio .ilchi-price-table {
    min-width: 720px;
  }
}
/* =========================================================
   studioページ互換対応：不足分補強
   .mainSection が存在しないLightning環境用
   吉野教室 studio 確認用
========================================================= */

/* staff内の小見出し */
body.ilchi-second-layer-studio .ilchi-staff-card__body h4 {
  margin: 24px 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: #f26a21 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

/* スタジオ紹介カード上部 */
body.ilchi-second-layer-studio .ilchi-intro-card {
  margin-bottom: 64px;
}

body.ilchi-second-layer-studio .ilchi-intro-card__head {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid #f3dfd4;
}

body.ilchi-second-layer-studio .ilchi-intro-card__head h3 {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: #222 !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
}

/* スタジオ紹介内の小見出し */
body.ilchi-second-layer-studio .ilchi-intro-section {
  margin-top: 34px;
}

body.ilchi-second-layer-studio .ilchi-intro-section h4 {
  margin: 0 0 18px !important;
  padding: 0 0 0 14px !important;
  background: transparent !important;
  border: none !important;
  border-left: 4px solid #f26a21 !important;
  color: #333 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

body.ilchi-second-layer-studio .ilchi-intro-section p {
  margin-bottom: 1.35em;
}

/* メリットカード */
body.ilchi-second-layer-studio .ilchi-benefit-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  margin-top: 22px !important;
}

body.ilchi-second-layer-studio .ilchi-benefit-item {
  padding: 22px !important;
  background: #fffaf7 !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 18px !important;
  box-sizing: border-box !important;
}

body.ilchi-second-layer-studio .ilchi-benefit-item h5 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: #f26a21 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

body.ilchi-second-layer-studio .ilchi-benefit-item p {
  margin: 0 !important;
  line-height: 1.8 !important;
}

/* スケジュールカード */
body.ilchi-second-layer-studio .ilchi-schedule-card {
  padding: 28px 28px 34px !important;
}

body.ilchi-second-layer-studio .ilchi-schedule-card h3 {
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #eedfd7 !important;
  color: #222 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

body.ilchi-second-layer-studio .ilchi-schedule-card > p {
  margin: 0 0 22px !important;
  color: #444 !important;
  line-height: 1.8 !important;
}

/* スケジュール表 */
body.ilchi-second-layer-studio .ilchi-schedule-table {
  width: 100% !important;
  min-width: 760px !important;
  margin: 0 !important;
  border: 1px solid #eadfd8 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 14px !important;
  table-layout: fixed !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.ilchi-second-layer-studio .ilchi-schedule-table th,
body.ilchi-second-layer-studio .ilchi-schedule-table td {
  padding: 14px 10px !important;
  border-right: 1px solid #eadfd8 !important;
  border-bottom: 1px solid #eadfd8 !important;
  text-align: center !important;
  vertical-align: middle !important;
  line-height: 1.5 !important;
  font-size: 14px !important;
}

body.ilchi-second-layer-studio .ilchi-schedule-table tr > *:last-child {
  border-right: none !important;
}

body.ilchi-second-layer-studio .ilchi-schedule-table tbody tr:last-child > * {
  border-bottom: none !important;
}

body.ilchi-second-layer-studio .ilchi-schedule-table thead th {
  background: #fff1e8 !important;
  color: #333 !important;
  font-weight: 700 !important;
}

body.ilchi-second-layer-studio .ilchi-schedule-table thead th:first-child,
body.ilchi-second-layer-studio .ilchi-schedule-table tbody th {
  background: #fffaf7 !important;
  color: #333 !important;
  font-weight: 700 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

body.ilchi-second-layer-studio .ilchi-schedule-table td {
  color: #f26a21 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

/* 料金カード */
body.ilchi-second-layer-studio .ilchi-price-card {
  margin-bottom: 64px !important;
  padding: 30px 32px 36px !important;
}

body.ilchi-second-layer-studio .ilchi-price-card h3 {
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #eadfd8 !important;
  color: #222 !important;
  font-size: 21px !important;
  line-height: 1.5 !important;
}

body.ilchi-second-layer-studio .ilchi-price-card > p {
  margin-bottom: 20px !important;
  color: #444 !important;
}

/* 入会金 */
body.ilchi-second-layer-studio .ilchi-entry-fee {
  display: grid !important;
  grid-template-columns: 1fr !important;
  overflow: hidden !important;
  margin: 22px 0 34px !important;
  padding: 18px 24px !important;
  background: #fffdfb !important;
  border: 1px solid #eadfd8 !important;
  border-radius: 18px !important;
}

body.ilchi-second-layer-studio .ilchi-entry-fee__label {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 12px !important;
  padding: 6px 14px !important;
  background: #65cfc6 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

body.ilchi-second-layer-studio .ilchi-entry-fee__body {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 26px !important;
  text-align: left !important;
}

body.ilchi-second-layer-studio .ilchi-entry-fee__body strong {
  min-width: 110px !important;
  color: #222 !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

body.ilchi-second-layer-studio .ilchi-entry-fee__body span {
  color: #d73a26 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* 料金表 */
body.ilchi-second-layer-studio .ilchi-price-table {
  width: 100% !important;
  min-width: 780px !important;
  margin: 0 !important;
  border: 1px solid #eadfd8 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 16px !important;
  table-layout: fixed !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.ilchi-second-layer-studio .ilchi-price-table th,
body.ilchi-second-layer-studio .ilchi-price-table td {
  padding: 15px 14px !important;
  border-right: 1px solid #eadfd8 !important;
  border-bottom: 1px solid #eadfd8 !important;
  text-align: center !important;
  vertical-align: middle !important;
  line-height: 1.6 !important;
}

body.ilchi-second-layer-studio .ilchi-price-table thead th {
  background: #65cfc6 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body.ilchi-second-layer-studio .ilchi-price-table tbody th {
  color: #333 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

body.ilchi-second-layer-studio .ilchi-price-amount {
  color: #222 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
}

body.ilchi-second-layer-studio .ilchi-price-table td:last-child {
  padding-left: 18px !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

body.ilchi-second-layer-studio .ilchi-price-table td:last-child span {
  display: block !important;
}

body.ilchi-second-layer-studio .ilchi-price-note {
  display: inline-block !important;
  margin-bottom: 6px !important;
  padding: 3px 8px !important;
  background: #fff3ec !important;
  border-radius: 999px !important;
  color: #e85f1f !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

body.ilchi-second-layer-studio .ilchi-price-row--month > * {
  background: #fff4f6 !important;
}

body.ilchi-second-layer-studio .ilchi-price-row--three > * {
  background: #fff3df !important;
}

body.ilchi-second-layer-studio .ilchi-price-row--year > * {
  background: #f3faed !important;
}

/* スマホ補強 */
@media screen and (max-width: 767px) {
  body.ilchi-second-layer-studio .ilchi-benefit-list {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.ilchi-second-layer-studio .ilchi-benefit-item {
    padding: 18px !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-card,
  body.ilchi-second-layer-studio .ilchi-price-card {
    padding: 22px 18px 26px !important;
  }

  body.ilchi-second-layer-studio .ilchi-entry-fee {
    padding: 18px !important;
  }

  body.ilchi-second-layer-studio .ilchi-entry-fee__body {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-table,
  body.ilchi-second-layer-studio .ilchi-price-table {
    min-width: 720px !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-table th,
  body.ilchi-second-layer-studio .ilchi-schedule-table td,
  body.ilchi-second-layer-studio .ilchi-price-table th,
  body.ilchi-second-layer-studio .ilchi-price-table td {
    padding: 13px 10px !important;
  }
}
/* =========================================================
   吉野 studio 微調整
   札幌寄りのフォント・見出し・ライン調整
========================================================= */

/* ---------------------------------
   1) フォントを札幌寄りに統一
---------------------------------- */
body.ilchi-second-layer-page,
body.ilchi-second-layer-page p,
body.ilchi-second-layer-page li,
body.ilchi-second-layer-page dt,
body.ilchi-second-layer-page dd,
body.ilchi-second-layer-page th,
body.ilchi-second-layer-page td,
body.ilchi-second-layer-page a,
body.ilchi-second-layer-page h2,
body.ilchi-second-layer-page h3,
body.ilchi-second-layer-page h4,
body.ilchi-second-layer-page h5 {
  font-family:
    "Hiragino Sans",
    "Yu Gothic",
    "Yu Gothic Medium",
    "Meiryo",
    sans-serif !important;
}

/* ---------------------------------
   2) スタッフ名まわり
---------------------------------- */
body.ilchi-second-layer-studio .ilchi-staff-card__body h3 {
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border: none !important;
  border-bottom: 1px solid #eadfd8 !important; /* 青ではなく薄いオレンジ寄り */
  background: transparent !important;
  color: #222 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.02em !important;
}

body.ilchi-second-layer-studio .ilchi-staff-card__lead {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  color: #555 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
}

/* ---------------------------------
   3) スタジオ紹介のタイトルまわり
---------------------------------- */
body.ilchi-second-layer-studio .ilchi-intro-card__head {
  margin-bottom: 24px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #eadfd8 !important; /* 青ラインを札幌寄りに */
}

body.ilchi-second-layer-studio .ilchi-intro-card__head h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  color: #222 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
}

body.ilchi-second-layer-studio .ilchi-intro-card__label {
  margin-bottom: 10px !important;
  color: #f26a21 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.03em !important;
}

/* ---------------------------------
   4) theme由来の青い下線・装飾を消す保険
---------------------------------- */
body.ilchi-second-layer-studio .ilchi-staff-card__body h3::before,
body.ilchi-second-layer-studio .ilchi-staff-card__body h3::after,
body.ilchi-second-layer-studio .ilchi-intro-card__head h3::before,
body.ilchi-second-layer-studio .ilchi-intro-card__head h3::after {
  display: none !important;
  content: none !important;
}

body.ilchi-second-layer-studio .ilchi-staff-card__body h3,
body.ilchi-second-layer-studio .ilchi-intro-card__head h3 {
  box-shadow: none !important;
  text-decoration: none !important;
  background-image: none !important;
}

/* ---------------------------------
   5) 必要ならラインを完全削除したい場合
   （下のコメントを外す）
---------------------------------- */
/*
body.ilchi-second-layer-studio .ilchi-staff-card__body h3 {
  border-bottom: none !important;
}

body.ilchi-second-layer-studio .ilchi-intro-card__head {
  border-bottom: none !important;
}
*/
/* =========================================================
   otoiawase / contactページ互換対応
   .mainSection が存在しないLightning環境用
   吉野教室 お問い合わせ
========================================================= */

/* サイドバー・検索エリア非表示 */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .sideSection,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .subSection,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .sideSction,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent aside,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .sidebar,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .widget-area,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) #secondary {
  display: none !important;
}

/* 本文エリアを1カラム中央寄せ */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent {
  padding-top: 42px !important;
  padding-bottom: 40px !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .container,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .container-fluid {
  max-width: 1160px !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .mainSection,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .entry-body,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .entry-content,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent article {
  float: none !important;
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}

/* フォント・基本 */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) {
  font-family:
    "Hiragino Sans",
    "Yu Gothic",
    "Yu Gothic Medium",
    "Meiryo",
    sans-serif !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .entry-body,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .entry-content,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection {
  font-size: 15px !important;
  line-height: 1.9 !important;
}

/* HTMLをカード化している場合 */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-contact-card {
  margin: 0 0 48px !important;
  padding: 38px !important;
  background: #fff !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08) !important;
  box-sizing: border-box !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-card-label {
  margin: 0 0 6px !important;
  color: #f26a21 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-contact-card h2 {
  margin: 0 0 24px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #eadfd8 !important;
  color: #222 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* 説明文 */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-contact-lead {
  margin: 0 0 30px !important;
  padding: 22px 24px !important;
  background: #fff8f3 !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 16px !important;
  color: #333 !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-contact-lead p {
  margin: 0 0 0.8em !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-contact-lead p:last-child {
  margin-bottom: 0 !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-contact-lead strong {
  color: #e85f1f !important;
  font-size: 1.08em !important;
}

/* 現在のHTMLがカード化されていない場合の最低限の整形 */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .entry-content > p:first-of-type,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .entry-body > p:first-of-type {
  margin-top: 0 !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .entry-content > p,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .entry-body > p {
  margin-bottom: 0.8em !important;
}

/* Contact Form 7 */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 {
  margin-top: 28px !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 p {
  margin: 0 0 20px !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 label {
  display: block !important;
  margin-bottom: 8px !important;
  color: #333 !important;
  font-weight: 700 !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 input[type="text"],
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 input[type="email"],
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 input[type="tel"],
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 textarea {
  width: 100% !important;
  max-width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid #eadfd8 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  color: #333 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 textarea {
  min-height: 220px !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 input[type="submit"],
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 120px !important;
  min-height: 42px !important;
  padding: 10px 26px !important;
  background: #f26a21 !important;
  border: none !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 input[type="submit"]:hover,
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7-submit:hover {
  background: #d95f24 !important;
}

/* 送信メッセージ */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7-response-output {
  margin: 22px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
}

/* フッターとの間 */
body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .iby-studio-footer {
  margin-top: 32px !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .mainSection,
  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .entry-body,
  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent .entry-content,
  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .siteContent article {
    max-width: 100% !important;
    padding: 0 20px !important;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .entry-body,
  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .entry-content,
  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .mainSection {
    font-size: 14px !important;
    line-height: 1.85 !important;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-contact-card {
    padding: 22px !important;
    border-radius: 18px !important;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-contact-card h2 {
    margin-bottom: 18px !important;
    font-size: 20px !important;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .ilchi-contact-lead {
    margin-bottom: 24px !important;
    padding: 18px !important;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 textarea {
    min-height: 180px !important;
  }

  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7 input[type="submit"],
  body:is(.ilchi-second-layer-otoiawase, .ilchi-second-layer-contact) .wpcf7-submit {
    width: 100% !important;
    min-height: 44px !important;
  }
}
/* =========================================================
   companyページ互換対応
   .mainSection が存在しないLightning環境用
   吉野教室 会社概要
========================================================= */

/* サイドバー・検索エリア非表示 */
body.ilchi-second-layer-company .siteContent .sideSection,
body.ilchi-second-layer-company .siteContent .subSection,
body.ilchi-second-layer-company .siteContent .sideSction,
body.ilchi-second-layer-company .siteContent aside,
body.ilchi-second-layer-company .siteContent .sidebar,
body.ilchi-second-layer-company .siteContent .widget-area,
body.ilchi-second-layer-company #secondary {
  display: none !important;
}

/* 本文エリアを1カラム中央寄せ */
body.ilchi-second-layer-company .siteContent {
  padding-top: 42px !important;
  padding-bottom: 40px !important;
}

body.ilchi-second-layer-company .siteContent .container,
body.ilchi-second-layer-company .siteContent .container-fluid {
  max-width: 1160px !important;
}

body.ilchi-second-layer-company .siteContent .mainSection,
body.ilchi-second-layer-company .siteContent .entry-body,
body.ilchi-second-layer-company .siteContent .entry-content,
body.ilchi-second-layer-company .siteContent article {
  float: none !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}

/* フォント・基本 */
body.ilchi-second-layer-company {
  font-family:
    "Hiragino Sans",
    "Yu Gothic",
    "Yu Gothic Medium",
    "Meiryo",
    sans-serif !important;
}

body.ilchi-second-layer-company .entry-body,
body.ilchi-second-layer-company .entry-content,
body.ilchi-second-layer-company .mainSection {
  font-size: 15px !important;
  line-height: 1.9 !important;
}

/* ラベル */
body.ilchi-second-layer-company .ilchi-card-label {
  margin: 0 0 6px !important;
  color: #f26a21 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

/* 会社概要カード */
body.ilchi-second-layer-company .ilchi-company-card {
  margin: 0 0 64px !important;
  padding: 34px !important;
  background: #fff !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08) !important;
  box-sizing: border-box !important;
}

/* 見出し */
body.ilchi-second-layer-company .ilchi-company-card h2 {
  margin: 0 0 28px !important;
  padding: 0 0 14px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #eadfd8 !important;
  color: #222 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
}

/* テーマ由来の青線・装飾を消す */
body.ilchi-second-layer-company .ilchi-company-card h2::before,
body.ilchi-second-layer-company .ilchi-company-card h2::after {
  content: none !important;
  display: none !important;
}

body.ilchi-second-layer-company .ilchi-company-card h2 {
  background-image: none !important;
  text-decoration: none !important;
}

/* 会社情報リスト */
body.ilchi-second-layer-company .ilchi-company-list {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid #f1e2da !important;
}

body.ilchi-second-layer-company .ilchi-company-list > div {
  display: grid !important;
  grid-template-columns: 180px 1fr !important;
  gap: 28px !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid #f1e2da !important;
}

body.ilchi-second-layer-company .ilchi-company-list dt {
  margin: 0 !important;
  color: #f26a21 !important;
  font-weight: 700 !important;
}

body.ilchi-second-layer-company .ilchi-company-list dd {
  margin: 0 !important;
  color: #333 !important;
}

/* 公式サイト案内 */
body.ilchi-second-layer-company .ilchi-company-official {
  margin-top: 34px !important;
  padding: 24px 26px !important;
  background: #fff8f3 !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 18px !important;
  text-align: left !important;
}

body.ilchi-second-layer-company .ilchi-company-official__label {
  margin: 0 0 8px !important;
  color: #f26a21 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

body.ilchi-second-layer-company .ilchi-company-official p {
  margin: 0 0 12px !important;
  color: #333 !important;
}

/* 通常リンク */
body.ilchi-second-layer-company .ilchi-company-official a {
  color: #1f6fb2 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  word-break: break-all !important;
}

/* 公式サイトボタン */
body.ilchi-second-layer-company .ilchi-company-official__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 180px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 14px 0 0 !important;
  padding: 0 24px !important;
  background: #fff !important;
  border: 1px solid #f0b899 !important;
  border-radius: 999px !important;
  color: #1f6fb2 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 3px 8px rgba(120, 70, 30, 0.08) !important;
  box-sizing: border-box !important;
  transform: none !important;
}

body.ilchi-second-layer-company .ilchi-company-official__button span {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

body.ilchi-second-layer-company .ilchi-company-official__button:hover {
  background: #fff1e8 !important;
  border-color: #f28f5b !important;
  color: #d95f24 !important;
  text-decoration: none !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body.ilchi-second-layer-company .siteContent {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body.ilchi-second-layer-company .siteContent .mainSection,
  body.ilchi-second-layer-company .siteContent .entry-body,
  body.ilchi-second-layer-company .siteContent .entry-content,
  body.ilchi-second-layer-company .siteContent article {
    max-width: 100% !important;
    padding: 0 20px !important;
  }

  body.ilchi-second-layer-company .entry-body,
  body.ilchi-second-layer-company .entry-content,
  body.ilchi-second-layer-company .mainSection {
    font-size: 14px !important;
    line-height: 1.85 !important;
  }

  body.ilchi-second-layer-company .ilchi-company-card {
    padding: 22px !important;
    border-radius: 18px !important;
  }

  body.ilchi-second-layer-company .ilchi-company-card h2 {
    margin-bottom: 20px !important;
    font-size: 20px !important;
  }

  body.ilchi-second-layer-company .ilchi-company-list > div {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding: 16px 0 !important;
  }

  body.ilchi-second-layer-company .ilchi-company-list dt {
    font-size: 13px !important;
  }

  body.ilchi-second-layer-company .ilchi-company-official {
    margin-top: 26px !important;
    padding: 20px !important;
    border-radius: 16px !important;
  }

  body.ilchi-second-layer-company .ilchi-company-official__button {
    display: flex !important;
    width: 100% !important;
    max-width: 240px !important;
    margin: 14px auto 0 !important;
    padding: 0 20px !important;
  }
}
/* =========================================================
   privacyページ互換対応
   .mainSection が存在しないLightning環境用
   吉野教室 privacy 確認用
========================================================= */

/* サイドバー非表示・本文幅調整 */
body.ilchi-second-layer-privacy .siteContent {
  padding-top: 42px;
}

body.ilchi-second-layer-privacy .siteContent .container,
body.ilchi-second-layer-privacy .siteContent .container-fluid {
  max-width: 1160px !important;
}

body.ilchi-second-layer-privacy .siteContent .sideSection,
body.ilchi-second-layer-privacy .siteContent .subSection,
body.ilchi-second-layer-privacy .siteContent .sideSction,
body.ilchi-second-layer-privacy .siteContent aside,
body.ilchi-second-layer-privacy .siteContent .sidebar,
body.ilchi-second-layer-privacy .siteContent .widget-area,
body.ilchi-second-layer-privacy #secondary {
  display: none !important;
}

body.ilchi-second-layer-privacy .siteContent .mainSection,
body.ilchi-second-layer-privacy .siteContent .entry-body,
body.ilchi-second-layer-privacy .siteContent .entry-content,
body.ilchi-second-layer-privacy .siteContent article {
  float: none !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}

/* フォントを2階層目ページで統一 */
body.ilchi-second-layer-privacy,
body.ilchi-second-layer-privacy p,
body.ilchi-second-layer-privacy li,
body.ilchi-second-layer-privacy dt,
body.ilchi-second-layer-privacy dd,
body.ilchi-second-layer-privacy th,
body.ilchi-second-layer-privacy td,
body.ilchi-second-layer-privacy a,
body.ilchi-second-layer-privacy h2,
body.ilchi-second-layer-privacy h3,
body.ilchi-second-layer-privacy h4 {
  font-family:
    "Hiragino Sans",
    "Yu Gothic",
    "Yu Gothic Medium",
    "Meiryo",
    sans-serif !important;
}

/* ページ内メニュー */
body.ilchi-second-layer-privacy .ilchi-page-anchor-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 760px;
  margin: 0 auto 42px;
  padding: 0;
  background: transparent;
  border: none;
}

body.ilchi-second-layer-privacy .ilchi-page-anchor-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  background: #fff;
  border: 1px solid #f0b899;
  border-radius: 999px;
  color: #1f6fb2;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(120, 70, 30, 0.06);
}

body.ilchi-second-layer-privacy .ilchi-page-anchor-nav a:hover {
  background: #fff1e8;
  border-color: #f28f5b;
  color: #d95f24;
  text-decoration: none;
}

/* セクション見出し */
body.ilchi-second-layer-privacy .ilchi-section-title {
  display: flex;
  align-items: center;
  margin: 52px 0 28px;
  padding: 14px 18px;
  background: #fff7f2;
  border: none !important;
  border-left: 6px solid #f26a21 !important;
  border-radius: 10px;
  color: #e85f1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: 0 4px 14px rgba(120, 70, 30, 0.06);
}

body.ilchi-second-layer-privacy .ilchi-section-title::before,
body.ilchi-second-layer-privacy .ilchi-section-title::after {
  content: none !important;
  display: none !important;
}

/* プライバシーポリシーカード */
body.ilchi-second-layer-privacy .ilchi-privacy-card {
  margin: 0 0 56px;
  padding: 36px 40px;
  background: #fff;
  border: 1px solid #f3dfd4;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08);
  box-sizing: border-box;
}

/* ラベル */
body.ilchi-second-layer-privacy .ilchi-card-label,
body.ilchi-second-layer-privacy .ilchi-privacy-card__label {
  margin: 0 0 8px;
  color: #f26a21;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

/* リード文 */
body.ilchi-second-layer-privacy .ilchi-privacy-lead {
  margin: 0 0 32px;
  padding: 22px 24px;
  background: #fff8f3;
  border: 1px solid #f3dfd4;
  border-radius: 16px;
  color: #444;
  line-height: 1.9;
}

body.ilchi-second-layer-privacy .ilchi-privacy-lead p {
  margin: 0 0 1em;
}

body.ilchi-second-layer-privacy .ilchi-privacy-lead p:last-child {
  margin-bottom: 0;
}

/* 本文内見出し */
body.ilchi-second-layer-privacy .ilchi-privacy-card h3,
body.ilchi-second-layer-privacy .ilchi-privacy-section h3 {
  margin: 34px 0 16px !important;
  padding: 0 0 0 14px !important;
  background: transparent !important;
  border: none !important;
  border-left: 4px solid #f26a21 !important;
  color: #333 !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  box-shadow: none !important;
}

body.ilchi-second-layer-privacy .ilchi-privacy-card h4,
body.ilchi-second-layer-privacy .ilchi-privacy-section h4 {
  margin: 26px 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: #f26a21 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

/* 本文 */
body.ilchi-second-layer-privacy .ilchi-privacy-card p,
body.ilchi-second-layer-privacy .ilchi-privacy-section p {
  margin: 0 0 1.35em;
  color: #333;
  font-size: 15px;
  line-height: 1.95;
}

/* リスト */
body.ilchi-second-layer-privacy .ilchi-privacy-card ul,
body.ilchi-second-layer-privacy .ilchi-privacy-card ol,
body.ilchi-second-layer-privacy .ilchi-privacy-section ul,
body.ilchi-second-layer-privacy .ilchi-privacy-section ol {
  margin: 0 0 1.5em;
  padding-left: 1.4em;
  color: #333;
  line-height: 1.9;
}

body.ilchi-second-layer-privacy .ilchi-privacy-card li,
body.ilchi-second-layer-privacy .ilchi-privacy-section li {
  margin: 0 0 0.45em;
}

/* 連絡先・補足ボックス */
body.ilchi-second-layer-privacy .ilchi-privacy-note,
body.ilchi-second-layer-privacy .ilchi-privacy-contact {
  margin: 28px 0;
  padding: 22px 24px;
  background: #fff8f3;
  border: 1px solid #f3dfd4;
  border-radius: 16px;
  line-height: 1.9;
}

/* リンク */
body.ilchi-second-layer-privacy .ilchi-privacy-card a,
body.ilchi-second-layer-privacy .ilchi-privacy-section a {
  color: #1f6fb2;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.ilchi-second-layer-privacy .ilchi-privacy-card a:hover,
body.ilchi-second-layer-privacy .ilchi-privacy-section a:hover {
  color: #d95f24;
}

/* テーマ由来の青線・装飾を消す */
body.ilchi-second-layer-privacy .ilchi-privacy-card h2,
body.ilchi-second-layer-privacy .ilchi-privacy-card h3,
body.ilchi-second-layer-privacy .ilchi-privacy-card h4 {
  background-image: none !important;
  text-decoration: none !important;
}

body.ilchi-second-layer-privacy .ilchi-privacy-card h2::before,
body.ilchi-second-layer-privacy .ilchi-privacy-card h2::after,
body.ilchi-second-layer-privacy .ilchi-privacy-card h3::before,
body.ilchi-second-layer-privacy .ilchi-privacy-card h3::after,
body.ilchi-second-layer-privacy .ilchi-privacy-card h4::before,
body.ilchi-second-layer-privacy .ilchi-privacy-card h4::after {
  content: none !important;
  display: none !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body.ilchi-second-layer-privacy .siteContent {
    padding-top: 28px;
  }

  body.ilchi-second-layer-privacy .siteContent .mainSection,
  body.ilchi-second-layer-privacy .siteContent .entry-body,
  body.ilchi-second-layer-privacy .siteContent .entry-content,
  body.ilchi-second-layer-privacy .siteContent article {
    max-width: 100% !important;
    padding: 0 20px !important;
  }

  body.ilchi-second-layer-privacy .ilchi-page-anchor-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 10px !important;
    max-width: 340px !important;
    margin: 18px auto 28px !important;
  }

  body.ilchi-second-layer-privacy .ilchi-page-anchor-nav a {
    min-height: 38px !important;
    padding: 7px 6px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body.ilchi-second-layer-privacy .ilchi-section-title {
    margin: 38px 0 22px;
    padding: 12px 14px;
    border-left-width: 5px !important;
    border-radius: 8px;
    font-size: 20px;
  }

  body.ilchi-second-layer-privacy .ilchi-privacy-card {
    margin-bottom: 42px;
    padding: 24px 22px;
    border-radius: 18px;
  }

  body.ilchi-second-layer-privacy .ilchi-privacy-lead,
  body.ilchi-second-layer-privacy .ilchi-privacy-note,
  body.ilchi-second-layer-privacy .ilchi-privacy-contact {
    padding: 18px;
    border-radius: 14px;
  }

  body.ilchi-second-layer-privacy .ilchi-privacy-card h3,
  body.ilchi-second-layer-privacy .ilchi-privacy-section h3 {
    margin: 28px 0 14px !important;
    font-size: 18px !important;
  }

  body.ilchi-second-layer-privacy .ilchi-privacy-card p,
  body.ilchi-second-layer-privacy .ilchi-privacy-section p,
  body.ilchi-second-layer-privacy .ilchi-privacy-card li,
  body.ilchi-second-layer-privacy .ilchi-privacy-section li {
    font-size: 14px;
    line-height: 1.9;
  }
}
/* =========================================
   privacy ページ内ボタン調整
   吉野用
========================================= */

body.ilchi-second-layer-privacy .ilchi-page-anchor-nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
  gap: 12px 14px !important;
  max-width: 780px !important;
  margin: 28px auto 42px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-sizing: border-box !important;
}

/* br が空セルになるのを防ぐ */
body.ilchi-second-layer-privacy .ilchi-page-anchor-nav br {
  display: none !important;
}

/* もし p に包まれている場合の保険 */
body.ilchi-second-layer-privacy .ilchi-page-anchor-nav p {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ボタン本体 */
body.ilchi-second-layer-privacy .ilchi-page-anchor-nav a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 8px 14px !important;
  background: #fff !important;
  border: 1px solid #f0b899 !important;
  border-radius: 999px !important;
  color: #1f6fb2 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(120, 70, 30, 0.06) !important;
  box-sizing: border-box !important;
}

body.ilchi-second-layer-privacy .ilchi-page-anchor-nav a:hover {
  background: #fff7f2 !important;
  border-color: #f26a21 !important;
  color: #d95f24 !important;
}

/* スマホ */
@media (max-width: 767px) {
  body.ilchi-second-layer-privacy .ilchi-page-anchor-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    max-width: 340px !important;
    margin: 20px auto 30px !important;
  }

  body.ilchi-second-layer-privacy .ilchi-page-anchor-nav a {
    min-height: 38px !important;
    padding: 8px 8px !important;
    font-size: 13px !important;
  }
}
/* =========================================================
   吉野 studio スマホ表示調整
   iPhone SE 幅対応
========================================================= */

@media screen and (max-width: 767px) {

  /* ---------------------------------
     1) 本文幅・余白を安定させる
  ---------------------------------- */
  body.ilchi-second-layer-studio .siteContent,
  body.ilchi-second-layer-studio .siteContent .container,
  body.ilchi-second-layer-studio .siteContent .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.ilchi-second-layer-studio .siteContent .entry-body,
  body.ilchi-second-layer-studio .siteContent .entry-content,
  body.ilchi-second-layer-studio .siteContent article {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  /* ---------------------------------
     2) ページ内メニューをスマホで整える
  ---------------------------------- */
  body.ilchi-second-layer-studio .ilchi-page-anchor-nav {
    grid-template-columns: 1fr !important;
    max-width: 220px !important;
    gap: 8px !important;
    margin: 26px auto 28px !important;
  }

  body.ilchi-second-layer-studio .ilchi-page-anchor-nav a {
    min-height: 36px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
  }

  /* ---------------------------------
     3) セクション見出し
  ---------------------------------- */
  body.ilchi-second-layer-studio .ilchi-section-title {
    width: 100% !important;
    margin: 32px 0 20px !important;
    padding: 12px 14px !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
  }

  /* ---------------------------------
     4) カード幅・余白
  ---------------------------------- */
  body.ilchi-second-layer-studio .ilchi-studio-card {
    width: 100% !important;
    margin: 0 0 38px !important;
    padding: 22px 18px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
  }

  body.ilchi-second-layer-studio .ilchi-studio-card h3 {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  /* ---------------------------------
     5) スタッフ写真
  ---------------------------------- */
  body.ilchi-second-layer-studio .ilchi-staff-card__photo {
    max-width: 210px !important;
    margin: 0 auto 20px !important;
  }

  body.ilchi-second-layer-studio .ilchi-staff-card__inner {
    gap: 18px !important;
  }

  /* ---------------------------------
     6) スケジュール表をスマホ用に少しコンパクト化
  ---------------------------------- */
  body.ilchi-second-layer-studio .ilchi-table-scroll {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-table {
    min-width: 560px !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-table th,
  body.ilchi-second-layer-studio .ilchi-schedule-table td {
    padding: 11px 8px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-table td {
    font-size: 15px !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-table tbody th {
    white-space: nowrap !important;
  }

  /* ---------------------------------
     7) 料金表もスマホで見切れすぎないように
  ---------------------------------- */
  body.ilchi-second-layer-studio .ilchi-price-table {
    min-width: 640px !important;
  }

  body.ilchi-second-layer-studio .ilchi-price-table th,
  body.ilchi-second-layer-studio .ilchi-price-table td {
    padding: 12px 9px !important;
    font-size: 12px !important;
  }

  body.ilchi-second-layer-studio .ilchi-price-amount {
    font-size: 16px !important;
  }

  /* ---------------------------------
     8) ハンバーガーメニューが本文にかぶる対策
     Lightning / ExUnit のモバイルメニュー用
  ---------------------------------- */
  body.ilchi-second-layer-studio .vk-mobile-nav-menu-btn,
  body.ilchi-second-layer-studio .mobile-nav-menu-btn,
  body.ilchi-second-layer-studio .menu-toggle,
  body.ilchi-second-layer-studio .navbar-toggle {
    z-index: 9999 !important;
  }

  /* スクロール中に本文へ残る場合はいったん非表示 */
  body.ilchi-second-layer-studio .siteContent .vk-mobile-nav-menu-btn,
  body.ilchi-second-layer-studio .siteContent .mobile-nav-menu-btn,
  body.ilchi-second-layer-studio .siteContent .menu-toggle,
  body.ilchi-second-layer-studio .siteContent .navbar-toggle {
    display: none !important;
  }

  /* ---------------------------------
     9) 右下の戻るボタンが表にかぶりすぎる場合
  ---------------------------------- */
  body.ilchi-second-layer-studio .page_top_btn,
  body.ilchi-second-layer-studio #page_top,
  body.ilchi-second-layer-studio .vk_page_top {
    right: 10px !important;
    bottom: 12px !important;
    transform: scale(0.86) !important;
    transform-origin: right bottom !important;
  }
}
/* =========================================================
   2階層目スマホ調整
   ハンバーガー重なり・studioスケジュール表調整
========================================================= */

@media screen and (max-width: 767px) {

  /* ---------------------------------
     1) Lightningのハンバーガーボタンが本文にかぶる対策
     固定表示をやめて、ページ上部だけに表示
  ---------------------------------- */
  body.ilchi-second-layer-page .vk-mobile-nav-menu-btn,
  body.ilchi-second-layer-page .mobile-nav-menu-btn,
  body.ilchi-second-layer-page .menu-toggle,
  body.ilchi-second-layer-page .navbar-toggle {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    z-index: 9999 !important;
  }

  /* ---------------------------------
     2) studioページ：スケジュール表をスマホで読みやすく
  ---------------------------------- */
  body.ilchi-second-layer-studio .ilchi-table-scroll {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 8px !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-table {
    min-width: 680px !important;
    table-layout: fixed !important;
  }

  body.ilchi-second-layer-studio .ilchi-schedule-table th,
  body.ilchi-second-layer-studio .ilchi-schedule-table td {
    padding: 12px 10px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
  }

  /* 時間列を広めに確保 */
  body.ilchi-second-layer-studio .ilchi-schedule-table thead th:first-child,
  body.ilchi-second-layer-studio .ilchi-schedule-table tbody th {
    width: 120px !important;
    min-width: 120px !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  /* 曜日列 */
  body.ilchi-second-layer-studio .ilchi-schedule-table thead th:not(:first-child),
  body.ilchi-second-layer-studio .ilchi-schedule-table tbody td {
    width: 72px !important;
    min-width: 72px !important;
    text-align: center !important;
  }

  /* ○の表示 */
  body.ilchi-second-layer-studio .ilchi-schedule-table tbody td {
    color: #f26a21 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
  }

  /* カード内で表が窮屈になりすぎないように */
  body.ilchi-second-layer-studio .ilchi-schedule-card {
    overflow: hidden !important;
  }
}
/* =========================================================
   2階層目スマホ：ページ内ボタンの上下余白を詰める
========================================================= */
@media screen and (max-width: 767px) {

  body.ilchi-second-layer-page .ilchi-page-anchor-nav {
    gap: 5px !important;
    margin: 14px auto 20px !important;
  }

  body.ilchi-second-layer-page .ilchi-page-anchor-nav a {
    min-height: 32px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

}
/* =========================================================
   札幌 studio：営業時間見出しとカードの間隔調整
========================================================= */

body.ilchi-second-layer-studio h2#hours.ilchi-section-title {
  margin-top: 72px !important;
  margin-bottom: 26px !important;
}

/* 営業時間カード側に余計な上詰め指定がある場合の保険 */
body.ilchi-second-layer-studio h2#hours.ilchi-section-title + section.ilchi-hours-card,
body.ilchi-second-layer-studio h2#hours.ilchi-section-title + .ilchi-hours-card {
  margin-top: 0 !important;
}
/* =========================================================
   札幌 studio：営業時間見出し下の余白調整
========================================================= */

body.ilchi-second-layer-studio .mainSection section.ilchi-studio-card.ilchi-hours-card,
body.ilchi-second-layer-studio .entry-body section.ilchi-studio-card.ilchi-hours-card,
body.ilchi-second-layer-studio .entry-content section.ilchi-studio-card.ilchi-hours-card {
  margin-top: 28px !important;
}
/* =========================================================
   札幌 studio：営業時間見出し下の余白を強制調整
========================================================= */

/* 営業時間の見出し */
body.ilchi-second-layer-studio h2#hours.ilchi-section-title {
  margin-bottom: 32px !important;
}

/* 営業時間カードを上に詰める指定をリセットして、余白を確保 */
body.ilchi-second-layer-studio h2#hours.ilchi-section-title + section.ilchi-studio-card.ilchi-hours-card,
body.ilchi-second-layer-studio h2#hours.ilchi-section-title ~ section.ilchi-studio-card.ilchi-hours-card,
body.ilchi-second-layer-studio .mainSection h2#hours.ilchi-section-title + section.ilchi-studio-card.ilchi-hours-card,
body.ilchi-second-layer-studio .entry-body h2#hours.ilchi-section-title + section.ilchi-studio-card.ilchi-hours-card,
body.ilchi-second-layer-studio .entry-content h2#hours.ilchi-section-title + section.ilchi-studio-card.ilchi-hours-card {
  margin-top: 32px !important;
  position: relative !important;
  top: auto !important;
  transform: none !important;
}
/* どうしても開かない場合の最終強制版 */
body.ilchi-second-layer-studio section.ilchi-studio-card.ilchi-hours-card {
  position: relative !important;
  top: 32px !important;
  margin-bottom: 88px !important;
}
/* =========================================================
   faqページ互換対応
   .mainSection が存在しないLightning環境用
   吉野教室 faq 確認用
========================================================= */

/* サイドバー非表示・本文幅調整 */
body.ilchi-second-layer-faq .siteContent {
  padding-top: 42px;
}

body.ilchi-second-layer-faq .siteContent .container,
body.ilchi-second-layer-faq .siteContent .container-fluid {
  max-width: 1160px !important;
}

body.ilchi-second-layer-faq .siteContent .sideSection,
body.ilchi-second-layer-faq .siteContent .subSection,
body.ilchi-second-layer-faq .siteContent .sideSction,
body.ilchi-second-layer-faq .siteContent aside,
body.ilchi-second-layer-faq .siteContent .sidebar,
body.ilchi-second-layer-faq .siteContent .widget-area,
body.ilchi-second-layer-faq #secondary {
  display: none !important;
}

body.ilchi-second-layer-faq .siteContent .mainSection,
body.ilchi-second-layer-faq .siteContent .entry-body,
body.ilchi-second-layer-faq .siteContent .entry-content,
body.ilchi-second-layer-faq .siteContent article {
  float: none !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}

/* フォント統一 */
body.ilchi-second-layer-faq,
body.ilchi-second-layer-faq p,
body.ilchi-second-layer-faq li,
body.ilchi-second-layer-faq dt,
body.ilchi-second-layer-faq dd,
body.ilchi-second-layer-faq th,
body.ilchi-second-layer-faq td,
body.ilchi-second-layer-faq a,
body.ilchi-second-layer-faq h2,
body.ilchi-second-layer-faq h3,
body.ilchi-second-layer-faq h4,
body.ilchi-second-layer-faq summary {
  font-family:
    "Hiragino Sans",
    "Yu Gothic",
    "Yu Gothic Medium",
    "Meiryo",
    sans-serif !important;
}

/* ページ内メニュー */
body.ilchi-second-layer-faq .ilchi-page-anchor-nav {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  max-width: 860px !important;
  margin: 0 auto 42px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-sizing: border-box !important;
}

body.ilchi-second-layer-faq .ilchi-page-anchor-nav br {
  display: none !important;
}

body.ilchi-second-layer-faq .ilchi-page-anchor-nav p {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ilchi-second-layer-faq .ilchi-page-anchor-nav a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 8px 14px !important;
  background: #fff !important;
  border: 1px solid #f0b899 !important;
  border-radius: 999px !important;
  color: #1f6fb2 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(120, 70, 30, 0.06) !important;
}

body.ilchi-second-layer-faq .ilchi-page-anchor-nav a:hover {
  background: #fff7f2 !important;
  border-color: #f26a21 !important;
  color: #d95f24 !important;
  text-decoration: none !important;
}

/* セクション見出し */
body.ilchi-second-layer-faq .ilchi-section-title {
  display: flex !important;
  align-items: center !important;
  margin: 52px 0 28px !important;
  padding: 14px 18px !important;
  background: #fff7f2 !important;
  border: none !important;
  border-left: 6px solid #f26a21 !important;
  border-radius: 10px !important;
  color: #e85f1f !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  box-shadow: 0 4px 14px rgba(120, 70, 30, 0.06) !important;
}

body.ilchi-second-layer-faq .ilchi-section-title::before,
body.ilchi-second-layer-faq .ilchi-section-title::after {
  content: none !important;
  display: none !important;
}

/* FAQ全体カード */
body.ilchi-second-layer-faq .ilchi-faq-card {
  margin: 0 0 56px !important;
  padding: 34px 40px !important;
  background: #fff !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.08) !important;
  box-sizing: border-box !important;
}

/* ラベル */
body.ilchi-second-layer-faq .ilchi-card-label,
body.ilchi-second-layer-faq .ilchi-faq-card__label {
  margin: 0 0 8px !important;
  color: #f26a21 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
}

/* FAQカード内見出し */
body.ilchi-second-layer-faq .ilchi-faq-card h3 {
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #eadfd8 !important;
  color: #222 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
}

body.ilchi-second-layer-faq .ilchi-faq-card h3::before,
body.ilchi-second-layer-faq .ilchi-faq-card h3::after {
  content: none !important;
  display: none !important;
}

/* リード文 */
body.ilchi-second-layer-faq .ilchi-faq-lead {
  margin: 0 0 28px !important;
  padding: 20px 22px !important;
  background: #fff8f3 !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 16px !important;
  color: #444 !important;
  line-height: 1.9 !important;
}

body.ilchi-second-layer-faq .ilchi-faq-lead p {
  margin: 0 0 1em !important;
}

body.ilchi-second-layer-faq .ilchi-faq-lead p:last-child {
  margin-bottom: 0 !important;
}

/* FAQ項目 */
body.ilchi-second-layer-faq .ilchi-faq-item {
  margin: 0 0 14px !important;
  background: #fff !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(120, 70, 30, 0.04) !important;
}

body.ilchi-second-layer-faq .ilchi-faq-item:last-child {
  margin-bottom: 0 !important;
}

/* summary */
body.ilchi-second-layer-faq .ilchi-faq-item summary {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  min-height: 56px !important;
  padding: 18px 54px 18px 22px !important;
  background: #fffaf7 !important;
  color: #222 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
  cursor: pointer !important;
  list-style: none !important;
}

body.ilchi-second-layer-faq .ilchi-faq-item summary::-webkit-details-marker {
  display: none !important;
}

/* Qマーク */
body.ilchi-second-layer-faq .ilchi-faq-item summary::before {
  content: "Q" !important;
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 1px !important;
  background: #f26a21 !important;
  border-radius: 50% !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* + / - */
body.ilchi-second-layer-faq .ilchi-faq-item summary::after {
  content: "+" !important;
  position: absolute !important;
  top: 18px !important;
  right: 22px !important;
  color: #f26a21 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body.ilchi-second-layer-faq .ilchi-faq-item[open] summary::after {
  content: "−" !important;
}

/* 回答本文 */
body.ilchi-second-layer-faq .ilchi-faq-answer {
  position: relative !important;
  padding: 0 24px 22px 62px !important;
  background: #fff !important;
  color: #333 !important;
  line-height: 1.9 !important;
  font-size: 15px !important;
}

body.ilchi-second-layer-faq .ilchi-faq-answer::before {
  content: "A" !important;
  position: absolute !important;
  left: 24px !important;
  top: 2px !important;
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #65cfc6 !important;
  border-radius: 50% !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body.ilchi-second-layer-faq .ilchi-faq-answer p {
  margin: 0 0 1em !important;
}

body.ilchi-second-layer-faq .ilchi-faq-answer p:last-child {
  margin-bottom: 0 !important;
}

/* details内に直接pがある場合の保険 */
body.ilchi-second-layer-faq .ilchi-faq-item > p,
body.ilchi-second-layer-faq .ilchi-faq-item > div {
  padding: 0 24px 22px 62px !important;
  margin: 0 !important;
  line-height: 1.9 !important;
  color: #333 !important;
}

/* テーマ由来の青線・装飾を消す */
body.ilchi-second-layer-faq h2,
body.ilchi-second-layer-faq h3,
body.ilchi-second-layer-faq h4,
body.ilchi-second-layer-faq summary {
  background-image: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.ilchi-second-layer-faq h2::before,
body.ilchi-second-layer-faq h2::after,
body.ilchi-second-layer-faq h3::before,
body.ilchi-second-layer-faq h3::after,
body.ilchi-second-layer-faq h4::before,
body.ilchi-second-layer-faq h4::after {
  content: none !important;
  display: none !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body.ilchi-second-layer-faq .siteContent {
    padding-top: 28px !important;
  }

  body.ilchi-second-layer-faq .siteContent .mainSection,
  body.ilchi-second-layer-faq .siteContent .entry-body,
  body.ilchi-second-layer-faq .siteContent .entry-content,
  body.ilchi-second-layer-faq .siteContent article {
    max-width: 100% !important;
    padding: 0 18px !important;
  }

  body.ilchi-second-layer-faq .ilchi-page-anchor-nav {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    max-width: 240px !important;
    margin: 18px auto 28px !important;
  }

  body.ilchi-second-layer-faq .ilchi-page-anchor-nav a {
    min-height: 34px !important;
    padding: 5px 12px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body.ilchi-second-layer-faq .ilchi-section-title {
    margin: 34px 0 20px !important;
    padding: 12px 14px !important;
    border-left-width: 5px !important;
    border-radius: 8px !important;
    font-size: 19px !important;
  }

  body.ilchi-second-layer-faq .ilchi-faq-card {
    margin-bottom: 42px !important;
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  body.ilchi-second-layer-faq .ilchi-faq-card h3 {
    font-size: 19px !important;
  }

  body.ilchi-second-layer-faq .ilchi-faq-lead {
    padding: 18px !important;
    border-radius: 14px !important;
  }

  body.ilchi-second-layer-faq .ilchi-faq-item summary {
    min-height: 52px !important;
    padding: 15px 46px 15px 16px !important;
    gap: 10px !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  body.ilchi-second-layer-faq .ilchi-faq-item summary::before {
    flex-basis: 26px !important;
    width: 26px !important;
    height: 26px !important;
    font-size: 13px !important;
  }

  body.ilchi-second-layer-faq .ilchi-faq-item summary::after {
    top: 16px !important;
    right: 16px !important;
    font-size: 22px !important;
  }

  body.ilchi-second-layer-faq .ilchi-faq-answer,
  body.ilchi-second-layer-faq .ilchi-faq-item > p,
  body.ilchi-second-layer-faq .ilchi-faq-item > div {
    padding: 0 18px 20px 52px !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  body.ilchi-second-layer-faq .ilchi-faq-answer::before {
    left: 16px !important;
    width: 26px !important;
    height: 26px !important;
    font-size: 13px !important;
  }
}
/* =========================================================
   生駒 スタジオ概要：スマホ表示微調整
   iPhone SE 幅で本文が細かく折り返される問題を調整
========================================================= */

@media screen and (max-width: 767px) {
  body.ilchi-second-layer-company .siteContent .mainSection,
  body.ilchi-second-layer-company .siteContent .entry-body,
  body.ilchi-second-layer-company .siteContent .entry-content,
  body.ilchi-second-layer-company .siteContent article {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.ilchi-second-layer-company .ilchi-company-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px 18px !important;
    border-radius: 18px !important;
  }

  body.ilchi-second-layer-company .ilchi-company-list > div {
    display: block !important;
    padding: 16px 0 !important;
  }

  body.ilchi-second-layer-company .ilchi-company-list dt {
    margin: 0 0 8px !important;
    padding-left: 10px !important;
    border-left: 3px solid #f26a21 !important;
    color: #f26a21 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  body.ilchi-second-layer-company .ilchi-company-list dd {
    margin: 0 !important;
    padding-left: 0 !important;
    border-left: none !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.ilchi-second-layer-company .ilchi-company-official {
    padding: 18px !important;
  }

  body.ilchi-second-layer-company .ilchi-company-official__button {
    width: 100% !important;
    max-width: 220px !important;
  }
}
/* =========================================================
   生駒 サイトマップ：表示調整
========================================================= */

body.ilchi-second-layer-sitemap .ilchi-sitemap-card {
  max-width: 860px !important;
  margin: 40px auto 70px !important;
  padding: 34px 38px !important;
  background: #fff !important;
  border: 1px solid #f3dfd4 !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 30px rgba(120, 70, 40, 0.08) !important;
}

body.ilchi-second-layer-sitemap .ilchi-sitemap-lead {
  margin: 0 0 28px !important;
  line-height: 1.9 !important;
}

body.ilchi-second-layer-sitemap .ilchi-sitemap-section {
  margin: 0 0 30px !important;
}

body.ilchi-second-layer-sitemap .ilchi-sitemap-section h3 {
  margin: 0 0 14px !important;
  padding: 0 0 10px !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
  border-bottom: 1px solid #f3dfd4 !important;
}

body.ilchi-second-layer-sitemap .ilchi-sitemap-section ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.ilchi-second-layer-sitemap .ilchi-sitemap-section li {
  margin: 0 !important;
  padding: 12px 0 12px 18px !important;
  border-bottom: 1px solid #f6e7df !important;
  position: relative !important;
}

body.ilchi-second-layer-sitemap .ilchi-sitemap-section li::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #f26a21 !important;
  position: absolute !important;
  left: 0 !important;
  top: 20px !important;
}

body.ilchi-second-layer-sitemap .ilchi-sitemap-section a {
  color: #1f6fb2 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.ilchi-second-layer-sitemap .ilchi-sitemap-section a:hover {
  text-decoration: underline !important;
}

@media screen and (max-width: 767px) {
  body.ilchi-second-layer-sitemap .ilchi-sitemap-card {
    margin: 28px auto 50px !important;
    padding: 24px 20px !important;
    border-radius: 18px !important;
  }

  body.ilchi-second-layer-sitemap .ilchi-sitemap-section h3 {
    font-size: 19px !important;
  }
}
/* =========================================================
   ISSYA / STUDIO PAGE SUPPORT
   /studio/ 2階層目補助CSS
========================================================= */

.iby-second-page {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px 56px;
}

.iby-page-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 36px;
  padding: 18px;
  background: #f7fbfb;
  border: 1px solid #dceeee;
  border-radius: 14px;
}

.iby-page-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 15px;
  border-radius: 999px;
  background: #ffffff;
  color: #236d6a;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.4;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

.iby-section {
  margin: 0 0 56px;
}

.iby-section-title {
  margin: 0 0 22px;
  padding: 0 0 12px;
  color: #236d6a;
  font-size: 1.55rem;
  font-weight: 700;
  border-bottom: 2px solid #3ac1bd;
}

.iby-staff-card {
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 30px;
  align-items: start;
}

.iby-staff-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

.iby-staff-role {
  margin: 0 0 6px;
  font-weight: 700;
  color: #236d6a;
}

.iby-staff-name {
  margin: 0 0 16px;
  font-size: 1.35rem;
}

.iby-mini-title {
  margin: 24px 0 10px;
  padding-left: 12px;
  border-left: 4px solid #3ac1bd;
  font-size: 1.05rem;
}

.iby-list {
  margin: 0 0 16px 1.2em;
  padding: 0;
}

.iby-info-box {
  padding: 24px;
  background: #f8fbfb;
  border: 1px solid #dceeee;
  border-radius: 16px;
}

.iby-info-box h3 {
  margin: 0 0 18px;
  font-size: 1.25rem;
}

.iby-store-label {
  display: inline-block;
  margin-left: .5em;
  padding: 3px 10px;
  border-radius: 999px;
  background: #3ac1bd;
  color: #fff;
  font-size: .82em;
  vertical-align: middle;
}

.iby-info-list {
  margin: 0;
}

.iby-info-list div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid #e4eeee;
}

.iby-info-list div:first-child {
  border-top: 0;
}

.iby-info-list dt {
  font-weight: 700;
  color: #236d6a;
}

.iby-info-list dd {
  margin: 0;
}

.iby-lead {
  font-weight: 700;
  color: #236d6a;
}

.iby-map {
  margin-top: 20px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 16px;
}

.iby-map iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.iby-table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.iby-schedule-table,
.iby-price-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  background: #fff;
}

.iby-schedule-table th,
.iby-schedule-table td,
.iby-price-table th,
.iby-price-table td {
  padding: 13px 12px;
  border: 1px solid #d8e7e7;
  text-align: center;
  vertical-align: middle;
}

.iby-schedule-table thead th,
.iby-price-table thead th {
  background: #eaf8f7;
  color: #236d6a;
  font-weight: 700;
}

.iby-schedule-table tbody th,
.iby-price-table tbody th {
  background: #f7fbfb;
  color: #236d6a;
  font-weight: 700;
}

.iby-note {
  margin-top: 12px;
  font-size: .92rem;
}

.iby-price-highlight {
  margin-bottom: 22px;
  padding: 22px;
  text-align: center;
  background: #f8fbfb;
  border: 1px solid #dceeee;
  border-radius: 16px;
}

.iby-price-label {
  margin: 0 0 6px;
  color: #236d6a;
  font-weight: 700;
}

.iby-price-main {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
}

.iby-price-campaign {
  margin: 8px 0 0;
  color: #d64040;
  font-weight: 700;
}

@media (max-width: 767px) {
  .iby-second-page {
    padding: 0 16px 44px;
  }

  .iby-page-nav {
    gap: 8px;
    padding: 14px;
  }

  .iby-page-nav a {
    width: calc(50% - 4px);
    padding: 9px 8px;
    font-size: .9rem;
  }

  .iby-section {
    margin-bottom: 44px;
  }

  .iby-section-title {
    font-size: 1.32rem;
  }

  .iby-staff-card {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .iby-staff-photo {
    max-width: 320px;
    margin: 0 auto;
  }

  .iby-info-box {
    padding: 18px;
  }

  .iby-info-list div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .iby-store-label {
    margin: 8px 0 0;
  }
}
/* =========================================================
   ISSYA FAQ TOP WIDTH ADJUST
   /faq/ 上部リード・ページ内ナビ幅調整
========================================================= */

body.ilchi-second-layer-faq .mainSection .ilchi-faq-lead,
body.ilchi-second-layer-faq .entry-body .ilchi-faq-lead,
body.ilchi-second-layer-faq .entry-content .ilchi-faq-lead {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.ilchi-second-layer-faq .mainSection .ilchi-page-anchor-nav,
body.ilchi-second-layer-faq .entry-body .ilchi-page-anchor-nav,
body.ilchi-second-layer-faq .entry-content .ilchi-page-anchor-nav {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}