@charset "UTF-8";

/*base
----------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Roboto');
@import url("http://fonts.googleapis.com/earlyaccess/notosansjapanese.css");

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/Roboto-Regular.eot");
  src: url("../fonts/Roboto-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Roboto-Regular.woff") format("woff"), url("../fonts/Roboto-Regular.ttf") format("truetype");
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/Roboto-Bold.eot");
  src: url("../fonts/Roboto-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Roboto-Bold.woff") format("woff"), url("../fonts/Roboto-Bold.ttf") format("truetype");
}
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/RobotoCondensed-Regular.eot");
  src: url("../fonts/RobotoCondensed-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/RobotoCondensed-Regular.woff") format("woff"), url("../fonts/RobotoCondensed-Regular.ttf") format("truetype");
}
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/RobotoCondensed-Bold.eot");
  src: url("../fonts/RobotoCondensed-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/RobotoCondensed-Bold.woff") format("woff"), url("../fonts/RobotoCondensed-Bold.ttf") format("truetype");
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/NotoSansCJKjp-Regular.eot");
  src: url("../fonts/NotoSansCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Regular.woff") format("woff"), url("../fonts/NotoSansCJKjp-Regular.ttf") format("truetype");
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/NotoSansCJKjp-Bold.eot");
  src: url("../fonts/NotoSansCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("../fonts/NotoSansCJKjp-Bold.ttf") format("truetype");
}
@font-face {
  font-family: 'SymbolFont';
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/SymbolFont.eot?tzri0l");
  src: url("../fonts/SymbolFont.eot?#iefixtzri0l") format("embedded-opentype"), url("../fonts/SymbolFont.woff?tzri0l") format("woff"), url("../fonts/SymbolFont.ttf?tzri0l") format("truetype"), url("../fonts/SymbolFont.svg?tzri0l#SymbolFont") format("svg");
}

html {
  height: 100%;
  font-size: 62.5%;
}

body {
	font-family: "Noto Sans", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', 'sans-serif';
  font-size: 16px;
  font-size: 1.6rem;
	color: #000;
}

.kozuka {
	font-family: '小塚ゴシック Pro L','Kozuka Gothic Pro Light',sans-serif;
}

.cf:after {
	content: "";
	clear: both;
	display: block;
}

.inner {
	max-width: 980px;
	margin: 0 auto;
	padding: 0 20px;
}

.container-fluid {
	padding: 0 !important;
}

.hv-op0,
.hv-op {
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

#contents {
	padding-top: 0;
}

a {
	color: #525263;
	-moz-transition: all 0.5s !important;
  -o-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
  transition: all 0.5s !important;
}

a:hover, a:focus {
	color: #5f5f5f;
}

a:hover, a:focus, a:active {
 	-moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

select {
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
}

select::-ms-expand {
  display: none;
}

.page-heading {
	font-size: 24px;
	font-size: 2.4rem;
	border-top: none;
}

.block {
	display: block;
}

.bg-danger {
	font-size: 18px;
	font-size: 1.8rem;
}

.pc-mode,
.pc-mode767 {
	display: block;
}
.sp-mode {
	display: none;
}
.sp-mode767 {
	display: none;
}

@media only screen and (max-width: 1225px) {
	.pc-mode {
		display: none;
	}
	.sp-mode {
		display: block;
	}
}

@media only screen and (min-width: 768px) {
	img:hover {
		opacity: 0.8;
		-moz-transition: 0.5s;
		-o-transition: 0.5s;
		-webkit-transition: 0.5s;
		transition: 0.5s;
	}
}

@media only screen and (max-width: 767px) {
	.pc-mode767 {
		display: none;
	}
	
	.sp-mode767 {
		display: block;
	}
	
	.row {
		margin: 0;
	}
}

/*header
----------------------------------------------------------*/

#header {
	height: 61px;
	padding-top: 0;
}

@media only screen and (min-width: 1210px) {
  #header {
    z-index: auto;
  }
}

.header-main-logo {
	position: relative;
	display: inline-block;
	width: 102px;
	margin: 0 24px 0 0;
	vertical-align: top;
	z-index: 100;
}

.header-wrap {
	height: 61px;
	border-bottom: 1px solid #ccc;
	font-family: 'Roboto Condensed'
}

#category_id {
	display: none;
}

#cart_area {
	display: inline-block;
	top: 0;
	right: 100px;
}

#cart_area p {
	float: none;
	width: auto;
}

#search {
	display: inline-block !important;
	position: absolute;
	top: 0;
	right: 201px;
	width: 203px;
	height: 61px;
}

