*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;color:#333;font-family:"Yu Gothic",Meiryo,sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,select,textarea{font:inherit}.demo{font-size:10px;text-align:center;background:#edf4ef;padding:4px 12px;color:#476653}header{display:flex;justify-content:space-between;align-items:center;background:#fffffff2;padding:25px 2.5%;gap:20px;position:sticky;top:0;z-index:10;min-height:95px}.brand{font-size:24px;font-weight:800;letter-spacing:.03em;white-space:nowrap}.brand small{display:block;font:8px Arial;letter-spacing:.18em;color:#438e66;margin-top:5px}nav{display:flex;gap:30px;font-size:12px;font-weight:700}.menu{display:none}.hero{margin:0 2.5%;display:grid;grid-template-columns:repeat(4,1fr);height:570px}.hero>a{position:relative;overflow:hidden}.hero img{height:100%;transition:transform .7s}.hero>a:hover img{transform:scale(1.05)}.hero>a:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#102c20b0)}.hero>a>div{position:absolute;z-index:1;bottom:30px;left:20px;right:20px;color:white}.hero h1,.hero h2{font-size:25px;line-height:1.5;margin:0 0 10px}.hero p{font-size:12px;margin:0}.intro{text-align:center;padding:80px 20px 90px}.intro>span,.area>div>span,.page-title>span{color:#4e8b69;font:11px Arial;letter-spacing:.15em}.intro h2{font-size:31px;font-weight:500;color:#4c9c73;margin:15px 0 24px}.intro p{font-size:14px;line-height:2.4}.service-grid{margin:0 2.5%;display:grid;grid-template-columns:repeat(4,1fr)}.service-grid a{position:relative;overflow:hidden}.service-grid img{aspect-ratio:1;height:auto;transition:transform .4s}.service-grid span{position:absolute;left:0;right:0;bottom:0;background:#fffffff2;padding:12px 15px;font-size:13px;color:#31804f}.service-grid b{float:right}.service-grid a:hover img{transform:scale(1.04)}.panels{background:#f6f6f6;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:65px 2.5%}.panels>a{text-align:center}.panels strong{display:grid;place-items:center;width:135px;height:135px;background:#21914e;color:white;font:22px Arial;margin:auto;font-weight:300}.panels p{font-size:13px;padding:22px 10px 30px;line-height:2}.panels img{height:220px}.works{padding:65px 2.5%;text-align:center}.works-title h2{font-size:27px;font-weight:500}.works-title p{font-size:13px;margin-bottom:40px}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;text-align:left}.works-grid img{aspect-ratio:1.55;height:auto}.works-grid h3{font-size:14px;font-weight:500;margin:13px 0 25px}.outline{display:inline-block;border:1px solid #7a9685;background:white;color:#315f45;padding:12px 30px;font-size:13px;cursor:pointer}.works>.outline{margin-top:20px}.area{padding:60px 5%;background:#edf4ef;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}.area h2{font-size:28px;font-weight:500}.area p{font-size:13px}.area figure{margin:0}.area img{height:auto}.area figcaption{font-size:9px;color:#5a6e61;padding-top:7px}.area figcaption a{text-decoration:underline}footer{background:#f5f5f5;padding:55px 3% 15px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.gallery h3{font:14px Arial;margin:0 0 20px}.gallery>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gallery img{aspect-ratio:1;height:auto}.address{padding-top:30px;font-size:13px}.address b{font-size:23px}.address small{font-size:10px}.copyright{grid-column:1/-1;font-size:10px;text-align:center;border-top:1px solid #ddd;padding-top:15px}.top{position:fixed;bottom:18px;right:18px;background:#333b;color:white;padding:8px 18px;z-index:5}.page-title{background:#edf4ef;padding:60px 6%}.page-title h1{font-size:30px;font-weight:500}.guide{width:min(1000px,88%);margin:auto}.guide>section{padding:50px 0;border-bottom:1px solid #ddd}.guide h2{font-size:28px;font-weight:500;color:#317e52}.detail{display:grid;grid-template-columns:240px 1fr;gap:35px;margin:25px 0;padding:20px 0}.detail img{height:170px}.detail h3{font-size:20px;font-weight:500}.detail p,.guide p{font-size:14px}.text-link{font-size:13px;text-decoration:underline}.table{display:grid;grid-template-columns:250px 1fr;font-size:14px}.table dt,.table dd{padding:15px;border-bottom:1px solid #ddd;margin:0}.table dt{background:#f3f6f3}details{padding:20px 0;border-bottom:1px solid #ddd}summary{cursor:pointer;font-size:14px}.notice{background:#f2f5ef;padding:18px}form{max-width:700px}label{display:block;margin:20px 0;font-size:13px}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #b4c3ba;margin-top:7px;background:white}#summary dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 20px}[hidden]{display:none!important}:focus-visible{outline:3px solid #438d66;outline-offset:4px}
@media(max-width:1000px){nav{gap:15px;font-size:11px}.brand{font-size:21px}.hero{height:480px}.hero h1,.hero h2{font-size:20px}.hero>a>div{left:12px;right:12px}.intro h2{font-size:27px}.panels img{height:170px}}
@media(max-width:700px){html{scroll-padding-top:90px}header{padding:18px 5%;min-height:78px}.menu{display:block;border:1px solid #ccc;background:white;font-size:11px;padding:7px 10px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 5%;box-shadow:0 6px 10px #0001}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hero{height:auto;grid-template-columns:repeat(2,1fr);margin:0 4%}.hero>a{height:295px}.hero h1,.hero h2{font-size:19px}.hero p{font-size:10px}.hero>a>div{bottom:16px}.intro{padding:45px 6%}.intro h2{font-size:24px}.intro p{font-size:12px}.service-grid{grid-template-columns:repeat(2,1fr);margin:0 4%}.service-grid span{font-size:11px;padding:8px}.panels{gap:12px;padding:35px 4%}.panels strong{width:85px;height:85px;font-size:15px}.panels p{font-size:10px;padding:12px 0;min-height:95px}.panels img{height:105px}.works{padding:35px 4%}.works-grid{grid-template-columns:1fr 1fr;gap:15px}.works-grid h3{font-size:11px}.works-title p{font-size:11px}.area{grid-template-columns:1fr;gap:20px;padding:40px 6%}.area h2{font-size:25px}footer{grid-template-columns:1fr;gap:20px;padding:35px 6%}.address{padding-top:0}.page-title{padding:35px 6%}.page-title h1{font-size:24px}.detail{grid-template-columns:1fr;gap:10px}.detail img{height:220px}.detail h3{margin:5px 0}.table{grid-template-columns:1fr}.table dd{padding-bottom:22px}.guide h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:700px){.hero h1,.hero h2{font-size:16px;letter-spacing:-.03em}}
