/*
Theme Name: Clearize
Theme URI: https://clearize.jp
Author: Clearize
Author URI: https://clearize.jp
Description: A recruiting theme for Clearize
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: clearize
*/
/* 1. Theme default css */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

@font-face {
	font-family: 'FontAwesome';
	src: url('fonts/fontawesome-webfont.eot?v=4.2.0');
	src: url('fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
	font-weight: normal;
	font-style: normal
}

.fa {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 30px;
	color: #fff;
	background: #0b1b36 !important;
}

.alignleft {
	float: left;
	margin-right: 20px;
}

.alignright {
	float: right;
	margin-left: 20px;
}

.aligncenter {
	clear: both;
	float: none;
	display: block;
	text-align: center;
	margin: 0 auto;
}

.clear {
	clear: both;
}

.nopadding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.img-responsive,
.thumbnail>img,
.thumbnail a>img,
.carousel-inner>.item>img,
.carousel-inner>.item>a>img {
	display: block;
	max-width: 100%;
	height: auto;
}

#content-wraper {
	position: relative;
	overflow: hidden;
}

.nopadding {
	padding-left: 0;
	padding-right: 0;
}

.img {
	width: 100%;
	height: auto;
	transition: all 0.3s ease-out 0s;
}

.f-left {
	float: left
}

.f-right {
	float: right
}

.fix {
	overflow: hidden
}

a,
.button,
button {
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}

a:focus,
.button:focus {
	text-decoration: none;
	outline: none;
}

button {
	cursor: pointer
}

a:focus,
a:hover,
.portfolio-cat a:hover,
.footer -menu li a:hover {
	color: #009fe8;
	text-decoration: none;
}

a,
button {
	color: #009fe8;
	outline: medium none;
}

input:focus,
textarea:focus,
:focus {
	outline: 0
}

button:focus {
	outline: 0 none;
}

.uppercase {
	text-transform: uppercase;
}

.capitalize {
	text-transform: capitalize;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Barlow", sans-serif;
	font-weight: normal;
	color: #333333;
	margin-top: 0px;
	font-style: normal;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: inherit;
}

h1 {
	font-size: 40px;
	font-weight: 500;
}

h2 {
	font-size: 35px;
}

h3 {
	font-size: 28px;
}

h4 {
	font-size: 22px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

ul {
	margin: 0px;
	padding: 0px;
}

li {
	list-style: none
}

p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 30px;
	color: #fff;
	margin-bottom: 15px;
}

hr {
	border-bottom: 1px solid #eceff8;
	border-top: 0 none;
	margin: 30px 0;
	padding: 0;
}

label {
	color: #7e7e7e;
	cursor: pointer;
	font-size: 14px;
	font-weight: 400;
}

*::-moz-selection {
	background: #d6b161;
	color: #fff;
	text-shadow: none;
}

::-moz-selection {
	background: #444;
	color: #fff;
	text-shadow: none;
}

::selection {
	background: #444;
	color: #fff;
	text-shadow: none;
}

*::-moz-placeholder {
	color: #c7c7c7;
	font-size: 15px;
	opacity: 1;
}

*::placeholder {
	color: #c7c7c7;
	font-size: 15px;
	opacity: 1;
}

.btn {
	background: #2f3440 none repeat scroll 0 0;
	border: 1px solid transparent;
	border-radius: 0;
	color: #fff;
	display: inline-block;
	font-family: pt sans;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	padding: 20px 45px;
	text-align: center;
	text-transform: uppercase;
	transition: all 0.3s ease 0s;
	vertical-align: middle;
	white-space: nowrap;
	position: relative;
}

.btn:hover {
	color: #fbba42
}

.btn:hover:before {
	width: 100%;
	color: #444
}

.btn.brand-btn {
	background: #fbba42;
	color: #222
}

.btn.brand-btn:hover {
	background: #2f3440;
	color: #fbba42
}

.btn.btn-2 {
	background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
	border: 1px solid #fbba42;
	line-height: 1;
	padding: 17px 35px;
}

.btn.btn-2:hover {
	border-color: #2f3440
}

.btn i {
	margin-right: 10px;
}

/* scrollUp */
#scrollUp {
	background: #009fe8;
	height: 35px;
	width: 35px;
	right: 50px;
	bottom: 77px;
	color: #fff;
	font-weight: 600;
	text-align: center;
	/*border-radius: 50%;*/
	font-size: 0;
	line-height: 34px;
}

#scrollUp::before {
	font-size: 16px;
	content: "\f077";
	font-family: "Font Awesome 5 Free";
}

#scrollUp:hover {
	background: #444;
}

/* 

  2. header 

*/
.scroll-header {
	animation: 300ms ease-in-out 0s normal none 1 running fadeInDown;
	background: #fff none repeat scroll 0 0;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99999;
}

.header-menu {
	left: 0;
	position: absolute;
	right: 0;
	z-index: 999;
}

.logo {}

.main-menu-area {
	background: #fff none repeat scroll 0 0;
	padding: 0px;
}

.main-menu ul {
	margin-bottom: 0;
}

.main-menu ul li {
	display: inline-block;
	position: relative;
}

.main-menu ul li:hover {
	opacity: 1;
	top: 100%;
	visibility: visible;
}

.main-menu ul li>a {
	color: #001740;
	display: block;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 500;
	padding: 25px 16.5px;
	text-transform: uppercase;
	text-decoration: none;
}

.main-menu ul li:hover>a {
	color: #009fe8;
}

.main-menu ul li ul.submenu {
	background: #000;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 110%;
	transition: all 0.3s ease 0s;
	visibility: hidden;
	width: 250px;
	z-index: 9;
}

.main-menu ul li:hover>ul.submenu {
	opacity: 1;
	visibility: visible;
	top: 102%;
}

.main-menu ul li ul.submenu li {
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	display: block;
	margin: 0;
}

.main-menu ul li ul.submenu li:last-child {
	border: 0;
}

.main-menu ul li ul.submenu li a {
	color: #fff;
	display: block;
	padding: 15px 10px;
	text-align: left;
	font-size: 13px;
}

