
/* Global ----------------------------------------------------------------- */
html {
	font-size: 90%;
	width: 100%;
	height: 100%;
	line-height: 1.7em;
}

body {
  min-width: auto;
  color: rgba(34,34,34,1.00);
  /* font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
  font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  -webkit-text-size-adjust: 100%;
  /* Support for all WebKit browsers.
  -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale; */
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  font-feature-settings: 'liga';
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,1.00);
}




.img-blur {
  -webkit-animation-name: imageBlur;
  animation-name: imageBlur;
  opacity: 1;
}


#top-mainvisual img {
  opacity: 0;
	-webkit-animation-duration: 3s;
  animation-duration: 3s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}
.img-blur-top {
  -webkit-animation-name: imageBlurTop;
  animation-name: imageBlurTop;
	-ms-animation-name: imageBlurTop;
}


.main-zoom {
  opacity: 0;
	-webkit-animation-duration: 2s;
  animation-duration: 2s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}
.main-zoomup {
  -webkit-animation-name: MainZoomup;
  animation-name: MainZoomup;
}


@-webkit-keyframes imageBlur {
  0% {
    opacity: 0;
		transform: scale(0.5,0.5);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}
@keyframes imageBlur {
  0% {
    opacity: 0;
		transform: scale(0.5,0.5);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}


@-webkit-keyframes imageBlurTop {
  0% {
    opacity: 0;
		transform: scale(0.99,0.99);
  }
  100% {
    opacity: 1;
		transform: scale(1.03,1.03);
  }
}
@keyframes imageBlurTop {
  0% {
    opacity: 0;
		transform: scale(0.99,0.99);
  }
  100% {
    opacity: 1;
		transform: scale(1.03,1.03);
  }
}


@-webkit-keyframes MainZoomup {
  0% {
    opacity: 0;
		transform: scale(0.98,0.98);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}
@keyframes MainZoomup {
  0% {
    opacity: 0;
		transform: scale(0.98,0.98);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}






a:link,
a:visited {
	color: rgba(45,80,160,1.0);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
	color: rgba(0,0,0,1.0);
}



.sp-on {
	display: inline-block;
}
.pc-on {
	display: none;
}
.sp-br {
	display: inline-block;
}
.pc-br {
	display: none;
}





.s-text {
	font-size: 70%;
	line-height: 1.7em;
}

@media print, screen and (min-width: 768px) {
.sp-br {
	display: none;
}
.pc-br {
	display: inline-block;
}

}

@media print, screen and (min-width: 1024px) {
.sp-on {
	display: none;
}
.pc-on {
	display: inline-block;
}

}

@media print, screen and (min-width: 1200px) {

}

@media print, screen and (min-width: 1400px) {
}






/* Layout ----------------------------------------------------------------- */
#bottonblock {
  display: none;
}

.attention-box {
  padding: 12px;
  color: rgba(230,0,0,1.00);
  border: 1px solid rgba(255,0,0,1.00);
  background-color: rgba(255,242,242,1.00);
  margin: 0px 0px 1.5em;
}

.line-box {
  padding: 12px;
  border: 1px solid rgba(68,146,129,1.00);
  background-color: rgba(245,245,245,1.00);
}


@media print, screen and (min-width: 768px) {

.attention-box {
  padding: 18px;
  margin: 0px 0px 1.8em;
}
.line-box {
   padding: 18px;
}


}


@media print, screen and (min-width: 1024px) {

}


@media print, screen and (min-width: 1200px) {

}


@media print, screen and (min-width: 1400px) {

}














/* Header ----------------------------------------------------------------- */
header {
  line-height: 1.0em;
  z-index: 901;
  position: relative;
  background: rgba(255,255,255,1.0);
  text-align: left;
  border-bottom: 1px solid rgba(68,146,129,1.00);
}
header .header-inner {
padding: 8px 15px 12px;
}
header h3 img {
  height: auto;
  max-width: 800px;
  width: 100%;
  display: block;
  margin: 0px auto;
}



@media print, screen and (min-width: 768px) {
header .header-inner {
padding: 14px 25px 24px;
}
header h3 img {
  width: 80%;
}


}



@media print, screen and (min-width: 1024px) {
header .header-inner {
  padding: 18px 0px 28px;
}

}



@media print, screen and (min-width: 1200px) {


}



@media print, screen and (min-width: 1400px) {

}












/* Footer ----------------------------------------------------------------- */
#footer-global {
  box-sizing: border-box;
  padding: 20px 15px;
  background-color: rgba(68,146,129,1.00);
  text-align: center;
  font-size: 11px;
  line-height: 1.5em;
  color: rgba(255,255,255,1.00);
}



@media print, screen and (min-width: 768px) {
#footer-global {
	padding: 30px 15px;
	font-size: 12px;
	line-height: 1.5em;
}



}






@media print, screen and (min-width: 1024px) {
#footer-global {
	padding: 35px 15px;
	font-size: 12px;
	line-height: 1.5em;
}


}

@media print, screen and (min-width: 1200px) {
#footer-global {
	padding: 40px 15px;
	font-size: 12px;
	line-height: 1.5em;
}


}



@media print, screen and (min-width: 1400px) {

}

