.hero{background:#f8f6f2;width:100%;margin:0;padding:0;overflow:hidden}.hero-bg{width:100%;display:block}.hero-bg img{width:100%;height:auto;display:block}.section{padding:80px 0}.section-label{letter-spacing:.2em;margin-bottom:10px;font-size:14px}.section-title{margin-bottom:32px;font-size:clamp(28px,3vw,46px);line-height:1.5}.worries{background:#fbf8f4;padding:56px 0 80px}.worries-container{text-align:center;max-width:980px;margin:0 auto}.worries .section-label{letter-spacing:.25em;color:#b7a79a;margin-bottom:14px;font-size:13px}.worries-title{letter-spacing:.08em;margin-bottom:18px;font-size:clamp(32px,3vw,46px);font-weight:400}.worries-title:after{content:"";background:#b7a79a;width:48px;height:1px;margin:28px auto 0;display:block}.worry-grid{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:52px;display:grid}.worry-card{background:#ffffffd1;border:1px solid #b7a79a40;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:36px 28px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 18px 40px #503c2d09}.worry-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px #503c2d0f}.worry-icon{color:#b7a79a;stroke-width:1.4px;width:42px;height:42px;margin-bottom:22px}.worry-card p{letter-spacing:.08em;color:#3f3731;margin:0;font-family:Noto Serif JP,serif;font-size:18px;line-height:1.9}.worries-lead{letter-spacing:.08em;color:#4f4741;margin-top:48px;font-size:18px;line-height:2}.sp-only{display:none}@media (width<=768px){.worries{padding:72px 0 80px}.worries-container{padding:0 24px}.worries-title{font-size:30px;line-height:1.6}.worry-grid{grid-template-columns:1fr;gap:18px;margin-top:42px}.worry-card{border-radius:20px;min-height:160px;padding:30px 22px}.worry-icon{width:38px;height:38px;margin-bottom:18px}.worry-card p{font-size:16px;line-height:1.8}.worries-lead{margin-top:38px;font-size:15px;line-height:2}.sp-only{display:block}}.concept{background:#fff;padding:56px 0 80px}.concept-container{max-width:760px}.concept-body{text-align:left}.concept-body p{margin-bottom:18px;line-height:2}.concept .section-label{letter-spacing:.25em;color:#b7a79a;margin-bottom:28px;font-size:13px}.concept-title{letter-spacing:.08em;color:#4a433e;margin:0;font-family:Noto Serif JP,serif;font-size:52px;font-weight:300;line-height:1.7}.concept-body{margin-top:70px}.concept-body p{letter-spacing:.08em;color:#5c534c;margin:0 0 32px;font-size:18px;line-height:2.3}.concept-body p:last-child{margin-bottom:0}@media (width<=768px){.concept{padding:60px 0}.concept-container{padding:0 28px}.concept-title{font-size:34px;line-height:1.8}.concept-body{margin-top:48px}.concept-body p{margin-bottom:24px;font-size:16px;line-height:2.1}}.menu{background:#f8f5f1;padding:56px 0 80px}.menu-container{text-align:center;max-width:1120px;margin:0 auto}.menu .section-label{letter-spacing:.25em;color:#b7a79a;margin-bottom:14px;font-size:13px}.menu-title{letter-spacing:.08em;color:#4a433e;margin:0 0 54px;font-family:Noto Serif JP,serif;font-size:clamp(30px,3vw,42px);font-weight:400;line-height:1.6}.menu-grid{text-align:left;grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.menu-card{background:#ffffffe0;border:1px solid #b7a79a3d;overflow:hidden;box-shadow:0 24px 60px #503c2d0d}.menu-image{aspect-ratio:16/9;background:#eee7df;overflow:hidden}.menu-image img{object-fit:cover;width:100%;height:100%;display:block}.menu-content{padding:34px 38px 36px;position:relative}.menu-number{color:#b7a79a73;margin:0;font-family:Cormorant Garamond,serif;font-size:58px;line-height:1;position:absolute;top:28px;left:34px}.menu-en{color:#b7a79a;margin:0 0 4px 88px;font-family:Cormorant Garamond,serif;font-size:22px;font-style:italic}.menu-card h3{letter-spacing:.12em;color:#3f3731;margin:0 0 20px 88px;font-family:Noto Serif JP,serif;font-size:28px;font-weight:400}.menu-text{letter-spacing:.06em;color:#5c534c;margin:0 0 26px;font-size:15px;line-height:2}.menu-points{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;display:grid}.menu-points span{letter-spacing:.04em;color:#5c534c;text-align:center;border:1px solid #b7a79a40;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:8px 10px;font-size:12px;line-height:1.5;display:flex}.menu-link{color:#4a433e;letter-spacing:.14em;border:1px solid #b7a79a80;justify-content:center;align-items:center;gap:18px;width:100%;min-height:48px;font-size:14px;text-decoration:none;display:flex}.menu-link span{font-size:18px;line-height:1}@media (width<=768px){.menu{padding:76px 0 86px}.menu-container{padding:0 24px}.menu-title{margin-bottom:38px;font-size:30px;line-height:1.6}.menu-grid{grid-template-columns:1fr;gap:26px}.menu-card{border-radius:0}.menu-image{aspect-ratio:4/3}.menu-content{padding:30px 24px}.menu-number{font-size:50px;top:28px;left:24px}.menu-en{margin-left:76px;font-size:20px}.menu-card h3{margin-left:76px;font-size:24px;line-height:1.5}.menu-text{font-size:14px;line-height:2}.menu-points{grid-template-columns:1fr;gap:10px}.menu-points span{min-height:44px}}.campaign{background:#fff;padding:88px 0 104px}.campaign-container{text-align:center;max-width:1120px;margin:0 auto}.campaign-heading{margin-bottom:44px}.campaign .section-label{letter-spacing:.25em;color:#b7a79a;margin-bottom:14px;font-size:13px}.campaign-title{letter-spacing:.08em;color:#4a433e;margin:0;font-family:Noto Serif JP,serif;font-size:clamp(30px,3vw,42px);font-weight:400;line-height:1.65}.campaign-layout{grid-template-columns:1.05fr .95fr;align-items:center;gap:42px;display:grid}.campaign-image{border-radius:28px;overflow:hidden;box-shadow:0 24px 60px #503c2d0f}.campaign-image img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.campaign-card{text-align:left;background:#fbf8f4;border:1px solid #b7a79a40;border-radius:28px;padding:42px;box-shadow:0 20px 60px #503c2d0b}.campaign-badge{color:#fff;letter-spacing:.12em;background:#b7a79a;border-radius:999px;margin:0 0 26px;padding:8px 18px;font-size:13px;display:inline-block}.price-before{color:#9b928b;margin-bottom:8px;font-size:15px;text-decoration:line-through;display:block}.price-main{color:#b38d69;margin:0;font-family:Cormorant Garamond,serif;font-size:72px;line-height:1}.campaign-list{grid-template-columns:repeat(2,1fr);gap:14px 22px;margin:34px 0;padding:0;list-style:none;display:grid}.campaign-list li{letter-spacing:.06em;color:#4f4741;padding-left:24px;font-size:15px;line-height:1.8;position:relative}.campaign-list li:before{content:"✓";color:#b7a79a;position:absolute;top:0;left:0}.campaign-button{color:#fff;letter-spacing:.08em;background:#b7a79a;border-radius:999px;justify-content:center;align-items:center;width:100%;min-height:56px;font-size:15px;font-weight:700;text-decoration:none;transition:background .3s,transform .3s;display:inline-flex}.campaign-button:hover{background:#a89586;transform:translateY(-2px)}.campaign-note{color:#9b928b;text-align:center;margin:18px 0 0;font-size:12px;line-height:1.7}@media (width<=768px){.campaign{padding:72px 0 82px}.campaign-container{padding:0 24px}.campaign-heading{margin-bottom:30px}.campaign-title{font-size:30px;line-height:1.6}.campaign-layout{grid-template-columns:1fr;gap:24px}.campaign-image{border-radius:22px}.campaign-image img{aspect-ratio:4/3}.campaign-card{text-align:center;border-radius:22px;padding:36px 24px}.price-main{font-size:58px}.campaign-list{text-align:left;grid-template-columns:1fr;gap:12px;margin:30px 0}.campaign-list li{font-size:15px}}.flow{background:#f8f5f1;padding:92px 0 100px}.flow-container{text-align:center;max-width:1180px;margin:0 auto}.flow .section-label{letter-spacing:.25em;color:#b7a79a;margin-bottom:14px;font-size:13px}.flow-title{letter-spacing:.08em;color:#4a433e;margin:0;font-family:Noto Serif JP,serif;font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.6}.flow-title:before{content:"";background:#b7a79a;width:48px;height:1px;margin:0 auto 24px;display:block}.flow-lead{letter-spacing:.06em;color:#5c534c;margin:28px 0 58px;font-size:16px;line-height:2}.flow-steps{grid-template-columns:repeat(5,1fr);gap:26px;display:grid}.flow-step{text-align:center;position:relative}.flow-step:not(:last-child):after{content:"›";color:#b7a79a;opacity:.75;font-family:serif;font-size:42px;position:absolute;top:122px;right:-20px}.flow-number{color:#5c4b3f;border:1px solid #b7a79aa6;border-radius:50%;place-items:center;width:74px;height:74px;margin:0 auto 34px;font-family:Cormorant Garamond,serif;font-size:30px;display:grid}.flow-icon{color:#9f8d7e;stroke-width:1.3px;background:#ffffffb3;border-radius:50%;width:74px;height:74px;margin-bottom:26px;padding:18px}.flow-step h3{letter-spacing:.08em;color:#3f3731;margin:0 0 20px;font-family:Noto Serif JP,serif;font-size:20px;font-weight:400}.flow-step h3:after{content:"";background:#b7a79a;width:36px;height:1px;margin:16px auto 0;display:block}.flow-step p:not(.flow-number){letter-spacing:.05em;color:#5c534c;margin:0;font-size:14px;line-height:2}.flow-contact{text-align:left;background:#ffffffb8;border:1px solid #b7a79a33;border-radius:24px;grid-template-columns:1fr auto;align-items:center;gap:24px 38px;margin-top:72px;padding:36px 42px;display:grid}.flow-contact p{letter-spacing:.06em;color:#4f4741;grid-row:span 2;margin:0;font-size:16px;line-height:2}.flow-tel{color:#5c4b3f;letter-spacing:.05em;font-family:Cormorant Garamond,serif;font-size:30px;line-height:1;text-decoration:none}.flow-time{color:#8d8076;letter-spacing:.08em;font-size:13px}@media (width<=768px){.flow{padding:72px 0 82px}.flow-container{padding:0 24px}.flow-title{font-size:30px;line-height:1.6}.flow-lead{margin:24px 0 44px;font-size:15px}.flow-steps{grid-template-columns:1fr;gap:34px}.flow-step:not(:last-child):after{content:"";background:#b7a79a8c;width:1px;height:16px;inset:auto auto -24px 50%;transform:translate(-50%)}.flow-number{width:64px;height:64px;margin-bottom:22px;font-size:26px}.flow-icon{width:68px;height:68px;margin-bottom:20px}.flow-step h3{margin-bottom:14px;font-size:19px}.flow-step p:not(.flow-number){font-size:14px}.flow-contact{text-align:center;grid-template-columns:1fr;gap:16px;margin-top:52px;padding:30px 24px}.flow-contact p{grid-row:auto;font-size:15px}.flow-tel{font-size:28px}}.instagram-section{background:#fff;padding:96px 20px}.instagram-inner{grid-template-columns:.9fr 1.1fr;align-items:center;gap:56px;max-width:1120px;margin:0 auto;display:grid}.instagram-content .section-label{letter-spacing:.16em;color:#c9967a;margin:0 0 12px;font-size:13px;font-weight:600}.instagram-content h2{color:#3f332d;margin:0 0 20px;font-size:34px;line-height:1.45}.instagram-lead{color:#7a6a63;margin:0 0 30px;font-size:15px;line-height:1.9}.instagram-button{color:#fff;background:#8d6857;border-radius:999px;align-items:center;gap:10px;padding:15px 30px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.instagram-button:hover{opacity:.9;transform:translateY(-2px)}.instagram-button span{transition:all .3s}.instagram-button:hover span{transform:translate(4px)}.instagram-gallery{grid-template-rows:repeat(2,190px);grid-template-columns:1.2fr 1fr;gap:18px;display:grid}.instagram-card{background:#f5ebe5;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 16px 34px #5a3c2814}.instagram-card.large{grid-row:span 2}.instagram-card img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=768px){.instagram-section{padding:72px 18px}.instagram-inner{grid-template-columns:1fr;gap:36px}.instagram-content h2{font-size:28px}.instagram-lead{font-size:14px}.instagram-button{justify-content:center;width:100%}.instagram-gallery{grid-template-rows:190px 150px;grid-template-columns:1fr 1fr;gap:12px}.instagram-card{border-radius:18px}.instagram-card.large{grid-area:auto/span 2}}.faq-section{background:#fffaf7;padding:90px 20px}.faq-section .section-head{text-align:center;margin-bottom:42px}.faq-list{gap:14px;max-width:860px;margin:0 auto;display:grid}.faq-item{background:#fff;border:1px solid #ead8cf;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #5a3c280f}.faq-item summary{cursor:pointer;color:#4a3a32;padding:22px 58px 22px 26px;font-weight:600;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"Q.";color:#b98266;margin-right:10px;font-family:serif;font-size:18px}.faq-item summary:after{content:"+";color:#b98266;font-size:24px;font-weight:300;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.faq-item[open] summary:after{content:"−"}.faq-item p{color:#6f625c;margin:0;padding:0 26px 24px 58px;font-size:15px;line-height:1.9}.faq-more{text-align:center;margin-top:38px}.outline-button{color:#8d6857;background:#fff;border:1px solid #c9a18f;border-radius:999px;justify-content:center;align-items:center;padding:15px 30px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.outline-button:hover{color:#fff;background:#8d6857;transform:translateY(-2px)}@media (width<=768px){.faq-section{padding:70px 18px}.faq-section .section-head{text-align:left;margin-bottom:30px}.faq-item{border-radius:16px}.faq-item summary{padding:20px 50px 20px 20px;font-size:15px;line-height:1.7}.faq-item p{padding:0 20px 22px;font-size:14px}.faq-more{margin-top:30px}.outline-button{width:100%;padding:15px 20px}}.access-section{background:#fdf7f4;padding:96px 20px}.access-inner{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1120px;margin:0 auto;display:grid}.access-content .section-label{letter-spacing:.16em;color:#c9967a;margin-bottom:12px;font-size:13px;font-weight:600;display:inline-block}.access-content h2{color:#3f332d;margin:0 0 22px;font-size:34px;line-height:1.45}.access-lead{color:#756760;margin:0 0 34px;font-size:15px;line-height:1.9}.access-info{gap:14px;margin-bottom:38px;display:grid}.access-item{background:#fff;border:1px solid #f1dfd6;border-radius:18px;align-items:center;gap:14px;padding:18px 20px;display:flex}.access-icon{flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:inline-flex}.access-item p{color:#5f534d;margin:0;font-size:15px;line-height:1.7}.access-button{color:#fff;background:#8d6857;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:16px 32px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.access-button:hover{opacity:.9;transform:translateY(-2px)}.access-button span{transition:all .3s}.access-button:hover span{transform:translate(4px)}.access-image img{object-fit:cover;border-radius:24px;width:100%;display:block;box-shadow:0 18px 40px #5a3c2814}@media (width<=768px){.access-section{padding:72px 18px}.access-inner{grid-template-columns:1fr;gap:34px}.access-content{order:1}.access-image{order:2}.access-content h2{font-size:28px}.access-lead{font-size:14px}.access-item{border-radius:16px;align-items:center;gap:12px;padding:16px}.access-icon{flex-basis:30px;width:30px;height:30px;font-size:20px}.access-item p{font-size:14px}.access-button{width:100%;padding:15px 20px}.access-image img{border-radius:20px}}.final-cta-section{background:linear-gradient(#fffaf7e0,#fffaf7e0),url(/images/cta/cta-bg.jpg) 50%/cover no-repeat;padding:100px 20px}.final-cta-inner{text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffdb;border:1px solid #e0c4b7b3;border-radius:30px;max-width:860px;margin:0 auto;padding:64px 40px;box-shadow:0 22px 50px #5a3c2814}.final-cta-inner .section-label{letter-spacing:.16em;color:#c9967a;margin-bottom:14px;font-size:13px;font-weight:600;display:inline-block}.final-cta-inner h2{color:#3f332d;margin:0 0 22px;font-size:36px;line-height:1.5}.final-cta-lead{color:#756760;margin:0 0 36px;font-size:15px;line-height:1.9}.final-cta-buttons{justify-content:center;gap:16px;margin-bottom:26px;display:flex}.final-cta-button{border-radius:999px;justify-content:center;align-items:center;gap:10px;min-width:220px;padding:17px 28px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}.final-cta-button.line{color:#fff;background:#8d6857}.final-cta-button.tel{color:#8d6857;background:#fff;border:1px solid #c9a18f}.final-cta-button:hover{transform:translateY(-2px)}.final-cta-button span{transition:all .3s}.final-cta-button:hover span{transform:translate(4px)}.final-cta-note{color:#8a7a73;margin:0;font-size:13px;line-height:1.8}@media (width<=768px){.final-cta-section{padding:72px 18px}.final-cta-inner{border-radius:24px;padding:44px 22px}.final-cta-inner h2{font-size:28px}.final-cta-lead{font-size:14px}.final-cta-buttons{flex-direction:column;gap:12px}.final-cta-button{width:100%;min-width:auto;padding:16px 20px}.final-cta-note{font-size:12px}}
