@font-face {
  font-family: YakuHanJP;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/YakuHanJP/YakuHanJP-Light.woff") format("woff2"), url("../fonts/YakuHanJP/YakuHanJP-Light.woff") format("woff")
}
@font-face {
  font-family: YakuHanJP;
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/YakuHanJP/YakuHanJP-Regular.woff") format("woff2"), url("../fonts/YakuHanJP/YakuHanJP-Regular.woff") format("woff")
}
@font-face {
  font-family: YakuHanJP;
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/YakuHanJP/YakuHanJP-Medium.woff") format("woff2"), url("../fonts/YakuHanJP/YakuHanJP-Medium.woff") format("woff")
}
* {
  -webkit-backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box
}
*, html {
  margin: 0;
  padding: 0
}
html {
  scroll-behavior: smooth;
  font-size: 62.5%;
		touch-action: manipulation;
}
body {
  font-family: YakuHanJP, Noto Sans JP, sans-serif;
  padding: 0;
  margin: 0;
  -webkit-text-size-adjust: 100%;
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
}
* html body {
  overflow: hidden
}
body #wrapper, p {
  padding: 0;
  margin: 0
}
li, ul {
  padding: 0;
  margin: 0;
  list-style-type: none
}
img {
  vertical-align: top;
  border-style: none
}
fieldset, form {
  padding: 0;
  margin: 0;
  border: 0
}
a {
  outline: 0;
  text-decoration: none
}
a img {
  border-style: none
}
a:active, a:hover, a:link, a:visited {
  text-decoration: none
}
*, :after, :before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box
}
 a:hover {
/*    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
    zoom: 1;*/
  }
h1, h2, h3, h4, h5, h6 {
  padding: 0;
  margin: 0;
  font-weight: 400
}
strong {
  font-weight: 700
}
:focus {
  outline: 0
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden
}
.clearfix {
  min-height: 1px
}
html .clearfix {
  height: 1px
}
.main a:link {
  text-decoration: underline
}
.main a:hover {
  text-decoration: none
}
img, img[src$=".svg"] {
  width: 100%;
  height: auto
}
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/contents/bg.png)center center #000;
  z-index: 400;
}
.loader {
  width: 40px;
  height: 40px;
  border: 2px solid #fff;
  border-radius: 50%;
  border-top-color: transparent;
  border-left-color: transparent;
  animation: a .75s infinite linear
}
.loader, .loading:before {
  margin: -20px 0 0 -20px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%
}
.loading:before {
  content: "";
  width: 36px;
  height: 36px;
  border: 2px solid hsla(0, 0%, 100%, 0);
  border-radius: 50%
}
@keyframes a {
  0% {
    transform: rotate(0)
  }
  to {
    transform: rotate(360deg)
  }
}
.inviewfadeInUp {
  opacity: 0;
  transform: translate(0, 60px);
  -webkit-transform: translate(0, 60px);
  transition: .8s
}
.fadeInUp {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0)
}
.inviewfadeInUp02 {
  opacity: 0;
  transform: translate(0, 60px);
  -webkit-transform: translate(0, 60px);
  transition: .8s
}

/*-----------------------------------------------------------------------*/


/*-----------------------------------------------------------------------*/

#page-top {
  position: fixed;
  right: 15px;
  bottom: 20px;
  z-index: 1
}
#page-top img {
  width: 25px;
  height: auto
}
.container {
  color: #3d3a3a
}
.grobalInner {
  max-width: 1120px;
}
@media only screen and (min-width: 813px) {
  #page-top {
    width: 40px;
    right: 25px;
    bottom: 30px;
  }
}