@charset "utf-8";

/* reset
----------------------------------------------------------------------*/
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary,main,figure {
	display:block;
}
body, ul, li, ol, dl, dt, dd, p, form, div, h1, h2, h3, h4, h5, h6,figure { margin: 0; padding: 0; }
img { border: 0; vertical-align: top; }
ul, ol { list-style: none; }
iframe { vertical-align: bottom; }
table{ border-collapse:collapse;}
input[type="text"]:focus {outline: 0;}

/* structure
----------------------------------------------------------------------*/
html { height: 100%; }
body {
	font-size: 10px;
 >font-size: 62.5%;

	background: #f5f5f5;
	color: #444;

	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	width: 100%;
	height: 100%;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	
	/*
	word-break : break-all;
	*/
}
h1, h2, h3, h4, h5, h6{font-size: 1.6em;}
p,li,dt,dd,th,td{font-size:1.4em;}
a { text-decoration: none;color: #121212; }

/* hover */
a.hover { 
	-webkit-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
a.hover:hover{ 
	filter: alpha(opacity=60);
	-moz-opacity:0.6;
	opacity: 0.6;
}

#wrapper {
	position: relative;
	width: 100%;
	height: 100%;
}
body > #wrapper { height: auto; min-height: 100%; }

@media screen {
/*\*/
* html #wrapper {
	min-height: 100%;
	height: auto !important;
	height: 100%;
}
/**/
}

/* cl ----------------- */
.cl:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.cl { display: inline-block; }
/* Hides from IE-mac \*/
* html .cl { height: 1px; }
.cl { display: block; }
/* End hide from IE-mac */




/*--------------------------------------
  MODULE -- Primary
---------------------------------------*/
/* common
---------------------------------------*/
.flL { float: left; }
.flR { float: right; }

.taL { text-align: left; }
.taR { text-align: right !important; }
.taC { text-align: center; }

.mt0 { margin-top: 0!important; }
.mt5 { margin-top: 5px!important; }
.mt10 { margin-top: 10px!important; }
.mt15 { margin-top: 15px!important; }
.mt20 { margin-top: 20px!important; }
.mt25 { margin-top: 25px!important; }
.mt30 { margin-top: 30px!important; }
.mt35 { margin-top: 35px!important; }
.mt40 { margin-top: 40px!important; }
.mt50 { margin-top: 50px!important; }
.mt60 { margin-top: 60px!important; }
.mt70 { margin-top: 70px!important; }
.mt80 { margin-top: 80px!important; }
.mt90 { margin-top: 90px!important; }
.mt100 { margin-top: 100px!important; }

