/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
section{padding: 40px 0;overflow: hidden;}
#mainContent{position: relative;z-index: 2;}

.mv{position: relative;padding: 0;}
.mv_bg{position:relative;overflow:hidden;opacity:0;transition:all .3s;}
.mv_bg.init{opacity:1}
.main_slider{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.mv_bg,
.main_slider .slide_item{width:100%;height:1080px;min-height: 100vh; }
.main_slider .slide_item .img{position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;background-size:cover;background-position:center}
.main_slider .slide_item.zoomed .img{animation-name:zoomImg;animation-duration:6s;animation-timing-function:linear;animation-fill-mode:forwards}
.main_slider .slide_item .img img {width: 100%;height: 100%;object-fit: cover;}

.mv_txt { position: absolute; z-index: 2; left: 50%; transform: translateX(-50%); width: 1505px; height: auto; max-width: 100%; padding: 0 30px; text-align: left; color: #fff; bottom: 406px; }
.mv_ttl{font-size:50px;font-weight:500;letter-spacing: 0.16em;line-height: 1.2em;margin: 0 0 21px;}
.mv_ttl .mv_txt_spec {font-family: var(--f-klee); font-size: 112%; font-weight:700;}
.mv_des {font-size: 24px;font-weight: 400;line-height: 1.67em;letter-spacing: 0.16em;}

@keyframes zoomImg { 0%{transform:scale(1.2)} 100%{transform:scale(1.0)}}

.main_slider .slick-dots { width: 1505px;max-width: 100%;left: 50%;transform: translateX(-50%);bottom: 220px;display: flex;gap: 2px;padding: 0 30px;counter-reset: item_dots;}
.main_slider .slick-dots li {width: 60px;height: 60px;padding: 0;margin: 0;counter-increment: item_dots;letter-spacing: 0.005em;}
.main_slider .slick-dots li button {padding: 0;width: 100%;height: 100%;background: rgba(255,255,255,0.2);display: flex;justify-content: center;align-items: center;text-align: center;transition: all 0.3s;}
.main_slider .slick-dots li button:before { counter-increment: li; content: counter(item_dots, decimal-leading-zero); font-size: 24px; font-family: var(--f-num); color: #fff; opacity: 1;line-height: 60px;width: auto;height: auto;position: relative;font-weight: 500;}
.main_slider .slick-dots li.slick-active button {background: rgba(255,255,255,1);cursor: default;}
.main_slider .slick-dots li.slick-active button:before {color: var(--txt);}

.mv_en { margin: 0; position: absolute; font-size: 180px; text-align: right; text-transform: uppercase; right: 110px; bottom: -7px; z-index: 2; line-height: 1.1em; font-family: var(--en); opacity: 0.14; letter-spacing: 0.005em; color: #fff; pointer-events: none; }

/*==================== SEC01 ===================*/
.sec01 {background: url("../images/sec01_bg.jpg") no-repeat center center/cover;background-attachment: fixed;color: #fff;padding: 146px 0 260px;}
.sec01 .inner {width: 1340px;padding: 0 30px;}
.sec01 .ttl { margin-bottom: 176px; }
.sec01 .ttl .ja {display: inline-flex;align-items: center;gap: 25px;}
.sec01 .ttl .ja:after {background: #fff;margin: 0;}
.sec01_list {counter-reset: item_sec01;margin: 0 0 86px;}
.sec01_item { width: 542px; position: relative; border-bottom: 1px solid rgb(255 255 255 / 50%); padding: 0 0 65px 158px; margin: 0 0 66px;counter-increment: item_sec01; }
.sec01_item:before { counter-increment: div; content: counter(item_sec01, decimal-leading-zero);font-size: 90px; background: linear-gradient(to bottom, #dbeeff, #bed8f1); -webkit-background-clip: text; background-clip: text; color: transparent;font-family: var(--en);letter-spacing: 0;position: absolute;left: -5px;top: -6px;line-height: 1em;}
.sec01_item_ttl { font-size: 28px; line-height: 1.35em; font-weight: 500; letter-spacing: 0.16em; margin: 0 0 10px;}
.sec01_item_txt { font-size: 20px; letter-spacing: 0.16em; line-height: 1.8em; max-width: 305px; margin: 0;}
.sec01_item_img { position: absolute; }
.sec01 .btn a {color: #fff;border-bottom-color: #fff;}
.sec01 .btn a:after {background-image: url("../images/ic_arr1.svg");}
/*==================== SEC02 ===================*/
.sec02 {padding: 137px 0;}
.sec02 .ttl {text-align: center;}
.sec02 .ttl .en { margin: 0; background: linear-gradient(to bottom, #c6d6e5, #729ec6);-webkit-background-clip: text; background-clip: text;}
.sec02_tab { display: flex; margin-bottom: 28px;}
.sec02_tab li {flex: 1;height: 90px;background: var(--txt);color: #fff;cursor: pointer;transition: all 0.3s;display: flex;justify-content: center;align-items: center;text-align: center;font-size: 24px;font-weight: 500;line-height: 1.2em;border-bottom: 2px solid var(--mcolor);}
.sec02_tab li .en {display: block;font-size: 14px;letter-spacing: 0.06em;}
.sec02_tab li.current {background: var(--mcolor);cursor: default;}
.sec02_main {display: none;}
.sec02_main.current {display: inherit;}
.sec02_list { display: flex; flex-wrap: wrap; gap: 15px; }
.sec02_item {width: calc((100% - 60px)/5);font-size: 22px;font-weight: 500;line-height: 1.4em;}
.sec02_item a {height: 300px;display: block;background: rgb(246 249 255 / 80%);border: 1px solid rgb(215 226 237 / 80%);padding: 27px 25px 20px;text-align: center;position: relative;}
.sec02_item a:after {content: '';position: absolute;width: 12px;height: 12px;background: var(--mcolor);clip-path: polygon(100% 0, 0% 100%, 100% 100%);right: 5px;bottom: 5px;}
.sec02_item a .img {display: flex;width: 153px;height: 153px;margin: 0 auto 10px;background: #fff;justify-content: center;align-items: center;border-radius: 50%;transition: all 0.3s;}
.sec02_item a .en {display: block;color: var(--mcolor);font-size: 14px;letter-spacing: 0.04em;margin: -4px 0 0;}
.sec02_item a img {transition: filter 0.3s ease;}
/*==================== SEC03 ===================*/
.sec03 {background: url("../images/sec03_bg.jpg") no-repeat center center/cover;position: relative;z-index: 1;padding: 25px 0 474px}
.sec03 .ttl .en { font-size: 160px; line-height: 0.8em; background: linear-gradient(to bottom, #c6d6e5, #729ec6); -webkit-background-clip: text; background-clip: text; color: transparent; margin: 0 0 7px; }
.sec03 .ttl .ja:after {margin: 22px 0 0;}
.sec03_en { margin: 0; font-size: 160px; position: absolute; line-height: 1em; font-family: var(--en); color: #fff; opacity: 0.8; left: calc((100% - min(100%, 1910px)) / 2 - 9px); top: 350px; pointer-events: none; z-index: -2;letter-spacing: -0.05em;}
.sec03_en:last-child {top: auto;bottom: 266px;left: auto;right: calc((100% - min(100%, 1910px)) / 2 + 40px);text-align: right;}
.sec03_main { width: 530px; position: relative;}
.sec03_name { font-size: 18px; font-weight: 500; margin: 0 0 44px;}
.sec03_name .lager { font-size: 155.56%; display: inline-block; margin-top: 6px; }
.sec03_name .en {font-size:88.89%;font-family: var(--en);color: var(--mcolor);margin-left: 21px; }
.sec03_txt p {letter-spacing: 0.14em;}
.sec03_txt p:not(:last-child) {margin: 0 0 10px;}
.sec03_txt {margin: 0 0 50px;}
.sec03 .ttl { margin: 0 0 266px; }
.sec03_img .img {display: block;position: relative;}
.sec03_img .img.img_small img {box-shadow: 0px 23px 57px 3px rgba(26, 98, 164, 0.22);}
.sec03_main:nth-of-type(2) .sec03_img .img:first-child:after {content: '';position: absolute;width: 100%;background: url("../images/sec03_img_bg.jpg") no-repeat bottom left;height: 500px;left: 280px;bottom: -73px;z-index: -1;pointer-events: none;}
.sec03_img .img.img_small {position: absolute;display: inline-block;right: 70px;bottom: -229px;}
.sec03_main:nth-of-type(3) {margin: 253px -50px 0 auto;}
.sec03_main:nth-of-type(3) .sec03_img .img.img_small {right: auto;left: -135px;bottom: -159px;}
.sec03 .btn a:after {background-image: url("../images/ic_arr2.svg");}
/*==================== SEC04 ===================*/
.sec04 { background: url(../images/sec04_bg.png) no-repeat top center / cover; margin-top: -258px; position: relative; z-index: 2; padding: 149px 0 500px; }
.sec04 .ttl .ja:after {margin: 20px 0 0;width: 240px;}
.sec04 .ttl {margin-bottom: 61px;}
.sec04_main { width: 700px; border: 8px solid rgb(255 255 255 / 49%); }
.sec04_main_info {background: #fff;padding: 72px;}
.sec04 .ttl .en { line-height: 0.8em; background: linear-gradient(to bottom, #c6d6e5, #729ec6); -webkit-background-clip: text; background-clip: text; color: transparent; margin: 0 0 17px; }
.sec04_add {letter-spacing: 0.14em; margin: 0 0 9px;}
.sec04_logo { margin: 0 0 17px; }
.sec04_tel { font-size: 24px; font-weight: 500; }
.sec04_tel a {display: inline-flex;align-items: center;gap: 17px;}
.sec04_tel a:before {content: '';position: relative;display: inline-block;width: 40px;height: 40px;background: url("../images/ic_tel_blue.svg") no-repeat center center #f2f4f9;border-radius: 50%;}
.sec04_map { height: 300px; margin: 29px 0; }
/*==================== SEC06 ===================*/
.sec06 { padding: 72px 0 158px; }
.sec06_instagram_ttl { display: flex; align-items: center; font-size: 24px; font-weight: 500;justify-content: space-between;margin: 0 0 35px;}
.sec06_instagram_ttl .txt {display: inline-flex;align-items: center;gap: 17px;}
.sec06_instagram_ttl .txt:before {content: '';position: relative;display: inline-block;background: url("../images/ic_instagram.svg") no-repeat center center/100% auto;width: 30px;height: 30px;}
.sec06_instagram { width: 570px; }
.sec06_instagram_list { display: flex; flex-wrap: wrap; gap: 15px; }
.sec06_instagram_item { width: calc((100% - 30px) / 3); }
.sec06_instagram_ttl .link { font-size: 16px; text-decoration: underline; font-weight: 400; text-decoration-color: #bfc1c9; margin: -6px 0 0;}
.sec06_news { width: 555px; position: relative;margin: 9px 0 0;}
.sec06_news .ttl { margin-bottom: 42px; }
.sec06_news .ttl .en {font-size: 50px;line-height: 0.8em;background: linear-gradient(to bottom, #c6d6e5, #729ec6); -webkit-background-clip: text; background-clip: text; color: transparent;margin: 0 0 12px;}
.sec06_news .ttl .ja {font-size: 24px;}
.sec06_news .ttl .ja:after {display: none;}
.sec06_news .btn {position: absolute;right: 0;top: 22px;}
.sec06_news .btn a {width: 157px;}
.sec06_news_list li {border-top: 1px solid #e3ecf4;font-size: 18px;word-break: break-all;}
.sec06_news_list li:last-child {border-bottom: 1px solid #e3ecf4;}
.sec06_news_list li a {display: flex;align-items: center;padding: 30px 50px 30px 0;gap: 24px;position: relative;}
.sec06_news_list li a:after {content: '';position: absolute;background: url("../images/ic_arr4.png") no-repeat center center/100% auto;width: 11px;height: 9px;right: 30px;top: calc(50% - 5px);transition: all 0.3s;}
.sec06_news_list li a .date {font-family: var(--en);letter-spacing: 0;line-height: 1.12em;color: var(--mcolor);border-right: 1px solid #e3ecf4;width: 74px;flex-shrink: 0;}
.sec06_news_list li a .year {display: block;font-size: 77.78%;margin: -2px 0 7px;}
.sec06_news_list li a .title {display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;}
