@charset "utf-8";

/* 共通 */
.top-message .page_title{
	font-size: 3.6rem;
	line-height: 5.2rem;
	color: #fff;
	margin: auto;
	padding: 4px 20px 50px 20px;
	letter-spacing: 0;
}
.top-message_area {
    max-width: 800px;
    margin: auto;
}

/* 代表挨拶 */
.catch_img {
	margin: 40px 0 46px;
}
.message_catch{
	font-size: 2.8rem;
	letter-spacing: 0;
	color: #004081;
	font-weight: 500;
	margin-bottom: 32px;
}
.top_name{
	font-size: 1.5rem;
	line-height: 2.2rem;
	text-align: right;
}
.top_name span{
	font-size: 2rem;
	margin-left: 15px;
}
.content_inner {
    max-width: 900px;
    margin: auto;
}

/* 会社概要 */
.outline_box{
	display: flex;
    justify-content: center;
	background: #E8EBEC;
	padding: 53px 20px;
	max-width: 800px;
	margin: 42px auto 0;
}
.outline_box.motto {
	padding: 26px 20px;
}
.outline_box p{
	font-size: 2.2rem;
	line-height: 3.8rem;
	font-weight: 500;
	color: #004081;
	margin-bottom: 0;
}
.outline_logo {
	padding: 80px 0 74px;
}
.outline_logo img {
    width: 500px;
    margin: auto;
}
.company_history{
	display: grid;
    grid-template-columns: 93px auto;
	margin: 28px 0 96px;
}
.company_history dt{
	font-size: 1.8rem;
	letter-spacing: 0;
	line-height: 2.25rem;
	font-weight: bold;
	color: rgba(37, 57, 73, 0.8);
}
.company_history dd{
	position: relative;
	padding: 0 0 34px 34px;
}
.company_history dd::before{
	content: "";
	position: absolute;
	top: 5px;
	left: -5px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #253949;
	z-index: 1;
}
.company_history dd::after{
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 1px;
	height: 100%;
	background: #DDDDDD;
}

.cert_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 36px 20px;
	padding-left: 0;
	margin-bottom: 0;
}
.cert_list li{
	margin-bottom: 0;
	list-style: none;
}
.cert_list li h3{
	font-size: 2.4rem;
	list-style: 3.5rem;
	margin: 0 0 20px;
}
.cert_img{
	border: 1px solid #DDDDDD;
	margin-bottom: 15px;
}

.outline .column_2{margin-top: 50px;}
.outline .column_2 div h3{margin-top: 0;}
.column_2.main_office {
	margin-top: 50px;
}
.main_office h3 {
	margin: 7px 0 22px;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 2.2rem;
}




@media screen and (max-width:767px){
.catch_img {
	margin: 22px 0 17px;
}
.message_catch {
	font-size: 2.4rem;
	line-height: 4rem;
	margin-bottom: 18px;
}
.top_name {
	font-size: 1.3rem;
	margin-top: 28px;
}
.top_name span {
	font-size: 1.8rem;
	margin-left: 14px;
}
.outline_box {
	margin: 18px auto 0;
	padding: 19px;
}
.outline_box p {
	font-size: 1.6rem;
	line-height: 2.7rem;
}
.outline_box.motto {
	padding: 20px;
}
.outline_logo {
	padding: 24px 0 26px;
}
.company_history {
	grid-template-columns: 78px auto;
	margin: 21px 0 96px;
}
.company_history dt {
	font-size: 1.6rem;
}
.company_history dd {
	padding: 0 0 23px 27px;
	font-size: 1.4rem;
}
.cert_list {
	grid-template-columns: 1fr;
}








}