@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;600&family=Roboto:wght@400;700;900&display=swap');

*,*::before,*::after{box-sizing:border-box}

body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}

ul[role="list"],ol[role="list"]{list-style:none}

html:focus-within{scroll-behavior:smooth}

body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}

a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}

img,picture{max-width:100%;display:block}

input,button,textarea,select{font:inherit}

@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

:root {
  /* color */
  --dark-blue:  #053b6c;
  --blue:       #0963B2;
  --light-blue: #8ABCE8;
  --bg-blue:    #E9F3FD;
  --black:      #000;
  --black-800:  #0E0E0E;
  --gray:       #B6B6B6;
  --light-gray: #D9D9D9;
  --bg-gray-200:#F5F5F5;
  --bg-gray-100:#EFEFEF;
  --white:      #fff;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  font-weight: 400;
  font-family:
    'Helvetica Neue',
    'Roboto',
    Arial,
    'Noto Sans JP',
    'Hiragino Kaku Gothic ProN',
    'Hiragino Sans',
    Meiryo,
    sans-serif;
  min-width: 32rem;
}

*:focus-visible {
  outline: rgba(9,99,178, .25) 2px solid;
}

a {
  color: inherit;
}

/* Make images easier to work with */

img {
  vertical-align: middle;
}

ol,ul {
  padding: 0;
}

.faq-body {
  max-width: calc(100rem + 3rem);
  margin-inline: auto;
  padding-block-start: 6rem;
  padding-block-end:   6rem;
  padding-inline: 1.5rem;
}

.faq-link {
  color: #264c88;
  padding: 0;
  width: 100%;
  display: inline;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}


@media (max-width: 599.98px) {

.faq-body {
    padding-block-start: 4rem;
    padding-block-end:   4rem

}
  }

.hr-section {
  border-color: var(--blue);
  border-width: .3rem 0 0 0;
  height: 0;
  border-style: solid;
  margin-block: 6rem 3rem;
}

@media (max-width: 599.98px) {

.hr-section {
    margin-block: 2rem 1rem
}
  }

.page-title,
.section-title {
  font-size: 2.4rem;
  text-align: center;
  font-weight: 600;
  color: var(--dark-blue);
  padding-block: 1em;
}

.page-title {
  border-bottom: .3rem solid var(--blue);
  margin-bottom: 1rem;
}

@media (max-width: 599.98px) {

.section-title {
    font-size: 2.2rem
}
  }

.section-title.with-icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .25em;
  }

.section-title.with-icon::before {
      flex-shrink: 0;
      content: '';
      width: 2.6rem;
      aspect-ratio: 1;
      background-image: url("data:image/svg+xml,%3Csvg fill='none' height='26' viewBox='0 0 26 26' width='26' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m17.7079 8.29252c.0929.09287.1667.20316.217.32456.0503.12139.0762.25152.0762.38294 0 .13141-.0259.26154-.0762.38294s-.1241.23169-.217.32456l-8.00004 7.99998c-.09291.0929-.20321.1666-.32461.2169-.12139.0503-.2515.0762-.38289.0762-.1314 0-.26151-.0259-.3829-.0762s-.23169-.124-.3246-.2169-.16661-.2032-.2169-.3246c-.05028-.1214-.07616-.2515-.07616-.3829s.02588-.2615.07616-.3829c.05029-.1214.12399-.2317.2169-.3246l8.00004-7.99998c.0928-.09298.2031-.16674.3245-.21706.1214-.05033.2515-.07623.383-.07623.1314 0 .2615.0259.3829.07623.1214.05032.2317.12408.3246.21706zm6.2425-6.2425c-.6501-.65009-1.4218-1.165769-2.2711-1.517597-.8493-.351827-1.7596-.53291128-2.6789-.53291128-.9194 0-1.8297.18108428-2.679.53291128-.8493.351828-1.621.867507-2.271 1.517597l-3.7575 3.75625c-.1877.18764-.2931.44213-.2931.7075 0 .26536.1054.51986.2931.7075.1876.18764.4421.29305.7075.29305.2653 0 .5198-.10541.7075-.29305l3.7575-3.75c.9411-.92044 2.2072-1.43261 3.5236-1.42536 1.3163.00725 2.5767.53333 3.5076 1.46408.931.93075 1.4573 2.19106 1.4647 3.50743.0075 1.31637-.5044 2.58258-1.4247 3.52388l-3.7587 3.7575c-.1877.1874-.2932.4418-.2933.707-.0001.2653.1052.5197.2926.7073.1875.1877.4418.2932.7071.2933.2652.0001.5197-.1052.7073-.2926l3.7588-3.7638c.65-.65 1.1657-1.4217 1.5176-2.27103.3518-.84933.5329-1.75964.5329-2.67895 0-.91932-.1811-1.82963-.5329-2.67895-.3519-.84933-.8676-1.62103-1.5176-2.27105zm-9.6575 16.72748-3.7575 3.7575c-.4624.4728-1.01404.8492-1.6229 1.1073-.60885.2581-1.26287.3929-1.92418.3966-.6613.0036-1.31676-.124-1.92843-.3754-.61166-.2514-1.16737-.6217-1.63495-1.0893-.46758-.4677-.83774-1.0235-1.08905-1.6352s-.37878-1.2672-.37502-1.9285.13867-1.3153.39692-1.9241c.25824-.6088.6347-1.1603 1.10757-1.6226l3.75625-3.7563c.18764-.1876.29305-.4421.29305-.7075 0-.2653-.10541-.5198-.29305-.7075-.18764-.1876-.44214-.29304-.7075-.29304-.26537 0-.51986.10544-.7075.29304l-3.75625 3.7575c-1.312824 1.3128-2.05036 3.0934-2.05036 4.95s.737536 3.6372 2.05036 4.95c1.31282 1.3128 3.09339 2.0504 4.95 2.0504s3.63714-.7376 4.95004-2.0504l3.7575-3.7587c.1874-.1877.2927-.4421.2926-.7074-.0001-.2652-.1056-.5195-.2933-.707-.1876-.1875-.442-.2927-.7073-.2926-.2652.0001-.5196.1056-.707.2932z' fill='%23053b6c'/%3E%3C/svg%3E%0A");
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: contain;

    }

