@charset "utf-8";
/* CSS Document */
/* top.css */
.fv__box {
  position: relative;
  display: block;
  box-sizing: border-box;
  margin: 0 auto;
  width: 100%;
  max-width: 1600px;
}
.fv__icon {
  background: url(img/fv_icon_bg.png) no-repeat 50% 50%;
  -webkit-background-size: contain;
  background-size: contain;
  position: absolute;
  top: calc(50 / 1270 * 100%);
  left: calc(20  / 750 * 100%);
  height: clamp(85px,calc(170 / 750 * 100vw),170px);
  width: clamp(85px,calc(170 / 750 * 100vw),170px);
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  font-size: clamp(17px,calc(34 / 750 * 100vw),34px);
  color: #fff;
  text-align: center;
  line-height: calc(42 / 34 * 1em);
  font-weight: 700;
}


@media screen and (min-width:750px){
  #fv {
    background: #9ed5ff;
  }
.fv__icon {
  position: absolute;
  top: calc(40 / 830 * 100%);
  left: calc(280  / 1600 * 100%);
  height: clamp(80px,calc(160 / 1600 * 100vw),160px);
  width: clamp(80px,calc(160 / 1600 * 100vw),160px);
  font-size: clamp(15px,calc(30 / 1600 * 100vw),30px);
  line-height: calc(40 / 30 * 1em);
}
}
/* -------------------------------------------------- */
/* cta  */
/* -------------------------------------------------- */

.cta {
  display: block;
  margin: 0 auto;
  max-width: 1000px;
}
.cta.cta--m0 {
  margin: 0 auto;
} 
.cta .cta__box {
  position: relative;
  display: block;
}
.cta .cta__btn {
  position: absolute;
  bottom: calc(190 / 930 * 100%);
  left: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 0 calc((750 - 676) / 750 * 100% * 0.5);
  z-index: 3;
}
.cta .cta__text {
  position: absolute;
  bottom: calc(10 / 910 * 100%);
  left: 0;
  box-sizing: border-box;
  text-align: center;
  font-size: calc(36 / 26 * 1em);
  font-weight: 700;
  padding: calc(40 / 750 * 100%) calc(10 / 750 * 100%) calc(40 / 750 * 100%);
  letter-spacing: 0;
  width: 100%;
  z-index: 2;
}
.cta .cta__timer {
  display: inline-block;
  margin-bottom: .5em;
  color: #e60000;
  font-size: calc(58 / 36 * 1em);
}
.cta .cta__timer span {
  font-size: calc(48 / 58 * 1em);
}
.cta p {
  margin: 0 auto;
}

@media screen and (min-width:750px){
  .cta {
    margin: clamp(40px,calc(80 / 1000 * 100%),80px) auto;
  }
.cta .cta__btn {
  position: absolute;
  bottom: calc(110 / 600 * 100%);
  left: calc(333 / 1000 * 100%);
  width: calc(636 / 1000 * 100%);
  max-width: 636px;
  box-sizing: border-box;
  padding:0;
}
.cta .cta__text {
  box-sizing: border-box;
  font-size: calc(28 / 18 * 1em);
  padding: 14px 10px 36px;
  letter-spacing: 0.04em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: baseline;
  align-items: baseline;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  word-break: break-all;
  white-space: nowrap;
  text-align: center;
  line-height: 1.3em;
  }
.cta .cta__timer {
  font-size: calc(48 / 28 * 1em);
  line-height: 1.3em;
  margin: 0 .3em 0 0;
}
.cta .cta__timer span {
  font-size: calc(38 / 48 * 1em);
}

.cta p {
  margin: 0 ;
}

}
/*---------*/


.example__box {
  position: relative;
  display: block;
  margin: 0 auto;
}
.example__text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  box-sizing: border-box;
  padding: calc(400 / 750 * 100%) calc(50 / 750 * 100%) calc(20 / 750 * 100%) calc(50 / 750 * 100%); 
}

.prevent__box {
  position: relative;
  display: block;
  margin: 0 auto;
}
.prevent__text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  box-sizing: border-box;
  padding: calc(530 / 750 * 100%) calc(60 / 750 * 100%) calc(20 / 750 * 100%) calc(390 / 750 * 100%); 
}

.investigation__item {
  position: relative;
  display: block;
  margin: 0 auto;
}
.investigation__text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  box-sizing: border-box;
  padding: calc(430 / 750 * 100%) calc(70 / 750 * 100%) calc(20 / 750 * 100%) calc(70 / 750 * 100%); 
}
.reason__box {
  position: relative;
  display: block;
  margin: 0 auto;
}
.reason__text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  box-sizing: border-box;
  padding: calc(20 / 750 * 100%) calc(50 / 750 * 100%) calc(70 / 750 * 100%) calc(50 / 750 * 100%); 
}
.font--min {
  font-size: calc(18 / 28 * 1em);
  line-height: 1.5em;
  display: inline-block;
  vertical-align: text-top;
}

