@charset "UTF-8";

/* top
---------------------------------------------------------------------------*/
#topContents {
	overflow: hidden;
	margin-top: -5px;
}

/* .modal
------------------------------------*/
.modal .inner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1080px;
	height: 608px;
	margin: -304px 0 0 -540px;
}

.modal .modal-close {
	position: fixed;
	top: 30px;
	right: 30px;
	transition: .2s ease-in-out;
	cursor: pointer;
}

.modal .modal-close:hover {
	opacity: .5;
}

/* .top-bnr
------------------------------------*/
.top-bnr {
	position: relative;
	width: 840px;
	height: 467px;
	margin: 0 auto 75px;
	padding-bottom: 70px;
}

.top-bnr-inner {
	position: absolute;
	top: 0;
	left: 50%;
	width: 2520px;
	margin: 0 0 0 -1260px;
}

.slider-bnr {
	overflow-y: hidden;
	width: 100%;
}

.slider-bnr div {
	width: 840px;
	text-align: center;
}

.top-bnr-inner .bx-prev,
.top-bnr-inner .bx-next {
	display: block;
	position: absolute;
	top: 50%;
	width: 51px;
	height: 51px;
	text-indent: -9999px;
	z-index: 999;
}

.top-bnr-inner .bx-prev {
	left: 50%;
	background: url(../img/share/btn-prev.png) no-repeat;
	background-size: 51px 51px;
	margin: -67px 0 0 -475px;
}

.top-bnr-inner .bx-next {
	right: 50%;
	background:url(../img/share/btn-next.png) no-repeat;
	background-size: 51px 51px;
	margin: -67px -475px 0 0;
}

@media all and (-webkit-min-device-pixel-ratio: 1.5) {
	.top-bnr-inner .bx-prev {
		background-image: url(../img/share/btn-prev@2x.png);
	}
	.top-bnr-inner .bx-next {
		background-image: url(../img/share/btn-next@2x.png);
	}
}

.bx-controls {
	text-align: center;
}

.bx-pager {
	position: relative;
	display: inline-block;
	padding-top: 12px;
	text-align: center;
}

.bx-pager:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	border-radius: 3px;
	background: #F1F35B;
	width: 100%;
	height: 3px;
}

.bx-pager-item {
	display: inline-block;
}

.bx-pager-item a {
	position: relative;
	display: block;
	width: 35px;
	height: 47px;
	font-size: 0;
}

.bx-pager-item a:before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	border-radius: 50%;
	background: #000000;
	width: 9px;
	height: 9px;
	margin: -5px 0 0 -5px;
}

.bx-pager-item a.active:before {
	background: #F1F35B;
}

/* .sec-greeting
------------------------------------*/
.sec-greeting {
	width: 754px;
	margin: 0 auto 120px;
}

.box-greeting {
	margin-bottom: 75px;
	text-align: center;
}

.box-greeting h2 {
	margin-bottom: 46px;
}

.box-greeting h2 em {
	display: block;
	margin-bottom: 21px;
}

.box-greeting h2 strong {
	display: block;
}

.sec-greeting .btn-set li {
	width: 227px;
	margin-right: 36px;
}

.sec-greeting .btn-set li:last-of-type { margin-right: 0; }

/* .box-reading
------------------------------------*/
.box-reading {
	margin-bottom: 13px;
}

.box-reading h3 {
	margin-bottom: 25px;
}

.box-reading h3.title-line strong {
	letter-spacing: 0.08em;
}

.reading-list {
	overflow: hidden;
}

.reading-list li {
	overflow: hidden;
	float: left;
	width: 352px;
	margin: 0 50px 35px 0;
}

.reading-list li:nth-child(even) { margin-right: 0; }

.reading-list li a {
	display: block;
}

.reading-list li figure {
	float: left;
	width: 165px;
}

.reading-list li .inner {
	float: right;
	width: 164px;
}

.reading-list li .inner.mt {
	margin-top: 35px;
}

.reading-list li i {
	display: block;
	margin: 4px 0 8px 1px;
	font-size: 11px;
	letter-spacing: 0.15em;
}

.reading-list li i.mt {
	margin-top: 2px;
}

.reading-list li i span {
	color: #CC0000;
}

.reading-list li h4 {
	margin-bottom: 6px;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.05em;
}

.reading-list li p {
	margin-left: 1px;
	font-size: 11px;
	text-align: justify;
	line-height: 1.6;
	letter-spacing: 0.035em;
}

/* .sec-policy
------------------------------------*/
.sec-policy {
	width: 1066px;
	margin: 0 auto 180px;
}

