* {
  margin: 0;
  padding: 0;
}

body,
select,
input,
textarea {
  color: #333;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  line-height: 1.75;
  -webkit-text-size-adjust: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

a {
  text-decoration: none;
}

ul {
  list-style: none;
}

/* =====================
  Utility
===================== */
.green {
  color: #038535;
}

.orange {
  color: #ef4900;
}

.bg_green {
  background: #038535;
}

.bg_orange {
  background: #ef4900;
}

@media (min-width: 768px) {
  .only_pc {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .only_pc {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .only_sp {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .only_sp {
    display: block !important;
  }
}

/* =====================
  Header
===================== */
header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100px;
}
header .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 670px;
  width: 100%;
  padding: 0 40px;
  margin: 0 auto;
}
header .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 359px;
}
header .logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header .txt {
  font-size: 26px;
  font-weight: 600;
  line-height: 0.93;
  text-align: center;
}
header .txt > span {
  font-size: 20px;
}
@media (max-width: 767px) {
  header {
    height: 13.33vw;
  }
  header .logo {
    width: 48vw;
  }
  header .inner {
    padding: 0 5.33vw;
    max-width: 100%;
  }
  header .txt {
    font-size: 3.47vw;
  }
  header .txt > span {
    font-size: 2.67vw;
  }
}

/* =====================
  KV
===================== */
.kv {
  position: relative;
  background: url("/kouzakaisetsu/lp01/img/mv_bg.jpg") no-repeat top center/100% auto;
  padding-bottom: 82px;
}
.kv .inner {
  margin: 0 auto;
  position: relative;
}
.kv h1 {
  text-align: center;
}
.kv .kv_content {
  margin-top: 44px;
}
@media (max-width: 768px) {
  .kv {
    padding-bottom: 10.93vw;
  }
  .kv .kv_content {
    margin-top: 5.87vw;
  }
}

/* =====================
  Button
===================== */
.btn_content {
  text-align: center;
}
@media (max-width: 768px) {
  .btn_content {
    padding: 0;
  }
}

a.btn {
  position: relative;
  display: block;
  background: #ff9100;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  max-width: 650px;
  margin: 0 auto;
  line-height: 1.8;
  padding: 4px 0 8px;
  letter-spacing: 1px;
  border-radius: 18px;
  border: 10px solid #fff;
  text-decoration: none;
  -webkit-box-shadow: 4px 4px 0 #666;
          box-shadow: 4px 4px 0 #666;
  z-index: 1;
}
a.btn:hover {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
}
a.btn span {
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: unset;
  position: relative;
  line-height: 1;
  margin-right: 25px;
}
a.btn span:after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  right: -21px;
  border-style: solid;
  border-width: 8px 0 8px 16px;
  border-color: transparent transparent transparent #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
a.btn::before {
  content: "";
  position: absolute;
  inset: -10px;
  border: 4px solid #ff9100;
  border-radius: 18px;
  z-index: -2;
}
@media (max-width: 767px) {
  a.btn {
    font-size: 3.2vw;
    max-width: 86.67vw;
    padding: 0.53vw 0 1.07vw;
    border-radius: 2.4vw;
    border-width: 1.33vw;
    -webkit-box-shadow: 0.53vw 0.53vw 0 #666;
            box-shadow: 0.53vw 0.53vw 0 #666;
  }
  a.btn::before {
    inset: -1.33vw;
    border-width: 0.53vw;
    border-radius: 2.4vw;
  }
  a.btn span {
    font-size: 4.8vw;
    margin-right: 3.33vw;
  }
  a.btn span:after {
    content: "";
    right: -2.8vw;
    border-width: 1.07vw 0 1.07vw 2.13vw;
  }
}

/* =====================
  Modal
===================== */
.modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 30;
  width: 100%;
  height: 100%;
  place-content: center;
  opacity: 1;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.modal.is-active {
  display: -ms-grid;
  display: grid;
}
.modal__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.5);
}
.modal__cont {
  max-width: 747px;
  width: 100%;
  padding: 0 38px 32px;
  border-radius: 8px;
  background-color: #f9f8f5;
}
@media (max-width: 767px) {
  .modal__cont .close {
    width: 8.67vw;
    height: 8.67vw;
  }
  .modal__cont .close::before, .modal__cont .close::after {
    height: 0.27vw;
  }
}
@media (max-width: 767px) {
  .modal__cont {
    width: 82.33vw;
    padding: 8.93vw 5.07vw 9.27vw;
    border-radius: 1vw;
  }
}

