@charset "utf-8";
/* =======================================

	structure CSS

========================================== */
html,body {
	height:100%;}

#container {
	width:100%;
	height:100%;
	height:auto!important;
	min-height:100%;
	padding:0;}

#mvArea {
	position:relative;
	width:100%;
	height:760px;
	overflow:hidden;
	z-index:1;}

#contents {
	width:100%;
	height:auto;
	padding:0 0 50px 0;}

footer {
	width:480px;
	height:auto;
	margin:0 auto;}
	
/*【SP】*/
@media screen and (max-width: 767px) {
#mvArea {
	height:660px;}
}
@media screen and (max-width: 610px) {
#contents {
	width:90%;
	height:auto;
	padding:0 0 50px 0;
	margin:0 auto;}

footer {
	width:100%;
	height:auto;
	text-align:center;
	margin:0;}
}
@media screen and (max-width: 414px) {
#mvArea {
	height:530px;}
}
/* =======================================

	common

========================================== */
a:link {
	color:#fff; text-decoration:none;
	-webkit-transition: all 0.7s;
	-moz-transition: all 0.7s;
	transition: all 0.7s;}
a:visited {color:#fff; text-decoration:none;}
a:hover {color:#0db14b; text-decoration:none;}

.clearfix:after {
  display: block;
  clear: both;
  content: "";}

/* PCのみ表示 */
@media screen and (max-width: 767px) {
.pc {
	display:none;}
}
/* SPのみ表示 */
@media screen and (min-width: 767px) {
.sp {
	display:none;}
}
/* =======================================

	body

========================================== */
/*【PC】*/
@media screen and (min-width: 767px) {
body {
	min-width:900px;
	font-size:1.6rem; line-height:2.88rem;/*180%*/
	font-family: 'Noto Sans JP', serif;
	font-weight:300;
	background:url(images/contents_bg.png);}
}
/*【SP】*/
@media screen and (max-width: 767px) {
body {
	font-size:1.5rem; line-height:2.70rem;/*180%*/
	font-family: 'Noto Sans JP', serif;
	font-weight:300;
	background:url(images/contents_bg.png);}
}
/* =======================================

	【01】#mvArea

========================================== */
/*-----------------------------------------
	#slides
-----------------------------------------*/
#slides {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  margin: 0 auto;
  }
.rslides {
  position: relative;
  list-style: none;
  overflow: hidden;
  width: 100%;
  padding: 0;
  margin: 0;
  }
.rslides li {
  -webkit-backface-visibility: hidden;
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
  }
.rslides li:first-child {
  position: relative;
  display: block;
  float: left;
  }
.rslides img {
  display: block;
  height: auto;
  float: left;
  width: 100%;
  border: 0;
  }
  @media screen and (max-width: 1600px) {
#slides img  {
	width:1600px;
	height:auto;}
}

@media screen and (max-width: 767px) {
#slides img {
	width:auto;
	height:660px;}
}

@media screen and (max-width: 414px) {
#slides img {
	width:auto;
	height:530px;}
}
 /*-----------------------------------------
	.headerArea
-----------------------------------------*/
.headerArea {
	position:absolute;
	top:0;
	width:100%;
	height:177px;
	background:url(images/header_bg.png) top center;
	text-align:center;
	z-index:10;}

.h_logo img {
	width:105px;
	height:auto;
	padding:30px 8px 10px 0;}

@media screen and (max-width: 767px) {
.headerArea {
	top:-60px;}

.h_logo img {
	width:80px;
	height:auto;
	padding:75px 8px 10px 0;}
}
@media screen and (max-width: 414px) {
.headerArea {
	top:-75px;}

.h_logo img {
	width:62px;
	height:auto;
	padding:93px 0 8px 0;}
}
 /*-----------------------------------------
	.h_catchArea
-----------------------------------------*/
.h_catchArea {
	position:absolute;
	top:280px;
	right:0;
	left:0;
	width:700px;
	height:auto;
	text-align:center;
	color:#fff;
	margin:0 auto 85px auto;
	z-index:10;}

h2.h_catch {
	font-family: 'Noto Sans JP', serif;
	font-weight:100;
	font-size:3.8rem; line-height:5.70rem;/*150%*/
	border-bottom:1px solid #fff;
	border-top:1px solid #fff;
	padding:10px 0 18px 0;
	margin:0 0 60px 0;}

p.h_message {
	font-family: 'Noto Sans JP', serif;
	font-weight:300;
	font-size:1.8rem; line-height:3.24rem;
	padding:0 15px 0 15px;}

/*【SP】*/
@media screen and (max-width: 767px) {
.h_catchArea {
	width:80%;
	height:auto;}

h2.h_catch {
	font-size:3.0rem; line-height:4.50rem;/*150%*/
	margin:0 0 40px 0;}

p.h_message {
	font-size:1.6rem; line-height:2.40rem;}/*150%*/
}
@media screen and (max-width: 610px) {
h2.h_catch {
	font-size:2.6rem; line-height:3.90rem;/*150%*/
	margin:0 0 30px 0;}
}
@media screen and (max-width: 530px) {
span.br1 {
	display:block;}
}
@media screen and (max-width: 414px) {
.h_catchArea {
	top:185px;
	margin:0 auto;}

h2.h_catch {
	font-size:2.4rem; line-height:3.60rem;/*150%*/
	padding:8px 0 10px 0;
	margin:0 0 15px 0;}

span.br3 {
	display:block;}

p.h_message {
	font-size:1.4rem; line-height:2.10rem;}/*150%*/
}
/*-----------------------------------------
	.pc_nav
-----------------------------------------*/
nav.pc_nav {
	position:absolute;
	top:610px;
	right:0;
	left:0;
	width:375px;
	height:auto;
	color:#fff;
	margin:0 auto;
	z-index:10;}

