@charset "UTF-8";
/* CSS Document */
.heading02{
	background-image:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../images/head_about.jpg);
	background-position:50% 90%;
}

/*ページ内リンク*/
@media(min-width:768px){
	/* 大きい画面 */
	.nav02 ul li{
		width:25%;
	}
}

@media(max-width:768px){
	/* 小さい画面 */
	.nav02 ul li{
		width:50%;
	}
}

@media(max-width:370px){
	/* 小さい画面 */
	.nav02 ul li{
		width:100%;
	}
}

@media(max-width:768px){
	/* 小さい画面 */
	.nav02 ul li a{
		border-bottom:1px solid #005D25;
	}
	
	.nav02 ul li:nth-child(3) a,
	.nav02 ul li:last-child a{
		border-bottom:none;
	}
}

@media(max-width:370px){
	/* 小さい画面 */
	.nav02 ul li:nth-of-type(odd){
		background:#018D38;
	}
	
	.nav02 ul li a{
		border:none;
	}
}


/*アイコン*/
.nav02 ul li a span.fas,
.nav02 ul li a span.far{
	margin-right:10px;
	opacity:0.35;
	font-size:1.05em;
}

.nav02 ul li a span.fa-desktop{
	font-size:0.9em;
}

.nav02 ul li a span.fa-code{
	font-size:0.9em;
}

.nav02 ul li a span.fa-briefcase{
	font-size:0.95em;
}



.line{
	height:5px;
	width:70px;
	background:#358d52;
	border-radius:3px;
	margin-top:40px;
	margin-bottom:40px;
	margin-right:auto;
	margin-left:auto;
}


/*企業理念*/
@media(min-width:768px){
	/* 大きい画面 */
	#section01 .rinen{
		width:70%;
		margin-right:auto;
		margin-left:auto;
		text-align:center;
	}
}

#section01 .rinen h4{
	font-size:21px;
	letter-spacing:0.07em;
	margin-bottom:30px;
	opacity:0.75;
	line-height:1.8;
	text-align:center;
}

#section01 .rinen p{
	font-size:15.5px;
	opacity:0.68;
	line-height:2;
	letter-spacing:0.05em;
	text-align:center;
}

@media(min-width:768px){
	/* 大きい画面 */
	#section01 .rinen p{
		flex:4;
		margin-right:40px;
	}
}

@media(min-width:768px){
	/* 大きい画面 */
	#section01 .rinen div{
		flex:1
	}
}

/*ボタン*/
a.button{
	display:block;
	font-size:14px;
	letter-spacing:0.025em;
	color:#017d32;
	padding:14px 0;
	width:260px;
	border:1px solid #017d32;
	border-radius:5px;
	text-align:center;
	margin-top:60px;	
	position: relative;
  transition: all .3s;
	margin-right:auto;
	margin-left:auto;
}

a.button::after {
  position: absolute;
  top: 50%;
  right: .2em;
  content: '';
  margin-top: -5px;
  border: 7px solid transparent;
  border-top-width: 5px;
  border-bottom-width: 5px;
  border-left-color:#017d32;
  transition: all .3s;
}

a.button:hover {
  background-color:#017d32;
  color:white;
	text-decoration:none;
}

a.button:hover::after {
  border-left-color:white;
}

@media(max-width:768px){
	/* 小さい画面 */
	a.button{
		margin-right:auto;
		margin-left:auto;
		margin-top:80px;
	}
}


/*経営方針*/
@media(min-width:768px){
	/* 大きい画面 */
	#section02 ul.management_policy:after{
		/*display:flex;
		flex-wrap:wrap;
		justify-content:space-around;*/
		content: "";
        clear: both;
        display: block;
	}
}

#section02 ul.management_policy li{
	padding:56px 40px;
	box-sizing:border-box;
	background:#fbfbfb;
	border:1px solid #fbfbfb;
	display:flex;
	align-items:start;
	border-radius:1px;
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.07);
}

@media(max-width:768px){
	/* 小さい画面 */
	#section02 ul.management_policy li{
		margin-bottom:40px;
	}
}


@media(min-width:768px){
	/* 大きい画面 */
	#section02 ul.management_policy li{
		float: left;
		margin-right: 3%;
		width:31%;
	}
}

#section02 ul.management_policy li:last-child{
	margin-right:0px;
}

#section02 ul.management_policy li div h4{
	opacity:0.77;
	font-size:21px;
	letter-spacing:0.03em;
	text-align:center;
	line-height:1.7;
}

#section02 ul.management_policy li div .line{
	margin:30px auto;
}

#section02 ul.management_policy li div p{
	opacity:0.7;
	font-size:14.5px;
	letter-spacing:0.025em;
	line-height:1.8;
	margin-bottom:10px;
	text-align:left;
}

#section02 ul.management_policy li div p:last-child{
	margin-bottom:0;
}

