/* ========================================================================
   ランキング表用CSS（穴場学部ランキング等で使用）
   クラス名: .table-scroll-wrapper, .ukariyasui-tbale
   開始: 258行目 ～ 終了: 521行目
   ======================================================================== */

/* -------------------------------------------------------------------------
   1. 表全体のラッパー - 横スクロール対応コンテナ
   ------------------------------------------------------------------------- */
.table-scroll-wrapper {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background: white;
  position: relative;
  /* スマホでのタッチを確実に認識 */
  touch-action: pan-x pan-y;
  /* スクロール性能の向上 */
  will-change: scroll-position;
  /* タッチ遅延の削除 */
  -ms-touch-action: pan-x pan-y;
}

/* -------------------------------------------------------------------------
   2. スクロールバーのカスタマイズ（Webkit系ブラウザ）
   ------------------------------------------------------------------------- */
.table-scroll-wrapper::-webkit-scrollbar {
  height: 10px;
}

.table-scroll-wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 5px;
}

.table-scroll-wrapper::-webkit-scrollbar-thumb {
  background: #020352;
  border-radius: 5px;
}

.table-scroll-wrapper::-webkit-scrollbar-thumb:hover {
  background: #010128;
}

/* -------------------------------------------------------------------------
   3. ランキング表本体 (.ukariyasui-tbale)
   ------------------------------------------------------------------------- */
.table-scroll-wrapper .ukariyasui-tbale {
  width: 100% !important;
  min-width: 950px; /* スクロール確実に発生させる */
  border-collapse: collapse !important;
  background: white;
  font-size: 14px;
  margin: 0 !important;
  /* スマホでのタップ反応を完全に無効化 */
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
}

/* -------------------------------------------------------------------------
   4. テーブルヘッダー（固定ヘッダー）
   ------------------------------------------------------------------------- */
