@charset "utf-8";

/*------------------------------
  全体設定
------------------------------*/

html {
  font-size: 62.5%;
}

body {
  position: relative;
  width: 100%;
	color: #14242F;
}

#wrapper {
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
}

a {
	text-decoration: none;
	color: #14242F;
}

h2 {
	font-family:  "游明朝", YuMincho,"Hiragino Mincho Pro", "ヒラギノ明朝 Pro","HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #14242F;
	letter-spacing: 0.1em;
	position: relative;
	margin-bottom: 70px;
	}

h2:after {
	content: "";
	position: absolute;
	top: 30px;
	left: 50%;
	margin-left: -15px;
	width: 30px;
	height: 20px;
	border-bottom: 3px solid #00A4BF;
}

h3 {
  font-size: 2.2rem;
	font-weight: 100;
	font-family:  "游明朝", YuMincho,"Hiragino Mincho Pro", "ヒラギノ明朝 Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.8;
}

h4 {
  font-size: 2.4rem;
  line-height: 1.5;
}

h5 {
  font-size: 1.4rem;
  line-height: 1.5rem;
	margin-bottom: 15px;
}

/*--------------------
  ヘッダ
--------------------*/

header {
  background: rgba(255,255,255,0.7);
  font-size: 1.4rem;
  min-width: 1030px;
	width: 100%;
  height: 80px;
  margin: 0 auto;
  z-index: 2;
	position: fixed;
	top: 0;
	left: 0;
}

.inner_header {
	width: 1030px;
	margin: 0 auto;
	padding: 0 15px;
}

header a {
  color: #333;
  text-decoration: none;
  position: relative;
}

header .logo_header {
  font-size: 1.4rem;
  float: left;
  height: 80px;
  line-height: 80px;
  
}

header .logo_header ul li {
  font-weight: 500;
  float: left;
  font-weight:600; 
}


header .logo_header ul li h1 a {
  background: url("../../images/logo_pc.png") no-repeat center center;
  display: block;
  width: 77px;
  height: 32px;
	margin-top: 17px;
	margin-right: 10px;
}

#menu_list {
  float: right;
}

#menu_list li {
  float: left;
	font-size: 1.3rem;
  height: 80px;
  line-height: 80px;
	margin-left: 15px;	
}

.menu_list_link a {
  display: block;
  position: relative;
  transition: .2s;
}

.menu_list_link a:hover {
	color: #00A4BF;
}

.menu_list_link a::after {
	background-color: #00A4BF;
  position: absolute;
	bottom: 0px;
	left: 50%;
  content: '';
	width: 0;
	height: 4px;
	transition: .2s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.menu_list_link a:hover::after {
	width: 100%;
}

/*--------------------*/
/* スマホのトグルメニュー */
/*--------------------*/

/* ハンバーガーアイコン */
.menu_sp_toggle {
  display: block;
  float: right;
  margin: 0 3% 0 0;
}

.menu_sp_toggle img{
  vertical-align: middle;
  width: 22px;
  height: 18px;
}

/* トグルメニュー */
.menu_sp {
  display: none;
  color: #14242F;
  text-align: center;
  font-size: 1.4rem;
  position: fixed;
  top: 54px;
  left: 0;
  width: 100%;
  z-index: 3;
  background: rgba(255,255,255,1);
}


.menu_sp_list a:hover {
  text-decoration: underline;
}

.menu_sp_list {
	margin: 30px 0 20px;
}

.menu_sp_list li {
  padding: 20px 15px;
	width: 50%;
	box-sizing: border-box;
}

.menu_sp_list li:nth-child(odd) {
	float: left;
}

.menu_sp_list li:nth-child(even) {
	float: right;
}

.menu_sp_list li a {
  font-weight: 500;
  color: #14242F;
}


/* クローズボタン */
.menu_sp_toggle_close {
	position: absolute;
	right: 0;
	top: 0;
  float: right;
  height: 21px;
  line-height: 21px;
  margin-right: 3%;
}

.menu_sp_toggle_close img {
  width: 21px;
  height: 21px;
}

/*トグル用メニューとハンバーガーアイコンをPCのときは非表示*/
.menu_sp_toggle {
  display: none;
}

#menu_sp {
  display: none;
}

