@charset "utf-8";



/* --------------------------------------------------------------------------------
	html & body
-------------------------------------------------------------------------------- */
html {
	
}
body {
	margin: 0 auto;
	padding: 0;
	max-width: 800px;
	line-height: 1.5;
	text-size-adjust: 100%;
	font-family:"Noto Sans JP", 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
	font-weight: 400;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

address {
	font-style: normal;
}


/* --------------------------------------------------------------------------------
	共通 リセット タグ等
-------------------------------------------------------------------------------- */
.common {
	text-align: left;
	font-size: 4vw;
}

.common * {
	margin: 0;
	padding: 0;
	font-family:"Noto Sans JP", 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
}

.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;
}

/********** プレースホルダー **********/
::-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;
}



/* --------------------------------------------------------------------------------
スマートフォン向け
カートボタン
-------------------------------------------------------------------------------- */
/* カート数量 */
#header-sp .h-btn ul li a .fs-client-cart-count{
	position: absolute;
	top: 0;
	right: 0;
	
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 3vw;
	height: 3vw;
	padding: 0;
	border: none;
	
	border-radius: 3vw;
	font-size: 2vw;
	color: #fff;
	background: #b32a28;
	
	line-height: 1;
	z-index: 1;
}


/* --------------------------------------------------------------------------------
	ヘッダー固定
-------------------------------------------------------------------------------- */
#header-sp .h-fix {
	width: 100%;
	box-sizing: border-box;
}

/* jQueryで付与されるfixedの固定配置するためのスタイル */
#header-sp .h-fix.fixed {
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.8);
}


/* ----------------------------------------
h-contents
---------------------------------------- */
#header-sp .h-contents {
	display: flex;
	
	width: 100%;
	padding: 1.8vw 1.5vw 2.3vw 2vw;
}


/* ----------------------------------------
ロゴ
---------------------------------------- */
#header-sp .h-logo {
	width: 18vw;
	margin: 0 41vw 0 0;
	padding: 0.4vw 0 0;
}
#header-sp .h-logo a {
	display: block;
}
#header-sp .h-logo img {
	display: block;
	width: 100%;
	height: auto;
}


/* ----------------------------------------
ボタン
---------------------------------------- */
#header-sp .h-contents > .h-btns {
	width: 32.2vw;
	margin: 0 2vw 0 0;
	padding: 0 0 0;
}
#header-sp .h-contents > .h-btns > ul {
	display: flex;
}
#header-sp .h-contents > .h-btns > ul > li {
	width: 6vw;
	margin: 0 4vw 0 0;
}
#header-sp .h-contents > .h-btns > ul > li.h-btn-search {
	padding-top: 0.5vw;
}
#header-sp .h-contents > .h-btns > ul > li.h-btn-my {
	padding-top: 0;
}
#header-sp .h-contents > .h-btns > ul > li.h-btn-cart {
	padding-top: 0.5vw;
}
#header-sp .h-contents > .h-btns > ul > li:last-child {
	margin: 0;
}
#header-sp .h-contents > .h-btns > ul > li > a {
	width: 6vw;
	height: 6vw;
	
	display: flex;
	justify-content: center;
	align-items: center;
}
#header-sp .h-contents > .h-btns > ul > li img {
	display: block;
	width: 5vw;
}

/* 検索 */
#header-sp .h-contents > .h-btns > ul > li img {
	
}



/* カート数量 */
#header-sp .h-btns ul li.h-btn-cart a {
	position: relative;
	display: block;
}
#header-sp .h-btns ul li.h-btn-cart a .fs-client-cart-count{
	position: absolute;
	top: -1vw;
	right: -1vw;
	
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 3vw;
	height: 3vw;
	padding: 0;
	border: none;
	
	border-radius: 3vw;
	font-size: 2.2vw;
	color: #000;
	background: #ff7575;
	
	line-height: 1;
	z-index: 1;
}
#header-sp .h-btns ul li.h-btn-cart a .label{
	border-right: none;
	padding-right: 0;
}




/* ----------------------------------------
オープン・クローズボタン
---------------------------------------- */
#header-sp .h-contents .h-btn-open-close {
	width: 6vw;
	padding: 0 0 0 0;
}

/* 通常時：閉じているとき */
#header-sp .h-btn-open-close img.h-btn-open {
	display: block;
}
#header-sp .h-btn-open-close img.h-btn-close {
	display: none;
}