.table-scroll-wrapper .ukariyasui-tbale thead tr th {
  background: linear-gradient(135deg, #020352 0%, #04056e 100%) !important;
  color: #ffffff !important;
  padding: 16px 12px !important;
  text-align: center !important;
  font-weight: bold !important;
  border: 1px solid #010128 !important;
  white-space: nowrap;
  line-height: 1.4;
  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  /* スマホでのタップハイライトを無効化 */
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
}

/* -------------------------------------------------------------------------
   5. 列幅の設定（各カラムのサイズ指定）
   ------------------------------------------------------------------------- */
.table-scroll-wrapper .ukariyasui-tbale .rank-col {
  width: 100px;
  min-width: 100px;
}

.table-scroll-wrapper .ukariyasui-tbale .total-col {
  width: 110px;
  min-width: 110px;
}

.table-scroll-wrapper .ukariyasui-tbale .gakubu-col {
  width: 340px;
  min-width: 340px;
}

.table-scroll-wrapper .ukariyasui-tbale .score-col {
  width: 100px;
  min-width: 100px;
}

/* -------------------------------------------------------------------------
   6. テーブルボディのセル（基本スタイル）
   ------------------------------------------------------------------------- */
.table-scroll-wrapper .ukariyasui-tbale tbody td {
  padding: 14px 12px !important;
  text-align: center !important;
  border: 1px solid #e0e0e0 !important;
  /* スマホでのタップハイライトを完全に無効化 */
  -webkit-tap-highlight-color: transparent;
  /* テキスト選択を無効化（スクロール時の誤選択防止） */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* PCのみtransitionを有効化 */
@media (hover: hover) and (pointer: fine) {
  .table-scroll-wrapper .ukariyasui-tbale tbody td {
    transition: all 0.2s ease;
  }
}

/* 学部名列は左寄せ */
.table-scroll-wrapper .ukariyasui-tbale .gakubu-col {
  text-align: left !important;
  padding-left: 16px !important;
  font-weight: 500;
}

/* -------------------------------------------------------------------------
   7. ゼブラストライプ（行ごとの背景色交互）
   ------------------------------------------------------------------------- */
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(odd) td {
  background-color: #fafafa !important;
}

/* 偶数行 */
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(even) td {
  background-color: #ffffff !important;
}

/* -------------------------------------------------------------------------
   8. ランキング上位のハイライト（1-3位、4-10位）
   ------------------------------------------------------------------------- */
/* Top3（金色グラデーション） */
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(1) .rank-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(2) .rank-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(3) .rank-col {
  background: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%) !important;
  font-weight: bold !important;
  font-size: 15px;
}

/* 4-10位のハイライト */
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(4) .rank-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(5) .rank-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(6) .rank-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(7) .rank-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(8) .rank-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(9) .rank-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(10) .rank-col {
  background-color: #e8f4f8 !important;
  font-weight: 600;
}

/* -------------------------------------------------------------------------
   9. 総合指数列のスタイル（オレンジグラデーション）
   ------------------------------------------------------------------------- */
.table-scroll-wrapper .ukariyasui-tbale tbody .total-col {
  background: linear-gradient(135deg, #ff9800 0%, #ffb74d 100%) !important;
  font-weight: bold !important;
  font-size: 16px !important;
  color: #ffffff !important;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}

.table-scroll-wrapper .ukariyasui-tbale thead .total-col {
  background: linear-gradient(135deg, #f57c00 0%, #ff9800 100%) !important;
}

/* Top3の総合指数 - さらに強調 */
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(1) .total-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(2) .total-col,
.table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(3) .total-col {
  background: linear-gradient(135deg, #ff6b00 0%, #ff8f00 100%) !important;
  font-size: 18px !important;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
}

/* -------------------------------------------------------------------------
   10. メダル絵文字のスタイル（&#x1f947;&#x1f948;&#x1f949;）
   ------------------------------------------------------------------------- */
.medal {
  font-size: 20px;
  margin-right: 6px;
  vertical-align: middle;
  display: inline-block;
}

/* -------------------------------------------------------------------------
   11. ホバー効果（PC専用 - スマホでは無効）
   ------------------------------------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
  .table-scroll-wrapper .ukariyasui-tbale tbody tr:hover td {
    transform: scale(1.01);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }
}

/* -------------------------------------------------------------------------
   12. スクロールヒント（横スワイプを促すメッセージ）
   ------------------------------------------------------------------------- */
.scroll-hint {
  display: block;
  text-align: center;
  padding: 12px;
  background: linear-gradient(90deg, #f0f0f0 0%, #e8e8e8 50%, #f0f0f0 100%);
  color: #666;
  font-size: 13px;
  font-weight: 600;
  border-top: 2px solid #ddd;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* -------------------------------------------------------------------------
   13. スマホ専用レスポンシブ対応（768px以下）
   ------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .table-scroll-wrapper {
    margin: 15px -15px; /* 画面端まで広げる */
    border-radius: 0;
    box-shadow: none;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    /* スマホでのスクロール改善 */
    overflow-x: scroll;
    overflow-y: visible;
  }

  .table-scroll-wrapper .ukariyasui-tbale {
    font-size: 12px !important;
    min-width: 900px; /* スマホでも確実にスクロール */
  }

  /* スマホではヘッダーのstickyを無効化してスクロールをスムーズに */
  .table-scroll-wrapper .ukariyasui-tbale thead tr th {
    position: static !important;
  }

  .table-scroll-wrapper .ukariyasui-tbale thead tr th,
  .table-scroll-wrapper .ukariyasui-tbale tbody td {
    padding: 10px 8px !important;
  }
  
  .table-scroll-wrapper .ukariyasui-tbale .gakubu-col {
    width: 280px;
    min-width: 280px;
    padding-left: 12px !important;
  }
  
  .table-scroll-wrapper .ukariyasui-tbale .total-col {
    width: 90px;
    min-width: 90px;
    font-size: 14px !important;
  }
  
  .table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(1) .total-col,
  .table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(2) .total-col,
  .table-scroll-wrapper .ukariyasui-tbale tbody tr:nth-child(3) .total-col {
    font-size: 15px !important;
  }
  
  .medal {
    font-size: 16px;
    margin-right: 3px;
  }
  
  .scroll-hint {
    font-size: 12px;
    padding: 10px;
  }

  /* スマホでのスクロールを完全に最適化 */
  .table-scroll-wrapper * {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
  }

  .table-scroll-wrapper table {
    pointer-events: auto;
  }
}

/* -------------------------------------------------------------------------
   14. PC専用設定（769px以上）
   ------------------------------------------------------------------------- */
@media screen and (min-width: 769px) {
  .scroll-hint {
    display: none;
  }
}

.systemtitle-red {
            background: linear-gradient(135deg, #e74c3c, #c0392b);
            color: white;
            padding: 15px 20px !important;
            border-radius: 8px;
            font-size: 20px !important;
            font-weight: bold;
            margin: 30px 0 20px 0;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
============================
/* 大きなアンカーボタン（目次用） */
.anchor-button {
    display: inline-block ;
    padding: 15px 30px;
    margin: 10px 0;
    background: #0066cc !important;
    color: white !important;
    text-decoration: none !important;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    transition: background 0.3s ease;
}

.anchor-button:hover {
    background: #0052a3;
    color: white !important;
}

/* 小さなアンカーボタン（ナビゲーション用） */
.anchor-button-small {
    display: inline-block;
    padding: 10px 20px;
    margin: 0 5px;
    background: #0066cc;
    color: white !important;
    text-decoration: none !important;
    border-radius: 5px;
    font-size: 14px;
    transition: background 0.3s ease;
}

.anchor-button-small:hover {
    background: #0052a3;
    color: white !important;
}

/* ナビゲーションボックス */
.nav-box {
    margin: 40px 0;
    padding: 20px;
    background: #f5f5f5;
    border-radius: 8px;
    text-align: center;
}

.nav-box-title {
    margin-bottom: 15px;
    font-weight: bold;
    color: #333;
}

/* ナビゲーションボックス内のボタンを横並びに（重要！） */
.nav-box p {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0;
}

/* アンカーボタンコンテナ */
.anchor-buttons-container {
    margin: 30px 0;
}

.anchor-button-wrapper {
    margin-bottom: 15px;
}

/* ==============================================
   レスポンシブ対応（モバイルでも横並び）
   ============================================== */
@media (max-width: 768px) {
    .anchor-button {
        display: block;
        width: 100%;
        padding: 12px 20px;
        font-size: 14px;
    }
    
    /* モバイルでも横並びにする設定 */
    .anchor-button-small {
        flex: 1 1 auto;        /* フレックスアイテムとして伸縮 */
        min-width: 120px;      /* 最小幅（これ以下で折り返し） */
        margin: 0;             /* 余白はgapで管理 */
        padding: 10px 15px;
        font-size: 13px;
    }

    .nav-box {
        margin: 30px 0;
        padding: 15px;
    }

    /* モバイルでも横並びを維持 */
    .nav-box p {
        gap: 8px;              /* ボタン間の余白を少し狭く */
    }
}
ーーーーーーーーーーーーーーー

        .frame-red {
            background: #fce4ec;
            border: 3px solid #e91e63;
            border-radius: 8px;
            padding: 25px;
            margin: 25px 0;
        }

        .framered-title {
            font-size: 18px;
            font-weight: bold;
            color: #c2185b;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
        }

        .framered-title i {
            margin-right: 8px;
        }


        .systemtitle-pink {
            background: linear-gradient(135deg, #ff6b6b, #ee5a52);
            color: white;
            padding: 15px 20px !important;
            border-radius: 8px;
            font-size: 20px !important;
            font-weight: bold;
            margin: 30px 0 20px 0;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
         .ranking_head-blue {
            background: #f8f9fa;
            border: 3px solid #007bff;
            border-radius: 10px;
            padding: 20px;
            margin: 20px 0;
        }
        
        .ranking_head-blue span {
            display: block;
            font-size: 18px;
            font-weight: bold;
            color: #007bff;
            margin-bottom: 15px;
            text-align: center;
        }
        
        .ranking_head-blue_box ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        
        .ranking_head-blue_box li {
            background: white;
            padding: 12px 15px !important;
            margin: 8px 0 !important;
            border-left: 4px solid #007bff;
            border-radius: 4px;
            font-weight: bold;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        .systemtitle-green {
            background: linear-gradient(135deg, #4ecdc4, #44a08d);
            color: white;
            padding: 12px 18px !important;
            border-radius: 6px;
            font-size: 18px !important;
            font-weight: bold;
            margin: 25px 0 15px 0;
        }
        
       
        .ol-blue-m {
            counter-reset: item;
            padding-left: 0;
        }
        
        .ol-blue-m li {
            display: block;
            margin-bottom: 10px !important;
            padding-left: 40px !important;
            position: relative;
        }
        
        .ol-blue-m li:before {
            content: counter(item);
            counter-increment: item;
            background: #007bff;
            color: white;
            width: 25px;
            height: 25px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            left: 0;
            top: 0;
            font-weight: bold;
            font-size: 14px;
        }
       
.gmarch-ranking-container {
    width: 100%;
    margin: 20px 0;
    overflow-x: auto;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.gmarch-ranking-table {
    width: 100%;
    min-width: 1000px;
    border-collapse: collapse;
    font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-size: 14px;
    line-height: 1.4;
    background: #ffffff;
}

/* ヘッダー行のスタイル */
.gmarch-ranking-table .gmarch-header-main {
    background: linear-gradient(135deg, #020352, #1a1a8a);
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    padding: 12px 8px;
    border: 1px solid #000000;
    font-size: 13px;
    vertical-align: middle;
}

.gmarch-ranking-table .gmarch-header-sub {
    background: linear-gradient(135deg, #020352, #1a1a8a);
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    padding: 10px 6px;
    border: 1px solid #000000;
    font-size: 12px;
    vertical-align: middle;
}

/* データ行のスタイル */
.gmarch-ranking-table .gmarch-data-row {
    transition: background-color 0.2s ease;
}

.gmarch-ranking-table .gmarch-data-row:hover {
    background-color: #f8f9fa;
}

/* ランキング順位セル */
.gmarch-ranking-table .gmarch-rank-cell {
    text-align: center;
    padding: 12px 8px;
    border: 1px solid #000000;
    font-weight: bold;
    vertical-align: middle;
    min-width: 60px;
}

.gmarch-ranking-table .gmarch-rank-gold {
    background: linear-gradient(135deg, #dedf59, #f4f467);
    color: #333333;
}

.gmarch-ranking-table .gmarch-rank-silver {
    background: linear-gradient(135deg, #dedf59, #f4f467);
    color: #333333;
}

.gmarch-ranking-table .gmarch-rank-bronze {
    background: linear-gradient(135deg, #dedf59, #f4f467);
    color: #333333;
}

.gmarch-ranking-table .gmarch-rank-normal {
    background: #ffffff;
    color: #333333;
}

.gmarch-ranking-table .gmarch-rank-last {
    background: linear-gradient(135deg, #ffcccb, #ffb3b3);
    color: #333333;
}

/* 学部・学科名セル */
.gmarch-ranking-table .gmarch-department-cell {
    text-align: left;
    padding: 12px 10px;
    border: 1px solid #000000;
    font-weight: 500;
    vertical-align: middle;
    min-width: 200px;
    max-width: 250px;
    word-wrap: break-word;
    line-height: 1.3;
}

/* 総合指数セル */
.gmarch-ranking-table .gmarch-score-cell {
    text-align: center;
    padding: 12px 8px;
    border: 1px solid #000000;
    font-weight: bold;
    vertical-align: middle;
    min-width: 80px;
    color: #d32f2f;
    font-size: 15px;
}

/* 倍率関連セル */
.gmarch-ranking-table .gmarch-ratio-cell {
    text-align: center;
    padding: 12px 8px;
    border: 1px solid #000000;
    vertical-align: middle;
    min-width: 70px;
    font-weight: 500;
}

/* 英検関連セル */
.gmarch-ranking-table .gmarch-eiken-cell {
    text-align: center;
    padding: 12px 8px;
    border: 1px solid #000000;
    vertical-align: middle;
    min-width: 80px;
    font-weight: 500;
}

/* 英語レベルセル */
.gmarch-ranking-table .gmarch-level-cell {
    text-align: center;
    padding: 12px 8px;
    border: 1px solid #000000;
    vertical-align: middle;
    min-width: 100px;
    font-weight: 500;
    font-size: 12px;
}

/* 安定性星印セル */
.gmarch-ranking-table .gmarch-stability-cell {
    text-align: center;
    padding: 12px 8px;
    border: 1px solid #000000;
    vertical-align: middle;
    min-width: 60px;
    font-size: 16px;
    color: #ffc107;
}

/* 英語レベル別の色分け */
.gmarch-level-grade2 {
    background-color: #e8f5e8;
    color: #2e7d32;
}

.gmarch-level-grade2-high {
    background-color: #fff3e0;
    color: #ef6c00;
}

.gmarch-level-pre1 {
    background-color: #fce4ec;
    color: #c2185b;
}

.gmarch-level-pre1-high {
    background-color: #f3e5f5;
    color: #7b1fa2;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .gmarch-ranking-container {
        margin: 15px -10px;
        border-radius: 0;
    }
    
    .gmarch-ranking-table {
        font-size: 12px;
        min-width: 900px;
    }
    
    .gmarch-ranking-table .gmarch-header-main {
        padding: 10px 6px;
        font-size: 11px;
    }
    
    .gmarch-ranking-table .gmarch-header-sub {
        padding: 8px 4px;
        font-size: 10px;
    }
    
    .gmarch-ranking-table .gmarch-rank-cell,
    .gmarch-ranking-table .gmarch-score-cell,
    .gmarch-ranking-table .gmarch-ratio-cell,
    .gmarch-ranking-table .gmarch-eiken-cell,
    .gmarch-ranking-table .gmarch-level-cell,
    .gmarch-ranking-table .gmarch-stability-cell {
        padding: 8px 4px;
        font-size: 11px;
    }
    
    .gmarch-ranking-table .gmarch-department-cell {
        padding: 8px 6px;
        font-size: 11px;
        min-width: 150px;
        max-width: 180px;
    }
    
    .gmarch-ranking-table .gmarch-score-cell {
        font-size: 12px;
    }
}

@media screen and (max-width: 480px) {
    .gmarch-ranking-table {
        font-size: 10px;
        min-width: 800px;
    }
    
    .gmarch-ranking-table .gmarch-header-main {
        padding: 8px 4px;
        font-size: 9px;
    }
    
    .gmarch-ranking-table .gmarch-header-sub {
        padding: 6px 3px;
        font-size: 8px;
    }
    
    .gmarch-ranking-table .gmarch-rank-cell,
    .gmarch-ranking-table .gmarch-score-cell,
    .gmarch-ranking-table .gmarch-ratio-cell,
    .gmarch-ranking-table .gmarch-eiken-cell,
    .gmarch-ranking-table .gmarch-level-cell,
    .gmarch-ranking-table .gmarch-stability-cell {
        padding: 6px 3px;
        font-size: 9px;
    }
    
    .gmarch-ranking-table .gmarch-department-cell {
        padding: 6px 4px;
        font-size: 9px;
        min-width: 120px;
        max-width: 150px;
    }
    
    .gmarch-ranking-table .gmarch-score-cell {
        font-size: 10px;
    }
}

/* 印刷時の調整 */
@media print {
    .gmarch-ranking-container {
        box-shadow: none;
        margin: 10px 0;
    }
    
    .gmarch-ranking-table {
        font-size: 10px;
    }
    
    .gmarch-ranking-table .gmarch-header-main,
    .gmarch-ranking-table .gmarch-header-sub {
        background: #333333 !important;
        color: #ffffff !important;
    }
    
    .gmarch-ranking-table .gmarch-rank-gold,
    .gmarch-ranking-table .gmarch-rank-silver,
    .gmarch-ranking-table .gmarch-rank-bronze {
        background: #f0f0f0 !important;
    }
    
    .gmarch-ranking-table .gmarch-rank-last {
        background: #e0e0e0 !important;
    }
}
        
        
        .frame-pink {
	   border-radius: 8px;
            padding: 20px;
            margin: 20px 0;
            background: #fff5f5;
            border: 2px solid #ff6b6b;
        }
        
        .frame-pinktitle {
            font-weight: bold;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
        }
        
        .frame-pinktitle i {
            margin-right: 8px;
            color: #ff6b6b;
        }
        
    
        .eiken-table-blue {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
        }
        
        .eikentable-blue-backgrouund {
            background: #007bff;
            color: white;
            padding: 12px;
            font-weight: bold;
        }
        
        .eiken-tbody-blue tr:nth-child(even) {
            background: #f8f9fa;
        }
        
        .eiken-txt-blue {
            background: #e3f2fd;
            font-weight: bold;
            padding: 10px;
        }
        
        .eiken-price-blue {
            padding: 10px;
            text-align: center;
        }
        
        .check-box-y {
            background: #fff8e1;
            border: 2px solid #ffc107;
            border-radius: 8px;
            padding: 20px;
            margin: 20px 0;
        }
        
        .box-title {
            font-weight: bold;
            color: #f57c00;
            margin-bottom: 10px;
        }
        
        .ul-checked {
            list-style: none;
            padding: 0;
        }
        
        .ul-checked li {
            position: relative;
            padding-left: 25px !important;
            margin-bottom: 8px !important;
        }
        
        .ul-checked li:before {
            content: "✓";
            color: #4caf50;
            font-weight: bold;
            position: absolute;
            left: 0;
        }
        
        
        @media (max-width: 768px) {            
            .systemtitle-pink {
                font-size: 18px;
                padding: 12px 15px;
            }
            
            .gmarch-tbale {
                font-size: 12px;
            }
            
            .gmarch-tbale td, .gmarch-tbale th {
                padding: 6px 4px;
            }
        }

/* MarsEdit用CSS - スマホでもテーブル表示 */
.exam-comparison {
    font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
    line-height: 1.4;
    color: #333;
    max-width: 100%;
    margin: 20px 0;
}

.exam-comparison h2 {
    text-align: center;
    margin-bottom: 20px;
    color: #2c3e50;
    font-size: 1.4rem;
}

/* 横スクロール対応コンテナ */
.table-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    background: white;
    position: relative;
}

/* スクロールヒント */
.scroll-hint {
    display: none;
    text-align: center;
    font-size: 0.8rem;
    color: #666;
    margin-bottom: 8px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

/* 評価星のスタイル */
.rating {
    display: inline-block;
    font-weight: bold;
    font-size: 0.9em;
    color: #ffc107;
    margin-right: 4px;
}

.rating-high {
    color: #28a745;
}

/* ハイライト - 簡素化 */
.highlight-blue {
    background-color: #e3f2fd;
    padding: 1px 3px;
    border-radius: 3px;
    color: #1976d2;
    font-weight: bold;
    font-size: 0.85em;
}

.highlight-red {
    background-color: #ffebee;
    padding: 1px 3px;
    border-radius: 3px;
    color: #d32f2f;
    font-weight: bold;
    font-size: 0.85em;
}

/* コンパクトテーブル */
.comparison-table {
    width: 100%;
    min-width: 600px; 
    border-collapse: collapse;
    background: white;
    font-size: 12px;
    line-height: 1.3;
}

@media screen and (max-width: 480px) {
  .comparison-table {
    min-width: 500px;
  }

}

.comparison-table th,
.comparison-table td {
    padding: 8px 6px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
    word-wrap: break-word;
}

.comparison-table th {
    background-color: #2c3e50;
    color: white;
    font-weight: bold;
    font-size: 11px;
    position: sticky;
    top: 0;
    z-index: 10;
}

.comparison-feature {
    background-color: #34495e !important;
    color: white;
    font-weight: bold;
    width: 80px;
    min-width: 80px;
    font-size: 10px;
    position: sticky;
    left: 0;
    z-index: 11;
}

.comparison-kawai {
    background-color: #fff8f0;
    border-left: 2px solid #ff9800;
    width: 180px;
    max-width: 180px;
}

.comparison-toshin {
    background-color: #f8fff8;
    border-left: 2px solid #4caf50;
    width: 180px;
    max-width: 180px;
}

.comparison-yozemi {
    background-color: #f8f8ff;
    border-left: 2px solid #2196f3;
    width: 180px;
    max-width: 180px;
}

/* 情報を簡潔にまとめたスタイル */
.exam-title {
    font-weight: bold;
    font-size: 11px;
    color: #2c3e50;
    margin-bottom: 2px;
}

.exam-detail {
    font-size: 10px;
    color: #555;
    line-height: 1.2;
}

.exam-detail br {
    line-height: 1.1;
}

/* 横スクロール用の視覚的フィードバック */
.table-container::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 100%;
    background: linear-gradient(to left, rgba(255,255,255,0.8), transparent);
    pointer-events: none;
    z-index: 5;
}

.table-container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 80px; /* comparison-feature幅の後 */
    width: 20px;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0.8), transparent);
    pointer-events: none;
    z-index: 5;
}

/* スマホ専用スタイル */
@media screen and (max-width: 768px) {
    .exam-comparison h2 {
        font-size: 1.2rem;
        margin-bottom: 15px;
    }
    
    .scroll-hint {
        display: block;
    }
    
    .comparison-table {
        font-size: 11px;
        min-width: 550px;
    }
    
    .comparison-table th,
    .comparison-table td {
        padding: 6px 4px;
    }
    
    .comparison-feature {
        width: 70px;
        min-width: 70px;
        font-size: 9px;
    }
    
    .comparison-kawai,
    .comparison-toshin,
    .comparison-yozemi {
        width: 160px;
        max-width: 160px;
    }
    
    .exam-title {
        font-size: 10px;
    }
    
    .exam-detail {
        font-size: 9px;
    }
    
    .rating {
        font-size: 0.8em;
    }
    
    .table-container::after {
        left: 70px;
    }
}

@media screen and (max-width: 480px) {
    .comparison-table {
        font-size: 10px;
        min-width: 500px;
    }
    
    .comparison-table th,
    .comparison-table td {
        padding: 5px 3px;
    }
    
    .comparison-feature {
        width: 60px;
        min-width: 60px;
        font-size: 8px;
    }
    
    .comparison-kawai,
    .comparison-toshin,
    .comparison-yozemi {
        width: 140px;
        max-width: 140px;
    }
    
    .exam-title {
        font-size: 9px;
    }
    
    .exam-detail {
        font-size: 8px;
    }
    
    .table-container::after {
        left: 60px;
    }
}

/* タッチデバイス用のスクロール改善 */
@media (hover: none) and (pointer: coarse) {
    .table-container {
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
    }
}


.gmarch-wrapper {
      font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
      line-height: 1.8;
      color: #333;
      margin: 0;          /* ←上下左右の余白をリセット   */
      padding: 20px;      /* ←従来どおりの内側余白       */
      background-color: #f8f9fa; /* ←従来どおり薄グレー背景 */
    }

    /* 既存の .gmarch-container 以下はそのまま */
    .gmarch-container {
      max-width: 800px;
      margin: 0 auto;
      background: #fff;
      padding: 40px;
      border-radius: 10px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }

       .gmarch-wrapper h1 {
            color: #2c5aa0;
            font-size: 28px;
            text-align: center;
            margin-bottom: 30px;
            border-bottom: 3px solid #2c5aa0;
            padding-bottom: 15px;
        }
        
        .gmarch-section-title {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            padding: 15px 20px;
            margin: 30px 0 20px 0;
            border-radius: 8px;
            font-size: 20px;
            font-weight: bold;
        }
        
        .gmarch-juku-title {
            background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            color: white;
            padding: 15px 20px;
            margin: 30px 0 20px 0;
            border-radius: 8px;
            font-size: 20px;
            font-weight: bold;
        }
        
        .gmarch-highlight-red {
            background-color: #ffebee;
            color: #c62828;
            padding: 2px 6px;
            border-radius: 4px;
            font-weight: bold;
        }
        
        .gmarch-highlight-yellow {
            background-color: #fff3e0;
            color: #ef6c00;
            padding: 2px 6px;
            border-radius: 4px;
            font-weight: bold;
        }
        
        .gmarch-list-blue {
            background: #e3f2fd;
            padding: 20px;
            border-radius: 8px;
            border-left: 5px solid #2196f3;
        }
        
        .gmarch-list-blue li {
            margin: 8px 0;
            font-weight: bold;
            color: #1976d2;
        }
        
        table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }
        
        .gmarch-table-header {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            padding: 15px;
            text-align: center;
            font-weight: bold;
        }
        
        .gmarch-table-body tr:nth-child(even) {
            background-color: #f8f9fa;
        }
        
        .gmarch-table-cell-title {
            background: #e8f5e8;
            font-weight: bold;
            padding: 15px;
            border: 1px solid #ddd;
            color: #2e7d32;
        }
        
        .gmarch-table-cell {
            padding: 15px;
            border: 1px solid #ddd;
            vertical-align: top;
        }
        
        .gmarch-rating {
            color: #ffc107;
            font-size: 18px;
        }
        
        .gmarch-heading-under {
            color: #2c5aa0;
            border-bottom: 2px solid #2c5aa0;
            padding-bottom: 8px;
            margin: 25px 0 15px 0;
        }
        
        .gmarch-process-highlight {
            background: #fff3e0;
            color: #ef6c00;
            padding: 10px 15px;
            border-radius: 6px;
            border-left: 4px solid #ff9800;
            margin: 20px 0;
            font-weight: bold;
        }
        
        .gmarch-merit-box {
            background: #e8f5e8;
            border: 2px solid #4caf50;
            border-radius: 10px;
            padding: 20px;
            margin: 25px 0;
        }
        
        .gmarch-box-title {
            background: #4caf50;
            color: white;
            padding: 10px 15px;
            border-radius: 6px;
            font-weight: bold;
            margin-bottom: 15px;
        }
        
        .gmarch-box-content {
            font-size: 16px;
            line-height: 1.6;
        }
        
        .gmarch-yellow-box {
            background: #fff9c4;
            border: 2px solid #fbc02d;
            border-radius: 8px;
            padding: 15px;
            margin: 20px 0;
            font-weight: bold;
            text-align: center;
        }
        
        .gmarch-balloon-comment {
            display: flex;
            align-items: flex-start;
            margin: 20px 0;
            padding: 15px;
            background: #f5f5f5;
            border-radius: 10px;
        }
        
        .gmarch-balloon-comment img {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            margin-right: 15px;
            background: #ddd;
        }
        
        .gmarch-comment-text {
            background: white;
            padding: 12px 15px;
            border-radius: 15px;
            border: 2px solid #e0e0e0;
            position: relative;
            margin: 0;
        }
        
        .gmarch-comment-text::before {
            content: '';
            position: absolute;
            left: -10px;
            top: 15px;
            width: 0;
            height: 0;
            border: 10px solid transparent;
            border-right-color: white;
        }
        
.gmarch-wrapper ul {
    padding-left: 20px;
  }

  .gmarch-wrapper li {
    margin: 8px 0;
  }

  .gmarch-wrapper strong {
    color: #2c5aa0;
  }        
        
        .gmarch-star-rating {
            color: #ffc107;
            font-size: 16px;
        }
        
        .gmarch-merit-demerit-section {
            display: flex;
            gap: 20px;
            margin: 20px 0;
        }
        
        .gmarch-merit-container, .gmarch-demerit-container {
            flex: 1;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }
        
        .gmarch-merit-container {
            background: linear-gradient(135deg, #e8f5e8 0%, #f0fff0 100%);
            border: 2px solid #4caf50;
        }
        
        .gmarch-demerit-container {
            background: linear-gradient(135deg, #ffebee 0%, #fff5f5 100%);
            border: 2px solid #f44336;
        }
        
        .gmarch-merit-header {
            color: #2e7d32;
            font-size: 18px;
            font-weight: bold;
            margin: 0 0 15px 0;
            padding: 10px 15px;
            background: #4caf50;
            color: white;
            border-radius: 6px;
        }
        
        .gmarch-demerit-header {
            color: #c62828;
            font-size: 18px;
            font-weight: bold;
            margin: 0 0 15px 0;
            padding: 10px 15px;
            background: #f44336;
            color: white;
            border-radius: 6px;
        }
        
        .gmarch-merit-list, .gmarch-demerit-list {
            margin: 0;
            padding-left: 20px;
        }
        
        .gmarch-merit-list li, .gmarch-demerit-list li {
            margin: 8px 0;
            line-height: 1.6;
        }
        
        @media (max-width: 768px) {
            .gmarch-merit-demerit-section {
                flex-direction: column;
                gap: 15px;
            }
            
            .gmarch-merit-container, .gmarch-demerit-container {
                padding: 15px;
            }
}

.cta-mid-section {
  margin: 40px 0;
  padding: 25px;
  background-color: #f8f9fa;
  border-radius: 10px;
  border-left: 5px solid #3498db;
}

.cta-heading {
  text-align: center;
  font-size: 24px;
  color: #2c3e50;
  margin-bottom: 20px;
}

.cta-box {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.cta-content {
  flex: 1;
  min-width: 300px;
}

@media (max-width: 768px) {
  .cta-box { flex-direction: column; }
  .cta-image { order: -1; }
  .cta-content { min-width: 0; } /* ← これを追加 */
  .cta-mid-section { padding: 15px; } /* ← パディングも緩和すると安全 */
}

.cta-image {
  flex: 0 0 300px;
  text-align: center;
}

.cta-caption {
  font-size: 12px;
  color: #7f8c8d;
  margin-top: 5px;
}

.cta-checklist {
  background-color: white;
	color: #333333;
  padding: 15px;
  border-radius: 5px;
  margin: 15px 0;
}

.cta-checklist ul {
  margin: 0;
  padding-left: 20px;
}

.cta-checklist li {
  margin-bottom: 5px;
  list-style-type: none;
}

.cta-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.cta-primary-button {
  background-color: #e74c3c;
  color: white;
  padding: 12px 20px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  transition: background-color 0.3s;
}

.cta-primary-button:hover {
  background-color: #c0392b;
}

.cta-secondary-button {
  background-color: #ecf0f1;
  color: #34495e;
  padding: 12px 20px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  transition: background-color 0.3s;
}

.cta-secondary-button:hover {
  background-color: #bdc3c7;
}

@media (max-width: 768px) {
  .cta-box {
    flex-direction: column;
  }
  .cta-image {
    order: -1;
  }
}

.comparison-table-container {
  margin: 30px 0;
  background: #f9f9f9;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
	overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.comparison-title {
  text-align: center;
  margin-bottom: 20px;
  font-size: 22px;
  color: #333;
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 15px;
}

.comparison-table th, .comparison-table td {
  padding: 15px;
  border: 1px solid #ddd;
  text-align: left;
}

.comparison-table thead {
  background-color: #f2f2f2;
}

.comparison-feature {
  font-weight: bold;
  width: 18%;
  background-color: #f5f5f5;
}

.comparison-others {
  width: 41%;
  background-color: #fff6f6;
}

.comparison-hiroacademia {
  width: 41%;
  background-color: #f0f9ff;
  font-weight: 500;
}

.comparison-note {
  text-align: center;
  font-style: italic;
  color: #666;
  margin-top: 10px;
}

/* 基本スタイル */
.hirogaku-interview-container {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
  color: #333;
  line-height: 1.6;
}

/* ヘッダースタイル */
.hirogaku-interview-header {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
}

.hirogaku-title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #1a1a1a;
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
}

.hirogaku-title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: linear-gradient(to right, #4a90e2, #50e3c2);
}

.hirogaku-interview-hero {
  position: relative;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hirogaku-interview-badge {
  background: linear-gradient(45deg, #ff6b6b, #ffa36b);
  color: white;
  font-weight: bold;
  font-size: 20px;
  padding: 10px 20px;
  border-radius: 30px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transform: rotate(-2deg);
  position: relative;
}

.hirogaku-badge-text {
  position: relative;
  z-index: 2;
}

.hirogaku-interview-badge:before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(45deg, #ff9a9e, #fad0c4);
  border-radius: 30px;
  z-index: 1;
  filter: blur(8px);
  opacity: 0.6;
}

/* セクションスタイル */
.hirogaku-section {
  margin-bottom: 50px;
}

.hirogaku-section-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 25px;
  padding-left: 15px;
  border-left: 5px solid #4a90e2;
  color: #2c3e50;
}

/* モダンでおしゃれな受験結果テーブルスタイル */
.hirogaku-results-table {
  margin: 30px 0;
}

.hirogaku-results-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background-color: transparent;
  box-shadow: none;
  overflow: visible;
}

.hirogaku-results-table th {
  background: linear-gradient(45deg, #4a90e2, #50e3c2);
  color: white;
  font-weight: 600;
  text-align: left;
  padding: 14px 18px;
  border-radius: 8px 8px 0 0;
  position: relative;
}

.hirogaku-results-table th:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 25%;
  height: 50%;
  width: 1px;
  background-color: rgba(255, 255, 255, 0.3);
}

.hirogaku-results-table td {
  padding: 14px 18px;
  border-bottom: none;
  background-color: #fff;
  position: relative;
}

.hirogaku-results-table tr:nth-child(odd) td {
  background-color: #f8fafd;
}

.hirogaku-results-table tr:last-child td {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

.hirogaku-results-table tr:hover td {
  background-color: #f0f7ff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.1);
  transition: all 0.3s ease;
}

.hirogaku-results-table tbody {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  border-radius: 0 0 8px 8px;
}

/* 備考欄のスタイル */
.hirogaku-results-table td:last-child {
  color: #4a90e2;
  font-weight: 500;
}

/* 現役時の点数テーブルスタイル - よりモダンに */
.hirogaku-score-compact-table {
  margin: 30px 0;
}

.hirogaku-score-compact-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background-color: transparent;
  box-shadow: none;
}

.hirogaku-score-compact-table th {
  background: linear-gradient(45deg, #2c3e50, #4a5f72);
  color: white;
  font-weight: 600;
  text-align: left;
  padding: 14px 18px;
  border-radius: 8px 8px 0 0;
  position: relative;
}

.hirogaku-score-compact-table th:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 25%;
  height: 50%;
  width: 1px;
  background-color: rgba(255, 255, 255, 0.3);
}

.hirogaku-score-compact-table td {
  padding: 14px 18px;
  border-bottom: none;
  background-color: #fff;
  font-size: 14px;
}

.hirogaku-score-compact-table tr:nth-child(even) td {
  background-color: #f8fafd;
}

.hirogaku-score-compact-table tbody tr:hover td {
  background-color: #f0f7ff;
  transform: translateY(-2px);
  transition: all 0.3s ease;
}

.hirogaku-score-compact-table td:last-child {
  font-weight: 600;
  color: #e74c3c;
  position: relative;
}

.hirogaku-score-compact-table td:last-child::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, transparent, #e74c3c, transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.hirogaku-score-compact-table tr:hover td:last-child::before {
  opacity: 0.3;
}

/* 大学名のスタイル - よりモダンに */
.hirogaku-score-compact-table tr td:first-child {
  background: linear-gradient(to right, #f0f4f8, transparent);
  font-weight: 600;
  border-left: 3px solid #4a90e2;
}

/* 学部名のスタイル - よりモダンに */
.hirogaku-score-compact-table tr td:nth-child(2) {
  color: #4a90e2;
  position: relative;
}

.hirogaku-score-compact-table tbody {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  border-radius: 0 0 8px 8px;
}

/* 教科別点数のセル */
.hirogaku-score-compact-table td:nth-child(3) {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  letter-spacing: -0.5px;
}

/* アニメーション */
.hirogaku-results-table,
.hirogaku-score-compact-table {
  opacity: 0;
  transform: translateY(20px);
  animation: tableAppear 0.8s forwards 0.2s;
}

@keyframes tableAppear {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .hirogaku-results-table, 
  .hirogaku-score-compact-table {
    font-size: 13px;
  }
  
  .hirogaku-results-table th,
  .hirogaku-results-table td,
  .hirogaku-score-compact-table th,
  .hirogaku-score-compact-table td {
    padding: 10px 12px;
  }
}

@media (max-width: 576px) {
  .hirogaku-results-table, 
  .hirogaku-score-compact-table {
    font-size: 12px;
  }
  
  .hirogaku-results-table th,
  .hirogaku-results-table td,
  .hirogaku-score-compact-table th,
  .hirogaku-score-compact-table td {
    padding: 8px 6px;
  }
}

/* Q&Aスタイル */
.hirogaku-interview-content {
  margin-bottom: 40px;
}

.hirogaku-qa-item {
  margin-bottom: 30px;
  border-bottom: 1px dashed #e0e0e0;
  padding-bottom: 30px;
}

.hirogaku-qa-item:last-child {
  border-bottom: none;
}

.hirogaku-question {
  display: flex;
  margin-bottom: 15px;
}

.hirogaku-q-mark {
  background-color: #4a90e2;
  color: white;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  margin-right: 15px;
  flex-shrink: 0;
  font-weight: bold;
}

.hirogaku-question p {
  margin: 0;
  font-weight: 600;
  flex-grow: 1;
  padding-top: 5px;
}

.hirogaku-answer {
  display: flex;
}

.hirogaku-a-mark {
  background-color: #50e3c2;
  color: white;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  margin-right: 15px;
  flex-shrink: 0;
  font-weight: bold;
  align-self: flex-start;
  margin-top: 3px;
}

.hirogaku-answer p {
  margin: 0 0 15px 0;
}

.hirogaku-answer p:last-child {
  margin-bottom: 0;
}

/* ノート */
.hirogaku-note {
  background-color: #fffaeb;
  border-left: 3px solid #ffcc5c;
  padding: 15px;
  margin: 15px 0;
  font-size: 14px;
  border-radius: 5px;
}

.hirogaku-note p {
  margin: 0;
}

/* 英語試験結果 */
.hirogaku-english-test-results {
  margin-top: 20px;
}

.hirogaku-test-card {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05);
  padding: 20px;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}

.hirogaku-test-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: #4a90e2;
}

.hirogaku-test-card h4 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 18px;
  color: #2c3e50;
}

.hirogaku-test-scores {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 15px;
  margin-bottom: 15px;
}

.hirogaku-test-score-item {
  padding: 10px;
  background-color: #f8f9fa;
  border-radius: 5px;
}

.hirogaku-test-category {
  display: block;
  font-weight: 600;
  color: #4a90e2;
  margin-bottom: 5px;
}

.hirogaku-test-result {
  display: block;
}

.hirogaku-test-total {
  font-weight: 600;
  color: #e74c3c;
  margin: 15px 0;
}

.hirogaku-test-card-advanced:before {
  background-color: #9b59b6;
}

.hirogaku-test-card-other:before {
  background-color: #95a5a6;
}

.hirogaku-test-result-msg {
  font-weight: 600;
  color: #e74c3c;
}

.hirogaku-test-insight {
  background-color: #f0f4f8;
  border-radius: 8px;
  padding: 15px;
  margin-top: 20px;
}

/* 推薦書籍 */
.hirogaku-recommended-books {
  margin-top: 20px;
}

.hirogaku-book-category {
  margin-bottom: 25px;
}

.hirogaku-book-category h4 {
  font-size: 16px;
  color: #4a90e2;
  margin-bottom: 15px;
  position: relative;
  padding-left: 15px;
}

.hirogaku-book-category h4:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color: #4a90e2;
  border-radius: 50%;
}

.hirogaku-book-item {
  background-color: #f8f9fa;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
}

.hirogaku-book-title {
  display: block;
  font-weight: 600;
  margin-bottom: 10px;
  color: #2c3e50;
	overflow-wrap: break-word;
  word-break: break-word;
}

/* 合宿経験 */
.hirogaku-camp-experience {
  background-color: #f0f4f8;
  border-radius: 8px;
  padding: 15px;
  position: relative;
}

.hirogaku-camp-experience:before {
  content: """;
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 50px;
  line-height: 1;
  color: rgba(74, 144, 226, 0.1);
}

/* 最終アドバイス */
.hirogaku-final-advice {
  background: linear-gradient(to right, #f6d365, #fda085);
  border-radius: 8px;
  padding: 20px;
  color: #fff;
  font-weight: 500;
  margin: 20px 0;
  position: relative;
  overflow: hidden;
}

.hirogaku-final-advice:before {
  content: """;
  position: absolute;
  top: 0;
  left: 10px;
  font-size: 80px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.2);
}

.hirogaku-final-advice p {
  margin: 0;
  position: relative;
  z-index: 1;
}

/* 最終成績詳細 */
.hirogaku-final-scores {
  background-color: #f8f9fa;
  border-radius: 8px;
  padding: 20px;
}

.hirogaku-final-scores ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.hirogaku-final-scores li {
  padding: 10px 0;
  border-bottom: 1px dashed #e0e0e0;
  display: flex;
  flex-wrap: wrap;
}

.hirogaku-final-scores li:last-child {
  border-bottom: none;
}

.hirogaku-university {
  font-weight: 600;
  color: #4a90e2;
  margin-right: 10px;
}

/* 模試結果 */
.hirogaku-mock-exam-results {
  background-color: #fff;
  border-radius: 8px;
  padding: 15px;
  margin: 15px 0;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.hirogaku-mock-exam-results h4 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 16px;
  color: #2c3e50;
}

.hirogaku-mock-exam-results ul {
  list-style-type: none;
  padding: 0;
  margin: 0 0 10px 0;
}

.hirogaku-mock-exam-results li {
  padding: 5px 0;
  color: #4a4a4a;
  font-size: 14px;
}

.hirogaku-mock-exam-results p {
  margin: 10px 0 0 0;
  font-size: 14px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .hirogaku-results-grid {
    grid-template-columns: 1fr;
  }
  
  .hirogaku-test-scores {
    grid-template-columns: 1fr;
  }
  
  .hirogaku-answer, .hirogaku-question {
    flex-direction: column;
  }
  
  .hirogaku-q-mark, .hirogaku-a-mark {
    margin-bottom: 10px;
  }
  
  .hirogaku-title {
    font-size: 24px;
  }
}

/* ハイライト効果 */
.hirogaku-highlight {
  background: linear-gradient(transparent 60%, #ffd8a8 60%);
  padding: 0 2px;
}

/* アニメーション効果 */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.hirogaku-interview-container {
  animation: fadeIn 0.8s ease-out;
}

.hirogaku-qa-item {
  animation: fadeIn 0.5s ease-out;
  animation-fill-mode: both;
}

.hirogaku-qa-item:nth-child(1) { animation-delay: 0.1s; }
.hirogaku-qa-item:nth-child(2) { animation-delay: 0.2s; }
.hirogaku-qa-item:nth-child(3) { animation-delay: 0.3s; }
.hirogaku-qa-item:nth-child(4) { animation-delay: 0.4s; }
.hirogaku-qa-item:nth-child(5) { animation-delay: 0.5s; }

/* 印刷スタイル */
@media print {
  .hirogaku-interview-container {
    font-size: 12pt;
  }
  
  .hirogaku-section {
    page-break-inside: avoid;
  }
  
  .hirogaku-results-grid {
    display: block;
  }
  
  .hirogaku-result-item {
    margin-bottom: 10pt;
  }
}

  /* 総合型選抜ページ専用スタイル - クラス名に sogosoba- プレフィックスを使用 */
  :root {
    --sogosoba-main-color: #4169e1;
    --sogosoba-accent-color: #ff6347;
    --sogosoba-highlight-yellow: #fff799;
    --sogosoba-highlight-blue: #a8d8ff;
    --sogosoba-box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    --sogosoba-border-radius: 8px;
  }
  
  /* ヘッダーセクション */
  .sogosoba-header-banner {
    background-color: #fffacd;
    border: 2px solid #ffd700;
    padding: 15px 20px;
    border-radius: var(--sogosoba-border-radius);
    margin-bottom: 20px;
    text-align: center;
    font-weight: bold;
  }
  
  .sogosoba-page-title {
    font-size: 28px;
    color: #333;
    margin: 20px 0;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--sogosoba-main-color);
  }
  
  .sogosoba-results-banner {
    background-color: #e6f2ff;
    border-left: 5px solid var(--sogosoba-main-color);
    padding: 15px 20px;
    margin: 25px 0;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
  }
  
  /* セクションタイトル */
  .sogosoba-section-title {
    border-left: 5px solid var(--sogosoba-main-color);
    padding-left: 15px;
    font-size: 22px;
    margin: 40px 0 20px;
  }
  
  .sogosoba-sub-section-title {
    font-size: 18px;
    color: var(--sogosoba-main-color);
    margin: 30px 0 15px;
    padding-bottom: 5px;
    border-bottom: 2px solid var(--sogosoba-main-color);
  }
  
  /* 強調表示 */
  .sogosoba-highlight-yellow {
    background: linear-gradient(transparent 60%, var(--sogosoba-highlight-yellow) 60%);
    font-weight: bold;
  }
  
  .sogosoba-highlight-blue {
    background: linear-gradient(transparent 60%, var(--sogosoba-highlight-blue) 60%);
    font-weight: bold;
  }
  
  .sogosoba-highlight-red {
    color: #ff0000;
    font-weight: bold;
  }
  
  /* ボックススタイル */
  .sogosoba-info-box {
    border: 2px solid #ddd;
    background-color: #fff;
    padding: 20px;
    border-radius: var(--sogosoba-border-radius);
    margin: 20px 0;
    box-shadow: var(--sogosoba-box-shadow);
  }
  
  .sogosoba-yellow-box {
    background-color: #fffacd;
    border: 2px solid #ffd700;
    padding: 15px 20px;
    border-radius: var(--sogosoba-border-radius);
    margin: 20px 0;
  }
  
  .sogosoba-blue-box {
    background-color: #e6f2ff;
    border: 2px solid var(--sogosoba-main-color);
    padding: 15px 20px;
    border-radius: var(--sogosoba-border-radius);
    margin: 20px 0;
  }
  
  .sogosoba-testimonial-box {
    border: 2px solid #9e0b0f;
    background-color: #fff;
    padding: 20px;
    border-radius: var(--sogosoba-border-radius);
    margin: 20px 0;
    position: relative;
  }
  
  .sogosoba-testimonial-box blockquote {
    margin: 0;
    padding: 0;
    font-style: italic;
  }
  
  .sogosoba-testimonial-box strong {
    display: block;
    text-align: right;
    margin-top: 10px;
  }
  
  /* リストスタイル */
  .sogosoba-check-list {
    list-style: none;
    padding-left: 5px;
    margin-left: 0;
  }
  
  .sogosoba-check-list li {
    position: relative;
    padding-left: 30px!important;
    margin-bottom: 10px!important;
  }
  
  .sogosoba-check-list li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--sogosoba-main-color);
    font-weight: bold;
  }
  
  /* グリッドレイアウト */
  .sogosoba-grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin: 25px 0;
  }
  
  .sogosoba-grid-item {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: var(--sogosoba-border-radius);
    padding: 20px;
    box-shadow: var(--sogosoba-box-shadow);
  }
  
  .sogosoba-grid-item h3 {
    margin-top: 0;
    color: var(--sogosoba-main-color);
    border-bottom: 2px solid var(--sogosoba-main-color);
    padding-bottom: 5px;
  }
  
  /* タイムライン */
  .sogosoba-timeline {
    position: relative;
    margin: 30px 0;
  }
  
  .sogosoba-timeline:before {
    content: '';
    position: absolute;
    top: 0;
    left: 20px;
    height: 100%;
    width: 2px;
    background: var(--sogosoba-main-color);
  }
  
  .sogosoba-timeline-item {
    position: relative;
    padding-left: 50px;
    margin-bottom: 25px;
  }
  
  .sogosoba-timeline-date {
    position: absolute;
    left: 0;
    background: var(--sogosoba-main-color);
    color: white;
    padding: 5px 10px;
    border-radius: 20px;
    font-weight: bold;
    font-size: 14px;
    white-space: nowrap;
    transform: translateX(-50%);
  }
  
  .sogosoba-timeline-content {
    background: #f9f9f9;
    padding: 15px;
    border-radius: 5px;
    border-left: 3px solid var(--sogosoba-main-color);
  }
  
  .sogosoba-timeline-content h4 {
    margin-top: 0;
    color: var(--sogosoba-main-color);
  }
  
  /* CTA ボタン */
  .sogosoba-btn-cta {
    display: inline-block;
    background: var(--sogosoba-accent-color);
    color: white;
    padding: 15px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    margin: 20px 0;
    transition: background 0.3s;
    width: 80%;
    max-width: 500px;
  }
  
  .sogosoba-btn-cta:hover {
    background: #ff4500;
    text-decoration: none;
    color: white;
  }
  
  .sogosoba-cta-wrapper {
    text-align: center;
    margin: 30px 0;
  }
  
  .sogosoba-limited-offer {
    font-weight: bold;
    color: #ff4500;
  }
  
  /* FAQ セクション - 常に表示 */
  .sogosoba-faq-container {
    margin: 20px 0;
  }
  
  .sogosoba-faq-item {
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: var(--sogosoba-border-radius);
    overflow: hidden;
  }
  
  .sogosoba-faq-question {
    background: var(--sogosoba-main-color);
    color: white;
    padding: 12px 20px;
    font-weight: bold;
  }
  
  .sogosoba-faq-answer {
    padding: 15px 20px;
    background: #f9f9f9;
    /* 初めから表示 */
    display: block;
  }
  
  /* 比較テーブル */
  .sogosoba-comparison-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
  }
  
  .sogosoba-comparison-table th, .sogosoba-comparison-table td {
    border: 1px solid #ddd;
    padding: 10px;
  }
  
  .sogosoba-comparison-table th {
    background-color: var(--sogosoba-main-color);
    color: white;
  }
  
  .sogosoba-comparison-table tr:nth-child(even) {
    background-color: #f2f2f2;
  }
  
  /* タブコンテンツは削除したため不要 */
  
  /* レスポンシブ対応 */
  @media (max-width: 768px) {
    .sogosoba-grid-container {
      grid-template-columns: 1fr;
    }
    
    .sogosoba-btn-cta {
      width: 100%;
    }
    
    .sogosoba-timeline-date {
      position: relative;
      margin-bottom: 10px;
      transform: none;
    }
    
    .sogosoba-timeline-item {
      padding-left: 20px;
    }
    
    .sogosoba-timeline:before {
      left: 0;
    }
  }


  .h2sokei-yellow-box {
    background-color: #FFFCE5;
    border: 2px solid #FFD700;
    padding: 15px;
    margin: 20px 0;
    border-radius: 5px;
  }
  
  .h2sokei-waseda-box {
    background-color: #F8F8F8;
    border-left: 5px solid #911818;
    padding: 15px;
    margin: 20px 0;
    font-style: italic;
  }
  
  .h2sokei-highlight-yellow {
    background: linear-gradient(transparent 60%, #ffff66 60%);
    font-weight: bold;
  }
  
  .h2sokei-ul-check {
    list-style: none;
    padding-left: 1.5em;
  }
  
  .h2sokei-ul-check li:before {
    content: "✓";
    color: #1e90ff;
    margin-right: 8px;
  }
  
  .h2sokei-ol-blue {
    padding-left: 1.5em;
  }
  
  .h2sokei-ol-blue li {
    color: #1e90ff;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .h2sokei-heading-under {
    position: relative;
    padding-bottom: .5em;
    border-bottom: 1px solid #ccc;
    font-weight: bold;
    margin-top: 30px;
  }
  
  .h2sokei-heading-under::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    z-index: 2;
    content: '';
    width: 20%;
    height: 1px;
    background-color: #1e90ff;
  }
  
  .h2sokei-ballon-fukidashi {
    display: flex;
    align-items: center;
    background: #f5f5f5;
    padding: 15px;
    border-radius: 10px;
    margin: 20px 0;
  }
  
  .h2sokei-ballon-fukidashi img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin-left: 15px;
  }
  
  .h2sokei-sentences {
    flex: 1;
    margin: 0;
  }
  
  .h2sokei-box {
    border: 1px solid #ddd;
    margin: 20px 0;
  }
  
  .h2sokei-box-header {
    background: #f0f0f0;
    padding: 10px;
    margin: 0;
  }
  
  .h2sokei-box-inner {
    padding: 15px;
  }
  
  .h2sokei-emphasize-link {
    display: flex;
    flex-direction: column;
  }
  
  .h2sokei-emphasize-link a {
    margin: 5px 0;
    padding: 10px;
    background: #f0f8ff;
    text-decoration: none;
    color: #0066cc;
    border-left: 5px solid #0066cc;
  }
  
  .h2sokei-btn-cta {
    display: inline-block;
    padding: 15px 30px;
    background: #FF9900;
    color: white !important;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    text-align: center;
    margin: 20px 0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: all 0.3s;
  }
  
  .h2sokei-btn-cta:hover {
    background: #e68a00;
    transform: translateY(-2px);
    box-shadow: 0 6px 8px rgba(0,0,0,0.15);
    text-decoration: none;
  }
  
  .h2sokei-schedule-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
  }
  
  .h2sokei-schedule-table th, 
  .h2sokei-schedule-table td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: center;
  }
  
  .h2sokei-schedule-table th {
    background: #f0f0f0;
  }
  
  .h2sokei-recommend-section {
    margin: 20px 0;
  }
  
  .h2sokei-recommend-box {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin: 20px 0;
  }
  
  .h2sokei-recommend-title {
    margin-top: 0;
    color: #333;
  }
  
  .h2sokei-recommend-divider {
    border: 0;
    height: 1px;
    background: #ccc;
    margin: 15px 0;
  }
  
  .h2sokei-faq-container {
    margin: 20px 0;
  }
  
  .h2sokei-faq-item {
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
  }
  
  .h2sokei-faq-question {
    background: #f5f5f5;
    padding: 10px 15px;
    font-weight: bold;
  }
  
  .h2sokei-faq-answer {
    padding: 15px;
    border-top: 1px solid #eee;
  }
  
  .h2sokei-text-center {
    text-align: center;
  }
  
  .h2sokei-limited-offer {
    font-weight: bold;
    color: #ff0000;
  }
  
  .h2sokei-cta-wrapper {
    text-align: center;
    margin: 30px 0;
  }



.keio-testimonial-section {
  margin: 40px 0;
  background-color: #f8f9fa;
  border-radius: 10px;
  padding: 25px;
}

.keio-testimonial-heading {
  text-align: center;
  position: relative;
  margin-bottom: 30px;
  font-size: 22px;
  color: #1e50a2;
}

.keio-testimonial-heading:after {
  content: '';
  display: block;
  width: 50px;
  height: 3px;
  background-color: #1e50a2;
  margin: 10px auto 0;
}

.keio-testimonial-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin-bottom: 25px;
}

.keio-testimonial-card {
  flex: 1;
  min-width: 250px;
  max-width: 450px;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
  overflow: hidden;
  border-top: 4px solid #1e50a2;
}

.keio-testimonial-header {
  background-color: #e7eefb;
  padding: 10px 15px;
  text-align: right;
}

.keio-testimonial-tag {
  display: inline-block;
  background-color: #1e50a2;
  color: white;
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 13px;
  font-weight: bold;
}

.keio-testimonial-content {
  padding: 20px;
  position: relative;
}

.keio-testimonial-content:before {
  content: '"';
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 60px;
  color: #f0f0f0;
  font-family: serif;
  z-index: 0;
  line-height: 1;
}

.keio-testimonial-content p {
  position: relative;
  z-index: 1;
  margin-top: 0;
}

.keio-testimonial-info {
  margin-top: 15px;
  text-align: right;
  color: #666;
  font-size: 14px;
}

.keio-testimonial-cta {
  background-color: #e7eefb;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  margin-top: 30px;
}

.keio-testimonial-cta p {
  font-weight: bold;
  color: #333;
  margin-bottom: 15px;
  font-size: 17px;
}

.keio-testimonial-button {
  display: inline-block;
  background-color: #1e50a2;
  color: white;
  padding: 10px 24px;
  text-decoration: none;
  border-radius: 5px;
  font-weight: bold;
  transition: all 0.3s ease;
}

.keio-testimonial-button:hover {
  background-color: #163b78;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}


.keio-urgent-notice {
  background-color: #fff8e1;
  border-left: 4px solid #ffc107;
  padding: 15px;
  margin: 20px 0;
  position: relative;
  overflow: hidden;
}

.keio-urgent-badge {
  background-color: #e63946;
  color: white;
  display: inline-block;
  padding: 4px 10px;
  border-radius: 4px;
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 8px;
}

.keio-urgent-notice p {
  margin: 5px 0;
  font-weight: bold;
  font-size: 18px;
}

.keio-urgent-small {
  font-size: 14px !important;
  color: #555;
  font-weight: normal !important;
  margin-bottom: 12px !important;
}

.keio-urgent-cta {
  display: inline-block;
  background-color: #1e50a2;
  color: white;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-weight: bold;
  font-size: 14px;
  margin-top: 8px;
  transition: all 0.3s ease;
}

.keio-urgent-cta:hover {
  background-color: #163b78;
  transform: translateY(-2px);
}


   .sokei-main-header {
        color: #1a237e;
        text-align: center;
        margin: 30px 0;
        font-size: 28px;
        font-weight: bold;
        border-bottom: 3px solid #1a237e;
        padding-bottom: 10px;
    }
    .sokei-section-header {
        background-color: #1a237e;
        color: white;
        padding: 10px 15px;
        font-size: 22px;
        margin: 40px 0 20px;
        border-radius: 5px;
    }
    .sokei-step-header {
        font-size: 20px;
        color: #1a237e;
        border-left: 5px solid #1a237e;
        padding-left: 10px;
        margin: 25px 0 15px;
    }
    .sokei-feature-box {
        background-color: #f5f5f5;
        border-left: 5px solid #1a237e;
        padding: 5px 18px;
        margin: 15px 0;
    }
    .sokei-highlight {
        color: #0000ff;
        font-weight: bold;
    }
    .sokei-check-list {
        list-style: none;
        padding-left: 5px;
    }
    .sokei-check-list li {
        position: relative;
        padding-left: 25px;
        margin-bottom: 10px;
    }
    .sokei-check-list li:before {
        content: "✓";
        position: absolute;
        left: -18px;
        color: #1a237e;
        font-weight: bold;
    }
    .sokei-quote-box {
        border-left: 4px solid #1a237e;
        padding: 10px 15px;
        background-color: #e8eaf6;
        margin: 15px 0;
    }
    .sokei-centered-img {
        display: block;
        margin: 20px auto;
        max-width: 100%;
        height: auto;
    }
    .sokei-cta-box {
        background-color: #e8eaf6;
        border: 2px solid #1a237e;
        padding: 20px;
        text-align: center;
        margin: 30px 0;
        border-radius: 5px;
    }
    .sokei-divider {
        border-top: 1px solid #e0e0e0;
        margin: 30px 0;
    }
    .sokei-achievement {
        text-align: center;
        font-weight: bold;
        font-size: 18px;
        margin: 20px 0;
        color: #1a237e;
    }
    .sokei-narrow-img {
        max-width: 300px;
    }
    .sokei-footer-text {
        text-align: center;
        font-style: italic;
        margin-top: 30px;
    }

  .gmarch-line-cta-container {
      margin: 40px 0;
      padding: 0;
      width: 100%;
    }
    .gmarch-line-cta-box {
      background: #f9f9f9;
      border: 2px solid #06C755;
      border-radius: 12px;
      padding: 0;
      box-shadow: 0 5px 15px rgba(0,0,0,0.1);
      overflow: hidden;
      width: 100%;
      box-sizing: border-box;
    }
    .gmarch-line-header {
      background: #06C755;
      padding: 15px 20px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .gmarch-line-icon {
      font-size: 24px;
      margin-right: 10px;
    }
    .gmarch-line-title {
      color: white;
      margin: 0!important;
      font-size: 20px;
      text-align: center;
    }
    .gmarch-line-content {
      padding: 25px;
      display: flex;
      flex-wrap: wrap;
    }
    .gmarch-line-left {
      flex: 3;
      padding-right: 25px;
    }
    .gmarch-line-right {
      flex: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-width: 200px;
      background: #f2f2f2;
      border-radius: 10px;
      padding: 20px;
    }
    .gmarch-line-description {
      font-size: 16px;
      line-height: 1.6;
      margin-bottom: 15px;
    }
    .gmarch-line-highlight {
      background: linear-gradient(transparent 60%, #FFEB3B 60%);
      font-weight: bold;
    }
    .gmarch-line-benefits {
      background: white;
      border: 1px solid #e0e0e0;
      border-radius: 8px;
      padding: 5px 20px;
      margin-bottom: 20px;
    }
    .gmarch-benefits-title {
      color: #06C755;
      font-size: 16px;
      margin-top: 0!important;
      margin-bottom: 10px;
      text-align: center;
      border-bottom: 1px solid #e0e0e0;
      padding-bottom: 5px;
    }
    .gmarch-benefits-list {
      margin: 0;
      padding-left: 25px;
    }
    .gmarch-benefits-list li {
      margin-bottom: 8px;
      font-size: 15px;
      position: relative;
      list-style-type:none;
    }
    .gmarch-benefits-list li::before {
      content: "✓";
      position: absolute;
      left: -20px;
      color: #06C755;
      font-weight: bold;
    }
    .gmarch-line-subtext {
      font-size: 15px;
      font-weight: bold;
      color: #333;
    }
    .gmarch-line-qr {
      text-align: center;
      margin-bottom: 15px;
    }
    .gmarch-qr-image {
      width: 150px;
      height: 150px;
      margin-bottom: 10px;
      border: 1px solid #ddd;
    }
    .gmarch-qr-caption {
      font-size: 13px;
      color: #666;
      margin: 0;
    }
    .gmarch-line-button {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #06C755;
      color: white !important;
      text-decoration: none;
      padding: 12px 20px;
      border-radius: 6px;
      font-weight: bold;
      text-align: center;
      transition: all 0.3s ease;
      width: 100%;
      margin: 15px 0;
      font-size: 15px;
    }
    .gmarch-line-svg {
      margin-right: 8px;
    }
    .gmarch-line-button:hover {
      background: #05A848;
      transform: translateY(-2px);
      box-shadow: 0 4px 8px rgba(6, 199, 85, 0.3);
    }
    .gmarch-line-steps {
      font-size: 13px;
      color: #333;
      text-align: center;
      line-height: 1.5;
      margin: 0;
    }
    @media (max-width: 768px) {
      .gmarch-line-content {
        flex-direction: column;
      }
      .gmarch-line-left {
        padding-right: 0;
        margin-bottom: 20px;
      }
      .gmarch-line-right {
        width: 100%;
      }
      .gmarch-line-title {
        font-size: 18px;
      }
    }

   .gmarch-premium-cta-container {
      margin: 40px 0;
      padding: 0;
      width: 100%;
    }
    .gmarch-premium-cta-box {
      background: linear-gradient(135deg, #ffffff 0%, #f0f4fc 100%);
      border: 2px solid #3f51b5;
      border-radius: 12px;
      padding: 0;
      box-shadow: 0 8px 16px rgba(0,0,0,0.15);
      overflow: hidden;
      width: 100%;
      box-sizing: border-box;
    }
    .gmarch-premium-header {
      background: linear-gradient(135deg, #3f51b5 0%, #303f9f 100%);
      padding: 25px 25px 15px;
      position: relative;
      text-align: center;
    }
    .gmarch-premium-badge-container {
      position: relative;
      height: 20px;
      margin-bottom: 10px;
    }
    .gmarch-premium-badge {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      background: #e91e63;
      color: white;
      font-size: 14px;
      padding: 5px 20px;
      border-radius: 20px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.2);
      font-weight: bold;
      white-space: nowrap;
      z-index: 1;
    }
    .gmarch-premium-title {
      color: white;
      margin: 0;
      font-size: 20px;
      text-align: center;
    }
    .gmarch-premium-content {
      padding: 25px;
      display: flex;
      flex-wrap: wrap;
    }
    .gmarch-premium-left {
      flex: 2;
      padding-right: 25px;
    }
    .gmarch-premium-right {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-width: 200px;
    }
    .gmarch-premium-description {
      font-size: 16px;
      line-height: 1.6;
      margin-bottom: 15px;
    }
    .gmarch-highlight {
      background: linear-gradient(transparent 60%, #ffeb3b 60%);
      font-weight: bold;
    }
    .gmarch-premium-benefits {
      margin: 0 0 20px 0;
      padding-left: 20px;
    }
    .gmarch-premium-benefits li {
      margin-bottom: 8px;
      position: relative;
      list-style-type: none;
      padding-left: 25px;
    }
    .gmarch-premium-benefits li:before {
      content: "✓";
      position: absolute;
      left: -20px;
      color: #3f51b5;
      font-weight: bold;
    }
    .gmarch-premium-note {
      font-size: 13px;
      color: #666;
      font-style: italic;
    }
    .gmarch-premium-image {
      width: 100px;
      height: auto;
      margin-bottom: 20px;
      border-radius: 50%;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }
    .gmarch-premium-button {
      display: inline-block;
      background: linear-gradient(135deg, #ff5722, #e91e63);
      color: white !important;
      text-decoration: none;
      padding: 12px 25px;
      border-radius: 50px;
      font-weight: bold;
      text-align: center;
      box-shadow: 0 4px 8px rgba(233, 30, 99, 0.3);
      transition: all 0.3s ease;
      border: none;
      font-size: 16px;
      width: 100%;
      max-width: 250px;
    }
    .gmarch-premium-button:hover {
      transform: translateY(-3px);
      box-shadow: 0 6px 12px rgba(233, 30, 99, 0.4);
      background: linear-gradient(135deg, #ff7043, #ec407a);
    }
    @media (max-width: 768px) {
      .gmarch-premium-content {
        flex-direction: column;
      }
      .gmarch-premium-left {
        padding-right: 0;
        margin-bottom: 20px;
      }
      .gmarch-premium-right {
        width: 100%;
      }
      .gmarch-premium-button {
        width: 100%;
      }
      .gmarch-premium-badge {
        font-size: 12px;
        padding: 4px 15px;
      }
    }

.gmarch-cta-container {
      margin: 30px 0;
      padding: 0;
    }
    .gmarch-cta-box {
      background: #f7f9fc;
      border: 2px solid #3f51b5;
      border-radius: 10px;
      padding: 20px;
      box-shadow: 0 4px 6px rgba(0,0,0,0.1);
      position: relative;
    }
    .gmarch-cta-box:before {
      content: "";
      position: absolute;
      top: -10px;
      left: 30px;
      width: 20px;
      height: 20px;
      background: #f7f9fc;
      border-top: 2px solid #3f51b5;
      border-left: 2px solid #3f51b5;
      transform: rotate(45deg);
    }
    .gmarch-cta-title {
      color: #1a237e;
      font-size: 18px;
      font-weight: bold;
      margin-bottom: 15px;
      border-bottom: 1px dotted #3f51b5;
      padding-bottom: 8px;
    }
    .gmarch-cta-text {
      font-size: 16px;
      line-height: 1.6;
      margin-bottom: 20px;
    }
    .gmarch-university-name {
      font-weight: bold;
      color: #e91e63;
    }
    .gmarch-cta-button {
      display: inline-block;
      background: linear-gradient(135deg, #3f51b5, #303f9f);
      color: white !important;
      text-decoration: none;
      padding: 12px 30px;
      border-radius: 50px;
      font-weight: bold;
      text-align: center;
      box-shadow: 0 4px 8px rgba(63, 81, 181, 0.3);
      transition: all 0.3s ease;
      border: none;
      font-size: 16px;
      width: 80%;
      max-width: 400px;
      margin: 0 auto;
      display: block;
    }
    .gmarch-cta-button:hover {
      transform: translateY(-3px);
      box-shadow: 0 6px 12px rgba(63, 81, 181, 0.4);
      background: linear-gradient(135deg, #5c6bc0, #3f51b5);
    }
    @media (max-width: 768px) {
      .gmarch-cta-button {
        width: 100%;
        padding: 12px 20px;
      }
    }


.counseling-features {
    padding: 5px 10px 20px 10px;
}

.counseling-feature-item {
    background-color: #f2f7ff;
    padding: 15px 5px;
    margin-bottom: 15px;
    border-left: 4px solid #4b377b;
    border-radius: 4px;
　text-align: left; /* 左揃えを明示的に指定 */
    display: flex; /* フレックスボックスを使用 */
    align-items: flex-start; /* アイテムを上部から配置 */
}

.counseling-feature-item:last-child {
    margin-bottom: 0;
}

.counseling-check-icon {
    color: #4b377b;
    margin-right: 14px;
    font-weight: bold;
　flex-shrink: 0; /* アイコンが縮小されないように */
}
/* テキスト部分を左揃えにする */
.counseling-feature-text {
    text-align: left;
}

.blogcard {
    position: relative;
    margin: 2em 0;
    padding: 1.4em 1.5em;
    border-radius: 8px;
    background-image: radial-gradient(currentColor 1px, transparent 1px);
    background-size: calc(10 * 1px) calc(10 * 1px);
    color: #eee;
}
.blogcard span.blogcard_thumbright {
    position: absolute;
    display: inline-block;
    top: -15px;
    left: 24px;
    padding: 6px 32px;
    line-height: 1;
    font-size: 14px;
    background: #3a3a3a;
    color: #FFF;
    font-weight: 400;
    border-radius: 50px;
}
.blogcard span.blogcard_thumbright:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0a4";
    padding-right: 6px;
    font-weight: 100;
}
span.blogcard_thumbright:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border: 5px solid transparent;
    border-top: 5px solid #3a3a3a;
}
.blogcard a {
    display: flex;
    justify-content: flex-start;
    align-content: center;
    flex-wrap: wrap;
    text-decoration: none;
    box-shadow: 0 0 3px 0 rgb(0 0 0 / 12%), 0 2px 3px 0 rgb(0 0 0 / 22%);
    cursor: pointer;
    transition: 0.2s ease-in-out;
    padding: 12px 15px;
    border-radius: 2px;
    background: #ffff;
}
.blogcard a:hover {
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);
    transform: translateY(-4px);
}
.blogcard_thumbnail {
    width: 22%;
    margin-right: 5%;
    display: inline-block;
    height: 140px;
}
.blogcard_thumbnail img {
    width: 100%;
    object-fit: cover;
    height: inherit;
}
.blogcard_content {
    width: 73%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.blogcard_title p {
    font-size: 1.1rem;
    color: #313131;
    font-weight: 600;
    margin-bottom: 10px;
    line-height: 1.6;
}
.blogcard_description p {
    font-size: 0.8rem;
    color: #313131;
    font-weight: 400;
    margin-bottom: 5px;
}
.blogcard_link span {
    position: relative;
    left: 0;
    top: 0;
    padding: 2px 10px;
    font-size: 0.6rem;
    background: #58a9ef;
    color: #fff;
    font-weight: 600;
    vertical-align: middle;
    margin-right: 7px;
    border-radius: 3px;
}
.blogcard_link {
    font-size: 0.7rem;
    text-decoration: none;
    color: #999;
}
@media screen and (max-width: 767px) {
/* （ここにモバイル用スタイルを記述） */
.blogcard {
    padding: 35px 10px 15px;
}
.blogcard span.blogcard_thumbright {
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    text-align: center;
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 0.9rem;
}
.blogcard a {
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    border-radius: 3px;
}
.blogcard_thumbnail {
    width: 100%;
    margin: 0 0 15px;
    height: auto;
}
.blogcard_thumbnail img {
    object-fit: cover;
    height: 50vw;
    width: 100%;
    object-position: center;
}
.blogcard_content {
    width: 100%;
    padding: 0 1.2rem 1.2rem;
}
}


/* ▼ 全体の外枠。下に黄色を重ねるイメージ ▼ */
.recommend_section {
  position: relative; 
  margin: 20px auto;
  max-width: 700px;
  padding-bottom: 10px;
}

/* 黄色の下地を擬似要素で重ねる（例: 下に少しはみ出す） */
.recommend_section::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  right: -10px;
  bottom: -6px;    
  background: #030350;  
}

/* ▼ 白いボックス本体 ▼ */
.recommend_box {
  position: relative;
  background: #fff;
  border: 2px solid #ccc;  /* 外枠の色を調整 */
  padding: 12px;
  /* 余白やサイズはお好みで変更 */
}


/* ▼ 見出し部分（指アイコン + タイトル文字） ▼ */
.recommend_title {
  font-size: 1.2rem;
  font-weight: bold;
  color: #030350; /* 好みの青系などに */
  margin: 0!important;
  display: flex;  /* アイコンと文字を横並びにする */
  align-items: center;
  gap: 8px;
}

/* 指アイコン */
.recommend_icon {
  display: inline-block;
  width: 35px;
  height: 35px;
  background: url("https://hiroacademia.jpn.com/wp/wp-content/uploads/2025/02/14308.png") no-repeat center / contain;
}

/* ▼ 点線仕切り ▼ */
.recommend_divider {
  border: none;
  border-bottom: 1px dashed #999;
  margin: 8px 0 16px;
}

/* ▼ 番号付きリスト（丸の中に数字） ▼ */
.recommend_box ol {
  list-style: none;
  margin: 0; 
  padding: 0;
  counter-reset: item-num; /* カウンターリセット */
}

.recommend_box ol li {
  position: relative;
  counter-increment: item-num 1;
  padding-left: 42px!important; /* 数字の丸分の余白 */
  margin-bottom: 8px!important;
}

.recommend_box ol li::before {
  content: counter(item-num);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5ff; /* 内部の色 */
  border: 2px solid #333;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  color: #333;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}

.ranking_head {
  /* 幅を狭めるため、max-widthを指定して中央寄せ */
  max-width: 700px; /* お好みの横幅に */
  margin: 0 auto;   /* 中央寄せ */

  text-align: center;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 12px 0; /* 上下の余白を少し増やす */

  /* ゴールド系のグラデーション */
  background: linear-gradient(to right, #D4A017, #FFD700);

  border-radius: 8px;
  position: relative;
}

.ranking_head span {
  position: relative;
  display: inline-block;
}

.ranking_image{
margin-bottom:0!important;
}

/* 下部のボックス例 */
.ranking_head_box {
  max-width: 90%; /* ボックス部分も適度に狭めたい場合 */
  margin: 12px auto 0;
  background: #fff;
  border: 2px solid #D4A017; 
  border-radius: 6px;
  padding: 16px;
  color: #333;
  font-size: 1.4rem;
  line-height: 1.6;
}

.ranking_title {
  display: block;
  font-size: 2rem;
  background-color:#fff;
  font-weight: bold;
  color: #333;
  margin: 0.5em 0;
  /* 必要に応じてテキストシャドウなど追加してもよい */
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.only-line {
  display:block!important; 
  font-size:28px;    
  background-color: #fff;    
  color: #D4A017;             /* 金色や濃いめの色 */
  border-radius: 4px;          /* 角丸 */
  font-weight: bold;           /* 強調 */
  margin-right: 0.4em;         /* 後続テキストとの間隔を少しあける */
  /* 必要に応じてシャドウなど追加
  box-shadow: 1px 1px 4px rgba(0,0,0,0.3);
  */
}

@media (min-width: 769px){
.glsr .glsr-reviews, .glsr .glsr-reviews-wrap {
display: flex;
flex-wrap: wrap;
}
.glsr-default .glsr-review {
flex-wrap: wrap;
width: 45%;
}
.post_content h2 {
font-size: 28px;
}
}
    /* ベーススタイル */
    .counseling-step-section {
　　　       margin: 0;
      font-family: sans-serif;
      background-color: #030351; /* bg-[#030351] */
      color: #fff;
      padding: 1rem!important; /* p-4 */
      text-align: center;
    }
    @media (min-width: 768px) {
      .counseling-step-section {
        padding: 3rem!important; /* md:p-12 */
      }
    }
    .counseling-step-container {
      max-width: 56rem!important; /* max-w-4xl */
      margin: 0 auto!important;
    }
    /* タイトル・サブタイトル（h2,h3の代替） */
    .counseling-step-title {
      font-size: 1.25rem!important; /* text-xl */
      font-weight: bold;
      margin-bottom: 0.5rem!important; /* mb-2 */
    }
    @media (min-width: 768px) {
      .counseling-step-title {
        font-size: 1.875rem!important; /* md:text-3xl */
        margin-bottom: 1rem!important; /* md:mb-4 */
      }
    }
    .counseling-step-subtitle {
      font-size: 1.125rem!important; /* text-lg */
      font-weight: bold;
      margin-bottom: 1.5rem!important; /* mb-6 */
    }
    @media (min-width: 768px) {
      .counseling-step-subtitle {
        font-size: 1.5rem!important; /* md:text-2xl */
        margin-bottom: 3rem!important; /* md:mb-12 */
      }
    }
    /* ステップ全体のレイアウト */
    .counseling-step-steps {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem!important; /* gap-2 */
      margin-bottom: 1.5rem!important; /* mb-6 */
      padding: 0 0.5rem!important; /* px-2 */
    }
    @media (min-width: 768px) {
      .counseling-step-steps {
        gap: 2rem!important; /* md:gap-8 */
        margin-bottom: 2rem!important; /* md:mb-8 */
      }
    }
    .counseling-step-item {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    /* アイコンコンテナとアイコンボックス */
    .counseling-step-icon-container {
      position: relative;
    }
    .counseling-step-icon-box {
      width: 5rem!important;   /* w-20 */
      height: 5rem!important;  /* h-20 */
      background-color: #fff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 0.5rem!important; /* mb-2 */
    }
    @media (min-width: 768px) {
      .counseling-step-icon-box {
        width: 8rem!important;   /* md:w-32 */
        height: 8rem!important;  /* md:h-32 */
        margin-bottom: 1rem!important; /* md:mb-4 */
      }
    }
    .counseling-step-icon {
      width: 2.5rem!important;  /* w-10 */
      height: 2.5rem!important; /* h-10 */
      stroke: #030351; /* text-[#030351] */
      fill: none;
    }
    @media (min-width: 768px) {
      .counseling-step-icon {
        width: 4rem!important;  /* md:w-16 */
        height: 4rem!important; /* md:h-16 */
      }
    }
    /* 番号バッジ */
    .counseling-step-badge {
      position: absolute;
      top: -0.5rem!important;   /* -top-2 */
      left: -0.5rem!important;  /* -left-2 */
      width: 1.75rem!important;  /* w-7 */
      height: 1.75rem!important; /* h-7 */
      background-color: #4A4AFF; /* bg-[#4A4AFF] */
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    @media (min-width: 768px) {
      .counseling-step-badge {
        width: 2.5rem!important;  /* md:w-10 */
        height: 2.5rem!important; /* md:h-10 */
      }
    }
    .counseling-step-badge span {
      color: #fff;
      font-weight: bold;
      font-size: 1rem!important;  /* text-base */
    }
    @media (min-width: 768px) {
      .counseling-step-badge span {
        font-size: 1.25rem;  /* md:text-xl */
      }
    }
    .counseling-step-item p {
      font-size: 0.75rem!important; /* text-xs */
      text-align: center;
      line-height: 1.2;
      margin-top: 0.5rem!important; /* mt-2 */
    }
    @media (min-width: 768px) {
      .counseling-step-item p {
        font-size: 0.875rem!important; /* md:text-sm */
      }
    }
    /* 矢印 */
    .counseling-step-arrow-container {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 1rem!important; /* w-4 */
    }
    @media (min-width: 768px) {
      .counseling-step-arrow-container {
        width: 2rem!important; /* md:w-8 */
      }
    }
    .counseling-step-arrow {
      width: 1rem!important;  /* w-4 */
      height: 1rem!important; /* h-4 */
      border-top: 2px solid #4A4AFF; /* border-[#4A4AFF] */
      border-right: 2px solid #4A4AFF;
      transform: rotate(45deg);
    }
    @media (min-width: 768px) {
      .counseling-step-arrow {
        width: 2rem!important;  /* md:w-8 */
        height: 2rem!important; /* md:h-8 */
      }
    }
    /* 補足テキスト */
    .counseling-step-additional {
      font-size: 13px!important; /* text-xs */
      margin-top: 1rem!important;   /* mt-4 */
    }
    @media (min-width: 768px) {
      .counseling-step-additional {
        font-size: 10px!important; /* md:text-sm */
        margin-top: 2rem!important;    /* md:mt-8 */
      }
    }
    .counseling-step-fine-print {
      font-size: 10px!important;     /* text-[10px] */
      margin-top: 0.25rem!important; /* mt-1 */
    }
    @media (min-width: 768px) {
      .counseling-step-fine-print {
        font-size: 0.875rem!important; /* md:text-xs */
        margin-top: 0.5rem!important;  /* md:mt-2 */
      }
    }

    .kaito-table-container {
      display: flex;     /* 横に並べる */
      gap: 2px;         /* テーブル間の余白 */
      margin: 14px 0!important;    /* 全体の上下余白 */
    }

    /* タイトル部分のスタイル */
    .kaito-table-title {
      text-align: center;
      font-size: 0.9rem;
      font-weight: bold;
      margin-bottom: 6px; /* タイトルとテーブルの余白 */
    }

    /* テーブル本体のスタイル */
    .kaito-small-table {
      border-collapse: collapse; /* 余分な隙間をなくす */
      font-size: 1.2rem;         /* テーブル内の文字を小さく */
    }

    .kaito-small-table th,
    .kaito-small-table td {
      border: 1px solid #000;    /* 枠線 */
      padding: 4px 6px;          /* セルの余白をやや小さめに */
      text-align: center;        /* 文字の中央揃え */
      vertical-align: middle;    /* 縦方向の位置 */
    }
@media (max-width: 767px) { 
.kaito-small-table td:first-child{
font-size: .63rem; 
width: 30px;
font-weight: bold;
text-decoration:underline;
}
 }

/* 強みCSS */
 /* 大枠のコンテナ (必要に応じて .container など、お好きなクラス名で) */
.feature-title{
text-align: center;
margin-bottom:.3px!important;
}
    .feature-container {
      /* 必要ならここで背景色や余白を指定 */
      /* background: #f9f9f9; */
      /* padding: 1rem; */
      /* font-family: sans-serif; */
      /* margin: 1rem; */
    }

   /* カード本体 */
   /* カード */
    .feature-card {
      display: flex;
      align-items: center;   /* 画像とテキストを縦方向で中央寄せ */
      flex-direction: row;   /* 小さい画面で横並び */
      gap: 1rem;
      padding: 0 1rem 0;
      background-color: #fff;
      margin-bottom: 1rem;
    }
@media (min-width: 768px) {
  .feature-container {
    display: flex;                /* 全カードを一行で横並びに */
    justify-content: space-between;
    gap: 1rem;                    /* カード同士の余白 */
  }

  .feature-card {
    flex-direction: column;       /* 画像→テキストを縦方向に */
    align-items: flex-start;      /* タイトル等を左寄せにする */
    width: calc(25% - 1rem);      /* 4カード分を1列に */
    box-sizing: border-box;       /* 算出幅を適切にするため */
    margin-bottom: 0;            /* まとめて並べるために余分な下マージンオフ */
  }
}

    /* 画面幅が大きくなったら縦並びに切り替え（必要な場合） */
    @media (min-width: 768px) {
      .feature-card {
        flex-direction: column; 
        align-items: flex-start; 
      }
    }

    /* 画像ラッパ */
    .feature-card-image-wrapper {
      width: 150px;       
      flex-shrink: 0;     /* 画像が潰れないよう固定 */
    }

    /* 画像スタイル */
    .feature-card-image {
      width: 100%;
      height: auto;
      border-radius: 0.375rem;
      display: block;
      object-fit: cover;
    }

    /* テキスト側 */
    .feature-card-content {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    /* タイトル部分(番号と見出し) */
    .feature-card-heading {
      display: flex;
      align-items: baseline;
      gap: 0.5rem;
      margin: 0;
    }

    .feature-card-number {
      font-size: 1.2rem;
      font-weight: bold;
      color: #555;
      margin: 0;
    }

    .feature-card-title {
      font-size: 15px!important;  /* 文字を大きく */
      font-weight: bold;
      margin: 0!important;
      color: #d00;        /* 赤系に。お好みで */
    }

    /* テキスト本文 */
    .feature-card-content p {
      font-size: 12px !important;
      line-height: 1.5;
      color: #333;
    }

.feature-card-sentence{
margin:0 0 0 15px !important;
}

.feature-title {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}


.heading-container {
 background-color: #000033!important;
  position: relative;
  padding: 2rem;
  border: 1px solid rgba(197, 165, 114, 0.3);
  background: linear-gradient(135deg, rgba(197, 165, 114, 0.1), transparent);
}

.heading-container::before,
.heading-container::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid #C5A572;
}

.heading-container::before {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}

.heading-container::after {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}

.main-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding: 1rem;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
}

.heading-top {
  font-size: 2.5rem;
  font-weight: 700;
  color: #C5A572;
  text-shadow: 0 0 15px rgba(197, 165, 114, 0.3);
  letter-spacing: 0.1em;
}

.heading-bottom {
  font-size: 1.8rem;
  color: #ffffff;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.decorative-line {
  position: relative;
  height: 2px;
  background: linear-gradient(90deg, 
    transparent, 
    #C5A572,
    #C5A572,
    transparent
  );
  margin-top: 1.5rem;
}

.decorative-line::before,
.decorative-line::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  background: #C5A572;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
}

.decorative-line::before {
  left: 30%;
}

.decorative-line::after {
  right: 30%;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
  .heading-top {
    font-size: 2rem;
  }
  
  .heading-bottom {
    font-size: 1.5rem;
  }
  
  .heading-container {
    padding: 1.5rem;
  }
}

@media (max-width: 480px) {
  .heading-top {
    font-size: 1.5rem;
  }
  
  .heading-bottom {
    font-size: 1.2rem;
  }
  
  .heading-container {
    padding: 1rem;
  }
}

.fa-fw{
color:#F30100;
}

.midashi-waseda {
  padding: 0.5em;/*文字周りの余白*/
  color: #494949;/*文字色*/
  background: #FFE5F0;/*背景色*/
  border-left: solid 8px #A00028;/*左線（実線 太さ 色）*/
}

.waseda-box {
    padding: 0.5em 1em;
    margin: 1em 0;
    color: #232323;
    background: #FFE6FC;
    border-left: solid 8px #9B003F;
}

.waseda-box ul {
    padding-left: 20px!important;
}

.waseda-box p {
    margin: 0!important; 
    padding: 0!important;
}



.profile-card{
  width: 100%;
  max-width:750px;
  position: relative;
  background: #26499d; /*背景の色*/
  box-shadow: 0px 1px 3px rgba(0,0,0,.18);
  overflow: hidden;
}

.profile-card:before{
 width:120%;
 height:100px;
 content:"";
 transform:skew(15deg,10deg);
 background: #90968f; /*斜め背景の色*/
 position:  absolute;
 top:-15%;
 left:-10%;
 z-index: 0;
}

.profile-card__inner{
 position: relative;
}

.profile-thumb{
    overflow: hidden;
    width: 110px;
    height: 110px;
    border: #fff 3px solid;
    border-radius: 55px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    background: #fff;
}

.profile-thumb img{
  display: block;
    width: 100%;
    height: auto;
}



.profile-content{
  padding: 15px;
}

.profile-content span{
  display: block;
}

.profile-content ul{
  list-style-type: none;
}


.profile-name{
  margin-bottom: 3px;
  font-weight: bold;
  text-align: center;
 font-size:20px;
 color:#fff;
}

.profile-job{
  margin-bottom: 10px;
  color: #fff;
  font-size: 10px;
  text-align: center;
}


.profile-intro{
  font-size: 12px!important;
color:#fff;
}

 .fa-crown {
            color: #f1c40f; /* 金色に近づける */
            margin-right: 8px;
        }

.woodboard {
  position: relative;
  margin: 2em auto;
  padding: 2em 1em 1em;
  width: 90%;
  background: #fffff9; /* ボックス背景色 */
  border: 5px solid #f7cc88; /* 枠の色 */
  border-radius: 3px;
  box-shadow: 0 0 8px #333, 0 0 2px #555 inset; /* 影の色 */
}

.woodboard::before,
.woodboard::after {
  position: absolute;
  content: '';
  width: 25px; 
  bottom: 3px;
  border-radius: 2px;
  box-shadow: 1px 1px 3px #666; /* 影の色 */
}

.woodboard::before {
  right: 55px;
  border: solid 3px #8c8c8c; /*飾ペン黒 */
}

.woodboard::after {
  right: 20px;
  border: solid 3px #ffa3ce; /*飾ペンピンク */
  transform: rotate(8deg); /*飾ペン角度 */
}

.woodboard-title {
  position: absolute;
  padding: .1em .5em;
  top: -2px;
  font-weight: bold;
  font-size: 1.1em;
  color: #ff9e9e; /* タイトル文字色 */
  background: #fffff9; /* ボックス背景色 */
  box-shadow: 1px 1px 3px #a0a0a0; /* 影の色 */
}

.dositemo{padding: 1rem 2rem;
  color: #fff;
  background: #094;
  -webkit-box-shadow: 5px 5px 0 #007032;
  box-shadow: 5px 5px 0 #007032;
}


.hitokoto{
  background: rgba(215, 253, 205, 0.61);
  margin: 2em 0;
  padding: 25px;
  border-radius: 10px;
}

.hitokoto-circle1{
  font-size: 16px;
  line-height: 1.5;
  position: absolute;
  margin-top: -37px;
  font-weight: bold;
  color: #fff;
  background-color:#4caf50;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto-circle1:after{
  content: "と";
  position: absolute;
  margin-top: .2em;
  font-weight: bold;
  color: #fff;
  background-color:#4caf50;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto-circle2:before{
  content: "";
  position: absolute;
  top: 100%;
  margin-left: -12px;
  border: 5px solid transparent;
  border-top: 10px solid #4caf50;
  -ms-transform: rotate(-20deg);
  -webkit-transform: rotate(-20deg);
  transform: rotate(-20deg);
}

.hitokoto-circle2{
  position: absolute;
  font-size: 16px;
  line-height: 1.5;
  margin-top: -37px;
  margin-left: 40px;
  font-weight: bold;
  color: #fff;
  background-color:#4caf50;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto-circle2:after{
  content: "と";
  position: absolute;
  margin-top: .2em;
  font-weight: bold;
  color: #fff;
  background-color:#4caf50;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto p{
  margin: 0;
  padding: 0;
}


.check-box-lists {
  margin: .5em 0;
}
.check-box-lists-title {
  display: inline-block;
  padding: 1px 10px 0 10px;
  background: #4169e1;
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: bold;
}
.check-box-lists ul,.check-box-lists ol {
  margin: 0;
  padding: 5px;
  position: relative;
  border: solid 2px #4169e1;
  background-color:#e0efff;
}
.check-box-lists ol {
  counter-reset: number;
}
.check-box-lists ul li,.check-box-lists ol li {
  color: #4169e1;
  line-height: 1.5;
  padding: 0.5em 0.2em 0.5em 1.8em!important;
  list-style-type: none;
  font-weight: bold;
}
.check-box-lists ul li:before {
  font-family: 'Font Awesome 5 Free';
  content: "\f14a";
  position: absolute;
  left : 0.5em;
  color: #4169e1;
}
.check-box-lists ol li:before {
  display: inline-block;
  position: absolute;
  left: 0.5em;
  width: 22px;
  height: 22px;
  border-radius: 20%;
  background: #f49801;
  color: white;
  font-family: "Quicksand", sans-serif;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  line-height: 22px;
  content: counter(number);
  counter-increment: number;
}


.btn-kantan,
.btn-kantan:before,
.btn-kantan:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

.btn-kantan {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

.btn-kantan,
a.btn-kantan,
button.btn-kantan {
 bottom:0!important;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-c {
  font-size: 1.8rem;

  position: relative;

  padding: 1.5rem 2rem 1.5rem 2rem;

  color: #fff;
  border-radius: 100vh;
  background: #eb6877;
  -webkit-box-shadow: 0 5px 0 #e85163;
  box-shadow: 0 5px 0 #e85163;
}

a.btn-c span {
  color: #fff100;
}

a.btn-c small {
  font-weight: bold;
}

a.btn-c i {
  margin-right: 1rem;
}

a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
  color: #fff;
  background: #ee7f8b;
  -webkit-box-shadow: 0 2px 0 #e85163;
  box-shadow: 0 2px 0 #e85163;
}



.titled-bluebox {
  margin: 20px auto;
  max-width:650px;
}
.titled-bluebox-ttl {
  background-color: #2C5E3B;
  color: #fff;
  padding: 0.5em 20px;
  margin: 0!important;
  font-size: 20px!important;
  font-weight: bold;
}
.titled-bluebox-txt {
  padding: 10px 20px;
  border: 4px solid #2C5E3B;
}
          





a.btn--yellow {
  color: #000!important;
  background-color: #fff100;
  border-bottom: 5px solid #ccc100;
 text-decoration: none;
}

a.btn--yellow:hover {
  margin-top: 3px;
  color: #000;
  background: # fff20a;
  border-bottom: 2px solid #ccc100;
}

table.ukariyasui-tbale{
font-size:15px;
}


.ballon-fukidashi {
    display: flex;
    justify-content: center;
    align-items: start;
    gap: 0 22px;
    margin:20px auto;
}
.ballon-fukidashi  img {
    max-width: 70px!important;
    height: 100%;
    border: 3px solid #e6edf3;
    border-radius: 50%;
}
.ballon-fukidashi .sentences {
    position: relative;
    max-width: 500px;
    margin: 3px 0 0!important;
    padding: .8em 1em!important;
    border-radius: 5px;
    background-color: #e0efff;
    color: #333333;
}

.ballon-fukidashi .sentences::before {
    position: absolute;
    right: -15px;
    width: 15px;
    height: 30px;
    background-color: #e0efff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    content: '';
}



.ballon-fukidashi .sentences-l {
    position: relative;
    max-width: 500px;
    margin: 3px 0 0!important;
    padding: .8em 1em!important;
    border-radius: 5px;
    background-color: #e0efff;
    color: #333333;
}

.ballon-fukidashi .sentences-l::before {
    position: absolute;
    left: -15px;
    width: 15px;
    height: 30px;
    background-color: #e0efff;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    content: '';
}

.ballon-fukidashi p:not(.sentences):has(img[src*="fukuzawa-icon1.png"])::after{
content: "ヒロアカ塾長\A小野先生";
  display: block;
  text-align: center;
  font-size: 10px;
  color: #555;
  margin-top: 2px;
 line-height: 1.2;
white-space: pre; 
}

.pic-background {
    background-image: var(--pic-image-data, none);
    background-size: cover;
    background-position: center;
}

.warning-box {

    position: relative;
    padding: 4rem 1rem 1rem;
    background-color: #efefef;
    background-image: repeating-linear-gradient(45deg, #EBBB2F 0 5px, #333 5px 10px);
    background-position: top;
    background-size: 100% 2rem;
    background-repeat: no-repeat;
margin-bottom:18px;
}

.warning-box::before {
    position: absolute;
    top: 1rem;
    left: 50%;
    padding: 0.5rem;
    transform: translateX(-50%);
    border-radius: 30px;
    background-color: #333;
    box-shadow: 0 0 5px black;
    color: #EBBB2F;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    content: attr(data-title);
}
.warning-box .sentences {
    color: #333;
    line-height: 1.5;
    margin:20px 0 15px 15px!important;
}

.check-box-green {
    max-width: 600px;
    margin: 25px auto 15px;
    border: 2px solid #86d67c;
    border-radius: 5px;
    color: #333333;
 padding: 0 10px;
}

.check-box-green div {
    align-items:center;
    display: inline-flex;
    position: relative;
    top: -37px;
    margin: 0 7px;
    background: #fff;
    color: #86d67c;
    font-weight: 600;
    vertical-align: top;
}

.check-box-green svg {
    padding-right: 4px;
    margin-top:20px;
}

.check-box-green .sentences {
    margin: 0;
    padding: 0 1.5em 1em!important;
}



.tape-box {
    position: relative;
    max-width: 400px;
    margin: 1.5em auto;
    padding: 2.5em 1.5em 1.5em;
    box-shadow: 0 2px 3px rgb(0 0 0 / 20%);
    background-color: #e0efff;
    color: #333333;
}

.tape-box span {
    position: absolute;
    top: -15px;
    transform: translateX(-.3em) rotate(-5deg);
    padding: .5em 2em;
    border-right: 2px dotted rgb(0 0 0 / 10%);
    border-left: 2px dotted rgb(0 0 0 / 10%);
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
    background-color: rgb(255 255 255 / 40%);
    font-weight: 600;
}

.tape-box p {
    margin: 0;
}
.clip-box {
    position: relative;
    max-width: 400px;
    margin: 1em auto;
    padding: 1em 2.5em 1em 1.5em;
    border-radius: 3px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 20%);
    background-color: #e0efff;
    color: #333333;
}

.clip-box::before,
.clip-box::after {
    position: absolute;
    content: '';
}

.clip-box::before {
    top: -15px;
    right: 10px;
    height: 50px;
    width: 15px;
    border: 3px solid #999;
    border-radius: 10px;
    box-shadow: 1px 1px 2px rgb(0 0 0 / 30%);
    transform: rotate(10deg);
}

.clip-box::after {
    top: 0;
    width: 10px;
    right: 20px;
    border: solid 5px #e0efff;
}




.quote{
    position: relative;
    padding: 3em 1.5em 2em 2.2em;
    color: #333333;
    background-color: #f2f6fc;
}

.quote::before {
    display: inline-block;
    position: absolute;
    top: 1em;
    left: 1.5em;
    width: 1.5em;
    height: 1.5em;
   font-size:15px!important;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%232589d0%22%20d%3D%22M21.8%2012H18V9c0-1.7%201.3-3%203-3h.4c.6%200%201.1-.5%201.1-1.1V2.6c0-.6-.5-1.1-1.1-1.1H21c-4.1%200-7.5%203.4-7.5%207.5v11.2c0%201.2%201%202.2%202.2%202.2h6c1.2%200%202.2-1%202.2-2.2v-6C24%2013%2023%2012%2021.8%2012zM8.2%2012H4.5V9c0-1.7%201.3-3%203-3h.4C8.5%206%209%205.5%209%204.9V2.6c0-.6-.5-1.1-1.1-1.1h-.4C3.4%201.5%200%204.9%200%209v11.2c0%201.2%201%202.2%202.2%202.2h6c1.2%200%202.2-1%202.2-2.2v-6c.1-1.2-.9-2.2-2.2-2.2z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    content: '';
}

.quote p {
    margin-top: 0;
}

.quote cite {
    display: block;
    color: #737373;
    font-size: .8em;
    text-align: right;
}

.fusen {
    display: inline-block;
    position: relative;
    padding: .5em 1em;
    border-right: 27px solid #2589d0;
    background-color: #f5f5f5;
    color: #333333;
}

.fusen::before {
    position: absolute;
    bottom: 2px;
    right: -20px;
    z-index: -1;
    transform: rotate(5deg);
    width: 100%;
    height: 50%;
    background-color: #d0d0d0;
    content: "";
    filter: blur(4px);
}


.timeline {
    display: flex;
    justify-content: center;
    list-style-type: none;
    padding: 0;
}

.timeline li {
    display: flex;
    flex: 1 1;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    color: #969da3;
    font-size: .8em;
}

.timeline li.prev,
.timeline li.current {
    color: #2589d0;
}

.timeline li::before {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-bottom: 6px;
    content: '';
    border: 2px solid #d6dde3;
    border-radius: 50%;
    background-color: #fff;
}

.timeline li.prev::before,
.timeline li.current::before {
    border-color: #2589d0;
}

.timeline li:not(:last-child)::after {
    position: absolute;
    top: 8px;
    left: 50%;
    z-index: -1;
    width: 100%;
    height: 2px;
    background-color: #d6dde3;
    content: '';
}

.timeline li.current::before,
.timeline li.prev::after {
    background-color: #2589d0;
}



.gray-box {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #232323;
    background: #fff8e8;
    border-left: solid 10px #5d627b;
}
.gray-box p {
    margin: 0; 
    padding: 0;
}

.ol-blue {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding:0.5em;
  background: #f5faff;
}
.ol-blue li {
  position: relative;
  padding-left: 15px!important;
  line-height: 2.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}

.ol-blue li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*以下数字のデザイン変える*/
  display:inline-block;
  background: #5c9ee7;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: -12px;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /*以下 上下中央寄せのため*/
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}



/*--------------------------------------
  メリット・デメリット　BOX
--------------------------------------*/
.meritto, .demeritto {/*ブロックの枠*/
    position: relative;/*基準に設定*/
    padding: 0.8em 1.8em;/*内側の余白　上下0.8　左右1*/
    margin: 3em 0 2em;/*外側の余白　上3　左右0　下2*/
}
.meritto {/*メリットの枠線*/
    border: 3px solid #46bc63;
}
.demeritto {/*デメリットの枠線*/
    border: 3px solid #ff6e6e;
}
.meritto .box-title, .demeritto .box-title {/*タイトル部分*/
    position: absolute;/*基準をもとに自由に動かせるように*/
    top: -42px;/*上からの位置*/
    left: -3px;/*左からの位置*/
    color: white;/*文字色*/
    line-height: 32px;/*文字の高さ*/
    padding: 5px 13px 3px;/*内側の余白*/
    border-radius: 10px 10px 0 0;/*角丸　上2つだけ丸*/
}
.meritto .box-title {/*メリットのタイトル背景色*/
    background: #46bc63;
}
.demeritto .box-title {/*デメリットのタイトル背景色*/
    background: #ff6e6e;
}
.meritto .box-title:before, .demeritto .box-title:before {/*タイトルのアイコン*/
    margin-right: 10px;/*右側の余白*/
    font-size: 1.2em;/*アイコンの大きさ*/
}
.meritto .box-title:before {/*メリットのアイコン*/
    content: "\f599";
}
.demeritto .box-title:before {/*デメリットのアイコン*/
    content: "\f119";
}
.meritto ul, .demeritto ul {/*中の箇条書き*/
    list-style: none;/*●を消去*/
}
.meritto li, .demeritto li {/*中の箇条書きの中*/
    padding: .5em 0;/*上下の余白*/
}
.meritto li:before, .demeritto li:before {/*箇条書きの前にアイコン追加*/
    margin-left: -20px;/*左の余白*/
    margin-right: 10px;/*右の余白*/
}
.meritto li:before {/*メリットのアイコンと色*/
    content: "\f164";
    color: #46bc63;
}
.demeritto li:before {/*デメリットのアイコンと色*/
    content: "\f165";
    color: #ff6e6e;
}
.meritto li:before, .meritto .box-title:before, .demeritto li:before, .demeritto .box-title:before {/*アイコンの共通設定*/
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}


/* リストで使える囲み枠*/
.somosomohiroaca{
 text-align:  center;   
}
.banner-top-ad {
  margin: 1em auto;
  background: #fff3e8; /* 背景色 */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22); /* 影の色 */
}

.banner-top-ad-title {
  font-size: 1.1em;
  background: #b3424a; /* タイトル背景色 */
  padding: 2px;
  text-align: center;
  color: #FFF; /* タイトル文字色 */
  font-weight: bold;
  letter-spacing: 0.05em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.22); /* タイトル影の色 */
}

.banner-area{
 padding:15px 15px 5px 15px;
}
.banner-area-bottom{
 padding:15px 0px 15px 10px;
}

.banner-top-ad p {
  margin: 0;
  padding: 1em;
}

/* box19用リスト表示 */
img.aligncenter.size-full.wp-image-22288{
margin-bottom:0;
}

ol.list5 {
  counter-reset:list;
  list-style-type:none;
  margin-bottom:0;
}
ol.list5 li {
  position:relative;
  padding: 5px 0 6px 27px;
  line-height: 25px;
  border-bottom: dashed 1px #F6A38B;
}
ol.list5 li:before {
  counter-increment: list;
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-weight: 900;
  font-size: 1.2em;
  color: #ffc44f; /* アイコンの色 */
  display: block;
  position: absolute;
  left: -25px;
  top: 1px;
}

----------------------------------------

.emphasis-line{
padding: 0.5em;/*文字周りの余白*/
  color: #010101;/*文字色*/
  background: #eaf3ff;/*背景色*/
  border-bottom: solid 3px #516ab6;/*下線*/
margin-bottom:30px;
font-size:25px;
}
}


.solution-box{
  position: relative;
}
.solution-box_inner{
  padding: 1em;
}
.solution-box:before,
.solution-box:after{
  content: "";
  width: 4em;
  height: 4em;
  position: absolute;
}
.solution-box::before{
  border-top: 2px solid #0094D6;
  border-left: 2px solid #0094D6;
}
.solution-box::after{
  border-bottom: 2px solid #0094D6;
  border-right: 2px solid #0094D6;
  right: 0;
  bottom: 0;
}
.solution-box h3{
  margin: 0 0 .5em;
}
.solution-box h3:first-letter{
  font-size: 1.4em;
  color: #0094D6;
}


.ul-check {
  border: solid 3px skyblue;
  border-radius: 5px;
  margin:5px 0 0 0!important;
  padding: 0.5em 1em 0.5em 2.3em!important;
  position: relative;
}

.ul-check li {
	position: relative;            /* ★追加：beforeの基準をliにする */
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;
}

.ul-check li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;              /* ★重要：Solid系を出す */
  content: "\f14a";              /* fa-check-square */
  position: absolute;
  left: -1.4em;                  /* ulのpadding-left内に配置（調整OK） */
  top: 0.1em;                   /* 縦位置（調整OK） */
  color: #22c55e;
  font-size: 1em;
}


/*チェックマークのアイコンをつけた囲み枠 */
.check-box-yellow {
margin: 2em auto;
padding:1em 2em .1em;
background-color:#F6F4D4; /* 背景色 */
border-radius:1px;/*ボックス角の丸み*/
box-shadow: 0px 1px 3px rgba(0,0,0,0.1);/*ボックス影*/
}

.check-box-yellow .box-title {
color: #8B847E; /* タイトル文字色 */
font-size: 18px;/*タイトル文字の大きさ*/
font-weight: bold;
}

.check-box-yellow .box-title:before {
font-family: "Font Awesome 5 Free";
content: '\f00c';
font-size: 18px;/*アイコンの大きさ*/
margin: 0 3px 0 0;
font-weight: bold;
}
.swell-box{
margin: 2em auto;
padding:2em;
background:linear-gradient(-45deg,transparent 25%,#eee 25%,#eee 50%,transparent 50%,transparent 75%,#eee 75%,#eee);
background-size: 4px 4px;
border-bottom: 4px double #ddd;
border-top: 4px double #ddd;
background-clip: padding-box;
}

.str-box {
/*方眼紙風*/
margin: 2em auto;
padding:2em;
background-image: linear-gradient(0deg, transparent 19px, #ccc 20px),linear-gradient(90deg,  transparent 19px, #ccc 20px);
background-size: 20px 20px;
}

.eiken-table {
  font-family: "Open Sans", sans-serif;
  line-height: 1.25;
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
      box-shadow: 0 0 15px -6px #00000073;
}

.eiken-table tr {
  background-color: #fff;
}
.eiken-table th,
.eiken-table td {
  padding: .35em 1em;
  border-bottom: 1px solid #eee;
}
.eiken-table thead th {
    font-size: .85em;
    padding: 1em;
}
.eikentable-backgrouund{
  background-color: #020352;
  color:#fff;
}
.eiken-txt ul {
  margin: 0; /* 外側の余白をなくす */
  padding-left: 20px; /* リストの左側のインデントを調整 */
  list-style-position: inside; /* リストマークをセル内に収める */
  word-wrap: break-word; /* 長い単語を折り返す */
}

.eiken-table tbody th {
  text-align: left;
  font-size: .8em;
}
.eiken-txt{
   text-align: left;
   font-size: .75em;
}
.eiken-price{
  text-align: right;
  color: #000;
  font-weight: bold;
}

.eiken-tbody:hover td,.eiken-tbody:hover th {
}

.eiken-tbody:hover tr:hover td,
.eiken-tbody:hover tr:hover th{

}



#profileimg_mb{
width:170px;
height:190px;

}
.blog-sashikomi-w{
	background:#9B003F ;
         color:#fff;
}
.blog-sashikomi-w a{
  color:#dedf59;
  text-decoration:underline;
}
.title-w{
background: #b3424a;
  color: #FFF;
  text-align: center;
  margin: 0;
  background-size: 15px 15px;
  text-align: center;
}
.blog-sashikomi .inner{
  padding: .2em;
}
.blog-sashikomi{
	background: #d8e0ff;
}
.blog-sashikomi .title{
background: #020352;
  color: #FFF;
  text-align: center;
  margin: 0;
  );
  background-size: 15px 15px;
  text-align: center;
}
.blog-sashikomi .inner{
  padding: .2em;
}

.numberlists-kw{
counter-reset:list;
  list-style-type:none;
  font: 14px/1.6 'arial narrow', sans-serif;
  padding:5px 0 0 25px;
}

.numberlists-kw li{
 position:relative;
  padding: 0 0 0 30px;
  margin: 7px 0 7px 0px;
  font-size:12px;
  line-height: 29px;
  border: dashed 1px transparent;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}

.numberlists-kw li:before{
counter-increment: list;
  content: counter(list);
  position: absolute;
  margin:-15px 0 0 -32px;
  width: 30px;
  height: 30px;
  text-align: center;
  color: #fff;
  line-height:30px;
  background: #F6A38B;
  border-radius: 50%;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}


.keio-process {
position: relative;
  display: block;
  margin: 1rem 0 1rem -10px!important;
  padding: 1rem 3rem;
  color: #fff;
  border-radius: 0 100vh 100vh 0;
  background: #020352;
  -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
  box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
}

.keio-process:before
{
position: absolute;
  bottom: -10px;
  left: 0;
  width: 0;
  height: 0;
  content: '';
  border-top: 10px solid #005276;
  border-left: 10px solid transparent;
}

.explanation-heading{
  padding: 0.5em;/*文字周りの余白*/
  color: #010101;/*文字色*/
  background: #eaf3ff;/*背景色*/
  border-bottom: solid 3px #516ab6;/*下線*/
}

.examples{
	position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #fff100;
}

.examples:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #000;
}

blockquote {
    position: relative;
    padding: 10px 15px 10px 50px;
    box-sizing: border-box;
    font-style: italic;
    border: solid 2px #464646;
    color: #464646;
}

blockquote:before{
    display: inline-block;
    position: absolute;
    top: 10px;
    left: 0;
    content: "“";
    font-family: sans-serif;
    color: #77c0c9;
    font-size: 90px;
    line-height: 1;
}

blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

.smartbox{
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.smartbox p {
    margin: 0; 
    padding: 0;
}



.pc_area{
    display:none;
  }
 .phone_area{
    display:block;
  }

@media screen and (min-width: 1025px){
.pc_area{
  display:block;
}
.phone_area{
  display:none;
}
}

.info{
  border: 2px solid #0094D6;
  border-radius: 10px;
}
.info h3{
  background: #0094D6;
  color: #FFF;
  text-align: center;
  margin: 0;
}
.info .inner{
  padding: .5em;
}

.intro {
   padding: 0;
}

.intro-nest {
  color: #404040;
  border-left: solid 6px #1fa67a;/*左側の線*/
  border-bottom: solid 2px #dadada;/*下に灰色線*/
  background: whitesmoke;
  margin-bottom: 1px;/*下のバーとの余白*/
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none!important;/*ポチ消す*/
  font-weight: bold;}
.highlight-red{
 background:linear-gradient(transparent 75%, #ff7f7f 75%);
font-weight:bold; 
}
/* マーカー線・青 */
.highlight-blue{
background:linear-gradient(transparent 75%, #9eceff 75%);
font-weight:bold; 
}

/* マーカー線・黄色 */
.highlight-yellow{
background:linear-gradient(transparent 75%, #ffdc00 75%);
font-weight:bold; 
}		

/* マーカー線・ピンク */
.highlight-pink{
background:linear-gradient(transparent 75%, #ff9ece 75%);
font-weight:bold; 
}

/* マーカー線・緑 */
.highlight-green{
background:linear-gradient(transparent 75%, #b2ffb2 75%);
font-weight:bold; 
}


/* マーカー線・水色 */
.highlight-sky{
background:linear-gradient(transparent 75%, #afeeee 75%);
font-weight:bold; 
}


/* マーカー線・オレンジ */
.highlight-orange{
background:linear-gradient(transparent 75%, #ffbf7f 75%);
font-weight:bold; 
}
.yellow-box {
    padding: 0.5em 1em;
    margin: 1em 0;
    color: #232323;
    background: #f5f5ff;
    border-left: solid 8px #191970;
}

.yellow-box ul {
    padding-left: 20px!important;
}

.yellow-box p {
    margin: 0!important; 
    padding: 0!important;
}
/*--------------------
 オリジナルのフレーム
--------------------*/
.frame {
 width: 100%;
 margin: 30px auto 20px;
 padding:25px 20px 10px 30px;
 border: 3px solid #aaa;
 position: relative;
 border-radius: 3px;
 background-color: #fff;
}
.frame-title {
 position: absolute;
 top: -13px;
 left: 20px;
 font-size:14px!important;
 padding: 0 5px;
 background-color: #fff;
}
.frame-title .fa {
 margin-right: 5px;
}
.caution {
 background-color: #030350;
 border: 2px solid #030350;
 color: #fff;
 border-radius: 3px;
}
.frame-red {
 border-color: #030350;
}
#side_slide_menu a{
 bottom:150px;
}
.wp-image-85{
display:none;
}
.archive-content .date{
display:none;
}
.lcp_catlist .date{
display:none;
}
.button15 a {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 1em 2em;
  width: 300px;
  color: #333;
  font-size: 18px;
  font-weight: 700;
  background-color: #cccccc;
  border-radius: 50vh;
  transition: 0.3s;
}

.button15 a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background-color: #f2f2f2;
  border-radius: 50vh;
}

.button15 a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%) rotate(45deg);
  width: 5px;
  height: 5px;
  border-top: 3px solid #333333;
  border-right: 3px solid #333333;
}

.button15 a:hover {
  text-decoration: none;
  background-color: #cccccc;
}
.blog-card {
	position: relative;
  background: #F0F5FF;
  border: 1px solid #4C7BA1;
  word-wrap: break-word;
  max-width: 100%;
  border-radius: 5px;
  margin: 0px 10px 15px 10px;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, .2);
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.blog-card:hover {
  cursor: pointer;
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, .2);
  -moz-transform: translateY(-2px);
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}

.blog-card:before {
  font-family: "Font Awesome 5 Free";
  position: absolute;
  padding: 2px 5px;
  content: "\f02e あわせて読みたい";
  background-color: #4C7BA1;
  color: #fff;
  z-index: 1;
    font-size: 17px;
    line-height: 1.8;
}

.blog-card a {
  text-decoration: none;
}

.blog-card-thumbnail {
  width: 35%;
  display: table-cell;
  vertical-align: middle;
  padding: 25px 0 10px 10px;
}

.blog-card-thumbnail img {
  padding: 0;
}

.blog-card-content {
  display: table-cell;
  vertical-align: middle;
}

.blog-card-title {
  font-size: .8em;
  margin: 3px 10px 3px 0px;
  font-weight: bold;
  line-height: 1.1;
  padding:19px 5px 3px 20px; 
}

.blog-card-title:hover {
  text-decoration: underline;
}

.blog-card-excerpt {
  font-size: .74em;
  color: #4c4c4c;
  margin: 0 10px 5px 0;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;
}

.blog-card .clear {
  clear: both;
}

@media screen and (max-width: 500px) {
  .blog-card:before {
    font-size: 13px;
  }
  .blog-card-title {
    font-size: .70em;
  }
  .blog-card-excerpt {
    font-size: .60em;
  }
}



.alert{
position: relative;
    margin: 2em 0;
    padding: 5px 10px 7px;
    border: solid 2px #9B003F;
    background:#FCB4CC50;
}
.alert .ttl {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #9B003F;
    color: #ffffff;
		font-weight:bold;
}

.alert div {
    margin: 0; 
    padding: 0;
}

.memo.sum{
		background: #EFEFEF80;
    line-height: 1.7;
    font-size: 17px;
    padding: 10px 15px;
    border-radius: 5px;
    margin-bottom: 10px;
    margin-top: 2em;
}
.memo_ttl.sum {
    margin-bottom: 10px;
    color: #90A4AE;
}
.sum.memo_ttl:before {
   font-family: "Font Awesome 5 Free";
    background: none;
    color: #90A4AE;
    line-height: 30px;
     content:"\f03a";
		font-weight:500;
	 	font-size:28px;
}

table{
     border-collapse:collapse;
    width:100%;
    font-size:16px;
}

table , th , td  {
    border:1px solid #d4e0ee;
    color:#555;
}
caption {
    font-size:150%;
    font-weight:bold;
    margin:5px;
}
td, th {
    padding:5px;
}
thead th {
    text-align:center;
    background:#e6edf5;
    color:#4f76a3;
    font-size:100% !important;
}
tbody th {
    font-weight:bold;
}
tbody tr { background:#fcfdfe; }
tbody tr.odd { background:#f7f9fc; }
table a:link {
    color:#718abe;
    text-decoration:none;
}
table a:visited {
    color:#718abe;
    text-decoration:none;
}
table a:hover {
    color:#718abe;
    text-decoration:underline !important;
}
tfoot th, tfoot td {
    font-size:85%;
}


table tr:nth-child(odd){
  background-color: #eee
}

.btn-block{
  display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none;
    background: #ff1493;/*ボタン色*/
    color: #f5f5f5;
    border-bottom: solid 4px #627295;
    border-radius: 3px;
}

.btn-block:active {/*ボタンを押したとき*/
    -ms-transform: translateY(4px);
    -webkit-transform: translateY(4px);
    transform: translateY(4px);/*下に動く*/
    border-bottom: none;/*線を消す*/
}

.btn-block:visited{
   color:#f5f5f5;
   text-decoration: none;
}


このカスタムCSS
/* TOC+ */
#toc_container{
background-color:rgba(44,153,181,.04); /* 目次全体の背景カラー */
	border:3px solid rgba(64,105,144,.2); /* 目次全体の枠線 */
	border-radius:3px;
	padding:38px 52px;
	display:table;
	min-width: 68%;
	counter-reset:li;
}
 
/* テーマによるリストの装飾を一旦無効化 */
#toc_container ul.toc_list li::before{
	content:none;
	padding:0;
	margin:0;
	width:0;
	height:0;
	background:none;
	box-shadow:none;
}
 
/* 目次の見出しタイトル */
#toc_container .toc_title{
	text-align:center;
	font-weight:bold;
	font-size:118%;
	padding:0;
}
 
/* 見出しタイトル左のアイコン */
#toc_container .toc_title::before{
	position:relative;
	font-size:28px;
	content:"\2254";
	display:inline-block;
	width:40px;
	height:40px;
	line-height:34px;
	margin-right:8px;
	border-radius:50%;
	vertical-align:baseline;
	speak:none;
	-webkit-font-smoothing:antialiased;
	color:#fff;
	background-color:#5f7b96;
}
 
/* 表示／非表示トグル */
#toc_container .toc_toggle a{
	font-size:13px;
	font-weight:normal;
	padding:2px 4px;
}
 
/* 目次エリア */
#toc_container p.toc_title + ul.toc_list{
	padding:20px 0 0;
	margin:20px 0 0;
	border-top:1px solid rgba(0,0,0,.1);
}
 
/* リスト共通スタイル */
#toc_container ul.toc_list li{
	position:relative;
	padding:0;
	margin:0;
}
 
/* 目次リンク共通スタイル */
#toc_container ul.toc_list li a{
	position:relative;
	font-size:94%;
	font-weight:normal;
	text-decoration:none;
	display:inline-block;
	line-height:1.6;
	padding:3px 0;
	margin:5px 0;
	transition:all .3s ease;
}
#toc_container ul.toc_list a,
#toc_container ul.toc_list a:visited{
	color:#5f7b96; /* リンクカラー */
}
/* マウスオーバー時 */
#toc_container ul.toc_list li a:hover{
	text-decoration:none;
	box-shadow:0 2px;
}
 
/* 親の目次 */
#toc_container ul.toc_list > li > a{
	font-size:104%;
	font-weight:bold;
	margin-left:40px;
}
 
/* 親の目次(左側の連番) */
#toc_container ul.toc_list > li::before,
#toc_container ul.toc_list > li::after{
	position:absolute;
	top:3px;
	left:0;
}
/* 連番背景 */
#toc_container ul.toc_list > li::before{
	content:'';
	display:inline-block;
	vertical-align:bottom;
	width:32px;
	height:32px;
	margin-right:7px;
	border-radius:16px;
	background-color:rgba(125,157,188,0.66);
}
/* 連番 */
#toc_container ul.toc_list > li::after{
	counter-increment:li;
	content:counter(li);
	width:32px;
	line-height:32px;
	font-family:'Avenir Next', 'Helvetica Neue', Arial, 'Meiryo','Yu Gothic', san-serif;
	font-weight:400;
	text-align:center;
	color:#fff;
}
 
