/* ナビバーのロゴ */
.logo_pic {
    width: 260px;
}

/* スマホ用調整 */
@media (max-width: 767px) {
    .logo_pic {
        width: 180px;
    }
}
.header-mobile {
    height: 80px; /* ナビバーの高さ固定 */
    padding-left: 40px; /* 追加の余白 */
    padding-right: 40px;
}

.headimage .overlay {
    padding-top: 80px; /* ナビバー分の高さ上位に余白 */
}
.headimage .background-image {
    padding-top: 80px; /* ナビバー分の高さ上位に余白 */
}
/* スマホ分の余白は別途下記にある ナビバー分の高さ上位に余白 */

@media (min-width: 1300px) {
    html {
        font-size: 1.5rem; /* 現在のフォントサイズの1.5倍 */
    }
    .img-kanpyokai,
    .img-nihonsyu,
    .img-gaiyo,
    .img-oubo,
    .img-reshito,
    .img-kiyaku,
    .img-toiawase {
        transform: scale(1.5); /* 対象の画像のみを1.5倍に拡大 */
        transform-origin: center;
    }
}
/* ↓ メニューボタン(ハンバーガー） */

/* メニューボタンの共通スタイル */
.menu-button {
    width: 140px; /* ボタンサイズ */
    height: 140px;
    cursor: pointer;
    z-index: 1050;
}

/* 画像のスタイル */
.menu-button img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* スマホ画面用 */
@media screen and (max-width: 767px) {
    .mobile-menu-button {
        display: block;
        cursor: pointer; /* クリックできるようカーソルを変更 */
    }
}

/* ベーススタイル */
body {
    margin: 0;
    font-family: Arial, sans-serif;
    overflow-x: hidden;
}

/* ヘッダー */
.header-mobile {
    z-index: 1050;
}

/* メニューオーバーレイ（共通スタイル） */
.menu-overlay {
    position: fixed;
    top: 80px;
    right: 0; /* 右端に配置 */
    width: 25%;
    height: 100%;
    background-color: rgba(186, 19, 19);
    z-index: 999;
    display: none; /* 初期状態は非表示 */
}

/* スマホ用調整 */
@media (max-width: 767px) {
    .menu-overlay {
        top: 80px;
        width: 250px;
    }
}

.menu-overlay.active {
    display: flex; /* オーバーレイを表示 */
}
.menu {
    flex-direction: column; /* 縦方向に要素を並べる */
    justify-content: center; /* 上下方向の中央揃え（必要なら追加） */
    align-items: center; /* 横方向の中央揃え */
    text-align: center; /* テキストを中央揃え */
    margin: 0 auto; /* 必要に応じて調整 */
    height: 100%; /* コンテンツが全体を占めるようにする */
}

.menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu ul li {
    margin: 0px 0; /* 項目間の間隔 */
    padding: 17px; /* 罫線との間隔 */
    border-bottom: 1px solid rgba(255, 255, 255, 0.5); /* 区切り線 */
    width: 100%; /* 横幅を確保 */
    box-sizing: border-box; /* パディングやボーダーを含めて幅を計算 */
    display: flex; /* フレックスボックスを有効化 */
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 縦方向の中央揃え */
}

.menu ul li a {
    text-decoration: none;
    color: #fff;
    font-size: 1.3vw;
    transition: color 0.3s;
    border: none; /* ボーダーを無効化 */
    display: inline-block; /* テキストをブロック要素化（フレックスに影響されない） */
    text-align: center; /* テキストを中央揃え */
}

.menu ul li a:hover {
    color: #f90;
}

/* スマホ画面用スタイル */
@media screen and (max-width: 767px) {
    .header-mobile {
        height: 80px;
        padding-left: 10px; /* 追加の余白 */
        padding-right: 10px;
    }
    .menu-button {
        width: 80px; /* ボタンサイズ */
        height: 80px;
    }
    .menu ul li a {
        font-size: 14px;
    }
}
/* ↑メニューボタン(ハンバーガー） */

/* メイン画像 */
/* 親要素: 画像を重ねる基準を設定 */
.headimage {
    position: relative; /* 子要素の絶対配置を基準にする */
    max-width: 100%; /* 必要に応じて幅を指定 */
    height: auto; /* 必要に応じて高さを指定 */
}
/* <a>タグ下の余白削除 */
.headimage a.btn {
    display: block; /* ブロック要素に変更 */
    border: none; /* リンクのボーダーを削除 */
}
.headimage > * {
    margin: 0;
    padding: 0;
}

/* 背景画像 */
.headimage .background-image {
    width: 100%; /* 背景画像を親要素にフィットさせる */
    height: auto;
}

/* 重ねる画像共通設定 */
.headimage .overlay {
    position: absolute; /* 親要素を基準に配置 */
    width: auto; /* 必要に応じてサイズを調整 */
    height: auto;
}
/* スマホ用調整 (ナビバー分余白）*/
@media (max-width: 767px) {
    .headimage .overlay {
        padding-top: 80px;
    }
    .headimage .background-image {
        padding-top: 80px;
    }
}
/* 各画像の位置を指定 */
.headimage .overlay-1 {
    top: 0%; /* 上からの位置 */
    left: 0%; /* 左からの位置 */
    width: 55%; /* サイズを調整 */
}
/* スマホ用調整 */
@media (max-width: 767px) {
    .headimage .overlay-1 {
        top: 0%; /* 上からの位置 */
        left: 0%; /* 左からの位置 */
        width: 80%; /* サイズを調整 */
    }
}

.headimage .overlay-3 {
    top: 4%; /* 上からの位置 */
    left: 69%; /* 左からの位置 */
    width: 22%; /* サイズを調整 */
    z-index: 100; /* 前面に表示 */
}

.headimage .overlay-3:hover {
    transform: scale(1.01); /* クリック時浮く */
}