@media only screen and (max-width: 1225px) {
  .search_inner,
  #search {
    height: 1px;
  }
}

.search .input_search {
	padding: 0 0 0 1em ;
}

.search_inner img {
	width: 20px;
	margin: 0 auto;
}

#member {
	height: 61px;
}

.login-link {
	display: block;
	position: absolute;
  width: 100px;
  height: 61px;
  top: 0;
  right: 0;
	padding-top: 13px;
  font-size: 18px;
  text-align: center;
  line-height: 0.9;
  color: #000;
}

.login-link span {
	font-size: 9px;
	color: #999;
}

.hide-search {
	display: block;
}

.member_link {
	font-size: 0;
}

.member_link .icon-03 {
	width: 22px;
	padding-top: 8px;
}

.member_link .icon-04 {
	display: block;
	width: 29px;
	padding-top: 14px;
}

#cart .inner {
	position: absolute;
    right: 0;
    top: 16px;
}

#header #cart_area {
	border-right: 1px solid #999;
	height: 61px;
}

#header #cart_area p.cart-trigger .badge {
	position: absolute;
	width: 19px;
	left: 26px;
	top: 9px;
	font-family: 'Roboto Condensed';
	font-size: 10px;
	font-size: 1rem;
	padding: 3px;
}

#cart_area p.cart-trigger {
	min-width: 20px !important;
	position: relative;
  right: 7px;
  top: 1px;
	height: 61px;
}

#category {
	display: none !important;
}

#header #category {
	width: auto;
	padding: 0;
	font-size: 0;
}

#header #category .category-parents {
	display: inline-block;
	width: 76px;
	margin: 0;
	padding: 14px 0 14px;
}

#header #category .category-parents:hover {
	background: #5f5f5f;
}

#header #category .category-parents ul {
	width: 1017%;
	background: #5f5f5f;
}

#header #category .category-parents ul .category-parents {
	position: relative;
	width: auto;
	padding: 0 20px;
}

#header #category .category-parents ul .category-parents ul {
	width: 100%;
}

#header #category .category-parents ul .category-parents ul .category-parents {
	padding: 0;
}

#header #category .category-parents ul .category-parents a {
	font-size: 12px;
	font-size: 1.2rem;
	color: #fff;
	border: none;
}

#header .category-nav li ul li ul {
	top: 50px;
  left: 0;
  display: block;
}

/*
#header #category .category-parents ul .category-parents ul .category-parents {
	display: none;
}*/

.category-nav li {
    font-size: 18px;
    text-align: center;
}

.category-nav a {
	color: #000;
}

.category-nav li span  {
	font-size: 9px;
	color: #999;
}

#header .category-nav {
	border: none;
}

#header .category-nav > li > a {
	height: 100%;
	line-height: 1;
	padding: 0;
}

#header .search .input_search {
/*  width: 200px; */
	width: 100%;
	height: 50px;
/*  margin-top: 10px; */
	margin: 0;
	line-height: 61px;
	border: none;
	padding: 0;
}

.search input[type="search"] {
	height: 40px;
	padding: 10px 44px 10px 5px;
	border-bottom: 1px solid #000;
	margin-top: 6px;
}

.bt_search {
	top: 6px;
	left: auto;
	right: 0;
}

.search-btn-wrap {
	display: none;
}

.info-elm {
	position: absolute;
	top: 0;
	right: 0;
	height: 61px;
}

.info-elm a {
	padding: 19px 10px;
}

.info-btn-wrap img {
	width: 26px;
}

#btn_menu {
	display: none;
}

#drawer {
	background: #fff;
}

#drawer .category-nav li a {
	height: auto;
	padding: 15px 10px 7px;
	line-height: 1.5;
	-webkit-box-sizing : border-box;
	-moz-box-sizing : border-box;
	box-sizing : border-box;
	text-align: left;
	color: #000;
	line-height: 1;
}

#drawer .category-nav li a span {
	padding-left: 5px;
	font-size: 12px;
	font-size: 1.2rem;
}

#drawer .category-nav li a br {
	display: none;
}

.member_link a {
	height: 61px;
}

.drawer {
	width: 320px;
}

/*デフォルトを非表示*/

#header #cart_area .cart_price　{
	display: none !important;
}

#cart_area p {
	border: none !important;
}

.cart-is-visible .cb-close {
	display: none;
}

#cart_item_list__cart_remove .cb-close {
	display: block;	
}

