@charset "utf-8";
/* CSS Document */
/* top.css */

.box {
  position: relative;
  display: block;
  box-sizing: border-box;
}
.box img {
  display: block;
}
@media screen and (min-width:750px){
  #fv {
    margin: 0 auto 80px;
  }
}

/* -------------------------------------------------- */
/* 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(76 / 680 * 100%);
  left: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 0 calc((750 - 658) / 750 * 100% * 0.5);
}
.cta .cta__text {
  box-sizing: border-box;
  background: #fa7c00;
  color: #fff;
  text-align: center;
  font-size: calc(36 / 26 * 1em);
  font-weight: 700;
  padding: calc(30 / 750 * 100%) calc(10 / 750 * 100%) calc(30 / 750 * 100%);
  letter-spacing: 0;
  position: relative;
  margin-top: -1px;
}
.cta .cta__timer {
  display: inline-block;
  margin-bottom: .3em;
  color: #fdff45;
  font-size: calc(58 / 36 * 1em);
  letter-spacing: 0.06em;
}
.cta .cta__timer span {
  font-size: calc(48 / 58 * 1em);
}
.cta p {
  margin: 0 auto;
}



.workcontent {
  margin: calc(100 / 750 * 100%) auto 0;
}
.check {
  margin: calc(80 / 750 * 100%) auto 0;
}
.media {
  margin: calc(100 / 750 * 100%) auto 0;
}
@media screen and (min-width:750px){
  .cta {
    margin: clamp(0px,calc(80 / 1000 * 100%),80px) auto;
  }
.cta .cta__btn {
  position: absolute;
  bottom: calc(64 / 480 * 100%);
  left: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 0 calc((1000 - 888) / 1000 * 100% * 0.5);
}
.cta .cta__text {
  box-sizing: border-box;
  font-size: calc(30 / 16 * 1em);
  padding: 20px 10px 20px;
  letter-spacing: 0.06em;
  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(46 / 30 * 1em);
  line-height: 1.3em;
  margin: 0 .5em 0 0;
}
.cta .cta__timer span {
  font-size: calc(36 / 46 * 1em);
}

.cta p {
  margin: 0 ;
}

  
  .difficult {
    margin: 80px auto 0;
  }  
  .no1 {
    background: #fff1c4;
    margin: 0 auto;
  }
  .service {
    background: #eeffed;
    position: relative;
    display: block;
    margin: 0 auto 100px;
  }
  .service__box {
    position: relative;
    z-index: 3;
    margin: 0 auto;
    display: block;
  }
  .service:before {
    content: "";
    display: block;
    width: 100%;
    height: 230px;
    background: #faff67;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
.workcontent {
  margin:100px auto 0;
  background: url(img/bg_grid.png) repeat-x bottom center;
}
.check {
  margin: 100px auto 0;
}
  .area {
    margin: 80px auto 80px;
    max-width: 1200px;
    display: block;
  }
.media {
  margin: 80px auto ;
  background: #e60000;
} 
}
/*---------*/

.flow {
  background: #feffba;
  position: relative;
  display: block;
  margin: 0 auto;
  max-width: 1000px;
}

.flow__item {
  position: relative;
  display: block;
  margin: 0 auto;
}
.flow__text {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: calc( 108 / 750 * 100%) calc( 23 / 750 * 100%) calc( 0 / 750 * 100%) calc( 372 / 750 * 100%);
  font-size: clamp(14px,calc(28 / 750 * 100vw),28px);
  line-height: calc(36 / 28 * 1em);
  font-weight: 500;
  font-feature-settings: 'palt' 1;
  letter-spacing: 0.06em;
  text-align: center;
}
.flow__text span {
  display: block;
  margin: 0 auto .2em;
  font-size: calc(34 / 28 * 1em);
  font-weight: 600;
}
.flow__item--01 .flow__text {
  padding-top: calc( 116 / 750 * 100%);  
}
.flow__item--05 .flow__text {
  padding-top: calc( 100 / 750 * 100%);  
}

