@charset "utf-8";



/* --------------------------------------------------------------------------------
html & body
-------------------------------------------------------------------------------- */
html {
	
}
body {
	margin: 0 auto;
	padding: 0;
	max-width: 800px;
	line-height: 1.5;
	text-size-adjust: 100%;
	
	font-feature-settings: "palt";
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-family: noto;
	font-weight: 400;

	background: url("../images/common-2025/bg.jpg") repeat 0 0;
	background-size: 15vw 15vw;
}

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: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "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: #ccc;
}




/* --------------------------------------------------------------------------------
デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.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 {
	position: relative;
	margin: 0 0 2vw;
	max-height: 100vh;
	background: #e5e3d9;
}


/* --------------------------------------------------------------------------------
	スマートフォン：ヘッダー固定
-------------------------------------------------------------------------------- */
#header-sp .h-fix {
	width: 100%;
	box-sizing: border-box;
	
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
}

/* ----------------------------------------
スマートフォンヘッダー全体
---------------------------------------- */
#header-sp {
}

/* ヘッダー固定コンテナ */
#header-sp .h-fix {
	background-color: #fff;
}

/* ヘッダー内部 (ロゴとボタンエリア) */
#header-sp .header-inner {
	position: relative;
	z-index: 2;
	
	display: flex;
	align-items: flex-start;
	width: 100%;
	height: 20vw;
	
	box-shadow: 0 1.5vw 1.5vw rgba(0, 0, 0, 0.5);
}

/* ----------------------------------------
ロゴエリア (.h-logo)
---------------------------------------- */
#header-sp .header-inner .h-logo {
	width: 38vw;
	padding: 2.4vw 0 0 2vw;
}

#header-sp .header-inner .h-logo a {
	display: block;
	width: 36vw; /* ロゴ画像全体の領域幅 */
}

#header-sp .header-inner .h-logo img {
	display: block; /* 画像自体をブロック要素にする */
	width: 100%;
	height: auto;
}

/* ----------------------------------------
ボタンエリア (.h-nav をボタンエリアとして扱う)
---------------------------------------- */
#header-sp .header-inner .h-nav {
	/* ロゴの右側の全余白を h-nav に持たせる（100vw - 38vw = 62vw） */
	width: 62vw;
}

/* h-nav 内の ul (ボタンのコンテナ) */
#header-sp .header-inner .h-nav ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	
	/* ボタン全体を右端に寄せるための調整 */
	justify-content: flex-end;
	align-items: center; /* li要素を縦に中央揃えにする */
}

/* ----------------------------------------
各ボタンの設定
---------------------------------------- */
/* 共通のボタン li */
#header-sp .header-inner .h-nav ul > li {
}

/* ログイン・ログアウトボタン */
#header-sp .header-inner .h-nav ul li.h-nav-login-logout {
	width: 19.6vw;
	height: 19.6vw;
	margin-left: 6.1vw;
}

/* カートボタン */
#header-sp .header-inner .h-nav ul li.h-nav-cart {
	width: 19.6vw;
	height: 19.6vw;
}

/* メニューボタン */
#header-sp .header-inner .h-nav ul li.h-nav-menu {
	width: 14.5vw;
	height: 19.6vw;
	margin-left: 2.2vw;
}

/* ----------------------------------------
aタグとアイコン
---------------------------------------- */

/* すべてのボタンの a タグ (カートとログアウト) */
#header-sp .header-inner .h-nav ul li a {
	display: block;
	width: 100%;
	height: 100%;
	
	/* テキストを中央寄せ */
	text-align: center;
	color: #000;
	text-decoration: none;
	
	position: relative; /* アイコン配置の基準 */
}

/* MENUボタン (div要素) */
#header-sp .header-inner .h-nav ul li.h-nav-menu div.btn-label {
	display: block;
	width: 100%;
	height: 100%;
	
	/* テキストを中央寄せ */
	text-align: center;
	color: #000;
	
	position: relative; /* アイコン配置の基準 */
}


/* ----------------------------------------
背景アイコン画像
---------------------------------------- */

/* ログイン/ログアウト */
#header-sp .h-nav-login-logout a {
	padding-top: 13vw;
	background-image: url("../images/common-device-2025/h-btn-login.png");
	background-size: 6.3vw 8vw;
	background-repeat: no-repeat;
	background-position: center 3.5vw;
}

