@charset "UTF-8";

/*============================================================================================
↓理念========================================================================================
============================================================================================*/
/*理念*/
.philosophy {
	text-align:center;
}
.philosophy ul {
	list-style:none;
	display:inline-block;
}
.philosophy ul li {
	font-size:1.8em;
	line-height:1.6em;
	text-align:left;
	margin-bottom:15px;
}
.philosophy ul li:last-child {
	margin-bottom:0px;
}
.philosophy ul li:before {
	content:"一、";
}

/*イズム*/
.ism {
	width:100%;
	min-height:340px;
	background-image:url(../../assets/images/profile/bg-meishouism.jpg);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	display:table;
}
.ism  .itemContainer {
	width:500px;
	margin:0 auto;
	padding:80px 0;
	text-align:center;
	display:table-cell;
	vertical-align:middle;
}
.ism  .itemContainer p {
	color:rgba(46,75,167,1);
	font-size:2.4em;
	line-height:1.6em;
}

/*イズム 20190807修正*/
.ism2 {
	width:100%;
	min-height:340px;
	background-image:url(../../assets/images/profile/bg-meishouism2.jpg);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	display:table;
}
.ism2  .itemContainer {
	width:500px;
	margin:0 auto;
	padding:60px 20px 160px;
	text-align:center;
	display:table-cell;
	vertical-align:middle;
}
.ism2  .itemContainer p {
	color:rgba(46,75,167,1);
	font-size:2.4em;
	line-height:1.6em;
}

/*アルフレッサ*/
.alfresa a:link,
.alfresa a:visited {
	color:rgba(46,75,167,1);
	font-size:1.4em;
	line-height:1.6em;
	text-align:center;
	border:solid 1px rgba(46,75,167,1);
	padding:20px;
    margin: 0 auto;
	display: table;
	transition: all 0.3s ease 0s;
}
.alfresa a:hover,
.alfresa a.hover {
	background-color:rgba(236,236,236,1);
}
.alfresa span {
	padding:0 10px;
	display:inline-block;
	vertical-align:middle;
	white-space:nowrap;
}
.alfresa span.alfLogo {
	width:135px;
	height:30px;
}
.alfresa span.alfLogo img {
	width:100%;
	height:auto;
}
@media screen and (max-width: 768px) {
.philosophy ul li {
	font-size:1.6em;
}
}

/*============================================================================================
↓シンボルマーク==============================================================================
============================================================================================*/
.aboutSymbol {
	background-color:rgba(238,241,248,1);
	border-radius:20px;
	padding:40px 30px;
	box-sizing:border-box;
}
.symbolmark {
	text-align:center;
}
.symbolmark img {
	width:100%;
	max-width:160px;
	height:auto;
}
.aboutSymbol p {
	font-size:1.4em;
	line-height:2em;
}

/*============================================================================================
↓概要========================================================================================
============================================================================================*/
/*左右カラム*/
.leftContainer {
	float:left;
	width:56%;
}
.rightContainer {
	float:right;
	width:40%;
}
@media screen and (max-width: 768px) {
.leftContainer,
.rightContainer {
	float:none;
	width:100%;
}
}

/*テーブル*/
.tableList,
.tableListNarrow {
	width:100%;
	font-size:1.4em;
	line-height:1.6em;
}
.tableList tr,
.tableListNarrow tr {
	border-bottom:dotted 1px rgba(236,236,236,1);
}
.tableList th {
	text-align:left;
	padding:15px 0;
	vertical-align:middle;
	white-space:nowrap;
}
.tableList td {
	padding:15px;
}
.tableListNarrow th {
	text-align:left;
	padding:10px 0;
	vertical-align:middle;
	white-space:nowrap;
}
.tableListNarrow td {
	padding:10px;
}

/*社屋・所在地*/
.location {
	font-size:1.4em;
	line-height:1.6em;
}
.location img {
	width:100%;
	height:auto;
}
#googleMap {
	width:100%;
	height:320px;
	background-color:rgba(236,236,236,1);
}

/*事業所*/
.districtList dl dt:before {
	content:"◯";
}
.districtList dl dd {
	padding-left:1em;
}

/*役員*/
.officerList dl dt:before {
	content:"";
}
.officerList dl dt {
	overflow-wrap: break-word;
	margin-bottom: 8px;
}
.officerList dl {
	display: flex;
    flex-wrap: wrap;
}
.officerList dt {
	width: 42%;
	margin-right: 4%;
}
.officerList dd {
	width: 54%;
}
@media (min-width: 768px) and (max-width: 1010px) {
	.officerList dt {
		width: 62%;
	}
	.officerList dd {
		width: 34%;
	}
}
@media screen and (max-width: 568px) {
	.officerList dt {
		width: 70%;
		margin-right: 4%;
		font-size: 90%;
	}
	.officerList dd {
		width: 26%;
	}
}



