@charset "UTF-8";
/**
 * レスポンシブのブレイクポイント設定
 */
/*
COLORS
================================================ */
:root {
  --pink: #F279A2;
  --blue: #1B6EB1;
  --sky-blue: #56ADF0;
  --orange: #ED794D;
  --green: #008B80;
  --yellow: #FFDC5A;
  --light-blue: #F2FAFF;
  --light-green: #E4E8E5;
  --light-grey: #F7F7F7;
  --placeholder: #9B9B9B;
  --grey: #ddd;
  --navy: #2E3180;
  --black: #333;
  --white: #fff;
  --gradation-orange: linear-gradient(180deg, #EA8863, #CC5223);
  --gradation-orange_hover: linear-gradient(180deg, #ea7b52, #cd4510);
  --gradation-blue: linear-gradient(180deg, #1C96CE, #1F67AF);
  --gradation-blue_hover: linear-gradient(180deg, #0b8fcc, #0154a7);
}

/*
FAQ
================================================ */
.faq-page {
  margin: 60px 0 40px;
}
@media (width < 769px) {
  .faq-page {
    margin: 10vw 4vw;
    font-size: 3.6vw;
  }
}

.faq-page .inner {
  margin-inline: auto;
  max-width: 900px;
}
@media (769px <= width < 1070px) {
  .faq-page .inner {
    padding: 0 50px;
  }
}

.faq-page .title-sub {
  text-align: center;
  font-weight: 600;
  color: var(--blue);
}
@media (769px <= width) {
  .faq-page .title-sub {
    margin-bottom: 30px;
    font-size: 20px;
  }
}
@media (width < 769px) {
  .faq-page .title-sub {
    margin-bottom: 5.33vw;
    font-size: 4.267vw;
  }
}

.faq-page .description {
  text-align: center;
}

.category__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 36px;
}
@media (width < 769px) {
  .category__list {
    flex-wrap: wrap;
    gap: 1vw;
    margin: 0 0 10.667vw;
  }
}
.category__list .category__item {
  cursor: pointer;
}
@media (width < 769px) {
  .category__list .category__item {
    width: calc(33% - 2vw);
  }
}
.category__list .category__item .current-img {
  display: none;
}
.category__list .category__item a {
  display: grid;
  grid-template-rows: 51px auto;
  gap: 14px;
  padding: 16px 0;
  font-weight: 600;
  text-align: center;
  color: var(--blue);
  background: var(--white);
  border: 2px solid var(--blue);
  border-radius: 5px;
}
@media (769px <= width) {
  .category__list .category__item a {
    width: 190px;
  }
}
@media (width < 769px) {
  .category__list .category__item a {
    grid-template-rows: 5.6vw auto;
    gap: 4.733vw;
    padding: 4.267vw 0;
    font-size: 4.267vw;
    border-radius: 1.333vw;
    font-size: 3.2vw;
  }
}
.category__list .category__item.current a,
.category__list .category__item:hover a {
  color: var(--white);
  background: var(--blue);
}
.category__list .category__item.current a .default-img,
.category__list .category__item:hover a .default-img {
  display: none;
}
.category__list .category__item.current a .current-img,
.category__list .category__item:hover a .current-img {
  display: block;
}
.category__list .category__item img {
  display: block;
  margin: 0 auto;
  text-align: center;
}
@media (width < 769px) {
  .category__list .category__item img {
    width: 10.6vw;
    height: 10.6vw;
    padding-bottom: 10px;
  }
}
.category__list .category__item a:hover .current-img {
  display: block;
  opacity: 1;
}
.category__list .category__item a:hover .default-img {
  display: none;
  opacity: 0;
}

.search {
  gap: 15px;
  margin: 0 auto 64px;
}
@media (769px <= width) {
  .search {
    max-width: 480px;
  }
}
@media (width < 769px) {
  .search {
    flex-direction: column;
    gap: 4vw;
    margin: 0 auto 10.667vw;
    padding: 0 4vw;
  }
}

/* 入力 */
.search__input {
  flex: 1 1 auto;
  height: 50px;
  padding: 0 20px;
  line-height: 1;
  letter-spacing: 0.05em;
  border: 2px solid var(--blue);
  border-radius: 5px;
  outline: none;
}
@media (width < 769px) {
  .search__input {
    height: 13.333vw;
    padding: 0 4vw;
    font-size: 4.267vw;
    border-radius: 1.333vw;
  }
}

.search__input::-moz-placeholder {
  color: var(--placeholder);
}

.search__input::placeholder {
  color: var(--placeholder);
}

.search__input:focus {
  box-shadow: 0 0 0 3px rgba(31, 111, 183, 0.18);
}

.keyword-row {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (769px <= width) {
  .keyword-row {
    gap: 25px;
    margin-top: 40px;
    width: 500px;
  }
}
@media (width < 769px) {
  .keyword-row {
    flex-direction: column;
    gap: 2.667vw;
    margin-top: 8vw;
  }
}

.keyword-label {
  font-weight: 600;
}
@media (width < 769px) {
  .keyword-label {
    font-size: 3.733vw;
  }
}

.keyword {
  display: flex;
}
@media (769px <= width) {
  .keyword {
    gap: 8px;
    width: 65%;
  }
}
@media (width < 769px) {
  .keyword {
    align-items: center;
    flex-direction: column;
    gap: 2.667vw;
    width: 100%;
  }
}

.searchbox {
  position: relative;
}
@media (769px <= width) {
  .searchbox {
    width: 460px;
  }
}
@media (width < 769px) {
  .searchbox {
    width: 100%;
  }
}

.searchbox input {
  width: 100%;
  border: 2px solid var(--grey);
  background: var(--white);
}
@media (769px <= width) {
  .searchbox input {
    padding: 12px 44px 12px 14px;
    font-size: 14px;
    border-radius: 5px;
  }
}
@media (width < 769px) {
  .searchbox input {
    padding: 2.667vw 8.533vw 2.667vw 3.2vw;
    font-size: 3.733vw;
    border-radius: 1.333vw;
  }
}

.searchbox .icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
@media (769px <= width) {
  .searchbox .icon {
    right: 12px;
    width: 20px;
    height: 20px;
  }
}
@media (width < 769px) {
  .searchbox .icon {
    right: 3.2vw;
    width: 4.8vw;
    height: 4.8vw;
  }
}

/* ボタン */
.search__button {
  flex: 0 0 auto;
  height: 50px;
  padding: 0 20px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--white);
  background: var(--blue);
  border: 2px solid var(--blue);
  border-radius: 5px;
  cursor: pointer;
}
@media (width < 769px) {
  .search__button {
    height: 13.333vw;
    padding: 0 4vw;
    font-size: 4.267vw;
    border-radius: 1.333vw;
  }
}

.search__button:focus-visible {
  outline: 3px solid rgba(31, 111, 183, 0.35);
}

.visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  width: 1px;
  overflow: hidden;
  white-space: nowrap;
}

@media (769px <= width) {
  #faq_contents {
    margin-bottom: 80px;
  }
}
@media (769px <= width < 1070px) {
  #faq_contents {
    padding: 0 1.308vw;
  }
}
@media (width < 769px) {
  #faq_contents {
    margin-bottom: 16vw;
    padding: 0 4vw;
  }
}
#faq_contents .inner {
  margin-inline: auto;
  max-width: 1000px;
}
@media (769px <= width) {
  #faq_contents .l-ttl {
    margin-bottom: 60px;
  }
}
@media (width < 769px) {
  #faq_contents .l-ttl {
    margin-bottom: 10.667vw;
  }
}
@media (769px <= width) {
  #faq_contents .l-qa {
    margin-bottom: 40px;
  }
}
@media (width < 769px) {
  #faq_contents .l-qa {
    margin-bottom: 10.667vw;
  }
}
#faq_contents .qa.is-hidden {
  display: none;
}
@media (769px <= width) {
  #faq_contents .qa {
    border: 2px solid var(--blue);
    border-radius: 10px;
  }
}
@media (width < 769px) {
  #faq_contents .qa {
    border: 0.533vw solid var(--blue);
    border-radius: 2.133vw;
  }
}
@media (769px <= width) {
  #faq_contents .qa + .qa {
    margin-top: 20px;
  }
}
@media (width < 769px) {
  #faq_contents .qa + .qa {
    margin-top: 5.333vw;
  }
}
#faq_contents .qa mark {
  background: #ffeb3b;
  padding: 0 0.15em;
}
@media (769px <= width) {
  #faq_contents .qa summary,
#faq_contents .qa .qa__text {
    padding: 1em 2em 1em 1em;
  }
}
@media (width < 769px) {
  #faq_contents .qa summary,
#faq_contents .qa .qa__text {
    padding: 1em;
  }
}
#faq_contents .qa summary {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  cursor: pointer;
}
#faq_contents .qa summary::-webkit-details-marker {
  display: none;
}
#faq_contents .qa summary .qa__ttl,
#faq_contents .qa .qa__text {
  display: flex;
}
@media (769px <= width) {
  #faq_contents .qa summary .qa__ttl,
#faq_contents .qa .qa__text {
    gap: 0 26px;
  }
}
@media (width < 769px) {
  #faq_contents .qa summary .qa__ttl,
#faq_contents .qa .qa__text {
    gap: 0 2.667vw;
    font-size: 4vw;
  }
}
#faq_contents .qa summary .qa__ttl {
  align-items: center;
}
@media (width < 769px) {
  #faq_contents .qa summary .qa__ttl {
    margin-right: 1.6vw;
  }
}
#faq_contents .qa .qa__text {
  line-height: 2;
}
#faq_contents .qa summary .qa__ttl::before,
#faq_contents .qa .qa__text::before {
  font-weight: 600;
  line-height: 1;
}
@media (769px <= width) {
  #faq_contents .qa summary .qa__ttl::before,
#faq_contents .qa .qa__text::before {
    font-size: 4rem;
  }
}
@media (width < 769px) {
  #faq_contents .qa summary .qa__ttl::before,
#faq_contents .qa .qa__text::before {
    font-size: 8vw;
  }
}
#faq_contents .qa summary .qa__ttl::before {
  content: "Q";
  color: var(--blue);
}
#faq_contents .qa summary::before,
#faq_contents .qa summary::after {
  content: "";
  flex-shrink: 0;
  background-color: var(--blue);
}
@media (769px <= width) {
  #faq_contents .qa summary::before,
#faq_contents .qa summary::after {
    width: 27px;
    height: 3px;
    border-radius: 5px;
  }
}
@media (width < 769px) {
  #faq_contents .qa summary::before,
#faq_contents .qa summary::after {
    width: 5.867vw;
    height: 0.8vw;
    border-radius: 0.533vw;
  }
}
#faq_contents .qa summary::before {
  position: absolute;
  rotate: 90deg;
  transition: all 0.3s;
}
@media (769px <= width) {
  #faq_contents .qa summary::before {
    right: 2em;
  }
}
@media (width < 769px) {
  #faq_contents .qa summary::before {
    right: 1em;
  }
}
#faq_contents .qa[open] summary::before {
  rotate: 0deg;
}
#faq_contents .qa .qa__text {
  position: relative;
  transition: transform 0.5s, opacity 0.5s;
}
#faq_contents .qa[open] .qa__text {
  transform: none;
  opacity: 1;
}
#faq_contents .qa .qa__text::before {
  content: "A";
  color: var(--orange);
}

.search__count {
  text-align: center;
  font-weight: bold;
  margin: 20px auto;
}

.tab {
  display: flex;
  gap: 12px;
  margin: 32px 0;
  padding: 0;
  list-style: none;
}
.tab li {
  flex: 1;
}
.tab li a {
  display: block;
  text-align: center;
  padding: 12px 0;
  border: 2px solid var(--grey);
  border-radius: 6px;
  background: var(--white);
  color: var(--grey);
  font-weight: 600;
  font-size: 16px;
  transition: all 0.25s ease;
}
.tab li a:hover {
  border-color: var(--blue);
  color: var(--blue);
}
.tab li.current a {
  background: var(--blue);
  border-color: var(--blue);
  color: var(--white);
}

.tags {
  margin: 24px 0 32px;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 12px;
}
.tags li {
  margin: 0;
}
.tags a {
  display: inline-block;
  padding: 6px 14px;
  font-size: 14px;
  color: var(--blue);
  background: var(--white);
  border-radius: 20px;
  border: 1px solid var(--blue);
  transition: all 0.25s ease;
}
.tags a:hover {
  background: white;
  border-color: var(--blue);
  color: var(--blue);
}
.tags a.current {
  background: var(--blue);
  color: var(--white);
  border-color: var(--blue);
}