@charset "utf-8";

#page {
  background: #fafafa
}

.faq_header {
  background: no-repeat 50% 50%;
  background-size: cover;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center
}

.faq_header_h2,
.faq_header_p {
  text-shadow: 0 0 14.7px rgba(0, 0, 0, .43);
  text-align: center
}

.faq_header_h2 a {
  font-size: 28px;
  line-height: 1.5;
  color: #fff
}

.faq_header_p {
  color: #fff;
  font-size: 16px;
  padding: 0 16px
}

.faq_header_form {
  position: relative;
  max-width: 868px;
  height: 48px;
  border-radius: 48px;
  border: 1px #999 solid;
  background: #fff;
  overflow: hidden
}

.faq_header_form:before {
  position: absolute;
  top: calc(50% - 16px);
  font-size: 32px;
  color: #f48a3f
}

.faq_header_form_input {
  width: 100%;
  height: 100%;
  font-size: 16px
}

.faq_header_form_input::placeholder {
  color: #999
}

.faq_header_form_button {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEyIDEyIj4KICA8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjkuMi4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogMi4xLjAgQnVpbGQgMTE2KSAgLS0+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5zdDAgewogICAgICAgIGZpbGw6ICMzMzM7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnIGlkPSJf44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8XzEiIGZvY3VzYWJsZT0iZmFsc2UiPgogICAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTksMTBjLS4zLDAtLjUsMC0uNy0uM2wtMi4zLTIuMy0yLjMsMi4zYy0uNC40LTEsLjQtMS40LDBzLS40LTEsMC0xLjRsMi4zLTIuMy0yLjMtMi4zYy0uNC0uNC0uNC0xLDAtMS40czEtLjQsMS40LDBsMi4zLDIuMywyLjMtMi4zYy40LS40LDEtLjQsMS40LDBzLjQsMSwwLDEuNGwtMi4zLDIuMywyLjMsMi4zYy40LjQuNCwxLDAsMS40cy0uNS4zLS43LjNaIi8+CiAgPC9nPgo8L3N2Zz4=") no-repeat 50% 50%;
  background-size: 12px 12px;
  cursor: pointer
}

.faq_aside_h4 {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 16px
}

.faq_aside_ul {
  display: grid;
  border-top: 1px #adadad solid;
  border-left: 1px #adadad solid
}

.faq_aside_ul li {
  border-bottom: 1px #adadad solid;
  border-right: 1px #adadad solid;
  background: #fff
}

.faq_aside_ul li a {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center
}

.faq_aside_ul li a img {
  width: 37px;
  margin-right: 7px
}

.faq_aside_ul li a span {
  font-weight: 700;
  width: calc(100% - 44px);
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical
}

.faq_aside_a {
  display: table;
  font-size: 16px;
  line-height: 1.31;
  font-weight: 700;
  color: #f48a3f;
  text-decoration: underline;
  margin: 32px auto 0
}

.faq_footer {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center
}

.faq_footer_p {
  font-size: 14px;
  text-align: center
}

.faq_footer_a.btn-secondary {
  height: 65px;
  border-color: #333;
  border-width: 2px;
  border-radius: 14px;
  margin: 24px auto;
  max-width: 336px
}

.faq_footer_a.btn-secondary span {
  font-size: 16px
}

.faq_nav {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0
}

.faq_nav_h3 {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  padding-bottom: 16px
}

.faq_nav_h3:has(img) span {
  width: calc(100% - 60px);
  font-size: 20px;
  line-height: 1.5
}

.faq_nav_h3 img {
  width: 46px;
  margin-right: 12px
}

.faq_nav_h3 span {
  font-size: 18px;
  line-height: 1.5
}

.faq_nav_div {
  background: #fff;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .05);
  box-shadow: 0 0 20px rgba(0, 0, 0, .05)
}

.faq_nav_div_p+.faq_nav_div_ul {
  border-top: 1px #eaeaea solid;
  margin-bottom: 32px
}

.faq_nav_div_ul li+li {
  border-top: 1px #eaeaea solid
}

.faq_nav_div_ul li a {
  display: block;
  overflow-wrap: anywhere
}