/* カート */
#header-sp .h-nav-cart a {
	position: relative;
	
	padding-top: 12.8vw;
	background-image: url("../images/common-device-2025/h-btn-cart.png");
	background-size: 8vw 8vw;
	background-repeat: no-repeat;
	background-position: center 3.5vw;
}

/* カート数量 */
#header-sp .h-nav-cart a .fs-client-cart-count {
	position: absolute;
	top: 2.5vw;
	right: 4vw;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4vw;
	height: 4vw;
	padding: 0;
	border: none;
	border-radius: 10vw;
	font-size: 3vw;
	color: #fff;
	background: #db4c1e;
	line-height: 1;
	z-index: 1;
}

/* メニュー */
#header-sp .h-nav-menu div.btn-label {
	padding-top: 13vw;
	background-image: url("../images/common-device-2025/h-btn-menu.png");
	background-size: 8vw 5vw;
	background-repeat: no-repeat;
	background-position: center 5.5vw;
}

/* テキストのスタイル調整（必要に応じて） */
#header-sp .header-inner .h-nav ul li a,
#header-sp .header-inner .h-nav ul li div.btn-label {
	font-size: 3vw;
	line-height: 1.2;
}

/* ----------------------------------------
h-menu（ハンバーガーメニュー本体）
---------------------------------------- */
#header-sp .h-menu {
	display: none;
	
	position: fixed;
	width: 100%;
	height: calc(100% - 20vw);
	right: 0;
	bottom: 0;
	left: 0;
	background: #e5e3d9;
	z-index: 1;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

/* ----------------------------------------
メニューコンテンツ全体（h-menu-wrapper）
---------------------------------------- */
#header-sp .h-menu .h-menu-wrapper {
	padding: 6vw 2.5vw 0 2.5vw;
}

/* ----------------------------------------
検索窓エリア
---------------------------------------- */
#header-sp .h-menu .search {
	padding: 0 0 3vw;
}

#header-sp .h-menu .search .search-box {
	position: relative;
	display: flex;
	align-items: center;
}

#header-sp .h-menu .search .search-box input[type="text"] {
	box-sizing: border-box;
	height: 12.5vw;
	width: 100%;
	border: 1px solid #cccccc;
	border-radius: 5px;
	padding: 0 10vw 0 3vw;
	font-size: 3.2vw;
	color: #333;
}

#header-sp .h-menu .search .search-box input[type="image"] {
	position: absolute;
	right: 2vw;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	border: none;
	width: 6vw;
	height: 6vw;
}


/* ----------------------------------------
会員系メニュー（h-member）
---------------------------------------- */
#header-sp .h-menu .h-member {
	padding: 0 0 10vw;
}

#header-sp .h-menu .h-member ul {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 15vw;
	justify-content: space-between;
}

#header-sp .h-menu .h-member ul li {
	width: 30vw;
	height: 100%;
	text-align: center;
	border-radius: 5px;
	overflow: hidden;
}

#header-sp .h-menu .h-member ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-size: 3.6vw;
	line-height: 1.2;
	background-repeat: no-repeat;
	background-size: 3.5vw auto;
}

/* ----------------------------------------
h-member-register（新規会員登録）
---------------------------------------- */
#header-sp .h-menu .h-member ul li.h-member-register {
	background-color: #cc6666;
}

#header-sp .h-menu .h-member ul li.h-member-register a {
	background-image: url("../images/common-device-2025/h-member-register.png");
	background-position: 1.7vw center;
	background-size: 3.5vw auto;
	padding-left: 5vw;
	letter-spacing: -0.05em;
}

/* ----------------------------------------
h-member-my（ログイン/マイページ）
---------------------------------------- */
#header-sp .h-menu .h-member ul li.h-member-my {
	background-color: #db4c1e;
}

#header-sp .h-menu .h-member ul li.h-member-my a {
	background-image: url("../images/common-device-2025/h-member-my.png");
	background-position: 4.4vw center;
	background-size: 3.5vw auto;
	padding-left: 7vw;
}