.headimage .overlay-4 {
    top: 10%; /* 上からの位置 */
    left: 69%; /* 左からの位置 */
    width: 22%; /* サイズを調整 */
    z-index: 99; /* 前面に表示 */
}
.headimage .overlay-4:hover {
    transform: scale(1.01); /* クリック時浮く */
}

.headimage .overlay-5 {
    top: 16%; /* 上からの位置 */
    left: 69%; /* 左からの位置 */
    width: 22%; /* サイズを調整 */
    z-index: 98; /* 前面に表示 */
}
.headimage .overlay-5:hover {
    transform: scale(1.01); /* クリック時浮く */
}
.headimage .overlay-6 {
    top: 21%; /* 上からの位置 */
    left: 69%; /* 左からの位置 */
    width: 22%; /* サイズを調整 */
    z-index: 97; /* 前面に表示 */
}
.headimage .overlay-6:hover {
    transform: scale(1.01); /* クリック時浮く */
}

.headimage .overlay-7 {
    top: 26%; /* 上からの位置 */
    left: 69%; /* 左からの位置 */
    width: 22%; /* サイズを調整 */
    z-index: 96; /* 前面に表示 */
}
.headimage .overlay-7:hover {
    transform: scale(1.01); /* クリック時浮く */
}

.headimage .overlay-8 {
    top: 36%; /* 上からの位置 */
    left: 68%; /* 左からの位置 */
    width: 28%; /* サイズを調整 */
}

/* スマホ用画面 表示させない */
@media screen and (max-width: 767px) {
    .headimage .overlay-2 {
        display: none; /* スマホ画面では非表示 */
    }
    .headimage .overlay-3 {
        display: none; /* スマホ画面では非表示 */
    }
    .headimage .overlay-4 {
        display: none; /* スマホ画面では非表示 */
    }
    .headimage .overlay-5 {
        display: none; /* スマホ画面では非表示 */
    }
    .headimage .overlay-6 {
        display: none; /* スマホ画面では非表示 */
    }
    .headimage .overlay-7 {
        display: none; /* スマホ画面では非表示 */
    }
    .headimage .overlay-8 {
        display: none; /* スマホ画面では非表示 */
    }
}
/* コンテンツエリア１ */
.content-wrapper1 {
    background-image: url(../img/kamihubuki.png), url(../img/pkgrd_img_01.png);
    background-repeat: repeat-x, repeat;
    background-size: 1200px 400px, 200px 200px;
    background-position: top, center;
}

/* コンテンツエリア２ */
.content-wrapper2 {
    background-image: url(../img/kamihubuki.png), url(../img/bkgrd_img_02.png);
    background-repeat: repeat-x, repeat;
    background-size: 1200px 400px, 200px 200px; /* 背景画像のサイズを指定 */
    background-position: top, center;
}
/* コンテンツエリア３ */
.content-wrapper3 {
    background-image: url(../img/pkgrd_img_01.png);
    background-repeat: repeat;
    background-size: 200px 200px; /* 背景画像のサイズを指定 */
}

/* スマホ用調整 */
@media (max-width: 767px) {
    .content-wrapper1,
    .content-wrapper2 {
        background-size: 800px 200px, 130px 130px; /* 背景画像のサイズを指定 */
    }
    .content-wrapper3 {
        background-size: 130px 130px;
    }
}
/* コンテンツエリア4 */
.content-wrapper4 {
    background-image: url(../img/kamihubuki.png),
        url(../img/bkgrd_img_04_maru.png), url(../img/bkgrd_img_04.png);
    background-repeat: repeat-x, repeat, repeat;
    background-size: 1200px 400px, cover, 200px 200px; /* 背景画像のサイズを指定 */
    background-position: top, center, center;
}
/* スマホ用調整 */
@media (max-width: 767px) {
    .content-wrapper4 {
        background-size: 800px 200px, contain, 130px 130px; /* 背景画像のサイズを指定 */
    }
}
.text-container1 {
    padding-top: 10px;
    font-size: 1.3rem;
    width: 85%;
    margin: 0 auto; /* 親要素自体を中央揃え */
}
.highlight-red {
    color: red;
    font-weight: bold; /* フォント太字に設定 */
    font-size: 1.5rem;
}
.img-kanpyokai {
    max-width: 300px;
}
/* スマホ時改行 */
@media (max-width: 767px) {
    .text-container1 span {
        display: block;
    }
    .no-break span {
        display: inline; /* 子要素をインライン表示 */
    }
}
/* ↑ １ 文字ｃｓｓ*/

/* 動画コンテナに適切な幅を設定 */
.video-container {
    text-align: center; /* 中央寄せ */
    width: 100%; /* コンテナ全体をカバー */
}

.video-container iframe {
    width: 50vw; /* コンテナの幅に合わせて可変 */
    height: 30vw;
}

/* スマホ画面（767px以下）用スタイル */
@media (max-width: 767px) {
    .video-container iframe {
        width: 80%; /* 幅を80%にする */
        height: auto; /* 自動で高さを調整 */
        aspect-ratio: 16 / 9; /* 16:9の比率を保持 */
    }
}

.custom-button {
    background-color: #d9534f;
    color: white;
    font-size: 1.4rem;
    text-align: center; /* テキストをボタン内で中央揃えにする */
    border-radius: 5px; /* ボタンの角を5px丸くする */
    padding: 10px 140px; /* ボタン内の上下に10px、左右に140pxの余白を設定 */
    display: inline-block; /* ボタンをインラインブロック要素として扱い、横並び可能にする */
    font-weight: bold; /* ボタン内の文字を太字にする */
    text-decoration: none; /* リンクの下線を削除 */
}

.custom-button:hover {
    background-color: #c9302c; /* ホバー時の色変更 */
    transform: scale(1.01); /* クリック時浮く */
}

