.ykp{--paper:#f5f1e7;--ink:#25332c;--muted:#667268;--line:#d8d1c0;--leaf:#496d52;--water:#527e89;--clay:#a25842;max-width:1180px;margin:auto;padding:clamp(18px,4vw,48px);border-radius:24px;background:radial-gradient(circle at 8% 0,rgba(73,109,82,.12),transparent 30rem),var(--paper);color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;line-height:1.7}.ykp *{box-sizing:border-box}.ykp a{color:inherit}.ykp-header{max-width:760px;margin-bottom:28px}.ykp-eyebrow{margin:0;color:var(--water);font:600 .73rem/1.5 system-ui,sans-serif;letter-spacing:.14em}.ykp h1{margin:6px 0;font-size:clamp(2rem,6vw,4.2rem);font-weight:500;line-height:1.2}.ykp-header>p:last-child{color:var(--muted)}.ykp-tools{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));gap:10px;margin:24px 0 6px}.ykp label{display:grid;gap:4px;color:var(--muted);font-size:.76rem}.ykp input,.ykp select{min-height:46px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;color:var(--ink);font:inherit}.ykp-count{text-align:right;color:var(--muted);font-size:.78rem}.ykp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:14px}.ykp-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fffdf8;box-shadow:0 10px 25px rgba(55,47,36,.08);text-decoration:none!important;transition:transform .18s}.ykp-card:hover{transform:translateY(-3px)}.ykp-card>img,.ykp-no-photo{width:100%;aspect-ratio:4/3;object-fit:cover}.ykp-no-photo{display:grid;place-items:center;background:linear-gradient(135deg,#e7eadf,#d8e1dc);color:var(--muted)}.ykp-card-body{padding:15px}.ykp-card h2,.ykp-card h3{margin:4px 0;font-size:1.12rem;font-weight:500}.ykp-card p{margin:7px 0;color:var(--muted);font-size:.82rem}.ykp-card small{color:var(--muted)}.ykp-badges{display:flex;flex-wrap:wrap;gap:5px;min-height:1.4em}.ykp-badges span,.ykp-tags span{padding:2px 7px;border-radius:999px;background:var(--clay);color:#fff;font:600 .66rem/1.5 system-ui,sans-serif}.ykp-badges .ykp-popular{background:var(--water)}.ykp-empty{padding:35px;text-align:center;color:var(--muted)}.ykp-back{display:inline-block;margin-bottom:18px;color:var(--water)!important;text-decoration:none}.ykp-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,5vw,60px);align-items:center}.ykp-detail-cover{width:100%;max-height:620px;object-fit:cover;border-radius:24px}.ykp-summary{font-size:1.02rem}.ykp-tags{display:flex;flex-wrap:wrap;gap:6px}.ykp-tags span{background:rgba(73,109,82,.12);color:var(--leaf)}.ykp-section{margin-top:50px}.ykp-section h2,.ykp-footer h2{font-size:1.35rem;font-weight:500}.ykp-timeline{border-left:1px solid var(--line);margin-left:8px}.ykp-timeline article{display:grid;grid-template-columns:9rem 1fr;gap:14px;margin:0 0 24px;padding-left:18px;position:relative}.ykp-timeline article:before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--leaf)}.ykp-timeline time{color:var(--muted);font-size:.78rem}.ykp-timeline h3{margin:0;font-size:1rem}.ykp-timeline img{width:min(520px,100%);margin-top:9px;border-radius:16px}.ykp-related{display:grid;grid-template-columns:100px 1fr;align-items:center}.ykp-related>img{width:100px;height:100%;min-height:100px;object-fit:cover}.ykp-related>div{padding:12px}.ykp-footer{margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}.ykp-social-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.ykp-social-grid a{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fffdf8;text-decoration:none!important}.ykp-social-grid span{color:var(--muted);font-size:.78rem}.ykp-footer details{margin-top:14px}.ykp-footer summary{cursor:pointer;color:var(--water)}.ykp-footer ul{columns:2}.ykp-card[hidden]{display:none}.ykp input:focus,.ykp select:focus{outline:3px solid rgba(82,126,137,.22);outline-offset:2px}@media(max-width:760px){.ykp{padding:17px;border-radius:18px}.ykp-tools,.ykp-detail{grid-template-columns:1fr}.ykp-grid{grid-template-columns:1fr}.ykp-timeline article{grid-template-columns:1fr;gap:2px}.ykp-footer ul{columns:1}}
