@charset "utf-8";
/*------------------------------------------
* fv
* news
* about
* works
* company
* recruit
* contact
-------------------------------------------*/
/*------------------------------------------
* fv
-------------------------------------------*/
.fv {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
}
.fv::before {
    content: "";
    display: block;
    width: 100%;
    height: min(calc(120 / var(--vw-min) * 100vw), 120px);
    position: absolute;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.79) 100%);
}
.fvWrap {
    width: 100%;
    height: 100%;
}
.fv__logoWrap {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
    margin: 0 auto;
}
.fv__logo {
    width: min(calc(326 / var(--vw-min) * 100vw), 326px);
    height: min(calc(175 / var(--vw-min) * 100vw), 175px);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    margin: auto;
    -webkit-mask: url(../img/common/logo/logo.svg)no-repeat center/contain;
    mask: url(../img/common/logo/logo.svg)no-repeat center/contain;
    background-color: #FFF;
}

@media screen and (max-width:768px){ 
    .fv__logo {
        width: calc(460 / var(--vw-min) * 100vw);
        height: calc(230 / var(--vw-min) * 100vw);
    }
}

/* scroll down */
.fv__scDown{
	position: absolute;
	right: 0;
    left: 0;
    margin: auto;
	bottom: 0;
	padding-bottom: 60px;
    width: 40px;
}
@media screen and (max-width:768px){ 
    .fv__scDown{
        padding-bottom: calc(120 / var(--vw-min) * 100vw);
        width: calc(80 / var(--vw-min) * 100vw)
    }
}
.scLink{
    position: relative;
    z-index: 10;
    display: block;
    width: 100%;
    height: 100%;
}
/* circle */
.sc__circle{
	width: min(calc(40 / var(--vw-min) * 100vw), 40px);
	height: min(calc(40 / var(--vw-min) * 100vw), 40px);
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.4);
	display: block;
	position: relative;
	pointer-events: auto;
	background-color: rgba(0, 0, 0,0.6);
}
.fv__scDown .scLink .sc__circle::before {
	content: "";
	width: 1px;
	height: min(calc(40 / var(--vw-min) * 100vw), 40px);
	background-color: var(--color-white);
	position: absolute;
	top: min(calc(20 / var(--vw-min) * 100vw), 20px);
	right: 0;
	left: 0;
	margin: auto;
	pointer-events: none;
    transition: all .4s ease;
}
.fv__scDown .scLink .sc__circle::after {
	content: "";
	width: 1px;
	height: min(calc(79 / var(--vw-min) * 100vw), 79px);
	background-color: var(--color-white);
	opacity: 0.4;
	position: absolute;
	bottom: max(calc(-60/ var(--vw-min) * 100vw), -60px);
	right: 0;
	left: 0;
	margin: auto;
	pointer-events: none;
}
@media screen and (max-width:768px){ 
    .sc__circle{
        width: calc(80 / var(--vw-min) * 100vw);
        height: calc(80 / var(--vw-min) * 100vw);
    }
    .fv__scDown .scLink .sc__circle::before {
        height: calc(80 / var(--vw-min) * 100vw);
        top: calc(40 / var(--vw-min) * 100vw);
    }
    .fv__scDown .scLink .sc__circle::after {
        height:calc(158 / var(--vw-min) * 100vw);
        bottom: calc(-120 / var(--vw-min) * 100vw);
    }
}



/* light */
.deco_light{
    position: absolute;
    display: block;
    top: max(calc(-22 / var(--vw-min) * 100vw), -22px);
    left: max(calc(-22 / var(--vw-min) * 100vw), -22px);
    margin: auto;
    width: min(calc(82 / var(--vw-min) * 100vw), 82px);
    height: min(calc(82 / var(--vw-min) * 100vw), 82px);
    transition: all .4s ease;
}
.deco_light::before{
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    margin: auto;
    background: url(../img/common/deco/c_light.png) no-repeat center center / 100% auto;
    width: min(calc(82 / var(--vw-min) * 100vw), 82px);
    height: min(calc(82 / var(--vw-min) * 100vw), 82px);
    opacity: 1;
    transition: all .4s ease;
}
.deco_light::after{
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: max(calc(-21 / var(--vw-min) * 100vw), -21px);
	right: 0;
	bottom: 0;
    margin: auto;
    background: url(../img/common/deco/c_light_over.png) no-repeat center center / 100% auto;
    width: min(calc(124 / var(--vw-min) * 100vw), 124px);
    height: min(calc(124 / var(--vw-min) * 100vw), 124px);
    opacity: 0;
    transition: all .4s ease;
}
@media screen and (max-width:768px){ 
    .deco_light{
        top: calc(-44 / var(--vw-min) * 100vw);
        left: calc(-44 / var(--vw-min) * 100vw);
        width: calc(164 / var(--vw-min) * 100vw);
        height: calc(164 / var(--vw-min) * 100vw);
    }

    .deco_light::before{
        width: calc(164 / var(--vw-min) * 100vw);
        height: calc(164 / var(--vw-min) * 100vw);
    }
    .deco_light::after{
        left: calc(-42 / var(--vw-min) * 100vw);
        width: calc(248 / var(--vw-min) * 100vw);
        height: calc(248 / var(--vw-min) * 100vw);
    }
}





