@charset "utf-8";

.mv_area {
	position: relative;
	width: 100%;
	aspect-ratio: 1366 / 560;
	overflow: hidden;
}
.mv_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mv_slide {
	position: relative;
	width: 100%;
}
.slick-dotted.slick-slider {
    margin-bottom: 0;
}
.mv_controls {
	position: absolute;
	right: 31px;
	bottom: 25px;
	display: flex;
	align-items: center;
	z-index: 20;
}
.mv_arrow {
	width: 12px;
	height: 12px;
	cursor: pointer;
	border: none;
}
.mv_prev {
	background: url(/img/common/arrow_l_white.svg) no-repeat center;
}
.mv_next {
	background: url(/img/common/arrow_r_white.svg) no-repeat center;
}
.mv_dots {
	margin: 0 17px;
}
.slick-dots {
	display: flex;
	position: static;
	gap: 5px;
	margin: 0;
	padding: 0;
}
.slick-dots li {
	list-style: none;
	margin: 0;
	width: 6px;
	height: 6px;
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 6px;
	height: 6px;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: 1px solid #fff;
	border-radius: 12px;
	outline: none;
	background: none;
}
.slick-dots li button:before {
	font-size: 6px;
	line-height: 6px;
	width: 6px;
	height: 6px;
	color: #fff;
}
.slick-dots li.slick-active button:before {
	color: #fff;
}
.mv_playpause {
	margin-left: 28px;
	width: 23px;
	height: 23px;
	border-radius: 50%;
	cursor: pointer;
	border: none;
}
.mv_playpause.is_pause {
	background: url(/img/index/icon_stop.svg) no-repeat center;
}
.mv_playpause.is_play {
	background: url(/img/index/icon_play.svg) no-repeat center;
}

.product_area{
	background: #0C2D4E;
	padding: 68px 0 190px;
}
.product_area_in {
	display: grid;
	grid-template-columns: 330fr 730fr;
	grid-template-rows: auto auto;
	column-gap: calc(40 / 1100 * 100%);
	max-width: 1140px;
	padding: 0 20px;
	margin: auto;
}
.product_head {
	position: relative;
	padding-top: 22px;
	margin-bottom: 28px;
	font-size: 3.6rem;
	line-height: 5.2rem;
	font-weight: 500;
	color: #fff;
}
.product_head::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: 6px;
	background: #fff;
	box-shadow:
	10px 0 0 #8696A7,
	20px 0 0 #3D5771;
}
.product_txt {
	line-height: 2.7rem;
	color: #fff;
}
.product_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 10px;
	margin-top: 32px;
	grid-column: 2;
	grid-row: 1 / 4;
}
.product_item {
	position: relative;
}
.product_item::before {
	content: "";
	position: absolute;
	inset: -4px;
	border-radius: 7px;
	border: 2px solid transparent;
	transition: border-color 0.3s;
	pointer-events: none;
}
.product_item:hover::before {
	border-color: #238CF9;
}
.product_link {
	display: flex;
	align-items: center;
	position: relative;
	gap: 9px;
	padding: 5px 42px 5px 5px;
	max-width: 360px;
	max-height: 79px;
	height: 100%;
	font-size: 1.5rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 4px;
	background: #fff;
}
.product_link::after {
	content: "";
	position: absolute;
	right: 21px;
	width: 8px;
	height: 12px;
	background: url(/img/common/arrow_r_blue.svg) no-repeat center;
}
.product_img {
	max-width: 85px;
	height: 69px;
	object-fit: cover;
}
.product_info {
	padding-top: 4px;
	font-size: 1.5rem;
	line-height: 2.1rem;
	font-weight: 500;
	transition: color 0.3s;
}
.product_link:hover .product_info {
	color: #238CF9;
}
.link_btn.end_position {
    grid-column: 1;
    grid-row: 2;
    align-self: self-start;
    margin-top: 48px;
}
.service_wrap {
	padding: 60px 0 0;
}
.service_area_in {
	display: grid;
	grid-template-columns: 330fr 730fr;
	column-gap: calc(40 / 1100 * 100%);
	max-width: 1140px;
	padding: 0 20px;
	margin: auto;
	grid-template-rows: auto auto;
}
.service_head {
    position: relative;
    padding-top: 22px;
    margin-bottom: 28px;
    font-size: 3.6rem;
    line-height: 5.2rem;
    font-weight: 500;
    color: #fff;
}
.service_head::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: 6px;
	background: #fff;
	box-shadow: 10px 0 0 #8696A7, 20px 0 0 #3D5771;
}
.service_txt {
	color: #fff;
	font-weight: 400;
	line-height: 2.7rem;
}
.service_img {
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: end;
}
.cases_area{
	padding: 0 20px;
	margin: 101px auto 90px;
	max-width: 1140px;
}
.cases_area_in {
	display: flex;
	justify-content: space-between;
}

