@charset "utf-8";
/* CSS Document */

#top .btnPageTop {
	/* opacity: 1; */
	/* pointer-events: auto; */
}
/* keyvisual */
#kayvisual {
	position: relative;
	height: 400px;
	width: 950px;
	margin: 0 auto;
}
.innerKeyvisual {
	width: 1330px;
	margin-left: -190px;
	position: relative;
	background: #333;
	height: 400px;
	overflow: hidden;
}
#kayvisual .boxKeyvisual {
	position: absolute;
	top: 0;
	left: 0;
	visibility: hidden;
	height: 400px;
	overflow:hidden;
}
#kayvisual .boxKeyvisual:nth-child(1) {
	visibility: visible;
}
#kayvisual .boxContext {
	position: absolute;
	color: #fff;
	margin: 83px 0 0 190px;
	top: 0;
	left: 0;
}
#kayvisual .boxKeyvisual:nth-child(1) .boxContext {
	margin-top: 104px;
}
#kayvisual .boxContext h2 {
	font-size: 28px;
	line-height: 1;
	font-weight: bold;
	margin: 0 0 17px;
	letter-spacing: 0.2em;
}
#kayvisual .boxContext p {
	font-size:13px;
	line-height: 1.69;
	letter-spacing: 0.1em;
}
#kayvisual .boxContext a {
	background: #fff;
	color: #006cb8;
	font-size: 12px;
	line-height: 40px;
	display: inline-block;
	font-weight: bold;
	padding: 0 1em 0 1.5em;
	margin: 35px 0 0;
	transition: all 240ms;
}
#kayvisual .boxContext a:after {
	content: "\2c3";
	font-family: icon;
	padding-left: 1.5em;
}
#kayvisual .boxContext a:hover {
	color: #fff;
	background: #006cb8;
}
.slick-dots {
	bottom: 5px;
	z-index: 1000;
}
.slick-dots li button {
	background: rgba(255, 255, 255, 0.01);
}
.slick-dots li button:before {
	content: "";
	width: 10px;
	height: 10px;
	border: solid 1px #fff;
	display: block;
	box-sizing: border-box;
	border-radius: 10px;
	opacity: 1;
}
.slick-dots li.slick-active button:before {
	background: #fff;
}
/* snavProducts */
.snavProducts {
	padding: 40px 0 55px;
}
.snavProducts li {
	
	float: left;
	width: 221px;
	margin: 0 0 0 22px;
	text-align: center;
}
.snavProducts li:first-child {
	margin-left: 0;
}
.snavProducts li a {
	display: block;
	background: #000a1a;
	height: 40px;
}

/* .ctsTopics */
.ctsTopics {
	width: 567px;
	float: left;
	padding: 0 0 105px;
}
.ctsTopics h2 {
	font-family: "Roboto";
	font-size: 21px;
	line-height: 1;
	border-bottom: solid 1px #919499;
	padding: 0 0 9px;
}
.ctsTopics ul {
	margin: 0 0 12px;
}
.ctsTopics li {
	font-size: 14px;
	line-height: 1.5;
	border-bottom: solid 1px #ccc;
	padding: 9px 0;
	letter-spacing: 0.1em;
	/* transition: opacity 160ms ease-out; */
}
.ctsTopics li:nth-child(n+5) {
	display: none;
	opacity: 0;
}
.ctsTopics time {
	padding: 0 0 0 0;
	float: left;
	/* display: block; */
}
.txtTopics {
	padding-left: 8em;
	display: block;
}
.btnMoreTopics {
	float: right;
	font-size: 13px;
	margin-left: 1em;
	visibility: hidden;
}
.btnMoreTopics:after,
.btnLessTopics:after {
	content: "\2c5";
	font-family: icon;
	display: inline-block;
	font-size: 0.6em;
	padding-left: 0.2em;
}
.btnLessTopics {
	float: right;
	font-size: 13px;
	/* display: none; */
	visibility: hidden;
}
.btnLessTopics:after {
	transform: rotate(180deg);
}
.btnMoreTopics,
.btnLessTopics {
	transition: opacity 240ms ease-out, color 240ms ease-out;
}
.btnMoreTopics.disable,
.btnLessTopics.disable {
	opacity: 0.4;
	cursor: default;
	color: inherit;
	display: none;
}

