@charset "UTF-8";
/* CSS Document */
/*========================================================
font
========================================================*/
@import url('https://fonts.googleapis.com/css?family=Open+Sans');

/*========================================================
initialize
========================================================*/
html {font-size:12px;}
body {color:#323232;line-height: 1.7;}

@media (min-width: 576px){
	html {font-size:14px;}
}


img {max-width:100%;}
button {
	border:none;
	border-radius: 0;
	background:none;
	
}
ul {list-style-type:none;margin:0;padding:0;}

table {width:100%;border-collapse: collapse;}

.mt-1, .my-1 {margin-top:1rem !important;}
.mt-2, .my-2 {margin-top:2rem !important;}
.mt-3, .my-3 {margin-top:3rem !important;}
.mt-4, .my-4 {margin-top:5rem !important;}
.mt-5, .my-5 {margin-top:7rem !important;}

a {color:#323232;text-decoration: underline;}
a:hover {color:#323232;text-decoration:none;}

/*========================================================
テキスト
========================================================*/
.fs-1 {
	font-size:1.2rem;
}
.fs-2 {
	font-size:0.9rem;
}


/*========================================================
ボタン
========================================================*/
.hover {opacity:1;transition:opacity 0.3s linear;}
.hover:hover {opacity:0.7;}

.btn {position: relative;text-decoration:none;padding:0.8rem;font-size:0.95rem;}
.btn > i:first-child {margin-right:0.7em;}

.btn.arrow-right::after {
	content:"";
	display:block;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	width:1rem;
	height:1rem;
	position: absolute;
	top:50%;
	right:2rem;
	transform:translateY(-50%) rotate(45deg);
	transition: all 0.1s ease-in-out;
}
.btn.arrow-right:hover::after {
	transform:translate(0.5rem, -50%) rotate(45deg);
}

.btn p {
	margin:0;
}
.btn p.en {
	color:#999;
	font-size:11px;
	margin-top:1em;
}
.btn span.en {
	color:#999;
	font-size:11px;
	margin-left:1em;
}

@media(max-width:450px) {
	.btn span.en {display:none;}
}

.btn.btn-dark {
	border-radius: 0;
}
.banner {
	display:block;
	max-width:530px;
	margin-left:auto;
	margin-right:auto;
	text-align: center;
	padding:2rem;
}
.banner p.text {
	font-size:1.8rem;
}

.btn.btn-dark.type02 {
	background:#b7b7b7;
	border-color:#b7b7b7;
}

/*========================================================
header
========================================================*/
header {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index:100;
}
header a {text-decoration:none;}
.navbar {
	background:#323232;
	padding-left:2rem;
	padding-right:2rem;
}
.navbar-nav > li:nth-of-type(n+2) {margin-left:2rem;}
.navbar-nav > li {text-align:center;}
.navbar-nav > li > a {
	font-size:0.9rem;
	color:#fff;
	position: relative;
	display: block;
}
.navbar-nav > li > a figure {max-width:49px;margin:0 auto;}
.navbar-nav > li > a p {padding:0;margin:0;}
.navbar-nav > li > a p span {
	display:block;
	font-size:0.7rem;
	color:#999;
}

.navbar-nav > li > a > span {
	display:block;
	border-radius:100px;
	background:#f00;
	color:#fff;
	text-align: center;
	line-height: 1;
	font-size:10px;
	position: absolute;
	top:0;
	right:0;
	transform:translate(50%,-50%);
}

#menuButton {
	display:block;
	width:30px;
	height:20px;
	position: relative;
	z-index:10001;
	cursor: pointer;
}
#menuButton span,
#menuButton::before,
#menuButton::after {
	content:"";
	display:block;
	height:1px;
	width:100%;
	background:#fff;
	position: absolute;
	top:0;
	transition:all 0.3s ease-in-out;
}

#menuButton span {
	top:50%;
}

#menuButton::before {
	top:0%;
}
#menuButton::after {
	top:100%;
}

#menuButton:not(.collapsed) span {
	opacity:0;
}
#menuButton:not(.collapsed)::before {
	top:50%;
	transform:rotate(45deg);
}
#menuButton:not(.collapsed)::after {
	top:50%;
	transform:rotate(-45deg);
}

@media(max-width:575px){
	.navbar-nav > li:nth-of-type(n+2) {margin-left:1rem;}
	#menuButton {width:20px;height:15px;margin-left:1.2rem;}
}

/*========================================================
footer
========================================================*/
footer {
	background:#f0f0f0;
	padding:2rem 0 1rem;
	margin-bottom:0;
	font-size:0.9rem;
}

