@charset "utf-8";
/*---------------------
WORKS
----------------------*/
.worksArea{
    clip-path: inset(0);
    position: relative;
    overflow: hidden;
}
.works__bg{
    position: absolute;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    /*background: url(../img/works/works_sub_bg.png) no-repeat right top;
    background-size: min(calc(1280 / var(--vw-min) * 100vw), 1280px) auto; */
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}
.works__bg::after{
    content: "";
    position: absolute;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: url(../img/works/works_sub_bg.png) no-repeat right top;
    background-size: min(calc(1200 / var(--vw-min) * 100vw), 1200px) auto; 
    overflow: hidden;
}
.works__bg::before{
    position: absolute;
    content:"" ;
    height: 100%;
    min-height:  min(calc(2600 / var(--vw-min) * 100vw), 2600px);
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(0deg,rgba(197, 231, 255, 1) 0%, rgba(186, 234, 255, 1) 50%, rgba(148, 228, 255, 1) 100%);
    z-index: -2;
}
@media screen and (max-width:767px){
    .works__bg{
        background: url(../img/works/works_sub_bg_sp.jpg) no-repeat center center / cover;
    }
}
.worksArea__inner{
    padding: min(calc(100 / var(--vw-min) * 100vw), 100px) 0;
    display: flex;
    flex-direction: row;
}

@media screen and (max-width:767px){
    .worksArea__inner{
        padding:calc(92 / var(--vw-min) * 100vw) 0;
        flex-direction: column;
    }
}


.works__ttlBlock{
    width: min(calc(330 / var(--vw-min) * 100vw), 330px);
    padding-left: min(calc(60 / var(--vw-min) * 100vw), 60px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
@media screen and (max-width:767px){
    .works__ttlBlock{
        width: 100%;
        padding-left: calc(50 / var(--vw-min) * 100vw);
        margin-bottom: calc(48 / var(--vw-min) * 100vw);
        flex-direction: row;
        align-items: flex-end;
    }
}

.works__contentsBlock{
    width: calc(100vw - min(calc(330 / var(--vw-min) * 100vw),330px));
    padding-right: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
@media screen and (max-width:767px){
    .works__contentsBlock{
        width: 100%;
        padding:0 calc(50 / var(--vw-min) * 100vw);
    }
}
.worksItemLists{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.worksItem{
   /* width: min(calc(247 / var(--vw-min) * 100vw), 247px);
    margin-left:min(calc(28 / var(--vw-min) * 100vw), 28px);*/
    width: 30%;
    margin-left: 3%;
    margin-bottom:min(calc(30 / var(--vw-min) * 100vw), 30px);
}
@media screen and (max-width:767px){
        .worksItemLists{
        justify-content: space-between
    }
    .worksItem{
        width: calc((100% - (24 / var(--vw-min) * 100vw)) / 2);
        margin:0 0 calc(40 / var(--vw-min) * 100vw);
    }
}
.worksItem__link{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
}
.worksItem__img{
    width: 100%;
    padding-top: 140%;
    position: relative;
    overflow: hidden;
    border-radius: min(calc(10 / var(--vw-min) * 100vw),10px);
    margin-bottom: min(calc(15 / var(--vw-min) * 100vw), 15px);
}
.worksItem__img img{
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .4s ease;
}
.worksItem__ttl{
    font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
    font-weight: 500;
    text-align: center;
    line-height: 1.6;
}
@media screen and (max-width:767px){
    .worksItem__ttl{
        font-size: calc(30 / var(--vw-min) * 100vw);
    }
}
@media screen and (hover:hover) and (pointer: fine){
    .worksItem__link:hover .worksItem__img img{
        transform: scale(1.08);
    }
}
/*---------------------
WORKS > DETAIL
----------------------*/
.works__back{
    text-align: center;
}
.works__back a{
    text-decoration: none;
}

/*linkBtn*/
.linkBtn{
    display: flex;
    justify-content: center;
}
.linkBtn__link{
    text-decoration: none;
    display: flex;
    align-items: center;
}
.works__back .linkBtn__txt{
    color: #000;
    font-family: var(--font-en);
    font-size: min(calc(20 / var(--vw-min) * 100vw),20px);
    font-weight: 500;
    transition: all .4s ease;
}
.linkBtn__arrow{
    width: min(calc(8 / var(--vw-min) * 100vw),8px);
    height: min(calc(9 / var(--vw-min) * 100vw),9px);
    -webkit-mask: url(../img/common/icon/ic_arrow.svg) no-repeat center center / contain;
    mask: url(../img/common/icon/ic_arrow.svg) no-repeat center center / contain;
    background-color: #000;
    transition: all .4s ease;
}
.linkBtn__arrow._prev{
    position: relative;
    left: 0;
	transform: rotate(-180deg);
    margin-right: min(calc(10 / var(--vw-min) * 100vw),10px);
}
@media screen and (max-width:767px){
    .works__back .linkBtn__txt{
        font-size:calc(24 / var(--vw-min) * 100vw);
    }
    .linkBtn__arrow{
        width:calc(9 / var(--vw-min) * 100vw);
        height: calc(10 / var(--vw-min) * 100vw);
    }
}

@media screen and (hover:hover) and (pointer: fine){
	.linkBtn__link:hover .linkBtn__txt{
        color: var(--color-main);
    }
    .linkBtn__link:hover .linkBtn__arrow._prev{
        background-color: var(--color-main);
        left: max(calc(-5 / var(--vw-min) * 100vw),-5px);
    }
}

/* deco */
.logoLine__deco{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: block;
    height: min(calc(27 / var(--vw-min) * 100vw),27px);
}
.logoLine__deco::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 1px;
    background-color: #000;
}
.logoLine__deco-dot{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
}
.logoLine__deco-dot::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: min(calc(7 / var(--vw-min) * 100vw),7px);
    height: min(calc(7 / var(--vw-min) * 100vw),7px);
    border-radius: 50%;
    background-color: #000;
}
.logoLine__deco-dot::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: min(calc(7 / var(--vw-min) * 100vw),7px);
    height: min(calc(7 / var(--vw-min) * 100vw),7px);
    border-radius: 50%;
    background-color: #000;
}
.logoLine__deco-logo{
    display: block;
    position: absolute;
    margin: auto;
    background-color: #000;
    border-radius: 50px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: min(calc(41 / var(--vw-min) * 100vw),41px);
    height: min(calc(41 / var(--vw-min) * 100vw),41px);
}
.logoLine__deco-logo::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: min(calc(28 / var(--vw-min) * 100vw),28px);
    height: min(calc(18/ var(--vw-min) * 100vw), 18px);
    -webkit-mask: url(../img/common/icon/ic_logo.svg) no-repeat center center / contain;
    mask: url(../img/common/icon/ic_logo.svg) no-repeat center center / contain;
    background-color: var(--color-red);
}

