@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/*====================
common
====================*/
.pc_none {
  display: none; }
  @media only screen and (max-width: 688px) {
    .pc_none {
      display: block; } }

.sp_none {
  display: block; }
  @media only screen and (max-width: 688px) {
    .sp_none {
      display: none !important; } }

/*====================
BASE
====================*/
html,body {}
@media only screen and (max-width: 688px) {
html,body { font-size: 7px;}	
}
  
*{
font-style: normal;
font-weight: normal;
letter-spacing:0;
color:#000;
font-family:'Noto Sans JP',sans-serif;
}

a:hover{
	opacity:0.6;}
p{
	line-height: 1.8em;
}

img{
	max-width: 100%;
	height: auto;
}


/**/

.movein{
	opacity: 0;
	transition : all 1s;
}

/**/

input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea{
   -webkit-appearance: none;
   border-radius: 0;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}



@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}

}

.menuheader{
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
}

.header{
	width: 100%;
	background: #fff;
}
.header .inner{
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content:flex-end;
	align-items: center;
	padding: 15px 0;
	position: relative;
}

.header .inner h1{
	margin-right: auto;
}

@media only screen and (max-width: 1000px) {
	.header .inner{
		flex-wrap: wrap;
	}
	.header .inner h1 img{
		height: 44px;
		width: auto;
	}
}

@media only screen and (max-width: 688px) {
	.header .inner{
		padding: 5px 0;
	}
	.header .inner h1{
		margin-left: 10px;
	}
	.header .inner h1 img{
		height: 30px;
		width: auto;
	}
}

.header .inner ul{
	display: flex;
	margin-right: 20px;
}
.header .inner ul li{
	position: relative;
	white-space: nowrap;
}
.header .inner ul li:before{
	content: "｜";
	font-size: 1.4em;
	line-height: 1.0em;
	color: #dc0000;
	padding: 0 3px;
}

.header .inner ul li a{
    font-size: 1.4em;
	line-height: 1em;
	white-space: nowrap;
	color: #dc0000;
}
.header .headerDl,
.spMenu .headerDl{
	display: flex;
	flex-wrap: wrap;
	border-right: solid 1px #000;
	margin-right: 10px;
}
.header .headerDl h2,
.spMenu .headerDl h2{
	display: block;
	width: 100%;
	text-align: center;
	background-color: #000;
	color: #fff;
	 font-size: 1.4em;
	line-height: 1em;
	padding: 3px 0 4px 0;
	white-space: nowrap;
}
.header .headerDl a,
.spMenu .headerDl a{
	display: block;
	background: #fff;
	width: 50%;
	text-align: center;
	border-left: solid 1px #000;
	border-bottom: solid 1px #000;
	 font-size: 1.4em;
	line-height: 1em;
	padding: 7px 0;
	white-space: nowrap;
}

@media only screen and (max-width: 1200px) {
	.header .headerDl h2,
	.spMenu .headerDl h2{ font-size: 1.3em;}
	.header .headerDl a,
	.spMenu .headerDl a{ font-size: 1.3em;}
}
.header .headerSearch,
.spMenu .headerSearch{
	display: flex;
	align-items: center;
	border: solid 1px #000;
}
.header .headerSearch h2,
.spMenu .headerSearch h2{
	background-color: #000;
	text-align: center;
	color: #fff;
	padding: 4px 9px;
	font-size: 1.4em;
	white-space: nowrap;
}

.search{
	display: flex;
	align-items: center;
}
.search input[type="text"].searchWord{
	font-size: 1.6em;
	padding: 2px 0 2px 10px;
	border: none;
	width: 150px;
}
button{
	border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
	background: none;
}


@media only screen and (max-width: 1200px) {
	.header .headerSearch h2,
	.spMenu .headerSearch h2{font-size: 1.3em;}
	.header .inner ul{
		width: 50%;
		justify-content: flex-end;
	}
	.search{width: 196px;}
	.search button img{width: 20px; height: 20px;}
}


@media only screen and (max-width: 688px) {
	.header .inner ul,
	.header .headerDl,
	.header .headerSearch{
		display: none;
	}
}



