/* =====================================================================
   ol-wp.css — おきなわLovers WordPress記事用。build_css.py が生成する。
   直接編集しないこと。トンマナを変えるときは ol-wp.base.css を編集して
   python3 _旧WP資産/_wp_migrate/build_css.py を実行する。
   ===================================================================== */

/* ============ A) 静的サイトの共通CSS（部品の土台） ============ */
@charset "UTF-8";
.ol-b .entry-content {
  --ol-turquoise: #4EC3CE;
  --ol-turquoise-deep: #2FA9B5;
  --ol-turquoise-tint: #DCF3F5;
  --ol-red: #E8442E;
  --ol-red-deep: #C93520;
  --ol-red-tint: #FDE8E4;
  --ol-green: #57A845;
  --ol-green-deep: #3F8A30;
  --ol-green-tint: #E5F3E1;
  --ol-yellow: #F9C449;
  --ol-yellow-deep: #E5A81F;
  --ol-yellow-tint: #FDF3D9;
  --ol-purple: #8E44AD;
  --ol-pink: #E0708C;

  --ol-white: #FFFDF7;
  --ol-paper: #FFF8EC;
  --ol-sand: #FBEFD9;
  --ol-ink: #2B2420;
  --ol-ink-soft: #5C534C;
  --ol-ink-faint: #948A82;
  --ol-line: #EADFD0;

  --surface-card: #FFFFFF;
  --text-body: var(--ol-ink);
  --text-muted: var(--ol-ink-soft);
  --text-faint: var(--ol-ink-faint);
  --link-color: var(--ol-turquoise-deep);
  --link-hover: var(--ol-red);

  
  --font-display: 'Mochiy Pop One', 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', sans-serif;
  --font-body: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', sans-serif;
  --font-text: 'Noto Sans JP', 'Hiragino Sans', sans-serif;

  --text-xs: 11px;   
  --text-sm: 13px;   
  --text-base: 16px; 
  --text-md: 19px;   
  --text-lg: 23px;   
  --text-xl: 32px;   
  --text-2xl: 45px;  

  --leading-body: 2.0;      
  --leading-heading: 1.414; 
  --leading-tight: 1.19;    

  
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 11px;
  --space-4: 16px;
  --space-5: 23px;
  --space-6: 32px;
  --space-7: 45px;
  --space-8: 64px;
  --space-9: 91px;
  --space-10: 128px;

  --radius-sm: 11px;
  --radius-md: 16px;
  --radius-lg: 23px;
  --radius-xl: 32px;
  --radius-pill: 999px;

  --ratio-photo: 1.414 / 1;  
  --ratio-wide: 2.828 / 1;   

  --shadow-card: 0 2px 0 rgba(43, 36, 32, .06), 0 8px 23px rgba(43, 36, 32, .08);
  --shadow-float: 0 11px 32px rgba(43, 36, 32, .14);
  --shadow-stamp: 3px 3px 0 var(--ol-ink);
  --border-pop: 2px solid var(--ol-ink);

  --content-max: 1200px;   
  --header-h: 60px;

  --ease-bounce: cubic-bezier(.34, 1.56, .64, 1);
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --duration-quick: 180ms;
  --duration-fun: 350ms;
}
.ol-b .entry-content *, .ol-b .entry-content *::before, .ol-b .entry-content *::after { box-sizing: border-box; }
.ol-b .entry-content { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
.ol-b .entry-content {
  margin: 0;
  background: var(--ol-white);
  color: var(--text-body);
  font-family: var(--font-body);
  line-height: var(--leading-body);
  overflow-x: hidden;
}
.ol-b .entry-content img { max-width: 100%; height: auto; display: block; }
.ol-b .entry-content a { color: var(--link-color); text-decoration: none; }
.ol-b .entry-content a:hover { color: var(--link-hover); }
.ol-b .entry-content button { font-family: inherit; }
.ol-b .entry-content :focus-visible { outline: 3px solid var(--ol-turquoise); outline-offset: 2px; }
.ol-b .entry-content .sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.ol-b .entry-content .inner { max-width: var(--content-max); margin: 0 auto; padding: 0 var(--space-5); }
.ol-b .entry-content .band { position: relative; padding: var(--space-7) 0 var(--space-8); overflow: hidden; }
.ol-b .entry-content .band--white { background: var(--ol-white); }
.ol-b .entry-content .band--tint { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .band--paper { background: var(--ol-paper); }
.ol-b .entry-content .band-wave { display: block; width: 100%; height: 45px; margin-bottom: var(--space-6); }
.ol-b .entry-content .band > .band-wave { margin-top: calc(-1 * var(--space-7)); }
.ol-b .entry-content .hdr {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 253, 247, .96);
  border-bottom: 1px solid rgba(234, 223, 208, .8);
}
.ol-b .entry-content .hdr-in {
  max-width: var(--content-max); margin: 0 auto; padding: 0 var(--space-5);
  display: flex; align-items: center; gap: var(--space-4); height: var(--header-h);
}
.ol-b .entry-content .hdr-logo { height: 46px; width: auto; margin-top: 3px; }
.ol-b .entry-content .hdr-nav { display: none; gap: 2px; }
@media (min-width: 1024px) {
.ol-b .entry-content .hdr-nav { display: flex; }
}
.ol-b .entry-content .hdr-nav a {
  font-weight: 700; font-size: var(--text-sm); color: var(--text-body);
  padding: var(--space-3) var(--space-4); border-radius: var(--radius-pill);
  transition: background var(--duration-quick) var(--ease-out), color var(--duration-quick) var(--ease-out);
}
.ol-b .entry-content .hdr-nav a:hover { background: var(--ol-turquoise-tint); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .hdr-spacer { flex-grow: 1; }
.ol-b .entry-content .btn-search {
  display: flex; align-items: center; gap: var(--space-2);
  background: var(--ol-turquoise); color: #fff; border: none;
  border-radius: var(--radius-pill); padding: var(--space-3) var(--space-5);
  font-weight: 700; font-size: var(--text-sm); cursor: pointer;
  transition: transform var(--duration-quick) var(--ease-bounce), background var(--duration-quick) var(--ease-out);
}
.ol-b .entry-content .btn-search:hover { background: var(--ol-turquoise-deep); transform: translateY(-2px); }
.ol-b .entry-content .btn-search:active { transform: scale(.97); }
.ol-b .entry-content .btn-menu {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  background: var(--ol-red); color: #fff; border: none; border-radius: 50%;
  width: 45px; height: 45px; flex-shrink: 0; cursor: pointer;
  transition: transform var(--duration-quick) var(--ease-bounce), background var(--duration-quick) var(--ease-out);
}
.ol-b .entry-content .btn-menu:hover { background: var(--ol-red-deep); transform: translateY(-2px); }
.ol-b .entry-content .btn-menu:active { transform: scale(.97); }
.ol-b .entry-content .btn-menu .bars { display: flex; flex-direction: column; gap: 3px; }
.ol-b .entry-content .btn-menu .bars i { width: 15px; height: 2px; background: #fff; border-radius: 2px; display: block; }
.ol-b .entry-content .btn-menu span.lbl { font-size: 8px; font-weight: 700; line-height: 1; }
.ol-b .entry-content .drawer { display: none; position: fixed; inset: 0; z-index: 60; background: rgba(43, 36, 32, .45); }
.ol-b .entry-content .drawer.open { display: block; }
.ol-b .entry-content .drawer-panel {
  position: absolute; top: 0; right: 0; width: min(320px, 86vw); height: 100%;
  background: var(--ol-white); padding: var(--space-5); overflow-y: auto;
  box-shadow: var(--shadow-float);
}
.ol-b .entry-content .drawer-panel h2 {
  font-family: var(--font-display); font-weight: 400; font-size: var(--text-md);
  color: var(--ol-turquoise-deep); margin: var(--space-1) 0 var(--space-4);
}
.ol-b .entry-content .drawer-panel a {
  display: block; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md);
  font-weight: 700; font-size: var(--text-base); color: var(--text-body);
}
.ol-b .entry-content .drawer-panel a:hover { background: var(--ol-turquoise-tint); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .drawer-close {
  position: absolute; top: var(--space-4); right: var(--space-4);
  background: var(--ol-red); color: #fff; border: none; border-radius: 50%;
  width: 38px; height: 38px; font-size: 17px; cursor: pointer; line-height: 1;
}
.ol-b .entry-content .hero {
  position: relative; min-height: 481px; 
  display: flex; align-items: flex-end; overflow: hidden;
}
.ol-b .entry-content .hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ol-b .entry-content .hero-shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(43, 36, 32, 0) 30%, rgba(43, 36, 32, .58) 100%);
}
.ol-b .entry-content .hero-body { position: relative; width: 100%; padding-bottom: var(--space-8); }
.ol-b .entry-content .hero-meta { display: flex; gap: var(--space-2); align-items: center; flex-wrap: wrap; margin-bottom: var(--space-3); }
.ol-b .entry-content .hero-date { font-size: var(--text-xs); font-weight: 700; color: #fff; text-shadow: 0 1px 3px rgba(43, 36, 32, .6); }
.ol-b .entry-content .hero h1 {
  margin: 0; font-family: var(--font-display); font-weight: 400;
  font-size: clamp(var(--text-lg), 5vw, var(--text-2xl)); line-height: var(--leading-heading);
  color: #fff;
  text-shadow: 0 2px 4px rgba(43, 36, 32, .5), 0 8px 28px rgba(43, 36, 32, .35);
}
.ol-b .entry-content .hero h1 .hname { display: block; }
.ol-b .entry-content .hero h1 .htag {
  display: block; margin-top: var(--space-2);
  font-family: var(--font-body); font-weight: 900;
  font-size: clamp(var(--text-base), 2.4vw, var(--text-lg));
  line-height: 1.55; letter-spacing: .01em;
}
.ol-b .entry-content .hero-wave { position: absolute; bottom: -1px; left: 0; width: 100%; height: 45px; display: block; }
.ol-b .entry-content .weather {
  position: absolute; z-index: 2;
  top: var(--space-5);
  right: max(var(--space-5), calc((100% - var(--content-max)) / 2 + var(--space-5)));
  display: none; align-items: center; gap: var(--space-3);
  background: rgba(255, 253, 247, .95);
  border-radius: var(--radius-pill);
  padding: var(--space-2) var(--space-4) var(--space-2) var(--space-3);
  box-shadow: var(--shadow-card);
}
.ol-b .entry-content .weather.on { display: inline-flex; }
.ol-b .entry-content .weather .w-ico { width: 32px; height: 32px; color: var(--ol-turquoise-deep); flex-shrink: 0; }
.ol-b .entry-content .weather .w-ico.sun { color: var(--ol-yellow-deep); }
.ol-b .entry-content .weather .w-ico.rain, .ol-b .entry-content .weather .w-ico.storm { color: var(--ol-turquoise-deep); }
.ol-b .entry-content .weather .w-body { display: flex; flex-direction: column; line-height: var(--leading-tight); }
.ol-b .entry-content .weather .w-place { font-size: var(--text-xs); font-weight: 700; color: var(--text-muted); }
.ol-b .entry-content .weather .w-temp { font-family: var(--font-display); font-size: var(--text-md); color: var(--text-body); }
.ol-b .entry-content .weather .w-temp small { font-family: var(--font-body); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); margin-left: var(--space-1); }
.ol-b .entry-content .hero-rating {
  display: inline-flex; flex-direction: column; gap: var(--space-2);
  margin-top: var(--space-4);
  background: rgba(255, 253, 247, .95);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  box-shadow: var(--shadow-card);
}
.ol-b .entry-content .hero-rating .rating { gap: var(--space-2); }
.ol-b .entry-content .hero-rating .rating .lbl { width: 7.5em; font-size: var(--text-xs); color: var(--text-body); }
.ol-b .entry-content .hero-rating .rating .marks img { width: 14px; height: 14px; }
.ol-b .entry-content .hero-rating .rating .score { font-size: var(--text-xs); }
.ol-b .entry-content .hero-rating .rating-note { display: none; margin: 0; }
@media (min-width: 700px) {
.ol-b .entry-content .hero-rating {
    flex-direction: row; align-items: center; gap: var(--space-6);
    border-radius: var(--radius-lg); padding: var(--space-4) var(--space-6);
  }
.ol-b .entry-content .hero-rating .rating .lbl { width: auto; margin-right: var(--space-2); font-size: var(--text-sm); }
.ol-b .entry-content .hero-rating .rating .marks img { width: 16px; height: 16px; }
}
.ol-b .entry-content .sec-head { margin: 0 0 var(--space-6); }
.ol-b .entry-content .kicker {
  display: flex; align-items: center; gap: var(--space-3);
  font-family: var(--font-display); font-weight: 400;
  font-size: var(--text-sm); letter-spacing: .19em;
  color: var(--ol-red); margin-bottom: var(--space-2);
}
.ol-b .entry-content .kicker::after { content: ''; height: 2px; width: var(--space-7); background: var(--ol-red); border-radius: 2px; opacity: .5; }
.ol-b .entry-content .band--tint .kicker { color: var(--ol-turquoise-deep); }
.ol-b .entry-content .band--tint .kicker::after { background: var(--ol-turquoise-deep); }
.ol-b .entry-content .sec-head h2 {
  margin: 0; font-family: var(--font-display); font-weight: 400;
  font-size: clamp(var(--text-lg), 3vw, var(--text-xl));
  line-height: var(--leading-heading); color: var(--text-body);
}
.ol-b .entry-content .sec-head svg.underwave { display: block; margin-top: var(--space-2); }
.ol-b .entry-content .h3 {
  font-family: var(--font-text); font-size: var(--text-md); font-weight: 900;
  margin: var(--space-7) 0 var(--space-4); display: flex; align-items: center; gap: var(--space-2);
  line-height: var(--leading-heading);
}
.ol-b .entry-content .h3::before { content: ''; width: 11px; height: 11px; border-radius: 50%; background: var(--ol-red); flex-shrink: 0; }
.ol-b .entry-content .prose p {
  font-family: var(--font-text); font-size: var(--text-base);
  line-height: var(--leading-body); letter-spacing: .03em;
  margin: 0 0 1.414em;
}
.ol-b .entry-content .prose p:last-child { margin-bottom: 0; }
.ol-b .entry-content .prose strong { font-weight: 700; background: linear-gradient(transparent 62%, var(--ol-yellow-tint) 62%); }
.ol-b .entry-content .band--tint .prose strong, .ol-b .entry-content .band--paper .prose strong { background: linear-gradient(transparent 62%, #fff 62%); }
.ol-b .entry-content .meta-row {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: var(--space-3); padding: var(--space-3) 0 var(--space-5);
}
.ol-b .entry-content .byline { font-size: var(--text-sm); font-weight: 700; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .badge {
  display: inline-flex; align-items: center;
  font-family: var(--font-body); font-weight: 700; font-size: var(--text-xs); line-height: 1;
  padding: var(--space-2) var(--space-3); border-radius: var(--radius-pill);
  color: #fff; background: var(--ol-turquoise);
  border: 2px solid var(--ol-ink); box-shadow: var(--shadow-stamp);
}
.ol-b .entry-content .badge.red { background: var(--ol-red); }
.ol-b .entry-content .badge.green { background: var(--ol-green); }
.ol-b .entry-content .badge.purple { background: var(--ol-purple); }
.ol-b .entry-content .badge.yellow { background: var(--ol-yellow); color: var(--ol-ink); }
.ol-b .entry-content .chip {
  display: inline-flex; align-items: center; font-weight: 700; font-size: var(--text-sm);
  padding: var(--space-2) var(--space-4); border-radius: var(--radius-pill);
  background: var(--ol-turquoise-tint); color: var(--ol-turquoise-deep);
}
.ol-b .entry-content .chip.red { background: var(--ol-red-tint); color: var(--ol-red-deep); }
.ol-b .entry-content .chip.green { background: var(--ol-green-tint); color: var(--ol-green-deep); }
.ol-b .entry-content .chip.yellow { background: var(--ol-yellow-tint); color: var(--ol-yellow-deep); }
.ol-b .entry-content .lead-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin: var(--space-6) 0 0; }
.ol-b .entry-content .rating-card {
  background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); padding: var(--space-5);
  display: flex; flex-direction: column; gap: var(--space-3); align-self: start;
}
.ol-b .entry-content .rating { display: flex; align-items: center; gap: var(--space-3); }
.ol-b .entry-content .rating .lbl { font-size: var(--text-sm); font-weight: 700; width: 7.5em; flex-shrink: 0; color: var(--text-muted); }
.ol-b .entry-content .rating .marks { display: flex; gap: 3px; }
.ol-b .entry-content .rating .marks img { width: 19px; height: 19px; }
.ol-b .entry-content .rating .marks img.off { opacity: .22; filter: grayscale(.6); }
.ol-b .entry-content .rating .score { font-size: var(--text-xs); font-weight: 700; color: var(--ol-ink-faint); }
.ol-b .entry-content .rating-note { margin: var(--space-1) 0 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-faint); line-height: var(--leading-heading); }
.ol-b .entry-content .toc { background: var(--ol-turquoise-tint); border-radius: var(--radius-lg); padding: var(--space-5); }
.ol-b .entry-content .toc-head { display: flex; align-items: center; gap: var(--space-2); }
.ol-b .entry-content .toc-head img { width: 27px; }
.ol-b .entry-content .toc-head b { font-family: var(--font-display); font-weight: 400; font-size: var(--text-base); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .toc ol {
  margin: var(--space-3) 0 0; padding-left: var(--space-5);
  font-size: var(--text-base); line-height: 2.0; font-weight: 700; font-family: var(--font-text);
}
.ol-b .entry-content .toc ol a { color: var(--ol-ink); }
.ol-b .entry-content .toc ol a:hover { color: var(--ol-red); }
.ol-b .entry-content .voice { display: flex; align-items: flex-start; gap: var(--space-4); margin: var(--space-6) 0 0; }
.ol-b .entry-content .voice-char { width: 91px; flex-shrink: 0; filter: drop-shadow(0 4px 8px rgba(43, 36, 32, .18)); }
.ol-b .entry-content .voice-bubble {
  position: relative; background: #fff; border: var(--border-pop);
  border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5);
  font-family: var(--font-text); font-size: var(--text-base); line-height: var(--leading-body);
  box-shadow: var(--shadow-stamp);
}
.ol-b .entry-content .voice-bubble::before, .ol-b .entry-content .voice-bubble::after { content: ''; position: absolute; top: 27px; width: 0; height: 0; border-style: solid; }
.ol-b .entry-content .voice-bubble::before { left: -14px; border-width: 8px 14px 8px 0; border-color: transparent var(--ol-ink) transparent transparent; }
.ol-b .entry-content .voice-bubble::after { left: -10px; border-width: 7px 12px 7px 0; border-color: transparent #fff transparent transparent; }
.ol-b .entry-content .voice-name {
  display: block; font-family: var(--font-body); font-weight: 700;
  font-size: var(--text-xs); color: var(--ol-turquoise-deep); margin-bottom: var(--space-1);
}
.ol-b .entry-content .infobox {
  border-radius: var(--radius-lg); padding: var(--space-5);
  margin: var(--space-6) 0 0; font-family: var(--font-text);
  background: var(--ol-turquoise-tint);
}
.ol-b .entry-content .infobox .ttl {
  display: flex; align-items: center; gap: var(--space-2);
  font-family: var(--font-body); font-weight: 700; font-size: var(--text-sm);
  margin-bottom: var(--space-2); color: var(--ol-turquoise-deep);
}
.ol-b .entry-content .infobox .ttl svg { flex-shrink: 0; }
.ol-b .entry-content .infobox p { margin: 0; font-size: var(--text-base); line-height: var(--leading-body); }
.ol-b .entry-content .infobox p + p { margin-top: .8em; }
.ol-b .entry-content .infobox.caution { background: var(--ol-red-tint); }
.ol-b .entry-content .infobox.caution .ttl { color: var(--ol-red-deep); }
.ol-b .entry-content .infobox.point { background: var(--ol-yellow-tint); }
.ol-b .entry-content .infobox.point .ttl { color: var(--ol-yellow-deep); }
.ol-b .entry-content .alert {
  background: var(--ol-red); color: #fff; border-radius: var(--radius-lg);
  padding: var(--space-5) var(--space-6); margin: 0 0 var(--space-6);
  box-shadow: var(--shadow-card); font-family: var(--font-text);
}
.ol-b .entry-content .alert .ttl {
  display: flex; align-items: center; gap: var(--space-3);
  font-family: var(--font-display); font-weight: 400; font-size: var(--text-md);
  line-height: var(--leading-heading); margin-bottom: var(--space-3);
}
.ol-b .entry-content .alert .ttl .ico {
  width: 32px; height: 32px; border-radius: 50%; background: #fff;
  color: var(--ol-red); display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: var(--text-md); flex-shrink: 0; font-family: var(--font-body);
}
.ol-b .entry-content .alert p { margin: 0; font-size: var(--text-base); line-height: var(--leading-body); }
.ol-b .entry-content .alert p + p { margin-top: .8em; }
.ol-b .entry-content .alert a { color: #fff; text-decoration: underline; font-weight: 700; }
.ol-b .entry-content .alert a:hover { color: var(--ol-yellow); }
.ol-b .entry-content .alert strong, .ol-b .entry-content .point-card strong { background: none; border-bottom: 2px solid rgba(255, 255, 255, .75); padding-bottom: 1px; }
.ol-b .entry-content .points { display: grid; grid-template-columns: 1fr; gap: var(--space-4); margin: var(--space-6) 0 0; }
.ol-b .entry-content .point-card {
  border-radius: var(--radius-lg); padding: var(--space-5); color: #fff;
  box-shadow: var(--shadow-card); font-family: var(--font-text);
  transition: transform var(--duration-fun) var(--ease-bounce), box-shadow var(--duration-fun) var(--ease-out);
}
.ol-b .entry-content .point-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-float); }
.ol-b .entry-content .point-card.c1 { background: var(--ol-red); }
.ol-b .entry-content .point-card.c2 { background: var(--ol-green); }
.ol-b .entry-content .point-card.c3 { background: var(--ol-turquoise-deep); }
.ol-b .entry-content .point-card .num {
  font-family: var(--font-display); font-size: var(--text-sm); opacity: .85;
  letter-spacing: .11em; display: block; margin-bottom: var(--space-1);
}
.ol-b .entry-content .point-card h3 {
  font-family: var(--font-body); font-weight: 700; font-size: var(--text-md);
  margin: 0 0 var(--space-2); line-height: var(--leading-heading);
}
.ol-b .entry-content .point-card p { margin: 0; font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .spotinfo {
  background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0;
}
.ol-b .entry-content .spotinfo .name {
  background: var(--ol-turquoise); color: #fff;
  font-family: var(--font-body); font-weight: 700; font-size: var(--text-base);
  padding: var(--space-4) var(--space-5); display: flex; align-items: center; gap: var(--space-2);
}
.ol-b .entry-content .spotinfo dl { margin: 0; padding: var(--space-2) var(--space-5) var(--space-4); }
.ol-b .entry-content .spotinfo .row { display: flex; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px dashed var(--ol-line); font-family: var(--font-text); }
.ol-b .entry-content .spotinfo .row:last-child { border-bottom: none; }
.ol-b .entry-content .spotinfo dt { width: 6.5em; flex-shrink: 0; font-weight: 700; font-size: var(--text-sm); color: var(--ol-turquoise-deep); line-height: 1.9; }
.ol-b .entry-content .spotinfo dd { margin: 0; font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .adslot { margin: var(--space-6) 0 0; text-align: center; }
.ol-b .entry-content .adslot > span {
  display: block; font-size: var(--text-xs); font-weight: 700;
  color: var(--text-faint); letter-spacing: .12em; margin-bottom: var(--space-1);
}
.ol-b .entry-content .adslot .adsbygoogle { border-radius: var(--radius-md); overflow: hidden; }
.ol-b .entry-content .affi { text-align: center; margin: var(--space-6) 0 0; }
.ol-b .entry-content .affi a {
  display: inline-flex; align-items: center; gap: var(--space-3);
  background: var(--ol-red); color: #fff; border: var(--border-pop);
  border-radius: var(--radius-pill); box-shadow: var(--shadow-stamp);
  padding: var(--space-4) var(--space-6); font-weight: 700; font-size: var(--text-base);
  transition: transform var(--duration-quick) var(--ease-bounce), background var(--duration-quick) var(--ease-out), box-shadow var(--duration-quick) var(--ease-out);
}
.ol-b .entry-content .affi a:hover { background: var(--ol-red-deep); color: #fff; transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--ol-ink); }
.ol-b .entry-content .affi a:active { transform: scale(.97); }
.ol-b .entry-content .affi .prov { display: block; font-size: var(--text-xs); color: var(--text-faint); margin-top: var(--space-2); }
.ol-b .entry-content .share { display: flex; align-items: center; gap: var(--space-2); }
.ol-b .entry-content .share .lbl { font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .share a, .ol-b .entry-content .share button {
  width: 38px; height: 38px; border-radius: 50%; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: var(--ol-turquoise-tint); color: var(--ol-turquoise-deep);
  transition: transform var(--duration-quick) var(--ease-bounce), background var(--duration-quick) var(--ease-out);
}
.ol-b .entry-content .share a:hover, .ol-b .entry-content .share button:hover { background: var(--ol-turquoise); color: #fff; transform: translateY(-2px); }
.ol-b .entry-content .band--paper .share a, .ol-b .entry-content .band--tint .share a { background: #fff; }
.ol-b .entry-content .figs { display: grid; grid-template-columns: 1fr; gap: var(--space-4); margin: var(--space-6) 0 0; }
.ol-b .entry-content .fig { margin: 0; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-card); background: #fff; }
.ol-b .entry-content .fig img { width: 100%; aspect-ratio: var(--ratio-photo); object-fit: cover; }
.ol-b .entry-content .fig.portrait img { aspect-ratio: 1 / 1.19; }
.ol-b .entry-content .fig.wide img { aspect-ratio: var(--ratio-photo); }
.ol-b .entry-content .fig figcaption {
  font-family: var(--font-text); font-size: var(--text-sm); color: var(--text-muted);
  padding: var(--space-3) var(--space-4); line-height: var(--leading-heading);
}
.ol-b .entry-content .fig-solo { margin: var(--space-6) 0 0; }
.ol-b .entry-content .fig.wide { margin-top: var(--space-6); }
.ol-b .entry-content .tenants { display: grid; grid-template-columns: 1fr; gap: var(--space-4); margin: 0 0 var(--space-6); }
.ol-b .entry-content .tcard {
  background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); padding: var(--space-5);
  display: flex; flex-direction: column; gap: var(--space-2);
  transition: transform var(--duration-fun) var(--ease-bounce), box-shadow var(--duration-fun) var(--ease-out);
}
.ol-b .entry-content .tcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-float); }
.ol-b .entry-content .tcard .genre {
  align-self: flex-start; font-size: var(--text-xs); font-weight: 700; line-height: 1;
  color: #fff; background: var(--ol-turquoise); border-radius: var(--radius-pill);
  padding: 6px var(--space-3);
}
.ol-b .entry-content .tcard .genre.red { background: var(--ol-red); }
.ol-b .entry-content .tcard .genre.green { background: var(--ol-green); }
.ol-b .entry-content .tcard .genre.purple { background: var(--ol-purple); }
.ol-b .entry-content .tcard .genre.pink { background: var(--ol-pink); }
.ol-b .entry-content .tcard .genre.yellow { background: var(--ol-yellow-deep); }
.ol-b .entry-content .tcard h4 { margin: 0; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: var(--leading-heading); }
.ol-b .entry-content .tcard h4 .yomi { font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); margin-left: var(--space-2); }
.ol-b .entry-content .tcard p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; flex-grow: 1; }
.ol-b .entry-content .tcard .hours { display: flex; align-items: center; gap: 6px; margin-top: var(--space-1); font-size: var(--text-xs); font-weight: 700; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .tcard .hours svg { flex-shrink: 0; }
.ol-b .entry-content .tenant-note {
  font-family: var(--font-text); font-size: var(--text-sm); color: var(--text-muted);
  background: #fff; border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4); margin: 0; line-height: 1.9;
}
.ol-b .entry-content .faq { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); margin-bottom: var(--space-3); overflow: hidden; }
.ol-b .entry-content .faq summary {
  list-style: none; cursor: pointer; padding: var(--space-4) 52px var(--space-4) var(--space-5);
  font-family: var(--font-body); font-weight: 700; font-size: var(--text-base);
  position: relative; line-height: var(--leading-heading);
}
.ol-b .entry-content .faq summary::-webkit-details-marker { display: none; }
.ol-b .entry-content .faq summary::after {
  content: '+'; position: absolute; right: var(--space-4); top: 50%; transform: translateY(-50%);
  width: 27px; height: 27px; border-radius: 50%; background: var(--ol-turquoise);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 17px; line-height: 1; transition: transform var(--duration-quick) var(--ease-out);
}
.ol-b .entry-content .faq[open] summary::after { content: '−'; transform: translateY(-50%) rotate(180deg); }
.ol-b .entry-content .faq .body { padding: 0 var(--space-5) var(--space-5); font-family: var(--font-text); }
.ol-b .entry-content .faq .body p { margin: 0; font-size: var(--text-base); line-height: var(--leading-body); }
.ol-b .entry-content .faq .body p + p { margin-top: .8em; }
.ol-b .entry-content .sources {
  margin-top: var(--space-6);
  background: var(--ol-paper); border-radius: var(--radius-md);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 2.0; color: var(--text-muted);
}
.ol-b .entry-content .sources summary {
  list-style: none; cursor: pointer;
  padding: var(--space-3) var(--space-5);
  font-family: var(--font-body); font-weight: 700; color: var(--ol-turquoise-deep);
  display: flex; align-items: center; gap: var(--space-2);
}
.ol-b .entry-content .sources summary::-webkit-details-marker { display: none; }
.ol-b .entry-content .sources summary::before {
  content: '+'; width: 19px; height: 19px; border-radius: 50%;
  background: var(--ol-turquoise); color: #fff; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; line-height: 1;
}
.ol-b .entry-content .sources[open] summary::before { content: '−'; }
.ol-b .entry-content .sources p { margin: 0; padding: 0 var(--space-5) var(--space-4); }
.ol-b .entry-content .next-head { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .next-head img { width: 32px; }
.ol-b .entry-content .next-head b { font-family: var(--font-display); font-weight: 400; font-size: var(--text-md); }
.ol-b .entry-content .cards { display: flex; flex-direction: column; gap: var(--space-3); }
.ol-b .entry-content .acard {
  display: flex; gap: var(--space-4); background: #fff; border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; color: var(--text-body);
  transition: transform var(--duration-fun) var(--ease-bounce), box-shadow var(--duration-fun) var(--ease-out);
}
.ol-b .entry-content .acard:hover { transform: translateY(-4px); box-shadow: var(--shadow-float); color: var(--text-body); }
.ol-b .entry-content .acard .thumb { width: 108px; flex-shrink: 0; background: var(--ol-turquoise-tint); }
.ol-b .entry-content .acard .thumb img { width: 100%; height: 100%; object-fit: contain; padding: var(--space-4); }
.ol-b .entry-content .acard .thumb.photo { background: var(--ol-line); }
.ol-b .entry-content .acard .thumb.photo img { object-fit: cover; padding: 0; }
.ol-b .entry-content .acard .body { padding: var(--space-3) var(--space-4) var(--space-3) 0; display: flex; flex-direction: column; gap: var(--space-1); justify-content: center; }
.ol-b .entry-content .acard .cat {
  font-size: var(--text-xs); font-weight: 700; color: #fff; background: var(--ol-turquoise);
  border-radius: var(--radius-pill); padding: 3px var(--space-3); align-self: flex-start; line-height: 1.6;
}
.ol-b .entry-content .acard .cat.red { background: var(--ol-red); }
.ol-b .entry-content .acard .cat.green { background: var(--ol-green); }
.ol-b .entry-content .acard .cat.purple { background: var(--ol-purple); }
.ol-b .entry-content .acard .ttl { font-weight: 700; font-size: var(--text-base); line-height: var(--leading-heading); }
.ol-b .entry-content .acard .date { font-size: var(--text-xs); color: var(--text-faint); }
.ol-b .entry-content .ftr { background: var(--ol-turquoise); color: #fff; position: relative; }
.ol-b .entry-content .ftr .band-wave { margin: 0; }
.ol-b .entry-content .ftr-in { max-width: var(--content-max); margin: 0 auto; padding: var(--space-2) var(--space-5) var(--space-6); }
.ol-b .entry-content .ftr-brand { display: flex; align-items: flex-start; gap: var(--space-4); margin-bottom: var(--space-5); }
.ol-b .entry-content .ftr-brand img { width: 91px; flex-shrink: 0; filter: drop-shadow(0 4px 8px rgba(43, 36, 32, .2)); }
.ol-b .entry-content .ftr-brand b { font-family: var(--font-display); font-weight: 400; font-size: var(--text-md); }
.ol-b .entry-content .ftr-brand p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .ftr-nav { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-5); }
.ol-b .entry-content .ftr-nav a {
  background: rgba(255, 255, 255, .18); color: #fff; border-radius: var(--radius-pill);
  padding: var(--space-2) var(--space-4); font-weight: 700; font-size: var(--text-sm);
}
.ol-b .entry-content .ftr-nav a:hover { background: #fff; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .ftr-base {
  border-top: 1px solid rgba(255, 255, 255, .3); padding-top: var(--space-4);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2);
  font-size: var(--text-xs);
}
.ol-b .entry-content .ftr-base a { color: #fff; text-decoration: underline; }
.ol-b .entry-content .band-motif { display: none; position: absolute; pointer-events: none; filter: drop-shadow(0 6px 11px rgba(43, 36, 32, .16)); }
@media (min-width: 700px) {
.ol-b .entry-content .band-motif { display: block; }
.ol-b .entry-content .band-motif.hibiscus { top: 23px; right: -16px; width: clamp(64px, 9vw, 108px); transform: rotate(8deg); }
.ol-b .entry-content .band-motif.monstera { top: 91px; left: -45px; width: clamp(91px, 12vw, 154px); transform: rotate(24deg); }
}
@media (max-width: 1399px) {
.ol-b .entry-content .band-motif.monstera { display: none; }
}
.ol-b .entry-content .reveal { opacity: 0; transform: translateY(23px); transition: opacity .5s var(--ease-out), transform .5s var(--ease-bounce); }
.ol-b .entry-content .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
.ol-b .entry-content .reveal { opacity: 1; transform: none; transition: none; }
.ol-b .entry-content { scroll-behavior: auto; }
}
@media (min-width: 700px) {
.ol-b .entry-content { --header-h: 76px; }
.ol-b .entry-content .hdr-logo { height: 62px; margin-top: 5px; }
.ol-b .entry-content .btn-search { padding: var(--space-3) var(--space-5); font-size: var(--text-sm); }
.ol-b .entry-content .btn-menu { width: 52px; height: 52px; }
.ol-b .entry-content .hero { min-height: 537px; }
.ol-b .entry-content .hero-wave { height: 64px; }
.ol-b .entry-content .hero-body { padding-bottom: var(--space-9); }
.ol-b .entry-content .band { padding: var(--space-8) 0 var(--space-9); }
.ol-b .entry-content .band-wave { height: 64px; margin-bottom: var(--space-7); }
.ol-b .entry-content .band > .band-wave { margin-top: calc(-1 * var(--space-8)); }
.ol-b .entry-content .points { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.ol-b .entry-content .figs.two { grid-template-columns: repeat(2, 1fr); gap: var(--space-5); }
.ol-b .entry-content .tenants { grid-template-columns: repeat(2, 1fr); gap: var(--space-5); }
.ol-b .entry-content .voice-char { width: 108px; }
.ol-b .entry-content .toc ol { columns: 2; column-gap: var(--space-7); }
}
@media (min-width: 1100px) {
.ol-b .entry-content .prose p { font-size: var(--text-md); }
.ol-b .entry-content .infobox p, .ol-b .entry-content .alert p, .ol-b .entry-content .faq .body p { font-size: var(--text-md); }
.ol-b .entry-content .faq summary { font-size: var(--text-md); }
.ol-b .entry-content .tenants { grid-template-columns: repeat(3, 1fr); }
.ol-b .entry-content .cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.ol-b .entry-content .cards .acard { flex-direction: column; }
.ol-b .entry-content .cards .acard .thumb { width: 100%; height: 154px; }
.ol-b .entry-content .cards .acard .thumb.photo { height: auto; aspect-ratio: 1.414 / 1; }
.ol-b .entry-content .cards .acard .body { padding: var(--space-1) var(--space-5) var(--space-5); }
.ol-b .entry-content .fig.wide img { aspect-ratio: var(--ratio-wide); }
}
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .buy-in { display: grid; grid-template-columns: 88px 1fr; gap: var(--space-4); align-items: start; }
@media (min-width: 700px) {
.ol-b .entry-content .buy-in { grid-template-columns: 132px 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .buy-thumb { display: block; border-radius: var(--radius-md); overflow: hidden; background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.ol-b .entry-content .buy.slim .buy-in .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .askai { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; border-top: 5px solid var(--ol-turquoise); }
@media (min-width: 700px) {
.ol-b .entry-content .askai { padding: var(--space-6); }
}
.ol-b .entry-content .askai .h { display: flex; align-items: baseline; gap: var(--space-3); flex-wrap: wrap;
  margin-bottom: var(--space-2); }
.ol-b .entry-content .askai .h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); }
.ol-b .entry-content .askai .h span { font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-faint); }
.ol-b .entry-content .askai .lead { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .ai-prompt { display: block; width: 100%; box-sizing: border-box; resize: vertical;
  min-height: 7em; background: var(--ol-white); border: 2px solid var(--ol-line);
  border-radius: var(--radius-md); padding: var(--space-4); overflow: hidden;
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--ol-ink); }
.ol-b .entry-content .ai-prompt:focus { outline: none; border-color: var(--ol-turquoise); }
.ol-b .entry-content .ai-btns { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.ol-b .entry-content .ai-btns button, .ol-b .entry-content .ai-btns a { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm);
  border: 0; border-radius: var(--radius-pill); padding: var(--space-3) var(--space-5);
  cursor: pointer; text-decoration: none; }
.ol-b .entry-content .ai-copy { background: var(--ol-turquoise); color: #fff; }
.ol-b .entry-content .ai-copy:hover { background: var(--ol-turquoise-deep); }
.ol-b .entry-content .ai-copy.done { background: var(--ol-green); }
.ol-b .entry-content .ai-btns a { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .ai-btns a:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .askai .note { margin: var(--space-4) 0 0; padding-top: var(--space-3);
  border-top: 1px dashed var(--ol-line); font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.85; color: var(--text-muted); }
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .prow.hot { background: #FDE8E4; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .pprice { display: flex; align-items: baseline; gap: var(--space-2); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); }
.ol-b .entry-content .ptable .sub { font-family: var(--font-text); font-size: var(--text-sm); color: var(--text-faint); }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .ptable .phead { background: var(--ol-turquoise-tint); padding: var(--space-3) var(--space-5); font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--ol-turquoise-deep); letter-spacing: .04em; }
.ol-b .entry-content .stops { display: grid; gap: var(--space-3); margin: var(--space-6) 0 0; }
.ol-b .entry-content .stop { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: var(--space-4) var(--space-5); display: grid; grid-template-columns: 46px 1fr; gap: var(--space-4); align-items: start; }
.ol-b .entry-content .stop .no { width: 46px; height: 46px; border-radius: 50%; background: var(--ol-turquoise-deep); color: #fff; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); display: grid; place-items: center; }
.ol-b .entry-content .stop.rc .no { background: var(--ol-red); font-size: var(--text-base); }
.ol-b .entry-content .stop .to { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .stop .li { margin: var(--space-1) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .steps { counter-reset: st; margin: var(--space-6) 0 0; display: grid; gap: var(--space-3); }
.ol-b .entry-content .steps .st { position: relative; background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: var(--space-4) var(--space-5) var(--space-4) calc(var(--space-5) + 34px); }
.ol-b .entry-content .steps .st::before { counter-increment: st; content: counter(st); position: absolute; left: var(--space-4); top: var(--space-4); width: 26px; height: 26px; border-radius: 50%; background: var(--ol-red); color: #fff; font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); display: grid; place-items: center; }
.ol-b .entry-content .steps .st > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .steps .st p { margin: var(--space-1) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .shot { margin: var(--space-6) 0 0; }
.ol-b .entry-content .shot img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--ol-turquoise-tint); }
.ol-b .entry-content .shot figcaption { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.9; color: var(--text-faint); }
.ol-b .entry-content .shots { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .shots { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .shots .shot { margin: 0; }
.ol-b .entry-content .tl + .prose, .ol-b .entry-content .ptable + .prose, .ol-b .entry-content .stops + .prose, .ol-b .entry-content .steps + .prose, .ol-b .entry-content .shot + .prose, .ol-b .entry-content .shots + .prose, .ol-b .entry-content .tl + .tl, .ol-b .entry-content .ptable + .ptable, .ol-b .entry-content .tl + .ptable, .ol-b .entry-content .ptable + .tl, .ol-b .entry-content .prose + .shot, .ol-b .entry-content .prose + .shots { margin-top: var(--space-6); }
.ol-b .entry-content .next-head { margin-top: var(--space-8); }
.ol-b .entry-content .askai + .next-head { margin-top: var(--space-8); }

/* ============ B) 記事ごとの部品（48種類） ============ */
/* --- 21st-century-forest-beach --- */
.ol-b .entry-content .kit { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .kit { grid-template-columns: repeat(4, 1fr); gap: var(--space-4); }
}
.ol-b .entry-content .kit .k { background: var(--surface-card); border-radius: var(--radius-md); box-shadow: var(--shadow-card);
  padding: var(--space-4) var(--space-3); text-align: center; }
.ol-b .entry-content .kit .k .n { display: block; font-family: var(--font-text); font-size: var(--text-xs);
  color: var(--text-muted); line-height: 1.6; }
.ol-b .entry-content .kit .k .v { display: block; margin-top: 4px; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.3; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .kit .k.no .v { color: var(--text-faint); }
.ol-b .entry-content .kit .k.hot .v { color: var(--ol-red); }
.ol-b .entry-content .ajl { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3);
  margin: var(--space-5) 0 0; padding-top: var(--space-4); border-top: 1px dashed var(--ol-line); }
.ol-b .entry-content .ajl a { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm);
  color: var(--link-color); }
.ol-b .entry-content .ajl .prm { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700;
  letter-spacing: .06em; color: var(--text-faint); border: 1px solid var(--ol-line);
  border-radius: var(--radius-pill); padding: 2px var(--space-2); }
.ol-b .entry-content .ajl .note { flex-basis: 100%; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .gmap { margin: var(--space-6) 0 0; }
.ol-b .entry-content .gmap iframe { display: block; width: 100%; height: clamp(260px, 44vw, 380px); border: 0;
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--surface-card); }
.ol-b .entry-content .gmap .gml { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4);
  margin: var(--space-3) 0 0; }
.ol-b .entry-content .gmap .gml a { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700;
  letter-spacing: .02em; color: var(--link-color); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- americanvillage --- */
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .prow.hot { background: #FDE8E4; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .pprice { display: flex; align-items: baseline; gap: var(--space-2); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); }
.ol-b .entry-content .ptable .sub { font-family: var(--font-text); font-size: var(--text-sm); color: var(--text-faint); }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .ptable .phead { background: var(--ol-turquoise-tint); padding: var(--space-3) var(--space-5); font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--ol-turquoise-deep); letter-spacing: .04em; }
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .shot { margin: var(--space-6) 0 0; }
.ol-b .entry-content .shot img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--ol-turquoise-tint); }
.ol-b .entry-content .shot figcaption { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.9; color: var(--text-faint); }
.ol-b .entry-content .shots { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .shots { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .shots .shot { margin: 0; }
/* --- bashofu-hall --- */
.ol-b .entry-content .bs-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .bs-notice b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .bs-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .bs-hist { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .bs-hist .y { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .bs-hist .y:first-child { border-top: 0; }
.ol-b .entry-content .bs-hist .yr { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-red); }
@media (min-width: 700px) {
.ol-b .entry-content .bs-hist .y { grid-template-columns: 108px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .bs-hist .yr { font-size: var(--text-sm); }
}
.ol-b .entry-content .bs-steps { margin: var(--space-6) 0 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ol-b .entry-content .bs-steps span { padding: 6px 12px; border-radius: 999px; background: var(--ol-turquoise-tint);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.7; }
.ol-b .entry-content .bs-steps span.on { background: var(--ol-red); color: #fff; font-weight: 700; }
.ol-b .entry-content .bs-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .bs-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .bs-info .i:first-child { border-top: 0; }
.ol-b .entry-content .bs-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .bs-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .bs-info .k { font-size: var(--text-sm); }
}
/* --- cheap-okinawa-flights --- */
.ol-b .entry-content .qb { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4) var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .qb { padding: var(--space-6); }
}
.ol-b .entry-content .qplot { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3);
  align-items: end; height: 200px; margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .qplot { height: 250px; gap: var(--space-5); }
}
.ol-b .entry-content .qplot .avg { position: absolute; left: 0; right: 0; bottom: 0; height: 0;
  border-top: 2px dashed var(--ol-ink-faint); opacity: .8; }
.ol-b .entry-content .qplot .avg b { position: absolute; left: 0; top: -18px; font-family: var(--font-text);
  font-size: var(--text-xs); font-weight: 700; color: var(--text-muted);
  background: var(--surface-card); padding: 0 4px; border-radius: 3px; }
.ol-b .entry-content .qplot .bar { position: relative; width: 100%; border-radius: 8px 8px 0 0; background: var(--ol-turquoise); }
.ol-b .entry-content .qplot .bar.free { background: var(--ol-green); }
.ol-b .entry-content .qplot .bar b { position: absolute; top: 8px; left: 0; right: 0; text-align: center;
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: #fff; }
@media (min-width: 700px) {
.ol-b .entry-content .qplot .bar b { font-size: var(--text-md); }
}
.ol-b .entry-content .qaxis { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3);
  border-top: 1px solid var(--ol-line); padding-top: var(--space-2); }
@media (min-width: 700px) {
.ol-b .entry-content .qaxis { gap: var(--space-5); }
}
.ol-b .entry-content .qaxis span { text-align: center; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-xs); color: var(--text-muted); }
@media (min-width: 700px) {
.ol-b .entry-content .qaxis span { font-size: var(--text-sm); }
}
.ol-b .entry-content .qb .cap { margin: var(--space-4) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); border-top: 1px dashed var(--ol-line); padding-top: var(--space-3); }
.ol-b .entry-content .hb { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .hb { padding: var(--space-6); }
}
.ol-b .entry-content .hb .r { display: grid; grid-template-columns: 1fr; gap: 3px; padding: var(--space-2) 0; }
@media (min-width: 560px) {
.ol-b .entry-content .hb .r { grid-template-columns: 11.5em 1fr; align-items: center; gap: var(--space-4); }
}
.ol-b .entry-content .hb .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); line-height: 1.4; }
.ol-b .entry-content .hb .tr { position: relative; height: 20px; background: var(--ol-sand); border-radius: var(--radius-pill); }
.ol-b .entry-content .hb .tr i { display: block; height: 100%; border-radius: var(--radius-pill); background: var(--ol-turquoise); }
.ol-b .entry-content .hb .r.top .tr i { background: var(--ol-green); }
.ol-b .entry-content .hb .r.low .tr i { background: var(--ol-red); }
.ol-b .entry-content .hb .tr b { position: absolute; top: 0; right: var(--space-3); line-height: 20px;
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-ink);
  font-variant-numeric: tabular-nums; }
.ol-b .entry-content .hb .r.all { border-top: 1px dashed var(--ol-line); margin-top: var(--space-3); padding-top: var(--space-4); }
.ol-b .entry-content .hb .r.all .tr i { background: var(--ol-ink-faint); }
.ol-b .entry-content .hb .cap { margin: var(--space-4) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); border-top: 1px dashed var(--ol-line); padding-top: var(--space-3); }
.ol-b .entry-content .dt { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  overflow-x: auto; margin: var(--space-6) 0 0; -webkit-overflow-scrolling: touch; }
.ol-b .entry-content .dt table { border-collapse: collapse; width: 100%; min-width: 620px; }
.ol-b .entry-content .dt th, .ol-b .entry-content .dt td { padding: var(--space-3); text-align: right; white-space: nowrap;
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm);
  font-variant-numeric: tabular-nums; }
.ol-b .entry-content .dt thead th { border-top: 0; background: var(--ol-turquoise-tint); font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-xs); color: var(--ol-ink); position: sticky; top: 0; }
.ol-b .entry-content .dt th:first-child, .ol-b .entry-content .dt td:first-child { text-align: left; font-family: var(--font-body); font-weight: 900; }
.ol-b .entry-content .dt tbody tr.on td { background: var(--ol-green-tint); }
.ol-b .entry-content .dt tbody tr.on td:first-child { box-shadow: inset 3px 0 0 var(--ol-green-deep); }
.ol-b .entry-content .dt .u { font-size: var(--text-xs); color: var(--text-faint); font-weight: 400; }
.ol-b .entry-content .dt-note { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .dt-scroll { display: none; margin: var(--space-5) 0 calc(var(--space-2) * -1); font-family: var(--font-text);
  font-size: var(--text-xs); font-weight: 700; color: var(--ol-turquoise-deep); }
@media (max-width: 739px) {
.ol-b .entry-content .dt-scroll { display: block; }
}
.ol-b .entry-content .checks { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; counter-reset: ck; }
.ol-b .entry-content .ck { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); position: relative; padding-left: var(--space-8); }
.ol-b .entry-content .ck::before { counter-increment: ck; content: counter(ck); position: absolute;
  left: var(--space-5); top: var(--space-5); width: 26px; height: 26px; border-radius: 50%;
  background: var(--ol-red); color: #fff; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); line-height: 26px; text-align: center; }
.ol-b .entry-content .ck h3 { margin: 0 0 var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.45; }
.ol-b .entry-content .ck p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- churaumi-aquarium-discount-tickets --- */
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-1) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .prow.best { background: #FDF3D9; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .pname .rk { display: inline-block; min-width: 20px; margin-right: var(--space-2); font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .ptable .pprice { display: flex; align-items: baseline; gap: var(--space-2); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .was { font-family: var(--font-text); font-size: var(--text-sm); color: var(--text-faint); text-decoration: line-through; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .fig.wide img, .ol-b .entry-content .hero-img { object-position: center bottom; }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- fukugi-namiki --- */
.ol-b .entry-content .fk-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .fk-notice > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .fk-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .fk-walk { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .fk-walk .w { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .fk-walk .w:first-child { border-top: 0; }
.ol-b .entry-content .fk-walk .w.hd { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .fk-walk .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .fk-walk .vv { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .fk-walk .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .fk-num { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 760px) {
.ol-b .entry-content .fk-num { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .fk-item { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-turquoise-deep); }
.ol-b .entry-content .fk-item.doubt { border-left-color: var(--ol-red); }
.ol-b .entry-content .fk-item .tag { display: inline-block; padding: 2px 10px; border-radius: 999px;
  background: var(--ol-turquoise-tint); font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .fk-item.doubt .tag { background: #FDE8E4; }
.ol-b .entry-content .fk-item b { display: block; margin-top: var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .fk-item p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .fk-case { margin: var(--space-6) 0 0; background: #fff; border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-red); overflow: hidden; }
.ol-b .entry-content .fk-case .fk-ttl { padding: var(--space-4) var(--space-5) 0; font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .fk-case .fk-row { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-3) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .fk-case .fk-row:first-of-type { margin-top: var(--space-4); }
.ol-b .entry-content .fk-case .fk-k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-red); }
@media (min-width: 700px) {
.ol-b .entry-content .fk-case .fk-row { grid-template-columns: 120px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .fk-case .fk-k { font-size: var(--text-sm); }
}
.ol-b .entry-content .fk-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .fk-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .fk-info .i:first-child { border-top: 0; }
.ol-b .entry-content .fk-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .fk-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .fk-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .gmap { margin: var(--space-6) 0 0; }
.ol-b .entry-content .gmap iframe { display: block; width: 100%; height: clamp(260px, 44vw, 380px); border: 0;
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--surface-card); }
.ol-b .entry-content .gmap .gml { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4);
  margin: var(--space-3) 0 0; }
.ol-b .entry-content .gmap .gml a { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700;
  letter-spacing: .02em; color: var(--link-color); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- habusake-guide --- */
.ol-b .entry-content .rule { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .rule { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}
.ol-b .entry-content .rc { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); border-top: 5px solid var(--ol-green); }
.ol-b .entry-content .rc.lim { border-top-color: var(--ol-yellow-deep); }
.ol-b .entry-content .rc.ng { border-top-color: var(--ol-red); }
.ol-b .entry-content .rc .d { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--text-muted); }
.ol-b .entry-content .rc .v { margin: var(--space-2) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-lg); line-height: 1.25; color: var(--ol-green-deep); }
.ol-b .entry-content .rc.lim .v { color: var(--ol-yellow-deep); }
.ol-b .entry-content .rc.ng .v { color: var(--ol-red); }
.ol-b .entry-content .rc p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .steps { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; counter-reset: st; }
@media (min-width: 700px) {
.ol-b .entry-content .steps { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}
.ol-b .entry-content .st { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); position: relative; }
.ol-b .entry-content .st::before { counter-increment: st; content: counter(st); display: block; width: 26px; height: 26px;
  border-radius: 50%; background: var(--ol-turquoise); color: #fff; font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-sm); line-height: 26px; text-align: center;
  margin-bottom: var(--space-3); }
.ol-b .entry-content .st h3 { margin: 0 0 var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .st p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- haneji-eki --- */
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-1) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .ptable .phead { background: var(--ol-turquoise-tint); font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--ol-turquoise-deep); letter-spacing: .04em; }
.ol-b .entry-content .ptable .phead .pname { font-size: var(--text-sm); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- happymore --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-1) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- itoman --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .fig.wide img { object-position: center bottom; }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- jalpack-okinawa --- */
.ol-b .entry-content .tk { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .tk { padding: var(--space-6); }
}
.ol-b .entry-content .tk .r { display: grid; grid-template-columns: 1fr; gap: var(--space-1);
  padding: var(--space-3) 0; border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tk .r:first-child { border-top: 0; padding-top: 0; }
@media (min-width: 620px) {
.ol-b .entry-content .tk .r { grid-template-columns: 8.5em 1fr 5.5em; align-items: center;
  gap: var(--space-4); }
}
.ol-b .entry-content .tk .w { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); }
.ol-b .entry-content .tk .bar { position: relative; height: 18px; background: var(--ol-sand); border-radius: var(--radius-pill); }
.ol-b .entry-content .tk .bar i { display: block; height: 100%; border-radius: var(--radius-pill); background: var(--ol-turquoise); }
.ol-b .entry-content .tk .r.hot .bar i { background: var(--ol-red); }
.ol-b .entry-content .tk .r.free .bar i { background: var(--ol-green); }
.ol-b .entry-content .tk .v { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm);
  color: var(--text-muted); text-align: right; }
.ol-b .entry-content .tk .r.hot .v { color: var(--ol-red); }
.ol-b .entry-content .tk .r.free .v { color: var(--ol-green-deep); }
.ol-b .entry-content .tk .nt { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .tk .cap { margin: var(--space-4) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); border-top: 1px dashed var(--ol-line); padding-top: var(--space-3); }
.ol-b .entry-content .jo { background: var(--ol-turquoise-tint); border-radius: var(--radius-lg);
  padding: var(--space-5); margin: var(--space-6) 0 0; }
.ol-b .entry-content .jo .h { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm);
  color: var(--ol-turquoise-deep); margin-bottom: var(--space-2); }
.ol-b .entry-content .jo blockquote { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 2;
  padding-left: var(--space-4); border-left: 3px solid var(--ol-turquoise); }
.ol-b .entry-content .jo p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .vs { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .vs { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .vsc { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); }
.ol-b .entry-content .vsc h3 { margin: 0 0 var(--space-3); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .vsc ul { margin: 0; padding-left: 1.2em; }
.ol-b .entry-content .vsc li { font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95;
  margin-bottom: var(--space-2); }
.ol-b .entry-content .vsc li b { color: var(--ol-red); }
.ol-b .entry-content .checks { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; counter-reset: ck; }
.ol-b .entry-content .ck { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); position: relative; padding-left: var(--space-8); }
.ol-b .entry-content .ck::before { counter-increment: ck; content: counter(ck); position: absolute;
  left: var(--space-5); top: var(--space-5); width: 26px; height: 26px; border-radius: 50%;
  background: var(--ol-red); color: #fff; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); line-height: 26px; text-align: center; }
.ol-b .entry-content .ck h3 { margin: 0 0 var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.45; }
.ol-b .entry-content .ck p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- junglia --- */
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .prow.hot { background: #FDE8E4; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .pprice { display: flex; align-items: baseline; gap: var(--space-2); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); }
.ol-b .entry-content .ptable .sub { font-family: var(--font-text); font-size: var(--text-sm); color: var(--text-faint); }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .ptable .phead { background: var(--ol-turquoise-tint); padding: var(--space-3) var(--space-5); font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--ol-turquoise-deep); letter-spacing: .04em; }
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
/* --- kinabanjo --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 88px 1fr; gap: var(--space-2) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); color: var(--ol-red); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 128px 1fr; padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
.ol-b .entry-content .tl .td { font-size: var(--text-base); }
}
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- kokusai-dori-naha --- */
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .prow.hot { background: #FDE8E4; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .pprice { display: flex; align-items: baseline; gap: var(--space-2); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); }
.ol-b .entry-content .ptable .sub { font-family: var(--font-text); font-size: var(--text-sm); color: var(--text-faint); }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .ptable .phead { background: var(--ol-turquoise-tint); padding: var(--space-3) var(--space-5); font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--ol-turquoise-deep); letter-spacing: .04em; }
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .steps { counter-reset: st; margin: var(--space-6) 0 0; display: grid; gap: var(--space-3); }
.ol-b .entry-content .steps .st { position: relative; background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: var(--space-4) var(--space-5) var(--space-4) calc(var(--space-5) + 34px); }
.ol-b .entry-content .steps .st::before { counter-increment: st; content: counter(st); position: absolute; left: var(--space-4); top: var(--space-4); width: 26px; height: 26px; border-radius: 50%; background: var(--ol-red); color: #fff; font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); display: grid; place-items: center; }
.ol-b .entry-content .steps .st > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .steps .st p { margin: var(--space-1) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
/* --- kouri-island-heart-rock --- */
.ol-b .entry-content .hr-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .hr-notice > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .hr-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .hr-cmp { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: stretch; }
@media (min-width: 700px) {
.ol-b .entry-content .hr-cmp { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .hr-box { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border: 2px solid var(--ol-line); }
.ol-b .entry-content .hr-box.real { border-color: var(--ol-red); }
.ol-b .entry-content .hr-box .lb { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--ol-turquoise-tint);
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .hr-box.real .lb { background: #FDE8E4; }
.ol-b .entry-content .hr-box b { display: block; margin-top: var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .hr-box p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .hr-kit { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .hr-kit { grid-template-columns: repeat(4, 1fr); gap: var(--space-4); }
}
.ol-b .entry-content .hr-kit .k { background: var(--surface-card); border-radius: var(--radius-md); box-shadow: var(--shadow-card);
  padding: var(--space-4) var(--space-3); text-align: center; }
.ol-b .entry-content .hr-kit .k .n { display: block; font-family: var(--font-text); font-size: var(--text-xs);
  color: var(--text-muted); line-height: 1.6; }
.ol-b .entry-content .hr-kit .k .v { display: block; margin-top: 4px; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.3; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .hr-kit .k.no .v { color: var(--text-faint); }
.ol-b .entry-content .hr-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .hr-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .hr-info .i:first-child { border-top: 0; }
.ol-b .entry-content .hr-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .hr-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .hr-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .gmap { margin: var(--space-6) 0 0; }
.ol-b .entry-content .gmap iframe { display: block; width: 100%; height: clamp(260px, 44vw, 380px); border: 0;
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--surface-card); }
.ol-b .entry-content .gmap .gml { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: var(--space-3) 0 0; }
.ol-b .entry-content .gmap .gml a { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700;
  letter-spacing: .02em; color: var(--link-color); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- kouri-oceantower --- */
.ol-b .entry-content .ot-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .ot-notice > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .ot-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .ot-fee { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .ot-fee .r { display: grid; grid-template-columns: 1fr auto auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .ot-fee .r:first-child { border-top: 0; }
.ol-b .entry-content .ot-fee .r.hd { background: var(--ol-turquoise-tint); font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .ot-fee .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .ot-fee .p1 { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md);
  white-space: nowrap; min-width: 4.6em; text-align: right; }
.ol-b .entry-content .ot-fee .p2 { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red);
  white-space: nowrap; min-width: 4.6em; text-align: right; }
.ol-b .entry-content .ot-fee .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .ot-tips { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 760px) {
.ol-b .entry-content .ot-tips { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .ot-tip { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-turquoise-deep); }
.ol-b .entry-content .ot-tip.hot { border-left-color: var(--ol-red); }
.ol-b .entry-content .ot-tip > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .ot-tip p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .ot-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .ot-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .ot-info .i:first-child { border-top: 0; }
.ol-b .entry-content .ot-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .ot-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .ot-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .gmap { margin: var(--space-6) 0 0; }
.ol-b .entry-content .gmap iframe { display: block; width: 100%; height: clamp(260px, 44vw, 380px); border: 0;
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--surface-card); }
.ol-b .entry-content .gmap .gml { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: var(--space-3) 0 0; }
.ol-b .entry-content .gmap .gml a { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700;
  letter-spacing: .02em; color: var(--link-color); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- kyoda --- */
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: 0 0 var(--space-5); }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .pname .rk { display: inline-block; min-width: 20px; margin-right: var(--space-2); font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .ptable .pprice { display: flex; align-items: baseline; gap: var(--space-2); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .was { font-family: var(--font-text); font-size: var(--text-sm); color: var(--text-faint); text-decoration: line-through; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); }
.ol-b .entry-content .ptable .off { align-self: center; justify-self: start; font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: #fff; background: var(--ol-turquoise); border-radius: var(--radius-pill); padding: 4px var(--space-3); white-space: nowrap; }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .ptable a { color: var(--link-color); }
.ol-b .entry-content .fig img { object-position: center bottom; }
@media (min-width: 700px) {
.ol-b .entry-content .ptable .prow { grid-template-columns: 1fr auto auto; padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .ptable .pname { font-size: var(--text-md); }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / 2; }
.ol-b .entry-content .ptable .now { font-size: var(--text-lg); }
}
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- michinoeki-kadena --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 64px 1fr; gap: var(--space-2) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); color: var(--ol-red); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .tl .td b { font-family: var(--font-body); }
.ol-b .entry-content .fig.wide img { object-position: center bottom; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 88px 1fr; padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
.ol-b .entry-content .tl .td { font-size: var(--text-base); }
}
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- nago-pineapple-park-discount-tickets --- */
.ol-b .entry-content .np-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .np-notice > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .np-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .np-fee { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .np-fee .r { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .np-fee .r:first-child { border-top: 0; }
.ol-b .entry-content .np-fee .r.hd { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .np-fee .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .np-fee .yen { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .np-fee .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .np-diff { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .np-diff .d { display: grid; grid-template-columns: 1fr auto auto auto; gap: var(--space-2) var(--space-3);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .np-diff .d:first-child { border-top: 0; }
.ol-b .entry-content .np-diff .d.hd { background: var(--ol-turquoise-tint); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-xs); }
.ol-b .entry-content .np-diff .who { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); line-height: 1.5; }
.ol-b .entry-content .np-diff .old { font-family: var(--font-text); font-size: var(--text-sm); color: var(--text-faint);
  text-decoration: line-through; white-space: nowrap; }
.ol-b .entry-content .np-diff .arw { font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-faint); }
.ol-b .entry-content .np-diff .new { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base);
  color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .np-cut { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 760px) {
.ol-b .entry-content .np-cut { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .np-card { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-turquoise-deep); }
.ol-b .entry-content .np-card.ng { border-left-color: var(--ol-red); }
.ol-b .entry-content .np-card .tag { display: inline-block; padding: 2px 10px; border-radius: 999px;
  background: var(--ol-turquoise-tint); font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .np-card.ng .tag { background: #FDE8E4; }
.ol-b .entry-content .np-card > b { display: block; margin-top: var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .np-card p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .np-spot { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .np-spot .s { padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .np-spot .s:first-child { border-top: 0; }
.ol-b .entry-content .np-spot .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); }
.ol-b .entry-content .np-spot .fee { display: inline-block; margin-left: var(--space-3); padding: 2px 10px; border-radius: 999px;
  background: #FDE8E4; font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .np-spot p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .np-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .np-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .np-info .i:first-child { border-top: 0; }
.ol-b .entry-content .np-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .np-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .np-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .gmap { margin: var(--space-6) 0 0; }
.ol-b .entry-content .gmap iframe { display: block; width: 100%; height: clamp(260px, 44vw, 380px); border: 0;
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--surface-card); }
.ol-b .entry-content .gmap .gml { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4);
  margin: var(--space-3) 0 0; }
.ol-b .entry-content .gmap .gml a { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700;
  letter-spacing: .02em; color: var(--link-color); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- naha-airport --- */

/* --- nakijin-no-eki-sore --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 160px 1fr; align-items: baseline; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-1) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- nakijinjoseki --- */
.ol-b .entry-content .nj-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .nj-notice > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .nj-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .nj-fee { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .nj-fee .r { display: grid; grid-template-columns: 1fr auto auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .nj-fee .r:first-child { border-top: 0; }
.ol-b .entry-content .nj-fee .r.hd { background: var(--ol-turquoise-tint); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-xs); }
.ol-b .entry-content .nj-fee .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .nj-fee .p1 { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md);
  white-space: nowrap; min-width: 5em; text-align: right; }
.ol-b .entry-content .nj-fee .p2 { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red);
  white-space: nowrap; min-width: 5em; text-align: right; }
.ol-b .entry-content .nj-fee .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .nj-hours { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .nj-hours .h { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .nj-hours .h:first-child { border-top: 0; }
.ol-b .entry-content .nj-hours .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .nj-hours .h { grid-template-columns: 168px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .nj-hours .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .nj-tips { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 760px) {
.ol-b .entry-content .nj-tips { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .nj-tip { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-turquoise-deep); }
.ol-b .entry-content .nj-tip.hot { border-left-color: var(--ol-red); }
.ol-b .entry-content .nj-tip > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .nj-tip p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .nj-time { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .nj-time .t { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .nj-time .t:first-child { border-top: 0; }
.ol-b .entry-content .nj-time .yr { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); color: var(--ol-red); }
@media (min-width: 700px) {
.ol-b .entry-content .nj-time .t { grid-template-columns: 118px 1fr; gap: var(--space-4); align-items: baseline; }
}
.ol-b .entry-content .nj-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .nj-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .nj-info .i:first-child { border-top: 0; }
.ol-b .entry-content .nj-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .nj-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .nj-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .gmap { margin: var(--space-6) 0 0; }
.ol-b .entry-content .gmap iframe { display: block; width: 100%; height: clamp(260px, 44vw, 380px); border: 0;
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--surface-card); }
.ol-b .entry-content .gmap .gml { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: var(--space-3) 0 0; }
.ol-b .entry-content .gmap .gml a { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700;
  letter-spacing: .02em; color: var(--link-color); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- neo-park-okinawa --- */
.ol-b .entry-content .ne-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .ne-notice > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .ne-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .ne-fee { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .ne-fee .r { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .ne-fee .r:first-child { border-top: 0; }
.ol-b .entry-content .ne-fee .r.hd { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .ne-fee .r.best { background: #FDF3E8; }
.ol-b .entry-content .ne-fee .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .ne-fee .yen { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .ne-fee .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .ne-cmp { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: stretch; }
@media (min-width: 700px) {
.ol-b .entry-content .ne-cmp { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .ne-box { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border: 2px solid var(--ol-line); display: flex; flex-direction: column; }
.ol-b .entry-content .ne-box.win { border-color: var(--ol-red); }
.ol-b .entry-content .ne-box .lb { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .ne-box .pv { margin: var(--space-1) 0 var(--space-2); font-family: var(--font-display); font-size: var(--text-xl);
  line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .ne-box.win .pv { color: var(--ol-red); }
.ol-b .entry-content .ne-box p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .ne-animals { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.ol-b .entry-content .ne-animals p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 2.1; }
.ol-b .entry-content .ne-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .ne-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .ne-info .i:first-child { border-top: 0; }
.ol-b .entry-content .ne-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .ne-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .ne-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .gmap { margin: var(--space-6) 0 0; }
.ol-b .entry-content .gmap iframe { display: block; width: 100%; height: clamp(260px, 44vw, 380px); border: 0;
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--surface-card); }
.ol-b .entry-content .gmap .gml { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: var(--space-3) 0 0; }
.ol-b .entry-content .gmap .gml a { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700;
  letter-spacing: .02em; color: var(--link-color); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- okinawa-2n3d-modelcourse --- */
.ol-b .entry-content .lost { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .lost { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}
.ol-b .entry-content .lo { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); }
.ol-b .entry-content .lo .d { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700;
  color: var(--text-faint); letter-spacing: .04em; margin: 0 0 var(--space-1); }
.ol-b .entry-content .lo .t { font-family: var(--font-display); font-size: var(--text-xl); line-height: 1.15;
  color: var(--ol-red); margin: 0 0 var(--space-3); }
.ol-b .entry-content .lo .t small { font-family: var(--font-body); font-size: var(--text-sm); color: var(--text-muted);
  margin-left: var(--space-2); }
.ol-b .entry-content .lo p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .crs { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); margin: var(--space-5) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .crs { padding: var(--space-6); }
}
.ol-b .entry-content .crs-h { display: flex; align-items: flex-start; gap: var(--space-4); margin-bottom: var(--space-5); }
.ol-b .entry-content .crs-h .tag { flex: none; width: 38px; height: 38px; border-radius: 50%; background: var(--ol-turquoise);
  color: #fff; font-family: var(--font-display); font-size: var(--text-md); line-height: 38px;
  text-align: center; }
.ol-b .entry-content .crs.b .crs-h .tag { background: var(--ol-green); }
.ol-b .entry-content .crs.c .crs-h .tag { background: var(--ol-red); }
.ol-b .entry-content .crs-h h3 { margin: 0; font-family: var(--font-body); font-weight: 900; font-size: var(--text-lg);
  line-height: 1.35; }
.ol-b .entry-content .crs-h .who { margin: var(--space-1) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  color: var(--text-muted); line-height: 1.7; }
.ol-b .entry-content .days { list-style: none; margin: 0; padding: 0; }
.ol-b .entry-content .days li { display: grid; grid-template-columns: 1fr; gap: var(--space-1);
  padding: var(--space-4) 0; border-top: 1px solid var(--ol-line); }
@media (min-width: 620px) {
.ol-b .entry-content .days li { grid-template-columns: 5.4em 1fr; gap: var(--space-4); }
}
.ol-b .entry-content .days li:first-child { border-top: 0; padding-top: 0; }
.ol-b .entry-content .days b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--ol-red); }
.ol-b .entry-content .days span { font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .crs-n { margin: var(--space-4) 0 0; padding-top: var(--space-4); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .crs-n b { color: var(--ol-ink); }
.ol-b .entry-content .dt { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  overflow-x: auto; margin: var(--space-6) 0 0; -webkit-overflow-scrolling: touch; }
.ol-b .entry-content .dt table { border-collapse: collapse; width: 100%; min-width: 400px; }
.ol-b .entry-content .dt th, .ol-b .entry-content .dt td { padding: var(--space-3); text-align: right; white-space: nowrap;
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm);
  font-variant-numeric: tabular-nums; }
.ol-b .entry-content .dt thead th { border-top: 0; background: var(--ol-turquoise-tint); font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-xs); color: var(--ol-ink); }
.ol-b .entry-content .dt th:first-child, .ol-b .entry-content .dt td:first-child { text-align: left; font-family: var(--font-body); font-weight: 900; }
.ol-b .entry-content .dt tbody tr.on td { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .dt tbody tr.on td:first-child { box-shadow: inset 3px 0 0 var(--ol-turquoise-deep); }
.ol-b .entry-content .dt td .go { display: block; font-family: var(--font-text); font-size: var(--text-xs);
  font-weight: 400; color: var(--text-muted); margin-top: 2px; }
.ol-b .entry-content .dt .u { font-size: var(--text-xs); color: var(--text-faint); font-weight: 400; }
.ol-b .entry-content .dt-note { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .rules { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; counter-reset: rl; }
@media (min-width: 760px) {
.ol-b .entry-content .rules { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .rl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); padding-left: var(--space-8); position: relative; }
.ol-b .entry-content .rl::before { counter-increment: rl; content: counter(rl); position: absolute; left: var(--space-5);
  top: var(--space-5); width: 25px; height: 25px; border-radius: 50%; background: var(--ol-red);
  color: #fff; font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm);
  line-height: 25px; text-align: center; }
.ol-b .entry-content .rl h3 { margin: 0 0 var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.45; }
.ol-b .entry-content .rl p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- okinawa-beach-special --- */
.ol-b .entry-content .sui { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .sui { padding: var(--space-6); }
}
.ol-b .entry-content .sui .r { display: grid; grid-template-columns: 1fr; gap: 3px; padding: var(--space-2) 0; }
@media (min-width: 560px) {
.ol-b .entry-content .sui .r { grid-template-columns: 8.5em 1fr; align-items: center; gap: var(--space-4); }
}
.ol-b .entry-content .sui .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); }
.ol-b .entry-content .sui .tr { position: relative; height: 20px; background: var(--ol-sand); border-radius: var(--radius-pill); }
.ol-b .entry-content .sui .tr i { display: block; height: 100%; border-radius: var(--radius-pill); background: var(--ol-turquoise); }
.ol-b .entry-content .sui .r.hot .tr i { background: var(--ol-red); }
.ol-b .entry-content .sui .r.zero .tr i { background: var(--ol-green); }
.ol-b .entry-content .sui .tr b { position: absolute; top: 0; left: var(--space-3); line-height: 20px;
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-ink); }
.ol-b .entry-content .sui .cap { margin: var(--space-4) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); border-top: 1px dashed var(--ol-line); padding-top: var(--space-3); }
.ol-b .entry-content .age { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-2); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .age { grid-template-columns: repeat(10, 1fr); gap: var(--space-2); }
}
.ol-b .entry-content .ag { background: var(--surface-card); border-radius: var(--radius-md); box-shadow: var(--shadow-card);
  padding: var(--space-3) var(--space-2); text-align: center; }
.ol-b .entry-content .ag.hot { background: var(--ol-red-tint); }
.ol-b .entry-content .ag .y { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs);
  color: var(--text-muted); }
.ol-b .entry-content .ag .v { display: block; margin-top: 3px; font-family: var(--font-display); font-size: var(--text-md);
  line-height: 1.1; color: var(--ol-green-deep); }
.ol-b .entry-content .ag.hot .v { color: var(--ol-red); }
.ol-b .entry-content .ag .n { display: block; margin-top: 2px; font-family: var(--font-text); font-size: 10px; color: var(--text-faint); }
.ol-b .entry-content .bcat { margin: var(--space-8) 0 0; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); color: var(--ol-turquoise-deep);
  border-bottom: 2px solid var(--ol-turquoise-tint); padding-bottom: var(--space-2); }
.ol-b .entry-content .bgrid { display: grid; grid-template-columns: 1fr; gap: var(--space-3); margin: var(--space-4) 0 0; }
@media (min-width: 620px) {
.ol-b .entry-content .bgrid { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
}
@media (min-width: 980px) {
.ol-b .entry-content .bgrid { grid-template-columns: repeat(3, 1fr); }
}
.ol-b .entry-content .bcard { display: block; background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-4) var(--space-5); text-decoration: none; color: inherit;
  transition: transform .18s ease, box-shadow .18s ease; }
.ol-b .entry-content a.bcard:hover { transform: translateY(-2px); }
.ol-b .entry-content a.bcard .nm { text-decoration: underline; text-decoration-color: var(--ol-turquoise); text-underline-offset: 3px; }
.ol-b .entry-content .bcard .top { display: flex; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; }
.ol-b .entry-content .bcard .n { font-family: var(--font-body); font-size: 11px; font-weight: 900; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .bcard .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); line-height: 1.4; }
.ol-b .entry-content .bcard .mn { font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-faint); }
.ol-b .entry-content .bcard .kind { display: inline-block; margin-top: var(--space-2); font-family: var(--font-text);
  font-size: 10px; font-weight: 700; color: #fff; background: var(--ol-turquoise);
  border-radius: var(--radius-pill); padding: 2px var(--space-3); }
.ol-b .entry-content .bcard .kind.h { background: var(--ol-yellow-deep); }
.ol-b .entry-content .bcard .kind.n { background: var(--ol-red); }
.ol-b .entry-content .bcard p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.85; color: var(--text-muted); }
.ol-b .entry-content .kk { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .kk { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .kkc { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); }
.ol-b .entry-content .kkc .b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .kkc .m { font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-faint); }
.ol-b .entry-content .kkc .p { margin: var(--space-3) 0 0; font-family: var(--font-display); font-size: var(--text-lg);
  line-height: 1.2; color: var(--ol-red); }
.ol-b .entry-content .kkc p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .kkc a { display: inline-block; margin-top: var(--space-3); font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); text-decoration: none; }
.ol-b .entry-content .kkc a::after { content: ' \2197'; }
/* --- okinawa-car-rental --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .cos { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .cos { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .co { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: var(--space-5); }
.ol-b .entry-content .co-top { display: flex; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-2); }
.ol-b .entry-content .co-nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.35; }
.ol-b .entry-content .co-tag { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: #fff;
  background: var(--ol-turquoise); border-radius: var(--radius-pill); padding: 3px var(--space-3); white-space: nowrap; }
.ol-b .entry-content .co-tag.big { background: var(--ol-red); }
.ol-b .entry-content .co-tag.cheap { background: var(--ol-green); }
.ol-b .entry-content .co-b { margin: 0 0 var(--space-3); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .co-m { margin: 0; font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.85; color: var(--text-muted);
  border-top: 1px dashed var(--ol-line); padding-top: var(--space-3); }
.ol-b .entry-content .co-m b { color: var(--ol-red); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- okinawa-mango-guide --- */
.ol-b .entry-content .nowbox { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .nowbox b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .nowbox p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .nowbox .when { display: inline-block; margin-top: var(--space-3); padding: 4px 14px; border-radius: 999px;
  background: #fff; font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .ptbl { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .ptbl .r { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .ptbl .r:first-child { border-top: 0; }
.ol-b .entry-content .ptbl .r.hd { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .ptbl .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .ptbl .yen { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .ptbl .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .ptbl .r.out .yen { color: var(--text-faint); text-decoration: line-through; }
.ol-b .entry-content .vars { display: grid; gap: var(--space-5); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 820px) {
.ol-b .entry-content .vars { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
}
.ol-b .entry-content .vcard { background: var(--surface-card); border-radius: var(--radius-xl); box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .vcard .im { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ol-turquoise-tint); }
.ol-b .entry-content .vcard .im img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ol-b .entry-content .vcard .bd { padding: var(--space-5); }
.ol-b .entry-content .vcard h3 { margin: 0; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); }
.ol-b .entry-content .vcard .term { display: inline-block; margin-top: var(--space-2); padding: 3px 12px; border-radius: 999px;
  background: var(--ol-turquoise-tint); font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .vcard p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .shops { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .shops .s { padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .shops .s:first-child { border-top: 0; }
.ol-b .entry-content .shops .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .shops .hh { display: inline-block; margin-left: var(--space-3); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-xs); color: var(--ol-red); }
.ol-b .entry-content .shops p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; color: var(--text-muted); }
@media (min-width: 760px) {
.ol-b .entry-content .shops .s { padding: var(--space-5) var(--space-6); }
}
.ol-b .entry-content .steps { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; counter-reset: st; }
@media (min-width: 760px) {
.ol-b .entry-content .steps { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .step { position: relative; background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); }
.ol-b .entry-content .step::before { counter-increment: st; content: counter(st); display: inline-block;
  font-family: var(--font-display); font-size: var(--text-lg); color: var(--ol-turquoise-deep); line-height: 1; }
.ol-b .entry-content .step b { display: block; margin-top: var(--space-2); font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); }
.ol-b .entry-content .step p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .years { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .years .y { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.8; }
.ol-b .entry-content .years .y:first-child { border-top: 0; }
.ol-b .entry-content .years .y b { font-family: var(--font-body); font-weight: 900; white-space: nowrap; color: var(--ol-turquoise-deep); }
/* --- okinawa-roadside-stations-direct-sales --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .slist { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 720px) {
.ol-b .entry-content .slist { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .scard { display: block; background: var(--surface-card); border-radius: var(--radius-xl); box-shadow: var(--shadow-card);
  padding: var(--space-2); text-decoration: none; color: inherit;
  transition: transform var(--duration-fun) var(--ease-bounce), box-shadow var(--duration-fun) var(--ease-out); }
.ol-b .entry-content .scard:hover { transform: translateY(-5px) rotate(-.4deg); box-shadow: var(--shadow-float); }
.ol-b .entry-content .scard .sphoto { display: block; aspect-ratio: var(--ratio-photo); border-radius: var(--radius-lg);
  background: var(--ol-turquoise-tint); overflow: hidden; }
.ol-b .entry-content .scard .sphoto img { width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform var(--duration-fun) var(--ease-out); }
.ol-b .entry-content .scard:hover .sphoto img { transform: scale(1.05); }
.ol-b .entry-content .scard .sin { display: block; padding: var(--space-4) var(--space-3) var(--space-3); }
.ol-b .entry-content .scard .shead { display: flex; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-2); }
.ol-b .entry-content .scard .sname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.35; color: var(--ol-ink); }
.ol-b .entry-content .scard .skind { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: #fff;
  background: var(--ol-turquoise); border-radius: var(--radius-pill); padding: 3px var(--space-3); white-space: nowrap; }
.ol-b .entry-content .scard .skind.eki { background: var(--ol-red); }
.ol-b .entry-content .scard .skind.umi { background: var(--ol-green); }
.ol-b .entry-content .scard .sarea { font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-faint); }
.ol-b .entry-content .scard .sell { display: block; margin: 0 0 var(--space-3); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-body); }
.ol-b .entry-content .scard .smeta { display: block; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted);
  border-top: 1px dashed var(--ol-line); padding-top: var(--space-3); }
.ol-b .entry-content .scenes { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .scenes { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .scene { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: var(--space-5); }
.ol-b .entry-content .sc-route { display: inline-block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs);
  color: #fff; background: var(--ol-red); border-radius: var(--radius-pill); padding: 4px var(--space-3);
  margin-bottom: var(--space-3); letter-spacing: .02em; }
.ol-b .entry-content .sc-ttl { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md);
  line-height: 1.45; margin-bottom: var(--space-2); color: var(--ol-ink); }
.ol-b .entry-content .sc-body { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; color: var(--text-body); }
.ol-b .entry-content .sc-body a { font-weight: 700; }
.ol-b .entry-content .scard .smeta b { color: var(--ol-red); font-weight: 700; }
.ol-b .entry-content .arealab { display: flex; align-items: center; gap: var(--space-3); margin: var(--space-8) 0 0;
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .arealab::after { content: ''; flex: 1; height: 2px; background: var(--ol-turquoise-tint); border-radius: 2px; }
.ol-b .entry-content .arealab:first-child { margin-top: var(--space-6); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- okinawa-sightseeing-spots --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .slist { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-5) 0 0; }
.ol-b .entry-content .srow { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .srow:first-child { border-top: 0; }
.ol-b .entry-content .sname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; margin: 0; }
.ol-b .entry-content .sname .num { display: inline-block; min-width: 26px; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .sfee { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); white-space: nowrap; justify-self: end; color: var(--ol-red); }
.ol-b .entry-content .sfee.free { color: var(--ol-green-deep); }
.ol-b .entry-content .snote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .acat { display: flex; align-items: center; gap: var(--space-3); margin: var(--space-8) 0 0;
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .acat::after { content: ''; flex: 1; height: 2px; background: var(--ol-turquoise-tint); border-radius: 2px; }
.ol-b .entry-content .sgrid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin: var(--space-5) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .sgrid { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}
@media (min-width: 1100px) {
.ol-b .entry-content .sgrid { grid-template-columns: repeat(4, 1fr); }
}
.ol-b .entry-content .scard2 { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  overflow: hidden; display: flex; flex-direction: column; }
.ol-b .entry-content .sc-img { display: block; aspect-ratio: 1 / 1; background: var(--ol-line); overflow: hidden; position: relative; }
.ol-b .entry-content .sc-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ol-b .entry-content .sc-fee { position: absolute; left: 0; bottom: 0; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-xs); color: #fff; background: var(--ol-red); padding: 4px var(--space-3);
  border-radius: 0 var(--radius-md) 0 0; }
.ol-b .entry-content .sc-fee.free { background: var(--ol-green); }
.ol-b .entry-content .sc-in { padding: var(--space-4); display: flex; flex-direction: column; gap: 5px; flex: 1; }
.ol-b .entry-content .sc-nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); line-height: 1.45; color: var(--ol-ink); }
.ol-b .entry-content .sc-nm .n { display: inline-block; min-width: 22px; font-size: 11px; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .sc-nt { margin: 0; font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.85; color: var(--text-muted); }
.ol-b .entry-content a.scard2 { text-decoration: none; color: inherit; transition: transform .18s ease, box-shadow .18s ease; }
.ol-b .entry-content a.scard2:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(43,36,32,.16); }
.ol-b .entry-content a.scard2 .sc-img img { transition: transform .35s ease; }
.ol-b .entry-content a.scard2:hover .sc-img img { transform: scale(1.05); }
.ol-b .entry-content .sc-more { margin-top: auto; padding-top: var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: 11px; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .sc-more::after { content: ' \2192'; }
.ol-b .entry-content .scenes { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .scenes { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .scene { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: var(--space-5); }
.ol-b .entry-content .sc-route { display: inline-block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs);
  color: #fff; background: var(--ol-red); border-radius: var(--radius-pill); padding: 4px var(--space-3);
  margin-bottom: var(--space-3); letter-spacing: .02em; }
.ol-b .entry-content .sc-ttl { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md);
  line-height: 1.45; margin-bottom: var(--space-2); color: var(--ol-ink); }
.ol-b .entry-content .sc-body { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; color: var(--text-body); }
.ol-b .entry-content .sc-body a { font-weight: 700; }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .sc-img.noimg { display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--ol-turquoise-tint) 0%, var(--ol-sand) 100%); }
.ol-b .entry-content .sc-img.noimg .ph { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs);
  color: var(--ol-ink-faint); letter-spacing: .04em; }
/* --- okinawa-soba-shops --- */
.ol-b .entry-content .ptable { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .ptable .prow { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .ptable .prow:first-child { border-top: 0; }
.ol-b .entry-content .ptable .pname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; margin: 0; }
.ol-b .entry-content .ptable .pname .sub { font-family: var(--font-text); font-weight: 400; font-size: var(--text-sm); color: var(--text-faint); margin-left: var(--space-2); }
.ol-b .entry-content .ptable .pprice { display: flex; align-items: baseline; gap: var(--space-2); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .ptable .now { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); }
.ol-b .entry-content .ptable .pnote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); line-height: 1.9; }
.ol-b .entry-content .ptable .phead { background: var(--ol-turquoise-tint); padding: var(--space-3) var(--space-5); font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--ol-turquoise-deep); letter-spacing: .04em; }
.ol-b .entry-content .ptable .shop { grid-column: 1 / -1; margin: 0 0 var(--space-1); font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); }
.ol-b .entry-content .ptable .shop .area { font-family: var(--font-text); font-weight: 400; font-size: var(--text-xs); color: var(--text-faint); margin-left: var(--space-2); }
.ol-b .entry-content .ptable .items { grid-column: 1 / -1; display: grid; gap: var(--space-1); margin: 0; }
.ol-b .entry-content .ptable .item { display: grid; grid-template-columns: 1fr auto; gap: var(--space-3); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .ptable .item b { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .prose blockquote { margin: var(--space-5) 0 0; padding: var(--space-4) var(--space-5);
  background: var(--surface-card); border-left: 3px solid var(--ol-turquoise);
  border-radius: 0 var(--radius-md) var(--radius-md) 0; box-shadow: var(--shadow-card); }
.ol-b .entry-content .prose blockquote p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 2; color: var(--text-body); }
/* --- okinawa-travel-guide/northern-okinawa-guide --- */
.ol-b .entry-content .nh-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .nh-notice b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .nh-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .nh-areas { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .nh-areas { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}
.ol-b .entry-content .nh-area { background: var(--surface-card); border-radius: var(--radius-xl); padding: var(--space-5);
  box-shadow: var(--shadow-card); }
.ol-b .entry-content .nh-area b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); }
.ol-b .entry-content .nh-area .kk { display: block; margin-top: 2px; font-family: var(--font-display); font-weight: 400;
  font-size: var(--text-xs); letter-spacing: .12em; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .nh-area p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .nh-plans { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 760px) {
.ol-b .entry-content .nh-plans { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}
.ol-b .entry-content .nh-plan { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-top: 6px solid var(--ol-turquoise-deep); }
.ol-b .entry-content .nh-plan.red { border-top-color: var(--ol-red); }
.ol-b .entry-content .nh-plan.grn { border-top-color: var(--ol-green); }
.ol-b .entry-content .nh-plan b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .nh-plan .who { display: block; margin-top: 2px; font-family: var(--font-text); font-size: var(--text-xs);
  color: var(--ol-turquoise-deep); font-weight: 700; }
.ol-b .entry-content .nh-plan ol { margin: var(--space-4) 0 0; padding-left: 1.3em; }
.ol-b .entry-content .nh-plan li { font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; margin-bottom: 4px; }
.ol-b .entry-content .nh-list { display: grid; gap: var(--space-5); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 820px) {
.ol-b .entry-content .nh-list { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
}
.ol-b .entry-content .nh-card { background: var(--surface-card); border-radius: var(--radius-xl); box-shadow: var(--shadow-card);
  overflow: hidden; display: flex; flex-direction: column; }
.ol-b .entry-content .nh-card .pic { display: block; aspect-ratio: 3 / 2; background: var(--ol-turquoise-tint); overflow: hidden; }
.ol-b .entry-content .nh-card .pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ol-b .entry-content .nh-card .body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.ol-b .entry-content .nh-card h3 { margin: 0; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .nh-card .town { font-family: var(--font-text); font-size: var(--text-xs); color: var(--ol-turquoise-deep); font-weight: 700; }
.ol-b .entry-content .nh-card p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .nh-card .data { margin: var(--space-2) 0 0; padding: var(--space-3) var(--space-4);
  background: var(--ol-turquoise-tint); border-radius: var(--radius-lg);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.9; }
.ol-b .entry-content .nh-card .data b { font-family: var(--font-body); font-weight: 900; }
.ol-b .entry-content .nh-card .link { margin-top: auto; padding-top: var(--space-3); font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-sm); }
.ol-b .entry-content .nh-card .link a::after { content: ' →'; white-space: nowrap; }
.ol-b .entry-content .nh-card.nh-warn .data { background: #FDE8E4; }
.ol-b .entry-content .nh-fee { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .nh-fee .r { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.8; }
.ol-b .entry-content .nh-fee .r:first-child { border-top: 0; }
.ol-b .entry-content .nh-fee .r.head { background: var(--ol-turquoise-tint); font-family: var(--font-body); font-weight: 900; }
.ol-b .entry-content .nh-fee .r span:last-child { font-family: var(--font-body); font-weight: 900; white-space: nowrap; color: var(--ol-red); }
.ol-b .entry-content .nh-chg { margin: var(--space-6) 0 0; display: grid; gap: var(--space-4); }
@media (min-width: 780px) {
.ol-b .entry-content .nh-chg { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .nh-ch { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-red); }
.ol-b .entry-content .nh-ch .when { display: inline-block; padding: 3px 12px; border-radius: 999px; background: var(--ol-turquoise-tint);
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .nh-ch b { display: block; margin-top: var(--space-3); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .nh-ch p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .nh-times { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .nh-times .r { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.8; }
.ol-b .entry-content .nh-times .r:first-child { border-top: 0; }
.ol-b .entry-content .nh-times .r span:last-child { font-family: var(--font-body); font-weight: 900; white-space: nowrap; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .nh-fig { margin: var(--space-6) 0 0; }
.ol-b .entry-content .nh-fig img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); display: block; }
.ol-b .entry-content .nh-fig figcaption { margin-top: var(--space-3); font-family: var(--font-text);
  font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
/* --- okuma-beach --- */
.ol-b .entry-content .ok-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .ok-notice b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .ok-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .ok-hours { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .ok-hours .h { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.8; }
.ol-b .entry-content .ok-hours .h:first-child { border-top: 0; }
.ol-b .entry-content .ok-hours .h.peak { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .ok-hours .h b { font-family: var(--font-body); font-weight: 900; white-space: nowrap; color: var(--ol-red); }
.ol-b .entry-content .ok-pass { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .ok-pass .p { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .ok-pass .p:first-child { border-top: 0; }
.ol-b .entry-content .ok-pass .p.hd { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .ok-pass .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .ok-pass .yen { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .ok-pass .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .ok-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .ok-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .ok-info .i:first-child { border-top: 0; }
.ol-b .entry-content .ok-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .ok-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .ok-info .k { font-size: var(--text-sm); }
}
/* --- orion-happy-park --- */
.ol-b .entry-content .or-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .or-notice > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .or-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .or-fee { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .or-fee .r { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .or-fee .r:first-child { border-top: 0; }
.ol-b .entry-content .or-fee .r.hd { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .or-fee .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .or-fee .yen { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .or-fee .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .or-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--space-2);
  margin: var(--space-6) 0 0; }
.ol-b .entry-content .or-week .d { background: var(--surface-card); border-radius: var(--radius-md); box-shadow: var(--shadow-card);
  padding: var(--space-3) var(--space-2); text-align: center; }
.ol-b .entry-content .or-week .d .wd { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base);
  line-height: 1.3; }
.ol-b .entry-content .or-week .d .st { display: block; margin-top: 4px; font-family: var(--font-text); font-size: 11px;
  line-height: 1.5; color: var(--text-muted); }
.ol-b .entry-content .or-week .d.open .wd { color: var(--ol-turquoise-deep); }
.ol-b .entry-content .or-week .d.half .wd { color: var(--ol-red); }
.ol-b .entry-content .or-week .d.closed { background: #F1EEE8; }
.ol-b .entry-content .or-week .d.closed .wd { color: var(--text-faint); }
.ol-b .entry-content .or-flow { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .or-flow .s { padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .or-flow .s:first-child { border-top: 0; }
.ol-b .entry-content .or-flow .pt { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--ol-turquoise-tint);
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .or-flow .nm { display: inline-block; margin-left: var(--space-3); font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-base); }
.ol-b .entry-content .or-flow p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .or-tips { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 760px) {
.ol-b .entry-content .or-tips { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .or-tip { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-turquoise-deep); }
.ol-b .entry-content .or-tip.hot { border-left-color: var(--ol-red); }
.ol-b .entry-content .or-tip > b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .or-tip p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .or-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .or-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .or-info .i:first-child { border-top: 0; }
.ol-b .entry-content .or-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .or-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .or-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .gmap { margin: var(--space-6) 0 0; }
.ol-b .entry-content .gmap iframe { display: block; width: 100%; height: clamp(260px, 44vw, 380px); border: 0;
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card); background: var(--surface-card); }
.ol-b .entry-content .gmap .gml { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: var(--space-3) 0 0; }
.ol-b .entry-content .gmap .gml a { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700;
  letter-spacing: .02em; color: var(--link-color); }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- rikarika-warumi --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- rokutabara-observatory --- */
.ol-b .entry-content .mt-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .mt-notice b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .mt-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .mt-view { margin: var(--space-6) 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-3); }
.ol-b .entry-content .mt-view div { padding: var(--space-4); background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.85; }
.ol-b .entry-content .mt-view b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base);
  color: var(--ol-turquoise-deep); margin-bottom: 4px; }
.ol-b .entry-content .mt-layer { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .mt-layer .l { padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .mt-layer .l:first-child { border-top: 0; }
.ol-b .entry-content .mt-layer .l b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); }
.ol-b .entry-content .mt-layer .l.hit b { color: var(--ol-red); }
.ol-b .entry-content .mt-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .mt-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .mt-info .i:first-child { border-top: 0; }
.ol-b .entry-content .mt-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .mt-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .mt-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .mt-fig { margin: var(--space-6) 0 0; }
.ol-b .entry-content .mt-fig img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); display: block; }
.ol-b .entry-content .mt-fig figcaption { margin-top: var(--space-3); font-family: var(--font-text);
  font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
/* --- seekwaser-park --- */
.ol-b .entry-content .sk-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .sk-notice b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .sk-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .sk-hours { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .sk-hours .h { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.8; }
.ol-b .entry-content .sk-hours .h:first-child { border-top: 0; }
.ol-b .entry-content .sk-hours .h.wknd { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .sk-hours .h b { font-family: var(--font-body); font-weight: 900; white-space: nowrap; color: var(--ol-red); }
.ol-b .entry-content .sk-season { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .sk-season .s { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .sk-season .s:first-child { border-top: 0; }
.ol-b .entry-content .sk-season .mo { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-red); }
@media (min-width: 700px) {
.ol-b .entry-content .sk-season .s { grid-template-columns: 108px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .sk-season .mo { font-size: var(--text-sm); }
}
.ol-b .entry-content .sk-menu { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .sk-menu .m { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-3) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.8; }
.ol-b .entry-content .sk-menu .m:first-child { border-top: 0; }
.ol-b .entry-content .sk-menu .m.hd { background: var(--ol-turquoise-tint); font-family: var(--font-body); font-weight: 900; }
.ol-b .entry-content .sk-menu .m span:last-child { white-space: nowrap; font-family: var(--font-body); font-weight: 900; }
.ol-b .entry-content .sk-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .sk-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .sk-info .i:first-child { border-top: 0; }
.ol-b .entry-content .sk-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .sk-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .sk-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .sk-fig { margin: var(--space-6) 0 0; }
.ol-b .entry-content .sk-fig img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); display: block; }
.ol-b .entry-content .sk-fig figcaption { margin-top: var(--space-3); font-family: var(--font-text);
  font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
/* --- sekirinzan-discount-tickets --- */
.ol-b .entry-content .as-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .as-notice b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .as-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .as-fee { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .as-fee .r { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .as-fee .r:first-child { border-top: 0; }
.ol-b .entry-content .as-fee .r.hd { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .as-fee .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .as-fee .yen { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .as-fee .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .as-course { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .as-course .c { padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .as-course .c:first-child { border-top: 0; }
.ol-b .entry-content .as-course .pt { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--ol-turquoise-tint);
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .as-course .nm { display: inline-block; margin-left: var(--space-3); font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-base); }
.ol-b .entry-content .as-course p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .as-tips { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 760px) {
.ol-b .entry-content .as-tips { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .as-tip { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-turquoise-deep); }
.ol-b .entry-content .as-tip.hot { border-left-color: var(--ol-red); }
.ol-b .entry-content .as-tip b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .as-tip p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .as-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .as-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .as-info .i:first-child { border-top: 0; }
.ol-b .entry-content .as-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .as-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .as-info .k { font-size: var(--text-sm); }
}
/* --- seven-waterfalls-of-kinyoka --- */
.ol-b .entry-content .nt-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .nt-notice b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .nt-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .nt-sign { margin: var(--space-6) auto 0; max-width: 520px; padding: var(--space-6);
  background: var(--surface-card); border: 3px solid var(--ol-red); border-radius: var(--radius-lg);
  text-align: center; box-shadow: var(--shadow-card); }
.ol-b .entry-content .nt-sign .jp { display: block; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-lg); line-height: 1.7; letter-spacing: .08em; }
.ol-b .entry-content .nt-sign .en { display: block; margin-top: var(--space-3); font-family: var(--font-text);
  font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); letter-spacing: .04em; }
.ol-b .entry-content .nt-sign .cap { display: block; margin-top: var(--space-4); font-family: var(--font-text);
  font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .nt-theory { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .nt-theory .t { padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .nt-theory .t:first-child { border-top: 0; }
.ol-b .entry-content .nt-theory .t b { display: block; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-base); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .nt-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .nt-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .nt-info .i:first-child { border-top: 0; }
.ol-b .entry-content .nt-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .nt-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .nt-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .nt-fig { margin: var(--space-6) 0 0; }
.ol-b .entry-content .nt-fig img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); display: block; }
.ol-b .entry-content .nt-fig figcaption { margin-top: var(--space-3); font-family: var(--font-text);
  font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
/* --- souvenirs-only-available-in-okinawa --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .olist { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-5) 0 0; }
.ol-b .entry-content .orow { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .orow:first-child { border-top: 0; }
.ol-b .entry-content .oname { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; margin: 0; }
.ol-b .entry-content .oname .num { display: inline-block; min-width: 26px; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .oband { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--ol-red); white-space: nowrap; justify-self: end; }
.ol-b .entry-content .onote { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .onote .maker { color: var(--ol-turquoise-deep); font-weight: 700; }
.ol-b .entry-content .otag { display: inline-block; font-family: var(--font-text); font-size: 11px; font-weight: 700; color: #fff;
  background: var(--ol-turquoise); border-radius: var(--radius-pill); padding: 2px 9px; margin-left: var(--space-2); vertical-align: 2px; }
.ol-b .entry-content .otag.air { background: var(--ol-red); }
.ol-b .entry-content .otag.cold { background: var(--ol-purple); }
.ol-b .entry-content .ocat { display: flex; align-items: center; gap: var(--space-3); margin: var(--space-8) 0 0;
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-turquoise-deep); }
.ol-b .entry-content .ocat::after { content: ''; flex: 1; height: 2px; background: var(--ol-turquoise-tint); border-radius: 2px; }
.ol-b .entry-content .ogrid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin: var(--space-5) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .ogrid { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}
@media (min-width: 1100px) {
.ol-b .entry-content .ogrid { grid-template-columns: repeat(4, 1fr); }
}
.ol-b .entry-content .ocard { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  overflow: hidden; display: flex; flex-direction: column; }
.ol-b .entry-content .oc-img { display: block; aspect-ratio: 1 / 1; background: var(--ol-line); overflow: hidden; }
.ol-b .entry-content .oc-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ol-b .entry-content .oc-body { padding: var(--space-4); display: flex; flex-direction: column; gap: 5px; flex: 1; }
.ol-b .entry-content .oc-name { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); line-height: 1.45; color: var(--ol-ink); }
.ol-b .entry-content .oc-band { font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm); color: var(--ol-red); }
.ol-b .entry-content .oc-note { font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.85; color: var(--text-muted); margin: 0; }
.ol-b .entry-content .oc-note .maker { color: var(--ol-turquoise-deep); font-weight: 700; }
.ol-b .entry-content .oc-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.ol-b .entry-content .picks { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .picks { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .pick { display: flex; gap: var(--space-4); background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .pk-img { width: 124px; flex-shrink: 0; background: var(--ol-line); }
.ol-b .entry-content .pk-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ol-b .entry-content .pk-body { padding: var(--space-4) var(--space-4) var(--space-4) 0; display: flex; flex-direction: column; gap: 4px; justify-content: center; }
.ol-b .entry-content .pk-for { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: #fff;
  background: var(--ol-turquoise); border-radius: var(--radius-pill); padding: 3px var(--space-3); align-self: flex-start; }
.ol-b .entry-content .pk-name { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pk-note { margin: 0; font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.85; color: var(--text-muted); }
@media (min-width: 700px) {
.ol-b .entry-content .pk-img { width: 148px; }
}
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- tahtaki --- */
.ol-b .entry-content .tt-alert { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .tt-alert b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .tt-alert p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .tt-fee { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .tt-fee .r { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: baseline; }
.ol-b .entry-content .tt-fee .r:first-child { border-top: 0; }
.ol-b .entry-content .tt-fee .r.hd { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .tt-fee .nm { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .tt-fee .yen { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); color: var(--ol-red); white-space: nowrap; }
.ol-b .entry-content .tt-fee .sub { grid-column: 1 / -1; margin: 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tt-gear { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 760px) {
.ol-b .entry-content .tt-gear { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .tt-item { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-turquoise-deep); }
.ol-b .entry-content .tt-item.must { border-left-color: var(--ol-red); }
.ol-b .entry-content .tt-item b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.5; }
.ol-b .entry-content .tt-item p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .tt-age { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .tt-age .a { padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tt-age .a:first-child { border-top: 0; }
.ol-b .entry-content .tt-age .who { display: inline-block; padding: 2px 12px; border-radius: 999px; background: var(--ol-turquoise-tint);
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .tt-age p { margin: var(--space-2) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tt-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .tt-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .tt-info .i:first-child { border-top: 0; }
.ol-b .entry-content .tt-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .tt-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .tt-info .k { font-size: var(--text-sm); }
}
/* --- tokushu --- */
.ol-b .entry-content .tgrp { margin: var(--space-8) 0 0; }
.ol-b .entry-content .tgrp:first-of-type { margin-top: var(--space-6); }
.ol-b .entry-content .tgrp > h2 { margin: 0 0 var(--space-2); font-family: var(--font-display);
  font-size: var(--text-lg); line-height: 1.3; color: var(--ol-ink); }
.ol-b .entry-content .tgrp > p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tcards { display: grid; grid-template-columns: 1fr; gap: var(--space-4); margin: var(--space-5) 0 0; }
@media (min-width: 620px) {
.ol-b .entry-content .tcards { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
@media (min-width: 980px) {
.ol-b .entry-content .tcards { grid-template-columns: repeat(3, 1fr); }
}
.ol-b .entry-content .tkc { display: block; background: var(--surface-card); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card); padding: var(--space-2); text-decoration: none; color: inherit;
  transition: transform var(--duration-fun) var(--ease-bounce), box-shadow var(--duration-fun) var(--ease-out); }
.ol-b .entry-content .tkc:hover { transform: translateY(-5px) rotate(-.5deg); box-shadow: var(--shadow-float); }
.ol-b .entry-content .tkc .im { display: block; aspect-ratio: var(--ratio-photo); border-radius: var(--radius-lg);
  background: var(--ol-turquoise-tint); overflow: hidden; }
.ol-b .entry-content .tkc .im img { width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform var(--duration-fun) var(--ease-out); }
.ol-b .entry-content .tkc:hover .im img { transform: scale(1.06); }
.ol-b .entry-content .tkc .bd { display: block; padding: var(--space-4) var(--space-3) var(--space-3); }
.ol-b .entry-content .tkc .nm { display: block; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.4; color: var(--ol-ink); }
.ol-b .entry-content .tkc .dc { display: block; margin-top: var(--space-2); font-family: var(--font-text);
  font-size: var(--text-xs); line-height: 1.85; color: var(--text-muted); }
/* --- toyosaki --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .fig.wide img { object-position: center bottom; }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- travel-guide --- */
.ol-b .entry-content .mb { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4) var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .mb { padding: var(--space-6); }
}
.ol-b .entry-content .mb .lg { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: 0;
  font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); }
.ol-b .entry-content .mb .lg span { display: inline-flex; align-items: center; gap: 5px; }
.ol-b .entry-content .mb .lg i { width: 13px; height: 9px; border-radius: var(--radius-pill); background: var(--ol-turquoise); }
.ol-b .entry-content .mb .lg i.hi { background: var(--ol-red); }
.ol-b .entry-content .mb .lg i.lo { background: var(--ol-green); }
.ol-b .entry-content .mb .lg i.av { width: 13px; height: 0; border-top: 2px dashed var(--ol-ink-faint); background: none; }
.ol-b .entry-content .plot { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px;
  align-items: end; height: 186px; margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .plot { height: 246px; gap: var(--space-2); }
}
.ol-b .entry-content .plot .avg { position: absolute; left: 0; right: 0; bottom: 80%; height: 0;
  border-top: 2px dashed var(--ol-ink-faint); opacity: .8; }
.ol-b .entry-content .plot .avg b { position: absolute; right: 0; top: -18px; font-family: var(--font-text);
  font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .plot .bar { position: relative; width: 100%; border-radius: 6px 6px 0 0;
  background: var(--ol-turquoise); }
.ol-b .entry-content .plot .bar.hi { background: var(--ol-red); }
.ol-b .entry-content .plot .bar.lo { background: var(--ol-green); }
.ol-b .entry-content .plot .bar b { position: absolute; top: 6px; left: 0; right: 0; text-align: center;
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: #fff;
  font-variant-numeric: tabular-nums; }
@media (min-width: 700px) {
.ol-b .entry-content .plot .bar b { top: 10px; font-size: var(--text-sm); }
}
.ol-b .entry-content .axis { display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px;
  border-top: 1px solid var(--ol-line); padding-top: var(--space-2); }
@media (min-width: 700px) {
.ol-b .entry-content .axis { gap: var(--space-2); }
}
.ol-b .entry-content .axis span { text-align: center; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-xs); color: var(--text-muted); white-space: nowrap; }
.ol-b .entry-content .axis small { font-size: .78em; font-weight: 400; margin-left: .5px; }
@media (max-width: 429px) {
.ol-b .entry-content .axis small { display: none; }
}
@media (min-width: 700px) {
.ol-b .entry-content .axis span { font-size: var(--text-sm); }
}
.ol-b .entry-content .mb .cap { margin: var(--space-4) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); border-top: 1px dashed var(--ol-line); padding-top: var(--space-3); }
.ol-b .entry-content .dt { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  overflow-x: auto; margin: var(--space-6) 0 0; -webkit-overflow-scrolling: touch; }
.ol-b .entry-content .dt table { border-collapse: collapse; width: 100%; min-width: 460px; }
.ol-b .entry-content .dt th, .ol-b .entry-content .dt td { padding: var(--space-3) var(--space-3); text-align: right; white-space: nowrap;
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm);
  font-variant-numeric: tabular-nums; }
.ol-b .entry-content .dt thead th { border-top: 0; background: var(--ol-turquoise-tint); font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-xs); color: var(--ol-ink); position: sticky; top: 0; }
.ol-b .entry-content .dt th:first-child, .ol-b .entry-content .dt td:first-child { text-align: left; font-family: var(--font-body); font-weight: 900; }
.ol-b .entry-content .dt tbody tr.on td { background: var(--ol-yellow-tint); }
.ol-b .entry-content .dt tbody tr.on td:first-child { box-shadow: inset 3px 0 0 var(--ol-yellow-deep); }
.ol-b .entry-content .dt .u { font-size: var(--text-xs); color: var(--text-faint); font-weight: 400; }
.ol-b .entry-content .dt-note { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .dt.w6 table { min-width: 640px; }
.ol-b .entry-content .dt-scroll { display: none; margin: var(--space-5) 0 calc(var(--space-2) * -1); font-family: var(--font-text);
  font-size: var(--text-xs); font-weight: 700; color: var(--ol-turquoise-deep); }
@media (max-width: 739px) {
.ol-b .entry-content .dt-scroll { display: block; }
}
.ol-b .entry-content .picks { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .picks { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .pk { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5); }
.ol-b .entry-content .pk .w { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint);
  letter-spacing: .04em; margin: 0 0 var(--space-1); }
.ol-b .entry-content .pk .mo { font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.3; color: var(--ol-red);
  margin: 0 0 var(--space-3); }
.ol-b .entry-content .pk .mo small { font-family: var(--font-body); font-size: var(--text-sm); color: var(--text-muted);
  margin-left: var(--space-2); }
.ol-b .entry-content .pk p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .mlinks { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-2); margin: var(--space-6) 0 0; }
@media (min-width: 620px) {
.ol-b .entry-content .mlinks { grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
}
@media (min-width: 900px) {
.ol-b .entry-content .mlinks { grid-template-columns: repeat(4, 1fr); }
}
.ol-b .entry-content .mlinks a { display: block; background: var(--surface-card); border-radius: var(--radius-md);
  box-shadow: var(--shadow-card); padding: var(--space-3) var(--space-4); text-decoration: none; color: inherit; }
.ol-b .entry-content .mlinks a:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .mlinks .n { display: block; font-family: var(--font-display); font-size: var(--text-md);
  color: var(--ol-turquoise-deep); line-height: 1.2; }
.ol-b .entry-content .mlinks .s { display: block; font-family: var(--font-text); font-size: var(--text-xs);
  color: var(--text-muted); line-height: 1.6; margin-top: 2px; }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
/* --- typhoon-in-okinawa --- */
.ol-b .entry-content .ty { display: none; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); padding: var(--space-5) var(--space-4);
  margin: var(--space-6) 0 0; border-top: 5px solid var(--ol-turquoise); }
.ol-b .entry-content .ty.on { display: block; }
@media (min-width: 700px) {
.ol-b .entry-content .ty { padding: var(--space-6); }
}
.ol-b .entry-content .ty-head { display: flex; align-items: baseline; gap: var(--space-3); flex-wrap: wrap;
  margin-bottom: var(--space-4); }
.ol-b .entry-content .ty-head b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); }
.ol-b .entry-content .ty-head span { font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-faint); }
.ol-b .entry-content .ty-card { border: 2px solid var(--ol-line); border-radius: var(--radius-md);
  padding: var(--space-4); margin-bottom: var(--space-3); }
.ol-b .entry-content .ty-card.hot { border-color: var(--ol-red); background: var(--ol-red-tint); }
.ol-b .entry-content .ty-top { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap;
  margin-bottom: var(--space-2); }
.ol-b .entry-content .ty-top b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.35; }
.ol-b .entry-content .ty-b { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: #fff;
  background: var(--ol-turquoise); border-radius: var(--radius-pill); padding: 3px var(--space-3);
  white-space: nowrap; }
.ol-b .entry-content .ty-b.hot { background: var(--ol-red); }
.ol-b .entry-content .ty-spec, .ol-b .entry-content .ty-loc, .ol-b .entry-content .ty-near { margin: 0 0 var(--space-1); font-family: var(--font-text);
  font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .ty-spec { color: var(--text-muted); font-variant-numeric: tabular-nums; }
.ol-b .entry-content .ty-near { color: var(--ol-ink); }
.ol-b .entry-content .ty-near b { color: var(--ol-red); }
.ol-b .entry-content .ty-near.far { color: var(--text-muted); }
.ol-b .entry-content .ty-none { margin: 0; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md);
  color: var(--ol-green-deep); }
.ol-b .entry-content .ty-note { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.85; color: var(--text-muted); }
.ol-b .entry-content .ty-link { display: inline-block; margin-top: var(--space-4); font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-sm); color: var(--ol-turquoise-deep); text-decoration: none; }
.ol-b .entry-content .ty-link::after { content: ' \2192'; }
.ol-b .entry-content .cd { margin: var(--space-6) 0 0; }
.ol-b .entry-content .cd-row { display: grid; grid-template-columns: 1fr; gap: var(--space-2);
  background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin-bottom: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .cd-row { grid-template-columns: 7.5em 1fr; gap: var(--space-5);
  padding: var(--space-5) var(--space-6); }
}
.ol-b .entry-content .cd-w { font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.2;
  color: var(--ol-turquoise-deep); }
.ol-b .entry-content .cd-row.hot .cd-w { color: var(--ol-red); }
.ol-b .entry-content .cd-b h3 { margin: 0 0 var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-md); line-height: 1.45; }
.ol-b .entry-content .cd-b p { margin: 0 0 var(--space-2); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; }
.ol-b .entry-content .cd-b p:last-child { margin-bottom: 0; }
.ol-b .entry-content .lk { display: grid; gap: var(--space-3); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .lk { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
}
.ol-b .entry-content .lk a { display: block; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); padding: var(--space-4) var(--space-5);
  text-decoration: none; color: inherit; }
.ol-b .entry-content .lk a:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .lk b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-sm);
  color: var(--ol-turquoise-deep); }
.ol-b .entry-content .lk b::after { content: ' \2197'; font-size: .85em; }
.ol-b .entry-content .lk span { display: block; margin-top: 3px; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .mb { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4) var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .mb { padding: var(--space-6); }
}
.ol-b .entry-content .plot { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px;
  align-items: end; height: 170px; margin: var(--space-5) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .plot { height: 220px; gap: var(--space-2); }
}
.ol-b .entry-content .plot .bar { position: relative; width: 100%; border-radius: 6px 6px 0 0; background: var(--ol-turquoise); }
.ol-b .entry-content .plot .bar.hi { background: var(--ol-red); }
.ol-b .entry-content .plot .bar.zero { background: var(--ol-line); }
.ol-b .entry-content .plot .bar b { position: absolute; top: -17px; left: 0; right: 0; text-align: center;
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--text-muted); }
.ol-b .entry-content .axis { display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px;
  border-top: 1px solid var(--ol-line); padding-top: var(--space-2); }
@media (min-width: 700px) {
.ol-b .entry-content .axis { gap: var(--space-2); }
}
.ol-b .entry-content .axis span { text-align: center; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-xs); color: var(--text-muted); white-space: nowrap; }
.ol-b .entry-content .axis small { font-size: .78em; font-weight: 400; }
@media (max-width: 429px) {
.ol-b .entry-content .axis small { display: none; }
}
.ol-b .entry-content .mb .cap { margin: var(--space-4) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); border-top: 1px dashed var(--ol-line); padding-top: var(--space-3); }
/* --- when-does-the-rainy-season-end-in-okinawa --- */
.ol-b .entry-content .mb { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4) var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .mb { padding: var(--space-6); }
}
.ol-b .entry-content .mb .lg { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: 0;
  font-family: var(--font-text); font-size: var(--text-xs); color: var(--text-muted); }
.ol-b .entry-content .mb .lg span { display: inline-flex; align-items: center; gap: 5px; }
.ol-b .entry-content .mb .lg i { width: 13px; height: 9px; border-radius: var(--radius-pill); background: var(--ol-turquoise); }
.ol-b .entry-content .mb .lg i.hi { background: var(--ol-red); }
.ol-b .entry-content .mb .lg i.av { width: 13px; height: 0; border-top: 2px dashed var(--ol-ink-faint); background: none; }
.ol-b .entry-content .plot { position: relative; display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--space-2);
  align-items: end; height: 200px; margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .plot { height: 264px; gap: var(--space-3); }
}
.ol-b .entry-content .plot .avg { position: absolute; left: 0; right: 0; bottom: 50%; height: 0;
  border-top: 2px dashed var(--ol-ink-faint); opacity: .8; }
.ol-b .entry-content .plot .avg b { position: absolute; left: 0; top: -18px; font-family: var(--font-text);
  font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .plot .bar { position: relative; width: 100%; border-radius: 6px 6px 0 0; background: var(--ol-turquoise); }
.ol-b .entry-content .plot .bar.hi { background: var(--ol-red); }
.ol-b .entry-content .plot .bar b { position: absolute; top: 6px; left: 0; right: 0; text-align: center;
  font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: #fff;
  font-variant-numeric: tabular-nums; }
.ol-b .entry-content .plot .bar.sm b { top: -19px; color: var(--text-muted); }
@media (min-width: 700px) {
.ol-b .entry-content .plot .bar b { top: 10px; font-size: var(--text-sm); }
.ol-b .entry-content .plot .bar.sm b { top: -23px; }
}
.ol-b .entry-content .axis { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--space-2);
  border-top: 1px solid var(--ol-line); padding-top: var(--space-2); }
@media (min-width: 700px) {
.ol-b .entry-content .axis { gap: var(--space-3); }
}
.ol-b .entry-content .axis span { text-align: center; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-xs); color: var(--text-muted); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .axis span { font-size: var(--text-sm); }
}
.ol-b .entry-content .mb .cap { margin: var(--space-4) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .tl .hh { font-family: var(--font-body); font-weight: 900; color: var(--ol-red); white-space: nowrap; }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 1fr auto; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .td { grid-column: 1 / 2; }
.ol-b .entry-content .tl .hh { grid-row: 1 / 3; grid-column: 2 / 3; font-size: var(--text-md); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
}
.ol-b .entry-content .prose blockquote { margin: var(--space-5) 0 0; padding: var(--space-4) var(--space-5);
  background: var(--surface-card); border-left: 3px solid var(--ol-turquoise);
  border-radius: 0 var(--radius-md) var(--radius-md) 0; box-shadow: var(--shadow-card); }
.ol-b .entry-content .prose blockquote p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 2; color: var(--text-body); }
/* --- yanbaru-guide --- */
.ol-b .entry-content .vills { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .vills { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}
.ol-b .entry-content .vill { background: var(--surface-card); border-radius: var(--radius-xl); padding: var(--space-5);
  box-shadow: var(--shadow-card); }
.ol-b .entry-content .vill b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); }
.ol-b .entry-content .vill .en { display: block; margin-top: 2px; font-family: var(--font-display); font-weight: 400;
  font-size: var(--text-xs); letter-spacing: .12em; color: var(--ol-turquoise-deep); }
.ol-b .entry-content .vill p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .slist { display: grid; gap: var(--space-5); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 820px) {
.ol-b .entry-content .slist { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
}
.ol-b .entry-content .scard { background: var(--surface-card); border-radius: var(--radius-xl); box-shadow: var(--shadow-card);
  overflow: hidden; display: flex; flex-direction: column; }
.ol-b .entry-content .scard .im { display: block; aspect-ratio: 3 / 2; background: var(--ol-turquoise-tint); overflow: hidden; }
.ol-b .entry-content .scard .im img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ol-b .entry-content .scard .bd { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.ol-b .entry-content .scard h3 { margin: 0; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .scard .vg { font-family: var(--font-text); font-size: var(--text-xs); color: var(--ol-turquoise-deep); font-weight: 700; }
.ol-b .entry-content .scard p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .scard .fact { margin: var(--space-2) 0 0; padding: var(--space-3) var(--space-4);
  background: var(--ol-turquoise-tint); border-radius: var(--radius-lg);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.9; }
.ol-b .entry-content .scard .fact b { font-family: var(--font-body); font-weight: 900; }
.ol-b .entry-content .scard .more { margin-top: auto; padding-top: var(--space-3); font-family: var(--font-body);
  font-weight: 900; font-size: var(--text-sm); }
.ol-b .entry-content .scard .more a::after { content: ' →'; white-space: nowrap; }
.ol-b .entry-content .scard.warn .fact { background: #FDE8E4; }
.ol-b .entry-content .ekis { display: grid; gap: var(--space-5); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 700px) {
.ol-b .entry-content .ekis { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
@media (min-width: 1040px) {
.ol-b .entry-content .ekis { grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
}
.ol-b .entry-content .ekicard { background: var(--surface-card); border-radius: var(--radius-xl); box-shadow: var(--shadow-card);
  overflow: hidden; text-decoration: none; color: inherit; display: block;
  transition: transform var(--duration-fun) var(--ease-bounce), box-shadow var(--duration-fun) var(--ease-out); }
.ol-b .entry-content .ekicard:hover { transform: translateY(-5px); box-shadow: var(--shadow-float); color: inherit; }
.ol-b .entry-content .ekicard .im { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ol-turquoise-tint); }
.ol-b .entry-content .ekicard .im img { width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform var(--duration-fun) var(--ease-out); }
.ol-b .entry-content .ekicard:hover .im img { transform: scale(1.06); }
.ol-b .entry-content .ekicard .bd { display: block; margin: 0; padding: var(--space-5); }
.ol-b .entry-content .ekicard .vg { display: block; font-family: var(--font-text); font-size: var(--text-xs);
  color: var(--ol-turquoise-deep); font-weight: 700; }
.ol-b .entry-content .ekicard .nm { display: block; margin-top: 2px; font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-base); line-height: 1.45; }
.ol-b .entry-content .ekicard .hh { display: block; margin-top: var(--space-2); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-xs); color: var(--ol-red); }
.ol-b .entry-content .ekicard .dt { display: block; margin-top: var(--space-2); font-family: var(--font-text);
  font-size: var(--text-xs); line-height: 1.9; color: var(--text-muted); }
.ol-b .entry-content .roads { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; align-items: start; }
@media (min-width: 760px) {
.ol-b .entry-content .roads { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .road { background: var(--surface-card); border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-turquoise-deep); }
.ol-b .entry-content .road.ybstop { border-left-color: var(--ol-red); background: #FDE8E4; }
.ol-b .entry-content .road b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .road .len { display: inline-block; margin-top: var(--space-2); padding: 3px 12px; border-radius: 999px;
  background: #fff; font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); }
.ol-b .entry-content .road p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .drive { display: grid; gap: var(--space-4); margin: var(--space-6) 0 0; }
@media (min-width: 760px) {
.ol-b .entry-content .drive { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .dcard { background: #fff; border-radius: var(--radius-xl); padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-card); border-left: 6px solid var(--ol-red); }
.ol-b .entry-content .dcard.blue { border-left-color: var(--ol-turquoise-deep); }
.ol-b .entry-content .dcard.green { border-left-color: var(--ol-green); }
.ol-b .entry-content .dcard b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .dcard p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; color: var(--text-muted); }
.ol-b .entry-content .dcard .num { display: inline-block; margin-top: var(--space-2); font-family: var(--font-display);
  font-size: var(--text-lg); color: var(--ol-red); }
.ol-b .entry-content .times { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .times .t { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.8; }
.ol-b .entry-content .times .t:first-child { border-top: 0; }
.ol-b .entry-content .times .t span:last-child { font-family: var(--font-body); font-weight: 900; white-space: nowrap; color: var(--ol-turquoise-deep); }
/* --- yui-no-hama-park --- */
.ol-b .entry-content .yh-notice { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6);
  background: #FDE8E4; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.ol-b .entry-content .yh-notice b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.5; }
.ol-b .entry-content .yh-notice p { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .yh-eq { margin: var(--space-6) 0 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ol-b .entry-content .yh-eq span { padding: 6px 12px; border-radius: 999px; background: var(--ol-turquoise-tint);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.7; }
.ol-b .entry-content .yh-check { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .yh-check .c { padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .yh-check .c:first-child { border-top: 0; }
.ol-b .entry-content .yh-check .c b { display: block; font-family: var(--font-body); font-weight: 900; font-size: var(--text-base);
  color: var(--ol-turquoise-deep); }
.ol-b .entry-content .yh-check .c.ng b { color: var(--ol-red); }
.ol-b .entry-content .yh-info { margin: var(--space-6) 0 0; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); overflow: hidden; }
.ol-b .entry-content .yh-info .i { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--ol-line); font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }
.ol-b .entry-content .yh-info .i:first-child { border-top: 0; }
.ol-b .entry-content .yh-info .k { font-family: var(--font-body); font-weight: 900; font-size: var(--text-xs); color: var(--ol-turquoise-deep); }
@media (min-width: 700px) {
.ol-b .entry-content .yh-info .i { grid-template-columns: 132px 1fr; gap: var(--space-4); align-items: baseline; }
.ol-b .entry-content .yh-info .k { font-size: var(--text-sm); }
}
.ol-b .entry-content .yh-fig { margin: var(--space-6) 0 0; }
.ol-b .entry-content .yh-fig img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); display: block; }
.ol-b .entry-content .yh-fig figcaption { margin-top: var(--space-3); font-family: var(--font-text);
  font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
/* --- yuiyui-kunigami --- */
.ol-b .entry-content .tl { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; margin: var(--space-6) 0 0; }
.ol-b .entry-content .tl .trow { display: grid; grid-template-columns: 64px 1fr; gap: var(--space-2) var(--space-4); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--ol-line); align-items: start; }
.ol-b .entry-content .tl .trow:first-child { border-top: 0; }
.ol-b .entry-content .tl .trow.hot { background: #FDE8E4; }
.ol-b .entry-content .tl .ty { font-family: var(--font-body); font-weight: 900; font-size: var(--text-base); color: var(--ol-red); line-height: 1.4; }
.ol-b .entry-content .tl .td { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.95; }
.ol-b .entry-content .tl .td b { font-family: var(--font-body); }
@media (min-width: 700px) {
.ol-b .entry-content .tl .trow { grid-template-columns: 88px 1fr; padding: var(--space-4) var(--space-6); }
.ol-b .entry-content .tl .ty { font-size: var(--text-md); }
.ol-b .entry-content .tl .td { font-size: var(--text-base); }
}
.ol-b .entry-content .fig.wide img { object-position: center bottom; }
.ol-b .entry-content .afl { margin: var(--space-3) 0 0; font-family: var(--font-text); font-size: var(--text-xs);
  line-height: 1.8; color: var(--text-faint); }
.ol-b .entry-content .buy { background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  padding: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; }
@media (min-width: 700px) {
.ol-b .entry-content .buy { padding: var(--space-6); }
}
.ol-b .entry-content .buy-h { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.ol-b .entry-content .buy-h b { font-family: var(--font-body); font-weight: 900; font-size: var(--text-md); line-height: 1.4; }
.ol-b .entry-content .pr { flex: none; font-family: var(--font-text); font-size: 10px; font-weight: 700; letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--ol-line); border-radius: var(--radius-pill);
  padding: 2px var(--space-2); }
.ol-b .entry-content .buy-g { display: grid; gap: var(--space-4); }
@media (min-width: 700px) {
.ol-b .entry-content .buy-g { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.ol-b .entry-content .bc { border: 2px solid var(--ol-line); border-radius: var(--radius-md); padding: var(--space-4);
  display: flex; flex-direction: column; }
.ol-b .entry-content .bc.on { border-color: var(--ol-red); }
.ol-b .entry-content .bl { font-family: var(--font-text); font-size: var(--text-xs); font-weight: 700; color: var(--text-faint); }
.ol-b .entry-content .bp { margin: var(--space-1) 0 var(--space-3); font-family: var(--font-display);
  font-size: var(--text-xl); line-height: 1.1; color: var(--ol-ink); }
.ol-b .entry-content .bc.on .bp { color: var(--ol-red); }
.ol-b .entry-content .bp small { font-family: var(--font-body); font-size: var(--text-md); margin-left: 2px; }
.ol-b .entry-content .bd { margin: 0 0 var(--space-4); font-family: var(--font-text); font-size: var(--text-sm);
  line-height: 1.9; flex: 1; }
.ol-b .entry-content .bb { display: block; text-align: center; text-decoration: none; border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-4); font-family: var(--font-body); font-weight: 900;
  font-size: var(--text-sm); background: var(--ol-red); color: #fff; }
.ol-b .entry-content .bb:hover { background: var(--ol-red-deep); }
.ol-b .entry-content .bb.ghost { background: transparent; color: var(--ol-turquoise-deep);
  box-shadow: inset 0 0 0 2px var(--ol-turquoise); }
.ol-b .entry-content .bb.ghost:hover { background: var(--ol-turquoise-tint); }
.ol-b .entry-content .buy-n { margin: var(--space-4) 0 0; padding-top: var(--space-3); border-top: 1px dashed var(--ol-line);
  font-family: var(--font-text); font-size: var(--text-xs); line-height: 1.8; color: var(--text-muted); }
.ol-b .entry-content .buy.slim { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 700px) {
.ol-b .entry-content .buy.slim { grid-template-columns: 1fr auto; gap: var(--space-6); }
}
.ol-b .entry-content .buy.slim .bb { min-width: 15em; }
.ol-b .entry-content .buy.slim .buy-h { margin-bottom: var(--space-2); }
.ol-b .entry-content .buy.slim p { margin: 0; font-family: var(--font-text); font-size: var(--text-sm); line-height: 1.9; }

/* ============ C) 誌面デザインの上書き ============ */
/* =====================================================================
   ol-wp.base.css — おきなわLovers WP記事の誌面デザイン（C層）
   2026-09-09  参考: hokkaidotogo.com/magazine/ の実測値をもとに調整
   ここを編集して `python3 _旧WP資産/_wp_migrate/build_css.py` を実行し、
   functions.php の enqueue バージョンを1つ上げること。
   スコープは body.ol-b の記事本文の中だけ。既存WP記事には効かない。
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. トークンの上書き
   A層B層（静的サイトのCSS）は色・影・角丸をトークン経由で指定している。
   ここで定義し直すだけで、旧デザインの色箱がまとめて白い誌面になる。
   --------------------------------------------------------------------- */
.ol-b .entry-content {
  /* 文字と面。純黒と純白は使わず、墨と紙にする */
  --ol-ink: #1a1a1a;
  --ol-ink-soft: #555555;
  --ol-ink-faint: #8a8a8a;
  --ol-line: #e5e5e5;
  --ol-white: #ffffff;
  --ol-paper: #ffffff;
  --ol-sand: #fafafa;
  --surface-card: #ffffff;
  --text-body: var(--ol-ink);
  --text-muted: var(--ol-ink-soft);
  --text-faint: var(--ol-ink-faint);

  /* 差し色は青緑の1色だけ。ラベル・番号・ボタンに使う */
  --ol-turquoise: #1a6a73;
  --ol-turquoise-deep: #14545c;
  --ol-turquoise-tint: #f3f7f8;
  /* 注意の赤。彩度を落として誌面になじませる */
  --ol-red: #a33224;
  --ol-red-deep: #85281c;
  --ol-red-tint: #fbf4f3;
  /* 旧デザインが装飾に使っていた色。差し色に寄せて色数を減らす */
  --ol-green: #2e6b4f;
  --ol-green-deep: #245640;
  --ol-green-tint: #f4f7f5;
  --ol-yellow: #8a6d1f;
  --ol-yellow-deep: #6f5718;
  --ol-yellow-tint: #faf8f2;
  --ol-purple: #5b4b7a;
  --ol-pink: #9a5566;
  --link-color: var(--ol-ink);
  --link-hover: var(--ol-turquoise);

  /* 影は使わない。面の区切りは罫線で表す */
  --shadow-card: none;
  --shadow-float: none;
  --shadow-soft: none;

  /* 角丸は無し。誌面は直線で組む */
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --radius-xl: 0px;
  --radius-pill: 999px;

  /* 文字。見出しも本文も Noto Sans JP の1書体で通す */
  --font-display: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  --font-body: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  --font-text: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;

  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: clamp(16px, 0.3vw + 15.1px, 17px);
  --text-md: 17px;
  --text-lg: 19px;
  --text-xl: 22px;
  --text-2xl: clamp(22px, 1vw + 18px, 26px);

  --leading-body: 2.0;
  --leading-heading: 1.5;
  --leading-tight: 1.4;
  --tracking-body: 0.08em;
  --tracking-heading: 0.02em;
  --tracking-caps: 0.16em;
  --measure: 38em;

  /* 余白 */
  --space-1: 4px;  --space-2: 8px;   --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px;  --space-7: 32px; --space-8: 40px;
  --space-9: 56px; --space-10: 72px;
  --tap-min: 44px;

  --ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-bounce: cubic-bezier(0.215, 0.61, 0.355, 1);
  --duration-fun: 250ms;

  font-family: var(--font-text);
  color: var(--ol-ink);
  background: #ffffff;
  font-feature-settings: "palt";
}

/* 旧デザインの装飾を誌面から外す */
.ol-b .entry-content .band-wave,
.ol-b .entry-content .band-motif,
.ol-b .entry-content .underwave { display: none; }
.ol-b .entry-content [class*="band--"] { background: none; }

/* スクロールで浮かぶ演出はWP側にJSが無い。最初から見せる */
.ol-b .entry-content .reveal { opacity: 1; transform: none; transition: none; }

/* ---------------------------------------------------------------------
   2. 本文
   --------------------------------------------------------------------- */
.ol-b .entry-content > p,
.ol-b .entry-content > .wp-block-paragraph {
  font-size: var(--text-base);
  line-height: var(--leading-body);
  letter-spacing: var(--tracking-body);
  color: var(--ol-ink);
  max-width: var(--measure);
  margin: 0 0 1.6em;
}
.ol-b .entry-content > p strong { font-weight: 700; background: none; }
.ol-b .entry-content > p a {
  color: var(--ol-ink); text-decoration: underline;
  text-underline-offset: 0.25em; text-decoration-thickness: 1px;
}
.ol-b .entry-content > p a:hover { color: var(--ol-turquoise); }

/* 注記（アフィリエイト表記・書き手） */
.ol-b .entry-content > p.ol-afl,
.ol-b .entry-content > p.ol-byline {
  font-size: var(--text-xs); line-height: 1.8; letter-spacing: 0.04em;
  color: var(--ol-ink-faint); margin-bottom: var(--space-3); max-width: var(--measure);
}

/* 箇条書き */
.ol-b .entry-content > ul, .ol-b .entry-content > ol {
  max-width: var(--measure); margin: 0 0 1.6em; font-size: var(--text-base);
  line-height: var(--leading-body); letter-spacing: var(--tracking-body);
}

/* ---------------------------------------------------------------------
   3. 見出し
   英字ラベル → 大見出し。罫線も色帯も使わず、余白で章を切る。
   --------------------------------------------------------------------- */
.ol-b .entry-content > p.ol-kicker,
.ol-b .entry-content .kicker {
  font-size: 11px; line-height: 1; letter-spacing: var(--tracking-caps);
  text-transform: uppercase; color: var(--ol-turquoise); font-weight: 700;
  margin: var(--space-10) 0 var(--space-3); display: block;
  font-family: var(--font-text);
}
.ol-b .entry-content > p.ol-kicker + h2.wp-block-heading { margin-top: 0; }
.ol-b .entry-content .kicker::after { display: none; }

.ol-b .entry-content h2.wp-block-heading:not([class*=is-style-style]),
.ol-b .entry-content h2:not([class*=is-style-style]) {
  font-size: var(--text-2xl); line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading); font-weight: 700; color: var(--ol-ink);
  margin: var(--space-10) 0 var(--space-6);
  padding: 0; border: 0; background: none; box-shadow: none;
  font-family: var(--font-text);
}
.ol-b .entry-content h2::before, .ol-b .entry-content h2::after { content: none; }

.ol-b .entry-content h3,
.ol-b .entry-content h3:not([class*=is-style-style]) {
  font-size: var(--text-lg); line-height: 1.7; letter-spacing: var(--tracking-heading);
  font-weight: 700; color: var(--ol-ink);
  margin: var(--space-8) 0 var(--space-3);
  padding: 0; border: 0; background: none; font-family: var(--font-text);
}
.ol-b .entry-content h3::before, .ol-b .entry-content h3::after { content: none; }
.ol-b .entry-content h4 {
  font-size: var(--text-md); font-weight: 700;
  margin: var(--space-6) 0 var(--space-2); padding: 0; border: 0;
}

/* ---------------------------------------------------------------------
   4. 写真
   --------------------------------------------------------------------- */
.ol-b .entry-content .wp-block-image,
.ol-b .entry-content figure.fig { margin: var(--space-8) 0; }
.ol-b .entry-content .wp-block-image img,
.ol-b .entry-content figure.fig img {
  width: 100%; height: auto; border-radius: 0; margin: 0; display: block;
  aspect-ratio: auto;
}
.ol-b .entry-content figcaption,
.ol-b .entry-content .wp-element-caption {
  text-align: left; font-size: var(--text-sm); line-height: 1.9;
  letter-spacing: 0.04em; color: var(--ol-ink-faint); margin: var(--space-3) 0 0;
}

/* ---------------------------------------------------------------------
   5. 結論カード（3つの要点）
   --------------------------------------------------------------------- */
.ol-b .entry-content .ol-points, .ol-b .entry-content .points {
  display: grid; grid-template-columns: 1fr; gap: 0;
  margin: var(--space-8) 0; border-top: 1px solid var(--ol-line);
}
.ol-b .entry-content .ol-point, .ol-b .entry-content .point-card {
  padding: var(--space-6) 0; border-bottom: 1px solid var(--ol-line);
  background: none; box-shadow: none; border-radius: 0; color: var(--ol-ink);
}
.ol-b .entry-content .ol-point:hover, .ol-b .entry-content .point-card:hover { transform: none; box-shadow: none; }
.ol-b .entry-content .ol-point .num, .ol-b .entry-content .point-card .num {
  display: block; font-size: 11px; letter-spacing: var(--tracking-caps);
  color: var(--ol-turquoise); font-weight: 700; font-feature-settings: "tnum";
  margin-bottom: var(--space-2); opacity: 1; font-family: var(--font-text);
}
.ol-b .entry-content .ol-point h3, .ol-b .entry-content .point-card h3 {
  margin: 0 0 var(--space-2); font-size: var(--text-md);
}
.ol-b .entry-content .ol-point p, .ol-b .entry-content .point-card p {
  margin: 0; font-size: var(--text-sm); line-height: 1.9;
  letter-spacing: 0.05em; color: var(--ol-ink-soft);
}
.ol-b .entry-content .ol-point strong, .ol-b .entry-content .point-card strong {
  color: var(--ol-ink); border: 0; background: none;
}
@media (min-width: 700px) {
  .ol-b .entry-content .ol-points, .ol-b .entry-content .points {
    grid-template-columns: repeat(3, 1fr); gap: 0 var(--space-7);
    border-bottom: 1px solid var(--ol-line);
  }
  .ol-b .entry-content .ol-point, .ol-b .entry-content .point-card { border-bottom: 0; }
}

/* ---------------------------------------------------------------------
   6. 目次
   --------------------------------------------------------------------- */
.ol-b .entry-content .ol-toc, .ol-b .entry-content .toc {
  margin: var(--space-8) 0; padding: var(--space-6) 0;
  border: 0; border-top: 1px solid var(--ol-line); border-bottom: 1px solid var(--ol-line);
  background: none; border-radius: 0; box-shadow: none;
}
.ol-b .entry-content .ol-toc > b, .ol-b .entry-content .toc > b {
  display: block; font-size: 11px; letter-spacing: var(--tracking-caps);
  color: var(--ol-ink-faint); font-weight: 700; margin-bottom: var(--space-4);
  font-family: var(--font-text);
}
.ol-b .entry-content .ol-toc ol, .ol-b .entry-content .toc ol {
  list-style: none; margin: 0; padding: 0; counter-reset: toc;
  display: grid; grid-template-columns: 1fr; gap: var(--space-2) var(--space-8);
}
.ol-b .entry-content .ol-toc li, .ol-b .entry-content .toc li {
  margin: 0; padding: 0; counter-increment: toc;
  display: flex; gap: var(--space-3); align-items: baseline;
}
.ol-b .entry-content .ol-toc li::before, .ol-b .entry-content .toc li::before {
  content: counter(toc, decimal-leading-zero); font-size: 11px;
  color: var(--ol-turquoise); font-weight: 700; font-feature-settings: "tnum";
  letter-spacing: 0.05em; background: none; border: 0;
  position: static; width: auto; height: auto; transform: none; font-family: var(--font-text);
}
.ol-b .entry-content .ol-toc a, .ol-b .entry-content .toc a {
  color: var(--ol-ink); text-decoration: none;
  font-size: var(--text-sm); letter-spacing: 0.05em; line-height: 1.9;
}
.ol-b .entry-content .ol-toc a:hover, .ol-b .entry-content .toc a:hover {
  color: var(--ol-turquoise); text-decoration: underline; text-underline-offset: 0.25em;
}
@media (min-width: 700px) {
  .ol-b .entry-content .ol-toc ol, .ol-b .entry-content .toc ol { grid-template-columns: 1fr 1fr; }
}

/* ---------------------------------------------------------------------
   7. 表
   --------------------------------------------------------------------- */
.ol-b .entry-content .ol-tl, .ol-b .entry-content .tl {
  margin: var(--space-7) 0; border: 0; border-top: 1px solid var(--ol-line);
  background: none; border-radius: 0; box-shadow: none;
}
.ol-b .entry-content .trow {
  display: grid; grid-template-columns: 1fr; gap: var(--space-2);
  padding: var(--space-4) 0; border: 0; border-bottom: 1px solid var(--ol-line); background: none;
}
.ol-b .entry-content .trow .ty {
  font-size: 11px; letter-spacing: var(--tracking-caps);
  color: var(--ol-ink-faint); font-weight: 700; background: none; padding: 0;
}
.ol-b .entry-content .trow .hh {
  font-size: var(--text-md); font-weight: 700; letter-spacing: 0.02em;
  font-feature-settings: "tnum"; color: var(--ol-ink); background: none;
}
.ol-b .entry-content .trow .td {
  margin: 0; font-size: var(--text-sm); line-height: 1.9;
  letter-spacing: 0.05em; color: var(--ol-ink-soft);
}
@media (min-width: 700px) {
  .ol-b .entry-content .trow {
    grid-template-columns: 8em 1fr; grid-template-areas: "ty hh" "ty td";
    gap: 4px var(--space-6); align-items: baseline;
  }
  .ol-b .entry-content .trow .ty { grid-area: ty; padding-top: 0.5em; }
  .ol-b .entry-content .trow .hh { grid-area: hh; }
  .ol-b .entry-content .trow .td { grid-area: td; }
}

/* 設備の一覧 */
.ol-b .entry-content .ol-kit, .ol-b .entry-content .kit {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 0;
  margin: var(--space-7) 0;
  border: 0; border-top: 1px solid var(--ol-line); border-left: 1px solid var(--ol-line);
  background: none; border-radius: 0;
}
.ol-b .entry-content .kit .k, .ol-b .entry-content .ol-kit .k {
  display: flex; flex-direction: column; gap: 2px;
  padding: var(--space-3) var(--space-4);
  border: 0; border-right: 1px solid var(--ol-line); border-bottom: 1px solid var(--ol-line);
  background: none; border-radius: 0;
}
.ol-b .entry-content .kit .n { font-size: var(--text-xs); letter-spacing: 0.06em; color: var(--ol-ink-faint); }
.ol-b .entry-content .kit .v { font-size: var(--text-base); font-weight: 700; letter-spacing: 0.02em; color: var(--ol-ink); }
.ol-b .entry-content .kit .hot .v, .ol-b .entry-content .k.hot .v { color: var(--ol-red); }
.ol-b .entry-content .k.hot { background: none; }
@media (min-width: 700px) {
  .ol-b .entry-content .ol-kit, .ol-b .entry-content .kit { grid-template-columns: repeat(4, 1fr); }
}

/* 一般の表 */
.ol-b .entry-content table {
  width: 100%; border-collapse: collapse; margin: var(--space-7) 0;
  font-size: var(--text-sm); line-height: 1.9; background: none;
}
.ol-b .entry-content th, .ol-b .entry-content td {
  border: 0; border-bottom: 1px solid var(--ol-line);
  padding: var(--space-3) var(--space-2); text-align: left; background: none;
}
.ol-b .entry-content th {
  font-weight: 700; font-size: var(--text-xs);
  letter-spacing: 0.08em; color: var(--ol-ink-faint);
}

/* ---------------------------------------------------------------------
   8. 補足・注意（色箱を左1本の罫線に置き換える）
   --------------------------------------------------------------------- */
.ol-b .entry-content .ol-note,
.ol-b .entry-content .infobox,
.ol-b .entry-content .alert,
.ol-b .entry-content [class$="-notice"],
.ol-b .entry-content [class$="-alert"],
.ol-b .entry-content [class$="-note"] {
  margin: var(--space-7) 0; padding: 2px 0 2px var(--space-5);
  border: 0; border-left: 2px solid var(--ol-turquoise);
  border-radius: 0; background: none; box-shadow: none;
  max-width: var(--measure); color: var(--ol-ink); font-family: var(--font-text);
}
.ol-b .entry-content .ol-note .ttl,
.ol-b .entry-content .infobox .ttl,
.ol-b .entry-content .alert .ttl,
.ol-b .entry-content [class$="-notice"] .ttl {
  font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.04em;
  margin: 0 0 var(--space-3); display: flex; align-items: center; gap: var(--space-2);
  color: var(--ol-ink); font-family: var(--font-text); background: none;
}
.ol-b .entry-content .ol-note p,
.ol-b .entry-content .infobox p,
.ol-b .entry-content .alert p,
.ol-b .entry-content [class$="-notice"] p,
.ol-b .entry-content [class$="-note"] p {
  margin: 0 0 var(--space-3); font-size: var(--text-sm); line-height: 1.9;
  letter-spacing: 0.05em; color: var(--ol-ink-soft);
}
.ol-b .entry-content .ol-note p:last-child,
.ol-b .entry-content .infobox p:last-child,
.ol-b .entry-content .alert p:last-child { margin-bottom: 0; }
.ol-b .entry-content .ol-note strong, .ol-b .entry-content .infobox strong,
.ol-b .entry-content .alert strong, .ol-b .entry-content .infobox b,
.ol-b .entry-content .alert b {
  color: var(--ol-ink); font-weight: 700; border: 0; background: none;
}
.ol-b .entry-content .infobox.caution,
.ol-b .entry-content .alert,
.ol-b .entry-content [class$="-alert"] { border-left-color: var(--ol-red); }
.ol-b .entry-content .alert .ttl, .ol-b .entry-content .infobox.caution .ttl { color: var(--ol-red); }
.ol-b .entry-content .alert a { color: var(--ol-red); }
.ol-b .entry-content .ico {
  display: inline-grid; place-items: center; width: 1.5em; height: 1.5em;
  border-radius: 50%; border: 1.5px solid currentColor; background: none; color: inherit;
  font-size: var(--text-xs); font-weight: 700; flex-shrink: 0;
}

/* ---------------------------------------------------------------------
   9. 地図
   --------------------------------------------------------------------- */
.ol-b .entry-content .ol-map, .ol-b .entry-content .gmap {
  margin: var(--space-7) 0; background: none; border-radius: 0; box-shadow: none;
}
.ol-b .entry-content .gmap iframe, .ol-b .entry-content .ol-map iframe {
  width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; display: block;
  border-radius: 0; filter: grayscale(0.3) contrast(0.95);
}
.ol-b .entry-content .gml {
  display: flex; gap: var(--space-6); margin: var(--space-3) 0 0;
  font-size: var(--text-xs); letter-spacing: 0.04em; background: none; padding: 0;
}
.ol-b .entry-content .gml a { color: var(--ol-ink); text-decoration: underline; text-underline-offset: 0.25em; }

/* ---------------------------------------------------------------------
   10. FAQ
   --------------------------------------------------------------------- */
.ol-b .entry-content .wp-block-details.ol-faq,
.ol-b .entry-content details.faq {
  border: 0; border-top: 1px solid var(--ol-line);
  margin: 0; padding: 0; background: none; border-radius: 0; box-shadow: none;
}
.ol-b .entry-content .wp-block-details.ol-faq:last-of-type,
.ol-b .entry-content details.faq:last-of-type { border-bottom: 1px solid var(--ol-line); }
.ol-b .entry-content .wp-block-details.ol-faq summary,
.ol-b .entry-content details.faq summary {
  list-style: none; cursor: pointer; position: relative;
  padding: var(--space-4) var(--space-8) var(--space-4) 0;
  font-size: var(--text-base); font-weight: 700; letter-spacing: 0.04em;
  line-height: 1.7; min-height: var(--tap-min); color: var(--ol-ink);
  background: none; font-family: var(--font-text);
}
.ol-b .entry-content details summary::-webkit-details-marker { display: none; }
.ol-b .entry-content .wp-block-details.ol-faq summary::after,
.ol-b .entry-content details.faq summary::after {
  content: ''; position: absolute; right: 4px; top: 50%;
  width: 9px; height: 9px; border: 0;
  border-right: 1.5px solid var(--ol-ink-faint); border-bottom: 1.5px solid var(--ol-ink-faint);
  transform: translateY(-70%) rotate(45deg); background: none; font-size: 0;
  transition: transform var(--duration-fun) var(--ease-out-cubic);
}
.ol-b .entry-content .wp-block-details.ol-faq[open] summary::after,
.ol-b .entry-content details.faq[open] summary::after { transform: translateY(-30%) rotate(225deg); }
.ol-b .entry-content .wp-block-details.ol-faq p,
.ol-b .entry-content details.faq p {
  margin: 0 0 var(--space-4); font-size: var(--text-sm); line-height: 1.9;
  letter-spacing: 0.05em; color: var(--ol-ink-soft); max-width: var(--measure);
}
.ol-b .entry-content details.faq .body { padding: 0 0 var(--space-2); background: none; }
.ol-b .entry-content details p strong, .ol-b .entry-content details p b { color: var(--ol-ink); }

/* 情報源 */
.ol-b .entry-content .wp-block-details.ol-sources,
.ol-b .entry-content details.sources {
  margin: var(--space-8) 0 0; border: 0; border-top: 1px solid var(--ol-line);
  padding-top: var(--space-4); background: none;
}
.ol-b .entry-content .ol-sources summary, .ol-b .entry-content details.sources summary {
  cursor: pointer; font-size: var(--text-xs); letter-spacing: 0.04em;
  color: var(--ol-ink-faint); font-weight: 400; padding: var(--space-2) 0; list-style: none;
}
.ol-b .entry-content .ol-sources p, .ol-b .entry-content details.sources p {
  font-size: var(--text-xs); line-height: 1.9; color: var(--ol-ink-faint); margin: var(--space-3) 0 0;
}

/* ---------------------------------------------------------------------
   11. タグ
   --------------------------------------------------------------------- */
.ol-b .entry-content .ol-chips, .ol-b .entry-content .chips {
  display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-7) 0 0;
}
.ol-b .entry-content .chip {
  font-size: var(--text-xs); letter-spacing: 0.04em; color: var(--ol-ink-soft);
  border: 1px solid var(--ol-line); border-radius: 999px;
  padding: 0.35em 0.9em; background: none;
}

/* ---------------------------------------------------------------------
   12. CTA（チケット・ツアー）
   --------------------------------------------------------------------- */
.ol-b .entry-content .ol-buy, .ol-b .entry-content .buy {
  margin: var(--space-8) 0; padding: var(--space-6);
  border: 1px solid var(--ol-line); border-radius: 0; background: none; box-shadow: none;
}
.ol-b .entry-content .buy-in {
  display: grid; grid-template-columns: 72px 1fr; gap: var(--space-4); align-items: start;
}
.ol-b .entry-content .buy-thumb {
  display: block; width: 72px; aspect-ratio: 1; overflow: hidden; border-radius: 0; background: var(--ol-sand);
}
.ol-b .entry-content .buy-thumb img { width: 100%; height: 100%; object-fit: cover; margin: 0; display: block; }
.ol-b .entry-content .buy-h {
  display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2);
  font-size: var(--text-base); font-weight: 700; letter-spacing: 0.02em; line-height: 1.6;
  font-family: var(--font-text); color: var(--ol-ink);
}
.ol-b .entry-content .pr, .ol-b .entry-content .prm {
  font-size: 10px; letter-spacing: 0.1em; color: var(--ol-ink-faint);
  border: 1px solid var(--ol-line); padding: 1px 6px; border-radius: 999px;
  flex-shrink: 0; background: none; font-weight: 400;
}
.ol-b .entry-content .buy p {
  margin: 0; font-size: var(--text-sm); line-height: 1.9;
  letter-spacing: 0.05em; color: var(--ol-ink-soft);
}
.ol-b .entry-content .buy p a { color: var(--ol-ink); text-decoration: underline; text-underline-offset: 0.25em; }
.ol-b .entry-content .bb {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--tap-min); padding: 0 var(--space-6); margin-top: var(--space-4);
  background: var(--ol-turquoise); color: #fff; font-size: var(--text-sm); font-weight: 700;
  letter-spacing: 0.05em; text-decoration: none; border: 0; border-radius: 4px;
  transition: background var(--duration-fun); font-family: var(--font-text);
}
.ol-b .entry-content .bb:hover { background: var(--ol-turquoise-deep); color: #fff; }
.ol-b .entry-content .bb.ghost {
  background: none; color: var(--ol-turquoise); border: 1px solid var(--ol-line);
}
.ol-b .entry-content .bb::after { content: none !important; }
.ol-b .entry-content .ol-ajl, .ol-b .entry-content .ajl {
  margin: var(--space-7) 0; padding: var(--space-4) 0;
  border: 0; border-top: 1px solid var(--ol-line); border-bottom: 1px solid var(--ol-line);
  font-size: var(--text-sm); line-height: 1.9; letter-spacing: 0.05em;
  display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); align-items: center;
  background: none; border-radius: 0;
}
.ol-b .entry-content .ajl > a { color: var(--ol-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 0.25em; }
.ol-b .entry-content .ajl .note { flex-basis: 100%; font-size: var(--text-xs); color: var(--ol-ink-faint); line-height: 1.8; }

/* ---------------------------------------------------------------------
   13. AIに聞く
   --------------------------------------------------------------------- */
.ol-b .entry-content .ol-askai, .ol-b .entry-content .askai {
  margin: var(--space-9) 0 0; padding: var(--space-6) 0;
  border: 0; border-top: 1px solid var(--ol-line);
  background: none; border-radius: 0; box-shadow: none;
}
.ol-b .entry-content .askai .h {
  display: flex; flex-wrap: wrap; align-items: baseline;
  gap: var(--space-2) var(--space-4); margin-bottom: var(--space-3); background: none; padding: 0;
}
.ol-b .entry-content .askai .h b { font-size: var(--text-lg); font-weight: 700; letter-spacing: 0.02em; color: var(--ol-ink); }
.ol-b .entry-content .askai .h span { font-size: var(--text-xs); color: var(--ol-ink-faint); letter-spacing: 0.04em; }
.ol-b .entry-content .askai .lead {
  font-size: var(--text-sm); color: var(--ol-ink-soft); line-height: 1.9;
  letter-spacing: 0.05em; margin: 0 0 var(--space-4); max-width: var(--measure);
}
.ol-b .entry-content .askai textarea {
  width: 100%; min-height: 11em; font: inherit; font-size: var(--text-sm);
  line-height: 1.9; letter-spacing: 0.04em; color: var(--ol-ink);
  border: 1px solid var(--ol-line); border-radius: 0;
  padding: var(--space-4); background: var(--ol-sand); resize: vertical;
}
.ol-b .entry-content .ai-btns { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-4) 0; }
.ol-b .entry-content .ai-btns button, .ol-b .entry-content .ai-btns a {
  display: inline-flex; align-items: center; min-height: var(--tap-min);
  padding: 0 var(--space-4); font: inherit; font-size: var(--text-sm); letter-spacing: 0.05em;
  border: 1px solid var(--ol-line); border-radius: 4px; background: none;
  color: var(--ol-ink); text-decoration: none; cursor: pointer;
}
.ol-b .entry-content .ai-copy {
  background: var(--ol-ink); color: #fff; border-color: var(--ol-ink); font-weight: 700;
}
.ol-b .entry-content .ai-copy:hover { background: var(--ol-turquoise); border-color: var(--ol-turquoise); }
.ol-b .entry-content .ai-btns a::after { content: none !important; }
.ol-b .entry-content .askai .note { font-size: var(--text-xs); color: var(--ol-ink-faint); line-height: 1.8; margin: 0; }

/* ---------------------------------------------------------------------
   14. あわせて読みたい
   --------------------------------------------------------------------- */
.ol-b .entry-content .ol-cards, .ol-b .entry-content .cards {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6) var(--space-4);
  margin: var(--space-9) 0 0; padding-top: var(--space-6); border-top: 1px solid var(--ol-line);
}
.ol-b .entry-content .ol-acard, .ol-b .entry-content .acard {
  display: block; color: var(--ol-ink); text-decoration: none;
  background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0;
}
.ol-b .entry-content .acard:hover { transform: none; box-shadow: none; }
.ol-b .entry-content .acard .thumb, .ol-b .entry-content .ol-acard .thumb {
  display: block; aspect-ratio: 1.414 / 1; overflow: hidden;
  margin-bottom: var(--space-3); background: var(--ol-sand); border-radius: 0;
}
.ol-b .entry-content .acard .thumb img {
  width: 100%; height: 100%; object-fit: cover; margin: 0; display: block;
  transition: transform 600ms var(--ease-out-cubic);
}
.ol-b .entry-content .acard:hover .thumb img { transform: scale(1.03); }
.ol-b .entry-content .acard .body { display: block; padding: 0; background: none; }
.ol-b .entry-content .acard .cat {
  display: block; font-size: 10px; letter-spacing: var(--tracking-caps);
  color: var(--ol-turquoise); font-weight: 700; margin-bottom: 4px;
  background: none; padding: 0; border-radius: 0;
}
.ol-b .entry-content .acard .ttl {
  display: block; font-size: var(--text-sm); font-weight: 700;
  letter-spacing: 0.02em; line-height: 1.6; color: var(--ol-ink);
}
.ol-b .entry-content .acard .date { display: block; font-size: var(--text-xs); color: var(--ol-ink-faint); margin-top: 2px; letter-spacing: 0.04em; }
@media (min-width: 700px) {
  .ol-b .entry-content .ol-cards, .ol-b .entry-content .cards { grid-template-columns: repeat(4, 1fr); }
}

/* ---------------------------------------------------------------------
   15. 記事ごとの独自部品の受け皿
   静的サイトが記事ごとに持っていた色箱を、共通の見た目に寄せる。
   --------------------------------------------------------------------- */
.ol-b .entry-content [class$="-info"],
.ol-b .entry-content [class$="-fee"],
.ol-b .entry-content [class$="-hours"],
.ol-b .entry-content [class$="-tips"],
.ol-b .entry-content [class$="-cmp"],
.ol-b .entry-content [class$="-kit"],
.ol-b .entry-content [class$="-steps"],
.ol-b .entry-content [class$="-hist"],
.ol-b .entry-content .lead-grid,
.ol-b .entry-content .checks,
.ol-b .entry-content .voice,
.ol-b .entry-content .tenants,
.ol-b .entry-content .picks,
.ol-b .entry-content .mlinks {
  background: none; box-shadow: none; border-radius: 0;
}
.ol-b .entry-content .spotinfo, .ol-b .entry-content .ptable {
  border: 1px solid var(--ol-line); margin: var(--space-7) 0;
  background: none; border-radius: 0; box-shadow: none; overflow: hidden;
}
.ol-b .entry-content .spotinfo .name, .ol-b .entry-content .ptable .phead {
  background: var(--ol-sand); color: var(--ol-ink);
  font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.06em;
  padding: var(--space-3) var(--space-5); border-bottom: 1px solid var(--ol-line);
  font-family: var(--font-text);
}
.ol-b .entry-content .spotinfo dt { color: var(--ol-ink-faint); font-size: var(--text-xs); letter-spacing: 0.06em; font-weight: 700; }
.ol-b .entry-content .spotinfo dd { color: var(--ol-ink); font-size: var(--text-sm); }
.ol-b .entry-content .figs { display: grid; gap: var(--space-4); margin: var(--space-8) 0; }
.ol-b .entry-content .figs.two { grid-template-columns: 1fr; }
@media (min-width: 700px) { .ol-b .entry-content .figs.two { grid-template-columns: 1fr 1fr; } }
.ol-b .entry-content .figs img { width: 100%; height: auto; margin: 0; display: block; border-radius: 0; }
.ol-b .entry-content .h3 {
  font-size: var(--text-lg); font-weight: 700; letter-spacing: var(--tracking-heading);
  line-height: 1.7; margin: var(--space-8) 0 var(--space-3);
  display: flex; align-items: baseline; gap: var(--space-2);
  color: var(--ol-ink); font-family: var(--font-text); background: none; padding: 0; border: 0;
}
.ol-b .entry-content .h3::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: var(--ol-turquoise); flex-shrink: 0;
}
/* 丸番号のバッジは残す（差し色で小さく） */
.ol-b .entry-content .no {
  background: var(--ol-turquoise); color: #fff; border-radius: 50%;
  width: 34px; height: 34px; font-size: var(--text-sm); font-weight: 700;
  display: grid; place-items: center; font-family: var(--font-text); flex-shrink: 0;
}

/* ---------------------------------------------------------------------
   16. 器（STORKテーマ側）
   --------------------------------------------------------------------- */
.ol-b #main { width: 100%; max-width: 900px; margin-inline: auto; }
.ol-b .entry-content > .add.titleunder { display: none; }
.ol-b .entry-content { background: #fff; }

@media (prefers-reduced-motion: reduce) {
  .ol-b .entry-content * { transition: none !important; animation: none !important; }
}

/* 記事に自前の目次がある場合、テーマの自動目次は重複するので隠す */
.ol-b .entry-content:has(.ol-toc) .stk-toc,
.ol-b .entry-content:has(.toc) .stk-toc { display: none; }

/* ---------------------------------------------------------------------
   17. 商品カード（お土産ハブなど、品を並べる記事）
   1品＝wp:group .ol-item、章＝wp:group .ol-grid。どちらもWP標準ブロック。
   写真・品名・説明・価格を1枚に収め、PCでは2列に組む。
   --------------------------------------------------------------------- */
/* wp:group はレイアウト設定によって内側に .wp-block-group__inner-container を作る。
   その場合はグリッドを内側に当てないと、カードが1列に縦積みになる */
.ol-b .entry-content .ol-grid { margin: var(--space-7) 0 var(--space-9); }
.ol-b .entry-content .ol-grid > .wp-block-group__inner-container,
.ol-b .entry-content .ol-grid:not(:has(> .wp-block-group__inner-container)) {
  display: grid; grid-template-columns: 1fr; gap: var(--space-6);
}
@media (min-width: 700px) {
  .ol-b .entry-content .ol-grid > .wp-block-group__inner-container,
  .ol-b .entry-content .ol-grid:not(:has(> .wp-block-group__inner-container)) {
    grid-template-columns: 1fr 1fr; gap: var(--space-7) var(--space-6);
  }
}

.ol-b .entry-content .ol-item {
  border: 1px solid var(--ol-line); border-radius: 0;
  background: none; box-shadow: none; padding: 0; margin: 0; overflow: hidden;
  display: flex; flex-direction: column;
}
/* カードの中身も、内側コンテナがあればそちらを縦並びの箱にする */
.ol-b .entry-content .ol-item > .wp-block-group__inner-container {
  display: flex; flex-direction: column; height: 100%;
}

/* 写真はカードの上端いっぱい。高さを揃えて棚のように見せる */
.ol-b .entry-content .ol-item .wp-block-image {
  margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--ol-sand);
}
.ol-b .entry-content .ol-item .wp-block-image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 600ms var(--ease-out-cubic);
}
.ol-b .entry-content .ol-item:hover .wp-block-image img { transform: scale(1.03); }

.ol-b .entry-content .ol-item h4 {
  font-size: var(--text-md); font-weight: 700; line-height: 1.6;
  letter-spacing: var(--tracking-heading); color: var(--ol-ink);
  margin: 0; padding: var(--space-5) var(--space-5) var(--space-3);
  border: 0; background: none;
}
.ol-b .entry-content .ol-item p {
  font-size: var(--text-sm); line-height: 1.9; letter-spacing: 0.05em;
  color: var(--ol-ink-soft); margin: 0; padding: 0 var(--space-5) var(--space-5);
  max-width: none;
}
.ol-b .entry-content .ol-item p strong { color: var(--ol-ink); }

/* 価格はカードの足元に固定。罫線で区切って数字を読みやすく */
.ol-b .entry-content .ol-item .ol-price {
  margin-top: auto; padding: var(--space-3) var(--space-5);
  border-top: 1px solid var(--ol-line);
  font-size: var(--text-xs); line-height: 1.8; letter-spacing: 0.03em;
  color: var(--ol-ink-faint); font-feature-settings: "tnum";
}

/* 写真が無い品は、上に少し余白を足して他のカードと頭を揃える */
.ol-b .entry-content .ol-item > h4:first-child { padding-top: var(--space-6); }
