:root{
  --mori:#3f5a36;--mori2:#2f4529;--moegi:#6f8f5f;--wakaba:#e8efe0;--kinari:#faf7f0;--kinari2:#f3eee2;
  --sumi:#2b2e28;--nezu:#646a5e;--sen:#ddd8ca;--aka:#b4532a;--akab:#fbeee6;--ki:#d8b56a;--kib:#fbf4e1;
  --mincho:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
  --go:"Zen Kaku Gothic New","Yu Gothic UI","Meiryo",sans-serif;
}
*{box-sizing:border-box}
html{overflow-x:hidden}
body{margin:0;background:var(--kinari);color:var(--sumi);font-family:var(--go);font-size:16px;line-height:1.7;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--ki);outline-offset:2px}
[hidden]{display:none!important}
h1{font-family:var(--mincho);font-size:22px;margin:0;letter-spacing:.04em;line-height:1.4;min-width:0;overflow-wrap:anywhere}
h2{font-family:var(--mincho);font-size:18px;margin:0 0 8px;color:var(--mori2)}
h3{font-family:var(--mincho);font-size:16px;margin:16px 0 6px;color:var(--mori2)}
button{min-height:44px;padding:8px 16px;border-radius:10px;border:1.5px solid var(--mori);background:#fff;color:var(--mori2);font-weight:700;cursor:pointer}
button.p{background:var(--mori);color:#fff}
button.usu{border-color:var(--sen);font-weight:500}
button.aka{border-color:var(--aka);color:var(--aka)}
button:disabled{opacity:.55;cursor:default}
.aka{color:var(--aka)}
.setsu{color:var(--nezu);font-size:14px;margin:6px 0}

#ue{background:var(--mori);color:#fff}
.ueIn{max-width:1100px;margin:0 auto;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.logo b{font-family:var(--mincho);font-size:20px;letter-spacing:.12em;margin-right:10px}
.logo span{font-size:13px}
#ueNav{display:flex;gap:8px}
#ueNav button{background:transparent;border-color:rgba(255,255,255,.7);color:#fff;min-height:40px;padding:6px 12px;font-size:14px}

main{max-width:1100px;margin:0 auto;padding:16px}
.mido{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.jotaiW{display:flex;align-items:center;gap:10px}
.hozonJ{font-size:13px;color:var(--nezu);min-width:5em}
.hozonJ.ng{color:var(--aka)}
.joutai{display:inline-block;padding:2px 12px;border-radius:999px;font-size:13.5px;font-weight:700;white-space:nowrap;background:var(--kinari2);color:var(--sumi)}
.joutai.kettei{background:var(--wakaba);color:var(--mori2)}
.joutai.keiyaku{background:var(--mori);color:#fff}
.touketsu{background:var(--wakaba);border-radius:10px;padding:10px 14px;margin:0 0 12px}

#vLogin{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:16px}
#fLogin{background:#fff;border:1px solid var(--sen);border-radius:14px;padding:24px;width:380px;max-width:100%}
#fLogin label{display:block;font-weight:700;margin-top:12px}
#fLogin input{width:100%;padding:11px 13px;border:1.5px solid var(--sen);border-radius:10px;margin-top:4px}
#fLogin button{width:100%;margin-top:6px}
#pwE{min-height:1.6em;margin:6px 0 0;font-size:14px}
.modoriA{display:block;text-align:center;margin-top:14px;color:var(--mori2);font-size:14px}

.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.tabs button{min-height:42px;padding:6px 14px;border:1.5px solid var(--sen);background:#fff;font-weight:500}
.tabs button[aria-pressed=true],.tabs button[aria-selected=true]{background:var(--mori);border-color:var(--mori);color:#fff;font-weight:700}
.shibori{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}
#fKensaku{min-height:42px;padding:8px 13px;border:1.5px solid var(--sen);border-radius:10px;width:260px;max-width:100%;background:#fff}
.kardo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.3fr) auto auto;gap:6px 14px;align-items:center;width:100%;text-align:left;background:#fff;border:1px solid var(--sen);border-radius:12px;padding:12px 16px;margin-bottom:8px;font-weight:500;color:var(--sumi)}
.kardo:hover{border-color:var(--moegi)}
.kardo b{font-family:var(--mincho);font-size:17px;display:block;overflow-wrap:anywhere}
.kardo small{color:var(--nezu);font-size:12.5px;display:block}

.tab{background:#fff;border:1px solid var(--sen);border-radius:14px;padding:18px}
.fld{margin-bottom:12px;min-width:0}
.fld>label,.fld>.lab{display:block;font-weight:700;font-size:15px;margin-bottom:3px}
.fld input:not([type=checkbox]):not([type=radio]),.fld select,.fld textarea{width:100%;padding:10px 12px;border:1.5px solid var(--sen);border-radius:10px;background:#fff}
.fld textarea{min-height:92px;resize:vertical}
.fld input:disabled,.fld select:disabled,.fld textarea:disabled{background:var(--kinari2);opacity:1}
.fld small{display:block;color:var(--nezu);font-size:13px;line-height:1.5;margin-top:3px}
.fld .jidou{color:var(--mori2);font-weight:500}
.g2f{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.choi{display:flex;flex-wrap:wrap;gap:8px}
.choi label{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1.5px solid var(--sen);border-radius:10px;background:var(--kinari);cursor:pointer;min-height:44px}
.choi input{width:20px;height:20px;accent-color:var(--mori);flex:none}
.narabi{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.kekkaM{background:var(--wakaba);border-radius:12px;padding:12px 16px;margin:10px 0}
.kekkaM table{width:100%;border-collapse:collapse}
.kekkaM td{padding:3px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:15px}
.kekkaM td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

.gyo{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--kinari2);cursor:pointer}
.gyo input{width:22px;height:22px;margin-top:2px;accent-color:var(--mori);flex:none}
.gyo>span{min-width:0}
.gyo b{font-weight:700;overflow-wrap:anywhere}
.gyo small{display:block;color:var(--nezu);font-size:13px;line-height:1.5}
.tag{display:inline-block;font-size:12px;padding:0 8px;border-radius:999px;margin-left:6px;font-weight:700;white-space:nowrap;background:var(--kinari2)}
.tag.hissu{background:var(--wakaba);color:var(--mori2)}
.tag.an{background:var(--kib);color:#7a5a12}
.keikoku{background:var(--akab);border-radius:10px;padding:10px 14px;margin:10px 0;font-size:15px}
.keikoku ul{margin:4px 0 0;padding-left:20px}
.yoi{background:var(--wakaba);border-radius:10px;padding:10px 14px;margin:10px 0}
.hanErabi{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.hanErabi button[aria-pressed=true]{background:var(--mori);color:#fff}
.tsuu{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--kinari2)}
.tsuu>span{min-width:0;overflow-wrap:anywhere}
.tsuu button{min-height:40px;padding:4px 12px;font-size:14px;font-weight:500;flex:none}

details.kotei{margin:14px 0}
details.kotei summary,.keikoku summary{cursor:pointer;min-height:32px;font-weight:500}
#mado{position:fixed;inset:0;z-index:30;background:rgba(38,54,32,.55);display:grid;place-items:center;padding:16px;overflow:auto}
.madoIn{background:#fff;border-radius:14px;padding:20px;width:480px;max-width:100%;max-height:calc(100vh - 32px);overflow:auto}
.madoIn.hiroi{width:680px}
.madoIn table{width:100%;border-collapse:collapse;font-size:14px}
.madoIn td{padding:4px 8px 4px 0;border-bottom:1px solid var(--kinari2);vertical-align:top}

/* 書類 */
.kamiWaku{background:var(--kinari2);border-radius:10px;padding:10px;margin-top:14px;overflow:hidden}
#insatsuBa{width:794px;transform-origin:0 0}
.shorui{background:#fff;color:#111;width:794px;padding:68px 60px;margin-bottom:12px;font-family:"Yu Mincho","Hiragino Mincho ProN","Shippori Mincho",serif;font-size:14px;line-height:1.85;box-shadow:0 1px 3px rgba(0,0,0,.15);overflow-wrap:anywhere}
body[data-han=ruby] .shorui{font-size:14.67px;line-height:2.5}
body[data-han=kakudai] .shorui{font-size:24px;line-height:1.8}
.shorui h1{font-family:inherit;font-size:1.5em;text-align:center;letter-spacing:.1em;margin:0 0 1.2em;line-height:1.5}
.shorui h2{font-family:inherit;font-size:1.1em;margin:1.2em 0 .4em;color:#111;line-height:1.5}
.shorui h3{font-family:inherit;font-size:1em;margin:1em 0 .3em;color:#111}
.shorui p{margin:.45em 0}
.shorui .jo{padding-left:1em;text-indent:-1em}
.shorui .jo .f,.shorui .jo ruby{text-indent:0}
.shorui .chui{background:#f1efe6;padding:.35em .7em;margin:.6em 0;border-radius:2px;break-inside:avoid;page-break-inside:avoid}
.shorui ol,.shorui ul{margin:.4em 0;padding-left:1.6em}
.shorui table{width:100%;border-collapse:collapse;table-layout:fixed;margin:.6em 0;break-inside:avoid;page-break-inside:avoid}
.shorui th,.shorui td{border:1px solid #333;padding:.3em .5em;vertical-align:top;text-align:left;font-weight:400;word-break:break-word}
.shorui th{background:#f0f0ea}
.shorui thead{display:table-header-group}
.shorui tr{break-inside:avoid;page-break-inside:avoid}
.shorui h1,.shorui h2,.shorui h3,.shorui p:has(>b:only-child){break-after:avoid;page-break-after:avoid}
.shorui .f{display:inline-block;min-width:6em;border-bottom:1px solid #555;padding:0 .3em;white-space:pre-wrap;text-indent:0;min-height:1.3em;vertical-align:baseline}
.shorui td .f{border-bottom:0;min-width:4em;padding:0}
.shorui .f.kara{background:#fdeee6}
.shorui .f[data-chouhen]{display:block}
.shorui .sign{break-inside:avoid;page-break-inside:avoid;margin-top:1.4em}
.shorui .sign p{break-inside:avoid;page-break-inside:avoid}
body[data-han=kakudai] .shorui .sign{line-height:1.35}
body[data-han=kakudai] .shorui .sign p{margin:.15em 0}
body[data-han=kakudai] .shorui .sign .inkan{width:1.9em;height:1.9em;line-height:1.9em}
.shorui .inkan{display:inline-block;width:2.6em;height:2.6em;line-height:2.6em;border:1px solid #777;border-radius:50%;text-align:center;font-size:.8em;color:#777;vertical-align:middle;margin-left:.6em}
.shorui .pb{break-before:page;page-break-before:always}
.shorui .pb:first-child{break-before:auto;page-break-before:auto}
.shorui ruby{ruby-position:over}
.shorui rt{font-size:.5em;line-height:1;font-weight:400;font-family:"Yu Gothic","Meiryo",sans-serif;letter-spacing:0}
body[data-han=hyojun] .shorui rt,body[data-han=kakudai] .shorui rt{display:none}
.mihonAn{display:inline-block;font-family:var(--go);font-size:12px;background:var(--kib);color:#7a5a12;padding:1px 10px;border-radius:999px;margin-bottom:10px}

@media (max-width:640px){
  h1{font-size:20px}
  .g2f{grid-template-columns:minmax(0,1fr)}
  .kardo{grid-template-columns:minmax(0,1fr) auto}
  .kardo .svc{grid-column:1/-1;order:3}
  .kardo .hi{grid-column:1/-1;order:4}
  .tab{padding:14px}
  .tabs button{flex:1 1 auto;padding:6px 10px}
  #fKensaku{width:100%}
}

@media print{
  /* 四隅の空白は、印刷の窓の「ヘッダーとフッター」がオンでも、題名（お名前）や日付を紙に出さないため */
  @page{size:A4 portrait;margin:17mm 16mm 18mm;@top-left{content:" "}@top-right{content:" "}@bottom-left{content:" "}@bottom-right{content:" "}@bottom-center{content:counter(page) " / " counter(pages);font-size:9pt;color:#444}}
  html,body{background:#fff;overflow:visible}
  body{font-size:10.5pt}
  .noprint,#mado,.mihonAn{display:none!important}
  main,#vAnken{display:block!important;max-width:none;margin:0;padding:0}
  .tab{border:0;padding:0;border-radius:0;background:none}
  .kamiWaku{background:none;padding:0;margin:0;overflow:visible;border-radius:0;height:auto!important}
  #insatsuBa{width:auto;transform:none!important;margin:0!important}
  .shorui{width:auto;padding:0;margin:0;box-shadow:none;font-size:10.5pt;line-height:1.75}
  body[data-han=ruby] .shorui{font-size:11pt;line-height:2.4}
  body[data-han=kakudai] .shorui{font-size:18pt;line-height:1.7}
  body[data-han=kakudai] .shorui .sign{line-height:1.35}
  .shorui+.shorui{break-before:page;page-break-before:always}
  .shorui .f.kara{background:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
