@charset "UTF-8";

/* header
-------------------------------------------------- */
header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 20;
		width: 100%;
		padding:0;
		transition: .5s;
	}

.is-animation {
		background: rgba(255, 255, 255, 1);
		box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.2);
		-webkit-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.2);
		-moz-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.2);
		box-sizing: border-box;
		padding:0 ;
	}


@media only screen and  (max-width: 800px) {
header {
		box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.2);
		-webkit-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.2);
		-moz-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.2);
		height: 50px;
		box-sizing: border-box;
		background: #018652;
}

.is-animation {
	background: #018652;
	height: 50px;
	}
}

@media screen and (max-width: 568px) {
header {
top:26px;
}
}

/* header #logo */

header #logo{
	display:none;
}

.is-animation #logo{
	width:122px;
	height:36px;
	display:block;
	top:10px;
	left:10px;
	z-index: 20;
	position: absolute;
	background-image:none;
	background-size:auto 36px;
	background-repeat: no-repeat;
	transition: .3s;
	background-image: url(../images/common/logo.png);
}

header:hover #logo{
	width:122px;
	height:36px;
	display:block;
	top:10px;
	left:10px;
	z-index: 20;
	position: absolute;
	background-image:none;
	background-size:auto 36px;
	background-repeat: no-repeat;
	transition: .3s;
	background-image: url(../images/common/logo.png);
}

header #logo a{
	width:122px;
	height:36px;
	text-decoration:none;
	display: block;
	text-indent:-9999px;
	}

@media only screen and  (max-width: 800px) {
header #logo{
	width:122px;
	height:36px;
	display:block;
	top:7px;
	left:50%;
	z-index: 20;
	position: absolute;
	background-image:none;
	background-size:auto 36px;
	background-repeat: no-repeat;
	transition: .3s;
	background-image: url(../images/common/logo.png);
	margin-left:-67px;
}

.is-animation #logo{
	top:7px;
	left:50%;
	margin-left:-67px;
}

header:hover #logo{
	top:7px;
	left:50%;
	margin-left:-67px;
}
}

@media only screen and  (max-width: 568px) {
header #logo{
	left:10px;
	margin-left:0px;
}

.is-animation #logo{
	left:10px;
	margin-left:0px;
}

header:hover #logo{
	left:10px;
	margin-left:0px;
}
}

/*gnav
-------------------------------------------------- */
.gnav-wrapper {
  position: relative;
  font-family: 'Noto Sans Japanese', sans-serif;
  line-height: 1;
  width:100%;
  float:left;
  margin-top:25px;
  transition: .5s;
}

.is-animation .gnav-wrapper{
  background: #018652;
  margin-top:0;
  transition: .5s;
}

header:hover .gnav-wrapper{
  background: #018652;
  margin-top:0;
  transition: .5s;
}

@media only screen and  (max-width: 800px) {
.gnav-wrapper {
  display:none;
}
}

.fixed {
  position: fixed;
  top: 0;
  z-index: 1000;
  -moz-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
}

.gnav {
 text-align: center;
}

.main-wrapper {
  width:75%;
  float:right;
  margin: 0 4% 0 0;
}

@media only screen and  (max-width: 1280px) {
.main-wrapper {
  width:83.5%;
  margin: 0 0.5% 0 0;
}
}

.main-wrapper2 {
  width:100%;
  max-width: 1200px;
  margin: 0 auto;
}

@media only screen and  (max-width: 1280px) {
.main-wrapper2 {
  box-sizing: border-box;
  padding:0 100px;
}
}

.main-wrapper .gmv {
  box-sizing: border-box;
  float:left;
  line-height:1.2;
  width:12.5%;
  margin:0;
  font-size:15px;
  height: 56px;
  overflow: hidden;
}

@media only screen and  (max-width: 1280px) {
.main-wrapper .gmv {
  font-size:14px;
}
}

