@charset "UTF-8";
/* ===================================================================
  use toppage
=================================================================== */
/*---------------------------------------------------------------------------*/
@media screen and (min-width: 769px), print {
  /* ===================================================================
  use pc
=================================================================== */
}

@media screen and (max-width: 768px) {
  /* ===================================================================
  use sp
=================================================================== */
}


/*全体*/
#container{
  width: 100%;
  min-width: 1300px;
  margin: 0 auto;
}
h1{
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
}
h2{
  text-align: center;
  font-size: 3.4rem;
  color: #5190ef;
  font-weight: normal;
  letter-spacing: 1px;
}
h2 span{
  display: block;
  font-size: 1.4rem;
  color: #9aaac3;
  font-weight: normal;
}

/*ヘッダー*/
header{
  width: 1300px;
  height: 90px;
  margin: 0 auto;
  overflow: hidden;
}
header h1{
  float: left;
  padding: 25px 25px 0 25px;
}
.nav-con{
  overflow: hidden;
  height: 90px;
  box-sizing: border-box;
  background: url(../common/images/nav_bg.jpg)top left repeat-x;
}
.nav-con nav ul li{
  float: left;
  height: 35px;
  text-align: center;
  margin-top: 30px;
  padding: 0 15px;
}
.nav-con nav ul li a{
  font-size: 1.5rem;
  color: #FFF;
  letter-spacing: 1px;
  text-decoration: none !important;
}
.nav-con nav ul li:hover{
  opacity: 0.8;
}
.nav-con nav ul li span{
  display: block;
  font-size: 1.114rem;
}
.nav-con nav ul li + li{
  border-left: 1px dotted #FFF;
}
.nav-con nav ul li:nth-child(7){
  border-right: 1px dotted #FFF;
}
.nav-tell{
  float: left;
  margin-top: 30px;
  padding-left: 35px;
}
.nav-tell p{
  color: #FFF;
}
.nav-tell p:nth-child(1){
  font-size: 1.1rem;
}
.nav-tell p:nth-child(2){
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 20px;
}

/*メイン*/
.main{
  width: 100%;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.main-bg img{
  width: 100%;
}
.main-txt{
  margin: 0 auto;
  text-align: center;
  position: absolute;
  top: 30%;
  bottom: 0;
  left: 0;
  right: 0;
}

/*ご挨拶*/
#message{
  background: url(../images/bg.jpg)top left repeat;
}
.message-ttl{
  height: 118px;
  box-sizing: border-box;
  padding-top: 30px;
}
.message-con{
  height: 490px;
  background: url(../images/message.jpg)top left no-repeat;
  background-color: #FFF;
}
.message-txt{
  width: 550px;
  margin: 0 auto;
  padding: 60px 0 89px 265px;
}
.message-txt p{
  font-size: 1.5rem;
  line-height: 30px;
}
.message-txt p:nth-child(2){
  text-align: right;
  padding-top: 25px;
}

/*事業内容*/
#contents{
  width: 100%;
  padding-top: 40px;
  padding-bottom: 55px;
  background-color: #ecf1f7;
}
#contents h2{
  padding-bottom: 20px;
}
.contents-con{
  width: 1070px;
  height: auto;
  margin: 0 auto;
  background-color: #FFF;
  box-sizing: border-box;
  padding: 45px 80px 40px 80px;
}
.contents-con p{
  font-size: 1.4rem;
}
.contents-con ul{
  text-align: center;
  font-size: 0;
  margin-top: 35px;
  display: block;
}
.contents-con ul li{
  display: inline-block;
}
.contents-con ul li + li{
  padding-left: 40px;
  background: url(../images/content_arrow.png)12px 70px no-repeat;
}

/*おすすめ商品*/
#products{
  padding-top: 60px;
  padding-bottom: 65px;
  background: url(../images/bg.jpg)top left repeat;
}
.prod-con ul{
  overflow: hidden;
  width: 895px;
  margin: 0 auto;
  padding-top: 30px;
}
.prod-con ul li{
  float: left;
  width: 275px;
  min-height: 370px;
  border-bottom: 1px solid #5190ef;
}
.prod-con ul li a {
  background-color: #FFF;
  display: inline-block;
  width: 275px;
  min-height: 370px;
  text-decoration: none !important;
}
.prod-con ul li a:hover{
  opacity: 0.8;
}
.prod-con ul li + li{
  margin-left: 35px;
}
.prod-con ul li h3{
  height: 55px;
  text-align: center;
  font-size: 1.6rem;
  color: #5190ef;
  letter-spacing: 1px;
  padding-top: 15px;
  box-sizing: border-box;
}
.prod-con ul li p{
  font-size: 1.4rem;
  text-align: center;
  padding: 25px 15px;
}

/*事業実績*/
#perfo{
  background-color: #ecf1f7;
  padding-top: 50px;
  padding-bottom: 80px;
}
#perfo h2{
  padding-bottom: 20px;
}
.slick-img .sli + .sli{
  margin-left: 5px;
}
.slick-dots li button:before{
  font-family: 'slick';
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 15px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #5190ef;
  content: '';
  text-align: center;
  opacity: .25;
  color: #c9c9c9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-prev{
  left: 20px;
  z-index: 10;
}
[dir='rtl'] .slick-prev{
  right: 40px;
  left: auto;
}
.slick-prev:before{
  content: url(../images/sli_arrow_le.png);
}
[dir='rtl'] .slick-prev:before{
  content: url(../images/sli_arrow_ri.png);
}
.slick-next{
  right: 35px;
  z-index: 10;
}
[dir='rtl'] .slick-next{
  right: auto;
  left: 40px;
}
.slick-next:before{
  content: url(../images/sli_arrow_ri.png);
}
[dir='rtl'] .slick-next:before{
  content: url(../images/sli_arrow_le.png);
}
.slick-dots{
  position: absolute;
  bottom: -45px;
}
.slick-loading .slick-list{
  background: #fff url('../images/ajax-loader.gif') center center no-repeat;
}