/* 子の目次 */
#toc_container ul.toc_list > li > ul{
	margin-left:40px;
}
 
/* 子の目次の左側のアイコン */
#toc_container ul.toc_list > li ul li::before{
	position:absolute;
	top:3px;
	left:0;
	content:'\2023';
	display: inline-block;
	width:14px;
	height:28px;
	line-height:28px;
	font-size:18px;
	color:#5f7b96;
}
#toc_container ul.toc_list > li ul li a{
	font-weight: normal;
	margin-left:16px;
}
 
/* レスポンシブ設定(667px幅以下) */
@media only screen and (max-width: 667px){
	#toc_container{
		padding:20px 3vw;
		min-width:auto;
		width:100%!important;
	}
	#toc_container p.toc_title + ul.toc_list{
		padding:20px 0 0;
	}
	#toc_container ul.toc_list > li > ul{
		margin-left:30px;
	}
}

//カウンセリングフォーム修正
/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:500px){
.inquiry th,.inquiry td {
 display:block!important;
 width:100%!important;
 border-top:none!important;
 -webkit-box-sizing:border-box!important;
 -moz-box-sizing:border-box!important;
 box-sizing:border-box!important;
}
.inquiry tr:first-child th{
 border-top:1px solid #d7d7d7!important;
}
/* 必須・任意のサイズ調整 */	
.inquiry .haveto,.inquiry .any {	
font-size:10px!important;
}
}
/*見出し欄*/
.inquiry th{
 text-align:left!important;
 font-size:14px!important;
 color:#444!important!important;
 padding-right:5px!important;
 width:30%!important;
 background:#f7f7f7!important;
 border:solid 1px #d7d7d7!important;
}
/*通常欄*/
.inquiry td{
 font-size:13px!important;
 border:solid 1px #d7d7d7!important;
 padding:15px!important;
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
 border:solid 1px #d7d7d7!important;	
}
/*必須の調整*/
.haveto{
 font-size:14px;
 padding:5px;
 background:#A00028;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}
/*任意の調整*/
.any{
 font-size:14px;
 padding:5px;
 background:#030350;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 display:block!important;
}

/*送信ボタンマウスホバー時*/
.sendbuttun:hover{
 opacity:.5;
}

.entry-content p{
	font-size:16px;
}

.entry-content div{
	font-size:16px;
}

/*関連記事*/
#jp-relatedposts h3.jp-relatedposts-headline{
	font-size:20px;
	background-color:#005f37;
	padding:0px 28px 15px 12px;
	color:white;
}