.main-wrapper .gmv span{
  font-family: 'Roboto', sans-serif;
  font-size:0.7em;
  font-weight:400;
  text-transform: uppercase;
  color: #FFF;
}


.main-wrapper .gmv a{
	display:block;
	width:100%;
	padding: 10px 0;
	box-sizing: border-box;
	color:#FFF;
	text-decoration: none;
	vertical-align: middle;
	text-shadow:1px 1px 1px #000;
}

.main-wrapper .gmv a span{
  color: #FFF;
  text-shadow:1px 1px 1px #000;
}

.main-wrapper .gmv a:hover {
	text-decoration: none;
	color: #FFF;
	background-color:#0FACA3;
}

.main-wrapper .gmv a:hover span{
  color: #FFF;
}

/* .megamenu
-------------------------------------------------- */
.gnav li:hover {
  background-color:#0FACA3;
}

.gnav > li:hover .megamenu {
  max-height: 9999px;
  opacity: 1;
  padding: 1% 0;
}

.megamenu li:hover {
  background-color:#ECFDF4!important;
}

.gnav li:hover span {
  color: #FFF;
}

.megamenu {
  background: rgba(236, 253, 244, 1);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  width: 100%;
  position: absolute;
  top: 56px;
  left: 0;
  transition: all .2s ease-in;
  z-index: 999;
}

.megamenu-inner {
  text-align: center;
}

.megamenu-inner li {
  width:25%;
  display:inline-block;
  padding: 10px 2%;
  box-sizing: border-box;
  transition: all .3s ease-in-out;
}

@media only screen and  (max-width: 1280px) {
.megamenu-inner li {
  width:33.3333%;
}
}

.megamenu-inner a {
  border-left: none;
  text-shadow:none!important;
}

.megamenu-inner a:hover {
	text-decoration: none;
	color: #FFF;
	background:none!important;
}

.megamenu-inner img {
  max-width: 100%;
  vertical-align: bottom;
  border: none;
  outline: none;
  -webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;
}

.megamenu-inner li a:hover { opacity: 0.7;}


.megamenu-inner-img {
  margin: 0 0 10px;
}

.megamenu-inner-text p {
  font-size:16px;
  text-align: center;
  font-family: 'Noto Sans Japanese', sans-serif;
  font-weight:400;
  color:#237849;
}

@media only screen and  (max-width: 1280px) {
.megamenu-inner-text p {
  font-size:15px;
}
}

a:hover .megamenu-inner-text p { text-decoration: underline!important; }

/* sp_head
--------------------------------------------------*/
.sp_head {display:none; }

@media only screen and  (max-width: 800px) {
.sp_head {
	display:block;
	position:absolute;
	top: 0;
	right: 0;
	width: 182px;
	padding:0 0;
	height: 50px;
	overflow:hidden;
}

@media only screen and  (max-width: 568px) {
.sp_head {
	width: 167px;
}
}

.sp_head .sp_nav{
	width:100%;
	padding: 0;
	margin:0 auto;
	position: relative;
}

.sp_head ul{
	width:100%;
	height: 50px;
	overflow:hidden;
	display:block;
	padding: 0;
	margin:0 auto;
}

.sp_head li{
	text-align: center;
	width:60px;
	padding: 0 0 0;
	text-align: center;
	margin:0 1px 0 0;
	box-sizing: border-box;
	display:inline-block;
	height: 50px;
	position: relative;
	overflow: hidden;
}

@media only screen and  (max-width: 568px) {
.sp_head li{
	width:55px;
}
}

.sp_head li:hover {
  background: #0FACA3;
}

.sp_head li:hover a {
  color: #FFF;
  text-decoration: none;
}

.sp_head a {
  color: #FFF;
  display:block;
  text-decoration: none;
}

.sp_head li img{
	width:auto;
	height:18px;
	margin:8px auto 6px;
}

.sp_head li p{
	font-size:11px;
	margin:0;
	padding:0;
	width:100%;
	line-height:1;
}