/* Visual */

.visual__background { height: 790px; }
.visual__background--1 { background: url('/child/img/main/v1.jpg') no-repeat center / cover; }
.visual__background--2 { background: url('/child/img/main/v2.jpg') no-repeat center / cover; }
.visual__background--3 { background: url('/child/img/main/v3.jpg') no-repeat center / cover; }
.visual__background--4 { background: url('/child/img/main/v4.jpg') no-repeat center / cover; }
.visual__contents{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    padding: 75px 15px 0; width: 100%; height: 100%;
    text-align: center; font-size: 24px; color: #ffffff;
}
.visual__title{
    line-height: 1.2; font-size: 80px; font-weight: 700;
    -webkit-transform: translateY(50px); transform: translateY(50px);
    -webkit-transition-duration: 0s; transition-duration: 0s;
    opacity: 0;
}
.visual__pr{
    line-height: 1; font-weight: 300;
    -webkit-transition-duration: 0s; transition-duration: 0s;
    opacity: 0;
}
.visual__line{
    display: block; margin: 35px auto;
    max-width: 700px; width: 100%; height: 4px;
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 40%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
    -webkit-transform-origin: center; transform-origin: center;
    -webkit-transform: scaleX(0); transform: scaleX(0);
    -webkit-transition-duration: 0s; transition-duration: 0s;
    opacity: 0;
}
.swiper-slide-active .visual__line{
    -webkit-transform: scaleX(1); transform: scaleX(1);
    -webkit-transition: all .5s ease-out .35s; transition: all .5s ease-out .35s;
    opacity: 1;
}
.swiper-slide-active .visual__title{
    -webkit-transform: translateY(0); transform: translateY(0);
    -webkit-transition: all .5s ease-out 1s; transition: all .5s ease-out 1s;
    opacity: 1;
}
.swiper-slide-active .visual__pr{
    -webkit-transform: translateY(0); transform: translateY(0);
    -webkit-transition: all .35s ease-out 1.5s; transition: all .35s ease-out 1.5s;
    opacity: 1;
}
.visual-container .swiper-container .slide-pagination{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    z-index: 2; position: absolute; bottom: 60px; left: 50%;
    width: auto; text-align: center; font-size: 0;
    -webkit-transform: translateX(-50%); transform: translateX(-50%);
}
.visual-container .swiper-container .slide-pagination::before{
    content: ''; position: absolute; top: 0; left: 0; bottom: 0; right: 0;
    margin: auto; width: calc(100% - 36px); height: 1px; background: rgba(255,255,255,.2);
}
.visual-container .swiper-container .slide-pagination .swiper-pagination-bullet{
    position: relative; margin: 0 13px; width: 16px; height: 16px;
    background: transparent;
    opacity: 1;
}
.visual-container .swiper-container .slide-pagination .swiper-pagination-bullet::before{
    content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0;
    margin: auto; width: 6px; height: 6px; background: #ffffff; border-radius: 50%;
    -webkit-transition: all ease .3s; transition: all ease .3s;
    opacity: .5;
}
.visual-container .swiper-container .slide-pagination .swiper-pagination-bullet::after{
    content: ''; position: absolute; top: 0; left: 0;
    margin: auto; width: 100%; height: 100%; background: url('/child/img/main/icon-hexagon.svg') no-repeat center;
    -webkit-transform: scale(0); transform: scale(0);
    -webkit-transition: all ease .3s; transition: all ease .3s;
    opacity: 0;
}
.visual-container .swiper-container .slide-pagination .swiper-pagination-bullet-active::before,
.visual-container .swiper-container .slide-pagination .swiper-pagination-bullet-active::after{
    -webkit-transform: scaleX(1); transform: scaleX(1);
    opacity: 1;
}
@media(max-width:1200px){
    .visual__background { height: 590px; }
    .visual__contents { padding-top: 0; font-size: 20px; }
    .visual__title { font-size: 50px; }
    .visual__line { margin: 20px auto; max-width: 700px; }
}
@media(max-width:768px){
    .visual-container .swiper-container .slide-pagination { bottom: 30px; }
    .visual__background { height: 340px; }
    .visual__pagination { bottom: 20px; }
    .visual__contents { padding-top: 0; font-size: 16px; }
    .visual__title { font-size: 24px; }
    .visual__line { margin: 10px auto; max-width: 350px; height: 2px; }
}
@media(max-width:500px){
}


