@charset "utf-8";
/* CSS Document */
.font {
	font-family: 'Noto Sans JP', sans-serif;
	font-family: 'Outfit', sans-serif;	
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Serif JP', serif;
	font-family: "EB Garamond", serif;	
	font-family: "Libre Baskerville", serif;	
}
.bebas-neue-regular {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
}
p,li {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
}
.cmn-container h2 {
	background-color: transparent;
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	text-align: center;
}
.cmn-container h3 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 18px;
	letter-spacing: 0.2em;
	text-align: center;
	margin-bottom: 2em;
}
.cmn-container img {
	margin: 0;
	padding: 0;
	line-height: 1.0;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
.cmn-container {
	overflow: hidden;
	background-color: rgba(244,244,239,1.00);
}

/* gotop */

.gotop {
	position: fixed;
	right: 15px;
	bottom: 15px;
	z-index: 999;
}
.gotop:hover {
	opacity: 0.6;
}
.gotop .btn {
	display: table-cell;
	width: 40px;
	height: 40px;
	background-color: #FFF;
	border-radius: 50%;
	position: relative;
	cursor: pointer;
}
.gotop .btn .tri {
	display: table-cell;
	width: 20px;
	height: 15px;
	border-bottom: 15px solid #000;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	box-sizing: border-box;
}


.mb30 {
	margin-bottom: 30px;
}
.mb60 {
	margin-bottom: 60px;
}

@media screen and (min-width: 960px) {
	.only_sp960 {
		display: none;
	}
}
@media screen and (min-width: 767px) {
	.only_sp767 {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.only_pc768 {
		display: none;
	}
}
.pc {
  display: none
}
.mt20 {
  margin-top: 20px
}

.btn_area {
	text-align: center;
	margin-bottom: 15px;
}
.btn_area:nth-last-child(1) {
	margin-bottom: 0;
}
.btn_area .btn {
	display: inline-block;
	padding: 0;
}
.btn_area .btn a {
	display: block;
	font-size: 16px;
	text-align: center;
	line-height: 2.2;
	color: #FFF;
	padding: 0 1.5em;
	background-color: #000;
}
.bottom_cont .btn_area .btn a {
	min-width: 15em;
}
.bottom_cont {
	position: relative;
	z-index: 2;
	padding: 60px;
}
@media screen and (max-width: 767px) {
	.bottom_cont {
		padding: 8vw;
	}
	.btn_area .btn a {
	  font-size: 3.5vw;
	}
}
.item {
	position: relative;
	top: 100px;
	opacity: 0;
}
.item.active {
	animation-name: itemBoxAnime;
	animation-duration: 1.0s;
	animation-fill-mode: forwards;
}	
@keyframes itemBoxAnime {
	0% {
		top: 100px;
		opacity: 0;
	}
	100% {
		top: 0;
		opacity: 1.0;
	}
}	
.headArea {
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
	padding: 60px 0;
}	
.headArea h1 {
	margin-bottom: 1em;
}
.headArea p {
	text-align: center;
	font-size: 16px;
	line-height: 2.0;
	margin-bottom: 1em;
}
.itemBox {
	width: 90%;
	max-width: 580px;
	margin: 0 auto 90px;;
	position: relative;
	padding-top: 50px;
}
.itemBox .numBox {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	font-size: 30px;
	font-family: "Libre Baskerville", serif;
	font-weight: normal;
	vertical-align: top;
	line-height: 1.0;
	padding-left: 50px;
}
.itemBox .numBox .text {
	position: absolute;
	left: 0;
	top: 1em;
	transform: translateX(-20%) rotate(90deg);
	transform-origin: 0 0;
	line-height: 1.0;
	font-size: 0.6em;
	font-weight: 300;
}
.itemBox .numBox .thisNum {
	font-size: 3em;
  color: black;
  -webkit-text-fill-color: transparent; /* （順序に関係なく）色を上書きする */
  -webkit-text-stroke: 1px black;	
	vertical-align: top;
}
.itemBox .numBox .totalNum {
	vertical-align: top;
	position: absolute;
	top: 0.2em;
	right: -3em;
	font-weight: 300;
}
.itemBox .numBox .totalNum::before {
	content: "|";
	padding: .5em;
}
.slideThumbnails {
	width: 240px;
}
.slideThumbnails .slick-slide {
	width: 100px;
	overflow: hidden;
	margin: 0 10px;	
}
.thumbWrap {
	padding-left: 340px;
	display: block;
	
}
.imgSlide {
	margin-bottom: 30px;
}
.itemBox .imgArea {
	position: relative;
	display: block;
}
.slide_thumb {
	cursor: pointer;
}
.slide_thumb:hover {
	opacity: 0.8;
}
.infoArea {
	border-top: 1px solid #000;
	margin-top: 30px;
	padding-top: 60px;
	display: table;
	width: 100%;
}
.infoArea .infos {
	display: table-cell;
	font-size: 16px;
	vertical-align: middle;
	line-height: 2.0;
}
.infoArea .btn {
	display: table-cell;
	width: 10em;
	padding: 0;
	vertical-align: middle;
}
.infoArea .btn a {
	display: block;
	font-size: 16px;
	border: 1px solid #000;
	line-height: 2.2;
	padding: 0 1.2em;
	border-radius: 1.1em;
}
.infoArea .infos .brand {
	font-size: 0.8em;
	font-weight: bold;
}
.infoArea .infos .price .unit {
	font-size: 0.8em;
}
.infoArea .infos > span {
	display: block;
}
.itemBoxWrap {
	padding: 90px 0;
}
.navWrap {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100vw;
	display: block;
	background-color: #FFF;
	padding: 0 0 15px;
	border-top: 1px solid rgba(51,51,51,1.00);
}
.navWrap .navHead {
	display: table;
	width: 100%;
	padding: 14px;
}
.navWrap .navHead > p {
	display: table-cell;
	width: 50%;
	font-size: 15px;
}
.navWrap .navHead > p.title {
}
.navWrap .navHead > p.slideNumbers {
	text-align: right;
	position: relative;
}
.navWrap .navHead > p.slideNumbers .firstNum {
}
.navWrap .navHead > p.slideNumbers .lastNum {
}
.navWrap .navHead > p.slideNumbers .border  {
	margin: 0 1em;
}
.itemNav a {
	position: relative;
	display: block;
}
.itemNav a .navNum {
	font-size: 16px;
	position: absolute;
	left: 50%;
	bottom: 0.3em;
	transform: translateX(-50%);
	font-family: "Libre Baskerville", serif;
	color: white;
	  -webkit-text-fill-color: transparent;
	  -webkit-text-stroke: 1px white;	
}
.slick-prev, .slick-next {
  background-color: transparent;
}

.contBottom {
	padding-bottom: 300px;
}
.contBottom .btnArea {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.contBottom .btnArea .btn {
	display: block;
	padding: 0;
}
.contBottom .btnArea a {
	display: block;
	text-align: center;
	width: 100%;
	height: 200px;
	position: relative;
}
.contBottom .btnArea a > span {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	display: block;
}
.contBottom .btnArea a .brand {
	text-align: left;
	font-size: 24px;
	display: block;
}
.contBottom .btnArea a .big {
	text-align: left;
	font-size: 32px;
	font-weight: bold;
	display: block;
	position: relative;
}
.contBottom .btnArea a .big::after {
	content: "";
	display: table-cell;
	width: 15px;
	height: 15px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	position: absolute;
	right: -20px;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}
.credit {
	padding: 30px 0;
}
.credit p {
	font-size: 16px;
	text-align: center;
	line-height: 2.2;
}
@media screen and (max-width: 767px) {
	
	.itemBox {
	  width: 90%;
	  max-width: 90%;
	  margin: 0 auto 15vw;
	  position: relative;
	  padding-top: 9vw;
	}	
	.itemBoxWrap {
	  padding: 9vw 0;
	}
	.itemBox .numBox {
	  font-size: 6vw;
	  padding-left: 2em;
	}
	.itemBox .numBox .text {
	  position: absolute;
	  left: 0.5em;
	  top: 1em;
	  transform: translateX(0) rotate(90deg);
	}
	.thumbWrap {
	  padding-left: 45vw;
	  display: block;
	}
	.slideThumbnails {
	  width: 45vw;
	}
	.slideThumbnails .slick-slide {
	  width: 20vw;
	  overflow: hidden;
	  margin: 0 2vw;
	}	
	.infoArea {
	  margin-top: 6vw;
	  padding-top: 6vw;
	}
	.infoArea .infos {
	  font-size: 3.6vw;
	}
	.infoArea .btn {
	  width: 20vw;
	}
	.infoArea .btn a {
	  font-size: 3.2vw;
	}
	.navWrap .navHead > p {
	  font-size: 3.2vw;
	}	
	.itemNav a .navNum {
		font-size: 3vw;
	}
	.headArea p {
	  font-size: 3.4vw;
		padding: 0 1em;
	}
	.contBottom .btnArea a {
	  height: 25vw;
	}
	.contBottom .btnArea a .brand {
	  font-size: 4.4vw;
		text-align: center;
	}
	.contBottom .btnArea a .big {
	  font-size: 6vw;
	}
	.contBottom .btnArea a .big::after {
	  width: 3vw;
	  height: 3vw;
	  right: -6vw;
	}
	.credit p {
	  font-size: 3.2vw;
	}
	.headArea {
	  padding: 0 0 9vw;
	}	

}