/* アクティブ時：開いているとき */
#header-sp.h-ham-active .h-btn-open-close img.h-btn-open {
	display: none;
}
#header-sp.h-ham-active .h-btn-open-close img.h-btn-close {
	display: block;
}




/* ----------------------------------------
検索
---------------------------------------- */
#header-sp .h-search {
	position: absolute;
	width: 100%;
	
	padding: 5vw 2vw;
	background: #fff;
}

/* 検索は隠しておく */
#header-sp .h-search {
	display: none;
}
/* 表示する */
#header-sp.h-search-active .h-search {
	display: block;
}


/********** 検索窓 **********/
#header-sp .h-search .h-search-box {
	position: relative;
	border: solid 0.2vw #ccc;
}
#header-sp .h-search .h-search-box input[type="text"] {
	display: block;
	width: 100%;
	padding: 2vw;
	border-radius: 0;
	border: none;
	font-size: 3.6vw;
}
#header-sp .h-search .h-search-box input[type="text"]::placeholder {
	color: #999;
}
#header-sp .h-search .h-search-box input[type="image"] {
	position: absolute;
	right: 2.5vw;
	top: 2vw;
	
	display: block;
	width: 5vw;
	height: 5vw;
}




/* ----------------------------------------
h-menu
---------------------------------------- */
#header-sp .h-menu {
	position: fixed;
	top: 10.2vw;
	right: 0;
	bottom: 0;
	left: 0;
	
	width: 100%;
	height: calc(100% - 10.2vw);
	font-size: 3.6vw;
	background: #fff;
	
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}


#header-sp .h-menu .h-menu-wrapper {
	padding: 9vw 0 5vw;
}

/********** 最初は隠しておく **********/
#header-sp .h-menu {
	display: none;
}


/********** h-menu-btns-member **********/
#header-sp .h-menu .h-menu-btns-member {
	padding: 0 0 9.5vw;
}
#header-sp .h-menu .h-menu-btns-member .heading {
	text-align: center;
	font-weight: bold;
}
#header-sp .h-menu .h-menu-btns-member .h-menu-btns-member-box {
	padding: 0 2vw;
}
#header-sp .h-menu .h-menu-btns-member .h-menu-btns-member-box ul {
	display: flex;
	justify-content: space-between;
	
	width: 100%;
}
#header-sp .h-menu .h-menu-btns-member .h-menu-btns-member-box ul li {
	width: 45vw;
}
#header-sp .h-menu .h-menu-btns-member .h-menu-btns-member-box ul li a {
	display: block;
	padding: 4.5vw 0;
	border: solid 0.2vw #000;
	text-align: center;
}
#header-sp .h-menu .h-menu-btns-member .h-menu-btns-member-box ul li.h-menu-btns-member-login a {
	color: #fff;
	background: #000;
}
#header-sp .h-menu .h-menu-btns-member .h-menu-btns-member-box ul li.h-menu-btns-member-add a {
}


/********** h-menu-help **********/
#header-sp .h-menu .h-menu-help {
	padding: 0 0 9.5vw;
}
#header-sp .h-menu .h-menu-help .heading {
	text-align: center;
	font-weight: bold;
}
#header-sp .h-menu .h-menu-help .h-menu-help-box {
}
#header-sp .h-menu .h-menu-help .h-menu-help-box ul {
	display: flex;
	justify-content: space-between;
	
	width: 100%;
	background: #eee;
}
#header-sp .h-menu .h-menu-help .h-menu-help-box ul li {
	width: 45vw;
	border-right: solid 0.4vw #fff;
}
#header-sp .h-menu .h-menu-help .h-menu-help-box ul li:last-child {
	border-right: none;
}
#header-sp .h-menu .h-menu-help .h-menu-help-box ul li a {
	display: block;
	height: 20vw;
	padding: 13vw 0 0;
	border-right: solid 0.4vw #ccc;
	text-align: center;
}

/* 購入履歴 */
#header-sp .h-menu .h-menu-help .h-menu-help-box ul li.h-menu-help-history a {
	background: url("../images/common-device/h-help-icon-history.png") no-repeat 50% 5vw;
	background-size: 6vw auto;
}

/* お気に入り */
#header-sp .h-menu .h-menu-help .h-menu-help-box ul li.h-menu-help-favorite a {
	background: url("../images/common-device/h-help-icon-favorite.png") no-repeat 50% 5.5vw;
	background-size: 6vw auto;
}

