@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@700&display=swap');

*{
	word-break: break-word;
}
a{
	transition:.3s;
}
a:link{
	color:#000;
}
a:visited{
	color:#000;
}
a:hover{
	opacity:.5;
}
a:active{
	color:#000;
}
a:after{
	content:none;
}

button:hover{
	transition:.3s;
	opacity:.7;
}

#main {
    font-size: 16px;
}

h1, h2 {
	font-weight:400;
	font-size: 24px;
}

/* ショップサイト */
header h1{
	text-align:center;
}
	header h1 a:hover{
		opacity:1;
	}
header .t_band{
	text-align: center;
	width: 100%;
	position:relative;
	z-index: 99999;
}
	header .inner .t_band a{
		color:#000;
		font-size:20px;
		margin: 10px 0px;
	}
header .b_band{
	position: relative;
	width: 100%;
	margin:25px 0 0;
	background: #F5F5EB;
}
header .b_band .inner{
	position: relative;
	margin: 0px auto 100px;
	width:1000px;
	display: flex;
}
	header .b_band a,
	header .inner a{
		font-size:14px;
		font-weight:700;
	}
header .b_band h2{
	display:flex;
}
header .b_band .inner > ul{
	display:flex;
	margin: 0px auto 0;
	padding: 0px 0;
	background: #F5F5EB;
}
header .b_band .inner > ul > li{
	margin-right:30px;
	padding:15px 0;
	position: relative;
	cursor:pointer;
}
header .b_band .inner > ul > li img{
	height:12px;
}
header .b_band .inner > ul > li.fb img{
	height:auto;
}
.b_band ul li ul{
	position: absolute;
	opacity: 0;
	height: 0;
	top:62px;
	overflow: hidden;
	transition:.3s;
	z-index:100;
	border:1px solid #dcdcdc;
	border-top:none;
}
	.b_band .inner > ul > li:hover ul{
		opacity:1;
		height:auto;
		overflow:visible;
	}
	.b_band ul li ul li{
		background: #fff;
		padding: 10px 10px;
		transition:.3s;
		min-width: 100px;
		position:relative;
		display:flex;
	}
		.b_band ul li ul li:before{
			content:">";
			margin-right:3px;
		}
		.b_band ul li ul li a{
			display:block;
			width:100%;
		}
		.b_band ul li ul li:hover{
			background:#FF67BC;
			color:#fff;
		}
		.b_band ul li ul li:hover a{
			color:#fff;
			opacity:1;
		}
header .b_band li.h_cart{
	background: url(../parts/icon_cart.svg) no-repeat;
	width: 30px;
	background-size: contain;
	cursor:pointer;
	margin: 0;
	height: 100%;
	background-position: center;
}
header .b_band li.h_cart.item{
	background: url(../parts/icon_cart.svg) no-repeat;
	background-size: contain;
	background-position: center;
}
.h_cart .p_count{
	margin: -5px 0px 0px 36px;
	min-width: 35px;
}
.c_window{
	position: absolute;
	background: #F5F5EB;
	top: 50px;
	left: -80px;
	font-size: 16px;
	padding:0;
	width:200px;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition:.3s;
	z-index:10;
}
li.h_cart:hover .c_window,
.c_window:hover{
	height:auto;
	opacity:1;
	margin: -4px 0 0px;
}
.c_window:before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: block;
	text-align: center;
	font-size: 23px;
	line-height: 23px;
	content:none;
}
	li.h_cart:hover .c_window:before,
	.c_window:hover:before{
		content: "\f0d7";
	}
.c_window h1, header .b_band .c_window p{
	margin:10px 15px;
}
.c_window h1{
	font-size: 16px;
	border-bottom: 1px dashed #fff;
}
.c_window p{
	font-size: 15px;
}
header .b_band .c_window a{
	display:block;
	padding: 5px 10px 20px;
}
header .b_band .c_window p:last-child{
	background: #000;
	color: #fff;
	display: block;
	text-align: center;
	border-radius: 3px;
	font-weight: 600;
	padding: 5px;
	font-size: 13px;
}
header .ellipsis{
	display:none;
}

