*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:#111;background:#fff}
.contact-section{width:100%;padding:78px 20px 82px;background:#eef8ff}
.contact-title{text-align:center;margin-bottom:38px}
.contact-title h1{margin:0;font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:.08em}
.contact-title span{display:block;width:68px;height:4px;margin:17px auto 0;background:#78a9c5}
.contact-box{width:min(900px,100%);margin:auto;background:#fff;padding:34px 45px 42px}
.contact-row{display:flex;align-items:center;gap:24px;min-height:105px}
.icon{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border-radius:50%;background:#eaf6ff;color:#5b88a6;border:1px solid #d8eaf5;font-size:42px}
.icon.clock{font-size:54px;font-weight:300}
.contact-content{flex:1}
.label{font-size:clamp(25px,3vw,38px);font-weight:800;line-height:1.25}
.tel{display:block;margin-top:3px;color:#111;text-decoration:none;font-size:clamp(38px,5vw,60px);font-weight:800;letter-spacing:.03em;line-height:1.15}
.hours{margin-top:6px;font-size:clamp(25px,3vw,38px);font-weight:800;line-height:1.35}
.hours span{font-size:.72em;white-space:nowrap}
.divider{height:1px;background:#cfd8dc;margin:4px 0}
.contact-note{margin-top:12px;display:inline-block;padding:3px 8px;background:linear-gradient(to bottom,transparent 0%,transparent 27%,#d9f0ff 27%,#d9f0ff 82%,transparent 82%);font-size:clamp(17px,2vw,25px);font-weight:800;line-height:1.5}
@media(max-width:600px){
.contact-section{padding:50px 15px 55px}
.contact-title{margin-bottom:25px}
.contact-box{padding:24px 18px 30px}
.contact-row{gap:14px;min-height:90px}
.icon{width:52px;height:52px;flex-basis:52px;font-size:30px}
.icon.clock{font-size:39px}
.tel{font-size:clamp(28px,8vw,40px)}
.hours{font-size:clamp(20px,5.5vw,28px)}
.hours span{display:block;margin-top:2px}
.contact-note{font-size:16px}
}