footer ul {padding-bottom:1rem;border-bottom:1px solid #d2d2d2;margin-bottom:1rem;}
footer ul li {
	padding:0 1em;
	display:inline-block;
	margin:0.5rem 0;
}
footer ul li:nth-of-type(n+2) {border-left:1px solid #d2d2d2;}
footer ul li a {color:#323232;text-decoration:none;}
footer ul li a:hover {color:#323232;text-decoration:underline;}

@media(max-width:575px) {
	footer ul li {
		border:none !important;
		display:block;
		padding:0 !important;
		font-size:1.2rem;
	}
	footer ul li:nth-of-type(n+2) {margin-top:1rem;}
}

#cp {color:#999;}

/*========================================================
gnav
========================================================*/
h1 {padding:0;max-width:146px;width:30%;}
#gnav.navbar-collapse {
	position: fixed;
	left:0;
	top:0;
	width:100%;
	height:100% !important;
	overflow: hidden;
	z-index:10000;
	background:rgba(0, 0, 0, 0.7);
	opacity:0;
	transition:opacity 0.3s linear;
}
#gnav.navbar-collapse.collapsing {
	display:block;
}
#gnav.navbar-collapse.show {
	display:block;
	opacity:1;
}

#gnav.navbar-collapse ul {
	background:#000;
	padding:6rem 2rem 2rem;
	position: absolute;
	top:0;
	right:-250px;
	width:250px;
	height:100%;
	transition: all 0.3s ease-in-out;
}
#gnav.navbar-collapse.show ul {right:0;}
#gnav.navbar-collapse ul li:nth-of-type(n+2) {margin-top:1rem;}
#gnav.navbar-collapse ul li a {color:#fff;}
#gnav.navbar-collapse ul li a:hover {text-decoration:underline;}


/*========================================================
wrapper
========================================================*/
#wrapper > *:first-child {
	margin-top:12rem;
}

#breadcrumbs {
	margin-top:7rem !important;
	margin-bottom:3rem;
	font-size:0.9rem;
}
#breadcrumbs li {
	display:inline-block;
}
#breadcrumbs li::after {
	content:"";
	display:inline-block;
	border-top:1px solid #323232;
	border-right:1px solid #323232;
	width:0.6em;
	height:0.6em;
	transform:rotate(45deg);
	margin-left:0.5em;
	margin-right:0.5em;
}
#breadcrumbs li:last-child::after {display:none;}


/*========================================================
コンテナ
========================================================*/
.constBox {
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}

/*========================================================
ブロックレイアウト
========================================================*/
.blockList_01 li a {
	color:#323232;
	text-decoration: none !important;
}
.blockList_01 li {
	margin-bottom:2em;
}
.blockList_01 li figure {
	overflow: hidden;
}
.blockList_01 li figure img {
	transition:all 7s linear;
}
.blockList_01 li a:hover figure img {transform:scale(1.5);}
.blockList_01 li .tit {
	font-size:1.2rem;
	font-weight: bold;
}
.blockList_01 li .desc {
	font-size:1rem;
}
.blockList_01 li .date {
	font-size:0.9rem;
	color:#999;
}


/*========================================================
見出し
========================================================*/
.heading01 {
	font-size:2.5rem;
	font-weight:normal;
	line-height:1.4;
	text-align: center;
	margin-bottom:5rem;
}
.heading01 span.en {
	display:block;
	font-size:0.9rem;
}

.heading02 {
	font-size:1.57rem;
	font-weight:normal;
	text-align: center;
}

/*========================================================
テーブル
========================================================*/
.tbl-1 th,
.tbl-1 td {
	padding:1rem 1rem 1rem 0;
	border-bottom:1px solid #e5e5e5;
}

/*========================================================
フォーム
========================================================*/
.form-1 {
	font-size:1.2rem;
}
.form-1 .form-group {margin-bottom:3rem;}
.form-1 .form-group label {font-weight:bold;}
.form-1 .form-group label span {font-size:0.9rem;color:#9ea1a3;font-weight:normal;display:inline-block;margin-left:1rem;}
.form-1 .form-control {
	border-radius:0;
	border:none;
	/*padding:1.5rem;*/
	background:#efefef;
}

.form-1 .btn {
	font-size:1.2rem;
	padding:1rem;
	width:40%;
	max-width:280px;
}
.form-1 .btn .en {
	font-size:11px;
	color:#9ea1a3;
	display:block;
	margin-left:0;
}



/*========================================================
新規会員登録
========================================================*/
/*利用規約*/
#register-terms {
	max-height:15em;
	overflow: auto;
	padding:2rem;
}


/*========================================================
FAQ
========================================================*/
.faq-list li:nth-of-type(n+2) {
	margin-top:2rem;
	padding-top:2rem;
	border-top:1px solid #f3f3f2;
}
.faq-list li dt,
.faq-list li dd {
	padding-left:2.5rem;
	position: relative;
}
.faq-list li dd {margin-top:1rem;}

