@charset "utf-8";


/*====================
{{スマホを基本設計にする}}
 - 〜479px：SP縦
 - 480px〜599px：SP横
 - 600px〜959px：タブレット
 - 960px〜1279px：小型PC
 - 1280px〜：大型PC
====================*/

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* resetここまで */

/* common */
html {
	font-size: 62.5%;
}
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
}

@media all and (-ms-high-contrast: none) {
	/* IE10以上のみ適応 */
	body {
		font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	}
}

body *,
body *::before,
body *::after {
	box-sizing: border-box;
}

body img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

body a {
	text-decoration: none;
	cursor: pointer;
	word-break: break-all;
}

p,
dl,
ul {
	line-height: 2.1;
}

.mincho {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.ilb {
	display: inline-block;
}

.pconly {
	display: none;
}

/* common */



/* header */
header {
	position: fixed;
	top: 0;
    width: 100%;
    border-bottom: 1px solid #000;
    background-color: #fff;
    z-index: 5000;
}

.header_inner {
	display: flex;
	justify-content: space-between;
	align-content: center;
}

.logo_wrap h1 a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 120px;
	height: 50px;
	background-color: #000;
}

.logo_wrap h1 img {
	width: 76.5%;
}

.cart a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #118B45;
	position: relative;
}

.cart a.disabled {
    pointer-events: none;
}

.cart a.disabled::before {
    height: 100%;
    content: "";
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    width: 100%;
	border-radius: 50%;
    top: 0;
    z-index: 2;
    left: 0;
}

.cart img {
	width: 65%;
}

/*開閉ボタン*/
#nav_toggle{
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
	border-radius: 50%;
	background-color: #118B45;
	z-index: 100;
	transition: 1s;
	cursor: pointer;
}

#nav_toggle div {
	position: relative;
}

#nav_toggle > div {
	width: 50%;
	margin: auto;
}

#nav_toggle span{
	display: block;
	height: 3px;
	background: #fff;
	position:absolute;
	width: 100%;
	left: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}
#nav_toggle span:nth-child(1){
	top: 11px;
}
#nav_toggle span:nth-child(2){
	top: 19px;
}
#nav_toggle span:nth-child(3){
	top: 27px;
}

/*開閉ボタンopen時*/
.open #nav_toggle {
	background-color: #000;
}

.open #nav_toggle span:nth-child(1) {
	top: 18px;
   -webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}
.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav_toggle span:nth-child(3) {
	top: 18px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.menu_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 95px;
	margin-right: 3%;
}

.menu_wrap nav{
	display: none;
	position: absolute;
	top: 50px;
	width: 100%;
	height: calc(100vh - 50px);
	padding-bottom: 1rem;
	background: rgba(17,139,69,0.9);
	left: 0;
	z-index: 500;
	overflow-y: auto;
}

.menu_wrap nav ul {
	display: block;
	margin: 0 auto 3rem;
	width: 80%;
}

.menu_wrap nav ul li {
	position: relative;
	margin: 1em auto 0;
}

@media screen and (max-width:360px) {
	.menu_wrap nav ul li {
		margin-top: 2rem;
	}
}

.menu_wrap nav ul li:last-child {
	border: none;
}

.menu_wrap nav ul li a {
	display: block;
	position: relative;
	color: #fff;
	font-size: 1.5rem;
}

.menu_wrap nav ul li a.pulldown_base {
	padding-right: 15px;
}

.menu_wrap nav ul li a.pulldown_base::after {
	content: "";
	display: inline-block;
	position: relative;
	top: -2px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	margin: auto 0 auto 1em;
	transform: rotate(45deg);
	vertical-align: middle;
}

.menu_wrap nav .pulldown_menu {
	display: none;
	margin-left: 1.5em;
}

/*.menu_wrap nav .pulldown_menu {
	opacity: 0;
	position: absolute;
	top: 110%;
	right: 0;
	left: -2.5em;
	width: 10em;
	padding: 8px;
	margin: auto;
	border: 1px solid #118B45;
	background-color: #fff;
	transition: .3s;
}

.menu_wrap nav .pulldown_menu.active {
}

.menu_wrap nav .pulldown_menu li {
	display: block;
	width: 100%;
	text-align: center;
}

.menu_wrap nav .pulldown_menu li:not(:last-child) {
	margin: 0 auto 8px;
}

.menu_wrap nav .pulldown_menu li:not(:last-child) {
	padding-bottom: 8px;
	border-bottom: 1px solid #118B45;
}*/



.shop_link.disabled {
    pointer-events: none;
}

.shop_link.disabled::before {
    height: 100%;
    content: "";
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 2;
    left: 0;
}

.sns_icon_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 24%;
	min-width: 150px;
	margin: auto;
}

@media screen and (min-width:800px) {
    .sns_icon_wrap {
        width: 18%;
    }
}

