@charset "UTF-8";

@font-face {
	font-family: 'Montserrat Black';
	src: url('../fonts/Montserrat-Black.ttf');
}
@font-face {
	font-family: 'Oswald Bold';
	src: url('../fonts/Oswald-Bold.ttf');
}

/**** general ****/

html, body {
	color: #333;
    letter-spacing: 0.1em;
}
* {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
	background-repeat: no-repeat;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
.clearfix::after {
	content: "";
	clear: both;
	display: table;
}
.wrap .wrap_inner{
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}
.wrap .wrap_inner.wrap_inner100{
	max-width: 100%;
}
.sp_only {
	display: none;
}

@media screen and (max-width: 768px) {
	img {
		max-width: 100%
	}
	
	.wrap .wrap_inner{
		width: 100%;
		padding: 0 15px;
		box-sizing: border-box;
	}

	.sp_only {
		display: block;
	}
	.pc_only {
		display: none;
	}
	.header img {
		border: none;
		vertical-align: top;
		width: 100%;
	}
}

/**** header ****/
.headerArea {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background: #000;
	text-align: center;
	height: 65px;
}
.headerArea .logo {
	display: inline-block;
	width: 128px;
	margin-top: 14px;
	line-height: 0;
}
.headerArea .logo img {
	width: 128px;
}

@media screen and (max-width: 768px) {
	.headerArea {
		height: 55px;
	}
	.headerArea .logo {
		width: 110px;
	}
}

/**** footer ****/
.footerArea {
	padding: 30px 0;
	background: #000;
	font-size: 12px;
	color: #fff;
	text-align: center;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	.footerArea {
		padding: 15px 0;
		font-size: 8px;
	}
}

/**** back to top ****/
#back_to_top a {
	display: none;
	position: fixed;
	right: 40px;
	bottom: 40px;
	width: 60px;
	height: 60px;
	background: #333 url('../image/icon_arrowUp_white01.png') no-repeat center center;
	border-radius: 60px;
}
@media screen and (max-width: 768px) {
	#back_to_top a {
		right: 15px;
		bottom: 20px;
		width: 30px;
		height: 30px;
		background-size: 10px;
		border-radius: 15px;
	}
	#back_to_top a:after {
		top: 7px;
		left: 14px;
		padding: 3px;
	}
}

/**** mainvisual ****/
.mainvisual {
	margin-top: 65px;
	margin-bottom: 90px;
	background: #000 url('../image/mainvisual_pc.jpg') no-repeat top center;
	text-align: center;
	line-height: 0;
}
.mainvisual img {
	max-width: 100%;
}
@media screen and (max-width: 768px) {
	.mainvisual {
		margin-top: 55px;
		margin-bottom: 45px;
	}
	.mainvisual .wrap_inner {
		padding: 0;
	}
}

/* SECTION 01 */
.section01 {
	padding-bottom: 100px;
	text-align: center;
}
.sec01_para01 {
	font-size: 24px;
	font-weight: 600;
	color: #333;
	line-height: 2;
    letter-spacing: 0.15em;
}

/* SECTION */
.sectionBlock {
	position: relative;
	padding: 120px 0 100px;
}
.sectionBlock h2 {
	position: absolute;
	top: -70px;
	left: 0;
	right: 0;
	padding-top: 50px;
	font-family: 'Montserrat Black';
	font-size: 40px;
	text-align: center;
	color: #52b8cc;
    letter-spacing: 0.1em;
}
.sectionBlock h2 span {
	display: block;
	margin: 20px 0 0;
	font-size: 20px;
	font-weight: 600;
	font-family: -apple-system, blinkMacSystemFont, "Helvetica Neue", "Segoe UI", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
	color: #333;
}
.sectionBlock .wrap_inner > div:nth-child(2) > .subcatBlock {
	border-top: 0;
	padding-top: 0;
	margin-top: 0;
}
.subcatBlock {
	border-top: 2px solid #ccbea3;
	margin-top: 75px;
	padding-top: 60px;
	text-align: center;
}
.subcatBlock p:first-child {
	margin-bottom: 15px;
	font-size: 20px;
	font-weight: 600;
	color: #333;
}
.subcatBlock p:last-child {
	margin-bottom: 60px;
	font-size: 36px;
	font-weight: 600;
	color: #333;
}

.section02 {
	background: #edf1f2;
}
.section03 {
	background: #edf1f2;
}

