@charset "utf-8";



/* --------------------------------------------------------------------------------
	html & body
-------------------------------------------------------------------------------- */
html{
	
}
body {
	margin: 0 auto;
	padding: 0 0 14vw;
	max-width: 800px;
	line-height: 1.5;
	text-size-adjust: 100%;
	/* font-family:"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif; */
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: 500;
	color: #333;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

address{
	font-style: normal;
}


/* --------------------------------------------------------------------------------
	共通 リセット タグ等
-------------------------------------------------------------------------------- */
.common {
	font-size: 3.6vw;
}

.common * {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	/* font-family:"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif; */
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: 500;
}

.common h1,
.common h2,
.common h3,
.common h4,
.common h5,
.common h6 {
	font-size: 1em;
}
.common ol,
.common ul {
	list-style: none;
}
.common table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 1em;
}
.common a,
.common a:link,
.common a:visited {
	text-decoration: none;
	color: #333;
	-webkit-tap-highlight-color:rgba(0,0,0,0.1);
	tap-highlight-color:rgba(0,0,0,0.8);
}
.common a:hover,
.common a:active {
	text-decoration: none;
}

input,
select,
textarea{
	outline: none !important;
	box-shadow: none !important;
}


/* --------------------------------------------------------------------------------
	共通クラス
-------------------------------------------------------------------------------- */
.clear{
	clear:both;
}
br.clear{
	display:block;
	margin:0;
	padding:0;
	clear:both;
	height:0;
	border:none;
	visibility:hidden;
	font-size:0;
}
.clearfix::after{
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
}
.clearfix{
	min-height:1%;
}
* html .clearfix{
	height:1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.font-mincho,
.font-mincho *{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 400;
}

/********** プレースホルダー **********/
::-webkit-input-placeholder,
::placeholder{
	color:#000;
}




/* --------------------------------------------------------------------------------
	デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.device-sp{
	display:block;
}
.device-sp-inline{
	display:inline;
}
.device-pc{
	display:none;
}
.device-pc-inline{
	display:none;
}

/* ----------------------------------------
customer表示切り替え
---------------------------------------- */
/********** ログイン・ログアウトの表示切り替え：ログアウト時 **********/
.my-false .logout{
	display: block !important;
}
.my-false .login{
	display: none !important;
}
/********** ログイン・ログアウトの表示切り替え：ログイン時 **********/
.my-true .logout{
	display: none !important;
}
.my-true .login{
	display: block !important;
}








/* --------------------------------------------------------------------------------
	container
-------------------------------------------------------------------------------- */
#container{
}




/* --------------------------------------------------------------------------------
	header-sp
-------------------------------------------------------------------------------- */
#header-sp{
}
#header-sp .header-outer {
	width: 100%;
	position: fixed;
	z-index: 100;
	top: 0;
	right: 0;
	left: 0;
	background-color: #fff;
}
#header-sp .header-outer p {
	padding-left: 0.5em;
	font-size: 0.9em;
	color: #DD0606;
	font-weight: bold;
}

/* ----------------------------------------
header-inner
---------------------------------------- */
#header-sp .header-inner {
	display: flex;
	border-top: solid 1vw #006934;
	border-bottom: solid 1vw #006934;
	background: #fff;
}

/********** h-logo **********/
#header-sp .header-inner .h-logo {
	width: 53.5vw;
}
#header-sp .header-inner .h-logo a {
	display: block;
}
#header-sp .header-inner .h-logo img {
	display: block;
	width: 50vw;
}


/********** h-btns **********/
#header-sp .header-inner .h-btns ul {
	display: flex;
	width: 46.5vw;
}
#header-sp .header-inner .h-btns ul li a {
	display: block;
	padding: 14.5vw 0 0;
	text-align: center;
	font-size: 3vw;
	
	position: relative;
}
#header-sp .header-inner .h-btns ul li.h-btn-search {
	width: 13vw;
	background: url("../images/common-device/h-icon-search.png") no-repeat 2vw 4vw;
	background-size: 7vw auto;
}
#header-sp .header-inner .h-btns ul li.h-btn-search .label {
	display: block;
	padding: 14.5vw 0 0;
	text-align: center;
	font-size: 3vw;
}
#header-sp .header-inner .h-btns ul li.h-btn-cart {
	width: 17.5vw;
	background: url("../images/common-device/h-icon-cart.png") no-repeat 2vw 4vw;
	background-size: 10vw auto;
}
#header-sp .header-inner .h-btns ul li.h-btn-menu span {
	display: block;
	width: 16vw;
	padding: 14.5vw 0 0;
	background: url("../images/common-device/h-icon-menu.png") no-repeat 50% 4vw;
	background-size: 10vw auto;
	text-align: center;
	font-size: 3vw;
}
#header-sp .header-inner .h-btns ul li.h-btn-menu.btn-active span {
	background: #fff url("../images/common-device/h-icon-close.png") no-repeat 50% 4vw;
	background-size: 7.6vw auto;
}

