
main {
    flex: 1;  /* コンテンツ部分が余白を埋める */
}
html, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
}


body {
    height: 100%; 
    max-width: 100%;
    padding-top: 70px; /* ヘッダーの高さと同じ */
    font-family: Arial, sans-serif;
    margin: 0;
    min-height: 100vh;

    /* background-color: #fff; */
    background-color: #f5f5f5;
    overflow-x: hidden;
    min-height: 100%;  /* 画面全体に対してコンテンツの高さを最小100%に */
}
/* ヘッダー全体 */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    background-color: #f5f5f5;
    color: #333;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: flex-start; /* 左寄せに変更 */
    height: 70px;
    padding: 0 10px;
    box-sizing: border-box;
  }
  
  /* ヘッダーの中身（画像＋タイトル） */
  .header-content {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* 左寄せ */
    gap: 10px;
  }
  
  /* タイトルの見た目 */
  header h1 {
    font-size: 24px;
    margin: 0;
  }
  
  /* 画像の大きさ */
  header img {
    width: 50px;
    height: auto;
  }


/* footer {
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    position: fixed;
    bottom: 0;
    width: 100%;
} */
footer {
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    position: relative;
    width: 100%;
    bottom: 0;
}

nav {
    display: flex;               /* 横並び */
    align-items: center;         /* 縦中央揃え */
    justify-content: flex-end;   /* 🔴 右寄せにする */
    gap: 20px;                   /* ナビゲーションの間隔 */
    flex-grow: 1;                /* 必要に応じて幅を調整 */
  }

nav a {
    color: #000;
    text-decoration: none;
    font-weight: bold;
    padding: 5px 10px;
}
section {
    /* padding: 20px; */
    /* margin: 10px; */
    background-color: #fff;
    /* text-align: center; */
}
h2 {
    border-bottom: 2px solid #fff;
    padding-bottom: 10px;
}

#comment h3{
    text-align: center;
}


.kigyourinen {
    width: 100%;
    min-height: 100vh; /* 最低でも1画面分の高さ */
}


#contact{
    /* background-image: url(midori.png); */
    background-color: #f5f5f5;
    padding-top: 30px;
    padding-bottom: 30px;
}


#syatyo {
    text-align: right;  /* 右寄せ */
    padding-right: 37%; /* 右に余白を追加して調整 */
    font-weight: bold; /* 文字を太くする */

}
.inner {
    text-align: center; /* 親要素の中で中央配置 */
    border: 1px solid #333;
}

.text-block {
    display: inline-block; /* ブロック要素を中央に */
    text-align: left; /* 内部のテキストは左揃え */
    
}

#comment {
    border: 1px solid #333; /* ボーダーの太さ、スタイル、色 */
    padding: 3px; /* 内側の余白 */
    margin: 0px 0; /* 外側の余白 */
    
}
.nav4 {
    background-color: #ff6600; /* 背景色（オレンジ） */
    color: #fff; /* 文字色（白） */
    padding: 8px 15px; /* 内側の余白 */
    border-radius: 20px; /* 丸みを強調（楕円形） */
    font-weight: bold; /* 太字 */
    text-align: center; /* テキスト中央寄せ */
    transition: background-color 0.3s ease; /* ホバー時のアニメーション */
}

/* ホバー時のスタイル */
.nav4:hover {
    background-color: #cc5500; /* 濃いオレンジ */
}

.hamburger-menu {
    display: none;
}

/* ...既存のコード... */

@media screen and (max-width: 855px) {
    body {
        padding-top: 0;
    }
    header {
        position: relative;
        height: 70px;
        margin-top: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 10px;
        box-sizing: border-box;
    }
       .header-content {
        display: flex;
        align-items: center;
        gap: 10px;
        height: 70px;
        margin-top: 0;
        flex: 1;
        position: relative; /* 追加 */
        justify-content: flex-start; /* 追加 */
    }
    .hamburger-menu {
        display: block;
        font-size: 30px;
        cursor: pointer;
        position: static;
        margin-right: 10px;
        z-index: 200;
        order: 1;
    }
    #title {
        font-size: 20px;
        margin: 0 10px 0 0;
        order: 2;
        white-space: nowrap;
    }
    header img {
        width: 40px;
        height: auto;
        order: 3;
    }
      .nav4 {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        margin: 0;
        min-width: 80px;
        max-width: 120px;
        padding: 6px 10px;
        font-size: 14px;
        border-radius: 16px;
        text-align: center;
        width: auto;
        box-sizing: border-box;
    }
    nav {
        display: none;
    }
    nav.active {
        display: flex;
        flex-direction: column;
        align-items: center;
        background-color: #f5f5f5;
        position: absolute;
        top: 70px;
        left: 0;
        width: 100%;
        z-index: 150;
    }
    nav a:not(.nav4) {
        width: 100%;
        text-align: center;
        padding: 15px 0;
        border-bottom: 1px solid #eee;
    }
     p {
    font-size: 14px;
  }

}