.header .lang{ width: 50px; display: flex; flex-direction: column; height: 100%; position: absolute;
right: 0;
top: 0;}
.header .lang .jp{ background: #dc0000; height: 50%; color: #fff; text-align: center; font-size: 1.4em; display: flex; align-items: center; justify-content: center;}
.header .lang .en{ height: 50%;}
.header .lang .en a{ display: block; background: #999999; height: 100%;color: #fff; text-align: center; font-size: 1.4em; display: flex; align-items: center; justify-content: center;}


.header .topMenu{
	padding-right: 50px;
}
.header .topMenu li a{ padding: 0 20px;}

@media only screen and (max-width: 800px) {
	.header .topMenu li a{ padding: 0 6px;}
}

@media only screen and (max-width: 688px) {
	.header .lang{
		display: none;
	}
}

nav{
	background: #000;
}
nav ul{
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
nav ul li{
	width: 25%;
}
nav ul li a{
	color: #fff;
	display: block;
	text-align: center;
	font-size: 1.6em;
	line-height: 1em;
	white-space: nowrap;
	border-left: 1px solid #fff;
	border-bottom: solid 1px #fff;
	padding: 10px 0;
}

nav ul li a:hover{
	background: #dc0000;
	color: #fff;
	opacity: 1;
}

nav ul li:nth-child(4n) a{
	border-right: 1px solid #fff;
}
nav ul li:nth-child(n + 5) a{
	border-bottom: none;
}
nav ul li a br{display: none;}
@media only screen and (max-width: 1200px) {
	nav ul li a{
		font-size: 1.3em;
	}
	nav ul li a br{display: block;}
}

@media only screen and (max-width: 688px) {
	nav{ display: none;}
	nav ul li a br{display: none;}
	nav ul li a{
		font-size: 1.6em;
	}
}

.spMenuBt{
	display: none;
}

@media only screen and (max-width: 688px) {
	.spMenuBt{
	display: block;
		position: absolute;
		right: 0;
		top: 0;
}
	.spMenuBt img{
		width: 40px;
		height: 40px;
	}
}

.itemDetailHeaderRed{
	background: #dc0000;
	padding: 150px 0 0 0;
}
.itemDetailHeaderRed .inner{
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}
.itemDetailHeaderRed .inner p{
	font-size: 2.6em;
	line-height: 1.3em;
	font-weight: bold;
	color: #fff;
	padding: 0 0 10px 0;
}





.pagetop{
	margin: 0 1%;
	text-align: right;
}

.pagetop a{}

@media only screen and (max-width: 688px) {
	.pagetop a img{
		width: 54px;
		height: auto;
	}
}

.footer{
	background: #000;
}

.footer .inner{
	padding: 20px 0;
	text-align: center;
}

.footer .inner ul{
	display: flex;
	justify-content: center;
	padding: 0 0 20px 0;
}
.footer .inner ul li:after{
	content: "/";
	font-size: 1.6em;
	line-height: 1.0em;
	color: #fff;
	padding: 0 3px;
}
.footer .inner ul li:last-child:after{
	content: none;
}
.footer .inner ul li a{
	font-size: 1.6em;
	line-height: 1.0em;
	color: #fff;
}

.footer .inner h2{
	font-size: 2.0em;
	line-height: 1em;
	font-weight: bold;
	padding: 0 0 10px 0;
	color: #fff;
}

.footer .inner p{
	font-size: 1.6em;
	line-height: 1.4em;
	color: #fff;
	padding: 0 0 20px 0;
}

.footer .inner address{
	font-size: 1.4em;
	line-height: 1em;
	color: #fff;
}



@media only screen and (max-width: 688px) {
	
}


.spMenu{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #000;
	display: none;
	z-index: 100;
}
@media only screen and (max-width: 688px) {
	.spMenu{
	}
}

.spMenu .close{
	padding: 10px;
	color: #fff;
	text-align: right;
	font-size: 3.0em;
	border-bottom: solid 1px #333;
}
.spMenu ul{}
.spMenu ul li{
	border-bottom: solid 1px #333;
}
.spMenu ul li a{
	color: #fff;
	display: block;
	font-size: 1.6em;
	padding: 10px;
}

.spMenu .headerDl{
	width: 100%;
	padding: 20px 3%;
	margin: 0;
}
.spMenu .headerDl h2{
	padding: 0 0 10px 0;
}

.spMenu .headerSearch{
	width: 100%;
	padding: 0 3% 20px 3%;
	margin: 0;
	flex-wrap: wrap;
}
.spMenu .headerSearch h2{
	width: 100%;
}
.spMenu .headerSearch .search{
	width: 100%;
}
.spMenu .headerSearch .search input[type="text"].searchWord{
	width: auto;
	flex: 1;
}






.topMain{
	background:linear-gradient(to bottom,#1a1a1a, #000000);
}

.topMain .inner{
	padding: 80px 0 0 0;
}
.topMain .topslide{
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	position: relative;
}

@media only screen and (max-width: 688px) {
	.topMain .inner{
	padding: 40px 0 0 0;
}
}

/*slick*/


.slick-dots{
	position: absolute;
	bottom: -40px!important;
	padding: 0 ;
	margin: 0;
}

.slick-dots li{
	background: #808080;
	width: 80px;
	padding-top: 5px;
	height: 0;
	overflow: hidden;
}
.slick-dots li{}
.slick-dots li.slick-active{
	background: #fff;
}


.slick-dotted.slick-slider {
	margin-bottom: 0!important;
}
.slick-dots li button:before{
		font-family: 'Noto Serif JP', sans-serif!important;
		font-size: 0px!important;
		width: 0px!important;
        height: 0px!important;
	display: none;
	}


@media only screen and (max-width: 688px) {
	.slick-dots{
		bottom: -20px!important;
	}
	.slick-dots li{
		width: 40px;
	padding-top: 3px;
	}
}


.prev-arrow,
.next-arrow{width: 24px; height: 32px; cursor: pointer;z-index: 100;}
.prev-arrow{
	position: absolute;
	left: -48px;
	top: calc(50% - 16px);
}
.next-arrow{
	position: absolute;
	right: -48px;
	top: calc(50% - 16px);
}

@media only screen and (max-width: 688px) {
	.prev-arrow,
	.next-arrow{width: 8px; height: auto;top: calc(50% - 5px);}
	.prev-arrow{left: 10px; }
	.next-arrow{right: 10px;}
}



/**/


.topSearch{
	background: linear-gradient(to right,#8c0000,#dc0000);
	padding: 100px 0 90px 0;
}
.topSearch .inner{
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content:space-between;
}

.topSearch .inner .topSearchProduct,
.topSearch .inner .topSearchDl{
	width: 48%;
	margin: 0 15px;
	position: relative;
}
.topSearch .inner div h2{
	text-align: center;
	padding: 0 0 20px 0;
}


.topSearchProductBox{
	display: flex;
	align-items: center;
	border: solid 1px #000;
	background: #fff;
}
.topSearchProductBox h3{
	background-color: #000;
	text-align: center;
	color: #fff;
	padding: 8px 12px;
	font-size: 2.0em;
	white-space: nowrap;
}

.topSearchProductBox form.search{
	width: 100%;
	display: flex;
}
.topSearchProductBox form input[type="text"].searchWord{
	flex: 1;
}
.topSearchProductBox form button{
	margin-left: auto;
	padding-right: 15px;
}
.topSearchProductBox form button img{
	width: 28px;
	height: 28px;
}


.topSearchDl ul{
	display: flex;
	flex-wrap: wrap;
	border-right: solid 1px #000;
	margin-right: 10px;
}

.topSearchDl ul li{
	width: 50%;
	text-align: center;
	border-left: solid 1px #000;
	border-bottom: solid 1px #000;
	border-top: solid 1px #000;
	 
}
.topSearchDl ul li a{
	display: block;
	background: #fff;
	padding: 26px 0;
	font-size: 2.0em;
	line-height: 1em;
	font-weight: bold;
	white-space: nowrap;
}

.topSearch .inner .topSearchDl #ankerSearchDl{
	position: absolute;
	top: -120px;
}

@media only screen and (max-width: 688px) {
	.topSearch .inner .topSearchDl #ankerSearchDl{
	position: absolute;
	top: -40px;
}
}


@media only screen and (max-width: 688px) {
	.topSearch{
	padding: 35px 0 15px 0;
}
	
.topSearch .inner{
		flex-direction: column;
		padding: 0 3%;
	}
.topSearch .inner .topSearchProduct,
.topSearch .inner .topSearchDl{
	width: 100%;
	margin: 0;
}

.topSearch .inner div h2{
	padding: 20px 0 10px 0;
}
	.topSearch .inner div h2 img{
		height: 15px;
		width: auto;
	}
	.topSearchDl ul{
		margin: 0;
	}
	.topSearchDl ul li a{
		padding: 12px 0;
	}
	
.topSearchProductBox form button img{
	width: 16px;
	height: 16px;
}
	
}




.topProducts{
	position: relative;
}
.topProducts #ankerProducts{
	position: absolute;
	top: -40px;
}

.topProducts .inner{
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 0;
}
.topProducts h2{
	text-align: center;
	padding: 0 0 0 0;
}
.topProducts .inner ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.topProducts .inner ul li{
	width: 23%;
	margin: 90px 1% 90px 1%;
	text-align: center;
}
.topProducts .inner ul li figure{
	padding: 15px 0;
}
.topProducts .inner ul li a p img{
	background: #fff;
}

.topProducts .inner ul li:last-child a{
	background: #ebf0f3;
	border: solid 1px #000;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 23px;
}
.topProducts .inner ul li:last-child div{
	font-size: 1.5em;
	font-weight: bold;
	margin: 0 15px;
	padding: 35px 0;
}

.topProducts .inner ul li:last-child div div:first-child{
	border-bottom: solid 1px #000;
}



@media only screen and (max-width: 688px) {
	.topProducts .inner{
	padding: 30px 3%;
}
.topProducts h2{
	padding: 0 0 10px 0;
}
	.topProducts h2 img{
		height: 30px;
		width: auto;
	}
	
	.topProducts .inner ul li{
	width: 44%;
	margin: 30px 3% 30px 3%;
}
	.topProducts .inner ul li figure{
	padding: 8px 0;
}
	.topProducts .inner ul li a p img{
		width: 55px;
		height: auto;
}
	
	.topProducts .inner ul li:last-child div{
	font-size: 1.5em;
	font-weight: bold;
	margin: 0 8px;
	padding: 22px 0;
}
	
	
}

.topNews{
	background-image: url("../img/top/news_bg.jpg");
	background-size: cover;
	padding: 100px 0;
	position: relative;
}
.topNews h2{
	text-align: center;
	padding: 0 0 50px 0;
}
.topNewsBox{
	margin: 0 auto ;
	background: rgba(255,255,255,0.9);
	max-width: 1000px;
	padding: 40px;
}
.topNewsBox li{
	border-bottom: dotted 1px #000;
}
.topNewsBox li a{
	display: block;
	display: flex;
	font-size: 1.6em;
	padding: 10px;
}
.topNewsBox li a .topNewsDate{width: 8em;}
.topNewsBox li a .topNewsTxt{flex: 1;}
.topNewsBt{
	padding: 40px 0 0 0;
	text-align: center;
}

.topNews .pagetop{
right: 1%;
bottom: 0;
	margin: 0;
	position: absolute;
}


@media only screen and (max-width: 688px) {
	.topNews{
		background-image: url("../img/top/news_bg_sp.jpg");
		padding: 50px 3%;
	}
	.topNews h2{
	padding: 0 0 25px 0;
}
	.topNews h2 img{
		height: 28px;
		width: auto;
	}
	.topNewsBox{
		padding: 20px;
	}
	.topNewsBt{
	padding: 20px 0 0 0;
		width: 160px;
		margin: 0 auto;
}
}



/*contentSearchBox*/

.itemTopHeader.searchHeader,
.itemTopHeader.sitemapHeader,
.itemTopHeader.privacyHeader{
	background: #fff;
	
}
.itemTopHeader.searchHeader .inner,
.itemTopHeader.sitemapHeader .inner,
.itemTopHeader.privacyHeader .inner{
	padding: 230px 0 0 0;
	background-repeat: no-repeat;
	background-position: bottom;
	height: 350px;
}

@media only screen and (max-width: 688px) {
	.itemTopHeader.searchHeader .inner,
	.itemTopHeader.sitemapHeader .inner,
	.itemTopHeader.privacyHeader .inner{
		padding: 74px 3% 36px 3%;
		height: auto;
	}
	.itemTopHeader.searchHeader .inner h2 img,
	.itemTopHeader.sitemapHeader .inner h2 img,
	.itemTopHeader.privacyHeader .inner h2 img{
		height: 30px;
		width: auto;
	}
}

.searchBox{
	display: flex;
	justify-content: center;
	background: #d7dcdf;
	text-align: center;
	padding: 20px 3%;
}


.searchBox .headerSearch{
	display: flex;
	align-items: center;
	border: solid 1px #000;
	background: #fff;
	padding: 0 10px 0 0;
}
.searchBox .headerSearch h2{
	background-color: #000;
	text-align: center;
	color: #fff;
	padding: 8px 20px;
	font-size: 2.0em;
	white-space: nowrap;
}

.searchBox .headerSearch .search input[type="text"].searchWord{
	font-size: 1.8em;
	padding: 0px 0 0px 10px;
	border: none;
	width: 280px;
}

.searchBox .headerSearch .search button{
	padding-right: 15px;
}

.searchBox .headerSearch .search button img{
	width: 28px;
	height: 28px;
}


@media only screen and (max-width: 1200px) {
	.searchBox .headerSearch .search{width: auto;}
	.searchBox .headerSearch .search button img{width: 28px; height: 28px;}
}



@media only screen and (max-width: 688px) {
	.searchBox .headerSearch{
		padding: 0 0 0 0;
		width: 100%;
	}
.searchBox .headerSearch h2{
	padding: 8px 12px;
}
	.searchBox .headerSearch .search{
		width: 100%;
	}	
.searchBox .headerSearch .search input[type="text"].searchWord{
	width: 90%;
	flex: 1;
	}
.searchBox .headerSearch .search button img{
	width: 16px;
	height: 16px;
}
}


.contentSearch{}


.contentSearch{padding: 60px 3% 0 3%;}

.contentSearch .inner{
	max-width: 1000px;
	margin: 0 auto;
}


@media only screen and (max-width: 688px) {
	.contentSearch{padding: 30px 3% 0 3%;}
}

.contentSearch .inner h3{
	font-size: 2.0em;
	border-bottom: solid 1px #000;
	padding: 0 0 10px 0;
}
@media only screen and (max-width: 688px) {
	.contentSearch .inner h3{
		padding: 0 0 5px 0;
	}
}

.contentSearchBox{
	padding: 20px;
	display: flex;
	align-items: center;
	border-bottom: solid 1px #d7dcdf;
}

@media only screen and (max-width: 688px) {
	.contentSearchBox{
		padding: 10px;
		flex-direction: column;
	}
}

.contentSearchBox p{
	font-size: 1.6em;
	line-height: 1.4em;
	padding: 0 0 0 10px;
	font-weight: bold;
}
.contentSearchBox li{
	font-size: 1.6em;
	padding: 0 0 0 10px;
}
.contentSearchBox .more{
	font-size: 1.6em;
	border: solid 1px #000;
	padding: 8px 34px;
	background-image: url("../img/list_link_icon_r.png");
	background-size: 12px 16px;
	background-repeat: no-repeat;
	background-position: 90% center;
	white-space: nowrap;
}
@media only screen and (max-width: 688px) {
	.contentSearchBox p,
	.contentSearchBox li{
	font-size: 2.0em;
	padding: 0 0 0 5px;
	}
	.contentSearchBox .more{
		font-size: 1.6em;
		padding: 5px 20px;
		background-size: 6px 8px;
	}
}

.contentSearchBox a{
	display: flex;
	align-items: flex-start;
}
.contentSearchBox a div{
	flex: 1;
}
.contentSearchBox a figure{
	width: 115px;
	border: solid 1px #d7dcdf;
}
@media only screen and (max-width: 688px) {
	.contentSearchBox a figure{
	width: 70px;
	}
}
.contentSearchBox a:first-child{
	margin: 0 auto 0 0;
}
.contentSearchBox a:last-child{
	margin: 0 0 0 auto;
}

.search_hide_1,
.search_hide_5,
.search_hide_11,
.search_hide_12{
	display: none!important;
}

.topsearchBox{
	padding: 5px;
	border-bottom: solid 1px #d7dcdf;
}
.topsearchBox a{
	display: flex;
	align-items: flex-start;
}
.topsearchBox a figure{
	width: 100px;
	border: solid 1px #d7dcdf;
}
.topsearchBox a div{
	padding-left: 3px;
	flex: 1;
}
.topsearchBox a p,
.topsearchBox a li{
	font-size: 1.6em;
}
.topsearchBox a p{
	font-weight: bold;
}

@media only screen and (max-width: 688px) {
	.topsearchBox a figure{
		width: 40%;}
	
}