.sec-policy h2 {
	margin: 0 0 55px 14px;
}

.box-policy {
	overflow: hidden;
	padding-bottom: 80px;
}

.box-policy .slider-wrap {
	width: auto;
}

.box-policy h3 {
	float: left;
	margin: 0 53px 0 14px;
}

.box-policy .txt-set {
	float: left;
	width: 215px;
	margin-top: -5px;
}

.box-policy .txt-set p {
	margin-bottom: 14px;
	font-size: 16px;
	text-align: justify;
	line-height: 1.7;
	letter-spacing: 0.03em;
}

.box-policy .txt-set p:last-of-type { margin-bottom: 0; }

/* .box-policy .slider
------------------------------------*/
.box-policy .slider {
	float: right;
	width: 633px;
	margin: 80px 15px 0 0;
}

.box-policy .slick-dots {
	overflow: hidden;
	position: absolute;
	bottom: -38px;
	right: 0;
}

.box-policy .slick-dots li {
	float: left;
	border-radius: 50%;
	width: 26px;
	height: 26px;
}

.box-policy .slick-dots li button {
	position: relative;
	text-indent: -9999px;
	border-radius: 50%;
	background: #E7E7E7;
	border: 10px solid #FFFFFF;
	width: 26px;
	height: 26px;
}

.box-policy .slick-dots li.slick-active button {
	background: #5C88A0;
}

@media all and (-ms-high-contrast:none){
	.box-policy .slick-dots li button:before {
		display: block;
		content: '';
		position: absolute;
		top: -12px;
		left: -12px;
		border-radius: 50%;
		border: 3px solid #FFF;
		width: 24px;
		height: 24px;
	}
}

/* .business-list
------------------------------------*/
.business-list li {
	float: left;
	width: 250px;
	margin-right: 22px;
	text-align: center;
}

.business-list li:nth-child(even) { margin-top: 40px; }
.business-list li:last-of-type { margin-right: 0; }

.business-list h3 {
	margin: 25px 0 6px;
	color: #5C88A0;
	font-size: 10px;
	letter-spacing: 0.1em;
}

