.main_img {
  background-image: url(../img/top_img-01.png);
  background-size: cover;
  background-position: center center;
  width: 100%;
  min-width: 1280px;
  height: 100vh;
  display: block;
  position: relative;
}
@media (max-width: 768px) {
  .main_img {
    min-width: 1px;
  }
}
.main_img .main_msg {
  position: absolute;
  color: #fff;
  text-align: right;
  right: 100px;
  bottom: 100px;
}
@media (max-width: 768px) {
  .main_img .main_msg {
    right: 6.6666666667vw;
    bottom: 40vh;
  }
}
.main_img .main_msg .p01 {
  font-size: 60px;
  font-weight: 900;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .main_img .main_msg .p01 {
    font-size: 9.3333333333vw;
  }
}
.main_img .main_msg .p01 span {
  color: #FF0000;
}
.main_img .main_msg .p02 {
  font-size: 25px;
  margin-top: 0.5em;
}
@media (max-width: 768px) {
  .main_img .main_msg .p02 {
    font-size: 4.2666666667vw;
  }
}
.main_img.sub_page {
  height: 400px;
}
@media (max-width: 768px) {
  .main_img.sub_page {
    height: 66.6666666667vw;
  }
}
.main_img.sub_page .main_msg {
  left: 100px;
  right: auto;
  text-align: left;
}
@media (max-width: 768px) {
  .main_img.sub_page .main_msg {
    right: auto;
    left: 10.6666666667vw;
    bottom: 17.3333333333vw;
  }
}

