@font-face{font-family:"Noto Serif JP";src:url("fonts/serif-regular.woff2") format("woff2");font-weight:400 600;font-display:block}@font-face{font-family:"Noto Serif JP";src:url("fonts/serif-bold.woff2") format("woff2");font-weight:700 900;font-display:block}@font-face{font-family:"Zen Kaku Gothic New";src:url("fonts/sans-regular.woff2") format("woff2");font-weight:400 600;font-display:block}@font-face{font-family:"Zen Kaku Gothic New";src:url("fonts/sans-bold.woff2") format("woff2");font-weight:700 900;font-display:block}
:root{--paper:#fff;--ink:#080808;--red:#bc3524;--blue:#173c57;--width:min(1040px,calc(100% - 80px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Serif JP",serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}img{display:block;width:100%;max-width:100%}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}p{margin:0}section{position:relative;scroll-margin-top:30px}.wrap,.section-inner{width:var(--width);margin:auto}.sample-bar{position:relative;z-index:5;background:#080808;color:#fff;font-family:"Zen Kaku Gothic New",sans-serif;font-size:12px;letter-spacing:.05em}.sample-bar .wrap{width:100%;min-height:38px;padding:7px 15px;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.sample-bar a{text-decoration:underline;text-underline-offset:3px}
.hero{height:742px;margin-bottom:310px}.color-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ink-field,.vermilion-field{position:absolute;display:block;top:0;height:742px}.ink-field{left:0;width:61.4%;background:var(--ink);border-bottom-right-radius:65% 77%;transform-origin:left top}.vermilion-field{right:0;width:54.7%;background:var(--red);border-bottom-left-radius:66% 77%;transform-origin:right top}.hero-grid{position:static;width:100%;height:100%}.hero-top{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;letter-spacing:2px}.hero-top>div{position:absolute;left:7.5%;top:545px;color:#fff;writing-mode:vertical-rl;font-size:11px;line-height:1.6;letter-spacing:1.2px;height:166px}.hero-top nav{position:absolute;top:44px;right:7%;display:flex;gap:24px;font-size:14px;color:#fff}.hero-top a{position:relative}.hero-top a:after{content:"";position:absolute;bottom:-5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.hero-top a:hover:after{transform:scaleX(1)}.hero-main,.hero-copy{position:static}.hero-copy>.stamp{position:absolute;left:50%;top:27px;transform:translateX(-50%);border:1px solid #fff;border-radius:50%;width:78px;height:78px;display:grid;place-items:center;color:#fff;font-size:12px;letter-spacing:1px;font-family:"Zen Kaku Gothic New",sans-serif}.hero h1{position:absolute;top:448px;left:50%;transform:translateX(-50%);display:flex;flex-direction:row-reverse;align-items:flex-start;gap:5px;margin:0;width:153px;height:280px;color:var(--blue);line-height:1.12;font-weight:900;letter-spacing:1px}.hero h1 span{writing-mode:vertical-rl}.hero h1 span:first-child{font-size:27px;padding-top:4px;white-space:pre}.hero h1 span:last-child{font-size:76px}.hero-lead{position:absolute;top:816px;left:max(40px,calc((100% - 1040px)/2));width:54%;max-width:615px;font-size:17px;line-height:2.3;letter-spacing:1px}.hero-note{position:absolute;top:110px;left:7.5%;display:flex;flex-direction:row;align-items:flex-start;gap:10px;color:#fff;font-family:"Zen Kaku Gothic New",sans-serif;letter-spacing:2px;line-height:1.6}.hero-note span{writing-mode:vertical-rl;font-size:19.2px}.hero-note span:first-child{font-size:38.4px;font-weight:700}.hero-bottom{position:absolute;top:822px;right:max(40px,calc((100% - 1040px)/2));width:30%;max-width:340px}.hero-card{border-left:1px solid #999;padding-left:26px}.hero-card strong{display:block;font-size:20px;letter-spacing:3px;margin-bottom:12px}.hero-card p{font-size:15px;line-height:2}
.stamp{font-family:"Zen Kaku Gothic New",sans-serif;font-size:14px;letter-spacing:2px;font-weight:700}.section-head{display:flex;align-items:center;justify-content:space-between;gap:30px}.section-head h2{margin:12px 0 0;font-size:30px;line-height:1.65;letter-spacing:4px;font-weight:700}.label-en{font-size:16px;letter-spacing:3px;font-family:"Zen Kaku Gothic New",sans-serif}.craft-picture{height:500px;width:var(--width);margin:auto;background:url('img/02.jpg') center 55%/cover no-repeat}.craft-picture:after{content:"";position:absolute;top:200px;right:0;width:140px;height:140px;background:var(--red);border-radius:0 0 0 100%;transform:translateY(390px);z-index:-1}#kodawari{margin-bottom:240px}#kodawari .section-inner{position:relative;padding:0 0 40px}#kodawari .section-head{background:white;width:440px;max-width:95%;min-height:230px;padding:35px 45px;margin-top:-160px;position:relative;align-items:flex-start}#kodawari .section-head h2{writing-mode:vertical-rl;height:240px;margin:0 0 0 25px;font-size:26px;letter-spacing:3px;line-height:1.8}#kodawari .section-head>div:first-child{display:flex;flex-direction:row-reverse;gap:15px}#kodawari .stamp{writing-mode:vertical-rl}#kodawari .label-en{writing-mode:vertical-rl;font-size:14px}.kodawari-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;padding-top:52px}.feature-card{border-left:1px solid #777;padding-left:25px}.feature-card h3{font-size:19px;letter-spacing:1px;margin:0 0 18px;line-height:1.8}.feature-card p{font-size:16px;line-height:2.1}
#menu{color:var(--blue);margin-bottom:290px}#menu:before{content:"";position:absolute;right:0;top:-120px;height:590px;width:33.4%;background:#ececec;z-index:-1}#menu:after{content:"";position:absolute;left:-120px;bottom:-160px;width:370px;height:185px;border-radius:0 0 100% 0;background:var(--ink);z-index:-1}#menu .section-head{justify-content:center;align-items:flex-end;margin:0 0 25px}#menu .section-head>div:first-child{display:flex;gap:20px;align-items:flex-end}#menu h2{font-family:"Zen Kaku Gothic New",sans-serif;font-size:20px;letter-spacing:5px;line-height:1.65;margin:0}#menu .stamp{font-size:16px;letter-spacing:3px}.menu-intro{font-size:16px;line-height:1.8;max-width:760px;margin:0 auto 30px}.menu-grid{border:7px solid var(--blue);padding:25px 60px}.menu-card{display:grid;grid-template-columns:170px 1fr 130px;gap:28px;align-items:center;padding:29px 0;border-bottom:2px solid var(--blue)}.menu-card:last-child{border:0}.menu-card h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:19px;line-height:1.7;margin:0}.menu-card p{font-size:15px;font-weight:500;line-height:1.8;letter-spacing:1px}.price{font-size:25px;font-weight:700;white-space:nowrap}.menu-card{transition:transform .3s}.menu-card:hover{transform:translateX(5px)}
#gallery{margin-bottom:250px}#gallery .section-head{margin-bottom:28px}.gallery-copy{max-width:750px;font-size:16px;margin-bottom:42px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.photo{position:relative;margin:0;display:grid;grid-template-columns:1fr 1fr;min-height:270px;background:var(--red);color:#fff;overflow:hidden}.photo img{height:100%;min-height:270px;object-fit:cover;transition:transform .6s}.photo figcaption{align-self:center;font-size:17px;line-height:2;padding:24px;position:relative;z-index:1}.photo:nth-child(2),.photo:nth-child(3){background:var(--blue)}.photo:nth-child(even) img{order:2}.photo:hover img{transform:scale(1.04)}
#info{padding-bottom:120px}.room-picture{width:100%;height:450px;background:url('img/04.jpg') center/cover no-repeat;margin-bottom:90px}#info .section-head{margin-bottom:55px}#info h2{font-size:30px;color:var(--blue);line-height:1.6}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.info-card h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:20px;margin:0 0 25px;letter-spacing:2px}.info-list{list-style:none;margin:0;padding:0}.info-list li{display:grid;grid-template-columns:90px 1fr;gap:18px;border-top:1px solid #bbb;padding:18px 0}.info-list strong{font-family:"Zen Kaku Gothic New",sans-serif;font-size:15px}.info-list span{font-size:16px}.info-note{font-size:15px;line-height:1.9;margin-top:20px}.footer-inner{width:var(--width);margin:auto;border-top:1px solid #aaa;padding:45px 0 55px}.footer-title{font-size:30px;color:var(--blue);font-weight:700;margin-bottom:14px;letter-spacing:3px}.footer-copy{font-size:15px}.footer-copy a{text-decoration:underline}
.reveal{opacity:1}.motion .reveal{opacity:0;transform:translateY(25px);transition:opacity 1.2s ease,transform 1.2s ease}.motion .reveal.is-visible{opacity:1;transform:none}.motion .hero-copy{opacity:1;transform:none}.motion .color-stage .ink-field{animation:ink-enter 1.2s .2s both}.motion .color-stage .vermilion-field{animation:red-enter 1.2s .7s both}.motion .hero h1{animation:title-enter 1.2s 1.4s both}.motion .hero-note{animation:fade-enter 1.2s .6s both}@keyframes ink-enter{from{transform:translateX(-100%);opacity:0}to{transform:none;opacity:1}}@keyframes red-enter{from{transform:translateX(100%);opacity:0}to{transform:none;opacity:1}}@keyframes title-enter{from{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes fade-enter{from{opacity:0}to{opacity:1}}
@media(max-width:800px){:root{--width:calc(100% - 40px)}.sample-bar .wrap{gap:0;font-size:10px;padding:7px 12px;flex-direction:column}.hero{height:680px;margin-bottom:350px}.ink-field,.vermilion-field{height:680px}.ink-field{width:72%;border-bottom-right-radius:85% 65%}.vermilion-field{width:49%;height:470px;border-bottom-left-radius:90% 80%}.hero-top nav{top:24px;right:20px;gap:12px;font-size:13px;flex-direction:column;align-items:flex-end}.hero-copy>.stamp{left:31%;top:27px;width:65px;height:65px;font-size:11px}.hero-note{top:139px;left:25px;gap:4px}.hero-note span:first-child{font-size:30px}.hero-note span{font-size:16px}.hero-top>div{left:26px;top:475px;font-size:11px}.hero h1{top:405px;left:65%;width:126px;height:260px;gap:4px}.hero h1 span:last-child{font-size:68px}.hero h1 span:first-child{font-size:24px}.hero-lead{top:725px;left:20px;width:calc(100% - 40px);font-size:16px;line-height:2.1}.hero-bottom{top:865px;left:20px;right:auto;width:calc(100% - 40px);max-width:none}.hero-card{padding-left:20px}.hero-card strong{font-size:18px;margin-bottom:5px}.hero-card p{font-size:15px}.craft-picture{height:360px}#kodawari{margin-bottom:140px}#kodawari .section-head{padding:28px;width:280px;margin-top:-90px;min-height:0}#kodawari .section-head h2{font-size:23px;height:235px;margin:0 0 0 10px}#kodawari .label-en{font-size:15px}.kodawari-grid{grid-template-columns:1fr;gap:30px;padding-top:35px}.feature-card{padding-left:20px}.feature-card h3{font-size:19px;margin-bottom:10px}.feature-card p{font-size:16px}.section-head{gap:15px;align-items:flex-start}.section-head h2{font-size:25px;letter-spacing:2px}.label-en{font-size:15px;letter-spacing:1px}.stamp{font-size:15px}#menu{margin-bottom:170px}#menu .section-head{justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}#menu .section-head>div:first-child{display:block}#menu .stamp{display:block;margin-bottom:10px}#menu h2{font-size:20px;letter-spacing:3px}#menu .label-en{padding-top:7px}.menu-intro{font-size:15px;line-height:2}.menu-grid{border-width:5px;padding:12px 22px}.menu-card{grid-template-columns:1fr auto;gap:10px;padding:25px 0}.menu-card h3{font-size:19px}.menu-card p{grid-column:1/-1;grid-row:2;font-size:15px}.price{font-size:23px;grid-column:2;grid-row:1}.gallery-grid{grid-template-columns:1fr;gap:22px}.photo{min-height:245px}.photo img{min-height:245px}.photo figcaption{font-size:15px;padding:18px;line-height:2}#gallery{margin-bottom:135px}.gallery-copy{font-size:16px;margin-bottom:30px}.room-picture{height:300px;margin-bottom:55px}#info{padding-bottom:65px}#info h2{font-size:25px}.info-grid{grid-template-columns:1fr;gap:50px}.info-list li{grid-template-columns:80px 1fr;gap:14px}.info-list span,.info-note{font-size:15px}.footer-title{font-size:25px}.footer-copy{font-size:15px}.craft-picture:after{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
@media(min-width:801px){.ink-field{height:580px;border-bottom-right-radius:100% 100%}.vermilion-field{height:580px;border-bottom-left-radius:100% 100%}.ink-field:after,.vermilion-field:after{content:"";position:absolute;top:570px;height:172px;background:inherit}.ink-field:after{left:0;width:51.3%}.vermilion-field:after{right:0;width:45.5%}.hero h1{left:53.36%}}
.nav-toggle{position:fixed;right:0;top:calc(50% - 60px);z-index:20;width:120px;height:120px;border:0;background:var(--blue);cursor:pointer;display:grid;place-items:center}.nav-toggle i,.nav-toggle i:before,.nav-toggle i:after{display:block;position:relative;width:55px;height:4px;background:#fff;transition:transform .3s}.nav-toggle i:before,.nav-toggle i:after{content:"";position:absolute;left:0}.nav-toggle i:before{top:-15px}.nav-toggle i:after{top:15px;width:38px}.nav-toggle[aria-expanded=true] i{transform:rotate(45deg)}.nav-toggle[aria-expanded=true] i:before{transform:rotate(90deg);top:0}.nav-toggle[aria-expanded=true] i:after{transform:scaleX(0)}.nav-open .hero-top nav{position:fixed;right:120px;top:calc(50% - 120px);z-index:20;display:flex;flex-direction:column;align-items:flex-start;gap:18px;width:230px;padding:28px;background:var(--blue);color:#fff;font-size:16px}.nav-toggle:focus-visible,.photo-controls button:focus-visible{outline:3px solid var(--red);outline-offset:4px}.craft-picture{background:none;position:relative}.photo-track{display:flex;width:100%;height:100%;transition:transform .7s ease}.photo-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover}.craft-picture{overflow:hidden}.photo-controls{position:absolute;bottom:20px;right:25px;display:flex;align-items:center;gap:12px;z-index:2;padding:12px 18px;background:white}.photo-controls button{padding:0;cursor:pointer}.photo-dot{width:14px;height:14px;border:1px solid #666;background:white;border-radius:50%}.photo-dot[aria-pressed=true]{background:#666}.photo-pause{width:18px;height:18px;border:0;background:linear-gradient(90deg,transparent 0 3px,#555 3px 7px,transparent 7px 11px,#555 11px 15px,transparent 15px)}.photo-pause[aria-pressed=true]{background:#555;clip-path:polygon(25% 10%,90% 50%,25% 90%)}
@media(max-width:800px){.nav-toggle{width:60px;height:60px;top:calc(50% - 30px)}.nav-toggle i,.nav-toggle i:before{width:28px;height:2px}.nav-toggle i:before{top:-8px}.nav-toggle i:after{top:8px;width:20px;height:2px}.nav-open .hero-top nav{right:60px;top:calc(50% - 115px);width:220px}.photo-controls{bottom:12px;right:12px;gap:12px;padding:10px 14px}}
@media(max-width:800px){.ink-field{height:500px;border-bottom-right-radius:100% 100%}.vermilion-field{height:365px;border-bottom-left-radius:100% 100%}.ink-field:after{content:"";position:absolute;left:0;top:490px;width:80px;height:190px;background:var(--ink)}.vermilion-field:after{content:"";position:absolute;right:0;top:355px;width:60px;height:180px;background:var(--red)}.hero h1{top:402px}.hero-top>div{left:26px;top:483px}}
.hero-top,.stamp,.label-en{text-transform:uppercase}
/* The sample notice uses a system font so its centered layout never shifts during font loading. */
.sample-bar{font-family:Arial,"Noto Sans CJK JP",sans-serif}
/* On narrow screens the control stays in the hero, keeping the reading column clear. */
@media(max-width:800px){.nav-toggle{position:absolute;top:340px;right:0}}