/*--------------------
  フッター
--------------------*/

footer {
  font-size: 1.2rem;
  position: relative;
  width: 100%;
  margin: 120px auto 0 auto;
}

footer a:hover {
  text-decoration: underline;
}

footer a {
  color: #fff;
}

#copyright {
  background: #14242F;
  font-size: 1.4rem;
  text-align: center;
  color: #fff;
  height: 120px;
  line-height: 120px;
}

#wrapper {
  position: relative;
}


/*--------------------
　メインビジュアル
--------------------*/

.top_img {
  background: url(../../images/main_pc.jpg) top center no-repeat;
  background-size: cover;
  width: 100%;
  height: 680px;
  z-index: -1;
	position: relative;
}

.top_img:before {
	background:   url(../../images/ic_scroll_arrow_pc.png) bottom 20px center no-repeat;
	color: #fff;
	content: "SCROLL";
	width: 100%;
	height: 90px;
	text-align: center;
	position: absolute;
	bottom: 0;
	z-index: 1;
}

/*--------------------
　トップメッセージ
--------------------*/
.top_msg{
  line-height: 1.5;
  color: #14242F;
  width: 100%;
	margin: 246px auto 0;
	z-index: 1;
	position: absolute;
	top: 0;
}

.inner_top_msg {
	background: url(../../images/lead_txt_pc.png)no-repeat left center;
	background-size: 528px 126px;
	width: 1030px;
	height: 216px;
	margin: 0 auto;
}


/*--------------------
  コンテンツ
--------------------*/

#contents {
  text-align: center;
  width: 100%;
  margin: 0 auto;
	margin-top: 155px;
}

#contents section {
  margin-bottom: 155px;
	position: relative;
}

#contents section:after {
	content:"";
	position: absolute;
	top: -105px;
	left: 0;
	width: 100%;
	height: 55px;
	text-align: center;
	background: url(../../images/ic_line_pc.png) top center no-repeat;
}

#contents h2:last-child {
  margin-bottom: 0;
}

.top_content {
  width: 100%;
}

/*コンクリート背景*/
#rinen, #about, #group {
  background: url(../../images/img_bk.jpg);
  background-size: cover;
	padding: 60px 0;
}

/*企業理念*/
#rinen ul{
	width: 1030px;
	margin: 0 auto;
}
#rinen ul li{
	background: #fff;
	float: left;
	width: 318px;
	height: 318px;
	padding: 70px 0 70px 10px;
	box-sizing: border-box;
	margin-right: 38px;
	position: relative;
}

#rinen ul li:after{
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 318px;
	height: 318px;
	border: 1px solid #95989A;
}

#rinen ul li:last-child{
	margin-right: 0;
}

#rinen p {
	font-size: 1.4rem;
	line-height: 1.6;
	margin-top: 40px;
}

/*代表メッセージ*/

.wrp_content_box {
  max-width: 930px;
  height: 100%;
  margin: 0 auto;
	margin-top: 100px;
}

.content_box {
  font-size: 1.5rem;
  line-height: 1.6;
  text-align: left;
  box-sizing: border-box;
  width: 470px;
}

#ceo_msg .content_box p {
  margin-bottom: 50px;
}

#ceo_msg .img_box {
	background: url(../../images/img_ceo.png) center center no-repeat;
	background-size: cover;
	width: 400px;
	height: 424px;
	float: right;
	position: relative;
}

#ceo_msg .img_box:after {
	content: "";
	position: absolute;
	top: -50px;
	left: 50px;
	background: #F1F1F1;
	width: 1000px;
	height: 424px;
	z-index: -1;
}

