@charset "utf-8";

/* -- メインビジュアル -- */
.topMainImg {
	position: relative;
	margin-bottom: 80px;
}
/* -- メインビジュアルタイトル -- */
.topMainTitle {
	font-size: 4.8rem;
	font-weight: 200;
	color: #fff;
	text-align: center;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 64px;
	left: 0;
	right: 0;
	z-index: 50;
}
.topMainTitle .ruby {
	position: relative;
	white-space: nowrap;
}
.topMainTitle .rt {
	font-size: 29.166%;
	letter-spacing: .7em;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 95%;
	padding-left: 10px;
	text-align: center;
}

/* -- メインビジュアル スライド -- */
.mainImg::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: url(../img/dot_pattern.png);
}
.mainImg .slideBox {
	margin-bottom: 0;
	overflow: hidden;
	position: relative;
}
.mainImg .slideBox {
	margin-bottom: 0;
	overflow: hidden;
	position: relative;
}
.mainImg .slideBox img {
	width: 100%;
	height: auto;
}

/* Dots */
.mainImg .slick-dotted.slick-slider {
    margin-bottom: 0;
}
.mainImg .slick-dots {
	bottom: 90px;
	padding: 0 24px;
	text-align: right;
	z-index: 52;
}
.mainImg .slick-dots li {
	width: 8px;
	height: 8px;
	margin: 0 8px;
}
.slick-dots li button {
	width: 8px;
	height: 8px;
}

.mainImg .slick-dots li button:before {
	content: '';
	line-height: 8px;
	width: 8px;
	height: 8px;
	text-align: center;
	opacity: 1;
	background: #fff;
}
.mainImg .slick-dots li.slick-active button:before {
	opacity: 1;
	background: #F05930;
}
/* ------------------------------
 PC用限定CSS ブラウザ縦フィット 20181214

@media print, screen and (min-width: 768px) {
	.topMainImg {
		height: calc(100vh - 80px);
	}
	.mainImg .slideBox {
		height: calc(100vh - 80px);
	}
	.mainImg .slideBox img {
		min-width: 1920px;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
}
------------------------------ */

/* ------------------------------
 PAD用コード

@media print, screen and (max-device-width: 1024px) and (min-device-height: 1024px) {
	.topMainImg {
		height: 768px;
	}
	.mainImg .slideBox {
		height: 768px;
	}
}
------------------------------ */
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.topMainImg {
		height: 320px;
		margin-bottom: 40px;
	}
	.mainImg .slideBox {
		height: 320px;
	}
	.mainImg .slideBox img {
		min-width: 767px;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	
	/* -- メインビジュアルタイトル -- */
	.topMainTitle {
		font-size: 3rem;
		bottom: 84px;
	}
	.topMainTitle .rt {
		letter-spacing: .6em;
	}
}


/* ------------------------------
 WHAT’S NEW
------------------------------ */
.whatsnewBlock ul li::after {
	content: "";
	clear: both;
	display: block;
}
.whatsnewBlock {
	background: rgba(0, 0, 0, .6);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}

