:root{--blue:#034593;--green:#409b22;--ink:#273a4b;--line:#d6e2e6}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font:16px/1.9 "Yu Gothic","Meiryo",sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #efab27;outline-offset:4px}.masthead{max-width:1280px;margin:auto;padding:21px 38px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;color:#080d10;font-size:clamp(28px,3.45vw,44px);line-height:1.45;white-space:nowrap}.brand small{display:block;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:clamp(12px,1.35vw,17px);font-weight:600}.brand small span{margin-left:12px}.header-contact{background:linear-gradient(#0755b8,#003c90);color:white;border-radius:5px;padding:11px 25px;display:flex;gap:17px;align-items:center;font-size:23px;font-weight:bold;line-height:1.6}.header-contact small{display:block;font-size:12px;font-weight:500}.header-contact b{margin-left:16px;font-size:34px;line-height:1}.mail{font-size:38px;line-height:1}nav{background:linear-gradient(100deg,#03428e,#064ea7);color:white}nav>div{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}nav a{position:relative;text-align:center;padding:11px 10px;font-weight:600;font-size:18px}nav a:hover{background:#ffffff15}nav a[aria-current]:after{content:"";height:4px;position:absolute;bottom:0;left:20%;right:20%;background:#b7dc99}.menu{display:none}#test-notice{margin:0;padding:5px 20px;background:#b91c1c;color:#fff;font-weight:700;font-size:18px;text-align:center;letter-spacing:.15em}.hero{position:relative;min-height:600px;height:60vw;max-height:770px;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%}.hero-content{position:relative;z-index:1;max-width:1280px;padding:clamp(85px,13vw,170px) 6.8% 150px;margin:auto}.hero-content:before{content:"";position:absolute;z-index:-1;inset:13% 15% 8% 3%;background:radial-gradient(ellipse,#fff9,transparent 72%);pointer-events:none}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--blue);font-size:clamp(32px,4vw,51px);font-weight:700;line-height:1.5;margin:0;letter-spacing:.025em;text-shadow:0 1px 8px #ffffffb0}h1 span{font-size:.82em}.green-rule{width:80px;height:2px;background:#82c461;margin:20px 0 14px}.hero-subtitle{font-family:"Yu Mincho",serif;font-size:clamp(17px,2.05vw,25px);margin:0;text-shadow:0 1px 5px #fff}.handwritten{position:absolute;right:5%;top:13%;color:var(--blue);font-family:"Yu Mincho",serif;font-size:clamp(20px,2.9vw,37px);line-height:1.4;letter-spacing:.14em;transform:rotate(-11deg);margin:0;padding-bottom:14px;border-bottom:2px solid #98ce6a}.handwritten span{margin-left:1.8em}.hero-bottom{position:absolute;bottom:28px;left:8%;right:8%;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;color:white}.hero-bottom img{width:48%;height:auto;max-width:550px}.hero-bottom p{margin:0 3% 0 0;font-family:serif;line-height:1.65;font-size:20px;text-shadow:0 2px 8px #163d17}.hero-bottom strong{display:block;font-size:24px;font-weight:500;letter-spacing:.09em;margin-top:8px}.service-inner{max-width:1280px;margin:auto;padding:32px 42px 28px}h2{font-family:"Yu Mincho",serif;font-size:42px;line-height:1.4;color:var(--blue);margin:0 0 24px;border-left:6px solid #4aa631;padding-left:23px}h3{font-size:25px;line-height:1.65;color:var(--blue);margin:0 0 13px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.service-grid figure{margin:0}.service-grid img{display:block;width:100%;height:285px;object-fit:cover;object-position:50% 38%;border-radius:4px}.service-grid p{font-size:20px;line-height:1.9;margin:0}.contact-banner{background:url('/assets/hero-pattern2.png') center 79%/cover;padding:80px 7%;position:relative}.contact-box{position:relative;max-width:1100px;margin:auto;padding:24px 28px;background:#fffffff2;display:flex;align-items:center;gap:22px;border-radius:6px;color:var(--blue)}.contact-box>.mail{background:var(--blue);color:white;padding:17px;border-radius:5px;font-size:42px}.contact-box p{font-size:19px;font-weight:bold;margin:0}.green-button{margin-left:auto;background:linear-gradient(110deg,#4caa24,#348f1c);color:white;border-radius:5px;padding:16px 30px;min-width:280px;display:flex;justify-content:space-between;align-items:center;font-size:26px;font-weight:600;gap:30px}.green-button:hover{background:#287919}.green-button span{font-size:34px;line-height:1}footer{max-width:1280px;margin:auto;padding:22px 38px 30px;display:flex;justify-content:space-between;align-items:center;gap:25px;color:#161b21}.footer-brand{font:700 27px/1.7 "Yu Mincho",serif}footer p{font-size:12px;margin:0}.footer-links{display:flex;gap:0;font-size:13px;color:#56616a}.footer-links a{padding:0 13px;border-right:1px solid #bcc5c9}.footer-links a:last-child{border:0}.section{max-width:1100px;margin:auto;padding:65px 35px 80px;display:grid;grid-template-columns:1fr 1.6fr;gap:65px;min-height:580px}.section h2{font-size:34px;padding-left:16px}.eyebrow{font-size:12px;letter-spacing:.16em;color:#548a39;margin:0 0 15px}.section-content>p{line-height:2}dl{margin-top:30px}dl div{display:grid;grid-template-columns:95px 1fr;gap:10px;border-top:1px solid var(--line);padding:20px 0;font-size:14px}dt{font-weight:bold}dd{margin:0}form{padding:28px;border:1px solid var(--line);border-radius:5px;background:#fafcf9}.form-note{font-size:13px;margin:0 0 20px}fieldset{border:0;margin:0;padding:0;min-width:0}label{display:block;font-size:14px;font-weight:bold;margin-bottom:22px}em{font-style:normal;background:#e4efdf;color:#356423;font-size:11px;padding:2px 6px;margin-left:8px}.optional{font-size:11px;color:#68767b;margin-left:8px}input:not([type=checkbox]),textarea{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #afc4c8;background:#fff;border-radius:3px;color:var(--ink)}textarea{resize:vertical}.privacy{font-size:12px;padding:16px;background:#eaf1e6}.privacy p{margin-bottom:0}.consent{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;margin:22px 0}.consent input{width:18px;height:18px}.button{background:var(--blue);color:#fff;border:0;padding:14px 25px;border-radius:4px;display:inline-flex;gap:30px;font-weight:600;cursor:pointer}.button:disabled{opacity:.5;cursor:default}#form-status{font-size:14px;margin-bottom:0}#email-contact{overflow-wrap:anywhere}.trap,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-80px;left:10px;padding:8px 15px;background:#fff;z-index:30}.skip:focus{top:5px}[hidden]{display:none!important}.mobile{display:none}
@media(min-width:1500px){.hero-photo{object-position:center 60%}.handwritten{right:12%;top:13%}}@media(max-width:1100px){.header-contact{font-size:20px;padding:10px 18px}.masthead{padding:18px 3.5%}.hero{min-height:560px}.hero-content{padding-top:135px}.handwritten{top:12%;right:5%;font-size:27px}h1{font-size:40px}.service-grid img{height:240px}.service-grid p{font-size:18px}h3{font-size:22px}.contact-box{gap:18px}.contact-box p{font-size:16px}.green-button{min-width:230px;font-size:22px}.footer-links a{padding:0 8px}}
@media(max-width:760px){.masthead{padding:17px 5%;gap:12px}.brand{font-size:clamp(22px,5.8vw,34px)}.brand small{font-size:10px;line-height:1.7;white-space:normal;max-width:310px}.brand small span{margin-left:0;display:block}.header-contact{display:none}.menu{display:block;flex-shrink:0;font-size:11px;background:#fff;border:1px solid #c5d4df;padding:8px;color:var(--blue);border-radius:3px}nav{display:none}nav.open{display:block}nav a{font-size:13px;padding:12px 4px}#test-notice{font-size:15px;padding:4px 15px}.hero{height:660px;min-height:0;max-height:none}.hero-photo{object-position:47% 50%}.hero-content{padding:108px 6% 0}.hero-content:before{inset:65px 0 -20px;background:linear-gradient(90deg,#ffffffe0,#ffffff68)}h1{font-size:clamp(25px,6.8vw,40px);line-height:1.65;letter-spacing:0}h1 span{font-size:.88em}.green-rule{margin:19px 0 12px;width:58px}.hero-subtitle{font-size:16px;line-height:1.9}.mobile{display:block}.handwritten{top:18px;right:6%;font-size:19px;line-height:1.25;letter-spacing:.08em}.hero-bottom{left:6%;right:6%;bottom:24px;gap:18px}.hero-bottom img{width:53%}.hero-bottom p{font-size:13px;margin:0}.hero-bottom strong{font-size:16px}.service-inner{padding:32px 6%}h2{font-size:30px;border-left-width:5px;padding-left:16px;margin-bottom:22px}.service-grid{grid-template-columns:1fr;gap:22px}.service-grid img{height:auto;aspect-ratio:1.8;object-position:50% 40%}h3{font-size:21px}.service-grid p{font-size:16px}.desktop{display:none}.contact-banner{padding:45px 6%}.contact-box{flex-wrap:wrap;padding:20px 18px;gap:14px}.contact-box>.mail{padding:11px;font-size:30px}.contact-box p{font-size:13px;flex:1}.green-button{width:100%;min-width:0;font-size:21px;padding:11px 22px}footer{padding:25px 6%;display:block}.footer-brand{font-size:24px}footer p{font-size:10px}.footer-links{margin-top:20px;font-size:12px;flex-wrap:wrap}.footer-links a:first-child{padding-left:0}.section{padding:40px 6%;grid-template-columns:1fr;gap:28px}.section h2{font-size:28px;margin-bottom:10px}form{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
