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

/* =================================================
 header setting
================================================= */
header {
  width: 100%;
  background-color: #1D3359;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  border-bottom: 3px solid #C7B07B;
}

header #header-inner {
  max-width: 1140px;
  width: 94%;
  margin-left: auto;
  margin-right: auto;
  padding: 14px 0;
}

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

header #h-logo {
  width: 70%;
}

header #h-logo a {
  display: block;
}

header #h-logo a h1 {
  width: 100%;
  line-height: 1;
  margin: auto;
}

header #header-right {
  flex: 1;
  padding: 0 50px 0 20px;
}

header #header-right div {
  width: 100%;
}

header #header-right div a {
  display: block;
}

/* =================================================
 hero setting
================================================= */
#hero-wrap {
  background: url(../images/hero_img_sp.jpg) no-repeat center center;
  background-size: cover;
  padding: 70px 0 40px;
  border-bottom: 3px solid #C7B07B;
}

#hero-wrap #hero-inner {
  position: relative;
  z-index: 0;
}

#hero-wrap #hero-inner .inner {
  max-width: 1140px;
  width: 100%;
  margin: auto;
}

#hero-wrap #hero-inner .inner h2 {
  max-width: 94%;
  margin: auto;
}

#hero-wrap #hero-inner ul.flex {
  width: 88%;
  margin: 0 auto;
}

#hero-wrap #hero-inner ul.flex li {
  width: 29.333%;
  margin: 0 auto;
}

#hero-wrap #hero-inner ul.flex li img {
  width: 100%;
  height: auto;
}

/* =================================================
 top setting
================================================= */
.cv {
  background-color: #1D3359;
  color: #C7B07B;
  text-align: center;
}

.cv h2 {
  font-size: 15px;
  font-size: 4.6875vw;
  margin-bottom: .5em;
}

.cv ul.flex {
  margin-top: .5em;
}

.cv ul.flex li {
  margin: 0 5px;
  font-size: 12px;
  font-size: 1.2rem;
}

.cv .tel_btn {
  margin-top: 1.5em;
}

.cv .tel_btn a {
  display: block;
  max-width: 400px;
  width: 80%;
  margin: auto;
}

#concept .blc {
  width: 100%;
  margin-top: 2em;
  margin-right: 3%;
}

#concept .blc:nth-child(3n+3) {
  margin-right: 0;
}

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

#system {
  color: white;
  text-align: center;
}

#system .container {
  width: 100%;
  background-color: #1D3359;
  padding: 6% 5% 5%;
}

#system .ttl {
  margin-bottom: .5em;
}

#system .ttl .gold {
  color: #C7B07B;
}

#system .md-ttl {
  color: #C7B07B;
  letter-spacing: -0.01;
  font-size: 11.5px;
  font-size: 3.59375vw;
}

#system .subsc {
  max-width: 670px;
  width: 90%;
  margin: 2em auto 0;
}

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

#price {
  background-color: #CDF0FC;
}

#price .ttl .white {
  color: #333;
}

#price .inner_box {
  text-align: center;
}

#price .inner_box .md-ttl {
  line-height: 1.6;
}

#price .inner_box .dlbox {
  color: white;
  background-color: #D5EFCF;
  margin-top: 2em;
}

#price .inner_box .dlbox dt {
  font-size: 18px;
  font-size: 5.625vw;
  background-color: #1AB31D;
  padding: 1rem 0;
}

#price .inner_box .dlbox dt span {
  display: block;
  font-size: .65em;
}

#price .inner_box .dlbox dd {
  padding: 1.5rem 1rem;
  color: #333;
}

#price .inner_box .dlbox dd .price {
  font-size: 13px;
  font-size: 4.0625vw;
}

#price .inner_box .dlbox dd .price span {
  font-weight: 700;
}

#price .inner_box .dlbox.skyblue dt {
  background-color: #1170CF;
}

#price .inner_box .dlbox.skyblue dd {
  background-color: white;
}

#price .inner_box .dlbox + p {
  text-align: left;
}

#price .inner_box #option {
  margin: 2.5em auto;
}

#price .inner_box #option .sm-ttl {
  margin-top: 1em;
}

#price .inner_box #option .sm-ttl + p {
  max-width: 600px;
  margin: auto;
}

#price .inner_box #payment .whitebox {
  margin-top: 1em;
  padding: 15px;
  background-color: white;
}

#price .inner_box #payment .whitebox img {
  max-width: 240px;
}

#line {
  background-color: #E1E5E8;
}

#line h2.ttl .green {
  color: #409529;
}

#line .flex .img-wrap {
  margin-bottom: 1em;
}

#promise .text-center {
  text-align: left;
}

#promise .blc {
  margin-top: 2.5em;
}

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

#flow {
  background-color: #E1E5E8;
}

#flow .blc {
  margin-top: 3em;
}

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

#faq .faq-blc {
  padding: 12px 0 20px;
  border-bottom: 1px dashed #ddd;
}

#faq .faq-blc dt {
  font-size: 15px;
  font-size: 4.6875vw;
  font-weight: 700;
  color: #1170CF;
  padding: 2px 0 2px 0;
  position: relative;
}

#faq .faq-blc dt span {
  display: block;
  width: 50px;
  background-color: #F664A5;
  color: white;
  font-size: .75em;
  padding: 1px 0 3px;
  margin-bottom: .25em;
  text-align: center;
}

#faq .faq-blc dd {
  margin: .5em 0 0;
}

#disclaimer {
  padding-bottom: 3em;
}

#disclaimer .inline-box {
  width: 90%;
  height: 250px;
  margin: auto;
  border: 1px solid #ddd;
  padding: 5%;
  overflow-y: scroll;
}

/* =================================================
 floating setting
================================================= */
.floating {
  width: 100%;
  background-color: #EFEFEF;
  position: fixed;
  bottom: 0;
  z-index: 100;
}

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

.floating .flex li a {
  display: block;
  padding: 6px 20px;
  text-align: center;
  border-radius: 10px;
}

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

.floating .flex li:nth-child(odd) {
  background-color: #B7A16F;
}

.floating .flex li:nth-child(even) {
  background-color: #31AF36;
}

/* =================================================
 footer setting
================================================= */
footer {
  padding: 2em 0 85px;
  color: #000;
  text-align: center;
}

footer p {
  margin-bottom: 1em;
}

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