@charset "utf-8";

:root {
  --font-family: '游ゴシック', 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', Meiryo, sans-serif;
  --width-content: 900px;
  --width-inner: 1000px;
  --width-outer: 1400px;
  --width-max: 1800px;
  --color-text: #000;
  --color-back: #fff;
  --color-back2: #fffbed;
}
html {
  font-family: var(--font-family);
  font-size: 62.5%;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .06em;
}
body {
  color: var(--color-text);
  font-size: 16px;
}
picture {
  display: block;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
:where(a img) {
  -webkit-transition: .3s opacity;
  transition: .3s opacity;
}
@media (hover: hover) {
  :where(a:hover img) {
    -webkit-transition: .3s opacity;
    transition: .3s opacity;
    opacity: .6;
  }
}

@media (min-width: 641px) and (max-width: 1000px) {

  :root {
    --width-content: 90vw;
    --width-inner: 100vw;
    --width-outer: 140vw;
    --width-max: 180vw;
  }
  body {
    font-size: 1.6vw;
  }

}
@media (max-width: 640px) {

  :root {
    --width-content: 140.625vw;
    --width-inner: 156.25vw;
    --width-outer: 218.75vw;
    --width-max: 281.25vw;
  }
  body {
    font-size: 2.5vw;
  }

}

/* ============================================================
layout
============================================================ */

/* header */
.ly_header {
  padding: 10px 0 9px;
  border-bottom: 1px solid #000;
  background: var(--color-back);
}

/* fv */
.ly_fv {
  background: var(--color-back);
}

/* top */
.ly_top {
  padding: 40px 0 70px;
  background: var(--color-back);
}
.ly_top > [class^="bl_"] {
  max-width: var(--width-content);
  margin: 0 auto;
}
.ly_top > [class^="bl_"] + [class^="bl"] {
  margin-top: 45px;
}

/* mid */
.ly_mid {
  padding: 0 0 50px;
  background: var(--color-back2);
}
.ly_mid_about {
  max-width: var(--width-content);
  margin: 0 auto;
  translate: 0 -54px;
}
.ly_mid_reduction {
  max-width: var(--width-outer);
  margin: 30px auto 0;
}
.ly_mid_comparison {
  max-width: var(--width-content);
  margin: 60px auto 0;
}

/* mid2 */
.ly_mid2 {
  padding: 80px 0;
  background:
  url(../img/pc_movie_background_deco_L.png) no-repeat right calc(50% + 700px) top 50px / 400px auto,
  url(../img/pc_movie_background_deco_R.png) no-repeat left calc(50% + 700px) top 50px / 400px auto,
  url(../img/pc_movie_background_deco_L.png) no-repeat right calc(50% + 700px) bottom 217px / 400px auto,
  url(../img/pc_movie_background_deco_R.png) no-repeat left calc(50% + 700px) bottom 217px / 400px auto;
  background-color: #fff;
}
.ly_mid2_movie {
  max-width: var(--width-inner);
  margin: 0 auto;
}
.ly_mid2_merit {
  max-width: var(--width-content);
  margin: 90px auto 0;
}

/* info */
.ly_info_catch {
  padding: 25px 0 35px;
  background: #eb6b22;
}
.ly_info_link {
  padding: 55px 0 45px;
  background: #fffbed;
}

/* mid3 */
.ly_mid3 {
  padding: 0 0 72px;
  background: var(--color-back);
}
.ly_mid3_point > .bl_point {
  max-width: var(--width-inner);
  margin: 48px auto 0;
}
.ly_mid3_voice {
  margin: 64px 0 0;
}
.ly_mid3_voice > .bl_link {
  margin: 48px 0 0;
}

/* faq */
.ly_faq {
  margin: 60px 0 0;
  padding: 0 0 80px;
  background: #fffbed;
}
.ly_faq > .bl_faq {
  max-width: var(--width-inner);
  margin: 0 auto;
  padding: 1px 0 0;
}

/* message */
.ly_message {
  overflow: hidden;
  padding: 0 0 100px;
  border-bottom: 1px solid #000;
  background: url(../img/pc_message_deco.png) no-repeat center bottom #fff;
}
.ly_message > .bl_message {
  max-width: var(--width-content);
  margin: 0 auto;
}

/* bottom */
.ly_bottom {
  padding: 48px 0 65px;
  background: #90bd77;
}

/* company */
.ly_company {
  padding: 56px 0 100px;
  background: #fffbed;
}
.ly_company > .bl_company {
  max-width: var(--width-content);
  margin: 0 auto;
}

/* fixed */
.ly_fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  padding: 10px 0;
  background: rgb(0 0 0 / .8);
}

/* footer */
.ly_footer {
  padding: 13px 0;
  color: #fff;
  background: #f05700;
}

