@charset "utf-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline;
	font-weight:normal;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display:block;
}
body {
	line-height:1;
	-webkit-text-size-adjust:100%;
}
ol, ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content:'';
	content:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
/* body */

body {
	color:#333;
	font-size:12px;
	font-family:"メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
}
a{
	color:#3b89e3;
	text-decoration:none
}
a:hover{
	text-decoration:underline
}
img{
	vertical-align:top;
}

h2{
	height: 100px;
	margin-bottom: 60px;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	line-height: 100px;
	letter-spacing: 0.05em;
	background: url(../images/bg-h2.jpg) left top;
}
/** wrapper **/
#wrapper {
	width: 100%;
	min-width: 1220px;
	height: auto!important;
	clear: both;
	overflow: hidden;
}
/** header **/

#header{
	height: 68px;
	margin-bottom: 30px;
	padding: 20px 15px 0;
	border-bottom: 2px solid #333;
}
#header h1{
	max-width: 1080px;
	margin: 0 auto;
	font-size: 28px;
	font-weight: bold;
}
#header h1 span{
	padding-right: 10px;
	font-size: 14px;
	vertical-align: middle;
}

/** KV **/
.kvWrapper{
	position: relative;
	z-index: 1;
	height: 460px;
	margin-bottom: 92px;
}

.kvSlider > div{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 50%;
	margin-left: -540px;
}
.kvSlider > div:first-child{
	z-index: 2;
}
.kvSlider > div.slick-list{
    position: relative;
    left: 0;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-initialized .slick-slide{
	padding: 0 15px;
}
.slick-prev,
.slick-next{
	position: absolute;
	top: 50%;
  display: block;
	width: 50px;
	height: 50px;
	margin-top: -25px;
  padding: 0;
	background-color: rgba(51,51,51,0.5);
	border-radius: 50%;
  cursor: pointer;
	font-size: 0;
  line-height: 0;
  color: transparent;
  border: none;
  outline: none;
  z-index: 2;
}
.slick-prev{
	left: 50%;
	margin-left: -565px
}
.slick-prev:after{
	content: '';
	width: 0;
	height: 0;
	margin-left: -19px;
	border: 14px solid transparent;
	border-right: 18px solid #fff;
}
.slick-next:after{
	content: '';
	width: 0;
	height: 0;
	margin-right: -20px;
	border: 14px solid transparent;
	border-left: 18px solid #fff;
}
.slick-next{
	right: 50%;
	margin-right: -565px
}
.slick-dots{
	position: absolute;
	width: 100%;
	bottom: -32px;
	left: 0;
	z-index: 2;
	text-align: center;
}
.slick-dots li{
	display: inline-block;
	vertical-align: top;
	padding: 0 6px;
}
.slick-dots li button{
	position: relative;
	z-index: 1;
  font-size: 0;
  line-height: 0;
  display: block;
  width: 12px;
  height: 12px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background-color: transparent;
}
.slick-dots li button:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 12px;
  background: #d1d1d1;
  border-radius: 50%;
}