.faq-list li dt::before,
.faq-list li dd::before {
	display:block;
	position: absolute;
	left:0;
	font-weight:bold;
	font-size:2rem;
	font-family: 'Open Sans', sans-serif;
	line-height: 1;
}
.faq-list li dt::before {
	content:"Q";
}
.faq-list li dd::before {
	content:"A";
}

/*========================================================
商品詳細
========================================================*/
.item-detail-head {
	font-size:1.8rem;
	text-align:center;
}
.item-detail-head .font-weight-bold {
	font-size:1.4rem;
}

#item-desc {
	margin-top:3rem;
	padding-top:3rem;
	border-top:1px solid #323232;
}

.pkg-list > li > div {
	border:1px solid #323232;
	padding:1rem 0;
	margin-bottom:2rem;
}
.pkg-list > li > div > * {margin-bottom:0;}
.pkg-list > li figure {
	text-align: center;
}
.pkg-list > li .d-flex > div {
	width:50%;
	margin-left:auto;
}

.pkg-list > li .d-flex > div > *:nth-child(n+2) {
	margin-top:0.5rem;
}
.pkg-list > li p.code {
	font-size:12px;
	color:#999;
}

.select-box .inner {
	border:2px solid #323232;
	padding:0.5rem;
	display:inline-block;
}
.select-box select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border:none;
	padding-left:1rem;
	padding-right:1rem;
}
select::-ms-expand {display:none;}
.select-box label {
	position: relative;
	display: inline-block;
	margin:0;
}
.select-box label::after {
	content:"";
	display:block;
	border:0.3rem solid #323232;
	border-left-color:transparent;
	border-bottom-color:transparent;
	pointer-events: none;
	position: absolute;
	top:50%;
	right:0.1rem;
	transform:translateY(-50%) scaleX(0.7) rotate(135deg);
}


/*========================================================
カート
========================================================*/
.cart-tbl {text-align:center;}
.cart-tbl tr > * {
	vertical-align: middle;
	padding:1.5rem 1rem;
}
.cart-tbl thead tr > *{
	background:#f0f0f0;
	font-size:1.2rem;
	font-weight: normal;
}

.cart-tbl tbody td {
	border-bottom:1px solid #e5e5e5;
}

.cart-tbl td.amount-area {width:85px;font-size:1.2rem;}
.cart-tbl td.subtotal-area {width:auto;font-size:1.2rem;}

.cart-tbl td.item-detail-area {
	text-align:left;
	line-height:1.3;
}

.cart-tbl td.item-detail-area figure {
	margin:0;
	max-width:160px;
	width:40%;
}
.cart-tbl td.item-detail-area div div {
	padding-left:1rem;
}
.cart-tbl td.item-detail-area p.code {
	font-size:11px;
	color:#999;
	margin-bottom:0.2em;
}
.cart-tbl td.item-detail-area p.tit {
	font-size:1.2rem;
}
.cart-tbl td.item-detail-area p.price {
	font-size:1.2rem;
}
.cart-tbl td.item-detail-area p.price span {font-weight:bold;}

@media(max-width:575px) {
	.cart-tbl tr > * {padding:1.5rem 0.5rem;}
	.cart-tbl td.amount-area {width:70px;}
	.cart-tbl td.item-detail-area figure {width:100%;}
	.cart-tbl td.item-detail-area div div {padding:0;}
}

/*ボタン*/
.cart-tbl .remove-area a {
	color:#9ea1a3;
	display:block;
	padding:0.5em;
	font-size:1.5rem;
}

.cart-tbl .amount-area a {
	color:#323232;
	font-size:1.5rem;
	display:inline-block;
}

@media(max-width:575px) {
	.cart-tbl .remove-area a {font-size:1rem;}
	.cart-tbl .amount-area a {font-size:1.3rem;}
}

.total-area table {font-size:1.2rem;text-align: right;}
.total-area table th {
	font-weight:normal;
}
.total-area table td {
	width:8rem;
	padding-left:2rem;
	font-weight:bold;
}
.total-area table tr:last-child {
	color:#a91515;
}
.total-area table tr:last-child th {font-weight:bold;}
/*.total-area table tr:last-child td {font-weight:bold;font-size:1.5rem;}*/
.total-area table tr:last-child td {font-weight:bold;font-size:1.2rem;}

.total-area form .btn {
	margin:0 0.5rem;
	width:100%;
	max-width:220px;
	text-align: left;
	margin-top:1rem;
	padding-top:1rem;
}
.total-area form .btn span.en {display:inline-block !important;}

