@font-face { font-family:'Noto Sans JP';src:url('/fonts/NotoSansJP-Regular.woff2') format('woff2');font-weight:400;font-style:normal; }
@font-face { font-family:'Noto Sans JP';src:url('/fonts/NotoSansJP-Bold.woff2') format('woff2');font-weight:600;font-style:normal; }
*{ box-sizing:border-box;font-weight:100;font-family:'Noto Sans JP';line-height:150%;position:relative; }
body{ padding:0;margin:0;font-size:11pt;color:#666; }
p{ line-height:150%; }
a{ text-decoration:none; }
h2{ margin:0;font-size:11pt; }
h2:before{ font-family:'bootstrap-icons';content:"\F3F8";position:relative;top:2px;margin-right:4px; }
/*-------------------------------------------------------*/
h1{ font-size:10pt;margin:0;font-weight:normal; }
h2{ margin:0;font-size:11pt;text-indent:4px; }
h2:before{ font-family:'bootstrap-icons';content:"\F3F8";position:relative;top:2px;left:-3px; }
th, td{ white-space:nowrap; }
/*-------------------------------------------------------*/
.flex{ display:flex; }
.flex.middle{ align-items:center; }
.gap_small{ gap:10px; }
.right{ text-align:right; }
.center{ text-align:center; }
.left{ text-align:left; }
.small{ font-size:95%;opacity:0.8; }
.flex_list{ display:flex;flex-wrap:wrap;gap:0 3px;font-size:90%; }
.flex_list .label{ width:calc(20% - 3px);padding:1px;height:100%;color:var(--main-fg);font-size:90%;border-radius:4px;white-space:nowrap; }
.flex_list .field{ width:calc(80% - 3px);padding:1px; }
.flex_list .field.strict{ overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.flex_list .label.short{ width:calc(15% - 3px); }
.flex_list .field.short{ width:calc(35% - 3px); }
.flex_list .field.long{ width:100%; }
/*-------------------------------------------------------*/
header{ margin-bottom:var(--header-h);z-index:650; }
header .inner{ width:100%;position:fixed;top:0;background:#666;color:#fff;padding:5px 8px; }
/*-------------------------------------------------------*/
main{  }
/*-------------------------------------------------------*/
input[type="text"], input[type="password"], textarea{ font-size:16px;color:#444; }
input[type="text"], input[type="password"], textarea{ border:1px #999 solid;border-radius:5px;width:100%;padding:8px 4px; } 
input[type="text"][readonly], textarea[readonly], select[readonly]{ opacity:0.6; }
input:focus{ outline:none; }
textarea{ resize:none;font-family:monospace;tab-size:4;outline:none; }
input::placeholder, textarea::placeholder{ color:#aaa; }
/*-------------------------------------------------------*/
.box{ box-shadow:0px 0px 3px #999;padding:15px 25px 25px;border-radius:5px;background:#eee; }
.box.narrow{ padding:25px 15px;gap:8px; }
.box.medium{ padding:25px 25px; }
.box.small{ max-width:600px; }
.box.middle{ width:860px;gap:10px; }
.box.wide{ width:100%; }
.box.noflex{ display:block; }
.box.noshadow{ box-shadow:none; }
table.box{ display:table; }
/*-------------------------------------------------------*/
.box .form_label{ color:var(--main-fg);width:150px;text-align:left;padding:15px 2px;padding-top:17px;font-size:10pt;letter-spacing:0.5px;border-bottom:1px #999 solid; }
.box .form_label.essential::after{ position:absolute;content:'※';right:0; }
.box .form_item{ width:calc(100% - 165px);font-size:90%;padding-bottom:10px;padding-top:5px; }
.box .form_item select{ width:100%;height:40px; }
.box .form_label.ng_form{ background:#fee;padding-left:5px; }
.box .form_label.ng_form.essential::after{ right:5px; }
.box.confirm .form_label{ padding-top:11px;padding-bottom:12px; }
.box.confirm .form_item{ padding-top:11px; }
/*-------------------------------------------------------*/
.box_menu{ position:absolute;top:0;right:8px;text-align:right;font-size:120%; }
.box_menu a{ display:inline-block;line-height:0;background:var(--action-fg);color:#fff;border-radius:100px;width:30px;aspect-ratio:1/1;text-align:center; }
.box_menu a i{ top:1px; }
/*-------------------------------------------------------*/
.form_list_label{ padding:4px 5px;padding-right:15px;background:#ddd;border-radius:5px;margin-right:5px;font-size:10pt;white-space:nowrap;cursor:pointer; }
.accept_list .form_list_label{ display:inline-block;width:100%;margin-bottom:4px; }
/*-------------------------------------------------------*/
.bt{ display:inline-block;border-radius:7px;padding:2px 9px;background:#444;color:#fff;font-size:9pt;white-space:nowrap;letter-spacing:1px;user-select:none;cursor:pointer; }
.bt.success{ background:var(--action-bg);color:#fff; }
.bt.cancel{ background:#e93838;color:#fff; }
.bt_wrap{ width:100%;display:flex;gap:10px;justify-content:center; }
.bt_wrap .bt{ font-size:100%;padding:5px 40px;margin-top:30px; }
.bt_wide{ width:100%;padding:10px;text-align:center;border-radius:4px;font-size:100%; }
.bt i{ display:inline-block; }
/*-------------------------------------------------------*/
@media (max-width:640px){
    .no_pc{ display:revert; }
    .no_sp{ display:none; }
    header{ display:none; }
    main{ width:94%;margin:15px auto 50px auto;padding-bottom:20px; }
    .box.narrow{ padding:20px 0; }
    .box .form_label{ padding-left:2px; }
    .box .form_label{ width:100%; }
    .box .form_item{ width:100%; }
    .box.confirm .form_label{ padding-bottom:0; }
    .box.confirm .form_item{ padding-top:0;padding-left:2px; }
    .box .form_item input[type=text], .box .form_item input[type=password], .box .form_item textarea{ width:100%; }
    .box{ box-shadow:none; }
    .flex_list .label{ width:100%; }
    .flex_list .field{ width:100%; }
}
/*-------------------------------------------------------*/
@media (min-width:640px){
    .no_pc{ display:none; }
    .no_sp{ display:revert; }
}