@charset "utf-8";





/*----- present -----*/


#present {


  background: #21a5e0 url(../img/present/bg.png) no-repeat center top;


  background-size: contain;


}


#present::after {


  content:"";


  display: block;


  width: 75rem;


  height: 0.2rem;


  background: linear-gradient(to right, #965a1e 0%,#b49629 18%,#faf290 50%,#b49628 82%,#965a1e 100%);


}


#present_bln {


  width: 43.6rem;


}


#present_ttl {


  width: 54rem;


}


#present_img01 {


  margin-top: -5rem;


}


#present_img02 {


  width: 45rem;


}





/*----- ba -----*/


#ba {


  background: #edf9ff url(../img/ba/ttl_bg.webp) no-repeat center top;


  background-size: contain;


}


#ba_ttl {


  width: 68.2rem;


}


#ba02 {


  background: url(../img/ba/bg.webp) no-repeat center bottom;


  background-size: contain;


}





/*----- voice01 -----*/


#voice01 {


  background: url(../img/voice01/bg.webp) no-repeat center -5.5rem;


  background-size: cover;


}


.voice_box h3 {


  padding: 0 0 1rem 0;


  margin: 0 0 1rem 0;


  border-bottom: 1px solid #0096ff;


  position: relative;


}


.voice_bln {


  position: absolute;


  top: 20rem;


  right: -3rem;


  width: 16.2rem;


}





/*----- issue -----*/


#suddenly {


  background: url(../img/suddenly/bg.webp) no-repeat center top;


  background-size: cover;


  height: 32.2rem;


}


#suddenly_ttl {


  width: 45.4rem;


}


/*----- issue -----*/


#issue {


  background: #EEE;


}


#issue_img01 {


  width: 41.7rem;


  position: absolute;


  right: 0;


  bottom: 0;


}


#issue_img02 {


  width: 39.5rem;


}


#issue_img03 {


  width: 7rem;


  position: absolute;


}


#issue_arw {


  width: 8rem;


  position: absolute;


  left: 0;


  right: 0;


  bottom: -2rem;


  margin: 0 auto;


  animation: arw 0.7s ease-in infinite alternate;


}


@keyframes arw{


  0% {bottom:-1rem;}


  100% {bottom:-3rem;}


}





#issue02 {


  background: #edf9ff url(../img/issue/ttl_bg.webp) no-repeat center top;


  background-size: contain;


}


#issue_img04 {


  width: 38.7rem;


  position: absolute;


  left: 0;


  top: 13.2rem;


}


#issue_img05 {


  width: 39.5rem;


  margin-bottom: 1rem;


}


#issue_img07 {


  width: 30rem;


  position: absolute;


  right: 0;


  top: 0.9rem;


}


#issue_pointer {


  width: 5rem;


  position: absolute;


  left: 38.5rem;


  bottom: -1.5rem;


}








/*----- fan -----*/


#fan {


  background: url(../img/fan/bg.webp) no-repeat center top;


  background-size: cover;


}


#fan::before {


    content:"";


    display: block;


    width: 75rem;


    height: 0.2rem;


    background: linear-gradient(to right, #965a1e 0%,#b49629 18%,#faf290 50%,#b49628 82%,#965a1e 100%);


  }


#fan_num {


  margin: 0 1rem 0 0;


  position: relative;


  top: 0.5rem;


}


.fan_area {


  margin: 0 1rem;


}


#fan_ttl {


  width: 62rem;


}


#fan_bln {


  width: 38.8rem;


}


.fan_img {


  width: 26rem;


}





/*----- movie -----*/


#movie_img {


  width: 21.8rem;


}


#movie {


  background: #edf9ff url(../img/movie/ttl_bg.webp) no-repeat center top;


  background-size: contain;


}





/*----- achievement -----*/


#achievement {


  background: url(../img/achievement/bg.webp) no-repeat center top;


  background-size: 100% auto;


}


#achievement .m_box {


  height: 56.5rem;


  padding-top: 16rem;


}


#achievement_shop {


  width: 11.2rem;


  position: absolute;


  left: 0;


  right: 0;


  bottom: 6rem;


  margin: 0 auto;


}





/*----- award -----*/


.award {


  background: url(../img/award/bg.webp) no-repeat center bottom;


  background-size: cover;


}


.award_ttl {


  width: 55.5rem;


}


.award_img {


  width: 69.2rem;


}


.award_confetti {


  width: 74.3rem;


  position: absolute;


  left: 0;


  bottom: 0.6rem;


}


.award_txt {


  width: 22.6rem;


}