/* スマホ用調整 */
@media (max-width: 767px) {
    .custom-button {
        font-size: 1.2rem;
        padding: 5px 80px; /* ボタン内の上下に5px、左右に80pxの余白を設定 */
        width: 80%;
    }
}
/* ↑ ２ ボタンｃｓｓ*/

.container-cau {
    width: 85%;
    margin: 0 auto; /* 親要素自体を中央揃え */
}

.img-nihonsyu {
    max-width: 600px;
}

.black-large {
    font-size: 1.5rem; /* 黒の大きい文字 */
    font-weight: bold;
}

.red-large {
    font-size: 1.5rem; /* 赤の大きい文字 */
    color: #d13f3f; /* 赤 */
    font-weight: bold;
}

.normal-red {
    font-size: 1.2rem; /* 赤の普通文字 */
    color: #d13f3f; /* 赤 */
    font-weight: bold;
}

.red-extra-large {
    font-size: 1.8rem; /* 赤の特大文字 */
    color: #d13f3f; /* 赤 */
    font-weight: bold;
}
/* 大小ゾーン基本文字 */
.description2 {
    font-size: 1.2rem;
    line-height: 1.2; /* 行間 */
    margin-bottom: 10px;
    font-weight: bold;
}

/* ノーマル文字 */
.description {
    font-size: 1.2rem;
    margin-bottom: 10px;
}

/* ↑３ １００名プレゼント */

.campaign-container {
    width: 85%;
    margin: 0 auto; /* 親要素自体を中央揃え */
}

.img-gaiyo {
    max-width: 300px;
}

.campaign-header {
    font-size: 1.2rem;
    margin-bottom: 10px;
}
.campaign-period {
    margin: 30px 0;
}
.campaign-period-title1 {
    display: flex; /* フレックスボックスを使用して子要素を整列 */
    align-items: center; /* 縦方向で中央揃え */
    justify-content: center; /* 横方向で中央揃え */
    font-size: 1.4rem;
    font-weight: bold; /* 太字を設定 */
    color: #b21f28;
    margin-bottom: 0px;
    font-family: "Times New Roman", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN",
        "MS PMincho", serif;
}
.campaign-period-title1::before,
.campaign-period-title1::after {
    content: "";
    width: 180px; /* 線の長さを固定 */
    height: 2px;
    background-color: #b21f28;
    margin: 0 10px;
}

.campaign-period-title2 {
    display: flex; /* フレックスボックスを使用して子要素を整列 */
    align-items: center; /* 縦方向で中央揃え */
    justify-content: center; /* 横方向で中央揃え */
    font-size: 1.4rem;
    font-weight: bold; /* 太字を設定 */
    color: #b21f28;
    margin-top: -20px;
    font-family: "Times New Roman", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN",
        "MS PMincho", serif;
}

.campaign-period-title2::before,
.campaign-period-title2::after {
    content: "";
    width: 200px; /* 線の長さを固定 */
    height: 2px;
    background-color: #b21f28;
    margin: 0 10px;
}
.date-group {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.3; /* 行間 */
    display: flex; /* 子要素を並べるためにフレックスボックスを使う */
    justify-content: center; /* 子要素を横方向の中央に揃える */
    align-items: baseline; /* 子要素の文字の基準線を揃える */
}
.date-group span {
    margin: 0 2px; /* 文字の横スペース */
}
.date-number {
    font-size: 2rem;
}
.date-text {
    font-size: 1.2rem;
}
.date-number2 {
    font-size: 1.4rem;
}
.date-text2 {
    font-size: 1rem;
}
.sita-text {
    font-size: 1rem;
    margin-top: 20px;
}

.img-lin-bar {
    max-width: 700px;
}
.img-lin-bar:hover {
    transform: scale(1.01); /* クリック時浮く */
}
/* スマホ画面用スタイル */
@media screen and (max-width: 767px) {
    .date-group {
        display: block; /* 縦並びに変更 */
        text-align: center; /* 中央揃え */
    }
    .date-group span {
        display: inline-block; /* インライン要素として整列 */
        margin: 5px 0; /* 要素間の余白 */
    }
    .date-group {
        line-height: 0.7; /* 行間 */
    }
}
/* ↑４　キャンペーン */
.container-oubo {
    width: 70%;
    margin: 0 auto; /* 親要素自体を中央揃え */
}

.img-oubo {
    max-width: 300px;
}

.img-step1 {
    max-width: 100%;
}

.img-step2 {
    max-width: 100%;
}
.img-step2:hover {
    transform: scale(1.01); /* クリック時浮く */
}

.img-step3 {
    max-width: 100%;
}

/* ↑ 応募方法*/
.img-reshito {
    max-width: 300px;
}

.notice-section {
    margin: 0 auto; /* コンテンツを中央に寄せる */
    text-align: center; /* テキスト全体を中央揃えにする */
    width: 80%; /* 必要に応じて幅を調整 (例: 800px) */
}

.notice-title {
    font-size: 1.2rem;
    font-weight: bold; /* 太字 */
    margin-bottom: 10px; /* 下にスペースを追加 */
}

.notice-text {
    text-align: left; /* リスト項目は左揃えにする */
    margin-top: 0px;
    line-height: 1.5; /* 行間を広げる */
    font-size: 1rem;
}

.img-satsuei {
    max-width: 80%;
}

.img-kiyaku {
    max-width: 300px;
    margin-bottom: 20px; /* 下にスペースを追加 */
}

.content {
    display: flex;
    flex-direction: column; /* 縦方向の配置 */
    justify-content: center; /* 垂直方向の中央揃え */
    align-items: center; /* 水平方向の中央揃え */
}

.text-section {
    font-size: 1rem;
    font-weight: bold; /* 太字 */
    margin-bottom: 10px; /* 下にスペースを追加 */
    width: 85%;
}

