@charset "utf-8";



/* --------------------------------------------------------------------------------
	html & body
-------------------------------------------------------------------------------- */
html{
	
}
body {
	margin: 0 auto;
	padding: 0 0 15vw;
	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-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{
	color:#000;
}




/* --------------------------------------------------------------------------------
	デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.device-sp{
	display:block;
}
.device-sp-inline{
	display:inline;
}
.device-pc{
	display:none;
}
.device-pc-inline{
	display:none;
}




/* --------------------------------------------------------------------------------
	container
-------------------------------------------------------------------------------- */
#container{
}




/* --------------------------------------------------------------------------------
	header-sp
-------------------------------------------------------------------------------- */
#header-sp{
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 300;
	
	background: #fff;
}

#header-sp .header-outer{
	padding: 1.5vw 2vw 0;
}

#header-sp .txt-catch{
	padding: 0 0 2.5vw;
	line-height: 1.3;
	letter-spacing: -0.05em;
	font-size: 3vw;
}

/* ボタン：　会員登録とログイン */
#header-sp .h-btn{
}

/* ログアウト時 */
#header-sp .member-loggind-status-logout .h-btn{
	padding: 0 0 3vw;
}

/* ログイン時は消す */
#header-sp .member-loggind-status-true{
}
#header-sp .member-loggind-status-true .h-btn-box{
	display: none;
}

/* 検索・メニュー表示時は非表示にする */
body.h-search-active-sp #header-sp .h-btn,
body.h-menu-active-sp #header-sp .h-btn {
	display: none;
}

#header-sp .h-btn ul {
	display: flex;
	justify-content: space-between;
	
	width: 100%;
	padding: 7vw 2vw 3vw;
}
#header-sp .h-btn ul li {
	width: 47%;
}
#header-sp .h-btn ul li a {
	display: block;
	border-radius: 2em;
	padding: 2vw 0;
	text-align: center;
	color: #fff;
	text-decoration: none;
}
#header-sp .h-btn ul li.h-btn-register a {
	background: #c66;
}
#header-sp .h-btn ul li.h-btn-my a {
	background: #0b4a92;
}


/********** アクティブ時は消す **********/
body.h-menu-active-sp #header-sp .h-btn{
	display: none;
}



/*
header-inner
-------------------- */
#header-sp .header-inner{
	display: flex;
	justify-content: space-between;
	
	width: 100%;
}
#header-sp .header-inner .h-logo{
	width: 30vw;
}
#header-sp .header-inner .h-btns{
}
#header-sp .header-inner .h-btns ul{
	display: flex;
}
#header-sp .header-inner .h-btns ul li{
	padding: 0 0 0 4.7vw;
}
#header-sp .header-inner .h-btns ul li a,
#header-sp .header-inner .h-btns ul li span{
	display: block;
	padding: 8.5vw 0 0;
	white-space: nowrap;
}
#header-sp .header-inner .h-btns ul li.h-btn-cart a{
	background: url("../images/common-device/h-btn-cart.png") no-repeat 45% 0;
	background-size: 9vw auto;
}
#header-sp .header-inner .h-btns ul li.h-btn-search span{
	background: url("../images/common-device/h-btn-search.png") no-repeat 50% 0;
	background-size: 7vw auto;
}
#header-sp .header-inner .h-btns ul li.h-btn-menu span{
	background: url("../images/common-device/h-btn-menu.png") no-repeat 50% 0;
	background-size: 7vw auto;
}
body.h-menu-active-sp #header-sp .header-inner .h-btns ul li.h-btn-menu span{
	background: url("../images/common-device/h-btn-close.png") no-repeat 50% 1vw;
	background-size: 5.1vw auto;
}



/*
txt-greeting
-------------------- */
#header-sp .txt-greeting{
	display: none;
}

/* txt-greeging-name */
#header-sp .txt-greeting .txt-greeging-name{
	padding: 3.5vw 2vw;
	text-align: right;
}

/* ログイン時 */
#header-sp .member-loggind-status-true .txt-greeting{
	display: block;
}





/*
h-search
-------------------- */
#header-sp .h-search{
	display: none;
}
/* アクティブ時 */
body.h-search-active-sp #header-sp .h-search{
	display: block;
}
body.h-search-active-sp #header-sp .txt-greeting{
	display: block;
}

#header-sp .h-search .h-search-wrapper{
	margin: 0 2vw 4vw;
	border-bottom: solid 0.2vw #333;
}

#header-sp .h-search .search-box{
	display: flex;
	justify-content: space-between;
	
	width: 100%;
	padding: 0 0 2vw;
}
#header-sp .h-search .search-box .search-key{
	display: flex;
	width: 80vw;
}
#header-sp .h-search .search-box .search-submit{
}
#header-sp .h-search .search-box .search-submit input{
	display: block;
	width: 9.2vw;
	height: 9.2vw;
}
#header-sp .h-search .txt-search{
	padding: 0 0 15vw;
	text-align: center;
}

