/* 全体のスタイル */
body {
    background-color: #fffdfa; /* HTML全体の背景色 */
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column; /* 縦に並べる */
    align-items: center; /* 中央揃え */
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
}

/* タイトルスタイル */

.first {
    background-image: url(img/hokkaidomultiwide.png);
    background-size: 100vw auto;
    background-position: top;
    background-repeat: no-repeat;
    background-color: #F6ECDC;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100% ;
}

.title{
    margin: 0 auto;
    padding-top: 43vw;
    text-align: center;
}

.title img{
    width: 90% ;
    height: auto;
}


h3 {
   margin: 30px;
   color: #333;
}

.chui{
    margin: 0 auto 20px auto;
    text-align: center;
    color: red;
    font-size: 1em;
    width: 100%;
} 

.titlekome {
    text-align: center; 
    margin: 0 20% 0 20% ; 
    padding: 0.5em;
    font-size: 1rem; /* デフォルトのフォントサイズ */
    color: #755438;
    margin-bottom: 20px;
    background-color: #fff;
    border-radius: 20px;
    border: dashed 2px #bc8f8f;
    box-shadow: 0 0 0 10px #fff;
    width: 60%; 
}

.fixed_btn { 
    position: fixed;
    top: 30px;
    right: 0px;
    padding: 20px 10px;
    background-color: #cf3129;
    color: #fff;
    border: none;
    border-top-left-radius: 15px; /* 左上の角を丸くする */
    border-bottom-left-radius: 15px; /* 左下の角を丸くする */
    cursor: pointer;
    font-size: 1rem;
    text-align: center;
    z-index: 1000; /* 他の要素の上に表示 */
}


.link-no-color {
    color: #fff; /* リンクの文字色を白に設定 */
    text-decoration: none; /* 下線を消す */
}

.link-no-color:hover {
    color: #fff; /* ホバー時も文字色を白に設定 */
}

/* 地域タブスタイル */
.region-tabs {
    display: flex; /* 横並びにする */
    width: 100%; /* 画面幅いっぱいに表示 */
    margin-bottom: 0px; /* タブとコンテンツの間にスペースを追加 */
    justify-content: center; /* 水平方向の中央揃え */
    border-bottom: solid 4px #ff8c00;
    background-color: #F6ECDC;
}

.region-tab {
    width: calc(25% - 10px); /* タブの幅を4分の1に設定 */
    padding: 0.6em 1em; /* パディング */
    background-color: #FFFDD0; /* デフォルトの背景色 */
    color: #8b4513; /* 文字色 */
    font-size: 1.2em; /* フォントサイズ */
    font-weight: bold;
    text-align: center; /* 中央揃え */
    cursor: pointer; /* カーソルをポインターに */
    margin-top: 0.5%;
    margin-left: 1.0%;
    margin-right: 1.0%;
    margin-bottom: 0;
    transition: opacity 0.3s, background-color 0.3s; /* ホバー時のトランジション */
    display: flex; /* フレックスボックスを使用 */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    border-radius: 10px 10px 0 0 ;
}

/* マルチクーポンタブのスタイル */
.multi-tab {
    background-color: #bc8f8f; /* マルチクーポンタブの背景色 */
    color: #fff; /* 文字色を白に設定 */
}

/* タブの選択状態スタイル */
input[type="radio"]:checked + .region-tab {
    background-color: #ff8c00; /* 選択中のタブの背景色 */
    color: #fff; /* 選択中のタブの文字色 */
    opacity: 1; /* 不透明度を1に */
}

input[type="radio"]:checked + .multi-tab {
    background-color: #a52a2a; /* アクティブなマルチクーポンタブの背景色 */
    color: #fff; /* 文字色を白に設定 */
}

/* ホバー時のスタイル */
.region-tab:hover {
    opacity: 0.7; /* ホバー時の不透明度 */
}

