*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font:16px/1.9 "Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#304b3d;background:#fffef8}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1160px;margin:auto;padding:0 28px}header{position:sticky;top:0;background:#fffef8f5;z-index:5;border-bottom:1px solid #e1e8da}.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}.brand{display:flex;align-items:center;gap:12px}.brand img{width:56px;height:56px}.brand b{font-size:40px;font-family:"富士ポップ","富士ポップP","Fuji Pop","HGP創英角ﾎﾟｯﾌﾟ体","Hiragino Maru Gothic ProN",Meiryo,sans-serif;font-weight:700;line-height:1.2;color:#16902d}.brand small{display:block;font-size:12px}nav{display:flex;gap:24px;align-items:center;font-size:13px;font-weight:bold}.btn{display:inline-flex;align-items:center;justify-content:center;background:#14872a;color:white;border:1px solid #14872a;padding:12px 25px;border-radius:30px;font-weight:700;font-size:14px}.btn.light{background:white;color:#14872a}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero{background:radial-gradient(ellipse at 90% 20%,#e3f2d3,transparent 65%);padding:65px 0 75px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.12em;color:#548568;font-weight:bold}h1{font-size:46px;line-height:1.55;letter-spacing:.02em;color:#14872a;margin:20px 0 24px}h2{font-size:32px;line-height:1.6;color:#14872a;margin:10px 0 24px}h3{font-size:20px;line-height:1.6;margin:10px 0}p{margin:0 0 20px}.hero p{font-size:16px}.hero figure{margin:0;position:relative}.hero img{aspect-ratio:1;object-fit:cover;border-radius:100px 25px 100px 25px}.hero figcaption{text-align:right;font-size:10px;color:#71806d;margin-top:8px}.hero-tag{position:absolute;bottom:35px;left:-15px;padding:14px 25px;background:#16902d;border:4px solid white;border-radius:18px;font-weight:bold;color:#fff;transform:rotate(-3deg)}.ribbon{background:#14872a;color:white}.ribbon .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:19px;padding-bottom:19px;font-weight:bold}.section{padding:75px 0}.white{background:white}.intro{max-width:760px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#f0f6e9;padding:28px;border-radius:18px}.card p{font-size:14px;margin:0}.num{font-size:12px;color:#518362;letter-spacing:.1em}.card:nth-child(3n+2){background:#fff4d9}.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}.panel{padding:32px;border:1px solid #d9e5d4;border-radius:20px;background:white}.panel h3{color:#14872a}.steps{padding:0;list-style:none;counter-reset:step}.steps li{counter-increment:step;display:flex;align-items:center;gap:14px;border-top:1px solid #e0e7d8;padding:14px 0}.steps li:before{content:counter(step,decimal-leading-zero);font-size:13px;background:#edf5df;border-radius:50%;padding:5px 10px;color:#14872a}.note{font-size:12px;color:#64745d;margin-top:18px}.tags{display:flex;gap:12px;flex-wrap:wrap}.tags span{padding:9px 21px;border-radius:30px;background:#edf5df;font-size:15px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:top;padding:17px 12px;border-bottom:1px solid #dfe7d7}th{width:30%;color:#41714c}details{padding:20px 0;border-bottom:1px solid #dce5d5}summary{font-weight:bold;cursor:pointer}details p{margin:15px 0 0;font-size:14px}.contact{background:#eaf4de;border-radius:26px;padding:44px;text-align:center}.phone{display:block;font-size:42px;color:#14872a;font-weight:800;line-height:1.5}.map{width:100%;height:330px;border:0;border-radius:18px}.group{background:#f0f5e9;padding:40px 0}.group .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}footer{padding:32px 0 90px;font-size:12px}.mobile-contact{display:none}a:focus-visible,summary:focus-visible{outline:3px solid #b38a17;outline-offset:4px}@media(max-width:900px){nav a:not(.btn){display:none}h1{font-size:36px}.hero-grid{gap:26px}.cards{grid-template-columns:1fr 1fr}}@media(max-width:600px){.wrap{padding:0 22px}.bar{padding:12px 0}.brand img{width:44px;height:44px}.brand b{font-size:32px}.brand small{font-size:10px}nav .btn{font-size:11px;padding:9px 14px}.hero{padding:32px 0 45px}.hero-grid,.two,.cards{grid-template-columns:1fr}h1{font-size:35px}h2{font-size:26px}.hero figure{margin-top:12px}.hero-tag{left:-8px;font-size:14px}.ribbon .wrap{display:block;font-size:13px;padding-top:15px;padding-bottom:15px}.ribbon span{display:block}.section{padding:48px 0}.panel,.card{padding:24px}.contact{padding:30px 17px}.phone{font-size:32px}.group .wrap{display:block}.group .btn{margin-top:15px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;padding:10px;background:white;border-top:1px solid #dce5d5;z-index:6}.mobile-contact a{width:100%}.map{height:280px}th{width:33%}th,td{padding:13px 8px;font-size:12px}}
.btn.instagram{gap:12px;background:linear-gradient(120deg,#653bb5,#b12884 48%,#bc3e45 76%,#a94b25);color:white;border:0}.instagram:hover{filter:brightness(1.08)}

header .brand small{font-size:16px;font-weight:800;line-height:1.5;letter-spacing:0}
@media(max-width:600px){header .brand small{font-size:13px;font-weight:800}}

@media(max-width:600px){header .bar{flex-wrap:wrap;row-gap:10px}}
