@import url("https://use.typekit.net/air3hgi.css");

#pageContainer {
	min-height: 1000px;
}

#pageTitle {
	display: none;
}

footer {
	margin-top: 0;
	border-top: 1px solid #fff;
}

#pageContainer #mainVi {
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}

#pageContainer #mainVi figure {
	margin: 0;
}

#pageContainer #mainVi figure img {
	width: 100%;
}

#pageContainer #mainVi h1 {
	position: absolute;
	color: #000;
	font-size: 38px;
	font-family: futura-pt, sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.0;
	left: 15px;
	bottom: -15px;
}

#pageContainer .lead {
	font-size: 14px;
	text-align: center;
	margin: -20px 0 30px;
}

#pageContainer .postscript {
	font-size: 20px;
	color: #E01B2A;
	font-weight: bold;
	text-align: center;
	margin: 0 0 30px;
	padding: 30px 0;
	background:repeating-linear-gradient(
		-45deg,
		#fdf5f5,
		#fdf5f5 8px,
		#fff 0,
		#fff 16px
		);
}

#pageContainer .postscript span {
	display: block;
	padding: 8px 0;
}

#pageContainer #catTab ul {
	display:flex;
	justify-content: center;
	align-items: stretch;
}

#pageContainer #catTab li {
	display:flex-box;
	width: calc(100% / 4);
	background-color: #000;
}

#pageContainer #catTab li + li {
	border-left: 1px solid #fff;
}

#pageContainer #catTab li a {
	display: block;
	position: relative;
	color: #fff;
	height: 40px;
	width: 100%;
	background-color: #000;
	overflow: hidden;
}

#pageContainer #catTab li a span {
	position: absolute;
	width: 100%;
	text-align: center;
	top: 50%;
	font-family: futura-pt, sans-serif;
	font-weight: 700;
	font-size: 11px;
	transform: translate(0, -50%);
	line-height: 1.1;
}

#pageContainer #catTab li a:after {
	content: "";
	width: 20px;
	height: 20px;
	background-color: #fff;
	position: absolute;
	right: -10px;
	bottom: -10px;
	transform: rotate(45deg);
} 

#pageContainer .p_camp  #catTab li.camp a,
#pageContainer .p_fishing #catTab li.fishing a,
#pageContainer .p_wear #catTab li.wear a,
#pageContainer .p_accessory #catTab li.accessory a,
#pageContainer .p_outdoor #catTab li.outdoor a,
#pageContainer .p_leisure #catTab li.leisure a {
	background-color: #fff;
	color: #000;
}

#pageContainer .p_camp #catTab li.camp a:after,
#pageContainer .p_fishing #catTab li.fishing a:after,
#pageContainer .p_wear #catTab li.wear a:after,
#pageContainer .p_accessory #catTab li.accessory a:after,
#pageContainer .p_outdoor #catTab li.outdoor a:after,
#pageContainer .p_leisure #catTab li.leisure a:after {
	background-color: #000;
}

#pageContainer #catTab li.soon  {
	opacity: 0.3;
	pointer-events: none;
	cursor: text;
}

@media print, screen and (min-width: 638px) {
	#pageContainer #mainVi h1 {
		font-size: 65px;
		bottom: -25px;
	}

	#pageContainer .lead {
		font-size: 18px;
	}

	#pageContainer .postscript {
		font-size: 22px;
		padding: 60px 0 ;
	}

	#pageContainer #catTab li {
		border: 1px solid #000;
	}

	#pageContainer #catTab li + li {
		border-left: 1px solid #000;
		margin-left: 5px;
	}

	#pageContainer #catTab li a {
		height: 50px;
	}

	#pageContainer #catTab li a span {
		font-size: 14px;
	}
}


@media print, screen and (min-width: 928px) {
	#pageContainer section {
		margin-top: 0;
	}

	#pageContainer #mainVi h1 {
		font-size: 120px;
		bottom: -45px;
		left: 50%;
		margin-left: -500px;
	}

	#pageContainer .lead {
		font-size: 22px;
		margin: 0px 0 100px;
	}

	#pageContainer .postscript {
		font-size: 26px;
		margin: 0px 0 100px;
	}

	#pageContainer #catTab {
		width: 1000px;
		margin: 0 auto;
	}

	#pageContainer #catTab li {
		border: 2px solid #000;
	}

	#pageContainer #catTab li + li {
		border-left: 2px solid #000;
		margin-left: 20px;
	}

	#pageContainer #catTab li a {
		height: 60px;
	}

	#pageContainer #catTab li a span {
		font-size: 22px;
	}

	#pageContainer #catTab li a:after {
		width: 40px;
		height: 40px;
		right: -20px;
		bottom: -20px;
	}

	#pageContainer #catTab li a:hover {
		background-color: #fff;
		color: #000;
	}

	#p_camp #pageContainer #catTab li a:hover:after {
		background-color: #000;
	}
}