/* タブの内容部分 */
.region-tabs > div {
    display: none; /* 初期状態は非表示 */
    width: 100%; /* 幅を100%に設定 */
    padding: 1.5em 1em; /* パディング */
    background-color: #fff; /* 背景色 */
}

/* タグタブスタイル */
.tag-tabs {
    display: flex;
    justify-content: center; 
    width: 80%;
    padding-top: 10px;
    margin: 0 auto 20px;
}

.tag-tab {
    flex: 0 0 calc(80% / 5 - 10px); /* 各タブを均等に配置し、幅を固定 */
    background: #ffdab9;
    color: #755438;
    padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: bold; 
    text-align: center;
    position: relative; /* 吹き出しを作るために相対位置に設定 */
    margin: 5px; /* ボタン間のマージンを5pxに設定 */
}

/* 吹き出しスタイル */
.tag-tab::after {
    content: '';
    position: absolute;
    top: 100%; /* タブの下に配置 */
    left: 50%; /* 中央揃え */
    transform: translateX(-50%);
    border-width: 10px; /* 吹き出しの三角部分のサイズ */
    border-style: solid;
    border-color: #ffdab9 transparent transparent transparent; /* 吹き出しの色（下向き） */
    margin-left: -10px; /* 吹き出しの位置調整 */
    z-index: 1; /* 吹き出しを前面に表示 */
}

/* ラジオボタンを非表示にする */
input[type="radio"] {
    display: none; /* ラジオボタンを非表示 */
}

/* newtag-tabsのスタイル */
.newtag-tabs {
    display: flex; /* 横並びにする */
    justify-content: space-between; /* タブを均等に配置 */
    width: 50%; /* 幅を画面の50%に設定 */
    margin: 0 auto 20px; /* 中央揃えと下部のマージンを追加 */
}

/* newtag-tabのスタイル */
.newtag-tab, .onetag-tab {
    flex: 1; /* 各タブの幅を均等に設定 */
    text-align: center ;
    background: #fff; /* 背景をなしに */
    border: solid 2px #755438; /* ボーダー */
    color: #755438; /* 文字色 */
    padding: 10px 15px; /* パディング */
    font-size: 1rem; /* デフォルトのフォントサイズ */
    font-weight: bold; /* 太字にする */
    border-radius: 10px; /* 角を丸める */
    transition: background-color 0.3s, color 0.3s; /* 背景色と文字色の変化にトランジションを追加 */
    white-space: nowrap; /* テキストの折り返しを防ぐ */
    margin: 5px; /* ボタン間のマージンを5pxに設定 */
}

/* ホバー時のスタイル */
.tag-tab:hover, .newtag-tab:hover, .onetag-tab:hover {
    background-color: #755438; /* ホバー時の背景色 */
    color: #fff; /* ホバー時の文字色を変更 */
}

/* ホバー時の吹き出し三角部分の色変更 */
.tag-tab:hover::after {
    border-color: #755438 transparent transparent transparent; /* 吹き出しの色（ホバー時） */
}

/* アクティブなタブのスタイル */
input[type="radio"]:checked + .tag-tab {
    background-color: #755438; /* アクティブなタブの背景色 */
    color: #fff; /* アクティブなタブの文字色 */
}

/* アクティブなタブの吹き出し三角部分の色変更 */
input[type="radio"]:checked + .tag-tab::after {
    border-color: #755438 transparent transparent transparent; /* アクティブなタブの吹き出しの色 */
}


.akachouchin{
    width: 100% ;
    margin: 0 auto ;
}

.washou{
    width: 100% ;
    margin: 0 auto ;
}

.upper-block{
    margin: 10px auto 20px auto;
    width: 50% ;
    animation: popup 1s cubic-bezier(0.6,1,0.36,1)forwards;
    background-color: #fff;
    padding-bottom: 30px;
    border-radius: 20px 20px;
    border: solid 2px #f5a662;
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.4);
}