/* カート～フォームのヘッダー */
.h_ellipsis header .ellipsis{
	display: block;
	background: #fff;
	width: 100%;
	text-align: center;
	padding: 20px 0 10px;
	position: relative;
	z-index: 99999;
}

footer{
	margin-top:100px;
	background:#F5F5EB;
}
.f_shop_info{
	font-size:16px;
}

.category_image {
	width: 100%;
	height: auto;
}

.category_text {
	margin: 10px 0 50px;
}

/* ページ上部リンク */
.shop_nav {
    margin: 25px auto;
}

.shop_nav ul {
    display: flex;
    justify-content: space-around;
	margin:25px 0 0;
	position:relative;
	z-index:5;
}
.shop .shop_nav ul{
	background: url(../parts/shop_cup.png) no-repeat;
	height: 220px;
	background-size: contain;
	background-position: center;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 100px 0 0;
}
.shop .shop_nav ul li{
	width: 34%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	height: 50px;
	margin: -60px 0 0;
	align-self: first baseline;
	min-width:400px;
}
.shop .shop_nav ul li:nth-child(1){order:4;}
.shop .shop_nav ul li:nth-child(2){order:2;}
.shop .shop_nav ul li:nth-child(3){order:1; width:100%;}
.shop .shop_nav ul li:nth-child(4){order:3;}
.shop .shop_nav ul li:nth-child(5){order:5;}

.shop_nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #000000;
	font-family: 'Roboto', sans-serif;
	font-weight:700;
	font-size: 14px;
}

.shop_nav span {
    width: 100%;
    text-align: center;
    border-top: 1px solid #000000;
	font-weight:300;
	font-family: "Noto sans JP"
	font-size: 12px;
}
.shop_nav a:hover span{
	border-color:#666;
}

a.go_cart{
	display:inline-block;
	margin:0 0 20px;
}
a.go_cart:after{
	content: "\025b6";
	margin-left: 1em;
	display: inline-block;
	position: relative;
	opacity: 1;
	background: no-repeat;
	height: auto;
	width:auto;
	vertical-align: middle;
}

.top_txt{
	background:#F5F5EB;
	padding:40px 100%;
	margin:0 -100% 130px;
	display:none;
}

#main > h2{
	margin:30px 0;
}

/* 商品一覧 */
#products {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
	#products:after{
		content:"";
		display:inline-block;
		width:30%;
	}

li.product{
	position:relative;
}
li.product img:before{
	content:"";
	position:absolute;
	width:100%;
	height:100%;
	color:#000;
	opacity:.5;
}

.price_info {
	color: #EC0000;
	font-weight: 700;
	text-align: right;
}

#products:not(:last-of-type) {
    margin-bottom: 35px;
}

h2.category {
	margin: 5px 0 20px;
	padding: 0 10px;
	text-align: center;
	border: 1px solid #C6C6C6;
	font-weight: 300;
}

#products li {
    width: 320px;
    margin-bottom: 20px;
}

#products a {
    color: #000000;
	display: block;
}

#products .img_box{
	position:relative;
	height: 250px;
	overflow: hidden;
	display: flex;
	align-items: center;
}
#products .img_box:before{
	content: "詳細を見る";
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity:0;
	transition:.3s;
	top: 0;
	left: 0;
}
#products li.product a:hover,
#products li.product:hover .img_box:before{
	opacity:1;
}
	.checked_items #products li.product a:hover{
		opacity:.5;
	}
#products img {
	display: block;
	width: 100%;
	margin: 0 auto 5px;
}

#products .reduce {
    text-align: center;
}

ul#products + .page{
	text-align:center;
}

/* 商品詳細 */
.product a > p{
	font-size:18px;
	font-weight:700;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.product a > .price {
    color:#666;
	font-weight:normal;
	font-size:16px;
}

.tags{
	position: absolute;
	top: -8px;
	left: -8px;
	width: 100%;
}
.tags ul {
    display: flex;
    flex-wrap: wrap;
}
#products .tags li {
	width: auto;
	margin: 0px 6px 0 0;
	padding: 0 0px;
	border-radius: 3px;
	font-size: 14px;
}
#products .tags img{
	height:50px;
	width:auto;
}
#products .tags span{
	font-weight:400;
	color:#fff;
}

