/* ----- SUB VISUAL ----- */
.sub-top{
    position: relative;
    z-index: 20;
}
.sub-visual {
    overflow: hidden;
    position:relative;
    /* height:60em; */
    height:450px;
}
.sub-visual:before {
    content: "";
    opacity: 0.2;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index:10;
    background: #fff;
    -webkit-transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
    -moz-transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
    -ms-transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
    -o-transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.sub-visual:after {
    content: "";
    opacity: 0.2;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    top: 0;
    right: 0;
    -webkit-transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
    -moz-transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
    -ms-transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
    -o-transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: opacity 1.5s, width 1.5s cubic-bezier(0.33, 1, 0.68, 1);
    -webkit-transition-delay: 0.2s;
    -moz-transition-delay: 0.2s;
    -ms-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
}
.animated .sub-visual:before {
    width:0%;
}
.animated .sub-visual:after {
    width:0%;
}
.sub-visual .con {
    position:relative;
    z-index:10;
    display:flex;
    align-items:center;
    width:100%;
    height:100%;
    text-align:center;
}
.sub-visual .sub-tit .tit {
    margin-top:1.582em;
    font-size:48px;
    color:#fff;
    font-weight:700;
    letter-spacing:0;
    text-transform: uppercase;
}
.sub-visual .sub-tit .txt {
    margin-top:0.938em;
    font-size:16px;
    color:rgba(255,255,255,0.8);
    line-height:1.6;
}
.sub-visual .bg {
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    -webkit-animation:bgScale 2s cubic-bezier(0.33, 1, 0.68, 1) both;
    -moz-animation:bgScale 2s cubic-bezier(0.33, 1, 0.68, 1) both;
    -ms-animation:bgScale 2s cubic-bezier(0.33, 1, 0.68, 1) both;
    -o-animation:bgScale 2s cubic-bezier(0.33, 1, 0.68, 1) both;
    animation:bgScale 2s cubic-bezier(0.33, 1, 0.68, 1) both;
}
@-webkit-keyframes bgScale {
    from {
        transform:scale(1.2);
    }

    to {
        transform:scale(1);
}
}
@-moz-keyframes bgScale {
    from {
        transform:scale(1.2);
    }

    to {
        transform:scale(1);
    }
}
@-ms-keyframes bgScale {
    from {
        transform:scale(1.2);
    }

    to {
        transform:scale(1);
    }
}
@-o-keyframes bgScale {
    from {
        transform:scale(1.2);
    }

    to {
        transform:scale(1);
    }
}
@keyframes bgScale {
    from {
        transform:scale(1.2);
    }

    to {
        transform:scale(1);
    }
}
.sub-visual.bg-big {
    height:100vh;
}
.sub-visual.bg-big .sub-tit .tit {
    margin-top:0;
    font-size:48px;
}
.sub-visual.bg-big .sub-tit .txt {
    margin-top:15px;
    font-size:20px;
    line-height:1.6;
}
.sub-visual .scroll-down p {
    font-weight:700;
}


@media screen and (max-width:1440px) {
    .sub-visual.bg-big .sub-tit .tit {
        font-size:36px;
    }
    .sub-visual.bg-big .sub-tit .txt {
        font-size:18px;
        line-height:1.4;
    }
}

@media screen and (max-width:960px) {
    .sub-visual.bg-big .sub-tit .tit {
        font-size:28px;
    }
    .sub-visual.bg-big .sub-tit .txt {
        font-size:16px;
    }
}

@media screen and (max-width:768px) {
    .sub-visual.bg-big .sub-tit .tit {
        font-size:24px;
    }
    .sub-visual.bg-big .sub-tit .txt{
        font-size: 14px;
    }
}





/* ----- NAVIGATION ----- */
.sub-nav-wrap {
    position:relative;
    z-index:100;
    background:#fff;
    border-bottom:1px solid #ddd;
}
.sub-nav-wrap .sub-nav {
    display:flex;
    justify-content:flex-start;
}
.sub-nav-wrap .sub-nav .go-home {
    display:block;
    border-left:1px solid #ddd;
    border-right:1px solid #ddd;
    width:60px;
    aspect-ratio: 1/1;
    background:url(/images/common/ico-home.svg) no-repeat center;
    background-size: 20px;
}
.sub-nav-wrap .sub-nav .nav-depth {
    position:relative;
    z-index:2;
}
.sub-nav-wrap .sub-nav .nav-depth h2 {
    position:relative;
    min-width:300px;
    width:100%;
    border-right:1px solid #ddd;
    cursor:pointer;
}
.sub-nav-wrap .sub-nav .nav-depth h2:before {
    content:"";
    position:absolute;
    right:30px;
    top:50%;
    margin-top:-4px;
    width:15px;
    height:8px;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:100%;
    background-image:url(/images/common/subnav.png);
}
.sub-nav-wrap .sub-nav .nav-depth h2 strong {
    display:block;
    padding:0 15px;
    /* padding-right:4em; */
    font-size:16px;
    color:#333;
    font-weight:400;
    line-height:60px;
}
.sub-nav-wrap .sub-nav .nav-depth ul {
    display:none;
    position:absolute;
    /* left:-1px; */
    top:100%;
    /* width:calc(100% + 1px); */
    width:100%;
    -webkit-box-shadow:0px 5px 12px rgba(0,0,0,0.1);
    box-shadow:0px 5px 12px rgba(0,0,0,0.1);
}
.sub-nav-wrap .sub-nav .nav-depth:last-child {
    z-index:11;
}
.sub-nav-wrap .sub-nav .nav-depth ul li a {
    display:block;
    padding:10px 15px;
    border-top:1px solid #dddddd;
    background:#fff;
    font-size:15px;
    line-height:1.5;
    color:#333;
}
.sub-nav-wrap .sub-nav .nav-depth ul li:first-child a {
    border-top:none;
}
.sub-nav-wrap .sub-nav .nav-depth ul li.on a {
    color:#004386;
    font-weight: bold;
}
.sub-nav-wrap .sub-nav .nav-depth:last-child h2 strong {
    background:#004386;
    color:#fff;
}
.sub-nav-wrap .sub-nav .nav-depth:last-child h2:before {
    background-image:url(/images/common/subnav-on.png);
}
.sub-nav-wrap .sub-nav .nav-depth.open ul {
    display:block;
}

.scroll-down {
	opacity:1;
	position:absolute;
	left:0;
	bottom:6%;
	z-index:1000;
	width:100%;
	text-align:center;
	-webkit-transition: opacity 1s, bottom 1s;
	-moz-transition: opacity 1s, bottom 1s;
	-ms-transition: opacity 1s, bottom 1s;
	-o-transition: opacity 1s, bottom 1s;
	transition: opacity 1s, bottom 1s;
	-webkit-transition-delay:1.3s;
	-moz-transition-delay:1.3s;
	-ms-transition-delay:1.3s;
	-o-transition-delay:1.3s;
	transition-delay:1.3s;
}
.scroll-down p {
	font-size:12px;
	color:#fff;
	letter-spacing:-0.033em;
}
.scroll-ico {
	display:block;
}
.scroll-ico span {
	display:block;
	margin:0 auto;
	margin-top:10px;
	width:10px;
	height:5px;
	background:url(/images/common/main-scroll.png) no-repeat center;
}
.scroll-ico span:nth-child(1){
	margin-top:33px;
	-webkit-animation: scrollDownOne 1.2s linear infinite;
	-moz-animation: scrollDownOne 1.2s linear infinite;
	-ms-animation: scrollDownOne 1.2s linear infinite;
	-o-animation: scrollDownOne 1.2s linear infinite;
	animation: scrollDownOne 1.2s linear infinite;
}
.scroll-ico span:nth-child(2){
	-webkit-animation: scrollDownTwo 1.2s linear infinite;
	-moz-animation: scrollDownTwo 1.2s linear infinite;
	-ms-animation: scrollDownTwo 1.2s linear infinite;
	-o-animation: scrollDownTwo 1.2s linear infinite;
	animation: scrollDownTwo 1.2s linear infinite;
}
.scroll-ico span:nth-child(3){
	-webkit-animation: scrollDownThree 1.2s linear infinite;
	-moz-animation: scrollDownThree 1.2s linear infinite;
	-ms-animation: scrollDownThree 1.2s linear infinite;
	-o-animation: scrollDownThree 1.2s linear infinite;
	animation: scrollDownThree 1.2s linear infinite;
}



@media screen and (min-width:1025px){
    .sub-nav-wrap .sub-nav .nav-depth ul li a:hover{
        background:#004386;
        color:#fff;
    }
}

@media screen and (max-width:768px) {
    .sub-nav-wrap .sub-nav .nav-depth{
        width: calc( 100% - 60px );
    }
    .sub-nav-wrap .sub-nav .nav-depth h2{
        min-width: auto;
        border-right: none;
    }
    .sub-nav-wrap .sub-nav .nav-depth:last-child{
        display: none;
    }
}