body #jp-relatedposts .jp-relatedposts-items {
  display: flex;
  flex-wrap: wrap;
  margin-right: -3.4005%;
}
 
body #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
  float: none;
  width: 46.5994%;
  margin-right: 3.4005%;
  margin-bottom: 24px;
  padding-right: 0;
}
 
body #jp-relatedposts .jp-relatedposts-post-thumbs > .jp-relatedposts-post-a {
  display: block;
  margin-bottom: 8px;
}
 
// Base font size = 16px -> min-width: 48em = min-width: 768px
@media only screen and (min-width: 48em) {
  body #jp-relatedposts .jp-relatedposts-items {
    margin-right: -2.1072%;
  }
 
  body #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
    width: 31.226%;
    margin-right: 2.1072%;
  }
}

.veu_cta .cta_title{
background-color:#981e2a;
}
.veu_cta .cta_body{
 background-color:#10193a;
 color:#fff;
}

@font-face {
    font-family: 'HuiFontP109';
    src:url('/fonts/public/HuiFont/HuiFontP109.eot');
    src:url('/fonts/public/HuiFont/HuiFontP109.eot?#iefix') format('embedded-opentype'), 
url('/fonts/public/HuiFont/HuiFontP109.woff')format('woff'), 
url('/fonts/public/HuiFont/HuiFontP109.ttf')format('truetype'), 
url('/fonts/public/HuiFont/HuiFontP109.svg#HuiFontP109') format('svg');
    font-weight: normal;
    font-style: normal;
}
.kokuban {
    color: #fff;
    background-color: #114400;
    margin: 10px 0 10px 0;
    padding: 15px;
    border: 9px solid #a60;
    border-radius: 3px;
    box-shadow: 2px 2px 4px #666, 2px 2px 2px #111 inset;
    text-shadow: 0px 0px 2px #000;
    line-height: 1.9;
}
.point {
    color: #ffb1b3;
    font-weight: bold;
    border: 3px solid #ffb1b3;
}

