@import"https://fonts.googleapis.com/css?family=Barlow+Semi+Condensed:400,700";
@charset "utf-8";

/* ===================================================================
CSS information
 file name  :  company_message.css
 style info :  会社概要
=================================================================== */

.mv {
	width: 100%;
	position: relative;
}

.mv img.mv {
	width: 100%;
	min-height: 300px;
	height: 100%;
	object-fit: cover;
}

.mv .box {
	position: absolute;
	text-align: right;
	top: 50%;
	right: 110px;
	transform: translate(0, -50%);
	color: #242424;
}

.mv h2 {}

.mv h2 .main {
	font-size: 100px;
	font-weight: 700;
	font-family: Barlow Semi Condensed,
		Noto Sans Japanese;
	letter-spacing: 6.4px;
	letter-spacing: .4rem;
	line-height: 1;
	display: block;
	margin: -40px 0 0;
}

.mv h2 .sub {
	display: block;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.3em;
	letter-spacing: .1em;
	font-size: 25px;
	font-weight: bold;
	margin: 0;
}

.mv .name {
	margin: 50px 0 0;
	font-size: 25px;
	font-weight: bold;
}

.mv .name img {}

.fv {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 20px;
	height: 500px;
	min-height: 500px;
	background: url("../images/company/message/bg_fv.jpg") right top no-repeat;
	background-size: contain;
	max-width: 1000px;
	margin: 0 auto;
}

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

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

.fv .main_typo .ttl {
	color: #4c4c4c;
	margin-bottom: 15px;
}

.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;
}

.fv .main_typo p {
	font-size: 18px;
}

.fv .main_typo p span {
	font-size: 22px;
	margin: 0 15px;
}

.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;
}

.sec1,
.sec2,
.sec3 {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
}

.sec1 {
	margin: 50px auto 0;
}

.sec1 .photo img,
.sec2 .photo img,
.sec3 .photo img {
	width: 100%;
}

.sec .photo {
	z-index: 0;
}

.sec .comment {
	position: relative;
	margin-top: -140px;
	padding: 70px 30px 50px;
	background: rgba(23, 171, 232, 0.8);
	color: #fff;
	z-index: 100;
}

.sec.sec1 .comment {
	margin-top: 0;
}

.sec .comment .lead {
	position: relative;
	padding: 30px 50px 0 90px;
	font-size: 25px;
	letter-spacing: 0.1em;
	text-align: left;
}

.sec .comment .lead::before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 50px;
	top: 0px;
	width: 70px;
	height: 70px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
}

.sec .comment .txt {
	margin-top: 30px;
	padding-left: 50px;
	padding-right: 50px;
	font-size: 18px;
	text-align: left;
}

.sec .comment .txt p {
	margin-top: 1em;
	font-size: 16px;
}

.sec .comment .txt p:first-child {
	margin-top: 0;
}

.sec .comment .sign {
	margin-top: 50px;
	padding-left: 60px;
	padding-right: 50px;
	text-align: right;
}

.sec .comment .sign small {
	display: block;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.sec .comment .sign img {
	margin-top: 10px;
	width: 180px;
}

.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);
}

.for_pc {
	display: block;
}

.for_pc.inline {
	display: inline;
}

.for_pc.inline-b {
	display: inline-block;
}

.for_mb {
	display: none;
}

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

/* BreakPoint 1100px
=============================================================*/
@media only screen and (max-width: 1100px) {
	.mv h2 .main {
		font-size: 80px;
		margin: -25px 0 0;
	}

	.mv .name {
		margin: 20px 0 0;
	}

	.fv {
		height: 500px;
	}

	.sec1 {
		margin-top: 0;
	}
}

/* BreakPoint 639px
=============================================================*/
@media only screen and (max-width: 639px) {
	main {
		padding: 55px 0 0;
	}

	.mv {
		background: #000;
	}

	.mv .box {
		right: 5vw;
		color: #fff;
		fill: #fff;
	}

	.mv .mv_img img {
		height: 165px;
		object-fit: cover;
		opacity: .75;
		width: 100%;
	}

	.mv h2 .main {
		font-size: 36px;
		margin: 00 0;
	}

	.mv h2 .sub {
		font-size: 14px;
	}

	.mv .name {
		margin: 20px 0 0;
		font-size: 14px;
	}

	.mv h3 img {
		width: 135px;
	}

	.fv {
		padding: 0;
		height: 300px;
		min-height: auto;
	}

	.fv .main_typo {
		padding: 25px 10px;
		width: 70%;
		margin: 10px 10% 0;
	}

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

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

	.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;
	}

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

	.fv .main_typo p span {
		font-size: 19px;
	}

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

	.sec .comment {
		margin-top: -50px;
		padding: 30px 10px 20px;
	}

	.sec .comment .lead {
		padding: 15px 0 0 20px;
		font-size: 22px;
	}

	.sec .comment .lead::before {
		left: 0;
		top: 0;
		width: 50px;
		height: 50px;
	}

	.sec .comment .txt {
		margin-top: 15px;
		padding-left: 0;
		padding-right: 0;
		font-size: 14px;
	}

	.sec .comment .txt p {
		font-size: 14px;
	}

	.sec .comment .sign {
		margin-top: 20px;
		padding-left: 5px;
		padding-right: 5px;
	}

	.sec .comment .sign small {
		font-size: 13px;
	}

	.sec .comment .sign img {
		margin-top: 5px;
		width: 150px;
	}

	.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;
	}

	.for_pc {
		display: none;
	}

	.for_pc.inline {
		display: none;
	}

	.for_pc.inline-b {
		display: none;
	}

	.for_mb {
		display: block;
	}

	.for_mb.inline {
		display: inline;
	}

	.for_mb.inline-b {
		display: inline-block;
	}
}