@media screen and (min-width:750px){
  .flow  {
    margin: 100px auto 0;
  }
  .flow__box--01 ,
  .flow__box--02 {
    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: space-between;
  }
  .flow__item {
    --flowwidth: 350;
    box-sizing: border-box;
    margin: 0;
    width: calc(var(--flowwidth) / 1000 * 100%);
  }
  .flow__text {
    padding: calc( 90 / var(--flowwidth) * 100%) calc( 10 / var(--flowwidth) * 100%) calc( 0 / var(--flowwidth) * 100%) calc( 10 / var(--flowwidth) * 100%);
    font-size: clamp(9px,calc(18 / 1000 * 100vw),18px);
    line-height: calc(24 / 18 * 1em);
    box-sizing: border-box;
  }
  .flow__text span {
    font-size: calc(26 / 18 * 1em);
  }
  
  .flow__item--01 {
    --flowwidth: 350;
  }
  .flow__item--01 .flow__text {
    padding: calc( 90 / var(--flowwidth) * 100%) calc( 10 / var(--flowwidth) * 100%) calc( 0 / var(--flowwidth) * 100%) calc( 60 / var(--flowwidth) * 100%);
  }
  .flow__item--02 {
    --flowwidth: 300;
  }
  .flow__item--03 {
    --flowwidth: 350;
  }
  .flow__item--03 .flow__text {
    padding: calc( 90 / var(--flowwidth) * 100%) calc( 60 / var(--flowwidth) * 100%) calc( 0 / var(--flowwidth) * 100%) calc( 10 / var(--flowwidth) * 100%);
  }
  .flow__item--04 {
    --flowwidth: 500;
  }
  .flow__item--04 .flow__text {
    padding: calc( 100 / var(--flowwidth) * 100%) calc( 10 / var(--flowwidth) * 100%) calc( 0 / var(--flowwidth) * 100%) calc( 210 / var(--flowwidth) * 100%);
  }
  .flow__item--05 {
    --flowwidth: 500;
  }
  .flow__item--05 .flow__text {
    padding: calc( 90 / var(--flowwidth) * 100%) calc( 210 / var(--flowwidth) * 100%) calc( 0 / var(--flowwidth) * 100%) calc( 10 / var(--flowwidth) * 100%);
  }
  
  
}


/*---------*/

.fieldsurvey {
  background: #dfeba6;
  position: relative;
  display: block;
  margin: 0 auto;
  width: 100%;
}
.fieldsurvey__box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-align-items: flex-end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  margin: 0 auto;
  max-width: 1100px;
  z-index: 2;
}

