@charset "UTF-8";
/* 表共通CSS */
input, button, select, textarea { 	
  appearance: revert; 	
} 	
input[type=checkbox], input[type=radio] { 	
  display: unset; 	
} 	

input {
  color: #2e2e2e;
}
.input-box {
  vertical-align: top;
  margin-right: 10px;
  padding: 2px 5px;
  font-weight: normal;
  border: solid 1px;
}

  
table, td, th {
	border: 1px solid rgb(89, 89, 89);
	border-collapse: collapse;
        text-align:left;
}
td, th {
	padding: 5px 5px;
	/* width: 500px; */
	height: 25px;
  text-align:left;
}
th {
	background: #f0e6cc;
}
td {
  background-color: #fff;
}
.even {
	background: #fbf8f0;
}
.odd {
	background: #fefcf9;
}

/* 表個別修正CSS */
.detail__inner:has( .button-cart ) {
  margin-top: 20px;
  margin-bottom: 70px;
}
@media print, screen and (max-width: 768px) {
  .detail__inner:has( .button-cart ) {
    margin-top: .5rem;
    margin-bottom: 2rem;
  }
}

.contents__inner:has( > [class*="bgc-"]:last-child ),
.contents__inner:has( > form > [class*="bgc-"]:last-child ){
	padding-bottom: 0 !important;
}

.pagetop {
  bottom: 5.2rem;
}
@media screen and (max-width: 768px) {
	.pagetop {
	  bottom: 85px;
	}
}

.closed {
	pointer-events: none !important;
	opacity: .5;
}