/********** h-nav-list **********/
#header-sp .h-nav-list {
	margin-top: 7.5em;
	padding: 0 9vw 0 0;
	background: url("../images/common-device/h-btn-arr.png") no-repeat;
	background-position: 95vw 25.5vw;
	background-size: 2vw auto;
}
#header-sp .h-nav-list .h-nav-list-box{
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#header-sp .h-nav-list ul {
	display: flex;
	width: 330vw;
	padding: 3vw 0 3vw 2vw;
}
#header-sp .h-nav-list ul li{
	margin: 0 3.8vw 0 0;
}
#header-sp .h-nav-list ul li a {
	display: block;
	white-space: nowrap;
	font-size: 3.6vw;
}
#header-sp .h-nav-list ul li.h-nav-mark-1 a {
	color: #ec1b23;
}


/* カート数量 */
#header-sp .header-inner .h-btns ul li.h-btn-cart a .fs-client-cart-count{
	position: absolute;
	top: 2.5vw;
	right: 2.5vw;
	
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 5vw;
	height: 5vw;
	padding: 0;
	border: none;
	
	border-radius: 5vw;
	font-size: 3vw;
	color: #fff;
	background: #c33;
	
	line-height: 1;
	z-index: 1;
}
#header-sp .header-inner .h-btns ul li.h-btn-cart a .label{
	border-right: none;
	padding-right: 0;
}



/* ----------------------------------------
h-search
---------------------------------------- */
/********** h-search **********/
#header-sp .h-search{
	display: none;/* 最初は隠しておく */
	
	position: fixed;
	z-index: 100;
	
	background: rgba(0,0,0,0.8);
	height: calc(100% - 21.3vw);
	right: 0;
	top: 21.3vw;
	left: 0;
	
	color: #fff;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#header-sp .h-search a{
	color: #fff;
}
#header-sp .h-search .h-search-btns{
	padding: 10.5vw 2vw 0;
}
#header-sp .h-search .h-search-btns ul{
	display: flex;
	justify-content: space-between;
	
	width: 100%;
}
#header-sp .h-search .h-search-btns ul li{
	width: 45vw;
}
#header-sp .h-search .h-search-btns ul li a{
	display: block;
	text-align: center;
}
#header-sp .h-search .h-search-btns ul li a{
	display: block;
	padding: 10px 0;
	border-radius: 10vw;
	text-align: center;
	color: #333;
	background: #fff;
}
#header-sp .h-search .h-search-btns ul li.h-search-btn-login a{
	color: #fff;
	background: #fc3;
}
/* 検索ボックス */
#header-sp .h-search input{
	background: none;
}
#header-sp .h-search .search{
	padding: 15vw 2vw 0;
}
#header-sp .h-search .search .search-box{
	position: relative;
	display: flex;
	
	width: 100%;
	margin: 0 0 3vw;
	border-bottom: solid 0.3vw #fff;
}
#header-sp .h-search .search .search-key{
	
}
#header-sp .h-search .search .search-key input{
	width: 85vw;
	color: #fff;
	font-size: 3.6vw;
}
#header-sp .h-search .search .search-key input::-webkit-input-placeholder,
#header-sp .h-search .search .search-key input::placeholder{
	color: #fff;
}
#header-sp .h-search .search .search-submit{
	position: absolute;
	right: 0;
	bottom: 3vw;
	width: 7vw;
}
#header-sp .h-search .search .search-submit input{
	display: block;
	width: 100%;
	height: auto;
}

/* お探しのキーワード */
#header-sp .h-search .txt{
	padding: 0 0 6vw;
	text-align: center;
}

/* h-btn-close */
#header-sp .h-search .h-btn-close{
	padding: 0 0 7.5vw;
}
#header-sp .h-search .h-btn-close img{
	display: block;
	width: 40vw;
	margin: 0 auto;
}