/*----- trouble -----*/


#trouble {


  background: url(../img/trouble/bg.webp) no-repeat center top;


  background-size: cover;


}


.trouble_box {


  height: 32.4rem;


  padding: 8rem 0 0 0;


}


.trouble_box:nth-child(2) {


  background: url(../img/trouble/im01.webp) no-repeat 28.6rem top;


  background-size: 40.9rem 32.4rem;


}


.trouble_box:nth-child(3) {


  background: url(../img/trouble/img02.webp) no-repeat 5rem top;


  background-size: 40.9rem 32.4rem;


}


.trouble_box ul {


  width: 37.8rem;


}


.trouble_box li {


  background: rgb(0 0 0 / 85%);


  padding: 1.5rem 0;


  width: 34.6rem;


  display: inline-block;


  position: relative;


}


.trouble_box li:after {


  content: "";


  width: 100%;


  height: 100%;


  position: absolute;


  top: 0.3rem;


  left: 0.3rem;


  border-right: 2px solid rgb(0 0 0 / 85%);


  border-bottom: 2px solid rgb(0 0 0 / 85%);


}


.trouble_box:nth-child(2) li:nth-child(1) {


  margin: 0 0 1.5rem 2rem;


}


.trouble_box:nth-child(3) li:nth-child(1) {


  margin: 0 0 1.5rem 3rem;


}





/*----- solution -----*/


#solution {


  background: url(../img/solution/bg.webp) no-repeat center top;


  background-size: cover;


}


#solution .box {


  height: 80.4rem;


}


#solution_bln {


  width: 41.2rem;


  position: relative;


  top: -3rem;


  margin-bottom: -1.5rem;


}


#solution_logo {


  width: 32.4rem;


}


#solution_ttl {


  width: 52rem;


}


.solution_img {


  position: absolute;


}


#solution_img01 {


  width: 28.7rem;


  left: 2rem;


  top: 43.5rem;


}


#solution_img02 {


  width: 28.7rem;


  left: 3rem;


  top: 60.9rem;


}


#solution_img03 {


  width: 30.6rem;


  right: 2rem;


  top: 52.7rem;


}








/*----- reason -----*/


#reason {


  background: #edf9ff url(../img/reason/ttl_bg.webp) no-repeat center top;


  background-size: contain;


  padding: 5.5rem 0 0 0;


}


#reason_ttl {


  width: 58.5rem;


}


.reason_box {


  background: #FFF;


  border-left: 0.3rem solid #1074cc;


  border-right: 0.3rem solid #052e78;


}


.reason_box::after {


  content:"";


  display: block;


  width: 100%;


  height: 0.3rem;


  background: #1074cc;


  background: linear-gradient(to right, #1074cc 0%,#052e78 100%);





}


.reason_box h3 {


  background: #1074cc;


  background: linear-gradient(to right, #1074cc 0%,#052e78 100%);


  padding: 2.5rem 3rem;


}


.reason_num {


  width: 11.8rem;


  margin-right: 2rem;


}


#reason01_machine {


  position: absolute;


  right: 2rem;


  top: 32rem;


  width: 28.6rem;


}


.reason_c_img {


  width: 21rem;


  margin-right: 1.5rem;


}


.r01_img05 {


  width: 41.6rem;


}


#r01_img08 {


  width: 22.6rem;


}


#r02_img05 {


  width: 21.8rem;


}


#r02_img06 {


  width: 39rem;


  position: absolute;


  top: 16.4rem;


  left: 6rem;


}


#r02_img07 {


  width: 61.6rem;


}


#r02_img08 {


  width: 14.6rem;


  position: absolute;


  top: 4.7rem;


  right: 4.8rem;


}


#r02_img09 {


  width: 21rem;


  position: absolute;


  right: 3rem;


  bottom: 4rem;


}


#r03_img03 {


  width: 12.4rem;


  position: absolute;


  top: 20.8rem;


  right: 17rem;


}


#r03_img04 {


  width: 11.8rem;


  position: absolute;


  left: 26.3rem;


  bottom: 4rem;


  z-index: 1;


}


#r04_img03 {


  width: 51.6rem;


}


#r04_img04 {


  width: 63.1rem;


}


#reason04_bg {


  background: url(../img/reason/r04_img02.webp) no-repeat center top;


  background-size: contain;


  padding: 3.5rem 0 0 0;


  height: 53.7rem;


}








/*----- first -----*/


#first {


  background: url(../img/first/bg.webp) no-repeat center top;


  background-size: cover;


  padding: 8.5rem 0 0 0;


  height: 46.9rem;


}


