:root{--bg:#f5f2ea;--fg:#2b2c27;--muted:#73786f;--line:#d9d4c7;--accent:#3f6b47;--photo:#e4dfd3;--photo-ink:#5d6758;--font-jp:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--font-en:"Cormorant Garamond","Times New Roman",serif}*{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;display:flex;flex-direction:column}body>main{flex:1}img{max-width:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-jp);font-size:15px;line-height:2.1;letter-spacing:.04em}a{color:inherit}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.in{max-width:680px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}.photo{background:var(--photo);color:var(--photo-ink);display:grid;place-items:center;font-size:12px;letter-spacing:.1em;max-width:100%}.hero{position:relative;aspect-ratio:3/4;max-height:92vh;width:100%}@media(min-width:760px){.hero{aspect-ratio:16/9}}.hero .photo{position:absolute;inset:0}.hero-title{position:absolute;top:max(28px,env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px}.hero-title h1{margin:0;writing-mode:vertical-rl;font-size:clamp(30px,6vw,48px);font-weight:500;letter-spacing:.3em;line-height:1}.hero-title span{font-family:var(--font-en);font-size:13px;letter-spacing:.3em;color:var(--muted)}.intro{padding-block:80px 72px;display:grid;gap:28px;text-align:center}.intro .icons{justify-content:center}.intro h2{margin:0;font-size:22px;font-weight:500;letter-spacing:.2em}.intro p{margin:0;text-align:left}.intro .en{font-family:var(--font-en);font-size:17px;line-height:1.8;letter-spacing:.01em;color:var(--muted)}.cta{justify-self:center;display:inline-block;border:1px solid var(--fg);padding:12px 40px;text-decoration:none;font-size:15px;line-height:1.6;text-align:center}.cta small{display:block;font-family:var(--font-en);font-size:13px;color:var(--muted);letter-spacing:.08em}.cta:hover{background:var(--fg);color:var(--bg)}.cta:hover small{color:var(--bg)}.tiles{display:grid;gap:48px;padding-inline:max(20px,env(safe-area-inset-left,0px))}.tile{display:grid;gap:14px;text-decoration:none}.tile .photo{position:relative;aspect-ratio:3/2;overflow:hidden}.tile .photo img{transition:transform .8s ease}.tile:hover .photo img{transform:scale(1.03)}.tile .label{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}.tile .label b{font-weight:500;font-size:18px;letter-spacing:.14em}.tile .label span{font-family:var(--font-en);font-size:14px;letter-spacing:.14em;color:var(--muted)}.tile .label i{margin-left:auto;font-style:normal;font-family:var(--font-en);color:var(--muted);transition:transform .3s ease}.tile:hover .label i{transform:translate(4px);color:var(--fg)}@media(min-width:760px){.tiles{max-width:1120px;margin:0 auto;padding-inline:40px;grid-template-columns:repeat(3,1fr);gap:32px}.tile .photo{aspect-ratio:4/5}.tile .label{flex-direction:column;gap:2px}.tile .label b{font-size:16px}.tile .label span{font-size:13px}.tile .label i{position:absolute;right:0;bottom:12px}.tile{position:relative}}main{padding-bottom:96px}@media(min-width:760px){main{padding-bottom:140px}.intro{padding-block:120px 104px}}footer{background:var(--fg);color:var(--bg)}footer .in{padding-block:56px 36px;display:grid;gap:28px}footer .name{font-size:20px;letter-spacing:.2em}footer nav{display:grid;gap:4px;font-family:var(--font-en);font-size:15px;letter-spacing:.16em}footer nav a{text-decoration:none;opacity:.85}footer nav a:hover{opacity:1;text-decoration:underline}footer .sns{display:flex;gap:18px;font-size:13px;flex-wrap:wrap}footer small{font-family:var(--font-en);font-size:12px;opacity:.6;letter-spacing:.1em}.icons{display:flex;flex-wrap:wrap;gap:22px}.icons a{display:grid;justify-items:center;gap:6px;text-decoration:none;color:var(--muted);font-size:11px;letter-spacing:.08em}.icons svg{width:46px;height:46px;padding:12px;border:1px solid var(--line);border-radius:50%;color:var(--fg);box-sizing:border-box}.icons a:hover svg{border-color:var(--accent);color:var(--accent)}.photo.has-img{padding:0;overflow:hidden}.photo.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);display:block}.hero{background:#1c2430}.hero-img,.hero-img img{position:absolute;inset:0;width:100%;height:100%}.hero-img img{object-fit:cover;object-position:50% 40%;display:block}.hero-title h1{color:#f3f1ea}.hero-title span{color:#f3f1eabf}.page-head{padding-block:72px 32px;display:grid;gap:6px;text-align:center}.page-head h1{margin:0;font-size:26px;font-weight:500;letter-spacing:.2em}.page-head span{font-family:var(--font-en);font-size:13px;letter-spacing:.2em;color:var(--muted)}.page-photo{width:100%;max-height:70vh;object-fit:cover;display:block}.page-body{padding-block:56px;display:grid;gap:24px}.page-body p{margin:0}.top-link{position:absolute;top:max(16px,env(safe-area-inset-top,0px));left:max(20px,env(safe-area-inset-left,0px));text-decoration:none;font-size:15px;letter-spacing:.2em}.site-head{position:relative;height:56px}
