@charset "UTF-8";
:root{--ink:#263c32;--muted:#65776a;--main:#31594f;--main-dark:#24463d;--sage:#eaf1e9;--sage-2:#d8e6d8;--cream:#faf8f2;--paper:#fffefb;--orange:#d88b62;--orange-bg:#fff1e5;--border:#e0e7df;--shadow:0 18px 60px rgba(37,72,57,.075);--r:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d88b62;outline-offset:4px}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.48;letter-spacing:.015em}p{margin-bottom:1.2em}.container{width:min(1100px,calc(100% - 48px));margin:auto}.top-strip{background:#e8efe7;color:#476656;text-align:center;font-size:12px;padding:6px 16px;letter-spacing:.04em}.header{position:sticky;top:0;z-index:30;background:rgba(255,254,251,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;gap:26px;justify-content:space-between;min-height:82px}.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}.logo-mark{width:43px;height:43px;display:grid;place-items:center;background:var(--sage);border-radius:15px;color:var(--main)}.logo-mark svg{width:28px;height:28px}.logo strong{display:block;font-size:17px;line-height:1.35;letter-spacing:.03em}.logo small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:2px}.nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:700}.nav a:hover{color:#d27848}.nav .nav-contact{background:var(--main);color:white;border-radius:30px;padding:11px 18px;display:flex;align-items:center;gap:7px}.nav .nav-contact:hover{color:white;background:var(--main-dark)}.mobile-toggle{display:none;background:transparent;border:0;color:var(--main);padding:8px;cursor:pointer}.icon{width:20px;height:20px;display:inline-block;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}.icon-sm{width:17px;height:17px}.icon-lg{width:28px;height:28px}.hero{background:linear-gradient(142deg,#f7f8f0 0%,#f0f6ec 62%,#fff7ed 100%);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;right:-170px;top:-170px;width:440px;height:440px;background:rgba(206,225,203,.3);border-radius:50%}.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:45px;padding:71px 0 65px;position:relative;z-index:1}.eyebrow{font-size:13px;font-weight:800;letter-spacing:.1em;color:#578373;margin-bottom:16px}.eyebrow .dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:9px;vertical-align:2px}.hero h1{font-size:clamp(34px,3.5vw,48px);letter-spacing:.012em;margin-bottom:20px;line-height:1.47;font-weight:800}.emph{box-shadow:inset 0 -.26em 0 #e2eac5}.hero-lead{font-size:16px;color:#536a5d;max-width:520px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{border:1.5px solid transparent;border-radius:100px;padding:12px 23px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;font-size:14px;transition:.15s;min-height:51px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--main);color:white}.btn-primary:hover{background:var(--main-dark)}.btn-outline{border-color:#b4cdb9;background:#fffefa;color:var(--main)}.btn-soft{background:var(--sage);color:var(--main)}.meta-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;color:#5b7163;font-weight:700;font-size:12px}.meta-row span{display:flex;align-items:center;gap:5px}.meta-row .icon{color:#568a6c;width:15px;height:15px}.hero-art{min-height:435px;position:relative;border-radius:36px;background:linear-gradient(145deg,#e2ede0,#cbded4);overflow:hidden;box-shadow:var(--shadow)}.hero-art:after{content:"";position:absolute;width:370px;height:370px;right:-80px;bottom:-160px;border-radius:50%;background:#b7d0c2;opacity:.75}.art-white{position:absolute;z-index:2;left:9%;top:12%;width:74%;height:66%;background:rgba(255,254,248,.92);border-radius:32px;transform:rotate(-4deg);box-shadow:0 16px 45px rgba(65,93,72,.1);display:flex;align-items:center;justify-content:center}.art-phone{position:relative;width:146px;height:235px;border:9px solid var(--main);border-radius:28px;background:linear-gradient(170deg,#fffaf0,#ecf5e8);box-shadow:13px 17px 0 #adc7b7;display:grid;place-items:center}.art-phone:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:34px;height:5px;border-radius:8px;background:#7e9e8c}.art-phone .big-icon{width:79px;height:79px;color:#77a27f}.art-phone .screen-note{position:absolute;bottom:21px;left:20px;right:20px;height:10px;border-radius:10px;background:#cbdcc9}.art-note{position:absolute;z-index:5;background:#fffefa;padding:13px 17px;border-radius:17px;box-shadow:0 10px 25px rgba(40,68,50,.1);font-weight:800;font-size:14px;display:flex;gap:10px;align-items:center}.art-note .icon{color:#4f8772}.note-a{top:13%;right:5%;transform:rotate(4deg)}.note-b{bottom:17%;left:5%;transform:rotate(-3deg)}.art-flower{position:absolute;right:16px;bottom:22px;z-index:4;color:#668b72}.art-flower svg{width:88px;height:88px}.hero-smallprint{font-size:11px;color:#668175;margin-top:14px}.section{padding:72px 0}.section-tint{background:var(--cream)}.section-sage{background:#f1f6ef}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:31px}.section-heading h2{font-size:clamp(25px,2.5vw,33px);margin-bottom:7px}.section-heading p{margin:0;color:var(--muted);font-size:14px}.small-label{display:block;font-size:12px;color:#5f907d;font-weight:800;letter-spacing:.12em;margin-bottom:8px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--main);font-weight:800;font-size:14px;border-bottom:1px solid #9fb7a8;padding-bottom:3px;white-space:nowrap}.grid-four{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.help-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:26px 21px;min-height:192px;box-shadow:0 7px 25px rgba(41,73,54,.025)}.card-icon{width:51px;height:51px;background:#edf4e9;color:#4f8170;display:grid;place-items:center;border-radius:16px;margin-bottom:15px}.card-icon.warm{background:#fff0e3;color:#c98458}.help-card h3{font-size:17px;margin:0 0 9px}.help-card p{font-size:13px;color:var(--muted);margin:0}.feature-panel{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.steps{display:grid;gap:13px}.step{background:#fff;border:1px solid var(--border);border-radius:17px;padding:18px;display:flex;gap:17px;align-items:flex-start}.step-number{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--main);font-weight:900;background:var(--sage);flex:0 0 36px}.step h3{font-size:16px;margin:0 0 3px}.step p{color:var(--muted);font-size:13px;margin:0}.feature-aside{padding:35px;background:#e6eee4;border-radius:29px}.feature-aside h2{font-size:27px}.feature-aside p{color:#607366}.feature-aside .pill{display:inline-block;background:#fff;border-radius:100px;padding:5px 13px;font-size:12px;color:#5d7c65;font-weight:800;margin-bottom:12px}.price-banner{background:var(--main);border-radius:30px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:26px;padding:39px 45px}.price-banner .price-head{font-size:14px;color:#d7e6dc;font-weight:700}.price-banner h2{font-size:31px;margin:5px 0 8px}.price-banner p{font-size:13px;margin:0;color:#d6e7df}.price-figure{font-size:37px;font-weight:900;white-space:nowrap}.price-figure small{font-size:15px}.price-footnote{font-size:12px;color:var(--muted);margin-top:13px}.about-teaser{display:grid;grid-template-columns:260px 1fr;gap:35px;align-items:center}.portrait-placeholder{border:2px dashed #bfd0c1;background:#e8eee7;border-radius:28px;min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#75917c;text-align:center;font-size:12px;padding:20px}.portrait-placeholder .icon{width:57px;height:57px}.about-teaser h2{font-size:29px}.about-teaser p{color:var(--muted)}.bottom-cta{background:linear-gradient(130deg,#31594f,#3b6858);border-radius:32px;color:#fff;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:22px}.bottom-cta h2{font-size:27px;margin:0 0 6px}.bottom-cta p{color:#d9eadc;margin:0;font-size:14px}.bottom-cta .btn{background:white;color:var(--main)}
.bottom-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;align-items:center}.bottom-cta-actions .btn{min-width:210px}.bottom-cta-actions .btn-primary{background:#fff;color:var(--main)}.bottom-cta-actions .btn-primary:hover{background:#f4f8f3}.bottom-cta-actions .btn-outline{background:transparent;border-color:#cfe0d5;color:#fff}.bottom-cta-actions .btn-outline:hover{background:rgba(255,255,255,.08);color:#fff}
.footer{background:#eef3ec;border-top:1px solid #dce7dc;padding:47px 0 25px}.footer-top{display:grid;grid-template-columns:1fr 1.2fr;gap:35px}.footer p{font-size:13px;color:#61776b}.footer-nav{display:flex;gap:17px;flex-wrap:wrap;font-size:13px;font-weight:700}.footer-contact{margin-top:20px;border-radius:19px;background:#fff;padding:18px;display:flex;flex-wrap:wrap;gap:13px;align-items:center}.placeholder{background:#fff0dc;border:1px dashed #d7ae78;border-radius:10px;padding:7px 12px;font-size:12px;color:#775b34}.copyright{border-top:1px solid #dce4db;margin-top:30px;padding-top:20px;color:#779080;font-size:12px}.mobile-bottom{display:none}.page-hero{background:linear-gradient(135deg,#f2f6ed,#fbf7ef);padding:68px 0}.page-hero h1{font-size:clamp(33px,4vw,46px);margin:0 0 15px}.page-hero p{max-width:650px;color:#5f7164;margin:0}.breadcrumb{font-size:12px;color:#7c8c80;padding-top:18px}.breadcrumb span{padding:0 7px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{padding:31px;background:#fff;border:1px solid var(--border);border-radius:24px}.service-card h2{font-size:23px;margin-bottom:10px}.service-card ul{padding:0;margin:12px 0 0;list-style:none;color:#526c5c;font-size:14px}.service-card li{padding:7px 0 7px 23px;position:relative}.service-card li:before{content:'✓';position:absolute;left:0;color:#5e9477;font-weight:900}.alert{border-left:4px solid #d79870;background:#fff8ee;border-radius:0 14px 14px 0;padding:15px 18px;font-size:13px;color:#665f4c}.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{background:white;border:1px solid var(--border);border-radius:24px;padding:28px 26px}.price-card.popular{border:2px solid #699781;background:#f7faf6}.price-card h3{font-size:17px;margin-bottom:8px}.price-card strong{font-size:31px;color:var(--main)}.price-card strong small{font-size:15px}.price-card p{font-size:13px;color:var(--muted);margin:5px 0 0}.prose{max-width:760px;margin:auto}.prose h2{font-size:23px;margin-top:30px}.prose p,.prose li{color:#566f60}.prose ul{padding-left:1.4em}.facts{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--border)}.facts dt,.facts dd{padding:15px 0;border-bottom:1px solid var(--border);margin:0;font-size:14px}.facts dt{font-weight:800}.facts dd{color:#566f60}.faq-list{max-width:880px;margin:auto}.faq{border:1px solid var(--border);background:white;border-radius:18px;margin-bottom:12px;overflow:hidden}.faq summary{padding:19px 22px;list-style:none;cursor:pointer;font-weight:800;display:flex;justify-content:space-between;gap:15px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'＋';font-size:22px;color:#6e9779}.faq[open] summary:after{content:'−'}.faq .answer{padding:0 22px 21px;color:#5e7466;font-size:14px;line-height:1.9}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.mini-card{padding:24px;background:#fff;border-radius:19px;border:1px solid var(--border)}.mini-card h3{font-size:17px}.mini-card p{color:var(--muted);font-size:13px;margin:0}.spacer-xl{height:16px}
@media(max-width:900px){.nav{gap:13px}.nav a{font-size:12px}.hero-inner{gap:24px}.hero h1{font-size:37px}.hero-art{min-height:385px}.grid-four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){body{font-size:15px;padding-bottom:67px}.container{width:min(100% - 34px,600px)}.top-strip{font-size:10px}.header-inner{min-height:69px}.logo-mark{height:37px;width:37px;border-radius:12px}.logo strong{font-size:14px}.logo small{font-size:9px}.mobile-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 22px 23px;background:#fffefa;box-shadow:0 18px 28px #17362920;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px;border-bottom:1px solid var(--border);font-size:15px}.nav .nav-contact{margin-top:13px;justify-content:center}.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:27px;padding:42px 0 37px}.eyebrow{font-size:12px;margin-bottom:10px}.hero h1{font-size:31px;line-height:1.48;margin-bottom:16px}.hero-lead{font-size:14px;line-height:1.9}.hero-actions .btn{flex:1;min-width:130px;padding:10px 12px;font-size:13px}.meta-row{gap:8px 14px;margin-top:21px}.meta-row span{font-size:11px}.hero-art{min-height:280px;border-radius:23px}.art-white{height:70%;left:12%;top:11%}.art-phone{width:104px;height:160px;border-width:7px;border-radius:22px}.art-phone .big-icon{width:55px;height:55px}.art-phone .screen-note{bottom:14px;left:12px;right:12px;height:7px}.art-note{padding:9px 12px;font-size:11px;border-radius:12px;gap:6px}.art-note .icon{width:16px;height:16px}.art-flower svg{width:67px;height:67px}.section{padding:53px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:23px}.section-heading h2{font-size:24px}.section-heading p{font-size:13px}.grid-four{grid-template-columns:repeat(2,1fr);gap:11px}.help-card{padding:17px 14px;min-height:170px;border-radius:16px}.card-icon{width:45px;height:45px;border-radius:12px;margin-bottom:11px}.help-card h3{font-size:15px;line-height:1.55}.help-card p{font-size:12px}.feature-panel{display:flex;flex-direction:column;gap:19px;align-items:stretch}.feature-aside{padding:25px;border-radius:22px}.feature-aside h2{font-size:23px}.step{padding:16px}.price-banner{flex-direction:column;align-items:flex-start;padding:28px 26px;border-radius:22px;gap:12px}.price-banner h2{font-size:23px}.price-figure{font-size:34px}.about-teaser{grid-template-columns:1fr;gap:22px}.portrait-placeholder{min-height:175px}.about-teaser h2{font-size:24px}.bottom-cta{padding:29px 24px;display:block;border-radius:23px}.bottom-cta h2{font-size:23px}.bottom-cta .btn{margin-top:18px;width:100%}.footer{padding:35px 0 20px}.footer-top{grid-template-columns:1fr;gap:21px}.footer-contact{align-items:flex-start;flex-direction:column}.mobile-bottom{position:fixed;z-index:35;left:0;right:0;bottom:0;display:flex;background:#fff;border-top:1px solid #d7e2d9;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:9px;box-shadow:0 -5px 15px rgba(28,54,39,.08)}.mobile-bottom a{flex:1;text-align:center;padding:10px;border-radius:10px;font-weight:800;font-size:13px;display:flex;gap:6px;align-items:center;justify-content:center}.mobile-bottom a:first-child{background:var(--main);color:#fff}.mobile-bottom a:last-child{background:#e9f1e8;color:var(--main)}.page-hero{padding:43px 0}.page-hero h1{font-size:31px}.service-grid,.price-cards,.mini-grid{grid-template-columns:1fr}.service-card,.price-card{padding:25px}.facts{grid-template-columns:1fr 2fr}.facts dt,.facts dd{font-size:12px}.faq summary{font-size:14px}.faq .answer{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* 連絡先ボタンは5ページ共通。数値の電話番号は表示しない */
.footer-contact{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.footer-contact .btn{flex:1 1 190px;white-space:nowrap;padding:12px 14px}
a.is-unconfigured{opacity:.52;cursor:not-allowed;pointer-events:none}
@media(max-width:700px){.footer-contact{flex-direction:column;align-items:stretch}.footer-contact .btn{flex:auto;width:100%;min-height:50px}}

/* ユーザー提供の似顔絵（トップ・事業者紹介共通） */
.owner-portrait{margin:0;max-width:260px;width:100%;text-align:center;justify-self:center}
.owner-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f9f1e7;border-radius:28px;display:block}
.owner-portrait figcaption{font-size:12px;line-height:1.5;color:#61776b;font-weight:700;margin-top:12px}
@media(max-width:700px){.owner-portrait{max-width:210px;justify-self:center}.about-teaser{align-items:center}}

/* ご予約の変更・キャンセル */
.policy-wrap{max-width:1030px}
.policy-intro{max-width:760px;margin-bottom:28px}
.policy-intro h2{font-size:clamp(23px,2.6vw,32px);margin:0 0 12px}
.policy-intro p{color:var(--muted);margin:0}
.policy-intro strong,.policy-summary strong{color:var(--main)}
.policy-table-wrap{background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:0 8px 28px rgba(25,58,42,.04)}
.policy-table{border-collapse:collapse;width:100%;table-layout:fixed}
.policy-table caption{text-align:left;padding:22px 25px 13px;color:var(--main);font-size:17px;font-weight:800}
.policy-table thead{background:var(--sage);font-size:13px;text-align:left}
.policy-table th,.policy-table td{padding:17px 24px;border-bottom:1px solid var(--border);vertical-align:top}
.policy-table th{width:57%;font-weight:700;text-align:left}
.policy-table tbody th{font-size:15px}
.policy-table tbody td{font-size:15px}
.policy-table tbody td strong{font-size:17px;color:var(--ink)}
.policy-table tbody td .free-label{color:#31775d}
.policy-table td small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:4px}
.policy-table tbody tr:last-child th,.policy-table tbody tr:last-child td{border-bottom:0}
.policy-smallprint{color:var(--muted);font-size:12px;margin:13px 1px 30px;line-height:1.85}
.policy-block-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.policy-block{background:var(--cream);border:1px solid var(--border);border-radius:20px;padding:24px}
.policy-block-icon{background:#e5ede3;color:var(--main);font-weight:900;font-size:12px;border-radius:30px;width:38px;height:38px;display:grid;place-items:center;margin-bottom:14px}
.policy-block h3{font-size:18px;margin:0 0 8px}
.policy-block p{color:var(--muted);font-size:14px;margin:0}
.policy-notice{border-left:4px solid var(--orange);background:var(--orange-bg);padding:17px 22px;margin-top:24px;border-radius:0 16px 16px 0}
.policy-notice strong{font-size:16px}
.policy-notice p{color:#705f50;font-size:14px;margin:5px 0 0}
.policy-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:28px}
.policy-summary{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fff;border:1px solid var(--border);border-radius:25px;padding:30px 35px}
.policy-summary>div{max-width:690px}
.policy-summary h2{font-size:25px;margin:0 0 7px}
.policy-summary p{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 5px}
.policy-summary .policy-summary-note{font-size:12px}
.policy-summary .btn{white-space:nowrap;flex-shrink:0}
.policy-home-note{font-size:13px;color:var(--muted);padding-top:4px;margin:8px 0 0}
.inline-link,.footer-policy-hint a{color:#276b50;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.inline-link:hover,.footer-policy-hint a:hover{color:#b66f42}
.footer-policy-hint{font-size:12px!important;margin:9px 0 0!important}
@media(max-width:700px){.policy-table caption{font-size:15px;padding:16px 14px 9px}.policy-table th,.policy-table td{padding:13px 12px}.policy-table tbody th,.policy-table tbody td{font-size:13px}.policy-table tbody td strong{font-size:14px}.policy-table td small{font-size:11px}.policy-block-grid{grid-template-columns:1fr}.policy-block{padding:21px}.policy-summary{flex-direction:column;align-items:flex-start;padding:25px 22px}.policy-summary h2{font-size:22px}.policy-summary .btn{width:100%}.policy-links{gap:15px}}

@media(max-width:700px){.bottom-cta-actions{margin-top:18px;flex-direction:column;align-items:stretch}.bottom-cta-actions .btn{width:100%;min-width:0}}