/* 検索メニューの閉じる */
#header-sp .h-search .h-btn-close{
	width: 51.5vw;
	margin: 0 auto;
	padding: 0 0 3vw;
}
#header-sp .h-search .h-btn-close img{
	display: block;
}




/*
h-menu
-------------------- */
#header-sp .h-menu{
	display: none;
	
	justify-content: space-between;
	
	width: 100%;
	max-height: 80vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	background: #fff;
}

/* メニューアクティブ時 */
body.h-menu-active-sp #header-sp .h-menu{
	display: block;
}
body.h-menu-active-sp #header-sp .txt-greeting{
	display: block;
}

/* メニューbox */
#header-sp .h-menu-box{
	padding: 3.5vw 0;
	background: #eef3f8;
}

/********** メニューリスト **********/
#header-sp .h-menu .h-menu-list{
	padding: 0 2vw 10vw;
}
#header-sp .h-menu .h-menu-list ul{
	display: flex;
	flex-wrap: wrap;
	
	width: 100%;
}
#header-sp .h-menu .h-menu-list ul li{
	display: flex;
	width: 50%;
	border-left: solid 0.2vw #fff;
	border-right: solid 0.2vw #fff;
	border-top: solid 0.2vw #fff;
}

/*
※奇数
#header-sp .h-menu .h-menu-list ul li:nth-child(odd){}
※偶数
#header-sp .h-menu .h-menu-list ul li:nth-child(even){}
*/
#header-sp .h-menu .h-menu-list ul li:nth-child(odd){
	border-right: 0;
}
#header-sp .h-menu .h-menu-list ul li:nth-child(8){
	border-right: solid 0.2vw #fff;
	border-bottom: none;
}
#header-sp .h-menu .h-menu-list ul li:nth-child(9){
	border-bottom: solid 0.2vw #fff;
}
#header-sp .h-menu .h-menu-list ul li:nth-child(10){
	border-left: solid 0.2vw #fff;
	border-right: none;
}
#header-sp .h-menu .h-menu-list ul li.h-menu-list-full-size{
	width: 100%;
}
#header-sp .h-menu .h-menu-list ul li a{
	width: 100%;
	display: block;
	padding: 4.4vw 0;
	text-align: center;
}

/********** h-menu ボタン **********/
#header-sp .h-menu .h-menu-btns ul{
	display: flex;
	flex-wrap: wrap;
	
	width: 100%;
	padding: 0 0 0 2vw;
}
#header-sp .h-menu .h-menu-btns ul li{
	width: 30vw;
	margin: 0 3vw 3vw 0;
}
#header-sp .h-menu .h-menu-btns ul li:nth-of-type(3n){
	margin-right: 0;
}
#header-sp .h-menu .h-menu-btns ul li a{
	display: block;
}
#header-sp .h-menu .h-menu-btns ul li img{
	display: block;
}



/********** カテゴリから探す **********/
#header-sp .h-menu .category .heading{
	padding: 2.5vw 2vw;
	border-radius: 1vw 1vw 0 0;
	color: #fff;
	background: #0b4a92;
}
#header-sp .h-menu .category{
	padding: 0 0 9vw;
}
#header-sp .h-menu .category .category-box:nth-of-type(1){
}
#header-sp .h-menu .category ul{
	display: flex;
	flex-wrap: wrap;
	
	width: 100%;
	border-right: solid 1px #bfcad8;
	border-bottom: solid 1px #bfcad8;
	border-left: solid 1px #bfcad8;
}
#header-sp .h-menu .category ul li{
	width: 50%;
	padding: 0 0 0;
	border-bottom: solid 1px #bfcad8;
}
#header-sp .h-menu .category ul li:nth-of-type(2n){
	border-left: solid 1px #ccc;
}
#header-sp .h-menu .category ul li:nth-last-child(1),
#header-sp .h-menu .category ul li:nth-last-child(2){
	border-bottom: none;
}
#header-sp .h-menu .category .category-box:last-child ul li:last-child{
	padding: 0 0 0;
	border-bottom: none;
}
#header-sp .h-menu .category ul li a{
	display: flex;
	align-items: center;
	
	width: 100%;
	padding: 2.5vw 7vw 2.5vw 2vw;
	min-height: 15vw;
	line-height: 1.3;
	font-size: 3.6vw;
	background: url("../images/common-device/h-icon-arr-menu.png") no-repeat calc(100% - 4vw) 50%;
	background-size: 2.2vw auto;
}


/********** h-menu-contents **********/
#header-sp .h-menu .h-menu-contents{
	padding: 9.8vw 2vw;
}


