@charset "UTF-8";

/* 共通
=====================================*/
.cat_title{
	max-width: 1040px;
	width: 100%;
	padding: 134px 20px 0;
	margin: 0 auto 30px;
	position: relative;
}
.mv{
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 80vw;
	min-width: 100%;
	height: calc(100% - 37px);
	position: absolute;
	top: 0;
	left: 127px;
}
	.mv::before{
		display: inline-block;
		content: "";
		background: url(../img/products/bg_title.png) no-repeat center 20px/contain;
		width: 184.73px;
		height: 166.39px;
		margin-left: -200px;
	}
	.cat_title .wrap{
		display: table;
		height: 156px;
		max-width: 492px;
		padding: 0 20px;
		position: relative;
		line-height: 1.3;
	}
	.cat_title .wrap::before{
		content: "";
		background: #1556AF;
		width: 100vw;
		height: 100%;
		position: absolute;
		right: calc(100% - 490px);
	}
	.cat_title .wrap .title_01{
		display: table-cell;
		color: #fff;
		font-size: 34px;
		vertical-align: middle;
		font-weight: 500;
		position: relative;
		font-family: 'Noto Serif JP', serif;
	}
	.cat_title .wrap .title_01 span{
		display: block;
		margin-top: 10px;
		font-size: 16px;
	}

.container{
	position: relative;
}
	.container::before{
		content: "";
		background: url(../img/products/bg_contents.png) no-repeat center/contain;
		width: 191px;
		height: 175.56px;
		position: absolute;
		top: 10px;
		right: -100px;
		z-index: -1;
	}

/* カテゴリー 一覧
=====================================*/

.cat_list{
	display: flex;
	flex-wrap: wrap;
	margin-top: -70px;
}
	.cat_list li{
		width: 31%;
		margin: 70px 3% 0 0;
	}
	.cat_list li:nth-child(3n){
		margin-right: 0;
	}
	.cat_list li .img_box{
		width: 100%;
		padding-top: 100%;
	}
	.cat_list li .item{
		color: #1556AF;
		font-weight: bold;
		text-decoration: underline;
	}
	.cat_list li .fee{
		color: #565F6C;
	}

	.cat_list li .fee small{
		font-size: 10px;
	}
	.cat_list li:hover{
		opacity: .7;
		text-decoration: none;
	}
	.cat_list li:hover .item{
		text-decoration: none;
	}


/* アイコン */
.fee::after{
	display: inline-block;
	width: 66px;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	margin-left: 5px;
}
.icon01::after{
	content: "残りわずか";
	border: 1px solid #F88F00;
	color: #F88F00;
}
.icon02::after{
	content: "売り切れ";
	border: 1px solid #F83000;
	color: #F83000;
}

/* 詳細
=====================================*/
.iteme_photo{
	width: 49%;
	flex-shrink: 0;
	margin-right: 60px;
	font-size: 0;
}
	.iteme_photo .slider{
		margin: 0 0 10px;
	}
	.iteme_photo .slider li{
		width: 100%;
		padding-top: 100%;
	}
	.iteme_photo .thumbnail .img_box{
		width: 100%;
		padding-top: 100%;
		cursor: pointer;
	}
	.thumbnail .draggable{
	}
	.thumbnail .slick-slide{
		margin: 0 8px;
	}

