@charset "UTF-8";

html {
  font-size: 62.5%;
}



@font-face {
	font-family: 'AmericanaStd';
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/AmericanaStd.eot");
	src: url("../fonts/AmericanaStd.eot?#iefix") format("embedded-opentype"), url("../fonts/AmericanaStd.ttf") format("truetype"), url("../fonts/AmericanaStd.woff") format("woff")
  }
  


._AmericanaStd{
  font-family: 'AmericanaStd', sans-serif;
}

._SourceHanSans{
  font-family: "source-han-sans-japanese", sans-serif;
font-weight: 400;
font-style: normal;
} 


._SourceHanSans-bold{
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 700;
  font-style: normal;
} 




body {
	margin: 0;
	padding:0;
	font-weight:400;
  font-family: "source-han-sans-japanese", sans-serif;
  -webkit-text-size-adjust: none;
  font-feature-settings: "palt";
  font-variant-ligatures: none;
  overflow-wrap: break-word;
  letter-spacing: 0.1em;
  font-size:14px;
  line-height:150%;
	text-align: center;
  color:#34492A;
  background-color:#F2F1E8;  
}


img{
	vertical-align: top;
	-ms-interpolation-mode:bicubic;   /* IE 7+ */
 image-rendering: optimizeQuality; /* Fx, (Gecko 1.9.2) */
  max-width: 100%;
  height: auto;
	width /****/:auto;  /*IE8�̂ݓK�p*/
}


img[src*=".svg"] {
	width: 100%; 
  }



  @media (max-width: 800px) {

	
	
	}
	
	
	sup,
	sub{ font-size: 72%;}
	sup{ vertical-align: super;}
	sub{ vertical-align: baseline;}
	
	.em,
	em,
	strong{ font-weight: bold;}
	
	.txt-left  { text-align: left;}
	.txt-center{ text-align: center;}
	.txt-right { text-align: right;}
	
	
	rt{
		ruby-position:right;
	}
	
	
	/* float
	-----------------------------------------------------------------*/
	.tleft { text-align:left!important;}
	.right{ float: right;}
	.clear{ float: none; clear: both;}
	
	
	/* display
	-----------------------------------------------------------------*/
	
	
	/* adjuster
	-----------------------------------------------------------------*/
	.mt0{ margin-top: 0 !important;}
	.mb0{ margin-bottom: 20px !important;}
	.pt0{ padding-top: 0 !important;}
	.pb0{ padding-bottom: 0 !important;}
	
	
	
	/*----------------------------------------------------------------------
		Parts .list リスト
	----------------------------------------------------------------------*/
	
	/* .list-disc 黒丸
	-----------------------------------------------------------------*/
	.list-disc{
		padding-left: 1.5em;
	}
	.list-disc li{
		list-style-type: disc;
	}
	
	
	/* .list-decimal ナンバー付きリスト
	-----------------------------------------------------------------*/
	.list-decimal{
		padding-left: 1.5em;
	}
	.list-decimal li{
		list-style-type: decimal;
	}
	
	
	/* .list-decimal ナンバー付きリスト
	-----------------------------------------------------------------*/
	/*
	.list-arw[num]{}
	.list-link[num]{}
	.list-num[num]{}
	.list-[unique]{}
	.list-type[num]{}
	*/
	
	/* LINK
	================================================== */
	
	a[href^="tel:"] { cursor: default; }
	
	a{
		color:#34492A;	
		}
		
		a:hover{
		color:#273E29;
		text-decoration:none;
		}
		
		
		a img{opacity:1;
		filter: alpha(opacity=100);        /* ie lt 8 */
		-ms-filter: "alpha(opacity=100)";  /* ie 8 */
		-moz-opacity:1;                 /* FF lt 1.5, Netscape */
		-khtml-opacity: 1;              /* Safari 1.x */
		zoom:1;}
		
		a:hover img{
			filter: brightness(0.8);
	}
		
		
		
	.swiper-slide a img{opacity:1;
		filter: alpha(opacity=100);        /* ie lt 8 */
		-ms-filter: "alpha(opacity=100)";  /* ie 8 */
		-moz-opacity:1;                 /* FF lt 1.5, Netscape */
		-khtml-opacity: 1;              /* Safari 1.x */
		zoom:1;}
		
	.swiper-slide a:hover img{
			filter: brightness(1);
	}
		
	
		
		
		a {
			 -webkit-transition: all .1s ease;
			-moz-transition: all .1s ease;
			-ms-transition: all .1s ease;
			-o-transition: all .1s ease;
			transition: all .1s ease;
		}
	
		a { outline: none; }
		
		*:focus {
		  outline: none!important;
		}
	
	
	
	/* iframe
	================================================== */
	
	.youtube {
		position: relative;
		height: 0;
		padding: 0 0 56.25%;
		overflow: hidden;
		}
		
		.youtube iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100% !important;
		height: 100% !important;
		}


		

/* ROUND
================================================== */

.roundimg1{  
	border-radius: 5px;        /* CSS3草案 */  
		-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
		-moz-border-radius: 5px;   /* Firefox用 */  
}  




/* HEADER
-------------------------------------------------------------------------------*/

