/*under_mv
---------------------*/
@media print, screen and (min-width: 768px) {
  #under_mv .mv_img {
    width: 32.5%;
    margin: 1.25rem 8.671875% 2.4375rem auto;
  }

  #under_mv .mv_img::before {
    background-image: url("../img/howto/howto_mv_parts01.png");
    width: 39.6033653846%;
    aspect-ratio: 164.75/141.38;
    top: 0.15rem;
    right: -36.875%;
  }

  #under_mv .mv_img::after {
    background-image: url("../img/howto/howto_mv_parts02.png");
    width: 45.8125%;
    aspect-ratio: 190.58/137.53;
    bottom: -0.025rem;
    left: -44.4711538462%;
  }
}
@media only screen and (max-width: 767px) {
  #under_mv .mv_img {
    width: 100%;
    margin-bottom: 7.4666666667vw;
    padding: 0 12.4vw 0 21.4666666667vw;
  }

  #under_mv .mv_img::before {
    top: 2.9333333333vw;
  }

  #under_mv .mv_img::after {
    background-image: url("../img/howto/howto_mv_parts_sp.png");
    width: 98.1333333333vw;
    aspect-ratio: 368/209;
    top: 0;
    right: -5.3333333333vw;
  }
}
/*under_intro
---------------------*/
#under_intro .intro_img {
  aspect-ratio: 1/1;
}

@media print, screen and (min-width: 768px) {
  #under_intro {
    padding-bottom: 1.6rem;
  }

  #under_intro .intro_img {
    width: 48.907%;
    margin-left: 3.359375%;
    margin-top: -2.1875rem;
  }

  #under_intro .txt_area {
    margin-top: 7.1875rem;
  }
}
@media only screen and (max-width: 767px) {
  #under_intro {
    padding-bottom: 14.1066666667vw;
  }

  #under_intro .intro_img {
    width: 83.3866666667vw;
    margin-left: 4.16vw;
  }

  #under_intro .txt_area {
    margin-bottom: 10.3733333333vw;
  }
}
/*materials
---------------------*/
#materials {
  background: #F5F7FA;
}

#materials .sec_tit_area .txt span {
  display: inline-block;
  position: relative;
}

#materials .sec_tit_area .txt span::after {
  content: "";
  display: block;
  background-size: 100% 100%;
  position: absolute;
  aspect-ratio: 1/1;
  background-image: url("../img/top/intro_copy_txt_parts.svg");
}

@media print, screen and (min-width: 768px) {
  #materials {
    padding: 7.5rem 0;
  }

  #materials .sec_tit_area {
    margin-bottom: 1.9375rem;
  }

  #materials .sec_tit_area .txt span::after {
    width: 5rem;
    top: -4.375rem;
    left: 100%;
    margin-right: 0.7625rem;
  }

  #materials .materials_list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
  }

  #materials .materials_list li {
    width: 25%;
  }

  #materials .materials_list li:nth-child(2) {
    margin: 0 6.25%;
  }

  #materials .materials_list li:first-child {
    padding-top: 2.375rem;
  }

  #materials .materials_list .item__img {
    margin-bottom: 1.5rem;
  }

  #materials .materials_list .materials_txt {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 1.4375rem;
  }

  #materials .materials_list .desc {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.8142857143;
    margin-top: calc(0px - (((1em*1.8142857143) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.8142857143) - 1em)/2));
  }

  #materials .materials_list .materials03 .item__img {
    margin-left: -7.5%;
    margin-right: -4.25%;
  }
}
@media only screen and (max-width: 767px) {
  #materials {
    padding: 16vw 0;
  }

  #materials .sec_tit_area {
    margin-bottom: 13.3333333333vw;
  }

  #materials .sec_tit_area .sec_tit {
    margin-bottom: 10.6666666667vw;
  }

  #materials .sec_tit_area .txt span::after {
    width: 17.0666666667vw;
    bottom: 100%;
    right: -2.6666666667vw;
    margin-bottom: 4.1333333333vw;
  }

  #materials .materials_list li {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 100%;
  }

  #materials .materials_list li:not(:last-child) {
    margin-bottom: 10.56vw;
  }

  #materials .materials_list li:nth-child(even) .item__img {
    order: 1;
  }

  #materials .materials_list li:not(.materials03) .txt_area {
    margin-top: 4.4266666667vw;
  }

  #materials .materials_list .item__img {
    width: 42.1333333333vw;
  }

  #materials .materials_list .txt_area {
    width: 41.8666666667vw;
  }

  #materials .materials_list .materials_txt {
    font-size: 1.2857142857rem;
    font-weight: 500;
    margin-bottom: 5.3333333333vw;
  }

  #materials .materials_list .desc {
    font-size: 1.1428571429rem;
    font-weight: 400;
    line-height: 1.8142857143;
    margin-top: calc(0px - (((1em*1.8142857143) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.8142857143) - 1em)/2));
  }
}
/*usecase
---------------------*/
#usecase {
  background-image: url(../img/top/voice_bg-single.svg);
  background-repeat: repeat;
  background-position: top left;
}

