@charset "UTF-8";

/* 
header
----------------------------------*/
#mainVisual {
	min-width: 1040px;
	background: url("../top_img/mv-bg.jpg") no-repeat center center;
	background-size: cover;
}
nav,
#other,
#contact,
#footer01,
#container03 {
	min-width: 1040px;
}
.mvText {
	width: 900px;
	margin: 0 auto;
}
#mainMenu li a {
  padding: 4px 34px;
  color: #fff;
}
#mainMenu li a:hover {
	color: rgba(255,255,255,0.7);
}
#mainMenu li#mm_trans a {
	padding: 4px 34px 4px 0;
}
#mainMenu li#mm_company a {
	padding: 4px 0 4px 34px;
}
/* ----pcのみ---- */
@media all and (min-width: 768px) {
.first {
  position: absolute;
	top: 120px;
}
}
/* 
ハンバーガーメニュー
----------------------------------*/
/* ----pcのみ---- */
@media all and (min-width: 768px) {
#sideZone {
  display: none;
}
}
/* 
container02
----------------------------------*/
#container02 {
  background-image: none;
}
#wrapper {
  width: 100%;
  margin: 0;
  padding: 0;
}
.koritusBnr {
  width: 1040px;
  display: flex;
  justify-content: space-between;
  margin: 50px auto -30px;
}
.koritusBnr img {
	width: 336px;
	height: auto;
}
#services, #knowhow, .bnnBox {
  width: 1040px;
  margin: 0 auto;
  padding: 80px 0;
}

h2 {
  text-align: center;
}
.leadText {
	margin: 20px 0 30px;
	font-size: 1.5rem;
  text-align: center;
}

