/* A Modern CSS Reset */
*,*::before,*::after{box-sizing:border-box}ul[class],ol[class]{padding:0}body,h1,h2,h3,h4,h5,h6,p,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}body{min-height:100vh;scroll-behavior:smooth;/*text-rendering:optimizeSpeed;*/line-height:2}ul[class],ol[class]{list-style:none}a:not([class]){/*text-decoration-skip-ink:auto*/}img{max-width:100%;display:block}article>*+*{margin-top:1rem}input,button,textarea,select{/*font:inherit*/}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

html { }
body { font-weight: 400; font-size:clamp(0.875rem,2vw,1.25rem); letter-spacing:0.05rem; font-style: normal; font-family: 'Noto Sans JP', sans-serif; line-height:1.5; color:#333; background:rgba(17,61,119,0.05); position:relative; font-feature-settings:"palt"; zoom:1 !important; }
a { color:#333; transition:0.15s; /*text-decoration: none;*/ outline-style:none; cursor: pointer; }
a:hover { color:#07d; /*text-decoration:none;*/ cursor: pointer; }

.tc { text-align: center; }
.tr { text-align: right; }
.tl { text-align: left; }
.clear { clear:both; }
.f_ss { font-size:clamp(0.6125rem,1.2vw,0.75rem) }
.f_s { font-size:clamp(0.75rem,1.6vw,1rem) !important; }
.f_m { font-size:clamp(1rem,2vw,1.2rem) !important; }
.f_l { font-size:clamp(1rem,2.2vw,1.4rem); }
.f_n { font-weight: normal; }

.green { color:#6a0 }
.red {color:#d53;}
.blue { color:#07d;}
.orange { color:#f84;}
.yellow { color:#fc0;}
.gray { color:#89a;}

p { margin-bottom: 1rem;}
hr { width: 100%; background: none; border: none; border-top: 1px solid rgba(0,0,0,0.1); margin:0.75rem 0; }
hr.dot { width: 100%; background: none; border: none; border-top: 1px dotted rgba(0,0,0,0.1); margin:0.75rem 0; }
.hidden { display: none; }

.anchor { height:4rem; margin-top:-4rem; position:absolute; z-index:-10; width:1px; }

.flex { display:flex; flex-flow:row wrap; justify-content:space-between; }
.flex.aic { align-items: center; }
.flex.aifs { align-items: flex-start; }
.flex.aife { align-items: flex-end; }
.flex.jcfs { justify-content: flex-start; }
.flex.jcfe { justify-content: flex-end; }
.flex.jcc { justify-content: center; }
.flex.ffrn { flex-flow: row nowrap; }
.flex .fg1 { flex-grow: 1; }
.sticky {position: sticky; top: 5.5rem; }

/*--ログイン--*/
body.login { display:flex; flex-flow:column wrap; align-items:center; justify-content:center; }
body.login .article { max-width:30rem; margin:auto; display:flex; flex-flow:column wrap; align-items:center; justify-content:center; }
body.login h3 { text-align: center; }
body.login .login_box { padding:1.5rem; }
body.login button { margin:0; }
body.login .forgetmenot { /*font-size:0.75rem;*/ }
body.login .copyright, body.top .copyright { text-align:center; margin-bottom:15vh; color: #89a; font-size: 0.75rem; }
body.login .header, body.join .header { justify-content: center; }
body.login .header .hm, body.join .header .hm, body.login .header .dd, body.join .header .dd { display: none; }
body.login .header a, body.join .header a { pointer-events:none; }
body.login .alert { width: 100%; }

/*--新規登録--*/
body.join .article, body.regi .article { max-width:54rem; margin:auto; }
.stepBar { display: flex; max-width: 30rem; position: relative; margin:0 auto 1rem auto!important; padding:0; text-align: center;}
.stepBar li {  list-style: none; position: relative; width: 33.333%;}
.stepBar li::after { background: #d0dada; content: ""; width: calc(100% - 2rem); height: 6px; position: absolute; left: calc(-50% + 1rem); top:calc(1rem - 3px );}
.stepBar li:first-child::after { display: none;}
.stepBar li span { background: #d0dada; color: #ffffff; display: inline-block; height: 2rem; line-height: 2rem; width: 2rem; border-radius: 50%;}
.stepBar .visited:after { background:#07d;}
.stepBar .visited span { background: #07d;}

.material-symbols-outlined { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; vertical-align: bottom; }



/*--HEADER--*/
.header { background:#fff; display: flex; position: fixed; align-items: center; top:0; left:0; right:0; padding:0; z-index: 10000; box-shadow: 0 1rem 0.5rem -1rem rgba(31,54,92,0.05); }


.member_name { margin-left: auto; margin-right: 1rem; /*font-size: 0.8rem;*/ display:inline-block; }
.member_name a { display:flex; flex-flow:row nowrap; align-items: center; padding:0.25rem; height:4rem; text-decoration: none; cursor: pointer; color:#333; }
.member_name > a { max-width: 12rem;} 
.member_name a span.name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-height: 1.5; }
.member_name a:hover { color:#07d; }

.header .title { display:flex; flex-flow:row nowrap; align-items: center; font-weight:bold; text-align: center; text-decoration: none; color:#333; white-space: nowrap; padding:0.5rem 1rem; /*font-size: 1rem;*/ line-height: 1.25; }
.header .title img { width: 2.5rem; height: 2.5rem; margin:0 0.5rem 0 0; }

.header .title .text { display:flex; flex-flow:column wrap; align-items: flex-start; justify-content:center;}
.header .title span.mgt { display: inline-block; position: relative; border:1px solid #07d; color:#07d; font-size:0.75rem; line-height:1.0rem; padding:0 0.25rem 0.1rem 0.25rem; margin:0.25rem 0 0 0; vertical-align: top; border-radius:0.5rem; }


.header .hm { /*margin-left: auto;*/ }
.header .hm ul { display: flex; flex-flow: row nowrap; list-style: none; margin: 0; padding: 0; justify-content: center; }
.header .hm ul li { margin: 0; font-size: 0.75rem; position:relative; padding: 0; /*border-left: 1px solid #eee;*/ letter-spacing: normal; }
.header .hm ul li a { padding:0.25rem 0.25rem 0 0.25rem; text-decoration: none; position: relative; height:4rem; min-width: 4rem; display:flex; flex-flow:column nowrap; align-items: center; justify-content:center; text-align: center; color:#333; }
.header .hm ul li .material-symbols-outlined { display: block; margin:0 auto; font-size: 1.75rem; }
.header .hm ul li .sub, .header .dd .sub, .dd .sub { display: none; position: absolute; top:100%; background: #fff; border: 1px solid rgba(0,0,0,0.2); padding:0.75rem; min-width:calc(9rem + 2px); left:calc(50% - 4.5rem - 1px); border-radius:0.75rem; /*box-shadow:0 1rem 0.5rem -1rem rgba(0,0,0,0.1);*/ }
.header .hm ul li.master .sub { right:-4rem; column-count:2; width:calc(22rem + 4px); }
.header .hm ul li.master .sub li a { max-width:18rem; }
.header .hm ul li.setting .sub { right: 0; column-count:2; width:calc(22rem + 4px); }


.dd .sub::before {content: ""; position: absolute; top: -11px; left:calc(50% - 2px); border: 4px solid transparent; border-bottom: 6px solid rgba(0,0,0,0.2); }
.header .hm ul li.order .sub::before { right:6.75rem; }
.header .hm ul li.process .sub::before { right:6.75rem; }
.header .hm ul li.master .sub::before { right:5.75rem; }
.header .hm ul li.setting .sub::before { right:calc(1.75rem - 2px); }

.header .hm ul li .sub li, .header .dd .sub li { /*font-size: 0.8rem;*/ padding:0; border: none; line-height: 1.5; }
.header .hm ul li .sub li a, .header .dd .sub li a { background: none; display: flex; flex-flow: row nowrap; align-items: center; justify-content: flex-start; padding:0.5rem 0.25rem; height: auto; position: relative; text-decoration: none; color:#333; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.header .hm ul li .sub li span.no { display: block; padding:0.5rem 1rem; color:#ccc; text-align: left; }
.header .hm ul li .sub li span.text, .dd .sub li span.text { display: block; padding:0.5rem 0.25rem; text-align: left; }
.header .hm ul li .sub li a:hover, .header .dd .sub li a:hover { background: rgba(17,61,119,0.1); }
.header .hm ul li a.active, .header .hm > ul > li:hover > a { color:#07d; }
.header .hm li.active::after { content: ""; position: fixed; display: block; background: rgba(0,0,0,0.6); top:0; right:0; bottom:0; left:0; z-index: -100; border-top:4rem solid #fff; }
.header .member_name.active::after { content: ""; position: fixed; display: block; background: rgba(0,0,0,0.6); top:0; right:0; bottom:0; left:0; z-index: -10; border-top:4rem solid #fff; }

.header .dd, .dd { position: relative; }
.header .dd.active .sub, .dd.active .sub { display: block; z-index: 10; }
.header .dd .sub .material-symbols-outlined { margin-right: 0.5rem; margin-left: 0; color:#888; font-size:1.25rem; }

body.top .hm li.today a, 
body.project .hm li.project > a, 
body.staff .hm li.staff a, 
body.tool .hm li.tool > a,
body.report .hm li.report > a, 
body.kentaikyo .hm li.kentaikyo > a,
body.setting .hm li.setting > a { color:#07d; }

.header .hm .badge[data-num="0"]::before { display: none;}
.header .hm .badge::before { display: flex; justify-content: center; align-items: center; position: absolute; content: attr(data-badge); min-width: 20px; height: 20px; box-sizing: border-box; padding: 4px; font-size: 10px; font-weight: bold; background-color: #d53; color:#fff; border: 1px solid #fff; border-radius:3rem; top: 0.25rem; left: calc(50% + 0.25rem); z-index: 1; letter-spacing: normal; }


/*--FOOTER--*/
.footer { position: relative; width: 100%; text-align: center; padding:0.5rem; font-size: 0.75rem; color: #89a; z-index: -1; }


/*--CONTENTS--*/
.sub_head { position: relative; margin-bottom:0.5rem; }
.sub_head h2 { margin-bottom:0.5rem; }
.article { width:100%; max-width:80rem; padding:5rem 1.5rem 2rem 1.5rem; margin:0 auto; box-sizing:border-box; position:relative; }
.article.wide  {  max-width: 100%; }

main { width:calc(100% - 21rem); }
aside { width:20rem; }


h1, h2, h3, h4, h5, h6 { line-height:1.5; padding:0; letter-spacing:0.1rem; position: relative;  }
h1 { font-size:1.6rem;margin-bottom: 0.75rem; }
h2 { font-size:1.5rem; margin-bottom: 0.75rem; display:flex; flex-flow:row wrap; align-items: center; justify-content:flex-start; }
h3 { font-size:1.375rem; margin-bottom: 0.5rem; display:flex; flex-flow:row wrap; align-items: center; justify-content:flex-start; }
h4 { font-size:1.25rem; margin-bottom: 0.5rem; }
h5 { font-size:1.125rem; margin-bottom: 0.25rem; }
h6 { font-size:1.0rem; margin-bottom: 0.25rem; }

h1 .comment, h2 .comment, h3 .comment, h4 .comment, h5 .comment { font-size:1rem; }
h2 .material-symbols-outlined { font-size: 2.4rem; margin-right:0.5rem; }
h3 .material-symbols-outlined { font-size: 2rem; margin-right:0.5rem; }


.message_box { margin-left: 1rem; background: #fcf1f4; border:1px solid #f3c7d3; color:#e56; font-weight: bold; border-radius:0.5rem; padding:0.5rem 1rem; flex-grow: 1; }

.float_box { background:rgba(255,255,255,1); padding:1rem; margin-bottom:1rem; position: relative; border-radius:0.75rem;  }
.float_box.title { padding: 0.5rem 1rem; }
.float_box.title h2 { margin-bottom:0; padding:0; font-weight: normal; display:flex; flex-flow:row wrap; align-items: center; justify-content: flex-start; }
.float_box h3 { width: 100%; }


/*-- FORM/ --*/
form { margin:0; padding:0; border:0; vertical-align:middle; background:transparent; accent-color:#07d; }

input, textarea, select { display: inline-block; font-weight: 500; max-width:100%; -webkit-appearance:none; -moz-appearance:none; vertical-align:middle; position:relative; padding-inline:0; padding:clamp(0.4rem,0.8vw,0.5rem) clamp(0.5rem,1.2vw,0.75rem); /*margin:0 0.25rem 0.5rem 0;*/ color:#333; font-size:clamp(1rem,2vw,1.25rem); /*line-height:1.25;*/ background:#fff; border:1px solid #07d; border:1px solid rgba(153,170,187,0.5); box-shadow:none; box-sizing:border-box; border-radius:0.5rem; z-index:auto !important; }
textarea { height: auto; resize: vertical; line-height: 1.75; }
button, a.button, input[type="button"], input[type="submit"] { display:inline-flex; align-items: center; justify-content: center; -webkit-appearance:none; overflow:visible; vertical-align: middle; letter-spacing:0.1rem; padding:clamp(0.4rem,0.8vw,0.5rem) clamp(0.5rem,1.2vw,0.75rem); line-height:1.5; /*margin:0 0.5rem 0.5rem 0;*/ background:#07d; position:relative; text-decoration:none; transition:all .2s; cursor:pointer; /*box-shadow:0 2px 5px 0 rgba(0,1,1,0.05);*/ box-sizing:border-box; border-radius:0.5rem; border:1px solid #07d; min-width:8rem; font-size: 1rem; color: #fff; }
button + button, .button + button { margin-left: 2%; }

a.button { color:#333 !important;}
input::placeholder, textarea::placeholder, select::placeholder { color:#788;}
button:hover, a.button:hover, input[type="button"]:hover, input[type="submit"]:hover {text-decoration:none; box-shadow:none; opacity:0.8 }
input:disabled, input[type="text"]:disabled, input[type="submit"]:disabled, input[type="submit"]:disabled,
input[type="button"]:disabled:hover, input[type="submit"]:disabled:hover { background:#fff !important; color:#fff; opacity:1.0; cursor:default; position:relative;  border: 1px solid rgba(153,170,170,0.3);  }
input:focus, select:focus, textarea:focus { border:1px solid #f83; outline:none; box-shadow:0 0 3px rgba(255, 221, 102, 1);}
button:disabled, button.b_mini:disabled, a.button.disabled, a.b_mini.disabled, button:disabled:hover, a.button.disabled:hover, a.button.disabled:hover,input[type="button"]:disabled,input[type="button"]:disabled:hover,input[type="submit"]:disabled,input[type="submit"]:disabled:hover { background:#ecf0f0 !important; color:#aaa !important; border: 1px solid rgba(0,0,0,0.05); cursor:default; box-shadow: none; opacity: 1 !important; } 
button.mini, .button.mini { min-width:0; padding:0.15rem 0.5rem; font-weight: normal; }
td button:last-of-type { margin-right: 0; }
input.error { border:1px solid #d53; background: #fee; }
button:disabled .material-symbols-outlined, .b_mini:disabled .material-symbols-outlined { color:#aaa !important; }

input.data_list { background: #fff url(../img/i_pulldown.svg) right center /24px no-repeat; padding: 0 1.25rem 0 0.25rem; box-sizing: border-box; }

.b_white, a.button.b_white,a.b_mini.b_white, button.cancel, button.del { color:#333 !important; border: 1px solid #07d; border:1px solid rgba(153,170,187,0); background: #fff; }
.float_box .b_white, .float_box a.button.b_white, .float_box button.cancel, .float_box button.del { background:rgba(17,61,119,0.07); box-shadow: none; }
.b_white:hover { /*background:#f5fbe7;*/ }
.b_gray, a.button.b_gray, button.b_mini.b_gray { background: #89a; border: 1px solid #89a; }

.b_mini { display:inline-flex; flex-flow: row nowrap; align-items:center; color:#fff !important; vertical-align: middle; background:#07d; border-radius:0.5rem; padding: 0.5rem; margin:0; text-decoration: none; /*box-shadow: 0 2px 5px 0 rgba(0,1,1,0.05);*/ box-sizing:border-box; font-size:1rem; letter-spacing:normal; font-weight:normal; min-width: 0; line-height:1.25; white-space: nowrap; border:1px solid #07d; min-height: 1.8rem; }
button.b_mini { /*padding: 0.1rem 0.75rem;*/ }
.b_mini:hover { opacity: 0.8; }
.b_mini span.material-symbols-outlined, button.mini span.material-symbols-outlined { font-size: 1.2rem; margin:0 0.25rem 0 0; color: #fff; }
.b_mini span.material-symbols-outlined::before { width:1rem; height:1rem; }
table + .b_mini { margin-top:0.75rem; margin-bottom:0.75rem; }
h2 .b_mini, h3 .b_mini { margin-top: 0; margin-bottom: 0; }
h2 .b_mini:first-of-type, h3 .b_mini:first-of-type { /*margin-left: auto;*/ }

/*.float_box button, .float_box a.button, .float_box .b_mini, a.button.gray, .button.gray { background:#f5f7f7; border:1px solid #89a; color:#333 !important; }*/


.b_right { margin-left: auto; width: auto; }
.b_right .b_mini { margin-right:0.5rem; }
.b_right .b_mini:last-of-type { margin-right:0; }

button.yellow, a.button.yellow , .b_mini.yellow { background: #fc1; border:1px solid rgba(0,0,0,0); color: #333 !important; }
.b_mini.yellow .material-symbols-outlined { color:#333; }

/*-- SELECT/ --*/
select {background:#fff url(../img/i_pulldown.svg) right center /24px no-repeat; padding-right:1.5rem; width: 100%; }
select:disabled, select.disabled { border:1px solid rgba(17,61,119, 0.2); border:1px solid #89a; color:#bcc; background:none; z-index:auto; }
td select, td input[type="text"], td button, td textarea { margin-top:0; margin-bottom:0; }
select[multiple] { background: #fff; height: auto; }
select > option { padding-inline:0 0.25rem;  }

/*-- Radio and Checkbox/ --*/
input[type="radio"], input[type="checkbox"] { margin:0; /*width:1.25rem; height:1.25rem;*/display:none; }
input[type="radio"] + span, input[type="checkbox"] + span { padding-left:1.9rem; padding-right:0.7rem; position:relative; display:inline-flex; align-items: center; white-space:nowrap; min-width:1.6rem; min-height: 1.8rem; }
input[type="radio"] + span::before{ content:""; display:block; position:absolute; top:0.1rem; left:0; width:1.6rem; height:1.6rem; background:#fff; border:1px solid rgba(153,170,187,0.8); border-radius:50%; z-index:5; box-sizing:border-box; }
input[type="radio"] + span::after{ content:""; display:block; position:absolute; top:0.8rem; left:0.7rem ; width:0.2rem; height:0.2rem; background:#07d; border-radius:50%; z-index:10; transition:0.15s; opacity:0; }
input[type="radio"]:checked + span, input[type="checkbox"]:checked + span { /*color:#07d;*/ font-weight: 600; }
input[type="radio"]:checked + span::before { border:2px solid #07d; }
input[type="radio"]:checked + span::after{ content:""; display:block; position:absolute; top:0.5rem; left:0.4rem; width:0.8rem; height:0.8rem; background:#07d; border-radius:50%; z-index:10; transition:0.25s; opacity:1; }
input[type="checkbox"] + span::before { content:""; display:block; position:absolute; top:0.1rem; left:0; width:1.6rem; height:1.6rem; background:#fff; border:1px solid rgba(153,170,187,0.5); box-sizing:border-box; border-radius:0.5rem; }
input[type="checkbox"]:checked + span::after { content:""; display:block; position:absolute; top:-0.1rem; left:0.5rem; width:0.8rem; height:1.4rem; transform:rotate(40deg); border-bottom:4px solid #07d; border-right:4px solid #07d; box-sizing:border-box; }

input[type="checkbox"]:disabled + span { color:#89a;}
input[type="checkbox"]:disabled + span::before { border:1px solid rgba(153,170,187,0.2); opacity: 0.7;  }
input[type="checkbox"]:disabled:checked + span::after { opacity: 0.5; }


label input[type="radio"] + span::before {  }
label input[type="radio"] + span::after{ }
label input[type="radio"]:checked + span::after{ }
label input[type="checkbox"] + span::before {  }
label input[type="checkbox"]:checked + span::after {  }
th[ nowrap], td[ nowrap] { white-space: nowrap !important;}
input[type="checkbox"] + span:empty { margin: 0; padding: 0;  }
input[type="file"] { border: none; height: auto; font-size:0.8rem; }
input[type="month"] { width: 9rem; min-width: 9rem; min-height:2.375rem; }
input[type="date"] { width: auto; min-width: 9rem; min-height:2.375rem; }
input[type="time"] { width: auto; min-width: 4.5rem; min-height:2.375rem; -webkit-text-fill-color: #333; }
select.time { width: auto; min-width: 3.5rem; min-height:2.375rem; -webkit-text-fill-color: #333; }



.date-picker_box { padding:0.5rem 0;  }
.date-picker_box + .date-picker_box { padding-top:0.75rem; border-top: 1px solid #e7ebf1;   }

.toggle-work { display:flex; align-items: center; justify-content: center; border:1px solid rgba(153,170,187,0.5); border-radius: 3rem; soverflow: hidden; position: relative; line-height:1; }
 .toggle-work input[type="radio"] { display: none; }
 .toggle-work label { display: flex; align-items: center; justify-content: center; padding:0; text-align: center; cursor: pointer; z-index: 2; transition: color 0.3s; width:clamp(2.25rem,5vw,2.5rem); height:clamp(2.25rem,5vw,2.5rem); font-size:clamp(0.75rem,1.6vw,1rem); }
 .toggle-work .indicator { position: absolute; top: 50%; width:clamp(2.25rem,5vw,2.5rem); height:clamp(2.25rem,5vw,2.5rem); background-color: #07d; border-radius: 50%; transform: translateY(-50%); transition: left 0.3s ease; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: normal; pointer-events: none; z-index:1; }
 
/* ラジオボタンの選択に応じてindicatorの色と位置を変更 */
.toggle-work input[type="radio"]:nth-of-type(1):checked ~ .indicator { left: 0%; background: #07d; }
.toggle-work input[type="radio"]:nth-of-type(2):checked ~ .indicator { left: 25%; background: #6a0; }
.toggle-work input[type="radio"]:nth-of-type(3):checked ~ .indicator { left: 50%; background: #c90; }
.toggle-work input[type="radio"]:nth-of-type(4):checked ~ .indicator { left: 75%; background: #96c; }
.toggle-work input[type="radio"]:nth-of-type(1):checked ~ label:nth-of-type(1),
.toggle-work input[type="radio"]:nth-of-type(2):checked ~ label:nth-of-type(2),
.toggle-work input[type="radio"]:nth-of-type(3):checked ~ label:nth-of-type(3),
.toggle-work input[type="radio"]:nth-of-type(4):checked ~ label:nth-of-type(4) {  color: #fff; }

/*数値入力*/
.spinner_area { position: relative; width:6rem; display:inline-flex; margin-right:0.5rem; }
.btnspinner{ -ms-user-select: none; -webkit-user-select: none; user-select: none; }
.spinner_area input::-webkit-outer-spin-button, .spinner_area input::-webkit-inner-spin-button { appearance:none; margin: 0; }
.spinner_area input[type="number"] { min-width: 2rem; width:3rem; font-size: 1rem; vertical-align: middle; -webkit-appearance:textfield; appearance:textfield; margin: 0; border-radius:0; text-align: right; }
.spinner_area .btnspinner { cursor: pointer; line-height:1; min-width: 1.5rem; /*width:2rem;*/ padding:0.25rem; text-align: center; margin: 0; background:#fff; color: #788 !important; letter-spacing: normal; }
.btnspinner.plus { border-radius:0 0.25rem 0.25rem 0; border:1px solid #89a; border-left:none; box-shadow: none; }
.btnspinner.minus { border-radius:0.25rem 0 0 0.25rem; border:1px solid #89a; border-right: none; box-shadow: none; }


label { margin-bottom: 0; display: inline-flex; align-items: center; vertical-align: middle; position: relative; white-space: nowrap; }
td.tc label { padding-right:0; margin-left:0.5rem; }
td.tc input[type="checkbox"] + span { margin-right:0; }
td.tc .b_mini .material-symbols-outlined { color: #fff;}
td a .material-symbols-outlined { vertical-align: middle; color:#89a; font-size: clamp(1.5rem,3vw,2rem); }
td a .material-symbols-outlined.calculate { display: inline-block; width:1.5rem; height: 1.5rem; margin-top:-0.1rem; background: url("../img/i_calculate.svg") center center /cover no-repeat; }

h3 label { padding: 0; }
h3 input[type="checkbox"] + span::before {  top:0.35rem; margin:0 0.5rem 0 0;  }
h3 input[type="checkbox"]:checked + span::after {  top:0; }


.error, .required { color:#d53; }
div.error { border:2px solid #d53; padding:0 0.5rem; margin:0; }
span.error { /*background:#d53; color:#fff;*/ padding:0.25rem 0; display:block; }

.delivery_box .error { position: absolute; z-index: 100; bottom:100%; border:2px solid #d53; padding:0.25rem; background: rgba(255,255,255,0.9); border-radius:0.5rem; line-height: 1.25; }
.delivery_box .error::after { content: ""; display: block; width:0.6rem; height:0.6rem; border-top: 0.3rem solid #d53; border-right:0.3rem solid transparent; border-bottom:0.3rem solid transparent; border-left:0.3rem solid transparent; position: absolute; bottom:-0.6rem; left:8rem;}


.example { color:#777; white-space:nowrap; }

.hissu { display: inline-block; /*background:#d53; color:#fff; font-weight: normal; font-size:0.6125rem; padding:0.15rem 0.4rem; vertical-align: middle; position: relative; margin:-0.25rem 0.25rem 0 -0.2rem; border-radius:1rem; padding:0; */ }
.hissu::after { content:"※"; color:#07d;}
.ninni { /*display: inline-block;*/ background:rgba(153,170,187,1); color:#fff; font-weight: normal; font-size:0.6125rem; padding:0.15rem 0.4rem; vertical-align: middle; position: relative; margin:-0.25rem 0.25rem 0 -0.2rem; border-radius:1rem; display: none; }
.ninni::after { content:"任意"; }

/*アラート*/
.alert { position: relative; padding:0.75rem 1rem; margin-bottom:1rem; border-radius:1rem; border:1px solid transparent; }
.alert_success { color: #6a0; background: #ebfad9; border-color:#6a0; }
.alert_error { color: #a42; background:#f8dad3; border-color: rgba(238,85,51,0.5); }


/*日付取得カレンダー*/
.flatpickr-weekdaycontainer > .flatpickr-weekday:nth-child(1){ color: #d53;}
.flatpickr-weekdaycontainer > .flatpickr-weekday:nth-child(7){ color: #57c;}
span.flatpickr-weekday { color: rgba(0,0,0,0.5); }
span.flatpickr-weekday:nth-child(1) { color: rgba(255, 105, 105, 0.6); }
span.flatpickr-weekday:nth-child(7) { color: rgb(30, 115, 190, 0.6); }
.flatpickr-day { line-height: 37px; color:#666; }
.flatpickr-day.saturday { color: #57c; }
.flatpickr-day.sunday,
.flatpickr-day.jp-holiday { color: #d53; }
.flatpickr-day.prevMonthDay.saturday, 
.flatpickr-day.nextMonthDay.saturday,
.flatpickr-day.flatpickr-disabled.saturday { color: rgba(105, 139, 204, 0.2); }
.flatpickr-day.prevMonthDay.sunday,
.flatpickr-day.prevMonthDay.jp-holiday,
.flatpickr-day.nextMonthDay.sunday,
.flatpickr-day.nextMonthDay.jp-holiday,
.flatpickr-day.flatpickr-disabled.sunday,
.flatpickr-day.flatpickr-disabled.jp-holiday{ color: rgba(255, 105, 105, 0.2); }
.flatpickr-day.selected { background:none; border:3px solid #ffb536; line-height: 33px; color: inherit; font-weight:bold; }
.flatpickr-day.selected:hover { background:#f93; color:#fff !important; border-color:#f93; }
.flatpickr-months .flatpickr-month,
.flatpickr-months select { color:#333; }
.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay { color: rgba(105,105,105,0.3);}
input.flatpickr, input.flatpickr_range, input.flatpickr_month, input.flatpickr_time { background:#fff url(../img/i_cal.svg) calc(100% - 0.25rem) center /1rem no-repeat; width: 6.5rem; }
input.flatpickr_range { width: 14rem; }
input.flatpickr_time { width:5.5rem; }
input.flatpickr_range_time { width:18rem; }
.flatpickr-current-month { display: flex; justify-content: center; flex-flow:row-reverse wrap; }
input.flatpickr.arrow,input.flatpickr-month.arrow { background:#fff url(../img/i_cal.svg) calc(100% - 1.5rem) center /1.2rem no-repeat; width:10rem; padding: 0.3rem 2.5rem 0.3rem 1.5rem ; }
.flatpickr-current-month input, .flatpickr-current-month select { min-height: 1rem; }

.flatpickr-calendar.hasTime.noCalendar { width: 10rem; }

/*データアップロード*/
.upload-area { margin: auto; width: 100%; height:10rem; position: relative; border: 1px dotted #333; display:flex; flex-flow:row wrap; align-items: center; justify-content:center; }
.upload-area input { margin: 0; }
.upload-area p { position: relative; opacity:0.8; z-index:10; }
.inputfiles { top: 0; left: 0; border: none; /*opacity: 0;*/ position: absolute; width: 100%; height: 100%; z-index:0; }
.upload-area.mini { height:4rem; }

.kome { }
.kome dl { display:flex; flex-flow:row wrap; justify-content:flex-start; margin-bottom:0.25rem; }
.kome dl dt { width:9rem; font-weight: normal; }
.kome dl dd { flex-grow: 1; }
.kome dl dd ol { margin: 0; padding-left:1rem; }


/*ダイアログ*/
.dialog { position: fixed; top: 0; left:0; width:100%; height:100vh; border: none; display:block; text-align: center; background-color: rgba(0, 0, 0, 0.1); z-index:10000; }
.dialog .float_box { position: fixed; top:50%; left:50%; transform: translate(-50%, -70%); background:#fff; padding: 1.5rem 2rem; border-radius: 0.6rem; }

/*-- TABLE/ --*/
caption { text-align:left; margin-bottom:10px; font-size:clamp(0.75rem,1.4vw,0.875rem); }

table { border-collapse:separate; border-spacing: 0; width:100%; background-clip: padding-box; }
table th { padding:clamp(0.5rem,1.2vw,0.75rem) clamp(0.3rem,1.6vw,1rem); line-height:1.5; position: relative; text-align: left; }
table td { padding:clamp(0.5rem,1.2vw,0.75rem) clamp(0.3rem,1.6vw,1rem); line-height:1.5; position: relative; text-align: left; }
table.vt  tr th, table.vt tr td,
table tr.vt th, table tr.vt td { vertical-align: top; }


.table01 { }
.table01 th, .table01 td { }
.table01 thead th { }
.table01 th { text-align:left; }
.table01 td { }

.table02 {  border-radius:1rem;  }
.table02 th, .table02 td { border-bottom:1px solid #e7ebf1; }
.table02 thead th, .table02 thead td { border-bottom:1px solid #89a; line-height:1.25; /*font-size: 1rem;*/ background-clip: padding-box; } 
.table02 th { white-space: nowrap; }
.table02 tbody tr:last-of-type th, .table02 tbody tr:last-of-type td { border-bottom: none; }
.table02 tbody tr:nth-child(2n), .table02 tbody tr:nth-child(2n) { /*background: rgba( 17,61,119,0.025);*/ }

.table03 {  border-radius:1rem; }
.table03 th, .table03 td { border-bottom:1px solid #e7ebf1;  white-space: nowrap; background-clip: padding-box;}
.table03 th { white-space:nowrap; }
.table03.noscroll th, .table03.noscroll td { white-space: normal; word-break: break-all; }
.table03 thead th, .table03 thead td, .table03.cal thead th, .table03.cal thead td { border-bottom:1px solid #89a; line-height:1.25; /*font-size: clamp(0.875rem,1.6vw,1rem);*/ background-clip: padding-box;}
.table03 tbody tr:last-of-type th, .table03 tbody tr:last-of-type td { border-bottom: none; }



tbody tr:hover, 
.table01 tbody tr:nth-child(2n):hover,
.table02 tbody tr:nth-child(2n):hover,
.table03 tbody tr:nth-child(2n):hover,
tbody tr:hover [class*="fixed-column-"] { /*background-color:rgba(17,61,119,0.03);*/ background: #f8f9fb; }

.float_box table { /*border-radius:1rem; overflow: hidden;*/ }

.table01 tr.tr th, .table02 tr.tr th, .table03 tr.tr th { text-align:right; }
.table01 tr.tr th.tl, .table02 tr.tr th.tl, .table03 tr.tr th.tl { text-align:left; }
.table01 tr.tr th.tc, .table02 tr.tr th.tc, .table03 tr.tr th.tc, .table01 th.tc, .table02 th.tc, .table03 th.tc { text-align:center; }

/*カレンダー*/
.table03.cal th, .table03.cal td { /*vertical-align: top; text-align: center; width: 14.2%;*/ border-bottom:1px solid #d6dde4; border-right:1px solid #e7ebf1; }
.table03.cal td .date { border-bottom: 1px solid rgba(0,0,0,0.05); padding-bottom:0.5rem; margin-bottom:0.5rem; background-clip: padding-box; }
.table03.cal td .data { min-height:3rem; } 
.table03.cal td .data span { display: block; font-weight: bold; }
.table03.cal tbody tr td:last-of-type, .table03.cal thead tr th:last-of-type { border-right: none; }

/*カレンダー 横型*/
.table03.cal_yoko { background: transparent; border:1px solid rgba(0,0,0,0.2); }
.table03.cal_yoko th, .table03.cal_yoko td { vertical-align: top; text-align: center; border-right: 1px dashed #e7ebf1; border-bottom: 1px solid #d6dde4; padding:0.25rem;  }
.table03.cal_yoko tr th:last-of-type:not(:first-of-type), .table03.cal_yoko tr td:last-of-type { border-right: 0; }

.table02 tr.l_double th, .table02 tr.l_double td, 
.table03 tr.l_double th, .table03 tr.l_double td  { border-bottom: 3px double #d6dde4;}

td.saturday, th.saturday { color: #07a; }
td.sunday, td.holiday, th.sunday, th.holiday { color: #d53; margin: 0; }


.tablesorter {  }
.tablesorter th {  }
.tablesorter thead tr { }
.tablesorter thead th, .tablesorter thead td {  }
.tablesorter thead th.sort{ cursor: pointer; text-align: left; padding-right:1.25rem; }
.tablesorter thead th.sort::before, .tablesorter thead th.sort::after{ content: ''; position: absolute; z-index: 2; right: 7px; left: auto; width: 0; height: 0; border: 4px dashed; border-color: #89a transparent; pointer-events: none;}
.tablesorter thead th.sort::before{ border-bottom-style: solid; border-top: none; top:calc(50% - 6px);}
.tablesorter thead th.sort::after{ border-top-style: solid; border-bottom: none; bottom:calc(50% - 6px);}
.tablesorter thead th.sort.tablesorter-headerAsc:after{ border: none;}
.tablesorter thead th.sort.tablesorter-headerAsc:before{ top: 50%; transform: translateY(-50%);}
.tablesorter thead th.sort.tablesorter-headerDesc:before{ border: none;}
.tablesorter thead th.sort.tablesorter-headerDesc:after{ top: 50%; transform: translateY(-50%);}
.tablesorter thead th.sorter-false:before, .tablesorter thead th.sorter-false:after{ }
.tablesorter td {  }


th p, td p { margin:0; }

td table { margin-bottom: 0; }
td img { width: 100%; }
table + .flex { margin-top: 1rem; }
img.photo_l { width:100%; margin: auto; max-width:16rem; }
img.photo_m { width:100%; margin: auto; max-width:8rem; }
img.photo_s { width:100%; margin: auto; max-width:2rem; }

tr.gray { }
tr.gray th, tr.gray td { background:rgba(0,0,0,0.1); }

tr.vt, th.vt, td.vt { vertical-align: top; }
tr.tr th, tr.tr td { text-align: right; } 

.photo_m + button { margin-top:0.5rem; }



/*-- 幅の広いテーブルにスクロール表示 --*/
.scroll, #calcResult { overflow:auto; }
.float_box > .scroll { overflow:auto; /*border-radius:1rem;*/ }
.scroll::-webkit-scrollbar, #calcResult::-webkit-scrollbar, .scrollbar::-webkit-scrollbar { height:0.5rem;}
.scroll::-webkit-scrollbar-track, #calcResult::-webkit-scrollbar-track, .scrollbar::-webkit-scrollbar-track { background:rgba(0,0,0,0); }
.scroll::-webkit-scrollbar-thumb, #calcResult::-webkit-scrollbar-thumb, .scrollbar::-webkit-scrollbar-thumb { background:#07d; background: #bbb; border-radius:0.5rem; opacity: 0.5; }
.scroll::-webkit-scrollbar-thumb:hover, #calcResult::-webkit-scrollbar-thumb .scrollbar::-webkit-scrollbar-thumb:hover { background:#07d; background: #bbb; border-radius:0.5rem; opacity: 0.5; }


/*スクロールバー*/
.scrollbar {  overflow-x:auto;  overflow-y: hidden; }
.scrollbar .inner {  height: 1px; }
.scrollbox, .scrollbar + .scroll_wrap .scroll { margin-top: 5px;  overflow-x:auto;  overflow-y: hidden; }
.scrollbox .inner, .scroll_wrap .scroll { }
.float_box > .scrollbar, .float_box > .tab_content li .scrollbar, .float_box > .scroll_wrap, .float_box > .tab_content li .scroll_wrap { margin:-1rem; width:calc(100% + 2rem); }
.scrollbox .txt { margin: 0;  font-size: 16px;  line-height: 1.5; }



/*TABLEの行リンク*/
tr.clickable th, tr.clickable td { transition: background-color .1s linear; }
tr.clickable:hover th, tr.clickable:hover td {background:rgba(17,61,119,0.1); cursor: pointer; }

.float_box h2 { padding-bottom: 1rem; margin-bottom:1rem; border-bottom:1px solid rgba(0,0,0,0.1); }
.float_box > h3 { width:calc(100% + 2rem); border-bottom:1px solid rgba(0,0,0,0.2); padding:0.5rem 1rem; margin: -1rem -1rem 1rem -1rem; border-radius:calc(0.5rem - 1px) calc(0.5rem - 1px) 0 0; }
.float_box > h4 { width:calc(100% + 2rem); padding:0 1rem; margin: 0 -1rem }
.float_box h3.green { background:rgba(17,61,119,0.3); border-bottom:1px solid rgba(17,61,119,0.5); color:#333; }
.float_box > .table01, .float_box > .table02, .float_box > .table03 { margin: -1rem; width:calc(100% + 2rem); border-radius:1rem; }
.float_box > h3 + .scroll_wrap { border-radius:0 0 0.5rem 0.5rem; }
.float_box > h4 + table { margin-top: 0.25rem !important; }
.float_box .table02 tr:first-of-type th, .float_box .table02 tr:first-of-type td { border-top: none; }
.float_box .table02 tbody tr:last-of-type th, .float_box .table02 tbody tr:last-of-type td { border-bottom: none; }
.float_box > .table03 thead th { border-top: none; }
.float_box .notice { padding:0.5rem 1rem; margin:-1rem -1rem 1rem -1rem ; border-bottom:1px solid rgba(0,0,0,0.1);}


thead tr[class*="fixed-header-"] th, tbody tr[class*="fixed-header-"] td { position: sticky; z-index:10; white-space: nowrap; background: #fff; background-clip: padding-box; left: 0;}
thead tr[class*="fixed-header-"] th[class*="fixed-column-"],  tbody tr[class*="fixed-header-"] th[class*="fixed-column-"] { z-index:15; background: #fff; background-clip: padding-box; }
tbody tr[class*="fixed-header-"] td, tbody tr[class*="fixed-header-"] th[class*="fixed-column-"] { border-bottom: 1px solid rgba(17,61,119,0.1); }
tbody th[class*="fixed-column-"], tbody td[class*="fixed-column-"] { background:rgba(255,255,255,1); border-right:1px dashed rgba(153,170,187,0.3); position: sticky; z-index:10; background-clip: padding-box; left: 0; }
td hr { margin: 0.5rem 0 }

tbody th[class*="fixed-column-"], tbody td[class*="fixed-column-"] { max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }


.stripes tbody tr:nth-child(odd), .stripes tbody tr:nth-child(odd), .stripes tbody tr:nth-child(odd) th[class*="fixed-column-"],
tbody tr.order_stripes th, tbody tr.order_stripes td { background: #f6f8f8; background-clip: padding-box; }

.diff { background: rgba(255, 204,17,0.5) !important; }

/*アコーディオン*/
.m { position: relative; cursor: pointer;}
.m::after { content:"＋"; font-size:1.25rem; margin-top:0; position:absolute; right:0.75rem; display:inline-block; transition:0.25s; color:#333; }
.m.i_close::after { transform:rotate(45deg); }

.m.b_mini { padding-right: 2rem; }
.m.b_mini::after { margin-top: 0; right:0.5rem; font-size: 1rem; top:0.25rem;  }

.t label { line-height: 2; }

.pager { display:flex; flex-flow:row wrap; align-items: center; justify-content:space-between;margin:1rem auto 0 auto; }
.pagenavi { text-align:center; display: flex; align-items: center; justify-content: center; margin: auto; }
.pagenavi .page, .pagenavi .prev, .pagenavi .next, .pagenavi .current, .pagenavi .last, .pagenavi .page.s, .pagenavi .page.s:hover, .pagenavi .disable { display:inline-flex; justify-content: center; align-items: center;  margin:0; line-height: 1.5; width:2rem; height:2rem; color:#333; text-align:center; vertical-align:middle; border-radius:2rem; transition-duration:0.5s; transition-property:background-color, color; transition-timing-function:ease, ease; box-sizing:border-box; text-decoration:none; position:relative; }
.pagenavi .page.s { box-shadow:0 3px 0 rgba(0, 0, 0, 0.1); transition-delay:0s; transition-duration:0.25s; }
.pagenavi .prev.disable, .pagenavi .next.disable, .pagenavi .prev.disable:hover, .pagenavi .next.disable:hover { background:none; box-shadow:none; cursor:default; color:#ccc; }
.pagenavi .current, .pagenavi .page:hover, .pagenavi .prev:hover, .pagenavi .next:hover, .pagenavi .current:hover, .pagenavi .last:hover { background:#fff; transition-property:background-color, color; transition-timing-function:ease, ease; }
.page_range {}

.float_box .pagenavi .current, .float_box .pagenavi .page:hover, .float_box .pagenavi .prev:hover, .float_box .pagenavi .next:hover, .float_box .pagenavi .current:hover, .float_box .pagenavi .last:hover { background:#ecf0f0; }


/*-- モーダル --*/
body.modal_box { min-width:10rem; }
body.modal_box .article { padding: 1.5rem; height: auto; }
.modal_window { padding: 1.5rem; height: auto; background: #fff; border-radius: 0.5rem; }

.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 20000;}
.modal-content { background-color: white; margin: 15% auto; padding: 1rem; width: 90%; max-width:50rem; border-radius: 0.5rem; box-shadow: 0 0.5rem 0.5rem rgba(0, 0, 0, 0.1); position: relative; }
.close-modal { background:#07d;  color: #fff; font-size: 2rem; font-weight: bold; position: absolute; top: -0.5rem; right:-0.5rem; cursor: pointer; display: flex; justify-content: center; align-items: center; width:3rem; height: 3rem; border-radius: 0.5rem; padding:0.5rem;  }
.close-modal:hover, .close-modal:focus { color: black; text-decoration: none; cursor: pointer; }
.modal .material-symbols-outlined { vertical-align: middle; color:#89a; font-size: clamp(1.5rem,3vw,2rem); }
.close-modal .material-symbols-outlined { color:#fff; }
.modal .b_white { background: rgba(17,61,119,0.07); }

/*アイテム一覧*/
img.thumb { width:100%; /*max-width:10rem;*/ margin: auto; }
img.thumb.alignleft { max-width:5rem; margin-right:0.5rem; }
img.thumb.alignright { max-width:5rem; margin-left:0.5rem; }


/*タブ*/
.tab, .tab_link, .tab_sub, .tab_sub_link { display: flex; flex-flow:row nowrap; margin:-1rem -1rem 1rem -1rem !important; padding:0 0.5rem !important; border-bottom:1px solid rgba(0,0,0,0.2); overflow: auto; }
.tab_sub, .tab_sub_link { margin:0 -1rem 1rem -1rem !important; }
.tab li, .tab_link li, .tab_sub li, .tab_sub_link li { display: flex; flex-flow:column wrap; align-items: center; position: relative; padding:0.75rem 2.5%; text-decoration:none; border-radius:0.25rem 0.25rem 0 0; border-bottom:none; line-height: 1.25; white-space: nowrap; cursor: pointer;}
.tab li.select, .tab_link li.select, .tab_sub li.select, .tab_sub_link li.select { border-bottom:2px solid #07d; font-weight: bold }
.tab .number, .tab_link .number, .tab_sub .number { width: 100%;  font-size: 1.2rem; text-align: center;  padding-top: 0.25rem; }
.tab_link li a, .tab_sub_link li a { color :#333; }

.tab_order { padding: 0 !important; }
.tab_order li { padding: 0;  }
.tab_order h3 { padding: 0.5rem 1rem calc(0.5rem - 2px) 1rem; margin:0;  }



.w100 { width: 100%; margin-right:0 !important; margin-left:0 !important; }
.w90 { width: 90%; }
.w80 { width: 80%; }
.w70 { width: 70%; }
.w60 { width: 60%; }
.w50 { width: 50%; }
.w40 { width: 40%; }
.w30 { width: 30%; }
.w20 { width: 20%; }
.w10 { width: 10%; }
.w_auto { width: auto !important; }

.w95 { width: 95%; }
.w85 { width: 85%; }
.w75 { width: 75%; }
.w65 { width: 65%; }
.w55 { width: 55%; }
.w45 { width: 45%; }
.w38 { width: 38%; }
.w35 { width: 35%; }
.w32 { width: 32%; }
.w25 { width: 25%; }
.w24 { width: 24%; }
.w15 { width: 15%; }
.w09 { width: 9%; }
.w06 { width: 6%; }
.w05 { width: 5%; }

.w66 { width: calc((100% - 1rem)/3 * 2); }
.w33 { width: calc((100% - 1rem)/3 * 1); }
.w49 { width: calc((100% - 1rem)/2); }


.mt-8 { margin-top: -0.5rem !important; }
.mt-12 { margin-top: -0.75rem !important; }
.mt-16 { margin-top: -1rem !important; }
.mt0 { margin-top: 0 !important; }
.mt4 { margin-top: 0.25rem !important; }
.mt8 { margin-top: 0.5rem !important; }
.mt16 { margin-top: 1rem !important; }
.mt24 { margin-top: 1.5rem !important; }
.mt32 { margin-top: 2rem !important; }
.mb-8 { margin-bottom: -0.5rem !important; }
.mb0 { margin-bottom: 0 !important; }
.mb4{ margin-bottom: 0.25rem !important; }
.mb8 { margin-bottom: 0.5rem !important; }
.mb16 { margin-bottom: 1rem !important; }
.mb24 { margin-bottom: 1.5rem !important; }
.mb32 { margin-bottom: 2rem !important; }
.mr0 { margin-right: 0 !important; }
.mr4 { margin-right: 0.25rem !important; }
.mr8 { margin-right: 0.5rem !important; }
.mr16 { margin-right: 1rem !important; }
.mr24 { margin-right: 1.5rem !important; }
.mr32 { margin-right: 2rem !important; }
.ml0 { margin-left: 0 !important; }
.ml4 { margin-left: 0.25rem !important; }
.ml8 { margin-left: 0.5rem !important; }
.ml16 { margin-left: 1rem !important; }
.ml24 { margin-left: 1.5rem !important; }
.ml32 { margin-left: 2rem !important; }
.mra { margin-right: auto; }
.mla { margin-left: auto; }
.mta { margin-top: auto; }
.mba { margin-bottom: auto; }

.pc_no, .pc_no2, br.pc_no2 { display:none !important; }
.sp_no { display:block !important; }
.sp_no.flex { display: flex !important; }
span.sp_no { display:inline !important; }
br.sp_no, br.sp_no2 { display:inline !important; }


/*会員情報*/
.tel, .fax, .mail, .manager, .address, span.holiday { display:inline-flex; flex-flow:row wrap; align-items: center; justify-content:flex-start; width: auto; margin-right: 1rem; vertical-align: middle; }
.tel span, .fax span, .mail span, .manager span, .address span, span.holiday span { vertical-align: middle;}
.tel .material-symbols-outlined, .fax .material-symbols-outlined, .mail .material-symbols-outlined, .manager .material-symbols-outlined, .address .material-symbols-outlined, span.holiday .material-symbols-outlined, .material-symbols-outlined.mini { font-size: 1rem; margin-right: 0.25rem; vertical-align: middle; }
.tel + .manager { }


ul { padding-left: 1rem; }
.waku { /*border: 1px solid rgba(0,0,0,0.2);*/ background:  rgba(17,61,119,0.05); padding: 0.75rem; border-radius: 0.5rem; }


#colorbox.alert { width:100% !important; height:80% !important; max-width:400px !important; max-height: 320px !important; top:50% !important; left: 50% !important; transform: translate(-50%,-50%);}
#colorbox.alert #cboxWrapper  { width:100% !important; height:auto !important; max-width:400px !important; max-height: 320px !important; }
#colorbox.alert #cboxContent, #colorbox.alert #cboxLoadedContent, #colorbox.alert #cboxIframe {  /*height:calc(320px - 2rem) !important;*/ max-width:calc(400px - 2rem) !important; max-height:calc(320px - 2rem) !important; }
#colorbox.alert #cboxContent { width:calc(100% - 2rem) !important; height:auto !important; }
#colorbox.alert #cboxLoadedContent, #colorbox.alert #cboxIframe { width:100% !important; margin: 0; background: #fff; height:auto !important;}
#colorbox.alert #cboxMiddleLeft { height: 0 !important; }
.iframe_m, .inline_m { text-decoration: none; }
.iframe_m:hover, .inline_m:hover { color:#07d; text-decoration: none;}
.alert_box { padding: 1rem; height:auto; align-items: center; }


table.table_border { width: auto; margin: 0 1rem; }
table.table_border th { padding: 0.15rem 0.75rem; font-weight: normal; border: 1px solid rgba(0,0,0,0.15); background: rgba(17,61,119,0.1); }
table.table_border td { padding: 0.15rem 0.5rem; font-weight: normal; border: 1px solid rgba(0,0,0,0.15); }
table.table_border select { /*font-size: 0.8rem;*/ }
.radius0 { border-radius:0 !important; }

.col2 { column-count:2; column-gap: 2; }
.col3 { column-count:3; column-gap: 2; }

dl.list_box dd input[type="checkbox"] + span { white-space: normal; }


/*本日の案件*/
span.i_kumitate, span.i_kaitai, span.i_mi, span.i_sumi,
span.i_jo, span.i_kumibarashi {display: inline-flex; justify-content: center; align-items: center; color: #fff; padding:0; width: 1.75rem; height: 1.75rem; border-radius: 2rem; margin: 0 0.25rem 0 0; font-weight: normal; font-size:0.8125rem; line-height: 1; letter-spacing: normal; }
span.i_kumitate { background: #07d; }
span.i_kumitate::after { content: "組";  }
span.i_kaitai { background:#6a0; }
span.i_kaitai::after { content: "解"; }
span.i_jo { background:#d90; }
span.i_jo::after { content: "常"; }
span.i_kumibarashi { background:#96c; }
span.i_kumibarashi::after { content: "組払"; }


/*案件追加・編集*/
.list-container {  flex: 1; }
.list {  list-style-type: none; padding: 0.5rem !important; border: 1px solid rgba(17,61,119,0.1); border-radius:0.5rem;  min-height:3rem; background:rgba(17,61,119,0.03); display: flex; flex-flow: row wrap; gap:0.5rem; }
.list-item { display: inline-block; padding: 0.4rem 0.7rem; background: #fff; border: 1px solid #ddd; border-radius:0.5rem; cursor: grab; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width:9rem; color: #888; }
.list-item:active { cursor: grabbing; font-weight: bolder; }
#new-role-list .list-item,  .work_list .list-item, .list-item:hover { font-weight: bolder; color:#333; border: 1px solid #07d;}
#team-list, #pool-people { border: none; }

/*案件一覧*/
ul.project_list {}
ul.project_list li { padding:0 0.5rem 0.5rem 0; }

/*日報 --porogress*/
span.i_mi { background: conic-gradient( #07d calc(var(--check) * 1%), #bcd 0% ); }
span.i_mi::after { content: "未";  }
span.i_sumi { background:#fff; border: 2px solid #d53;  }
span.i_sumi::after { content: "済"; color:#d53; font-weight: bolder; font-size:1rem; }

a.submitted { position: relative; }
a.submitted::after { content: "出"; display: flex; justify-content: center; align-items: center; color:#fff; background:#d53; padding:0; width: 1.25rem; height: 1.25rem; border-radius: 2rem; margin: 0 0.25rem 0 0; font-size:0.75rem; line-height: 1; position: absolute; top:-0.5rem; right: -0.75rem; }

.checked_staff { display: inline-block; font-size: clamp(0.875rem,1.6vw,1rem); color:#333; opacity:0.7;  }
.checked_staff .material-symbols-outlined { margin-left: 0.75rem; color: #07d; }

/*建退共*/
ul li::marker { color:#07d; }
ul.disc { padding-left: 1.5rem; }
ul.disc li { list-style: disc !important;  }




.index_box a[target='_blank'] .title::after,
.LCR_box a[target='_blank']::after,
body.link .article li a[target='_blank']::after,
body.link .article a:link[target='_blank']::after,
.article a:link[target='_blank']::after,
.hm li .sub ul li a[target='_blank']::after
 { content:""; position:relative; display:inline-block; vertical-align:middle; width:1.2rem; height:1.2rem; margin:0 0.1rem; background:url(../img/i_blank.svg) center bottom /100% no-repeat; }
.index_box a[target='_blank']::after { display:none !important; }
a[target='_blank'].banner::after, a[target='_blank'].map::after { display:none !important; }

.index_box a[href*='.pdf'] .title::after, 
a[href*='.pdf']::after, 
.index_box ul li a[href*='.pdf']::after { content:"PDF" !important; position:relative; display:inline-block !important; font-size:0.6rem; line-height:1; width:auto !important; height:auto !important; padding:0.15rem 0.25rem; letter-spacing:normal; color:#e55; font-weight:bold; background:#fff !important; margin:0 0 0 0.5rem; border:1px solid #ddd; border-radius:2px; vertical-align:middle; }

.index_box a[href*='.pdf']::after { display:none !important; }

.index_box a[href*='.xls'] .title::after, 
.index_box a[href*='.xlsx'] .title::after, 
a[href*='.xls']::after, 
a[href*='.xlsx']::after, 
.index_box ul li a[href*='.xls']::after, 
.index_box ul li a[href*='.xlsx']::after { content:"Excel" !important; position:relative; display:inline-block !important; font-size:0.6rem; line-height:1; width:auto !important; height:auto !important; padding:0.15rem 0.25rem; letter-spacing:normal; color:#7da52b; font-weight:bold; background:#fff !important; margin:0 0 0 0.5rem; border:1px solid #ddd; border-radius:2px; }

.index_box a[href*='.xls']::after,
.index_box a[href*='.xlsx']::after { display:none !important; }

.index_box a[href*='.doc'] .title::after, 
.index_box a[href*='.docx'] .title::after, 
a[href*='.doc']::after, 
a[href*='.docx']::after, 
.index_box ul li a[href*='.doc']::after, 
.index_box ul li a[href*='.docx']::after { content:"Word" !important; position:relative; display:inline-block !important; font-size:0.6rem; line-height:1; width:auto !important; height:auto !important; padding:0.15rem 0.25rem; letter-spacing:normal; color:#7b8d42; font-weight:bold; background:#fff !important; margin:0 0.5rem; border:1px solid #ddd; border-radius:2px; }

.index_box a[href*='.doc']::after,
.index_box a[href*='.docx']::after { display:none !important; }

.index_box a[href*='.pdf'] .title::after,
.index_box a[href*='.xls'] .title::after, 
.index_box a[href*='.docx'] .title::after { /*top:0.5rem;*/ }

.info_box ul li a[href*='.pdf']::after,
.info_box ul li a[href*='.xlsx']::after,
.info_box ul li a[href*='.docx']::after { position:absolute; top:0.35rem; right:0; }


.b_box a[target="_blank"]::after, .b_box a[href$=".pdf"]::after, .b_box a[href$=".docx"]::after { display:none !important; }





@media screen and (max-width:800px) { 
.header .title { padding: 0.5rem; }

.pc_no { display: block !important; }
.flex.pc_no { display: flex !important; }
.button.pc_no { display: inline-flex !important; }
br.pc_no { display: inline-block !important; }
.sp_no, br.sp_no { display:none !important; }

.article { padding: 5rem 0.75rem 0 0.75rem; }

body { padding-bottom: 5rem; }
.header .hm { position: fixed; bottom:0; left:0; right:0; width:100vw; background:#fff; border-top: 1px solid rgba(0,0,0,0.1); box-shadow:0 1rem 0.5rem 1rem rgba(0,0,0,0.1); }
.header .hm li { min-width:16vw; }
.header .hm ul li a { font-size:0.6875rem; min-width: 2rem;} 

body.admin .header .hm > ul > li { width: 16.66vw; }
body.admin .header .hm > ul > li > a { min-width: 2rem; padding: 0.25rem 0.1rem 0 0.1rem; }

.header .hm ul li .sub { position: fixed; top:auto; bottom:4rem; left:-1px; padding:0.5rem; min-width:calc(9rem + 2px); max-width:25rem; }
.header .hm li.active::after { border-top: none; border-bottom:4rem solid #fff; }

.header .hm ul li .sub li { width:100%; }
.header .hm ul li .sub li a, .header .dd .sub li a { background: none; width:100%; font-size:1rem; }


.header .hm ul li.order .sub  { left:2vw; column-count:2; width:96vw; }
.header .hm ul li.master .sub,
.header .hm ul li.setting .sub { right:2vw; column-count:2; width:96vw; }
.header .hm ul li.process .sub { right:2vw; column-count:1; width:96vw; }
.header .hm ul li.project .sub { left:calc(30% - 4.5rem - 1px); }
.header .member_name.dd.active .sub { left: auto; right: -1rem; }

.header .hm .dd .sub::before {content: ""; position: absolute; top:auto; left:calc(50% - 2px); bottom: -11px; border: 4px solid transparent; border-top: 6px solid rgba(0,0,0,0.2); }


.header .hm ul li a.active, .header .hm > ul > li:hover > a { color:#07d; }


.footer { padding-bottom: 1rem; }

h1 { font-size:1.4rem;margin-bottom: 0.75rem; }
h2 { font-size:1.3rem; margin-bottom: 0.75rem; }
h3 { font-size:1.2rem; margin-bottom: 0.5rem; }
h4 { font-size:1.1rem; margin-bottom: 0.5rem; }
h5 { font-size:1rem; margin-bottom: 0.25rem; }
h6 { font-size:1rem; margin-bottom: 0.25rem; }
h2 .material-symbols-outlined { font-size:2rem; }


/*-- モーダル --*/
body.modal_box .article { padding: 0.75rem; }
body.modal_box { padding-bottom: 0; }

input, textarea, select { }

.resp100 { width: 100% !important; margin-right: 0; margin-left: 0; }
.resp80 { width: 80% !important; margin-right: 0; }
.resp75 { width: 75% !important; margin-right: 0; }
.resp50 { width: 50% !important; margin-right: 0; }
.resp49 { width: 49% !important; margin-right: 2%; min-width:7rem; }
.resp49:nth-of-type(2n + 0) { margin-right: 0; }
.resp25 { width: 25% !important; margin-right: 0; }
.resp20 { width: 20% !important; margin-right: 0; }

.resp_mb4 { margin-bottom: 0.25rem !important; }
.resp_mb8 { margin-bottom: 0.5rem !important; }
.resp_mb16 { margin-bottom: 1rem !important; }


/*一覧 リスト表示*/
.item_list { flex-flow: row wrap; }
.item_list .item_photo { margin-right: 0.5rem; width:20%; max-width: 4rem; }
.item_list .item_text { flex-grow:1; width:calc(75% - 1rem); }
.item_list .item_price { text-align: left; }

.flex.item_list.w50 { padding:0 1.5% 0.75rem 1.5%; margin-bottom:0.75rem; border-bottom: 1px solid rgba(0,0,0,0.1); }
.flex.item_list.w50:last-child { padding:0 1.5%; margin-bottom: 0; border-bottom: none; }

main { order:2;}
aside { order:1; }

.sticky {position: relative; top:auto; bottom:auto; }


/*幅の広いテーブル*/
.scroll_wrap { }
.scroll_wrap::before { content:"→ 横スクロールしてご確認ください。"; display: block; font-size:1rem; padding:0.5rem 1rem; border-bottom:1px solid rgba(0,0,0,0.1); margin:0; }

/*テーブル*/
.table01:not(.noscroll):not(.noresp) tr { display: block; }
.table01:not(.noscroll):not(.noresp) th { display:inline-block; width:100%; padding:0.2rem 0.4rem 0 0.4rem; box-sizing:border-box; border-bottom:none; }
.table01:not(.noscroll):not(.noresp) thead th { display:inline-block; width:100%; padding:0.2rem 0.4rem; }
.table01:not(.noscroll):not(.noresp) td { display:inline-block; width:100%; border-top:none; padding:0.2rem 0.4rem; white-space: nowrap; }

.table02:not(.noscroll):not(.noresp) tr { display: block; }
.table02:not(.noscroll):not(.noresp) th { display:block; width:100% !important; padding:0.4rem 0.4rem 0 0.4rem; box-sizing:border-box; border-bottom:none; }
.table02:not(.noscroll):not(.noresp) thead th { display:block; width:100%; padding:0.2rem 0.4rem; }
.table02:not(.noscroll):not(.noresp) td { display:block; width:100%; border-top:none; padding:0.2rem 0.4rem 0.4rem 0.4rem; }


.table02:not(.noscroll) td .table03 td { border-top:1px solid #e8eef7;}

/*.table02 th, .table02 td, .table03 th, .table03 td { padding: 0.5rem; }
.float_box .table02 tr td:last-of-type { padding-right: 0.5rem; }
.float_box .table02 tr th:first-of-type { padding-left: 0.5rem; }*/
.table01 th.flex, .table02 th.flex,.table01 td.flex, .table02 td.flex { display:flex; }
.table03 th { white-space: normal; max-width:12rem; }

.float_box table.total_table { }
.flex > table.total_table td { padding-left:0; padding-right: 0; }


/*レジ*/
.button.pc_no.inline, .button.pc_no.iframe { height: auto; min-height: 2.5rem;}

label.w33 input[type="radio"] + span { padding: 0.5rem 4.5rem 0.5rem 2rem; margin-right: 0; width: 100%; }
label.w33 .tr { width: 4rem; bottom:0.5rem; left:auto; right:0.5rem; }


/*受注一覧・受注履歴*/
.order_list { padding:0.5rem 0.75rem;  }

}



@media screen and (max-width:640px) { 
.sp_no2, br.sp_no2 { display:none !important; }

.col2 { column-count:1; column-gap: 2; }
.col3 { column-count:1; column-gap: 2; }

.flex.jcc button, .flex.jcc .button { width:49%; }

}

@media screen and (max-width:480px) { 
tbody th[class*="fixed-column-"], tbody td[class*="fixed-column-"] { max-width: 9rem;  }
}