@charset "utf-8";

/* --------------------------------------------------------------------------------
	html & body
-------------------------------------------------------------------------------- */
html{
	
}
body {
	margin: 0 auto;
	padding: 0 0 4vw;
	line-height: 1.5;
	text-size-adjust: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

address{
	font-style: normal;
}


/* --------------------------------------------------------------------------------
	共通 リセット タグ等
-------------------------------------------------------------------------------- */
.common {
	font-size: 4vw;
}

.common * {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	
	font-weight: 400;
}

.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: #000;
	-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;
}

.font-noto-serif{
	font-family: 'Noto Serif JP', serif;
}


/* --------------------------------------------------------------------------------
	デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.device-sp{
	display:block;
}
.device-sp-inline{
	display:inline;
}
.device-pc{
	display:none;
}
.device-pc-inline{
	display:none;
}




/* --------------------------------------------------------------------------------
	container
-------------------------------------------------------------------------------- */
#container{
}




/* --------------------------------------------------------------------------------
	header-sp
-------------------------------------------------------------------------------- */
#header-sp{
}

/********** header-outer **********/
#header-sp .header-outer{
	display: flex;
	width: 100%;
	background: #b5002e;
}

/********** ロゴ **********/
#header-sp .h-logo{
	width: 73.2vw;
}
#header-sp .h-logo a{
	display: block;
	width: 41.8vw;
	margin: 1.8vw 0 1.3vw 2.7vw;
}
#header-sp .h-logo img{
	display: block;
}

/********** ボタン **********/
#header-sp .h-btns{
	display: flex;
	width: 26.8vw;
}
#header-sp .h-btns ul{
	display: flex;
	width: 100%;
}
#header-sp .h-btns a,
#header-sp .h-btns img{
	display: block;
}

/* カートボタン */
#header-sp .h-btns .h-btn-cart{
	display: flex;
	justify-content: center;
}
#header-sp .h-btns .h-btn-cart a{
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 12.8vw;
}
#header-sp .h-btns .h-btn-cart img{
	display: block;
	width: 5.9vw;
}

/* メニュー */
#header-sp .h-btns .h-btn-menu{
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 14vw;
}
#header-sp .h-btns .h-btn-menu img{
	display: block;
	width: 6vw;
}


/* ----------------------------------------
h-menu
---------------------------------------- */
#header-sp .h-menu{
	display: none;
}
#header-sp .h-menu .h-menu-wrapper{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 3;
	
	padding: 0 0 8vw;
	background: #b5002e;
}
#header-sp .h-menu .h-menu-box{
	padding: 0 4vw;
	color: #fff;
}

/********** heading **********/
#header-sp .h-menu .heading{
	font-weight: bold;
}

/********** リンク **********/
#header-sp .h-menu .h-menu-box a{
	color: #fff;
}

/********** btn-home **********/
#header-sp .btn-home{
	padding: 0 0 4vw;
	border-bottom: solid 0.2vw #fff;
}
#header-sp .btn-home a{
	display: block;
	padding: 2vw 4vw;
}

/********** menu-list-1 **********/
#header-sp .menu-list-1{
	display: flex;
	width: 100%;
}

/********** menu-list-box **********/
#header-sp .menu-list .menu-list-box{
	padding: 6vw 4.3vw 3vw;
	border-bottom: solid 0.2vw #fff;
}
#header-sp .menu-list .menu-list-box ul li{
}
#header-sp .menu-list .menu-list-box ul li a{
	display: block;
	padding: 2vw 0;
}

/********** menu-list-2 **********/
#header-sp .menu-list-2 .menu-list-box{
	padding-top: 3vw;
}

/********** menu-list-3 **********/
#header-sp .menu-list-3 .menu-list-box{
	padding-top: 3vw;
	border-bottom: none;
}


/********** 閉じるボタン **********/
#header-sp .h-menu .h-btn-close{
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 14vw;
	height: 16vw;
	margin: 0 0 0 auto;
}
#header-sp .h-menu .h-btn-close img{
	display: block;
	width: 4.8vw;
	height: 4.8vw;
}



