@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;500;600;700&display=swap");
/* AROMIC b. presentation only. No selectors target the W2 input form. */
#teigaku { margin:0; padding:0; max-width:none; width:100%; }
#teigaku #ab-page {
 --ab-ink:#293c2d; --ab-text:#485047; --ab-green:#465f3b; --ab-cream:#f7f6f0; --ab-pale:#eef0e7; --ab-line:#d7dccf;
 display:block; width:100%; margin:0; padding:0; background:#fff; color:var(--ab-text);
 font:400 15px/1.95 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif; letter-spacing:.025em;
}

/* Final content refinements: value list, feature catchphrases and plan choices. */
#teigaku #ab-page .ab-story-points li {
  padding-left:18px;
}

#teigaku #ab-page .ab-story-points li::before {
  display:none;
  content:none;
}
/* PC */
#teigaku #ab-page .ab-hero-copy > h1:first-child {
  margin-top: 28px;
  margin-bottom: 38px;
}

/* SP */
@media (max-width: 749px) {
  #teigaku #ab-page .ab-hero-copy > h1:first-child {
    margin-top: 10px;
    margin-bottom: 28px;
  }
}
#teigaku #ab-page .ab-feature-grid article {
  grid-template-rows:auto auto auto 1fr;
}

#teigaku #ab-page .ab-feature-grid h4 {
  grid-column:1 / -1;
  grid-row:3;
  margin:0 0 10px;
  color:#526747;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;
  font-size:15px;
  font-weight:600;
  line-height:1.7;
  letter-spacing:.035em;
  text-align:left;
}

#teigaku #ab-page .ab-feature-grid p {
  grid-row:4;
}

#teigaku #ab-page .ab-start-options {
  margin:34px 0 30px;
  padding:28px 30px;
  border:1px solid #cad3c2;
  background:rgba(255,255,255,.68);
}

#teigaku #ab-page .ab-start-options > h3 {
  margin:0 0 20px;
  color:var(--ab-ink);
  font-size:22px;
  line-height:1.6;
  text-align:center;
}

#teigaku #ab-page .ab-start-options-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:#d8dfd2;
}

#teigaku #ab-page .ab-start-options-grid > div {
  padding:20px 24px;
  background:#fff;
}

#teigaku #ab-page .ab-start-options-grid strong {
  display:block;
  margin-bottom:7px;
  color:#3f5d38;
  font-size:17px;
}

#teigaku #ab-page .ab-start-options-grid p {
  margin:0;
  font-size:14px;
  line-height:1.8;
  text-align:left;
}

#teigaku #ab-page .ab-purchase {
  position:relative;
  padding:38px 40px;
  border:2px solid #7f9474;
  background:linear-gradient(135deg,#fff 0%,#f5f7f1 100%);
  box-shadow:0 12px 30px rgba(45,65,48,.1);
}

#teigaku #ab-page .ab-purchase::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:#526747;
}

#teigaku #ab-page .ab-purchase h3 {
  font-size:28px;
}

#teigaku #ab-page .ab-purchase .ab-purchase-catch {
  margin:2px 0 8px;
  color:#3f5d38;
  font-size:18px;
  line-height:1.7;
}

#teigaku #ab-page .ab-purchase .ab-purchase-copy {
  margin:0 0 14px;
  font-size:14px;
  line-height:1.9;
}

#teigaku #ab-page .ab-purchase .ab-price {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:0 8px;
  margin-top:16px;
  color:#29472f;
  font-weight:700;
}

#teigaku #ab-page .ab-purchase .ab-price small {
  font-size:14px;
  font-weight:600;
}

#teigaku #ab-page .ab-consult-action {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}

#teigaku #ab-page .ab-consult-note {
  margin:0;
  color:#667064;
  font-size:12px;
  line-height:1.7;
  text-align:left;
}

#teigaku #ab-page .ab-consult-action-cta {
  align-items:stretch;
}

#teigaku #ab-page .ab-consult-action-cta .ab-consult-note {
  max-width:360px;
  text-align:center;
}

@media(max-width:749px) {
  #teigaku #ab-page .ab-story-points li {
    padding-left:14px;
  }

  #teigaku #ab-page .ab-feature-grid h4 {
    font-size:14px;
  }

  #teigaku #ab-page .ab-start-options {
    margin:28px 0 24px;
    padding:22px 18px;
  }

  #teigaku #ab-page .ab-start-options > h3 {
    margin-bottom:16px;
    font-size:19px;
    text-align:left;
  }

  #teigaku #ab-page .ab-start-options-grid {
    grid-template-columns:1fr;
  }

  #teigaku #ab-page .ab-start-options-grid > div {
    padding:18px;
  }

  #teigaku #ab-page .ab-purchase {
    padding:28px 22px 26px;
  }

  #teigaku #ab-page .ab-purchase h3 {
    font-size:23px;
  }

  #teigaku #ab-page .ab-purchase .ab-purchase-catch {
    font-size:16px;
  }

  #teigaku #ab-page .ab-purchase .ab-price {
    font-size:32px;
  }

  #teigaku #ab-page .ab-actions {
    align-items:stretch;
  }

  #teigaku #ab-page .ab-consult-action,
  #teigaku #ab-page .ab-consult-action-cta {
    width:100%;
  }

  #teigaku #ab-page .ab-consult-action .ab-text-link,
  #teigaku #ab-page .ab-consult-action .ab-btn {
    width:100%;
    justify-content:center;
    text-align:center;
  }

  #teigaku #ab-page .ab-consult-action .ab-consult-note {
    width:100%;
    max-width:none;
    text-align:center;
  }
}
#teigaku #ab-page *,#teigaku #ab-page *::before,#teigaku #ab-page *::after {box-sizing:border-box;}
#teigaku #ab-page :where(section,header,nav,main,div,article,figure,figcaption,h1,h2,h3,p,ol,ul,li,dl,dt,dd,blockquote,details,summary) {
 margin:0; padding:0; width:auto; max-width:none; min-width:0; height:auto;
}
#teigaku #ab-page :where(section,article,figure,header,nav,main) { position:relative; float:none; background-image:none; }
#teigaku #ab-page :where(h1,h2,h3,p,dt,dd) {text-align:left; text-shadow:none;}
#teigaku #ab-page :where(h1,h2,h3) {color:var(--ab-ink); font-family:"Noto Serif JP","Yu Mincho",serif; font-weight:400; letter-spacing:.045em;}
#teigaku #ab-page h2 {font-size:clamp(27px,2.8vw,39px); line-height:1.75; margin-bottom:24px; text-wrap:balance; display: block;
    width: 100%;
    text-align: left !important;}

