@charset "UTF-8";

/*
 * DESIGN.md準拠 (constep-design-system)
 * primary: #5609FF / ink: #1a1a1a / canvas: #fff / surface: #f6f5f4
 * hairline: #e5e3df / slate: #555555 / steel: #787671
 * card-radius: 12px / button-radius: 8px
 * shadow-2: rgba(86,9,255,0.10) 0 4px 16px 0
 */

/* ============================================
   固定ページ 共通
   ============================================ */

.page_main .pg_sec {
    padding: 96px 0;
}

.page_main .pg_sec_head {
    text-align: center;
    margin-bottom: 56px;
}

.page_main .pg_sec_head .en_ttl {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #5609FF;
    margin-bottom: 10px;
}

.page_main .pg_sec_head .sec_ttl {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.5;
    color: #1a1a1a;
}

.page_main .pg_sec_head .sec_lead {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    color: #555555;
    margin-top: 16px;
    /* max-width: 680px; */
    margin-left: auto;
    margin-right: auto;
}

.page_main .pg_sec_body_text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: #555555;
    max-width: 760px;
    margin: 0 auto;
}

.page_main .pg_sec_body_text+.pg_sec_body_text {
    margin-top: 1.4em;
}

/* リード */
.page_main .pg_lead_sec {
    padding: 80px 0 88px;
    background: #fff;
    border-bottom: 1px solid #e5e3df;
}

.page_main .pg_lead_sec .pg_lead_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.page_main .pg_lead_sec .pg_lead_logo {
    width: 100px;
    height: auto;
    object-fit: contain;
    margin-bottom: 28px;
}

.page_main .pg_lead_sec .pg_h1 {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1a1a1a;
    margin-bottom: 20px;
}

.page_main .pg_lead_sec .pg_h1_label {
    display: block;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1a1a1a;
    margin-bottom: 12px;
}

.page_main .pg_lead_sec .pg_h1_main {
    display: block;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    color: #555555;
}

.page_main .pg_lead_sec .pg_lead_text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: #555555;
    margin-bottom: 32px;
}

/* ボタン（共通） — style.css の .common_btn をそのまま使用、上書きなし */

/* CTA */
.page_main .pg_cta_area {
    padding: 80px 0;
    background: #ede8ff;
    text-align: center;
}

.page_main .pg_cta_ttl {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.35;
    color: #1a1a1a;
    margin-bottom: 20px;
}

.page_main .pg_cta_text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
    color: #555555;
    margin-bottom: 30px;
    letter-spacing: .02em;
}

.page_main .pg_cta_area .common_btn {
    margin: 0 auto;
}

/* 関連ページ */
.page_main .pg_related_sec {
    padding: 48px 0;
    background: #fff;
    border-top: 1px solid #e5e3df;
}

.page_main .pg_related_ttl {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #787671;
    margin-bottom: 16px;
}

.page_main .pg_related_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.page_main .pg_related_list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 14px 16px;
    background: #f6f5f4;
    border: 1px solid #e5e3df;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
    text-decoration: none;
    transition: background .18s, border-color .18s, color .18s;
}

.page_main .pg_related_list a::after {
    content: "→";
    font-size: 12px;
    color: #787671;
    flex-shrink: 0;
    transition: color .18s;
}

.page_main .pg_related_list a:hover {
    background: #ede8ff;
    border-color: #5609FF;
    color: #5609FF;
}

.page_main .pg_related_list a:hover::after {
    color: #5609FF;
}

/* テキストリンク */
.page_main .pg_text_link {
    color: #5609FF;
    text-decoration: underline;
    font-size: 14px;
    font-weight: 600;
}

/* ============================================
   SERVICE
   ============================================ */

/* ConStepとは */
.page_service .sv_about_sec {
    background: #f6f5f4;
}

.page_service .sv_about_sec .pg_sec_body_text {
    text-align: center;
}

/* 差別化比較 */
.page_service .sv_diff_sec .sv_diff_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_service .sv_diff_sec .sv_diff_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_service .sv_diff_sec .sv_diff_list .item.highlight {
    background: #ede8ff;
    border-color: #5609FF;
    border-width: 2px;
}

.page_service .sv_diff_sec .sv_diff_list .item .item_label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #787671;
}

.page_service .sv_diff_sec .sv_diff_list .item.highlight .item_label {
    color: #5609FF;
}

.page_service .sv_diff_sec .sv_diff_list .item .item_ttl {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    color: #1a1a1a;
}

.page_service .sv_diff_sec .sv_diff_list .item .item_text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: #555555;
    margin-top: 4px;
}

/* コア機能 */
.page_service .sv_func_sec {
    background: #f6f5f4;
}

.page_service .sv_func_sec .sv_func_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.page_service .sv_func_sec .sv_func_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_service .sv_func_sec .sv_func_list .item .item_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ede8ff;
    border-radius: 10px;
    color: #5609FF;
    margin-bottom: 4px;
}

.page_service .sv_func_sec .sv_func_list .item .item_icon svg {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.page_service .sv_func_sec .sv_func_list .item .item_num {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    color: #5609FF;
    text-transform: uppercase;
}

.page_service .sv_func_sec .sv_func_list .item .item_ttl {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: #1a1a1a;
}

.page_service .sv_func_sec .sv_func_list .item .item_text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: #555555;
}

/* 学習ステップ */
.page_service .sv_step_sec .sv_step_list {
    display: flex;
    flex-direction: column;
    gap: 0;
    counter-reset: none;
}

.page_service .sv_step_sec .sv_step_list .item {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 20px;
    padding: 28px 0;
    border-bottom: 1px solid #e5e3df;
    align-items: start;
}

.page_service .sv_step_sec .sv_step_list .item:first-child {
    border-top: 1px solid #e5e3df;
}

.page_service .sv_step_sec .sv_step_list .item .item_num {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.page_service .sv_step_sec .sv_step_list .item .item_num .step_label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #787671;
}

.page_service .sv_step_sec .sv_step_list .item .item_num .step_no {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: #5609FF;
    letter-spacing: -.02em;
}

.page_service .sv_step_sec .sv_step_list .item .item_body .item_ttl {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    color: #1a1a1a;
    margin-bottom: 6px;
}

.page_service .sv_step_sec .sv_step_list .item .item_body .item_text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: #555555;
}

/* 3ロール */
.page_service .sv_role_sec {
    background: #f6f5f4;
}

.page_service .sv_role_table {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e5e3df;
    border-collapse: separate;
    border-spacing: 0;
}

.page_service .sv_role_sec .sv_role_table th,
.page_service .sv_role_sec .sv_role_table td {
    padding: 14px 20px;
    font-size: 14px;
    line-height: 1.6;
    border-bottom: 1px solid #e5e3df;
    text-align: left;
}

.page_service .sv_role_table tr:last-child th,
.page_service .sv_role_table tr:last-child td {
    border-bottom: none;
    width: fit-content;
}

.page_service .sv_role_table th {
    background: #ede8ff;
    font-weight: 600;
    color: #1a1a1a;
    white-space: nowrap;
    width: 120px;
}

