@charset "utf-8";
/* CSS Document */
/* ---reset.css--- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
	background:url("../images/bg.jpg") top center repeat fixed;
	scroll-behavior: smooth;
}
.footer{
	max-width: 1920px;
	margin: 0 auto;
	background: url("../images/bg.jpg");
}



/* PC */
.WRAPPER{ position:relative; width:100%; min-width:1200px; margin:0 auto; overflow:hidden;}
 	@media screen and ( max-width: 991px ){
		.WRAPPER{ min-width:100%;}
		
	}
.container { overflow: hidden; }
.topbox { position: relative; width: 1200px; margin: auto;}
.kv_pc {width: 100%;  position: relative; text-align:center; display: flex;justify-content: center;max-width: 1920px; margin: auto;flex-wrap: wrap-reverse;}
.kv_pc img { display: block; text-align: center; }
.kv_m { display: none; }
.kv_m img { display: block; }
.kv_m a {font-size: 0; display: block; }
.for_pc{ display: block; }
.for_m { display: none; }

/* m */
@media screen and ( max-width: 991px ){
	.kv_m { display: block; width: 100%; }
	.kv_m img {  width: 100%; }
	.kv_pc { display: none; }
	.container {width: 100%; min-width: auto; }
	.for_pc{ display: none; }
	.for_m { display: block; }
	.for_m img {  width: 100%; }
}

/* ----------------------CUSTOMERIZATION---------------------- */



/* -----------------COMMON----------------- */




/* ---------BACKGROUND-------- */



/* -----------BLOCK----------- */



/* ------------FONT----------- */

.titleC{
	position: relative;
	top: 80px;
	margin-top: -30px;
}

.titleC h2{
	font-weight: 800;
}

.bg01 .titleC{
	background: url("../images/h2bg01.png") top center no-repeat;
	padding: 32px 0 42px;
	color: #ff6535;
}

.bg02 .titleC{
	background: url("../images/h2bg02.png") top center no-repeat;
	padding: 32px 0;
	color: #0abea7;
}

.bg03 .titleC{
	background: url("../images/h2bg03.png") top center no-repeat;
	padding: 45px 0 50px;
	color: #ff9422;
	top: 95px;
	margin-top: -80px;
}

.bg04 .titleC{
	background: url("../images/h2bg04.png") top center no-repeat;
	padding: 55px 0 36px;
	color: #ff6535;
	margin-top: -80px;
}

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


	.bg01 .titleC{
		padding: 4vw 0 5vw;
	}

	.bg02 .titleC{
		padding: 5vw 0 4vw;
	}

	.bg03 .titleC{
		padding: 5vw 0 5.5vw;
		top: 10vw;
		margin-top: -3vw;
	}

	.bg04 .titleC{
		padding: 6.5vw 0 4vw;
		margin-top: -8vw;
	}

}

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

	.titleC{
		top: 10vw;
		margin-top: -3vw;
	}

	.bg01 .titleC{
		background-size: 100vw;
		padding: 4vw 0;
	}

	.bg02 .titleC{
		background-size: 100vw;
		padding: 5vw 0 4vw;
	}

	.bg03 .titleC{
		background-size: 100vw;
		padding: 5vw 0 2vw;
		top: 10vw;
		margin-top: -3vw;
	}

	.bg04 .titleC{
		background-size: 100vw;
		padding: 6.5vw 0 3vw;
		margin-top: -8vw;
	}
}


/* -----------------COMMON----------------- */



/* ------------------bg01------------------ */


.bg01box{
	background: url("../images/color-o.jpg") repeat;
	max-width: 1200px;
	border-radius: 200px 200px 20px 20px;
	margin: 0 auto;
	padding: 60px 0 5px;
}

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


/* ------------------bg02------------------ */


.bg02box{
	background: url("../images/color-g.jpg") repeat;
	max-width: 1200px;
	border-radius: 200px 200px 20px 20px;
	margin: 0 auto;
	padding: 60px 0 5px;
}

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

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

/* ------------------bg03------------------ */


.bg03box{
	background: url("../images/color-y.jpg") repeat;
	max-width: 1200px;
	border-radius: 200px 200px 20px 20px;
	margin: 0 auto;
	padding: 105px 0 5px;
}

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

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

/* ------------------bg04------------------ */

.bg04box{
	background: url("../images/color-r.jpg") repeat;
	max-width: 1200px;
	border-radius: 200px 200px 20px 20px;
	margin: 0 auto;
	padding: 60px 0 5px;
}

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

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

	.bg01box, .bg02box, .bg03box, .bg04box{
		border-radius: 20vw 20vw 3vw 3vw;
		padding: 10vw 0 3vw;
	}

}


/* ------------------ 版頭 ------------------ */


.t01{
	position: absolute;
	top: 95px;
	left: 162px;
}

