*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:17px;line-height:1.85;color:#1f2328;background:#fff}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
header.hero{background:#f3f6f4;padding:48px 0 40px;border-bottom:1px solid #dfe5e1}
h1{font-size:30px;line-height:1.4;margin:0 0 16px}
h2{font-size:23px;line-height:1.5;margin:56px 0 16px;padding-top:8px;border-top:1px solid #dfe5e1}
h3{font-size:19px;margin:32px 0 8px}
section:first-of-type h2{border-top:0}
p{margin:0 0 16px}
ul,ol{padding-left:1.4em;margin:0 0 16px}
li{margin-bottom:6px}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{display:inline-block;padding:14px 26px;border-radius:8px;background:#1d6b4f;color:#fff;text-decoration:none;font-weight:bold;border:0;font-size:17px;cursor:pointer}
.btn.sub{background:#fff;color:#1d6b4f;border:2px solid #1d6b4f}
.btn:disabled{opacity:.5;cursor:default}
.table{overflow-x:auto;margin:0 0 16px}
table{border-collapse:collapse;width:100%;font-size:16px}
th,td{border-bottom:1px solid #dfe5e1;padding:10px 8px;text-align:left;vertical-align:top}
th{background:#f3f6f4;white-space:nowrap}
.note{font-size:15px;color:#555}
form{background:#f8faf9;border:1px solid #dfe5e1;border-radius:10px;padding:20px;margin:0 0 24px}
label{display:block;font-weight:bold;margin:14px 0 4px;font-size:16px}
label .opt{font-weight:normal;color:#666;font-size:14px}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{width:100%;padding:10px;font-size:17px;border:1px solid #b8c2bc;border-radius:6px;background:#fff;font-family:inherit}
textarea{min-height:120px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:normal}
.check input{margin-top:7px;width:20px;height:20px;flex:none}
.hp{position:absolute;left:-9999px}
.msg{padding:14px;border-radius:8px;margin-top:16px}
.msg.ok{background:#e6f4ec;border:1px solid #9cd1b3}
.msg.ng{background:#fdeceb;border:1px solid #f0a8a2}
footer{margin-top:64px;padding:32px 0 48px;background:#f3f6f4}
blockquote{margin:0 0 16px;padding:8px 16px;border-left:4px solid #b8c2bc;background:#f8faf9}
@media (max-width:600px){body{font-size:16px}h1{font-size:25px}h2{font-size:21px}.btn{width:100%;text-align:center}}
