/*header
---------------------*/
header .header__contents a.login {
  background-color: #fff;
  border: 2px solid #FFB857;
  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;
}
@media print, screen and (min-width: 768px) {
  header {
    height: 8.75rem;
  }
  header .header__ttl {
    width: 16.469375rem;
  }
  header.narrow {
    height: 8.75rem;
  }
  header .header__contents {
    padding-right: 1.25rem;
  }
  header .header__contents a.app {
    border-radius: 1.875rem;
    font-size: inherit;
    width: 14.75rem;
  }
  header .header__contents a.login {
    width: 7.5rem;
    height: 3rem;
    border-radius: 1.5rem;
    margin-right: 1rem;
  }
  header .header__contents a.login:hover {
    background: #FFB857;
  }
  header .header__contents a.login::after {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  header {
    background-color: transparent;
  }
  header::before {
    background-color: transparent;
  }
  header .header__ttl {
    width: 30.2773333333vw;
    -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;
  }
  header.narrow {
    height: 4.5714285714rem;
  }
  header .header__contents a.app {
    font-size: inherit;
    width: 74.6666666667vw;
    margin-top: 0;
  }
  header .header__contents a.login {
    width: 42.6666666667vw;
    height: 12.8vw;
    border-radius: 6.4vw;
  }
}

/*footer
---------------------*/
footer .faq {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

footer .faq::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1px;
  margin: 0 0.625rem;
  background-color: #444;
}

/*breadcrumb
----------------------*/
.breadcrumb {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
}

.breadcrumb li:not(:last-child) {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: center;
  align-items: center;
}

.breadcrumb li:not(:last-child)::after {
  content: "";
  display: block;
  height: 1px;
  background: #444;
}

@media print, screen and (min-width: 768px) {
  .breadcrumb {
    font-size: 0.875rem;
    font-weight: 400;
    margin-top: 2%;
  }

  .breadcrumb li:not(:last-child)::after {
    width: 0.5rem;
    margin: 0 0.5rem;
  }

  .breadcrumb li a:hover {
    text-decoration: underline;
  }
}
@media only screen and (max-width: 767px) {
  .breadcrumb {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 16vw;
  }

  .breadcrumb li:not(:last-child)::after {
    width: 0.5714285714rem;
    margin: 0 0.5714285714rem;
  }
}
/*bk_btn
----------------------*/
.bk_btn {
  background: #444;
  margin: auto;
}

.bk_btn.link--arrow::after {
  background-color: #fff;
}

.bk_btn:not(:hover) {
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .bk_btn {
    width: 25rem;
    height: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .bk_btn {
    height: 21.3333333333vw;
  }
}
/*back_btn
----------------------*/
.back_btn {
  margin: auto;
}

.back_btn.link--arrow::before {
  right: auto;
  scale: -1 1;
}

.back_btn.link--arrow::after {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .back_btn {
    width: 15rem;
    height: 4rem;
  }

  .back_btn.link--arrow::before {
    left: 1.25rem;
    width: 0.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .back_btn {
    width: 64vw;
  }

  .back_btn.link--arrow::before {
    left: 5.3333333333vw;
    width: 3.2vw;
  }
}
/*aco_btn
----------------------*/
.aco_btn {
  cursor: pointer;
  -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;
}

.aco_btn::after {
  -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;
  border-radius: 50%;
  content: "";
  display: block;
  background-color: #F5F7FA;
  background-position: center center;
  aspect-ratio: 1/1;
}

.aco_btn::before {
  content: "";
  display: block;
  background-size: 0.875rem 0.875rem;
  background-image: url("../img/howto/aco_plus.svg");
  background-position: center center;
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  z-index: 1;
}

.aco_btn.open::before {
  background-size: 0.875rem 0.125rem;
  background-image: url("../img/howto/aco_minus.svg");
}

@media print, screen and (min-width: 768px) {
  .aco_btn::after, .aco_btn::before {
    width: 2rem;
  }

  .aco_btn:hover {
    background-color: #F5F7FA;
  }

  .aco_btn:hover::after {
    scale: 1.25 1.25;
    background-color: #fff;
  }
}
@media only screen and (max-width: 767px) {
  .aco_btn::after, .aco_btn::before {
    width: 8.5333333333vw;
  }
}
/*title-type01
----------------------*/
.title-type01 .en {
  font-size: 4.5rem;
  font-family: "Barlow Condensed", sans-serif;
}

@media only screen and (max-width: 767px) {
  .title-type01 .en {
    font-size: 5.1428571429rem;
  }
}
/*swiper-pagination
----------------------*/
.swiper-pagination {
  font-family: "Barlow Condensed", sans-serif;
}

/*.service__list .item .list_text__num
----------------------*/
.service__list .item .list_text__num {
  font-size: 4rem;
  font-family: "Barlow Condensed", sans-serif;
}

@media only screen and (max-width: 767px) {
  .service__list .item .list_text__num {
    font-size: 3.4285714286rem;
  }
}
/*.news__list .item__date
----------------------*/
.news__list .item__date {
  font-size: 1rem;
  font-family: "Barlow Condensed", sans-serif;
}

@media only screen and (max-width: 767px) {
  .news__list .item__date {
    font-size: 1.1428571429rem;
  }
}
footer .footer__link .link_list--02 li:last-child small {
  font-size: 1rem;
  font-family: "Barlow Condensed", sans-serif;
}

/*sec_tit_area
---------------------*/
.sec_tit_area .sec_tit {
  font-weight: 800;
}

.sec_tit_area .txt {
  font-weight: 400;
}

@media print, screen and (min-width: 768px) {
  .sec_tit_area {
    text-align: center;
  }

  .sec_tit_area .sec_tit {
    font-size: 2.5rem;
  }

  .sec_tit_area .sec_tit:not(:last-child) {
    margin-bottom: 3rem;
  }

  .sec_tit_area .txt {
    font-size: 1.125rem;
    line-height: 1.8;
    margin-top: calc(0px - (((1em*1.8) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.8) - 1em)/2));
  }
}
@media only screen and (max-width: 767px) {
  .sec_tit_area .sec_tit {
    text-align: center;
    font-size: 2.2857142857rem;
  }

  .sec_tit_area .txt {
    font-size: 1.1428571429rem;
    line-height: 2;
    margin-top: calc(0px - (((1em*2) - 1em)/2));
    margin-bottom: calc(0px - (((1em*2) - 1em)/2));
  }
}
/*under_page_tit
---------------------*/
.under_page_tit .en {
  display: block;
  font-weight: 700;
  font-family: "Barlow Condensed", sans-serif;
  color: #FFB857;
}

.under_page_tit .jp {
  display: block;
  font-weight: 800;
}

.under_page_tit .jp .jp_in_en {
  font-weight: 700;
  font-family: "Barlow Condensed", sans-serif;
}

/*under_mv
---------------------*/
#under_mv .mv_img {
  position: relative;
}

#under_mv .mv_img::before, #under_mv .mv_img::after {
  content: "";
  display: block;
  background-size: 100% 100%;
  position: absolute;
}