/* スクロールボックス */
.scroll-container {
    width: 70%;
    max-height: 260px; /* 高さを指定してスクロールを表示 */
    padding: 10px;
    border: 1px solid #ccc;
    overflow-y: auto; /* 垂直方向のスクロールバーを表示 */
    background-color: #f9f9f9;
}
/* スマホ画面 */
@media only screen and (max-width: 767px) {
    /* スクロールバー全体 */
    .scroll-container::-webkit-scrollbar {
        width: 24px; /* スクロールバーの幅 */
    }

    /* スクロールバーのトラック（背景） */
    .scroll-container::-webkit-scrollbar-track {
        background: #cccccc2f;
    }

    /* スクロールバーのつまみ */
    .scroll-container::-webkit-scrollbar-thumb {
        background-color: #ccc;
        border-radius: 1px; /* つまみの角の丸みを作る */
        border: 1px solid #f9f9f9; /* つまみの内側にスペースを作る */
    }

    /* スクロールバーのつまみ（ホバー時） */
    .scroll-container::-webkit-scrollbar-thumb:hover {
        background-color: #999;
    }
    /* スクロールボックス幅 */
    .scroll-container {
        width: 80%;
    }
}

/* ↑ 4 レシートｃｓｓ*/

/* 日本酒フェアー 親要素: 画像を重ねる基準を設定 */
.nihon {
    position: relative; /* 子要素の絶対配置を基準にする */
    max-width: 100%; /* 必要に応じて幅を指定 */
    height: auto; /* 必要に応じて高さを指定 */
}

/* 背景画像 */
.nihon .nihon1 {
    width: 100%; /* 背景画像を親要素にフィットさせる */
    height: auto;
}

/* 重ねる画像共通設定 */
.nihon .over2 {
    position: absolute; /* 親要素を基準に配置 */
    width: auto; /* 必要に応じてサイズを調整 */
    height: auto;
}

/* 各画像の位置を指定 イベントクリック*/
.nihon .nihon2 {
    top: 58%; /* 上からの位置 */
    left: 15%; /* 左からの位置 */
    width: 25%; /* サイズを調整 */
}

.nihon .nihon2:hover {
    transform: scale(1.01); /* クリック時浮く */
}
/* 各画像の位置を指定 写真３枚 */
.nihon .nihon3 {
    top: 15%; /* 上からの位置 */
    left: 40%; /* 左からの位置 */
    width: 55%; /* サイズを調整 */
}
/* 各画像の位置を指定 タイトル*/
.nihon .nihon4 {
    top: 6%; /* 上からの位置 */
    left: 35%; /* 左からの位置 */
    width: 30%; /* サイズを調整 */
}

.text-overlay {
    position: absolute; /* 絶対位置指定 */
    top: 33%;
    left: 60%;
    transform: translate(-50%, -50%);
    color: black;
    z-index: 2;
    width: 90%;
    text-align: left; /* テキストを中央揃え */
    line-height: 1.6;
    font-family: "Arial", sans-serif; /* フォントの調整 */
}

.main-text {
    font-size: 2vw; /* 見出しに近いサイズ */
    font-weight: bold;
}

.sub-text {
    font-size: 1.6vw; /* 補足テキスト用のサイズ */
}

/* スマホ用調整 */
@media (max-width: 767px) {
    .nihon .nihon2 {
        top: 36%; /* 上からの位置 */
        left: 25%; /* 左からの位置 */
        width: 50%; /* サイズを調整 */
    }
    .nihon .nihon3 {
        top: 60%; /* 上からの位置 */
        left: 2%; /* 左からの位置 */
        width: 95%; /* サイズを調整 */
    }
    .nihon .nihon4 {
        top: 4%; /* 上からの位置 */
        left: 10%; /* 左からの位置 */
        width: 80%; /* サイズを調整 */
    }
    .text-overlay {
        top: 22%;
        left: 50%;
        text-align: center; /* テキストを中央揃え */
    }
    .main-text {
        font-size: 4.8vw; /* 見出しに近いサイズ */
    }

    .sub-text {
        font-size: 4.1vw; /* 補足テキスト用のサイズ */
    }
}
.img-toiawase {
    max-width: 240px;
}
.container-zimu {
    width: 80%;
    margin: 0 auto; /* 親要素自体を中央揃え */
}

.campaign-title {
    font-size: 1.3rem; /* タイトルの文字サイズ */
    font-weight: bold; /* タイトルを太字に */
    margin-bottom: 5px; /* 下に余白を追加 */
}

.campaign-email {
    font-size: 1.1rem; /* メールアドレスの文字サイズ */
    color: #000; /* 文字色を黒に */
    margin-bottom: 5px; /* 下に余白を追加 */
    font-weight: bold; /* メールアドレスを目立たせる */
}

.campaign-info {
    font-size: 1rem; /* 情報部分の文字サイズ */
}

/* スマホ用調整 */
@media (max-width: 767px) {
    .campaign-title {
        font-size: 1.1rem; /* タイトルの文字サイズ */
        margin-bottom: 5px; /* 下に余白を追加 */
    }
    .campaign-email {
        font-size: 1rem; /* メールアドレスの文字サイズ */
        margin-bottom: 0px; /* 下に余白を追加 */
    }
    .campaign-info {
        font-size: 0.8rem; /* 情報部分の文字サイズ */
    }
}
/* ↑ ５ メアドｃｓｓ*/

/*年齢確認モーダル*/

/* モーダル専用のスタイル */
#ageVerificationModal .modal-content {
    background: rgba(0, 0, 0, 0.85);
    border: none;
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(10px);
}

#ageVerificationModal .modal-header {
    border-bottom: none;
    text-align: center;
}

#ageVerificationModal .modal-title {
    font-size: 2rem;
    font-weight: bold;
    color: #fff; /* モーダル内のタイトル文字を白に設定 */
}

