@charset "UTF-8";
/* CSS Document */


header .title{
	width:100%;
	height:238px;
	background:url(../img/title_bk.jpg) center top no-repeat;
	background-size:cover;
	position:absolute;
	top:75px;
	left:0;
}


header .title h2{
	width:960px;
	height:32px;
	background:url(../img/title.png) left top no-repeat;
	margin:133px auto 0;
}

.btn_box{
	width:475px;
	border-bottom:1px solid #d8d8d8;
	border-top:2px solid #5e90d7;
	background-color:#FFF;
	margin-bottom:30px;
}

.btn_box div{
	width:260px;
	padding:15px 10px 10px;
	float:left;
	position:relative;
}


.btn_box h3{
	font-size:106.2%;
	line-height:1.2;
	padding:0 0 0 45px;
	height:40px;
	display:table-cell;
	vertical-align:middle;
}

.btn_box p{
	font-size:87.5%;
	line-height:1.3;
	height:65px;
	padding:15px 0 0;
}

.btn_box img{
	float:right;
}


.btn_box.no1,.btn_box.no3{
	float:left;
}

.btn_box.no2,.btn_box.no4{
	float:right;
}

.btn_box.no1 h3{
	background:url(../../img/no1.gif) left center no-repeat;
}

.btn_box.no2 h3{
	background:url(../../img/no2.gif) left center no-repeat;
}

.btn_box.no3 h3{
	background:url(../../img/no3.gif) left center no-repeat;
}

.btn_box.no4 h3{
	background:url(../../img/no4.gif) left center no-repeat;
}



.info_box{
	width:100%;
	height:428px;
	position:relative;
	margin-bottom:60px;
}

.info_box img{
	position:absolute;
	top:0;
	left:0;
}

.info_box h2{
	font-size:26px;
	line-height:1.4;
	letter-spacing:normal;
	padding:40px 0 20px 415px;
}

.info_box h2 span{
	display:block;
	padding-left:2em;
}

.info_box p{
	width:500px;
	font-size:100%;
	line-height:1.7;
	padding:20px 0 70px 430px;
}

.info_box p.name{
	width:auto;
	padding:0 0 0 430px;
	text-align:right;
}

.w_box h3.line{
	margin-bottom:30px;
}

table{
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #8f8f8f;
	margin-bottom:60px;
}

table th{
	font-size:87.5%;
	line-height:1.3;
	text-align:left;
	font-weight:normal;
	width:100px;
	padding:20px 20px 15px;
	vertical-align:middle;
	color: #333;
	background-color: #e5e5e5;
	border-bottom: 1px solid #8f8f8f;
}

table td{
	font-size:87.5%;
	line-height:1.3;
	padding:20px 20px 15px;
	background-color: #fff;
	border-bottom: 1px solid #8f8f8f;
}


.map{
	height:340px;
	/* margin-bottom:30px; */
	margin-bottom: 60px;
	position:relative;
}

.map div{
	width:300px;
	position:absolute;
	bottom:0;
	right:0;
}

.map div h4{
	font-size:87.5%;
	left:1.3;
	padding-left:40px;
	margin-bottom:5px;
}

.map div h4.car{
	background:url(../img/icon_c.gif) left top no-repeat;
}

.map div h4.bus{
	background:url(../img/icon_b.gif) left top no-repeat;
}

.map div p{
	font-size:75%;
	left:1.3;
	padding-left:40px;
	margin-bottom:20px;
}

.map div p.address{
	font-size:87.5%;
	left:1.3;
	padding-top:15px;
	padding-left:10px;
	margin-bottom:0;
	border-top:1px dashed #c4c4c4;
}

.company_policy {
  text-align: center;
  padding: 60px 0 150px;
}

.company_policy h1{
  font-size: 18px;
  line-height: 1;
  display: inline-block;
  padding-bottom: 80px;
  position: relative;
}

