@charset "UTF-8";
/*=======================================================
共通
=======================================================*/
.bl_item_faq {
  display: flex;
  line-height: calc(25/17);
}
.bl_item_faqs {
  display: grid;
  gap: min(12 / 1280 * 100vw, 12px);
  margin-bottom: min(24 / 1280 * 100vw, 24px);
}
.bl_item_faq a {
  position: relative;
  font-size: min(17 / 1280 * 100vw, 17px);
  padding-left: min(14 / 1280 * 100vw, 14px);
}
.bl_item_faq a::before {
  position: absolute;
  content: "";
  background: url("../images/faq/icon_faq_arrow.svg") top center/contain no-repeat;
  width: min(7 / 1280 * 100vw, 7px);
  height: min(13 / 1280 * 100vw, 13px);
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.bl_mv .bl_searchForm-faq {
  position: relative;
}
.bl_mv .bl_searchForm-faq_input {
  background: #ffffff;
  width: min(480 / 1280 * 100vw, 480px);
  height: min(56 / 1280 * 100vw, 56px);
  border-radius: min(28 / 1280 * 100vw, 28px);
  font-size: min(15 / 1280 * 100vw, 15px);
  line-height: calc(21/15);
  padding: 0 min(64 / 1280 * 100vw, 64px) min(3 / 1280 * 100vw, 3px);
  overflow-x: scroll !important;
}
.bl_mv .bl_searchForm-faq_submit {
  position: absolute;
  width: min(32 / 1280 * 100vw, 32px);
  height: min(32 / 1280 * 100vw, 32px);
  top: 50%;
  left: min(16 / 1280 * 100vw, 16px);
  transform: translateY(-50%);
  cursor: pointer;
  background: url("../images/common/icon_search.svg") top center/contain no-repeat;
}
.bl_mv ::placeholder {
  text-align: center;
}

@media screen and (max-width: 750px) {
  .bl_item_faqs {
    gap: 18px;
    margin-bottom: 36px;
  }
  .bl_item_faq a {
    font-size: 28px;
    padding-left: 21px;
  }
  .bl_item_faq a::before {
    width: 10.5px;
    height: 19.5px;
  }
  .bl_mv .bl_searchForm-faq_input {
    width: 690px;
    height: 84px;
    border-radius: 42px;
    font-size: 25px;
    padding: 0 96px 4.5px;
  }
  .bl_mv .bl_searchForm-faq_submit {
    width: 48px;
    height: 48px;
    left: 24px;
  }
}
/*=======================================================
archive
=======================================================*/
/*=======================================================
mv
=======================================================*/
.archive .bl_mv {
  background: url("../images/faq/mv.jpg") top center/cover no-repeat;
  padding: min(104 / 1280 * 100vw, 104px) 0 min(56 / 1280 * 100vw, 56px);
}
.archive .bl_mv_ttl {
  width: min(102 / 1280 * 100vw, 102px);
  display: flex;
  margin: 0 auto min(32 / 1280 * 100vw, 32px);
}
.archive .bl_mv_txt {
  text-align: center;
  font-size: min(20 / 1280 * 100vw, 20px);
  line-height: calc(29/20);
  margin-bottom: min(24 / 1280 * 100vw, 24px);
}
.archive .bl_mv .bl_searchForm-faq {
  width: fit-content;
  margin-inline: auto;
}

@media screen and (max-width: 750px) {
  .archive .bl_mv {
    background: url("../images/faq/mv_sp.jpg") top center/cover no-repeat;
    padding: 96px 0;
  }
  .archive .bl_mv_ttl {
    width: 136px;
    margin-bottom: 24px;
  }
  .archive .bl_mv_txt {
    font-size: 28px;
    margin-bottom: 32px;
  }
}
/*=======================================================
frequently
=======================================================*/
.archive .bl_frequently {
  padding: min(120 / 1280 * 100vw, 120px) 0 min(140 / 1280 * 100vw, 140px);
}
.archive .bl_frequently_ttl {
  font-size: min(32 / 1280 * 100vw, 32px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: calc(46/32);
  text-align: center;
  margin-bottom: min(56 / 1280 * 100vw, 56px);
}
.archive .bl_frequently_ttl_inner {
  padding-bottom: min(16 / 1280 * 100vw, 16px);
  display: inline-block;
  position: relative;
}
.archive .bl_frequently_ttl_inner::after {
  width: 100%;
  height: min(4 / 1280 * 100vw, 4px);
  position: absolute;
  content: "";
  background: #d8b787;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.archive .bl_frequently_list {
  display: grid;
  gap: min(144 / 1280 * 100vw, 144px);
  grid-template-columns: repeat(2, 1fr);
}
.archive .bl_frequently_item .bl_item_ttl {
  font-size: min(24 / 1280 * 100vw, 24px);
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: min(24 / 1280 * 100vw, 24px);
  line-height: calc(35/24);
}
.archive .bl_frequently_item .bl_item_faqs {
  margin-bottom: 0;
}
.archive .bl_frequently_item.faq .bl_item_ttl {
  color: #d8b787;
}
.archive .bl_frequently_item.knowledge .bl_item_ttl {
  color: #cb7085;
}

@media screen and (max-width: 750px) {
  .archive .bl_frequently {
    padding: 80px 0 120px;
  }
  .archive .bl_frequently_ttl {
    font-size: 40px;
    margin-bottom: 84px;
  }
  .archive .bl_frequently_ttl_inner {
    padding-bottom: 24px;
  }
  .archive .bl_frequently_ttl_inner::after {
    height: 6px;
  }
  .archive .bl_frequently_list {
    gap: 64px;
    grid-template-columns: auto;
  }
  .archive .bl_frequently_item .bl_item_ttl {
    font-size: 32px;
    margin-bottom: 32px;
  }
}
/*=======================================================
faq-archive
=======================================================*/
.archive .bl_faq-archive {
  padding: min(140 / 1280 * 100vw, 140px) 0;
}
.archive .bl_faq-archive:nth-of-type(even) {
  background: #f1f0ec;
}
.archive .bl_faq-archive_ttl {
  padding-top: min(82 / 1280 * 100vw, 82px);
  font-size: min(32 / 1280 * 100vw, 32px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: calc(46/32);
  text-align: center;
  position: relative;
  margin-bottom: min(80 / 1280 * 100vw, 80px);
}
.archive .bl_faq-archive_ttl::before {
  position: absolute;
  content: "";
  height: min(28 / 1280 * 100vw, 28px);
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.archive .bl_faq-archive_ttl::after {
  position: absolute;
  content: "";
  top: min(46 / 1280 * 100vw, 46px);
  left: 50%;
  transform: translateX(-50%);
  width: min(236 / 1280 * 100vw, 236px);
  height: min(4 / 1280 * 100vw, 4px);
}
.archive .bl_faq-archive_list {
  display: flex;
  flex-wrap: wrap;
  gap: min(80 / 1280 * 100vw, 80px) min(144 / 1280 * 100vw, 144px);
}
.archive .bl_faq-archive_item {
  width: calc((100% - min(144 / 1280 * 100vw, 144px)) / 2);
}
.archive .bl_faq-archive_item .bl_item_ttl {
  margin-bottom: min(24 / 1280 * 100vw, 24px);
}
.archive .bl_faq-archive_item .bl_item_ttl_link {
  display: block;
  padding: min(7 / 1280 * 100vw, 7px) min(16 / 1280 * 100vw, 16px) min(10 / 1280 * 100vw, 10px);
  font-size: min(24 / 1280 * 100vw, 24px);
  line-height: calc(35/24);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
}
.archive .bl_faq-archive_item .bl_item_more {
  border-radius: min(24 / 1280 * 100vw, 24px);
  border: 1px solid;
  background: #ffffff;
  padding: min(1 / 1280 * 100vw, 1px) min(16 / 1280 * 100vw, 16px) min(6 / 1280 * 100vw, 6px) min(30 / 1280 * 100vw, 30px);
  line-height: calc(21/15);
  position: relative;
  display: inline-block;
}
.archive .bl_faq-archive_item .bl_item_more_wrapper {
  text-align: right;
}
.archive .bl_faq-archive_item .bl_item_more::before {
  position: absolute;
  content: "";
  width: min(4 / 1280 * 100vw, 4px);
  height: min(8 / 1280 * 100vw, 8px);
  background: url("../images/faq/icon_faq_arrow.svg") top center/contain no-repeat;
  top: 50%;
  left: min(16 / 1280 * 100vw, 16px);
  transform: translateY(-50%);
}
.archive .bl_faq-archive.faq .bl_faq-archive_ttl::before {
  width: min(232 / 1280 * 100vw, 232px);
  background: url("../images/faq/ttl_questions.svg") top center/contain no-repeat;
}
.archive .bl_faq-archive.faq .bl_faq-archive_ttl::after {
  background: #d8b787;
}
.archive .bl_faq-archive.faq .bl_faq-archive_item .bl_item_ttl {
  background: #d8b787;
}
.archive .bl_faq-archive.knowledge .bl_faq-archive_ttl::before {
  width: min(232 / 1280 * 100vw, 232px);
  background: url("../images/faq/ttl_knowledge.svg") top center/contain no-repeat;
}
.archive .bl_faq-archive.knowledge .bl_faq-archive_ttl::after {
  background: #cb7085;
}
.archive .bl_faq-archive.knowledge .bl_faq-archive_item .bl_item_ttl {
  background: #cb7085;
}

@media screen and (max-width: 750px) {
  .archive .bl_faq-archive {
    padding: 120px 0;
  }
  .archive .bl_faq-archive_ttl {
    padding-top: 100px;
    font-size: 40px;
    margin-bottom: 80px;
  }
  .archive .bl_faq-archive_ttl::before {
    height: 42px;
  }
  .archive .bl_faq-archive_ttl::after {
    top: 69px;
    width: 354px;
    height: 6px;
  }
  .archive .bl_faq-archive_list {
    display: grid;
    gap: 64px;
  }
  .archive .bl_faq-archive_item {
    width: 100%;
  }
  .archive .bl_faq-archive_item .bl_item_ttl {
    margin-bottom: 36px;
  }
  .archive .bl_faq-archive_item .bl_item_ttl_link {
    padding: 10.5px 24px 15px;
    font-size: 34px;
  }
  .archive .bl_faq-archive_item .bl_item_more {
    border-radius: 36px;
    border-width: 2px;
    padding: 2px 24px 9px 45px;
  }
  .archive .bl_faq-archive_item .bl_item_more::before {
    width: 6px;
    height: 12px;
    left: 24px;
  }
  .archive .bl_faq-archive.faq .bl_faq-archive_ttl::before {
    width: 348px;
  }
  .archive .bl_faq-archive.knowledge .bl_faq-archive_ttl::before {
    width: 348px;
  }
}
/*=======================================================
taxonomy
=======================================================*/
/*=======================================================
mv
=======================================================*/
.taxonomy .bl_mv,
.single .bl_mv {
  background: url("../images/faq/taxonomy_mv.jpg") top center/cover no-repeat;
  padding: min(49 / 1280 * 100vw, 49px) 0;
}
.taxonomy .bl_mv .ly_cont_inner,
.single .bl_mv .ly_cont_inner {
  display: flex;
  justify-content: space-between;
}
.taxonomy .bl_mv_ttl,
.single .bl_mv_ttl {
  display: flex;
  flex-wrap: wrap;
  gap: min(32 / 1280 * 100vw, 32px);
  align-items: center;
  font-size: min(32 / 1280 * 100vw, 32px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: calc(46/32);
}
.taxonomy .bl_mv_ttl img,
.single .bl_mv_ttl img {
  width: min(102 / 1280 * 100vw, 102px);
}

@media screen and (max-width: 750px) {
  .taxonomy .bl_mv,
  .single .bl_mv {
    padding: 96px 0;
  }
  .taxonomy .bl_mv .ly_cont_inner,
  .single .bl_mv .ly_cont_inner {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .taxonomy .bl_mv_ttl,
  .single .bl_mv_ttl {
    display: grid;
    gap: 14px;
    font-size: 36px;
    justify-items: center;
    align-items: center;
  }
  .taxonomy .bl_mv_ttl img,
  .single .bl_mv_ttl img {
    width: 136px;
  }
}
/*=======================================================
faq-taxonomy
=======================================================*/
.taxonomy .bl_faq-taxonomy {
  padding: min(68 / 1280 * 100vw, 68px) 0 min(80 / 1280 * 100vw, 80px);
}
.taxonomy .bl_faq-taxonomy_ttl {
  margin-bottom: min(24 / 1280 * 100vw, 24px);
  color: #ffffff;
  padding: min(7 / 1280 * 100vw, 7px) min(16 / 1280 * 100vw, 16px) min(10 / 1280 * 100vw, 10px);
  font-size: min(24 / 1280 * 100vw, 24px);
  letter-spacing: 0.06em;
  line-height: calc(35/24);
  background: #d8b787;
}

@media screen and (max-width: 750px) {
  .taxonomy .bl_faq-taxonomy {
    padding: 80px 0;
  }
  .taxonomy .bl_faq-taxonomy_ttl {
    margin-bottom: 36px;
    padding: 10.5px 24px 15px;
    font-size: 34px;
  }
}
/*=======================================================
single
=======================================================*/
/*=======================================================
faq-single
=======================================================*/
.bl_faq-single {
  padding: min(64 / 1280 * 100vw, 64px) 0 min(200 / 1280 * 100vw, 200px);
}
.bl_faq-single_ttl {
  font-size: min(24 / 1280 * 100vw, 24px);
  line-height: calc(35/24);
  font-weight: 700;
  letter-spacing: 0.06em;
  padding-bottom: min(19 / 1280 * 100vw, 19px);
  margin-bottom: min(40 / 1280 * 100vw, 40px);
  position: relative;
}
.bl_faq-single_ttl::after {
  position: absolute;
  content: "";
  width: 100%;
  height: min(3 / 1280 * 100vw, 3px);
  background: #d8b787;
  bottom: 0;
  left: 0;
}
.bl_faq-single_txt * {
  font-size: min(17 / 1280 * 100vw, 17px);
  line-height: calc(59/34);
}
.bl_faq-single_txt a {
  color: blue;
  text-decoration: underline;
}

@media screen and (max-width: 750px) {
  .bl_faq-single {
    padding: 80px 0 120px;
  }
  .bl_faq-single_ttl {
    font-size: 34px;
    padding-bottom: 28px;
    margin-bottom: 64px;
  }
  .bl_faq-single_ttl::after {
    height: 4.5px;
  }
  .bl_faq-single_txt * {
    font-size: 28px;
  }
}