@charset "utf-8";

/* ===================================================================
CSS information
 file name  :  company_profile.css
 style info :  会社概要
=================================================================== */
.fv {
	/*padding-top: 20px;*/
	/*height: calc(100vh - 106px);*/
	/*min-height: 500px;*/
	/*background: url("../images/company/profile/bg_fv.jpg") center bottom no-repeat;*/
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url("../images/company/profile/bg_fv.jpg");
	background-size: cover;
	background-position: 50% 100%;
	position: relative;
	padding: 2.3rem 0;
}

.fv .container {
	margin: 0 auto;
	width: 100%;
	max-width: 700px;
}

.fv .main_typo {
	/*margin: 10px auto 0;*/
	max-width: 600px;
	margin: 0 auto 0;
	background: rgba(255, 255, 255, 0.9);
	/*padding: 60px 45px;*/
	padding: 5px 45px;
}

.fv .main_typo .ttl {
	color: #4c4c4c;
}

.fv .main_typo .ttl em {
	display: block;
	position: relative;
	font-size: 36px;
	font-style: normal;
	letter-spacing: 0.1em;
}

.fv .main_typo .ttl em::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -5px;
	left: 50%;
	margin-left: -20px;
	width: 40px;
	border-bottom: 2px solid #4c4c4c;
}

.fv .main_typo .ttl small {
	display: block;
	margin-top: 20px;
	font-size: 18px;
	letter-spacing: 0.1em;
}

.sec .ttl {
	position: relative;
	margin: 50px auto 0;
	padding-top: 15px;
	padding-bottom: 10px;
	width: 100%;
	max-width: 1000px;
	color: #17abe8;
}

.sec .ttl::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -20px;
	width: 40px;
	border-bottom: 1px solid #17abe8;
}

.sec .ttl em {
	display: block;
	font-size: 36px;
	font-style: normal;
	line-height: 1.2;
}

.sec .ttl small {
	display: block;
	font-size: 16px;
}

.sec .desc {
	margin-top: 40px;
	font-size: 16px;
	color: #333;
	line-height: 2.4;
}

.sec.profile p {
	margin: 10px auto 0;
	width: 100%;
	max-width: 1000px;
}

.profile .list {
	margin: 20px auto 0;
	width: 100%;
	max-width: 1000px;
	table-layout: fixed;
}

.profile .list th,
.profile .list td {
	padding: 20px 30px;
	border: 1px solid #adadad;
}

.profile .list th {
	width: 30%;
	background: #f0efef;
	color: #070707;
	font-weight: bold;
	text-align: left;
	vertical-align: middle;
}

.profile .list td {
	width: 70%;
	color: #333;
	text-align: left;
}