#teigaku #ab-page h3 {font-size:21px; line-height:1.65;}
#teigaku #ab-page p {word-break:normal; overflow-wrap:anywhere; line-break:strict; text-wrap:pretty;}
#teigaku #ab-page img {display:block; max-width:100%; height:auto; margin:0; border:0;}
#teigaku #ab-page a {color:inherit; text-decoration:none; transition:background .2s,color .2s; cursor:pointer;}
#teigaku #ab-page a:focus-visible,#teigaku #ab-page summary:focus-visible {outline:3px solid #6b8056;outline-offset:5px;}
#teigaku #ab-page :where(ul,ol) {list-style:none;}
#teigaku #ab-page small {font-size:12px;}
#teigaku #ab-page [id] {scroll-margin-top:100px;}
#teigaku #ab-page .ab-wrap {width:min(1160px,88%); margin-inline:auto;}
#teigaku #ab-page .ab-section {padding:90px 0; margin:0; background-color:#fff;}
#teigaku #ab-page .ab-eyebrow {margin:0 0 22px; font:500 11px/1.6 Arial,sans-serif;letter-spacing:.19em;color:var(--ab-green);}
#teigaku #ab-page .ab-section-head {display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;margin-bottom:42px;}
#teigaku #ab-page .ab-section-head h2 {margin-bottom:0;}
#teigaku #ab-page .ab-section-head > p {max-width:440px;}
#teigaku #ab-page .ab-actions {display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px;}
#teigaku #ab-page .ab-btn {
 display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:12px 24px;
 border:1px solid var(--ab-green);border-radius:3px;background:var(--ab-green);color:#fff;
 font:500 14px/1.65 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif;letter-spacing:.015em;
}
#teigaku #ab-page .ab-btn:hover {background:#304629;color:#fff;}
#teigaku #ab-page .ab-btn.ab-outline {background:#fff;color:var(--ab-green);}
#teigaku #ab-page .ab-btn.ab-outline:hover {background:var(--ab-pale);}
#teigaku #ab-page .ab-text-link {display:inline-block;padding:10px 0;border-bottom:1px solid #a8b49a;font-size:14px;color:var(--ab-green);}
#teigaku #ab-page .ab-text-link:hover {color:#1d321b;border-bottom-color:currentColor;}
#teigaku #ab-page .ab-note {font-size:12px;line-height:1.85;color:#61675b;}
/* Header stays in document flow; the unchanged scroll handler uses its height. */
#teigaku #ab-page .ab-header {
 display:flex;position:relative;inset:auto;align-items:center;gap:25px;
 width:100%;max-width:none;min-height:86px;margin:0;padding:16px 4%;
 background:#fff;border-bottom:1px solid #e4e6dd;box-shadow:none;z-index:10;
}
#teigaku #ab-page .ab-brand {display:block;flex-shrink:0;font:29px/1.1 Georgia,serif;color:var(--ab-ink);}
#teigaku #ab-page .ab-brand span {display:block;margin-top:7px;font:9px/1.4 Arial,sans-serif;letter-spacing:.22em;}
#teigaku #ab-page .ab-nav {display:flex;gap:24px;align-items:center;margin-left:auto;}
#teigaku #ab-page .ab-nav a {font-size:12px;white-space:nowrap;}
#teigaku #ab-page .ab-small {font-size:12px;min-height:44px;padding:10px 18px;}
#teigaku #ab-page .ab-mobile-nav {display:none;}
/* Hero combines botanical atmosphere with the real rental product. */
#teigaku #ab-page .ab-hero {min-height:670px;display:grid;grid-template-columns:1.02fr .98fr;background:var(--ab-cream);overflow:hidden;}
#teigaku #ab-page .ab-hero-photo {position:absolute;inset:0 0 0 45%;width:55%;height:100%;}
#teigaku #ab-page .ab-hero-photo img {width:100%;height:100%;object-fit:cover;object-position:58% center;}
#teigaku #ab-page .ab-hero::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f7f6f0 8%,#f7f6f0 38%,rgba(247,246,240,.15) 72%);pointer-events:none;}
#teigaku #ab-page .ab-hero-copy {position:relative;z-index:1;padding:70px 0 65px max(6vw,24px);}
#teigaku #ab-page .ab-hero h1 {font-size:clamp(36px,4vw,58px);line-height:1.6;margin:0 0 22px;color:var(--ab-ink);}
#teigaku #ab-page .ab-hero-lead {font-family:"Noto Serif JP","Yu Mincho",serif;font-size:21px;color:var(--ab-ink);margin-bottom:26px;}
#teigaku #ab-page .ab-hero-service {font-size:12px;letter-spacing:.08em;margin-bottom:8px;}
#teigaku #ab-page .ab-product-name {font:44px/1.2 Georgia,serif;color:var(--ab-ink);}
#teigaku #ab-page .ab-product-name small {display:block;margin-top:10px;font:11px/1.5 "Noto Sans JP",sans-serif;letter-spacing:.18em;}
#teigaku #ab-page .ab-product-name-image {width:min(320px,100%);height:auto;object-fit:contain;filter:brightness(0) saturate(100%) invert(20%) sepia(14%) saturate(864%) hue-rotate(78deg) brightness(92%) contrast(88%);}
#teigaku #ab-page .ab-hero-description {max-width:390px;margin-top:20px;font-size:14px;}
#teigaku #ab-page .ab-price-note {margin-top:20px;font-size:12px;}
#teigaku #ab-page .ab-price-note strong {font:25px/1.3 Georgia,serif;margin:0 4px;}
#teigaku #ab-page .ab-hero-product {z-index:1;align-self:center;justify-self:center;width:min(370px,75%);padding:28px 28px 24px;background:rgba(250,249,244,.96);box-shadow:0 20px 60px #23352213;}
#teigaku #ab-page .ab-hero-product img {width:100%;mix-blend-mode:multiply;}
#teigaku #ab-page .ab-hero-product figcaption {text-align:center;margin-top:12px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:16px;}
#teigaku #ab-page .ab-hero-product figcaption span {display:block;font:9px/1.8 Arial,sans-serif;letter-spacing:.17em;margin-top:9px;color:#667257;}
#teigaku #ab-page .ab-story-link {display:flex;justify-content:center;align-items:center;gap:30px;padding:17px 24px;background:#ebeee3;font-size:12px;color:var(--ab-green);}
/* Scenes */
#teigaku #ab-page .ab-space-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
#teigaku #ab-page .ab-space-grid img {width:100%;height:175px;object-fit:cover;}
#teigaku #ab-page .ab-space-grid .ab-eyebrow {margin:22px 0 10px;font-size:10px;}
#teigaku #ab-page .ab-space-grid h3 {font-size:18px;margin-bottom:12px;}
#teigaku #ab-page .ab-space-grid article > p:last-child {font-size:13px;}
/* Story */
#teigaku #ab-page .ab-concept {background:var(--ab-cream);}
#teigaku #ab-page .ab-split {display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;}
#teigaku #ab-page .ab-editorial-photo img {width:100%;aspect-ratio:4/5;object-fit:cover;object-position:58% center;}
#teigaku #ab-page .ab-editorial-photo figcaption {font-size:11px;margin-top:12px;color:#697160;}
#teigaku #ab-page .ab-editorial-copy .ab-lead {font-family:"Noto Serif JP","Yu Mincho",serif;font-size:23px;margin:0 0 25px;color:var(--ab-ink);}
#teigaku #ab-page .ab-editorial-copy > p:not(.ab-eyebrow) {margin-bottom:22px;}
/* Features and real specs */
#teigaku #ab-page .ab-feature-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;}
#teigaku #ab-page .ab-feature-grid article {border-top:1px solid var(--ab-line);padding:25px 0;}
#teigaku #ab-page .ab-feature-number {display:block;font:28px/1.2 Georgia,serif;color:#83916c;margin-bottom:18px;}
#teigaku #ab-page .ab-feature-grid h3 {font-size:20px;margin-bottom:14px;}
#teigaku #ab-page .ab-feature-grid p {font-size:13px;}
#teigaku #ab-page .ab-device-panel {display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center;padding:45px 6%;margin-top:32px;background:var(--ab-cream);}
#teigaku #ab-page .ab-device-panel figure {max-width:300px;margin:auto;}
#teigaku #ab-page .ab-device-panel img {mix-blend-mode:multiply;width:100%;}
#teigaku #ab-page .ab-device-panel h3 {font-size:25px;margin-bottom:25px;}
#teigaku #ab-page .ab-spec > div {display:grid;grid-template-columns:110px 1fr;gap:20px;padding:11px 0;border-top:1px solid var(--ab-line);font-size:13px;}
#teigaku #ab-page .ab-spec dt {color:#69725e;font-weight:400;}
#teigaku #ab-page .ab-device-panel .ab-note {margin-top:18px;}
/* Plans */
#teigaku #ab-page .ab-plans {background:#eef0e7;}
#teigaku #ab-page .ab-plan-grid {display:grid;grid-template-columns:1fr 1fr;gap:28px;}
#teigaku #ab-page .ab-plan {padding:36px;background:#fff;border:1px solid #ccd5c0;}
#teigaku #ab-page .ab-plan-emphasis {border-top:1px solid #ccd5c0;padding-top:36px;}
#teigaku #ab-page .ab-plan h3 {font-size:27px;margin-bottom:12px;}
#teigaku #ab-page .ab-plan > p:not(.ab-price):not(.ab-eyebrow) {font-size:13px;}
#teigaku #ab-page .ab-price {display:flex;align-items:baseline;gap:9px;font:48px/1.35 Georgia,serif;color:var(--ab-ink);margin:26px 0;}
#teigaku #ab-page .ab-price small,#teigaku #ab-page .ab-price span {font:12px/1.5 "Noto Sans JP",sans-serif;}
#teigaku #ab-page .ab-plan dl > div {display:flex;justify-content:space-between;gap:16px;border-top:1px solid #e0e4d9;padding:12px 0;font-size:14px;}
#teigaku #ab-page .ab-plan dt {font-weight:400;}
#teigaku #ab-page .ab-plan .ab-note {margin-top:8px;}
#teigaku #ab-page .ab-plan .ab-btn {display:flex;margin-top:25px;width:100%;}
#teigaku #ab-page .ab-flexibility {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:40px 0 25px;}
#teigaku #ab-page .ab-flexibility h3 {font-size:17px;margin-bottom:9px;}
#teigaku #ab-page .ab-flexibility p {font-size:13px;}
#teigaku #ab-page .ab-flexibility small {display:block;}
#teigaku #ab-page .ab-purchase {display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;background:#fff;padding:32px;margin-top:35px;border:1px solid var(--ab-line);}
#teigaku #ab-page .ab-purchase h3 {margin-bottom:12px;}
#teigaku #ab-page .ab-purchase p {font-size:14px;max-width:650px;}
/* Fragrances */
#teigaku #ab-page .ab-fragrance-list article {display:grid;grid-template-columns:50px 1fr 230px;gap:22px;align-items:start;border-top:1px solid var(--ab-line);padding:28px 0;}
#teigaku #ab-page .ab-fragrance-list article > span {font:24px/1.8 Georgia,serif;color:#79876d;}
#teigaku #ab-page .ab-fragrance-list h3 {font-size:21px;margin-bottom:8px;}
#teigaku #ab-page .ab-fragrance-list p {font-size:13px;}
#teigaku #ab-page summary {cursor:pointer;font-size:14px;padding:8px 0;color:var(--ab-ink);}
#teigaku #ab-page details[open] > p {margin-top:15px;}
/* Flow */
#teigaku #ab-page .ab-flow {background:var(--ab-cream);}
#teigaku #ab-page .ab-flow-intro {margin-bottom:35px;}
#teigaku #ab-page .ab-flow-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;}
#teigaku #ab-page .ab-flow-grid li {border-top:1px solid #a7b196;padding-top:22px;}
#teigaku #ab-page .ab-flow-grid span {font:34px/1.3 Georgia,serif;color:#7a8969;}
#teigaku #ab-page .ab-flow-grid h3 {margin:16px 0;font-size:21px;}
#teigaku #ab-page .ab-flow-grid p {font-size:14px;}
/* Voices */
#teigaku #ab-page .ab-voice-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:35px;}
#teigaku #ab-page .ab-voice-grid figure {padding:30px;background:var(--ab-cream);display:flex;flex-direction:column;}
#teigaku #ab-page blockquote {font-family:"Noto Serif JP","Yu Mincho",serif;font-size:17px;line-height:2;}
#teigaku #ab-page .ab-voice-grid blockquote {text-align:left;}
#teigaku #ab-page .ab-voice-grid figcaption {margin-top:auto;padding-top:25px;font-size:12px;color:#67715e;}
#teigaku #ab-page .ab-voice-grid + .ab-note {margin-top:16px;}
#teigaku #ab-page .ab-partner-label {text-align:center;margin:55px 0 25px;font-size:13px;}
#teigaku #ab-page .ab-logo-window {overflow:hidden;}
#teigaku #ab-page #carousel-track {display:flex;width:max-content;gap:50px;align-items:center;}
#teigaku #ab-page #carousel-track img {width:130px;height:60px;object-fit:contain;}
#teigaku #ab-page .ab-partner-grid {margin-top:24px;overflow:hidden;}
#teigaku #ab-page .ab-partner-grid .carousel-row {display:flex;gap:30px;width:max-content;}
#teigaku #ab-page .ab-partner-grid .carousel-track {overflow:hidden;margin-bottom:20px;}
#teigaku #ab-page .ab-partner-grid .carousel-item {flex:0 0 110px;width:110px;height:45px;}
#teigaku #ab-page .ab-partner-grid img {width:110px;height:45px;object-fit:contain;}
/* FAQ and brand */
#teigaku #ab-page .ab-faq {background:var(--ab-pale);}
#teigaku #ab-page .ab-faq-layout {display:grid;grid-template-columns:.7fr 1.3fr;gap:9%;}
#teigaku #ab-page .ab-faq-layout > div > p:not(.ab-eyebrow) {font-size:14px;margin-bottom:20px;}
#teigaku #ab-page .ab-faq-list details {border-bottom:1px solid #cbd3c1;padding:15px 0;}
#teigaku #ab-page .ab-faq-list summary {font-weight:500;padding:10px 4px;}
#teigaku #ab-page .ab-faq-list details p {padding:0 4px 18px;font-size:14px;}
#teigaku #ab-page .ab-about img {width:100%;aspect-ratio:1/1;object-fit:cover;object-position:25% center;}
#teigaku #ab-page .ab-about p:not(.ab-eyebrow) {margin-bottom:22px;}
#teigaku #ab-page .ab-about strong {color:var(--ab-ink);font-weight:700;background:linear-gradient(transparent 68%,#dfe8d8 68%);}
#teigaku #ab-page .ab-closing {padding:65px 0;background:#e9ede0;text-align:left;}
#teigaku #ab-page .ab-closing h2,#teigaku #ab-page .ab-closing p {text-align:left;}
#teigaku #ab-page .ab-closing h2 {text-align:center !important;}
#teigaku #ab-page .ab-closing .ab-actions {justify-content:center;}
#teigaku #ab-page #toform {padding:45px 0;opacity:1;transform:none;visibility:visible;background:#fff;}
#teigaku #ab-page #toform picture {display:block;width:min(650px,90%);margin:auto;}
#teigaku #ab-page #toform img {width:100%;height:auto;}
/* Preview-only message is outside the production ASPX. */
.ab-preview-form {padding:50px 24px;border:2px dashed #a3ad97;text-align:center;background:#f7f6f0;font:15px/2 sans-serif;color:#394239;}
@media(max-width:1100px) {
 #teigaku #ab-page .ab-nav {gap:15px;}
 #teigaku #ab-page .ab-nav a {font-size:11px;}
 #teigaku #ab-page .ab-hero-copy {padding-left:5vw;}
 #teigaku #ab-page .ab-hero .ab-actions {gap:10px;}
 #teigaku #ab-page .ab-hero .ab-btn {font-size:12px;padding:12px 16px;}
 #teigaku #ab-page .ab-space-grid {gap:18px;}
}
@media(max-width:900px) {
 #teigaku #ab-page .ab-nav {display:none;}
 #teigaku #ab-page .ab-header > .ab-btn {margin-left:auto;}
 #teigaku #ab-page .ab-mobile-nav {display:block;}
 #teigaku #ab-page .ab-mobile-nav nav {position:absolute;right:0;top:100%;width:240px;padding:20px;background:#fff;box-shadow:0 8px 20px #2335221a;z-index:12;}
 #teigaku #ab-page .ab-mobile-nav nav a {display:block;padding:12px;border-bottom:1px solid var(--ab-line);}
 #teigaku #ab-page .ab-section-head {gap:35px;}
 #teigaku #ab-page .ab-space-grid,#teigaku #ab-page .ab-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 #teigaku #ab-page .ab-plan {padding:28px;}
 #teigaku #ab-page .ab-plan-emphasis {padding-top:28px;}
 #teigaku #ab-page .ab-fragrance-list article {grid-template-columns:35px 1fr;}
 #teigaku #ab-page .ab-fragrance-list details {grid-column:2;}
}
@media(max-width:749px) {
 #teigaku #ab-page {font-size:15px;}
 #teigaku #ab-page .ab-wrap {width:calc(100% - 40px);}
 #teigaku #ab-page .ab-section {padding:60px 0;}
 #teigaku #ab-page .ab-header {padding:14px 20px;gap:16px;min-height:74px;flex-wrap:wrap;}
 #teigaku #ab-page .ab-brand {font-size:23px;}
 #teigaku #ab-page .ab-header > .ab-btn {font-size:10px;padding:8px 12px;min-height:40px;gap:8px;}
 #teigaku #ab-page .ab-mobile-nav {width:100%;border-top:1px solid #e4e6dd;}
 #teigaku #ab-page .ab-mobile-nav > summary {text-align:right;font-size:12px;padding-top:10px;padding-bottom:0;}
 #teigaku #ab-page .ab-mobile-nav nav {right:0;top:100%;}
 #teigaku #ab-page .ab-hero {display:flex;flex-direction:column;min-height:0;}
 #teigaku #ab-page .ab-hero-photo {inset:0 0 auto;width:100%;height:460px;}
 #teigaku #ab-page .ab-hero-photo img {object-position:center;}
 #teigaku #ab-page .ab-hero::after {background:linear-gradient(180deg,rgba(247,246,240,.92),rgba(247,246,240,.9) 35%,#f7f6f0 72%);}
 #teigaku #ab-page .ab-hero-copy {padding:40px 24px 24px;}
 #teigaku #ab-page .ab-hero h1 {font-size:clamp(31px,8.5vw,42px);line-height:1.65;}
 #teigaku #ab-page .ab-hero .ab-eyebrow {font-size:9px;letter-spacing:.12em;margin-bottom:22px;}
 #teigaku #ab-page .ab-hero-lead {font-size:18px;margin-bottom:22px;}
 #teigaku #ab-page .ab-product-name {font-size:38px;}
 #teigaku #ab-page .ab-hero-description {max-width:none;}
 #teigaku #ab-page .ab-hero-product {align-self:center;width:240px;padding:16px;margin-bottom:32px;box-shadow:none;background:#eef0e7;}
 #teigaku #ab-page .ab-hero-product figcaption {font-size:13px;}
 #teigaku #ab-page .ab-hero .ab-actions {display:grid;grid-template-columns:1fr 1fr;gap:10px;}
 #teigaku #ab-page .ab-hero .ab-btn {padding:12px 8px;font-size:11px;gap:5px;}
 #teigaku #ab-page .ab-story-link {font-size:11px;gap:18px;}
 #teigaku #ab-page .ab-section-head,#teigaku #ab-page .ab-split,#teigaku #ab-page .ab-device-panel,#teigaku #ab-page .ab-plan-grid,#teigaku #ab-page .ab-faq-layout {grid-template-columns:1fr;gap:28px;}
 #teigaku #ab-page h2 {font-size:28px;}
 #teigaku #ab-page .ab-section-head > p {max-width:none;font-size:14px;}
 #teigaku #ab-page .ab-space-grid {gap:26px 18px;}
 #teigaku #ab-page .ab-space-grid img {height:145px;}
 #teigaku #ab-page .ab-space-grid h3 {font-size:17px;}
 #teigaku #ab-page .ab-space-grid p:last-child {font-size:12px;}
 #teigaku #ab-page .ab-editorial-photo img {aspect-ratio:4/3;}
 #teigaku #ab-page .ab-feature-grid {gap:20px;}
 #teigaku #ab-page .ab-feature-grid h3 {font-size:18px;}
 #teigaku #ab-page .ab-device-panel {padding:30px 22px;gap:20px;}
 #teigaku #ab-page .ab-device-panel figure {max-width:220px;}
 #teigaku #ab-page .ab-spec > div {grid-template-columns:85px 1fr;gap:10px;}
 #teigaku #ab-page .ab-plan h3 {font-size:25px;}
 #teigaku #ab-page .ab-price {font-size:42px;}
 #teigaku #ab-page .ab-flexibility,#teigaku #ab-page .ab-flow-grid,#teigaku #ab-page .ab-voice-grid {grid-template-columns:1fr;gap:25px;}
 #teigaku #ab-page .ab-flexibility {margin-top:30px;}
 #teigaku #ab-page .ab-purchase {grid-template-columns:1fr;padding:25px;gap:20px;}
 #teigaku #ab-page .ab-fragrance-list article {gap:15px;padding:23px 0;}
 #teigaku #ab-page .ab-fragrance-list h3 {font-size:20px;}
 #teigaku #ab-page .ab-flow-grid h3 {margin:12px 0;}
 #teigaku #ab-page .ab-about img {aspect-ratio:4/3;}
 #teigaku #ab-page .ab-closing {padding:50px 0;}
 #teigaku #ab-page .ab-closing .ab-btn {width:100%;}
}
@media(prefers-reduced-motion:reduce) {
 #teigaku #ab-page *,#teigaku #ab-page *::before,#teigaku #ab-page *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
 #teigaku #ab-page #carousel-track {transform:none!important;}
}

#teigaku #ab-page .ab-purchase-pending:disabled { opacity:.7; cursor:default; background:#f4f5ef; color:#465f3b; }
/* Revision: clear hierarchy, trial-first CTA, supplied fonts and logo. */
#teigaku #ab-page .ab-brand img{width:230px;height:auto;max-width:100%;}
#teigaku #ab-page .ab-btn.js-scroll-to-form{background:#ad5e2d;border-color:#a95324;color:#fff;font-weight:700;box-shadow:0 4px 0 #86421e,0 7px 18px #83533020;min-height:54px;}
#teigaku #ab-page .ab-btn.js-scroll-to-form:hover{background:#a45427;border-color:#86421e;transform:translateY(-1px);}
#teigaku #ab-page .ab-btn.js-scroll-to-form:focus-visible{outline:3px solid #293c2d;outline-offset:6px;}
#teigaku #ab-page .ab-scene-label{font:600 21px/1.5 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ab-green);margin:22px 0 12px;padding-left:12px;border-left:3px solid #879a70;}
#teigaku #ab-page .ab-editorial-copy > div > p:not(.ab-eyebrow),#teigaku #ab-page .ab-value p,#teigaku #ab-page .ab-about p{margin-bottom:20px;}
#teigaku #ab-page .ab-story-points{margin:22px 0;padding:0;list-style:none;}
#teigaku #ab-page .ab-story-points li{position:relative;padding-left:22px;margin:12px 0;}
#teigaku #ab-page .ab-story-points li::before{content:"✓";position:absolute;left:0;color:#657e50;}
#teigaku #ab-page .ab-value-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;}
#teigaku #ab-page .ab-value-photo figcaption{font-size:11px;color:#68725e;margin-top:10px;}
#teigaku #ab-page .ab-feature-intro{max-width:860px;margin-bottom:36px;}
#teigaku #ab-page .ab-feature-intro p{margin-bottom:14px;}
#teigaku #ab-page .ab-feature-caption{margin-top:45px;font-size:23px;}
#teigaku #ab-page .ab-feature-icon{width:64px;height:64px;margin-bottom:20px;}
#teigaku #ab-page .ab-feature-number{font:14px/1.5 Georgia,serif;margin-bottom:8px;}
#teigaku #ab-page .ab-botanical-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:12px;}
#teigaku #ab-page .ab-botanical-strip img{width:100%;height:190px;object-fit:cover;}
#teigaku #ab-page .ab-botanical-strip + .ab-note{margin-bottom:28px;}
#teigaku #ab-page .ab-price,#teigaku #ab-page .ab-price-note strong{font-family:Georgia,serif;font-variant-numeric:normal;}
#teigaku #ab-page .ab-product-name{font-family:Georgia,serif;}
#teigaku #ab-page .ab-price{font-size:48px;}
#teigaku #ab-page .ab-purchase .ab-price{font-size:36px;}
@media(max-width:1100px){#teigaku #ab-page .ab-brand img{width:195px;}#teigaku #ab-page .ab-nav{gap:14px;}}
@media(max-width:749px){#teigaku #ab-page .ab-brand img{width:155px;}#teigaku #ab-page .ab-header{gap:14px;padding-inline:20px;}#teigaku #ab-page .ab-header .ab-small{font-size:11px;padding:10px 12px;min-height:44px;gap:8px;}#teigaku #ab-page .ab-botanical-strip{gap:8px;}#teigaku #ab-page .ab-botanical-strip img{height:100px;}#teigaku #ab-page .ab-feature-caption{font-size:20px;}#teigaku #ab-page .ab-scene-label{font-size:20px;}#teigaku #ab-page .ab-feature-icon{width:54px;height:54px;}#teigaku #ab-page .ab-value-photo img{aspect-ratio:4/3;}#teigaku #ab-page .ab-price{font-size:40px;}}

#teigaku #ab-page .ab-trial-prompt{text-align:center;padding-top:40px;}
#teigaku #ab-page .ab-trial-prompt p{text-align:center;margin-bottom:18px;}
/* Refined trial color, scene typography and original two-row client carousel. */
#teigaku #ab-page .ab-scene-label{font-size:16px;font-weight:500;margin-top:18px;}
#teigaku #ab-page .ab-btn.js-scroll-to-form{background:#eda64b;border-color:#db9034;color:#342713;box-shadow:0 3px 0 #cd862f,0 5px 12px #cc9a4420;}
#teigaku #ab-page .ab-btn.js-scroll-to-form:hover{background:#f5b65d;border-color:#d68d32;color:#342713;}
#teigaku #ab-page .ab-fragrance-list article{grid-template-columns:240px 35px minmax(0,1fr) 220px;gap:24px;align-items:center;}
#teigaku #ab-page .ab-fragrance-list .ab-scent-image{width:240px;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:3px;}
#teigaku #ab-page .ab-scent-note{margin-top:18px;}
#teigaku #ab-page .ab-logo-window[hidden]{display:none;}
#teigaku #ab-page .ab-partner-grid{overflow:hidden;margin:30px 0 0;padding:20px 0;background:white;}
#teigaku #ab-page .ab-partner-grid .carousel-track{overflow:hidden;margin:0 0 24px;}
#teigaku #ab-page .ab-partner-grid .carousel-row{display:flex;width:max-content;gap:0;animation:ab-partner-slide 65s linear infinite;}
#teigaku #ab-page .ab-partner-grid .carousel-track:nth-child(2) .carousel-row{animation-direction:reverse;animation-duration:72s;}
#teigaku #ab-page .ab-partner-grid .carousel-item{flex:0 0 166px;width:166px;height:76px;padding:8px 16px;}
#teigaku #ab-page .ab-partner-grid img{width:134px;height:60px;object-fit:contain;filter:none;}
#teigaku #ab-page .ab-partner-grid:hover .carousel-row,#teigaku #ab-page .ab-partner-grid:focus-within .carousel-row{animation-play-state:paused;}
@keyframes ab-partner-slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(max-width:900px){#teigaku #ab-page .ab-fragrance-list article{grid-template-columns:180px 28px minmax(0,1fr);gap:18px;}#teigaku #ab-page .ab-fragrance-list .ab-scent-image{width:180px;grid-row:span 2;}#teigaku #ab-page .ab-fragrance-list details{grid-column:3;}}
@media(max-width:749px){#teigaku #ab-page .ab-fragrance-list article{grid-template-columns:28px minmax(0,1fr);gap:12px;}#teigaku #ab-page .ab-fragrance-list .ab-scent-image{grid-column:1/-1;grid-row:auto;width:100%;max-height:260px;margin-bottom:8px;}#teigaku #ab-page .ab-fragrance-list details{grid-column:2;}#teigaku #ab-page .ab-fragrance-list h3{font-size:20px;}#teigaku #ab-page .ab-scene-label{font-size:15px;}#teigaku #ab-page .ab-partner-grid .carousel-item{flex-basis:138px;width:138px;padding:8px 12px;}#teigaku #ab-page .ab-partner-grid img{width:114px;}}
@media(prefers-reduced-motion:reduce){#teigaku #ab-page .ab-partner-grid{overflow:auto;}#teigaku #ab-page .ab-partner-grid .carousel-track{overflow:visible;}#teigaku #ab-page .ab-partner-grid .carousel-row{animation:none;}}
/* Final tone adjustment: clearer green text and white trial labels. */
#teigaku #ab-page{--ab-ink:#223426;--ab-text:#3b453b;--ab-green:#3d5533;}
#teigaku #ab-page .ab-btn.js-scroll-to-form{background:#b96518;border-color:#ae5c13;color:#fff;box-shadow:0 3px 0 #a85612,0 5px 12px #cc9a4420;}
#teigaku #ab-page .ab-btn.js-scroll-to-form:hover{background:#ad5911;color:#fff;}
#teigaku #ab-page .ab-btn.ab-outline{background:#526747;border-color:#526747;color:#fff;}
#teigaku #ab-page .ab-btn.ab-outline:hover{background:#435a39;color:#fff;}
#teigaku #ab-page .ab-purchase-pending:disabled{background:#73816a;color:#fff;opacity:1;}

/* =========================================================
   2026-09-28 UI refinement
   - Responsive scene layout for 3 items
   - Minimum 13px type size
   - Readability / line-height
   - Yu Mincho for Japanese serif text
   - Consistent button hover states
   ========================================================= */

/* ---------- Typography ---------- */
#teigaku #ab-page{
  font-size:15px;
  line-height:2;
}

/* Japanese serif = Yu Mincho */
#teigaku #ab-page :where(h1,h2,h3),
#teigaku #ab-page .ab-hero-lead,
#teigaku #ab-page .ab-hero-product figcaption,
#teigaku #ab-page .ab-editorial-copy .ab-lead,
#teigaku #ab-page blockquote{
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
}

/* Slightly more breathing room for reading copy */
#teigaku #ab-page p,
#teigaku #ab-page dd{
  line-height:2.05;
}
#teigaku #ab-page .ab-note{
  line-height:1.95;
}
#teigaku #ab-page .ab-story-points li{
  line-height:1.95;
}

/* Keep every intentionally small label at 13px minimum */
#teigaku #ab-page small,
#teigaku #ab-page .ab-eyebrow,
#teigaku #ab-page .ab-nav a,
#teigaku #ab-page .ab-small,
#teigaku #ab-page .ab-brand span,
#teigaku #ab-page .ab-hero-service,
#teigaku #ab-page .ab-product-name small,
#teigaku #ab-page .ab-price-note,
#teigaku #ab-page .ab-hero-product figcaption span,
#teigaku #ab-page .ab-story-link,
#teigaku #ab-page .ab-space-grid .ab-eyebrow,
#teigaku #ab-page .ab-editorial-photo figcaption,
#teigaku #ab-page .ab-price small,
#teigaku #ab-page .ab-price span,
#teigaku #ab-page .ab-note,
#teigaku #ab-page .ab-voice-grid figcaption,
#teigaku #ab-page .ab-value-photo figcaption{
  font-size:13px;
}

