@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
.row .col {
  display: flex;
  flex-direction: column;
  margin-bottom: 4px;
}
.row .col:nth-child(even) {
  padding-left: 4px;
}
.row .col:nth-child(odd) {
  padding-right: 4px;
}
.row .col.col-12 {
  padding-right: 0;
  padding-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .row .col {
    padding: 0;
  }
}
.row .col.col-1 {
  width: 8.3333333333%;
}
.row .col.col-2 {
  width: 16.6666666667%;
}
.row .col.col-3 {
  width: 25%;
}
.row .col.col-4 {
  width: 33.3333333333%;
}
.row .col.col-5 {
  width: 41.6666666667%;
}
.row .col.col-6 {
  width: 50%;
}
.row .col.col-7 {
  width: 58.3333333333%;
}
.row .col.col-8 {
  width: 66.6666666667%;
}
.row .col.col-9 {
  width: 75%;
}
.row .col.col-10 {
  width: 83.3333333333%;
}
.row .col.col-11 {
  width: 91.6666666667%;
}
.row .col.col-12 {
  width: 100%;
}
.agreement-theme {
  --os-theme-overlayscrollbars-track-background: #00149633; /* 背景色 */
  --os-theme-overlayscrollbars-thumb-background: #001496; /* バー色 */
  --os-theme-overlayscrollbars-thumb-hover-background: #010b4a; /* ホバー時 */
  --os-theme-overlayscrollbars-scrollbar-size: 6px; /* 幅 */
}

.os-theme-dark {
  --os-theme-overlayscrollbars-track-background: #00149633 !important;
  --os-theme-overlayscrollbars-thumb-background: #001496 !important;
  --os-theme-overlayscrollbars-thumb-hover-background: #010b4a !important;
  --os-theme-overlayscrollbars-scrollbar-size: 6px !important;
}

img {
  width: 100%;
}

a {
  display: block;
  transition: 0.35s cubic-bezier(0, 0.75, 0.36, 1);
  transform: scale(1);
}
a:hover {
  opacity: 0.7;
  ransition: 0.35s cubic-bezier(0, 0.75, 0.36, 1);
  transform: scale(0.95);
}

html body {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
}
header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  padding: 10px;
  z-index: 9999;
  transform: translateX(60px);
}
@media screen and (max-width: 768px) {
  header {
    transform: initial;
  }
}
header figure.logo {
  min-width: 158px;
  width: 44%;
}
@media screen and (min-width: 1920px) {
  header {
    max-width: 28% !important;
    width: 100%;
  }
}

main {
  display: block;
  max-width: fit-content;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1920px) {
  main {
    max-width: 28%;
    width: 100%;
  }
}

article,
.smp {
  margin: 0 auto;
  max-width: 375px;
}
@media screen and (max-width: 768px) {
  article,
  .smp {
    max-width: 768px;
  }
}
@media screen and (min-width: 1920px) {
  article,
  .smp {
    max-width: 100%;
    width: 100%;
  }
}

article {
  box-shadow: 0px 0px 15px -5px #d4d4d4;
  transform: translateX(60px);
}
@media screen and (max-width: 1148px) {
  article {
    transform: translateX(30px);
  }
}
@media screen and (max-width: 768px) {
  article {
    transform: initial;
    overflow-x: hidden;
  }
}