.page_service .sv_role_sec .sv_role_table td {
    color: #555555;
    background: #fff;
}

.page_service .sv_role_sec .sv_role_note {
    font-size: 13px;
    color: #787671;
    margin-top: 16px;
    padding-left: 1em;
    text-indent: -1em;
}

.page_service .sv_role_note::before {
    content: "※";
}

/* 活用シーン */
.page_service .sv_scene_sec .sv_scene_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_service .sv_scene_sec .sv_scene_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow .18s;
}

.page_service .sv_scene_sec .sv_scene_list .item:hover {
    box-shadow: rgba(86, 9, 255, 0.06) 0 2px 8px 0;
}

.page_service .sv_scene_sec .sv_scene_list .item .item_scene {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #5609FF;
}

.page_service .sv_scene_sec .sv_scene_list .item .item_ttl {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    color: #1a1a1a;
}

.page_service .sv_scene_sec .sv_scene_list .item .item_text {
    font-size: 14px;
    line-height: 1.7;
    color: #555555;
}

/* 導入ステップ */
.page_service .sv_intro_sec {
    background: #f6f5f4;
}

.page_service .sv_intro_sec .sv_intro_step_list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}

.page_service .sv_intro_sec .sv_intro_step_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
}

.page_service .sv_intro_sec .sv_intro_step_list .item .item_num {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin-bottom: 4px;
}

.page_service .sv_intro_sec .sv_intro_step_list .item .item_num .step_label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #787671;
}

.page_service .sv_intro_sec .sv_intro_step_list .item .item_num .step_no {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: #5609FF;
}

.page_service .sv_intro_sec .sv_intro_step_list .item .item_ttl {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    color: #1a1a1a;
}

.page_service .sv_intro_sec .sv_intro_step_list .item .item_text {
    font-size: 13px;
    line-height: 1.6;
    color: #555555;
}

/* ============================================
   PRICING
   ============================================ */

.page_pricing .pr_plan_sec .pr_plan_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.page_pricing .pr_plan_sec .pr_plan_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 32px 28px 36px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.page_pricing .pr_plan_sec .pr_plan_list .item.highlight {
    background: #ede8ff;
    border: 2px solid #5609FF;
}

.page_pricing .pr_plan_sec .pr_plan_list .item .item_icon_img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    margin-bottom: 16px;
}

.page_pricing .pr_plan_sec .pr_plan_list .item .item_plan_label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #787671;
    margin-bottom: 6px;
}

.page_pricing .pr_plan_sec .pr_plan_list .item.highlight .item_plan_label {
    color: #5609FF;
}

.page_pricing .pr_plan_sec .pr_plan_list .item .item_ttl {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.01em;
    color: #1a1a1a;
    margin-bottom: 6px;
}

.page_pricing .pr_plan_sec .pr_plan_list .item .item_accounts {
    font-size: 13px;
    color: #787671;
    margin-bottom: 20px;
}

.page_pricing .pr_plan_sec .pr_plan_list .item .item_price {
    margin-bottom: 20px;
}

.page_pricing .pr_plan_sec .pr_plan_list .item .item_price .price_num {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.02em;
    color: #1a1a1a;
    line-height: 1;
}

.page_pricing .pr_plan_sec .pr_plan_list .item .item_price .price_unit {
    font-size: 13px;
    color: #555555;
    margin-left: 2px;
}

.page_pricing .pr_plan_sec .pr_plan_list .item .item_text {
    font-size: 14px;
    line-height: 1.7;
    color: #555555;
    border-top: 1px solid #e5e3df;
    padding-top: 20px;
}

.page_pricing .pr_plan_list .item.highlight .item_text {
    border-top-color: rgba(86, 9, 255, 0.2);
}

.page_pricing .pr_plan_sec .pr_plan_notes {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.page_pricing .pr_plan_sec .pr_plan_notes li {
    font-size: 13px;
    color: #787671;
    padding-left: 1.2em;
    position: relative;
}

.page_pricing .pr_plan_notes li::before {
    content: "※";
    position: absolute;
    left: 0;
}

/* 全プラン共通機能 */
.page_pricing .pr_feature_sec {
    background: #f6f5f4;
}

.page_pricing .pr_feature_sec .pr_feature_list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 760px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.page_pricing .pr_feature_sec .pr_feature_list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid #e5e3df;
    font-size: 15px;
    line-height: 1.6;
    color: #333333;
}

.page_pricing .pr_feature_list li:first-child {
    border-top: 1px solid #e5e3df;
}

.page_pricing .pr_feature_list li img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
    margin-top: 2px;
}

/* 組み合わせ研修 */
.page_pricing .pr_addon_sec .pr_addon_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_pricing .pr_addon_sec .pr_addon_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow .18s;
}

.page_pricing .pr_addon_sec .pr_addon_list .item:hover {
    box-shadow: rgba(86, 9, 255, 0.10) 0 4px 16px 0;
}

.page_pricing .pr_addon_sec .pr_addon_list .item .item_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ede8ff;
    border-radius: 10px;
    color: #5609FF;
}

