@charset "utf-8";



/* --------------------------------------------------------------------------------
	html & body
-------------------------------------------------------------------------------- */
html {
	
}
body {
	margin: 0 auto;
	padding: 55vw 0 0;
	max-width: 800px;
	line-height: 1.5;
	text-size-adjust: 100%;
	
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-weight: 300;
	font-style: normal;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

address {
	font-style: normal;
}


/* --------------------------------------------------------------------------------
	共通 リセット タグ等
-------------------------------------------------------------------------------- */
.common {
	text-align: left;
	font-size: 3.111vw;
}

.common * {
	margin: 0;
	padding: 0;
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-style: normal;
}

.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: #312420;
	-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-vdl-v7,
.font-vdl-v7 * {
	font-family: "vdl-v7marugothic", sans-serif;
	font-weight: 700;
}

/********** プレースホルダー **********/
::-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;
}




/* --------------------------------------------------------------------------------
	container
-------------------------------------------------------------------------------- */
#container {
}




/* --------------------------------------------------------------------------------
	header
-------------------------------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 99;
	
	width: 100%;
	height: auto;
	/* height: 55vw; */
	background: #fff;
}


/* ----------------------------------------
headline
---------------------------------------- */
#header .headline {
	padding: 1.5vw 0 2.5vw;
	text-align: center;
	font-size: 2.645vw;
	color: #392c28;
}


/* ----------------------------------------
h-btn-signboard
---------------------------------------- */
#header .h-btn-signboard {
	display: flex;
	
	width: 100%;
	padding: 0 0.7vw 0 3vw;
}

/********** メニューボタン **********/
#header .h-btn-menu {
	width: 16vw;
	height: 16vw;
	margin: 0 8vw 0 0;
	padding: 2.5vw 0 0;
}
#header .h-btn-menu .menu-icon-open,
#header .h-btn-menu .menu-icon-close {
	display: flex;
	justify-content: center;
	
	width: 100%;
	padding: 0 0 2vw;
}

/* ハンバーガーメニューボタン */
#header .h-btn-menu-area {
	padding: 2.5vw 0 0;
}
#header .h-btn-menu .hamburger-menu {
	position: relative;

	width: 8.4vw;
	height: 6.2vw;
}
#header .h-btn-menu .h-menu-btn-close .hamburger-menu .hamburger-menu-box {
	position: relative;
}

/* メニューボタン */
#header .h-btn-menu .h-menu-btn-open .hamburger-menu span {
	position: absolute;
	
	display: block;
	width: 100%;
	height: 1.1vw;
	background-color: #9fc87a;
	
	border-radius: 0.5vw;
}
#header .h-btn-menu .h-menu-btn-open .hamburger-menu span:nth-of-type(1) {
	top: 0;
}
#header .h-btn-menu .h-menu-btn-open .hamburger-menu span:nth-of-type(2) {
	top: calc(50% - 0.6vw);
}
#header .h-btn-menu .h-menu-btn-open .hamburger-menu span:nth-of-type(3) {
	bottom: 0;
}

/* クローズボタン */
#header .h-btn-menu .h-menu-btn-close .hamburger-menu span {
	position: absolute;
	
	display: block;
	width: 100%;
	height: 1.1vw;
	background-color: #9fc87a;
	
	border-radius: 0.5vw;
}
#header .h-btn-menu .h-menu-btn-close .hamburger-menu span:nth-of-type(1) {
	-webkit-transform: translateY(2.5vw) rotate(-45deg);
	transform: translateY(2.5vw) rotate(-45deg);
}
#header .h-btn-menu .h-menu-btn-close .hamburger-menu span:nth-of-type(2) {
	opacity: 0;
}
#header .h-btn-menu .h-menu-btn-close .hamburger-menu span:nth-of-type(3) {
	-webkit-transform: translateY(2.5vw) rotate(45deg);
	transform: translateY(2.5vw) rotate(45deg);
}

