@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600&display=swap');

:root{--ink:#181916;--paper:#f5f4f0;--white:#fbfbf8;--line:#d7d4cc;--muted:#70716b;--blue:#7899aa;--yellow:#e1ad43;--max:1240px;--pad:max(24px,calc((100vw - var(--max))/2))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"PingFang SC",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}em{font-style:normal}

header{height:72px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(245,244,240,.94);backdrop-filter:blur(18px);z-index:20}.logo{display:flex;align-items:center;line-height:1}.logo img{width:148px;height:51px;object-fit:contain;object-position:left center}nav{display:flex;gap:clamp(18px,2.3vw,32px)}nav a{font-size:12px;letter-spacing:.08em;position:relative}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--yellow);transition:.2s}nav a:hover:after{right:0}.menu-btn{display:none;background:none;border:0}
main{min-height:65vh}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:bold;margin:0 0 18px;text-transform:uppercase;color:var(--muted)}.section{padding:88px var(--pad);border-top:1px solid var(--line)}.section h2,.home-intro h2{font:600 clamp(30px,4vw,54px)/1.3 "Noto Serif SC",serif;letter-spacing:-.035em;margin:0}.section-title{display:flex;align-items:end;justify-content:space-between;margin:0 0 30px}.section-title a{font-size:11px;letter-spacing:.06em}.section-title a:hover{color:var(--blue)}