#ageVerificationModal .modal-body {
    padding-top: 0px;
    font-size: 1.2rem;
    text-align: center;
    color: #fff; /* モーダル内のテキストカラーを白に設定 */
}

#ageVerificationModal .form-check-label {
    color: #ddd; /* モーダル内のチェックボックスラベルを灰色に設定 */
}

#ageVerificationModal .btn {
    border-radius: 30px;
    padding: 12px 40px;
    font-size: 1.1rem;
    font-weight: bold;
    transition: all 0.3s ease;
}

#ageVerificationModal .btn-primary {
    background: linear-gradient(90deg, #ff7e5f, #feb47b);
    border: none;
}

#ageVerificationModal .btn-primary:hover {
    background: linear-gradient(90deg, #feb47b, #ff7e5f);
    transform: scale(1.1);
}

#ageVerificationModal .btn-secondary {
    background: #555;
    border: none;
}

#ageVerificationModal .btn-secondary:hover {
    background: #333;
    transform: scale(1.1);
}

/* ぐるぐる回る */
.center-circle {
    position: absolute;
    top: 37%; /* 画面の上下中央 */
    left: 27%; /* 画面の左右中央 */

    width: 10vw; /* 円の直径 */
    height: 10vw; /* 円の直径 */
    border-radius: 50%; /* 正円を作成 */
    /* background-color: red; /* 基準点の赤い円 （間隔調整用） */
    transform: translate(-50%, -50%); /* 中心に揃える */
    z-index: 1; /* 回転する円の下にならないようにする */
}
/* スマホ用調整 */
@media (max-width: 767px) {
    .center-circle {
        top: 41%; /* 画面の上下中央 */
        left: 39%; /* 画面の左右中央 */
    }

    .orbit-circle {
        width: 18vw !important; /* 円の直径 */
        height: 18vw !important; /* 円の直径 */
        animation: orbit-sm 60s linear infinite !important; /* 新しいアニメーションを定義 */
        animation-delay: 0s !important; /* 各円に異なる遅延を設定します(初期配置） */
    }
    /* さくらマーク（鑑評会って？）*/
    .orbit-circle:nth-child(9) {
        width: 23vw !important;
        height: 23vw !important;
        animation: orbit-sm9 60s linear infinite !important; /* 専用アニメーション */
    }
    .orbit-circle:nth-child(18) {
        width: 23vw !important;
        height: 23vw !important;
        animation: orbit-sm18 60s linear infinite !important; /* 専用アニメーション */
    }
    /* スマホ用の新しいアニメーション */
    @keyframes orbit-sm {
        0% {
            transform: translate(-50%, -50%) rotate(0deg) translateX(48vw)
                rotate(0deg);
        }
        100% {
            transform: translate(-50%, -50%) rotate(360deg) translateX(48vw)
                rotate(-360deg);
        }
    }
    /* スマホ用 9番目専用アニメーション  さくらマーク（鑑評会って？）*/
    @keyframes orbit-sm9 {
        0% {
            transform: translate(-50%, -50%) rotate(0deg) translateX(50vw)
                rotate(0deg);
        }
        100% {
            transform: translate(-50%, -50%) rotate(360deg) translateX(50vw)
                rotate(-360deg);
        }
    }

    /* スマホ用 18番目専用アニメーション  さくらマーク（鑑評会って？）*/
    @keyframes orbit-sm18 {
        0% {
            transform: translate(-50%, -50%) rotate(0deg) translateX(50vw)
                rotate(0deg);
        }
        100% {
            transform: translate(-50%, -50%) rotate(360deg) translateX(50vw)
                rotate(-360deg);
        }
    }
    /* 複数の円の位置を設定 */
    .orbit-circle:nth-child(1) {
        animation-delay: 0s !important;
    }
    .orbit-circle:nth-child(2) {
        animation-delay: -3.13s !important; /* 初期配置で2秒前の位置 */
    }
    .orbit-circle:nth-child(3) {
        animation-delay: -6.36s !important;
    }
    .orbit-circle:nth-child(4) {
        animation-delay: -9.89s !important;
    }
    .orbit-circle:nth-child(5) {
        animation-delay: -13.02s !important;
    }
    .orbit-circle:nth-child(6) {
        animation-delay: -16.45s !important;
    }
    .orbit-circle:nth-child(7) {
        animation-delay: -19.88s !important;
    }
    .orbit-circle:nth-child(8) {
        animation-delay: -23.01s !important;
    }
    .orbit-circle:nth-child(9) {
        animation-delay: -26.62s !important;
    }
    .orbit-circle:nth-child(10) {
        animation-delay: -30.07s !important;
    }
    .orbit-circle:nth-child(11) {
        animation-delay: -33.3s !important;
    }
    .orbit-circle:nth-child(12) {
        animation-delay: -36.63s !important;
    }
    .orbit-circle:nth-child(13) {
        animation-delay: -39.96s !important;
    }
    .orbit-circle:nth-child(14) {
        animation-delay: -43.29s !important;
    }
    .orbit-circle:nth-child(15) {
        animation-delay: -46.62s !important;
    }
    .orbit-circle:nth-child(16) {
        animation-delay: -49.95s !important;
    }
    .orbit-circle:nth-child(17) {
        animation-delay: -53.08s !important;
    }
    .orbit-circle:nth-child(18) {
        animation-delay: -56.61s !important;
    }
}

.orbit-circle {
    position: absolute;
    top: 50%; /* 中心円に対して上下中央 */
    left: 50%; /* 中心円に対して左右中央 */
    width: 11vw; /* 円の幅を70pxに設定 */
    height: 11vw; /* 円の高さを70pxに設定（これで正円になる） */
    border-radius: 50%; /* 要素を円形にするために、ボーダー半径を50%に設定 */
    transform: translate(-50%, -50%) translateX(150px); /* 半径150pxで配置 */
    animation: orbit 70s linear infinite; /* 回転アニメーション */
    animation-delay: 0s; /* 各円に異なる遅延を設定します(初期配置） */
    cursor: pointer; /* ユーザーが円をクリックできるようにカーソルをポインタに変更 */
    z-index: 2; /* 中心円の上に表示 */
}

