/* グローバルリセット */
* {
    font-family: "Noto Sans JP", sans-serif;;
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* 要素のサイズ計算をボーダーとパディングを含める形に変更 */
}

/* bodyやhtmlタグに対する余白のリセット */
html, body {
    margin: 0;
    padding: 0;
    height: 100%; /* ページ全体の高さを確保 */
}

h2 {
    font-weight: bold; /* 太字にする */
    font-size: 2rem; /* フォントサイズを調整（必要に応じて変更） */
    color: #333; /* テキストの色 */
    position: relative; /* ボーダーを追加するために必要 */
    padding-bottom: 10px; /* 下に余白を追加 */
    margin-bottom: 20px; /* ボーダーとの間に余白を追加 */
}

h2::after {
    content: ""; /* 仮想要素を使用してボーダーを作成 */
    display: block; /* ブロック要素として扱う */
    width: 50%; /* ボーダーの幅を指定 */
    height: 3px; /* ボーダーの高さを指定 */
    background-color: #00a3e0; /* ボーダーの色 */
    margin: 0 auto; /* ボーダーを中央に揃える */
    margin-top: 10px; /* ボーダーとテキストの間に少し余白 */
}

/* accessセクション内の h2 タグの特別スタイル */
.access h2 {
    color: white; /* 白文字に設定 */
    border: none; /* ボーダーを無しに */
}

.access h2::after {
    display: none; /* 仮想要素を非表示にしてボーダーを消す */
}

section {
    padding-top: 40px; /* 上の余白 */
    padding-bottom: 20px; /* 下の余白 */
}

/* FV と CTA セクションは例外とする */
.FV, .CTA, .solution {
    padding-top: 0; /* 余白を無効化 */
    padding-bottom: 0; /* 余白を無効化 */
}

.button-container {
    position: relative;
    display: inline-block; /* 必要に応じて変更 */
    width:90%;
}

.simple_CTA {
    position: absolute;
    top: 0;
    left: 5%;
    width: 90%; /* 横幅を指定 */
    height: 85%; /* 縦幅を指定 */
    text-indent: -9999px; /* テキストを非表示にする */
    background: rgba(255, 255, 255, 0); /* 背景を透明に */
    /* 必要に応じてカーソルをポインタに変更 */
    cursor: pointer;
    display: block;
}

.trouble {
    padding-bottom: 0; /* 余白を無効化 */
}

/* メインコンテナ */
.container {
    max-width: 1000px; /* 最大幅を1000pxに設定 */
    margin: 0 auto;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    padding: 0; /* 余白を削除 */
}
/* PC画面（768px以上）でのみ適用 */
@media screen and (min-width: 768px) {
    .container {
        padding-top: 7rem; /* ヘッダーの高さと同じ値 */
        background-color: transparent; /* 背景色を透明に設定 */
    }
}

.background-gray{
    background-color: #F7F8F8;
}


.container img{
    max-width: 90%;
}

.full-width-img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin-top:50px;
}

/* 青い背景の部分 */
.fv-blue {
    background-color: #00a3e0; /* 青色の背景 */
    color: white; /* 文字色を白に */
    text-align: center; /* テキストを中央揃え */
    padding: 10px 0;
    width: 100%; /* 幅を100%に */
    max-width: 1000px; /* 最大幅を1000pxに設定 */
    margin: 0 auto; /* 中央に配置 */
}

.fv-container p{
    padding-top:20px;
    font-weight: bold;
    font-size: 2.5rem;
}

/* テキストのスタイル */
.fv-blue p {
    font-size: 2rem; /* フォントサイズを大きくする */
    font-weight: bold; /* 太字にする */
    margin: 0; /* 余白をなくす */
    padding: 10px 0; /* 上下のパディングを追加 */
}

.fv-blue h3{
    font-size: 1.5 rem;
}

/* メインテキストセクション */
.FV-header {
    border-radius: 5px; /* 角を少し丸める */
    text-align: left; /* テキストを中央揃えに */
    margin-bottom: 20px; /* 下部に余白 */
    padding:2% 10%;
}

