:root{
  --color-navy:#17324D;
  --color-red:#B4232F;
  --color-gold:#F2B84B;
  --color-bg:#F7F8FA;
  --color-ink:#1F2933;
  --color-blue-gray:#8EA2B8;
  --color-surface:#FFFFFF;
  --color-border:#DDE3E9;
  --color-soft-navy:#EAF0F5;
  --color-soft-red:#F9ECEE;
  --color-soft-gold:#FFF7E3;
  --color-muted:#5F6D79;
  --color-success:#247454;
  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:20px;
  --shadow-sm:0 2px 10px rgba(23,50,77,.07);
  --shadow-md:0 12px 32px rgba(23,50,77,.10);
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --max-width:1280px;
}

/* Phase 7: 承認済みTOP10記事 */
.latest-article-grid,.article-index__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.latest-article-card,.article-index-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:20px}.latest-article-card>p,.article-index-card__category{color:var(--color-red);font-size:12px;font-weight:700;letter-spacing:.05em;margin:0 0 7px}.latest-article-card h3,.article-index-card h2{font-size:18px;line-height:1.5;margin:0 0 10px}.latest-article-card h3 a,.article-index-card h2 a{color:var(--color-ink)}.latest-article-card div,.article-index-card>p{color:var(--color-muted);font-size:14px}.article-index-card__link{display:inline-flex;margin-top:8px;font-weight:700}.article-heading{margin-bottom:28px}.article-description{font-size:17px}.article-source-note{color:var(--color-muted);font-size:13px}.about-rakuran-box{margin:0 0 28px;padding:17px 20px;background:var(--color-soft-navy);border:1px solid #C9D7E2;border-left:5px solid var(--color-navy);border-radius:var(--radius-sm)}.about-rakuran-box strong{color:var(--color-navy);font-size:1.02rem}.about-rakuran-box p{margin:4px 0 0;color:#435260;font-size:.9rem}.article-ranking{list-style:none;margin:0;padding:0;display:grid;gap:24px}.article-product{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px}.article-product__head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;border-bottom:1px solid var(--color-border);padding-bottom:15px}.article-rank{display:flex;align-items:baseline;color:var(--color-red);font-size:34px;font-weight:800}.article-rank small{font-size:13px;margin-left:2px}.article-product__category{color:var(--color-muted);font-size:12px;margin:0}.article-product h2{font-size:20px;line-height:1.45;margin:2px 0 0}.article-score{background:var(--color-navy);border-radius:9px;color:#fff;min-width:70px;padding:7px 12px;text-align:center}.article-score small{display:block;font-size:10px}.article-score strong{font-size:23px}.article-product__body{display:grid;grid-template-columns:200px 1fr;gap:24px;padding-top:20px}.article-product__image img{aspect-ratio:1;display:block;height:auto;max-width:100%;object-fit:contain}.article-product__facts{display:flex;gap:24px;margin:0 0 14px}.article-product__facts div{display:flex;gap:7px}.article-product__facts dt{color:var(--color-muted)}.article-product__facts dd{font-weight:700;margin:0}.article-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.article-summary{background:var(--color-soft-gold);border-left:5px solid var(--color-gold);border-radius:10px;margin-top:28px;padding:24px}.article-summary h2{margin-top:0}
@media(max-width:900px){.latest-article-grid,.article-index__grid{grid-template-columns:1fr}.article-product__body{grid-template-columns:140px 1fr}}
@media(max-width:620px){.article-product{padding:17px}.article-product__head{grid-template-columns:auto 1fr}.article-score{grid-column:2;justify-self:start}.article-product__body{grid-template-columns:1fr}.article-product__image{max-width:180px}.article-product__facts{display:grid;gap:5px}.article-actions .button{width:100%;text-align:center}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:16px;line-height:1.75;overflow-wrap:anywhere}
img{display:block;max-width:100%;height:auto}
a{color:var(--color-navy);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--color-red)}
button,input,select{font:inherit}
h1,h2,h3{margin-top:0;color:var(--color-navy);line-height:1.35;letter-spacing:.01em}
h1{font-size:clamp(1.8rem,3.5vw,2.7rem)}
h2{font-size:clamp(1.35rem,2.3vw,1.8rem)}
h3{font-size:1.08rem}
p{margin:.65em 0}
ul,ol{padding-left:1.4em}
table{width:100%;border-collapse:collapse}
time{white-space:nowrap}
:focus-visible{outline:3px solid var(--color-gold);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 16px;background:var(--color-navy);color:#fff;border-radius:var(--radius-sm);transform:translateY(-150%)}
.skip-link:focus{transform:none}

.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}
.site-header__inner{max-width:var(--max-width);min-height:84px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-logo{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;text-decoration:none;flex:none}
.site-logo img{grid-row:1/3;width:42px;height:42px}
.site-logo__text{color:var(--color-navy);font-size:1.7rem;font-weight:800;line-height:1;letter-spacing:.07em}
.site-logo__tagline{color:var(--color-muted);font-size:.68rem;line-height:1.4;letter-spacing:.06em}
.header-search{position:relative;width:min(420px,42vw);margin:0}.header-search__row{display:flex;width:100%}
.header-search input{min-width:0;flex:1;height:44px;padding:0 14px;border:1px solid var(--color-blue-gray);border-right:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:#fff;color:var(--color-ink)}
.header-search button{height:44px;padding:0 20px;border:1px solid var(--color-navy);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-navy);color:#fff;font-weight:700;cursor:pointer}.header-search button:hover{background:#10263A}
.search-results{position:absolute;z-index:100;top:calc(100% + 7px);right:0;width:100%;overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.search-results__status{margin:0;padding:9px 13px;background:var(--color-soft-navy);color:var(--color-muted);font-size:.72rem}.search-results [data-search-list]{max-height:min(420px,65vh);overflow-y:auto}.search-results a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-top:1px solid var(--color-border);color:var(--color-ink);font-size:.86rem;font-weight:700;text-decoration:none}.search-results a:hover,.search-results a[aria-selected="true"]{background:var(--color-soft-gold);color:var(--color-red)}.search-results small{flex:none;padding:1px 7px;background:var(--color-soft-navy);border-radius:99px;color:var(--color-muted);font-size:.62rem}
.category-search-box{position:relative;z-index:5;margin:0 0 20px;padding:16px 18px;background:var(--color-soft-gold);border:1px solid #F1D898;border-radius:var(--radius-md)}.category-search-box__label{margin:0 0 7px;color:var(--color-navy);font-size:.82rem;font-weight:800}.category-search{width:100%;max-width:680px}.category-search input{height:46px}.category-search button{height:46px}.category-search .search-results{left:0;right:auto}
.global-nav{background:var(--color-navy)}
.global-nav__inner{max-width:var(--max-width);margin:auto;padding:0 24px;display:flex;align-items:center;gap:4px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.global-nav a{padding:11px 17px;color:#fff;font-size:.84rem;text-decoration:none;border-bottom:3px solid transparent}
.global-nav a:hover{color:#fff;border-color:var(--color-gold)}
.pr-notice{background:#EEF1F4;border-bottom:1px solid var(--color-border);color:var(--color-muted);font-size:.74rem}
.pr-notice__inner{max-width:var(--max-width);margin:auto;padding:7px 24px}

.breadcrumbs{max-width:var(--max-width);margin:auto;padding:14px 24px 0;color:var(--color-muted);font-size:.78rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}
.breadcrumbs li{display:flex;gap:5px;align-items:center}
.breadcrumbs li:not(:last-child)::after{content:"/";color:var(--color-blue-gray)}
.breadcrumbs a{color:var(--color-muted);text-decoration:none}
.page-shell{max-width:var(--max-width);margin:0 auto;padding:22px 24px 72px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;align-items:start}
.site-main{min-width:0}
.site-sidebar{position:sticky;top:20px;display:grid;gap:16px}
.sidebar-panel,.sidebar-trust{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}
.sidebar-title{margin:0;padding:13px 16px;background:var(--color-navy);color:#fff;font-size:.9rem;font-weight:800}
.sidebar-panel--children .sidebar-title{background:var(--color-red)}
.sidebar-links{margin:0;padding:7px 0;list-style:none}
.sidebar-links li+li{border-top:1px solid #EEF1F4}
.sidebar-links a{display:flex;padding:9px 15px;color:var(--color-ink);font-size:.84rem;text-decoration:none}
.sidebar-links a::after{content:"›";margin-left:auto;color:var(--color-blue-gray)}
.sidebar-links a:hover{background:var(--color-bg);color:var(--color-red)}
.sidebar-empty{padding:4px 14px;color:var(--color-muted);font-size:.82rem}
.sidebar-trust{padding:16px;background:var(--color-soft-gold);border-color:#F1D898;font-size:.78rem}
.sidebar-trust__label{margin:0;color:var(--color-navy);font-weight:800}
.sidebar-trust a{font-weight:700}

.eyebrow,.section-kicker{margin:0 0 8px;color:var(--color-red);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.page-heading{padding:28px 32px;margin-bottom:24px;background:var(--color-surface);border-top:4px solid var(--color-navy);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.page-heading h1{margin-bottom:10px}
.page-heading h1 span{display:inline-block;margin-left:.4em;color:var(--color-red);font-size:.48em;vertical-align:middle}
.page-intro{margin-bottom:0;color:var(--color-muted)}
.content-section,.section-block{margin-top:52px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px;border-bottom:2px solid var(--color-navy)}
.section-heading>div{min-width:0}
.section-heading h2{margin:0;padding-bottom:10px}
.section-heading>p{max-width:380px;margin:0 0 10px;color:var(--color-muted);font-size:.9rem}
.section-heading .section-kicker{margin-bottom:2px}
.section-heading--compact{align-items:center}
.lead{font-size:1.04rem;color:#435260}
.empty-state{padding:32px;text-align:center;background:var(--color-surface);border:1px dashed var(--color-blue-gray);border-radius:var(--radius-md);color:var(--color-muted)}
.button,.btn-primary{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 20px;border-radius:var(--radius-sm);font-weight:800;text-decoration:none}
.button--primary,.btn-primary{background:var(--color-red);color:#fff}
.button--primary:hover,.btn-primary:hover{background:#931C27;color:#fff}
.button--secondary{background:#fff;color:var(--color-navy);border:1px solid var(--color-navy)}

.page-top .page-shell{grid-template-columns:minmax(0,1fr)}
.page-top .site-sidebar{display:none}
.hero-section{display:grid;min-height:200px;background-image:linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.84)),url("/assets/images/brand/hero-home.jpg");background-position:center 43%;background-size:cover;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.hero-copy{display:flex;align-items:center;max-width:850px;padding:34px 42px}
.hero-copy h1{margin:0;color:var(--color-navy);font-size:clamp(1.55rem,2.7vw,2.35rem);text-wrap:balance}
.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}
.home-main{min-width:0}
.home-rail{display:grid;gap:26px;padding-top:52px}
.home-rail .section-block{margin-top:0}
.home-rail .section-heading{display:block;margin-bottom:12px}
.home-rail .section-heading h2{font-size:1.08rem}
.home-rail .section-heading>p{margin:3px 0 8px;font-size:.72rem}
.home-rail .daily-ranking-list li{grid-template-columns:32px minmax(0,1fr) auto;gap:9px;padding:11px 12px}
.home-rail .daily-rank{width:28px;height:28px;font-size:.8rem}
.home-rail .daily-name{display:-webkit-box;overflow:hidden;font-size:.78rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.home-rail .daily-score{display:grid;gap:0;text-align:right}
.home-rail .daily-score strong{font-size:1rem}
.home-rail .daily-meta{display:none}
.home-rail .latest-article-grid{grid-template-columns:1fr;gap:10px}
.home-rail .latest-article-card{padding:14px}
.home-rail .latest-article-card h3{font-size:.9rem;margin-bottom:5px}
.home-rail .latest-article-card div{display:-webkit-box;overflow:hidden;font-size:.75rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.daily-ranking-list{margin:0;padding:0;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}
.daily-ranking-list li{display:grid;grid-template-columns:42px minmax(0,1fr) 76px 128px;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--color-border)}.daily-ranking-list li:first-child{border-top:0}.daily-rank{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--color-soft-gold);color:var(--color-navy);font-weight:900}.daily-item p{margin:0}.daily-category{font-size:.72rem}.daily-category a{color:var(--color-red);font-weight:800}.daily-name{font-size:.9rem;font-weight:700}.daily-score{display:flex;align-items:baseline;gap:4px;color:var(--color-red)}.daily-score small{font-size:.65rem}.daily-score strong{font-size:1.25rem}.daily-meta{display:flex;flex-direction:column;align-items:flex-end;font-size:.78rem}.sale-label{padding:1px 7px;border-radius:99px;background:var(--color-soft-red);color:var(--color-red);font-size:.65rem;font-weight:800}
.category-tree{display:grid;gap:22px}.category-root{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.category-root__head{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 20px;background:var(--color-navy);color:#fff}.category-root__number{font-size:1.55rem;font-weight:900;color:var(--color-gold);font-variant-numeric:tabular-nums}.category-root__head p{margin:0;color:var(--color-blue-gray);font-size:.65rem;font-weight:700}.category-root__head h3{margin:1px 0 0;font-size:1.25rem}.category-root__head h3 a{color:#fff;text-decoration:none}.category-root__link{color:#fff;font-size:.76rem;font-weight:700;text-decoration:none}.category-root__link span{margin-left:8px;color:var(--color-gold)}
.middle-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.middle-category{padding:18px 20px;border-top:1px solid var(--color-border)}.middle-category:nth-child(odd){border-right:1px solid var(--color-border)}.middle-category h4{margin:0 0 9px;font-size:.96rem}.middle-category h4 a{text-decoration:none}.small-category-links,.small-category-more ul{display:flex;flex-wrap:wrap;gap:5px 12px;margin:0;padding:0;list-style:none}.small-category-links a,.small-category-more a{font-size:.76rem;color:var(--color-muted)}.small-category-more{margin-top:9px}.small-category-more summary{display:inline-block;cursor:pointer;color:var(--color-red);font-size:.72rem;font-weight:800}.small-category-more[open] summary{margin-bottom:7px}.middle-category__all{margin:8px 0 0;font-size:.72rem;font-weight:700}
.riser-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.riser-card{display:flex;align-items:center;gap:14px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.riser-card__image{flex:0 0 78px}
.riser-card img{width:78px;height:78px;object-fit:contain;background:#fff;border:1px solid #EEF1F4;border-radius:var(--radius-sm)}
.riser-info{min-width:0}.riser-name{margin:0;font-size:.86rem;font-weight:700}.riser-meta{display:flex;flex-wrap:wrap;gap:5px 9px;margin:6px 0 0;color:var(--color-muted);font-size:.74rem}
.region-discovery{padding:30px;background:var(--color-soft-navy);border-radius:var(--radius-lg)}
.region-discovery__copy{text-align:center}.region-discovery__copy h2{margin-bottom:6px}.region-discovery__copy>p:last-child{color:var(--color-muted)}
.japan-map{margin:22px 0 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.map-toggle-btn{display:flex;align-items:center;gap:10px;padding:15px 18px;cursor:pointer;color:var(--color-navy);font-weight:800;list-style:none}
.map-toggle-btn::-webkit-details-marker{display:none}.toggle-sign{margin-left:auto;width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px)}
.japan-map[open] .toggle-sign{transform:rotate(225deg) translate(-2px,-2px)}
.map-panel{padding:0 18px 18px}.map-note{color:var(--color-muted);font-size:.78rem}
.map-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.pref{display:block;padding:7px 3px;text-align:center;border:1px solid var(--color-border);border-radius:4px;font-size:.72rem;text-decoration:none}
.pref.is-available{background:#fff;color:var(--color-navy);font-weight:700;border-left:3px solid var(--color-red)}
.pref.is-available:hover{background:var(--color-soft-gold)}.pref.is-unavailable{background:#F0F2F4;color:#A1AAB2}
.region-map{--map-hokkaido:#17324D;--map-tohoku:#456783;--map-kanto:#B4232F;--map-chubu:#C85862;--map-kinki:#B96F52;--map-chugoku:#705D8E;--map-shikoku:#B47720;--map-kyushu:#35756F;overflow:hidden;padding:24px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.region-map__header{max-width:690px;margin-bottom:18px}.region-map__header h2{margin:0}.region-map__header p:last-child{margin:7px 0 0;color:var(--color-muted);font-size:.86rem}.region-map__shell{padding:14px;background:linear-gradient(145deg,#fff 0%,var(--color-bg) 100%);border:1px solid var(--color-border);border-radius:var(--radius-md)}.region-map__scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-color:var(--color-blue-gray) #E9EDF1;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.region-map__svg{display:block;width:100%;min-width:760px;height:auto;margin:auto;overflow:visible}.map-pref{color:var(--region-color)}a.map-pref{cursor:pointer;text-decoration:none}.map-pref__tile{fill:currentColor;stroke:rgba(255,255,255,.9);stroke-width:2;transform-box:fill-box;transform-origin:center;transition:filter .16s ease,stroke-width .16s ease,transform .16s ease}.map-pref__name{fill:#fff;font-size:13px;font-weight:800;text-anchor:middle;pointer-events:none}.map-pref.is-available:hover .map-pref__tile,.map-pref.is-available:focus .map-pref__tile,.map-pref.is-highlighted .map-pref__tile{filter:brightness(1.12) saturate(1.1) drop-shadow(0 5px 5px rgba(23,50,77,.22));stroke-width:4;transform:scale(1.08)}.map-pref.is-available:focus{outline:none}.map-pref.is-available:focus-visible .map-pref__tile{stroke:var(--color-gold);stroke-width:5}.map-pref.is-unavailable{color:#C9CDD1}.map-pref.is-unavailable .map-pref__name{fill:#626B73}.region-map__swipe{display:none;margin:8px 0 0;text-align:center;color:var(--color-muted);font-size:.72rem}.block-hokkaido{--region-color:var(--map-hokkaido,#17324D)}.block-tohoku{--region-color:var(--map-tohoku,#456783)}.block-kanto{--region-color:var(--map-kanto,#B4232F)}.block-chubu{--region-color:var(--map-chubu,#C85862)}.block-kinki{--region-color:var(--map-kinki,#B96F52)}.block-chugoku{--region-color:var(--map-chugoku,#705D8E)}.block-shikoku{--region-color:var(--map-shikoku,#B47720)}.block-kyushu-okinawa{--region-color:var(--map-kyushu,#35756F)}.region-map__legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin:14px 0 0;padding:0;list-style:none}.region-map__legend li{display:inline-flex;align-items:center;gap:6px;color:var(--color-muted);font-size:.72rem;font-weight:700}.region-map__legend span{width:11px;height:11px;background:var(--region-color);border-radius:50%}.prefecture-index{margin-top:28px;padding-top:24px;border-top:1px solid var(--color-border)}.prefecture-index h3{margin:0 0 4px}.prefecture-index>p{margin:0 0 15px;color:var(--color-muted);font-size:.8rem}.prefecture-index__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.prefecture-group{padding:15px;background:#fff;border:1px solid var(--color-border);border-top:4px solid var(--region-color);border-radius:var(--radius-md)}.prefecture-group h4{margin:0 0 8px;color:var(--color-navy)}.prefecture-group ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.prefecture-group a,.prefecture-group li>span{display:inline-flex;align-items:center;gap:4px;min-height:38px;padding:6px 10px;border:1px solid var(--color-border);border-radius:99px;font-size:.78rem;font-weight:700}.prefecture-group a{text-decoration:none}.prefecture-group a:hover,.prefecture-group a.is-highlighted{background:var(--region-color);border-color:var(--region-color);color:#fff}.prefecture-group li>span{background:#F0F2F4;color:#7A848D}.prefecture-group small{font-size:.55rem}
.how-to-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:0;list-style:none;counter-reset:steps}
.how-to-steps li{display:flex;gap:13px;padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.how-to-steps li>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--color-gold);color:var(--color-navy);font-weight:800}.how-to-steps strong{color:var(--color-navy)}.how-to-steps p{margin:4px 0 0;color:var(--color-muted);font-size:.82rem}
.methodology-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:52px;padding:32px;background:var(--color-navy);border-radius:var(--radius-lg);color:#fff}.methodology-cta h2{margin-bottom:5px;color:#fff}.methodology-cta p{margin-bottom:0}.methodology-cta .eyebrow{color:var(--color-gold)}.methodology-cta__links{display:flex;flex-wrap:wrap;gap:10px}.methodology-cta__links a{padding:9px 14px;background:#fff;border-radius:var(--radius-sm);font-size:.82rem;font-weight:800;text-decoration:none}

.direct-answer{margin:18px 0 0;padding:15px 18px;background:var(--color-soft-gold);border-left:4px solid var(--color-gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.94rem}.ranking-lead{padding:0 4px}
.ranking-tools{margin:28px 0 0;padding:22px;background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-navy);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.ranking-tools__head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.ranking-tools__head h2{margin:0;font-size:1.28rem}.ranking-tools__head .section-kicker{margin:0 0 2px}.ranking-tools__status{margin:0;color:var(--color-red);font-size:.86rem;font-weight:800}.ranking-filter-form{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(260px,1.3fr) minmax(190px,1fr) auto;gap:14px;align-items:end}.ranking-filter-field>span,.ranking-price-range legend{display:block;margin-bottom:5px;color:var(--color-navy);font-size:.76rem;font-weight:800}.ranking-filter-field select,.ranking-price-range input{width:100%;height:42px;padding:7px 10px;border:1px solid var(--color-blue-gray);border-radius:var(--radius-sm);background:#fff;color:var(--color-ink)}.ranking-price-range{display:grid;grid-template-columns:minmax(80px,1fr) auto minmax(80px,1fr) auto;align-items:center;gap:7px;margin:0;padding:0;border:0}.ranking-price-range legend{grid-column:1/-1;padding:0}.ranking-filter-checks{display:flex;flex-direction:column;justify-content:center;min-height:42px;gap:3px}.ranking-filter-checks label{font-size:.82rem;font-weight:700;cursor:pointer}.ranking-filter-checks input{width:1.05em;height:1.05em;accent-color:var(--color-red);vertical-align:-.15em}.ranking-filter-actions{display:flex;gap:7px}.filter-submit,.filter-reset{min-height:42px;padding:8px 13px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:800;cursor:pointer}.filter-submit{border:1px solid var(--color-red);background:var(--color-red);color:#fff}.filter-submit:hover{background:#931C27}.filter-reset{border:1px solid var(--color-blue-gray);background:#fff;color:var(--color-navy)}.ranking-filter-note,.ranking-filter-noscript{margin:12px 0 0;color:var(--color-muted);font-size:.72rem}.ranking-filter-noscript{padding:10px 13px;background:var(--color-soft-gold);border-radius:var(--radius-sm)}.ranking-visible-count{color:var(--color-muted);font-size:.8rem;font-weight:600}.ranking-filter-empty{padding:24px;text-align:center;background:var(--color-soft-gold);border:1px solid var(--color-gold);border-radius:var(--radius-md)}
.basis-box{display:flex;gap:16px;margin:24px 0;padding:20px 22px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.basis-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:var(--color-soft-gold);color:var(--color-navy);font-weight:900}.basis-box h2{margin:2px 0 7px;font-size:1.05rem}.basis-box ul{margin:0;padding-left:1.2em;color:var(--color-muted);font-size:.86rem}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}
.summary-table table,.mini-ranking-table,.preset-table{min-width:650px;font-size:.86rem}.summary-table th,.mini-ranking-table th,.preset-table th{padding:11px 12px;background:var(--color-navy);color:#fff;font-size:.76rem;white-space:nowrap}.summary-table td,.mini-ranking-table td,.preset-table td{padding:12px;border-top:1px solid #E9EDF1;vertical-align:middle}.summary-table tbody tr:nth-child(even),.mini-ranking-table tbody tr:nth-child(even){background:#FAFBFC}.summary-table td.name,.mini-ranking-table td.name{min-width:220px}.summary-table td.rank span{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:2px;background:var(--color-soft-gold);border-radius:50%;color:var(--color-navy);font-weight:800}.summary-table td.hensachi,.mini-ranking-table td.hensachi{color:var(--color-red);font-size:1rem;font-weight:800}.summary-table td.review span{color:var(--color-muted);font-size:.76rem}.num{font-variant-numeric:tabular-nums}.badge-postage,.badge-sale{display:inline-block;margin-left:5px;padding:1px 6px;border-radius:99px;font-size:.66rem;font-style:normal;font-weight:800;white-space:nowrap}.badge-postage{background:#EAF5F0;color:var(--color-success)}.badge-sale{background:var(--color-soft-red);color:var(--color-red)}
.ranking-list{margin-top:52px}.item-card{margin:0 0 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;scroll-margin-top:16px}.item-card.rank-1{border-top:4px solid var(--color-gold)}.item-card.rank-2{border-top:4px solid var(--color-blue-gray)}.item-card.rank-3{border-top:4px solid #B77D5B}
.item-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;background:#F3F5F7;border-bottom:1px solid var(--color-border)}.rank-cluster{display:flex;align-items:center;gap:10px}.item-rank{display:flex;align-items:baseline;gap:5px;color:var(--color-navy);font-size:1.65rem;font-weight:900;line-height:1}.item-rank small{font-size:.54rem;letter-spacing:.12em}.rank-move{display:inline-block;padding:2px 7px;border-radius:99px;font-size:.7rem;font-weight:800}.rank-move.up{background:var(--color-soft-red);color:var(--color-red)}.rank-move.down{background:var(--color-soft-navy);color:#356B9A}.rank-move.keep{background:#E9ECEF;color:var(--color-muted)}.rank-move.new{background:var(--color-navy);color:#fff}.item-hensachi{display:flex;align-items:center;gap:7px;color:var(--color-red)}.item-hensachi small{font-size:.72rem;font-weight:700}.item-hensachi strong{font-size:1.7rem;line-height:1;font-variant-numeric:tabular-nums}
.item-body{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;padding:22px}.item-image{width:160px}.item-image img{width:160px;height:160px;object-fit:contain;background:#fff;border:1px solid #E9EDF1;border-radius:var(--radius-sm)}.item-info{min-width:0}.item-name{margin:0 0 4px}.item-shop{margin:0;color:var(--color-muted);font-size:.76rem}.item-facts{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0}.item-price,.item-review{margin:0;color:var(--color-red);font-weight:800}.item-price span,.item-review span{margin-left:6px;color:var(--color-muted);font-size:.7rem;font-weight:500}
.metric-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px;margin:12px 0}.metric-bar{display:grid;grid-template-columns:6.3em minmax(0,1fr);align-items:center;gap:8px}.metric-bar dt{color:var(--color-muted);font-size:.7rem}.metric-bar dd{display:grid;grid-template-columns:minmax(0,1fr) 2.4em;align-items:center;gap:6px;margin:0}.bar-track{height:7px;background:#E6EBEF;border-radius:99px;overflow:hidden}.bar{display:block;height:100%;background:var(--color-navy);border-radius:99px}.metric-bar .val{text-align:right;color:var(--color-navy);font-size:.7rem;font-weight:800;font-variant-numeric:tabular-nums}.item-comment{padding:9px 11px;background:var(--color-soft-gold);border-radius:var(--radius-sm);color:#53606C;font-size:.78rem}.item-comment strong{display:block;color:var(--color-navy)}.item-cta{margin:13px 0 0}.btn-rakuten{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;background:var(--color-red);border-radius:var(--radius-sm);color:#fff;font-size:.9rem;font-weight:800;text-decoration:none}.btn-rakuten:hover{background:#931C27;color:#fff}.btn-rakuten span{font-size:.78rem;font-weight:600}
.faq-item{margin:8px 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.faq-item summary{padding:13px 16px;cursor:pointer;color:var(--color-navy);font-weight:800}.faq-item p{padding:0 16px 14px;margin:0;color:var(--color-muted)}
.related ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.related a{display:flex;justify-content:space-between;padding:12px 15px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.86rem;font-weight:700;text-decoration:none}

.genre-section{margin:28px 0;padding:22px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.genre-section .section-heading{margin-bottom:14px}.genre-section h2 a{text-decoration:none}.genre-more{text-align:right;font-size:.82rem}.muted{color:var(--color-muted)}
.hub-integrated-ranking-wrap{padding:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.hub-integrated-ranking-wrap>.hub-integrated-ranking>.integrated-ranking-heading{margin-top:0}.hub-integrated-ranking .ranking-tools{margin-top:22px}.item-categories{margin:5px 0 0;color:var(--color-muted);font-size:.76rem}.item-categories strong{color:var(--color-navy)}
.hub-map{margin:24px 0}.hub-middle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hub-middle-card{padding:18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.hub-middle-card h3{display:flex;margin-bottom:10px}.hub-middle-card h3 a{text-decoration:none}.hub-middle-card h3 span,.hub-ranking-name small{margin-left:8px;padding:2px 7px;border-radius:99px;background:#E9ECEF;color:var(--color-muted);font-size:.62rem}.hub-middle-card ul{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none}.hub-middle-card li{font-size:.78rem}.hub-middle-card li span{color:var(--color-muted)}.hub-middle-card>p{margin:12px 0 0;font-size:.76rem;font-weight:800}.hub-middle-card.is-upcoming{background:#F1F3F5}.hub-ranking-list{margin:0;padding:0;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.hub-ranking-list>li{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr) 28px;gap:18px;align-items:center;padding:15px 18px;border-top:1px solid var(--color-border)}.hub-ranking-list>li:first-child{border-top:0}.hub-ranking-list>li.is-upcoming{background:#F3F5F7}.hub-ranking-name>a{font-weight:800}.hub-ranking-name>span{color:var(--color-muted);font-weight:700}.hub-ranking-top{display:flex;justify-content:space-between;gap:12px;color:var(--color-muted);font-size:.8rem}.hub-ranking-top strong{flex:none;color:var(--color-red)}.hub-ranking-arrow{text-align:right;font-weight:900;text-decoration:none}
.guide-body,.static-page{padding:28px 32px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.guide-body h2,.static-page h2{margin-top:1.8em;padding-bottom:7px;border-bottom:2px solid var(--color-border)}.guide-body img{margin:18px auto;border-radius:var(--radius-sm)}
.static-page h1{padding-bottom:12px;border-bottom:3px solid var(--color-navy)}.about-list{display:grid;grid-template-columns:8em 1fr;gap:8px 16px}.about-list dt{font-weight:800}.about-list dd{margin:0}.contact-email{font-size:1.08rem;font-weight:800}.formula-box,.note{padding:14px 16px;background:var(--color-soft-gold);border-radius:var(--radius-sm);overflow-x:auto}.metric-defs dt{margin-top:10px;color:var(--color-navy);font-weight:800}.metric-defs dd{margin-left:1em;color:var(--color-muted)}.score-note-list{padding:0;list-style:none}.score-note-entry{padding:18px 0;border-bottom:1px solid var(--color-border)}.score-note-date{font-weight:800}.score-note-reason{color:var(--color-muted)}
.not-found-page{padding:58px 24px;text-align:center;background:#fff;border-radius:var(--radius-md)}.error-code{margin:0;color:var(--color-gold);font-size:5rem;font-weight:900;line-height:1}.not-found-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:25px;padding:0;list-style:none}

.site-footer{background:#10263A;color:#D5DEE6}.site-footer__inner{max-width:var(--max-width);margin:auto;padding:40px 24px 28px;display:grid;grid-template-columns:1.1fr 1fr 1.4fr;gap:30px}.site-logo--footer{display:inline-grid}.site-logo--footer .site-logo__text{color:#fff;font-size:1.35rem}.footer-brand>p{font-size:.78rem}.footer-nav{display:grid;align-content:start;gap:7px}.footer-nav a,.site-footer a{color:#E6EDF3;font-size:.78rem}.footer-legal{font-size:.72rem;color:#AFC0CF}.footer-legal p{margin:.45em 0}.copyright{color:var(--color-blue-gray)}

/* 本文リンクは常時下線、ボタン・地図タイルなど形状が明確な要素は除外 */
.site-main a,.sidebar-links a{text-decoration: underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.category-root__head h3 a,.middle-category h4 a,.small-category-links a,.small-category-more a,.hub-middle-card h3 a,.hub-middle-card li a,.hub-ranking-name>a{text-decoration: underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.site-main .button,.site-main .btn-primary,.site-main .btn-rakuten,.site-main .pref,.site-main .map-pref,.site-main .prefecture-group a,.site-main .related a,.site-main .methodology-cta__links a{text-decoration-line:none}

@media(max-width:900px){
  .site-header__inner{min-height:72px}.page-shell{grid-template-columns:1fr}.site-main{order:1}.site-sidebar{position:static;order:2;grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-trust{grid-column:1/-1}
  .home-layout{grid-template-columns:minmax(0,1fr) 290px;gap:24px}.hero-copy{padding:30px}.map-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.ranking-filter-form{grid-template-columns:1fr 1.3fr}.ranking-filter-actions{justify-content:flex-end}.site-footer__inner{grid-template-columns:1fr 1fr}.footer-legal{grid-column:1/-1}
}

@media(max-width:760px){
  .home-layout{display:flex;flex-direction:column;gap:0}.home-main,.home-rail{width:100%}.home-rail{padding-top:0}.home-rail .section-block{margin-top:40px}
}

@media(max-width:640px){
  body{font-size:15px}.site-header__inner{padding:11px 16px;flex-wrap:wrap;gap:10px}.site-logo img{width:36px;height:36px}.site-logo__text{font-size:1.4rem}.site-logo__tagline{font-size:.6rem}.header-search{width:100%}.header-search input{height:42px}.header-search button{height:42px;padding:0 17px}.search-results{left:0;right:auto}.global-nav__inner{padding:0 10px}.global-nav a{padding:9px 11px;font-size:.75rem}.pr-notice__inner{padding:6px 16px}.breadcrumbs{padding:10px 16px 0}.page-shell{padding:15px 16px 48px;gap:28px}
  .site-sidebar{grid-template-columns:1fr}.page-heading{padding:22px 20px}.content-section,.section-block{margin-top:40px}.section-heading{display:block}.section-heading>p{margin-top:-3px}.hero-section{min-height:150px;border-radius:var(--radius-md);background-position:58% center}.hero-copy{padding:24px 20px}.hero-copy h1{font-size:1.45rem}.category-search-box{padding:14px}.category-search{max-width:none}.daily-ranking-list li{grid-template-columns:36px minmax(0,1fr) 64px;padding:12px}.daily-score{flex-direction:column;align-items:flex-end;gap:0;white-space:nowrap}.daily-score strong{white-space:nowrap}.daily-meta{display:none}.middle-category-grid,.hub-middle-grid{grid-template-columns:1fr}.middle-category:nth-child(odd){border-right:0}.category-root__head{grid-template-columns:42px minmax(0,1fr);padding:14px}.category-root__link{grid-column:2}.hub-ranking-list>li{grid-template-columns:1fr 24px;gap:8px}.hub-ranking-top{grid-column:1/-1;grid-row:2}.hub-ranking-arrow{grid-column:2;grid-row:1}.riser-list{grid-template-columns:1fr}.region-discovery{padding:21px 15px}.map-panel{padding:0 10px 12px}.map-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.how-to-steps{grid-template-columns:1fr}.methodology-cta{display:block;padding:24px}.methodology-cta__links{margin-top:18px}.about-rakuran-box{padding:15px 16px}.hub-integrated-ranking-wrap{padding:16px 12px}
  .region-map{padding:16px 10px}.region-map__shell{padding:9px 7px}.region-map__swipe{display:block}.prefecture-index__grid{grid-template-columns:1fr}.prefecture-group{padding:13px}.ranking-tools{padding:18px 15px}.ranking-tools__head{display:block}.ranking-tools__status{margin-top:5px}.ranking-filter-form{grid-template-columns:1fr}.ranking-filter-checks{display:grid;grid-template-columns:1fr 1fr}.ranking-filter-actions{justify-content:stretch}.ranking-filter-actions button{flex:1}.basis-box{padding:17px 15px}.basis-icon{display:none}.item-body{grid-template-columns:104px minmax(0,1fr);gap:14px;padding:16px}.item-image,.item-image img{width:104px}.item-image img{height:104px}.metric-bars{grid-template-columns:1fr;margin-left:-118px;margin-top:18px}.item-comment,.item-cta{margin-left:-118px}.item-name{font-size:.94rem}.item-facts{display:block}.item-review{font-size:.82rem}.related ul{grid-template-columns:1fr}.guide-body,.static-page{padding:22px 18px}.site-footer__inner{grid-template-columns:1fr;padding:32px 20px}.footer-legal{grid-column:auto}
}

@media(max-width:400px){
  .item-head{padding:11px 14px}.item-hensachi strong{font-size:1.45rem}.about-list{grid-template-columns:1fr}.about-list dd{padding-bottom:8px}
}