#usecase .usage_timing {
  background-color: #F5F7FA;
  margin: auto;
  text-align: center;
}

#usecase .usage_timing .usage_item {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}

#usecase .usage_timing .usage_item:not(.type_title) {
  position: relative;
  z-index: 1;
}

#usecase .usage_timing .usage_item:not(.type_title) > * {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
}

#usecase .usage_timing .usage_item:not(.type_title)::after {
  content: "";
  display: block;
  background-color: #E5E5E5;
  width: 1px;
}

#usecase .usage_timing .usage_item:not(.type_title) .usage_desc {
  order: 1;
}

#usecase .usage_timing .type_title > * {
  border-bottom: 1px solid #444;
}

#usecase .usage_timing .type_title .usage_title {
  position: relative;
  z-index: 0;
}

#usecase .usage_timing .type_title .usage_title::before {
  z-index: -1;
  content: "";
  display: block;
  background-size: 100% 100%;
  position: absolute;
  left: 50%;
  z-index: 0;
  translate: -50% 0;
  top: 100%;
}

#usecase .usage_timing .type_pre, #usecase .usage_timing .type_post {
  background: #FFF9B0;
}

#usecase .usage_timing .type_during {
  background: #FFB857;
}

#usecase .usage_timing .type_summary {
  background: #8ABCEE;
}