.system .list {
	display: flex;
	margin: 20px auto 0;
	width: 100%;
	max-width: 1000px;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

.system .item {
	display: block;
	margin-bottom: 20px;
	padding-bottom: 20px;
	flex: 0 1 32%;
	max-width: 320px;
	box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
}

.system .item img {
	max-width: 100%;
	width: 100%;
}

.system .item .copy {
	margin-top: 15px;
	padding: 0 10px;
	color: #070707;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
}

.system .item .desc {
	margin-top: 15px;
	padding: 0 10px;
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}

.history .list {
	margin: 20px auto 0;
	width: 100%;
	max-width: 1000px;
}

.history .item {
	display: flex;
	padding: 20px;
	width: 100%;
	border-top: 1px solid #adadad;
	font-size: 16px;
}

.history .item:last-child {
	border-bottom: 1px solid #adadad;
}

.history .item .date {
	flex: 0 1 25%;
	text-align: left;
}

.history .date .year {
	display: inline-block;
	margin-right: 2em;
	color: #17abe8;
}

.history .date .month {
	display: inline-block;
	width: 4em;
	color: #004282;
	text-align: right;
}

.history .item .detail {
	flex: 0 1 75%;
	color: #333;
	text-align: left;
}

.history .item .detail strong {
	color: #070707;
	font-weight: bold;
}

.access .list {
	display: flex;
	margin: 20px auto 0;
	width: 100%;
	max-width: 1000px;
	padding: 20px;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	background: #fafafa;
}

.access .item {
	display: block;
	margin-bottom: 20px;
	padding-bottom: 20px;
	flex: 0 1 45%;
	max-width: 480px;
}

.access .item .name {
	color: #000;
	text-align: left;
}

.access .item .name::before {
	content: "■";
}

.access .item .address {
	color: #333;
	text-align: left;
}

.access .item .tmb {
	margin-top: 10px;
	height: 310px;
	background: #eee;
}

.access .item .tmb img {
	height: 100%;
}

.access .item .map {
	position: relative;
	margin-top: 10px;
	padding-top: 54.62%;
}

.access .item .map iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.subTitle{
	margin: 20px auto 0;
	width: 100%;
	max-width: 1000px;
	text-align: left;
	font-size: 18px;
}

.news {
	padding: 0;
}

.news .ttl {
	padding-top: 20px;
	padding-bottom: 20px;
	background: #f0efef;
}

.news .ttl::after {
	content: none;
}

.news .ttl small {
	color: #4c4c4c;
}

.news .list {
	margin: 20px auto 0;
	width: 100%;
	max-width: 1000px;
}

.news .list .item {
	border-top: 1px solid #e1e1e1;
}

.news .list .item:last-child {
	border-bottom: 1px solid #e1e1e1;
}

.news .item a {
	position: relative;
	display: block;
	padding: 15px;
	text-align: left;
}

.news .item a::after {
	content: "";
	position: absolute;
	display: inline-block;
	right: 20px;
	top: 50%;
	margin-top: -7px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #17abe8;
	border-right: 2px solid #17abe8;
	transform: rotate(45deg);
}

.news .item .date {
	color: #333;
	font-weight: bold;
}

.news .item .headline {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.news .item .icon {
	display: inline-block;
	width: 100px;
	background: #17abe8;
	color: #fff;
	font-size: 12px;
	letter-spacing: 0.2em;
	text-align: center;
	vertical-align: middle;
}

.news .item .icon.cat_media {
	background: #c50019;
}

.news .item .txt {
	color: #070707;
	font-weight: bold;
}

.news .more {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
	border-bottom: 1px solid #e1e1e1;
	text-align: right;
}

.news .more a {
	position: relative;
	display: inline-block;
	padding: 15px 20px;
	color: #17abe8;
	font-weight: bold;
}

.news .more a::after {
	content: "";
	display: inline-block;
	margin-left: 10px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #17abe8;
	border-right: 2px solid #17abe8;
	transform: rotate(45deg);
}

.page_top.displaynone {
	display: none !important;
}

/* BreakPoint 1100px
=============================================================*/
@media only screen and (max-width: 1100px) {
	.fv {
		/*height: 500px;*/
		padding: 0;
		height: 180px;
		min-height: auto;
	}

	.profile .list {
		width: 96%;
	}

	.system .list {
		width: 96%;
	}

	.system .item {
		flex: 0 1 48%;
		max-width: none;
	}

	.history .list {
		width: 96%;
	}

	.access .item {
		flex: 0 1 48%;
	}

	.access .item .tmb img {
		width: 100%;
	}
}

/* BreakPoint 639px
=============================================================*/
@media only screen and (max-width: 639px) {
	.fv {
		padding: 0;
		/*height: 300px;*/
		height: 180px;
		min-height: auto;
	}

	.fv .main_typo {
		/*padding: 25px;*/
		padding: 3px 15px;
		width: 70%;
	}

	.fv .main_typo .ttl em {
		font-size: 30px;
	}

	.fv .main_typo .ttl small {
		font-size: 13px;
	}

	.sec .ttl {
		margin: 20px auto 0;
		padding-bottom: 5px;
	}

	.sec .ttl::after {
		margin-right: -15px;
		width: 30px;
	}

	.sec .ttl em {
		font-size: 20px;
	}

	.sec .ttl small {
		font-size: 14px;
	}

	.sec .desc {
		margin-top: 25px;
		font-size: 14px;
	}

	.profile .list {
		width: calc(100% - 20px);
		border: none;
	}

	.profile .list tr {
		border: none;
	}

	.profile .list th,
	.profile .list td {
		padding: 5px;
		font-size: 12px;
	}

	.system .item {
		box-shadow: none;
	}

	.system .item:nth-of-type(n + 2) {
		margin-bottom: 0;
	}

	.system .item .copy {
		font-size: 14px;
	}

	.system .item .desc {
		font-size: 12px;
		text-align: justify;
	}

	.history .list {
		width: 100%;
	}

	.history .item {
		padding: 15px;
	}

	.history .item .date {
		flex: 0 1 30%;
		width: 30%;
	}

	.history .item .date span {
		font-size: 13px;
	}

	.history .date .year {
		margin-right: 0;
	}

	.history .date .month {
		width: 3em;
	}

	.history .item .detail {
		flex: 0 1 70%;
		width: 70%;
		font-size: 12px;
	}

	.history .item .detail strong {
		font-size: 13px;
	}

	.access .list {
		padding: 10px;
	}

	.access .item .name {
		font-size: 13px;
	}

	.access .item .address {
		font-size: 12px;
	}

	.news .item .date {
		font-size: 14px;
		font-weight: normal;
	}

	.news .item .headline {
		margin-right: 16px;
	}

	.news .item .icon {
		font-size: 10px;
	}

	.news .item .txt {
		font-size: 14px;
		font-weight: normal;
		vertical-align: middle;
	}

	.news .more a {
		padding: 10px 20px;
	}

	.news .more a span {
		font-size: 14px;
	}

	.access .item .map {
		display: none;
	}
	.access .item .tmb {
		height: 127px!important;
	}
	.access .item .tmb img {
		width: auto!important;
	}

	.subTitle{
		text-align: center;
	}

}