@media only screen and (max-width: 1225px) {
	#category {
		display: block;
	}
	#btn_menu {
		display: block !important;
	}
	.nav-trigger {
		height: 61px;
		padding: 0 17px;
	}
	.nav-trigger span {
		right: 23px;
	}
	#search {
		width: auto;
		right: 121px;
		z-index: 30;
		position: static;
	}
	.search-btn-wrap{
		display: block;
    position: absolute;
    width: 24px;
    height: 61px;
    padding: 19px 0 15px;
    top: 0;
/*    right: 50px; */
    right: 183px;
    cursor: pointer;
    z-index: 2000;
	}
	.search-btn-wrap img {
		width: 22px;
	}
	#cart_area {
		right: 74px;
		width: 100px;
	}
	.member_link .login-link {
		top: 0;
		right: 0;
	}
	.login_link {
		display: none;
	}
	#drawer .login_link {
		display: block !important;
	}
	#search {
		right: 121px;
		background: none;
		padding: 0;
	}
	#searchform {
		position: absolute;
		top: 61px;
		/* right: 57px; */
		right: auto;
		left: 0;
		width: 100%;
	}
	#member {
		position: absolute;
		right: 0;
		width: 100px;
	}
	#cart_area p.cart-trigger {
		right: 6px;
	}
	.member ul li {
		display: inline-block;
	}
	.drawer .member_link {
		display: none;
	}
	.member_link .icon-04 {
		padding-top: 17px;
	}
	#header .search .input_search {
		margin-top: 0;
		/* height: 44px; */
		height: 64px;
		background: #fff;
		padding: 10px;
		border-bottom: 1px solid #ccc;
		box-shadow: 0 10px 15px -15px rgba(0,0,0,0.4);
	}
	.bt_search {
		/* top: 1px; */
		top: 10px;
		right: 10px;
		background: #5f5f5f;
	}
	.hide-search {
		display: none;
	}
	.search input[type="search"] {
		height: 44px;
		/* margin-top: 0; */
		margin: 0;
		/* color: #fff; */
		color: #333;
		/* background: #5f5f5f; */
		background: #efefef;
		border-bottom: none;
		vertical-align: top;
	}
	.login-link {
		padding-top: 18px;
	}
}

@media only screen and (max-width: 390px) {
	#cart_area {
		right: 52px;
		width: 87px;
	}
	.nav-trigger {
		padding: 0 6px;
	}
	.nav-trigger span {
		right: 13px;
	}
	.member_link a {
		padding: 0 5px;
	}
	#search {
		/* width: 34px; */
		width: 66px;
		/* right: 140px; */
		right: 113px;
	}
/*
	#search:after {
		display: none;
	}
*/
	.search-elm {
		padding: 0;
	}
	.search-btn-wrap {
		/* position: static; */
		/* text-align: center; */
		right: 141px;
	}
	#searchform {
    width: 100%;
		/* right: -85px; */
		right: auto;
	}
	.info-elm a {
		padding: 19px 0;
	}
	#member {
		width: 88px;
		/* right: 0; */
		right: -7px;
	}
	#cart_area p.cart-trigger {
		right: 0;
	}
}


/*footer
----------------------------------------------------------*/

#footer {
	height: auto;
	margin: 0;
	padding-top: 0;
}

.footer-logo {
	text-align: center;
}

.footer-logo img {
	width: 100px;
	height: 57px;
	margin-bottom: 6px;
}

.footer-list {
	padding: 16px 0 20px 20px;
	font-size: 12px;
	font-size: 1.2rem;
	width: 100%;
	margin: 0 auto;
}

.footer-list li:first-child {
	position: relative;
}

.footer-list li:first-child:after {
	position: absolute;
	right: -22px;
	content: "";
	width: 1px;
	height: 14px;
	background: #5f5f5f;
}

.footer-list li:nth-child(2),
.footer-list li:nth-child(3) {
	position: relative;
}

.footer-list li:nth-child(2):after,
.footer-list li:nth-child(3):after {
	position: absolute;
	right: -22px;
	content: "";
	width: 1px;
	height: 14px;
	background: #5f5f5f;
}

.footer-list li a:hover {
	text-decoration: underline !important;
}

#footer ul li {
	margin: 0px 26px 0 12px;
}

.footer_logo_area {
	margin-top: 12px;
}

.footer_logo_area .copyright + .copyright {
	margin-top: 2px;
}
.footer_logo_area .copyright{
	padding-left: 10px;
	padding-right: 10px;
	font-size: 10px;
	font-size: 1rem;
	letter-spacing: 0.07em;
}

@media only screen and (max-width: 767px) {
	.info-list {
		display: block !important;
		padding: 5px 0;
	}
	.footer-list {
		padding-left: 0;
	}
	.footer-list li:first-child:after,
	.footer-list li:nth-child(2):after,
	.footer-list li:nth-child(3):after{
		display: none;
	}
}