.page_pricing .pr_addon_sec .pr_addon_list .item .item_icon svg {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.page_pricing .pr_addon_sec .pr_addon_list .item .item_ttl {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: #1a1a1a;
}

.page_pricing .pr_addon_sec .pr_addon_list .item .item_text {
    font-size: 14px;
    line-height: 1.7;
    color: #555555;
}

/* 料金について */
.page_pricing .pr_quote_sec .pr_quote_inner {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.page_pricing .pr_quote_sec .pr_quote_inner .pr_quote_text {
    font-size: 15px;
    line-height: 1.75;
    color: #1a1a1a;
}

.page_pricing .pr_quote_sec .pr_quote_inner .pr_quote_subttl {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: -8px;
}

.page_pricing .pr_quote_sec .pr_quote_inner .pr_quote_list {
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.page_pricing .pr_quote_sec .pr_quote_inner .pr_quote_list li {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
    list-style: disc;
}

.page_pricing .pr_quote_sec .pr_quote_inner .pr_quote_note {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
    padding-top: 8px;
    border-top: 1px solid #e5e3df;
}

/* 費用比較 */
.page_pricing .pr_compare_sec {
    background: #f6f5f4;
}

.page_pricing .pr_compare_sec .pr_compare_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_pricing .pr_compare_sec .pr_compare_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
}

.page_pricing .pr_compare_sec .pr_compare_list .item .item_ttl {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 12px;
}

.page_pricing .pr_compare_sec .pr_compare_list .item .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
}

/* ============================================
   CASES
   ============================================ */

/* 公開事例 */
.page_cases .cs_case_sec .cs_case_card {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.page_cases .cs_case_meta {
    display: flex;
    align-items: baseline;
    gap: 16px;
    flex-wrap: wrap;
}

.page_cases .cs_case_sec .cs_case_card .cs_case_meta .cs_case_company {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
}

.page_cases .cs_case_tags {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.page_cases .cs_case_tags li {
    font-size: 12px;
    font-weight: 600;
    color: #3800B1;
    background: #ede8ff;
    border-radius: 6px;
    padding: 2px 10px;
}

.page_cases .cs_case_body {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_article_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
    padding: 12px 16px;
    background: #f6f5f4;
    border-radius: 6px;
    border-left: 3px solid #5609FF;
}

.page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_text {
    font-size: 15px;
    line-height: 1.75;
    color: #555555;
}

.page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 24px;
    background: #f6f5f4;
    border-radius: 8px;
}

.page_cases .cs_case_detail_item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_detail .cs_case_detail_item .cs_detail_ttl {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
}

.page_cases .cs_detail_text {
    font-size: 14px;
    line-height: 1.7;
    color: #555555;
}

.page_cases .cs_detail_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_detail .cs_case_detail_item .cs_detail_list li {
    font-size: 14px;
    line-height: 1.6;
    color: #555555;
    padding-left: 14px;
    position: relative;
}

.page_cases .cs_detail_list li::before {
    content: "—";
    position: absolute;
    left: 0;
    color: #787671;
}

/* 匿名事例 */
.page_cases .cs_anon_sec {
    background: #f6f5f4;
}

.page_cases .cs_anon_sec .cs_anon_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_cases .cs_anon_sec .cs_anon_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page_cases .cs_anon_sec .cs_anon_list .item .item_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.page_cases .cs_anon_sec .cs_anon_list .item .item_tags .item_tag {
    font-size: 12px;
    font-weight: 600;
    color: #3800B1;
    background: #ede8ff;
    border-radius: 6px;
    padding: 2px 10px;
}

.page_cases .cs_anon_sec .cs_anon_list .item .item_ttl {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    color: #1a1a1a;
}

.page_cases .cs_anon_sec .cs_anon_list .item .item_issue {
    font-size: 13px;
    font-weight: 600;
    color: #5609FF;
    background: none;
}

.page_cases .cs_anon_sec .cs_anon_list .item .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
}

/* 受講者の声 */
.page_cases .cs_voice_sec .cs_voice_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_cases .cs_voice_sec .cs_voice_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.page_cases .cs_voice_sec .cs_voice_list .item .item_role {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    color: #5609FF;
    text-transform: uppercase;
}

.page_cases .cs_voice_sec .cs_voice_list .item .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
    position: relative;
}

/* 満足度 */
.page_cases .cs_rating_sec {
    background: #f6f5f4;
}

.page_cases .cs_rating_sec .cs_rating_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 40px;
}

.page_cases .cs_rating_sec .cs_rating_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    text-align: center;
}

.page_cases .cs_rating_sec .cs_rating_list .item .item_num {
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    color: #5609FF;
    letter-spacing: -.02em;
    margin-bottom: 8px;
}

.page_cases .cs_rating_sec .cs_rating_list .item .item_num span {
    font-size: 22px;
    font-weight: 400;
    color: #787671;
}

.page_cases .cs_rating_sec .cs_rating_list .item .item_label {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 6px;
}

.page_cases .cs_rating_sec .cs_rating_list .item .item_note {
    font-size: 13px;
    color: #787671;
}

.page_cases .cs_policy {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 24px 28px;
}

.page_cases .cs_policy .cs_policy_ttl {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 12px;
}

.page_cases .cs_policy_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_cases .cs_policy_list li {
    font-size: 14px;
    line-height: 1.6;
    color: #555555;
    padding-left: 14px;
    position: relative;
}

.page_cases .cs_policy_list li::before {
    content: "•";
    position: absolute;
    left: 2px;
    color: #5609FF;
}

/* ============================================
   CURRICULUM
   ============================================ */

/* カリキュラム全体像 */
.page_curriculum .cr_overview_sec {
    background: #f6f5f4;
}

.page_curriculum .cr_overview_sec .cr_overview_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    overflow: hidden;
}

.page_curriculum .cr_overview_sec .cr_overview_table th,
.page_curriculum .cr_overview_sec .cr_overview_table td {
    padding: 14px 20px;
    font-size: 14px;
    line-height: 1.6;
    border-bottom: 1px solid #e5e3df;
    text-align: left;
}

.page_curriculum .cr_overview_sec .cr_overview_table tr:last-child th,
.page_curriculum .cr_overview_sec .cr_overview_table tr:last-child td {
    border-bottom: none;
    width: fit-content;
}

.page_curriculum .cr_overview_sec .cr_overview_table th {
    background: #ede8ff;
    font-weight: 700;
    color: #1a1a1a;
    white-space: nowrap;
    width: 120px;
}

.page_curriculum .cr_overview_sec .cr_overview_table td {
    color: #555555;
    background: #fff;
}

/* 職階別カリキュラム */
.page_curriculum .cr_level_sec {
    background: #f6f5f4;
}

/* カリキュラム構成 */
.page_curriculum .cr_structure_sec {
    background: #f6f5f4;
}

.page_curriculum .cr_structure_sec .cr_structure_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.page_curriculum .cr_structure_sec .cr_structure_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_curriculum .cr_structure_sec .cr_structure_list .item .item_num,
.page_curriculum .cr_structure_sec .cr_structure_list .item .item_label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #5609FF;
}

.page_curriculum .cr_structure_sec .cr_structure_list .item .item_ttl {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.4;
}

.page_curriculum .cr_structure_sec .cr_structure_list .item .item_text {
    font-size: 13px;
    line-height: 1.7;
    color: #555555;
}

.page_curriculum .cr_structure_sec .cr_structure_note {
    font-size: 13px;
    color: #787671;
    margin-top: 16px;
    text-align: center;
}

/* ロードマップ */
.page_curriculum .cr_roadmap_sec .cr_roadmap_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.page_curriculum .cr_roadmap_sec .cr_roadmap_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow .18s;
}

.page_curriculum .cr_roadmap_sec .cr_roadmap_list .item:hover {
    box-shadow: rgba(86, 9, 255, 0.10) 0 4px 16px 0;
}

.page_curriculum .cr_roadmap_sec .cr_roadmap_list .item .item_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ede8ff;
    border-radius: 10px;
    color: #5609FF;
}

.page_curriculum .cr_roadmap_sec .cr_roadmap_list .item .item_icon svg {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.page_curriculum .cr_roadmap_sec .cr_roadmap_list .item .item_label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #5609FF;
}

.page_curriculum .cr_roadmap_sec .cr_roadmap_list .item .item_ttl {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    color: #1a1a1a;
}

.page_curriculum .cr_roadmap_sec .cr_roadmap_list .item .item_text {
    font-size: 14px;
    line-height: 1.7;
    color: #555555;
}

.page_curriculum .cr_roadmap_sec .cr_roadmap_note {
    font-size: 13px;
    color: #787671;
    margin-top: 20px;
    text-align: center;
}

/* 職階別カリキュラム */
.page_curriculum .cr_level_sec {
    background: #fff;
    padding-bottom: 0 !important;
}

/* タブUI */
.page_curriculum .cr_level_sec .cr_level_tabs {
    border: 1px solid #e5e3df;
    border-radius: 12px;
    overflow: hidden;
}

.page_curriculum .cr_level_sec .cr_tab_nav {
    display: flex;
    border-bottom: 1px solid #e5e3df;
    background: #f6f5f4;
}