@starting-style {
  .modal {
    opacity: 0;
  }
}
/* =====================
  QR Area
===================== */
.qr_area {
  margin: 31px auto 0;
  background: #f9f8f5;
  border-radius: 8px;
  text-align: center;
}
.qr_area p {
  color: #000;
  font-size: 18px;
  font-weight: bold;
}
.qr_area .notes_list {
  max-width: 656px;
  width: 100%;
  margin: 0 auto;
}
.qr_area .notes_list li {
  text-align: left;
}
@media (max-width: 767px) {
  .qr_area {
    margin: 0 auto;
  }
  .qr_area p {
    font-size: 3.5vw;
  }
}

.qr_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 33px 0 16px;
}
@media (max-width: 767px) {
  .qr_flex {
    margin: 0 0 16px;
  }
}

.qr_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  padding: 0 33px;
}
.qr_box:first-child {
  border-right: 1px solid #e6e6e6;
}
@media (max-width: 767px) {
  .qr_box {
    gap: 3vw;
    padding: 0 1.8vw;
  }
  .qr_box:first-child {
    border-right: none;
  }
}

.qr_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px;
  width: 190px;
}
.qr_icon > img {
  width: 135px;
}
@media (max-width: 767px) {
  .qr_icon {
    width: 38vw;
  }
}

.notes_list li {
  position: relative;
  padding-left: 2em;
  font-size: 16px;
  line-height: 1.35;
  color: #737373;
}
.notes_list li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.modal-body {
  height: auto;
}

.modal-content .qr_area {
  margin: 0 auto;
}
.modal-content .qr_area > p {
  text-align: center;
  font-weight: bold;
}

@media (max-width: 767px) {
  .camp_dl_area_sp .qr_area {
    padding: 7.44vw 3.49vw;
  }
  .camp_dl_area_sp .qr_area p {
    font-size: 3.72vw;
  }
  .camp_dl_area_sp .qr_area .notes_list {
    width: 100%;
    padding: 0 5.81vw;
  }
  .camp_dl_area_sp .scroll_on.type_bottom {
    padding: 0 3.49vw;
  }
  .camp_dl_area_sp .qr_flex {
    gap: 4.65vw;
    margin-bottom: 3.72vw;
  }
  .camp_dl_area_sp .qr_box {
    padding: 0;
  }
  .border_box li,
  .notes_list li {
    font-size: 3.2vw;
  }
  .qr_apple {
    width: 26vw;
  }
  .qr_ggplay {
    width: 32vw;
  }
}
/* =====================
  Main Area
===================== */
.main_area {
  position: relative;
  overflow-y: hidden;
  min-height: 100%;
}
.main_area:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("/kouzakaisetsu/lp01/img/bg_fixed.png") 0 0/100% 100% no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.section-main {
  max-width: 750px;
  margin: 0 auto;
}

.ttl_02 {
  background-color: #00c3ff;
  text-align: center;
  color: #fff;
  font-size: 42px;
  letter-spacing: 1px;
  padding: 7px 0 15px;
}
.ttl_02.normal {
  line-height: 1.2;
  padding: 18px 0 22px;
}
.ttl_02 .icon_phone {
  position: relative;
  margin-right: 65px;
}
.ttl_02 .icon_phone:before {
  content: "";
  display: block;
  width: 51px;
  height: 72px;
  background: url("/kouzakaisetsu/lp01/img/icon_phone.png") 0 0/contain no-repeat;
  position: absolute;
  top: -3px;
  left: 0;
}
.ttl_02 .fz_big {
  font-size: 150%;
  line-height: 1;
}
@media (max-width: 767px) {
  .ttl_02 {
    font-size: 5.6vw;
    letter-spacing: 0.13vw;
    padding: 0.93vw 0 2vw;
  }
  .ttl_02.normal {
    padding: 2.4vw 0 2.93vw;
  }
  .ttl_02 .icon_phone {
    margin-right: 8.67vw;
  }
  .ttl_02 .icon_phone:before {
    width: 6.8vw;
    height: 9.6vw;
    top: -0.4vw;
  }
}

.lst_note {
  font-size: 20px;
  max-width: 670px;
  margin: 11px auto 0;
}
@media (max-width: 767px) {
  .lst_note {
    font-size: 2.67vw;
    max-width: 89.33vw;
    margin: 1.47vw auto 0;
  }
}