/* 商品 */
#pageContainer section.item {
	padding: 30px 10px;
	margin: 0;
}

#pageContainer section.item .anchor {
	top: -50px;
}

#pageContainer .item:nth-of-type(odd) {
	background-color: #fdf9f1;
}

#pageContainer .photoArea .main {
	position: relative;
}

#pageContainer .photoArea .main:before {
	content: "";
	width: 100%;
	height: 0;
	padding-top: 66.4%;
	background-color: #f5f5f5;
	position: absolute;
	top: 0;
	left: 0;
}

#pageContainer .photoArea .list {
	overflow: hidden;
}

#pageContainer .photoArea .list li {
	position: relative;
}

#pageContainer .photoArea .list li::after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
	top: 0;
	left: 0;
	position: absolute;
}

#pageContainer .photoArea .list li.active::after {
	display: none;
}

#pageContainer .photoArea figure,
#pageContainer .photoArea figure img,
#pageContainer .photoArea figcaption {
	width: 100%;
	text-align: center;
	box-sizing:border-box;
	margin: 0 auto;
}

#pageContainer .photoArea .photo figure figcaption {
	font-size: 0.8em;
	margin-top: 6px;
}

#pageContainer .photoArea figure img {
	vertical-align: bottom;
}


@media print, screen and (max-width: 637px) {
	#pageContainer .photoArea > figure {
		margin: 0;
	}

	#pageContainer .photoArea figure {
		margin-left:0;
	}
}

@media print, screen and (min-width: 638px) {
	#pageContainer .photoArea .photo figure {
		margin-left:0;
	}
	#pageContainer .photoArea .photo figure img {
		width: calc(100% - 40px);
		margin-left: 40px;
	}
	#pageContainer .photoArea .photo figure figcaption {
		margin-left: 20px;
		font-size: 1em;
	}
}

#pageContainer .photoArea .list {
	display: flex;
	justify-content:space-between;
	margin-top: 1px;
	flex-wrap: wrap;
}

#pageContainer .photoArea .list li {
	width: calc(100% / 3);
}

#pageContainer .photoArea .list li:nth-child(2) {
}

#pageContainer .photoArea .list li img {
	vertical-align: bottom;
}

#pageContainer .txtArea {
	margin-top: 3em;
}

#pageContainer .txtArea h2 {
	text-align: center;
	margin-bottom:5px;
	line-height: 1.4;
}

#pageContainer .txtArea h2 span {
	display: block;
	font-size: 12px;
	margin-bottom: 0.5em;
}

#pageContainer .txtArea h2 span.logo {
	height: 50px;
	margin-bottom: 1.5em;
}

#pageContainer .txtArea h2 span.logo.large {
	height: 60px;
}

#pageContainer .txtArea h2 span.logo.pd {
	margin-bottom: calc(1.5em + 20px);
}


#pageContainer .txtArea h2 span.logo img {
	height: 100%;
}

#pageContainer .txtArea h2 span.logo.pd img {
	padding: 10px 15px;
	background-color: #fff;
}


#pageContainer .txtArea .price {
	text-align: center;
	font-size: 16px;
	margin-bottom: 20px;
}

#pageContainer .txtArea .price span {
	font-size: 12px;
	margin-left: 0.5em;
}

#pageContainer .txtArea .special {
	margin: -10px 0 20px;
	text-align: center;
}
#pageContainer .txtArea .special span {
	max-width: 80%;
	display: inline-block;
	font-size: 13px;
	color: #ffffff;
	/*border:1px solid #E01B2A;*/
	background-color: #ee7331;
	padding: 2px 10px;
}

#pageContainer .txtArea .soon,
#pageContainer .txtArea .release {
	margin: -10px 0 20px;
	text-align: center;
}

#pageContainer .txtArea .price_note span,
#pageContainer .txtArea .soon span {
	display: inline-block;
	font-size: 12px;
	color: #E01B2A;
	border:1px solid #E01B2A;
	padding: 2px 10px;
}

#pageContainer .txtArea .release span {
	display: inline-block;
	font-size: 12px;
	color: #000;
	border:1px solid #000;
	padding: 2px 10px;
}

#pageContainer .txtArea .price_note {
	margin: 10px 0 5px;
	text-align: center;
}

#pageContainer .txtArea .notice {
	margin-top: 20px;
}