.FV-header p span{
    background-color: #b0e0e6; /* 背景色をライトブルーに */
    color: #0074b8; /* 文字色を青に */
    font-size: 3rem; /* 大きめのフォントサイズ */
    font-weight: bold; /* 太字に */
    padding:1% 0;
}

.fv-background {
    position: relative;
    background-image: url('../img/fv-background.png');
    background-size: 50% 100%;
    background-position: right center;
    background-repeat: no-repeat;
    padding: 20px;
    color: #333;
}

/* 説明テキスト */
.FV-description{
    margin-top:20px;
}

.FV-description p {
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.8;
    color: #333;
    margin-bottom: 15px; /* 段落間の余白 */
    text-align: left; /* 左揃え */
    padding-left:10%;
}

/* 大きな見出しテキスト */
.FV h2 {
    font-size: 24px;
    color: #0074b8;
    font-weight: bold;
    margin-bottom: 15px;
}

/* イメージ画像 */
.FV img {
    width: 100%;
    border-radius: 15px;
    margin-bottom: 20px;
}

/* セクション説明文 */
.FV .description {
    font-size: 16px;
    color: #333;
    line-height: 1.5;
    margin-bottom: 20px;
}

/* アロー画像 */
.FV .arrow-img {
    width: 50px;
    margin: 10px auto;
}

.cta-container {
    position: relative;
    text-align: center; /* 中央揃えにするために追加 */
    padding-top: 10px;
    padding-bottom: 5%;
}

.cta-image {
    width: 100%; /* 画像が親要素の横幅いっぱいに表示されるように調整 */
    height: auto;
}

.cta-button-link {
    position: absolute;
    bottom: 15%; /* ボタンの位置に合わせて調整 (画像内のボタン部分の高さ) */
    left: 10%; /* 左からの距離を調整 */
    width: 80%; /* ボタンの幅を調整 */
    height: 15%; /* ボタンの高さを指定 */
    display: block;
    text-decoration: none;
    background: transparent; /* 背景を透明に設定 */
    z-index: 10; /* 他の要素の上に表示されるようにする */
}
.cta2-button-link {
    position: absolute;
    bottom: 20%; /* ボタンの位置に合わせて調整 (画像内のボタン部分の高さ) */
    left: 10%; /* 左からの距離を調整 */
    width: 80%; /* ボタンの幅を調整 */
    height: 20%; /* ボタンの高さを指定 */
    display: block;
    text-decoration: none;
    background: transparent; /* 背景を透明に設定 */
    z-index: 20; /* 他の要素の上に表示されるようにする */
}

.cta-container {
    padding-top: 10px;
    padding-bottom: 5%;
}

/* 実績のヘッダー */
.achievement-header p {
    font-size: 2rem;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin-bottom: 10px;
}

.achievement-header .highlight {
    color: #e74c3c; /* 赤色で40万人を強調 */
}

/* 説明テキスト */
.achievement-description p {
    font-size: 1.5rem;
    color: #555;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 20px;
}

.achievement img {
    padding:2% 3%;
}


/* セクションの見出し */
.trouble-container {
    background-color: #F7F8F8;
    background-image: url('../img/fv-background2.png'); /* 背景画像のパスを指定 */
    background-size: cover; /* 背景画像をコンテナ全体に収める */
    background-position: center; /* 背景画像の位置を中央に */
    background-repeat: no-repeat; /* 画像を繰り返さないように設定 */
    padding: 20px; 
}

 .trouble-header {
    font-size: 24px;
    font-weight: bold;
    color: #0074b8;
    text-align: left;
    margin-bottom: 15px;
} 

/* 小見出し */
.trouble-subheader {
    font-size: 20px;
    color: #333;
    font-weight: bold;
    margin-bottom: 20px;
}

/* リストのスタイリング */
.custom-list {
    list-style: none; /* デフォルトのリストマーカーを削除 */
    padding-left: 0;
    margin-bottom: 20px;
}

