@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　public
 * 
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
.cont-nav{
  padding: 120px 0  150px;  
}



/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* intro
-----------------------------------------------------------------*/
.intro{
  padding: 180px 0 50px;  
}
.intro .txt-lead{
  text-align: center;
  line-height: 2;
  letter-spacing: .1em;    
}

/* public
-----------------------------------------------------------------*/
.public{
  padding: 50px 0 0;  
}
.public .layout-box{
  margin-bottom: 80px;  
}
.public .layout-box .bukken{
  max-width: 440px;
  text-align: center;  
}
.public .layout-box .bukken .ico{
  max-width: 94px;
  margin: 0 auto 20px;  
}
.public .layout-box .bukken h3{
  margin-bottom: 20px;
  line-height:1.5;  
}
.public .layout-box .bukken h3 span{
  display: block;
  font-size: 2.5rem;  
}
.public .layout-box .bukken .number{
  margin-bottom: 25px;
  line-height:1;
  font-size: 3rem;
  font-weight: bold;
}
.public .layout-box .bukken .number strong{
  padding: 0 3px;
  font-size: 200%;
  color: var(--pointblue);  
}
.public .layout-box .bukken table{
  width: 100%;
	overflow: hidden;
  text-align: left;
  border-collapse: collapse; 
	border-radius: 5px;
  line-height: 1.5;
}
.public .layout-box .bukken table th{
  padding: 10px 20px;
  font-size: 1.8rem;
  background: var(--pointblue);
  color: var(--light); 
}
.public .layout-box .bukken table th + th,
.public .layout-box .bukken table td + td{
	border-left: 1px solid var(--light);
}
.public .layout-box .bukken table th small{
  font-size: 1.2rem; 
}
.public .layout-box .bukken table td{
  padding: 10px 20px;
  font-weight: 500;
  background: var(--bgblue);
	border-top: 1px solid var(--light);
}
.public .layout-box .vendor{
  max-width: 788px;
  margin-left: 20px;
}
.public .layout-box .vendor .caption{
  display: block;
  text-align: right;
  font-size: 1.4rem;  
}
.public-residence-list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 140px;
}
.public-residence-list li{
	max-width: 620px;
	width: calc(50% - 10px);	
}
.public-residence-list h3{
	margin: 10px 0 20px;
	font-size: 2.2rem;
	line-height: 1.8;
}
.public-residence-list .btn-txt a{
	justify-content: flex-end;
}
.support{
	padding: 130px 0;
}
.support h3{
	margin-bottom: 50px;
  text-align: center;
  line-height: 2;
  letter-spacing: .1em;
	font-weight: normal; 	
}
.support .pic-list{
	display: flex;
	justify-content: space-between;
}
.support .pic-list li{
	max-width: 610px;
	width: calc(50% - 10px);
}
.support .pic-list li .caption{
	display: block;
	margin-top: 10px;
	text-align: right;
	font-size: 1.4rem;
}














/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

  .cont-nav{
    padding: 60px 0;  
  }
  

/* intro
-----------------------------------------------------------------*/
	.intro{
		padding: 60px 0 30px;  
	}
	

/* public
-----------------------------------------------------------------*/
	.public{
		padding: 30px 0 0;  
	}
	.public .layout-box{
		display: block;
		margin-bottom: 40px;  
	}
	.public .layout-box .bukken{
		margin: 0 auto 40px;
	}
	.public .layout-box .bukken .ico{
		max-width: 60px;
		margin: 0 auto 10px;  
	}
	.public .layout-box .bukken h3{
		margin-bottom: 20px;
		line-height:1.5;  
	}
	.public .layout-box .bukken h3 span{
		font-size: 2rem;  
	}
	.public .layout-box .bukken .number{
		margin-bottom: 20px;
		font-size: 2rem;
	}
	.public .layout-box .bukken table{
		width: 100%;
		overflow: hidden;
		text-align: left;
		border-collapse: collapse; 
		border-radius: 5px;
		line-height: 1.5;
	}
	.public .layout-box .bukken table th{
		padding: 10px;
		font-size: 1.4rem;
	}
	.public .layout-box .bukken table th + th,
	.public .layout-box .bukken table td + td{
		border-left: 1px solid var(--light);
	}
	.public .layout-box .bukken table th small{
		font-size: 1.1rem; 
	}
	.public .layout-box .bukken table td{
		padding: 10px;
		font-weight: 500;
		background: var(--bgblue);
		border-top: 1px solid var(--light);
	}
	.public .layout-box .vendor{
		max-width: none;
		width: calc(100% + 30px);
		margin: 0 -30px 0 0;
	}
	.public .layout-box .vendor .caption{
		padding-right: 5px;
		font-size: 1.2rem;  
	}
	.public-residence-list{
		display: block;
		margin-bottom: 60px;
	}
	.public-residence-list li{
		width: auto;
		margin-inline: auto;	
	}
	.public-residence-list li:nth-child(n+2){
		margin-top: 30px;
	}
	.public-residence-list h3{
		margin: 5px 0;
		font-size: 1.6rem;
	}
	.support{
		padding: 60px 0;
	}
	.support h3{
		margin-bottom: 30px;	
	}
	.support .pic-list{
		display: block;
	}
	.support .pic-list li{
		width: auto;
		margin-inline: auto;	
	}
	.support .pic-list li:nth-child(n+2){
		margin-top: 30px;
	}
	.support .pic-list li .caption{
		margin-top: 5px;
		font-size: 1.2rem;
	}


  
}