.main-section-current { padding: 60px 0; background: #8d8c8f; }
.current-lists{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
    -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
    margin: 0 -20px;
}
.current-list{
    margin: 0 20px;
    font-size: 16px; color: #ffffff; font-weight: 300;
}
.current-list__title { display: inline-block; vertical-align: top; padding: 10px 14px; line-height: 1; background: url('/child/img/main/icon-hexagon-gradient.png') no-repeat top left / auto 40px; }
.current-list__num { line-height: 1; font-style: normal; font-size: 56px; font-weight: 700; }
.current-list__num small { padding-left: 10px; font-size: 30px; }
@media(max-width:1200px){
    .main-section-current { text-align: center; }
    .current-lists { padding: 0 100px; }
    .current-list__num { font-size: 30px; }
    .current-list__num small { padding-left: 8px; font-size: 18px; }
}
@media(max-width:600px){
    .main-section-current { padding: 10px 0; }
    .current-lists { display: inline-block; padding: 0; text-align: left; }
    .current-list { margin: 10px 0; font-size: 13px; }
    .current-list__title { vertical-align: bottom; padding: 7px 14px; width: 125px; background-size: auto 28px; }
    .current-list__num { line-height: normal; font-size: 18px; }
    .current-list__num small { padding-left: 6px; font-size: 13px; }
}


.main-section-design { padding: 0 0 335px; background: url('/child/img/main/vip-design-background.jpg') no-repeat bottom center; }
.design-lists{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    margin: 0 -23px;
}
.design-list { padding: 0 23px; width: 25%; }
.design-list:nth-child(1) .design-list__inner { padding-top: 200px; }
.design-list:nth-child(2) .design-list__inner { padding-top: 320px; }
.design-list:nth-child(3) .design-list__inner { padding-top: 120px; }
.design-list:nth-child(4) .design-list__inner { padding-top: 240px; }
.design-list__inner { position: relative; max-width: 260px; }
.design-list__inner::before{
    content: ''; position: absolute; top: 0; right: 0; width: 1px; height: calc(100%); background: rgba(0,0,0,.1);
    -webkit-transform-origin: top; transform-origin: top;
    -webkit-transition-duration: 0s; transition-duration: 0s;
    -webkit-transform: scaleY(0); transform: scaleY(0);
}
.design-list__contents { position: relative; padding-top: calc(400 / 260 * 100%); width: 100%; height: 0; }
.design-list__badge{
    position: absolute; top: 0; right: 0;
    -webkit-perspective: 250px; perspective: 250px;
    -webkit-transform-origin: left center; transform-origin: left center;
    -webkit-transform: rotateY(-90deg); transform: rotateY(-90deg);
    -webkit-transition-duration: 0s; transition-duration: 0s;
    opacity: 0;
}
.design-list__badge small{
    display: block; position: absolute; top: -7px; left: 17px;
    white-space: nowrap; line-height: 1;
    -webkit-transform-origin: left; transform-origin: left;
    font-size: 12px; color: #999999; font-weight: 300; letter-spacing: 0.55em;
    -webkit-transform: rotate(90deg); transform: rotate(90deg);
}
.design-list__image{
    overflow: hidden; position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-height: 0;
    -webkit-transition-duration: 0s; transition-duration: 0s;
}
.design-list__image::after { z-index: 1; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; }
.design-list__image img { display: block; position: absolute; top: 0; left: 0; }
.design-list__mask{
    z-index: 2; position: absolute; bottom: 0; left: 0; padding: 80px 30px 30px; width: 100%; color: #ffffff;
    background: linear-gradient(to top, rgba(0,0,0,.8) 10%, rgba(0,0,0,0) 100%);
    -webkit-transition-duration: 0s; transition-duration: 0s;
    opacity: 0;
}
.design-list__title { display: block; line-height: 1; font-size: 24px; font-weight: 700; }
.design-list__title small { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 300; opacity: .7; }

.aos-animate .design-list__inner::before{
    -webkit-transition: all 1s ease-in-out 0s; transition: all 1s ease-in-out 0s;
    -webkit-transform: scaleY(1); transform: scaleY(1);
}
.aos-animate .design-list__image{
    max-height: 400px;
    -webkit-transition: all .6s ease-in-out .12s; transition: all .6s ease-in-out .12s;
}
.aos-animate .design-list__mask{
    -webkit-transition: all .5s ease-out 1s; transition: all .5s ease-out 1s;
    opacity: 1;
}
.aos-animate .design-list__badge{
    -webkit-transition: all .5s ease-out 1.5s; transition: all .5s ease-out 1.5s;
    -webkit-transform: rotateY(0deg); transform: rotateY(0deg);
    opacity: 1;
}
@media(max-width:1200px){
    .design-list__title { font-size: 20px; }
    .design-list__title small { font-size: 13px; }
}
@media(max-width:768px){
    .main-section-design { padding: 60px 0 100px; background-position: bottom -10vw center; background-size: auto 70vw; }
    .design-list__inner { margin: auto; }
    .design-list__inner::before { content: none; }
    .design-list:nth-child(1) .design-list__inner { padding-top: 0; }
    .design-list:nth-child(2) .design-list__inner { padding-top: 0; }
    .design-list:nth-child(3) .design-list__inner { padding-top: 0; }
    .design-list:nth-child(4) .design-list__inner { padding-top: 0; }
    .design-lists { margin: 0 -20px; }
    .design-list { padding: 15px 20px; width: 50%; }
    .design-list__badge small { top: -4px; left: 10px; font-size: 10px; }
    .design-list__title { font-size: 16px; }
    .design-list__title small { font-size: 11px; }
}
@media(max-width:600px){
    .design-lists { margin: 0 -7px; }
    .design-list { padding: 7px; }
    .design-list__badge small { display: none; }
}


.section-title { position: relative; line-height: 0.8; font-size: 60px; font-weight: 700; }
@media(max-width:1200px){
	.section-title { font-size: 46px; }
}
@media(max-width:768px){
	.section-title { font-size: 24px; }
}


.main-section-portfolio { margin-top: -150px; }
.main-section-portfolio .section-title { margin-bottom: 74px; text-align: center; }
.main-portfolio-container .more { display: block; margin: 80px auto 0; width: 50px; line-height: 1; text-align: center; font-size: 14px; color: #555555; font-weight: 300; }
.main-portfolio-container .more svg { display: block; margin: 0 auto 10px; width: 28px; height: 34px; }
.main-portfolio-container .portfolio .thumbnail { padding-top: calc(320 / 480 * 100%); -webkit-transform: scale(1.01); transform: scale(1.01); }
.portfolio-lists{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -ms-flex-wrap: wrap; flex-wrap: wrap;
}
.portfolio-list { width: 25%; }
.portfolio { overflow: hidden; display: block; position: relative; background: #000; }
.portfolio .thumbnail{
    opacity: .53;
    -webkit-transition: all ease-out .3s; transition: all ease-out .3s;
}
.portfolio__mask{
    z-index: 2; position: absolute; bottom: 0; left: 0; padding: 80px 40px 30px; width: 100%; color: #ffffff;
    background: linear-gradient(to top, rgba(0,0,0,.8) 10%, rgba(0,0,0,0) 100%);
    -webkit-transition: all ease-out .3s; transition: all ease-out .3s;
    opacity: 0;
}
.portfolio__title { display: block; position: relative; padding-right: 50px; line-height: 1; font-size: 24px; font-weight: 700; }
.portfolio__title::before{
    content: ''; position: absolute; bottom: 0; right: 0; width: 35px; height: 30px;
    background: url('/child/img/icon/view-more-arrow-right.svg') no-repeat;
    -webkit-transition: all 0s ease .15s; transition: all 0s ease .15s;
    -webkit-transform: translateX(-35px); transform: translateX(-35px);
    opacity: 0;
}
.portfolio__title small { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 300; opacity: .7; }
.portfolio:hover .thumbnail{
    -webkit-transform: scale(1.05); transform: scale(1.05);
    opacity: 1;
}
.portfolio:hover .portfolio__mask { opacity: 1; }
.portfolio:hover .portfolio__title::before{
    -webkit-transition-duration: .3s; transition-duration: .3s;
    -webkit-transform: translateX(0px); transform: translateX(0px);
    opacity: 1;
}
@media(max-width:1200px){
    .portfolio__title { font-size: 20px; }
    .portfolio__title small { font-size: 13px; }
}
@media(max-width:1024px){
	.portfolio-list { width: 50%; }
}
@media(max-width:768px){
    .main-section-portfolio { margin-top: 0; }
    .main-section-portfolio .section-title { margin-bottom: 45px; }
    .portfolio__mask { padding: 80px 24px 24px; opacity: 1; }
    .portfolio__title { font-size: 16px; }
    .portfolio__title small { font-size: 11px; }
    .portfolio__title::before { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; }
    .main-portfolio-container .more { margin: 40px auto 0; font-size: 13px; }
    .main-portfolio-container .more svg { width: 24px; height: 30px; }
}
@media(max-width:600px){
	.portfolio-list { width: 100%; }
}

.main-section-contact { padding-top: 140px; }
.contact{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    position: relative;
}
.contact .background{
    display: block; z-index: 1; position: absolute; top: 0; left: calc(50% - 110px); width: calc(50vw + 110px); height: 580px;
    background: #272728 url('/child/img/main/contact-background.jpg') no-repeat left;
}
.contact .background::after { content: ''; position: absolute; top: 103px; left: -70px; width: 140px; height: 1px; background: linear-gradient(to right, #414042 50%, #ffffff 50%); }
.contact .left { z-index: 2; position: relative; padding: 76px 0 0; width: 55%; }
.contact .right { z-index: 2; position: relative; padding: 270px 0 0 55px; width: 45%; }
.contact .main-map { z-index: 2; position: relative; margin-top: 60px; width: 100%; height: 450px; font-size: 0; background: #ffffff; box-shadow: 0px 10px 20px 0px rgba(36,36,36,.15); }
.contact .main-map iframe { width: 100%; height: 100%; }
.contact .info li { margin: 22px 0; font-size: 18px; color: #ffffff; font-weight: 300; letter-spacing: -0.06em; }
.contact .info .line { padding: 0 7px; line-height: 0.8; }
.contact .info b { display: inline-block; font-weight: 600; -webkit-transform: scaleY(0.95); transform: scaleY(0.95); }
@media(max-width:1200px){
    .contact .info li { font-size: 16px; }
    .contact .left { width: 52%; }
    .contact .right { width: 48%; padding: 250px 0 0 35px; }
}
@media(max-width:768px){
    .main-section-contact { padding-top: 60px; }
    .contact{
        -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;
    }
    .contact .background { top: auto; bottom: -40px; left: -15px; width: calc(100% + 30px); height: 300px; }
    .contact .background::after { content: none; }
    .contact .left { width: 100%; padding-top: 0; }
    .contact .right { width: 100%; padding: 10px 0 0; }
    .contact .main-map { margin-top: 35px; height: 250px; }
    .contact .info li { margin: 10px 0; font-size: 14px; }
}


.main-section-partners { margin-top: -60px; padding: 215px 0 80px; background: #f9f9f9; }
.partners-container__prev, .partners-container__next { z-index: 2; position: absolute; top: 0; bottom: 0; margin: auto; width: 50px; height: 50px; background-repeat: no-repeat; background-position: center; outline: none; }
.partners-container__prev[aria-disabled="true"], .partners-container__next[aria-disabled="true"] { opacity: 0; visibility: hidden; }
.partners-container__prev { left: 15px; background-image: url('/child/img/main/prev.svg'); }
.partners-container__next { right: 15px; background-image: url('/child/img/main/next.svg'); }
.partners-container .swiper-pagination-bullets { position: absolute; left: 50%; bottom: 0; margin: 0 -2px; font-size: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.partners-container .swiper-pagination-bullet { vertical-align: top; margin: 0 2px; width: 8px; height: 8px; background: #000; opacity: .1; }
.partners-container .swiper-pagination-bullet-active { opacity: .6; }
.partners-container { position: relative; margin: 60px auto 0; padding: 0 60px 30px; max-width: 1750px; width: 100%; }
.partners-container .swiper-container { margin: -10px auto -10px; max-width: 1200px; }
.partners-container .image { padding: 10px; }
.partners-container .image img { display: block; border: 1px solid #e6e6e6; }
@media(min-width:769px){
	.partners-container .swiper-pagination-bullets { display: none; }
}
@media(max-width:1200px){
}
@media(max-width:768px){
    .main-section-partners { margin-top: 0; padding: 100px 0 60px; }
    .partners-container .swiper-container { padding: 0 15px; }
    .partners-container { padding: 0 0 30px; }
    .partners-container__prev, .partners-container__next { display: none; }
    .partners-container .image { padding: 2px; }
}
@media(max-width:1200px){
}