.custom-list li {
    background: url('../img/checkbox.png') no-repeat left center; /* チェックボックス画像を左に配置 */
    background-size: 2rem 2rem; /* 画像のサイズを指定 */
    padding-left: 40px; /* テキストとチェックボックスの間にスペース */
    margin-bottom: 15px; /* 項目間の余白 */
    font-size: 2rem;
    color: #333;
    line-height: 1.6;
    text-align: left;
}

.checkbox {
    padding:0 10%;
}

/* 青背景の見出し */
.solution-blue {
    background-color: #00a3e0;
    color: white;
    text-align: center;
    padding: 5px;
    font-size: 24px;
    font-weight: bold;
}

/* 説明文 */
.solution p {
    font-size: 1.5rem;
    color: #333;
    line-height: 1.8;
    margin-bottom: 20px;
    text-align: left;
}

.solution h3{
    font-size: 3rem;
}
/* 強調テキスト */
.solution p strong {
    font-weight: bold;
}

.solution-text {
    position: relative;
    background-image: url('img/lady.jpg'); /* 背景画像を設定 */
    background-size: cover;
    background-position: center;
    padding: 20px;
    margin-left: 5%;
    margin-right: 5%;
    font-size: 14px;
}

.solution-text p {
    background-color: rgba(255, 255, 255, 0.8); /* 背景色に若干の透過を設定 */
    padding: 20px;
    color: #333; /* テキストの色 */
    z-index: 1; /* テキストを最前面に */
}



/* イメージ画像 */
.solution img {
    width: 100%;
    border-radius: 10px;
    margin-bottom: 20px;
}
.full-width-image {
    width: 100% !important; /* 横幅を親要素いっぱいにする */
    max-width: 100% !important; /* `max-width`の制限を上書き */
    height: auto; /* アスペクト比を維持して高さを自動調整 */
}



.soudan p {
    text-align: center;
    font-weight: bold;
    font-size:2rem;

}

.points p {
    text-align: center;
    font-size:2rem;
    margin-bottom:20px;
}
.feature{
    font-size:2rem;
    font-weight: bold;
    border-bottom:#333;
}

/* Point タイトルのスタイル */
.point-title {
    font-family: 'Noto Serif', serif; /* Noto Serifフォントを適用 */
    font-size: 2rem; /* フォントサイズを調整 */
    font-weight: bold;
    color: #333; /* 文字色 */
    text-align: center; /* テキストを中央揃え */
    position: relative; /* ボーダーのためのポジション設定 */
    margin-bottom: 20px; /* 下に余白を追加 */
}

/* 下線を入れるためのスタイル */
.point-title::after {
    content: ""; /* 仮想要素を使用 */
    display: block;
    width: 50%; /* 下線の幅を50%に設定 */
    height: 4px; /* 線の太さ */
    background-color: #8de0f1; /* 下線の色を青に設定 */
    margin: 8px auto 0; /* 中央揃えと余白 */
}


