/* ベーススタイル */
body {
    font-family: 'Yu Mincho', 'Hiragino Mincho ProN', 'BIZ UDGothic', 'Meiryo', serif; /* 明朝体を優先し、代替フォントも指定 */
    line-height: 1.6;
    color: #333;
    background-color: rgb(245, 245, 245); /* 中立グレー背景色 */
    margin: 0;
    padding: 0;
}

.container {
    max-width: 960px;
    margin: 0 auto;
    padding: 20px;
}

/* ヘッダー */
.header {
    text-align: center;
    padding: 40px 0;
    background-color: #fff; /* ヘッダーは白背景 */
    border-bottom: 1px solid #eee;
}

.header .logo {
    max-width: 300px; /* ロゴのサイズ調整 */
    height: auto;
    margin-bottom: 20px;
}

.header .site-title {
    font-size: 2.5em; /* 大きめのタイトル */
    color: #004080; /* 深い青色 */
    margin-bottom: 5px;
}

.header .site-subtitle {
    font-size: 1.2em;
    color: #555;
    margin-top: 0;
}

/* メインコンテンツ */
.main-content {
    padding: 40px 0;
}

.section-title {
    font-size: 1.8em;
    color: #004080;
    border-bottom: 2px solid #004080; /* 下線で強調 */
    padding-bottom: 10px;
    margin-bottom: 30px;
    text-align: center; /* タイトルは中央寄せ */
}

.company-info,
.history,
.policy,
.organization-capital,
.publication-info,
.contact {
    background-color: #fff;
    padding: 30px;
    margin-bottom: 30px;
    border-radius: 8px; /* 角を丸くする */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* 影で立体感を出す */
}

.info-item {
    margin-bottom: 20px;
}

.info-item h3 {
    font-size: 1.3em;
    color: #0056b3; /* やや明るい青 */
    margin-bottom: 10px;
    border-left: 5px solid #0056b3; /* 左線で強調 */
    padding-left: 10px;
}

.info-item p,
.info-item ul {
    margin-left: 15px; /* インデント */
}

.info-item ul {
    list-style: none; /* デフォルトのリストスタイルをなくす */
    padding: 0;
}

.info-item ul li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 1.5em; /* カスタムマーカーのスペース */
}

.info-item ul li::before {
    content: '•'; /* カスタムマーカー */
    color: #0056b3;
    position: absolute;
    left: 0;
}


.hidden-content {
    display: none; /* このクラスが適用された要素は非表示になる */
}


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

.history ul li {
    margin-bottom: 15px;
    line-height: 1.8;
}

.history ul li strong {
    color: #004080;
}

.highlight {
    color: #c00; /* 強調したい部分の色 */
    font-weight: bold;
}

/* 連絡先 */
.contact {
    text-align: center;
}

.contact-icon {
    width: 80px;
    height: auto;
    margin-bottom: 20px;
}

.contact address {
    font-style: normal; /* 斜体を解除 */
    margin-top: 15px;
    font-size: 1.1em;
}

.contact a {
    color: #0056b3;
    text-decoration: none;
}

.contact a:hover {
    text-decoration: underline;
}

/* フッター */
.footer {
    text-align: center;
    padding: 20px 0;
    background-color: #6C6C6C;
    color: #fff;
    border-top: 1px solid #444;
}

.footer .home-link {
    display: inline-block;
    margin-bottom: 10px;
}

.footer .home-icon {
    width: 150px;
    height: auto;
}

.footer p {
    margin: 0;
    font-size: 0.9em;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
    .header .site-title {
        font-size: 2em;
    }

    .section-title {
        font-size: 1.5em;
    }

    .company-info,
    .history,
    .policy,
    .organization-capital,
    .publication-info,
    .contact {
        padding: 20px;
        margin-bottom: 20px;
    }

    .info-item h3 {
        font-size: 1.2em;
    }
}

@media (max-width: 480px) {
    .header .logo {
        max-width: 200px;
    }

    .header .site-title {
        font-size: 1.8em;
    }

    .header .site-subtitle {
        font-size: 1em;
    }

    .section-title {
        font-size: 1.3em;
    }

    .info-item h3 {
        font-size: 1.1em;
    }

    .info-item p,
    .info-item ul {
        font-size: 0.9em;
    }
}