/* arrowsカスタム */
.thumbnail{
	padding: 0 20px;
	margin: 0 auto;
}
.thumbnail .slick-prev,
.thumbnail .slick-next{
	top: 50%;
	width: 23px;
	height: 23px;
}
	.slick-prev{
		left: 0;
	}
	.slick-next{
		right: 0;
	}
	.slick-next:before,
	.slick-prev:before{
		content: "";
		display: inline-block;
		width: 15px;
		height: 15px;
		border-bottom: 1px solid #1556AF;
		border-right: 1px solid #1556AF;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
		.slick-prev:before{
		border: none;
		border-top: 1px solid #1556AF;
		border-left: 1px solid #1556AF;
	}
	.slick-prev:before, .slick-next:before{
		opacity: 1;
	}

/* contents_wrap */
.item_title{
	margin: 0 0 10px;
	font-size: 24px;
	font-weight: normal;
}
.detail .contents_wrap .fee{
	color: #1556AF;
	font-size: 29px;
	font-weight: bold;
}
	.detail .contents_wrap .fee span{
		font-size: 24px;
	}
	.detail .contents_wrap .fee small{
		font-size: 14px;
		font-weight: normal;
	}
	.contents_wrap .tax{
		margin: 0 0 30px;
		font-size: 14px;
	}

.item_data{
	border: 1px solid #ccc;
	width: 100%;
	margin: 0 0 40px;
}
	.item_data th,
	.item_data td{
		padding: 15px 20px;
	}
	.item_data tr:not(:last-of-type) th,
	.item_data tr:not(:last-of-type) td{
		border-bottom: 1px dotted #C9C9C9;
	}
	.item_data th{
		background: #F4F4F4;
		color: #565F6C;
	}
	.item_data td a{
		color: #1556AF;
		text-decoration: underline;
	}
	.item_data td a:hover{
		opacity: 1;
		text-decoration: none;
	}

form .box{
	background: #FFF8EF;
	padding: 30px;
	margin: 0 0 40px;
}
	form .box ul{
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0 0 20px;
	}
	form .box ul li span{
		margin-right: 10px;
	}
	form .box ul li:first-child{
		display: flex;
		align-items: center;
	}
	form .box input{
		border: 1px solid #ccc;
		border-radius: 5px;
		width: 80px;
		padding: 10px;
	}
	form .box .btn{
		width: 100%;
		background: #F88F00;
		border-radius: 50px;
		position: relative;
		font-weight: bold;
	}
	form .box .btn a{
		display: block;
		padding: 15px;
		color: #fff;
		text-align: center;
		text-decoration: none;
		position: relative;
	}
	form .box .btn a::after{
		content: "";
		background: url(../img/arrow.svg) no-repeat center/contain;
		width: 15.65px;
		height: 4.91px;
		position: absolute;
		transform: translateY(-50%);
		top: 50%;
		right: 40px;
	}
	form .box .cart_error_msg{
		color: #F83000;
	}

/* セレクトボックス */
.select_wrap {
	border: 1px solid #ccc;
	border-radius: 5px;
	background: #fff;
	max-width: 238px;
	width: 100%;
	text-align: center;
	position: relative;
	overflow: hidden;
}
	.select_wrap select {
		width: 100%;
		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;
	}
	.select_wrap select::-ms-expand {
		display: none;
	}
	.select_wrap::before {
		width: 0;
		height: 0;
		padding: 0;
		content: '';
		border-left: 4px solid transparent;
		border-right: 4px solid transparent;
		border-top: 6px solid #555;
		pointer-events: none;
		position: absolute;
		transform: translateY(-50%);
		top: 50%;
		right: 8px;
	}
	.select_wrap select {
		padding: 11px 20px 11px 11px;
		font-size: 16px;
	}

.ql-size-large{ font-size: 1.2em; }
.ql-size-small{ font-size: 0.85em; }

.contents_wrap .box_area{
	margin: 0 0 40px;
}

.contents_wrap dl dt{
	color: #1556AF;
	font-weight: bold;
}
.contents_wrap dl dd:not(:last-of-type){
	margin: 0 0 20px;
}

.other_item{
	margin-top: 150px;
}
	.other_title{
		margin: 0 0 30px;
		color: #1556AF;
		font-size: 20px;
		font-weight: bold;
	}
	.other_item ul{
		display: flex;
		flex-wrap: wrap;
		margin: -25px -1% 0;
	}
	.other_item ul li{
		width: 23%;
		margin: 25px 1% 0;
	}
	.other_item ul li a{
		background: #F2F7FD;
		display: flex;
		align-items: center;
		padding: 10px;
		color: #1556AF;
		font-weight: bold;
	}
	.other_item ul li .txt{
		line-height: 1.3;
	}
	.other_item ul li p.photo{
		width: 60%;
		height: 80px;
		flex-shrink: 0;
		margin-right: 10px;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}


/* ▼▼▼ 768px
=====================================*/
@media screen and (max-width: 768px) {

	/* 共通
	=====================================*/
	.side_wrap{
		display: none;
	}
	.cat_title{
		width: 100%;
		padding: 60px 20px 0;
		margin: 0 auto 30px;
		position: relative;
	}
	.mv{
		height: 82px;
		left: 20px;
	}
		.mv::before{
			display: none;
		}
		.cat_title .wrap{
			height: 104px;
			width: calc(100% - 40px);
			padding: 0 20px;
			position: relative;
		}
		.cat_title .wrap::before{
			width: calc(100vw - 57px);
			height: 100%;
			position: absolute;
			right: auto;
			left: -20px;
		}
		.cat_title .wrap .title_01{
			font-size: 20px;
		}
		.cat_title .wrap .title_01 span{
			margin-top: 3px;
			font-size: 12px;
		}

	.container::before{
		display: none;
	}

	/* カテゴリー 一覧
	=====================================*/
	.box_area{
		margin-bottom: 30px;
	}
	.cat_list{
		display: flex;
		flex-wrap: wrap;
		margin-top: -30px;
	}
		.cat_list li{
			width: 47%;
			margin: 30px 6% 0 0!important;
		}
		.cat_list li:nth-child(2n){
			margin-right: 0!important;
		}
		.cat_list li .fee small{
			font-size: 10px;
		}
		.cat_list li:hover{
			opacity: 1;
		}

	/* アイコン */
	.fee::after{
		width: 66px;
		font-size: 12px;
		margin-left: 0;
	}

	/* 詳細
	=====================================*/
	.layout_wrap{
		display: block;
	}
	.iteme_photo{
		width: 100%;
		margin: 0 0 30px;
	}
		.iteme_photo .slider{
			margin: 0 0 10px;
		}
		.iteme_photo .slider li{
			width: 100%;
			padding-top: 100%;
		}
		.iteme_photo .thumbnail .img_box{
			width: 100%;
			padding-top: 100%;
			cursor: pointer;
		}
		.thumbnail .slick-slide{
			margin: 0 5px;
		}


	/* arrowsカスタム */
	.thumbnail{
		padding: 0 15px;
	}
	.thumbnail .slick-prev,
	.thumbnail .slick-next{
		width: 16px;
		height: 100%;
	}
		.slick-next:before,
		.slick-prev:before{
			width: 10px;
			height: 10px;
		}

	/* contents_wrap */
	.item_title{
		margin: 0 0 10px;
		font-size: 20px;
	}
	.detail .contents_wrap .fee{
		font-size: 24px;
	}
		.detail .contents_wrap .fee span{
			font-size: 20px;
		}
		.detail .contents_wrap .fee small{
			font-size: 12px;
		}
		.contents_wrap .tax{
			margin: 0 0 30px;
			font-size: 12px;
		}

	.item_data{
		width: 100%;
		margin: 0 0 40px;
	}
		.item_data th,
		.item_data td{
			padding: 15px 20px;
		}
		.item_data th{
			min-width: 7em;
		}

	form .box{
		padding: 20px;
		margin: 0 0 40px;
	}
		form .box ul{
			display: block;
			margin: 0 0 20px;
		}
		form .box ul li{
			display: flex;
			align-items: center;
		}
		form .box ul li span{
			width: 3em;
			flex-shrink: 0;
		}
		form .box ul li:first-child{
			display: flex;
			align-items: center;
			margin-bottom: 10px;
		}
		form .box input{
			width: 80px;
			padding: 10px;
		}
		form .box .btn{
			width: 100%;
			background: #F88F00;
			border-radius: 50px;
			position: relative;
			font-weight: bold;
		}
		form .box .btn a{
			display: block;
			padding: 15px;
			color: #fff;
			text-align: center;
			text-decoration: none;
			position: relative;
		}
		form .box .btn a::after{
			content: "";
			background: url(../img/arrow.svg) no-repeat center/contain;
			width: 15.65px;
			height: 4.91px;
			position: absolute;
			transform: translateY(-50%);
			top: 50%;
			right: 40px;
		}


	.contents_wrap .box_area{
		margin: 0 0 40px;
	}

	.contents_wrap dl dt{
		color: #1556AF;
		font-weight: bold;
	}
	.contents_wrap dl dd:not(:last-of-type){
		margin: 0 0 20px;
	}

	.other_item{
		margin-top: 60px;
	}
		.other_title{
			margin: 0 0 20px;
			font-size: 20px;
		}
		.other_item ul{
			margin: -25px -1% 0;
		}
		.other_item ul li{
			width: 48%;
			margin: 25px 1% 0;
		}
		.other_item ul li a{
			background: #F2F7FD;
			display: block;
			padding: 10px;
		}
		.other_item ul li .txt{
			text-align: center;
		}
		.other_item ul li p.photo{
			width: 100%;
			height: 100px;
			margin: 0 0 10px;
		}
}
