@charset "utf-8";

#main {position:relative; overflow:hidden;}
/* main-visual */
.main-visual {position:relative; height:100vh; overflow:hidden;}
.main-visual .origin {position:absolute; width:100%; height:100%; top:0; left:0;}
.main-visual .origin .item {height:100vh;}
.main-visual .origin img {object-fit:cover; height:100%; width:100%; position:relative; transform:scale(1.1); transition:all 4.5s;}
.main-visual .origin .item.slick-active img {transform:scale(1);}

.main-visual .thumb {width:100%; height:100%; position:relative; z-index:1;}
.main-visual .thumb .wrap {width:100%; max-width:1470px; padding:0 15px; height:100%; margin:0 auto; display:flex; align-items:center;}
.main-visual .thumb .box {width:100%;}
.main-visual .thumb h2 {font-size:60px; line-height:1.2em; color:#222; margin-bottom:30px;}
.main-visual .thumb h2 strong {font-size:64px;}
.main-visual .thumb p {font-size:24px; line-height:1.6em; color:#666; font-weight:600;}
.main-visual .thumb .btns {margin-top:60px; width:100%; height:32px; max-width:236px; position:relative;}
.main-visual .thumb .btns .slick-arrow {width:32px; height:32px; background-repeat:no-repeat; background-size:cover; border:0; font-size:0; top:0; background-color:transparent; position:absolute;}
.main-visual .thumb .btns .slick-prev {background-image:url('../img/main/main-prev.png'); left:0;}
.main-visual .thumb .btns .slick-next {background-image:url('../img/main/main-next.png'); right:0;}
.main-visual .thumb .btns .paging {height:100%;}
.main-visual .thumb .btns .paging ul {display:flex; justify-content:center; align-items:center; height:100%;}
.main-visual .thumb .btns .paging ul li {padding:0 8px;}
.main-visual .thumb .btns .paging ul li button {display:block; width:10px; height:10px; border-radius:5px; background:#666; transition:width 0.4s; border:0; font-size:0;}
.main-visual .thumb .btns .paging ul li.slick-active button {background:#24C4FB; width:80px;}
.main-visual .scrolldown {padding-bottom:66px; position:relative;  position:absolute; bottom:0; left:50%; margin-left:-64px; z-index:2;}
.main-visual .scrolldown .bar {width:2px; height:50px; background:rgba(85, 85, 85, 0.60); position:absolute; bottom:0; left:50%; margin-left:-1px; overflow:hidden;}
.main-visual .scrolldown .bar span {width:2px; height:14px; background:#1739A8; position:absolute; top:0; left:0; animation:barDown 2s linear infinite both;}
@keyframes barDown {0%{transform:translateY(-14px)} 100%{transform:translateY(64px)}}
/* section01 */
.section01 {background:url('../img/main/sec01bg.jpg') center center no-repeat; background-size:cover; height:930px; padding-top:226px;}
.section01 .wrap {position:relative; z-index:2;}
.section01 .tit-box {margin-bottom:40px; position:relative; z-index:3;}
.section01 .tit-box p {font-size:24px; line-height:1.6em; font-weight:600; color:#1739a8; letter-spacing:2px; margin-bottom:20px;}
.section01 .tit-box h3 {font-size:50px; line-height:1.2em; color:#222;}
.section01 .txt-box {position:relative; z-index:3;}
.section01 .txt-box p {font-size:22px; line-height:1.8em; color:#444; margin-bottom:44px;}
.section01 .txt-box a {display:inline-block; width:260px; line-height:56px; background:#1D3480; border-radius:28px; text-align:center; font-size:20px; color:#fff; font-weight:700;}
.section01 .txt-box a:after {content:''; width:32px; height:32px; background:url('../img/main/sec01-more.png') no-repeat; background-size:cover; display:inline-block; vertical-align:middle; margin-top:-2px; margin-left:10px; transition:all 0.4s;}
.section01 .txt-box a:hover:after {margin-left:20px;}
.section01 .img {position:absolute; right:15px; top:66px; z-index:1; animation:imgtoggle 2s linear infinite both;}
@keyframes imgtoggle {0%{transform:translateY(0)} 50%{transform:translateY(10px)} 100%{transform:translateY(0)}}
/* section02 */
.section02 {padding:200px 0; overflow:hidden; max-width:1920px; margin:0 auto;}
.section02 .tit-box {text-align:center; margin-bottom:120px;}
.section02 .tit-box p {font-size:24px; line-height:1.6em; font-weight:600; color:#1739a8; margin-bottom:20px;}
.section02 .tit-box h3  {font-size:50px; line-height:1.2em; color:#070707;}
.section02 .items.top {margin-bottom:50px;}
.section02 .items {display:flex; width:max-content;}
.section02 .items .item {margin-right:40px; flex:0 0 auto;}
/* section03 */
.section03 {position:relative; overflow:hidden;}

.section03:before,
.section03:after {content:''; width:50%; height:100%; background-repeat:no-repeat; background-size:cover; background-position:center center; position:absolute; top:0; z-index:-1; transition:all 0.4s;}
.section03:before {background-image:url('../img/main/sec0301bg.jpg'); left:0;}
.section03:after {background-image:url('../img/main/sec0302bg.jpg'); right:0;}
.section03 .col {display:flex; margin:0 -90px;}
.section03 .row {width:50%; height:422px; padding:90px 90px 0; position:relative;}
.section03 .row .txt-box {position:relative; z-index:11;}
.section03 .row h4 {font-size:32px; line-height:1.4em; color:#222; margin-bottom:24px;}
.section03 .row .more a {font-size:22px; line-height:1.6em; font-weight:700; color:#1739a8; position:relative; display:inline-block; padding-right:44px;}
.section03 .row .more a:after {content:''; width:32px; height:32px; background:url('../img/main/sec03-more.png') no-repeat; background-size:cover; position:absolute; top:50%; margin-top:-16px; right:0; transition:all 0.4s;}
.section03 .row .more a:hover:after {right:-6px;}
/* section04 */
.section04 {padding:160px 0 200px;}
.section04 .col {display:flex; margin:0 -40px;}
.section04 .col .row {width:50%; padding:0 40px;}
.section04 .tit-box {margin-bottom:20px; position:relative; padding-right:100px;}
.section04 .tit-box h3 {font-size:40px; line-height:1.6em; color:#222;}
.section04 .tit-box .more {position:absolute; top:50%; transform:translateY(-50%); right:0;}
.section04 .tit-box .more a {font-size:18px; line-height:1.6em; color:#666; transition:all 0.4s; display:inline-block; padding-right:28px; transition:all 0.4s;}
.section04 .tit-box .more a:hover {color:#1739a8;}
.section04 .tit-box .more a:before {content:''; background-image:url('../img/main/sec04-more.png'); width:20px; height:20px; background-repeat:no-repeat; background-size:cover; transition:all 0.4s; position:absolute; top:50%; margin-top:-10px; right:0;}
.section04 .tit-box .more a:hover:before {background-image:url('../img/main/sec04-more-on.png');}
.section04 .txt-box li {padding:20px 0; border-bottom:1px solid #ddd; display:flex; align-items:center; transition:all 0.4s;}
.section04 .txt-box li a {width:1%; flex:1 1 auto; font-size:22px; line-height:1.6em; color:#222; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.section04 .txt-box li p {width:100%; max-width:100px; font-size:18px; line-height:1.6em; color:#666;}
.section04 .txt-box li:has(a:hover) {background:#f8f8f8;}