/* =====================
  sec01
===================== */
.sec01 {
  padding-bottom: 23px;
  background-color: #fff;
}
.sec01 .inner {
  margin: 0 40px;
}
.sec01 .block_step {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 47px;
}
.sec01 .block_step .step_item {
  border: 4px solid #5ce0ff;
  border-radius: 12px;
  padding: 20px 29px 11px;
  position: relative;
}
.sec01 .block_step .step_item:after {
  content: "";
  position: absolute;
  bottom: -31px;
  left: 50%;
  border-style: solid;
  border-width: 28px 93px 0 93px;
  border-color: #5CE0FF transparent transparent transparent;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
}
.sec01 .block_step .step_item:last-of-type:after {
  display: none;
}
.sec01 .block_step .step_item .ttl_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 24px;
}
.sec01 .block_step .step_item .ttl_flex .step {
  width: 23%;
}
.sec01 .block_step .step_item .ttl_flex .ttl_step {
  width: 69.6%;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
  margin-right: -6px;
}
.sec01 .block_step .step_item .step_content {
  border-top: 4px solid #5ce0ff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 24px;
}
.sec01 .block_step .step_item .step_content.step_content02 .img_content {
  width: 35%;
}
.sec01 .block_step .step_item .step_content.step_content02 .txt {
  margin-left: -10px;
  margin-top: 0;
}
.sec01 .block_step .step_item .step_content.step_content03 {
  padding-top: 17px;
}
.sec01 .block_step .step_item .step_content.step_content03 .img_content {
  width: 28%;
  margin-bottom: 8px;
}
.sec01 .block_step .step_item .step_content.step_content03 .txt .img_box {
  margin-top: 17px;
}
.sec01 .block_step .step_item .step_content .img_content {
  width: 21%;
}
.sec01 .block_step .step_item .step_content .txt {
  width: 69%;
  margin-top: 6px;
}
.sec01 .block_step .step_item .step_content .txt p {
  font-size: 24px;
  line-height: 1.667;
}
.sec01 .block_step .step_item .step_content .txt .img_box {
  text-align: center;
  max-width: 239px;
  margin: 12px auto 0;
}
@media (max-width: 767px) {
  .sec01 {
    padding-bottom: 3.07vw;
  }
  .sec01 .inner {
    margin: 0 5.33vw;
  }
  .sec01 .block_step {
    margin-top: 5.33vw;
    row-gap: 6.27vw;
  }
  .sec01 .block_step .step_item {
    border-width: 0.53vw;
    border-radius: 1.6vw;
    padding: 2.67vw 3.87vw 1.47vw;
  }
  .sec01 .block_step .step_item:after {
    bottom: -3.73vw;
    border-width: 3.73vw 12.4vw 0 12.4vw;
  }
  .sec01 .block_step .step_item .ttl_flex {
    margin-bottom: 1.2vw;
  }
  .sec01 .block_step .step_item .ttl_flex .ttl_step {
    font-size: 4vw;
    margin-right: -0.8vw;
  }
  .sec01 .block_step .step_item .ttl_flex .step {
    margin-top: 2.07vw;
  }
  .sec01 .block_step .step_item .step_content {
    border-width: 0.53vw;
    padding-top: 3.2vw;
  }
  .sec01 .block_step .step_item .step_content.step_content02 .txt {
    margin-left: -1.33vw;
  }
  .sec01 .block_step .step_item .step_content.step_content03 {
    padding-top: 2.27vw;
  }
  .sec01 .block_step .step_item .step_content.step_content03 .img_content {
    margin-bottom: 1.07vw;
  }
  .sec01 .block_step .step_item .step_content.step_content03 .txt .img_box {
    margin-top: 2.27vw;
  }
  .sec01 .block_step .step_item .step_content .img_content {
    width: 19%;
  }
  .sec01 .block_step .step_item .step_content .txt {
    margin-top: 0.8vw;
  }
  .sec01 .block_step .step_item .step_content .txt p {
    font-size: 3.2vw;
  }
  .sec01 .block_step .step_item .step_content .txt .img_box {
    max-width: 31.87vw;
    margin: 1.6vw auto 0;
  }
}

/* =====================
  CV
===================== */
.block_cv {
  background: url("/kouzakaisetsu/lp01/img/cv_bg.png") no-repeat top center/100% auto;
  padding-bottom: 36px;
}
.block_cv .img_cv {
  padding-top: 12px;
}
@media (max-width: 767px) {
  .block_cv {
    padding-bottom: 4.8vw;
  }
  .block_cv .img_cv {
    padding-top: 1.6vw;
  }
}

