:root{--paper:#f5f2e9;--white:#fffefa;--ink:#292d29;--muted:#72766c;--accent:#c44e36;--line:#d6d6c9;--sage:#e6eae0;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;font-weight:500;line-height:1.9;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer}img{display:block;max-width:100%;height:auto}svg{display:block}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0}::selection{background:#e0b7a5;color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:6px}section{position:relative}h2{font-size:clamp(30px,3vw,47px);font-weight:800;letter-spacing:.06em;line-height:1.65}
.wrap{max-width:1200px;width:calc(100% - 128px);margin-inline:auto}.section-pad{padding:110px 0 130px}.section-index{width:calc(100% - 128px);max-width:1360px;margin:0 auto 72px;display:flex;align-items:center;gap:18px;font-size:13px;font-weight:700;letter-spacing:.09em}.section-index>span:first-child{font:12px Arial,sans-serif;color:var(--accent);border:1px solid var(--accent);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.section-index .english{margin-left:auto;font:10px Arial,sans-serif;letter-spacing:.15em}.little-label{font-size:12px;letter-spacing:.11em;color:var(--accent);font-weight:700}.vertical-title{writing-mode:vertical-rl;text-orientation:upright;line-height:1.9;letter-spacing:.12em;font-size:clamp(32px,3.4vw,49px)}.doodle{fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.text-link{display:flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--ink);padding:12px 0;max-width:255px;font-size:13px;font-weight:700}.text-link span{font-size:23px;transition:transform .3s var(--ease)}.text-link:hover span{transform:translate(3px,-3px)}.skip-link{position:fixed;top:5px;left:5px;z-index:110;background:var(--white);padding:8px 20px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;padding:23px 42px;gap:30px;color:#fffefa;transition:background .3s var(--ease),color .3s var(--ease),padding .3s var(--ease);text-shadow:0 1px 7px #233b3159}.brand{display:flex;align-items:center;gap:12px;line-height:1}.brand-jp{font-weight:800;font-size:39px;letter-spacing:-.09em}.brand-name{font:bold 17px Arial,sans-serif;letter-spacing:.07em}.brand-name small{display:block;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:9px;letter-spacing:.04em;margin-top:9px;font-weight:600}.site-header nav{margin-left:auto;display:flex;gap:26px;font-size:11px;font-weight:700}.site-header nav a{position:relative;white-space:nowrap}.site-header nav a:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.site-header nav a:hover:after{transform:scaleX(1)}.header-contact{font-size:12px;border:1px solid #ffffff80;border-radius:2px;padding:10px 18px;white-space:nowrap;display:flex;gap:27px;align-items:center}.header-contact span{font-size:18px}.header-contact:hover{background:#ffffff18}.site-header.is-scrolled,.site-header.menu-open{background:var(--paper);color:var(--ink);padding-block:15px;text-shadow:none;border-bottom:1px solid #d6d6c965}.site-header.is-scrolled .header-contact,.site-header.menu-open .header-contact{background:var(--accent);color:var(--white);border-color:var(--accent)}.menu-toggle{display:none}
.hero{height:100svh;min-height:660px;max-height:1200px;overflow:hidden;background:#eceee3;isolation:isolate}.hero-scene{position:absolute;inset:0}.hero-scene canvas{width:100%;height:100%;display:block}.hero-shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 42% 35% at 50% 51%,#213b327a 0%,#243b3242 55%,#243b3200 100%)}.hero-copy{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:min(800px,85%);text-align:center;color:var(--white);pointer-events:none;text-shadow:0 2px 14px #173b3480}.hero-kicker{font-size:17px;font-weight:700;letter-spacing:.19em;margin-bottom:18px}.hero-title{font-size:clamp(90px,11vw,165px);font-weight:900;letter-spacing:-.06em;line-height:1.18;white-space:nowrap}.hero-title span{font-family:Arial,sans-serif;font-size:.64em;letter-spacing:-.045em;display:inline-block;vertical-align:.09em;margin-left:12px}.hero-subtitle{font-size:23px;letter-spacing:.1em;font-weight:800;margin-top:22px}.hero-studio{font:12px Arial,sans-serif;letter-spacing:.29em;margin-top:18px}.hero-meta{display:flex;align-items:center;justify-content:center;border-block:1px solid #ffffffb3;max-width:670px;padding:14px 0;margin:37px auto 0;font-size:10px;letter-spacing:.09em;line-height:1.6}.hero-meta>span,.hero-meta>time{padding:0 24px}.hero-meta>span{border-left:1px solid #ffffff70}.hero-meta .meta-note{display:flex;align-items:center;gap:10px}.meta-note i{width:12px;height:12px;border:1px solid currentColor;border-radius:50%;position:relative}.meta-note i:after{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;position:absolute;left:3px;top:3px}.hero-side{position:absolute;right:33px;top:45%;writing-mode:vertical-rl;letter-spacing:.12em;color:#fffefa;font-size:10px;text-shadow:0 1px 4px #20393180}.fish-guide{position:absolute;bottom:39px;left:42px;color:#3d5146;font-size:10px;display:flex;align-items:center;gap:10px}.fish-guide span{width:22px;height:22px;display:grid;place-items:center;border:1px solid #647f6a70;border-radius:50%;font-size:16px}.scroll-guide{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;color:#fffefa;gap:9px;font-size:9px;letter-spacing:.1em;text-shadow:0 1px 4px #20393160}.scroll-guide span{font:29px Arial,sans-serif}.hero.fallback,.hero.bowl-fallback{background:radial-gradient(ellipse 80% 70% at center,#60786b,#e8ebe0)}.hero.fallback .hero-scene,.hero.bowl-fallback .hero-scene{opacity:.3}
.about{padding-bottom:155px;overflow:hidden}.about-layout{display:grid;grid-template-columns:210px minmax(0,1fr);column-gap:90px;row-gap:65px;align-items:start}.about-title{grid-row:1 / 3;position:relative;padding-left:10px}.about-title .little-label{writing-mode:vertical-rl;position:absolute;left:-12px;top:0}.about-title h2{margin-inline:auto}.about-doodle{width:110px;margin-top:35px;transform:rotate(8deg)}.about-collage{width:min(100%,720px);height:460px;position:relative;transform:translateY(var(--parallax-y,0px));will-change:transform}.paper-window{position:absolute;top:25px;left:0;width:75%;background:#fffdf7;border:1px solid #aeb5a5;transform:rotate(-4deg);box-shadow:12px 18px 25px #2c352513;padding:0 18px 23px}.window-bar{height:36px;display:flex;align-items:center;gap:4px;border-bottom:1px solid #dedfcf;margin-bottom:17px}.window-bar span{width:4px;height:4px;border-radius:50%;background:#858d7c}.window-bar small{margin-left:auto;font-size:8px;color:#6a7364}.mini-logo{font-size:14px;font-weight:800;letter-spacing:.12em;margin:12px 0 16px}.mini-site img{width:100%;height:215px;object-fit:cover;object-position:top;border:1px solid #ebe4d7}.mini-lines{padding-top:12px}.mini-lines b{font-size:11px}.mini-lines i{display:block;width:70%;background:#d8dccf;height:3px;margin-top:7px}.mini-lines i:last-child{width:55%}.swatch-sheet{position:absolute;right:0;top:-5px;padding:29px 23px 18px;background:#e0e8db;width:190px;transform:rotate(8deg);box-shadow:9px 10px 20px #313d2410}.swatch-sheet>span{font-size:13px;font-weight:700;line-height:1.8;letter-spacing:.06em}.swatch-sheet>div{display:flex;gap:8px;margin:24px 0 19px}.swatch-sheet i{display:block;width:36px;height:36px;border-radius:50%;background:var(--accent)}.swatch-sheet i:nth-child(2){background:#e5d5ba}.swatch-sheet i:nth-child(3){background:#607c70}.swatch-sheet small{font:8px Arial,sans-serif;letter-spacing:.1em}.phone-mockup{position:absolute;right:0;bottom:0;width:155px;height:283px;background:#fffdf8;padding:23px 10px 18px;border:5px solid #4e594b;border-radius:22px;transform:rotate(7deg);box-shadow:8px 10px 20px #313d241c}.phone-speaker{position:absolute;width:39px;height:4px;border-radius:4px;background:#4e594b;top:6px;left:50%;transform:translateX(-50%)}.phone-mockup>span{font-size:12px;line-height:1.6;font-weight:700;display:block;margin-bottom:11px}.phone-mockup img{width:100%;height:125px;object-fit:cover;object-position:top}.phone-mockup>i{display:block;background:#d2d8c9;height:3px;width:80%;margin-top:11px}.phone-mockup>i:last-child{width:55%;margin-top:7px}.collage-caption{position:absolute;bottom:3px;left:10px;font-size:12px;letter-spacing:.09em;transform:rotate(-4deg);color:var(--accent)}.about-text{padding-left:30px}.about-text h3{font-size:22px;line-height:1.8;margin-bottom:24px;letter-spacing:.04em}.about-text p{font-size:14px;line-height:2.3;margin:17px 0}.about-text .text-link{margin-top:25px}
.passing-fish{position:absolute;width:72px;height:36px;fill:var(--accent);opacity:.7;pointer-events:none}.passing-fish circle{fill:var(--paper)}.fish-about{bottom:53px;left:10%}.fish-works{bottom:60px;left:8%;fill:#708b80}.passing-fish.swim{animation:fish-passing 6s var(--ease) both}@keyframes fish-passing{0%{transform:translateX(-65px) rotate(-4deg);opacity:0}15%,70%{opacity:.7}100%{transform:translateX(280px) rotate(3deg);opacity:0}}
.marquee{overflow:hidden;border-block:1px solid var(--accent);background:var(--accent);color:var(--paper);padding:22px 0;transform:rotate(-2deg);margin:0 -5px 15px}.marquee-track{width:max-content;display:flex;animation:marquee 42s linear infinite}.marquee-track>span{display:flex;align-items:center;gap:46px;white-space:nowrap;font-size:32px;font-weight:800;letter-spacing:.035em;padding-right:46px}.marquee-track i{font-style:normal;font-size:40px;font-weight:400}@keyframes marquee{to{transform:translateX(-50%)}}
.section-intro{display:flex;align-items:end;position:relative;gap:60px;margin-bottom:70px}.section-intro h2{min-width:440px}.section-intro>p{font-size:13px;line-height:2.2;padding-bottom:9px}.services{padding-top:125px}.services-doodle{position:absolute;right:0;top:0;width:80px;transform:rotate(12deg)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{padding:31px 35px 35px;position:relative;border:1px solid var(--line);margin:-1px 0 0 -1px;min-height:302px;background:#faf8f1;transition:background .3s var(--ease)}.service-card:hover{background:#eeeee3}.service-top{display:flex;align-items:start;justify-content:space-between;margin-bottom:16px}.service-top>span{font:12px Arial,sans-serif;color:var(--accent);padding-top:10px}.service-top svg{width:75px;height:60px;fill:none;stroke:#626b5b;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:20px;letter-spacing:.03em;margin-bottom:13px}.service-card p{color:#676b61;font-size:12px;line-height:2;max-width:280px;min-height:70px}.card-note{font-size:10px;letter-spacing:.045em;display:block;margin-top:16px;color:var(--accent)}
.works{background:var(--sage);overflow:hidden}.works-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:70px}.works-heading{position:sticky;top:125px;align-self:start;padding-left:28px}.works-heading h2{height:290px}.works-heading>p{font-size:12px;line-height:2.2;margin-top:32px}.sample-note{display:block;font-size:10px;line-height:2;color:#66715e;margin-top:26px}.work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 30px}.work-card{display:block;min-width:0}.work-card:nth-child(2){margin-top:115px}.work-card:nth-child(3){grid-column:1 / 3;width:72%;margin:0 0 0 7%}.work-image{background:#d6d9c9;padding:24px 19px 17px;position:relative;overflow:hidden;transform:rotate(-2deg);transition:transform .3s var(--ease)}.work-salon .work-image{background:#d1d8d5;transform:rotate(3deg)}.work-office .work-image{background:#d0dce0;transform:rotate(-2deg);padding:25px}.sample-tag{position:absolute;left:12px;top:0;background:#fffdf5;line-height:22px;padding:2px 10px;font-size:9px;letter-spacing:.07em;z-index:1}.work-image img{width:100%;height:210px;object-fit:cover;object-position:top;box-shadow:0 8px 20px #26302014;transition:transform .3s var(--ease)}.work-office .work-image img{height:auto;aspect-ratio:2.56}.work-card:hover .work-image{transform:rotate(0)}.work-card:hover img{transform:scale(1.02)}.work-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.work-category{font-size:9px;letter-spacing:.05em;color:#727a6b}.work-caption h3{font-size:20px;margin:3px 0 7px;letter-spacing:.04em}.work-caption p{font-size:10px;color:#697363;line-height:1.8}.round-arrow{width:37px;height:37px;min-width:37px;border:1px solid #839077;border-radius:50%;display:grid;place-items:center;font-size:20px;transition:background .3s var(--ease),color .3s var(--ease)}.work-card:hover .round-arrow{background:var(--ink);color:var(--white)}
.pricing{padding-top:125px}.monthly-stamp{position:absolute;right:25px;top:-5px;width:103px;height:103px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent);transform:rotate(10deg);font-size:12px;line-height:1.65;letter-spacing:.1em}.monthly-stamp span{font-size:29px;font-weight:800}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.price-card{position:relative;background:var(--white);border:1px solid var(--line);padding:40px 32px 28px}.price-card.recommended{border:1px solid var(--accent);background:#fff9ee}.plan-badge{position:absolute;top:-14px;left:25px;background:var(--accent);color:var(--white);font-size:10px;padding:4px 15px;letter-spacing:.07em}.plan-en{font:10px Arial,sans-serif;letter-spacing:.16em;color:var(--accent);margin-bottom:15px}.price-card h3{font-size:23px;font-weight:800;margin-bottom:13px}.plan-description{font-size:11px;line-height:2;min-height:46px;color:var(--muted);margin-bottom:20px}.price-number{font:600 43px/1.2 Arial,sans-serif;letter-spacing:-.025em;white-space:nowrap}.price-number span{font-size:12px;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:600;margin-left:7px}.price-tax{font-size:9px;color:var(--muted);letter-spacing:.04em;margin:6px 0 26px}.page-count{border-block:1px solid var(--line);font-size:13px;padding:12px 0;margin-bottom:21px}.page-count strong{font:20px Arial,sans-serif;margin:0 3px}.price-card ul{list-style:none;min-height:106px}.price-card li{font-size:10px;line-height:2.7;padding-left:17px;position:relative}.price-card li:before{content:"✓";color:var(--accent);position:absolute;left:0}.plan-link{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:18px;font-size:11px;font-weight:700}.plan-link span{font-size:23px;transition:transform .3s var(--ease)}.plan-link:hover span{transform:translate(3px,-3px)}.price-notes{margin-top:30px;color:var(--muted);font-size:10px;line-height:2}.price-notes p{padding-left:1em;text-indent:-1em}.price-notes p:before{content:"※ "}.aftercare{margin-top:65px;padding:30px 0;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center}.aftercare h3{font-size:20px;margin-top:8px}.aftercare p{font-size:11px;line-height:2.3}.aftercare strong{text-decoration:underline;text-decoration-color:#d2947e;text-underline-offset:4px}
.flow{background:#ecebdc}.flow-list{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;margin-top:82px;position:relative}.flow-list:before{content:"";position:absolute;inset:27px 0 auto;border-top:1px solid #b8c0ac}.flow-list li{position:relative}.flow-number{position:relative;background:#ecebdc;width:55px;height:55px;border:1px solid #7c8b72;border-radius:50%;display:grid;place-items:center;font:17px Arial,sans-serif;color:#5f7154;margin-bottom:27px}.flow-list h3{font-size:23px;margin-bottom:15px}.flow-list p{font-size:11px;color:#697261;line-height:2.1}.flow-footnote{margin-top:52px;text-align:right;font-size:10px;color:#747b6c}.flow-footnote span{margin-left:20px;color:#4f6146;font-weight:700}
.faq-layout{display:grid;grid-template-columns:230px 1fr;gap:90px}.faq-layout>div:first-child{padding-left:20px}.faq-layout h2{height:360px}.faq-doodle{width:95px;margin:20px 0 0 70px;transform:rotate(-8deg)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;padding:25px 38px 25px 0;cursor:pointer;display:flex;align-items:baseline;gap:18px;font-size:13px;font-weight:700;line-height:1.9;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font:17px Arial,sans-serif;color:var(--accent);flex:none}.faq-list summary>i{width:14px;height:14px;position:absolute;right:5px;top:50%;transform:translateY(-50%)}.faq-list summary>i:before,.faq-list summary>i:after{content:"";position:absolute;left:0;top:6px;width:14px;height:1px;background:var(--ink)}.faq-list summary>i:after{transform:rotate(90deg);transition:transform .3s var(--ease)}.faq-list details[open] summary>i:after{transform:rotate(0)}.faq-list details[open] summary{color:var(--accent)}.faq-list details p{padding:0 38px 25px;font-size:12px;line-height:2.2;color:#6a7065}
.contact{background:#e9e5d8}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.contact-copy .little-label{margin-bottom:30px}.contact-copy h2{font-size:clamp(30px,3.4vw,49px);line-height:1.65}.contact-copy>p:not(.little-label){font-size:13px;line-height:2.2;margin-top:38px}.contact-doodle{width:180px;margin:60px 0 0 90px;transform:rotate(-8deg)}.contact-form{background:#f7f5ec;border:1px solid #d7d3c5;padding:35px 38px 26px}.form-status{font-size:11px;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:9px;margin-bottom:7px}.form-status>span{font-size:7px}.form-note{font-size:9px;line-height:2;color:var(--muted);margin-bottom:27px}.contact-form label{display:flex;align-items:center;gap:15px;font-size:11px;font-weight:700;margin-bottom:9px}.contact-form label>span{color:var(--accent);font-size:8px;font-weight:500}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #d5d3c7;background:#fffefa;color:var(--ink);border-radius:0;padding:10px 13px;font-size:12px;line-height:1.8;margin-bottom:20px;min-height:44px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#96988e;font-size:10px}.contact-form :is(input,textarea,select):focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:1px}.contact-button{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--accent);color:var(--white);padding:14px 20px;font-size:12px;font-weight:700;transition:background .3s var(--ease)}.contact-button span{font-size:23px;line-height:1}.contact-button:hover{background:#a8402d}.contact-feedback{font-size:11px;line-height:1.8;margin-top:14px}.contact-feedback:empty{margin-top:0}.footer{padding:57px 0 28px}.footer-top{display:flex;align-items:center;gap:70px}.footer-brand .brand-jp{font-size:45px}.footer-top>p{font-size:12px;letter-spacing:.08em}.back-to-top{margin-left:auto;display:flex;gap:25px;align-items:center;font-size:10px}.back-to-top span{font-size:24px}.footer-bottom{margin-top:45px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.footer-bottom small{font-size:9px}.noscript-note{padding:15px;text-align:center;background:var(--ink);color:white;font-size:12px}

.js .reveal,.js .stagger-item{opacity:0;transform:translateY(18px);transition:opacity .3s var(--ease) var(--reveal-delay,0ms),transform .3s var(--ease) var(--reveal-delay,0ms)}.js .reveal.is-visible,.js .stagger-item.is-visible{opacity:1;transform:translateY(0)}.char{display:inline-block;opacity:0;transform:translateY(8px);transition:opacity .3s var(--ease) var(--char-delay,0ms),transform .3s var(--ease) var(--char-delay,0ms)}.char-reveal.is-visible .char{opacity:1;transform:none}.vertical-title .char{display:inline;transform:none}.vertical-title.char-reveal .char{transition:opacity .3s var(--ease) var(--char-delay,0ms)}
@media(max-width:1200px){.site-header{padding-inline:28px;gap:20px}.site-header nav{gap:17px}.wrap,.section-index{width:calc(100% - 88px)}.about-layout{gap:60px;grid-template-columns:180px 1fr}.section-intro{gap:36px}.section-intro h2{min-width:370px}.services-doodle{width:60px}.works-layout{grid-template-columns:230px 1fr;gap:40px}.work-list{gap:50px 23px}.work-image{padding-inline:14px}.work-image img{height:175px}.price-card{padding-inline:25px}.price-number{font-size:38px}.monthly-stamp{right:0;width:85px;height:85px}.faq-layout{grid-template-columns:180px 1fr;gap:65px}.contact-layout{gap:60px}}
@media(max-width:960px){.site-header{padding:18px 25px}.brand-jp{font-size:33px}.brand-name{font-size:15px}.brand-name small{font-size:8px}.site-header nav{position:fixed;top:72px;left:0;right:0;background:var(--paper);color:var(--ink);padding:25px 30px 40px;display:flex;flex-direction:column;gap:0;border-bottom:1px solid var(--line);font-size:14px;transform:translateY(-20px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;max-height:calc(100svh - 72px);overflow-y:auto;text-shadow:none}.site-header nav a{padding:13px 5px;border-bottom:1px solid var(--line)}.site-header nav.is-open{transform:none;opacity:1;visibility:visible;pointer-events:auto}.header-contact{margin-left:auto;gap:20px;padding:7px 14px;font-size:11px}.menu-toggle{display:flex;width:35px;height:40px;background:none;color:inherit;flex-direction:column;gap:7px;justify-content:center;align-items:center;padding:0}.menu-toggle span{width:25px;height:1px;background:currentColor;transition:transform .3s var(--ease)}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header.is-scrolled{padding-block:13px}.hero-title{font-size:115px}.hero-meta>span,.hero-meta>time{padding-inline:17px}.hero-meta{font-size:9px}.hero-side{right:22px}.fish-guide{left:25px;font-size:8px}.about-layout{grid-template-columns:155px 1fr;gap:45px}.about-collage{height:405px}.paper-window{width:83%;padding-inline:13px}.mini-site img{height:175px}.phone-mockup{width:132px;height:248px;right:-10px}.phone-mockup img{height:107px}.swatch-sheet{width:150px;padding:20px 17px;right:-5px;top:0}.swatch-sheet>span{font-size:11px}.swatch-sheet i{width:29px;height:29px}.swatch-sheet>div{gap:5px}.about-text{padding-left:0}.about-text h3{font-size:18px}.about-text p{font-size:12px}.section-intro h2{min-width:310px}.section-intro{gap:26px}.section-intro>p{font-size:11px}.services-doodle{display:none}.service-card{padding:25px 24px;min-height:288px}.service-card h3{font-size:17px}.service-card p{font-size:11px}.service-top svg{width:62px;height:50px}.works-layout{grid-template-columns:180px 1fr;gap:25px}.works-heading{padding-left:0}.works-heading>p{font-size:10px}.sample-note{font-size:9px}.work-list{display:block}.work-card{margin:0 0 45px}.work-card:nth-child(2){margin:0 0 45px 15%;width:85%}.work-card:nth-child(3){margin:0;width:92%}.work-image img{height:auto;aspect-ratio:1.42}.work-caption h3{font-size:18px}.monthly-stamp{top:-25px;width:75px;height:75px}.monthly-stamp span{font-size:23px}.price-grid{gap:12px}.price-card{padding:32px 19px 23px}.price-card h3{font-size:18px}.price-number{font-size:31px}.price-card li{font-size:9px}.page-count{font-size:11px}.plan-link{font-size:9px;gap:5px}.price-tax{font-size:8px}.aftercare{grid-template-columns:1fr 1.6fr;gap:25px}.aftercare h3{font-size:17px}.aftercare p{font-size:10px}.flow-list{gap:23px}.flow-list h3{font-size:21px}.flow-list p{font-size:10px}.flow-footnote span{display:block;margin-top:8px;margin-left:0}.faq-layout{grid-template-columns:140px 1fr;gap:45px}.faq-list summary{font-size:12px;gap:13px}.faq-layout>div:first-child{padding-left:0}.faq-doodle{margin-left:25px}.contact-layout{gap:40px}.contact-form{padding:25px}.contact-copy>p:not(.little-label){font-size:12px}.contact-doodle{margin-left:0}.footer-top{gap:35px}.footer-top>p{font-size:10px}}
@media(max-width:700px){
 html{scroll-padding-top:84px}body{font-size:14px}.wrap,.section-index{width:calc(100% - 44px)}.section-pad{padding:72px 0 85px}.section-index{margin-bottom:45px;gap:12px;font-size:11px}.section-index>span:first-child{width:25px;height:25px;font-size:10px}.section-index .english{font-size:8px;letter-spacing:.1em}.site-header{padding:18px 20px;gap:14px}.site-header.is-scrolled,.site-header.menu-open{padding:13px 20px}.brand{gap:9px}.brand-jp{font-size:30px}.brand-name{font-size:13px}.brand-name small{font-size:7px;margin-top:6px}.header-contact{gap:15px;padding:7px 12px;font-size:10px}.header-contact span{font-size:15px}.menu-toggle{width:28px}.menu-toggle span{width:23px}
 .hero{min-height:650px;max-height:1000px}.hero-copy{width:calc(100% - 40px);top:46%}.hero-kicker{font-size:12px;letter-spacing:.12em;margin-bottom:23px}.hero-title{font-size:76px;letter-spacing:-.07em}.hero-title span{font-size:.59em;margin-left:4px}.hero-subtitle{font-size:15px;letter-spacing:.05em;margin-top:24px}.hero-studio{font-size:9px;letter-spacing:.18em;margin-top:12px}.hero-meta{max-width:310px;padding:13px 0;margin-top:29px;flex-wrap:wrap;font-size:8px}.hero-meta>span,.hero-meta>time{padding-inline:15px}.hero-meta .meta-note{width:100%;border-left:0;justify-content:center;margin-top:10px;font-size:8px;gap:7px}.meta-note i{width:9px;height:9px}.meta-note i:after{width:3px;height:3px;left:2px;top:2px}.hero-side{right:14px;top:auto;bottom:133px;font-size:8px;letter-spacing:.08em}.hero-shade{background:radial-gradient(ellipse 65% 27% at 50% 46%,#213b327a 0%,#243b3242 60%,#243b3200 100%)}.fish-guide{bottom:86px;left:22px;font-size:8px;gap:7px}.fish-guide span{width:18px;height:18px;font-size:13px}.scroll-guide{bottom:23px;font-size:8px;gap:5px}.scroll-guide span{font-size:26px}
 .about-layout{grid-template-columns:93px minmax(0,1fr);gap:25px 16px}.about-title{grid-row:1;padding:0}.about-title .little-label{display:none}.vertical-title{font-size:30px;line-height:1.75;letter-spacing:.09em}.about-title h2{height:326px}.about-doodle{width:70px;position:absolute;bottom:-40px;left:5px}.about-collage{height:345px;margin-top:15px;width:100%}.paper-window{top:40px;width:100%;padding:0 9px 15px;left:0}.window-bar{height:23px;margin-bottom:8px;gap:3px}.window-bar small{font-size:5px}.window-bar span{height:3px;width:3px}.mini-logo{font-size:9px;margin:7px 0 10px;letter-spacing:.03em}.mini-site img{height:105px}.mini-lines{padding-top:6px}.mini-lines b{font-size:7px}.mini-lines i{height:2px;margin-top:5px}.swatch-sheet{width:110px;right:-4px;top:0;padding:12px 10px 9px}.swatch-sheet>span{font-size:8px}.swatch-sheet>div{margin:12px 0 9px;gap:5px}.swatch-sheet i{width:22px;height:22px}.swatch-sheet small{font-size:5px}.phone-mockup{width:95px;height:180px;right:0;border:3px solid #4e594b;border-radius:14px;padding:16px 7px 10px}.phone-speaker{height:3px;width:25px;top:4px}.phone-mockup>span{font-size:8px;line-height:1.5;margin-bottom:8px}.phone-mockup img{height:76px}.phone-mockup>i{height:2px;margin-top:7px}.phone-mockup>i:last-child{margin-top:5px}.collage-caption{font-size:8px;left:-7px;bottom:12px;max-width:100px;line-height:1.6}.about-text{grid-column:1 / 3;margin-top:30px;padding:0 4px}.about-text h3{font-size:18px;line-height:1.9;margin-bottom:23px;letter-spacing:.01em}.about-text p{font-size:12px;line-height:2.2;margin:15px 0}.about-text .text-link{margin-top:23px;font-size:11px;max-width:220px}.pc-only{display:none}.about{padding-bottom:105px}.passing-fish{width:45px;height:23px}.fish-about{bottom:35px}.fish-works{bottom:25px}.marquee{padding:14px 0;margin-bottom:4px}.marquee-track>span{font-size:22px;gap:28px;padding-right:28px}.marquee-track i{font-size:28px}
 .section-intro{display:block;margin-bottom:38px}.section-intro h2{font-size:28px;min-width:0;line-height:1.65;letter-spacing:.035em}.section-intro>p{font-size:11px;line-height:2.1;margin-top:23px;padding:0}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:18px 16px 19px;min-height:255px}.service-top{margin-bottom:13px}.service-top>span{font-size:9px}.service-top svg{width:49px;height:40px}.service-card h3{font-size:14px;letter-spacing:0;margin-bottom:10px}.service-card p{font-size:10px;line-height:1.95;min-height:98px;letter-spacing:.01em}.card-note{font-size:8px;line-height:1.8;margin-top:10px;min-height:28px}
 .works-layout{display:block}.works-heading{position:static;display:grid;grid-template-columns:105px 1fr;gap:0 28px;margin-bottom:48px}.works-heading h2{grid-row:1 / 3;height:205px;font-size:32px}.works-heading>p{margin-top:20px;font-size:11px;line-height:2.2;align-self:start}.sample-note{margin-top:16px;font-size:9px;line-height:2;align-self:start}.work-list{padding-inline:3px}.work-card{margin-bottom:38px}.work-card:nth-child(2){width:92%;margin:0 0 40px auto}.work-card:nth-child(3){width:95%;margin:0}.work-image,.work-office .work-image{padding:24px 16px 14px}.work-image img{height:auto;aspect-ratio:1.42}.work-caption{margin-top:18px}.work-caption h3{font-size:18px;margin-bottom:4px}.work-caption p{font-size:10px}.work-category{font-size:8px}.round-arrow{width:33px;height:33px;min-width:33px;font-size:18px}
 .monthly-stamp{width:68px;height:68px;right:0;top:-5px;font-size:10px}.monthly-stamp span{font-size:20px}.price-grid{grid-template-columns:1fr;gap:30px}.price-card{padding:28px 28px 23px;display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}.plan-en{grid-column:1;margin-bottom:11px;font-size:8px}.price-card h3{grid-column:1;font-size:20px;margin-bottom:13px}.plan-description{grid-column:1;grid-row:3;font-size:9px;line-height:1.9;min-height:0;margin-bottom:15px}.price-number{grid-column:2;grid-row:2 / 3;font-size:30px;text-align:right;margin-top:2px}.price-tax{grid-column:2;grid-row:3;text-align:right;font-size:8px;margin-top:0}.page-count{grid-column:1 / 3;margin-bottom:15px;font-size:12px;padding:10px 0}.price-card ul{grid-column:1 / 3;min-height:0;margin-bottom:15px}.price-card li{font-size:10px;line-height:2.5}.plan-link{grid-column:1 / 3;font-size:11px;padding-top:15px}.plan-badge{left:25px;font-size:9px}.price-notes{font-size:9px;margin-top:25px;line-height:2}.price-notes p+p{margin-top:7px}.aftercare{display:block;margin-top:35px;padding:23px 0}.aftercare .little-label{font-size:10px}.aftercare h3{font-size:18px;margin:7px 0 17px}.aftercare p{font-size:10px;line-height:2.2}.aftercare p br{display:none}
 .flow-list{display:block;margin-top:40px}.flow-list:before{left:23px;right:auto;top:0;bottom:0;border-top:0;border-left:1px solid #b8c0ac}.flow-list li{display:grid;grid-template-columns:48px 1fr;column-gap:25px;margin-bottom:28px}.flow-list li:last-child{margin-bottom:0}.flow-number{width:47px;height:47px;font-size:14px;grid-row:1 / 3;margin:0}.flow-list h3{font-size:18px;margin:0 0 7px;line-height:1.6}.flow-list p{font-size:11px;line-height:2}.flow-footnote{font-size:9px;margin-top:35px;text-align:left;padding-left:4px}.flow-footnote span{font-size:10px}.faq-layout{display:block}.faq-layout>div:first-child{display:flex;gap:50px;align-items:end;margin-bottom:40px}.faq-layout h2{height:230px;font-size:30px}.faq-doodle{width:75px;margin:0 0 10px;transform:rotate(-10deg)}.faq-list summary{font-size:11px;gap:12px;padding:22px 29px 22px 0;line-height:1.9}.faq-list summary>span{font-size:15px}.faq-list details p{padding:0 10px 22px 31px;font-size:11px}
 .contact-layout{display:block}.contact-copy .little-label{font-size:10px;margin-bottom:22px}.contact-copy h2{font-size:33px;line-height:1.6}.contact-copy>p:not(.little-label){font-size:12px;margin-top:26px}.contact-doodle{position:absolute;width:120px;top:135px;right:15px;margin:0;transform:rotate(30deg)}.contact-copy{position:relative;margin-bottom:40px}.contact-form{padding:24px 19px 21px}.form-status{font-size:10px}.form-note{font-size:8px;line-height:1.9;margin-bottom:23px}.contact-form label{font-size:10px}.contact-form input,.contact-form textarea{font-size:16px;padding:10px 11px;margin-bottom:18px}.contact-form input::placeholder,.contact-form textarea::placeholder{font-size:10px}.contact-form select{font-size:11px;min-height:44px}.contact-button{font-size:11px;padding:13px 16px}.contact-feedback{font-size:10px}.footer{padding:37px 0 22px}.footer-top{flex-wrap:wrap;gap:24px}.footer-brand .brand-jp{font-size:35px}.footer-top>p{font-size:10px;width:100%;order:3;letter-spacing:.04em}.back-to-top{font-size:9px;gap:12px}.footer-bottom{margin-top:28px;font-size:7px;line-height:1.8;gap:15px}.footer-bottom small{font-size:8px;white-space:nowrap}
}
@media(max-width:360px){.site-header{gap:9px;padding-inline:15px}.site-header.is-scrolled{padding-inline:15px}.brand-name small{display:none}.header-contact{padding-inline:9px;gap:10px}.hero-title{font-size:67px}.hero-subtitle{font-size:13px}.service-card{padding-inline:12px}.service-card h3{font-size:13px}.price-card{padding-inline:20px}.price-number{font-size:27px}.contact-copy h2{font-size:29px}.wrap,.section-index{width:calc(100% - 36px)}}

html,body{overflow-x:clip}.site-header{color:#344638;text-shadow:none}.site-header .header-contact{border-color:#6c7e6970}.hero-side{color:#f8faf2}.scroll-guide{color:#f8faf2}
@media(max-width:700px){.about-text p{font-size:13px}.service-card p{font-size:11px;min-height:98px}.card-note{font-size:9px}.plan-description{font-size:10px}.price-notes{font-size:10px}.aftercare p{font-size:11px}.faq-list summary,.faq-list details p{font-size:12px}.contact-form label{font-size:12px}.form-note{font-size:10px}.form-status{font-size:11px}.contact-form select{font-size:12px}.contact-feedback{font-size:11px}.footer-bottom{font-size:8px}}

@media(max-width:700px){.fish-guide{left:50%;bottom:110px;transform:translateX(-50%);color:#f9faf3;white-space:nowrap;text-shadow:0 1px 4px #213b3280}.fish-guide span{border-color:#f9faf380}.scroll-guide{bottom:13px;flex-direction:row;gap:12px;color:#344638;text-shadow:none}.hero-side{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal,.stagger-item,.char{opacity:1!important;transform:none!important}.parallax{transform:none!important}.passing-fish{display:none}.marquee-track{transform:none}}

.hero{height:100svh;min-height:660px;max-height:none;background:var(--paper)}
.hero-scene{inset:auto;left:70%;top:50%;width:min(96svh,58vw,1000px);height:min(96svh,58vw,1000px);transform:translate(-50%,-50%)}
.hero-copy{left:7%;top:49%;transform:translateY(-50%);width:35%;max-width:570px;text-align:left;color:var(--ink);text-shadow:none}
.hero-kicker{font-size:15px;letter-spacing:.14em;margin-bottom:20px}
.hero-title{font-size:clamp(85px,7.7vw,125px);letter-spacing:-.07em;line-height:1.2}
.hero-title span{font-size:.61em;margin-left:7px;vertical-align:.08em}
.hero-subtitle{font-size:20px;letter-spacing:.04em;margin-top:23px}
.hero-studio{font-size:11px;letter-spacing:.2em;margin-top:14px}
.hero-meta{justify-content:flex-start;max-width:none;margin:33px 0 0;padding:16px 0;font-size:13px;letter-spacing:0;border-color:#858c7a8a;white-space:nowrap}
.hero-meta>time{padding:0 14px 0 0}
.hero-meta>span{padding:0 14px;border-color:#858c7a60}
.hero-meta>span:last-child{padding-right:0}
.hero-meta .meta-note{width:auto;margin:0;gap:6px;font-size:12px}
.meta-note i{width:10px;height:10px;flex-shrink:0}
.meta-note i:after{width:3px;height:3px;left:2px;top:2px}

.fish-guide{left:7%;top:calc(49% + 218px);bottom:auto;transform:none;color:#596254;font-size:13px;white-space:nowrap;text-shadow:none}
.fish-guide span{border-color:#647f6a70}
.scroll-guide{left:7%;bottom:32px;transform:none;flex-direction:row;gap:16px;color:var(--ink);font-size:10px;text-shadow:none}
.scroll-guide span{font-size:25px}
.hero.fallback,.hero.bowl-fallback{background:var(--paper)}
@media(min-width:961px) and (max-width:1250px){.hero-copy{left:5%;width:36%}.hero-meta{font-size:11px}.hero-meta .meta-note{font-size:10px}.hero-meta>time{padding-right:10px}.hero-meta>span{padding-inline:10px}.hero-subtitle{font-size:17px}}
@media(max-width:960px){
 .hero{min-height:700px}
 .hero-copy{left:7%;top:116px;transform:none;width:86%;max-width:none}
 .hero-title{font-size:92px}
 .hero-kicker{font-size:13px;margin-bottom:13px}
 .hero-subtitle{font-size:17px;margin-top:15px}
 .hero-studio{margin-top:10px}
 .hero-meta{max-width:470px;margin-top:20px;font-size:12px;padding:13px 0}
 .hero-meta .meta-note{font-size:11px}
 .hero-scene{left:58%;top:auto;bottom:55px;transform:translateX(-50%);width:min(65vw,calc(100svh - 360px));height:min(65vw,calc(100svh - 360px))}
 .fish-guide{left:58%;top:auto;bottom:32px;transform:translateX(-50%);font-size:11px}
 .scroll-guide{left:7%;bottom:28px;font-size:9px;gap:8px}
}
@media(max-width:700px){
 .hero{min-height:650px;max-height:none}
 .hero-copy{left:22px;top:105px;width:calc(100% - 44px)}
 .hero-kicker{font-size:11px;letter-spacing:.1em;margin-bottom:12px}
 .hero-title{font-size:70px;letter-spacing:-.07em}
 .hero-title span{font-size:.61em;margin-left:5px}
 .hero-subtitle{font-size:14px;letter-spacing:.04em;margin-top:12px}
 .hero-studio{font-size:9px;letter-spacing:.18em;margin-top:9px}
 .hero-meta{max-width:none;flex-wrap:nowrap;margin-top:18px;padding:11px 0;font-size:11px}
 .hero-meta>time{padding-right:9px}
 .hero-meta>span{padding:0 9px}
 .hero-meta .meta-note{width:auto;margin:0;justify-content:flex-start;border-left:1px solid #858c7a60;font-size:10px;gap:5px}
 .hero-scene{left:52%;bottom:70px;width:min(100vw,calc(100svh - 330px));height:min(100vw,calc(100svh - 330px))}
 .fish-guide{left:52%;bottom:47px;font-size:11px;gap:7px}
 .fish-guide span{width:18px;height:18px;font-size:13px}
 .scroll-guide{left:50%;bottom:12px;transform:translateX(-50%);font-size:9px;gap:12px}
}
@media(max-width:700px) and (max-height:750px){.hero-copy{top:91px}.hero-title{font-size:63px}.hero-kicker{margin-bottom:8px}.hero-subtitle{margin-top:9px}.hero-meta{margin-top:13px;padding:9px 0}.hero-scene{bottom:66px}}
@media(max-width:360px){.hero-copy{left:18px;width:calc(100% - 36px)}.hero-title{font-size:63px}.hero-meta{font-size:10px}.hero-meta .meta-note{font-size:9px}.hero-meta>span{padding-inline:7px}.hero-meta>time{padding-right:7px}}

.hero-meta,.hero-meta .meta-note{font-size:13px}
@media(max-width:960px){.hero-meta,.hero-meta .meta-note{font-size:11px}}

@media(max-width:700px) and (max-height:750px){.hero-scene{width:min(100vw,calc(100svh - 360px));height:min(100vw,calc(100svh - 360px))}}

body{font-size:16px}
.about-text p,.section-intro>p,.works-heading>p,.aftercare p,.flow-list p,.faq-list summary,.faq-list details p,.contact-copy>p:not(.little-label){font-size:16px}
.service-card p,.card-note,.sample-note,.work-caption p,.work-category,.sample-tag,.plan-description,.price-tax,.price-card li,.price-notes,.flow-footnote,.flow-footnote span,.form-note,.form-status,.contact-form label,.contact-feedback,.page-count,.price-number span,.plan-link,.text-link,.contact-button,.footer-top>p,.back-to-top,.footer-bottom,.footer-bottom small{font-size:14px}
.service-card p{min-height:0}
.card-note{min-height:0}
.contact-form select{font-size:16px}
.contact-form input::placeholder,.contact-form textarea::placeholder{font-size:14px}
.footer-bottom{flex-wrap:wrap}

@media(min-width:701px){
 .about{padding-bottom:85px}
 .about-layout{row-gap:40px}
 .flow{padding-bottom:85px}
 .flow-list{margin-top:50px}
 .flow-footnote{margin-top:32px}
}

.plan-badge,.monthly-stamp,.contact-form label>span{font-size:14px}
.contact-form input,.contact-form textarea{font-size:16px}
@media(max-width:700px){.plan-description br{display:none}}

@media(min-width:1201px){
 .about-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
 .about-text h3,.about-text .text-link{grid-column:1 / -1}
 .about-text>p{margin-top:0}
}

.section-number-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.js .price-grid .stagger-item{transform:translateY(24px);transition:opacity .3s ease-out var(--reveal-delay,0ms),transform .3s ease-out var(--reveal-delay,0ms)}
.js .price-grid .stagger-item.is-visible{transform:translateY(0)}

.work-image.parallax{transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0) rotate(-2deg);transition:transform .3s ease-out;will-change:transform}
.work-salon .work-image.parallax{transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0) rotate(3deg)}
.work-card:hover .work-image.parallax{transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0) rotate(0)}

.fish-services{bottom:42px;left:68%;fill:#708b80}.fish-flow{bottom:30px;left:62%}
@media(max-width:700px){.fish-services{bottom:28px;left:54%}.fish-flow{bottom:23px;left:51%}}

.hero.file-open .hero-scene{opacity:1;display:grid;place-items:center}
.hero.file-open #bowl-canvas{display:none}
#file-open-note{max-width:480px;margin:24px;padding:28px;border:1px solid #b6bcaf;background:var(--paper);color:var(--ink);font-size:16px;line-height:2;overflow-wrap:anywhere}

@media(min-width:600px) and (max-width:1050px){
 .hero{--bowl-size:min(65vw,620px);height:auto;min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:116px 7% 108px}
 .hero-copy{position:relative;left:auto;top:auto;transform:none;width:100%;max-width:none;order:1}
 .hero-scene{position:relative;inset:auto;transform:none;order:2;flex:none;margin-top:28px;width:var(--bowl-size);height:var(--bowl-size)}
 .fish-guide{left:50%;top:auto;bottom:62px;transform:translateX(-50%)}
 .scroll-guide{left:50%;bottom:16px;transform:translateX(-50%)}
 .scroll-guide span{line-height:1}
}
@media(min-width:600px) and (max-width:700px){
 .hero{--bowl-size:min(100vw,600px);padding-top:105px}
}

.hero{height:100svh;min-height:660px;max-height:none;display:block;padding:0;background:var(--paper)}
.hero-scene{position:absolute;inset:0;left:0;top:0;bottom:0;width:100%;height:100%;margin:0;transform:none}
.hero-photo,.hero-photo img,.hero-scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-photo{pointer-events:none}
.hero-photo img{max-width:none;object-fit:cover;object-position:center}

.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--paper),#f5f2e900 8%);pointer-events:none}
.hero-scene canvas{z-index:1;touch-action:pan-y}
.hero-copy{z-index:2;position:absolute;left:6.5%;top:49%;width:36%;max-width:560px;transform:translateY(-50%);text-align:left;color:#2c302c;text-shadow:none;pointer-events:none}
.hero-kicker{font-size:13px;font-weight:500;letter-spacing:.16em;line-height:1.8;margin:0 0 24px}

.hero-title{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(100px,8.4vw,140px);font-weight:500;letter-spacing:-.07em;line-height:1.12;white-space:nowrap}
.hero-title span{font-family:"Times New Roman",serif;font-size:.49em;font-weight:400;letter-spacing:.012em;vertical-align:.12em;margin-left:12px}
.hero-subtitle{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:20px;font-weight:500;letter-spacing:.055em;line-height:1.8;margin:23px 0 0}
.hero-meta{display:flex;align-items:center;justify-content:flex-start;max-width:405px;white-space:nowrap;margin:29px 0 0;padding:13px 0;border-block:1px solid #5f655650;line-height:1.8;font-size:12px;letter-spacing:.035em}
.hero-meta>time{padding:0 18px 0 0}
.hero-meta>span{padding:0 0 0 18px;border-left:1px solid #5f655640}
.fish-guide{position:static;display:flex;align-items:center;gap:9px;transform:none;white-space:nowrap;margin:24px 0 0;color:#5a6159;text-shadow:none;font-size:12px;line-height:1.7}
.fish-guide span{width:20px;height:20px;flex:none;font-size:14px;border-color:#646d5e50}
.scroll-guide{z-index:2;left:6.5%;bottom:26px;transform:none;flex-direction:row;gap:13px;color:#515b50;text-shadow:none;font-size:10px}
.scroll-guide span{font-size:23px;line-height:1}
.hero.fallback,.hero.bowl-fallback{background:var(--paper)}
.hero.fallback .hero-scene,.hero.bowl-fallback .hero-scene{opacity:1}
.hero.fallback #bowl-canvas,.hero.bowl-fallback #bowl-canvas{opacity:0}
.hero.file-open .hero-scene{display:block}
#file-open-note{position:absolute;z-index:3;left:51%;top:44%;width:min(40%,480px);margin:0;padding:24px;background:#f5f2e9ed;border-color:#b6bcaf80}
@media(min-width:1051px) and (max-width:1300px){
 .hero-copy{left:5%;width:38%}
 .hero-title{font-size:105px}
 .hero-subtitle{font-size:18px}
 .hero-meta{font-size:11px}
 .hero-meta>time{padding-right:14px}
 .hero-meta>span{padding-left:14px}
 .fish-guide{font-size:11px}
}

@media(min-width:600px) and (max-width:1050px){
 .hero{height:max(100svh,135vw);min-height:1000px;display:block;padding:0}
 .hero-scene{position:absolute;inset:0;width:100%;height:100%;margin:0;transform:none}
 .hero-copy{position:absolute;left:9%;top:clamp(98px,12vw,128px);width:82%;max-width:650px;transform:none}
 .hero-title{font-size:clamp(80px,10.5vw,108px);line-height:1.1}
 .hero-kicker{font-size:12px;margin-bottom:14px}
 .hero-subtitle{font-size:17px;margin-top:14px}
 .hero-meta{margin-top:18px;padding-block:9px;font-size:11px}
 .fish-guide{position:static;transform:none;margin-top:15px;font-size:11px}
 .hero-photo::after{background:linear-gradient(0deg,var(--paper),#f5f2e900 6%)}
 .scroll-guide{left:9%;bottom:26px;transform:none}
 #file-open-note{left:15%;top:57%;width:70%;max-width:none}
}

@media(max-width:599px){
 .hero{height:100svh;min-height:690px;max-height:none;display:block;padding:0}
 .hero-scene{position:absolute;inset:auto 0 0;width:100%;height:min(100%,177.7778vw);margin:0;transform:none}
 .hero-copy{left:7%;top:clamp(98px,11.85svh,112px);width:86%;max-width:none;transform:none}
 .hero-kicker{font-size:11px;letter-spacing:.1em;margin:0 0 12px}
 .hero-title{font-size:clamp(70px,18.5vw,85px);line-height:1.07}
 .hero-title span{font-size:.47em;margin-left:8px;vertical-align:.12em;letter-spacing:.008em}
 .hero-subtitle{font-size:14px;letter-spacing:.035em;margin:12px 0 0;line-height:1.8}
 .hero-meta{font-size:10px;letter-spacing:.02em;max-width:325px;padding:8px 0;margin:15px 0 0;flex-wrap:nowrap}
 .hero-meta>time{padding:0 12px 0 0}
 .hero-meta>span{padding:0 0 0 12px}
 .fish-guide{position:static;left:auto;top:auto;bottom:auto;transform:none;margin:13px 0 0;font-size:10px;gap:7px}
 .fish-guide span{width:17px;height:17px;font-size:12px}
 .scroll-guide{left:7%;bottom:18px;transform:none;font-size:9px;gap:11px}
 .scroll-guide span{font-size:21px}
 .hero-photo::after{background:linear-gradient(180deg,var(--paper),#f5f2e900 18%),linear-gradient(0deg,var(--paper),#f5f2e900 6%)}
 #file-open-note{left:7%;top:55%;width:86%;max-width:none;padding:20px;font-size:14px}
}
@media(max-width:599px) and (max-height:750px){
 .hero-copy{top:86px}
 .hero-kicker{font-size:10px;line-height:1.6;margin-bottom:8px}
 .hero-title{font-size:63px;line-height:1.06}
 .hero-subtitle{font-size:13px;line-height:1.6;margin-top:8px}
 .hero-meta{font-size:9px;line-height:1.6;margin-top:11px;padding-block:6px}
 .fish-guide{font-size:9px;line-height:1.6;margin-top:10px}
}
@media(max-width:360px){
 .hero-copy{left:6%;width:88%}
 .hero-title{font-size:65px}
 .hero-meta{font-size:9px}
 .hero-meta>time{padding-right:9px}
 .hero-meta>span{padding-left:9px}
 .fish-guide{font-size:9px}
}

.site-header:not(.is-scrolled):not(.menu-open){background:#f5f2e9b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

.hero{height:100svh;min-height:660px;max-height:none;background:#f4edde}
.hero-scene{position:absolute;inset:auto;left:50%;top:50%;bottom:auto;width:min(100%,177.7778svh);height:min(100%,56.25vw);margin:0;transform:translate(-50%,-50%)}

@media (min-width:1051px) and (min-aspect-ratio:16/9){
 .hero-scene{width:min(100%,max(215svh,1420px))}
}
@media (min-width:1051px) and (min-aspect-ratio:215/100){
 .hero-scene{-webkit-mask-image:linear-gradient(90deg,#0000,#000 7%,#000 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7%,#000 93%,#0000)}
}
.hero-photo img{object-fit:cover;object-position:center}
.hero-photo::after{background:linear-gradient(0deg,#f4edde,#f4edde00 4%)}
.hero-copy{position:absolute;left:6.5%;top:51.5%;width:24%;max-width:none;transform:translateY(-50%);text-align:center;color:#272821;pointer-events:none}
.hero-title{margin:0;font-size:inherit;font-weight:400;letter-spacing:0;line-height:1;white-space:normal}
.hero-title .hero-title-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;font-size:1px}
.hero-calligraphy{display:block;width:100%;height:auto;max-width:none}
.hero-title .hero-blue-title{display:none;margin:0;letter-spacing:-.07em;line-height:1.1;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(90px,8.4vw,140px);font-weight:500;vertical-align:baseline}
.hero-blue-title small{font-family:"Times New Roman",serif;font-size:.45em;font-weight:400;letter-spacing:.015em;vertical-align:.12em;margin-left:9px}
.hero-romaji{margin:0;padding:0 0 0 .35em;font:400 clamp(13px,1.2vw,22px)/1.7 "Times New Roman",serif;letter-spacing:.35em}
.hero-message{display:flex;flex-direction:row-reverse;justify-content:center;align-items:flex-start;gap:1.2em;margin:clamp(22px,1.8vw,35px) 0 0;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(15px,1.14vw,21px);font-weight:500;line-height:1.7;letter-spacing:.055em}
.hero-message p{writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap}
.hero-details{position:absolute;z-index:2;left:6.5%;bottom:34px;color:#55584d;pointer-events:none}
.hero-details .hero-meta{display:flex;align-items:center;justify-content:flex-start;max-width:none;margin:0;padding:0;border:0;font-size:10px;line-height:1.7;letter-spacing:.055em;white-space:nowrap}
.hero-details .hero-meta>time{padding:0 15px 0 0}
.hero-details .hero-meta>span{padding:0 0 0 15px;border-left:1px solid #64675640;font:9px/1.7 Arial,sans-serif;letter-spacing:.14em}
.hero-details .fish-guide{position:static;left:auto;top:auto;bottom:auto;transform:none;display:flex;align-items:center;gap:7px;margin:9px 0 0;font-size:10px;line-height:1.6;letter-spacing:.015em;color:#65675c;text-shadow:none;white-space:nowrap}
.hero-details .fish-guide span{width:16px;height:16px;border:1px solid #72756550;font-size:11px;line-height:1}
.scroll-guide{left:auto;right:34px;bottom:29px;transform:none;flex-direction:row;gap:10px;font-size:9px;color:#636657;text-shadow:none}
.scroll-guide span{font-size:21px;line-height:1}
.site-header:not(.is-scrolled):not(.menu-open){padding:17px 34px;gap:24px;background:#f7f1e638;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#3a3d32;box-shadow:none}
.site-header .brand-jp{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:32px}
.site-header .brand-name{font-size:13px;font-weight:400;letter-spacing:.11em}
.site-header .brand-name small{font-size:8px;font-weight:500;letter-spacing:.06em;margin-top:7px}
.site-header nav{gap:22px;font-weight:500}
.site-header:not(.is-scrolled):not(.menu-open) .header-contact{padding:7px 14px;gap:17px;border-color:#7a7c6640;font-size:11px;background:#f7f2e51c}
.site-header:not(.is-scrolled):not(.menu-open) .header-contact span{font-size:16px}

@media(min-width:600px) and (max-width:1050px){
 .hero{--portrait-width:min(100vw,620px);--portrait-height:calc(var(--portrait-width) * 16 / 9);height:calc(var(--portrait-height) + 112px);min-height:100svh;max-height:none;display:block;padding:0}
 .hero-scene{left:50%;top:auto;bottom:0;width:var(--portrait-width);height:var(--portrait-height);margin:0;transform:translateX(-50%)}
 .hero-copy{left:50%;top:calc(112px + var(--portrait-height) * .035);width:calc(var(--portrait-width) * .42);max-width:none;transform:translateX(-50%)}
 .hero-calligraphy{width:100%;height:auto}
 .hero-romaji{font-size:17px;line-height:1.6}
 .hero-message{font-size:15px;line-height:1.7;letter-spacing:.055em;gap:1.2em;margin-top:18px}
 .hero-details{left:calc(50% - var(--portrait-width) * .43);bottom:28px}
 .hero-details .hero-meta{font-size:10px}
 .hero-details .fish-guide{font-size:10px}
 .scroll-guide{left:auto;right:calc(50% - var(--portrait-width) * .43);bottom:27px;transform:none}
 #file-open-note{left:12%;top:54%;width:76%;max-width:none}
}

@media(max-width:599px){
 .hero{--portrait-width:min(100vw,calc((100svh - 72px) * .5625));--portrait-height:calc(var(--portrait-width) * 16 / 9);height:100svh;min-height:600px;max-height:none;display:block;padding:0}
 .hero-scene{left:50%;top:calc(50% + 36px);bottom:auto;width:var(--portrait-width);height:var(--portrait-height);margin:0;transform:translate(-50%,-50%)}
 .hero-copy{left:50%;top:calc(50% + 6px - var(--portrait-height) * .465);width:calc(var(--portrait-width) * .462);max-width:none;transform:translateX(-50%)}
 .hero-calligraphy{width:100%;height:auto}
 .hero-romaji{font-size:clamp(10px,2.8vw,13px);line-height:1.5;letter-spacing:.35em}
 .hero-message{font-size:clamp(10.5px,2.8vw,12.5px);line-height:1.7;letter-spacing:.055em;gap:1.2em;margin-top:12px}
 .hero-details{left:7%;bottom:28px}
 .hero-details .hero-meta{font-size:9px;letter-spacing:.02em;flex-wrap:nowrap;line-height:1.6}
 .hero-details .hero-meta>time{padding-right:11px}
 .hero-details .hero-meta>span{padding-left:11px;font-size:8px;letter-spacing:.09em}
 .hero-details .fish-guide{font-size:9px;line-height:1.6;gap:6px;margin-top:8px}
 .hero-details .fish-guide span{width:14px;height:14px;font-size:10px}
 .scroll-guide{left:auto;right:7%;bottom:29px;transform:none;font-size:0;gap:0}
 .scroll-guide span{font-size:22px}
 .hero-photo::after{background:linear-gradient(180deg,#f4edde,#f4edde00 2%),linear-gradient(0deg,#f4edde,#f4edde00 4%)}
 .site-header:not(.is-scrolled):not(.menu-open){padding:15px 20px;gap:14px}
 .site-header .brand-jp{font-size:27px}
 .site-header .brand-name{font-size:11px}
 .site-header .brand-name small{font-size:7px;margin-top:5px}
 .site-header:not(.is-scrolled):not(.menu-open) .header-contact{font-size:10px;padding:6px 10px;gap:12px}
 #file-open-note{left:7%;top:54%;width:86%;max-width:none;margin:0;padding:18px;font-size:14px}
}

.hero[data-scene="blue"] .hero-calligraphy,.hero[data-scene="blue"] .hero-romaji{display:none}
.hero[data-scene="blue"] .hero-blue-title{display:inline-block}
.hero[data-scene="blue"] .hero-copy{left:6.5%;top:49%;width:36%;transform:translateY(-50%);text-align:left}
.hero[data-scene="blue"] .hero-message{display:block;font-size:20px;line-height:1.8;letter-spacing:.055em;margin-top:23px}
.hero[data-scene="blue"] .hero-message p{writing-mode:horizontal-tb}
.hero[data-scene="blue"] .hero-message p+p{margin-top:12px}
.hero[data-scene="blue"] .hero-message br{display:none}
@media(min-width:600px) and (max-width:1050px){
 .hero[data-scene="blue"] .hero-copy{left:9%;top:112px;width:82%;transform:none}
 .hero[data-scene="blue"] .hero-blue-title{font-size:100px}
 .hero[data-scene="blue"] .hero-message{font-size:17px;margin-top:15px}
}
@media(max-width:599px){
 .hero[data-scene="blue"] .hero-copy{left:7%;top:96px;width:86%;transform:none}
 .hero[data-scene="blue"] .hero-blue-title{font-size:70px}
 .hero[data-scene="blue"] .hero-message{font-size:14px;margin-top:13px}
 .hero[data-scene="blue"] .hero-message p+p{margin-top:6px}
}

@media(max-width:599px) and (max-height:750px){
 .hero:not([data-scene="blue"]) .hero-copy{top:calc(50% + 18px - var(--portrait-height) * .468)}
 .hero:not([data-scene="blue"]) .hero-romaji{font-size:10.5px}
 .hero:not([data-scene="blue"]) .hero-message{font-size:10px;margin-top:8px}
}

@media(min-width:1051px){
 .site-header:not(.is-scrolled):not(.menu-open){-webkit-backdrop-filter:none;backdrop-filter:none}
}

@media(max-width:599px){
 .hero:not([data-scene="blue"])::before{content:"";position:absolute;inset:0 0 auto;height:calc(50% + 116px - var(--portrait-height) * .5);background:url('assets/bowl/garden-scene-sp.webp') center top / var(--portrait-width) var(--portrait-height) no-repeat;pointer-events:none}
 .hero:not([data-scene="blue"]) .hero-photo{mask-image:linear-gradient(180deg,transparent,#000 40px);-webkit-mask-image:linear-gradient(180deg,transparent,#000 40px)}
 .hero:not([data-scene="blue"]) .hero-photo::after{background:linear-gradient(0deg,#f4edde,#f4edde00 4%)}
}

.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}

.form-status>.form-status-text{font-size:inherit}