.reduce {
	font-weight: 400;
	color: #0099FF;
	font-size: 14px;
	letter-spacing: 1px;
}

.empty {
    font-weight: 700;
    color: #CC0000;
}

.few {
    font-weight: 700;
    color: #FF9900;
}

.few span {
    font-size: 1.2em;
}

.in_stock {
    font-weight: 700;
    color: #00CC33;
}

.product_form {
    margin: 20px 0;
}

/* 入力フォーム */
.form {
    margin: 20px auto 30px;
	width: 1000px;
}
.form select, .form input{
	font-weight:300;
}

.form_item {
   margin: 20px 0 15px;
}
	.cart_item .form_item{
		border:none;
	}

.form_item h2{
	font-size:16px;
	font-weight:300;
	text-align: right;
	margin-right:40px;
}

.form_item label {
    margin: auto 0;
    display: inline-block;
}

.form_item input {
    padding: 3px 8px;
	border: 1px solid #BFBFBF;
	height:50px;
	width:100%;
}
.form_item input#postal_code{
	width:200px;
}


.form_item dt {
    width: 50%;
	font-weight: 700;
	padding-right: 40px;
	padding-bottom:5px;
}

.form_item dd {
	padding: 0 0 15px;
}

.form_item label.hissu::after {
    content: '（必須）' ;
    font-weight: 700;
}

.form_item_child {
    margin-bottom: 10px;
	display: flex;
	width: 48%;
	float: left;
}
dd .form_item_child:nth-of-type(1){
	margin-right:30px;
}

.form_item_child label {
    margin-right: 1em;
	white-space: nowrap;
}

.remember_password {
    text-align: center;
    margin-bottom: 15px;
}

.note {
    display: block;
    margin-top: 3px;
    font-size: 0.9em;
}

.error {
    color: #e21212;
    font-weight: 700;
}

.info {
    color: #1272e2;
    font-weight: 700;
}

#shipping_info{
	display: block;
	padding: 30px 30px;
	border: 1px solid #BFBEBD;
	margin: 15px;
}

.comment h2{
	font-size:20px;
	margin:0 0 10px;
}

.edit a{
	display: inline-block;
	border: 1px solid #490509;
	text-align: center;
	padding: 5px 35px;
	border-radius: 3px;
	margin: 10px 0 0;
}

.inquire_confirm_p .form_item,
.confirm_p .form_item,
.account_p .form_item{
	display:flex;
	border:1px solid #666;
}
.inquire_confirm_p .form_item dt,
.inquire_confirm_p .form_item dd,
.confirm_p .form_item dt,
.confirm_p .form_item dd,
.account_p .form_item dt,
.account_p .form_item dd{
	padding:10px 20px;
}
.inquire_confirm_p .form_item dt,
.confirm_p .form_item dt,
.account_p .form_item dt{
	width:25%;
	border-right:1px solid #666;
	display: flex;
	align-items: center;
}
.inquire_confirm_p .form_item dd,
.confirm_p .form_item dd,
.account_p .form_item dd{
	max-width: 75%;
}

/* 購入ステップ */
.steps {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 20px;
    padding: 20px 30px;
    border: 1px solid #b9b9b9;
}

.steps li {
    color: #b9b9b9;
    font-weight: 700;
}

.steps li.now {
    color: #000000;
}


