@charset "utf-8";



/* --------------------------------------------------------------------------------
	body
-------------------------------------------------------------------------------- */
body {
	margin: 0 auto;
	padding: 0;
	max-width: 800px;
	line-height: 1.5;
	font-size: 3.4vw;
	text-size-adjust: 100%;
	color: #333;
}


/* --------------------------------------------------------------------------------
	タグ
-------------------------------------------------------------------------------- */
.common {
	font-size: 3.4vw;
}
.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;
}

/* glyphicon */
.common .glyphicon:before{
	font-family: 'Glyphicons Halflings';
}

.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;
	tont-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);
	text-decoration-color: #333;
}
.common a:hover,
.common a:active {
	color: #333;
	text-decoration: none;
}

img{
	max-width: 100%;
	height: auto;
}


/* --------------------------------------------------------------------------------
	共通クラス
-------------------------------------------------------------------------------- */
.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;
	/**/
}

ul.ul{
	list-style:disc;
	padding:0 0 0 1.5em;
}
ol.ol{
	list-style:decimal;
	padding:0 0 0 1.75em;
}

/********** プレースホルダー **********/
::-webkit-input-placeholder{
	color:#999;
}

/* --------------------------------------------------------------------------------
	デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.device-sp{
	display:block;
}
.device-sp-inline{
	display:inline;
}
.device-pc{
	display:none;
}
.device-pc-inline{
	display:none;
}

/* --------------------------------------------------------------------------------
	container
-------------------------------------------------------------------------------- */
#container{
}


/* --------------------------------------------------------------------------------
	header-sp
-------------------------------------------------------------------------------- */
#header-sp{
	background:#fff;
	
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	right: 0;
	
}

.fs-l-header__contents{
	display: block;
	grid-template-columns: none;
}
.fs-l-header__contents > *{
	padding: 0;
}

/********** 内側 **********/
#header-sp .h-inner {
	display: flex;
	justify-content: space-between;
	width: 100%;
	border-bottom: solid 1px #dcdcdc;
}

/********** ロゴ **********/
#header-sp .h-logo {
	width: 44vw;
}
#header-sp .h-logo h1 a {
	display: block;
}
#header-sp .h-logo h1 img {
	display: block;
}

/********** ボタン **********/
#header-sp .h-btns {
	display: flex;
	
	width: 42vw;
}
#header-sp .h-btns ul{
	display: flex;
	
	width: 100%;
}
#header-sp .h-btns ul li{
	width: calc(100% / 3);
}
#header-sp .h-btns ul li a {
	display: block;
}

/********** マイページ **********/
#header-sp .h-btns ul li.h-btn-mypage a {
	position: relative;
	
	display: flex;
	justify-content: center;

	width: 100%;
	padding: 9.5vw 0 0;
	text-align: center;
	font-size: 2.2vw;
}
#header-sp .h-btns ul li.h-btn-mypage a{
	background: url("../images/common-device/h-btn-mypage.png") no-repeat 50% 3.7vw;
	background-size: 3.8vw auto;
}

/********** カート **********/
#header-sp .h-btns ul li.h-btn-cart a {
	position: relative;
	
	display: flex;
	justify-content: center;

	width: 100%;
	padding: 9.5vw 0 0;
	text-align: center;
	font-size: 2.2vw;
}
#header-sp .h-btns ul li.h-btn-cart a{
	background: url("../images/common-device/h-btn-cart.png") no-repeat 40% 3.7vw;
	background-size: 5.5vw auto;
}

/* 数量 */
#header-sp .h-btns ul li.h-btn-cart a .fs-client-cart-count {
	position: absolute;
	top: 2vw;
	right: 2.4vw;
	align-items: center;
	bottom: 3em;
	justify-content: center;
	display: flex;
	width: 4.4vw;
	height: 4.4vw;
	margin-left: 0;
	padding: 0;
	text-align: center;
	background-color: #de5d50;
	border-radius: 100%;
	
	font-size: 2.4vw;
	color: #FFF;
}