section {
  padding: 42px 20px;
}
@media screen and (min-width: 1920px) {
  section {
    max-width: 100% !important;
  }
}
section.fv {
  padding: 42px 14px;
  background-color: #ffffc6;
  position: relative;
  z-index: 1;
  background-image: url(/assets/images/bg-dots-pattern.png);
  background-position: top;
  background-repeat: repeat;
  background-size: 47px;
}
section.fv figure.fv-typography {
  position: relative;
  transform: scale(0);
}
body.loaded section.fv figure.fv-typography {
  animation: zoom 0.35s cubic-bezier(0, 0.75, 0.36, 1) 0s 1 normal forwards running;
}
section.fv img.fv-illust {
  position: relative;
  margin-top: -12.1%;
  z-index: -1;
  transform: scale(0);
}
body.loaded section.fv img.fv-illust {
  animation: zoom 0.35s cubic-bezier(0, 0.75, 0.36, 1) 0.3s 1 normal forwards running;
}
section.fv figure.fv-fukidashi {
  position: relative;
  margin-top: -10%;
  z-index: 10;
  pointer-events: none;
  transform: scale(0);
}
body.loaded section.fv figure.fv-fukidashi {
  animation: zoom 0.35s cubic-bezier(0, 0.75, 0.36, 1) 0.1s 1 normal forwards running;
}
section.fv a.cta-1.ctaBtn-anc {
  position: relative;
  margin-top: -4%;
  z-index: 9;
  transform: scale(0);
}
body.loaded section.fv a.cta-1.ctaBtn-anc {
  animation: zoom 0.35s cubic-bezier(0, 0.75, 0.36, 1) 0.2s 1 normal forwards running;
}
section.fv::after {
  content: "";
  position: absolute;
  background-image: url(/assets/images/bg-clouds.png);
  width: 100%;
  height: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -80px;
  right: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 1920px) {
  section.fv::after {
    height: 10.7vw;
    background-position: top;
    background-size: cover;
  }
}
@media screen and (max-width: 768px) {
  section.fv::after {
    height: 32vw;
    background-position: top;
    background-size: cover;
    bottom: 0px;
  }
}
section.fv::before {
  content: "";
  position: absolute;
  background-image: url(/assets/images/bg-bbl-00.png);
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  top: -6px;
  right: 0;
  left: 0;
  z-index: 1;
}
section.index {
  position: relative;
  padding: 0px 20px 38px 20px;
  z-index: 1;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  section.index {
    padding: 0px 20px 0 20px;
  }
}
section.index .contents-inner {
  position: relative;
  z-index: 2;
}
section.index .contentsList-qa {
  margin-top: 8px;
}
section.story1 {
  background-image: url(/assets/images/pt-bl.png);
  background-repeat: repeat;
  background-size: 92px;
  background-position: center;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1920px) {
  section.story1 {
    padding-top: 4vw;
  }
}
@media screen and (max-width: 768px) {
  section.story1 {
    padding-top: 24vw;
    padding-bottom: 0;
  }
}
section.story1::before {
  content: "";
  position: absolute;
  background-image: url(/assets/images/bg-v-00.png);
  width: 100%;
  height: 100%;
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  right: 0;
  left: 0;
  margin-top: -90px;
  z-index: 1;
  display: block;
}
@media screen and (max-width: 768px) {
  section.story1::before {
    margin-top: -24vw;
  }
}
@media screen and (min-width: 1920px) {
  section.story1::before {
    margin-top: -6vw;
  }
}
section.story1 h2.story1-head {
  padding-bottom: 28px;
  max-width: 216px;
  margin: 0 auto;
}
@media screen and (min-width: 1920px) {
  section.story1 h2.story1-head {
    max-width: 16vw;
  }
}
@media screen and (max-width: 768px) {
  section.story1 h2.story1-head {
    max-width: 62vw;
  }
}
section.story1-problem {
  background-color: #C8D9FF;
  position: relative;
  z-index: 1;
}
section.story1-problem::before {
  content: "";
  position: absolute;
  background-image: url(/assets/images/bg-bblv-00.png);
  width: 100%;
  height: 100%;
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0px;
  right: 0;
  left: 0;
  z-index: 1;
}
section.story1-problem .contents-inner {
  position: relative;
  z-index: 1;
}
section.story1-problem .contents-inner h3.story1-problem-head {
  max-width: 238px;
  margin: -8px auto 18px auto;
}
@media screen and (min-width: 1920px) {
  section.story1-problem .contents-inner h3.story1-problem-head {
    max-width: 16vw;
  }
}
@media screen and (max-width: 768px) {
  section.story1-problem .contents-inner h3.story1-problem-head {
    max-width: 62vw;
  }
}
section.story1-problem .contents-inner .col-12:has(figure.ttl-assignment) {
  margin-bottom: 0;
  padding-bottom: 0;
}
section.story1-problem .contents-inner .joy-family {
  transform: scale(1.1);
}
section.story2 {
  background-image: url(/assets/images/bg-dots-pattern2.png);
  background-position: top;
  background-repeat: repeat;
  background-size: 100%;
  position: relative;
  z-index: 1;
  padding: 0px 20px 120px 20px;
}
section.story2::before {
  content: "";
  position: absolute;
  background-image: url(/assets/images/bg-dots.png);
  width: 100%;
  height: 100%;
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100%;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  margin-top: -95px;
}
@media screen and (max-width: 768px) {
  section.story2::before {
    margin-top: -25vw;
  }
}
@media screen and (min-width: 1920px) {
  section.story2::before {
    margin-top: -7vw;
  }
}
section.story2 h2.story2-head {
  max-width: 265px;
  margin: auto;
  padding-bottom: 18px;
}
@media screen and (min-width: 1920px) {
  section.story2 h2.story2-head {
    max-width: 18vw;
  }
}
@media screen and (max-width: 768px) {
  section.story2 h2.story2-head {
    max-width: 62vw;
  }
}
section.story2-problem {
  background-color: #FFF0A6;
  position: relative;
  z-index: 1;
  padding: 0 20px 0 20px;
}
@media screen and (max-width: 768px) {
  section.story2-problem {
    padding: 0 20px 10vw 20px;
  }
}
@media screen and (max-width: 768px) {
  section.story2-problem {
    padding: 0 20px 10vw 20px;
  }
}
@media screen and (max-width: 480px) {
  section.story2-problem {
    padding: 0 20px 4vw 20px;
  }
}
@media screen and (max-width: 414px) {
  section.story2-problem {
    padding: 0 20px 0vw 20px;
  }
}
section.story2-problem h3.story2-problem-head {
  margin: 0 -20px 0 -20px;
}
section.story2-problem .contents-inner {
  top: -100px;
  position: relative;
}
section.story2-problem .contents-inner figure.advantages-1,
section.story2-problem .contents-inner figure.advantages-2,
section.story2-problem .contents-inner figure.advantages-3 {
  margin-bottom: 8px;
}
section.story2-problem .problem-wrapper::before {
  content: "";
  position: absolute;
  background-image: url(/assets/images/bg-bbl-01.png);
  width: calc(100% + 44px);
  height: calc(100% + 44px);
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 105%;
  margin: auto;
  top: 0px;
  left: -22px;
  right: 0;
  bottom: 0;
  pointer-events: none !important;
}
@media screen and (min-width: 1920px) {
  section.story2-problem .problem-wrapper::before {
    background-size: 100%;
    z-index: -1;
  }
}
@media screen and (max-width: 768px) {
  section.story2-problem .problem-wrapper::before {
    background-size: contain;
    z-index: -1;
    background-position: top;
  }
}
section.story3 {
  background-image: url(/assets/images/pt-bl.png);
  background-repeat: repeat;
  background-size: 92px;
  background-position: center;
  position: relative;
  z-index: 1;
  padding: 42px 20px 0 20px;
  margin-bottom: -70px;
}
section.story3::before {
  content: "";
  position: absolute;
  background-image: url(/assets/images/bg-v-01.png);
  width: 100%;
  height: 100%;
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100%;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  margin-top: -95px;
}
@media screen and (max-width: 768px) {
  section.story3::before {
    margin-top: -25vw;
  }
}
section.story3 .contents-inner {
  top: -60px;
  position: relative;
  z-index: 3;
}
section.story3 .contents-inner h2.story3-head {
  margin-bottom: 10px;
}
section.story3-problem {
  background-image: url(/assets/images/bg-grid-00.png);
  background-position: center;
  background-size: 100%;
  position: relative;
  z-index: 1;
  padding: 0 20px 20px 20px;
  clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 50px), 50% 100%, 0 calc(100% - 50px));
}
section.story3-problem h3.story3-problem-head {
  margin: 0px -20px 8px -20px;
}
section.story3-problem p {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6em;
}
@media screen and (min-width: 1920px) {
  section.story3-problem p {
    font-size: 0.77vw;
    line-height: 1.2vw;
  }
}
@media screen and (max-width: 768px) {
  section.story3-problem p {
    font-size: 3.6vw;
    line-height: 5.8vw;
  }
}
section.story3-problem::before {
  content: "";
  position: absolute;
  background-image: url(/assets/images/bg-v-02.png);
  width: 100%;
  height: 100%;
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100%;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  margin-top: 0px;
}
section.story3-problem .problem-wrapper .problem-inner {
  padding: 0 20px 20px 20px;
}
section.story3-problem .problem-wrapper .problem-inner p.bl-tex {
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  padding: 0.8rem 0;
  color: #041390;
}
section.story3-problem .problem-wrapper .ttl-y {
  max-width: 184px;
  margin: 0 auto;
  display: block;
  position: relative;
  top: -24px;
}
section.story3-problem h3.story3-ttl-bl-01 {
  margin-bottom: 18px;
}
section.story3-problem .point-group .point-group-inner .point-item-list {
  position: relative;
}
section.story3-problem .point-group .point-group-inner .point-item-list::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/images/bg-bbl-06.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  top: 0px;
  left: 0px;
  pointer-events: none;
  transform: scale(1.1);
  z-index: -1;
}
section.story3-problem .point-group .point-group-inner .point-item-list .col {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 0 6px;
}
section.story3-problem .point-group .point-group-inner .point-item-list .col.col-12 figure {
  width: 50%;
}
section.story3-problem .point-group .point-group-inner .point-item-list .col.col-6 {
  position: relative;
  top: -0.8rem;
}
section.story4 {
  background-image: url(/assets/images/bg-dots-pattern2.png);
  background-position: top;
  background-repeat: repeat;
  background-size: 100%;
  position: relative;
  z-index: 0;
  top: -80px;
  padding: 80px 20px 40px 20px;
}
section.story4::after {
  content: "";
  position: absolute;
  background-image: url(/assets/images/bg-clouds.png);
  width: 100%;
  height: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -80px;
  right: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 1920px) {
  section.story4::after {
    height: 10.7vw;
    background-position: top;
    background-size: cover;
  }
}
@media screen and (max-width: 768px) {
  section.story4::after {
    height: 32vw;
    background-position: top;
    background-size: cover;
    bottom: 0px;
  }
}
section.story4 h2.story3-head {
  max-width: 265px;
  margin: 18px auto 18px auto;
}
@media screen and (min-width: 1920px) {
  section.story4 h2.story3-head {
    max-width: 16vw;
  }
}
@media screen and (max-width: 768px) {
  section.story4 h2.story3-head {
    max-width: 62vw;
  }
}
section.story4 h3.story4-customer-case {
  max-width: 163px;
  margin: 18px auto 0 auto;
}
@media screen and (min-width: 1920px) {
  section.story4 h3.story4-customer-case {
    max-width: 9vw;
  }
}
@media screen and (max-width: 768px) {
  section.story4 h3.story4-customer-case {
    max-width: 32vw;
  }
}
section.story4 h3.story4-ttl-tex-02 {
  max-width: 257px;
  margin: 18px auto 18px auto;
}
@media screen and (min-width: 1920px) {
  section.story4 h3.story4-ttl-tex-02 {
    max-width: 20vw;
  }
}
@media screen and (max-width: 768px) {
  section.story4 h3.story4-ttl-tex-02 {
    max-width: 62vw;
  }
}
section.story4 .case-for-bbl {
  position: relative;
}
section.story4 .case-for-bbl::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/images/bg-bbl-07.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top;
  top: 50px;
  left: 0px;
  pointer-events: none;
  transform: scale(1.15);
  z-index: -1;
}
section.story4 .swiper {
  width: 100%;
}
section.story4 .swiper ul.customer-case-list {
  height: max-content;
}
section.story4 .swiper ul.customer-case-list li {
  background-color: #ffffff;
  position: relative;
  margin: 28px 0 0 0;
  border: solid 2px #041390;
  border-radius: 10px;
  padding: 32px 20px 0px 20px;
  margin-bottom: 38px;
}
section.story4 .swiper ul.customer-case-list li .row.title {
  position: relative;
  justify-content: center;
  align-items: center;
  margin-top: -45px;
}
section.story4 .swiper ul.customer-case-list li .row.title .col-8 h4 {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.6em;
  position: relative;
  padding-left: 10px;
}
@media screen and (min-width: 1920px) {
  section.story4 .swiper ul.customer-case-list li .row.title .col-8 h4 {
    font-size: 1vw;
  }
}
@media screen and (max-width: 768px) {
  section.story4 .swiper ul.customer-case-list li .row.title .col-8 h4 {
    font-size: 4vw;
  }
}
section.story4 .swiper ul.customer-case-list li .row.title .col-8 h4 span.bold {
  font-size: 1rem;
  display: block;
}
@media screen and (min-width: 1920px) {
  section.story4 .swiper ul.customer-case-list li .row.title .col-8 h4 span.bold {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 768px) {
  section.story4 .swiper ul.customer-case-list li .row.title .col-8 h4 span.bold {
    font-size: 3.2vw;
  }
}
section.story4 .swiper ul.customer-case-list li h4.case-head {
  font-size: 0.875rem;
  color: #EC7022;
  font-weight: 600;
  padding: 0.8rem 0;
  margin: 0 0 1rem 0;
  background-image: repeating-linear-gradient(90deg, #EC7022, #EC7022 8px, transparent 8px, transparent 10px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}
@media screen and (min-width: 1920px) {
  section.story4 .swiper ul.customer-case-list li h4.case-head {
    font-size: 1vw;
  }
}
@media screen and (max-width: 768px) {
  section.story4 .swiper ul.customer-case-list li h4.case-head {
    font-size: 4vw;
  }
}
section.story4 .swiper ul.customer-case-list li p {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4em;
  margin-bottom: 20px;
}
@media screen and (min-width: 1920px) {
  section.story4 .swiper ul.customer-case-list li p {
    font-size: 0.77vw;
    line-height: 1.2vw;
  }
}
@media screen and (max-width: 768px) {
  section.story4 .swiper ul.customer-case-list li p {
    font-size: 3.6vw;
    line-height: 5.8vw;
  }
}
section.story4 .swiper ul.customer-case-list li p span.or {
  color: #EC7022;
}
section.story4 .swiper .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: #ffffff;
  opacity: 1;
  border: solid 1px #041390;
}
section.story4 .swiper .swiper-pagination-bullet-active {
  background: #EC7022;
  opacity: 1;
  border: solid 1px #041390;
}
section.qa {
  padding: 0 14px;
  position: relative;
  z-index: 1;
  top: -52px;
  background-color: #ffffff;
}
section.qa h2.qa-head {
  display: flex;
  justify-content: center;
  align-items: center;
}
section.qa h2.qa-head figure {
  display: inline-grid;
}
section.qa h2.qa-head img.ttl-y-qa {
  max-width: 300px;
  margin: 0 auto 18px auto;
}
@media screen and (min-width: 1920px) {
  section.qa h2.qa-head img.ttl-y-qa {
    max-width: 20vw;
  }
}
@media screen and (max-width: 768px) {
  section.qa h2.qa-head img.ttl-y-qa {
    max-width: 62vw;
  }
}
section.qa h2.qa-head img.ttl_story-6 {
  max-width: 242px;
  margin: 0 auto 28px auto;
}
@media screen and (min-width: 1920px) {
  section.qa h2.qa-head img.ttl_story-6 {
    max-width: 15vw;
  }
}
@media screen and (max-width: 768px) {
  section.qa h2.qa-head img.ttl_story-6 {
    max-width: 48vw;
  }
}
section.qa .faq-section {
  margin-bottom: 0;
}
section.qa .col.col-12.faq-col {
  padding: 0;
}
@media screen and (min-width: 1920px) {
  section.qa .col.col-12.faq-col {
    padding: 0 18px;
  }
}
section.simulation {
  padding: 80px 14px;
  position: relative;
  z-index: 1;
  top: -52px;
  background-color: #ffffff;
}
section.simulation h2.simulation-head {
  max-width: 100%;
  margin: 0 auto 18px auto;
}
section.simulation h2.simulation-head img.free-electricity-rates {
  max-width: 100%;
}
section.simulation h2.simulation-head img.ttl-tex-04 {
  max-width: 223px;
}
@media screen and (min-width: 1920px) {
  section.simulation h2.simulation-head {
    max-width: 20vw;
  }
}
@media screen and (max-width: 768px) {
  section.simulation h2.simulation-head {
    max-width: 62vw;
  }
}
section.simulation {
  text-align: center;
}
section.contact {
  background-image: url(/assets/images/pt-bl.png);
  background-repeat: repeat;
  background-size: 92px;
  background-position: center;
  margin-top: -52px;
  z-index: 1;
  position: relative;
}
section.contact h2.contact-head {
  position: relative;
  margin-bottom: 2rem;
}
section.contact h2.contact-head img.easy-fukidashi {
  position: absolute;
  top: -60px;
  left: 20px;
  width: 88px;
}
@media screen and (min-width: 1920px) {
  section.contact h2.contact-head img.easy-fukidashi {
    top: -60px;
    left: -62%;
    right: 0;
    width: 18%;
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  section.contact h2.contact-head img.easy-fukidashi {
    top: -14vw;
    left: -62%;
    right: 0;
    width: 22%;
    margin: auto;
  }
}
section.contact h2.contact-head figure {
  text-align: center;
}
@media screen and (min-width: 1920px) {
  section.contact h2.contact-head figure {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  section.contact h2.contact-head figure {
    display: flex;
    flex-direction: column;
  }
}
section.contact h2.contact-head figure img.ttl-tex-03 {
  max-width: 220px;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1920px) {
  section.contact h2.contact-head figure img.ttl-tex-03 {
    max-width: 13vw;
  }
}
@media screen and (max-width: 768px) {
  section.contact h2.contact-head figure img.ttl-tex-03 {
    max-width: 62vw;
  }
}
section.contact h2.contact-head figure img.phone-number {
  max-width: 249px;
}
@media screen and (min-width: 1920px) {
  section.contact h2.contact-head figure img.phone-number {
    max-width: 12vw;
  }
}
@media screen and (max-width: 768px) {
  section.contact h2.contact-head figure img.phone-number {
    max-width: 62vw;
  }
}
section.contact h2.contact-head figure img {
  margin: 0 auto;
}
section.confirm {
  background-image: url(/assets/images/pt-bl.png);
  background-repeat: repeat;
  background-size: 92px;
  background-position: center;
  margin-top: 0;
  z-index: 1;
  position: relative;
  padding: 80px 20px 40px 20px;
}
section.confirm h2.contact-head {
  position: relative;
  margin-bottom: 2rem;
}
section.confirm h2.contact-head img.easy-fukidashi {
  position: absolute;
  top: -60px;
  left: 20px;
  width: 88px;
}
@media screen and (min-width: 1920px) {
  section.confirm h2.contact-head img.easy-fukidashi {
    top: -60px;
    left: -62%;
    right: 0;
    width: 18%;
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  section.confirm h2.contact-head img.easy-fukidashi {
    top: -14vw;
    left: -62%;
    right: 0;
    width: 22%;
    margin: auto;
  }
}
section.confirm h2.contact-head figure {
  text-align: center;
}
@media screen and (min-width: 1920px) {
  section.confirm h2.contact-head figure {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  section.confirm h2.contact-head figure {
    display: flex;
    flex-direction: column;
  }
}
section.confirm h2.contact-head figure img.ttl-tex-03 {
  max-width: 220px;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1920px) {
  section.confirm h2.contact-head figure img.ttl-tex-03 {
    max-width: 13vw;
  }
}
@media screen and (max-width: 768px) {
  section.confirm h2.contact-head figure img.ttl-tex-03 {
    max-width: 62vw;
  }
}
section.confirm h2.contact-head figure img.phone-number {
  max-width: 249px;
}
@media screen and (min-width: 1920px) {
  section.confirm h2.contact-head figure img.phone-number {
    max-width: 12vw;
  }
}
@media screen and (max-width: 768px) {
  section.confirm h2.contact-head figure img.phone-number {
    max-width: 62vw;
  }
}
section.confirm h2.contact-head figure img {
  margin: 0 auto;
}
section.confirm h2.contact-head span {
  color: #EC7022;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  display: block;
  margin-top: 18px;
}
section.confirm form .row span.ttl {
  display: block;
  color: #001496;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.5rem 0 1.3rem 0;
  width: 100%;
}
section.confirm form .row span.input-content {
  display: block;
  color: #4A4A52;
  font-size: 0.875rem;
  font-weight: 600;
  width: 100%;
  padding: 0.2rem 0 1.5rem 0;
  border-bottom: solid 1px #001496;
  margin-bottom: 0.5rem;
}
section.confirm form img.btn-send {
  max-width: 100%;
  margin: 18px auto;
}
section.confirm form button.cancel {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
section.confirm form button.cancel img.btn-cancel {
  max-width: 240px;
  margin: 0 auto;
  text-align: center;
}
section.thanks {
  background-image: url(/assets/images/pt-bl.png);
  background-repeat: repeat;
  background-size: 92px;
  background-position: center;
  margin-top: 0;
  z-index: 1;
  position: relative;
  padding: 80px 20px 40px 20px;
}
section.thanks h2.contact-head {
  position: relative;
  margin-bottom: 2rem;
}
section.thanks h2.contact-head img.easy-fukidashi {
  position: absolute;
  top: -60px;
  left: 20px;
  width: 88px;
}
@media screen and (min-width: 1920px) {
  section.thanks h2.contact-head img.easy-fukidashi {
    top: -60px;
    left: -62%;
    right: 0;
    width: 18%;
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  section.thanks h2.contact-head img.easy-fukidashi {
    top: -14vw;
    left: -62%;
    right: 0;
    width: 22%;
    margin: auto;
  }
}
section.thanks h2.contact-head figure {
  text-align: center;
}
@media screen and (min-width: 1920px) {
  section.thanks h2.contact-head figure {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  section.thanks h2.contact-head figure {
    display: flex;
    flex-direction: column;
  }
}
section.thanks h2.contact-head figure img.ttl-tex-03 {
  max-width: 220px;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1920px) {
  section.thanks h2.contact-head figure img.ttl-tex-03 {
    max-width: 13vw;
  }
}
@media screen and (max-width: 768px) {
  section.thanks h2.contact-head figure img.ttl-tex-03 {
    max-width: 62vw;
  }
}
section.thanks h2.contact-head figure img.phone-number {
  max-width: 249px;
}
@media screen and (min-width: 1920px) {
  section.thanks h2.contact-head figure img.phone-number {
    max-width: 12vw;
  }
}
@media screen and (max-width: 768px) {
  section.thanks h2.contact-head figure img.phone-number {
    max-width: 62vw;
  }
}
section.thanks h2.contact-head figure img {
  margin: 0 auto;
}
section.thanks h2.contact-head span {
  color: #001496;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  display: block;
  margin-top: 18px;
}
section.thanks form .row span.ttl {
  display: block;
  color: #001496;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.5rem 0 1.3rem 0;
  width: 100%;
}
section.thanks form .row span.input-content {
  display: block;
  color: #4A4A52;
  font-size: 0.875rem;
  font-weight: 600;
  width: 100%;
  padding: 0.2rem 0 1.5rem 0;
  border-bottom: solid 1px #001496;
  margin-bottom: 0.5rem;
}
section.thanks form img.btn-send {
  max-width: 100%;
  margin: 18px auto;
}
section.thanks form button.cancel {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
section.thanks form button.cancel img.btn-cancel {
  max-width: 240px;
  margin: 0 auto;
  text-align: center;
}
section.thanks p {
  font-size: 0.875rem;
  line-height: 1.4em;
  margin-bottom: 28px;
}
section.thanks .btn-top {
  margin: 8px auto;
}

form .form-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: relative;
}
form .form-row label[for=zipcode] {
  width: 15rem;
  margin: 28px 0;
}
form .form-row:has(.field-error) {
  flex-direction: col;
}
form .form-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
form .field-error {
  color: #ed1e1e;
  font-size: 0.75rem;
  padding-top: 0.5rem;
}
@media screen and (min-width: 1920px) {
  form .field-error {
    font-size: 0.8vw;
  }
}
form .field-error#zipcodeError {
  margin-top: -20px;
  display: block;
}
form .field-error#consentError {
  display: block;
  text-align: center;
  margin: -18px 0 28px 0px;
}
form label {
  margin-top: 28px;
  font-size: 0.875rem;
  font-weight: 700;
  display: block;
  color: #4A4A52;
  margin-bottom: 14px;
}
@media screen and (min-width: 1920px) {
  form label {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 768px) {
  form label {
    font-size: 3.8vw;
    line-height: 5.8vw;
  }
}
form label.bl {
  color: #041390;
}
form label > span.required {
  color: #ffffff;
  background-color: #EC7022;
  margin-left: 0.5rem;
  padding: 0.2rem 1rem;
  border-radius: 100px;
}
form label > span.arbitrary {
  color: #ffffff;
  background-color: #B1B1B1;
  margin-left: 0.5rem;
  padding: 0.2rem 1rem;
  border-radius: 100px;
}
form input {
  position: relative;
  width: 100%;
  background-color: #ffffff;
  border: solid 1px #b7b7ba;
  padding: 10px;
  border-radius: 10px;
  max-height: 42px;
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (min-width: 1920px) {
  form input {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 768px) {
  form input {
    font-size: 3.8vw;
    line-height: 5.8vw;
  }
}
form input[type=checkbox] {
  display: inline-block;
  width: 25px;
  height: 25px;
}
form input[type=checkbox]::before {
  content: "";
  background-image: url(/assets/images/mingcute_check-fill.svg);
  position: absolute;
  width: 18px;
  height: 18px;
  inset: 0;
  margin: auto;
  opacity: 0;
}
form input[type=checkbox]:checked::before {
  opacity: 1;
}
form input[type=checkbox]:checked {
  border: solid 1px #CECECE;
  background-color: #CECECE;
}
form input::placeholder {
  color: #b7b7ba;
}
@media screen and (max-width: 768px) {
  form input#zipcode {
    width: 64%;
  }
}
form textarea {
  width: 100%;
  background-color: #ffffff;
  border: solid 1px #b7b7ba;
  padding: 10px;
  border-radius: 10px;
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (min-width: 1920px) {
  form textarea {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 768px) {
  form textarea {
    font-size: 3.8vw;
    line-height: 5.8vw;
  }
}

@media screen and (min-width: 1920px) {
  .form-actions .cta-4.ctaBtn {
    max-width: 73%;
    margin: 0 auto;
    display: block;
  }
}

.problem-wrapper {
  background-color: #f3f5ff;
  position: relative;
  margin: 28px 0 0 0;
  border: solid 2px #041390;
  border-radius: 10px;
}
@media screen and (min-width: 1920px) {
  .problem-wrapper {
    margin: 2vw 0 0 0;
  }
}
@media screen and (max-width: 768px) {
  .problem-wrapper {
    margin: 7vw 0 0 0;
  }
}
.problem-wrapper img.attention {
  position: absolute;
  max-width: 88px;
  left: -1.2rem;
  top: -2.8rem;
}
@media screen and (min-width: 1920px) {
  .problem-wrapper img.attention {
    left: -16vw;
    right: 0;
    margin: auto;
    max-width: 5vw;
  }
}
@media screen and (max-width: 768px) {
  .problem-wrapper img.attention {
    top: -9.8vw;
    left: -61vw;
    right: 0;
    margin: auto;
    max-width: 22vw;
  }
}
.problem-wrapper > h4 {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  padding: 20px 0;
  color: #041390;
  background-image: repeating-linear-gradient(90deg, #041390, #041390 8px, transparent 8px, transparent 10px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}
@media screen and (min-width: 1920px) {
  .problem-wrapper > h4 {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  .problem-wrapper > h4 {
    font-size: 5.7vw;
  }
}
.problem-wrapper .problem-inner {
  padding: 20px 20px;
}
.problem-wrapper .problem-inner ul.attention-list li {
  position: relative;
  font-size: 0.875rem;
  padding-left: 1.25rem;
  margin-bottom: 1rem;
  line-height: 1.25rem;
}
@media screen and (min-width: 1920px) {
  .problem-wrapper .problem-inner ul.attention-list li {
    font-size: 0.8vw;
    line-height: 1.2vw;
  }
}
@media screen and (max-width: 768px) {
  .problem-wrapper .problem-inner ul.attention-list li {
    font-size: 3.6vw;
    line-height: 5.8vw;
    padding-left: 5vw;
  }
}
.problem-wrapper .problem-inner ul.attention-list li::before {
  content: "";
  position: absolute;
  background-image: url(/assets/images/check-icon.svg);
  width: 0.8rem;
  height: 0.8rem;
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  top: 0.3rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .problem-wrapper .problem-inner ul.attention-list li::before {
    width: 3.6vw;
    height: 3.6vw;
  }
}
.problem-wrapper .problem-inner h4.attention-head {
  margin: 8px 0 18px 0;
}
.problem-wrapper .problem-inner p.bl-tex {
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  padding: 0.8rem 0;
  color: #041390;
}
@media screen and (min-width: 1920px) {
  .problem-wrapper .problem-inner p.bl-tex {
    font-size: 1vw;
  }
}
@media screen and (max-width: 768px) {
  .problem-wrapper .problem-inner p.bl-tex {
    font-size: 3.8vw;
  }
}
.problem-wrapper .problem-inner ul.service-item li h4 {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  padding: 20px 0;
  color: #041390;
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}
.problem-wrapper .problem-inner ul.service-item li p {
  font-size: 0.875rem;
  font-weight: 500;
  margin-top: 0.8rem;
  margin-bottom: 1rem;
}
.problem-wrapper .problem-inner .ctaBtn-anc {
  margin-bottom: 1rem;
}

.service-lists ul.service-item {
  position: relative;
}
.service-lists ul.service-item::after {
  content: "";
  position: absolute;
  width: calc(100% + 40px);
  height: 100%;
  background-image: url(/assets/images/bg-bbl-05.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: bottom;
  top: 30px;
  left: -25px;
  pointer-events: none;
  z-index: -1;
}
.service-lists ul.service-item li {
  position: relative;
  margin: 28px 0 0 0;
  border: solid 2px #041390;
  border-radius: 10px;
  padding: 32px 20px;
  margin-bottom: 38px;
  background-image: url(/assets/images/pt-wh.png);
  background-repeat: repeat;
  background-size: 86px;
  background-position: center;
}
@media screen and (min-width: 1920px) {
  .service-lists ul.service-item li {
    padding: 1.9vw 1.3vw;
  }
}
.service-lists ul.service-item li .ttl-y {
  position: absolute;
  max-width: 164px;
  right: 0;
  left: 0;
  margin: auto;
  top: -24px;
}
@media screen and (min-width: 1920px) {
  .service-lists ul.service-item li .ttl-y {
    max-width: 9vw;
  }
}
@media screen and (min-width: 1920px) {
  .service-lists ul.service-item li .ttl-y + img {
    max-width: 20vw;
    margin: 0 auto;
    display: block;
  }
}
.service-lists ul.service-item li h4 {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  padding: 8px 0;
  color: #EC7022;
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
  line-height: 1.4em;
}
@media screen and (min-width: 1920px) {
  .service-lists ul.service-item li h4 {
    max-width: 20vw;
    font-size: 1.2vw;
    line-height: 1.46vw;
    padding: 0.75vw 0;
    margin: auto;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .service-lists ul.service-item li h4 {
    font-size: 4.8vw;
  }
}
.service-lists ul.service-item li p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4em;
}
@media screen and (min-width: 1920px) {
  .service-lists ul.service-item li p {
    max-width: 20vw;
    font-size: 0.84vw;
    line-height: 1.2vw;
    margin: auto;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .service-lists ul.service-item li p {
    font-size: 3.4vw;
  }
}

.faq-section {
  margin-bottom: 42px;
}
.faq-section .details {
  padding-top: 1.5rem;
  transition: 0.5s;
  border-top: solid 1px #b2b8df;
  position: relative;
}
.faq-section .details:last-child {
  border-bottom: solid 1px #b2b8df;
}
.faq-section .details:hover {
  opacity: 0.6;
  transition: 0.5s;
}
.faq-section .details .summary {
  font-size: 1.125rem;
  font-weight: 600;
  display: flex;
  cursor: auto;
  justify-content: space-between;
  align-items: anchor-center;
  position: relative;
}
@media screen and (min-width: 1920px) {
  .faq-section .details .summary {
    font-size: 0.77vw;
    line-height: 1.2vw;
  }
}
@media screen and (max-width: 768px) {
  .faq-section .details .summary {
    font-size: 3.6vw;
    line-height: 5.8vw;
  }
}
.faq-section .details h4 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4em;
  color: #041390;
  width: calc(100% - 22px);
  padding-right: 2rem;
}
@media screen and (min-width: 1920px) {
  .faq-section .details h4 {
    font-size: 1vw;
  }
}
@media screen and (max-width: 768px) {
  .faq-section .details h4 {
    font-size: 3.8vw;
    line-height: 5.8vw;
  }
}
.faq-section .details .content {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6em;
  margin-top: 1.5rem;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
@media screen and (min-width: 1920px) {
  .faq-section .details .content {
    font-size: 0.77vw;
    line-height: 1.2vw;
  }
}
@media screen and (max-width: 768px) {
  .faq-section .details .content {
    font-size: 3.2vw;
    line-height: 5.4vw;
  }
}
.faq-section .details .content p {
  margin-bottom: 1.5em;
}
.faq-section button.faq-cls-Btn {
  text-align: right;
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 0;
  transition: 0.5s;
  padding-bottom: 0;
  padding-top: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}
.faq-section button.faq-cls-Btn.is-close::after {
  background-image: url(/assets/images/btn-ac.png);
  transition: 0.5s;
}
.faq-section button.faq-cls-Btn.is-open::after {
  background-image: url(/assets/images/btn-ac-close.png);
  transition: 0.5s;
}
.faq-section button.faq-cls-Btn::after {
  position: relative;
  content: "";
  background-position: right center;
  background-size: 22px;
  background-repeat: no-repeat;
  width: 2.25rem;
  height: 100%;
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.85em;
  background-repeat: no-repeat;
  transition: 0.5s;
  transform: rotate(0deg);
}

.agreement h3 {
  font-size: 1.125rem;
  margin: 24px auto 18px auto;
  text-align: left;
  font-weight: 600;
}
.agreement .agreement_wrap {
  padding: 18px;
  background-color: #ffffff;
  border: solid 2px #041390;
  border-radius: 14px;
}
.agreement .agreement_wrap .agreement_inner {
  overflow-y: scroll !important;
  max-height: 280px;
  padding-right: 18px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.agreement .agreement_wrap .agreement_inner::-webkit-scrollbar {
  display: none;
}
.agreement .agreement_wrap .agreement_inner .agreement-theme {
  --os-theme-overlayscrollbars-track-background: #00149633; /* 背景色 */
  --os-theme-overlayscrollbars-thumb-background: #001496; /* バー色 */
  --os-theme-overlayscrollbars-thumb-hover-background: #010b4a; /* ホバー時 */
  --os-theme-overlayscrollbars-scrollbar-size: 6px; /* 幅 */
}
.agreement .agreement_wrap .agreement_inner .agreement-theme.os-scrollbar-vertical {
  background-color: rgba(0, 20, 150, 0.2);
  width: 6px;
  border-radius: 50px;
  padding: 0;
}
.agreement .agreement_wrap .agreement_inner .agreement-theme.os-scrollbar-vertical .os-scrollbar-track .os-scrollbar-handle {
  background-color: #001496;
}
.agreement .agreement_wrap .agreement_inner#agreement .os-scrollbar {
  display: initial !important;
  height: 100%;
}
.agreement .agreement_wrap .agreement_inner .os-theme-dark {
  --os-theme-overlayscrollbars-track-background: #00149633 !important;
  --os-theme-overlayscrollbars-thumb-background: #001496 !important;
  --os-theme-overlayscrollbars-thumb-hover-background: #010b4a !important;
  --os-theme-overlayscrollbars-scrollbar-size: 6px !important;
}
.agreement .agreement_wrap .agreement_inner * {
  line-height: 1.4em;
}
.agreement .agreement_wrap .agreement_inner h1 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 18px;
}
.agreement .agreement_wrap .agreement_inner h2 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-top: 28px;
  margin-bottom: 18px;
}
.agreement .agreement_wrap .agreement_inner p {
  font-size: 0.875rem;
  font-weight: 400;
  margin-bottom: 1em;
  text-align: left;
}
.agreement .agreement_wrap .agreement_inner ol, .agreement .agreement_wrap .agreement_inner ul {
  margin-bottom: 1rem;
  padding-left: 1.25em;
  list-style: disc;
  list-style-position: outside;
  font-size: 0.875rem;
  font-weight: 400;
}
.agreement .agreement_wrap .agreement_inner ol li, .agreement .agreement_wrap .agreement_inner ul li {
  margin-bottom: 1rem;
}
.agreement .agreement_wrap .agreement_inner ol li ol, .agreement .agreement_wrap .agreement_inner ol li ul, .agreement .agreement_wrap .agreement_inner ul li ol, .agreement .agreement_wrap .agreement_inner ul li ul {
  margin-top: 18px;
  padding-left: 2em;
}
.agreement .agreement_wrap .agreement_inner ol li ol ol, .agreement .agreement_wrap .agreement_inner ol li ol ul, .agreement .agreement_wrap .agreement_inner ol li ul ol, .agreement .agreement_wrap .agreement_inner ol li ul ul, .agreement .agreement_wrap .agreement_inner ul li ol ol, .agreement .agreement_wrap .agreement_inner ul li ol ul, .agreement .agreement_wrap .agreement_inner ul li ul ol, .agreement .agreement_wrap .agreement_inner ul li ul ul {
  padding-left: 2.5em;
}
.agreement .agreement_wrap .agreement_inner ol li ol ol ol, .agreement .agreement_wrap .agreement_inner ol li ol ol ul, .agreement .agreement_wrap .agreement_inner ol li ol ul ol, .agreement .agreement_wrap .agreement_inner ol li ol ul ul, .agreement .agreement_wrap .agreement_inner ol li ul ol ol, .agreement .agreement_wrap .agreement_inner ol li ul ol ul, .agreement .agreement_wrap .agreement_inner ol li ul ul ol, .agreement .agreement_wrap .agreement_inner ol li ul ul ul, .agreement .agreement_wrap .agreement_inner ul li ol ol ol, .agreement .agreement_wrap .agreement_inner ul li ol ol ul, .agreement .agreement_wrap .agreement_inner ul li ol ul ol, .agreement .agreement_wrap .agreement_inner ul li ol ul ul, .agreement .agreement_wrap .agreement_inner ul li ul ol ol, .agreement .agreement_wrap .agreement_inner ul li ul ol ul, .agreement .agreement_wrap .agreement_inner ul li ul ul ol, .agreement .agreement_wrap .agreement_inner ul li ul ul ul {
  padding-left: 3em;
}

footer {
  background-color: #001496;
  padding: 20px;
  transform: translateX(60px);
  z-index: 999;
  position: relative;
}
@media screen and (max-width: 768px) {
  footer {
    transform: initial;
  }
}
footer .row .col.col-12 {
  padding: 0;
  margin: 0;
}
footer .row .col.col-12 small {
  font-size: 0.75rem;
  color: #ffffff;
  text-align: center;
  font-weight: 600;
}
@media screen and (min-width: 1920px) {
  footer {
    max-width: 28% !important;
    width: 100%;
  }
}

#backContents {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-image: url(/assets/images/pt-bl.png);
  background-repeat: repeat;
  background-size: 92px;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #backContents {
    display: none;
  }
}
#backContents::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/images/pc-bg-bbl.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: 2;
  pointer-events: none;
}
#backContents .backContents-wrap {
  width: calc(100% - 80px);
  height: calc(100% - 80px);
  margin: auto;
  border-radius: 30px;
  border: solid 2px #001496;
  padding: 1%;
  background-image: url(/assets/images/bg-dots-pattern.png);
  background-position: top;
  background-repeat: repeat;
  background-size: 47px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: static;
}
#backContents .backContents-wrap .backContents-inner {
  width: 100%;
  z-index: 10;
}
#backContents .backContents-wrap .backContents-inner .backContents {
  position: relative;
}
#backContents .backContents-wrap .backContents-inner .backContents figure.bc-illustration {
  max-width: 525.7142333984px;
  margin: auto;
}
@media screen and (min-width: 1920px) {
  #backContents .backContents-wrap .backContents-inner .backContents figure.bc-illustration {
    margin: auto auto auto 10%;
    max-width: 71%;
  }
}
@media screen and (max-width: 1520px) {
  #backContents .backContents-wrap .backContents-inner .backContents figure.bc-illustration {
    margin: auto auto auto 10%;
    max-width: 71%;
  }
}
@media screen and (max-width: 1148px) {
  #backContents .backContents-wrap .backContents-inner .backContents figure.bc-illustration {
    margin: auto auto auto 5%;
    max-width: 60%;
  }
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub {
  max-width: 383px;
  margin: auto;
}
@media screen and (min-width: 1920px) {
  #backContents .backContents-wrap .backContents-inner .backContents .menu-sub {
    max-width: 73%;
    margin: 0 10% 0 auto;
    width: 100%;
  }
}
@media screen and (max-width: 1520px) {
  #backContents .backContents-wrap .backContents-inner .backContents .menu-sub {
    max-width: 73%;
    margin: 0 10% 0 auto;
    width: 100%;
  }
}
@media screen and (max-width: 1148px) {
  #backContents .backContents-wrap .backContents-inner .backContents .menu-sub {
    max-width: 50%;
    margin: 0 5% 0 auto;
    width: 100%;
  }
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head {
  position: relative;
  margin-bottom: 0rem;
  margin-top: 18px;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head img.easy-fukidashi {
  position: absolute;
  top: -30px;
  left: -38px;
  width: 88px;
}
@media screen and (min-width: 1920px) {
  #backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head img.easy-fukidashi {
    top: -30px;
    left: -72%;
    right: 0;
    width: 18%;
  }
}
@media screen and (max-width: 1520px) {
  #backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head img.easy-fukidashi {
    top: -30px;
    left: -72%;
    right: 0;
    width: 18%;
  }
}
@media screen and (max-width: 1148px) {
  #backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head img.easy-fukidashi {
    top: -20px;
    left: -107%;
    right: 0;
    width: 21%;
  }
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head {
  text-align: center;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head img.ttl-tex-03 {
  max-width: 220px;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1920px) {
  #backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head img.ttl-tex-03 {
    max-width: 55%;
    width: 100%;
  }
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head img.phone-number {
  max-width: 249px;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub h2.contact-head img {
  margin: 0 auto;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub h3 {
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  margin: 28px 0 10px 0;
  color: #041390;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub img.ttl-tex-03 {
  max-width: 220px;
  margin-bottom: 1rem;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub img.phone-number {
  max-width: 249px;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub img {
  margin: 0 auto;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub.main {
  background-color: #ffffff;
  padding: 28px 28px;
  border-radius: 30px;
  position: relative;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub .stories {
  position: absolute;
  width: 100%;
  max-width: 238px;
  top: -49px;
  right: 0;
  left: 0;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub .ttl {
  position: relative;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub .ttl::before {
  content: "";
  position: absolute;
  width: 110%;
  height: calc(100% + 70px);
  background-image: url(/assets/images/pc-bg-bbl-01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: 0;
  pointer-events: none;
  top: -77px;
  left: -6%;
}
@media screen and (min-width: 1920px) {
  #backContents .backContents-wrap .backContents-inner .backContents .menu-sub .ttl::before {
    height: calc(100% + 4.5vw);
  }
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub .col.col-6:nth-child(even) {
  padding-right: 4px;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub .col.col-6:nth-child(odd) {
  padding-left: 4px;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub .contentsList-qa {
  margin-top: 14px;
}
#backContents .backContents-wrap .backContents-inner .backContents .menu-sub a.cta-1.ctaBtn-anc {
  max-width: 318px;
  margin: 0 auto;
}
@media screen and (min-width: 1920px) {
  #backContents .backContents-wrap .backContents-inner .backContents .menu-sub a.cta-1.ctaBtn-anc {
    max-width: 70%;
  }
}

.to-top {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  width: 48px;
  height: 48px;
  border: none;
  background: none;
  cursor: pointer;
  z-index: 9999;
  transition: 0.35s cubic-bezier(0, 0.75, 0.36, 1);
  transform: scale(1);
}
.to-top:hover {
  opacity: 0.7;
  ransition: 0.35s cubic-bezier(0, 0.75, 0.36, 1);
  transform: scale(0.95);
}
.to-top.visible {
  opacity: 1;
  pointer-events: auto;
}
.to-top img {
  width: 100%;
  height: auto;
  position: static;
}

@keyframes zoom {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}