#ceo_msg .name {
	font-weight: 600;
	text-align: right;
}

/*先輩社員の声*/

#emp_msg .content_box {
  float: right;
}

#emp_msg .content_box p {
  margin-bottom: 40px;
}

#emp_msg .content_box p:last-child{
	margin-bottom: 0;
}

#emp_msg .img_box {
	background: url(../../images/img_emp.png) center center no-repeat;
	background-size: cover;
	width: 400px;
	height: 424px;
	float: left;
	position: relative;
}

#emp_msg .img_box:after {
	content: "";
	position: absolute;
	top: -50px;
	right: 50px;
	background: #F1F1F1;
	width: 1000px;
	height: 424px;
	z-index: -1;
}

#emp_msg .name {
	font-size: 1.4rem;
	font-weight: 600;
	text-align: right;
}

/* 会社概要 */

#about>ul {
	width: 1030px;
	margin: 0 auto;
}

#about>ul>li{
	background: #fff;
	margin-bottom: 2px;
	text-align: left;
	padding: 12px 20px;
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
}

#about .shozai {
	margin-bottom: 0;
}

#about .title {
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.6;
	width: 130px;
	height: 100%;
	box-sizing: border-box;
	padding: 10px 0;
}

#about .detail {
	font-size: 1.4rem;
	box-sizing: border-box;
	line-height: 1.6;
	padding: 10px 0;
	padding-left: 45px;
	border-left: 1px solid #CCCED0;
	width: 100%;
	box-sizing: border-box;
}

#about .detail dl{
  width:250px;
}
#about .detail dt,
#about .detail dd{
  float:left;
}
#about .detail dt{
  width:70px;
  text-align: right;
}
#about .detail dd{
  padding-left:10px;
  width:130px;
}

#about .shozai ul {
	width: 100%;
}

#about .shozai ul li{
	background: #f5f5f5;
	display: block;
	float: left;
	padding: 20px;
	margin-right: 10px;
}

#mapField {
	width: 100%;
	height: 320px;
	margin: 0 auto 20px auto;
}

/*事業内容*/

#business h2 {
	margin-bottom: 130px;
}

.bus_box {
	width: 1030px;
	margin: 0 auto;
	position: relative;
}

.bus_img_box {
	color: #fff;
	font-size: 2.8rem;
	width: 748px;
	height: 413px;
	padding: 30px;
	box-sizing: border-box;
	position: relative;
}

.bus_txt_box {
	background: rgba(255,255,255,0.8);
	border: 1px solid #95989A;
	font-size: 1.7rem;
	line-height: 1.6;
	width: 414px;
	padding: 50px;
	box-sizing: border-box;
	text-align: left;
}

.bus_1 .bus_img_box {
	background: url(../../images/img_bus_01.png) left top no-repeat;
	margin-bottom: 140px;
	text-align: left;
}

.bus_1 .bus_img_box:after {
	content: "";
	position: absolute;
	top: -50px;
	right: 50px;
	background: #F1F1F1;
	width: 1000px;
	height: 413px;
	z-index: -1;
}

.bus_1 .bus_txt_box {
	position: absolute;
	top: 200px;
	left: 540px;
}

.bus_2 .bus_img_box {
	background: url(../../images/img_bus_02.png) left top no-repeat;
	margin-bottom: 80px;
	float: right;
	text-align: right;
}

.bus_2 .bus_img_box:after {
	content: "";
	position: absolute;
	top: -50px;
	left: 50px;
	background: #F1F1F1;
	width: 1000px;
	height: 413px;
	z-index: -1;
}

.bus_2 .bus_txt_box {
	position: absolute;
	top: 234px;
	right: 540px;
}

