@font-face{font-family:"Source Han Serif JP";src:url("fonts/SourceHanSerifJP-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Pinyon Script";src:url("fonts/PinyonScript-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--ink:#413c37;--muted:#69625b;--gold:#917448;--gold-dark:#765c35;--line:#ded6ca;--cream:#f6f3ee;--white:#fff;--serif:"Source Han Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--script:"Pinyon Script","Segoe Script",cursive}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font:16px/1.95 var(--sans);overflow-wrap:anywhere}img{max-width:100%;height:auto;display:block}p{margin:0 0 1.35em}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:.025em;margin:0 0 22px;line-height:1.7}h1{font-size:32px;line-height:1.6}h2{font-size:27px}h3{font-size:20px}a{color:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.narrow{max-width:790px}.header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.header img{width:126px}.header p{font-size:11px;line-height:1.7;margin:0}.eyebrow{font-size:11px;letter-spacing:.19em;color:var(--gold-dark);margin-bottom:18px}.section{padding-block:70px}.hero{position:relative;background:#f7f3ec;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-2}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:65% 65%}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf7f0fa 0%,#faf7f0ef 48%,#faf7f090 100%)}.hero-content{padding-block:28px 30px}.hero .eyebrow{margin-bottom:8px}.hero-label{font-size:13px;margin-bottom:15px;letter-spacing:.04em}.hero h1{margin-bottom:18px}.hero-lead{font-size:15px;margin-bottom:18px}.proof{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:#544a3d;max-width:490px}.proof span{border-bottom:1px solid #af9b7a;padding-bottom:3px}.hero-price{display:flex;align-items:center;gap:20px;max-width:400px;margin:18px 0 13px}.hero-price>span{font-size:14px}.hero-price strong{font:38px/1.2 Georgia,serif;color:var(--gold-dark)}strong small{font:15px var(--sans);margin-left:4px}.button{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--gold-dark);border:1px solid var(--gold-dark);color:white;min-height:58px;padding:13px 19px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.7;max-width:410px;width:100%}.button span{font-size:21px}.button:hover{background:#5e482b}.button:focus-visible,summary:focus-visible{outline:3px solid #416c6b;outline-offset:4px}.hero-note{font-size:11px;line-height:1.7;margin:12px 0 0;color:#61584d}.concerns h2{text-align:center}.concerns>.eyebrow{text-align:center}.concern-list{padding:0;list-style:none;max-width:830px;margin:30px auto 40px;display:grid;gap:0 30px}.concern-list li{padding:15px 0 15px 25px;border-bottom:1px solid var(--line);position:relative}.concern-list li:before{content:"✓";position:absolute;left:0;color:var(--gold)}.statement{max-width:700px;margin:auto;text-align:center}.statement h3{font-size:24px}.statement p{margin:0;text-align:left}.methods{background:var(--cream)}.method-grid{display:grid;gap:25px;margin-top:40px}.method{background:#fff;border:1px solid var(--line);padding:30px 24px;position:relative}.number{font:italic 35px Georgia,serif;color:#b5a48a}.method h3{margin:12px 0;font-size:22px}.method-catch{color:var(--gold-dark);font-family:var(--serif);font-size:18px}.method ul{padding-left:1.2em;font-size:15px}.note{font-size:13px;line-height:1.8;color:var(--muted)}.featured{border:2px solid var(--gold);margin-top:10px}.tag{background:var(--gold-dark);color:#fff;letter-spacing:.07em;padding:6px 15px;font-size:12px;width:fit-content;margin:-31px 0 20px}.featured .tag{margin-top:-42px}.comparison{margin-top:35px;overflow-x:auto;border:1px solid var(--line)}table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px;min-width:330px;background:#fff}caption{text-align:left;padding:16px;background:#ece5da;font-size:16px}th,td{padding:13px 8px;text-align:left;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top}thead th{background:#f1eee8;font-weight:600}th:last-child,td:last-child{background:#f6f0e4;border-right:0}tbody th{font-weight:500}tr:last-child>*{border-bottom:0}.reason-layout{display:grid;gap:32px;margin-top:35px}.reason-photo img{width:100%;max-height:420px;object-fit:cover;object-position:50% 65%}.reason-list{list-style:none;counter-reset:reason;padding:0;margin:0}.reason-list li{counter-increment:reason;position:relative;padding:0 0 22px 38px;margin-bottom:22px;border-bottom:1px solid var(--line)}.reason-list li:before{content:"0" counter(reason);position:absolute;left:0;top:0;color:var(--gold);font:italic 23px/1.7 Georgia,serif}.reason-list h3{font-size:19px;margin-bottom:8px}.reason-list p{font-size:15px;margin:0}.pricing{background:var(--cream)}.intro{margin:22px 0 30px}.price-grid{display:grid;gap:28px;margin-top:38px}.price-card{background:#fff;border:1px solid var(--line);padding:30px 24px;display:flex;flex-direction:column}.price-type{color:var(--gold);font-size:11px;letter-spacing:.2em;margin-bottom:15px}.price-card h3{font-size:21px;margin-bottom:14px}.price-card>p:not(.price-type):not(.price){font-size:14px}.regular{margin-top:auto;padding-top:20px;margin-bottom:7px;color:var(--muted)}.price{margin-bottom:24px}.price>span{font-size:13px;display:block}.price strong{font:42px/1.5 Georgia,serif;color:var(--gold-dark)}.price-card .button{margin-top:auto}.main-price{border:2px solid var(--gold);background:#fffdf8;order:-1;box-shadow:0 12px 30px #6554380b}.main-price .tag{margin:-44px 0 22px}.pending-price{font-size:19px;font-family:var(--serif);margin-top:auto;padding-top:20px}.price-note{margin:25px 0 0}.flow{list-style:none;padding:0;margin:35px 0 0;display:grid;gap:28px}.flow li{border-top:1px solid var(--line);padding-top:20px}.flow span{font-size:12px;color:var(--gold);letter-spacing:.1em}.flow h3{margin:10px 0}.flow p{font-size:15px;margin:0}.faq-section{background:#fbfaf7}.preparation{border-left:3px solid var(--gold);background:#f1ece3;padding:20px;margin-bottom:30px}.preparation h3{font-size:18px;margin-bottom:10px}.preparation p{font-size:15px;margin:0}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:16px;padding:21px 30px 21px 26px;position:relative}summary::-webkit-details-marker{display:none}summary:before{content:"Q";position:absolute;left:0;color:var(--gold);font-family:Georgia,serif}summary:after{content:"＋";position:absolute;right:0;color:var(--gold)}details[open] summary:after{content:"−"}details>p{padding:0 15px 22px 26px;font-size:15px;margin:0}.closing{text-align:center;background:#eee7dc}.closing h2{font-size:30px}.closing p:not(.eyebrow){max-width:620px;margin:0 auto 22px}.closing-buttons{display:grid;gap:12px;max-width:410px;margin:30px auto 0}.secondary{background:transparent;color:var(--gold-dark)}.secondary:hover{background:#e6ddce}.access{display:grid;gap:30px}.access h2{margin-bottom:20px}.access p,address{font-style:normal;font-size:15px}.access img{width:100%;max-height:320px;object-fit:cover;object-position:center 65%}.footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-block:22px}.footer img{width:110px}.footer small{font-size:11px;color:var(--muted)}.mobile-reserve{position:fixed;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);z-index:5}.mobile-reserve .button{margin:auto;max-width:600px;min-height:52px}body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
@media(min-width:760px){body{padding-bottom:0}.wrap{width:min(1120px,calc(100% - 80px))}.header{min-height:100px}.header img{width:165px}.header p{font-size:12px}.hero-content{padding-block:60px}.hero-photo{left:48%}.hero:after{background:linear-gradient(90deg,#f8f4ec 0%,#f8f4ec 37%,#f8f4ecb0 57%,transparent 80%)}h1{font-size:48px}.hero-lead{font-size:17px}.hero-note{font-size:12px}.hero-content>*{max-width:540px}.hero-price{margin-top:25px}.section{padding-block:100px}h2{font-size:36px}.mobile{display:none}.concern-list{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:repeat(3,1fr);gap:20px}.method{padding:30px 22px}.method h3{font-size:21px}.featured{margin:0}.method .tag{font-size:11px}.comparison{margin-top:45px}table{font-size:15px}th,td{padding:18px}.reason-layout{grid-template-columns:.9fr 1.1fr;gap:55px}.reason-photo img{height:100%;max-height:820px}.price-grid{grid-template-columns:repeat(3,1fr);gap:20px}.main-price{order:0;transform:translateY(-6px)}.price-card{padding:30px 22px}.flow{grid-template-columns:repeat(4,1fr);gap:24px}.closing h2{font-size:40px}.access{grid-template-columns:1fr 1fr;gap:60px}.access img{height:350px;max-height:none}.mobile-reserve{display:none}}
@media(max-width:359px){h1{font-size:28px}h2{font-size:24px}.header p{font-size:10px}.header img{width:110px}.proof{gap:6px;font-size:11px}.hero-content{padding-top:20px}.hero-lead{font-size:14px}.button{font-size:14px}.hero-price strong{font-size:35px}.wrap{width:calc(100% - 32px)}}
/* 追加素材：店内・施術動画・衛生管理 */
figure{margin:0}figcaption{font-size:13px;line-height:1.8;color:var(--muted);padding-top:12px}.method-image{width:100%;aspect-ratio:16/9;object-fit:cover;margin:18px 0 22px}.treatment-movie{display:grid;gap:22px;margin-top:45px;background:#fff;border:1px solid var(--line);padding:24px}.treatment-movie h3{font-size:23px}.treatment-movie figure{width:min(100%,360px);margin-inline:auto}.treatment-movie video{display:block;width:100%;aspect-ratio:9/16;background:#302d29;object-fit:contain}.salon-gallery{display:grid;gap:25px;margin-top:45px}.salon-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.hygiene{display:grid;gap:25px;margin-top:40px;padding-top:40px;border-top:1px solid var(--line)}.hygiene>img{width:100%;aspect-ratio:4/3;object-fit:cover}.hygiene h3{font-size:23px}.hygiene p:last-child{margin-bottom:0}
@media(min-width:760px){.treatment-movie{grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center;padding:35px}.salon-gallery{grid-template-columns:1fr 1fr;gap:28px}.hygiene{grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.hygiene>img{max-height:310px}}

.price-card .coupon-image{display:block;width:100%;height:220px;object-fit:contain;background:#f8f5f0;margin:0 0 22px}@media(min-width:760px){.price-card .coupon-image{height:210px}}
/* 内容の理解が必要な箇所はゴシック体、主見出しは明朝体、筆記体は装飾に限定 */
.eyebrow,.price-type,.flow>li>span,.footer small{font-family:var(--sans);font-weight:600;letter-spacing:.09em;font-size:12px;line-height:1.8}
.price-card>p.price-type{font-size:12px}
.hero .eyebrow,.concerns>.eyebrow,.closing .eyebrow{font-family:var(--script);font-size:27px;font-weight:400;letter-spacing:.025em;line-height:1.5}
.button,.method h3,.price-card h3,.reason-list h3,.flow h3,.preparation h3,summary,table,address{font-family:var(--sans)}
.hero-price strong,.price strong{font-family:Arial,var(--sans);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.footer small{font-weight:400;font-size:11px}

/* ベージュの追従ヘッダー：ロゴを画面中央に配置 */
.header{position:sticky;top:0;z-index:30;display:block;min-height:0;background:#eee5d7;border-bottom:1px solid #d8ccb9;box-shadow:0 3px 12px #46372308}
.header-inner{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:78px;gap:12px}
.header .header-logo{grid-column:2;display:block;padding:5px 0;line-height:0}
.header .header-logo img{width:128px;height:auto}
.header .header-info{position:absolute;left:0;display:none;margin:0;color:#63584a;font-size:12px;line-height:1.8}
.header-logo:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}
[id]{scroll-margin-top:100px}
@media(min-width:760px){.header-inner{min-height:96px}.header .header-logo img{width:160px}.header .header-info{display:block}}
/* お悩みチェックと脱毛方法の選択。選択は端末内のみで、送信しません。 */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.concern-fields,.interest-options{border:0;margin:0;padding:0;min-width:0}.check-instruction{text-align:center;font-size:14px;color:var(--muted)}.concern-list li{padding:0}.concern-list li:before{content:none}.concern-list label{display:flex;align-items:center;gap:14px;cursor:pointer;padding:17px 4px;min-height:56px}.concern-list input,.interest-options input{width:21px;height:21px;flex:0 0 21px;accent-color:var(--gold-dark);cursor:pointer}.concern-list label:focus-within,.interest-options label:focus-within{outline:2px solid var(--gold-dark);outline-offset:4px}.concern-reset{font:14px/1.7 var(--sans);color:var(--gold-dark);background:transparent;border:1px solid var(--gold);padding:12px 20px;cursor:pointer;margin-top:25px;min-height:48px}.concern-reset:focus-visible{outline:3px solid #416c6b;outline-offset:4px}.interest-options{display:grid;gap:12px;margin-top:30px}.interest-options label{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--line);background:#fff;cursor:pointer;min-height:62px}.interest-options label:has(input:checked){border-color:var(--gold-dark);background:#eee6d8}.interest-hint{font-size:14px;color:var(--muted);margin-top:18px}
@supports selector(:has(*)){
.concern-form .statement{display:none}.concern-form:has(#concern-result:target) .concern-screen{display:none}.concern-form #concern-result:target{display:block}
.methods .method-grid{display:none}.methods:has(.interest-options input:checked) .method-grid{display:grid;grid-template-columns:1fr;max-width:700px;margin-inline:auto}.methods:has(.interest-options input:checked) .interest-hint{display:none}
.methods .method-grid .method{display:none}.methods:has(#interest-wax:checked) #card-wax,.methods:has(#interest-light:checked) #card-light,.methods:has(#interest-both:checked) .method-grid .method{display:block}
@media(min-width:760px){.methods:has(#interest-both:checked) .method-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.methods:has(#interest-both:checked) #card-double{grid-column:1/-1;max-width:700px;width:100%;justify-self:center}}
}
@media(min-width:760px){.interest-options{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 「次へ」は常時表示。同じページ内で結果画面に切り替えます。 */
.concern-next{display:block;max-width:350px;margin:28px auto 0}

.concern-reset{display:inline-block;text-decoration:none}
#concern-result{scroll-margin-top:125px}

/* 「次へ」で興味の選択を表示し、その位置へなめらかに移動 */
html{scroll-behavior:smooth}
#interest-step{display:none;scroll-margin-top:110px}
#interest-step:target{display:block}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 選択後は3種類すべてを横に送って比較できるカルーセル */
.carousel-guide{display:none;font-size:13px;color:var(--muted);margin:28px 0 10px}.carousel-guide span{white-space:nowrap;color:var(--gold-dark)}
.methods:has(.interest-options input:checked) .carousel-guide{display:block}
.methods:has(.interest-options input:checked) .method-grid{display:flex;max-width:none;width:100%;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;align-items:stretch;margin:0;padding:20px 4px 22px;scroll-padding-inline:4px;scrollbar-color:var(--gold) #e6dfd5;scrollbar-width:thin}
.methods:has(.interest-options input:checked) .method-grid .method{display:block;flex:0 0 88%;min-width:0;max-width:none;margin:0;scroll-snap-align:start;scroll-snap-stop:always;order:1}
.methods:has(#interest-wax:checked) #card-wax,.methods:has(#interest-light:checked) #card-light,.methods:has(#interest-both:checked) #card-double{order:0}
.method-grid:focus-visible{outline:2px solid var(--gold-dark);outline-offset:5px}
@media(min-width:760px){.methods:has(.interest-options input:checked) .method-grid .method{flex-basis:43%}}
@media(prefers-reduced-motion:reduce){.methods:has(.interest-options input:checked) .method-grid{scroll-behavior:auto}}

/* 光脱毛カード内の縦動画 */
.method-video{display:block;width:min(100%,230px);height:auto;aspect-ratio:9/16;object-fit:contain;background:#302d29;margin:18px auto 22px}

/* 実績と信頼の説明を開閉 */
.reason-accordion{border-top:1px solid var(--line)}
.reason-item summary{display:flex;align-items:baseline;gap:14px;padding:22px 30px 22px 0;font-size:17px;line-height:1.8;font-weight:600}
.reason-item summary:before{content:none}
.reason-index{flex:0 0 25px;color:var(--gold);font:italic 22px/1.6 Georgia,serif}
.reason-item>p{padding:0 12px 24px 39px;font-size:15px;line-height:1.95}
.reason-item[open] summary{color:var(--gold-dark)}

/* 完全個室の説明内に設置する写真スライダー */
.reason-item{min-width:0}.reason-accordion{min-width:0}.room-gallery{padding:0 0 24px 39px;min-width:0}.room-gallery .room-guide{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 14px}
.room-slider{display:flex;width:100%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) #e6dfd5;padding-bottom:12px;overscroll-behavior-x:contain}
.room-slider figure{flex:0 0 90%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.room-slider img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}.room-slider figcaption{font-size:12px;text-align:right;padding-top:7px;letter-spacing:.12em}.room-slider:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}
@media(max-width:759px){.room-gallery{padding-left:0}}
/* 料金メニューのカルーセル */
.price-carousel-guide{font-size:13px;color:var(--muted);margin:28px 0 10px}
.pricing .price-grid{display:flex;width:100%;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) #e6dfd5;overscroll-behavior-x:contain;align-items:stretch;margin-top:0;padding:20px 4px 25px;scroll-padding-inline:4px}
.pricing .price-grid .price-card{flex:0 0 88%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.pricing .price-grid .main-price{order:-1;transform:none}
.price-grid:focus-visible{outline:2px solid var(--gold-dark);outline-offset:4px}
@media(min-width:760px){.pricing .price-grid .price-card{flex-basis:43%}}

.hygiene-accordion-image{padding:0 0 25px 39px}.hygiene-accordion-image img{width:100%;max-width:440px;aspect-ratio:4/3;object-fit:cover}
@media(max-width:759px){.hygiene-accordion-image{padding-left:0}}
.hygiene-practices{margin:0 0 24px 39px;padding-left:1.2em;font-size:15px;line-height:1.95}.hygiene-practices li{margin-bottom:10px}

/* 来店フローのシンプルな線画アイコン */
.flow-icon{display:block;width:52px;height:52px;color:var(--gold-dark);margin-bottom:16px}
@media(max-width:759px){.flow li{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:20px;align-items:start}.flow-icon{grid-column:1;grid-row:1/4;margin:4px 0 0}.flow li>span,.flow li>h3,.flow li>p{grid-column:2}.flow li>h3{margin:5px 0 8px}}
