/* Fixed page styles
   Add page-specific CSS here.
   Example: body.page-id-14 .class-name { }
*/


:root {
  --page-ink: #1c1917;
  --page-muted: #78716c;
  --page-line: #d6d3d1;
  --page-bg: #fafaf9;
  --page-surface: #f5f5f4;
  --page-dark: #24201e;
  --page-accent: #c2410c;
  --page-gold: #d6a45f;
}
body.page-id-14 .after-main { width: min(88%,1200px); margin: 0 auto; padding: 82px 0 116px; }
body.page-id-14 .after-lead { display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.85fr); gap: clamp(42px,6vw,84px); align-items: center; margin-bottom: 86px; }
body.page-id-14 .after-lead-copy small,
body.page-id-14 .section-kicker { color: var(--page-accent); font-size: 11px; letter-spacing: .22em; }
body.page-id-14 .after-lead-copy h2 { margin: 16px 0 26px; font-size: clamp(31px,4vw,56px); font-weight: 400; line-height: 1.45; letter-spacing: .02em; }
body.page-id-14 .after-lead-copy p { margin: 0; color: #57534e; font-size: 15px; line-height: 2.1; }
body.page-id-14 .after-hero-image { position: relative; overflow: hidden; aspect-ratio: 4/3; background: var(--page-dark); }
body.page-id-14 .after-hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .92; }
body.page-id-14 .after-hero-image::after { position: absolute; inset: auto 0 0; height: 36%; content: ""; background: linear-gradient(0deg,rgba(15,13,12,.66),rgba(15,13,12,0)); }
body.page-id-14 .after-hero-label { position: absolute; right: 28px; bottom: 24px; color: #fff; font-size: 12px; letter-spacing: .18em; writing-mode: vertical-rl; }
body.page-id-14 .after-promise { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-bottom: 86px; background: var(--page-line); border: 1px solid var(--page-line); }
body.page-id-14 .after-promise article { min-height: 220px; padding: 34px 32px; background: #fff; }
body.page-id-14 .after-promise span { display: inline-grid; width: 42px; height: 42px; margin-bottom: 26px; color: #fff; background: var(--page-accent); place-items: center; font-family: Georgia,serif; font-size: 14px; }
body.page-id-14 .after-promise h3 { margin: 0 0 14px; font-size: 22px; font-weight: 400; line-height: 1.65; }
body.page-id-14 .after-promise p { margin: 0; color: #57534e; font-size: 13px; line-height: 2; }
body.page-id-14 .after-section { margin-top: 96px; }
body.page-id-14 .after-section-head { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 34px; padding-bottom: 20px; border-bottom: 1px solid var(--page-line); }
body.page-id-14 .after-section-head h2 { margin: 10px 0 0; font-size: clamp(27px,3.2vw,42px); font-weight: 400; line-height: 1.45; }
body.page-id-14 .after-section-head p { max-width: 520px; margin: 0; color: #57534e; font-size: 13px; line-height: 2; }
body.page-id-14 .repair-flow { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; counter-reset: flow; }
body.page-id-14 .repair-flow li { position: relative; display: grid; min-height: 210px; padding: 27px 23px; background: #fff; border: 1px solid var(--page-line); list-style: none; }
body.page-id-14 .repair-flow li::before { counter-increment: flow; content: "0" counter(flow); color: var(--page-accent); font-family: Georgia,serif; font-size: 14px; letter-spacing: .15em; }
body.page-id-14 .repair-flow h3 { margin: 25px 0 10px; font-size: 18px; font-weight: 400; line-height: 1.65; }
body.page-id-14 .repair-flow p { margin: 0; color: #57534e; font-size: 12px; line-height: 1.9; }
body.page-id-14 .nobo-block { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(36px,5vw,70px); align-items: center; padding: clamp(38px,5vw,68px); color: #fff; background: var(--page-dark); }
body.page-id-14 .nobo-title small { color: var(--page-gold); font-size: 11px; letter-spacing: .24em; }
body.page-id-14 .nobo-title h2 { margin: 14px 0 0; font-size: clamp(30px,4vw,52px); font-weight: 400; line-height: 1.45; }
body.page-id-14 .nobo-copy p { margin: 0 0 20px; color: #e7e5e4; font-size: 14px; line-height: 2.1; }
body.page-id-14 .nobo-copy p:last-child { margin-bottom: 0; }
body.page-id-14 .nobo-tags { display: flex; flex-wrap: wrap; gap: 9px; margin: 28px 0 0; padding: 0; list-style: none; }
body.page-id-14 .nobo-tags li { padding: 7px 12px; color: #fff; border: 1px solid rgba(255,255,255,.28); font-size: 11px; letter-spacing: .08em; }
body.page-id-14 .price-guide { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.page-id-14 .price-card { padding: 32px 30px; background: #fff; border: 1px solid var(--page-line); }
body.page-id-14 .price-card small { color: var(--page-accent); font-size: 11px; letter-spacing: .18em; }
body.page-id-14 .price-card h3 { margin: 13px 0 16px; font-size: 22px; font-weight: 400; }
body.page-id-14 .price-card p { margin: 0; color: #57534e; font-size: 13px; line-height: 2; }
body.page-id-14 .repair-price-table-wrap { margin-top: 36px; overflow-x: auto; border: 1px solid #26211f; background: #fff; -webkit-overflow-scrolling: touch; }
body.page-id-14 .repair-price-note { margin: 0 0 10px; text-align: right; color: #292524; font-size: 12px; font-weight: 700; }
body.page-id-14 .repair-price-table { width: 100%; min-width: 930px; border-collapse: collapse; table-layout: fixed; background: #fff; font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; }
body.page-id-14 .repair-price-table th,
body.page-id-14 .repair-price-table td { padding: 8px 6px; color: #050505; text-align: center; vertical-align: middle; border: 1px solid #26211f; font-weight: 700; line-height: 1.28; }
body.page-id-14 .repair-price-table thead th { background: #fff; font-size: 13px; }
body.page-id-14 .repair-price-table thead .repair-subhead { font-size: 10px; }
body.page-id-14 .repair-price-table .repair-machine { width: 130px; background: #fff; font-size: 12px; }
body.page-id-14 .repair-price-table .repair-source { width: 78px; font-size: 13px; }
body.page-id-14 .repair-price-table .repair-version { width: 84px; font-size: 11px; }
body.page-id-14 .repair-price-table .repair-highlight td,
body.page-id-14 .repair-price-table tr.repair-highlight > th.repair-source { background: #fff3cf; }
body.page-id-14 .repair-price-table .repair-price { font-size: 19px; letter-spacing: .02em; white-space: nowrap; }
body.page-id-14 .repair-price-table .repair-free { font-size: 18px; }
body.page-id-14 .repair-price-table .repair-small { font-size: 10px; }
body.page-id-14 .repair-price-caption { margin: 10px 0 0; color: #57534e; font-size: 12px; line-height: 1.8; }
body.page-id-14 .visit-price-block { display: grid; grid-template-columns: minmax(0,.58fr) minmax(300px,.42fr); gap: 24px; align-items: end; margin-top: 30px; }
body.page-id-14 .visit-price-copy { padding: 22px 24px; background: var(--page-surface); border-left: 4px solid var(--page-accent); }
body.page-id-14 .visit-price-copy h3 { margin: 0 0 10px; font-size: 20px; font-weight: 400; }
body.page-id-14 .visit-price-copy p { margin: 0; color: #57534e; font-size: 13px; line-height: 2; }
body.page-id-14 .visit-price-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.page-id-14 .visit-price-table { width: 100%; min-width: 440px; border-collapse: collapse; table-layout: fixed; background: #fff; font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; border: 2px solid #111; }
body.page-id-14 .visit-price-table th,
body.page-id-14 .visit-price-table td { padding: 14px 10px; color: #050505; text-align: center; vertical-align: middle; border: 1px solid #111; font-weight: 700; line-height: 1.24; }
body.page-id-14 .visit-price-table th { font-size: 18px; }
body.page-id-14 .visit-price-table td { font-size: 17px; }
body.page-id-14 .visit-price-table .visit-large { font-size: 21px; white-space: nowrap; }
body.page-id-14 .visit-price-table .visit-note { display: block; margin-top: 4px; font-size: 14px; }
body.page-id-14 .visit-price-area-note { margin: 7px 4px 0 0; color: #111; text-align: right; font-size: 12px; font-weight: 700; }
body.page-id-14 .notes-box { padding: 34px 38px; background: var(--page-surface); border-left: 4px solid var(--page-accent); }
body.page-id-14 .notes-box h3 { margin: 0 0 18px; font-size: 22px; font-weight: 400; }
body.page-id-14 .notes-box ul { margin: 0; padding-left: 1.4em; color: #57534e; font-size: 13px; line-height: 2.05; }
body.page-id-14 .notes-box li + li { margin-top: 6px; }
body.page-id-14 .machine-type-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
body.page-id-14 .machine-type-list article { padding: 26px 25px; background: #fff; border: 1px solid var(--page-line); }
body.page-id-14 .machine-type-list h3 { margin: 0 0 11px; color: var(--page-accent); font-size: 18px; font-weight: 400; }
body.page-id-14 .machine-type-list p { margin: 0; color: #57534e; font-size: 13px; line-height: 1.95; }
body.page-id-14 .warning-block { display: grid; grid-template-columns: minmax(250px,.35fr) minmax(0,.65fr); gap: clamp(28px,4vw,56px); padding: clamp(34px,5vw,58px); background: #fff; border: 1px solid var(--page-line); border-top: 5px solid var(--page-accent); }
body.page-id-14 .warning-block h2 { margin: 10px 0 0; font-size: clamp(25px,3vw,38px); font-weight: 400; line-height: 1.45; }
body.page-id-14 .warning-block p { margin: 0 0 18px; color: #57534e; font-size: 14px; line-height: 2; }
body.page-id-14 .warning-list { margin: 0; padding-left: 1.3em; color: #57534e; font-size: 13px; line-height: 2; }
body.page-id-14 .warning-message { margin-top: 26px; padding: 18px 20px; color: #fff; background: var(--page-accent); text-align: center; font-size: 15px; letter-spacing: .05em; }
body.page-id-14 .after-contact { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 34px; align-items: center; margin-top: 90px; padding: 42px 46px; color: #fff; background: #111; }
body.page-id-14 .after-contact small { color: var(--page-gold); font-size: 11px; letter-spacing: .2em; }
body.page-id-14 .after-contact h2 { margin: 12px 0 12px; font-size: clamp(24px,3vw,36px); font-weight: 400; line-height: 1.5; }
body.page-id-14 .after-contact p { margin: 0; color: #e7e5e4; font-size: 13px; line-height: 1.9; }
body.page-id-14 .after-contact-actions { display: flex; gap: 12px; flex-wrap: wrap; }
body.page-id-14 .after-contact a { display: grid; min-width: 190px; min-height: 54px; padding: 10px 20px; color: #fff; border: 1px solid rgba(255,255,255,.6); place-items: center; font-size: 13px; letter-spacing: .08em; }
body.page-id-14 .after-contact a.primary { background: var(--page-accent); border-color: var(--page-accent); }
@media (max-width:1100px) {
  body.page-id-14 .repair-flow { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* Maintenance mobile layout - page only */
@media (max-width:900px) {
  body.page-id-14 .after-lead,
  body.page-id-14 .nobo-block,
  body.page-id-14 .warning-block,
  body.page-id-14 .after-contact,
  body.page-id-14 .visit-price-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-id-14 .after-lead-copy,
  body.page-id-14 .after-hero-image,
  body.page-id-14 .nobo-title,
  body.page-id-14 .nobo-copy {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  body.page-id-14 .after-hero-image {
    aspect-ratio: 4 / 3;
  }
  body.page-id-14 .after-promise,
  body.page-id-14 .price-guide,
  body.page-id-14 .machine-type-list,
  body.page-id-14 .repair-flow {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-id-14 .after-section-head {
    display: block;
  }
  body.page-id-14 .after-section-head p {
    max-width: none;
    margin-top: 14px;
  }
  body.page-id-14 .after-contact-actions a {
    width: 100%;
  }
}

@media (max-width:600px) {
  body.page-id-14 .after-lead-copy h2,
  body.page-id-14 .nobo-title h2,
  body.page-id-14 .warning-block h2,
  body.page-id-14 .after-contact h2 {
    width: 100%;
    font-size: 29px;
    line-height: 1.55;
    writing-mode: horizontal-tb;
  }
  body.page-id-14 .after-promise article,
  body.page-id-14 .price-card,
  body.page-id-14 .machine-type-list article,
  body.page-id-14 .repair-flow li {
    padding: 22px 18px;
  }
  body.page-id-14 .nobo-block,
  body.page-id-14 .warning-block,
  body.page-id-14 .after-contact {
    padding: 28px 22px;
  }
  body.page-id-14 .repair-price-table-wrap,
  body.page-id-14 .visit-price-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  body.page-id-14 .repair-price-table,
  body.page-id-14 .visit-price-table {
    display: table !important;
    min-width: 930px;
    table-layout: fixed;
    border-collapse: collapse;
  }
  body.page-id-14 .repair-price-table thead,
  body.page-id-14 .repair-price-table tbody,
  body.page-id-14 .visit-price-table thead,
  body.page-id-14 .visit-price-table tbody {
    display: table-row-group !important;
  }
  body.page-id-14 .repair-price-table tr,
  body.page-id-14 .visit-price-table tr {
    display: table-row !important;
  }
  body.page-id-14 .repair-price-table th,
  body.page-id-14 .repair-price-table td,
  body.page-id-14 .visit-price-table th,
  body.page-id-14 .visit-price-table td {
    display: table-cell !important;
    width: auto !important;
    height: auto !important;
    padding: 8px 6px;
    white-space: normal;
  }
  body.page-id-14 .repair-price-table .repair-price,
  body.page-id-14 .repair-price-table .repair-free {
    white-space: nowrap;
  }
}
/* Maintenance flow mobile center */
@media (max-width:600px) {
  body.page-id-14 .repair-flow {
    justify-content: center;
    justify-items: center;
    margin-left: 0;
    padding-left: 0;
  }
  body.page-id-14 .repair-flow li {
    width: 100%;
    max-width: 343px;
  }
}


  :root {
      --shop-ink: #1c1917;
      --shop-muted: #6f6862;
      --shop-line: #d8d3cd;
      --shop-bg: #fbfaf8;
      --shop-surface: #f1eee9;
      --shop-accent: #b94f1d;
      --shop-green: #536b5b;
      --shop-dark: #211d1a;
      --shop-gold: #c29a61;
    }
    * { box-sizing: border-box; }
    html, body { max-width: 100%; overflow-x: clip; }
    body { margin: 0; color: var(--shop-ink); background: var(--shop-bg); }
    button { font: inherit; }

    body.page-id-22 .sub-header { position: sticky; z-index: 100; top: 0; width: 100%; height: 88px; color: #fafaf9; background: rgba(15,13,12,.94); border-bottom: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(10px); }
    body.page-id-22 .sub-header-inner { display: flex; align-items: center; width: min(94%,1500px); height: 100%; margin: 0 auto; }
    body.page-id-22 .sub-logo { display: flex; align-items: center; gap: 9px; flex: none; }
    body.page-id-22 .sub-logo-mark { display: block; width: 55px; height: 48px; overflow: hidden; }
    body.page-id-22 .sub-logo-mark img { display: block; width: auto; height: 48px; }
    body.page-id-22 .sub-logo-title { display: block; width: auto; height: 48px; }
    body.page-id-22 .sub-logo-company { margin-left: 5px; font-family: "Hiragino Maru Gothic ProN","Yu Gothic",sans-serif; font-size: 15px; letter-spacing: .08em; transform: translateY(4px); white-space: nowrap; }
    body.page-id-22 .sub-nav { display: flex; align-items: stretch; align-self: stretch; margin-left: auto; }
    body.page-id-22 .sub-nav a { position: relative; display: grid; place-items: center; padding: 0 22px; color: #d6d3d1; font-size: 13px; letter-spacing: .04em; transition: color .2s,background-color .2s; }
    body.page-id-22 .sub-nav a::after { position: absolute; right: 22px; bottom: 18px; left: 22px; height: 1px; content: ""; background: var(--shop-accent); transform: scaleX(0); transition: transform .25s ease; }
    body.page-id-22 .sub-nav a:hover,
    body.page-id-22 .sub-nav a[aria-current="page"] { color: #fff; background: rgba(255,255,255,.045); }
    body.page-id-22 .sub-nav a:hover::after,
    body.page-id-22 .sub-nav a[aria-current="page"]::after { transform: scaleX(1); }
    body.page-id-22 .sub-menu-button { display: none; width: 48px; height: 48px; margin-left: auto; padding: 13px 10px; color: #fff; background: transparent; border: 0; }
    body.page-id-22 .sub-menu-button span { display: block; width: 100%; margin: 5px 0; border-top: 1px solid currentColor; transition: transform .25s,opacity .25s; }

    body.page-id-22 .shop-title { display: grid; min-height: 178px; padding: 34px max(6%,calc((100% - 1200px)/2)); color: #fff; text-align: center; background-image: linear-gradient(rgba(15,13,12,.6),rgba(15,13,12,.6)),url('images/subpage-title-bg.png'); background-position: center; background-size: cover; place-content: center; }
    body.page-id-22 .shop-title small { color: #f0a53a; font-size: 11px; letter-spacing: .24em; }
    body.page-id-22 .shop-title h1 { margin: 14px 0 0; font-size: clamp(24px,2.5vw,34px); font-weight: 400; text-shadow: 0 2px 8px #000; }
    body.page-id-22 .breadcrumb-wrap { background: #fff; border-bottom: 1px solid var(--shop-line); }
    body.page-id-22 .breadcrumb { display: flex; justify-content: flex-end; gap: 9px; width: min(88%,1200px); margin: 0 auto; padding: 14px 0; color: var(--shop-muted); font-size: 11px; }
    body.page-id-22 .breadcrumb a:hover { color: var(--shop-accent); }

    body.page-id-22 .honten-main { width: min(88%,1200px); margin: 0 auto; padding: 82px 0 116px; }
    body.page-id-22 .honten-hero { display: grid; grid-template-columns: minmax(0,.92fr) minmax(430px,1.08fr); gap: clamp(42px,6vw,86px); align-items: center; }
    body.page-id-22 .honten-kicker,
    body.page-id-22 .section-kicker { color: var(--shop-accent); font-size: 11px; letter-spacing: .22em; }
    body.page-id-22 .honten-hero h2 { margin: 16px 0 25px; font-size: clamp(26px,3.4vw,44px); font-weight: 400; line-height: 1.5; }
    body.page-id-22 .honten-hero p { margin: 0; color: #57534e; font-size: 15px; line-height: 2.15; }
    body.page-id-22 .honten-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
    body.page-id-22 .honten-actions a { display: grid; min-width: 186px; min-height: 54px; padding: 10px 18px; color: #fff; background: var(--shop-accent); place-items: center; font-size: 13px; letter-spacing: .08em; }
    body.page-id-22 .honten-actions a.secondary { color: var(--shop-ink); background: #fff; border: 1px solid var(--shop-line); }
    body.page-id-22 .honten-photo { position: relative; min-height: 520px; margin: 0; overflow: hidden; background: var(--shop-dark); }
    body.page-id-22 .honten-photo img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; opacity: .94; }
    body.page-id-22 .honten-photo figcaption { position: absolute; right: 28px; bottom: 24px; color: #fff; font-size: 12px; letter-spacing: .18em; writing-mode: vertical-rl; }
    body.page-id-22 .honten-photo::after { position: absolute; inset: auto 0 0; height: 42%; content: ""; background: linear-gradient(0deg,rgba(15,13,12,.66),rgba(15,13,12,0)); }

    body.page-id-22 .info-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 78px; background: var(--shop-line); border: 1px solid var(--shop-line); }
    body.page-id-22 .info-strip article { min-height: 170px; padding: 28px 26px; background: #fff; }
    body.page-id-22 .info-strip small { color: var(--shop-accent); font-size: 10px; letter-spacing: .16em; }
    body.page-id-22 .info-strip h3 { margin: 11px 0 8px; font-size: 19px; font-weight: 400; line-height: 1.55; }
    body.page-id-22 .info-strip p { margin: 0; color: #57534e; font-size: 13px; line-height: 1.8; }

    body.page-id-22 .honten-section { margin-top: 96px; }
    body.page-id-22 .section-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 34px; padding-bottom: 20px; border-bottom: 1px solid var(--shop-line); }
    body.page-id-22 .section-head h2 { margin: 10px 0 0; font-size: clamp(27px,3.2vw,42px); font-weight: 400; line-height: 1.45; }
    body.page-id-22 .section-head p { max-width: 520px; margin: 0; color: #57534e; font-size: 13px; line-height: 2; }

    body.page-id-22 .experience-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
    body.page-id-22 .experience-card { padding: 32px 30px; background: #fff; border: 1px solid var(--shop-line); }
    body.page-id-22 .experience-card span { color: var(--shop-accent); font-family: Georgia,serif; font-size: 16px; }
    body.page-id-22 .experience-card h3 { margin: 18px 0 12px; font-size: 21px; font-weight: 400; line-height: 1.6; }
    body.page-id-22 .experience-card p { margin: 0; color: #57534e; font-size: 13px; line-height: 2; }

    body.page-id-22 .gallery-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 16px; }
    body.page-id-22 .gallery-grid img { display: block; width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
    body.page-id-22 .gallery-grid img:first-child { grid-row: span 2; min-height: 536px; }

    body.page-id-22 .schedule-layout,
    body.page-id-22 .access-layout { display: grid; grid-template-columns: minmax(0,.38fr) minmax(0,.62fr); gap: 28px; }
    body.page-id-22 .calendar-copy,
    body.page-id-22 .access-card { padding: 34px 32px; background: var(--shop-surface); border-left: 4px solid var(--shop-accent); }
    body.page-id-22 .calendar-copy h3,
    body.page-id-22 .access-card h3 { margin: 0 0 14px; font-size: 22px; font-weight: 400; }
    body.page-id-22 .calendar-copy p,
    body.page-id-22 .access-card p { margin: 0; color: #57534e; font-size: 13px; line-height: 2; }
    body.page-id-22 .embed-frame { overflow: hidden; background: #fff; border: 1px solid var(--shop-line); }
    body.page-id-22 .embed-frame iframe { display: block; width: 100%; height: 460px; border: 0; }
    body.page-id-22 .calendar-frame iframe { height: 560px; }

    body.page-id-22 .shop-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 13px; }
    body.page-id-22 .shop-table th,
    body.page-id-22 .shop-table td { padding: 18px 20px; text-align: left; vertical-align: top; border: 1px solid var(--shop-line); }
    body.page-id-22 .shop-table th { width: 150px; color: var(--shop-ink); font-weight: 400; background: var(--shop-surface); }
    body.page-id-22 .access-note { margin-top: 20px; padding: 20px 22px; color: #fff; background: var(--shop-green); font-size: 13px; line-height: 1.9; }

    body.page-id-22 .honten-contact { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 34px; align-items: center; margin-top: 94px; padding: 42px 46px; color: #fff; background: var(--shop-dark); }
    body.page-id-22 .honten-contact small { color: var(--shop-gold); font-size: 11px; letter-spacing: .2em; }
    body.page-id-22 .honten-contact h2 { margin: 12px 0 12px; font-size: clamp(24px,3vw,36px); font-weight: 400; line-height: 1.5; }
    body.page-id-22 .honten-contact p { margin: 0; color: #e7e5e4; font-size: 13px; line-height: 1.9; }
    body.page-id-22 .honten-contact-actions { display: flex; gap: 12px; flex-wrap: wrap; }
    body.page-id-22 .honten-contact a { display: grid; min-width: 190px; min-height: 54px; padding: 10px 20px; color: #fff; border: 1px solid rgba(255,255,255,.6); place-items: center; font-size: 13px; letter-spacing: .08em; }
    body.page-id-22 .honten-contact a.primary { background: var(--shop-accent); border-color: var(--shop-accent); }

    @media (max-width:1100px) {
      body.page-id-22 .sub-logo-title { height: 40px; }
      body.page-id-22 .sub-logo-company { font-size: 12px; }
      body.page-id-22 .sub-nav a { padding: 0 13px; font-size: 12px; }
      body.page-id-22 .info-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
    }
    @media (max-width:900px) {
      body.page-id-22 .honten-hero,
      body.page-id-22 .schedule-layout,
      body.page-id-22 .access-layout,
      body.page-id-22 .honten-contact { grid-template-columns: 1fr; }
      body.page-id-22 .honten-photo,
      body.page-id-22 .honten-photo img { min-height: 420px; }
      body.page-id-22 .section-head { display: block; }
      body.page-id-22 .section-head p { margin-top: 16px; max-width: none; }
      body.page-id-22 .experience-grid,
      body.page-id-22 .gallery-grid { grid-template-columns: 1fr; }
      body.page-id-22 .gallery-grid img,
      body.page-id-22 .gallery-grid img:first-child { grid-row: auto; min-height: 270px; }
      body.page-id-22 .honten-contact-actions { width: 100%; }
      body.page-id-22 .honten-contact a { flex: 1 1 220px; }
    }
    @media (max-width:800px) {
      body.page-id-22 .sub-header { height: 70px; }
      body.page-id-22 .sub-header-inner { width: calc(100% - 32px); }
      body.page-id-22 .sub-logo { min-width: 0; gap: 6px; }
      body.page-id-22 .sub-logo-mark { width: 42px; height: 37px; }
      body.page-id-22 .sub-logo-mark img { height: 37px; }
      body.page-id-22 .sub-logo-title { height: 32px; }
      body.page-id-22 .sub-logo-company { display: none; }
      body.page-id-22 .sub-menu-button { display: block; }
      body.page-id-22 .sub-nav { position: fixed; top: 70px; right: 0; left: 0; display: flex; height: calc(100vh - 70px); margin: 0; padding: 24px; background: rgba(15,13,12,.98); flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .25s; }
      body.page-id-22 .sub-nav a { display: flex; height: 58px; padding: 0 8px; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 14px; }
      body.page-id-22 .sub-nav a::after { display: none; }
      body.page-id-22 .sub-header.is-open .sub-nav { opacity: 1; visibility: visible; transform: none; }
      body.page-id-22 .sub-header.is-open .sub-menu-button span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
      body.page-id-22 .sub-header.is-open .sub-menu-button span:nth-child(2) { opacity: 0; }
      body.page-id-22 .sub-header.is-open .sub-menu-button span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    }
    @media (max-width:560px) {
      body.page-id-22 .shop-title { min-height: 145px; }
      body.page-id-22 .breadcrumb,
      body.page-id-22 .honten-main { width: calc(100% - 32px); }
      body.page-id-22 .honten-main { padding: 54px 0 80px; }
      body.page-id-22 .honten-hero h2 { font-size: 25px; }
      body.page-id-22 .honten-hero p { font-size: 14px; }
      body.page-id-22 .honten-actions a { width: 100%; }
      body.page-id-22 .honten-photo,
      body.page-id-22 .honten-photo img { min-height: 330px; }
      body.page-id-22 .info-strip { grid-template-columns: 1fr; margin-top: 54px; }
      body.page-id-22 .honten-section { margin-top: 68px; }
      body.page-id-22 .experience-card,
      body.page-id-22 .calendar-copy,
      body.page-id-22 .access-card,
      body.page-id-22 .honten-contact { padding: 28px 22px; }
      body.page-id-22 .embed-frame { margin-right: -16px; margin-left: -16px; border-right: 0; border-left: 0; }
      body.page-id-22 .embed-frame iframe { height: 420px; }
      body.page-id-22 .calendar-frame iframe { height: 520px; }
      body.page-id-22 .shop-table th,
      body.page-id-22 .shop-table td { display: block; width: 100%; }
      body.page-id-22 .shop-table th { padding: 11px 14px; border-bottom: 0; }
      body.page-id-22 .shop-table td { padding: 14px; }
      body.page-id-22 .honten-contact a { width: 100%; }
    }
/* Yokkaichi section headings */
body.page-id-22 .section-head h2 {
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.35;
}
body.page-id-22 #lesson .section-head h2 {
  white-space: nowrap;
}
@media (max-width:560px) {
  body.page-id-22 .section-head h2 {
    font-size: 22px;
  }
}
/* Yokkaichi visible on load */
body.page-id-22 .honten-main.theme-reveal,
body.page-id-22 .honten-main {
  opacity: 1;
  translate: 0 0;
}


body.page-id-26 .honten-main { width: min(88%,1200px); margin: 0 auto; padding: 82px 0 116px; }
body.page-id-26 .honten-hero { display: grid; grid-template-columns: minmax(0,.92fr) minmax(430px,1.08fr); gap: clamp(42px,6vw,86px); align-items: center; }
body.page-id-26 .honten-kicker,
body.page-id-26 .section-kicker { color: var(--shop-accent); font-size: 11px; letter-spacing: .22em; }
body.page-id-26 .honten-hero h2 { margin: 16px 0 25px; font-size: clamp(32px,4.3vw,58px); font-weight: 400; line-height: 1.45; }
body.page-id-26 .honten-hero p { margin: 0; color: #57534e; font-size: 15px; line-height: 2.15; }
body.page-id-26 .honten-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
body.page-id-26 .honten-actions a { display: grid; min-width: 186px; min-height: 54px; padding: 10px 18px; color: #fff; background: var(--shop-accent); place-items: center; font-size: 13px; letter-spacing: .08em; }
body.page-id-26 .honten-actions a.secondary { color: var(--shop-ink); background: #fff; border: 1px solid var(--shop-line); }

body.page-id-26 .honten-photo { position: relative; min-height: 520px; margin: 0; overflow: hidden; background: var(--shop-dark); }
body.page-id-26 .honten-photo img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; opacity: .94; }
body.page-id-26 .honten-photo figcaption { position: absolute; right: 28px; bottom: 24px; color: #fff; font-size: 12px; letter-spacing: .18em; writing-mode: vertical-rl; }
body.page-id-26 .honten-photo::after { position: absolute; inset: auto 0 0; height: 42%; content: ""; background: linear-gradient(0deg,rgba(15,13,12,.66),rgba(15,13,12,0)); }

body.page-id-26 .info-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 78px; background: var(--shop-line); border: 1px solid var(--shop-line); }
body.page-id-26 .info-strip article { min-height: 170px; padding: 28px 26px; background: #fff; }
body.page-id-26 .info-strip small { color: var(--shop-accent); font-size: 10px; letter-spacing: .16em; }
body.page-id-26 .info-strip h3 { margin: 11px 0 8px; font-size: 19px; font-weight: 400; line-height: 1.55; }
body.page-id-26 .info-strip p { margin: 0; color: #57534e; font-size: 13px; line-height: 1.8; }

body.page-id-26 .honten-section { margin-top: 96px; }
body.page-id-26 .section-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 34px; padding-bottom: 20px; border-bottom: 1px solid var(--shop-line); }
body.page-id-26 .section-head h2 { margin: 10px 0 0; font-size: clamp(27px,3.2vw,42px); font-weight: 400; line-height: 1.45; }
body.page-id-26 .section-head p { max-width: 520px; margin: 0; color: #57534e; font-size: 13px; line-height: 2; }

body.page-id-26 .experience-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
body.page-id-26 .experience-card { padding: 32px 30px; background: #fff; border: 1px solid var(--shop-line); }
body.page-id-26 .experience-card span { color: var(--shop-accent); font-family: Georgia,serif; font-size: 16px; }
body.page-id-26 .experience-card h3 { margin: 18px 0 12px; font-size: 21px; font-weight: 400; line-height: 1.6; }
body.page-id-26 .experience-card p { margin: 0; color: #57534e; font-size: 13px; line-height: 2; }

body.page-id-26 .gallery-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 16px; }
body.page-id-26 .gallery-grid img { display: block; width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
body.page-id-26 .gallery-grid img:first-child { grid-row: span 2; min-height: 536px; }

body.page-id-26 .schedule-layout { display: block; }
body.page-id-26 .access-layout { display: grid; grid-template-columns: minmax(0,.38fr) minmax(0,.62fr); gap: 28px; }
body.page-id-26 .embed-frame { overflow: hidden; background: #fff; border: 1px solid var(--shop-line); }
body.page-id-26 .embed-frame iframe { display: block; width: 100%; height: 460px; border: 0; }
body.page-id-26 .calendar-frame iframe { height: 560px; }

body.page-id-26 .shop-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 13px; }
body.page-id-26 .shop-table th,
body.page-id-26 .shop-table td { padding: 18px 20px; text-align: left; vertical-align: top; border: 1px solid var(--shop-line); }
body.page-id-26 .shop-table th { width: 150px; color: var(--shop-ink); font-weight: 400; background: var(--shop-surface); }
body.page-id-26 .access-note { margin-top: 20px; padding: 20px 22px; color: #fff; background: var(--shop-green); font-size: 13px; line-height: 1.9; }

body.page-id-26 .honten-contact { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 34px; align-items: center; margin-top: 94px; padding: 42px 46px; color: #fff; background: var(--shop-dark); }
body.page-id-26 .honten-contact small { color: var(--shop-gold); font-size: 11px; letter-spacing: .2em; }
body.page-id-26 .honten-contact h2 { margin: 12px 0 12px; font-size: clamp(24px,3vw,36px); font-weight: 400; line-height: 1.5; }
body.page-id-26 .honten-contact p { margin: 0; color: #e7e5e4; font-size: 13px; line-height: 1.9; }
body.page-id-26 .honten-contact-actions { display: flex; gap: 12px; flex-wrap: wrap; }
body.page-id-26 .honten-contact a { display: grid; min-width: 190px; min-height: 54px; padding: 10px 20px; color: #fff; border: 1px solid rgba(255,255,255,.6); place-items: center; font-size: 13px; letter-spacing: .08em; }
body.page-id-26 .honten-contact a.primary { background: var(--shop-accent); border-color: var(--shop-accent); }

@media (max-width:1100px) {
  body.page-id-26 .info-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  body.page-id-26 .honten-hero,
  body.page-id-26 .access-layout,
  body.page-id-26 .honten-contact { grid-template-columns: 1fr; }
  body.page-id-26 .honten-photo,
  body.page-id-26 .honten-photo img { min-height: 420px; }
  body.page-id-26 .section-head { display: block; }
  body.page-id-26 .section-head p { margin-top: 16px; max-width: none; }
  body.page-id-26 .experience-grid,
  body.page-id-26 .gallery-grid { grid-template-columns: 1fr; }
  body.page-id-26 .gallery-grid img,
  body.page-id-26 .gallery-grid img:first-child { grid-row: auto; min-height: 270px; }
  body.page-id-26 .honten-contact-actions { width: 100%; }
  body.page-id-26 .honten-contact a { flex: 1 1 220px; }
}
@media (max-width:560px) {
  body.page-id-26 .honten-main { width: calc(100% - 32px); padding: 54px 0 80px; }
  body.page-id-26 .honten-hero h2 { font-size: 30px; }
  body.page-id-26 .honten-hero p { font-size: 14px; }
  body.page-id-26 .honten-actions a { width: 100%; }
  body.page-id-26 .honten-photo,
  body.page-id-26 .honten-photo img { min-height: 330px; }
  body.page-id-26 .info-strip { grid-template-columns: 1fr; margin-top: 54px; }
  body.page-id-26 .honten-section { margin-top: 68px; }
  body.page-id-26 .experience-card,
  body.page-id-26 .honten-contact { padding: 28px 22px; }
  body.page-id-26 .embed-frame { margin-right: -16px; margin-left: -16px; border-right: 0; border-left: 0; }
  body.page-id-26 .embed-frame iframe { height: 420px; }
  body.page-id-26 .calendar-frame iframe { height: 520px; }
  body.page-id-26 .shop-table th,
  body.page-id-26 .shop-table td { display: block; width: 100%; }
  body.page-id-26 .shop-table th { padding: 11px 14px; border-bottom: 0; }
  body.page-id-26 .shop-table td { padding: 14px; }
  body.page-id-26 .honten-contact a { width: 100%; }
}
/* Nagoya visible on load */
body.page-id-26 .honten-main.theme-reveal,
body.page-id-26 .honten-main {
  opacity: 1;
  translate: 0 0;
}
/* Nagoya section headings */
body.page-id-26 .section-head h2 {
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.35;
}
body.page-id-26 #lesson .section-head h2 {
  white-space: nowrap;
}
@media (max-width:560px) {
  body.page-id-26 .section-head h2 {
    font-size: 22px;
  }
}
/* Nagoya hero heading */
body.page-id-26 .honten-hero h2 {
  font-size: clamp(26px, 3.4vw, 44px);
  line-height: 1.5;
}
@media (max-width:560px) {
  body.page-id-26 .honten-hero h2 {
    font-size: 25px;
  }
}
/* Yokkaichi calendar PC wide */
@media (min-width: 901px) {
  body.page-id-22 #lesson .schedule-layout {
    display: block;
  }
  body.page-id-22 #lesson .calendar-frame {
    width: 100%;
  }
  body.page-id-22 #lesson .calendar-frame iframe {
    width: 100%;
    height: 640px;
  }
}
/* Store lesson anchor offset */
body.page-id-22 #lesson,
body.page-id-26 #lesson {
  scroll-margin-top: 110px;
}
@media (max-width:800px) {
  body.page-id-22 #lesson,
  body.page-id-26 #lesson {
    scroll-margin-top: 86px;
  }
}
/* Store schedule heading mobile fit */
@media (max-width:560px) {
  body.page-id-22 #lesson .section-head h2,
  body.page-id-26 #lesson .section-head h2 {
    max-width: 100%;
    font-size: 18px;
    line-height: 1.45;
    white-space: nowrap;
    letter-spacing: 0;
  }
}

    :root {
      --shopinfo-ink: #1c1917;
      --shopinfo-muted: #6f6862;
      --shopinfo-line: #d8d3cd;
      --shopinfo-bg: #fbfaf8;
      --shopinfo-surface: #f1eee9;
      --shopinfo-accent: #b94f1d;
      --shopinfo-green: #536b5b;
      --shopinfo-dark: #211d1a;
      --shopinfo-gold: #c29a61;
    }


    body.page-id-37 .sub-header { position: sticky; z-index: 100; top: 0; width: 100%; height: 88px; color: #fafaf9; background: rgba(15,13,12,.94); border-bottom: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(10px); }
    body.page-id-37 .sub-header-inner { display: flex; align-items: center; width: min(94%,1500px); height: 100%; margin: 0 auto; }
    body.page-id-37 .sub-logo { display: flex; align-items: center; gap: 9px; flex: none; }
    body.page-id-37 .sub-logo-mark { display: block; width: 55px; height: 48px; overflow: hidden; }
    body.page-id-37 .sub-logo-mark img { display: block; width: auto; height: 48px; }
    body.page-id-37 .sub-logo-title { display: block; width: auto; height: 48px; }
    body.page-id-37 .sub-logo-company { margin-left: 5px; font-family: "Hiragino Maru Gothic ProN","Yu Gothic",sans-serif; font-size: 15px; letter-spacing: .08em; transform: translateY(4px); white-space: nowrap; }
    body.page-id-37 .sub-nav { display: flex; align-items: stretch; align-self: stretch; margin-left: auto; }
    body.page-id-37 .sub-nav a { position: relative; display: grid; place-items: center; padding: 0 22px; color: #d6d3d1; font-size: 13px; letter-spacing: .04em; transition: color .2s,background-color .2s; }
    body.page-id-37 .sub-nav a::after { position: absolute; right: 22px; bottom: 18px; left: 22px; height: 1px; content: ""; background: var(--shopinfo-accent); transform: scaleX(0); transition: transform .25s ease; }
    body.page-id-37 .sub-nav a:hover,
    body.page-id-37 .sub-nav a[aria-current="page"] { color: #fff; background: rgba(255,255,255,.045); }
    body.page-id-37 .sub-nav a:hover::after,
    body.page-id-37 .sub-nav a[aria-current="page"]::after { transform: scaleX(1); }
    body.page-id-37 .sub-menu-button { display: none; width: 48px; height: 48px; margin-left: auto; padding: 13px 10px; color: #fff; background: transparent; border: 0; }
    body.page-id-37 .sub-menu-button span { display: block; width: 100%; margin: 5px 0; border-top: 1px solid currentColor; transition: transform .25s,opacity .25s; }

    body.page-id-37 .shop-title { display: grid; min-height: 178px; padding: 34px max(6%,calc((100% - 1200px)/2)); color: #fff; text-align: center; background-image: linear-gradient(rgba(15,13,12,.6),rgba(15,13,12,.6)),url('images/subpage-title-bg.png'); background-position: center; background-size: cover; place-content: center; }
    body.page-id-37 .shop-title small { color: #f0a53a; font-size: 11px; letter-spacing: .24em; }
    body.page-id-37 .shop-title h1 { margin: 14px 0 0; font-size: clamp(24px,2.5vw,34px); font-weight: 400; text-shadow: 0 2px 8px #000; }
    body.page-id-37 .breadcrumb-wrap { background: #fff; border-bottom: 1px solid var(--shopinfo-line); }
    body.page-id-37 .breadcrumb { display: flex; justify-content: flex-end; gap: 9px; width: min(88%,1200px); margin: 0 auto; padding: 14px 0; color: var(--shopinfo-muted); font-size: 11px; }
    body.page-id-37 .breadcrumb a:hover { color: var(--shopinfo-accent); }

    body.page-id-37 .shopinfo-main { width: min(88%,1200px); margin: 0 auto; padding: 5px 0 116px; }
    body.page-id-37 .shopinfo-lead { display: grid; grid-template-columns: minmax(0,.92fr) minmax(430px,1.08fr); gap: clamp(42px,6vw,86px); align-items: center; }
    body.page-id-37 .shopinfo-kicker,
    body.page-id-37 .section-kicker { color: var(--shopinfo-accent); font-size: 11px; letter-spacing: .22em; }
    body.page-id-37 .shopinfo-lead h2 { margin: 16px 0 25px; font-size: clamp(26px,3.4vw,44px); font-weight: 400; line-height: 1.5; }
    body.page-id-37 .shopinfo-lead p { margin: 0; color: #57534e; font-size: 15px; line-height: 2.15; }
    body.page-id-37 .shopinfo-promise { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 42px; background: var(--shopinfo-line); border: 1px solid var(--shopinfo-line); }
    body.page-id-37 .shopinfo-promise article { min-height: 148px; padding: 28px 26px; background: #fff; }
    body.page-id-37 .shopinfo-promise small { color: var(--shopinfo-accent); font-size: 10px; letter-spacing: .16em; }
    body.page-id-37 .shopinfo-promise h3 { margin: 10px 0 8px; font-size: 19px; font-weight: 400; line-height: 1.55; }
    body.page-id-37 .shopinfo-promise p { margin: 0; color: #57534e; font-size: 13px; line-height: 1.8; }
    body.page-id-37 .shopinfo-hero-photo { position: relative; min-height: 520px; margin: 0; overflow: hidden; background: var(--shopinfo-dark); }
    body.page-id-37 .shopinfo-hero-photo img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; opacity: .94; }
    body.page-id-37 .shopinfo-hero-photo figcaption { position: absolute; right: 28px; bottom: 24px; color: #fff; font-size: 12px; letter-spacing: .18em; writing-mode: vertical-rl; z-index: 1; }
    body.page-id-37 .shopinfo-hero-photo::after { position: absolute; inset: auto 0 0; height: 42%; content: ""; background: linear-gradient(0deg,rgba(15,13,12,.66),rgba(15,13,12,0)); }

    body.page-id-37 .shopinfo-section { margin-top: 96px; }
    body.page-id-37 .section-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 34px; padding-bottom: 20px; border-bottom: 1px solid var(--shopinfo-line); }
    body.page-id-37 .section-head h2 { margin: 10px 0 0; font-size: clamp(22px,2.4vw,32px); font-weight: 400; line-height: 1.35; }
    body.page-id-37 .section-head p { max-width: 520px; margin: 0; color: #57534e; font-size: 13px; line-height: 2; }

    body.page-id-37 .store-gateway { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
    body.page-id-37 .store-card { display: grid; grid-template-rows: auto 1fr; overflow: hidden; background: #fff; border: 1px solid var(--shopinfo-line); }
    body.page-id-37 .store-card-visual { position: relative; min-height: 360px; overflow: hidden; background: var(--shopinfo-dark); }
    body.page-id-37 .store-card-visual img { display: block; width: 100%; height: 100%; min-height: 360px; object-fit: cover; transition: scale .5s ease; }
    body.page-id-37 .store-card:hover .store-card-visual img { scale: 1.035; }
    body.page-id-37 .store-label { position: absolute; left: 24px; bottom: 22px; padding: 7px 12px; color: #fff; background: rgba(33,29,26,.82); font-size: 11px; letter-spacing: .16em; }
    body.page-id-37 .store-card-body { display: grid; gap: 24px; padding: 34px 32px; }
    body.page-id-37 .store-card h3 { margin: 0; font-size: clamp(22px,2.4vw,32px); font-weight: 400; line-height: 1.35; white-space: nowrap; word-break: keep-all; overflow-wrap: normal; }
    body.page-id-37 .store-card p { margin: 0; color: #57534e; font-size: 13px; line-height: 2; }
    body.page-id-37 .store-meta { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; color: #57534e; font-size: 13px; line-height: 1.75; }
    body.page-id-37 .store-meta strong { color: var(--shopinfo-ink); font-weight: 400; }
    body.page-id-37 .store-actions { display: flex; flex-wrap: wrap; gap: 12px; align-self: end; }
    body.page-id-37 .store-actions a { display: grid; min-width: 178px; min-height: 54px; padding: 10px 18px; color: #fff; background: var(--shopinfo-accent); place-items: center; font-size: 13px; letter-spacing: .08em; }
    body.page-id-37 .store-actions a.secondary { color: var(--shopinfo-ink); background: #fff; border: 1px solid var(--shopinfo-line); }

    body.page-id-37 .relocation-note { display: grid; grid-template-columns: minmax(220px,.34fr) minmax(0,.66fr); gap: clamp(28px,4vw,56px); margin-top: 34px; padding: clamp(34px,5vw,58px); background: #fff; border: 1px solid var(--shopinfo-line); border-top: 5px solid var(--shopinfo-accent); }
    body.page-id-37 .relocation-note h2 { margin: 10px 0 0; font-size: clamp(22px,2.4vw,32px); font-weight: 400; line-height: 1.35; }
    body.page-id-37 .relocation-note p { margin: 0; color: #57534e; font-size: 14px; line-height: 2; }
    body.page-id-37 .relocation-note a { color: var(--shopinfo-accent); text-decoration: underline; text-underline-offset: 4px; }

    body.page-id-37 .shopinfo-contact { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 34px; align-items: center; margin-top: 94px; padding: 42px 46px; color: #fff; background: var(--shopinfo-dark); }
    body.page-id-37 .shopinfo-contact small { color: var(--shopinfo-gold); font-size: 11px; letter-spacing: .2em; }
    body.page-id-37 .shopinfo-contact h2 { margin: 12px 0 12px; font-size: clamp(22px,2.4vw,32px); font-weight: 400; line-height: 1.35; }
    body.page-id-37 .shopinfo-contact p { margin: 0; color: #e7e5e4; font-size: 13px; line-height: 1.9; }
    body.page-id-37 .shopinfo-contact-actions { display: flex; gap: 12px; flex-wrap: wrap; }
    body.page-id-37 .shopinfo-contact a { display: grid; min-width: 190px; min-height: 54px; padding: 10px 20px; color: #fff; border: 1px solid rgba(255,255,255,.6); place-items: center; font-size: 13px; letter-spacing: .08em; }
    body.page-id-37 .shopinfo-contact a.primary { background: var(--shopinfo-accent); border-color: var(--shopinfo-accent); }

    @media (max-width:1100px) {
      body.page-id-37 .sub-logo-title { height: 40px; }
      body.page-id-37 .sub-logo-company { font-size: 12px; }
      body.page-id-37 .sub-nav a { padding: 0 13px; font-size: 12px; }
      body.page-id-37 .shopinfo-promise { grid-template-columns: 1fr; }
    }
    @media (max-width:900px) {
      body.page-id-37 .shopinfo-lead,
      body.page-id-37 .store-gateway,
      body.page-id-37 .relocation-note,
      body.page-id-37 .shopinfo-contact { grid-template-columns: 1fr; }
      body.page-id-37 .shopinfo-hero-photo,
      body.page-id-37 .shopinfo-hero-photo img { min-height: 420px; }
      body.page-id-37 .section-head { display: block; }
      body.page-id-37 .section-head p { margin-top: 16px; max-width: none; }
      body.page-id-37 .shopinfo-contact-actions { width: 100%; }
      body.page-id-37 .shopinfo-contact a { flex: 1 1 220px; }
    }
    @media (max-width:800px) {
      body.page-id-37 .sub-header { height: 70px; }
      body.page-id-37 .sub-header-inner { width: calc(100% - 32px); }
      body.page-id-37 .sub-logo { min-width: 0; gap: 6px; }
      body.page-id-37 .sub-logo-mark { width: 42px; height: 37px; }
      body.page-id-37 .sub-logo-mark img { height: 37px; }
      body.page-id-37 .sub-logo-title { height: 32px; }
      body.page-id-37 .sub-logo-company { display: none; }
      body.page-id-37 .sub-menu-button { display: block; }
      body.page-id-37 .sub-nav { position: fixed; top: 70px; right: 0; left: 0; display: flex; height: calc(100vh - 70px); margin: 0; padding: 24px; background: rgba(15,13,12,.98); flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .25s; }
      body.page-id-37 .sub-nav a { display: flex; height: 58px; padding: 0 8px; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 14px; }
      body.page-id-37 .sub-nav a::after { display: none; }
      body.page-id-37 .sub-header.is-open .sub-nav { opacity: 1; visibility: visible; transform: none; }
      body.page-id-37 .sub-header.is-open .sub-menu-button span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
      body.page-id-37 .sub-header.is-open .sub-menu-button span:nth-child(2) { opacity: 0; }
      body.page-id-37 .sub-header.is-open .sub-menu-button span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    }
    @media (max-width:560px) {
      body.page-id-37 .shop-title { min-height: 145px; }
      body.page-id-37 .breadcrumb,
      body.page-id-37 .shopinfo-main { width: calc(100% - 32px); }
      body.page-id-37 .shopinfo-main { padding: 5px 0 80px; }
      body.page-id-37 .shopinfo-lead h2 { font-size: 30px; }
      body.page-id-37 .shopinfo-lead p { font-size: 14px; }
      body.page-id-37 .shopinfo-hero-photo,
      body.page-id-37 .shopinfo-hero-photo img { min-height: 330px; }
      body.page-id-37 .shopinfo-section { margin-top: 68px; }
      body.page-id-37 .store-card-visual,
      body.page-id-37 .store-card-visual img { min-height: 280px; }
      body.page-id-37 .store-card-body,
      body.page-id-37 .shopinfo-promise article,
      body.page-id-37 .relocation-note,
      body.page-id-37 .shopinfo-contact { padding: 28px 22px; }
      body.page-id-37 .store-actions a,
      body.page-id-37 .shopinfo-contact a { width: 100%; }
    }
/* Shopinfo lead heading size */
@media (max-width:560px) {
  body.page-id-37 .shopinfo-lead h2 {
    font-size: 25px;
  }
}
/* Shopinfo headings align stores */
@media (max-width:560px) {
  body.page-id-37 .section-head h2,
  body.page-id-37 .relocation-note h2,
  body.page-id-37 .shopinfo-contact h2,
  body.page-id-37 .store-card h3 {
    font-size: 22px;
    line-height: 1.35;
  }
}


 body.page-id-34 .sub-header { position: sticky; z-index: 100; top: 0; width: 100%; height: 88px; color: #fafaf9; background: rgba(15,13,12,.94); border-bottom: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(10px); }
    body.page-id-34 .sub-header-inner { display: flex; align-items: center; width: min(94%,1500px); height: 100%; margin: 0 auto; }
    body.page-id-34 .sub-logo { display: flex; align-items: center; gap: 9px; flex: none; }
    body.page-id-34 .sub-logo-mark { display: block; width: 55px; height: 48px; overflow: hidden; }
    body.page-id-34 .sub-logo-mark img { display: block; width: auto; height: 48px; }
    body.page-id-34 .sub-logo-title { display: block; width: auto; height: 48px; }
    body.page-id-34 .sub-logo-company { margin-left: 5px; font-family: "Hiragino Maru Gothic ProN","Yu Gothic",sans-serif; font-size: 15px; letter-spacing: .08em; transform: translateY(4px); white-space: nowrap; }
    body.page-id-34 .sub-nav { display: flex; align-items: stretch; align-self: stretch; margin-left: auto; }
    body.page-id-34 .sub-nav a { position: relative; display: grid; place-items: center; padding: 0 22px; color: #d6d3d1; font-size: 13px; letter-spacing: .04em; transition: color .2s,background-color .2s; }
    body.page-id-34 .sub-nav a::after { position: absolute; right: 22px; bottom: 18px; left: 22px; height: 1px; content: ""; background: var(--lesson-accent); transform: scaleX(0); transition: transform .25s ease; }
    body.page-id-34 .sub-nav a:hover,
    body.page-id-34 .sub-nav a[aria-current="page"] { color: #fff; background: rgba(255,255,255,.045); }
    body.page-id-34 .sub-nav a:hover::after,
    body.page-id-34 .sub-nav a[aria-current="page"]::after { transform: scaleX(1); }
    body.page-id-34 .sub-menu-button { display: none; width: 48px; height: 48px; margin-left: auto; padding: 13px 10px; color: #fff; background: transparent; border: 0; }
    body.page-id-34 .sub-menu-button span { display: block; width: 100%; margin: 5px 0; border-top: 1px solid currentColor; transition: transform .25s,opacity .25s; }

    body.page-id-34 .lesson-title { display: grid; min-height: 178px; padding: 34px max(6%,calc((100% - 1200px)/2)); color: #fff; text-align: center; background-image: linear-gradient(rgba(15,13,12,.6),rgba(15,13,12,.6)),url('images/subpage-title-bg.png'); background-position: center; background-size: cover; place-content: center; }
    body.page-id-34 .lesson-title small { color: #f0a53a; font-size: 11px; letter-spacing: .24em; }
    body.page-id-34 .lesson-title h1 { margin: 14px 0 0; font-size: clamp(24px,2.5vw,34px); font-weight: 400; text-shadow: 0 2px 8px #000; }
    body.page-id-34 .breadcrumb-wrap { background: #fff; border-bottom: 1px solid var(--lesson-line); }
    body.page-id-34 .breadcrumb { display: flex; justify-content: flex-end; gap: 9px; width: min(88%,1200px); margin: 0 auto; padding: 14px 0; color: var(--lesson-muted); font-size: 11px; }
    body.page-id-34 .breadcrumb a:hover { color: var(--lesson-accent); }

    body.page-id-34 .lesson-main { width: min(88%,1200px); margin: 0 auto; padding: 82px 0 116px; }
    body.page-id-34 .lesson-lead { display: grid; grid-template-columns: minmax(0,.92fr) minmax(430px,1.08fr); gap: clamp(42px,6vw,86px); align-items: center; }
    body.page-id-34 .lesson-kicker,
    body.page-id-34 .section-kicker { color: var(--lesson-accent); font-size: 11px; letter-spacing: .22em; }
    body.page-id-34 .lesson-lead h2 { margin: 16px 0 25px; font-size: clamp(24px,3vw,38px); font-weight: 400; line-height: 1.5; }
    body.page-id-34 .lesson-lead p { margin: 0; color: #57534e; font-size: 17px; line-height: 2.1; }
    body.page-id-34 .lesson-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
    body.page-id-34 .lesson-actions a { display: grid; min-width: 190px; min-height: 54px; padding: 10px 18px; color: #fff; background: var(--lesson-accent); place-items: center; font-size: 15px; letter-spacing: .08em; }
    body.page-id-34 .lesson-actions a.secondary { color: var(--lesson-ink); background: #fff; border: 1px solid var(--lesson-line); }
    body.page-id-34 .lesson-photo { position: relative; min-height: 520px; margin: 0; overflow: hidden; background: var(--lesson-dark); }
    body.page-id-34 .lesson-photo img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; opacity: .94; }
    body.page-id-34 .lesson-photo figcaption { position: absolute; right: 28px; bottom: 24px; z-index: 1; color: #fff; font-size: 12px; letter-spacing: .18em; writing-mode: vertical-rl; }
    body.page-id-34 .lesson-photo::after { position: absolute; inset: auto 0 0; height: 42%; content: ""; background: linear-gradient(0deg,rgba(15,13,12,.66),rgba(15,13,12,0)); }

    body.page-id-34 .lesson-highlight { margin-top: 58px; padding: 26px 30px; color: #fff; background: var(--lesson-green); text-align: center; font-size: 17px; line-height: 2; letter-spacing: .04em; }
    body.page-id-34 .lesson-section { margin-top: 96px; }
    body.page-id-34 .section-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 34px; padding-bottom: 20px; border-bottom: 1px solid var(--lesson-line); }
    body.page-id-34 .section-head h2 { margin: 10px 0 0; font-size: clamp(22px,2.4vw,32px); font-weight: 400; line-height: 1.35; }
    body.page-id-34 .section-head p { max-width: 560px; margin: 0; color: #57534e; font-size: 15px; line-height: 2; }

    body.page-id-34 .lesson-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
    body.page-id-34 .lesson-card { padding: 34px 32px; background: #fff; border: 1px solid var(--lesson-line); }
    body.page-id-34 .lesson-card span { color: var(--lesson-accent); font-family: Georgia,serif; font-size: 16px; }
    body.page-id-34 .lesson-card h3 { margin: 18px 0 12px; font-size: 24px; font-weight: 400; line-height: 1.55; }
    body.page-id-34 .lesson-card p { margin: 0; color: #57534e; font-size: 15px; line-height: 2; }

    body.page-id-34 .notice-grid { display: grid; grid-template-columns: minmax(0,.42fr) minmax(0,.58fr); gap: 28px; }
    body.page-id-34 .notice-box { padding: 34px 32px; background: #fff; border: 1px solid var(--lesson-line); border-top: 4px solid var(--lesson-accent); }
    body.page-id-34 .notice-box h3 { margin: 0 0 17px; font-size: 22px; font-weight: 400; }
    body.page-id-34 .notice-box p { margin: 0; color: #57534e; font-size: 15px; line-height: 2; }
    body.page-id-34 .notice-list { margin: 0; padding: 32px 36px 32px 52px; background: var(--lesson-surface); color: #57534e; font-size: 15px; line-height: 2; }
    body.page-id-34 .notice-list li + li { margin-top: 8px; }

    body.page-id-34 .tools-block { display: grid; grid-template-columns: minmax(240px,.34fr) minmax(0,.66fr); gap: 28px; padding: clamp(34px,5vw,58px); background: #fff; border: 1px solid var(--lesson-line); }
    body.page-id-34 .tools-block h2 { margin: 10px 0 0; font-size: clamp(22px,2.4vw,32px); font-weight: 400; line-height: 1.35; }
    body.page-id-34 .tools-block p { margin: 0 0 18px; color: #57534e; font-size: 16px; line-height: 2; }
    body.page-id-34 .tools-list { columns: 2; column-gap: 34px; margin: 0; padding-left: 1.3em; color: #57534e; font-size: 15px; line-height: 2; }
    body.page-id-34 .tools-note { margin-top: 22px; padding: 18px 20px; color: #fff; background: var(--lesson-accent); font-size: 15px; line-height: 1.9; }

    body.page-id-34 .lesson-contact { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 34px; align-items: center; margin-top: 94px; padding: 42px 46px; color: #fff; background: var(--lesson-dark); }
    body.page-id-34 .lesson-contact small { color: var(--lesson-gold); font-size: 11px; letter-spacing: .2em; }
    body.page-id-34 .lesson-contact h2 { margin: 12px 0 12px; font-size: clamp(22px,2.4vw,32px); font-weight: 400; line-height: 1.35; }
    body.page-id-34 .lesson-contact p { margin: 0; color: #e7e5e4; font-size: 15px; line-height: 1.9; }
    body.page-id-34 .lesson-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
    body.page-id-34 .lesson-contact a { display: grid; min-width: 190px; min-height: 56px; padding: 10px 22px; color: #fff; border: 1px solid rgba(255,255,255,.6); place-items: center; font-size: 15px; letter-spacing: .08em; }
    body.page-id-34 .lesson-contact a.primary { background: var(--lesson-accent); border-color: var(--lesson-accent); }

    @media (max-width:1100px) {
      body.page-id-34 .sub-logo-title { height: 40px; }
      body.page-id-34 .sub-logo-company { font-size: 12px; }
      body.page-id-34 .sub-nav a { padding: 0 13px; font-size: 12px; }
    }
    @media (max-width:900px) {
      body.page-id-34 .lesson-lead,
      body.page-id-34 .notice-grid,
      body.page-id-34 .tools-block,
      body.page-id-34 .lesson-contact { grid-template-columns: 1fr; }
      body.page-id-34 .lesson-photo,
      body.page-id-34 .lesson-photo img { min-height: 420px; }
      body.page-id-34 .section-head { display: block; }
      body.page-id-34 .section-head p { margin-top: 16px; max-width: none; }
      body.page-id-34 .lesson-menu { grid-template-columns: 1fr; }
      body.page-id-34 .lesson-contact-actions,
      body.page-id-34 .lesson-contact a { width: 100%; }
    }
    @media (max-width:800px) {
      body.page-id-34 .sub-header { height: 70px; }
      body.page-id-34 .sub-header-inner { width: calc(100% - 32px); }
      body.page-id-34 .sub-logo { min-width: 0; gap: 6px; }
      body.page-id-34 .sub-logo-mark { width: 42px; height: 37px; }
      body.page-id-34 .sub-logo-mark img { height: 37px; }
      body.page-id-34 .sub-logo-title { height: 32px; }
      body.page-id-34 .sub-logo-company { display: none; }
      body.page-id-34 .sub-menu-button { display: block; }
      body.page-id-34 .sub-nav { position: fixed; top: 70px; right: 0; left: 0; display: flex; height: calc(100vh - 70px); margin: 0; padding: 24px; background: rgba(15,13,12,.98); flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .25s; }
      body.page-id-34 .sub-nav a { display: flex; height: 58px; padding: 0 8px; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 14px; }
      body.page-id-34 .sub-nav a::after { display: none; }
      body.page-id-34 .sub-header.is-open .sub-nav { opacity: 1; visibility: visible; transform: none; }
      body.page-id-34 .sub-header.is-open .sub-menu-button span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
      body.page-id-34 .sub-header.is-open .sub-menu-button span:nth-child(2) { opacity: 0; }
      body.page-id-34 .sub-header.is-open .sub-menu-button span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    }
    @media (max-width:560px) {
      body.page-id-34 .lesson-title { min-height: 145px; }
      body.page-id-34 .breadcrumb,
      body.page-id-34 .lesson-main { width: calc(100% - 32px); }
      body.page-id-34 .lesson-main { padding: 54px 0 80px; }
      body.page-id-34 .lesson-lead h2 { font-size: 29px; }
      body.page-id-34 .lesson-lead p { font-size: 16px; }
      body.page-id-34 .lesson-actions a { width: 100%; }
      body.page-id-34 .lesson-photo,
      body.page-id-34 .lesson-photo img { min-height: 330px; }
      body.page-id-34 .lesson-highlight,
      body.page-id-34 .lesson-card,
      body.page-id-34 .notice-box,
      body.page-id-34 .lesson-contact { padding: 28px 22px; }
      body.page-id-34 .lesson-section { margin-top: 68px; }
      body.page-id-34 .notice-list { padding: 26px 24px 26px 42px; }
      body.page-id-34 .tools-block { padding: 30px 22px; }
      body.page-id-34 .tools-list { columns: 1; }
    }
/* Fixed pages top padding 5px */
body.page .page-main,
body.page .after-main,
body.page .honten-main,
body.page .shopinfo-main,
body.page .lesson-main {
  padding-top: 5px !important;
}
@media (max-width: 800px) {
  body.page .page-main,
  body.page .after-main,
  body.page .honten-main,
  body.page .shopinfo-main,
  body.page .lesson-main {
    padding-top: 5px !important;
  }
}
/* Lesson headings align stores */
@media (max-width:560px) {
  body.page-id-34 .lesson-lead h2 {
    font-size: 23px;
  }
  body.page-id-34 .section-head h2,
  body.page-id-34 .tools-block h2,
  body.page-id-34 .lesson-contact h2 {
    font-size: 22px;
    line-height: 1.35;
  }
}
/* Contact page form */
body.page-id-40 .page-main {
  padding-top: 5px !important;
}
body.page-id-40 .contact-page-main {
  width: min(88%, 1100px);
  margin: 0 auto;
  padding: 5px 0 110px;
  color: #292524;
}
body.page-id-40 .contact-page-lead {
  margin-bottom: 42px;
  padding-bottom: 22px;
  border-bottom: 1px solid #d8d3cd;
}
body.page-id-40 .section-kicker {
  color: #b94f1d;
  font-size: 11px;
  letter-spacing: .22em;
}
body.page-id-40 .contact-page-lead h2 {
  margin: 12px 0 14px;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 400;
  line-height: 1.35;
}
body.page-id-40 .contact-page-lead p,
body.page-id-40 .contact-notes p {
  margin: 0;
  color: #57534e;
  font-size: 13px;
  line-height: 2;
}
body.page-id-40 .contact-form-section {
  background: #fff;
  border: 1px solid #d8d3cd;
}
body.page-id-40 .contact-form-table {
  display: grid;
}
body.page-id-40 .contact-form-row {
  display: grid;
  grid-template-columns: minmax(220px, .32fr) minmax(0, .68fr);
  border-bottom: 1px solid #e5ded7;
}
body.page-id-40 .contact-form-row:last-child {
  border-bottom: 0;
}
body.page-id-40 .contact-form-label {
  padding: 26px 30px;
  background: #f5f0ec;
  color: #292524;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.6;
}
body.page-id-40 .contact-form-label span {
  margin-left: 2px;
  color: #c2410c;
}
body.page-id-40 .contact-form-field {
  padding: 22px 32px;
  background: #fff;
}
body.page-id-40 .contact-form-field input[type="text"],
body.page-id-40 .contact-form-field input[type="email"],
body.page-id-40 .contact-form-field textarea,
body.page-id-40 .contact-form-field select {
  width: 100%;
  max-width: 100%;
  padding: 13px 14px;
  border: 1px solid #ddd3cc;
  border-radius: 6px;
  background: #fff;
  color: #292524;
  font-size: 15px;
  line-height: 1.7;
}
body.page-id-40 .contact-form-field textarea {
  min-height: 180px;
  resize: vertical;
}
body.page-id-40 .contact-form-field label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 6px 22px 6px 0;
  color: #57534e;
  font-size: 14px;
}
body.page-id-40 .contact-form-submit {
  display: flex;
  justify-content: center;
  gap: 14px;
  padding: 42px 24px 48px;
  border-top: 1px solid #e5ded7;
}
body.page-id-40 .contact-form-submit input,
body.page-id-40 .contact-form-submit button {
  min-width: 220px;
  min-height: 54px;
  padding: 12px 28px;
  border: 1px solid #b94f1d;
  background: #b94f1d;
  color: #fff;
  font-size: 15px;
  letter-spacing: .08em;
  cursor: pointer;
}
body.page-id-40 .contact-form-submit .contact-back,
body.page-id-40 .contact-form-submit input[name="submitBack"] {
  background: #fff;
  color: #292524;
  border-color: #d8d3cd;
}
body.page-id-40 .contact-notes {
  margin-top: 30px;
  padding: 22px 24px;
  background: #f5f0ec;
  border-left: 4px solid #b94f1d;
}
body.page-id-40 .error {
  display: block;
  margin-top: 8px;
  color: #c2410c;
  font-size: 13px;
}
@media (max-width: 700px) {
  body.page-id-40 .contact-page-main {
    width: calc(100% - 28px);
    padding-top: 5px;
  }
  body.page-id-40 .contact-form-row {
    grid-template-columns: 1fr;
  }
  body.page-id-40 .contact-form-label {
    padding: 18px 20px 12px;
  }
  body.page-id-40 .contact-form-field {
    padding: 14px 20px 22px;
  }
  body.page-id-40 .contact-form-submit {
    display: grid;
    grid-template-columns: 1fr;
    padding: 30px 20px 34px;
  }
  body.page-id-40 .contact-form-submit input,
  body.page-id-40 .contact-form-submit button {
    width: 100%;
    min-width: 0;
  }
}
/* Shopinfo lead copy smaller */
body.page-id-37 .shopinfo-lead h2 {
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.5;
}
@media (max-width: 560px) {
  body.page-id-37 .shopinfo-lead h2 {
    font-size: 23px;
    line-height: 1.55;
  }
}

/* Page-specific subnav font override */
body.page .sub-header .sub-nav a,
body.page-id-22 .sub-nav a,
body.page-id-26 .sub-nav a,
body.page-id-34 .sub-nav a,
body.page-id-37 .sub-nav a,
body.page-id-40 .sub-nav a {
  font-size: 15px !important;
}
@media (max-width: 800px) {
  body.page .sub-header .sub-nav a,
  body.page-id-22 .sub-nav a,
  body.page-id-26 .sub-nav a,
  body.page-id-34 .sub-nav a,
  body.page-id-37 .sub-nav a,
  body.page-id-40 .sub-nav a {
    font-size: 16px !important;
  }
}

/* Lesson mobile narrow side padding */
@media (max-width: 560px) {
  body.page-id-34 .breadcrumb,
  body.page-id-34 .lesson-main {
    width: calc(100% - 16px) !important;
  }
}

/* All fixed pages mobile side padding 8px */
@media (max-width: 560px) {
  body.page .breadcrumb,
  body.page .page-main,
  body.page .after-main,
  body.page .honten-main,
  body.page .shopinfo-main,
  body.page .lesson-main,
  body.page .contact-page-main,
  body.page-id-14 .after-main,
  body.page-id-22 .breadcrumb,
  body.page-id-22 .honten-main,
  body.page-id-26 .breadcrumb,
  body.page-id-26 .honten-main,
  body.page-id-34 .breadcrumb,
  body.page-id-34 .lesson-main,
  body.page-id-37 .breadcrumb,
  body.page-id-37 .shopinfo-main,
  body.page-id-40 .contact-page-main {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
  }
}

/* Lesson reservation redesign */
body.page-id-34 .lesson-contact {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  padding: clamp(38px, 5vw, 64px);
}
body.page-id-34 .lesson-contact > div:first-child {
  max-width: 620px;
}
body.page-id-34 .lesson-contact h2 {
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.45;
}
body.page-id-34 .lesson-contact p {
  max-width: 520px;
}
body.page-id-34 .lesson-contact-actions {
  display: flex;
  justify-content: center;
  align-items: center;
}
body.page-id-34 .lesson-contact-actions a:not(.primary) {
  display: none;
}
body.page-id-34 .lesson-contact-actions a.primary {
  min-width: 300px;
  min-height: 64px;
  padding: 12px 34px;
  font-size: 19px;
  letter-spacing: .12em;
}
@media (max-width: 900px) {
  body.page-id-34 .lesson-contact {
    grid-template-columns: 1fr;
    gap: 28px;
    text-align: left;
  }
  body.page-id-34 .lesson-contact-actions {
    justify-content: flex-start;
    width: 100%;
  }
  body.page-id-34 .lesson-contact-actions a.primary {
    width: min(100%, 320px);
  }
}
@media (max-width: 560px) {
  body.page-id-34 .lesson-contact {
    padding: 30px 22px;
  }
  body.page-id-34 .lesson-contact h2 {
    font-size: 26px;
  }
  body.page-id-34 .lesson-contact-actions a.primary {
    width: 100%;
    min-width: 0;
    font-size: 17px;
  }
}

/* Shopinfo mobile readable fonts */
@media (max-width: 560px) {
  body.page-id-37 .shopinfo-lead p,
  body.page-id-37 .shopinfo-promise p,
  body.page-id-37 .section-head p,
  body.page-id-37 .store-card p,
  body.page-id-37 .store-meta,
  body.page-id-37 .relocation-note p,
  body.page-id-37 .shopinfo-contact p {
    font-size: 15px !important;
    line-height: 1.9;
  }
  body.page-id-37 .shopinfo-promise small,
  body.page-id-37 .store-label,
  body.page-id-37 .shopinfo-contact small,
  body.page-id-37 .section-kicker,
  body.page-id-37 .shopinfo-kicker {
    font-size: 12px !important;
  }
  body.page-id-37 .store-actions a,
  body.page-id-37 .shopinfo-contact a {
    font-size: 15px !important;
  }
}

/* Yokkaichi mobile readable fonts */
@media (max-width: 560px) {
  body.page-id-22 .honten-hero p,
  body.page-id-22 .info-strip p,
  body.page-id-22 .section-head p,
  body.page-id-22 .experience-card p,
  body.page-id-22 .access-card p,
  body.page-id-22 .shop-table,
  body.page-id-22 .shop-table th,
  body.page-id-22 .shop-table td,
  body.page-id-22 .access-note,
  body.page-id-22 .honten-contact p {
    font-size: 15px !important;
    line-height: 1.9;
  }
  body.page-id-22 .section-kicker,
  body.page-id-22 .info-strip small,
  body.page-id-22 .honten-contact small {
    font-size: 12px !important;
  }
  body.page-id-22 .honten-actions a,
  body.page-id-22 .honten-contact a {
    font-size: 15px !important;
  }
}

/* Nagoya mobile readable fonts */
@media (max-width: 560px) {
  body.page-id-26 .honten-hero p,
  body.page-id-26 .info-strip p,
  body.page-id-26 .section-head p,
  body.page-id-26 .experience-card p,
  body.page-id-26 .access-card p,
  body.page-id-26 .shop-table,
  body.page-id-26 .shop-table th,
  body.page-id-26 .shop-table td,
  body.page-id-26 .access-note,
  body.page-id-26 .honten-contact p {
    font-size: 15px !important;
    line-height: 1.9;
  }
  body.page-id-26 .section-kicker,
  body.page-id-26 .info-strip small,
  body.page-id-26 .honten-contact small {
    font-size: 12px !important;
  }
  body.page-id-26 .honten-actions a,
  body.page-id-26 .honten-contact a {
    font-size: 15px !important;
  }
}

/* Maintenance lead heading smaller */
body.page-id-14 .after-lead-copy h2 {
  font-size: clamp(25px, 3vw, 42px);
  line-height: 1.5;
}
@media (max-width: 560px) {
  body.page-id-14 .after-lead-copy h2 {
    font-size: 23px;
    line-height: 1.55;
  }
}

/* Maintenance headings smaller */
body.page-id-14 .after-section-head h2,
body.page-id-14 .nobo-title h2,
body.page-id-14 .warning-block h2,
body.page-id-14 .after-contact h2 {
  font-size: clamp(22px, 2.5vw, 34px);
  line-height: 1.45;
}
body.page-id-14 .after-promise h3,
body.page-id-14 .repair-flow h3,
body.page-id-14 .price-card h3,
body.page-id-14 .visit-price-copy h3,
body.page-id-14 .machine-type-list h3 {
  font-size: 19px;
  line-height: 1.55;
}
@media (max-width: 560px) {
  body.page-id-14 .after-section-head h2,
  body.page-id-14 .nobo-title h2,
  body.page-id-14 .warning-block h2,
  body.page-id-14 .after-contact h2 {
    font-size: 21px;
  }
  body.page-id-14 .after-promise h3,
  body.page-id-14 .repair-flow h3,
  body.page-id-14 .price-card h3,
  body.page-id-14 .visit-price-copy h3,
  body.page-id-14 .machine-type-list h3 {
    font-size: 18px;
  }
}

/* Maintenance readable fonts */
body.page-id-14 .after-lead-copy p,
body.page-id-14 .after-promise p,
body.page-id-14 .after-section-head p,
body.page-id-14 .repair-flow p,
body.page-id-14 .nobo-copy p,
body.page-id-14 .price-card p,
body.page-id-14 .repair-price-caption,
body.page-id-14 .visit-price-copy p,
body.page-id-14 .notes-box ul,
body.page-id-14 .machine-type-list p,
body.page-id-14 .warning-block p,
body.page-id-14 .warning-list,
body.page-id-14 .after-contact p {
  font-size: 15px !important;
  line-height: 1.95;
}
body.page-id-14 .repair-price-table,
body.page-id-14 .repair-price-table th,
body.page-id-14 .repair-price-table td,
body.page-id-14 .visit-price-table,
body.page-id-14 .visit-price-table th,
body.page-id-14 .visit-price-table td {
  font-size: 14px !important;
  line-height: 1.65;
}
body.page-id-14 .section-kicker,
body.page-id-14 .nobo-title small,
body.page-id-14 .price-card small,
body.page-id-14 .after-contact small,
body.page-id-14 .nobo-tags li {
  font-size: 12px !important;
}
body.page-id-14 .repair-price-table .repair-subhead,
body.page-id-14 .repair-price-table .repair-small,
body.page-id-14 .repair-price-table .repair-version {
  font-size: 12px !important;
}
body.page-id-14 .repair-price-note,
body.page-id-14 .visit-price-area-note {
  font-size: 14px !important;
}
body.page-id-14 .after-contact a {
  font-size: 15px !important;
}
@media (max-width: 560px) {
  body.page-id-14 .after-lead-copy p,
  body.page-id-14 .after-promise p,
  body.page-id-14 .after-section-head p,
  body.page-id-14 .repair-flow p,
  body.page-id-14 .nobo-copy p,
  body.page-id-14 .price-card p,
  body.page-id-14 .repair-price-caption,
  body.page-id-14 .visit-price-copy p,
  body.page-id-14 .notes-box ul,
  body.page-id-14 .machine-type-list p,
  body.page-id-14 .warning-block p,
  body.page-id-14 .warning-list,
  body.page-id-14 .after-contact p {
    font-size: 15px !important;
    line-height: 1.9;
  }
}

/* Contact readable fonts */
body.page-id-40 .contact-page-lead p,
body.page-id-40 .contact-notes p {
  font-size: 15px !important;
  line-height: 1.95;
}
body.page-id-40 .section-kicker {
  font-size: 12px !important;
}
body.page-id-40 .contact-form-label {
  font-size: 18px !important;
}
body.page-id-40 .contact-form-field input[type="text"],
body.page-id-40 .contact-form-field input[type="email"],
body.page-id-40 .contact-form-field textarea,
body.page-id-40 .contact-form-field select {
  font-size: 16px !important;
}
body.page-id-40 .contact-form-field label,
body.page-id-40 .error {
  font-size: 15px !important;
  line-height: 1.7;
}
body.page-id-40 .contact-form-submit input,
body.page-id-40 .contact-form-submit button {
  font-size: 16px !important;
}
@media (max-width: 700px) {
  body.page-id-40 .contact-page-lead p,
  body.page-id-40 .contact-notes p,
  body.page-id-40 .contact-form-field label,
  body.page-id-40 .error {
    font-size: 15px !important;
  }
  body.page-id-40 .contact-form-label {
    font-size: 17px !important;
  }
  body.page-id-40 .contact-form-field input[type="text"],
  body.page-id-40 .contact-form-field input[type="email"],
  body.page-id-40 .contact-form-field textarea,
  body.page-id-40 .contact-form-field select {
    font-size: 16px !important;
  }
}

/* Lesson PC readable fonts */
@media (min-width: 701px) {
  body.page-id-34 .lesson-lead p,
  body.page-id-34 .section-head p,
  body.page-id-34 .lesson-card p,
  body.page-id-34 .notice-box p,
  body.page-id-34 .notice-list,
  body.page-id-34 .tools-block p,
  body.page-id-34 .tools-list,
  body.page-id-34 .tools-note,
  body.page-id-34 .lesson-contact p {
    font-size: 16px !important;
    line-height: 1.95;
  }
  body.page-id-34 .lesson-kicker,
  body.page-id-34 .section-kicker,
  body.page-id-34 .lesson-contact small,
  body.page-id-34 .lesson-title small {
    font-size: 12px !important;
  }
  body.page-id-34 .lesson-actions a,
  body.page-id-34 .lesson-contact a {
    font-size: 16px !important;
  }
}

/* Yokkaichi PC readable fonts */
@media (min-width: 701px) {
  body.page-id-22 .honten-hero p,
  body.page-id-22 .info-strip p,
  body.page-id-22 .section-head p,
  body.page-id-22 .experience-card p,
  body.page-id-22 .access-card p,
  body.page-id-22 .shop-table,
  body.page-id-22 .shop-table th,
  body.page-id-22 .shop-table td,
  body.page-id-22 .access-note,
  body.page-id-22 .honten-contact p {
    font-size: 16px !important;
    line-height: 1.95;
  }
  body.page-id-22 .section-kicker,
  body.page-id-22 .info-strip small,
  body.page-id-22 .honten-contact small,
  body.page-id-22 .shop-title small {
    font-size: 12px !important;
  }
  body.page-id-22 .honten-actions a,
  body.page-id-22 .honten-contact a {
    font-size: 16px !important;
  }
}

/* Shopinfo PC readable fonts */
@media (min-width: 701px) {
  body.page-id-37 .shopinfo-lead p,
  body.page-id-37 .shopinfo-promise p,
  body.page-id-37 .section-head p,
  body.page-id-37 .store-card p,
  body.page-id-37 .store-meta,
  body.page-id-37 .relocation-note p,
  body.page-id-37 .shopinfo-contact p {
    font-size: 16px !important;
    line-height: 1.95;
  }
  body.page-id-37 .shopinfo-promise small,
  body.page-id-37 .store-label,
  body.page-id-37 .shopinfo-contact small,
  body.page-id-37 .section-kicker,
  body.page-id-37 .shopinfo-kicker,
  body.page-id-37 .shop-title small {
    font-size: 12px !important;
  }
  body.page-id-37 .store-actions a,
  body.page-id-37 .shopinfo-contact a {
    font-size: 16px !important;
  }
}

/* Nagoya PC readable fonts */
@media (min-width: 701px) {
  body.page-id-26 .honten-hero p,
  body.page-id-26 .info-strip p,
  body.page-id-26 .section-head p,
  body.page-id-26 .experience-card p,
  body.page-id-26 .access-card p,
  body.page-id-26 .shop-table,
  body.page-id-26 .shop-table th,
  body.page-id-26 .shop-table td,
  body.page-id-26 .access-note,
  body.page-id-26 .honten-contact p {
    font-size: 16px !important;
    line-height: 1.95;
  }
  body.page-id-26 .section-kicker,
  body.page-id-26 .info-strip small,
  body.page-id-26 .honten-contact small,
  body.page-id-26 .shop-title small {
    font-size: 12px !important;
  }
  body.page-id-26 .honten-actions a,
  body.page-id-26 .honten-contact a {
    font-size: 16px !important;
  }
}

/* Maintenance PC readable fonts strong */
@media (min-width: 701px) {
  body.page-id-14 .after-lead-copy p,
  body.page-id-14 .after-promise p,
  body.page-id-14 .after-section-head p,
  body.page-id-14 .repair-flow p,
  body.page-id-14 .nobo-copy p,
  body.page-id-14 .price-card p,
  body.page-id-14 .repair-price-caption,
  body.page-id-14 .visit-price-copy p,
  body.page-id-14 .notes-box ul,
  body.page-id-14 .machine-type-list p,
  body.page-id-14 .warning-block p,
  body.page-id-14 .warning-list,
  body.page-id-14 .after-contact p {
    font-size: 16px !important;
    line-height: 1.95;
  }
  body.page-id-14 .repair-price-table,
  body.page-id-14 .repair-price-table th,
  body.page-id-14 .repair-price-table td,
  body.page-id-14 .visit-price-table,
  body.page-id-14 .visit-price-table th,
  body.page-id-14 .visit-price-table td {
    font-size: 15px !important;
    line-height: 1.7;
  }
  body.page-id-14 .section-kicker,
  body.page-id-14 .after-hero-label,
  body.page-id-14 .nobo-title small,
  body.page-id-14 .price-card small,
  body.page-id-14 .after-contact small,
  body.page-id-14 .nobo-tags li,
  body.page-id-14 .repair-price-table .repair-subhead,
  body.page-id-14 .repair-price-table .repair-small,
  body.page-id-14 .repair-price-table .repair-version {
    font-size: 13px !important;
  }
  body.page-id-14 .repair-price-note,
  body.page-id-14 .visit-price-area-note,
  body.page-id-14 .after-contact a {
    font-size: 15px !important;
  }
}

/* Shopinfo hero heading and image alignment */
@media (min-width: 901px) {
  body.page-id-37 .shopinfo-lead {
    align-items: stretch;
  }
  body.page-id-37 .shopinfo-lead > div {
    display: flex;
    flex-direction: column;
  }
  body.page-id-37 .shopinfo-lead h2 {
    font-size: clamp(24px, 2.55vw, 34px);
    white-space: nowrap;
  }
  body.page-id-37 .shopinfo-hero-photo {
    height: 100%;
    min-height: 0;
  }
  body.page-id-37 .shopinfo-hero-photo img {
    height: 100%;
    min-height: 0;
  }
}
@media (max-width: 900px) {
  body.page-id-37 .shopinfo-lead h2 {
    white-space: normal;
  }
}

/* Shopinfo hero photo fill */
@media (min-width: 901px) {
  body.page-id-37 .shopinfo-lead {
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
  }
  body.page-id-37 .shopinfo-lead h2 {
    max-width: 100%;
    font-size: clamp(23px, 2.05vw, 30px);
    line-height: 1.45;
    overflow: visible;
  }
  body.page-id-37 .shopinfo-hero-photo {
    position: relative;
    height: 100%;
    min-height: 0;
  }
  body.page-id-37 .shopinfo-hero-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.06);
    transform-origin: center center;
  }
}

/* Shopinfo photo lowered below title */
@media (min-width: 901px) {
  body.page-id-37 .shopinfo-lead {
    align-items: stretch;
  }
  body.page-id-37 .shopinfo-lead h2 {
    position: relative;
    z-index: 2;
    font-size: clamp(24px, 2.2vw, 32px);
    white-space: nowrap;
  }
  body.page-id-37 .shopinfo-hero-photo {
    margin-top: 96px;
    height: calc(100% - 96px);
  }
}

/* Shopinfo photo starts below lead text */
@media (min-width: 901px) {
  body.page-id-37 .shopinfo-hero-photo {
    margin-top: 255px;
    height: calc(100% - 255px);
  }
}

/* Yokkaichi atmosphere gallery */
body.page-id-22 .honten-atmosphere-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 18px);
}

body.page-id-22 .honten-atmosphere-grid img,
body.page-id-22 .honten-atmosphere-grid img:first-child {
  width: 100%;
  min-height: 0;
  height: auto;
  aspect-ratio: 3 / 4;
  grid-row: auto;
  object-fit: cover;
}

@media (max-width: 760px) {
  body.page-id-22 .honten-atmosphere-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.page-id-22 .honten-atmosphere-grid img,
  body.page-id-22 .honten-atmosphere-grid img:first-child {
    min-height: 0;
    aspect-ratio: 3 / 4;
  }
}

/* Yokkaichi atmosphere horizontal row */
@media (min-width: 761px) {
  body.page-id-22 .gallery-grid.honten-atmosphere-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: clamp(12px, 1.5vw, 18px);
  }

  body.page-id-22 .gallery-grid.honten-atmosphere-grid img,
  body.page-id-22 .gallery-grid.honten-atmosphere-grid img:first-child {
    display: block;
    flex: 1 1 0;
    width: auto;
    max-width: none;
    min-width: 0;
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 4;
    grid-row: auto;
    object-fit: cover;
  }
}

/* Yokkaichi map fill */
body.page-id-22 #access .embed-frame {
  display: flex;
  width: 100%;
  min-height: 100%;
}

body.page-id-22 #access .embed-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
  border: 0;
}

@media (max-width: 760px) {
  body.page-id-22 #access .embed-frame iframe {
    min-height: 420px;
  }
}

/* Yokkaichi founding restored images */
body.page-id-22 .founding-restore-block {
  margin-top: clamp(28px, 4vw, 48px);
}

body.page-id-22 .founding-restore-block h3 {
  margin: 0 0 18px;
  padding-left: 18px;
  border-left: 4px solid var(--shop-accent);
  color: var(--shop-ink);
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 400;
  line-height: 1.45;
}

body.page-id-22 .founding-restore-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(14px, 2vw, 24px);
}

body.page-id-22 .founding-restore-grid img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--shop-line);
}

@media (max-width: 760px) {
  body.page-id-22 .founding-restore-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.page-id-22 .founding-restore-grid img {
    aspect-ratio: 4 / 3;
  }
}

/* Yokkaichi founding restored images horizontal */
@media (min-width: 761px) {
  body.page-id-22 .honten-section .founding-restore-grid {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch;
    gap: clamp(14px, 2vw, 24px);
    width: 100%;
  }

  body.page-id-22 .honten-section .founding-restore-grid img {
    flex: 1 1 0;
    display: block;
    width: 50% !important;
    max-width: 50%;
    min-width: 0;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}

/* Nagoya atmosphere gallery */
body.page-id-26 .sakae-atmosphere-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 18px);
}

body.page-id-26 .sakae-atmosphere-grid img,
body.page-id-26 .sakae-atmosphere-grid img:first-child {
  display: block;
  width: 100%;
  min-height: 0;
  height: auto;
  aspect-ratio: 3 / 4;
  grid-row: auto;
  object-fit: cover;
}

@media (min-width: 761px) {
  body.page-id-26 .gallery-grid.sakae-atmosphere-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: clamp(12px, 1.5vw, 18px);
  }

  body.page-id-26 .gallery-grid.sakae-atmosphere-grid img,
  body.page-id-26 .gallery-grid.sakae-atmosphere-grid img:first-child {
    flex: 1 1 0;
    width: auto;
    max-width: none;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 3 / 4;
    grid-row: auto;
    object-fit: cover;
  }
}

@media (max-width: 760px) {
  body.page-id-26 .sakae-atmosphere-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.page-id-26 .sakae-atmosphere-grid img,
  body.page-id-26 .sakae-atmosphere-grid img:first-child {
    min-height: 0;
    aspect-ratio: 3 / 4;
  }
}

/* Nagoya map fill */
body.page-id-26 #access .embed-frame {
  display: flex;
  width: 100%;
  min-height: 100%;
}

body.page-id-26 #access .embed-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
  border: 0;
}

@media (max-width: 760px) {
  body.page-id-26 #access .embed-frame iframe {
    min-height: 420px;
  }
}

/* Store atmosphere mobile wide single column */
@media (max-width: 760px) {
  body.page-id-22 .gallery-grid.honten-atmosphere-grid,
  body.page-id-26 .gallery-grid.sakae-atmosphere-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
  }

  body.page-id-22 .gallery-grid.honten-atmosphere-grid > img,
  body.page-id-22 .gallery-grid.honten-atmosphere-grid > img:first-child,
  body.page-id-26 .gallery-grid.sakae-atmosphere-grid > img,
  body.page-id-26 .gallery-grid.sakae-atmosphere-grid > img:first-child {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* Lesson page action buttons */
body.page-id-34 .lesson-actions.lesson-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: min(100%, 820px);
  margin-top: 34px;
}

body.page-id-34 .lesson-actions.lesson-actions-grid a {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  padding: 10px 18px;
  text-align: center;
}

body.page-id-34 .lesson-actions.lesson-actions-grid br {
  display: none;
}

body.page-id-34 .lesson-actions.lesson-actions-grid .lesson-list-wide {
  grid-column: 1 / -1;
  width: min(100%, 680px);
  justify-self: center;
}

@media (max-width: 760px) {
  body.page-id-34 .lesson-actions.lesson-actions-grid {
    grid-template-columns: 1fr;
    width: 100%;
  }

  body.page-id-34 .lesson-actions.lesson-actions-grid .lesson-list-wide {
    width: 100%;
  }
}

/* Lesson lead wider action area */
@media (min-width: 901px) {
  body.page-id-34 .lesson-lead {
    grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr);
    gap: clamp(34px, 4vw, 58px);
  }

  body.page-id-34 .lesson-actions.lesson-actions-grid {
    width: 100%;
  }

  body.page-id-34 .lesson-actions.lesson-actions-grid a {
    white-space: nowrap;
    font-size: 15px;
    letter-spacing: .04em;
  }

  body.page-id-34 .lesson-photo {
    min-height: 480px;
  }

  body.page-id-34 .lesson-photo img {
    min-height: 480px;
  }
}

/* Mobile dropdown menu scroll */
@media (max-width: 980px) {
  .sub-header .sub-nav,
  .sub-header.is-open .sub-nav,
  .sub-header.open .sub-nav {
    max-height: calc(100vh - 70px);
    max-height: calc(100dvh - 70px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
}

/* Store map mobile full width */
@media (max-width: 760px) {
  body.page-id-22 #access .embed-frame,
  body.page-id-26 #access .embed-frame {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }

  body.page-id-22 #access .embed-frame iframe,
  body.page-id-26 #access .embed-frame iframe {
    width: 100% !important;
  }
}

/* Product inquiry form page */
body.page .product-inquiry-page {
  width: min(88%, 1120px);
  margin: 0 auto;
  padding: 72px 0 110px;
}

body.page .product-inquiry-page .contact-page-lead {
  margin-bottom: 34px;
}

body.page .product-inquiry-page .section-kicker {
  color: var(--theme-accent, #c2410c);
  font-size: 12px;
  letter-spacing: .22em;
}

body.page .product-inquiry-page h2 {
  margin: 12px 0 14px;
  padding-left: 20px;
  border-left: 4px solid var(--theme-accent, #c2410c);
  color: #1c1917;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.45;
}

body.page .product-inquiry-page p {
  color: #57534e;
  font-size: 15px;
  line-height: 2;
}

body.page .product-inquiry-page .contact-form-section {
  border: 1px solid #e7e5e4;
  background: #fff;
}

body.page .product-inquiry-page .contact-form-row {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  border-bottom: 1px solid #e7e5e4;
}

body.page .product-inquiry-page .contact-form-row:last-child {
  border-bottom: 0;
}

body.page .product-inquiry-page .contact-form-label {
  padding: 24px 26px;
  background: #f7f2ee;
  color: #292524;
  font-size: 17px;
}

body.page .product-inquiry-page .contact-form-label span {
  margin-left: 4px;
  color: #c2410c;
  font-size: 13px;
}

body.page .product-inquiry-page .contact-form-field {
  padding: 20px 26px;
}

body.page .product-inquiry-page input[type=\"text\"],
body.page .product-inquiry-page input[type=\"email\"],
body.page .product-inquiry-page textarea {
  width: 100%;
  max-width: 100%;
  padding: 12px 14px;
  border: 1px solid #d8cfc7;
  background: #fff;
  font-size: 16px;
}

body.page .product-inquiry-page input[readonly] {
  background: #f5f5f4;
}

body.page .product-inquiry-page .contact-form-submit {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 34px 20px 10px;
}

body.page .product-inquiry-page .contact-form-submit input,
body.page .product-inquiry-page .contact-form-submit button {
  min-width: 220px;
  min-height: 54px;
  padding: 10px 24px;
  border: 0;
  background: #c2410c;
  color: #fff;
  font-size: 15px;
  letter-spacing: .08em;
}

@media (max-width: 760px) {
  body.page .product-inquiry-page {
    width: calc(100% - 16px);
    padding: 44px 0 80px;
  }

  body.page .product-inquiry-page .contact-form-row {
    grid-template-columns: 1fr;
  }

  body.page .product-inquiry-page .contact-form-label,
  body.page .product-inquiry-page .contact-form-field {
    padding: 16px;
  }

  body.page .product-inquiry-page .contact-form-submit {
    display: grid;
  }

  body.page .product-inquiry-page .contact-form-submit input,
  body.page .product-inquiry-page .contact-form-submit button {
    width: 100%;
    min-width: 0;
  }
}

/* Maintenance related posts */
body.page-id-14 .maintenance-related-posts {
  margin-top: 80px;
}

body.page-id-14 .maintenance-related-posts h2 {
  margin: 0 0 34px;
  padding: 0;
  border: 0;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.35;
}

body.page-id-14 .maintenance-related-posts .related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

body.page-id-14 .maintenance-related-posts .related-grid a {
  display: block;
  color: inherit;
  text-decoration: none;
}

body.page-id-14 .maintenance-related-posts .related-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--theme-surface, #f5f5f4);
}

body.page-id-14 .maintenance-related-posts .related-thumb img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
}

body.page-id-14 .maintenance-related-posts time {
  display: block;
  margin-top: 14px;
  font-size: 18px;
  line-height: 1.5;
}

body.page-id-14 .maintenance-related-posts h3 {
  margin: 18px 0 0;
  padding: 0;
  border: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

@media (max-width: 700px) {
  body.page-id-14 .maintenance-related-posts {
    margin-top: 52px;
  }

  body.page-id-14 .maintenance-related-posts .related-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* Lesson related posts */
body.page-id-34 .lesson-related-posts {
  margin-top: 80px;
}

body.page-id-34 .lesson-related-posts h2 {
  margin: 0 0 34px;
  padding: 0;
  border: 0;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.35;
}

body.page-id-34 .lesson-related-posts .related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

body.page-id-34 .lesson-related-posts .related-grid a {
  display: block;
  color: inherit;
  text-decoration: none;
}

body.page-id-34 .lesson-related-posts .related-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--theme-surface, #f5f5f4);
}

body.page-id-34 .lesson-related-posts .related-thumb img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
}

body.page-id-34 .lesson-related-posts time {
  display: block;
  margin-top: 14px;
  font-size: 18px;
  line-height: 1.5;
}

body.page-id-34 .lesson-related-posts h3 {
  margin: 18px 0 0;
  padding: 0;
  border: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

@media (max-width: 700px) {
  body.page-id-34 .lesson-related-posts {
    margin-top: 52px;
  }

  body.page-id-34 .lesson-related-posts .related-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* Related posts mobile horizontal cards */
@media (max-width: 700px) {
  body.page-id-14 .maintenance-related-posts .related-grid,
  body.page-id-34 .lesson-related-posts .related-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.page-id-14 .maintenance-related-posts .related-grid a,
  body.page-id-34 .lesson-related-posts .related-grid a {
    display: grid;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--theme-line, #d6d3d1);
  }

  body.page-id-14 .maintenance-related-posts .related-thumb,
  body.page-id-34 .lesson-related-posts .related-thumb {
    grid-row: 1 / span 2;
    aspect-ratio: 1 / 1;
  }

  body.page-id-14 .maintenance-related-posts time,
  body.page-id-34 .lesson-related-posts time {
    margin-top: 0;
    font-size: 13px;
    line-height: 1.45;
  }

  body.page-id-14 .maintenance-related-posts h3,
  body.page-id-34 .lesson-related-posts h3 {
    margin: 4px 0 0;
    font-size: 14px;
    line-height: 1.55;
  }
}
