:root{--teal:#6ec4ba;--gold:#c9a667;--rose:#d9b8b0;--ivory:#fbf7f2;--ink:#3a3532;--teal-deep:#2e7d74;--gold-deep:#8a6a2f;--ink-soft:#6b625c;--surface:#fff;--surface-teal:#eaf6f4;--surface-teal-strong:#e4f2f0;--surface-rose:#f7edea;--hero-bg:#f6f3ed;--line:#e3dcd3;--line-height:1.9;--radius:14px;--font-serif:"Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "MS PMincho", serif;--font-sans:"Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--ivory);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:var(--line-height);text-align:left;margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--teal-deep);text-underline-offset:.25em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal-deep);outline-offset:3px}.container{width:100%;max-width:760px;margin-inline:auto;padding-inline:20px}.section{padding-block:60px}.section--tint{background:var(--surface-teal)}.section--rose{background:var(--surface-rose)}.section-title{font-family:var(--font-serif);letter-spacing:.02em;text-align:center;text-wrap:balance;margin:0 0 8px;font-size:23px;font-weight:700;line-height:1.6}.section-title:after{content:"";background:var(--gold);width:46px;height:2px;margin:18px auto 0;display:block}.section-lead{text-align:center;color:var(--ink-soft);margin:22px 0 0}.note{color:var(--ink-soft);margin:6px 0 0;font-size:13.5px;line-height:1.85}.band{object-fit:cover;object-position:center;width:100%;height:190px}.divider{object-fit:cover;object-position:center;width:100%;max-width:760px;height:56px;margin-inline:auto}.btn{width:100%;max-width:380px;font-family:var(--font-sans);text-align:center;border:2px solid #0000;border-radius:999px;margin-inline:auto;padding:17px 24px;font-size:17px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}.btn--primary{background:var(--teal-deep);color:#fff;box-shadow:0 3px 12px #2e7d7438}.btn--line{color:#1b1b1b;background:#06c755;font-size:18px;box-shadow:0 3px 12px #06c75540}.btn--ghost{background:var(--surface);color:var(--teal-deep);border-color:var(--teal-deep)}.btn--disabled{color:#4a4541;box-shadow:none;cursor:not-allowed;background:#d8d4cf}@media (hover:hover){.btn:not(.btn--disabled):hover{transform:translateY(-2px)}}.hero{background:var(--hero-bg)}.hero__inner{grid-template-columns:1fr;display:grid}.hero__image{object-fit:cover;object-position:center 42%;width:100%;height:232px}.hero__body{text-align:center;padding:34px 20px 46px}.hero__title{font-family:var(--font-serif);letter-spacing:.02em;margin:0;font-size:28px;font-weight:700;line-height:1.65}.hero__price{font-family:var(--font-serif);margin:26px 0 0}.hero__price strong{letter-spacing:.01em;color:var(--gold-deep);font-size:42px;line-height:1.2;display:block}.hero__price span{font-family:var(--font-sans);color:var(--ink);margin-top:8px;font-size:16px;display:block}.hero__cta{margin-top:30px}.worries{gap:12px;margin:30px 0 0;padding:0;list-style:none;display:grid}.worries li{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);padding:16px 18px 16px 50px;font-size:16.5px;line-height:1.75;position:relative}.worries li:before{content:"";border-left:2.5px solid var(--teal-deep);border-bottom:2.5px solid var(--teal-deep);width:14px;height:8px;position:absolute;top:22px;left:20px;transform:rotate(-45deg)}.reason{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);margin-top:26px;padding:26px 20px 28px}.reason__title{font-family:var(--font-serif);border-bottom:1px solid var(--line);color:var(--teal-deep);margin:0 0 14px;padding-bottom:12px;font-size:21px;font-weight:700;line-height:1.6}.reason p{margin:0}.reason__p2{margin-top:1em!important}.reason strong{font-weight:700}.reason__figure{margin:22px 0 0}.reason__figure img{border-radius:10px;width:100%}.values{gap:18px;margin-top:30px;display:grid}.value{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);text-align:center;padding:26px 22px}.value__icon{object-fit:cover;border-radius:50%;width:104px;height:104px;margin:0 auto 16px}.value__title{font-family:var(--font-serif);margin:0 0 10px;font-size:20px;font-weight:700;line-height:1.55}.value p{color:var(--ink);text-align:left;margin:0;font-size:16px}.cost-wrap{-webkit-overflow-scrolling:touch;margin-top:30px;overflow-x:auto}.cost{border-collapse:separate;border-spacing:0;background:var(--surface);border-radius:var(--radius);width:100%;min-width:320px;font-size:15.5px;overflow:hidden}.cost th,.cost td{border-bottom:1px solid var(--line);text-align:right;padding:13px 9px}.cost td{white-space:nowrap}.cost thead th{background:var(--teal-deep);color:#fff;text-align:center;font-size:15px;font-weight:700}.cost tbody th{text-align:left;color:var(--ink);font-weight:400;line-height:1.5}.cost .is-ours{background:var(--surface-teal-strong);font-weight:700}.cost tfoot th,.cost tfoot td{background:#f3efe8;border-bottom:none;font-size:17px;font-weight:700}.cost tfoot .is-ours{background:var(--teal);color:var(--ink)}.cost-diff{text-align:center;font-family:var(--font-serif);color:var(--gold-deep);margin:26px 0 0;font-size:27px;font-weight:700;line-height:1.5}.cost-notes{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-top:22px;padding:16px 18px}.cost-notes p{margin:0}.cost-notes p+p{margin-top:8px}.steps{counter-reset:step;gap:14px;margin:30px 0 0;padding:0;list-style:none;display:grid}.step{counter-increment:step;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:66px 1fr;align-items:center;gap:16px;padding:18px 20px;display:grid}.step__icon{object-fit:cover;border-radius:50%;width:66px;height:66px}.step__num{background:var(--surface-teal);border:2px solid var(--teal);width:66px;height:66px;font-family:var(--font-serif);color:var(--teal-deep);border-radius:50%;place-items:center;font-size:26px;font-weight:700;display:grid}.step__num:before{content:counter(step)}.step__title{font-family:var(--font-serif);margin:0;font-size:19px;font-weight:700}.step__label{font-family:var(--font-sans);letter-spacing:.14em;color:var(--ink-soft);margin-bottom:2px;font-size:12.5px;font-weight:400;display:block}.faq{gap:12px;margin-top:30px;display:grid}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.faq summary{cursor:pointer;padding:18px 52px 18px 20px;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary h3{font-family:var(--font-sans);margin:0;font-size:16.5px;font-weight:700;line-height:1.7;display:inline}.faq summary:after{content:"";background:var(--teal-deep);width:14px;height:2px;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.faq summary:before{content:"";background:var(--teal-deep);width:14px;height:2px;transition:transform .2s;position:absolute;top:50%;right:22px;transform:translateY(-50%)rotate(90deg)}.faq details[open] summary:before{transform:translateY(-50%)rotate(0)}.faq .faq__answer{border-top:1px solid var(--line);margin:0;padding:16px 20px 20px;font-size:16px}.contact__photo{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;object-position:center 42%;width:100%;max-width:420px;margin:30px auto}.contact__mail{text-align:center;margin:26px 0 0;font-size:16px}.contact__mail a{word-break:break-all;font-weight:700}.site-footer{background:var(--ink);color:var(--ivory);text-align:center;padding-block:40px}.site-footer p{margin:0}.site-footer__brand{font-family:var(--font-serif);font-size:19px;font-weight:700}.site-footer__rep{margin-top:6px;font-size:15px}.site-footer__nav{border-top:1px solid #fbf7f238;margin-top:24px;padding-top:22px;font-size:15px}.site-footer a{color:var(--ivory)}.site-footer__copy{color:#c4bcb6;margin-top:22px;font-size:13px}.floating-cta{z-index:50;padding:10px 20px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fbf7f2f0;transition:transform .25s,opacity .25s;position:fixed;bottom:0;left:0;right:0}@supports (backdrop-filter:blur(6px)){.floating-cta{backdrop-filter:blur(6px)}}.floating-cta .btn{padding:14px 24px;font-size:16.5px}.floating-cta.is-hidden{opacity:0;pointer-events:none;transform:translateY(120%)}.floating-cta-spacer{height:76px}.works-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:center;margin:40px 0 0;padding:46px 24px;font-size:17px}.works{gap:20px;margin:34px 0 0;padding:0;list-style:none;display:grid}.work{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.work a{color:inherit;text-decoration:none;display:block}.work__thumb{aspect-ratio:1200/630;object-fit:cover;background:var(--hero-bg);border-bottom:1px solid var(--line);width:100%}.work__body{padding:20px 20px 22px}.work__title{font-family:var(--font-serif);margin:0;font-size:20px;font-weight:700;line-height:1.55}.work__date{color:var(--ink-soft);margin-top:8px;font-size:13.5px;display:block}.work__desc{margin:12px 0 0;font-size:16px}.work__more{color:var(--teal-deep);margin:14px 0 0;font-size:15px;font-weight:700}@media (hover:hover){.work a:hover .work__title{text-decoration:underline}}.back-link{text-align:center;margin:40px 0 0;font-size:16px}.notfound{text-align:center;padding-block:90px}.notfound h1{font-family:var(--font-serif);margin:0 0 16px;font-size:26px}@media (width>=600px){body{font-size:17.5px}.section{padding-block:84px}.section-title{font-size:29px}.hero__title{font-size:34px}.hero__price strong{font-size:52px}.values{grid-template-columns:repeat(3,1fr);gap:20px}.value p{text-align:center}.works{grid-template-columns:repeat(2,1fr)}.reason{padding:32px 30px 34px}.cost{font-size:16.5px}.cost th,.cost td{padding:16px 18px}.cost-diff{font-size:32px}.divider{height:72px}.band{height:300px}}@media (width>=900px){.hero__inner{grid-template-columns:1fr 1fr;align-items:stretch}.hero__image{height:100%;min-height:460px}.hero__body{text-align:left;flex-direction:column;justify-content:center;max-width:620px;padding:60px 56px;display:flex}.hero__title{font-size:37px}.hero__price strong{font-size:56px}.hero__cta .btn{margin-inline:0}}
