@charset "utf-8";

body{
	padding:0 !important;
}
#container{
	width: 100%;
}
#topContents{
	overflow:hidden;
	width: 100%;
	left: 0;
	top: 0;
}
/*----------------
leaf
------------------*/
#leaf{
	display: none;
	width:50%;
	height: 100%;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 100;
}
#leaf.move{
	display: block;
}
#leaf .inner{
	width: 100%;
	height: 100%;
	position:relative;
}
@media screen and (max-width:768px) {
	#leaf{
		width: 80%;
	}
}
#leaf .inner div{
    opacity: 0;
    -webkit-transform-origin: 0px 0px;
    -ms-transform-origin: 0px 0px;
    transform-origin: 0px 0px;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
	animation-iteration-count:1;
}
.flake1 {
    right: 10%;
    -webkit-animation-duration: 2.0s;
    animation-duration: 2.0s;
    -webkit-animation-delay: 0.9s;
    animation-delay: 0.9s;
}
.flake2 {
    right: 24%;
    -webkit-animation-duration: 2.0s;
    animation-duration: 2.0s;
    -webkit-animation-delay: 0.7s;
    animation-delay: 0.7s;
}
.flake3 {
    right: 6%;
    -webkit-animation-duration: 2.0s;
    animation-duration: 2.0s;
    -webkit-animation-delay: 0.45s;
    animation-delay: 0.45s;
}
.flake4 {
    right: 24%;
    -webkit-animation-duration: 2.0s;
    animation-duration: 2.0s;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}
.flake5 {
    right: 38%;
    -webkit-animation-duration: 2.0s;
    animation-duration: 2.0s;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}
@media screen and (max-width:768px) {
	.flake1 {
		-webkit-animation-duration: 2.6s;
	    animation-duration: 2.6s;
	    right: 20%;
	}
	.flake2 {
		-webkit-animation-duration: 2.6s;
	    animation-duration: 2.6s;
	    right: 44%;
	}
	.flake3 {
		-webkit-animation-duration: 2.6s;
	    animation-duration: 2.6s;
	    right: 12%;
	}
	.flake4 {
		-webkit-animation-duration: 2.6s;
	    animation-duration: 2.6s;
	    right: 48%;
	}
	.flake5 {
		-webkit-animation-duration: 2.6s;
	    animation-duration: 2.6s;
	    right: 76%;
	}
}

#leaf .inner .flake1 {
    /*top:150px;*/
    top: 17.647058823529413%;
}
#leaf .inner .flake2 {
    /*top:200px;*/
    top: 23.52941176470588%;
}
#leaf .inner .flake3 {
    /*top:330px;*/
    top: 38.82352941176471%;
}
#leaf .inner .flake4 {
    /*top:460px;*/
    top: 54.11764705882353%;
}
#leaf .inner .flake5 {
    /*top:500px;*/
    top: 58.82352941176471%;
}
#leaf .inner .flake1,
#leaf .inner .flake4{
     -webkit-animation-name: base;
    animation-name: base;
}
#leaf .inner .flake2,
#leaf .inner .flake3,
#leaf .inner .flake5{
    -webkit-animation-name: Drop;
    animation-name: Drop;
}
#leaf .inner .flake {
    position: absolute;
    display: block;
    z-index:99;
}
@media screen and (max-width:768px) {
	#leaf .inner div img{
		width:60%;
	}
}