/* ----------------------------------------
overlay
---------------------------------------- */
#overlay{
	position: fixed;
	z-index: 2;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.3);
}



/* --------------------------------------------------------------------------------
	footer-sp
-------------------------------------------------------------------------------- */
#footer-sp{
	padding: 13.5vw 0 0;
}

/********** 営業時間 **********/
#footer-sp .hours{
	padding: 0 0 4vw;
	font-size: 3.6vw;
}
#footer-sp .hours table{
	width: 80vw;
	margin: 0 auto;
}
#footer-sp .hours table.hour-tbl-2 th{
	width: 4em;
}

/********** お届けカレンダー **********/
#footer-sp .calendar-unit .heading{
	position: relative;
	margin: 0 0 5vw;
	padding: 0 0 2vw;
	text-align: center;
	font-weight: bold;
	font-size: 5.2vw;
}
#footer-sp .calendar-unit .heading::after{
	position: absolute;
	bottom: 0;
	left: calc(50% - 7vw);
	
	width: 14vw;
	height: 0.5vw;
	content: '';
	
	background: #b5002e;
}
#footer-sp .calendar-unit .heading .font-noto-serif{
	font-weight: bold;
}
#footer-sp .calendar-unit-txt{
	padding: 0 4.5vw 2vw;
}


/********** 電話 **********/
#footer-sp .f-btn-tel {
	padding: 0 10vw 2vw;
}
#footer-sp .f-btn-tel a{
	display: block;
	padding: 0.5vw 0 0.5vw 22.5vw;
	border-radius: 1vw;
	border: solid 0.3vw #b5002e;
	font-size: 6.4vw;
	color: #b5002e;
	background: url("../images/common/icon-tel.svg") no-repeat 16.5vw 50%;
	background-size: 4.6vw auto;
}


/********** カレンダー **********/
#footer-sp .calendar-unit{
	padding: 0 0 14vw;
}
#footer-sp .calendar-unit .calendar-unit-box > table{
	display: block;
}
#footer-sp .calendar-unit .calendar-unit-box > table > tbody{
	display: block;
}
#footer-sp .calendar-unit .calendar-unit-box > table > tbody > tr{
	display: block;
}
#footer-sp .calendar-unit .calendar-unit-box > table > tbody > tr > td{
	display: block;
}
#footer-sp .calendar-unit .calendar-unit-box font[color="#B97510"]{
	color: #b5002e;
}
#footer-sp .calendar-td{
	padding: 0 !important;
}
#footer-sp .calendar-td .cal-item{
	margin: 0 10vw 4vw;
	border: solid 0.2vw #ccc;
}
#footer-sp .calendar-td table.calendar{
	width: 100%;
	line-height: 2.6;
}
#footer-sp .calendar-td table th[colspan="7"]{
	padding: 0.2vw 0;
	text-align: center;
	color: #fff;
	background: #666;
}
#footer-sp .calendar-td table td{
	padding: 0;
	border: solid 1px #fff;
	background: #f2f2f2;
	text-align: center;
	font-size: 4vw;
}
#footer-sp .calendar-td table tr td:first-child{
	border-left: none;
}
#footer-sp .calendar-td table tr td:last-child{
	border-right: none;
}
#footer-sp .calendar-td table tr:last-child td{
	border-bottom: none;
}
#footer-sp .calendar-td table tr td.noSend{
	color: #fff;
	background: #b5002e;
}


/********** ロゴ **********/
#footer-sp .f-logo{
	margin: 0 0 3vw;
	padding: 7vw 0;
	background: #b5002e;
}
#footer-sp .f-logo img{
	display: block;
	width: 30vw;
	margin: 0 auto;
}

/********** f-help **********/
#footer-sp .f-help{
	padding: 0 0 4vw;
	text-align: center;
	font-size: 3.4vw;
}

/********** コピーライト **********/
#footer-sp .copyright{
	text-align: center;
	font-size: 3vw;
}

/********** fix **********/
#footer-sp #fix{
	position: fixed;
	right: 1vw;
	bottom: 6vw;
	z-index: 5;
}
#footer-sp #fix a{
	display: block;
}
#footer-sp #fix img{
	height: auto;
	width: 12vw;
}




















