.main_visual {
	width: 100%;
	height: calc(100dvh - 90px);
	position: relative;
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	align-items: normal;
}
.main_visual .main_visual_image {
	width: 60%;
  position: relative;
}
.main_visual .main_visual_image img {
	width: 100%;
	height: 100%;
	object-position: center 50%;
	object-fit: cover;
	top: 0;
	z-index: -1;
}
.main_visual .main_visual_text span {
	color: #FFF;
	font-size: 1.2rem;
	left: 5%;
	bottom: 30px;
	position: absolute;
	display: block;
	font-family: var(--font-btn);
	font-weight: 400;
	line-height: 1.7;
}
.main_visual .main_visual_text {
	width: 50%;
	background: var(--color-main);
	display: flex;
	align-items: center;
	position: relative;
}
.main_visual .main_visual_text .main_visual_text_inner {
	background: #FFF;
	/* margin-left: -16%;
	margin-right: 8%; */
    margin-left: 10%;
    margin-right: 8%;
    padding: 75px 50px;
	z-index: 1;
}
.main_visual .main_visual_text h1 {
	font-size: 3.2rem;
	font-family:  var(--font-ttl);
	color:  var(--color-main);
	line-height: 1.5;
}
.main_visual .main_visual_text p {
	color:  var(--color-main);
	line-height: 2;
	font-weight: 900;
	margin-top: 20px;
}

/* .main_visual .main_visual_text {
	position: absolute;
	max-width: var(--width-content);
	width: 84%;
	margin: 0 auto;
	left: 8%;
}
.main_visual .main_visual_text h1 {
	font-size: 3.8rem;
	font-family:  var(--font-ttl);
	color:  var(--color-main);
	line-height: 1.75;
}
.main_visual .main_visual_text p {
	color:  var(--color-main);
	line-height: 2;
	font-weight: 900;
	margin-top: 50px;
}
.main_visual .main_visual_image {
	width: 100%;
	padding-top: calc(100dvh - 90px);
  position: relative;
}
.main_visual .main_visual_image img {
	width: 100%;
	height: 100%;
	object-position: center 70%;
	object-fit: cover;
	position: fixed;
	top: 0;
	z-index: -1;
}
.main_visual .main_visual_image span {
	color: #FFF;
	font-size: 1.2rem;
	left: 8%;
	bottom: 30px;
	position: absolute;
	display: block;
	font-family: var(--font-btn);
	font-weight: 400;
} */