/*base*/
@-webkit-keyframes base {
    0% {
        -webkit-transform: rotateZ(0deg);
        transform: rotateZ(0deg);
        opacity: 0;
    }
    30% {
        -webkit-transform: rotateZ(-90deg);
        transform: rotateZ(-90deg);
        opacity: 1;
		margin-right: 9%;
		/*margin-top:150px;*/
		margin-top: 17.647058823529413%;
    }
	70% {
        -webkit-transform: rotateZ(-180deg);
        transform: rotateZ(-180deg);
        opacity: 0.7;
		margin-right: 22%;
		/*margin-top:350px;*/
		margin-top: 41.17647058823529%;
    }
    100% {
        -webkit-transform: rotateZ(-200deg);
        transform: rotateZ(-200deg);
        opacity: 0;
        margin-right: 36%;
		/*margin-top:500px;*/
		margin-top: 54.11764705882353%
    }
}
@keyframes base {
    0% {
        -webkit-transform: rotateZ(0deg);
        transform: rotateZ(0deg);
        opacity: 0;
    }
    30% {
        -webkit-transform: rotateZ(-90deg);
        transform: rotateZ(-90deg);
        opacity: 1;
		margin-right: 9%;
		/*margin-top:150px;*/
		margin-top: 17.647058823529413%;
    }
	70% {
        -webkit-transform: rotateZ(-180deg);
        transform: rotateZ(-180deg);
        opacity: 0.7;
		margin-right: 22%;
		/*margin-top:350px;*/
		margin-top: 41.17647058823529%;
    }
    100% {
        -webkit-transform: rotateZ(-200deg);
        transform: rotateZ(-200deg);
        opacity: 0;
        margin-right: 36%;
		/*margin-top:500px;*/
		margin-top: 54.11764705882353%;
    }
}
@media screen and (max-width:768px) {
	@-webkit-keyframes base {
	    0% {
	        -webkit-transform: rotateZ(0deg);
	        transform: rotateZ(0deg);
	        opacity: 0;
	    }
	    30% {
	        -webkit-transform: rotateZ(-90deg);
	        transform: rotateZ(-90deg);
	        opacity: 1;
			margin-right: 18%;
			/*margin-top:150px;*/
			margin-top: 17.647058823529413%;
	    }
		70% {
	        -webkit-transform: rotateZ(-180deg);
	        transform: rotateZ(-180deg);
	        opacity: 0.7;
			margin-right: 44%;
			/*margin-top:350px;*/
			margin-top: 41.17647058823529%;
	    }
	    100% {
	        -webkit-transform: rotateZ(-200deg);
	        transform: rotateZ(-200deg);
	        opacity: 0;
	        margin-right: 72%;
			/*margin-top:500px;*/
			margin-top: 54.11764705882353%;
	    }
	}
	@keyframes base {
	    0% {
	        -webkit-transform: rotateZ(0deg);
	        transform: rotateZ(0deg);
	        opacity: 0;
	    }
	    30% {
	        -webkit-transform: rotateZ(-90deg);
	        transform: rotateZ(-90deg);
	        opacity: 1;
			margin-right: 18%;
			/*margin-top:150px;*/
			margin-top: 17.647058823529413%;
	    }
		70% {
	        -webkit-transform: rotateZ(-180deg);
	        transform: rotateZ(-180deg);
	        opacity: 0.7;
			margin-right: 44%;
			/*margin-top:350px;*/
			margin-top: 41.17647058823529%;
	    }
	    100% {
	        -webkit-transform: rotateZ(-200deg);
	        transform: rotateZ(-200deg);
	        opacity: 0;
	        margin-right: 72%;
			/*margin-top:500px;*/
			margin-top: 54.11764705882353%;
	    }
	}

}