/*関連会社*/
.meisysLogo {
	width: 220px;
    height: auto;
    line-height: 1;
    margin: 0;
    padding: 10px;
    display: block;
    border: solid 1px #b3cbe2;
}
.meisysLogo img {
	width: 100%;
	height: auto;
}
/*============================================================================================
↓沿革========================================================================================
============================================================================================*/
.history p {
	font-size:1.4em;
	line-height:2em;
	margin-bottom:15px;
}
.history p:last-child {
	margin-bottom:0px;
}

/*============================================================================================
↓業績========================================================================================
============================================================================================*/
.col_flex {
	display: flex;
	gap: 30px;
}
.col_flex .col {
}
@media screen and (max-width: 480px) {
	.col_flex {
		flex-direction: column;
	}
}
.graph {
	background-color:rgba(236,236,236,1);
	padding:15px;
}
.graph img {
	width:100%;
	height:auto;
}

/*============================================================================================
↓健康経営======================================================================================
============================================================================================*/
.hapHeader {
	position: relative;
	margin-bottom: 30px;
}
.hapHeader h3 {
	color:rgba(46,75,167,1);
	font-size:1.6em;
	font-weight:normal;
	line-height:1.6em;
	text-align:center;
}
.hapHeader h3 span {
	display:inline-block;
}
.hapHeader h3 span.marker {
	font-size:1.6em;
	margin:0 5px;
	padding:10px 5px;
	position:relative;
}
.hapHeader h3 span.marker::before {
	content: "";
    position: absolute;
    bottom: 7px;
    left: 0;
	z-index:-1;
    width: 100%;
    height: 15px;
    background-color: #c9dfe0;
}
.hap p {
	font-size:1.4em;
	line-height:2em;
}
.hap-logo {
	max-width: 360px;
	width: 100%;
}
.hap-logo img {
	width:100%;
	height:100%;
	object-fit: contain;
}

/*============================================================================================
↓品質方針======================================================================================
============================================================================================*/
.qualityHeader {
	position: relative;
	margin-bottom: 30px;
}
.qualityHeader h3 {
	color:rgba(46,75,167,1);
	font-size:1.6em;
	font-weight:normal;
	line-height:1.6em;
	text-align:center;
}
.qualityHeader h3 span {
	display:inline-block;
}
.qualityHeader h3 span.marker {
	font-size:1.6em;
	margin:0 5px;
	padding:10px 5px;
	position:relative;
}
.qualityHeader h3 span.marker::before {
	content: "";
    position: absolute;
    bottom: 7px;
    left: 0;
	z-index:-1;
    width: 100%;
    height: 15px;
    background-color: #c9dfe0;
}
.quality p {
	font-size:1.4em;
	line-height:2em;
}


/*============================================================================================
↓サイン======================================================================================
============================================================================================*/
/*2カラム*/
.col2 {
	margin-right:-3%;
}
.col2 .col {
	float:left;
	width:47%;
	margin-right:3%;
}
@media screen and (max-width: 480px) {
	.col2 {
		margin-right:0;
	}
	.col2 .col {
		float:none;
		width:100%;
		margin-bottom:30px;
		margin-right:0;
	}
	.col2 .col:last-child {
		margin-bottom:0;
	}
}

/*タイトルまわり*/
.signHeader {
	position: relative;
	margin-bottom: 30px;
}
.signHeader h3 {
	color:rgba(46,75,167,1);
	font-size:1.6em;
	font-weight:normal;
	line-height:1.6em;
	text-align:center;
}
.signHeader h3 span {
	display:inline-block;
}
.signHeader h3 span.marker {
	font-size:1.6em;
	margin:0 5px;
	padding:10px 5px;
	position:relative;
}
.signHeader h3 span.marker::before {
	content: "";
    position: absolute;
    bottom: 7px;
    left: 0;
	z-index:-1;
    width: 100%;
    height: 15px;
    background-color: rgba(240,231,2,1);
}
.signHeader p {
	font-size:1.4em;
	line-height:1.6em;
	text-align:center;
}
.sign {
	text-align:center;
}
.sign img {
	width:100%;
	max-width:480px;
	height:auto;
}
.sign p {
	font-size:1.4em;
	line-height:1.6em;
}
