body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}

header {
    background-color: #333;
    color: white;
    display: flex;
    justify-content: space-between;
    padding: 10px;
}

footer {
    background-color: #2c3e50; /* ダークな背景色 */
    color: #ecf0f1; /* 明るいテキストカラー */
    padding: 40px 20px; /* 余白を増やす */
    text-align: center;
    font-size: 14px; /* テキストサイズを調整 */
}

.footer-content p {
    margin: 10px 0; /* 余白の調整 */
}

.footer-nav ul {
    list-style-type: none;
    padding: 0;
    margin: 20px 0; /* 上下の余白を追加 */
}

.footer-nav li {
    margin: 10px 0; /* 各リンクの間隔 */
}

.footer-nav a {
    color: #ecf0f1;
    text-decoration: none;
    padding: 5px 10px; /* パディングを調整 */
    transition: color 0.3s; /* 色の変更にトランジションを追加 */
}

.footer-nav a:hover {
    color: #f39c12; /* ホバー時の色を変更 */
}


/* ロゴのスタイル設定 */
.logo img {
    height: 90px; /* ロゴの高さを設定 */
}

/* ナビゲーションバーのスタイル調整 */
.navbar ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center; /* 中央揃えにする */
    height: 90px; /* ロゴの高さに合わせる */
}

.navbar li {
    margin: 0 10px;
    display: flex;
    align-items: center; /* 中央揃えにする */
}

.navbar a {
    color: white;
    text-decoration: none;
    padding: 10px 15px; /* パディングを調整 */
}
.navbar a:hover {
    color: gold; /* ホバー時の色を金色に設定 */
}


.hamburger {
    display: none;
    cursor: pointer;
}

.hamburger .line {
    width: 25px;
    height: 3px;
    background-color: white;
    margin: 5px;
}

.main-image img {
    width: 100%;
    height: auto;
}

.main-image video {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.h2-class h2 {
    margin-bottom: 0px;
    text-align: center;
}

.services {
    display: flex;
    justify-content: space-around;
    padding: 20px;
}

.service {
    text-align: center;
    padding: 10px;
}

.news {
    background-color: #f0f0f0;
    padding: 20px;
}

.news li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 2px dashed #ccc; /* 点線の下線を追加 */
}


.news li {
    margin-bottom: 10px;
}

.service {
    text-align: center;
    padding: 10px;
    text-decoration: none;
    color: black;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* アニメーションの追加 */
}

.service:hover {
    transform: scale(1.05); /* 少し大きくする */
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* 影を追加 */
}


.service img {
    max-width: 100%;
    height: auto;
}

.service h3 {
    margin: 10px 0;
}

.service p {
    margin-bottom: 10px;
}

.company-info {
    width: 80%;
    margin: 0 auto;
    padding: 20px;
}

.company-info h1 {
    text-align: center;
    margin-bottom: 20px;
}

.company-info table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.company-info th, .company-info td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

.company-info th {
    background-color: #f2f2f2;
}

.contact {
    width: 80%;
    margin: 0 auto;
    padding: 20px;
    text-align: center;
}

.contact h1 {
    margin-bottom: 20px;
}

.google-form-link {
    display: inline-block;
    padding: 10px 20px;
    background-color: #4285f4;
    color: white;
    text-decoration: none;
    border-radius: 5px;
}

.google-form-link:hover {
    background-color: #357ae8;
}

.nav-icon {
    height: 20px; /* アイコンの高さを設定 */
    width: 20px; /* アイコンの幅を設定 */
    margin-right: 5px; /* テキストとの間隔 */
    vertical-align: middle; /* テキストと垂直方向の中央揃え */
}

.product-header {
    background-color: #f0f0f0;
    padding: 20px;
    text-align: center;
}

.product-header h1 {
    margin: 0;
    color: #333;
}

.product-list {
    padding: 20px;
}

