@charset "utf-8";

#mVisual {position:relative; width:calc(100% - 100px);  height:850px;  overflow:hidden; border-radius:0 0 6vw 0; }
.mv_slider.slick-slide,
.mvWrap .slick-track,
.mvWrap .slick-list{ position:relative; height:100%; outline:none; }

#mVisual .mv_slider { background-repeat: no-repeat; background-size: cover; background-position: center center;}

#mVisual .mv_slider.mv1 { background-image:url('/images/main/m_visual1.jpg'); }
#mVisual .mv_slider.mv2 { background-image:url('/images/main/m_visual2.jpg');  }

#mVisual .mv_slider .mv-txt { display:table; width:92%; height:100%;  margin:0 auto; max-width: 1600px; }
#mVisual .mv_slider .mv-txt div { padding-top:8%; color:#fff; text-align:center;  display:table-cell; vertical-align:top; box-sizing:border-box; }
#mVisual .mv_slider .mv-txt div h3 { font-size:6.0rem; line-height:1.3em; }
#mVisual .mv_slider .mv-txt div h4 { font-size:5.0rem; line-height:1.3em;  }
#mVisual .mv_slider .mv-txt div .t1 { margin-top:1em;  font-size:2.0rem; line-height:1.6em; }
#mVisual .mv_slider .mv-txt div .t1 br {display:none}

#mvWrap {position:relative; width:100%; }
#mvWrap #mScroll { width:100px; position:absolute; right:0; bottom:0;}
#mvWrap #mScroll .t1 {font-size:1.3rem; font-weight:400; color:#8b97a6; writing-mode: vertical-rl; letter-spacing:0.1em; line-height:100px}
#mvWrap #mScroll .line {width:1px; height:100px; background:#c1c8d1; position:relative; margin:30px auto 0;}
#mvWrap #mScroll .line:before {content:''; width:1px; height:100%; background:#050d1b; position:absolute; left:0; top:0; animation: ani-line 3s ease-in-out infinite; }

@keyframes ani-line {
	0% {height: 0;}
	100% {height: 100%;}
}


@media all and (max-width:1580px){
  #mVisual {height:60vw; }
}
@media all and (max-width:1280px){
	#mVisual {width:calc(100% - 80px); }
	#mVisual .mv_slider .mv-txt div .eng { font-size:6.5rem;}
	#mVisual .mv_slider .mv-txt div .t1 { font-size:1.8rem;}

	#mvWrap #mScroll { width:80px;}
	#mvWrap #mScroll .t1 { line-height:80px}
}
@media all and (max-width:1024px){
	#mVisual {height:70vw; }
	#mVisual .mv_slider .mv-txt div { padding-top:10vw }
	#mVisual .mv_slider .mv-txt div h3 { font-size:5.0rem; }
	#mVisual .mv_slider .mv-txt div h4 { font-size:4.0rem; }
	#mVisual .mv_slider .mv-txt div .t1 { font-size:1.8rem;}
}
@media all and (max-width:976px){
	#mVisual {width:calc(100% - 70px); border-radius:0;}
	#mvWrap #mScroll { width:70px;}
	#mvWrap #mScroll .t1 { line-height:70px}
	#mvWrap #mScroll .line { height:70px;}
}
@media all and (max-width:767px){ 
	#mVisual {width:100%; height:90vw; }
	#mVisual .mv_slider .mv-txt div { padding-top:14vw }
	#mvWrap #mScroll {display:none}
}
@media all and (max-width:580px){ 
	#mVisual {height:100vw; }
}
@media all and (max-width:480px){
	#mVisual {height:110vw; }
	#mVisual .mv_slider .mv-txt div h3 { font-size:4.0rem; }
	#mVisual .mv_slider .mv-txt div h4 { font-size:3.0rem; }
	#mVisual .mv_slider .mv-txt div .t1 { font-size:1.7rem; ; line-height:1.4em; }
	#mVisual .mv_slider .mv-txt div .t1 br {display:block}
}








.m-Part { margin:100px 0; }
.p-Part { padding:100px 0; }

