.elementor-77392 .elementor-element.elementor-element-9235d79{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-77392 .elementor-element.elementor-element-79b96e2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-77392 .elementor-element.elementor-element-c31abe5{--spacer-size:50px;}.elementor-77392 .elementor-element.elementor-element-a6eea05{--display:flex;}.elementor-77392 .elementor-element.elementor-element-b96cc41{width:var( --container-widget-width, 90% );max-width:90%;--container-widget-width:90%;--container-widget-flex-grow:0;}.elementor-77392 .elementor-element.elementor-element-e8a165d{--spacer-size:25px;}.elementor-77392 .elementor-element.elementor-element-6637460{--spacer-size:30px;}.elementor-77392 .elementor-element.elementor-element-0e9bd87 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-77392 .elementor-element.elementor-element-3bbad6c{--spacer-size:5px;}.elementor-77392 .elementor-element.elementor-element-6d162be{width:var( --container-widget-width, 95% );max-width:95%;--container-widget-width:95%;--container-widget-flex-grow:0;}.elementor-77392 .elementor-element.elementor-element-6d162be.elementor-element{--align-self:center;}.elementor-77392 .elementor-element.elementor-element-57baf93{--spacer-size:30px;}.elementor-77392 .elementor-element.elementor-element-2ca90e4{width:var( --container-widget-width, 95% );max-width:95%;--container-widget-width:95%;--container-widget-flex-grow:0;}.elementor-77392 .elementor-element.elementor-element-2ca90e4.elementor-element{--align-self:center;}@media(max-width:599px){.elementor-77392 .elementor-element.elementor-element-9235d79{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-77392 .elementor-element.elementor-element-c31abe5{--spacer-size:20px;}.elementor-77392 .elementor-element.elementor-element-a6eea05{--width:98%;}.elementor-77392 .elementor-element.elementor-element-e8a165d{--spacer-size:20px;}.elementor-77392 .elementor-element.elementor-element-89c4c3b.elementor-element{--align-self:center;}.elementor-77392 .elementor-element.elementor-element-6637460{--spacer-size:20px;}.elementor-77392 .elementor-element.elementor-element-3bbad6c{--spacer-size:1px;}.elementor-77392 .elementor-element.elementor-element-57baf93{--spacer-size:20px;}}@media(min-width:600px){.elementor-77392 .elementor-element.elementor-element-9235d79{--width:380px;}.elementor-77392 .elementor-element.elementor-element-a6eea05{--width:95%;}}@media(max-width:1024px) and (min-width:600px){.elementor-77392 .elementor-element.elementor-element-9235d79{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-4ddcade *//* --- 1. フォント表示の最適化設定 --- */
@font-face {
    font-family: 'Material Symbols Outlined';
    font-style: normal;
    /* Webフォントが読み込まれるまで代替文字を表示し、表示速度を上げる */
    font-display: swap; 
}

/* --- 2. 見出し全体のスタイル --- */
body .heading-209 { 
    display: flex;         /* アイコンと文字を垂直中央で揃えるために追加 */
    align-items: center;    /* アイコンと文字を垂直中央で揃えるために追加 */
    padding: 0 10px;
    border-bottom: 3px solid #fff000;
    background-color: #ffffff;
    color: #000000;
    
    font-size: 25px; 
    font-weight: bold;
    line-height: 2.0; 
    margin-top: 0;
    margin-bottom: 15px;
    
    /* 文字のガタつきを抑える設定 */
    font-optical-sizing: auto;
}

/* --- 3. アイコンの個別設定 --- */
.heading-209 .heading-209-icon { 
    color: #fff000; 
    font-size: 40px; 
    padding: 4px;
    margin-right: 8px;      /* アイコンと文字の間に少し隙間を作る */
    
    /* 警告対策: Webフォントを強制指定 */
    font-family: 'Material Symbols Outlined';
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 40; /* フォントサイズに合わせる */
}

/* --- 4. レスポンシブ (スマホ・タブレット対応) --- */
@media (max-width: 900px) {
    body .heading-209 { 
        font-size: 22px; 
        line-height: 1.4; 
    }
}

@media (max-width: 680px) {
    body .heading-209 { 
        font-size: 20px; 
        line-height: 1.8; 
    }
    
    .heading-209 .heading-209-icon { 
        font-size: 25px; 
        font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 25;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a095e2a *//* --- 既存のPC用設定 --- */
.topsaidebar01 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    width: 100%;
}

.topsaidebar01 img {
    width: 361px;
    height: 142px;
    object-fit: cover;
    max-width: 100%;
    display: block;
}

/* --- モバイル用の設定（画面幅が768px以下の場合） --- */
@media screen and (max-width: 768px) {
    .topsaidebar01 {
        gap: 10px; /* スマホでは少し隙間を広げると見やすい */
        padding: 0 10px; /* 左右に少し余白を作る */
    }

    .topsaidebar01 img {
        /* スマホでは横幅をいっぱい（または指定の割合）にする */
        width: 100%; 
        height: auto; /* 高さを自動調整にしてアスペクト比を維持 */
        max-width: 400px; /* 大きくなりすぎないように制限 */
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-89c4c3b *//* ==================================== */
/* 1. デスクトップ用のスタイル（基本設定） */
/* ==================================== */
.image-container {
    /* Flexboxを使って縦に並べる設定 */
    display: flex;
    flex-direction: column; 
    
    /* 画像間の隙間を10pxに設定 */
    gap: 10px; 
    
    /* コンテナの幅の例（必要に応じて調整してください） */
    max-width: 380px; 
    margin: 0 auto;
}

.image-container img {
    width: 100%;
    height: auto;
    display: block;
}


/* ==================================== */
/* 2. モバイル用のスタイル（768px以下で適用） */
/* ==================================== */
@media (max-width: 768px) {
    .image-container {
        /* 縦並びを解除し、横並びにする */
        flex-direction: row; 
        
        /* 横スクロールを有効にする */
        overflow-x: auto; 
        overflow-y: hidden; 
        
        /* 画像が縮まないように折り返しを禁止 */
        flex-wrap: nowrap; 
        
        /* スクロール時に1枚ずつピタッと止まるようにする */
        scroll-snap-type: x mandatory; 
        -webkit-overflow-scrolling: touch; 
        
        /* 画面幅いっぱいに設定し、左右にスクロール用の余白を設ける */
        width: 100%; 
        padding: 0 10px; 
        
        /* モバイルでは縦の隙間（gap）は不要になるためリセットしても良い */
        gap: 0; 
    }

    .image-container img {
        /* 画像1枚分の幅を設定（例: 画面幅 - 左右の余白を引いた幅） */
        width: calc(100vw - 40px); 
        
        /* 画像がコンテナ内で縮まないようにする */
        flex-shrink: 0; 
        
        /* スクロール時に中央に寄せて止まるようにする */
        scroll-snap-align: center; 
        
        /* 画像間のGAPは、この部分のmarginで調整します */
        margin: 0 5px; 
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0e9bd87 */.tab-4 {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
}

.tab-4 > label {
    flex: 1 1;
    order: -1;
    position: relative;
    min-width: 70px;
    padding: 1.2em 1em;
    background-color: #f2f2f2;
    color: #999;
    font-size: 1.1em;
    font-weight: 800;
    text-align: center;
    cursor: pointer;
}

.tab-4 > label:hover,
.tab-4 label:has(:checked) {
    background-color: #000000;
    color: #fff;
}

.tab-4 label:has(:checked)::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 18px;
    height: 9px;
    background-color: #000000;
    content: '';
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.tab-4 input {
    display: none;
}

.tab-4 > div {
    display: none;
    width: 100%;
    padding: 1.5em 1em;
}

.tab-4 label:has(:checked) + div {
    display: block;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6d162be *//* ========================================================= */
/* ベースコンテナ: top-migi-pr7 (aタグに変更) */
/* ========================================================= */
.top-migi-pr7 {
    display: flex;
    align-items: center; 
    gap: 10px; 
    
    max-width: 800px;
    margin: 0; 

    /* ★★★ リンクとしてのデフォルトスタイルを解除 ★★★ */
    text-decoration: none; /* 下線を削除 */
    color: inherit; /* 文字色を親要素から継承 */
}

/* --------------------------------------------------------- */
/* 左側：画像コンテナのスタイル (PC/タブレット用: 130px 固定) */
/* ... 略（変更なし） ... */
/* --------------------------------------------------------- */
.top-migi-pr7__image-container {
    flex-shrink: 0; 
    width: 130px; 
    max-width: 130px; 
}
.top-migi-pr7__image-container img {
    display: block;
    width: 100%; 
    height: auto; 
}

/* --------------------------------------------------------- */
/* 右側：テキストコンテナのスタイル (変更なし) */
/* ... 略（変更なし） ... */
/* --------------------------------------------------------- */
.top-migi-pr7__text-content {
    flex-grow: 1; 
    display: flex;
    flex-direction: column; 
    width: auto; 
}
.top-migi-pr7__text-content b {
    font-size: 14px;
    font-weight: bold;
    color: #000000; /* 文字色を固定 */
    margin-bottom: 0px;
}
.top-migi-pr7__text-content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.3;
    color: #555; /* 文字色を固定 */
    margin-top: 0; 
}

/* ========================================================= */
/* リストコンテナ (トップレベル) */
/* ... 略（変更なし） ... */
/* ========================================================= */
.top-migi-pr7-list {
    display: flex;
    flex-direction: column;
    gap: 15px; 
    
    max-width: 800px;
    margin: 5px auto; 
}


/* ========================================================= */
/* モバイル対応（画面幅が 767px 以下の場合） */
/* ========================================================= */
@media (max-width: 767px) {
    /* 1. リスト全体を2列のグリッドにする */
    .top-migi-pr7-list {
        display: grid; 
        grid-template-columns: 1fr 1fr; 
        gap: 10px; 
        margin: 5px 10px; 
        max-width: none; 
    }

    /* 2. 各項目 (top-migi-pr7) を縦並びにする */
    .top-migi-pr7 {
        flex-direction: column; 
        gap: 5px; 
        align-items: flex-start; 
    }

    /* 3. 画像の幅をコンテナ幅いっぱいに広げる */
    .top-migi-pr7__image-container {
        width: 100%; 
        max-width: none;
    }

    /* 4. テキストエリアもコンテナ幅いっぱいに広げる */
    .top-migi-pr7__text-content {
        width: 100%; 
    }
    .top-migi-pr7__text-content b {
        font-size: 12px; /* タイトルを 13px に変更 */
    }

    .top-migi-pr7__text-content p {
        font-size: 12px; /* 説明文を 13px に変更 */
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2ca90e4 *//* ========================================================= */
/* ベースコンテナ: top-migi-pr8 (スマホでも横並びを維持) */
/* ========================================================= */
.top-migi-pr8 {
    display: flex;
    align-items: center; 
    gap: 10px; 
    max-width: 800px;
    margin: 0; 
    text-decoration: none; 
    color: inherit; 
}

/* --------------------------------------------------------- */
/* 左側：画像コンテナ (スマホでもサイズを固定) */
/* --------------------------------------------------------- */
.top-migi-pr8__image-container {
    flex-shrink: 0; 
    width: 100px; /* スマホでの圧迫感を防ぐため、少しだけ小さく設定(PCはmax指定) */
    max-width: 130px; 
}
@media (min-width: 768px) {
    .top-migi-pr8__image-container {
        width: 130px; 
    }
}

.top-migi-pr8__image-container img {
    display: block;
    width: 100%; 
    height: auto; 
}

/* --------------------------------------------------------- */
/* 右側：テキストコンテナ */
/* --------------------------------------------------------- */
.top-migi-pr8__text-content {
    flex-grow: 1; 
    display: flex;
    flex-direction: column; 
}

.top-migi-pr8__text-content b {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #000000;
    margin-bottom: 0px;
    line-height: 1.2;
}

.top-migi-pr8__text-content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.3;
    color: #555; 
    margin-top: 0; 
    margin-bottom: 0;
}

/* ========================================================= */
/* リストコンテナ (全体の上の隙間をゼロに) */
/* ========================================================= */
.top-migi-pr8-list {
    display: flex;
    flex-direction: column;
    gap: 10px; 
    max-width: 800px;
    margin: 0px auto 5px auto; /* 上のマージンを完全に0に */
}

/* ========================================================= */
/* モバイル対応（767px 以下でも横並びを継続） */
/* ========================================================= */
@media (max-width: 767px) {
    .top-migi-pr8-list {
        /* グリッドを解除して縦並びリストに戻す（中身は横並び） */
        display: flex;
        flex-direction: column; 
        gap: 8px; /* スマホ時の項目間の隙間 */
        margin: 0px 10px 5px 10px; 
    }

    .top-migi-pr8 {
        /* flex-direction: column を削除し、横並びを維持 */
        align-items: center; 
    }

    .top-migi-pr8__text-content b {
        font-size: 13px; 
    }
    
    .top-migi-pr8__text-content p {
        font-size: 11px; /* スマホで一行が長くなりすぎないよう調整 */
    }
}/* End custom CSS */