/*会社概要*/
#company{
  background: url(../images/bg.jpg)top left repeat;
  padding-top: 50px;
  padding-bottom: 80px;
}
#company h2{
  padding-bottom: 30px;
}
.company-con{
width: 910px;
margin: 0 auto;
border-bottom: 2px dotted #8e8e8e;
}
.company-con img{
  margin-bottom: 55px;
}
.company-con dl{
  overflow: hidden;
  padding: 16px 0;
  border-top: 2px dotted #8e8e8e;
}
.company-con dl dt,
.company-con dl dd{
  float: left;
  font-size: 1.6rem;
}
.company-con dl dt{
  width: 260px;
  box-sizing: border-box;
  padding-left: 30px
}
.company-con dl:nth-child(10) dt{
  padding-top: 70px;
}
.company-con dl dd{
  width: 650px;
}

.company-con dl p + p{
  margin-top: 5px;
}
.company-con dl p span{
  display: inline-block;
  float: right;
}

/*アクセス*/
#access{
  padding-top: 55px;
  background-color: #ecf1f7;
}
.googlemap{
  width: 100%;
  height: 535px;
  margin-top: 25px;
}

/*コンタクト*/
#contact{
  padding-top: 60px;
  padding-bottom: 60px;
  background: url(../images/bg.jpg)top left repeat;
}
#contact h2{
  padding-bottom: 20px;
}
#contact dl{
  width: 905px;
  margin: 0 auto;
  overflow: hidden;
  padding: 24px 0;
  border-top: 1px dotted #a0a0a0;
}
#contact .con{
  border-bottom: 1px dotted #a0a0a0;
  margin-bottom: 45px;
}
#contact dl dt,
#contact dl dd{
  float: left;
  font-size: 1.4rem;
}
#contact dl dt{
  width: 265px;
  box-sizing: border-box;
  padding-top: 15px;
  padding-left: 30px;
}
#contact dl dd span{
  display: inline-block;
  padding-left: 20px;
}
#contact dl dt p::after{
  content: url(../images/contact_logo.png);
  vertical-align: -webkit-baseline-middle;
  padding-left: 10px;
}
#contact .con dt{
  padding-top: 85px;
}
#contact dl dd input{
  font-size: 1.4rem;
  padding-left: 20px;
}
#contact dl dd textarea{
  width: 475px;
  height: 205px;
  font-size: 1.4rem;
  padding-left: 20px;
  border-color: #ccc;
}
#contact dl dd input.size-s{
  width: 170px;
  height: 40px;
}
#contact dl dd input.size-m{
  width: 475px;
  height: 40px;
}
.privacy-check{
  width: 905px;
  height: 305px;
  margin: 0 auto;
  background-color: #FFF;
  text-align: center;
  font-size: 1.4rem;
  box-sizing: border-box;
  padding-top: 20px;
  text-align: center;
}
.check{
  margin-bottom: 25px;
}
input[type="checkbox"] {
	display: none;
}
label[for="checkbox01"] {
	position: relative;
	display: inline-block;
	padding: 4px 3px 3px 22px;
	cursor: pointer;
}
label[for="checkbox01"]::before {
	position: absolute;
	content: '';
	top: 50%;
	left: 0;
	width: 15px;
	height: 15px;
	margin-top: -8px;
	background: #e2e2e2;
}
input[type="checkbox"]:checked + label::after {
	position: absolute;
	content: '';
	top: 5px;
	left: 3px;
	width: 13px;
	height: 5px;
	border-left: 2px solid #3498db;
	border-bottom: 2px solid #3498db;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.privacy{
  width: 825px;
  height: 200px;
  margin: 0 auto;
  overflow-y: scroll;
  box-sizing: border-box;
  border: 1px solid #e4e4e4;
  padding: 20px;
}
.privacy p{
  font-size: 1.4rem;
  color: #555555;
  text-align: left;
}
.privacy p span{
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  padding-bottom: 20px;
}
.privacy p span + span{
  padding-top: 20px;
}
.contact-btn{
  margin-top: 35px;
}
.contact-btn span{
  display: block;
  width: 240px;
  height: 45px;
  margin: 0 auto;
  box-sizing: border-box;
  background-color: #5190ef;
}
.contact-btn span a{
  display: inline-block;
  width: 240px;
  height: 45px;
  box-sizing: border-box;
  font-size: 1.4rem;
  color: #FFF;
  text-decoration: none;
  text-align: center;
  padding-top: 12px;
  background: url(../images/contact_arrow.png)190px 15px no-repeat;
}
.contact-btn span:hover{
  opacity: 0.8;
}

/*ページトップ*/
.pagetop{
  width: 100%;
  height: 55px;
  cursor: pointer;
  text-align: center;
  box-sizing: border-box;
  padding-top: 10px;
  background-color: #5190ef;
}
.pagetop a{
  display: block;
  width: 100%;
  height: 55px;
}
.pagetop:hover{
  background-color: rgba(81,144,239,0.7);
}

/*フッター*/
footer{
  width: 1120px;
  height: 92px;
  margin: 0 auto;
  overflow: hidden;
}
.copyright{
  float: left;
  padding-top: 40px;
}
.banner ul{
  float: right;
  padding-top: 20px;
}
.banner ul li{
  display: inline-block;
}
.banner ul li + li{
  margin-left: 25px;
}
.banner ul li a img:hover{
  opacity: 0.6;
}