/* ---------- Buttons ---------- */
#teigaku #ab-page .ab-btn{
  transition:
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

/* Standard green button: hover = one step darker */
#teigaku #ab-page .ab-btn:not(.js-scroll-to-form):not(:disabled){
  background:#3d5533;
  border-color:#3d5533;
  color:#fff;
}
#teigaku #ab-page .ab-btn:not(.js-scroll-to-form):not(:disabled):hover{
  background:#304629;
  border-color:#304629;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(34,52,38,.16);
}

/* Green secondary button */
#teigaku #ab-page .ab-btn.ab-outline:not(:disabled){
  background:#526747;
  border-color:#526747;
  color:#fff;
}
#teigaku #ab-page .ab-btn.ab-outline:not(:disabled):hover{
  background:#3d5135;
  border-color:#3d5135;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(34,52,38,.16);
}

/* Trial CTA: keep orange, darken predictably on hover */
#teigaku #ab-page .ab-btn.js-scroll-to-form:not(:disabled){
  background:#b96518;
  border-color:#b96518;
  color:#fff;
  box-shadow:0 3px 0 #9f5312,0 5px 12px rgba(185,101,24,.16);
}
#teigaku #ab-page .ab-btn.js-scroll-to-form:not(:disabled):hover{
  background:#a95712;
  border-color:#a95712;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 2px 0 #91490f,0 6px 14px rgba(169,87,18,.18);
}

