/* Pixel-inspired interface. Original ivory / deep green / sage / gold palette. */
:root{--pixel-shadow:#cbd8c8;--pixel-grid:rgba(117,151,129,.09)}
body{background-color:var(--paper);background-image:linear-gradient(var(--pixel-grid) 1px,transparent 1px),linear-gradient(90deg,var(--pixel-grid) 1px,transparent 1px);background-size:24px 24px;font-family:"BIZ UDGothic","Yu Gothic",Meiryo,sans-serif}
header{border-bottom:2px solid var(--green);background:var(--paper);position:relative}
header:after{content:"";width:10px;height:10px;background:var(--gold);position:absolute;bottom:-6px;left:5%}
.brand{font-family:"BIZ UDGothic","Yu Gothic",Meiryo,sans-serif;font-size:27px;letter-spacing:.11em}
.brand-small{letter-spacing:.14em}.pixel-brand{position:relative;display:block;width:42px;height:36px;margin-right:4px;flex-shrink:0}
.pixel-brand>span{position:absolute;width:26px;height:26px;border:5px solid var(--green);left:0;top:0;clip-path:polygon(5px 0,21px 0,21px 5px,26px 5px,26px 21px,21px 21px,21px 26px,5px 26px,5px 21px,0 21px,0 5px,5px 5px)}
.pixel-brand>span:last-child{left:16px;top:10px;border-color:#91ad94;mix-blend-mode:multiply}
nav a{font-family:"BIZ UDGothic",Meiryo,sans-serif;font-weight:600}nav a:before{content:"・";color:#91ad94}
.button{border-radius:0;box-shadow:4px 4px 0 var(--gold);border:2px solid var(--green);position:relative;transition:background .16s,box-shadow .16s,transform .16s}
.button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--gold)}
.button:active{transform:translate(4px,4px);box-shadow:none}
.button span{font-family:monospace}.button.light{box-shadow:5px 5px 0 #91ad94;border-color:#faf9f5}.button.light:hover{box-shadow:3px 3px 0 #91ad94}
.eyebrow{font-family:"Courier New","BIZ UDGothic",Meiryo,monospace;letter-spacing:.1em;display:flex;align-items:center;gap:10px}
.eyebrow:before{content:"";width:8px;height:8px;flex-shrink:0;background:var(--gold)}
.hero{gap:5%;padding-top:70px;padding-bottom:70px;min-height:680px}
.hero h1,h2,.booking h2{font-family:"BIZ UDGothic","Yu Gothic",Meiryo,sans-serif;font-weight:700;letter-spacing:.025em}
.hero h1{font-size:clamp(32px,3.35vw,51px);line-height:1.65;text-shadow:2px 2px 0 #dae4d5}
.hero h1 span{color:#54816b}.hero-lead{font-size:14px}.hero-art{height:auto;overflow:visible;border-radius:0;background:#e7eee5;position:relative;border:2px solid var(--green);box-shadow:10px 10px 0 #bda780;min-width:0}
.hero-art:after{display:none}.pixel-window-bar{display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#faf9f5;font:10px/1.4 "Courier New",monospace;letter-spacing:.06em;padding:11px 13px;gap:10px}
.pixel-window-bar>span:first-child{display:flex;gap:5px}.pixel-window-bar i{display:inline-block;width:7px;height:7px;background:#91ad94}.pixel-window-bar i:last-child{background:#bda780}
.pixel-art-intro{font-size:12px;padding:20px 22px 0;font-weight:bold;display:flex;align-items:center;gap:9px;letter-spacing:.06em}.pixel-state{font-size:0;width:7px;height:7px;background:#759781;box-shadow:0 0 0 3px #d2dfd0}
.digital-hero-image{width:100%;image-rendering:pixelated}.pixel-panel-bottom{display:flex;justify-content:center;align-items:center;gap:20px;border-top:1px solid #a8bba7;padding:14px;font:10px "Courier New",monospace;letter-spacing:.08em}.pixel-panel-bottom b{color:#ae7c43;font-size:16px}
.text-link{border-bottom:2px solid #91ad94}.topic-bar{border-top:2px solid var(--green);border-bottom:2px solid var(--green);background:#eaf0e7;position:relative}.topic-bar span{border-right:2px dotted #a8bba7}.topic-bar span:before{content:"+ ";color:var(--gold);font-family:monospace}
.intro{background:var(--paper);border-bottom:2px solid #c7d5c4}h2{font-size:31px}h3{font-weight:700}.wrap{position:relative}.section-top{padding-bottom:10px}.section-top h2{position:relative}.section-top>p{border-left:4px solid #bda780;padding-left:20px}
.service{border-top:2px solid #c7d5c4;background:var(--paper)}.service-number{font-family:"Courier New",monospace;font-weight:bold;font-size:46px;color:#759781;letter-spacing:-.08em}
.tags li{border-radius:0;border:1px solid #c5d2bf;background:#eef2e8;padding:6px 10px}.tags li:before{content:"▪ ";color:#759781}
.service-image{border:2px solid var(--green);box-shadow:7px 7px 0 #c7d5c4;align-self:center}.service-image img{border-radius:0;image-rendering:pixelated}.digital-service{background:#e7eee5}
.price strong{font-family:"Courier New",Meiryo,monospace;font-weight:bold}.price{padding:12px 0;border-top:1px dashed #a8bba7;border-bottom:1px dashed #a8bba7}
.flow-section{border-top:2px solid #a8bba7;border-bottom:2px solid #a8bba7;background-color:#eaf0e7;background-image:linear-gradient(rgba(117,151,129,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(117,151,129,.09) 1px,transparent 1px);background-size:24px 24px}
.steps{gap:22px}.steps li{border:1px solid #a8bba7;border-top:4px solid #759781;background:#faf9f5;padding:20px 18px;box-shadow:4px 4px 0 #cfdbca;position:relative}.steps li:not(:last-child):after{content:"→";font:16px monospace;color:#ae7c43;position:absolute;right:-20px;top:47%}.steps li>span{display:inline-block;font:700 23px "Courier New",monospace;color:#759781;border-bottom:3px solid #bda780;padding-bottom:5px}.steps h3{font-size:15px}
.flow-note{border-top:1px dashed #9cb59e}.flow-note span:before{content:"[ ";color:#ae7c43}.flow-note span:after{content:" ]";color:#ae7c43}.faq{background:var(--paper)}
.faq-list details{border-top:2px solid #c7d5c4}.faq-list details:last-child{border-bottom:2px solid #c7d5c4}.faq-list summary span{font-family:monospace;color:#759781}.faq-list summary:before{content:"Q";font-family:"Courier New",monospace;color:#ae7c43}
.booking{border-top:6px solid #91ad94;background-color:var(--green);background-image:linear-gradient(rgba(210,223,208,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(210,223,208,.035) 1px,transparent 1px);background-size:24px 24px}
.booking .eyebrow{justify-content:center}.booking .eyebrow:before{background:#bda780}.booking .wrap:before,.booking .wrap:after{content:"";position:absolute;top:45px;width:10px;height:10px;box-shadow:14px 0 #759781,28px 0 #bda780;background:#91ad94}.booking .wrap:before{left:5%}.booking .wrap:after{right:8%;top:auto;bottom:40px}
.footer-main .brand{font-size:25px}.footer-bottom{border-top:1px dashed #a8bba7}.mobile-book{position:fixed;box-shadow:4px 4px 0 #bda780;border:2px solid var(--green)}
@media(max-width:1000px){.hero{gap:5%;min-height:620px}.hero h1{font-size:clamp(31px,3.5vw,43px)}.hero-art{height:auto}.pixel-panel-bottom{gap:12px;font-size:9px}.steps{gap:18px}.steps li{padding:18px 13px}.steps li:not(:last-child):after{right:-17px}.header-book{gap:15px}}
@media(max-width:720px){header{height:88px}.brand{font-size:24px}.pixel-brand{transform:scale(.88);transform-origin:left center;width:38px;margin-right:0}.hero{padding-top:38px;padding-bottom:42px;gap:35px;min-height:0}.hero h1{font-size:clamp(27px,7.75vw,35px);line-height:1.7}.hero-lead{font-size:12px}.hero-art{height:auto;border-radius:0;max-width:440px;box-shadow:7px 7px 0 #bda780}.pixel-art-intro{padding:17px 16px 0;font-size:11px}.pixel-window-bar{font-size:9px;padding:10px}.pixel-panel-bottom{gap:18px;font-size:9px;padding:12px}.hero-actions{margin-top:25px}.topic-bar{font-size:10px;letter-spacing:0}.topic-bar span{padding:0 8px}.topic-bar span:last-child{border:0}.eyebrow{font-size:11px}h2{font-size:25px}.section-top>p{font-size:12px;padding-left:12px}.service-number{font-size:32px}.service-image{box-shadow:5px 5px 0 #c7d5c4}.price strong{font-size:28px}.steps{gap:20px 16px}.steps li{padding:16px 12px;box-shadow:3px 3px 0 #cfdbca}.steps li:after{display:none}.steps h3{font-size:13px}.steps p{font-size:12px}.booking .wrap:before,.booking .wrap:after{width:6px;height:6px;box-shadow:10px 0 #759781,20px 0 #bda780}.booking .wrap:before{top:25px}.booking .wrap:after{bottom:25px}.booking h2{font-size:29px}.mobile-book{font-size:13px;bottom:16px}.footer-main .brand{font-size:24px}}

