@charset "UTF-8";
/*------------------------
mv
------------------------*/
.mv {
	height: 46vw;
	min-height: 660px;
	position: relative;
	overflow: hidden;
	margin-bottom: 40px;
}
.mv h1 {
	width: clamp(90px,6.771vw,130px);
	margin: clamp(20px,2.083vw,40px) 0 0 clamp(80px,5.729vw,110px);
}
.mv .logo {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: clamp(190px,11.979vw,230px);
}
.mv .img_mv01 {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: clamp(-106px,-5.521vw,-110px);
	width: clamp(560px,43.229vw,830px);
	height: clamp(560px,32.292vw,620px);
}
.mv .img_mv02 {
	position: absolute;
	top: clamp(214px,11.146vw,200px);
	left: clamp(230px,16.979vw,326px);
	width: clamp(240px,21.354vw,410px);
	height: clamp(190px,17.708vw,340px);
	z-index: 1;
}
.mv .img_mv03 {
	position: absolute;
	top: clamp(390px,27.24vw,523px);
	left: 30px;
	width: clamp(380px,24.479vw,470px);
	height: clamp(260px,17.708vw,340px);
}
.mv .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 22px;
}
/* スクロール */
.mv .scroll {
	position: absolute;
	right: 30px;
	bottom: clamp(10px,1.302vw,25px);
	padding: 10px 10px 0 2px;
	background: #fff;
	font-size: 1.5rem;
	line-height: 2;
	writing-mode: vertical-rl;
	transition: all 0.3s ease 0s;
}
.mv .scroll::before {
	content: '';
	width: 1px;
	height: 172px;
	background: var(--txtcolor);
	display: block;
	transform: scaleY(0);
	transform-origin: top center;
	animation: scrollBar 2.6s ease-in-out infinite;
}
@keyframes scrollBar {
	0% {
		transform: scaleY(0);
		opacity: 0;
	}
	20% {
		opacity: 1;
	}
	70% {
		transform: scaleY(1);
		opacity: 1;
	}
	100% {
		transform: scaleY(1);
		opacity: 0;
	}
}
/*------------------------
news
------------------------*/
.news .inner {
	width: 1200px;
	margin: 0 auto 40px;
	align-items: center;
	position: relative;
}
.news .inner .ttl {
	padding-right: 40px;
	border-right: 2px solid var(--txtcolor);
	margin-right: 30px;
}
.news .inner .ttl h2 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 2px;
}
.news .inner .ttl .en {
	display: block;
	font-size: 1.7rem;
	font-weight: bold;
	color: var(--mygray);
	line-height: 1;
}
.news-swiper {
	height: 25px;
	overflow: hidden;
	flex: 1;
}
.news-swiper .swiper-slide a:hover {
	color: var(--mygreen);
}
.news-swiper .swiper-slide .date {
	display: block;
	padding-right: 20px;
}
.news-swiper .swiper-slide h3 {
	width: 610px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.news .btn {
	width: 180px;
}
.news .btn a {
	padding: 12px 20px;
	font-size: 1.6rem;
}
.news .btn a::before {
	width: 24px;
	height: 24px;
}
.news .btn a::after {
	right: 15px;
	width: 14px;
	height: 11px;
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
	left: auto;
	right: 250px;
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	right: 210px;
}
.swiper-button-next, .swiper-button-prev {
	width: 40px;
	height: 40px;
	border-top: 1px solid var(--txtcolor);
	border-bottom: 1px solid var(--txtcolor);
	color: var(--mygray);
}
.swiper-button-prev {
	border-left: 1px solid var(--txtcolor);
	border-right: 1px dotted var(--txtcolor);
}
.swiper-button-next {
	border-right: 1px solid var(--txtcolor);
}
.swiper-button-next:after, .swiper-button-prev:after {
	font-size: 10px;
	font-weight: bold;
}
@media screen and (max-width:1240px) {
	.news .inner {
		width: 1160px;
	}
	.news-swiper .swiper-slide h3 {
		width: 580px;
	}
}
/*------------------------
コンセプト
------------------------*/
.concept {
	background: var(--bgcolor);
	padding-bottom: 100px;
}
.concept .ttl {
	background: url(/pc/img/index/bg_concept-ttl.jpg) no-repeat 100%/cover;
	background-position: top center;
	padding: 70px 0 60px;
	text-align: center;
}
.concept .ttl .sub {
	display: block;
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: 20px;
}
.concept .ttl h2 {
	font-size: 6rem;
	font-weight: bold;
	letter-spacing: .025em;
	line-height: 1.22;
}
.concept .ttl h2 span {
	color: var(--mygreen);
}
.concept .img {
	margin: 0 30px 60px;
}
.concept .img img {
	width: 100%;
	height: auto;
	border-radius: 26px;
}
.concept p {
	width: 1000px;
	margin: 0 auto;
	font-size: 2.4rem;
	text-align: center;
}
/*------------------------
事業案内
------------------------*/
.service {
	background: url(/pc/img/common/bg_pat.png);
	position: relative;
	overflow: hidden;
	padding: 100px 0 132px;
}
.service .txt {
	width: 600px;
	font-size: 2.1rem;
	margin-bottom: 40px;
}
.service .btn {
	margin-bottom: 50px;
}
.service .btn-area {
	gap: 30px;
	position: relative;
	z-index: 1;
}
.service .btn-area .s-btn {
	width: 100%;
	text-align: center;
}
.service .btn-area .s-btn a {
	display: block;
	padding: 10px;
	font-size: 2.6rem;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	overflow: hidden;
	position: relative;
}
.service .btn-area .s-btn a::before {
	content: '';
	position: absolute;
	inset: 0;
	transition: filter .4s ease, transform .4s ease;
	z-index: 0;
}
.service .btn-area .advisory a::before {
	background: url(/pc/img/index/btn_advisory.jpg) no-repeat 100%/cover;
}
.service .btn-area .management a::before {
	background: url(/pc/img/index/btn_management.jpg) no-repeat 100%/cover;
}
.service .btn-area .intermediary a::before {
	background: url(/pc/img/index/btn_intermediary.jpg) no-repeat 100%/cover;
}
.service .btn-area .s-btn a:hover::before {
	filter: blur(3px);
	transform: scale(1.05);
}
.service .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;
}
.service .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;
}
.service .img {
	position: absolute;
	top: 80px;
	right: clamp(-80px,-6.25vw,-120px);
	width: clamp(670px,52.083vw,1030px);
}
.service .img img {
	filter: drop-shadow(1px 1px 30px rgba(0,0,0,.1));
}
/*------------------------
取組実績
------------------------*/
.results {
	background: var(--bgcolor);
	border-radius: 32px 32px 0 0;
	margin: -32px 0 50px;
	position: relative;
	z-index: 1;
}
.results .pick {
	gap: 30px;
	align-items: stretch;
	margin-bottom: 30px;
}
.results .pick .item {
	width: min(380px,100%);
	height: auto;
	background: #fff;
	border-radius: 10px;
	box-shadow: 1px 1px 16px 0px rgba(0, 0, 0, .05);
}
.results .pick .item .img {
	height: 250px;
	border-radius: 10px 10px 0 0;
	overflow: hidden;
}
.results .pick .item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease 0s;
}
.results .pick .item a:hover .img img {
	transform: scale(1.05, 1.05);
}
.results .pick .item .txt {
	padding: 20px;
}
.results .pick .item .txt .wrap {
	line-height: 1;
	margin-bottom: 8px;
}
.results .wrap .date {
	margin: 6px 10px 0 0;
}
.results .wrap .cat-area {
	flex-wrap: wrap;
	flex: 1;
}
.results .pick .item .txt .wrap .cat-area .cat {
	background: var(--mygray);
	padding: 7px 10px;
	border-radius: 6px;
	font-size: 1.5rem;
	color: #fff;
	margin: 0 2px 2px 0;
}
.results h3 {
	flex: 1;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.3;
	transition: all .3s ease 0s;
}
.results a:hover h3 {
	color: var(--mygreen);
}
.results ul {
	margin-bottom: 50px;
}
.results ul li {
	margin-bottom: 10px;
}
.results ul li a {
	padding: 20px;
	background: #fff;
	border-radius: 10px;
}
.results ul li a .wrap {
	line-height: 1;
	margin-right: 30px;
}
.results ul li a .wrap .cat-area .cat {
	background: var(--mygray);
	padding: 7px 10px;
	border-radius: 6px;
	font-size: 1.5rem;
	color: #fff;
	margin-right: 2px;
}
/*------------------------
番町麹町情報
------------------------*/
.marketnews {
	background: url(/pc/img/common/bg_pat2.jpg);
	padding: 80px 0;
	border-radius: 26px;
	margin-inline: 30px;
	position: relative;
}
.marketnews .post {
	width: 530px;
	margin-left: 30px;
}
.marketnews .post a {
	display: block;
	background: #fff;
	padding: 30px;
	border-radius: 14px;
}
.marketnews .post a:hover {
	transform: translateY(2px);
}
.marketnews .post h3 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 10px;
	transition: all .3s ease 0s;
}
.marketnews .post a:hover h3 {
	color: var(--mygreen);
}
.marketnews .post .txt {
	flex: 1;
	font-size: 1.8rem;
	text-align: justify;
	margin-right: 25px;
}
.marketnews .post .img {
	width: 158px;
	height: auto;
}
@media screen and (max-width:1300px) {
	.marketnews {
		padding: 80px 20px;
	}
	.marketnews .inner {
		width: 100%;
	}
}
.marketnews .icn {
	display: none;
}
@media screen and (min-width:1500px) {
	.marketnews .icn {
		display: block;
		position: absolute;
		top: -15px;
		left: 30px;
		width: clamp(60px,7.292vw,167px);
	}
}
/*------------------------
ブログ
------------------------*/
.blog.bancho {
	padding: 0;
}
.blog .block-list {
	gap: 30px;
	margin-bottom: 50px;
}
.blog .block-list .block {
	width: 380px;
}
.blog.president .block-list .block {
	width: 100%;
}
.blog .block-list.imgnone a {
	padding: 15px 0;
	border-bottom: 1px dotted var(--txtcolor);
}
.blog .block-list.imgnone .block:first-of-type a {
	padding: 0 0 15px;
}
.blog .block-list .block .img {
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 15px;
}
.blog .block-list .block .img img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	transition: all .3s ease 0s;
}
.blog .block-list .block a:hover .img img {
	transform: scale(1.05, 1.05);
}
.blog .block-list .block h3 {
	font-size: 2.4rem;
	font-weight: bold;
	text-align: justify;
	line-height: 1.3;
	margin-bottom: 10px;
	transition: all .3s ease 0s;
}
.blog .block-list.imgnone .block h3 {
	flex: 1;
	margin: 0;
}
.blog .block-list .block a:hover h3 {
	color: var(--mygreen);
}
.blog .block-list .block .wrap {
	line-height: 1;
}
.blog .block-list.imgnone .block .wrap {
	margin-right: 30px;
}
.blog .block-list .block .wrap .date {
	margin: 6px 10px 0 0;
}
.blog .block-list .block .wrap .cat-area {
	flex-wrap: wrap;
	flex: 1;
}
.blog .block-list .block .wrap .cat-area .cat {
	background: var(--mygray);
	padding: 7px 10px;
	border-radius: 6px;
	font-size: 1.5rem;
	color: #fff;
	margin: 0 2px 2px 0;
}