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

/*==============================*/
/* 会社概要 */
/*==============================*/
div.company{
	display: flex; display: -webkit-flex;
	padding: 0 40px;
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.company{ padding: 0 12px;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.company{
			flex-direction: column-reverse; -webkit-flex-direction: column-reverse;
			padding: 0px;
		}
	}

/*-- 
------------------------- */
div.company figure{ width: 344px; }

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.company figure{ width: 264px; }
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.company figure{
			width: 100%;
			margin-bottom: 28px;
		}
		div.company figure img{
			object-fit: cover;
			height: 200px;
		}
	}


/*-- 
------------------------- */
div.company div.companyInfo{
	flex: 1;
	margin-right: 24px;
}
div.company div.companyInfo > dl{ display: flex; display: -webkit-flex;}
div.company div.companyInfo > dl:not(:last-child){ margin-bottom: 20px;}
div.company div.companyInfo > dl > dt{
	width: 120px;
	font-size: 17px;
	font-weight: bold;
	color: #18554C;
}
div.company div.companyInfo > dl > dd{
	flex: 1;
	margin-left: 24px;
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.company div.companyInfo > dl:not(:last-child){ margin-bottom: 20px;}
		div.company div.companyInfo > dl > dt{
			width: 80px;
			font-size: 16px;
		}
		div.company div.companyInfo > dl > dd{
			margin-left: 16px;
			font-size: 15px;
		}
		div.company div.companyInfo > dl > dd ul li{ font-size: 15px;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.company div.companyInfo > dl{
			padding: 21px 0 22px 0;
			flex-direction: column; -webkit-flex-direction: column;
		}
		div.company div.companyInfo > dl:first-child{ padding-top: 0;}
		div.company div.companyInfo > dl:last-child{ padding-bottom: 0;}
		div.company div.companyInfo > dl:not(:last-child){
			margin-bottom: 0px;
			border-bottom: 1px solid #ccc;
		}
		div.company div.companyInfo > dl > dt{
			margin-bottom: 5px;
			width: 100%;
			font-size: 18px;
		}
		div.company div.companyInfo > dl > dd{ margin-left: 0px;}
		
		div.company div.companyInfo > dl > dd ul{ margin-top: 2px;}
		div.company div.companyInfo > dl > dd ul li:not(:last-child){ margin-bottom: 6px;}
	}


/*-- 役員
------------------------- */
div.company div.companyInfo > dl > dd.officer dl{
	display: flex; display: -webkit-flex;
}
div.company div.companyInfo > dl > dd.officer dl dt{
	width: 111px;
	text-align: right;
}
div.company div.companyInfo > dl > dd.officer dl dd{
	flex: 1;
	margin-left: 20px;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.company div.companyInfo > dl > dd.officer dl dt{
			width: 104px;
			font-size: 15px;
		}
		div.company div.companyInfo > dl > dd.officer dl dd{ font-size: 15px;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.company div.companyInfo > dl > dd.officer{ margin-top: 2px;}
		div.company div.companyInfo > dl > dd.officer dl dt{
			width: 106px;
			text-align: right;
		}
		div.company div.companyInfo > dl > dd.officer dl dd{margin-left: 16px;}
	}


/*==============================*/
/* MAP */
/*==============================*/
div.googleMap{ padding: 0 40px;}
div.googleMap iframe{
	width: 100%;
	aspect-ratio: 7 / 2.5;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.googleMap{ padding: 0px;}
		div.googleMap iframe{
			width: 100%;
			aspect-ratio: 5 / 3.5;
		}
	}


/*==============================*/
/* message */
/*==============================*/
div.message{
	display: flex; display: -webkit-flex;
	padding: 0 40px;
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.message{ padding: 0 12px;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.message{
			flex-direction: column; -webkit-flex-direction: column;
			padding: 0;
		}
	}


/*-- 画像
------------------------- */
div.message figure{
	width: 288px;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.message figure{ width: 240px;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.message figure{
			width: 232px;
			margin: 0 auto 32px auto;
		}
	}

/*-- コンテンツ
------------------------- */
div.message div{
	flex: 1;
}
div.message div h3{
	margin-bottom: 32px;
	color: #000;
	font-size: 30px;
	font-weight: 500;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.04em;
	line-height: 1.414em;
}
div.message div p.sign{
	color: #000;
	font-size: 20px;
}
div.message div p.sign small{ display: block;}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.message div{
			padding-top: 24px;
		}
		div.message div h3{
			margin-bottom: 24px;
			font-size: 28px;
		}
		div.message div p{  font-size: 15px;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.message div{
			flex: 1;
			margin-left: 0px;
			padding-top: 0px;
		}
		div.message div h3{
			margin-bottom: 20px;
			font-size: 25px;
			font-weight: 600;
			line-height: 1.414em;
			letter-spacing: -0.02em;
			text-align: center;
		}
		div.message div p.sign{
			font-size: 20px;
			text-align: right
		}
	}


