
.mainWrap *{
    line-height: 100%;
    letter-spacing: -1px;
    box-sizing: border-box;
}

.disN{
	display:none;
}
.slick-slide img{
    width:100%;
}
.mainWrap{
    /* overflow: hidden; */
    width: 100%;
}

.mainVisual {
    width: 100%;
    position: relative;
    height: 100vh;
    display:flex;
    align-items: center;
    overflow: hidden;
    position: fixed;
    top: 0;
}
.mainVisual .content{
    width:100%;
    height:100%;
    position: relative;
    display:flex;
    align-items: flex-end;
}
.mainVisual .slider_wrap{
    height:100%;
    position: relative;
    width: 60%;
    flex: 1;
}
.mainVisual .mainSlider{
	height:100%;
    width: 100%;
}
.mainVisual .mainSlider .slick-list, .mainVisual .mainSlider .slick-track{
	height:100%;
}
.mainVisual .slideCon{
	height:100%;
	position:relative;
	background-color:#000;
    overflow: hidden;
}
.mainVisual .slideCon .image{
    width: 100%;
    height: 100%;
    transform: scale(1.3);
}
.mainVisual .slideCon.slick-active .image{
    animation: scale_1 3s forwards;
}
@keyframes scale_1{
    to {
        transform: scale(1);
    }
    
}

