:root{--ink:#454545;--red:#b13b43;--green:#12a081;--paper:#f5f6f6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;background:var(--paper)}
.head{height:100px;display:flex;align-items:center;padding:0 5%;background:#fff;box-shadow:0 3px 12px #0001}
.head img{width:150px;display:block}
.head nav{display:flex;gap:28px;margin-left:auto}
.head nav a{color:var(--ink);font-size:13px;text-decoration:none}
.head .contact{margin-left:36px;background:var(--red);border-radius:24px;padding:12px 20px;color:#fff;text-decoration:none;font-size:13px}
.page-hero{padding:100px 8% 74px;text-align:center;background:#fff}
.page-hero small{color:var(--red);font:700 12px Roboto;letter-spacing:.15em}
.page-hero h1{font-size:42px;margin:13px 0}
.page-hero p{font-size:14px;line-height:2;margin:0}
.page{max-width:1120px;margin:auto;padding:88px 30px}
.block{padding:70px 7%;background:#fff;margin-bottom:34px}
.block>small{font:700 12px Roboto;letter-spacing:.15em;color:var(--red)}
.block h2{font-size:30px;margin:12px 0 31px}
.philosophy{background:#e4f0ed}
.philosophy .catch{font-size:25px;font-weight:700;line-height:1.8;margin:0 0 25px}
.philosophy p,.message-copy p{font-size:14px;line-height:2.15;white-space:pre-line}
.message-layout{display:grid;grid-template-columns:1fr 350px;gap:9%;align-items:start}
.message-layout img{width:100%;height:520px;object-fit:cover;object-position:top}
.table{border-top:1px solid #ccc}
.table div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #ddd;font-size:14px}
.table dt{padding:18px 20px;background:#f5f5f5;font-weight:700}
.table dd{padding:18px 22px;margin:0}
.service-detail{display:grid;grid-template-columns:43% 1fr;gap:7%;align-items:start}
.service-detail img{width:100%;height:280px;object-fit:cover}
.service-detail h2{margin-top:0}
.service-detail p{font-size:14px;line-height:2.1}
.service-detail:nth-child(even){grid-template-columns:1fr 43%}
.service-detail:nth-child(even) img{order:2}
.service-detail .number{color:var(--red);font:700 13px Roboto;letter-spacing:.1em}
.retch-panel{height:280px;background:linear-gradient(135deg,#c8e1db,#e7f1e9);display:flex;align-items:end;padding:27px;color:#fff;font:700 48px/.83 Roboto}
.back{display:inline-block;margin-top:22px;border:1px solid var(--red);padding:12px 23px;color:var(--red);text-decoration:none;font-size:13px}
.contact-page-single{display:block!important;max-width:580px;margin:auto}.contact-page-single .form-box{width:100%}
footer{background:#414141;padding:40px 8%;color:#fff;text-align:center;font:11px Roboto}
footer img{filter:brightness(0) invert(1);width:145px;margin-bottom:16px}
@media(max-width:720px){.head{height:78px;padding:0 26px}
.head img{width:130px}
.head nav{display:none}
.head .contact{margin-left:auto}
.page-hero{padding:70px 25px 55px}
.page-hero h1{font-size:34px}
.page{padding:45px 20px}
.block{padding:43px 28px}
.block h2{font-size:26px}
.philosophy .catch{font-size:21px}
.message-layout,.service-detail,.service-detail:nth-child(even){display:flex;flex-direction:column;gap:27px}
.service-detail:nth-child(even) img{order:0}
.message-layout img{height:440px}
.service-detail img{height:220px}
.retch-panel{height:220px}
.table div{grid-template-columns:1fr}
.table dt,.table dd{padding:13px 15px}
.table dd{padding-top:0}
.head .contact{padding:10px 15px;font-size:12px}
}