@media print, screen and (min-width: 768px) {
  #usecase {
    padding: 7.5rem 0;
    background-size: 60px;
  }

  #usecase .sec_tit_area {
    margin-bottom: 2.4375rem;
  }

  #usecase .usage_timing {
    width: 87.5%;
    border-radius: 0.5rem;
    padding: 3.75rem 6.25% 3.75rem;
  }

  #usecase .usage_timing .box_tit {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 2.875rem;
  }

  #usecase .usage_timing .usage_item:not(.type_title) {
    border-radius: 0.5rem;
  }

  #usecase .usage_timing .usage_item:not(.type_title) > * {
    height: 5rem;
  }

  #usecase .usage_timing .usage_item:not(.type_title):not(:last-child) {
    margin-bottom: 0.625rem;
  }

  #usecase .usage_timing .usage_item:not(.type_title)::after {
    height: 2.5rem;
  }

  #usecase .usage_timing .usage_item:not(.type_title) .usage_title {
    font-size: 1.25rem;
    font-weight: 700;
  }

  #usecase .usage_timing .usage_item:not(.type_title) .usage_desc {
    font-size: 1.125rem;
    font-weight: 400;
  }

  #usecase .usage_timing .usage_item .usage_title {
    width: 32.2916666667%;
  }

  #usecase .usage_timing .usage_item .usage_desc {
    width: 65.625%;
  }

  #usecase .usage_timing .type_title {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 1.25rem;
  }

  #usecase .usage_timing .type_title > * {
    padding-bottom: 0.625rem;
  }

  #usecase .usage_timing .type_title .usage_title::before {
    background-image: url("../img/howto/usage_timing_list_vector.svg");
    width: 1.875rem;
    aspect-ratio: 30/405.86;
  }
}
@media only screen and (max-width: 767px) {
  #usecase {
    padding: 18.6666666667vw 0 16vw;
    background-size: 10.6666666667vw;
  }

  #usecase .sec_tit_area {
    margin-bottom: 11.4666666667vw;
  }

  #usecase .sec_tit_area .sec_tit {
    margin-bottom: 8vw;
  }

  #usecase .usage_timing {
    width: 100%;
    border-radius: 2.1333333333vw;
    padding: 10.1333333333vw 5.3333333333vw 14.1333333333vw;
  }

  #usecase .usage_timing .box_tit {
    font-size: 1.4285714286rem;
    font-weight: 700;
    margin-bottom: 10.6666666667vw;
  }

  #usecase .usage_timing .usage_item:not(.type_title) {
    border-radius: 2.1333333333vw;
  }

  #usecase .usage_timing .usage_item:not(.type_title) > * {
    height: 22.4vw;
  }

  #usecase .usage_timing .usage_item:not(.type_title):not(:last-child) {
    margin-bottom: 2.6666666667vw;
  }

  #usecase .usage_timing .usage_item:not(.type_title)::after {
    height: 10.6666666667vw;
  }

  #usecase .usage_timing .usage_item:not(.type_title) .usage_title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    margin-top: calc(0px - (((1em*1.5) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.5) - 1em)/2));
  }

  #usecase .usage_timing .usage_item:not(.type_title) .usage_desc {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    margin-top: calc(0px - (((1em*1.5) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.5) - 1em)/2));
  }

  #usecase .usage_timing .usage_item .usage_title {
    width: 24.5333333333vw;
  }

  #usecase .usage_timing .usage_item .usage_desc {
    width: 51.2vw;
  }

  #usecase .usage_timing .type_title {
    font-size: 0.8571428571rem;
    font-weight: 500;
    margin-bottom: 5.3333333333vw;
  }

  #usecase .usage_timing .type_title > * {
    padding-bottom: 2.6666666667vw;
  }

  #usecase .usage_timing .type_title .usage_title::before {
    background-image: url("../img/howto/usage_timing_list_vector_sp.svg");
    width: 8vw;
    aspect-ratio: 30/405.86;
  }
}
/*flow
---------------------*/
#flow {
  background-color: #F5F7FA;
}

#flow .flow_list li {
  background-color: #fff;
}

@media print, screen and (min-width: 768px) {
  #flow {
    padding: 7.5rem 0;
  }

  #flow .sec_tit_area {
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  #flow {
    padding: 18.6666666667vw 0 16vw;
  }

  #flow .sec_tit_area {
    margin-bottom: 10.6666666667vw;
  }
}
/*faq
---------------------*/
#faq .flow_list {
  border-bottom: 1px solid #E5E5E5;
}

#faq .q_tit {
  border-top: 1px solid #E5E5E5;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
}

#faq .q_tit::before {
  position: absolute;
  top: 50%;
  z-index: 1;
  translate: 0 -50%;
}

#faq .a_txt a {
  text-decoration: underline;
}

#faq .a_txt {
  display: none;
}