@media only screen and (max-width: 390px) {
	.footer-list {
		width: auto;
	}
	.footer-list li:first-child:after {
		display: none;
	}
	#footer ul li {
		margin: 0 20px 5px;
	}
	
}

/*sns area
----------------------------------------------------------*/

.sns-area {
	width: auto;
	color: #fff;
	background: #5f5f5f;
	padding: 15px 0 19px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.sns-area .h2-text {
	margin: 0 0 17px 0;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
}

.sns-inner {
	width: auto;
	margin: 0 auto;
}

.sns-list {
	width: 500px;
	margin: 0 auto;
}

.sns-list li {
	display: inline-block;
	margin: 0 !important;
	-moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.sns-list li .sns-list-inner {
	padding-left: 21px;
}

.sns-list li .image-elm {
	height: 30px;
}

.sns-list li a:hover {
	text-decoration: none !important;
}

.sns-list li.facebook {
	width: 60px;
	margin-left: 5px !important;
	background-position: 1px -2px;
}

.sns-list li.twitter {
	width: 70px;
	background-position: 1px -2px;
}

.sns-list li.pinterest .sns-list-inner {
	padding-left: 60px;	
}

.sns-list li.pinterest {
	width: 97px;
	background-position: 1px -2px;
}

.sns-list li.pinterest .sns-list-inner {
	padding-left: 60px;	
}

.sns-list li.line {
	width: 97px;
	background-position: 1px -2px;
}

.sns-list li.line .sns-list-inner {
	padding-left: 60px;	
}

.sns-list li.ameblo {
	width: 106px;
	background-position: 1px -2px;
}

.sns-list li.ameblo .sns-list-inner {
	padding-left: 55px !important;	
	word-break: break-all;
}

.sns-list li:first-child a:hover .sns-list-inner {
	color: #315096 !important;
	-moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s;
	
}

.sns-list li:nth-child(2) a:hover .sns-list-inner {
	color: #000 !important;
	-moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.sns-list li:nth-child(3) a:hover .sns-list-inner {
	color: #ce0f19 !important;
	-moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.sns-list li.line a:hover .sns-list-inner {
	color: #00c300 !important;
	-moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.sns-list li.ameblo a:hover .sns-list-inner {
	color: #2B8C3B !important;
	-moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.sns-list li:first-child .image-elm {
	width: 23px;
	height: 30px;
	background: url(../img/common/sns-icon-01.png) no-repeat;
	background-size: 23px auto;
	-webkit-background-size: 23px auto;
	background-position: 1px -2px;
}

.sns-list li:first-child .image-elm:hover {
	width: 23px;
	height: 30px;
	background: url(../img/common/sns-icon-01-on.png) no-repeat;
	background-size: 23px auto;
	-webkit-background-size: 23px auto;
	background-position: 1px -2px;
	-moz-transition: all 0.5s !important;
  -o-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
  transition: all 0.5s !important;
}

.sns-list li:nth-child(2) .image-elm {
	width: 61px;
	background: url(../img/common/sns-icon-02.png) no-repeat;
	background-size: 61px auto;
	-webkit-background-size: 61px auto;
	background-position: 1px -2px;
}

.sns-list li:nth-child(2) .sns-list-inner {
	padding-left: 60px;
}

.sns-list li:nth-child(2) .image-elm:hover {
	width: 61px;
	background: url(../img/common/sns-icon-02-on.png) no-repeat;
	background-size: 61px auto;
	-webkit-background-size: 61px auto;
	background-position: 1px -2px;
	-moz-transition: all 0.5s !important;
  -o-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
  transition: all 0.5s !important;
}

.sns-list li:nth-child(3) {
	margin-left: -5px !important;
}

.sns-list li:nth-child(3) .image-elm {
	width: 68px;
	background: url(../img/common/sns-icon-03.png) no-repeat;
	background-size: 63px auto;
	-webkit-background-size: 63px auto;
	background-position: -2px 0;
}

.sns-list li:nth-child(3) .image-elm:hover {
	width: 68px;
	background: url(../img/common/sns-icon-03-on.png) no-repeat;
	background-size: 63px auto;
	-webkit-background-size: 63px auto;
	background-position: -2px 0;
	-moz-transition: all 0.5s !important;
  -o-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
  transition: all 0.5s !important;
}

.sns-list li.line .image-elm {
	width: 85px;
	background: url(../img/common/sns-icon-04.png) no-repeat;
	background-size: 61px auto;
	-webkit-background-size: 61px auto;
	background-position: 1px -2px;
}

.sns-list li.line .image-elm:hover {
	width: 85px;
	background: url(../img/common/sns-icon-04-on.png) no-repeat;
	background-size: 61px auto;
	-webkit-background-size: 61px auto;
	background-position: 1px -2px;
	-moz-transition: all 0.5s !important;
  -o-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
  transition: all 0.5s !important;
}

.sns-list li.ameblo .image-elm {
	width: 116px;
	margin-left: -16px;
	background: url(../img/common/sns-icon-05.png) no-repeat;
	background-size: 59px auto;
	-webkit-background-size: 59px auto;
	background-position: 1px -2px;
}

.sns-list li.ameblo .image-elm:hover {
	width: 116px;
	margin-left: -16px;
	background: url(../img/common/sns-icon-05-on.png) no-repeat;
	background-size: 59px auto;
	-webkit-background-size: 59px auto;
	background-position: 1px -2px;
	-moz-transition: all 0.5s !important;
  -o-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
  transition: all 0.5s !important;
}

.sns-list .sns-list-inner {
	font-size: 10px;
	font-size: 1rem;
	color: #fff;
}

@media only screen and (max-width: 767px) {
	.sns-list {
		width: auto;
		margin: 0;
	}
	.sns-list li {
		padding-bottom: 10px;
	}
	
}

/*top
----------------------------------------------------------*/

.cashless_area {
  padding: 25px 20px 0;
  text-align: center;
}

.main_visual {
/*	padding-top: 40px; */
	padding-top: 25px;
}

.main_visual .slick-dots {
	left: 5px;
	bottom: 10px;
}

.main_visual img:not(:first-child){
	display: none;	
}

.slick-slide img {
	display: block;
}

.h2-text {
	text-align: center;
	font-size: 26px;
	font-size: 2.6rem;
}

@media only screen and (max-width: 1225px) {
	#main_middle .col-sm-12 {
		padding: 0;
	}
	#contents_top #item_list {
		padding: 0 5px;
	}
	.category-area {
		padding: 53px 10px 23px;
	}
	.category-area .row {
		padding: 0;
	}
	.newslist dt .news_title {
		padding-left: 40px;
	}
	#contents_top #item_list {
		padding: 0 15px;
	}
	.degital-catalog-area {
		padding: 29px 15px 19px;
	}
	.new-product-area .col-sm-4 {
		padding: 0 5px;
	}
	#cart .inner {
		position: fixed;
		top: 61px;
		width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	.main_visual .slick-dots {
		bottom: 0;
	}
	.slick-dots li {
		width: 10px;
		height: 10px;
	}
	.slick-dots li button:before {
		width: 6px;
		height: 6px;
	}
	.slick-dots li button:after {
		width: 8px;
		height: 8px;
	}
}

/*モーダル
----------------------------------------------------------*/

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999999;
  filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000,endColorstr=#80000000); 
  background: rgba(0, 0, 0, 0.5);
}

.modal-wrap {
  height: 100%;
  padding: 0 30px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.modal-content {
  height: 500px;
  max-width: 960px;
  margin: 30% auto;
}

.modal-table-wrap {
  display: table;
  table-layout: fixed;
  height: 100%;
  width: 100%;
}

.modal-table-cell {
  display: table-cell;
  padding: 60px 0 60px;
  vertical-align: middle;
}

.modal-content-box {
  position: relative;
  margin: 0 auto;
  background: #fff;
}

.modal-content-inner {
  padding: 50px 30px 50px;
}

.modal-btn-close {
  position: absolute;
  top: -40px;
  right: 0;
  z-index: 9;
  height: 30px;
  width: 30px;
  cursor: pointer;
}
.modal-btn-close span {
  display: block;
  background: #fff;
  height: 2px;
  width: 30px;
}
.modal-btn-close .bar01 {
  -moz-transform: translateY(15px) rotate(-45deg);
  -ms-transform: translateY(15px) rotate(-45deg);
  -webkit-transform: translateY(15px) rotate(-45deg);
  transform: translateY(15px) rotate(-45deg);
}
.modal-btn-close .bar02 {
  -moz-transform: translateY(13px) rotate(45deg);
  -ms-transform: translateY(13px) rotate(45deg);
  -webkit-transform: translateY(13px) rotate(45deg);
  transform: translateY(13px) rotate(45deg);
}

@media only screen and (max-width: 768px) {
  .modal-wrap {
    padding: 0 3.125%;
  }

  .modal-content-inner {
    padding: 40px 3.33333% 40px;
  }
}

/*スライダー
----------------------------------------------------------*/
.slick-slide img:hover {
	opacity: 1;
}

/*メガメニュー
----------------------------------------------------------*/

.menu-container {
		display: inline-block;
    width: 80%;
    margin: 0 auto;
}

.menu-mobile {
    display: none;
}

.menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;
    position: relative;
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
    box-sizing: border-box;
}

.menu > ul:before,
.menu > ul:after {
    content: "";
    display: table;
}

.menu > ul:after {
    clear: both;
}

.menu > ul > li {
  float: left;
	height: 61px;
  padding: 0 5px 0 5px;
	text-align: center;
}

.menu > ul > li a {
	padding: 15px 10px 16px; 
  text-decoration: none;
  display: block;
	font-size: 18px;
	font-size: 1.8rem;
	color: #000;
	line-height: 0.8;
	text-align: center;
}

.menu > ul > li a span {
	font-size: 9px;
	font-size: .9rem;
	color: #999;
}

.menu > ul > li:hover {
    background: #5f5f5f;
}

.menu > ul > li:hover a {
	 	color: #fff;
		-moz-transition: all 0.5s;
		-o-transition: all 0.5s;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
}

.menu > ul > li:hover a span {
	 	color: #fff;
		-moz-transition: all 0.5s;
		-o-transition: all 0.5s;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
}

.menu > ul > li > ul {
    display: none;
    width: 790px;
    background: #5f5f5f;
    padding: 22px 20px 20px 20px;
    position: absolute;
    z-index: 99;
    left: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li {
    margin: 0;
		padding-right: 10px;
    padding-bottom: 0;
    list-style: none;
    width: 150px;
    background: none;
    float: left;
}

.menu > ul > li > ul > li a {
		padding: 0;
    color: #fff;
    width: 100%;
    display: block;
		font-size: 14px;
		font-size: 1.4rem;
		text-align: left;
}

.menu > ul > li > ul > li > ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul > li > ul:before,
.menu > ul > li > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li > ul > li {
    float: left;
    width: 100%;
    padding: 8px 0 6px;
    margin: 0;
}

.menu > ul > li > ul > li > ul > li a {
    border: 0;
		font-size: 11px;
		font-size: 1.1rem;
}

.menu > ul > li > ul.normal-sub {
    width: 300px;
    left: auto;
    padding: 10px 20px;
}

.menu > ul > li > ul.normal-sub > li {
    width: 100%;
}

.menu > ul > li > ul.normal-sub > li a {
    border: 0;
    padding: 1em 0;
}


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

@media only screen and (max-width: 1225px) {
    .menu-container {
        display: none;
    }
		.menu-mobile {
        display: none !important;
    }
		.menu-dropdown-icon > .icon-box,
	  .menu-dropdown-icon-02 > .icon-box {
				content: "";
				display: none;
				cursor: pointer;
				background: url(../img/common/icon-plus.png) no-repeat;
				background-size: 12px 12px;
				-webkit-background-size : 12px 12px;
				background-position: center center;
		}
		.menu-dropdown-icon > .on,
	  .menu-dropdown-icon-02 > .on {
				content: "";
				display: none;
				cursor: pointer;
				background: url(../img/common/icon-minus.png) no-repeat;
				background-size: 12px 12px;
				-webkit-background-size : 12px 12px;
				background-position: center center;
		}
		.menu-dropdown-icon-02 {
				background: none !important;
		}
		.menu-dropdown-icon {
				position: relative;
		}
		.menu-dropdown-icon-02 {
				position: relative !important;
				height: 75px;
		}
    .menu-dropdown-icon .icon-box {
        display: block;
				position: absolute;
				width: 78px;
				height: 40px;
				top: 0;
				right: 0;
				z-index: 20;
				cursor: pointer;
    }
		.menu-dropdown-icon-02:before {
				display: block !important;
				position: absolute;
				width: 78px;
				height: 40px;
				right: 0;
				z-index: 20;
		}
    .menu > ul {
        display: block;
			　overflow-y: scroll;
    }
    .menu > ul > li {
				display: block;
        width: 100%;
				height: auto;
        float: none;
				margin: 0;
				padding: 0;
				border-bottom: 1px solid #ccc;
		}
		.menu > ul > li:first-child {
				border-top: 1px solid #ccc;
		}
		.menu > ul > li:hover {
			background: #fff;
		}
		.menu > ul > li:hover a span {
			color: #999;
		}
    .menu > ul > li a {
        width: 100%;
        display: block;
				padding: 11px 18px 11px 18px;
				font-size: 18px;
				font-size: 1.8rem;
    }
    .menu > ul > li > ul {
				position: relative;
				width: 100%;
				top: 0;
				margin: 0;
				padding: 0;
				height: auto;
				min-height: 1px; 
				background: #ebebeb;
			  z-index: 0;
    }
    .menu > ul > li > ul.normal-sub {
        width: 100%;
    }
		.menu > ul > li > ul > .category-parents {
				position: relative;
		}
    .menu > ul > li > ul > li {
				display: block;
        float: none;
        width: 100%;
				max-width: none;
				height: auto;
        margin-top: 0;
				padding-right: 0;
				border-bottom: 1px solid #f6f6f6;
				-webkit-box-sizing : border-box ;
				-moz-box-sizing : border-box ;
				box-sizing : border-box ;
    }
		.menu > ul > li > ul > li .icon-box {
			display: none;
		}
		.menu-dropdown-icon-02 .icon-box {
			display: block !important;
			opacity: 0.4;
		}
		.menu > ul > li > ul > li a {
			  padding: 14px 0 14px 20px !important;
				border: none;
				font-size: 12px;
				font-size: 1.2rem;
				text-align: center;
		}
		/*.menu > ul > li > ul > li:hover {
			background: #ebebeb;
			background-image: url(../img/common/page-arrow-r.png);
			-moz-transition: all 0.5s;
			-o-transition: all 0.5s;
			-webkit-transition: all 0.5s;
			transition: all 0.5s;
			background-size: 11px auto;
			-webkit-background-size: 11px auto;
			background-position: 89% center;
			background-repeat: no-repeat;
		}*/
    .menu > ul > li > ul > li:first-child {
        margin: 0;
				border: none;
				border-top: 1px solid #ccc;
				border-bottom: 1px solid #f6f6f6;
    }
    .menu > ul > li > ul > li > ul {
				position: relative;
			  display: none;
				width: 100%;
				margin: -1px 0 0 0;
				background: #5f5f5f;
				z-index: 30;
				font-size: 0;
				overflow: auto;
		}
		.menu > ul > li > ul > li > ul:after {
				content: "";
				position: absolute;
			  bottom: 0;
			  width: 100%;
			  height: 1px;
			  background: #aaa;
		}
    .menu > ul > li > ul > li > ul > li {
				width: 50% !important;
				height: 41px;
				padding: 0;
				border: none;
				font-size: 12px;
				font-size: 1.2rem;
    }
		.menu > ul > li > ul > li > ul > li a {
				padding: 14px 0 14px 20px !important;
				border-bottom: 1px solid #aaa;
				-webkit-box-sizing : border-box ;
				-moz-box-sizing : border-box ;
				box-sizing : border-box ;
				font-size: 12px;
				font-size: 1.2rem;
				color: #fff !important;
		}
		.menu > ul > li > ul > li > ul > li:nth-child(odd) {
				position: relative;
		}
		.menu > ul > li > ul > li > ul > li:nth-child(odd):after {
				position: absolute;
				top: 5px; 
				right: 0;
				content: "";
				width: 2px;
				height: 30px;
				background: #aaa;
		}
		.menu > ul > li > ul > li > ul > li:first-child {
				border-top: none;
		}
    .menu .show-on-mobile {
        display: block;
    }
		.menu > ul > li > ul > li > ul > li > .icon-box {
			display: none;
		}
}

@media only screen and (max-width: 500px) {
		.drawer {
				width: 100%;
		}
}

#top_box__button_menu {
	padding: 20px 0 50px;
}

#top_box__button_menu .btn-block {
	margin-bottom: 20px;
}

#confirm_box__button_menu {
	padding-bottom: 50px;
}