/*Drop*/
@-webkit-keyframes Drop {
    0% {
        -webkit-transform: rotateZ(0deg);
        transform: rotateZ(0deg);
        opacity: 0;
    }
    30% {
        -webkit-transform: rotateZ(-90deg);
        transform: rotateZ(-90deg);
        opacity: 1;
		margin-right: 14%;
		/*margin-top:159px;*/
		margin-top: 18.705882352941178%;
    }
	70% {
        -webkit-transform: rotateZ(-180deg);
        transform: rotateZ(-180deg);
        opacity: 0.7;
		margin-right: 26%;
		/*margin-top:371px;*/
		margin-top: 43.64705882352941%;
    }
    100% {
        -webkit-transform: rotateZ(-210deg);
        transform: rotateZ(-210deg);
        opacity: 0;
        margin-right: 37%;
		/*margin-top:530px;*/
		margin-top: 62.35294117647059%;
    }
}
@keyframes Drop {
    0% {
        -webkit-transform: rotateZ(0deg);
        transform: rotateZ(0deg);
        opacity: 0;
    }
    30% {
        -webkit-transform: rotateZ(-90deg);
        transform: rotateZ(-90deg);
        opacity: 1;
		margin-right: 14%;
		/*margin-top:159px;*/
		margin-top: 18.705882352941178%;
    }
	70% {
        -webkit-transform: rotateZ(-180deg);
        transform: rotateZ(-180deg);
        opacity: 0.7;
		margin-right: 26%;
		/*margin-top:371px;*/
		margin-top: 43.64705882352941%;
    }
    100% {
        -webkit-transform: rotateZ(-210deg);
        transform: rotateZ(-210deg);
        opacity: 0;
        margin-right: 37%;
		/*margin-top:530px;*/
		margin-top: 62.35294117647059%;
    }
}
@media screen and (max-width:768px) {
	@-webkit-keyframes Drop {
	    0% {
	        -webkit-transform: rotateZ(0deg);
	        transform: rotateZ(0deg);
	        opacity: 0;
	    }
	    30% {
	        -webkit-transform: rotateZ(-90deg);
	        transform: rotateZ(-90deg);
	        opacity: 1;
			margin-right: 28%;
			/*margin-top:159px;*/
			margin-top: 18.705882352941178%;
	    }
		70% {
	        -webkit-transform: rotateZ(-180deg);
	        transform: rotateZ(-180deg);
	        opacity: 0.7;
			margin-right: 52%;
			/*margin-top:371px;*/
			margin-top: 43.64705882352941%;
	    }
	    100% {
	        -webkit-transform: rotateZ(-210deg);
	        transform: rotateZ(-210deg);
	        opacity: 0;
	        margin-right: 74%;
			/*margin-top:530px;*/
			margin-top: 62.35294117647059%;
	    }
	}
	@keyframes Drop {
	    0% {
	        -webkit-transform: rotateZ(0deg);
	        transform: rotateZ(0deg);
	        opacity: 0;
	    }
	    30% {
	        -webkit-transform: rotateZ(-90deg);
	        transform: rotateZ(-90deg);
	        opacity: 1;
			margin-right: 28%;
			/*margin-top:159px;*/
			margin-top: 18.705882352941178%;
	    }
		70% {
	        -webkit-transform: rotateZ(-180deg);
	        transform: rotateZ(-180deg);
	        opacity: 0.7;
			margin-right: 52%;
			/*margin-top:371px;*/
			margin-top: 43.64705882352941%;
	    }
	    100% {
	        -webkit-transform: rotateZ(-210deg);
	        transform: rotateZ(-210deg);
	        opacity: 0;
	        margin-right: 74%;
			/*margin-top:530px;*/
			margin-top: 62.35294117647059%;
	    }
	}
}

/*--------------
mainVis
--------------*/
.mainVis{
	width: 100%;
	/*height: 100vh;*/
	padding:0;
	position: relative;
	left: 0;
	top: 0;
	z-index: 2;
	box-shadow: 0px 5px 5px rgba(0,0,0,0.5);
}
/*canvas*/
canvas {
	position:absolute;
	top:0;
	left:0;
	right:0;
	width:100% !important;
	max-width:100% !important;
}