.mb0 { margin-bottom: 0!important; }
.mb5 { margin-bottom: 5px!important; }
.mb10 { margin-bottom: 10px!important; }
.mb15 { margin-bottom: 15px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb25 { margin-bottom: 25px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb60 { margin-bottom: 60px!important; }
.mb70 { margin-bottom: 70px!important; }
.mb80 { margin-bottom: 80px!important; }
.mb90 { margin-bottom: 90px!important; }
.mb100 { margin-bottom: 100px!important; }


/* PC
---------------------------------------*/
@media screen and (min-width: 769px) {
	.pc {display: block;}
	.sp {display: none !important;}

}


/* SP
---------------------------------------*/
@media screen and (max-width: 768px) {
	.pc {display: none !important;}
	.sp {display: block;}
	img{max-width: 100%;height: auto;}

.mt20 { margin-top: 10px!important; }
.mt25,
.mt30 { margin-top: 15px!important; }
.mt35,
.mt40 { margin-top: 20px!important; }
.mt50 { margin-top: 25px!important; }
.mt60 { margin-top: 30px!important; }
.mt70 { margin-top: 35px!important; }
.mt80 { margin-top: 40px!important; }
.mt90 { margin-top: 45px!important; }
.mt100 { margin-top: 50px!important; }


.mb20 { margin-bottom: 10px!important; }
.mb25,
.mb30 { margin-bottom: 15px!important; }
.mb35,
.mb40 { margin-bottom: 20px!important; }
.mb50 { margin-bottom: 25px!important; }
.mb60 { margin-bottom: 30px!important; }
.mb70 { margin-bottom: 35px!important; }
.mb80 { margin-bottom: 40px!important; }
.mb90 { margin-bottom: 45px!important; }
.mb100 { margin-bottom: 50px!important; }

.sp-pb10{padding-bottom: 10px !important;}


	
}

/* JS
---------------------------------------*/
.fixed {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

/* ========================================
  LAYOUT
======================================== */
.contents,
.sectionWidth{margin: auto;}
.row:after,
.contents:after,
.sectionWidth:after {
	content: "";
	display: block;
	clear: both;
}

.siteHeader,
.path,
.footerNav,
.contents,
.sectionWidth{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


@media screen and (min-width: 769px) {
	.sectionWidth{width: 1280px;}
	.siteHeader,
	.path,
	.footerNav {
		width: 1280px;
		margin: auto;
	}
	.siteHeaderWrapper,
	.mainVisual,
	.section01,
	.siteFooter{min-width: 1280px;}
	
}
@media screen and (max-width: 768px) {
	.sectionWidth{padding-left: 16px;padding-right: 16px;}
	.contents,
	.mainContents,
	.subContents{
		float: none;
		width: 100%;
	}
}


/*--------------------------------------
  siteHeader
---------------------------------------*/
.siteHeaderWrapper{
	background: #fff;
	border-bottom: 1px solid #dadada;
	-webkit-box-shadow: 0 0 3px #dadada;
	-moz-box-shadow: 0 0 3px #dadada;
	box-shadow: 0 0 3px #dadada;
	margin-bottom: 3px;
}
.siteHeader{padding: 10px 3%;}
.siteHeader:after{content:'';display: block;clear: both;}
.siteHeader .logo{float: left;}
.siteHeader .logo img{display: block;width: 128px;}
.siteHeader .subArea{float: right;}
	
	/* menuBtn */
	.menuBtn{margin-top: 3px;display: inline-block; cursor:pointer;}
	.menuBtn img{height: 16px;}

	/* path */
	.path{padding: 6px 10px 10px;}
	.path li{display: inline-block;line-height: 1;vertical-align: middle;font-size: 1.2em;}
	
	.path li:not(:first-child):before{
		content:'';
		display: inline-block;
		margin: 0 0 2px 3px;
		border-style: solid;
		border-width: 3px 6px;
		border-color: transparent transparent transparent #b2b2b2;
	}
@media screen and (max-width: 768px) {
	.menuBtn img{position: absolute;z-index: 1;}
	.menuBtn form{
		opacity: 0;
		position: relative;z-index: 2;
		width: 16px;height: 16px;
		overflow: hidden;
	}
	.menuBtn form select{font-size: 20px;}
}
@media screen and (min-width: 769px) {
	.siteHeader {padding: 24px 0 20px;position: relative;}
	.siteHeader .logo{margin-left: 30px;}
	.path{padding: 12px 30px 16px;position: relative;z-index: 1;}
	.siteHeader .subArea{margin-right: 40px;}
	.path li:not(:first-child):before{
		margin: 0 8px 2px 10px;
	}
}


/*--------------------------------------
  gnav
---------------------------------------*/

@media screen and (min-width: 769px) {
	.menu-trigger{padding: 5px;}
	
	.gnav{display: none;}
	.menu-trigger:hover .gnav{
		display: block;
		display: inline-block;
		position: absolute;
		right: -30px;
		top: 50px;
		z-index: 1000;
		border: 1px solid #aaa;
		background: #fff;
	}
	
	.gnav .menu{display: inline-block;}
	.gnav .menu>li{text-align: center;line-height: 1;font-size: 1.2em;}
	
	.gnav .menu>li>a{display:block;padding: 10px;}
	.gnav .menu a:hover{background: #efefef;text-decoration: none;}
	
}


/*--------------------------------------
  siteFooter
---------------------------------------*/
.siteFooter {text-align: center;}

/* footerNav */
.footerNav{}
.footerNav h3,
.footerNav h4{color: #444;font-weight: bold;}
.footerNav p{color: #999;}
.footerNav a{display: inline-block;}

.copyright {line-height: 1;color: #999;padding: 10px 0;}

	
	/* pagetop */
	.pagetop{text-align: center;background: #222;position: fixed;right: 0;bottom: 0;}
	.pagetop a{position: relative;display: block;width: 30px;height: 0;padding-top:30px;color: #fff;overflow: hidden;}
	.pagetop a:before,
	.pagetop a:after{
		left: 50%;margin-left: -7px;
		top: 50%;
		position: absolute;
		-webkit-transform:rotate(-45deg) ;
		-ms-transform:rotate(-45deg) ;
		transform:rotate(-45deg) ;
		display: block;content:'';height: 14px;width: 14px;}
	.pagetop a:before{background: #fff;margin-top: -2px;}
	.pagetop a:after{background: #222;margin-top: 2px;}
@media screen and (max-width: 768px) {
	.footerNav{text-align: left;margin-bottom:35px;}
	.footerNav h3{font-size: 15px;margin-top: 32px;}
	.footerNav h4{font-size: 13px;margin-top: 32px;}
	.footerNav p{font-size: 11px;margin-top: 12px;}
	.copyright{font-size: 1.2em;padding: 30px 0 20px;}

	/* .siteFooter .column2Area */
	.siteFooter .column2Area .block h3{font-size: 14px;font-weight: normal;}
	.siteFooter .column2Area .block p{display: none;}
	/* .siteFooter .floatImgSet01 */
	.siteFooter .floatImgSet01{border-bottom: 1px solid #e6e6e6;}
	.siteFooter .floatImgSet01 .block{display: table;}
	.siteFooter .floatImgSet01 .block .imageArea,
	.siteFooter .floatImgSet01 .block .textArea{display: table-cell;vertical-align: middle;}
	.siteFooter .floatImgSet01 .block .imageArea{width: 70px;}
}

@media screen and (min-width: 769px) {
	.siteFooter{margin-top: 56px;}
	.siteFooter .column2Area,
	.siteFooter .column3Area,
	.siteFooter .column6Area,
	.footerNav {
		width: 1040px;
		margin: 0 auto 70px;
	}
	.siteFooter .column2Area{margin: 0 auto 40px;}
	
	/* .siteFooter .column2Area */
	.siteFooter .column2Area .block{margin-top: 0;height: 142px;}
	.siteFooter .column2Area .block .imageArea{width: 140px;border: 1px solid #ccc;}
	.siteFooter .column2Area .block .imageArea img{width:100%;}
	.siteFooter .column2Area .block p{font-size: 14px;margin-top: 20px;}
	
	/* footerNav */
	.footerNav h3,
	.footerNav h4,
	.footerNav p{text-align: left;}
	.footerNav h3{font-size: 1.8em;line-height: 1;}
	.footerNav h3:not(:first-child){margin-top: 55px;}
	.footerNav h4{margin-top: 24px;font-size: 14px;line-height: 1;}
	.footerNav p{margin-top: 24px;}
	.copyright{font-size: 1.2em;padding: 30px 0 20px;}
}



/*--------------------------------------
  contents
---------------------------------------*/
.contents p,
.contents dd{font-size:14px;line-height: 1.4;}

.contents a:hover img{opacity: .6;}


/*--------------------------------------
  MODULE -- Secondary
---------------------------------------*/
.section01{
	background: #fff;text-align: center;
	padding: 25px 0 20px;margin-top: 12px;
}

@media screen and (min-width: 769px) {
	.section01{margin-top: 56px;padding: 40px 0 32px;}
}


/* BLOCK
---------------------------------------*/

/* mainVisual */
.mainVisual{background: #fff;padding-bottom: 20px;}
.mainVisual .image{
	background-image: url(../images/ph/main_img_sp.jpg);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	display: table;
	height: 140px;
	width: 100%;
}
	.mainVisual.business .image{background-image: url(../images/business/main_img_sp.jpg);}
	
.mainVisual .image h1{
	display: table-cell;
	vertical-align: middle;
	color: #fff;
	font-size: 18px;
	text-align: center;
	text-shadow: 0 0 3px #999;
}

@media screen and (max-width: 768px) {
	.mainVisual .sectionWidth{padding: 10px 16px 0;}
	.mainVisual .text{font-size: 13px;line-height: 1.7;}
	.mainVisual .btn01{margin-top: 10px;}
}
@media screen and (min-width: 769px) {
	.mainVisual{padding-bottom: 30px;}
	.mainVisual .image{height: 400px;}
	.mainVisual .image h1{
		background-image: url(../images/ph/main_img_pc.jpg);
		-webkit-background-size: cover;
		background-size: cover;
		
		font-size: 40px;
		text-shadow: 0 0 5px #999;
	}
	.mainVisual.business .image h1{background-image: url(../images/business/main_img_pc.jpg);}

	.mainVisual .sectionWidth{padding: 30px 40px 0;}
	.mainVisual .text{width: 720px;float: left;}
	.mainVisual .btn01{float: right;}
}


/* bannerArea*/
.bannerArea{text-align: center;overflow: hidden;}
.bannerArea a{display: inline-block;}

@media screen and (max-width: 768px) {
	.bannerArea{padding: 25px 0 10px;}
	.bannerArea li{width: calc(100vw - 16px);}
}
@media screen and (min-width: 769px) {
	.bannerArea{padding-top: 60px;min-width: 1240px;}
	.bannerArea li{display: inline-block;margin: 10px 25px}
}

/* column */
	.block .title{font-size: 14px;font-weight: normal;margin-bottom: 5px;}
	.block .name,
	.block p{display: block;font-size: 13px;line-height: 1.3;}
	.block .title + p{color: #555;line-height: 1.6;}

.column2Area,
.column3Area,
.column6Area{margin-top: 24px;}
.column2Area .block .image,
.column3Area .block .image,
.column6Area .block .image{margin-bottom: 12px;}

.column2Area .block .image img,
.column3Area .block .image img,
.column6Area .block .image img{width: 100%;}
.column2Area .block .image.double img{display: inline-block;width: 50%;vertical-align: bottom;}

.column2Area .block .imageArea{float: left;}
	
.column2Area .block .textArea,
.column3Area .block .textArea,
.column6Area .block .textArea{text-align: left;overflow: hidden;}

@media screen and (max-width: 768px) {

	
	.column3Area .block .textArea p{font-size: 12px;line-height: 1.4;}

	/* floatImgSet01 */
	.floatImgSet01{margin-left: -16px;margin-right: -16px;}
	.floatImgSet01 .block{border-top: 1px solid #e6e6e6;padding: 16px;overflow: hidden;}
	.floatImgSet01 .block .imageArea{width: 107px;margin-right: 16px;}
	
	.floatImgSet01 .block .textArea p{line-height: 1.4;}
}
@media screen and (min-width: 769px) {
	.block .title{font-size: 16px;line-height: 1.5;font-weight: bold;margin-bottom: 10px;}

	.column2Area,
	.column3Area,
	.column6Area{overflow: hidden;margin-left: 40px;margin-top: 32px;}
	.column2Area .block,
	.column3Area .block,
	.column6Area .block{
		float: left;
		margin-right: 40px;
	}
	.column2Area .block{/*width: 572px;*/width: 46.1%;margin-bottom: 40px;}
	.column3Area .block{/*width: 370px;*/width: 29.838%;margin-top: 20px;}
	.column6Area .block{/*width: 183px;*/ width: 14.758%;margin-right:16px;margin-bottom: 0;}

	.column2Area .block .image{margin-bottom: 20px;}
	.column3Area .block .image,
	.column6Area .block .image{margin-bottom: 10px;}

	.column2Area .block .imageArea{margin-right: 26px;}

	.column2Area .block .textArea,
	.column3Area .block .textArea,
	.column6Area .block .textArea{padding: 0 15px 20px 0;}
	
	.column2Area .block .name,
	.column2Area .block p{font-size: 17px;}
	.column3Area .block .name,
	.column3Area .block p{font-size: 14px;}
	.column6Area .block .name,
	.column6Area .block p{font-size: 14px;}

	.column2Area .block:nth-child(2n),
	.column3Area .block:nth-child(3n),
	.column6Area .block:nth-child(6n){margin-right: 0;}
	
	.column2Area .block:nth-child(2n+1),
	.column3Area .block:nth-child(3n+1),
	.column6Area .block:nth-child(6n+1){clear: left;}
	
	.secText{margin: 20px 40px;text-align: left;}
	
}



/* TITLE
---------------------------------------*/
*[class^="title"] {line-height: 1.2;color: #444;}
.mainContents>*:first-child>*[class^="title"]:first-child{margin-top: 0;}
.titleLv2{font-size: 1.5em;font-weight: bold;text-align: left;}


@media screen and (min-width: 769px) {
	.titleLv2{font-size: 2.8em;text-align: center;}
	
}


/* BUTTON
---------------------------------------*/
.btnArea{border-top: 1px solid #e6e6e6;}
@media screen and (max-width: 768px) {
	.btnArea{margin-left: -16px;margin-right: -16px;padding: 20px 16px 0;}
}
@media screen and (min-width: 769px) {
	.btnArea{padding-top: 32px;}
}

/* btn01 */
.btn01{
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	background: #fff;
	line-height: 1.5;
	padding: 16px 0;
	padding-left:2%;
	padding-right:2%;
	font-size: 14px;
}
.btn01:hover{background: #f5f5f5;}

@media screen and (max-width: 768px) {
	.btn01{width: 95%;display: block;}
}
@media screen and (min-width: 769px) {
	.btn01{width: 368px;padding: 20px 16px;font-size: 18px;}
}


/* ========================================
  JS
======================================== */
@media screen and (max-width: 768px) {
	.horizontal-gallery {
		/*
		overflow: hidden;
		position: relative;
		margin-left: -16px;
		margin-right: -16px;
		*/

		width: 100vw;
		height: 200px;
		overflow: hidden;
		margin: 20px -16px 0;
	}
	.horizontal-gallery.column2Area{padding-bottom: 10px;}

	.horizontal-gallery .gallery-base{
		/*
		margin: auto;height: 70px;
		position: relative;
		*/
		
		width: 100%;
		height: 100%;
		padding-bottom: 20px;
		position: relative;
		overflow-x: scroll;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch
	}
	
	.horizontal-gallery .-article {
		/*
		width: 2500px;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 50;
		*/
		position: absolute;
		display: -webkit-box;
		display: flex;
		padding-right: 6px;
		padding-left: 16px;
	}

	.horizontal-gallery .-article .block {
		float: left;
		margin-right: 10px;
	}
	.horizontal-gallery .-article .block{margin-right: 8px;}

	/*
	.horizontal-gallery .-article .block .image{padding: 0 5px;}
	.horizontal-gallery.column6Area .-article .block .image{padding: 0 3px;}
	*/
	
	.horizontal-gallery .-article .block .textArea{padding: 0 5px;}
	
	.horizontal-gallery .-prev,
	.horizontal-gallery .-next {display: none;}
	/*
	.horizontal-gallery .-prev,
	.horizontal-gallery .-next {
		position: absolute;
		top: 0;
		width: 45px;
		z-index: 100;
	}
	.horizontal-gallery .-prev{left: 0;}
	.horizontal-gallery .-next {right: 0;}
	.horizontal-gallery .-prev .-a,
	.horizontal-gallery .-next .-a {
		display: block;
		height: 175px;
		width: 45px;
		font-size: 30px;
		display: table-cell;
		vertical-align: middle;
		text-shadow: 1px 0 1px #fff, 0 1px 1px #fff, 0 -1px 1px #fff, -1px 0 1px #fff;
	}
	*/
	
	.bannerArea .horizontal-gallery{height: 80px;}
	/* .bannerArea .horizontal-gallery .gallery-base,*/
	.bannerArea .horizontal-gallery .-article .block{width: 320px;}
	.bannerArea .horizontal-gallery li a{margin: 0 16px;}
	/*
	.bannerArea .horizontal-gallery .-prev .-a,
	.bannerArea .horizontal-gallery .-next .-a {opacity: 0;height: 70px;}
	.column3Area.horizontal-gallery .-article{padding-left: -16px;}
	.column3Area.horizontal-gallery .-prev .-a,
	.column3Area.horizontal-gallery .-next .-a {height: 200px;}
	*/

	.column6Area.horizontal-gallery{height: 175px;}
	.column6Area.horizontal-gallery .block{width: 117px;}
}
@media screen and (max-width: 375px) {
	.column2Area.horizontal-gallery {height: 180px;}
	.column2Area.horizontal-gallery.sp-h200 {height: 200px;}
	.column3Area.horizontal-gallery{height: 230px;}
	
	.column2Area.horizontal-gallery .-article .block,
	.column3Area.horizontal-gallery .-article .block{width: 280px;}

/*
	.column2Area.horizontal-gallery .gallery-base,
	.column3Area.horizontal-gallery .gallery-base,
	.column2Area.horizontal-gallery .-article .block{width: 280px;}
	.column6Area.horizontal-gallery .gallery-base{width: 290px;}
*/
}
@media screen and (min-width: 376px) and (max-width: 768px) {
	.column2Area.horizontal-gallery {height: 210px;}
	.column3Area.horizontal-gallery{height: 250px;}

	.column2Area.horizontal-gallery .-article .block,
	.column3Area.horizontal-gallery .-article .block{width: 350px;}
	.bannerArea .horizontal-gallery .-article .block{width: 320px;}
/*
	.column2Area.horizontal-gallery .gallery-base,
	.column3Area.horizontal-gallery .gallery-base,
	.column3Area.horizontal-gallery .-article .block{width: 350px;}

	.column6Area.horizontal-gallery .gallery-base{width: 350px;}
	.column2Area.horizontal-gallery .gallery-base,
	.column3Area.horizontal-gallery .gallery-base,
	.column6Area.horizontal-gallery .gallery-base{width: 740px;}
	.bannerArea .horizontal-gallery .gallery-base{width: 640px;}
*/

}

@media screen and (min-width: 769px) {
	.horizontal-gallery .-prev,
	.horizontal-gallery .-next {display: none;}
}



/* NAME
---------------------------------------*/
@media screen and (max-width: 768px) {
}
@media screen and (min-width: 769px) {
}

