/*----------
	components override
----------*/
.l-title-lv4 {
	background-color: #F1FAF8;
}

.c-bg-rect::before {
	background: #F1FAF8;
}

.c-button__inner,
.l-infosession-schedule .c-button-container__item .c-button__inner {
	border-color: #34B597;
	color: #34B597;
}
@media (min-width: 768px) {
	.c-button__inner:hover {
		background-color: #34B597;
	}
}

.c-button--enter .c-button__inner {
	background-color: #34B597;
}

.c-qa::before {
	background-color: #F1FAF8;
}
.c-qa__a::before {
	color: #34B597;
}

.c-button-tab__item > a,
.c-button-tab__item > button {
	border-bottom-color: #34B597;
}
.c-button-tab__item > a.active,
.c-button-tab__item > button.active {
	background-color: #34B597;
}

.c-infosession-list__title {
	color: #34B597;
}
.c-infosession-list__cond > li.active > button {
	border-bottom-color: #34B597;
	color: #34B597;
}
.c-infosession-list__cond > li.active > button::before {
	background-color: #34B597;
}
@media (min-width: 768px) {
	.c-infosession-list {
		border-top-color: #34B597;
	}
}

/*----------
	cisa header & nav
----------*/
@media (min-width: 768px) {
	.l-mainnav-cisa__global > ul > li > a.current, .l-mainnav-cisa__global > ul > li > a:hover {
		background-color: #34B597;
	}
}

/*----------
	cisa home
----------*/
.s-subhome-subtitle::before {
	background-color: #34B597;
}

.s-subhome-overview {
	background-color: #34B597;
	background-image: url("/cisa/images/home/overview-bg.jpg");
}
.s-subhome-overview__inner {
	background-color: #34B597;
	background-image: url("/cisa/images/home/overview-bg2.png");
}
@media (min-width: 768px) {
	.s-subhome-overview__inner {
		background-color: transparent;
	}
}

/*--------------------
	Common layout
---------------------*/
/*
 * ボタン
 */
 .c-button-tab__infosession__item > a.active, .c-button-tab__infosession__item > button.active {
	background-color: #34B597;
}
/*
* タブLINE
*/
.l-infosession-schedule .c-infosession-list {
	border-top: 2px solid #34B597;
}

.c-tm {
	display: table;
}

.c-tm .t-tm {
	vertical-align: top;
	font-size: 10px;
}

/*--------------------
	Common layout
---------------------*/

@media (min-width: 768px) {
  .c-imageset__image {
		flex-grow: 0;
		flex-shrink: 0;
		flex-basis: calc(35% - 16px);
		margin-right: 32px;
	}
}

/* ==============================================
   CISA比較表：スマホ完全対応
   （CIA/CFEの最新修正を適用済み）
   ============================================== */

/* --- 1. 全体の幅とレイアウト（PC用） --- */
.cisa-comp-table.cp_container {
    width: 900px; /* 必要に応じて898pxなど微調整 */
    margin: 80px auto; 
    padding: 0;
    box-sizing: border-box;
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
}
.cisa-comp-table * { box-sizing: border-box; }

