/* Homepage-only editorial layout. Subpage styles and routes are unchanged. */
.home-lp { --paper:#f4f1e9; --charcoal:#303a35; --rule:#c9c5b9; color:#303630; font-size:17px; line-height:1.95; }
.home-lp #container { max-width:none; }
.home-lp header { max-width:1180px; margin:auto; padding:14px 32px; border-bottom:1px solid var(--rule); }
.home-lp #main { padding:0; }
.home-lp h1,.home-lp h2,.home-lp h3 { font-weight:500; text-align:left; }
.home-lp h2 { font-size:36px; line-height:1.65; letter-spacing:.05em; }
.home-lp h3 { font-size:23px; line-height:1.7; }
.home-lp p + p { margin-top:20px; }
.home-lp a { color:inherit; }
.home-lp a:hover { text-decoration-thickness:2px; }
.home-lp .lp-kicker { font-size:14px; font-family:"Yu Gothic",Meiryo,sans-serif; letter-spacing:.12em; color:#70613e; margin-bottom:14px; }
.home-lp .lp-small { font-size:14px; color:#585e55; line-height:1.8; margin-top:16px; }
.home-lp .lp-section { max-width:1120px; padding:88px 40px; margin:auto; scroll-margin-top:24px; }
.home-lp .lp-hero { padding-top:48px; background:var(--paper); }
.lp-hero-inner { max-width:1120px; padding:0 40px 44px; margin:auto; position:relative; }
.home-lp .lp-hero h1 { padding:0; margin:20px 0; background:none; color:var(--charcoal); font-size:clamp(34px,4vw,56px); line-height:1.6; letter-spacing:.05em; }
.lp-hero h1 span { display:inline-block; }
.home-lp .lp-edition { position:absolute; right:40px; top:0; writing-mode:vertical-rl; font-size:14px; letter-spacing:.25em; border-left:1px solid #a69a7c; padding-left:15px; margin:0; }
.lp-lead { font-size:18px; }
.lp-actions { display:flex; gap:16px; margin:28px 0 0; max-width:670px; }
.home-lp .lp-button { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; padding:14px 22px; text-decoration:none; line-height:1.6; font-size:17px; border:1px solid var(--charcoal); }
.lp-actions .lp-button { flex:1; }
.home-lp .lp-line { background:var(--charcoal); color:#fff; }
.home-lp .lp-reserve { color:#702c24; border-color:#8b4c43; background:transparent; }
.home-lp .lp-button:hover { box-shadow:inset 0 0 0 1px currentColor; }
.lp-hero-photo { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); max-width:1120px; margin:auto; border-top:1px solid var(--rule); }
.lp-hero-photo img { width:100%; height:190px; object-fit:cover; }
.lp-hero-photo p { align-self:center; padding:24px 32px; font-size:15px; }
.home-lp .lp-link { display:inline-block; padding:12px 0; font-size:16px; text-underline-offset:7px; }
.lp-index { max-width:1120px; margin:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 24px; padding:20px 40px; border-bottom:1px solid var(--rule); font-size:15px; }
.lp-index span { font-size:13px; color:#686756; }
.lp-index a { padding:10px 0; }
.lp-heading { display:flex; gap:28px; align-items:flex-start; margin-bottom:40px; }
.lp-number { font-size:18px; color:#837248; border-top:1px solid #94815a; padding-top:10px; min-width:42px; letter-spacing:.1em; }
.lp-question-list { margin-left:70px; border-top:1px solid var(--rule); }
.lp-question-list a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 0; border-bottom:1px solid var(--rule); text-decoration:none; }
.lp-question-list span { font-size:22px; }
.lp-question-list small { color:#75613b; font-size:14px; }
.lp-aside { margin:26px 0 0 70px; font-size:16px; }
.lp-philosophy { background:var(--charcoal); color:#f6f3e9; }
.home-lp .lp-philosophy .lp-kicker,.lp-philosophy .lp-number { color:#d4c296; }
.lp-intro { max-width:780px; margin:0 0 40px 70px; }
.lp-intro p+p { margin-top:22px; }
.home-lp #idea { text-align:left; }
.lp-ideal { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:52px; padding:42px 0; border-top:1px solid #66716a; }
.lp-ideal:nth-child(even) .lp-ideal-copy { order:2; }
.home-lp #idea h3 { font-size:30px; margin:0 0 18px; }
.home-lp #idea p { margin:0 0 18px; }
.home-lp #idea .lp-original { border-left:2px solid #c0ac7b; padding-left:16px; font-size:14px; color:#deded0; margin:24px 0 0; }
.lp-ideal img { width:100%; }
.home-lp .lp-details { margin-top:28px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.lp-details summary { padding:18px 4px; cursor:pointer; font-size:16px; }
.lp-details .contentArea { padding:20px 4px; margin:0; }
.home-lp .lp-details h2.type1 { font-size:21px; text-align:left; color:inherit; }
.lp-details p { font-size:16px; }
.lp-dialogue { border-top:1px solid var(--rule); }
.lp-dialogue>div { display:grid; grid-template-columns:1fr 1.5fr; gap:42px; border-bottom:1px solid var(--rule); padding:28px 0; }
.lp-dialogue dt { color:#78613e; font-size:20px; }
.lp-dialogue h3 { margin-bottom:10px; }
.lp-sensation { background:var(--paper); }
.lp-two-column { display:grid; grid-template-columns:1fr 1.2fr; gap:70px; }
.lp-two-column h2 { margin-bottom:24px; }
.lp-two-column .lp-button { margin-top:28px; }
.lp-intensity { margin-top:26px; }
.lp-intensity>div { border-top:1px solid var(--rule); padding:16px 0; }
.lp-intensity dt { font-size:23px; color:#76603a; }
.lp-intensity dt span { font-size:16px; margin-left:16px; }
.lp-intensity dd { font-size:16px; }
.lp-symptoms { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--rule); }
.lp-symptoms>a { padding:30px 26px 30px 0; border-bottom:1px solid var(--rule); text-decoration:none; }
.lp-symptoms>a:nth-child(even) { padding-left:30px; border-left:1px solid var(--rule); }
.lp-symptoms p { margin:12px 0; font-size:16px; }
.lp-link-label { text-decoration:underline; text-underline-offset:5px; font-size:14px; color:#75613b; }
.lp-consult-strip { margin-top:32px; padding:28px; background:var(--paper); display:grid; grid-template-columns:1.2fr 1fr; gap:32px; align-items:center; font-size:16px; }
.lp-consult-strip strong { font-weight:500; }
.lp-staff { background:#eeeae1; }
.lp-profile { display:grid; grid-template-columns:1fr 1.15fr; gap:52px; align-items:center; }
.lp-profile img { width:100%; }
.lp-profile figcaption { font-size:15px; margin-top:14px; }
.lp-profile blockquote { margin:0 0 24px; font-size:28px; line-height:1.8; }
.lp-credentials { display:grid; grid-template-columns:240px 1fr; gap:40px; margin-top:50px; padding-top:40px; border-top:1px solid var(--rule); }
.lp-credentials img { width:100%; }
.lp-credentials h3 { margin-bottom:18px; }
.home-lp #feature { margin:0; }
.home-lp #feature h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.home-lp #feature p { text-align:left; margin-bottom:20px; font-size:16px; }
.lp-price { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:32px; background:var(--paper); border-top:3px solid #90804f; padding:30px; }
.lp-price strong { display:inline-block; font-size:38px; font-weight:500; margin-left:12px; }
.lp-price strong span { font-size:20px; }
.lp-before { margin:38px 0 20px; border-left:3px solid #90804f; padding:0 24px; }
.lp-before>span { font-size:14px; color:#76603a; }
.lp-before p { margin:8px 0 0; }
.lp-flow { list-style:none; counter-reset:visit; padding:0; margin:30px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.lp-flow li { counter-increment:visit; position:relative; padding:26px 0 26px 42px; border-top:1px solid var(--rule); }
.lp-flow li::before { content:counter(visit,decimal-leading-zero); position:absolute; left:0; top:28px; font-size:16px; color:#837248; }
.lp-flow h3 { font-size:21px; margin-bottom:12px; }
.lp-flow p { font-size:16px; }
.lp-visit { background:var(--paper); }
.lp-video { max-width:850px; margin:auto; }
.lp-access { display:grid; grid-template-columns:240px 1fr; gap:48px; align-items:center; margin-top:50px; }
.lp-access img { width:100%; max-height:320px; object-fit:contain; }
.lp-access h3 { margin-bottom:22px; }
.lp-final>h2 { font-size:42px; margin:16px 0; }
.lp-final-options { display:grid; grid-template-columns:1fr 1fr; margin-top:36px; border-top:1px solid var(--rule); }
.lp-final-options>div { padding:28px 34px 0 0; }
.lp-final-options>div+div { padding-left:34px; border-left:1px solid var(--rule); }
.lp-final-options img { width:32px; height:32px; margin-bottom:14px; }
.lp-final-options p { margin:18px 0; }
.lp-final-options .lp-button { margin-top:22px; }
.home-lp .lp-news { border-top:1px solid var(--rule); padding-top:50px; }
.lp-news-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:30px; }
.home-lp .lp-news h2.type1 { font-size:21px; text-align:left; }
.home-lp footer { max-width:1120px; padding:30px 40px 0; margin:auto; border-top:1px solid var(--rule); }
.home-lp #footerMenu ul { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.home-lp .fixed-cta { max-width:750px; }
.home-lp .fixed-cta .reserve-cta,.home-lp #footerTop .reservation a,.home-lp #footerTop .facebook a,.home-lp .menuBottom .reservation a,.home-lp .button_more a { color:#fff; }
.home-lp .fixed-cta .line-cta { color:var(--green); }
@media(min-width:1000px) { .home-lp .fixed-cta { display:none; } .home-lp { padding-bottom:0; } }
@media(max-width:700px) {
 .home-lp { font-size:16px; line-height:1.9; }
 .home-lp header { padding:9px 20px; }
 .home-lp .lp-section { padding:54px 22px; }
 .home-lp h2 { font-size:27px; letter-spacing:.015em; }
 .home-lp h3 { font-size:21px; }
 .home-lp .lp-kicker { font-size:12px; letter-spacing:.07em; margin-bottom:10px; }
 .home-lp .lp-hero { padding-top:28px; }
 .lp-hero-inner { padding:0 22px 26px; }
 .home-lp .lp-edition { writing-mode:horizontal-tb; position:static; border:0; padding:0; font-size:12px; letter-spacing:.1em; margin:0 0 14px; }
 .home-lp .lp-hero h1 { font-size:30px; line-height:1.6; letter-spacing:0; margin:14px 0 18px; }
 .lp-lead { font-size:16px; }
 .lp-pc { display:none; }
 .lp-actions { gap:10px; margin-top:22px; }
 .home-lp .lp-actions .lp-button { padding:12px 10px; font-size:15px; gap:4px; min-height:54px; }
 .home-lp .lp-small { font-size:13px; }
 .lp-hero-photo { grid-template-columns:1fr; }
 .lp-hero-photo img { height:auto; aspect-ratio:678 / 260; object-fit:contain; }
 .lp-hero-photo p { padding:16px 22px; font-size:14px; }
 .lp-hero-photo .lp-link { padding:6px 0; font-size:14px; }
 .lp-index { padding:16px 22px; gap:0 20px; justify-content:flex-start; font-size:14px; }
 .lp-index>span { width:100%; }
 .lp-heading { display:block; margin-bottom:28px; }
 .lp-heading .lp-number { display:inline-block; margin-bottom:10px; }
 .lp-number { min-width:28px; font-size:14px; padding-top:5px; }
 .lp-question-list,.lp-intro { margin-left:0; }
 .lp-question-list a { display:block; padding:22px 0; }
 .lp-question-list span { font-size:19px; }
 .lp-question-list small { display:block; margin-top:10px; font-size:13px; }
 .lp-aside { margin-left:0; font-size:15px; }
 .lp-intro { margin-bottom:28px; }
 .lp-ideal { grid-template-columns:1fr; gap:24px; padding:30px 0; }
 .lp-ideal:nth-child(even) .lp-ideal-copy { order:0; }
 .home-lp #idea h3 { font-size:26px; }
 .home-lp #idea .lp-original { font-size:14px; }
 .lp-dialogue>div { grid-template-columns:1fr; gap:12px; padding:24px 0; }
 .lp-dialogue dt { font-size:16px; }
 .lp-two-column { grid-template-columns:1fr; gap:36px; }
 .lp-symptoms { grid-template-columns:1fr; }
 .lp-symptoms>a,.lp-symptoms>a:nth-child(even) { border-left:0; padding:24px 0; }
 .lp-consult-strip { grid-template-columns:1fr; padding:24px 18px; gap:20px; }
 .home-lp .lp-button { font-size:16px; padding:14px 16px; }
 .lp-profile { grid-template-columns:1fr; gap:26px; }
 .lp-profile blockquote { font-size:25px; }
 .lp-credentials { grid-template-columns:1fr; gap:24px; margin-top:32px; padding-top:30px; }
 .lp-credentials>div:first-child { max-width:230px; }
 .lp-price { grid-template-columns:1fr; gap:22px; padding:24px 18px; }
 .lp-price strong { font-size:34px; margin-left:8px; }
 .lp-price h3 { font-size:18px; }
 .lp-flow { grid-template-columns:1fr; }
 .lp-before { padding:0 18px; }
 .lp-access { grid-template-columns:1fr; gap:26px; margin-top:36px; }
 .lp-access figure { max-width:220px; }
 .lp-access h3 { font-size:21px; }
 .lp-final>h2 { font-size:34px; }
 .lp-final-options,.lp-news-grid { grid-template-columns:1fr; gap:24px; }
 .lp-final-options>div,.lp-final-options>div+div { padding:26px 0 0; border-left:0; }
 .lp-final-options>div+div { border-top:1px solid var(--rule); }
 .home-lp footer { padding:26px 22px 0; }
 .home-lp #footerMenu ul { grid-template-columns:1fr; }
 .home-lp .fixed-cta { padding:6px 10px calc(6px + env(safe-area-inset-bottom)); }
}
