@charset "UTF-8";

/* base -------------------------------------------- */

* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}

input[type="submit"],
input[type="button"]{
	background: none;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

body {
font-family:'ヒラギノ角ゴ Pro W3','Osaka','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
margin: 0;
font-size: clamp(10px,1.3vw, 16px);
}

img {
display: block;
max-width: 100%;
height: auto;
margin: 0 auto;
text-align: center;
}

ul,li{
	list-style: none;
}

a:hover {
  opacity: 0.7;
  text-decoration: none;
}

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
}

select {
  option[value=""] {
    display: none;
  }
}

:root {
--ff-symbol: 'Material Symbols Outlined';

--c-all:#4682b4;
--c-ws-post:#6ca749;
--c-ws-edit:#c89647;
--c-sample:#3ea7a1;
--c-complete:#666;

--c-new: #d55769;
--c-edit:#009745;
--c-delete:#666;

--c-itaku:#3aa9cb;
--c-share: #7fce32;
}

.bg_beige {background: #ea9d8a!important;}
.bg_red {background: #a72b30!important;}
.bg_gold {background: #887f3e!important;}
.bg_yellow {background: #ffffcc!important;}
.bg_l_blue {background: #b4ccd2!important;}
.bg_gray {background: #999999!important;}
.bg_pale_gray {background: #f2f2f2!important;}

/* fonts */
.font_red{color:#a72b30!important;}
.font_bold{font-weight:bold;}

.ic--symbol{position: relative;}
.ic--symbol::before {font-family: var(--ff-symbol); position: absolute; left: 0; top: 50%; transform: translateY(-50%); font-weight: 300;}
.ic--fill::before {font-variation-settings: 'FILL' 1;}
.ic--delete::before {content: "\e872";}
.ic--camera::before {content: "\e412";}
.ic--reload::before {content: "\e5d5";}
.ic--edit::before{content: "\f88d";}
.ic--confirm::before{content: "\ea9b";}
.ic--check::before{content: "\e862";}
.ic--finish::before{content: "\e703"; font-variation-settings: 'FILL' 1;}
.ic--download::before{content: "\f090";}
.ic--send::before{content: "\e163";}
.ic--back::before {content:"\e5c4";}
.ic--logout::before{content: "\e9ba";}
.ic--share::before{content: "\e80d";}
.ic--itaku::before{content: "\e0ae";}
.ic--shareOff::before{content: "\f6cb";}

.material-symbols-outlined.fill { font-variation-settings:'FILL' 1,'wght' 300,'GRAD' 0,'opsz' 24}
.btn_help .material-symbols-outlined.fill  {font-size: clamp(11px, 1.3vw, 16px) !important; font-weight: 600 !important; margin-left: 3px; font-variation-settings:'FILL' 1,'wght' 600,'GRAD' 0; cursor: pointer; color: #fff; line-height: 1; vertical-align: text-top;}


.cmt-prg__case {position: relative;border-bottom: 1px solid #ccc;padding: 1.5em min(20vw, 240px) 1.5em 10.5em;}
.cmt-prg__case .cmt-prg__course {position: absolute; left: min(0.83vw,10px); top: 1.2em; width: 9em; text-align: center; background: #4682b4; border-radius: 30vw; padding: min(0.4vw, 5px); font-size: min(1.25vw, 1.5rem); font-weight: 600; color: #fff;}

.btn_header {display: block; padding: min(0.6vw,8px) min(1vw, 15px);border-radius: 30vw; text-decoration: none; user-select: none; font-size: min(1.16vw,14px);}
.btn_header span{padding-left: 1.5em;}
.btn_header span::before {left: 0; font-size: 1.5em;}
.btn_logout {background: #444; color: #fff;}
.btn_backtop {background: #4682b4; border: 1px solid #fff; color: #fff; margin-right: 2em; }

@media only screen and (max-width: 768px) {
	.cmt-prg__case {padding: 1em min(23vw, 240px) 1em 0;}
	.cmt-prg__case .cmt-prg__course {position: relative; left:inherit; top: inherit; padding: min(1vw, 5px); font-size: min(3.6vw, 1.5rem); margin-bottom: min(2vw, 10px);}
	
	.btn_header {padding: min(1vw,8px) min(3vw, 12px); font-size: min(3vw,15px); border: none;}
	.btn_backtop {margin-right: 1em; height:min(14vw, 70px); aspect-ratio: 1/1; border-radius: 0; display: flex;display: -webkit-flex; align-items: center; justify-content: center;}
	.btn_backtop span{padding: 1.1em 0 0 0 !important;}
	.btn_backtop span::before {left: 50%; top: -0.3em; transform:translateX(-50%); font-size: 1.5em;}

}
/* layout -------------------------------------------- */

.main {
 position: fixed;
 left: 0;
 right: 0px;
 top: 0;
 bottom:0px;
 min-width:380px;
}
.main.kanri {
 position: inherit;
}

h1{
	margin:0px;
	color:#fff;
	font-size: clamp(20px, 2vw,28px);
 font-weight: bold;
 text-align: center;
}
.h1_bg{
	margin:0 auto;
	padding:0;
	background:#4682b4;
	width: 100%;
 height: min(5.83vw,70px);
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#logOut {
  /* position: absolute; */
  /* right: min(2.5vw, 30px); */
  /* top: 50%; */
  /* transform: translateY(-50%); */
}
.h1_bg.flex{display: flex; display: -webkit-flex; column-gap: min(2.5vw,30px);}
.logo {width: clamp(125px,10vw,240px); }

.flame{
	width: 100%;
 margin: 0 auto;
 display: flex;
 min-height: calc(100vh - min(5.83vw,70px));
}

.contents {
  width: calc(100% - min(20%,300px));
  padding: min(2.5vw, 30px);
  border: none;
}

.side_menu {
  width: min(20%,300px);
  padding: 0;
  background-color: #eee;
}
.side_menu a{
	text-decoration:none;
}
.side_menu ul{
 position: sticky;
 top: 0;
 }

.side_menu ul li {border-top: 1px solid #aaa;}
.side_menu ul li:last-child {border-bottom: 1px solid #aaa;}
.side_menu ul li a {display: block; color: #333;}
.side_menu ul li a p {padding: min(1vw,12px) min(1.25vw,15px);}
.side_menu ul li a p.active {background: #444; color:#fff; font-weight: 600;}
.side_menu .nest li {border: none !important;}
.side_menu .nest li a p {padding:min(0.83vw,10px) min(1.25vw,15px) min(0.83vw,10px) min(2.5vw,30px);}
.side_menu .nest li a p.active {background: #b4ccd2; color: #333;}
.side_menu li p.list.active{position: relative;}
.side_menu li p.list.active::before{content: ""; width: min(0.5vw,6px); aspect-ratio: 1/1; border-top: 2px solid #fff; border-right: 2px solid #fff; position: absolute; right: min(1.66vw, 20px); top: 50%; transform: translateY(-50%) rotate(45deg);}
.side_menu .nest li a p.list.active::before {border-color: #333;}
.side_menu .nest li a p.list.list__finished {background:#ccc;}


.box1{
	background: #4682b4;
 margin-right: min(0.83vw,10px);
 padding: min(0.6vw, 8px);
 color: #fff;
}

/* flex --------------------------------------------- */

.flex-box-between {
  display: flex;
  justify-content: space-between;
}

.flex-box-start {
  display: flex;
  justify-content: flex-start;
}
.flex-box-end {
  display: flex;
  justify-content: flex-end;
}
.flex-al-c {
 align-items: center;
}

.w-30 {width:30%;}
.w-48 {width:48%;}
.w-65 {width:65%;}




/* heading -------------------------------------------- */

h2{
	margin:0 0 min(1.66vw, 20px);
	padding:0px min(1.66vw, 20px);
	border-left: min(0.4vw, 5px) solid #df7157;
	font-size: clamp(20px, 2vw ,28px);
 font-weight: 600;
 color: #df7157;
}


h3{
	margin:0px;
	color:#000;
	font-size: clamp(16px, 1.66vw,20px);
 font-weight: normal;
}

.highlight{
	margin:0 0 min(1.66vw, 20px);
	text-align: center;
	font-weight: 600;
	color: #0066ff;
}

.h3_bg{
 margin-top: min(1.66vw,20px);
 background: #CEDDE0;
 border-radius: min(0.4vw, 5px);
	padding: min(1.25vw,15px) min(1.66vw,20px);
}

h4{
	padding: min(0.4vw, 5px);
 color: #fff;
 font-size: clamp(10px, 1.16vw, 14px);
 font-weight: normal;
 width: min( 9.17vw,110px);
 text-align: center;
}
.h4_bg{
	border-radius: min(1.66vw,20px);
    background: #555;
}

h5{
 margin: 0px;
 padding: 0px min(0.83vw,10px);
 border-left: 4px solid #4682b4;
 color: #333;
 font-size: 16px;
}
.h5_bg{ 

}

.h2_flow {margin: min(1.25vw, 15px) 0 min(1.66vw,20px); background:#f7f3eb;}


/* table -------------------------------------------- */

table{
	border:1px solid #1A5860;
	border-collapse: collapse;
	font-size: clamp(10px, 1vw, 13px);
	text-align:center;
 line-height: 1.4;
}

th{
	vertical-align:middle;
	text-align:center;
	padding: min(0.4vw, 5px);
	background-color: #4682b4;
	color:#fff;
}
td{
  text-align:center;
  font-size: clamp(10px, 1vw, 13px);
  padding: min(0.4vw, 5px);
 }


.table1 {width: 100%;}
.table1 th{border:1px solid #000;}
.table1 td{	min-width: min(2.08vw,25px);	text-align:center; border:1px solid #1A5860;}

.table2{text-align: left;	border: none; }
.table2 th,.table2 td{text-align: left; padding: min(0.83vw, 10px) min(1.66vw, 20px); height: min(4.16vw,50px);}
.table2 th{background: #4682b4; margin:0 min(0.4vw, 5px); color: #fff; min-width: 150px;}
.table2 td {background: #f3f3f3;}
.table2 td input[type="text"] {background: #fff;}
.table2 tr {border-bottom: 2px solid #fff;}

.table3{text-align: left; border: none; max-width: 100%;}
.table3 thead th {background: #fff; color: var(--c-all); font-size: clamp(10px, 1.3vw, 16px); padding: 0 0 min(0.83vw, 10px);}
.table3 thead th span {display: block; position: relative; padding-bottom: min(0.83vw, 10px);}
.table3 thead th span::before{content: ""; width: calc(100% - min(0.83vw, 10px)); height: 2px; background: var(--c-all); position: absolute; left: 5px; bottom: 0;}
.table3 thead th:first-child span::before {width: 100%; left:0px;}
.table3 thead th:last-child span::before {width: 100%; left:inherit; right: 0;}
.table3 tbody th, .table3 tbody td {border-bottom: 1px solid #fff; padding: min(0.83vw, 10px);}
.table3 tbody :nth-child(even) th {background: #2e70a6; }
.table3 tbody th input[type="text"] {outline:none; width: min(10.83vw,130px);}

.table3 tbody td.material__select  {}
.table3 tbody td.material__select .flex-box-start {column-gap: min(0.83vw, 10px);}
.table3 tbody td.material__select input[type="text"] {min-width: min(15vw,180px);}
.table3 tbody td.material__select label {margin: 0;}

.table3 tbody .textbox3, .table3 tbody .materialsel {display: block; margin: 2px 0;}

.table--auto {width: auto !important;}

.table__confirm td {text-align: left;}
.table__confirm tbody th {min-width: min(10vw,120px);}
.table__confirm tbody td {min-width: min(15vw,180px);}
 
.scroll_box .table1 {width: 100%; white-space: nowrap; border-top: 0;}
.scroll_box .table1 td {background: #fff; border-bottom: none !important;}
.scroll_box .table1 thead {position: sticky; top: 0; z-index: 1000;}

.fix_parent {padding: 0 !important; }
.fix_parent ul {display: flex; display: -webkit-flex; margin: 0; position: relative;}
 tbody .fix_parent ul::before {content: ""; width: 100%; height: 1px; background:#1A5860; position: absolute; left: 0; top: -1px;}
 th.fix_parent ul {min-height: min(4.83vw,58px);}
 td.fix_parent ul {min-height: min( 3.75vw,45px);}
.fix_parent ul li {display: flex; display: -webkit-flex; align-items: center; justify-content: center; padding: 0 min(0.4vw,5px); }
.fix_parent ul li:not(:last-child) {border-right: 1px solid #000;}
.fix_parent ul li{width: min(3.5vw,42px);}
.fix_parent ul li.fix_name {width: min(10vw,120px);}
.fix_parent ul li div {white-space:pre-wrap;}

.scroll_box .table1 thead::before { content: ""; width: 100%; height: 1px; background: #000; position: absolute; left: 0; top: 0;}
.scroll_box .table1 thead tr:first-child th:nth-child(n+1){border-bottom: 0;}
.scroll_box .table1 thead tr:not(:first-child) th{border-top: 0; position: relative;}
.scroll_box .table1 thead tr:not(:first-child) th::before{content: ""; width: 100%; height: 1px; background: #000; position: absolute; left: 0; top: 0;}

.fix_parent {position:sticky; top: 0; left: 0; border-left:none; z-index: 1000;}
 td.fix_parent {z-index: 900;}
.fix_parent::before {content: ""; width: 1px; height: 100%; background: #000; position: absolute; left: -1px; top: 0;}
.fix_parent::after {content: ""; width: 1px; height: 100%; background: #000; position: absolute; right: -1px; top: 0;}

.tbl_scroll .table3 {white-space: nowrap; max-width: 100%;}
.tbl_scroll .table3 thead th:first-child {position: sticky; top: 0; left: 0; z-index: 1000;}
.tbl_scroll .table3 tbody th {position: sticky; top: 0; left: 0; z-index: 1000;}


/* table scroll 横 */
.tbl_scroll, .scroll_box {overflow: auto;}
.tbl_scroll .tbl__vScroll {white-space: nowrap; max-width: 100%;} 


/* その他table装飾 */
.table__center {margin-left:auto; margin-right: auto; max-width: 900px; width: 100%;}
.table__rowcolor tbody tr:nth-child(even) td {background: #E3EDF0;}

/* survey_doc_num */
.table1.table__auto {width: auto; max-width: 100%;}
.table1.table__auto td {min-width: min(5vw,60px);}
.td__num input {width: min(3.3vw,40px); padding: min(0.4vw,5px);}



/* search -------------------------------------------- */

.search_container{
  position: relative;
  box-sizing: border-box;
  border: 2px solid #4682b4;
  padding: 3px min(0.83vw,10px);
  border-radius: 3px;
  height: 2.3em;
  width: min(22vw,265px);
  overflow: hidden;
}
.search_container input[type="text"]{
  border: none;
  height: 2.0em;
}
.search_container input[type="text"]:focus {
  outline: 0;
}
.search_container input[type="submit"]{
  cursor: pointer;
  font-family: FontAwesome;
  border: none;
  background: #4682b4;
  color: #fff;
  position: absolute;
  width: 3.5em;
  height: 3.0em;
  right:0px;
  top: -5px;
  outline : none;
}

.btn__clear {margin-left: 10px;}
.btn__clear a {display: flex; display: -webkit-flex; align-items: center; height: 2.3em; background: #ddd; color: #333; text-decoration: none; padding: 0 12px; border-radius: 3px; border: 1px solid #ccc;}
.btn__clear a span {font-size: 13px;}

/* ボタンデザイン -------------------------------------------- */
.btn-L {
 display: inline-block;
 min-width: min(15vw, 180px);
 padding: min(0.83vw,10px) min(2.08vw,25px);
 cursor: pointer;
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
 text-align: center;
 vertical-align: middle;
 text-decoration: none;
 letter-spacing: 0.1em;
 color: #fff;
 border-radius: 30vw;
 font-size: clamp(12px, 1.5vw, 18px);
 border: none;
}
.btn-M {
 display: inline-block;
 padding: min(0.6vw,8px) min(1vw, 12px);
 cursor: pointer;
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
 text-align: center;
 vertical-align: middle;
 text-decoration: none;
 letter-spacing: 0.1em;
 color: #fff;
 border-radius: 30vw;
 line-height: clamp(10px, 1.08vw,13px);
 border: none;
}

.btn-L:hover,.btn-M:hover {opacity:0.8;}
.btn_design{ background-color: #d55769;}
.btn_reload {background-color: #64b4c3;}
.btn_main {background-color: #df7157;}
.btn_confirm {background-color: #df7157;}
.btn_negative {background-color: #999;}
.btn_delete{background:var(--c-delete); color: #fff;}
.btn_send {background: var(--c-edit);}
.btn_disable {background: #999}
.btn_disable2 {background: #999}
.btn_logout {background: #444; color: #fff; font-size: min(1.16vw,14px); padding: min(0.83vw, 10px) min(1vw, 12px);}
.btn_itaku{background:var(--c-itaku); }
.btn_share{background:var(--c-share); }

.btn_c--red {background:#d55769; }
.btn_new{ background:var(--c-new); min-width: min(11.67vw,140px);}
.btn_edit{background:var(--c-edit);}
.btn_complete{background:var(--c-complete); color: #fff;}
.btn_disable{background: #999 !important; cursor: default;}
.btn_disable:hover{opacity: 1!important;}
.btn_disable2{background: #999 !important; cursor: default;}


.btn-L .ic--symbol {padding-left:min(2.33vw,28px);}
.btn-L .ic--symbol::before {font-size: clamp(18px, 2vw, 24px);}

.btn-M .ic--symbol {padding-left: min(2vw,24px);}
.btn-M .ic--symbol::before {font-size: clamp(18px, 1.83vw, 22px); font-weight: 200;}

.btn_left {position: absolute; left: 0; top: 0;}

#cnt_chk{position: relative; padding-left: min(2.5vw,30px); margin-right: min(0.4vw,5px);}
#cnt_chk::before {content: "\e834"; font-family: var(--ff-symbol); position: absolute; left: 0; top: 50%; transform: translateY(-50%); font-weight: 400; font-variation-settings: 'FILL' 1; color: #df7157; font-size: clamp(18px, 2vw, 24px);}







.space{
	padding:20px 0;
}

/* tab ------------------------------------ */

.tabs_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    font-size:clamp(10px, 1.08vw, 13px);
}
/* タブグループの下部にグレーの線をひく */
.tabs_list::after {
    background-color: #999;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1;
}
/* タブアイテムの形状を設定 */
.tabs_item {
    border-radius: 5px 5px 0 0;
    border:1px solid #999;
    margin-right: 5px;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

/* タブアイテムのデザインを設定 */
.tabs_item a{
	-ms-flex-direction: column;
    -ms-flex-pack: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-box-pack: center;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.2;
    padding: 8px 15px;
    text-align: center;
    text-decoration: none;
    color: #4682b4 !important;
}
/* 要素を一番手前に持ってくる */
.tabs_item.is-current {
    z-index: 11;
}

.tabs_item.is-current a {
 background: #CEDDE0;
 font-weight: 600;
}


/* form item ------------------------------------ */

/* text */
.textbox-label,
.textbox {
    color: #333;
}

.textbox-label {
    display: block;
    margin-bottom: 5px;
    font-size: .9em;
}

.textbox {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #d2d2d2;
    border-radius: 3px;
    background: #f7f7f7;
    font-size: 1em;
    line-height: 1.5;
}

.textbox2 {
    width: 35%;
    padding: 8px 10px;
    border: 1px solid #d2d2d2;
    border-radius: 3px;
    background: #f7f7f7;
    font-size: 1em;
    line-height: 1.5;
}

.textbox::placeholder,
.textbox2::placeholder,
.textbox3::placeholder {
    color: #999;
}

.textbox3 {
    width: 100%;
    min-width: 60px;
    padding: 8px 10px;
    border: 1px solid #d2d2d2;
    font-size: 1em;
    box-sizing: border-box;
    vertical-align: middle;
 }


label ~ label {
  margin-left: min(1.25vw,15px);
}

input[type=radio] {
  margin-right: 8px;
}

/* radio  */
.radio-btns{
	padding:15px;
	max-width:300px;
	}
.radio-btns input[type=radio] {
  display: none;
}

.radio-btns label {
  position: relative;
  padding-left: 25px;
}

.radio-btns input[type=radio] + label::before {
  position: absolute;
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #ddd;
  left: 0;
  top: 0;
}

.radio-btns input[type=radio] + label::after {
  position: absolute;
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #2e3175;
  left: 3px;
  top: 3px;
  opacity: 0;
  transition: .3s;
}

.radio-btns input[type=radio]:checked + label::after {
 opacity: 1;
}

/* checkbox */

input[type=checkbox] {
  margin-right: 8px;
}

.check-btns{
	padding:15px;
	}
.check-btns input[type=checkbox] {
  display: none;
}

.check-btns label {
  position: relative;
  padding-left: 25px;
  margin-left: 10px;
  cursor: pointer;
}

.check-btns input[type=checkbox]  + label::before {
  position: absolute;
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  background: #fff;
  border: 1px solid #ddd;
  left: 0;
  top: 3px;
}

.check-btns input[type=checkbox]  + label::after {
  position: absolute;
  content: '';
  display: block;
  width: 6px;
  height: 10px;
  transform: rotate(45deg);
  border-right: 3px solid #c2004a;
  border-bottom: 3px solid #c2004a;
  left: 4px;
  top: 3px;
  opacity: 0;
  transition: .3s;
}
.check-btns input[type=checkbox]:checked + label::after {
  opacity: 1;
}

.check-btns2{
	display: inline-block;
    width: 95%;
    margin-left: 7px;
    padding: 6px;
    border: 1px solid #ddd;
    box-sizing: border-box;
	}
.check-btns2 input[type=checkbox] {
  display: none;
}

.check-btns2 label {
  position: relative;
  padding-left: 25px;
  margin-left: 10px;
}

.check-btns2 input[type=checkbox]  + label::before {
  position: absolute;
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  background: #fff;
  left: 0;
  top: 0;
}

.check-btns2 input[type=checkbox]  + label::after {
  position: absolute;
  content: '';
  display: block;
  width: 6px;
  height: 10px;
  transform: rotate(45deg);
  border-right: 3px solid #c2004a;
  border-bottom: 3px solid #c2004a;
  left: 0;
  top: 0;
  opacity: 0;
  transition: .3s;
}

.check-btns2 input[type=checkbox]:checked + label::after {
  opacity: 1;
}

/* check-btn result */
.check-btns__result li {display: inline-block; margin-right: 1em;}


/* checkbox_original */

input[type="checkbox"].check__original {
margin: 0;
  position: relative;
  width: min(1.25vw, 15px);
  height: min(1.25vw, 15px);
  vertical-align: max(-0.25vw,-3px);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
cursor: pointer;
background: #ccc;
border: 1px solid #ccc;
}
input[type="checkbox"].check__original::before{
  position: absolute;
  top: 1px;
  left: min(0.3vw,4px);
  transform: rotate(50deg);
  width: min(0.3vw,4px);
  height: min(0.6vw,8px);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: '';
}
input[type="checkbox"].check__original:checked{
background: #df7157;
  border: 1px solid #df7157;

}
input[type="checkbox"].check__original:checked:before {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.scroll__wrap{
	overflow: auto;
 max-height: 48vh;
}
.picking_img{
	margin: min(1.66vw,20px) 0 min(1.66vw,20px) min(1.66vw,20px);
	width:80%;
}

/* ポップアップ ------------------------------------- */
.popup_wrap input.trigger {
display: none;
}
.popup_overlay {
display: flex;
justify-content: center;
overflow: auto;
position: fixed;
top: 0;
left: 0;
z-index: 999;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
opacity: 0;
transition: opacity 0.5s, transform 0s 0.5s;
transform: scale(0);
}

.popup_trigger {
position: absolute;
width: 100%;
height: 100%;
}

.popup_content {
position: relative;
align-self: center;
width: 90%;
max-width: 800px;
padding: 30px 40px;
box-sizing: border-box;
background: #fff;
line-height: 1.4em;
transition: 0.5s;
text-align: justify;
}

.close_btn {
position: absolute;
top: 10px;
right: 10px;
font-size: 20px;
cursor: pointer;
padding:8px;
color: #555;
line-height:14px;
font-weight:bold;
}
.close_btn2 {
	position: absolute;
    top: 10px;
    right: 10px;
    font-size: 13px;
    cursor: pointer;
    padding: 5px 25px;
    background: #555;
    color: #fff;
    line-height: 14px;
}
.popup_wrap input:checked ~ .popup_overlay {
opacity: 1;
transform: scale(1);
transition: opacity 0.5s;
}

.popup_wrap input:checked ~ .popup_overlay .popup_content{
transform: translateY(50px);
}

.open_btn {
position: relative;
top: 0;
right: 0;
bottom: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
color: #555;
background:#fff;
font-weight: bold;
cursor: pointer;
transition: .3s ease;
}

.open_btn:hover{
opacity:0.8;
transition: .3s ease;
}

.open_btn2 {
position: relative;
top: 0;
right: 0;
bottom: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
cursor: pointer;
transition: .3s ease;
text-decoration: underline;
}

.open_btn2:hover{
text-decoration: none;
transition: .3s ease;
}

.photo_list{
	width:300px;
}

.input_page table{
	margin:0 auto;
}

.materialsel {
	width: min(25vw, 300px) !important;
}


/* ステータス -------------------------------------------- */
.status {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;font-size: clamp(10px, 1.25vw,15px); margin-bottom: min(1.66vw,20px); padding-bottom: min(2.5vw, 30px); border-bottom: 1px solid #ccc;}
.status .status__step {display: flex; display: -webkit-flex; align-items: center; margin-left: 2px;}
.status .status__step h3 {font-size: clamp(10px, 1.25vw,15px); min-width: 80px;text-align: center;color: #fff; padding: min(0.83vw,10px); background: #999;}
.status .status__step.is--current p {font-weight: 600;}
.status .status__step p { padding: min(0.83vw,10px); min-width: 50px; text-align: center; background: #eee;}
.status__wrapper {display: flex; display: -webkit-flex;}
.status__step--all.is--current h3{background:var(--c-all); }
.status__step--all.is--current p {color:var(--c-all);}
.status__step--ws--post.is--current h3{background:var(--c-ws-post); }
.status__step--ws--post.is--current p {color:var(--c-ws-post);}
.status__step--ws--edit.is--current h3{background:var(--c-ws-edit); }
.status__step--ws--edit.is--current p {color:var(--c-ws-edit);}
.status__step--sample.is--current h3{background:var(--c-sample); }
.status__step--sample.is--current p {color:var(--c-sample); }
.status__step--complete.is--current h3{background:var(--c-complete); }
.status__step--complete.is--current p {color:var(--c-complete); }
.status .status__complete h3 {background: #555;}

.status__step--all {margin-right: min(1.25vw,15px) !important;}
.status__step--all h3{background:var(--c-all) !important; }
.status__step--all p {color:var(--c-all); outline:2px solid var(--c-all); outline-offset: -2px;}



/* select -------------------------------------------- */
.selectbox {
 display: inline-flex;
 align-items: center;
 position: relative;
}

.selectbox::after {
 position: absolute;
 right: 15px;
 width: 10px;
 height: 7px;
 background-color: #535353;
 clip-path: polygon(0 0, 100% 0, 50% 100%);
 content: '';
 pointer-events: none;
}

.selectbox select {
 appearance: none;
 height: 2.8em;
 padding: .4em calc(.8em + 30px) .4em .8em;
 border: 1px solid #cccccc;
 background-color: #fff;
 color: #333333;
 font-size: 1em;
 cursor: pointer;
}

/* action link__flex  -------------------------------------------- */
.link__flex {display: flex; display: -webkit-flex; }
.link__flex li {margin-left: min(1.25vw, 15px);}
.action__btn {justify-content: flex-end; align-items: center; margin: 20px 0; position: relative;}

/* case__info  -------------------------------------------- */
.case__info {margin: min(1.66vw, 20px) 0 min(2.5vw,30px); background: #f3f3f3; padding: min(1.25vw,15px) min(2.08vw, 25px);}
.case__info table {border: none; font-size: min(1.25vw,15px);}
.case__info table th, .case__info table td {background: none; border: none;}
.case__info table th {font-weight: bold !important; color: #333; padding: 0;}
.case__info table td {padding: 0 min(1.66vw, 20px) 0 0;}

/* 絞り込みボタン追記 */
.btnNarrow {margin: min(1.66vw, 20px) auto; font-size: 0;}
.btnNarrow li {font-size: clamp(10px, 1.16vw, 14px); display: inline-block; line-height: 1.3;}
.btnNarrow li:not(:last-child){padding-right: min(0.83vw,10px); margin-right: min(0.83vw,10px); border-right: 1px solid #333;}
.btnNarrow li a {color: #333;}
.btnNarrow li a:hover {text-decoration: none;}
.btnNarrow li a.is-current {text-decoration: none; cursor: default; font-weight: 600;}
.btnNarrow li a.is-current:hover {opacity: 1 !important;}

/* table調整 */

/* parts */
.attention { color: #B00000; }

/* table 調整 */
.table1__half th {width:15%;}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
案件管理トップ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* label */
.label-status {display: inline-block; color: #fff; padding: min(0.83vw, 5px) min(1.25vw, 15px); width: min(12.5vw,150px); margin: 0 auto; }
.label-ws-post{background: var(--c-ws-post);}
.label-ws-edit{background: var(--c-ws-edit);}
.label-sample{background: var(--c-sample);}
.label-complete {background: var(--c-complete);}

/* share と委託 */
.is_itaku{background: var(--c-itaku); color: #fff; padding:min(0.4vw,5px); margin-right:min(0.4vw,5px); display: inline-block; width: 4em; text-align: center;}
.is_share{background: var(--c-share); color: #fff; padding:min(0.4vw,5px); margin-right:min(0.4vw,5px);display: inline-block; width: 4em; text-align: center;}

/* popup */
.help-popup {padding: min(3.3vw,40px); display: flex; display: -webkit-flex; justify-content: center; align-items: center; min-height: min(40vh,400px); text-align: center; position: relative;}
.help-popup h3 { margin-bottom: min(2.5vw,30px); font-size: clamp(18px, 2vw, 24px); font-weight: 600;}
.help-popup p {margin-top:1em;}
.closePopup {position: absolute; right: 5px; top: 5px; color: #000; }
.closePopup span {font-size: 30px !important;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
シェア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.share_status {display: block; width: 120px; background: #ccc; padding: min(0.4vw,5px);}
.share_status.is_OK {background:var(--c-share); color: #fff;}
.share_status.is_NG {background:#777; color: #fff;}
.share__add .share__input {width: min(41.6vw,500px); margin-right: min(0.83vw, 10px);}
.share__add .share__input input{border: 1px solid #666; width: 100%; padding:min(1.25vw, 15px); outline: none; border-radius: 3px;}

/* 委託orシェア先確認 */
.cont--single {width: 90%; max-width: 900px; margin: min(4.16vw,50px) auto;}
.h3--confirm {text-align: center; font-size: clamp(20px, 2.5vw, 30px); margin-bottom: min(2.5vw,30px); }
.request{display: flex; display: -webkit-flex; border-bottom: 1px dashed #ccc; padding: min(1.66vw,20px) 0;}
.request .request__client {width: 60%;}
.request__response {display: flex; display: -wbkit-flex; align-items: center;}
.request__response ul li {display: inline-block;}
.request__response ul li a {display: block; font-size: 0; background: #ccc; border-radius: 30vw; width: min(10vw,120px); text-align: center; padding: min(0.4vw, 5px); cursor: pointer; text-decoration: none; color: #fff;}
.request__response ul li a {font-size: clamp(14px ,1.5vw ,18px);}
.request__response ul li:not(:last-child)  {margin-right: min(1.25vw,15px);}

.request__response ul li.request__NG a{background:#777; color: #fff;}
#share--request .request__response ul li.request__OK a{background:var(--c-share); color: #fff;}
#itaku--request .request__response ul li.request__OK a{background:var(--c-itaku); color: #fff;}

.request__response ul.is-OK li.request__OK a span,
.request__response ul.is-NG li.request__NG a span {position: relative;}
.request__response ul.is-OK li.request__OK a span::before,
.request__response ul.is-NG li.request__NG a span::before{content:"\e5ca"; font-family: var(--ff-symbol); position: absolute; left:max(-2vw,-24px); top: 50%; transform: translateY(-50%); font-weight: 300; font-weight: bold;}

.request__response ul.is-OK li.request__NG a {opacity: 0.5;}
.request__response ul.is-NG li.request__OK a {opacity: 0.5;}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
委託
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.itaku__status {}
.itaku__status .btn_itaku {margin-bottom: min(1.25vw,15px);}
.itaku__status h3 {color: var(--c-itaku); font-size: clamp(16px ,1.66vw , 20px) }
.itaku__kaijyo { border-top: 1px dashed #a72b30; padding-top: min(1.66vw,20px);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
採取データ確認
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* .pin__parent {position: relative;} */
.cont__drawing { padding-right: min(2.5vw,30px); }
.cont__drawing:not(:last-child) {margin-bottom: min(3.33vw,40px);}
.cont__drawing h3 {margin: 0 auto min(1.66vw, 20px); text-align: center;}
.cont__drawing h3 span { display: inline-block; background: #444; color: #fff; border-radius: 30vw; padding: min(0.83vw,10px) min(2.5vw, 30px);}
.drawing__img {text-align: center;}
.drawing__img img {width: auto; max-width: 100%; height: auto;}

.table__parent {position: sticky; width: 100%; left: 0; top: 0; height: calc(100vh - 30px); }
.table__parent__scroll {height: 100%;overflow: scroll;}


/* table */
.thum__photo {margin: 0; aspect-ratio: 4/3; overflow: hidden; width: min(6.67vw,80px);}
.thum__photo img {width: 100%; object-fit: cover;}


/* pin */
.pinImage {position: absolute; padding-left: min(5vw, 60px);}
.pinImage::after {content: ""; width: 8px; aspect-ratio: 1/1; background: #00F; position: absolute; left: 0; top: 0; border-radius: 50%;}
.pinImage::before{content: ""; width: calc(100% - min(3.7vw,35px)); height:2px; background: #00F; position: absolute; left: 0; top:3px;}
.pinImage span {border-radius: 50%; display:flex; display: -webkit-flex; justify-content: center; align-items: center; border:2px solid #ffffff; color: #ffffff; width: min(3.7vw,35px); aspect-ratio: 1/1; transform: translateY(-50%); margin-top: 4px; position: relative; font-weight: 800; background: #00F;}

.pinImage_floor {position: absolute; padding-left: min(5vw, 60px);}
.pinImage_floor::after {content: ""; width: 8px; aspect-ratio: 1/1; background: #ffcc00; position: absolute; left: 0; top: 0; border-radius: 50%;}
.pinImage_floor::before{content: ""; width: calc(100% - min(3.7vw,35px)); height:2px; background: #ffcc00; position: absolute; left: 0; top:3px;}
.pinImage_floor span {border-radius: 50%; display:flex; display: -webkit-flex; justify-content: center; align-items: center; border:2px solid #ffffff; color: #ffffff; width: min(3.7vw,35px); aspect-ratio: 1/1; transform: translateY(-50%); margin-top: 4px; position: relative; font-weight: 800; background: #ffcc00;}

.pinImage_board {position: absolute; padding-left: min(5vw, 60px);}
.pinImage_board::after {content: ""; width: 8px; aspect-ratio: 1/1; background: #33ff00; position: absolute; left: 0; top: 0; border-radius: 50%;}
.pinImage_board::before{content: ""; width: calc(100% - min(3.7vw,35px)); height:2px; background: #33ff00; position: absolute; left: 0; top:3px;}
.pinImage_board span {border-radius: 50%; display:flex; display: -webkit-flex; justify-content: center; align-items: center; border:2px solid #ffffff; color: #ffffff; width: min(3.7vw,35px); aspect-ratio: 1/1; transform: translateY(-50%); margin-top: 4px; position: relative; font-weight: 800; background: #33ff00;}

.pinImage_wall {position: absolute; padding-left: min(5vw, 60px);}
.pinImage_wall::after {content: ""; width: 8px; aspect-ratio: 1/1; background: #00ccff; position: absolute; left: 0; top: 0; border-radius: 50%;}
.pinImage_wall::before{content: ""; width: calc(100% - min(3.7vw,35px)); height:2px; background: #00ccff; position: absolute; left: 0; top:3px;}
.pinImage_wall span {border-radius: 50%; display:flex; display: -webkit-flex; justify-content: center; align-items: center; border:2px solid #ffffff; color: #ffffff; width: min(3.7vw,35px); aspect-ratio: 1/1; transform: translateY(-50%); margin-top: 4px; position: relative; font-weight: 800; background: #00ccff;}

.pinImage_ceil {position: absolute; padding-left: min(5vw, 60px);}
.pinImage_ceil::after {content: ""; width: 8px; aspect-ratio: 1/1; background: #ff3333; position: absolute; left: 0; top: 0; border-radius: 50%;}
.pinImage_ceil::before{content: ""; width: calc(100% - min(3.7vw,35px)); height:2px; background: #ff3333; position: absolute; left: 0; top:3px;}
.pinImage_ceil span {border-radius: 50%; display:flex; display: -webkit-flex; justify-content: center; align-items: center; border:2px solid #ffffff; color: #ffffff; width: min(3.7vw,35px); aspect-ratio: 1/1; transform: translateY(-50%); margin-top: 4px; position: relative; font-weight: 800; background: #ff3333;}

.pinImage_other {position: absolute; padding-left: min(5vw, 60px);}
.pinImage_other::after {content: ""; width: 8px; aspect-ratio: 1/1; background: #ff6600; position: absolute; left: 0; top: 0; border-radius: 50%;}
.pinImage_other::before{content: ""; width: calc(100% - min(3.7vw,35px)); height:2px; background: #ff6600; position: absolute; left: 0; top:3px;}
.pinImage_other span {border-radius: 50%; display:flex; display: -webkit-flex; justify-content: center; align-items: center; border:2px solid #ffffff; color: #ffffff; width: min(3.7vw,35px); aspect-ratio: 1/1; transform: translateY(-50%); margin-top: 4px; position: relative; font-weight: 800; background: #ff6600;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
分析依頼 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.check__confirm {background: #f3f3f3; display: inline-block; padding: 10px 15px; margin-top: 10px; min-width: 200px;}
.check__confirm label {cursor: pointer;}
.check__confirm2 {background: #f3f3f3; display: inline-block; padding: 8px 12px;}
.check__confirm2 label {cursor: pointer;}
.report__wrapper {position: relative;}
.report__wrapper::before {content: ""; width: 1px; height: 100%; background: #ccc; position: absolute; left: 48.5%; top: 0;}
.report__document {width: 47% }
.report__history {width: 50%;}
.report__block .h3_bg {text-align: center; margin: 0 auto min(1.66vw, 20px);}
.report__table {width: 100%;}
.report__table th {min-width: inherit; border-right: 2px solid #fff;}
.report__table th, .report__table td {padding: 10px;}
.th__merge {border-right: 2px solid #fff;}

.report__table--01 th{text-align: center;}

.report__table--01 td {border: 2px solid #fff;}
.report__table--01 tr.report__ex th {background: #c9c55c;}
.report__table--01 tr.report__ex td {background: #f2f0c0;}

.report__content {margin-bottom: 30px; padding-bottom:30px; border-bottom: 1px dashed #ccc;}
.report__content h5 {margin-bottom:20px;}
.report__content input[type="text"], .report__content input[type="tel"] {}

.textbox2 {background: #fff; margin: 0 5px;}

.table__merge {padding: 0 !important;}
.table__merge .table__inner {border: none; width: 100%;}
.table__merge .table__inner tr {border-width: 1px;}
.table__merge .table__inner tr:last-child {border-bottom: 0;}
.table__merge .table__inner th {background: #cce1e5; border: none; color: var(--c-all); width: 15%;}
.tbl__company th {background: #276ca5;}
.tbl__company .table__merge .table__inner th {background: #acd2d9;}
.tbl__company .table__merge .table__inner td {background: #eee;}

.check__list li { display: inline-block;}
.check__list li:not(:last-child) {margin-right: 15px; line-height: 1.6;}
.check__list li label {cursor: pointer; display: flex; display: -webkit-flex; align-items: center;}

td.is-green {background:#00FF00 !important;}
td.is-pink {background:#ff0000 !important;}
td.is-blue {background:#00CCFF !important;}
td.is-orange {background:#FFFF00 !important;}

.link_num {display: flex; display: -webkit-flex; column-gap: 10px;}
.link_num dt {font-weight: 600;}
.link_num  a {text-decoration: none;position: relative; display: flex; display: -webkit-flex; justify-content: center; align-items: center; aspect-ratio: 1/1; width: min(2vw,24px); color: var(--c-all);}
.link_num  a::before {content: ""; width: min(2vw,24px); aspect-ratio: 1/1; background: #fff; border: 1px solid var(--c-all); border-radius: 50%; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: -1;}
.link_num  a.is-current {font-weight: 600; color: #fff;}
.link_num  a.is-current::before {background: var(--c-all);}

input.input--A {width: 51%;}
input.input--B {width: 100px;}
.w-25 {width: 25%;}

.photo__sample {margin: 0 auto 30px; max-width: 900px; }
.photo__sample .photo__sample__img {width: 60%; background: #eee; overflow: hidden; aspect-ratio: 4/3;}
.photo__sample .photo__sample__img img {width: 100%; height: 100%; object-fit: cover;}
.photo__sample .photo__sample__text {width: 37%;}




/* helper class -------------------------------------------- */

.mt10 {margin-top : 10px!important;} 
.mt20 {margin-top : 20px!important;} 
.mt30 {margin-top : 30px!important;} 
.mt40 {margin-top : 40px!important;} 
.mt50 {margin-top : 50px!important;} 
.mt60 {margin-top : 60px!important;}  
.mt70 {margin-top : 70px!important;}  
.mt80 {margin-top : 80px!important;}  
.mt80 {margin-top : 80px!important;}  
.mt90 {margin-top : 90px!important;}  
.mt100 {margin-top : 100px!important;} 
.mt100sp {margin-top : 0!important;} 

.mb10 {margin-bottom : 10px!important;}  
.mb20 {margin-bottom : 20px!important;}  
.mb30 {margin-bottom : 30px!important;}  
.mb40 {margin-bottom : 40px!important;}  
.mb50 {margin-bottom : 50px!important;}  
.mb60 {margin-bottom : 60px!important;} 
.mb70 {margin-bottom : 70px!important;}  
.mb80 {margin-bottom : 80px!important;}  
.mb90 {margin-bottom : 90px!important;}  
.mb100 {margin-bottom : 100px!important;} 

.ml10 {margin-left : 10px!important;}  
.ml20 {margin-left : 20px!important;}  
.ml30 {margin-left : 30px!important;}  

.mr10 {margin-right : 10px!important;}  
.mr20 {margin-right : 20px!important;}  
.mr30 {margin-right : 30px!important;}  


@media only screen and (max-width: 768px) {
.mt70 {margin-top : 40px!important;}
.mt80 {margin-top : 40px!important;}
.mt90 {margin-top : 40px!important;}
.mt100 {margin-top : 50px!important;}
.mt100sp {margin-top : 120px!important;} 

.mb70 {margin-bottom : 40px!important;} 
.mb80 {margin-bottom : 40px!important;} 
.mb90 {margin-bottom : 40px!important;} 
.mb100 {margin-bottom : 50px!important;} 
}

.tal {text-align: left!important;}
.tac {text-align: center!important;}
.tar {text-align: right!important;}

.fs10 {font-size: 10px!important;}
.fs12 {font-size: 12px!important;}
.fs14 {font-size: 14px!important;}
.fs16 {font-size: 16px!important;}
.fs18 {font-size: 18px!important;}
.fs20 {font-size: 20px!important;}
.fs22 {font-size: 22px!important;}
.fs24 {font-size: 24px!important;}
.fs26 {font-size: 26px!important;}
.fs28 {font-size: 28px!important;}
.fs30 {font-size: 30px!important;}

.bgray {background-color: #bbb}

.required::after {
  content: "必須";
  background-color: #ff0000;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  min-width: 10px;
  padding: 3px 7px;
  margin: 0px 5px;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  border-radius: 10px;
  display: inline-block;
}