.ks-wrap{--ink:#152e32;--green:#126455;--paper:#f7f6ef;color:var(--ink);background:white;font:16px/1.8 "Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;margin:auto;max-width:1440px;overflow-wrap:anywhere}
.ks-wrap *{box-sizing:border-box}
.ks-wrap :is(h1,h2,h3,p,figure,ol){margin:0;padding:0;background:none;border:0;color:inherit;box-shadow:none}
.ks-wrap :is(h1,h2,h3)::before,.ks-wrap :is(h1,h2,h3)::after{display:none}
.ks-wrap a{color:inherit;text-decoration:none}
.ks-head,.ks-nav,.ks-band,.ks-section{padding-inline:clamp(18px,4vw,66px)}
.ks-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-block:15px}
.ks-head b{font-size:clamp(20px,2.1vw,29px);letter-spacing:.045em}
.ks-head span,.ks-wrap small{font-size:12px;font-weight:700;letter-spacing:.055em}
.ks-nav{display:flex;gap:clamp(12px,3.2vw,48px);border-block:1px solid #d6dcd8;overflow:auto}
.ks-nav a{flex:none;font-weight:700;font-size:14px;padding:9px 0;border-bottom:3px solid transparent}
.ks-nav a[aria-current],.ks-nav a:hover{color:var(--green);border-color:var(--green)}
.ks-hero{display:grid;grid-template-columns:1.05fr 1fr;background:var(--paper)}
.ks-intro{align-self:center;padding:clamp(25px,4vw,65px)}
.ks-intro small,.ks-card small,.ks-contact small{color:var(--green)}
.ks-wrap h1{font-size:clamp(28px,3.1vw,53px);line-height:1.48;letter-spacing:-.035em;margin:15px 0}
.ks-intro p{max-width:36em}
.ks-wrap figure{position:relative;overflow:hidden}
.ks-wrap img{display:block;width:100%;max-width:100%;object-fit:cover}
.ks-hero figure img{height:100%;min-height:330px;position:absolute;inset:0}
.ks-wrap figcaption{position:absolute;bottom:0;right:0;font-size:11px;background:#142c2be8;color:#fff;padding:4px 10px;margin:0}
.ks-buttons,.ks-band{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ks-buttons{margin-top:24px}
.ks-buttons a,.ks-form button,.ks-dock a{padding:12px 18px;font-weight:700;border-radius:3px;border:1px solid var(--green)}
.ks-buttons a:first-child,.ks-form button,.ks-dock a:first-child{background:var(--green);color:white}
.ks-buttons a:last-child,.ks-dock a:last-child{background:white;color:var(--green)}
.ks-buttons b{margin-left:8px}
.ks-band{justify-content:space-between;background:#183b3c;color:white;padding-block:14px;font-size:14px}
.ks-section{padding-block:clamp(35px,5vw,78px)}
.ks-wrap h2{font-size:clamp(24px,2.8vw,40px);line-height:1.45;letter-spacing:-.03em;margin-bottom:25px}
.ks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ks-grid img{aspect-ratio:2.2}
.ks-card{border:1px solid #ccd8d4;display:block;background:white}
.ks-card:hover{border-color:var(--green);box-shadow:0 4px 14px #11333316}
.ks-card div{padding:14px 22px}
.ks-wrap h3{font-size:clamp(19px,1.8vw,26px);line-height:1.5}
.ks-card h3 b{float:right;color:var(--green)}
.ks-cols,.ks-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ks-cols article,.ks-process li{border-top:2px solid var(--green);padding:18px 0}
.ks-cols p,.ks-process p{margin-top:10px;font-size:15px}
.ks-process{background:var(--paper)}
.ks-process ol{list-style:none;counter-reset:step}
.ks-process li{counter-increment:step}
.ks-process li::before{content:counter(step);margin-right:8px;background:var(--green);color:white;padding:3px 8px;font-weight:700}
.ks-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(22px,5vw,72px);scroll-margin-top:90px}
.ks-contact aside{margin-top:20px;font-size:14px}
.ks-contact aside a{display:block;font-size:26px;font-weight:bold;color:var(--green)}
.ks-form{position:relative}
.ks-form label:not(.ks-trap){display:block;margin-bottom:16px;font-weight:bold}
.ks-form :is(input:not([type=checkbox]),textarea){display:block;width:100%;margin-top:5px;border:1px solid #9cabaa;border-radius:3px;padding:11px;background:#fff;color:#152e32;font:inherit}
.ks-form small{font-size:11px}
.ks-form .ks-check{font-size:13px}
.ks-form button{cursor:pointer;font:inherit;font-weight:bold;width:100%}
.ks-status{margin-top:10px}
.ks-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ks-wrap :focus-visible{outline:3px solid #cd7012;outline-offset:2px}
.ks-dock{display:none}
@media(max-width:740px){.ks-head{flex-wrap:wrap}.ks-head span{font-size:10px}.ks-nav{gap:16px}.ks-nav a{font-size:13px}.ks-hero,.ks-contact,.ks-cols,.ks-process ol{grid-template-columns:1fr}.ks-hero figure{height:200px}.ks-hero figure img{min-height:0}.ks-intro{padding:27px 19px}.ks-buttons a{font-size:14px;padding:10px}.ks-band{font-size:12px;gap:2px;flex-direction:column;align-items:start}.ks-grid{gap:12px}.ks-card div{padding:10px}.ks-card small{font-size:10px}.ks-card h3{font-size:17px}.ks-wrap h1{font-size:clamp(25px,6.1vw,38px)}.ks-dock{display:flex;gap:6px;position:fixed;z-index:99;bottom:0;left:0;right:0;background:#fff;padding:6px 10px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -1px 6px #0002}.ks-dock a{width:50%;padding:8px 0;text-align:center;font-size:14px}.ks-wrap{padding-bottom:66px}.ks-grid img{aspect-ratio:1.65}.ks-cols,.ks-process ol{gap:3px}}
.kcv4-page .l-content,.kcv4-page .l-mainContent,.kcv4-page .l-mainContent__inner,.kcv4-page .post_content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.kcv4-page .c-pageTitle,.kcv4-page .l-sidebar{display:none!important}
.kcv4-page .l-content{opacity:1!important;visibility:visible!important}
.ks-foot{padding:24px clamp(18px,4vw,66px);background:#143935;color:white}.ks-foot p,.ks-foot nav{font-size:13px}.ks-foot nav{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.ks-foot a{text-decoration:underline}
.ks-budget{background:#edf4ef}.ks-budget p{max-width:54em}.ks-budget a{display:inline-block;margin-top:12px;color:#115845;font-weight:700;text-decoration:underline}