#confirm_box__button_menu .btn-block {
	margin-bottom: 20px;
}

#entry_email_first,
#entry_email_second {
	border: 1px solid #000 !important;
	padding: 0 10px;
}


#deliveradd_input {
	padding-bottom: 0;
}

#activate_box__top_button {
	padding-top: 40px;
	margin-bottom: 100px;
}

#deliveradd_input_box__top_button {
	margin: 40px 0 100px;
}

#deliveradd_input_box__message .heading01 {
	margin-bottom: 40px;
}

/*買い物カート
----------------------------------------------------------*/
.flowline li.active {
	color: #e60012;
}

.flowline li.active .flow_number {
	background: #e60012;
}

.flowline ul::before {
	background: #000;
}

.badge {
	background-color: #e60012;
}

.flowline li .flow_number {
	background: #000;
}

.btn-primary {
	margin: 0 0 10px;
	color: #fff;
	background-color: #000;
	border-color: #000;
	-moz-transition: all 0.5s !important;
  -o-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
  transition: all 0.5s !important;
}
.btn-primary:hover {
	color: #000;
	background-color: #fff;
	border-color: #000;
}

.btn-info {
	color: #000;
	background-color: #fff;
	border-color: #000;
	-moz-transition: all 0.5s !important;
  -o-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
  transition: all 0.5s !important;
}