/********** メニュー **********/
#header-sp .h-btns ul li.h-btn-menu {
	border-left: solid 1px #dcdcdc;
}
#header-sp .h-btns ul li.h-btn-menu img {
	display: block;
}

/********** メニュー **********/
#header-sp .menu {
	display: none; 
	
	
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	
	
	width: 100%;
	background: #fff;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#header-sp .menu .h-btn-close {
	display: flex;
	
	width: 100%;
	padding: 0 0 4.7vw;
}
#header-sp .menu .h-btn-close img {
	display: block;
	width: 13vw;
	height:13vw;
	margin: 0 0 0 auto;
}

/********** メニューエリア **********/
#header-sp .menu-area {
	padding: 0 3vw;
}

/********** メニュー **********/
#header-sp .menu .menu-wrapper {
	padding: 0 0 10vw;
}
#header-sp .menu .menu-wrapper .heading {
	margin: 0 0 2vw;
	padding: 2.2vw 2.7vw;
	color: #fff;
	background: #565656;
}

/********** 検索 **********/
#header-sp .menu .h-search{
	padding: 0 0 6vw;
}
#header-sp .menu .search-box {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
#header-sp .menu .h-search .search-box input[type="text"] {
	display: block;
	width: 78vw;
	padding: 2.2vw 3.5vw;
	border-radius: 1vw !important;
	font-size: 3vw;
	border: solid 0.3vw #999;
}
#header-sp .menu .h-search .search-box span {
	display: flex;
	align-items: center;
	padding: 0 0 0 0;
}
#header-sp .menu .h-search .search-box span input {
	display: block;
	width: 14vw;
}

/********** 新規会員登録・ログイン **********/
#header-sp .menu .menu-btns {
	padding: 0 0 8vw;
}
#header-sp .menu .menu-btns ul {
	display: flex;
	justify-content: space-between;
	
	width: 100%;
}
#header-sp .menu .menu-btns ul li.menu-btn-add-member a{
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 45.6vw;
	padding: 2.2vw 0;
	border-radius: 0.5vw;
	text-decoration: none;
	font-size: 3.8vw;
	background: #53bf1d;
}
#header-sp .menu .menu-btns ul li.menu-btn-add-member a div{
	display: block;
	padding: 0 0 0 7.5vw;
	font-size: 3.8vw;
	color: #fff;
	background: url("../images/common-device/h-btn-add-member.png") no-repeat 0 50%;
	background-size: 4.6vw auto;
}
#header-sp .menu .menu-btns ul li.menu-btn-login a{
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 45.6vw;
	padding: 2.2vw 0;
	border-radius: 0.5vw;
	text-decoration: none;
	font-size: 3.8vw;
	background: #666;
}
#header-sp .menu .menu-btns ul li.menu-btn-login a div{
	display: block;
	padding: 0 0 0 7.5vw;
	font-size: 3.8vw;
	color: #fff;
	background: url("../images/common-device/h-btn-login.png") no-repeat 0 50%;
	background-size: 4.6vw auto;
}

/********** メニューリスト **********/
#header-sp .menu .menu-list {
	padding: 0 0 8vw;
	border-top: solid 1px #dcdcdc;
}
#header-sp .menu .menu-list .menu-list-box > ul > li {
	border-bottom: solid 1px #dcdcdc;
	font-size: 3.8vw;
}
#header-sp .menu .menu-list .menu-list-box > ul > li.menu-list-main {
	background: #f0f0f0;
}
#header-sp .menu .menu-list .menu-list-box > ul > li > a {
	display: block;
	padding: 2.6vw 10vw 2.6vw 4vw;
	font-size: 3.8vw;
	color: #333;
	background: url("../images/common-device/h-menu-arr.png") no-repeat calc(100% - 4vw) 50%;
	background-size: 1.5vw auto;
}
#header-sp .menu .menu-list ul li .open-close-btn {
	display: block;
	padding: 2.6vw 10vw 2.6vw 4vw;
	color: #333;
	background: url("../images/common-device/h-menu-arr-plus.png") no-repeat calc(100% - 3.5vw) 50%;
	background-size: 3vw auto;
}
#header-sp .menu .menu-list ul li .open-close-contents {
	display: none;
}