/*mainVis-info*/
.mainVis .mainVis-info{
	background:rgba(0,0,0,.9);
	padding:7px 70px 7px 30px;
	box-sizing: border-box;
	font-size: 12px;
	cursor: pointer;
	position: absolute;
	left: -100%;
	bottom: 0;
	z-index: 150;
	opacity: 0;
}
.mainVis .mainVis-info.slidein{
	-webkit-animation: mvinfoAnim 1.2s ease 0s 1 forwards;/*表示時間+start時間*/
	animation: mvinfoAnim 1.2s ease 0s 1 forwards;/*表示時間+start時間*/

}
@-webkit-keyframes mvinfoAnim {
	100% {
		left: 0;
		opacity: 1;
	}
}
@keyframes mvinfoAnim {
	100% {		
		left: 0;
		opacity: 1;
	}
}
.mainVis .mainVis-info a{
	color:#fff;
}
.mainVis .mainVis-info dl{
	display: flex;
	justify-content: center;
	color:#fff;
}
.mainVis .mainVis-info dl dd{
	margin-left: 15px;
}
.mainVis .mainVis-info i{
	font-size: 10px;
	color:#fff;
	position: absolute;
	right: 20px;
	top: 13px;
	transform: scale(.8);
}
/*scrImg*/
.mainVis .scrImg{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 40px;
	color:#fff;
	text-align: center;
	text-shadow:
    rgba(0,0,0,.5) 4px 4px 7px, rgba(0,0,0,.5) -4px 4px 7px,
    rgba(0,0,0,.5) 4px -4px 7px, rgba(0,0,0,.5) -4px -4px 7px;
    /*opacity: 0;*/
    display: none;

    animation: scrImgAnim 1s ease-in-out infinite alternate;
}
.mainVis .scrImg i{
	display: block;
	font-size: 25px;
	margin-bottom: 15px;
}
.mainVis .scrImg i.sp{
	display: none;
}
.mainVis .scrImg span{
	font-size:6px;
   -webkit-transform: scale(0.8);
   -webkit-transform-origin:0 0;
	letter-spacing: 0.1em;
}
@keyframes scrImgAnim {
    0% { transform:translateY( 5px); }
  100% { transform:translateY(  0px); }
}

/*slideArea*/
#slideArea{
	display: none;
}
@media only screen and (max-width:768px) {	
	#CANVASWRAP{
		display: none !important;
	}
	/*slideArea*/
	#slideArea{
		display: block;
	}
	.slick-slide{
		padding: 0 !important;
	}
	.mainVis{
		height: auto !important;
	}
	.mainVis .mainVis-info{
		width: 100%;
		padding:7px 70px 7px 20px;
		font-size: 10px;
	}
	.mainVis .scrImg i{
		font-size: 15px;
		margin-bottom: 7px;
	}
	.mainVis .scrImg i.pc{
		display: none;
	}
	.mainVis .scrImg i.sp{
		display: block;
	}
	.mainVis .scrImg span{
		font-size:8px;
	   -webkit-transform: scale(0.8);
	   -webkit-transform-origin:0 0;
	}
}

/*--------------
concept
--------------*/
.concept {
	position: relative;
	width: 100%;
	height: 100vh;
	background:url(../imgs/bg-concept.jpg) no-repeat center;
	background-size:cover;
	/*padding:120px 0;*/
	text-align: center;
}
.concept .wrap{
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	margin:auto;
}
.concept:before{
	content: '';
	width: 1px;
	height: 80px;
	background:#999999;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin:auto;
}
.concept .btn{
	margin-top: 75px;
}
@media only screen and (max-width:768px) {
	.concept .wrap{	
	}
	.concept:before{
		height: 45px;
	}
	.concept-txt{
		width:60%;
		margin:0 auto;
	}
	.concept .btn{
		margin-top: 50px;
	}
}