/* Keyboard focus */
#teigaku #ab-page .ab-btn:focus-visible{
  outline:3px solid #6b8056;
  outline-offset:4px;
}

/* Disabled buttons should not imitate a hoverable CTA */
#teigaku #ab-page .ab-btn:disabled,
#teigaku #ab-page .ab-purchase-pending:disabled{
  cursor:default;
  transform:none;
  box-shadow:none;
}

/* ---------- "この空間、なんだか居心地がいい。" ---------- */
/* 3 scenes = balanced 3 columns on desktop/tablet */
#teigaku #ab-page .ab-space-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
#teigaku #ab-page .ab-space-grid img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
}
#teigaku #ab-page .ab-space-grid article{
  min-width:0;
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  #teigaku #ab-page .ab-nav a,
  #teigaku #ab-page .ab-hero .ab-btn{
    font-size:13px;
  }

  #teigaku #ab-page .ab-space-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
  }
}

@media(max-width:900px){
  /* Keep 3 scenes balanced instead of 2 + 1 */
  #teigaku #ab-page .ab-space-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }

  #teigaku #ab-page .ab-space-grid h3{
    font-size:16px;
  }
}

@media(max-width:749px){
  #teigaku #ab-page{
    font-size:15px;
  }

  /* Minimum font size remains 13px on mobile */
  #teigaku #ab-page .ab-header > .ab-btn,
  #teigaku #ab-page .ab-header .ab-small,
  #teigaku #ab-page .ab-mobile-nav > summary,
  #teigaku #ab-page .ab-hero .ab-eyebrow,
  #teigaku #ab-page .ab-hero .ab-btn,
  #teigaku #ab-page .ab-story-link,
  #teigaku #ab-page .ab-space-grid .ab-eyebrow,
  #teigaku #ab-page .ab-space-grid article > p:last-child{
    font-size:13px;
  }

  /* 3 cards become a clean single column on phones */
  #teigaku #ab-page .ab-space-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  #teigaku #ab-page .ab-space-grid img{
    height:auto;
    aspect-ratio:16 / 10;
  }

  #teigaku #ab-page .ab-space-grid h3{
    font-size:17px;
    margin-bottom:10px;
  }
}