@keyframes popup{
    0%{
      transform: translateY(40px) scale(0.8);
      opacity: 0;
     }
    100%{
     transform: translateY(0) scale(1.0);
    }
    80%, 100%{
     opacity: 1;
    }
}

.lower-block{
    width: 100%;
    margin-top: 10px;
    padding-bottom: 10px;
    padding-top: 5px;
    background-color: #FFEBEB;
}


/* minititleのスタイル */
.minititle {
    text-align: center;
    letter-spacing: 0.1em;
    font-weight: bold;
    background: linear-gradient(transparent 60%, #f0ba89 0%);
    color: #dc143c;
    font-size: 3.0vw;
    padding: 10px;
    box-sizing: border-box; /* パディングを含めたサイズ計算 */
    width: 100%; /* 親要素の幅いっぱいに */
    border-radius: 20px 20px 0 0 ;
}

.komidashi{
    position: relative;
    padding: 0.3rem ;
    text-align: center ;
    font-size: 2.0vw;
    font-weight: bold ;
    color: #8b0000 ;
}

.komidashi:before{
    position: absolute;
    bottom: -10px;
    left: calc(50% - 30px);
    width: 60px;
    height: 3px;
    content: '';
    border-radius: 3px;
    background: #8b0000;
}

.akaimg {
    display: grid;
    padding-top: 1rem;
    place-items: center;
    width: 100%; /* 親要素の幅を100%に設定 */
}

.akaimg img {
    max-width: 100%; /* 画像の最大幅を100%に設定 */
    height: auto; /* 高さを自動調整 */
}

.akakome{
    width: 90% ;
    margin: auto ;
    padding: 5px 0 5px 0 ;
    color: #9e3939 ;
    font-size: 1.0rem;
}

/* midashiのスタイル */
.midashi {
    width: 70%;
    position: relative;
    line-height: 50px;
    height: 50px;
    margin: 3em auto 1em;
    padding: 0 1rem;
    text-align: center;
    color: #fff;
    background: #fa4141;
    font-size: 2.0vw; /* ビューポート幅に基づくフォントサイズ */
    box-sizing: border-box;
}

.midashi:before, .midashi:after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
}

.midashi:before {
  top: 0;
  left: 0;
  border-width: 25px 0px 25px 15px ;
  border-color: transparent transparent transparent #FFEBEB;
  border-style: solid;
}

.midashi:after {
  top: 0;
  right: 0;
  border-width: 25px 15px 25px 0px ;
  border-color: transparent #FFEBEB transparent transparent;
  border-style: solid;
}


/* ご利用条件のスタイル */
.riyou{
    width: 50%;
}

.multiantop {
    animation: popup 1s cubic-bezier(0.6,1,0.36,1)forwards;
    border-radius : 30px 30px ;
    background-color: #fff ;
    border: solid 2px #423c38;
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.4);

}

@keyframes popup{
    0%{
      transform: translateY(40px) scale(0.8);
      opacity: 0;
     }
    100%{
     transform: translateY(0) scale(1.0);
    }
    80%, 100%{
     opacity: 1;
    }
}

.multianbtm {
    animation: popup 1s cubic-bezier(0.22,1,0.36,1)forwards;
    margin-top : 20vw;
    border-radius : 20px 20px ;
    background-color: #fff ;
    border: solid 2px #423c38;
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.4);
}

@keyframes popup{
    0%{
      transform: translateY(40px) scale(0.8);
      opacity: 0;
     }
    100%{
     transform: translateY(0) scale(1.0);
    }
    80%, 100%{
     opacity: 1;
    }
}

