﻿@charset "UTF-8";

/* =========================================
   1. ベーススタイル・共通設定
   ========================================= */

/* body設定 */
body {
    background-color: #ffffff;
    line-height: 1.6;
}

/* リンク */
a {
    color: #0066cc;
    text-decoration: none;
    transition: opacity 0.3s;
}

    a:hover {
        opacity: 0.7;
    }

/* 画像 */
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* メインコンテナ */
.container {
    max-width: 960px;
    margin: 0 auto;
    padding: 20px;
}

/* 区切り線 */
.section-divider {
    border: 0;
    border-top: 1px solid #eee;
    margin: 60px 0;
}

.common-main-title {
    /* --- 基本デザイン設定 --- */
    text-align: center;
    background-color: #eef2fa;
    padding: 30px 0;
    margin-bottom: 40px;
    border-radius: 0;
    /* 1. 幅は「画面幅(100vw)」ではなく「親要素なりゆき」にする */
    width: auto;
    /* 2. 親要素(.container)のpadding(20px)分だけ左右に広げて、隙間を埋める */
    /* ※もし.containerのpaddingを変えたら、ここも合わせて変えてください */
    margin-left: -20px;
    margin-right: -20px;
    /* 3. 「影」を使って、背景色だけを画面の端まで無限に広げる */
    /* ※box-shadowはレイアウト幅に含まれないため、スクロールバーが出ません */
    box-shadow: 0 0 0 100vmax #eef2fa;
    /* 4. 上下に影がはみ出すのを防ぐ（左右だけ広げる設定） */
    clip-path: inset(0 -100vmax);
    /* --- 以前の記述（悪さをしていた設定）を念のためリセット --- */
    position: static;
    left: auto;
    right: auto;
}

    .common-main-title h2 {
        margin: 0;
        font-size: 28px;
        max-width: 960px;
        margin-left: auto;
        margin-right: auto;
        padding: 0 20px;
        border-left: none;
    }

    .common-main-title span {
        color: #0052cc;
    }

.page-header {
    background-color: #eef2fa;
    padding: 15px;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 40px;
}

h2 {
    font-size: 18px;
    padding-left: 10px;
    margin-bottom: 20px;
    margin-top: 40px;
}

.sub-heading-box {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    background-color: #eef6fc;
    padding: 12px 15px;
    border-left: 5px solid #003366;
}

/* =========================================
    ボタン・リンク
    ========================================= */
.dotted-btn {
    display: inline-block;
    background-color: #004ea2;
    border-radius: 50px;
    color: #ffffff;
    padding: 15px 20px;
    text-align: left;
    font-size: 14px;
    position: relative;
    font-weight: bold;
    text-decoration: none !important;
    box-sizing: border-box;
    margin-bottom: 10px;
    padding-left: 30px;
}

    .dotted-btn::before {
        content: "▶";
        position: absolute;
        left: 15px;
        color: #ffffff;
        font-size: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    .dotted-btn:hover {
        background-color: #0073ef;
        opacity: 1;
        text-decoration: none;
    }

    .dotted-btn .arrow a {
        position: relative;
    }

        .dotted-btn .arrow a:after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            left: 25px;
            margin-top: -2px;
            width: 4px;
            height: 4px;
            border-top: 2px solid #ffffff;
            border-right: 2px solid #ffffff;
            transform: rotate(45deg);
        }

.main-dotted-btn {
    display: inline-block;
    background-color: #eef6fc;
    border: 2px dotted #003366;
    color: #333;
    padding: 15px 40px;
    border-radius: 4px;
    font-weight: bold;
    text-decoration: none !important;
    min-width: 250px;
}

    .main-dotted-btn::before {
        content: "▶ ";
        font-size: 12px;
        margin-right: 5px;
    }

    .main-dotted-btn:hover {
        background-color: #dfebf7;
        opacity: 1;
    }

/* =========================================
    テーブル・注釈
    ========================================= */
table {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    border-collapse: collapse;
    font-size: 14px;
}

