@charset "UTF-8";
*, *::before, *::after {
            box-sizing: border-box;
        }

        /* ページの基本スタイル */
        body {
            font-family: 'Inter', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', sans-serif;
            background-color: #f7fafc;
            display: flex;
            flex-direction: column; /* コンテンツを縦に並べるために変更 */
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            margin: 0;
            padding: 1rem;
        }
        
        /* レスポンシブ対応のパディング */
        @media (min-width: 640px) {
            body {
                padding: 1.5rem;
            }
        }
        @media (min-width: 1024px) {
            body {
                padding: 2rem;
            }
        }

        /* 全体を囲むコンテナ */
    /* 全体を囲むコンテナ */
.container {
    width: 100%;
    max-width: 64rem;
    margin-left: auto;
    margin-right: auto;
}

/* カードを並べるためのグリッド */
.card-grid {
    display: grid;
    /* ↓ここを2列表示に修正しました */
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-bottom: 3rem; /* 下に余白を追加 */
}


        /* プロフィールカード本体 */
        .profile-card {
            background-color: #ffffff;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            overflow: hidden;
        }
        
        .profile-card img {
            width: 100%;
            object-fit: cover;
        }

        .profile-info {
            padding: 1.5rem;
        }

        .profile-info-name {
            font-size: 1.5rem;
            font-weight: 700;
            color: #2d3748;
        }

        .profile-info-name-en {
            font-size: 0.875rem;
            color: #a0aec0;
            margin-top: 0.25rem;
            letter-spacing: 0.1em;
        }
        
        .profile-info-role {
            color: #718096;
            margin-top: 1rem;
        }

        /* ===== ↓↓↓ ここからが追加・修正したCSSです ↓↓↓ ===== */

        /* 料金表全体のスタイル */
        .custom-price-table {
            width: 100%;
            margin: 20px 0;
            border-collapse: collapse;
        }
        .custom-price-table caption {
            font-size: 1.2em;
            font-weight: bold;
            margin-bottom: 15px;
            text-align: center;
            color: #333;
        }
        .custom-price-table thead tr {
            background-color: #d9534f;
            color: white;
        }
        .custom-price-table th, .custom-price-table td {
            padding: 12px;
            border: 1px solid #ddd;
            text-align: center;
        }
        .custom-price-table td {
            text-align: left;
            background-color: white;
        }
        .custom-price-table th:first-child {
            border-top-left-radius: 5px;
        }
        .custom-price-table th:last-child {
            border-top-right-radius: 5px;
        }

        /* ボタンのスタイル */
        .button02 {
            background-color: #fff;
            border: solid 2px #e6001b;
            color: #e6001b;
            padding: 10px 30px;
            text-decoration: none;
            font-size: 1em;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            border-radius: 6px;
            transition: background-color 0.3s ease;
        }
        .button02:hover {
            background-color: #ffe6e9;
        }
        .circle-arrow {
            background-color: #e6001b;
            color: white;
            width: 24px;
            height: 24px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            font-size: 0.75em;
            flex-shrink: 0;
        }

        /* 見出しのスタイル */
        .x-h3 {
            color: #505050;
            font-weight: 900;
            font-size: 17px;
            padding: 0 5px 5px 10px;
            position: relative;
            background-image: linear-gradient(to right, #e6001b, #d4b274);
            background-repeat: no-repeat;
            background-size: 100% 4px;
            background-position: left bottom;
        }
        .x-h4 {
            color: #e6001b;
            font-weight: 900;
            font-size: 15px;
            padding-left: 1em;
            position: relative;
        }
        .x-h4::before {
            content: "｜ ";
            color: red;
            position: absolute;
            left: 0;
            top: 0;
        }

        /* SNSリンク */
        .nav-links {
            display: flex;
            gap: 20px;
            justify-content: center;
            margin-top: 20px;
        }
        .nav-links a img {
            width: 300px;
            height: auto;
            display: block;
        }

        /* 赤い枠線ボックス */
        .red-border-box {
            border: 2px solid red;
            padding: 10px;
            margin: 10px 0;
            border-radius: 4px;
            background-color: #fff8f8;
        }
        
        /* 問い合わせボックス */
        .contact-box {
            border: solid 1px #ccc;
            padding: 20px 10px;
            margin-top: 50px;
            text-align: center;
            line-height: 2;
        }
        .contact-box h3 {
            background: #d7d7d7;
            margin: -20px -10px;
            padding: 15px 5px;
            font-weight: bold;
        }

        .profile-container {
    display: flex; /* Flexboxを有効にする */
    align-items: center; /* 上下中央揃えにする */
    gap: 20px; /* 画像とテキストの間に20pxの隙間を空ける */
    margin: 20px; /* コンテナの外側に余白を持たせる */
    padding: 20px; /* コンテナの内側に余白を持たせる */
    border: 1px solid #ccc; /* 枠線（任意） */
    border-radius: 8px; /* 角を丸くする（任意） */
    max-width: 800px; /* コンテナの最大幅を指定 */
}

.profile-container {
    display: flex; /* Flexboxを有効にする */
    align-items: center; /* 上下中央揃えにする */
    gap: 20px; /* 画像とテキストの間に少し広めの隙間を空ける */
    margin: 30px; /* コンテナの外側に余白を持たせる */
    padding: 0; /* 内側の余白は不要 */
    /* border: 1px solid #ccc;  囲いは削除 */
    border-radius: 0; /* 角を丸くする必要もなし */
    max-width: 1000px; /* コンテナの最大幅を調整（画像+テキスト+余白を考慮） */
}

/* 画像のコンテナ */
.profile-image {
    flex-shrink: 0; /* コンテナが縮んでも画像のサイズを維持する */
}
.profile-container {
    border: none !important; /* 枠線を強制的に消す */
    box-shadow: none !important; /* 影が付いている場合も消す */
}

/* プロフィール全体のコンテナ */
.profile-container {
    display: flex; /* Flexboxを有効にする */
    align-items: center; /* 上下中央揃えにする */
    gap: 30px; /* 画像とテキストの間に少し広めの隙間を空ける */
    margin: 30px; /* コンテナの外側に余白を持たせる */
    max-width: 1000px; /* コンテナの最大幅を調整 */
    
    /* ↓↓↓ この部分に border の指定がないため、フレームは表示されません ↓↓↓ */
}

/* 画像のコンテナ */
.profile-image {
    flex-shrink: 0; /* コンテナが縮んでも画像のサイズを維持する */
}

/* 画像自体へのスタイル */
.profile-image img {
    width: 300px; /* 画像の幅を400pxに固定 */
 /* 画像の高さを500pxに固定 */
    object-fit: cover; /* 画像の比率を保ったまま、指定されたサイズに収まるようにトリミング */
    display: block; /* 画像の下にできる余白をなくすため */
}

/* テキストのコンテナ */
.profile-text {
    flex-grow: 1; /* テキスト部分が残りのスペースを埋めるように広がる */
    padding-right: 20px; /* 右側の余白（任意） */
}

/* 見出しのスタイル */
.profile-text h2 {
    font-size: 2.5em; /* 見出しのフォントサイズを大きく */
    margin-top: 0;
    margin-bottom: 15px;
    color: #333;
}

/* 紹介文のスタイル */
.profile-text p {
    font-size: 1.1em;
    line-height: 1.6;
    color: #555;
}
        
        /* スマートフォン用のスタイル */
        @media (max-width: 1000px) {
            .profile-container {
                flex-direction: column; /* 縦並びにする */
                text-align: center;
            }
        }