@media screen and (max-width:767px){
    .logoLine__deco-logo{
        width: calc(27 / var(--vw-min) * 100vw);
        height: calc(27 / var(--vw-min) * 100vw);;
    }
    .logoLine__deco-logo::after{
        width: calc(18/ var(--vw-min) * 100vw);
        height:calc(11/ var(--vw-min) * 100vw);
    }
}
/**/
.worksDetailHead{
    position: relative;
    padding-bottom: min(calc(60 / var(--vw-min) * 100vw),60px);
    margin-bottom: min(calc(28 / var(--vw-min) * 100vw),28px);
}
@media screen and (max-width:767px){
        .worksDetailHead{
            position: relative;
            padding-bottom:calc(48 / var(--vw-min) * 100vw);
            margin-bottom:calc(28 / var(--vw-min) * 100vw);
        }
}
.worksDetail__ttl{
    font-size: min(calc(34 / var(--vw-min) * 100vw),34px);
}
@media screen and (max-width:767px){
    .worksDetail__ttl{
        font-size:calc(34 / var(--vw-min) * 100vw);
    }
}
/**/
.worksDetailTxt{
    font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
    line-height: 2;
    position: relative;
    padding-bottom: min(calc(60 / var(--vw-min) * 100vw),60px);
}
.worksDetailTxt p{
    margin-bottom: 2rem;
}
.worksDetailTxt .copy{
    font-size: 80%;
    margin-bottom: 3rem;
}
.worksDetail{
    margin-bottom:  min(calc(68 / var(--vw-min) * 100vw),68px);
}
@media screen and (max-width:767px){
    .worksDetailTxt{
        font-size: calc(20 / var(--vw-min) * 100vw);
        padding-bottom:calc(24 / var(--vw-min) * 100vw);
    }
    .worksDetailTxt p{
        margin-bottom:calc(50 / var(--vw-min) * 100vw);
    }
}
/**/
.worksDetailImg{
    text-align: center;
    margin-bottom:  min(calc(48 / var(--vw-min) * 100vw),48px);
}
.worksDetailImg img{
    width: 100%;
    height: auto;
    max-width: 1000px;
}
@media screen and (max-width:767px){
    .worksDetailImg{
        margin-bottom:calc(24 / var(--vw-min) * 100vw);
    }
}
/**/
.worksDetailMovie{
    position: relative;
    padding-top: min(calc(30 / var(--vw-min) * 100vw),30px);
    padding-bottom: min(calc(60 / var(--vw-min) * 100vw),60px);
}

/*-------------------
pager
-------------------*/
.pagerLists{
	display: flex;
	justify-content: center;
	margin-top: min(calc(60 / var(--vw-min) * 100vw),60px);
}
.pagerList{
	padding: 0 min(calc(5 / var(--vw-min) * 100vw),5px);
}
.pagerLists .pagerList .linkBox{
	font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
	text-decoration: none;
	transition: all .4s ease;
	color: #000;
    border: 2px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(calc(40 / var(--vw-min) * 100vw),40px);
    height: min(calc(40 / var(--vw-min) * 100vw),40px);
    border-radius: min(calc(50 / var(--vw-min) * 100vw),50px);

}
.pagerLists .pagerList .linkBox.is-active,
.pagerLists .pagerList:hover .linkBox{
	background-color: #000;
    color: var(--color-red);
}
@media screen and (max-width:767px){
	.pagerLists{
		display: flex;
		justify-content: center;
		margin-top:calc(60 / var(--vw-min) * 100vw);
	}

	.pagerLists .pagerList .linkBox{
		font-size: calc(22 / var(--vw-min) * 100vw);
		width: calc(57 / var(--vw-min) * 100vw);
		height: calc(57 / var(--vw-min) * 100vw);
	}
}