@media all and (max-width:1100px){	
	.m-Part { margin:10% 0; }
	.p-Part { padding:10% 0; }
}




#mTitle { margin-bottom:30px }
#mTitle .eng {margin-bottom:1.2em; font-size:1.4rem; color:#FFF; opacity:.5}
#mTitle h3 {font-size:3.6rem; color:#343a42}
#mTitle .t1 { margin-top:0.7em; font-size:1.6rem; opacity:.7}

@media all and (max-width:1065px){
	#mTitle h3 {font-size:3.2rem;}
}
@media all and (max-width:640px){	
#mTitle { margin-bottom:20px }
}
@media all and (max-width:480px){	
	#mTitle h3 {font-size:3.0rem;} 
	#mTitle .t1 { font-size:1.4rem; }
}




#mSection1 {display:flex; flex-wrap:wrap; justify-content:space-between; }
#mSection1 > div {width:48%; }

@media all and (max-width:976px){	
	#mSection1 > div {width:100%; }
}




#mNotice #mTitle {display:flex; justify-content:space-between; align-items: end;}

#mNotice .contWrap {padding:25px 0; border-top:2px solid #343a42; border-bottom:1px solid #343a42 }

#mNotice .contWrap ul li {padding:10px 20px; display:flex;	justify-content:space-between; align-items: center;}
#mNotice .contWrap ul li p.t1 {font-size:1.8rem; overflow: hidden; white-space:nowrap; text-overflow: ellipsis; }
#mNotice .contWrap ul li p.date {font-size:1.6rem; font-family:'Roboto'; opacity:.7; text-align:right}
#mNotice .contWrap ul li.first-li {border-bottom:1px dashed #ccc; padding-bottom:34px; margin-bottom:25px; }
#mNotice .contWrap ul li.first-li .date {width:96px; padding:1em; background:#f7f9fc; border-radius:3px; text-align:center; font-family:'Roboto'}
#mNotice .contWrap ul li.first-li .date .day {font-size:4.0rem; color:#2a70ec; font-weight:700}
#mNotice .contWrap ul li.first-li .date .d-st1 {font-size:1.6rem; color:#343a42; line-height:1.0em; font-weight:700}
#mNotice .contWrap ul li.first-li dl {width:calc(100% - 96px); padding-left:2em}
#mNotice .contWrap ul li.first-li dl dt {font-size:2.2rem; color:#343a42; font-weight:600; overflow: hidden; white-space:nowrap; text-overflow: ellipsis; }
#mNotice .contWrap ul li.first-li dl dd {margin-top:1em; font-size:1.7rem;
												line-height:1.6em; height:3.2em; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2;  -webkit-box-orient: vertical;}


@media all and (max-width:1280px){
	#mNotice .contWrap {padding:22px 0; }
	#mNotice .contWrap ul li {padding:5px 10px;} 
	#mNotice .contWrap ul li:last-child {display:none}
	#mNotice .contWrap ul li.first-li .date {width:90px; }
	#mNotice .contWrap ul li.first-li dl {width:calc(100% - 90px);}
	
	#mNotice .contWrap ul li p.t1 {width:calc(100% - 70px)}
	#mNotice .contWrap ul li p.date {width:70px; }
}
@media all and (max-width:1100px){
	#mNotice .contWrap  ul li:last-child {display:flex}
}
@media all and (max-width:640px){
	#mNotice .contWrap  #mMore {top:-82px}
}	
@media all and (max-width:580px){
	#mNotice .contWrap  ul li p.t1 {width:calc(100% - 65px)}
	#mNotice .contWrap  ul li p.date {width:65px}
}





#mCalendar { background: #0096e0 ;
				 background: -webkit-linear-gradient(to right, #0096e0,#0096e0, #7cbd57); /* Chrome 10-25, Safari 5.1-6 */
				 background: linear-gradient(to right, #0096e0, #0096e0, #7cbd57);  position:relative}
#mCalendar:before {content:''; width: 171px; height:100%; background:url('/images/main/mcalendar-left-bg.png') no-repeat left top; position:absolute; left:0; bottom:0;
						background-size:auto 100%}
#mCalendar:after {content:''; width: 180px; height:239px; background:url('/images/main/mcalendar-right-bg.png') no-repeat right top; position:absolute; right:0; top:-34%;
						background-size:100% auto}
