@charset "UTF-8";
/*==========================================
変数 inc.scss
===========================================*/
/*==========================================
変数 fonts.scss
===========================================*/
/*===================================
userSS 追加
=====================================*/
.format-area {
  /* テキスト */
  /* 画像 */
  /* キャプション */
  /* マージン */
  /* レイアウト */
  /* 大見出し */
  /* 中見出し */
  /* テキスト２つ横並び */
  /* 画像１枚 */
  /* 画像2枚（横長） */
  /* 画像2枚（縦長） */
  /* 画像3枚 */
  /* 左画像＋右テキスト */
  /* 左テキスト+右画像 */ }
  .format-area .format-txt {
    font-size: clamp(1.4rem, 1.2vw, 1.6rem);
    line-height: 1.875;
    font-weight: 500;
    letter-spacing: 0.1em; }
    .format-area .format-txt a {
      color: #000;
      text-decoration: underline !important; }
      .format-area .format-txt a img {
        transition: 0.3s; }
      .format-area .format-txt a:hover {
        text-decoration: none !important; }
        .format-area .format-txt a:hover img {
          opacity: 0.8; }
    .format-area .format-txt p:not(:first-child) {
      margin-top: 1.875em; }
    .format-area .format-txt strong {
      font-weight: bold; }
    .format-area .format-txt em {
      font-style: italic; }
    .format-area .format-txt ul {
      margin: 1em 0; }
      .format-area .format-txt ul li {
        position: relative;
        padding: 0 0 0 1em; }
        .format-area .format-txt ul li:not(:last-child) {
          margin-bottom: 0.7em; }
        .format-area .format-txt ul li::before {
          content: "";
          display: block;
          width: 3em;
          height: 3em;
          border-radius: 50%;
          background: #000;
          position: absolute;
          top: calc((1.875em - 3em) / 2);
          left: 0; }
    .format-area .format-txt ol {
      list-style-type: decimal;
      margin: 1em 0 1em 1em; }
      .format-area .format-txt ol li {
        padding: 0; }
        .format-area .format-txt ol li:not(:last-child) {
          margin-bottom: 0.7em; }
  .format-area .format-img img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: contain; }
  .format-area .img-caption {
    margin-top: 10px;
    font-size: clamp(1.2rem, 1.05vw, 1.4rem);
    line-height: 1.75;
    font-weight: 500;
    letter-spacing: 0.1em; }
  .format-area .format-row {
    display: flex;
    justify-content: space-between; }
  @media screen and (min-width: 769px) {
    .format-area .format-rowPC {
      display: flex;
      justify-content: space-between; } }
  .format-area .format01,
  .format-area .format02,
  .format-area .format03,
  .format-area .format04,
  .format-area .format05,
  .format-area .format06,
  .format-area .format07,
  .format-area .format08,
  .format-area .format09,
  .format-area .format10,
  .format-area .format11 {
    margin-top: clamp(40px, 10vw, 80px); }
    .format-area .format01:first-child,
    .format-area .format02:first-child,
    .format-area .format03:first-child,
    .format-area .format04:first-child,
    .format-area .format05:first-child,
    .format-area .format06:first-child,
    .format-area .format07:first-child,
    .format-area .format08:first-child,
    .format-area .format09:first-child,
    .format-area .format10:first-child,
    .format-area .format11:first-child {
      margin-top: 0; }
  @media screen and (min-width: 769px) {
    .format-area .format09 .format-row .format-img,
    .format-area .format09 .format-rowPC .format-img,
    .format-area .format10 .format-row .format-img,
    .format-area .format10 .format-rowPC .format-img {
      width: 48%; }
    .format-area .format09 .format-row .format-txt,
    .format-area .format09 .format-rowPC .format-txt,
    .format-area .format10 .format-row .format-txt,
    .format-area .format10 .format-rowPC .format-txt {
      width: 47%; } }
  .format-area .format01 .ttl-lrg {
    font-size: clamp(2rem, 2.25vw, 3rem);
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 960px) {
      .format-area .format01 .ttl-lrg {
        font-size: clamp(2rem, 2.25vw, 3rem); } }
  .format-area .format02 .ttl-mid {
    padding: 0.125em 0 0.125em 1em;
    font-size: clamp(1.6rem, 1.8vw, 2.4rem);
    line-height: 1.75;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-left: 3px solid #000; }
  @media screen and (max-width: 767px) {
    .format-area .format04 .format-row {
      display: block;
      margin-bottom: 40px; } }
  @media screen and (min-width: 768px) {
    .format-area .format04 .format-txt {
      width: 48%; } }
  @media screen and (max-width: 767px) {
    .format-area .format04 .format-txt {
      width: 100%; } }
  @media screen and (max-width: 767px) {
    .format-area .format04 .format-txt:first-child {
      margin-bottom: 40px; } }
  @media screen and (min-width: 768px) {
    .format-area .format04 .format-txt-wrap {
      position: relative;
      overflow: hidden;
      padding-top: 68.78%; }
      .format-area .format04 .format-txt-wrap img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        height: 100%;
        width: auto;
        max-width: inherit; } }
  .format-area .format05 .format-img img {
    max-height: 100%; }
  .format-area .format06 .format-img {
    width: 48%; }
    .format-area .format06 .format-img img {
      object-fit: cover;
      object-position: center; }
  .format-area .format07 .format-img {
    width: 48%; }
    .format-area .format07 .format-img img {
      aspect-ratio: 2/3;
      object-fit: cover;
      object-position: center; }
  .format-area .format08 .format-img {
    width: 30%; }
    .format-area .format08 .format-img img {
      object-fit: cover;
      object-position: center; }
  .format-area .format09 .format-img img {
    object-fit: cover;
    max-height: max-content; }
  .format-area .format10 .format-img {
    order: 2; }
    .format-area .format10 .format-img img {
      object-fit: cover;
      max-height: max-content; }
  .format-area .format10 .format-txt {
    order: 1; }
    @media screen and (max-width: 768px) {
      .format-area .format10 .format-txt {
        margin-top: 1.875em; } }
  .format-area .format11 .format-movie {
    width: 100%; }
    .format-area .format11 .format-movie iframe {
      width: 100%;
      height: auto;
      width: 100%;
      object-fit: cover;
      aspect-ratio: 1.772972973; }
      @media screen and (max-width: 767px) {
        .format-area .format11 .format-movie iframe {
          width: 100%;
          object-fit: cover;
          aspect-ratio: 1.6666666667; } }
      @media screen and (max-width: 576px) {
        .format-area .format11 .format-movie iframe {
          width: 100%;
          object-fit: cover;
          aspect-ratio: 1.1111111111; } }