/* ----------------------------------------
h-member-contact（お問い合わせ）
---------------------------------------- */
#header-sp .h-menu .h-member ul li.h-member-contact {
	background-color: #cccccc;
}

#header-sp .h-menu .h-member ul li.h-member-contact a {
	color: #000;
	background-image: url("../images/common-device-2025/h-member-contact.png");
	background-position: 2.5vw center;
	background-size: 5vw auto;
	padding-left: 7vw;
}


/* ----------------------------------------
主要ナビゲーションエリア（h-menu-list）
---------------------------------------- */
#header-sp .h-menu .h-menu-list {
	padding: 0 2.5vw;
}

#header-sp .h-menu .h-menu-list > ul > li {
	border-bottom: solid 1px #000;
}
#header-sp .h-menu .h-menu-list > ul > li:last-child {
	border-bottom: none;
}

/* 単独リンク */
#header-sp .h-menu .h-menu-list .btn-link a {
	display: block;
	padding: 4vw 0;
	text-decoration: none;
	font-size: 4.8vw;
	font-weight: bold;
	
	/* ********** リストマーク画像の設定 ********** */
	background-image: url("../images/common-device-2025/h-menu-list-icon-arr.png");
	background-repeat: no-repeat;
	/* アイコンの位置を左端・中央に配置 */
	background-position: 100% center;
	background-size: 2.5vw auto; /* サイズ調整 */
}

/* ----------------------------------------
アコーディオンのトリガーと開閉対象
---------------------------------------- */

/* トリガーボタン */
#header-sp .h-menu .h-menu-list .open-close-btn {
	display: block;
	padding: 4vw 0;
	cursor: pointer;
	text-decoration: none;
	font-size: 4.8vw;
	font-weight: bold;
	position: relative;
	color: #000;
	background-image: url("../images/common-device-2025/h-menu-list-icon-plus.png");
	background-repeat: no-repeat;
	background-position: right 50%;
	background-size: 5vw auto;
}

/* 矢印アイコンの回転（開いた状態） */
#header-sp .h-menu .h-menu-list .open-close-btn.is-open {
	background-image: url("../images/common-device-2025/h-menu-list-icon-minus.png");
}

/* 開閉対象の下層メニュー（初期状態：非表示） */
#header-sp .h-menu .h-menu-list .open-close-contents {
	display: none;
}

/* ----------------------------------------
下層メニュー（open-close-contents）内のスタイル
---------------------------------------- */

#header-sp .h-menu .sub-list ul {
}

/* sub-list：共通 */
#header-sp .h-menu .sub-list ul li {
	border-bottom: 1px solid #fff;
}
#header-sp .h-menu .sub-list ul li:first-child {
	border-top: 1px solid #fff;
}
#header-sp .h-menu .sub-list ul li:last-child {
	border-bottom: none;
}

/* sub-list-2 */
#header-sp .h-menu .sub-list-2 ul li {
	border-bottom: 1px solid #000;
}
#header-sp .h-menu .sub-list-2 ul li:first-child {
	border-top: none;
}
#header-sp .h-menu .sub-list-2 ul li:last-child {
	border-bottom: none;
}

#header-sp .h-menu .sub-list ul li a {
	display: block;
	padding: 3.2vw 8vw 3.2vw 0; /* テキストを右にずらし、アイコンのスペースを確保 */
	text-decoration: none;
	font-size: 3.6vw;
	
	/* ********** リストマーク画像の設定 ********** */
	background-image: url("../images/common-device-2025/h-menu-list-icon-arr.png");
	background-repeat: no-repeat;
	/* アイコンの位置を左端・中央に配置 */
	background-position: 100% center;
	background-size: 2.5vw auto; /* サイズ調整 */
}




/* --------------------------------------------------------------------------------
footer-sp
-------------------------------------------------------------------------------- */
#footer-sp {
	padding: 0 0 10vw;
}

#footer-sp .footer-outer {
}

#footer-sp .footer-inner {
}

#footer-sp .f-contents {
}

/* ----------------------------------------
ショッピングガイド（アコーディオン）
---------------------------------------- */
#footer-sp .f-shopping-guide-unit {
	padding: 2vw 2vw 3vw;
	background: #eee5df;
}

#footer-sp .f-shopping-guide-unit .f-shopping-guide-unit-wrapper {
	padding: 0 0 1.25vw;
}

