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

.visual {
    height: 485px;
    max-width: 1600px;
    margin: auto;
    overflow: hidden;
}

.visual div img {
	margin-top: -330px;
}





#events .flexwrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 820px;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin: auto;
}

#events .flexwrap .row {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: relative;
	margin-bottom: 30px;
	-webkit-transform: translate3d(-100%, 0, 0);
	        transform: translate3d(-100%, 0, 0);
	opacity: 0;
}

#events .flexwrap .slided {
	-webkit-animation: slideInLeft 500ms linear forwards;
	        animation: slideInLeft 500ms linear forwards;
}

#events .flexwrap .slideout {
	-webkit-animation: slideOutLeft 500ms linear;
	        animation: slideOutLeft 500ms linear;
}



@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
	opacity: 1;
  }
}



@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
	opacity: 1;
  }
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
	opacity: 1;
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
	opacity: 0;
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
	opacity: 1;
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
	opacity: 0;
  }
}


#events .flexwrap .row:last-child {
	margin-bottom: 10px;
}


#events .flexwrap .row .image:after {
	content: "";
	display: block;
	width: 490px;
	height: 251px;
	background-repeat: no-repeat;
	background-position: right top 20px, center center;
	position: absolute;
    z-index: 10;
}


#events .flexwrap .row-1 .image:after,
#events .flexwrap .row-3 .image:after {
	background-image: url(../images/home/triangle_green.png),  url(../images/home/box_green.png);
	top: -20px;
    left: -150px;
}

#events .flexwrap .row-2 .image:after {
	background-image: url(../images/home/triangle_orange.png),  url(../images/home/box_orange.png);
	background-position: left top 20px, center center;
	top: -20px;
    left: -150px;
}

#events .flexwrap .row-1 .image:before,
#events .flexwrap .row-3 .image:before,
#events .flexwrap .row-2 .image:before {
    display: block;
    color: white;
    border-radius: 20px;
    padding: 13px 28px;
    font-size: 14px;
    width: 120px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    position: absolute;
	top: -40px;
}
	
#events .flexwrap .row-1 .image:before,
#events .flexwrap .row-3 .image:before {
    content: "セミナー";
    background-color: #7ac943;
    left: 70px;
}
	
#events .flexwrap .row-2 .image:before {
	content: "見学会";
    background-color: rgba(247,147,30,1);
    left: -30px;
}
	
#events .flexwrap .row-2 .image {
	-webkit-box-ordinal-group: 0;
	    -ms-flex-order: -1;
	        order: -1;
	margin-left: 190px;
}

#events .flexwrap .row .text {
	width: 380px;
    margin-right: 10px;
	position: relative;
	z-index: 25;
}

#events .flexwrap .row .image {
    width: 30%;
	height: auto;
	position: relative;
	-ms-flex-item-align: center;
	    -ms-grid-row-align: center;
	    align-self: center;
}

#events .flexwrap .row .image img {
	width: auto;
	height: auto;
	max-height: 150px;
	max-width: 200px;
	position: relative;
	z-index: 20;
	margin-top: 55px;
	margin-left: 35px;
}

#events .flexwrap .row .text h2 {
	font-size: 14px;
	margin: 0 0 10px;
}

#events .flexwrap .row .text h2,
#events .flexwrap .row .text h3 {
	font-weight: bold;
	line-height: 120%;
}

#events .flexwrap .row .text p {
	margin: 20px 0;
}

#events .flexwrap .row-1 .text h2, 
#events .flexwrap .row-1 .text h3,
#events .flexwrap .row-3 .text h2,
#events .flexwrap .row-3 .text h3 {
	color: #7ac943;
}
	
#events .flexwrap .row-2 .text h2, 
#events .flexwrap .row-2 .text h3 {
	color: rgba(247,147,30,1);
}

#events .flexwrap .row .text .read-more {
	text-align: right;
	margin-top: 50px;
	font-family: 'Playfair Display', serif;
	font-style: italic;
}

#events .flexwrap .row .text a {
	color: inherit;
}
	
#events .more-lead {
	font-family: 'Playfair Display', serif;
	font-style: italic;
	text-align: center;
	font-size: 28px;
	line-height: 100%;
}

#events .more-lead a {
	color: #4d4d4d;
}

#construction .flexwrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 940px;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin-left: 20px;
	margin-top: -40px;
}

#construction .card {
	width: 30%;
	margin-right: 20px;
	padding-top: 20px;
}