#first .r_txt {


  width: 43.8rem;


}


#first_img01 {


  width: 19rem;


}


#first_img02 {


  width: 38rem;


}


#first_img03 {


  width: 43.8rem;


}





/*----- free -----*/


.price {


  width: 32rem;


}


.free_txt {


  width: 40.3rem;


}


#price_ttl {


  background: #005ad2;


  padding: 1.5rem 3rem;


  cursor: pointer;


  position: relative;


}


/*アイコンの＋と×*/


#price_ttl::after {


  content:'';


  position: absolute;


  width: 3.4rem;


  height: 3.4rem;


  top: calc(50% - 1.7rem);


  right: 3rem;


  background: url(../img/price/icon01.svg) no-repeat center top, url(../img/price/icon02.svg) no-repeat center top;


  background-size: contain;


  transition: 0.3s;


}


/*　closeというクラスがついたら形状変化　*/


#price_ttl.active::after {


  background: url(../img/price/icon02.svg) no-repeat center top;


  background-size: contain;


}





/*----- compare -----*/


#compare_ttl {


  width: 50rem;


}





/*----- free -----*/


#free_img01 {


  width: 21.8rem;


}


#free_img02 {


  width: 37rem;


}


#free_box {


  background: #edf9ff;


  width: 64rem;


  margin: 0 auto;


  border-radius: 3rem;


}


.free_box {


  width: 71rem;


  height: 32.4rem;


  margin: 0 0 1.5rem -6rem;


  padding: 2rem 0 0 0;


}


.sec li.price:first-child {


  margin-right: 1rem;


}


.free_box:nth-child(2) {


  background: url(../img/free/img03.webp) no-repeat right top;


  background-size: 40.9rem 32.4rem;


}


.free_box:nth-child(3) {


  background: url(../img/free/img04.webp) no-repeat right top;


  background-size: 40.9rem 32.4rem;


}


.free_box:nth-child(4) {


  background: url(../img/free/img05.webp) no-repeat right top;


  background-size: 40.9rem 32.4rem;


  margin: 0 0 3rem -6rem;


}


.free_txt {


  margin-bottom: 0.3rem;


}


.gold_box {


  width: 71rem;


  border: 0.2rem solid #b4963c;


  background: #FFF;


  margin-left: -6rem;


}


#repayment_box {


  width: 39.5rem;


}


#repayment_notes {


  margin: 0 0 0 -6rem;


}


#free_img06 {


  width: 22.7rem;


}





/*----- warranty -----*/


#warranty {


  background: url(../img/warranty/bg.webp) no-repeat center top;


  background-size: cover;


}


#warranty_img01 {


  width: 21.6rem;


}


#warranty_txt {


  width: 37.4rem;


}





/*----- voice02 -----*/


#voice02_bln {


  width: 40.3rem;


  margin: -4.5rem auto 2rem auto;


}


#voice02_ttl {


  width: 69rem;


}


.voice02_img {


  width: 23rem;


}





/*----- counseling -----*/


#counseling {


  background: url(../img/counseling/bg.webp) no-repeat center top;


  background-size: cover;


  height: 32.5rem;


  padding: 6rem 22rem 0 0;


}


/*----- flow -----*/


#flow {


  background: #edf9ff url(../img/flow/ttl_bg.webp) no-repeat center top;


  background-size: contain;


}


.flow_box {


  background: #FFF;


  border-radius: 1.5rem;


  box-shadow: 0 0 0.6rem #082d5999;


  padding: 4rem 3rem;


}


.flow_box::after {


  content:"";


  display: block;


  width: 30rem;


  height: 6rem;


  position: absolute;


  bottom: -6rem;


  left: 0;


  right: 0;


  margin: 0 auto;


  background: url(../img/flow/arw.webp) no-repeat right top;


  background-size: 30rem;


  mix-blend-mode: multiply;


}


.flow_box:last-child::after {


  content:none;


}


.flow_num {


  width: 13rem;


  margin-top: -10.8rem;


  position: relative;


}


.flow_img {


  margin-top: -3rem;


}





/*----- promise -----*/


#promise {


  background: #edf9ff url(../img/promise/ttl_bg.webp) no-repeat center top;


  background-size: contain;


}


.promise_box {


  padding: 9rem 0 0 0;


  height: 40rem;


}


.promise_box p {


  padding: 0 3rem 0 26rem;


}


.promise_box:nth-child(2) {


  background: url(../img/promise/img01.webp) no-repeat center top;


  background-size: cover;


}