/* =========================================================
   2026-09-28 UI refinement v2
   - H2 / FAQ left aligned
   - Lato for numerical display
   - Section eyebrow labels
   - Conditioning Aroma hierarchy
   - Feature cards / service flexibility cards
   - Fragrance list: vertical image + always-visible blend area
   ========================================================= */

/* ---------- Headings ---------- */
#teigaku #ab-page h2,
#teigaku #ab-page .ab-closing h2 {
  text-align:left !important;
}

#teigaku #ab-page h2 {
  line-height:1.6;
}

/* ---------- Lato for numbers / alphanumeric labels ---------- */
#teigaku #ab-page .ab-eyebrow,
#teigaku #ab-page .ab-feature-number,
#teigaku #ab-page .ab-price,
#teigaku #ab-page .ab-price-note strong,
#teigaku #ab-page .ab-flow-grid span,
#teigaku #ab-page .ab-fragrance-list article > span,
#teigaku #ab-page .ab-product-name,
#teigaku #ab-page .ab-product-name small {
  font-family:"Lato","Helvetica Neue",Arial,sans-serif;
  font-variant-numeric:tabular-nums;
}

/* ---------- Section label accent: 02 / CONDITIONING AROMA etc. ---------- */
#teigaku #ab-page .ab-section .ab-eyebrow {
  display:table;
  width:auto;
  max-width:100%;
  margin-bottom:20px;
  padding:6px 12px 5px;
  border-radius:2px;
  background:#7b8078;
  color:#fff;
  font-size:13px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:.13em;
}

/* Plan labels are smaller so they do not compete with section headings. */
#teigaku #ab-page .ab-plan-grid > .ab-plan:nth-child(1) .ab-eyebrow {background:#003269;}
#teigaku #ab-page .ab-plan-grid > .ab-plan:nth-child(2) .ab-eyebrow {background:#004938;}

#teigaku #ab-page .ab-plan .ab-eyebrow {
  padding:5px 10px;
  margin-bottom:14px;
  background:#8b9087;
  letter-spacing:.1em;
}

/* ---------- 02 / CONDITIONING AROMA ---------- */
#teigaku #ab-page .ab-concept .ab-editorial-copy h2 {
  display:inline-block;
  margin-bottom:28px;
  padding:0 0 10px;
  border-bottom:5px solid #dce5d5;
  color:var(--ab-ink);
}

/* Three key conditions / use cases */
#teigaku #ab-page .ab-story-points {
  display:grid;
  gap:10px;
  margin:26px 0 30px;
  padding:0;
}

#teigaku #ab-page .ab-story-points li {
  position:relative;
  margin:0;
  padding:14px 18px 14px 46px;
  border:1px solid #dde2d7;
  background:rgba(255,255,255,.72);
  color:#314035;
  font-size:15px;
  font-weight:500;
  line-height:1.8;
  text-align:left !important;
}

#teigaku #ab-page .ab-story-points li::before {
  content:"";
  position:absolute;
  left:21px;
  top:50%;
  width:8px;
  height:8px;
  margin:0;
  border-radius:50%;
  background:#6e8562;
  transform:translateY(-50%);
}

/* The key conclusion in the concept section */
#teigaku #ab-page .ab-concept .ab-editorial-copy > div > p:last-of-type {
  position:relative;
  max-width:620px;
  margin:38px auto 0;
  padding:38px 42px 36px;
  overflow:hidden;
  border:0;
  background:linear-gradient(135deg,rgba(235,240,230,.82),rgba(248,247,241,.56));
  color:var(--ab-ink);
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:18px;
  font-weight:500;
  line-height:2.15;
  letter-spacing:.055em;
  text-align:left;
}


#teigaku #ab-page .ab-concept .ab-editorial-copy > div > p:last-of-type span {
  display:inline-block;
  margin-inline:.18em;
  color:#3f5d38;
  font-size:1.16em;
  font-weight:700;
  letter-spacing:.08em;
  white-space:nowrap;
}

/* THE VALUE OF AROMA: keep all scene statements left aligned */
#teigaku #ab-page .ab-value,
#teigaku #ab-page .ab-value h2,
#teigaku #ab-page .ab-value h3,
#teigaku #ab-page .ab-value p,
#teigaku #ab-page .ab-value li {
  text-align:left !important;
}

#teigaku #ab-page .ab-value h2 {
  padding-left:18px;
  border-left:4px solid #8da27c;
}

/* ---------- 03 / 4 features ---------- */
#teigaku #ab-page .ab-feature-intro {
  margin-bottom:30px;
}

#teigaku #ab-page .ab-feature-caption {
  margin:42px 0 24px;
  padding-left:16px;
  border-left:4px solid #8da27c;
  color:var(--ab-ink);
  font-size:23px;
  line-height:1.65;
}

#teigaku #ab-page .ab-feature-grid {
  gap:18px;
}

#teigaku #ab-page .ab-feature-grid article {
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  grid-template-rows:auto auto 1fr;
  column-gap:15px;
  align-content:start;
  min-height:100%;
  padding:22px 22px 23px;
  overflow:hidden;
  border:1px solid #dce1d6;
  border-top:0;
  border-radius:3px;
  background:#fbfcf9;
  box-shadow:0 8px 24px rgba(45,65,48,.055);
}

#teigaku #ab-page .ab-feature-grid article::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:#819676;
}

#teigaku #ab-page .ab-feature-icon {
  grid-column:2;
  grid-row:1;
  justify-self:start;
  width:56px;
  height:56px;
  margin:0;
  padding:11px;
  border-radius:50%;
  background:#edf1e8;
  object-fit:contain;
}

#teigaku #ab-page .ab-feature-number {
  grid-column:1;
  grid-row:1;
  align-self:center;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  margin:0;
  padding:6px 10px 5px;
  border-radius:999px;
  background:#526747;
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1;
  letter-spacing:.08em;
}

#teigaku #ab-page .ab-feature-grid h3 {
  grid-column:1 / -1;
  grid-row:2;
  margin:16px 0 8px;
  color:var(--ab-ink);
}

#teigaku #ab-page .ab-feature-grid p {
  grid-column:1 / -1;
  grid-row:3;
  margin:0;
  line-height:1.85;
}

/* ---------- Subscription flexibility: 3 easy-to-scan cards ---------- */
#teigaku #ab-page .ab-flexibility {
  gap:18px;
  margin-top:38px;
}