.main-menu ul li ul.submenu li:hover>a {
	color: #009fe8;
}

.main-menu ul li ul.submenu li ul.submenu {
	left: 100%;
	top: 0;
}

/* 



3. slider 



*/
.about-banner {
	position: relative;
}

.banner-content h1 span::before {
	display: none !important;
}

.banner-content {
	padding-left: 65px;
}

.banner-content span {
	font-size: 14px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1;
	letter-spacing: normal;
	text-align: left;
	color: #fff;
	text-transform: uppercase;
	position: relative;
	margin-bottom: 24px;
	display: block;
	font-family: "Barlow Condensed", sans-serif;
	padding-left: 13px;
}

.banner-content span::before {
	content: "";
	background-color: #009fe8;
	width: 7px;
	height: 7px;
	display: block;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 4px;
}

.banner-content h1 {
	font-size: 67px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 0.99;
	letter-spacing: normal;
	text-align: left;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 0;
}

.banner-content h1 span {
	font-size: 67px;
	font-weight: bold;
	color: #009fe8;
	text-transform: uppercase;
	font-family: "Barlow", sans-serif;
	padding-left: 0;
}

.banner-content p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 19px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.53;
	letter-spacing: normal;
	text-align: left;
	color: #fff;
	margin-bottom: 0;
}

/* 


 4. about-area 


*/
#section1 {
	position: relative;
	padding: 0 0 26.5px;
}

.about-part .boder-left-design::before {
	height: 179px;
}

.about-future {
	/* margin-bottom: 50px; */
	position: relative;
}

#section1 #line1 {
	text-align: left;
}

#line1 span {
	background-color: #fff;
	display: inline-block;
	padding: 0px 7px;
	font-family: "Barlow", sans-serif;
	font-size: 18px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.17;
	letter-spacing: normal;
	text-align: center;
	color: #002362;
}

.about-future h2 {
	font-family: "Barlow", sans-serif;
	font-size: 85px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.16;
	letter-spacing: normal;
	text-align: center;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 6px;
}

.about-future h2 span {
	color: #009fe8;
}

.about-future p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 19px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.53;
	letter-spacing: normal;
	text-align: center;
	color: #fff;
	padding-bottom: 112.5px;
	margin-bottom: 0;
	position: relative;
}

.about-future p::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 1px;
	height: 73px;
	background: #fff;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.about-future p::before {
	content: "";
	width: 6px;
	height: 6px;
	background-color: #009fe8;
	display: block;
	position: absolute;
	border-radius: 50%;
	top: 85px;
	margin: 0 auto;
	left: 0;
	right: 0;
}

.box-future h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 46px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.72;
	letter-spacing: normal;
	text-align: center;
	color: #fff;
	margin-bottom: 8px;
}

.box-future p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.81;
	letter-spacing: normal;
	text-align: center;
	color: #fff;
	margin-bottom: 0;
}

.box-future {
	position: relative;
}

#storybox {
	position: relative;
	padding: 43px 17px 43px 33px;
	border-radius: 36px;
	background-color: #4e6180;
	margin-top: 49px;
}

#storybox h3 {
	font-family: "Barlow", sans-serif;
	font-size: 47px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.02;
	letter-spacing: normal;
	text-align: left;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 0;
}

.story-slid {}

.story-slid .owl-carousel .owl-nav .owl-next,
.story-slid .owl-carousel .owl-nav .owl-prev {
	width: 28px;
	height: 145px;
	background-color: #000;
	font-size: 0;
	text-align: center;
	position: absolute;
	top: 40%;
}

.story-slid .owl-carousel .owl-nav .owl-prev:before {
	content: "";
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	width: 8px;
	height: 9px;
	background-color: #fff;
	display: block;
	position: relative;
	top: 68px;
	left: 5px;
}

.story-slid .owl-carousel .owl-nav .owl-next {
	right: 0;
}

.story-slid .owl-carousel .owl-nav .owl-next::before {
	content: "";
	clip-path: polygon(100% 58%, 0 0, 0 100%);
	width: 8px;
	height: 9px;
	background-color: #fff;
	display: block;
	position: relative;
	top: 68px;
	left: 5px;
}

.box-future.box-future-bottom .values::before {
	width: 35%;
	left: auto;
	right: 15%;
}

.box-future.box-future-bottom .value-box:nth-child(3)::before {
	top: -72px;
}

.box-future.box-future-bottom .value-box:nth-child(3)::after {
	display: none;
}

.box-future.box-future-bottom .value-box {
	padding-top: 90px;
}

.box-future.box-future-bottom {
	margin: 0 auto;
	padding-top: 100px;
}

/* ===== Values Section ===== */
.values {
	position: relative;
}

.value-box {
	width: 30%;
	text-align: center;
	padding-top: 80px;
}

.value-box::after {
	content: "";
	width: 6px;
	height: 6px;
	background-color: #009fe8;
	display: block;
	position: absolute;
	border-radius: 50%;
	top: 80px;
}

.value-box h3 {}

.value-box p {}

/* Connecting Line */
.values::before {
	content: "";
	position: absolute;
	top: 0;
	left: 15%;
	width: 70%;
	height: 1px;
	background: #fff;
}

/* Vertical Lines */
.value-box::before {
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 73px;
	background: #fff;
}

.value-box:nth-child(1)::after {
	left: 44.3%;
}

.value-box:nth-child(2)::after {
	left: 0;
	margin: 0 auto;
	right: 0;
}

.value-box:nth-child(3)::after {
	left: 54.3%;
}

.value-box:nth-child(1)::before {
	left: 45%;
}

.value-box:nth-child(2)::before {
	left: 0;
	right: 0;
	margin: 0 auto;
}

.value-box:nth-child(3)::before {
	left: 55%;
}

.boder-left-design {
	position: relative;
	margin-bottom: 10px;
	left: 10px;
	overflow: hidden;
}

.boder-left-design::before {
	content: "";
	background-color: #fff;
	display: block;
	width: 1px;
	height: 118px;
	position: relative;
	margin-bottom: 5px;
	left: 3px;
	transform-origin: top;
	transform: translateY(-100%);
}

