/* common */
.container_inner .common_tag{color:var(--main-color); font-size:20px; font-weight:800; line-height:1; margin-bottom:20px;}
.container_inner .common_tit{font-size:60px; font-weight:800; line-height:1; margin-bottom:45px;}
.container_inner .common_btn a{display:flex; align-items:center; justify-content:center; font-size:16px; line-height:1; font-weight:500; border:2px solid #fff; column-gap:5px; transition:0.35s all ease;}
.container_inner .common_btn a:hover{transition:0.35s all ease;}
.container_inner .common_btn a:after{content:'→'; font:inherit; color:inherit; transition:0.35s transform ease;}
.container_inner .common_btn a:hover:after{transform:translateX(+10px); transition:0.35s transform ease;}

@media (max-width:1300px){
	.container_inner .common_tag{font-size:1.5vw; margin-bottom:1.5vw;}
	.container_inner .common_tit{font-size:4.5vw; margin-bottom:3vw;}
	.container_inner .common_btn a{font-size:1.25vw;}
}

@media (max-width:767px){
	.container_inner .common_tag{font-size: 2.5vw; margin-bottom: 1.5vw;}
	.container_inner .common_tit{font-size: 6vw; margin-bottom: 3vw;}
	.container_inner .common_btn a{font-size: 2.25vw;}
	.container_inner .common_btn a:hover:after{transform:translateX(0);}
}

@media (max-width:480px){
	.container_inner .common_tag{font-size: 4vw; margin-bottom: 2vw;}
	.container_inner .common_tit{font-size: 7vw; margin-bottom: 4vw;}
	.container_inner .common_btn a{font-size: 3vw;}
}
/* //common*/




/* visual */
.visual{position:relative;width:100%; height:auto;}
.visual .slick-slide{position:relative; width:100%; height:auto; text-align:center;}
.visual .slick-slide img{width: 100%;}
.visual .slick-slide .deco{position:absolute; z-index:1; left:50%; top:50%; padding:0 40px; color:#fff; transform:translate(-50%, -50%);}
.visual .slick-slide .deco strong{font-size:70px; word-break:keep-all; font-weight:800; line-height:1; white-space: nowrap;}
.visual .slick-slide .deco p{margin-top:20px; font-size:35px; font-weight:200; word-break:keep-all; font-weight:500; line-height:1; white-space: nowrap;}
.visual .slick-dots{position:absolute; z-index:1; bottom:66px; left:50%; transform:translateX(-50%)}
.visual .slick-dots li{display:inline-block; width:16px; height:16px; margin:0 5px; text-indent:-9999px; border:2px solid #fff; border-radius:14px; background:transparent; cursor: pointer;}
.visual .slick-dots li.slick-active {background:#fff;}

@media all and (max-width:1600px){
	.visual .slick-slide{height:auto;}
}

@media all and (max-width:1249px) {
	.visual {left:0; width:150%; height:auto; margin-left:-25%;}
}

@media all and (max-width:1000px) {
	.visual {width:130%; margin-left:-15%;}
	.visual .slick-slide .deco {padding:0;}
	.visual .slick-slide .deco strong {font-size:45px;}
	.visual .slick-slide .deco p {font-size:20px;}
	.visual .slick-dots {bottom:20px;}
}

@media all and (max-width:768px) {
	.visual {width:150%; margin-left:-25%;}
	.visual .slick-arrow {width:35px; height:35px;}
}

@media all and (max-width:480px){
	.visual .slick-slide{height:350px}
	.visual .slick-slide img{height:100%; object-fit:cover}
	.visual .slick-slide .deco p {display:none;}
	.visual .slick-slide .deco strong{font-size:8vw;}
}

/* //visual */




/* welcome */
.welcome{padding:130px 0;}
.welcome .container_inner{position:relative;}
.welcome .container_inner .txt_area .text{color:#666; font-size:18px; font-weight:500; line-height:1.555; margin-bottom:90px;}
.welcome .container_inner .txt_area .common_btn a{width:190px; height:50px; border-color: var(--main-color); color:var(--main-color);}
.welcome .container_inner .txt_area .common_btn a:hover{background:var(--main-color); color:#fff;}
.welcome .container_inner .img_area{position:absolute; top:50%; right:0; transform:translateY(-50%); width:49%; max-width:613px;}
.welcome .container_inner .img_area img{max-width:100%;}

@media (max-width:1300px){
	.welcome{padding:10vw 0;}
	.welcome .container_inner .txt_area .text{font-size:1.4vw; margin-bottom:7vw;}
	.welcome .container_inner .txt_area .common_btn a{width:14vw; height:4vw;}
}

@media (max-width:767px){
	.welcome .container_inner .txt_area .common_btn a{width: 27vw; height: 6vw;}
	.welcome .container_inner .txt_area .common_btn a:hover{background: transparent; color: var(--main-color);}
	.welcome .container_inner .txt_area .text{font-size: 2.5vw; margin-bottom: 7vw;}
	.welcome .container_inner .img_area{width:100%; transform:none; position:relative; margin-top:5vw; max-width:unset; text-align:center;}
}

@media (max-width:480px){
	.welcome{padding:20vw 0;}
	.welcome .container_inner .txt_area .text{font-size:3.5vw;}
	.welcome .container_inner .txt_area .common_btn a{width: 35vw; height: 9vw;}
}
/* //welcome */




/* companion */
.companion{background:url('../img/main/companion-bg.jpg'); height:400px; background-size: cover; background-position: center;}
.companion .container_inner{height:100%; position:relative;}
.companion .container_inner .desc{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); text-align:center;}
.companion .container_inner .desc .common_tit{color:#fff; white-space: nowrap;}
.companion .container_inner .desc .common_btn{margin: 0 auto; display: block; width: fit-content;}
.companion .container_inner .desc .common_btn a{width:180px; height:50px; color:#fff;}
.companion .container_inner .desc .common_btn a:hover{background-color:#fff; color:var(--main-color);}

@media (max-width:1300px){
	.companion{height:30vw;}
	.companion .container_inner .desc .common_btn a{width:13vw; height:4vw;}
}

@media (max-width:767px){
	.companion .container_inner .desc .common_btn a{width: 22vw; height: 6vw;}
	.companion .container_inner .desc .common_btn a:hover{background-color: transparent; color: #fff;}
}

@media (max-width:480px){
	.companion{height:50vw;}
	.companion .container_inner .desc .common_btn a{width: 30vw; height: 9vw;}
}
/* //companion */




/* communication */
.communication{background:#f5f5f5; padding:130px 0 100px;}
.communication .container_inner ul{display:flex; flex-wrap:wrap; column-gap:25px; row-gap:30px;}
.communication .container_inner ul li{width:calc((100% - 50px) / 3); height:230px; border:1px solid #bbb; padding:40px 30px; display:flex; flex-direction: column; transition:0.5s transform ease; background-color:#fff;}
.communication .container_inner ul li:hover{transform:translateY(-20px); transition:0.5s transform ease; border:2px solid #c9242b;}
.communication .container_inner ul li .box_tit{font-size:30px; font-weight:800; line-height:1; margin-bottom:10px;}
.communication .container_inner ul li .box_sub{font-size:17px; font-weight:300; line-height:1.3; color:#666;}
.communication .container_inner ul li .bottom{display:flex; justify-content: space-between; margin-top:auto; align-items: flex-end;}
.communication .container_inner ul li .bottom .quick{font-size:16px; color:#666; font-weight:500; display:flex; column-gap:5px; margin-bottom:15px;}
.communication .container_inner ul li .bottom .quick:after{content:'→'; font:inherit; color:inherit; transition:0.35s transform ease;}
.communication .container_inner ul li .bottom .quick:hover:after{transform:translateX(+10px); transition:0.35s transform ease;}
.communication .container_inner ul li .bottom .icon{width:53px;}
.communication .container_inner ul li .bottom .icon img{max-width:100%;}

@media (max-width:1300px){
	.communication{padding:10vw 0 8vw;}
	.communication .container_inner ul{column-gap:2vw; row-gap:2.5vw;}
	.communication .container_inner ul li{width:calc((100% - 4vw) / 3); height:19vw; padding:2.5vw 2vw;}
	.communication .container_inner ul li .box_tit{font-size:2.5vw; margin-bottom:10px;}
	.communication .container_inner ul li .box_sub{font-size:1.4vw;}
	.communication .container_inner ul li .bottom .quick{font-size:1.25vw; column-gap:0.5vw; margin-bottom:1.2vw;}
}

@media (max-width:767px){
	.communication .container_inner ul{column-gap: 3vw; row-gap: 3.5vw;}
	.communication .container_inner ul li{width: calc((100% - 3vw) / 2); height: 30vw; padding: 3vw 2.5vw;}
	.communication .container_inner ul li:hover{transform: translateY(0); border: 1px solid #bbb;}
	.communication .container_inner ul li .box_tit{font-size: 4vw; margin-bottom: 2vw;}
	.communication .container_inner ul li .box_sub{font-size: 2.5vw;}
	.communication .container_inner ul li .bottom .quick{font-size: 2.25vw; column-gap: 1vw; margin-bottom: 1.2vw;}
	.communication .container_inner ul li .bottom .quick:hover:after{transform: translateX(0);}
	.communication .container_inner ul li .bottom .icon{width: 6.5vw;}
}

@media (max-width:480px){
	.communication{padding:20vw 0 16vw;}
	.communication .container_inner ul li{width:100%; height: 40vw; padding: 4vw;}
	.communication .container_inner ul li .box_tit{font-size:5vw;}
	.communication .container_inner ul li .box_sub{font-size: 3.5vw;}
	.communication .container_inner ul li .box_sub br{display:none;}
	.communication .container_inner ul li .bottom .quick{font-size: 3vw; column-gap: 1vw; margin-bottom: 1.2vw;}
	.communication .container_inner ul li .bottom .icon{width: 7.5vw;}
}
/* //communication */