:root{--bg:#f7f4ed;--paper:#fff;--ink:#20201e;--muted:#68635b;--line:rgba(24,36,43,.1);--key:#c96a3a;--aqua:#60c5d5;--gold:#dfcf98;--dark:#171717;--shadow:0 18px 44px rgba(24,36,43,.1);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Noto Sans JP',sans-serif;background:linear-gradient(180deg,#f7f4ed 0%,#eef8f8 45%,#f7f4ed 100%);color:var(--ink);line-height:1.9}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.guide-header{position:sticky;top:0;z-index:20;height:64px;padding:0 clamp(1rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;background:rgba(247,244,237,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.guide-logo{font-family:'Shippori Mincho',serif;font-weight:800;line-height:1.05}.guide-logo span{display:block;font-family:'Nunito',sans-serif;font-size:.62rem;letter-spacing:.16em;color:#8c867d}
.guide-nav{display:flex;gap:.35rem}.guide-nav a{font-size:.76rem;color:#777;font-weight:800;padding:.42rem .78rem;border-radius:999px;transition:background .2s,color .2s,transform .2s}.guide-nav a:hover{background:#fff;color:var(--key);transform:translateY(-2px)}
.guide-wrap{max-width:1120px;margin:0 auto;padding:clamp(2.2rem,5vw,4.4rem) clamp(1rem,4vw,3rem) 5rem}
.guide-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:2rem;align-items:center;margin-bottom:2.5rem}
.kicker{font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--key);margin-bottom:.9rem}
.guide-title{font-family:'Shippori Mincho',serif;font-size:clamp(2rem,4.8vw,3.7rem);line-height:1.25;margin-bottom:1rem}
.guide-lead{color:var(--muted);font-size:1rem;max-width:48rem}
.hero-image{border-radius:8px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:#ddd}.hero-image img{width:100%;height:100%;object-fit:cover}
.chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.2rem}.chips span{padding:.35rem .7rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.72rem;color:#6b6760;font-weight:800}
.intro,.guide-section,.related-box,.faq-box{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.intro{padding:1.35rem;margin-bottom:1.3rem}.intro h2,.guide-section h2,.related-box h2,.faq-box h2{font-family:'Shippori Mincho',serif;font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.45;margin-bottom:.7rem}.intro p{color:var(--muted)}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin:1.4rem 0 2rem}.guide-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1rem;min-height:165px;transition:transform .2s,box-shadow .2s}.guide-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(24,36,43,.11)}.guide-card small{font-family:'Nunito',sans-serif;color:var(--key);font-size:.58rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.guide-card h3{font-size:1rem;line-height:1.5;margin:.4rem 0;color:var(--ink)}.guide-card p{font-size:.82rem;color:var(--muted);line-height:1.75}
.guide-section{padding:1.35rem;margin:1.2rem 0}.check-list{display:grid;gap:.65rem;list-style:none}.check-list li{position:relative;padding-left:1.25rem;color:var(--muted)}.check-list li::before{content:'';position:absolute;left:0;top:.82em;width:.45rem;height:.45rem;border-radius:50%;background:var(--key)}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.related-box{padding:1.35rem;margin-top:1.4rem}.related-grid a{display:grid;gap:.35rem;min-height:132px;padding:1rem;border-radius:8px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#faf8f3);transition:transform .2s,box-shadow .2s}.related-grid a:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(24,36,43,.11)}.related-grid small{font-family:'Nunito',sans-serif;color:#276775;font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.related-grid strong{font-family:'Shippori Mincho',serif;line-height:1.5}.related-grid span{font-size:.78rem;color:var(--muted);line-height:1.65}
.guide-hub{margin:2rem 0;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#fff}.guide-hub h2{font-size:1.1rem;margin-bottom:.7rem}.guide-hub-links{display:flex;flex-wrap:wrap;gap:.55rem}.guide-hub-links a{border:1px solid rgba(201,106,58,.25);border-radius:999px;padding:.4rem .72rem;font-size:.76rem;font-weight:800;color:#a9502b;background:#fff8ee}
.faq-box{padding:1.35rem;margin-top:1.4rem}.faq-item+ .faq-item{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.faq-item h3{font-size:.98rem;margin-bottom:.35rem}.faq-item p{color:var(--muted);font-size:.88rem}
.guide-footer{background:#171717;color:#aaa;text-align:center;padding:2.4rem 1rem;font-size:.75rem}
@media(max-width:900px){.guide-hero{grid-template-columns:1fr}.hero-image{order:-1}.guide-grid,.related-grid{grid-template-columns:1fr}.guide-nav a:not(:last-child){display:none}}