.mainVisual .slideCon01 .image{
    background: url(../images/mainVisual_img_01.jpg) center center / cover no-repeat;
}
.mainVisual .slideCon02 .image{
    background: url(../images/mainVisual_img_02.jpg) center center / cover no-repeat;
}
.mainVisual .slideCon03 .image{
    background: url(../images/mainVisual_img_03.jpg) center center / cover no-repeat;
}
.mainVisual .slideCon .lineWrap{
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
}
.mainVisual .slideCon .grid_line{
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
    display: flex;
}
.mainVisual .slideCon .grid_line_con{
    width: 20%;
    position: relative;
}
.mainVisual .slideCon .grid_line_con span{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.2;
    border-left: 1px solid rgba(0,0,0,0.5);
    overflow: hidden;
}
.mainVisual .slideCon.slick-active .grid_line_con span{
    animation: mainVisual_grid_line 2s 0.5s forwards;
}
@keyframes mainVisual_grid_line{
    to{
        width: 0;
        border-left: 0;
    }
}
.mainVisual .text{
    position: absolute;
    left: 12.5%;
    bottom: 30%;
    display:flex;
    flex-direction:column;
    gap:40px;
}
.mainVisual .text .title{
    color:#fff;
    font-size: 45px;
    opacity: 0;
    animation: fadeInUp 0.75s 0.5s forwards;
    font-weight: 500;
}
.mainVisual .text .title_con{
    margin-bottom:2.5%;
}
.mainVisual .text .title_con:nth-last-child(1){
    margin-bottom: 0;
}
.mainVisual .text .explain{
    color:#fff;
    font-size: 20px;
    font-weight: 200;
    opacity: 0;
    animation: fadeInUp 0.75s 1s forwards;
}
.mainVisual .text .explain_con{
    margin-bottom: 2.5%;
}
.mainVisual .text .explain_con:nth-last-child(1){
    margin-bottom: 0;
}
.mainVisual .controllTower{
    opacity: 0;
    animation: fadeInUp 0.75s 1.5s forwards;
    position: absolute;
    left: 12.5%;
    bottom: 10%;
    min-width: 400px;
}
.mainVisual .controllTower .pagingInfo{
    min-width: 125px;
}
.mainVisual .controllTower .btnWrap{
    display: flex;
    justify-content: space-between;
    margin-bottom: 2.5%;
    align-items: center;
}
.mainVisual .controllTower .arol_btn{
    width: 26px;
    height: 30px;
    cursor: pointer;
}
.mainVisual .controllTower .arol_wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mainVisual .controllTower .aro1_prev{
    background: url(../images/mainVisual_ico_prev.png) center center / 26px no-repeat;
}
.mainVisual .controllTower .aro1_next{
    background: url(../images/mainVisual_ico_next.png) center center / 26px no-repeat;
}
.mainVisual .controllTower .pause{
    width: 9px;
    height: 18px;
    border-left : 2px solid;
    border-right: 2px solid;
    border-color: #fff;
    cursor: pointer;
    position: relative;
}
.mainVisual .controllTower .pause:hover .loader_path{
    -webkit-animation: dash 1.5s ease-in-out forwards, color 6s ease-in-out infinite;
    animation: dash 1.5s ease-in-out forwards, color 6s ease-in-out infinite;
}
.circular_loader {
    height: calc(100% + 36px);
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    width: calc(100% + 36px);
    position: absolute;
    top: -18px;
    left: -18px;
    margin: auto;
    opacity: 1;
    cursor: pointer;
}
.loader_path {
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
    stroke-linecap: round;
}
@-webkit-keyframes dash {
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes dash {
    to {
        stroke-dashoffset: 0;
    }
}
.mainVisual .controllTower .navi_line{
    width: 100%;
    height: 1px;
    background: #fff;
    position: relative;
}
.mainVisual .controllTower .navi_line::before {
    content: "";
    width: 0;
    height: 100%;
    position: absolute; 
    left: 0;
    top: 0;
    background: var(--main-color);
    transition: inherit;
}
.mainVisual .controllTower .navi_line.active:before{
    width: 100%;
}

/*scroldown*/
.main_scrolldown{
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20%;
}
.main_scrolldown .chevron {
    position: relative;
    width: 28px;
    height: 3px;
    opacity: 0;
    transform: scale3d(0.5, 0.5, 0.5);
    animation: move 3s ease-out infinite;
}

.main_scrolldown .chevron:first-child {
    animation: move 3s ease-out 1s infinite;
}

.main_scrolldown .chevron:nth-child(2) {
    animation: move 3s ease-out 2s infinite;
}

.main_scrolldown .chevron:before,
.main_scrolldown .chevron:after {
    content: ' ';
    position: absolute;
    top: 0;
    height: 100%;
    width: 51%;
    background: #fff;
}

.main_scrolldown .chevron:before {
    left: 0;
    transform: skew(0deg, 30deg);
}

.main_scrolldown .chevron:after {
    right: 0;
    width: 50%;
    transform: skew(0deg, -30deg);
}

@keyframes move {
    25% {
        opacity: 1;

    }

    33% {
        opacity: 1;
        transform: translateY(30px);
    }

    67% {
        opacity: 1;
        transform: translateY(40px);
    }

    100% {
        opacity: 0;
        transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
    }
}
/*pageinfo*/
.pagingInfo {
    color: #fff;
    font-size: 18px;
    font-weight: 100;
    display: inline-block;
    width: auto;
    text-align: center;
    letter-spacing: 0;
	font-family:var(--en);
	font-style:italic;
}
/*loader*/
body{
	overflow-x:hidden;
}
.loading{
    width:100%;
    height:100%;
    position:fixed;
    left:0px;
    top:0px;
    background:#fff;
    z-index:1000;
}
.loading img{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
@media(max-width:1080px){
.loader{width:calc(100% - 30px);}
}

.mainContent{
    text-align: center;
    position: relative;
    margin-top: 100vh;
	background:url(../images/main_mainContent_bg.jpg) center bottom / cover no-repeat;
}
.mainContent .slideCon{
    position: relative;
    overflow: hidden;
    justify-content: center;
    display: flex;
    align-items: center;
}
.mainContent .cm_title{
    display: flex;
    flex-direction: column;
    gap: 0;
}
.mainContent .cm_title .name{
    font-size: 24px;
}
.mainContent .cm_title .title{
    font-family: var(--en);
    font-size: 60px;
    line-height: 100%;
}
.mainContent .cm_title .explain{
}

.mainContent .about{
    padding: 5% 0;
}
.mainContent .about .wrap{
    width: calc(100% - 30px);
    margin: 0 auto;
    max-width: 1600px;
}
.mainContent .about .sliderWrap{
    position: relative;
}
.mainContent .about .Slider.--main{

}
.mainContent .about .Slider.--main .link{
    display: flex;
    text-align: left;
    align-items: center;
}
.mainContent .about .Slider.--main .image{
    
}
.mainContent .about .Slider.--main .text {
    margin-left: 50px;
    margin-bottom: 15%;
}
.mainContent .about .Slider.--main .text .cm_title {
    margin-bottom: 10%;
}
.mainContent .about .Slider.--main .text .cm_title .explain{
    line-height: 100%;
}
.mainContent .about .Slider.--main .text .cm_title .title{

}
.mainContent .about .Slider.--main .text .change{

}
.mainContent .about .Slider.--main .text .change .title{
    font-size: 24px;
    margin-bottom: 5%;
    opacity: 0;
}
.mainContent .about .Slider.--main  .slick-active .text .change .title{
    animation: fadeInUp 1s 0.5s forwards;
}
.mainContent .about .Slider.--main .text .change .title_con{
    margin-bottom: 1.5%;
}
.mainContent .about .Slider.--main .text .change .title_con:nth-last-child(1){
    margin-bottom: 0;
}
.mainContent .about .Slider.--main .text .change .explain{
    font-weight: 300;
    opacity: 0;
}
.mainContent .about .Slider.--main .slick-active .text .change .explain{
    animation: fadeInUp 1s 0.75s forwards;
}
.mainContent .about .Slider.--main .text .change .explain_con{
    margin-bottom: 2.5%;
}
.mainContent .about .Slider.--main .text .change .explain_con:nth-last-child(1){
    margin-bottom: 0;
}
.mainContent .about .subsliderWrap{
    display: flex;
    flex-direction: column;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 200px;
}
.mainContent .about .Slider.--sub {
    cursor: pointer;
    transition: 0.5s all;
}
.mainContent .about .Slider.--sub:hover{
    opacity: 0.7;
}
.mainContent .about .navi_line{
    width: 2px;
    height: 150px;
    background: #fff;
    position: absolute;
    right: 0;
    top: 17%;
}
.mainContent .about .navi_line::before {
    content: "";
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--main-color);
    transition: inherit;
}
.mainContent .about .navi_line.active:before{
    height: 100%;
}
.mainContent .about .pagingInfo{
    color: #363636;
    margin-bottom: 5%;
    text-align: right;
}

.mainContent .perfor{
    padding: 5% 0;
}
.mainContent .perfor .wrap{
    width: calc(100% - 30px);
    margin: 0 auto;
    max-width: 1600px;
}
.mainContent .perfor .cm_title{
    flex-direction: row;
    text-align: left;
    align-items: flex-end;
    font-weight: 300;
    margin-bottom: 2.5%;
}
.mainContent .perfor .cm_title .left{margin-right: 2.5%;}
.mainContent .perfor .cm_title .explain_con{
	margin-bottom: 2.5%;
}
.mainContent .perfor .cm_title .explain_con:nth-last-child(1){
	margin-bottom:0;
}
.mainContent .perfor .sliderWrap{
    position: relative;
}
.mainContent .perfor .slideCon{
    flex-direction: column;
    align-items: flex-end;
    opacity: 0.5;
    transition:0.5s all;
}
.mainContent .perfor .slideCon.slick-active{
	opacity:1;
}
.mainContent .perfor .slideCon .image{
    margin: 0 auto 1.25%;
	position:relative;
}
.mainContent .perfor .slideCon .image:before{
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	background: rgba(1,1,1,0.3);
	transition: 0.5s all;
}
.mainContent .perfor .slideCon.slick-active .image:before{
	background:rgba(1,1,1,0);
}
.mainContent .perfor .slideCon .text{
    display: flex;
    align-items: center;
    opacity: 0;
    transition: 0.5s all;
}
.mainContent .perfor .slideCon.slick-active .text{
	opacity:1;
}
.mainContent .perfor .slideCon .text .name{
    font-size: 24px;
    margin-right: 50px;
    font-weight: 500;
}
.mainContent .perfor .slideCon .text .listWrap{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 10px 20px;
}
.mainContent .perfor .slideCon .text .listcon{
    min-width: 200px;
    text-align: left;
}
.mainContent .perfor .controllTower{
    position: absolute;
    left:0;
    bottom: 5px;
    text-align: left;
}
.mainContent .perfor .controllTower .arol_wrap {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 2.5%;
}
.mainContent .perfor .controllTower .arol_btn {
    width: 26px;
    height: 30px;
    cursor: pointer;
}
.mainContent .perfor .controllTower .aro1_prev{
    background: url(../images/mainVisual_ico_prev2.png) center center / 26px no-repeat;
}
.mainContent .perfor .controllTower .aro1_next{
    background: url(../images/mainVisual_ico_next2.png) center center / 26px no-repeat;
}
.mainContent .perfor .navi_line{
    width: 300px;
    height: 2px;
    background: #fff;
    position: relative;
}
.mainContent .perfor .navi_line::before {
    content: "";
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--main-color);
    transition: inherit;
}
.mainContent .perfor .navi_line.active:before{
    width:100%;
}
.mainContent .perfor .pagingInfo{
    color: #363636;
    text-align: right;
}

