/* Base CSS */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Syne:wght@400..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap');
.noto-sans-jp {
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
}
.noto-serif-jp {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
}
.syne {
	font-family: "Syne", serif;
	font-optical-sizing: auto;
	font-style: normal;
}
.instrument {
	font-family: "Jost", sans-serif;
	font-weight: 400;
	font-style: normal;
  }
body{
    margin: 0;
    padding: 0;
}
#specialcontent *, #specialcontent *::before, #specialcontent *::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
}
#specialcontent {
	width: 100%;
	color: #000;
	font-size: 14px;
	width: 100%;
	min-width: 960px;
	margin:  0 auto;
	letter-spacing: 0.05rem;
	-webkit-font-smoothing: antialiased;
    font-family: "Noto Serif JP", serif;
}
#specialcontent a {
	color: #000;
	text-decoration: none;
}
#specialcontent img {
	width: 100%;
	vertical-align: bottom;
}
#specialcontent ul,
#specialcontent li {
	list-style: none;
}
#specialcontent p {
	margin: 0;
	padding: 0;
}
#specialcontent .wrapper {
    width: 94%;
	max-width: 1000px;
	margin: 0 auto;
}
#specialcontent #mv {
    width: 100%;
	height: 60%;
	margin: 0;
	padding: 0;
	position: relative;
	display: block;
	overflow: hidden;
}
#specialcontent #mv .base {
	width: 100%;
	position: relative;
	z-index: 1;
	text-align: center;
}
#specialcontent #mv .overlay {
	width: 72.5%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}
#specialcontent #mvsp {
	display: none;
}
#specialcontent .pc {
	display: block;
}
#specialcontent .sp {
	display: none;
}
@media screen and (max-width: 768px) {
	#specialcontent {
		font-size: 3.1vw;
		width: 100%;
		min-width: 100vw;
	}
	#specialcontent .wrapper {
		width: 94%;
		max-width: 750px;
		margin: 0 auto;
	}
	#specialcontent #mv {
		display: none;
	}
	#specialcontent #mvsp {
		width: 100%;
		margin: 0;
		padding: 0;
		position: relative;
		display: block;
	}
	#specialcontent #mvsp .base {
		width: 100%;
		position: relative;
		z-index: 1;
		text-align: center;
	}
	#specialcontent #mvsp .overlay {
		width: 85%;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
	}
	#specialcontent .pc {
		display: none;
	}
	#specialcontent .sp {
		display: block!important;
	}
}

/* Comment */
#specialcontent #comment {
	margin: 0;
	padding: 80px 0 0;
	margin-bottom: -80px;
	text-align: center;
	background-size: 100%;
}
#specialcontent #comment h2 {
	font-size: 30px;
	margin: 0;
	padding: 0;
}
#specialcontent #comment p {
	margin: 40px 0 0;
	padding: 0;
	line-height: 2.5;
	font-size: 120%;
}
@media screen and (max-width: 768px) {
	#specialcontent #comment {
		padding: 10% 0 4%;
		margin-bottom: 0;
	}
	#specialcontent #comment h2 {
		font-size: 5vw;
		line-height: 1.5;
	}
	#specialcontent #comment p {
		margin: 5% 0 0;
		line-height: 2.2;
		font-size: 110%;
	}
}

/* Item List */
#specialcontent #itemlist {
	margin: 0;
	padding: 40px 0 60px;
	text-align: center;
	background-size: 100%;
}
#specialcontent #itemlist dl.item {
	width: 100%;
	max-width: 760px;
	margin: 100px auto;
	padding: 0;
}
#specialcontent #itemlist dl.item dt {
	width: 100%;
	margin: 0;
	padding: 0;
}
#specialcontent #itemlist dl.item dd {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	align-self: start;
	align-content: flex-start;
	flex-wrap: wrap;
}
#specialcontent #itemlist dl.item dd .description {
	width: 100%;
	max-width: 640px;
	padding: 0;
	margin-top: 25px;
	margin-left: auto;
	margin-right: auto;
}
#specialcontent #itemlist dl.item dd .description p {
	margin: 0;
	padding: 0;
	text-align: center;
	word-break: break-all;
	line-height: 2.2;
}
#specialcontent #itemlist dl.item dd .products {
	margin-top: 15px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 300px;
}
#specialcontent .wide {
	max-width: 360px!important;
}
@media screen and (max-width: 768px) {
	#specialcontent #itemlist {
		padding: 4% 0 6%;
	}
	#specialcontent #itemlist dl.item {
		max-width: 100%;
		margin: 18% auto;
	}
	#specialcontent #itemlist dl.item dt {
		width: 100%;
	}
	#specialcontent #itemlist dl.item dt h3 {
		padding: 0 4%;
	}
	#specialcontent #itemlist dl.item dd {
		width: 100%;
		padding: 0 8%;
	}
	#specialcontent #itemlist dl.item dd .description {
		width: 100%;
		margin-top: 5%;
	}
	#specialcontent #itemlist dl.item dd .description p {
		text-align: left;
	}
	#specialcontent #itemlist dl.item dd .products {
		margin-top: 6%;
		width: 100%;
		padding: 0 6%;
	}
	#specialcontent .wide {
		padding: 0 3%!important;
		max-width: 100%!important;
	}
}

