body{
  font-family:"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","游ゴシック","游ゴシック体",'ヒラギノ角ゴシック','Hiragino Sans', 'Noto Sans Japanese',sans-serif;
}
p{
  font-size: 18px;
  line-height: 45px;
}
header{
  height: 80px;
  width: 100%;
  position: fixed;
  top: 0;
  background-color:#fff;
  z-index: 200;
}

.block{
  display: block;
}
.none1{
  display:none;
}
.none{
  display: none;
}
.w-90{
  width: 90%;
  margin: 0 auto;
}
.header-logo{
  width: auto;
  height: auto;
  float: left;
}
.header-logo img{
  width: 180px;
  height: auto;
  margin-top: 15px;
  margin-left: 0px;
}
.header-pc-menu{
  float:right;
  margin-top: 30px;
}
.header-pc-menu a{
  margin-left: 45px;
  color: #222;
  font-weight: bold;
  font-size: 15px;
  text-decoration: none;
}
.header-pc-menu a:hover{
  color: #489CB8;
}
.header-menu{
  width: 36px;
  height: 60px;
  float: right;
  cursor: pointer;
}
.header-menu-bar,
.header-menu-bar:after,
.header-menu-bar:before{
  position: absolute;
  top: 26px;
  background-color:rgba(0,0,0,0.8);
  width: 36px;
  height: 4px;
  display: block;
  border-radius: 4px;
}
.header-menu-bar:before{
  content: "";
  top: 26px;
}
.header-menu-bar:after{
  content: "";
  top:13px;
}
.active.header-menu-bar{
  background-color: rgba(0, 0, 0, 0);
}
.active.header-menu-bar:before{
  transform: rotate(45deg);
  background-color: rgba(0, 0, 0, 0.8);
  top: 15px;
}
.active.header-menu-bar:after{
  transform: rotate(135deg);
  background-color: rgba(0, 0, 0, 0.8);
  top: 15px;
}
.click{
  display: none;
}
.click a{
  color: #444;
  font-weight: bold;
}
.click.active{
  position: fixed;
  background-color: #f3f9fa;
  z-index: 100;
  height: 100%;
  color: #000;
  list-style: none;
  padding-top: 20px;
  display: block;
  width: 100%;
  margin-top: 80px;
}
.click-content{
  width: 75%;
  margin: 20px auto;
}
.click-content a{
  float: left;
  font-size: 24px;
  clear: left;
  font-weight: bold;
  color: #000;
  text-decoration: none;
  margin-bottom: 20px;
  margin-top: 20px;
}
.click-content span{
  font-size: 12px;
  margin-left: 30px;
  font-weight: normal;
}
.click-button a{
  font-size: 12px;
  text-align: center;
  border: solid #489CB8 2px;
  float:none;
  border-radius: 55px;
  padding: 16px 20px;
  clear: both;
  display: block;
}
.click-button img{
  width: 15px;
  height: 15px;
  margin-left: 8px;
}
main{
  margin-top: 80px;
  width: 100%;
  height: auto;
  overflow: hidden;
}
main a{
  color: #444;
}
.top-svg{
  width: 100%;
  height: auto;
}
.loader {
  align-items: center;
  background: #fff;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 999;
  }
  .loader img{
    animation-duration: 1s;
    animation-name: moving;
    margin-top: 0px;
    width: 80px;
    height: auto;
  }