@media (min-width: 641px) and (max-width: 1000px) {

  /* header */
  .ly_header {
    padding: 1vw 0 0.9vw;
    border-bottom: 0.1vw solid #000;
  }

  /* fv */

  /* top */
  .ly_top {
    padding: 4vw 0 7vw;
  }
  .ly_top > [class^="bl_"] + [class^="bl"] {
    margin-top: 4.5vw;
  }

  /* mid */
  .ly_mid {
    padding: 0 0 5vw;
  }
  .ly_mid_about {
    translate: 0 -5.4vw;
  }
  .ly_mid_reduction {
    margin: 3vw auto 0;
  }
  .ly_mid_comparison {
    margin: 6vw auto 0;
  }

  /* mid2 */
  .ly_mid2 {
    padding: 8vw 0;
    background-position:
      right calc(50% + 70vw) top 5vw,
      left calc(50% + 70vw) top 5vw,
      right calc(50% + 70vw) bottom 21.7vw,
      left calc(50% + 70vw) bottom 21.7vw;
    background-size:
      40vw auto,
      40vw auto,
      40vw auto,
      40vw auto;
  }
  .ly_mid2_merit {
    margin: 9vw auto 0;
  }

  /* info */
  .ly_info_catch {
    padding: 2.5vw 0 3.5vw;
  }
  .ly_info_link {
    padding: 5.5vw 0 4.5vw;
  }

  /* mid3 */
  .ly_mid3 {
    padding: 0 0 7.2vw;
  }
  .ly_mid3_point > .bl_point {
    margin: 4.8vw auto 0;
  }
  .ly_mid3_voice {
    margin: 6.4vw 0 0;
  }
  .ly_mid3_voice > .bl_link {
    margin: 4.8vw 0 0;
  }

  /* faq */
  .ly_faq {
    padding: 0 0 8vw;
  }

  /* message */
  .ly_message {
    padding: 0 0 10vw;
    border-bottom: 0.1vw solid #000;
  }

  /* bottom */
  .ly_bottom {
    padding: 4.8vw 0 6.5vw;
  }

  /* company */
  .ly_company {
    padding: 5.6vw 0 10vw;
  }

  /* fixed */
  .ly_fixed {
    padding: 1vw 0;
  }

  /* footer */
  .ly_footer {
    padding: 1.3vw 0;
  }

}

@media (max-width: 640px) {

  /* header */
  .ly_header {
    padding-top: 2.3438vw;
    padding-bottom: 2.1875vw
  }

  /* fv */

  /* top */
  .ly_top {
    padding-top: 5.4688vw;
    padding-bottom: 1.5625vw;
  }
  .ly_top > [class^="bl_"] {
    margin-inline: 6.25vw;
  }
  .ly_top > [class^="bl_"] + [class^="bl"] {
    margin-top: 9.6875vw;
  }

  /* mid */
  .ly_mid {
    padding-bottom: 10.3125vw;
  }
  .ly_mid_about {
    translate: none;
  }
  .ly_mid_reduction {
    margin-top: 5.4688vw;
  }
  .ly_mid_comparison {
    margin-top: 8.4375vw;
  }

  /* mid2 */
  .ly_mid2 {
    padding-top: 6.25vw;
    padding-bottom: 12.5vw;
    background-image: none;
  }
  .ly_mid2_merit {
    margin-top: 8.75vw;
  }

  /* info */
  .ly_info_catch {
    padding-block: 0;
  }
  .ly_info_link {
    padding-top: 7.0312vw;
    padding-bottom: 7.8125vw;
  }

  /* mid3 */
  .ly_mid3 {
    padding-bottom: 9.5312vw;
  }
  .ly_mid3_point > .bl_point {
    margin-top: 5.9375vw;
  }
  .ly_mid3_voice {
    margin-top: 8.75vw;
  }
  .ly_mid3_voice > .bl_link {
    margin-top: 4.0625vw;
  }

  /* faq */
  .ly_faq {
    padding-bottom: 10.625vw;
  }

  /* message */
  .ly_message {
    overflow: visible;
    padding-bottom: 20.3125vw;
    border-bottom: 0;
    background-image: url(../img/sp_message_deco2.png);
    background-size: 100% auto;
  }

  /* bottom */
  .ly_bottom {
    padding-top: 5.625vw;
    padding-bottom: 7.0312vw;
  }

  /* company */
  .ly_company {
    padding-top: 6.25vw;
    padding-bottom: 17.1875vw;
  }

  /* fixed */
  .ly_fixed {
    padding-block: 0;
  }


  /* footer */
  .ly_footer {
    padding-block: 2.3438vw;
  }

}

/* ============================================================
module
============================================================ */

/* ----------------------------------------
block
---------------------------------------- */

/* header */
.bl_header_logo {
  max-width: 67px;
  margin: 0 auto;
}

/* fv */
.bl_fv_box {
  overflow: hidden;
  border-bottom: 1px solid;
}
.bl_fv_img {
  position: relative;
  left: 50%;
  translate: -50% 0;
  width: var(--width-max);
}
.bl_fv_day {
  width: 340px;
  margin: 0 auto 20px;
}
.bl_fv_box2 {
  padding: 20px 0;
  background: #ff9229;
}
.bl_fv_img2 {
  max-width: 860px;
  margin: 0 auto;
}

/* link */
.bl_link_txt {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 32px;
}
.bl_link_txt::before {
  content: "＼";
  display: inline-block;
  margin: 0 .5em 0 0;
}
.bl_link_txt::after {
  content: "／";
  display: inline-block;
  margin: 0 0 0 .5em;
}
.bl_link_btn {
  display: block;
  max-width: 640px;
  margin: 0 auto;
}