.boder-left-design.animate::before {
	animation: drawLine 3.5s ease-out forwards;
}

@keyframes drawLine {
	0% {
		transform: translateY(-100%);
	}

	100% {
		transform: translateY(0);
	}
}

.boder-left-design::after {
	content: "";
	background-color: #009fe8;
	display: block;
	width: 7px;
	height: 7px;
	position: relative;
	border-radius: 50%;
	opacity: 0;
	transform: scale(0);
}

.boder-left-design.animate::after {
	animation: fadeInDot 0.8s ease-out 3s forwards;
}

@keyframes fadeInDot {
	0% {
		opacity: 0;
		transform: scale(0);
	}

	100% {
		opacity: 1;
		transform: scale(1);
	}
}

#line1,
#line2,
#line3,
.line-number {
	position: relative;
	overflow: hidden;
}

#line1::before,
#line2::before,
#line3::before,
.line-number::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 100%;
	background-color: #009fe8;
	transform: scaleY(0);
	transform-origin: top;
	display: none;
}

#line1.animate::before,
#line2.animate::before,
#line3.animate::before,
.line-number.animate::before {
	animation: drawVerticalLine 2.5s ease-out forwards;
}

@keyframes drawVerticalLine {
	0% {
		transform: scaleY(0);
	}

	100% {
		transform: scaleY(1);
	}
}

/* Horizontal Line Animation */
.values::before {
	content: "";
	position: absolute;
	top: 0;
	left: 15%;
	width: 70%;
	height: 1px;
	background: #fff;
	transform-origin: left;
	transform: scaleX(0);
}

.values.animate::before {
	animation: drawHorizontalLine 3s ease-out forwards;
}

@keyframes drawHorizontalLine {
	0% {
		transform: scaleX(0);
	}

	100% {
		transform: scaleX(1);
	}
}

/* Vertical Lines on Value Boxes */
.value-box::before {
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 73px;
	background: #fff;
	transform-origin: top;
	transform: scaleY(0);
}

.value-box.animate::before {
	animation: drawVerticalBoxLine 3s ease-out forwards;
}

@keyframes drawVerticalBoxLine {
	0% {
		transform: scaleY(0);
	}

	100% {
		transform: scaleY(1);
	}
}

/* 
people
*/
#section2 {
	position: relative;
	padding: 0 0;
}

#line2 span {
	background-color: #fff;
	display: inline-block;
	padding: 0px 10px;
	font-family: "Barlow", sans-serif;
	font-size: 18px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.17;
	letter-spacing: normal;
	color: #002362;
	margin-bottom: 24px;
}

.about-people h2 {
	font-family: "Barlow", sans-serif;
	font-size: 58px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.17;
	letter-spacing: normal;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 35px;
}

.about-people p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 19px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.53;
	letter-spacing: normal;
	color: #fff;
	margin-bottom: 0;
}

.box1 {
	position: relative;
	padding: 20px;
	border-radius: 20px;
	background-color: #fff;
	min-height: 380px;
}

.box2 {
	position: relative;
	padding: 20px;
	border-radius: 20px;
	background-color: #fff;
	min-height: 380px;
}

.box3 {
	position: relative;
	padding: 20px;
	border-radius: 20px;
	background-color: #fff;
	min-height: 380px;
}

/* 
what-we-do
*/
#section3 {
	position: relative;
	padding: 27px 0 122px;
}

#line3 span {
	background-color: #fff;
	display: inline-block;
	padding: 0px 10px;
	font-family: "Barlow", sans-serif;
	font-size: 18px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.17;
	letter-spacing: normal;
	color: #002362;
	margin-bottom: 24px;
}

.about {
	font-family: -whatwe h2 "Barlow", sans-serif;
	font-size: 58px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.17;
	letter-spacing: normal;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 35px;
}

.about-whatwe p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 19px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.53;
	letter-spacing: normal;
	color: #fff;
	margin-bottom: 0;
}

.slids {
	position: relative;
	padding: 0;
	border-radius: 36px;
	background-color: #fff;
	min-height: 380px;
}

.boder-left-design.right-align {
	float: right;
	left: 0;
	padding-right: 15px;
}

.whatwe-slids .owl-carousel .owl-nav .owl-next,
.whatwe-slids .owl-carousel .owl-nav .owl-prev {
	width: 22px;
	height: 145px;
	background-color: #000;
	font-size: 0;
	text-align: center;
	position: absolute;
	top: 40%;
}

.whatwe-slids .owl-carousel .owl-nav .owl-prev:before {
	content: "";
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	width: 8px;
	height: 9px;
	background-color: #fff;
	display: block;
	position: relative;
	top: 68px;
	left: 5px;
}

.whatwe-slids .owl-carousel .owl-nav .owl-next {
	right: 0;
}

.whatwe-slids .owl-carousel .owl-nav .owl-next::before {
	content: "";
	clip-path: polygon(100% 58%, 0 0, 0 100%);
	width: 8px;
	height: 9px;
	background-color: #fff;
	display: block;
	position: relative;
	top: 68px;
	left: 5px;
}

.whatwe-slids .owl-dots {
	text-align: center;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 18px;
}

.whatwe-slids .owl-dot {
	width: 149px;
	height: 8px;
	margin: 0 18px;
	background-color: rgba(255, 255, 255, 0.3);
	display: inline-block;
	text-align: center;
}

.whatwe-slids .owl-dot.active {
	background-color: #fff;
}

.container-fluid {
	padding-left: 50px;
	padding-right: 50px;
}

.video-area .owl-stage {
	padding-left: 0 !important;
}

.video-area .container-fluid {
	padding-right: 0;
}

.video-box {
	position: relative;
	overflow: hidden;
}

.video-link {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
}

.video-link a {
	width: 100%;
}

.video-link img {
	width: auto !important;
	max-width: 40px;
	margin: 0 auto;
	display: block;
}

.video-title h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 39px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	letter-spacing: normal;
	text-align: left;
	color: #fff;
	margin-bottom: 27.5px;
}

