@charset "UTF-8";

/* INTERFACE */

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

body>header h1,
body>header>a{
	display:block;
	margin:0;
	padding:20px 0 0;
	line-height:1;
}

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

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

#address{
	padding:10% 5%;
}

#address .txt{
	margin:0 0 2em;
}

#address .txt a{
	display:table;
	margin:0 auto;
	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:5vw;
	font-weight:700;
	line-height:1.2;
	color:#fff;
}

#address .txt address{
	font-style:normal;
	font-size:4vw;
	color:#fff;
}

#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:4vw;
	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:60% 0 0;
	position:relative;
}

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

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


/* HOME */

#home_key_area{
	position:relative;
}

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

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

.bounce{
	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;
}
}
@media only screen and (max-width:700px){
	#home_key_area .bounce_sp{
		top:28%;
	}
}

@media only screen and (max-width:500px){
	#home_key_area .bounce_sp{
		top:26%;
	}
}

#home_concept_area{
	margin:0 auto;
	padding:50% 5% 132%;
	background-image:url("../img/bg_concept_top.jpg"),url("../img/bg_concept_bottom.jpg");
	background-repeat:no-repeat;
	background-size:100%,80%;
	background-position:center top,right bottom;
	position:relative;
}

#home_concept_area>img{
	width:60%;
	vertical-align:bottom;
	position:absolute;
	top:-5%;
	right:5%;
}

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

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

#home_concept_area p.sign{
	font-size:4vw;
	font-weight:700;
}

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

#home_member_area a.btn_more{
	display:table;
	margin:0 auto;
}

#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:-4px;
}

#members h2{
	margin:1em 2% 2em;
	font-size:6.6vw;
	font-weight:800;
	line-height:1.3;
	color:#000;
}

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

#members h3{
	margin:0.5em 0 0;
	font-size:4.8vw;
	font-weight:600;
	line-height:1.2;
}

#members h3 span{
	display:block;
	font-size:3.5vw;
	font-weight:400;
}

#members{
	padding:0 3%;
}

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

#members section{
	width:50%;
	margin:0 auto;
	padding:4% 2%;
	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;
}

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

#profile{
	padding:10% 5% 10%;
	text-align:center;
}

#profile>img{
	width:80%;
	vertical-align:bottom;
}

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

#profile h1 span{
	display:block;
	font-size:4vw;
	font-weight:400;
}

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




#home_aboutus_area{
	padding:15% 5%;
}

#home_aboutus_area a.btn_more{
	display:table;
	margin:0 auto;
}

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

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

#home_aboutus_area>div{
	margin:0 0 10%;
}

#home_aboutus_area .txt{
	margin:0 0 10%;
}

#home_aboutus_area .pic{
	max-width:250px;
	margin:0 auto;
}

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

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

#home_action_area h3{
	margin:0 0 1.5em;
	text-align:center;
	font-size:5.5vw;
	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 30s linear infinite both;
}

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

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

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

#home_join_area{
	background-color:#a7dff7;
}

#home_join_area a.btn_more{
	display:table;
	margin:0 auto;
}

#home_join_area>div{
	padding:10% 5% 150%;
	background-image:url("../img/bg_join.png");
	background-repeat:no-repeat;
	background-size:100%;
	background-position:right bottom;
}

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

#home_join_area h2 span{
	display:block;
	font-size:5vw;
}

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

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

#home_join_area p{
	margin:0 0 1em;
	font-size:4vw;
	line-height:1.5;
	color:#000;
}

#home_join_area p b{
	font-size:5vw;
}

#home_join_area ul{
	margin:0 0 1em;
	padding:0 0 0 1.5em;
	font-size:4vw;
	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:3.5vw;
	list-style-type:none;
}

#home_join_area section{
	margin:10% 0;
}

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

#home_cafe_area>div{
	padding:10% 5% 0;
	background-color:#d7e78b;
	border-radius:15px;
	text-align:center;
}

#home_cafe_area>div>div{
	margin:0 0 2em;
}

#home_cafe_area>div img{
	width:50%;
	vertical-align:bottom;
}

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

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

#home_cafe_area p.em{
	margin:0;
	font-size:4.5vw;
	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;
}