@charset "UTF-8";
/* CSS Document */
.shop{
	color: #333;
}
.shop h3{
	font-size: 1.2rem;
	font-family: 'Noto Serif JP', serif;
}
#mailformpro{
	background:#f5f5f5;
	color: #333;
}
h3.shop_category{
	margin: 1rem;
	font-size: 1.6rem;
	font-family: 'Noto Serif JP', serif;
	vertical-align: bottom;
	line-height: 100%;
}
h3.shop_category span{
	font-size: 60%;
}

.form_main{
	max-width: 850px;
	margin: auto;
}
.product_wrap{
	width: calc(100% - 20px);
	padding: 10px;
	margin: 10px 10px 30px;
}
.product_wrap h4{
	border-bottom: #333 2px solid;
	margin-bottom: 10px;
	padding-bottom: 0.5em;
	font-family: 'Noto Serif JP', serif;
}
.product_flex{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	background:#fff;
	width: 100%;
	padding: 10px;
}
.product_image{
	width: 270px;
	padding: 5px;
	margin: auto;
	align-self: flex-start;
}
.product_image img{
	width: 100%;
}
.product_txt{
	flex: 1;
	padding: 10px;
}
.product_txt p{
	margin-bottom: 0.5em;
	font-size: 1em;
	text-align: right;
}
.product_txt table{
	border-collapse: collapse;
	border-spacing: 0;
	color: #666;
	font-size: 0.9em;
	width: 100%;
	margin-bottom: 0.5em;
}
.product_txt table tr{
	border-bottom: solid 1px #ccc;
}
.product_txt table th{
	text-align: center;
	padding:  0.5em 1em;
	font-weight: normal;
}
.product_txt table td{
	padding:  0.5em;
}
.product_price{
	text-align: right;
	display: block;
	align-self: flex-end;
}
.product_price select{
	margin: 5px;
	padding: 2px;
	cursor: pointer;
	width: 80px;
}
.product_price p{
	font-size:1.1em;
	line-height: 150%;
	margin-bottom: 0.5em;
}
/* リンクボタン　==================== */
.button_wrap{
	text-align: center;
	margin-bottom: 20px;
}
.button_02{
	display: inline-block;
	text-align: center;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 500;
	font-size: 0.8em;
	width: 140px;
	color: #333;
	padding: 5px;
	border-radius: 5px;
	border:2px solid #333;
	background-color:rgba(135,93,232,0.35);
}
.button_02:hover{
	color: #875de8;
	background-color:rgba(255,255,255,0.45);
}
.order_flex{
	display: flex;
	justify-content:space-around;
	align-items: flex-end;
	margin: auto;
	padding: 10px;
	max-width: 500px;
	border-bottom: solid 1px #ccc;
}
.order_flex_in{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding: 5px;
}
.form_input{
	width: 70% !important;
	border: 1px solid #333;
	padding: 5px;
	background-color: #fff;
	border-radius: 5px;
	margin-bottom: 5px;
}
.zipcord{
	border: 1px solid #333;
	padding: 5px;
	background-color: #fff;
	border-radius: 5px;
	margin-bottom: 5px;
}
.submit{
	display: inline-block;
	width: 100%;
	max-width: 100px;
	color:#333;
	background-color:#fff;
	padding: 0.25em 0;
	margin: 0 auto;
	border-radius: 5px;
	border: 1px solid #333;
	font-size:0.9em;
}
.submit:hover{
	background:rgba(255,255,255,0.55);
	color: #333;
}
.cp_ipselect {
	overflow: hidden;
	width: 70% !important;
	text-align: center;
}
.cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl01 {
	position: relative;
	border: 1px solid #333;
	padding: 6px 0;
	background: #ffffff;
	border-radius: 6px;
	margin-bottom: 5px;
}
.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.cp_ipselect.cp_sl01 select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}
.flex_select{
	display: flex;
}
.font-s {
	font-size: 80% !important;
	color:#666;
	margin: 15px;
}

.shop table{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin: 30px 0;
	font-size: 90%;
}
.shop table tr{
	border-bottom: solid 1px #ccc;
}
.shop table th{
	text-align: left;
	padding: 0.5em 1em;
	font-weight: normal;
}
.shop table th{
	padding: 0.5em 1em;
}
.shop table td{
	padding: 0.5em 1em;
}
@media (max-width: 959px){
	.form_main{
		width: 100%;
		padding: 10px;
		margin: auto;
	}
	.form_input{
		width: 100% !important;
	}
	
	.flex_select{
		display: block;
	}
	.cp_ipselect{
		width: 100% !important;
	}
	.postcord{
		width:150px;
		margin-bottom: 5px;
	}
	.postcord_wrap{
		display: block;
	}
	.product_flex{
		justify-content: flex-start;
	}
	.product_txt{
		width: 470px;
	}
	.product_image{
		width: 250px;
	}
}
@media (max-width: 749px){
	.product_wrap{
		justify-content: center;
		align-items: center;
	}
	.product_flex{
		flex-direction: column;
		width: 100%;
	}
	.product_txt{
		width: 100%;
	}
	.product_txt table{
		font-size: 0.8em;
	}
	.product_txt table th{
		width: 5em;
		padding: 10px;
	}
	.product_txt table td{
		padding: 10px;
	}
	.product_price{
		width: 100%;
	}
	
}

@media (max-width: 450px){
	.order_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.order_flex_in{
		margin-bottom: 5px;
		vertical-align: middle;
	}
	.shop table th,
	.shop table td{
		display: block;
		width: 100%;
		padding: 0.5em 1em;
	}
	.shop table th{
		font-weight: bold;
	}
}