.btn-info:hover {
	color: #333;
	background-color: #e6e6e6;
  border-color: #adadad;
}

.text-primary {
	color: #e60012;
}

span.required {
	color: #e60012;
}

#cart .btn-primary {
	margin-top: 0 !important;
}

/*完了ページ
----------------------------------------------------------*/
#confirm_box__message {
	padding: 20px 0;
}

.complete_message .heading01 {
	padding-top: 52px;
	margin-bottom: 40px;
}

 .btn_group {
	padding-top: 40px;
	margin-bottom: 84px;
}

.review-text {
	padding: 0 0 20px;
}

#complete_box__attention .attention {
	padding-top: 40px;
}

/*お問い合わせ
----------------------------------------------------------*/
.contact-text {
	margin-bottom: 20px;
}

/*購入画面
----------------------------------------------------------*/
#confirm_wrap {
	position: relative;
}

#confirm_wrap .flowline {
	border-bottom: 0;
}
 
#confirm_wrap #confirm_flow_box {
	padding-bottom: 0;
}

#confirm_wrap #shopping_confirm {
	border-top: 1px dotted #ccc;
	padding-bottom: 50px;
}

#confirm_main .heading02 {
	display: block !important;
	margin-bottom: 20px;
	font-size: 18px;
	font-size: 1.8rem;
	background: #ebebeb;
}

