@charset "UTF-8";

/* ========== RESET（最小限） ========== */
*{ box-sizing:border-box; margin:0; padding:0; }
img{ border:0; vertical-align:bottom; }
ul{ list-style:none; }

/* ========== BASE ========== */
html{ scroll-behavior:smooth; }
body{
  font:16px/1.8 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,
       'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
  -webkit-text-size-adjust:100%;
  overflow-x:hidden;
  color:#000;
  background:#fff;
}
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:underline; }

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

img{
  width:100%;
  height:auto;
  display:block;
}

/* ========== ANIMATION ========== */
.zoom-in02{ animation: zoomin02 .5s .6s both; }
@keyframes zoomin02{
  0%{ opacity:0; transform:scale(4); }
  100%{ opacity:1; transform:scale(1); }
}
.zoom-in03{ animation: zoomin03 .5s .9s both; }
@keyframes zoomin03{
  0%{ opacity:0; transform:scale(4); }
  100%{ opacity:1; transform:scale(1); }
}

a.anker-link{
  display:block;
  animation: bigSmall .3s infinite alternate;
}
@keyframes bigSmall{
  0%{ transform:scale(.92); }
  100%{ transform:scale(1); }
}

/* ========== HEADER ========== */
#header .header-inner{
  position:relative;
  margin:auto;
  overflow:hidden;
}
#header img.hero-bg{ width:100%; }

#header img.header-catch03{
  position:absolute;
  top:11%;
  left:28%;
  width:72%;
}
#header img.header-catch04{
  position:absolute;
  top:29%;
  left:8%;
  width:96%;
}

/* ========== VOICE ========== */
section#voice{
  position:relative;
  text-align:center;
  background:#eef8f5;
  margin-top:-10px;
}
.voice-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:90%;
  margin:auto;
}
.voice-inner img{ margin-bottom:40px; }

.cv-btn{
  width:100%;
  height:auto;
}

/* ========== FOOTER ========== */
#footer{
  background:#006350;
  padding:24px 0;
  text-align:center;
}
#copyright{
  color:#fff;
  font-weight:700;
}

@media (min-width: 992px){
  .d-sp{ display:none; }
  .d-pc{ display:inline-block; }

  img{
    width:auto;
  }

  #header{
    text-align:center;
    max-width:1800px;
    margin:auto;
  }
  #header img.header-catch03{
    top:12%;
    left:36%;
    width:44%;
  }
  #header img.header-catch04{
    top:29.2%;
    left:27%;
    width:52%;
  }

  .voice-inner{
    width:auto;
  }
  .voice-inner img{
    margin-bottom:0;
  }

  .cv-btn{
    width:auto;
  }
}

@media (min-width: 992px){
  .anker-link{
    text-align: initial;
  }

  .anker-link img.cv-btn{
    display: block;
    margin: 0 auto;
  }
}