.slick-dots{width: 100%;font-size: 0;text-align: center; margin-top: 30px;}
.slick-dots li{width: 13px;height: 13px;border-radius: 50%;margin: 0 8px; border:2px solid #fff; cursor: pointer}
.slick-dots .slick-active{background: #fff}
.slick-dots button{display: block;}

.tit-main{line-height: 1.15; text-align: center; font-size: 1.188rem; color: #666; margin-bottom: 40px;}
.tit-main > *{display: block;}
.tit-main strong{font-size: 44px; margin-bottom: 20px; font-size: 2.316em; color: #000}

#main_visual{overflow: hidden;}
/* #main_visual .in{position: relative; width: 2000px;left: 50%; margin-left: -1000px;} */
#main_visual img{display: block;margin: 0 auto;}
#main_visual .m{display: none;}
#main_visual .dots{position: absolute;left: 0;bottom: 0; width: 100%; background: rgba(0,0,0,.5); padding: 30px 0}
#main_visual .slick-dots{width: 100%;font-size: 0;text-align: center; margin-top: 0;}
#main_visual .slick-dots li{width: 13px;height: 13px;border-radius: 50%;margin: 0 8px; border:2px solid #fff; cursor: pointer}
#main_visual .slick-dots .slick-active{background: #fff}
#main_visual .slick-dots button{display: block;}
#main_visual .iframe{width: 100%; height: 100vh; padding-bottom: 0; position: relative; overflow: hidden;}
#main_visual .iframe iframe{position: absolute;
	margin: auto;
    left: 50%; top:50%;
    min-width: 100%; min-height: 150%; transform: translate(-50%,-50%);}
#main_visual .v{position: absolute;left: 0;top:0;width: 100%; height: 100%; z-index: 1; text-shadow: 3px 3px 3px rgba(0,0,0,.3);}
#main_visual .v .txt{padding: 0; display: table; width: 100%; height: 100%}
#main_visual .v .txt .vertical{display: table-cell;vertical-align: middle;}
#main_visual .v .big{font-family: inherit; margin-bottom: 50px;}
#main_visual .v a{display: inline-block; padding:10px 1em;border:1px solid #fff; font-size: 0.750em;}
#main_visual .v a:hover{background: #fff; color: #000; text-shadow: none}
#main_visual .v .txt_box{z-index: 1; color:#fff; background: rgba(0,0,0,.65); text-align: center; padding: 35px 30px; width:350px; max-width:95%; margin:0 auto;}
#main_visual .v .txt_box > *{display: block;}
#main_visual .v .txt_box strong{font-size: 37px; line-height: 1.35; margin-bottom: 20px;}
#main_visual .v .txt_box a{width:208px; height: 63px; line-height: 60px; border:3px solid #fff; text-align: center; padding: 0 25px; text-align: left; margin: 0 auto; max-width:100%}
#main_visual .v .txt_box a span{background: url('../img/main/arrow.png') right center no-repeat; display: block;}
#main_visual .w{padding:280px 0 200px}
#main_visual .big {
    font-size: 2.195em;
    line-height: 1.15;
    margin-bottom: 30px;
    word-break: keep-all;
    font-family: 'Noto Serif', serif;
}

#main_visual .txt {
    background: url(main.css) center center no-repeat;
    background-size: cover;
    padding: 260px 0;
    color: #fff;
    font-size: 1.388em;
    text-align: center;
}

#m_news{padding:70px 0}
#m_news .w{display: table; width: 100%}
#m_news .w > *{display: table-cell; vertical-align: middle;}
#m_news .tit-40{width: 380px; font-size: 40px; color:#000; line-height: 1.15;}
#m_news .tit-40 a{display: inline-block; margin-left: 5px; position: relative; width: 13px; height: 13px; vertical-align: middle;}
#m_news .tit-40 a:before,#m_news .tit-40 a:after{position: absolute; background: #000; content: ''}
#m_news .tit-40 .more:before{width: 100%; height: 3px; left: 0;top:50%; margin-top: -1px;}
#m_news .tit-40 .more:after{width: 3px; height: 100%; left: 50%;top: 0; margin-left: -1px;}
#m_news ul{margin-left: -1%;}
#m_news li{float: left; /*width: 31.33333333333%;*/width: 33%; margin-left: 1%;}
#m_news .right{color: #676a6d; line-height: 1.15;}
#m_news .right a{display: block;}
#m_news .right a > *{display: block;}
#m_news .tit{font-size: 1.188em; margin-bottom: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
#m_news .tit span{position: relative}
#m_news .right a:hover .tit span{background: linear-gradient(to top, rgba(0,0,0,.15) 50%, transparent 50%)}
#m_news .etc span{display: inline-block; position: relative;}
#m_news .date{padding-left: 8px; margin-left: 5px;}
#m_news .date:before{position: absolute;left: 0; top:50%; margin-top: -5px; background: #676a6d; width: 1px; height: 10px; content: ''}

#m_congri{padding: 130px 0;background: url('../img/main/mid.jpg') center center no-repeat; background-size: cover; color: #fff; position: relative;}
#m_congri:before{position: absolute;right: 0;width: 50%; height: 100%; background: rgba(0,0,0,.6); content: ''; top:0}
#m_congri .inner > *{float: left; width: 50%}
#m_congri .tit{font-size: 1.188em;}
#m_congri .tit .t{font-size: 2.368em; margin-bottom: 20px; line-height: 1.15;}

#m_congri .cont{padding-left: 40px; font-size: 1.125rem; text-align: center; position: relative;z-index: 1}
#m_congri .cont ul{margin-left: -3%; display: flex; flex-wrap:wrap}
#m_congri .cont li{float: left; width: 30.3%; border:1px solid #fff; margin-left: 3%;}
#m_congri .cont a{display: block; padding: 50px 8px 40px; position: relative;}
#m_congri .cont a > *{display: block;}
#m_congri .cont .small{font-weight: 700;}
#m_congri .cont .big{margin: 10px 0 20px; line-height: 1.15; font-size: 1.4em;}
#m_congri .cont .more{position: absolute;right: 0;top:0; width: 40px; height: 40px; background: #fff}
#m_congri .cont .more span{position: absolute;width: 13px; height: 13px; left: 50%; top:50%;transform: translate(-50%,-50%);}
#m_congri .cont .more span:before,#m_congri .cont .more span:after{position: absolute; background: #000; content: ''}
#m_congri .cont .more span:before{width: 100%; height: 3px; left: 0;top:50%; margin-top: -2px;}
#m_congri .cont .more span:after{width: 3px; height: 100%; left: 50%;top: 0; margin-left: -2px;}
#m_congri .cont li:hover{border-color: #5e80d9}
#m_congri .cont li,#m_congri .cont .more,#m_congri .cont .more span:before,#m_congri .cont .more span:after{transition: all ease-in-out .3s}
#m_congri .cont li:hover .more{background: #5e80d9}
#m_congri .cont li:hover .more span:before,#m_congri .cont li:hover .more span:after{background: #fff}

#m_create{padding: 95px 0}
#m_create a {display: block;}
#m_create .half{padding-top: 30px; border-top: 1px solid #88898c; position: relative}
#m_create .half:before{position: absolute;left: 50%; top:30px; width: 1px; height: calc(100% - 30px); content: ''; background: #b6bac3}
#m_create .half > li{float: left; width: 50%}
#m_create .half > li:first-child{padding-right: 30px;}
#m_create .l{line-height: 1.15;}
#m_create .l ul{margin-left: -3%;}
#m_create .l li{float: left; width: 47%; margin-left: 3%;}
#m_create .l .ifr{position: relative; padding-bottom: 40.5%; overflow: hidden; margin-bottom: 20px;}
#m_create .l .ifr iframe{position: absolute;left: 0;top:0;width: 100%; height: 100%; display: block;}
#m_create .l .cont > *{display: block;}
#m_create .l .t{font-size: 1.125rem; position: relative; padding-bottom: 15px; margin-bottom: 15px; color: #000; padding-top: 15px;}
#m_create .l .t:after{position: absolute;left: 0;bottom: 0; width: 44px; height: 1px; background: #243a72;content: ''}
#m_create .l .txt{font-size: 1.188rem; line-height: 1.35;}
#m_create .ico{font-size: 1.125rem; text-align: center;}
#m_create .ico > li{float: left; width: 50%;padding:0 15px; border-left: 1px solid #b6bac3;}
#m_create .ico > li:nth-child(n+3) a{border-top: 2px solid #b6bac3;}
#m_create .ico > li:nth-child(2n+1){border-left: 0;}
#m_create .ico img{display: block;margin: 0 auto;}
#m_create .ico .txt{margin-top: 20px;}
#m_create .ico a{display: block; padding: 20px 0}


#m_bg2{/*background: url('../img/main/bg.jpg') center center no-repeat;*/background: #253a73; background-size: cover; padding: 85px 0;text-align: center; color: #fff; font-size: 0;}
#m_bg2 li{float: left; width: 33.333333333%; border-right: 1px solid rgba(255,255,255,.3); padding: 25px 0; line-height: 1.15;}
#m_bg2 li:first-child{border-left: 1px solid rgba(255,255,255,.3);}
#m_bg2 li > *{display: inline-block;}
#m_bg2 .no{font-size: 2.813rem; margin: 0 14px;}
#m_bg2 .etc{font-size: 1.188rem; text-align: center; display: block; margin-top: 8px;}
#m_bg2 .etc .small{font-size: 0.895em;}

#m_message{padding: 95px 0}
.m_bbs{margin: 0 0 -2% -2%; display: flex; flex-wrap:wrap}
.m_bbs > li{float: left; width: 23%; margin: 0 0 2% 2%; border:1px solid #b3b7c1}
.m_bbs a{display: block; padding: 20px; height: 289px}
.m_bbs a > *{display: block;}
.m_bbs .date{font-size: .938rem}
.m_bbs .tit{font-size: 1.125rem;overflow: hidden; margin: 10px 0; max-height: 2.8em; color: #000; font-weight: 400;}
.m_bbs .txt{font-size: 1.063rem; max-height: 5.9em; overflow: hidden;}
.m_bbs .view{text-decoration: underline; margin-top: 10px; font-size: 1.063rem}
#m_message .more{width:208px; height: 63px; line-height: 60px; border:3px solid #000; text-align: center; padding: 0 25px; text-align: left; margin: 40px auto 0; max-width:100%; color: #000; font-weight: 700;}
#m_message .more a{display: block;}
#m_message .more a span{background: url('../img/main/arrow_b.png') right center no-repeat; display: block;}

.allmenu_bg{background: rgba(0,0,0,.5);position: fixed;z-index: 9999;width: 100%;height: 100%;left: 0;top:0; display: none;}
.modal_w{position:relative;top:50%;z-index: 10000;width: 97%;margin: auto;max-height: 97%; transform: translateY(-50%); max-width: 968px}
.modal_w .firstClose,#top_sch .first{position:absolute;top:-999px;right:0px;}
.modal_w .firstClose:focus,.firstClose:active,#top_sch .first:focus,#top_sch .first:active{top:0px;}
.pop-close{float: right; position: relative; z-index: 1}
.pop-close img{display: block;}
.allmenu_bg .iframe{margin-top: 10px; padding-bottom: 50%; border:1px solid #000; border-radius: 5px; position: relative; overflow: hidden;}
.allmenu_bg .iframe iframe{width: 100%;display: block; height: 100%; position: absolute; left: 0;top:0}

.allmenu_bg .iframe1{margin-top: 10px; /* padding-bottom: 50%;*/ border:1px solid #000; border-radius: 5px; position: relative; overflow: hidden;}
.allmenu_bg .iframe1 iframe{width: 100%;display: block; height: 100%; position: absolute; left: 0;top:0}

@media (max-width:1350px){
  #main_visual .in {
    width: 150%;
    margin-left: -75%; left: 50%; position: relative;
}
    #main_visual .dots{padding: 1em}
		#m_congri .cont{padding-left: .938rem;}
		#m_news{padding-left: .938rem !important; padding-right: .938rem !important;}
}
@media (max-width:1024px){
	#m_news,#m_create,#m_bg2,#m_message{padding: 3rem 0}
	#m_news .w, #m_news .w > *{display: block; width: 100%}
	#m_news .tit-40{margin-bottom: 1.25rem; font-size: 35px;}
	#m_news .tit{    text-overflow: initial;
    white-space: normal;
    line-height: 1.35;
    max-height: 2.7em;}
	#m_congri{padding: 4rem 0}
	#m_congri:before{display: none;}
	#m_congri .tit{text-align: center;}
	#m_congri .tit .t,.tit-main strong{font-size: 2em;}
	#m_congri .inner > *{float: none; width: 100%}
	#m_congri .cont{padding: 0; margin-top: 30px;}
	#m_congri .cont .more span:before{height: 2px; margin-top: -1px;}
	#m_congri .cont .more span:after{width: 2px; margin-left: -1px;}
	#m_create .half:before{background: none}
	#m_create .half > li{width: 100%}
	#m_create .half > li:first-child{padding-right: 0; margin-bottom: 30px;}
	#m_bg2 .ico{display: block;}
	#m_bg2 .ico img{display: block;margin: 0 auto;}
	#m_bg2 .no{margin: 10px 0;display: block;}
	#m_bg2 .etc{display: block; text-align: center}
	.m_bbs a{height: auto}
	#main_visual .w{padding:200px 0 140px}
}
@media (max-width:768px){
  #main_visual .v a{font-size: 0.8em;}
  #main_visual .iframe iframe{min-width: 180%}
	#main_visual .txt_box{padding: 30px 20px;}
	#main_visual .txt_box strong{font-size: 25px;}
	#main_visual .in{width: 200%; margin-left: -100%;}
	#main_visual .txt_box a,#m_message .more{height: 50px; line-height: 47px;}
	#m_news .etc span{display: block;}
	#m_news .etc .date{margin-left: 0; padding-left: 0; margin-top: 3px;}
	#m_news .etc .date:before{background: none}
	#m_create .ico > li{padding: 0 10px;}
	#m_create .l .ifr{padding-bottom: 50%;}
	#m_create .l ul{margin-left: 0;}
	#m_create .l li{width: 100%; margin: 30px 0 0;}
	#m_create .l li:first-child{margin-top: 0;}
	#m_bg2 .no{font-size: 2rem;}
	#m_bg2 li{padding: 15px 0}
	.m_bbs > li{width: 48%}
	.m_bbs a{padding: 15px}
}
@media (max-width:480px){
	#main_visual .in{width: 260%; margin-left: -130%;}
	#main_visual .txt_box{width: 280px}
	#m_congri .cont ul{margin: -30px 0 0;}
	#m_congri .cont li{width: 100%; margin: 30px 0 0;}
	#main_visual .w{padding:180px 0 115px}
    #main_visual .v .txt_box{margin-top: 5em;}
}
