:root{--washi: #fcfaf5;--surface: #ffffff;--sub: #f4efe5;--ink: #1f1b18;--ink-2: #574d44;--rule: #ece4d6;--mark: #f3e2a8;--accent: #a81529;--accent-ink: #8e1122;--accent-tint: #f7e9ea;--pine: #2f6b46;--gold: #b8902f;--gold-tint: #f6eed7;--link: #8e1122;--mourning: #3a5a6b;--mourning-ink: #2f4a57;--mourning-tint: #eef1f3;--font-serif: "Noto Serif JP", "Hiragino Mincho ProN", serif;--font-sans: "Noto Sans JP", "Hiragino Sans", sans-serif;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--sh-sm: 0 1px 2px rgba(31, 27, 24, .06);--sh-card: 0 1px 3px rgba(31, 27, 24, .07);--sh-md: 0 2px 12px rgba(31, 27, 24, .08)}[data-mode=mourning]{--accent: #3a5a6b;--accent-ink: #2f4a57;--accent-tint: #eef1f3;--pine: #4a5d63;--gold: #94886c;--gold-tint: #efeee9;--mark: #dde3e6;--link: #2f4a57}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--washi);color:var(--ink);font-family:var(--font-sans);line-height:1.9;letter-spacing:.01em;-webkit-font-smoothing:antialiased}::selection{background:var(--mark)}a{color:inherit}img{max-width:100%}.container{max-width:1080px;margin:0 auto;padding-inline:24px}.container--narrow{max-width:760px}.site-header{position:sticky;top:0;z-index:40;background:#fcfaf5eb;backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.site-header__inner{max-width:1080px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:16px}.site-header__logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex:none}.site-header__mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--accent);border-radius:var(--r-sm);color:var(--accent);font-family:var(--font-serif);font-weight:700;font-size:20px;transform:rotate(-2deg)}.site-header__name{font-family:var(--font-serif);font-weight:600;font-size:23px;letter-spacing:.08em;color:var(--ink)}.site-header__spacer{flex:1}.nav-pc{display:flex;gap:4px;align-items:center}.nav-pc a{padding:8px 13px;font-size:14px;font-weight:500;text-decoration:none;color:var(--ink);border-radius:var(--r-sm)}.nav-pc a:hover{background:var(--sub)}.nav-pc a.is-cta{font-weight:700;color:var(--accent-ink);border:1.5px solid var(--accent)}.nav-pc a.is-cta:hover{background:var(--accent-tint)}.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--surface);align-items:center;justify-content:center;cursor:pointer;flex:none}.nav-toggle__bar{display:block;width:18px;height:2px;background:var(--ink);box-shadow:0 -6px 0 var(--ink),0 6px 0 var(--ink)}.nav-mobile{display:none;border-top:1px solid var(--rule);background:var(--surface)}.nav-mobile__inner{max-width:1080px;margin:0 auto;padding:8px 12px;display:flex;flex-direction:column}.nav-mobile a{padding:13px 12px;min-height:44px;display:flex;align-items:center;font-size:15px;font-weight:500;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule)}.nav-mobile a:last-child{border-bottom:none}.nav-mobile a.is-cta{font-weight:700;color:var(--accent-ink)}@media(max-width:820px){.nav-pc{display:none}.nav-toggle{display:flex}.nav-mobile.is-open{display:block}}.hero{position:relative;overflow:hidden;background-color:var(--washi);background-image:radial-gradient(circle at 50% 0,transparent 10px,var(--gold-tint) 10px 11.5px,transparent 12px);background-size:30px 15px;border-bottom:1px solid var(--rule)}.hero__inner{max-width:1080px;margin:0 auto;padding:clamp(48px,8vw,84px) 24px clamp(40px,6vw,64px)}.hero__eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.18em;color:var(--accent);margin-bottom:18px}.hero__title{font-family:var(--font-serif);font-weight:600;font-size:clamp(30px,6vw,52px);line-height:1.4;margin:0 0 20px;letter-spacing:.03em;text-wrap:pretty;max-width:18ch}.hero__lead{max-width:50ch;margin:0 0 32px;font-size:17px;line-height:1.95;color:var(--ink-2);text-wrap:pretty}.hero__cta{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--r-sm);font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;border:none;font-family:var(--font-sans);transition:background .2s,border-color .2s}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-ink)}.btn--secondary{background:transparent;color:var(--accent-ink);border:1.5px solid var(--accent)}.btn--secondary:hover{background:var(--accent-tint)}.section{max-width:1080px;margin:0 auto;padding:clamp(40px,6vw,64px) 24px 0}.section__head{display:flex;align-items:baseline;gap:12px;margin-bottom:22px}.section__title{font-family:var(--font-serif);font-weight:600;font-size:22px;margin:0;letter-spacing:.04em}.section__sub{font-size:12px;color:var(--ink-2);letter-spacing:.1em}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.tile{display:flex;flex-direction:column;gap:8px;padding:22px 18px;background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--accent);border-radius:var(--r-md);text-decoration:none;box-shadow:var(--sh-card);transition:box-shadow .2s,transform .2s}.tile:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}.tile__name{font-family:var(--font-serif);font-weight:700;font-size:19px;color:var(--ink)}.tile__desc{font-size:13px;color:var(--ink-2);line-height:1.7}.tile.is-mourning{border-top-color:var(--mourning)}.tile.is-pine{border-top-color:var(--pine)}.tile.is-gold{border-top-color:var(--gold)}.featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;box-shadow:var(--sh-card)}.featured__img{aspect-ratio:16 / 9;min-height:200px;object-fit:cover;background:var(--sub)}.featured__body{padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;justify-content:center}.featured__meta{display:flex;gap:10px;align-items:center;margin-bottom:12px}.featured__title{font-family:var(--font-serif);font-weight:600;font-size:clamp(22px,3vw,28px);line-height:1.5;margin:0 0 12px;letter-spacing:.02em;text-wrap:pretty;color:var(--ink)}.featured__desc{margin:0 0 14px;font-size:15px;color:var(--ink-2);line-height:1.9;text-wrap:pretty}.featured__date{font-size:13px;color:var(--ink-2)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:18px}.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden;text-decoration:none;box-shadow:var(--sh-card);transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}.card__img{aspect-ratio:16 / 9;width:100%;object-fit:cover;background:var(--sub)}.card__body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px}.card__title{font-family:var(--font-serif);font-weight:600;font-size:17px;line-height:1.55;margin:0;color:var(--ink);text-wrap:pretty}.card__date{font-size:12px;color:var(--ink-2);margin-top:2px}.badge{align-self:flex-start;font-size:11px;font-weight:700;padding:2px 9px;border-radius:var(--r-pill);color:var(--accent-ink);background:var(--accent-tint)}.badge.is-mourning{color:var(--mourning-ink);background:var(--mourning-tint)}.badge.is-pine{color:var(--pine);background:var(--gold-tint)}.badge.is-gold{color:var(--gold);background:var(--gold-tint)}.adslot{border:1px dashed var(--rule);border-radius:var(--r-md);min-height:120px;display:flex;align-items:center;justify-content:center;background:var(--sub);color:var(--ink-2);font-size:12px}.breadcrumb{max-width:760px;margin:0 auto;padding:18px 24px 0}.breadcrumb nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.breadcrumb a{color:var(--link);text-decoration:none}.breadcrumb .sep{color:var(--rule)}.breadcrumb .current{color:var(--ink)}.site-footer{margin-top:clamp(48px,7vw,80px);background:var(--ink);color:#cdc4ba}.site-footer__top{max-width:1080px;margin:0 auto;padding:48px 24px 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:32px}.site-footer__brand-row{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}.site-footer__mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid #cdc4ba;border-radius:var(--r-sm);color:#fcfaf5;font-family:var(--font-serif);font-weight:700;font-size:17px}.site-footer__name{font-family:var(--font-serif);font-weight:600;font-size:19px;letter-spacing:.08em;color:#fcfaf5}.site-footer__about{margin:0;font-size:13px;line-height:1.9;color:#9a9088;max-width:32ch}.site-footer h4{font-size:13px;font-weight:700;color:#fcfaf5;margin:0 0 14px;letter-spacing:.08em}.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.site-footer a{font-size:13px;color:#cdc4ba;text-decoration:none}.site-footer a:hover{color:#fcfaf5}.site-footer__bottom{border-top:1px solid #3a342e}.site-footer__bottom-inner{max-width:1080px;margin:0 auto;padding:16px 24px;font-size:12px;color:#9a9088}.doc,.page{max-width:760px;margin:0 auto;padding:32px 24px clamp(48px,7vw,80px)}.doc h1,.page h1{font-family:var(--font-serif);font-weight:600;font-size:clamp(26px,5vw,36px);line-height:1.45;margin:0 0 24px;letter-spacing:.02em}.doc h2,.page h2{font-family:var(--font-serif);font-weight:600;font-size:22px;margin:36px 0 14px;padding-left:14px;border-left:4px solid var(--accent)}.doc p,.doc li,.page p,.page li{font-size:16px;line-height:1.95;color:var(--ink)}.doc a,.page a{color:var(--link)}.affiliate-disclosure{max-width:760px;margin:0 0 20px;padding:10px 14px;background:var(--sub);border:1px solid var(--rule);border-radius:var(--r-sm);font-size:12.5px;line-height:1.7;color:var(--ink-2)}
