@charset "UTF-8";
/* CSS Document */

html,body {
    padding: 0;
    margin: 0;
}
#bl_wrap {
    max-width: 985px;
    margin: 0 auto;
    padding: 30px 0;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
#bl_wrap img,#bl_wrap video {
    width: 100%;
}
#bl_wrap ul,#bl_wrap li {
    list-style: none;
    padding: 0;
    margin: 0;
}
#bl_wrap .fade {
	opacity: 0;
	transition: 1s all 0.5s ease;
}
#bl_wrap .fade.ac {
	opacity: 1;
}

#main_visual {
    width: 100%;
    position: relative;
    overflow: hidden;
	opacity: 0;
	transition: 1s all 0s ease;
}
#main_visual.ac {
	opacity: 1;
	
}
#main_visual .main1 {
    width: 50%;
    padding: 7% 0;
    margin: 0 auto;
    line-height: 0;
    position: relative;
    z-index: 10;
	opacity: 0;
	transition: 1s all 1.1s ease;
}
#main_visual.ac .main1 {
	opacity: 1;
}
#main_visual .main2 {
    width: 30%;
    position: absolute;
    top: 10%;
    left: 10%;
	opacity: 0;
	transition: 1s all 1s ease;
}
#main_visual.ac .main2 {
    top: 0%;
    left: 0%;
	opacity: 0.4;
}
#main_visual .main3 {
    width: 30%;
    position: absolute;
    bottom: 10%;
    right: 10%;
	opacity: 0;
	transition: 1s all 1s ease;
}
#main_visual.ac .main3 {
    bottom: 0%;
    right: 0%;
	opacity: 0.4;
}
#main_visual .title1 {
    width: 28%;
    position: absolute;
    top: 36%;
    left: 35%;
    z-index: 20;
	transition: 1s all 1s ease;
}
#main_visual.ac .title1 {
    top: 1%;
}
#main_visual .title1 .sub {
    width:65%;
    margin: 0 auto 4%;
}

#main_visual .title2 {
    width: 28%;
    position: absolute;
    bottom: 36%;
    left: 35%;
    z-index: 20;
	transition: 1s all 1s ease;
}
#main_visual.ac .title2 {
    bottom: 0%;
}
#main_visual .title2 .logo {
    width:50%;
    margin: 4% auto 0;
}

@media only screen and (max-width: 768px)  {
    #main_visual .main1 {
        width: 75%;
        padding: 12% 0;
    }
    #main_visual .main2 {
        width: 40%;
    }
    #main_visual .main3 {
        width: 40%;
    }
	#main_visual.ac .main2 {
        left: -10%;
    }
    #main_visual.ac .main3 {
        right: -10%;
    }
    #main_visual .title1 {
        width: 40%;
        left: 30%;
		top: 36%;
    }
    #main_visual .title2 {
        width: 40%;
        left: 30%;
		bottom: 35%;
    }
}


#main_contents {
    margin: 0 auto;
}
#main_contents::before {
    content: "";
    width: 1px;
    height: 75px;
    background: #000;
    display: block;
    margin: 5% auto;
}
#main_contents .section {
    padding: 5% 0 12%;
    position: relative;
    margin: 5% auto 10%;
}
@media only screen and (max-width: 768px)  {
    #main_contents .section {
        padding: 10% 0 22%;
        margin:5% auto 15%;
    }
}
#main_contents .section .data {
    position: absolute;
    bottom: 0;
    right: 5%;
    width: 50%;
	opacity: 0;
	transition: 1s all 0s ease;
}
#main_contents .section:nth-of-type(even) .data {
    right: auto;
    left: 5%;
}
#main_contents .section .data.ac {
	opacity: 1;
}
#main_contents .section .data .name {
    box-sizing: border-box;
    padding: 2.5% 5%;
    border-right: 1px solid #000;
}
#main_contents .section:nth-of-type(even) .data .name {
    border-right:none;
    border-left: 1px solid #000;
}
#main_contents .section .data .btn a {
    width: 30%;
    background: #000;
    font-size: 14px;
    text-decoration: none;
    color: #FFF;
    text-align: center;
    margin-left: 70%;
    display: block;
	letter-spacing:1px;
	transition: 0.5s all 0s ease;
}
#main_contents .section:nth-of-type(even) .data .btn a {
    margin-left: 0%;
}
#main_contents .section .data .btn a:hover {
	letter-spacing: 4px;
	opacity: 0.7
}
@media only screen and (max-width: 768px)  {
    #main_contents .section .data {
        width: 90%;
    }
}


#main_contents .section .copy {
    position: absolute;
    top: 0;
    right: 5%;
    width: 15%;
}
#main_contents .section:nth-of-type(even) .copy {
    right: auto;
    left: 5%;
}
#main_contents .section .copy .txt {
    writing-mode: vertical-rl;
    float: right;
    display: inline-block;
    font-size: 16px;
    letter-spacing: 2px;
	position: relative;
}

#main_contents .section:nth-of-type(even) .copy .txt {
    float: left;
}
#main_contents .section .copy .txt .bg {
    background:rgba(255,255,255,0.8);
    padding:10px;
    display: inline-block;
	position: relative;
	overflow: hidden;
}
#main_contents .section .copy .txt .bg::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: #FFF;
	width: 100%;
	height: 100%;
	transition: 1s all 0s ease;
}
#main_contents .section .copy.ac .txt .bg::before {
	top: 100%;
}
@media only screen and (max-width: 768px)  {
    #main_contents .section .copy .txt {
        font-size: 12px;
    }	
    #main_contents .section .copy {
        right: 2%;
    }
    #main_contents .section:nth-of-type(even) .copy {
        right: auto;
        left: 2%;
    }
    #main_contents .section .copy .txt .bg {
        padding:6px;
    }

}