.page_curriculum .cr_level_sec .cr_tab_btn {
    flex: 1;
    padding: 16px 20px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 14px;
    font-weight: 600;
    color: #787671;
    cursor: pointer;
    transition: color .15s, border-color .15s, background .15s;
    text-align: center;
    line-height: 1.4;
}

.page_curriculum .cr_level_sec .cr_tab_btn:hover {
    color: #1a1a1a;
    background: #ede8ff20;
}

.page_curriculum .cr_level_sec .cr_tab_btn.active {
    color: #5609FF;
    border-bottom-color: #5609FF;
    background: #fff;
}

.page_curriculum .cr_level_sec .cr_tab_panel {
    display: none;
}

.page_curriculum .cr_level_sec .cr_tab_panel.active {
    display: block;
}

.page_curriculum .cr_level_sec .cr_level_head {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px 24px;
    background: #fafaf9;
    border-bottom: 1px solid #e5e3df;
}

.page_curriculum .cr_level_sec .cr_level_goal {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    color: #555555;
}

.page_curriculum .cr_level_sec .cr_level_goal_label {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #5609FF;
    background: #ede8ff;
    border-radius: 9999px;
    padding: 2px 10px;
    margin-right: 8px;
    vertical-align: middle;
}

.page_curriculum .cr_accordion_list {
    display: flex;
    flex-direction: column;
}

.page_curriculum .cr_accordion_item {
    border-bottom: 1px solid #e5e3df;
}

.page_curriculum .cr_accordion_item:last-child {
    border-bottom: none;
}

.page_curriculum .cr_accordion_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 24px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    list-style: none;
    transition: background .15s;
}

.page_curriculum .cr_accordion_head::-webkit-details-marker {
    display: none;
}

.page_curriculum .cr_accordion_head:hover {
    background: #fafaf9;
}

.page_curriculum .cr_accordion_head::after {
    content: "+";
    font-size: 18px;
    font-weight: 400;
    color: #787671;
    flex-shrink: 0;
}

.page_curriculum .cr_accordion_item[open] .cr_accordion_head::after {
    content: "−";
}

.page_curriculum .cr_accordion_body {
    padding: 0 24px 18px;
    list-style: none;
    margin: 0;
}

.page_curriculum .cr_accordion_body p {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
}

.page_curriculum .cr_accordion_body li {
    font-size: 13px;
    line-height: 1.7;
    color: #555555;
    padding: 3px 0 3px 12px;
    position: relative;
}

.page_curriculum .cr_accordion_body li::before {
    content: "–";
    position: absolute;
    left: 0;
    color: #5609FF;
}

/* DXセクション */
.page_curriculum .cr_dx_sec {
    background: #fff;
}

.page_curriculum .cr_dx_sec .cr_accordion_item {
    background: #f6f5f4;
    border-radius: 8px;
    margin-bottom: 6px;
    border: 1px solid #e5e3df;
}

.page_curriculum .cr_dx_sec .cr_accordion_item[open] {
    background: #fff;
}

/* ============================================
   INSTRUCTORS
   ============================================ */

/* 監修方針 */
.page_instructors .is_policy_sec .is_policy_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.page_instructors .is_policy_sec .is_policy_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow .18s;
}

.page_instructors .is_policy_sec .is_policy_list .item:hover {
    box-shadow: rgba(86, 9, 255, 0.10) 0 4px 16px 0;
}

.page_instructors .is_policy_sec .is_policy_list .item .item_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ede8ff;
    border-radius: 10px;
    color: #5609FF;
}

.page_instructors .is_policy_sec .is_policy_list .item .item_icon svg {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.page_instructors .is_policy_sec .is_policy_list .item .item_ttl {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.4;
}

.page_instructors .is_policy_sec .is_policy_list .item .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
}

/* 専門領域 */
.page_instructors .is_area_sec {
    background: #f6f5f4;
}

.page_instructors .is_area_sec .is_area_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.page_instructors .is_area_sec .is_area_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_instructors .is_area_sec .is_area_list .item .item_ttl {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
}

.page_instructors .is_area_sec .is_area_list .item .item_firm {
    font-size: 13px;
    font-weight: 600;
    color: #5609FF;
}

.page_instructors .is_area_sec .is_area_list .item .item_curriculum {
    font-size: 13px;
    line-height: 1.6;
    color: #555555;
    padding: 10px 12px;
    background: #f6f5f4;
    border-radius: 6px;
}

.page_instructors .is_area_sec .is_area_list .item .item_text {
    font-size: 14px;
    line-height: 1.7;
    color: #555555;
    margin-top: 4px;
}

/* 出身ファーム */
.page_instructors .is_firm_sec .is_firm_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_instructors .is_firm_sec .is_firm_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page_instructors .is_firm_sec .is_firm_list .item .item_ttl {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
}

.page_instructors .is_firm_sec .is_firm_list .item .item_firms {
    font-size: 14px;
    font-weight: 600;
    color: #5609FF;
    line-height: 1.7;
}

.page_instructors .is_firm_sec .is_firm_list .item .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
}

/* 監修プロセス */
.page_instructors .is_process_sec {
    background: #f6f5f4;
}

.page_instructors .is_process_sec .is_process_list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}

.page_instructors .is_process_sec .is_process_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
}

.page_instructors .is_process_sec .is_process_list .item .item_num {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 4px;
}

.page_instructors .is_process_sec .is_process_list .item .item_num .step_label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #787671;
}

.page_instructors .is_process_sec .is_process_list .item .item_num .step_no {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: #5609FF;
}

.page_instructors .is_process_sec .is_process_list .item .item_body .item_ttl {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    color: #1a1a1a;
}

.page_instructors .is_process_sec .is_process_list .item .item_body .item_text {
    font-size: 13px;
    line-height: 1.6;
    color: #555555;
}

/* ============================================
   DSS（ビジネスアーキテクト育成）
   ============================================ */

/* なぜBA育成か */
.page_dss .ds_why_sec .ds_why_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 24px;
}

.page_dss .ds_why_sec .ds_why_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_dss .ds_why_sec .ds_why_list .item .item_num {
    font-size: 28px;
    font-weight: 700;
    color: #ede8ff;
    line-height: 1;
    letter-spacing: -.02em;
    flex-shrink: 0;
}

.page_dss .ds_why_sec .ds_why_list .item .item_body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.page_dss .ds_why_sec .ds_why_list .item .item_body .item_ttl {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.4;
}

.page_dss .ds_why_sec .ds_why_list .item .item_body .item_text {
    font-size: 13px;
    line-height: 1.7;
    color: #555555;
}

.page_dss .ds_why_sec .ds_why_note {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    background: #ede8ff;
    border-radius: 8px;
    padding: 16px 20px;
    text-align: center;
}

/* 13スキル */
.page_dss .ds_skill_sec {
    background: #f6f5f4;
}

.page_dss .ds_skill_sec .ds_skill_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_dss .ds_skill_sec .ds_skill_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.page_dss .ds_skill_sec .ds_skill_list .item .item_cat {
    font-size: 14px;
    font-weight: 700;
    color: #5609FF;
    border-bottom: 1px solid #e5e3df;
    padding-bottom: 10px;
}