.matome {
    position: relative;
    margin-top: 20px;
    margin-bottom: 15px;
    padding: 0px 30px 7px;
    border: 1px solid #5a728b;
    width: auto;
    background-color: #fafafa;
}

.matome-title {
    position: absolute;
    display: inline-block;
    top: -20px;
    padding: 4px 9px;
    height: 30px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 1em;
    background: #5a728b;
    color: #ffffff;
    font-weight: bold;
}

.check-list {
  position: relative;
}

.check-list li {
  line-height: 1.5;
  list-style-type: none!important;/*ポチ消す*/
}

.check-list li:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900; 
  content: "\f00c";
  position: absolute;
  left : -20px; /*左端からのアイコンまで*/
  color: #5eb7e8; /*アイコン色*/
}


.highlight {
    background: linear-gradient(transparent 0%, #ffefaf 0%);
    padding: 2px 5px 0;
    margin: 0 2px;
}


.heading-under {
    padding: 10px 10px 10px 20px;
    margin-top: 48px;
    position: relative;
    border-left: solid 10px #030350; 
    position: relative;
    background: #f2f2f2;
}

.heading-under::after{
.content: "";
    height: 100%;
    width: 5px;
    background: linear-gradient(130deg, #31aae2 0%,#0b80dc 100%);
    position: absolute;
    left: 0;
    top: 0;
}

.blogcard {
  line-height: 1;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  word-wrap: break-word;
  margin: 40px;
  box-shadow: 0 0 10px 6px rgba(0,0,0,.025);
}
.blogcard a {
  text-decoration: none;
  opacity: 1;
  transition: all 0.2s ease;
}
.blogcard a:hover {
  opacity: 0.6;
}
.blogcard_thumbnail {
  float: left;
  padding: 20px;
}
.blogcard_title {
  font-size: 1em;
  font-weight: bold;
  line-height: 1.4;
  padding: 17px 20px 10px;  
}
.blogcard_excerpt {
  font-size: 0.85em;
  line-height: 1.6;
  padding: 0 17px 15px 20px;
}
@media screen and (max-width: 768px) {
  .blogcard {
    margin: 40px 0;
  }
  .blogcard_title {
    font-size: 0.95em;
    padding-bottom: 17px;
  }
  .blogcard_excerpt  {
    display: none;
  }
}

.b-waku{
    margin: 2em 0;
    border: solid 3px #10193a;
    border-radius: 8px;
    font-weight: bold;
    color:#10193a;
    padding:0px 3px 15px 10px;
}

.b-waku .box-title {
    display: inline-block;
    position: relative;
    top: -14px;
    left: 10px;
    padding: 0 9px;
    margin: 0 7px;
    background: #fff;
    color: #10193a;
    font-size: 19px;
    line-height: 1.4;
}
.b-waku ul{
	border-style:none;
	padding-top:0px;
	padding-bottom:0px;
	margin-top:0px;
}
	
.b-waku .box-title:before{
    padding-right: 4px;
    font-family: "font awesome 5 free";
    content: "\f02e";
		font-weight: 500;
}

.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	font-family: 'font awesome 5 free', sans-serif;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa dt {
	position: relative;
	margin: 0 0 1.5em 0;
}
.cp_qa dd {
	position: relative;
	margin: 0 0 2em 0;
	padding: 0 0 1.5em 2em;
	border-bottom: 1px dotted #0097a7;
}
.cp_qa dt::before, .cp_qa dd::before {
	font-size: 1.2em;
	margin: 0 0.5em 0 0;
	color: #ffffff;
	border-radius: 50%;
	display: inline-block;
	width: 1.3em;
	height: 1.3em;
	line-height: 1.2em;
}
.cp_qa dt::before {
	padding: 0.1em 0.3em;
	content: '\f128';
	background: #f57c00;
}
.cp_qa dd::before {
	padding: 0.12em 0.45em;
	content: '\f12a';
	background: #0097a7;
}
.cp_qa dt::after, .cp_qa dd::after {
	position: absolute;
	top: 0.5em;
	display: inline-block;
	width: 0;
	height: 0;
	content: '';
	border-width: 5px 0 5px 5px;
	border-style: solid;
}
.cp_qa dt::after {
	left: 1.5em;
	border-color: transparent transparent transparent #f57c00;
}
.cp_qa dd::after {
	left: 3.5em;
	border-color: transparent transparent transparent #0097a7;
}



/*          Rinker カスタマイズ          */
/* ------------------------------------- */

/* --------- 外枠 --------- */
div.yyi-rinker-contents {
    /*border: solid 1px #dbdbdb;*/ /* １重線 */
    border:double #CCC; /* ２重線 */
}

/* ------- 画像 ------- */
div.yyi-rinker-contents div.yyi-rinker-image {
    width: 30%;
}

/* ------- 商品情報 全体 ------- */
div.yyi-rinker-contents div.yyi-rinker-box div.yyi-rinker-info {
    margin-top: 0; /* 上の余白 */
}

/* --- 商品リンク タイトル --- */
div.yyi-rinker-contents div.yyi-rinker-title a {
    color: #3296d2; /* 文字色 */
}

/* --- クレジット＆価格 --- */
div.yyi-rinker-contents div.yyi-rinker-detail {
    margin-top: 0; /* 上の余白 */
}

/* ------- クレジット ------- */
div.yyi-rinker-contents div.yyi-rinker-detail .credit {
    margin-bottom: 5px; /* 下スペース */
    color: #999; /* 文字色 */
}
div.yyi-rinker-contents div.yyi-rinker-detail .credit a{
    /*text-decoration: none;*/ /* リンクの下線 */
    color: #2581B3; /* リンクの文字色 */
}

/* ------- ブランド ------- */
div.yyi-rinker-contents div.yyi-rinker-detail .brand {
    margin-top: 0; /* 上の余白 */
}

/* ------- 商品価格 ------- */
div.yyi-rinker-contents div.yyi-rinker-detail .price-box {
    margin: 5px 0; /* 上下の余白 */
    color: #aaa; /* 文字色 */
}


/* --------- ボタン基本スタイル --------- */
div.yyi-rinker-contents ul.yyi-rinker-links li a {
    border-radius: 2px; /* ボタン 角の丸み */
    text-align: center;
    min-width:129px; /* ボタンの最小幅 */
    font-size: 0.9em;
    color: #fff; /* 文字色 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li {
    margin: 5px;
    border-radius: 5px; /* ボタン外枠 角の丸み */
}

/* --------- ボタン色 --------- */
div.yyi-rinker-contents ul.yyi-rinker-links li.amazonkindlelink { /* kindle */
    background: #666; /* 背景色 */
    border: 2px solid #666; /* 外枠 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.amazonlink { /* Amazon */
    background: #f6a306; /* 背景色 */
    border: 2px solid #f6a306; /* 外枠 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.rakutenlink { /* 楽天 */
    background: #cf4944; /* 背景色 */
    border: 2px solid #cf4944; /* 外枠 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.yahoolink { /* Yahoo */
    background: #51a7e8; /* 背景色 */
    border: 2px solid #51a7e8; /* 外枠 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.freelink1 { /* freelink1 */
    background: #4072b3; /* 背景色 */
    border: 2px solid #4072b3; /* 外枠 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.freelink2 { /* freelink2 */
    background: #4dc0b2; /* 背景色 */
    border: 2px solid #4dc0b2; /* 外枠 */
}

/* --- マウスオーバー時のボタン色 --- */
div.yyi-rinker-contents ul.yyi-rinker-links li a:hover {
    background: #fff; /* 背景色 */
    opacity: 1; /* 透明度(1.0=不透明 0.0=完全透明) */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.amazonkindlelink a:hover { /* kindle */
    color: #666; /* 文字色 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.amazonlink a:hover { /* Amazon */
    color: #f6a306; /* 文字色 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.rakutenlink a:hover { /* 楽天 */
    color: #cf4944; /* 文字色 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.yahoolink a:hover { /* Yahoo */
    color: #51a7e8; /* 文字色 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.freelink1 a:hover { /* freelink1 */
    color: #4072b3; /* 文字色 */
}
div.yyi-rinker-contents ul.yyi-rinker-links li.freelink2 a:hover { /* freelink2 */
    color: #4dc0b2; /* 文字色 */
}

/* --------- 外部リンク マーク削除 --------- */
div.yyi-rinker-contents div.yyi-rinker-title a[target="_blank"]::after{ /* 商品リンク タイトル */
    content: none;
}

div.yyi-rinker-contents div.yyi-rinker-detail .credit a[target="_blank"]::after{ /* クレジット */
    content: none;
}

div.yyi-rinker-contents ul.yyi-rinker-links li a[target="_blank"]::after{/* ボタン */
    content: none;
}

/* --------- レスポンシブ用 --------- */
@media screen and (max-width: 768px) { /* 画面幅768px以下の時 */
/* --- 商品リンク タイトル --- */
div.yyi-rinker-contents div.yyi-rinker-title a {
    font-weight: bold; /* 太字 */
}
/* --------- ボタン基本スタイル --------- */
div.yyi-rinker-contents ul.yyi-rinker-links li a {
    font-size: 0.8em;
}
}

@media screen and (max-width: 480px) { /* 画面幅480px以下の時 */
/* --- 商品リンク タイトル --- */
div.yyi-rinker-contents div.yyi-rinker-title a {
    font-weight: bold; /* 太字 */
    font-size: 1.05em;
}
/* --------- ボタン基本スタイル --------- */
div.yyi-rinker-contents ul.yyi-rinker-links li a {
    padding-left: 3.5px !important; /* ボタン文字 位置調整 */
    font-size: 0.8em;
}
}


.emphasize-link {
  position: relative;
  margin: 15px 0 16px!important;
  padding: 16px 5px!important;
  border: 2px solid #5999E8;
  background-color: #f5faff;
}

.emphasize-link p:last-child {
  margin-bottom: 0;
}

.emphasize-link a {
 text-decoration:none;
 padding-left:30px;
 color:#1a0dab;
		display: block;
}

.emphasize-link a:before {
  font-family: "Font Awesome 5 Free";
	font-weight: 900;
  content: "\f058";/*アイコン種類*/
  position: absolute;
 left:10px;
  color: #5032FF; /*アイコン色*/
}

.emphasize-link::before {
  font-family: "Font Awesome 5 Free";
  position: absolute;
  bottom: 100%;
  left: -2px;
	top:-28px;
	padding: 0px 12px;
	content: "\f02d  あわせて読みたい";
  background-color: #5999E8;
  color: #fff;
  font-weight: 900;
  border-radius: 6px 6px 0px 0px;
}

       .btn-outer{
       text-align:center;
       }
 .btn__inline_big{
color: #fff;       
}
 .btn__inline_sub{
color: #fff;
      
}
.btn__inline_bl{
 display: inline-block;
 background: #a00037;
}
.btn-outer a{
text-decoration:none;
}
@media screen and (max-width: 767px) {     
      .counseling_box h3 {
        padding-bottom: 10px;
        margin-bottom: 10px;
      }

      .in_counseling_box {
        background:#2e2c2e;
        padding: 4%;
        margin-bottom: 20px;
        color:#fff;
      }

      .in_counseling_box h4 {
        margin: 0 0 10px;
      }
    .btn__inline_bl {
        padding: 10px ;
      }

      .btn__inline_sub {
              font-weight: 600;
               display:none;
        font-size: 12px;
      }

      .btn__inline_big {
        font-size: 18px;
        font-weight: 600;
      }
}

    @media screen and (min-width: 768px) {
      .counseling_box h3 {
        padding-bottom: 10px;
        margin-bottom: 10px;

      }

      .in_counseling_box {
        background: #2e2c2e;
        padding: 20px;
        margin-bottom: 20px;
       color:#fff;
      }

      .in_counseling_box h4 {
        margin: 0 0 10px;
      }
     .btn__inline_bl {
        padding: 10px;
      }

      .btn__inline_sub {
        line-height: 1;
        letter-spacing: 1.3px;
        font-size: 12px;
      }

      .btn__inline_big {
        line-height: 1.2;
        font-size: 28px;
      }
  
    }


.juken2{
font-size:8px!important;
}
.b-title{
font-size:11px!important;
}

/*********************************
* タイムライン
*********************************/
.ptimeline-wrap{
    margin:0 auto 2rem;
}
.ptimeline-wrap .ptimeline{
    padding:0 !important;
    list-style:none !important;
}
.ptimeline-wrap .ptimeline-label {
    padding: 3px 0 0 2px;
    color: #aaa;
    font-size: 12px;
    font-weight: 500;
}
.ptimeline-wrap .ptimeline-title {
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.5;
    color:#020352;
}
.ptimeline-wrap .ptimeline-main {
    margin-top: 0.5em;
    padding: 0 0 1.5em;
    font-size: 0.9em;
    line-height: 1.8;
    border-bottom: dashed 1px #ddd;
    color:#555;
}
.ptimeline-wrap .ptimeline-main img{
  display:block;
  margin:1em auto;
}
.ptimeline-wrap .ptimeline-item {
    position: relative;
    padding: 0 0 1em 1.5em !important;
    margin-bottom:0 !important;
    border:none;
}
.ptimeline-wrap .ptimeline .ptimeline-item:before {
    content: "";
    width: 3px;
    background: #eee !important;
    display: block;
    position: absolute;
    top: 25px;
    bottom: -3px;
    left: 5px;
}
.ptimeline-wrap .ptimeline-item:last-child:before{
    content:none;
}
/*********************************
* タイムライン マーカー
*********************************/
.ptimeline-wrap .ptimeline-marker{
    display: block;
    position: absolute;
    content: "";
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: solid 3px #020352;
}
.ptimeline-wrap .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .ptimeline-item:last-child .ptimeline-marker{
    background:#020352;
}
/*四角 */
.ptimeline-wrap .square .ptimeline-marker{
    border-radius: 0;
}
/* アイコン*/
.ptimeline-wrap .icon .ptimeline-item .ptimeline-marker{
    content:unset;
    border:none !important;
    background:none !important;
}
.ptimeline-wrap .icon .ptimeline-item .ptimeline-marker:before{
    font-family: "Font Awesome 5 Free";
    top: -1px;
    left: 0;
    position:absolute;
    font-weight:bold;
    font-size:16px;
    line-height:1;
    color:#020352;
}
.ptimeline-wrap .icon .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .icon .ptimeline-item:last-child .ptimeline-marker{
    background:none !important;
}
/* 画像*/
.ptimeline-wrap .tl-img .ptimeline-item .ptimeline-marker{
    content:unset;
    border:none !important;
    background:none !important;
}
.ptimeline-wrap .tl-img .ptimeline-item .ptimeline-marker:before {
    content:"";
    display:inline-block;
    background-image:url(ここに画像URL); /* 画像1番目*/
    background-size:contain;
    background-repeat:no-repeat;
    width:40px;
    height:40px;
    position: relative;
    top: -4px;
    left: -2px;
}
.ptimeline-wrap .tl-img li:nth-of-type(2) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像2番目*/
}
.ptimeline-wrap .tl-img li:nth-of-type(3) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像3番目*/
}
.ptimeline-wrap .tl-img li:nth-of-type(4) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像4番目*/
}
.ptimeline-wrap .tl-img li:nth-of-type(5) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像5番目*/
}
.ptimeline-wrap .tl-img .ptimeline-item {
    padding: 0 0 1em 3em !important;
}
.ptimeline-wrap .tl-img .ptimeline-item:before {
    top: 30px;
    left: 15px;
}
/*********************************
* タイムライン カラー
*********************************/
/* ピンク */
.ptimeline-wrap .pink .ptimeline-title{
    color:#f7bcbc !important; /* タイトル色 */
}
.ptimeline-wrap .pink .ptimeline-main{
    color:#555 !important; /* コンテンツ色 */
}
.ptimeline-wrap .pink .ptimeline-marker{
    border: solid 3px #f7bcbc !important; /* マーカー色 */
    color:#f7bcbc; /* アイコン色 */
}
.ptimeline-wrap .pink .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .pink .ptimeline-item:last-child .ptimeline-marker{
    background:#f7bcbc; /* マーカー色(最初と最後)*/
}
.ptimeline-wrap .pink .ptimeline-item .ptimeline-marker:before{
    color:#f7bcbc !important; /* アイコン色 */
}
/*イエロー*/
.ptimeline-wrap .yellow .ptimeline-title{
    color:#fdc44f !important; /* タイトル色 */
}
.ptimeline-wrap .yellow .ptimeline-main{
    color:#555 !important; /* コンテンツ色 */
}
.ptimeline-wrap .yellow .ptimeline-marker{
    border: solid 3px #fdc44f !important; /* マーカー色 */
    color:#fdc44f; /* アイコン色 */
}
.ptimeline-wrap .yellow .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .yellow .ptimeline-item:last-child .ptimeline-marker{
    background:#fdc44f; /* マーカー色(最初と最後)*/
}
.ptimeline-wrap .yellow .ptimeline-item .ptimeline-marker:before{
    color:#fdc44f !important; /* アイコン色 */
}
/*グリーン*/
.ptimeline-wrap .green .ptimeline-title{
    color:#2fcdb4 !important; /* タイトル色 */
}
.ptimeline-wrap .green .ptimeline-main{
    color:#555 !important; /* コンテンツ色 */
}
.ptimeline-wrap .green .ptimeline-marker{
    border: solid 3px #2fcdb4 !important; /* マーカー色 */
    color:#2fcdb4; /* アイコン色 */
}
.ptimeline-wrap .green .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .green .ptimeline-item:last-child .ptimeline-marker{
    background:#2fcdb4; /* マーカー色(最初と最後)*/
}
.ptimeline-wrap .green .ptimeline-item .ptimeline-marker:before{
    color:#2fcdb4 !important; /* アイコン色 */
}


