html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, button {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  font-feature-settings: "palt" 1;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 140%;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: separate;
  border-spacing: 0;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}

blockquote, q {
  quotes: "" "";
}

a img {
  border: 0;
}

img {
  height: auto;
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
  position: relative;
}

.hidden {
  display: none;
}

@media (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}

@media (min-width: 768px) {
  .anker:hover {
    background: rgba(255, 255, 255, 0.2);
  }
}

header {
  height: 14.6666666667vw;
}
@media (min-width: 768px) {
  header {
    height: 100px;
  }
}
header .l-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header .l-inner .p-header__logo {
  padding: 2.4vw;
}
@media (min-width: 768px) {
  header .l-inner .p-header__logo {
    padding: 18px;
  }
}
header .l-inner .p-header__logo img {
  width: 20.5333333333vw;
  height: auto;
}
@media (min-width: 768px) {
  header .l-inner .p-header__logo img {
    width: 137px;
  }
}

@media (min-width: 768px) {
  main .inner {
    width: 1200px;
    margin: 0 auto;
    text-align: center;
  }
}
main .fv {
  border-top: 0.9333333333vw solid #288cd0;
}
@media (min-width: 768px) {
  main .fv {
    border-width: 11px;
    text-align: center;
    background-color: #81d2ff;
  }
}
main .btn_area {
  padding: 0.6666666667vw 0;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 768px) {
  main .btn_area {
    padding: 40px 0;
  }
}
main .btn_area .btn_copy {
  cursor: pointer;
  width: 48vw;
  margin: 0 auto;
}
@media (min-width: 768px) {
  main .btn_area .btn_copy {
    width: 455px;
  }
  main .btn_area .btn_copy:hover {
    opacity: 0.8;
  }
}
main .btn_area .btn {
  width: 88.5333333333vw;
  margin: 0 auto;
  transform: translateY(1.3333333333vw);
}
@media (min-width: 768px) {
  main .btn_area .btn {
    width: 825px;
    transform: translateY(5px);
  }
}
main .btn_area .btn_txt {
  width: 58.6666666667vw;
  margin: 0 auto;
}
@media (min-width: 768px) {
  main .btn_area .btn_txt {
    width: 582px;
  }
}
main .cnt01 {
  padding: 6.6666666667vw 3.3333333333vw 3.3333333333vw;
  background: url(../images/cnt01_bg_sp.png) no-repeat center center/cover;
}
@media (min-width: 768px) {
  main .cnt01 {
    padding: 50px 20px;
    background: url(../images/cnt01_bg_pc.png) no-repeat center center/cover;
  }
}
main .cnt01 .cnt01-img01 {
  width: 93.8666666667vw;
  margin: 0 auto 5.3333333333vw;
}
@media (min-width: 768px) {
  main .cnt01 .cnt01-img01 {
    width: 982px;
    margin: 0 auto 60px;
  }
}
main .cnt01 .cnt01-img02 {
  width: 90.1333333333vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt01 .cnt01-img02 {
    width: 1116px;
    margin: 0 auto 40px;
  }
}
main .cnt01 .cnt01-img03 {
  width: 95.8666666667vw;
  margin: 0 auto 0.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt01 .cnt01-img03 {
    width: 885px;
    margin: 0 auto;
  }
}
main .cnt01 .cnt01-img04 {
  width: 91.7333333333vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt01 .cnt01-img04 {
    width: 1152px;
    margin: 0 auto 20px;
  }
}
main .cnt01 .cnt01-img05 {
  width: 94.6666666667vw;
  margin: 0 auto;
}
@media (min-width: 768px) {
  main .cnt01 .cnt01-img05 {
    width: 805px;
  }
}
main .cnt02 {
  padding: 6.6666666667vw 3.3333333333vw;
  background: #e9fcff;
}
@media (min-width: 768px) {
  main .cnt02 {
    padding: 50px 20px;
  }
}
main .cnt02 .cnt02-img01 {
  width: 85.4666666667vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt02 .cnt02-img01 {
    width: 1134px;
    margin: 0 auto 35px;
  }
}
main .cnt02 .cnt02-img02 {
  width: 32.4vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt02 .cnt02-img02 {
    width: 225px;
    margin: 0 auto 20px;
  }
}
main .cnt02 .tab-box {
  width: 94.4vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt02 .tab-box {
    width: 1126px;
  }
}
main .cnt02 .cnt02-img05 {
  width: 50vw;
  margin: 0 auto;
}
@media (min-width: 768px) {
  main .cnt02 .cnt02-img05 {
    width: 525px;
  }
}
main .cnt03 {
  padding: 6.6666666667vw 3.3333333333vw;
  background: #cdf3ff;
}
@media (min-width: 768px) {
  main .cnt03 {
    padding: 50px 20px;
  }
}
main .cnt03 .cnt03-img01 {
  width: 38.8vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt03 .cnt03-img01 {
    width: 263px;
    margin: 0 auto 30px;
  }
}
main .cnt03 .tab-box {
  width: 94.4vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt03 .tab-box {
    width: 1125px;
  }
}
main .cnt03 .cnt03-img04 {
  position: relative;
  width: 92.8vw;
  margin: 0 auto;
}
@media (min-width: 768px) {
  main .cnt03 .cnt03-img04 {
    width: 1112px;
  }
}
main .cnt03 .cnt03-img04 .anker01 {
  position: absolute;
  top: 68%;
  left: 27%;
  width: 20vw;
  height: 4.8vw;
}
@media (min-width: 768px) {
  main .cnt03 .cnt03-img04 .anker01 {
    top: 372px;
    left: 294px;
    width: 137px;
    height: 32px;
  }
}
main .cnt03 .cnt03-img04 .anker02 {
  position: absolute;
  top: 68%;
  left: 51%;
  width: 25.3333333333vw;
  height: 4.8vw;
}
@media (min-width: 768px) {
  main .cnt03 .cnt03-img04 .anker02 {
    top: 372px;
    left: 450px;
    width: 168px;
    height: 32px;
  }
}
main .cnt03 .cnt03-img04 .anker03 {
  position: absolute;
  top: 81.5%;
  left: 51%;
  width: 20vw;
  height: 4.8vw;
}
@media (min-width: 768px) {
  main .cnt03 .cnt03-img04 .anker03 {
    top: 410px;
    left: 900px;
    width: 137px;
    height: 32px;
  }
}
main .cnt04 {
  padding: 6.6666666667vw 3.3333333333vw;
  background: #e9fcff;
  background: url(../images/cnt04_bg.png) repeat center center;
  background-size: 4vw;
}
@media (min-width: 768px) {
  main .cnt04 {
    padding: 50px 20px;
    background-size: 30px;
  }
}
main .cnt04 .cnt04-img01 {
  width: 87.2vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt04 .cnt04-img01 {
    width: 996px;
  }
}
main .cnt04 .cnt04-img02 {
  width: 94vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt04 .cnt04-img02 {
    width: 930px;
  }
}
main .cnt04 .cnt04-img03 {
  width: 90.1333333333vw;
  margin: 0 auto;
}
@media (min-width: 768px) {
  main .cnt04 .cnt04-img03 {
    width: 761px;
  }
}
main .cnt05 {
  padding: 6.6666666667vw 3.3333333333vw;
  background: #cdf3ff;
  background: url(../images/cnt05_bg_sp.png) no-repeat center center/cover;
}
@media (min-width: 768px) {
  main .cnt05 {
    padding: 50px 20px;
    background: url(../images/cnt05_bg_pc.png) no-repeat center center/cover;
  }
}
main .cnt05 .cnt05-img01 {
  width: 79.8666666667vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt05 .cnt05-img01 {
    width: 627px;
  }
}
main .cnt05 .cnt05-img02 {
  width: 93.8666666667vw;
  margin: 0 auto 2.6666666667vw;
}
@media (min-width: 768px) {
  main .cnt05 .cnt05-img02 {
    width: 788px;
  }
}
main .cnt05 .cnt05-img03 {
  position: relative;
  width: 85.2vw;
  margin: 0 auto;
}
@media (min-width: 768px) {
  main .cnt05 .cnt05-img03 {
    width: 1102px;
  }
}
main .cnt05 .cnt05-img03 .anker01 {
  position: absolute;
  top: 70%;
  left: 62%;
  width: 25.3333333333vw;
  height: 4.8vw;
}
@media (min-width: 768px) {
  main .cnt05 .cnt05-img03 .anker01 {
    top: 127px;
    left: 315px;
    width: 170px;
    height: 32px;
  }
}
main .cnt05 .cnt05-img03 .anker02 {
  position: absolute;
  top: 70%;
  left: 95%;
  width: 4.8vw;
  height: 4.8vw;
}
@media (min-width: 768px) {
  main .cnt05 .cnt05-img03 .anker02 {
    display: none;
  }
}
main .cnt05 .cnt05-img03 .anker03 {
  position: absolute;
  top: 77%;
  left: 2%;
  width: 28vw;
  height: 4.8vw;
}
@media (min-width: 768px) {
  main .cnt05 .cnt05-img03 .anker03 {
    top: 127px;
    left: 500px;
    width: 205px;
    height: 32px;
  }
}
main .tab1-box,
main .tab2-box {
  position: relative;
}
main .tab1-btn,
main .tab2-btn {
  position: absolute;
  top: 0;
  width: 50%;
  height: 13.3333333333vw;
  cursor: pointer;
}
main .tab1-btn {
  right: 0;
}
main .tab2-btn {
  left: 0;
}
main .tab2-box {
  width: 100%;
}