/* --- 2. タイトルエリア --- */
.cisa-comp-table #compare { text-align: center; margin-bottom: 40px; }
.cisa-comp-table #compare h3 { font-size: 58px; font-weight: bold; color: #333; margin: 0 0 10px; line-height: 1.2; }
.cisa-comp-table .cp_lead { font-size: 20px; font-weight: bold; display: block; line-height: 1.8; }
.cisa-comp-table .medium { font-size: 28px; background-color: #000; color: #fff; padding: 5px 10px; margin: 0 5px; vertical-align: baseline; }

/* --- 3. テーブル基本設定 --- */
.cisa-comp-table .cp_scroll_box { width: 100%; overflow-x: auto; }
.cisa-comp-table .cp_table {
    width: 100%; 
    border-collapse: collapse; 
    border-spacing: 0; 
    table-layout: fixed;
}

/* --- 4. 列幅の指定（PC用） --- */
.cisa-comp-table .cp_table th:first-child,
.cisa-comp-table .cp_table td:first-child { width: 179.8px !important; }
.cisa-comp-table .cp_table th.abitus,
.cisa-comp-table .cp_table td.abitus { width: 385.56px !important; }
.cisa-comp-table .cp_table th.other,
.cisa-comp-table .cp_table td:last-child { width: 332.64px !important; }


/* --- 5. ヘッダー（1行目）PC用 --- */
.cisa-comp-table .cp_table tr:first-child th:first-child {
    background-color: #fff !important; border: none !important;
}

/* アビタスヘッダー（青） */
.cisa-comp-table .cp_table tr:first-child th.abitus {
    background-color: #004896 !important; /* ★必要なら色変更 */
    border: none !important;
    vertical-align: middle !important;
    height: 141px !important;
    padding: 0 !important;
    position: relative;
}
.cisa-comp-table .cp_table tr:first-child th.abitus img {
    display: block; width: 180px !important; height: auto !important; margin: 0 auto;
}
/* ヘッダー右側の縦線（白） */
.cisa-comp-table .cp_table th.abitus::after {
    content: ""; position: absolute; top: 0; right: 0; width: 2px; height: 100%; 
    background-color: #fff !important; display: block; z-index: 10;
}

/* 他校ヘッダー */
.cisa-comp-table .cp_table tr:first-child th.other {
    background-color: #383838 !important; color: #fff !important;
    border-top: 40px solid #fff !important; 
    height: 141px !important;
    vertical-align: middle !important; padding: 0 !important; font-size: 18px;
    border-right: 1px solid #333 !important;
}


/* --- 6. ボディ（2行目以降）PC用 --- */
/* 左端 */
.cisa-comp-table .cp_table tr:not(:first-child) th {
    background-color: #383838 !important; color: #fff !important;
    font-weight: bold; font-size: 14px; padding: 15px 10px; vertical-align: middle;
    border-bottom: 1px solid #fff !important; border-right: 1px solid #fff !important; 
}
/* 中央（アビタス） */
.cisa-comp-table .cp_table td.abitus {
    color: #333 !important; font-size: 18px !important; font-weight: normal !important;
    padding: 20px 30px; vertical-align: middle; background-color: #fff !important;
    border-right: 1px solid #333 !important; border-bottom: 1px solid #333 !important;
}
/* 右端（他校） */
.cisa-comp-table .cp_table td:last-child {
    background-color: #DDDDDD !important; color: #333 !important;
    font-size: 18px !important; font-weight: normal !important;
    padding: 20px 30px; vertical-align: middle;
    border-bottom: 1px solid #333 !important; border-right: 1px solid #333 !important;
}

/* --- 7. アイコン・テキスト調整（PC用：横並び） --- */
.cisa-comp-table .cp_row { display: flex; align-items: center; justify-content: center; }
.cisa-comp-table .cp_icon { font-size: 30px; margin-right: 15px; line-height: 1; }
.cisa-comp-table .cp_text { text-align: left; flex: 1; }
.cisa-comp-table .cp_table td.abitus .cp_icon { color: #333 !important; }
.cisa-comp-table .cp_table td:last-child .cp_icon { color: #888; }
.cisa-comp-table .cp_bullet { display: block; margin-bottom: 5px; position: relative; padding-left: 1.2em; }
.cisa-comp-table .cp_bullet::before { content: "・"; position: absolute; left: 0; }
.cisa-comp-table .u-txt-caution { color: #E60000 !important; font-weight: bold; font-size: 16px; display: block; margin-top: 5px; }

/* PCでは右揃え */
.cisa-comp-table .cp_note { font-size: 12px; color: #666; margin-top: 10px; text-align: right; }


/* =========================================================
   ▼▼▼ 8. スマホ対応（CFE最新版の挙動を継承） ▼▼▼
   ========================================================= */
@media (max-width: 767px) {
    /* コンテナ調整 */
    .cisa-comp-table.cp_container { 
        width: 100%; 
        margin: 40px auto;
        padding: 0 10px; 
    }
    
    /* ▼▼▼ タイトル周りのフォント・余白調整 ▼▼▼ */
    .cisa-comp-table #compare h3 { 
        font-size: 28px !important; 
        margin-top: 10px !important; 
        margin-bottom: 10px !important; 
    }
    .cisa-comp-table .cp_lead { font-size: 12px !important; }
    .cisa-comp-table .medium { 
        font-size: 14px !important; 
        padding: 3px 5px !important; 
    }

    /* スクロール設定 */
    .cisa-comp-table .cp_scroll_box { 
        overflow-x: auto; 
        -webkit-overflow-scrolling: touch;
        text-align: center; /* 追加：中身を中央寄せ */
    }
    
    .cisa-comp-table .cp_table { 
        width: 372px !important; 
        table-layout: fixed !important;
        margin: 0 auto !important; /* ★追加：表を画面中央に配置 */
    }
    
    /* 1. 列幅の強制指定（px指定） */
    .cisa-comp-table .cp_table th:first-child,
    .cisa-comp-table .cp_table td:first-child { 
        width: 60.23px !important; 
        font-size: 12px !important;
        padding: 10px 5px !important;
    }
    .cisa-comp-table .cp_table th.abitus,
    .cisa-comp-table .cp_table td.abitus { width: 165.38px !important; }
    .cisa-comp-table .cp_table th.other,
    .cisa-comp-table .cp_table td:last-child { width: 146.39px !important; }
    
    
    /* 2. ヘッダーの高さとデザイン */
    .cisa-comp-table .cp_table tr:first-child th.abitus { 
        height: 86.59px !important; padding: 0 !important;
    }
    .cisa-comp-table .cp_table tr:first-child th.abitus img {
        width: 110px !important; height: auto !important;
    }

    /* 他校ヘッダー */
    .cisa-comp-table .cp_table tr:first-child th.other { 
        height: 86.59px !important; 
        position: relative !important;
        z-index: 0;
        background-color: transparent !important;
        border: none !important;
        padding: 25px 0 0 0 !important;
        vertical-align: middle !important;
        font-size: 14px !important;
    }
    .cisa-comp-table .cp_table tr:first-child th.other::before {
        content: ""; display: block; position: absolute; bottom: 0; left: 0;
        width: 100%; height: calc(100% - 25px); 
        background-color: #383838; border-right: 1px solid #333; z-index: -1; 
    }

    
    /* 3. ボディの文字調整 */
    .cisa-comp-table .cp_table td.abitus,
    .cisa-comp-table .cp_table td:last-child {
        font-size: 13px !important;
        padding: 15px 10px !important;
    }

    /* 4. アイコン位置の変更（縦並び・中央） */
    .cisa-comp-table .cp_row {
        flex-direction: column !important; 
        align-items: center !important;    
    }
    .cisa-comp-table .cp_icon {
        margin-right: 0 !important;   
        margin-bottom: 8px !important; 
        font-size: 24px !important;    
    }
    .cisa-comp-table .cp_text {
        width: 100%;
        text-align: left; 
    }
    
    .cisa-comp-table .u-txt-caution { font-size: 12px !important; }

    /* ★スマホ注釈：左揃え（CFEの修正を反映） */
    .cisa-comp-table .cp_note {
        text-align: left !important;
    }
}

/* =========================================
   幅の指定（PCとスマホで切り替える）
   ========================================= */

/* ▼▼ PC用（画面の幅が768px以上のとき） ▼▼ */
@media (min-width: 768px) {
    .cisa-comp-table .cp_table {
        table-layout: fixed;
        width: 100%;
    }
    /* アビタスの列：PCでは385.56px */
    .cisa-comp-table .cp_table th.abitus,
    .cisa-comp-table .cp_table td.abitus {
        width: 385.56px !important;
    }
    /* （参考）他校の列：PCでは332.64px */
    .cisa-comp-table .cp_table th.other,
    .cisa-comp-table .cp_table td:last-child {
        width: 332.64px !important;
    }
}

/* ▼▼ スマホ用（画面の幅が767px以下のとき） ▼▼ */
@media (max-width: 767px) {
    .cisa-comp-table .cp_table {
        table-layout: fixed;
        width: 372px !important; /* スマホでの表全体の幅 */
        margin: 0 auto;
    }
    /* アビタスの列：スマホでは狭くする（約165px） */
    .cisa-comp-table .cp_table th.abitus,
    .cisa-comp-table .cp_table td.abitus {
        width: 165.38px !important;
    }
    /* 他校の列：スマホ用 */
    .cisa-comp-table .cp_table th.other,
    .cisa-comp-table .cp_table td:last-child {
        width: 146.39px !important;
    }
}

/* タイトルエリア（PC・スマホ共通） */
.cisa-comp-table #compare {
    padding-top: 20px; /* ★ここを追加しました */
    text-align: center; 
    margin-bottom: 40px; 
}

/*----------
	2025.05 講師紹介（一覧ページ）
----------*/

@media (min-width: 768px) {
  .c-button__inner:hover {
    background-color: #9BAA34;
  }
  .c-imageset__image {
		flex-grow: 0;
		flex-shrink: 0;
		flex-basis: calc(35% - 16px);
		margin-right: 32px;
	}
  .l-title-lv4 {
		padding: 20px 0 40px;
	}
	.l-title-lv4__inner {
		padding-left: 32px;
		padding-right: 32px;
	}
  .l-layout-regular .l-section > [class^=c-] {
    margin-top: 40px;
  }
}

/*----------
	講師紹介（詳細ページ）
----------*/
.lec-badge {
	display: inline-block;
	height: 32px;
	vertical-align: middle;
	background-color: #34B597;
  border-radius: 5px;
}
.lec-badge > span {
	display: block;
	max-width: 100%;
	min-width: 50px;
	padding: 10px 10px;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 12px;
	color: #fff;
}
.lec-badge__gry {
  background-color: #e0e0e0;
  padding: 1px 10px;
}
.c-separator {
	display: block;
	margin: 10px auto;
	border-top: 1px solid #ddd;
}

.c-heading-quin::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	background-color: #34B597;
	position: absolute;
	top: 0.8em;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}