#mCalendar .s-inner {display:flex; flex-wrap:wrap; align-items: center; padding:65px 0}
#mCalendar #mTitle {width:300px; color:#FFF; margin-bottom:0; position:relative; z-index:3}
#mCalendar #mTitle h3 {color:#FFF}
#mCalendar #mBtn {margin-top:2em; display:inline-block;width:120px; line-height:40px; border-radius:5px; border:1px solid rgba(255,255,255,0.3); 
						text-align:center; color:#FFF} 
#mCalendar #mBtn:hover {background:#7cbd57; border-color:#7cbd57 }
#mCalendar #contWrap {width:calc(100% - 300px)}
#mCalendar #m-calendar {border-right:1px solid rgba(255,255,255,0.2);  }
#mCalendar #m-calendar li {border-left:1px solid rgba(255,255,255,0.2); }
#mCalendar #m-calendar li a {display:block; width:100%; height:100%; color:#FFF ;padding:0 30px; }
#mCalendar #m-calendar li a dl dt {font-size:2.4rem; font-weight:500}
#mCalendar #m-calendar li a dl dd {margin-top:1em; font-size:1.7rem; line-height:1.6em; height:3.2em; 
											overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2;  -webkit-box-orient: vertical; }
@media all and (max-width:1399px){
	#mCalendar:before {left:-28px}
	#mCalendar:after { width: 130px;  top:-26%;}
}
@media all and (max-width:1280px){
	#mCalendar #mTitle {width:250px;}
	#mCalendar #contWrap {width:calc(100% - 250px)}
}
@media all and (max-width:1024px){
	#mCalendar #mTitle {width:220px;}
	#mCalendar #contWrap {width:calc(100% - 220px)}
}
@media all and (max-width:840px){
	#mCalendar:before {display:none}
	#mCalendar:after { width: 100px;  top:-16%;}
	#mCalendar .s-inner { padding:3em 0}
	#mCalendar #mTitle {border-bottom:1px solid rgba(255,255,255,0.3); padding-bottom:2em; margin-bottom:2em; width:100%; 
								display:flex; flex-wrap:wrap; align-items: end; justify-content:space-between }
	#mCalendar #contWrap {width:100%}
	#mCalendar #m-calendar {border:0}
	#mCalendar #m-calendar  li {border:0}
	#mCalendar #m-calendar li a {padding:0 50px; }
}





#mMore {display:block; border-radius:60px; background:#ecf3f7 url('/images/main/mboard-more.png') no-repeat center center; width:40px; height:40px}
#mMore:hover {background:#2a70ec url('/images/main/mboard-more-w.png') no-repeat center center;}


#mBoard {display: flex; flex-wrap:wrap; }

#mBoard #mNews {width:calc(100% - 670px)}
#mBoard #mBanner {width:670px; padding-left:80px}
#mBoard #mBanner  #mMore {margin-right: 36px;}
#mNews #tabWrap #mTitle {display: flex; align-items: end; }
#mNews #tabWrap ul { display: flex; margin-left:2.5em  }
#mNews #tabWrap ul li a { display: block; margin-right:1em; font-size: 2.6rem; font-weight: 400; color:#c2c8d3}
#mNews #tabWrap ul li.active a { color:#2a70ec;  }