#pageContainer .txtArea .copy + .copy {
	margin-top: 0.5em;
}

#pageContainer .txtArea .copy.list li {
	text-indent: -1em;
	margin-left: 1em;
}

#pageContainer .txtArea .copy.list li::before {
	content: "●";
}


#pageContainer .txtArea .arrival {
	text-align: center;
	margin-bottom: 5px;
}

#pageContainer .txtArea .arrival span {
	display: inline-block;
	border: 1px solid #000;
	padding: 3px 5px 1px 5px;
	font-size: 10px;
	color: #000;
	vertical-align: text-bottom;
}

#pageContainer .txtArea .spec {
	border-top: 1px solid #000;
	width: 100%;
	margin: 20px 0 0;
}

#pageContainer .txtArea .spec caption{
	text-align: left;
}

/*
#pageContainer .item:nth-of-type(odd) .txtArea .spec {
	border-top: 1px solid #fff;
}
*/

#pageContainer .txtArea .spec th {
	color: #000;
	font-weight: bold;
	border-bottom: 1px solid #000;
	padding: 8px 8px 8px 0;
	font-size: 12px;
	white-space: nowrap;
	width: 80px;
}

/*
#pageContainer .item:nth-of-type(odd) .txtArea .spec th {
	border-bottom: 1px solid #fff;
	color: #fff;
}
*/

#pageContainer .txtArea .spec td {
	border-bottom: 1px solid #000;
	padding: 8px 0;
	font-size: 12px;
}

/*
#pageContainer .item:nth-of-type(odd) .txtArea .spec td {
	border-bottom: 1px solid #fff;
}
*/

#pageContainer .txtArea .point {
	width: calc(100% - 20px);
	max-width: 500px;
	text-align: center;
	font-size: 14px;
	padding: 5px 0;
	margin: 20px auto 0;
	color: #00453f;
	background-color: #ecf6f5;
}

#pageContainer .txtArea .point span {
	display: block;
	font-size: 12px;
}

#pageContainer .txtArea .note {
	width: 100%;
	margin: 10px 0 20px;
}

#pageContainer .txtArea .onlinestoreLink {
	text-align: center;
	margin-top: 20px;
	padding-bottom: 4px;
}

#pageContainer .txtArea .onlinestoreLink a {
	display: inline-block;
	padding: 10px 20px;
	background-color: #000;
	border: 2px solid #000;
	border-radius: 30px;
	color: #fff;
	margin-bottom: 4px;
}

/*
#pageContainer .item:nth-of-type(odd) .txtArea .onlinestoreLink a {
	color: #fff;
	border-color: #fff;
}
*/

#pageContainer .txtArea .storeLink {
	display: flex;
	flex-wrap: wrap;
	justify-content:center;	
	margin: 0.75em auto 0;
	max-width: 400px;
}

#pageContainer .txtArea .storeLink a {
	display: inline-block;
	margin: 0 1em;
	padding: 5px 0;
	color: #000;
	text-decoration: underline;
}

@media print, screen and (min-width: 638px) {
	#pageContainer .item .inner {
		margin: 0 auto;
		padding: 0;
		display: flex;
	}

	#pageContainer .photoArea {
		width: 50%;
		margin-right: 20px;
	}

	#pageContainer .photoArea .list figure {
		width: calc(100% / 3);
	}

	#pageContainer .txtArea {
		margin-top: 1em;
		width: calc(50% - 20px);
	}

	#pageContainer .txtArea .spec {
		max-width: 500px;
		margin: 20px auto 0;
	}

	#pageContainer .txtArea .spec th {
		width: 100px;
	}

	#pageContainer .txtArea .note {
		width: 500px;
		margin: 20px auto;
	}

	#pageContainer .txtArea .onlinestoreLink {
		margin-top: 40px;
	}

	#pageContainer .txtArea .onlinestoreLink a {
		padding: 15px 50px;
		-webkit-transition: all 0.15s linear;
		-moz-transition: all 0.15s linear;
		 -ms-transition: all 0.15s linear;
		  -o-transition: all 0.15s linear;
			 transition: all 0.15s linear;
	}

	#pageContainer .txtArea .onlinestoreLink a:hover {
		padding: 15px 60px;
		background-color: #fff;
		color: #000;
		text-decoration: none;
		-webkit-transition: all 0.15s linear;
		-moz-transition: all 0.15s linear;
		 -ms-transition: all 0.15s linear;
		  -o-transition: all 0.15s linear;
			 transition: all 0.15s linear;
	}

	#pageContainer .txtArea .storeLink a:hover {
		text-decoration: none;
	}