#under_mv .under_page_tit .jp {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
}

@media print, screen and (min-width: 768px) {
  #under_mv {
    padding-top: 8.75rem;
    padding-bottom: 10.25rem;
    position: relative;
    height: 50rem;
  }

  #under_mv::before {
    content: "";
    display: block;
    background-size: 100% auto;
    background-position: bottom right;
    background-image: url("../img/common/under_mv_bg.png");
    background-repeat: no-repeat;
    width: 72.2222222222%;
    height: 26.25rem;
    position: absolute;
    bottom: 12.375rem;
    right: 0;
    z-index: -1;
  }

  #under_mv .container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }

  #under_mv .under_page_tit {
    margin-top: 10.9375rem;
  }

  #under_mv .under_page_tit .en {
    font-size: 1.5rem;
    margin-bottom: 1.375rem;
  }

  #under_mv .under_page_tit .jp {
    font-size: 4rem;
  }

  #under_mv .under_page_tit .jp .jp_in_en {
    font-size: 4.8rem;
    font-size: 4.8rem;
  }
}
@media only screen and (max-width: 767px) {
  #under_mv {
    padding-top: 17.0666666667vw;
    padding-bottom: 21.3333333333vw;
  }

  #under_mv .breadcrumb {
    margin-bottom: 0;
  }

  #under_mv .under_page_tit {
    margin-top: 16vw;
    margin-bottom: 7.7333333333vw;
  }

  #under_mv .under_page_tit .en {
    font-size: 1.1428571429rem;
    margin-bottom: 4.2666666667vw;
  }

  #under_mv .under_page_tit .jp {
    font-size: 2.5714285714rem;
  }

  #under_mv .under_page_tit .jp .jp_in_en {
    font-size: 2.8571428571rem;
  }

  #under_mv .mv_img::before {
    content: "";
    display: block;
    background-size: 100% 100%;
    background-image: url("../img/common/under_mv_bg_sp.png");
    position: absolute;
    z-index: -1;
    right: -5.3333333333vw;
    width: 94.6666666667vw;
    aspect-ratio: 355/210;
  }
}
/*under_intro
---------------------*/
@media print, screen and (min-width: 768px) {
  #under_intro .container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }

  #under_intro .intro_img {
    order: -1;
  }

  #under_intro .txt_area {
    width: 43.75%;
  }

  #under_intro .txt_area .tit {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.5;
    margin-top: calc(0px - (((1em*1.5) - 1em)/2));
    margin-bottom: calc(2.5rem - (((1em*1.5) - 1em)/2));
  }

  #under_intro .txt_area .txt {
    width: 85.7142857143%;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 2;
    margin-top: calc(0px - (((1em*2) - 1em)/2));
    margin-bottom: calc(0px - (((1em*2) - 1em)/2));
  }
}
@media only screen and (max-width: 767px) {
  #under_intro .txt_area .tit {
    text-align: center;
    font-size: 1.7142857143rem;
    font-weight: 800;
    line-height: 1.5;
    margin-top: calc(0px - (((1em*1.5) - 1em)/2));
    margin-bottom: calc(6.6666666667vw - (((1em*1.5) - 1em)/2));
  }

  #under_intro .txt_area .txt {
    font-size: 1.1428571429rem;
    font-weight: 400;
    line-height: 2;
    margin-top: calc(0px - (((1em*2) - 1em)/2));
    margin-bottom: calc(0px - (((1em*2) - 1em)/2));
  }
}
/*voice .questionnaire_area
---------------------*/
#voice .questionnaire_area {
  width: 87.5%;
  margin: 0 auto 2.5rem;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