/* services */
#services h3 {
	margin-top: 40px;
	font-size: 3.4rem;
	font-weight: normal;
	line-height: 1.4;
	color: #666666;
  text-align: center;
}
ul.mainList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}
ul.mainList li {
  flex: 0 1 340px;
	height: 320px;
  align-content: stretch;
  margin-bottom: 10px;
}
ul.mainList li a {
  display: block;
  height: 100%;
  padding: 20px;
  color: #fff;
}
ul.mainList li.ml01 a {
	background: #1c516c url("../top_img/mainlist01.jpg") no-repeat top center;
	background-size: 340px 150px;
}
ul.mainList li.ml02 a {
	background: #1c516c url("../top_img/mainlist02.jpg") no-repeat top center;
	background-size: 340px 150px;
}
ul.mainList li.ml03 a {
	background: #1c516c url("../top_img/mainlist03.jpg") no-repeat top center;
	background-size: 340px 150px;
}
ul.mainList li.ml04 a {
	background: #1c516c url("../top_img/mainlist04.jpg") no-repeat top center;
	background-size: 340px 150px;
}
ul.mainList li.ml05 a {
	background: #1c516c url("../top_img/mainlist05.jpg") no-repeat top center;
	background-size: 340px 150px;
}
ul.mainList li.ml06 a {
	background: #1c516c url("../top_img/mainlist06.jpg") no-repeat top center;
	background-size: 340px 150px;
}
ul.mainList li.ml07 a {
	background: #1c516c url("../top_img/mainlist07.jpg") no-repeat top center;
	background-size: 340px 150px;
}
ul.mainList li.ml08 a {
	background: #1c516c url("../top_img/mainlist08.jpg") no-repeat top center;
	background-size: 340px 150px;
}
ul.mainList li.ml09 a {
	background: #1c516c url("../top_img/mainlist09.jpg") no-repeat top center;
	background-size: 340px 150px;
}
ul.mainList li h4 {
  margin-bottom: 10px;
	padding-top: 150px;
  font-size: 2.5rem;
  font-weight: normal;
}
ul.mainList li p {
	color: #dedede;
	line-height: 1.8;
}
ul.subList {
  display: flex;
  justify-content: space-around;
  list-style: none;
  margin: 60px 0 0;
}
ul.subList li {
  flex: 0 1 20%;
	font-size: 1.7rem;
  text-align: center;
}
ul.subList li a {
	display: block;
	padding-top: 105px;
	color: #000;
}
ul.subList li.sl01 a {
	background: url("../top_img/icon01.png") no-repeat top center;
	background-size: 100px auto;
}
ul.subList li.sl02 a {
	background: url("../top_img/icon02.png") no-repeat top center;
	background-size: 100px auto;
}
ul.subList li.sl03 a {
	background: url("../top_img/icon03.png") no-repeat top center;
	background-size: 100px auto;
}
ul.subList li.sl04 a {
	background: url("../top_img/icon04.png") no-repeat top center;
	background-size: 100px auto;
}
ul.subList li.sl05 a {
	background: url("../top_img/icon05.png") no-repeat top center;
	background-size: 100px auto;
}
ul.mainList li a:hover,
ul.subList li a:hover{
	text-decoration: none;
}
/* ----pcのみ---- */
@media all and (min-width: 768px) {
ul.mainList li.ml01 a:hover {
	background: #216080 url("../top_img/mainlist01-over.jpg") no-repeat top center;
}
ul.mainList li.ml02 a:hover {
	background: #216080 url("../top_img/mainlist02-over.jpg") no-repeat top center;
}
ul.mainList li.ml03 a:hover {
	background: #216080 url("../top_img/mainlist03-over.jpg") no-repeat top center;
}
ul.mainList li.ml04 a:hover {
	background: #216080 url("../top_img/mainlist04-over.jpg") no-repeat top center;
}
ul.mainList li.ml05 a:hover {
	background: #216080 url("../top_img/mainlist05-over.jpg") no-repeat top center;
}
ul.mainList li.ml06 a:hover {
	background: #216080 url("../top_img/mainlist06-over.jpg") no-repeat top center;
}
ul.mainList li.ml07 a:hover {
	background: #216080 url("../top_img/mainlist07-over.jpg") no-repeat top center;
}
ul.mainList li.ml08 a:hover {
	background: #216080 url("../top_img/mainlist08-over.jpg") no-repeat top center;
}
ul.mainList li.ml09 a:hover {
	background: #216080 url("../top_img/mainlist09-over.jpg") no-repeat top center;
}
ul.subList li.sl01 a:hover {
	background: url("../top_img/icon01-over.png") no-repeat top center;
	background-size: 100px auto;
	color: #1c516c;
}
ul.subList li.sl02 a:hover {
	background: url("../top_img/icon02-over.png") no-repeat top center;
	background-size: 100px auto;
	color: #1c516c;
}
ul.subList li.sl03 a:hover {
	background: url("../top_img/icon03-over.png") no-repeat top center;
	background-size: 100px auto;
	color: #1c516c;
}
ul.subList li.sl04 a:hover {
	background: url("../top_img/icon04-over.png") no-repeat top center;
	background-size: 100px auto;
	color: #1c516c;
}
ul.subList li.sl05 a:hover {
	background: url("../top_img/icon05-over.png") no-repeat top center;
	background-size: 100px auto;
	color: #1c516c;
}
}
/* other */
#other {
	background: url("../top_img/other-bg.png") no-repeat top center;
	background-size: cover;
}
#other .innerBox {
	width: 1040px;
  margin: 0 auto;
  padding: 80px 0 120px;
	display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#other h2 {
  flex: 0 1 100%;
	margin-bottom: 30px;
}
#other h3 {
	padding: 20px 20px 10px;
	font-size: 2.6rem;
	font-weight: normal;
	color: #1c516c;
}
.otherBox {
  flex: 0 1 340px;
  display: flex;
  flex-direction: column;
	background-color: #fff;
}
.otherBox p {
	line-height: 1.8;
	padding: 0 20px 20px;
}
.otherBox ul.arrowList {
  margin-top: auto;
}
ul.arrowList {
	width: 100%;
  list-style: none;
}
ul.arrowList li {
  border-bottom: 1px solid #6e90a0;
}
ul.arrowList li:last-child {
  border-bottom: none;
}
ul.arrowList li a {
  width: 100%;
  height: 50px;
  padding: 0 15px;
  background-color: #3b6980;
	font-size: 1.7rem;
  color: #fff;
  position: relative;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
}
ul.arrowList li a:hover{
	background-color: #437791;
	text-decoration: none;
}
ul.arrowList li a:before {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
ul.double li {
	
}
ul.double li a {
  height: 152px;
}
ul.arrowList li a span,
ul.double li a span{	
	display: block;
	font-size: 1.3rem;
	color: #e6e6e6;
}
/* knowhow */
#knowhow h2 {
	margin-bottom: 30px;
}
#knowhow h3 {
	padding: 20px 0 10px;
	font-size: 2.6rem;
	font-weight: normal;
	color: #1c516c;
	text-align: center;
}
#knowhow .flexBox {
	display: flex;
	justify-content: space-between;
}
#knowhow ul.flexBox li {
	flex: 0 1 340px;
}
#knowhow ul.flexBox li a {
	height: 70px;
}
#knowhow ul li a span {
	display: block;
	width: 100%;
}
#knowhow .innerBox {
	flex: 0 1 515px;
	margin-top: 50px;
	background-color: #eef4f8;
}
#knowhow .innerBox ul.arrowList {
	width: 340px;
	margin: 0 auto 30px;
}
#knowhow .innerBox ul.arrowList li a {
	height: 70px;
}
/* contact */
#contact {
	background: url("../top_img/contact-bg.jpg") no-repeat top center;
	background-size: cover;
}
#contact .innerBox {
	width: 1040px;
  margin: 0 auto;
  padding: 80px 0 120px;
}
#contact h3 {
	margin-top: 40px;
	font-size: 3.4rem;
	font-weight: normal;
	line-height: 1.4;
	color: #000;
  text-align: center;
}
#contact .btn a {
	display: block;
	position: relative;
	padding: 15px 0;
	background: #8fa600 url("../top_img/icon06.png") no-repeat 28% center;
	background-size: 40px auto;
	font-size: 3.2rem;
	color: #fff;
	text-decoration: none;
	text-align: center;
}
#contact .btn a:hover {
	text-decoration: none;
	background-color: #a5bf00;
}
#contact .btn a:before {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 15px;
  height: 15px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