.video-area {
	background-color: #0b1b36;
	padding-bottom: 27px;
}

.titlebar p {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.53;
	letter-spacing: normal;
	color: #fff;
	margin-bottom: 0;
}

.titlebar h2 {
	font-family: "Barlow", sans-serif;
	font-size: 58px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.17;
	letter-spacing: normal;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 35px;
}

.line-number span {
	background-color: #fff;
	display: inline-block;
	padding: 0px 10px;
	font-family: "Barlow", sans-serif;
	font-size: 18px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.17;
	letter-spacing: normal;
	color: #002362;
	margin-bottom: 24px;
}

.achieve-part {
	padding-bottom: 56px;
}

/* 
form
*/
.boder-left-design.center-align {
	margin: 0 auto;
	left: 0;
}

.boder-left-design.center-align::before {
	left: 0;
	right: 0;
	margin: 0 auto;
}

.boder-left-design.center-align::after {
	margin: 10px auto;
	display: block;
}

.contact-forms {
	position: relative;
	background-color: #1a2c4a;
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
	padding: 63px 67px 59.4px 74px;
	border-radius: 10px;
}

.contact-content h2 {
	font-family: "Barlow", sans-serif;
	font-size: 42px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.31;
	letter-spacing: normal;
	text-align: center;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 35px;
}

.contact-forms h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 22px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.59;
	letter-spacing: normal;
	text-align: center;
	color: #fff;
	margin-bottom: 35px;
}

.formbtn a {
	background-color: #575757;
	display: inline-block;
	padding: 5px 34px;
	color: #fff;
}

.formbtn {
	position: relative;
	color: #fff;
}

.formbtn a {
	position: relative;
	color: #fff;
}

.textbox {
	width: 100%;
	max-width: 100%;
	padding: 6px 10px;
	border: 0;
	color: black;
	font-family: RyoGothicPlusN-L;
	font-size: 15px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.73;
	letter-spacing: normal;
	text-align: left;
}

#message {
	width: 100%;
	max-width: 100%;
	padding: 6px 10px;
	border: 0;
	color: #c7c7c7;
	font-family: RyoGothicPlusN-L;
	font-size: 15px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.73;
	letter-spacing: normal;
	text-align: left;
	height: 120px;
}

#contact-form .col-md-12 {
	margin-bottom: 35px;
}

#contact-form .col-md-12 p {
	color: #fff;
	margin-bottom: 5px;
}

#contact-form .col-md-12 p span {
	color: #ff0000;
}

#contact-form *::placeholder {
	color: #c7c7c7;
}

.formsubmit {
	padding: 10px 115px;
	border: solid 1px #fff;
	background: #fff url("images/arrow.png") no-repeat center right 10px;
	text-align: center;
	font-family: RyoGothicPlusN-M;
	font-size: 15px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.73;
	letter-spacing: normal;
	color: #000;
	background-size: 5px;
	cursor: pointer;
}

.contact-area,
.about-part,
.people-part,
.whatwe-part,
.banner-area,
.achieve-part {
	background-color: #0b1b36;
	padding-bottom: 75px;
}

#homes {
	margin-top: 80px;
}

.about-future .boder-left-design {
	left: 40px;
}

#section1 #line1 {
	text-align: left;
	padding-left: 30px;
}

/*       10.footer */
footer {
	background-color: #010814;
}

.footer_bottom {
	position: relative;
	padding: 5% 0;
}

.copyright p {
	margin-top: 10px;
	font-family: "Barlow", sans-serif;
	font-size: 52px;
	font-weight: 100;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.31;
	letter-spacing: normal;
	text-align: center;
	color: #989898;
}

/* =========================================
   New Template People Banner Area
========================================= */
/* ===== SECTION GAP CONTROL ===== */
.people-banner-section {
	background: #0b1b36;
	padding: 30px 41px 41px 41px;
	/* TOP GAP ADDED */
}

/* ===== MAIN CONTAINER ===== */
.people-banner-container {
	position: relative;
	width: 100%;
	height: auto;
	/* remove forced vh height */
	border-radius: 28px;
	overflow: hidden;
}

/* ===== IMAGE FIX ===== */
.people-banner-container img {
	width: 100%;
	height: auto;
	/* prevent cropping */
	display: block;
}

/* ===== OVERLAY ===== */
.people-banner-container::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(6, 22, 48, 0.95) 0%, rgba(6, 22, 48, 0.85) 35%, rgba(6, 22, 48, 0.55) 60%, rgba(6, 22, 48, 0.25) 80%, rgba(6, 22, 48, 0.1) 100%);
}

/* ===== CONTENT ===== */
.people-banner-content {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 80px;
	z-index: 2;
	max-width: 600px;
}

.people-banner-content h1 {
	font-family: "Barlow", sans-serif;
	font-size: 58px;
	font-weight: 700;
	line-height: 1.1;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 18px;
}

.people-banner-content p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 17px;
	font-weight: 500;
	color: #ffffff;
}

/* ========================================
   People Profile Section
======================================== */
.people-profile-section {
	background: #0b1b36;
}

.people-profile-container {
	margin: 0 auto;
}

.people-video-section {
	padding: 88px 0;
	position: relative;
	overflow: hidden;
}

/* ===== Header Row ===== */
.profile-header {
	display: flex;
	justify-content: space-between;
	align-items: end;
	margin-bottom: 50px;
}

.profile-name {
	font-size: 28px;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: 2px;
	margin-bottom: 0;
}

.profile-meta {
	font-size: 16px;
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}

/* ===== Media Row ===== */
/* ===== Media Row Layout Fix ===== */
.profile-media-row {}

/* LEFT CARD */
.profile-image-card {
	border-radius: 28px;
	overflow: hidden;
}

/* RIGHT CARD */
.profile-video-card {
	border-radius: 28px;
	overflow: hidden;
	position: relative;
}

/* SAME HEIGHT FOR BOTH */
.profile-image-card,
.profile-video-card {
	height: 420px;
}