.orbit-circle img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

@keyframes orbit {
    0% {
        transform: translate(-50%, -50%) rotate(0deg) translateX(32vw)
            rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg) translateX(32vw)
            rotate(-360deg);
    }
}

/* 複数の円の位置を設定 */
.orbit-circle:nth-child(1) {
    animation-delay: 0s;
}
.orbit-circle:nth-child(2) {
    animation-delay: -3.89s;
}
.orbit-circle:nth-child(3) {
    animation-delay: -7.78s;
}
.orbit-circle:nth-child(4) {
    animation-delay: -11.67s;
}
.orbit-circle:nth-child(5) {
    animation-delay: -15.56s;
}
.orbit-circle:nth-child(6) {
    animation-delay: -19.45s;
}
.orbit-circle:nth-child(7) {
    animation-delay: -23.34s;
}
.orbit-circle:nth-child(8) {
    animation-delay: -27.23s;
}
.orbit-circle:nth-child(9) {
    /* さくらマーク（鑑評会って？）*/
    width: 15vw; /* サイズ調整 */
    height: 15vw; /* サイズ調整 */
    animation: orbit9 70s linear infinite; /* 専用アニメーション */
    animation-delay: -31.12s;
}
.orbit-circle:nth-child(10) {
    animation-delay: -35.01s;
}
.orbit-circle:nth-child(11) {
    animation-delay: -38.9s;
}
.orbit-circle:nth-child(12) {
    animation-delay: -42.79s;
}
.orbit-circle:nth-child(13) {
    animation-delay: -46.68s;
}
.orbit-circle:nth-child(14) {
    animation-delay: -50.57s;
}
.orbit-circle:nth-child(15) {
    animation-delay: -54.46s;
}
.orbit-circle:nth-child(16) {
    animation-delay: -58.35s;
}
.orbit-circle:nth-child(17) {
    animation-delay: -62.24s;
}
.orbit-circle:nth-child(18) {
    /* さくらマーク（鑑評会って？）*/
    width: 15vw; /* サイズ調整 */
    height: 15vw; /* サイズ調整 */
    animation: orbit18 70s linear infinite; /* 専用アニメーション */
    animation-delay: -66.13s;
}

/* 9番目専用アニメーション  さくらマーク（鑑評会って？）*/
@keyframes orbit9 {
    0% {
        transform: translate(-50%, -50%) rotate(0deg) translateX(34vw)
            rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg) translateX(34vw)
            rotate(-360deg);
    }
}

/* 18番目専用アニメーション  さくらマーク（鑑評会って？）*/
@keyframes orbit18 {
    0% {
        transform: translate(-50%, -50%) rotate(0deg) translateX(34vw)
            rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg) translateX(34vw)
            rotate(-360deg);
    }
}

/* ↓ ぐるぐる回る モーダル分 */

.custom-modal {
    max-width: 80%; /* 画面幅の80%に制限 */
    width: auto; /* コンテンツに応じて100%の幅を持たせる */
    margin: 0 auto; /* 横方向の中央寄せ */
}
/* 共通スタイル */
.region-title1,
.region-title2,
.region-title3,
.region-title4,
.region-title5,
.region-title6,
.region-title7,
.region-title8 {
    font-size: 1.2rem; /* フォントサイズ */
    font-weight: bold; /* 太字 */
    margin-bottom: 0; /* 下部マージンなし */
}
.region-title1 {
    color: #557dbe; /* 北海道地方 */
}
.region-title2 {
    color: #87aadc; /* 東北地方 */
}
.region-title3 {
    color: #649100; /* 関東地方 */
}
.region-title4 {
    color: #91aa23; /* 中部地方 */
}
.region-title5 {
    color: #dca555; /* 近畿地方 */
}
.region-title6 {
    color: #c88282; /* 中国地方 */
}
.region-title7 {
    color: #b3992e; /* 四国地方 */
}
.region-title8 {
    color: #a078a5; /* 九州地方 */
}

.region-title1 .region-title21,
.region-title2 .region-title22,
.region-title3 .region-title23,
.region-title4 .region-title24,
.region-title5 .region-title25,
.region-title6 .region-title26,
.region-title7 .region-title27,
.region-title8 .region-title28 {
    font-size: 1.5rem; /* 「地域」のみ大きく */
    font-weight: bold;
}

/* 共通スタイル */
.subtitle1,
.subtitle2,
.subtitle3,
.subtitle4,
.subtitle5,
.subtitle6,
.subtitle7,
.subtitle8 {
    font-size: 0.8rem; /* フォントサイズ */
    font-weight: normal; /* 通常の太さ */
}
.subtitle1 {
    color: #557dbe;
} /* 北海道地方 */
.subtitle2 {
    color: #87aadc;
} /* 東北地方 */
.subtitle3 {
    color: #649100;
} /* 関東地方 */
.subtitle4 {
    color: #91aa23;
} /* 中部地方 */
.subtitle5 {
    color: #dca555;
} /* 近畿地方 */
.subtitle6 {
    color: #c88282;
} /* 中国地方 */
.subtitle7 {
    color: #b3992e;
} /* 四国地方 */
.subtitle8 {
    color: #a078a5;
} /* 九州地方 */

.region-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* アイテムが折り返されるように */
}