/* ご利用ガイド */
#header-sp .h-menu .h-menu-help .h-menu-help-box ul li.h-menu-help-guide a {
	background: url("../images/common-device/h-help-icon-guide.png") no-repeat 50% 5vw;
	background-size: 4.6vw auto;
}

/* よくある質問 */
#header-sp .h-menu .h-menu-help .h-menu-help-box ul li.h-menu-help-faq a {
	border-right: none;
	background: url("../images/common-device/h-help-icon-faq.png") no-repeat 50% 5vw;
	background-size: 6vw auto;
}


/********** h-contact **********/
#header-sp .h-menu .h-menu-contact {
	padding: 0 0 9vw;
}
#header-sp .h-menu .h-menu-contact .heading {
	padding: 0 0 4vw;
	text-align: center;
	font-size: 4.8vw;
}

#header-sp .h-menu .h-menu-contact .h-menu-contact-box ul {
	display: flex;
	justify-content: space-between;
	
	width: 100%;
	padding: 0 2vw;
}
#header-sp .h-menu .h-menu-contact .h-menu-contact-box ul li {
	width: 46vw;
}
#header-sp .h-menu .h-menu-contact .h-menu-contact-box ul li a {
	display: block;
}

/* 電話 */
#header-sp .h-menu .h-menu-contact .h-menu-contact-box ul li.h-menu-contact-tel a {
	height: 11vw;
	padding: 3vw 0 0 14.3vw;
	text-decoration: none;
	letter-spacing: 0.04em;
	font-weight: bold;
	font-size: 3.6vw;
	background: #eee url("../images/common-device/h-btn-icon-tel.png") no-repeat 6.6vw 50%;
	background-size: 4.8vw auto;
}



/* お問い合わせフォーム */
#header-sp .h-menu .h-menu-contact .h-menu-contact-box ul li.h-menu-contact-mail a {
	height: 11vw;
	padding: 3vw 0 0 9.5vw;
	letter-spacing: -0.07em;
	border: solid 1px #ccc;
	text-decoration: none;
	font-weight: bold;
	font-size: 3.6vw;
	background: #fff url("../images/common-device/h-btn-icon-contact.png") no-repeat 2.6vw 50%;
	background-size: 4.8vw auto;
}



/* ----------------------------------------
h-nav
PRODUCTS & OUTLET
---------------------------------------- */
#header-sp .h-nav {
	padding: 0 2vw 3vw;
}

#header-sp .h-nav-products {
	
}

#header-sp .h-nav > nav > ul {
	display: flex;
	width: 100%;
}
#header-sp .h-nav > nav > ul > li {
}
#header-sp .h-nav > nav > ul > li.h-nav-products {
	width: 51vw;
}

/* sheading */
#header-sp .h-nav-products .sheading {
	padding: 0 0 2vw;
}

/* ----------------------------------------
PRODUCTS
---------------------------------------- */
#header-sp .h-nav-products .h-subnav {
}
#header-sp .h-nav-products .h-subnav ul li {
	padding: 0 0 3vw;
}
#header-sp .h-nav-products .h-subnav ul li a {
	display: block;
	padding: 1vw 0 1vw 7vw;
	letter-spacing: -0.1em;
	background-repeat: no-repeat;
	background-size: 4vw auto;
}

/* TOKYO麺好 */
#header-sp .h-nav-products .h-subnav ul li.subnav-tokyo-menhao a {
	background-image: url("../images/common-device/h-nav-i-tokyo-menhao.png");
	background-position: 0 50%;
}

/* ヴィーガンスープ */
#header-sp .h-nav-products .h-subnav ul li.subnav-vegan-soup a {
	background-image: url("../images/common-device/h-nav-i-vegan-soup.png");
	background-position: 0 50%;
}

/* お米の麺 */
#header-sp .h-nav-products .h-subnav ul li.subnav-okome-men a {
	background-image: url("../images/common-device/h-nav-i-okome-men.png");
	background-position: 1vw 50%;
	background-size: 2vw auto;
}




/* ----------------------------------------
メニューを閉じるボタン
---------------------------------------- */
#header-sp .h-menu-btn-close {
	padding: 0 25vw;
}
#header-sp .h-menu-btn-close .h-menu-btn-close-box {
	padding: 2.5vw 0;
	border: solid 0.2vw #ccc;
	text-align: center;
}






