@charset "UTF-8";
@media print {
  a[href]:after {
    content: "" !important;
  }
  abbr[title]:after {
    content: "" !important;
  }
}
html,body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 28px;
  color: #333;
  margin: 0 auto;

}
a,a:visited {
  color: #333;
  text-decoration: none;
  transition: all 0.3s ease;
}
a:hover {
  text-decoration: underline;
  color:#333;
}
ul {
  list-style: none;
  margin:0;
  padding:0;}
h1,h2,h3,h4,h5 {
  margin:0;
  font-weight: bold;
  line-height: unset;}
.flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;}
figure {margin-bottom: 0}
p,.txt {text-align:justify;word-break:break-all;}
img {max-width:100%;height:auto;}
@media (min-width: 1200px){
  .container {width: 1024px;}
}
.btn {border-radius: 0;}

#gotop-btn {
  position: fixed;
  bottom: 30px;
  right: 20px;
  z-index: 999;
  background: transparent;
  text-align: center;
  display: none;
}
#gotop-btn a,#gotop-btn a:visited {
  display: flex;
  width: 64px;
  height: 64px;
  background: #C29525;
  color:#fff;
  border:1px solid #C29525;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
}
#gotop-btn a svg {
  width: 20px;
  height: auto;
}
#gotop-btn a:hover {
  color:#000;
}
#fixed-chat {
  position: fixed;
  bottom: 35px;
  right: 35px;
  z-index: 1999;
  background: transparent;
  text-align: center;
}
#fixed-chat a {
  display: block;
}
header,footer,main {
  overflow: hidden;
}

header {
  position: absolute;
  top:0;
  left: 0;
}
header .navbar {
}
.h-thepage {
  position: unset;
  top:auto;
  left: auto;
}
.h-thepage:before {
  content:"";
  position: absolute;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100%;
  background-image: url(../img/common/header-bg-and-logo@2x.png);

  width: 100%;
  height: 10vw;
  z-index: 20;
}

main {
  /**/
  min-height: 500px;
}
.b-thepage {
  background-color:#17B3ED;
}
.b-thepage .thepage:before {
  content:"";
  position: absolute;
  left: 0;
  top:10vw;
  height: 100%;
  width: 100%;
  background-size: cover;
  background-image: url(../img/index/content-02/bg-fish-and-wave-pc.svg);
  background-position: center top;
  background-repeat: repeat-y;
}
.thepage .sec .container {
  background-color: #fff;
}

.sec.bnn .container {
  padding-top: 100px;
  padding-bottom: 180px;
}

/* footer  */
.b-thepage footer {
  margin-top: -100px;
}
footer .wave {
  position: relative;
  height: 150px;
}
footer .wave:after {
  content:"";
  position: absolute;
  bottom:-2px;
  width: 100%;
  background-position: bottom;
  background-repeat: repeat-x;
  background-size: 100%;
  background-image: url(../img/common/footer-bg.svg);
  height: 150px;
}
footer .f-inner {
  position: relative;
  background-color: #007CCF;
}
.f-cont {
  color:#FEE601;
  padding:60px 0;
  text-align: center;
}
.f-cont .n {
  font-size: 18px;
  margin-bottom: 15px;
}
.f-cont .addr {
  font-size: 14px;
  line-height: 24px;
}

@media (max-width:1799px) {
  footer .wave {
    height: 120px;
  }
}

@media (max-width:1499px) {
  footer .wave {
    height: 100px;
  }
}
@media (max-width:1199px) {
  #fixed-chat {
    right: 26px;
  }
  #fixed-chat img {
    max-width: 190px;
  }

  .sec.bnn .container {
    padding-bottom: 140px;
  }
}
@media (max-width:992px) {
  #fixed-chat {
    right: 10px;
    bottom: 20px;
  }
  #fixed-chat img {
    max-width: 160px;
  }
  footer .wave,
  footer .wave:after {
    height: 75px;
  }
}
@media (max-width:767px) {

  .h-thepage:before {
    background-image: url(../img/common/header-bg-and-logo-sp@2x.png);
    height: 26vw;
  }
  .b-thepage .thepage:before {
    content:none;
  }
  .thepage .sec {
    padding-left: 12px;
    padding-right: 12px;
  }

  .sec.bnn {
    padding-top: 40px;
  }
  .thepage .sec.bnn {
    padding-top: 0;
  }

  .sec.bnn>.container {
    width: 90%;
    margin:auto;
    padding-top: 0;
    padding-bottom: 0;
  }
  .sec.bnn .row .col-12 {
    margin-bottom: 14px;
  }
  .thepage .sec.bnn>.container {
    width: auto;
    padding-top: 110px;
    padding-bottom: 140px;
    margin-top: -5px;
  }

  #fixed-chat {
    left: 0;
    right: 0;
    margin:auto;
  }
  #fixed-chat img {
    max-width: none;
    width: 80%;
  }

  footer .wave,
  footer .wave:after {
    height: 30px;
  }
  .f-cont {
    padding:20px 0 170px;
  }
  .f-cont .n {
    margin-bottom: 2px;
  }

}