/*--------------
共通
--------------*/
.cnt-ttl{
	font-size: 18px;
	text-align: center;
	-webkit-filter: blur(5px);
	filter: blur(5px);
	transform: scale(1.1);
}
.cnt-ttl.fadein{

	-webkit-animation: cntttlAnim 2.0s ease 0.5s 1 forwards;/*表示時間+start時間*/
	animation: cntttlAnim 2.0s ease 0.5s 1 forwards;/*表示時間+start時間*/
}
@-webkit-keyframes cntttlAnim {
	100% {
		-webkit-filter: blur(0px);
		filter: blur(0px);
		transform: scale(1.0);
	}
}
@keyframes cntttlAnim {
	100% {
		-webkit-filter: blur(0px);
		filter: blur(0px);
		transform: scale(1.0);
	}
}
.cnt-ttl strong{
	font-size: 22px;
}
.cnt-ttl .num{
	font-size: 27px;
}
.cnt-txt{
	font-size: 18px;
	letter-spacing: 0.15em;
	text-align: center;
	margin-top: 10px;
	-webkit-filter: blur(5px);
	filter: blur(5px);
	transform: scale(1.1);
}
.cnt-txt.fadein{

	-webkit-animation: cntxtAnim 2.0s ease 0.5s 1 forwards;/*表示時間+start時間*/
	animation: cntxtAnim 2.0s ease 0.5s 1 forwards;/*表示時間+start時間*/
}
@-webkit-keyframes cntxtAnim {
	100% {
		-webkit-filter: blur(0px);
		filter: blur(0px);
		transform: scale(1.0);
	}
}
@keyframes cntxtAnim {
	100% {
		-webkit-filter: blur(0px);
		filter: blur(0px);
		transform: scale(1.0);
	}
}
@media only screen and (max-width:768px) {
	.cnt-ttl{
		font-size: 16px;
	}
	.cnt-ttl strong{
		font-size: 20px;
	}
	.cnt-ttl .num{
		font-size: 22px;
	}
	.cnt-txt{
		font-size: 14px;
	}
}

/*--------------
position
--------------*/
.position{
	padding:130px 0 100px;
}

/*--------------
design
--------------*/
.design .btn{
	display: inline-block;
}
@media only screen and (max-width:768px) {	
	.design{
		padding:0 0 40px;
	}	
}

/*--------------
sumai
--------------*/
.sumai{	
}

/*--------------
othercnt
--------------*/
.othercnt{
	position: relative;
}
.circleBox.clmBox .clm:nth-child(2){
	margin-left: 155px;
}
.circleBox.clmBox .clm:nth-child(3){
	margin-left: 105px;
}
@media only screen and (max-width:768px) {
	.othercnt{
		padding:80px 0 70px;
	}
	.othercnt:before{
		height: 45px;
	}
	.circleBox.clmBox .clm:nth-child(2),
	.circleBox.clmBox .clm:nth-child(3){
		margin-left: 0;
	}
}

/*--------------
news
--------------*/
.news{
}
.news .wrap{
}
.news .news-ttl{
	font-size: 12px;
	text-align: center;
}
.news .news-ttl span{
	display: block;
	font-size: 21px;
	letter-spacing: 0.25em;
}
.news .newsBox{
	margin-top: 60px;
}
.news .newsBox dl{	
	display: flex;
	justify-content: center;
	font-size: 14px;
}
.news .newsBox dl:nth-child(n+2){
	margin-top: 15px;
}
.news .newsBox dl dt{
	width: 7.2%;
}
.news .newsBox dl dd{
	width: 40%;
	margin-left: 7%;
}
@media only screen and (max-width:768px) {
	.news .wrap{
		padding:70px 20px 60px;
	}
	.news .news-ttl span{
		font-size: 19px;
	}
	.news .newsBox dl{
		display: block;
		font-size: 12px;
		text-align: center;
	}
	.news .newsBox dl:nth-child(n+2){
		margin-top: 20px;
	}
	.news .newsBox dl dt{
		width: 100%;
		line-height: 1;
	}
	.news .newsBox dl dd{
		width: 100%;
		margin-left: 0;
		margin-top: 10px;
	}
}

.circleBox-ph .caption li{
	padding:0 3px;
}



