@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;900&family=Noto+Serif+JP:wght@600;800&display=swap');
:root{--paper:#f6f2e9;--ink:#252921;--red:#b84435;--line:#d8d5c9;--muted:#74796b;--green:#3c5142}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'Noto Sans JP',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}.demo{background:var(--ink);color:#f7f3ea;display:flex;justify-content:space-between;padding:10px 5%;font-size:11px;letter-spacing:.04em}.demo a{color:#efd6a1}header{height:104px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line);gap:20px}.brand b{font-family:'Noto Serif JP',serif;font-size:28px;letter-spacing:.12em}.brand b span{color:var(--red)}.brand small{display:block;font-size:8px;letter-spacing:.22em}nav{display:flex;gap:32px;font-size:13px}.button{background:var(--red);color:white;border:1px solid var(--red);padding:17px 27px;display:inline-flex;justify-content:center;align-items:center;gap:20px}.button.small{padding:12px 21px}.button.light{background:transparent;color:var(--ink);border-color:var(--line)}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:610px;padding:62px 5% 50px;gap:6%}.eyebrow{font-size:11px;letter-spacing:.19em;color:var(--red);font-weight:700}.hero h1{font-size:clamp(42px,4.6vw,72px);letter-spacing:-.055em;line-height:1.22;margin:28px 0}.hero h1 em{font-family:'Noto Serif JP',serif;color:var(--red);font-style:normal}.hero p{line-height:1.9;color:var(--muted);margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:25px}.location{font-size:11px;border-top:1px solid var(--line);margin-top:38px;padding-top:20px;display:flex;justify-content:space-between}.poster{position:relative;min-height:480px;background:#dfd5bc;overflow:hidden;border-radius:150px 150px 0 0;isolation:isolate;box-shadow:inset 0 0 80px #a98a5e33}.poster:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 49px,#79694d15 50px),repeating-linear-gradient(0deg,transparent 0 49px,#79694d15 50px)}.sun{position:absolute;width:280px;height:280px;border-radius:50%;background:var(--red);top:80px;left:calc(50% - 140px)}.poster .kanji{position:absolute;top:55px;right:40px;writing-mode:vertical-rl;color:#f8ebce;font-family:'Noto Serif JP',serif;font-size:52px;letter-spacing:13px;text-shadow:2px 2px #743728}.lantern{position:absolute;top:230px;left:15%;width:100px;height:170px;border-radius:40%;background:repeating-linear-gradient(0deg,#edc98c 0 13px,#9e754f 14px,#e6bd7e 16px);box-shadow:0 15px 35px #25292140;transform:rotate(-9deg)}.lantern:before,.lantern:after{content:'';position:absolute;left:15px;right:15px;height:15px;background:#2e392c}.lantern:before{top:-7px}.lantern:after{bottom:-7px}.lantern span{display:block;text-align:center;margin-top:25px;font:27px 'Noto Serif JP',serif;writing-mode:vertical-rl;margin-left:32px}.fan{position:absolute;width:270px;height:140px;border-radius:150px 150px 0 0;background:repeating-conic-gradient(from -90deg at 50% 100%,#314b3e 0deg 10deg,#ccbb8e 11deg 12deg);bottom:55px;right:-15px;transform:rotate(-24deg);border:8px solid #314b3e}.poster-label{position:absolute;bottom:20px;left:25px;letter-spacing:.2em;font-size:10px}.stamp{position:absolute;left:35px;top:70px;border:2px solid var(--red);color:var(--red);padding:9px;writing-mode:vertical-rl;letter-spacing:6px;transform:rotate(-8deg)}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 5%;display:flex;justify-content:space-between;gap:16px;font-size:12px}.section{padding:65px 5%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}h2{font-size:34px;letter-spacing:-.04em;margin:12px 0}h3{font-size:20px}.sub{color:var(--muted);line-height:1.8}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border-top:1px solid var(--ink);padding-top:20px}.card .n{font-size:12px;color:var(--red)}.card p{color:var(--muted);line-height:1.8}.art{height:180px;display:flex;justify-content:center;align-items:center;font-family:'Noto Serif JP',serif;font-size:58px;letter-spacing:.15em;background:#e4dac7;color:#ae4a37;margin-bottom:20px}.art.green{background:#354d3d;color:#e5d7b6}.art.red{background:#b84435;color:#f5e5cb}.season{background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:40px}.season .sub{color:#c4cdbf}.season .eyebrow{color:#e8c092}.calendar-line{padding:20px 0;border-bottom:1px solid #819180;display:flex;gap:28px;align-items:center}.calendar-line strong{font-size:26px;font-weight:400}.calendar-line small{color:#bdc7b8}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.menu-item{border-bottom:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:20px}.menu-item small{display:block;color:var(--muted);margin-top:7px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.map{background:#e9e3d6;padding:35px;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line)}.map strong{font-size:45px;color:var(--red)}footer{margin:0 5%;padding:35px 0;display:flex;gap:30px;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}footer p{color:var(--muted);font-size:12px;line-height:1.8}.page{max-width:1180px;margin:auto;padding:48px 30px 70px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:30px}.booking-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;margin-top:35px}.panel{background:#fffdf8;border:1px solid var(--line);padding:28px}.panel h3{margin-top:0}.steps{display:flex;gap:25px;margin:25px 0;color:var(--muted);font-size:12px}.steps b{color:var(--red)}label{display:block;margin:20px 0 9px;font-weight:600;font-size:13px}input,select{border:1px solid var(--line);padding:13px;background:white;color:var(--ink);max-width:100%;width:100%}.slots,.packages{display:flex;gap:10px;flex-wrap:wrap}.choice{background:transparent;border:1px solid var(--line);padding:14px 20px;text-align:left}.choice.selected{border-color:var(--red);background:#f9ece4;color:var(--red)}.choice small{display:block;margin-top:5px;font-size:10px}.counter{display:flex;align-items:center;gap:25px}.counter button{width:40px;height:40px;background:transparent;border:1px solid var(--line)}.summary-row{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.total{font-size:27px}.note{font-size:12px;line-height:1.8;color:var(--muted);background:#eeeadf;padding:15px;margin:20px 0}.full{width:100%}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.7}.check input{width:18px;margin-top:4px}.success{text-align:center;padding:45px 20px}.success .seal{font-size:50px;color:var(--green)}.ticket{border:1px dashed var(--red);padding:25px;max-width:500px;margin:25px auto;background:#fffdf8}.admin-layout{display:grid;grid-template-columns:180px 1fr;gap:35px}.sidebar{border-right:1px solid var(--line);padding-right:20px}.sidebar button{display:block;border:0;background:none;padding:15px 10px;width:100%;text-align:left;color:var(--muted)}.sidebar button.active{background:var(--green);color:white}.admin-main{min-width:0}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.tag{font-size:11px;background:#e5ebdf;color:var(--green);padding:5px 9px;white-space:nowrap}.tag.warn{background:#f8e9cf;color:#9c5b22}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.metric{border:1px solid var(--line);padding:22px;background:#fffdf8}.metric small{color:var(--muted)}.metric b{display:block;font-size:30px;margin-top:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{color:var(--muted);font-weight:400;background:#ebe8dd}td,th{padding:17px 13px;border-bottom:1px solid var(--line)}td button{border:1px solid var(--line);background:white;padding:6px 9px;margin-right:5px}.toolbar{display:flex;gap:12px;margin:20px 0}.toolbar input{flex:1}.toolbar select{width:150px}.bar-row{display:flex;gap:15px;align-items:center;margin:22px 0}.bar-row span{width:70px}.bar{height:12px;background:#e8e4d8;flex:1}.bar i{display:block;height:100%;background:var(--green)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 25px;opacity:0;pointer-events:none;z-index:9;transition:.2s}#toast.show{opacity:1}.status-empty{padding:30px;text-align:center;color:var(--muted)}@media(max-width:800px){nav{display:none}.demo span:first-child{display:none}.hero{grid-template-columns:1fr;padding-top:35px}.poster{min-height:420px}.hero h1{font-size:48px}.cards{grid-template-columns:1fr}.season,.access-grid,.booking-grid{grid-template-columns:1fr}.strip{flex-wrap:wrap}.section{padding:40px 6%}.menu-list{grid-template-columns:1fr}footer{flex-wrap:wrap}.page{padding:30px 18px}.admin-layout{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;border:0;padding:0;gap:8px}.sidebar button{min-width:100px;text-align:center;padding:12px 5px}.metrics{gap:8px}.metric{padding:15px 10px}.metric b{font-size:22px}.section-head{display:block}.admin-heading h2{font-size:27px}.brand b{font-size:24px}header{height:85px}.toolbar{flex-wrap:wrap}}

.package-includes{font-weight:700;line-height:1.8}.sakura-guide{margin-top:24px;padding-top:20px;border-top:1px solid currentColor}.sakura-guide p{line-height:1.9}.show-slots a>span{min-width:0}.show-slots a small{white-space:normal;line-height:1.6}