.faq_nav_div_ul li a:before {
  font-size: 24px;
  right: 0
}

.faq_nav_div_a {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  color: #f48a3f;
  display: table;
  margin: 16px 0 0 auto
}

.faq_section_h3 {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  padding-bottom: 16px
}

.faq_section_h3 span {
  font-size: 18px;
  line-height: 1.5
}

.faq_section_dl {
  background: #fff;
  border-radius: 12px
}

.faq_section_dl+.faq_section_dl {
  margin-top: 32px
}

.faq_section_dl_dt {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  border-bottom: 1px #eaeaea solid;
  padding-bottom: 24px
}

.faq_section_dl_dt a {
  display: block;
  text-decoration: none
}

.faq_section_dl_dt a:before {
  right: 0
}

.faq_section_dl_dd_body {
  font-size: 16px;
  margin-top: 24px;
  overflow-wrap: anywhere
}

.faq_section_dl_dd_time {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 24px;
  width: fit-content;
  margin-left: auto
}

.faq_section_dl_dd_breadcrumbs {
  margin-top: 24px
}

.faq_section_dl_dd_breadcrumbs ol {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center
}

.faq_section_dl_dd_breadcrumbs ol li {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center
}

.faq_section_dl_dd_breadcrumbs ol li+li {
  margin-left: 8px
}

.faq_section_dl_dd_breadcrumbs ol li+li:before {
  margin-right: 8px;
  font-size: 18px
}

.faq_section_dl_dd_breadcrumbs ol li a {
  display: block;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.29;
  font-weight: 700
}

.faq_section_ul:before {
  content: attr(data-title) "";
  display: block;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700
}

.faq_section_ul li {
  margin-top: 17px
}

.faq_section_ul li a {
  display: table;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 700;
  color: #f48a3f;
  text-decoration: underline
}

.faq_section_nav_ul {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center
}

.faq_section_nav_ul li {
  height: 32px
}

.faq_section_nav_ul li+li {
  margin-left: 5px
}

.faq_section_nav_ul li a {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
  border-color: #333
}

.faq_section_nav_ul li a i:before {
  display: block;
  font-size: 12px
}

.faq_section_nav_ul_li_first,
.faq_section_nav_ul_li_last {
  width: 27px
}

.faq_section_nav_ul_li_next,
.faq_section_nav_ul_li_prev {
  width: 72px
}

.faq_section_nav_ul_li_prev a:after {
  content: attr(data-label) "";
  margin-left: 8px;
  font-size: 12px
}

.faq_section_nav_ul_li_next a:before {
  content: attr(data-label) "";
  margin-right: 8px;
  font-size: 12px
}

.faq_div {
  display: grid
}

#index .faq_header_h2 a {
  pointer-events: none
}

#index .faq_nav:first-child .faq_nav_div_ul li a {
  font-weight: 700
}

#index .faq_nav:first-child~.faq_nav .faq_nav_div_ul {
  border-bottom: 1px #eaeaea solid
}

#search .faq_section_dl_dd_body {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical
}

.device-pc #contents {
  width: auto;
  padding-bottom: 80px
}

.device-pc #contents nav[role=breadcrumb] {
  width: 1120px;
  padding: 0;
  margin: -32px auto 48px
}

.device-pc .faq_header {
  max-width: 1500px;
  height: 300px;
  margin: 0 auto 80px;
  background-image: url("/store/techo/faq/2027/images/header_pc.webp");
  padding-bottom: 25px
}

.device-pc .faq_header_p {
  margin: 11px 0 20px
}

.device-pc .faq_header_form {
  width: 100%;
  padding: 0 59px
}

.device-pc .faq_header_form:before {
  left: 19px
}

.device-pc .faq_header_form_button {
  width: 59px
}

.device-pc .faq_aside {
  width: 1120px;
  margin: 80px auto 0
}

.device-pc .faq_aside_ul {
  grid-template-columns: repeat(4, 1fr)
}

.device-pc .faq_aside_ul li a {
  height: 70px;
  padding: 0 10px
}

