@charset "UTF-8";
/*--------------------------------------------------
**************************************************
  PC用
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 768px) {
	
	/*LAYOUT*/
	main .company_container{
		margin-top: 30px;
	}
	
	main .company_contents_container{
		width: 900px;
		margin: 0 auto;
	}
	
	/*TITLE*/
	main .company_contents_container .company_ttl{
		margin-top: 80px;
		text-align: center;
	}
	
	main .company_contents_container .company_ttl p{
		font-weight: bold;
		font-size: 18px;
		line-height: 1.2em;
		color: #C8D1D2;
	}
	
	main .company_contents_container .company_ttl h3{
		font-weight: bold;
		font-size: 26px;
		color: #177889;
	}
	
	/*メニュー*/
	main .company_container .company_nav{
		display: flex;
		column-gap: 60px;
	}
		
	main .company_container .company_nav .company_nav_area a{
		display: block;
		width: 360px;
		padding: 40px 0 20px 0;
		text-align: center;
		border-radius: 20px;
		background-color: #E7F1F3;
	}
	
	main .company_container .company_nav .company_nav_area a:hover{
		background-color: #ADD7E0;
	}
	
	main .company_container .company_nav .company_nav_area a dl dt{
		color: #C8D1D2;
	}
	
	main .company_container .company_nav .company_nav_area a:hover dl dt{
		color: #FFF;
	}
	
	
	main .company_container .company_nav .company_nav_area a dl dd{
		font-size: 21px;
		font-weight: 700;
		color: #177889;
	}
	
	main .company_container .company_nav .company_nav_area a dl dd.icon_arrow_bottom{
    width: 15px;
		margin: 0 auto;
	}
	
	/*企業理念*/
	main #philosophy .philosophy_container .philosophy_area1 h4.philosophy_area_ttl,
	main #philosophy .philosophy_container .philosophy_area2 h4.philosophy_area_ttl{
		margin-top: 50px;
		font-weight: bold;
		font-size: 26px;
		color: #177889;
		position: relative;
		padding-left: 140px;
	}
	
	main #philosophy .philosophy_container .philosophy_area1 h4.philosophy_area_ttl::before,
	main #philosophy .philosophy_container .philosophy_area2 h4.philosophy_area_ttl::before{
		content: '';
		width: 120px;
		height: 1px;
		display: inline-block;
		margin-right: 20px;
		background-color: #919191;		
		position: absolute;
		left: 0;
		top: 20px;
	}
	
	main #philosophy .philosophy_container .philosophy_area1 p.philosophy_area_text{
		margin-top: 20px;
		line-height: 2em;
		font-size: 16px;
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container{
		display: flex;
		flex-wrap: wrap;
		column-gap: 50px;
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container .philosophy_area3{
		width: 425px;
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container .philosophy_area3 h5.philosophy_area3_ttl{
		margin-top: 40px;
		font-weight: 700;
		font-size: 21px;
		color: #177889;
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container .philosophy_area3 .philosophy_area3_text li{
		margin-top: 30px;
		font-size: 16px;
		padding-left: 70px;
		position: relative;
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container .philosophy_area3 .philosophy_area3_text li::before{
		content: '';
		width: 50px;
		height: 1px;
		
		background-color: #919191;
		position: absolute;
		left: 0;
		top: 12px;
	}
	

	/*会社概要&認証登録*/
	main .profile_container,
	main .cretification_container{
		margin-top: 50px;
	}
	
	main .profile_container .table_area,
	main .cretification_container .table_area{
		margin-top: 30px;
		display: flex;
	}
	
	main .profile_container .table_area dt,
	main .cretification_container .table_area dt{
		width: 25%;
		padding-bottom: 30px;
		border-bottom: 1px solid #8CC7D2;
		color: #177889;
	}
	
	main .profile_container .table_area dd,
	main .cretification_container .table_area dd{
		width: 75%;
		padding-bottom: 20px;
		border-bottom: 1px solid #EAEAEA;
	}
	
	main .about_area h4.about_area_ttl{
		margin-top: 50px;
		font-weight: 700;
		font-size: 21px;
		color: #177889;
	}
	
	main .about_area p.about_area_text{
		margin-top: 20px;
		line-height: 2em;
	}
	
	main .cretification_container .cretification_icon{
		width: 100px;
		margin: 0 auto 50px;
	}
	
	main .cretification_container p.btn_group a{
		display: block;
		width: 400px;
		margin: 50px auto 0;
		padding: 15px 0;
		border-radius: 30px;
		background: #F6F6F6;
		text-align: center;
		position: relative;
		color: #177889;
	}
	
	main .cretification_container p.btn_group a:before{
		position: absolute;
		top: 3px;
		left: 3px;
		width: calc(100% - 6px);
		height: calc(100% - 6px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #177889;
		border-radius: 30px;
	}
	
	main .cretification_container p.btn_group a::after{
		content: "";
		position: absolute;
		top: 50%;
		right: 25px;
		transform: translateY(-50%) rotate(45deg);
		display: inline-block;
		width: 8px;
		height: 8px;
		border-top: #177889 2px solid;
		border-right: #177889 2px solid;
		transition: all 1s ease;
	}
	
	main .cretification_container p.btn_group a:hover{
		background-color: #177889;
		color: #FFF;
	}
	
	main .cretification_container p.btn_group a:hover::after{
		content: "";
		position: absolute;
		top: 50%;
		right: 25px;
		transform: translateY(-50%) rotate(45deg);
		display: inline-block;
		width: 8px;
		height: 8px;
		border-top: #fff 2px solid;
		border-right: #fff 2px solid;
	}
	

}/* End PC */



/*--------------------------------------------------
**************************************************
  SP用
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 767px) {
	
	/*LAYOUT*/
	main .company_container{
		margin-top: 30px;
	}
	
	main .company_contents_container{
		width: 96%;
		margin: 0 auto;
	}
	
	/*TITLE*/
	main .company_contents_container .company_ttl{
		margin-top: 50px;
		text-align: center;
	}
	
	main .company_contents_container .company_ttl p{
		font-weight: bold;
		font-size: 3.5vw;
		line-height: 1.2em;
		color: #C8D1D2;
	}
	
	main .company_contents_container .company_ttl h3{
		font-weight: bold;
		font-size: 5.5vw;
		color: #177889;
	}
	
	/*メニュー*/
	main .company_container .company_nav{
		display: flex;
		column-gap: 1%;
	}
	
	main .company_container .company_nav .company_nav_area{
		width: 33%;
	}
	
	
	main .company_container .company_nav .company_nav_area a{
		display: block;
		width: 100%;
		padding: 10px 0;
		text-align: center;
		border-radius: 20px;
		background-color: #E7F1F3;
	}
	
	main .company_container .company_nav .company_nav_area a:hover{
		background-color: #ADD7E0;
	}
	
	main .company_container .company_nav .company_nav_area a dl dt{
		color: #C8D1D2;
		font-size: 2.5vw;
	}
	
	main .company_container .company_nav .company_nav_area a:hover dl dt{
		color: #FFF;
	}
	
	
	main .company_container .company_nav .company_nav_area a dl dd{
		font-size: 4vw;
		font-weight: 700;
		color: #177889;
		line-height: 1.2em;
	}
	
	main .company_container .company_nav .company_nav_area a dl dd.icon_arrow_bottom{
    width: 15px;
		margin: 0 auto;
	}
	
	/*企業理念*/
	main #philosophy .philosophy_container .philosophy_area1 h4.philosophy_area_ttl,
	main #philosophy .philosophy_container .philosophy_area2 h4.philosophy_area_ttl{
		margin-top: 50px;
		font-weight: bold;
		font-size: 5vw;
		color: #177889;
		position: relative;
		padding-left: 100px;
	}
	
	main #philosophy .philosophy_container .philosophy_area1 h4.philosophy_area_ttl::before,
	main #philosophy .philosophy_container .philosophy_area2 h4.philosophy_area_ttl::before{
		content: '';
		width: 80px;
		height: 1px;
		display: inline-block;
		margin-right: 20px;
		background-color: #919191;
		position: absolute;
		left: 0;
		top: 20px;
	}
	
	main #philosophy .philosophy_container .philosophy_area1 p.philosophy_area_text{
		margin-top: 20px;
		line-height: 2em;
		font-size: 3.5vw;
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container{
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container .philosophy_area3{
	
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container .philosophy_area3 h5.philosophy_area3_ttl{
		margin-top: 40px;
		font-weight: 700;
		font-size: 4vw;
		color: #177889;
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container .philosophy_area3 .philosophy_area3_text li{
		margin-top: 30px;
		font-size: 3.5vw;
		padding-left: 70px;
		position: relative;
	}
	
	main #philosophy .philosophy_container .philosophy_area2 .philosophy_area2_container .philosophy_area3 .philosophy_area3_text li::before{
		content: '';
		width: 50px;
		height: 1px;
		
		background-color: #919191;
		position: absolute;
		left: 0;
		top: 12px;
	}
	

	/*会社概要&認証登録*/
	main .profile_container,
	main .cretification_container{
		margin-top: 50px;
	}
	
	main .profile_container .table_area,
	main .cretification_container .table_area{
		margin-top: 30px;
		display: flex;
	}
	
	main .profile_container .table_area dt,
	main .cretification_container .table_area dt{
		width: 25%;
		padding-bottom: 30px;
		border-bottom: 1px solid #8CC7D2;
		color: #177889;
		font-weight: 700;
		font-size: 3.5vw;
	}
	
	main .profile_container .table_area dd,
	main .cretification_container .table_area dd{
		width: 75%;
		padding-bottom: 20px;
		padding-left: 5px;
		border-bottom: 1px solid #EAEAEA;
		font-size: 3.5vw;
	}
	
	main .about_area h4.about_area_ttl{
		margin-top: 50px;
		font-weight: 700;
		font-size: 4.5vw;
		color: #177889;
	}
	
	main .about_area p.about_area_text{
		margin-top: 20px;
		line-height: 1.8em;
		font-size: 3.5vw;
	}
	
	main .cretification_container .cretification_icon{
		width: 100px;
		margin: 0 auto 50px;
	}
	
	main .cretification_container p.btn_group a{
		display: block;
		width: 80%;
		margin: 50px auto 0;
		padding: 15px 0;
		border-radius: 30px;
		background: #F6F6F6;
		text-align: center;
		position: relative;
		color: #177889;
	}
	
	main .cretification_container p.btn_group a:before{
		position: absolute;
		top: 3px;
		left: 3px;
		width: calc(100% - 6px);
		height: calc(100% - 6px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #177889;
		border-radius: 30px;
	}
	
	main .cretification_container p.btn_group a::after{
		content: "";
		position: absolute;
		top: 50%;
		right: 25px;
		transform: translateY(-50%) rotate(45deg);
		display: inline-block;
		width: 8px;
		height: 8px;
		border-top: #177889 2px solid;
		border-right: #177889 2px solid;
		transition: all 1s ease;
	}
	
	main .cretification_container p.btn_group a:hover{
		background-color: #177889;
		color: #FFF;
	}
	
	main .cretification_container p.btn_group a:hover::after{
		content: "";
		position: absolute;
		top: 50%;
		right: 25px;
		transform: translateY(-50%) rotate(45deg);
		display: inline-block;
		width: 8px;
		height: 8px;
		border-top: #fff 2px solid;
		border-right: #fff 2px solid;
	}
}/* End SP */