/* ----pcのみ---- */
@media all and (min-width: 768px) {
#contact .btn a br {
  display: none;
}
}
#contact ul.arrowList {
	display: flex;
	justify-content: space-between;
	margin-top: 10px;
}
#contact ul.arrowList li {
	flex: 0 1 254px;
}
#contact ul.arrowList li a {
	background-color: #1c516c;
	padding: 0 0 0 50px;
	font-size: 1.5rem;
}
#contact ul.arrowList li a:hover{
	background-color: #216080;
}
.con01 a {
	background: url("../top_img/icon07.png") no-repeat 5px center;
	background-size: auto 50px;
}
.con02 a {
	background: url("../top_img/icon08.png") no-repeat 5px center;
	background-size: auto 50px;
}
.con03 a {
	background: url("../top_img/icon09.png") no-repeat 5px center;
	background-size: auto 50px;
}
.con04 a {
	background: url("../top_img/icon10.png") no-repeat 5px center;
	background-size: auto 50px;
}
/* 
bnnBox 
----------------------------------*/
.bnnBox ul {
	width: 695px;
	margin: 0 auto;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-content: space-between
}
.bnnBox ul li {
	flex: 0 1 336px;
	margin-bottom: 10px;
}
.bnnBox ul li + li {
	margin-left: 16px;
}
.bnnBox ul li a {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 1px solid #b3b3b3;
}
.bnnBox ul li a img {
	vertical-align: bottom;
}
/*----------------------------------------------
 スマホ用CSS
----------------------------------------------*/
@media only screen and (max-width: 767px) {
#mitsumori {
  position: fixed;
  z-index: 90;
  top: 0;
  right: 60px;
  width: 60px;
  height: 60px;
  border-radius: 0;
  background-color: #8fa600;
}
#mainVisual {
	width: 100%;
	min-width: 320px;
	height: 430px;
	background: url("../top_img/mv-bg.jpg") no-repeat bottom right;
	background-size: auto 100%;
	display: flex;
  justify-content: center;
  align-items: center;
}
#other,
#contact,
#footer01,
#container03 {
	min-width: 320px;
}
.mvText {
	width: 100%;
	margin: 0 auto;
}
.mvText img {
	width: 100%;
	max-width: 750px;
	height: auto;
}
#services,
#knowhow,
#other,
#contact,
.bnnBox {
  width: 100%;
	min-width: 320px;
  margin: 0 auto;
  padding: 50px 0;
}
.koritusBnr {
  width: 90%;
  display: block;
  margin: 30px auto -10px;
}
.koritusBnr div img {
  display: block;
  margin: auto;
	width: 100%;
	max-width: 375px;
}
.koritusBnr div + div {
  margin-top: 15px;
}
/* services */
#services h3 {
	margin-top: 30px;
	font-size: 2.8rem;
	padding: 0;
}
	#services h3 span {
		display: block;
	}