/* desc */
.bl_desc_txt {
  position: relative;
  font-size: 12px;
  line-height: calc(20/12);
  padding: 0 0 0 24px;
}
.bl_desc_txt::before {
  position: absolute;
  top: 0;
  left: 0;
}
.bl_desc_txt.bl_desc_txt__1::before {
  content: "※1";
}
.bl_desc_txt.bl_desc_txt__2::before {
  content: "※2";
}
.bl_desc_txt.bl_desc_txt__3::before {
  content: "※";
}
.bl_desc_txt + .bl_desc_txt {
  margin-top: 12px;
}
.el_icon_link {
  position: relative;
  display: inline-block;
  width: 11px;
  height: 8px;
  border: 1px solid #000;
  border-top: #000 solid 2.3px;
  background: #fff;
  margin: 0 7px 1px 3px;
  transition: .2s ease;
}

.el_icon_link_inner {
  position: absolute;
  inset: 0;
  width: 11px;
  height: 8px;
  border: 1px solid #000;
  border-top: #000 solid 2.3px;
  background: #fff;
  top: 1px;
  left: 2px;
  transition: inherit;
}

.el_link {
  transition: .2s ease;
}

.el_link:hover {
  color: #ff9229;
}

.el_link:hover .el_icon_link,
.el_link:hover .el_icon_link_inner {
  border-color: #ff9229;
  border-top-color: #ff9229;
}


.bl_about_ttl {
  max-width: var(--width-content);
  margin: 0 auto 10px;
}
.bl_about_txt {
  font-size: 16px;
  line-height: calc(26/16);
  padding: 0 50px;
}
.bl_about_s {
  font-size: 12px;
}
.bl_about_s::before {
  content: "※";
  display: inline-block;
  margin: 0 .5em 0 0;
}
.bl_about_fig {
  max-width: var(--width-content);
  margin: 20px auto 0;
}
.bl_about_note {
  position: relative;
  font-size: 12px;
  line-height: calc(20/12);
  padding: 0 0 0 20px;
  margin: 20px auto 0;
}
.bl_about_note .el_icon_link {
  background: #fffbed;
}
.bl_about_note .el_icon_link_inner {
  background: #fffbed;
}
.bl_about_note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

/* reduction */
.bl_reduction {
  overflow-x: hidden;
  background: url(../img/pc_reduction_background.png) no-repeat center top / var(--width-outer) auto;
  background-color: #fff5cc;
}
.bl_reduction_ttl {
  max-width: var(--width-content);
  padding: 24px 0 0;
  margin: 0 auto;
}
.bl_reduction_fig {
  max-width: 600px;
  margin: 20px auto 36px;
}
.bl_reduction_txt {
  position: relative;
  font-size: 12px;
  line-height: calc(20/12);
  max-width: var(--width-content);
  padding: 0 0 0 20px;
  margin: 0 auto;
}
.bl_reduction_txt::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.bl_reduction_txt + .bl_reduction_txt {
  margin-top: 12px;
}
.bl_reduction_img {
  position: relative;
  left: 50%;
  translate: -50% 0;
  width: var(--width-outer);
  margin: 20px auto 0;
}

/* comparison */
.bl_comparison_ttl {
  max-width: var(--width-content);
  margin: 0 auto;
}
.bl_comparison_fig {
  max-width: var(--width-content);
  margin: 34px auto 0;
}
.bl_comparison_txtUnit {
  margin: 38px 0 0;
}
.bl_comparison_txt {
  position: relative;
  font-size: 12px;
  line-height: calc(20/12);
  padding: 0 0 0 20px;
}
.bl_comparison_txt::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.bl_comparison_txt + .bl_comparison_txt {
  margin-top: 6px;
}

/* movie */
.bl_movie_ttl {
  max-width: var(--width-inner);
  margin: 0 auto;
}
.bl_movie_box {
  max-width: 640px;
  aspect-ratio: 640/360;
  margin: 20px auto 0;
}
.bl_movie_box iframe {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bl_movie_btnList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  margin: 50px auto 0;
}
.bl_movie_btn {
  display: block;
  max-width: 300px;
}

/* merit */
.bl_merit_ttl {
  max-width: var(--width-content);
  margin: 0 auto;
}
.bl_merit_boxUnit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px 60px;
  max-width: var(--width-content);
  margin: 20px 0 0;
}
.bl_merit_box {
  padding: 37px 32px 27px;
  border: 3px solid #eb6b22;
  background: url(../img/pc_dots.png) no-repeat left 20px top 20px / 44px 44px  #fff;
  -webkit-box-shadow: 10px 10px 0 #feae29;
          box-shadow: 10px 10px 0 #feae29;
}
.bl_merit_box.bl_merit_box__1 {
  width: 100%;
  padding-bottom: 45px;
}
.bl_merit_box.bl_merit_box__2 {
  width: calc(50% - 30px);
}
.bl_merit_sub {
  margin: 0 auto;
}
.bl_merit_sub.bl_merit_sub__01 {
  max-width: 511px;
}
.bl_merit_sub.bl_merit_sub__02 {
  max-width: 291px;
}
.bl_merit_sub.bl_merit_sub__03 {
  max-width: 347px;
}
.bl_merit_fig {
  max-width: 740px;
  margin: 30px auto 0;
}
.bl_merit_txt {
  font-size: 16px;
  line-height: calc(26/16);
  max-width: var(--width-content);
  margin: 30px auto 0;
}
.bl_merit_txt.bl_merit_txt__1 {
  padding: 0 72px;
}
.bl_merit_note {
  position: relative;
  font-size: 12px;
  line-height: calc(20/12);
  padding: 0 0 0 20px;
  margin: 20px auto 0;
}
.bl_merit_note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

