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

/*==============================*/
/* 会社概要 */
/*==============================*/
/*---------------------------------
   Title
---------------------------------*/
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		h2.mainTitle{ text-align: center;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		h2.mainTitle{ text-align: center;}
	}
/*---------------------------------
   Content
---------------------------------*/
div.company{
	padding: 40px;
	background: #fff;
}
div.company > dl{ display: flex;}
div.company > dl > dt{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px;
	flex: 0 0 150px;
	border-bottom: 2px solid #8F8F8F;
	color: #000;
}
div.company > dl > dd{
	padding: 20px;
	flex: 1;
	border-bottom: 1px solid #BEBEBE;
	font-size: 15px;
}
div.company > dl > dd div.addressContent{
	display: flex;
	align-items: flex-end;
	gap: 16px;
}
div.company > dl > dd div.addressContent div:nth-child(1){ flex: 2;}
div.company > dl > dd div.addressContent div:nth-child(2){ flex: 1;}
div.company > dl > dd div.addressContent div dl:not(:last-child){ margin-bottom: 8px;}
div.company > dl > dd div.addressContent div p.link a{
	position: relative;
	display: block;
	padding: 12px 0 12px 8px;
	background: #fff;
	border: 1px solid #D9D9D9;
	text-align: center;
}
div.company > dl > dd div.addressContent div p.link a::before{
	position: absolute; top: 50%; left: 1em;
	content: "";
	width: 12px;
	height: 12px;
	border-top: 1px solid #969696;
	border-right: 1px solid #969696;
	transform: translateY(-50%) rotate(45deg);
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		section.wrap-g{ padding: 0;}
		div.company{ padding: 32px;}
		div.company > dl > dt{ padding: 16px 20px;}
		div.company > dl > dd{ padding: 16px 20px;}
		div.company > dl > dd div.addressContent{ 
			flex-direction: column;
			align-items: flex-start;
		}
		div.company > dl > dd div.addressContent div{ width: 100%;}
		div.company > dl > dd div.addressContent div p.link a{ 
			padding: 8px 0 8px 4px;
			width: 280px;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		section.wrap-g{ padding: 0;}
		div.company{ padding: 20px 16px;}
		div.company > dl{ flex-direction: column;}
		div.company > dl:not(:last-child){ margin-bottom: 8px;}
		div.company > dl > dt{ 
			padding: 8px 0 8px 12px;
			flex: 0 1 auto;
			border-bottom: 1px solid #8F8F8F;
		}
		div.company > dl > dd{ 
			padding: 8px calc(12px + 1em) 8px calc(12px + 1em);
			border-bottom: none;
			font-size: 14px;
		}
		div.company > dl > dd div.addressContent{ flex-direction: column;}
		div.company > dl > dd div.addressContent div{ width: 100%;}
		div.company > dl > dd div.addressContent div:nth-child(2){
			display: flex;
			justify-content: center;
		}
		div.company > dl > dd div.addressContent div p.link a{ 
			padding: 8px 0 8px 4px;
			width: 280px;
		}
	}

/*---------------------------------
   地域未来牽引企業
---------------------------------*/
/*-- Title
------------------------- */
h3{
	margin-bottom: 28px;
	padding: 8px 0 20px 0;
	color: #000;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2em;
	letter-spacing: 0.02em;
}
	
/*-- Content
------------------------- */
div.regional-growth{
	display: flex;
	gap: 32px;
	margin-bottom: 48px;
}
div.regional-growth figure{ flex: 1;}
div.regional-growth div{ flex: 3;}

/*-- Aspiration
------------------------- */
p.aspiration{
	padding: 24px 0;
	border: 1px solid #1a1a1a;
	text-align: center;
	font-size: 18px;
    font-family: "A1 Mincho", serif;
    font-weight: 600;
	letter-spacing: 0.02em;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		h3{
			margin-bottom: 20px;
			padding: 6px 0 18px 0;
			font-size: 20px;
		}
		div.regional-growth div{ flex: 2;}
		p.aspiration{
			padding: 20px;
			font-size: 16px;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		h3{
			margin-bottom: 16px;
			padding: 4px 0 16px 0;
			font-size: 18px;
			line-height: 1.618em;
		}
		div.regional-growth{ 
			flex-direction: column;
			gap: 16px;
		}
		p.aspiration{
			padding: 20px;
			font-size: 15px;
		}
	}
/*---------------------------------
   Sitemap
---------------------------------*/
div.company-outline-sitemap{
	margin: 0 auto 96px auto;
	width: min(800px, 100%);
}
div.company-outline-sitemap ul{
	display: flex;
	gap: 24px 32px;
	flex-wrap: wrap;
}
div.company-outline-sitemap ul li{ width: calc(calc(100% - 32px * 1) / 2);}
div.company-outline-sitemap ul li a{
	position: relative;
	display: block;
	padding: 12px 0 12px 8px;
	border: 1px solid #D9D9D9;
	text-align: center;
}
div.company-outline-sitemap ul li a::before{
	position: absolute; top: 50%; left: 1em;
	content: "";
	width: 12px;
	height: 12px;
	border-top: 1px solid #969696;
	border-right: 1px solid #969696;
	transform: translateY(-50%) rotate(45deg);
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.company-outline-sitemap{
			margin: 0 auto 96px auto;
			width: min(640px, 100%);
		}
		div.company-outline-sitemap ul li{ width: 100%;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.company-outline-sitemap{
			margin: 0 auto 96px auto;
			width: 100%;
		}
		div.company-outline-sitemap ul{ gap: 12px;}
		div.company-outline-sitemap ul li{ width: 100%;}
		div.company-outline-sitemap ul li a{ padding: 8px 0 8px 4px;}
	}