#confirm_main .form-group {
	padding-bottom: 0;
}

#shopping_confirm .cart_item.table {
	margin-bottom: 20px;
	border-top: none;
}

#confirm_side {
	position: absolute;
	right: 0;
	top: auto;
	bottom: 53px;
	margin-top: 0 !important;
}

.receipt-text {
	margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
	#confirm_side {
		position: static;
	}
	#shopping_confirm .total_box {
		margin-top: 30px;
	}
}

@media only screen and (max-width: 640px) {
	.form-inline select.delivery {
		width: 100%;
	}
}

/*マイページ　お届け先編集
----------------------------------------------------------*/
#delivery_box__new_button {
	margin: 10px 0 20px;
}

/*ランキングページ
----------------------------------------------------------*/
.ranking-page .page-heading {
	border: none !important;
}

.ranking-h2 {
	padding-bottom: 33px;
}

/*ショッピング確認ページ
----------------------------------------------------------*/
.cart_item .item_box .table .item_photo, .cart_item .item_box .table .item_detail {
	vertical-align: top;
}

/*トップページ
----------------------------------------------------------*/
.front_page #contents .row {
	padding-bottom: 0;
}

.news_contents {
	padding-bottom: 0 !important;
}

/*スライダーの処理
----------------------------------------------------------*/
.main_visual {
	margin-bottom: 30px;
}