nav.pc_nav li {
	font-family: 'Josefin Sans', sans-serif;
	font-size:2.4rem;
	font-weight:600;
	float:left;}
@media screen and (max-width: 767px) {
nav.pc_nav {
	top:200px;
	width:315px;
	height:auto;}

nav.pc_nav li {
	font-size:2.0rem;}
}
@media screen and (max-width: 414px) {
nav.pc_nav {
	top:130px;
	width:280px;
	height:auto;}

nav.pc_nav li {
	font-size:1.8rem;}
}
/*-----------------------------------------
	.mvMask
-----------------------------------------*/
.mvMask {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:80px;
	background:url(images/contents_bg_mask.png) center;
	margin:0 auto;
	z-index:10;}

/* =======================================

	【02】#contents

========================================== */
#contents {
	color:#343426;}

#contents a:link {
	color:#343426; text-decoration:underline;
	-webkit-transition: all 0.7s;
	-moz-transition: all 0.7s;
	transition: all 0.7s;}
#contents a:visited {color:#343426; text-decoration:underline;}
#contents a:hover {color:#acac9d; text-decoration:underline;}

h3.companyTitle,
h3.serviceTitle,
h3.linkTitle,
h3.mapTitle {
	font-family: 'Josefin Sans', sans-serif;
	font-size:3.2rem; line-height:3.84rem;/*120%*/
	font-weight:600;
	margin:0 0 20px 0;}

.companyIcon,
.serviceIcon,
.linkIcon,
.mapIcon {
	display:block;
	padding:5px 0;}
	
@media screen and (max-width: 610px) {
h3.companyTitle,
h3.serviceTitle,
h3.linkTitle,
h3.mapTitle {
	font-size:3.0rem; line-height:3.60rem;/*120%*/
	margin:0 0 5px 0;}
}
/*-----------------------------------------
	#company
-----------------------------------------*/
section#company {
	text-align:center;
	margin:60px auto 0 auto;}

.companyIcon img {
	width:45px;
	height:auto;}

.companyName {
	font-weight:400;}

.companyMap {
	background:url(images/map.png) no-repeat right;
	background-size:20px auto;
	padding:0 20px;}

@media screen and (max-width: 767px) {
section#company {
	margin:45px auto 10px auto;}

.companyMap {
	background-size:15px auto;
	padding:0 20px 0 15px ;}
}
@media screen and (max-width: 610px) {
.companyIcon img {
	width:41px;
	height:auto;}

.companyAdd_br {
	display:block;}
}
/*-----------------------------------------
	#service
-----------------------------------------*/
section#service {
	text-align:center;
	margin:60px auto 0 auto;}

.serviceIcon img {
	width:44px;
	height:auto;}

ul.serviceList li {
	font-size:1.6rem; line-height:2.24rem;/*140%*/
	margin:0 0 10px 0;}

@media screen and (max-width: 610px) {
section#service {
	margin:45px auto 10px auto;}
	
.serviceIcon img {
	width:40px;
	height:auto;}
	
ul.serviceList li {
	font-size:1.5rem; line-height:2.10rem;/*140%*/
	margin:0 0 10px 0;}
}
/*-----------------------------------------
	#link
-----------------------------------------*/
section#link {
	width:120px;
	height:auto;
	text-align:center;
	margin:60px auto 0 auto;}

.linkIcon img {
	width:46px;
	height:auto;}

ul.linkList {
	text-align:left;}

ul.linkList img {
	width:16px;
	height:auto;
	padding:8px 0 0 8px;}

ul.linkList li {
	margin:0 0 5px 0;}
	
@media screen and (max-width: 767px) {
section#link {
	margin:45px auto 10px auto;}

section#link {
	width:120px;
	height:auto;}

ul.linkList img {
	width:14px;
	height:auto;
	padding:7px 0 0 8px;}
}

@media screen and (max-width: 610px) {
.linkIcon img {
	width:41px;
	height:auto;}
}
/*-----------------------------------------
	#map
-----------------------------------------*/
section#map {
	text-align:center;
	margin:60px auto 60px auto;}

.mapIcon img {
	width:33px;
	height:auto;}

.mapImg img {
	width:450px;
	height:auto;}

.mapApp {
	font-size:1.4rem; line-height:2.10rem;/*150%*/
	padding:30px 0 0 0;}

@media screen and (max-width: 610px) {
section#map {
	margin:45px auto 50px auto;}

.mapIcon img {
	width:30px;
	height:auto;}

.mapImg img {
	width:95%;
	height:auto;}
}
/* =======================================

	【03】footer

========================================== */
.f_logo {
	float:left;}

.f_logo img {
	width:50px;
	height:auto;}

.f_info {
	font-size:1.4rem; line-height:2.10rem;/*150%*/
	letter-spacing:1px;
	padding:5px 0 30px 15px;
	float:left;}
	
@media screen and (max-width: 610px) {
.f_logo {
	display:none;}

.f_info {
	font-size:1.3rem; line-height:1.95rem;/*150%*/
	letter-spacing:1px;
	padding:5px 0 30px 15px;
	float:none;}

.f_info a {
	color:#343426;}
}
@media screen and (max-width: 414px) {
.f_br1 {
	display:block;
	font-weight:400;}
}
/* =======================================

	【05】#pageTop

========================================== */
#pageTop {
	position:fixed;
	bottom:20px;
	right:30px;
	padding:20px 20px 17px 20px;
	z-index:100;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	transition: all 0.4s;}
	
#pageTop img {
	width:40px;
	height:auto;}

#pageTop:hover{
	opacity: 0.4;}

/* 【SP】 */
@media screen and (max-width: 767px) {
#pageTop {
	padding:0;
	bottom:10px;
	right:15px;}
}