/* catch */
.bl_catch_txt {
  max-width: var(--width-content);
  margin: 0 auto;
}

/* pointTtl */
.bl_pointTtl {
  overflow-x: hidden;
  background: #fffbed;
}
.bl_pointTtl_box {
  position: relative;
  left: 50%;
  translate: -50% 0;
  width: var(--width-max);
  z-index: 3;

}

.bl_pointTtl_box::after{
  position: absolute;
  content: "";
  height: 170px;
  width: 100vw;
  background: #4791d1;
  left: 50%;
  transform: translate(-50%,0);
  bottom: 0;
  z-index: -1;
}

/* point */
.bl_point_fig {
  max-width: var(--width-inner);
  margin: 0 auto;
}
.bl_point_graph {
  max-width: var(--width-content);
  margin: 55px auto 45px;
}
.bl_point_note {
  position: relative;
  font-size: 12px;
  line-height: calc(20/12);
  padding: 0 0 0 30px;
  max-width: var(--width-content);
  margin: 0 auto;
}
.bl_point_note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.bl_point_note + .bl_point_note {
  margin-top: 10px;
}

/* voice */
.bl_voice_ttl {
  max-width: var(--width-content);
  margin: 0 auto;
}
.bl_voice_wrap {
  overflow-x: hidden;
  margin: 40px 0;
  /* padding: 0 0 40px; */
}
.bl_voice_container {
  position: relative;
  left: 50%;
  translate: -50% 0;
  width: calc(392px*4 + 38px*4);
}
.bl_voice_box {
  width: 392px;
  margin: 0 19px;
  padding: 22px 18px 36px;
  border: 3px solid #ffea92;
  border-radius: 10px;
  background: #fffbed;
}
.bl_voice_sub {
  max-width: 350px;
  margin: 0 auto;
}
.bl_voice_txt {
  font-size: 16px;
  line-height: calc(26/16);
  margin: 16px 0 0;
}
.bl_voice_note {
  position: relative;
  font-size: 12px;
  line-height: calc(20/12);
  padding: 0 0 0 30px;
  max-width: var(--width-content);
  margin: 0 auto;
}
.bl_voice_note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.bl_voice_arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: none;
          transform: none;
  translate: 0 -50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 23px;
  height: 41px;
  padding: 0;
  border: 0;
  margin: 0;
  border-radius: 0;
  opacity: 1;
  background: none;
  cursor: pointer;
}
.bl_voice_arrow.bl_voice_arrow__prev {
  scale: -1 1;;
  left: auto;
  right: calc(50% + 420px);
}
.bl_voice_arrow.bl_voice_arrow__next {
  left: calc(50% + 420px);
  right: auto;
}
.bl_voice ul.splide__pagination {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
  position: static;
  margin: 28px 0 0;
}
.bl_voice ul.splide__pagination li {
  display: inline-block;
  width: 12px;
  height: 12px;
}
.bl_voice ul.splide__pagination li button {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 2px solid #a3a3a3;
  margin: 0;
  border-radius: 100%;
  background: #fff;
}
.bl_voice ul.splide__pagination li button.is-active {
  -webkit-transform: none;
          transform: none;
  border-color: #000;
  background-color: #000;
}

/* faq */
.bl_faq_ttl {
  max-width: var(--width-inner);
  margin: -50px auto 0;
}
.bl_faq_boxUnit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 35px 60px;
  max-width: var(--width-content);
  margin: 0 auto;
}
.bl_faq_box {
  width: calc(50% - 30px);
}
.bl_faq_qBtn {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: calc(30/20);
  display: block;
  width: 100%;
  padding: 25px 25px 25px 65px;
  border-radius: 10px;
  background: url(../img/pc_faq_q_icon.png) no-repeat top 22px left 18px / 26px auto #eb6b22;
}
@media (min-width: 641px) {
  .bl_faq_qBtn {
    pointer-events: none;
  }
}
.bl_faq_aTxt {
  font-size: 16px;
line-height: 1.6;
letter-spacing: 0.08em;
  display: block;
  padding: 18px 20px 0 65px;
  background: url(../img/pc_faq_a_icon.png) no-repeat top 18px left 18px / 26px auto;
}
.bl_faq_note {
position: relative;
  font-size: 12px;
display: block;
letter-spacing: 0.09em;
line-height: 1.7;
  padding: 15px 20px 0 100px;
}
.bl_faq_note::before {
  content: "※";
  position: absolute;
  left: 67px;
  top: 18px;
  font-size: 12px;
  line-height: 1;
}