/* 開いているとき */
#header-sp .menu .menu-list ul li.active .open-close-btn {
	background-image: url("../images/common-device/h-menu-arr-minus.png");
}
#header-sp .menu .menu-list ul li.active .open-close-contents {
	display: block;
}

/********** 展開リスト **********/
#header-sp .menu .menu-list ul li .open-close-contents{
	background: #fff;
}
#header-sp .menu .menu-list ul li .open-close-contents ul li a {
	display: block;
	padding: 2.6vw 10vw 2.6vw 8vw;
	color: #333;
	background: url("../images/common-device/h-menu-arr.png") no-repeat calc(100% - 4vw) 50%;
	background-size: 1.5vw auto;
}

/********** コーポレートサイト **********/
#header-sp .menu .menu-list .menu-list-box > ul > li.menu-corporate{
	background: #666;
}
#header-sp .menu .menu-list .menu-list-box > ul > li.menu-corporate > a {
	display: block;
	padding: 2.6vw 10vw 2.6vw 4vw;
	color: #fff;
	background: url("../images/common-device/h-menu-arr-corporate.png") no-repeat calc(100% - 4vw) 50%;
	background-size: 1.5vw auto;
}

/********** コーポレートサイト **********/
#header-sp .h-bnr-gyomu{
	width: 52vw;
	margin: 0 auto;
}
#header-sp .h-bnr-gyomu a{
	display: block;
}
#header-sp .h-bnr-gyomu a img{
	display: block;
}



/* --------------------------------------------------------------------------------
	ヘッダー固定分
-------------------------------------------------------------------------------- */
.fs-l-page {
	padding-top:19vmin!important;
	}



/* --------------------------------------------------------------------------------
	footer-sp
-------------------------------------------------------------------------------- */
#footer-sp{
}

/********** footer-inner **********/
#footer-sp .footer-inner{
	background: #223a70;
}

/********** お問い合わせ **********/
#footer-sp .f-tel a{
	display: block;
	
	padding: 2.5vw 0;
	text-decoration: none;
	text-align: center;
	line-height: 1.4;
	color: #fff;
	font-size: 3.4vw;
}
#footer-sp .f-tel a .f-tel-heading{
}
#footer-sp .f-tel a .f-tel-num{
	font-size: 6vw;
	font-weight: bold;
}
#footer-sp .f-tel a .f-tel-hours{
	font-size: 3vw;
}

/********** ロゴ **********/
#footer-sp .f-logo img{
	display: block;
}

/********** コピーライト **********/
#footer-sp .copyright{
	padding: 2.5vw 0;
	text-align: center;
	font-size: 2.6vw;
}

/********** fix **********/
#footer-sp .fix{
	position: fixed;
	
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10;
	
	width: 100%;
}
#footer-sp .fix .fix-box{
	display: flex;
	
	position: relative;
	
	width: 100%;
}

/* フローティングバナー　会員登録 */
#footer-sp .fix .fix-btn-add-member{
	position: relative;
	
	width: 48%;
	padding: 3.2vw 0 0;
}
#footer-sp .fix .fix-btn-add-member .fix-btn-add-member-img{
	position: relative;
	
	width: 100%;
}
#footer-sp .fix .fix-box .fix-btn-add-member-close{
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
	
	width: 6.4vw;
}

#footer-sp .fix .fix-btn-pagetop{
	position: absolute;
	
	right: 1vw;
	bottom: 5vw;
}
#footer-sp .fix .fix-btn-pagetop a{
	display: block;
	width: 12vw;
}
#footer-sp .fix .fix-btn-pagetop img{
	display: block;
	width: 12vw;
}