@media screen and (min-width:750px){
  .pricelist {
    background: #bcefff;
    display: block;
    position: relative;
    display: block;
    margin: clamp(40px,calc(80 / 1000 * 100vw),80px) auto clamp(50px,calc(100 / 1000 * 100vw),100px);
    width: 100%;
  }
  .pricelist:before {
    content: "";
    display: block;
    width: 100%;
    height: 120px;
    background: #fff;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
  .pricelist__box {
    position: relative;
    z-index: 2;
    margin: 0 auto;
  }
  .example {
    background: url(img/bg_grid.png) repeat bottom center;
    display: block;
    position: relative;
    display: block;
    margin: clamp(50px,calc(100 / 1000 * 100vw),100px) auto;
    width: 100%;
  }
  .example:before {
    content: "";
    display: block;
    width: 100%;
    height: 100px;
    background: #fff;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
  .example__area {
    position: relative;
    z-index: 2;
    margin: 0 auto;
    width: 100%;
    max-width: 1100px;
  }
  .example__text {
    padding: calc(120 / 1100 * 100%) calc(150 / 1100 * 100%) calc(20 / 1100 * 100%) calc(150 / 1100 * 100%); 
    text-decoration: underline;
    text-underline-offset: .5em;
    letter-spacing: 0.06em;
    list-style-position: calc(36 / 18 * 1em);
  }
  .example__box:nth-of-type(odd) .example__text {
    padding-left: calc(590 / 1100 * 100%);
  }
  .example__box:nth-of-type(even) .example__text {
    padding-right: calc(590 / 1100 * 100%);
  }

  .prevent {
    max-width: 1100px;
    width: 100%;
    margin: clamp(45px,calc(90 / 1000 * 100vw),90px) auto;
  }
  .prevent__text {
    letter-spacing: 0.06em;
    list-style-position: calc(36 / 18 * 1em);
    padding: calc(410 / 1100 * 100%) calc(140 / 1100 * 100%) calc(20 / 1100 * 100%) calc(510 / 1100 * 100%); 
  }  

  .achievements {
    margin: clamp(45px,calc(90 / 1000 * 100vw),90px) auto;
    background: #fdefb6;
  }
  .trouble {
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
  }
  .flow {
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
  }
  .zenkoku {
    display: block;
    position: relative;
    display: block;
    margin: clamp(40px,calc(80 / 1000 * 100vw),80px) auto clamp(50px,calc(100 / 1000 * 100vw),100px);
    width: 100%;
  }
  .investigation {
    display: block;
    position: relative;
    margin: 0 auto;
    max-width: 1000px;
    width: 100%;
  }
  .investigation__list {
    display: table;
  }
  .investigation__list img {
    display: block;
  }
  .investigation__item {
    display: table-cell;
    width: 50%;
    margin: 0;
  }
  .investigation__text {
    padding: calc(300 / 500 * 100%) calc(35 / 500 * 100%) calc(20 / 500 * 100%) calc(35 / 500 * 100%); 
    letter-spacing: 0.06em;
    text-align: justify;
  }
  .investigation__item:nth-of-type(odd) .investigation__text {
    padding-left: calc(85 / 500 * 100%);
  }
  .investigation__item:nth-of-type(even) .investigation__text {
    padding-right: calc(85 / 500 * 100%);
  }
  
  .reason {
    background: #e5f6ff;
    display: block;
    position: relative;
    display: block;
    margin: 0 auto;
    width: 100%;
  }
  .reason:before {
    content: "";
    display: block;
    width: 100%;
    height: 270px;
    background: #fff;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
  .reason__area {
    position: relative;
    z-index: 2;
    margin: 0 auto;
    max-width: 1400px;
    width: 100%;
  }
  .reason__text {
    padding: calc(20 / 1400 * 100%) calc(50 / 1400 * 100%) calc(110 / 1400 * 100%) calc(550 / 1400 * 100%); 
  }
  .font--min {
    font-size: calc(14 / 18 * 1em);
  }
  .support {
    background: url(img/bg_grid_02.png) repeat top center;
    margin: clamp(40px,calc(80 / 1000 * 100vw),80px) auto clamp(50px,calc(100 / 1000 * 100vw),100px);
  }
  .media {
    display: block;
    margin: clamp(40px,calc(80 / 1000 * 100vw),80px) auto;
    max-width: 1000px;
    width: 100%;
  }


  }

/*--------------------------------------------------*/
.faq__area {
  display: block;
  margin: 0 auto calc(70 / 750 * 100%);
}
.faq__area .faq__item {
  display: block;
  margin: 0 auto calc(30 / 750 * 100%);
  width: calc(710 / 750 * 100%);
}
.faq__area .faq__q {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: flex-start;
  background: #0053c5;
  border-radius:0;
  overflow: hidden;
  min-height: clamp(45px,calc(90 / 750 * 100vw),90px);
  box-sizing: border-box;
  padding: calc(20 / 750 * 100%);
  width:100%;
  position: relative;
  cursor: pointer;
}
.faq__area .faq__q:before {
  content: "Q";
  font-size: clamp(22px,calc(44 / 750 * 100vw),44px);
  font-weight: 700;
  line-height: 1em;
  color: #224778;
  display: block;
  width: clamp(47px,calc(94 / 750 * 100vw),94px);
  height: clamp(40px,calc(80 / 750 * 100vw),80px);
  background: url(img/faq_q.png) no-repeat 50% 50%;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  border-radius: clamp(40px,calc(80 / 750 * 100vw),80px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  padding-right: calc(14 / 730 * 100%);
  padding-bottom: calc(7 / 730 * 100%);
}
.faq__area .faq__qtext {
  font-size: calc(32 / 26 * 1em);
  line-height: calc(46 / 32 * 1em);
  color: #fff;
  font-weight: 700;
  width: clamp(260px,calc(520 / 750 * 100vw),520px);
  box-sizing: border-box;
  padding-left: calc(20 / 730 * 100%);
}

.faq__area .faq__qtext:before {
  content: "";
  display: block;
  background: #fff;
  width: clamp(25px,calc(50 / 750 * 100vw),50px);
  height: 2px;
  position: absolute;
  right: calc(30 / 730 * 100%);
  top: calc((100% - clamp(2px,calc(4 / 750 * 100vw),4px)) / 2);
  transform: rotate(0deg);
  opacity: 1;
  transition: all .5s ease;
}
.faq__area .faq__qtext:after {
  content: "";
  display: block;
  background: #fff;
  width: clamp(25px,calc(50 / 750 * 100vw),50px);
  height: 2px;
  position: absolute;
  right: calc(30 / 730 * 100%);
  top: calc((100% - clamp(2px,calc(4 / 750 * 100vw),4px)) / 2);
  transform: rotate(90deg);
  opacity: 1;
  transition: all .5s ease;
}
.faq__area .faq--open .faq__qtext:before {
  content: "";
  transform: rotate(90deg);
  opacity: 0;
}
.faq__area .faq--open .faq__qtext:after {
  content: "";
  transform: rotate(180deg);
  opacity: 1;
}

.faq__area .faq__atext {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: flex-start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: flex-start;
  min-height: clamp(45px,calc(90 / 750 * 100vw),90px);
  box-sizing: border-box;
  padding: calc(30 / 750 * 100%) 0 calc(20 / 750 * 100%) calc(20 / 750 * 100%);
  width: 100%;
  position: relative;
}
.faq__area .faq__atext:before {
  content: "A";
  font-size: clamp(22px,calc(44 / 750 * 100vw),44px);
  font-weight: 700;
  line-height: 1em;
  color: #fff;
  display: block;
  width: clamp(47px,calc(94 / 750 * 100vw),94px);
  height: clamp(40px,calc(80 / 750 * 100vw),80px);
  background: url(img/faq_a.png) no-repeat 50% 50%;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  padding-right: calc(14 / 730 * 100%);
  padding-bottom: calc(7 / 730 * 100%);
}
.faq__area .faq__atext p {
  font-size: calc(28 / 26 * 1em);
  line-height: calc(50 / 28 * 1em);
  font-weight: 500;
  width: clamp(305px,calc(610 / 750 * 100vw),610px);
  box-sizing: border-box;
  padding-left: calc(20 / 730 * 100%);
}


/* -- pc -- */
@media screen and (min-width:750px){
  .faq {
    margin: clamp(80px,calc(80 / 1000 * 100%),80px) auto ;
    display: block;
    max-width: 1020px;
    box-sizing: border-box;
    padding: 0 10px;
  }
  .faq__area {
    margin: 0 auto;
  }
  .faq__area .faq__item {
    display: block;
    margin: 0 auto calc(30 / 900 * 100%);
    width: 100%;
  }
  .faq__area .faq__q {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    overflow: hidden;
    min-height: 80px;
    box-sizing: border-box;
    padding: calc(20 / 1000 * 100%) calc(40 / 1000 * 100%);
    width: 100%;
    position: relative;
    cursor: pointer;
  }
  .faq__area .faq__q:before {
    content: "Q";
    font-size: clamp(20px,calc(40 / 900 * 100vw),40px);
    font-weight: 700;
    line-height: 1em;
    display: block;
    width: 75px;
    height: 65px;
    background: url(img/faq_q.png) no-repeat 50% 50%;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    padding-right: calc(14 / 1000 * 100%);
    padding-bottom: calc(7 / 1000 * 100%);
  }
  .faq__area .faq__qtext {
    font-size: calc(24 / 16 * 1em);
    line-height: calc(52 / 24 * 1em);
    width: calc(100% - 140px);
    box-sizing: border-box;
    padding-left: calc(30 / 1000 * 100%);
  }
  .faq__area .faq__qtext br {
    display: none;
  }

  .faq__area .faq__qtext:before {
    content: "";
    display: block;
    background: #fff;
    width: clamp(20px,calc(40 / 1000 * 100vw),40px);
    height: 2px;
    position: absolute;
    right: calc(30 / 730 * 100%);
    top: calc((100% - clamp(2px,calc(4 / 750 * 100vw),4px)) / 2);
    transform: rotate(0deg);
    opacity: 1;
    transition: all .5s ease;
  }
  .faq__area .faq__qtext:after {
    content: "";
    display: block;
    background: #fff;
    width: clamp(20px,calc(40 / 1000 * 100vw),40px);
    height: 2px;
    position: absolute;
    right: calc(30 / 730 * 100%);
    top: calc((100% - clamp(2px,calc(4 / 750 * 100vw),4px)) / 2);
    transform: rotate(90deg);
    opacity: 1;
    transition: all .5s ease;
  }
  .faq__area .faq--open .faq__qtext:before {
    content: "";
    transform: rotate(90deg);
    opacity: 0;
  }
  .faq__area .faq--open .faq__qtext:after {
    content: "";
    transform: rotate(180deg);
    opacity: 1;
  }

  .faq__area .faq__atext {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    min-height: clamp(45px,calc(90 / 750 * 100vw),90px);
    box-sizing: border-box;
    padding: calc(20 / 1000 * 100%) calc(40 / 1000 * 100%);
    width: 100%;
    position: relative;
  }
  .faq__area .faq__atext:before {
    content: "A";
    font-size: clamp(20px,calc(40 / 1000 * 100vw),40px);
    font-weight: 700;
    line-height: 1em;
    display: block;
    width: 75px;
    height: 65px;
    background: url(img/faq_a.png) no-repeat 50% 50%;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    padding-right: calc(14 / 1000 * 100%);
    padding-bottom: calc(7 / 1000 * 100%);
  }
  .faq__area .faq__atext p {
    font-size: calc(18 / 16 * 1em);
    line-height: calc(36 / 18 * 1em);
    width: calc(100% - 75px);
    padding-left: calc(30 / 1000 * 100%);
    margin: 0;
  }
  .damage {
    background: #e6e6e6;
    margin: clamp(50px,calc(100 / 1000 * 100vw),100px) auto;
    width: 100%;
    
  }


  
}

/*--------------------------------------------------*/
.quotation__box {
  position: relative;
  display: block;
  margin: 0 auto;
}
.quotation__text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  box-sizing: border-box;
  padding: calc(400 / 750 * 100%) calc(70 / 750 * 100%) calc(20 / 750 * 100%) calc(70 / 750 * 100%); 
}

/* -- pc -- */
@media screen and (min-width:750px){
  .quotation {
    background: #d6f0ff;
    margin: 0 auto;
    position: relative;
    width: 100%;
  }
  .quotation__box {
    max-width: 1000px;
    margin: 0 auto;
  }
  .quotation__text {
    padding: calc(30 / 1000 * 100%) calc(90 / 1000 * 100%) calc(50 / 1000 * 100%) calc(90 / 1000 * 100%); 
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    height: 100%;
    text-align: justify;
  }
  .quotation__box:nth-of-type(1) .quotation__text {
    padding-left: calc(480 / 1000 * 100%);
  }
  .quotation__box:nth-of-type(2) .quotation__text {
    padding-right: calc(480 / 1000 * 100%);
  }
  .quotation__box:nth-of-type(3) .quotation__text {
    padding-left: calc(480 / 1000 * 100%);
    padding-bottom: calc(130 / 1000 * 100%);
  }
  
  .omakase {
    display: block;
    margin: 0 auto;
  }
  .guarantee {
    max-width: 880px;
    width: calc(880 / 1000 * 100%);
    margin: clamp(50px,calc(100 / 1000 * 100%),100px) auto;
  }
  .coupon {
    background: #f7e4b3;
    width: 100%;
    margin: clamp(50px,calc(100 / 1000 * 100%),100px) auto;
  }
  
  
  
  
}
