@charset "UTF-8";

/* INTERFACE */

br.sp{
	display:none;
}

body>header{
	height:100px;
	text-align:center;
}

body>header h1,
body>header>a{
	display:table;
	margin:0 auto;
	padding:24px 0 0;
	line-height:1;
}

body>header h1 img,
body>header>a img{
	width:260px;
	vertical-align:bottom;
}

body>footer{
	border-top:10px solid #fff;
	background-color:#5bb531;
}

#address{
	max-width:1200px;
	margin:0 auto;
	padding:5%;
	display:flex;
	justify-content:space-between;
}

#address .txt{
	width:55%;
}

#address .txt a{
	display:inline-block;
	padding:1em;
	font-size:15px;
	background-color:#fff;
}

#address .txt a img{
	width:150px;
	vertical-align:bottom;
}

#address .txt p{
	margin:1em 0 0.3em;
	font-size:25px;
	font-weight:700;
	line-height:1.2;
	color:#fff;
}

#address .txt address{
	font-style:normal;
	font-size:18px;
	color:#fff;
}

#address .map{
	width:40%;
}

#address .map img{
	width:100%;
	vertical-align:bottom;
}

#address .map a{
	display:inline-block;
	margin:0.5em 0 0;
	padding:0 0 0 15px;
	font-size:15px;
	color:#fff;
	background-image:url("../img/interface/ico_arrow.svg");
	background-repeat:no-repeat;
	background-size:8px;
	background-position:center left;
}

#address .map div{
	width:100%;
	height:0;
	padding:70% 0 0;
	position:relative;
}

#address .map div iframe{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
 
#copyright{
	padding:5%;
	text-align:center;
	background-color:#4b9528;
}

#copyright small{
	font-family: "Lato", sans-serif;
	font-size:10px;
	color:#fff;
}

@media only screen and (max-width:1000px){
	#address .map div{
		padding:100% 0 0;
	}
}


/* HOME */

#home_key_area{
	position:relative;
}

#home_key_area img{
	width:100%;
	vertical-align:bottom;
}

#home_key_area .bounce{
	position:absolute;
	top:38%;
	left:0;
	right:0;
	margin:auto;
	padding:0 5%;
}

.bounce_sp{
	display:none;
}

path {
    fill: none;
    stroke: #fff;
    stroke-dasharray: 2000;
    stroke-dashoffset: 0;
    stroke-width: 1;
    -webkit-animation: logo 2s ease-in forwards;
    animation: logo 2s ease-in forwards;
}

@-webkit-keyframes logo {
	0% {
		stroke-dashoffset: 2000;
		fill:transparent;
	}
	50% {
		fill:transparent;
	}
	100% {
		stroke-dashoffset: 0;
		fill:#fff;
	}
}
@keyframes logo {
	0% {
		stroke-dashoffset: 2000;
		fill:transparent;
	}
	50% {
		fill:transparent;
	}
	100% {
		stroke-dashoffset: 0;
		fill:#fff;
	}
}


#home_concept_area{
	max-width:1500px;
	margin:0 auto;
	padding:10% 0 10% 5%;
	background-image:url("../img/bg_concept.jpg");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center top;
	position:relative;
}

#home_concept_area>img{
	width:400px;
	vertical-align:bottom;
	position:absolute;
	top:-100px;
	right:140px;
}

#home_concept_area h2{
	margin:0 0 1.5em;
	font-size:40px;
	font-weight:800;
	line-height:1.4;
	color:#5bb531;
}

#home_concept_area p{
	margin:0 0 1.5em;
	font-size:20px;
	font-weight:400;
	line-height:1.6;
}

#home_concept_area br.sp{
	display:none;
}

#home_concept_area p.sign{
	font-size:18px;
	font-weight:700;
}

@media only screen and (max-width:1070px){
	#home_concept_area p{
		font-size:18px;
	}
	#home_concept_area p.sign{
		font-size:16px;
	}
}