/* ----------------------------------------
h-menu
---------------------------------------- */
/********** h-memu **********/
#header-sp .h-menu{
	display: none;/* 最初は隠しておく */
	
	position: fixed;
	z-index: 100;
	
	height: calc(100% - 21.3vw);
	right: 0;
	top: 22.3vw;
	bottom: 0;
	left: 0;
	
	color: #fff;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#header-sp .h-menu a{
	color: #fff;
}

/********** ようこそ**********/
#header-sp .txt-greeting{
	padding: 6vw 0 6vw;
	text-align: center;
	font-size: 4.8vw;
	color: #fff;
	
	background: rgba(0,0,0,0.8);
}


/* ログイン */
#header-sp .txt-greeting ul{
	display: flex;
	justify-content: space-between;
	padding: 0 2vw;

}
#header-sp .txt-greeting li.btn-register {
    background: #fff;
    width: 45vw;
    border-radius: 30px;
    padding: 1.8vw 0 2vw 0;
}
#header-sp .txt-greeting li.btn-register a{
    color: #000 !important;
    font-size: 3.6vw;
}
#header-sp .txt-greeting li.btn-login {
    background: #ffcc33;
    width: 45vw;
    border-radius: 30px;
    padding: 1.8vw 0 2vw 0;
}
#header-sp .txt-greeting li.btn-login a{
    color: #fff !important;
	font-size: 3.6vw;
}
/* ログアウト*/







/********** h-menu-list **********/
#header-sp .h-menu .h-menu-list{
}

#header-sp .h-menu .heading .heading-box{
	margin: 0 2vw;
	padding: 3vw 0;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	text-align: center;
	font-size: 4.8vw;
}

/********** list-1 **********/
#header-sp .h-menu .list-1{
	padding: 0 2vw;
	background: rgba(0,0,0,0.8);
}
#header-sp .h-menu .list-1 ul li{
	padding: 0 0 3vw;
}
#header-sp .h-menu .list-1 ul li a{
	display: block;
	padding: 2vw 2vw;
}

/********** list-2 *********/
#header-sp .h-menu .list-2{
	background: rgba(0,0,0,0.8);
}
#header-sp .h-menu .list-2 .list-2-box{
	padding: 3vw 0 6vw;
}
#header-sp .h-menu .list-2 ul li{
	padding: 0 0 3vw;
}
#header-sp .h-menu .list-2 ul li a{
	display: block;
	padding: 2vw 2vw;
}

/********** list-3 *********/
#header-sp .h-menu .list-3 .heading{
	padding: 0 0 6vw;
	color: #fff;
	background: rgba(0,0,0,0.8);
}
#header-sp .h-menu .list-3 .list-3-box{
}
#header-sp .h-menu .list-3 ul li{
}
#header-sp .h-menu .list-3 ul li .btn-main-cat{
	padding: 3.5vw 2vw;
	background: rgba(0,0,0,0.8) url("../images/common-device/h-icon-arr-down.png") no-repeat calc(100% - 2vw) 50%;
	background-size: 3.6vw auto;
}
#header-sp .h-menu .list-3 ul li .btn-main-cat.active{
	background-image: url("../images/common-device/h-icon-arr-up.png");
}
#header-sp .h-menu .list-3 .list-3-box .open-close{
    display: none;
}
#header-sp .h-menu .list-3 ul li a{
	display: block;
	padding: 3.5vw 2vw;
	
	color: #333;
	background: rgba(255,255,255,0.8);
}


/********** h-btn-close *********/
#header-sp .h-menu .h-btn-close{
	padding: 6vw 0 7.5vw;
	background:rgba(0,0,0,0.8);
}
#header-sp .h-menu .h-btn-close img{
	display: block;
	width: 40vw;
	margin: 0 auto;
}














/* --------------------------------------------------------------------------------
	footer-sp
-------------------------------------------------------------------------------- */
#footer-sp{
	padding: 18vw 0 5vw;
}



/* ----------------------------------------
logo
---------------------------------------- */
#footer-sp .f-logo{
	width: 42.8vw;
	margin: 0 auto 6vw;
}
#footer-sp .f-logo img{
	display: block;
}


/* ----------------------------------------
shopinfo-calendar
---------------------------------------- */
#footer-sp .shopinfo-calendar{
	display: flex;
	width: 100%;
	padding: 0 2vw 5vw;
}

/* ----------------------------------------
shopinfo
---------------------------------------- */
#footer-sp .shopinfo{
	width: 48vw;
}