@media (hover: hover) and (pointer: fine) {
    .fv__scDown a:hover .sc__circle::before {
		height: calc(80 / var(--vw-min) * 100vw);
    }
}

/*-----------------------------------------
common
------------------------------------------*/
.areaTtl{
    display: flex;
    align-items: center;
    margin-bottom:min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.areaTtl__circle{
    width: min(calc(32 / var(--vw-min) * 100vw), 32px);
    height: min(calc(32 / var(--vw-min) * 100vw), 32px);
    -webkit-mask: url(../img/common/deco/deco_circle.png) no-repeat center center / contain;
    mask: url(../img/common/deco/deco_circle.png) no-repeat center center / contain;
    background-color: #000;
}
.areaTtl__circle.-w{
    background-color: #FFF;
}
.areaTtl__txt{
    font-size: min(calc(44 / var(--vw-min) * 100vw), 44px);
    color: #149dcc;
    line-height: 1;
    margin-left: min(calc(16 / var(--vw-min) * 100vw), 16px);
    font-family: var(--f-en);
}
@media screen and (max-width:768px){
    .areaTtl{
        margin-bottom:calc(48/ var(--vw-min) * 100vw);
    }
    .areaTtl__circle{
        width:calc(48 / var(--vw-min) * 100vw);
        height:calc(48 / var(--vw-min) * 100vw);
    }
    .areaTtl__txt{
        font-size:calc(54 / var(--vw-min) * 100vw);
        margin-left: calc(12/ var(--vw-min) * 100vw);
        line-height: .64em;
    }
}
/*------------------------------------------
* news
-------------------------------------------*/
.newsArea{
    background-color: #eaeced;
    padding: min(calc(80 / var(--vw-min) * 100vw), 80px) 0 min(calc(160 / var(--vw-min) * 100vw), 160px);
    width: 100%;
    position: relative;
}
.newsArea::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-mask: url(../img/top/movie_dots.png) left top;
    mask: url(../img/top/movie_dots.png) left top;
    mask-size: 4px auto;
    background-color: #FFF;
    z-index: 0;
    pointer-events: none;
}
.newsArea__inner {
    display: flex;
    justify-content: flex-end;
    padding-left: min(calc(80 / var(--vw-min) * 100vw), 80px);
    gap:  min(calc(80 / var(--vw-min) * 100vw), 80px);
    margin-left: auto;
    margin-right: 0;
    width: calc(1120 / var(--vw-min) * 100vw);
    position: relative;
    z-index: 1;
}
.newsTtlWrap{
    width: min(calc(280 / var(--vw-min) * 100vw), 280px);
}
@media screen and (max-width:768px){
    .newsArea{
        background-color: #eaeced;
        padding:calc(60 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw);
    }
    .newsArea__inner {
        flex-direction: column;
        justify-content: unset;
        padding-left: unset;
        gap: calc(40 / var(--vw-min) * 100vw);
        margin-left: unset;
        margin-right: unset;
        width: 100%;
    }
    .newsTtlWrap{
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
}

.news__cont {
    display: flex;
    flex-direction: row-reverse;
}
@media screen and (max-width:768px){
    .news__cont {
        flex-direction: column;
        align-items: center;
    }
}
/* newsLists */
.newsLists {
    width: calc(760 / var(--vw-min) * 100vw);
    /*min-width: min(calc(760 / var(--vw-min) * 100vw), 760px);*/
}
@media screen and (max-width:768px){
    .newsLists {
        width: 100%;
    }
}
.newsItem {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    position: relative;
    margin-bottom:min(calc(24 / var(--vw-min) * 100vw), 24px);
    background-color: #FFF;
}
.newsItem:last-child {
    margin-bottom: 0;
}
@media screen and (max-width:768px){
    .newsItem {
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
        position: relative;
    }
}
.newsItem__link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    padding: min(calc(20 / var(--vw-min) * 100vw), 20px) min(calc(70 / var(--vw-min) * 100vw), 70px) min(calc(20 / var(--vw-min) * 100vw), 20px) 0;
    text-decoration: none;
    min-height: min(calc(96 / var(--vw-min) * 100vw), 96px);
}
@media screen and (max-width:768px){
    .newsItem__link {
        padding: calc(24 / var(--vw-min) * 100vw) calc(60 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw) 0;
        min-height: calc(140 / var(--vw-min) * 100vw);
    }
}