.sns_icon_wrap img {
	width: 35px;
}

.icon_pconly {
	display: none;
}

/* 2022.10.14 add */
.onlineShop {
	width: 80%;
	margin: 0 auto;
}
.onlineShop__link {
	margin: 0 auto 15px;
	max-width: 300px;
}
.onlineShop__link a {
	display: block;
	text-align: center;
}
.onlineShop__link a:hover {
	opacity: .7;
}
.onlineShop__link--amazon a {
	background-color: #323e48;
	padding: 5px 10px;
}
.onlineShop__link--amazon img {
	max-width: 120px;
}
.onlineShop__link--rakuten a {
	background-color: #bf0000;
}
.onlineShop__link--rakuten img {
	max-width: 120px;
}
.onlineShop__link--eccube a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 1em 0;
	margin: 0 auto 2rem;
	font-size: 1.2rem;
	color: #fff;
	background-color: #000;
}
.onlineShop__link--eccube img {
	width: 2em;
	margin-right: .7em;
}

/* header */


/* support */
#support {
	width: 90%;
	padding: 4.5rem 0;
	margin: auto;
}

#support h3 {
	color: #000;
}

.nine_bnr {
	display: block;
	max-width: 1000px;
	margin: 0 auto 3rem;
}

.support_link {
	display: block;
	position: relative;
}

.support_brand_name {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	width: 158px;
	padding: 2rem;
	margin: auto;
	background-color: #000;
	transform: translateY(-50%);
	z-index: 50;
}

@media screen and (max-width:350px) {
	.support_brand_name {
		padding: 1rem;
		text-align: center;
	}

	.support_brand_name img {
		width: 80%;
	}
}


.support_shop_link {
	position: relative;
}

.support_shop_link img {
	vertical-align: top;
}

.support_shop_link p {
	position: absolute;
	top: 58%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	text-indent: .05em;
	letter-spacing: .05em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}


.support_link.disabled {
	position: relative;
    pointer-events: none;
}

.support_link.disabled .support_shop_link::before {
    height: 100%;
    content: "";
    background-color: rgba(0,0,0,0.65);
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 2;
    left: 0;
}

.support_link.disabled .support_shop_link::after {
	content: "COMING SOON";
	position: absolute;
	top: 87%;
	left: 50%;
	bottom: auto;
	right: auto;
	transform: translate(-50%,-50%);
    border-radius: 0;
    font-family: Roman;
	font-size: 1.2em;
	font-weight: bold;
	color: #fff;
	white-space: nowrap;
	text-align: center;
	/* background-color: #fff; */
	z-index: 50;
	opacity: .9;
}


/* support */


/* footer */
.sns_more {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 200px;
	margin: 0 auto 5rem;
}

.sns_more img {
	width: 30px;
}

.sns_more a:first-child img {
	width: 35px;
}

.footer_wrap {
	position: relative;
	padding: 8rem 1rem 3rem;
	background-color: #118B45;
}

.footer_brand_name {
	position: absolute;
	right: 0;
	left: 0;
	top: -20px;
	width: 158px;
	padding: 2rem;
	margin: auto;
	background-color: #000;
}

.footer_wrap p.copyright {
	font-size: 1.4rem;
	color: #fff;
	text-align: center;
}
/* footer */

.pagetop {
	position: fixed;
	display: block;
	right: 5%;
	bottom: 5%;
	z-index: 100;
	width: 40px;
}

.copyright small {
	font-size: 1.1rem;
}

footer .menu_wrap nav ul li a.pulldown_base::after {
	top: 2px;
	border-color: #fff;
	transform: rotate(-135deg);
}

footer .menu_wrap nav .pulldown_menu {
	top: auto;
	bottom: 110%;
}

footer .menu_wrap nav .pulldown_menu a {
	color: #333;
}

@media screen and (min-width: 600px) {
	.sponly {
		display: none;
	}

	.pconly {
		display: block;
	}

	header {
		position: static;
	}

	.shop_link {
	    text-indent: .1em;
    	letter-spacing: .1em;
	}

	.shop_link:hover::before {
	    /* display: block;
	    content: '';
	    position: absolute;
	    z-index: 2;
	    top: 0;
	    left: 0;
	    right: 0;
	    bottom: 0;
	    height: 100%;
	    width: 100%;
	    background: rgba(255, 255, 255, 0.3); */
	}

	.pagetop {
		position: fixed;
		display: block;
		right: 65px;
		bottom: 30px;
		z-index: 505;
	}

	.pagetop:hover {
		bottom: 35px;
	}

	.pagetop img:hover {
		opacity: 1;
	}

	.support_link:hover::before {
	    display: block;
	    content: '';
	    position: absolute;
	    z-index: 502;
	    top: 0;
	    left: 0;
	    right: 0;
	    bottom: 0;
	    height: 100%;
	    width: 100%;
	    background: rgba(255, 255, 255, 0.3);
	}

	.support_shop_link p {
		line-height: 2.1;
	}


	.sns_more {
		margin-bottom: 8rem;
	}

	.copyright small {
		font-size: inherit;
	}

}

