/* 事業のプルダウン（全ページ共通） */
nav li.has-sub{position:relative}
nav .sub-btn{border:0;background:none;cursor:pointer;font:inherit;font-weight:700;font-size:15px;color:inherit;padding:8px 14px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s}
nav .sub-btn::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s}
nav li.has-sub:hover .sub-btn,nav li.has-sub:focus-within .sub-btn{background:var(--tq-l);color:var(--tq-d)}
nav li.has-sub:hover .sub-btn::after,nav li.has-sub:focus-within .sub-btn::after{transform:translateY(1px) rotate(225deg)}
nav ul.sub{position:absolute;left:0;top:100%;display:block;min-width:220px;background:#fff;border-radius:16px;padding:8px;box-shadow:0 18px 40px rgba(23,49,59,.14);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .25s,visibility .2s;z-index:60}
nav ul.sub::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
nav li.has-sub:hover ul.sub,nav li.has-sub:focus-within ul.sub{opacity:1;visibility:visible;transform:none}
nav ul.sub li{display:block}
nav ul.sub a:hover{background:var(--tq-l)!important;color:var(--tq-d)!important}
nav ul.sub a{display:block;padding:10px 14px;border-radius:10px;color:var(--ink)!important;background:none;font-size:15px;white-space:nowrap}
nav ul.sub a small{display:block;font-size:11.5px;font-weight:500;color:var(--gray);margin-top:1px}

/* スマホ用メニュー（全ページ共通） */
.menu-btn{display:none;position:relative;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:var(--tq,#1FB1CC);color:#fff;cursor:pointer;box-shadow:0 8px 18px rgba(31,177,204,.35);transition:transform .2s,box-shadow .2s}
.menu-btn:active{transform:scale(.94)}
.menu-btn:focus-visible{outline:3px solid var(--tq-d,#0C7F97);outline-offset:3px}
/* 3本の線は、原稿の行のように長さを変えて左にそろえる */
.menu-btn .bars{display:grid;gap:5px;width:20px}
.menu-btn .bars i{display:block;height:2.5px;border-radius:2px;background:currentColor;transition:width .35s cubic-bezier(.2,.8,.2,1)}
.menu-btn .bars i:nth-child(1){width:100%}
.menu-btn .bars i:nth-child(2){width:62%}
.menu-btn .bars i:nth-child(3){width:84%}
/* 触れると、書いているように行の長さが入れ替わる */
.menu-btn:hover .bars i:nth-child(1),.menu-btn:focus-visible .bars i:nth-child(1){width:70%}
.menu-btn:hover .bars i:nth-child(2),.menu-btn:focus-visible .bars i:nth-child(2){width:100%}
.menu-btn:hover .bars i:nth-child(3),.menu-btn:focus-visible .bars i:nth-child(3){width:55%}
@media(max-width:980px){.menu-btn{display:inline-flex}header .hd{gap:10px}header .hd>.btn{margin-left:auto}}
@media(max-width:560px){header .hd>.btn{display:none}.menu-btn{margin-left:auto}}
html.mm-lock,html.mm-lock body{overflow:hidden}
.mmenu{position:fixed;inset:0;z-index:200;background:#fff;display:flex;flex-direction:column;opacity:0;transform:translateX(24px);transition:opacity .25s,transform .3s cubic-bezier(.2,.8,.2,1);font-family:"Zen Kaku Gothic New",var(--f,sans-serif);color:var(--ink,#17313B)}
.mmenu.on{opacity:1;transform:none}
.mmenu[hidden]{display:none}
.mm-top{display:flex;justify-content:space-between;align-items:center;height:74px;padding:0 16px;border-bottom:1px solid #E6ECEE}
.mm-top .logo{font-size:19px}
.mm-close{position:relative;width:48px;height:48px;border-radius:50%;border:0;background:var(--tq,#1FB1CC);color:#fff;cursor:pointer;box-shadow:0 8px 18px rgba(31,177,204,.3)}
.mm-close i{position:absolute;left:14px;right:14px;top:50%;height:2.5px;margin-top:-1px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.mm-close i+i{transform:rotate(-45deg)}
.mm-body{flex:1;overflow:auto;padding:18px 16px 24px}
.mm-h{font-family:"Inter Tight",sans-serif;font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--tq-d,#0C7F97);margin:8px 0 10px}
.mm-biz{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mm-biz a{display:block;background:var(--tq-l,#E3F5F9);border-radius:16px;padding:14px;font-weight:900;font-size:16px;line-height:1.4}
.mm-biz a small{display:block;font-size:11.5px;font-weight:500;color:var(--gray,#5B6E76);margin-top:4px}
.mm-sub{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 22px}
.mm-sub a{font-size:13px;font-weight:700;border:1px solid #DCE5E8;border-radius:10px;padding:6px 10px}
.mm-sub a::before{content:"└ ";color:var(--tq-d,#0C7F97)}
.mm-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #E6ECEE}
.mm-links a{padding:15px 4px;font-weight:800;font-size:16px;border-bottom:1px solid #E6ECEE;display:flex;justify-content:space-between;align-items:center}
.mm-links a::after{content:"→";color:var(--tq-d,#0C7F97);font-size:13px;margin-right:10px}
.mmenu a[aria-current="page"]{color:var(--tq-d,#0C7F97)}
.mm-foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #E6ECEE;text-align:center}
.mm-cta{display:flex;justify-content:center;gap:10px;background:var(--tq,#1FB1CC);color:#fff;font-weight:900;font-size:16px;border-radius:999px;padding:15px}
.mm-foot p{font-size:12px;color:var(--gray,#5B6E76);margin-top:6px}
@media (prefers-reduced-motion:reduce){.mmenu{transition:none}}

/* 料金の単位（円〜＋税 など）は数字より小さく。全ページ共通 */
.pu{font-size:max(.56em,11px);font-weight:700;letter-spacing:.02em;margin-left:.08em;white-space:nowrap}
.pu+.pu,.pu:first-child{margin-left:0}

/* 上へ戻るボタン（全ページ共通） */
.to-top{position:fixed;right:16px;bottom:16px;z-index:90;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(23,49,59,.12);background:#fff;color:var(--tq-d,#0C7F97);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px rgba(23,49,59,.14);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .3s,visibility .3s,background .2s,color .2s}
.to-top.on{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--tq,#1FB1CC);color:#fff;border-color:var(--tq,#1FB1CC)}
.to-top:hover svg{transform:translateY(-2px)}
.to-top svg{transition:transform .25s}
.to-top:focus-visible{outline:3px solid var(--tq-d,#0C7F97);outline-offset:3px}
@media(max-width:1020px){.to-top.above-slip{bottom:92px}}
@media(min-width:981px){.to-top{right:24px;bottom:24px}}
html.mm-lock .to-top{display:none}
@media (prefers-reduced-motion:reduce){.to-top,.to-top svg{transition:none}}

/* 「事業」ボタンと他のリンクの高さ・位置をそろえる */
nav>ul{align-items:center}
nav>ul>li>a,nav .sub-btn{display:inline-flex;align-items:center;height:40px;padding:0 14px;line-height:1;vertical-align:middle}