#voice .questionnaire_box {
  width: 48.2142857143%;
  background-color: #F5F7FA;
  border-radius: 0.5rem;
  padding: 2.5rem 2.5rem 1.875rem;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-flex-direction: column;
  flex-direction: column;
}

#voice .questionnaire_box .box_tit {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 2.3rem;
}

#voice .questionnaire_box .txt {
  width: 100%;
  margin: 0 auto 1.325rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  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;
  height: 6.25rem;
  background-color: #fff;
  position: relative;
}

#voice .questionnaire_box .txt::before {
  content: "";
  display: block;
  background-size: 100% 100%;
  position: absolute;
  background-image: url("../img/top/ballon_parts.svg");
  width: 1.5rem;
  aspect-ratio: 1/1;
  top: 100%;
  right: 13.0434782609%;
}

#voice .questionnaire_box .questionnaire_img {
  width: 99.1304347826%;
  margin: auto -1.3043478261% auto auto;
}

@media only screen and (max-width: 767px) {
  #voice .questionnaire_area {
    width: 100%;
    display: block;
  }

  #voice .questionnaire_box {
    width: 100%;
    margin-bottom: 1.5rem;
    padding: 2.2rem 1.8rem 1.375rem;
  }

  #voice .questionnaire_box .box_tit {
    margin-bottom: 1.8rem;
  }

  #voice .questionnaire_box .txt {
    font-size: 1rem;
    height: 5rem;
  }
}
/*under_page_tit
---------------------*/
.under_page_tit_area {
  position: relative;
}

.under_page_tit_area::after {
  content: "";
  display: block;
  background-size: 100% 100%;
  position: absolute;
  right: 0;
}

@media print, screen and (min-width: 768px) {
  .under_page_tit_area {
    margin-top: 8.75rem;
    padding-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  .under_page_tit_area .under_page_tit {
    margin-left: 6.25%;
  }

  .under_page_tit_area .under_page_tit .en {
    font-size: 1.125rem;
    margin-bottom: 0.75rem;
  }

  .under_page_tit_area .under_page_tit .jp {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .under_page_tit_area {
    margin-top: 17.0666666667vw;
    padding-top: 16vw;
    margin-bottom: 5.3333333333vw;
  }

  .under_page_tit_area .under_page_tit .en {
    font-size: 1.1428571429rem;
    margin-bottom: 2.6666666667vw;
  }

  .under_page_tit_area .under_page_tit .jp {
    font-size: 2.5714285714rem;
  }
}
/*pager
---------------------*/
.pager {
  text-align: center;
}

.pager_list {
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  justify-content: center;
  position: relative;
}

.pager_list li {
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "Barlow Condensed", sans-serif;
  margin: 0 0.75rem;
}

.pager_list li:not(.next):not(.prev) a {
  position: relative;
}

.pager_list li:not(.next):not(.prev) a::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.125rem;
  position: absolute;
  top: 100%;
  margin-top: 0.4375rem;
  background: #444;
  opacity: 0;
  -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;
  translate: 0 200%;
}

.pager_list li:not(.next):not(.prev) a:hover::after {
  opacity: 1;
  translate: 0 0;
}

.pager_list a {
  display: block;
}

.pager_list .current span {
  display: block;
  position: relative;
}

.pager_list .current span::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.125rem;
  position: absolute;
  top: 100%;
  margin-top: 0.4375rem;
  background: #444;
}