.page_dss .ds_skill_sec .ds_skill_list .item .item_skills {
    padding-left: 20px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.page_dss .ds_skill_sec .ds_skill_list .item .item_skills li {
    font-size: 14px;
    line-height: 1.6;
    color: #333333;
}

.page_dss .ds_skill_sec .ds_skill_note {
    font-size: 16px;
    text-align: center;
    line-height: 1.6;
    color: #333333;
    margin-top: 1em;
}

/* 3段モデル */
.page_dss .ds_model_sec .ds_model_list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.page_dss .ds_model_sec .ds_model_list .item {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 20px;
    padding: 28px 0;
    border-bottom: 1px solid #e5e3df;
    align-items: start;
}

.page_dss .ds_model_sec .ds_model_list .item:first-child {
    border-top: 1px solid #e5e3df;
}

.page_dss .ds_model_sec .ds_model_list .item .item_num {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.page_dss .ds_model_sec .ds_model_list .item .item_num .step_label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #787671;
}

.page_dss .ds_model_sec .ds_model_list .item .item_num .step_no {
    font-size: 32px;
    font-weight: 700;
    color: #5609FF;
    line-height: 1;
}

.page_dss .ds_model_sec .ds_model_list .item .item_body .item_ttl {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
    line-height: 1.4;
}

.page_dss .ds_model_sec .ds_model_list .item .item_body .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
}

.page_dss .ds_model_note {
    font-size: 13px;
    color: #787671;
    margin-top: 20px;
    padding: 14px 16px;
    background: #f6f5f4;
    border-radius: 8px;
}

/* 伴走支援 */
.page_dss .ds_support_sec .ds_support_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_dss .ds_support_sec .ds_support_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow .18s;
}

.page_dss .ds_support_list .item:hover {
    box-shadow: rgba(86, 9, 255, 0.10) 0 4px 16px 0;
}

.page_dss .ds_support_sec .ds_support_list .item .item_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ede8ff;
    border-radius: 10px;
    color: #5609FF;
}

.page_dss .ds_support_sec .ds_support_list .item .item_icon svg {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.page_dss .ds_support_sec .ds_support_list .item .item_ttl {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.4;
}

.page_dss .ds_support_sec .ds_support_list .item .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
}

/* DSS ver2.0 */
.page_dss .ds_ver2_sec {
    background: #f6f5f4;
}

.page_dss .ds_ver2_list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 680px;
    margin: 24px auto 0;
}

.page_dss .ds_ver2_sec .ds_ver2_list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid #e5e3df;
    font-size: 15px;
    line-height: 1.65;
    color: #333333;
}

.page_dss .ds_ver2_list li:first-child {
    border-top: 1px solid #e5e3df;
}

.page_dss .ds_ver2_list li img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ---- ds_map_sec ---- */
.page_dss .ds_map_sec {
    background: #f6f5f4;
}

.page_dss .ds_map_table {
    width: 100%;
}

.page_dss .ds_map_table,
.page_dss .ds_map_sec .ds_map_table th,
.page_dss .ds_map_sec .ds_map_table td {
    border: 1px solid #e5e3df;
    border-collapse: collapse;
    background-color: #fff;
}

.page_dss .ds_map_sec .ds_map_table th,
.page_dss .ds_map_sec .ds_map_table td {
    padding: 12px 16px;
    font-size: 14px;
    vertical-align: top;
    line-height: 1.7;
}

.page_dss .ds_map_table th {
    background: #ede9e3;
    font-weight: 700;
    white-space: nowrap;
}

.page_dss .ds_map_sec .ds_map_table td:first-child {
    white-space: nowrap;
    font-weight: 600;
    color: #1a0040;
}

.page_dss .ds_map_sec .ds_map_note {
    margin-top: 24px;
    font-size: 13px;
    color: #666;
    line-height: 1.7;
}

/* ---- ds_case_sec ---- */
.page_dss .ds_case_sec .ds_case_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 40px;
}

.page_dss .ds_case_sec .ds_case_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 32px;
}

.page_dss .ds_case_sec .ds_case_list .item .item_ttl {
    font-size: 18px;
    font-weight: 700;
    color: #1a0040;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5e3df;
}

.page_dss .ds_case_sec .ds_case_list .item .item_text {
    font-size: 14px;
    line-height: 1.8;
    color: #444;
}

.page_dss .ds_case_sec .ds_case_note {
    margin-top: 32px;
    font-size: 13px;
    color: #666;
    line-height: 1.7;
    text-align: center;
}

/* ============================================
   ABOUT
   ============================================ */

.page_about .ab_mission_sec {
    background: #471ca5;
}

.page_about .ab_mission_sec .pg_sec_head .en_ttl {
    color: #d6c6ff;
}

.page_about .ab_mission_sec .pg_sec_head .sec_ttl {
    color: #fff;
}

.page_about .ab_mission_sec .ab_mission_inner {
    text-align: center;
    /* max-width: 680px; */
    margin: 0 auto;
}

.page_about .ab_mission_sec .ab_mission_ttl {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 16px;
}

.page_about .ab_mission_sec .ab_mission_text {
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
}

/* 事業内容 */
.page_about .ab_business_sec .ab_business_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.page_about .ab_business_sec .ab_business_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow .18s;
}

.page_about .ab_business_list .item:hover {
    box-shadow: rgba(86, 9, 255, 0.10) 0 4px 16px 0;
}

.page_about .ab_business_sec .ab_business_list .item .item_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ede8ff;
    border-radius: 10px;
    color: #5609FF;
}

.page_about .ab_business_sec .ab_business_list .item .item_icon svg {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.page_about .ab_business_sec .ab_business_list .item .item_ttl {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.4;
}

.page_about .ab_business_sec .ab_business_list .item .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
}

.page_about .ab_business_sec .ab_business_list .item .item_domain_list {
    padding-left: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
}

.page_about .ab_business_sec .ab_business_list .item .item_domain_list li {
    font-size: 13px;
    line-height: 1.75;
    color: #555555;
    list-style: disc;
}

.page_about .ab_business_sec .ab_business_list .item .item_domain_list li strong {
    color: #1a1a1a;
    font-weight: 600;
}

/* なぜConStepか */
.page_about .ab_constep_sec {
    background: #f6f5f4;
}

.page_about .ab_constep_inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 760px;
    margin: 0 auto;
}

.page_about .ab_constep_sec .ab_constep_text {
    font-size: 16px;
    line-height: 1.8;
    color: #555555;
}

/* チーム */
.page_about .ab_team_sec .ab_team_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.page_about .ab_team_sec .ab_team_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_about .ab_team_sec .ab_team_list .item .item_ttl {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
}

.page_about .ab_team_list .item .item_bg {
    font-size: 13px;
    color: #5609FF;
    font-weight: 600;
}

.page_about .ab_team_sec .ab_team_list .item .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
    margin-top: 4px;
}

.page_about .ab_team_sec .ab_team_note {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
    margin-top: 24px;
    text-align: center;
}

