:root{--side-space:20px;--section-space:70px}
body{font-size:15px}.pc{display:none!important}.sp{display:block}
.header-inner{min-height:70px}.site-logo{font-size:20px}
.menu-button{position:relative;width:52px;height:52px;padding:11px;border:0;background:transparent}
.menu-button>span:not(.menu-label){display:block;width:28px;height:1px;margin:6px auto;background:#111;transition:.2s}.menu-label{font-size:9px;line-height:1}
.global-nav{display:none;position:absolute;top:70px;left:0;width:100%;background:#fff;border-top:1px solid #ddd;box-shadow:0 6px 12px rgba(0,0,0,.06)}
.global-nav.is-open{display:block}.global-nav ul{display:block}.global-nav li{border-bottom:1px solid #eee}.global-nav a{padding:16px 20px}.global-nav .nav-contact a{background:#111;color:#fff}
body.menu-open{overflow:hidden}
.mainvisual{min-height:520px}.mainvisual h2{font-size:36px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:28px}
.card-grid{grid-template-columns:1fr;gap:24px}
.news-list a{grid-template-columns:1fr;gap:2px;padding:18px 0}
.contact-cta{padding:60px 0}.contact-cta h2{font-size:30px}
.footer-inner{display:block}.footer-nav{margin-top:35px}.footer-nav ul{grid-template-columns:1fr 1fr}
.subvisual{padding:70px 0}.subvisual h1{font-size:34px}.content-title{font-size:27px}.content-subtitle{font-size:21px}
.btn{width:100%;max-width:320px}