.company_policy h1 span{
  font-size: 32px;
  line-height: 1;
  font-weight: bold;
  padding: 0 5px 3px;
  margin-top: 20px;
  display: block;
  letter-spacing: .2em;
  background:linear-gradient(transparent 60%, #bfcfe2 60%);
}

.company_policy h1::after{
  content: "";
  width: 1px;
  height: 60px;
  background: #989898;
  position: absolute;
  bottom: 10px;
  left: 50%;
}

.company_policy > div{
  width: 90%;
  height: 370px;
  text-align: left;
  color: #FFF;
  padding: 35px;
  background: #072f62;
  box-sizing: border-box;
  position: relative;
}

.company_policy > div h2{
  font-size: 30px;
  line-height: 1;
  letter-spacing: .2em;
  color: #FFF;
  position: relative;
}

.company_policy > div h2 span{
  font-size: 14px;
  letter-spacing: .1em;
  position: absolute;
  bottom: -15px;
  left: 0;
  transform-origin: left bottom;
  transform: rotate(90deg);
}

.company_policy > div > div{
  width: 100%;
  padding: 35px;
  box-sizing: border-box;
  background: #1a4274;
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 100px;
  left: 10%;
}

.company_policy > div > div > div{
  width: 480px;

}

.company_policy > div > div > div + div{
  width: 300px;
  padding: 20px;
  text-align: center;
  box-sizing: border-box;
  background: #FFF;
}

.company_policy p{
  font-size: 16px;
  line-height: 2.5;
}

.company_policy h3{
  font-size: 16px;
  line-height: 1;
  color: #FFF;
  padding: 6px;
  margin-bottom: 20px;
  background: #1a4274;
}

.company_policy ul{
  font-size: 15px;
  line-height: 1;
  color: #1a4274;
}

.company_policy ul li + li{
  margin-top: 18px;
}

/* 202506追加 */
.contribute__heading {
	font-size: 16px;
}

.contribute__heading::before {
	content: "";
	width: 5px;
	height: 10px;
	display: inline-block;
	background-color: #5e90d7;
	margin-right: 5px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	transform: translate(0, -1px);
}

.contribute__text {
	font-size: 14px;
	margin-top: 20px;
}

.contribute__img {
	margin: 20px 0;
}

.contribute__img img {
	width: 100%;
	height: auto;
}


@media screen and (max-width: 739px) {
	
	header .title{
		width:100%;
		height:50px;
		padding-top:40px;
		background:url(../img/title_bk.jpg) center top no-repeat;
		background-size:cover;
		position:static;
	}
	
	
	header .title h2{
		width:95%;
		height:20px;
		background:url(../img/title.png) left top no-repeat;
		background-size:auto 100%;
		margin:0 auto;
	}
	
	.btn_box{
		width:100%;
		max-width:400px;
		margin:0 auto;
		margin-bottom:20px;
	}
	
	.btn_box div{
		width:100%;
		padding:10px;
		float:none;
		position:relative;
		box-sizing:border-box;
	}
	
	
	.btn_box h3{
		font-size:14px;
		line-height:1.2;
		padding:0 0 0 45px;
		height:40px;
		display:table-cell;
		vertical-align:middle;
	}
	
	.btn_box p{
		font-size:12px;
		line-height:1.3;
		height:auto;
		padding:15px 0 20px;
	}
	
	.btn_box img{
		display:none;
	}
	
	
	.btn_box.no1,.btn_box.no3{
		float:none;
	}
	
	.btn_box.no2,.btn_box.no4{
		float:none;
	}
	
	.btn_box.no1 h3{
		background:url(../../img/no1.gif) left center no-repeat;
	}
	
	.btn_box.no2 h3{
		background:url(../../img/no2.gif) left center no-repeat;
	}
	
	.btn_box.no3 h3{
		background:url(../../img/no3.gif) left center no-repeat;
	}
	
	.btn_box.no4 h3{
		background:url(../../img/no4.gif) left center no-repeat;
	}
	
	a.btn_b{
		margin:0;
	}
	
	.info_box{
		width:100%;
		height:auto;
		margin-bottom:30px;
	}
	
	.info_box img{
		position:static;
		width:100%;
		max-width:200px;
		height:auto;
		display:block;
		margin:0 auto 20px;
	}
	
	.info_box h2{
		font-size:16px;
		line-height:1.4;
		letter-spacing:normal;
		padding:0 0 20px 0;
	}
	
	.info_box h2 span{
		display:inline;
		padding-left:0;
	}
	
	.info_box p{
		width:auto;
		font-size:12px;
		line-height:1.4;
		padding:0 0 20px 0;
	}
	
	.info_box p.name{
		padding:0;
		text-align:right;
	}
	
	.w_box h3.line{
		margin-bottom:10px;
	}
		
	table{
		border-bottom:none;
		margin-bottom:20px;
	}
	
	table th{
		font-size:12px;
		width:100%;
		padding:10px;
		display:block;
		box-sizing:border-box;
	}
	
	table th br{
		display:none;
	}
	
	table td{
		font-size:12px;
		width:100%;
		padding:10px;
		display:block;
		box-sizing:border-box;
	}
	
	.map{
		height:auto;
		margin-bottom:20px;
	}
	
	.map iframe{
		width:100%;
		height:300px;
		margin-bottom:15px;
	}
	
	.map div{
		width:100%;
		position:static;
	}
	
	.map div h4{
		font-size:14px;
		left:1.3;
		padding-left:40px;
		margin-bottom:5px;
	}
	
	.map div h4.car{
		background:url(../img/icon_c.gif) left top no-repeat;
	}
	
	.map div h4.bus{
		background:url(../img/icon_b.gif) left top no-repeat;
	}
	
	.map div p{
		font-size:10px;
		left:1.3;
		padding-left:40px;
		margin-bottom:20px;
	}
	
	.map div p.address{
		font-size:14px;
		left:1.3;
		padding-top:15px;
		padding-left:10px;
		margin-bottom:0;
		border-top:1px dashed #c4c4c4;
	}
  
  .company_policy {
    padding: 30px 0 260px;
  }

  .company_policy h1{
    font-size: 16px;
    line-height: 1;
    padding-bottom: 60px;
  }

  .company_policy h1 span{
    font-size: 25px;
    line-height: 1;
    font-weight: bold;
    padding: 0 5px 3px;
    margin-top: 15px;
    display: block;
    letter-spacing: .2em;
    background:linear-gradient(transparent 60%, #bfcfe2 60%);
  }

  .company_policy h1::after{
    content: "";
    width: 1px;
    height: 40px;
    background: #989898;
    position: absolute;
    bottom: 10px;
    left: 50%;
  }

  .company_policy > div{
    width: 100%;
    height: 360px;
    text-align: left;
    color: #FFF;
    padding: 30px;
    margin-left: -15px;
    background: #072f62;
    box-sizing: border-box;
  }
  
  .company_policy > div h2{
    font-size: 23px;
    line-height: 1;
  }

  .company_policy > div h2 span{
    font-size: 12px;
    letter-spacing: .1em;

  }

  .company_policy > div > div{
    width: 91%;
    padding: 30px;
    display: block;
    position: absolute;
    top: 70px;
    left: auto;
    right: 0;
    transform: translateX(25px)
  }

  .company_policy > div > div > div{
    width: 100%;
  }

  .company_policy > div > div > div + div{
    width: 100%;
    padding: 15px;
    text-align: center;
    box-sizing: border-box;
    background: #FFF;
  }

  .company_policy p{
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  
  .company_policy p br{
    display: none;
  }

  .company_policy h3{
    font-size: 15px;
    line-height: 1;
    color: #FFF;
    padding: 6px;
    margin-bottom: 20px;
    background: #1a4274;
  }

  .company_policy ul{
    font-size: 14px;
    line-height: 1;
    color: #1a4274;
  }

  .company_policy ul li + li{
    margin-top: 15px;
  }
	
	/* 202506追加 */
	.contribute__heading {
		font-size: 14px;
		margin-top: 20px;
	}

	.contribute__heading::before {
		width: 4px;
		height: 8px;
		margin-right: 4px;
		transform: translate(0, -2px);
	}

	.contribute__text {
		font-size: 12px !important;
		margin-top: 15px;
	}

	.contribute__img {
		margin: 15px 0;
	}

}