.product-item {
    display: flex;
    flex-wrap: wrap; /* コンテンツが折り返すように設定 */
    align-items: flex-start; /* 項目を上揃えにする */
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.product-item h2 {
    width: 100%; /* 製品名をフル幅にする */
    font-size: 24px; /* フォントサイズを大きく */
    font-weight: bold; /* フォントを太く */
    color: #ffffff; /* 文字色を白に */
    padding: 10px 20px; /* 内側の余白 */
    background-image: linear-gradient(to right, #3498db, #9b59b6); /* グラデーション背景 */
    border-radius: 10px; /* 角を丸く */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* 影をつける */
    text-align: center; /* テキストを中央揃えに */
    margin: 20px 0; /* 上下の余白 */
}

.product-image {
    flex-basis: 30%; /* 画像の領域を設定 */
    max-width: 100%;
    height: auto;
    margin-right: 20px; /* 右の余白を増やす */
}

.product-item p {
    background-color: #ecf0f1; /* 背景色 */
    padding: 15px; /* 内側の余白 */
    border-radius: 5px; /* 角の丸み */
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); /* 影をつける */
    margin-bottom: 10px; /* 下の余白 */
    line-height: 1.6; /* 行間を広げる */
}

/* 公式サイトリンクのスタイル */
a.official-site-link {
    display: inline-block;
    background-image: linear-gradient(45deg, #6a11cb 0%, #2575fc 100%);
    color: white;
    padding: 10px 20px;
    border-radius: 25px; /* 丸みを帯びたボーダー */
    text-decoration: none; /* アンダーラインを除去 */
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-top: 10px; /* 上の余白を追加 */
}

/* 公式サイトリンクのホバー効果 */
a.official-site-link:hover {
    transform: translateY(-2px); /* ホバー時に少し上に移動 */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); /* 影を強調 */
}

/* 公式サイトリンクに矢印アイコンを追加 */
a.official-site-link:before {
    content: "➡︎➡︎➡︎"; /* 矢印アイコン */
    display: inline-block;
    margin-right: 10px; /* アイコンとテキストの間隔 */
    color: white; /* アイコンの色 */
    /* 必要に応じてサイズや色を調整 */
}

/* 現在準備中リンクのスタイル */
a.preparing-link {
    display: inline-block;
    background-color: #cccccc; /* グレーを背景色として設定 */
    color: #666666; /* 文字色をダークグレーに */
    padding: 10px 20px;
    border-radius: 25px;
    text-decoration: none;
    transition: background-color 0.3s, box-shadow 0.3s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-top: 10px;
    cursor: not-allowed; /* カーソルを禁止マークに */
}

/* 現在準備中リンクのホバー効果 */
a.preparing-link:hover {
    background-color: #bbbbbb; /* ホバー時に背景色を少し明るく */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* 影を強調 */
}

/* レスポンシブ対応 */
@media (max-width: 600px) {
    .navbar {
        display: none; /* 初期状態では非表示 */
        position: fixed; /* 位置を固定 */
        top: 0; /* トップから */
        right: 0; /* 右から */
        height: 100vh; /* 画面の高さ全体 */
        width: 100%; /* 幅全体 */
        background-color: rgba(0, 0, 0, 0.9); /* 半透明の背景 */
        z-index: 1000; /* 他の要素より前面に */
        flex-direction: column; /* 項目を縦に並べる */
        justify-content: center; /* 中央揃え */
        align-items: center; /* 中央揃え */
    }

    .navbar ul {
        flex-direction: column;
    }

    .navbar li {
        text-align: center;
        padding: 20px 0;
    }

    .hamburger {
        display: block;
        z-index: 1001; /* ハンバーガーメニューを最前面に */
    }

    .logo img {
        height: 50px; /* ロゴの高さを調整 */
    }

    header {
        align-items: center;
    }

    .product-item {
        flex-direction: column; /* 小さな画面では縦並びにする */
        align-items: flex-start; /* 項目を左揃えにする */
    }

    .product-item h2,
    .product-image,
    .product-item p {
        flex-basis: auto; /* 幅を自動調整にする */
        margin-right: 0; /* 余白をリセット */
    }
    .product-item h2 {
        width: auto; /* スマホ表示では幅を自動調整 */
    }
}

.hamburger.open .line:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.hamburger.open .line:nth-child(2) {
    opacity: 0;
}

.hamburger.open .line:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