.pager_list .next, .pager_list .prev {
  position: absolute;
  top: 50%;
  z-index: 0;
  translate: 0 -50%;
}

.pager_list .next a, .pager_list .prev a {
  width: 3rem;
  aspect-ratio: 1/1;
}

.pager_list .next a::after, .pager_list .next a::before, .pager_list .prev a::after, .pager_list .prev a::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  aspect-ratio: 1/1;
}

.pager_list .next a::before, .pager_list .prev a::before {
  content: "";
  display: block;
  border: 2px solid #444;
  border-radius: 50%;
  background-color: #fff;
  -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;
}

.pager_list .next a::after, .pager_list .prev a::after {
  content: "";
  display: block;
  background-size: 1.25rem 1.125rem;
  background-repeat: no-repeat;
  background-image: url("../img/common/icon_arrow.svg");
  background-position: center center;
}

.pager_list .next a:hover::before, .pager_list .prev a:hover::before {
  scale: 1.25 1.25;
}

.pager_list .next {
  left: 100%;
}

.pager_list .prev {
  right: 100%;
  scale: -1 1;
}

.kv__bnr p {
  -webkit-flex-direction: column;
  flex-direction: column;
}

.kv__bnr p .strong {
  margin-top: .5em;
}

@media only screen and (max-width: 767px) {
  header .header__contents::before {
    background-image: url("../img/common/nav_bg_01_new.png");
  }

  header .header__contents::after {
    background-image: url("../img/common/nav_bg_02_new.png");
  }
}
#common_flow_list {
  margin: auto;
}
#common_flow_list li {
  background-color: #fff;
  -webkit-align-items: center;
  align-items: center;
}
#common_flow_list li:not(:last-child) {
  position: relative;
}
#common_flow_list li:not(:last-child)::before {
  content: "";
  display: block;
  background-size: 100% 100%;
  background-image: url("../img/howto/flow_vector.svg");
  aspect-ratio: 20/22;
  position: absolute;
  left: 50%;
  z-index: 0;
  translate: -50% 0;
  top: 100%;
}
#common_flow_list .list_text__num {
  font-weight: 700;
  font-family: "Barlow Condensed", sans-serif;
  color: #FFB857;
}
@media print, screen and (min-width: 768px) {
  #common_flow_list {
    width: 75%;
  }
  #common_flow_list li {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    height: 7.5rem;
    border-radius: 0.5rem;
    padding-left: 4.1666666667%;
    padding-right: 4.1666666667%;
  }
  #common_flow_list li::after {
    content: "";
    display: block;
    width: 1px;
    height: 5rem;
    background: #E5E5E5;
    margin: 0 4.5454545455% 0 auto;
  }
  #common_flow_list li:not(:last-child) {
    margin-bottom: 2.375rem;
  }
  #common_flow_list li:not(:last-child)::before {
    width: 1.25rem;
    margin-top: 0.5rem;
  }
  #common_flow_list .list_text__num {
    font-size: 2rem;
    margin-right: 4.8863636364%;
  }
  #common_flow_list .list_text__title {
    font-size: 1.125rem;
    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));
  }
  #common_flow_list .list_text__note {
    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));
    width: 35rem;
    order: 1;
  }
}
@media only screen and (max-width: 767px) {
  #common_flow_list {
    width: 100%;
  }
  #common_flow_list li {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    border-radius: 2.1333333333vw;
    padding: 5.3333333333vw;
  }
  #common_flow_list li:not(:last-child) {
    margin-bottom: 10.1333333333vw;
  }
  #common_flow_list li:not(:last-child)::before {
    width: 5.3333333333vw;
    margin-top: 2.1333333333vw;
  }
  #common_flow_list .list_text__num {
    font-size: 1.7142857143rem;
    margin-right: 5.3333333333vw;
  }
  #common_flow_list .list_text__title {
    font-size: 1.1428571429rem;
    font-weight: 700;
    line-height: 1.5;
  }
  #common_flow_list .list_text__note {
    border-top: 1px solid #E5E5E5;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 6.4vw;
    padding-top: 4.4vw;
    width: 100%;
  }
}

.contents__list .item__label.subject li {
  background: #FF851F;
}

/*contact__link01 .link_title
---------------------*/
.contact__link01 .link_title {
  color: #444444;
}

.contact-animation .contact__link01 .link_title .sub-ttl {
  color: #444444;
}