/* =====================
  sec 02
===================== */
.sec02 {
  padding-bottom: 34px;
  background-color: #fff;
}
.sec02 .inner {
  padding: 0 40px;
}
.sec02 .block_date_content {
  margin-top: 40px;
}
.sec02 .block_date_content + .block_date_content {
  margin-top: 60px;
}
.sec02 .block_date_content .ttl_box {
  background-color: #1cd870;
  text-align: center;
  border-radius: 12px;
  color: #fff;
  font-weight: bold;
  font-size: 36px;
  line-height: 1;
  padding: 12px 0 16px;
}
.sec02 .block_date_content .date {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  margin-top: 22px;
  line-height: 1.4667;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .sec02 {
    padding-bottom: 4.53vw;
  }
  .sec02 .inner {
    padding: 0 5.33vw;
  }
  .sec02 .block_date_content {
    margin-top: 5.33vw;
  }
  .sec02 .block_date_content + .block_date_content {
    margin-top: 8vw;
  }
  .sec02 .block_date_content .ttl_box {
    border-radius: 1.6vw;
    font-size: 4.8vw;
    padding: 1.6vw 0 2.13vw;
  }
  .sec02 .block_date_content .date {
    font-size: 4vw;
    margin-top: 2.93vw;
    margin-bottom: 3.2vw;
  }
}

/* =====================
  sec 03
===================== */
.sec03 {
  background-color: #fff;
}
.sec03 .ttl_02 {
  padding: 11px 0 15px;
}
.sec03 .inner {
  padding: 0 40px;
}
.sec03 .box_list {
  border: 4px solid #5ce0ff;
  border-radius: 12px;
  margin-top: 40px;
  padding: 28px 30px;
  margin-bottom: 42px;
}
.sec03 .lst_step + .lst_step {
  margin-top: 30px;
}
.sec03 .lst_step li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 28px;
}
.sec03 .lst_step li:nth-of-type(n+2) {
  margin-top: 45px;
}
.sec03 .lst_step li.mt0 {
  margin-top: 0;
}
.sec03 .lst_step li.not_flex {
  display: block;
}
.sec03 .lst_step li .dot {
  line-height: 1;
}
.sec03 .lst_step li .content_list {
  line-height: 1.4;
}
.sec03 .lst_step li .content_list .ttl {
  font-weight: bold;
  margin-top: -5px;
  margin-bottom: 1px;
}
.sec03 .lst_step li .content_list sup {
  font-size: 65%;
}
.sec03 .lst_step li .content_list .lst_note {
  margin-top: -3px;
}
.sec03 .lst_step li .content_list .lst_note li {
  font-size: 20px;
}
.sec03 .lst_step li .content_list a {
  color: #00c3ff;
  text-decoration: underline;
  text-underline-offset: 6px;
}
@media (max-width: 767px) {
  .sec03 .ttl_02 {
    padding: 1.47vw 0 2vw;
  }
  .sec03 .inner {
    padding: 0 5.33vw;
  }
  .sec03 .box_list {
    border-width: 0.53vw;
    border-radius: 1.6vw;
    margin-top: 5.33vw;
    padding: 3.73vw 4vw;
    margin-bottom: 5.6vw;
  }
  .sec03 .lst_step + .lst_step {
    margin-top: 4vw;
  }
  .sec03 .lst_step li {
    font-size: 3.73vw;
  }
  .sec03 .lst_step li:nth-of-type(n+2) {
    margin-top: 6vw;
  }
  .sec03 .lst_step li.mt0 {
    margin-top: 0;
  }
  .sec03 .lst_step li .content_list .ttl {
    margin-top: -0.67vw;
    margin-bottom: 0.13vw;
  }
  .sec03 .lst_step li .content_list .lst_note {
    margin-top: -0.4vw;
  }
  .sec03 .lst_step li .content_list .lst_note li {
    font-size: 2.67vw;
  }
  .sec03 .lst_step li .content_list a {
    text-underline-offset: 0.8vw;
  }
}

.block_bottom_content {
  background-color: #f6f6f6;
  padding: 56px 0 55px;
}
.block_bottom_content .logo_box {
  text-align: center;
  width: 84%;
  margin: 0 auto;
}
.block_bottom_content .text02 {
  padding: 52px 48px 0;
  line-height: 1.5;
  font-size: 28px;
}
@media (max-width: 767px) {
  .block_bottom_content {
    padding: 7.47vw 0 6.93vw;
  }
  .block_bottom_content .text02 {
    padding: 3.93vw 6.4vw 0;
    font-size: 3.73vw;
  }
}

/* =====================
  Footer
===================== */
footer {
  background: #147cdf;
  color: #fff;
  text-align: center;
  font-size: 20px;
  letter-spacing: 0.75px;
  line-height: 1;
  padding: 34px 15px;
}
@media (max-width: 767px) {
  footer {
    font-size: 2.67vw;
    letter-spacing: 0.11vw;
    padding: 5.07vw 4vw 4.27vw;
  }
}