/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 16 2026 | 16:14:17 */
/* ============================================================
   【軽量版】統合CSS ⑧ その他固定ページ（scene・aroma-evidence・history・research・kaori-map）
   2026-10-17 作成：28974「統合カスタムCSS（25ファイル統合版）」を
   使用状況で整理・分割した軽量版。/scene/ /aroma-evidence/ /history/ /research/ /kaori-map/ で読み込む。
   元に戻す：このシリーズ（【軽量版】で始まる8件）を無効化し、
   28974 を有効化する。
   ============================================================ */
.hero {
background:var(--dk); padding:40px 20px 32px;
position:relative; overflow:hidden;
}
.hero::after {
content:''; position:absolute; bottom:-60px; left:50%;
transform:translateX(-50%); width:300px; height:120px;
background:radial-gradient(ellipse,rgba(160,120,80,.22) 0%,transparent 70%);
pointer-events:none;
}
.hero h1 {
font-family:'Noto Serif JP',serif;
font-size:clamp(22px,5.5vw,32px); font-weight:400;
letter-spacing:.1em; color:rgba(255,255,255,.94);
line-height:1.3; margin-bottom:6px;
}
.hero-sub {
font-size:12px; color:rgba(255,255,255,.38);
letter-spacing:.06em; margin-bottom:8px;
}
.ks-updated {
font-size:11px; color:rgba(255,255,255,.38);
letter-spacing:.06em; margin-bottom:20px;
display:flex; align-items:center; gap:5px;
}
.ks-updated span { color:rgba(196,168,130,.6); }
.ks-supervisor {
display:flex; align-items:flex-start; gap:14px;
background:var(--wh); border:1px solid var(--bdr);
border-left:3px solid var(--gold);
border-radius:10px; padding:14px 16px; margin:20px 20px 0;
}
.ks-sv-avatar {
width:46px; height:46px; border-radius:50%;
background:var(--gpl); display:flex; align-items:center;
justify-content:center; font-size:22px; flex-shrink:0; overflow:hidden;
}
.ks-sv-avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }
.ks-sv-role  {
font-size:9px; letter-spacing:.22em; color:var(--gold);
font-family:'Cormorant Garamond',serif; font-style:italic;
text-transform:uppercase; display:block; margin-bottom:3px;
}
.ks-sv-name  { font-family:'Noto Serif JP',serif; font-size:14px; font-weight:400; letter-spacing:.08em; color:var(--ink); margin-bottom:4px; }
.ks-sv-cred  { font-size:11px; color:var(--mid); line-height:1.6; letter-spacing:.02em; }
.ks-sv-cred strong { color:var(--ink); font-weight:500; }
.ks-sv-tags  { display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.ks-sv-tag   { font-size:10px; background:var(--gpl); color:var(--gold); border-radius:3px; padding:2px 8px; letter-spacing:.04em; }
.sec-num {
font-family:'Cormorant Garamond',serif; font-style:italic;
font-size:44px; font-weight:300; line-height:.85;
color:var(--gpl); flex-shrink:0; margin-top:4px;
}
.sec-meta  { padding-top:2px; }
.sec-title {
font-family:'Noto Serif JP',serif;
font-size:18px; font-weight:400; letter-spacing:.09em; color:var(--ink);
}
.sg      { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:0; }
.cite { margin:28px 20px 0; background:var(--wh); border:1px solid var(--bdr); border-top:3px solid var(--gold); border-radius:0 0 8px 8px; padding:16px 18px; position:relative; }
.cite::before { content:'参考文献'; position:absolute; top:-1px; left:14px; background:var(--gold); color:#fff; font-size:9px; letter-spacing:.15em; padding:2px 10px; }
.rv    { opacity:0; transform:translateY(14px); transition:opacity .55s ease, transform .55s ease; }
.sec-num { font-family: var(--kp-en); font-style: italic; font-size: 11px; letter-spacing: .4em; color: var(--kp-ink-faint); flex-shrink: 0; margin-top: 6px; text-transform: uppercase; }
.sec-meta { padding-top: 0; }
.sec-title { font-family: var(--kp-serif); font-size: clamp(22px,5vw,32px); font-weight: 200; letter-spacing: .06em; color: var(--kp-ink); line-height: 1.35; }
.ks-supervisor { display: flex; align-items: flex-start; gap: 16px; background: var(--kp-paper); border: 1px solid var(--kp-line); border-left: 2px solid var(--kp-pink-200); padding: 20px 22px; }
.ks-sv-avatar  { width: 44px; height: 44px; border: 1px solid var(--kp-line); background: var(--kp-bg-warm); display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.ks-sv-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-sv-body    { flex: 1; }
.ks-sv-role    { font-family: var(--kp-en); font-style: italic; font-size: 10px; letter-spacing: .28em; color: var(--kp-ink-faint); text-transform: uppercase; display: block; margin-bottom: 4px; }
.ks-sv-name    { font-family: var(--kp-serif); font-size: 14px; font-weight: 400; letter-spacing: .08em; color: var(--kp-ink); margin-bottom: 5px; }
.ks-sv-cred    { font-size: 11px; color: var(--kp-ink-soft); line-height: 1.7; letter-spacing: .02em; }
.ks-sv-cred strong { color: var(--kp-ink); font-weight: 500; }
.ks-sv-tags    { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.ks-sv-tag     { font-family: var(--kp-en); font-style: italic; font-size: 9.5px; background: var(--kp-bg-warm); border: 1px solid var(--kp-line); padding: 2px 9px; color: var(--kp-ink-faint); letter-spacing: .1em; }
.cite { margin: 32px 24px 0; background: var(--kp-paper); border: 1px solid var(--kp-line); border-top: 1px solid var(--kp-ink); padding: 20px 22px; position: relative; }
.cite::before { content: 'References'; position: absolute; top: -1px; left: 16px; background: var(--kp-ink); color: var(--kp-bg); font-family: var(--kp-en); font-style: italic; font-size: 9px; letter-spacing: .22em; padding: 3px 12px; }
.rv    { opacity: 0; transform: translateY(14px); transition: opacity .4s ease, transform .4s ease; }
.hero {
background:var(--dark);
border-radius:0 0 14px 14px;
padding:60px 28px 52px;
text-align:center;
position:relative; overflow:hidden;
margin:0 -20px 48px;
}
.hero::before {
content:'';
position:absolute; inset:0;
background:
radial-gradient(ellipse 60% 50% at 50% 110%, rgba(160,120,80,.18) 0%, transparent 60%),
radial-gradient(1.5px 1.5px at 20% 25%, rgba(196,168,130,.5) 0%, transparent 100%),
radial-gradient(1px 1px at 55% 15%, rgba(255,255,255,.2) 0%, transparent 100%),
radial-gradient(1px 1px at 82% 38%, rgba(196,168,130,.35) 0%, transparent 100%),
radial-gradient(2px 2px at 38% 70%, rgba(196,168,130,.25) 0%, transparent 100%);
pointer-events:none;
}
.hero-en {
font-family:'Cormorant Garamond',serif; font-size:11px; font-style:italic;
letter-spacing:.34em; color:var(--gold-lt); text-transform:uppercase;
display:block; margin-bottom:14px; position:relative;
}
.hero h1 {
font-family:'Noto Serif JP',serif;
font-size:clamp(18px,4vw,28px); font-weight:400;
letter-spacing:.14em; color:rgba(255,255,255,.92);
line-height:1.5; position:relative; margin-bottom:10px;
}
.hero-sub {
font-size:13px; color:rgba(255,255,255,.46);
letter-spacing:.04em; line-height:1.85; position:relative; margin-bottom:28px;
}
.search-inner {
display:flex; align-items:center;
background:var(--white); border:1.5px solid var(--border);
border-radius:8px; padding:0 16px; transition:border-color .2s;
}
.search-inner:focus-within { border-color:var(--gold); }
.search-inner input {
width:100%; padding:13px 12px;
font-family:'Noto Sans JP',sans-serif; font-size:13.5px; color:var(--ink);
background:none; border:none; outline:none; letter-spacing:.05em;
}
.search-inner input::placeholder { color:var(--ink-soft); }
.search-icon { color:var(--gold-lt); font-size:14px; flex-shrink:0; }
.scene-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.cite {
margin-top:52px; background:var(--white); border:1px solid var(--border);
border-top:3px solid var(--gold); border-radius:0 0 8px 8px;
padding:20px 24px; position:relative;
}
.cite::before {
content:'参考文献'; position:absolute; top:-1px; left:18px;
background:var(--gold); color:#fff; font-size:10px;
letter-spacing:.15em; padding:3px 12px;
}
.cite-dot { width:15px; height:15px; border-radius:50%; background:var(--gold-pale); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:3px; }
.cite-dot::after { content:''; width:5px; height:5px; border-radius:50%; background:var(--gold); }
.ev-icon { font-size: 15px; flex-shrink: 0; padding-top: 2px; line-height: 1; opacity: .8; }