@charset "UTF-8";
/*------------------------
page-ttl
------------------------*/
.page-ttl {
	background: url(/pc/img/pagettl/ttl_idea.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;
	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;
	}
}
/*------------------------
メッセージ
------------------------*/
.message .messagetxt {
	margin-bottom: 10px;
}
.message .messagetxt p {
	font-size: 2.1rem;
	line-height: 1.71;
	margin-bottom: 40px;
}
/*取組実績*/
.message .inner .item-list {
	flex-wrap: wrap;
	gap: 30px;
	align-items: stretch;
	margin-bottom: 50px;
}
.message .item-list .item {
	width: calc(50% - 15px);
	height: auto;
}
.message .item-list .item a {
	display: block;
	height: 100%;
	padding: 30px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 1px 1px 16px 0px rgba(0, 0, 0, .05);
	position: relative;
}
.message .item-list .item .img {
	height: 350px;
	overflow: hidden;
	border-radius: 12px;
	margin-bottom: 20px;
}
.message .item-list .item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease 0s;
}
.message .item-list .item a:hover .img img {
	transform: scale(1.05, 1.05);
}
.message .item-list .item h2 {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 10px;
}
.message .item-list .item .wrap-area {
	margin-bottom: 10px;
}
.message .item-list .item .cat-area {
	margin-left: 10px;
}
.message .item-list .item .cat-area .cat {
	background: var(--mygray);
	padding: 7px 10px;
	border-radius: 6px;
	font-size: 1.5rem;
	color: #fff;
	line-height: 1;
	margin: 0 2px 2px 0;
}
.message .item-list .item .wrap {
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.1;
	margin-top: 5px;
}
.message .item-list .item p {
	font-size: 1.8rem;
	text-align: justify;
}
@media screen and (max-width:1300px) {
	.message .item-list {
		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;
	}
}