/* CSS Document */

.top_mainpic{
	width:100%;
	height:100vh;
	background-image: url(../images/top/mainpic.jpg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.top_mainpic > *{opacity: 0;}
.top_mainpic > *:nth-child(2){margin-top: -50px;}
.top_mainpic.active > *{
	opacity: 1;
	-webkit-transition:opacity 1s;
	-moz-transition:opacity 1s;
	-o-transition:opacity 1s;
	-ms-transition:opacity 1s;
	transition:opacity 1s;
}
.top_mainpic.active > *:nth-child(2){transition-delay: 1s;}
@media screen and (max-width: 999px) {
	.top_mainpic > *:nth-child(1) img{transform: scale(1.1);}
}

.top_menu{
	padding-top: 55px;
	padding-bottom: 55px;
	background-image: url(../images/top/bg-menu.jpg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
}
.top_menu .frame_clover{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.top_menu .frame_clover img[src*="clover1"]{width:316px;}
.top_menu .frame_clover img[src*="clover2"]{width:306px;}
.top_menu .frame_clover > div{margin: -15px 0;}
.top_menu .flex{
	width:100%;
	display: flex;
	flex-wrap: wrap;
}
.top_menu .flex a{
	width: 160px;
	height: 160px;
	background-color: #FFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-radius: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	overflow: hidden;
	margin-top: 25px;
}
.top_menu .flex a > *:nth-child(1){
	height:118px;
	height:calc(100% * 118 / 160);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
}
.top_menu .flex a > *:nth-child(2){
	flex-grow: 1;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	font-weight: bold;
	padding-top: 0.4em;
}
@media screen and (min-width: 1000px) {
	.top_menu .flex{max-width: 530px;}
	.top_menu .flex a{margin-left: 25px;}
	.top_menu .flex a:nth-child(3n+1){margin-left: 0;}
}
@media screen and (max-width: 999px) {
	.top_menu{
		padding-top: 45px;
		padding-bottom: 35px;
	}
	.top_menu .frame_clover > div img{transform: scale(1.1);}
	.top_menu .flex{
		max-width: 345px;
		/* justify-content: space-between; */
		font-size: 60%;
		padding-top: 20px;
	}
	.top_menu .flex a{
		width: 107px;
		height: 107px;
		margin-left: 12px;
		margin-top: 12px;
	}
	.top_menu .flex a:nth-child(3n+1){margin-left: 0;}
}

.top_twitter{
	padding-top: 25px;
	padding-bottom: 30px;
}

.top_content{
	padding-top: 105px;
	padding-bottom: 100px;
	background-color: #F9F7EE;
}
.top_content .flex{
	display: flex;
	justify-content: space-between;
}
.top_content .flex + .flex{
	margin-top: 95px;
}
.top_content .flex .photo{
	flex-grow: 1;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	min-height: 300px;
}
.top_content .flex .text{
	padding-top: 20px;
	display: flex;
	flex-direction: column;
	text-align: left;
}
.top_content .flex .text h2{
	display: flex;
	align-items: center;
	border-bottom: solid 2px #74C65C;
	padding-bottom: 4px;
	line-height: 100%;
}
.top_content .flex .text h2 img{
	width:36px;
	margin-right: 12px;
}
.top_content .flex .text h2 + *{
	margin-top: 0.75em;
	margin-bottom: 2em;
}
.top_content .flex .text .more{
	display: flex;
	justify-content: flex-end;
}
.top_content .flex .text .more a{
	background-color: #74C65C;
	width:150px;
	height:40px;
}
.top_content .flex .text .more a img{width:52px;}
.top_content .btn{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100px;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.1);
	-webkit-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.1);
	-moz-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.1);
}
.top_content .btn_contact{margin-top: 90px;}
@media screen and (min-width: 1000px) {
	.top_content .flex .text{
		width:325px;
		min-width:325px;
	}
	.top_content .flex .text:nth-child(1){margin-right: 25px;}
	.top_content .flex .text:nth-child(2){margin-left: 25px;}
}
@media screen and (max-width: 999px) {
	.top_content{
		padding-top: 55px;
		padding-bottom: 50px;
	}
	.top_content .flex{flex-direction: column;}
	.top_content .flex + .flex{margin-top: 70px;}
	.top_content .flex .photo{
		min-height: 190px;
		order: 1;
	}
	.top_content .flex .text{order: 2;}
	.top_content .flex .text h2 + *{margin-bottom: 1.5em;}
	.top_content .btn_contact{margin-top: 60px;}
}