/*==========================================
　共通
===========================================*/
.sec-faq .cts-head {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: 100%; }
.sec-faq .cts-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
  width: auto;
  margin-bottom: 3rem; }
.sec-faq .cts-ttl-en {
  font-size: clamp(6rem, 4.1666666667vw, 8rem);
  letter-spacing: 0.2em; }
  @media screen and (max-width: 960px) {
    .sec-faq .cts-ttl-en {
      font-size: clamp(3.6rem, 6.25vw, 6rem); } }
  @media screen and (max-width: 576px) {
    .sec-faq .cts-ttl-en {
      font-size: clamp(3.6rem, 6.9444444444vw, 4rem); } }
.sec-faq .cts-txt {
  position: relative;
  width: 100%;
  text-align: center;
  font-weight: 600; }
@media screen and (max-width: 960px) {
  .sec-faq .cts-subttl {
    padding-left: 0px; } }

.faq-list .faq-item {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  margin-top: -1px; }
  .faq-list .faq-item .item-head {
    cursor: pointer;
    padding: 1.2em 1em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: 0.3s ease-in-out; }
    @media (hover: hover) {
      .faq-list .faq-item .item-head:hover {
        background: #EBE7DC; }
        .faq-list .faq-item .item-head:hover .item-q {
          background: #fff; } }
    .faq-list .faq-item .item-head.open {
      background: #EBE7DC; }
      .faq-list .faq-item .item-head.open .item-q {
        background: #fff; }
      .faq-list .faq-item .item-head.open .item-more::after {
        transform: rotate(0); }
  .faq-list .faq-item .item-body {
    display: none;
    border-top: 1px solid #000;
    padding: 1.2em 0 2em 1em; }
  .faq-list .faq-item .item-answer {
    display: flex;
    align-items: flex-start; }
  .faq-list .faq-item .item-a {
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.14em;
    font-size: clamp(1.8rem, 2.4vw, 2.4rem);
    width: 2em;
    min-width: 2em;
    aspect-ratio: 1/1;
    background: #123646;
    color: #fff;
    border-radius: 100vmax;
    transition: 0.3s ease-in-out;
    font-weight: 500; }
  .faq-list .faq-item .item-txt {
    padding: 1em 0 0 1em; }
  .faq-list .faq-item .item-cts {
    font-weight: 300;
    display: flex;
    align-items: center;
    padding: 0 1em 0 0; }
    .faq-list .faq-item .item-cts .cts-main {
      width: 100%;
      padding: 0 0 0 1em; }
  .faq-list .faq-item .item-q {
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.14em;
    font-size: clamp(1.8rem, 2.4vw, 2.4rem);
    width: 2em;
    min-width: 2em;
    aspect-ratio: 1/1;
    background: #EBE7DC;
    border-radius: 100vmax;
    transition: 0.3s ease-in-out;
    font-weight: 500; }
  .faq-list .faq-item .item-cat {
    font-size: clamp(1.2rem, 1.6vw, 1.6rem); }
    .faq-list .faq-item .item-cat::before {
      content: "#";
      padding: 0 0.2em 0 0; }
  .faq-list .faq-item .item-ttl {
    display: block;
    font-size: clamp(1.4rem, 1.6vw, 1.8rem);
    letter-spacing: 0.05em;
    width: 100%; }
  .faq-list .faq-item .item-txt {
    font-size: clamp(1.4rem, 1.6vw, 1.6rem); }
    .faq-list .faq-item .item-txt p:not(:last-child) {
      margin-bottom: 1.5em; }
  .faq-list .faq-item .item-more {
    position: relative;
    width: 12px;
    min-width: 12px; }
    .faq-list .faq-item .item-more::before, .faq-list .faq-item .item-more::after {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background: #000;
      position: absolute;
      top: 0;
      left: 0;
      transition: 0.3s ease-in-out; }
    .faq-list .faq-item .item-more::after {
      transform: rotate(90deg); }

/*==========================================
　CTS
===========================================*/
@media screen and (min-width: 961px) {
  .faq-ctsWrap {
    display: flex;
    justify-content: space-between; } }
.faq-ctsWrap .cts-side {
  padding: clamp(60px, 12vw, 120px) 0 0; }
  @media screen and (min-width: 961px) {
    .faq-ctsWrap .cts-side {
      width: 25%; } }
  @media screen and (max-width: 960px) {
    .faq-ctsWrap .cts-side .sticky {
      padding-block: 0; } }
@media screen and (min-width: 961px) {
  .faq-ctsWrap .cts-main {
    width: 70%; } }
.faq-ctsWrap .faq-cat {
  font-size: clamp(1.4rem, 1.8vw, 1.8rem);
  font-weight: 500; }
  @media screen and (min-width: 961px) {
    .faq-ctsWrap .faq-cat li:not(:last-child) {
      margin-bottom: 0.8em; } }
  @media screen and (max-width: 960px) {
    .faq-ctsWrap .faq-cat li {
      display: inline-block;
      margin: 0.2em 0.2em 0.2em 0; } }
  @media screen and (min-width: 961px) {
    .faq-ctsWrap .faq-cat li a::before {
      content: "";
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      color: transparent; } }
  @media screen and (max-width: 960px) {
    .faq-ctsWrap .faq-cat li a {
      display: inline-block;
      border: 1px solid #000;
      padding: 0.2em 1em; } }
  .faq-ctsWrap .faq-cat li .faq-catLink.active::before {
    color: #123646; }

.faq-catBlock-list .faq-catBlock {
  padding-top: clamp(60px, 12vw, 120px); }
  .faq-catBlock-list .faq-catBlock .block-ttl {
    font-size: clamp(2rem, 2.6vw, 2.6rem);
    margin-bottom: 0.5em; }

/*# sourceMappingURL=faq.css.map */