#footer-sp .f-shopping-guide-unit .f-shopping-guide-unit-box {
	padding: 0 2vw;
}

#footer-sp .f-shopping-guide-unit .f-shopping-guide-unit-box:not(:last-child) {
	margin: 0 0 3vw;
	border-bottom: 1px solid #000;
	padding-bottom: 1.5vw;
}

#footer-sp .f-shopping-guide-unit .f-shopping-guide-unit-box .heading {
	margin: 0 13vw 0vw  0;
	padding: 1.2vw 0;
	font-size: 4.8vw;
	font-weight: bold;
}

#footer-sp .f-shopping-guide-unit .f-shopping-guide-unit-box .open-close-btn {
	cursor: pointer;
	position: relative;
}

#footer-sp .f-shopping-guide-unit .f-shopping-guide-unit-box .open-close-contents {
	display: none;
}

/* + (プラス) アイコン（デフォルト：閉じているとき） */
#footer-sp .f-shopping-guide-unit .f-shopping-guide-unit-box .open-close-btn::after {
	content: "";
	display: block;
	position: absolute;
	width: 5vw;
	height: 5vw;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background-image: url("../images/common-device-2025/f-icon-toggle-plus.png");
	background-size: contain;
	background-repeat: no-repeat;
}

/* - (マイナス) アイコン（開いているとき） */
#footer-sp .f-shopping-guide-unit .f-shopping-guide-unit-box .open-close-btn.is-open::after {
	background-image: url("../images/common-device-2025/f-icon-toggle-minus.png");
}

/* .txt の内容 */
#footer-sp .f-shopping-guide-unit .f-shopping-guide-unit-box .open-close-contents .txt {
	padding: 0 0 2vw;
	line-height: 1.45;
	font-size: 3.6vw;
}


/* ----------------------------------------
バナー
---------------------------------------- */
#footer-sp .f-btns {
	padding: 9vw 2vw 7.8vw;
}
#footer-sp .f-btns ul li {
	padding: 0 0 2vw;
}
#footer-sp .f-btns ul li a {
	display: block;
}


/* ----------------------------------------
f-help
---------------------------------------- */
#footer-sp .f-help {
	margin: 0 0 5vw;
	padding: 5vw 0 1vw;
	font-size: 3.6vw;
	line-height: 1;
	color: #fff;
	background-color: #db4c1e;
}

#footer-sp .f-help ul {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

#footer-sp .f-help li {
	position: relative;
	padding: 0 0 2.8vw;
}

#footer-sp .f-help li a {
	display: block;
	padding: 0 5.2vw;
	text-decoration: none;
	font-size: 3.6vw;
	color: #fff;
	letter-spacing: -0.1em;
}

/* 項目間のパイプ */
#footer-sp .f-help li:not(:last-child)::after {
	content: "｜";
	position: absolute;
	top: 0;
	right: -0.5vw;
	color: #fff;
}

/* 最初の項目の前にパイプを追加 */
#footer-sp .f-help li:first-child::before {
	content: "｜";
	position: absolute;
	top: 0;
	left: -0.5vw;
	color: #fff;
}

/* 最後の項目の後にパイプを追加 */
#footer-sp .f-help li:last-child::after {
	content: "｜";
	position: absolute;
	top: 0;
	right: -0.5vw;
	color: #fff;
}


/* ----------------------------------------
ロゴ・会社情報など
---------------------------------------- */
#footer-sp .f-company-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

#footer-sp .f-company-info .f-logo {
	margin-bottom: 2.5vw;
}

#footer-sp .f-company-info .f-logo a,
#footer-sp .f-company-info .f-logo img {
	display: block;
}
#footer-sp .f-company-info .f-logo img {
	width: 35.5vw;
	height: auto;
}

/********** .f-company-info  **********/
#footer-sp .f-company-info .company-info-txt {
	font-size: 3.6vw;
}

/********** TEL **********/
#footer-sp .f-company-info .company-tel {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.25vw 0;
}

#footer-sp .f-company-info .tel-icon {
	width: 6vw;
	height: 4vw;
	display: block;
	margin-right: 2vw;
	background-image: url("../images/common-device-2025/f-icon-dial.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

