@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Zen+Maru+Gothic:wght@400;500;700;900&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Noto+Serif+JP:wght@300;400;500&family=Cinzel:wght@400;600&display=swap");:root{--f-bg:#efe6d2;--f-surface:#fdf7ea;--f-card:#fffdf7;--f-card-alt:#fbf5e6;--f-border:#f0e6cf;--f-border-warm:#ecdfc4;--f-ink:#4a4038;--f-ink-deep:#2f2a22;--f-ink-soft:#5b5245;--f-muted:#7a6b52;--f-brown:#6a4f2a;--f-pink:#ec6178;--f-pink-light:#f47f92;--f-purple:#9b87c4;--f-purple-soft:#c3b4e0;--f-orange:#e2952f;--f-orange-soft:#f0cd8f;--f-blue:#5b9bd5;--f-blue-soft:#a9cdec;--f-blue-deep:#34506b;--f-green:#7db682;--f-green-soft:#93c495;--f-shadow:rgba(120,90,30,.1);--f-shadow-strong:rgba(120,90,30,.18);--gold:#d4a843;--gold-light:#f0d080;--gold-pale:#faf0d0;--rose:#c9546a;--teal:#2a7a80;--teal-light:#48b0b8;--cream:#fdf8f0;--ink:#1a120a;--ink-soft:#3a2818;--parchment:#f5ead8;--amber:#c87820}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--f-bg);color:var(--f-ink);font-family:Zen Maru Gothic,sans-serif;overflow-x:hidden}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fpage{max-width:900px;margin:0 auto;background:var(--f-surface)}.fhero,.fpage{overflow:hidden}.fhero{position:relative;text-align:center;padding:54px 24px 42px;background:linear-gradient(180deg,#fbf1dd 0,var(--f-card-alt) 100%);border-bottom:1px solid var(--f-border)}.fhero-inner{position:relative;z-index:1}.fhero-eyebrow{font-family:"DM Serif Display",serif;font-style:italic;font-size:16px;letter-spacing:.12em;color:var(--f-pink);margin-bottom:6px}.fhero-title{font-size:clamp(30px,7vw,46px);font-weight:900;color:var(--f-ink-deep);letter-spacing:.05em;line-height:1.15}.fhero-sub{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--f-muted);margin-top:8px}.fhero-decor{position:absolute;bottom:-12px;opacity:.9;pointer-events:none;z-index:0}.fbody{padding:44px 32px 64px}@media (max-width:720px){.fbody{padding:34px 20px 52px}}.fsect{margin-bottom:44px}.fsect-title{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:900;color:var(--f-ink-deep);letter-spacing:.04em;margin-bottom:18px}.fsect-title:before{content:"";width:7px;height:22px;border-radius:4px;background:var(--f-pink);flex:none}.fsect-title .en{font-size:11px;font-weight:700;color:var(--f-muted);letter-spacing:.18em}.fcard{background:var(--f-card);border:1px solid var(--f-border);border-radius:18px;padding:22px 24px;box-shadow:0 6px 18px var(--f-shadow)}.fbody-text{font-size:14.5px;font-weight:500;line-height:2;color:var(--f-ink-soft)}.ftag{display:inline-block;font-size:11px;font-weight:700;padding:3px 12px;border-radius:999px;letter-spacing:.04em}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.section{max-width:960px;margin:0 auto;padding:80px 24px}.section-header{text-align:center;margin-bottom:56px}.section-label{font-family:Cinzel,serif;font-size:10px;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin-bottom:16px;opacity:.8;display:block}.section-title{font-family:Cormorant Garamond,serif;font-size:clamp(32px,6vw,52px);font-weight:300;font-style:italic;color:var(--ink);letter-spacing:.05em;margin-bottom:8px}.section-title-jp{font-family:"Noto Serif JP",serif;font-size:13px;font-weight:300;color:var(--gold);letter-spacing:.3em}.section-divider{display:flex;align-items:center;gap:12px;margin-top:20px;justify-content:center}.section-divider-line{width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.section-divider-diamond{width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}.admin-wrap{min-height:100vh;background:#0f0f0f;color:#e8e0d0;font-family:"Noto Serif JP",sans-serif}.admin-header{background:#1a1a1a;border-bottom:1px solid #333;padding:0 24px;height:56px;display:flex;align-items:center;gap:16px}.admin-header h1{font-family:Cinzel,serif;font-size:14px;letter-spacing:.2em;color:var(--gold)}.admin-nav{display:flex;gap:0;margin-left:auto}.admin-nav a{font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;color:hsla(41,58%,78%,.6);text-decoration:none;padding:8px 16px;transition:color .2s;text-transform:uppercase}.admin-nav a:hover{color:var(--gold)}.admin-content{max-width:1100px;margin:0 auto;padding:40px 24px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:10px 12px;border-bottom:1px solid #333;font-family:Cinzel,serif;font-size:10px;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}.admin-table td{padding:12px;border-bottom:1px solid #222;color:hsla(41,58%,78%,.8);vertical-align:middle}.admin-table tr:hover td{background:rgba(212,168,67,.04)}.admin-btn{display:inline-block;padding:6px 14px;font-family:Cinzel,serif;font-size:9px;letter-spacing:.15em;text-decoration:none;text-transform:uppercase;cursor:pointer;border:1px solid;background:transparent;transition:background .2s,color .2s}.admin-btn-gold{color:var(--gold);border-color:rgba(212,168,67,.5)}.admin-btn-gold:hover{background:var(--gold);color:var(--ink)}.admin-btn-rose{color:var(--rose);border-color:rgba(201,84,106,.5)}.admin-btn-rose:hover{background:var(--rose);color:#fff}.admin-form-group{margin-bottom:20px}.admin-form-group label{display:block;font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:6px}.admin-input,.admin-select,.admin-textarea{width:100%;background:#1a1a1a;border:1px solid #333;color:hsla(41,58%,78%,.9);padding:10px 14px;font-family:"Noto Serif JP",serif;font-size:13px;outline:none;transition:border-color .2s}.admin-input:focus,.admin-select:focus,.admin-textarea:focus{border-color:var(--gold)}.admin-textarea{resize:vertical;min-height:100px}.admin-badge{display:inline-block;padding:2px 8px;font-family:Cinzel,serif;font-size:8px;letter-spacing:.15em;font-weight:600}.admin-badge-info{background:rgba(42,122,128,.3);color:var(--teal-light);border:1px solid rgba(42,122,128,.4)}.admin-badge-note{background:rgba(212,168,67,.2);color:var(--gold);border:1px solid rgba(212,168,67,.3)}.admin-badge-warn{background:rgba(201,84,106,.2);color:var(--rose);border:1px solid rgba(201,84,106,.3)}.admin-badge-new{background:rgba(120,200,80,.2);color:#7bc850;border:1px solid rgba(120,200,80,.3)}