/* グループ会社 */
.willing_link {
	background:url(../../images/logo_willing_pc.png)left 40px center no-repeat, url(../../images/ic_btn_arrow_blue_pc.png) no-repeat right 30px center,#fff;
	font-size: 1.8rem;
	font-weight: 600;
	display: block;
	width: 500px;
	margin: 0 auto;
	padding: 40px 0 40px 50px;
	box-sizing: border-box;
  position: relative;
  transition: .2s;
}

.willing_link:hover {
	color: #334699;
}

.willing_link::after {
	background-color: #334699;
  position: absolute;
	bottom: 0;
	left: 50%;
  content: '';
	width: 0%;
	height: 4px;
	transition: .2s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 2;
}

.willing_link:hover::after {
	width: 100%;
}

/*お問い合わせ*/
#form {
}

#form p {
	line-height: 1.6;
	margin-bottom: 50px;
}

.form_link {
	background:#334699 url(../../images/ic_btn_arrow_white_pc.png) no-repeat right 30px center;
	color: #fff;
	display: block;
	font-size: 1.4rem;
	width: 500px;
	margin: 0 auto;
	padding: 30px 0;
	box-sizing: border-box;
	position: relative;
	border: 1px solid #334699;
}
.form_link:hover {
	background:#fff url(../../images/ic_btn_arrow_blue_pc.png) no-repeat right 30px center;
	transition: .2s;
	color: #334699;
}

.form_link::after {
	background-color: #334699;
  position: absolute;
	bottom: 0;
	left: 50%;
  content: '';
	width: 0%;
	height: 4px;
	transition: .2s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 2;
}

.form_link:hover::after {
	width: 100%;
}

/*------------------------------
  スマートフォン(レスポンシブ)
------------------------------*/