#footer-sp .shopinfo table{
	font-size: 3.3vw;
}
#footer-sp .shopinfo table th{
	padding: 0 3vw 0 0;
	text-align: left;
	letter-spacing: -0.05em;
	white-space: nowrap;
}
#footer-sp .shopinfo table td{
	letter-spacing: -0.05em;
}

/* ----------------------------------------
カレンダー
---------------------------------------- */
/********** カレンダーレイアウト **********/
#footer-sp .calendar .calendar-wrapper{
}

/********** カレンダー（今月のみの表示にする） **********/
#footer-sp .calendar .calendar-wrapper .calendar-box:nth-of-type(2){
	display: none;
}

/********** カレンダー外枠 **********/
#footer-sp .calendar .calendar-box{
	width: 48vw;
	margin: 0 0 5px;
}

/********** 営業日カレンダー **********/
#footer-sp .calendar table{
	width:100%;
	line-height:1.6;
	font-size:2.8vw;
	text-align:center;
	border-collapse:collapse;
	background:#fff;
}

/********** 月名 **********/
#footer-sp .calendar caption{
	padding:1vw;
	text-align:center;
	font-weight:bold;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	border-left: solid 1px #333;
	color: #fff;
	background:#666;
}

/********** 曜日 **********/
#footer-sp .calendar th{
	padding:1vw 0;
	width:calc(100% / 7);
	border:1px solid #333;
	font-weight:bold;
}
#footer-sp .calendar th.sunday{
}
#footer-sp .calendar th.saturday{
}

/********** 日付の枠 **********/
#footer-sp .calendar td{
	padding:1vw 0;
	width:calc(100% / 7);
	border:1px solid #333;
}
#footer-sp .calendar td.sunday{
}
#footer-sp .calendar td.saturday{
}
#footer-sp .calendar td.close{
}
#footer-sp .calendar td.today{
}

/********** 日付の文字 **********/
#footer-sp .calendar td span{
}
#footer-sp .calendar td.close{
	color: #c00;
	background: #ffcccc;
}

/********** カレンダーのマーク **********/
#footer-sp .calendar .mark-close{
	display: flex;
	align-items: center;
}
#footer-sp .calendar .mark-close::before{
	display: block;
	content: '';
	width: 15px;
	height: 15px;
	margin: 0 10px 0 0;
	
	background: #ffcccc;
}

/* ----------------------------------------
f-btns
---------------------------------------- */
#footer-sp .f-btns{
	padding: 0 0 8.5vw;
}
#footer-sp .f-btns ul{
	display: flex;
	width: 100%;
}
#footer-sp .f-btns ul li{
	width: 50%;
}
#footer-sp .f-btns ul li a{
	display: block;
}
#footer-sp .f-btns ul li img{
	display: block;
}

/* ----------------------------------------
f-btns
---------------------------------------- */
#footer-sp .f-help{
	padding: 0 0 5vw;
	text-align: center;
	line-height: 2.15;
}


/* ----------------------------------------
family-site
---------------------------------------- */
#footer-sp .family-site{
	position: relative;
}
#footer-sp .family-site .btn-family-site{
	margin: 0 2vw 8vw;
	padding: 4vw 0;
	display: block;
	text-align: center;
	text-decoration: none !important;
	background: #006934 url('../images/common-device/f-icon-arr-up.png') no-repeat calc(100% - 23px) 50%;
	background-size: 4.8vw auto;
}
#footer-sp .family-site .btn-family-site.active{
	background: #006934 url('../images/common-device/f-icon-arr-down.png') no-repeat calc(100% - 23px) 50%;
	background-size: 4.8vw auto;
}
#footer-sp .family-site .family-site-box{
	display: none;
}
#footer-sp .family-site ul{
	position: absolute;
	bottom: 13.4vw;
	
	width: 100%;
	padding: 0 2vw;
}
#footer-sp .family-site ul li a{
	display: block;
	padding: 3.5vw 5.5vw;
	color: #fff;
	background: rgba(0,105,52,0.8);
}
#footer-sp .family-site .btn-family-site span{
	display: block;
	color: #fff;
}


/* ----------------------------------------
f-help
---------------------------------------- */
#footer-sp .f-help ul{
	
}



/* ----------------------------------------
copyright
---------------------------------------- */
#footer-sp .copyright{
	padding: 3vw 0 0;
	border-top: solid 0.3vw #df1818;
	text-align: center;
}


/********** fix **********/
#footer-sp .fix{
	position: fixed;
	bottom: 0;
	z-index: 10;
	display: flex;
	width: 100%;
}
#footer-sp .fix img{
	display: block;
}