.leadText {
	width: 90%;
	margin: 20px auto 30px;
	font-size: 1.4rem;
  text-align: left;
}
ul.mainList {
  display: block;
	width: 90%;
	margin: 0 auto;
}
ul.mainList li {
  width: 100%;
	height: 100%;
	min-height: 100%;
}
ul.mainList li.ml01 a {
	background: #1c516c url("../top_img/mainlist01@2x.jpg") no-repeat top center;
	background-size: 100% auto;
}
ul.mainList li.ml02 a {
	background: #1c516c url("../top_img/mainlist02@2x.jpg") no-repeat top center;
	background-size: 100% auto;
}
ul.mainList li.ml03 a {
	background: #1c516c url("../top_img/mainlist03@2x.jpg") no-repeat top center;
	background-size: 100% auto;
}
ul.mainList li.ml04 a {
	background: #1c516c url("../top_img/mainlist04@2x.jpg") no-repeat top center;
	background-size: 100% auto;
}
ul.mainList li.ml05 a {
	background: #1c516c url("../top_img/mainlist05@2x.jpg") no-repeat top center;
	background-size: 100% auto;
}
ul.mainList li.ml06 a {
	background: #1c516c url("../top_img/mainlist06@2x.jpg") no-repeat top center;
	background-size: 100% auto;
}
ul.mainList li.ml07 a {
	background: #1c516c url("../top_img/mainlist07@2x.jpg") no-repeat top center;
	background-size: 100% auto;
}
ul.mainList li.ml08 a {
	background: #1c516c url("../top_img/mainlist08@2x.jpg") no-repeat top center;
	background-size: 100% auto;
}
ul.mainList li.ml09 a {
	background: #1c516c url("../top_img/mainlist09@2x.jpg") no-repeat top center;
	background-size: 100% auto;
}
ul.mainList li h4 {
  margin-bottom: 10px;
	padding-top: 50%;
  font-size: 2.5rem;
  font-weight: normal;
}
ul.subList {
  display: flex;
	flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 40px 0 0;
}
ul.subList li { 
	flex: 0 1 76px;
	font-size: 1.4rem;
  text-align: center;
	margin: 0 15px;
}
ul.subList li:nth-of-type(2) {
	flex: 0 1 7em;
}
ul.subList li:nth-child(n+4) {
	flex: 0 1 8em;
}
ul.subList li.sl01 a {
	background: url("../top_img/icon01@2x.png") no-repeat top center;
	background-size: 76px auto;
}
ul.subList li.sl02 a {
	background: url("../top_img/icon02@2x.png") no-repeat top center;
	background-size: 76px auto;
}
ul.subList li.sl03 a {
	background: url("../top_img/icon03@2x.png") no-repeat top center;
	background-size: 76px auto;
}
ul.subList li.sl04 a {
	background: url("../top_img/icon04@2x.png") no-repeat top center;
	background-size: 76px auto;
}
ul.subList li.sl05 a {
	background: url("../top_img/icon05@2x.png") no-repeat top center;
	background-size: 76px auto;
}
/* other */
#other {
	padding-bottom: 30px;
	}