/* Recommend */
#specialcontent #recommend {
	margin: 0;
	padding: 20px 0 140px;
	text-align: center;
	background-size: 100%;
}
#specialcontent h3.midashi {
	text-align: center;
	margin: 0;
	padding: 0;
	font-size: 40px;
	font-weight: 500;
}
#specialcontent #recommend p {
	line-height: 2;
	margin: 0 auto;
}
#specialcontent #recommend ul {
	padding: 0;
	width: 100%;
	margin: 10px auto 0;
	padding-top: 20px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	align-self: start;
	align-content: flex-start;
	flex-wrap: wrap;
	border-top: 1px solid #000;
}
#specialcontent #recommend ul li {
	width: 30%;
	margin: 30px 0;
	padding: 0;
}
#specialcontent #recommend ul li:nth-child(3n-1){
	margin: 30px 5%;
}
#specialcontent #recommend ul li p.text {
	text-align: justify;
  	text-justify: inter-ideograph;
	word-break: break-all;
	margin-top: 20px;
}
p.spacer {
	padding-top: 30px!important;
}
@media screen and (max-width: 768px) {
	#specialcontent #recommend {
		padding: 4% 0 8%;
	}
	#specialcontent h3.midashi {
		font-size: 7vw;
	}
	#specialcontent #recommend ul {
		margin: 0 auto;
		padding-top: 2%;
		flex-wrap: wrap;
	}
	#specialcontent #recommend ul li {
		width: 100%;
		margin: 2% 0;
		padding: 4% 4% 12%;
	}
	#specialcontent #recommend ul li:nth-child(3n-1){
		margin: 4% 0;
	}
	/*#specialcontent #recommend ul li:nth-child(even) {
		background: #f2f2f2;
	}*/
	#specialcontent #recommend ul li p {
		text-align: left;
	}
	/*#specialcontent #recommend ul li:nth-child(even) .items p.name {
		background: #f2f2f2;
	}
	#specialcontent #recommend ul li:nth-child(even) .items p.price {
		background: #f2f2f2;
	}
	#specialcontent #recommend ul li:nth-child(even) .items p.check {
		border-left: 8px solid #f2f2f2;
	}*/
	p.spacer {
		padding-top: 0!important;
	}
}
#specialcontent .items {
	padding: 0;
	width: 100%;
	margin: 20px auto 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	align-self: center;
	align-content: center;
	position: relative;
}
#specialcontent .items:hover {
	opacity: .6;
}
#specialcontent #recommend .items {
	width: 80%;
	margin: 20px auto 0;
}
#specialcontent #recommend .items p {
	margin: 0;
}
#specialcontent .items:after {
	display: inline-block;
    content: "";
    border-top: 1px solid black;
    margin: 0;
	position: absolute;
	left: 0;
	top: 50%;
	width: 99%;
    transform: translateY(-50%);
	z-index: 1;
}
#specialcontent .items p.name {
	font-size: 12.5px;
	margin: 0;
	padding: 0 6px 0 0;
	background: #fff;
	position: relative;
	z-index: 2;
}
#specialcontent .items p.price {
	font-size: 12.5px;
	margin: 0 0 1px;
	padding: 0 8px 0 0;
	background: #fff;
	position: relative;
	z-index: 2;
}
#specialcontent .items span.small {
	font-size: 11px;
}
#specialcontent p.new {
	font-size: 9.5px;
	text-align: left;
	padding-top: 3px;
}
#specialcontent .items p.check {
	font-size: 10px;
	color: #fff;
	width: 70px;
	line-height: 1;
	background: #000;
	text-align: center;
	padding: 2.5px 13px 3px;
	margin: 0;
	text-align: center;
	position: absolute;
	z-index: 2;
	right: 0;
	border-left: 8px solid #fff;
}
#specialcontent #recommend ul li:nth-child(1) p.check {
	padding: 2.5px 13px 3px!important;
	line-height: 1;
	margin: 0;
}
#specialcontent #recommend ul li:nth-child(2) p.check,
#specialcontent #recommend ul li:nth-child(3) p.check {
	padding: 3px 15px 3px!important;
	line-height: 1;
	margin: 0;
}
#specialcontent #itemlist .items {
	margin: 15px auto 0;
}
#specialcontent .slider-thumbs,
#specialcontent .slider-thumbs2,
#specialcontent .slider-thumbs3,
#specialcontent .slider-thumbs4,
#specialcontent .slider-thumbs5 {
	display: flex;
	justify-content: center;
	margin-top: 10px;
	position: relative;
	z-index: 16;
}
#specialcontent .slider-thumbs img,
#specialcontent .slider-thumbs2 img,
#specialcontent .slider-thumbs3 img,
#specialcontent .slider-thumbs4 img,
#specialcontent .slider-thumbs5 img {
	width: 16px;
	border-bottom: 2px solid #fff;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	border-right: 2px solid #fff;
	margin: 0;
	padding: 0;
}
.thumbnail div {
	padding: 0!important;
	margin: 0!important;
}
.thumbnail .slick-slide{
	width: 18px;
	border: solid transparent;
}
.thumbnail .slick-slide.slick-current.slick-active {
	border: solid #000;
}
.slick-list .slick-slide,
.slick-list .slick-active {
	margin: 0 1px;
	padding: 0;
	width: 19px;
}
#specialcontent .icon_logo {
	text-align: center;
	margin: 0 auto;
}
#specialcontent .icon_logo img {
	width: 40%;
	max-width: 140px;
	margin: 0 auto 20px;
}
#specialcontent .coolmax,
#specialcontent .coolpass,
#specialcontent .motion01,
#specialcontent .motion02 {
	position: relative;
	display: block;
}
#specialcontent .coolmax:before {
	content:'';
	background: url('../images/logo_coolmax_mini.jpg') center center no-repeat; /*url of image*/
	background-size: 100% 100%;
	height: 16px; /*height of image*/
	width: 60px;
	position: absolute;
	left: -70px;
	top: 0;
}
#specialcontent .coolpass:before {
	content:'';
	background: url('../images/logo_coolpass_mini.jpg') center center no-repeat; /*url of image*/
	background-size: 100% 100%;
	height: 16px; /*height of image*/
	width: 60px;
	position: absolute;
	left: -70px;
	top: 0;
}
#specialcontent .motion01:before {
	content:'';
	background: url('../images/logo_circle01_mini.jpg') center center no-repeat; /*url of image*/
	background-size: 100% 100%;
	height: 16px; /*height of image*/
	width: 35px;
	position: absolute;
	left: -45px;
	top: 0;
}
#specialcontent .motion02:before {
	content:'';
	background: url('../images/logo_circle02_mini.jpg') center center no-repeat; /*url of image*/
	background-size: 100% 100%;
	height: 16px; /*height of image*/
	width: 35px;
	position: absolute;
	left: -45px;
	top: 0;
}
@media screen and (max-width: 768px) {
	#specialcontent .icon_logo {
		text-align: center!important;
		margin: 0 auto;
		width: 100%;
	}
	#specialcontent .icon_logo img {
		width: 40%;
		max-width: 140px;
		margin: 10px auto 20px;
	}
	#specialcontent .slider-thumbs img,
	#specialcontent .slider-thumbs2 img,
	#specialcontent .slider-thumbs3 img,
	#specialcontent .slider-thumbs4 img,
	#specialcontent .slider-thumbs5 img {
		width: 22px;
	}
	.slick-list .slick-slide,
	.slick-list .slick-active {
		margin: 0 2px!important;
		padding: 0;
		width: 25px;
	}
	.thumbnail .slick-slide{
		border: 2px solid transparent;
	}
	.thumbnail .slick-slide.slick-current.slick-active {
		border: 2px solid #000;
	}
	#specialcontent .coolmax:before {
		height: 14px; /*height of image*/
		width: 51px;
		left: -55px;
		top: 1px;
	}
	#specialcontent .coolpass:before {
		height: 14px; /*height of image*/
		width: 51px;
		left: -55px;
		top: 1px;
	}
	#specialcontent .motion01:before ,
	#specialcontent .motion02:before {
		position: absolute;
		left: -40px;
	}
}

/* Effect Animation */
.effect-fadein {
	opacity: 0;
	transform: translate(0, 6%);
	transition: all 1.5s ease-in-out;
}
  
.effect-appear {
	opacity: 0;
	transform: translate(0, 0);
	transition: all 1.5s ease-in-out;
}
  
.effect-movein {
	opacity: 0;
	transform: translate(0, 80px);
	transition: all 1.25s ease-in-out;
}
  
.effect-zoom {
	opacity: 0;
	transform: scale(1.2);
	filter: blur(8px);
	transition: all 1.5s .5s ease-in-out;
}
  
.effect-scroll {
	opacity: 1;
	filter: blur(0);
	transform: translate(0, 0);
}
  
.delay {
	transition-delay: 1s;
}