@charset "utf-8";
/* CSS Document */
html {scrollbar-gutter: stable;}
body {margin: 0; padding: 0; min-height: 100%; display: flex; flex-direction: column;}

#jstore {width: 100vw; overflow-x: hidden;}
#jstore img{vertical-align: bottom;}
#jFooter{margin-top:100px;}
@media screen and (max-width:640px) { /* == SP用CSS (640px以下) == */
#jstore {width: 100%; overflow-x: hidden;}
#jFooter{margin-top:30px;}
}

.colSky{color: #3D96C8;}

a:hover img{ opacity :0.8;}


/* メインビジュアル
-------------------------------------------------------------*/
#mainImgArea {width: 100%; height: auto; background: url("../images/jstore/main2026_pc.png") no-repeat; background-size: cover; background-position: center;} 
#mainImg{width: auto; text-align: left; padding: 70px 0 0;}
#mainImgArea h1{width: 60vw; margin:0 0 4vw 3vw;}
#mainImgArea h1 span{font-size:60%;}
#mainImgArea h1 img{width: 60vw;}

#appealArea{width: 100vw;padding:30px 0;}
#appealArea ul{width: 94vw; display: flex; padding: 4px 0 0; margin: 0 auto;}
#appealArea li{width: calc(100% / 4); background: #FFFFFF; margin: 0 4px; border: 1px solid #fff; box-sizing: border-box; padding: 0;}
#appealArea li p.txt{width:calc(100% - 35px) ; height: 30px; text-align: center; float: left; line-height: 1.0; padding-top: 10px; white-space: nowrap; font-size:1.3vw;}
#appealArea li a p.txt{color: #333; background:663399;}
#appealArea li img{width:100%; max-width: 100%; height: auto;}
#appealArea li:hover{background: #333;}
#appealArea li:hover p.txt{color: #fff;}
#appealArea li:nth-child(1) img{background: #d01118;}
#appealArea li:nth-child(1) a:hover img{background: #ad0915; opacity:1.0;}
#appealArea li:nth-child(2) img{background: #f9f5e5;}
#appealArea li:nth-child(2) a:hover img{background: #f4e9be; opacity:1.0;}
#appealArea li:nth-child(3) img{background: #e5ece0;}
#appealArea li:nth-child(3) a:hover img{background: #cce0be; opacity:1.0;}
#appealArea li:nth-child(4) img{background: #f0e5e5;}
#appealArea li:nth-child(4) a:hover img{background: #f3d2d2; opacity:1.0;}
#appealArea li img{width: 46vw;}

.arrow{position: relative; display: inline-block; float: right; padding: 30px 30px 0 0; color: #000 ;vertical-align: middle; text-decoration: none; font-size: 15px;}
.arrow::before,.arrow::after{position: absolute;top: 0; bottom: 0; left: 0; margin: auto; content: ""; vertical-align: middle;}
.arrow::before{width: 30px; height: 30px; background: #333;}
.arrow::after{left: 8px; width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg);}

@media screen and (min-width: 1095px) {/* == PC用CSS (1095px以上) == */
	#mainImgArea {height: 470px:} 
	#mainImg{width:1095px; margin:0 auto;}
	#mainImgArea h1{width: 1095px; margin: 0 auto; padding-left: 50px;}
	#mainImgArea h1 img{width: 650px; margin-top: 40px;}
	#appealArea{padding:30px 0; margin:0 auto;}	
	#appealArea ul{width: 1095px; margin: 50px 0 0;}
	#appealArea li p.txt{font-size: 1.5em;}
}

@media screen and (max-width:640px) { /* == SP用CSS (640px以下) == */
	#mainImgArea {width: 100vw; height:auto; background: url("../images/jstore/main2026_sp.png") no-repeat top center; background-size: contain;background-position: 0 0;padding:15vw 0 0;box-sizing: border-box;} 
	#mainImgArea h1{width: 100vw; text-align: center; padding:10px 0 8px;margin:0 auto 0; background-color: rgba(255,255,255,0.65 );}
	#mainImgArea h1 img{width: 90vw;}
	
	#appealArea{display:block; width: 100vw;height: auto; background:#ffc600; padding:0;}
	#appealArea ul{width: 100%; display: flex; flex-wrap: wrap; margin: 0 auto; padding: 20px 0px 15px;}
	#appealArea li{width: 47%; padding: 0; margin-bottom: 10px;}
	#appealArea li img{width: 100%;}
	#appealArea li p.txt{height: 20px; padding-top: 5px; font-size: 10px;}
	.arrow{padding: 20px 20px 0 0; font-size: 12px;}
	.arrow::before{width: 20px; height: 20px;}
	.arrow::after{left: 6px; width: 4px; height: 4px;}
}

/* 見出しH2
-------------------------------------------------------------*/
#jstore .h2Area h2 {color:#333;font-weight: 900;letter-spacing: 0.1em;position: relative;margin:90px auto 35px;text-align: center;font-size:3.0em;}
#jstore .h2Area h2:before {position: absolute;display: inline-block;content: '';bottom: -2px;width: 100px;height: 5px;left: 50%;-webkit-transform: translateX(-50%);transform: translateX(-50%);border-radius: 2px;background-color: #fcc401;}

@media screen and (max-width:640px) {
	#jstore .h2Area h2{color:#333;font-weight: 900;letter-spacing: 0.1em;margin:30px auto 25px;text-align: center;font-size:2.2em;}
	#jstore .subBnrArea .h2Area {width: 100vw;}
}


/* コンテンツ
-------------------------------------------------------------*/
.topBody{clear:both;width:100%;font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; top:0; width: 100%;padding-bottom: 4vw; box-sizing: border-box;}

.topBodyInner{margin: 0 auto; padding-bottom:0;}
.topBodyInner img {width: auto;	max-width: 100%; height: auto;}

.topBody .subBnrArea{width:100vw; display: flex; margin:5vw auto 0;}

.topBody h2.bnrL{width: 100vw; color: #333; font-size:1.6em; text-align: center; font-weight: normal; margin: 50px auto 5vw; border:1px solid #aaa; border-radius: 0 0 10px 10px; padding-bottom:10px; }
.topBody a h2.bnrL,.topBody a h3.bnrM{color: #333;}
.topBody h2.bnrL:hover,.topBody .subBnrArea h3.bnrM:hover{background:#333; color:#fff;}

.topBody .subBnrArea h3.bnrM{width: 49vw; font-size:1.6em; text-align: center; padding:0; font-weight: normal; border:1px solid #aaa; border-radius: 0 0 10px 10px; padding-bottom:10px; margin-bottom:20px; }
.topBody .subBnrArea h3.bnrM img{margin-bottom: 10px;}
.topBody .subBnrArea h3.bnrM:first-child{margin-right: 2vw;}

.topBody .subBnrArea h3.bnrMimg{margin: 10px 5px 20px;}

@media screen and (min-width: 1095px){/* == PC用CSS (1095px以上) == */
	.topBody{padding-bottom: 50px;}
	.topBody h2.bnrL{ width:1300px; font-size:1.6em;}
	.topBody .subBnrArea{width: 1300px; margin:0 auto 0;}
	.topBody .subBnrArea h3.bnrM{width: 640px; font-size:1.6em; padding-left: 0;}
	.topBody .subBnrArea h3.bnrM:first-child{margin-right: 20px;}	
}

@media screen and (max-width:640px) { /* == SP用CSS (640px以下) == */
	.topBody{width:100vw;padding-bottom: 5vw; }
	.topBodyInner{width: 100vw;}
	.subBnrArea{display:flex;width: 100vw;flex-flow: column;}
	.subBnrArea img{margin:0 0 10px;}
	.topBody h2.bnrL{width: 100vw;margin: 40px 0; font-size:1.4em;}
	.topBody .subBnrArea h3.bnrM{width:100vw; font-size:1.4em; margin: 0 0 40px;}
	.topBody .subBnrArea h3.bnrM　+	.bnrM{margin: 0;}
	.topBody .subBnrArea h3.bnrMimg{width: 97vw; margin: 0 5px 10px;}
}


/* News - ニュース
-------------------------------------------------------------*/

#newsArea{margin:6vw auto 0;}

#jstore #newsInner{width:100vw; padding:0 0 30px; margin:0 auto;}
#jstore #newsInner_List{object-position: bottom; padding:10px 30px 0 0; margin:0 auto; text-align: right; font-size: 1.4em;}
#jstore #newsArea .title{display: none;}
#jstore #newsArea h4{display: block; font-size: 2.2em; font-weight:bold; height: 25px; margin: auto;}
#jstore #newsArea dl.news{width:90vw; height: 100px; margin: auto; padding-top: 15px;}
#jstore #newsArea dt{font-weight: normal; float: left; width:110px; padding:10px 10px 6px; font-weight: normal; font-size: 1.4em;}
#jstore #newsArea dd{padding:10px 10px 6px 10px; font-size: 1.5em; color:#333; text-align: left; border-bottom: 1px dotted #ccc; }
#jstore #newsArea dd img{margin:0px 10px 0 0}

#jstore #newsArea dd a{color: #000!important;text-decoration: none;}
#jstore #newsArea dd:hover{text-decoration: underline;}


@media screen and (min-width: 1095px){ /* == PC用CSS (1095px以上) == */
	#newsArea{width:1300px;margin:50px auto 0;}
	#jstore #newsInner{display: flex;width:1095px; margin:0 auto;}
	#jstore #newsArea .title{display: block!important; background: #ddd; width:170px; height:120px; padding: 40px 0; margin:auto; border: 1px solid #aaa; text-align: center;color:#444;border-radius:10px;}
	#jstore #newsArea dl.news{width:860px;}
}

@media screen and (max-width:640px) { /* == SP用CSS (640px以下) == */
	#newsArea{display:block;margin:30px auto 0;background: #fff;}
	#jstore #newsInner{display:block; padding:10px 0 10px; width: 100vw;}
	#jstore #newsArea .title{position: static; width: 90%; height: auto; padding:15px;}
	#jstore #newsArea h4{font-size: 2.2em; font-weight:bold; position: absolute; margin: auto;}
	#jstore #newsArea h4{position: static;}
	#jstore #newsArea dl.news{height: auto;}
	#jstore #newsArea dt{clear:both; float: none; padding:10px 5px 0;}
	#jstore #newsArea dl.news{width: 95vw; padding:0 5px 15px 0;}
}


/* 製品一覧
-------------------------------------------------------------*/
#jCategory{width:100vw; padding:5px 0 60px; background: #eeede5; margin-top: 4vw;}
#catBox li img {width: auto; max-width: 100%; height: auto;}
#catBox{padding-bottom: 20px; margin-top: 30px;}
#catBox ul{display: flex; width: 100vw; margin: 0 auto 5px!important; padding:0;}
#catBox li{ calc(100% / 4); padding:1px 1px 5px 1px; margin:0 12px 40px 0; background: #fff; box-sizing: border-box;}
#catBox li:hover {background: #333;}
#catBox ul li h3{margin:5px 5px 0 10px; font-weight: bold; font-size:1.4vw;}
#catBox ul li p{margin: 0 5px 5px 10px; font-weight: normal; font-size: 1.3vw; line-height:1.1; }
#catBox ul li a h3,#catBox ul li a p{color: #333;}
#catBox ul li:hover h3,#catBox ul li:hover p{color: #fff;}

@media screen and (min-width: 1095px){ /* == PC用CSS (1095px以上) == */
	#jCategory{width:100%; margin-top: 80px;}
	#catBox{width:1300px; margin: 0 auto; background: #eee;}
	#catBox ul{width: 1300px;}
	#catBox ul li h3{font-size: 1.5em;}
	#catBox ul li p{font-size: 1.4em;}
}

@media screen and (max-width:640px) { /* == SP用CSS (640px以下) == */
	#catBox{width: 100vw; padding:10px 0; position: static;}
	#catBox ul{width: 98vw; display: flex; flex-wrap: wrap; margin: 0 auto;}
	#catBox li{width: 46%; padding: 1px; margin:0 0 20px 0;}
	#catBox li:nth-child(odd){margin-right: 15px;}
	#catBox li img{width: 46vw;}
	#catBox ul li p{font-size: 1.0em; line-height:1.1; }
}

@media screen and (max-width:640px) { /* == SP用CSS (640px以下) == */
	#jCategory{margin-top:20px;}
	#catBox ul li h3{font-size: 1.2em;}
}

/* ボタン
-------------------------------------------------------------*/
a .nextBtn{color:#333;}
.nextBtn{background: #fff; font-weight: 600;height: 60px; font-size: 1.8em; padding:14px 30px 10px 40px; border:1px solid #999; border-radius:30px; }
.nextBtn:hover{background: #fcc401;}
a .nextBtn i{color: #3D96C8!important;}

@media screen and (max-width:640px) { /* == SP用CSS (640px以下) == */
	.nextBtn{background: #fff; font-weight: 600; height: 50px; font-size: 1.4em; padding:14px 20px 10px 40px; border:1px solid #999; border-radius:25px; padding:14px 15px 10px 15px;}
}