/*
	#pageContainer .item:nth-of-type(odd) .txtArea .onlinestoreLink a:hover {
		background-color: #fff;
		color: #00453f;
	}
*/
}

@media print, screen and (min-width: 928px) {
	#detail #pageContainer {
		margin-bottom: 0;
	}

	#pageContainer section.item {
		width: 100%;
		padding: 0;
	}
	
	#pageContainer .item .inner {
		width: 1000px;
		margin: 0 auto;
		padding: 100px 0;
	}

	#pageContainer .photoArea {
		width: calc(50% - 20px);
		margin-right: 60px;
	}

	#pageContainer section.photo {
		padding: 0;
	}

	#pageContainer .txtArea {
		width: calc(50% - 40px);
		margin: 0;
	}

	#pageContainer .photoArea  .list {

	}


	#pageContainer .photoArea  .list .photo {
		width: 465px;
		float: left;
		margin-right: 20px;
	}

	#pageContainer .photoArea  .list .photo figure,
	#pageContainer .photoArea  .list .photo figcaption {
		width: 100%;
	}

	#pageContainer .photoArea  .list .photo.dummy {
		padding-top: 110px;
		height: 0;
	}


	#pageContainer .photoArea .list .photo:nth-child(even) figure,
	#pageContainer .photoArea .list .photo:nth-child(even) figcaption {
		float: none;
	}

	#pageContainer .photoArea .list .photo:nth-child(even) {
		margin-bottom: 0;
	}

	#pageContainer .txtArea h2 {
		font-size: 24px;
	}

	#pageContainer .txtArea h2 span {
		font-size: 12px;
	}

	#pageContainer .txtArea .price {
		font-size: 20px;
		margin-bottom: 40px;
	}

	#pageContainer .txtArea .price span {
		font-size: 16px;
	}
	
	#pageContainer .txtArea .special {
		margin: -30px 0 50px;
		text-align: center;
	}

	#pageContainer .txtArea .soon,
	#pageContainer .txtArea .release {
		margin: -30px 0 30px;
	}
	
	#pageContainer .txtArea .price_note span,
	#pageContainer .txtArea .soon span,
	#pageContainer .txtArea .release span {
		font-size: 14px;
		padding: 2px 10px;
	}

	#pageContainer .txtArea .arrival {
		margin-bottom: 10px;
	}

	#pageContainer .txtArea .arrival span {
		font-size: 14px;
	}

	#pageContainer .txtArea .spec {
		width: 100%;
		margin: 55px auto 0;
	}

	#pageContainer .txtArea .spec th {
		font-size: 13px;
	}

	#pageContainer .txtArea .spec td {
		font-size: 13px;
	}

}


/* Slick Slider */

.thumnail .slick-track {
	transform: unset !important;
	width: 100% !important;
	display: flex;
	justify-content: left;
	flex-flow: row wrap;
}
.thumnail .slick-slide {
	position: relative;
	display: block !important;
	float: none !important;
	flex: 0 0 33.333%;
	cursor: pointer;
}

.thumnail .slick-slide.slick-current::after {
	display: none;
}

.thumnail .slick-slide::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
}

/* 表示崩れ対策 */

.slick-slider {
	opacity: 0;
	transition: opacity .5s linear;
}
.slick-initialized {
	opacity: 1;
}


#pageContainer .photoArea figure.slider-item {
	position: relative;
}

#pageContainer .photoArea figure.slider-item figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	width: 100%;
	padding: 5px;
	text-align: left;
	font-size: 12px;
}

#pageContainer .photoArea figure.slider-item figcaption span {
	padding: 0 10px;
	background-color: rgba(255,255,255,0.7);
}



.modaal-container {
	max-width: 600px;
}

.itemlist .itemlist__title {
	margin: 10px 0;
	font-size: 18px;
}

.itemlist li {
	border-top: 1px solid #f1f1f1;
}

.itemlist li a {
	display: block;
	position: relative;
	text-decoration: none;
	padding: 15px 1em 10px 0;
	color: #000;
}

.itemlist li a::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 50%;
	right: 0;
	width: .5em;
	height: .5em;
	border-top: 1px solid #595959;
	border-right: 1px solid #595959;
	transform: translate(0, 50%) rotate(45deg);
}

/* 固定バナー */

#detail #pageContainer .banner-box {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 9;
}

#detail #pageContainer .banner-box.free {
	position: static;
	/*width: calc(100% + 30px);
	margin-left: -15px;*/
	margin-bottom: 30px;
}

@media print, screen and (min-width: 768px) {
	#detail #pageContainer .banner-box.free {
		margin-bottom: 100px;
	}
}