#teigaku #ab-page .ab-flexibility > * {
  position:relative;
  min-height:100%;
  padding:28px 24px 24px;
  border:1px solid #d9dfd3;
  border-top:4px solid #819676;
  border-radius:3px;
  background:#fff;
  box-shadow:0 6px 18px rgba(45,65,48,.045);
  text-align:left;
}

#teigaku #ab-page .ab-flexibility > *::before {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:24px;
  margin-bottom:16px;
  padding:0 9px;
  border-radius:999px;
  background:#edf1e8;
  color:#526747;
  font:700 13px/1 "Lato","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.08em;
}


#teigaku #ab-page .ab-flexibility > *:nth-child(1)::before {content:"01";}
#teigaku #ab-page .ab-flexibility > *:nth-child(2)::before {content:"02";}
#teigaku #ab-page .ab-flexibility > *:nth-child(3)::before {content:"03";}

#teigaku #ab-page .ab-flexibility h3 {
  margin-bottom:10px;
  color:var(--ab-ink);
  font-size:18px;
  line-height:1.7;
}

#teigaku #ab-page .ab-flexibility p,
#teigaku #ab-page .ab-flexibility small {
  text-align:left;
  line-height:1.9;
}

#teigaku #ab-page .ab-flexibility small {
  margin-top:6px;
  color:#687066;
}

/* ---------- 05 / NATURAL FRAGRANCES ---------- */
#teigaku #ab-page .ab-fragrance-list article {
  position:relative;
  display:grid;
  grid-template-columns:minmax(190px,220px) 44px minmax(0,1fr);
  grid-template-rows:auto auto 1fr auto;
  column-gap:24px;
  row-gap:7px;
  align-items:start;
  padding:32px 0;
}

/* Vertical decorative image aligned to the content height */
#teigaku #ab-page .ab-fragrance-list .ab-scent-image {
  grid-column:1;
  grid-row:1 / -1;
  align-self:stretch;
  width:100%;
  height:100%;
  min-height:225px;
  max-height:none;
  padding:6px;
  border:1px solid #dde1d7;
  border-radius:2px;
  background:#f1f0e9;
  box-shadow:0 8px 20px rgba(49,64,52,.09);
  object-fit:cover;
  aspect-ratio:auto;
}

#teigaku #ab-page .ab-fragrance-list article > span {
  grid-column:2;
  grid-row:1 / 3;
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-top:1px;
  border-radius:50%;
  background:#526747;
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1;
}

#teigaku #ab-page .ab-fragrance-list article > h3,
#teigaku #ab-page .ab-fragrance-list article > p,
#teigaku #ab-page .ab-fragrance-list article > details {
  grid-column:3;
}

#teigaku #ab-page .ab-fragrance-list article > h3 {
  grid-row:1;
  margin:0 0 2px;
}

#teigaku #ab-page .ab-fragrance-list article > p {
  grid-row:2;
  margin:0;
  line-height:1.9;
}

#teigaku #ab-page .ab-fragrance-list details {
  grid-row:3 / 5;
  margin-top:13px;
  padding-top:14px;
  border-top:1px solid #d8ddd2;
}

/* The summary is no longer needed once details are kept open. */
#teigaku #ab-page .ab-fragrance-list details > summary {
  display:none;
}

#teigaku #ab-page .ab-fragrance-list details > p {
  margin:0;
  padding:0;
  color:#5c665c;
  font-size:13px;
  line-height:1.9;
}

#teigaku #ab-page .ab-fragrance-list details > p::before {
  content:"BLEND";
  display:block;
  margin-bottom:7px;
  color:#768270;
  font:700 13px/1.3 "Lato","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.12em;
}

/* ---------- FAQ / Q&A ---------- */
#teigaku #ab-page .ab-faq,
#teigaku #ab-page .ab-faq h2,
#teigaku #ab-page .ab-faq h3,
#teigaku #ab-page .ab-faq p,
#teigaku #ab-page .ab-faq summary,
#teigaku #ab-page .ab-faq details p {
  text-align:left !important;
}

#teigaku #ab-page .ab-faq-list details {
  padding:0;
  border-bottom:1px solid #cbd3c1;
}

#teigaku #ab-page .ab-faq-list summary {
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;
  gap:12px;
  align-items:center;
  padding:18px 4px;
  list-style:none;
  font-weight:500;
  line-height:1.8;
}

#teigaku #ab-page .ab-faq-list summary::-webkit-details-marker {
  display:none;
}

#teigaku #ab-page .ab-faq-list summary::before {
  content:"Q";
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#526747;
  color:#fff;
  font:700 14px/1 "Lato","Helvetica Neue",Arial,sans-serif;
}

#teigaku #ab-page .ab-faq-list summary::after {
  content:"＋";
  color:#607159;
  font:400 18px/1 "Lato","Helvetica Neue",Arial,sans-serif;
  transition:transform .2s ease;
}

#teigaku #ab-page .ab-faq-list details[open] summary::after {
  transform:rotate(45deg);
}

#teigaku #ab-page .ab-faq-list details p {
  margin:0;
  padding:0 34px 20px 50px;
  color:#505a50;

  line-height:2;
}

/* ---------- Responsive ---------- */
@media(max-width:900px) {
  #teigaku #ab-page .ab-feature-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #teigaku #ab-page .ab-fragrance-list article {
    grid-template-columns:minmax(155px,185px) 38px minmax(0,1fr);
    column-gap:18px;
  }

  #teigaku #ab-page .ab-fragrance-list .ab-scent-image {
    width:100%;
    min-height:210px;
  }
}

@media(max-width:749px) {
  #teigaku #ab-page .ab-section .ab-eyebrow {
    margin-bottom:16px;
    padding:5px 10px;
  }

  #teigaku #ab-page .ab-concept .ab-editorial-copy h2 {
    margin-bottom:22px;
    border-bottom-width:4px;
  }

  #teigaku #ab-page .ab-story-points li {
    padding:13px 14px 13px 40px;
    font-size:14px;
  }

  #teigaku #ab-page .ab-story-points li::before {
    left:18px;
  }

  #teigaku #ab-page .ab-concept .ab-editorial-copy > div > p:last-of-type {
    margin-top:30px;
    padding:30px 22px 28px;
    font-size:16px;
    line-height:2.05;
    letter-spacing:.035em;
  }


  #teigaku #ab-page .ab-feature-caption {
    margin-top:34px;
    font-size:20px;
  }

  #teigaku #ab-page .ab-feature-grid article {
    padding:22px 18px 21px;
  }

  #teigaku #ab-page .ab-feature-icon {
    width:52px;
    height:52px;
    padding:10px;
  }

  #teigaku #ab-page .ab-flexibility > * {
    padding:23px 20px 21px;
  }

  /* Keep the decorative image on the left even on phones. */
  #teigaku #ab-page .ab-fragrance-list article {
    grid-template-columns:minmax(105px,34%) minmax(0,1fr);
    grid-template-rows:auto auto auto 1fr;
    column-gap:16px;
    row-gap:6px;
    padding:26px 0;
  }

  #teigaku #ab-page .ab-fragrance-list .ab-scent-image {
    grid-column:1;
    grid-row:1 / -1;
    width:100%;
    height:100%;
    min-height:210px;
    margin:0;
    padding:4px;
  }

  #teigaku #ab-page .ab-fragrance-list article > span {
    grid-column:2;
    grid-row:1;
    width:34px;
    height:34px;
    margin-bottom:6px;
  }

  #teigaku #ab-page .ab-fragrance-list article > h3 {
    grid-column:2;
    grid-row:2;
    font-size:19px;
    line-height:1.55;
  }

  #teigaku #ab-page .ab-fragrance-list article > p {
    grid-column:2;
    grid-row:3;
    font-size:13px;
    line-height:1.8;
  }

  #teigaku #ab-page .ab-fragrance-list article > details {
    grid-column:2;
    grid-row:4;
    margin-top:9px;
    padding-top:10px;
  }

  #teigaku #ab-page .ab-faq-list summary {
    grid-template-columns:30px minmax(0,1fr) 16px;
    gap:10px;
    padding:16px 2px;
    font-size:14px;
  }

  #teigaku #ab-page .ab-faq-list summary::before {
    width:28px;
    height:28px;
    font-size:13px;
  }

  #teigaku #ab-page .ab-faq-list details p {
    padding:0 24px 18px 40px;
    font-size:13px;
  }
}

@media(max-width:560px) {
  #teigaku #ab-page .ab-feature-grid {
    grid-template-columns:1fr;
  }
}

/* =========================================
   06 / NATURAL FRAGRANCES
   香り一覧：縦長画像 + 常時表示テキスト
   ========================================= */

#teigaku #ab-page .ab-fragrance-list {
    display: grid;
    gap: 0;
}

#teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    align-items: stretch;
    grid-template-rows: auto;
    gap: 24px;
    padding: 32px 0;
    border-top: 1px solid var(--ab-line);
}

#teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card:last-child {
    border-bottom: 1px solid var(--ab-line);
}

/* 左画像は右側テキストブロックと同じ高さ */
#teigaku #ab-page .ab-scent-visual {
    position: relative;
    align-self: stretch;
    height: auto;
    min-height: 0;
    overflow: hidden;
    background: transparent;
    border: 0;
    box-shadow: none;
}

#teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card .ab-scent-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

/* 右側 */
#teigaku #ab-page .ab-scent-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 34px 42px;
    background: #fff;
}

#teigaku #ab-page .ab-scent-content h3 {
    margin: 0 0 22px;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.45;
    text-align: left;
    color: var(--ab-ink);
}

#teigaku #ab-page .ab-scent-description {
    margin: 0 0 26px;
    font-size: 15px;
    line-height: 2;
    text-align: left;
}

