:root{
    --white        :#fff;
    /*-----------------------------------------------------*/
    --dark-bg      :#333;
    --dark-on      :#fff;
    /*-----------------------------------------------------*/
    --dialog-bg    :#f5f5f5;
    --dialog-on    :#444;
    /*-----------------------------------------------------*/
    --neutral-fg   :#333;
    --neutral-bg   :#cecece;
    --neutral-on   :#353535;
    /*-----------------------------------------------------*/
    --active-fg    :#298686;
    --active-bg    :#298686;
    --active-on    :#fff;
    /*-----------------------------------------------------*/
    --action-fg    :#0056b3;
    --action-bg    :#4175ae;
    --action-on    :#fff;
    /*-----------------------------------------------------*/
    --submit-fg    :#006;
    --submit-bg    :#053573;
    --submit-on    :#fff;
    /*-----------------------------------------------------*/
    --success-fg   :#284823;
    --success-bg   :#9dff9a;
    --success-on   :#1e331b;
    /*-----------------------------------------------------*/
    --warning-fg   :#9D8C30;
    --warning-bg   :#FFEB7E;
    --warning-on   :#900;
    /*-----------------------------------------------------*/
    --cancel-fg    :#d93c3c;
    --cancel-bg    :#bc3d3d;
    --cancel-on    :#fff;
    /*-----------------------------------------------------*/
    --toggle-fg    :#25853a;
    --toggle-bg    :#6cb589;
    --toggle-on    :#fff;
    /*-----------------------------------------------------*/
    --label-fg     :#404082;
    --label-bg     :#404082;
    --label-on     :#fff;
    --label-bd     :12px #404082 solid;
    /*-----------------------------------------------------*/
    --label-s-bg   :#e5e5f0;
    --label-s-on   :#585c6f;
    /*-----------------------------------------------------*/
    --disable-bg   :#ddd;
    /*-----------------------------------------------------*/
    --form-item-bd :1px #ccc solid;
    /*-----------------------------------------------------*/
    --toggle-off-bg:#ddd;
    --toggle-off-on:#666;
    /*-----------------------------------------------------*/
    --toggle-on-bg :#599f9f;
    --toggle-on-on :#eee;
    /*-----------------------------------------------------*/
    --tbl-bd       :#bdbdbd;
    --th-on        :#52707d;
    --th-bg        :#ececec;
    --th-upper-on  :#ececec;
    --th-upper-bg  :#52707d;
    /*-----------------------------------------------------*/
    --highlight-fg :#ff6000;
    --highlight-bg :#ffc;
    --enter-bg     :#ffe;
    /*-----------------------------------------------------*/
    --radius       :4px;
    --good         :#53b753;
    --bad          :#f00;
}
/*---------------------------------------------------------*/
.pc{ display:revert; }
.sp{ display:none; }
@media screen and (max-width:575px){
    .pc{ display:none; }
    .sp{ display:revert; }
}
/*---------------------------------------------------------*/
body{ visibility:hidden; }
.main{ padding:5px;padding-top:20px; }
/*---------------------------------------------------------*/
hr{ width:100%;border:none;height:1px;background:#aaa;margin-bottom:10px; }
.flex{ display:flex; }
.left{ text-align:left; }
.center{ text-align:center; }
.right{ text-align:right;margin-left:auto; }
.mb{ margin-bottom:15px !important; }
.tmp_hide{ display:none !important; }
.caution{ color:#900; }
.good{ color:#090; }
/*---------------------------------------------------------*/
.strong{ font-size:120%; }
.v_hide{ opacity:0.5;pointer-events:none; }
/*---------------------------------------------------------*/
.bt{ display:inline-block;padding:2px 14px 4px 14px;background:var(--action-bg);color:var(--action-on);border-radius:var(--radius);font-size:90%;position:relative;white-space:nowrap;user-select:none;cursor:pointer; }
.bt.small{ min-width:auto;padding:1px 8px;font-size:85%; }
.bt.neutral{ background:var(--neutral-bg);color:var(--neutral-on); }
.bt.success{ background:var(--success-bg);color:var(--success-on); }
.bt.action { background:var(--action-bg); color:var(--action-on);  }
.bt.submit { background:var(--submit-bg); color:var(--submit-on);  }
.bt.cancel { background:var(--cancel-bg); color:var(--cancel-on);  }
.bt.active { background:var(--active-bg); color:var(--active-on);  }
.bt.warning{ background:var(--warning-bg);color:var(--warning-on); }
.bt.toggle { background:var(--toggle-bg); color:var(--toggle-on); }
.bt.tab{ min-width:150px;text-align:center;font-size:100%;padding:8px 10px; }
/*---------------------------------------------------------*/
.bt_line_delete i{ color:#c00;cursor:pointer; }
.handle i{ cursor:grab; }
.num input{ text-align:right; }
/*---------------------------------------------------------*/
.list_slider{ overflow-x:auto;padding:1px;width:100%;margin:0 auto;max-width:calc(100vw - 10px); }
/*---------------------------------------------------------*/
.tbl_slider{ overflow-x:auto;padding:1px;border-radius:var(--radius);background:var(--tbl-bd);width:100%;margin:0 auto;max-width:calc(100vw - 10px); }
.tbl_list{ width:100%;background:var(--tbl-bd); }
.tbl_list :is(th, td){ background:var(--white);padding:5px 10px;white-space:nowrap;font-size:95%; }
.tbl_list :is(th, td).wrap{ white-space:unset; }
.tbl_list th{ background:var(--th-bg);color:var(--th-on);font-size:85%; }
.tbl_list th.th_upper{ background:var(--th-upper-bg);color:var(--th-upper-on);font-size:85%; }
.tbl_list td{ overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.highlight{ color:var(--highlight-fg); }
/*---------------------------------------------------------*/
.f_wrap .readonly input[type="text"]{ background:var(--disable-bg); }
.f_wrap :is(input[type="text"], input[type="password"], input[type="mail"], input[type="time"], select, textarea){ border:var(--form-item-bd);border-radius:var(--radius);font-size:var(--base-font);color:var(--base-fcol);font-family:sans-serif;outline:none;padding:4px; }
.f_wrap label:has(:is(input[type="radio"], input[type="checkbox"])){ display:inline-block;padding:4px;padding-right:10px;margin-bottom:3px;border:var(--form-item-bd);border-radius:var(--radius);cursor:pointer;user-select:none;font-size:90%;white-space:nowrap; }
.f_wrap label:has(:is(input[type="radio"]:checked, input[type="checkbox"]:checked)){ background:var(--success-bg);color:var(--success-on); }
.f_wrap label :is(input[type="radio"], input[type="checkbox"]){ top:1px; }
/*---------------------------------------------------------*/
.f_wrap{ width:100%;display:flex;align-items:stretch;flex-wrap:wrap; }
.f_wrap *{ line-height:160%; }
.f_wrap .f_row{ width:100%;margin-bottom:4px; }
.f_wrap :is(.f_label, .f_field, .f_tools){ padding:3px 0;line-height:230%;margin-bottom:5px; }
.f_wrap .f_label{ width:150px;border-left:var(--label-bd);color:var(--label-fg);padding-left:6px;margin-right:10px;background:#f5f5f5; }
.f_wrap .f_field{ width:calc(100% - (150px + 10px)); }
.f_wrap .f_label.full{ width:100%;line-height:100%;padding-top:2px;padding-bottom:3px;margin-bottom:5px; }
.f_wrap .f_field.full{ width:100%; }
.f_wrap .f_label.essential::after{ content:'必須';background:var(--cancel-bg);color:var(--cancel-on);border-radius:var(--radius);position:absolute;font-size:80%;padding:0px 4px;font-weight:normal;margin-left:15px;top:14px;right:0;line-height:180%; }
.f_wrap hr{ width:100%;border:none;height:1px;background:#999;margin-bottom:10px; }
.f_wrap .f_label .info{ font-size:80%;color:#777;line-height:90%; }
.f_wrap .f_field.num input{ text-align:right; }
/*---------------------------------------------------------*/
.f_wrap .f_field:has(.f_sub_label, .f_col_label, .f_col_field){ display:flex;flex-wrap:nowrap;align-items:center;gap:5px 5px; }
.f_wrap .f_field .f_sub_label{ width:25%;color:var(--label-fg); }
.f_wrap .f_field .f_sub_field{ width:75%; }
.f_wrap .f_field .f_col_label{ width:auto;background:var(--label-s-bg);color:var(--label-s-on);padding:4px 8px;border-radius:3px;font-size:90%;white-space:nowrap; }
.f_wrap .f_field .f_col_field{ width:auto;white-space:nowrap; }
.f_wrap .f_field .f_note{ display:inline-block;position:absolute;right:0;color:#db6a6a;top:8px; }
.f_wrap .f_field:has(.f_sub_label, .f_col_label, .f_col_field) input{ max-width:210px; }
/*---------------------------------------------------------*/
.f_wrap .f_tools{ width:calc(40% - 10px);padding:0;text-align:center;background:#f00;color:#fff;border-radius:var(--radius); }
.f_wrap .f_tools :is(label, input){ cursor:pointer; }
.f_wrap .f_tools label{ height:100%;border:none !important; }
.f_wrap .f_tools label span{ display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%); }
.f_wrap .f_field:has(+ .f_tools){ width:60%; }
/*---------------------------------------------------------*/
@media screen and (max-width:765px){
    .f_wrap{ max-width:100%; }
    .f_wrap :is(.f_label, .f_field, .f_tools){ width:100%; }
    .f_wrap .f_tools label{ position:relative;padding:10px 0;top:revert;left:revert; }
    .f_wrap .f_field:has(+ .f_tools){ width:100%; }
    .f_block{ flex-wrap:wrap; }
    .f_block .tbl_slider{ width:100%; }
    .tool_wrap :is(.bt_toggle, .bt_group_toggle){ min-width:62px;margin-bottom:5px; }
    input[type="text"], input[type="password"], input[type="mail"], input[type="time"], select, textarea{ font-size:16px !important; }
    .f_wrap .f_field:has(.f_sub_label, .f_col_label, .f_col_field){ flex-wrap:wrap; }
    .f_wrap .f_field:has(.f_sub_label, .f_col_label, .f_col_field) .right{ text-align:left;margin-left:0; }
    .f_wrap .f_field:has(.f_sub_label, .f_col_label, .f_col_field) :is(input, select){ max-width:100%; }
    .f_wrap .f_field:has(.f_col_label) :is(input, select){ max-width:120px; }
    .f_wrap .f_field:has(.f_col_label) .f_col_label{ width:calc(40% - 5px); }
    .f_wrap .f_field:has(.f_col_label) .f_col_field{ width:calc(60% - 5px); }
    .f_wrap .f_col_field.full{ width:fit-content !important; }
    .line_wrap .line{ border-bottom:1px #999 dashed;padding-bottom:8px; }
    .tbl_sp_break tr{ display:flex;flex-wrap:wrap;gap:2px; }
    .tbl_sp_break th.th_upper{ display:block;width:100%; }
    .tbl_sp_break th{ display:block;width:calc(30% - 1px); }
    .tbl_sp_break td{ display:block;width:calc(70% - 1px); }
    .f_wrap :is(.f_label, .f_field, .f_tools){ line-height:100%; }
}
/*---------------------------------------------------------*/
.f_list .item{ white-space:nowrap; }
.f_list .item i{ cursor:pointer; }
.f_list .item i.bt_f_list_delete::before{ content:"\F623";color:var(--cancel-bg); }
.f_list .item.delete i.bt_f_list_delete::before{ content:"\F623";color:var(--neutral-fg); }
.f_list .item.delete :is(input, select){ background:#ddd !important; }
/*---------------------------------------------------------*/
.form_datepicker{ width:fit-content;text-align:center;padding:1px 0 2px;font-size:110%; }
.form_datepicker a{ white-space:nowrap;font-size:105%;cursor:pointer; }
.form_datepicker i{ color:var(--action-fg); }
/*-------------------------------------------------------*/
.tool_wrap{ display:flex;gap:15px;flex-wrap:wrap;margin:10px 0; }
.tool_wrap .tool_group{ display:flex;align-items:center;gap:5px;max-width:100%;overflow-x:auto; }
.tool_wrap .tool_group *{ display:inline-block; }
.tool_wrap .tool_group.tool_right{ margin-left:auto; }
.tool_wrap .tool_group.tool_center{ margin:0 auto; }
.tool_wrap.full{ width:100%; } 
.tool_wrap :is(.bt_toggle, .bt_group_toggle){ background:var(--toggle-off-bg);color:var(--toggle-off-on);margin-right:5px; }
.tool_wrap :is(.bt_toggle, .bt_group_toggle):hover{ opacity:1; }
.tool_wrap :is(.bt_toggle, .bt_group_toggle).active{ background:var(--toggle-on-bg);color:var(--toggle-on-on); }
/*---------------------------------------------------------*/
.cc_toggle{ position:relative;display:inline-block;width:30px;height:20px; }
.cc_toggle input{ display:none; }
.cc_toggle .slider{ position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:34px;transition:0.3s;cursor:pointer; }
.cc_toggle .slider::before { content:"";position:absolute;width:14px;height:14px;left:3px;bottom:3px;background-color:white;border-radius:50%;transition:0.3s;box-shadow:0 2px 5px rgba(0, 0, 0, 0.2);}
.cc_toggle input:checked + .slider { background-color:#4cd964; }
.cc_toggle input:checked + .slider::before { transform:translateX(10px); }
/*---------------------------------------------------------*/
.cc_login_form :is(input[type="text"], input[type="password"]){ width:300px;border:var(--form-item-bd);border-radius:var(--radius);font-size:var(--base-font);color:var(--base-fcol);font-family:sans-serif;outline:none;padding:4px; }
.cc_login_form .cookie_wrap .label{ font-size:90%; }
/*---------------------------------------------------------*/
.tbl_project .bt_project{ cursor:pointer;color:var(--action-fg); }
/*---------------------------------------------------------*/
.clamp_min{ color:var(--bad); }
.clamp_max{ color:var(--good); }
/*---------------------------------------------------------*/
.report_label{ font-size:90%; }
.line_wrap .line{ padding-right:30px; }
.bt_line_delete_wrap{ top:7px;position:absolute;right:2px; }