@property --p { syntax:'<number>'; inherits:true; initial-value:0; }
.a-hero { position:relative; background:var(--paper); padding:150px 0 0; overflow:hidden; }
.a-hero::after { content:''; position:absolute; left:0; right:0; bottom:0; height:200px; background:#fff; z-index:1; }
.a-hero.no-eyecatch { padding-bottom:60px; }
.no-eyecatch::after { display:none; }
.a-hero-inner { position:relative; z-index:3; width:min(940px,calc(100% - 64px)); margin:0 auto; text-align:center; }
.crumb { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; font:500 12px/1.8 var(--f-latin); color:#9aa79a; margin-bottom:26px; }
.crumb a:hover { color:var(--sage); }
.crumb .cur { color:var(--muted); }
.a-tags { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.a-tags .pill { background:#fff; }
.usage { display:inline-flex; align-items:baseline; gap:2px; background:var(--sage); color:#fff; font:700 11.5px var(--f-display); padding:5px 14px; border-radius:999px; }
.usage b { font:700 13px var(--f-latin); }
.a-title { font-weight:900; font-size:clamp(28px,3.5vw,46px); line-height:1.5; margin-bottom:30px; }
.a-title .ch { animation-delay:calc(var(--i)*16ms + 200ms); }
.a-meta { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:20px; font:500 12.5px var(--f-latin); color:var(--muted); }
.a-meta .who { display:inline-flex; align-items:center; gap:8px; font:700 13px var(--f-display); color:var(--ink); }
.avatar { border-radius:50%; object-fit:cover; }
.av { position:relative; display:inline-block; width:30px; height:30px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.a-eye-wrap { position:relative; z-index:3; width:min(1180px,calc(100% - 64px)); margin:60px auto 0; }
.a-eyecatch { position:relative; aspect-ratio:21/9; border-radius:28px; overflow:hidden; }
.a-eyecatch > .cover { transform:scale(1.12); }
.a-layout { width:min(1180px,calc(100% - 64px)); margin:72px auto 100px; display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:80px; }
.prose { max-width:740px; min-width:0; font-size:16.5px; line-height:2.05; overflow-wrap:anywhere; }
.prose p { margin:0 0 1.6em; }
.entry-content::after { content:''; display:table; clear:both; }
.entry-content a:not(.wp-element-button):not(.btn):not(.shop) { color:#537953; text-decoration:underline; text-underline-offset:4px; }
.entry-content h2 { position:relative; font-weight:900; font-size:clamp(22px,2.2vw,28px); line-height:1.5; margin:96px 0 28px; padding-top:30px; scroll-margin-top:calc(110px + var(--admin-offset)); }
.entry-content h2::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--line); }
.entry-content h2::after { content:''; position:absolute; top:0; left:0; width:88px; height:2px; background:var(--sage); transform-origin:left; transition:transform 1.1s var(--ease-expo) .15s; }
.motion-ready .entry-content h2:not(.in)::after { transform:scaleX(0); }
.entry-content h2 .no { display:block; font:700 13px var(--f-latin); letter-spacing:.14em; color:var(--sage); margin-bottom:6px; }
.entry-content h3 { display:flex; align-items:center; gap:14px; font-weight:700; font-size:19px; line-height:1.6; margin:52px 0 16px; }
.entry-content h3::before { content:''; width:10px; height:10px; border-radius:50%; background:var(--sage); box-shadow:0 0 0 5px var(--sage-soft); flex-shrink:0; }
.entry-content h4,.entry-content h5,.entry-content h6 { margin:28px 0 12px; }
.entry-content ul,.entry-content ol { padding-left:1.6em; }
.entry-content li { margin-bottom:.5em; }
.entry-content blockquote { margin:32px 0; padding:24px 30px; border-left:3px solid var(--sage); background:var(--paper); border-radius:0 20px 20px 0; }
.entry-content blockquote p:last-child { margin-bottom:0; }
.entry-content pre { overflow-x:auto; padding:24px; border-radius:20px; background:var(--ink); color:#fff; font-size:14px; }
.entry-content code { overflow-wrap:normal; }
.entry-content iframe,.entry-content video { max-width:100%; }
.entry-content figure { max-width:100%; margin:36px 0; }
.entry-content .wp-block-image img { border-radius:24px; }
.entry-content figcaption { font-size:12.5px; text-align:center; color:var(--muted); margin-top:12px; }
.entry-content .wp-block-table { overflow-x:auto; border:1px solid var(--line); border-radius:22px; }
.entry-content table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.7; }
.entry-content th,.entry-content td { border:1px solid var(--line); padding:14px; }
.entry-content th { background:var(--paper); font-family:var(--f-display); }
.entry-content .wp-block-button__link { border-radius:999px; background:var(--sage); color:#fff; font-family:var(--f-display); font-weight:700; }
.entry-content .alignleft { float:left; margin:0 24px 24px 0; }
.entry-content .alignright { float:right; margin:0 0 24px 24px; }
.entry-content .aligncenter { margin-left:auto; margin-right:auto; }
.entry-content .alignwide,.entry-content .alignfull { width:100%; max-width:100%; }
.pr-note { font-size:12px; line-height:1.7; color:var(--muted); border:1px solid var(--line); border-radius:14px; padding:10px 16px; margin-bottom:32px !important; }
.lead { font-size:17.5px; font-weight:500; }
.mk { background:linear-gradient(#dfeadb,#dfeadb) no-repeat 0 88%/100% 42%; font-weight:700; }
.motion-ready .mk { background-size:0% 42%; transition:background-size 1.4s var(--ease-expo) .25s; }
.motion-ready .mk.in { background-size:100% 42%; }
.verdict { background:var(--paper); border-radius:30px; padding:38px 42px 42px; margin-bottom:56px; scroll-margin-top:110px; }
.v-head { display:flex; align-items:center; gap:30px; padding-bottom:30px; margin-bottom:30px; border-bottom:1.5px dashed #c9d6c6; }
.v-score { --p:var(--target,0); position:relative; width:124px; height:124px; border-radius:50%; flex-shrink:0; display:grid; place-items:center; background:conic-gradient(var(--sage) calc(var(--p)*1%),#e1e9de 0); transition:--p 1.6s var(--ease-expo) .2s; }
.motion-ready .verdict:not(.in) .v-score { --p:0; }
.v-score::before { content:''; position:absolute; inset:10px; border-radius:50%; background:#fff; }
.v-num { position:relative; display:flex; align-items:baseline; gap:3px; }
.v-num b { font:700 36px var(--f-latin); letter-spacing:-.02em; }
.v-num small { font:600 12px var(--f-latin); color:#9aa79a; }
.v-label { display:inline-block; font:700 12px var(--f-display); background:var(--ink); color:#fff; padding:4px 14px; border-radius:999px; margin-bottom:10px; }
.v-text { font:900 21px/1.6 var(--f-display); margin:0 !important; }
.v-bars { display:grid; gap:12px; margin-bottom:30px; }
.bar-row { display:grid; grid-template-columns:96px 1fr 36px; align-items:center; gap:14px; font-size:13.5px; line-height:1.4; }
.bar-row span { font-family:var(--f-display); font-weight:700; }
.bar-row em { font:700 13px var(--f-latin); color:var(--sage); text-align:right; }
.bar { height:8px; border-radius:8px; background:#e1e9de; overflow:hidden; }
.bar i { display:block; height:100%; border-radius:8px; background:var(--sage); transform-origin:left; transform:scaleX(calc(var(--v)/5)); transition:transform 1.3s var(--ease-expo); transition-delay:calc(var(--k,0)*110ms + .3s); }
.motion-ready .verdict:not(.in) .bar i { transform:scaleX(0); }
.v-pc { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:30px; }
.v-col { background:#fff; border-radius:20px; padding:20px 22px; }
.v-col h4 { font-weight:900; font-size:15px; margin:0 0 10px; }
.v-col ul { list-style:none; margin:0; padding:0; }
.v-col li { position:relative; padding-left:26px; font-size:13.5px; line-height:1.75; margin-bottom:8px; }
.v-col li::before { position:absolute; left:0; top:3px; width:18px; height:18px; border-radius:50%; display:grid; place-items:center; font:700 12px/1 var(--f-latin); }
.good li::before { content:'+'; background:var(--sage); color:#fff; }
.bad li::before { content:'−'; background:#eceae0; color:var(--muted); }
.spec { margin:32px 0; border-radius:22px; border:1px solid var(--line); overflow:hidden; }
.spec div { display:grid; grid-template-columns:140px 1fr; border-top:1px solid var(--line); font-size:14px; line-height:1.7; }
.spec div:first-child { border-top:0; }
.spec dt { background:var(--paper); padding:13px 20px; font:700 13px/1.7 var(--f-display); }
.spec dd { margin:0; padding:13px 20px; }
.fig .img { position:relative; aspect-ratio:16/10; border-radius:24px; overflow:hidden; }
.tl { position:relative; margin:40px 0 20px; padding-left:44px; }
.tl::before,.tl-fill { content:''; position:absolute; left:11px; top:10px; bottom:34px; width:2px; border-radius:2px; }
.tl::before { background:var(--line); }
.tl-fill { background:var(--sage); transform-origin:top; transform:scaleY(var(--tp,1)); }
.tl-item { position:relative; padding-bottom:30px; transition:opacity .6s var(--ease-out); }
.motion-ready .tl-item:not(.on) { opacity:.45; }
.tl-item::before { content:''; position:absolute; left:-40px; top:6px; width:16px; height:16px; border-radius:50%; background:#fff; border:2px solid var(--line); transition:transform .5s var(--ease-pop); }
.tl-item.on::before { background:var(--sage); border-color:var(--sage); transform:scale(1.15); box-shadow:0 0 0 6px var(--sage-soft); }
.tl-when { font:700 12px var(--f-latin); letter-spacing:.1em; color:var(--sage); }
.tl-item h4 { font-weight:700; font-size:17px; line-height:1.6; margin:2px 0 4px; }
.tl-item p { margin:0 !important; font-size:14.5px; line-height:1.85; color:var(--muted); }
.talk { display:flex; gap:18px; align-items:flex-start; margin:32px 0 36px; }
.talk .face { flex-shrink:0; width:60px; display:flex; flex-direction:column; align-items:center; gap:6px; font:700 11px/1.4 var(--f-display); color:var(--muted); }
.talk .face .av { width:60px; height:60px; box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line); }
.talk .bubble { position:relative; background:var(--paper); border-radius:22px; padding:16px 22px; font-size:15px; line-height:1.9; }
.talk .bubble::before { content:''; position:absolute; left:-7px; top:22px; width:16px; height:16px; background:inherit; transform:rotate(45deg); border-radius:3px; }
.talk.rev { flex-direction:row-reverse; }
.talk.rev .bubble { background:var(--sage-soft); }
.talk.rev .bubble::before { left:auto; right:-7px; }
.tbl-wrap { margin:36px 0; border:1px solid var(--line); border-radius:22px; overflow-x:auto; }
.tbl-wrap table { min-width:600px; font-size:13.5px; }
.tbl-wrap th,.tbl-wrap td { text-align:center; white-space:nowrap; }
.tbl-wrap tbody th { text-align:left; }
.tbl-wrap tr.hl { background:#f3f7f1; }
.this { display:inline-block; margin-left:8px; background:var(--sage); color:#fff; font:700 10px var(--f-display); padding:2px 8px; border-radius:999px; }
.m-a { color:var(--sage); font-weight:700; }
.point { background:var(--sage); color:#fff; border-radius:26px; padding:26px 32px; margin:36px 0; }
.point-label { font:700 11px var(--f-latin); letter-spacing:.18em; }
.point p { margin:6px 0 0 !important; font:700 15.5px/1.9 var(--f-display); }
.prod { display:grid; grid-template-columns:180px minmax(0,1fr); gap:30px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:28px; padding:28px; margin:44px 0; box-shadow:0 20px 50px #2d3a2e12; }
.prod .img { position:relative; aspect-ratio:1; border-radius:20px; overflow:hidden; }
.prod h4 { font-weight:900; font-size:20px; margin:12px 0 4px; }
.p-spec { font-size:13px; color:var(--muted); margin:0 0 18px !important; line-height:1.7; }
.shops { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.shop { display:block; text-align:center; padding:12px 10px; border-radius:999px; font:700 13px/1.4 var(--f-display); transition:transform .35s var(--ease-pop),box-shadow .3s; }
.shop:hover { transform:translateY(-3px); box-shadow:0 10px 20px #2d3a2e1f; }
.shop.s1 { background:var(--ink); color:#fff; }
.shop.s2 { background:var(--sage); color:#fff; }
.shop.s3 { border:1.5px solid var(--ink); }
.shop.sm { padding:8px 14px; font-size:12px; display:inline-block; }
.share { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:72px 0 40px; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.share-label { font:700 11.5px var(--f-latin); letter-spacing:.16em; color:var(--sage); margin-right:8px; }
.share a,.share .copy { display:inline-block; padding:9px 18px; border-radius:999px; border:1px solid var(--line); background:#fff; font:600 13px/1.4 var(--f-latin); color:var(--ink); }
.share .copy { font-family:var(--f-display); font-weight:700; }
.share a:hover,.share .copy:hover { background:var(--sage); color:#fff; border-color:var(--sage); }
.author { display:grid; grid-template-columns:100px minmax(0,1fr); gap:26px; align-items:center; background:var(--paper); border-radius:28px; padding:30px 32px; }
.author > .avatar { width:100px; height:100px; box-shadow:0 0 0 4px #fff; }
.author .sec-en { margin-bottom:4px; }
.author h2 { font-weight:900; font-size:20px; }
.author p { font-size:14px; color:var(--muted); line-height:1.85; margin:6px 0 14px !important; }
.author .read-link { font-size:13.5px; }
.side-toc { position:sticky; top:calc(100px + var(--admin-offset)); align-self:start; display:flex; flex-direction:column; gap:18px; }
.toc { background:var(--paper); border-radius:24px; padding:24px 22px 18px; max-height:calc(100vh - 150px); overflow:auto; }
.toc-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; gap:12px; }
.toc-head h2 { font-weight:900; font-size:15px; }
.toc-pct { font:700 12px var(--f-latin); color:var(--sage); background:#fff; padding:3px 10px; border-radius:999px; min-width:46px; text-align:center; margin-left:auto; }
.toc-list-wrap { position:relative; }
.toc ol { list-style:none; margin:0; padding:0 0 0 4px; }
.toc-list-wrap::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--line); border-radius:2px; }
.toc-ind { position:absolute; left:0; top:0; width:2px; height:30px; background:var(--sage); border-radius:2px; transition:transform .5s var(--ease-expo); transform-origin:top; }
.toc li a { display:block; padding:8px 0 8px 14px; font-size:13px; line-height:1.6; color:var(--muted); transition:color .3s,transform .4s var(--ease-expo); }
.toc li a:hover { color:var(--ink); }
.toc li a.active { color:var(--ink); font-weight:700; transform:translateX(4px); }
.side-prod { display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:22px; padding:14px; }
.side-prod .img { position:relative; width:68px; height:68px; border-radius:16px; overflow:hidden; flex-shrink:0; }
.side-prod h3 { font:700 13px/1.5 var(--f-display); margin:0 0 8px; }
.toc-fab,.toc-close { display:none; }
.related { padding-top:20px; padding-bottom:120px; }
.related .cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
.toast { position:fixed; left:50%; bottom:28px; max-width:calc(100% - 40px); z-index:90; transform:translate(-50%,20px); opacity:0; pointer-events:none; background:var(--ink); color:#fff; font:700 13px/1.7 var(--f-display); padding:12px 22px; border-radius:999px; transition:opacity .3s,transform .5s var(--ease-pop); }
.toast.show { opacity:1; transform:translate(-50%,0); }
.post-tags { display:flex; gap:10px; flex-wrap:wrap; margin-top:32px; }
.post-tags a { background:var(--sage-soft); border-radius:999px; padding:4px 12px; font-size:12px; }
.post-navigation { margin-top:48px; }
.post-navigation .nav-links { display:flex; justify-content:space-between; gap:24px; }
.post-navigation a { padding:0; white-space:normal; border-radius:0; }
.comments-area { margin-top:60px; border-top:1px solid var(--line); padding-top:30px; }
.comments-area h2 { font-size:24px; margin-bottom:24px; }
.comments-area .comment-list { padding-left:0; list-style:none; }
.comments-area .children { list-style:none; padding-left:24px; }
.comment-body { padding:24px 0; border-bottom:1px solid var(--line); }
.comment-meta { font-size:12px; color:var(--muted); }
.comment-author { font-size:14px; color:var(--ink); }
.comment-content { margin-top:16px; }
.comment-reply-link { font-size:13px; color:#537953; }
.comment-form label { display:block; }
.comment-form input:not([type=checkbox]):not([type=submit]),.comment-form textarea,.post-password-form input[type=password] { width:100%; padding:12px 16px; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.comment-form-cookies-consent { display:flex; align-items:flex-start; gap:10px; font-size:12px; }
.comment-form .submit,.post-password-form input[type=submit] { padding:14px 24px; background:var(--ink); color:#fff; border:0; border-radius:999px; }
.page-links { display:flex; gap:12px; margin:32px 0; }
.is-style-shinmai-point { padding:26px 32px; border-radius:26px; background:var(--sage); color:#fff; }
.is-style-shinmai-note { padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--paper); }
.wp-block-columns.v-pc { display:flex; }
.wp-block-columns.v-pc > .wp-block-column { min-width:0; }
@media (max-width:900px) {
  .a-hero { padding-top:120px; }
  .a-hero::after { height:90px; }
  .a-hero-inner { width:calc(100% - 48px); text-align:left; }
  .crumb,.a-tags,.a-meta { justify-content:flex-start; }
  .a-meta { gap:12px; }
  .a-eye-wrap { margin-top:36px; width:calc(100% - 32px); }
  .a-eyecatch { aspect-ratio:16/10; border-radius:22px; }
  .a-layout { grid-template-columns:minmax(0,1fr); gap:0; margin-top:44px; width:calc(100% - 40px); }
  .prose { max-width:100%; font-size:15.5px; }
  .verdict { padding:26px 22px 28px; border-radius:24px; }
  .v-head { flex-direction:column; align-items:flex-start; gap:18px; }
  .v-pc { grid-template-columns:1fr; }
  .bar-row { grid-template-columns:80px minmax(0,1fr) 32px; gap:8px; }
  .spec div { grid-template-columns:100px minmax(0,1fr); }
  .spec dt,.spec dd { padding:12px; }
  .prod { grid-template-columns:1fr; padding:22px; }
  .prod .img { aspect-ratio:16/10; }
  .shops { grid-template-columns:1fr; }
  .author { grid-template-columns:1fr; text-align:center; justify-items:center; }
  .side-toc { position:fixed; left:12px; right:12px; top:auto; bottom:12px; z-index:75; transform:translateY(calc(100% + 24px)); visibility:hidden; transition:transform .5s var(--ease-expo),visibility .5s; }
  .side-toc .toc { box-shadow:0 -10px 40px #2d3a2e2e; background:#fff; max-height:70dvh; padding-bottom:70px; }
  .side-prod { display:none; }
  .toc-open .side-toc { transform:none; visibility:visible; }
  .toc-fab { display:grid; place-items:center; position:fixed; right:16px; bottom:16px; z-index:76; width:56px; height:56px; border-radius:50%; border:0; background:var(--ink); color:#fff; font:700 12px var(--f-display); box-shadow:0 10px 30px #2d3a2e40; }
  .toc-close { display:block; border:0; background:var(--sage-soft); width:36px; height:36px; border-radius:50%; color:var(--ink); font-size:22px; }
  .related .cards { grid-template-columns:1fr; }
}
.motion-paused .mk { background-size:100% 42%; }
.motion-paused .tl-item { opacity:1 !important; }
.motion-paused .entry-content h2::after { transform:none !important; }
.motion-paused .v-score { --p:var(--target,0) !important; }
.motion-paused .bar i { transform:scaleX(calc(var(--v)/5)) !important; }
@media (prefers-reduced-motion:reduce) {
  .a-eyecatch > .cover { transform:none !important; }
  .motion-ready .mk { background-size:100% 42%; }
  .motion-ready .entry-content h2::after { transform:none !important; }
  .motion-ready .v-score { --p:var(--target,0) !important; }
  .motion-ready .bar i { transform:scaleX(calc(var(--v)/5)) !important; }
  .motion-ready .tl-item { opacity:1 !important; }
}