/* .ctsContact */
.ctsContact {
	width: 324px;
	float: right;
	padding-bottom: 130px;
}
.ctsContact h2 {
	font-size: 17px;
	line-height: 1;
	border-bottom: solid 1px #919499;
	line-height: 21px;
	padding: 0 0 9px;
	margin: 0 0 16px;
	font-weight: bold;
}
.ctsContact address div {
	font-family: "Roboto", "NOTO SANS JAPANESE";
	font-size: 24px;
	padding: 0 0 16px 1.6em;
	position: relative;
	letter-spacing: 0.04em;
}
.ctsContact small {
	font-size: 12px;
	letter-spacing: 0;
}
.ctsContact address div:before {
	font-family: icon;
	font-size: 15.6px;
	display: inline-block;
	text-indent: 0;
	width: 1.8em;
	position: absolute;
	top: 0;
	left: 0;
	margin: 5px 0 0 4px;
}
.boxTel:before {
	content: "\e905";
}
.ctsContact address .boxFax:before {
	content: "\e904";
	font-family: icon;
	font-size: 15.4px;
	margin: 5px 0 0 3px;
}
.ctsContact address .boxMail:before {
	content: "\e903";
	font-family: icon;
	font-size: 11.5px;
	margin-top: 9px;
	margin-left: 3px;
}

@media screen and (max-width: 767px) {
	/* keyvisual */
	#kayvisual {
	width: 100%;
	height: auto;
	/* padding-bottom: 100%; */
	}
	.innerKeyvisual {
	width: 100%;
	margin: 0;
	height: 0;
	padding-bottom: 100%;
	position: static;
	}
	#kayvisual .boxKeyvisual {
		height: auto;
		/* padding-bottom: 100%; */
		visibility: hidden !important;
	}
	#kayvisual .boxKeyvisual:nth-child(1) {
		opacity: 1 !important;
		visibility: visible !important;
	}
	#kayvisual .boxKeyvisual img {
		width: 267%;
		margin-left: -90%;
		/* height: 100%; */
		/* position: absolute; */
		/* top: 0; */
		/* left: 0; */
	}
	#kayvisual .boxContext {
		margin: 0 0 9.5% 6.52%;
		top: auto;
		bottom: 0;
		width: 87.1%;
	}
	#kayvisual .boxKeyvisual:nth-child(1) .boxContext {
		margin-top: 0;
	}
	#kayvisual .boxContext h2 {
		font-size: 1.2em;
		margin-bottom: 0.4em;
		line-height: 1.34;
	}
	#kayvisual .boxKeyvisual:nth-child(1) h2 {
		text-indent: -0.8em;
	}
	#kayvisual .boxContext h2 img {
		width: 100%;
		margin-left: 0;
	}
	#kayvisual .boxContext p {
	font-size: 0.575em;
	line-height: 1.74;
	}
	#kayvisual .boxContext a {
	font-size: 0.65em;
	line-height: 3.08;
	margin-top: 4.6%;
	position: relative;
	padding: 0 4.2em 0 1.3em;
	}
	#kayvisual .boxContext a:after {
		padding-left: 2.4em;
		font-size: 1.1em;
		position: absolute;
		top: 0;
		right: 0;
		margin: -0.1em 1em 0 0;
	}
	.slick-dots {
		display: none !important;
	}
	/* snavProducts */
	.snavProducts {
	padding: 3% 0 9.4%;
	}
	.snavProducts li {
		width: 48.73%;
		margin: 0 0 2.55%;;
	}
	.snavProducts li:nth-child(even) {
		float: right;
	}
	.snavProducts li a {
		height: auto;
	}
	.snavProducts li img {
		width: auto;
		height: 8.1vw;
		padding: 2.6% 0 1.8%;
	}

	/* .ctsTopics */
	.ctsTopics {
	width: 100%;
	float: none;
	padding-bottom: 15.4%;
	}
	.ctsTopics h2 {
	font-size: 0.98em;
	padding-bottom: 0.35em;
	}
	.ctsTopics ul {
	}
	.ctsTopics li {
	font-size: 0.58em;
	padding: 0.61em 0;
	line-height: 1.3;
	}
	.ctsTopics time {
	letter-spacing: 0;
	}
	.txtTopics {
		padding-left: 6.4em;
	}
	.btnMoreTopics {
		font-size: 0.65em;
	}
	.btnMoreTopics:after, .btnLessTopics:after {
		padding-left: 0.7em
	}
	.btnLessTopics {
		font-size: 0.65em;
	}

	/* .ctsContact */
	.ctsContact {
	width: 100%;
	float: none;
	padding: 0 0 24.2%;
	}
	.ctsContact h2 {
	font-size: 0.8em;
	line-height: 1;
	padding-bottom: 0.64em;
	margin-bottom: 0.95em;
	}
	.ctsContact address div {
	font-size: 1.43em;
	padding: 0 0 0.57em 1.4em;
	}
	.ctsContact address div:before {
		margin: 1.6% 0 0 1%;
		font-size: 0.65em;
	}
	.ctsContact address .boxFax:before {
		margin: 1.6% 0 0 0.4%;
		font-size: 0.65em;
	}
	.ctsContact address .boxMail:before {
		margin: 3.1% 0 0 0.6%;
		font-size: 0.48em;
	}
	.ctsContact small {
	font-size: 0.47em;
	}
}