

@charset "utf-8";

:root {
  color-scheme: light;
  
  --ink: #2b2b2b;
  --night: #001028;
  
  --navy: #00205c;
  --red: #f55555;
  --paper: #f7f5ef;
  --paper-2: #edebe6;
  
  --wash: #eaeef4;
  --line: #dddcd6;
  --muted: #706f6d;
  --wrap: 1240px;

  
  --c-travel: #f55555;
  --c-food: #ff8a1f;
  --c-hotel: #8820c8;
  --c-culture: #00b08a;
  --c-trend: #2e6bff;
  --c-railway: #b0bc00;
  --c-life: #e0645f;

  --disp: "Anton", "Arial Narrow", "Helvetica Neue", sans-serif; 
  
  --serif: "Noto Serif TC", "Songti TC", "PMingLiU", serif; 
  
  --sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif; 
}

[lang="ja"] {
  --sans: "Noto Sans JP", "Yu Gothic", "Meiryo", system-ui, sans-serif; 
}
[lang="zh-Hant"] {
  --sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif; 
}
[lang="ja"], [lang="zh-Hant"] { font-family: var(--sans); }

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; background: var(--night); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans);
  font-size: 15px; line-height: 1.9; font-weight: 500; letter-spacing: .015em;
  -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 32px; }
.disp { font-family: var(--disp); font-weight: 400; letter-spacing: .01em; text-transform: uppercase; }
.en { font-family: var(--disp); font-size: 12px; letter-spacing: .24em; text-transform: uppercase;
  color: var(--muted); }
.ds-note { font: 11px/1.7 ui-monospace, SFMono-Regular, Menlo, monospace; color: #a3a39b;
  margin: 0 0 22px; padding: 8px 0; border-bottom: 1px dashed var(--line); letter-spacing: .02em; }
body > .ds-note { padding-left: 32px; padding-right: 32px; margin-bottom: 0; }

.site-head { position: sticky; top: 0; z-index: 60; background: rgba(247,245,239,.96);
  backdrop-filter: blur(8px); border-bottom: 1px solid var(--ink); }
.site-head .wrap { display: flex; align-items: center; gap: 34px; min-height: 82px; }
.site-head .logo { font-size: 21px; font-weight: 900; letter-spacing: .12em; white-space: nowrap;
  line-height: 1; }
.site-head .logo b { color: inherit; font-weight: inherit; }

.site-head .logo::after { content: "哩程・會籍・信用卡"; white-space: pre; display: inline-block;
  vertical-align: middle; margin-left: 9px; padding-left: 10px; border-left: 1px solid #cfcfc8;
  font-family: var(--sans); font-size: 9px; font-weight: 700; line-height: 1.7;
  letter-spacing: .24em; color: var(--muted); }
.site-head nav { margin-left: auto; display: flex; gap: 30px; flex-wrap: wrap; }
.site-head nav a { font-size: 12.5px; font-weight: 600; letter-spacing: .16em; padding: 5px 0;
  color: #4a4a44; background: linear-gradient(var(--red), var(--red)) left bottom / 0 1px no-repeat;
  transition: color .2s, background-size .25s cubic-bezier(.2,.6,.2,1); }
.site-head nav a:hover { color: var(--ink); background-size: 100% 1px; text-decoration: none; }

.site-head nav a.on { color: var(--ink); font-weight: 700;
  background: linear-gradient(var(--ink), var(--ink)) left bottom / 100% 4px no-repeat; }
.site-head nav a.on:hover { background-size: 100% 4px; }

.site-head nav a:has(i) { display: inline-flex; align-items: center; gap: 7px; }
.site-head nav a i { font-style: normal; font-size: 8.5px; font-weight: 700; line-height: 1;
  letter-spacing: .04em; background: var(--red); color: #fff; padding: 3px 5px;
  flex: none; }

.site-head nav a.bizhead { position: relative; margin-left: 26px; }
.site-head nav a.bizhead::before { content: ""; position: absolute; left: -28px; top: 50%;
  transform: translateY(-50%); width: 1px; height: 15px; background: var(--line); }

.navbtn { display: none; }

.masthead { background: none; color: var(--ink); padding: 0; overflow: hidden; }

.masthead h1 { margin: 0 0 26px; font-size: clamp(46px, 6.6vw, 80px); line-height: 1.22;
  font-weight: 900; letter-spacing: .015em; }

.masthead h1 em { font-style: normal; background: var(--red); display: inline-block;
  line-height: 1; padding: .012em .14em .128em; vertical-align: baseline;
   }
.masthead .sub { max-width: 620px; font-size: 15px; line-height: 2.1; opacity: .78; margin: 0;
  font-weight: 500; letter-spacing: .03em; }

.masthead .creds { display: inline-flex; align-items: baseline; gap: 12px; margin: 22px 0 0;
  font-size: 13.5px; font-weight: 700; letter-spacing: .04em; flex-wrap: wrap; }

.masthead .creds b { display: inline-flex; align-items: center; gap: 9px; background: #fff;
  color: var(--ink); font-weight: 700; font-size: 14px; padding: 8px 15px 8px 10px;
  transition: background .15s, color .15s; }