/* --------------------------------------------------------------------------------
	footer
-------------------------------------------------------------------------------- */
#footer-sp {
	padding: 0 0 50px;
}

/********** footer-outer **********/
#footer-sp .footer-outer {
}

/********** f-contact **********/
#footer-sp .f-contact {
	padding: 0 2vw 9vw;
}
#footer-sp .f-contact .heading {
	padding: 0 0 3vw;
	text-align: center;
	font-weight: bold;
	font-size: 4.8vw;
}
#footer-sp .f-contact .f-contact-box {
}
#footer-sp .f-contact .f-contact-box ul {
	display: flex;
	justify-content: space-between;
	
	width: 100%;
}
#footer-sp .f-contact .f-contact-box ul li {
	width: 46vw;
}
#footer-sp .f-contact .f-contact-box ul li a {
	display: block;
}

/* 電話 */
#footer-sp .f-contact .f-contact-box ul li.f-contact-tel a {
	display: block;
	height: 11vw;
	padding: 2.6vw 0 0 14vw;
	text-decoration: none;
	letter-spacing: 0.04em;
	border: solid 0.2vw #eee;
	font-weight: bold;
	font-size: 3.6vw;
	background: #eee url("../images/common/f-btn-icon-tel.png") no-repeat 6.3vw 2.7vw;
	background-size: 4.8vw auto;
}




/* お問い合わせフォーム */
#footer-sp .f-contact .f-contact-box ul li.f-contact-mail a {
	display: block;
	height: 11vw;
	padding: 2.6vw 0 0 9.4vw;
	letter-spacing: -0.07em;
	border: solid 0.2vw #ccc;
	text-decoration: none;
	font-weight: bold;
	font-size: 3.6vw;
	background: #fff url("../images/common/f-btn-icon-contact.png") no-repeat 2.4vw 3.7vw;
	background-size: 4.8vw auto;
}



/********** footer-inner **********/
#footer-sp .footer-inner {
	margin: 0 0 2vw;
	padding: 4vw 2vw 5vw;
	color: #fff;
	background: #000;
}

#footer-sp .footer-inner .heading {
	text-align: center;
	font-weight: bold;
	font-size: 4.8vw;
	color: #fff;
}


/********** f-cols **********/
#footer-sp .f-cols {
	margin: 0 0 12vw;
	font-size: 3.6vw;
}
#footer-sp .f-cols a {
	display: block;
	color: #fff;
}

/* sheading */
#footer-sp .f-cols .col .sheading {
	padding: 4vw 0 4vw;
	font-weight: bold;
	background: url("../images/common-device/f-icon-plus.png") no-repeat calc(100% - 1.5vw) 4.5vw;
	background-size: 4vw auto;
}
#footer-sp .f-cols .col.f-col-active .sheading {
	background-image: url("../images/common-device/f-icon-minus.png");
	background-position: calc(100% - 1.5vw) 6vw;
}

/* col */
#footer-sp .f-cols .col {
	border-bottom: solid 0.3vw #fff;
}

/* col : f-sitemap */
#footer-sp .f-cols .col .f-sitemap {
	display: none;
}


/* サイトマップ */
#footer-sp .f-sitemap {
	padding: 0 0 3vw;
}

/* リスト */
#footer-sp .f-cols ul li {
	padding: 0 0 0.9vw;
}

/* 住所 */
#footer-sp .f-cols .address {
	padding: 0 0 0;
	letter-spacing: -0.05em;
}

/* TEL */
#footer-sp .tel-mail .f-btn-tel a {
	display: block;
	padding: 0 0 0 7.5vw;
	color: #fff;
	background: url("../images/common-device/f-icon-tel.png") no-repeat 0 1vw;
	background-size: 4vw auto;
}

/* メール */
#footer-sp .tel-mail .f-btn-mail a {
	display: block;
	padding: 0 0 0 7.5vw;
	color: #fff;
	background: url("../images/common-device/f-icon-mail.png") no-repeat 0 1.8vw;
	background-size: 4vw auto;
}



/* ロゴ */
#footer-sp .f-logo {
	width: 35vw;
	margin: 0 auto;
	padding: 0 0 5vw;
}
#footer-sp .f-logo a {
	display: block;
}
#footer-sp .f-logo img {
	display: block;
}



/********** コピーライト **********/
#footer-sp .copyright {
	text-align: center;
}
#footer-sp .copyright small {
	font-size: 3.6vw;
}





