@charset "utf-8";

/*==============================================================================
  経営理念
==============================================================================*/

.philosophy_list {
	display: flex;
	flex-flow: column;
	width: 100%;
	padding-top: 31px;
	border-bottom: 1px solid #dcdcdc;
	box-sizing: border-box;
}

.philosophy_list:first-child {
	padding-top: 8px;
}

.h3_heading {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	padding: 0 20px;
	font-size: 2.5rem;
	color: #1644a6;
	font-weight: 500;
}

.number {
	display: inline-block;
	width: 45px;
	height: 45px;
	background-color: #00b7ee;
	border-radius: 50%;
	margin-right: 10px;
	font-size: 2.2rem;
	line-height: 45px;
	text-align: center;
	color: #fff;
	font-weight: 500;
}

.philosophy_list ul {
	flex-basis: 100%;
	padding-top: 15px;
	padding-bottom: 10px;
}

.philosophy_list li {
	list-style-type: disc;
	margin-left: 100px;
	padding-bottom: 10px;
	line-height: 3rem;
}

.philosophy_list li:last-child {
	padding-bottom: 25px;
}


/* 960px幅の最大値
===================================*/

@media (max-width: 960px) {
	
	.h3_heading {
		padding: 0;
	}

	.philosophy_list li {
		margin-left: 80px;
	}

}

/* 480px幅の最大値
===================================*/

@media (max-width: 480px) {
	
	.h3_heading {
		font-size: 2rem;
	}

	.number {
		width: 28px;
		height: 28px;
		margin-right: 5px;
		font-size: 1.8rem;
		line-height: 28px;
	}
	
	.philosophy_list li {
		margin-left: 57px;
	}

}


/*==============================================================================
  会社概要
==============================================================================*/

.overview_list {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
}

.overview_list dt {
	width: 20%;
	padding: 25px 20px;
	font-weight: 500;
	border-bottom: 1px solid #d3d5e0;
	box-sizing: border-box;
}

.overview_list dt:first-child ,
.overview_list dd:nth-child(2) {
	border-top: 1px solid #d3d5e0;
}

.overview_list dd {
	width: 80%;
	padding: 25px 20px;
	border-bottom: 1px solid #d3d5e0;
	box-sizing: border-box;
}

.sub_list {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	padding-bottom: 20px;
}

.sub_list:last-child {
	padding-bottom: 0;
}

.sub_list dt {
	flex-basis: 100%;
	padding: 0;
	color: inherit;
	font-weight: inherit;
	border-bottom: inherit;
	box-sizing: border-box
}

.sub_list dd {
	flex-basis: 100%;
	padding: 0;
	border-bottom: inherit;
	box-sizing: border-box;
}

.sub_list dt:first-child ,
.sub_list dd:nth-child(2) {
	border-top: inherit;
}

.business_list li {
	list-style-type: disc;
	margin-left: 25px;
	line-height: 3rem;
}


/* 1366px幅の最大値
===================================*/

@media (max-width: 1366px) {
	
	.overview_list dt {
		width: 25%;
	}

	.overview_list dd {
		width: 75%;
	}
	
}
	
	
/* 1200px幅の最大値
===================================*/

@media (max-width: 1200px) {

	.overview_list dt {
		width: 29%;
	}

	.overview_list dd {
		width: 71%;
	}
	
}


/* 960px幅の最大値
===================================*/

@media (max-width: 960px) {

	.overview_list dt {
		width: 25%;
		padding: 25px 0;
	}

	.overview_list dd {
		width: 75%;
		padding: 25px 0;
	}
	
	.sub_list dt {
		padding: 0px;
	}
	
	.sub_list dd {
		padding: 0px;
	}
	
}


/* 768px幅の最大値
===================================*/

@media (max-width: 768px) {

	.overview_list dt {
		width: 25%;
	}

	.overview_list dd {
		width: 75%;
	}
	
}


/* 678px幅の最大値
===================================*/

@media (max-width: 678px) {

	.overview_list dt {
		width: 100%;
		background-color: #00b7ee;
		padding: 11px 15px;
		color: #fff;
	}
	
	.overview_list dt ,
	.overview_list dt:first-child ,
	.overview_list dt:nth-child(2) ,
	.overview_list dd ,
	.overview_list dd:nth-child(2) {
		border-top: none;
		border-bottom: none;
	}

	.overview_list dd {
		width: 100%;
		padding: 15px 15px 30px 15px ;
	}
	
	.overview_list dd:last-child {
		padding-bottom: 0;
	}
	
	.sub_list dt {
		padding: 0px;
		background-color: inherit;
		color: inherit;
	}
	
	.sub_list dd {
		padding: 0px;
	}
	
}