/* LEFT IMAGE */
/* .profile-image-card img {
	width: 100%;
	height: 100%;
} */

/* RIGHT IMAGE */
.profile-video-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Play Button */
.play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90px;
	height: 90px;
	background: rgba(0, 0, 0, 0.6);
	border-radius: 50%;
	font-size: 28px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.play-button::after {
	content: "";
	clip-path: polygon(100% 58%, 0 0, 0 100%);
	width: 27.6px;
	height: 29.7px;
	background-color: #fff;
	position: relative;
	text-align: center;
	left: 3px;
}


/* ===== Description ===== */
.profile-description h3 {
	font-size: 23px;
	color: #ffffff;
	margin-bottom: 23.5px;
	font-weight: bold;
	font-family: "Noto Sans JP", sans-serif;
}

.profile-description p {
	font-size: 16px;
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 2.19;
	font-weight: 300;
	margin-bottom: 0;
}

.profile-description {
	padding-top: 52.3px;
}

.profile-divider {
	margin-top: 87.5px;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	width: 100%;
	margin-bottom: 87.5px;
}

.profile-video-card a {
	height: 100%;
}

/* =====================================
   Entry Section
===================================== */
.entry-section {
	background: #0b1b36;
	text-align: center;
	padding-bottom: 57.8px;
}

.entry-container {
	margin: 0 auto;
}

/* Decorative Line */
.entry-decoration {
	position: relative;
	width: 2px;
	height: 60px;
	background: rgba(255, 255, 255, 0.4);
	margin: 0 auto 25px;
}

.entry-decoration span {
	position: absolute;
	bottom: -6px;
	left: 50%;
	transform: translateX(-50%);
	width: 8px;
	height: 8px;
	background: #1ea7ff;
	border-radius: 50%;
}

/* Title */
.entry-title {}

/* Image Wrapper */
.entry-image-wrapper {
	position: relative;
	border-radius: 28px;
	overflow: hidden;
	cursor: pointer;
}

.entry-image-wrapper img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	-webkit-transition: all 600ms;
	-moz-transition: all 600ms;
	-o-transition: all 600ms;
	transition: all 600ms;
}

.entry-image-wrapper:hover img {
	transform: scale(1.2);
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-o-transform: scale(1.2);
	-moz-transform: scale(1.2);
}

/* ENTRY Overlay */
.entry-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 80px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.9);
	letter-spacing: 4px;
	pointer-events: none;
}

/* =====================================
   For What we do page
===================================== */
/* ===================================
   Business Section
=================================== */
.business-section {
	background: #0b1b36;
	padding: 55px 0 0;
}

.business-container {}

/* =========================
   Top Tabs
========================= */
.business-tabs {}

.business-tab {
	flex: 1;
	position: relative;
	height: 120px;
	border-radius: 16px;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	padding: 0 30px;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	text-decoration: none;
	overflow: hidden;
	margin-bottom: 60px;
}

/* Dark overlay */
.business-tab::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.business-tab span {
	position: relative;
	z-index: 2;
}

.tab-arrow {
	position: absolute;
	right: 20px;
	z-index: 2;
	font-size: 16px;
	opacity: 0.8;
}

/* Hover */
.business-tab:hover::before {
	background: rgba(0, 0, 0, 0.6);
}

/* =========================
   Main Content
========================= */
.business-content {}

/* Left Image */
.business-image {
	overflow: hidden;
}

.business-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: all 600ms;
	-moz-transition: all 600ms;
	-o-transition: all 600ms;
	transition: all 600ms;
}

.business-image:hover img {
	transform: scale(1.2);
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-o-transform: scale(1.2);
	-moz-transform: scale(1.2);
}

.business-image {
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}

/* Right Text */
.business-text {
	color: #ffffff;
}

.business-text h2 {
	font-size: 48px;
	margin-bottom: 20px;
}

.business-text h4 {
	font-size: 20px;
	margin-bottom: 20px;
	font-weight: 500;
}

.business-text p {
	font-size: 16px;
	line-height: 1.8;
	opacity: 0.9;
}

/* =====================================
   Logo Carousel Section
===================================== */
/* ===================================
   Continuous Logo Marquee
=================================== */
/* ===================================
   Seamless Continuous Carousel
=================================== */
.logo-marquee-section {
	background: #0b1b36;
	padding: 45px 0 97.5px;
	overflow: hidden;
}

.labo-text h2,
.business-text h2 {
	margin-bottom: 6px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 69px;
	font-weight: bold;
	color: #fff;
}

.labo-text h4,
.business-text h4 {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.59;
	margin-bottom: 38.5px;
	color: #fff;
}

.labo-text p,
.business-text p {
	margin-bottom: 0;
	font-size: 16px;
	line-height: 2.19;
	color: #fff;
}

/* Marquee wrapper */
.logo-marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
}

/* Fade edges */
.logo-marquee::before,
.logo-marquee::after {
	content: "";
	position: absolute;
	top: 0;
	width: 120px;
	height: 100%;
	z-index: 2;
	pointer-events: none;
}