.newsItem__ttl{
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    width: min(calc(720 / var(--vw-min)* 100vw), 720px);
    line-height: 2;
    min-height: 32px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.newsItem__ttl span{
    background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 0% 100%;
	background-image: linear-gradient(var(--color-blue), var(--color-blue));
	transition: background-size .6s ease;
}
@media screen and (max-width:768px){
    .newsItem__ttl {
        font-size: calc(24 / var(--vw-min) * 100vw);
        width: calc(556 / var(--vw-min)* 100vw);
    }
}
.newsItem__time {
    font-family: var(--en-font-family);
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    font-weight: 400;
    width: min(calc(90 / var(--vw-min) * 100vw), 90px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888888;
    font-family: var(--f-en);
    text-align: center;
    line-height: 1;
}
@media screen and (max-width:768px){
    .newsItem__time {
        width: calc(140 / var(--vw-min) * 100vw);
        font-size: calc(24 / var(--vw-min) * 100vw);
    }
}
.newsItem__arrow {
    width: min(calc(40 / var(--vw-min) * 100vw), 40px);
    height: min(calc(1 / var(--vw-min) * 100vw), 1px);
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #cccccc;
}
.newsItem__arrow::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    height: min(calc(1 / var(--vw-min) * 100vw), 1px);
    display: block;
    position: absolute;
    margin: auto;
    background-color: #000;
    transition: all .4s ease;
}
@media screen and (max-width:768px){
    .newsItem__arrow {
        width: calc(48 / var(--vw-min) * 100vw);
    } 
}
.newsItem__link span{
    transition: all .4s ease;
    display: inline;
}
/* hover */
@media (hover: hover) and (pointer: fine) {
    .newsItem__link:hover .newsItem__ttl span{
        color: #FFF;
    }
    .newsItem__link:hover .newsItem__arrow::after {
        width: 100%;
    }
    .newsItem__link:hover .newsItem__ttl span {
		background-size: 100% 100%;
	}
}

/*------------------------------------------
* mission
-------------------------------------------*/
.missionArea {
    position: relative;
        backdrop-filter: blur(5px);
}
.missionArea::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    margin: auto;
    background-color: var(--color-black);
    opacity: .5;
    pointer-events: none;
}
.missionArea::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-mask: url(../img/top/movie_dots.png) left top;
    mask: url(../img/top/movie_dots.png) left top;
    mask-size: 4px auto;
    background-color: #000;
    z-index: 0;
    pointer-events: none;
}
.missionArea__inner {
    max-width: min(calc(1200 / var(--vw-min) * 100vw), 1200px);
    margin: 0 auto;
    padding: 0 min(calc(80 / var(--vw-min) * 100vw), 80px);
    position: relative;
}
@media screen and (max-width:768px){
    .missionArea__inner {
        width: 100%;
        padding: 0 calc(24 / var(--vw-min) * 100vw);
    }
}
.missionArea .areaTtl{
    margin-left: max(calc(-48 / var(--vw-min) * 100vw), -48px);
}
.mission_ttl__txt{
    color: #FFF;
    font-size:min(calc(40 / var(--vw-min) * 100vw), 40px);
    writing-mode: vertical-rl; 
    font-weight: 600;
}
.missionText__catch{
    color: #FFF;
    font-size:min(calc(32 / var(--vw-min) * 100vw), 32px);
    font-weight: 600;
}

.mission__contWrap {
    display: flex;
    overflow: hidden;
}
.mission__cont {
    padding: min(calc(160 / var(--vw-min) * 100vw), 160px) min(calc(80 / var(--vw-min) * 100vw), 80px) 0;
}
@media screen and (max-width:768px){
    .mission__cont {
        padding:calc(80 / var(--vw-min) * 100vw);
    }
}
.missionTextBlock{
    position: relative;
    z-index: 2;
}
.missionText__txt {
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    line-height: 2;
    color:#cccccc;
    position: relative;
    z-index: 2;
}
@media screen and (max-width:768px){
    .missionText__txt {
        font-size: calc(28 / var(--vw-min) * 100vw);
    }
}
/*
* about img (leftArea)
*/
.mission__sliderWrap{
    height: min(100vh, 100%);
    display: flex;
    z-index: 1;
}
@media screen and (max-width:768px){
    .mission__sliderWrap.pc{
        display: none;
    }
}
.mission__sliderItem {
    width: min(calc(200 / var(--vw-min) * 100vw), 200px);
    height: min(calc(282 / var(--vw-min) * 100vw), 282px);
    margin: min(calc(20 / var(--vw-min) * 100vw), 20px) 0 0 0;
    overflow: hidden;
}
@media screen and (max-width:768px){
    .mission__sliderItem {
        width: calc(168 / var(--vw-min) * 100vw);
        height: calc(94 / var(--vw-min) * 100vw);
        margin: calc(12 / var(--vw-min) * 100vw) 0 0 calc(24 / var(--vw-min) * 100vw);
    }
}
.mission__sliderItem img {
    width: 100%;
    pointer-events: none;
}

.infiniteslide_wrap {
    overflow: unset!important;
}
/** catch **/
.about__stickyWrap {
    width:100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 2;
    pointer-events: none;
}

.about__sticky {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-top: min(calc(160 / var(--vw-min) * 100vw), 160px);
    padding-bottom: min(calc(500 / var(--vw-min) * 100vw), 500px);
}
@media screen and (max-width:768px){
    .about__sticky {
        justify-content: flex-end;
        padding-right:calc(12 / var(--vw-min) * 100vw);
    }
}