.mainContent .business{
    padding: 5% 0;
}
.mainContent .business .wrap{
    max-width: 1600px;
    width: calc(100% - 30px);
    margin: 0 auto;
    background: #fff;
    padding: 2.5%;
}
.mainContent .business .cm_title{
    margin-bottom: 2.5%;
}
.mainContent .business .listWrap{
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.mainContent .business .listcon{
    background: #eaecf2;
    padding: 20px;
}
.mainContent .business .listcon .image{
    margin-bottom: 20px;
}
.mainContent .business .listcon .text{

    text-align: left;
}
.mainContent .business .listcon .name{
    margin-bottom: 20px;
    font-size: 30px;
    font-weight: 500;
}
.mainContent .business .listcon .explain{

    font-size: 18px;
}
.mainContent .business .listcon .explain_con{

    margin-bottom: 5%;
}
.mainContent .business .listcon .explain_con:nth-last-child(1){
    margin-bottom: 0;
}

.mainContent .news{
    padding: 5% 0;
}
.mainContent .news .wrap{
    max-width: 1600px;
    width: calc(100% - 30px);
    margin:0 auto;
    display: flex;
    justify-content: space-between;
}
.mainContent .news .titleWrap {
    text-align: left;
}
.mainContent .news .cm_title{
    text-align: left;
    margin-bottom: 20%;
    align-items: flex-start;
}
.mainContent .news .cm_title .title{
    margin-bottom: 2.5%;
}
.mainContent .news .cm_title .name{

}
.mainContent .news .titleWrap .link{
    border: 1px solid #363636;
    padding: 15px;
    min-width: 250px;
    display: inline-block;
    text-align: center;
    transition: 0.5s all;
}
.mainContent .news .titleWrap .link:hover{
    background-color: var(--main-color);
    color: #fff;
    border-color: var(--main-color);
}
.mainContent .news .listWrap{width: 50%;min-width: 600px;}
.mainContent .news .listcon{
    border-bottom: 1px solid #363636;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: 0.5s all;
}
.mainContent .news .listcon:hover{
    background: rgba(255,255,255,0.5);
}
.mainContent .news .listcon:nth-child(1){
    border-top:1px solid #363636;
}
.mainContent .news .listcon .text{
    font-size: 20px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    padding-right: 10%;
}
.mainContent .news .listcon .num{
	white-space:nowrap;
}

/*response*/
@media(min-width:1921px){
}
@media (max-width:1080px){
    .mainWrap{
        overflow: hidden;
    }
    .mainWrap img{
        width: 100%;
    }
    
    .mainVisual .slideCon01 .image{
        background: url(../images/mainVisual_img_01_m.jpg) center top / cover no-repeat;
    }
    .mainVisual .slideCon02 .image{
        background: url(../images/mainVisual_img_02_m.jpg) center top / cover no-repeat;
    }
    .mainVisual .slideCon03 .image{
        background: url(../images/mainVisual_img_03_m.jpg) center top / cover no-repeat;
    }
	.mainVisual .text{
		left:5%;
	}
	.mainVisual .controllTower{
		left:5%;
		min-width:auto;
	}
	.mainVisual .controllTower .pause{
		margin-left:40px;
	}

	.mainContent .about{
		padding:15% 0;
	}
	.mainContent .about .Slider.--main .link{
		flex-direction: column;
		align-items: flex-start;
	}
	.mainContent .about .Slider.--main .image{
		margin-bottom:5%;
	}
	.mainContent .about .Slider.--main .text{
		margin-left: 0;
        margin-bottom: 2.5%;
	}
	.mainContent .about .Slider.--main .text .change .title_con{
		margin-bottom:2.5%;
	}
	.mainContent .about .subsliderWrap{
		position: relative;
        right: auto;
        bottom: auto;
        flex-direction: unset;
        margin-left: auto;
        width: 40%;
        align-items: flex-end;
        justify-content: flex-end;
	}
	.mainContent .about .Slider.--sub{
		width:100%;
	}
	.mainContent .about .pagingInfo{
		white-space: nowrap;
		margin-bottom: 0;
		margin-right:20px;
	}
	.mainContent .about .navi_line{
		display:none !important;
	}

	.mainContent .perfor{
		padding:15% 0;
	}
	.mainContent .perfor .cm_title{
		margin-bottom: 5%;
		flex-direction: column;
		align-items: flex-start;
	}
	.mainContent .perfor .cm_title .left{
		margin-right: 0;
		margin-bottom:5%;
	}
	.mainContent .perfor .slideCon .image{
		margin-bottom:5%;
	}
	.mainContent .perfor .slideCon .text{
		flex-direction:column;
		align-items: flex-end;
		text-align: right;
	}
	.mainContent .perfor .slideCon .text .name{
		margin-bottom:5%;
		margin-right: 0;
	}
	.mainContent .perfor .slideCon .text .listWrap{
		grid-template-columns: repeat(2, auto);
	}
	.mainContent .perfor .slideCon .text .listcon{
		min-width: auto;
		text-align: left;
	}
	.mainContent .perfor .controllTower{
		position: relative;
		display: flex;
		flex-direction: column-reverse;
		margin-top: 7.5%;
	}
	.mainContent .perfor .controllTower .arol_wrap{
		margin-bottom: 0;
		justify-content: flex-end;
	}
	.mainContent .perfor .navi_line{
		position: relative;
		margin-left: auto;
		margin-bottom: 2.5%;
		width:40%;
		max-width:400px;
	}
	
	.mainContent .business{
		padding:15% 0;
	}
	.mainContent .business .wrap{
		padding:10% 10px;
	}
	.mainContent .business .cm_title{
		margin-bottom:7.5%;
	}
	.mainContent .business .listWrap{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.mainContent .business .listcon{
		padding:5%;
	}

	.mainContent .news{
		padding: 15% 0;
	}
	.mainContent .news .wrap{
		flex-direction: column;
	}
	.mainContent .news .titleWrap{
		margin-bottom:10%;
	}
	.mainContent .news .cm_title{
		margin-bottom:15%;
	}
	.mainContent .news .listWrap{
		min-width:auto;
		width:100%;
	}
	.mainContent .news .listcon{
		padding:7.5%;
	}

}
@media(max-width:720px){
	.mainVisual .text .title{
		font-size:6vw;
	}
	.mainVisual .text .explain{
		font-size:3.6vw;
	}
	.mainVisual .controllTower .aro1_prev,
	.mainVisual .controllTower .aro1_next{
		background-size:20px;
	}
	.pagingInfo{
		font-size:3vw;
	}

	.mainContent .cm_title .title{
		font-size:8vw;
	}
	.mainContent .cm_title .name {
		font-size:4vw;
	}
	.mainContent .cm_title .explain{
		font-size:3vw;
	}
	.mainContent .about .Slider.--main .text .change .title{
		font-size:4vw;
	}
	.mainContent .about .Slider.--main .text .change .explain{
		font-size:2.6vw;
	}

	.mainContent .perfor .slideCon .text .name{
		font-size:4vw;
	}
	.mainContent .perfor .slideCon .text .listcon{
		font-size:2.6vw;
	}
	.mainContent .perfor .controllTower .aro1_prev,
	.mainContent .perfor .controllTower .aro1_next{
		background-size:20px;
	}

	.mainContent .business .listcon .name{
		font-size:4vw;
	}
	.mainContent .business .listcon .explain{
		font-size:2.6vw;
	}

	.mainContent .news .titleWrap .link{
		font-size: 3vw;
        padding: 2.5%;
        min-width: auto;
        width: 50%;
        max-width: 250px;
	}
	.mainContent .news .listcon .text{
		font-size:3vw;
	}
	.mainContent .news .listcon .num{
		font-size:2.6vw;
	}
}