/*==============================================================================
  沿革
==============================================================================*/

.history_list {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
}

.history_list dt {
	display: flex;
	flex-flow: row wrap;
	flex-basis: 20%;
	padding: 25px 20px;
	font-weight: 500;
	border-bottom: 1px solid #dcdcdc;
	box-sizing: border-box;
}

.history_list dt:first-child,
.history_list dd:nth-child(2) {
	border-top: 1px solid #dcdcdc;
}

.history_list dd {
	flex-basis: 80%;
	padding: 25px 20px;
	border-bottom: 1px solid #dcdcdc;
	box-sizing: border-box;
}

.history_year {
	width: 70px;
	text-align: left;
	white-space:nowrap;
}

.history_month {
	width: 50px;
	text-align: right;
	white-space:nowrap;
}


/* 1366px幅の最大値
===================================*/

@media (max-width: 1366px) {

	.history_list dt {
		flex-basis: 25%;
	}
	
	.history_list dd {
		flex-basis: 75%;
	}
	
}
	
	
/* 1200px幅の最大値
===================================*/

@media (max-width: 1200px) {

	.history_list dt {
		flex-basis: 29%;
	}
	
	.history_list dd {
		flex-basis: 71%;
	}
	
}


/* 960px幅の最大値
===================================*/

@media (max-width: 960px) {

	.history_list dt {
		flex-basis: 25%;
		padding: 25px 0;
	}

	.history_list dd {
		flex-basis: 75%;
		padding: 25px 0;
	}
	
}


/* 768px幅の最大値
===================================*/

@media (max-width: 768px) {

	.history_list dt {
		flex-basis: 30%;
	}

	.history_list dd {
		flex-basis: 70%;
	}
	
}


/* 678px幅の最大値
===================================*/

@media (max-width: 678px) {

	.history_list dt {
		flex-basis: 100%;
		background-color: #00b7ee;
		padding: 11px 15px;
		color: #fff;
	}
	
	.history_list dt ,
	.history_list dt:first-child ,
	.history_list dt:nth-child(2) ,
	.history_list dd ,
	.history_list dd:nth-child(2) {
		border-top: none;
		border-bottom: none;
	}

	.history_list dd {
		flex-basis: 100%;
		padding: 15px 15px 30px 15px ;
	}
	
	.history_list dd:last-child {
		padding-bottom: 0;
	}
	
}


/*==============================================================================
  アクセスマップ
==============================================================================*/

.contents_innner {
    padding-top: 100px;
    margin-top:-100px;
}

.google_map_box {
	position: relative;
	width: 100%;
	margin-bottom: 80px;
	padding-top: 70px;
	box-sizing: border-box;
}

.google_map_box:last-child {
	margin: 0;
}

a.google_map_box {
    display: block;
    padding-top: 170px;
    margin-top: -170px;
}

.address_list {
	display: flex;
	flex-flow: column;
	position: absolute;
	top: 0;
	left: 17px;
	width: 560px;
	padding: 30px;
	background-color: #fff;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.1);
	border-radius: 6px;
	z-index: 1;
	box-sizing: border-box;
}

.address_list dt {
	display: flex;
	flex-flow: column;
	font-size: 2.2rem;
	color: #1644a6;
	font-weight: 500;
	padding-bottom: 10px;
	border-bottom: 3px solid #00b7ee;
	box-sizing: border-box;
}

.address_list dd {
	padding-top: 20px;
	box-sizing: border-box;
}

.google_link_text {
	display: inline-block;
	font-size: 1.6rem;
	margin-top: 10px;
	margin-left: -8px;
}

.map_area {
	width: 100%;
	height: 580px;
	padding: 5px;
	background-color: #fff;
	border: 1px solid #dcdcdc;
	box-sizing: border-box;
}

/* 1200px幅の最大値
===================================*/


@media (max-width: 1200px) {
	
	.address_list {
		width: calc( 100% - 34px ) ;
	}
}


/* 960px幅の最大値
===================================*/

@media (max-width: 960px) {
	
	.google_map_box {
		margin-bottom: 60px;
	}
	
}