/* ロゴ */
#header-sp .h-menu .h-logo-menu{
	width: 40vw;
	margin: 0 auto 5vw;
}
#header-sp .h-menu .h-logo-menu img{
	display: block;
}


/* メール */
#header-sp .h-menu .h-btn-mail{
	padding: 0 0 5vw;
}
#header-sp .h-menu .h-btn-mail img{
	display: block;
}


/* TEL */
#header-sp .h-menu .h-btn-tel{
	padding: 0 0 11vw;
}
#header-sp .h-menu .h-btn-tel img{
	display: block;
}


/* 閉じる */
#header-sp .h-menu .h-btn-close{
	width: 51.5vw;
	margin: 0 auto;
	padding: 0 0 5vw;
}
#header-sp .h-btn-close img{
	display: block;
}


/* 閉じる */
#header-sp .h-menu .h-btn-close{
	width: 51.5vw;
	margin: 0 auto;
}
#header-sp .h-menu .h-btn-close img{
	display: block;
}




/* --------------------------------------------------------------------------------
	footer-sp
-------------------------------------------------------------------------------- */
#footer-sp{
	padding: 12vw 0 0;
}

/********** footer-sp-outer **********/
#footer-sp .footer-sp-outer{
	padding: 5vw 2vw 0;
	background: #eee;
}

/********** ロゴ **********/
#footer-sp .f-logo{
	display: flex;
	justify-content: center;
	
	padding: 0 0 7vw;
}
#footer-sp .f-logo img{
	display: block;
	width: 40vw;
}


/********** カレンダー・インフォ **********/
#footer-sp .calendar-info{
	display: flex;
	justify-content: space-between;
	
	width: 100%;
	padding: 0 0 5vw;
}


/********** カレンダーレイアウト **********/
#footer-sp .calendar{
	width: 47vw;
}
#footer-sp .calendar .calendar-wrapper{
}

/********** カレンダー外枠 **********/
#footer-sp .calendar .calendar-box{
}

/********** 営業日カレンダー **********/
#footer-sp .calendar table{
	width:100%;
	line-height:1.35;
	font-size:2.8vw;
	text-align:center;
	border-collapse:collapse;
	background:#fff;
}

/********** 月名 **********/
#footer-sp .calendar caption{
	padding:0.2vw;
	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:0.2vw 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{
	color: #c00;
	background: #c99;
}

/********** 日付の文字 **********/
#footer-sp .calendar td span{
}
#footer-sp .calendar td.close{
	color: #fff;
	background: #c99;
}



/********** インフォ **********/
#footer-sp .calendar-info .info{
	width: 46vw;
}
#footer-sp .calendar-info .address{
	padding: 0 0 6.5vw;
}

/********** TEL & FAX **********/
#footer-sp .tel-fax{
	padding: 0 0 7vw;
}
#footer-sp .tel-fax .txt-tel{
	margin: 0 0 2vw;
	padding: 0 0 0 6.5vw;
	background: url("../images/common-device/f-icon-tel.png") no-repeat 0.2vw 50%;
	background-size: 3.5vw auto;
}
#footer-sp .tel-fax .txt-fax{
	padding: 0 0 0 6.5vw;
	background: url("../images/common-device/f-icon-fax.png") no-repeat 0.2vw 50%;
	background-size: 3.5vw auto;
}

/********** 営業時間・定休日 **********/
#footer-sp .datetime{
}
#footer-sp .datetime table{
	line-height: 1.4;
	letter-spacing: -0.05em;
}
#footer-sp .datetime table th{
	padding: 0 3vw 0 0;
	text-align: left;
}

/**********  **********/
#footer-sp .f-btn-mail{
	padding: 0 0 9.5vw;
}
#footer-sp .f-btn-mail a{
	display: block;
}
#footer-sp .f-btn-mail img{
	display: block;
}


/********** メニューリスト **********/
#footer-sp .menu-list{
	padding: 0 0 5.5vw;
	text-align: center;
}
#footer-sp .menu-list .menu-list-box{
	margin: 0 0 3.5vw;
}
#footer-sp .menu-list a{
	display: inline-block;
	padding: 0 2vw;
	border-left: solid 1px #333;
	line-height: 1.2;
	letter-spacing: -0.05em;
}
#footer-sp .menu-list a:last-child{
	border-right: solid 1px #333;
}


/********** コピーライト **********/
#footer-sp .copyright{
	padding: 2vw 0;
	text-align: center;
}


/********** Instagram **********/
#footer-sp .f-btn-instagram{
	padding: 0 0 5vw;
}
#footer-sp .f-btn-instagram a{
	display: block;
	width: 30vw;
	margin: 0 auto;
}
#footer-sp .f-btn-instagram img{
	display: block;
}

/********** f-fix **********/
#f-fix{
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	
	z-index: 100;
}
#f-fix a{
	display: block;
}
#f-fix img{
	display: block;
}


