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

.l-mainnav__global > ul > li > a.current, .l-mainnav__global > ul > li > a:hover {
  background-color: #9d4d6e;
}

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

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

.c-button--enter .c-button__inner {
	background-color: #9d4d6e;
}

.c-qa::before {
	background-color: #EBD2EB;
}
.c-qa__a::before {
	color: #9d4d6e;
}

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

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

/*----------
	aaia header & nav
----------*/
/*
@media (min-width: 768px) {
	.l-mainnav-aaia__global > ul > li > a.current, .l-mainnav-aaia__global > ul > li > a:hover {
		background-color: #9d4d6e;
	}
}
*/
/*----------
	aaia home
----------*/
.s-subhome-subtitle::before {
	background-color: #9d4d6e;
}

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

/* --------------------------------------------------------------------
/* MV
-------------------------------------------------------------------- */
.s-subhome-kv.kvBlock01 {background-color: #004896;}
.s-subhome-kv.kvBlock01 .s-subhome-kv__carousel {}
.s-subhome-kv.kvBlock01 .s-subhome-kv__bnrArea {}
@media (min-width: 768px) {
  .s-subhome-kv.kvBlock01 .s-subhome-kv__carousel {
    /*flex:0 0 55.95555555%;*/
        flex: 0 0 56%;
    background-color: #fff;
  }
  .s-subhome-kv.kvBlock01 .s-subhome-kv__bnrArea {
    flex: 1;
  }
}
@media (max-width: 767px) {
  .s-subhome-kv.kvBlock01 {background-color: unset;}
  .s-subhome-kv.kvBlock01 .s-subhome-kv__carousel {
    padding: 4vmin 0 0;
  }
  .s-subhome-kv.kvBlock01 .c-crossfade-carousel__slides {
    width: 90%;
    height: 0;
    padding-bottom: 71.666667%;
    position: relative;
    overflow: hidden;
    margin: auto;
  }
  .s-subhome-kv.kvBlock01 .s-subhome-kv__bnrArea {}
}


/* スライダーボタン  */
.c-carousel-indicator {

}
.c-crossfade-carousel__nav__next button {
	display: none;
  font-size: 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  right: 0px;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
}
.c-crossfade-carousel__nav__next button::before {
	display: none;
  content: url(/uscpa/images/home/bt_slide_next.png);
  width: 40px;
  background-repeat: no-repeat;
  height: 70px;

}
.c-crossfade-carousel__nav__prev button {
	display: none;
  font-size: 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  left: 0px;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
}
.c-crossfade-carousel__nav__prev button::before {
	display: none;
  content: url(/uscpa/images/home/bt_slide_prev.png);
  width: 40px;
  background-repeat: no-repeat;
  height: 70px;

}


.c-crossfade-carousel__nav__next button.active {
display: block;
}
.c-crossfade-carousel__nav__next button.active::before {
display: block;
}
.c-crossfade-carousel__nav__prev button.active {
	display: block;
}
.c-crossfade-carousel__nav__prev button.active::before {
	display: block;
}



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

.c-tm {
	display: table;
}

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

.l-section .c-lead--small.c-tm {
	display: table;
}
.l-section .c-lead--small.c-tm .t-tm {
	vertical-align: top;
	font-size: 10px;
}

.c-heading-seco .c-tm {
	display: table;
}
.c-heading-seco .c-tm .t-tm {
	vertical-align: top;
	font-size: 14px;
}

.c-heading-tert h3.c-tm {
	display: table;
}
.c-heading-tert h3.c-tm .t-tm {
	vertical-align: top;
	font-size: 12px;
}

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

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

@media (min-width: 768px) {
  .c-button__inner:hover {
    background-color: #9d4d6e;
  }
  .c-imageset__image {
		flex-grow: 0;
		flex-shrink: 0;
		flex-basis: calc(35% - 16px);
		margin-right: 32px;
	}
  .c-imageset--1t1 .c-imageset__image {
      flex-basis: calc(50% - 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: #9d4d6e;
  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: #9d4d6e;
	position: absolute;
	top: 0.8em;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* ==============================================
   CFE比較表：スマホ完全対応
   （フォント・アイコン・寸法・注釈左・左右中央揃え版）
   ※数字の色変更は含みません（白のまま）
   ============================================== */

/* --- 1. 全体の幅とレイアウト（PC用） --- */
.aaia-comp-table.cp_container {
    width: 900px;
    margin: 80px auto; 
    padding: 0;
    box-sizing: border-box;
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
}
.aaia-comp-table * { box-sizing: border-box; }

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

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

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


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

/* アビタスヘッダー */
.aaia-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;
}
.aaia-comp-table .cp_table tr:first-child th.abitus img {
    display: block; width: 180px !important; height: auto !important; margin: 0 auto;
}
/* ヘッダー右側の縦線（白） */
.aaia-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;
}

/* 他校ヘッダー */
.aaia-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用 --- */
/* 左端 */
.aaia-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; 
}
/* 中央（アビタス） */
.aaia-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;
}
/* 右端（他校） */
.aaia-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用：横並び） --- */
.aaia-comp-table .cp_row { display: flex; align-items: center; justify-content: center; }
.aaia-comp-table .cp_icon { font-size: 30px; margin-right: 15px; line-height: 1; }
.aaia-comp-table .cp_text { text-align: left; flex: 1; }
.aaia-comp-table .cp_table td.abitus .cp_icon { color: #333 !important; }
.aaia-comp-table .cp_table td:last-child .cp_icon { color: #888; }
.aaia-comp-table .cp_bullet { display: block; margin-bottom: 5px; position: relative; padding-left: 1.2em; }
.aaia-comp-table .cp_bullet::before { content: "・"; position: absolute; left: 0; }
.aaia-comp-table .u-txt-caution { color: #E60000 !important; font-weight: bold; font-size: 16px; display: block; margin-top: 5px; }

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


/* =========================================================
   ▼▼▼ 8. スマホ対応（指定内容完全反映） ▼▼▼
   ========================================================= */
@media (max-width: 767px) {
    /* コンテナ調整 */
    .aaia-comp-table.cp_container { 
        width: 100%; 
        margin: 40px auto;
        padding: 0 10px; 
    }
    
    /* ▼▼▼ タイトル周りのフォント・余白調整 ▼▼▼ */
    .aaia-comp-table #compare h3 { 
        font-size: 28px !important; 
        margin-top: 10px !important; 
        margin-bottom: 10px !important; 
    }
    .aaia-comp-table .cp_lead { font-size: 12px !important; }
    .aaia-comp-table .medium { 
        font-size: 14px !important; 
        padding: 3px 5px !important; 
    }

    /* スクロール設定 */
    .aaia-comp-table .cp_scroll_box { 
        overflow-x: auto; 
        -webkit-overflow-scrolling: touch;
        /* 追加：スクロールボックス内の配置調整 */
        text-align: center; 
    }
    
    .aaia-comp-table .cp_table { 
        width: 372px !important; 
        table-layout: fixed !important;
        /* ★追加：表を中央揃えにして左右の余白を均等にする */
        margin: 0 auto !important;
    }
    
    /* 1. 列幅の強制指定（px指定） */
    .aaia-comp-table .cp_table th:first-child,
    .aaia-comp-table .cp_table td:first-child { 
        width: 60.23px !important; 
        font-size: 12px !important;
        padding: 10px 5px !important;
    }
    .aaia-comp-table .cp_table th.abitus,
    .aaia-comp-table .cp_table td.abitus { width: 165.38px !important; }
    .aaia-comp-table .cp_table th.other,
    .aaia-comp-table .cp_table td:last-child { width: 146.39px !important; }
    
    
    /* 2. ヘッダーの高さとデザイン */
    .aaia-comp-table .cp_table tr:first-child th.abitus { 
        height: 86.59px !important; padding: 0 !important;
    }
    .aaia-comp-table .cp_table tr:first-child th.abitus img {
        width: 110px !important; height: auto !important;
    }

    /* 他校ヘッダー */
    .aaia-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;
    }
    .aaia-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. ボディの文字調整 */
    .aaia-comp-table .cp_table td.abitus,
    .aaia-comp-table .cp_table td:last-child {
        font-size: 13px !important;
        padding: 15px 10px !important;
    }

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

    /* スマホ注釈：左揃え */
    .aaia-comp-table .cp_note {
        text-align: left !important;
    }
}