.slick-dots li.slick-active button:after{
  background: #888;
}
/** gridArea **/
.tagWrap{
	width: 1220px;
	margin: 0 auto;
}
.tagWrap h3{
	margin-bottom: 40px;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
.tagWrap ul{
	width: 1110px;
	margin: 0 auto 30px;
	text-align: center;
}
.tagWrap ul li{
	display: inline-block;
	padding: 0 10px;
	margin-bottom: 30px;
}
.tagWrap .tag{
	display: block;
	height: 45px;
	padding: 0 20px;
	color: #acacac;
	font-size: 20px;
	font-weight: bold;
	line-height: 45px;
	border: 3px solid #acacac;
	border-radius: 20px;
}
.tagWrap .tag:hover{
	text-decoration: none;
}
.tagWrap .tag:hover{
  filter: alpha(opacity=60);
  -moz-opacity:0.6;
  opacity:0.6;	
}
.tagWrap .tag.is-active:hover,
.tagWrap .tag.is-active{
	color: #fff;
  filter: alpha(opacity=100);
  -moz-opacity:1;
  opacity:1;
  background-color: #acacac;;
}

.grid{
	overflow: hidden;
	padding-bottom: 40px;
}
.item{
	display: none;
	float: left;
	width: 305px;
	padding-bottom: 40px;
	text-align: center;
}
.item.is-active{
	display: block;
}
.gridSize{
	display: none;
}
.item a{
	display: inline-block;
	color: #333;
}
.item a:hover{
	text-decoration: none;
  filter: alpha(opacity=60);
  -moz-opacity:0.6;
  opacity:0.6;
}
.item.itemL{
	width: 610px;
}
.itemInner{
	width: 275px;
	margin: 0 auto;
	border-radius: 5px;
	box-shadow: 0px 3px 4px 2px rgba(0,0,0,0.3);
	background-color: #fff;
}
.itemL .itemInner{
	width: 580px;
}
.itemTxt{
	display: table;
	table-layout: fixed;
	width: 100%;
	height: 118px;
}
.item.itemL .itemTxt{
	height: 107px;
}
.itemC .itemTxt{
	height: 104px;
}
.itemTxt span{
	display: table-cell;
	padding: 0 15px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
	vertical-align: middle;
}
.item.itemL .itemTxt span{
	padding: 0 20px;
	font-size: 18px;
}

/** news **/

.newsInner{
	width: 1190px;
	margin: 0 auto 50px;
}
.newsInner dl{ overflow: hidden; }
.newsInner dt,
.newsInner dd{
	display: inline-block;
	vertical-align: top;
	line-height: 1.5;
}
.newsInner dt{
	width: 150px;
	margin-bottom: 30px;
	font-size: 16px;
	font-weight: bold;
}
.newsInner dd{
	width: 1030px;
}

.newsInner dd a{
	position: relative;
	z-index: 1;
	color: #333;
	font-size: 16px;
	line-height: 1.5;
	text-decoration: underline;
}
.newsInner dd.iconNew a{
	display: inline-block;
	padding-right: 70px;
}
.newsInner dd.iconNew a:after{
	content: '';
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	display: block;
	width: 50px;
	height: 20px;
	background: url(../images/icon-new.png) right top no-repeat;
	background-size: 50px 20px;
}
.newsInner dd a:hover{
	text-decoration: none;
}

/** service **/

.serviceInner{
	width: 1080px;
	margin: 0 auto 50px;
}
.serviceWrap p {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 20px;
}
.serviceWrap .txtAR{ text-align: right; }
.serviceWrap a.external {
	font-size: 14px;
	background: url(../images/img-icon-external.png) no-repeat 0 0.4em;
	padding-left: 15px;
}

/** footer **/

#footer{
	position: relative;
	padding: 15px 15px 85px;
	width: 100%;
	border-top: 1px solid #e0dfdb;
	background: #f0f0f0;
	background: -moz-linear-gradient(top,  #f0f0f0 0%, #fff 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f0f0), color-stop(100%,#fff));
	background: -webkit-linear-gradient(top,  #f0f0f0 0%,#fff 100%);
	background: linear-gradient(to bottom,  #f0f0f0 0%,#fff 100%);
}
#footer:before{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 1px;
	background: #fff
}
#footer .footerinner{
	max-width: 1080px;
	margin:0 auto;
}
#footer ul{
	clear:both;
	overflow:hidden;
	width:100%;
	margin-right:-20px;
}
#footer ul li{
	float:left;
	margin-bottom:20px;
	line-height:1.8;
	margin-right:20px;
	padding-left:20px;
	background:url(../images/icon-window.png) no-repeat 0 5px;
}
#footer ul li a{
	color:#333;
}
#footer p{
	font-size:10px;
	color:#666;
	margin-bottom:0;
	line-height:1.5;
}
#footer p.copyright{
	color:#333;
}
#footer p.goToTop {
    position: absolute;
    right: 40px;
    bottom: 40px; }

.pcHide{ display: none; }

/** sp  **/

