@charset "UTF-8";
/*------------------------
page-ttl
------------------------*/
.page-ttl {
	padding: 20px 0 254px;
	background: url(/pc/img/pagettl/ttl_company.jpg) no-repeat 100%/cover fixed;
}
.page-ttl .ttl {
	margin-bottom: 130px;
}
/*------------------------
企業理念
------------------------*/
.philosophy h2 {
	font-size: 8rem;
	font-weight: bold;
	line-height: 1;
	text-shadow:
	/* 全体 */
	0 0 8px rgba(255, 255, 255, .7),
	/* 下方向 */
	0 5px 8px rgba(255, 255, 255, .7),
	/* 右方向 */
	5px 0 8px rgba(255, 255, 255, .7),
	/* 上方向 */
	0 -5px 8px rgba(255, 255, 255, .7),
	/* 左方向 */
	-5px 0 8px rgba(255, 255, 255, .7);
	margin-bottom: 30px;
}
.philosophy .txt {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.67;
	-webkit-text-stroke: 2px #fff;
	text-stroke: 2px #fff;
	paint-order: stroke;
	text-shadow:
	/* 全体 */
	0 0 8px rgba(255, 255, 255, .7),
	/* 下方向 */
	0 5px 8px rgba(255, 255, 255, .7),
	/* 右方向 */
	5px 0 8px rgba(255, 255, 255, .7),
	/* 上方向 */
	0 -5px 8px rgba(255, 255, 255, .7),
	/* 左方向 */
	-5px 0 8px rgba(255, 255, 255, .7);
	margin-bottom: 60px;
}
.philosophy .txt p {
	margin-bottom: 15px;
}
.philosophy .btn-area {
	gap: 30px;
	position: relative;
	z-index: 1;
}
.philosophy .btn-area .s-btn {
	width: 100%;
	text-align: center;
}
.philosophy .btn-area .s-btn a {
	display: block;
	padding: 10px;
	font-size: 2.1rem;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	overflow: hidden;
	position: relative;
}
.philosophy .btn-area .s-btn a::before {
	content: '';
	position: absolute;
	inset: 0;
	transition: filter .4s ease, transform .4s ease;
	z-index: 0;
}
.philosophy .btn-area .idea a::before {
	background: url(/pc/img/index/btn_advisory.jpg) no-repeat 100%/cover;
}
.philosophy .btn-area .about a::before {
	background: url(/pc/img/index/btn_management.jpg) no-repeat 100%/cover;
}
.philosophy .btn-area .staff a::before {
	background: url(/pc/img/index/btn_intermediary.jpg) no-repeat 100%/cover;
}
.philosophy .btn-area .s-btn a:hover::before {
	filter: blur(3px);
	transform: scale(1.05);
}
.philosophy .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;
}
.philosophy .btn-area .s-btn a span {
	display: block;
	padding: 80px 0;
	background: rgba(0,121,64,.8);
	border: 1px solid #fff;
	position: relative;
	z-index: 1;
}
/*------------------------
わたしたちの役割
------------------------*/
.role {
	background: var(--bgcolor);
	padding: 100px 0 132px;
	border-radius: 32px 32px 0 0;
	margin-top: -32px;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.role::before {
	content: '';
	position: absolute;
	right: -1.302vw;
	bottom: -1.042vw;
	width: max(900px,62.5vw);
	height: max(400px,30.938vw);
	background: url(/pc/img/service/img_service.png) no-repeat 100%/contain;
	opacity: .08;
}
.role .txt {
	font-size: 2.1rem;
	line-height: 1.71;
	position: relative;
}
.role .txt p {
	margin-bottom: 20px;
}
/*------------------------
ロゴにこめた想い
------------------------*/
.meaning {
	background: #fff;
	border-radius: 32px 32px 0 0;
	margin-top: -32px;
	position: relative;
	z-index: 1;
}
.meaning .txt {
	font-size: 2.1rem;
	line-height: 1.71;
}
.meaning .txt p {
	margin-bottom: 20px;
}
.meaning .logo {
	width: 480px;
	height: 400px;
}
.meaning .logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
/*------------------------
行動指針
------------------------*/
.guidelines {
	background: url(/pc/img/common/bg_pat.png),url(/pc/img/results/img_drone.jpg) no-repeat 100%/cover;
	background-position: top 43px right 0;
	margin-bottom: 60px;
}
.guidelines .txt {
	font-size: 2.1rem;
	line-height: 1.71;
	margin-bottom: 50px;
}
.guidelines .txt p {
	margin-bottom: 20px;
}
.guidelines .pledge {
	background: var(--bgcolor);
	padding: 40px 40px 24px;
	border-radius: 16px;
}
.guidelines .pledge h3 {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 20px;
}
.guidelines .pledge ul li {
	font-size: 2.1rem;
	line-height: 1;
	margin-bottom: 16px;
}
.guidelines .pledge ul li .num {
	margin-right: 6px;
}
.guidelines .pledge ul li span:not(.num) {
	flex: 1;
}
/*------------------------
お問い合わせ
------------------------*/
.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;
	}
}