@media screen and (min-width: 768px) {

	#support {
		padding: 7.5rem 0;
	}

	.nine_bnr {
		margin-bottom: 5rem;
	}

	.nine_bnr:hover {
		opacity: .7;
	}

	.support_link {
		display: flex;
		align-items: center;
		max-width: 1000px;
		margin: auto;
	}

	.support_link > img {
		width: 50%;
	}

	.support_shop_link {
		width: 50%;
	}

	.support_shop_link p {
		top: 50%;
	}

	.sns_more {
		width: 280px;
	}

	.sns_more img {
		width: 41px;
	}

	.sns_more a:first-child img {
		width: 53px;
	}
}

@media screen and (min-width: 960px) {
	/* header */


	/* header */

	.support_link.disabled .support_shop_link::after {
		top: 74%;
		font-size: 1.6em;
	}


	/* footer */
	.footer_wrap {
		padding-top: 11rem;
	}
	footer .menu_wrap nav {
		max-width: 1090px;
		margin: 0 auto 3rem;
		background-color: inherit;
	}

	footer .menu_wrap nav ul {
		justify-content: space-between;
		width: 90%;
		margin: 0 2rem 0;
	}

	footer .menu_wrap nav ul li a {
		color: #fff;
	}

	footer .sns_icon_wrap {
		justify-content: space-around;
		align-items: center;
		width: 10%;
		margin: 0;
	}

	footer .sns_icon_wrap img {
		vertical-align: sub;
	}

	/* footer */
}


@media screen and (min-width:1280px) {
	.logo_wrap h1 a {
		width: 180px;
		height: 100px;
	}

	#nav_toggle{
		display: none;
	}

	.menu_wrap {
		width: 100%;
		margin-right: 0;
	}

	.menu_wrap nav {
		display: flex;
		align-items: center;
		position: static;
		height: auto;
		margin-right: 2rem;
		margin-left: 2rem;
		background-color: #fff;
		overflow: inherit;
		padding-bottom: 0;
	}

	.menu_wrap nav ul {
		display: flex;
		flex-wrap: wrap;
		width: 58%;
		margin: auto;
	}

	.menu_wrap nav ul li {
		margin: 0 1rem 0 0;
	}

	.menu_wrap nav ul li a {
		color: #333;
	}

	.menu_wrap nav ul li a.pulldown_base::after {
		content: "";
		position: absolute;
		top: -2px;
		bottom: 0;
		right: 0;
		width: 8px;
		height: 8px;
		border-color: #333;
}

	.menu_wrap nav .pulldown_menu {
		position: absolute;
		top: 110%;
		right: 0;
		left: -4.5em;
		width: 14em;
		padding: 8px;
		margin: auto;
		border: 1px solid #118B45;
		background-color: #fff;
	}

	.menu_wrap nav .pulldown_menu.active {
	}

	.menu_wrap nav .pulldown_menu li {
		display: block;
		width: 100%;
		text-align: center;
	}

	.menu_wrap nav .pulldown_menu li a:hover {
		opacity: .8;
	}

	.menu_wrap nav .pulldown_menu li:not(:last-child) {
		margin: 0 auto 8px;
	}

	.menu_wrap nav .pulldown_menu li:not(:last-child) {
		padding-bottom: 8px;
		border-bottom: 1px solid #118B45;
	}

	.cart {
		display: none;
	}

	.sns_icon_wrap {
		order: 2;
		width: 100px;
		min-width: inherit;
		margin-right: 2rem;
	}

	.sns_icon_wrap img {
		width: 20px;
	}

	.shop_link_fix {
		position: fixed;
		top: 0;
		right: 1.5%;
	}

	.menu_wrap nav ul {
		justify-content: space-between;
	}

	.icon_pconly {
		display: block;
	}

	.icon_sponly {
		display: none;
	}

	/* 2022.10.14 add */
	.onlineShop {
		order: 3;
		width: auto;
		margin: 0;
		max-width: 260px;
		display: flex;
		flex-wrap: wrap;
		gap: 2%;
	}
	.onlineShop__link {
		margin: 1% 0;
		max-width: 300px;
	}
	.onlineShop__link--amazon {
		flex: 0 0 100%;
	}
	.onlineShop__link--amazon img {
		max-width: 75px;
	}
	.onlineShop__link--rakuten {
		flex: 0 0 100%;
	}
	.onlineShop__link--rakuten img {
		max-width: 90px;
	}
	.onlineShop__link--eccube {
		flex: 0 0 49%;
	}
	.onlineShop__link--eccube a {
		height: 100%;
		padding: 0;
		margin: 0;
		background-color: #118B45;
	}




}