@media only screen and (max-width:960px){
	#home_concept_area{
		background-position:right 50% top;
	}
	#home_concept_area p{
		font-size:17px;
	}
	#home_concept_area br.sp{
		display:block;
	}
	#home_concept_area>img{
		width:320px;
		top:-80px;
		right:50px;
	}
}

#home_member_area{
	padding:0 0 10%;
	background-color:#f0f0f0;
	background-image:url("../img/bg_member.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center bottom;
}

#home_member_area a.btn_more{
	margin:0 3%;
}

#home_member_area>p{
	margin:0;
	text-align:center;
	font-family: "Lato", sans-serif;
	font-size:7vw;
	font-weight:800;
	line-height:1;
	color:#fff;
	position:relative;
	top:-15px;
}

#members h2{
	margin:1em auto 2em;
	padding:0 3%;
	font-size:35px;
	font-weight:800;
	line-height:1.3;
	color:#000;
}

#members h2 span{
	display:block;
	font-size:25px;
	color:#5bb531;
}

#members h3{
	margin:0.5em 0 0;
	font-size:25px;
	font-weight:600;
	line-height:1.3;
}

#members h3 span{
	display:block;
	font-size:15px;
	font-weight:400;
}

#members{
	max-width:1200px;
	margin:0 auto;
	padding:0 2%;
}

#members>div{
	display:flex;
	flex-wrap:wrap;
	margin:0 0 5%;
}

#members section{
	width:33.333333333333%;
	padding:3%;
	box-sizing:border-box;
}

#members section img{
	width:100%;
	vertical-align:bottom;
}

#members section a{
	position:relative;
}

#members section a:hover{
	opacity:0.9;
	transition:0.3s;
}

#members section a span{
	padding:1em;
	font-family: "Lato", sans-serif;
	font-size:12px;
	font-weight:800;
	color:#fff;
	background-color:#ffae00;
	position:absolute;
	bottom:0;
	right:0;
}

#profile{
	max-width:1000px;
	margin:0 auto;
	padding:5% 5% 10%;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}

#profile>div{
	width:60%;
}

#profile>img{
	width:35%;
	order:2;
}

#profile h1{
	margin:0.5em 0 1em;
	font-size:40px;
	font-weight:600;
	line-height:1.3;
}

#profile h1 span{
	display:block;
	font-size:20px;
	font-weight:400;
}

#profile p{
	margin:0 0 1.5em;
	text-align:justify;
	font-size:18px;
	font-weight:400;
	line-height:1.6;
}

@media only screen and (max-width:1000px){
	#profile h1{
		margin:0 0 1em;
	}
}

#home_aboutus_area{
	max-width:1200px;
	margin:0 auto;
	padding:8% 5%;
}

#home_aboutus_area h2{
	margin:0 0 1.5em;
	font-size:35px;
	font-weight:800;
	line-height:1.3;
	color:#000;
}

#home_aboutus_area p{
	margin:0 0 1.5em;
	text-align:justify;
	font-size:18px;
	font-weight:400;
	line-height:1.6;
}

#home_aboutus_area>div{
	display:flex;
	justify-content:space-between;
	margin:0 0 3%;
}

#home_aboutus_area .txt{
	width:65%;
}

#home_aboutus_area .pic{
	width:25%;
}

#home_aboutus_area .pic img{
	width:100%;
	font-size:15px;
	margin:0 0 2em;
}

#home_action_area{
	margin:0 0 5%;
	overflow:hidden;
}

#home_action_area h3{
	margin:0 0 1.5em;
	text-align:center;
	font-size:25px;
	font-weight:700;
	line-height:1.3;
	color:#5bb531;
}

#home_action_area>div{
	display:flex;
	width:max-content;
}

#home_action_area .slide{
	display:flex;
	animation:infinity-scroll 50s linear infinite both;
}

#home_action_area .slide img{
	margin:0 10px 0 0;
	width:auto;
	height:300px;
	vertical-align:bottom;
}

@keyframes infinity-scroll{
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}

@media only screen and (max-width:1400px){
	#home_action_area .slide img{
		height:250px;
	}
}

@media only screen and (max-width:1100px){
	#home_action_area .slide img{
		height:200px;
	}
}

