@charset "UTF-8";

body {
  width: 100%;
  margin: 0 auto;

  /* フッター以外の全要素 */
  .wrapper {
    position: relative;
    min-height: calc(100dvh - 30px);
    background: url("../assets/images/hero_pc.png") center top / contain no-repeat #fff4e6;

    @media (width < 768px) {
      background: url("../assets/images/hero_sp.png") center -10px / contain no-repeat #fff4e6;
    }
  }

  /* 主要コンテンツ */
  .contents {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
    padding: 30px 25px;

    .akabeko {
      position: absolute;
      top: 30px;
      right: -220px;
      width: 217px;

      @media (width < 1024px) {
        transform: scale(0.7);
        right: -180px;
      }

      @media (width < 768px) {
        transform: scale(1);
        top: 20px;
        right: 25px;
        width: 110px;
      }
    }

    .koboshi {
      position: absolute;
      left: -180px;
      bottom: 20px;
      width: 174px;

      @media (width < 1024px) {
        transform: scale(0.7);
        left: -140px;
      }

      @media (width < 768px) {
        transform: scale(1);
        top: 20px;
        left: 20px;
        width: 90px;
      }
    }
  }

  /* タイトルロゴ */
  .title {
    margin: 8vw auto 60px;

    @media (width < 768px) {
      margin: 70px auto 30px;

      img {
        content: url("../assets/images/title_sp.png");
        width: 240px;
        margin: 0 auto;
      }
    }
  }

  /*ブロック状のリンク*/
  .link-card-container {
    a {
      display: flex;
      justify-content: center;
      align-items: center;
      text-decoration: none;
      font-weight: 700;
      border-radius: 8px;
      box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.3);

      p {
        margin: 0;
      }
    }

    .grid-card1 {
      width: 100%;
      height: 140px;
      font-size: 32px;
      font-weight: 700;
      color: #fff;
      background-color: #a91f24;

      @media (width < 768px) {
        font-size: 28px;
        font-weight: 700;
      }
    }

    .bottom-cards {
      display: flex;
      column-gap: 20px;
      margin-top: 20px;

      .grid-card2 {
        box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.3);
      }

      .grid-card2,
      .grid-card3 {
        flex: 1;
        min-height: 60px;
        padding: 10px 20px;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        border-radius: 8px;
        border: 3px solid #a91f24;
        color: #a91f24;
        background-color: #ffff;
        cursor: pointer;

        p {
          margin: 0;
        }

        @media (width < 768px) {
          font-size: 18px;
          font-weight: 700;
        }
      }
    }
  }

  /*テキスト状のリンク*/
  .link-text-container {
    margin-top: 60px;
    display: grid;
    place-content: center;
    row-gap: 30px;

    img {
      width: 24px;
      height: 24px;
    }

    li {
      display: flex;
      align-items: center;
      column-gap: 10px;

      button {
        font-size: 20px;
        font-weight: 700;
        color: #a91f24;
        border: none;
        text-decoration-line: underline;
        background-color: transparent;
        cursor: pointer;

        @media (width < 768px) {
          font-size: 18px;
          font-weight: 700;
        }
      }
    }
  }

  /* フッター */
  footer {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    font-size: 12px;
    font-weight: 400;
    color: #804000;
    background-color: #ffcabf;
  }

  .letter-button {
    position: absolute;
    bottom: 50px;
    right: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 55px;
    border: 2px solid #a91f24;
    padding: 0;
    border-radius: 4px;
    box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
    background-color: #fff;
    color: #a91f24;
    font-weight: bold;
    font-size: 9px;
  }

  /*dialog 共通の背景*/
  dialog::backdrop {
    background: rgba(0, 0, 0, 0.3);
  }

  /*dialog pc共通の閉じるボタン*/
  .indexDialog-header-close-button {
    position: absolute;
    z-index: 999;
    right: 40px;
    bottom: 20px;
    width: 60px;
    height: 55px;
    padding: 0;
    border: none;
    appearance: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #a91f24;
    border-color: transparent;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 700;
    color: #ffffff;

    @media (width<768px) {
      display: none;
    }
  }

  /*dialog 共通のヘッダー*/
  dialog {
    width: 100%;
    height: 100%;
    max-width: 800px;
    max-height: 700px !important;
    padding: 0;
    border: none;
    background-color: #fff4e6;

    word-break: break-word;

    @media (width < 768px) {
      width: 100%;
      height: 100%;
      max-width: initial;
      max-height: initial !important;
      margin: 0;
    }

    header {
      display: none;
      position: sticky;
      top: 0;
      height: 60px;
      background-image: url(../assets/images/background_img.png);

      @media (width<768px) {
        display: block;
      }

      .index-dialog-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 55px;
        background-color: #fff4e6;

        /* ホームボタン */
        a {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          row-gap: 5px;
          width: 60px;
          height: 55px;
          text-decoration: none;

          span {
            font-size: 9px;
            font-weight: 700;
            color: #a91f24;
          }
        }

        /*閉じるボタン*/
        button {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          row-gap: 5px;
          width: 60px;
          height: 55px;
          border: none;
          font-size: 9px;
          font-weight: 700;
          color: #a91f24;
          background-color: #fff4e6;
          cursor: pointer;
        }
      }
    }

    /* タイトル */
    h3 {
      height: 45px;
      margin-top: 20px;
      align-content: center;
      font-size: 18px;
      font-weight: 700;
      text-align: center;
      color: #ffffff;
      background-color: #a91f24;
    }

    /* タイトルを除くコンテンツ */

    .index-dialog-contents0 {
      padding: 0 15px;
      height: calc(100% - 65px);
      -ms-overflow-style: none;
      scrollbar-width: none;
      overflow-y: auto !important;

      @media (width < 768px) {
        height: calc(100% - 125px);
      }


      .simplebar-content {
        min-height: 100%;
        height: 100%;
      }

      .index-dialog-contents-div0 {
        padding: 20px 22px;
        background-color: #ffffff;
        min-height: inherit;
        /* min-height: 680px; */

        overflow: auto;

        article {
          font-size: 16px;
          font-weight: 400;

          span {
            font-size: 13px;
            font-weight: 400;
            color: #a91f24;
          }

          a {
            font-size: 13px;
            font-weight: 400;
            color: #a91f24;
          }
        }
      }
    }

    .index-dialog-contents1 {
      padding: 0 15px;
      height: calc(100% - 65px);
      -ms-overflow-style: none;
      scrollbar-width: none;
      overflow-y: auto !important;

      @media (width < 768px) {
        height: calc(100% - 125px);
      }
    }

    /*ページ内のリンク*/
    .within-link {
      display: flex;
      flex-direction: column;
      border-bottom: 1px solid transparent !important;

      h4 {
        border-bottom: 2px solid #a91f24;
        padding: 10px;
      }

      .within-button {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;

        button {
          padding: 8px;
          background-color: #ffffff;
          border-radius: 4px;
          border: 2px solid #a91f24;
          color: #a91f24;
          font-weight: 700;
          box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
        }

        border-bottom: 1px solid transparent;
      }
    }

    #within-link1,
    #within-link2,
    #within-link3,
    #within-link4,
    #within-link5 {
      border-bottom: none;
    }

    .index-dialog-contents-div1 {
      padding: 20px 22px;
      background-color: #ffffff;
      /* min-height: 680px; */
      overflow: auto;

      .div-space {
        display: flex;
      }

      .div-space span {
        display: flex;
        flex: 1;
      }

      .first-inner-div {
        margin-top: -35px;
        border-bottom: 2px solid #a91f24;
      }

      .first-div {
        margin-top: -15px;
        border-bottom: 2px solid #a91f24;

        h4 {
          font-size: 16px;
          font-weight: 700;
        }
      }

      div {
        /* display: flex; */
        padding: 10px;
        border-bottom: 1px solid #c8c8cb;

        span {
          align-content: center;
          margin: 10px;
          font-size: 14px;
          font-weight: 700;
        }
      }
    }
  }

  .index-dialog-contents2 {
    padding: 0 15px;
    height: calc(100% - 65px);
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-y: hidden !important;

    @media (width < 768px) {
      height: calc(100% - 125px);
    }

    .index-dialog-contents-div2 {
      padding: 20px 22px;
      background-color: #ffffff;
      min-height: 100%;
      height: 100%;
      /* min-height: 680px; */
      /* overflow: auto; */

      span {
        font-size: 16px;
        font-weight: 400;
      }

      a {
        text-decoration: none;
      }

      main img {
        text-decoration: none;
      }

      div {
        margin-top: 20px;
        padding: 5px;
        border-bottom: 2px solid #a91f24;
      }

      .index-dialog-contents-div2-inner-div1 {
        font-size: 16px;
        font-weight: 700;
      }

      .index-dialog-contents-div2-inner-div2 {
        color: #a91f24;
      }

      .index-dialog-contents-div2-inner-div3 {
        font-size: 16px;
        font-weight: 700;
      }

      main {
        display: flex;
        justify-content: center;
        align-content: center;
        margin-top: 20px;
      }
    }
  }

  .index-dialog-contents3 {
    padding: 0 15px;
    height: calc(100% - 65px);
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-y: auto !important;

    @media (width < 768px) {
      height: calc(100% - 125px);
    }

    .index-dialog-contents-div3 {
      padding: 20px 22px;
      background-color: #ffffff;
      /* min-height: 680px; */
      overflow: auto;

      article {
        font-size: 16px;
        font-weight: 400;

        span {
          font-size: 13px;
          font-weight: 400;
          color: #a91f24;
        }

        a {
          font-size: 13px;
          font-weight: 400;
          color: #a91f24;
        }
      }
    }
  }

  .index-dialog-contents4 {
    padding: 0 15px;
    height: calc(100% - 65px);
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-y: hidden !important;

    @media (width < 768px) {
      height: calc(100% - 125px);
    }

    .index-dialog-contents-div4 {
      padding: 20px 22px;
      background-color: #ffffff;
      min-height: 100%;
      height: 100%;
      /* min-height: 680px; */
      /* overflow: auto; */

      a {
        text-decoration: none;
      }

      .index-dialog-contents-div4-inner-div1 {
        padding-bottom: 20px;
        border-bottom: 2px solid #a91f24;

        h4 {
          font-size: 16px;
          font-weight: 700;
        }

        span {
          font-size: 11px;
          font-weight: 700;
        }
      }

      .index-dialog-contents-div4-inner-div2 {
        h4 {
          margin-top: 20px;
          font-size: 14px;
          font-weight: 700;
        }

        p {
          margin-top: 5px;
          font-size: 16px;
          font-weight: 400;
        }

        img {
          margin-top: 5px;
        }

        margin-top: 21px;
      }
    }
  }

  .index-dialog-contents5 {
    padding: 0 15px;
    height: calc(100% - 65px);
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-y: auto !important;

    @media (width < 768px) {
      height: calc(100% - 125px);
    }

    .index-dialog-contents-div5 {
      padding: 20px 22px;
      background-color: #ffffff;
      /* min-height: 680px; */
      overflow: auto;

      article {
        font-size: 16px;
        font-weight: 400;

        section {
          padding-bottom: 20px;
        }

        h4 {
          padding: 10px;
          font-size: 16px;
          font-weight: 700;
          border-bottom: 2px solid #a91f24;
        }

        h5 {
          font-size: 16px;
          font-weight: 700;
          margin: 0;
          padding-top: 10px;
        }

        p {
          >img {
            width: 100%;
            max-width: 650px;
            max-height: 500px;
            margin: auto;
            object-fit: contain;
          }
        }

        ol {
          counter-reset: my-counter;
          list-style: none;
          padding: 10px;
          margin: 0;

          &.is-flex {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
          }

          li {
            font-size: 16px;
            line-height: 1.5;
            padding-left: 28px;
            position: relative;
          }

          li:before {
            content: counter(my-counter);
            counter-increment: my-counter;
            background-color: #222;
            border: 1px solid;
            border-radius: 50%;
            box-sizing: border-box;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 22px;
            width: 22px;
            color: #ffffff;
            font-size: 85%;
            line-height: 1;
            position: absolute;
            top: 0;
            left: 0;
          }
        }

        span {
          font-size: 13px;
          font-weight: 400;
          color: #a91f24;
        }

        a {
          font-size: 13px;
          font-weight: 400;
          color: #a91f24;
        }
      }
    }
  }

  /* .index-dialog-contents {
      padding: 0 15px;
      height: calc(100% - 65px);
      -ms-overflow-style: none;
      scrollbar-width: none;
      overflow-y: auto !important;

      @media (width < 768px) {
        height: calc(100% - 125px);
      } */

  /* 内容物白い部分 */
  /* .index-dialog-contents-div {
          padding: 20px 22px;
          background-color: #ffffff;
          min-height: 680px;
          max-height: 100vh;
          overflow: auto;
        } */
}