.hero{min-height:calc(90vh - 72px);max-height:790px;padding:clamp(70px,10vh,110px) var(--pad);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.75fr);gap:7vw;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:2}.hero h1{font:600 clamp(54px,6.7vw,94px)/1.08 "Noto Serif SC",serif;letter-spacing:-.07em;margin:0;max-width:800px}.hero-en{font-size:clamp(20px,2vw,28px);letter-spacing:.06em;margin:15px 0 32px}.hero-lead{font-size:15px;color:var(--muted);margin:0 0 30px}.actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;min-width:155px;padding:12px 15px;border:1px solid var(--ink);justify-content:space-between;background:var(--ink);color:var(--paper);font-size:12px;transition:.2s}.button:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--ink);color:var(--paper)}.hero-minor{display:flex;gap:22px;margin-top:23px}.hero-minor a{font-size:11px;color:var(--muted);border-bottom:1px solid transparent}.hero-minor a:hover{border-color:var(--yellow);color:var(--ink)}.hero-visual{justify-self:end;width:min(32vw,390px);aspect-ratio:1/1;background:#e8e7e1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.hero-visual:before{content:"";position:absolute;width:8px;height:40%;background:var(--yellow);left:0;top:0}.hero-visual img{width:72%;height:auto}.hero-visual span{font-size:9px;letter-spacing:.18em;line-height:1.7;margin-top:30px;align-self:flex-start;margin-left:14%}
.home-intro{padding:70px var(--pad);background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.home-intro .eyebrow{color:var(--yellow)}.home-intro h2{max-width:520px}.home-intro>p{max-width:520px;color:#b8b9b3;font-size:14px;margin:0}
.home-core{padding-top:76px;padding-bottom:76px}.core-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:30px}.core-grid a{background:var(--paper);padding:30px;min-height:240px;display:flex;flex-direction:column;transition:.25s}.core-grid a:hover{background:var(--white);transform:translateY(-3px)}.core-grid em,.featured-store-grid em{font-size:9px;letter-spacing:.14em;color:var(--blue)}.core-grid h3{font:600 25px "Noto Serif SC",serif;margin:42px 0 8px}.core-grid p{font-size:12px;color:var(--muted);max-width:260px;margin:0}.core-grid b{font-size:10px;letter-spacing:.08em;margin-top:auto}.featured-stores{background:var(--white)}.featured-store-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.featured-store-grid a{border-bottom:1px solid var(--line);transition:.2s}.featured-store-grid a:hover{border-color:var(--yellow)}.featured-store-grid img{width:100%;aspect-ratio:16/8.2;object-fit:cover;filter:grayscale(.35)}.featured-store-grid div{padding:18px 0 20px}.featured-store-grid h3{font:600 22px "Noto Serif SC",serif;margin:7px 0 3px}.featured-store-grid span{font-size:10px;color:var(--muted)}
.notice-grid,.notice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.notice-card{background:var(--paper);padding:24px;min-height:235px;display:flex;flex-direction:column;transition:.2s}.notice-card:hover{background:var(--white)}.notice-card span,.notice-card p,.notice-card b{font-size:9px;letter-spacing:.1em}.notice-card p{color:var(--muted)}.notice-card h3{font:600 19px/1.45 "Noto Serif SC",serif;margin:20px 0 8px}.notice-card small{color:var(--muted);font-size:11px}.notice-card b{margin-top:auto;padding-top:20px}

.page-head{padding:95px var(--pad) 75px;max-width:1450px}.page-head h1{font:600 clamp(43px,6vw,82px)/1.18 "Noto Serif SC",serif;letter-spacing:-.055em;margin:0}.page-head>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:14px;margin:25px 0 0}.about-image,.store-hero{padding:0 var(--pad)}.about-image img,.store-hero img{width:100%;height:min(50vw,600px);object-fit:cover;filter:grayscale(.25)}.about-image p{font-size:9px;letter-spacing:.2em}.split,.prose,.detail-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.prose div{font-size:clamp(16px,1.7vw,22px);color:var(--muted)}.prose h2{font-size:clamp(28px,4vw,50px)}.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.practice-grid article{background:var(--paper);padding:28px;min-height:220px}.practice-grid em,.future-grid em{font-size:9px;color:var(--muted)}.practice-grid h3{font:600 24px "Noto Serif SC",serif;margin:48px 0 8px}.practice-grid p{color:var(--muted);font-size:11px}.consult-banner{background:var(--ink);color:white;padding:68px var(--pad);display:flex;justify-content:space-between;align-items:end;gap:30px}.consult-banner h2{font:600 clamp(30px,4vw,54px)/1.3 "Noto Serif SC",serif;max-width:800px;margin:0}.consult-banner p{color:#b4b5af}.consult-banner .button{border-color:white}
.store-list{border-top:1px solid var(--line)}.store-row{display:grid;grid-template-columns:40px 210px 1fr auto;gap:26px;align-items:center;padding:22px var(--pad);border-bottom:1px solid var(--line)}.store-row img{width:210px;height:125px;object-fit:cover}.store-row span,.store-row p,.store-row small{color:var(--muted);font-size:10px}.store-row h2{font:600 clamp(22px,2.5vw,34px) "Noto Serif SC",serif;margin:5px 0}.store-row b{font-size:10px}.detail-grid dl{margin:0}.detail-grid dt{font-size:9px;letter-spacing:.12em;color:var(--muted)}.detail-grid dd{margin:5px 0 20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.form-wrap{padding:0 var(--pad) 100px}form{display:grid;grid-template-columns:1fr 1fr;gap:22px 32px;max-width:1050px}label{font-size:10px;letter-spacing:.08em;display:flex;flex-direction:column;gap:8px}.full{grid-column:1/-1}input,select,textarea{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 2px;outline:none;border-radius:0}textarea{border:1px solid var(--line);padding:14px;resize:vertical}.form-end{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.form-end p{font-size:10px;color:var(--muted)}form button,.product-card button,.result-row button{border:0;background:var(--ink);color:white;padding:12px 18px;font-size:11px}
.privacy-note,.turnstile-wrap,.form-message{border:1px solid var(--line);background:var(--white);padding:15px 17px}.privacy-note p,.turnstile-wrap p,.form-message{font-size:11px;color:var(--muted);margin:0;letter-spacing:0}.privacy-note a{border-bottom:1px solid var(--yellow);color:var(--ink)}.form-message{display:none}.form-message.success,.form-message.error{display:block}.form-message.success{border-color:#39744b;color:#39744b}.form-message.error{border-color:#9d4d3f;color:#9d4d3f}.turnstile-wrap{min-height:74px;display:flex;align-items:center}
.filters{margin:0 var(--pad) 25px;display:grid;grid-template-columns:2fr 1fr 1fr;border:1px solid var(--line)}.filters input,.filters select{border:0;border-right:1px solid var(--line);padding:15px}.results{padding:0 var(--pad) 95px}.result-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:26px;align-items:center;border-top:1px solid var(--line);padding:22px 0}.result-row:last-child{border-bottom:1px solid var(--line)}.result-row h3{font:600 21px "Noto Serif SC",serif;margin:4px 0}.result-row span,.result-row small,.result-row p{font-size:10px;color:var(--muted);margin:0}.result-row .ok{color:#39744b}.result-row .no{color:#9d4d3f}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 var(--pad) 95px}.product-card img{aspect-ratio:1/1;object-fit:cover}.product-card>p,.product-card small{font-size:9px;color:var(--muted)}.product-card h3{font:600 20px "Noto Serif SC",serif}.product-card div{display:flex;justify-content:space-between;align-items:center}.product-card button{padding:8px 11px}.empty{grid-column:1/-1;padding:70px 0;color:var(--muted);text-align:center}.chips{padding:0 var(--pad) 28px;display:flex;gap:7px;flex-wrap:wrap}.chips button{border:1px solid var(--line);background:transparent;padding:7px 13px;font-size:10px}.chips .active{background:var(--ink);color:white}.notice-list{margin:0 var(--pad) 95px}.article{max-width:850px;margin:auto;padding:95px var(--pad)}.article h1{font:600 36px/1.42 "Noto Serif SC",serif;letter-spacing:0;margin:0}.article .lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:680px;margin:22px 0 42px}.article-body{font-size:16px;line-height:1.85;max-width:680px;border-top:1px solid var(--line);padding:32px 0 65px}.consulting-types{margin:0 var(--pad) 80px;grid-template-columns:repeat(3,1fr)}.contact-grid,.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:0 var(--pad) 95px}.contact-grid article,.future-grid article{background:var(--paper);padding:30px;min-height:210px}.contact-grid span,.future-grid span{font-size:9px;color:var(--muted)}.contact-grid h2,.future-grid h3{font:600 24px "Noto Serif SC",serif;margin:42px 0 12px}.future-grid article{position:relative}.future-grid span{position:absolute;right:22px;bottom:22px}.not-found{min-height:65vh;padding:12vh var(--pad);text-align:center}.not-found b{font-size:clamp(90px,18vw,240px);line-height:1;color:var(--blue)}.not-found h1{font:600 30px "Noto Serif SC",serif}.toast{position:fixed;z-index:99;right:22px;bottom:22px;background:var(--ink);color:white;padding:15px 20px;max-width:380px;font-size:11px}
footer{padding:52px var(--pad) 20px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}footer .logo img{filter:invert(1)}footer .logo small{color:#aaa}footer>div{display:flex;flex-direction:column;gap:9px;font-size:11px}footer p,footer span{color:#999}footer small{grid-column:1/-1;border-top:1px solid #3d3d39;padding-top:16px;color:#888;display:flex;gap:18px;flex-wrap:wrap;align-items:center}.footer-legal{display:flex;gap:16px;flex-wrap:wrap}.footer-legal a:hover{color:var(--paper)}
.hero-visual img{width:82%}.hero-visual span{margin-left:9%}footer .logo img{filter:brightness(0) invert(1)}
.article-image{width:100%;margin:0 0 34px}.policy-page{max-width:920px;margin:0 auto 95px;padding:0 var(--pad)}.policy-page section{border-top:1px solid var(--line);padding:28px 0}.policy-page h2{font:600 25px "Noto Serif SC",serif;margin:0 0 12px}.policy-page p{color:var(--muted);font-size:14px;margin:0}.policy-date{font-size:10px;letter-spacing:.12em;color:var(--muted);margin:0 0 18px}.consult-contact{display:grid;grid-template-columns:1.1fr 360px;gap:7vw;align-items:center}.consult-contact h2{max-width:700px}.consult-contact p{max-width:620px;color:var(--muted);font-size:14px}.consult-contact dl{margin:28px 0 0}.consult-contact dt{font-size:9px;letter-spacing:.12em;color:var(--muted)}.consult-contact dd{margin:4px 0 16px}.qr-panel{background:var(--white);border:1px solid var(--line);padding:18px}.qr-panel img{width:100%;filter:grayscale(.1)}.qr-panel span{display:block;margin-top:13px;font-size:10px;letter-spacing:.14em;color:var(--muted);text-align:center}.scope-list,.future-service{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.scope-list article,.future-service article{background:var(--paper);padding:28px;min-height:210px}.scope-list em,.future-service span{font-size:9px;letter-spacing:.12em;color:var(--blue)}.scope-list h3,.future-service h3{font:600 22px "Noto Serif SC",serif;margin:44px 0 9px}.scope-list p,.future-service p{font-size:11px;color:var(--muted)}
.admin-wrap{padding:0 var(--pad) 100px}.admin-note{border:1px solid var(--line);background:var(--white);padding:16px 18px;margin-bottom:18px;display:flex;gap:18px;align-items:baseline}.admin-note b{font-size:10px;letter-spacing:.12em}.admin-note p{font-size:11px;color:var(--muted);margin:0}.admin-toolbar{display:grid;grid-template-columns:repeat(3,1fr) auto auto;gap:14px;align-items:end;margin-bottom:24px}.admin-toolbar button,.admin-detail button,.admin-table button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:11px 14px;font-size:11px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-bottom:24px}.admin-stats article{background:var(--white);padding:22px}.admin-stats span{font-size:9px;letter-spacing:.14em;color:var(--muted)}.admin-stats b{display:block;font:600 38px "Noto Serif SC",serif;margin-top:12px}.admin-stats p{font-size:11px;color:var(--muted);margin:0}.admin-table-wrap{overflow:auto;border:1px solid var(--line);background:var(--white)}.admin-table{width:100%;border-collapse:collapse;min-width:920px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px;font-size:11px;vertical-align:top}.admin-table th{font-size:9px;letter-spacing:.12em;color:var(--muted);background:var(--paper)}.status{display:inline-block;padding:4px 8px;border:1px solid var(--line);font-size:10px}.status.new{border-color:var(--yellow)}.status.confirmed{border-color:#39744b;color:#39744b}.status.cancelled{border-color:#9d4d3f;color:#9d4d3f}.admin-detail{margin-top:24px;border:1px solid var(--line);background:var(--white);padding:24px}.admin-detail h2{font:600 26px "Noto Serif SC",serif;margin:0 0 20px}.admin-detail dl{display:grid;grid-template-columns:120px 1fr;gap:12px 20px}.admin-detail dt{font-size:9px;letter-spacing:.12em;color:var(--muted)}.admin-detail dd{margin:0;font-size:13px}.admin-detail form{display:grid;grid-template-columns:1fr;max-width:720px;margin-top:26px}.admin-login form{max-width:640px}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.admin-tabs a{border:1px solid var(--line);background:var(--white);padding:9px 13px;font-size:10px;letter-spacing:.08em}.admin-tabs a:hover{border-color:var(--ink)}.reservation-toolbar{grid-template-columns:repeat(3,1fr) auto auto auto}.consulting-toolbar,.content-toolbar{grid-template-columns:1fr auto auto auto}.logs-toolbar{grid-template-columns:1fr 1fr 1fr auto auto}.admin-log-table{min-width:820px}.status.update_status{border-color:#39744b;color:#39744b}.status.delete{border-color:#9d4d3f;color:#9d4d3f}.content-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;border:1px solid var(--line);padding:18px;background:var(--paper)}.content-fields .full{grid-column:1/-1}.field-help{border:1px solid var(--line);background:var(--paper);padding:12px 14px;font-size:11px;color:var(--muted);margin:0}.field-hint{display:block;margin:5px 0 0;font-size:10px;line-height:1.6;color:var(--muted);letter-spacing:0}.image-field .inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.image-field .inline-actions button{padding:8px 11px;background:transparent;color:var(--ink);border:1px solid var(--ink)}.image-field .inline-actions a{font-size:10px;color:var(--muted)}.media-picker{border:1px solid var(--line);background:var(--white);padding:18px;margin-top:4px}.media-picker[hidden]{display:none}.media-picker>p{font-size:11px;color:var(--muted);margin:0}.media-picker-head{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-bottom:16px}.media-picker-head b{font-size:11px;letter-spacing:.1em}.media-picker-head span{font-size:10px;color:var(--muted)}.media-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.media-picker-grid article{border:1px solid var(--line);padding:10px;background:var(--paper)}.media-picker-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--line)}.media-picker-grid p{font-size:10px;color:var(--muted);height:34px;overflow:hidden;margin:8px 0}.media-picker-grid button{width:100%;padding:8px 9px}.check-line{display:flex;flex-direction:row;align-items:center;gap:8px;letter-spacing:.02em}.check-line input{width:auto}.media-upload{max-width:780px;margin:0 0 26px}.media-table{margin-top:22px}.copy-url{width:100%;min-width:320px;border:1px solid var(--line);padding:9px;background:var(--paper);font-size:11px}.status.published{border-color:#39744b;color:#39744b}.status.draft{border-color:var(--yellow)}.status.archived,.status.closed{border-color:#9d4d3f;color:#9d4d3f}
.media-manage-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:22px;align-items:start}.media-thumb{width:76px;height:56px;object-fit:cover;background:var(--line);border:1px solid var(--line)}.admin-table td>b{display:block;font-size:12px;margin-bottom:5px}.admin-table td>small,.media-picker-grid small{display:block;font-size:10px;line-height:1.5;color:var(--muted)}.media-used,.media-unused{display:block;width:max-content;border:1px solid var(--line);padding:4px 7px;margin-bottom:6px;font-size:10px}.media-used{border-color:#39744b;color:#39744b}.media-unused{border-color:var(--yellow)}.media-detail{margin-top:0}.media-detail-preview{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:var(--paper);margin-bottom:18px}.danger-button{margin-top:12px;background:transparent!important;color:#9d4d3f!important;border-color:#9d4d3f!important}

@media(max-width:850px){header{height:64px}.logo img{width:42px}.logo small{display:none}.menu-btn{display:block;font-size:11px}nav{position:absolute;top:64px;left:0;right:0;background:var(--paper);padding:20px 24px;display:none;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line)}nav.open{display:grid}.hero{min-height:auto;max-height:none;padding:68px 24px 58px;grid-template-columns:1fr}.hero h1{font-size:clamp(48px,14vw,68px)}.hero-en{font-size:19px}.hero-visual{display:none}.home-intro{padding:52px 24px;grid-template-columns:1fr;gap:25px}.section{padding:60px 24px}.core-grid,.featured-store-grid,.notice-grid,.notice-list,.practice-grid,.consulting-types,.contact-grid,.future-grid,.product-grid,.split,.prose,.detail-grid{grid-template-columns:1fr}.core-grid a{min-height:210px}.featured-store-grid{gap:28px}.page-head{padding:65px 24px 50px}.page-head h1{font-size:clamp(40px,12vw,62px)}.about-image,.store-hero{padding:0 24px}.about-image img,.store-hero img{height:75vw}.store-row{grid-template-columns:30px 1fr;padding:20px 24px}.store-row img,.store-row b{display:none}.result-row{grid-template-columns:1fr 1fr}.result-row>div:first-child{grid-column:1/-1}.filters{grid-template-columns:1fr;margin:0 24px 25px}.filters input,.filters select{border-right:0;border-bottom:1px solid var(--line)}.results{padding:0 24px 70px}.product-grid{padding:0 24px 70px}.notice-list{margin:0 24px 70px}.chips{padding:0 24px 25px}form{grid-template-columns:1fr}.full{grid-column:auto}.form-wrap{padding:0 24px 70px}.form-end{align-items:stretch;flex-direction:column}.consult-banner{align-items:start;flex-direction:column;padding:55px 24px}.section-title{align-items:start;gap:15px}.section-title h2{font-size:32px}.article{padding:70px 24px}.contact-grid,.future-grid{margin:0 24px 70px}footer{grid-template-columns:1fr 1fr;padding:45px 24px 20px}footer>div:first-child{grid-column:1/-1}}
@media(max-width:850px){.logo img{width:122px;height:44px}.logo small{display:initial}}
@media(max-width:850px){.consult-contact,.scope-list,.future-service{grid-template-columns:1fr}.qr-panel{max-width:420px}}
@media(max-width:850px){.article h1{font-size:30px;line-height:1.45}.article .lead{font-size:17px;margin:18px 0 36px}.article-body{font-size:15px;line-height:1.85}.admin-note{display:block}.admin-note b{display:block;margin-bottom:8px}.admin-toolbar,.admin-stats{grid-template-columns:1fr}.admin-detail dl{grid-template-columns:1fr}.admin-wrap{padding:0 24px 70px}}
@media(max-width:850px){.content-fields{grid-template-columns:1fr}.consulting-toolbar,.content-toolbar,.logs-toolbar{grid-template-columns:1fr}.copy-url{min-width:240px}.media-picker-grid{grid-template-columns:repeat(2,1fr)}.media-picker-head{display:block}}
@media(max-width:850px){.media-manage-grid{grid-template-columns:1fr}.media-detail{margin-top:18px}}