/* ITEM LIST */
.itemList li {
	display: inline;
	float: left;
	width: 33.33%;
	margin-bottom: 25px;
	box-sizing: border-box;
}
.itemList li a {
	display: block;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
.itemList li a:hover {
	opacity: 0.8;

}
.itemList li a img {
	width: 100%;
	max-width: 310px;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.itemList li {
	padding-right: 8px;
	padding-left: 8px;
}
.itemList li:nth-child(3n+1) {
	padding-right: 16px;
	padding-left: 0;
}
.itemList li:nth-child(3n) {
	padding-left: 16px;
	padding-right: 0;
}
.itemList li a {
	position: relative;
	text-decoration: none;
}
.itemDetails {
	position: absolute;
	left: 25px;
	right: 25px;
	bottom: 25px;
	display: block;
	height: 108px;
	font-size: 16px;
	font-weight: 600;
	color: #333;
	line-height: 1.8;
}
.itemPrice {
	display: block;
	margin-top: 10px;
	font-size: 40px;
	font-family: 'Oswald Bold';
	line-height: 1;
	color: #e3002b;
}
.itemPrice .yen {
	font-size: 24px;
}
.taxIncluded {
	font-size: 12px;
	font-weight: 900;
	color: #333;
}

/* LINK 01 */
.link01 {
	display: block;
	margin: 100px auto;
	padding: 30px;
	max-width: 696px;
	border-radius: 100px;
	border: 2px solid #333;
	color: #333;
	font-weight: 600;
	font-size: 20px;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
	transition: all 0.5s;
}
.link01 span {
	display: block;
	background: url('../image/icon_arrowRight01.png') no-repeat center right;
}
@media screen and (min-width:769px) {
	.link01:hover {
		color: #fff;
		background: #333;
	}
	.link01:hover span {
		background: url('../image/icon_arrowRight_white01.png') no-repeat center right;
	}
}

/* LINK 02 */
.link02 {
	display: block;
	margin: 80px auto 20px;
	padding: 30px;
	max-width: 600px;
	border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
	color: #333;
	font-weight: 600;
	font-size: 20px;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
	transition: all 0.5s;
}
.link02 span {
	display: block;
	background: url('../image/icon_arrowRight01.png') no-repeat center right;
}
@media screen and (min-width:769px) {
	.link02:hover {
		color: #fff;
		background: #52b8cc;
	}
	.link02:hover span {
		background: url('../image/icon_arrowRight_white01.png') no-repeat center right;
	}
}

@media screen and (max-width:768px) {
	.sec01_para01 {
		font-size: 14px;
		line-height: 2;
	}
	.sec01_para02 {
		margin-top: 40px;
		font-size: 12px;
	}
	.sec01_para03 {
		margin-top: 17px;
		font-size: 10px;
	}
	.sectionBlock {
		padding: 60px 0 50px;
	}
	.sectionBlock h2 {
		top: -60px;
		font-size: 20px;
	}
	.sectionBlock h2 span {
		margin: 10px 0 0;
		font-size: 12px;
	}
	.section01 {
		padding-bottom: 50px;
	}
	.subcatBlock {
		border-top-width: 1px;
		margin-top: 35px;
		padding-top: 30px;
	}
	.subcatBlock p:first-child {
		margin-bottom: 10px;
		font-size: 12px;
	}
	.subcatBlock p:last-child {
		margin-bottom: 30px;
		font-size: 22px;
	}
	.sectionBlock .wrap_inner {
		padding: 0 13px;
	}
	.itemList li {
		width: 50%;
		margin-bottom: 12px;
	}
	.sec03_block01 .itemList li {
		width: 33.33%;
	}
	.itemList li:nth-child(1),
	.itemList li:nth-child(4) {
		padding-right: 0;
	}
	.itemList li:nth-child(2),
	.itemList li:nth-child(5) {
		padding-right: 0;
		padding-left: 0;
	}
	.itemList li:nth-child(3),
	.itemList li:nth-child(6) {
		padding-left: 0;
	}
	.itemList li:nth-child(odd) {
		padding-right: 6px;
	}
	.itemList li:nth-child(even) {
		padding-left: 6px;
	}
	.itemList li a span {
		bottom: 11px;
	}
	.itemList li:nth-child(odd) a span {
		right: 10px;
		left: auto;
		width: 100%;
		max-width: 290px;
	}
	.itemList li:nth-child(even) a span {
		left: 10px;
		right: auto;
		width: 100%;
		max-width: 290px;
	}
	.itemList li a img {
		border-radius: 8px;
		box-shadow: 0 5px 15px rgba(0,0,0,0.1);
	}
	.sec03_block01 .itemList li {
		padding-right: 4px;
		padding-left: 4px;
	}
	.sec03_block01 .itemList li:nth-child(3n+1) {
		padding-right: 8px;
		padding-left: 0;
	}
	.sec03_block01 .itemList li:nth-child(3n) {
		padding-left: 8px;
		padding-right: 0;
	}
	
	.itemDetails {
		left: 13px;
		right: 13px;
		bottom: 13px;
		height: 24%;
		line-height: 1.6;
	}
	.itemPrice {
		margin-top: 7px;
		font-size: 20px !important;
	}
	.itemPrice .yen {
		font-size: 11px;
	}
	.taxIncluded {
		font-size: 9px;
	}
	
	.link01 {
		margin: 50px auto;
		padding: 20px 17px;
		max-width: 348px;
		border: 1px solid #4c4c4c;
		font-size: 12px;
	}
	.link01 span {
		background-size: 7px;
	}
    
    .link02 {
		margin: 20px auto 0;
		padding: 20px 17px;
		max-width: 348px;
        border-radius: 4px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
		font-size: 12px;
	}
	.link02 span {
		background-size: 7px;
	}
}

@media screen and (max-width:660px) {
	.itemList li a span {
		right: 10px !important;
		left: 10px !important;
		width: auto !important;
	}
	.itemDetails {
		font-size: 14px;
		line-height: 1.5;
	}
}

@media screen and (max-width:425px) {
	.itemList li a img {
		border-radius: 4px;
	}
	.itemList li:nth-child(odd) a span {
		left: 10px;
		width: auto;
	}
	.itemList li:nth-child(even) a span {
		right: 10px;
		width: auto;
	}
	.itemDetails {
		font-size: 9px !important;
	}
}

@media screen and (max-width:374px) {
	.link01 {
		margin: 60px 10px;
	}
}