.about__cont-text.js-scrani {
    transform: scale(0.9);
    opacity: 0;
    filter: blur(8px);
    transition: opacity .5s ease .5s, transform .7s ease .5s, filter .5s ease .9s;
}
.about__cont-text.js-scrani.is-ani {
    transform: scale(1);
    opacity: 1;
    filter: blur(0px);
}
.sliderImgBlock.sp{
    display: none;
}
.about__sliderImg-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width:768px){
    .sliderImgBlock.sp{
        display: block;
    }
    .sliderImgBlock{
        position: absolute;
        height: 100%;
        inset: 0;
        margin: auto;
    }
    .sliderImgBlock__inner{
        position: sticky;
        top: 0;
        height: 100vh;
        overflow: hidden;
    }
    .about__sliderImg-lists{
        align-items: flex-start;
        width: calc(168 / var(--vw-min) * 100vw);
         margin-left: calc(24 / var(--vw-min) * 100vw)
     }
    .about__sliderImg-item{
        width: calc(168 / var(--vw-min) * 100vw);
        height: calc(230 / var(--vw-min) * 100vw);
        margin: calc(12 / var(--vw-min) * 100vw) 0 0 0;
    }
}
.missionPhBlock{
    position: absolute;
    height: 100%;
    inset: 0;
    margin: auto;
    z-index: 1;
    pointer-events: none;
}
.missionPhBlock__inner{
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding-bottom: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.missionPh{
    width: calc(320 / var(--vw-min) * 100vw);
    height: calc(180 / var(--vw-min) * 100vw);
}
.missionPh img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/*------------------------------------------
* works
-------------------------------------------*/
.worksArea{
    background-color: #eaeced;
    padding: min(calc(160 / var(--vw-min) * 100vw), 160px) 0 0;
    width: 100%;
    position: relative;
}
.worksArea::before{
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-mask: url(../img/top/movie_dots.png) left top;
    mask: url(../img/top/movie_dots.png) left top;
    mask-size:4px auto;
    background-color: #FFF;
    z-index: 0;
    pointer-events: none;
}

.worksArea__inner {
    display: flex;
    flex-direction: column;
    padding:0 min(calc(80 / var(--vw-min) * 100vw), 80px) min(calc(80 / var(--vw-min) * 100vw), 80px);
    max-width: min(calc(1200 / var(--vw-min) * 100vw), 1200px);
    margin: 0 auto;
    z-index: 1;
    position: relative;
}
@media screen and (max-width:768px){
    .worksArea{
        padding: calc(80 / var(--vw-min) * 100vw) 0 0;
    }
    .worksArea__inner {
        padding:0 calc(24 / var(--vw-min) * 100vw) calc(80 / var(--vw-min) * 100vw);
        width: 100%;
    }
}
.worksListsWrap.area__contents{
    transition-delay: .4s;
}
.worksLists{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(calc(40 / var(--vw-min) * 100vw), 40px)
}
.worksItem{
    width: calc((100% -  min(calc(40 / var(--vw-min) * 100vw), 40px)) / 2);
    min-height: min(calc(283 / var(--vw-min) * 100vw), 283px);
    background-color: #FFF;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    
}
.worksItemInner{
    display: flex;
    flex-direction: row;
    height: 100%;
    align-items: stretch;
    
}
.worksItem__img{
    width: 50%;
    height: 100%;
}
.worksItem__img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width:768px){
    .worksLists{
        gap: calc(24 / var(--vw-min) * 100vw);
        flex-direction: column;
    }
    .worksItem{
        width:100%;
        min-height:unset;
    }
    .worksItemInner{
        height: 100%;
    }
    .worksItem__img{
        width: 60%;
        height: 100%;
    }

}
.worksItem__detail{
    width:50%;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    flex:1;
}
.detail__txtWrap{
    padding: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.detail__ttl{
    font-size:  min(calc(16 / var(--vw-min) * 100vw), 16px);
    font-weight: 600;
    margin-bottom:  min(calc(16 / var(--vw-min) * 100vw), 16px);
}
.detail__txt{
    font-size:  min(calc(12 / var(--vw-min) * 100vw), 12px);
}
@media screen and (max-width:768px){
    .worksItem__detail{
        width: 40%;
    }
    .detail__txtWrap{
        padding:calc(24 / var(--vw-min) * 100vw);
    }
    .detail__ttl{
        font-size: calc(24 / var(--vw-min) * 100vw);
        font-weight: 600;
        margin-bottom: calc(18 / var(--vw-min) * 100vw);
    }
    .detail__txt{
        font-size:  calc(18 / var(--vw-min) * 100vw);
        padding-bottom: min(calc(24 / var(--vw-min) * 100vw), 24px);
    }
}
.detailLinkWrap{
    margin-top: auto;
    display: flex;
    justify-content: flex-end;
}
.detailLink{
    background-color: #000;
    text-decoration: none;
    padding: 0 min(calc(24 / var(--vw-min) * 100vw), 24px);
    display: flex;
    height:  min(calc(32/ var(--vw-min) * 100vw), 32px);
    align-items: center;
    justify-content: center;
    transition: all .4s ease;
    padding-top: 2px;
}
.detailLink:hover{
    background-color: var(--color-blue);
}
.detailLink__txt{
    color: #FFF;
    font-family: var(--f-en);
    font-size:  min(calc(12/ var(--vw-min) * 100vw), 12px);
    line-height:  min(calc(32/ var(--vw-min) * 100vw), 32px);
}
.detailLink:hover .ic_blank{
    background-color: #FFF;
}
@media screen and (max-width:768px){
    .detailLinkWrap{
    }
    .detailLink{
        height:calc(48/ var(--vw-min) * 100vw);
    }
    .detailLink__txt{
        font-size: calc(24/ var(--vw-min) * 100vw);
        line-height: 1;
    }
    .detailLink .ic_blank{
        mask: url(../img/common/icon/ic_blank.svg) no-repeat center center / calc(14 / var(--vw-min) * 100vw) auto;
        width:calc(22 / var(--vw-min) * 100vw);
        height:calc(22 / var(--vw-min) * 100vw);
    }
}

.worksLinkBtn{
    margin-top: min(calc(80 / var(--vw-min) * 100vw), 80px);
    display: flex;
    justify-content: center;
}


/*------------------------------------------
* works
-------------------------------------------*/
.timelineArea{
    background-color: #FFF;
    padding: min(calc(80 / var(--vw-min) * 100vw), 80px) 0 min(calc(160 / var(--vw-min) * 100vw), 160px);
    width: 100%;
    position: relative;
    z-index: 1;
}
.timelineArea__inner {
    display: flex;
    flex-direction: column;
    padding:0 min(calc(80 / var(--vw-min) * 100vw), 80px);
    max-width: min(calc(1200 / var(--vw-min) * 100vw), 1200px);
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .timelineArea__inner {
        padding:0 calc(24 / var(--vw-min) * 100vw);
        width: 100%;
    }
}
.timelineLists{
    display: flex;
    flex-direction: column;
}
.timelineItem{
    border-bottom: 1px solid #000;
}
.timelineItem__link{
    text-decoration: none;
    height: min(calc(64 / var(--vw-min) * 100vw), 64px);
    display: flex;
    align-items: center;
    justify-content: space-around;
    font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
    padding-right: min(calc(15 / var(--vw-min) * 100vw), 15px);
    transition: all .4s ease;
}


.timelineItem__date{
    width: min(calc(120 / var(--vw-min) * 100vw), 120px);
    text-align: center;
}
.timelineItem__ttl{
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    width: min(calc(600 / var(--vw-min) * 100vw), 600px);
    font-weight: 600;
    padding-right: min(calc(40 / var(--vw-min) * 100vw), 40px);
    transition: all .4s ease;
}
.timelineItem__role{
    width: min(calc(280 / var(--vw-min) * 100vw), 280px);
}
.timelineItem__ic{
    margin-left: auto;
}
@media screen and (max-width:768px){
    .timelineItem__link{
        height: auto;
        flex-direction: column;
        padding: 1rem 1rem;
        position: relative;
    }

    .timelineItem__date{
        width: 100%;
        text-align: left;
        font-size: calc(16 / var(--vw-min) * 100vw);
    }
    .timelineItem__ttl{
        font-size:calc(24 / var(--vw-min) * 100vw);
        width: 100%;
    }
    .timelineItem__role{
        width: 100%;
        text-align: left;
        font-size: calc(16 / var(--vw-min) * 100vw);
    }
    .timelineItem__link .ic_blank{
        position: absolute;
        top: 0;
        bottom: 0;
        right: calc(16 / var(--vw-min) * 100vw);
        margin: auto;
        mask: url(../img/common/icon/ic_blank.svg) no-repeat center center / calc(14 / var(--vw-min) * 100vw) auto;
        width:calc(22 / var(--vw-min) * 100vw);
        height:calc(22 / var(--vw-min) * 100vw);
    }

}
.timelineItem__ttl span{
    display: inline-block;
    transition: all .4s ease;
}
.timelineItem__link:hover{
    color: #FFF;
    background-color: #149dcc;
}
.timelineItem__link:hover .timelineItem__ic{
    background-color: #FFF;    
}
/*------------------------------------------
* portfolio
-------------------------------------------*/
.portfolioArea{
    background-color: #eeeeee;
    padding-bottom:  min(calc(160 / var(--vw-min) * 100vw), 160px);
    position: relative;
}
.portfolioArea::before{
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-mask: url(../img/top/movie_dots.png) left top;
    mask: url(../img/top/movie_dots.png) left top;
    mask-size:4px auto;
    background-color: #FFF;
    z-index: 0;
    pointer-events: none;
}
.portfolioArea__inner{
    position: relative;
    min-height:  min(calc(500 / var(--vw-min) * 100vw), 500px);
}


.portfolioBg{
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: 0;
    pointer-events: none;
    transition: all .4s ease;
}
.portfolioBg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(0deg,rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0.6) 100%);
}
.portfolioBg::after {
    content: "";
    display: block;
    width:  min(calc(800 / var(--vw-min) * 100vw), 800px);
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(150deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
}
@media screen and (max-width:768px){
    .portfolioBg::after {
        width:  50%;
    }
}
.portfolioBg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.portfolio__cont{
    width: min(calc(960 / var(--vw-min) * 100vw), 960px);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
@media screen and (max-width:768px){
    .portfolio__cont{
        width: 90vw;
    }
}

.portfolioLink{
    text-decoration: none;
    color: #FFF;
    display: block;
    padding: min(calc(160 / var(--vw-min) * 100vw), 160px) 0;
}
.portfolioArea__inner:hover .portfolioBg{
    filter: brightness(1.6);
}
.portfolioTxtWrap{
    margin-left: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.portfolioTxt__ttl{
    font-size: min(calc(24 / var(--vw-min) * 100vw), 24px);
    font-weight: 600;
}
@media screen and (max-width:768px){
    .portfolioLink{
        padding: calc(80 / var(--vw-min) * 100vw) 0;
    }
    .portfolioTxt__ttl{
        font-size:calc(38 / var(--vw-min) * 100vw);
    }
    .portfolioTxt__txt{
        font-size:calc(24 / var(--vw-min) * 100vw);
    }
}
/* link txt */
.portfolioLink__txtWrap{
    position: absolute;
    right: 0;
    bottom: min(calc(40 / var(--vw-min) * 100vw), 40px);
    display: flex;
    align-items: center;
}
.portfolioLink__line{
    width: min(calc(80 / var(--vw-min) * 100vw), 80px);
    position: relative;
    display: block;
    margin-left: min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.portfolioLink__line::before{
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    content: "";
    display: block;
    width: min(calc(40 / var(--vw-min) * 100vw), 40px);
    height: 1px;
    background-color: #FFF;
    transition: all .4s ease;
}
.portfolioLink__line::after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #FFF;
    opacity: 0.4;
}
@media screen and (max-width:768px){
    .portfolioLink__txtWrap{
        bottom: 5vw;
    }
    .portfolioLink__txt{
        font-size: calc(24 / var(--vw-min) * 100vw);
    }
    .portfolioLink__txtWrap .ic_blank{
        width: calc(20 / var(--vw-min) * 100vw);
        height: calc(20 / var(--vw-min) * 100vw);
        mask-size: calc(12 / var(--vw-min) * 100vw) auto;
    }
}
.portfolioArea__inner:hover .portfolioLink__line::before{
    width: 100%;
}
/*------------------------------------------
* company
-------------------------------------------*/
.company {
    padding: min(calc(160 / var(--vw-min) * 100vw), 160px) 0;
    background-color: var(--color-black);
    position: relative;
}
@media screen and (max-width:768px){
    .company {
        padding: calc(96 / var(--vw-min) * 100vw) calc(48 / var(--vw-min) * 100vw);
    }
}
.company .cont-title {
    line-height: 1;
    position: absolute;
    top: 0;
    padding-left: min(calc(80 / var(--vw-min) * 100vw), 80px);
    margin-top: min(calc(160 / var(--vw-min) * 100vw), 160px);
}
@media screen and (max-width:768px){
    .company .cont-title {
        padding-left: 0;
        margin: calc(96 / var(--vw-min) * 100vw) 0;
    }
}
.companyWrap {
    width: min(calc(1130 / var(--vw-min) * 100vw), 1130px);
    display: flex;
}
@media screen and (max-width:768px){
    .companyWrap {
        width: 100%;
        flex-direction: column-reverse;
        margin-top: calc(145 / var(--vw-min) * 100vw);
    }
}
@media screen and (min-width:1300px) {
    .companyWrap {
        margin: 0 auto;
    }
}
.company__mapWrap {
    width: min(calc(560 / var(--vw-min) * 100vw), 560px);
}
@media screen and (max-width:768px){
    .company__mapWrap {
        width: calc(560 / var(--vw-min) * 100vw);
        margin: calc(96 / var(--vw-min) * 100vw) auto 0;
    }
}
.company__map {
    width: 100%;
    height: min(calc(400 / var(--vw-min) * 100vw), 400px);
    position: relative;
    overflow: hidden;
    margin-top: min(calc(120 / var(--vw-min) * 100vw), 120px);
}
@media screen and (max-width:768px){
    .company__map {
        height: calc(400 / var(--vw-min) * 100vw);
        margin-top: auto;
    }
}
.company__map iframe {
    width: 100%;
    height: 200%;
    position: absolute;
    top: -50%;
    right: 0;
    left: 0;
    margin: auto;
}
.company__map-text {
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    color: var(--color-grey02);
    padding-left: min(calc(40 / var(--vw-min) * 100vw), 40px);
    margin-top: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
@media screen and (max-width:768px){
    .company__map-text {
        font-size: calc(24 / var(--vw-min) * 100vw);
        padding-left: 0;
        margin-top: calc(24 / var(--vw-min) * 100vw);
    }
}
.company__cont {
    width: calc(100% - min(calc(560 / var(--vw-min) * 100vw), 560px));
    padding: 0 min(calc(74 / var(--vw-min) * 100vw), 74px) 0 min(calc(42 / var(--vw-min) * 100vw), 42px);
}
@media screen and (max-width:768px){
    .company__cont {
        width: 100%;
        padding: 0;
    }
}
.company__contItem {
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    line-height: 2;
    color: var(--color-white);
    display: flex;
    margin-bottom: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
@media screen and (max-width:768px){
    .company__contItem {
        font-size: calc(24 / var(--vw-min) * 100vw);
        margin-bottom: calc(50 / var(--vw-min) * 100vw);
    }
}
.company__contItem:last-child {
    margin-bottom: 0;
}
.company__contItem dt {
    width: min(calc(150 / var(--vw-min) * 100vw), 150px);
    color: var(--color-grey02);
    text-align: right;
}
@media screen and (max-width:768px){
    .company__contItem dt {
        width: calc(145 / var(--vw-min) * 100vw);
    }
}
.company__contItem dd {
    width: calc(100% - min(calc(150 / var(--vw-min) * 100vw), 150px));
    margin-left: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
@media screen and (max-width:768px){
    .company__contItem dd {
        width: calc(100% - calc(170 / var(--vw-min) * 100vw));
        margin-left: calc(24 / var(--vw-min) * 100vw);
    }
}
/*------------------------------------------
* recruit
-------------------------------------------*/
.recruit {
    padding: min(calc(160 / var(--vw-min) * 100vw), 160px) 0;
}
@media screen and (max-width:768px){
    .recruit {
        padding: calc(96 / var(--vw-min) * 100vw) calc(48 / var(--vw-min) * 100vw);
    }
}
.recruitWrap {
    width: min(calc(920 / var(--vw-min) * 100vw), 920px);
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .recruitWrap {
        width: 100%;
    }
}
.recruit .cont-title {
    padding-left: min(calc(80 / var(--vw-min) * 100vw), 80px);
    margin-bottom: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
@media screen and (max-width:768px){
    .recruit .cont-title {
        padding-left: 0;
        margin-bottom: calc(96 / var(--vw-min) * 100vw);
    }
}
.recruit-cont {
    width: min(calc(800 / var(--vw-min) * 100vw), 800px);
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .recruit-cont {
        width: 100%;
    }
}
.recruit-contItem {
    border-top: 1px solid var(--color-white);
    border-right: 1px solid var(--color-white);
    border-left: 1px solid var(--color-white);
}
.recruit-contItem:last-child {
    border-bottom: 1px solid var(--color-white);
}
@media screen and (max-width:768px){
    .recruit-contItem {
        border-top: calc(2 / var(--vw-min) * 100vw) solid var(--color-white);
        border-right: calc(2 / var(--vw-min) * 100vw) solid var(--color-white);
        border-left: calc(2 / var(--vw-min) * 100vw) solid var(--color-white);
    }
    .recruit-contItem:last-child {
        border-bottom: calc(2 / var(--vw-min) * 100vw) solid var(--color-white);
    }
}
.recruit-contItem-titleWrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
@media screen and (max-width:768px){
    .recruit-contItem-titleWrap {
        padding: calc(36 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw) calc(36 / var(--vw-min) * 100vw) calc(50 / var(--vw-min) * 100vw);
    }
}
.recruit-contItem-title {
    font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
    font-weight: 700;
}
@media screen and (max-width:768px){
    .recruit-contItem-title {
        font-size: calc(28 / var(--vw-min) * 100vw);
    }
}
.recruit-contItem-titleIn {
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    padding-right: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
@media screen and (max-width:768px){
    .recruit-contItem-titleIn {
        font-size: calc(24 / var(--vw-min) * 100vw);
        padding-right: calc(74 / var(--vw-min) * 100vw);
    }
}
/*
* title icon
*/
.recruit-contItem__icon {
    width: min(calc(40 / var(--vw-min) * 100vw), 40px);
    height: min(calc(40 / var(--vw-min) * 100vw), 40px);
    border-radius: 50%;
    border: 1px solid var(--color-black);
    position: absolute;
    top: 0;
    bottom: 0;
    right: min(calc(40 / var(--vw-min) * 100vw), 40px);
    margin: auto;
}
@media screen and (max-width:768px){
    .recruit-contItem__icon {
        width: calc(48 / var(--vw-min) * 100vw);
        height: calc(48 / var(--vw-min) * 100vw);
        right: calc(24 / var(--vw-min) * 100vw);
        border: calc(2 / var(--vw-min) * 100vw) solid var(--color-black);
    }
}
.recruit-contItem__icon::before,
.recruit-contItem__icon::after {
    content:"";
    background-color: var(--color-black);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
} 
.recruit-contItem__icon::before{
    width: min(calc(15 / var(--vw-min) * 100vw), 15px);
    height: 1px; 
}
@media screen and (max-width:768px){
    .recruit-contItem__icon::before{
        width: calc(20 / var(--vw-min) * 100vw);
        height: calc(2 / var(--vw-min) * 100vw); 
    }
}
.recruit-contItem__icon::after {
    width: 1px;
    height: min(calc(15 / var(--vw-min) * 100vw), 15px);
}
@media screen and (max-width:768px){
    .recruit-contItem__icon::after {
        width: calc(2 / var(--vw-min) * 100vw);
        height: calc(20 / var(--vw-min) * 100vw);
    }
}
.recruit-contItem-textWrap {
    display: none;
}
.recruit-contItem-text {
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    line-height: 2;
    padding: 0 min(calc(80 / var(--vw-min) * 100vw), 80px) min(calc(80 / var(--vw-min) * 100vw), 80px);
}
@media screen and (max-width:768px){
    .recruit-contItem-text {
        font-size: calc(24 / var(--vw-min) * 100vw);
        padding: 0 calc(48 / var(--vw-min) * 100vw) calc(96 / var(--vw-min) * 100vw);
    }
}
.recruit-cont-text {
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    line-height: 2;
    text-align: center;
    margin: min(calc(80 / var(--vw-min) * 100vw), 80px) 0;
}
@media screen and (max-width:768px){
    .recruit-cont-text {
        font-size: calc(24 / var(--vw-min) * 100vw);
        margin: calc(96 / var(--vw-min) * 100vw) 0;
    }
}
.recruitWrap.js-scrani .recruit-cont {
    opacity: 0;
    transform: translateY(10%);
    transition: .6s ease-out .3s;
}
.recruitWrap.js-scrani.is-ani .recruit-cont {
    opacity: 1;
    transform: translateY(0);
}
/*-----------------------------------------------
 * Loading
-------------------------------------------------*/
.loading {
	background-color: var(--color-grey);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10000;
    min-height: 100vh;
	min-height: 100dvh;
}
/*----------------
FV MOVIE
----------------*/
#bgMovie{
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: -1;
}

.movieArea{
    position: relative;
    min-height: 100vh;
}

.movieWrap{
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    background-color: #7f7f7f;
}

.movie_player{
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    /*scale: 1.5;*/
}
@media screen and (max-width:767px){
    .movie_player{
        scale: unset;
    }
}
/*mv_scroll*/
.mv_scroll{
    position: absolute;
    margin: auto;
    bottom: 0;
    right: 0;
    left: 0;
    width: 40px;
    height: 50px;
    z-index: 100;
}
.mv_scroll a{
    display: block;
    width: 40px;
    height: 100%;
}
.mv_scroll a::before {
    background: #919191;
    content: '';
    position: absolute;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 1px;
    height: 100%;
}
.mv_scroll a::after {
    content: '';
    position: absolute;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 1px;
    height: 100%;
    z-index: 101;
}
.mv_scroll a::after {
    background: #FFF;
    -webkit-animation: ani-scroll 1.5s cubic-bezier(1, 0, 0, 1) infinite;
    animation: ani-scroll 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@media screen and (max-width:767px){
    .mv_scroll{
        height: calc(54 / var(--vw-min) * 100vw);
    }
    .mv_scroll a{
        width: calc(50 / var(--vw-min) * 100vw);
    }
}

@keyframes ani-scroll {
    0% {
      -webkit-transform: scale(1, 0);
      transform: scale(1, 0);
      -webkit-transform-origin: 0 0;
      transform-origin: 0 0;
    }
  
    50% {
      -webkit-transform: scale(1, 1);
      transform: scale(1, 1);
      -webkit-transform-origin: 0 0;
      transform-origin: 0 0;
    }
  
    50.1% {
      -webkit-transform: scale(1, 1);
      transform: scale(1, 1);
      -webkit-transform-origin: 0 100%;
      transform-origin: 0 100%;
    }
  
    100% {
      -webkit-transform: scale(1, 0);
      transform: scale(1, 0);
      -webkit-transform-origin: 0 100%;
      transform-origin: 0 100%;
    }
  }

/*movieSlider*/
.movieSliderWrap{
    position: relative;
    min-height: 100vh;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: #000;
}
.movieSliderWrap::before{
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, .4) url(../img/top/movie_dots.png) left top;
    background-size:4px auto;
    z-index: 10;
}

/*----------------
LOADING
----------------*/
 .loading {
    height: 100vh;
    width: 100%;
	background-color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10000;
    transition: opacity 1s ease;
}
.--loaded .loading {
    opacity: 0;
}
.loading__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}
/* logo */
.loading__logo {
    width: min(calc(326 / var(--vw-min) * 100vw), 326px);
    height: min(calc(175 / var(--vw-min) * 100vw), 175px);
    -webkit-mask: url(../img/common/logo/logo.svg)no-repeat center/contain;
    mask: url(../img/common/logo/logo.svg)no-repeat center/contain;
    background-color: #FFF;
}

@media screen and (max-width:768px){ 
    .loading__logo {
        width: calc(460 / var(--vw-min) * 100vw);
        height: calc(230 / var(--vw-min) * 100vw);
    }
}


@media screen and (max-width:768px){ 
    .about__sticky{
        width: 90vw;
    }
}