.header {
  position: absolute;
  top: 0;
  width: 100%;
  height:90%;
  z-index:100;
}



h1{
  width:150px;
  margin:50px 0 0 50px;
  padding:0;
  text-align:left;
  position: relative;
  z-index:10;
  -webkit-filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, 0.8)); /* SafariなどのWebkitブラウザ用 */
filter: drop-shadow(0px 5px 15px rgba(0, 0, 0, 0.8)); 
}


.url-font{
  position: absolute;
  left:50px;
  bottom:70px;
  font-size: 1.3em;
  color:#F2F1ED;
}




/* other - nav */

nav {
  position: absolute;
  top:50px;
  right:50px;
  font-size: 1.2em;
  padding:0px;
  margin: 0;
}

nav a {
  color: #F2F1ED;
  text-decoration: none;
}

.mainnav{
	margin:0;
	padding:0;
}

nav .mainnav li {
margin:0 0 10px 0;
padding:0;
}




h2{
 display:none;
}


ul.sns-icon{
  position: absolute;
  bottom:60px;
  right:50px;
  display: flex;
    justify-content: center;
}

ul.sns-icon li{
  width:auto;
  padding:0 5%;
}

ul.sns-icon li.first{
  width:auto;
  padding-right:10px;
  border-right:1px solid #F2F1E8;
}



ul.sns-icon li img{
  width:25px;
}



@media screen and (max-width: 800px) {



	.header {
		position: absolute;
		top: 0;
		width: 100%;
		height:90%;
		z-index:100;
	  }
	  
	  
	  
	  h1{
		width:120px;
		margin:30px 0 0 25px;
		padding:0;
		text-align:left;
		position: relative;
		z-index:10;
	  }
	  
	  
	  .url-font{
		position: absolute;
		left:25px;
		bottom:35px;
		font-size: 1.2em;
		color:#F2F1ED;
	  }
	  
	  
	  
	  
	  /* other - nav */
	  
	  nav {
		position: absolute;
		top:30px;
		right:25px;
		font-size: 1.1em;
		padding:0px;
		margin: 0;
	  }
	  
	  nav a {
		color: #F2F1ED;
		text-decoration: none;
	  }
	  
	  .mainnav{
		  margin:0;
		  padding:0;
	  }
	  
	  nav .mainnav li {
	  margin:0 0 10px 0;
	  padding:0;
	  }
	  
	  
	  
	  
	  h2{
	   display:none;
	  }
	  
	  
	  ul.sns-icon{
		position: absolute;
		bottom:20px;
		right:25px;
		display: flex;
		  justify-content: center;
	  }
	  
	  ul.sns-icon li{
		width:auto;
		padding:0 5%;
	  }
	  
	  ul.sns-icon li.first{
		width:auto;
		padding-right:10px;
		border-right:1px solid #F2F1E8;
	  }
	  
	  
	  
	  ul.sns-icon li img{
		width:25px;
	  }



}


/* Button
-------------------------------------------------------------------------------*/

.btn,
a.btn,
button.btn {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 0.7rem 2rem 0.3rem 2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #F2F1ED;
  border-radius: 0.5rem;
}

a.btn--red.btn--cubic {
background-color:#D85520;
  border-bottom: 5px solid #BC4819;
}

a.btn--red.btn--cubic:hover {
  margin-top: 3px;
  border-bottom: 2px solid #BC4819;
}

a.btn--radius {
  border-radius: 100vh;
}


@media screen and (max-width: 800px) {


}


/* PAGES
================================================== */

.ftcontents{
	width:100%;
	height:auto;
	margin:0;
	padding:120px 0;
	overflow:hidden;
	color:#F2F1ED;
	background-color:#273E29;
}


.waveline1{
	content:"";
	display:block;
	background: url(/images/concept_wave_top-pc.svg) no-repeat center center;
	background-size: cover;
	overflow: hidden;
	height: 0;
	/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
	padding-top:69px;
	margin:-55px 0 0 0;
	position: relative;
	z-index:10;
}


.waveline2{
	content:"";
	display:block;
	background: url(/images/activity_wave_top-pc.svg) no-repeat center center;
	background-size: cover;
	overflow: hidden;
	height: 0;
	/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
	padding-top:69px;
	margin:-55px 0 0 0;
	position: relative;
	z-index:20;
}



.sdcontents{
	width:100%;
	height:auto;
	margin:0;
	padding:100px 0;
	overflow:hidden;
}


.trcontents{
	width:100%;
	height:auto;
	margin:0;
	padding:120px 0;
	overflow:hidden;
  background: url(/images/overview_bgimages.jpg) no-repeat center center;
  background-size: cover;
}