@media print, screen and (min-width: 768px) {
	#detail #pageContainer .banner-box a:hover {
		opacity: 0.9;
		text-decoration: none;
	}
}

#detail #pageContainer .banner-box img {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
	#detail #pageContainer .banner-box img {
		width: 1000px;
	}
}


















#pageContainer .catMenu * {
	box-sizing: border-box;
}

@media screen and (min-width: 928px) {
	#pageContainer .catMenu {
		width: 1000px;
		margin: 0 auto;
	}
}

#pageContainer .catMenu > ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 1px;
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media screen and (min-width: 928px) {
	#pageContainer .catMenu > ul {
		column-gap: 10px;
	}
}

#pageContainer .catMenu > ul > li {
	margin: 0;
}

@media screen and (min-width: 928px) {
	#pageContainer .catMenu > ul > li {
		position: relative;
	}
}

@media screen and (min-width: 920px) {
	#pageContainer .catMenu a:hover {
		text-decoration: none;
	}
}


#pageContainer .catMenu > ul > li > a,
#pageContainer .catMenu > ul > li > span {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 10px 0 20px;
	text-align: center;
	background-color: #00453f;
	color: #fff;
	font-family: futura-pt, sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	cursor: pointer;
}

@media screen and (min-width: 928px) {
	#pageContainer .catMenu > ul > li > a,
	#pageContainer .catMenu > ul > li > span {
		font-size: 16px;
		padding: 20px 20px 25px 20px;
	}

	#pageContainer .catMenu > ul > li:hover > a,
	#pageContainer .catMenu > ul > li:hover > span {
		background-color: #232323;
	}
}

#pageContainer .catMenu > ul > li > span.is-open {
	background-color: #232323;
}


#pageContainer .catMenu > ul > li > a::after,
#pageContainer .catMenu > ul > li > span::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 10px;
	left: 50%;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	border-top: 8px solid #ffffff;
	border-bottom: 0;
	transform: translateX(-50%);
}


#pageContainer .subMenu.is-open {
	display: block;
}


@media screen and (min-width: 928px) {
	#pageContainer .catMenu > ul > li:hover .subMenu {
		display: block;
	}
}

#pageContainer .subMenu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: rgba(35,35,35,0.95);
	z-index: 8;
}


#pageContainer .subMenu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#pageContainer .subMenu li {
	margin: 0;
	border-bottom: 1px solid rgba(255,255,255,0.4);
}

#pageContainer .subMenu li:last-of-type {
	border-bottom: none;
}

#pageContainer .subMenu a {
	position: relative;
	display: block;
	padding: 20px 10px 20px 50px;
	color: #ffffff;
	font-size: 14px;
	letter-spacing: 0.05em;
}

#pageContainer .subMenu a::before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 30px;
	width: 5px;
	height: 5px;
	border: none;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: translateY(-50%) rotate(45deg);
}

#pageContainer .subMenu a:hover {
	background-color: rgba(0,0,0,1);
}

#pageContainer .category {
	text-align: center;
	padding: 1em 0 ;
	border-bottom: 1px solid #000;
}

#pageContainer .category h1 {
	font-size: 18px;
}

#pageContainer .category h1 span {
	font-size: 12px;
	color: #00453f;
	display: block;
}

@media screen and (min-width: 928px) {
	#pageContainer .category {
		padding: 2.5em 0 ;
		width: 1000px;
		margin: 0 auto;
	}
	
	#pageContainer .category h1 {
		font-size: 24px;
	}
	
	#pageContainer .category h1 span {
		font-size: 15px;
	}

}

/*ページ内リンク用*/
.loaders-container {
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	background-color: rgba(0,0,0,0.6);
	width: 100%;
	height: 100%;
	z-index: 99999;
}

.loaders-container__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.loaders-container__circle {
	width: 80px;
	height: 80px;
	border-radius: 100%;
	border: 10px solid rgba(255, 255, 255, 0.2);
	border-top-color: #ffffff;
	animation: spin 1s infinite linear;
}

@keyframes spin { 
	100% { 
		transform: rotate(360deg); 
	}
}


#pageContainer .photoArea {
	position: relative;
}

#pageContainer .photoArea.new:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 75px 75px 0 0;
	border-color: #eb313e transparent transparent;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
}

#pageContainer .photoArea.new:after {
	content: 'New!';
	display: block;
	font-weight: 700;
	font-size: 1.0rem;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 72px;
	height: 72px;
	line-height: 72px;
	position: absolute;
	left: 0;
	top: 0;
	margin: -.5em 0 0 -.5em;
	z-index: 200;
}