.section-sub-title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  margin-block: 0 4.5rem;
}

@media (max-width: 599.98px) {

.section-sub-title {
    margin-block: 0 2.5rem
}
  }

.section-sub-title .border {
    display: inline-block;
    padding-block: .9em;
    border-top: 1px solid;
    border-bottom: 1px solid;
    min-width: 13em;
  }

.search-item1 {
  padding-block: 1em;

}

@media (max-width: 599.98px){

.search-item1 {
    padding-top: 0

}
  }

@media (min-width: 600px) {

.search-item1 {
    padding-bottom: 0

}
  }

.lay-search-item1 {
  display: flex;
  align-items: center;
  position: relative;
}

.input-keywords {
  width: 100%;
  padding: 1em 3em;
  border-radius: 100vw;
  border: 1px solid var(--gray);

}

@media (max-width: 599.98px) {

.input-keywords {
    padding-inline: 1.5em;
    padding-block: .8em;
    text-align: center

}
  }

.input-keywords:focus-visible {
    /*outline: var(--light-blue) 1px solid; */
  }

.input-keywords::-moz-placeholder {
    color: var(--light-gray);
  }

.input-keywords::placeholder {
    color: var(--light-gray);
  }

.btn-search {
  border: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg fill='none' height='35' viewBox='0 0 35 35' width='35' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m25.0143 22.0126h-1.5809l-.5603-.5403c1.9611-2.2813 3.1418-5.243 3.1418-8.4649 0-7.18407-5.8234-13.0074-13.0075-13.0074-7.18407 0-13.0074 5.82333-13.0074 13.0074 0 7.1841 5.82333 13.0075 13.0074 13.0075 3.2219 0 6.1836-1.1807 8.4649-3.1418l.5403.5603v1.5809l10.0057 9.9857 2.9817-2.9817zm-12.0069 0c-4.98282 0-9.00511-4.0223-9.00511-9.0052 0-4.98282 4.02229-9.00511 9.00511-9.00511 4.9829 0 9.0052 4.02229 9.0052 9.00511 0 4.9829-4.0223 9.0052-9.0052 9.0052z' fill='%230963b2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 3.5rem;
  color: transparent;
  width:  7.0rem;
  height: 5.0rem;
  padding:0;
  line-height: 1;
  position: absolute;
  right: 3rem;
  cursor: pointer;
  transition: opacity .5s ease;
}

@media (max-width: 599.98px) {

.btn-search {
    right: 2rem;
    width:  5.0rem;
    background-size: 3rem
}
  }

.btn-search:hover {
    background-color: inherit;
    opacity: .8;
  }

.search-item2 {
  padding-block: 1em;
}

.bg-search-item2 {
  background-color: var(--bg-gray-100);
  padding: 1em 3em;
  border-radius: 2rem;

}

@media (max-width: 599.98px) {

.bg-search-item2 {
    padding-inline: 1.5em

}
  }

@media (min-width: 600px) {

.lay-search-item2 {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 15rem

}
  }

.ttl-search-item2 {
  flex-shrink: 0;
  font-size: 1.6rem;
  text-align: center;
}

.list-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: .6em 1em;
  margin-bottom: 0;
  transition: opacity .5s ease;

}