.p-footer {
  padding: 2.6666666667vw;
  color: #fff;
  text-align: center;
  font-size: 1.8666666667vw;
  font-weight: 400;
  letter-spacing: 0.1em;
  background: #288cd0;
}
.p-footer small {
  font-size: 1.6vw;
}
@media (min-width: 768px) {
  .p-footer {
    padding: 20px;
    font-size: 14px;
  }
  .p-footer small {
    font-size: 12px;
  }
}

.modal_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  transition: opacity 0.5s;
  opacity: 0;
  pointer-events: none;
}
.modal_wrapper > .modalclose {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modal_wrapper .panel {
  position: relative;
  width: calc(100% - 2rem);
  max-width: 640px;
  max-height: -moz-max-content;
  max-height: max-content;
  margin: 2rem auto;
  padding: 1rem 0;
  background-color: #fff;
  transform: scale(0);
  transition: transform 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .modal_wrapper .panel {
    height: calc(100% - 8rem);
  }
}
.modal_wrapper .panel .modalclose {
  position: absolute;
  z-index: 9999;
  top: 0.5rem;
  right: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  cursor: pointer;
  background-color: #ddd;
}
@media (min-width: 768px) {
  .modal_wrapper .panel .modalclose {
    top: 1.25rem;
    right: 1.25rem;
  }
}
.modal_wrapper .panel .modalclose::before, .modal_wrapper .panel .modalclose::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.25rem;
  height: 2px;
  background-color: rgb(31, 28, 26);
}
.modal_wrapper .panel .modalclose::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal_wrapper .panel .modalclose::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal_wrapper .panel .inner {
  height: 100%;
  padding: 0 2rem;
  overflow: auto;
}
.modal_wrapper .panel .inner .modal_content {
  display: none;
  position: relative;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
  padding-top: 20px;
}
.modal_wrapper .panel .inner .modal_content img {
  width: 100%;
  height: auto;
}
.modal_wrapper .panel .inner .modal_content .anker01 {
  position: absolute;
  top: 82.5%;
  left: 23%;
  width: 18.6666666667vw;
  height: 4.8vw;
}
@media (min-width: 768px) {
  .modal_wrapper .panel .inner .modal_content .anker01 {
    top: 79.5%;
    left: 66%;
    width: 100px;
    height: 28px;
  }
}
.modal_wrapper .panel .inner .modal_content .anker02 {
  position: absolute;
  top: 82.5%;
  left: 50%;
  width: 24vw;
  height: 4.8vw;
}
@media (min-width: 768px) {
  .modal_wrapper .panel .inner .modal_content .anker02 {
    top: 79.5%;
    left: 85%;
    width: 75px;
    height: 28px;
  }
}
.modal_wrapper .panel .inner .modal_content .anker03 {
  position: absolute;
  display: none;
}
@media (min-width: 768px) {
  .modal_wrapper .panel .inner .modal_content .anker03 {
    display: block;
    top: 83%;
    left: 2%;
    width: 65px;
    height: 28px;
  }
}
.modal_wrapper .panel .inner .modal_content .anker04 {
  position: absolute;
  top: 90.5%;
  left: 50%;
  width: 18.6666666667vw;
  height: 4.8vw;
}
@media (min-width: 768px) {
  .modal_wrapper .panel .inner .modal_content .anker04 {
    top: 90%;
    left: 14%;
    width: 100px;
    height: 28px;
  }
}
.modal_wrapper .panel .inner .modal_content.open {
  display: flex;
}
.modal_wrapper.open {
  opacity: 1;
  pointer-events: all;
}
.modal_wrapper.open .panel {
  transform: scale(1);
}