#home_join_area{
	background-color:#a7dff7;
	background-image:url("../img/bg_join_pc.png");
	background-repeat:no-repeat;
	background-size:48%;
	background-position:right -10% bottom;
}

#home_join_area>div{
	max-width:1200px;
	margin:0 auto;
	padding:8% 5%;
}

#home_join_area h2{
	margin:0 0 0.5em;
	font-size:35px;
	font-weight:800;
	line-height:1.3;
	color:#ff7300;
}

#home_join_area h2 span{
	display:block;
	font-size:25px;
}

#home_join_area h3{
	margin:0 0 0.5em;
	font-size:20px;
	font-weight:700;
	line-height:1.3;
	color:#000;
}

#home_join_area h4{
	margin:1em 0 0.2em;
	font-size:19px;
	font-weight:700;
	line-height:1.3;
	color:#000;
}

#home_join_area p{
	margin:0 0 0.5em;
	font-size:20px;
	line-height:1.5;
	color:#000;
}

#home_join_area ul{
	margin:0 0 1em;
	padding:0 0 0 1.5em;
	font-size:20px;
	line-height:1.5;
	color:#000;
}

#home_join_area ul li{
	margin:0 0 0.4em;
}

#home_join_area ul.note{
	margin:0;
	padding:0 0 0 1.5em;
	text-indent:-1.3em;
	font-size:15px;
	list-style-type:none;
}

#home_join_area section{
	max-width:700px;
	margin:5% 0;
}

@media only screen and (max-width:1800px){
	#home_join_area{
		background-size:55%;
		background-position:right -20% bottom;
	}
}

@media only screen and (max-width:1500px){
	#home_join_area{
		background-size:65%;
		background-position:right -50% bottom;
	}
}

@media only screen and (max-width:1100px){
	#home_join_area{
		background-size:75%;
		background-position:right -95% bottom;
	}
	#home_join_area section{
		max-width:460px;
	}
}

#home_cafe_area{
	padding:0 5% 5%;
}

#home_cafe_area>div{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1000px;
	margin:0 auto;
	padding:5%;
	background-color:#d7e78b;
	border-radius:15px;
}

#home_cafe_area>div>div{
	width:73%;
	order:2;
}

#home_cafe_area>div img{
	width:22%;
}

#home_cafe_area h2{
	margin:0 0 0.5em;
	font-size:40px;
	font-weight:700;
	line-height:1.2;
	color:#569c36;
}

#home_cafe_area p{
	margin:0 0 1em;
	font-size:20px;
	line-height:1.4;
}

#home_cafe_area p.em{
	margin:0;
	font-size:25px;
	font-weight:600;
	color:#ff7800;
}

#home_cafe_info{
	background-color:#fff;
	margin:15px auto;
	padding:5%;
	border-radius:20px;
}

#home_cafe_info h3{
	margin:0 0 0.5em;
	font-size:20px;
	font-weight:700;
	line-height:1.3;
	color:#000;
}
#home_cafe_info h3 span{
	display:block;
	font-size:16px;
}

#home_cafe_info h4{
	margin:1em 0 0.2em;
	font-size:19px;
	font-weight:700;
	line-height:1.3;
	color:#000;
}

#home_cafe_info p{
	margin:0 0 1.5em;
	text-align:justify;
	font-size:18px;
	font-weight:400;
	line-height:1.6;
}

#home_cafe_info table{
	border-collapse:collapse;
	margin:0 0 1.5em;
	text-align:justify;
	font-size:16px;
	font-weight:400;
	line-height:1.6;
}

#home_cafe_info table th{
	padding:5px 10px 5px 0;
	vertical-align:top;
	text-align:left;
	white-space:nowrap;
}

#home_cafe_info table td{
	padding:5px 10px 5px 0;
	vertical-align:top;
	text-align:left;
}

@media only screen and (max-width:1023px){
	#home_cafe_area>div>div{
		width:70%;
	}
	
	#home_cafe_area p.em{
		font-size:24px;
	}
	
	#home_cafe_area>div img{
		width:25%;
	}
}
