.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:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--gap:5px 0px;--row-gap:5px;--column-gap:0px;--grid-auto-flow:row;}.elementor-77392 .elementor-element.elementor-element-0828dc1{--spacer-size:30px;}.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-b96cc41.elementor-element{--align-self:center;}.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;}.elementor-77392 .elementor-element.elementor-element-a6a927a{--spacer-size:1px;}@media(max-width:1024px){.elementor-77392 .elementor-element.elementor-element-a6eea05{--grid-auto-flow:row;}}@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%;}}@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%;--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-77392 .elementor-element.elementor-element-0828dc1{--spacer-size:20px;}.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;}.elementor-77392 .elementor-element.elementor-element-a6a927a{--spacer-size:20px;}}/* Start custom CSS for html, class: .elementor-element-4ddcade *//* ------------------------------------- */
/* 1. デスクトップ (基準サイズ) のスタイル - 詳細度をアップ */
/* ------------------------------------- */
body .heading-209 { 
    padding: 0 .4em 0;
    border-bottom: 3px solid #fff000;
    background-color: #ffffff;
    color: #000000;
    
    font-size: 25px; 
    font-weight: bold;
    
    /* ★ 修正: line-heightを1.5に統一しました */
    line-height: 2.0; 
    padding-left: 10px;
    
    margin-top: 0;
    margin-bottom: 15px;
}

/* ----------------------------------------------- */
/* アイコンのスタイル (Material Symbols Outlined対応のため修正) */
/* ----------------------------------------------- */
.heading-209 .heading-209-icon { 
    color: #fff000; 
    font-size: 40px; 
    padding : 4px;
    
    margin-right: .0em; 
    
    /* vertical-align: bottom; は、下線を揃えるために効果的です */
    vertical-align: bottom; 
    
    /* 👇 【修正1】Material Symbols Outlined の設定を追加 */
    font-family: 'Material Symbols Outlined'; /* フォントファミリーの強制適用 */
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 30; /* font-size (30px) に合わせる */
}

/* ------------------------------------- */
/* 2. タブレット向けスタイル (画面幅 900px以下) */
/* ------------------------------------- */
@media (max-width: 900px) {
    body .heading-209 { 
        font-size: 22px; 
        /* ★ 修正: line-heightを1.4に統一しました */
        line-height: 1.4; 
    }
}

/* ------------------------------------- */
/* 3. モバイル向けスタイル (画面幅 680px以下) */
/* ------------------------------------- */
@media (max-width: 680px) {
    body .heading-209 { 
        font-size: 20px; 
        /* ★ 修正: line-heightを1.3に統一しました */
        line-height: 1.8; 
        padding-left: 10px; 
    }
    
    /* アイコンのモバイル設定 (Material Symbols Outlined対応のため修正) */
    .heading-209 .heading-209-icon { 
        color: #FFF000; 
        font-size: 25px; 
        padding : 4px;
        
        /* 👇 【修正2】Material Symbols Outlined の設定を追加 */
        font-family: 'Material Symbols Outlined'; /* フォントファミリーの強制適用 */
        font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 25; /* font-size (25px) に合わせる */
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b96cc41 *//* ベースのスタイル (PC/タブレットなど) - 高さをコンパクトに調整 */
.ranklet {
  margin: 0;
  padding: 0;
  list-style: none;
  /* ★★★ border-top を削除 ★★★ */
}

.ranklet-item {
  border-bottom: 1px solid gray;
}

.ranklet-item a {
  display: flex;
  align-items: center; 
  padding: 8px 4px; 
  text-decoration: none;
  color: inherit;
}

.ranklet-item a:hover {
  background-color: ivory;
}

/* 順位 (i) のサイズ設定 (40px) */
.ranklet-item i {
  flex: 0 0 40px;
  display: grid;
  place-content: center;
  width: 40px; 
  height: 40px; 
  font-size: 1.2rem; 
  background-color: #e7e7e7;
  border-radius: 50%;
  font-style: normal;
}

/* 画像 (picture) のサイズ設定 (50px) */
.ranklet-item picture {
  flex: 0 0 50px;
  margin-left: 8px;
}

.ranklet-item picture img {
  width: 100%;
  height: auto;
  display: block;
}

/* 順位の色分け設定 (変更なし) */
.ranklet-item:first-child i { background: goldenrod; }
.ranklet-item:nth-child(2) i { background: darkgray; }
.ranklet-item:nth-child(3) i { background: rosybrown; }
.ranklet-item:nth-child(-n+3) i { color: white; font-weight: bold; }

.ranklet-item div {
  margin-left: 8px;
  display: flex; 
  align-items: center; 
  height: 100%; 
}

.ranklet-item b {
  font-size: 14px;
  font-weight: normal;
}/* 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: 600px; 
    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 */