@keyframes moving{
  0% {
    transform: rotate(-20deg);
  }
  25% {
    transform: rotate(15deg);
  }
  50% {
    transform: rotate(-10deg);
  }
  75% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
main{
  transition: 0.75s;
  background-color: white;
}
main.green-color{
  background-color: #C3E2D3;
}
main.white-color{
  background-color: #fff;
}
.top-svg img{
  width: 110%;
  height: auto;
  /*float: left;*/
  transform-origin: center center;
}
.top-aboutus{
  padding: 80px 0;
  height: auto;
  width: 100%;
  position: relative;
  margin-bottom: 0px;
}
.top-aboutus p{
  position: relative;
  z-index: 100;
}
.top-aboutus h2{
  position: relative;
  z-index: 100;
}
.arrow-svg{
  position: relative;
  z-index: 100;
}
.wrap{
  display: flex;
  align-items: center;
　overflow: hidden;
  height: 350px;
  transform: rotate(-13deg);
}
.wrap2,.wrap3{
  margin: 380px 0 140px 0;
  position: relative;
}
.wrap-service{
  transform: rotate(13deg);
  margin: 0px 0 80px 0;
}
.wrap1{
  height: 0;
}
.aboutus-border1{
  display: flex;
  animation: nagareru  30s  linear infinite 1s both;
  z-index: 10;
}
.aboutus-border2{
  display: flex;
  animation: nagareru2  30s  linear infinite 1s both;
  z-index: 10;
}
.aboutus-border1 img,.aboutus-border2 img{
  margin-left: 100px;
}
@keyframes nagareru {
  0%{
    transform: translateX(0) ;
  }
  100%{
    transform: translateX(-100%) ;
  }
}
@keyframes nagareru2 {
  0%{
    transform: translateX(-100%) ;
  }
  100%{
    transform: translateX(0%) ;
  }
}

.about-us-svg img{
  width: 90%;
  height: auto;
  display: block;
  margin: 0 auto;
  margin-bottom: 100px;
}
.top-1 img{
  padding-top: 80px;
}
.top-aboutus h2{
  font-size: 40px;
  margin-bottom: 50px;
}
.top-aboutus-content{
  text-align: left;
  width: auto;
  height: auto;
  display: block;
  margin-left: 24%;
}
.top-service{
  margin-bottom: 300px;
  padding: 80px 0;
}
.top-company{
  position: relative;
}
.fade-in-company{
  position: absolute;
  top: 400px;
  left: 0;
}
.service-svg img{
  width: 70%;
  height: auto;
  display: block;
  float: right;
  margin-right: 6%;
  margin-bottom: 100px;
}
.top-service-content{
  clear:both;
  display: block;
  position: relative;
  text-align: right;
  margin-bottom: 120px;
  width: 80%;
}
footer{
  height: 170px;
  width: 100%;
  background-color: #adb5bd;
  color: #fff;
}
footer a{
  color: #fff;
  text-decoration: none;
}
footer .footer-logo{
  width: 160px;
  height: auto;
  margin-bottom: 10px;
  padding-top: 30px;
  width: 90%;
  margin: 0 auto;
}
.footer-logo img{
  width: 180px;
  height: auto;
  margin-bottom: 10px;
  padding-top: 0px;
  padding-left: 0px;
}
.privacy-button a{
  width: 200px;
  height: auto;
  display:block;
  margin: 0 auto;
}
.privacy-button p{
  font-size: 18px;
}
.fade-in-about,.fade-in-service,.fade-in-company{
  opacity: 0;
  transition: 2s;
  padding-top: 40px;
}
.fade-in-about.show-fade-in,.fade-in-service.show-fade-in,.fade-in-company.show-fade-in{
  opacity: 1;
  padding-top: 0;
}
.top-svg{
  position: relative;
  height: 1400px;
}
.layer1,.layer2{
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 992px){
  .top-aboutus-content{
    margin-left: 15%;
  }
  .top-svg{
    position: relative;
    height: 1200px;
  }
  .wrap2,.wrap3{
    margin: 80px 0 70px 0;
    position: relative;
  }
  .fade-in-company{
    position: absolute;
    top: 200px;
    left: 0;
  }
  .header-pc-menu a{
    margin-left: 45px;
    color: #222;
    font-weight: bold;
    font-size: 14px;
    text-decoration: none;
  }
}
@media screen and (max-width: 768px){
  .top-svg{
    position: relative;
    height: 1100px;
  }
  .header-logo{
    width: 240px;
    height: auto;
    float: left;
  }
  .header-menu-bar,
  .header-menu-bar:after,
  .header-menu-bar:before{
    position: absolute;
    top: 25px;
  }
  .header-menu-bar:before{
    content: "";
    top: 26px;
  }
  .header-menu-bar:after{
    content: "";
    top:13px;
  }
  .header-menu{
    float: right;
  }
  .block{
    display: none;
  }
  .none{
    display: block;
  }
  header{
    height: 80px;
    width: 100%;
  }
  .about-us-svg img{
    margin-bottom: 80px;
  }
  .aboutus-border1 img{
    height: 200px;
  }
  .aboutus-border2 img{
    height: 200px;
  }
  .wrap{
    display: flex;
    align-items: center;
  　overflow: hidden;
    height: 220px;
    transform: rotate(-13deg);
  }
  .wrap2,.wrap3{
    margin: 280px 0 60px 0;
    position: relative;
  }
  .wrap-service{
    transform: rotate(13deg);
    margin: 0px 0 100px 0;
  }
  .wrap1{
    height: 0;
  }
  .top-aboutus-content{
    text-align: left;
    margin-left: 7%;
    display: block;
    position: relative;
  }
  .fade-in-company{
    position: absolute;
    top: 260px;
    left: 0;
  }
  .top-service{
    margin-bottom: 100px;
    padding: 0px 0;
  }
  .top-aboutus h2{
    font-size: 30px;
    margin-bottom: 30px;
  }
  .top-service-content{
    height: 400px;
      margin-bottom: 0px;
  }
  .service-svg img{
    width: 70%;
    height: auto;
    display: block;
    margin-bottom: 80px;
    float: none;
    text-align: left;
    margin-left: 8%;
  }
   .top-service p,.top-service h3,.top-service .arrow-svg img{
    text-align: left;
    float: left;
    margin-left: 10%;
    clear: left;
  }
  .top-aboutus p,.top-service p{
    font-size: 16px;
  }
  .footer-svg{
    margin-bottom: 20px;
    margin-left: 5%;
    padding-left: 0px;
  }
  footer{
    height: 300px;
    width: 100%;
    background-color: #adb5bd;
    color: #000;
  }
  .top-company{
    position: relative;
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 588px){
  .top-svg{
    position: relative;
    height: 850px;
  }
  .fade-in-company{
    position: absolute;
    top: 290px;
    left: 0;
  }
}
@media screen and (max-width: 450px){
  .aboutus-border1 img{
    height: 160px;
  }
  .aboutus-border2 img{
    height: 160px;
  }

  .top-company{
    position: relative;
    margin-bottom: 300px;
  }
  .top-svg{
    position: relative;
    height: 600px;
  }
  .none1{
    display: block;
  }
  .service-svg img,.about-us-svg img{
    margin-bottom: 60px;
  }
  .top-aboutus p,.top-service p{
    font-size: 13px;
    line-height: 40px;
  }
  .top-aboutus h2{
    font-size: 26px;
    line-height: 35px;
    margin-bottom: 15px;
  }
  .top-aboutus-content{
    margin-bottom: 30px;
  }
  .top-service-content{
    height: 300px;
    margin-bottom: 0px;
  }

  .top-1 img{
    padding-top: 60px;
  }
  .top-service{
    padding: 0px 0 50px 0;
    margin: 0px 0 60px 0;
  }
  .fade-in-company{
    position: absolute;
    top: 320px;
    left: 0;
  }
  .wrap2,.wrap3{
    margin: 100px 0 0px 0;
    position: relative;
  }
  .wrap-service{
    transform: rotate(13deg);
    margin: 0px 0 70px 0;
  }
}
