/* パンくずリストの ">"  */
.breadcrumb {
    font-family: "Yu Gothic", "游ゴシック", "Meiryo", sans-serif;
    --bs-breadcrumb-divider: '>';
    font-size: 1rem;
}
.breadcrumb a {
    --bs-breadcrumb-divider: '>';
    color: #000;
    background-color: #fff;
}

/* H1タイトル */
.h1-title {
    border-top: 2px solid #C1E1EC;
    border-bottom: 2px solid #C1E1EC;
    padding: 8px 0px;
    font-size: 20px;
    span {
        border-left: 8px solid #33CBCA;
        padding-left: 8px;
        margin-left: 4px;
    }
}

/* 利用規約本文 */
.agreement {
    margin-bottom: 40px;
}
.hanging-indent {
    /* padding-left: 1em;     全体の左余白 */
    margin-bottom: 1.5em; /* ブロック同士の間隔 */
}
.rule-block {
    display: flex;
    align-items: flex-start;
    padding-left: 2em;
    /* text-indent: 0em; */
}
.rule-block > div:first-child {
    min-width: 2em;
}

.rule-text {
    white-space: normal;      /* 自動改行を許可 */
    word-break: break-word;   /* 長いURLなども折り返し */
    overflow-wrap: break-word;
}

/* 規約同意ボタン */
.agreementbuttom {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #970b2f;
    color: #fff;
    font-weight: bold;
    font-size: clamp(0.7rem, 2vw, 1rem);
    /* font-size: 20px; */
    border: none;
    border-radius: 8px;
    /* padding: 4px 0px; */
    padding-left: clamp(8px, 5vw, 300px);
    padding-right: clamp(8px, 5vw, 300px);
    height: 2.2em;
    width: fit-content;
    max-width: 500px;
    margin: 0 auto;
    min-height: 50px;
    white-space: nowrap;
}

@media (max-width: 480px) {
    /* 規約同意ボタン */
    .agreementbuttom {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #970b2f;
        color: #fff;
        font-weight: bold;
        font-size: clamp(0.7rem, 2vw, 1rem);
        /* font-size: 14px; */
        border: none;
        border-radius: 8px;
        padding: 4px 0px;
        height: 2.2em;
        min-height: 50px;
        width: 100%;
        white-space: nowrap;
    }

}
.agreementbuttom:hover {
    background-color: #b31e48;
    color: #fff;
}
.agreement-link {
    border-radius: 30%;
    color: #fff;
    background-color: #970b2f;
    font-weight: bold;
    font-size: 24px;
    text-decoration: none;
}

/* トップに戻るボタン */
#scrollToTop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 100px;
    height: 100px;
    font-size: 16px;
    font-weight: bold;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.scroll-top-circle {
    width: 90px;
    height: 80px;
    border-radius: 50%;
    background-color: #970B2F;
    color: white;
    border: 2px solid #970B2F;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
}

.scroll-top-circle:hover {
    background-color: #E59EDD;
    color: white;
    border-color: #970B2F;
}

.scroll-top-circle:active {
  background-color: #970B2F;
  color: white;
  border-color: #970B2F;
}

.scroll-top-icon {
    display: block;
    margin: 0 auto;
}

.scroll-top-text {
    line-height: 1.5;
    font-family: "Yu Gothic", "游ゴシック", "Meiryo", sans-serif;
    color: white;
    font-weight: bold;
}

.banner-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

.banner-label {
  margin-left: 2rem; /* 例：8px相当 */
  white-space: nowrap;
}


.responsive-banner {
    max-width: 100%;
    height: auto;
    display: block;
}
/* @media (max-width: 768px) {
  img.responsive-banner {
    width: 500px;
    height: auto;
  }
} */