.business-list h4 {
	margin-bottom: 20px;
	font-size: 19px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

/* .sec-product
------------------------------------*/
.sec-product {
	width: 100%;
	margin: 0 auto 160px;
	text-align: center;
}

.product-lead {
/* 	margin-bottom: 40px; */
}

.product-lead h2 .txt-bold {
	margin-bottom: 25px;
	font-size: 36px;
	letter-spacing: 0.05em;
}

.product-lead p {
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

/* .box-product
------------------------------------*/
.box-product {
	position: relative;
	box-sizing: border-box;
	background: linear-gradient(to bottom, #FFFFFF 65%, #EEF3F5 65%, #EEF3F5 100%);
	width: 100%;
/* 	height: 640px; */
	height: 550px;
}

.box-product-inner {
	position: absolute;
	top: 0;
	left: 50%;
	width: 2420px;
	margin: 0 0 0 -1210px;
}

.slider-product {
	width: 100%;
	padding-top: 40px;
}

.slider-product .inner {
	display: block;
	width: 220px;
/* 	padding: 80px 0 120px; */
	padding: 20px 0 120px;
	text-align: center;
}

.slider-product .inner a {
	display: block;
}

.slider-product .inner .figure-wrap {
	position: relative;
	width: 220px;
	height: 350px;
}

.slider-product .inner figure {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 220px;
	margin-left: -110px;
}

.slider-product .inner figure .award {
	position: absolute;
	top: -55px;
	left: 50%;
	width: 121px;
	height: 41px;
	margin-left: -60px;
	opacity: 0;
}

.slider-product .inner h3 {
	margin: 25px 0 2px;
	padding: 0 15px;
	color: #0671AC;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.slider-product .inner p {
	color: #0671AC;
	font-size: 11px;
	letter-spacing: 0.12em;
}

.box-product-inner .bx-prev,
.box-product-inner .bx-next {
	display: block;
	position: absolute;
	top: 300px;
	left: 50%;
	width: 51px;
	height: 51px;
	margin: -25px 0 0;
	text-indent: -9999px;
	z-index: 999;
}

.box-product-inner .bx-prev {
	background: url(../img/share/btn-prev.png) no-repeat;
	background-size: 51px 51px;
}

.box-product-inner .bx-next {
	background:url(../img/share/btn-next.png) no-repeat;
	background-size: 51px 51px;
}

@media all and (-webkit-min-device-pixel-ratio: 1.5) {
	.box-product-inner .bx-prev {
		background-image: url(../img/share/btn-prev@2x.png);
	}
	.box-product-inner .bx-next {
		background-image: url(../img/share/btn-next@2x.png);
	}
}

/* .sec-blog
------------------------------------*/
.sec-blog {
	width: 905px;
	margin: 0 auto;
}

.sec-blog .title-set {
	overflow: hidden;
	margin-bottom: 45px;
}

.sec-blog .title-set h2 {
	float: left;
	margin-top: 18px;
}

.sec-blog .title-set h2 strong{
  font-size: 20px;
}

.sec-blog .btn-set {
	float: right;
}

.sec-blog .btn-set li {
	margin-left: 16px;
}

.blog-list {
	overflow: hidden;
}

.blog-list li {
	float: left;
	width: 255px;
	margin: 0 70px 65px 0;
	text-align: center;
}

.blog-list li:nth-of-type(3n) { margin-right: 0; }

.blog-list li a {
	display: block;
}

.blog-list figure {
	overflow: hidden;
	position: relative;
	width: 255px;
	height: 178px;
	margin-bottom: 24px;
}

.blog-list figure img {
	min-width: 255px;
}

.blog-list figure .noimg {
	width: 100%;
	height: auto;
}

.blog-list figcaption {
	position: absolute;
	top: 0;
	left: 0;
	background: #FFFFFF;
	padding: 9px 13px 9px 12px;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.blog-list figcaption span {
	position: relative;
	display: inline-block;
	padding-right: 14px;
}

.blog-list figcaption span:last-of-type {
	padding-right: 0;
}

.blog-list figcaption span:after {
	display: block;
	content: '/';
	position: absolute;
	top: 0;
	right: 4px;
}

.blog-list figcaption span:last-of-type:after {
	display: none;
}

.blog-list time {
	display: inline-block;
	border-bottom: 1px solid #000000;
	margin-bottom: 12px;
	padding: 0 0 2px 2px;
	font-size: 12px;
	letter-spacing: 0.15em;
}

.blog-list h3 {
	margin-bottom: 16px;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.blog-list p {
	text-align: left;
	color: #666666;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.05em;
}

/* .top-news
------------------------------------*/
.top-news {
	position: relative;
	width: 755px;
	margin: 0 auto 90px;
}

.top-news > h2 {
	margin: 0 0 26px 10px;
}

.top-news .title-line strong {
	padding-bottom: 10px;
	padding-left: 0.2em;
	letter-spacing: 0.2em;
}

.top-news > .btn-link {
	display: inline-block;
	position: absolute;
	top: -10px;
	right: 0;
}

.top-news .news-area {
	width: 100%;
}

.top-news .news-title > a,
.top-news .news-title span,
.top-news .news-main {
	padding-left: 130px;
}

.top-news .news-title > a,
.top-news .news-title span {
	padding-top: 18px;
	padding-bottom: 15px;
}

.top-news .news-area article time {
	top: 22px;
	letter-spacing: 0.12em;
}

.top-news .news-title h2 {
	margin-bottom: 0;
	font-size: 14px;
}

.top-news .news-main {
	padding-bottom: 36px;
	transform: translateY(5px);
}

.top-news .news-main p {
	font-size: 14px;
}

.top-news .news-area article .ico-new {
	top: 20px;
	left: 138px;
}

.sec-recruit {
	width: 905px;
  margin: 0 auto;
	overflow: hidden;
}

.sec-recruit .title-set{
	overflow: hidden;
	margin-bottom: 45px;
	display: flex;
	justify-content: center;
}

.sec-recruit .title-line{
	margin-top: 18px;
}

.sec-recruit .btn-set{
	margin-top: 18px;
}

.sec-recruit .btn-set li {
	margin-left: 16px;
}

.recruit-list {
	display: flex;
	flex-wrap: wrap;
}

.recruit-list li {
	width: 255px;
	margin: 0 0 65px 70px;
	text-align: center;
}

.recruit-list li a {
	display: block;
}

.recruit-list li a:hover {
	opacity: .5;
}

.recruit-list li:nth-child(3n-2) {
	width: 255px;
	margin: 0 0 65px 0;
	text-align: center;
}

.recruit-list figure img {
	min-width: 255px;
	width: 100%;
	height: auto;
}

.recruit-list .txt-set {
	margin-top: 12px;
}

.recruit-list .txt-set h3 {
	font-size: 15px;
	text-decoration: underline;
}


.sec-recruit .btn-link {
	max-width: 390px;
	margin: 24px auto 0;
}

.sec-recruit .title-set .title-line .txt-bold {
	font-size: 24px;
}