.multititle{
    padding-top: 5%;
    text-align: center ;
    background:linear-gradient(transparent 60%, #fae332 0%);
    color: #00a7cc;
    font-size: 5vh;
    letter-spacing: 0.1em;
}

.mlc{
    padding: 2vh;
}

.ml{
    display: flex ;
    align-items: center ;
}

.ml .point{
    margin-left: -10px;
    display: inline-block;
    width: 4.5vh;
    height: 4.5vh;
    border-radius: 50%;
    background-color: #00cccc;
    color: #fff;
    font-size: 3.5vh;
    text-align: center;
    line-height: 4.5vh;
}

.ml .ttl{
    margin-left: -5px;
    text-align: center;
    font-size: 3vh;
    color: #00cccc;
}

.mln{
   font-size: 0.8rem;
   padding-left: 1.8vw;
   margin-top: -10px;
}

.mlk{
   font-size: 0.8rem;
   padding-left: 1.8vw;
   margin-top: 20px;
}

.mlimg{
    display: grid;
    place-items: center;
}


.mlimg img{
    max-width: 200px;
    width: 100%;
    height: auto;
}

.mlimgqr{
   text-align: center ;
}

.mlimgqr img {
    max-width: 150px;
    height: auto; /* 高さを自動調整 */
}

.mlb{
    display: block;
    margin: 0 auto ;
    padding:1em 1em;
    border-bottom: 5px solid #008080; 
    border-radius: 100vh;
    background-color: #00cccc;
    color: #fff;
}

.mlb:hover{
    margin-top: 3px;
    border-bottom: 2px solid #008080 ;
}


/* メディアクエリでスマホ表示のスタイルを調整 */
@media (max-width: 450px) {
    .tag-tabs,{
        flex-direction: column; /* 縦並びにする */
        align-items: center; /* 幅を親要素に合わせる */
    }

    .newtag-tabs {
        width: 90%; /* 幅を画面の80%に設定 */
        margin: 0 auto; /* 中央揃え */
    }

}

/* メディアクエリでサイズを調整 */
@media (max-width: 768px) {
    .title {
        font-size: calc(1.25vw + 1rem); /* 中間サイズのフォントサイズ */
        padding-top: 42vw;
    }

    .chui{
        font-size: 0.9rem; 
    }

    .titlekome {
        font-size: 0.9rem; /* 中間サイズのフォントサイズ */
    }

    .region-tab {
        padding: 5px 10px; /* 中間サイズのパディング */
        font-size: calc(2vw + 0.5rem); /* 中間サイズのフォントサイズ */
    }

    .tag-tabs {
        flex-direction: column; /* 縦並びにする */
        align-items: center; /* 幅を親要素に合わせる */
    }

    .tag-tab {
        flex: 1 0 auto; /* タブの幅を自動に設定 */
        margin: 5px 0; /* 縦並びにした際の上下マージン */
        width: 100%; /* 幅を100%に設定 */
    }

    .multititle{
        padding-top: 3%;
        font-size: 3vh;
    }

    .ml .ttl{
        font-size: 2.5vh;
    }

}

@media (max-width: 450px) {
    .title {
        padding-top: 42vw;
        font-size: calc(1.25vw + 0.8rem); /* 小さい画面用のフォントサイズをさらに小さく */
    }

    .title img{
        width: 80% ;
        height: auto;
    }


    .chui{
        font-size: 0.6rem; /* 中間サイズのフォントサイズ */
        width: 90%;
    }

    .titlekome {
        font-size: 0.6rem; /* 小さい画面用のフォントサイズをさらに小さく */
    }

    .fixed_btn { 
        position: fixed;
        top: 30px; /* 画面の下から10px */
        right: 0px;
        padding: 10px 5px; /* 縦長にするために上下のパディングを増やす */
        background-color: #cf3129; /* ボタンの背景色 */
        color: #fff; /* 文字色 */
        border: none; /* ボーダーをなしに */
        border-top-left-radius: 10px; /* 左上の角を丸くする */
        border-bottom-left-radius: 10px; /* 左下の角を丸くする */
        cursor: pointer; /* カーソルをポインターに */
        font-size: 0.7rem; /* フォントサイズ */
        text-align: center; /* テキストを中央揃え */
        z-index: 1000; /* 他の要素の上に表示 */
    }

    .region-tab {
        width: 320px; /* 小さい画面用の幅を320pxに設定 */
        padding: 5px 5px; /* 小さい画面用のパディングをさらに小さく */
        font-size: 0.8rem; /* 小さい画面用のフォントサイズをさらに小さく */
        margin: 0 0 0 0; /* 縦並びにした際の上下マージン */
    }

    .tag-tab {
        font-size: 0.8rem; /* デフォルトのフォントサイズ */
        padding: 5px 5px; /* 小さい画面用のパディングをさらに小さく */
    }

    .newtag-tab {
        flex: 1; /* 各タブの幅を均等に設定 */
        margin: 5px; /* タブ間のマージンを設定 */
        font-size: 0.8rem; /* デフォルトのフォントサイズ */
        padding: 5px 5px; /* 小さい画面用のパディングをさらに小さく */
    }

    .minititle {
        text-align: center; 
        font-weight: bold;
        letter-spacing: 0.1em;
        background: linear-gradient(transparent 60%, #f0ba89 0%);
        color: #dc143c; /* 文字色 */
        font-size: 5vw; /* ビューポート幅に基づくフォントサイズ */
        padding: 10px; /* パディングを追加 */
        box-sizing: border-box; /* パディングを含めたサイズ計算 */
        width: 100%; /* 親要素の幅いっぱいに */
    }

    .komidashi{
        text-align: center ;
        font-weight: bold ;
        color: #8b0000 ;
        font-size: 3.5vw;
    }

    .akachouchin{
        width: 100% ;
    }

    .washou{
        width: 100% ;
    }

    .upper-block{
        width: 95% ;
    }

    .akaimg {
        display: grid;
        place-items: center;
        width: 100%; /* 親要素の幅を100%に設定 */
    }

    .akaimg img {
        max-width: 100%; /* 画像の最大幅を100%に設定 */
        height: auto; /* 高さを自動調整 */
    }

    .akakome{
        width: 90% ;
        margin: auto ;
        padding: 5px 0 5px 0 ;
        color: #9e3939 ;
        font-size: 0.8rem;
    }

    .riyou{
        width: 95%;
    }

    .midashi {
        text-align: center ; /* 中央揃え */
        font-weight: bold ; /* 太字 */
        color: #fff ; /* 指定された色 */
        font-size: 5.0vw; /* ビューポート幅に基づくフォントサイズ */
        margin-top: 20vw; /* 各コンテンツから上に30px空ける */
    }

    .multititle{
        padding-top: 3%;
        font-size: 4vh;
    }

   .ml{
        display: flex ;
        align-items: center ;
    }

    .ml .point{
        margin-left: -5px;
        display: inline-block;
        width: 4vh;
        height: 4vh;
        border-radius: 50%;
        background-color: #00cccc;
        color: #fff;
        font-size: 2.5vh;
        text-align: center;
        line-height: 4vh;
    }

    .ml .ttl{
        margin-left: -10px;
        text-align: center;
        font-size: 2.5vh;
        color: #00cccc;
    }

    .mln{
       margin-top: -10px;
       font-size: 0.8rem;
       padding-left: 2.0vw;
    }

    .mlb{
        display: block;
        margin: 0 auto ;
        padding:0.5em 0.5em;
        border-bottom: 5px solid #008080; 
        border-radius: 100vh;
        background-color: #00cccc;
        color: #fff;
    }

.mlb:hover{
    margin-top: 3px;
    border-bottom: 2px solid #008080 ;
}


    .multiimg img {
        text-align: center ;
        width: 80% ;
    }


}


/* コンテンツスタイル */
.content-wrapper {
    display: flex; /* 横並びにする */
    justify-content: center; /* 中央揃え */
    flex-wrap: wrap; /* 複数行にする */
}


.store-name {
    text-align: center; /* 中央揃え */
    font-weight: bold; /* 太字 */
    color: #9c6800;
    margin: 10px 0; /* 上下のマージン */
    font-size: 1.5rem; /* デフォルトのフォントサイズ */
}

.setsumeibun {
    font-size: 0.8rem;
    color: #2B2B2B;
}

.content {
    background-color: #fff; /* コンテンツの背景色 */
    width: 100%; /* 幅を100%に設定 */
    max-width: 400px; /* デフォルトの最大幅を400pxに設定 */
    margin: 20px; /* マージンを設定 */
    padding: 10px; /* パディングを設定 */
    border-radius: 5px; /* 角を丸める */
    border: solid thin #F0AD00; /* ボーダー */
    box-shadow: 7px 7px rgba(117, 84, 56, 0.5); /* ボックスシャドウ */
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 1s forwards;
}

.content.show {
    opacity: 1;
    transform: translateY(0);
}

@keyframes fadeInUp {
    to {
        opacity: 1; /* 不透明にする */
        transform: translateY(0); /* 元の位置に戻す */
    }
}



.content img {
    width: 100%; /* コンテンツの幅に合わせて画像の幅を100%に設定 */
    height: auto; /* 高さは自動で調整 */
    border-radius: 5px; /* 角を丸める（必要に応じて） */
}

/* ご利用方法コンテンツスタイル */
.newcontent-wrapper {
    display: flex; /* 横並びにする */
    justify-content: center; /* 中央揃え */
    flex-wrap: wrap; /* 複数行にする */
}


.newcontent .store-name {
    text-align: center; /* 中央揃え */
    font-weight: bold; /* 太字 */
    color: #9c6800;
    margin: 5px 0; /* 上下のマージン */
    font-size: 1.2rem; /* デフォルトのフォントサイズ */
}

.newcontent .setsumeibun {
    text-align: center;
    font-size: 0.7rem;
    color: #2B2B2B;
}

.newcontent {
    background-color: #fff; /* コンテンツの背景色 */
    width: 100%; /* 幅を100%に設定 */
    max-width: 350px;
    margin: 10px; /* マージンを設定 */
    padding: 10px; /* パディングを設定 */
    border-radius: 5px; /* 角を丸める */
    border: solid thin #F0AD00; /* ボーダー */
    box-shadow: 7px 7px rgba(117, 84, 56, 0.5); /* ボックスシャドウ */
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 1s forwards;
}

.newcontent.show {
    opacity: 1;
    transform: translateY(0);
}

@keyframes fadeInUp {
    to {
        opacity: 1; /* 不透明にする */
        transform: translateY(0); /* 元の位置に戻す */
    }
}



.newcontent img {
    width: 100%; /* コンテンツの幅に合わせて画像の幅を100%に設定 */
    height: auto; /* 高さは自動で調整 */
    border-radius: 5px; /* 角を丸める（必要に応じて） */
}


/* その他のスタイル */
.region {
    background-color: #a0522d;
    color: #FFFFFF;
    padding: 5px;
    text-align: center;
    font-weight: bold;
    border-radius: 5px;
}

.tag {
    background-color: #F0AD00;
    color: #FFFFFF;
    padding: 5px;
    text-align: center;
    border-radius: 5px;
    margin: 10px 0;
}

.tagra{
    background-color: #f23913;
    color: #FFFFFF;
    padding: 5px;
    text-align: center;
    border-radius: 5px;
    margin: 10px 0;
}

.kome {
    font-size: 0.8rem;
    color: #968585;
}


/* テーブルの基本スタイル */
.akachouchintable, .washotable {
    width: 50%;
    margin: 0 auto; 
    text-align: center;
    border-collapse: collapse; /* テーブルのボーダーを重ねる */
    border-radius: 10px; 
    overflow: hidden; 
}

.ttable {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    table-layout: fixed; /* テーブルのレイアウトを固定にして幅を制御 */
}

.dtable{
    width: 90%;
    border: none;
    margin: 10px auto 0px;
    table-layout: fixed; /* テーブルのレイアウトを固定にして幅を制御 */
}

.akachouchintable .akath, .rath, .washotable .wath {
    border-radius: 15px 15px 0 0;
    background-color: #ff4500;
    color: #fff;
    padding: 10px;
}

.akachouchintable .akath:first-child, .washotable .wath:first-child {
    border-right: solid 3px #FFEBEB;
}

.akachouchintable .akatd:last-child, .ratd:last-child {
    font-size: 0.9rem
}


.akachouchintable .akatd, .ratd, .washotable .watd {
    background-color: #fffaf0;
    color: #8b4513; 
    padding: 10px; 
}

.akachouchintable .akatr, .washotable .watr {
    border-bottom: 1px dashed #ccc;
}

.akatd img {
    width: 100%; 
    height: auto;
}

.ratd img {
    width: 100%; 
    height: auto;
}

.watd img {
    width: 100%; 
    height: auto;
}

.akachouchintable .ratd:first-child {
    width: 50%;
}

.akachouchintable tr.ratr:nth-child(2n+1) {
    border-bottom: 1px dashed #ddd; /* ボーダーの太さと色を指定 */
}

/* テーブルヘッダーのスタイル */
.hth, .htd {
    border-bottom: 1px solid #968585;
    padding: 8px;
    text-align: left;
    font-size: 0.8rem;
    color: #2B2B2B;
    overflow: hidden; /* はみ出しを防ぐ */
}

.hth {
    background-color: #fff;
    width: 4.2em;
}

.dth, .dtd {
    border: none;
    padding: 8px;
    overflow: hidden; /* はみ出しを防ぐ */
}

.header {
    display: flex;
    column-gap: 10px;
    justify-content:flex-start;
    margin-bottom: 10px; /* テーブルとの間にマージンを追加 */
}


.goannai {
    text-align: center;
}


table.goannai {
    width: 90%; /* テーブルの幅を画面の90%に設定 */
    margin: 0 auto; /* テーブルを中央に配置 */
}

tr.gtr {

}

th.gth {
    color: #fff;
    background-color: #ff7f50; 
    padding: 8px; 
}

td.gtd {
    color: #8b0000;
    background-color: #fffaf0;
    padding: 8px; 
    border-bottom: 1px dashed #ccc; 
}

td.gtd:first-child {
    background-color: #9e3939;
    color: #fff ;
    width: 25%; /* 左のセルの幅を25%に設定（4文字分に調整） */
    white-space: nowrap; /* テキストが折り返されないように設定 */
    border-bottom: none;
}

td.gtd img {
    width: 100%; /* 画像の幅をセルの幅に合わせる */
    height: auto; /* 高さは自動調整 */
}

/* 各テーブルレスポンシブ設定 */
@media (max-width: 450px) {
    td.gtd {
        color: #8b0000;
        background-color: #fffaf0; /* tdの背景色を設定 */
        padding: 8px; /* セルの内側に余白を追加 */
        border-bottom: 1px dashed #ccc; /* 行の下部にダッシュボーダーを設定 */
        font-size: 0.7rem ;
    }

.akachouchintable, .washotable {
        width: 90%;
}

    td.akatd:first-child {
        width: 25%; 
        font-size: 0.7rem
}

    td.akatd:last-child {
        width: 50%; 
        font-size: 0.6rem
}

    td.ratd:first-child {
        width: 50%; 
        font-size: 0.7rem
}

    td.ratd:last-child {
        width: 50%; 
        font-size: 0.6rem
}

    .washotable .watd:first-child {
        width: 50%; 
        font-size: 0.7rem
}

    td.watd:last-child {
        width: 100%; 
}

}
