@charset "utf-8";

div.main-visual.slick-dotted.slick-slider{margin-bottom:0;}
div.main-visual .box {display:block; position:relative; height:100vh;}
div.main-visual .box:after {display:block; position:absolute; content:""; width:100%; height:100%; background-color:rgba(0,0,0,0.2);}
div.main-visual .box.bg1{ background-image: url("../img/main/main-visual01.jpg");}
div.main-visual .box.bg2{ background-image: url("../img/main/main-visual02.jpg");}
div.main-visual .box div.txt-area{position: absolute; top: 45%; left: 50%; z-index:1; transform: translate(-50%, -50%);}
div.main-visual .box div.txt-area a{}
div.main-visual .box div.txt-area a p{color: #fff; font-size: 3rem;  font-weight: 400; line-height:1.5; text-align:center;}
div.main-visual .box div.txt-area a p span{display:block; font-weight: 800; font-size:8rem;}
div.main-visual .slick-dots {bottom: 40px;}

div.main-visual .slick-prev, 
div.main-visual .slick-next{top: 50%; transform: translateY(-50%); z-index:1;}
div.main-visual .slick-prev{left: 14%;}
div.main-visual .slick-next{right: 14%;}
div.main-visual .slick-prev:before, 
div.main-visual .slick-next:before{font-size:3.8rem;}
div.main-visual .slick-prev:hover, 
div.main-visual .slick-next:hover{background:none;}

.a_more{display:inline-block; position:relative; border-bottom:0.1rem solid rgba(0,0,0,0); font-size:2rem; font-weight:600; color:#222; transition:ease all 0.3s; padding:1rem 4.5rem 1rem 1rem; background:url("../img/main/icon-more.png") center right no-repeat;}
.a_more.white{color:#fff; background:url("../img/main/icon-more-w.png") center right no-repeat;}

.a_more:hover{border-bottom:0.1rem solid #222;}
.a_more.white:hover{border-bottom:0.1rem solid #fff;}

.more-txt{position:relative;}
.more-txt a.a_more{position:absolute; bottom:0; right:0;}

.ell.row3{max-height:8rem; height:8rem;}

#main section.business{padding:18rem 0 16rem}
#main section.business p.more-txt{margin-bottom:15rem;}
#main section.business div.box{position:relative; width:35rem; transition:ease all 0.3s; margin-top:10rem;}
#main section.business div.box a{width:100%; display:block;}
#main section.business div.box a div.img-box{position:relative; width:100%; height:40rem; background:url("../img/main/img-main-business-01.jpg") 0 0 no-repeat; overflow:hidden;}
#main section.business div.box a div.img-box.bg2{background:url("../img/main/img-main-business-02.jpg") 0 0 no-repeat;}
#main section.business div.box a div.img-box.bg3{background:url("../img/main/img-main-business-03.jpg") 0 0 no-repeat;}
#main section.business div.box a div.img-box:after{display:block; position:absolute; top:0; left:0; content:""; width:100%; height:100%; background-color:rgba(0,0,0,0.6);}
#main section.business div.box a div.txt-area{transition:ease all 0.3s;}
#main section.business div.box a div.txt-area p{margin-top:1rem;}
#main section.business div.box a div.txt-area p.txt20{display:none;}
#main section.business div.box a div.view{position:absolute;  right:2rem; top:33rem; width:5rem; height:5rem; border-radius:50%; background:#000;}
#main section.business div.box a div.view:after{display:block; position:absolute; top:0; left:0; text-align:center; font-size:3rem; line-height:5rem; content:"\e9c5"; font-family: xeicon; width:100%; height:100%; color:#fff;}

#main section.business div.box.on{width:54rem; margin-top:0;}
#main section.business div.box.on a div.img-box{border-radius:2rem; box-shadow: 2px 2px 8px 2px rgb(0 0 0 / 10%);}
#main section.business div.box.on a div.img-box:after{background-color:rgba(237,28,34,0.85);}
#main section.business div.box.on a div.txt-area{position:absolute; top:10rem; left:5rem; color:#fff; width:80%;}
#main section.business div.box.on a div.txt-area p.txt20{display:block; margin-top:3rem;}
#main section.business div.box.on a div.view{position:relative; top:unset; right:unset; background:none; height:auto; width:auto;}
#main section.business div.box.on a div.view:after{text-align:left; font-size:1.8rem; line-height:3rem; content:"view"; font-weight:600;}

#main section.major{position:relative; padding:14rem 0 11rem;}
#main section.major:after{display:block; position:absolute; top:0%; right:0%; content:""; width:70%; height:100%; border-radius:2rem 0 0 2rem; z-index:-1; background:url("../img/main/bg-main-major.jpg") center center no-repeat; background-size:cover; }
#main section.major p.more-txt{margin-bottom:5rem;}
#main section.major ul li{width:31%; margin-right:3.5%; margin-bottom:3%;}
#main section.major ul li:nth-child(3n){margin-right:0;}
#main section.major ul li a{display:block; background:rgba(255,255,255,0.8); padding:4rem 3rem; box-sizing:border-box; width:100%; transition:ease all 0.3s; border:0.1rem solid #ddd;}
#main section.major ul li a p{margin-bottom:1.5rem;}
#main section.major ul li a div.tag-area{}
#main section.major ul li a div.tag-area span{display:inline-block; background:#f5f5f5; padding:1rem; border-radius:1.5rem; margin-right:1rem; font-size:1.4rem;  }

#main section.major ul li:hover{}
#main section.major ul li:hover a{border-radius:2rem; background:rgba(255,255,255,1); box-shadow: 2px 2px 8px 2px rgb(0 0 0 / 10%);}

#main section.partner{padding:14rem 0 11rem}
#main section.partner p{margin-bottom:6rem;}
#main section.partner ul li{width:20%; height:8rem;text-align: center; margin:1rem 0; padding:2rem 0; box-sizing:border-box;}
#main section.partner ul li img{height:100%;}

#main section.contact-us{position:relative; padding:8rem 0; box-sizing:border-box; background:url("../img/main/bg-main-contact-us.png") center center no-repeat; background-size:cover; overflow:hidden;}
#main section.contact-us:after{display:block; position:absolute; top:0%; left:0%; content:""; width:100%; height:100%; background-color:rgba(0,0,0,0.4);}
#main section.contact-us > div.contact{position:relative; z-index:1;}
#main section.contact-us > div.contact div{}
#main section.contact-us > div.contact p{color:#fff; margin-bottom:4rem;}
#main section.contact-us > div.contact dl{display: flex; align-items: center; width: auto; margin-right:5rem;}
#main section.contact-us > div.contact dl > dd{border: 2px solid #fff; border-radius: 50%; color:#fff; padding: 2rem;}
#main section.contact-us > div.contact dl > dd > i{position: relative; font-size:38px;}
#main section.contact-us > div.contact dl > dt{padding-left: 2rem; color:#fff;}


@media screen and (max-width:1366px) {
	div.main-visual .slick-prev{left: 4%;}
	div.main-visual .slick-next{right: 4%;}

	#main section.business{padding:12rem 4% 14rem}
	#main section.business p.more-txt{margin-bottom:10rem;}
	#main section.business div.box{position:relative; width:28%; transition:ease all 0.3s; margin-top:5rem;}
	#main section.business div.box.on{width:40%;}

	#main section.major ul li{width:48%; margin-right:4%;}
	#main section.major ul li:nth-child(3n){margin-right:4%;}
	#main section.major ul li:nth-child(2n){margin-right:0;}
	#main section.major ul li a p{margin-bottom:1rem;}
	#main section.major ul li a p br{display:none;}
}


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

@media screen and (max-width:900px) {
	
	div.main-visual .box div.txt-area {width:80%;}
	div.main-visual .box div.txt-area a p{font-size:2rem}
	div.main-visual .box div.txt-area a p span{font-size:7vw;}

	#main section.business p.txt80{font-size:6rem !important; text-align:left !important;}
	#main section.major p.txt68 {font-size:5rem !important; }
	#main section.major ul li a{padding:3rem 2rem;}
	#main section.major ul li a p.txt28{font-size:1.8rem !important;}
	#main section.major ul li a p.txt20{font-size:1.6rem !important;}

	#main section.contact-us > div.contact p.txt80{font-size:6rem !important; margin-bottom:2rem !important;}
	#main section.contact-us > div.contact div.flex{flex-wrap:wrap;}
	#main section.contact-us > div.contact dl{width:100%; margin:1rem 0;}

}



@media screen and (max-width:720px) {
	
	.a_more{font-size:1.4rem; padding: 1rem 3.5rem 1rem 0; background-size:2.5rem;}
	.more-txt a.a_more{position:unset; display:inline-block; }
	div.main-visual .box{height:75vh;     background-size: cover;}
	#main section.business { padding: 12rem 4% 10rem;}
	#main section.business p.more-txt {margin-bottom: 2rem;}
	#main section.business p.txt80{font-size:10vw !important;}
	#main section.business div.flex{flex-wrap:wrap;}
	#main section.business div.box,
	#main section.business div.box.on{width:100%; margin:1rem 0;}
	#main section.business div.box a div.img-box{height:23rem;}
	#main section.business div.box a div.img-box.bg1,
	#main section.business div.box a div.img-box.bg2,
	#main section.business div.box a div.img-box.bg3{background-size:cover}
	#main section.business div.box a div.txt-area p.txt20,
	#main section.business div.box.on a div.txt-area p.txt20{display:block; font-size:1.6rem !important; margin-top:2rem; line-height:1.5;}
	#main section.business div.box a div.view,
	#main section.business div.box.on a div.view{position:relative; top:unset; right:unset; background:none; height:auto; width:auto;}
	#main section.business div.box a div.view:after,
	#main section.business div.box.on a div.view:after{text-align:left; font-size:1.8rem; line-height:3rem; content:"view"; font-weight:600;}

	#main section.business div.box a div.txt-area,
	#main section.business div.box.on a div.txt-area{position:absolute; left:5rem; top:2rem; color:#fff; width:80%;}

	#main section.major:after {width: 110%;}
	#main section.major p.txt68{color:#fff;}
	#main section.major ul li,
	#main section.major ul li:nth-child(3n),
	#main section.major ul li:nth-child(2n){margin-right:0; width:100%;}
	#main section.major ul li:nth-child(n+4){display:none;}

	#main section.partner { padding: 12rem 4% 10rem;}
	#main section.partner p.txt60{font-size:10vw !important; margin-bottom: 2rem;}
	#main section.partner ul li{width:25%; height:6rem;}
	#main section.contact-us > div.contact p.txt80{font-size:10vw !important;}

}
@media screen and (max-width:360px) {
	div.main-visual .box{height:50vh; }
	div.main-visual .slick-prev,
	div.main-visual .slick-next{display:none !important;}
	div.main-visual .box div.txt-area{width:92%;}
	div.main-visual .box div.txt-area a p{font-size:5vw !important;}
	div.main-visual .box div.txt-area a p span{font-size:10vw !important;}

}