main {width: 100%; min-width: 1200px; margin: 0 auto; position: relative; overflow-x: hidden;}
#mainVisual{height:520px;}
#mainVisual .visual_item{position:relative; height:520px;}
#mainVisual .visual_item .v_bg{background:url(../../images/main/main-visual.jpg) no-repeat; background-size:cover; height:520px; background-position:bottom center;}
#mainVisual .visual_item .inner{position:relative; max-width:1200px; margin:0 auto; height:100%;}
#mainVisual .visual_item .v_txt{position:absolute; bottom:22%; left:0;}

#main_00{width:100%;  max-width:1200px; margin:0 auto; position:relative;}
#cont{ margin:80px 0; width:100%; }
#cont .cont_list{width:100%; }
#cont .cont_list ul{padding:0 20px; text-align:center; font-size:0;}
#cont .cont_list li{display:inline-block; width:calc((100% - 120px)/4); background:#f9f9f9; margin-left:40px; text-align:center; vertical-align:top; }
#cont .cont_list li:first-child{margin-left:0;}
#cont .cont_list li:hover{border-bottom-color:#2173ca;}
#cont .cont_list li:hover a {color:#2173ca;}
#cont .cont_list li img{display:block; margin:0 auto; padding-bottom:25px; }
#cont .cont_list li a{display:inline-block; width:100%; height:100%; font-size:1.95rem; font-weight:500; padding:34px 0;  background-image:url(../../images/main/main_ico01.png); background-position: center 42px; background-repeat:no-repeat;background-size:auto 80px; padding-top:145px;}
#cont .cont_list .cont02 a{background-image:url(../../images/main/main_ico02.png);}
#cont .cont_list .cont03 a{background-image:url(../../images/main/main_ico03.png);}
#cont .cont_list .cont04 a{background-image:url(../../images/main/main_ico04.png);}
#cont .cont_list li a span{display:block; margin-top:7px; font-size:1.6rem; color:#666; font-weight:300;}



@media (max-width:1220px) {
main{min-width: 100%;}
#mainVisual, #mainVisual .visual_item, #mainVisual .visual_item .v_bg{height:500px;}
#mainVisual .visual_item .v_txt{left:5%;}
#main_00{padding:0 15px; box-sizing:border-box;}
}

@media (max-width:1024px) {
#mainVisual, #mainVisual .visual_item, #mainVisual .visual_item .v_bg{height:400px;}
#mainVisual .visual_item .v_txt{bottom:auto; top:50%; left:50%; transform:translate(-50%, -50%);}
#mainVisual .visual_item .v_txt img{width:450px;}

#cont{margin-top:50px; margin-bottom:60px;}
#cont .cont_list{margin-top:45px;}
#cont .cont_list ul{padding:0;}
#cont .cont_list li{width:calc((100% - 60px)/4); margin-left:20px;}
#cont .cont_list li a { padding-top:127px; background-size:auto 65px;}
#cont .cont_list li a span{padding:0 10px; height:48px;}
}

@media (max-width:768px){

#mainVisual, #mainVisual .visual_item, #mainVisual .visual_item .v_bg{height:200px;}
#mainVisual .visual_item .v_txt{width:100%;  box-sizing:border-box; text-align:center;}
#mainVisual .visual_item .v_txt img{width:260px; max-width:100%;}

#cont{margin-top:20px; margin-bottom:20px;}
#cont .cont_list{margin:0 auto;max-width:400px; }
#cont .cont_list li{width:calc((100% - 15px)/2); margin-left:15px;}
#cont .cont_list li:nth-child(2n+1){margin-left:0;}
#cont .cont_list li:nth-child(n+3){margin-top:15px;}
#cont .cont_list li a{background-size: auto 60px; font-size:1.7rem; background-position:center 25px; padding:100px 0 25px;}
#cont .cont_list li a span{display:none;}
}