@charset "UTF-8";


/*** layout ***/
#container {padding: 0;}
#container .inner {display: block;max-width: none;margin: 0;padding: 0;}
.ptit {margin-bottom: calc(var(--spacer23) - (((var(--fz-title-m) * 1.5) - var(--fz-title-m)) / 2));}
.ptit strong {font-weight: 700;}
.sec_inner {display: block;max-width: calc(128rem + (var(--spacer10) * 2));margin: 0 auto;padding: 0 var(--spacer10);}



/*** section01 ***/
.section01 {height: 50rem;}
.section01 .vslSwiper {position: relative;width: 100%;height: 100%;}
.section01 .swiper-wrapper {position: absolute;left: 0;top: 0;z-index: 0;}
.section01 .swiper-slide {overflow: hidden;}
.section01 .swiper-slide img {width: 100%;height: 100%;object-fit: cover;}
.section01 .sec_inner {position: relative;height: 100%;}
.section01 .visual_txt {display: flex;flex-direction: column;justify-content: center;height: 100%;line-height: 1.3;color: #fff;text-shadow: 0 0.3rem 0.6rem rgba(var(--black), 0.3);}
.section01 .visual_txt span {display: block;font-size: 3.2rem;font-weight: 300;}
.section01 .visual_txt strong {display: block;font-size: 5.6rem;font-weight: 800;}
.section01 .visual_txt p {position: relative;margin-top: var(--spacer27);font-family: 'S-CoreDream', sans-serif;font-size: 5rem;font-weight: 800;text-shadow: 0 0.3rem 0.6rem rgba(var(--black), 0.16);}
.section01 .visual_txt p::before {content: '';position: absolute;left: 0;top: calc(var(--spacer27) / -2);width: 8.6rem;height: 1px;background: #fff;}
.section01 .ctrl {display: flex;justify-content: space-between;align-items: center;position: absolute;right: var(--spacer10);bottom: -3.5rem;width: 46rem;padding: var(--spacer9) var(--spacer14);color: #fff;background: #111111;}
.section01 .ctrl .vslPagination {display: inline-block;position: relative;left: auto;top: auto;bottom: auto;min-width: 4rem;width: auto;text-align: center;}
.section01 .ctrl .vslPagination::after {content: '';position: absolute;left: calc(100% + 2rem);top: 50%;width: 8rem;height: 1px;background: #fff;}
.section01 .ctrl .vslPagination .swiper-pagination-current {font-size: 2.5rem;font-weight: 500;}
.section01 .ctrl .vslPagination .swiper-pagination-total {font-weight: 300;}
.section01 .ctrl button {border: 0;font-family: 'Bodoni MT', sans-serif;font-size: 2.5rem;font-weight: bold;color: #fff;}
.section01 .ctrl .vslPrev {position: relative;margin-right: var(--spacer23);}
.section01 .ctrl .vslPrev::before {content: '';position: absolute;right: calc(var(--spacer23) / -2);top: 50%;transform: translateY(-50%);width: 1px;height: 2.5rem;background: #666666;pointer-events: none;}
/* compenent reset */
.section01 .ctrl .vslPagination {margin-top: 0;}
.section01 .ctrl [class^="swiper-pagination-"] {display: inline-block;width: auto;margin-top: 0;}



/*** section02 ***/
.section02 {background: rgba(239, 239, 239, 0.62);}
.section02 .sec_inner {padding: var(--spacer27) var(--spacer10);}

/** work_list **/
.section02 .work_list {display: flex;flex-wrap: wrap;gap: var(--spacer13);margin-bottom: var(--spacer23);}
.section02 .work_list li {width: calc((100% - (var(--spacer13) * 5)) / 6);}
.section02 .work_list li a {display: flex;flex-direction: column;justify-content: center;align-items: center;min-height: 19rem;padding: var(--spacer7);border: 1px solid #fff;border-radius: var(--rd15);font-size: 2.2rem;font-weight: 600;background: #fff;box-shadow: 0 0 2rem rgba(190, 207, 232, 0.43);transition: 0.1s;}
.section02 .work_list li a:focus,
.section02 .work_list li a:hover {border-color: #18A4EA;}
.section02 .work_list li a figure {display: block;margin: auto;}

/** work_link **/
.section02 .work_link {display: flex;flex-wrap: wrap;gap: var(--spacer9);}
.section02 .work_link a {display: flex;flex-direction: column;justify-content: center;flex: 1;min-height: 15rem;padding: var(--spacer19);border-radius: var(--rd20);color: #fff;transition: 0.1s;}
.section02 .work_link a:nth-child(1) {background: #18A4EA url(../images/main/s02_lnk01.png) no-repeat bottom right 2.7rem;}
.section02 .work_link a:nth-child(2) {background: #1C00AC url(../images/main/s02_lnk02.png) no-repeat bottom -0.2rem right 1.4rem;}
.section02 .work_link a:focus {outline-color: #fff;}
.section02 .work_link a .tit {display: flex;align-items: center;gap: var(--spacer5);position: relative;margin-bottom: calc(var(--spacer5) - (((var(--fz-title-s) * 1.5) - var(--fz-title-s)) / 2));}
.section02 .work_link a .tit::after {content: '\e93e';font-family: 'xeicon';font-size: 1.6rem;font-weight: 400;}
.section02 .work_link a p {opacity: 0.8;font-weight: 300;}
.section02 .work_link a:focus,
.section02 .work_link a:hover {box-shadow: 0 0.5rem 1.5rem rgba(var(--black), 0.2);}
.section02 .work_link a:focus .tit::after,
.section02 .work_link a:hover .tit::after {animation: h_move 0.8s infinite linear;}
@keyframes h_move {
    50% {transform: translateX(0.5rem);}
    100% {transform: translateX(0);}
}



/*** section03 ***/
.section03 .sec_inner {display: flex;flex-wrap: wrap;gap: var(--spacer36) var(--spacer10);padding: var(--spacer19) var(--spacer10) var(--spacer47);}

/** nt_wrap **/
.section03 .nt_wrap {position: relative;width: 100%;}
.section03 .nt_wrap .btn_more {display: inline-flex;justify-content: center;align-items: center;position: absolute;right: 0;top: 0;width: 5rem;height: 5rem;color: #fff;background: #222222;}
.section03 .nt_wrap .btn_more::before {content: '\e913';font-family: 'xeicon';transition: 0.3s;}
.section03 .nt_wrap .btn_more:focus {outline-color: #fff;}
.section03 .nt_wrap .btn_more:focus::before,
.section03 .nt_wrap .btn_more:hover::before {transform: rotate(180deg);}
/* nt_list */
.section03 .nt_list {display: flex;flex-wrap: wrap;gap: var(--spacer6);}
.section03 .nt_list li {width: calc((100% - (var(--spacer6) * 3)) / 4);}
.section03 .nt_list li a {display: block;position: relative;min-height: 28rem;padding: calc(var(--spacer19) - (((1.6rem * 1.5) - 1.6rem) / 2)) var(--spacer12);border-radius: var(--rd20);background: #fff;box-shadow: 0 0 2rem #F1F3F3;transition: 0.2s;}
.section03 .nt_list li a .date {display: block;margin-bottom: calc(var(--spacer4) - (((2.2rem * 1.4) - 2.2rem) / 2));font-size: 1.6rem;font-weight: 500;color: #A7AFB7;}
.section03 .nt_list li a .title {display: block;font-size: 2.2rem;font-weight: 800;line-height: 1.4;}
.section03 .nt_list li a .txt {display: block;margin-top: calc(var(--spacer6) - (((2.2rem * 1.4) - 2.2rem) / 2));color: #4E5B68;}
.section03 .nt_list li a:focus,
.section03 .nt_list li a:hover {transform: translateY(-1rem);box-shadow: 0 0.5rem 1.5rem rgba(190, 207, 232, 0.43);}
.section03 .nt_list li a:focus .title,
.section03 .nt_list li a:hover .title {text-decoration: underline;}
/* ellipsis */
.section03 .nt_list li a .title,
.section03 .nt_list li a .txt {display: -webkit-box;word-wrap: break-word;-webkit-box-orient: vertical;text-overflow: ellipsis;overflow: hidden;}
.section03 .nt_list li a .title {-webkit-line-clamp: 2;}
.section03 .nt_list li a .txt {-webkit-line-clamp: 4;}


/** svc_wrap **/
.section03 .svc_wrap {width: calc((100% - var(--spacer10)) / 2);}
/* svc_link */
.section03 .svc_link {display: flex;gap: var(--spacer7);}
.section03 .svc_link li {width: calc((100% - (var(--spacer7) * 2)) / 3);}
.section03 .svc_link li a {display: flex;flex-direction: column;justify-content: center;align-items: center;min-height: 16rem;padding: var(--spacer7);border: 1px solid #DCDCDC;border-radius: var(--rd20);font-size: 1.8rem;font-weight: 500;background: #fff;transition: 0.1s;}
.section03 .svc_link li a:focus,
.section03 .svc_link li a:hover {box-shadow: 0 0 2rem rgba(117, 117, 117, 0.1);}
.section03 .svc_link li a figure {display: block;margin: auto;}
/* contact */
.section03 .svc_wrap .contact {display: flex;margin-top: var(--spacer19);min-height: 10rem;padding: var(--spacer9) var(--spacer14);border-radius: var(--rd20);background: #002F61;}
.section03 .svc_wrap .contact dl {display: flex;align-items: center;gap: var(--spacer11);position: relative;}
.section03 .svc_wrap .contact dl:nth-of-type(1) {flex: 1;justify-content: space-between;margin-right: var(--spacer39);}
.section03 .svc_wrap .contact dl:nth-of-type(1)::after {content: '';position: absolute;right: calc(var(--spacer39) / -2);top: 50%;transform: translateY(-50%);width: 1px;height: 2.3rem;background: #fff;}
.section03 .svc_wrap .contact dt {font-size: 2.8rem;font-weight: 600;color: #fff;}
.section03 .svc_wrap .contact dd.tel {font-family: var(--font2);font-size: 2.4rem;font-weight: 700;color: #98EAFF;}
.section03 .svc_wrap .contact dd a {display: block;}
.section03 .svc_wrap .contact dd a img {display: block;}


/** pz_wrap **/
.section03 .pz_wrap {position: relative;width: calc((100% - var(--spacer10)) / 2);}
.section03 .pz_wrap a {display: block;height: 100%;border-radius: var(--rd20);}
.section03 .pz_wrap a img {display: block;width: 100%;height: 100%;object-fit: cover;}
.section03 .pzSwiper {overflow: hidden;height: 30rem;}
.section03 .pzSwiper .ctrl {display: flex;gap: var(--spacer3);position: absolute;right: 0;top: 0;}
.section03 .pzSwiper .ctrl button {width: 4.4rem;height: 4.4rem;border: 1px solid #DDDDDD;transition: 0.1s;}
.section03 .pzSwiper .ctrl button::before {font-family: 'xeicon';font-size: 1.4rem;font-weight: 700;}
.section03 .pzSwiper .ctrl .pzPrev::before {content: '\e93b';}
.section03 .pzSwiper .ctrl .pzNext::before {content: '\e93e';}
.section03 .pzSwiper .ctrl button:focus,
.section03 .pzSwiper .ctrl button:hover {border-color: #524AAC;border-radius: 0;}