.main_visual .item {
	display: none;
}

.main_visual .item:first-child {
 	display: block;
}

.main_visual .slick-slide {
	display: block !important;
}

/*商品詳細
----------------------------------------------------------*/
#item_photo_area .slick-slider {
	margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
	#item_photo_area .slick-slider {
		margin-bottom: 25px;
	}
}

/*parts
----------------------------------------------------------*/
.of-hid {
	overflow: hidden;
}
.ct-btn-col3-list {
	width: 104.22535211267605%;
	margin: 40px 0 20px;
	font-size: 0;
	line-height: 1;
}
.ct-btn-col3-list .list-elm {
	display: inline-block;
	width: 29.72972972972973%;
	margin: 0 3.3783783783783785% 2.7027027027027026% 0;
	vertical-align: top;
	font-size: 14px;
    font-size: 1.4rem;
	text-align: center;
}
.ct-btn-col3-list a {
	display: block;
	padding: 13px 10px 11px;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	background-color: #000;
	border: 1px solid #000;
	color: #fff;
	text-decoration: none;
}
.ct-btn-col3-list a:hover {
	background-color: #fff;
	color: #000;
}
@media only screen and (max-width: 767px) {
	.ct-btn-col3-list {
		width: auto;
		margin: 30px 0 20px;
	}
	.ct-btn-col3-list .list-elm {
		display: block;
		width: auto;
	}
	.ct-btn-col3-list .list-elm + .list-elm {
		margin-top: 20px;
	}
	.ct-btn-col3-list a:hover {
		background-color: #000;
		color: #fff;
	}
}

.btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active {
	background-color: #eee;
	border-color: #eee;
}