/* ポイント項目の全体のスタイル */
.point-item {
    display: flex;
    align-items: flex-start;
    background: linear-gradient(to right, #D4F5F9 0%, transparent 100%); /* 左から右に向かって25%だけグラデーション */
    background-size: 25% 100%; /* 背景の幅を25%に固定 */
    background-repeat: no-repeat; /* 繰り返しを防止 */
    padding: 20px;
    margin-right: 10px;
    margin-left: 10px;
    margin-bottom: 20px;
}

/* ポイント番号のスタイル */
.point-number {
    font-family: "Nova Script", system-ui;
    font-size: 3rem;
    color: #1A82A1;
    font-weight: bold;
    margin-right: 10px;
    flex-shrink: 0;
    text-align: left;
}

/* ポイントコンテンツのスタイル */
.point-content h4 {
    text-align: left; /* 左揃え */
    font-size: 1.8rem;
    color: #1A82A1;
    font-weight: bold;
    margin-bottom: 10px;
}

.point-content p {
    font-size: 1.5rem;
    color: #333;
    line-height: 1.8;
    text-align: left; /* 左揃え */
}


/* ポイント項目の全体のスタイル */
.point-item-right {
    display: flex;
    flex-direction: row-reverse; /* 要素の順序を逆にする */
    align-items: flex-start;
    background: linear-gradient(to left, #D4F5F9 0%, transparent 100%); /* 右から左に向かってグラデーション */
    background-size: 25% 100%; /* 背景の幅を25%に固定 */
    background-position: right; /* グラデーションを右側に配置 */
    background-repeat: no-repeat; /* 繰り返しを防止 */
    padding: 20px;
    margin-right: 10px;
    margin-left: 10px;
    margin-bottom: 20px;
    justify-content: flex-start; /* テキストは左側に寄せる */
    align-items: flex-start; /* アイテムを上揃え */
}

/* ポイントコンテンツのスタイル */
.point-content-right h4 {
    text-align: right; /* 左揃え */
    font-size: 1.8rem;
    color: #1A82A1;
    font-weight: bold;
    margin-bottom: 10px;
}

/* ポイント番号のスタイル */
.point-number-right {
    font-family: "Nova Script", system-ui;
    font-size: 3rem;
    color: #1A82A1;
    font-weight: bold;
    margin-left: 10px; /* 右側に余白をつける */
    flex-shrink: 0;
    text-align: right; /* テキストを右寄せ */
}

/* ポイントコンテンツのスタイル */
.point-content-right h3 {
    font-size: 20px;
    color: #0074b8;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: right; /* 見出しを右寄せ */
}

.point-content-right p {
    font-size: 1.5rem;
    color: #333;
    line-height: 1.8;
    text-align: left; /* 残りのテキストは左寄せ */
}


.voice h2{
    font-weight: bold;
    border-bottom: #333;
    font-size: 2rem;
}


/* 画像を円形にして、横幅40%に設定 */
.profile-img-wrapper {
    width: 30%; /* 横幅を40%に設定 */
    aspect-ratio: 1 / 1; /* 正円にするための縦横比を1:1に固定 */
    border-radius: 50%; /* 円形にする */
    background-image: url('../img/lady.jpg'); /* 画像を背景として設定 */
    background-size: cover; /* 画像を枠に収める */
    background-position: center; /* 画像の中央を表示 */
    margin-right: 15px;
    border: 3px solid #00a3e0;
}

/* プロフィール画像を背景として設定するdiv */
.profile-img-wrapper2 {
    width: 30%; /* 横幅を30%に設定 */
    aspect-ratio: 1 / 1; /* 縦横比を1:1に固定して正円にする */
    border-radius: 50%; /* 円形にする */
    background-image: url('../img/voice03.jpg'); /* 背景画像を指定 */
    background-size: cover; /* 背景画像を枠に収める */
    background-position: center; /* 画像の中心を表示 */
    margin-right: 15px;
    border: 3px solid #00a3e0;
}
/* プロフィール画像を背景として設定するdiv */
.profile-img-wrapper3 {
    width: 30%; /* 横幅を30%に設定 */
    aspect-ratio: 1 / 1; /* 縦横比を1:1に固定して正円にする */
    border-radius: 50%; /* 円形にする */
    background-image: url('../img/voice04.jpg'); /* 背景画像を指定 */
    background-size: cover; /* 背景画像を枠に収める */
    background-position: center; /* 画像の中心を表示 */
    margin-right: 15px;
    border: 3px solid #00a3e0;
}
/* プロフィール画像を背景として設定するdiv */
.profile-img-wrapper4 {
    width: 30%; /* 横幅を30%に設定 */
    aspect-ratio: 1 / 1; /* 縦横比を1:1に固定して正円にする */
    border-radius: 50%; /* 円形にする */
    background-image: url('../img/voice02.jpg'); /* 背景画像を指定 */
    background-size: cover; /* 背景画像を枠に収める */
    background-position: center; /* 画像の中心を表示 */
    margin-right: 15px;
    border: 3px solid #00a3e0;
}

/* コンテナ全体のスタイル */
.voice-container {
    background-color: #F7F8F8;
    padding: 20px 5px;
}

.flow-container{
    padding:0 5px;
}

.testimonial-container {
    border: 5px solid #00a3e0;
    border-radius: 30px;
    padding: 20px 5%;
    max-width: 700px;
    margin: 20px auto;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background-color: white;
}

.testimonial-container h3 {
    text-align: left;
    font-size: 2rem;
    color:#008cc0;
}

/* ヘッダー部分のスタイル */
.testimonial-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

/* キャッチコピーと名前のテキスト部分（残りのスペースを使用） */
.header-text {
    flex: 1; /* 残りの横幅をすべて使う */
}

.header-text h2 {
    font-size: 2rem;
    color: #333;
    font-weight: bold;
    margin-bottom: 5px;
    text-align:left;
    border: none; /* ボーダー無し */
}

.header-text h2::after {
    display: none; /* 仮想要素を非表示にしてボーダーを消す */
}

/* 全体の h2 タグのスタイル */
h2 {
    font-weight: bold;
    font-size: 2rem;
    color: #333;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

h2::after {
    content: "";
    display: block;
    width: 50%;
    height: 3px;
    background-color: #00a3e0;
    margin: 0 auto;
    margin-top: 10px;
}



.info {
    font-size: 1.5rem;
    color: #0074b8;
    font-weight: bold;
    background-color: #e6f7ff;
    padding: 5px 10px;
    border-radius: 5px;
    float: right; /* 右寄せ */
}

/* イメージのテキスト */
.note {
    font-size: 12px;
    color: #999;
    text-align: left;
    margin-bottom: 15px;
}

/* テキスト部分のスタイル */
.testimonial-text {
    font-size: 1.5rem;
    color: #333;
    line-height: 1.6;
    text-align: left;
}

.profile-container{
    background-image: url('../img/proflie-background.png');
}

.profile h2{
    font-weight: bold;
    border-bottom: #333;
    font-size: 2rem;
}


/* プロフィール全体のスタイル */
.profile-kv {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.profile-container {
    padding:0 5%
}

.profile-detail{
    padding:0 2rem;
}

.profile-detail p{
    text-align: left !important;
    font-size:1.5rem !important;
}

/* 右側のテキスト部分 */
.profile-text {
    width: 60%; /* テキスト部分の幅を60%に設定 */
}

.profile-text h3 {
    font-size: 18px;
    color: #0074b8;
    font-weight: bold;
}

.profile-text h2 {
    font-size: 24px;
    color: #00a3e0;
    font-weight: bold;
}

/* 残りのテキスト部分 */
.profile p {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

/* 料金表のセクションスタイル */
.pricing-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
}

/* テーブルの共通スタイル */
table {
    width: 80%;
    border-collapse: collapse;
    background-color: #00a3e0;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* テーブルヘッダーのスタイル */
th {
    background-color: #00a3e0;
    color: white;
    font-size: 2rem;
    font-weight: bold;
    padding: 10px;
    text-align: center;
}

/* テーブルデータセルのスタイル */
td {
    background-color: white;
    font-size: 1.5rem;
    color: #333;
    padding: 15px 20px;
    text-align: center;
    border: 1px solid #e0e0e0; /* ここでボーダーを追加 */
}

/* 金額部分のスタイル */
td:last-child {
    font-size: 1.5rem;
    color: #00a3e0;
    font-weight: bold;
}

/* 初診料の特別スタイル */
.initial-fee {
    width: 80%;
    border-collapse: collapse;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* 初診料ヘッダー部分 */
.initial-fee th {
    background-color: #00a3e0;
    color: white;
    font-size: 2rem;
    padding: 10px;
    text-align: center;
}

/* 初診料金額部分 */
.initial-fee td.initial-price {
    font-size: 32px;
    color: #00a3e0;
    font-weight: bold;
    padding: 20px;
    background-color: white; /* 下の段の背景を白に */
    text-align: center;
    border: none; /* ボーダーはなし */
}

/* Q&Aセクションのスタイル */
.question{
    margin-top:100px;
}

.qa-container {
    padding-right: 10%;
    padding-left: 10%;
}

.qa-section {
    margin-top: 10%;
}

/* 質問と回答の共通スタイル */
.question-answer {
    font-size: 2rem;
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

/* Q, Aシンボルのスタイル */
.qa-symbol {
    font-size: 2rem;
    font-weight: bold;
    color: #00a3e0; /* 青色 */
    margin-right: 10px;
}

/* Aシンボルの特別なスタイル */
.answer-symbol {
    color: #888888; /* グレー色 */
}

/* 質問テキストのスタイル */
.question-text {
    font-size: 1.5rem;
    color: #333;
    margin: 0;
    line-height: 1.5;
    text-align: left;
}

/* 回答テキストのスタイル */
.answer-text {
    font-size: 1.5rem;
    color: #555;
    margin: 0;
    line-height: 1.8;
    text-align: left;
}

.border{
    border-bottom: 1px #888888;
}

/* 店舗案内セクション全体 */
.access {
    background-color: #333;
    color: white;
    margin: 0 auto;
}

/* セクションのタイトル */
.store-info {
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
    padding: 5% 5%;
}

/* セクションのタイトル */
.store-info h2 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
}

/* 画像プレースホルダー */
.image-placeholder {
    width: 100%;
    height: 200px;
    background-color: #F7F8F8;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    border-radius: 10px;
}

/* 店舗詳細情報 */
.store-details {
    margin-top: 30px;
    margin-bottom: 30px;
    font-size: 1.5rem;
    text-align: left;
}

.store-details p {
    margin: 5px 0;
}

/* 営業時間の表 */
.business-hours {
    width: 120% !important;
}

.business-hours th,
.business-hours td {
    padding: 10px;
    text-align: center;
    border: 1px solid #fff;
    background-color: #00a3e0;
}

.business-hours td {
    background-color: #f9f9f9;
    color: #333;
}

/* Googleマップ埋め込み */
.map-container {
    margin-top: 20px; /* 上に余白を追加 */
    position: relative; /* 縦横比を維持するためにpositionを相対に設定 */
    width: 100%; /* 横幅を100%に設定 */
    padding-bottom: 60%; /* 縦横比を3:4に設定 (3/4 = 75%) */
    height: 0; /* 高さを一度0にする */
}

.map-container iframe {
    position: absolute; /* iframeを親要素にフィットさせる */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; /* ボーダーを削除 */
}

.CTA2{
    padding:40px 0;
    background-color: #2f8bc0;
}


/* スマホサイズ (768px以下) の画面に対するメディアクエリ */
@media (max-width: 768px) {

    /* コンテナ全体の幅を調整 */
    .container {
        max-width: 100%;
    }

    .FV-description p {
        font-size: 2rem; /* 説明文の文字サイズを縮小 */
    }

    .responsive-arrow {
        width: 70px; /* スマホ時にサイズを半分に（例として50px） */
        height: auto; /* アスペクト比を維持 */
        margin-bottom:30px;
    }

    .achievement-header p {
        font-size: 1.5rem; /* 実績のヘッダーを調整 */
    }

    .achievement-description p {
        font-size: 1.2rem; /* 説明テキストを縮小 */
    }

    .custom-list li {
        font-size: 1.5rem; /* リストの項目の文字サイズを縮小 */
    }

    .solution h3 {
        font-size: 2.5rem; /* 見出しの文字サイズを縮小 */
    }

    .solution p {
        font-size: 1.2rem; /* 説明テキストの文字サイズを縮小 */
    }

    .testimonial-container h3 {
        font-size: 1.8rem; /* ヘッダーテキストのサイズを調整 */
    }

    .testimonial-text {
        font-size: 1.4rem; /* テキストサイズを調整 */
    }

    .profile-text h2 {
        font-size: 20px; /* プロフィール見出しのサイズを調整 */
    }

    .profile-text h3 {
        font-size: 16px; /* サブ見出しのサイズを調整 */
    }

    .qa-symbol {
        font-size: 1.8rem; /* Q&Aのシンボルのサイズを調整 */
    }

    .question-answer {
        font-size: 1.6rem; /* 質問と回答のサイズを調整 */
    }

    .store-info h2 {
        font-size: 1.8rem; /* 店舗案内のタイトルを調整 */
    }

    /* テーブルの文字サイズ調整 */
    table th, table td {
        font-size: 1.4rem;
    }

    /* Googleマップの高さを調整 */
    .map-container {
        padding-bottom: 75%; /* スマホでは縦横比を維持しつつ少し高さを調整 */
    }
}

/* スマホサイズ (480px以下) のメディアクエリ */
@media (max-width: 480px) {
    /* メインテキストセクション */
    .FV-header p span {
        font-size: 1.2rem; /* スマホ画面ではさらに小さく */
    }

    .fv-container p{
        font-size: 20px;
    }

    .FV-description p {
        font-size: 14px; /* 説明文も小さく */
        padding:0;
    }

    .FV-header, .FV-description {
        padding:0; /* スマホ時にマージンをリセット */
    }

    .fv-blue p {
        font-size: 20px; /* 20px -> 約11.43px */
    }

    .checkbox{
        padding-left:5px;
        padding-right:0px;
        padding-top:20px;
    }
    /* 大きな見出しテキスト */
    .FV h2 {
        font-size: calc(24px * 4 / 7); /* 24px -> 約13.71px */
    }

    /* セクション説明文 */
    .FV .description {
        font-size: calc(16px * 4 / 7); /* 16px -> 約9.14px */
    }
    .solution-blue h3{
        font-size: 1.5rem !important;
    }

    .solution-text {
        font-size: 14px !important;
    }
    .achievement-header p {
        font-size: calc(2rem * 4 / 7); /* 2rem -> 約1.14rem */
    }

    .achievement-description p {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    .custom-list li {
        font-size: calc(2rem * 4 / 7); /* 2rem -> 約1.14rem */
    }


    .solution h3 {
        font-size: calc(3rem * 4 / 7); /* 3rem -> 約1.71rem */
    }


    /* testimonialセクション */
    .testimonial-container h3 {
        font-size: calc(2rem * 4 / 7); /* 2rem -> 約1.14rem */
    }

    .testimonial-text {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    .profile-container p {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    .profile-text h2 {
        font-size: calc(24px * 4 / 7); /* 24px -> 約13.71px */
    }

    .profile-text h3 {
        font-size: calc(18px * 4 / 7); /* 18px -> 約10.29px */
    }

    /* テーブルデータセルのスタイル */
    td, th {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    /* Q&Aセクション */
    .qa-symbol {
        font-size: calc(2rem * 4 / 7); /* 2rem -> 約1.14rem */
    }

    .question-text {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    .answer-text {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    .question-answer {
        font-size: calc(2rem * 4 / 7); /* 2rem -> 約1.14rem */
    }

    /* ポイント項目 */
    .point-item .point-number {
        font-size: calc(3rem * 4 / 7); /* 3rem -> 約1.71rem */
    }

    .point-item .point-content h4 {
        font-size: calc(1.8rem * 4 / 7); /* 1.8rem -> 約1.03rem */
    }

    .point-item .point-content p {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    /* 逆向きのポイント項目 */
    .point-item-right .point-number-right {
        font-size: calc(3rem * 4 / 7); /* 3rem -> 約1.71rem */
    }

    .point-item-right .point-content-right h4 {
        font-size: calc(1.8rem * 4 / 7); /* 1.8rem -> 約1.03rem */
    }

    .point-item-right .point-content-right p {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    /* フォームのスタイル */
    .form-label {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    .form-input {
        font-size: calc(1.5rem * 4 / 7); /* 1.5rem -> 約0.86rem */
    }

    .info{
        font-size: 14px;
    }
    /* その他要素 */
    .soudan p {
        font-size: calc(2rem * 4 / 7); /* 2rem -> 約1.14rem */
    }

    .points p {
        font-size: calc(2rem * 4 / 7); /* 2rem -> 約1.14rem */
    }

    .profile-container p{
       font-size :14px !important;
    }

    .store-details p {
        margin: 5px 0;
        font-size: 14px;
    }

    .CTA2{
        padding:40px 0;
        background-color: #2f8bc0;
    }

    /* Googleマップ埋め込み説明 */
    .map-container iframe {
        font-size: calc(16px * 4 / 7); /* 16px -> 約9.14px */
    }

    .header-text h2 {
        font-size:1rem;
    }