/* カート共通 */
li.cart_item {
    padding: 20px 0;
    border-bottom: 1px dashed #000000;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cart_item .beans_image,
.cart_item .item_image {
    width: 25%;
}

.cart_item .item_image img {
    max-width: 100%;
}

.cart_item .product_title {
    width: 35%;
	padding: 0 5px;
}

.cart_item .product_quantity,
.cart_item .product_price {
    width: 15%;
}

.product_quantity dl,
.product_price dl {
	text-align: center;

}

.cart_item .product_price span {
	display: block;
	font-size:14px;
}

.gift {
    margin: 10px;
}

.gift p {
    font-size: 17px;
}

.gift_items {
    font-size: 14px;
    margin: 0 10px;
}

.gift_items li {
	margin: 5px 0;
}

/* 確認画面共通 */
.detail_item {
    margin-bottom: 30px;
    padding: 10px;
}

.detail_item dl {
    margin: 0 auto;
}

/* 合計金額 */
.total_price {
    float: right;
    margin: 25px 0;
    font-weight: 700;
	font-weight: 700;
}

.clearfix::after {
    display: block;
    content: '';
    float: none;
    clear: both;
}

.total_price dt {
    width: 100px;
    font-size: 1.2em;
    float: left;
    clear: left;
    margin-right: 1em;
}

.total_price dd {
    font-size: 1.2em;
    float: left;
    margin-left: 0.5em;
}

/* 下部ボタンエリア */
.button_area {
    text-align: center;
}

.button_area a {
    display: block;
    width: 150px;
    margin: 15px auto 0;
}

a.login {
	width: 150px;
	margin: 0 auto 0.5em;
	padding: 15px 5px;
	border: 1px solid #000000;
	color: #000000;
	font-size: 16px;
	text-align: center;
	font-weight: 300;
}

a.register {
    width: auto;
    margin-bottom: 30px;
	display: inline-block;
}

.thanks {
    margin: 20px auto 50px;
}

.thanks p {
    font-size: 1.2em;
    margin: 0.5em;
}

.next,
a.to_top {
    padding: 15px 25px;
    color: #FFFFFF;
    background-color: #000;
    border: 1px solid #000;
    border-radius: 10px;
	display: block;
	margin: 0 auto;
	font-size: 20px;
	font-weight: 700;
	width:250px;
}

.button_area button.back {
	width: 250px;
	padding: 15px;
	border-radius: 5px;
	margin: 0;
    border: 2px solid #490509;
    background-color: #ffffff;
}

/* 問い合わせフォーム */
textarea[name="content"] {
    width: 100%;
}

/* ページ送り */
.page_view .next {
	width: auto;
	font-size: 1rem;
	color: #000000;
	border-radius: 0;
}

@media screen and (max-width: 1024px) {

	.steps{
		width:100%;
	}
	.form{
		width:auto;
	}
	#products li{
		width:32.5%;
	}

}

@media screen and (max-width: 896px) {

	header{
		border:none;
		border-top: 6px solid #F5F5EB;
		margin-bottom: 20px;
	}
	#navToggle,
	header .b_band li,
	.shop .shop_nav ul li,
	.f_shop_info ul{
		display:none;
	}
	header .b_band ul{
		margin:0;
	}
	header .b_band li.h_cart{
		display:block;
		width: 30px;
		height: 30px;
	}

	header .inner{
		margin:0px 0px 0;
		padding-top:10px;
	}
	header .inner > h1{
		width: 330px;
		margin: 0 10px;
		height: 50px;
		overflow: hidden;
		padding: 0 10px 0 0px;
	}

	header .b_band{
		padding: 0;
		margin: 0;
		position: absolute;
		right: 66px;
		top: 0px;
		height: 100%;
	}
	header .b_band .inner{
		border:none;
	}
	header .b_band,
	header .b_band .inner{
		width:auto;
		display:inline-block;
	}
	header .b_band,
	header .b_band .inner,
	header .b_band .inner > ul{
		background: none;
	}
	header .b_band .inner > ul{
		margin:0;
		display: inline-block;
	}
	header .b_band .inner > ul:first-child{
		display:none;
	}
	header .b_band .inner > ul > li{
		margin:0;
	}

	.c_window{
		right: 0px;
		margin: 0;
		top: 38px;
		left: auto;
	}
	header .b_band .c_window a{
		line-height: 40px;
	}

	/* ナビゲーション */
	#navToggle{
		display:block;
		background:#fff;
	}
	nav{
		display: block;
		padding: 40px 0 40px;
		width: 100%;
		right: 0px;
		top: 0;
		opacity:0;
		background:#f5f5eb;
		z-index:-1;
	}
	nav ul{
		font-size:14px;
	}
	nav ul li{
		margin: 0 0 0px;
		font-weight:700;
		font-size:16px;
		padding-left:15px;
	}
		nav > ul > li{
			margin:0 30px;
			border-bottom: 1px solid #dcdcdc;
		}
	nav ul li a{
		line-height: 40px;
		white-space: nowrap;
		display:block;
		width:100%;
	}
	nav ul li img{
		height:13px;
	}
	nav ul li li a:before{
		content:"-";
		display:inline-block;
		margin-right:5px;s
	}
	nav ul li.fb{
		border-bottom:none;
		text-align: right;
	}
	nav ul li.fb a{
		display:inline-block;
		width:auto;
		margin-right:10px;
	}
	nav ul li.fb img{
		height:auto;
	}
	.openNav nav{
		height:auto;
		opacity:1;
		z-index:999;
	}

	#products .img_box{
		height:23vw;
	}
	.tags{
		top: -1vw;
		left: -1vw;
	}
	#products .tags img{
		height:5vw;
	}


	/* カート */
	li.cart_item{
		flex-wrap: wrap;
		justify-content: flex-start;
		position:relative;
		padding-right: 50px;
	}
	.cart_item .item_image{
		margin-right:10px;
	}
	.cart_item .product_title{
		width:70%;
	}
	.cart_item .product_quantity{
		width:33%;
	}
	.cart_item .product_price{
		width: 33%;
	}
	.cart_delete{
		position: absolute;
		right: 0;
		padding:0;
	}
	.h_cart .p_count{
		margin: -5px 0px 0px 0px;
		min-width: 35px;
		text-align: right;
		position: relative;
		left: -29px;
	}

	.top_txt{
		margin-bottom:30px;
	}
	#products li{
		margin-bottom:30px;
	}
	.product a > p{
		font-size:15px;
		line-height:1.5;
	}

	/* フォーム */
	.form{
		width:auto;
	}

	.form_item {
		justify-content: flex-end;
	}

	.form_item dt{
		padding-right:20px;
		white-space: nowrap;
		min-width: 160px;
		width: auto;
	}
	.form_item_child{
		float:none;
	}