/*ページ内のリンク*/
/* .within-link {
      display: flex;
      flex-direction: column;
      border-bottom: 1px solid transparent !important;

      h4 {
        border-bottom: 2px solid #a91f24;
        padding: 10px;
      }
      .within-button {
        display: flex;
        column-gap: 10px;
        button {
          padding: 8px;
          background-color: #ffffff;
          border-radius: 4px;
          border: 2px solid #a91f24;
          color: #a91f24;
          font-weight: 700;
          box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
        }
        border-bottom: 1px solid transparent;
      }
    }

    #within-link1,
    #within-link2,
    #within-link3,
    #within-link4,
    #within-link5 {
      border-bottom: none;
    }

    .index-dialog-contents-div1 {
      padding: 20px 22px;
      background-color: #ffffff;
      min-height: 680px;
      overflow: auto;

      .div-space {
        display: flex;
      }
      .div-space span {
        display: flex;
        flex: 1;
      }
      .first-inner-div {
        margin-top: -35px;
        border-bottom: 2px solid #a91f24;
      }

      .first-div {
        margin-top: -15px;
        border-bottom: 2px solid #a91f24;

        h4 {
          font-size: 16px;
          font-weight: 700;
        }
      }

      div {
        /* display: flex; */
/* padding: 10px;
        border-bottom: 1px solid #c8c8cb;

        span {
          align-content: center;
          margin: 10px;
          font-size: 14px;
          font-weight: 700;
        }
      }
    } */
