/* ========================================
   COMMON COMPONENTS
======================================== */
.section_header {
	margin-bottom: 40px;
	display: flex;
	justify-content: space-between;
	align-items: end;
}

.section_title .ja {
	display: inline-block;
	font-family: 'Noto Sans JP';
	font-weight: 500;
	font-size: 24px;
	line-height: 180%;
	color: #E4444A;
	padding-bottom: 10px;
	position: relative;
	margin-bottom: 10px;
	opacity: 0;
	transition: opacity 0.8s ease;
}

.section_title .ja::after {
	position: absolute;
	display: block;
	content: '';
	height: 4px;
	width: 100%;
	bottom: 0px;
	left: 0;
	background: #E4444A;
}

.section_title .en {
	font-family: 'Poppins';
	font-weight: 400;
	font-size: 96px;
	line-height: 120%;
	text-align: justify;
	color: #FFFFFF;
}

.section_title .en .char {
	display: inline-block;
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Animation States */
section.on .section_title .ja {
	opacity: 1;
}

section.on .section_title .en .char {
	opacity: 1;
	transform: translateY(0);
}



/* ========================================
   KEY VISUAL
======================================== */


#bg_video {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}

section.kv {
	width: 100%;
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: rgba(27, 16, 55, 0.7);
	min-height: 800px;
}

section.kv .kv_adam {
	margin-top: 115px;
	margin-bottom: 16px;
	min-height: 131px;
}

section.kv .kv_text_1 {
	margin-bottom: 48px;
	margin-top: 15px;
	min-height: 34px;
}

/* section.kv .kv_text_2 {
	margin-bottom: 48px;
} */

section.kv .kv_adam,
section.kv .kv_text_1,
section.kv .kv_text_2 {
	overflow: hidden;
	position: relative;
}

section.kv .kv_adam img,
section.kv .kv_text_1 img,
section.kv .kv_text_2 img {
	transition: top 0.8s ease;
	position: relative;
	top: 100%;
}

section.kv.on .kv_adam img,
section.kv.on .kv_text_1 img,
section.kv.on .kv_text_2 img {
	animation: up 0.8s ease;
	animation-fill-mode: forwards;
}

section.kv.on .kv_text_1 img {
	animation-delay: 0.5s;
}

section.kv.on .kv_text_2 img {
	animation-delay: 0.5s;
}



section.kv .kv_ja {
	/* H2-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	font-size: 48px;
	line-height: 150%;
	text-align: center;
	color: #FFFFFF;
	filter: drop-shadow(0px 0px 12px #000000);
	margin-bottom: 16px;
	animation: fadeUp 0.8s ease;
	animation-delay: 1s;
	animation-fill-mode: forwards;
	position: relative;
	opacity: 0;
}




section.kv .kv_en {
	/* H3-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 32px;
	line-height: 120%;
	/* または38px */
	text-align: center;
	color: #FFFFFF;
	filter: drop-shadow(0px 0px 12px #000000);
	margin-bottom: 74px;
	animation: fadeUp 0.8s ease;
	animation-delay: 1s;
	animation-fill-mode: forwards;
	position: relative;
	opacity: 0;
}


section.kv .kv_scrolldown {
	width: 140px;
	height: 140px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	animation: fade 0.8s ease;
	animation-delay: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

section.kv .kv_scrolldown::before {
	width: 140px;
	height: 140px;
	position: absolute;
	content: '';
	background: url('../images/scrolldown_round.svg') no-repeat center center/contain;
	animation: rotateAnimation 20s linear infinite;
}







main {
	backdrop-filter: blur(6px) brightness(50%);
}


/* ========================================
   NEWS SECTION
======================================== */
section.news {
	color: #fff;
}

section.news>.container {
	background: #1B1037;
	backdrop-filter: blur(8px);
	/* 注: backdrop-filterのブラウザサポートは最小限です */
	border-radius: 0px 0px 80px 0px;
	padding: 120px 0;
}

section.news>.container>.inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}


section.news .news_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	opacity: 0;
}

section.news .news_item {
	width: 49%;
	border-bottom: 1px solid #fff;
	display: flex;
	gap: 24px;
	padding-bottom: 24px;
	margin-bottom: 60px;
	text-decoration: none;
	color: #fff;
	position: relative;
}

section.news .news_item .arrow_circle {
	right: 0;
	background: transparent;
}


section.news .news_item .news_item_image {
	min-width: 190px;
	border: #2b354c solid 1px;
}
section.news .news_item .news_item_image img{
	width: 190px;
	height: 127px;
	object-fit: cover;
}

section.news .news_item .news_item_body {
	margin-right: 64px;
}

section.news .news_item .news_item_title {
	margin-bottom: 10px;
}

section.news .news_item .news_item_body .date {
	/* body-lg-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	line-height: 180%;
	/* または32px */
	text-align: justify;

	color: #B0B0B0;
	margin-right: 10px;
}

section.news .news_item .news_item_body .category {
	box-sizing: border-box;
	padding: 4px 16px;

	background: #FFFFFF;
	border: 1px solid #FFFFFF;
	border-radius: 1000px;

	/* caption-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 150%;
	/* ボックスの高さと同一、または21px */
	text-align: justify;

	color: #151515;
	margin-right: 10px;
}

section.news .news_item .news_item_body .new {
	box-sizing: border-box;
	padding: 4px 16px;

	background: #458FD5;
	border: 1px solid #458FD5;
	border-radius: 1000px;

	/* caption-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 150%;
	/* ボックスの高さと同一、または21px */
	text-align: justify;

	color: #FFFFFF;
}

section.news .news_item .news_item_body .news_item_text {
	/* body-md-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 180%;
	/* または29px */
	/* text-align: justify; */

	color: #FFFFFF;
}

section.news .viewmore {
	opacity: 0;
}

section.news.on .viewmore {
	animation: fade 0.8s ease;
	animation-delay: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
}

section.news.on .news_list {
	animation: fadeUp 0.8s ease;
	animation-delay: 1.5s;
	animation-fill-mode: forwards;
}




/* ========================================
   MVV SECTION
======================================== */
section.mvv {
	color: #fff;
	background: url(../images/mvv_bg.svg) no-repeat center left;
	position: relative;
}

section.mvv>.container {
	padding: 186px 0;
}

section.mvv>.container>.inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

section.mvv .section_header {
	justify-content: center;
	text-align: center;
}

section.mvv .section_title {
	display: flex;
	flex-direction: column;
	align-items: center;
}

section.mvv .mvv_copy {
	/* H2-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 150%;
	/* または72px */
	text-align: center;

	color: #FFFFFF;
	margin-bottom: 80px;
	opacity: 0;
	position: relative;
}

section.mvv .viewmore {
	text-align: center;
	opacity: 0;
}

/* section.mvv .viewmore a {
	display: inline-block;
} */

section.mvv.on .mvv_copy {
	animation: fadeUp 0.8s ease;
	animation-delay: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
}

section.mvv.on .viewmore {
	animation: fade 0.8s ease;
	animation-delay: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}





/* ========================================
   CASE STUDY SECTION
======================================== */
section.casestudy{
	background: #fff;
	padding: 16px 0;
	border-radius: 80px 0px 0px 80px;
}
section.casestudy>.container {
	padding: 0;
	background: url(../images/client_bg.webp) right top no-repeat;
	background-size: auto 100%;
	border-radius: 80px 0px 0px 80px;
}

section.casestudy>.container>.inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

section.casestudy .section_header{
	align-items: center;
	margin-bottom: 0;
}
section.casestudy .section_header .en {
	color: #49447C;
}

section.casestudy .section_clientImage{
	position: relative;
	top: -40px;
	width: 50%;
	max-width: 850px;
}

section.casestudy .casestudy_list {
	display: flex;
	justify-content: space-between;
	align-items: start;
}

section.casestudy .casestudy_item {
	width: 32%;
	padding: 24px;
	gap: 16px;

	background: #FFFFFF;
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	text-decoration: none;
	color: #000;

	position: relative;
	opacity: 0;
}


section.casestudy .casestudy_item:nth-child(1) {
	margin-top: 130px;
}

section.casestudy .casestudy_item:nth-child(2) {
	margin-top: 70px;
}

section.casestudy.on .casestudy_item {
	animation: fadeUp 0.8s ease;
	animation-fill-mode: forwards;
}

section.casestudy.on .casestudy_item:nth-child(1) {
	animation-delay: 1s;
}

section.casestudy.on .casestudy_item:nth-child(2) {
	animation-delay: 1.5s;
}

section.casestudy.on .casestudy_item:nth-child(3) {
	animation-delay: 2s;
}

section.casestudy .casestudy_item>.image {
	margin-bottom: 16px;
}
section.casestudy .casestudy_item>.image img {
	margin: 0 auto;
}

section.casestudy .casestudy_item>.title {
	margin-bottom: 8px;
}

section.casestudy .casestudy_item>.title .category {
	/* body-sm-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 180%;
	/* または25px */
	text-align: justify;
	color: #151515;

	box-sizing: border-box;
	padding: 4px 16px;
	gap: 10px;

	background: #FFFFFF;
	border: 1px solid #151515;
	border-radius: 1000px;

	margin-right: 10px;
}

section.casestudy .casestudy_item>.title .name {
	/* body-lg-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	line-height: 180%;
	/* または32px */
	text-align: justify;

	color: #B0B0B0;
}

section.casestudy .casestudy_item>.catch {
	/* body-lg-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	line-height: 180%;
	/* または32px */

	color: #000000;
	margin-bottom: 8px;
}

section.casestudy .casestudy_item>.text {
	/* caption-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 150%;
	/* または21px */

	color: #000000;
}

section.casestudy .viewmore,
section.casestudy .section_clientImage{
	/* text-align: right;
	margin-top: -73px;
	margin-bottom: 320px; */
	opacity: 0;
}



section.casestudy.on .viewmore {
	animation: fade 0.8s ease;
	animation-delay: 0s;
	animation-fill-mode: forwards;
}

section.casestudy.on .section_clientImage{
	animation: fade 0.8s ease;
	animation-delay: 0.5s;
	animation-fill-mode: forwards;
}

section.casestudy .viewmore>a {
	color: #49447C;
	border-color: #49447C;
	margin: 30px 0 0;
}

section.casestudy .carousel {
	margin-top: 100px;
	overflow: hidden;
}

section.casestudy .carousel>.inner {
	animation: casestudy_carousel 120s linear infinite;
	white-space: nowrap;
}

section.casestudy .client-logo-item{
	margin: 0 30px;
}
section.casestudy .client-logo-item a{
	transition: 0.2s;
}
section.casestudy .client-logo-item a:hover{
	opacity: 0.7;
}


/* section.casestudy .carousel .set {
	display: inline-block;
}

section.casestudy .carousel .set>div {
	display: inline-block;
}
section.casestudy .carousel .set>div img{
	display: block;
}
 */



/* ========================================
   SERVICE SECTION
======================================== */
section.service {
	color: #fff;
	position: relative;
}

section.service>.container {
	padding: 186px 0;
}

section.service>.container>.inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

section.service .section_header {
	justify-content: center;
	text-align: center;
}

section.service .section_title {
	display: flex;
	flex-direction: column;
	align-items: center;
}

section.service .service_copy {
	/* body-md-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 180%;
	/* または29px */
	text-align: center;

	color: #FFFFFF;

	margin-bottom: 24px;
	position: relative;
	opacity: 0;
}

section.service.on .service_copy {
	animation: fadeUp 0.8s ease;
	animation-fill-mode: forwards;
	animation-delay: 1s;
	opacity: 0;
}

section.service .service_image {
	margin-bottom: 64px;
	position: relative;
	opacity: 0;
}

section.service.on .service_image {
	animation: fade 0.8s ease;
	animation-fill-mode: forwards;
	animation-delay: 1.5s;
	opacity: 0;
}

section.service .service_image img {
	margin: 0 auto;
}

section.service .service_list {
	display: flex;
	gap: 32px;
}

section.service .service_item {
	display: block;
	padding: 64px;
	gap: 32px;
	border-radius: 16px;
	background: rgba(27, 16, 55, 0.7);
	color: #FFFFFF;
	transition: background-color 0.3s;

	position: relative;
	opacity: 0;
	width: 50%;
}

section.service .service_item:nth-child(1) {
	background: url(../images/survice_bg1.png) no-repeat top -20px left 10px/50%, rgba(27, 16, 55, 0.7);
}

section.service .service_item:nth-child(2) {
	background: url(../images/survice_bg2.png) no-repeat bottom -40px right -30px/50%, rgba(27, 16, 55, 0.7);
}

section.service .service_item:hover:nth-child(1) {
	background: url(../images/survice_bg1.png) no-repeat top -20px left 10px/50%, rgba(69, 143, 213, 0.7);
}

section.service .service_item:hover:nth-child(2) {
	background: url(../images/survice_bg2.png) no-repeat bottom -40px right -30px/50%, rgba(228, 68, 74, 0.7);
}

section.service.on .service_item:nth-child(1) {
	animation: fade 0.8s ease;
	animation-fill-mode: forwards;
	animation-delay: 2s;
	opacity: 0;
}

section.service.on .service_item:nth-child(2) {
	animation: fade 0.8s ease;
	animation-fill-mode: forwards;
	animation-delay: 2.5s;
	opacity: 0;
}

section.service .service_item .ja {
	/* H4-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	line-height: 180%;
	/* または43px */
}

section.service .service_item .en {
	/* H2-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 120%;
	/* ボックスの高さと同一、または58px */
	margin-bottom: 32px;
}

section.service .service_item .text {
	/* body-md-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 180%;
	/* または29px */
	margin-bottom: 32px;
}

section.service .service_item .viewmore a {
	/* display: inline-block; */
	justify-content: flex-start;
	margin: 0;
}








/* ========================================
   ABOUT US SECTION
======================================== */
section.aboutus {
	color: #fff;
}

section.aboutus>.container {
	background: url(../images/aboutus_bg.svg) no-repeat top 60px right -34px/50%, #1B1037;
	backdrop-filter: blur(8px);
	/* 注: backdrop-filterのブラウザサポートは最小限です */
	border-radius: 0px 80px 0px 0px;
	padding: 120px 0;
}

section.aboutus>.container>.inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

section.aboutus .aboutus_catch {
	/* H2-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 120%;
	/* ボックスの高さと同一、または58px */
	height: 58px;
	margin-bottom: 32px;

	overflow: hidden;
	position: relative;
}

section.aboutus .aboutus_catch>div {
	position: relative;
	top: 100%;
}

section.aboutus.on .aboutus_catch>div {
	animation: up 0.8s ease;
	animation-fill-mode: forwards;
	animation-delay: 1s;
}



section.aboutus .aboutus_text {
	/* body-md-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	line-height: 180%;
	/* または29px */
	margin-bottom: 32px;

	opacity: 0;
}

section.aboutus.on .aboutus_text {
	animation: fade 0.8s ease;
	animation-fill-mode: forwards;
	animation-delay: 0.5s;
	opacity: 0;
}

section.aboutus .aboutus_images {
	display: flex;
	gap: 24px;
	margin-bottom: 32px;
}


section.aboutus .aboutus_images a {
	color: #FFFFFF;
	display: block;
	position: relative;
	border-radius: 16px;
	overflow: hidden;

	opacity: 0;
	position: relative;
}

section.aboutus.on .aboutus_images a {
	animation: fadeUp 0.8s ease;
	animation-fill-mode: forwards;
	opacity: 0;
	width: 50%;
}
section.aboutus.on .aboutus_images a .image{
	max-height: 300px;
}
section.aboutus.on .aboutus_images a .image img{
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 300px;
}

section.aboutus.on .aboutus_images.aboutus_images1 a .image{
	max-height: 400px;
}
section.aboutus.on .aboutus_images.aboutus_images1 a .image img{
	height: 400px;
}

section.aboutus.on .aboutus_images1 a:nth-child(1) {
	animation-delay: 1s;
}

section.aboutus.on .aboutus_images1 a:nth-child(2) {
	animation-delay: 1.2s;
}

section.aboutus.on .aboutus_images2 a:nth-child(1) {
	animation-delay: 1.4s;
}

section.aboutus.on .aboutus_images2 a:nth-child(2) {
	animation-delay: 1.6s;
}

section.aboutus.on .aboutus_images2 a:nth-child(3) {
	animation-delay: 1.8s;
}


section.aboutus .aboutus_images a:hover img {
	transition: all 0.3s;
	transform: scale(1.05);
	transform-origin: center center;
	opacity: 0.6;
}

section.aboutus .aboutus_images .text {
	position: absolute;
	bottom: 27px;
	left: 30px;
	/* H3-JP */
	font-family: 'Poppins','Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	line-height: 100%;
	/* または38px */
	text-align: justify;
}

section.aboutus .aboutus_images .text .spsmall{
    font-size: 60%;
    line-height: 1em;
}








/* ========================================
   RECRUIT SECTION
======================================== */
section.recruit {
	padding: 120px 20px;
	color: #FFFFFF;
}

section.recruit>.container {
	padding: 0px;
	background: linear-gradient(121.47deg, rgba(73, 68, 124, 0.9) 31.02%, rgba(184, 125, 128, 0.9) 64.75%, rgba(228, 68, 74, 0.9) 99.14%);
	backdrop-filter: blur(8px);
	/* 注: backdrop-filterのブラウザサポートは最小限です */
	border-radius: 16px;
	position: relative;
	overflow: hidden;
	max-width: 1760px;
	margin: 0 auto;
}

section.recruit>.container>.inner {
	box-sizing: border-box;
	max-width: 50%;
	margin: 0 0;
	padding: 70px 4.5% 70px 9%;
	position: relative;
	z-index: 5;
}

section.recruit .recruit_catch {
	/* H2-EN */
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 120%;
	/* ボックスの高さと同一、または58px */
	margin-bottom: 32px;
	overflow: hidden;
	position: relative;
	height: 1.5em;
}

section.recruit .recruit_catch>div {
	position: relative;
	top: 100%;
}

section.recruit.on .recruit_catch>div {
	animation: up 0.8s ease;
	animation-fill-mode: forwards;
	animation-delay: 1s;
}

section.recruit .recruit_text {
	/* H4-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	line-height: 180%;
	/* または43px */

	margin-bottom: 32px;
	opacity: 0;
}

section.recruit.on .recruit_text {
	animation: fade 0.8s ease;
	animation-fill-mode: forwards;
	animation-delay: 1.5s;
	opacity: 0;
}

section.recruit .viewmore a {
	/* display: inline-block; */
	justify-content: flex-start;
	opacity: 0;
}

section.recruit.on .viewmore a {
	animation: fade 0.8s ease;
	animation-fill-mode: forwards;
	animation-delay: 2s;
	opacity: 0;
	margin: 0;
}

section.recruit .carousel_area {
	position: absolute;
	right: 9%;
	top: 0;
	left: auto;
	display: flex;
	justify-content: end;
	gap: 24px;
	height: 100%;
	width: 50%;
}

section.recruit .carousel_area>div {
	position: relative;
	width: 38.6%;
}

section.recruit .carousel_area img {
	margin-bottom: 24px;
	border-radius: 8px;
}




@media screen and (max-width: 1100px) {

	.section_header{
		margin-bottom: 25px;
	}



	/* ========================================
   COMMON COMPONENTS
======================================== */
	.section_title .ja {
		font-size: 16px;
		padding-bottom: 6px;
		margin-bottom: 6px;
	}

	.section_title .en {
		font-size: 50px;
		line-height: 120%;
	}

	/* ========================================
   BUTTONS & INTERACTIVE ELEMENTS
======================================== */
	.viewmore>a {
		padding: 8px 53px 8px 20px;
		font-size: 14px;
		height: 50px;
		width: fit-content;
	}

	.viewmore>a:hover:before {
		transform: scaleX(1);
		transform-origin: left;
	}

	.viewmore>a:hover {
		/* background: #FFF;
		color: #1B1037; */
	}

	.arrow_circle {
		right: 12px;
		width: 32px;
		height: 32px;
	}

	a:hover>.arrow_circle::before {
		width: 8px;
		height: 8px;
	}

	.arrow_circle::after {
		width: 20px;
		height: 20px;
		background: url('../images/nav_contact_arrow.svg') no-repeat center center/70% 70%;
	}

	a>.arrow_circle::before {
		/* width: 32px;
		height: 32px;
		background: #E4444A; */
	}

	.viewmore>a:before {
		transform: scaleX(1);
		transform-origin: left;
	}

	.viewmore>a {
		/* background: #FFF;
		color: #1B1037; */
	}

	a>.arrow_circle::after {
		opacity: 0;
	}



	/* ========================================
   KEY VISUAL
======================================== */

	section.kv{
		min-height: auto;
	}

	section.kv .kv_adam {
		width: 70%;
		max-width: 330px;
		margin-top: 160px;
		margin-bottom: 16px;
		min-height: auto;
	}

	section.kv .kv_text_1 {
		margin-bottom: 13px;
		max-width: 500px;
        width: 80%;
		margin-bottom: 25px;
        margin-top: 5px;
		min-height: auto;
	}

	section.kv .kv_text_2 {
		width: 330px;
	}


	section.kv .kv_ja {
		font-size: 26px;
		line-height: 150%;
	}




	section.kv .kv_en {
		font-size: 20px;
		line-height: 120%;
	}


	section.kv .kv_scrolldown {
		width: 70px;
		height: 70px;
	}

	section.kv .kv_scrolldown::before {
		width: 70px;
		height: 70px;
	}









	main {
		backdrop-filter: blur(6px) brightness(50%);
	}

	/* ========================================
   NEWS SECTION
======================================== */
	section.news>.container {
		padding: 50px 20px;
		border-radius: 0px 0px 24px 0px;
	}

	section.news>.container>.inner {
		width: 100%;
		padding: 0;
	}


	section.news .news_list {
		flex-direction: column;
		justify-content: start;
	}

	section.news .news_item {
		width: 100%;
		gap: 12px;
		padding-bottom: 24px;
		margin-bottom: 24px;
	}

	section.news .news_item .arrow_circle {
		display: none;
	}


	section.news .news_item .news_item_image {
		min-width: 80px;
		width: 80px;
		height: 80px;
	}

	section.news .news_item .news_item_image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	section.news .news_item .news_item_body {
		margin-right: 0;
	}

	section.news .news_item .news_item_title {
		margin-bottom: 8px;
	}

	section.news .news_item .news_item_body .date {
		font-size: 14px;
		margin-right: 8px;
	}

	section.news .news_item .news_item_body .category {
		padding: 0 10px;
		font-size: 10px;
		margin-right: 8px;
	}

	section.news .news_item .news_item_body .new {
		padding: 0 10px;
		font-size: 10px;
		margin-right: 8px;
	}

	section.news .news_item .news_item_body .news_item_text {
		font-size: 14px;
		line-height: 180%;
	}

	section.news.on .viewmore {
		animation: fade 0.8s ease;
		animation-delay: 1s;
		animation-fill-mode: forwards;
		opacity: 0;
	}

	section.news.on .news_list {
		animation: fadeUp 0.8s ease;
		animation-delay: 1.5s;
		animation-fill-mode: forwards;
	}




	/* ========================================
   MVV SECTION
======================================== */
	section.mvv {
		background: none;
	}

	section.mvv>.container {
		padding: 50px 30px;
	}

	section.mvv>.container>.inner {
		width: 100%;
		padding: 0;
	}


	section.mvv .mvv_copy {
		font-size: 20px;
		margin-bottom: 40px;
	}





	/* ========================================
   CASE STUDY SECTION
======================================== */
	section.casestudy{
		border-radius: 24px 0px 0px 24px;
	}
	section.casestudy>.container {
		padding: 0 0 20px;
		border-radius: 0px;
	}

	section.casestudy>.container>.inner {
		width: 100%;
		padding: 25px 20px 0;
	}

	section.casestudy .casestudy_list {
		flex-direction: column;
		justify-content: start;
		gap: 16px;
	}

	section.casestudy .casestudy_item {
		width: 100%;
	}


	section.casestudy .casestudy_item:nth-child(1) {
		margin-top: 0;
	}

	section.casestudy .casestudy_item:nth-child(2) {
		margin-top: 0;
	}

	section.casestudy .casestudy_item>.title .category {
		font-size: 12px;
		padding: 0 10px;
		margin-right: 8px;
	}

	section.casestudy .casestudy_item>.title .name {
		font-size: 14px;
	}

	section.casestudy .casestudy_item>.catch {
		font-size: 14px;
	}

	section.casestudy .casestudy_item>.text {
		font-size: 10px;
	}

	section.casestudy .viewmore {
		text-align: center;
		opacity: 0;

	}


	section.casestudy .carousel {
		zoom: .8;
		margin-top: 0;
	}

	section.casestudy .client-logo-item{
		margin: 0 15px;
	}

	section.casestudy .section_header{
		display: block;
	}
	section.casestudy .section_clientOuter{
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	section.casestudy .section_clientImage{
		top: auto;
		width: 80%;
		margin: 20px auto 0;
	}







	/* ========================================
   SERVICE SECTION
======================================== */
	section.service>.container {
		padding: 80px 20px;
	}

	section.service>.container>.inner {
		width: 100%;
		padding: 0;
	}

	section.service .service_copy {
		font-size: 14px;
	}


	section.service .service_image {
		margin-bottom: 24px;
	}

	section.service .service_list {
		gap: 16px;
	}

	section.service .service_item {
		padding: 35px 30px;
		gap: 16px;
	}

	section.service .service_item .ja {
		font-size: 16px;
	}

	section.service .service_item .en {
		font-size: 28px;
		margin-bottom: 16px;
	}

	section.service .service_item .text {
		font-size: 14px;
		margin-bottom: 16px;
	}

	section.service .service_item .viewmore a {
		width: 245px;
	}

	section.service .service_item:nth-child(1) {
		background: url(../images/survice_bg1.png) no-repeat top -20px left 10px/50%, rgba(69, 143, 213, 0.7);
	}

	section.service .service_item:nth-child(2) {
		background: url(../images/survice_bg2.png) no-repeat bottom -40px right -30px/50%, rgba(228, 68, 74, 0.7);
	}






	/* ========================================
   ABOUT US SECTION
======================================== */
	section.aboutus>.container {
		padding: 50px 20px;
		border-radius: 0px 24px 0px 0px;
	}

	section.aboutus>.container>.inner {
		width: 100%;
		padding: 0;
	}

	section.aboutus .aboutus_catch {
		font-size: 28px;
		height: 68px;
		margin-bottom: 32px;
	}

	section.aboutus .aboutus_catch>div {
		position: relative;
		top: 100%;
	}


	section.aboutus .aboutus_text {
		font-size: 14px;
		margin-bottom: 32px;
	}

	section.aboutus .aboutus_images {
		display: block;
		margin-bottom: 0;
	}

	section.aboutus.on .aboutus_images a .image img,
	section.aboutus.on .aboutus_images.aboutus_images1 a .image img{
		height: auto;
	}
	section.aboutus.on .aboutus_images1 a {
		/* height: 195px; */
		width: auto;
	}

	section.aboutus.on .aboutus_images2 a {
		height: 100px;
		width: auto;
	}

	section.aboutus .aboutus_images a {
		margin-bottom: 8px;
	}

	section.aboutus .image{
		width: 100%;
		height: 100%;
	}
	section.aboutus .aboutus_images2 a img {
		height: 100px !important;
	}

	section.aboutus .aboutus_images .text {
		font-size: 22px;
	    bottom: 15px;
   		left: 15px;
	}
	section.aboutus .aboutus_images .text .spsmall{
		font-size: 70%;
	}
	.spsmall {
		font-size: 14px;
	}









	/* ========================================
   RECRUIT SECTION
======================================== */
	section.recruit {
		padding: 40px 15px;
		color: #FFFFFF;
	}

	section.recruit>.container {
		position: relative;
	}

	section.recruit>.container>.inner {
		max-width: 100%;
		padding: 40px 25px 395px;
	}

	section.recruit .recruit_catch {
		font-size: 24px;
		line-height: 120%;
		margin-bottom: 20px;
	}

	section.recruit .recruit_text {
		font-size: 14px;
	}

	section.recruit .viewmore a {
		width: 245px;
	}

	section.recruit .carousel_area {
		position: absolute;
		right: auto;
		left: 0;
		top: 0;
		display: flex;
		flex-direction: column;
		justify-content: end;
		gap: 5px;
		height: 100%;
		width: 100%;
		overflow: hidden;
		padding-bottom: 40px;
	}

	section.recruit .carousel_area>div {
		position: relative;
		white-space: nowrap;
		height: 155px;
	}

	section.recruit .carousel_area img {
		margin-bottom: 0;
		display: inline-block;
		height: 155px;
		width: auto;
		margin-right: 5px;
	}

}



@media screen and (max-width: 768px) {
	section.service .service_list {
		flex-direction: column;
	}
	section.service .service_item{
		width: auto;
	}
}