/* Theme Name: osechi */

@charset "utf-8";

*{
	margin: 0;
	padding: 0;
}

@media (min-width: 751px){
    html{ font-size: 62.5%; }
    body{ font-size: 1.8rem; }
}
@media (max-width: 750px){
    html, body{ font-size: 4vw; }
}

body{
	line-height: 1.6;
	font-family: 'メイリオ', Helvetica, 'Hiragino Kaku Gothic Pro', sans-serif;
    font-weight: 500;
	color: #000;
	user-select:none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	-webkit-touch-callout:none;
}
a{ color: #2b4373; }
img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.flex{ display: flex; }
.mincho{ font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

table{
	width: 100%;
	border-collapse: collapse;
}
th, td{
	padding: 10px;
	border: 1px solid #ccc;
	line-height: 1.4;
	font-size: .9em;
}
th{ background: #f2efe6; }

@media (min-width: 751px){
	a:hover{
		text-decoration: none; 
		opacity: .7;
    }
	.sp{ display: none; }
	.inner{
		margin: auto;
		width: 750px;
	}
}
@media (max-width: 750px){
	.pc{ display: none; }
	.inner{ padding: 0 4vw; }
}

/* ------------------------------------------------
 header
------------------------------------------------ */
header{
	margin-bottom: 30px;
	background: url(images/header_bg.png) 0 0 #faf8f2;
	border-bottom-style: solid;
	border-bottom-color: #ccbc84;
}
header .inner{ position: relative; }
header .pr{
	position: absolute;
	right: 0;
	padding: 2px 5px 1px;
	background: #ccbc84;
	line-height: 1;
	color: #fff;
}

@media (min-width: 751px){
	header .inner{ height: 100px; }
	header img{
		position: absolute;
		top: 0;
		left: 0;
	}
	header .pr{
		bottom: 0;
		font-size: 1.2rem;
	}
}
@media (max-width: 750px){
	header{ height: 14vw; }
	header .pr{
		bottom: 8px;
		font-size: 0.6rem;
	}
}

/* ------------------------------------------------
 main
------------------------------------------------ */
h2{
	margin: 50px 0 0;
	border-bottom: 2px solid #ccbc84;
	font-size: 1.4em;
}
.ranking h2,
.pickup h2{
	border-bottom: 0;
}

/* --------------------
 index
-------------------- */
.slide{
	position: relative;
	margin: auto;
	max-width: 1200px;
}
.slide .slick-slide img{ margin: auto; }
.slide .slick-arrow{
	position: absolute;
	top: 50%;
	width: 0;
	height: 0;
	background: none;
	border: 16px solid transparent;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1;
	cursor: pointer;
}
.slide .slick-prev{
	left: 0;
	border-right: 24px solid #fff;
}
.slide .slick-next{
    right: 0;
    border-left: 24px solid #fff;
}
.slide .slick-dots{
	display: flex;
	justify-content: center;
	list-style: none;
}
.slide .slick-dots li{ margin: 0 10px; }
.slide .slick-dots li button{
	width: 12px;
	height: 12px;
	background: #c59404;
	border: 0;
	border-radius: 100%;
	box-sizing: border-box;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	opacity: .2;
	cursor: pointer;
}
.slide .slick-dots li.slick-active button{ opacity: .5; }
.discount_bn a{
	align-items: center;
	justify-content: center;
	padding: 10px;
	border: 2px solid #c59404;
	border-radius: 5px;
	text-decoration: none;
	font-size: 0.8em;
	color: #000;
	gap: 20px;
}
.discount_bn a:hover{ background: #f2efe6; }
.discount_label{
	align-items: center;
	padding: 8px;
	background: #e50181;
	line-height: 1;
	font-size: 2em;
	color: #fff;
}
.discount_label div{
	margin-right: 8px;
	padding: 8px;
	background: #fff;
	letter-spacing: 2px;
	color: #e50181;
}
.discount_detail .link, .red{ color: #ec3132; }
.post .flex{ flex-wrap: wrap; }
.post section h3,
.pickup section h3{
	line-height: 1.4;
	font-weight: normal;
}
.price, .normal{
	text-align: right;
}
.price{ color: #ec3123; }
.price strong{ font-weight: normal; }
dl.price.flex,
.pickup section ul.spec{
	align-items: center;
	justify-content: flex-end;
}
dl.price dt{
	background: #ec3132;
	line-height: 1;
	color: #fff;
}
dl.price dd{ white-space: nowrap; }
.tax{
	margin: 0 -5px;
	font-size: .75em;
}
.normal{ text-decoration: line-through; }

.post section a,
.pickup section .pc a,
.pickup section .sp a{
	position: relative;
	display: block;
	text-decoration: none;
	color: #000;
}
.ranking section .rank{
	position: absolute;
	background: #ccbc84;
	box-sizing: border-box;
	text-align: center;
}
.ranking section:nth-of-type(1) .rank{ background: #dbb400; }
.ranking section:nth-of-type(2) .rank{ background: #c8caca; }
.ranking section:nth-of-type(3) .rank{ background: #c47022; }
.ranking section .rank:after{ color: #fff; }
.ranking section:nth-of-type(1) .rank:after{ content: "1"; }
.ranking section:nth-of-type(2) .rank:after{ content: "2"; }
.ranking section:nth-of-type(3) .rank:after{ content: "3"; }
.ranking section:nth-of-type(4) .rank:after{ content: "4"; }
.ranking section:nth-of-type(5) .rank:after{ content: "5"; }

.pickup section{
	margin: 30px 0;
	background: #f2efe6;
	border: 2px solid #ccbc84;
}
.pickup section .txt{ flex: auto; }
.pickup section ul.spec{ list-style: none; }
.pickup section ul.spec li{
	margin-left: 5px;
	padding: 5px 10px;
	background: #ccbc84;
	text-align: center;
	line-height: 1;
	color: #fff;
}
.pickup section ul.spec li:first-child{ margin-left: 0; }
.pickup section .exp{
	margin: 10px 0;
	line-height: 1.4;
}
.btn_cv{ margin-top: 15px; }
.btn_cv a{
	position: relative;
	display: block;
	background: #d11b0d;
	border-radius: 10px;
	text-decoration: none;
	text-align: center;
	color: #fff;
}
.btn_cv a:after,
.btn_more a:after,
#hayatoku section .btn_cv:after{
	position: absolute;
	content: "";
	top: 45%;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
}
.btn_more{ margin: 10px 0; }
.btn_more a{
	position: relative;
	display: block;
	background: #fff;
	border: 1px solid #2b4373;
	border-radius: 50px;
	text-decoration: none;
	text-align: center;
}

#hayatoku section{
	background: #f2efe6;
	border: 1px solid #ccbc84;
	box-sizing: border-box;
}
#hayatoku section a{
	display: block;
	padding: 10px;
	text-decoration: none;
	color: #000;
}
#hayatoku section img{ margin: 5px 0; }
#hayatoku section .btn_cv{
	position: relative;
	background: #ec3123;
	border-radius: 5px;
	text-align: center;
	color: #fff;
}
#hayatoku section .btn_cv:after{
	right: 15px;
	width: 5px;
	height: 5px;
}

@media (min-width: 751px){
	main h2, .banner{ margin: 50px 0; }
	article{ margin-bottom: 80px; }
	.post section{
		flex: 140px 0 0;
		margin-right: 12.5px;
		font-size: 1.3rem;
	}
	.post section:nth-of-type(5n){ margin-right: 0; }
	.ranking section .rank{
		padding-top: 2px;
		width: 24px;
		height: 24px;
	}
	.post section h3{
		margin: 10px 0;
		font-size: 1.3rem;
	}
	.post section .normal,
	#hayatoku section .brand,
	#hayatoku section .normal{ font-size: 1.1rem; }
	.post section dl.price dt{
		margin-right: 5px;
		padding: 3px;
		font-size: 1.1rem;
	}
	.post section dl.price dd,
	#hayatoku section dl.price dd{ font-size: 1.4rem; }
	.pickup section{ padding: 30px; }
	.pickup section .img{ flex: 240px 0 0; }
	.pickup section .txt{ padding-left: 30px; }
	.pickup section .txt h3{ font-size: 3.6rem; }
	.pickup section dl.price dt{
		margin-right: 10px;
	    padding: 5px 10px;
	    font-size: 1.4rem;
	}
	.pickup section .price strong{ font-size: 3.6rem; }
	.btn_cv a{
		padding: 20px;
		line-height: 1.4;
		font-size: 2.4rem;
	}
	.btn_cv a:after,
	.btn_more a:after{
		right: 50px;
		width: 10px;
		height: 10px;
	}
	.btn_cv a:hover,
	.btn_more a:hover{
		-webkit-transform: translateY(1px);
		transform: translateY(1px);
	}
	.btn_more a{
		margin: 30px auto;
		padding: 20px;
		width: 600px;
		box-sizing: border-box;
	}
	#hayatoku section{
		flex: 176px 0 0;
		margin-right: 15px;
	}
	#hayatoku section:nth-of-type(4n){ margin-right: 0; }
	#hayatoku section h3{
		line-height: 1.4;
		font-size: 1.6rem;
	}
	#hayatoku section dl.price dt{
		margin-right: 5px;
		padding: 3px;
		font-size: 1.1rem;
	}
	#hayatoku section dl.price dd strong{ font-size: 1.8rem; }
	#hayatoku section .btn_cv{
		padding: 5px 10px;
		font-size: 1.4rem;
	}
}
@media (max-width: 750px){
	main h2{ margin: 30px 0; }
	article, .banner{ margin-bottom: 50px; }
	.discount_bn a{
		font-size: 0.7em;
		gap: 10px;
	}
	.discount_label{
		padding: 5px;
		font-size: 1.2em;
	}
	.discount_label div{ padding: 5px; }
	.discount_detail{ flex: 1; }
	.post .flex,
	#hayatoku .flex{
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.post section,
	#hayatoku section{
		flex: 48% 0 0;
		margin-bottom: 1em;
	}
	.ranking .flex{
		flex-wrap: nowrap;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}
	.ranking section{
		flex: 40vw 0 0;
		margin-right: 4vw;
	}
	.ranking section .rank{
		padding-top: 4px;
		width: 30px;
		height: 30px;
	}
	.post section h3{
		margin: 10px 0;
		font-size: 1em;
	}
	.post section .normal{ font-size: .8em; }
	.post .flex section dl.price.flex{
		flex-wrap: wrap;
		overflow-x: hidden;
	}
	.post section dl.price dt{
		margin-right: 3px;
		padding: 3px;
		font-size: .7em;
	}
	.pickup section{ padding: 3vw; }
	.pickup section h3{
		margin-bottom: 10px;
		line-height: 1.4;
	    font-size: 1.6em;
	}
	.pickup section .img{
		margin: 1em 0;
		text-align: center;
	}
	.pickup section dl.price dt{
		padding: 5px;
		font-size: .75em;
	}
	.pickup section .price strong{ font-size: 2em; }
	.pickup section ul.spec li{ font-size: .7em; }
	.btn_cv a{
		padding: .8em;
		font-size: 1.1em;
	}
	.btn_cv a:after,
	.btn_more a:after{
		right: 1em;
		width: 8px;
		height: 8px;
	}
	.btn_more a{ padding: .8em; }
	#hayatoku section .brand,
	#hayatoku section .normal{ font-size: .8em; }
	#hayatoku section h3{
		line-height: 1.4;
		font-size: 1.1em;
	}
	#hayatoku section dl.price dt{
	    padding: 3px;
	    font-size: .75em;
	}
	#hayatoku section .price strong{ font-size: 1.2em; }
	#hayatoku section .btn_cv{
		padding: 5px;
		font-size: .9em;
	}
}

