@font-face{font-family:'Kaisei Decol';font-weight:700;font-display:swap;src:url(../fonts/kaisei-700.woff2) format('woff2')}
@font-face{font-family:'Zen Maru Gothic';font-weight:500;font-display:swap;src:url(../fonts/zen-500.woff2) format('woff2')}
@font-face{font-family:'Zen Maru Gothic';font-weight:700;font-display:swap;src:url(../fonts/zen-700.woff2) format('woff2')}
*{margin:0;padding:0;box-sizing:border-box}
:root{--p:#FFFFFF;--p2:#FFFFFF;--r:#E60012;--d:#000000;--pad:64px}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{background:var(--p);color:var(--d);font-family:'Zen Maru Gothic','Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;font-weight:500;line-height:1.9;-webkit-text-size-adjust:100%}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
a:focus-visible,button:focus-visible{outline:2px solid var(--r);outline-offset:3px}
.mast{margin:0 var(--pad);padding:34px 0 20px;text-align:center;border-bottom:1px solid var(--r);position:relative}
.m-l,.m-r{position:absolute;top:44px;font-size:13px;letter-spacing:.1em}.m-l{left:0}.m-r{right:0}
.logo{display:block;font-family:'Kaisei Decol',serif;font-weight:700;font-size:44px;letter-spacing:.22em;color:var(--r);padding-left:.22em;line-height:1.5}
.sub{display:block;font-size:12px;letter-spacing:.4em}
.burger{display:none}
.gnav{margin:0 var(--pad);border-bottom:3px double var(--r);display:flex;justify-content:center;gap:44px;padding:14px 0;font-size:14px;font-weight:700;letter-spacing:.14em}
.gnav a:hover{color:var(--r);text-decoration:underline;text-underline-offset:6px}
.hero{display:grid;grid-template-columns:340px minmax(0,1fr) 340px;gap:48px;padding:36px var(--pad) 72px}
.no{font-family:'Kaisei Decol',serif;color:var(--r);font-size:14px;letter-spacing:.2em;font-weight:700}
h1,h2,h3{font-family:'Kaisei Decol',serif;font-weight:700;color:var(--r)}
h1{font-size:44px;line-height:1.5;margin:18px 0 26px}
.col1 p{font-size:15px;line-height:2.05}
.btn{display:inline-block;margin-top:28px;border:1.5px solid var(--r);color:var(--r);padding:12px 26px;font-weight:700;font-size:14px;letter-spacing:.1em;line-height:1.5}
.btn:hover{background:var(--r);color:var(--p)}
.sign{margin-top:40px;padding-top:16px;border-top:1px solid var(--r);font-size:13px;line-height:1.9}
.mid{position:relative;max-width:520px;margin:0 auto;width:100%;padding-bottom:70px}
.arch{margin-left:30px;margin-right:30px;aspect-ratio:480/600;border-radius:999px 999px 0 0;overflow:hidden}
.arch img,.round img{width:100%;height:100%;object-fit:cover}
.round{position:absolute;right:0;bottom:0;width:42%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:8px solid var(--p)}
.stamp{position:absolute;left:0;bottom:90px;width:96px;height:96px;border-radius:50%;background:var(--r);color:var(--p);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Kaisei Decol',serif;font-size:15px;line-height:1.4;transform:rotate(-8deg)}
.col3 h2,.item{}
.col3 h2{font-size:20px;letter-spacing:.14em;border-bottom:1px solid var(--r);padding-bottom:12px}
.item{padding:18px 0;border-bottom:1px dotted var(--d);display:grid;grid-template-columns:34px 1fr auto;align-items:baseline;line-height:1.6}
.item i{font-style:normal;font-family:'Kaisei Decol',serif;color:var(--r);font-size:14px}
.item b{font-size:17px}.item span{font-size:15px}
.item small{display:block;grid-column:2/4;font-size:13px;line-height:1.7;margin-top:5px;color:var(--d)}
/* sections */
.sec{padding:88px var(--pad);border-top:1px solid var(--r);margin:0 0}
.sec-h{max-width:640px;margin-bottom:40px}
.sec-h .no{display:block}
.sec h2{font-size:clamp(28px,3.2vw,40px);line-height:1.5;margin:10px 0 14px}
.sec-h p{font-size:15.5px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px}
.chips button{font:inherit;font-weight:700;font-size:14px;letter-spacing:.08em;color:var(--r);background:none;border:1.5px solid var(--r);border-radius:999px;padding:6px 20px;cursor:pointer}
.chips button[aria-pressed=true]{background:var(--r);color:var(--p)}
.pgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:56px 32px;align-items:start}
.p[hidden]{display:none}
.p .ph{overflow:hidden;background:var(--p2)}
.p .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.p:hover .ph img{transform:scale(1.04)}
.p .tx{display:grid;grid-template-columns:auto 1fr auto;column-gap:12px;align-items:baseline;margin-top:16px}
.p .n{font-family:'Kaisei Decol',serif;color:var(--r);font-size:14px}
.p h3{font-size:20px;line-height:1.5}
.p .pr{font-weight:700;font-size:17px}
.p .tx p{grid-column:2/4;font-size:14.5px;line-height:1.85;margin-top:6px}
.sold{grid-column:2/4;justify-self:start;margin-top:10px;font-size:12px;font-weight:700;border:1px solid var(--d);padding:1px 10px;border-radius:999px}
.p1{grid-column:1/8}.p1 .ph{aspect-ratio:4/3;border-radius:999px 999px 0 0}
.p2{grid-column:9/13;margin-top:96px}.p2 .ph{aspect-ratio:1}
.p3{grid-column:1/5}.p3 .ph{aspect-ratio:1;border-radius:50%}
.p4{grid-column:5/9;margin-top:48px}.p4 .ph{aspect-ratio:4/5}
.p5{grid-column:9/13}.p5 .ph{aspect-ratio:1}
.gift{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--r);color:var(--p)}
.g-img{min-height:520px}.g-img img{width:100%;height:100%;object-fit:cover}
.g-tx{padding:80px var(--pad) 80px 72px}
.gift .no.inv{color:var(--p);border:1px solid var(--p);padding:2px 14px;border-radius:999px;display:inline-block}
.gift h2{color:var(--p);font-size:clamp(26px,3vw,38px);line-height:1.5;margin:20px 0 18px}
.gift p{font-size:15.5px;max-width:30em}
.gift ul{list-style:none;margin:30px 0 16px;border-top:1px solid #FFFFFF;max-width:32em}
.gift li{display:grid;grid-template-columns:4em 1fr auto;gap:10px;padding:14px 0;border-bottom:1px solid #FFFFFF;align-items:baseline}
.gift li b{font-family:'Kaisei Decol',serif;font-size:18px}.gift li em{font-style:normal;font-weight:700;font-size:18px}.gift li span{font-size:14.5px}
.gift .small{font-size:13px}
.tt{border-collapse:collapse;width:100%;max-width:720px;text-align:center}
.tt th,.tt td{padding:16px 10px;border-bottom:1px dotted var(--d);font-size:17px}
.tt thead th{border-bottom:1px solid var(--r);color:var(--r);font-family:'Kaisei Decol',serif}
.tt tbody th{text-align:left;font-weight:700}
.about{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;padding:88px var(--pad);border-top:1px solid var(--r);background:var(--p2)}
.about h2{font-size:clamp(26px,3vw,38px);line-height:1.6;margin-top:12px}
.a-r p{font-size:15.5px;margin-bottom:18px;max-width:34em}
blockquote{margin-top:32px;padding-left:20px;border-left:3px solid var(--r);font-family:'Kaisei Decol',serif;font-weight:700;color:var(--r);font-size:20px;line-height:1.9}
.wheat{position:absolute;right:var(--pad);top:-1px;height:100px;width:auto;transform:translateY(-50%);background:var(--p);padding:0 10px}
.rsv{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;counter-reset:x}
.rsv li{border-top:1px solid var(--r);padding-top:20px}
.rsv b{display:flex;width:42px;height:42px;border-radius:50%;background:var(--r);color:var(--p);align-items:center;justify-content:center;font-family:'Kaisei Decol',serif;font-size:18px;margin-bottom:14px}
.rsv h3{font-size:19px;line-height:1.6;margin-bottom:6px}
.rsv p{font-size:15px}
dl>div{display:grid;grid-template-columns:7em 1fr;padding:14px 0;border-bottom:1px dotted var(--d)}
dl>div:first-child{border-top:1px solid var(--r)}
dt{font-weight:700;color:var(--r)}
.shop dl{max-width:720px}
.ft{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding:40px var(--pad);border-top:3px double var(--r);font-size:12.5px;line-height:1.8}
.ft .logo{font-size:26px;padding:0}
.totop{font-weight:700;border:1.5px solid var(--r);color:var(--r);padding:8px 16px;white-space:nowrap}
@media (max-width:1180px){
 :root{--pad:40px}
 .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
 .col3{grid-column:1/3}
 .mid{max-width:460px}
 .pgrid{grid-template-columns:repeat(6,1fr)}
 .p1{grid-column:1/7}.p2{grid-column:1/4;margin-top:0}.p3{grid-column:4/7}.p4{grid-column:1/4;margin-top:0}.p5{grid-column:4/7}
 .rsv{gap:24px}
 .gnav{gap:26px}
}
@media (max-width:860px){
 .m-l,.m-r{display:none}
 .mast{padding:22px 48px 14px 0}
 .logo{font-size:34px}
 .burger{display:flex;flex-direction:column;justify-content:center;gap:7px;position:absolute;right:0;top:26px;width:44px;height:44px;align-items:center;background:none;border:1.5px solid var(--r);border-radius:50%;cursor:pointer}
 .burger span{display:block;width:18px;height:2px;background:var(--r);transition:.2s}
 .burger[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
 .burger[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
 .gnav{display:none;flex-direction:column;gap:0;padding:6px 0}
 .gnav.open{display:flex}
 .gnav a{padding:12px 0;border-bottom:1px dotted var(--d);text-align:center}
 .gnav a:last-child{border:0}
 .hero{grid-template-columns:1fr}
 .col3{grid-column:auto}
 .mid{order:-1;max-width:420px}
 .gift{grid-template-columns:1fr}
 .g-img{min-height:0;aspect-ratio:1/.7}
 .g-tx{padding:56px var(--pad)}
 .about{grid-template-columns:1fr;gap:28px}
 .rsv{grid-template-columns:1fr}
 .ft{grid-template-columns:1fr;gap:16px}
}
@media (max-width:600px){
 :root{--pad:20px}
 .mast{margin:0 var(--pad)}
 .logo{font-size:28px;letter-spacing:.16em}
 .sub{font-size:11px;letter-spacing:.3em}
 .burger{top:20px}
 .hero{padding:24px var(--pad) 48px;gap:28px}
 h1{font-size:32px;margin:12px 0 18px}
 .mid{max-width:290px}
 .stamp{width:72px;height:72px;font-size:12px;bottom:60px}
 .arch{margin-left:14px;margin-right:14px}
 .sec{padding:60px var(--pad)}
 .pgrid{grid-template-columns:1fr;gap:44px}
 .p1,.p2,.p3,.p4,.p5{grid-column:1}
 .p3 .ph{border-radius:50%}
 .p3{max-width:340px}
 .about{padding:60px var(--pad)}
 .wheat{height:70px;right:var(--pad)}
 .tt th,.tt td{padding:12px 4px;font-size:15px}
 .gift li{grid-template-columns:3.2em 1fr auto}
 dl>div{grid-template-columns:5em 1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.p .ph img{transition:none}}