@media print, screen and (min-width: 768px) {
  #faq {
    padding: 7.5rem 0 2.5rem;
  }

  #faq .list_area {
    width: 75%;
    margin: 0 auto 3.78125rem;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }

  #faq .faq_tit {
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.35;
    margin-top: calc(0px - (((1em*1.35) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.35) - 1em)/2));
  }

  #faq .flow_list {
    width: 75%;
  }

  #faq .q_tit {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 1.5rem 1.25rem;
    -webkit-transition: all 0.3s ease-in-out 0s;
    -ms-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
  }

  #faq .q_tit::before {
    right: 1.25rem;
  }

  #faq .q_tit::after {
    position: relative;
    z-index: 0;
  }

  #faq .q_tit:hover {
    background-color: #F5F7FA;
  }

  #faq .a_txt {
    padding: 1.25rem 1.25rem 2.5rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.8;
    margin-top: calc(0px - (((1em*1.8) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.8) - 1em)/2));
  }

  #faq .a_txt a:hover {
    text-decoration: none;
  }

  #faq .bk_btn {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  #faq {
    padding: 18.6666666667vw 0 8.3466666667vw;
  }

  #faq .list_area {
    width: 100%;
    margin: 0 auto 10.6666666667vw;
  }

  #faq .faq_tit {
    text-align: center;
    font-size: 2.2857142857rem;
    font-weight: 800;
    margin-bottom: 13.3333333333vw;
  }

  #faq .flow_list {
    width: 100%;
  }

  #faq .q_tit {
    font-size: 1.1428571429rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 5.3333333333vw 0;
  }

  #faq .q_tit::before {
    right: 0;
  }

  #faq .q_tit::after {
    width: 8.5333333333vw;
    margin-left: 2.2857142858rem;
  }

  #faq .a_txt {
    padding: 0 8.5333333333vw 6.4vw 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    margin-top: calc(0px - (((1em*1.5) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.5) - 1em)/2));
  }

  #faq .bk_btn {
    margin-bottom: 10.6666666667vw;
  }
}
#usecase .example01 {
  background-color: #FFF6B6;
}
#usecase .example01 .example_list dt {
  background: #FFDC4A;
}
#usecase .example02 {
  background-color: #C6DCFF;
}
#usecase .example02 .example_list dt {
  background: #7DB8F2;
}
#usecase .example_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#usecase .example_list > * {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-direction: column;
  flex-direction: column;
}
#usecase .example_list dd {
  background: #fff;
}
@media print, screen and (min-width: 768px) {
  #usecase .example_wrap {
    text-align: left;
  }
  #usecase .example_box {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    padding: 1.875rem;
  }
  #usecase .example_box:not(:last-child) {
    margin-bottom: 1.34375rem;
  }
  #usecase .example_tit {
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1.4090909091;
    margin-top: calc(0px - (((1em*1.4090909091) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.4090909091) - 1em)/2));
  }
  #usecase .example_list {
    width: 79.4444444444%;
    margin-left: auto;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.4090909091;
    margin-top: calc(0px - (((1em*1.4090909091) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.4090909091) - 1em)/2));
  }
  #usecase .example_list > * {
    justify-content: center;
    padding: 1.875rem 1.125rem;
  }
  #usecase .example_list > *:not(:last-of-type) {
    margin-bottom: 1.25rem;
  }
  #usecase .example_list dt {
    width: 39.5804195804%;
  }
  #usecase .example_list dd {
    width: 59.1608391608%;
  }
}
@media only screen and (max-width: 767px) {
  #usecase .example_box {
    padding: 5.3333333333vw;
  }
  #usecase .example_box:not(:last-child) {
    margin-bottom: 5.7333333333vw;
  }
  #usecase .example_tit {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.4090909091;
    margin-top: calc(0px - (((1em*1.4090909091) - 1em)/2));
    margin-bottom: calc(5.3333333333vw - (((1em*1.4090909091) - 1em)/2));
  }
  #usecase .example_list {
    width: 100%;
    font-size: 0.9285714286rem;
    font-weight: 500;
    line-height: 1.4090909091;
    margin-top: calc(0px - (((1em*1.4090909091) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.4090909091) - 1em)/2));
  }
  #usecase .example_list > * {
    justify-content: center;
    padding: 5.3333333333vw 1.8666666667vw;
  }
  #usecase .example_list > *:not(:last-of-type) {
    margin-bottom: 1.3333333333vw;
  }
  #usecase .example_list dt {
    width: 22.6666666667vw;
  }
  #usecase .example_list dd {
    width: 44vw;
  }
}
