:root{
  --green:#7ea240;
  --green-dark:#5c8730;
  --green-soft:#edf6df;
  --pink:#ea7f86;
  --pink-soft:#fff0f2;
  --brown:#4a3329;
  --brown-soft:#fff8ef;
  --blue-soft:#f0f8fc;
  --line:#ebe2d7;
  --text:#3f342e;
  --muted:#786c65;
  --shadow:0 22px 54px rgba(83,68,48,.10);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;color:var(--text);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif;line-height:1.8;letter-spacing:.02em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1160px,calc(100% - 56px));margin-inline:auto}.container.compact{width:min(1080px,calc(100% - 56px))}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,219,210,.62)}
.header-inner{height:88px;display:flex;align-items:center;gap:28px}.brand{width:142px;flex:0 0 auto}.brand img{width:136px}.global-nav{display:flex;align-items:center;justify-content:center;gap:18px;flex:1;font-size:12px;font-weight:700;color:#51443f;white-space:nowrap}.global-nav a{opacity:.86;transition:.2s}.global-nav a:hover{color:var(--green);opacity:1}.header-phone{display:grid;gap:2px;justify-items:end;line-height:1.1;white-space:nowrap}.header-phone span{font-size:12px;color:var(--green);border:1px solid #d7e9bb;border-radius:999px;padding:4px 10px;background:#fbfff6}.header-phone strong{font-size:24px;color:var(--green);font-family:Georgia,"Times New Roman",serif;letter-spacing:.02em}.header-phone strong::before{content:"☎ ";font-size:18px}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;min-height:535px;background:linear-gradient(90deg,#fff 0%,#fff 36%,#fff8f6 100%)}.hero::after{content:"";position:absolute;inset:auto 0 0;height:95px;background:linear-gradient(178deg,rgba(255,255,255,0) 0 42%,#fff 43%);z-index:1}.hero-inner{position:relative;z-index:4;min-height:535px;display:flex;align-items:center}.hero-copy{width:48%;padding-top:8px}.hero-copy h1{margin:0 0 26px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:46px;line-height:1.55;letter-spacing:.05em;color:#4b342d;font-weight:700}.hero-copy p{font-size:17px;font-weight:700;color:#5b504a;margin:0 0 26px}.hero-actions{display:flex;gap:20px;margin-bottom:31px}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:180px;height:56px;border-radius:999px;color:#fff;font-size:15px;font-weight:800;box-shadow:0 12px 24px rgba(70,90,38,.12)}.btn::after{content:"›";font-size:24px;line-height:1;margin-left:20px}.btn-green{background:linear-gradient(135deg,#8db343,#679333)}.btn-pink{background:linear-gradient(135deg,#ee8d91,#e36e79)}.trust-badges{display:flex;gap:14px;align-items:center}.badge{height:70px;min-width:130px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 12px 24px rgba(84,66,48,.08);display:flex;align-items:center;justify-content:center;gap:11px;font-size:13px;font-weight:800;color:#534944;border:1px solid rgba(229,224,217,.6)}.badge img{width:35px;height:35px}.badge.wide{min-width:186px}.hero-visual{position:absolute;right:36px;bottom:38px;width:min(56%,760px);z-index:2;pointer-events:none}.hero-visual::before{content:"";position:absolute;inset:-35px -64px -42px -65px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.96),rgba(255,255,255,.54) 40%,rgba(255,255,255,0) 66%);z-index:-1}.hero-visual img{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 22px rgba(78,58,40,.10))}.hero-sakura{position:absolute;background-image:url("../images/sakura-blossoms.png");background-size:cover;background-position:center;opacity:.18;pointer-events:none;z-index:3}.hero-sakura-top{right:-115px;top:34px;width:390px;height:220px;transform:rotate(3deg)}.hero-sakura-bottom{right:-88px;bottom:30px;width:360px;height:170px;opacity:.18;transform:rotate(180deg)}.hero-wave{position:absolute;left:0;right:0;bottom:0;height:58px;background:linear-gradient(178deg,rgba(255,255,255,0) 0 42%,rgba(230,241,202,.8) 43% 50%,#fff 51%);z-index:3}
.section{padding:62px 0}.section-heading{text-align:center;margin-bottom:34px}.section-heading h2,.mini-heading h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#5a4339;letter-spacing:.06em}.section-heading h2{display:inline;font-size:30px;margin:0 9px}.section-heading p{margin:12px 0 0;color:#756b64;font-weight:700}.leaf-mark{display:inline-block;width:18px;height:18px;background:url("../icons/leaf.svg") center/contain no-repeat;transform:rotate(-26deg);opacity:.92;vertical-align:middle}.leaf-mark-right{transform:rotate(26deg) scaleX(-1)}.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.plan-card{min-height:310px;border:1px solid rgba(226,219,210,.75);border-radius:22px;padding:30px 26px 26px;text-align:center;box-shadow:0 22px 44px rgba(89,72,53,.07)}.plan-card h3{min-height:52px;margin:0 0 18px;font-size:20px;line-height:1.45}.plan-card small{font-size:.82em}.plan-icon{width:66px;height:66px;margin:0 auto 18px}.price{font-weight:800;margin:0 0 4px;color:#4b342d;font-size:17px;white-space:nowrap}.price span{font-size:36px;font-family:Georgia,"Times New Roman",serif;letter-spacing:-.02em}.desc{font-weight:800;font-size:14px;color:#695b52;margin:0 0 22px}.small-btn{display:inline-flex;align-items:center;justify-content:center;width:160px;height:42px;border-radius:999px;font-size:14px;font-weight:800;background:#fff;border:2px solid currentColor}.small-btn::after{content:"›";font-size:19px;margin-left:16px}.plan-green{background:linear-gradient(180deg,#fbfdf7,#f8fbef);color:#6d9638}.plan-blue{background:linear-gradient(180deg,#f9fcff,#f1f8fc);color:#608ba0}.plan-brown{background:linear-gradient(180deg,#fffdf9,#fff7ee);color:#b17d45}.plan-pink{background:linear-gradient(180deg,#fffafa,#fff3f5);color:#e27b86}.plan-card .price,.plan-card .desc{color:#4b342d}.note{text-align:center;margin:20px 0 0;font-size:13px;font-weight:700;color:#756b64}.mini-heading{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;margin-bottom:24px}.mini-heading h2{margin:0;font-size:26px}.compare-section{padding-top:18px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 42px rgba(83,68,48,.06);background:white}.compare-table{width:100%;border-collapse:collapse;min-width:850px;font-size:14px}.compare-table th,.compare-table td{border:1px solid #eee7dc;padding:14px 12px;text-align:center;font-weight:700}.compare-table thead th{background:#fffaf0;color:#836342}.compare-table thead th:nth-child(2){background:#f5faeb;color:#6f963e}.compare-table tbody th{text-align:left;background:#fffdf9;color:#6b5b50;width:175px}.compare-table td{color:#9b7f5e}.contact-band{padding:30px 0 58px}.contact-card{display:grid;grid-template-columns:190px 1fr 280px;gap:28px;align-items:center;min-height:164px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:24px 34px 24px 24px;border:1px solid rgba(233,225,216,.7)}.contact-face{align-self:end;width:160px;border-radius:18px;object-fit:cover}.contact-main{text-align:center}.contact-main p{font-weight:800;color:#5f5048;margin:0 0 8px}.large-phone{display:inline-flex;align-items:center;font-family:Georgia,"Times New Roman",serif;font-size:44px;line-height:1;color:var(--green);letter-spacing:.03em;font-weight:700}.large-phone img{width:36px;margin-right:14px}.open-pill{display:inline-flex;margin-top:14px;align-items:center;justify-content:center;min-width:220px;height:28px;border-radius:999px;background:var(--green);color:white;font-size:13px;font-weight:800}.mail-cta{height:98px;border-radius:14px;background:linear-gradient(135deg,#ee8d91,#df6974);color:white;display:grid;grid-template-columns:42px 1fr;align-items:center;padding:0 26px;box-shadow:0 14px 28px rgba(223,105,116,.22)}.mail-cta img{width:36px;grid-row:span 2}.mail-cta strong{font-size:20px;line-height:1.2}.mail-cta small{font-size:13px;font-weight:700;opacity:.94}.flower-section{position:relative;overflow:hidden;padding:78px 0 82px;background:linear-gradient(90deg,rgba(255,243,244,.95),rgba(255,255,255,.82)),url("../images/sakura-blossoms.png") center/cover no-repeat}.flower-inner{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}.flower-copy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:34px;line-height:1.65;margin:0 0 18px;color:#4e352d}.flower-copy p{font-weight:700;color:#5f5048;margin:0 0 24px}.text-link{font-weight:900;border-bottom:1px solid #7b604f;color:#624a40}.text-link::after{content:"  ○";color:#b2846f}.flower-plans{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.flower-card{overflow:hidden;min-height:260px;text-align:center;background:rgba(255,255,255,.9);border:1px solid rgba(235,226,215,.75);border-radius:18px;box-shadow:0 20px 38px rgba(102,72,56,.11);padding:26px 22px 0}.flower-card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;margin:0 0 8px}.flower-price{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:700;color:#4e352d}.flower-price small{font-family:inherit;font-size:14px}.flower-card p:not(.flower-price){font-size:14px;font-weight:800;margin:0 0 17px}.flower-card img{width:calc(100% + 44px);height:84px;margin:0 -22px;object-fit:cover}.assurance-section{padding-top:70px}.assurance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.assurance-grid article{min-height:178px;border:1px solid #e7edda;background:#fff;border-radius:16px;text-align:center;padding:24px 20px 20px;box-shadow:0 14px 28px rgba(75,83,55,.05)}.assurance-grid article:nth-last-child(-n+3){transform:translateX(calc(50% + 11px))}.assurance-grid img{width:58px;height:58px;margin:0 auto 10px}.assurance-grid .hokkaido-icon{width:68px;height:auto;margin-bottom:16px}.assurance-grid h3{font-size:17px;line-height:1.45;margin:0 0 8px;color:#4f473d}.assurance-grid p{font-size:12px;line-height:1.7;margin:0;color:#70655d;font-weight:700}.flow-section{padding-top:25px}.flow-list{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin:0;padding:0}.flow-list li{position:relative;background:#fff;border:1px solid #edf0e7;border-radius:14px;text-align:center;min-height:165px;padding:22px 16px 18px;box-shadow:0 12px 26px rgba(75,83,55,.05)}.flow-list li:not(:last-child)::after{content:"›";position:absolute;right:-18px;top:50%;transform:translateY(-50%);font-size:40px;color:#b8ca93}.flow-list span{position:absolute;top:16px;left:16px;width:28px;height:28px;background:var(--green);color:white;border-radius:50%;font-weight:900;line-height:28px}.flow-list img{height:46px;width:46px;margin:20px auto 2px}.flow-list h3{font-size:16px;margin:0 0 6px;color:#5a8431}.flow-list p{font-size:12px;line-height:1.7;margin:0;color:#6f655f;font-weight:700}.area-section{padding:36px 0 56px}.area-card{display:grid;grid-template-columns:1fr 1.75fr;gap:34px;align-items:center;border-radius:20px;background:linear-gradient(90deg,#fbfff4,#fff);box-shadow:0 20px 50px rgba(80,92,63,.09);border:1px solid #edf1e4;padding:28px}.area-copy{position:relative;min-height:170px}.area-copy h2{color:#7a9e3e;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:26px;margin:0 0 12px}.area-copy p{font-size:14px;font-weight:700;color:#625953;margin:0;position:relative;z-index:1}.area-copy .map{position:absolute;right:-26px;bottom:-28px;width:230px;opacity:.58}.area-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.area-features article{background:#fff;border-radius:16px;box-shadow:0 12px 30px rgba(82,72,62,.08);padding:14px 14px 18px;text-align:center}.area-features img{width:100%;height:80px;object-fit:cover;border-radius:12px;margin-bottom:12px}.area-features h3{font-size:16px;margin:0 0 4px;color:#5c4a3f}.area-features p{font-size:12px;line-height:1.6;margin:0;color:#746a63;font-weight:700}.site-footer{padding:42px 0 18px;border-top:1px solid #efe9df;background:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1.1fr .8fr .8fr;gap:38px;align-items:start}.footer-brand img{width:142px;margin-bottom:18px}.footer-brand p{font-size:14px;font-weight:700;color:#6b625b;margin:0 0 12px}.registration{font-size:12px!important}.footer-contact{text-align:center}.footer-contact a{display:block;color:var(--green);font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:700;margin-bottom:10px}.footer-contact a::before{content:"✉ ";font-size:20px}.footer-contact span{display:inline-flex;border:1px solid #cfe2ac;border-radius:999px;color:var(--green);padding:6px 18px;font-size:13px;font-weight:800;margin-bottom:8px}.footer-contact small{display:block;color:#7a716a;font-weight:700}.footer-links h3{font-size:14px;margin:0 0 12px;color:#4f443e}.footer-links a{display:block;font-size:12px;font-weight:700;color:#6d625d;margin-bottom:4px}.copyright{text-align:center;font-size:12px;color:#8b827c;margin:26px 0 0}
.intro-section{padding-top:44px;padding-bottom:24px;background:linear-gradient(180deg,#fff,#fffdfb)}.intro-panel{display:grid;grid-template-columns:1fr 1.35fr;gap:34px;align-items:center;border:1px solid rgba(231,237,218,.9);border-radius:18px;background:linear-gradient(135deg,#fbfff5,#fff);box-shadow:0 16px 38px rgba(80,92,63,.06);padding:30px 34px}.section-kicker{display:inline-flex;color:var(--green);font-size:13px;font-weight:900;letter-spacing:.08em;margin-bottom:8px}.intro-copy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:28px;line-height:1.55;color:#4e352d;margin:0 0 10px}.intro-copy p,.section-lead{font-size:14px;font-weight:700;color:#625953;margin:0}.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.concept-grid article,.pet-grid article{background:#fff;border:1px solid #edf0e7;border-radius:14px;box-shadow:0 12px 28px rgba(75,83,55,.05);padding:20px 18px}.concept-grid strong{display:block;color:#6f963e;font-size:17px;margin-bottom:7px}.concept-grid span{font-size:12px;font-weight:700;color:#746a63;line-height:1.7}.pet-section{padding-top:22px}.section-lead{text-align:center;margin:-8px 0 24px}.pet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.pet-grid h3{margin:0 0 8px;color:#6f963e;font-size:18px}.pet-grid p{font-size:13px;font-weight:700;color:#70655d;line-height:1.7;margin:0}
.flow-list .flow-step{position:absolute;top:16px;left:16px;width:28px;height:28px;background:var(--green);color:white;border-radius:50%;font-weight:900;line-height:28px}
.ui-icon{object-fit:contain;filter:brightness(0) saturate(100%);background:none!important}.plan-icon.ui-icon{width:76px;height:76px;margin:0 auto 22px}.plan-green .ui-icon{filter:brightness(0) saturate(100%) invert(48%) sepia(45%) saturate(573%) hue-rotate(47deg) brightness(92%) contrast(88%)}.plan-blue .ui-icon{filter:brightness(0) saturate(100%) invert(55%) sepia(18%) saturate(776%) hue-rotate(153deg) brightness(91%) contrast(87%)}.plan-brown .ui-icon{filter:brightness(0) saturate(100%) invert(52%) sepia(34%) saturate(774%) hue-rotate(351deg) brightness(91%) contrast(86%)}.plan-pink .ui-icon{filter:brightness(0) saturate(100%) invert(67%) sepia(54%) saturate(1070%) hue-rotate(303deg) brightness(91%) contrast(89%)}.flower-icon.ui-icon{width:56px;height:56px;margin:0 auto 8px;filter:brightness(0) saturate(100%) invert(63%) sepia(42%) saturate(658%) hue-rotate(355deg) brightness(92%) contrast(88%)}.assurance-icon.ui-icon{width:62px;height:62px;margin:0 auto 10px;filter:brightness(0) saturate(100%) invert(58%) sepia(31%) saturate(829%) hue-rotate(43deg) brightness(90%) contrast(86%)}.flow-list .flow-icon.ui-icon{position:static;display:block;width:58px;height:58px;margin:22px auto 5px;border-radius:0;filter:brightness(0) saturate(100%) invert(58%) sepia(6%) saturate(1225%) hue-rotate(6deg) brightness(94%) contrast(85%)}.flow-list li:nth-child(1) .flow-icon.ui-icon{filter:brightness(0) saturate(100%) invert(48%) sepia(45%) saturate(573%) hue-rotate(47deg) brightness(92%) contrast(88%)}.flow-list li:nth-child(3) .flow-icon.ui-icon{filter:brightness(0) saturate(100%) invert(69%) sepia(37%) saturate(927%) hue-rotate(303deg) brightness(91%) contrast(86%)}.flow-list li:nth-child(4) .flow-icon.ui-icon{filter:brightness(0) saturate(100%) invert(55%) sepia(18%) saturate(776%) hue-rotate(153deg) brightness(91%) contrast(87%)}.flow-list li:nth-child(5) .flow-icon.ui-icon{filter:brightness(0) saturate(100%) invert(52%) sepia(34%) saturate(774%) hue-rotate(351deg) brightness(91%) contrast(86%)}
.flower-card{min-height:286px;padding:0 22px 24px}
.flower-card .flower-photo{width:calc(100% + 44px);height:118px;margin:0 -22px 22px;object-fit:cover}
.flower-card h3{margin-top:0}
.flow-list .flow-icon.original-icon{position:static;display:block;width:54px;height:54px;margin:22px auto 5px;border-radius:0;object-fit:contain;filter:none;background:none}
@media (max-width:960px){
  .container,.container.compact{width:min(100% - 34px,760px)}
  .header-inner{height:76px;gap:14px;position:relative}
  .brand{width:110px}.brand img{width:108px}
  .header-phone{margin-left:auto}.header-phone strong{font-size:18px}
  .menu-toggle{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:2px solid #86c95f;border-radius:8px;background:#fff;color:#86c95f;padding:0;box-shadow:0 8px 20px rgba(80,92,63,.08);cursor:pointer}
  .menu-toggle span{display:block;width:24px;height:4px;background:currentColor;border-radius:999px}
  .global-nav{display:none;position:absolute;top:calc(100% + 10px);right:0;width:min(286px,calc(100vw - 34px));flex:0 0 auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:8px;background:rgba(255,255,255,.96);border:1px solid rgba(215,233,187,.95);border-radius:12px;box-shadow:0 18px 44px rgba(83,68,48,.16);backdrop-filter:blur(14px);font-size:14px;z-index:60}
  .global-nav.is-open{display:flex}
  .global-nav a{display:block;padding:10px 12px;border-radius:8px;border-bottom:1px solid rgba(226,219,210,.5)}
  .global-nav a:last-child{border-bottom:0}
  .hero{min-height:auto}.hero-inner{display:block;padding:54px 0 120px}.hero-copy{width:100%;position:relative;z-index:3}.hero-copy h1{font-size:34px}.hero-visual{position:relative;width:100%;right:auto;bottom:auto;margin-top:24px}.trust-badges{flex-wrap:wrap}
  .intro-panel{grid-template-columns:1fr}.concept-grid{grid-template-columns:1fr 1fr}.plan-grid,.assurance-grid,.flower-plans,.area-features,.pet-grid{grid-template-columns:1fr 1fr}.contact-card{grid-template-columns:120px 1fr;gap:18px}.mail-cta{grid-column:1/-1}.flower-inner,.area-card,.footer-grid{grid-template-columns:1fr}.assurance-grid article:nth-last-child(-n+3){transform:none}.flow-list{grid-template-columns:1fr 1fr}.flow-list li:not(:last-child)::after{display:none}
}
@media (max-width:560px){
  html{scroll-padding-top:96px}
  .hero-copy h1{font-size:28px}.btn{min-width:0;width:100%}.hero-actions{flex-direction:column}.concept-grid,.plan-grid,.assurance-grid,.flower-plans,.area-features,.flow-list,.pet-grid{grid-template-columns:1fr}.intro-panel{padding:24px 20px}.contact-card{display:block;text-align:center}.contact-face{margin:0 auto 16px}.large-phone{font-size:32px}.footer-grid{text-align:center}.footer-brand img{margin-inline:auto}.area-copy .map{position:static;width:180px;margin:20px auto 0}.compare-table{font-size:12px}
}
@media (max-width:380px){
  .container,.container.compact{width:min(100% - 24px,760px)}
  .header-inner{gap:8px}
  .brand{width:96px}.brand img{width:94px}
  .header-phone span{display:none}.header-phone strong{font-size:15px}.header-phone strong::before{font-size:14px}
  .menu-toggle{width:44px;height:44px}.menu-toggle span{width:22px;height:3px}
}