/* --------------------
 category
-------------------- */
#breadcrumb ul{ list-style: none; }
#breadcrumb ul li{ font-size: .7em; }
#breadcrumb ul li:after{
	content: ">";
	margin: 5px;
}
#breadcrumb ul li:last-child:after{ content: ""; }

.pagenation ul{
	display: flex;
	justify-content: center;
	margin: 30px 0 50px;
	list-style: none;
}
.pagenation ul li{ margin: 0 5px }
.pagenation ul li.active,
.pagenation ul li a{
	width: 30px;
	height: 30px;
	border: 1px solid #ccbc84;
	box-sizing: border-box;
	text-align: center;
}
.pagenation ul li.active{ color: #ccbc84; }
.pagenation ul li a{
	display: block;
	background: #ccbc84;
	color: #fff;
	text-decoration: none;
}

@media (min-width: 751px){
	.pagenation ul li.active,
	.pagenation ul li a{
		padding-top: 4px;
		font-size: 1.4rem;
	}

}
@media (max-width: 750px){
	.pagenation ul li.active,
	.pagenation ul li a{ padding-top: 3px; }
	
}

/* ------------------------------------------------
 footer
------------------------------------------------ */
footer{
	padding: 20px 0;
	background: #ccbc84;
	text-align: center;
	color: #fff;
}
.footer_menu{
	list-style: none;
	justify-content: center;
}
.footer_menu li a{
	text-decoration: none;
	color: #fff;
}

@media (min-width: 751px){
	footer{ font-size: 1.4rem; }
}

/* ------------------------------------------------
 contact
------------------------------------------------ */
.wpcf7 label{
	display: block;
	margin: 20px 0;
}
.wpcf7 input,
.wpcf7 textarea{
	padding: .5em;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 3px;
	box-sizing: border-box;
	font-family: 'メイリオ', Helvetica, 'Hiragino Kaku Gothic Pro', sans-serif;
	-webkit-appearance: none;
}
.wpcf7 input[type=submit]{
	padding: 1em;
	background: #c59404;
	border: 0;
	border-radius: 50px;
	color: #fff;
}