/* 効果・効能 */
#teigaku #ab-page .ab-scent-effect {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
}

#teigaku #ab-page .ab-scent-effect-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 7px 14px;
    border: 1px solid #7e847b;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.4;
    white-space: nowrap;
    color: #313931;
    background: #fff;
}

#teigaku #ab-page .ab-scent-effect p {
    margin: 0;
    font-size: 15px;
    line-height: 1.85;
    text-align: left;
}

/* 使用精油 */
#teigaku #ab-page .ab-scent-oils {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    padding: 14px 18px;
    background: #f5f5ef;
    font-size: 14px;
    line-height: 1.85;
}

#teigaku #ab-page .ab-scent-oils > span {
    white-space: nowrap;
    font-weight: 500;
    color: var(--ab-ink);
}

#teigaku #ab-page .ab-scent-oils p {
    margin: 0;
    text-align: left;
}

/* 以前のナンバリング・details用CSSの影響を受けないように */
#teigaku #ab-page .ab-fragrance-card > span,
#teigaku #ab-page .ab-fragrance-card details,
#teigaku #ab-page .ab-fragrance-card summary {
    display: none;
}

#teigaku #ab-page .ab-scent-note {
    margin-top: 18px;
}

/* Tablet */
@media (max-width: 900px) {
    #teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    #teigaku #ab-page .ab-scent-content {
        padding: 28px 30px;
    }
}

/* Smartphone */
@media (max-width: 749px) {
    #teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card {
        grid-template-columns: 96px minmax(0, 1fr);
        padding: 24px 0;
    }

    #teigaku #ab-page .ab-scent-content {
        padding: 18px 0 18px 18px;
    }

    #teigaku #ab-page .ab-scent-content h3 {
        margin-bottom: 14px;
        font-size: 20px;
    }

    #teigaku #ab-page .ab-scent-description {
        margin-bottom: 18px;
        font-size: 13px;
        line-height: 1.85;
    }

    #teigaku #ab-page .ab-scent-description br {
        display: none;
    }

    #teigaku #ab-page .ab-scent-effect {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-bottom: 14px;
    }

    #teigaku #ab-page .ab-scent-effect-label {
        justify-self: start;
        min-height: 32px;
        padding: 5px 10px;
        font-size: 13px;
    }

    #teigaku #ab-page .ab-scent-effect p {
        font-size: 13px;
        line-height: 1.75;
    }

    #teigaku #ab-page .ab-scent-oils {
        grid-template-columns: 1fr;
        gap: 3px;
        padding: 10px 12px;
        font-size: 13px;
        line-height: 1.7;
    }
}

/* 幅がかなり狭い端末のみ上下配置 */
@media (max-width: 420px) {
    #teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card {
        grid-template-columns: 1fr;
    }

    #teigaku #ab-page .ab-scent-visual {
        height: 140px;
    }

    #teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card .ab-scent-image {
        height: 100%;
        max-width: 170px;
        margin-inline: auto;
    }

    #teigaku #ab-page .ab-scent-content {
        padding: 20px 4px 6px;
    }
}




#CartList div.btmbtn .btn-success{
  background-color: #B96518 !important;
}

/* Final precedence: requested layout refinements. */
#teigaku #ab-page .ab-story-points li{padding-left:18px;}
#teigaku #ab-page .ab-story-points li::before{display:none;content:none;}
#teigaku #ab-page .ab-feature-grid article{grid-template-rows:auto auto auto 1fr;}
#teigaku #ab-page .ab-feature-grid h4{
  grid-column:1 / -1;grid-row:3;margin:0 0 10px;color:#526747;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;
  font-size:15px;font-weight:600;line-height:1.7;letter-spacing:.035em;text-align:left;
}
#teigaku #ab-page .ab-feature-grid p{grid-row:4;}
#teigaku #ab-page .ab-purchase{
  position:relative;padding:38px 40px;border:2px solid #7f9474;
  background:linear-gradient(135deg,#fff 0%,#f5f7f1 100%);
  box-shadow:0 12px 30px rgba(45,65,48,.1);
}
#teigaku #ab-page .ab-purchase::before{
  content:"";position:absolute;inset:0 auto 0 0;width:6px;background:#526747;
}
#teigaku #ab-page .ab-purchase h3{font-size:28px;}
#teigaku #ab-page .ab-purchase .ab-purchase-catch{margin:2px 0 8px;color:#3f5d38;font-size:18px;line-height:1.7;}
#teigaku #ab-page .ab-purchase .ab-purchase-copy{margin:0 0 14px;font-size:14px;line-height:1.9;}
#teigaku #ab-page .ab-purchase .ab-price{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;margin-top:16px;color:#29472f;font-weight:700;
}
#teigaku #ab-page .ab-purchase .ab-price small{font-size:14px;font-weight:600;}

@media(max-width:749px){
  #teigaku #ab-page .ab-story-points li{padding-left:14px;}
  #teigaku #ab-page .ab-feature-grid h4{font-size:14px;}
  #teigaku #ab-page .ab-purchase{padding:28px 22px 26px;}
  #teigaku #ab-page .ab-purchase h3{font-size:23px;}
  #teigaku #ab-page .ab-purchase .ab-purchase-catch{font-size:16px;}
  #teigaku #ab-page .ab-purchase .ab-price{font-size:32px;}
}

#teigaku #ab-page .ab-purchase .ab-eyebrow{
  background:#29472f;
  color:#fff;
  font-size:13px;
}

#teigaku #ab-page .ab-purchase .ab-purchase-pending{
  border-color:#29472f;
  background:#29472f;
  color:#fff;
  opacity:1;
}

#teigaku #ab-page .ab-purchase .ab-purchase-pending:hover{
  border-color:#1f3825;
  background:#1f3825;
}

#teigaku #ab-page .ab-purchase .ab-eyebrow{
  padding:8px 15px 7px;
  font-size:15px;
  letter-spacing:.08em;
}

#teigaku #ab-page .ab-closing h2{
  text-align:center !important;
}

#teigaku #ab-page .ab-closing .ab-actions{
  align-items:flex-start;
  justify-content:center;
}

#teigaku #ab-page .ab-closing .ab-actions > .ab-btn,
#teigaku #ab-page .ab-closing .ab-consult-action-cta > .ab-btn{
  min-height:58px;
  height:58px;
  padding-top:12px;
  padding-bottom:12px;
}

/* 01 / FOR YOUR SPACE: empathy-led introduction without scene cards. */
#teigaku #ab-page .ab-spaces{
  background:linear-gradient(180deg,#f7f6f0 0%,#fff 100%);
}

#teigaku #ab-page .ab-empathy-intro{
  width:min(100%,900px);
  margin:0 auto;
  text-align:center;
}

#teigaku #ab-page .ab-empathy-intro > .ab-eyebrow{
  margin:0 auto 22px;
}

#teigaku #ab-page .ab-empathy-intro h2{
  max-width:none;
  margin:0 auto 38px;
  color:var(--ab-ink);
  font-size:clamp(30px,4vw,46px);
  line-height:1.55;
  letter-spacing:.05em;
  text-align:center;
  text-wrap:balance;
}

#teigaku #ab-page .ab-empathy-moments{
  position:relative;
  max-width:760px;
  margin:0 auto 40px;
  padding:34px 42px;
  border-top:1px solid #cbd3c1;
  border-bottom:1px solid #cbd3c1;
  background:rgba(255,255,255,.66);
}

#teigaku #ab-page .ab-empathy-moments::before{
  content:"";
  position:absolute;
  top:30px;
  bottom:30px;
  left:0;
  width:4px;
  background:#8da27c;
}

#teigaku #ab-page .ab-empathy-moments p{
  margin:0;
  color:#314035;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;
  font-size:20px;
  font-weight:500;
  line-height:2;
  letter-spacing:.045em;
  text-align:left;
}

#teigaku #ab-page .ab-empathy-copy{
  max-width:720px;
  margin:0 auto;
}

#teigaku #ab-page .ab-empathy-copy p{
  margin:0;
  color:#4b554c;
  font-size:15px;
  line-height:2.15;
  text-align:left;
}

#teigaku #ab-page .ab-empathy-copy p + p{
  margin-top:14px;
}

@media(max-width:749px){
  #teigaku #ab-page .ab-empathy-intro > .ab-eyebrow{
    margin-bottom:18px;
  }

  #teigaku #ab-page .ab-empathy-intro h2{
    margin-bottom:28px;
    font-size:28px;
    line-height:1.65;
  }

  #teigaku #ab-page .ab-empathy-moments{
    margin-bottom:30px;
    padding:24px 20px 24px 25px;
  }

  #teigaku #ab-page .ab-empathy-moments::before{
    top:22px;
    bottom:22px;
    width:3px;
  }

  #teigaku #ab-page .ab-empathy-moments p{
    font-size:16px;
    line-height:1.95;
  }

  #teigaku #ab-page .ab-empathy-moments p + p{
    margin-top:8px;
  }

  #teigaku #ab-page .ab-empathy-copy p{
    font-size:14px;
    line-height:2;
  }
}

@media(max-width:749px){
  #teigaku #ab-page .ab-purchase .ab-eyebrow{
    font-size:14px;
  }

  #teigaku #ab-page .ab-closing .ab-actions > .ab-btn,
  #teigaku #ab-page .ab-closing .ab-consult-action-cta > .ab-btn{
    height:auto;
    min-height:56px;
  }
}

/* Plain empathy layout: no panel background or decorative frame. */
#teigaku #ab-page .ab-empathy-intro h2{
  text-align:center !important;
}

#teigaku #ab-page .ab-empathy-moments{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

#teigaku #ab-page .ab-empathy-moments::before{
  display:none;
  content:none;
}