/* 通常時 切り替え */
#header .h-btn-menu .h-menu-btn-open {
	display: block;
}
#header .h-btn-menu .h-menu-btn-close {
	display: none;
}

/* アクティブ 切り替え */
#header .h-btn-menu.menu-active .h-menu-btn-open {
	display: none;
}
#header .h-btn-menu.menu-active .h-menu-btn-close {
	display: block;
}


/* メニューラベル */
#header .h-btn-menu .menu-label-open {
	text-align: center;
	color: #9fc87a;
	font-weight: 600;
	font-size: 2.122vw;
}

/********** ロゴ **********/
#header .h-signboard {
	width: 46vw;
	margin: 0 10.8vw 0 0;
}
#header .h-signboard a {
	display: block;
}
#header .h-signboard img {
	display: block;
}

/********** カートボタン **********/
#header .h-btn-menu-cart-area {
	padding: 2vw 0 0;
}
#header .h-btn-menu-cart {
}
#header .h-btn-menu-cart a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	
	width: 16vw;
	height: 16vw;
	padding: 0 0.5vw 0.5vw 0;
}
#header .h-btn-menu-cart img {
	width: 7.8vw;
}
#header .h-btn-menu-cart .menu-icon-cart {
	padding: 0 0 1vw;
}
#header .h-btn-menu-cart .menu-label-cart {
	padding: 0 1.5vw 0 0.2vw;
	color: #9fc87a;
	font-weight: 600;
	font-size: 2.122vw;
}


/* ----------------------------------------
h-nav
---------------------------------------- */
#header .h-nav ul {
	display: flex;
	justify-content: space-between;
	
	width: 100%;
}
#header .h-nav ul li {
	width: calc(100% / 5);
	border-right: solid 1px #fff;
}
#header .h-nav ul li:last-child{
	border-right: none;
}
#header .h-nav ul li a,
#header .h-nav ul li.h-nav-character .h-nav-open-close-btn {
	display: block;
	padding: 5vw 0 0;
	text-align: center;
	color: #000;
	background-color: #ffdeb3;
	background-repeat: no-repeat;
	font-size: 2.939vw;
}

/* h-nav-newarrival */
#header .h-nav ul li.h-nav-newarrival a {
	background-image: url("../images/common/h-nav-newarrival.svg");
	background-size: 5.5vw auto;
	background-position: 50% 0.5vw;
}

/* h-nav-restock */
#header .h-nav ul li.h-nav-restock a {
	background-image: url("../images/common/h-nav-restock.svg");
	background-size: 4.1vw auto;
	background-position: 50% 0.5vw;
}

/* h-nav-character */
#header .h-nav ul li.h-nav-character .h-nav-open-close-btn {
	background-image: url("../images/common/h-nav-character.svg");
	background-size: 5.1vw auto;
	background-position: 50% 0.5vw;
}

/* h-nav-favorite */
#header .h-nav ul li.h-nav-favorite a {
	background-image: url("../images/common/h-nav-favorite.svg");
	background-size: 4.7vw auto;
	background-position: 50% 0.7vw;
}

/* h-nav-my */
#header .h-nav ul li.h-nav-my a {
	background-image: url("../images/common/h-nav-my.svg");
	background-size: 4vw auto;
	background-position: 50% 0.7vw;
}


/********** 検索 **********/
#header .search {
	position: relative;
	
	width: 86vw;
	margin: 0 0 1.4vw 8vw;
	padding: 2.5vw 0 0;
}


/* テキスト */
#header .search input[type="text"] {
	border: solid 1px #000;
	border-radius: 50vw;
	display: block;
	padding: 1.45vw 12vw 1.45vw 3vw;
	font-size: 3vw;
}


/* ボタン */
#header .search input[type="image"] {
	position: absolute;
	top: 4.1vw;
	right: 4.5vw;
	
	display: block;
	width: 4.6vw;
	height: auto;
}

/********** お知らせ **********/
#header .oshirase {
	text-align: center;
	font-size: 3.844vw;
}


