

/*------------*/
/*   COMMON   */
/*------------*/
body {
  padding: 12px;
  font-family: sans-serif; 
}

.pc{ display: block; }
.sp{ display: none; }
.pcinline { display: inline; }
.spinline { display: none; }

.jap {ime-mode:auto;}
.eng {ime-mode:disabled;}

.error-big{
  color: red;
  font-weight: bold;
  font-size: 1.2rem;
}
.error-middle{
  color: red;
  font-weight: bold;
  font-size: 1.0rem;
}
.error-small{
  color: red;
  font-weight: bold;
  font-size: 0.8rem;
}


.radio-group {
    display: flex;
    gap: 20px; /* ラジオボタン間のスペース調整 */
}
.radio-label {
    display: flex;         /* フレックスボックスを使用 */
    align-items: center;   /* 子要素を中央揃え */
}
.radio-label input[type="radio"] {
    margin-right: 10px;    /* ラジオボタンとテキストの間のスペース */
}

/* ファイルアップロード */
.file-upload-container {
    display: flex; /* 横並び配置 */
    align-items: center; /* 縦位置調整 */
}
  
.hidden-file-input {
    display: none; /* 実際のファイル選択ボタンは非表示にする */
}

.custom-file-upload {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 50px;
    border-radius: 3px;
    border: 1px solid #1F1E1F;
    background-color: #EFEFEF;
    color: #1F1E1F;
    font-weight: normal;
    text-align: center;

}

.custom-file-upload:hover {
    background-color: #E5E5E5;
}

.file-upload-message {
    margin-left: 10px; /* ボタンとメッセージの間隔調整 */
/*    font-size: 0.8rem; */
    font-weight: normal;
/*    color: #555; */
}
  
.upload-button {
     margin-top: 0.8em;
}

.loading-wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
}
.loading-content {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #ffffff99;
  align-items: center;
  justify-content: center;
  visibility: collapse;
}

@media screen and (max-width:768px) {
  body {
    padding: 8px;
  }
  /* 表示・非表示 */
  .pc{ display: none; }
  .sp{ display: block; } 
  .pcinline{ display: none; }
  .spinline{ display: inline; }

  /* ボタン */
  input[type="submit"],
  input[type="reset"],
  button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    background-color:#EFEFEF;
    color: #1F1E1F;
    border-color: #1F1E1F;
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
/*    height: 1.3rem; */
    padding: 3px;
    font-size:0.8rem;
  } 
  input[type="text"],
  input[type="password"]{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 2px;
    border: 1px solid #767676;
  }
/*  
  input[type="text"]:focus,
  input[type="password"]:focus {
    outline: 2px solid #3498db;
    outline-offset: 0;
  }
*/
  button {
    display: flex;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center;     /* 垂直方向の中央揃え */
  }  
  /* セレクタ */
  select{
    appearance: none; 
    -moz-appearance: none;
    -webkit-appearance: none;
    background-color: #FFFFFF; 
    border: 1px solid #767676;  
    border-radius: 2px; 
    color: #1F1E1F;  
/*    font-size: 90%; */
    padding: 0 auto;
    height: 1.2rem;
    font-size:0.8rem;
    position: relative;
    background-image: url(../assets/arrow.svg); 
    background-position: right 2% center;
    background-repeat: no-repeat;
    background-size: 0.4rem 0.4rem;
    padding-right: 12px; /* 画像の位置を調整 */
/*    margin-bottom: 5px; */
  } 
  .custom-file-upload,
  .file-upload-message,
  .upload-button {
    font-size: 0.8rem; */
  }
}