/* ↓ 右上ボタン配列 ↓ */
/* 地域 共通スタイル */
.region-item1,
.region-item2,
.region-item3,
.region-item4,
.region-item5,
.region-item6,
.region-item7,
.region-item8 {
    flex: 1;
    text-align: center;
    border: 2px solid; /* 色は個別に設定 */
    border-radius: 10px;
    padding: 10px;
    font-weight: bold;
    cursor: pointer;
    margin: 10px; /* アイテム間にスペースを追加 */
    justify-content: center; /* 横方向に中央揃え */
}
/* スマホ用調整 */
@media (max-width: 767px) {
    .region-item1,
    .region-item2,
    .region-item3,
    .region-item4,
    .region-item5,
    .region-item6,
    .region-item7,
    .region-item8 {
        flex: 0 0 40%; /* アイテムの幅を調整 */
    }
}

.region-item1 {
    border-color: #557dbe; /* 北海道地方 */
    color: #557dbe; /* 北海道地方 */
}
.region-item2 {
    border-color: #87aadc; /* 東北地方 */
    color: #87aadc; /* 東北地方 */
}
.region-item3 {
    border-color: #649100; /* 関東地方 */
    color: #649100; /* 関東地方 */
}
.region-item4 {
    border-color: #91aa23; /* 中部地方 */
    color: #91aa23; /* 中部地方 */
}
.region-item5 {
    border-color: #dca555; /* 近畿地方 */
    color: #dca555; /* 近畿地方 */
}
.region-item6 {
    border-color: #c88282; /* 中国地方 */
    color: #c88282; /* 中国地方 */
}
.region-item7 {
    border-color: #b3992e; /* 四国地方 */
    color: #b3992e; /* 四国地方 */
}
.region-item8 {
    border-color: #a078a5; /* 九州地方 */
    color: #a078a5; /* 九州地方 */
}

/* ホバ‐時 */
.region-item1:hover {
    background-color: #d1e0f4; /* 北海道地方 */
}

.region-item2:hover {
    background-color: #d1e7f3; /* 東北地方 */
}

.region-item3:hover {
    background-color: #c1e39d; /* 関東地方 */
}

.region-item4:hover {
    background-color: #d0d88c; /* 中部地方 */
}

.region-item5:hover {
    background-color: #f2d79d; /* 近畿地方 */
}

.region-item6:hover {
    background-color: #e2b3b3; /* 中国地方 */
}

.region-item7:hover {
    background-color: #e1d68b; /* 四国地方 */
}

.region-item8:hover {
    background-color: #d3bfd9; /* 九州地方 */
}

/* 県名 共通スタイル */
.prefecture-item1,
.prefecture-item2,
.prefecture-item3,
.prefecture-item4,
.prefecture-item5,
.prefecture-item6,
.prefecture-item7,
.prefecture-item8 {
    flex: 1;
    text-align: center;
    border: 2px solid; /* 色は個別に設定 */
    border-radius: 10px;
    padding: 10px;
    font-weight: bold;
    cursor: pointer;
    margin: 10px; /* アイテム間にスペースを追加 */
    justify-content: center; /* 横方向に中央揃え */
}
/* スマホ用調整 */
@media (max-width: 767px) {
    .prefecture-item1,
    .prefecture-item2,
    .prefecture-item3,
    .prefecture-item4,
    .prefecture-item5,
    .prefecture-item6,
    .prefecture-item7,
    .prefecture-item8 {
        flex: 0 0 40%; /* アイテムの幅を調整 */
    }
}
.prefecture-item1 {
    border-color: #557dbe; /* 北海道地方 */
    color: #557dbe; /* 北海道地方 */
}
.prefecture-item2 {
    border-color: #87aadc; /* 東北地方 */
    color: #87aadc; /* 東北地方 */
}
.prefecture-item3 {
    border-color: #649100; /* 関東地方 */
    color: #649100; /* 関東地方 */
}
.prefecture-item4 {
    border-color: #91aa23; /* 中部地方 */
    color: #91aa23; /* 中部地方 */
}
.prefecture-item5 {
    border-color: #dca555; /* 近畿地方 */
    color: #dca555; /* 近畿地方 */
}
.prefecture-item6 {
    border-color: #c88282; /* 中国地方 */
    color: #c88282; /* 中国地方 */
}
.prefecture-item7 {
    border-color: #b3992e; /* 四国地方 */
    color: #b3992e; /* 四国地方 */
}
.prefecture-item8 {
    border-color: #a078a5; /* 九州地方 */
    color: #a078a5; /* 九州地方 */
}

/* ホバ‐時 */
.prefecture-item1:hover {
    background-color: #d1e0f4; /* 北海道地方 */
}

.prefecture-item2:hover {
    background-color: #d1e7f3; /* 東北地方 */
}

.prefecture-item3:hover {
    background-color: #c1e39d; /* 関東地方 */
}

.prefecture-item4:hover {
    background-color: #d0d88c; /* 中部地方 */
}

.prefecture-item5:hover {
    background-color: #f2d79d; /* 近畿地方 */
}

.prefecture-item6:hover {
    background-color: #e2b3b3; /* 中国地方 */
}

.prefecture-item7:hover {
    background-color: #e1d68b; /* 四国地方 */
}

.prefecture-item8:hover {
    background-color: #d3bfd9; /* 九州地方 */
}

/* ↑ 右上ボタン配列 ↑ */

.sake-item {
    border: 1px solid #ccc;
    padding: 15px;
    margin: 10px 0;
    border-radius: 5px;
    border: none; /* ボーダーを削除 */
    min-height: 400px;
    display: flex; /* Flexboxを使用 */
    flex-direction: column; /* 項目を縦に並べる */
}
/* スマホ用調整 */
@media (max-width: 767px) {
    .sake-item {
        width: 80%;
        margin: 20px auto; /* スマホ画面用：上下20pxの余白 */
        height: auto; /* スマホ画面では高さを自動調整 */
        min-height: 200px; /* スマホ画面では高さを少し詰める */
    }
}