/* ----------------------------------------
h-menu
---------------------------------------- */
#header .h-menu {
	position: fixed;
	top: 26vw;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 99;
	
	width: 100%;
	padding: 0 0 4.6vw;
	background: #fff;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	
	font-weight: 300;
	
	display: none;
}

/********** リンク **********/
#header .h-menu a {
	color: #392c28;
}

/********** アイコン **********/
#header .h-menu .icon-char {
	position: absolute;
	top: 3.5vw;
	right: 15vw;
}
#header .h-menu .icon-char img {
	display: block;
	width: 16.5vw;
	height: auto;
}

/********** .h-menu-box **********/
#header .h-menu .h-menu-box {
	padding: 0 5vw;
}

/********** .h-menu-info **********/
#header .h-menu .h-menu-box .h-menu-info{
	padding: 2vw 0 2.9vw;
	border-bottom: solid 0.4vw #DAD9D9;
}
#header .h-menu .h-menu-box .h-menu-info ul{
	display: flex;
	justify-content: space-between;
	width: 67vw;
	margin: 0 auto;
}
#header .h-menu .h-menu-box .h-menu-info li{
	width: 26.3vw;
}
#header .h-menu .h-menu-box .h-menu-info li a{
	display:flex;
	justify-content: center;
	align-items: center;
	font-size: 3.963vw;
	color: #392c28;
	background: rgba(159,200,122,0.6);
	border-radius: 2.5vw;
	width: 26.3vw;
	height: 9.3vw;
}

/********** .h-menu-list **********/
#header .h-menu .h-menu-list2 {
	padding: 0 0 2.4vw;
}
#header .h-menu .h-menu-list > ul > li {
	border-bottom: solid 0.4vw #DAD9D9;
}
#header .h-menu .h-menu-list > ul > li > a {
	display: block;
	padding: 3.5vw 1.3vw 3.5vw 1.3vw;
	font-size: 3.962vw;
}
#header .h-menu .h-menu-list > ul > li > .heading {
	padding: 3.5vw 1.3vw 0 1.3vw;
	font-size: 3.962vw;
}
#header .h-menu .h-menu-list > ul > li > .history-box {
	padding: 0 1.3vw 3.5vw 1.3vw;
}

/********** btn-open-close **********/
#header .h-menu .h-menu-list > ul > li > .btn-open-close {
	padding: 3.5vw 1.3vw 3.5vw 1.3vw;
	font-size: 3.962vw;
	position: relative;
}
#header .h-menu .h-menu-list > ul > li > .btn-open-close::after{
	content: "＋";
	font-size: 4.365vw;
	color: #392c28;
	position: absolute;
	right: 1.2vw;
}
#header .h-menu .h-menu-list > ul > li > .btn-open-close-active::after{
	content: "－";
}
/********** contents-open-close **********/
#header .h-menu .h-menu-list > ul > li > .contents-open-close {
	display: none;
}
#header .h-menu .h-menu-list > ul > li > .contents-open-close > ul{
	text-indent: 6vw;
	padding: 0 0 3vw;
}
#header .h-menu .h-menu-list > ul > li > .contents-open-close > ul > li{
	padding: 4vw 0;
}
#header .h-menu .h-menu-list > ul > li > .contents-open-close > ul > li a{
	font-size: 3.6vw;
}

/* h-menu-list-2 */
#header .h-menu .h-menu-list-2 > ul > li > a {
	display: block;
	padding: 3.5vw 1.3vw 3.5vw 4.8vw;
	font-size: 3.962vw;
	background: url("../images/common/h-menu-list-2-arr.png") no-repeat 1vw 5vw;
	background-size: 2.1vw auto;
}