.logo-marquee::before {
	left: 0;
	background: linear-gradient(to right, #0b1b36 0%, transparent 100%);
}

.logo-marquee::after {
	right: 0;
	background: linear-gradient(to left, #0b1b36 0%, transparent 100%);
}

/* Track */
.logo-track {
	display: flex;
	gap: 40px;
	width: max-content;
	animation: scrollInfinite 60s linear infinite;
	/* SPEED CONTROL */
	will-change: transform;
}

/* Smooth infinite animation */
@keyframes scrollInfinite {
	0% {
		transform: translate3d(0, 0, 0);
	}

	100% {
		transform: translate3d(-50%, 0, 0);
	}
}

/* Pause on hover */
.logo-marquee:hover .logo-track {
	animation-play-state: paused;
}

/* Logo cards */
.logo-card {}

/* Divider line */
.carousel-divider {
	margin: 108.5px auto 0;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.logo-card img {
	width: 100%;
	height: auto;
	-webkit-transition: all 600ms;
	-moz-transition: all 600ms;
	-o-transition: all 600ms;
	transition: all 600ms;
}

.logo-card:hover img {
	transform: scale(1.2);
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-o-transform: scale(1.2);
	-moz-transform: scale(1.2);
}

/* ===================================
   LABO Section
=================================== */
.labo-section {
	background: #0b1b36;
}

/* Container */
.labo-container {
	margin: 0 auto;
}

/* Top Content Row */
.labo-content-row {}

/* Image */
.labo-image {
	border-radius: 28px;
	overflow: hidden;
}

.labo-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: all 600ms;
	-moz-transition: all 600ms;
	-o-transition: all 600ms;
	transition: all 600ms;
}

.labo-image:hover img {
	transform: scale(1.2);
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-o-transform: scale(1.2);
	-moz-transform: scale(1.2);
}

/* Text */
.labo-text {
	color: #ffffff;
}

/* ===================================
   Continuous Carousel (Bottom)
=================================== */
.logo-marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.logo-track {
	display: flex;
	gap: 15.8px;
	width: max-content;
	animation: scrollInfinite 60s linear infinite;
	will-change: transform;
}

/* Smooth infinite scroll */
@keyframes scrollInfinite {
	0% {
		transform: translate3d(0, 0, 0);
	}

	100% {
		transform: translate3d(-50%, 0, 0);
	}
}

/* Cards */
.logo-card {
	border-radius: 22px;
	position: relative;
	overflow: hidden;
}

/* Pause on hover */
.logo-marquee:hover .logo-track {
	animation-play-state: paused;
}

/* ===================================
   CTA Cards Section
=================================== */
.cta-cards-section {
	background: #0b1b36;
	padding-bottom: 88px;
}

.cta-container {
	margin: 0 auto;
}

/* Card */
.cta-card {
	position: relative;
	flex: 1;
	border-radius: 28px;
	overflow: hidden;
}

/* Image */
.cta-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	-webkit-transition: all 600ms;
	-moz-transition: all 600ms;
	-o-transition: all 600ms;
	transition: all 600ms;
}

.cta-card:hover img {
	transform: scale(1.2);
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-o-transform: scale(1.2);
	-moz-transform: scale(1.2);
}

/* Overlay (Clickable Area) */
.cta-overlay {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 0 16px 10px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100%);
	text-decoration: none;
	color: #ffffff;
	transition: background 0.3s ease;
}

/* Hover Effect */
.cta-card:hover .cta-overlay {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.1) 100%);
}

.cta-content {
	background-color: rgba(11, 27, 55, 0.5);
	padding: 25px;
	border-radius: 21px;
}

.contact-forms p span {
	color: #ff0000;
}

.custom-file-wrapper p span {
	color: #fff;
}

.contact-forms .mgsbox {
	height: 266px;
	color: black;
}

/* ===================================
   Contact Form Section
=================================== */
#contact-form p {
	font-size: 16px;
	margin-bottom: 8px;
	color: #fff;
}

#contact-form span {
	background: #1ea7ff;
	color: #fff;
	font-size: 12px;
	padding: 3px 8px;
	border-radius: 4px;
	margin-left: 8px;
}

.textbox,
.mgsbox {
	width: 100%;
	padding: 5px 9px;
	height: 27px;
	border: none;
	background: #f2f2f2;
	font-size: 15px;
	margin-bottom: 20px;
	border-radius: 0;
}

.custom-file-wrapper br {
	display: none;
}

.mgsbox {
	resize: none;
}

.formsubmit {}

.formsubmit:hover {}

/* FILE UPLOAD WRAPPER */
.custom-file-wrapper {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 10px;
	flex-wrap: wrap;
}

/* Left small label */
.file-label {
	color: #ffffff;
	font-size: 14px;
}

/* Hide default file input */
.custom-file-input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

/* Custom Button */
.custom-file-btn {
	background: #6c6c6c;
	color: #ffffff;
	padding: 0 34px 0 36px;
	border-radius: 0;
	cursor: pointer;
	font-size: 14px;
	display: inline-block;
	transition: 0.3s ease;
	margin: 0 10px;
	height: 34px;
	line-height: 34px;
}

.custom-file-btn:hover {
	background: #8a8a8a;
}

/* File Name Text */
.file-name {
	color: #ffffff;
	font-size: 14px;
}

.hero-banner {
	margin-top: 72px;
	padding: 36px 41px 0;
}

.hero-banner .page_header_default .parallax_cover {
	position: relative;
}

.hero-banner .page_header_default.style_one {
	padding: 0;
	margin: 0;
	position: relative;
}

.page_header_default .page_header_content {
	position: absolute;
	z-index: 3;
	text-align: center;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	height: 100%;
	display: flex;
	align-items: center;
}

.hero-banner {
	margin-top: 72px;
	padding: 36px 41px 0;
}

.inner-banner-content h1 {
	font-size: 43px;
	font-weight: bold;
	color: #fff;
	text-align: left;
	text-transform: uppercase;
	margin-bottom: 0;
}

.hero-banner .page_header_default .parallax_cover img {
	max-width: 100%;
	height: auto;
}

.inner-banner-content p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 19px;
	font-weight: bold;
	line-height: 1.53;
	color: #fff;
	margin-bottom: 0;
	text-align: left;
}

.contact-forms .wpcf7-spinner {
	position: absolute;
}

.about-whatwe h2 {
	font-family: "Barlow", sans-serif;
	font-size: 58px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.17;
	letter-spacing: normal;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 35px;
}

.cta-content h3 {
	margin-bottom: 0;
	font-size: 28px;
	font-weight: bold;
	color: #fff;
}

.cta-content p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 0;
	color: #fff;
	position: relative;
}

.cta-content p::after {
	content: "";
	clip-path: polygon(100% 58%, 0 0, 0 100%);
	width: 12px;
	background-color: #fff;
	height: 13px;
	display: inline-block;
	position: relative;
	margin-left: 10px;
}

.box,
.achieve-image {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	cursor: pointer;
}