/* Keep long-form copy clearly readable across every content section. */
#teigaku #ab-page .ab-section p:not(.ab-eyebrow):not(.ab-note):not(.ab-price):not(.ab-price-note):not(.ab-scene-label),
#teigaku #ab-page .ab-section li,
#teigaku #ab-page .ab-section dd,
#teigaku #ab-page .ab-section blockquote{
  color:#354037;
  opacity:1;
}

#teigaku #ab-page .ab-value p strong{
  color:#223426;
  font-weight:700;
}

/* Explicit alignment for the opening narrative. */
#teigaku #ab-page .ab-empathy-intro h2,
#teigaku #ab-page .ab-empathy-moments p{
  text-align:center !important;
}

#teigaku #ab-page .ab-empathy-copy p{
  text-align:left !important;
}

/* Final mobile composition: one-line header and a readable, image-led hero. */
@media(max-width:749px){
  #teigaku #ab-page .ab-header{
    display:grid;
    grid-template-columns:minmax(108px,1fr) auto 42px;
    align-items:center;
    gap:8px;
    min-height:66px;
    padding:10px 14px;
    flex-wrap:nowrap;
  }

  #teigaku #ab-page .ab-brand{
    min-width:0;
  }

  #teigaku #ab-page .ab-brand img{
    display:block;
    width:min(142px,100%);
    height:auto;
  }

  #teigaku #ab-page .ab-header > .ab-btn{
    margin:0;
    min-height:40px;
    padding:8px 10px;
    gap:0;
    font-size:12px;
    line-height:1;
    letter-spacing:0;
    white-space:nowrap;
  }

  #teigaku #ab-page .ab-mobile-nav{
    display:block;
    position:relative;
    width:42px;
    height:42px;
    margin:0;
    border:0;
  }

  #teigaku #ab-page .ab-mobile-nav > summary{
    position:relative;
    display:block;
    width:42px;
    height:42px;
    padding:0;
    overflow:hidden;
    color:transparent;
    font-size:0;
    line-height:0;
    list-style:none;
    cursor:pointer;
  }

  #teigaku #ab-page .ab-mobile-nav > summary::-webkit-details-marker{
    display:none;
  }

  #teigaku #ab-page .ab-mobile-nav > summary::before,
  #teigaku #ab-page .ab-mobile-nav > summary::after{
    content:"";
    position:absolute;
    left:9px;
    top:20px;
    width:24px;
    height:2px;
    border-radius:2px;
    background:var(--ab-ink);
    transition:transform .22s ease,box-shadow .22s ease;
  }

  #teigaku #ab-page .ab-mobile-nav > summary::before{
    box-shadow:0 -7px 0 var(--ab-ink),0 7px 0 var(--ab-ink);
  }

  #teigaku #ab-page .ab-mobile-nav > summary::after{
    opacity:0;
  }

  #teigaku #ab-page .ab-mobile-nav[open] > summary::before{
    box-shadow:none;
    transform:rotate(45deg);
  }

  #teigaku #ab-page .ab-mobile-nav[open] > summary::after{
    opacity:1;
    transform:rotate(-45deg);
  }

  #teigaku #ab-page .ab-mobile-nav nav{
    top:calc(100% + 12px);
    right:0;
    width:min(280px,calc(100vw - 28px));
    padding:10px 18px 16px;
    border:1px solid var(--ab-line);
    background:#fff;
    box-shadow:0 14px 30px rgba(35,53,34,.16);
  }

  #teigaku #ab-page .ab-mobile-nav nav a{
    padding:15px 4px;
    font-size:14px;
    line-height:1.5;
  }

  /* Mobile buttons stay on one line; decorative arrows are omitted. */
  #teigaku #ab-page .ab-btn{
    white-space:nowrap;
  }

  #teigaku #ab-page .ab-btn > span[aria-hidden="true"]{
    display:none;
  }

  /* Let the photograph carry only the main message, then switch to a calm
     information area so the product and actions remain easy to scan. */
  #teigaku #ab-page .ab-hero{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:minmax(330px,86vw) auto auto auto auto auto;
    min-height:0;
    overflow:hidden;
    background:var(--ab-cream);
  }

  #teigaku #ab-page .ab-hero::after{
    display:none;
    content:none;
  }

  #teigaku #ab-page .ab-hero-photo{
    position:relative;
    inset:auto;
    grid-column:1;
    grid-row:1;
    width:100%;
    height:100%;
  }

  #teigaku #ab-page .ab-hero-photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg,rgba(247,246,240,.45) 0%,rgba(247,246,240,.1) 42%,rgba(247,246,240,.14) 100%),
      linear-gradient(90deg,rgba(247,246,240,.94) 0%,rgba(247,246,240,.7) 48%,rgba(247,246,240,.08) 78%);
    pointer-events:none;
  }

  #teigaku #ab-page .ab-hero-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:60% center;
  }

  #teigaku #ab-page .ab-hero-copy{
    display:contents;
  }

  #teigaku #ab-page .ab-hero h1{
    position:relative;
    z-index:2;
    grid-column:1;
    grid-row:1;
    align-self:start;
    width:100%;
    margin:0;
    padding:24px 20px;
    color:var(--ab-ink);
    font-size:clamp(27px,7.7vw,34px);
    line-height:1.55;
    letter-spacing:.025em;
    text-shadow:0 1px 12px rgba(255,255,255,.8);
  }

  #teigaku #ab-page .ab-hero-service,
  #teigaku #ab-page .ab-product-name,
  #teigaku #ab-page .ab-hero-description,
  #teigaku #ab-page .ab-hero .ab-actions,
  #teigaku #ab-page .ab-price-note{
    grid-column:1;
    width:auto;
    max-width:none;
    margin-left:20px;
    margin-right:20px;
  }

  #teigaku #ab-page .ab-hero-service{
    grid-row:2;
    margin-top:30px;
    margin-bottom:10px;
    font-size:13px;
  }

  #teigaku #ab-page .ab-product-name{
    grid-row:3;
    margin-top:0;
    margin-bottom:18px;
  }

  #teigaku #ab-page .ab-product-name-image{
    width:min(285px,82vw);
  }

  #teigaku #ab-page .ab-hero-description{
    grid-row:4;
    margin-top:0;
    margin-bottom:24px;
    font-size:14px;
    line-height:1.95;
  }

  #teigaku #ab-page .ab-hero .ab-actions{
    display:grid;
    grid-row:5;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:0;
    margin-bottom:0;
  }

  #teigaku #ab-page .ab-hero .ab-btn{
    min-width:0;
    min-height:54px;
    padding:12px 7px;
    font-size:12px;
    line-height:1.35;
    white-space:nowrap;
  }

  #teigaku #ab-page .ab-price-note{
    grid-row:6;
    margin-top:20px;
    margin-bottom:34px;
    font-size:13px;
  }
}

@media(max-width:374px){
  #teigaku #ab-page .ab-header{
    grid-template-columns:minmax(92px,1fr) auto 38px;
    gap:5px;
    padding-inline:10px;
  }

  #teigaku #ab-page .ab-brand img{
    width:min(125px,100%);
  }

  #teigaku #ab-page .ab-header > .ab-btn{
    padding-inline:7px;
    font-size:11px;
  }

  #teigaku #ab-page .ab-mobile-nav,
  #teigaku #ab-page .ab-mobile-nav > summary{
    width:38px;
    height:40px;
  }

  #teigaku #ab-page .ab-mobile-nav > summary::before,
  #teigaku #ab-page .ab-mobile-nav > summary::after{
    left:8px;
    width:22px;
  }

  #teigaku #ab-page .ab-hero .ab-actions{
    grid-template-columns:1fr;
  }
}

/* Keep each fragrance image beside its explanation on small phones. */
@media(max-width:420px){
  #teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card{
    grid-template-columns:92px minmax(0,1fr);
    align-items:stretch;
    gap:14px;
    padding:24px 0;
  }

  #teigaku #ab-page .ab-scent-visual{
    align-self:stretch;
    width:92px;
    height:auto;
    min-height:250px;
  }

  #teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card .ab-scent-image{
    width:100%;
    height:100%;
    max-width:none;
    margin:0;
    object-fit:contain;
    object-position:center top;
  }

  #teigaku #ab-page .ab-scent-content{
    min-width:0;
    padding:4px 0;
  }

  #teigaku #ab-page .ab-scent-content h3{
    margin-top:0;
    margin-bottom:10px;
    font-size:18px;
    line-height:1.55;
  }

  #teigaku #ab-page .ab-scent-description{
    font-size:13px;
    line-height:1.8;
  }
}

@media(max-width:359px){
  #teigaku #ab-page .ab-fragrance-list article.ab-fragrance-card{
    grid-template-columns:82px minmax(0,1fr);
    gap:12px;
  }

  #teigaku #ab-page .ab-scent-visual{
    width:82px;
  }
}

/* Match the final one-week trial submission button to the other trial CTAs. */
@media(max-width:749px){
  #CartList div.btmbtn .btn-success,
  #CartList div.btmbtn a.btn-success,
  #CartList .btn-success{
    border-color:#ae5c13 !important;
    background:#b96518 !important;
    background-image:none !important;
    color:#fff !important;
    box-shadow:0 3px 0 #a85612,0 5px 12px rgba(204,154,68,.13) !important;
  }

  #CartList div.btmbtn .btn-success:hover,
  #CartList div.btmbtn .btn-success:focus,
  #CartList .btn-success:hover,
  #CartList .btn-success:focus{
    border-color:#9f500e !important;
    background:#ad5911 !important;
    background-image:none !important;
    color:#fff !important;
  }
}

.order-footer .button-next #ctl00_ContentPlaceHolder1_ucInputForm_UpdatePanel1 .btn {
  
    background: #a95712 !important;

}