@media (min-width: 1300px) {
    .sake-item {
        min-height: 540px;
    }
}
/*regionで名前とってくる  */
/* 共通スタイル */
.sake-name.hokkaido,
.sake-name.touhoku,
.sake-name.kantou,
.sake-name.chubu,
.sake-name.kinki,
.sake-name.chugoku,
.sake-name.shikoku,
.sake-name.kyushu {
    font-weight: bold;
    padding: 10px 0;
    border-top: 10px solid; /* 上の太いボーダー */
    border-bottom: 3px solid; /* 下の細いボーダー */
}

/* 北海道地方 hokkaido */
.sake-name.hokkaido {
    color: #557dbe;
}

/* 東北地方 */
.sake-name.touhoku {
    color: #87aadc;
}

/* 関東地方 */
.sake-name.kantou {
    color: #649100;
}

/* 中部地方 chubu */
.sake-name.chubu {
    color: #91aa23;
}

/* 近畿地方 */
.sake-name.kinki {
    color: #dca555;
}

/* 中国地方 */
.sake-name.chugoku {
    color: #c88282;
}

/* 四国地方 */
.sake-name.shikoku {
    color: #b3992e;
}

/* 九州地方 */
.sake-name.kyushu {
    color: #a078a5;
}

.sake-brand {
    padding: 10px 0;
}

/* 酒類鑑評会を黄色に */
.sake-awards {
    background-color: #f5ebd2;
    margin-bottom: 3px;
    padding: 10px 0;
}
/* 新酒鑑評会をグレーに */
.sake-new-awards {
    background-color: rgb(223, 222, 218);
    margin-bottom: 10px;
    padding: 10px 0;
}
.btn.sake-btn {
    background-color: rgb(209, 17, 17);
    color: white;
    width: 100%;
    margin-top: auto; /* ボタンを下部に寄せる */
}

.btn.sake-btn:hover {
    background-color: rgb(147, 18, 18);
}

/* ↓ モーダルの閉じるボタン動作調整 ↓ */
/* 共通スタイル */
.btn-close1,
.btn-close2,
.btn-close3,
.btn-close4,
.btn-close5,
.btn-close6,
.btn-close7,
.btn-close8 {
    position: absolute;
    top: 10px; /* モーダルの外に配置 */
    right: 10px; /* モーダルの外に配置 */
    width: 40px;
    height: 40px;
    border: none; /* 枠線なし */
    border-radius: 8px; /* 角を少し丸める */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050; /* モーダルの上に表示 */
}

/* 北海道地方 */
.btn-close1 {
    background-color: #557dbe;
}

/* 東北地方 */
.btn-close2 {
    background-color: #87aadc;
}

/* 関東地方 */
.btn-close3 {
    background-color: #649100;
}

/* 中部地方 */
.btn-close4 {
    background-color: #91aa23;
}

/* 近畿地方 */
.btn-close5 {
    background-color: #dca555;
}

/* 中国地方 */
.btn-close6 {
    background-color: #c88282;
}

/* 四国地方 */
.btn-close7 {
    background-color: #b3992e;
}

/* 九州地方 */
.btn-close8 {
    background-color: #a078a5;
}

/* ×のデザイン */
.btn-close1::after,
.btn-close2::after,
.btn-close3::after,
.btn-close4::after,
.btn-close5::after,
.btn-close6::after,
.btn-close7::after,
.btn-close8::after {
    content: "×";
    font-size: 2.8rem; /* 少し大きく */
    color: #fff; /* ×の色を白に */
}

/* ホバー時のボタン効果 */

/* 北海道地方 */
.btn-close1:hover {
    background-color: #3d66a1;
}

/* 東北地方 */
.btn-close2:hover {
    background-color: #5d8fb8;
}

/* 関東地方 */
.btn-close3:hover {
    background-color: #4f7d00;
}

/* 中部地方 */
.btn-close4:hover {
    background-color: #799b1a;
}

/* 近畿地方 */
.btn-close5:hover {
    background-color: #b28d4d;
}

/* 中国地方 */
.btn-close6:hover {
    background-color: #9f6a6e;
}

/* 四国地方 */
.btn-close7:hover {
    background-color: #8e7b26;
}

/* 九州地方 */
.btn-close8:hover {
    background-color: #8c6582;
}
/* ↑ モーダルの閉じるボタン動作調整 ↑ */

/* ↓ モーダル外枠色 ↓ */
/* 共通スタイル */
.container-modal1,
.container-modal2,
.container-modal3,
.container-modal4,
.container-modal5,
.container-modal6,
.container-modal7,
.container-modal8 {
    border: 4px solid; /* 色は個別に設定 */
    padding: 10px;
    border-radius: 10px; /* 角を少し丸める（オプション） */
}

/* 北海道地方 */
.container-modal1 {
    border-color: #557dbe;
}

/* 東北地方 */
.container-modal2 {
    border-color: #87aadc;
}

/* 関東地方 */
.container-modal3 {
    border-color: #649100;
}

/* 中部地方 */
.container-modal4 {
    border-color: #91aa23;
}

/* 近畿地方 */
.container-modal5 {
    border-color: #dca555;
}

/* 中国地方 */
.container-modal6 {
    border-color: #c88282;
}

/* 四国地方 */
.container-modal7 {
    border-color: #b3992e;
}

/* 九州地方 */
.container-modal8 {
    border-color: #a078a5;
}
/* ↑ モーダル外枠色 ↑ */

.img-kumiai {
    width: 80%;
}

/* 日本酒フェアー変更分 */
.img-nihonf {
    max-width: 380px;
}
.img-kikisake {
    position: absolute;
    top: 40%;
    left: 10%;
    transform: translate(-50%, -50%);
    width: 100%;
}
/***  キャンペーン終了コメント ***/
.campaign-container2 {
    background-color: rgb(18, 4, 105); /* 外側の背景 */
    padding: 30px;
    text-align: center;
}
.campaign-message {
    color: #fff; /* 白文字 */
    font-size: 4vw; /* 大きい文字 */
    line-height: 1.5;
}