#other .innerBox {
	width: 90%;
  margin: 0 auto;
  padding: 0;
	display: block;
}
#other h2 {
  flex: 0 1 100%;
	margin-bottom: 30px;
}
#other h3 {
	padding: 20px 20px 10px;
	font-size: 2.6rem;
	font-weight: normal;
	color: #1c516c;
}
.otherBox {
  width: 100%;
  display: flex;
  flex-direction: column;
	margin-bottom: 30px;
	background-color: #fff;
}
.otherBox p {
	padding: 0 20px 20px;
}
.otherBox ul.arrowList {
  margin-top: auto;
}
ul.arrowList {
	width: 100%;
  list-style: none;
}
ul.double li a {
  height: 101px;
}
/* knowhow */
#knowhow h2 {
	margin-bottom: 30px;
}
#knowhow h3 {
	padding: 0 0 10px;
	font-size: 2.6rem;
	font-weight: normal;
	color: #1c516c;
	text-align: center;
}
#knowhow .flexBox {
	display: block;
}
#knowhow ul.flexBox {
	width: 90%;
	margin: 0 auto;
}
#knowhow ul.flexBox li {
	width: 100%;
}
#knowhow ul.flexBox li a {
	height: 70px;
}
#knowhow ul li a span {
	display: block;
	width: 100%;
}
#knowhow .innerBox {
	width: 100%;
	margin-top: 30px;
	background-color: #fff;
}
#knowhow .innerBox ul.arrowList {
	width: 90%;
	margin: 0 auto 30px;
}
#knowhow .innerBox ul.arrowList li a {
	height: 70px;
}
/* contact */
#contact {
	background: url("../top_img/contact-bg.jpg") no-repeat 63% center;
	background-size: auto 100%;
	padding: 0;
}
#contact .innerBox {
	width: 100%;
  margin: 0 auto;
  padding: 50px 0 70px;
}
#contact h3 {
	margin-top: 40px;
	padding: 0 1em 15px;
	font-size: 2.8rem;
}
#contact .btn {
	width: 90%;
	margin: 0 auto;
}
#contact .btn a {
	display: block;
	position: relative;
	padding: 10px 0 8px 80px;
	background: #8fa600 url("../top_img/icon06@2x.png") no-repeat 25px center;
	background-size: auto 40px;
	font-size: 2.2rem;
	text-align: left;
	line-height: 1.4;
}
#contact .btn a:before {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 15px;
  height: 15px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#contact ul.arrowList {
	width: 90%;
	margin: 0 auto;
	display: block;
}
#contact ul.arrowList li {
	width: 100%;
}
#contact ul.arrowList li a {
	padding: 0 0 0 80px;
}
.con01 a {
	background: url("../top_img/icon07@2x.png") no-repeat 20px center;
	background-size: auto 50px;
}
.con02 a {
	background: url("../top_img/icon08@2x.png") no-repeat 20px center;
	background-size: auto 50px;
}
.con03 a {
	background: url("../top_img/icon09@2x.png") no-repeat 20px center;
	background-size: auto 50px;
}
.con04 a {
	background: url("../top_img/icon10@2x.png") no-repeat 20px center;
	background-size: auto 50px;
}
/* 
bnnBox 
----------------------------------*/
.bnnBox ul {
	width: 100%;
	margin: 0 auto;
	list-style: none;
	display: block;
}
.bnnBox ul li {
	width: 100%;
	text-align: center;
}
	.bnnBox ul li + li {
	margin-left: 0;
}
}