/*	.form_item dd{
		width:auto;
	}
*/
	.form_item label{
		white-space:nowrap;
	}
	.steps{
		width:100%;
		display: flex;
		justify-content: center;
	}
	.steps li{display:none;}
	.steps li.now{display:block;}
	.form_item input{
		height:40px;
	}

	.order_customer_p .form_item input{
		width:80%;
	}
	#shipping_info{
		padding:5px;
		margin:5px;
	}

	/* 確認画面 */
	.inquire_confirm_p .form_item, .confirm_p .form_item, .account_p .form_item{
		justify-content: flex-start;
	}
	.inquire_confirm_p .form_item dt, .confirm_p .form_item dt, .account_p .form_item dt,
	.inquire_confirm_p .form_item dt label, .confirm_p .form_item dt label, .account_p .form_item dt label{
		white-space: break-spaces;
	}
	.inquire_confirm_p .form_item dd, .confirm_p .form_item dd, .account_p .form_item dd{
		max-width:none;
	}
}
@media screen and (max-width: 480px) {

	header .inner{
		padding: 10px 0 5px;
	}
	header .inner > h1{
		width:66vw;
		height:9vw;
		min-width: 220px;
		min-height: 30px;
		padding: 0px 10px 0px 0px;
	}
	header .b_band{
		padding: 0 3vw 0 3vw;
		right: 13vw;
	}
	header .b_band li.h_cart{
		width: 28px;
		height: 28px;
	}

	#products li{
		width:49%;
	}
	#products .img_box{
		height:40vw
	}
	#products .tags img{
		height:35px;
	}

	footer ul{
		flex-direction: column;
	}

	/* フォーム */
	.form_item{
		flex-direction: column;
	}
	.form_item dt{
		margin: 0 0 0px;
		padding: 0;
	}
	.inquire_confirm_p .form_item dt, .confirm_p .form_item dt, .account_p .form_item dt{
		border-right:none;
		border-bottom: 1px solid #666;
		width:100%;
	}
	.form_item dd{
		width:100%;
	}

	/* カート */
	.cart_item .product_title{
		font-size:medium;
	}

	.cart_item .product_quantity {
		width: 33%;
	}

	.cart_item .product_price {
		width: 33%;
	}

	/* フォーム */
	.form_item_child{
		wdith:70%;
	}

}