.masthead .creds b img { width: 23px; height: 23px; flex: none; }
.masthead .creds:hover b { background: var(--red); color: #fff; }

.masthead .subs { display: flex; align-items: center; gap: 16px; margin-top: 38px;
  flex-wrap: wrap; }

.masthead .subs a { display: inline-flex; border: 0; padding: 0;
  transition: opacity .15s, transform .15s; }
.masthead .subs a img { width: 34px; height: 34px; flex: none; }

.masthead .subs a.pf-round img { width: 37px; height: 37px; }
.masthead .subs a:hover { opacity: .78; transform: translateY(-2px); }

.stats { background: var(--paper); border-bottom: 1px solid var(--line); }
.stats .wrap { display: grid; grid-template-columns: repeat(6, 1fr); }
.stats .wrap > div { padding: 24px 8px 20px; text-align: center; border-left: 1px solid var(--line); }
.stats .wrap > div:first-child { border-left: 0; }
.stats .n { font-family: var(--disp); font-size: 40px; line-height: 1; letter-spacing: .01em; }
.stats .n small { font-size: 13px; font-family: var(--sans); font-weight: 700; margin-left: 4px;
  color: var(--muted); }
.stats .l { font-size: 11px; letter-spacing: .24em; margin-top: 10px; color: var(--muted);
  font-weight: 700; }

.stats .lja { font-size: 10px; letter-spacing: .1em; margin-top: 4px; color: var(--muted);
  font-weight: 500; opacity: .75; }

.stats .stats-note { grid-column: 1 / -1; margin: 0; padding: 11px 8px 14px;
  border-top: 1px solid var(--line); font-size: 10.5px; line-height: 1.7; color: var(--muted);
  font-weight: 500; letter-spacing: .02em; text-align: center; opacity: .8; }

.sec { margin: 96px 0; }
.sec-head { display: flex; align-items: baseline; gap: 18px; margin-bottom: 40px;
  border-bottom: 1px solid var(--ink); padding-bottom: 16px; }
.sec-head h2 { margin: 0; font-family: var(--disp); font-size: clamp(30px, 4vw, 50px); line-height: 1;
  text-transform: uppercase; font-weight: 400; letter-spacing: .015em; }
.sec-head .zh { font-size: 13px; font-weight: 700; letter-spacing: .24em; color: var(--muted); }
.sec-head .zh::before { content: ""; display: inline-block; width: 8px; height: 8px;
  background: var(--red); margin-right: 10px; }
.sec-head h2.zh-h { font-family: var(--sans); font-weight: 900; letter-spacing: .08em;
  font-size: clamp(22px, 3vw, 32px); }
.sec-head .more { margin-left: auto; font-family: var(--disp); font-size: 12px; letter-spacing: .24em;
  text-transform: uppercase; color: var(--muted); }
.sec-head .more:hover { color: var(--red); }
.sec-head .more::after { content: " →"; }

.grid { display: grid; gap: 48px 26px; grid-template-columns: repeat(auto-fill, minmax(216px, 1fr)); }
.card { --cat: var(--ink); display: block; }
.card[data-col="japan-travel"] { --cat: var(--c-travel); }
.card[data-col="food"] { --cat: var(--c-food); }
.card[data-col="hotel"] { --cat: var(--c-hotel); }
.card[data-col="culture"] { --cat: var(--c-culture); }
.card[data-col="trend"] { --cat: var(--c-trend); }
.card[data-col="railway"] { --cat: var(--c-railway); }
.card[data-col="life"] { --cat: var(--c-life); }
.thumb { position: relative; overflow: hidden; background: var(--paper-2); aspect-ratio: 1/1; }
.thumb img { width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s cubic-bezier(.2,.6,.2,1), opacity .3s; }
.card:hover img, .lead:hover img { transform: scale(1.04); opacity: .92; }
.thumb .tag { position: absolute; left: 0; bottom: 0; background: var(--paper); color: var(--ink);
  font-size: 10px; font-weight: 700; letter-spacing: .14em; padding: 6px 12px 6px 9px;
  display: flex; align-items: center; gap: 7px; }
.thumb .tag::before { content: ""; width: 8px; height: 8px; background: var(--cat); flex: none; }
.meta { display: flex; gap: 14px; align-items: baseline; margin: 14px 0 8px;
  font-size: 11px; color: var(--muted); font-weight: 600; letter-spacing: .12em; }
.meta .no { font-family: var(--disp); font-size: 14px; color: var(--ink); letter-spacing: .04em; }
.card h3, .lead h3 { margin: 0; font-size: 14.5px; line-height: 1.7; font-weight: 700;
  letter-spacing: .01em; }
.card:hover h3, .lead:hover h3 { text-decoration: underline; text-decoration-thickness: 1.5px;
  text-underline-offset: 4px; text-decoration-color: var(--red); }
.g { font-size: 11px; color: var(--muted); margin-top: 8px; font-weight: 700; letter-spacing: .08em; }
.g::before { content: ""; display: inline-block; width: 14px; height: 1px; background: var(--red);
  vertical-align: middle; margin-right: 8px; }

.lead { display: grid; grid-template-columns: minmax(0, 480px) 1fr; gap: 52px; align-items: center;
  padding: 0 0 56px; margin-bottom: 56px; border-bottom: 1px solid var(--line); }
.lead .badge { display: inline-block; font-family: var(--disp); color: var(--red); font-size: 13px;
  letter-spacing: .24em; margin-bottom: 18px; }
.lead .badge::after { content: ""; display: block; width: 44px; height: 2px; background: var(--red);
  margin-top: 8px; }
.lead h3 { font-size: clamp(22px, 2.6vw, 33px); line-height: 1.5; font-weight: 800; text-wrap: balance; }
.lead p { color: #444; font-size: 14px; margin: 18px 0 0; line-height: 2.05; max-width: 36em; }

.tiles { display: grid; gap: 1px; grid-template-columns: repeat(auto-fit, minmax(238px, 1fr));
  background: var(--line); border: 1px solid var(--ink); }
.tile { --cat: var(--ink); background: var(--paper); padding: 30px 28px 26px; display: block;
  position: relative; transition: background .15s; }
.tile:hover { background: var(--paper-2); }
.tile[data-col="japan-travel"] { --cat: var(--c-travel); }
.tile[data-col="food"] { --cat: var(--c-food); }
.tile[data-col="hotel"] { --cat: var(--c-hotel); }
.tile[data-col="culture"] { --cat: var(--c-culture); }
.tile[data-col="trend"] { --cat: var(--c-trend); }
.tile[data-col="railway"] { --cat: var(--c-railway); }
.tile[data-col="life"] { --cat: var(--c-life); }
.tile .v { font-size: 11px; font-weight: 700; letter-spacing: .24em; color: var(--muted);
  display: flex; align-items: center; gap: 8px; }
.tile .v::before { content: ""; width: 8px; height: 8px; background: var(--cat); flex: none; }
.tile h3 { margin: 12px 0 10px; font-size: 20px; font-weight: 800; letter-spacing: .05em;
  color: var(--ink); }
.tile:hover h3 { text-decoration: underline; text-decoration-thickness: 1.5px;
  text-underline-offset: 4px; text-decoration-color: var(--cat); }
.tile p { font-size: 12.5px; color: var(--muted); margin: 0 0 18px; line-height: 1.95; font-weight: 500; }
.tile .n { font-family: var(--disp); font-size: 12px; color: var(--muted); letter-spacing: .12em; }

.chips { display: flex; flex-wrap: wrap; gap: 9px; }
.chip { border: 1px solid #cfcfc8; padding: 7px 15px; font-size: 12.5px; font-weight: 600;
  letter-spacing: .04em; background: var(--paper);
  transition: background .12s, color .12s, border-color .12s; }
.chip::before { content: "#"; color: var(--muted); margin-right: 4px; font-weight: 500; }
.chip.plain::before { content: none; }

.chip:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.chip:hover::before { color: rgba(255,255,255,.6); }
.chip small { margin-left: 8px; font-family: var(--disp); font-size: 11px; color: var(--muted);
  letter-spacing: .06em; }
.chip:hover small { color: rgba(255,255,255,.65); }

.page-head { padding: 56px 0 28px; margin-bottom: 40px; border-bottom: 1px solid var(--ink); }
.page-head h1 { margin: 6px 0 14px; font-size: clamp(30px, 5vw, 54px); line-height: 1.14;
  font-weight: 900; letter-spacing: .02em; }
.page-head .en { display: block; font-size: clamp(15px, 1.8vw, 20px); color: var(--red); }
.page-head p { color: var(--muted); font-size: 14px; margin: 0; max-width: 720px; font-weight: 500;
  line-height: 2; }
.crumb { font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--muted); }
.crumb:hover { color: var(--red); }

article { max-width: 860px; margin: 0 auto; padding: 44px 0 80px; }

.note-mini { font-size: 12px; color: var(--muted); margin: 6px 0 0; }

.thumb .tag.read { background: var(--ink); color: #fff; left: auto; right: 0; bottom: 0; gap: 0;
  font-weight: 800; letter-spacing: .08em; padding: 6px 11px; }
.thumb .tag.read::before { content: none; }
.ep-sub { font-size: 13.5px; color: var(--muted); font-weight: 600; margin: -4px 0 20px;
  line-height: 1.9; }
.article { font-size: 16px; line-height: 2.15; }
.article p { margin: 0 0 22px; }
.article h2 { margin: 48px 0 16px; font-size: 21px; font-weight: 800; letter-spacing: .04em;
  border-bottom: 1px solid var(--ink); padding-bottom: 10px; }
.article h3 { margin: 34px 0 12px; font-size: 17px; font-weight: 800; letter-spacing: .04em;
  border-left: 3px solid var(--red); padding-left: 14px; }
.article h4 { margin: 26px 0 8px; font-size: 15.5px; font-weight: 800; }
.article ul, .article ol { margin: 0 0 22px; padding-left: 1.4em; }
.article li { margin-bottom: 8px; }
.article blockquote { margin: 28px 0; padding: 20px 26px; background: var(--paper-2);
  border-left: 3px solid var(--red); }
.article blockquote p { margin: 0; font-weight: 600; }
.article img { margin: 30px auto; }
.article hr { border: 0; border-top: 1px solid var(--ink); margin: 44px 0; }
.shownotes { margin-top: 52px; border-top: 1px solid var(--ink); padding-top: 18px; }
.shownotes summary { cursor: pointer; font-weight: 800; letter-spacing: .1em; font-size: 13.5px; }
.shownotes summary::marker { color: var(--red); }

article.prose { max-width: 700px; padding-top: 52px; }
.prose .ep-label, .prose .ep-title, .prose .ep-sub { text-align: center; }

.prose .ep-sub { margin: 0 0 22px; }
.prose .article { font-family: var(--serif); font-size: 17px; line-height: 2.4;
  letter-spacing: .05em; font-weight: 500; }
.prose .article p { margin: 0 0 30px; text-align: justify; }
.prose .article > p:first-child { font-size: 18.5px; }
.prose .article h2, .prose .notes h2 { font-family: var(--serif); border-left: none;
  border-bottom: none; padding: 0; text-align: center; font-size: 22px; font-weight: 700;
  letter-spacing: .14em; margin: 76px 0 12px; }
.prose .article h2::after, .prose .notes h2::after { content: ""; display: block; width: 26px;
  height: 2px; background: var(--red); margin: 18px auto 0; }
.prose .article h2 + p, .prose .article h2 + h3, .prose .notes h2 + p { margin-top: 34px; }
.prose .article h3 { font-family: var(--serif); border-left: none; padding-left: 0;
  font-size: 18px; font-weight: 700; letter-spacing: .18em; margin: 52px 0 18px; }
.prose .article h3::before { content: ""; display: inline-block; width: 16px; height: 2px;
  background: var(--red); margin-right: 12px; vertical-align: .28em; }
.prose .article img { margin: 46px auto; }
.prose .article blockquote { font-weight: 500; }

.prose .chips { justify-content: center; }
@media (max-width: 640px) {
  article.prose { padding-top: 36px; }
  .prose .article { font-size: 16px; line-height: 2.25; }
  .prose .notes { font-size: 15.5px; }
}
.shownotes { margin-top: 52px; border-top: 1px solid var(--ink); padding-top: 18px; }
.shownotes summary { cursor: pointer; font-weight: 800; letter-spacing: .1em; font-size: 13.5px; }
.shownotes summary::marker { color: var(--red); }

.toolbar { display: flex; gap: 20px; align-items: baseline; flex-wrap: wrap; margin-bottom: 34px; }
.toolbar input { flex: 1; min-width: 240px; padding: 12px 2px; border: none;
  border-bottom: 1px solid var(--ink); background: var(--paper); font: inherit; font-size: 15px;
  font-weight: 600; color: var(--ink); border-radius: 0; }
.toolbar input::placeholder { color: #b0b0a8; font-weight: 500; letter-spacing: .02em; }
.toolbar input:focus { outline: none; border-bottom: 2px solid var(--red); margin-bottom: -1px; }
.toolbar input:focus { outline: 2px solid var(--red); outline-offset: -2px; }
.toolbar .count { font-family: var(--disp); font-size: 13px; letter-spacing: .16em; color: var(--muted); }

.list { border-top: 1px solid var(--ink); }
.list a { display: grid; grid-template-columns: 56px 64px 1fr max-content; gap: 20px;
  align-items: center; padding: 13px 10px; border-bottom: 1px solid var(--line);
  font-size: 14.5px; font-weight: 600; transition: background .12s; }
.list a:hover { background: var(--paper-2); }
.list a:hover h3, .list a:hover { text-decoration: none; }
.list a:hover .no { color: var(--red); }
.list .cv { display: block; width: 56px; height: 56px; background: var(--paper-2); }
.list .no { font-family: var(--disp); font-size: 14px; letter-spacing: .06em; }
.list .dt { font-family: var(--disp); font-size: 12px; color: var(--muted); letter-spacing: .1em; }

.ghead { display: flex; align-items: flex-start; gap: 28px; padding: 42px 0 26px;
  border-bottom: 1px solid var(--ink); }
.ghead .gph { width: 116px; height: 116px; flex: none; border-radius: 50%; overflow: hidden;
  border: 1px solid var(--line); background: var(--paper-2); }
.ghead .gph img { width: 100%; height: 100%; object-fit: cover; }
.ghead .gmeta { flex: 1; min-width: 0; }
.ghead .en { display: block; font-size: clamp(15px, 1.8vw, 20px); color: var(--red); }
.ghead h1 { margin: 4px 0 0; font-size: clamp(28px, 4.4vw, 46px); line-height: 1.14;
  font-weight: 900; letter-spacing: .02em; }
.gbio { margin: 13px 0 0; font-size: 14.5px; line-height: 1.95; max-width: 58em; }
.gact { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 19px; }
.gcount { font-size: 12.5px; font-weight: 700; letter-spacing: .1em; color: var(--muted); }

.slink { display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border: 1px solid var(--ink); text-decoration: none;
  transition: background .14s, color .14s; }
.slink:hover { background: var(--ink); color: #fff; }

.slink svg { width: 19px; height: 19px; flex: none; }
.slink svg:not([fill]) { fill: currentColor; }

.slink.brand { width: 46px; height: 46px; border: 0; transition: opacity .15s, transform .15s; }
.slink.brand img { width: 100%; height: 100%; display: block; border-radius: 22%; }
.slink.brand:hover { background: none; opacity: .8; transform: translateY(-2px); }
.hb-links { display: flex; gap: 12px; margin: 22px 0 0; }

.hostbox { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px;
  align-items: center; margin: 76px 0 0; padding: 40px 44px;
  border: 1px solid #c9c8c3; background: var(--paper-2); }
.hostbox .hb-photo { margin: 0; }
.hostbox .hb-photo img { width: 100%; height: auto; display: block; border-radius: 3px; }
.hostbox .hb-text .en { display: block; font-family: var(--disp); font-size: 10.5px;
  letter-spacing: .24em; color: var(--muted); margin-bottom: 9px; }
.hostbox .hb-text h2 { margin: 0 0 15px; font-size: 25px; font-weight: 900;
  letter-spacing: .04em; }
.hostbox .hb-text p { margin: 0; font-size: 15px; line-height: 1.95; color: var(--body-gray); }
.slink + .slink { margin-left: 9px; }

.gpage { grid-template-columns: 1.35fr 1fr; gap: 52px; align-items: start; margin-top: 40px; }

.gpage .gbio { grid-column: 1 / -1; margin: 18px 0 0; font-size: 15px; line-height: 2.05; }
.gpage .side .gcount { margin: 0 0 20px; font-size: 13px; color: var(--muted); }

.av .ph, .cv.av .ph { width: 100%; height: 100%; display: block; fill: #c9c9c1; }

.tpc .cv.av img, .guest .av img, .ghead .gph img { object-position: center 24%; }

.cols2 { display: grid; grid-template-columns: 1.65fr 1fr; gap: 60px; }
.prose p { margin: 0 0 20px; line-height: 2.15; }
.side { border-left: 1px solid var(--ink); padding-left: 32px; font-size: 13.5px; }
.side h3 { margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: .24em; }
.side ul { list-style: none; padding: 0; margin: 0 0 30px; }
.side li { padding: 7px 0; border-bottom: 1px solid var(--line); font-weight: 600; }
.kv { width: 100%; border-collapse: collapse; font-size: 14px; }
.kv th, .kv td { text-align: left; padding: 15px 12px; border-bottom: 1px solid var(--line);
  vertical-align: top; }
.kv th { width: 200px; font-weight: 800; letter-spacing: .06em; }
.kv tr:hover { background: var(--paper-2); }

.kv td .src { display: block; margin-top: 7px; font-size: 11.5px; line-height: 1.8;
  color: var(--muted); letter-spacing: 0; }

.doc { max-width: 820px; }
.doc .page-head p { max-width: none; }

.cred-line { display: inline-flex; align-items: center; gap: 11px; margin: 24px 0 0;
  text-decoration: none; color: var(--ink); }
.cred-line img { width: 24px; height: 24px; flex: none; }
.cred-line b { font-size: 15px; font-weight: 800; letter-spacing: .03em;
  border-bottom: 2px solid var(--red); padding-bottom: 3px; }
.cred-line:hover b { background: var(--red); color: #fff; border-bottom-color: var(--red); }
.cred-line .go { font-size: 11.5px; color: var(--muted); letter-spacing: .02em; }
.cred-line:hover .go { color: var(--ink); }
@media (max-width: 700px) {
  .cred-line { display: flex; flex-wrap: wrap; gap: 8px 10px; }
  .cred-line b { flex: 1 1 calc(100% - 32px); }
  .cred-line .go { flex: 1 1 100%; }
}

.kv th { text-wrap: balance; }
.page-head p, .sec > p { text-wrap: pretty; }
html[lang="ja"] h1, html[lang="ja"] .kv th,
html[lang="ja"] .page-head p, html[lang="ja"] .sec > p { word-break: auto-phrase; }
.cta { background: var(--navy); color: #fff; padding: 44px 40px; margin-top: 48px; }
.cta h3 { margin: 0 0 12px; font-size: 20px; font-weight: 800; letter-spacing: .08em; }
.cta p { margin: 0 0 22px; font-size: 13.5px; opacity: .82; line-height: 2; }
.cta a.btn { display: inline-block; background: var(--red); color: #fff; padding: 13px 30px;
  font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.cta a.btn:hover { background: #fff; color: var(--night); }

.figs { display: grid; gap: 1px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  background: var(--line); border: 1px solid var(--ink); margin: 0 0 34px; }
.figs > div { background: var(--paper); padding: 20px 14px 16px; text-align: center;
  line-height: 1.55; }
.figs .n { font-family: var(--disp); font-size: 40px; line-height: 1; }
.figs .n small { color: var(--red); }
.figs .l { font-size: 11px; letter-spacing: .24em; color: var(--ink); margin-top: 8px;
  font-weight: 700; line-height: 1.5; }
.figs .s { font-size: 10.5px; color: var(--muted); margin-top: 4px; font-weight: 500;
  letter-spacing: .02em; line-height: 1.5; text-wrap: balance; }

.brands { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; align-items: center; }
.brands span { border: 1px solid #cfcfc8; padding: 8px 16px; font-size: 13px; font-weight: 700;
  letter-spacing: .04em; }
.brands span.hl { border: 2px solid var(--ink); padding: 9px 18px; font-size: 14px; }
.brands span.etc { border-style: dashed; color: var(--muted); font-weight: 500; }

.flist { max-width: 820px; }
.flist li { padding: 13px 0; border-top: 1px solid var(--line); font-weight: 700; font-size: 15px;
  letter-spacing: .02em; }
.flist li:last-child { border-bottom: 1px solid var(--line); }

footer { background: var(--night); color: rgba(255,255,255,.78); margin-top: 100px;
  padding: 52px 0 26px; font-size: 13px; border-top: 2px solid var(--red); }
footer .ftop { display: flex; justify-content: space-between; align-items: flex-start;
  gap: 22px 48px; flex-wrap: wrap; margin-bottom: 30px; }
footer .ftop p { max-width: 46em; opacity: .8; margin: 9px 0 0; line-height: 1.75; }
footer .fplay { display: flex; gap: 24px; flex-wrap: wrap; padding-top: 10px; }
footer .fplay a { font-size: 11.5px; font-weight: 600; letter-spacing: .14em;
  color: rgba(255,255,255,.6); }
footer .fplay a::after { content: " ↗"; font-size: 10px; }
footer .frow { display: grid; grid-template-columns: 112px 1fr; gap: 8px 20px;
  align-items: baseline; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.11); }
footer .frow ul { display: flex; flex-wrap: wrap; gap: 6px 22px; }
footer .frow li { padding: 0; }
footer h4 { margin: 0 0 14px; font-family: var(--disp); font-size: 11px; font-weight: 400;
  letter-spacing: .24em; color: rgba(255,255,255,.5); text-transform: uppercase; }
footer .frow h4 { margin: 0; }
footer a { color: rgba(255,255,255,.75); }
footer a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--red);
  text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
footer ul { list-style: none; padding: 0; margin: 0; }
footer li { padding: 5px 0; }
footer .foot-logo { font-size: 20px; font-weight: 800; color: #fff; letter-spacing: .1em; }
footer .fine { border-top: 1px solid rgba(255,255,255,.14); margin-top: 22px; padding-top: 16px;
  font-size: 11px; opacity: .5; display: flex; gap: 18px; flex-wrap: wrap; letter-spacing: .04em; }

main p a, main li a, main td a { text-decoration: underline; text-decoration-thickness: 1.5px;
  text-underline-offset: 4px; text-decoration-color: var(--red); }
main p a:hover, main li a:hover, main td a:hover { color: var(--red); }
.lead p a, .card p a, .listenbox a, .epbanner a { text-decoration: none; }

main p a, main li a, main td a { text-decoration: underline; text-decoration-thickness: 1.5px;
  text-underline-offset: 4px; text-decoration-color: var(--red); }
main p a:hover, main li a:hover, main td a:hover { color: var(--red); }
.lead p a, .card p a, .listenbox a, .epbanner a { text-decoration: none; }

@keyframes tick { to { transform: translateX(-50%); } }
.eq { display: flex; gap: 3px; align-items: flex-end; height: 12px; }
.eq i { width: 3px; height: 4px; background: var(--red); animation: eq .9s ease-in-out infinite; }
.eq i:nth-child(2) { animation-delay: .15s; } .eq i:nth-child(3) { animation-delay: .3s; }
.eq i:nth-child(4) { animation-delay: .45s; }
@keyframes eq { 0%, 100% { height: 3px; } 50% { height: 12px; } }
.masthead .wrap { position: relative; }
.bigen { position: absolute; right: 32px; top: -12px; text-align: right; font-family: var(--disp);
  font-size: clamp(90px, 13vw, 180px); line-height: .92; color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.13); pointer-events: none; user-select: none; }
.wall { overflow: hidden; margin-top: 84px; border-top: 1px solid rgba(255,255,255,.14); }
.wall .row { display: flex; width: max-content; animation: tick 46s linear infinite; }
.wall:hover .row { animation-play-state: paused; }
.wall a { flex: none; width: max(150px, 12.5vw); }
.wall img { width: 100%; height: auto; filter: grayscale(1); opacity: .82;
  transition: filter .35s, opacity .35s; }
.wall a:hover img { filter: none; opacity: 1; }

.picker { margin-top: 84px; border-top: 1px solid rgba(255,255,255,.14); padding: 36px 0 60px; }

.masthead > .wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 56px;
  align-items: center; }
.hero-art { width: min(400px, 33vw); border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 34px 90px rgba(0,0,0,.55); }
.hero-art img { width: 100%; height: auto; display: block; }

@media (max-width: 900px) {
  
  .masthead > .wrap { grid-template-columns: 1fr; gap: 30px; }
  .hero-art { width: 210px; justify-self: start; }
}

.rail .rw { display: flex; gap: 26px; overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none; padding-bottom: 6px; }
.rail .rw::-webkit-scrollbar { display: none; }
.rail .rw .card { flex: none; width: 300px; scroll-snap-align: start; }
.rail .rmore { flex: none; width: 220px; border: 1px solid var(--ink); scroll-snap-align: start;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  font-size: 13px; font-weight: 700; letter-spacing: .08em;
  transition: background .15s, color .15s; }
.rail .rmore b { font-family: var(--disp); font-weight: 400; font-size: 30px; letter-spacing: .04em; }
.rail .rmore:hover { background: var(--ink); color: #fff; }
.sec-head .arr { margin-left: auto; display: flex; gap: 8px; align-self: center; }
.arr button { width: 42px; height: 42px; border: 1px solid var(--ink); background: var(--paper);
  color: var(--ink); font-size: 15px; cursor: pointer; border-radius: 0;
  transition: background .15s, color .15s; }
.arr button:hover { background: var(--ink); color: #fff; }

@media (max-width: 820px) {
  .hostbox { grid-template-columns: 1fr; gap: 26px; padding: 28px 24px; margin-top: 46px; }
  .hostbox .hb-photo { max-width: 240px; }
  .hostbox h2 { font-size: 22px; }

  .tpc { grid-template-columns: 72px 1fr; gap: 6px 16px; padding: 16px 10px; }
  .tpc .cv { width: 72px; height: 72px; grid-row: 1 / 3; }
  .tpc .t { grid-column: 2; font-size: 17px; }
  .tpc .ep { grid-column: 2; }
  .tpc .ep .k { display: none; }
  .tpc .ep .h { font-size: 12.5px; color: var(--muted); }
  .tpc .go { display: none; }
}

@media (max-width: 820px) { .tpc.chn .bg { font-size: 34px; right: 12px; } }

@media (max-width: 900px) { .tpcs.dense { grid-template-columns: 1fr; } }

.ch { --cat: var(--ink); display: grid; grid-template-columns: 108px 232px 1fr auto; gap: 26px;
  align-items: baseline; padding: 30px 24px; border-bottom: 1px solid var(--line); position: relative;
  overflow: hidden; transition: background .22s; }
.ch[data-col="japan-travel"] { --cat: var(--c-travel); }
.ch[data-col="food"] { --cat: var(--c-food); }
.ch[data-col="hotel"] { --cat: var(--c-hotel); }
.ch[data-col="culture"] { --cat: var(--c-culture); }
.ch[data-col="trend"] { --cat: var(--c-trend); }
.ch[data-col="railway"] { --cat: var(--c-railway); }
.ch[data-col="life"] { --cat: var(--c-life); }
.ch .v { font-size: 11px; font-weight: 700; letter-spacing: .24em; color: var(--muted);
  display: flex; align-items: center; gap: 8px; transition: color .2s; }
.ch .v::before { content: ""; width: 8px; height: 8px; background: var(--cat); flex: none; }
.ch h3 { margin: 0; font-size: clamp(19px, 2vw, 25px); font-weight: 900; letter-spacing: .06em;
  transition: color .2s; }
.ch p { margin: 0; font-size: 12.5px; color: var(--muted); font-weight: 500; transition: color .2s; }
.ch .n { font-family: var(--disp); font-size: 13px; color: var(--muted); letter-spacing: .14em;
  transition: opacity .2s; }
.ch .n::after { content: " →"; }
.ch .bg { position: absolute; right: 20px; top: 50%; transform: translate(44px, -50%);
  font-family: var(--disp); font-size: 74px; line-height: 1; color: var(--cat); opacity: 0;
  transition: transform .3s cubic-bezier(.2,.6,.2,1), opacity .3s; pointer-events: none; }
.ch:hover { background: var(--ink); border-color: var(--ink); }
.ch:hover .v { color: rgba(255,255,255,.65); }
.ch:hover h3 { color: #fff; }
.ch:hover p { color: rgba(255,255,255,.55); }
.ch:hover .n { opacity: 0; }
.ch:hover .bg { opacity: 1; transform: translate(0, -50%); }

@media (prefers-reduced-motion: reduce) {
  .ticker .tk, .wall .row, .eq i { animation: none; }
  .pk-it { transition: none; }
}
@media (max-width: 900px) { .bigen { display: none; } }
@media (max-width: 900px) {
  .cols2 { grid-template-columns: 1fr; gap: 32px; }
  .side { border-left: 0; padding-left: 0; border-top: 1px solid var(--ink); padding-top: 26px; }
  .lead { grid-template-columns: 1fr; gap: 24px; }
  footer .cols { grid-template-columns: 1fr 1fr; }
  
  .site-head .wrap { position: relative; min-height: 0; padding-top: 14px; padding-bottom: 12px;
    flex-direction: column; align-items: center; gap: 0; }
  .site-head .logo::after { content: none; }
  .navbtn { display: flex; flex-direction: column; justify-content: center; gap: 5px;
    position: absolute; right: 26px; top: 50%; transform: translateY(-50%);
    width: 34px; height: 30px; padding: 0; border: 0; background: none; cursor: pointer; }
  .navbtn span { display: block; height: 2px; width: 100%; background: var(--ink);
    transition: transform .22s ease, opacity .16s ease; }
  .site-head.open .navbtn span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .site-head.open .navbtn span:nth-child(2) { opacity: 0; }
  .site-head.open .navbtn span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .site-head nav { display: none; margin-left: 0; width: 100%; }
  .site-head.open nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0;
    margin-top: 12px; border-top: 1px solid var(--line); }
  .site-head.open nav a { white-space: nowrap; text-align: center; padding: 13px 4px;
    border-bottom: 1px solid var(--line); background-image: none; }
  .site-head.open nav a:nth-child(odd) { border-right: 1px solid var(--line); }
  
  .site-head nav a.bizhead { margin-left: 0; }
  .site-head nav a.bizhead::before { content: none; }
  
  .site-head.open nav a:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
  .site-head.open nav a.on { background: var(--ink); color: #fff; }

  
  .kv, .kv tbody, .kv tr, .kv th, .kv td { display: block; width: auto; }
  .kv th { border-bottom: 0; padding: 15px 12px 0; }
  .kv td { padding: 7px 12px 15px; }

  
  .cta { padding: 34px 22px; }
  .cta a.btn { display: block; text-align: center; padding: 13px 16px;
    word-break: break-all; }
}
@media (max-width: 700px) {
  .ghead { gap: 18px; padding: 30px 0 20px; }
  .ghead .gph { width: 78px; height: 78px; }
  .grec { grid-template-columns: 1fr; gap: 16px; }

  footer .frow { grid-template-columns: 1fr; gap: 7px; }

  body { font-size: 15px; }
  .picker { margin-top: 48px; padding: 28px 0 44px; }
  .pk-row { padding: 6px calc(50vw - 30vw); }
  .langbar a { margin-left: 0; }
  
  .site-head .logo { font-size: 19px; }
  .navbtn { right: 20px; }
  .site-head.open nav a { white-space: nowrap; font-size: 12px; line-height: 1.6;
    letter-spacing: .12em; }
  
  .ticker { display: none; }
  .masthead > .wrap { padding-top: 36px; }
  .hero-art { width: 200px; }
  .masthead .subs { gap: 14px; margin-top: 26px; }
  .masthead .subs a img { width: 32px; height: 32px; }
  .masthead .subs a.pf-round img { width: 35px; height: 35px; }
  .sec { margin: 68px 0; }
  .stats .wrap { grid-template-columns: repeat(3, 1fr); }
  .stats .wrap > div:nth-child(4) { border-left: 0; }
  .stats .n { font-size: 30px; }
  
  .track .wrap { gap: 10px 14px; }
  .track .brands { flex: 1 1 100%; }
  .track .tk-links { margin-left: 0; flex: 1 1 100%; }
  .grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 32px 16px; }
  .card h3 { font-size: 13px; }
  .list a { grid-template-columns: 48px 1fr; gap: 6px 14px; align-items: start; padding: 12px 4px; }
  .list .cv { width: 48px; height: 48px; grid-row: 1 / span 2; align-self: start; }
  .list .t { grid-column: 2; grid-row: 1; }
  .list .no { grid-column: 2; grid-row: 2; justify-self: start; }
  .list .dt { grid-column: 2; grid-row: 2; justify-self: end; }
  .pn { grid-template-columns: 1fr; }
  .pn .r { text-align: left; padding-left: 4px; }
  footer .cols { grid-template-columns: 1fr; }
  article { padding-top: 28px; }
  .ch { grid-template-columns: 1fr auto; gap: 4px 14px; padding: 20px 10px; }
  .ch .v { grid-column: 1 / -1; }
  .ch p { display: none; }
  .ch .bg { font-size: 42px; right: 12px; }
  .wall a { width: 170px; }
  .rail .rw { gap: 16px; }
  .rail .rw .card { width: 180px; }
  .rail .rmore { width: 150px; }
  .sec-head .arr { display: none; }
  .listenbox { padding: 24px 20px 20px; }
  .listenbox .src img { width: 64px; height: 64px; }
}

[id] { scroll-margin-top: 170px; }

.site-head .logo::after {
  font-family: var(--sans); font-weight: 700; font-size: 9.5px;
  letter-spacing: .24em; line-height: 1.25; white-space: nowrap;
}

:root {
  
  --doc: 820px;
  
  --sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif; 
  
  --soft-amber: #f7f2e4;   
  --edge-amber: #c9ab6a;
  
  --edge-orange: #e5822e;
  
  --green: #4caf50;
  --navy-rule: #728db9;
}

.doc, .cols2 .prose { max-width: var(--doc); }

@media (min-width: 901px) { .cols2 { grid-template-columns: minmax(0, var(--doc)) 1fr; } }

.sec-head h2 { font-size: clamp(26px, 2.6vw, 34px); }
.sec-head { margin-bottom: 32px; padding-bottom: 14px; }
.sec-head .zh { font-size: 12.5px; letter-spacing: .24em; }
.card h3 { font-size: 16.5px; line-height: 1.75; }
.lead h3 { font-size: clamp(21px, 2.5vw, 30px); }
.card .meta { font-size: 11.5px; margin: 15px 0 9px; }

.card .meta .no { font-family: var(--sans); font-size: 11.5px; font-weight: 700;
  letter-spacing: .16em; color: var(--muted); }
.grid { gap: 52px 32px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.stats .n { font-size: 34px; }
@media (max-width: 700px) {
  .card h3 { font-size: 15px; }
  .grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 34px 18px; }
}

.card[data-col="hotel"], .tile[data-col="hotel"] { --cat: var(--navy); }
.card[data-col="air"], .tile[data-col="air"] { --cat: var(--c-trend); }
.card[data-col="travel"], .tile[data-col="travel"] { --cat: var(--c-travel); }
.card[data-col="card"], .tile[data-col="card"] { --cat: var(--muted); }
.card[data-col="points"], .tile[data-col="points"] { --cat: var(--muted); }

.card .thumb { aspect-ratio: 3 / 2; }

.post { max-width: calc(var(--doc) + 48px); margin: 0 auto; padding: 0 24px; }
.post-head { margin: 0 0 26px; }

.post-head h1 {
  font-family: var(--sans); font-weight: 900;
  font-size: clamp(28px, 3.9vw, 38px); line-height: 1.42;
  margin: 0 0 14px; text-wrap: balance;
}
.post .meta { font-size: 12.5px; color: var(--muted); margin: 0; letter-spacing: .1em;
  font-weight: 600; font-variant-numeric: tabular-nums; display: block; }

.post .cover { margin: 30px 0 34px; }
.post .cover img { display: block; width: 100%; height: auto; }

.tagrow { margin: 40px 0 14px; display: flex; flex-wrap: wrap; gap: 14px; }
.tagrow a {
  font-size: 12px; letter-spacing: .12em; font-weight: 700; color: var(--ink);
  text-decoration: none; border-bottom: 1px solid var(--line); padding-bottom: 2px;
}

.tagrow .kind { font-size: 12px; letter-spacing: .12em; color: var(--muted); font-weight: 500; }

.tagrow.is-tags { margin: 46px 0 0; gap: 12px 14px; align-items: baseline;
  justify-content: flex-start; }
.post .tagrow.is-tags { justify-content: center; }
.tagrow.is-tags .rl {
  font-size: 11px; letter-spacing: .24em; font-weight: 700; color: var(--muted);
  border: 0; padding: 0;
}
.tagrow.is-tags a {
  font-size: 13px; font-weight: 500; letter-spacing: .04em;
  border-bottom-color: var(--line);
}
.tagrow.is-tags a:hover { border-bottom-color: var(--ink); }
.tagrow.is-tags .n { font-size: 11px; font-weight: 400; color: var(--muted); margin-left: 5px; }
.tagrow.is-tags .more { color: var(--muted); }

.tagback { margin: 48px 0 0; text-align: center; font-size: 13px; }
.tagback a {
  color: var(--muted); text-decoration: none; border-bottom: 1px solid var(--line);
  padding-bottom: 2px;
}
.tagback a:hover { color: var(--ink); border-bottom-color: var(--ink); }

.disclosure {
  font-size: 13px; line-height: 1.85; color: var(--muted);
  padding: 0 0 0 16px; border-left: 2px solid var(--line); margin: 0 0 30px;
}
.disclosure p { margin: 0; font-size: inherit; line-height: inherit; }
.disclosure p + p { margin-top: 6px; }

.disclosure-partner { margin: 0 0 30px; font-weight: 700; color: var(--body-gray);
  font-size: 13px; line-height: 1.85; }
.post .disclosure:has(+ .disclosure-partner) { margin-bottom: 10px; }

.body .contact { margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--line);
  font-size: 15px; color: var(--body-gray); }
.body .contact a { color: var(--navy); text-decoration: underline;
  text-decoration-thickness: 1px; text-underline-offset: .2em; }
.body .contact a:hover { color: var(--cta-blue); }

.stale {
  font-size: 13.5px; line-height: 1.8; color: #7a5a1e; margin: 0 0 28px;
  background: var(--soft-amber); border-left: 3px solid var(--edge-amber); padding: 12px 16px;
}

.toc { background: none; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line);
  padding: 20px 4px 24px; margin: 0 0 56px; }
.toc > b { font-size: 11.5px; letter-spacing: .24em; display: block; margin-bottom: 12px; color: var(--muted); }

.toc > b::before { content: ""; display: inline-block; width: 8px; height: 8px;
  background: var(--red); margin-right: 10px; }
.toc li::marker { color: var(--red); font-weight: 700; }

.toc ol { margin: 0; padding-left: 1.3em; font-size: 15.5px; color: var(--ink); line-height: 1.9;
  columns: 2 280px; column-gap: 44px; }
.toc li { margin: 2px 0; break-inside: avoid; }
.toc a { color: var(--ink); text-decoration: none; }
.toc a:hover { color: var(--red); }

.body { text-wrap: pretty; font-size: 18px; line-height: 1.95; }
.body > * { max-width: 100%; }
.body h2 {
  font-family: var(--sans); font-weight: 700; font-size: 24px; line-height: 1.55;
  margin: 84px 0 22px; padding-bottom: 12px; border-bottom: 1px solid var(--ink);
}
.body h3 { font-size: 19px; font-weight: 700; margin: 54px 0 14px; line-height: 1.6;
  border-left: 3px solid var(--red); padding-left: 14px; }
.body h4 { font-size: 17px; margin: 32px 0 8px; color: var(--muted); }
.body p { margin: 0 0 1.7em; }

.body > p:first-child:not(.is-style-stitch) { font-size: 19.5px; line-height: 2.05; }
.body ul, .body ol { padding-left: 1.5em; margin: 0 0 1.7em; }
.body li { margin: 0 0 .6em; }
.body a { color: var(--navy); }
.body a:hover { color: var(--red); }

main p a, main li a, main td a { text-decoration-color: var(--navy-rule); }
.body strong { font-weight: 700; }
.body hr { border: 0; border-top: 1px solid var(--line); margin: 60px 0; }
.body blockquote {
  margin: 0 0 1.7em; padding: 4px 0 4px 22px;
  border-left: 2px solid var(--line); color: var(--muted); font-size: 17px;
}

.body figure { margin: 48px 0; }
.body > figure.wp-block-image { width: auto; max-width: 100%;
  margin-left: 40px; margin-right: 40px; }

.body > .wp-block-columns:has(img),
.body > .wp-block-group:not([class*="is-style-"]) > .wp-block-group__inner-container
  > .wp-block-columns:has(img)
  { margin-left: 40px; margin-right: 40px; }
@media (max-width: 600px) {
  .body > .wp-block-columns:has(img),
  .body > .wp-block-group:not([class*="is-style-"]) > .wp-block-group__inner-container
    > .wp-block-columns:has(img)
    { margin-left: 0; margin-right: 0; }
}
@media (max-width: 600px) {
  .body > figure.wp-block-image { margin-left: 0; margin-right: 0; }
}
.body figure img { display: block; margin: 0 auto; }
.body figcaption, .body .wp-caption-text {
  font-size: 12.5px; color: var(--muted); text-align: left; margin-top: 12px; line-height: 1.8;
  letter-spacing: .02em;
}

.post.dense-photo { max-width: calc(var(--doc) + 48px); }

@media (min-width: 761px) {
  .body .tblscroll table th:first-child, .body .tblscroll table td:first-child,
  .body .tblscroll table th:nth-child(2), .body .tblscroll table td:nth-child(2) {
    white-space: nowrap;
  }
}

.body .wp-block-columns { display: flex; gap: 12px; margin: 40px 0; }
.body > .wp-block-columns { width: auto; max-width: 100%; margin-left: 0; }
.body .wp-block-column { flex: 1 1 0; min-width: 0; }
.body .wp-block-columns figure { margin: 0; }
.body .wp-block-media-text { display: grid; grid-template-columns: 1fr 1fr; gap: 22px;
  align-items: center; margin: 40px 0; }
.body .wp-block-media-text figure { margin: 0; }

.body iframe { max-width: 100%; border: 0; }
.body .wp-block-embed { margin: 40px 0; }
.body .wp-block-embed__wrapper { max-width: 100%; overflow-x: auto; }
.body .wp-block-embed__wrapper > * { max-width: 100%; }

.body figure.wp-block-table { display: flex; flex-direction: column;
  margin: 56px 0; width: auto; max-width: 100%; margin-left: 0;
  background: #f5f2ea; padding: 24px 20px; }
.body figure.wp-block-table .tblscroll { overflow-x: auto; }
.body figure.wp-block-table figcaption { order: -1; }
.body figure.wp-block-table .tnote { margin: 14px 0 0;
  font-size: 12.5px; line-height: 1.9; color: var(--muted); }
.body figure.wp-block-table figcaption { margin: 0 0 14px;
  font-size: 13px; font-weight: 700; letter-spacing: .05em; color: var(--ink);
  text-align: left; line-height: 1.7; }

.body figure.wp-block-table figcaption::before { content: ""; display: inline-block;
  width: 8px; height: 8px; background: var(--red); margin-right: 10px; }
.body table { border-collapse: collapse; font-size: 14px; line-height: 1.75; width: 100%;
  border-top: 2px solid var(--ink); }
.body figure.wp-block-table table { min-width: 0; }
.body th, .body td { border: 0; border-bottom: 1px solid var(--line);
  padding: 13px 18px 13px 0; text-align: left; vertical-align: top; }
.body thead th { border-bottom: 1px solid var(--ink); font-weight: 700; font-size: 11.5px;
  letter-spacing: .14em; color: var(--muted); padding-top: 11px; padding-bottom: 9px;
  white-space: nowrap; }
.body tbody th, .body tbody td:first-child { font-weight: 700; }
.body tbody tr:last-child th, .body tbody tr:last-child td { border-bottom: 1px solid var(--ink); }
.body td { font-variant-numeric: tabular-nums; }

.body table em { font-style: normal; font-size: 12px; color: var(--muted); }

.c-scrollHint { display: none; font-size: 12px; color: var(--muted); margin-bottom: 6px; }

.next { max-width: 908px; margin: 84px auto 0; padding: 0 24px; }

.next .why { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .14em;
  color: var(--ink); margin: 0 0 10px; }

.next .why::before { content: ""; display: inline-block; width: 8px; height: 8px;
  background: var(--cat, var(--ink)); margin-right: 9px; }

.next .lanes { display: grid; grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto auto auto; column-gap: 34px; row-gap: 0; }
.next .lane { display: grid; grid-row: span 4; grid-template-rows: subgrid;
  align-content: start; }
.next .lane > .card { display: grid; grid-row: span 3; grid-template-rows: subgrid;
  align-content: start; }

.next .card .thumb { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 4px; }
.next .card .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.next .card h3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden; }

.next .lane-rest { list-style: none; margin: 14px 0 0; padding: 13px 0 0;
  border-top: 1px solid var(--line); display: grid; gap: 14px; }
.next .lane-rest li { padding: 0; }
.next .lane-rest a { display: grid; grid-template-columns: 76px 1fr; gap: 12px;
  align-items: start; }
.next .lane-rest .mth { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 3px; }
.next .lane-rest .mth img { width: 100%; height: 100%; object-fit: cover; display: block; }
.next .lane-rest .tx { display: grid; gap: 3px; min-width: 0; }
.next .lane-rest .m { font-size: 11px; letter-spacing: .1em; color: var(--muted); }
.next .lane-rest .t { font-size: 13px; line-height: 1.6; font-weight: 700; color: var(--ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.next .lane-rest a:hover .t { text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: var(--navy); }

.is-ph { position: relative; display: grid; place-items: center;
  background: var(--paper-2); border: 1px solid var(--line); }
.is-ph::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px; background: var(--cat, var(--ink)); }
.is-ph span { font-size: 11px; letter-spacing: .22em; color: var(--muted);
  font-weight: 700; }

.ct.is-ph { display: inline-grid; width: 480px; max-width: 100%; aspect-ratio: 16 / 9; }
.next .lane-rest .is-ph span { font-size: 10px; letter-spacing: .12em; }
@media (max-width: 860px) {
  .next .lanes { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 40px; }
  .next .lane { grid-row: auto; grid-template-rows: none; }
  .next .lane > .card { grid-row: auto; grid-template-rows: none; }
}

.swl-marker, .swl-marker.mark_blue, .swl-marker.mark_green,
.swl-marker.mark_orange, .swl-marker.mark_yellow {
  background: none;
  text-decoration: underline;
  text-decoration-color: var(--red);
  
  text-decoration-thickness: 1.5px;
  text-underline-offset: .24em;
}

.post-head h1 .swl-marker, .body h2 .swl-marker, .body h3 .swl-marker,
.body h4 .swl-marker { text-decoration: none; }

.em-brand {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--red);
  
  text-decoration-thickness: 1.5px;
  text-underline-offset: .24em;
}
.post-head h1 .em-brand, .body h2 .em-brand, .body h3 .em-brand,
.body h4 .em-brand { text-decoration: none; }

.is-style-crease, .is-style-double:not(figure), .is-style-emboss_box {
  margin: 56px 0; padding: 28px 32px; background: var(--wash); border: 1px solid var(--wash-line);
  border-radius: 10px;
}
.body .wp-block-group > .wp-block-group__inner-container > *:first-child { margin-top: 0; }
.body .wp-block-group > .wp-block-group__inner-container > *:last-child { margin-bottom: 0; }
.is-style-crease > *:last-child, .is-style-double > *:last-child,
.is-style-emboss_box > *:last-child { margin-bottom: 0; }
.body .p-blogParts { margin: 0; }

.body .p-blogParts[data-kind="ad"] { border: 0; background: none;
  border-top: 2px solid var(--navy); border-bottom: 1px solid var(--line);
  padding: 14px 0 28px; margin: 56px 0; }
.body .p-blogParts[data-kind="ad"]::before { content: "PR"; display: block;
  font-family: var(--disp); font-size: 11px; letter-spacing: .24em; color: var(--navy);
  margin-bottom: 18px; }
.body .p-blogParts[data-kind="ad"] > *:first-child { margin-top: 0; }
.body .p-blogParts[data-kind="ad"] .pb-cv-box { margin: 32px 0; }

.body .wp-block-group h4 { margin: 0 0 22px; font-size: 16px; font-weight: 700;
  letter-spacing: .08em; color: var(--ink); text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 10px; }

.body .wp-block-group h4::after { content: ""; width: 34px; height: 2px; background: var(--red); }
.body .wp-block-group h4 strong { font-weight: 700; }

.body .wp-block-group p, .body .wp-block-group li { font-size: 16px; line-height: 2; }
.body .wp-block-group figure.wp-block-table { margin: 22px 0; }

.body .wp-block-group:has(> .wp-block-group__inner-container > figure.wp-block-table):not(:has(h4)) {
  background: none; padding: 0; border: 0; }
.body .wp-block-group:has(> .wp-block-group__inner-container > figure.wp-block-table):not(:has(h4))
  .wp-block-group__inner-container > figure.wp-block-table { margin: 0; }
.body .wp-block-group:has(> .wp-block-group__inner-container > figure.wp-block-table):not(:has(h4))
  .wp-block-group__inner-container > p { font-size: 12.5px; line-height: 1.9;
  color: var(--muted); margin: 14px 0 0; }

.is-style-icon_info, .is-style-icon_pen, .is-style-icon_good {
  margin: 34px 0; padding: 12px 18px 13px; font-size: 16px; line-height: 1.8;
  background: none; border: 1px solid #e3c8c8; border-radius: 10px;
}
.is-style-icon_info::before {
  content: "INFO"; display: block; font-family: var(--disp); font-size: 11px;
  letter-spacing: .24em; color: #9e4640; margin-bottom: 4px;
}
.is-style-icon_pen, .is-style-icon_good { background: var(--wash); border-left-color: #a9b6cc; }

.is-style-big_icon_good, .is-style-big_icon_memo,
.is-style-big_icon_point, .is-style-big_kakko_box {
  margin: 56px 0; padding: 28px 32px; background: var(--wash); border: 1px solid var(--wash-line);
  border-radius: 10px;
}
.is-style-big_icon_good > *:last-child, .is-style-big_icon_memo > *:last-child,
.is-style-big_icon_point > *:last-child { margin-bottom: 0; }

.is-style-big_icon_good, .is-style-big_icon_memo, .is-style-big_icon_point,
.swell-block-capbox { position: relative; }
.is-style-big_icon_good::before, .is-style-big_icon_memo::before,
.is-style-big_icon_point::before, .swell-block-capbox::before {
  content: ""; position: absolute; top: -14px; left: 20px; z-index: 1;
  width: 28px; height: 28px; border-radius: 50%;
}

.is-style-big_icon_good::after, .is-style-big_icon_memo::after,
.is-style-big_icon_point::after, .swell-block-capbox::after {
  content: ""; position: absolute; top: 0; left: 34px; z-index: 2;
}

.is-style-big_icon_good { border: 1px solid #d3e6d2; }
.is-style-big_icon_good::before { background: #4caf50; }
.is-style-big_icon_good::after {
  width: 10px; height: 5px; margin-top: -1px;
  border-left: 2px solid #fff; border-bottom: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.is-style-big_icon_memo { border: 1px solid var(--line); }
.is-style-big_icon_memo::before { background: var(--muted); }
.is-style-big_icon_memo::after {
  width: 6px; height: 16px;
  transform: translate(-50%, -50%) rotate(45deg);
  -webkit-clip-path: polygon(0 0, 6px 0, 6px 11px, 3px 16px, 0 11px);
  clip-path: polygon(0 0, 6px 0, 6px 11px, 3px 16px, 0 11px);
  background: linear-gradient(#fff 0 3px, transparent 3px 4px,
    #fff 4px 12px, transparent 12px 13px, #fff 13px 16px);
}

.is-style-big_icon_point { border: 1px solid #f2dac6; }
.is-style-big_icon_point::before { background: var(--edge-orange); }
.is-style-big_icon_point::after {
  width: 12px; height: 16px; transform: translate(-50%, -50%);
  background-image:
    radial-gradient(circle at 6px 5px, #fff 0 5px, transparent 5.5px),
    linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  background-size: 100% 100%, 6px 2px, 4px 2px;
  background-position: 0 0, 50% 11px, 50% 14px;
  background-repeat: no-repeat;
}

.is-style-check_list { list-style: none; padding-left: 0; }
.is-style-check_list li { position: relative; padding-left: 26px; }

.body .is-style-check_list { padding-left: 0; }
.is-style-check_list li::before {
  content: ""; position: absolute; left: 4px; top: .68em;
  width: 11px; height: 6px; border-left: 2px solid var(--green);
  border-bottom: 2px solid var(--green); transform: rotate(-45deg);
}

.is-style-check_list[data-flow="2"] { columns: 2 15em; column-gap: 40px; }
.is-style-check_list[data-flow="3"] { columns: 3 10em; column-gap: 32px; }
.is-style-check_list[data-flow] > li { break-inside: avoid; }

.is-style-index { list-style: none; padding-left: 0; counter-reset: idx; }
.is-style-index li { padding-left: 32px; counter-increment: idx; margin: 0 0 1em; }
.is-style-index li:last-child { margin-bottom: 0; }

.is-style-index li::before {
  content: counter(idx) "｜"; display: inline-block; width: 32px; margin-left: -32px;
  font-size: 14px; line-height: 1; color: var(--muted); font-weight: 600;
  letter-spacing: .02em;
}
.is-style-num_circle { list-style: decimal; padding-left: 1.6em; }

.swell-block-capbox { margin: 56px 0; background: #fcf1ee; border: 1px solid #f0d9d4;
  border-radius: 10px; }
.swell-block-capbox::before { background: var(--red); }
.swell-block-capbox::after {
  width: 3px; height: 14px; transform: translate(-50%, -50%);
  background: linear-gradient(#fff 0 3px, transparent 3px 5.5px, #fff 5.5px 14px);
}
.cap_box_ttl { padding: 24px 32px 0; font-size: 16px; font-weight: 700;
  letter-spacing: .08em; color: var(--ink); text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 10px; }
.cap_box_ttl::after { content: ""; width: 34px; height: 2px; background: var(--red); }
.cap_box_content { padding: 18px 32px 26px; }
.cap_box_content > *:last-child { margin-bottom: 0; }
.cap_box_content p, .cap_box_content li { font-size: 16px; line-height: 2; }

.swell-block-step { margin: 40px 0; counter-reset: step; }
.swell-block-step__item { position: relative; counter-increment: step;
  margin-left: 26px; padding: 0 0 32px 46px; min-height: 52px;
  border-left: 1px dashed var(--line); }
.swell-block-step__item:last-child { border-left-color: transparent; padding-bottom: 0; }
.swell-block-step__number { position: absolute; left: -26px; top: 0;
  width: 52px; height: 52px; border-radius: 50%; background: var(--navy); color: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  line-height: 1; }
.swell-block-step__number .__label { font-family: var(--disp); font-size: 9px;
  letter-spacing: .16em; }
.swell-block-step__number::after { content: counter(step); font-size: 18px;
  font-weight: 700; margin-top: 4px; }
.swell-block-step__title { font-weight: 700; font-size: 18px; line-height: 1.6;
  color: var(--ink); margin: 0 0 10px; }
.swell-block-step__body > *:last-child { margin-bottom: 0; }

@media (max-width: 600px) {
  .swell-block-step__item { margin-left: 22px; padding-left: 32px; min-height: 44px; }
  .swell-block-step__number { left: -22px; width: 44px; height: 44px; }
  .swell-block-step__number::after { font-size: 16px; margin-top: 3px; }
}
.swell-block-dl dt { font-weight: 700; margin-top: 14px; }
.swell-block-dl dd { margin: 4px 0 0; color: var(--muted); }

.swell-block-faq { margin: 40px 0; }
.swell-block-faq__item { padding: 0 0 26px; }
.swell-block-faq__item:last-child { padding-bottom: 0; }
.swell-block-faq .faq_q, .swell-block-faq .faq_a {
  position: relative; margin: 0; padding-left: 44px; min-height: 28px; }
.swell-block-faq .faq_q::before, .swell-block-faq .faq_a::before {
  position: absolute; left: 0; top: .1em; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--line); font-family: var(--disp); font-size: 13px;
  letter-spacing: .04em; }
.swell-block-faq .faq_q { font-weight: 700; color: var(--ink); font-size: 17px;
  line-height: 1.75; margin-bottom: 14px; }

.swell-block-faq .faq_q::before { content: "Q"; color: var(--navy); }
.swell-block-faq .faq_a { color: var(--body-gray); }
.swell-block-faq .faq_a::before { content: "A"; color: var(--muted); }
.swell-block-faq .faq_a > *:last-child { margin-bottom: 0; }

.is-style-btn_line a, a.is-style-btn_line {
  display: inline-block; padding: 10px 24px; border: 1px solid var(--line);
  text-decoration: none; font-weight: 700; font-size: 15px; color: var(--ink);
}
.is-style-btn_line a:hover, a.is-style-btn_line:hover { border-color: var(--ink); }

.is-style-bg_stripe { padding: 20px; background: var(--wash); }
.is-style-photo_frame img { border: 6px solid #fff; box-shadow: 0 1px 6px rgba(0,0,0,.1); }

.body .is-style-stitch, .is-style-stitch { padding: 0 0 0 16px; border: 0;
  border-left: 2px solid var(--line); font-size: 13px; line-height: 1.85;
  color: var(--muted); margin: 0 0 40px; }

.p-blogCard { margin: 56px 0; background: none; border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--line); }
.p-blogCard__inner { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 6px 20px;
  padding: 16px 0; align-items: center; }
.p-blogCard__caption { grid-column: 2; font-size: 10.5px; letter-spacing: .24em;
  color: var(--muted); font-weight: 700; align-self: end; }
.p-blogCard__thumb { order: 0; grid-row: 1 / 3; overflow: hidden; }
.p-blogCard__thumb figure { margin: 0; }
.p-blogCard__thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.p-blogCard__body { order: 1; grid-column: 2; align-self: start; }
.p-blogCard__title { display: block; font-weight: 700; font-size: 15.5px; line-height: 1.7;
  color: var(--ink); text-decoration: none; }
.p-blogCard__title:hover { color: var(--red); }
.p-blogCard__excerpt { display: none; }

.is-style-emboss_box .swell-block-postLink { margin: 0; }
.is-style-emboss_box .swell-block-postLink + .swell-block-postLink { border-top: 1px solid var(--line); }
.is-style-emboss_box .p-blogCard { margin: 0; background: none; border: 0; }
.is-style-emboss_box .p-blogCard__caption,
.is-style-emboss_box .p-blogCard__excerpt { display: none; }
.is-style-emboss_box .p-blogCard__inner { grid-template-columns: 84px minmax(0, 1fr);
  gap: 14px; padding: 13px 0; }
.is-style-emboss_box .p-blogCard__thumb { grid-row: auto; }
.is-style-emboss_box .p-blogCard__title { font-size: 15.5px; line-height: 1.7; }

.body .pb-cv-box { position: relative; margin: 64px 0;
  border: 1px solid var(--cta-line); background: var(--cta-wash);
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 32, 92, .05), 0 10px 28px -14px rgba(0, 32, 92, .22); }
.body .pb-cv-box::before { content: ""; position: absolute; top: 0; left: 0; right: 0;
  height: 3px; background: var(--navy); }
.body .pb-cv-box__inner { padding: 0 0 28px; }

.body .pb-cv-box .pb-image { margin: 0; padding: 34px 30px 0; text-align: center; }
.body .pb-cv-box .pb-image__link { display: inline-block; max-width: 100%; }
.body .pb-cv-box .pb-image img { width: auto; height: auto;
  max-width: min(100%, 420px); max-height: 300px; margin: 0 auto; display: block;
  border-radius: 8px; box-shadow: 0 6px 20px -10px rgba(0, 32, 92, .40); }
.body .pb-cv-box .pb-list { list-style: none; margin: 26px 30px 0; padding: 0; }
.body .pb-cv-box .pb-list li { position: relative; padding-left: 28px; font-size: 15px;
  line-height: 1.9; margin: 0 0 .62em; color: var(--body-gray); }

.body .pb-cv-box .pb-list li strong { color: var(--ink); }
.body .pb-cv-box .pb-list li:last-child { margin-bottom: 0; }

.body .pb-cv-box .pb-list.-icon-check li::before { content: ""; position: absolute; left: 3px;
  top: .6em; width: 11px; height: 6px; border-left: 2px solid var(--navy);
  border-bottom: 2px solid var(--navy); transform: rotate(-45deg); }

.body .pb-cv-box .pb-button { margin: 26px 30px 0; padding-top: 22px;
  border-top: 1px solid var(--cta-line); text-align: center; }
.body .pb-cv-box .pb-button__btn { display: inline-flex; align-items: center; gap: 14px;
  max-width: 100%; background: var(--cta-blue); color: #fff; padding: 14px 22px 14px 14px;
  text-decoration: none; border-radius: 8px; font-size: 14.5px; font-weight: 700;
  letter-spacing: .04em; box-shadow: 0 2px 6px rgba(26, 86, 219, .28);
  transition: background .15s, box-shadow .15s, transform .15s; }

.body .pb-cv-box .pb-button__btn:hover { background: var(--navy); color: #fff;
  box-shadow: 0 7px 18px rgba(26, 86, 219, .34); transform: translateY(-1px); }
.body .pb-cv-box .pb-button__btn:focus-visible { outline: 2px solid var(--navy);
  outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .body .pb-cv-box .pb-button__btn { transition: none; }
  .body .pb-cv-box .pb-button__btn:hover { transform: none; }
}

.body .pb-cv-box .pb-button.is-round .pb-button__btn { border-radius: 999px;
  padding: 14px 26px 14px 16px; }

.body .pb-cv-box .pb-button__em { font-family: var(--disp); font-weight: 400; font-size: 11px;
  letter-spacing: .24em; padding: 4px 9px 3px 11px; border-radius: 999px;
  background: #fff; color: var(--cta-blue); border-right: 0;
  white-space: nowrap; flex: none; }
.body .pb-cv-box .pb-button__em + .pb-button__text { position: relative; padding-left: 13px; }
.body .pb-cv-box .pb-button__em + .pb-button__text::before { content: ""; position: absolute;
  left: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 14px;
  background: rgba(255,255,255,.32); }

.body .pb-cv-box .pb-button__btn i { display: block; flex: none; }
.body .pb-cv-box .pb-button__btn .pb-icon-chevron-right { width: 7px; height: 7px;
  border-top: 2px solid #fff; border-right: 2px solid #fff;
  transform: rotate(45deg); margin-left: 1px; }
.body .pb-cv-box .pb-button__btn .pb-icon-chevron-circle-right { position: relative;
  width: 18px; height: 18px; border: 1.5px solid #fff; border-radius: 50%; }
.body .pb-cv-box .pb-button__btn .pb-icon-chevron-circle-right::before { content: "";
  position: absolute; top: 50%; left: 45%; width: 5px; height: 5px;
  border-top: 1.5px solid #fff; border-right: 1.5px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg); }

.body .pb-cv-box__note { display: flex; align-items: center; gap: 14px;
  margin: 26px 30px 0; padding: 16px 18px;
  border: 1px solid var(--cta-line); border-radius: 10px;
  background: rgba(255, 255, 255, .55);
  font-size: 13.5px; line-height: 1.85; color: var(--body-gray); }
.body .pb-cv-box__note .__icon { flex: none;
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%; background: var(--navy); }

.body .pb-cv-box__note:has(.pb-icon-lightbulb) .__icon { background: var(--edge-orange); }
.body .pb-cv-box__note .__icon i { display: block; }

.body .pb-cv-box__note .__icon .pb-icon-exclamation { width: 3px; height: 14px;
  background: linear-gradient(#fff 0 8.5px, transparent 8.5px 11px, #fff 11px 14px); }

.body .pb-cv-box__note .__icon .pb-icon-lightbulb { position: relative; width: 14px; height: 14px; }
.body .pb-cv-box__note .__icon .pb-icon-lightbulb::before { content: ""; position: absolute;
  top: 1px; left: 2.5px; width: 9px; height: 9px; background: #fff;
  border-radius: 50% 50% 40% 40%; }
.body .pb-cv-box__note .__icon .pb-icon-lightbulb::after { content: ""; position: absolute;
  bottom: 0; left: 50%; transform: translateX(-50%); width: 4px; height: 2px;
  background: #fff; }

.body [class^="pb-icon-"], .body [class*=" pb-icon-"], .body .icon-more_arrow { display: none; }

.body .wp-block-embed-dropbox-capture .wp-block-embed__wrapper {
  border: 1px dashed #cfcfc8; padding: 20px 22px;
  font: 12px/1.8 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--muted);
  word-break: break-all; background:
  repeating-linear-gradient(135deg, transparent 0 7px, rgba(0,0,0,.02) 7px 14px); }

.body .pb-compare-box { margin: 36px 0; border: 1px solid var(--line); border-radius: 10px;
  overflow: hidden; }
.body .pb-compare-box__head, .body .pb-compare-box__body {
  display: grid; grid-template-columns: 1fr 1fr; }
.body .pb-compare-box__head > div { padding: 10px clamp(8px, 2vw, 16px); color: #fff;
  font-weight: 700; font-size: clamp(13px, 1.6vw, 15px); text-align: center; line-height: 1.4; }
.body .pb-compare-box__head__l { background: var(--navy); }
.body .pb-compare-box__head__r { background: var(--edge-orange); }
.body .pb-compare-box__body > div { padding: clamp(12px, 2vw, 18px); }
.body .pb-compare-box__body__l { background: var(--wash); }
.body .pb-compare-box__body__r { background: var(--paper-2); }
.body .pb-compare-box__body > div + div { border-left: 1px solid var(--line); }

.body .pb-compare-box__body ol, .body .pb-compare-box__body ul {
  margin: 0; padding-left: 0; list-style-position: inside; }
.body .pb-compare-box__body li { font-size: clamp(13px, 1.6vw, 15px); }

.body > iframe, .body .p-blogParts > iframe { display: block; margin: 44px auto; }
.body p:empty { display: none; }

.body h2 small { display: block; font-family: var(--sans); font-size: 11.5px;
  letter-spacing: .1em; color: var(--muted); font-weight: 500; margin-top: 6px; }
.body code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .86em; background: var(--paper-2); padding: 1px 5px; }

@media (max-width: 760px) {
  
  .site-head .wrap { gap: 12px; }
  .site-head .logo { font-size: 15px; min-width: 0; }
  .navbtn { flex: none; }
  .post, .next { padding-left: 20px; padding-right: 20px; }
  .post.dense-photo { max-width: 100%; }
  .dense-photo .body > figure.wp-block-image,
  .dense-photo .body > .wp-block-columns { width: auto; max-width: 100%; margin-left: 0; }
  .body { font-size: 17px; line-height: 1.9; }
  .post-head h1 { font-size: 25px; }
  .body h2 { font-size: 21px; margin: 52px 0 16px; }
  .body h3 { font-size: 18px; }
  .body .wp-block-columns { gap: 8px; }
  .body .wp-block-media-text { grid-template-columns: 1fr; gap: 14px; }
  .p-blogCard__inner { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; padding: 13px 0; }
  .p-blogCard__caption { display: none; }
  .c-scrollHint { display: block; }
  .is-style-crease, .is-style-double:not(figure), .is-style-emboss_box,
  .is-style-big_icon_good, .is-style-big_icon_memo, .is-style-big_icon_point,
  .is-style-big_kakko_box { padding: 22px 20px; margin: 44px 0; }
  .body .pb-cv-box .pb-list, .body .pb-cv-box .pb-button,
  .body .pb-cv-box .pb-text-link { margin-left: 20px; margin-right: 20px; }
  
  .body .pb-cv-box__note { margin: 34px 20px 0; padding: 20px 18px 16px; }
  .body th, .body td { padding: 10px 12px 10px 0; font-size: 13px; }
  .body figure.wp-block-table table { min-width: var(--table-width, 0px); }
}

:root {
  --paper: #fefefe; --paper-2: #f4f4f2; --wash: #f5f8fb; --wash-line: #e4eaf1;
  --line: #e2e1dd; --body-gray: #54565a;
  
  --cta-wash: #ebf1fa; --cta-line: #cfdbeb;
  
  --cta-blue: #1a56db;
}

.post-head { margin-bottom: 34px; }
.tagrow { justify-content: center; margin-top: 56px; }
.post-head h1 { text-align: center; font-size: clamp(30px, 4.2vw, 42px); line-height: 1.5;
  letter-spacing: .02em; margin: 0 auto 18px; max-width: 15em; }
.post .meta { text-align: center; }

.post .disclosure, .post .disclosure-partner, .body .is-style-stitch {
  border-left: 0; padding-left: 0;
  text-align: left; max-width: none; margin-left: 0; margin-right: 0;
  font-size: 12px; line-height: 1.8; }

.body { color: var(--body-gray); }
.body h2, .body h3, .body h4, .body h2 a, .body h3 a { color: var(--ink); }
.body strong { color: var(--ink); }
.body h2 { text-align: center; border-bottom: 0; padding-bottom: 0;
  font-size: 27px; letter-spacing: .04em; margin: 100px 0 30px; }

.body h2::after { content: ""; display: block; width: 40px; height: 2px;
  background: var(--red); margin: 14px auto 0; }
.body h2 small { letter-spacing: .24em; margin-top: 10px; }
.body h3 { border-left: 0; padding-left: 0; font-size: 18.5px; margin: 58px 0 12px; }
.body h3 + p { margin-top: 0; }

.body > p:first-child:not(.is-style-stitch) { font-size: 18px; line-height: 1.95; }

.toc { border-top: 1px solid var(--line); }

.toc > b::before, .body figure.wp-block-table figcaption::before { width: 7px; height: 7px; }

.sec-head { border-bottom: 1px solid var(--line); }
.sec-head h2 { font-size: clamp(24px, 2.4vw, 30px); }
.card .meta { color: var(--muted); }

.masthead { background: none; color: var(--ink); padding: 76px 24px 44px; text-align: center; }
.masthead h1 { margin: 0 0 16px; font-size: clamp(28px, 3.8vw, 40px); font-weight: 900;
  letter-spacing: .05em; line-height: 1.5; }
.masthead p { margin: 0 auto; max-width: 36em; color: var(--body-gray);
  font-size: 15.5px; line-height: 2; }
.stats { border-top: 1px solid var(--line); }
.stats .n { font-size: 24px; }
.stats .wrap > div { padding: 20px 8px 16px; border-left: 0; }
.stats .l { margin-top: 6px; letter-spacing: .24em; }
.thumb .tag.read { display: none; }
.sec { margin: 88px 0; }

.grid { grid-template-columns: repeat(3, 1fr); gap: 56px 32px; }
.card .thumb { aspect-ratio: 16 / 9; }
.thumb .tag { display: none; }

.sec-head { border-bottom: 1px solid var(--line); padding-bottom: 16px; align-items: baseline; }
.sec-head h2, .sec-head h2.zh-h { font-family: var(--sans); font-weight: 900;
  font-size: 23px; letter-spacing: .06em; text-transform: none; }
.sec-head .zh { font-size: 11px; letter-spacing: .24em; }
.sec-head .zh::before { content: none; }

.feature { display: grid; grid-template-columns: 5fr 7fr; align-items: center;
  margin: 24px 0 96px; }
.feature-txt { background: var(--paper-2); padding: 72px 48px; align-self: stretch;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.fkick { font-family: var(--disp); font-size: 11.5px; letter-spacing: .24em;
  color: var(--muted); margin-bottom: 18px; }
.feature-txt h2 { margin: 0 0 14px; font-size: clamp(20px, 2.2vw, 27px); line-height: 1.65;
  font-weight: 900; letter-spacing: .02em; }
.fdate { margin: 0 0 28px; font-size: 12px; letter-spacing: .12em; color: var(--muted);
  font-weight: 600; font-variant-numeric: tabular-nums; }
.fbtn { display: inline-block; padding: 13px 30px; background: var(--navy); color: #fff;
  font-size: 13.5px; font-weight: 700; letter-spacing: .08em; text-decoration: none;
  transition: background .15s; }
.fbtn:hover { background: var(--red); color: #fff; }
.feature-img { margin: -28px 0 -28px -24px; }
.feature-img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }

.spotlight { display: grid; grid-template-columns: 7fr 5fr; margin: 96px 0; }
.spot-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.spot-txt { background: var(--navy); color: #fff; padding: 64px 48px;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.spot-txt .fkick { color: rgba(255,255,255,.65); }
.spot-txt h2 { margin: 0 0 14px; font-size: 24px; font-weight: 900; letter-spacing: .04em; }
.spot-txt p { margin: 0 0 30px; font-size: 15px; line-height: 2.1; color: rgba(255,255,255,.85); }
.fbtn.ghost { background: none; border: 1px solid rgba(255,255,255,.7); color: #fff; }
.fbtn.ghost:hover { background: #fff; color: var(--night); border-color: #fff; }
@media (max-width: 900px) {
  .grid { grid-template-columns: repeat(2, 1fr); gap: 40px 24px; }
  .feature, .spotlight { grid-template-columns: 1fr; margin: 24px 0 72px; }
  .spotlight { margin: 72px 0; }
  .feature-img { margin: 0; order: -1; }
  .feature-txt, .spot-txt { padding: 36px 28px; }
}

.is-style-crease, .is-style-double:not(figure), .is-style-emboss_box,
.is-style-big_kakko_box { border-color: var(--wash-line); }
.p-blogCard { border-top-color: #c9c8c3; }
.body table { border-top-color: var(--ink); }
@media (max-width: 760px) {
  .post-head h1 { font-size: 26px; }
  .body h2 { font-size: 22px; margin: 64px 0 20px; }
  .tagrow { margin-top: 36px; }
}

.vp { container-type: inline-size; width: 375px; margin: 0 auto;
  background: var(--paper); box-shadow: 0 0 0 1px var(--line); }
@container (max-width: 760px) {
  .site-head nav { display: none; }
  .navbtn { display: block; margin-left: auto; width: 40px; height: 40px;
    background: none; border: 0; padding: 9px 8px; }
  .navbtn span { display: block; height: 2px; background: var(--ink); margin: 4px 0; }
  .wrap { padding: 0 16px; }
  
  .site-head .wrap { gap: 12px; }
  .site-head .logo { font-size: 15px; min-width: 0; }
  .navbtn { flex: none; }
  .post, .next { padding-left: 20px; padding-right: 20px; }
  .post.dense-photo { max-width: 100%; }
  .dense-photo .body > figure.wp-block-image,
  .dense-photo .body > .wp-block-columns { width: auto; max-width: 100%; margin-left: 0; }
  .body { font-size: 17px; line-height: 1.9; }
  .post-head h1 { font-size: 24px; }
  .body h2 { font-size: 21px; margin: 52px 0 16px; }
  .body .wp-block-columns { gap: 8px; }
  .body .wp-block-media-text { grid-template-columns: 1fr; gap: 14px; }
  .p-blogCard__inner { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 13px 0; }
  .p-blogCard__caption { display: none; }
  .c-scrollHint { display: block; }
  .grid { grid-template-columns: 1fr; }
  .cols2 { grid-template-columns: 1fr; }
  .is-style-crease, .is-style-double:not(figure), .is-style-emboss_box,
  .is-style-big_icon_good, .is-style-big_icon_memo, .is-style-big_icon_point,
  .is-style-big_kakko_box { padding: 22px 20px; margin: 44px 0; }
  .body th, .body td { padding: 10px 12px 10px 0; font-size: 13px; }
  .body figure.wp-block-table table { min-width: var(--table-width, 0px); }
}

.heroA{position:relative;height:min(64vh,560px);overflow:hidden}
.heroA img{width:100%;height:100%;object-fit:cover;display:block}
.heroA .veil{position:absolute;inset:0;background:radial-gradient(ellipse 90% 70% at 50% 52%,rgba(8,12,18,.52),rgba(8,12,18,.3) 65%,rgba(8,12,18,.42)),linear-gradient(rgba(8,12,18,.15),rgba(8,12,18,.4))}
.heroA .txt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:24px}
.heroA .kick{font-family:var(--disp);font-size:12px;letter-spacing:.24em;margin-bottom:20px;color:rgba(255,255,255,.85)}
.heroA h1{margin:0 0 18px;font-size:clamp(30px,4.4vw,48px);font-weight:900;letter-spacing:.06em;line-height:1.4;text-shadow:0 2px 12px rgba(0,0,0,.45),0 1px 40px rgba(0,0,0,.35)}
.heroA p{margin:0 0 30px;font-size:16px;line-height:2;max-width:34em;color:rgba(255,255,255,.95);text-shadow:0 1px 8px rgba(0,0,0,.5)}
.heroA .chips{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.heroA .chips a{padding:11px 22px;border:1px solid rgba(255,255,255,.75);color:#fff;text-decoration:none;font-size:13.5px;font-weight:700;letter-spacing:.08em;transition:all .15s}
.heroA .chips a:hover{background:#fff;color:var(--ink)}
.frontB{display:grid;grid-template-columns:7fr 4fr;gap:48px;padding:56px 0 0;align-items:start}
.leadB{text-decoration:none;color:var(--ink);display:block}
.leadB img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.leadB .fkick{margin:22px 0 12px}
.leadB h2{margin:0 0 14px;font-size:clamp(24px,2.8vw,34px);font-weight:900;line-height:1.55;letter-spacing:.02em}
.leadB p{margin:0 0 14px;color:var(--body-gray);font-size:15.5px;line-height:2}
.leadB .fdate{margin:0}
.leadB:hover h2{color:var(--red)}
.railB{border-top:2px solid var(--ink);padding-top:6px}
.railB .rh{font-family:var(--disp);font-size:11.5px;letter-spacing:.24em;color:var(--muted);padding:14px 0 4px}
.railB .rh::before{content:"";display:inline-block;width:7px;height:7px;background:var(--red);margin-right:10px}
.railB a{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);align-items:baseline}
.railB a:last-child{border-bottom:0}
.railB .n{font-family:var(--disp);font-size:19px;color:var(--red);letter-spacing:.04em}
.railB h3{margin:0;font-size:14.5px;font-weight:700;line-height:1.75}
.railB .m{grid-column:2;font-size:11px;letter-spacing:.12em;color:var(--muted);font-weight:600;margin-top:5px}
.railB a:hover h3{color:var(--red)}
.railB a.th{grid-template-columns:96px 1fr;align-items:center}
.railB a.th img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;grid-row:1/3}
.railB a.th h3{font-size:14px}
.railB a.th .m{grid-column:2}
.tickerD{border-bottom:1px solid var(--line);background:var(--paper-2)}
.tickerD .wrap{display:flex;gap:28px;align-items:baseline;padding:12px 24px;overflow-x:auto}
.tickerD .tl{font-family:var(--disp);font-size:10.5px;letter-spacing:.24em;color:#fff;background:var(--red);padding:5px 12px;white-space:nowrap;align-self:center}
.tickerD a{font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.tickerD a:hover{color:var(--red)}
.tickerD .dl{font-size:11px;color:var(--muted);letter-spacing:.08em;margin-left:8px;font-variant-numeric:tabular-nums}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin:88px 0;align-items:start}

.duo.is-solo{grid-template-columns:1fr}
.duo .dealsD,.duo .railB{margin:0}
.dealsD{border-top:2px solid var(--ink);margin:88px 0}
.dealsD .lh{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 4px}
.dealsD .lh b{font-size:19px;font-weight:900;letter-spacing:.06em}
.dealsD .lh b::before{content:"";display:inline-block;width:8px;height:8px;background:var(--red);margin-right:12px}
.dealsD .lh span{font-size:11.5px;color:var(--muted);letter-spacing:.14em}
.dealD{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.dealD h3{margin:0;font-size:15.5px;font-weight:700;line-height:1.75}
.dealD .m{font-size:11.5px;letter-spacing:.12em;color:var(--muted);font-weight:600;margin-top:5px}
.dealD .exp{font-size:12px;font-weight:700;color:var(--red);letter-spacing:.06em;white-space:nowrap;font-variant-numeric:tabular-nums}
.dealD:hover h3{color:var(--red)}
.dealD.has-th{grid-template-columns:84px 1fr auto;align-items:center}
.dealD .th{display:block;width:84px;height:60px;overflow:hidden;background:var(--paper-2)}
.dealD .th img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:520px){.dealD.has-th{grid-template-columns:64px 1fr auto;gap:14px}.dealD .th{width:64px;height:48px}}
.authorD{border:1px solid #c9c8c3;margin:88px 0;padding:40px 44px;display:grid;grid-template-columns:96px minmax(0,1fr) 300px auto;gap:32px;align-items:center}

.authorD .fbpage{min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;align-self:center}
.authorD .fbpage iframe{display:block;border:0;max-width:100%}
.authorD .ava{width:96px;height:96px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900;letter-spacing:.05em}
img.ava{object-fit:cover;display:block;background:none}
.authorD .ak{font-family:var(--disp);font-size:10.5px;letter-spacing:.24em;color:var(--muted);margin-bottom:8px}
.authorD h2{margin:0 0 8px;font-size:20px;font-weight:900;letter-spacing:.04em}
.authorD p{margin:0;font-size:14.5px;line-height:1.95;color:var(--body-gray);max-width:38em}
@media (max-width:900px){.frontB{grid-template-columns:1fr;gap:36px}.heroA{height:70vh}.duo{grid-template-columns:1fr;gap:44px}.authorD{grid-template-columns:72px minmax(0,1fr);padding:28px 24px;align-items:start}.authorD .ava{width:72px;height:72px;font-size:24px}.authorD .fbpage{grid-column:2;max-width:340px}.authorD .fbtn{grid-column:2;justify-self:start}}

@media (max-width:520px){
  .authorD{grid-template-columns:56px minmax(0,1fr);padding:22px 18px;gap:16px}
  .authorD .ava{width:56px;height:56px;font-size:20px}
  .authorD .fbpage{grid-column:1 / -1}
  .authorD .fbtn{grid-column:1 / -1;justify-self:stretch;text-align:center}
}

.authorB{border:1px solid var(--line);border-radius:12px;background:var(--paper-2);
  margin:64px 0 8px;padding:28px 30px 28px 33px;display:grid;
  grid-template-columns:72px minmax(0,1fr) 300px;gap:22px;align-items:center;
  position:relative;overflow:hidden}
.authorB::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--navy)}
.authorB .who{align-self:start}
.authorB .avalink{align-self:start}

.authorB .ava{width:72px;height:72px;border-radius:50%}
.authorB .avalink{display:block;width:72px;height:72px;border-radius:50%}
.authorB h2 a{color:inherit;text-decoration:none}
.authorB h2 a:hover{text-decoration:underline;text-underline-offset:5px;
  text-decoration-thickness:2px;text-decoration-color:var(--navy)}
.authorB .avalink:focus-visible,.authorB h2 a:focus-visible{outline:2px solid var(--navy);
  outline-offset:3px}
.authorB .ak{font-family:var(--disp);font-size:10.5px;letter-spacing:.24em;color:var(--muted);margin-bottom:8px}
.authorB h2{margin:0 0 8px;font-size:18px;font-weight:900;letter-spacing:.04em}
.authorB p{margin:0;font-size:14px;line-height:1.9;color:var(--body-gray);max-width:38em}

.authorB .follow{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.authorB .follow .ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--ink);
  transition:background .15s,border-color .15s,color .15s}
.authorB .follow .ic svg{width:16px;height:16px;fill:currentColor;display:block}
.authorB .follow .ic:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.authorB .follow .ic:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

.authorB .fbpage{min-width:0;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:10px;align-self:center}
.authorB .fbpage iframe{display:block;border:0;max-width:100%}
.authorB .follow .tx{margin-left:6px;font-size:13.5px;font-weight:700;color:var(--ink);
  text-decoration:underline;text-underline-offset:4px}
.authorB .follow .tx:hover{color:var(--red)}
@media (max-width:860px){
  
  .authorB{grid-template-columns:72px minmax(0,1fr);align-items:start}
  .authorB .fbpage{grid-column:2;margin-top:4px;padding-top:16px;
    border-top:1px solid var(--line);max-width:340px}
}
@media (max-width:520px){
  .authorB{grid-template-columns:56px minmax(0,1fr);padding:22px 18px;gap:16px}
  .authorB .ava,.authorB .avalink{width:56px;height:56px}
  .authorB .fbpage{grid-column:1 / -1}
}
.hubs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:36px 0 72px}
.hub h2{font-size:20px}
.hub{border:1px solid #c9c8c3;padding:22px 24px;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;transition:border-color .15s;position:relative}
.hub .ico{width:56px;height:56px;display:grid;place-items:center;background:var(--paper-2)}
.hub:nth-child(1) .ico{background:#eaf1f7}
.hub:nth-child(2) .ico{background:#fdeeec}
.hub:nth-child(3) .ico{background:#f6f0e2}
.hub:nth-child(4) .ico{background:#eef3ee}
.hub .ico svg{width:30px;height:30px;stroke:var(--ink);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.hub:hover .ico svg{transform:translateY(-2px)}
.hub .tx{display:flex;flex-direction:column;gap:5px;padding-right:20px}
.hub::after{content:"→";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--muted);transition:all .15s;font-size:14px}
.hub:hover{border-color:var(--ink)}
.hub:hover::after{color:var(--red);transform:translateY(-50%) translateX(3px)}
.hub .hk{font-family:var(--disp);font-size:10.5px;letter-spacing:.24em;color:var(--muted)}
.hub h2{margin:0;font-size:19px;font-weight:900;letter-spacing:.04em}
.hub .hc{font-size:12px;color:var(--muted);letter-spacing:.08em;font-weight:600}
@media (max-width:900px){.hubs{grid-template-columns:1fr;gap:14px}}

.prtag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .12em;
  color: #7a5a1e; background: var(--soft-amber); border: 1px solid #7a5a1e;
  padding: 1px 7px; line-height: 1.55; white-space: nowrap; }

.post .meta .prtag { border: 0; background: none; padding: 0; margin-left: 10px;
  font-size: 11px; font-weight: 600; letter-spacing: .18em; color: var(--muted);
  vertical-align: baseline; }
.post .meta .prtag::before { content: "・"; margin-right: 8px; color: var(--line); }

.card .meta { flex-wrap: wrap; row-gap: 6px; }
.cb .prtag { display: block; width: fit-content; margin: 4px 0 2px; }
.railB .th .m .prtag, .dealD .m .prtag, .leadB .fkick .prtag { margin-left: 8px; }

.fbtalk { margin: 40px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); }
.fbtalk .sh { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .24em;
  color: var(--muted); margin-bottom: 7px; }

.fbtalk__lead { margin: 0 0 13px; font-size: 14px; line-height: 1.7; color: var(--body-gray); }
.fbtalk .fbwrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fbtalk iframe { display: block; border: 0; max-width: 100%; }
.fbtalk .fbmore { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 700;
  color: var(--navy); text-decoration: underline; text-underline-offset: 4px; }
.fbtalk .fbmore::after { content: " ↗"; font-size: 11px; }
.fbtalk .fbmore:hover { color: var(--cta-blue); }

.fbtalk + .share { margin-top: 28px; padding-top: 0; border-top: 0; }

.share { margin: 56px 0 0; padding: 22px 0 0; border-top: 1px solid var(--line); }
.share .sh { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .24em;
  color: var(--muted); margin: 0 0 12px; }
.share ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; }
.share li { flex: 1 1 0; min-width: 0; }
.share a, .share button {
  width: 100%; box-sizing: border-box; display: flex; align-items: center;
  justify-content: center; gap: 6px; min-height: 44px; padding: 0 6px;
  border: 1px solid var(--line); background: none; font: inherit; font-size: 12.5px;
  font-weight: 700; letter-spacing: .04em; color: var(--ink); text-decoration: none;
  cursor: pointer; transition: border-color .15s, color .15s;
}
.share a:hover, .share button:hover { border-color: var(--ink); }
.share a:focus-visible, .share button:focus-visible {
  outline: 2px solid var(--navy); outline-offset: 2px; }
.share svg { width: 15px; height: 15px; flex: none; fill: currentColor; }
.share .done { color: var(--navy); border-color: var(--navy); }

@media (max-width: 520px) {
  .share ul { flex-wrap: wrap; }
  .share li { flex: 1 1 calc(50% - 4px); }
}

.crumb { margin: 40px 0 0; }
.crumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap;
  justify-content: center; gap: 0 6px;
  font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--muted); }
.crumb li { display: flex; align-items: center; gap: 0 6px; }
.crumb li + li::before { content: "\203a"; color: var(--line); font-weight: 400; }
.crumb a { color: var(--muted); text-decoration: none; }
.crumb a:hover { color: var(--red); }
.crumb a:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }

.crumb + .tagrow { margin-top: 22px; }

.totop {
  position: fixed; z-index: 50; right: 14px;
  bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  width: 44px; height: 44px; display: grid; place-items: center; padding: 0;
  border: 1px solid var(--line); background: var(--paper); color: var(--ink);
  cursor: pointer; opacity: 0; visibility: hidden;
  transition: opacity .18s linear, visibility 0s linear .18s, border-color .15s;
}
.totop.on { opacity: 1; visibility: visible;
  transition: opacity .18s linear, visibility 0s, border-color .15s; }

.totop.on.hide { opacity: 0; visibility: hidden;
  transition: opacity .18s linear, visibility 0s linear .18s; }
.totop:hover { border-color: var(--ink); }
.totop:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.totop svg { width: 16px; height: 16px; }
@media (prefers-reduced-motion: reduce) { .totop { transition: none; } }

.bookbox { display: grid; gap: 22px; align-items: start; }
.bookbox .bk-cover { display: block; }
.bookbox .bk-cover img { width: 100%; height: auto; aspect-ratio: 676 / 900;
  object-fit: cover; border: 1px solid var(--line); background: var(--paper-2); }
.bookbox .en { display: block; font-family: var(--disp); letter-spacing: .18em;
  font-size: 11px; color: var(--muted); margin-bottom: 6px; }
.bookbox h3 { margin: 0 0 4px; font-size: 20px; line-height: 1.35; }
.bookbox .bk-sub { margin: 0 0 10px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.bookbox .bk-line { margin: 0 0 10px; font-size: 15px; line-height: 1.85; }
.bookbox .bk-line:last-of-type { margin-bottom: 14px; }

.bookbox .bk-cta { display: inline-flex; flex-wrap: wrap; align-items: baseline;
  column-gap: 10px; row-gap: 2px; font-weight: 700; color: var(--navy); text-decoration: none; }
.bookbox .bk-buy { border-bottom: 1px solid currentColor; padding-bottom: 2px; white-space: nowrap; }
.bookbox .bk-cta:hover { color: var(--red); }
.bookbox .bk-cta:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.bookbox .bk-shop { font-weight: 400; font-size: 13px; color: var(--muted); }

.bk-post { grid-template-columns: 96px minmax(0, 1fr); margin: 26px 0 0; padding-top: 26px;
  border-top: 1px solid var(--line); }
.bk-post h3 { font-size: 18px; }

.bk-about { grid-template-columns: 190px minmax(0, 1fr); gap: 36px; padding: 34px 38px;
  border: 1px solid #c9c8c3; background: var(--paper-2); }

@media (max-width: 640px) {
  .bookbox { grid-template-columns: 84px minmax(0, 1fr); gap: 16px; }
  .bk-about { padding: 24px 22px; gap: 20px; }
  .bookbox h3, .bk-post h3 { font-size: 17px; }
  .bookbox .bk-line { font-size: 14px; line-height: 1.8; }
}

.authorD,
.hostbox {
  border-color: var(--line);
  border-radius: 12px;
  background: var(--paper-2);
  position: relative;
  overflow: hidden;
}
.authorD::before,
.hostbox::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--navy);
}

.hostbox .hb-photo img { border-radius: 12px; }

.hostbox .slink { width: 34px; height: 34px; border-radius: 50%;
  border-color: var(--line); background: #fff; color: var(--ink);
  transition: background .15s, border-color .15s, color .15s; }
.hostbox .slink:hover { background: var(--navy); border-color: var(--navy); color: #fff; }
.hostbox .slink svg { width: 16px; height: 16px; }
.hostbox .hb-links { gap: 10px; }