.cases_head,.company_head,.news_head,.recruit_head {
	position: relative;
	padding-top: 22px;
	margin-bottom: 28px;
	font-size: 3.6rem;
	line-height: 5.2rem;
	font-weight: bold;
}
.cases_head::before,.company_head::before,.news_head::before,.recruit_head::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: 6px;
	background: #238CF9;
	box-shadow:
	10px 0 0 #1266BD,
	20px 0 0 #004081;
}
.cases_area_in .link_btn,
.news_area_in .link_btn {
	margin-top: 15px;
	width: 212px;
	height: 57px;
	color: #333 !important;
	border-bottom: 1px solid #D5D5D5;
}
.cases_area_in .link_btn::after,
.news_area_in .link_btn::after {
	background: url(/img/common/arrow_r_blue.svg) no-repeat top right;
	right: 6px;
}
.cases_area_in .link_btn:hover,
.company_area_in .link_btn:hover,
.recruit_area_in .link_btn:hover,
.news_area_in .link_btn:hover {
	border-color: #238CF9;
}
.cases_list{
	display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 20px;
}
.cases_link{
	display: flex;
    flex-direction: column-reverse;
    overflow: hidden;
	text-decoration: none;
}
.cases_link img {
	object-fit: cover;
	width: 100%;
	aspect-ratio: 353 / 250;
	height: auto;
}
.cases_info{
	padding: 10px 5px;
	transition: background 0.3s;
}
.cases_title{
	font-size: 1.7rem;
	letter-spacing: 0.85px;
	line-height: 2.7rem;
	position: relative;
	padding-top: 7px;
	font-weight: bold;
	text-decoration: underline;
}
.cases_link:hover .cases_title{
	text-decoration: none !important;
}
p.case_use_cate {
	font-size: 1.1rem;
	line-height: 2rem;
}
.cases_link_btn{display: none;}
.cases_category span,.cases_industry span{
	display: inline-block;
	width: 58px;
    text-align: center;
	font-size: 1.1rem;
	letter-spacing: 0;
	line-height: 1.6rem;
	margin-right: 3px;
	border: 1px solid #DDDDDD;
}
.company_area {
	display: grid;
	grid-template-columns: 330fr 680fr;
	column-gap: calc(90 / 1100 * 100%);
	margin: 94px auto 93px;
	max-width: 1140px;
	padding: 0 20px;
}
.company_txt {
	margin-bottom: 48px;
	line-height: 2.7rem;
}
.company_area_in .link_btn{
	margin-bottom: 19px;
	width: 100%;
	color: #333 !important;
	border-bottom: 1px solid #D5D5D5;
}
.company_area_in .link_btn::after {
	right: 11px;
	background: url(/img/common/arrow_r_blue.svg) no-repeat top right;
}
.company_img {
	margin: 22px 0 7px;
}