.business {
	width: 100%;
	background: #FFF;
}
.business .sec_ttl {
	font-size: 3.8rem;
	font-family:  var(--font-ttl);
	margin: 0;
	width: fit-content;
	flex-shrink: 1;
	color:  var(--color-main);
}
.business .sec_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: var(--width-content);
	width: 84%;
	margin: 0 auto;
	padding: 80px 0;
}
.business ul {
	max-width: 1080px;
	width: calc(100% - 380px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px 30px;
}
.business ul li {
	width: calc(50% - 15px);
}
.business ul li > p {
	font-size: 3.2rem;
	color:  var(--color-main);
	font-family:  var(--font-ttl);
	text-align: center;
}
.business ul li .business_img {
	aspect-ratio: 520/295;
	overflow: hidden;
	margin-top: 20px;
	position: relative;
	background: var(--color-main);
  padding: 40px 30px;
	display: flex;
	flex-wrap: wrap;
}
.business ul li .business_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: all 0.3s;
	position: absolute;
	z-index: 1;
	background: #000;
	left: 0;
	top: 0;
}
.business ul li:hover .business_img img {
	opacity: 0;
}
.business ul li .business_img p {
	color: #FFF;
	line-height: 2;
  font-weight: 500;
}
.business ul li .business_img .btn {
	position: sticky;
	margin-top: auto;
	display: flex;
	justify-content: center;
	gap: 15px;
	width: 100%;
}
.business ul li:hover .business_img .btn {
	z-index: 1;
}
.business ul li .business_img .btn a {
	color: #FFF;
	background: #707070;
	border: 1px solid #707070;
	padding: 15px;
	font-family: var(--font-btn);
  font-weight: 500;
	font-size: 14px;
}
.business ul li .business_img .btn a + a {
	background: var(--color-gray);
	color: var(--color-main);
	border: 1px solid var(--color-gray);
}
.business ul li .business_img .btn a:hover,
.business ul li .business_img .btn a + a:hover {
	background: var(--color-main);
	color: var(--color-gray);
	border: 1px solid #FFF;
}
.consulting {
	padding: 140px 0;
}
:is(.consulting, .news) .sec_inner {
	max-width: var(--width-content);
	width: 84%;
	margin: 0 auto;
}
:is(.consulting, .news) .sec_ttl {
	color: var(--color-main);
	text-align: center;
	font-size: 3.8rem;
	font-family:  var(--font-ttl);
}
:is(.consulting,) .sec_ttl {
	color: #FFF;
}
:is(.consulting, .news) ul {
	display: flex;
	justify-content: left;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	margin: 65px auto 0;
	gap: 80px 30px;
}
:is(.consulting, .news) ul li {
	width: calc((100% - 60px)/3);
}
:is(.consulting, .news) ul li a {
	width: 100%;
}
:is(.consulting, .news) ul li :is(.consulting_img,.news_img){
	aspect-ratio: 470/245;
	overflow: hidden;
	margin-top: 10px;
}
:is(.consulting, .news) ul li .news_img{
	border: 1px solid #dddddd;
}
:is(.consulting, .news) ul li :is(.consulting_img,.news_img) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: all 0.3s;
}
:is(.consulting, .news) ul li a:hover :is(.consulting_img,.news_img) img {
	transform: scale(1.1);
}
:is(.consulting, .news) ul li a :is(.consulting_category,.news_day) {
	font-family:  var(--font-btn);
	font-weight: 400;
}
:is(.consulting, .news) ul li a :is(.consulting_category,.news_day)::before {
	content: "―";
	margin-right: 0.25em;
}
.consulting ul li a .consulting_category {
	color: #FFF;
}
.news ul li a .news_day {
	color: var(--color-main);
}
:is(.consulting, .news) ul li .consulting_ttl {
	color: #FFF;
}
:is(.consulting, .news) ul li .consulting_ttl .consulting_sub {
	font-size: 1.4rem;
	display: block;
	padding-bottom: 5px;
}
:is(.consulting, .news) ul li .news_ttl {
	color: #000;
}
:is(.consulting, .news) ul li :is(.consulting_ttl,.news_ttl) {
	margin-top: 20px;
	line-height: 1.5;
}
:is(.consulting, .news) ul + a {
	background: var(--color-gray);
	font-family:  var(--font-btn);
	color: var(--color-main);
	font-weight: 400;
	font-size: 14px;
	padding: 15px 20px;
	margin: 80px auto 0;
	display: block;
	width: fit-content;
	font-weight: 700;
	max-width: 300px;
	border: 1px solid var(--color-gray);
	width: 84%;
	text-align: center;
}
:is(.consulting, .news) ul + a:hover {
	background:var(--color-main);
	color: #FFF;
}
.consulting {
	background: var(--color-main);
	color: #FFF;
}
.consulting > ul li a {
	color: #FFF;
}
.message {
	width: 100%;
	background: #FFF;
}
.message .sec_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: var(--width-content);
	width: 84%;
	margin: 0 auto;
	padding: 140px 0 130px;
	gap: 80px;
}
.message .sec_inner .message_image {
	width: calc(50%);
}
.message .sec_inner .message_text {
	width: calc(50% - 80px);
}
.message .sec_inner .message_text h2 {
	color: var(--color-main);
	font-size: 3.8rem;
	font-family:  var(--font-ttl);
	margin-bottom: 70px;
}
.message .sec_inner .message_text p {
	line-height: 2.5;
}
.message .sec_inner .message_text p:last-child {
	line-height: 2.5;
	font-family:  var(--font-ttl);
	font-weight: 700;
	margin-top: 60px;
}
.message .sec_inner .message_text p strong {
	font-size: 2.4rem;
	margin-left: 1em;
}
.news {
	width: 100%;
	background: #FFF;
	padding-bottom: 120px;
}
#footer {
	margin: 0;
}
@media (max-width: 1700px) {
	.business .sec_inner {
		width: 94%;
	}
	.business ul li .business_img {
		padding: 6%;
	}
}
@media (max-width: 1500px) {
	.business .sec_inner {
		width: 94%;
	}
	.business ul li .business_img {
		padding: 6%;
	}
	.business ul li .business_img p br {
		display: none;
	}
	.business ul li .business_img .btn a {
		padding: 10px;
		font-size: 1.2rem;
	}
}
@media (max-width: 1300px) {
	.main_visual .main_visual_text .main_visual_text_inner {
		padding: 20px;
	}
	.main_visual .main_visual_text h1 {
		font-size: 1.9rem;
	}
	.main_visual .main_visual_text p {
		font-size: 1.2rem;
	}
	.business ul li .business_img {
		padding: 6%;
	}
	.business ul li .business_img p {
		font-size: 1.4rem;
	}
	.business ul li .business_img .btn a {
		padding: 10px;
		font-size: 1.2rem;
	}
}
@media (max-width: 767px) {
	.main_visual {
		height: calc(100dvh - 50px);
		flex-direction: column-reverse;
	}
	.main_visual .main_visual_image {
		width: 100%;
		height: 100%;
	}
	.main_visual .main_visual_text {
		width: 100%;
		padding: 0 8% 90px;
		position: static;
	}
	.main_visual .main_visual_text .main_visual_text_inner {
    margin: -75px auto 0;
	}
	/* .main_visual .main_visual_text span {
		color: var(--color-main);
		font-size: 1.0rem;
		bottom: auto;
		top: calc(100% + 10px);
		z-index: 10;
		left: auto;
		right: 8%;
		display: none;
	} */
	.main_visual .main_visual_text span {
		font-size: 1.0rem;
		bottom: 30px;
	} 
	.main_visual .main_visual_text h1 {
		font-size: 1.9rem;
	}
	.main_visual .main_visual_text p {
    margin-top: 10px;
    font-size: 1.2rem;
		color: #000;
	}
	.main_visual .main_visual_text p br {
    display: none;
	}
	.business{
		border-top: 1px solid #FFF;
	}
	.business .sec_inner {
		flex-wrap: wrap;
		width: 100%;
		padding-bottom: 0;
		padding-top: 0;
	}
	.business .sec_ttl {
		background: var(--color-main);
		color: #FFF;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 100%;
		font-size: 1.9rem;
		aspect-ratio: 750 / 420;
	}
	.business ul {
		width: 100%;
		margin-top: 0;
		flex-wrap: wrap;
		border-top: 1px solid;
		border-bottom: 1px solid;
		gap: 0;
	}
	.business ul li {
		width: 100%;
		padding: 40px 8% 50px;
	}
	.business ul li + li {
		border-top: 1px solid;
	}
	.business ul li > p {
		font-size: 1.9rem;
		text-align: left;
	}
	.business ul li .business_img {
    aspect-ratio: unset;
    background: none;
    padding: 0;
 }
	.business ul li .business_img p {
		color: var(--color-main);
	}
		.business ul li .business_img p {
		color: var(--color-main);
		font-size: 1.2rem;
	}
	.business ul li .business_img .btn {
		justify-content: left;
		margin-top: 30px;
		font-size: 1.2rem;
		font-weight: 400;
	}
	.business ul li .business_img .btn a {
		padding: 10px 20px;
	}
	.business ul li .business_img .btn a {
		background: #464646;
	}
	.business ul li .business_img .btn a + a {
		background: #08294d;
		color: #FFF;
	}
	.business ul li .business_img img {
		position: relative;
	  margin-bottom: 20px;
	}
	.business ul li:hover .business_img img {
		opacity: 1;
	}
	.consulting {
		padding: 0 0 70px;
		background: none;
		background: #f1f1f1;
	}
	:is(.consulting, .news) .sec_inner {
		width: 100%;
	}
	:is(.consulting, .news) .sec_ttl {
		background: var(--color-main);
		color: #FFF;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 100%;
		font-size: 1.9rem;
		aspect-ratio: 750 / 420;
	}
	:is(.consulting, .news) ul {
		flex-wrap: wrap;
		background: #f1f1f1;
		margin: 0;
		gap: 0;
		padding-top: 50px;
	}
	:is(.consulting, .news) ul li {
		width: 84%;
		margin: 0 auto;
	}
	:is(.consulting, .news) ul li + li {
		margin-top: 40px;
	}
	.consulting ul li a .consulting_category,
	:is(.consulting, .news) ul li .consulting_ttl {
		color: var(--color-main);
		font-size: 1.2rem;
	}
	:is(.consulting, .news) ul li :is(.consulting_ttl,.news_ttl) {
		margin-top: 10px;
		font-size: 1.2rem;
	}
	:is(.consulting, .news) ul li .consulting_ttl .consulting_sub {
		font-size: 1.2rem;
	}
	:is(.consulting, .news) ul + a {
		margin-top: 50px;
		background: var(--color-main);
		color: #FFF;
		font-size: 1.2rem;
		font-weight: 400;
	}
	.message .sec_inner {
		gap: 0;
		flex-wrap: wrap;
		width: 100%;
		padding-top: 0;
		padding-bottom: 70px;
	}
	.message .sec_inner .message_image {
		width: 84%;
		margin: 8% auto 0;
	}
	.message .sec_inner .message_text {
		width: 84%;
		margin: 40px auto 0;
	}
	.message .sec_inner .message_text h2 {
    font-size: 1.9rem;
		margin-bottom: 20px;
	}
	.message .sec_inner .message_text p {
    line-height: 2;
    font-size: 1.2rem;
 }
	.message .sec_inner .message_text p:last-child {
    line-height: 1;
    margin-top: 30px;
	}
	.message .sec_inner .message_text p strong {
		font-size: 1.7rem;
	}
	.news {
		background: #f1f1f1;
		padding-top: 40px;
	}
	.news .sec_ttl {
		aspect-ratio: auto;
    justify-content: left;
    padding-left: 8%;
    background: none;
    color: var(--color-main);
	}
	.news ul {
		padding-top: 40px;
  }
	.news ul li a .news_day {
		font-size: 1.2rem;
	}
}
@media (min-width: 768px) {
	/*アニメーション*/

	/*上から下へ*/
	/* .main_visual .main_visual_image img {
		animation: scroll 10s 0.5s forwards;
		animation-timing-function: ease-in;
	}
	@keyframes scroll {
		0% {
			object-position: center 0%;
		}
		100% {
			object-position: center 100%;
		}
	} */

	/*下から上へ*/
	/* .main_visual .main_visual_image img {
    animation: scroll 10s 3s forwards;
    animation-timing-function: ease-in;
	}

	@keyframes scroll {
		0% {
			transform: scale(1); 
		}
		30% {
			transform: scale(1.3);
		}
		100% {
			transform: scale(1);
		}
	} */

	/*拡大後、引きの動き */
	/* .main_visual .main_visual_image {
		overflow: hidden; 
	}
	.main_visual .main_visual_image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transform-origin: center bottom;
		animation: zoomOut 18s 1s forwards;
		animation-timing-function: ease-in-out;
	}

	@keyframes zoomOut {
		10% {
			transform: scale(1);
			animation-timing-function: ease-in;
		}
		50% {
			transform: scale(1.3);
		}
		100% {
			transform: scale(1);
		}
	} */

	/*拡大後、下から上へ動く */
	/* .main_visual .main_visual_image {
		overflow: hidden; 
	}
	.main_visual .main_visual_image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transform-origin: center bottom;
		animation: zoomOut 18s 1s forwards;
		animation-timing-function: ease-in-out;
	}

	@keyframes zoomOut {
		10% {
			transform: scale(1) translateY(0);
			animation-timing-function: ease-in;
		}
		50% {
			transform: scale(1.3) translateY(0); 
		}
		100% {
			transform: scale(1.3) translateY(20%); 
		}
	} */

	/*アップからの引き*/
	.main_visual .main_visual_image {
		overflow: hidden; 
	}

	.main_visual .main_visual_image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transform-origin: center center;
		animation: zoomOut 10s 0.5s forwards;
		animation-timing-function: ease-in;
	}

	@keyframes zoomOut {
		0% {
			transform: scale(1.3); 
		}
		100% {
			transform: scale(1);
		}
	}

}