:root{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#232621;background:#faf9f5;font-synthesis:none;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}p{line-height:1.95}h1,h2,h3{font-weight:500}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}.serif{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.demo-bar{background:#182127;color:#fff;display:flex;justify-content:space-between;gap:14px;padding:10px 28px;font-size:12px;line-height:1.6}.demo-bar a{white-space:nowrap}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}.brand{text-decoration:none;font-size:27px;line-height:1.2;letter-spacing:.08em}.brand small{display:block;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.18em;margin-top:8px}.site-nav{display:flex;align-items:center;gap:30px;font-size:14px}.site-nav a{text-decoration:none}.site-nav a:hover{text-decoration:underline}.nav-toggle{display:none;border:1px solid currentColor;background:transparent;padding:10px 14px}.eyebrow{font:12px/1.6 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.section{padding-block:100px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}.section-head h2{font-size:38px;line-height:1.5}.section-head .eyebrow{margin-bottom:12px}.text-link{display:inline-block;padding:10px 0;font-size:14px;text-decoration:none;border-bottom:1px solid currentColor}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:15px 26px;border:1px solid currentColor;text-decoration:none;font-size:14px;background:transparent}.button.solid{background:var(--accent,#263f33);border-color:var(--accent,#263f33);color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.lead{font-size:18px}.muted{font-size:14px;opacity:.75}.meta-list{margin:0}.meta-list>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid #80808040}.meta-list dt{font-size:14px}.meta-list dd{margin:0;line-height:1.9}.news-row{display:flex;gap:28px;border-bottom:1px solid #80808040;padding:22px 0;line-height:1.8}.news-row time{font-size:13px;font-family:Arial,sans-serif;white-space:nowrap}.site-footer{border-top:1px solid #80808040;padding:38px 0 24px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:30px}.sample-note{font-size:12px;line-height:1.8;opacity:.75}.credit{font-size:12px;letter-spacing:.06em}.demo-dialog{border:1px solid #bbb;border-radius:4px;padding:36px;max-width:500px;width:calc(100% - 40px);color:#232621;background:#fff}.demo-dialog::backdrop{background:#101820aa}.demo-dialog h2{font-size:24px;margin-bottom:20px}.demo-dialog p{margin-bottom:24px}.dialog-close{display:block;margin:24px 0 0 auto;background:none;border:0;text-decoration:underline;padding:8px}.skip{position:fixed;left:16px;top:-100px;background:#fff;color:#111;padding:12px;z-index:99}.skip:focus{top:10px}
/* Restaurant: dark green, warm photography, editorial menu */
.restaurant{--accent:#29483a;background:#f7f5ee;color:#293b31}.restaurant .brand{font-size:28px}.restaurant .hero{display:grid;grid-template-columns:35% 65%;min-height:610px;position:relative}.restaurant .hero-copy{padding:70px 45px 55px max(40px,calc((100vw - 1180px)/2));display:flex;flex-direction:column;align-items:start;justify-content:center}.restaurant .hero h1{font-size:clamp(35px,3.5vw,57px);line-height:1.75;letter-spacing:.08em;margin:28px 0}.restaurant .hero-copy p{font-size:14px}.restaurant .hero-photo{height:610px}.restaurant .hero-caption{position:absolute;right:30px;bottom:26px;background:#f7f5eef0;padding:12px 22px;font-size:13px}.restaurant .intro{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.restaurant .intro h2{font-size:32px;line-height:1.9}.restaurant .intro p+p{margin-top:22px}.restaurant .menu-area{background:#e9ede4}.restaurant .menu-board{display:grid;grid-template-columns:1fr 1fr;gap:70px}.restaurant .menu-board h3{font:15px Arial,sans-serif;letter-spacing:.15em;padding-bottom:22px;border-bottom:2px solid #29483a}.restaurant .dish{padding:23px 0;border-bottom:1px solid #29483a30}.restaurant .dish div{display:flex;justify-content:space-between;gap:16px;font-size:17px}.restaurant .dish p{font-size:13px;margin-top:8px;color:#56645a}.restaurant .hours-tag{border:1px solid #29483a50;border-radius:50%;width:150px;height:150px;display:grid;place-content:center;text-align:center;font-size:13px;line-height:2.2}.restaurant .access{background:#29483a;color:#fff}.restaurant .access .meta-list>div{border-color:#ffffff30}
/* Salon: plum editorial, oversized wordmark and portrait crop */
.salon{--accent:#543849;background:#fbf9fa;color:#3b3039}.salon .brand{font-family:Georgia,serif;font-size:37px}.salon .hero{position:relative;margin:0 30px;background:#e6dfe4;display:grid;grid-template-columns:1fr 1fr;min-height:640px}.salon .hero-copy{padding:60px clamp(28px,5vw,90px);z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:start}.salon .hero h1{font:clamp(80px,10vw,154px)/.9 Georgia,serif;letter-spacing:-.04em;margin:35px 0 30px}.salon .hero h2{font-size:26px;line-height:1.8;letter-spacing:.08em;margin-bottom:25px}.salon .hero img{height:640px}.salon .vertical-note{position:absolute;right:22px;top:28px;writing-mode:vertical-rl;color:#fff;font-size:12px;letter-spacing:.15em;text-shadow:0 1px 5px #222}.salon .concept{max-width:850px;text-align:center;margin:auto}.salon .concept h2{font-size:36px;line-height:1.8;margin:24px 0}.salon .concept p{max-width:630px;margin:auto}.salon .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:65px}.salon .service{border-top:1px solid #54384970;padding:24px 0}.salon .service .number{font:italic 26px Georgia,serif;color:#8b7485}.salon .service h3{font-size:22px;margin:26px 0 14px}.salon .service p{font-size:14px}.salon .menu-area{background:#543849;color:#fff}.salon .price-list{margin:0}.salon .price-list div{display:flex;justify-content:space-between;padding:23px 0;border-bottom:1px solid #ffffff40;gap:25px}.salon .price-list dt{font-size:18px}.salon .price-list dd{margin:0;font-family:Arial,sans-serif}.salon .price-list small{display:block;font-size:12px;margin-top:8px;opacity:.75}.salon .booking{background:#eee7ed;padding:60px;text-align:center}.salon .booking h2{font:52px Georgia,serif;margin-bottom:18px}.salon .booking p{margin-bottom:25px}
/* Shop: cobalt, graphic typography, numbered collection */
.shop{--accent:#2049c5;background:#fffdf8;color:#203da0}.shop .brand{font:bold 33px Arial,sans-serif;letter-spacing:-.04em}.shop .brand small{font-weight:400;letter-spacing:.1em}.shop .site-header{border-bottom:2px solid #2049c5}.shop .hero{display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:center;padding:48px 0 70px}.shop .hero h1{font-size:clamp(40px,4.9vw,70px);font-weight:700;letter-spacing:-.025em;line-height:1.55;margin:25px 0}.shop .hero p{max-width:400px;font-size:15px}.shop .hero-photo{height:560px;border-radius:140px 0 0 0}.shop .hero figure{position:relative}.shop .photo-label{position:absolute;bottom:24px;left:-28px;background:#f4d941;color:#203da0;padding:17px 24px;font:bold 14px Arial,sans-serif;transform:rotate(-5deg)}.shop .ticker{border-block:2px solid #2049c5;padding:18px 0;display:flex;justify-content:space-around;gap:18px;flex-wrap:wrap;font:14px Arial,sans-serif;letter-spacing:.1em}.shop .collection{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.shop .product{padding:28px 24px;background:#f0f3ff;border-top:3px solid #2049c5;display:flex;flex-direction:column;min-height:290px}.shop .product:nth-child(2){background:#faf0da}.shop .product:nth-child(3){background:#f0efe9}.shop .product .num{font:42px Georgia,serif}.shop .product h3{font-size:25px;font-weight:700;margin:20px 0 12px}.shop .product p{font-size:14px;color:#46536c}.shop .product .price{margin-top:auto;padding-top:24px;font-size:15px;font-weight:700}.shop .about-strip{background:#2049c5;color:#fff;padding:70px 0}.shop .about-strip h2{font-size:38px;line-height:1.7}.shop .visit-title{font:bold clamp(60px,8vw,110px)/1.2 Arial,sans-serif;letter-spacing:-.05em;margin-bottom:35px}.shop .site-footer{border-top:2px solid #2049c5}
/* Gallery */
.gallery{background:#080c13;color:#e8edf5;--accent:#4fc3ff}.gallery a{color:inherit}.gallery .gallery-head{padding:80px 0 55px}.gallery h1{font-size:clamp(36px,5vw,62px);line-height:1.45;letter-spacing:.03em;margin:22px 0}.gallery .gallery-head p{max-width:650px;color:#aeb8c7}.gallery .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.gallery .gallery-card{display:block;border:1px solid #a0b4d233;text-decoration:none;background:#111722;overflow:hidden}.gallery .gallery-card img{height:270px;transition:transform .4s}.gallery .gallery-card:hover img{transform:scale(1.025)}.gallery .gallery-card .card-copy{padding:28px}.gallery .gallery-card h2{font-size:24px;margin:18px 0 14px}.gallery .gallery-card p{font-size:14px;color:#aeb8c7}.gallery .gallery-card .go{display:block;margin-top:28px;color:#6bcaff;font-size:14px}.gallery .consult{padding:60px 0 85px}.gallery .consult h2{font-size:26px;margin-bottom:16px}.gallery .consult p{color:#aeb8c7;margin-bottom:25px}.gallery .button{color:#6bcaff}.gallery .site-header .brand{font-size:22px}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.site-header{min-height:85px}.site-nav{gap:16px}.restaurant .hero{grid-template-columns:42% 58%;min-height:540px}.restaurant .hero-copy{padding:35px 25px}.restaurant .hero-photo{height:540px}.restaurant .hero h1{font-size:35px}.split,.restaurant .intro{gap:40px}.salon .hero{margin:0 20px;min-height:550px}.salon .hero img{height:550px}.salon .hero-copy{padding:40px 28px}.salon .hero h1{font-size:105px}.salon .service-grid{gap:24px}.shop .hero{gap:25px}.shop .hero-photo{height:500px}.shop .hero h1{font-size:44px}.gallery .gallery-grid{gap:16px}.gallery .gallery-card .card-copy{padding:20px}.gallery .gallery-card img{height:220px}}
@media(max-width:640px){html{scroll-padding-top:30px}.wrap{width:calc(100% - 36px)}.demo-bar{padding:9px 16px;font-size:12px;align-items:center}.demo-bar span{max-width:220px}.site-header{flex-wrap:wrap;position:relative;padding-block:20px;gap:18px}.brand{font-size:24px}.nav-toggle{display:block}.site-nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0}.site-nav a{padding:13px 0;border-top:1px solid #80808030}.js .site-nav{display:none}.js .site-nav.is-open{display:flex}.section{padding-block:65px}.section-head{align-items:start;flex-direction:column;margin-bottom:30px}.section-head h2{font-size:29px}.split,.restaurant .intro,.restaurant .menu-board{grid-template-columns:1fr;gap:35px}.footer-top{flex-direction:column}.meta-list>div{grid-template-columns:84px 1fr;gap:15px}.news-row{flex-direction:column;gap:8px}.restaurant .hero{display:flex;flex-direction:column;min-height:0}.restaurant .hero-copy{padding:38px 24px}.restaurant .hero h1{font-size:40px;line-height:1.6;margin:20px 0}.restaurant .hero-photo{height:320px}.restaurant .hero-caption{right:16px;bottom:16px;font-size:12px}.restaurant .intro h2{font-size:27px}.restaurant .hours-tag{width:120px;height:120px}.salon .hero{display:flex;flex-direction:column;margin:0 14px}.salon .hero-copy{padding:38px 25px}.salon .hero h1{font-size:110px;margin:25px 0}.salon .hero h2{font-size:23px}.salon .hero img{height:350px}.salon .vertical-note{top:auto;bottom:30px}.salon .concept h2{font-size:27px}.salon .service-grid{grid-template-columns:1fr;gap:8px;margin-top:42px}.salon .service h3{margin:14px 0}.salon .booking{padding:40px 22px}.salon .booking h2{font-size:43px}.shop .hero{grid-template-columns:1fr;padding-top:32px;gap:40px}.shop .hero h1{font-size:44px}.shop .hero-photo{height:380px;border-radius:95px 0 0 0}.shop .photo-label{left:-5px;bottom:18px}.shop .collection{grid-template-columns:1fr;gap:20px}.shop .product{min-height:0}.shop .about-strip h2{font-size:28px}.shop .ticker{font-size:12px;gap:14px}.gallery .gallery-head{padding:45px 0 35px}.gallery .gallery-grid{grid-template-columns:1fr;gap:28px}.gallery .gallery-card img{height:270px}.gallery .consult{padding:50px 0}.gallery .site-header{flex-wrap:nowrap}.gallery .site-header>a:last-child{font-size:12px}.demo-dialog{padding:25px}.button{max-width:100%;text-align:center}.lead{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* 見出しの行送り：短い語だけが次の行に残らないよう調整 */
@media(min-width:901px){
  .restaurant .hero{grid-template-columns:42% 58%}
  .restaurant .hero h1{font-size:clamp(35px,3.2vw,46px)}
  .shop .hero h1{font-size:clamp(40px,3.8vw,55px)}
}
@media(max-width:640px){
  .shop .hero h1{font-size:clamp(28px,8.3vw,34px)}
  .salon .hero h2{font-size:21px}
}
