/* CSS Document */
@keyframes marquee01{
  0%{transform: translateY(0);}
  100%{transform: translateY(-100%);}
}
@keyframes marquee02{
  0% {transform: translateY(-100%);}
100% {transform: translateY(0);}
}
@keyframes scale{
   0% {
    filter:blur(4px);
  }
  100% {
    filter:blur(0);
  }
}
.top .marquee[inview-state="true"] > .above figure{
  animation: marquee01 90s linear infinite;
  transform: translate(-100%,0);
}
.top .marquee[inview-state="true"] > .under figure{
  animation: marquee02 90s linear infinite;
  transform: translate(-100%,0);
}
.top .marquee[inview-state="true"]{
  animation: scale 800ms linear forwards;
}
/*dl繋ぎ*/
.c_t_wrap{
  padding: 2rem 0;
  position: relative;
  z-index: 1;
}
.c_t_wrap::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-image: url("/campaign/installment/img/back/sp_back04.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
body[wc-view-code="tb"] .c_t_wrap::before{
  background-image: url("/campaign/installment/img/back/tb_back.png");
}
body[wc-view-code="pc"] .c_t_wrap::before{
  background-image: url("/campaign/installment/img/back/pc_back.png");
}
body[wc-view-code="tb"] .c_t_wrap,
body[wc-view-code="pc"] .c_t_wrap{
  padding: 3rem 0;
}
.c_t_wrap .ct_t{
  padding: 0.5rem 1rem;
  box-sizing: border-box;
}
.c_t_wrap .ct_t > dt{
  position: relative;
  z-index: 1;
}
.c_t_wrap .ct_t > dt::before,
.c_t_wrap .ct_t > dt::after{
   content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background-color: #fff;
}
.c_t_wrap .ct_t > dt::before{
  transform: translateY(-50%) rotate(-15deg);
  left: 0.5rem;
  
}
.c_t_wrap .ct_t > dt::after{
  transform: translateY(-50%) rotate(15deg);
  right: 0.5rem;
}
.c_t_wrap .ct_t > dt,
.c_t_wrap .ct_t > dd{
  color: #fff;
  font-weight: 700;
}
.c_t_wrap .ct_t > dt{
  text-align: center;
  font-size: 1.2rem;
  padding:0.5rem 1.25rem;
  width: fit-content;
  margin:0 auto;
}
body[wc-view-type="sp-s"] .c_t_wrap .ct_t > dt{
  font-size: 1.1rem;
}
body[wc-view-code="tb"] .c_t_wrap .ct_t > dt,
body[wc-view-code="pc"] .c_t_wrap .ct_t > dt{
  font-size: 1.3rem;
}
.c_t_wrap .ct_t > dd{
  padding: 0 1rem;
  box-sizing: border-box;
  margin-top: 0.5rem;
  line-height: 1.8rem;
  text-align: center;
}
body[wc-view-code="tb"] .c_t_wrap .ct_t > dd,
body[wc-view-code="pc"] .c_t_wrap .ct_t > dd{
  margin-top: 1rem;
}
.c_t_wrap .ct_t > dd p{
  font-weight: 700;
  font-size: 1.15rem;
}
.c_t_wrap .ct_t > dd p span{
  color: #E7C21B;
}
.c_t_wrap .btn_big{
  margin: 0.5rem auto 0 auto;
}
/*ボタン前文言*/
.btn_before{
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding: 0 1.5rem;
  font-weight: 700;
  box-sizing: border-box;
  text-align: center;
  width: 291px;
}
.btn_before::before,
.btn_before::after{
  content: "";
  width: 1px;
  height: 20px;
  background-color: var(--defColor);
  position: absolute;
  z-index: 2;
  bottom: 0;
}
.btn_before::before{
  left: 1rem;
  transform: rotate(-45deg);
}
.btn_before::after{
  content: "";
  right: 1rem;
  transform: rotate(45deg);
}

/*ふきだし*/
.hukudashi{
  background-color: #fff;
  padding: 0.85rem 0.75rem 0.75rem 0.75rem;
  box-sizing: border-box;
  border-radius: 0.75rem;
  font-weight: 700;
  width: fit-content;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  letter-spacing: 3px;
  font-size: 1.25rem;
  line-height: 1em;
  margin-bottom: 1.25rem;
  border: solid 1px #2a62d3;
}
.hukudashi::after{
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  position: absolute;
  z-index: 1;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  background-color: #fff;
  border: solid 1px #2a62d3;
  box-sizing: border-box;
  bottom: -0.55rem;
  border-top: transparent;
  border-left: transparent;
}
/*ドットタイトル*/
.dot_wrap{
  display: flex;
}
.dot_wrap span{
  position: relative;
  z-index: 1;
}
.dot_wrap span::before{
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  background-color: #2a62d3;
  top: -0.2rem;
  position: absolute;
}
/*繋ぎ*/
.tunagi{
  background-color: #fff;
  box-sizing: border-box;
}
.tunagi .c_tunagi{
  width: calc(100% - 10vw);
  margin: 0 auto;
  padding-bottom: 1rem;
}
body[wc-view-type="tb"] .tunagi .c_tunagi{
  width: 80vw;
}
body[wc-view-type="pc"] .tunagi .c_tunagi{
  width: 750px;
}
.tunagi .c_tunagi dt{
  font-weight: 700;
  font-size: 1.25rem;
  text-align: center;
}
.tunagi .c_tunagi dd{
}
.tunagi .c_tunagi dd .price_box{
  font-size: 1.5rem;
  text-align: center;
  margin: 0.75rem auto 0 auto;
  width: fit-content;
}
.tunagi .c_tunagi dd .btn_big{
  margin: 0 auto;
}
.tunagi .c_text{
  font-weight: 700;
  margin-top: 0.75rem;
  font-size: 1.25rem;
  text-align: center;
}

/*大きいボタン*/
.btn_big{
  width: fit-content;
}
.btn_big a{
  padding:1rem 1.75rem 1rem 2.3rem;
  background-color: #e95513;
  color: #fff;
  font-weight: 700;
  line-height: 1em;
  text-decoration:none;
  letter-spacing: 1.5px;
  font-size: 1.2rem;
  border-radius:0.5rem;
  white-space:nowrap;
  display: flex;
  flex-direction: column;
}
body[wc-view-type="tb"] .btn_big a,
body[wc-view-type="tb-l"] .btn_big a,
body[wc-view-type="pc"] .btn_big a{
  padding: 1.25rem 2.2rem 1.25rem 2.8rem;
}
body[wc-view-type="sp"] .btn_big a{
  padding: 1rem 2rem 1rem 2.55rem;
}
.btn_big a .a_t_text{
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: -0.4px;
  margin-bottom: 0.4rem;
}
body[wc-view-type="pc"] .btn_big a .a_t_text{
  font-size: 0.8rem;
  margin-bottom: 0.55rem;
}
.btn_big a .a_b_text{
  font-size:1.5rem;
  letter-spacing: 10px;
  font-weight: 700;
  position: relative;
  z-index: 1;
}
.btn_big a .a_b_text::after,
.btn_big a .a_b_text .b_before_icon{
  -webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size:cover;
  mask-size: cover;
  background-color: #fff;
  width: 2.25rem;
  height: 2.25rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.btn_big a .a_b_text .b_before_icon{
  left: -2.2rem;
}
.btn_big a .a_b_text::after{
  content: "";
  right: -1.5rem;
}
/*トップ*/
.top{
  height: calc(var(--windowfixdheight) - 2.5rem);
  position: relative;
  z-index: 1;
  display: flex;
  background-position:center;
  background-repeat: no-repeat;
  background-size: cover;
  box-sizing: border-box;
  overflow: hidden;
  width: 100vw;
  background-color: #05052b;
}
.top .top_image{
  position: absolute;
  inset:0;
  z-index: 3;
  width: 100vw;
  height: calc(var(--windowfixdheight) - 2.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .top_image > h2{
  width: 90vw;
}
body[wc-view-type="tb"] .top .top_image > h2{
  width:70vw;
}
body[wc-view-type="tb-l"] .top .top_image > h2{
  width:500px;
}
body[wc-view-type="pc"] .top .top_image > h2{
  width: 550px;
}
.top .marquee{
  display: flex;
  gap:5px;
  width: calc(125vw + 10px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%) rotate(23deg);
  z-index: 2;
  height: calc(var(--windowfixdheight) * 1.5);
}
body[wc-view-code="sp"] .top .marquee{
  gap:3px;
  width: calc(165vw + 10px);
}
body[wc-view-code="tb"] .top .marquee{
  gap:3px;
  width: calc(155vw + 10px);
}
body[wc-view-code="pc"] .top .marquee{
  top: 30%;
  height: calc(var(--windowfixdheight) * 1.5);
  left: 53%;
}
.top .marquee{
}
.top .marquee > div{
  display: flex;
  flex-direction: column;
  gap:3px;
}
body[wc-view-code="sp"] .top .marquee > div{
  width: calc((100% / 4) - 2px);
}
body[wc-view-type="tb"] .top .marquee > div{
  width: calc((100% / 4) - 5px);
}
body[wc-view-type="pc"] .top .marquee > div{
  width: calc((100% / 4) - 3.75px);
}
.top .marquee[inview-state="true"] > div figure{
}
body[wc-view-code="sp"] .under.sp_none,
body[wc-view-code="tb"] .under.sp_none{
  display: none;
}
/**/
.era{
  background-color: #fff;
  box-sizing: border-box;
  padding: var(--headerHeight) 5vw;
}
body[wc-view-code="pc"] .era{
  padding: var(--headerHeight) calc((100vw - 750px) / 2);
}
body[wc-view-code="tb"] .era{
  padding: var(--headerHeight) 10vw;
}
body[wc-view-type="tb-l"] .era{
  padding: var(--headerHeight) 15vw;
}
.era .in_era{
  background-color: #eef5ff;
  padding: 2rem 1.5rem;
  box-sizing: border-box;
  border-radius: 1rem;
  position: relative;
  z-index: 1;
}

.era .in_era::before,
.era .in_era::after{
  content: "";
  width: 74px;
  background-repeat: no-repeat;
  background-position:center;
  background-size: cover;
  position: absolute;
  z-index: 2;
  bottom: 0;
  display: table;
  height: 72.5px;
}
body:not([wc-view-code="sp"]) .era .in_era::before,
body:not([wc-view-code="sp"]) .era .in_era::after{
  width: 120px;
  height: 115.5px;
}
.era .in_era::before{
  left: -5vw;
  background-image: url("/campaign/installment/img/era/left.png");
}
.era .in_era::after{
  right: -5vw;
  background-image: url("/campaign/installment/img/era/right.png");
}
body:not([wc-view-code="sp"]) .era .in_era::before{
  left: 0;
}
body:not([wc-view-code="sp"]) .era .in_era::after{
  right: 0;
}
.era .in_era > h2{
  display: flex;
  font-weight: 700;
  font-size: 1.45rem;
  justify-content: center;
  margin-bottom: 0.5rem;
}
.era .in_era > h2 .w_icon{
  width: 33px;
  height: 35px;
  -webkit-mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size:cover;
  mask-size: cover;
  background-color: #3d3d3d;
  margin-right: 0.5rem;
  flex: none;
}
.era .in_era > p{
  font-weight: 700;
  line-height: 3rem;
  font-size: 1.2rem;
  text-align: center;
}
body[wc-view-type="tb-l"] .era .in_era > p br,
body[wc-view-code="pc"] .era .in_era > p br{
  display: none;
}
.era .in_era > p span{
  font-size: 1.2rem;
}
.era .in_era > dl{
  background-color: #fff;
  padding: 1rem;
  margin-top: 1rem;
  border-radius: 1rem 1rem 0 0;
}
.era .in_era > dl dt h2{
  text-align: center;
  font-weight: 700;
  font-size: 1.15rem;
  border-bottom: 1px solid #bbb;
  position: relative;
  z-index: 1;
  padding-bottom: 0.75rem;
}
.era .in_era > dl dt h2::after{
  content: "";
  width: 1rem;
  height: 1rem;
  border-top:solid 1px #bbb;
  border-right:1px solid #bbb;
  box-sizing: border-box;
  background-color: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(135deg);
  z-index: 2;
  bottom: -0.5rem;
}
.era .in_era > dl dd{
  padding:0.75rem 0.25rem 0.25rem 0.25rem;
  box-sizing: border-box;
}
.era .in_era > dl dd .price{
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-top: 0.5rem;
}
.era .in_era > dl dd .price > span{
  font-weight: 700;
  color: #e95513;
  margin-block: var(--leading-trim);
  font-family: "Number";
}
.era .in_era > dl dd .price > .month{
  font-size: 1rem;
}
.era .in_era > dl dd .price > .money{
  font-size: 2.5rem;
}
.era .in_era > dl dd .price > .unit{
  font-size: 1rem;
}
.era .in_era > dl dd ul{
  list-style:none;
  padding:0.5rem 0.5rem 0 0.75rem;
}
body:not([wc-view-code="sp"]) .era .in_era > dl dd ul{
  width: fit-content;
  margin: 0 auto;
}
.era .in_era > dl dd ul li:not(:first-of-type){
  margin-top: 0.15rem;
}
/*お悩みありませんか？*/
.worries{
  background-color: #fff;
  padding: 0 5vw var(--headerHeight) 5vw;
  box-sizing: border-box;
}
body[wc-view-code="tb"] .worries{
  padding: 0 10vw var(--headerHeight);
}
body[wc-view-type="tb-l"] .worries{
  padding: 0 15vw var(--headerHeight);
}
body[wc-view-code="pc"] .worries{
  padding: 0 calc((100vw - 750px) / 2) var(--headerHeight);
}
.worries > h2{
  font-size: 1.55rem;
  display: flex;
  justify-content: center;
  padding-bottom: 4rem;
  position: relative;
  z-index: 1;
  margin-bottom: 1rem;
  flex-direction: column;
}

.worries > h2::after{
  content: "";
  border-left: 3px dotted var(--defColor);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  height: 3rem;
}
.worries > h2 .wt_text{
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.worries ul{
  list-style: none;
  list-style-position: outside;
  box-sizing: border-box;
  display: flex;
  gap:1rem;
  flex-direction: column;
}
.worries ul li{
  background-color: #e8edef;
  display: flex;
  border-radius: 1rem;
  padding: 5px;
  box-sizing: border-box;
}
.worries ul li .w_illustration{
  width: 75px;
  height: 75px;
  background-color: #fff;
  border-radius: 1rem;
  flex: none;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.worries ul li .w_illustration figure{
  width: 50px;
}
.worries ul li .w_illustration::after{
  content: "";
  width: 1.15rem;
  height: 1.5rem;
  background-color: #fff;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  position: absolute;
  right: -1rem;
  top: 50%;
  transform: translateY(-50%);
}
.worries ul li p{
  width: calc(100% - 75px);
  padding-left: 1.5rem;
  box-sizing: border-box;
  font-weight: 700;
  padding-right: 1rem;
  display: flex;
  align-items: center;
}
.in_contact_area{
 background-color:#ff8853;
  padding: 2rem 5vw;
  box-sizing: border-box;
}
.in_contact_area .i_c_a_title{
  padding: 0 1rem;
  position: relative;
  z-index: 1;
  font-size: 1.15rem;
  width: fit-content;
  white-space: nowrap;
  color: #fff;
  font-weight: 700;
  margin: 0 auto 0.75rem auto;
}
.in_contact_area .i_c_a_title::before,
.in_contact_area .i_c_a_title::after{
  content: "";
  width: 2px;
  height: 1.5rem;
  position: absolute;
  z-index: 2;
  bottom: 0;
  background-color: #fff;
}
.in_contact_area .i_c_a_title::before{
  transform: rotate(-45deg);
  left: 0;
}
.in_contact_area .i_c_a_title::after{
  transform: rotate(45deg);
  right: 0;
}
.ic_inner{
  background-color: #fff;
  border-radius: 1rem;
  box-sizing: border-box;
  padding: 0.5rem;
}
.ic_inner .i_c_text{
  text-align: center;
  font-weight: 700;
}
/*メリット*/
.merit{
  background-color: #eef5ff;
  padding: var(--headerHeight) 5vw;
  box-sizing: border-box;;
}
body[wc-view-code="tb"] .merit{
  padding: var(--headerHeight) 10vw;
}
body[wc-view-code="pc"] .merit{
  padding: var(--headerHeight) calc((100vw - 1100px) / 2);
}
.merit > h2{
  font-size: 1.55rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-align: center;
  position: relative;
  z-index: 1;
}
.merit > h2 .bold.logo{
  display: inline-block;
  padding-left: calc(32px + 0.25rem);
  position: relative;
  z-index: 1;
}
.merit > h2 .bold.logo::before{
  content: "";
  width: 30px;
  height: 32px;
  -webkit-mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size:cover;
  mask-size: cover;
  background-color: #3d3d3d;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
/*
.merit > h2::before{
  content: "";
  width: 145px;
  height: 157px;
  -webkit-mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size:cover;
  mask-size: cover;
  background-color: #2a62d3;
  flex: none;
  display: table;
  position: absolute;
  left: 50%;
  transform: translate(-50%,-50%);
  top: 50%;
  opacity: 0.15;
}*/
.merit > h2 .dot_wrap{
  width: fit-content;
  margin:0.5rem auto 0;
}
.merit_wrap{
  display: flex;
  flex-wrap: wrap;
}
body:not([wc-view-code="sp"]) .merit_wrap{
  justify-content: center;
  gap: 1.5rem;
}
body[wc-view-code="sp"] .merit_wrap{
  flex-direction: column;
  gap: 1rem;
}
body[wc-view-code="pc"] .merit_wrap{
  gap: 1.5rem;
}
.merit_wrap article{
  background-color: #fff;
  border-radius: 1rem;
  padding: 1rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap:1rem;
  flex-direction: column;
}
body[wc-view-code="tb"] .merit_wrap article{
  width: calc((100% / 2) - 0.75rem);
}
body[wc-view-code="pc"] .merit_wrap article{
  width: calc((100% / 3) - 1rem);
}
.merit_wrap article > h2{
  font-weight: 700;
  text-align: center;
  color: #2a62d3;
  font-size: 1.15rem;
}
.merit_wrap article .m_illustration{
  width: 120px;
  height: 120px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position:center;
}
.merit_wrap article.yasui .m_illustration{
  background-image: url("/campaign/installment/img/merit/yasui02.png");
}
.merit_wrap article.design .m_illustration{
  background-image: url("/campaign/installment/img/merit/design02.png");
}
.merit_wrap article.nouki .m_illustration{
  background-image: url("/campaign/installment/img/merit/nouki02.png");
}
.merit_wrap article.m_contact .m_illustration{
  background-image: url("/campaign/installment/img/merit/contact02.png");
}
.merit_wrap article.sns .m_illustration{
  background-image: url("/campaign/installment/img/merit/sns02.png");
}
.merit_wrap article p{
  font-weight: 700;
}
/*なぜ*/
.why{
  background-color: #fff;
  padding: 3rem 0 var(--headerHeight) 0;
  box-sizing: border-box;
  overflow: hidden;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  position: relative;
  z-index: 1;
}
body[wc-view-type="tb-l"] .why{
  padding: var(--headerHeight) 10vw;
}
body[wc-view-code="pc"] .why{
  padding: var(--headerHeight) calc((100vw - 1100px) / 2);
}
.why::before{
  content: "";
  width: 450px;
  height: 370px;
  position: absolute;
  z-index: 1;
  background-color: #f3f2f2;
  border-radius:50%;
  top: -194px;
  left: 50%;
  transform: translateX(-50%);
}
body[wc-view-code="tb"] .why::before{
  width: 100vw;
  height: 380px;
}
body[wc-view-code="pc"] .why::before{
  width: 100vw;
  height: 420px;
}
.why > h2{
  padding-bottom: 4rem;
  position: relative;
  z-index: 1;
  font-size: 1.35rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1rem;
}
.why > h2::before{
  content: "";
  position: absolute;
  top: calc(50% - 3rem);
  left: 50%;
  z-index: -1;
  width: 180px;
  height: 180px;
  -webkit-mask-image:var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size:cover;
  background-color: #2a62d3;
  opacity: 0.15;
  transform: translate(-50%,-50%);
}
.why .w_answer{
}
body[wc-view-code="pc"] .why .w_answer{
  width: 750px;
  margin: 0 auto;
}
.why .w_answer p{
  font-weight: 700;
  position: relative;
  z-index: 1;
  margin-right: auto;
  margin-left: 1rem;
  width: calc(100% - (70px + 2.75rem));
  box-sizing: border-box;
  background-color: #e8edef;
  padding:0.5rem;
  border-radius:0.5rem;
  margin-bottom: 0.75rem;
  min-height: 90px;
  font-size: 1.25rem;
}
body[wc-view-code="tb"] .why .w_answer p{
  margin: 0 auto;
}
body[wc-view-code="tb"] .why .w_answer p{
  width: calc(80vw - (70px + 2.75rem));
}
body[wc-view-type="tb-l"] .why .w_answer p{
  width: calc(70vw - (70px + 2.75rem));
}
body[wc-view-code="pc"] .why .w_answer p{
  padding: 0.75rem;
}
.why .w_answer p::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  position: absolute;
  right: -0.65rem;
  top: 1.75rem;
  transform: rotate(45deg);
  background-color: #e8edef;
  z-index: -1;
}
.why .w_answer p::after {
  content: "";
  z-index: -1;
  bottom: -0.75rem;
  background-position:center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  background-image: url("right_03.png");
  width: 100px;
  height: 110px;
  flex:none;
  position: absolute;
  right: -103px;
}
.why .w_text{
  width: calc(100% - 10vw);
  margin: 1.5rem auto 0 auto;
  box-sizing: border-box;
}
body:not([wc-view-code="sp"]) .why .w_text{
  padding:1rem;
}
body[wc-view-code="tb"] .why .w_text{
 width: 80vw;
  margin-top: 0;
}
body[wc-view-type="tb-l"] .why .w_text{
 width: 70vw;
}
body[wc-view-code="pc"] .why .w_text{
  width: 750px;
  margin-top: -1rem;
}
.why .w_text > p{
  font-weight: 700;
  margin-top: 0.75rem;
  line-height: 1.8rem;
}
.why .w_text > p .bottom_border{
  font-size: 1.2rem;
}

/*プランのご紹介*/
.plan{
  padding:4.5rem 1rem 3rem 1rem;
  box-sizing: border-box;
  background: #D5E6FF;
background: linear-gradient(180deg,rgba(213, 230, 255, 1) 0%, rgba(238, 245, 255, 1) 100%);
  position: relative;
  z-index: 1;
}
.plan::before {
  content: "";
  width: 100vw;
  height: 3rem;
  background-color: #fff;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position:
center center;
  top: 0;
  left: 0;
  right: 0;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  z-index: 2;
}
body[wc-view-code="pc"] .plan::before{
  width: 200px;
  height: 4.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.plan .plan_title{
}
.plan .plan_title .p_in_title{
  font-weight: 700;
  letter-spacing: 1px;
  text-align: center;
  font-size: 1.25rem;
  margin-bottom: 1rem;
  margin:0 auto 1.5rem;
  display: table;
  line-height: 2.3rem;
}
.plan .plan_title .p_in_title .blue{
  font-size: 1.75rem;
  letter-spacing: 1px;
}
.plan .plan_title .p_in_title .p_big{
  font-size: 1.6rem;
  font-weight: 700;
}

.plan .plan_title .p_in_title .p_big.logo{
  display: inline-block;
  padding-left: calc(32px + 0.25rem);
  position: relative;
  z-index: 1;
}
.plan .plan_title .p_in_title .p_big.logo::before{
  content: "";
  width: 30px;
  height: 32px;
  -webkit-mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size:cover;
  mask-size: cover;
  background-color: #3d3d3d;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.plan .plan_block{
  display: flex;
  gap:1.5rem;
}
body[wc-view-code="sp"] .plan .plan_block{
  flex-direction: column;
  gap:1rem;
}
body[wc-view-code="tb"] .plan .plan_block{
  flex-wrap: wrap;
  justify-content: center;
  gap:1.5rem;
}
body[wc-view-type="tb-l"] .plan .plan_block{
  flex-wrap: nowrap;
}
body[wc-view-code="pc"] .plan .plan_block{
  width: 1100px;
  margin: 0 auto;
}
.plan .plan_block article{
  background-color: #fff;
  border-radius: 1rem;
  box-sizing: border-box;
  padding-bottom: 1rem;
}
body[wc-view-code="tb"] .plan .plan_block article{
  width: calc((100% / 2) - 0.75rem);
}
body[wc-view-type="tb-l"] .plan .plan_block article,
body[wc-view-code="pc"] .plan .plan_block article{
  width: calc((100% / 3) - 1rem);
}
.plan .plan_block article .p_b_top{
  display: flex;
  flex-direction: column-reverse;
}
.plan .plan_block article .p_b_top h2{
  font-weight: 700;
  font-size: 1.2rem;
  padding: 0 1rem;
  box-sizing: border-box;
  text-align: center;
}
body[wc-view-type="sp-s"] .plan .plan_block article .p_b_top h2{
  font-size: 1.15rem;
}
body[wc-view-type="tb-l"] .plan .plan_block article .p_b_top h2{
  font-size: 1.1rem;
}
.plan .plan_block article .p_b_top .p_t_title h3{
  background-color: #00913a;
  color: #fff;
  font-weight: 700;
  padding: 0.75rem 0.5rem;
  box-sizing: border-box;
  text-align: center;
  border-radius: 1rem 1rem 0 0;
  font-size: 1.25rem;
  position: relative;
  z-index: 1;
}
.plan .plan_block .light .p_b_top .p_t_title h3{
  background-color: #00c5db;
}
.plan .plan_block .standard .p_b_top .p_t_title h3{
  background-color: #009aec;
}
.plan .plan_block .premium .p_b_top .p_t_title h3{
  background-color: #2a62d3;
}
.plan .plan_block article .p_b_top .p_t_title h3 .recommendation{
  position: absolute;
  top: 0;
  right: 0.5rem;
  z-index: 2;
  display: block;
  width: 55px;
  height: 70px;
}
.plan .plan_block article .p_b_top .p_t_title h3 .recommendation::after{
  content: "";
  position: absolute;
  background-color: #e7c21b;
  clip-path: polygon(0 0, 100% 0%, 100% 100%, 50% 85%, 0 100%);
  top: 0;
  right: 0;
  z-index: -1;
  width: 55px;
  height: 70px;
}
.plan .plan_block article .p_b_top .p_t_title h3 .recommendation > span{
  line-height: 1em;
  font-weight: 700;
  font-size: 1.25rem;
  width: 55px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 1rem;
  box-sizing: border-box;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
}
.plan .plan_block article .p_b_top .p_t_title .p_icon{
  width: 90px;
  height: 90px;
  background-color: #00913a;
  display: table;
  margin:1rem auto;
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size:cover;
  mask-size: cover;
}
.plan .plan_block .light .p_b_top .p_t_title .p_icon{
  background-color: #00c5db;
    -webkit-mask-image: url("/campaign/installment/img/svg/light.svg");
  mask-image: url("/campaign/installment/img/svg/light.svg");
}
.plan .plan_block .standard .p_b_top .p_t_title .p_icon{
  background-color: #009aec;
    -webkit-mask-image: url("/campaign/installment/img/svg/standard.svg");
  mask-image: url("/campaign/installment/img/svg/standard.svg");
}
.plan .plan_block .premium .p_b_top .p_t_title .p_icon{
  background-color: #2a62d3;
    -webkit-mask-image: url("/campaign/installment/img/svg/premium.svg");
  mask-image: url("/campaign/installment/img/svg/premium.svg");
}
.plan .plan_block article .place{
  width: calc(100% - 2rem);
  border-top:1px solid #cbe197;
  border-bottom:1px solid #cbe197;
  box-sizing: border-box;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin: 1rem auto;
}
.plan .plan_block .light .place{
  border-color: #00c5db;
}
.plan .plan_block .standard .place{
  border-color: #009aec;
}
.plan .plan_block .premium .place{
  border-color: #2a62d3;
}
.plan .plan_block article .place span{
  margin-block: var(--leading-trim);
  font-weight: 700;
  line-height: 1em;
  font-family: "Number";
}
.plan .plan_block article .place .month,
.plan .plan_block article .place .unit{
  font-size: 1.15rem;
}
.plan .plan_block article .place .money{
  font-size: 3rem;
}
body[wc-view-type="tb-l"] .plan .plan_block article .place .money{
  font-size: 2.8rem;
}
.plan .plan_block article dl{
  width: calc(100% - 2rem);
  margin: 0 auto;  padding-left: 1rem;
  box-sizing: border-box;
}
.plan .plan_block article dl dt{
}
.plan .plan_block article dl dt .p_cont_title{
  line-height: 1em;
  display: table;
  font-weight: 700;
  letter-spacing: 1px;
  border:solid 1px #cbe197;
  box-sizing: border-box;
  border-radius:1rem;
  padding:0.25rem 0.7rem;
  font-size: 0.9rem;
}
.plan .plan_block .light dl dt .p_cont_title{
  border-color: #00c5db;
}
.plan .plan_block .standard dl dt .p_cont_title{
  border-color: #009aec;
}
.plan .plan_block .premium dl dt .p_cont_title{
  border-color: #2a62d3;
}
.plan .plan_block article dl dd{
  padding: 0 1rem 0 0;
  box-sizing: border-box;
}
.plan .plan_block article dl dd ul{
  padding-left: 1.25rem;
  list-style-position: outside;
}
.plan .plan_block article dl dd ul li{
  font-weight: 700;
  margin-top: 0.25rem;
  font-size: 0.9rem;
}
.plan .note{
  margin: 1rem auto;
}
body:not([wc-view-code="sp"]) .plan .note{
  width: fit-content;
}
.plan .btn{
  margin: 0 auto;
}
.plan .btn_big{
  margin: 1rem auto 0 auto;
}
/*デモ*/
.demo{
  background-color: #fff;
  box-sizing: border-box;
  padding: var(--headerHeight) 0;
}
body[wc-view-code="sp"] .demo{
}
.demo > h2{
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-align: center;
  font-size: 1.35rem;
  line-height: 2.2rem;
}
.demo > h2 .bold.logo{
  display: inline-block;
  padding-left: calc(32px + 0.25rem);
  position: relative;
  z-index: 1;
}
.demo > h2 .bold.logo::before{
  content: "";
  width: 30px;
  height: 32px;
  -webkit-mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  mask-image: url("/campaign/installment/img/svg/combo_logo.svg?202505011726");
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size:cover;
  mask-size: cover;
  background-color: #3d3d3d;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.demo > p{
  padding: 0 7vw 1rem;
  box-sizing:border-box;
  font-weight: 700;
}
body[wc-view-code="sp"] .demo > p{
  padding: 0 7vw 1rem;
}
body[wc-view-code="pc"] .demo > p{
  text-align: center;
}
.demo_slider{
}
.demo_slider .d_slider_block{
}
.demo_slider .d_slider_block a{
  width: 270px !important;
  margin: 0 0.5rem !important;
  background-color: #e8edef;
  height: auto !important;
  border-radius: 1rem;
  pointer-events: inherit !important;
  cursor: pointer !important;
  display: block;
}
body[wc-view-code="pc"] .demo_slider .d_slider_block  a{
  width: 350px !important;
  height: 357px !important;
}
.demo_slider .d_slider_block a{
  text-decoration: none;
}
.demo_slider .d_slider_block a article{
}
body[wc-view-code="pc"] .demo_slider .d_slider_block a article{
  height: 357px !important;
}
.demo_slider .d_slider_block a article *{
  color: var(--defColor);
}
.demo_slider .d_slider_block a article figure{
}
.demo_slider .d_slider_block a article figure img{
  aspect-ratio: 177 / 122 !important;
  border-radius: 1rem 1rem 0 0;
}
body[wc-view-code="sp"] .demo_slider .d_slider_block a article figure img{
  aspect-ratio: 1.414/0.85 !important;
}
.demo_slider .d_slider_block a article .d_text{
  padding: 0.5rem;
  box-sizing: border-box;
}
.demo_slider .d_slider_block a article .d_text > dl{
  display: flex;
  align-items: flex-start;
  overflow: hidden;
}
.demo_slider .d_slider_block a article .d_text > .color{
  height: 20px;
}
body:not([wc-view-code="sp"]) .demo_slider .d_slider_block a article .d_text > .color{
  height: 22px;
}
.demo_slider .d_slider_block a article .d_text > dl:not(:first-of-type){
  margin-top: 0.25rem;
}
.demo_slider .d_slider_block a article .d_text > dl dt{
  flex: none;
  margin-right: 0.75rem;
}
.demo_slider .d_slider_block a article .d_text > dl dt h3{
}
.demo_slider .d_slider_block a article .d_text > dl dt h3 .dt_title{
  display: table;
  background-color: #fff;
  padding: 0.25rem 0.5rem;
  border-radius: 1rem;
  font-weight: 700;
  font-size: 0.75rem;
  box-sizing: border-box;
  color: var(--defColor);
  line-height: 1em;
}
.demo_slider .d_slider_block a article .d_text > dl dd{
  flex-wrap: nowrap !important;
  -webkit-mask-image: -webkit-linear-gradient(left, black 0,black calc( 100% - 4.5rem),transparent calc( 100% - 0.75rem));
  mask-image: linear-gradient(to right, black 0,black calc( 100% - 4.5rem),transparent calc( 100% - 0.75rem));
  width: 100%;
}
.demo_slider .d_slider_block a article .d_text > dl dd p,
.demo_slider .d_slider_block a article .d_text > dl dd span{
  font-weight: 700;
  font-size: 0.9rem;
}
.demo_slider .d_slider_block a article .d_text > dl dd span{
  flex: none;
}
.demo_slider .d_slider_block a article .d_text > dl dd p{
}
.demo_slider .d_slider_block a article .d_text > .genre dd,
.demo_slider .d_slider_block a article .d_text > .color dd{
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.5rem;
  height: 100%;
  overflow:hidden;
}
.demo_slider .d_slider_block a article .d_text > .genre dd span{
    max-height: 40px;
}
body:not([wc-view-code="sp"]) .demo_slider .d_slider_block a article .d_text > .genre dd span{
    max-height: 44px;
}
.demo_slider .d_slider_block a article .d_text > .color dd span::after{
  content: "・";
  margin-left: 0.25rem;
}
.demo_slider .d_slider_block a article .d_text > .color dd span:last-of-type::after{
  display: none;
}
.demo_slider .d_slider_block a article .arrow{
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--defColor);
  display: flex;
  width: fit-content;
  align-items: center;
  margin-left: auto;
}
.demo_slider .d_slider_block a article .arrow::after{
  content: "";
  width: 25px;
  height: 25px;
  -webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: var(--defColor);
  display: table;
}
.demo .btn_big{
  margin: 1rem auto 0 auto;
}
.demo .btn{
  margin: 1.5rem auto 0 auto;
}
/*デモサイトスライダー変更*/
.demo_slider .cs_inner{
  height: auto !important;
}
.demo_slider .comboslider-slide .comboslider .cs_item img:not(.wcexclusion),
.demo_slider .comboslider-slide .comboslider .cs_item video:not(.wcexclusion){
  height: auto !important;
}
.demo_slider .comboslider-slide .comboslider .cs_item img:not(.wcexclusion){
  width: 100% !important;
}
.demo_slider .cs_wrap:not(.cssinglemode) .csarrowwrap{
  top:50% !important;
}
/*よくある質問*/
.faq{
  box-sizing: border-box;
  background-color: #eef5ff;
}
body[wc-view-code="sp"] .faq{
  padding: var(--headerHeight) 7vw;
}
body[wc-view-code="tb"] .faq{
  padding: var(--headerHeight) 10vw;
}
body[wc-view-code="pc"] .faq{
  padding: var(--headerHeight) calc((100vw - 750px) / 2);
}
.faq > h2{
  font-size: 1.35rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.5rem;
}
.faq .faq_inner{
}
.faq .faq_inner dl{
  background-color: #fff;
  border-radius: 0.75rem;
}
.faq .faq_inner dl:not(:first-of-type){
  margin-top: 0.75rem;
}
.faq .faq_inner dl dt,
.faq .faq_inner dl dd{
  box-sizing: border-box;
}
.faq .faq_inner dl dt{
  display: flex;
  align-items: flex-start;
  padding: 0.5rem 2rem 0.5rem 0.5rem;
}
.faq .faq_inner dl dt .circle,
.faq .faq_inner dl dd .circle{
  width: 35px;
  height: 35px;
  flex: none;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  line-height: 1em;
  border-radius: 50%;
  margin-right: 0.5rem;
}
.faq .faq_inner dl dt .circle {
  background-color: #eef5ff;
  color: #2a62d3;
}
.faq .faq_inner dl dd .circle {
  background-color: #2a62d3;
  color: #fff;
}
.faq .faq_inner dl dt p{
  width: calc(100% - 35px);
}
.faq .faq_inner dl dt p,
.faq .faq_inner dl dd .answer_box p{
  font-weight: 700;
}
.faq .faq_inner dl dd{
}
.faq .faq_inner dl dd .answer_box{
  padding: 0.5rem;
  border-top: 2px solid #eef5ff;
  display: flex;
}
.faq .faq_inner dl dd .answer_box p{
  width: calc(100% - 35px);
}
[wc-accordion] span.acdeco::after{
  background-color: #2a62d3 !important;
}
/*お問い合わせ*/
.contact{
  padding: var(--headerHeight) 1rem;
  box-sizing: border-box;
  background-color: #fff;
  position: relative;
  z-index: 1;
}
body[wc-view-type="tb"] .contact,
body[wc-view-type="tb-l"] .contact{
  padding: var(--headerHeight) 10vw;
}
body[wc-view-type="pc"] .contact{
  padding: var(--headerHeight) calc((100vw - 750px) / 2);
}
.contact .induction{
  position: absolute;
  top: -25px;
  z-index: 2;
  left:50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.contact .c_title{
  font-size: 1.5rem;
  font-weight: 700;
  width: fit-content;
  letter-spacing: 7px;
  margin:0 auto 1.5rem;
}
.contact .c_text{
  line-height: 1.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
body:not([wc-view-code="sp"]) .contact .c_text br{
  display: none;
}
body[wc-view-type="sp-s"] .tunagi .c_tunagi dd .price_box .in_price_box{
  font-size:1.4rem;
}
body[wc-view-type="pc"] .contact .c_text,
body[wc-view-type="tb-l"] .contact .c_text{
  text-align: center;
}
.contact .c_tel{
}
body[wc-view-type="tb"] .contact .c_tel,
body[wc-view-type="tb-l"] .contact .c_tel,
body[wc-view-type="pc"] .contact .c_tel{
  width: 550px;
  margin: 1.5rem auto 2rem;
}
.contact .c_tel dt{
  background-color: #e8edef;
  padding: 0.5rem 0.5rem;
  box-sizing: border-box;
  margin-bottom: 2px;
  text-align: center;
  font-weight: 700;
  border-radius: 1rem 1rem 0 0;
}
.contact .c_tel dd{
  background-color: #e8edef;
  border-radius:0 0 1rem 1rem;
  padding:0.5rem 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.contact .c_tel dd a{
  display: flex;
  width: fit-content;
  font-family: "Number";
  font-weight: 700;
  text-decoration:none;
  font-size: 1.8rem;
  color: var(--defColor);
}
.contact .c_tel dd .b_time{
}
.contact .c_tel dd .b_time p{
  width: fit-content;
  font-weight: 700;
  display: flex;
  align-items: center;
}
.contact .c_tel dd .b_time p span{
  display: table;
  background-color: #fff;
  padding:0.35rem 0.5rem 0.25rem;
  line-height: 1em;
  font-weight: 700;
  font-size: 0.85rem;
  margin-right: 0.5rem;
  border-radius:1rem;
}
.form{
  margin-top: 1rem;
}
.form dl{
  display: flex;
}
body[wc-view-type="tb"] .form dl,
body[wc-view-type="sp"] .form dl,
body[wc-view-type="sp-s"] .form dl{
  flex-direction: column;
}
.form dl:not(:first-of-type){
  margin-top: 1rem;
}
.form dl dt{
  display: flex;
  font-weight: 700;
  padding-bottom: 0.25rem;
  align-items: center;
}
body[wc-view-type="tb-l"] .form dl dt,
body[wc-view-type="pc"] .form dl dt{
  width: 200px;
}
.form dl dt label{
  font-weight: 700;
}
.form dl dt::before{
  flex:none;
  box-sizing: border-box;
  font-weight: 700;
  margin-right: 0.5rem;
  font-size: 0.85rem;
  padding:0 0.5rem;
  border-radius: 5px;
}
.form dl dt.required::before{
  content: "必須";
  color: #fff;
  background-color: #2a62d3;
}
.form dl dt.any::before{
  content: "任意";
  color: #fff;
  background-color: #bbb;
}
.form dl dd{
}
body[wc-view-type="tb-l"] .form dl dd,
body[wc-view-type="pc"] .form dl dd{
  width: calc(100% - 200px);
}
[wc-form][captcha-state] [wc-captcha]{
  border: none !important;
}
[wc-form][captcha-state] [wc-captcha] .captchabtn{
  justify-content: center;
}
.btnswrap{
  display: flex;
  justify-content: center;
  gap:1rem;
}
.wc-button{
  display: table !important;
}