#mNews .contWrap {padding:25px 0; border-top:2px solid #343a42; border-bottom:1px solid #343a42 }
#mNews .contWrap .tabCont {position:relative}
#mNews .contWrap .tabCont #mMore {position:absolute; right:0; top:-95px}
#mNews .contWrap .tabCont ul li {padding:10px 20px; display:flex;	justify-content:space-between; align-items: center;}
#mNews .contWrap .tabCont ul li p.t1 {font-size:1.8rem; overflow: hidden; white-space:nowrap; text-overflow: ellipsis; }
#mNews .contWrap .tabCont ul li p.date {font-size:1.6rem; font-family:'Roboto'; opacity:.7; text-align:right}
#mNews .contWrap .tabCont ul li.first-li {border-bottom:1px dashed #ccc; padding-bottom:34px; margin-bottom:25px; }
#mNews .contWrap .tabCont ul li.first-li .date {width:96px; padding:1em; background:#f7f9fc; border-radius:3px; text-align:center; font-family:'Roboto'}
#mNews .contWrap .tabCont ul li.first-li .date .day {font-size:4.0rem; color:#2a70ec; font-weight:700}
#mNews .contWrap .tabCont ul li.first-li .date .d-st1 {font-size:1.6rem; color:#343a42; line-height:1.0em; font-weight:700}
#mNews .contWrap .tabCont ul li.first-li dl {width:calc(100% - 96px); padding-left:2em}
#mNews .contWrap .tabCont ul li.first-li dl dt {font-size:2.2rem; color:#343a42; font-weight:600; overflow: hidden; white-space:nowrap; text-overflow: ellipsis; }
#mNews .contWrap .tabCont ul li.first-li dl dd {margin-top:1em; font-size:1.7rem;
												line-height:1.6em; height:3.2em; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2;  -webkit-box-orient: vertical;}

#mBanner #mTitle {display:flex; flex-wrap:wrap;justify-content:space-between; align-items: center;}
#mBanner #bannerWrap li {border-radius:15px; overflow:hidden}
#mBanner #bannerWrap li img {width:100%}

@media all and (max-width:1399px){
	#mBoard #mNews {width:calc(100% - 670px)}
	#mBoard #mBanner {width:670px; padding-left:80px}
}
@media all and (max-width:1280px){
	#mBoard #mNews {width:calc(100% - 500px)}
	#mBoard #mBanner {width:500px; padding-left:50px}

	#mNews .contWrap .tabCont #mMore {top:-90px}
	#mNews .contWrap {padding:22px 0; }
	#mNews .contWrap .tabCont ul li {padding:5px 10px;} 
	#mNews .contWrap .tabCont ul li:last-child {display:none}
	#mNews .contWrap .tabCont ul li.first-li .date {width:90px; }
	#mNews .contWrap .tabCont ul li.first-li dl {width:calc(100% - 90px);}

	#mNews .contWrap .tabCont  ul li p.t1 {width:calc(100% - 70px)}
	#mNews .contWrap .tabCont  ul li p.date {width:70px; }
}
@media all and (max-width:1065px){
	#mNews #tabWrap ul { margin-left:1.5em  }
	#mNews #tabWrap ul li a { ; margin-right:0.7em; font-size: 2.4rem;}
}
@media all and (max-width:1100px){
	#mBoard {width:80%; max-width:850px; margin: auto }
	#mBoard #mNews {width:100%}
	#mNews .contWrap .tabCont ul li:last-child {display:flex}
	#mBoard #mBanner {width:100%; padding-left:0; margin-top:10%}
}
@media all and (max-width:1024px){
	#mBanner #bannerWrap .slick-slide {  margin: 0 5px; }
}
@media all and (max-width:976px){
	#mNews {margin-top:4em}
	#mBanner #bannerWrap .slick-slide {  margin: 0; }
}
@media all and (max-width:640px){
	#mNews .contWrap .tabCont #mMore {top:-82px}
}
	
@media all and (max-width:580px){
	#mBoard {width:90%}
	#mNews .contWrap .tabCont ul li p.t1 {width:calc(100% - 65px)}
	#mNews .contWrap .tabCont ul li p.date {width:65px}
}
@media all and (max-width:480px){
	#mNews #tabWrap #mTitle {flex-wrap:wrap }
	#mBoard #mBanner  #mMore {margin-right: 30px;}
	#mNews #tabWrap ul {width:100%; margin-left:0; margin-top:0.5em; }
}






#mComm {background:#f7f9fc}
#mComm .s-inner {display: flex; flex-wrap:wrap}