@media only screen and ( max-width: 959px) {
  
  #wrapper {
    width: 100%;
  }
  
  footer {
    width: 100%;
    margin: 0 auto;
  }
  
  h2 {
    font-size: 2.8rem;
  }
  
  h3 {
    font-size: 2.2rem;
    line-height: 1.6;
  }
  
  h4 {
    font-size: 1.6rem;
    line-height: 1.6;
		margin-bottom: 10px;
  }
  
  h5 {
		font-size: 1.4rem;
		margin-bottom: 10px;
  }
  
  /*--------------------
    ヘッダ
  --------------------*/
  
  header {
    min-width: 100%;
    height: 54px;
    line-height: 54px;
  }

  header .logo_header {
		height: 54px;
		line-height: 54px;
  }
  
  header .logo_header ul li h1 a {
    background: url("../../images/logo_sp.png") no-repeat center center;
		background-size: 17px 33px;
    display: block;
		width: 17px;
    height: 54px;
    margin-top: 0;
  }
  
  #menu_list {
    display: none;
  }

  /* ハンバーガーアイコン */
  .menu_sp_toggle {
    display: block;
    height: 54px;
    line-height: 54px;
    margin-right: 3%;
  }
  
  /* クローズボタン */
  .menu_sp_toggle_close {
		margin-top: 10px;
    height: 21px;
    line-height: 21px;
    margin-right: 3%;
  }
  
  /*--------------------
    コンテンツ
  --------------------*/
  #contents {
    margin: 0 auto;
  }
  
  section h2 {
    margin-bottom: 60px;
  }


  /*--------------------
    フッター
  --------------------*/
  footer {
  }
  

	#copyright {
		font-size: 1rem;
		height: 80px;
		line-height: 80px;
  }
  .top_img {
    background: #ccc url(../../images/main_sp.jpg) bottom center no-repeat;
    background-size: cover;
  }
  
  /*--------------------
　 トップメッセージ
  --------------------*/
  .top_msg {
		left: 0;
    text-align: center;
  }

  .top_msg span {
  background-color: rgba(255,255,255,0.6);
	}
	.top_msg{
	line-height: 1.5;
	color: #14242F;
	z-index: 1;
	position: absolute;
	top: 0;
	}

	.inner_top_msg {
		background: url(../../images/lead_txt_sp.png)no-repeat center center;
		background-size: 278px 174px;
		height: 174px;
		width: 100%;
		margin: 0;
	}
  
  /*--------------------
    コンテンツ
  --------------------*/
  
	#contents {
		margin-top: 145px;
	}

	#contents section {
		margin-bottom: 145px;
		position: relative;
	}
	
	#contents section:last-child {
		margin-bottom: 80px;
	}

  .content_box {
    font-size: 1.4rem;
    font-weight: 100;
    width: 100%;
    min-height:inherit;
    padding: 30px 6% 0;
    box-sizing: border-box;
  }

  .content_box p {
    margin-bottom: 30px;
  }
  
	/*企業理念*/
	#rinen ul{
		width: 280px;
		margin: 0 auto;
	}
	#rinen ul li{
		background: #fff;
		float: left;
		margin: 0 auto 40px auto;
		position: relative;
		width: 280px;
		height: 280px;
		padding: 60px 0 60px 10px;
	}

	#rinen ul li:after{
		width: 280px;
		height: 280px;
	}
	#rinen ul li:last-child{
		margin-bottom: 0;
	}

	.rinen p {
		font-size: 1.3rem;
		line-height: 1.6;
		margin-top: 20px;
	}
	

	/*代表メッセージ*/

	.wrp_content_box {
		max-width:inherit;
		margin: 0 auto;
		margin-top: 108px;
    width: 100%;
    height: auto;
	}

	.content_box {
		width: 100%;
	}

	#ceo_msg .content_box p {
		margin-bottom: 20px;
	}
	#ceo_msg .content_box p.name {
		margin-bottom: 0;
	}

	#ceo_msg .img_box {
		background: url(../../images/img_ceo_sp.png) center center no-repeat;
		background-size: cover;
		width: 322px;
		height: 322px;
		float: none;
		margin: 0 auto;
	}
	
	#ceo_msg .img_box:after {
		content: "";
		position: absolute;
		top: -48px;
		left: 48px;
		background: #F1F1F1;
		width: 322px;
		height: 322px;
		z-index: -1;
	}

	/*先輩社員の声*/

	#emp_msg .content_box {
		float: none;
	}
	
	#emp_msg .content_box p {
		margin-bottom: 40px;
	}

	#emp_msg .content_box p:last-child{
		margin-bottom: 0;
	}

	#emp_msg .img_box {
		background: url(../../images/img_emp_sp.png) center center no-repeat;
		background-size: cover;
		width: 322px;
		height: 322px;
		float: none;
		margin: 0 auto;
	}
	
	#emp_msg .img_box:after {
		content: "";
		position: absolute;
		top: -48px;
		right: 48px;
		background: #F1F1F1;
		width: 322px;
		height: 322px;
		z-index: -1;
	}

	/* 会社概要 */

	#about>ul {
		width: 100%;
		margin: 0;
	}

	#about>ul>li{
		margin-bottom: 2px;
		text-align: left;
		padding: 12px 3%;
		box-sizing: border-box;
		position: relative;
		display: flex;
		align-items: center;
	}

	#about .shozai {
		margin-bottom: 0;
	}

	#about .title {
		width: 20%;
		padding: 10px 0;
	}

	#about .detail {
		padding-left: 20px;
		width: 80%;
	}


	#about .shozai ul li{
		padding: 20px;
		float: none;
		padding: 12px 20px;
		margin-right: 0;
	}
	#about .shozai ul li:first-child{
		margin-bottom: 5px;
	}
	#mapField {
		width: 100%;
		height: 230px;
		margin: 0 auto 12px auto;
	}

	/*事業内容*/

	#business h2 {
		margin-bottom: 95px;
	}
	.bus_box {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}

	.bus_img_box {
		width: 350px;
		height: 196px;
		padding: 20px;
	}

	.bus_txt_box {
		width: 90%;
		margin: 0 auto;
		padding: 30px 26px;
		box-sizing: border-box;
	}

	.bus_1 .bus_img_box {
		width: 100%;
		background: url(../../images/img_bus_01_sp.png) right top no-repeat;
		background-size: 350px 196px;
		margin-bottom: 30px;
		padding-right: 220px;
		text-align: right;
	}

	.bus_1 .bus_img_box:after {
		content: "";
		position: absolute;
		top: -35px;
		right: 21px;
		background: #F1F1F1;
		width: 500px;
		height: 196px;
		z-index: -1;
	}

	.bus_1 .bus_txt_box {
		position: static;
		margin-bottom: 85px;
	}

	.bus_2 .bus_img_box {
		background: url(../../images/img_bus_02_sp.png) left top no-repeat;
		background-size: 350px 196px;
		margin-bottom: 30px;
		float: none;
		text-align: right;
	}

	.bus_2 .bus_img_box:after {
		content: "";
		position: absolute;
		top: -35px;
		left: 21px;
		background: #F1F1F1;
		width: 500px;
		height: 196px;
		z-index: -1;
	}

	.bus_2 .bus_txt_box {
		position: static;
	}
	
	
	/* グループ会社 */
	.willing_link {
		background:url(../../images/logo_willing_sp.png)left 40px center no-repeat, url(../../images/ic_btn_arrow_blue_sp.png) no-repeat right 20px center,#fff;
		font-size: 1.6rem;
		width: 90%;
		padding: 30px 0 30px 20px;
		box-sizing: border-box;
	}
	
	.willing_link:hover {
		background:url(../../images/logo_willing_sp.png)left 40px center no-repeat, url(../../images/ic_btn_arrow_blue_sp.png) no-repeat right 20px center,#fff;
		color: #14242F;
	}

	.willing_link:hover::after {
		width: 0;
	}

	/*お問い合わせ*/
	#form {
	}

	#form p {
		font-size: 1.4rem;
		width: 90%;
		margin: 0 auto 40px;
	}

	.form_link {
		background:#334699;
		font-size: 1.4rem;
		width: 90%;
		margin: 0 auto;
	}
	
	.form_link:hover {
		background:#334699;
		color: #fff;
	}
	.form_link:hover::after {
		width: 0%;
	}
}


