@charset "utf-8";
/* CSS Document */

.form-main-area{
	display: flex;
	justify-content: space-between;
}
.orderwrap{
	width: calc(97% - 300px);
}
.itemwrap{
	margin-bottom: 50px;
}

.ittl{
	position: relative;
	background: linear-gradient(to bottom,#f7931e,#ffc000);
	color: #fff;
	padding: .3rem 1rem;
	margin-bottom: 30px;
}
.ittl::before{
	position: absolute;
	content: "";
	background: url("../img/bg_mask.png");
	 mix-blend-mode: overlay;
	opacity: .2;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.item_list{
	margin-bottom: 20px;
	background: #fff;	
}

.detail-wrap{
	display: flex;
	justify-content: space-between;
}
.item-img{
	width: 38%;
}
.item-slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:94%;
    margin:0 auto;
}

.item-slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.item-slider .slick-slide {
    margin:0 10px;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.item-slider .slick-prev, 
.item-slider .slick-next {
    position: absolute;/*絶対配置にする*/
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666;/*矢印の色*/
    border-right: 2px solid #666;/*矢印の色*/
    height: 15px;
    width: 15px;
}

.item-slider .slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

.item-slider .slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}



.item-txt{
	width: 58%;
}

.item_ttl{
	margin: 15px 0;
	border-bottom: 1px solid #c1272d;
	color: #c1272d;
	padding: 0 clamp(10px, 3vw, 2rem);
	font-size: clamp(1.1rem, 0.976rem + 0.26vw, 1.17rem)
}
.item-txt dl{
	margin-top: 15px;
	padding: 1rem;
	font-size: .98rem;
	background: #eee;
}
.ordertable{
	width: 90%;
	margin: 20px auto;
}

.ordertable th{
	border-bottom: 3px double #999;
}
.ordertable .name{
	width: 60%;
}
.ordertable .price,.ordertable .quantity{
	width: 20%;
}

.ordertable td{
	padding: .5rem 0;
	text-align: center;
	border-bottom: 1px dotted #9f9f9f;
}
.ordertable input{
	text-align: end;
	border: 1px solid #eee;
	width: 60%;
	margin: 0 auto;
}

@media(max-width:1024px){
	.detail-wrap{
		flex-direction: column;
	}
	.item-img{
		width: 90%;
		margin: 0 auto 20px;
	}
	.item-txt{
		width: 100%;
	}	
	.ordertable td{
		font-size: 0.94rem;
	}	
}

/*注文者・発送先情報*/
.info_detail{
	padding: 0 20px;
	display: flex;
	flex-direction: column;
	gap:20px;
}
.info_detail h5 {
    border-bottom: 3px double #797979;
    color: #797979;
    margin: 20px 0;
	
}
.form-row{
	display: flex;
	flex-direction: row;
	gap:20px;
	font-size: 0.95rem;
}

.info_detail .form-label{
	padding: 5px 0;
	width: 150px;
}

.info_detail input{
	width: 100%;
	font-size: 0.95rem;
}

.info_detail input,
.noshi-type{
	background: #fff;
	padding: 5px;
	border-radius: 2px;
}

.form-label label{
	position: relative;
	padding-left: 10px;
}

.form-label label::before{
	position: absolute;
	content: '';
	display: block;
	width: 5px;
	aspect-ratio: 1/1;
	background: #333;
	top:10px;
}

.same-wrap{
	padding:5px;
	display: flex;
	align-items: center;
}
#sameAsBuyer{
	width: 20px;
}

.add_info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.info_detail .w100 input {
	width: auto;
}

.noshi-type{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.noshi-type-box{
	max-width: 50%;
	min-width: 25%;
    display: inline-block;
    align-items: center;
    gap: 5px;
	padding-right: 20px;
	
}
.noshi-type-box input[type="radio"],
.same[type="checkbox"]{
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid #333;
  border-radius: 2px;
  outline: none;
  display: inline-block;
  vertical-align: middle;
  background-color: #fff;
  position: relative;
  cursor: pointer;
}

.noshi-type-box input[type="radio"]::before,
.same[type="checkbox"]::before{
	content: "";
	position: absolute;
	top: 0;
	left: 5px;
	width: 10px; 
	height: 15px; 
	border-right: 4px solid red; 
	border-bottom: 4px solid red; 
	transform: rotate(45deg); 
	transition: transform 0.2s ease-in-out;
	opacity: 0;
}

.noshi-type-box input[type="radio"]:checked::before,
.same[type="checkbox"]:checked::before{
  opacity: 1;
}

.contact_ps{
	font-size: 0.95rem;;
}

/*合計金額表示エリア*/
.totalwrap{    
	position: sticky;
    top: 90px;
    display: flex;
    width: 40%;
    max-width: 300px;
    flex-direction: column;
    align-items: center;
    background: #fff;
    height: 100%;
	padding: clamp(0.625rem, 0.191rem + 1.83vw, 1.563rem);
	
}
.price_total{
	text-align: end;
	border-bottom: 1px solid #934123;
}

.term-box{
	margin-top: 15px;
	font-size: 14px;
	max-height: 50vh;
	overflow-y: auto;
}
.message-bikou {
    background: #fff;
    padding: 10px;
    border-radius: 3px;
	width: 100%;
}


.price_total{
	font-size:clamp(1.5rem, 1.268rem + 0.98vw, 2rem);
	width: 100%;
}

#shipping-info,
#cod-fee,
#item-total{
	font-size:14px; 
	text-align: end!important;
}


/*送信ボタン*/
.send_btn{
	text-align: center;
	margin-top: 50px;
}
.send_btn #submit{
	display: inline-block;
    color:#fff;
    padding: 5px 20px;
    border-radius:30px;
    text-decoration: none;
    outline: none;
    background: linear-gradient(270deg, #c1272d 0%, #9b1b2b 25%, #e25a64 51%, #c1272d 100%);
    background-position: 1% 50%;
    background-size: 200% auto;
    transition: all 0.3s ease-out;
	height: 4rem;
}
.send_btn #submit:hover {
    color: #fff;
    background-position: 99% 50%;
}


.send_btn #submit img{
	height: 100%;
	object-fit: contain;
}

/*情報入力へのとばし*/
.orderbtn{
	width: 100%;
}
.orderbtn a{
	width: 90%;
	text-align: center;
	font-size: 1rem;
	padding: 8px 2rem;
	display: block;
	border: 2px solid #934123;
	border-radius: 50px;
	margin: 15px auto 0;
	font-weight: 600;
	transition: .4s;
}
.orderbtn a:hover{
	background:#934123;
	color: #fff;
	transition: .4s;
}

a.anchor{
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}

@media(max-width:767px){
	.form-main-area{
		flex-direction: column;
	}	
	.orderwrap{
		width: 100%;
	}	
	.totalwrap{
		width: 85%;
		max-width: 100%;
		margin: 15px auto 0;
	}
	.orderbtn{
		display: none;
	}
}
@media(max-width:600px){
	.form-row {
		flex-direction: column;
    	gap: 0px;		
	}
	.ordertable{
		width: 100%;
	}
	.item-txt,
	.form-row,
	.info_detail input,
	.contact_ps{
		font-size: 0.85rem;;
	}	
}