/* バリュー */
.page_about .ab_value_sec {
    background: #f6f5f4;
}

.page_about .ab_value_sec .ab_value_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.page_about .ab_value_sec .ab_value_list .item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_about .ab_value_sec .ab_value_list .item .item_no {
    font-size: 36px;
    font-weight: 700;
    color: #ede8ff;
    line-height: 1;
    letter-spacing: -.02em;
}

.page_about .ab_value_sec .ab_value_list .item .item_ttl {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
}

.page_about .ab_value_sec .ab_value_list .item .item_text {
    font-size: 14px;
    line-height: 1.75;
    color: #555555;
}

/* 会社概要 */
.page_about .ab_info_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e5e3df;
    border-radius: 12px;
    overflow: hidden;
}

.page_about .ab_info_sec .ab_info_table th,
.page_about .ab_info_sec .ab_info_table td {
    padding: 16px 20px;
    font-size: 14px;
    line-height: 1.6;
    border-bottom: 1px solid #e5e3df;
    text-align: left;
}

.page_about .ab_info_table tr:last-child th,
.page_about .ab_info_table tr:last-child td {
    border-bottom: none;
}

.page_about .ab_info_sec .ab_info_table th {
    background: #f6f5f4;
    font-weight: 700;
    color: #1a1a1a;
    width: 180px;
    vertical-align: top;
}

.page_about .ab_info_sec .ab_info_table td {
    color: #555555;
    background: #fff;
}

.page_about .ab_info_table a {
    color: #5609FF;
    text-decoration: underline;
}

/* ============================================
   FAQ
   ============================================ */

.page_faq .fq_general_sec,
.page_faq .fq_curriculum_sec,
.page_faq .fq_pricing_sec {
    border-bottom: 1px solid #e5e3df;
}

.page_faq .fq_enterprise_sec {
    background: #f6f5f4;
}

.page_faq .fq_list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page_faq .fq_list .fq_item {
    background: #fff;
    border: 1px solid #e5e3df;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow .18s;
}

.page_faq .fq_list .fq_item[open] {
    box-shadow: rgba(86, 9, 255, 0.06) 0 2px 8px 0;
}

.page_faq .fq_list .fq_item .fq_question {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 20px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    color: #1a1a1a;
    list-style: none;
    transition: background .15s;
}

.page_faq .fq_list .fq_item .fq_question::-webkit-details-marker {
    display: none;
}

.page_faq .fq_list .fq_item .fq_question:hover {
    background: #fafaf9;
}

.page_faq .fq_list .fq_item .fq_question::before {
    content: "Q";
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    background: #5609FF;
    border-radius: 9999px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}

.page_faq .fq_list .fq_item .fq_question::after {
    content: "+";
    font-size: 20px;
    font-weight: 300;
    color: #787671;
    margin-left: auto;
    flex-shrink: 0;
    padding-left: 12px;
}

.page_faq .fq_list .fq_item[open] .fq_question::after {
    content: "−";
}

.page_faq .fq_list .fq_item .fq_answer {
    padding: 0 20px 18px 20px;
    display: flex;
    gap: 12px;
    border-top: 1px solid #e5e3df;
    padding-top: 14px;
}

.page_faq .fq_list .fq_item .fq_answer::before {
    content: "A";
    font-size: 12px;
    font-weight: 700;
    color: #5609FF;
    background: #ede8ff;
    border-radius: 9999px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}

.page_faq .fq_list .fq_item .fq_answer p {
    font-size: 14px;
    line-height: 1.8;
    color: #555555;
}

.page_faq .fq_list .fq_item .fq_answer a {
    color: #5609FF;
    text-decoration: underline;
}

/* ============================================
   SP（max-width: 750px）
   ============================================ */