/*アコーディオン設定*/
.grad-wrap {
  position: relative;
}
.grad-wrap + .grad-wrap {
  margin-top: 40px;
}
.grad-trigger {
  z-index: 2;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: auto;
  padding: 9px 0;
  border-radius: 2px;
  background: #358d52;
  color: #fff;
  font-size: 1.3rem;
  text-align: center;
  cursor: pointer;
  transition: .2s ease;
  border:1px solid #358d52;
	font-size:13.5px;
	opacity:0.95;
	letter-spacing:0.05em;
}
.grad-trigger::after {
  content: "続きを読む"
}
.grad-trigger:hover {
  background: #fff;
  color: #358d52;
}
.grad-trigger .fa {
  margin-right: .5em;
}
.grad-item {
  position: relative;
  overflow: hidden;
}
.grad-item.is-hide {
  height: 130px;
}
.grad-item p + p {
  margin-top: 1em;
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 40px; /*グラデーションで隠す高さ*/
  background:white;
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.grad-trigger.is-show {
  bottom: -3em;
}
.grad-trigger.is-show::after {
  content: "閉じる"
}
.grad-trigger.is-show .fa {
  transform: rotate(180deg);
}
.grad-trigger.is-show + .grad-item::before {
  display: none;
}


/*会社概要*/
@media(min-width:768px){
	/* 大きい画面 */
	.corporate_profile{
		display:flex;
		flex-wrap:wrap;
		flex-direction:row-reverse;
	}
}

@media(min-width:768px){
	/* 大きい画面 */
	.corporate_profile .corporate_image{
		flex:1.5;
		box-sizing:border-box;
		
	}
}

@media(min-width:768px){
	/* 大きい画面 */
	.corporate_profile div:last-child{
		flex:3.5;
		margin-right:40px;
	}
}


.corporate_image{
	background-image:url(../images/gajumale_office.jpg);
	/*background-image:url(../images/gajumale_office_entrance.jpg);*/
	min-height:200px;
	max-height:500px;
	background-position:55% 100%;
	background-size:cover;
}


@media(max-width:768px){
	/* 小さい画面 */
	.corporate_image{
		background-position:50% 10%;
	}
}


/*企業概要の表*/
.table_area{
	background:white;
}
/* --「機構概要」エリア-- */
table.outline_table{
  width: 100%;
	box-sizing:border-box;
	border-collapse:collapse;
}

table.outline_table tr{
	box-sizing:border-box;
}

table.outline_table th,
table.outline_table td{
	padding:20px;
	border:1px solid #D2DFD2;
}

/* テーブル タイトル部分 */
table.outline_table th{
	font-size:15px;
	font-size:0.875em;
	color:black;
	letter-spacing:0.15em;
	font-weight:bold;
	width:24%;
	text-align:center;
	box-sizing:border-box;
	line-height:1.7;
	background:#F2F7F2;
}

table.outline_table th span{
	opacity:0.85;
}

table.outline_table td{
	font-size:15px;
	font-size:0.875em;
	letter-spacing: 0.033em;
	line-height:1.8;
	text-align: left;
	box-sizing:border-box;
	width:76%;
	opacity:0.8;
}


@media only screen and (max-width: 768px){
	table.outline_table tr,
	table.outline_table th{
		display:block;
		width:100%;
	}
	
	table.outline_table tr:first-child{
		border-top:1px solid #d2d2d2;
	}
	
	table.outline_table th{
		border-top:none;
		border-bottom:none;
		padding:15px;
	}
	
	/* 説明 */
	table.outline_table td:nth-child(2){
		display:block;
		width:100%;
	}
	
	table.outline_table td:nth-child(3){
		display:block;
		width:100%;
		text-align:right;
	}
}


.media_and_service li{
	font-size:12.5px;
	padding-left:20px;
	opacity:0.8;
}

.media_and_service li span{
	font-size:11px;
	opacity: 0.5;
	margin-right:4px;
}



table.outline_table td.suppliers div{
	display:flex;
	justify-content: space-between;
}

table.outline_table td.suppliers ul{
	width:49%;
}


table.outline_table td.suppliers ul li{
	line-height:1.7;
	font-size:13px;
}
/*事業実績へのリンク*/
a.performance_link {
	color: #1a0dab;
} 

a.performance_link:hover {
	color: #428bca;
} 


/*アクセス*/
#section04 h3{
	text-align:left;
}

#section04 h3 span{
	position:relative;
	left:5px;
}

@media(min-width:768px){
	/* 大きい画面 */
	#section04 .container{
		display:flex;
		align-items:center;
	}
}

#section04 .access{
	font-size:13px;
	font-style:normal;
	
	flex:1.8;
	
	line-height:1.7;
	padding-right:40px;
	box-sizing:border-box;
}

#section04 .access h5{
	font-weight:500;
	padding:5px 0;
	width:85px;
	letter-spacing:0.1em;
	text-indent:0.1em;
	text-align:center;
	font-style:normal;
	display:inline-block;
	border:1px solid #D3D3D3;
	box-sizing:border-box;
	margin-bottom:15px;
}

#section04 .access p{
	line-height:1.7;
	letter-spacing:0.025em;
	opacity:0.85;
}

#section04 .address{
	margin-bottom:20px;
}

#section04 aside{
	flex:3.2;
}


aside iframe{
	width:100%;
	height:390px;
	vertical-align:bottom;
}




/*ボタン*/
#section04 .buttons{
	display:flex;
}

#section04 a.button{
	display:block;
	font-size:12.5px;
	letter-spacing:0.025em;
	color:#017d32;
	padding:8px 0;
	width:160px;
	border:1px solid #017d32;
	border-radius:5px;
	text-align:center;
	margin-top:30px;	
	position: relative;
  transition: all .3s;
}

#section04 a.button::after {
  position: absolute;
  top: 50%;
  right: .2em;
  content: '';
  margin-top: -5px;
  border: 7px solid transparent;
  border-top-width: 5px;
  border-bottom-width: 5px;
  border-left-color:#017d32;
  transition: all .3s;
}

#section04 a.button:hover {
  background-color:#017d32;
  color:white;
	text-decoration:none;
}

#section04 a.button:hover::after {
  border-left-color:white;
}

@media(max-width:768px){
	/* 小さい画面 */
	#section04 a.button{
		margin-right:auto;
		margin-left:auto;
		margin-top:80px;
	}
}

#section04 a.button:first-child{
	margin-right:10px;
}

#section04 a.button span{
	margin-right:4px;
}