.recruit_area {
	padding: 0 20px;
	margin: auto;
	max-width: 1140px;
	display: flex;
}
.recruit_area_in {
	position: relative;
}
.recruit_head {
    margin-bottom: 8px;
}
.recruit_txt {
	margin: 27px 0 37px;
	line-height: 2.8rem;
}
.recruit_area_in .link_btn {
    text-align: left;
    width: 330px;
    border-bottom: 1px solid #D5D5D5;
    color: #333 !important;
    font-weight: bold;
}
.recruit_area_in .link_btn::after {
	background: #fff url(/img/common/arrow_r_navy.svg) no-repeat center right 11px;
}
.recruit_img_wrap {
    max-width: 630px;
    margin-top: 20px;
}
.news_area {
	max-width: 1140px;
	padding: 0 20px;
	margin: 100px auto;
}
.news_area_in {
	display: grid;
	grid-template-columns: 212fr 800fr;
	column-gap: calc(88 / 1100 * 100%);
	align-items: flex-start;
}
.news_head{
	margin-bottom: 8px;
}
.news_cat_box {
    margin-top: 32px;
}
.news_cat_box_in {
	margin-bottom: 38px;
}
.news_cat_link {
	display: block;
	padding: 0;
	margin-bottom: 25px;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 2.5rem;
	text-decoration: none;
	background: none;
	color:#333;
	border: none;
	cursor: pointer;
	transition:color 0.3s;
}
.news_cat_link:hover {
	color: #238CF9;
}
.is_active{
	position: relative;
	padding-left: 11px;
}
.is_active::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	opacity: 0;
	transform: translateY(-50%) scaleY(0.5);
	width: 3px;
	height: 16px;
	background: #238CF9;
	transition: opacity 0.3s ease,transform 0.3s ease;
}
.is_active::before{
	opacity: 1;
	transform: translateY(-50%) scaleY(1);
}
.news_link {
	display: flex;
	align-items: center;
	position: relative;
	text-decoration: none;
	padding: 18px 45px 15px 9px;
	border-bottom: 1px solid #ddd;
	transition: border-color 0.3s;
}
.news_link::before {
	content: "";
	position: absolute;
	right: 21px;
	width: 8px;
	height: 12px;
	background: url(/img/common/arrow_r_blue.svg) no-repeat center;
}
.news_link:hover {
	border-color: #238CF9;
}
.news_info {
	display: flex;
	align-items: baseline;
}
.news_date {
	font-size: 1.1rem;
	line-height: 2.7rem;
	transition: color 0.3s;
}
.news_cate {
	padding: 2px 5px;
	margin: 0 15px;
	width: 114px;
	height: 22px;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.6rem;
	border: 1px solid #ccc;
	text-align: center;
	transition: color 0.3s, border-color 0.3s;
}
.news_title {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2.1rem;
	transition: color 0.3s;
}

.select_box{display: none;}