/*------------*/
/*  list.asp  */
/*------------*/
.tablestyle {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.tablestyle th, .tablestyle td {
  border: 2px solid #bfbfbf; 
  padding: 4px;
}
.tablestyle thead th {
/*
    background-color: #e8e8e8;
    color: #555555;
    border: 2px solid #e8e8e8;
*/
    background-color: #e8e8e8;
    color: #555555;
    border: 2px solid #e8e8e8;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    text-align: center;
}
.tablestyle thead th:last-of-type {
    border-right: 2px solid #e8e8e8;
}
.tablestyle tbody th {
  font-weight: normal;
  text-align: center; 
}

.listreportbutton {
    text-decoration: none;
    background-color: #EFEFEF;
    color: #1F1E1F;
    border: 1px solid #1F1E1F;
    border-radius: 3px;
/*    height: 1.3rem; */
/*    padding: 3px; */
    padding: 2px 10px;
    font-size: 0.8rem;
    display: inline-block;
    text-align: center;
    line-height: 1.3rem;
    cursor: default;
}
.listreportbutton:hover{
    background-color: #E5E5E5;
}

@media screen and (max-width: 787px) {
  .tablestyle {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .tablestyle tr {
  	width: 100%;
  }
  .tablestyle thead {
    display:none; 
  }
  .tablestyle th, .tablestyle td {
    display: block;
    border: 0;
/*    border-bottom: 2px solid #e6f1f6; */
    border-bottom: 2px solid #e8e8e8; 
    padding: 2px;
  }
  
  .tablestyle tbody th{
/*    background: #4d9bc1; */
/*    color:#fff; */
    text-align: center;
    background: #e8e8e8 ;
    color: #555555;
  }
  .tablestyle th:before{
    content: attr(data-label); 
  }
  .tablestyle tbody div{
	display:inline-block; 
	vertical-align: middle;
  }

  .tablestyle td:before{
    content: attr(data-label);
    color: ; 
    font-weight: bold;
    display: inline-block; 
    width: 25%;
    min-width: 4em;
  }
}

/*------------*/
/*  item.asp  */
/*------------*/
.itemtable {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.itemtable td {
  border: 2px solid #bfbfbf; 
  padding: 10px;
}

.itemtable td:first-child {
/*  background: #4d9bc1; */
/*  color: #ffffff; */
  background: #e8e8e8;
  color: #555555;
  text-align: right;
  font-weight: bold;
/*  border: 2px solid #4d9bc1; */
  border: 2px solid #e8e8e8;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 15%
}

.itemtable textarea{
	height: 3rem;
	width: 60%
}
.itemtable .textattr{
  padding: 0.2rem;
  width: 60%;
}
.itemtable .textattr2{
  padding: 0.2rem;
  width: 46%;
}
.itemtable input[type="checkbox"]{
  vertical-align:middle;
  margin-right: 0.7rem;
}

@media screen and (max-width: 787px) {
  .itemtable {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .itemtable tr {
  	width: 100%;
  }
  .itemtable td:first-child {
	padding: 4px;
    width: 25%;
    min-width: 4em;
  }
  .itemtable textarea{
  	height: 4rem;
  	width: 100%
  }
  .itemtable .textattr{
    width: 60%;
  }
}

/*-------------------*/
/*  list_actual.asp  */
/*-------------------*/
.actualhead {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%; 
}

.actualhead  th{
  background: #4d9bc1;
  color:#fff;
  text-align: right;
  border: 2px solid #4d9bc1;
  border-bottom: 2px solid #fff;
  width: 15%;
  padding: 5px; 
}
.actualhead td {
  padding: 8px;
}

.actualtable {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.actualtable th, .actualtable td {
  border: 2px solid #bfbfbf;
  padding: 4px;
}
.actualtable thead th {
  background-color: #4d9bc1;
  color: #fff;
  border: 2px solid #4d9bc1;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  text-align: center;
}
.actualtable thead th:last-of-type {
  border-right: 2px solid #4d9bc1;
}
.actualtable tbody th {
  color: #4d9bc1;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 787px) {
  .actualhead {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .actualhead tr {
  	width: 100%;
  }
  .actualhead th {
	padding: 2px;
    width: 25%;
    min-width: 4em;
  }  
  .actualtable {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .actualtable tr {
  	width: 100%;
  }
  .actualtable thead {
    display:none; 
  }
  
  .actualtable th, .actualtable td {
    display: block;
    border: 0;
    border-bottom: 2px solid #e6f1f6;
    padding: 2px;
  }
  
  .actualtable th{
    background: #4d9bc1;
    color:#fff;
    text-align: center;
  }
  .actualtable td{
    text-align: left;
  }

  .actualtable td:before{
    content: attr(data-label);
    color: #4d9bc1;
    font-weight: bold;
    display: inline-block;
    width: 25%;
    min-width: 4em;
    text-align:left;
  }
}

/*--------------*/
/*  finish.asp  */
/*  haibun.asp  */
/*  akaden.asp  */
/*--------------*/
.finishtable {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.finishtable td {
  border: 2px solid #bfbfbf; 
  padding: 10px;
}

.finishtable td:first-child {
/*  background: #4d9bc1; */
  background: #e8e8e8;
/*  color: #ffffff; */
  color: #555555;
  text-align: right;
  font-weight: bold;
/*  border: 2px solid #4d9bc1; */
  border: 2px solid #e8e8e8;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 15%
}

.finishtable textarea{
	height: 3rem;
	width: 60%
}
.finishtable .textattr{
  padding: 0.2rem;
  width: 60%;
}
.finishtable .textattr2{
  padding: 0.2rem;
  width: 46%;
}
.meisaitable {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.meisaitable th, .meisaitable td {
  border: 2px solid #bfbfbf;
  padding: 4px;
}
.meisaitable thead th {
/*  background-color: #4d9bc1; */
  background-color: #e8e8e8;
/*  color: #fff; */
  color: #555555;
/*  border: 2px solid #4d9bc1; */
  border: 2px solid #e8e8e8;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  text-align: center;
}
.meisaitable thead th:last-of-type {
/*  border-right: 2px solid #4d9bc1; */
  border-right: 2px solid #e8e8e8;
}

.meisaitable tbody th {
/*  background-color: #4d9bc1; */
  background-color: #e8e8e8;
/*  color: #fff; */
  color: #555555;
  font-weight: bold;
  text-align: center;
}
.meisaitable input[type="checkbox"]{
  vertical-align:middle;
  margin-right: 0.7rem;
}
.finishshohin {
  min-width: 17em;
}

/*------------------------*/
/*   masterlist_header    */
/*------------------------*/
.style-logo {
  float: left; 
  padding: 4px;
  margin: 0;
  font-size: 0.8rem;
}

.style-nav ul {
  list-style-type: none; 
  text-align: right; 
  margin: 10px 0;
}

.style-nav ul li {
  display: inline-block;
  color: #2F322A;
  padding: 4px;
}

/*----------------------*/
/*  masterlist_XXX.asp  */
/*  user_account.aspx   */
/*----------------------*/
.mastertable {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.mastertable th, .mastertable td {
  border: 2px solid #bfbfbf;
  padding: 5px;
}
.mastertable thead th {
/*
  background-color: #4d9bc1;
  color: #fff;
  border: 2px solid #4d9bc1;
*/
  background-color: #e8e8e8;
  color: #555555;
  border: 2px solid #e8e8e8;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  text-align: center;
}
.mastertable thead th:last-of-type {
/*  border-right: 2px solid #4d9bc1; */
  border-right: 2px solid #e8e8e8;
}
.mastertable tbody th {
  font-weight: normal; 
  text-align: center;
}
.mastertable .pccenter {
  text-align: center;
}
.mastertable .pcright {
  text-align: right;
}
.mastertable .textattr{
  width: 90%;
}
.mastertable select{
  width: 100%;
}

@media screen and (max-width: 787px) {
  .mastertable {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .mastertable tr {
  	width: 100%;
  }
  .mastertable thead {
    display:none; 
  }
  .mastertable th, .mastertable td {
    display: block;
    border: 0;
/*    border-bottom: 2px solid #e6f1f6; */
    border-bottom: 2px solid #e8e8e8; 
    padding: 2px;
  }
  
  .mastertable tbody th{
/*    background: #4d9bc1;
    color:#fff; */
    background: #e8e8e8 ;
    color: #555555;
    font-weight: bold; 
    text-align: center;
  }
  .mastertable th:before{
    content: attr(data-label); 
  }
  .mastertable textarea{
  	height: 4rem;
  	width: 100%;
  }
  .mastertable td:before{
    content: attr(data-label); 
/*    color: #4d9bc1; */
    color: ; 
    font-weight: bold;
    display: inline-block;
    width: 25%;
  }
  .mastertable .textattr{
    width: 60%;
  }
  .mastertable select{
    width: 60%;
  }
  .mastertable div{
	display:inline-block; 
	vertical-align: middle;
	width: 75%;
  }
  .mastertable div .textattr{
    width: 80%;
  }
  /* divで囲まれた3行の項目の真ん中の行だけ装飾する */
  .mastertable div input:nth-of-type(2) {
	margin: 4px 0;
  }
  .mastertable .pccenter {
    text-align: left;
  }
  .mastertable .pcright {
    text-align: left;
  }
}

/*--------------*/
/*  login.aspx  */
/*--------------*/

.logintable {
  text-align: left;
  font-size: 100%;
}

.logintable td {
  padding-top: 0.3rem;
  padding-right:1rem;
}

.logintable td:before{
  content: attr(data-label); 
}

.loginbutton{
  margin:0.5rem;
}
.loginbutton input[type="submit"]{
  font-size: 90%;
  padding: 0.2rem 1rem;
  letter-spacing: 0.2rem;
}

.loginpass{
  display: block;
/*  line-height:10rem; */
  text-align: right;
  color: red;
  font-size: 0.8rem;
  border: none;
  background: none;
  text-decoration: underline;
  cursor: pointer;
  padding:0;
  margin: 4rem 0 2rem 0;
}

.loginupdate{
  padding: 0.2rem 1rem; 
  letter-spacing: 0.2rem;
}
  
@media screen and (max-width: 787px) {
  .logintable {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .logintable td {
    display: block;
  }
  .logintable td:before{
    width: 8rem;
  }
  .loginpass{
    margin: 2rem 0 2rem 0;
  }
}

/*-----------------*/
/*  PassMenu.aspx  */
/*-----------------*/
.pass-container{
  text-align: center;
}
/*-----------------*/
/*  PassUpdate.aspx  */
/*-----------------*/
.passupd-container{
  text-align: center;
}
.passupd-container table{
  display: inline-block;
}
.passupd-container tr{
  line-height: 2rem;
}
.passupd-container td{
  text-align:left;
}


/*------------------*/
/*  PdfUpload.aspx  */
/*------------------*/
.pdftable, .blocktable {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.pdftable td {
  border: 2px solid #bfbfbf; 
  padding: 10px;
}
.pdftable td:first-child {
/*  background: #4d9bc1; */
  background: #e8e8e8;
/*  color: #ffffff; */
  color: #555555;
  text-align: left;
/*  font-weight: bold; */
/*  border: 2px solid #4d9bc1; */
  border: 2px solid #e8e8e8;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 20%
}


@media screen and (max-width: 787px) {
  .pdftable, .blocktable {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .pdftable tr {
  	width: 100%;
  }
  .pdftable td:first-child {
	padding: 10px;
    width: 35%;
    min-width: 4em;
  }
}

/*--------------*/
/*  report.asp  */
/*--------------*/
.reporttable {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.reporttable td {
  border: 2px solid #bfbfbf; 
  padding: 6px;
}

.reporttable td:first-child {
/*  background: #4d9bc1; */
/*  color: #ffffff; */
  background: #e8e8e8;
  color: #555555;
  text-align: left;
/*  font-weight: bold; */
/*  border: 1px solid #4d9bc1; */
  border: 1px solid #e8e8e8;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 20%
}

.reporttable textarea{
/*	height: 3rem; */
/*	width: 60% */
}
.reporttitle {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.reporttitle td {
/*  border: 2px solid #bfbfbf; 
  padding: 6px; */
}

.reporttitle td:first-child {
  padding: 6px;
/*  background: #1E678C; */
  background: #bfbfbf;
/*  color: #ffffff; */
  color: #555555;
  text-align: left;
/*  border: 1px solid #1E678C; */
  border: 1px solid #bfbfbf; 
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
  width: 20%
}

.reportgroup {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}

.reportgroup td {
  border: 2px solid #bfbfbf; 
  padding: 6px;
}

.reportgroup td:first-child {
  padding: 6px;
  background: #bfbfbf;
  color: #555555;
  text-align: left;
  border: 1px solid #bfbfbf; 
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
  width: 20%
}

.reportfile {
  color: #555555; 
  padding-left:5px;
}

@media screen and (max-width: 787px) {
  .reporttable {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .reporttable tr {
  	width: 100%;
  }
  .reporttable td:first-child {
	padding: 4px;
    width: 25%;
    min-width: 4em;
  }
  .reporttable textarea{
/*  	height: 10rem; */
  	width: 100%;
  }
  .reporttitle {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .reporttitle tr {
  	width: 100%;
  }
  .reporttitle td:first-child {
	padding: 4px;
    width: 25%;
    min-width: 4em;
  }
  .reportgroup {
    margin: 0 auto;
  	width: 98%;
    text-align: left;
  }
  .reportgroup tr {
  	width: 100%;
  }
  .reportgroup td:first-child {
	padding: 4px;
    width: 25%;
    min-width: 4em;
  }
}

/*--------------*/
/*  order.asp  */
/*--------------*/
.ordertable {
/*  border-collapse: collapse; */
  border: none;
  width: 100%;
  text-align: left;
  font-size: 85%;
}
.ordertable td {
  padding-left: 30px;
  min-width: 100px;
}

/*---------------------*/
/*  FileSizeList.aspx  */
/*---------------------*/
.filesizetable {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 85%;
}

.filesizetable th,
.filesizetable td {
  border: 2px solid #bfbfbf;
  padding: 2px 4px;
}

.filesizetable thead th {
  background-color: #4d9bc1;
  color: #fff;
  border: 2px solid #4d9bc1;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  text-align: center;
  white-space: nowrap;
}

.filesizetable thead th:last-of-type {
  border-right: 2px solid #4d9bc1;
}

.filesizetable tbody th {
  color: #4d9bc1;
  font-weight: bold;
  text-align: center;
}

.filesizetable .text-right {
  text-align: right;
}

@media screen and (max-width: 787px) {
  .filesizetable {
    margin: 0 auto;
    width: 98%;
    text-align: left;
  }

  .filesizetable tr {
    width: 100%;
  }

  .filesizetable thead {
    display: none;
  }

  .filesizetable th,
  .filesizetable td {
    display: block;
    border: 0;
    border-bottom: 2px solid #e6f1f6;
    padding: 2px;
  }

  .filesizetable th {
    background: #4d9bc1;
    color: #fff !important;
    text-align: center;
  }

  .filesizetable td {
    text-align: left;
  }

  .filesizetable td:before {
    content: attr(data-label);
    color: #4d9bc1;
    font-weight: bold;
    display: inline-block;
    width: 25%;
    min-width: 4em;
    text-align: left;
  }
}
