/* --- 1. 全サイズ共通の基本設定 (Mobile First) --- */
body {
    margin: 0;
    padding: 0;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #292929;
    line-height: 1.6;
}

.headerImage img {
    width: 100%;
    height: auto;
    display: block;
}

/* 店舗写真（tenpo.jpg）を画面幅に連動させる */
.secondImage img {
    width: 100%;       /* 画面が狭いときは幅いっぱいに広がる */
    max-width: 600px;  /* パソコンで見るときは、地図と同じ600pxを上限にする */
    height: auto;      /* 縦横比を保ったまま縮小する */
    display: block;
    margin: 20px auto; /* 上下に余白を空け、左右中央に配置 */
}

.main {
    width: 100%;
}

.content {
    width: 94%;
    margin: 0 auto;
}

/* 見出しのデザイン */
.h2 h2 {
    background-color: #ffffff;
    background-image: url(green.png);
    background-repeat: repeat-x;
    border: solid 1px #056f25;
    font-size: 1.1em;
    padding: 10px 5px;
    margin: 20px 0;
    border-radius: 4px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}

.omoi {
    font-weight: bold;
    margin-bottom: 15px;
}

ul.info-list {
    margin-bottom: 20px;
    padding-left: 20px;
}

ul.info-list li {
    margin-bottom: 10px;
}

/* 営業時間のテーブル設定 */
table {
    width: 100%;
    max-width: 500px;
    margin: 20px auto 50px;
    border-collapse: collapse;
    border: 1px solid #292929;
    font-size: 16px;
}

th, td {
    border: 1px solid #292929;
    padding: 12px 10px;
    text-align: center;
    vertical-align: middle;
}

th {
    background-color: bisque;
}

/* 提案いただいた午前・午後の中央揃えレイアウト */
.time-block .label {
    display: inline-block;
    font-size: 0.8em;
    font-weight: bold;
    color: #056f25;
    background-color: #e6f4ea;
    padding: 2px 8px;
    border-radius: 4px;
    margin-bottom: 4px;
}

.time-block .time {
    font-size: 1.1em;
    font-weight: bold;
}

.time-separator {
    width: 50%;
    margin: 8px auto;
    border-bottom: 1px dotted #ccc;
}

/* サイドバー（スマホでは下へ） */
.side {
    display: none;    /* ←ここに追加！ */
    width: 94%;
    margin: 20px auto;
    font-size: 14px;
    text-align: center;
}

a {
    color: blue;
    text-decoration: none;
    line-height: 3;
}

/* --- イラスト（PNG）のサイズ調整用 --- */
.flex {
    display: flex;
    align-items: flex-start; /* 文章が長い場合を考えて、上揃えにします */
    margin-bottom: 15px;    /* 項目ごとの隙間 */
}

.flex img {
    width: 80px;            /* ここでイラストの大きさを決めます（お好みで80pxなど） */
    height: auto;
    margin-right: 15px;     /* イラストと文章の間の隙間 */
    flex-shrink: 0;         /* 画面が狭くなってもイラストが潰れないように固定 */
}

/* リンクメニューを一行・中央揃えにする設定 */
.menu {
    list-style: none;        /* 黒丸（ドット）を消す */
    padding: 0;              /* 左側の余分な余白を消す */
    margin: 30px auto;       /* 上下に余白を作り、中央に寄せる */
    display: flex;           /* 横並びにする */
    justify-content: center;  /* 項目を中央に揃える */
    flex-wrap: wrap;         /* 画面が狭いときに自動で折り返して崩れを防ぐ */
}

.menu li {
    margin: 5px 10px;        /* 項目間の間隔を空ける（左右に20pxずつ） */
}

.menu li a {
    text-decoration: none;   /* リンクの下線を消す（お好みで） */
    white-space: nowrap;     /* 文字が途中で改行されないようにする */
    font-size: 16px;         /* 読みやすいサイズに調整 */
}

/* --- 2. タブレット・PC向け設定 (768px以上) --- */
@media screen and (min-width: 768px) {
    .main {
        display: flex;
        justify-content: space-between;
        max-width: 1024px;
        margin: 0 auto;
    }

    .content {
        width: 72%;
        margin: 2%;
    }

    .menu {
        display: none; 
    }

    .side {
        display: block;  /* ←ここに追加！ これでPCでは見えるようになります */
        width: 22%;
        margin: 40px 2% 20px;
        padding: 15px;
        background-color: rgb(255, 223, 248);
        border: outset 5px #ffa5e9;
        border-radius: 10px;
        text-align: left;
    }
    
    table {
        font-size: 18px;
    }
}