#mGallery {width:calc(100% - 670px)}
#mGallery #mTitle {display:flex; flex-wrap:wrap;justify-content:space-between; align-items: center;}
#mGallery #contWrap { display:flex;  }
#mGallery #contWrap li {width:calc(50% - 10px); margin-left:20px; border-bottom:2px solid #343a42}
#mGallery #contWrap li:nth-child(2n + 1) {margin-left:0}
#mGallery #contWrap li .img { height:255px; border-radius:15px; overflow:hidden }
#mGallery #contWrap li .img img { transition:all 0.5s;
						-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s; -ms-transition:all 0.5s;}
#mGallery #contWrap li .t1 {padding:1.4em 0; font-size:1.8rem; color:#343a42; opacity:.8; line-height:1.6em; }
 #mGallery #contWrap li a:hover .img img {	 transform: scale(1.15) rotate(0.02deg); -ms-transform: scale(1.15) rotate(0.02deg);
									-o-transform: scale(1.15) rotate(0.02deg);  -moz-transform: scale(1.15) rotate(0.02deg);	 
									-webkit-transform: scale(1.15) rotate(0.02deg);	 }

#mQuick {width:670px; padding-left:80px;}
#mQuick ul { display:flex; flex-wrap:wrap }
#mQuick ul li {width:calc(33.333% - 6.666px); margin-left:10px; margin-bottom:10px; text-align:center;
								padding:2em 0; border-radius:10px; border:1px solid #e4e7eb; background:#FFF; overflow:hidden}
#mQuick ul li:nth-child(3n + 1) {margin-left:0;}
#mQuick ul li a {display:block; width:100%; height:100%}
#mQuick ul li .t1 {font-size:1.9rem; color:#343a42; font-weight:700; margin-top:0.5em;}
#mQuick ul li:hover {border-color:#2a70ec; transition: all 0.3s ease;}
#mQuick ul li a:hover .t1 {color:#2a70ec} 

@media all and (max-width:1399px){	
	#mGallery {width:730px; padding-right:80px;}
	#mGallery #contWrap li .img { height:222px;}
	#mQuick {width:calc(100% - 730px); padding-left:0}
	#mQuick ul li img {width:70px}
}
@media all and (max-width:1280px){	
	#mGallery {width:calc(100% - 400px); padding-right:50px;}
	#mGallery #contWrap li .img { height:222px;}
	#mGallery #contWrap li .t1 {padding:1.0em 0;}
	#mQuick { width:400px; } 
	#mQuick ul li img {width:70px}
	#mQuick ul li {padding:1.9em 0;}
}
@media all and (max-width:1100px){	
	#mComm .s-inner {width:80%; max-width:850px; margin: auto }
	#mGallery {width:100%; padding-right:0;}
	#mGallery #contWrap li .img { height:auto;}
	#mGallery #contWrap li .img img {width:100%}
	#mQuick { width:100%;  margin-top:10%} 
}
@media all and (max-width:767px){	
	#mGallery #contWrap li {width:100%; margin-left:0;}
	#mGallery #contWrap li:last-child {display:none}
	#mQuick ul li {width:calc(33.333% - 3.3333px); margin-left:5px; margin-bottom:5px; }
}
@media all and (max-width:580px){	
	#mComm .s-inner {width:90%; }
}
@media all and (max-width:480px){
	#mQuick ul li {padding:1em 0}
	#mQuick ul li img {width:14vw}
	#mQuick ul li .t1 {font-size:1.8rem; }
}


#go_site{margin-top: 50px;}
#go_site ul{display: flex; gap: 20px;}
#go_site ul li{width: calc(100%/4 - 60px/4); box-sizing: border-box;border: 1px solid #eee;}
#go_site ul li img{width: 100%;}

@media all and (max-width:1280px){
    #go_site ul{display: flex; gap: 10px;}
    #go_site ul li{width: calc(100%/4 - 30px/4);}
}
@media all and (max-width:780px){
    #go_site ul{flex-wrap: wrap;}
    #go_site ul li{width: calc(100%/2 - 10px/2);}
}
@media all and (max-width:480px){
    #go_site{margin-top: 30px;}
}