/* message */
.bl_message_img {
  position: relative;
  left: 50%;
  translate: -50% 0;
  width: var(--width-max);
}
.bl_message_note {
  position: relative;
  font-size: 12px;
  line-height: calc(20/12);
  padding: 0 0 0 24px;
  max-width: var(--width-content);
  margin: 0 auto;
}
.bl_message_note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
/* company */
.bl_company_ttl {
  max-width: var(--width-content);
  margin: 0 auto;
}
.bl_company_box {
  border: 3px solid #f05700;
  padding: 56px 0;
  background:
  url(../img/pc_dots.png) no-repeat top 22px left 22px / 44px 44px,
  url(../img/pc_dots.png) no-repeat right 22px bottom 22px / 44px 44px;
  background-color: #fff;
  -webkit-box-shadow: 10px 10px 0 #feae29;
          box-shadow: 10px 10px 0 #feae29;
  margin: 30px 0 0;
}
.bl_company_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 650px;
  margin: 0 auto;
}
.bl_company_info dt {
  color: #eb6b22;
  font-size: 20px;
  font-weight: 700;
  line-height: calc(26/20);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 156px;
  padding: 24px 4px;
  border-bottom: 1px solid #eb6b22;
}
.bl_company_info dd {
  font-size: 16px;
  line-height: calc(26/16);
  width: calc(100% - 156px);
  padding: 24px 0;
  border-bottom: 1px solid #eb6b22;
}

/* fixed */
.bl_fixed_btn {
  display: block;
  max-width: 640px;
  margin: 0 auto;
}