form {
  width: 100%;
}
.form_table,
.confirm {
	width: 100% !important;
	margin-left: 0 !important;
	border: none;
}
@media print, screen and (max-width: 768px) {
	.form_table {
		margin-bottom: 0 !important;
	}
	.form_table.confirm {
		margin-top: 1.5rem;
	}
	
  .detail__inner:has( .form_table ) {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
.form_table .flex,
.form_table.cart .item_row {
	align-items: stretch;
}

form .form_table .flex[class*="col"] .err {
	margin-top: 0 !important;
}

form .flex.col1 > .input-box {
	margin-right: 0 !important;
}

.detail__inner dl.flex.col1 > dd.form_table.confirm,
.form_table.cart .sum_row > dl {
	margin-top: 0 !important;
}

.form_table.overall > dt {
  color: #fff;
  background-color: #959595;
  text-align: center;
  vertical-align: middle;
}
.form_table.cart tbody tr:first-child td,
.form_table.cart tbody tr td:not( .item_row_what ) dl dt,
.form_table.cart ol.dt > * {
	background-color: #959595;
	color: #fff;
}
.form_table.cart tbody tr td {
	height: auto !important;
}
.form_table.cart tbody tr td:not( .item_row_what ) dl.flex dd {
	width: 100%;
	margin-left: 0 !important;
}
.form_table.cart tbody tr.sum_row td {
	text-align: right;
}
	
.form_table.confirm dl.flex[class *= "col"] > * {
	min-height: 40px;
}
@media print, screen and (max-width: 768px) {
	.form_table.confirm dl.flex[class *= "col"] > * {
		min-height: calc( 1rem * 1.5 + 5px * 2 );
	}
}

.form_table.confirm dl > *,
.form_table.overall > dt {
	padding: 5px;
	border: 1px solid rgb(89, 89, 89);
	border-top: none;
}
.form_table.confirm,
.form_table.overall > dt {
	border-top: 1px solid rgb(89, 89, 89);
}
.form_table.cart .sum_row {
	border-left: 1px solid rgb(89, 89, 89);
}
.form_table.cart .sum_row > dl > *,
.form_table + .form_table.overall > dt {
	border-top: none;
}
.form_table.overall > dt {
	border-bottom: none;
}

.form_table.confirm ul.flex[class *= "col"] > li:has( #invoice ) {
	width: 7rem !important;
}
.form_table.confirm ul.flex[class *= "col"] > li:has( #invoice ) + li {
	margin: 0 !important;
}

@media print, screen and (min-width: 769px) {
	
	.form_table.confirm dl > dd {
		border-left: none;
	}
	
	.form_table.cart tbody tr td.item_row_what {
		border: none;
		border-bottom: 1px solid rgb(89, 89, 89);
	}
	.form_table.cart tbody tr:has( + .sum_row ) td.item_row_what {
		border-bottom: none;
	}
	
	.form_table.cart tbody tr td.item_row_what dl {
		display: table;
	}
	.form_table.cart tbody tr td.item_row_what dl > dt,
	.form_table.cart tbody tr td.item_row_what dl > dd {
		display: table-cell;
		vertical-align: middle;
		padding: 5px;
	}
	.form_table.cart tbody tr td.item_row_what dl > dt {
		width: 75px;
	}
	.form_table.cart tbody tr td.item_row_what dl > dd {
		width: calc( 100% - 75px );
		padding-left: 8px;
		border-left: 1px solid rgb(89, 89, 89);
	}
}

@media print, screen and (max-width: 768px) {
	
	.form_table dl > * {
		border-top: none !important;
	}
	.form_table dl > dt {
		background-color: #ddd;
		font-weight: 500;
	}
	
	.form_table.cart tbody tr td {
		border-top: none;
	}
	.form_table.cart tbody tr:not( .sum_row ) td {
		display: block !important;
	}
	.form_table.cart tbody tr:not( .sum_row ) td:not( .item_row_no ) dl.flex > dt.sp-only {
		display: flex !important;
		justify-content: center;
		align-items: center;
	}
	.form_table.cart tbody tr.sum_row td:not( .pc-only ) {
		display: inline-block !important;
	}
	
	.form_table.cart tbody tr td:has( dl.flex ) {
		padding: 0;
	}
	
	.form_table.cart tbody tr td dl.flex > dt,
	.form_table.cart tbody tr td dl.flex > dd {
		padding: 5px;
	}
	.form_table.cart tbody tr td dl.flex > dd {
		border: none;
	}
	
	.form_table.cart tbody tr td.item_row_no,
	.form_table.cart tbody tr td:not( .item_row_no ) dl > dt.sp-only,
	.form_table.cart tbody tr td.item_row_what dl > dt,
	.form_table.cart tbody tr.sum_row td:nth-child(1) {
		width: 35% !important;
	}
	.form_table.cart tbody tr td:not( .item_row_no ) dl > dt.sp-only + dd,
	.form_table.cart tbody tr td.item_row_what dl > dd,
	.form_table.cart tbody tr.sum_row td:nth-child(2) {
		width: calc( 100% - 35% ) !important;
		margin-left: 0 !important;
	}
	
	.form_table.cart tbody tr td.item_row_no {
		margin-right: calc( 100% - 35% );
		margin-top: 2px;
	}
	.form_table.cart tbody tr td.item_row_no dl.flex > dt,
	.form_table.cart tbody tr td.item_row_no dl.flex > dd {
		width: 50% !important;
		background-color: #666;
		color: #fff;
		font-weight: 600;
		border: none;
	}
	.form_table.cart tbody tr td.item_row_no dl.flex > dt {
		text-align: right;
		padding-right: 0;
	}
	.form_table.cart tbody tr td.item_row_no dl.flex > dd {
		text-align: left;
		margin-left: 0 !important;
	}
	
	.form_table.cart tbody tr td.item_row_what dl > dt {
		background-color: #fff;
		border-right: 1px solid rgb(89, 89, 89);
	}
	.form_table.cart tbody tr td.item_row_what dl > dd {
		border-top: 1px solid rgb(89, 89, 89) !important;
	}
	
	.form_table.cart tbody tr:not([class]) + tr.sum_row {
		border-top: 3px double #2e2e2e;
	}
	.form_table.cart tbody tr.sum_row td {
		height: calc( 1rem * 1.2 * 1.5 + 5px * 2 ) !important;
		font-weight: 600;
	}
	.form_table.cart tbody tr.sum_row td:nth-child(1) {
		background-color: #222;
		color: #fff;
		text-align: center;
		border: 1px solid #999 !important;
	}
	.form_table.cart tbody tr.sum_row:nth-last-child(2) td:nth-child(2) {
		font-size: 120%;
	}
	
	.form_table.cart dl.flex[class *= "col"],
	.form_table.cart dl.flex[class *= "col"] > *,
	.form_table.confirm dl.flex.col > *,
	.form_table.confirm dd ul.flex.col > li {
		margin-top: 0 !important;
	}
	
	.form_table.confirm ul.flex[class *= "col"] > li:has( #invoice ) + li .input-box {
		max-width: calc( 100% - 2rem - 1rem );
		margin-right: 0 !important;
	}
	.form_table.confirm ul.flex[class *= "col"] > li:has( #invoice ) + li label.disable .input-box {
        border: solid 1px #dfdfdf !important;
    }
		
	dl.form_table.overall:first-of-type {
		margin-top: 2rem !important;
	}
}

/* 他 */
img.step {
  width: auto;
  margin: auto;
}
img.text {
  width: auto;
}
.flex > img.text {
  position: relative;
  top: 34px;
  left: calc( (100% - 26%) / 2 );
  width: 26%;
}
@media print, screen and (max-width: 768px) {
  .flex[class *= "col"] > img.text {
    top: 1.5rem;
    left: calc( (100% - 70%) / 2 );
    width: 70% !important;
	}
}
img.step {
  margin-top: 30px;
  margin-bottom: 20px;
}
section.contents {
  margin-top: 60px;
}

@media print, screen and (min-width: 769px) {
	
	.underlayer.bottom_gray .underlayer__inner .underlayer__contents > .contents__area:first-child {
		min-height: calc( 100vh - ( 100px + 54px ) );
	}
	.underlayer.bottom_gray .underlayer__inner .underlayer__contents > .contents__area:only-of-type .contents__inner:only-of-type {
		min-height: calc( 100vh - ( 100px + 54px ) - ( 1.8rem + 22px ) );
	}
	.contentsbg {
		min-height: calc( 100vh - ( 100px + 54px ) - ( 1.8rem + 22px ) - ( 943px * .126 + 30px + 20px + 1.5rem * 2 ) - 54px );
	}
}

.contentsbg {
  margin: 0 -200%;
  padding: 0 200%;
  overflow: hidden;
}

td>img {
  position: relative;
  min-width: 60px;
  height: 60px;
  overflow: hidden;
  object-fit: cover;
}

.button-cart {
  text-align: center;
  border-radius: 6px;
  padding: 8px;
  cursor: pointer;
}
@media print, screen and (max-width: 768px) {
	.button-cart + .button-cart {
		margin-top: 1.2rem !important;
	}
}
.button-delete {
  width: 100%;
  padding: 8px;
  display: inline-block;
}
@media print, screen and (min-width: 769px) {
	.flex > .button-cart.button-cart_submit,
	.button-cart.button-cart_correction,
	.delete {
	  width: 35%;
	  margin: 0 6.5%;
	}
}

.addition {
	display: none;
}

@media print, screen and (max-width: 1240px) {
	section.contents {
		margin-top: 7%;
	}
}
@media print, screen and (max-width: 630px) {
	a.button-cart.button-cart_correction,a.button-cart.button-cart_submit {
	  width: 100%;
	  padding: 4% 0;
	  margin-top: 2%;
	  margin-bottom: 2%;
	}
}