.circles {
  position: relative;
  z-index: -1;
}
.circles div {
  background: #DFEDE6;
  border-radius: 100em;
}
.circles .circle_l {
  width: 100px;
  height: 100px;
}
@media (max-width: 768px) {
  .circles .circle_l {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
}
.circles .circle_m {
  width: 70px;
  height: 70px;
}
@media (max-width: 768px) {
  .circles .circle_m {
    width: 9.3333333333vw;
    height: 9.3333333333vw;
  }
}
.circles .circle_s {
  width: 40px;
  height: 40px;
}
@media (max-width: 768px) {
  .circles .circle_s {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.circles.to_bottom {
  margin-top: -30px;
  margin-bottom: 100px;
}
@media (max-width: 768px) {
  .circles.to_bottom {
    margin-top: -4vw;
    margin-bottom: 13.3333333333vw;
  }
}
.circles.to_bottom div {
  margin: 0 auto 50px;
}
@media (max-width: 768px) {
  .circles.to_bottom div {
    margin-bottom: 6.6666666667vw;
  }
}
.circles.to_bottom .circle_s {
  margin-bottom: 0;
}
.circles.to_top {
  margin-top: 100px;
  margin-bottom: 100px;
}
@media (max-width: 768px) {
  .circles.to_top {
    margin-top: 13.3333333333vw;
    margin-bottom: 13.3333333333vw;
  }
}
.circles.to_top div {
  margin: 50px auto 0;
}
@media (max-width: 768px) {
  .circles.to_top div {
    margin-top: 6.6666666667vw;
  }
}
.circles.to_top .circle_s {
  margin-top: 0;
}
.circles.to_right {
  margin-right: -30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 768px) {
  .circles.to_right {
    margin-top: -4vw;
  }
}
.circles.to_right div {
  margin-left: 30px;
}
@media (max-width: 768px) {
  .circles.to_right div {
    margin-left: 4vw;
  }
}
.circles.to_right .circle_s {
  margin-bottom: 0;
}
.circles.to_left {
  margin-left: -30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 768px) {
  .circles.to_left {
    margin-top: -4vw;
  }
}
.circles.to_left div {
  margin-right: 30px;
}
@media (max-width: 768px) {
  .circles.to_left div {
    margin-right: 4vw;
  }
}
.circles.to_left .circle_s {
  margin-bottom: 0;
}

h2 {
  color: #000;
  font-size: 20px;
  font-weight: 500;
}
@media (max-width: 768px) {
  h2 {
    font-size: 4vw;
  }
}
h2 p {
  font-size: 80px;
  margin-top: -0.1em;
  font-weight: 900;
  line-height: 1.2;
}
@media (max-width: 768px) {
  h2 p {
    font-size: 10.6666666667vw;
  }
}
h2 p span {
  color: #FF0000;
}

.large_text {
  color: #000;
  font-size: 38px;
  margin-top: 40px;
  font-weight: 500;
}
@media (max-width: 768px) {
  .large_text {
    font-size: 4.6666666667vw;
    margin-top: 8vw;
  }
}

.normal_text {
  font-size: 15px;
  margin-top: 50px;
  line-height: 2;
}
@media (max-width: 768px) {
  .normal_text {
    font-size: 3.3333333333vw;
    margin-top: 10vw;
    text-align: left;
  }
}

.img_l {
  margin: 0 auto;
  margin-top: 60px;
  width: 800px;
}
@media (max-width: 768px) {
  .img_l {
    margin-top: 10vw;
    width: 90.6666666667vw;
  }
}

.cont_area {
  width: 1200px;
  margin: 0 auto;
  padding: 0 50px;
  position: relative;
}
@media (max-width: 768px) {
  .cont_area {
    width: 100%;
    padding: 0 4vw;
    margin-top: 8vw;
  }
}
.cont_area h2 {
  margin-top: 200px;
}
@media (max-width: 768px) {
  .cont_area h2 {
    margin-top: 26.6666666667vw;
  }
}

.right_img_box {
  position: absolute;
  right: 50px;
  top: 50%;
  margin-top: -150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 768px) {
  .right_img_box {
    position: relative;
    right: 0;
    left: 14.6666666667vw;
    top: 0;
    margin-top: 0;
  }
}
.right_img_box .img_s {
  width: 300px;
}
@media (max-width: 768px) {
  .right_img_box .img_s {
    width: 40vw;
  }
}

.left_img_box {
  position: absolute;
  left: 50px;
  top: 50%;
  margin-top: -150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 768px) {
  .left_img_box {
    position: relative;
    left: 0;
    top: 0;
    margin-top: 0;
  }
}
.left_img_box .img_s {
  width: 300px;
}
@media (max-width: 768px) {
  .left_img_box .img_s {
    width: 40vw;
  }
}

.gaiyo {
  font-size: 16px;
  margin-top: 100px;
  border-collapse: collapse;
}
@media (max-width: 768px) {
  .gaiyo {
    font-size: 2.9333333333vw;
    margin-top: 13.3333333333vw;
  }
}
.gaiyo th, .gaiyo td {
  padding: 1em 1em;
  vertical-align: top;
  border-top: rgb(214, 214, 214) solid 0.99px;
}
.gaiyo th.top, .gaiyo td.top {
  border-top: none;
}
.gaiyo th {
  min-width: 7em;
}

.enkaku {
  font-size: 16px;
  margin-top: 100px;
  border-collapse: collapse;
  margin-left: 1.5em;
}
@media (max-width: 768px) {
  .enkaku {
    font-size: 2.9333333333vw;
    margin-top: 13.3333333333vw;
  }
}
.enkaku th, .enkaku td {
  padding: 2em 1em;
  vertical-align: top;
}
.enkaku th.top, .enkaku td.top {
  border-top: none;
}
.enkaku th {
  color: #498E6B;
  border-left: rgb(214, 214, 214) solid 2.99px;
  padding: 2em 0;
  position: relative;
}
.enkaku th p {
  position: absolute;
  left: -0.6em;
}

.setsubi {
  font-size: 16px;
  margin-top: 30px;
  border-collapse: collapse;
  width: 100%;
  border-top: rgb(214, 214, 214) solid 0.99px;
  border-left: rgb(214, 214, 214) solid 0.99px;
}
@media (max-width: 768px) {
  .setsubi {
    font-size: 2.9333333333vw;
    margin-top: 4vw;
  }
}
.setsubi:nth-child(1) {
  margin-top: 100px;
}
@media (max-width: 768px) {
  .setsubi:nth-child(1) {
    margin-top: 13.3333333333vw;
  }
}
.setsubi th, .setsubi td {
  padding: 1em 1em;
  vertical-align: top;
  border-bottom: rgb(214, 214, 214) solid 0.99px;
  border-right: rgb(214, 214, 214) solid 0.99px;
}
@media (max-width: 768px) {
  .setsubi th, .setsubi td {
    padding: 1em 0.5em;
  }
}
.setsubi th {
  background: #666666;
  color: #fff;
}
.setsubi .cell-1 {
  width: 11em;
  text-align: center;
}
@media (max-width: 768px) {
  .setsubi .cell-1 {
    width: 7.5em;
    text-align: left;
  }
}
.setsubi .cell-3 {
  width: 9em;
  text-align: center;
}
@media (max-width: 768px) {
  .setsubi .cell-3 {
    width: 8em;
    vertical-align: middle;
  }
}
.setsubi .cell-4 {
  width: 4.5em;
  text-align: center;
}
@media (max-width: 768px) {
  .setsubi .cell-4 {
    width: 3.5em;
    vertical-align: middle;
  }
}

.btn {
  display: inline-block;
  width: 200px;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  font-weight: 700;
  padding: 0.5em 0;
  outline: none;
  color: #498E6B;
  background-color: #fff;
  position: relative;
  border: 1px solid #498E6B;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  margin-top: 70px;
}
@media (max-width: 768px) {
  .btn {
    margin-top: 14vw;
    border-width: 0.99px;
    font-size: 3.3333333333vw;
    width: 33.3333333333vw;
  }
}
.btn p {
  position: relative;
}
.btn:hover {
  color: #fff;
  opacity: 1;
}
.btn:hover::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left;
          transform-origin: left;
}
.btn::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #498E6B;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  border-color: #498E6B;
}
.btn.center {
  margin-left: auto;
  margin-right: auto;
}

footer {
  margin-top: 200px;
  background: #000;
  color: #fff;
  font-weight: 300;
  padding-bottom: 30px;
}
@media (max-width: 768px) {
  footer {
    margin-top: 26.6666666667vw;
    padding-bottom: 4vw;
  }
}
footer .footer_inner {
  margin: 0 auto;
  padding: 50px 0;
  width: 1100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
}
@media (max-width: 768px) {
  footer .footer_inner {
    padding: 6.6666666667vw 0;
    width: 88vw;
    font-size: 3.2vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
footer .cont_l h3 {
  width: 200px;
}
footer .cont_l .p01 {
  margin-top: 1em;
}
footer .cont_l .p02 {
  margin-top: 2em;
}
footer .cont_l a {
  text-decoration: underline;
}
footer .cont_l .p03 {
  margin-top: 0.3em;
}
footer .cont_l .p04 {
  margin-top: 2em;
}
footer .cont_l .p05 {
  margin-top: 0.3em;
}
@media (max-width: 768px) {
  footer .cont_r {
    display: none;
  }
}
footer .cont_r a {
  margin-left: 3em;
  text-decoration: underline;
}
footer .copy {
  text-align: center;
}/*# sourceMappingURL=layout_top.css.map */