.box img,
.achieve-image img {
	width: 100%;
	height: 100%;
	border-radius: 20px;
	object-fit: cover;
	-webkit-transition: all 600ms;
	-moz-transition: all 600ms;
	-o-transition: all 600ms;
	transition: all 600ms;
}

.box:hover img,
.achieve-image:hover img {
	transform: scale(1.2);
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-o-transform: scale(1.2);
	-moz-transform: scale(1.2);
}

.contact-forms div#wpcf7cpcnf table th {
	color: #000;
}

.contact-forms div#wpcf7cpcnf table td {
	color: #000;
}

.contact-forms #wpcf7cpcnf {
	padding: 0;
	position: relative;
	z-index: 9;
}

.contact-forms .wpcf7cp-form-hide {
	display: none;
}

.contact-forms [type="button"] {
	background-color: #0b1b36;
	border: none;
	color: #fff;
	padding: 5px 30px;
	border-radius: 4px;
}

.contact-forms .mgsbox {
	height: 266px;
}

/* Sequence animation */

/* =====================================================
   BOTTOM SECTION – FINAL CORRECT VERSION
   (Matches your JS using .bottom-active)
===================================================== */

/* Reset bottom only */
.box-future-bottom .values::before {
	transform: scaleX(0);
	transform-origin: right;
}

.box-future-bottom .value-box::before {
	transform: scaleY(0);
	transform-origin: top;
}

.box-future-bottom .value-box::after {
	opacity: 0;
	transform: scale(0);
}

/* IMPORTANT:
   Your structure:
   1st div = empty
   2nd div = first value-box
   3rd div = second value-box
*/

/* STEP 1 — RIGHT VERTICAL (3rd child) */
.box-future-bottom.bottom-active .values>div:nth-child(3)::before {
	animation: bottomRight 1s ease-out forwards;
}

/* STEP 2 — HORIZONTAL (after 1s) */
.box-future-bottom.bottom-active .values::before {
	animation: bottomHorizontal 1.5s ease-out 1s forwards;
}

/* STEP 3 — LEFT VERTICAL (2nd child) */
.box-future-bottom.bottom-active .values>div:nth-child(2)::before {
	animation: bottomLeft 1s ease-out 2.5s forwards;
}

/* STEP 4 — DOT (after 3.5s total) */
.box-future-bottom.bottom-active .values>div:nth-child(2)::after {
	animation: bottomDot 0.4s ease-out 3.5s forwards;
}

/* KEYFRAMES */
@keyframes bottomRight {
	from {
		transform: scaleY(0);
	}

	to {
		transform: scaleY(1);
	}
}

