@charset "UTF-8";
:root{--green:#244337;--cream:#faf8f1;--ink:#253e34;--line:#ccd2c6;--gold:#e6bd66}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #b87528;outline-offset:6px}.sample{text-align:center;background:var(--green);color:white;padding:7px 16px;font-size:12px;letter-spacing:.08em}header{max-width:1400px;margin:auto;padding:28px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:13px;font-family:"Yu Mincho",serif;font-size:29px;font-weight:600;letter-spacing:.12em}.brand-symbol{font-size:46px;font-weight:400}.brand small{display:block;font-family:sans-serif;font-size:11px;letter-spacing:.16em;font-weight:400}nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-button{border:1px solid var(--green);border-radius:40px;padding:10px 24px}.nav-button span{margin-left:24px}.hero{max-width:1400px;margin:16px auto 0;padding:0 5% 58px;display:grid;grid-template-columns:1fr 1.05fr;gap:3%;align-items:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.2em;margin:0 0 26px}.hero-copy{padding-top:26px}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(32px,3.3vw,49px);line-height:1.65;letter-spacing:.08em;margin:0 0 26px}.intro{line-height:2.1;font-size:16px}.button{display:inline-flex;gap:38px;align-items:center;background:var(--green);color:white;padding:14px 24px;border-radius:40px;margin-top:20px;font-size:14px;transition:background .2s}.button:hover{background:#3b6150}.hero-note{margin-top:51px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#53665b}.hero figure{position:relative;margin:0;height:565px;border-radius:180px 180px 8px 8px;overflow:hidden;background:#d4d8c8}.hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:52% center}.hero figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(18,38,27,.8));padding:60px 30px 25px;color:white;font-size:16px;letter-spacing:.05em}.hero figcaption small{display:block;font-size:11px;opacity:.85;margin-top:7px}.section{padding:80px max(6%,calc((100vw - 1180px)/2));scroll-margin-top:20px}.about{background:#e8ecdf;display:grid;grid-template-columns:1fr 1fr;gap:60px}h2{font-size:clamp(26px,2.4vw,36px);line-height:1.8;letter-spacing:.07em;margin:0}.about-text p{margin:0 0 21px;line-height:2.2}.small{font-size:14px}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:36px}.section-heading>p{font-size:13px;color:#566459}.menu-list{border-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.menu-list article{border:1px solid var(--line);border-radius:10px}article{display:grid;grid-template-columns:65px 1fr auto;gap:26px;align-items:center;padding:32px 8px;border-bottom:1px solid var(--line)}.number{font-family:Georgia,serif;font-size:23px;color:#7f8769}h3{font-size:24px;margin:0 0 9px}article p{font-size:14px;margin:0;color:#526354}.price{font-size:14px;border:1px solid var(--line);border-radius:24px;padding:5px 16px;white-space:nowrap}.info{background:var(--green);color:var(--cream);display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.info>div>p:last-child{font-size:14px;margin-top:25px;color:#d5dfd5}dl{margin:0}dl>div{display:grid;grid-template-columns:155px 1fr;gap:15px;border-bottom:1px solid #526b5e;padding:17px 0}dt{font-size:14px;color:#ccd8c9}dd{margin:0;font-size:15px}dd span,dd small{font-size:12px;color:#ccd8c9}dd small{display:block;margin-top:7px}footer{display:flex;align-items:center;gap:35px;padding:35px 6%}footer p{font-size:12px;flex:1}footer small{font-size:11px}footer>a:last-child{border:1px solid var(--line);border-radius:50%;width:42px;height:42px;text-align:center}a:hover{text-decoration:underline;text-underline-offset:5px}@media(min-width:1500px){.section{padding-left:calc((100vw - 1150px)/2);padding-right:calc((100vw - 1150px)/2)}}@media(max-width:780px){.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}header{padding:18px 6%}.brand{font-size:24px}.brand-symbol{font-size:35px}nav{gap:0}nav>a:not(.nav-button){display:none}.nav-button{padding:7px 14px;font-size:12px}.nav-button span{margin-left:9px}.hero{grid-template-columns:1fr;padding:0 6% 38px;gap:30px;margin-top:0}.hero-copy{padding-top:22px}.eyebrow{margin-bottom:18px}h1{font-size:36px}.hero-note{margin-top:28px}.hero figure{height:420px;border-radius:150px 150px 8px 8px}.section{padding:54px 7%}.about,.info{grid-template-columns:1fr;gap:28px}.section-heading{display:block}.section-heading>p{margin-top:20px}h2{font-size:27px}article{grid-template-columns:30px 1fr;gap:15px;padding:26px 0}h3{font-size:22px}.price{grid-column:2;justify-self:start}dl>div{grid-template-columns:115px 1fr;font-size:14px}footer{flex-wrap:wrap;gap:18px}footer p{flex-basis:60%}footer small{flex:1}.sample{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.photo-pair{display:grid;grid-template-columns:1.3fr 1fr;gap:25px;padding:55px 6% 0;max-width:1400px;margin:auto}.photo-pair figure{margin:0}.photo-pair img{width:100%;height:290px;object-fit:cover;border-radius:5px}.photo-pair figcaption{font-size:14px;margin-top:10px}.price-table{overflow-x:auto;margin-top:45px}table{border-collapse:collapse;width:100%;text-align:left;min-width:460px;font-size:15px}caption{text-align:left;font-family:"Yu Mincho",serif;font-size:22px;margin-bottom:20px}th,td{padding:17px 15px;border-bottom:1px solid var(--line)}thead{background:#e8ecdf}thead th{font-size:14px}tbody th{font-weight:400}.price-note,.sources{font-size:13px;line-height:1.9;margin-top:20px}.sources summary{cursor:pointer;text-decoration:underline;text-underline-offset:5px}.sources a{text-decoration:underline}.hero img{object-position:center 55%}@media(max-width:780px){.photo-pair{gap:16px;padding:35px 7% 0;grid-template-columns:1fr 1fr}.photo-pair img{height:210px}.photo-pair figcaption{font-size:12px}th,td{padding:12px 10px}.hero img{object-position:center 52%}}

.gallery{padding-bottom:25px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.gallery-photo{display:block;overflow:hidden;border-radius:8px;background:#e8ecdf}.gallery-photo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;transition:transform .25s}.gallery-photo:nth-child(2) img,.gallery-photo:nth-child(4) img,.gallery-photo:nth-child(7) img,.gallery-photo:nth-child(8) img,.gallery-photo:nth-child(9) img,.gallery-photo:nth-child(10) img,.gallery-photo:nth-child(11) img{object-fit:contain;object-position:center center}.gallery-photo:hover img{transform:scale(1.06)}.photo-viewer{border:0;border-radius:12px;background:#faf8f1;padding:56px 14px 14px;max-width:94vw;max-height:94vh}.photo-viewer::backdrop{background:rgba(10,22,16,.85)}.photo-viewer>img{display:block;max-width:85vw;max-height:78vh;width:auto;height:auto;object-fit:contain}.photo-close{position:absolute;right:12px;top:10px;background:#244337;color:white;border:0;border-radius:22px;padding:9px 18px;cursor:pointer;font:inherit;font-size:14px}.photo-close:focus-visible{outline:3px solid #d5a550;outline-offset:3px}html:has(.photo-viewer[open]){overflow:hidden}@media(max-width:780px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}header{flex-wrap:wrap}nav{width:100%;justify-content:space-between;gap:12px}nav>a[href="#gallery"]{display:block;font-size:14px}.gallery .section-heading>p{font-size:14px}}
.shower-note{padding:20px 24px;background:#e8ecdf;border-radius:8px;margin:0 0 28px;font-size:16px;line-height:1.9}











@media(max-width:780px){.menu-list{display:flex;flex-wrap:nowrap;gap:8px}.menu-list article{flex:0 0 calc(50% - 4px);min-width:0;display:block;padding:16px 10px}.menu-list article .number{display:block;margin-bottom:6px}.menu-list article h3{font-size:17px;line-height:1.4}.menu-list article .course-label{font-size:11px}.menu-list article .course-includes{font-size:11px;padding-left:16px;line-height:1.5}.menu-list article .price{display:block;margin-top:10px;font-size:12px;padding:4px 8px;width:max-content}}