.table-tyle {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 650px;
  table-layout: fixed;
}

.table-tyle tr {
  background-color: #e6f2f5;
  padding: .35em;
  border-bottom: 2px solid #fff;
}
.table-tyle th,
.table-tyle td {
  padding: 1em 10px 1em 1em;
  border-right: 2px solid #fff;
}
.table-tyle th {
  font-size: .85em;
}
.table-tyle thead th{
  background-color: #167F92;
  color:#fff;
}
.table-tyle tbody th {
    background: #78bbc7;
    color: #fff;
}
.table-tyle .txt{
   text-align: left;
   font-size: .85em;
}
.table-tyle .score{
  text-align: right;
  color: #167F92;
  font-weight: bold;
}
.table-tyle .non{
  background:#fff
}
@media screen and (max-width: 600px) {
  .table-tyle {
    border: 0;
    width:100%
  }
  .table-tyle th{
    background-color: #167F92;
    display: block;
    border-right: none;
  }
  .table-tyle thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  .table-tyle tr {
    display: block;
    margin-bottom: .625em;
  }
  .table-tyle td {
    border-bottom: 1px solid #bbb;
    display: block;
    font-size: .8em;
    text-align: right;
    position: relative;
    padding: .625em .625em .625em 4em;
    border-right: none;
  }
  
  .table-tyle td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
    color: #167F92;
  }
  .table-tyle td:last-child {
    border-bottom: 0;
  }
  .table-tyle tbody th {
    color: #fff;
}
}