@media (max-width: 750px) {

    /* ---- 共通 ---- */
    .page_main .pg_sec {
        padding: 13.3vw 0;
    }

    .page_main .pg_sec_head {
        margin-bottom: 8vw;
    }

    .page_main .pg_sec_head .en_ttl {
        font-size: 2.7vw;
        margin-bottom: 2.1vw;
    }

    .page_main .pg_sec_head .sec_ttl {
        font-size: 5.8vw;
    }

    .page_main .pg_sec_head .sec_lead {
        font-size: 3.5vw;
        margin-top: 3.2vw;
        text-align: left;
    }

    .page_main .pg_sec_body_text {
        font-size: 3.7vw;
    }

    .page_main .pg_lead_sec {
        padding: 13.3vw 0 14.7vw;
    }

    .page_main .pg_lead_sec .pg_lead_logo {
        width: 18vw;
        margin-bottom: 6vw;
    }

    .page_main .pg_lead_sec .pg_h1 {
        font-size: 7vw;
        margin-bottom: 4vw;
    }

    .page_main .pg_lead_sec .pg_h1_label {
        font-size: 7vw;
        margin-bottom: 3.2vw;
    }

    .page_main .pg_lead_sec .pg_h1_main {
        font-size: 4.3vw;
    }

    .page_main .pg_lead_sec .pg_lead_text {
        font-size: 3.6vw;
        margin-bottom: 6.4vw;
        text-align: left;
    }

    .page_main .pg_cta_area {
        padding: 13.3vw 0;
    }

    .page_main .pg_cta_ttl {
        font-size: 5vw;
        margin-bottom: 3.2vw;
    }

    .page_main .pg_cta_text {
        font-size: 3.5vw;
        margin-bottom: 6.4vw;
        text-align: left;
    }

    .page_main .pg_related_sec {
        padding: 10.7vw 0;
    }

    .page_main .pg_related_ttl {
        font-size: 2.7vw;
        margin-bottom: 3.2vw;
    }

    .page_main .pg_related_list {
        grid-template-columns: 1fr;
        gap: 2.1vw;
    }

    .page_main .pg_related_list a {
        font-size: 3.2vw;
        padding: 3.5vw 4vw;
    }

    .page_main .pg_text_link {
        font-size: 3.5vw;
    }

    /* ---- SERVICE ---- */
    .page_service .sv_diff_sec .sv_diff_list {
        grid-template-columns: 1fr;
    }

    .page_service .sv_diff_sec .sv_diff_list .item .item_ttl {
        font-size: 4.8vw;
    }

    .page_service .sv_diff_sec .sv_diff_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_service .sv_func_sec .sv_func_list {
        grid-template-columns: 1fr;
        gap: 3.2vw;
    }

    .page_service .sv_func_sec .sv_func_list .item .item_ttl {
        font-size: 3.7vw;
    }

    .page_service .sv_func_sec .sv_func_list .item .item_text {
        font-size: 3.2vw;
    }

    .page_service .sv_step_sec .sv_step_list .item {
        grid-template-columns: 14vw 1fr;
        gap: 4vw;
        padding: 5.3vw 0;
    }

    .page_service .sv_step_sec .sv_step_list .item .item_num .step_no {
        font-size: 7.5vw;
    }

    .page_service .sv_step_sec .sv_step_list .item .item_body .item_ttl {
        font-size: 4.3vw;
    }

    .page_service .sv_step_sec .sv_step_list .item .item_body .item_text {
        font-size: 3.5vw;
    }

    .page_service .sv_role_sec .sv_role_table th,
    .page_service .sv_role_sec .sv_role_table td {
        font-size: 3.5vw;
        padding: 3.2vw 4vw;
    }

    .page_service .sv_role_sec .sv_role_note {
        font-size: 3.2vw;
    }

    .page_service .sv_scene_sec .sv_scene_list {
        grid-template-columns: 1fr;
    }

    .page_service .sv_scene_sec .sv_scene_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_service .sv_scene_sec .sv_scene_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_service .sv_intro_sec .sv_intro_step_list {
        grid-template-columns: 1fr;
        gap: 3.2vw;
    }

    .page_service .sv_intro_sec .sv_intro_step_list .item .item_ttl {
        font-size: 3.5vw;
    }

    .page_service .sv_intro_sec .sv_intro_step_list .item .item_text {
        font-size: 3.2vw;
    }

    /* ---- PRICING ---- */
    .page_pricing .pr_plan_sec .pr_plan_list {
        grid-template-columns: 1fr;
        gap: 3vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_notes li {
        font-size: 3vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_list .item .item_ttl {
        font-size: 5.3vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_list .item {
        padding: 6vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_list .item .item_plan_label {
        font-size: 3vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_list .item .item_accounts {
        font-size: 3.4vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_list .item .item_price {
        margin-bottom: 4vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_list .item .item_price .price_num {
        font-size: 7vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_list .item .item_price .price_unit {
        font-size: 3.2vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_pricing .pr_plan_sec .pr_plan_list .item .item_price .price_num {
        font-size: 7.6vw;
    }

    .page_pricing .pr_feature_sec .pr_feature_list li {
        font-size: 3.7vw;
    }

    .page_pricing .pr_addon_sec .pr_addon_list {
        grid-template-columns: 1fr;
    }

    .page_pricing .pr_addon_sec .pr_addon_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_pricing .pr_addon_sec .pr_addon_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_pricing .pr_quote_sec .pr_quote_inner {
        padding: 6.4vw 5.3vw;
        gap: 4vw;
    }

    .page_pricing .pr_quote_sec .pr_quote_inner .pr_quote_text {
        font-size: 3.5vw;
    }

    .page_pricing .pr_quote_sec .pr_quote_inner .pr_quote_subttl {
        font-size: 3.7vw;
    }

    .page_pricing .pr_quote_sec .pr_quote_inner .pr_quote_list li {
        font-size: 3.5vw;
    }

    .page_pricing .pr_quote_sec .pr_quote_inner .pr_quote_note {
        font-size: 3.5vw;
    }

    .page_pricing .pr_compare_sec .pr_compare_list {
        grid-template-columns: 1fr;
    }

    .page_pricing .pr_compare_sec .pr_compare_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_pricing .pr_compare_sec .pr_compare_list .item .item_text {
        font-size: 3.5vw;
    }

    /* ---- CASES ---- */
    .page_cases .cs_case_sec .cs_case_card {
        padding: 6.4vw 5.3vw;
    }

    .page_cases .cs_case_sec .cs_case_card .cs_case_meta .cs_case_company {
        font-size: 4.8vw;
    }

    .page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_text {
        font-size: 3.5vw;
    }

    .page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_article_text {
        font-size: 3.5vw;
    }

    .page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_detail {
        grid-template-columns: 1fr;
    }

    .page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_detail .cs_case_detail_item .cs_detail_ttl {
        font-size: 3.7vw;
    }

    .page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_detail .cs_case_detail_item .cs_detail_text,
    .page_cases .cs_case_sec .cs_case_card .cs_case_body .cs_case_detail .cs_case_detail_item .cs_detail_list li {
        font-size: 3.5vw;
    }

    .page_cases .cs_anon_sec .cs_anon_list {
        grid-template-columns: 1fr;
    }

    .page_cases .cs_anon_sec .cs_anon_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_cases .cs_anon_sec .cs_anon_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_cases .cs_voice_sec .cs_voice_list {
        grid-template-columns: 1fr;
    }

    .page_cases .cs_voice_sec .cs_voice_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_cases .cs_rating_sec .cs_rating_list {
        grid-template-columns: 1fr;
    }

    .page_cases .cs_rating_sec .cs_rating_list .item .item_num {
        font-size: 12.8vw;
    }

    .page_cases .cs_rating_sec .cs_rating_list .item .item_num span {
        font-size: 5.9vw;
    }

    .page_cases .cs_rating_sec .cs_rating_list .item .item_label {
        font-size: 4vw;
    }

    .page_cases .cs_policy .cs_policy_ttl {
        font-size: 4vw;
    }

    .page_cases .cs_policy .cs_policy_list li {
        font-size: 3.5vw;
    }

    /* ---- CURRICULUM ---- */
    .page_curriculum .cr_overview_sec .cr_overview_table_block {
        overflow: scroll;
    }

    .page_curriculum .cr_overview_table_block .cr_overview_table {
        min-width: 120vw;
    }

    .page_curriculum .cr_overview_table th:first-of-type,
    .page_curriculum .cr_overview_table td:first-of-type {
        white-space: nowrap;
    }

    .page_curriculum .cr_overview_sec .cr_overview_table th,
    .page_curriculum .cr_overview_sec .cr_overview_table td {
        font-size: 3vw;
        padding: 1em;
        width: fit-content;
    }

    .page_curriculum .cr_structure_sec .cr_structure_list {
        grid-template-columns: 1fr;
        gap: 2.7vw;
    }

    .page_curriculum .cr_roadmap_note,
    .page_curriculum .cr_structure_sec .cr_structure_note {
        font-size: 2.5vw;
        text-align: left;
    }

    .page_curriculum .cr_structure_sec .cr_structure_list .item .item_ttl {
        font-size: 3.7vw;
    }

    .page_curriculum .cr_structure_sec .cr_structure_list .item .item_text {
        font-size: 3.2vw;
    }

    .page_curriculum .cr_roadmap_sec .cr_roadmap_list {
        grid-template-columns: 1fr;
    }

    .page_curriculum .cr_roadmap_sec .cr_roadmap_list .item {
        padding: 4vw;
        gap: 2.5vw;
    }

    .page_curriculum .cr_roadmap_sec .cr_roadmap_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_curriculum .cr_roadmap_sec .cr_roadmap_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_curriculum .cr_level_sec .cr_tab_nav {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
    }

    .page_curriculum .cr_level_sec .cr_tab_btn {
        flex: none;
        white-space: nowrap;
        padding: 4vw 5.3vw;
        font-size: 3.5vw;
    }

    .page_curriculum .cr_level_sec .cr_level_head {
        padding: 5.3vw;
        gap: 3.2vw;
    }

    .page_curriculum .cr_level_sec .cr_level_goal {
        font-size: 3.2vw;
    }

    .page_curriculum .cr_level_sec .cr_level_goal_label {
        font-size: 2.9vw;
        padding: 0.5vw 2.7vw;
        margin-right: 2.1vw;
    }

    .page_curriculum .cr_accordion_head {
        padding: 4vw;
        font-size: 3.2vw;
    }

    .page_curriculum .cr_accordion_body {
        padding: 0 5.3vw 4.3vw;
    }

    .page_curriculum .cr_accordion_body p {
        font-size: 3.5vw;
    }

    .page_curriculum .cr_accordion_body li {
        font-size: 3.2vw;
    }

    /* ---- INSTRUCTORS ---- */
    .page_instructors .is_policy_sec .is_policy_list {
        grid-template-columns: 1fr;
    }

    .page_instructors .is_policy_sec .is_policy_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_instructors .is_policy_sec .is_policy_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_instructors .is_area_sec .is_area_list {
        grid-template-columns: 1fr;
    }

    .page_instructors .is_area_sec .is_area_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_instructors .is_area_list .item .item_curriculum,
    .page_instructors .is_area_sec .is_area_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_instructors .is_firm_sec .is_firm_list {
        grid-template-columns: 1fr;
    }

    .page_instructors .is_firm_sec .is_firm_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_instructors .is_firm_list .item .item_firms,
    .page_instructors .is_firm_sec .is_firm_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_instructors .is_process_sec .is_process_list {
        grid-template-columns: 1fr;
        gap: 2.7vw;
    }

    .page_instructors .is_process_sec .is_process_list .item .item_body .item_ttl {
        font-size: 3.5vw;
    }

    .page_instructors .is_process_sec .is_process_list .item .item_body .item_text {
        font-size: 3.2vw;
    }

    /* ---- DSS ---- */
    .page_dss .ds_why_sec .ds_why_list {
        grid-template-columns: 1fr;
    }

    .page_dss .ds_why_sec .ds_why_list .item .item_num {
        font-size: 6.4vw;
    }

    .page_dss .ds_why_sec .ds_why_list .item .item_body .item_ttl {
        font-size: 4vw;
    }

    .page_dss .ds_why_sec .ds_why_list .item .item_body .item_text {
        font-size: 3.5vw;
    }

    .page_dss .ds_why_sec .ds_why_note {
        font-size: 3.7vw;
        padding: 4vw 5.3vw;
    }

    .page_dss .ds_skill_sec .ds_skill_list {
        grid-template-columns: 1fr;
        gap: 3vw;
    }

    .page_dss .ds_skill_sec .ds_skill_note {
        font-size: 3.6vw;
        text-align: left;
    }

    .page_dss .ds_skill_sec .ds_skill_list .item .item_cat {
        font-size: 3.7vw;
    }

    .page_dss .ds_skill_sec .ds_skill_list .item .item_skills li {
        font-size: 3.5vw;
    }

    .page_dss .ds_model_sec .ds_model_list .item {
        grid-template-columns: 13.3vw 1fr;
        gap: 4vw;
        padding: 5.3vw 0;
    }

    .page_dss .ds_model_sec .ds_model_list .item .item_num .step_no {
        font-size: 7.5vw;
    }

    .page_dss .ds_model_sec .ds_model_list .item .item_body .item_ttl {
        font-size: 4.3vw;
    }

    .page_dss .ds_model_sec .ds_model_list .item .item_body .item_text {
        font-size: 3.5vw;
    }

    .page_dss .ds_support_sec .ds_support_list {
        grid-template-columns: 1fr;
    }

    .page_dss .ds_support_sec .ds_support_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_dss .ds_support_sec .ds_support_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_dss .ds_ver2_sec .ds_ver2_list li {
        font-size: 3.7vw;
        padding: 4vw 0;
    }

    /* ---- ds_map_sec ---- */
    .page_dss .ds_map_sec .ds_map_table th,
    .page_dss .ds_map_sec .ds_map_table td {
        padding: 3vw 3.5vw;
        font-size: 3.2vw;
    }

    .page_dss .ds_map_sec .ds_map_table td:first-child {
        white-space: normal;
    }

    .page_dss .ds_map_sec .ds_map_note {
        font-size: 3vw;
        margin-top: 5vw;
    }

    /* ---- ds_case_sec ---- */
    .page_dss .ds_case_sec .ds_case_list {
        grid-template-columns: 1fr;
        gap: 5vw;
        margin-top: 8vw;
    }

    .page_dss .ds_case_sec .ds_case_list .item {
        padding: 6vw;
    }

    .page_dss .ds_case_sec .ds_case_list .item .item_ttl {
        font-size: 4.3vw;
        margin-bottom: 4vw;
        padding-bottom: 4vw;
    }

    .page_dss .ds_case_sec .ds_case_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_dss .ds_case_sec .ds_case_note {
        font-size: 3vw;
        margin-top: 6vw;
    }

    /* ---- ABOUT ---- */
    .page_about .ab_mission_sec .ab_mission_ttl {
        font-size: 5.8vw;
        text-align: left;
        margin-bottom: 5vw;
    }

    .page_about .ab_mission_sec .ab_mission_text {
        font-size: 3.7vw;
        text-align: left;
    }

    .page_about .ab_business_sec .ab_business_list {
        grid-template-columns: 1fr;
    }

    .page_about .ab_business_sec .ab_business_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_about .ab_business_sec .ab_business_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_about .ab_business_sec .ab_business_list .item .item_domain_list li {
        font-size: 3.5vw;
    }

    .page_about .ab_constep_sec .ab_constep_text {
        font-size: 3.7vw;
    }

    .page_about .ab_team_sec .ab_team_list {
        grid-template-columns: 1fr;
    }

    .page_about .ab_team_sec .ab_team_list .item .item_ttl {
        font-size: 4.3vw;
    }

    .page_about .ab_team_sec .ab_team_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_about .ab_team_sec .ab_team_note {
        font-size: 3.5vw;
        margin-top: 6.4vw;
        text-align: left;
    }

    .page_about .ab_value_sec .ab_value_list {
        grid-template-columns: 1fr;
    }

    .page_about .ab_value_sec .ab_value_list .item .item_no {
        font-size: 9.6vw;
    }

    .page_about .ab_value_sec .ab_value_list .item .item_ttl {
        font-size: 4.5vw;
    }

    .page_about .ab_value_sec .ab_value_list .item .item_text {
        font-size: 3.5vw;
    }

    .page_about .ab_info_sec .ab_info_table th,
    .page_about .ab_info_sec .ab_info_table td {
        font-size: 3.5vw;
        padding: 3.7vw 4vw;
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .page_about .ab_info_sec .ab_info_table th {
        width: 100%;
        border-bottom: none;
    }

    /* ---- FAQ ---- */
    .page_faq .fq_list .fq_item .fq_question {
        padding: 4.5vw 5.3vw;
        font-size: 3.7vw;
    }

    .page_faq .fq_list .fq_item .fq_question::after {
        font-size: 5.3vw;
    }

    .page_faq .fq_list .fq_item .fq_answer {
        padding: 3.7vw 5.3vw 5.3vw;
    }

    .page_faq .fq_list .fq_item .fq_answer p {
        font-size: 3.5vw;
    }

    .page_curriculum .cr_accordion_head::after {
        font-size: 4.8vw;
    }
}