@media screen and (max-width:1024px){
.mv_area {
	aspect-ratio: 768 / 264;
}
.mv_controls{
	right: 20px;
	bottom: 70px;
}
.product_area {
	padding: 49px 0 72px;
}
.product_area_in,.service_area_in{
	display: block;
	position: relative;
	margin-bottom: 60px;
}
.product_list{margin:13px 0 0;}
.product_link{max-width: 100%;}
.link_btn.pc_size {
	position: absolute;
	right: 20px;
	margin-top: 21px;
}
.service_wrap {
	margin-bottom: 10px;
}
.cases_area {
	margin: 80px auto 90px;
}
.cases_area_in .link_btn, .news_area_in .link_btn {
	margin-top: 20px;
	height: 50px;
}
.company_area {
	grid-template-columns: 1fr 1fr;
	column-gap: 20px;
	margin: 90px auto 105px;
}
.company_txt {
	margin-bottom: 27px;
}
.recruit_head {
	margin-bottom: 0;
}
.recruit_txt {
	margin: 27px 0;
}
.news_area {
	margin: 110px auto 150px;
}
.news_head_area {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 11px;
}
.select_box{display: block;}
.news_cat_box{display: none;}
.select_box_in {
	display: flex;
	margin-top: 23px;
}
.select_name {
	margin-right: 15px;
}
.select_item{position: relative;}
.select_item_in {
	width: 260px;
	border: 1px solid #ddd;
	border-radius: 2px !important;
	padding: 11px 18px 9px;
	font-size: 1.6rem;
	color: #333 !important;
}
.select_item::before {
	content: "";
	position: absolute;
	top: 18px;
	right: 15px;
	width: 12px;
	height: 12px;
	background: url(/img/common/arrow_b_blue.svg) no-repeat center;
}
.news_area_in {
	grid-template-columns: 1fr;
	border-top: 1px solid #ddd;
	position: relative
}
.news_link {
	display: block;
	padding: 18px 45px 18px 9px;
}
.news_link::before {
    right: 11px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.news_info{margin-bottom: 8px;}
.link_btn.sp_size {
	display: block !important;
	position: absolute;
	bottom: -70px;
	right: 0;
}

}

@media screen and (max-width:1023px){
.cases_list {
	grid-template-columns: 1fr 1fr;
	grid-gap: 32px 20px;
}
}
@media screen and (max-width:767px){
p{
	font-size: 1.4rem;
	line-height: 2.52rem;
}
.link_btn{
	font-size: 1.5rem;
	width: 211px;
	padding: 0 0 1px 5px;
}
.link_btn::after {
    bottom: 12px;
    right: 5px;
    width: 20px;
    height: 20px;
    background-position:center right;
    background-size:7px;
}
.product_area{padding: 50px 0 1px;}
.product_area_in, .service_area_in {
	margin-bottom: 50px;
}
.product_list{
	grid-template-columns: 1fr;
	grid-gap: 5px;
	margin: 26px 0 0;
}
.product_head,.service_head {
	font-size: 3rem;
	line-height: 4.4rem;
	padding-top: 17px;
	margin-bottom: 20px;
}
.product_txt {
    margin-bottom: 0;
    line-height: 2.52rem;
}
.product_link{
	min-height: 63px;
	padding-right: 30px;
	padding: 1px 42px 0px 5px;
}
.product_link::after{right: 15px;}
.product_img{
	max-width: 65px;
	height: 52px;
}
.product_info{
	font-size: 1.3rem;
	line-height: 1.9rem;
	padding-top: 0;
}
.link_btn.end_position {
	margin-left: auto;
	margin-top: 18px;
}
.service_wrap {
	padding: 0;
}
.cases_area, .company_area{
	margin: 62px auto;
	position: relative;
}
.cases_area_in{display: block;}
.cases_head, .company_head, .news_head {
    padding-top: 15px;
    font-size: 3rem;
    line-height: 4.4rem;
	font-weight: bold;
}
.cases_area_in .link_btn, .news_area_in .link_btn{
	height: 45px;
	margin-left: auto;
}
.cases_list {
	grid-template-columns: 1fr;
}
.cases_title {
	font-size: 1.6rem;
}
.cases_area .link_btn{
	color: #333 !important;
	border-bottom: 1px solid #D5D5D5;
	left: 50%;
	transform: translateX(-50%);
}
.cases_area .link_btn::after {
	right: 11px;
	background: url(/img/common/arrow_r_blue.svg) no-repeat top right;
}
.cases_link_btn{
	display: block;
	position: absolute;
	bottom: -70px;
}
.company_area{
	display: flex;
	flex-direction: column-reverse;
	align-items: start;
	margin: 108px auto 35px;
}
.company_area_in{width: 100%;}
.company_head {
	padding-bottom: 0;
	margin-bottom: 22px;
}
.company_txt {
	margin-bottom: 18px;
	line-height: 2.52rem;
}
.company_img {margin-bottom: 30px;}
.company_area_in .link_btn {
	margin: auto;
	width: 211px;
}
.recruit_area {
	display: grid;
	grid-template-columns: 1fr;
}
.recruit_area_in {
	order: 2;
	margin-top: 31px;
}
.recruit_img_wrap{
	order: 1;
}
.recruit_head {
	padding-top: 17px;
	margin-bottom: 0;
	font-size: 3rem;
	line-height: 4.4rem;
}
.recruit_txt{margin: 13px 0;}
.recruit_area_in .link_btn {
	width: 211px;
	margin: auto;
}

.news_area{margin: 49px auto 124px;}
.news_cat_box{display: none;}
.news_area_in{display: block;}
.news_head_area {
	display: block;
}
.news_head {margin-bottom: 27px;}

.select_box{
	display: block;
	margin-bottom: 40px;
}
.select_box_in{
	display: flex;
    align-items: center;
}
.select_name{
	font-size: 1.5rem;
	letter-spacing: 1.75px;
	line-height: 2.1rem;
	margin-right: 14px;
}
.select_item{
    height: 46px;
    max-width: 260px;
    width: 100%;
}
.select_item_in{
	display: block;
    width: 100%;
    height: 100%;
	font-size: 1.5rem;
	padding: 9px 40px 10px 16px;
}

.news_link {
    padding: 12px 30px 11px 10px;
}
.news_info {
	margin-bottom: 6px;
}
.news_title {
    font-size: 1.4rem;
    line-height: 2.52rem;
}
.news_area_in .link_btn {
	left: 50%;
	transform: translateX(-50%);
	margin: auto;
	bottom: -65px;
}

}

@media screen and (max-width:599px){
.mv_area{
	aspect-ratio: auto;
}
.mv_controls{
	right: 22px;
	bottom: 19px;
}


}