.t02{
	position: absolute;
	top: 165px;
	left: 168px;
}

.t03{
	position: absolute;
	top: 95px;
	left: 258px;
}

.t04{
	position: absolute;
	top: 104px;
	left: 388px;
}

.t05{
	position: absolute;
	top: 80px;
	left: 528px;
}

.t06{
	position: absolute;
	top: 90px;
	right: 302px;
}

.t07{
	position: absolute;
	top: 82px;
	right: 143px;
}

.buble01{
	position: absolute;
	top: 50px;
	left: -306px;
	animation: float 8s ease-in-out 0s infinite alternate;
}

.buble02{
	position: absolute;
	top: 330px;
	left: 245px;
	animation: float 10s ease-in-out 0s infinite alternate;
}

.buble03{
	position: absolute;
	top: 247px;
	right: 163px;
	animation: float 8s ease-in-out 0s infinite alternate;
}

.buble04{
	position: absolute;
	top: 45px;
	right: -340px;
	animation: float 10s ease-in-out 0s infinite alternate;
}

@keyframes float {
	0% { transform: translate(0px ,-14px);}
	20% { transform: translate(-2px ,14px);}
	40% { transform: translate(0px ,-14px);}
	60% { transform: translate(0px ,14px);}
	80% { transform: translate(2px ,-14px);}
	100% { transform: translate(0px ,14px);}
}




/*navigation bar for pc*/
/* Style the navbar */
#navbar {
	/*overflow: hidden;*/
	background: #04612a;
	width:100%;
	height: 60px;
	z-index: 90;
  }
  	@media screen and ( max-width: 991px ) {
		#navbar{ display:none;} 
		.sticky + .content { padding-top:0px !important;}
	}

.nav_content{
	width:1200px;
	margin:0 auto;
}
  
  /* Navbar links */
  #navbar a {
	float: left;
	display: block;
	text-align: center;
	text-decoration: none;
	width: 25%;
	font-size:24px;
	border-right: 1px dotted #f1e5aa;
	/*font-weight: bold;*/
	/* txt */
	color:#f1e5aa;
	height:45px;
	line-height:45px;
	padding-top: 2px;
	margin-top: 6px;
  }

  #navbar ul a:hover {
	background-color: rgba(255, 255, 255, 0);
  }
  
  #navbar :nth-child(4) a {
	  border-right: 0;
  }

  /* #navbar ul div img{
	  display: flex;
  } */
  
  /* Page content */
  .content {
	padding: 0px;
  }
  
  /* The sticky class is added to the navbar with JS when it reaches its scroll position */
  .sticky {
	position: fixed;
	top: 0;
	width: 100%;
  }
  
  /* Add some top padding to the page content to prevent sudden quick movement (as the navigation bar gets a new position at the top of the page (position:fixed and top:0) */
  .sticky + .content {
	padding-top: 78px;
  }
  .nav_content img{ transition:all 0.3s;}
  .nav_content img:hover{ transform:translateY(-5px);}




/* navigation bar for mobile */
menu{display:none;}
	@media screen and ( max-width: 991px ){
		menu{ display:block;}

		menu ul{
			position:fixed;
			bottom:0;
			left:0;
			margin:0;
			width:100%;
			display:flex;
			flex-wrap:wrap;
			list-style: none;
			background: #04612a;
			z-index:990;
			padding:4px 0;
			border-top:none;
		}
		menu ul li{
			border-right:1px dotted #f9f0ee;
			border-top:1px dotted #f9f0ee;
			padding:4px;
			width: 50%;
			box-sizing:border-box;
			text-align:center;
			font-size:13px;
			letter-spacing:1px;
		}


		menu ul li a{
				font-size:12px;
		}

		menu ul li:nth-child(1), menu ul li:nth-child(2){
			border-top:none;
		}
		menu a{
			color:#f9f0ee !important;
			text-decoration:none;
		
		}

	}








/*--goto top--*/
#gotop {display: inline-block;background-color: #000;opacity:0.3;width: 40px;height: 40px;text-align: center;border-radius: 100%;position: fixed;bottom: 0px;right: 0px;transition: background-color .3s, opacity .5s, visibility .5s;opacity: 0;visibility: hidden;z-index: 1000;margin: 30px;}
#gotop::after {font-family: FontAwesome;content:'　';font-weight: normal;font-style: normal;font-size: 2em;line-height: 50px;color: #fff;  opacity:0.5;background: url(../images/top.png) center no-repeat; background-size:50%;background-position:50% 20%;}
#gotop:hover {cursor: pointer;background-color: #666;}
#gotop:active {background-color: #666;}
#gotop.show {opacity: 0.4;visibility: visible;}
	@media screen and ( max-width: 991px ){
	#gotop {bottom: 14vw;right: 0;margin: 2vw;	}
	}