/* footer */
.bl_footer_copy {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

/* ----------------------------------------
element
---------------------------------------- */

/* bold */
.el_bold {
  font-weight: 700;
}

@media (min-width: 641px) and (max-width: 1000px) {

  /* header */
  .bl_header_logo {
    max-width: 6.7vw;
  }

  /* fv */
  .bl_fv_box {
    border-bottom: 0.1vw solid;
  }
  .bl_fv_box2 {
    padding: 2vw 0;
  }
  .bl_fv_img2 {
    max-width: 86vw;
  }

  /* link */
  .bl_link_txt {
    font-size: 1.6vw;
    margin: 0 0 3.2vw;
  }
  .bl_link_btn {
    max-width: 64vw;
  }

  /* desc */
  .bl_desc_txt {
    font-size: 1.2vw;
    padding: 0 0 0 2.4vw;
  }
  .bl_desc_txt + .bl_desc_txt {
    margin-top: 1.2vw;
  }

  /* about */
  .bl_about_ttl {
    margin: 0 auto 1vw;
  }
  .bl_about_txt {
    font-size: 1.6vw;
    padding: 0 5vw;
  }
  .bl_about_s {
    font-size: 1.2vw;
  }
  .bl_about_fig {
    margin: 2vw auto 0;
  }
  .bl_about_note {
    font-size: 1.2vw;
    padding: 0 0 0 2vw;
    margin: 2vw auto 0;
  }

  /* reduction */
  .bl_reduction_ttl {
    padding: 2.4vw 0 0;
  }
  .bl_reduction_fig {
    max-width: 60vw;
    margin: 2vw auto 3.6vw;
  }
  .bl_reduction_txt {
    font-size: 1.2vw;
    padding: 0 0 0 2vw;
  }
  .bl_reduction_txt + .bl_reduction_txt {
    margin-top: 1.2vw;
  }
  .bl_reduction_img {
    margin: 2vw auto 0;
  }

  /* comparison */
  .bl_comparison_fig {
    margin: 3.4vw auto 0;
  }
  .bl_comparison_txtUnit {
    margin: 3.8vw 0 0;
  }
  .bl_comparison_txt {
    font-size: 1.2vw;
    padding: 0 0 0 2vw;
  }
  .bl_comparison_txt + .bl_comparison_txt {
    margin-top: .6vw;
  }

  /* movie */
  .bl_movie_box {
    max-width: 64vw;
    margin: 2vw auto 0;
  }
  .bl_movie_btnList {
    gap: 2vw;
    margin: 5vw auto 0;
  }
  .bl_movie_btn {
    max-width: 30vw;
  }

  /* merit */
  .bl_merit_boxUnit {
    gap: 5vw 6vw;
    margin: 2vw 0 0;
  }
  .bl_merit_box {
    padding: 3.7vw 3.2vw 2.7vw;
    border: .3vw solid #eb6b22;
    background-position: left 2vw top 2vw;
    background-size: 4.4vw 4.4vw;
    -webkit-box-shadow: 1vw 1vw 0 #feae29;
            box-shadow: 1vw 1vw 0 #feae29;
  }
  .bl_merit_box.bl_merit_box__1 {
    padding-bottom: 4.5vw;
  }
  .bl_merit_box.bl_merit_box__2 {
    width: calc(50% - 3vw);
  }
  .bl_merit_sub.bl_merit_sub__01 {
    max-width: 51.1vw;
  }
  .bl_merit_sub.bl_merit_sub__02 {
    max-width: 29.1vw;
  }
  .bl_merit_sub.bl_merit_sub__03 {
    max-width: 34.7vw;
  }
  .bl_merit_fig {
    max-width: 74vw;
    margin: 3vw auto 0;
  }
  .bl_merit_txt {
    font-size: 1.6vw;
    margin: 3vw auto 0;
  }
  .bl_merit_txt.bl_merit_txt__1 {
    padding: 0 7.2vw;
  }
  .bl_merit_note {
    font-size: 1.2vw;
    padding: 0 0 0 2vw;
    margin: 2vw auto 0;
  }

  /* catch */

  /* pointTtl */

  /* point */
  .bl_point_graph {
    margin: 5.5vw auto 4.5vw;
  }
  .bl_point_note {
    font-size: 1.2vw;
    padding: 0 0 0 3vw;
  }
  .bl_point_note + .bl_point_note {
    margin-top: 1vw;
  }

  /* voice */
  .bl_voice_wrap {
    margin: 4vw 0;
  }
  .bl_voice_container {
    width: calc(39.2vw*4 + 3.8vw*4);
  }
  .bl_voice_box {
    width: 39.2vw;
    margin: 0 1.9vw;
    padding: 2.2vw 1.8vw 3.6vw;
    border: .3vw solid #ffea92;
    border-radius: 1vw;
  }
  .bl_voice_sub {
    max-width: 35vw;
  }
  .bl_voice_txt {
    font-size: 1.6vw;
    margin: 1.6vw 0 0;
  }
  .bl_voice_note {
    font-size: 1.2vw;
    padding: 0 0 0 3vw;
  }
  .bl_voice_arrow {
    width: 2.3vw;
    height: 4.1vw;
  }
  .bl_voice_arrow.bl_voice_arrow__prev {
    right: calc(50% + 42vw);
  }
  .bl_voice_arrow.bl_voice_arrow__next {
    left: calc(50% + 42vw);
  }
  .bl_voice ul.splide__pagination {
    gap: 1.2vw;
    margin: 2.8vw 0 0;
  }
  .bl_voice ul.splide__pagination li {
    width: 1.2vw;
    height: 1.2vw;
  }
  .bl_voice ul.splide__pagination li button {
    border-width: .2vw;
  }

  /* faq */
  .bl_faq_boxUnit {
    gap: 3.5vw 6vw;
  }
  .bl_faq_box {
    width: calc(50% - 3vw);
  }
  .bl_faq_qBtn {
    font-size: 2vw;
    padding: 2.5vw 2.5vw 2.5vw 6.5vw;
    border-radius: 1vw;
    background-position: top 2.2vw left 1.8vw;
    background-size: 2.6vw auto;
  }
  .bl_faq_aTxt {
    font-size: 1.6vw;
    padding: 1.8vw 3vw 0 6.5vw;
    background-position: top 1.8vw left 1.8vw;
    background-size: 2.6vw auto;
  }
.bl_faq_note {
position: relative;
font-size: 1.4vw;
display: block;
letter-spacing: 0.09em;
line-height: 1.7;
  padding: 1.5vw 3.125vw 0 9.625vw;
}
.bl_faq_note::before {
  content: "※";
  position: absolute;
  left: 6.669vw;
  top: 1.9vw;
font-size: 1.4vw;
  line-height: 1;
}

  /* message */
  .bl_message_note {
    font-size: 1.2vw;
    padding: 0 0 0 2.4vw;
  }

  /* company */
  .bl_company_box {
    border: .3vw solid #f05700;
    padding: 5.6vw 0;
    background-position:
      top 2.2vw left 2.2vw,
      right 2.2vw bottom 2.2vw;
    background-size:
      4.4vw 4.4vw,
      4.4vw 4.4vw;
    -webkit-box-shadow: 1vw 1vw 0 #feae29;
            box-shadow: 1vw 1vw 0 #feae29;
    margin: 3vw 0 0;
  }
  .bl_company_info {
    max-width: 65vw;
  }
  .bl_company_info dt {
    font-size: 2vw;
    width: 15.6vw;
    padding: 2.4vw .4vw;
    border-bottom: .1vw solid #eb6b22;
  }
  .bl_company_info dd {
    font-size: 1.6vw;
    width: calc(100% - 15.6vw);
    padding: 2.4vw 0;
    border-bottom: .1vw solid #eb6b22;
  }

  /* fixed */
  .bl_fixed_btn {
    max-width: 64vw;
  }

  /* footer */
  .bl_footer_copy {
    font-size: 1.4vw;
  }

}

@media (max-width: 640px) {
  /* ----------------------------------------
  block
  ---------------------------------------- */

  /* header */
  .bl_header_logo {
    max-width: 12.6563vw;
  }

  /* fv */
  .bl_fv_box {
    overflow: visible;
    border-bottom: none;
  }
  .bl_fv_img {
    position: static;
    translate: none;
    width: auto;
  }
  .bl_fv_day {
    width: 59.375vw;
    margin: 0 auto 4vw;
  }
    .bl_fv_img2 {
width: 90.625vw;
  }

  /* link */
  .bl_link_txt {
    font-size: 3.75vw;
    margin-bottom: 4.6875vw;
  }
  .bl_link_txt.bl_link_txt__ex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5625vw;
    line-height: calc(34/24);
  }
  .bl_link_txt.bl_link_txt__ex::before,
  .bl_link_txt.bl_link_txt__ex::after {
    content: "";
    width: 5vw;
    height: 8.9063vw;
    background: url(../img/sp_message_bubble.png) no-repeat center / contain;
  }
  .bl_link_txt.bl_link_txt__ex::before {
    margin-right: 0;
  }
  .bl_link_txt.bl_link_txt__ex::after {
    margin-left: 0;
    scale: -1 1;
  }
  .bl_link_btn {
    max-width: 84.375vw;
  }

  /* desc */
  .bl_desc_txt {
    font-size: 2.8125vw;
    line-height: calc(26/18);
    padding-left: 4.6875vw;
  }
  .bl_desc_txt + .bl_desc_txt {
    margin-top: 2.6563vw;
  }

  /* about */
  .bl_about_ttl {
    margin-bottom: 5vw;
  }
  .bl_about_txt {
    font-size: 4.0625vw;
    line-height: calc(36/26);
    padding-inline: 0;
    margin-inline: 6.25vw;
  }
  .bl_about_s {
    display: block;
    font-size: 2.8125vw;
    line-height: calc(28/18);
    margin-top: 1.5625vw;
  }
  .bl_about_fig {
    margin-top: 1.5625vw;
  }
  .bl_about_note {
    font-size: 2.8125vw;
    line-height: calc(26/18);
    padding-left: 4.6875vw;
    margin-top: 0.7813vw;
    margin-inline: 6.25vw;
  }

  /* reduction */
  .bl_reduction {
    overflow-x: visible;
    background-image: none;
  }
  .bl_reduction_ttl {
    padding-top: 1.25vw;
  }
  .bl_reduction_fig {
    max-width: none;
    margin: 0 3.125vw 5.9375vw;
  }
  .bl_reduction_txt {
    font-size: 2.8125vw;
    line-height: calc(26/18);
    padding-left: 4.6875vw;
    margin-inline: 6.25vw;
  }
  .bl_reduction_txt + .bl_reduction_txt {
    margin-top: 1.875vw;
  }
  .bl_reduction_img {
    position: static;
    translate: none;
    width: auto;
    margin-top: 2.1875vw;
  }

  /* comparison */
  .bl_comparison_fig {
    margin-top: 4.6875vw;
    margin-inline: 6.25vw;
  }
  .bl_comparison_txtUnit {
    margin-top: 8.75vw;
    margin-inline: 6.25vw;
  }
  .bl_comparison_txt {
    font-size: 2.8125vw;
    line-height: calc(26/18);
    padding-left: 4.6875vw;
  }
  .bl_comparison_txt + .bl_comparison_txt {
    margin-top: 2.1875vw;
  }

  /* movie */
  .bl_movie_box {
    max-width: none;
    margin-top: 4.375vw;
  }
  .bl_movie_btnList {
    display: block;
    margin-top: 8.4375vw;
  }
  .bl_movie_btnList li + li {
    margin-top: 5.3125vw;
  }
  .bl_movie_btn {
    max-width: 84.375vw;
    margin-inline: auto;
  }

  /* merit */
  .bl_merit_boxUnit {
    display: block;
    margin-top: 2.8125vw;
    margin-inline: 6.25vw;
  }
  .bl_merit_box {
    padding: 7.1875vw 4.2188vw;
    border-width: 0.4688vw;
    background-image: url(../img/sp_dots.png);
    background-position: left 2.0313vw top 2.6563vw;
    background-size: 8.5938vw 8.5938vw;
    -webkit-box-shadow: 1.5625vw 1.5625vw 0 #feae29;
            box-shadow: 1.5625vw 1.5625vw 0 #feae29;
  }
  .bl_merit_box + .bl_merit_box {
    margin-top: 9.375vw;
  }
  .bl_merit_box.bl_merit_box__1 {
    width: auto;
    padding-bottom: 7.1875vw;
  }
  .bl_merit_box.bl_merit_box__2 {
    width: auto;
  }
  .bl_merit_sub.bl_merit_sub__01 {
    max-width: 59.5313vw;
  }
  .bl_merit_sub.bl_merit_sub__02 {
    max-width: 61.5625vw;
  }
  .bl_merit_sub.bl_merit_sub__03 {
    max-width: 73.75vw;
  }
  .bl_merit_fig {
    max-width: 78.125vw;
    margin-top: 4.6875vw;
  }
  .bl_merit_txt {
    font-size: 4.0625vw;
    line-height: calc(36/26);
    margin-top: 4.6875vw;
  }
  .bl_merit_txt.bl_merit_txt__1 {
    padding-inline: 0;
  }
  .bl_merit_note {
    font-size: 2.8125vw;
    line-height: calc(26/18);
    padding-left: 4.6875vw;
    margin-top: 4.375vw;
  }

  /* catch */

  /* pointTtl */
  .bl_pointTtl {
    overflow-x: visible;
    background: none;
  }
  .bl_pointTtl_box {
    position: static;
    translate: none;
    width: auto;
  }

  /* point */
  .bl_point_fig + .bl_point_fig {
    margin-top: 7.0313vw;
  }
  .bl_point_graph {
    max-width: 87.5vw;
    margin-top: 7.0313vw;
    margin-bottom: 8.5938vw;
  }
  .bl_point_note {
    font-size: 2.8125vw;
    line-height: calc(26/18);
    padding-left: 4.6875vw;
    margin-inline: 6.25vw;
  }
  .bl_point_note + .bl_point_note {
    margin-top: 1.875vw;
  }

  /* voice */
  .bl_voice_wrap {
    margin-top: 4.375vw;
    margin-bottom: 9.375vw;
  }
  .bl_voice_container {
    position: static;
    translate: none;
    width: calc(87.5vw + 6.25vw);
    width: auto;
  }
  .bl_voice_box {
    width: 87.5vw;
    margin: 0 6.25vw 0 0;
    padding: 5.1563vw 4.2188vw 7.1875vw;
    border-width: 0.4688vw;
    border-radius: 1.5625vw;
  }
  .bl_voice_sub {
    max-width: 78.125vw;
  }
  .bl_voice_txt {
    font-size: 4.0625vw;
    line-height: calc(36/26);
    margin-top: 4.6875vw;
  }
  .bl_voice_note {
    font-size: 2.8125vw;
    line-height: calc(26/18);
    padding-left: 4.6875vw;
    margin-inline: 6.25vw;
  }
  .bl_voice_note + .bl_voice_note {
    margin-top: 1.875vw;
  }

  .bl_voice_arrow {
    width: 3.5938vw;
    height: 6.4063vw;
  }
  .bl_voice_arrow.bl_voice_arrow__prev {
    left: 3.75vw;
    right: auto;
  }
  .bl_voice_arrow.bl_voice_arrow__next {
    left: auto;
    right: 3.75vw;
  }
  .bl_voice ul.splide__pagination {
    gap: 2.5vw;
    margin-top: 4.0625vw;
  }
  .bl_voice ul.splide__pagination li {
    width: 2.5vw;
    height: 2.5vw;
  }
  .bl_voice ul.splide__pagination li button {
    border-width: 0.3125vw;
  }

  /* faq */
  .bl_faq_boxUnit {
    display: block;
    margin-inline: 4.6875vw;
  }
  .bl_faq_box {
    width: auto;
  }
  .bl_faq_box + .bl_faq_box {
    margin-top: 3.125vw;
  }
  .bl_faq_qBtn {
    position: relative;
    font-size: 4.375vw;
    line-height: calc(38/28);
    padding: 4.0625vw 7.8125vw 4.0625vw 10.4688vw;
    border-radius: 1.5625vw;
    background-position: top 4.375vw left 3.125vw;
    background-size: 4.8438vw auto;
  }
  .bl_faq_a {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 0fr;
    grid-template-rows: 0fr;
    -webkit-transition: .3s grid-template-rows;
    transition: .3s grid-template-rows;
  }
  .bl_faq_box.is_active .bl_faq_a {
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
  }
  .bl_faq_aBox {
    display: block;
    overflow: hidden;
  }
  .bl_faq_aTxt {
    text-align: justify;
    font-size: 4.0625vw;
    line-height: 1.5;
    padding: 4.6875vw 4.6875vw 1.5625vw 10.4688vw;
    background-position: top 4.375vw left 3.125vw;
    background-size: 4.0625vw auto;
  }
    .bl_faq_note {
position: relative;
  font-size: 2.813vw;
display: block;
letter-spacing: 0.09em;
line-height: 1.6;
  padding: 0 3.125vw 2vw 15.625vw;
}
.bl_faq_note::before {
  content: "※";
  position: absolute;
  left: 10.9vw;
  top: 0.6vw;
  font-size: 2.813vw;
  line-height: 1;
}

  .bl_faq_plus {
    position: absolute;
    top:50%;
    transform: translate(0,-50%);
    right: 3.125vw;
    display: block;
    width: 3.125vw;
    height: 3.125vw;
  }
  .bl_faq_plus::before,
  .bl_faq_plus::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 0.469vw;
    border-radius: 3px;
    background: #fff;
    -webkit-transition: .3s rotate;
    transition: .3s rotate;
  }
  .bl_faq_plus::before {
    rotate: 180deg;
  }
  .bl_faq_plus::after {
    rotate: -90deg;
  }
  .bl_faq_box.is_active .bl_faq_plus::before {
    rotate: 0deg;
  }
  .bl_faq_box.is_active .bl_faq_plus::after {
    rotate: 0deg;
  }

  /* message */
  .bl_message_img {
    position: static;
    translate: none;
    width: auto;
  }
  .bl_message_note {
    font-size: 2.8125vw;
    line-height: calc(26/18);
    padding-left: 4.6875vw;
    margin-top: 0;
    margin-inline: 6.25vw;
  }

  /* company */
  .bl_company_box {
    border-width: 0.4688vw;
    padding: 8.4375vw 10.4688vw 7.3438vw;
    background-position: top 2.6563vw left 2.0313vw, right 2.0313vw bottom 2.6563vw;
    background-size: 8.5938vw 8.5938vw, 8.5938vw 8.5938vw;
    -webkit-box-shadow: 1.5625vw 1.5625vw 0 #feae29;
            box-shadow: 1.5625vw 1.5625vw 0 #feae29;
    margin-top: 3.5938vw;
    margin-inline: 6.25vw;
  }
  .bl_company_info {
    display: block;
    max-width: none;
  }
  .bl_company_info dt {
    font-size: 4.375vw;
    line-height: 1;
    display: block;
    width: auto;
    padding: 0 0 1.4063vw;
  }
  .bl_company_info dd + dt {
    margin-top: 4.2188vw;
  }
  .bl_company_info dd {
    font-size: 4.0625vw;
    line-height: calc(36/26);
    width: auto;
    padding-block: 0;
    border-bottom: none;
    margin-top: 2.5vw;
  }

  /* fixed */
  .bl_fixed_btn {
    max-width: none;
  }

  /* footer */
  .bl_footer_copy {
    font-size: 2.2563vw;
    line-height: calc(25/17);
  }

}

/* ============================================================
helper
============================================================ */

/* オプティカル */
.hp_opt {
  -webkit-font-feature-settings: "palt" 1, "kern" 1 !important;
          font-feature-settings: "palt" 1, "kern" 1 !important;
}

/* hide */
.hp_hide {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (min-width: 641px) {
  .hp_sp {
    display: none !important;
  }
  .hp_hide_pc {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}
@media (max-width: 640px) {
  .hp_pc {
    display: none !important;
  }
  .hp_hide_sp {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}