.fieldsurvey__item {
  position: relative;
  display: block;
  margin: 0;
}
.fieldsurvey__text {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: calc( 10 / 750 * 100%) calc( 80 / 750 * 100%) calc( 80 / 750 * 100%) calc( 80 / 750 * 100%);
  font-size: clamp(14px,calc(28 / 750 * 100vw),28px);
  line-height: calc(70 / 28 * 1em);
  font-weight: 500;
  font-feature-settings: 'palt' 1;
  letter-spacing: 0.06em;
  text-align: left;
}
.fieldsurvey__text span {
  color: #e60000;
}
@media screen and (min-width:750px){
  .fieldsurvey {
    padding-bottom: 50px;
  }
  .fieldsurvey:before {
    content: "";
    display: block;
    background: #fff;
    width: 100%;
    height: 90px;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
  .fieldsurvey h2 {
    position: relative;
    z-index: 3;
  }
  .fieldsurvey__item {
    width: 50%;
    margin: 0;
    position: relative;
    z-index: 3;
  }
  .fieldsurvey__text {
    display: block;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: calc( 2 / 550 * 100%) calc( 50 / 550 * 100%) calc( 50 / 550 * 100%) calc( 50 / 550 * 100%);
    font-size: clamp(9px,calc(18 / 750 * 100vw),18px);
    line-height: calc(48 / 18 * 1em);
  }
  .fieldsurvey__text--01 ,
  .fieldsurvey__text--03 {
    padding-left: calc( 90 / 550 * 100%);
  }
  .fieldsurvey__text--02 ,
  .fieldsurvey__text--04 {
    padding-right: calc( 90 / 550 * 100%);
  }
}

/*---------*/

.reason {
  background: #feffba;
  position: relative;
  display: block;
  margin: 0 auto;
  width: 100%;
}
.reason__item {
  position: relative;
  display: block;
  margin: 0 auto;
  
}
.reason__text {
  background-image: url(img/reason_sp_01_02.png) , url(img/reason_sp_bg.png);
  background-repeat: no-repeat , repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  background-position: top left;
  box-sizing: border-box;
  padding: calc(5 / 750 * 100%) calc(80 / 750 * 100%);
  font-size: clamp(14px,calc(28 / 750 * 100vw),28px);
  line-height: calc(50 / 28 * 1em);
  font-weight: 500;
  font-feature-settings: 'palt' 1;
  letter-spacing: 0.06em;
  text-align: justify;
  
}
.reason__text span {
  color: #e60000;
}
@media screen and (min-width:750px){
  .reason {
    margin: 80px auto 100px;
  }
  .reason:before {
    content: "";
    display: block;
    background: #fff;
    width: 100%;
    height: 190px;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
  .reason h2 {
    position: relative;
    z-index: 3;
  }
  .reason__item {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 3;
  }
  .reason__text {
    padding: calc( 10 / 1000 * 100%) calc( 90 / 1000 * 100%) calc( 20 / 1000 * 100%) calc( 90 / 1000 * 100%);
    font-size: clamp(9px,calc(18 / 750 * 100vw),18px);
    line-height: calc(40 / 18 * 1em);
    box-sizing: border-box;
    min-height: clamp(0px,calc(180 / 1000 * 100vw),180px);
  }
  
  .reason__item--01 .reason__text {
    background-image: url(img/reason_pc_01_02.png) , url(img/reason_pc_bg.png);
    padding-left: calc( 440 / 1000 * 100%);
  }
  .reason__item--02 .reason__text {
    background-image: url(img/reason_pc_02_02.png) , url(img/reason_pc_bg.png);
    padding-right: calc( 440 / 1000 * 100%);
  }
  .reason__item--03 .reason__text {
    background-image: url(img/reason_pc_03_02.png) , url(img/reason_pc_bg.png);
    padding-left: calc( 440 / 1000 * 100%);
  }
  .reason__item--04 .reason__text {
    background-image: url(img/reason_pc_04_02.png) , url(img/reason_pc_bg.png);
    padding-right: calc( 440 / 1000 * 100%);
  }
}
/* ---------------------------------------------------- */
.faq {
  box-sizing: border-box;
  display: block;
  padding: calc(30 / 750 * 100%);
  margin: 0 auto calc(20 / 750 * 100%);
}
.faq h2 {
  display: block;
  margin: 0 auto;
}
.faq__item {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0;
  margin: calc(30 / 690 * 100%) auto;
}

.faq__q {
  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-color: #209600;
  background-image: url(img/qa_sp_icon_q.png);
  background-position: 0 50%;
  -webkit-background-size: calc(90 / 690 * 100%) auto;
  background-size: calc(90 / 690 * 100%) auto;
  background-repeat: no-repeat;
  cursor: pointer;
  color: #fff;
  box-sizing: border-box;
  padding: calc(20 / 750 * 100%) calc(100 / 750 * 100%) calc(20 / 750 * 100%) calc(120 / 750 * 100%) ;
  font-size: clamp(18px,calc(36 / 750 * 100vw),36px);
  line-height: calc(50 / 36 * 1em);
  font-weight: 700;
  letter-spacing: 0.06em;
  position: relative;
  min-height: clamp(0px,calc(140 / 750 * 100vw),140px);
}
  .faq .faq__q:before {
    content: "";
    display: block;
    width: calc(50 / 750 * 100%);
    height: 2px;
    background: #fff;
    position: absolute;
    top: calc(50% - 1px);
    right: calc(40 / 900 * 100%);
    transition: all .5s ease;
    transform: rotate(0deg);
  }
  .faq .faq__q:after{
    content: "";
    display: block;
    width: calc(50 / 750 * 100%);
    height: 2px;
    background: #fff;
    position: absolute;
    top: calc(50% - 1px);
    right: calc(40 / 900 * 100%);
    transition: all .5s ease;
    transform: rotate(90deg);
  }
  .faq .faq__q.faq--open:before {
    content: "";
    transform: rotate(180deg);
  }
  .faq .faq__q.faq--open:after{
    content: "";
    transform: rotate(180deg);
  }
  .faq .faq__atext {
    background-color: #fff;
    position: relative;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    padding: calc(30 / 750 * 100%) calc(30 / 750 * 100%);
    font-size: clamp(14px,calc(28 / 750 * 100vw),28px);
    line-height: calc(50 / 28 * 1em);
    font-weight: 500;
    font-feature-settings: 'palt' 1;
    letter-spacing: 0.06em;
  }



@media screen and (min-width:750px){

  /* -------- */
  .faq {
    padding: 0px 0 10px;
    position: relative;
    margin: 50px auto;
  }
  .faq .faq__ttl {
    margin: 0 auto 20px;
    position: relative;
    z-index: 2;
  }
  .faq .faq__box {
    box-sizing: border-box;
    max-width: 840px;
    margin: 20px auto;
    width: calc(840 / 1000 * 100%);
  }
  .faq .faq__item {
    margin: clamp(10px,calc(20 / 1000 * 100%),20px) auto;
    width: 100%;
  }
  .faq__q {
    background-image: url(img/qa_pc_icon_q.png)
    background-position:  0 50%;
    -webkit-background-size: calc(80 / 840 * 100%) auto;
    background-size: calc(80 / 840 * 100%) auto;
    padding: calc(20 / 840 * 100%) calc(70 / 840 * 100%) calc(20 / 840 * 100%) calc(100 / 840 * 100%) ;
    font-size: clamp(13px,calc(26 / 840 * 100vw),26px);
    line-height: calc(50 / 26 * 1em);
    font-weight: 700;
    letter-spacing: 0.06em;
    position: relative;
    min-height: 100px;
  }
  .faq .faq__q:before {
    content: "";
    display: block;
    width: calc(40 / 900 * 100%);
    height: 4px;
    position: absolute;
    top: calc(50% - 1px);
    right: calc(40 / 900 * 100%);
    transition: all .5s ease;
    transform: rotate(0deg);
  }
  .faq .faq__q:after{
    content: "";
    display: block;
    width: calc(40 / 900 * 100%);
    height: 4px;
    position: absolute;
    top: calc(50% - 1px);
    right: calc(40 / 900 * 100%);
    transition: all .5s ease;
    transform: rotate(90deg);
  }
  .faq .faq__q.faq--open:before {
    content: "";
    transform: rotate(180deg);
  }
  .faq .faq__q.faq--open:after{
    content: "";
    transform: rotate(180deg);
  }
  .faq .faq__a {
    position: relative;
    margin: 0 auto;
    padding: 0;
  }
  .faq .faq__atext {
    background-color: #fff;
    position: relative;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    padding: calc(20 / 900 * 100%) calc(40 / 900 * 100%) calc(30 / 900 * 100%) calc(40 / 900 * 100%);
    font-size: clamp(9px,calc(18 / 900 * 100vw),18px);
    line-height: calc(36 / 18 * 1em);
    font-weight: 500;
    font-feature-settings: 'palt' 1;
    letter-spacing: 0.06em;
  }
  .faq__att {
    font-size: calc(14 / 18 * 1em);
    line-height: 1.75em;
  }
  
  
}

  /* --------- */

.quotation {
  margin: 0 auto 0px;
  position: relative;
  background: url(img/quotation_sp_bg.png) no-repeat top center;
  -webkit-background-size: cover;
  background-size: cover;
  box-sizing: border-box;
  padding-top: calc(88 / 750 * 100%);
  padding-bottom: calc(40 / 750 * 100%);
}
.quotation h2 {
  width: calc(640 / 750 * 100%);
  margin: 0 auto;
}
.quotation__list {
  position: relative;
  display: block;
  margin: 0 auto;
  max-width: 1000px;
}
.quotation__item {
  box-sizing: border-box;
  width: calc(670 / 750 * 100%);
  margin: calc(50 / 750 * 100%) auto;
  background: #fff;
  border: clamp(2px,calc(10 / 750 * 100vw),10px) solid #209600;
  position: relative;
  padding-top: calc(40 / 690 * 100%);

}
.quotation__ttl {
  background: #ABCD03;
  background: -webkit-linear-gradient(90deg, rgba(171, 205, 3, 1) 0%, rgba(171, 205, 3, 1) 8%, rgba(0, 153, 68, 1) 52%, rgba(35, 77, 33, 1) 100%);
  background: -moz-linear-gradient(90deg, rgba(171, 205, 3, 1) 0%, rgba(171, 205, 3, 1) 8%, rgba(0, 153, 68, 1) 52%, rgba(35, 77, 33, 1) 100%);
  background: linear-gradient(90deg, rgba(171, 205, 3, 1) 0%, rgba(171, 205, 3, 1) 8%, rgba(0, 153, 68, 1) 52%, rgba(35, 77, 33, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ABCD03", endColorstr="#234D21", GradientType=1);
  text-align: center;
  font-size: clamp(0px,calc(46 / 750 * 100vw),46px);
  font-feature-settings: 'palt' 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  line-height: calc(60 / 46 * 1em);
  box-sizing: border-box;
  padding: calc(20 / 750 * 100%) 0;
  margin: 0 auto calc(40 / 670 * 100%);
}

.quotation__img {
  display: block;
  width: calc(590 / 670 * 100%);
  box-sizing: border-box;
  margin:calc(30 / 670 * 100%) auto;
}
.quotation__text {
  display: block;
  width: calc(590 / 670 * 100%);
  box-sizing: border-box;
  margin:calc(30 / 670 * 100%) auto;
  font-size: clamp(14px,calc(28 / 750 * 100vw),28px);
  line-height: calc(50 / 28 * 1em);
  font-weight: 500;
  font-feature-settings: 'palt' 1;
  letter-spacing: 0.06em;
}




@media screen and (min-width:750px){
  .quotation {
    margin: 0 auto 0px;
    position: relative;
    background: url(img/quotation_sp_bg.png) no-repeat top center;
    -webkit-background-size: cover;
    background-size: cover;
    box-sizing: border-box;
    padding-top: 100px;
    padding-bottom: 70px;
  }
  .quotation h2 {
    width: calc(760 / 1000 * 100%);
    max-width: 760px;
    margin: 0 auto;
  }
  .quotation__item {
    box-sizing: border-box;
    width: calc(980 / 1000 * 100%);
    max-width: 1000px;
    margin: 30px auto;
    background: #fff;
    border: clamp(2px,calc(10 / 750 * 100vw),10px) solid #209600;
    position: relative;
    padding-top: 30px;
    min-height: 360px;

  }
  .quotation__ttl {
    background: #ABCD03;
    background: -webkit-linear-gradient(90deg, rgba(171, 205, 3, 1) 0%, rgba(171, 205, 3, 1) 8%, rgba(0, 153, 68, 1) 52%, rgba(35, 77, 33, 1) 100%);
    background: -moz-linear-gradient(90deg, rgba(171, 205, 3, 1) 0%, rgba(171, 205, 3, 1) 8%, rgba(0, 153, 68, 1) 52%, rgba(35, 77, 33, 1) 100%);
    background: linear-gradient(90deg, rgba(171, 205, 3, 1) 0%, rgba(171, 205, 3, 1) 8%, rgba(0, 153, 68, 1) 52%, rgba(35, 77, 33, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ABCD03", endColorstr="#234D21", GradientType=1);
    text-align: center;
    font-size: clamp(0px,calc(40 / 1000 * 100vw),40px);
    font-feature-settings: 'palt' 1;
    letter-spacing: 0.06em;
    font-weight: 700;
    color: #fff;
    line-height: calc(56 / 40 * 1em);
    box-sizing: border-box;
    padding: calc(20 / 1000 * 100%) calc(20 / 1000 * 100%);
    margin: 0 auto;
    width: 100%;
  }

  .quotation__img {
    display: block;
    box-sizing: border-box;
    padding: calc(60 / 1000 * 100%) calc(30 / 1000 * 100%);
    width: calc(490 / 1000 * 100%);
    max-width: 490px;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
  }
  .quotation__text {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    font-size: clamp(9px,calc(18 / 1000 * 100vw),18px);
    line-height: calc(40 / 18 * 1em);
    font-weight: 500;
    font-feature-settings: 'palt' 1;
    letter-spacing: 0.06em;
    padding: calc(20 / 1000 * 100%) calc(20 / 1000 * 100%);
  }  
  
  .quotation__item--01 .quotation__ttl {
    padding-left: calc(490 / 1000 * 100%) ;
    padding-top: calc(30 / 1000 * 100%);
    padding-bottom: calc(30 / 1000 * 100%);
  }
  .quotation__item--01 .quotation__text {
    padding-left: calc(490 / 1000 * 100%) ;
  }
  .quotation__item--02 .quotation__ttl {
    padding-right: calc(490 / 1000 * 100%) ;
  }
  .quotation__item--02 .quotation__img {
    left: auto;
    right: 0;
  }
  .quotation__item--02 .quotation__text {
    padding-right: calc(490 / 1000 * 100%) ;
  }
  .quotation__item--03 .quotation__ttl {
    padding-left: calc(490 / 1000 * 100%) ;
  }
  .quotation__item--03 .quotation__text {
    padding-left: calc(490 / 1000 * 100%) ;
  }

  
  .zenkoku {
    background: #d4f1ff;
    margin: 0 auto 100px;
  }
  .coupon {
    margin: 100px auto 0 ;
    max-width: 1000px;
  }
}