@media (min-width: 600px) {

.list-keywords {
    margin-top: 0

}
  }

.list-keywords:hover {
    opacity: .8;
  }

.link-keywords {
  color: var(--blue);
  text-decoration: none;
  background-color: var(--white);
  line-height: 1;
  padding: .6em 1.3em;
  font-weight: 300;
  font-size: 1.5rem;
  border: 1px solid;
  display: inline-block;
}

.category-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;

}

@media (max-width: 599.98px) {

.category-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    margin-top: 0

}
  }

.category-list li {
    display: inline-block;
  }

.category-item {
  text-align: center;
  color: var(--dark-blue);
  font-weight: 600;

}

.link-category-item {
  text-decoration: none;
  transition: opacity .5s ease;
}

.link-category-item:hover {
    opacity: .8;
  }

.pic-category-item {
  border-radius: 2rem;
  overflow: hidden;
  box-shadow:
    .4rem .4rem .4rem 0 rgba(0, 0, 0, 0.25),
    .4rem .4rem .4rem 0 rgba(0, 0, 0, 0.25)
  ;
}

.img-category-item {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.txt-category-item {
  padding-block-start: .8em;
  font-size: 1.8rem;

}

@media (max-width: 599.98px) {

.txt-category-item {
    font-size: 1.4rem

}
  }

.faq-item {
  font-weight: 600;
  color: var(--black-800);
}

@media (max-width: 599.98px) {

.faq-item {
    font-size: 1.4rem
}
  }

.faq-item + * {
    margin-top: 1rem;
  }

@media (max-width: 599.98px) {

.faq-item + * {
      margin-top: .8rem
  }
    }

.faq-item[open] .ttl-faq-item {
      color: var(--white);
      background-color: var(--blue);
    }

.faq-item[open] .ttl-faq-item::before {
        color: inherit;
      }

.faq-item[open] .toggle-icon::before,
      .faq-item[open] .toggle-icon::after {
        background-color: var(--white);
      }

.faq-item[open] .toggle-icon::after {
        opacity: 0;
      }

.bg-sec-faq {
  background-color: var(--bg-gray-200);
  padding: 5rem;

}

@media (max-width: 599.98px) {

.bg-sec-faq {
    padding: 2rem

}
  }

.ttl-faq-item {
  padding: 1em 3em 1em 2.5em;
  cursor: pointer;
  background-color: var(--white);
  position: relative;
  font-size: 1.8rem;
  font-weight: 600;
  list-style: none;
  color: var(--dark-blue);
  transition: .4s ease-in-out;
}

/* Only Safari */

.ttl-faq-item::-webkit-details-marker {
    display: none;
  }

@media (max-width: 599.98px) {

.ttl-faq-item {
    font-size: 1.6rem;
    padding: .8em 3em .8em 2.5em
}
  }

.ttl-faq-item::before {
    color: var(--blue);
    content: 'Q';
    font-size: 2.4rem;
    font-weight: 500;
    margin-right: .5em;
    vertical-align: middle;
    display: inline-block;
    transform: translate(-1.1em, .02em);
    position: absolute;
    line-height: 1;
  }

@media (max-width: 599.98px) {
    }

.txt-faq-item {
  margin-left: 2em;

}

.txt-faq-item::before {
    color: var(--light-blue);
    content: 'A';
    font-size: 2.4rem;
    font-weight: 500;
    vertical-align: middle;
    display: inline-block;
    transform: translate(-1.1em, .02em);
    line-height: 1;
    position: absolute;
  }

@media (max-width: 599.98px) {
    }

.toggle-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 1em;
  width: 2rem;
  aspect-ratio: 1;
  transform: translate(0, -50%);
}

.toggle-icon::before,
  .toggle-icon::after {
    content: '';
    position: absolute;
    width: 100%;
    height: .2rem;
    background-color: var(--dark-blue);
  }

.toggle-icon::after {
    transform: rotate(90deg);
  }

.detail-faq {
  background-color: var(--bg-blue);
  padding: 1em 1em;
  transition: .6s ease-in-out;
  animation: fadeIn .6s ease-in-out;
}

@media (min-width: 600px) {

.detail-faq {
    padding-bottom: 2em
}
  }

.detail-faq > * {
    margin-top: 1em;
  }

.detail-faq > *:first-child {
      margin-top: 0;
    }

@keyframes fadeIn {
  0% {
    opacity: 0;
    min-height: 0;
  }
  100% {
    opacity: 1;
    min-height: none;
  }
}

.sec-group + * {
    margin-top: 3em;
  }

@media (max-width: 599.98px) {

.sec-group + * {
      margin-top: 2.5em
  }
    }

/* 追加 250210 */
.faq-img {
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
  padding: 10px 24px;
}