th,
td {
    padding: 10px;
    text-align: center;
}

th {
    border: 1px solid #ffff;
    background-color: #dae8f5;
    color: #333;
    font-weight: normal;
}

td {
    border: 1px solid #9a9a9a;
    color: #555;
}

.annotation {
    font-size: 12px;
    color: #666;
    margin-top: 10px;
    width: 100%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

    .annotation a {
        color: #0066cc;
        text-decoration: underline;
    }

/* =========================================
    ページ内リンクメニュー
    ========================================= */
.internal-list02 {
    margin: 20px 0 40px 0;
}

    .internal-list02 ul {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .internal-list02 li {
        margin: 0 15px;
    }

        .internal-list02 li a {
            color: #0066cc;
            text-decoration: underline;
            font-size: 16px;
        }

            .internal-list02 li a:hover {
                text-decoration: none;
                color: #003366;
            }

/* =========================================
    各事業セクション
    ========================================= */
.main-header {
    background-color: #eef2fa;
    padding: 30px;
    text-align: center;
    border-radius: 5px;
    margin-bottom: 30px;
}

    .main-header h1 {
        color: #003366;
        margin: 0;
        font-size: 28px;
    }

        .main-header h1 span {
            color: #0052cc;
        }

.header-desc {
    max-width: 860px;
    margin: 0 auto 20px auto;
    line-height: 1.8;
}

.chart-section {
    text-align: center;
    margin: 0 auto 60px;
    max-width: 680px; 
    width: 100%; /* 画面幅が300px以下のスマホなどでは、画面に合わせて縮小させる */
}

    .chart-section img {
        max-width: 100%; /* 枠（最大800px）からはみ出さないように制限 */
        height: auto; /* 縦横比を崩さずに縮小させる */
    }
.business-section {
    display: flex;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    align-items: flex-start;
}

.text-col {
    flex: 1;
    padding-right: 20px;
}

.img-col {
    flex: 1;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

    .img-col img {
        width: 100%;
        max-width: 200px;
        height: 150px;
        object-fit: cover;
        border-radius: 4px;
        border: 1px solid #eee;
    }

.section-label {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 20px;
    color: #333;
    font-weight: bold;
    border-radius: 10px;
    margin-bottom: 15px;
    font-size: 1.3rem;
    border: 1.5px solid #000;
    text-align: center;
}
.subtitle {
    text-align: center;
    font-weight: bold;
    font-size: 0.9rem;
}

.section-desc {
    font-size: 14px;
    margin: 0;
    text-align: justify;
    padding-left: 5px;
}
/*各事業にリンクをつける*/
/* リンク全体のスタイル */
a.business-link-box {
    display: flex; /* 横並びレイアウトを維持 */
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    text-decoration: none !important; /* 下線を消す */
    color: inherit; /* 文字色を親要素から継承 */
    transition: opacity 0.3s;
}
    /* マウスオーバー時の挙動 */
    a.business-link-box:hover {
        opacity: 0.7;
    }

/* 既存CSSとの兼ね合い調整 */
.business-link-box .text-col {
    flex: 1;
}

.business-link-box .img-col {
    flex-basis: 45%;
    display: flex;
    justify-content: space-between;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    a.business-link-box {
        display: block;
    }

    .business-link-box .img-col {
        margin-top: 15px;
        width: 100%;
    }
}

/* 色設定クラス */
.color-blue {
    background-color: #AED4E6;
}

.color-yellow {
    background-color: #FFF3B0;
}

.color-green {
    background-color: #99D1A9;
}

.color-pink {
    background-color: #FFC0CB;
}

.color-yellow2 {
    background-color: #F4A900;
}

.color-orange {
    background-color: #FFD3A3;
}

.color-grey {
    background-color: #DCDCDC;
}

/* =========================================
    強み・戦略・メリット
    ========================================= */
.strength-intro {
    font-size: 14px;
    margin-bottom: 40px;
    text-align: left;
}

.strength-block {
    margin-bottom: 50px;
}

.strength-header {
    background-color: #e1eff9;
    padding: 10px 15px;
    font-weight: bold;
    font-size: 18px;
    border-radius: 4px;
    margin-bottom: 15px;
}

.strength-desc {
    margin-bottom: 20px;
}

.strength-1-content {
    display: flex;
    align-items: center;
    gap: 30px;
}

.model-buttons {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 40px;
}

.strength-1-content img {
    width: 350px;
    height: auto;
    max-width: 100%;
}

.strength-2-images {
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: flex-start;
}

.photo-item {
    width: auto;
    text-align: left;
    margin-top: 30px;
}

    .photo-item img {
        width: 350px;
        max-width: 100%;
        height: auto;
        border-radius: 4px;
        margin-bottom: 8px;
        margin: 0;
        display: block;
    }

.photo-caption {
    font-size: 12px;
    margin-top: 5px;
    display: block;
    line-height: 1.5;
}

.strength-3-action {
    text-align: left;
    margin-top: 20px;
    margin-left:80px;
}

/* スマホ用の設定（画面幅768px以下の場合） */
@media (max-width: 768px) {
    .strength-2-images {
        align-items: center; /* Flexboxの子要素（画像枠）を中央揃え */
    }

    /* 画像を囲む枠：キャプションも含めて中央寄せ */
    .photo-item {
        text-align: center;
        width: 100%; /* 幅を確保して中央寄せを有効にする */
    }

        /* 画像本体：ブロック要素として中央配置 */
        .photo-item img {
            margin-left: auto;
            margin-right: auto;
        }
    .strength-3-action {
        margin-left: 0; /* 左の余白をなくす */
        text-align: left; /* スマホなら真ん中に置くのが一般的（お好みで） */
    }
}

/* 経営戦略 */
.strategy-block {
    margin-bottom: 50px;
}

.strategy-desc {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 30px;
}

.chart-map-container {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.chart-img {
    width: 100%;
    height: auto;
    display: block;
}

.wao-link-overlay {
    position: absolute;
    display: block;
    z-index: 10;
    cursor: pointer;
    top: 32%;
    left: 55%;
    width: 40%;
    height: 5%;
    background-color: rgba(255, 255, 255, 0);
    box-sizing: border-box; /* 枠線をサイズの内側に含める（ズレ防止） */
    border: 2px solid transparent; /* 全体に透明な2pxの枠線をあらかじめ引いておく */
    border-bottom: 2px solid #000; /* 下辺だけ黒い2pxの線を引く */
}

    .wao-link-overlay:hover {
        background-color: rgba(255, 255, 255, 0.4);
        border: 2px solid #000;
    }

.strategy-buttons {
    display: flex;
    justify-content: flex-start;
    gap: 15px;
    margin-left:60px;
    margin-top: 20px;
    margin-bottom: 50px;
}

/* スマホ用の設定（画面幅768px以下の場合） */
@media (max-width: 768px) {
    .strategy-buttons {
        margin-left: 0; /* 左の余白をなくす */
        justify-content: flex-start; /* スマホならボタンを「中央寄せ」にする */
        /* もしボタンを「縦並び」にしたい場合は以下2行のコメントアウトを外してください */
        flex-direction: column;
        align-items: center;
    }
}
/* メリット */
.merit-list {
    display: flex;
    gap: 30px;
    justify-content: center;
}

.merit-card {
    /* --- レイアウト設定 --- */
    flex: 1;
    width: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    /* --- デザイン設定 --- */
    background-color: #eef6fc;
    border-radius: 20px;
    padding: 30px 20px 20px 20px;
    text-align: center;
    /* --- リンクボタン化のための追加設定 --- */
    text-decoration: none; /* リンクの下線を消す */
    color: inherit; /* 文字色を継承（青くならないように） */
    transition: opacity 0.3s, background-color 0.3s; /* ホバー時の動き */
    box-sizing: border-box; /* パディングを含めたサイズ計算 */
    height: 100%; /* 高さを揃える */
}

    /* ホバー時の設定（merit-link-btn:hover の代わり） */
    .merit-card:hover {
        background-color: #dcebf7; /* 少し濃い色にする */
        opacity: 0.9;
    }

.merit-badge {
    background-color: #5a9bd5;
    color: #fff;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 15px;
    margin-top: -10px;
}

.merit-title {
    color: #5a9bd5;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}

.merit-img {
    width: 240px; 
    max-width: 100%; /* カード幅より大きくならないようにする保険 */
    height: 160px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
}

@media screen and (max-width: 768px) {
    .merit-img {
        width: 100%; /* スマホではカードの幅いっぱいに広げる */
        height: auto; /* 高さはなりゆき（必要ならpx指定でもOK） */
        max-width: none; /* 固定幅の制限を解除 */
    }
}

.merit-desc {
    margin-bottom: 20px;
    flex-grow: 1;
    text-align: center;
    color:#555555
}


/* =========================================
   レスポンシブ対応
   ========================================= */
@media (max-width: 768px) {
    table {
        width: 100%;
    }

    .business-section {
        flex-direction: column;
    }

    .text-col {
        padding-right: 0;
        margin-bottom: 15px;
    }

    .img-col {
        width: 100%;
        justify-content: space-between;
    }

        .img-col img {
            max-width: 48%;
        }

    .internal-list02 ul {
        flex-direction: column;
        align-items: center;
    }

    .internal-list02 li {
        margin: 10px 0;
    }

    .strength-1-content {
        flex-direction: column;
    }

    .model-buttons {
        width: 100%;
    }

    .strength-2-images {
        display: flex;
        flex-direction: column;
    }

    .strength-3-images {
        flex-direction: column;
    }

    .strategy-buttons {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

        .strategy-buttons .dotted-btn {
            width: 100%;
            max-width: 350px;
            text-align: center;
        }

    .merit-list {
        flex-direction: column;
        gap: 20px;
    }

    .merit-card {
        width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 600px) {
    .container {
        padding: 10px;
    }
}

/* =========================================
   ヘッダー表示不具合の修正パッチ
   ========================================= */

/* ヘッダーロゴ（#headerIdentity内の画像）の強制リセット */
#headerIdentity img {
    width: auto !important; /* 幅を自動調整に戻す */
    height: 45px !important; /* HTMLのheight="45"を強制適用 */
    max-width: none !important; /* レスポンシブ制限を解除 */
    vertical-align: middle !important; /* 位置合わせ */
}

/* =========================================
   フッター用の追加CSS
   ========================================= */
.ir-footer {
    background-color: #f2f2f2;
    /* 上40px、右20px、下80px(広め)、左20px(標準に戻す) */
    padding: 40px 20px 80px 60px;
    box-sizing: border-box;
    width: 100%;
}

/* スマホ（画面幅767px以下）の時だけ、.ir-footer を非表示にする */
@media screen and (max-width: 767px) {
    .ir-footer {
        display: none;
    }
}

/* タイトル */
.footer-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 40px;
    font-weight: normal;
    position: relative; /* 現在の位置を基準にする */
    left: -25px; /* マイナス指定で「左」へ25pxずらす */
}

/* 2. リスト部分を囲むコンテナ（左の余白はここで確保） */
.sitemap-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    gap: 40px;
    /* ★ここに追加：リスト全体に対する左の余白 */
    padding-left: 120px;
    /* paddingを含めて幅計算させてレイアウト崩れを防ぐ */
    box-sizing: border-box;
}

/* 各列の幅設定 */
.sitemap-column {
    flex: 1; /* 均等に幅を分ける */
    min-width: 200px; /* 最小幅 */
}

    /* 見出し（dt）のデザイン */
    .sitemap-column dt {
        font-size: 18px;
        margin-bottom: 20px;
        border-bottom: 1px solid transparent; /* デザイン調整用 */
    }

    /* リスト部分の余白リセット */
    .sitemap-column dd ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    /* 各リンク項目のデザイン */
    .sitemap-column dd li {
        margin-bottom: 10px;
        font-size: 14px;
        line-height: 1.5;
        position: relative;
        padding-left: 1em; /* アイコン分のインデント */
    }

        /* 「◆」アイコンをCSSで擬似的に追加 */
        .sitemap-column dd li::before {
            content: "◆";
            position: absolute;
            left: 0;
            top: 0;
            font-size: 10px; /* アイコンのサイズ */
            color: #333; /* アイコンの色 */
        }

    /* リンクのスタイル */
    .sitemap-column dd a {
        text-decoration: none;
        color: #333;
        transition: opacity 0.3s;
    }
        }
.sitemap-column dd a:hover {
    opacity: 0.7;
    text-decoration: underline;
}


    /* 見出し（dt）の中にあるリンクのデザインをリセット */
    .sitemap-column dt a {
        color: #333;           /* 文字色を黒（濃いグレー）にする */
        text-decoration: none; /* 下線を消す */
    }

        /* （任意）マウスを乗せたときだけ変化させたい場合 */
        /* クリックさせたい場合は pointer-events: none; を消して以下を使ってください */
        .sitemap-column dt a:hover {
            opacity: 0.7;
            text-decoration: underline;
        }

    /* ループ内のリンク（txtDecoTyp01）への干渉を防ぐ */
    /* 既存サイトの矢印アイコンなどが出ないように調整 */
    .sitemap-column dd li a.txtDecoTyp01 {
        background: none !important; /* 背景画像（矢印など）があれば消す */
        padding-left: 0 !important; /* 変な余白があれば消す */
    }

/* =========================================
   グリッドシステム（2行2列レイアウト用）
   ========================================= */
/* 行（横並びのコンテナ） */
.grid-row {
    display: flex; /* 横並びにする指定 */
    gap: 20px; /* 要素間の隙間 */
    align-items: flex-start; /* 上端揃え */
    margin-bottom: 30px; /* 下の行との余白 */
}

    /* 最後の行は下の余白をなくす */
    .grid-row:last-child {
        margin-bottom: 0;
    }

/* 列（各要素の枠） */
.grid-col {
    flex: 1; /* 均等な幅に広げる指定 */
    width: 100%; /* 中身がはみ出さないように */
    box-sizing: border-box; /* 線の太さを幅に含める */
}

    /* =========================================
   画像・キャプション
   ========================================= */
    /* 画像をレスポンシブ（枠に合わせて縮小）にする */
    .grid-col img,
    .photo-item img,
    .graph-image {
        height: auto;
        display: block;
        width: auto;
        max-width: 100%;
        height: auto;
        border-radius: 4px;
        margin-bottom: 8px;
        margin: 0;
    }

/* キャプション（写真の説明文） */
.photo-caption {
    margin-top: 8px;
    font-size: 0.85em;
    text-align: center;
    line-height: 1.4;
}
/* キャプション（表の説明文） */
.table-caption {
    margin-top: 8px;
    font-size: 1.1em;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
}

/* =========================================
   スマホ対応（レスポンシブ）
   ========================================= */
@media screen and (max-width: 768px) {
    .grid-row {
        flex-direction: column; /* 画面が狭いときは縦並びにする */
        gap: 30px;
    }
}
/* 全体の枠 */
/* 全体の枠：基準サイズを小さく設定 */
.comparison-section {
    font-size: 12px; /* ★ここを基準に全体が縮小されます（標準は16px程度） */
    max-width: 500px; /* 幅も少しスリムに */
    margin: 0 auto;
}

/* 各項目のブロック */
.comp-item {
    margin-bottom: 0; /* 余白を少し詰める */
}

/* タイトル（◆付き） */
.comp-title {
    font-weight: bold;
    font-size: 1.1em; /* 少し控えめに */
    margin: 0 0 0 0;
    color: #000;
}

/* 説明文（小文字） */
.comp-desc {
    font-size: 0.85em; /* さらに小さく */
    color: #666;
    margin: 0 0 0 0;
}

/* ボックスを並べるエリア */
.comp-row {
    display: flex;
    align-items: flex-end;
    gap: 4px; /* 隙間も少し詰める */
}

/* 各都市のボックス共通設定 */
.city-box {
    flex: 1;
    text-align: center;
}

/* ボックスの上部（県名・都名） */
.box-head {
    color: #fff;
    padding: 4px 0; /* 高さを少し低く */
    font-weight: bold;
    font-size: 0.9em;
}

/* ボックスの下部（数値） */
.box-body {
    background-color: #fff;
    padding: 6px 0; /* 高さを少し低く */
    font-size: 1.3em; /* 数字は読みやすく少し強調 */
}

/* --- 愛知県（赤） --- */
.aichi .box-head {
    background-color: #cc0000;
}

.aichi .box-body {
    border: 2px solid #cc0000;
    border-top: none;
}

/* --- 東京都（青） --- */
.tokyo .box-head {
    background-color: #4a6cb7;
}

.tokyo .box-body {
    border: 2px solid #4a6cb7;
    border-top: none;
}

/* --- 大阪府（緑） --- */
.osaka .box-head {
    background-color: #008060;
}

.osaka .box-body {
    border: 2px solid #008060;
    border-top: none;
}

/* VSの文字 */
.vs-text {
    font-size: 1.0em; /* VSも小さく */
    font-weight: bold;
    padding: 0 2px 12px 2px;
    color: #333;
}

/* 出典（右下） */
.source-text {
    text-align: right;
    font-size: 0.6rem; 
    margin-top: 3px;
    line-height: 1.2;
}
@media screen and (max-width: 768px) {
    .grid-row {
        flex-direction: column;
        gap: 20px;
    }

    /* 2. カラムの幅を画面いっぱい（100%）にする */
    .grid-col {
        width: 100%;
        margin-bottom: 20px; /* 要素ごとの間隔 */
    }

    /* 3. 表の文字を少し小さくして収まりやすくする */
    .leftHandedTableSet table {
        font-size: 12px;
    }

    .leftHandedTableSet th, .leftHandedTableSet td {
        padding: 6px 3px; /* 余白も詰める */
    }

    /* 4. 比較グラフの「VS」の文字などを調整 */
    .vs-text {
        font-size: 0.8em;
        padding: 0 2px 8px 2px;
    }

    .box-body {
        font-size: 1.0em; /* 数字を少し小さく */
    }
}

/* 強み③：左右並列レイアウト */
.strength-3-images {
    display: flex;
    gap: 30px;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 20px;
}

.strength-3-item {
    flex: 1;
    width: 48%;
    border: 1px solid #ccc;
}

    .strength-3-item img {
        width: 100%;
        height: auto;
    }

.strength-3-caption {
    font-size: 12px;
    text-align: right;
    color: #666;
    margin-top: 5px;
}

@media screen and (max-width: 768px) {
    /* コンテナを縦並びに変更 */
    .strength-3-images {
        display: flex;
        flex-direction: column; /* 縦方向に並べる */
        gap: 20px; /* 画像同士の間隔 */
        align-items: center; /* 中央揃え（お好みで） */
    }

    /* 各アイテムの幅を画面いっぱいに */
    .strength-3-item {
        width: 100%; /* 48%から100%へ変更 */
        flex: none; /* flexの自動調整を解除 */
    }
}
@media (max-width: 600px) {
    /* 既存の設定（コンテナの余白が10pxになっている） */
    .container {
        padding: 10px;
    }

    /* ★追加：タイトルの食い込み幅も10pxに合わせる */
    .common-main-title {
        margin-left: -10px;
        margin-right: -10px;
    }
}

/* PC画面の基本スタイル：spanをブロックにして「改行させる」 */
.text-block {
    display: block;
}

/* スマホ画面（例：768px以下）のスタイル：spanをインラインに戻して「改行をなくす」 */
@media screen and (max-width: 768px) {
    .text-block {
        display: inline;
    }
}