.device-pc .faq_aside_ul li a span {
  font-size: 16px;
  line-height: 1.31
}

.device-pc .faq_footer {
  margin-top: 80px
}

.device-pc .faq_nav_div {
  padding: 8px 32px;
  border-radius: 20px
}

.device-pc .faq_nav_div_p {
  font-size: 16px;
  line-height: 1.69;
  padding: 24px 0 16px
}

.device-pc .faq_nav_div_ul li a {
  font-size: 16px;
  line-height: 1.69;
  padding: 24px 32px 24px 0
}

.device-pc .faq_div,
.device-pc .faq_section {
  width: 1120px;
  margin: 0 auto
}

.device-pc .faq_section {
  margin-bottom: 80px
}

.device-pc .faq_section_dl {
  padding: 32px
}

.device-pc .faq_section_ul {
  margin-bottom: 80px
}

.device-pc .faq_section_nav {
  margin-top: 80px
}

.device-pc #index .faq_div {
  grid-template-columns: repeat(2, 1fr);
  gap: 56px 40px
}

.device-pc #index .faq_nav:first-child {
  grid-column: span 2;
  margin-bottom: 24px
}

.device-pc #index .faq_nav:first-child~.faq_nav .faq_nav_div {
  border-radius: 16px;
  padding-bottom: 32px
}

.device-pc #search .faq_section {
  margin-top: -32px
}

.device-sp #contents {
  padding-bottom: 48px
}

.device-sp #contents nav[role=breadcrumb] {
  display: none
}

.device-sp .faq_header {
  margin: 0 -16px 48px;
  aspect-ratio: 416/300;
  background-image: url("/store/techo/faq/2027/images/header_sp.webp")
}

.device-sp .faq_header_p {
  margin: 13px 0 22px
}

.device-sp .faq_header_form {
  width: calc(100% - 48px);
  padding: 0 56px
}

.device-sp .faq_header_form:before {
  left: 16px
}

.device-sp .faq_header_form_button {
  width: 56px
}

.device-sp .faq_aside {
  margin-top: 56px
}

.device-sp .faq_aside_ul {
  grid-template-columns: repeat(2, 1fr)
}

.device-sp .faq_aside_ul li a {
  height: 62px;
  padding: 0 10px 0 0
}

.device-sp .faq_aside_ul li a span {
  font-size: 14px;
  line-height: 1.5
}

.device-sp .faq_footer {
  margin-top: 48px
}

.device-sp .faq_footer_a.btn-secondary {
  width: calc(100% - 48px)
}

.device-sp .faq_nav_div {
  padding: 8px 16px;
  border-radius: 16px
}

.device-sp .faq_nav_div_p {
  font-size: 16px;
  line-height: 1.5;
  padding: 16px 0 16px
}

.device-sp .faq_nav_div_ul li a {
  font-size: 16px;
  line-height: 1.5;
  padding: 16px 32px 16px 0
}

.device-sp .faq_section {
  margin-bottom: 56px
}

.device-sp .faq_section_dl {
  padding: 24px 16px
}

.device-sp .faq_section_ul {
  margin-bottom: 56px
}

.device-sp .faq_section_nav {
  margin-top: 56px
}

.device-sp #index .faq_div {
  grid-template-columns: repeat(1, 1fr);
  gap: 56px 40px
}

.device-sp #index .faq_nav:first-child~.faq_nav .faq_nav_div {
  padding-bottom: 16px
}

@media screen and (min-width:621px) {
  .device-sp .faq_aside_ul {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media screen and (min-width:828px) {
  .device-sp .faq_header {
    aspect-ratio: inherit;
    height: 300px;
    background-image: url("/store/techo/faq/2027/images/header_pc.webp");
    padding-bottom: 25px
  }

  .device-sp .faq_header_p br {
    display: none
  }

  .device-sp .faq_aside_ul {
    grid-template-columns: repeat(4, 1fr)
  }

  .device-sp #index .faq_div {
    grid-template-columns: repeat(2, 1fr)
  }

  .device-sp #index .faq_nav:first-child {
    grid-column: span 2;
    margin-bottom: 24px
  }
}