.promise_box:nth-child(3) {


  background: url(../img/promise/img02.webp) no-repeat center top;


  background-size: cover;


}


.promise_box:nth-child(4) {


  background: url(../img/promise/img03.webp) no-repeat center top;


  background-size: cover;


}





/*----- clean -----*/


#clean {


  background: #edf9ff url(../img/clean/ttl_bg.webp) no-repeat center top;


  background-size: contain;


}





/*----- shop -----*/





/*----- shop -----*/


.shop_box, .shop_area, .shop_info {


  display: none;


}


#shop_list .collapse {


  position: relative;


  cursor: pointer;


}





#shop_list .collapse::before, #shop_list .collapse::after {


  content: "";


  display: block;


  background: #FFF;


  border-radius: 0.2rem;


  position: absolute;


}


#shop_list .collapse::before {


  width: 0.4rem;


  height: 2.4rem;


  top: calc(50% - 1.2rem);


  right: 4rem;


}


#shop_list .collapse::after {


  width: 2.4rem;


  height: 0.4rem;


  top: calc(50% - 0.2rem);


  right: 3rem;


}


#shop_list .collapse.active::before {


  display: none;


}





#shop_list li:first-child .shop_ttl01 {


  border-radius: 0.9rem 0.9rem 0 0;


}


#shop_list li:last-child .shop_ttl01 {


  border-radius: 0 0 0.9rem 0.9rem;


}


#shop_list li:last-child .shop_ttl01.active {


  border-radius: 0;


}


.shop_ttl01 {


  background: #005ad2;


  color: #FFF;


  padding: 1.5rem 3rem;


  margin: 0 0 0.2rem 0;


  font-weight: 400;


}


.shop_area {


  background: #FFF;


  padding: 3rem;


  margin: 0 0 0.2rem 0;


}


.shop_ttl02 {


  background: #21a5e0;


  color: #FFF;


  padding: 1.5rem 3rem;


  margin: 0 0 0.2rem 0;


  font-weight: 400;


}


.shop_ttl03 {


  background: #21a5e0;


  color: #FFF;


  padding: 1.5rem 3rem;


  margin: 0 0 0.2rem 0;


  font-weight: 400;


}


.shop_info {


  padding: 1.5rem 0 3rem 0;


}


.shopMapDes {


margin: 0 0 1.5rem 0;


}


.dateNote{


  font-size: 14px;


  font-weight: 700;


  color: #ff0000;


  margin-bottom: 1rem;


}





/*----- faq -----*/





/*アコーディオンタイトル*/


.faq_ttl {


  cursor: pointer;


  padding: 2rem 7rem 2rem 7rem;


  position: relative;


  background: #21a5e0;


}


.faq_ttl::before {


  content: "";


  display: block;


  width: 3rem;


  height: 3rem;


  background: url(../img/faq/q.webp) no-repeat center top;


  background-size: 3rem;


  position: absolute;


  top: 3rem;


  left: 3rem;


}


/*アコーディオンで現れるエリア*/


.faq_info {


  display: none;/*はじめは非表示*/


  background: #FFF;


  padding: 3rem 3rem 3rem 7rem;


  position: relative;


}


.faq_info::before {


  content: "";


  display: block;


  width: 2.8rem;


  height: 2.3rem;


  background: url(../img/faq/a.webp) no-repeat center top;


  background-size: 2.8rem;


  position: absolute;


  top: 3rem;


  left: 3rem;


}





/*アイコンの＋と×*/


.faq_ttl::after {


  position: absolute;


  content:'';


  width: 2.9rem;


  height: 2.9rem;


  top: calc(50% - 1.5rem);


  right: 2rem;


  background: url(../img/faq/icon02.webp) no-repeat center top, url(../img/faq/icon01.webp) no-repeat center top;


  background-size: contain;


  transition: 0.3s;


}


/*　closeというクラスがついたら形状変化　*/


.faq_ttl.close::after {


background: url(../img/faq/icon01.webp) no-repeat center top;


background-size: contain;


}








.notes {


  border: 1px solid #21a5e0;


}


/*----- footer -----*/


footer a {


  display: inline-block;


  margin: 0 1rem 2rem;


}


.dateNote{


  font-size: 14px;


  font-weight: 700;


  color: #ff0000;


  margin-bottom: 1rem;


}





@media screen and (min-width:600px) {





}





@media screen and (max-width:599px) {


  .trouble_box li:after {


    border-right: 1px solid rgb(0 0 0 / 85%);


    border-bottom: 1px solid rgb(0 0 0 / 85%);


  }


  #warranty_img02 {


    margin-top: 1rem;


  }


}