@charset "utf-8";

.main-visual {position: relative; max-width: 1750px; width: 100%; height: 662px; margin: 130px auto 130px;}
.main-visual .origin {position: relative;}
.main-visual .origin .item {position: relative; width: 100%; height: 662px; padding: 0 15px;}
.main-visual .item .img-box {width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: center center; border-radius: 40px;}
.main-visual .origin .slick-list {overflow: visible;}
.main-visual .thumb {position: absolute; top: 0; left: 50%; transform: translateX(-50%); max-width: 1750px; width: 100%; height: 100%; padding: 0 15px; z-index: 2;}
.main-visual .thumb .text-box {padding: 140px 90px;}
.main-visual .thumb .text-box h2 {font-family: 'Arita buri'; font-size: 68px; line-height: 1.1em; color: #fff; margin-bottom: 24px;}
.main-visual .thumb .text-box h2 span {font-size: 56px;}
.main-visual .thumb .text-box p {font-size: 34px; font-weight: 300; line-height: 1.4em; color: #fff;}
.main-visual .thumb .item.slick-active .text-box h2 {animation: text-up 1s both 0.6s;}
.main-visual .thumb .item.slick-active .text-box p {animation: text-up 1s both 0.8s;}
@keyframes text-up {0% {transform: translateY(50px); opacity: 0;} 100% {transform: translateY(0px); opacity: 1;}}

.main-visual .arrows01 .slick-arrow {position: absolute; top: 50%; margin-top: -36px; width: 72px; height: 72px; background-color: #002b5a; border-radius: 50%; border: 0; font-size: 0; background-repeat: no-repeat; background-position: center center; z-index: 5;}
.main-visual .arrows01 .slick-prev {left: -36px; background-image: url('../img/main/main_visual_btn_prev.png');}
.main-visual .arrows01 .slick-next {right: -36px; background-image: url('../img/main/main_visual_btn_next.png');}

.main-controller {position: relative;}
.main-controller .arrows02 {position: absolute; top: 40px; left: 50%; transform: translateX(-50%); max-width: 323px; width: 100%; height: 12px;}
.main-controller .arrows02 .slick-arrow {position: absolute; top: 0; width: 9px; height: 12px; border: 0; font-size: 0; background-repeat: no-repeat; background-position: center center; background-color: transparent;}
.main-controller .arrows02 .slick-prev {left: 0; background-image: url('../img/main/main_visual_controller_btn_prev.png'); }
.main-controller .arrows02 .slick-next {right: 0; background-image: url('../img/main/main_visual_controller_btn_next.png');}

.main-controller .wrap {position: absolute; top: 28px; left: 50%; transform: translateX(-50%); display: flex; justify-content: center; align-items: center;} 
.main-controller .slick-dots {display: flex; justify-content: center; align-items: center; margin-right: 10px;}
.main-controller .slick-dots li {margin-right: 10px;}
.main-controller .slick-dots li button {position: relative; width: 70px; height: 4px; background: #CCC; font-size: 0; border: none; transition: all 0.6s;}
.main-controller .slick-dots li button:after {position: absolute; top: 0; left: 0; content: ''; width: 0; height: 100%; background: #2775c3; transition: all 4s;}
.main-controller .slick-dots li.slick-active button:after {animation: progress 4.5s both;}
@keyframes progress {0% {width: 0;} 100% {width: 100%;}}

.main-controller .controller button {display: block; width: 12px; height: 12px; background-repeat: no-repeat; background-position: center center; background-size: contain; border: 0; background-color: transparent; margin-top: 10px;}
.main-controller .controller .btn-stop {background-image: url('../img/main/main_visual_controller_btn_stop.png');}
.main-controller .controller .btn-play {display: none; background-image: url('../img/main/main_visual_controller_btn_play.png');}

.sec-title {margin-bottom: 61px; text-align: center;}
.sec-title h3 {font-size: 58px; font-weight: 700; line-height: 1em; color: #000;}
.sec-title.white h3 {color: #fff;}
.sec-title.left h3 {text-align: left;}

.sec01 {padding: 116px 0 155px; background: url('../img/main/sec01_bg.jpg') no-repeat center center/cover;}
.sec01 .wrap {display: flex; margin: 0 -24px;}
.sec01 .box {width: 25%; padding: 0 24px;}
.sec01 .box a {position: relative; height: 100%; padding: 13px 15px 35px; background: #fff; border: 1px solid #ddd; box-shadow: 0px 0px 4.95px 0.05px rgba(76, 76, 76, 0.22);}
.sec01 .box a:after {opacity: 0; position: absolute; top: 0; left: 0; content: ''; width: 100%; height: 100%; border: 2px solid #2371c2; transition: all 0.4s;}
.sec01 .box a:hover:after {opacity: 1;}
.sec01 .box .text-box {text-align: center; padding: 0 20px;}
.sec01 .box h4 {font-size: 30px; font-weight: 500; line-height: 1.2em; color: #000; padding: 34px 0 36px;}
.sec01 .box p {display: inline-block; width: 100%; line-height: 56px; font-size: 22px; font-weight: 500; color: #fff; background: linear-gradient(147deg,rgba(105, 117, 221, 1) 0%, rgba(115, 85, 176, 1) 100%); border-radius: 28px;}

.sec02 {padding: 119px 0 130px; background: url('../img/main/sec02_bg.jpg') no-repeat center center/cover;}
.sec02 .sec-title {margin-bottom: 67px;}
.sec02 .tab-menu {display: flex; justify-content: center; max-width: 480px; width: 100%; background: #a2a2a2; border-radius: 28px; margin: 0 auto 90px;}
.sec02 .tab-menu li {max-width: 250px; width: 100%; height: 57px; border-radius: 28px; text-align: center; transition: all 0.4s;}
.sec02 .tab-menu li.active {background: #002b5a;}
.sec02 .tab-menu li a {font-size: 20px; font-weight: 700; line-height: 57px; color: #fff;}
.sec02 .tab-content-wrap {width: 100%; height: 490px;}
.sec02 .tab-content {display: none;}
.sec02 .tab-content.active {display: block;}
.sec02 .swiper {background: #fff; box-shadow: 0px 0px 27.16px 0.84px rgba(180, 180, 180, 0.3);}
.sec02 .swiper-slide {position: relative; padding: 50px 60px 60px; background: #fff;}
.sec02 .swiper-slide:after {position: absolute; top: 50%; right: 0; transform: translateY(-50%); content: ''; width: 1px; height: 76%; background: #ddd;}
.sec02 .swiper-slide b {display: block; font-size: 16px; font-weight: 700; line-height: 1em; color: #f59000; margin-bottom: 20px;}
.sec02 .swiper-slide h4 {font-size: 32px; font-weight: 700; line-height: 1.2em; color: #262626; margin-bottom: 30px; transition: all 0.4s; height:calc(1.2em * 1 * 2); overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.sec02 .swiper-slide a:hover h4 {color: #4394d6;}
.sec02 .swiper-slide p {font-size: 20px; line-height: 1.5em; color: #989898; transition: all 0.4s; margin-bottom: 30px; transition: all 0.4s; height:calc(1.5em * 1 * 3); overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;}
.sec02 .swiper-slide a:hover p {color: #4394d6;}
.sec02 .swiper-slide .date {font-size: 16px; font-weight: 700; line-height: 1em; color: #474747;}

.sec02-controller {display: flex; justify-content: space-between; align-items: center; max-width: 1015px; width: 100%; margin: 83px auto 0;}
.sec02-controller .bar {width:1%; flex:1 1 auto;}
.sec02-controller .bar .sec02_progress {width:100%; height:3px; background:#fff; position:relative; overflow:hidden;}
.sec02-controller .bar .sec02_progress span {display:block; width:0%; height:100%; background:#4394d6; transition:width 1s linear; position:absolute; top:0; left:0;}
.sec02-controller .btn {width:100%; max-width:75px;}
.sec02-controller .sec02-arrows {display: flex; }
.sec02-controller .sec02-arrows > div {width: 13px; height: 21px; background-color: transparent; background-repeat: no-repeat; background-position: center top; border: 0; font-size: 0; transition: all 0.5s; margin-bottom: 3px; cursor: pointer;}
.sec02-controller .sec02-prev {background-image: url('../img/main/sec02_btn_prev.png'); margin-left: 24px; margin-right: 23px;}
.sec02 .sec02-controller .sec02-next {background-image: url('../img/main/sec02_btn_next.png'); margin-top: 2px;}

.sec03 {padding: 118px 0 104px; background: url('../img/main/sec03_bg.jpg') no-repeat right center/cover;}
#main .sec03 .container {max-width: 1570px;}
.sec03 .text-box {max-width: 660px; width: 100%;}
.sec03 .text-box b {display: block; font-size: 30px; font-weight: 700; line-height: 1.4em; color: #fff; margin-bottom: 15px;}
.sec03 .text-box p {font-size: 18px; font-weight: 300; line-height: 1.38em; color: #fff;}
.sec03 .wrap {display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; max-width: 875px; width: 100%; border-top: 1px solid #0b5992; margin-top: 78px; padding-top: 18px;} 
.sec03 .wrap .sec-title {margin-bottom: 0;}
.sec03 .wrap ul {display: flex;}
.sec03 .wrap ul li:nth-child(1) {margin-right: 35px;}
.sec03 .wrap ul li a {position: relative; padding-left: 42px; font-size: 28px; font-weight: 500; line-height: 2em; color: #fff; transition: all 0.4s;}
.sec03 .wrap ul li a:hover {color: #3381d2;}
.sec03 .wrap ul li a:before {position: absolute; top: 50%; margin-top: -13px; left: 0; content: ''; width: 26px; height: 26px; background-repeat: no-repeat; background-position: left center; transition: all 0.4s;}
.sec03 .wrap ul li:nth-child(1) a:before {background-image: url('../img/main/sec03_icon_mail.png');}
.sec03 .wrap ul li:nth-child(2) a:before {background-image: url('../img/main/sec03_icon_tel.png');}