@media screen and (max-width: 767px) {
  img {
    width: 100%;
    height: auto;
  }
  .img-wrap {
    width: 100%;
  }
}

/* =================================================
 header setting
================================================= */
header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

header #header-inner {
  max-width: 1240px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 0;
}

header img {
  width: 100%;
  height: auto;
}

header #h_logo {
  max-width: 160px;
}

header #h_logo a {
  display: block;
}

header #h_logo a img {
  width: 100%;
  margin: auto;
}

header #header-right {
  display: none;
}

/* =================================================
 hero setting
================================================= */
#hero-wrap {
  background: url(../images/hero_image_sp.jpg) no-repeat center center;
  background-size: cover;
  padding-top: 70px;
}

#hero-wrap #hero-inner {
  width: 90%;
  height: 480px;
  margin-left: auto;
  margin-right: auto;
}

#hero-wrap #hero-inner .inner {
  text-align: center;
}

#hero-wrap #hero-inner .inner h2 {
  font-size: 32px;
  font-size: 10vw;
  color: #053F7C;
}

#hero-wrap #hero-inner .inner h2 span {
  background: linear-gradient(transparent 85%, #FFCE00 85%);
}

#hero-wrap #hero-inner .inner .blc-txt {
  margin: 1em 0;
  font-weight: 700;
}

#hero-wrap #hero-inner .inner .blc-txt span {
  display: inline-block;
  font-size: 22px;
  font-size: 6.875vw;
  color: white;
  background-color: rgba(24, 84, 145, 0.7);
  padding: 4px 5% 2px;
}

#hero-wrap #hero-inner .inner ul li {
  width: 18%;
  margin: 0 1%;
}

#hero-page {
  padding: 100px 0 3rem;
  text-align: center;
  border-bottom: 1px solid #ddd;
}

#hero-page h2 {
  font-size: 30px;
  font-size: 9.375vw;
  line-height: 1;
  color: #2772C0;
}

/* =================================================
 top setting
================================================= */
.cv {
  background: url(../images/bg.jpg);
  color: #111;
  padding: 2em 0 .5em;
  text-align: center;
}

.cv .flex div {
  margin: 0 auto 1.5em;
  text-align: center;
}

.cv .flex div a {
  display: block;
}

.cv .flex div.cv_tel {
  font-size: 14px;
  font-size: 4.375vw;
  line-height: 1.2;
}

.cv .flex div.cv_tel span {
  display: block;
  font-size: 34px;
  font-size: 10.625vw;
  font-weight: 500;
}

.cv .flex div.cv_contact {
  max-width: 280px;
  width: 90%;
}

.cv .flex div.cv_contact a {
  display: block;
  padding: 10px 0;
  font-size: 18px;
  font-size: 5.625vw;
  font-weight: 700;
  background-image: url(../images/arw.svg);
  background-repeat: no-repeat;
  background-position: 92% center;
  background-size: 9px auto;
}

#sec01 .blc:nth-of-type(2) {
  margin-top: 3em;
}

#sec02 {
  background-color: #F7F7ED;
}

#sec02 .blc {
  width: 100%;
  margin: 0 auto 3em;
}

#sec02 .blc .img-wrap {
  margin-bottom: 1em;
}

#sec02 .text-center .img-wrap {
  max-width: 566px;
  margin: 0 auto;
}

#sec03 .flex li {
  width: 46%;
  text-align: center;
  margin-bottom: 2em;
}

#sec03 .flex li .img-wrap {
  margin: 0 auto 1em;
}

#sec03 .flex li p {
  font-size: 16px;
  font-size: 5vw;
}

#sec04 .blc {
  width: 100%;
  margin-bottom: 2.5em;
}

#sec04 .blc .img-wrap {
  margin-bottom: 1em;
}

#sec04 .blc ul li {
  font-size: 16px;
  font-size: 5vw;
}

#sec04 .text-center .img-wrap {
  max-width: 448px;
  margin: 0 auto 3em;
}

#sec05 .flex .blc {
  width: 100%;
}

#sec05 .flex .blc dl {
  background-color: #E5F2FF;
  text-align: center;
}

#sec05 .flex .blc dl dt {
  background-color: #2772C0;
  color: white;
  font-size: 18px;
  font-size: 5.625vw;
  font-weight: 500;
  padding: .75rem 0;
}

#sec05 .flex .blc dl dd {
  padding: 2rem 0;
  font-size: 20px;
  font-size: 6.25vw;
  color: #2772C0;
}

#contact {
  margin-top: 4em;
  background-color: #ECEFF4;
}

#contact #form-wrap {
  max-width: 600px;
  margin: auto;
}

#contact .tbl {
  margin: 2em 0;
}

/* =================================================
 thanks setting
================================================= */
#thanks .btn {
  margin: 4em auto 0;
  max-width: 240px;
  text-align: center;
}

#thanks .btn a {
  display: block;
  font-size: 1.2em;
  padding: 10px 0;
}

/* =================================================
 floating setting
================================================= */
.floating {
  display: none;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.75);
  padding: 10px 5px 10px;
  position: fixed;
  bottom: 0;
  z-index: 100;
}

.floating .flex li {
  width: 49%;
}

.floating .flex li:nth-child(odd) {
  margin-right: 2%;
}

.floating .flex li a {
  display: block;
  padding: 9px 18px;
  text-align: center;
  border-radius: 10px;
  background-color: #2772C0;
}

.floating .flex li a img {
  width: 100%;
  height: auto;
}

/* =================================================
 pagetop setting
================================================= */
.pagetop {
  width: 40px;
  position: fixed;
  right: 4%;
  bottom: 12%;
  z-index: 2;
  opacity: 0;
  z-index: 100;
  transition: all .4s;
}

.pagetop._fold {
  opacity: 1;
}

.pagetop a {
  display: block;
  height: 40px;
  line-height: 40px;
}

/* =================================================
 footer setting
================================================= */
footer {
  padding: 3em 0 70px;
}

footer .text-center {
  font-size: 1.15em;
}

footer .text-center a {
  color: #2772C0;
  text-decoration: underline;
}

footer #copyright {
  padding: 15px 0;
  text-align: center;
}

/*# sourceMappingURL=sourcemaps/sp.css.map */
