/* 特集記事(/guide/)用 */
*,*::before,*::after{box-sizing:border-box;}
.crumb{font-size:13px;color:var(--muted);padding:14px 24px 0;margin:0;line-height:1.7;}
.crumb a{color:var(--muted);text-decoration:none;}
.area-hero-photo{
  aspect-ratio:1/1;width:100%;margin:14px 0 0;overflow:hidden;
  background:
    linear-gradient(180deg, rgba(20,15,10,0.15) 0%, rgba(20,15,10,0.8) 100%),
    var(--hero) center 30% / cover no-repeat;
  display:flex;flex-direction:column;justify-content:flex-end;padding:20px;
  position:relative;
}
.area-name{font-size:30px;font-weight:800;margin:0 0 8px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.4);line-height:1.5;}
.area-tagline{font-size:15px;color:rgba(255,255,255,0.92);margin:0;line-height:1.75;text-shadow:0 1px 6px rgba(0,0,0,0.6);}

.sec{padding:0 24px;}
.sec-title{
  font-family:'Inter','Noto Sans JP',-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;
  font-size:19px;color:var(--accent);margin:56px 0 8px;line-height:1.5;
  padding-top:18px;border-top:2px solid;
  border-image:linear-gradient(45deg,#5851DB 0%,#833AB4 38%,#C13584 72%,#E1306C 100%) 1;
}
.sec h3{font-size:17px;font-weight:800;color:var(--ink);margin:24px 0 8px;line-height:1.5;}
.sec p{font-size:16px;line-height:1.85;color:var(--ink);margin:0 0 14px;}

.top-snippet{font-size:16px;line-height:1.85;color:var(--ink);margin:18px 0 12px;}
.byline{font-size:13px;color:var(--muted);margin:0 0 20px;}

.lead-block{border-left:3px solid var(--accent);padding:2px 0 2px 14px;margin:0 0 22px;}
.lead-title{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 8px;}
.lead-block ul{margin:0;padding-left:20px;}
.lead-block li{font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:5px;}

.toc{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:8px;}
.toc-title{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 8px;}
.toc ol{margin:0;padding-left:20px;}
.toc li{margin-bottom:6px;line-height:1.7;}
.toc a{font-size:15px;color:var(--accent);text-decoration:none;font-weight:600;}

.rl-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:12px;box-shadow:var(--shadow);}
.rl-item h3{margin:0 0 8px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.rl-loc{font-size:13px;font-weight:600;color:var(--muted);}
.rl-item p{margin:0 0 8px;}
.rl-link{margin:0 !important;}

.faq-item{border-bottom:1px solid var(--line);padding:14px 0;}
.faq-item:last-child{border-bottom:none;}
.faq-q{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 6px !important;line-height:1.6;}
.faq-q .q-mark{color:var(--accent);margin-right:6px;}
.faq-a{font-size:16px;color:var(--muted);margin:0 !important;line-height:1.85;}

.author-box{display:flex;gap:14px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:32px;}
.author-icon{flex:none;width:48px;height:48px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--accent);}
.author-icon svg{width:26px;height:26px;}
.author-name{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 6px !important;}
.author-desc{font-size:14px;color:var(--muted);margin:0 !important;line-height:1.8;}

.text-link{color:var(--accent);font-weight:600;text-decoration:none;}

.author-icon{width:64px;height:64px;overflow:hidden;padding:0;}
.author-icon img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;}

/* 共通パーツ(ヘッダー・メニュー・フッター・固定バー) */
.float-board{position:fixed;right:22px;bottom:22px;z-index:50;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;}
.float-board .circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gradient);box-shadow:0 8px 22px -6px rgba(193,36,110,0.5);transition:transform 0.15s ease;}
.float-board:hover .circle{transform:translateY(-2px);}
.float-board .circle-text{color:#fff;font-size:13px;font-weight:700;letter-spacing:0.02em;}
@media (max-width:560px){.float-board{right:16px;bottom:16px;}.float-board .circle{width:54px;height:54px;}.float-board .circle-text{font-size:13px;}}
.pf-tag{font-size:14px;color:rgba(255,255,255,0.55);margin:0 0 22px;line-height:1.7;}
@media (min-width:760px){
  .page-footer{padding:44px 24px 40px;}
  .pf-nav{flex-direction:row;flex-wrap:wrap;gap:0 26px;}
  .pf-nav a{border:none;padding:6px 0;}
  .pf-nav a:first-child{border-top:none;}
}

/* 用語集 */
.term-item{border-bottom:1px solid var(--line);padding:14px 0;}
.term-item:last-child{border-bottom:none;}
.term-word{font-size:17px;font-weight:800;color:var(--ink);margin:0 0 6px !important;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.term-roma{font-family:'Inter',sans-serif;font-size:14px;font-weight:700;color:var(--accent);letter-spacing:0.04em;}
.term-item p{margin:0 !important;font-size:15px;line-height:1.85;color:var(--muted);}

/* 用語バッジ */
.term-index{margin-top:18px;}
.term-index-title{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 10px !important;}
.term-badges{display:flex;flex-wrap:wrap;gap:8px;}
.term-badge{
  display:inline-flex;align-items:baseline;gap:6px;text-decoration:none;
  font-size:14px;font-weight:700;color:var(--ink);
  background:var(--surface);border:1px solid var(--line);
  border-radius:100px;padding:7px 13px;
}
.term-badge span{font-family:'Inter',sans-serif;font-size:13px;font-weight:700;color:var(--accent);}
.term-word{scroll-margin-top:16px;}