/********** .other-cat **********/
#header .h-menu .other-cat {
	padding: 0 0 3vw;
}
#header .h-menu .other-cat .heading{
	font-size: 3.964vw;
	color: #392c28;
	padding: 3.5vw 1.3vw 3.5vw 1.3vw;
}
#header .h-menu .other-cat ul {
	display: flex;
	justify-content: space-between;
	
	width: 86.8vw;
	margin: 0 auto;
}
#header .h-menu .other-cat ul li {
	width: 25vw;
	text-align: center;
}
#header .h-menu .other-cat ul li a {
	display: block;
	font-size: 3.072vw;
}
#header .h-menu .other-cat ul li a .label-cat {
	margin: 0 0 0.3vw;
}
#header .h-menu .other-cat ul li a .img-cat img{
	width: 23.9vw;
}

/********** h-sns **********/
#header .h-menu .h-sns ul {
	padding: 2.3vw 0;
}
#header .h-menu .h-sns ul li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	
	width: 100%;
	padding: 0.9vw 0 0.9vw 1.3vw;
	font-size: 3.964vw;
}
#header .h-menu .h-sns ul li a .h-sns-icon {
	display: block;
	width: 8.6vw;
}
#header .h-menu .h-sns ul li a .h-sns-label {
	display: block;
	width: calc(100% - 11.5vw);
}


/********** グローバルナビ：キャラクター **********/
#header .h-character {
	display: none;
	
	position: absolute;
	z-index: 90;
	
	width: 100%;
	background: #fff;
}
#header .h-character .h-character-box {
	padding: 4.5vw 5vw 6.5vw;
}
#header .h-character .h-character-heading {
	cursor: pointer;
	
	display: flex;
	justify-content: center;
	
	width: 100%;
	margin: 0 0 5vw;
	padding: 0 0 3vw 0;
	font-size: 6.4vw;
	color: #9fc87a;
	border-bottom: solid 0.2vw #dad8d9;
	
	background: url("../images/common/arrow-character.png") no-repeat calc(100% - 3.8vw) 40%;
	background-size: 2.8vw auto;
}
#header .h-character .h-character-heading .h-character-heading-box {
	display: block;
	text-align: center;
}
#header .h-character ul {
	display: flex;
	justify-content: space-between;
	
	width: 86.8vw;
	margin: 0 auto;
}
#header .h-character ul li {
	width: 25vw;
	text-align: center;
}
#header .h-character ul li a {
	display: block;
	font-size: 3.072vw;
}
#header .h-character ul li a .label-cat {
	margin: 0 0 0.3vw;
}
#header .h-character ul li a .img-cat img{
	width: 23.9vw;
}




/* --------------------------------------------------------------------------------
	footer
-------------------------------------------------------------------------------- */
#footer {
	padding: 7vw 0 8vw;
	
	color: #000000;
	background: #9fc87a;
}


/********** f-menu **********/
#footer .f-menu {
	padding: 0 0 5vw;
}
#footer .f-menu ul {
	display: flex;
	justify-content: center;
}
#footer .f-menu ul li a {
	display: block;
	padding: 0 5vw;
	text-align: center;
	color: #000000;
	font-size: 2.199vw;
}


/********** copyright **********/
#footer .copyright {
	text-align: center;
	line-height: 1.6;
	font-size: 2.199vw;
}
#footer .copyright small {
	font-size: 1em;
}



/* ----------------------------------------
pagetop
---------------------------------------- */
#footer #pagetop{
	position: fixed;
	bottom: 37.3vw;
	right: 3vw;
	z-index: 10;
	text-align: center;
}
#footer #pagetop .icon-pagetop {
	display: block;
}
#footer #pagetop a {
	position: relative;
	
	display: block;
	text-decoration: none;
}
#footer #pagetop .icon-pagetop img{
	position: relative;
	z-index: 0;
	
	display: block;
	width: 16vw;
	margin: 0 0 -0.5vw 0;
}
#footer #pagetop .txt-pagetop{
	position: absolute;
	margin-top: -0.7vw;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 16.8vw;
	height: 16.8vw;
	border-radius: 100%;
	font-size: 4.83vw;
	font-weight: 600;
	color: #000;
	background: #9fc87a;
}