@media screen and (max-width: 800px) {
	

	.ftcontents{
		width:100%;
		height:auto;
		margin:0;
		padding:70px 0;
		overflow:hidden;
		color:#F2F1ED;
		background-color:#273E29;
	}
	
	
	.waveline1{
		content:"";
		display:block;
		background: url(/images/concept_wave_top-pc.svg) no-repeat center center;
		background-size: cover;
		overflow: hidden;
		height: 0;
		/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
		padding-top:69px;
		margin:-55px 0 0 0;
		position: relative;
		z-index:10;
	}
	
	
	.waveline2{
		content:"";
		display:none;
		background: url(/images/activity_wave_top-pc.svg) no-repeat center center;
		background-size: contain;
		overflow: hidden;
		height: 0;
		/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
		padding-top:69px;
		margin:-55px 0 0 0;
		position: relative;
		z-index:20;
	}
	
	
	
	.sdcontents{
		width:100%;
		height:auto;
		margin:0 0 -30px 0;
		padding:60px 0 0 0;
		overflow:hidden;
	}
	
	
	.trcontents{
		width:auto;
		height:auto;
		margin:0;
		padding:70px 0;
		overflow:hidden;
	  background: url(/images/overview_bgimages.jpg) no-repeat center center;
	  background-size: cover;
	}

	


}


/* COMMON WRAPPER
================================================== */


.container{
	max-width:1000px;
		min-width:290px;
		height:auto;
		margin:0 auto;
		padding:0 50px;
		text-align:center;
	  overflow:hidden;
	}
	
	.container-wide{
		max-width:2200px;
			min-width:290px;
			height:auto;
			margin:0 auto;
			padding:0 150px;
			text-align:center;
		  overflow:hidden;
		}
		


@media screen and (max-width: 800px) {

	.container{
		max-width:1000px;
			min-width:290px;
			height:auto;
			margin:0 auto;
			padding:0 20px;
			text-align:center;
		  overflow:hidden;
		}

		.container-wide{
			max-width:2200px;
				min-width:290px;
				height:auto;
				margin:0 auto;
				padding:0 20px;
				text-align:center;
			  overflow:hidden;
			}
		
}




/* FOOTER
-------------------------------------------------------------------------------*/

footer{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:120px 0 60px 0;
	overflow:hidden;
  background: url(/images/contact_bgimages.jpg) no-repeat center center;
  background-size: cover;
}


.contact_ttl{
	padding:0;
	font-size:2.3em;
	line-height:140%;
	font-family: "source-han-serif-jp-subset", sans-serif;
	font-weight: 400;
	font-style: normal;
	}

.contact-button{
	margin:6% auto;
	text-align:center;
	padding:0;
}


.contact-box{
	width:60%;
	height:auto;
	text-align:center;
	margin:0 auto;
	padding:5% 0;
	background-color:#F2F1E8;
	position: relative;
}


.contact-box::before {
	content: '';/*何も入れない*/
  display: inline-block;
  width: 150px;/*画像の幅*/
  height:150px;/*画像の高さ*/
  background: url(../images/contact_images1.png)no-repeat;
  background-size: contain;
  mix-blend-mode: multiply;
  vertical-align: middle;
  position: absolute;
  top:100px;
  left:-100px;
}

.contact-box::after {
	content: '';/*何も入れない*/
  display: inline-block;
  width: 150px;/*画像の幅*/
  height:150px;/*画像の高さ*/
  background: url(../images/contact_images2.png)no-repeat;
  background-size: contain;
  mix-blend-mode: multiply;
  vertical-align: middle;
  position: absolute;
  top:40px;
  right:-100px;
}




.copyright-txt{color:#F2F1E8;margin:3% 0;}






@media (max-width: 800px) {


	footer{
		width:100%;
		height:auto;
		margin:100px auto 0 auto;
		padding:80px 0 40px 0;
		overflow:hidden;
	  background: url(/images/contact_bgimages.jpg) no-repeat center center;
	  background-size: cover;
	}
	
	
	.contact_ttl{
		padding:0;
		font-size:1.8em;
		line-height:140%;
		font-family: "source-han-serif-jp-subset", sans-serif;
		font-weight: 400;
		font-style: normal;
		}
	
	.contact-button{
		margin:6% auto;
		text-align:center;
		padding:0;
	}
	
	
	.contact-box{
		width:90%;
		height:auto;
		text-align:center;
		margin:0 auto;
		padding:10% 0;
		background-color:#F2F1E8;
		position: relative;
	}
	
	
	.contact-box::before {
		content: '';/*何も入れない*/
	  display: inline-block;
	  width: 150px;/*画像の幅*/
	  height:150px;/*画像の高さ*/
	  background: url(../images/contact_images1.png)no-repeat;
	  background-size: contain;
	  vertical-align: middle;
	  position: absolute;
	  top:100px;
	  left:-100px;
	}
	
	.contact-box::after {
		content: '';/*何も入れない*/
	  display: inline-block;
	  width: 80px;/*画像の幅*/
	  height:80px;/*画像の高さ*/
	  background: url(../images/contact_images2.png)no-repeat;
	  background-size: contain;
	  vertical-align: middle;
	  position: absolute;
	  top:-40px;
	  right:0px;
	}
	
	
	
	
	.copyright-txt{color:#F2F1E8;margin:10% 0;}
	
	

	


}





.fadein{
	-webkit-transition: all 1s linear;
	-o-transition: all 1s linear;
	transition: all 1s linear;
	opacity: 0;
  }
  .fadein.active{
	opacity: 1;
  }

  