@media screen and (max-width: 750px) {

h2{
	height: 50px;
	margin-bottom: 30px;
	font-size: 15px;
	line-height: 50px;
	background: url(../images/bg-h2.jpg) left top;
}
/** wrapper **/
#wrapper {
	min-width: 0;
}
/** header **/
#header{
	height: 34px;
	margin-bottom: 15px;
	padding: 10px 10px 0;
	border-bottom: 1px solid #333;
}
#header h1{
	font-size: 14px;
}
#header h1 span{
	padding-right: 5px;
	font-size: 10px;
}
/** KV **/
.kvWrapper{
	height: auto;
	padding-top: 43%;
	margin-bottom: 55px;
}
.kvSlider > div{
	width: 100%;
	left: 0;
	margin:0;
}
.kvWrapper img{
	width: 100%;
	height: auto;
}
.slick-initialized .slick-slide{
	padding: 0;
}
.slick-dots li{
	width: 12px;
	padding: 0 3px;
}
.slick-dots li button{
  width: 6px;
  height: 6px;
}
.slick-dots li button:after{
  width: 6px;
  height: 6px;
}
.slick-dots{
	bottom: -35px;
}
.slick-prev,
.slick-next{
	top: auto;
	bottom: -38px;
  display: block;
	width: 25px;
	height: 25px;
	margin-top: 0;
	z-index: 3;
}
.slick-prev{
	left: 10px;
	margin-left: 0;
}
.slick-next{
	right: 10px;
	margin-right: 0;
}
.slick-prev:after{
	margin-left: -10px;
	border: 7px solid transparent;
	border-right: 9px solid #fff;
}
.slick-next:after{
	margin-right: -10px;
	border: 7px solid transparent;
	border-left: 9px solid #fff;
}

/** gridArea **/
.grid{
	overflow: hidden;
	margin-bottom: 20px;
}

.tagWrap{
	width: 100%;
}
.tagWrap h3{
	margin-bottom: 20px;
	font-size: 12px;
}
.tagWrap .tag{
	height: 22.5px;
	padding: 0 10px;
	font-size: 10px;
	line-height: 21px;
	border-width: 1px;
	border-radius: 10px;
}
.tagWrap ul{
	width: 100%;
	margin-bottom: 15px;
}
.tagWrap ul li{
	padding: 0 7px;
	margin-bottom: 15px;
}

.item{
	width: 50%;
	padding: 0 10px 20px;
}
.gridSize{
	display: block;
	width: 50%;
}
.item.itemL{
	width: 100%;
}
.itemInner{
	border-radius: 3px;
	box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.3);
}
.itemL .itemInner,
.itemInner{
	width: 100%;
}
.item a{
	width: 100%;
}
.item img{
	width: 100%;
	height: auto;
}
.itemTxt,
.item.itemL .itemTxt{
	height: 70px;
}
.itemC .itemTxt{
	height: 62px;
}
.item .itemTxt span{
	padding: 0 6%;
	font-size: 10px;
/* 	text-align: justify; */
	line-height: 1.5;
}
.item.itemL .itemTxt span{
	padding: 0 3.5%;
	font-size: 11px;
}

/** news **/
.newsInner{
	width: 100%;
	margin: 0 auto 30px;
}
.newsInner dt,
.newsInner dd{
	width: 100%;
	font-size: 12px;
}
.newsInner dd a{
	font-size: 12px;
	line-height: 2;
}
.newsInner dl{
	padding: 0 30px;
}
.newsInner dt{
	margin-bottom: 5px;
}
.newsInner dd{
	display: inline-block;
	margin-bottom: 20px;
}
.newsInner dd.iconNew a{
	padding-right: 52px;
}
.newsInner dd.iconNew a:after{
	width: 37.5px;
	height: 15px;
	background: url(../images/icon-new.png) right top no-repeat;
	background-size: 37.5px 15px;
}

/** service **/

.serviceInner{
	width: 100%;
	margin: 0 auto 30px;
}
.serviceWrap p {
	padding: 0 30px;
	font-size: 12px;
	line-height: 2;
	margin-bottom: 20px;
}
.serviceWrap .txtAR{
	line-height: 1.5;
}
.serviceWrap a.external {
	font-size: 12px;
	background: url(../images/img-icon-external.png) no-repeat 0 0.4em;
	padding-left: 15px;
}

/** footer **/

#footer ul li{
	float: none;
}

.pcHide{ display: block; }

#footer .goToTop {
    display: none; }

}





/*---------------------------------clearfix */
.clearfix {
	*zoom:1;
}
.clearfix:after {
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
}
/* box-sizing */
* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}