#construction .card h4 {
	font-family: "小塚ゴシック Pr6N";
	font-size: 60px;
	text-shadow: 5px 2px 0px #cecece;
	font-weight: 300;
	position: relative;
    left: 60%;
    top: 30px;
	width: 60px;
	color: black;
	z-index: 7;
}
	

#construction .card .img {
    height: 160px;
	overflow: hidden;
}

#construction .card .img img,
#blog .blogs .blog-article .img img {
	width: 100%;
	height: auto;
    transition: 500ms cubic-bezier(0.25, 0.25, 0.13, 1.39);
    transform-origin: center top;
}

#construction .card:hover .img img,
#blog .blogs .blog-article:hover .img img {
	transform: scale(1.2);
}

#construction .card a {
	color: inherit;
}

#construction .card .txt {
	padding-top: 10px;
}

#construction .card .txt .lead {
	font-weight: 700;
}

#blog .blogs a {
	color: inherit;
}

#blog .blogs {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 840px;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin: auto;
}

#blog .blogs .blog-article {
	margin-right: 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-box-shadow: 0 5px 10px 1px #aaa;
	        box-shadow: 0 5px 10px 1px #aaa;
	border-radius: 0 0 10px 10px;
	/*display: none;*/
	opacity: 0;
}

#blog .blogs .blog-article:last-child {
	margin-right: 0;
}
	
#blog .blogs .blog-article .img {
	width: 100%;
	height: 130px;
    overflow: hidden;
}
	
#blog .blogs .blog-article .txt {
	padding: 10px 10px 25px;
}

#blog .blogs .blog-article .txt .date {
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-size: 16px;
	margin-bottom: 10px;
}

#blog .blogs .blog-article a {
	display:block;
	width: 100%;
	height: 100%;
}

#blog .blogs .animated {
	opacity: 1;
	-webkit-animation: zoomIn 1s cubic-bezier(1, 0.11, 0.31, 1.58) forwards;
	        animation: zoomIn 1s cubic-bezier(1, 0.11, 0.31, 1.58) forwards;
/*		animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
		transform: translate3d(0, 0, 0);*/
}


@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}


@media (max-width:990px) {

	#construction .flexwrap {
		width: auto;
		margin-left: 0;
	}
	
	.visual div img {
    margin-top: 0;
    width: 100%;
    height: auto;
	}
	
	
	
}

@media (max-width:860px) {

	#blog .blogs,
	#events .flexwrap {
		width: auto;
	}
	#events .flexwrap{
	    overflow: hidden;
		margin-left: -8%;
	}
	
	.visual {
		height: auto;
	}
	
	#blog .blogs .blog-article .img {
		height: 20vw;
	}
	
	#blog .blogs {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		width: 90%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	
	#blog .blogs .blog-article {
		width: 35%;
		margin-right: 0;
		margin: 10px;
	}
}


@media (max-width:660px) {
	#events .flexwrap {
		margin-left: 0;
	}

	#events .flexwrap .row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	#events .flexwrap .row .text {
		width: 90%;
		margin: auto;
	}

	#events .flexwrap .row .image {
		width: 90%;
		-webkit-box-ordinal-group: 0;
		    -ms-flex-order: -1;
		        order: -1;
		text-align: center;
	}

	#events .flexwrap .row .image img {
		max-width: 100%;
		max-height: 100%;
		margin: 10px 0;
	}

	#events .flexwrap .row-1 .image:after,
	#events .flexwrap .row-2 .image:after, 
	#events .flexwrap .row-3 .image:after {
		background-image: none;
	}

	#events .flexwrap .row-1 .image:before,
	#events .flexwrap .row-3 .image:before,
	#events .flexwrap .row-2 .image:before {
		top: auto;
		bottom: -5px;
		right: 5%;
		z-index: 25;
	}

	#events .flexwrap .row-1 .image:before,
	#events .flexwrap .row-2 .image:before,
	#events .flexwrap .row-3 .image:before {
		left: auto;
	}


	#events .flexwrap .row-2 .image {
		margin-left: 0;
	}

	#blog .blogs {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		}

	#blog .blogs .blog-article {
		margin: 20px auto;
		width: 90%;
		}
	#blog .blogs .blog-article:last-child {
		margin-right: auto;
		}

	#blog .blogs .blog-article .img {
		height: 45vw;
	}

	#construction .card h4 {
    font-size: 7vw;
    top: 3vw;
	}
	
	#construction .card {
		width: 90%;
		margin-right: 0;
	}

	#construction .card .img {
		height: 53vw;
	}
	
	
	#construction .card h4 {
	font-size: 10vw;
    top: 70vw;
    left: auto;
	}
	
	#construction .card .txt {
		margin-left: 16vw;
	}
}

