@charset "utf-8";

/* ==========================================================================
	main
========================================================================== */
.main_visual{}
.main_visual .swiper-slide{position:relative; overflow:hidden; height:960px;}
.main_visual .swiper-slide a{display:block; width:100%; height:100%; }
.main_visual .swiper-slide img{position:absolute; top:50%; left:0; width:100%; transform:translateY(-50%); -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%);}
.main_visual .swiper-slide img.pc_img{display:block;}
.main_visual .swiper-slide img.mo_img{display:none;}
.main_visual .txt_box{position:absolute; top:50%; left:50%; display:block; width:93.75%; max-width:1200px; transform:translate(-50%, -50%); -webkit-transform:translate(-50%, -50%); -moz-transform:translate(-50%, -50%); -ms-transform:translate(-50%, -50%); -o-transform:translate(-50%, -50%); text-align:right; z-index:10;}
.main_visual .txt_box .text{display:inline-block; text-align:left;}
.main_visual .txt_box .text h2{font-size:56px; color:#fff; letter-spacing:-0.04em; font-weight:300; line-height:1.2; margin:0;}
.main_visual .txt_box .text .desc{position:relative; padding:40px 30px;}
.main_visual .txt_box .text .desc:before{content:''; position:absolute; top:0; left:0; display:block; width:3px; height:60px; background:#fff; }
.main_visual .txt_box .text .desc p{font-size:20px; color:#fff; letter-spacing:-0.04em; font-weight:500; line-height:1.6; }
.main_visual .txt_box .text .btn{text-align:right;}
.main_visual .txt_box .text .btn a{position:relative; display:inline-block; font-size:18px; color:#fff; letter-spacing:-0.04em; font-weight:500; padding:20px 30px; z-index:2;}
.main_visual .txt_box .text .btn a:before{content:''; position:absolute; top:50%; right:0; display:block; width:60px; height:60px; background:#f7941d; border-radius:50%; transform:translateY(-50%); -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%); z-index:-1;}

@media all and (max-width:1940px){
	.main_visual .swiper-slide{height:auto;}
	.main_visual .swiper-slide img{position:relative; top:0; left:50%; width:auto; transform:translateX(-50%); -webkit-transform:translateX(-50%); -moz-transform:translateX(-50%); -ms-transform:translateX(-50%); -o-transform:translateX(-50%);}
}
@media all and (max-width:1000px){
	.main_visual .swiper-slide{height:auto;}
	.main_visual .swiper-slide img{left:0; transform:none; width:100%; height:auto;}
	.main_visual .swiper-slide img.pc_img{display:none}
	.main_visual .swiper-slide img.mo_img{display:block;}
	.main_visual .txt_box{top:40%;}
	.main_visual .txt_box .text h2{font-size:48px;}
}

.main_visual_menu{position:relative; display:block; width:100%; max-width:1660px; font-size:0; letter-spacing:-4px; padding:40px 0 40px 100px; box-sizing:border-box; margin-left:auto; margin-top:-107px; box-shadow:10px 10px 30px rgba(0, 0, 0, 0.3); border-top-left-radius:110px; border-bottom-left-radius:110px; background:#fff; z-index:50;}
.main_visual_menu ul{max-width:1200px; font-size:0; letter-spacing:-4px;}
.main_visual_menu ul li{display:inline-block; vertical-align:top; width:25%; box-sizing:border-box;}
.main_visual_menu ul li + li{border-left:1px solid #dddddd;}
.main_visual_menu ul li a{display:block; padding:35px 30px; box-sizing:border-box;}
.main_visual_menu ul li i{display:inline-block; vertical-align:middle; width:64px; height:64px; background-repeat:no-repeat; background-position:center;}
.main_visual_menu ul li i.icon01{background-image:url('/img/main_visual_menu_icon01.png');}
.main_visual_menu ul li i.icon02{background-image:url('/img/main_visual_menu_icon02.png');}
.main_visual_menu ul li i.icon03{background-image:url('/img/main_visual_menu_icon03.png');}
.main_visual_menu ul li i.icon04{background-image:url('/img/main_visual_menu_icon04.png');}
.main_visual_menu ul li p{display:inline-block; vertical-align:middle; width:calc(100% - 64px); font-size:18px; color:#143f90; letter-spacing:-0.04em; font-weight:700; line-height:1.4; margin:0; padding-left:20px; box-sizing:border-box; word-break:keep-all;}
.main_visual_menu ul li p span{display:block; font-size:16px; color:#f7941d; letter-spacing:0em; font-weight:300;}

@media all and (max-width:1200px){
	.main_visual_menu{padding:20px;}
}
@media all and (max-width:1000px){
	.main_visual_menu{margin-top:0px; border-top-left-radius:100px; border-bottom-left-radius:100px;}
	.main_visual_menu ul li{width:50%;}
	.main_visual_menu ul li:nth-of-type(n+3){border-top:1px solid #dddddd;}
	.main_visual_menu ul li:nth-of-type(2n+1){border-left:0;}
	.main_visual_menu ul li a{padding:20px;}
}

.main_con01{font-size:0; letter-spacing:-4px;}
.main_con01 .left_box{display:inline-block; vertical-align:middle; width:50%;}
.main_con01 .left_box .tit{margin-bottom:20px;}
.main_con01 .left_box .tit:after{content:''; display:block; clear:both;}
.main_con01 .left_box .tit h3{position:relative; display:inline-block; font-size:32px; color:#222222; letter-spacing:-0.04em; font-weight:700; line-height:1.2; margin:0; padding-left:50px;}
.main_con01 .left_box .tit h3:before{content:''; position:absolute; top:50%; left:0; display:block; width:30px; height:1px; background:#666666;}
.main_con01 .left_box .tit a{float:right; display:block; font-size:16px; color:#f7941d; letter-spacing:0em; font-weight:300; margin:8px 0;}
.main_con01 .left_box .tit a i{position:relative; display:inline-block; vertical-align:middle; margin-left:10px; width:20px; height:2px; background:#f7941d;}
.main_con01 .left_box .tit a i:before{content:''; position:absolute; top:50%; left:50%; display:block; width:2px; height:20px; background:#f7941d; transform:translate(-50%, -50%); -webkit-transform:translate(-50%, -50%); -moz-transform:translate(-50%, -50%); -ms-transform:translate(-50%, -50%); -o-transform:translate(-50%, -50%);}
.main_con01 .left_box ul li{border-bottom:1px solid #dddddd;}
.main_con01 .left_box ul li a{display:block; font-size:0; letter-spacing:-4px; padding:15px 0;}
.main_con01 .left_box ul li p{display:inline-block; vertical-align:top; width:calc(100% - 80px); font-size:18px; color:#666666; letter-spacing:-0.04em; font-weight:300; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.main_con01 .left_box ul li span{display:inline-block; vertical-align:top; width:80px; font-size:16px; color:#aaaaaa; letter-spacing:0em; font-weight:300; margin:2px 0; text-align:right;}
.main_con01 .right_box{display:inline-block; vertical-align:middle; width:50%; padding-left:100px; box-sizing:border-box;}
.main_con01 .right_box dl{display:table; width:100%; height:270px; font-size:0; letter-spacing:-4px;}
.main_con01 .right_box dl dt{display:table-cell; vertical-align:middle; width:50%; text-align:center; cursor:pointer;}
.main_con01 .right_box dl dt h4{font-size:22px; color:#fff; letter-spacing:-0.04em; font-weight:700; margin:0;}
.main_con01 .right_box dl dt span{font-size:14px; color:#fff; letter-spacing:0em; font-weight:300;}
.main_con01 .right_box dl dt:nth-of-type(1){background:url('/img/main_con01_img01.jpg') no-repeat center center / cover;}
.main_con01 .right_box dl dt:nth-of-type(2){background:url('/img/main_con01_img02.jpg') no-repeat center center / cover;}
.main_con01 .right_box dl dd{display:table-cell; vertical-align:middle; background:url('/img/main_con01_img03.jpg') no-repeat center center / cover; padding-left:80px; box-sizing:border-box;}
.main_con01 .right_box dl dd h5{font-size:22px; color:#fff; letter-spacing:-0.04em; font-weight:700; line-height:1; margin:0;}
.main_con01 .right_box dl dd h5 i{display:inline-block; vertical-align:middle; margin-right:5px; margin-top:-4px;}
.main_con01 .right_box dl dd h6{font-size:52px; color:#fff; letter-spacing:0em; font-weight:700; line-height:1; margin:0; margin-top:10px;}

@media all and (max-width:1200px){
	.main_con01 .right_box{padding-left:40px;}
}
@media all and (max-width:1000px){
	.main_con01 .left_box{width:100%; padding:60px 0;}
	.main_con01 .right_box{width:100%; padding-left:0;}
}

.main_con02{font-size:0; letter-spacing:-4px; background:url('/img/main_con02_bg.jpg') no-repeat center center / cover; overflow:hidden;}
.main_con02 .txt_box{display:inline-block; vertical-align:bottom; width:45%; padding:40px 20px 140px 0; box-sizing:border-box;}
.main_con02 .txt_box h3{font-size:68px; color:#143f90; letter-spacing:0em; font-weight:700; line-height:1; margin:0;}
.main_con02 .txt_box h4{font-size:22px; color:#63acef; letter-spacing:-0.04em; font-weight:700; margin:10px 0 20px;}
.main_con02 .txt_box p{position:relative; font-size:18px; color:#4f5860; letter-spacing:-0.04em; font-weight:300; line-height:1.6; padding:20px; word-break:keep-all;}
.main_con02 .txt_box p:before{content:''; position:absolute; top:0; left:0; display:block; width:2px; height:40px; background:#63acef;}
.main_con02 .img_box{display:inline-block; vertical-align:bottom; width:55%; padding-top:50px;}
.main_con02 .img_box img{max-width:100%;}

@media all and (max-width:1000px){
	.main_con02 .txt_box{width:100%; padding:40px 20px 0;}
	.main_con02 .img_box{width:100%; text-align:center;}
	.main_con02 .img_box img{max-width:80%;}
}

.main_con03{padding:100px 0; background:url('/img/main_con03_bg.jpg') no-repeat center center / cover;}
.main_con03 .box{font-size:0; letter-spacing:-4px; background:#fff; box-shadow:10px 10px 30px rgba(0, 0, 0, 0.3);}
.main_con03 .box .left_box{display:inline-block; vertical-align:middle; width:50%; padding:0 80px; box-sizing:border-box;}
.main_con03 .box .left_box .tit{font-size:0; letter-spacing:-4px; border-bottom:1px solid #666666; padding-bottom:30px;}
.main_con03 .box .left_box .tit i{display:inline-block; vertical-align:middle;}
.main_con03 .box .left_box .tit h3{display:inline-block; vertical-align:middle; max-width:calc(100% - 62px); padding-left:15px; box-sizing:border-box; font-size:32px; color:#222222; letter-spacing:-0.04em; font-weight:700; line-height:1.4; margin:0;}
.main_con03 .box .left_box .tit h3 span{display:block; font-size:16px; color:#2cd7ed; letter-spacing:0em; font-weight:300;}
.main_con03 .box .left_box ul{padding:30px 0 20px; border-bottom:1px dashed #dddddd;}
.main_con03 .box .left_box ul li{font-size:18px; color:#666666; letter-spacing:-0.04em; font-weight:300; line-height:1.6; }
.main_con03 .box .left_box ul li span{color:#ff0000;}
.main_con03 .box .left_box ul li b{color:#444444; font-weight:700;}
.main_con03 .box .left_box p{font-size:18px; color:#f7941d; letter-spacing:-0.04em; font-weight:300; line-height:1.6; padding-top:20px;}
.main_con03 .box .left_box h6{font-size:20px; color:#143f90; letter-spacing:-0.04em; font-weight:700; line-height:1.2; margin:0; padding-top:10px; word-break:keep-all;}
.main_con03 .box .right_box{display:inline-block; vertical-align:middle; width:50%;}
.main_con03 .box .right_box .img_box img{max-width:100%;}
.main_con03 .box .right_box .txt_box{position:relative; padding:40px; background:#143f90;}
.main_con03 .box .right_box .txt_box a{position:absolute; top:-50px; right:0; display:block; width:100px; background:#071f4c; padding:49px 0; border-top-left-radius:50px; border-bottom-left-radius:50px; text-align:center;}
.main_con03 .box .right_box .txt_box a i{position:relative; display:inline-block; width:20px; height:2px; background:#fff; }
.main_con03 .box .right_box .txt_box a i:before{content:''; position:absolute; top:50%; left:50%; display:block; width:2px; height:20px; background:#fff; transform:translate(-50%, -50%); -webkit-transform:translate(-50%, -50%); -moz-transform:translate(-50%, -50%); -ms-transform:translate(-50%, -50%); -o-transform:translate(-50%, -50%);}
.main_con03 .box .right_box .txt_box p{font-size:18px; color:#fff; letter-spacing:-0.04em; font-weight:700; }
.main_con03 .box .right_box .txt_box p i{display:inline-block; vertical-align:top; margin-right:10px; margin-top:4px;}
.main_con03 .box .right_box .txt_box p span{display:inline-block; vertical-align:top; max-width:calc(100% - 30px); word-break:keep-all;}

@media all and (max-width:1200px){
	.main_con03 .box .left_box{padding:0 40px;}
}
@media all and (max-width:1000px){
	.main_con03 .box .left_box{width:100%; padding:40px;}
	.main_con03 .box .right_box{width:100%;}
	.main_con03 .box .right_box .img_box img{width:100%;}
	.main_con03 .box .right_box .txt_box{padding:40px 20px;}
	.main_con03 .box .right_box .txt_box a{top:-40px; width:80px; padding:39px 0;}
}
