:root{--primary: #2E7D32;--primary-hover: #25672A;--primary-light: #5DB84C;--primary-pale: #CDEBC4;--secondary: #17797E;--blob-turquoise: #4CB8BE;--blob-yellow: #F1BF45;--blob-terracotta: #CC6A4A;--blob-terracotta-dark: #B85A3C;--blob-lavender: #7B64A3;--bg: #F7F5F0;--bg-white: #FFFFFF;--bg-curve: #FBFAF7;--surface: #EEF6EC;--surface-gray: #F2F0EC;--text: #3D3A36;--text-heading: #555250;--text-muted: #6B655D;--line-art: #222222;--border: #DDD8CE;--dotted: #9A948A;--english-overlay: rgba(241,191,69,0.75);--placeholder: #E4E0D8;--font-ja: "Zen Kaku Gothic New","Noto Sans JP","Hiragino Sans",sans-serif;--font-heading: "Zen Maru Gothic","M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;--font-en: "Nunito","Quicksand","Helvetica Neue",Arial,sans-serif;--font-hand: "Klee One","Yomogi",cursive;--s-1: 8px;--s-2: 16px;--s-3: 32px;--s-4: 64px;--s-5: 88px;--gutter: 20px;--max: 1200px}@media (min-width: 640px){:root{--gutter: 32px}}@media (min-width: 1024px){:root{--gutter: 64px;--s-5: 140px}}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth}body{margin: 0;font-family: var(--font-ja);font-size: 1rem;line-height: 2;letter-spacing: 0.05em;color: var(--text);background: var(--bg);overflow-x: hidden}img{display: block;max-width: 100%;height: auto}a{color: inherit;text-decoration: none}h1,h2,h3,h4,p,ul,ol,dl,figure{margin: 0;padding: 0}ul,ol{list-style: none}button{font: inherit;color: inherit;background: none;border: 0;cursor: pointer}.sr-only{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.pc{display: none}@media (min-width: 1024px){.pc{display: inline}.sp{display: none}}:focus-visible{outline: 3px solid var(--secondary);outline-offset: 3px;border-radius: 4px}.container{width: 100%;max-width: calc(var(--max) + var(--gutter) * 2);margin: 0 auto;padding: 0 var(--gutter)}.section{position: relative;padding: var(--s-5) 0}.shape{position: relative;margin: 0}.shape img{width: 100%;height: 100%;object-fit: cover}.clip-blob{clip-path: url(#clip-blob)}.clip-squircle{clip-path: url(#clip-squircle)}.clip-clover{clip-path: url(#clip-clover)}.clip-house{clip-path: url(#clip-house)}.clip-poly{clip-path: url(#clip-poly)}.clip-arc{clip-path: url(#clip-arc)}.clip-wave{clip-path: url(#clip-wave)}.clip-notch{clip-path: url(#clip-notch)}.clip-dright{clip-path: url(#clip-dright)}.clip-dleft{clip-path: url(#clip-dleft)}.clip-arch{clip-path: url(#clip-arch)}.clip-pill{clip-path: url(#clip-pill)}.label{display: inline-flex;align-items: center;gap: 10px;font-family: var(--font-en);font-weight: 700;font-size: 0.875rem;letter-spacing: 0.16em;color: var(--primary);text-transform: uppercase}.label::before{content: "";width: 10px;height: 10px;background: var(--primary-light);border-radius: 62% 38% 55% 45% / 48% 60% 40% 52%}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 12px;min-height: 56px;padding: 14px 32px;border-radius: 999px;font-weight: 700;letter-spacing: 0.1em;line-height: 1.4;transition: background-color .3s ease,transform .3s ease,color .3s ease}.btn .arrow{display: inline-grid;place-items: center;width: 22px;height: 22px;border-radius: 50%;background: #fff;color: var(--primary);font-size: 12px;transition: transform .3s ease}.btn:hover{transform: translateY(-2px)}.btn:hover .arrow{transform: translateX(3px)}.btn-primary{background: var(--primary);color: #fff}.btn-primary:hover{background: var(--primary-hover)}.btn-line{background: #05833A;color: #fff}.btn-line:hover{background: #046B2F}.btn-outline{border: 2px solid var(--text);color: var(--text)}.btn-outline:hover{background: var(--text);color: #fff}@keyframes floatY{0%,100%{transform: translateY(0)}50%{transform: translateY(-8px)}}.float{animation: floatY 7s ease-in-out infinite}.float.d2{animation-duration: 8s;animation-delay: -2s}.float.d3{animation-duration: 6s;animation-delay: -4s}.fade{opacity: 0;transform: translateY(24px);transition: opacity .9s ease-out,transform .9s ease-out}.fade.is-in{opacity: 1;transform: none}.draft-end{padding: 48px var(--gutter);text-align: center;font-size: 0.875rem;color: var(--text-muted);border-top: 2px dashed var(--border);background: repeating-linear-gradient(-45deg,transparent 0 12px,rgba(0,0,0,.02) 12px 24px)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation: none !important;transition: none !important;scroll-behavior: auto !important}.fade{opacity: 1;transform: none}}body{background: var(--bg)}.site-header{position: fixed;inset: 0 0 auto 0;z-index: 50;display: flex;align-items: center;justify-content: space-between;gap: 16px;padding: 12px var(--gutter);transition: background-color .4s ease,box-shadow .4s ease}.site-header.is-scrolled{background: rgba(247,245,240,.95);box-shadow: 0 1px 0 var(--border)}.logo{display: flex;align-items: center;gap: 10px}.logo-mark{width: 56px;height: 56px;background: url(../images/logo.webp) no-repeat 50% 22% / 190%;flex: none;background-color: #fff;border-radius: 16px}.logo-text{font-family: var(--font-heading);font-weight: 700;line-height: 1.2;white-space: nowrap}.logo-text .n1{display: block;font-size: 1.375rem;letter-spacing: 0.16em}.logo-text .n2{display: block;font-size: 0.6875rem;letter-spacing: 0.14em;color: var(--text-muted);margin-top: 2px}.gnav{display: none}.header-right{display: flex;align-items: center;gap: 12px}.header-tel{display: none}.header-cta{display: none}.menu-btn{width: 60px;height: 60px;border-radius: 16px;background: #fff;display: grid;place-items: center;align-content: center;gap: 4px;box-shadow: 0 4px 16px rgba(61,58,54,.06)}.menu-btn i{display: block;width: 22px;height: 6px;border-radius: 6px;background: var(--primary-light)}.menu-btn i:nth-child(2){width: 18px}.menu-btn b{display: none;font-family: var(--font-en);font-size: 11px;color: var(--primary);letter-spacing: .04em;line-height: 1;margin-top: 4px}@media (min-width: 1024px){.site-header{padding: 20px var(--gutter)}.gnav{display: flex;gap: clamp(16px,2vw,36px)}.gnav a{font-weight: 700;font-size: 0.9375rem;letter-spacing: 0.08em;transition: color .3s;white-space: nowrap}.gnav a:hover,.gnav a[aria-current="page"]{color: var(--primary)}.header-tel{display: block;text-align: right;line-height: 1.4;white-space: nowrap}.header-tel a{font-family: var(--font-en);font-weight: 800;font-size: 1.125rem;letter-spacing: .06em}.header-tel small{display: block;font-size: 0.75rem;color: var(--text-muted)}.header-cta{display: inline-flex;border-radius: 12px;min-height: 64px;padding: 10px 18px 10px 22px;font-size: 0.875rem;text-align: left;white-space: nowrap;letter-spacing: .06em}.menu-btn{width: 64px;height: 64px}.menu-btn b{display: block}}@media (min-width: 1024px) and (max-width: 1379px){.gnav{display: none}}@media (min-width: 1024px) and (max-width: 1599px){.header-tel{display: none}}@media (min-width: 1380px){.gnav{gap: 24px}.gnav a{font-size: .875rem;letter-spacing: .04em}}.site-menu{position: fixed;inset: 0;z-index: 60;background: var(--bg);padding: 96px var(--gutter) 40px;overflow-y: auto}.site-menu ul{display: grid;gap: 2px}.site-menu nav a{display: block;padding: 10px 0;font-size: 1.25rem;font-weight: 700}.site-menu nav .sub a{font-size: 1rem;font-weight: 500;padding: 6px 0 6px 20px;color: var(--text-muted)}.site-menu .btn{width: 100%;margin-top: 28px}.site-menu .tel{margin-top: 16px;text-align: center;font-size: .875rem;color: var(--text-muted)}.site-menu .tel a{font-family: var(--font-en);font-weight: 800;font-size: 1.25rem;color: var(--text)}.menu-close{position: absolute;top: 12px;right: var(--gutter);width: 60px;height: 60px;font-size: 28px}.r-leaf{border-radius: 28% 8% 28% 8% / 40% 12% 40% 12%;overflow: hidden}.r-leaf2{border-radius: 8% 28% 8% 28% / 12% 40% 12% 40%;overflow: hidden}.shape.r-leaf img,.shape.r-leaf2 img{object-fit: cover}.hero{position: relative;padding: 104px var(--gutter) 0;overflow: hidden}.hero-grid{position: relative;max-width: 1440px;margin: 0 auto}.hero-copy{position: relative;z-index: 2;display: flex;flex-direction: row-reverse;flex-wrap: wrap;justify-content: flex-start;gap: 18px;writing-mode: horizontal-tb;padding: 8px 0 0}.v{writing-mode: vertical-rl}.hero-title{font-family: var(--font-heading);font-weight: 500;font-size: clamp(2rem,9vw,4.25rem);line-height: 1.5;letter-spacing: 0.12em}.hero-title .en{display: block;font-family: var(--font-en);font-weight: 700;font-size: 0.875rem;letter-spacing: .2em;color: var(--primary);writing-mode: vertical-rl;margin-left: 10px}.hero-sub{font-weight: 700;font-size: 1rem;line-height: 2;letter-spacing: 0.14em;max-height: 25em}.hero-sub strong{color: var(--primary)}.hero-stats{flex-basis: 100%;display: flex;flex-wrap: wrap;justify-content: flex-end;gap: 8px;margin-top: 8px}.stat{display: inline-flex;align-items: center;gap: 0;background: var(--surface);border-radius: 999px;padding: 8px 12px 8px 18px;font-weight: 700;letter-spacing: .06em;line-height: 1.5;white-space: nowrap;transition: background-color .3s}.stat:hover{background: var(--primary-pale)}.stat .num{font-family: var(--font-en);font-weight: 800;font-size: 1.125rem}.stat .dot{margin-left: 10px;display: inline-grid;place-items: center;width: 20px;height: 20px;border-radius: 50%;background: var(--primary-light);color: #fff;font-size: 9px}.hero-photos{position: relative;height: 92vw;max-height: 720px;margin-top: 24px}.hero-photos .shape{position: absolute}.hp1{width: 60vw;aspect-ratio: 1 / 1.08;left: 0;top: 12%}.hp2{width: 46vw;aspect-ratio: 1123 / 794;right: 0;top: 0}.hp3,.hp4{display: none}.illu-slot{position: absolute;z-index: 2;color: var(--line-art)}.illu-slot{height: auto;pointer-events: none}.illu-care{width: min(26vw,110px);right: 0;bottom: 0}@media (min-width: 1024px){.illu-care{width: 17%;max-width: 150px;right: 0;bottom: 4%}}.hero-ctas{position: relative;z-index: 3;display: grid;gap: 12px;padding: 0 0 24px}.hero-ctas .btn{width: 100%}.hero-lead{position: relative;z-index: 2;font-weight: 500;font-size: 1rem;line-height: 2;letter-spacing: .06em;margin: 28px 0 20px}.hero-lead strong{display: block;font-family: var(--font-heading);font-size: 1.125rem;font-weight: 700}.hill{position: relative;z-index: 1;display: block;width: calc(100% + var(--gutter) * 2);height: 90px;margin: -40px calc(var(--gutter) * -1) 0}.scroll-pill{position: absolute;left: var(--gutter);bottom: 22px;z-index: 3;border: 2px solid var(--text);border-radius: 999px;padding: 4px 18px;font-family: var(--font-en);font-weight: 800;font-size: .9375rem;background: var(--bg)}@media (min-width: 1024px){.hero{padding-top: 120px}.hero-grid{display: grid;grid-template-columns: 1fr 480px;grid-template-areas: "photos copy" "photos lead";gap: 28px 48px;align-items: start}.hero-copy{grid-area: copy;justify-content: center;padding: 40px 32px;background: rgba(255,255,255,.88);border-radius: 24px;gap: 22px}.hero-title{font-size: clamp(2.5rem,3.6vw,3.25rem)}.hero-sub{font-size: 1.0625rem}.hero-photos{grid-area: photos;position: relative;height: 720px;max-height: none;margin: 0}.hp1{width: 46%;aspect-ratio: 1.2 / 1;left: 0;top: 2%}.hp2{width: 40%;left: 56%;right: auto;top: 8%}.hp3{display: block;width: 44%;aspect-ratio: 1123 / 794;left: 36%;top: 50%}.hp4{display: block;width: 30%;aspect-ratio: 1123 / 794;left: 0;top: 55%}.hero-lead-wrap{grid-area: lead;position: relative;z-index: 3}.hero-ctas{grid-template-columns: 1fr 1fr;padding: 0}.hero-lead{margin: 0 0 20px;font-size: .9375rem}.hill{height: 180px;margin-top: -120px}}.sec{position: relative;padding: 120px 0;background: #fff}.sec.tint{background: var(--bg)}@media (min-width: 1024px){.sec{padding: 180px 0}}.narrow{max-width: calc(1080px + var(--gutter) * 2);margin: 0 auto}.sec-head{text-align: center;margin-bottom: 72px}@media (min-width: 1024px){.sec-head{margin-bottom: 104px}}.sec-title{display: inline-flex;align-items: center;gap: 18px;margin-top: 14px;font-family: var(--font-heading);font-weight: 700;font-size: clamp(1.5rem,2.6vw,2.125rem);line-height: 1.6;letter-spacing: 0.08em}.capsules{display: inline-flex;gap: 6px;transform: rotate(8deg);flex: none}.capsules i{width: 9px;height: 32px;border-radius: 999px;background: var(--primary-light)}.sec-lead{margin: 28px auto 0;max-width: 640px;line-height: 2.2;letter-spacing: .08em}.text-link{display: inline-flex;align-items: center;gap: 8px;margin-top: 28px;color: var(--primary);font-weight: 700;letter-spacing: .08em}.text-link::after{content: "▸";transition: transform .3s}.text-link:hover::after{transform: translateX(4px)}.msg-grid{display: grid;gap: 64px;align-items: start}.msg-photo{position: relative;width: min(78%,400px);margin: 0 auto}.msg-photo .bg{position: absolute;top: 6%;left: 10%;width: 100%;height: auto;aspect-ratio: 1 / 1.08}.msg-photo .shape{position: relative;aspect-ratio: 1 / 1.08}.msg-illu{position: absolute;z-index: 2;left: -8%;top: -6%;width: 18%;height: auto;pointer-events: none}.msg-photo2{position: relative;width: 82%;margin: -12% 0 0 auto}.msg-photo2 .shape{aspect-ratio: 1120 / 1040}.msg-photo2 figcaption{margin-top: 10px;font-size: .8125rem;line-height: 1.7;color: var(--text-muted);letter-spacing: .04em}.msg-body .sec-title{display: flex;margin-top: 14px}.msg-catch{margin-top: 28px;font-family: var(--font-heading);font-weight: 700;color: var(--primary);font-size: 1.0625rem;line-height: 1.9;letter-spacing: .08em}.msg-body>p:not(.msg-catch){margin-top: 1.6em;line-height: 2.3;letter-spacing: .08em}.sign{margin-top: 56px}.sign .name{font-family: var(--font-heading);font-weight: 700;font-size: 1.375rem;letter-spacing: .14em}.sign .name small{display: block;font-family: var(--font-ja);font-size: .8125rem;font-weight: 500;color: var(--text-muted);letter-spacing: .06em;margin-top: 4px}.tags{display: flex;flex-wrap: wrap;gap: 8px;margin-top: 20px}.tags li{background: var(--surface);color: var(--primary);border-radius: 999px;padding: 4px 14px;font-size: .875rem;font-weight: 700}.motto{margin-top: 16px;font-size: .9375rem}.motto b{color: var(--primary)}.keywords{margin-top: 24px;font-family: var(--font-en);font-weight: 700;letter-spacing: .16em;font-size: .8125rem;color: var(--text-muted)}@media (min-width: 1024px){.msg-grid{grid-template-columns: 360px 1fr;gap: 96px}.msg-photo{width: 100%;position: sticky;top: 160px}}.plan{display: grid;gap: 36px;align-items: center}.plan + .plan{margin-top: 120px}.plan-visual{position: relative;width: 88%;max-width: 560px;aspect-ratio: 1123 / 794}.plan-visual .bg{position: absolute;inset: 8% -6% -6% 8%}.plan-visual .shape{position: absolute;inset: 0}.plan-visual .shape img{transition: transform .6s ease}.plan:hover .plan-visual .shape img{transform: scale(1.03)}.plan-num{font-family: var(--font-en);font-weight: 800;font-size: 3.5rem;line-height: 1;color: var(--border)}.svc-cat{display: inline-block;margin-top: 16px;background: var(--secondary);color: #fff;border-radius: 999px;padding: 3px 16px;font-size: .8125rem;font-weight: 700;letter-spacing: .08em}.plan h3{margin-top: 14px;font-family: var(--font-heading);font-weight: 700;font-size: clamp(1.25rem,2vw,1.5rem);line-height: 1.6;letter-spacing: .06em}.plan p{margin-top: 16px;max-width: 30em;line-height: 2.2;letter-spacing: .06em}.plan:nth-of-type(even) .plan-visual{margin-left: auto}.more{text-align: center;margin-top: 120px}.plan-cta{display: flex;flex-wrap: wrap;gap: 12px 16px;margin-top: 28px}.btn-sm{min-height: 44px;padding: 8px 20px;font-size: .875rem;letter-spacing: .06em;gap: 8px}.btn-sm .arrow{width: 18px;height: 18px;font-size: 10px}@media (min-width: 768px){.plan{grid-template-columns: 1fr 1fr;gap: 96px}.plan + .plan{margin-top: 160px}.plan:nth-of-type(odd) .plan-visual{margin-left: auto;margin-right: 0}.plan:nth-of-type(even) .plan-visual{order: 2;margin-left: 0}.plan-visual{width: 100%}}.rsn-list{display: grid;gap: 72px}.rsn{text-align: center}.rsn .shape{width: min(100%,240px);aspect-ratio: 1123 / 794;margin: 0 auto 28px}.rsn-cat{font-size: .8125rem;font-weight: 700;color: var(--primary);letter-spacing: .1em}.rsn h3{margin-top: 6px;font-family: var(--font-heading);font-weight: 700;font-size: 1.125rem;line-height: 1.7;letter-spacing: .04em}.rsn p{margin: 14px auto 0;max-width: 22em;font-size: .9375rem;line-height: 2.1;text-align: left}.rsn p.rsn-cat{margin: 0;max-width: none;text-align: center}@media (min-width: 640px){.rsn-list{grid-template-columns: 1fr 1fr;gap: 80px 56px}}@media (min-width: 1200px){.rsn-list{grid-template-columns: repeat(4,1fr);gap: 48px}}.price-grid{display: grid;gap: 72px}.price-col h3{display: flex;align-items: center;gap: 12px;font-family: var(--font-heading);font-weight: 700;font-size: 1.125rem;letter-spacing: .06em;padding-bottom: 18px;border-bottom: 2px solid var(--primary-light)}.price-col h3 .ic{width: 32px;height: 32px;border-radius: 50%;background: var(--surface);display: grid;place-items: center;color: var(--primary);font-size: .875rem}.price-col table{width: 100%;border-collapse: collapse}.price-col th,.price-col td{padding: 18px 0;border-bottom: 1px dotted var(--border);text-align: left;font-weight: 500}.price-col td{text-align: right;font-family: var(--font-en);font-weight: 800;font-size: 1.375rem;white-space: nowrap}.price-col tr.ext th,.price-col tr.ext td{color: var(--text-muted);font-size: .9375rem}.price-col tr.ext td{font-size: 1.0625rem}.price-note{margin-top: 56px;text-align: center;font-size: .9375rem;color: var(--text-muted)}@media (min-width: 768px){.price-grid{grid-template-columns: 1fr 1fr;gap: 96px}}.ic-line{fill: none;stroke: currentColor;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round}.flow-list{display: grid;gap: 24px;counter-reset: step}.flow-step{position: relative;text-align: center;padding: 0 8px}.flow-ic{position: relative;width: 120px;height: 120px;margin: 0 auto 24px;display: grid;place-items: center;color: var(--primary)}.flow-ic svg.blob{position: absolute;inset: 0;color: inherit}.flow-ic svg.ic{position: relative;width: 44px;height: 44px}.flow-num{font-family: var(--font-en);font-weight: 800;font-size: .875rem;letter-spacing: .16em;color: var(--primary)}.flow-step h3{margin-top: 6px;font-family: var(--font-heading);font-weight: 700;font-size: 1.1875rem;letter-spacing: .06em;line-height: 1.6}.flow-step p{margin: 14px auto 0;max-width: 20em;font-size: .9375rem;line-height: 2.1;text-align: left}.flow-arrow{display: grid;place-items: center;color: var(--primary-light);font-size: 1.25rem;transform: rotate(90deg)}@media (min-width: 1024px){.flow-list{grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;gap: 16px;align-items: start}.flow-arrow{transform: none;padding-top: 48px}}.area-list{display: grid;grid-template-columns: repeat(2,1fr);gap: 40px 16px;max-width: 880px;margin: 0 auto}.area{text-align: center}.area-ic{position: relative;width: 132px;height: 132px;margin: 0 auto 16px;display: grid;place-items: center;color: var(--text)}.area-ic svg.blob{position: absolute;inset: 0}.area-ic svg.ic{position: relative;width: 44px;height: 44px}.area-name{font-family: var(--font-heading);font-weight: 700;font-size: 1.25rem;letter-spacing: .1em}.area-tag{display: inline-block;margin-top: 6px;padding: 2px 14px;border-radius: 999px;background: #fff;font-size: .8125rem;font-weight: 700;color: var(--primary);letter-spacing: .06em}.area.sub .area-tag{color: var(--text-muted)}.area-note{margin-top: 64px;text-align: center;line-height: 2.1}.area-note small{display: block;margin-top: 8px;font-size: .9375rem;color: var(--text-muted)}@media (min-width: 768px){.area-list{grid-template-columns: repeat(4,1fr)}}.biz-list{display: grid;gap: 72px}.biz .shape{aspect-ratio: 4 / 3;margin-bottom: 28px}.biz-cat{font-family: var(--font-en);font-weight: 800;font-size: .8125rem;letter-spacing: .16em;color: var(--text-muted)}.biz h3{margin-top: 4px;font-family: var(--font-heading);font-weight: 700;font-size: 1.25rem;letter-spacing: .06em;line-height: 1.6}.biz p{margin-top: 14px;font-size: .9375rem;line-height: 2.1}@media (min-width: 768px){.biz-list{grid-template-columns: repeat(3,1fr);gap: 48px}}.news-list{max-width: 880px;margin: 0 auto;border-top: 1px dotted var(--border)}.news-list li{border-bottom: 1px dotted var(--border)}.news-list a{display: grid;gap: 8px;padding: 28px 8px;transition: color .3s}.news-meta{display: flex;align-items: center;gap: 14px}.news-meta time{font-family: var(--font-en);font-weight: 700;font-size: .875rem;letter-spacing: .06em;color: var(--text-muted)}.news-tag{padding: 1px 12px;border-radius: 999px;font-size: .75rem;font-weight: 700;letter-spacing: .06em;background: var(--secondary);color: #fff}.news-tag.info{background: #fff;color: var(--secondary);border: 1px solid var(--secondary)}.news-title{line-height: 1.9}.news-list a:hover .news-title{color: var(--primary)}@media (min-width: 768px){.news-list a{grid-template-columns: 220px 1fr auto;align-items: center;gap: 24px}.news-list a::after{content: "▸";color: var(--primary);transition: transform .3s}.news-list a:hover::after{transform: translateX(4px)}}.cal-wrap{max-width: 880px;margin: 0 auto;text-align: center}.cal-img{position: relative;aspect-ratio: 1474 / 844;border-radius: 24px;box-shadow: 0 12px 32px rgba(61,58,54,.08);background: var(--placeholder);display: grid;place-items: center;color: var(--text-muted);font-size: .9375rem;line-height: 1.9;overflow: hidden}.cal-img img{width: 100%;height: 100%;object-fit: contain;background: #fff}.cal-off{margin-top: 24px;font-weight: 700;letter-spacing: .06em}.cal-off b{color: var(--primary)}.media-grid{display: grid;gap: 72px;align-items: center}.line-card{text-align: center}.line-badge{position: relative;width: 200px;height: 200px;margin: 0 auto 28px;display: grid;place-items: center}.line-badge svg.blob{position: absolute;inset: 0}.line-badge .in{position: relative;font-family: var(--font-en);font-weight: 800;color: #fff;font-size: 2rem;letter-spacing: .04em;line-height: 1}.line-badge .in small{display: block;margin-top: 10px;font-size: .875rem;letter-spacing: .08em}.media-name{font-family: var(--font-heading);font-weight: 700;font-size: 1.25rem;letter-spacing: .08em}.media-text{margin: 14px auto 0;max-width: 24em;line-height: 2.1}.media-card .btn{margin-top: 28px}.phone{position: relative;width: 220px;margin: 0 auto 28px;aspect-ratio: 9 / 18.5;border: 8px solid var(--text);border-radius: 40px;background: #fff;box-shadow: 0 24px 48px rgba(61,58,54,.18);overflow: hidden}.phone::before{content: "";position: absolute;top: 8px;left: 50%;translate: -50% 0;width: 64px;height: 18px;border-radius: 999px;background: var(--text);z-index: 2}.phone-shot{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: top}.phone-screen{position: absolute;inset: 0;display: grid;place-items: center;padding: 24px;text-align: center;background: linear-gradient(180deg,var(--surface),#fff);font-size: .8125rem;line-height: 1.8;color: var(--text-muted)}.phone-screen b{display: block;font-family: var(--font-heading);font-size: 1.125rem;color: var(--primary);margin-bottom: 8px}.media-wrap{position: relative}.media-wrap .deco{position: absolute;z-index: 0;pointer-events: none}.media-card{position: relative;z-index: 1;text-align: center}.print-note{position: relative;width: 200px;margin: 0 auto 28px;aspect-ratio: 848 / 1200}.print-note img{position: relative;z-index: 1;width: 100%;height: 100%;object-fit: cover;border-radius: 4px;box-shadow: 0 16px 32px rgba(61,58,54,.16);transform: rotate(-3deg)}.print-note::before{content: "";position: absolute;inset: 0;background: #fff;border-radius: 4px;box-shadow: 0 8px 20px rgba(61,58,54,.10);transform: rotate(4deg) translate(10px,4px)}.media-meta{margin-top: 8px;font-size: .875rem;color: var(--text-muted)}@media (min-width: 768px){.media-grid{grid-template-columns: 1fr 1fr;gap: 72px 48px;align-items: end}}@media (min-width: 1100px){.media-grid{grid-template-columns: repeat(3,1fr);gap: 48px}}.contact{position: relative;background: var(--surface);padding: 0 0 140px;text-align: center}.contact .wave-top{display: block;width: 100%;height: 80px;margin-bottom: 80px}.contact h2{margin-top: 14px;font-family: var(--font-heading);font-weight: 700;font-size: clamp(1.5rem,3vw,2.25rem);letter-spacing: .08em;line-height: 1.6}.contact .lead{margin-top: 20px;line-height: 2.1}.contact-ways{display: grid;gap: 20px;max-width: 960px;margin: 56px auto 0}.way{background: #fff;border-radius: 24px;padding: 32px 24px;display: grid;gap: 8px;justify-items: center}.way-label{font-size: .875rem;font-weight: 700;color: var(--text-muted);letter-spacing: .1em}.way .btn{width: 100%;max-width: 320px}.way-tel{font-family: var(--font-en);font-weight: 800;font-size: 1.75rem;letter-spacing: .04em;color: var(--text)}.way-mail{font-family: var(--font-en);font-weight: 700;font-size: .9375rem;color: var(--primary);text-decoration: underline;text-underline-offset: 4px;word-break: break-all}.way small{font-size: .8125rem;color: var(--text-muted)}@media (min-width: 900px){.contact-ways{grid-template-columns: 1fr 1fr}.contact{padding-bottom: 180px}.contact .wave-top{height: 120px;margin-bottom: 120px}}.site-footer{position: relative;background: var(--primary);color: #fff;padding: 0 0 32px}.site-footer .hill-top{position: absolute;left: 0;bottom: calc(100% - 1px);display: block;width: 100%;height: 72px}.foot-grid{display: grid;gap: 48px;padding-top: 48px}.foot-brand .logo-badge{width: 72px;height: 72px;border-radius: 18px;background: #fff url(../images/logo.webp) no-repeat 50% 22% / 190%}.foot-brand .name{margin-top: 16px;font-family: var(--font-heading);font-weight: 700;font-size: 1.25rem;letter-spacing: .1em}.foot-brand p{margin-top: 10px;font-size: .9375rem;line-height: 2}.foot-nav ul{display: grid;grid-template-columns: 1fr 1fr;gap: 6px 24px}.foot-nav a{font-size: .9375rem;font-weight: 500;letter-spacing: .06em;line-height: 2.2}.foot-nav a:hover,.foot-contact a:hover{text-decoration: underline;text-underline-offset: 4px}.foot-contact{display: grid;gap: 10px;font-size: .9375rem;line-height: 1.8}.foot-contact .tel{font-family: var(--font-en);font-weight: 800;font-size: 1.375rem;letter-spacing: .04em}.foot-contact .btn{justify-self: start;margin-top: 8px;background: #fff;color: var(--primary);min-height: 48px;padding: 10px 24px}.foot-contact .btn:hover{background: var(--surface)}.foot-bottom{margin-top: 64px;padding-top: 24px;border-top: 1px solid rgba(255,255,255,.3);display: flex;flex-wrap: wrap;justify-content: space-between;gap: 12px;font-size: .8125rem}.foot-bottom a{text-decoration: underline;text-underline-offset: 3px}@media (min-width: 1024px){.foot-grid{grid-template-columns: 1.2fr 1fr 1fr;gap: 64px}.site-footer .hill-top{height: 120px}}.site-header{position: fixed;inset: 0 0 auto 0;z-index: 50;display: flex;align-items: center;justify-content: space-between;gap: 16px;padding: 12px var(--gutter);transition: background-color .4s ease,box-shadow .4s ease}.site-header.is-scrolled{background: rgba(247,245,240,.95);box-shadow: 0 1px 0 var(--border)}.logo{display: flex;align-items: center;gap: 10px}.logo-mark{width: 56px;height: 56px;background: url(../images/logo.webp) no-repeat 50% 22% / 190%;flex: none;background-color: #fff;border-radius: 16px}.logo-text{font-family: var(--font-heading);font-weight: 700;line-height: 1.2;white-space: nowrap}.logo-text .n1{display: block;font-size: 1.375rem;letter-spacing: 0.16em}.logo-text .n2{display: block;font-size: 0.6875rem;letter-spacing: 0.14em;color: var(--text-muted);margin-top: 2px}.gnav{display: none}.header-right{display: flex;align-items: center;gap: 12px}.header-tel{display: none}.header-cta{display: none}.menu-btn{width: 60px;height: 60px;border-radius: 16px;background: #fff;display: grid;place-items: center;align-content: center;gap: 4px;box-shadow: 0 4px 16px rgba(61,58,54,.06)}.menu-btn i{display: block;width: 22px;height: 6px;border-radius: 6px;background: var(--primary-light)}.menu-btn i:nth-child(2){width: 18px}.menu-btn b{display: none;font-family: var(--font-en);font-size: 11px;color: var(--primary);letter-spacing: .04em;line-height: 1;margin-top: 4px}@media (min-width: 1024px){.site-header{padding: 20px var(--gutter)}.gnav{display: flex;gap: clamp(16px,2vw,36px)}.gnav a{font-weight: 700;font-size: 0.9375rem;letter-spacing: 0.08em;transition: color .3s;white-space: nowrap}.gnav a:hover,.gnav a[aria-current="page"]{color: var(--primary)}.header-tel{display: block;text-align: right;line-height: 1.4;white-space: nowrap}.header-tel a{font-family: var(--font-en);font-weight: 800;font-size: 1.125rem;letter-spacing: .06em}.header-tel small{display: block;font-size: 0.75rem;color: var(--text-muted)}.header-cta{display: inline-flex;border-radius: 12px;min-height: 64px;padding: 10px 18px 10px 22px;font-size: 0.875rem;text-align: left;white-space: nowrap;letter-spacing: .06em}.menu-btn{width: 64px;height: 64px}.menu-btn b{display: block}}@media (min-width: 1024px) and (max-width: 1379px){.gnav{display: none}}@media (min-width: 1024px) and (max-width: 1599px){.header-tel{display: none}}@media (min-width: 1380px){.gnav{gap: 24px}.gnav a{font-size: .875rem;letter-spacing: .04em}}.site-menu{position: fixed;inset: 0;z-index: 60;background: var(--bg);padding: 96px var(--gutter) 40px;overflow-y: auto}.site-menu ul{display: grid;gap: 2px}.site-menu nav a{display: block;padding: 10px 0;font-size: 1.25rem;font-weight: 700}.site-menu nav .sub a{font-size: 1rem;font-weight: 500;padding: 6px 0 6px 20px;color: var(--text-muted)}.site-menu .btn{width: 100%;margin-top: 28px}.site-menu .btn + .btn{margin-top: 12px}.site-menu .tel{margin-top: 16px;text-align: center;font-size: .875rem;color: var(--text-muted)}.site-menu .tel a{font-family: var(--font-en);font-weight: 800;font-size: 1.25rem;color: var(--text)}.menu-close{position: absolute;top: 12px;right: var(--gutter);width: 60px;height: 60px;font-size: 28px}.sec{position: relative;padding: 120px 0;background: #fff}.sec.tint{background: var(--bg)}@media (min-width: 1024px){.sec{padding: 180px 0}}.narrow{max-width: calc(1080px + var(--gutter) * 2);margin: 0 auto}.sec-head{text-align: center;margin-bottom: 72px}@media (min-width: 1024px){.sec-head{margin-bottom: 104px}}.sec-title{display: inline-flex;align-items: center;gap: 18px;margin-top: 14px;font-family: var(--font-heading);font-weight: 700;font-size: clamp(1.5rem,2.6vw,2.125rem);line-height: 1.6;letter-spacing: 0.08em}.capsules{display: inline-flex;gap: 6px;transform: rotate(8deg);flex: none}.capsules i{width: 9px;height: 32px;border-radius: 999px;background: var(--primary-light)}.sec-lead{margin: 28px auto 0;max-width: 640px;line-height: 2.2;letter-spacing: .08em}.text-link{display: inline-flex;align-items: center;gap: 8px;margin-top: 28px;color: var(--primary);font-weight: 700;letter-spacing: .08em}.text-link::after{content: "▸";transition: transform .3s}.text-link:hover::after{transform: translateX(4px)}.ic-line{fill: none;stroke: currentColor;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round}.site-footer{position: relative;background: var(--primary);color: #fff;padding: 0 0 32px}.site-footer .hill-top{position: absolute;left: 0;bottom: calc(100% - 1px);display: block;width: 100%;height: 72px}.foot-grid{display: grid;gap: 48px;padding-top: 48px}.foot-brand .logo-badge{width: 72px;height: 72px;border-radius: 18px;background: #fff url(../images/logo.webp) no-repeat 50% 22% / 190%}.foot-brand .name{margin-top: 16px;font-family: var(--font-heading);font-weight: 700;font-size: 1.25rem;letter-spacing: .1em}.foot-brand p{margin-top: 10px;font-size: .9375rem;line-height: 2}.foot-nav ul{display: grid;grid-template-columns: 1fr 1fr;gap: 6px 24px}.foot-nav a{white-space: nowrap;font-size: .9375rem;font-weight: 500;letter-spacing: .06em;line-height: 2.2}.foot-nav a:hover,.foot-contact a:hover{text-decoration: underline;text-underline-offset: 4px}.foot-contact{display: grid;gap: 10px;font-size: .9375rem;line-height: 1.8}.foot-contact .tel{font-family: var(--font-en);font-weight: 800;font-size: 1.375rem;letter-spacing: .04em}.foot-contact .btn{white-space: nowrap;justify-self: start;margin-top: 8px;background: #fff;color: var(--primary);min-height: 48px;padding: 10px 24px}.foot-contact .btn:hover{background: var(--surface)}.foot-bottom{margin-top: 64px;padding-top: 24px;border-top: 1px solid rgba(255,255,255,.3);display: flex;flex-wrap: wrap;justify-content: space-between;gap: 12px;font-size: .8125rem}.foot-bottom a{text-decoration: underline;text-underline-offset: 3px}@media (min-width: 1024px){.foot-grid{grid-template-columns: 1.2fr 1fr 1fr;gap: 64px}.site-footer .hill-top{height: 120px}}:root{--ease-soft: cubic-bezier(.22,1,.36,1);--ease-inout: cubic-bezier(.65,0,.35,1)}.loader{position: fixed;inset: 0;z-index: 100;display: grid;place-items: center;background: var(--bg);transition: opacity .9s var(--ease-inout),visibility .9s}.loader::before,.loader::after{content: "";position: absolute;border-radius: 58% 42% 50% 50% / 52% 48% 52% 48%;opacity: 0;animation: loaderBlob 1.6s var(--ease-soft) .2s forwards}.loader::before{width: 40vmin;height: 36vmin;left: -10vmin;top: -8vmin;background: var(--primary-pale)}.loader::after{width: 34vmin;height: 38vmin;right: -10vmin;bottom: -10vmin;background: #FBEBC0;animation-delay: .4s}.loader-inner{position: relative;z-index: 1;display: grid;justify-items: center;transition: transform .9s var(--ease-inout)}.loader-mark{width: 88px;height: 88px;border-radius: 24px;background: #fff url(../images/logo.webp) no-repeat 50% 22% / 190%;scale: .9;animation: loaderMark 1.1s var(--ease-soft) forwards}.loader-name{display: flex;gap: .2em;margin-top: 22px;font-family: var(--font-heading);font-weight: 700;font-size: 1.375rem;letter-spacing: .1em;color: var(--text)}.loader-name span{opacity: .12;translate: 0 8px;animation: loaderChar .8s var(--ease-soft) forwards}.loader-name span:nth-child(1){animation-delay: .55s}.loader-name span:nth-child(2){animation-delay: .65s}.loader-name span:nth-child(3){animation-delay: .75s}.loader-name span:nth-child(4){animation-delay: .85s}.loader-sub{margin-top: 6px;font-family: var(--font-en);font-size: .6875rem;letter-spacing: .36em;margin-right: -.36em;color: var(--text-muted);opacity: 0;animation: loaderChar .8s var(--ease-soft) 1.05s forwards}.loader-bar{position: relative;width: 120px;height: 2px;margin-top: 28px;border-radius: 2px;background: var(--border);overflow: hidden}.loader-bar i{position: absolute;inset: 0;background: var(--primary-light);transform-origin: left;transform: scaleX(0);animation: loaderBar 1.7s var(--ease-inout) .3s forwards}@keyframes loaderMark{to{scale: 1}}@keyframes loaderChar{to{opacity: 1;translate: 0 0}}@keyframes loaderBar{to{transform: scaleX(1)}}@keyframes loaderBlob{to{opacity: .7}}html:not(.js) .loader,html.skip-loader .loader{display: none}.is-loaded .loader{opacity: 0;visibility: hidden}.is-loaded .loader-inner{transform: translateY(-14px)}html.js:not(.is-loaded) body{overflow: hidden}.js [data-intro]{opacity: 0;translate: 0 var(--y,16px);transition: opacity 1.2s var(--ease-soft) var(--d,0s),translate 1.2s var(--ease-soft) var(--d,0s)}.is-loaded [data-intro]{opacity: 1;translate: 0 0}.js .site-header[data-intro]{transition: opacity 1.2s var(--ease-soft) var(--d,0s),translate 1.2s var(--ease-soft) var(--d,0s),background-color .4s ease,box-shadow .4s ease}.js [data-intro="clip"]{translate: none;clip-path: inset(0 0 100% 0);transition: clip-path 1.6s var(--ease-inout) var(--d,0s),opacity .6s ease var(--d,0s)}.is-loaded [data-intro="clip"]{clip-path: inset(0 0 0 0)}.js [data-intro="photo"]{translate: none;scale: .94;transition: opacity 1.4s var(--ease-soft) var(--d,0s),scale 1.8s var(--ease-soft) var(--d,0s)}.js [data-intro="photo"] img{scale: 1.16;transition: scale 2.8s var(--ease-soft) var(--d,0s)}.is-loaded [data-intro="photo"]{scale: 1}.is-loaded [data-intro="photo"] img{scale: 1}.js [data-intro="rise"]{translate: 0 60px;transition: opacity 1.4s var(--ease-soft) var(--d,0s),translate 1.6s var(--ease-soft) var(--d,0s)}.kenburns img{animation: kenburns 18s ease-in-out infinite alternate}.kenburns.k2 img{animation-duration: 22s;animation-direction: alternate-reverse}@keyframes kenburns{from{transform: scale(1)}to{transform: scale(1.04)}}.js [data-reveal]{opacity: 0;translate: 0 28px;transition: opacity 1.1s var(--ease-soft) var(--d,0s),translate 1.1s var(--ease-soft) var(--d,0s)}.js [data-reveal].is-in{opacity: 1;translate: 0 0}.js [data-reveal="wipe"]{translate: none;clip-path: inset(0 100% 0 0);transition: clip-path 1.3s var(--ease-inout) var(--d,0s),opacity .4s ease var(--d,0s)}.js [data-reveal="wipe"].is-in{clip-path: inset(0 -2% 0 0)}.js [data-reveal="photo"]{translate: none;scale: .96;transition: opacity 1.3s var(--ease-soft) var(--d,0s),scale 1.6s var(--ease-soft) var(--d,0s)}.js [data-reveal="photo"] img{scale: 1.12;transition: scale 2.4s var(--ease-soft) var(--d,0s)}.js [data-reveal="photo"].is-in{scale: 1}.js [data-reveal="photo"].is-in img{scale: 1}[data-parallax]{will-change: translate}body{transition: opacity .45s ease}html.is-leaving body{opacity: 0}@media (prefers-reduced-motion: reduce){.loader{display: none}.js [data-intro],.js [data-reveal]{opacity: 1 !important;translate: none !important;scale: none !important;clip-path: none !important}.js [data-intro] img,.js [data-reveal] img{scale: none !important}html.js:not(.is-loaded) body{overflow: auto}}.u-020eb9{--d:2s !important}.u-062d4a{margin-top:24px !important}.u-066c3a{margin-bottom:64px !important}.u-081309{--d:.35s !important}.u-09c44e{--d:1.1s !important}.u-0c9d1a{--d:1.5s !important}.u-20d75f{--d:.5s !important}.u-2495b8{padding-bottom:0 !important}.u-2733dc{margin-top:64px !important}.u-2bd9fd{max-width:720px !important}.u-2c2868{--d:1.7s !important}.u-301933{object-position:35% 30% !important}.u-38ed6c{position:absolute !important}.u-458836{--d:1.15s !important}.u-47c857{margin-top:28px !important}.u-4b015f{margin-top:32px !important}.u-4b87ae{margin:32px 0 12px !important}.u-511cd1{padding-top:0 !important}.u-553a64{margin-top:14px !important}.u-617029{object-position:50% 10% !important}.u-638da5{--d:.9s !important}.u-665629{object-position:50% 20% !important}.u-7cf592{--d:.15s !important;--y:-12px !important}.u-8806b3{object-position:30% 50% !important}.u-9e3c4c{margin-top:6px !important}.u-9ee862{--d:1.35s !important}.u-a255b8{clip-path:url(#clip-pebble) !important}.u-ad3089{--d:.7s !important}.u-b7c28a{margin-top:72px !important}.u-cb63e9{margin-top:56px !important}.u-d45251{--d:.3s !important}.u-f0e719{--d:.45s !important}.u-fcf402{margin-top:40px !important}
