@charset "UTF-8";
/*------------------------
page-ttl
------------------------*/
.page-ttl {
	background: url(/pc/img/pagettl/ttl_about.jpg) no-repeat 100%/cover fixed;
}
/*------------------------
ローカルナビ
------------------------*/
.top-info {
	background: #fff;
	padding-top: 100px;
	border-radius: 32px 32px 0 0;
	margin-top: -32px;
	position: relative;
	z-index: 1;
}
.top-info .btn-area {
	width: 1200px;
	margin: 0 auto 60px;
	gap: 20px;
	position: relative;
	z-index: 1;
}
.top-info .btn-area .s-btn {
	width: 100%;
}
.top-info .btn-area .s-btn a {
	display: block;
	padding: 5px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	overflow: hidden;
	position: relative;
}
.top-info .btn-area .s-btn a::before {
	content: '';
	position: absolute;
	inset: 0;
	transition: filter .4s ease, transform .4s ease;
	z-index: 0;
}
.top-info .btn-area .company a::before {
	background: url(/pc/img/company/btn_company.jpg) no-repeat 100%/cover;
}
.top-info .btn-area .idea a::before {
	background: url(/pc/img/company/btn_idea.jpg) no-repeat 100%/cover;
}
.top-info .btn-area .about a::before {
	background: url(/pc/img/company/btn_about.jpg) no-repeat 100%/cover;
}
.top-info .btn-area .staff a::before {
	background: url(/pc/img/company/btn_staff.jpg) no-repeat 100%/cover;
}
.top-info .btn-area .s-btn a:hover::before {
	filter: blur(3px);
	transform: scale(1.05);
}
.top-info .btn-area .s-btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 21px;
	width: 16px;
	height: 16px;
	background-color: #fff;
	mask: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2018%2012%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M1%206H17M11%201L17%206L11%2011%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2018%2012%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M1%206H17M11%201L17%206L11%2011%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E") center / contain no-repeat;
	transform: translateY(-50%);
	transition: background-color 0.3s ease;
	z-index: 1;
}
.top-info .btn-area .s-btn a span {
	display: block;
	padding: 30px 20px;
	background: rgba(0,121,64,.8);
	border: 1px solid #fff;
	position: relative;
	z-index: 1;
}
@media screen and (max-width:1240px) {
	.top-info .btn-area {
		width: 1160px;
	}
}
/*------------------------
会社概要
------------------------*/
.outline {
	background: url(/pc/img/common/bg_pat.png);
	padding: 100px 0 132px;
}
.outline table {
	border-top: 1px solid #e9edec;
}
.outline table tr {
	border-bottom: 1px solid #e9edec;
}
.outline table tr th {
	width: 300px;
	background: #f4f9f7;
	padding: 20px;
	font-weight: 500;
	line-height: 1;
}
.outline table tr td {
	background: #fff;
	padding: 20px;
}
.outline table tr td a {
	overflow-wrap: anywhere;
	text-decoration: underline;
}
.outline table tr td a:hover {
	opacity: .7;
}
.outline table tr td .map {
	display: inline-block;
	margin-left: 10px;
}
.outline table tr td .map a {
	text-decoration: none;
	display: inline-block;
	background: var(--btncolor);
	padding: 6px 10px;
	border-radius: 50vw;
	font-size: 1.4rem;
	color: #fff;
	line-height: 1;
}
.outline table tr td ul li {
	display: flex;
}
.outline table tr td ul li:before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	background: var(--txtcolor);
	margin: 10px 10px 0 0;
}
.outline table tr td ul li span {
	flex: 1;
}
/*------------------------
代表挨拶
------------------------*/
.message .txt-area {
	flex: 1;
}
.message .txt-area .txt {
	font-size: 2.1rem;
	line-height: 1.71;
}
.message .txt-area .txt p {
	margin-bottom: 20px;
}
.message .txt-area .txt p:last-of-type {
	margin-bottom: 50px;
}
.message .txt-area .txt .name {
	display: block;
	line-height: 1;
}
.message .txt-area .txt .name span {
	display: inline-block;
	padding-left: 15px;
	font-size: 2.6rem;
	font-weight: bold;
}
.message .img {
	width: 460px;
	height: auto;
	margin-left: 40px;
}
/*------------------------
沿革
------------------------*/
.history {
	background: var(--bgcolor);
	padding: 100px 0 132px;
	border-radius: 32px 32px 0 0;
	margin-top: -32px;
	position: relative;
	z-index: 1;
}
.history table tr th {
	width: 120px;
	padding: 20px 0;
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1.3;
	border-right: 1px solid var(--mygreen);
	vertical-align: top;
	position: relative;
}
.history table tr th::after {
	content: '';
	position: absolute;
	right: -5px;
	top: 26px;
	width: 10px;
	height: 10px;
	background: var(--mygreen);
	border-radius: 50vw;
}
.history table tr td {
	padding: 20px 0 20px 50px;
	font-size: 2.1rem;
	line-height: 1.3;
}
.history table tr td .img {
	display: block;
	width: 20%;
	margin-top: 15px;
}
/*------------------------
アクセス
------------------------*/
.access {
	background:#fff;
	border-radius: 32px 32px 0 0;
	margin-top: -32px;
	position: relative;
	z-index: 1;
}
.access .location {
	margin-bottom: 30px;
}
.access .location h3 {
	display: flex;
	align-items: center;
	font-size: 2.3rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 15px;
}
.access .location h3::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50vw;
	background: var(--mygreen);
	margin-right: 8px;
}
.access .location .tel {
	line-height: 1;
	margin-bottom: 20px;
}
.access .location .tel .no {
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 6px;
}
.access .location .tel .no .head {
	font-size: 2.1rem;
}
.access .location .tel .head {
	display: inline-block;
	margin-right: 10px;
}
.access .location p {
	font-size: 2.1rem;
	line-height: 1.57;
}
.access .img-area {
	gap: 36px;
	margin-bottom: 60px;
}
.access .img-area .item {
	width: 100%;
}
.access .img-area .item .img {
	margin-bottom: 15px;
}
.access .img-area .item .img img {
	width: 100%;
	height: 293px;
	object-fit: cover;
}
.access .img-area .item .head {
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 6px;
}
.access .img-area .item p {
	text-align: justify;
	line-height: 1.2;
}
.access .map {
	margin-bottom: 50px;
}
.access .btn {
	width: 1200px;
	margin: auto;
}
.access .btn a {
	width: 300px;
	position: relative;
}
@media screen and (max-width:1300px)  {
	.access .btn {
		width: 1160px;
	}
}
/*------------------------
お問い合わせ
------------------------*/
.contact-area {
	background: url(/pc/img/common/bg_pat2.jpg);
	padding: 80px 0;
	border-radius: 26px;
	margin: 0 30px 50px;
}
.contact-area .inner {
	width: 1200px;
	margin: auto;
	align-items: center;
	position: relative;
}
.contact-area .inner h2 {
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1;
	margin-right: 50px;
}
.contact-area .inner .mail {
	width: 300px;
	position: relative;
}
.contact-area .inner .mail a {
	display: block;
	background: #fff;
	padding: 20px 20px 20px 56px;
	border-radius: 50vw;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
}
.contact-area .inner .mail a:hover {
	color: var(--mygreen);
}
.contact-area .inner .mail a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 10px;
	width: 38px;
	height: 38px;
	background: var(--mygreen);
	border-radius: 50vw;
	transform: translateY(-50%);
	transition: all .3s ease 0s;
}
.contact-area .inner .mail a:hover::before {
	background: var(--btncolor);
}
.contact-area .inner .mail a::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 19px;
	width: 20px;
	height: 16px;
	background: url(/pc/img/common/icn_mail-w.svg) no-repeat 100%/contain;
	transform: translateY(-50%);
}
.contact-area .inner .img {
	position: absolute;
	bottom: -80px;
	right: 0;
	width: 184px;
}
@media screen and (max-width:1300px) {
	.contact-area {
		padding: 80px 20px;
	}
	.contact-area .inner {
		width: 100%;
	}
	.contact-area .inner .img {
		right: -28px;
		width: 136px;
	}
}