/* .index-dialog-contents-div2 {
      padding: 20px 22px;
      background-color: #ffffff;
      min-height: 680px;
      overflow: auto;

      span {
        font-size: 16px;
        font-weight: 400;
      }

      a {
        text-decoration: none;
      }

      main img {
        text-decoration: none;
      }

      div {
        margin-top: 20px;
        padding: 5px;
        border-bottom: 2px solid #a91f24;
      }

      .index-dialog-contents-div2-inner-div1 {
        font-size: 16px;
        font-weight: 700;
      }

      .index-dialog-contents-div2-inner-div2 {
        color: #a91f24;
      }

      .index-dialog-contents-div2-inner-div3 {
        font-size: 16px;
        font-weight: 700;
      }

      main {
        display: flex;
        justify-content: center;
        align-content: center;
        margin-top: 20px;
      }
    } */

/* .index-dialog-contents-div3 {
      padding: 20px 22px;
      background-color: #ffffff;
      min-height: 680px;
      overflow: auto;

      article {
        font-size: 16px;
        font-weight: 400;

        span {
          font-size: 13px;
          font-weight: 400;
          color: #a91f24;
        }

        a {
          font-size: 13px;
          font-weight: 400;
          color: #a91f24;
        }
      }
    } */

/* .index-dialog-contents-div4 {
      padding: 20px 22px;
      background-color: #ffffff;
      min-height: 680px;
      overflow: auto;

      .index-dialog-contents-div4-inner-div1 {
        padding-bottom: 20px;
        border-bottom: 2px solid #a91f24;
        h4 {
          font-size: 16px;
          font-weight: 700;
        }

        span {
          font-size: 11px;
          font-weight: 700;
        }
      }

      .index-dialog-contents-div4-inner-div2 {
        h4 {
          margin-top: 20px;
          font-size: 14px;
          font-weight: 700;
        }
        p {
          margin-top: 5px;
          font-size: 16px;
          font-weight: 400;
        }

        img {
          margin-top: 5px;
        }

        margin-top: 21px;
      }
    } */
/* }
} */

/*SimpleBar*/
.simplebar-scrollbar::before {
  background: #c8c8cb !important;
  border-radius: 0;
  width: 5px;
  margin-left: 3px;
  margin-top: 2px;
}

.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}

.simplebar-track {
  background: transparent;
  width: 15px !important;
}