.sp_only {
  display: block;
}
@media screen and (min-width: 960px) {
  .sp_only {
    display: none;
  }
}

.pc_only {
  display: none;
}
@media screen and (min-width: 960px) {
  .pc_only {
    display: block;
  }
}

.fv {
  width: 100%;
  position: relative;
}
.fv img {
  width: 100%;
}

.fv_sp {
  display: block;
  position: relative;
}
@media screen and (min-width: 960px) {
  .fv_sp {
    display: none;
  }
}

.fv_pc {
  display: none;
}
@media screen and (min-width: 960px) {
  .fv_pc {
    display: block;
    position: relative;
    width: 100%;
  }
  .fv_pc img {
    width: 100%;
  }
}

.btn_line_sp {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  text-align: center;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 960px) {
  .btn_line_sp {
    display: none;
  }
}
.btn_line_sp img {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

.btn_line_pc {
  display: none;
}
@media screen and (min-width: 960px) {
  .btn_line_pc {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    text-align: center;
    padding-left: 21.5vw;
    padding-right: 21.5vw;
  }
  .btn_line_pc img {
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .btn_line_pc img:hover {
    opacity: 0.7;
  }
}

.sec01 {
  width: 100%;
  margin-top: 20px;
}
@media screen and (min-width: 960px) {
  .sec01 {
    margin-top: 0;
  }
}
.sec01 img {
  width: 100%;
}

.sec02 {
  width: 100%;
}
.sec02 img {
  width: 100%;
}

.sec03 {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .sec03 {
    margin-top: 0px;
  }
}

.sec03_sp {
  display: block;
}
@media screen and (min-width: 960px) {
  .sec03_sp {
    display: none;
  }
}

.sec03_ttl {
  width: 100%;
}
.sec03_ttl img {
  width: 100%;
}

.sec03_body {
  margin-top: -2px;
  width: 100%;
  position: relative;
}
.sec03_body img {
  width: 100%;
}

.sec03_scroll-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.sec03_scroll-container::-webkit-scrollbar {
  display: none;
}
.sec03_scroll-container .scroll-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  scroll-snap-align: end;
}
.sec03_scroll-container .scroll-item:first-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.sec03_scroll-container .scroll-item:first-child img {
  width: 100%;
  height: auto;
  display: block;
}
.sec03_scroll-container .scroll-item:last-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 73.333%;
          flex: 0 0 73.333%;
}
.sec03_scroll-container .scroll-item:last-child img {
  width: 100%;
  height: auto;
  display: block;
}

.sec03_pc {
  display: none;
}
@media screen and (min-width: 960px) {
  .sec03_pc {
    display: block;
    width: 100%;
    position: relative;
  }
  .sec03_pc img {
    width: 100%;
  }
}

.btn_box {
  position: absolute;
  bottom: 30.67vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .btn_box {
    display: none;
  }
}
.btn_box img {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}

.btn_phone {
  margin-top: 3.07vw;
}

.btn_line2_pc {
  display: none;
}
@media screen and (min-width: 960px) {
  .btn_line2_pc {
    display: block;
    position: absolute;
    bottom: 8.9vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    text-align: center;
    padding-left: 21.5vw;
    padding-right: 21.5vw;
  }
  .btn_line2_pc img {
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .btn_line2_pc img:hover {
    opacity: 0.7;
  }
}

.sec04 {
  width: 100%;
}
.sec04 img {
  width: 100%;
}

.sec04_sp {
  display: block;
  position: relative;
}
@media screen and (min-width: 960px) {
  .sec04_sp {
    display: none;
  }
}

.btn_box2 {
  position: absolute;
  bottom: 30.67vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .btn_box2 {
    display: none;
  }
}
.btn_box2 img {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}

.sec04_pc {
  display: none;
}
@media screen and (min-width: 960px) {
  .sec04_pc {
    display: block;
    position: relative;
    width: 100%;
  }
  .sec04_pc img {
    width: 100%;
  }
}

.btn_line2_pc2 {
  display: none;
}
@media screen and (min-width: 960px) {
  .btn_line2_pc2 {
    display: block;
    position: absolute;
    bottom: 10vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    text-align: center;
    padding-left: 21.5vw;
    padding-right: 21.5vw;
  }
  .btn_line2_pc2 img {
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .btn_line2_pc2 img:hover {
    opacity: 0.7;
  }
}

.sec05 {
  width: 100%;
}
.sec05 img {
  width: 100%;
}

.sec05_sp {
  display: block;
  position: relative;
}
@media screen and (min-width: 960px) {
  .sec05_sp {
    display: none;
  }
}

.map_sp {
  position: absolute;
  bottom: 130.8vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 93.33vw;
  height: 52.13vw;
  border: none;
}

.btn_box3 {
  position: absolute;
  bottom: 30.67vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .btn_box3 {
    display: none;
  }
}
.btn_box3 img {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}

.sec05_pc {
  display: none;
}
@media screen and (min-width: 960px) {
  .sec05_pc {
    display: block;
    position: relative;
    width: 100%;
  }
  .sec05_pc img {
    width: 100%;
  }
}

.map_pc {
  position: absolute;
  bottom: 55.7vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 62.3vw;
  height: 34.84vw;
  border: none;
}

.btn_line2_pc3 {
  display: none;
}
@media screen and (min-width: 960px) {
  .btn_line2_pc3 {
    display: block;
    position: absolute;
    bottom: 9vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    text-align: center;
    padding-left: 21.5vw;
    padding-right: 21.5vw;
  }
  .btn_line2_pc3 img {
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .btn_line2_pc3 img:hover {
    opacity: 0.7;
  }
}

.footer {
  background-color: #1b7fbf;
  color: #fff;
  text-align: center;
}

.footer_inner {
  padding-top: 22px;
  padding-bottom: 22px;
}
@media screen and (min-width: 960px) {
  .footer_inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.footer_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 13px;
  margin-bottom: 5px;
  padding-left: 4px;
}
@media (max-width: 330px) {
  .footer_nav {
    font-size: 11px;
  }
}
@media screen and (min-width: 960px) {
  .footer_nav {
    font-size: 17px;
    padding-left: 19px;
    margin-bottom: -3px;
  }
}

.footer_nav_link {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.footer_nav_link:hover {
  opacity: 0.7;
}

.footer_copyright {
  font-size: 14px;
}
@media (max-width: 330px) {
  .footer_copyright {
    font-size: 12px;
  }
}
@media screen and (min-width: 960px) {
  .footer_copyright {
    font-size: 17px;
  }
}

.page_inner {
  margin-top: 40px;
  padding-left: 20px;
  padding-right: 20px;
}
@media (max-width: 350px) {
  .page_inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.page_title {
  text-align: center;
  font-size: 24px;
}
@media (max-width: 420px) {
  .page_title {
    font-size: 20px;
  }
}
@media (max-width: 350px) {
  .page_title {
    font-size: 18px;
  }
}

.page_sub {
  margin-top: 20px;
  font-size: 18px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 420px) {
  .page_sub {
    font-size: 14px;
  }
}
@media (max-width: 350px) {
  .page_sub {
    font-size: 12px;
  }
}

.page_content {
  margin-top: 40px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.page_item {
  padding-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  border-bottom: 1px solid #bbb;
  font-size: 18px;
}
@media (max-width: 420px) {
  .page_item {
    font-size: 14px;
  }
}
@media (max-width: 350px) {
  .page_item {
    font-size: 12px;
  }
}

.page_item_desc {
  padding-left: 10px;
}