.whatsnewInr {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

/* -- TICKER -- */
.ticker {
	position: relative;
	margin: 0 30px;
	line-height: 64px;
	height: 64px;
	overflow: hidden;
	-webkit-transition: opacity .3s ease-in-out;
	transition: opacity .3s ease-in-out;
}
.ticker ul li {
	display: none;
}

/* -- メイン内 新着カテゴリー -- */
.whatsnewBlock .newsList .cate {
	margin-top: 22px;
}
/* -- メイン内 日付 -- */
.whatsnewBlock .newsList .date {
	color: #fff;
}
/* -- メイン内 新着テキスト -- */
.whatsnewBlock .newsList .boxText {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #ffffff;
}
.whatsnewBlock .newsList .boxText a {
	color: #ffffff;
}

/* -- 一覧リンク -- */
.whatsnewBlock .viewList {
	position: absolute;
	top: 0;
	right: 32px;
	z-index: 100;
	line-height: 64px;
}

.whatsnewBlock .viewList a {
	font-size: 2.4rem;
	color: #fff;
	text-decoration: none;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- WHAT’S NEW -- */
	.whatsnewBlock {
		height: 84px;
	}
	
	/* -- TICKER -- */
	.ticker {
		width: calc(100% - 80px);
		top: 20px;
		height: 60px !important;
		line-height: 2;
		margin: 0 0 0 20px;
	}
	.ticker::before {
		content: normal;
	}
	.whatsnewBlock ul li {
		width: 100%;
	}
	
	/* -- 新着カテゴリー -- */
	.whatsnewBlock .newsList .cate {
		margin-top: 0;
		vertical-align: middle;
	}
	/* -- 一覧リンク -- */
	.whatsnewBlock .viewList {
		right: 20px;
		top: 20px;
		line-height: 1;
	}
}

/* ------------------------------
 強み
------------------------------ */
.strengthBlock {
	padding-bottom: 115px;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media screen and (min-width: 768px) {
	.strengthBlock .inBlock {
		width: 980px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media print, screen and (max-width: 767px) {
	.strengthBlock {
		padding-left: 5%;
		padding-right: 5%;
		padding-bottom: 40px;
	}
}

/* ------------------------------
 素材・技術・製品
------------------------------ */
/* -- メニュー -- */
.businessBlock .blockMenu {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
.businessBlock .blockMenu a {
	display: block;
	color: #fff;
	text-decoration: none;
	position: relative;
}
.businessBlock .blockMenu a:hover img {
	opacity: 1;
}

/* -- メニューテキスト -- */
.businessBlock .menuText {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 32px;
	background: rgba(0, 0, 0, .6);
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.businessBlock .menuText ul {
	display: flex;
	flex-flow: row wrap;
	height: 100%;
}
.businessBlock .menuText ul li {
	/* width: 50%; */
	width: 100%;
	font-weight: bold;
	line-height: 32px;
	text-align: center;
}
.businessBlock .menuText ul li.headTitle {
	width: 100%;
	height: calc(100% - 51px);
	line-height: 1.6;
}
.businessBlock .menuText ul li:nth-child(n + 3) {
	border-left: solid 1px rgba(255, 255, 255, .5);
}
/* -- メインタイトル -- */
.headTitle {
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: solid 1px rgba(255, 255, 255, .5);
}
.headTitle span {
	font-family: 'Pacifico', cursive;
	font-size: 1.6rem;
	font-weight: normal;
	display: block;
}

/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.businessBlock {
		height: 1154px;
		margin-top: -240px;
		margin-bottom: -135px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: url(../img/business_bg.gif) no-repeat center center;
	}
	/* -- IEのバグ回避CSS -- */
	.businessBlock .inBlock {
		margin-left: 0;
		margin-right: 0;
	}
	.businessBlock a:hover .menuText {
		background: rgba(0, 0, 0, .8);
	}
	
	/* ------------------------------
	 素材・技術・製品
	------------------------------ */
	/* -- メニュー -- */
	.businessBlock .blockMenu .img_hover {
		width: 560px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.businessBlock {
		margin-bottom: 40px;
	}
	/* -- メニューテキスト -- */
	.businessBlock .menuText {
		padding: 25px;
	}
	/* -- メインタイトル -- */
	.headTitle {
		margin-bottom: 22px;
	}
}

/* ------------------------------
 納入実績
------------------------------ */
.worksBlock {
	text-align: left;
	margin-bottom: 150px;
}
.worksBlock .mainLead {
	font-size: 2.4rem;
	margin-bottom: 30px;
}
.worksBoxOut {
	padding: 60px 0;
	background: url(../img/dot_bg.png) repeat-y center 0;
}

/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.worksBox {
		width: 1120px;
		margin-left: auto;
		margin-right: auto;
		display: flex;
		justify-content: space-between;
	}
	.worksBox .w330:nth-child(2) {
		margin-bottom: -128px;
	}
	.worksBox .w330:nth-child(3) {
		margin-top: -128px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.worksBlock {
		margin-bottom: 40px;
	}
	.worksBoxOut {
		padding: 30px 5%;
	}
}


/* ------------------------------
 主なお取引先
------------------------------ */
.clientBlock {
	margin-bottom: 100px;
}
.logoList {
	display: flex;
	flex-flow: row wrap;
	justify-content: start;
}
.linerTitle {
	font-weight: bold;
	color: #F05930;
	margin-bottom: 40px;
	display: flex;
	align-items: center;
}
.linerTitle:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #F05930;
	display: block;
	margin-left: .4em;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.logoList li {
		width: 262px;
		margin-bottom: 25px;
		background: #DCDCDC;
	}
	.logoList li:not(:nth-child(4n+1)) {
		margin-left: 24px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.clientBlock {
		margin-bottom: 40px;
	}
	.clientBlock .inBlock {
		padding-left: 5%;
		padding-right: 5%;
	}
	.logoList li {
		width: 49%;
		margin-bottom: 10px;
		background: #DCDCDC;
	}
	.logoList li:not(:nth-child(2n+1)) {
		margin-left: 2%;
	}
	.linerTitle {
		margin-bottom: 20px;
	}
}


/* ------------------------------
 その他
------------------------------ */
/* -- メニュー -- */
.otherBlock .blockMenu li a {
	display: block;
	color: #fff;
	text-decoration: none;
	position: relative;
}

/* -- メニュー画像 -- */
.otherBlock .imgBox {
	height: 256px;
	overflow: hidden;
	position: relative;
}
.otherBlock .imgBox img {
	min-width: 602px;
	min-height: 256px;
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	 backface-visibility: hidden;
}

/* -- メニューテキスト -- */
.otherBlock .blockMenu .menuText {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 10px;
}
.otherBlock .blockMenu .menuText h2 {
	font-size: 2.4rem;
}
.otherBlock .blockMenu .menuText h2 span {
	color: #fff;
}

.annivBlock {
	text-align: center;
	background: linear-gradient(90deg, rgba(49, 19, 20, 1) 30%, rgba(20, 8, 9, 1) 70%);
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* -- メニュー -- */
	.otherBlock .blockMenu {
		display: flex;
		background: #000;
	}
	.otherBlock .blockMenu li {
		width: 50%;
		width: -webkit-calc(100% / 2);
		width: calc(100% / 2) ; 
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 479px) {
	.otherBlock .imgBox {
		height: 204px;
	}
	.otherBlock .imgBox img {
		min-width: 480px;
		min-height: 204px;
	}
}

/* ------------------------------
 お知らせ
------------------------------ */
.newsBlock .newsList {
	border-top: solid 1px #DCDCDC;
}
.newsBlock .newsList li {
	padding: 18px 0;
	border-bottom: solid 1px #DCDCDC;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.newsBlock {
		padding-left: 5%;
		padding-right: 5%;
	}
}