@keyframes bottomHorizontal {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

@keyframes bottomLeft {
	from {
		transform: scaleY(0);
	}

	to {
		transform: scaleY(1);
	}
}

@keyframes bottomDot {
	from {
		opacity: 0;
		transform: scale(0);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

.whatwe-slids p {
	margin-bottom: 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 40px;
	font-weight: 700;
	font-family: "Inter", sans-serif;
}

.job-wrapper {
	max-width: 840px;
	margin: 0 auto;
}

/* TAB BUTTONS */
.job-wrapper .tab-buttons {
	display: flex;
	gap: 15px;
	margin-bottom: 50px;
}

.job-wrapper .tab-buttons .arrow {
	clip-path: polygon(100% 50%, 0 0, 0 100%);
	background-color: #0b1b36;
	width: 10px;
	height: 10px;
	display: block;
}

.job-wrapper .tab-btn {
	flex: 1;
	background: rgba(255, 255, 255, 0.4);
	border: none;
	padding: 18px 20px 19px 22px;
	border-radius: 10px;
	font-size: 23px;
	font-weight: 500;
	color: #0b1b36;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: 0.3s;
}

.job-wrapper .tab-btn.active {
	background: #fff;
	color: #0b1b36;
}

/* TAB CONTENT */
.job-wrapper .tab-content {
	display: none;
	animation: fade .3s ease;
}

.job-wrapper .tab-content.active {
	display: block;
}

@keyframes fade {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.job-wrapper .section-title {
	background: #1a2c4a;
	text-align: center;
	padding: 16.8px;
	border-radius: 8px;
	font-size: 19px;
	font-weight: bold;
	margin-bottom: 35px;
	color: #fff;
}

.job-wrapper .content-box {
	line-height: 2;
	font-size: 16px;
	color: #fff;
	padding-bottom: 60px;
	padding-left: 22px;
	padding-right: 22px;
}

.job-wrapper .content-box strong {
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
}

.job-wrapper .job-list div {
	margin-bottom: 6px;
}

.job-wrapper .description {
	margin-top: 15px;
	line-height: 2;
	color: #f2f2f2;
}

@media(max-width:768px) {
	.job-wrapper .tab-buttons {
		flex-direction: column;
	}

	.job-wrapper .tab-btn {
		width: 100%;
	}
}

/* =====================================================
   Job Dictionary Banner Section
   Layout: True Space BD design
   - White card base
   - Right-aligned infographic image
   - Left-aligned red/navy block headlines
   - Subtle dark hover overlay
   ===================================================== */
.p-job-dictionary {
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.15), 0 4px 20px rgba(0, 0, 0, 0.2);
	width: 100%;
	margin-top: 40px;
	border-radius: 16px;
	overflow: hidden;
}

.p-job-dictionary__container {
	background-color: #ffffff;
	border-radius: 16px;
	display: block;
	position: relative;
	width: 100%;
	height: 368px;
	overflow: hidden;
	isolation: isolate;
	text-decoration: none;
}

/* Hover dark overlay on the foreground */
@media (min-width: 768px) {
	.p-job-dictionary__foreground::after {
		content: '';
		background-color: #172439;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		opacity: 0;
		transition: opacity 312.5ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}

	.p-job-dictionary__container:hover .p-job-dictionary__foreground::after {
		opacity: 0.07;
	}
}

/* Right-aligned background image */
.p-job-dictionary__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.p-job-dictionary__background__image {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 62%;
	height: 100%;
	overflow: hidden;
}

.p-job-dictionary__background__image>img {
	display: block;
	width: 100%;
	height: auto;
	animation: scrollBackground 30s linear infinite alternate;
	will-change: transform;
}

@keyframes scrollBackground {
	0% {
		transform: translateY(0);
	}

	100% {
		/* Scroll down by 80% of the image's height to show the bottom without exposing the background */
		transform: translateY(-80%);
	}
}


/* Foreground: absolute overlay on left side */
.p-job-dictionary__foreground {
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	padding: 48px;
	pointer-events: none;
}

.p-job-dictionary__title {
	color: #fff;
	width: 100%;
	margin-bottom: 8px;
}

/* Headline with RED background block */
.p-job-dictionary__headline {
	font-family: "Barlow", sans-serif;
	font-size: 42px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 52px;
	position: relative;
	width: max-content;
	height: 52px;
	padding: 0 10px;
	margin: 0 0 8px 0;
	color: #ffffff;
	z-index: 0;
}

.p-job-dictionary__headline::after {
	content: '';
	background-color: #d9011e;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

/* Subhead with DARK NAVY background block */
.p-job-dictionary__subhead {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #ffffff;
	position: relative;
	width: max-content;
	height: 32px;
	line-height: 32px;
	padding: 0 10px;
	margin: 0;
	display: flex;
	gap: 6px;
	z-index: 0;
}

.p-job-dictionary__subhead::after {
	content: '';
	background-color: #00276b;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

/* Body text: dark navy, left-aligned, max 45% width so it doesn't overlap the image */
.p-job-dictionary__body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	line-height: 1.75;
	color: #172439;
	display: block;
	text-align: justify;
	width: 42%;
	padding-top: 20px;
	margin: 0;
}

.p-job-dictionary__body span {
	display: block;
}

/* CTA button: absolute bottom-left, bottom-border style */
.p-job-dictionary__button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	position: absolute;
	bottom: 48px;
	left: 48px;
	color: #172439;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 700;
	padding-bottom: 4px;
}

.p-job-dictionary__button::after {
	content: '';
	background-color: #172439;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	transition: width 312.5ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.p-job-dictionary__button__label {
	color: #172439;
}

.p-job-dictionary__button__icon {
	width: 20px;
	height: 20px;
	fill: #172439;
	display: block;
	flex-shrink: 0;
	transition: transform 312.5ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.p-job-dictionary__container:hover .p-job-dictionary__button__icon {
	transform: translateX(4px);
}

/* ===== Mobile Responsive ===== */
@media (max-width: 767px) {
	.p-job-dictionary {
		margin-top: 30px;
	}

	.p-job-dictionary__container {
		border-radius: 12px;
		height: auto;
		min-height: 320px;
	}

	.p-job-dictionary__background__image {
		width: 100%;
	}

	.p-job-dictionary__foreground {
		justify-content: space-between;
		padding: 20px 18px;
	}

	.p-job-dictionary__headline {
		font-size: 30px;
		line-height: 38px;
		height: 38px;
		padding: 0 6px;
	}

	.p-job-dictionary__subhead {
		font-size: 15px;
		height: 28px;
		line-height: 28px;
		padding: 0 6px;
	}

	/* On mobile, body text sits below image with a white tinted background */
	.p-job-dictionary__body {
		position: relative;
		width: 100%;
		z-index: 1;
		padding: 14px 0 44px;
	}

	.p-job-dictionary__body::before {
		content: '';
		background-color: #fff;
		display: block;
		position: absolute;
		top: 0;
		left: -18px;
		width: calc(100% + 36px);
		height: calc(100% + 28px);
		z-index: -1;
		opacity: 0.95;
	}

	.p-job-dictionary__body::after {
		content: '';
		background-color: #e1e3e5;
		display: block;
		position: absolute;
		top: 0;
		left: -18px;
		width: calc(100% + 36px);
		height: 1px;
	}

	.p-job-dictionary__button {
		bottom: 16px;
		left: 18px;
	}
}

.logo-img {
	width: 250px;
}

footer {
	background-color: #00102c;
	padding: 86px 63px 34px 65px;
	margin-top: 0;
}

.container-fluid {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

footer {
	background-color: #00102c;
}

.contact {
	position: relative;
}

footer .footer-left .copy {
	border: none;
	padding-bottom: 0;
}

footer .footer-left .copy small {
	text-align: left;
	max-width: inherit;
	min-width: inherit;
	padding: 0;
}

footer .footer-left .copy p {
	margin-bottom: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 12px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.67;
	letter-spacing: normal;
	text-align: left;
	color: #fff;
}

.footer-left {
	display: flex;
	align-items: end;
}

.footer-two i {
	color: #fff;
}

.footer-two {
	padding-left: 70.5px;
}

.footer-menu ul li {
	text-align: right;
}

.footer-menu ul li a {
	color: #fff;
}

footer {
	background-color: #00102c;
	padding: 86px 63px 34px 65px;
	margin-top: 0;
}

.btn_box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 125px;
}

.main_area .entry_area .btn_area .btn_box a {
	width: 100%;
	height: 100%;
	border: 1px solid #002666;
}

.btn_box a .t_box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 400px;
	height: 75px;
	border-bottom: 1px solid #002666;
	background: #fff;
}

.btn_box a .t_box p {
	color: #002666;
	letter-spacing: 2px;
	font-weight: 700;
	font-size: 26px;
}

.btn_area .btn_box a .t_box p i {
	padding-left: 5px;
}

.fa-external-link-alt:before {
	content: "\f35d";
}

.btn_box a .b_box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	border-bottom: 1px solid #002666;
	background: rgb(48, 191, 188);
	background: linear-gradient(10deg, rgb(48, 191, 188) 0%, rgb(46, 85, 141) 100%);
}

.main_area .entry_area .btn_area .btn_box a .b_box p {
	color: #ffd513;
	letter-spacing: 2px;
	font-weight: 700;
	font-size: 26px;
}

.btn_box a .b_box .triangle_box {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 0;
	height: 0;
	border-width: 8px 0 8px 8px;
	border-style: solid;
	border-color: transparent transparent transparent #ffd513;
	transform: translateY(-50%);
}