/*------------------------------
  iphone5
------------------------------*/

@media only screen and ( max-width: 320px) {
	
	/*事業内容*/

	.bus_img_box {
		font-size: 2.4rem;
		width: 300px;
		height: 176px;
		padding: 30px 0 0 30px;
	}

	.bus_txt_box {
		padding: 20px;
		box-sizing: border-box;
		font-size: 1.4rem;
	}

	.bus_1 .bus_img_box {
		background: url(../../images/img_bus_01_sp.png) right top no-repeat;
		background-size: 300px auto;
		margin-bottom: 20px;
		padding-left: 40px;
		padding-right: 0;
		text-align: left;
	}

	.bus_1 .bus_img_box:after {
		width: 300px;
		height: 170px;
	}

	.bus_1 .bus_txt_box {
		position: static;
		margin-bottom: 85px;
	}

	.bus_2 .bus_img_box {
		background: url(../../images/img_bus_02_sp.png) left top no-repeat;
		background-size: 300px auto;
		margin-bottom: 20px;
		padding-right: 20px;
	}

	.bus_2 .bus_img_box:after {
		width: 300px;
		height: 170px;
	}
	
	/* グループ会社 */
	.willing_link {
		background:url(../../images/ic_btn_arrow_blue_sp.png) no-repeat right 20px center,#fff;
		font-size: 1.6rem;
		width: 90%;
		padding: 30px 20px;
		box-sizing: border-box;
	}
	
	
	/*お問い合わせ*/
	#form {
		font-size: 1.3rem;
	}

	#form p {
		margin: 0 auto 30px;
	}

	.form_link {
		background:#334699;
		font-size: 1.2rem;
		width: 90%;
		margin: 0 auto;
	}
}