.eiken-course {
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  color: #494949;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #030350;/*左線*/
}


#bmd #eiken{ padding: 3em 0; }
#bmd #eiken ul{ list-style: none; display: flex; flex-wrap: wrap; justify-content: center; }
#bmd #eiken ul li{ width: calc(100%/4); padding: 1rem .5rem !important; box-sizing: border-box; margin: 0; }

#bmd #eiken ul li .icatch{ width: 100%; height: 130px; position: relative; margin-bottom: .25em; overflow: hidden; }
#bmd #eiken ul li img.new{ position: absolute; z-index: 2; top: 0; left: 0; }
#bmd #eiken ul li img.image{ width: 100%; position: relative; z-index: 1; top: 0; right: 0; }
#bmd #eiken ul li p.category{ position: absolute; z-index: 2; top: 0; right: 0; background: #878832; color: #fff; font-size: .8em; padding: .5em; }
#bmd #eiken ul li p.date{ letter-spacing: .3em; padding-bottom: .4em; }
#bmd #eiken p.readmore{ text-align: right; padding-right: 2em; }


/************************************
** アイコンフキダシボックス(ピンク)
************************************/
/* ボックス全体 */
.iconbox-pink{
  background: #fdf1f1 !important; /* 背景色 */
}
/* ボックスタイトル */
.iconbox-pink .box-head-pink{
  background: #f7bcbc !important; /* 背景色 */
}
/* 箇条書き(番号) 行頭番号 */
.icon-box .list-number li:before {
  background: #f7bcbc !important; /* 背景色 */
}

.icon-box .list-number li{
  background: #fdf1f1 !important; /* 背景色 */
}

/************************************
** アイコンつきリスト
************************************/
/* ボックス全体 */
.icon-box{
  margin: 0 auto 2em; /* 余白 */
  background: #fef9ed; /* 背景色 */
  border-radius:4px; /* 角丸 */
  max-width:600px; /* 横幅 */
  padding: 0; /* 余白 */
  box-shadow: 0 1px 3px rgba(0, 0, 0, .2); /* 影 */
}
/* ボックスタイトル */
.icon-box .box-title {
  font-size: 18px; /* 文字サイズ */
  background: #fdc44f; /* 背景色 */
  text-align: center; /* 文字配置 */
  color: #fff; /* 文字色 */
  font-weight: bold; /* 文字太さ */
  letter-spacing: 0.05em; /* 文字間隔 */
  border-radius:4px 4px 0 0; /* 角丸 */
  line-height:1.5; /* 行間 */
  padding:1em 2em; /* 余白 */
}
/* 段落の余白リセット */
.icon-box p {
  margin: 0;/* 文字の余白リセット */
  padding: 0; /* 文字の内側余白リセット*/
}
/* ボックス 中 */
.icon-box .iconbox-wrap{
  display:-webkit-box; /* 配置 */
  	display:-ms-flexbox; /* 配置 */
  display:flex; /* 配置 */
  padding:1.3em 2em; /* 余白 */
}
/* コンテンツ */
.icon-box .iconbox-wrap .box-content{
   width: 97%;/*横幅 */
   margin: 0 3% 0 0 !important;/* 余白 */
   line-height:1.8;/* 行間 */
  -ms-flex-item-align: center;/* 中央寄せ */
   align-self: center;/* 中央寄せ */
}
/* コンテンツ段落 */
.icon-box .iconbox-wrap .box-content p{
  margin-bottom:1em;/*余白 */
}
/* アイコン&吹き出し */
.iconballoon{
  -ms-flex-item-align: end; /* 下部に配置 */
  align-self: flex-end; /* 下部に配置 */
}
/* アイコン */
.iconballoon .icon{
  text-align:center;/* 位置を中央へ */
}
/* アイコン画像 */
.iconballoon .icon img{
  width: 120px; /* 横幅 */
  margin:0; /* 余白 */
}
/* アイコン画像 (amp)*/
.iconballoon amp-img{
  max-width: 120px !important; /* 横幅 */
  margin:0; /* 余白 */
}
/* 吹き出し文字 */
.iconballoon .balloon p{
  line-height:1.4; /* 行間 */
}
/* 吹き出し */
.iconballoon .balloon{
  position:relative; /* 配置 */
  width:140px; /* 横幅 */
  background:#fff; /* 背景色 */
  padding:10px; /* 余白 */
  text-align:center; /* 中央寄せ */
  border:2px solid #999;/* 線(太さ 種類　色) */
  color:#555555;/* 文字色 */
  font-size:14px;/* 文字サイズ */
  font-weight:bold;/* 文字太さ */
  border-radius:10px;/* 角丸 */
  margin-bottom:10px;/* 余白 */
  line-height:1.5; /* 行間 */
}
/* 吹き出し(三角) */
.iconballoon .balloon:after,.balloon:before{
  border: solid transparent;
  content:'';
  height:0;
  width:0;
  position:absolute;
  top:100%;
  left:50%;
}
.iconballoon .balloon:after{
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-top-color:#FFFFFF;
}
.iconballoon .balloon:before{
   border-color:"rgba(153, 153, 153, 0)";
    border-top-width:12px;
    border-bottom-width:12px;
    border-left-width:12px;
    border-right-width:12px;
    margin-left: -12px;
    margin-top: 1px;
    border-top-color:#999999;
}
/*スマホ*/
@media screen and (max-width: 480px){
/* ボックスタイトル */
.icon-box .box-title {
  font-size: 14px; /* 文字サイズ */
}
/* ボックス 中 */
.icon-box .iconbox-wrap {
    padding: 1em 1em 1em 1.5em;/* 余白 */
}
/* コンテンツ */
.icon-box .iconbox-wrap .box-content{
  font-size:12px;/*文字サイズ */
}
/* アイコン画像 */
.iconballoon .icon img{
  width:80px;/* 横幅 */
  margin-top:5px;/* 余白 */
}
/* アイコン画像(amp) */
.iconballoon amp-img{
  max-width:80px !important;/* 横幅 */
  margin-top:5px;/* 余白 */
}
/* 吹き出し */
.iconballoon .balloon{
  width:80px;/* 横幅 */
  font-size:10px;/* 文字サイズ */
  padding: 1em 0;/* 余白 */
  border: 1px solid #999;/* 線(太さ 種類 色) */
}
/* 吹き出し(三角) */
.iconballoon .balloon:after {
    border-top-width: 12px;
    border-bottom-width: 10px;
    border-left-width: 11px;
    border-right-width: 11px;
    margin-left: -11px;
    border-top-color: #FFFFFF;
}
}
/************************************
** 箇条書き(点)
************************************/
/* 箇条書き */
.icon-box .list {
  list-style: none;/* 行頭記号削除  */
  padding: 0 !important;/* 余白リセット */
  margin: 0 !important;/* 余白リセット */
  border:none;/* 線リセット */
}
/* 箇条書き 行 */
.icon-box .list li { 
  position: relative;/* 行頭記号の配置  */
  margin: 0 0 0.5em 0 !important;/* 余白  */
  padding: 0 0 0.5em 1.4em !important;/* 余白 */
  line-height:1.8;/* 行間 */
}
/* 箇条書き 行頭記号 */
.icon-box .list li:before {
  background-color: #ffa952; /* 記号色 */
  position: absolute; /* 行頭記号の配置 */
  content: ''; /* 空文字 */
  top:13px; /* 上からの距離 */
  left: 0; /* 左からの距離 */
  width: 7px; /* 横幅 */
  height: 7px; /* 縦幅 */
  border-radius: 4px; /*角丸 */
}
/* 箇条書き 行頭記号リセット */
.icon-box .list-number li:after{
	content:'';
}
/*スマホ*/
@media screen and (max-width: 480px){
  /* 箇条書き 行頭記号*/
   .icon-box .list li:before{
     top:8px;/* 上からの距離 */
   }
}
/************************************
** 箇条書き(番号)
************************************/
/* 箇条書き(番号) */
.icon-box .list-number{
   counter-reset:number; /* 番号リセット */
   list-style: none !important;/* 行頭番号削除) */
   padding:0 !important;/* 余白リセット */
   margin:0 !important;/* 余白リセット */
   border:none !important;/* 線リセット */
}
/* 箇条書き(番号) 行 */
.icon-box .list-number li {
   position: relative;/* 配置 */
   margin:0.5em 0 !important;/* 余白 */
   max-width:500px; /* 横幅 */
   padding: 0 0 0.5em 1.8em !important;/* 余白 */
   line-height:1.8;/* 行間 */
}
/* 箇条書き(番号) 行頭番号 */
.icon-box .list-number li:before {
   counter-increment: number;/* 番号 */
   content: counter(number);/* 番号 */
/* 背景色*/   background-color: #fdc44f; 
   color: #fff; /* 番号色 */
   position: absolute;/* 配置 */
   font-weight:bold;/* 文字太さ */
   font-size: 14px;/* 文字大きさ */
   border-radius: 50%;/* 角丸 */
   left: 0;/* 左からの距離 */
   top:4px;/* 上からの距離 */
   width: 22px;/* 横幅 */
   height: 22px;/* 縦幅 */
   line-height: 22px;/* 行間 */
   text-align:center;/* 中央寄せ */
}
/*スマホ*/
@media screen and (max-width: 480px){
  /* 箇条書き(番号) 行 */
  .icon-box .list-number li{
     padding: 0 0 0.5em 2em !important;/* 余白 */
  }
  /* 箇条書き(番号) 行頭番号 */
  .icon-box .list-number li:before {
    font-size:10px;/* 文字大きさ */
    width: 18px;/* 横幅 */
    height: 18px;/* 縦幅 */
    line-height: 18px;/* 行間 */
    top:2px;/* 上からの距離 */
  }
}


.blog-pagination {
	margin:10px 110px;
  font-size: 1.1em;
  overflow: hidden;
}
.blog-pagination span, .blog-pagination a {
  display: block;
  float: left;
  width: auto;
  margin-right: 0.5em;
  padding: 0.2em 0.8em;
  background-color: #eee;
  border: 1px solid #bbb;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  color: #333;
  text-decoration: none;
}
.blog-pagination a:hover {
  background-color: #fff;
}
.blog-pagination .current{
  background-color: #fff;
  font-weight: bold;
}
.blog-pagination .pc_page_navi{display: none;}

@media screen and (min-width:600px) {
  .pagination .mb_page_navi{ display: none; }
  .pagination .pc_page_navi{ display: block; }
}


.merits-images{
	width:80%;
}
.change-headers {
 position: relative;
  padding-left: 30px;
  color:#153c6e;
	margin:10px 0;
}

.change-headers:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f14a";
  background: #c9e2ff;
  color: #153c6e;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}


@media screen and (max-width: 767px) {

	.hogo_box h3 { 
		padding-bottom: 10px;
		margin-bottom:10px; 
		border-bottom: 2px dotted #333; }
	.in_hogo_box { 
		background: #f4f4f4; 
		padding: 4%; 
		margin-bottom:20px; 
	}
	.box_L { margin-bottom: 10px; }
	.box_R { margin-bottom: 20px; }
	.in_hogo_box h4 { margin:0 0 10px; }
	.form_guide_box {
		margin-bottom:20px;
		background: #fdfff8;
		padding:4%;
		border:2px solid #e9ecd5;
	}
	.form_guide_box img { 
		margin-top:10px;
	}
	.btn_list li { list-style: none; width: 80%; margin:0 10% 10px !important; }
	.btn_list li:nth-child(2n) { margin-bottom: 0px;}
}

@media screen and (min-width: 768px) {
	
	.hogo_box h3 { padding-bottom: 10px;
		margin-bottom:10px; border-bottom: 2px dotted #333; }
	.in_hogo_box { background: #f4f4f4; padding: 20px; margin-bottom:20px; }
	.box_L { float: left; width: 48%; margin-right: 4%; }
	.box_R { float: left; width: 48%; }
	.in_hogo_box h4 { margin:0 0 10px; }
	
	.form_guide_box {
		margin-bottom:20px;
		background: #fdfff8;
		padding:20px;
		border:2px solid #e9ecd5;
	}
	.form_guide_box img { 
		margin-top:10px;
	}
	.btn_list li { list-style: none; width: 32.5%; margin-right: 0.5% !important; float: left; }
	.btn_list li:nth-child(3n) { margin-right: 0px;}	
}

/* clearfix */
.cf:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
/* *html .cf { zoom: 1; } */
*:first-child+html .cf { zoom: 1; } /* IE7 */


