/*common_color*/
.col01 {
    color: var(--col01) !important;
}

.col02 {
    color: var(--col02) !important;
}

.col03 {
    color: var(--col03) !important;
}

/*common_depth3_tab*/
.depth3_tab {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 40px;
    /* border-bottom:1px solid var(--border); */
}

.depth3_tab a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 24px;
    margin-bottom: -1px;
    /* border:1px solid var(--border); */
    border-radius: 10px 10px 0 0;
    background: #fff;
    color: #666;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.35;
    box-sizing: border-box;
}

.depth3_tab a:hover, .depth3_tab a.on {
    /* border-color:#94BFE6; */
    /* background:#94BFE6; */
    color: #fff;
}

/*common_waitbox*/
.waitbox {
    position: relative;
    overflow: hidden;
    text-align: center;
    border: 1px solid #e5e5e5;
    border-radius: 20px;
    padding: 50px 24px;
}

.waitbox_logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    max-width: 70%;
    margin: 0 auto -10px;
    ; opacity: 0.7
}

.depth3_tab {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 0;
    margin-bottom: 40px;
    max-width: 100%;
    overflow: hidden;
}

.depth3_tab a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    min-width: 0;
    min-height: 42px;
    padding: 0 8px;
    border-radius: 0;
    background: transparent;
    font-size: 1rem;
    line-height: 1.3;
    text-align: center;
    word-break: keep-all;
    transition: .2s;
}

.depth3_tab a:hover, .depth3_tab a.on {
    color: var(--col02);
}

.depth3_tab a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 2px;
    background: var(--col02);
    transform: translateX(-50%);
    transition: .2s;
}

.depth3_tab a:hover:after, .depth3_tab a.on:after {
    width: calc(100% - 16px);
}

.depth3_tab.depth3_tab_textline a span {
    display: inline;
}

.waitbox img {
    display: block;
    width: 40%;
}

.waitbox .t01 {
    color: #666;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 10px;
}

.waitbox_txt {
    max-width: 420px;
    color: #888;
    margin: 0 auto;
}

@media all and (min-width: 500px) {
    .depth3_tab.depth3_tab_textline {
        align-items:center;
        gap: 20px 40px;
    }

    .depth3_tab.depth3_tab_textline a {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
        padding: 0;
    }

    .depth3_tab.depth3_tab_textline a:after, .depth3_tab.depth3_tab_textline a:hover:after, .depth3_tab.depth3_tab_textline a.on:after {
        display: none;
        width: 0;
    }

    .depth3_tab.depth3_tab_textline a span {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: inherit;
        color: inherit;
        line-height: inherit;
    }

    .depth3_tab.depth3_tab_textline a span:after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 0;
        height: 3px;
        background: var(--col02);
        transform: translateX(-50%);
        transition: .2s;
    }

    .depth3_tab.depth3_tab_textline a:hover span:after, .depth3_tab.depth3_tab_textline a.on span:after {
        width: 100%;
    }
}

/*common_button*/
.btnBlue, .btn_blue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    height: 43px;
    padding: 0 20px;
    border-radius: 6px;
    background: #3452b7;
    color: #fff;
    font-size: 1rem;
    /* font-weight: 500; */
}

.split_page {
    display: grid;
    word-break: keep-all;
}

.split_sec {
    display: grid;
}

.split_block + .split_block {
    margin-top: 36px;
    padding-top: 36px;
    border-top: 1px solid #e7ebf2;
}

.split_sec .left, .split_sec .right, .split_block > .left, .split_block > .right {
    min-width: 0;
}

.split_block .sec_tit {
    margin-bottom: 1rem;
    font-size: 1.45rem;
    font-weight: 700;
}

.split_block .sec_sub {
    margin: 0 0 0.45rem;
    color: #6fa6dc;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.split_block > .left > .sec_tit {
    position: relative;
}

.split_block > .left > .sec_tit::before, .split_block > .left > .sec_tit::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    position: absolute;
    top: -12px;
}

.split_block > .left > .sec_tit::before {
    left: 0;
    background: #8fbce6;
}

.split_block > .left > .sec_tit::after {
    left: 13px;
    background: #3f4fa7;
}

.split_page .txt, .split_block > .right {
    color: #666;
    font-size: 1rem;
}

.split_page .txt p, .split_block > .right p {
    margin-bottom: 1rem;
}

.split_page .txt .sign {
    margin-top: 2rem;
    margin-bottom: 0;
    text-align: right;
    color: #333;
    font-weight: 500;
}

.split_page .txt .sign strong {
    display: inline-block;
    margin-left: 0.35rem;
    font-size: 1.2rem;
    letter-spacing: 0.25rem;
}

.split_sec .pic {
    overflow: hidden;
    margin: 0;
    border-radius: 20px;
    height: 500px;
}

.split_sec .pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.info_rows, .lined_box, .ci_area {
    display: grid;
}

.ci_area {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.ci_desc, .ci_down {
    grid-column: 1 / -1;
}

.info_row, .lined_box_item {
    display: grid;
    margin: 0;
    padding: 24px;
    border: 1px solid #d2d6df;
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
}

.info_row + .info_row, .lined_box_item + .lined_box_item {
    margin-top: 18px;
}

.lined_box {
    gap: 0;
    border: 1px solid #d2d6df;
    border-radius: 16px;
    overflow: hidden;
}

.lined_box .lined_box_item {
    position: relative;
    border: 0;
    border-radius: 0;
}

.lined_box .lined_box_item + .lined_box_item {
    margin-top: 0;
}

.lined_box .lined_box_item + .lined_box_item:before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 1px;
    background: #e4e4e4;
}

.lined_box_cols .lined_box_item {
    align-content: start;
}

.lined_box_cols .lined_box_item dd strong {
    color: #3f4fa7;
    font-size: 1.2rem;
    font-weight: 600;
}

.mission_rows .info_row + .info_row {
    margin-top: 0;
}

.info_row dt, .lined_box_item dt, .meaning_item strong {
    color: #3f4fa7;
    font-weight: 600;
}

.info_row dt, .lined_box_item dt {
    margin: 0;
    font-size: 1.375rem;
    line-height: 1.35;
}

.mission_rows {
    gap: 18px;
    /* margin-bottom: 24px; */
}

.mission_rows .info_row {
    position: relative;
    align-content: start;
    gap: 15px;
    min-height: 220px;
    padding: 32px 28px;
}

.mission_rows .info_row dt {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    grid-template-rows: auto auto;
    align-items: center;
    padding-right: 0;
}

.mission_rows .info_row dt .material-symbols-outlined {
    grid-column: 2;
    grid-row: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #eef3ff;
    color: #3f4fa7;
    font-size: 1.85rem;
    font-weight: 300;
}

.mission_rows .info_row dt strong {
    grid-column: 1;
    margin-right: 16px;
    color: #3f4fa7;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.2;
}

.mission_rows .info_row dt small {
    grid-column: 1;
    margin: 4px 16px 0 0;
    color: #c5c5c5;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.1;
    text-transform: uppercase;
}

.mission_rows .info_row dd {
    /* color: #444; */
    font-size: 1rem;
    font-weight: 500;
}

.info_row dd, .lined_box_item dd {
    margin: 0;
    line-height: 1.5;
}

.info_row dt, .lined_box_item dt {
    padding-right: 14px;
}

.split_block > .right .meaning_item p, .split_block > .right .ci_desc {
    margin-bottom: 0;
}

.meaning_box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 28px 24px;
    border: 1px solid #d2d6df;
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
    text-align: center;
}

.meaning_item strong {
    display: block;
    margin-bottom: 14px;
    font-size: 1.375rem;
}

.meaning_plus {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    color: #3f4fa7;
    font-size: 1.8rem;
    line-height: 1;
}

.meaning_result {
    margin-top: 24px;
    padding: 24px;
    border: 1px solid #d2d6df;
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
    text-align: center;
}

.meaning_result strong {
    display: block;
    margin-bottom: 10px;
    color: #3f4fa7;
    font-size: 1.375rem;
    font-weight: 600;
}

.org_chart {
    overflow: hidden;
    padding: 20px;
    border: 0;
    border-radius: 0;
    background: #f4f4f4;
    box-shadow: none;
    text-align: center;
}

.org_top {
    position: relative;
    display: grid;
    justify-items: center;
    padding-bottom: 44px;
}

.org_top:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 23px;
    bottom: -20px;
    width: 1px;
    background: #b4b4b4;
    transform: translateX(-50%);
}

.org_top .org_node + .org_node {
    margin-top: 18px;
}

.org_node {
    position: relative;
    z-index: 1;
    width: 42%;
    min-width: 0;
    padding: 10px 18px;
    border: 1px solid #D9D9D9;
    border-radius: 12px;
    background: #fff;
    font-weight: 500;
    box-shadow: none;
}

.org_top .org_node:first-child, .org_top .org_node:nth-child(4) {
    background: #444;
    border-color: #444;
    color: #fff;
}

.org_top .org_node:nth-child(3) {
    background: linear-gradient(to right, var(--col01), #007c86);
    border: none;
    color: #fff;
}

.org_side {
    justify-self: center;
    left: 29%;
    background: #888;
    border-color: #888;
    color: #fff;
}

.org_side:before {
    content: "";
    position: absolute;
    right: 100%;
    top: 50%;
    width: 28px;
    height: 1px;
    background: #d4d4d4;
}

.org_depart {
    position: relative;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.org_depart:after {
    content: "";
    position: absolute;
    left: 50%;
    top: -20px;
    bottom: 0;
    z-index: 0;
    width: 1px;
    background: #d7dce6;
    transform: translateX(-50%);
    display: none;
}

.org_depart:before {
    content: "";
    position: absolute;
    display: none;
    left: 50%;
    right: 50%;
    top: -20px;
    height: 1px;
    background: #d4d4d4
}

.org_depart > li {
    position: relative;
    z-index: 1;
    margin: 0;
    overflow: visible;
    padding: 0 0 18px;
    border: 1px solid #D9D9D9;
    border-radius: 16px;
    background: #fff;
    color: #2b3448;
    font-weight: 500;
    box-shadow: none;
}

.org_depart > li:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 100%;
    width: 1px;
    height: 16px;
    background: #d4d4d4
}

.org_depart strong {
    display: block;
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 12px 12px 0 0;
    background: var(--col02);
    color: #fff;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
}

.org_depart strong a {
    display: block;
    color: inherit;
}

.org_depart .dot_li {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0 16px;
    list-style: none;
    text-align: left;
}

.org_depart .dot_li li {
    position: relative;
    padding-left: 10px;
    color: #666;
    font-size: 0.95rem;
}

.org_depart .dot_li li a {
    color: inherit;
}

.org_depart strong a:hover, .org_depart .dot_li li a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.org_depart .dot_li li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #888;
}

.ci_logo {
    display: grid;
}

.ci_logo + .ci_logo {
    margin-top: 10px;
}

.ci_logo strong {
    display: block;
    margin-bottom: 10px;
    color: var(--col02);
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
}

.ci_logo_preview {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 170px;
    padding: 34px;
    border: 2px solid #cfcfcf;
    box-sizing: border-box;
    background: #fff url("../img/grid.png") center / auto repeat;
    overflow: hidden;
}

.ci_logo_preview img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.ci_logo_preview .ci_logo_horizon {
    width: 80%;
}

.ci_logo_preview .ci_logo_vertical {
    width: 150%;
    max-width: 150%;
}

.ci_desc {
    margin: 20px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
    line-height: 1.8;
}

.ci_down {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
}

.section_card_desc, .finance_intro {
    margin-bottom: 20px;
    color: #333;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: left;
}

.section_card_title {
    display: block;
    margin-bottom: 10px;
    color: var(--col02);
    font-size: 1.375rem;
    font-weight: 600;
    text-align: left;
}

.lined_box_list {
    display: grid;
    gap: 0;
    padding: 0;
    border: 1px solid #d2d6df;
    border-radius: 16px;
    list-style: none;
    overflow: hidden;
}

.lined_box_card {
    position: relative;
    width: 100%;
    min-height: 124px;
    padding: 30px 118px 30px 30px;
    border: 0;
    box-sizing: border-box;
    border-radius: 0;
}

.lined_box_card + .lined_box_card {
    border-top: 0;
}

.lined_box_card + .lined_box_card:before {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    top: 0;
    height: 1px;
    background: #e4e4e4;
}

.lined_box_icon {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 24px;
    top: 50%;
    width: 76px;
    aspect-ratio: 1 / 1;
    margin: 0;
    background: transparent;
    transform: translateY(-50%);
}

.lined_box_icon .material-symbols-outlined {
    color: #c4c4c4;
    font-size: 3.5rem;
    font-weight: 300;
}

.lined_box_no_icon .lined_box_card:after {
    content: "";
    position: absolute;
    right: 24px;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    aspect-ratio: 1 / 1;
    color: #c4c4c4;
    font-family: var(--ic);
    font-size: 3.5rem;
    font-weight: 300;
    line-height: 1;
    transform: translateY(-50%);
}

.lined_box_no_icon .lined_box_card:nth-child(1):after {
    content: "verified_user";
}

.lined_box_no_icon .lined_box_card:nth-child(2):after {
    content: "accessibility_new";
}

.lined_box_no_icon .lined_box_card:nth-child(3):after {
    content: "handshake";
}

.lined_box_card strong {
    display: block;
    margin-bottom: 10px;
    color: var(--col02);
    font-size: 1.375rem;
    font-weight: 600;
    text-align: left;
}

.lined_box_card p {
    margin: 0;
    text-align: left;
}

.support_card_grid {
    display: grid;
    gap: 14px;
}

.support_card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 250px;
    padding: 30px;
    border: 1px solid #d2d6df;
    border-radius: 16px;
    background: #fff;
    color: #333;
    box-sizing: border-box;
}

.support_card > strong {
    display: block;
    margin: 0 0 10px;
    color: var(--col02);
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.35;
}

.support_card > p {
    margin: 0 0 22px;
    color: #555;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.65;
    word-break: keep-all;
}

.support_account {
    margin: 0;
    padding: 0;
}

.support_account dt {
    display: block;
    margin: 0 0 10px;
    color: var(--col02);
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.35;
}

.support_account dd {
    margin: 0;
    color: #555;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.65;
}

.txt_highlight {
    display: inline;
    padding: 0.08em 0.18em 0.12em;
    background: linear-gradient(transparent 36%, #d9efff 36%);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.support_btn {
    width: 100%;
    margin-top: auto;
}

.finance_report {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* margin-top: 10px; */
}

.finance_tbl {
    width: 100%;
    text-align: center;
}

.finance_tbl + .finance_tbl {
    margin-top: 42px;
}

.section_card_tit, .finance_tbl h4 {
    position: relative;
    margin: 0 0 1rem;
    /* padding-left: 1.05rem; */
    color: var(--col02);
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
}

.data_tbl {
    width: 100%;
    border-top: 2px solid var(--col02);
    border-collapse: collapse;
    background: #f4f4f4;
    table-layout: fixed;
}

.data_tbl caption {
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0, 0, 0, 0);
}

.data_tbl th, .data_tbl td {
    text-align: center;
    padding: 8px;
    border-right: 1px solid #e7e7e7;
    border-bottom: 1px solid #e7e7e7;
    color: #555;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
}

.data_tbl tr > :last-child {
    border-right: 0;
}

.data_tbl th {
    background: #f4f4f4;
    /* font-weight: 600; */
}

.data_tbl td {
    background: #ffffff;
}

.finance_tbl td {
    text-align: right;
}

.finance_tbl .carry_tbl {
    margin-top: 42px;
}

/*common_step_diagram*/
.step_diagram_wrap {
    width: 100%;
}

.step_diagram {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.25rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: step-diagram;
}

.step_diagram li {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 0.35rem;
    min-width: 0;
    color: #111;
    text-align: center;
    counter-increment: step-diagram;
}

.step_diagram_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(5.25rem, 18vw, 6.75rem);
    aspect-ratio: 1 / 1;
    margin-bottom: 0.9rem;
    border-radius: 50%;
    border: 1px solid rgba(87,137,179,0.16);
    background: rgba(255,255,255,0.78);
    color: var(--col02);
    box-shadow: 0 12px 26px rgba(69,108,146,0.08);
}

.step_diagram_icon .material-symbols-outlined {
    color: inherit;
    font-size: clamp(2rem, 6vw, 2.75rem);
    font-weight: 300;
}

.step_diagram strong {
    color: #111;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
}

.step_diagram small {
    color: #666;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.45;
}

#sub .history {
    color: #222;
}

#sub .history .tab {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding: 0 0 0.75rem;
    margin: 0 0 2rem;
    border-bottom: 1px solid var(--border);
    -webkit-overflow-scrolling: touch;
}

#sub .history .tab::-webkit-scrollbar {
    height: 0.25rem;
}

#sub .history .tab::-webkit-scrollbar-thumb {
    background: #c9d3df;
    border-radius: 100px;
}

#sub .history .tab .tablinks {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 5.5rem;
    min-height: 2.75rem;
    padding: 0 1.2rem;
    border: 1px solid var(--border);
    border-radius: 100px;
    background: #fff;
    color: #667085;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: 0.2s;
}

#sub .history .tab .tablinks.on, #sub .history .tab .tablinks:hover {
    border-color: var(--col01);
    background: var(--col01);
    color: #fff;
}

#sub .history .tabcontent {
    position: relative;
}

#sub .history .tabcontent:not(:last-child) {
    margin-bottom: 2.5rem;
}

#sub .history .tabcontent.is-visible:not(.is-last-visible) {
    margin-bottom: 20px;
}

#sub .history .history_filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 2.2rem;
    padding: 20px;
    border: 1px solid #f0f0f0;
    background: #fafafa;
}

#sub .history .history_filter label {
    position: relative;
    display: block;
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
}

#sub .history .history_filter label:after {
    content: "";
    display: none;
}

#sub .history .history_filter label.has_custom_select:after {
    content: "expand_more";
    display: block;
    position: absolute;
    right: 0.85rem;
    top: 50%;
    z-index: 4;
    color: var(--col02);
    font-family: var(--ic);
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-50%);
    pointer-events: none;
    transition: transform .2s;
}

#sub .history .history_filter label.has_custom_select:has(.custom_select.is-open):after {
    transform: translateY(-50%) rotate(180deg);
}

#sub .history .history_filter select {
    width: 100%;
    height: 45px;
    padding: 0 2.5rem 0 1rem;
    border: 1px solid #dfe3e9;
    border-radius: 0;
    outline: 0;
    appearance: none;
    background: #fff;
    color: #555;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 45px;
    box-sizing: border-box;
    cursor: pointer;
}

#sub .history .history_filter .has_custom_select select {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0;
    pointer-events: none;
}

#sub .history .history_filter .custom_select {
    position: relative;
    z-index: 3;
    width: 100%;
}

#sub .history .history_filter .custom_select_btn {
    display: block;
    width: 100%;
    height: 45px;
    padding: 0 2.5rem 0 1rem;
    border: 1px solid #dfe3e9;
    border-radius: 0;
    background: #fff;
    color: #555;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 45px;
    text-align: left;
    box-sizing: border-box;
    box-shadow: none;
    transition: border-color .2s;
}

#sub .history .history_filter .custom_select.is-open {
    z-index: 8;
}

#sub .history .history_filter .custom_select.is-open .custom_select_btn, #sub .history .history_filter .custom_select_btn:hover {
    border-color: #dfe3e9;
    box-shadow: none;
}

#sub .history .history_filter .custom_select_list {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 7;
    display: none;
    max-height: 60vh;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    border: 1px solid #e5e5e5;
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: #fff;
    box-shadow: 0 15px 35px rgb(0 0 0 / 10%);
    list-style: none;
}

#sub .history .history_filter .custom_select.is-open .custom_select_list {
    display: block;
}

#sub .history .history_filter .custom_select_list button {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 13px 20px;
    border: 0;
    border-radius: 0;
    border-top: 1px solid #f0f0f0;
    background: transparent;
    color: #222;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .18s;
}

#sub .history .history_filter .custom_select_list button:hover, #sub .history .history_filter .custom_select_list button[aria-selected="true"] {
    color: var(--col01);
}

#sub .history .history_filter select:hover, #sub .history .history_filter select:focus, #sub .history .history_filter select:active {
    border-color: #dfe3e9;
    outline: 0;
    box-shadow: none;
}

#sub .history .history_filter select option {
    background: #fff;
    color: #333;
    font-size: 1rem;
    font-weight: 500;
}

#sub .history .history_filter > button {
    flex: 0 0 100%;
    height: 45px;
    padding: 0 1.5rem;
    border: 0;
    border-radius: 0;
    background: var(--col02);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
}

#sub .history .history_filter > button:hover {
    background: #303f91;
}

#sub .history .clearfix {
    position: relative;
    /* padding-left: 1.7rem; */
    margin-bottom: 30px;
}

#sub .history .clearfix:before {
    content: "";
    position: absolute;
    left: 0.45rem;
    top: 0.65rem;
    bottom: -2.5rem;
    width: 2px;
    background: #9bb5dc;
}

#sub .history .tabcontent.is-last-visible .clearfix:before {
    bottom: 0.65rem;
}

#sub .history .tabcontent.is-last-visible .clearfix:after {
    content: "";
    position: absolute;
    left: 0.45rem;
    bottom: -0.15rem;
    z-index: 3;
    width: 1rem;
    height: 1rem;
    border: 0.3rem solid #d2e3ff;
    border-radius: 50%;
    background: #315da8;
    box-sizing: border-box;
    transform: translate(-50%, 50%);
    display:none;
}

#sub .history .w20, #sub .history .w80 {
    float: none;
    width: 100%;
}

#sub .history h3 {
    position: relative;
    margin: 0 0 1.5rem;
    color: #163f91;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.03em;
}

#sub .history h3:before {
    content: none;
    position: absolute;
    left: -1.7rem;
    top: 0.18rem;
    z-index: 2;
    display: none;
    width: 0.85rem;
    height: 0.85rem;
    border: 0.25rem solid #eaf0fa;
    border-radius: 50%;
    background: #315da8;
    box-sizing: border-box;
}

#sub .history .month {
    position: relative;
    padding: 1.1rem 0;
    border-top: 0;
}

#sub .history .month:not(:last-child) {
    border-bottom: 1px solid #e7e7e7;
}

#sub .history .month:first-child,
#sub .history .month.is-first-visible-month {
    border-top: 0;
    padding-top: 0;
}

#sub .history .month h5 {
    margin: 0 0 0.65rem;
    color: #111;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.2;
}

#sub .history .month ul {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

#sub .history .month li {
    position: relative;
    padding-left: 0.9rem;
    color: #666;
    /* font-size: 0.95rem; */
    font-weight:500;
    line-height: 1.7;
    word-break: keep-all;
}

#sub .history .month li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72rem;
    width: 0.24rem;
    height: 0.24rem;
    border-radius: 50%;
    background: #d8dee8;
}

#sub .history .month li .cate {
    display: inline;
    margin-right: 0.55rem;
    padding: 0;
    background: none;
    color: #315dc4;
    font-size: inherit;
    font-weight: 600;
    line-height: inherit;
    vertical-align: baseline;
}

#sub .history .month li .cate.cate-2 {
    color: #00a98f;
}

#sub .history .month li .cate.cate-3 {
    color: #087fbe;
}

#sub .history .month li .cate.cate-4 {
    color: #7257bd;
}

#sub .history .month li .cate.cate-5 {
    color: #168b73;
}

#sub .history .month li .cate.cate-6 {
    color: #3e6e9e;
}

#sub .history .history_link {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 0.35rem;
    color: inherit;
    text-decoration: none;
}

#sub .history .history_link:hover {
    color: var(--col01);
}

#sub .history .history_link .arrow-icon {
    display: none;
}

#sub .history .history_link .arrow-icon:before {
    content: "keyboard_arrow_right";
    font-family: var(--ic);
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1;
}

#sub .history .history_empty {
    display: none;
    margin: 2rem 0;
    color: #667085;
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
}

@media all and (min-width: 768px) {
    .step_diagram {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 2rem 1.5rem;
    }
}

@media all and (min-width: 1200px) {
    .step_diagram_icon {
        width: 7.25rem;
    }

    .step_diagram_icon .material-symbols-outlined {
        font-size: 3rem;
    }

    .step_diagram strong, .step_diagram small {
        font-size: 1.125rem;
    }
}

@media all and (min-width: 1600px) {
    .step_diagram_icon {
        width: 7.75rem;
    }
}

@media all and (min-width: 768px) {
    .split_sec {
        display: flex;
        justify-content: space-between;
        align-items: start;
    }

    .split_sec .left {
        width: 20%;
    }

    .split_sec .right {
        width: 75%;
    }

    .split_sec.half {
        column-gap: 42px;
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .split_sec.half > .sec_tit {
        width: 100%;
    }

    .split_sec.half .left, .split_sec.half .right {
        width: calc((100% - 42px) / 3);
    }

    .split_sec.half .left {
        width: calc(((100% - 42px) / 3) * 2);
    }

    .split_block + .split_block {
        margin-top: 52px;
        padding-top: 52px;
    }

    .split_block:not(:has(.split_sec.half)) {
        display: flex;
        justify-content: space-between;
        align-items: start;
    }

    .split_block:not(:has(.split_sec.half)) > .left {
        width: 20%;
    }

    .split_block:not(:has(.split_sec.half)) > .right {
        width: 75%;
    }

    .split_block:not(:has(.split_sec.half)) > .left .sec_tit {
        margin-bottom: 0;
    }

    .split_block .sec_tit {
        font-size: 1.625rem;
    }

    .info_row, .lined_box_item {
        grid-template-columns: 24% 1fr;
        align-items: center;
        padding: 32px 38px;
    }

    .ci_area {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ci_logo + .ci_logo {
        margin-top: 0;
    }

    .lined_box .lined_box_item + .lined_box_item:before {
        left: 38px;
        right: 38px;
    }

    .lined_box_cols {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lined_box_cols .lined_box_item {
        grid-template-columns: 1fr;
        align-items: start;
        padding: 30px;
    }

    .lined_box_cols .lined_box_item + .lined_box_item:before {
        left: 0;
        right: auto;
        top: 30px;
        bottom: 30px;
        width: 1px;
        height: auto;
    }

    .support_card_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .mission_rows {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
        /* margin-bottom: 42px; */
    }

    .mission_rows .info_row {
        grid-template-columns: 1fr;
        align-items: start;
        padding: 38px 34px;
    }

    .mission_rows .info_row dt {
        grid-template-columns: minmax(0, 1fr) 56px;
    }

    .mission_rows .info_row dt .material-symbols-outlined {
        width: 56px;
        height: 56px;
        font-size: 2rem;
    }

    .mission_rows .info_row dt strong {
        font-size: 1.375rem;
    }

    .mission_rows .info_row dt small {
        font-size: 1rem;
    }

    .meaning_box {
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        padding: 34px 48px;
    }

    .meaning_item:first-child {
        padding-right: 18px;
    }

    .meaning_item:last-child {
        padding-left: 18px;
    }

    .meaning_plus {
        margin: 0;
    }

    .org_node {
        width: 180px;
    }

    .org_depart {
        grid-template-columns: repeat(2, 1fr);
    }

    .org_chart {
        padding: 30px;
    }

    .org_top {
        padding-bottom: 58px;
    }

    .org_top:before {
        top: 23px;
        bottom: -30px;
        height: 85%;
        width: 1px;
    }

    .org_side:before {
        width: 80px;
    }

    .org_side {
        left: calc((100% - 180px) / 2);
    }

    .org_depart:before {
        display: block;
        left: 24.4%;
        right: 24.4%;
        top: -30px;
    }

    .org_depart > li:nth-child(1):before, .org_depart > li:nth-child(2):before {
        height: 31px;
    }

    .org_depart > li:before {
        height: 16px;
    }

    .org_depart:after {
        top: -30px;
    }

    .finance_tbl {
        width: 44%;
    }

    .finance_tbl + .finance_tbl {
        margin-top: 0;
    }

    .section_card_tit, .finance_tbl h4 {
        /* margin-bottom: 2rem; */
        font-size: 1.375rem;
    }

    .data_tbl th, .data_tbl td {
        font-size: 1.125rem;
    }

    #sub .history .tab {
        flex-wrap: wrap;
        overflow: visible;
        justify-content: center;
        gap: 0.6rem;
        padding: 0;
        border-bottom: 0;
    }

    #sub .history .tab .tablinks {
        min-width: 6rem;
        min-height: 3rem;
        font-size: 1rem;
    }

    #sub .history .history_filter {
        flex-wrap: nowrap;
        justify-content: flex-end;
        gap: 0;
        margin-bottom: 2.8rem;
        padding: 30px;
    }

    #sub .history .history_filter label {
        flex: 0 1 210px;
    }

    #sub .history .history_filter label + label .custom_select_btn {
        border-left: 0;
    }

    #sub .history .history_filter > button {
        flex: 0 0 90px;
    }

    #sub .history .clearfix {
        padding-left: 2rem;
    }

    #sub .history .clearfix:before {
        left: 0.55rem;
    }

    #sub .history h3 {
        font-size: 2.25rem;
    }

    #sub .history h3:before {
        display: none;
        left: -1.68rem;
    }

    #sub .history .month {
        display: flex;
        gap: 1rem;
        padding: 1.4rem 0 1.4rem 1.3rem;
    }

    #sub .history .month:not(:last-child) {
        border-bottom: 0;
    }

    #sub .history .month h5 {
        flex: 0 0 4rem;
        margin: 0;
        font-size: 1.25rem;
    }

    #sub .history .month ul {
        flex: 1;
    }

    #sub .history .month li {
        font-size: 1.125rem;
    }

    #sub .history .tab {
        justify-content: flex-start;
        margin-bottom: 3.5rem;
    }

    #sub .history .tab .tablinks {
        min-width: 6.8rem;
    }

    #sub .history .tabcontent:not(:last-child) {
        margin-bottom: 0;
    }

    #sub .history .history_filter {
        margin-bottom: 3.5rem;
    }

    #sub .history .clearfix {
        display: flex;
        align-items: flex-start;
        gap: 0;
        padding-left: 0;
        margin-bottom: 0;
    }

    #sub .history .clearfix:before {
        display: none;
    }

    #sub .history .tabcontent.is-last-visible .clearfix:after {
        display: none;
    }

    #sub .history .w20 {
        width: 20%;
        padding-right: 3.3rem;
        text-align: right;
    }

    #sub .history .w80 {
        position: relative;
        width: 80%;
    }

    #sub .history .w80:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.55rem;
        bottom: 0;
        z-index: 0;
        display: block;
        width: 1px;
        border-left: 1px solid #E7E7E7;
        box-sizing: border-box;
    }

    #sub .history .tabcontent.is-visible:not(.is-last-visible) .w80:before {
        bottom: -20px;
    }

    #sub .history.is-category-only .tabcontent.is-visible:not(.is-first-visible) .w80:before {
        top: 0;
    }

    #sub .history .tabcontent.is-last-visible .w80:before {
        bottom: 0.55rem;
    }

    #sub .history .tabcontent.has-single-visible-month .w80:before {
        display: none;
    }

    #sub .history .tabcontent.is-last-visible .w80:after {
        content: none;
        position: absolute;
        display: none;
        left: 0;
        bottom: 0;
        z-index: 3;
        width: 1rem;
        height: 1rem;
        border: 0.3rem solid #d2e3ff;
        border-radius: 50%;
        background: #315da8;
        box-sizing: border-box;
        transform: translate(-50%, 50%);
    }

    #sub .history h3 {
        position: sticky;
        top: 7rem;
        margin: 0;
        /* font-size: 3.1rem; */
    }

    #sub .history h3:before {
        left: auto;
        right: -3.83rem;
        top: 0.12rem;
    }

    #sub .history .month {
        padding: 1.2rem 0 1.5rem 3rem;
    }

    #sub .history .month:before {
        content: "";
        position: absolute;
        left: 0;
        top: 2.05rem;
        width: 2.7rem;
        border-top: 2px dotted #d6deea;
        display: none;
    }

    #sub .history .month:after {
        content: "";
        position: absolute;
        left: 0;
        top: 2.05rem;
        z-index: 2;
        width: 1rem;
        height: 1rem;
        border: 0.3rem solid #d2e3ff;
        border-radius: 50%;
        background: #315da8;
        box-sizing: border-box;
        transform: translate(-50%, -50%);
    }

    #sub .history .month:first-child,
    #sub .history .month.is-first-visible-month {
        padding-top: 0;
    }

    #sub .history .month:first-child:before,
    #sub .history .month.is-first-visible-month:before {
        top: 0.55rem;
    }

    #sub .history .tabcontent.is-last-visible .month.is-last-visible-month:before {
        content: "";
        position: absolute;
        left: 0;
        top: 2.05rem;
        bottom: 0;
        z-index: 1;
        display: block;
        width: 3px;
        border: 0;
        background: #fff;
        transform: translateX(-50%);
    }

    #sub .history .tabcontent.is-last-visible .month.is-first-visible-month.is-last-visible-month:before {
        top: 0.55rem;
    }

    #sub .history .month:first-child:after,
    #sub .history .month.is-first-visible-month:after {
        top: 0.55rem;
    }

    #sub .history .month h5 {
        font-size: 1.4rem;
    }
}

@media all and (min-width: 1200px) {
    .split_sec.half {
        column-gap:58px;
    }

    .split_sec.half .left, .split_sec.half .right {
        width: calc((100% - 58px) / 4);
    }

    .split_sec.half .left {
        width: calc(((100% - 58px) / 4) * 3);
    }

    .split_block + .split_block {
        margin-top: 66px;
        padding-top: 66px;
    }

    .split_page .txt, .split_block > .right {
        font-size: 1.125rem;
        color: #333;
    }

    .section_card_desc {
        font-size: 1.25rem;
    }

    .mission_rows .info_row dd {
        font-size: 1.125rem;
    }

    .org_depart {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }

    .org_node {
        width: 200px;
    }

    .org_chart {
        padding: 42px 30px 34px;
    }

    .org_side {
        left: auto;
        transform: translateX(clamp(210px, 22vw, 350px));
    }

    .org_top {
        padding-bottom: 66px;
    }

    .org_top:before {
        top: 23px;
        bottom: -32px;
        height: 85.5%;
    }

    .org_side:before {
        width: calc(clamp(210px, 22vw, 350px) - 100px);
    }

    .org_depart:before {
        display: block;
        left: 12%;
        width: 76.1%;
        top: -32px;
    }

    .org_depart > li:before {
        height: 32px;
    }

    .org_depart:after {
        top: -32px;
        display: none;
    }
}

@media all and (min-width: 1600px) {
    #sub .history .tab .tablinks {
        font-size:1.05rem;
    }

    #sub .history h3 {
        /* font-size:3.5rem; */
    }

    #sub .history .month h5 {
        font-size: 1.5rem;
    }

    #sub .history .month li {
        /* font-size: 1.125rem; */
    }
}

.sub_intro {
    max-width: 640px;
    margin: 0 auto;
    text-align: left;
    word-break: keep-all;
}

.subwrap:has(.sub_feature_list) {
    position: relative;
    z-index: 0;
}

.subwrap:has(.sub_feature_list)::before {
    content: "";
    position: sticky;
    z-index: -1;
    display: none;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    background-image: url("../img/bg_line03.svg");
    background-repeat: no-repeat;
    opacity: 0.16;
}

.subwrap:has(.sub_feature_list)::before {
    top: 0;
    margin: -28px 0 calc(-100vh + 28px);
    background-position: center 80px;
    background-size: 125vw auto;
}

#footer {
    position: relative;
    z-index: 2;
    background: #3a3a3a;
}

.sub_intro_label {
    margin-bottom: 10px;
    color: var(--col02);
    font-size: 0.9375rem;
}

.sub_intro_title {
    margin: 0;
    font-size: 1.625rem;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 30px;
}

.sub_intro_text {
    margin-bottom: 30px;
    color: #666;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.6;
}

.sub_divider {
    width: 46px;
    height: 2px;
    margin: 42px auto;
    background: #dbe5fb;
}

.sub_feature_list {
    position: relative;
    display: grid;
    gap: 30px;
    max-width: 720px;
    margin: 0 auto;
    isolation: isolate;
}

.sub_feature_item, .program_intro {
    position: relative;
    z-index: 1;
    display: grid;
    overflow: visible;
    border: 1px solid #e8eefb;
    border-radius: 20px;
    background: rgba(255,255,255,0.94);
    box-shadow: 0 12px 30px rgba(31, 64, 124, 0.1);
}

.sub_feature_item::after {
    content: "01";
    position: absolute;
    right: 18px;
    top: 18px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: var(--col03);
    box-shadow: 0 14px 26px rgb(66 104 212 / 10%);
    color: #ffffff;
    font-size: 1.05rem;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1;
    pointer-events: none;
}

.sub_feature_item:nth-child(2)::after {
    content: "02";
}

.sub_feature_item:nth-child(3)::after {
    content: "03";
}

.sub_feature_item:nth-child(4)::after {
    content: "04";
}

.sub_feature_item:nth-child(5)::after {
    content: "05";
}

html.sub-feature-reveal .sub_intro, html.sub-feature-reveal .sub_feature_list .sub_feature_item {
    opacity: 0;
    will-change: opacity;
}

html.sub-feature-reveal .sub_feature_list .sub_feature_item {
    transform: translate3d(0, 34px, 0);
    will-change: opacity, transform;
}

html.sub-feature-reveal .sub_intro.is-visible {
    animation: mainRevealFade 1500ms cubic-bezier(0.19, 1, 0.22, 1) both;
}

html.sub-feature-reveal .sub_feature_list .sub_feature_item.is-visible {
    animation: mainRevealFloat 1500ms cubic-bezier(0.19, 1, 0.22, 1) both;
}

html.sub01-content-reveal #sub.sub_con > div:not(.depth3_tab) .pdinner, html.sub01-content-reveal #sub.sub_con > .pdinner {
    opacity: 0;
    will-change: opacity;
}

html.sub01-content-reveal.sub01-content-visible #sub.sub_con > div:not(.depth3_tab) .pdinner, html.sub01-content-reveal.sub01-content-visible #sub.sub_con > .pdinner {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    html.sub-feature-reveal .sub_intro, html.sub-feature-reveal .sub_feature_list .sub_feature_item, html.sub01-content-reveal #sub.sub_con > div:not(.depth3_tab) .pdinner, html.sub01-content-reveal #sub.sub_con > .pdinner {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

.sub_feature_img {
    overflow: hidden;
    height: clamp(190px, 56vw, 280px);
    border-radius: 20px 20px 0 0;
    background: #eef3fb;
}

.sub_feature_img img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
}

.sub_feature_body {
    position: relative;
    overflow: hidden;
    padding: 25px;
    word-break: keep-all;
}

.sub_feature_body::after {
    content: "\e902";
    position: absolute;
    right: 20px;
    bottom: 14px;
    z-index: 0;
    color: rgb(66 104 212 / 5%);
    font-family: xeicon;
    font-size: 6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    pointer-events: none;
}

.sub_feature_item:nth-child(2) .sub_feature_body::after {
    content: "\ea11";
}

.sub_feature_item:nth-child(3) .sub_feature_body::after {
    content: "\ea2e";
}

.sub_feature_item:nth-child(4) .sub_feature_body::after {
    content: "\eb55";
}

.transition_home_feature_list .sub_feature_body::after {
    content: "\eb6d";
}

.transition_home_feature_list .sub_feature_item:nth-child(2) .sub_feature_body::after {
    content: "\ea13";
}

.transition_home_feature_list .sub_feature_item:nth-child(3) .sub_feature_body::after {
    content: "\eb23";
}

.transition_home_feature_list .sub_feature_item:nth-child(4) .sub_feature_body::after {
    content: "\eb2d";
}

.sub_feature_body > * {
    position: relative;
    z-index: 1;
}

.sub_feature_no {
    display: none;
}

.sub_feature_title, .program_intro_title {
    margin-bottom: 10px;
    color: #333;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.32;
}

.sub_feature_text, .program_intro_text {
    margin: 0;
    color: #666;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.75;
}

.sub_feature_text.dot_li {
    list-style: none;
    padding: 0;
}

.sub_feature_text.dot_li li {
    position: relative;
    padding-left: 10px;
    color: #666;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 5px;
}

.sub_feature_text.dot_li li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #888;
}

.sub_closing {
    margin-top: 30px;
    color: #2b3448;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.85;
    text-align: center;
    word-break: keep-all;
}

@media all and (min-width: 768px) {
    .sub_intro {
        text-align: center;
    }

    .depth3_tab {
        gap: 20px 40px;
        margin-bottom: 60px;
        justify-content: center;
    }

    .depth3_tab a {
        flex: 0 0 auto;
        min-width: 0;
        min-height: 58px;
        padding: 0;
        font-size: 1.25rem;
    }

    .sub_intro_title {
        font-size: 2.25rem;
    }

    .sub_intro_text {
        margin-bottom: 40px;
    }

    .sub_divider {
        margin: 58px auto;
    }

    .sub_feature_list {
        max-width: 720px;
        gap: 40px;
    }

    .subwrap:has(.sub_feature_list)::before {
        display: block;
        top: 0;
        margin-top: -42px;
        margin-bottom: calc(-100vh + 42px);
        background-position: center 76px;
        background-size: 125vw auto;
        opacity: 0.18;
    }

    .sub_feature_item {
        grid-template-columns: minmax(0, 1.28fr) minmax(250px, 0.82fr);
        align-items: stretch;
    }

    .sub_feature_item::after {
        top: 50%;
        right: -32px;
        width: 64px;
        height: 64px;
        font-size: 1.75rem;
        transform: translateY(-50%);
    }

    .sub_feature_item_reverse {
        grid-template-columns: minmax(250px, 0.82fr) minmax(0, 1.28fr);
    }

    .sub_feature_item_reverse::after {
        right: auto;
        left: -32px;
    }

    .sub_feature_item_reverse .sub_feature_img {
        order: 2;
    }

    .sub_feature_item_reverse .sub_feature_body {
        order: 1;
    }

    .sub_feature_item_reverse:nth-child(3) {
        grid-template-columns: minmax(0, 1.28fr) minmax(250px, 0.82fr);
    }

    .sub_feature_item_reverse:nth-child(3)::after {
        left: auto;
        right: -28px;
    }

    .sub_feature_item_reverse:nth-child(3) .sub_feature_img {
        order: 1;
    }

    .sub_feature_item_reverse:nth-child(3) .sub_feature_body {
        order: 2;
    }

    .sub_feature_list.card_t2 .sub_feature_item, .sub_feature_list.card_t2 .sub_feature_item_reverse, .sub_feature_list.card_t2 .sub_feature_item_reverse:nth-child(3) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .sub_feature_img img {
        height: 100%;
        aspect-ratio: auto;
    }

    .sub_feature_img {
        height: 260px;
        border-radius: 20px 0 0 20px;
    }

    .sub_feature_item_reverse .sub_feature_img {
        border-radius: 0 20px 20px 0;
    }

    .sub_feature_item_reverse:nth-child(3) .sub_feature_img {
        border-radius: 20px 0 0 20px;
    }

    .sub_feature_body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 214px;
        padding: 34px 38px;
    }

    .sub_feature_title, .program_intro_title {
        font-size: 1.75rem;
    }

    .sub_feature_text.dot_li li, .program_intro_text {
        font-size: 1.125rem;
    }
}

@media all and (min-width: 1200px) {
    .depth3_tab {
        flex-wrap:nowrap;
        margin-bottom: 80px;
    }

    .depth3_tab a {
        flex: 0 0 auto;
        min-width: 0;
        white-space: nowrap;
    }

    .waitbox {
        padding: 60px;
    }

    .waitbox_logo {
        width: 220px;
    }

    .waitbox .t01 {
        font-size: 1.875rem;
    }

    .sub_intro_title {
        font-size: 3.125rem;
    }

    .sub_feature_list {
        max-width: 920px;
        gap: 42px;
    }

    .subwrap:has(.sub_feature_list)::before {
        top: 0;
        margin-top: -58px;
        margin-bottom: calc(-100vh + 58px);
        background-position: center 92px;
        background-size: 124vw auto;
    }

    .sub_feature_img {
        height: 300px;
    }

    .sub_feature_body {
        min-height: 238px;
        padding: 42px 50px;
    }

    .sub_intro_text {
        margin-bottom: 60px;
    }

    .sub_intro_label, .sub_intro_text, .sub_feature_no, .sub_feature_text, .sub_closing {
        font-size: 1.125rem;
    }

    .sub_feature_title {
        font-size: 1.75rem;
    }

    .sub_closing {
        margin-top: 60px;
    }
}

@media all and (min-width: 1600px) {
    .sub_intro {
        max-width: 720px;
    }

    .sub_feature_list {
        max-width: 980px;
        gap: 60px;
    }

    .subwrap:has(.sub_feature_list)::before {
        top: 0;
        margin-top: -70px;
        margin-bottom: calc(-100vh + 70px);
        background-position: center 104px;
        background-size: 122vw auto;
        opacity: 0.2;
    }

    .sub_feature_img {
        height: 320px;
    }

    .sub_feature_body {
        min-height: 258px;
    }
}

.housing_feature_list .sub_compare_img {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    height: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.housing_feature_list .sub_feature_item::after {
    display: flex;
}

.housing_feature_list .sub_feature_body {
    order: 2;
}

.housing_feature_list .sub_feature_body::after {
    display: none;
}

.housing_feature_list .sub_compare_img {
    order: 1;
}

.housing_feature_list .sub_compare_photo {
    position: relative;
    overflow: hidden;
    min-height: 0;
    margin: 0;
    border-radius: 14px;
    background: #e8eef7;
    aspect-ratio: 1 / 1.3;
}

.housing_feature_list .sub_compare_photo span {
    position: absolute;
    left: 15px;
    top: 15px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 11px;
    border-radius: 999px;
    background: rgba(17, 26, 52, 0.72);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.housing_feature_list .sub_compare_photo + .sub_compare_photo span {
    background: var(--col02)
}

.housing_feature_list .sub_compare_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.housing_feature_list .sub_compare_photo.is_empty {
    background: transparent;
}

.housing_feature_list .sub_compare_photo.is_empty img {
    object-fit: cover;
    padding: 0;
    background: transparent;
    box-sizing: border-box;
}

@media all and (min-width: 768px) {
    .housing_feature_list {
        max-width: 1080px;
    }

    .housing_feature_list .sub_compare_img {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .housing_feature_list .sub_compare_photo {
        min-height: 0;
    }

    .housing_feature_list .sub_feature_item {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
        gap: 22px;
        align-items: center;
        padding: 18px;
    }

    .housing_feature_list .sub_feature_item_reverse {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
    }

    .housing_feature_list .sub_feature_body {
        order: 2;
        min-height: 0;
        padding: 12px 28px;
    }

    .housing_feature_list .sub_compare_img {
        order: 1;
        height: auto;
    }

    .housing_feature_list .sub_feature_item_reverse .sub_feature_body, .housing_feature_list .sub_feature_item_reverse:nth-child(3) .sub_feature_body {
        order: 2;
    }

    .housing_feature_list .sub_feature_item_reverse .sub_feature_img, .housing_feature_list .sub_feature_item_reverse:nth-child(3) .sub_feature_img {
        order: 1;
    }

    .housing_feature_list .sub_feature_img, .housing_feature_list .sub_feature_item_reverse .sub_feature_img, .housing_feature_list .sub_feature_item_reverse:nth-child(3) .sub_feature_img {
        border-radius: 14px;
    }
}

@media all and (min-width: 1200px) {
    .housing_feature_list {
        max-width: 1180px;
    }

    .housing_feature_list .sub_compare_img {
        gap: 14px;
    }

    .housing_feature_list .sub_feature_item {
        grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr);
        gap: 26px;
        padding: 20px;
    }

    .housing_feature_list .sub_feature_body {
        padding-left: 38px;
    }
}

.sub02_feature_list .sub_feature_body {
    padding-top: 30px;
    padding-bottom: 32px;
}

.program_intro {
    max-width: 720px;
    margin: 0 auto 60px;
}

.program_intro .lined_box_item {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 30px;
    padding: 34px 38px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.program_intro_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.program_intro_icon_img {
    display: block;
    width: 64px;
}

.program_intro_title {
    margin: 0;
    color: var(--col02);
    text-align: center;
}

@media all and (min-width: 768px) {
    .program_intro {
        margin-bottom: 24px;
    }

    .program_intro .lined_box_item {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 24px 20px;
    }

    .program_intro_head {
        gap: 8px;
    }

    .program_intro_icon_img {
        width: 52px;
    }

}

@media all and (min-width: 1024px) {
    .program_intro {
        max-width: 980px;
    }

    .sub02_feature_list {
        max-width: 980px;
    }

    .sub02_feature_list .sub_feature_item {
        grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.22fr);
    }

    .sub02_feature_list .sub_feature_item_reverse {
        grid-template-columns: minmax(0, 1.22fr) minmax(220px, 0.78fr);
    }

    .sub02_feature_list .sub_feature_body {
        padding-right: 46px;
        padding-left: 46px;
    }
}

@media all and (min-width: 1200px) {
    .program_intro {
        max-width: 1060px;
    }

    .program_intro .lined_box_item {
        grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
        gap: 44px;
        padding: 40px 54px;
    }

    .sub02_feature_list {
        max-width: 1060px;
    }

    .sub02_feature_list .sub_feature_img {
        height: 280px;
    }

    .sub02_feature_list .sub_feature_body {
        min-height: 250px;
        padding-right: 54px;
        padding-left: 54px;
    }
}

@media all and (min-width: 1600px) {
    .program_intro {
        max-width: 960px;
    }

    .sub02_feature_list {
        max-width: 1120px;
    }

    .sub02_feature_list .sub_feature_img {
        height: 300px;
    }
}

@media all and (min-width: 1200px) {
    /*   .sub_feature_list.card_t1 {
    max-width: 1100px;
  }
  .sub_feature_list.card_t2 {
    max-width: 920px;
  }
  .sub_feature_list.card_t3 {
    max-width: 1180px;
  } */.card_t1 .sub_feature_item {
        grid-template-columns:minmax(0, 2fr) minmax(260px, 1fr);
    }

    .card_t1 .sub_feature_item_reverse {
        grid-template-columns: minmax(260px, 1fr) minmax(0, 2fr);
    }

    .card_t1 .sub_feature_item_reverse:nth-child(3) {
        grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    }

    .card_t2 .sub_feature_item, .card_t2 .sub_feature_item_reverse, .card_t2 .sub_feature_item_reverse:nth-child(3) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .card_t3 .sub_feature_item {
        grid-template-columns: minmax(240px, 1fr) minmax(0, 2fr);
    }

    .card_t3 .sub_feature_item_reverse {
        grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
    }

    .card_t3 .sub_feature_item_reverse:nth-child(3) {
        grid-template-columns: minmax(240px, 1fr) minmax(0, 2fr);
    }
}

@media all and (min-width: 1600px) {
    .sub_feature_list.card_t1 {
        max-width: 960px;
    }

    .sub_feature_list.card_t2 {
        max-width: 960px;
    }

    .sub_feature_list.card_t3 {
        max-width: 960px;
    }
}

/*sub*/
#sub .tit01 {
    font-size: 1.25rem;
    font-weight: 600;
    position: relative;
    line-height: 1.4rem;
    padding-left: 0.6rem;
    word-break: break-all;
    margin-bottom: 20px;
}

#sub .tit01:before, #sub .tit01:after {
    content: '';
    display: inline-block;
    border-radius: 100px;
    background: #1758a7;
    position: absolute;
}

#sub .tit01:before {
    width: 0.4rem;
    height: 0.4rem;
    background: #1758a7;
    left: 0;
    top: 0.3rem;
}

#sub .tit01:after {
    width: 0.4rem;
    height: 0.4rem;
    background: var(--col03);
    left: 0;
    top: 0.7rem;
}

#sub .tbox .lcon {
    margin-bottom: 20px;
}

#sub .tbox .lcon h3 {
    font-size: 1.25rem;
    font-weight: 600;
    position: relative;
    line-height: 1.4rem;
    padding-left: 0.6rem;
    word-break: break-all;
}

#sub .tbox .lcon h3:before, #sub .tbox .lcon h3:after {
    content: '';
    display: inline-block;
    border-radius: 100px;
    background: #1758a7;
    position: absolute;
}

#sub .tbox .lcon h3:before {
    width: 0.4rem;
    height: 0.4rem;
    background: #1758a7;
    left: 0;
    top: 0.3rem;
}

#sub .tbox .lcon h3:after {
    width: 0.4rem;
    height: 0.4rem;
    background: var(--col03);
    left: 0;
    top: 0.7rem;
}

#sub .btns a {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: fit-content;
    max-width: 40%;
    background: var(--col01);
    color: #fff;
    padding: 0 1rem;
    height: 60px;
    border-radius: 5px;
    word-break: break-all;
}

@media all and (min-width: 768px) {
    #sub .tit01 {
        font-size:1.5rem;
    }

    #sub .tbox {
        display: flex;
        align-items: flex-start;
        gap: 0 5%;
    }

    #sub .tbox .lcon {
        margin: 0;
        width: 20%;
    }

    #sub .tbox .lcon h3 {
        font-size: 1.5rem;
    }

    #sub .tbox .rcon {
        width: 75%;
    }
}

#sub .intro .tit .t01 {
    font-size: 1.1rem;
}

#sub .intro .tit .t02 {
    font-size: 1.75rem;
    font-weight: 600;
}

#sub .intro .txt .img {
    margin: 0 0 30px;
}

#sub .intro .txt p {
    line-height: 1.8;
}

#sub .intro .txt b {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 10px;
    display: block;
}

@media all and (min-width: 768px) {
    #sub .intro .tit .t01 {
        font-size:1.25rem;
    }

    #sub .intro .tit .t02 {
        font-size: 2rem;
    }

    #sub .intro .txt {
        display: flex;
        gap: 0 5%;
    }

    #sub .intro .txt > * {
        flex: 1;
    }
}

@media all and (min-width: 1200px) {
    #sub .intro .tit .t01 {
        font-size:1.5rem;
    }

    #sub .intro .tit .t02 {
        font-size: 2.5rem;
    }

    #sub .intro .txt p b {
        font-size: 1.5rem;
    }
}

#sub .how .info01 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .how .info01 li {
    width: 100%;
    text-align: center;
    background: #F7F8FA;
    padding: 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

#sub .how .info01 li > * {
    width: 100%;
    margin: 0;
}

#sub .how .info01 li h4 {
    font-weight: 600;
    color: var(--col01);
}

#sub .how .info01 li h5 {
    font-weight: 600;
}

#sub .how .info02 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .how .info02 li {
    width: 49%;
    background: #fff;
    border-radius: 10px;
    -webkit-box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 10%);
    box-shadow: 0px 5px 30px 0px rgb(0 0 0 / 8%);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 10px;
    position: relative;
    line-height: 1.2;
}

#sub .how .info02 li:not(:last-child):after {
    content: 'chevron_right';
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 100%;
    background: var(--col01);
    color: #fff;
    font-family: var(--ic);
    position: absolute;
    right: -0.7rem;
    top: calc(50% - 0.7rem);
    z-index: 99;
}

#sub .how .info02 li p:before {
    font-family: var(--ic);
    width: 100%;
    display: block;
    font-size: 1.5rem;
    margin-bottom: 5px;
}

#sub .how .info02 li:nth-child(1) p:before {
    content: 'phone_in_talk';
}

#sub .how .info02 li:nth-child(2) p:before {
    content: 'event_available';
}

#sub .how .info02 li:nth-child(3) p:before {
    content: 'tooltip_2';
}

#sub .how .info02 li:nth-child(4) p:before {
    content: 'inventory';
}

#sub .how .info02 li:nth-child(5) p:before {
    content: 'diversity_3';
}

@media all and (min-width: 768px) {
    #sub .how .info01 li {
        width:49%;
    }

    #sub .how .info02 li {
        flex: 1;
        padding: 20px 10px;
    }
}

#sub .sys .wrap {
    position: relative;
}

#sub .sys .wrap:after {
    content: '';
    display: inline-block;
    width: 1px;
    height: 100%;
    background: var(--border);
    position: absolute;
    left: 50%;
    top: 0;
    z-index: -1;
}

#sub .sys ul {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

#sub .sys ul:not(:last-child) {
    margin-bottom: 30px;
}

#sub .sys ul.dep05 {
    border: 1px solid var(--border);
    padding: 10px;
    background: #fff;
}

#sub .sys ul li {
    flex: 1;
    text-align: center;
    max-width: 32.5%;
    position: relative;
}

#sub .sys ul li h3 {
    padding: 10px;
    color: #fff;
    font-weight: 600;
    border-radius: 10px;
}

#sub .sys ul.dep01 li h3 {
    background: #435060;
}

#sub .sys ul.dep02 li h3 {
    background: var(--col02);
}

#sub .sys ul.dep04 li h3 {
    background: var(--col01);
}

#sub .sys ul li h4 {
    padding: 10px;
    border: 1px solid var(--border);
    background: #fff;
    font-weight: 500;
    border-radius: 10px;
}

#sub .sys ul li h4 span {
    display: flex;
    font-size: 0.9rem;
    background: #b2bcc9;
    border-radius: 100px;
    color: #fff;
    width: fit-content;
    margin: 5px auto 0;
    padding: 0.2rem 0.5rem;
}

#sub .sys ul li h5 {
    border: 1px solid var(--border);
    background: #F7F8FA;
    font-weight: 500;
    padding: 10px;
    border-radius: 10px;
}

#sub .sys ul li dl {
    text-align: left;
    margin-top: 10px;
}

#sub .sys ul li dd {
    position: relative;
    padding-left: 0.4rem;
}

#sub .sys ul li dd:before {
    content: '';
    display: inline-block;
    width: 0.1rem;
    height: 0.1rem;
    background: #333;
    border-radius: 100px;
    position: absolute;
    left: 0;
    top: calc(50% - 0.05rem);
}

#sub .sys ul.dep03 {
    justify-content: space-between;
}

#sub .sys ul.dep03:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 1px;
    background: var(--border);
    position: absolute;
    left: 0;
    top: 50%;
    z-index: -1;
}

#sub .sys ul.item04 {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .sys ul.item04 li {
    flex: unset;
    width: 49%;
    max-width: unset;
}

@media all and (min-width: 768px) {
    #sub .sys ul.dep05 {
        padding:0;
        border: 0;
    }

    #sub .sys ul.dep05:after {
        content: '';
        display: inline-block;
        width: 76.5%;
        height: 1px;
        background: var(--border);
        position: absolute;
        left: 11.75%;
        top: 0;
    }

    #sub .sys ul.dep05 li {
        padding-top: 30px;
    }

    #sub .sys ul.dep05 li:after {
        content: '';
        display: inline-block;
        width: 1px;
        height: 30px;
        background: var(--border);
        position: absolute;
        left: 50%;
        top: 0;
    }

    #sub .sys ul.item04 li {
        flex: 1;
    }

    #sub .sys ul li h3 {
        padding: 15px;
    }
}

#sub .org01 .wrap {
    position: relative;
}

#sub .org01 .wrap:after {
    content: '';
    display: inline-block;
    width: 1px;
    height: 100%;
    background: var(--border);
    position: absolute;
    left: 50%;
    top: 0;
    z-index: -1;
}

#sub .org01 ul {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 0 10%;
}

#sub .org01 ul:not(:last-child) {
    margin-bottom: 30px;
}

#sub .org01 ul li {
    flex: 1;
    text-align: center;
    position: relative;
    max-width: 320px;
}

#sub .org01 ul li .txt {
    background: #fff;
    border: 1px solid var(--border);
    display: flex;
    justify-content: center;
    padding: 15px;
    flex-wrap: wrap;
    border-top: 0px;
}

#sub .org01 ul li .txt b {
    width: 6.5rem;
    font-size: 0.9375rem;
    text-align: left;
    border-right: 1px solid var(--border);
    margin-right: 1.5rem;
}

#sub .org01 ul li .txt b + p {
    width: calc(100% - 8rem);
}

#sub .org01 ul li .txt p {
    margin-top: 0px;
    font-size: 1rem;
    color: #777;
}

#sub .org01 ul li h3 {
    padding: 10px;
    color: #fff;
    font-weight: 600;
}

#sub .org01 ul li h4 {
    padding: 15px;
    border: 1px solid var(--border);
    background: #435060;
    font-weight: 500;
    color: #fff;
}

#sub .org01 ul li h4 span {
    display: flex;
    font-size: 0.9rem;
    background: #b2bcc9;
    border-radius: 100px;
    color: #fff;
    width: fit-content;
    margin: 5px auto 0;
    padding: 0.2rem 0.5rem;
}

#sub .org01 ul li h5 {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: #f7f8fa;
    font-weight: 600;
    padding: 10px;
}

#sub .org01 ul li p {
    margin-top: 5px;
}

#sub .org01 ul li .flex_box ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    align-items: flex-start;
}

#sub .org01 ul li .flex_box ul li {
    width: 49%;
}

#sub .org01 ul.dep00 li h3 {
    background: var(--col03);
}

#sub .org01 ul.dep01 li .txt {
    display: block;
}

#sub .org01 ul.dep01 li .txt p {
    width: 100%;
    text-align: center;
    color: #444;
}

#sub .org01 ul.dep01 li h3 {
    background: #435060;
}

#sub .org01 ul.dep02 {
    justify-content: flex-end;
}

#sub .org01 ul.dep02:before {
    content: '';
    display: inline-block;
    width: 50%;
    height: 1px;
    background: var(--border);
    position: absolute;
    left: 50%;
    top: 50%;
}

#sub .org01 ul.dep02 li h3 {
    background: var(--col02)
}

#sub .org01 ul.dep02 li {
    flex: unset;
    width: 45%;
}

#sub .org01 ul.dep03 li h3 {
    background: var(--col01);
}

#sub .org01 ul.dep04:before {
    content: '';
    display: inline-block;
    width: 50%;
    height: 1px;
    background: var(--border);
    position: absolute;
    left: 25%;
    top: 50%;
}

#sub .org01 ul.dep04 li h3 {
    background: #788aa1;
}

#sub .org01 ul.dep05 {
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0;
    border: 1px solid var(--border);
    border-top: 0;
}

#sub .org01 ul.dep05 li {
    flex: unset;
    width: 50%;
    max-width: 50%;
}

#sub .org01 ul.dep05 li dl {
    padding: 10px;
}

#sub .org01 ul.dep05 li dd {
    text-align: left;
    padding-left: 0.8rem;
    position: relative;
    word-break: break-all;
    font-size: 0.9rem;
    line-height: 1.8;
}

#sub .org01 ul.dep05 li dd:before {
    content: "\00B7\00A0";
    position: absolute;
    left: 0;
    top: 0;
}

#sub .org01 ul.dep05 li dd em {
    position: relative;
    padding-left: 0.6rem;
    display: block;
    word-break: break-all;
    color: #666;
}

#sub .org01 ul.dep05 li dd em:before {
    content: ': ';
    position: absolute;
    left: 0;
    top: 0;
}

@media all and (min-width: 768px) {
    #sub .org01 ul.dep05 li {
        width:25%;
    }

    #sub .org01 ul.dep05 li dl {
        padding: 20px 10px;
    }

    #sub .org01 ul.dep05 li:nth-child(odd) dl {
        border-right: 1px solid var(--border);
    }
}

#sub .map .mapwrap {
    width: 100%;
}

#sub .map .info01 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .map .info01 li {
    padding: 10px;
    border-radius: 10px;
    border: 1px solid var(--border);
    width: 100%;
}

#sub .map .info01 h5 {
    font-weight: 600;
    color: var(--col01);
    margin-bottom: 5px;
}

#sub .map .info02 {
    background: #F7F8FA;
    padding: 10px;
    border-radius: 10px;
}

#sub .map .info02 li:not(:last-child) {
    margin-bottom: 10px;
}

#sub .map .info02 h5 {
    font-weight: 600;
    color: #fff;
    background: #435060;
    padding: 0 1rem;
    border-radius: 100px;
    display: flex;
    width: fit-content;
    margin-bottom: 10px;
}

@media all and (min-width: 768px) {
    #sub .map .info01 li {
        padding:20px;
        width: 49%;
    }

    #sub .map .info02 {
        padding: 20px;
    }

    #sub .map .info02 li {
        display: flex;
        align-items: flex-start;
        gap: 10px;
    }

    #sub .map .info02 h5 {
        margin-bottom: 0;
    }
}

@media all and (min-width: 1200px) {
    #sub .map .info01 li {
        flex:1;
    }
}

#sub .biz .info01 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .biz .info01 li {
    width: 100%;
    flex-wrap: wrap;
    text-align: center;
}

#sub .biz .info01 li > * {
    width: 100%;
}

#sub .biz .info01 li > h5 {
    padding: 10px;
    border-radius: 10px;
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    font-weight: 500;
}

#sub .biz .info01 li > p {
    margin-top: 10px;
}

#sub .biz .info01 li dl {
    font-size: 0.9rem;
    margin-top: 10px;
    background: #F7F8FA;
    padding: 10px;
    border-radius: 10px;
    text-align: left;
}

#sub .biz .info01 li dd {
    line-height: 1.6rem;
    padding-left: 0.7rem;
    position: relative;
}

#sub .biz .info01 li dd:before {
    content: '';
    display: inline-block;
    width: 0.2rem;
    height: 0.2rem;
    border-radius: 50%;
    background: #aaa;
    position: absolute;
    left: 0;
    top: 0.7rem;
}

@media all and (min-width: 768px) {
    #sub .biz .info01 li {
        width:49%;
    }
}

@media all and (min-width: 1200px) {
    #sub .biz .info01 {
        gap:20px 2%;
    }

    #sub .biz .info01 li > h5 {
        padding: 15px;
    }
}

#sub .info .tab {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

#sub .info .tab a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex: 1;
    padding: 0 1rem;
    background: var(--border);
    color: #fff;
    border-radius: 100px;
    font-weight: 600;
    height: 50px;
    transition: 0.3s;
}

#sub .info .tab a.on {
    background: var(--col03);
}

#sub .info .tab a:not(.on):hover {
    background: #ccc;
}

#sub .info .info01 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 2%;
}

#sub .info .info01 .box {
    width: 100%;
}

#sub .info .info01 h4 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #fff;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
}

#sub .info .info01 h4 img {
    width: 2.5rem;
}

#sub .info .info01 h5 {
    font-weight: 600;
    background: #F7F8FA;
    padding: 10px;
}

#sub .info .info01 dl {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .info .info01 dd {
    width: 49%;
    border-radius: 10px;
    border: 1px solid var(--border);
    overflow: hidden;
}

#sub .info .info01 .box:nth-child(1) h4 {
    background: var(--col01);
}

#sub .info .info01 .box:nth-child(2) h4 {
    background: var(--col02);
}

#sub .info .info01 .box:nth-child(3) h4 {
    background: var(--col03);
}

#sub .info .info01 ul {
    padding: 10px;
    border-top: 1px solid var(--border);
    color: #666;
}

#sub .info .info02 {
    border-top: 2px solid #435060;
    display: flex;
    flex-wrap: wrap;
}

#sub .info .info02 > li {
    border-bottom: 1px solid var(--border);
    width: 100%;
}

#sub .info .info02 > li .tit {
    font-weight: 600;
    word-break: break-all;
    background: #F7F8FA;
    padding: 10px;
    display: flex;
    align-items: center;
}

#sub .info .info02 > li .txt {
    padding: 20px 10px;
    color: #666;
    font-weight: 500;
    border-top: 1px solid var(--border);
}

#sub .info .info03 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 2%;
}

#sub .info .info03 > li {
    width: 100%;
}

#sub .info .info03 > li img {
    width: 50%;
    max-width: 80px;
}

#sub .info .info03 > li h5 {
    font-weight: 600;
    color: #1758a7;
    margin: 10px 0;
}

#sub .info .info04 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#sub .info .info04 li {
    border: 1px solid var(--border);
    padding: 0.5rem 1rem;
    border-radius: 100px;
}

#sub .info .info05 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .info .info05 li {
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px;
    text-align: center;
    width: 32%;
    font-weight: 500;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
}

#sub .info .info05 img {
    width: 80%;
    max-width: 60px;
}

#sub .info .info05 p {
    margin: 10px auto 0;
    font-weight: 600;
    width: 100%;
}

#sub .info .li01 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
    text-align: center;
    width: 100%;
}

#sub .info .li01 dd {
    width: 49%;
    border-radius: 10px;
    border: 1px solid var(--border);
    padding: 10px;
    font-weight: 500;
    color: #444;
}

#sub .info .li01 dd small {
    display: block;
}

#sub .info .li01 dd b {
    color: var(--col01);
    display: block;
    margin-top: 10px;
}

#sub .info .li02 {
    text-align: center;
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 10px;
}

#sub .info .li02 li {
    width: 100%;
    padding: 1rem 10px;
    position: relative;
    color: #444;
    font-weight: 500;
}

#sub .info .li02 li:not(:last-child) {
    border-bottom: 1px solid var(--border);
}

#sub .info .li02 li:not(:last-child):after {
    content: 'keyboard_arrow_down';
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 100%;
    background: var(--col01);
    color: #fff;
    font-family: var(--ic);
    position: absolute;
    left: calc(50% - 0.7rem);
    bottom: -0.7rem;
    z-index: 99;
}

@media all and (min-width: 768px) {
    #sub .info .tab a {
        max-width:200px;
    }

    #sub .info .info02.col2 > li {
        flex: 1;
        min-width: 50%;
    }

    #sub .info .info02.col2 > li:nth-child(odd):not(:last-child) {
        border-right: 1px solid var(--border);
    }

    #sub .info .info02.col2 > li .tit {
        justify-content: center;
        text-align: center;
    }

    #sub .info .info02.col3 > li {
        flex: 1;
        min-width: 33.33%;
    }

    #sub .info .info02.col3 > li:not(:last-child) {
        border-right: 1px solid var(--border);
    }

    #sub .info .info02.col3 > li .tit {
        justify-content: center;
        text-align: center;
    }

    #sub .info .info03 > li {
        width: 49%;
    }

    #sub .info .info03.col3 > li {
        width: 32%;
    }
}

@media all and (min-width: 1200px) {
    #sub .info .info01 .box {
        flex:1;
    }

    #sub .info .info01 dd {
        width: 100%;
    }

    #sub .info .info02 > li .tit {
        font-size: 1.1rem;
    }

    #sub .info .info03 > li h5 {
        font-size: 1.1rem;
    }

    #sub .info .info05 {
        gap: 0;
        flex-wrap: nowrap;
        border: 1px solid var(--border);
        border-radius: 10px;
    }

    #sub .info .info05 li {
        flex: 1;
        border: 0;
        border-radius: 0;
        padding: 20px 10px;
    }

    #sub .info .info05 li:not(:last-child) {
        border-right: 1px solid var(--border);
    }

    #sub .info .li01 dd {
        flex: 1;
        padding: 20px 10px;
    }
}

#sub .test .tab {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .test .tab a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 49%;
    padding: 0 1rem;
    background: var(--border);
    color: #fff;
    border-radius: 100px;
    font-weight: 600;
    height: 50px;
    transition: 0.3s;
}

#sub .test .tab a.on {
    background: var(--col03);
}

#sub .test .tab a:not(.on):hover {
    background: #ccc;
}

#sub .tname {
    font-size: 1.5rem;
    font-weight: 600;
    border-bottom: 5px solid #dedede40;
    padding-bottom: 10px;
    display: flex;
}

#sub .tname span {
    position: relative;
}

#sub .tname span:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 5px;
    background: #435060;
    position: absolute;
    left: 0;
    bottom: -15px;
}

#sub .test .userinfo dl {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border-top: 2px solid #435060;
}

#sub .test .userinfo dt, #sub .test .userinfo dd {
    border-bottom: 1px solid var(--border);
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}

#sub .test .userinfo dt {
    width: 20%;
    font-weight: 600;
}

#sub .test .userinfo dd {
    width: 80%;
    position: relative;
}

#sub .test .userinfo dd input[type="radio"] + label {
    flex: 1;
    max-width: 100px;
}

#sub .test .userinfo dd input[type="text"] {
    width: 5rem;
    border-radius: 5px;
}

#sub .test .userinfo .policy {
    width: 100%;
    height: 160px;
    overflow-y: scroll;
    border: 1px solid var(--border);
    padding: 10px;
    color: #444;
    background: #f7f7f7;
}

#sub .test .userinfo .agree {
    margin-top: 20px;
    position: relative;
}

#sub .test .userinfo .agree input[type="checkbox"] + label {
    display: flex;
    align-items: center;
}

#sub .test .userinfo .agree input[type="checkbox"] + label:before {
    content: 'check_box';
    font-family: var(--ic);
    margin-right: 5px;
    color: #ccc;
    font-size: 1.5rem;
}

#sub .test .userinfo .agree input[type="checkbox"]:checked + label:before {
    color: var(--col01);
}

#sub .test .userinfo input[type="radio"] + label {
    display: flex;
    border: 1px solid var(--border);
    padding: 0.2rem 0.5rem;
    border-radius: 5px;
    color: #888;
    justify-content: center;
}

#sub .test .userinfo input[type="radio"]:checked + label {
    border-color: var(--col01);
    color: var(--col01);
}

#sub .test input[type="radio"], #sub .test input[type="checkbox"] {
    width: 1px;
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
}

#sub .test .ttop {
    background: #435060;
    color: #fff;
    padding: 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0 10px;
}

#sub .test .ttop img {
    width: 20%;
    max-width: 60px;
}

#sub .test .tlist dt, #sub .test .tlist dd {
    padding: 10px;
}

#sub .test .tlist dt {
    background: #f7f7f7;
    border: 1px solid var(--border);
    border-radius: 10px;
}

#sub .test .tlist dd {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 5px 2%;
}

#sub .test .tlist dd:not(:last-of-type) {
    margin-bottom: 20px;
}

#sub .test .tlist dt p {
    display: flex;
    align-items: center;
    gap: 0 5px;
    font-weight: 600;
}

#sub .test .tlist dt p em {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #435060;
    color: #fff;
    width: fit-content;
    min-width: 1.4rem;
    height: 1.4rem;
    border-radius: 5px;
    font-weight: 600;
    font-size: 0.8rem;
    padding: 0 0.2rem;
}

#sub .test .tlist dd input[type="radio"] + label {
    width: 49%;
    display: flex;
    align-items: flex-start;
    line-height: 1.5rem;
    gap: 0 5px;
}

#sub .test .tlist dd input[type="radio"] + label:before {
    font-family: var(--ic);
    content: 'crop_square';
    font-size: 1.5rem;
    color: #ccc;
}

#sub .test .tlist dd input[type="radio"]:checked + label:before {
    content: 'check_box';
    color: var(--col01);
}

#sub .test .tlist dd .detail {
    order: 3;
    width: 100%;
    display: none;
    gap: 10px 2%;
    border-top: 1px dotted var(--border);
    padding-top: 10px;
    margin-top: 10px;
}

#sub .test .tlist dd .detail input[type="radio"]:checked + label:before {
    color: #435060;
}

#sub .test .tlist dd input[type="radio"]:checked ~ .detail {
    display: flex;
}

#sub .test .tlist .type01 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid var(--border);
}

#sub .test .tlist .type01:nth-of-type(1) {
    border-top: 2px solid #435060;
}

#sub .test .tlist .type01 dt {
    width: 3rem;
    padding: 0;
}

#sub .test .tlist .type01 dd {
    width: calc(100% - 3rem);
    padding: 20px 0;
}

#sub .test .tlist .type01 dd:not(:last-of-type) {
    border-bottom: 1px solid var(--border);
}

#sub .test .tlist .type01 dt, #sub .test .tlist .type01 dd {
    margin: 0;
    background: unset;
    border: unset;
    border-radius: unset;
}

#sub .test .tlist .type01 dt p em {
    min-width: 2rem;
    height: 2rem;
}

#sub .test .tlist .type01 dd input[type="radio"] + label {
    width: 100%;
}

#sub .test .tbottom dl {
    font-size: 0.9rem;
    color: #666;
    padding: 10px;
    border: 1px solid var(--border);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 5%;
    border-radius: 10px;
}

#sub .test .tbottom dt {
    color: #435060;
    font-weight: 600;
}

#sub .test .tbottom dd {
    width: 80%;
}

#sub .test .tbottom .btn {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 40%;
    max-width: 180px;
    background: var(--col01);
    color: #fff;
    padding: 0 1rem;
    height: 60px;
    border-radius: 5px;
}

#sub .test .rtop {
    border: 1px solid var(--border);
    padding: 20px;
    border-radius: 10px;
}

#sub .test .rtop h3 {
    font-size: 1.5rem;
    font-weight: 600;
}

#sub .test .rtop h4 {
    font-size: 1.1rem;
    font-weight: 600;
    display: flex;
    margin-top: 10px;
}

#sub .test .rtop h4:before {
    content: 'check_circle';
    font-family: var(--ic);
    margin-right: 0.2rem;
    color: var(--col01);
}

#sub .test .rtop p {
    margin-top: 20px;
    color: #666;
}

#sub .test .rinfo ul {
    border-top: 2px solid #435060;
    display: flex;
    flex-wrap: wrap;
}

#sub .test .rinfo ul > li {
    border-bottom: 1px solid var(--border);
    width: 100%;
}

#sub .test .rinfo ul > li .tit {
    font-weight: 600;
    word-break: break-all;
    background: #F7F8FA;
    padding: 10px;
    display: flex;
    align-items: center;
}

#sub .test .rinfo ul > li .txt {
    padding: 20px 10px;
    color: #666;
    font-weight: 500;
    border-top: 1px solid var(--border);
}

#sub .test .rinfo dd:not(:last-child) {
    margin-bottom: 10px;
}

@media all and (min-width: 768px) {
    #sub .test .tab {
        gap:5px;
    }

    #sub .test .tab a {
        flex: 1;
    }

    #sub .test .userinfo dt {
        width: 15%;
    }

    #sub .test .userinfo dd {
        width: 35%;
    }

    #sub .test .userinfo dd:nth-of-type(odd):last-of-type {
        width: 85%;
    }
}

@media all and (min-width: 1200px) {
    #sub .tname {
        font-size:2rem;
    }

    #sub .test .userinfo dt, #sub .test .userinfo dd {
        padding: 15px;
    }

    #sub .test .userinfo .policy {
        padding: 15px;
    }

    #sub .test .ttop {
        padding: 20px;
    }

    #sub .test .tlist dt, #sub .test .tlist dd {
        padding: 20px;
    }

    #sub .test .tlist dt p {
        font-size: 1.1rem;
    }

    #sub .test .tlist dd input[type="radio"] + label {
        flex: 1;
    }

    #sub .test .tlist .type01 dd input[type="radio"] + label {
        flex: unset;
    }

    #sub .test .tbottom dl {
        padding: 15px;
    }

    #sub .test .rtop {
        padding: 40px;
    }

    #sub .test .rtop h3 {
        font-size: 1.75rem;
    }

    #sub .test .rinfo ul > li {
        display: flex;
    }

    #sub .test .rinfo ul > li .tit {
        width: 20%;
        justify-content: center;
        text-align: center;
    }

    #sub .test .rinfo ul > li .txt {
        width: 80%;
        border-top: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    #sub .test .rinfo ul > li.type01 .tit {
        width: 40%;
    }

    #sub .test .rinfo ul > li.type01 .txt {
        width: 60%;
    }

    #sub .test .rinfo dd:not(:last-child) {
        margin-bottom: 0;
    }
}

#sub .refer .info01 {
    background: #F7F8FA;
    padding: 10px 20px;
    border-radius: 10px;
}

#sub .refer .info02 a {
    background: #435060;
    color: #fff;
    padding: 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 20px 0 0;
}

#sub .refer .info02 a:after {
    content: 'download';
    font-family: var(--ic);
}

#sub .refer .info03 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .refer .info03 li {
    width: 100%;
    background: #fff;
    border-radius: 10px;
    -webkit-box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 10%);
    box-shadow: 0px 5px 30px 0px rgba(6, 5, 5, 0.08);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px;
    padding-right: 40px;
    position: relative;
    line-height: 1.2;
}

#sub .refer .info03 li:not(:last-child):after {
    content: 'keyboard_arrow_down';
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 24px;
    height: 24px;
    border-radius: 100%;
    background: var(--col01);
    color: #fff;
    font-family: var(--ic);
    position: absolute;
    right: 10px;
    top: calc(50% - 12px);
    z-index: 99;
}

#sub .refer .info03 li.type01 {
    background: var(--col02);
    color: #fff;
}

#sub .refer .info03 li.type02 {
    color: var(--col03);
}

@media all and (min-width: 768px) {
    #sub .refer .info01 {
        padding:20px;
    }

    #sub .refer .info02 {
        display: flex;
        align-items: center;
    }

    #sub .refer .info02 a {
        margin: 0 0 0 auto;
        width: 200px;
    }

    #sub .refer .info03 li {
        width: 49%;
        padding: 15px;
        padding-right: 50px;
    }

    #sub .refer .info03 li:not(:last-child):after {
        content: 'chevron_right';
    }

    #sub .refer .info03 li.type01:after {
        background: #fff;
        color: var(--col01);
    }
}

@media all and (min-width: 1200px) {
}

#sub .local .info01 {
    border-top: 2px solid #435060;
    text-align: center;
}

#sub .local .info01 li {
    display: flex;
    border-bottom: 1px solid var(--border);
}

#sub .local .info01 li.th {
    background: #F7F8FA;
    font-weight: 600;
}

#sub .local .info01 li p {
    padding: 5px 10px;
    word-break: break-all;
}

#sub .local .info01 li p:nth-child(1) {
    width: 30%;
}

#sub .local .info01 li p:nth-child(2) {
    width: 45%;
}

#sub .local .info01 li p:nth-child(3) {
    width: 25%;
}

#sub .local .info01 li p:not(:last-child) {
    border-right: 1px solid var(--border);
}

@media all and (min-width: 768px) {
}

@media all and (min-width: 1200px) {
    #sub .local .info01 li p {
        padding:10px;
    }
}

#sub .privacy h4 {
    font-size: 1.25rem;
    font-weight: 600;
}

#sub .privacy h4::first-letter {
    border-top: 3px solid var(--col01);
    padding-top: 0.5rem;
}

#sub .privacy h5 {
    font-size: 1.1rem;
    font-weight: 600;
}

#sub .noemail .box {
    background: #F7F8FA;
    border-radius: 20px;
    padding: 20px;
}

#sub .noemail .box h1 {
    font-size: 1.5rem;
    font-weight: 600;
}

@media all and (min-width: 768px) {
    #sub .noemail .box {
        padding:30px;
    }
}

@media all and (min-width: 1200px) {
    #sub .noemail .box {
        padding:40px;
        border-radius: 30px;
    }
}

#sub .sitemap ul {
    border-top: 2px solid #222;
}

#sub .sitemap li {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border-bottom: 1px solid var(--border);
}

#sub .sitemap li h1 {
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid var(--border);
    background: #fafafa;
    font-weight: 600;
}

#sub .sitemap li .sub {
    width: 100%;
    padding: 10px;
}

#sub .sitemap li .sub dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

#sub .sitemap li .sub dd {
    margin: 0 1rem 0 0;
}

#sub .sitemap li .sub dd:before {
    content: '\00B7';
    margin: 0 0.2rem 0 0;
}

@media all and (min-width: 768px) {
    #sub .sitemap li h1 {
        width:20%;
        padding: 20px;
        border-bottom: 0;
        text-align: center;
    }

    #sub .sitemap li .sub {
        width: 80%;
        padding: 20px;
    }
}

@media all and (min-width: 1200px) {
    #sub .sitemap li h1, #sub .sitemap li .sub {
        padding:30px 20px;
    }

    #sub .sitemap li h1, #sub .sitemap li .sub dd {
        font-size: 1.125rem;
    }
}

#sub .org .wrap {
    position: relative;
}

#sub .org .wrap:after {
    content: '';
    display: inline-block;
    width: 1px;
    height: 100%;
    background: #bcbcbc;
    position: absolute;
    left: 50%;
    top: 0;
    z-index: -1;
}

#sub .org ul {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

#sub .org ul:not(:last-child) {
    margin-bottom: 30px;
}

#sub .org ul.dep04 {
    /*! border:1px solid var(--border); */
    /*! padding:10px; */
    background: #fff;
}

#sub .org ul li {
    flex: 1;
    text-align: center;
    max-width: 90%;
    position: relative;
}

#sub .org ul li .txt {
    background: #fff;
    border: 1px solid #ddd;
    display: flex;
    padding: 15px;
    /*! border-radius:0px 0px 10px 10px; */
    flex-wrap: wrap;
    border-top: 0px;
}

#sub .org ul li .txt b {
    width: 6.5rem;
    font-size: 0.9375rem;
    text-align: left;
    border-right: 1px solid #ddd;
    margin-right: 1.5rem;
}

#sub .org ul li .txt p {
    width: calc(100% - 8rem);
    margin-top: 0px;
    text-align: left;
    font-size: 1rem;
    color: #777;
}

#sub .org ul.dep01 li .txt {
    display: block;
}

#sub .org ul.dep01 li .txt p {
    width: 100%;
    text-align: center;
    color: #444;
}

#sub .org ul li h3 {
    padding: 10px;
    color: #fff;
    font-weight: 600;
    /*! border-radius:10px 10px 0px 0px; */
}

#sub .org ul.dep00 li h3 {
    background: var(--col03);
    /*! border-radius:10px; */
}

#sub .org ul.dep01 li h3 {
    background: #435060;
}

#sub .org ul.dep02 li h3 {
    background: var(--col02)
}

#sub .org ul.dep03 li h3 {
    background: var(--col01);
}

#sub .org ul li h4 {
    padding: 15px;
    border: 1px solid var(--border);
    background: #435060;
    font-weight: 500;
    /*! border-radius:10px 10px 0px 0px; */
    color: #fff;
}

#sub .org ul li h4 span {
    display: flex;
    font-size: 0.9rem;
    background: #b2bcc9;
    border-radius: 100px;
    color: #fff;
    width: fit-content;
    margin: 5px auto 0;
    padding: 0.2rem 0.5rem;
}

#sub .org ul li h5 {
    border: 1px solid var(--border);
    background: #f7f8fa;
    font-weight: 500;
    padding: 10px;
    /*! border-radius:10px 10px 0px 0px; */
}

#sub .org ul li p {
    margin-top: 5px;
}

#sub .org ul li .flex_box ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    align-items: flex-start;
}

#sub .org ul li .flex_box ul li {
    width: 49%;
}

#sub .org ul li.w100 .txt b {
    width: 100%;
    border: 0px;
}

#sub .org ul li.w100 .txt p {
    width: 100%;
    margin-bottom: 10px;
    color: #777;
}

#sub .org ul.item04 {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .org ul.item04 li {
    flex: unset;
    width: 49%;
    max-width: unset;
}

#sub .org ul.item02 {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px 2%;
}

#sub .org ul.item02 li {
    flex: unset;
    width: 49%;
    max-width: unset;
}

@media all and (min-width: 768px) {
    #sub .org ul.dep04 {
        padding:0;
        border: 0;
    }

    #sub .org ul.dep04:after {
        content: '';
        display: inline-block;
        width: 51%;
        height: 1px;
        background: #bcbcbc;
        position: absolute;
        left: 24.5%;
        top: 0;
    }

    #sub .org ul.dep04 li {
        padding-top: 30px;
    }

    #sub .org ul.dep04 li:after {
        content: '';
        display: inline-block;
        width: 1px;
        height: 30px;
        background: #bcbcbc;
        position: absolute;
        left: 50%;
        top: 0;
    }

    #sub .org ul.item04 li {
        flex: 1;
    }

    #sub .org ul li h3 {
        padding: 15px;
    }

    #sub .org ul li {
        flex: 1;
        text-align: center;
        max-width: 32.5%;
        position: relative;
    }
}

/* honor club */
.honor_page {
    color: #111;
    background: #fff;
}

.honor_page, .honor_detail_holder {
    --honor-gold: #d1a348;
    --honor-gold-dark: #9b6e2c;
    --honor-gold-light: #f6dea2;
}

.honor_tab_wrap .tabs {
    margin-bottom: 40px;
}

.honor_tab_wrap .tabs li a {
    min-height: 42px;
    font-size: 1rem;
}

.honor_tab_content {
    display: none;
}

.honor_member_ready_hidden {
    display: none;
}

.honor_intro_banner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 190px;
    margin: 0 0 36px;
    padding: 34px 24px;
    overflow: hidden;
    border-radius: 16px;
    background: url("../img/sub03/sub03_banner.jpg") center / cover no-repeat;
    box-sizing: border-box;
    text-align: center;
}

.honor_intro_banner_text {
    position: relative;
    z-index: 2;
}

.honor_intro_banner_text h3 {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 10px;
    color: #f1cf62;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.16;
    letter-spacing: 0;
    word-break: keep-all;
    background: linear-gradient(180deg, #fffcdf 0%, #f2d56a 46%, #e8b868 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 8px 22px rgba(0,0,0,0.18);
}

.honor_intro_banner_text h3:before, .honor_intro_banner_text h3:after {
    content: "";
    display: block;
    flex: 0 0 auto;
    width: 3px;
    height: 58px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.72;
    filter: brightness(1.18) saturate(1.08);
    pointer-events: none;
}

.honor_intro_banner_text h3:before {
    background-image: url("../img/sub03/leaf_left.png");
}

.honor_intro_banner_text h3:after {
    background-image: url("../img/sub03/leaf_right.png");
}

.honor_intro_banner_text p {
    margin: 0;
    color: rgb(255 255 255 / 70%);
    font-size: 1rem;
    /* font-weight:500; */
    line-height: 1.5;
    letter-spacing: 0;
    word-break: keep-all;
}

.honor_process {
    padding-top: 0;
}

.honor_process_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.25rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.honor_process_list li {
    position: relative;
    display: flex;
    justify-content: center;
}

.honor_process_circle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(100%, 10.5rem);
    aspect-ratio: 1;
    border-radius: 50%;
    background: #f0f2fa;
    color: #363b8e;
    text-align: center;
}

.honor_process_circle .material-symbols-outlined {
    margin-bottom: 0.75rem;
    font-size: 2.75rem;
    font-weight: 300;
}

.honor_process_circle strong {
    font-size: 1rem;
    /* font-weight:700; */
    line-height: 1.35;
}

.honor_benefit {
    margin-top: 0;
}

.honor_benefit_table, .honor_notice_table {
    overflow-x: auto;
    padding-bottom: 0.5rem;
    -webkit-overflow-scrolling: touch;
}

.honor_benefit_table::-webkit-scrollbar, .honor_notice_table::-webkit-scrollbar {
    height: 0.4rem;
}

.honor_benefit_table::-webkit-scrollbar-thumb, .honor_notice_table::-webkit-scrollbar-thumb {
    border-radius: 10rem;
    background: #b8b8b8;
}

.honor_benefit table {
    min-width: 48rem;
    font-size: 0.875rem;
}

.honor_notice table {
    min-width: 30rem;
    font-size: 0.875rem;
}

.honor_benefit .honor_col_type {
    width: 6%;
}

.honor_benefit .honor_col_group {
    width: 7%;
}

.honor_benefit .honor_col_item {
    width: 16%;
}

.honor_benefit .honor_col_grade {
    width: 10.666%;
}

.honor_benefit .data_tbl th, .honor_benefit .data_tbl td, .honor_notice .data_tbl th, .honor_notice .data_tbl td {
    font-size: 0.875rem;
}

.honor_benefit td.is-provided:before {
    content: "";
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--col02);
    vertical-align: middle;
}

.honor_notice {
    margin-top: 0;
}

.honor_notice .honor_notice_col_label {
    width: 34%;
}

.honor_notice .honor_notice_col_desc {
    width: 66%;
}

.honor_visual {
    margin-bottom: 46px;
}

.honor_visual_card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 34px;
    min-height: 330px;
    padding: 46px 30px;
    overflow: hidden;
    border-radius: 20px;
    background: linear-gradient(120deg, rgba(20,19,14,0.9), rgba(75,65,44,0.58)), #6e675b;
    background-position: center;
    background-size: cover;
    box-sizing: border-box;
}

.honor_visual_text {
    color: #fff;
    text-align: left;
}

.honor_visual_text h3 {
    margin: 0 0 28px;
    color: #fff;
    font-size: 2.15rem;
    font-weight: 600;
    line-height: 1.15;
    word-break: keep-all;
}

.honor_visual_text p {
    margin: 0;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.55;
    word-break: keep-all;
}

.honor_visual_logo {
    display: flex;
    justify-content: center;
}

.honor_logo {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    color: #d9aa45;
    text-align: center;
}

.honor_logo .mark {
    display: block;
    position: relative;
    width: 92px;
    height: 66px;
    margin-bottom: 18px;
}

.honor_logo .mark:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 80px;
    height: 38px;
    border: 6px solid currentColor;
    border-top: 0;
    border-radius: 0 0 70px 70px;
    transform: translateX(-50%);
}

.honor_logo .mark:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 66px;
    height: 44px;
    background: radial-gradient(circle at 50% 22%, currentColor 0 21%, transparent 22%), radial-gradient(circle at 23% 62%, currentColor 0 24%, transparent 25%), radial-gradient(circle at 77% 62%, currentColor 0 24%, transparent 25%);
    transform: translateX(-50%);
}

.honor_logo p {
    margin: 0;
    color: currentColor;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.12;
    word-break: keep-all;
}

.honor_logo small {
    margin-top: 4px;
    color: currentColor;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
}

.honor_desc {
    margin: 24px 0 0;
    color: #333;
    font-size: 0.95rem;
    line-height: 1.75;
    word-break: keep-all;
}

.honor_search {
    margin: 36px 0;
    padding: 22px 16px;
    background: #f7f7f7;
}

.honor_search_box {
    display: flex;
    width: min(520px, 100%);
    height: 46px;
    margin: 0 auto;
    border: 1px solid #b7b7b7;
    background: #fff;
}

.honor_search_box input {
    flex: 1;
    min-width: 0;
    height: 100%;
    padding: 0 16px;
    border: 0;
    color: #555;
    font-size: 1rem;
}

.honor_search_box button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 100%;
    border: 0;
    background: #222;
    color: transparent;
    cursor: pointer;
}

.honor_search_box button:before {
    content: "search";
    font-family: var(--ic);
    color: #fff;
    font-size: 1.5rem;
}

.honor_filter {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 48px;
    padding: 0;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    list-style: none;
}

.honor_filter li {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    color: #999;
    font-size: 0.92rem;
    font-weight: 600;
}

.honor_filter li.on {
    position: relative;
    z-index: 1;
    margin: -1px;
    border: 2px solid #222;
    color: #111;
    background: #fff;
}

.honor_grade_tab_wrap {
    margin-bottom: 34px;
}

.honor_grade_tab_wrap .tabs li a {
    min-height: 42px;
    font-size: 1rem;
}

.honor_grade_group {
    margin-top: 0;
}

.honor_grade_group:not(.honor_grade_noblesse) {
    display: none;
}

.honor_filter + .honor_grade_group {
    margin-top: 0;
}

.honor_grade_title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 26px;
    color: inherit;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
    word-break: keep-all;
}

.honor_grade_title:before {
    content: "";
    display: block;
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    margin-right: 13px;
    border-radius: 50%;
    background: #8fbce6;
    box-shadow: 13px 0 0 #3f4fa7;
}

.honor_grade_title:after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e4e4e4;
}

@keyframes honorFadeUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.honor_grade_group {
    animation: honorFadeUp 0.38s ease both;
}

@media (prefers-reduced-motion:reduce) {
    .honor_grade_group {
        animation: none;
    }
}

.honor_member_grid {
    display: grid;
    grid-template-columns: minmax(0, 16rem);
    justify-content: center;
    gap: 22px 18px;
}

.honor_member_item {
    display: block;
}

.honor_member_card {
    overflow: hidden;
    border: 1px solid #e4e4e4;
    border-radius: 16px;
    /* background:#273443; */
    box-sizing: border-box;
}

.honor_member_card .photo {
    overflow: hidden;
    aspect-ratio: 204 / 210;
    background: #e4e4e4;
}

.honor_member_card .photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 10%;
}

.honor_member_card .info {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    padding: 12px 8px 14px;
    background: var(--col02);
    text-align: center;
    box-sizing: border-box;
    transition: background 0.25s, box-shadow 0.25s;
}

.honor_member_card .num {
    margin: 0 0 5px;
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.2;
    opacity: 0.8
}

.honor_member_card .name {
    margin: 0;
    color: #fff;
    font-size: 1.125rem;
    /* font-weight: 600; */
    line-height: 1.25;
    word-break: keep-all;
}

.honor_member_card .name span {
    display: inline-block;
    margin-left: 3px;
    font-size: 0.9735rem;
    vertical-align: baseline;
    font-weight: 500;
    color: #ffffffbf;
}

.honor_member_link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.honor_member_link .honor_member_card {
    height: 100%;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.honor_member_link:hover .honor_member_card {
    border-color: #cfad66;
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(125,91,30,0.24);
}

.honor_member_link:hover .honor_member_card .info {
    background: linear-gradient(135deg, #cbaa5d 0%, #f0d78a 45%, #aa7f3c 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.35);
}

.honor_etc_list {
    display: grid;
    grid-template-columns: minmax(0, 16rem);
    justify-content: center;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.honor_etc_list li {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    min-height: 66px;
    padding: 12px 16px;
    border: 0;
    border-top: 0;
    border-radius: 0 0 10px 10px;
    background: #f7f8fa;
    box-sizing: border-box;
    color: #333;
    font-size: 1rem;
    line-height: 1.4;
    text-align: center;
    word-break: keep-all;
}

.honor_etc_list li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(105deg, #6f7885 0%, #8d96a3 28%, #c8ccd1 50%, #8d96a3 72%, #6f7885 100%);
}

.honor_etc_list strong {
    font-size: 1.25rem;
}

.honor_etc_list span {
    margin-left: 4px;
    font-size: 0.9rem;
}

.honor_etc_list .company {
    flex: 0 0 100%;
    display: block;
    margin: 4px 0 0;
}

.honor_grade_nanum .honor_etc_list li {
    background: #edf6fc;
    color: #275f8d;
}

.honor_grade_nanum .honor_etc_list li:before {
    background: linear-gradient(105deg, #386f99 0%, #5f86a8 28%, #adc3cf 50%, #5f86a8 72%, #386f99 100%);
}

.honor_grade_donghaeng .honor_etc_list li {
    background: #e9e9e9;
    color: #4a4f57;
}

.honor_grade_donghaeng .honor_etc_list li:before {
    background: linear-gradient(105deg, #7d858f 0%, #a5adb7 28%, #cfd0d2 50%, #a5adb7 72%, #7d858f 100%);
}

.honor_grade_happy .honor_etc_list li {
    background: #fff7e9;
    color: #7a5a28;
}

.honor_grade_happy .honor_etc_list li:before {
    background: linear-gradient(105deg, #91672a 0%, #b78638 28%, #d6c58a 50%, #b78638 72%, #91672a 100%);
}

.honor_grade_etc .honor_member_grid {
    display: none;
}

.honor_detail_holder {
    display: none;
}

.litebox-overlay .litebox-container {
    max-width: 1120px;
}

.litebox-overlay .litebox-inline-html {
    overflow: visible;
}

.honor_detail_source {
    display: block;
}

.honor_detail_pop {
    position: relative;
    width: min(100%, 980px);
    margin: 0 auto;
    padding: 28px 22px 34px;
    background: linear-gradient(135deg, rgba(0,0,0,0.95), rgba(22,22,22,0.82));
    background-position: center;
    background-size: cover;
    /* color: #07182d; */
    text-align: left;
    box-sizing: border-box;
}

.honor_detail_pop:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 150px;
    height: 150px;
    /* background:#d7df00; */
    clip-path: polygon(100% 0, 0 0, 100% 100%);
}

.litebox-overlay .honor_detail_card .litebox-close {
    top: 18px;
    right: 18px;
    width: 34px;
    height: 34px;
    background-color: rgba(7,24,45,0.86);
    background-size: 22px;
    z-index: 4;
}

.honor_detail_top {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-bottom: 28px;
}

.honor_detail_quote {
    margin: 0;
    color: #ffffffb5;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.32;
    text-align: left;
    word-break: keep-all;
    overflow-wrap: break-word;
    text-wrap: balance;
}

.honor_detail_top .honor_logo {
    align-self: flex-end;
    color: #d9aa45;
}

.honor_detail_top .honor_logo .mark {
    width: 78px;
    height: 54px;
    margin-bottom: 10px;
}

.honor_detail_top .honor_logo .mark:before {
    width: 70px;
    height: 30px;
    border-width: 5px;
}

.honor_detail_top .honor_logo .mark:after {
    width: 52px;
    height: 34px;
}

.honor_detail_top .honor_logo p {
    font-size: 1.6rem;
}

.honor_detail_top .honor_logo small {
    font-size: 0.85rem;
}

.honor_detail_card {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(145deg, #fffdf7 0%, #f5efe4 52%, #e8dcc7 100%);
}

.honor_detail_card:before {
    content: "";
    position: absolute;
    right: 4%;
    top: 62%;
    z-index: 1;
    width: min(48%, 360px);
    aspect-ratio: 310 / 72;
    background: url("../img/logo_line.svg") right center / contain no-repeat;
    opacity: 0.46;
    transform: translateY(-50%);
    pointer-events: none;
}

.honor_detail_card > * {
    position: relative;
    z-index: 2;
}

.litebox-overlay .honor_detail_pop_preview {
    width: min(100%, 980px);
    padding: 50px 20px 50px;
    border-radius: 20px;
    background: linear-gradient(125deg, rgba(80,122,166,0.2) 0%, rgba(36,75,116,0.1) 24%, rgba(11,31,55,0) 48%), linear-gradient(rgba(11,31,55,0.82), rgba(11,31,55,0.9)), url("../img/sub03/sub03_banner.jpg") center / cover no-repeat, #0b1f37;
    box-shadow: 0 18px 45px rgba(0,0,0,0.34);
}

.litebox-overlay .honor_detail_pop_preview:before, .litebox-overlay .honor_detail_pop_preview .honor_detail_card:before, .litebox-overlay .honor_detail_pop_preview .honor_detail_top .honor_logo {
    display: none;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_top {
    justify-content: center;
    margin-bottom: 18px;
    text-align: center;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_quote {
    width: 100%;
    color: #eeeeee;
    font-size: 2rem;
    text-align: center;
    text-shadow: none;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_card {
    display: grid;
    grid-template-columns: 40.5% minmax(0, 1fr);
    height: 468px;
    overflow: hidden;
    border-radius: 10px;
    background: #fbfaf5;
    box-shadow: none;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_photo {
    width: 50%;
    margin: 0 auto;
    height: 100%;
    background: #fbfaf5;
    border-radius: 10px;
    overflow: hidden;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_photo img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_info {
    display: flex;
    align-items: center;
    padding: 40px 30px;
    background: #fbfaf5;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rows {
    width: 100%;
    align-items: center;
    /* gap: 18px 0; */
}
.litebox-overlay .honor_detail_pop_preview .honor_detail_rows dl:nth-child(1), .litebox-overlay .honor_detail_pop_preview .honor_detail_rows dl:nth-child(2) {
    /* make first two items full width (intro/name area) */
    /* will be overridden below when each dl uses its own grid */
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rows dl:nth-child(2) {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eae3ce;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rows dt {
    color: #aa7f3c;
}

/* Align dl contents: label(dt) on the left, value(dd) on the right */
.litebox-overlay .honor_detail_pop_preview .honor_detail_rows dl {
    display: grid;
    grid-template-columns: 140px 1fr;
    column-gap: 10px;
    align-items: center;
    margin: 0 0 14px 0;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rows dl.full {
    grid-template-columns: 1fr;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rows dl:nth-child(1),
.litebox-overlay .honor_detail_pop_preview .honor_detail_rows dl:nth-child(2) {
    grid-template-columns: 1fr;
    margin-bottom: 10px;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rows dt {
    margin: 0;
    font-size: 1.125rem;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rows .full dt {
    margin-bottom: 10px;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rows dd {
    margin: 0;
    font-size: 1.125rem;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rows .honor_detail_name {
    text-align: left;
}

.litebox-overlay .honor_detail_name {
    text-align: center;
    font-size: 1.125rem;
    font-weight: 600;
    color: #b8a47a;
}

.litebox-overlay .honor_detail_pop_preview .honor_detail_rank_label {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    width: 40.5%;
    min-height: 42px;
    margin: 0;
    padding: 0 18px;
    background: #041426;
    color: #f0d78a;
    border-bottom: 1px solid #041426;
    box-shadow: 0 1px 0 #041426;
    box-sizing: border-box;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.litebox-overlay .honor_detail_pop_preview > .litebox-close {
    top: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255,255,255,0.32);
    border-radius: 50%;
    background-color: rgba(255,255,255,0.06);
    background-size: 17px;
}

@media all and (max-width: 767px) {
    .litebox-overlay .honor_detail_pop_preview .honor_detail_quote {
        font-size: 1.5rem;
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_card {
        grid-template-columns: 1fr;
        height: auto;
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_photo {
        margin-top: 20px;
        height: auto;
        aspect-ratio: 3 / 4;
        border-radius: 10px 10px 0 0;
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_info {
        margin-top: 14px;
        padding: 26px 22px 28px;
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_rank_label {
        position: static;
        width: 50%;
        margin: 0 auto;
        border-radius: 0 0 8px 8px;
        font-size: 0.8125rem;
        line-height: 1.2;
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_rows,
    .litebox-overlay .honor_detail_pop_preview .honor_detail_rows dt,
    .litebox-overlay .honor_detail_pop_preview .honor_detail_rows dd,
    .litebox-overlay .honor_detail_pop_preview .honor_detail_rows .honor_detail_name {
        text-align: center;
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_rows .honor_detail_name {
        color: #aa7f3c;
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_rows .full dt {
        margin-bottom: 10px;
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_rows .honor_intro_text {
        font-size: 1rem;
        text-align: left;
    }
}

@media all and (max-width: 767px) {
    .depth3_tab,
    .bbs_cate ul.tabs {
        justify-content: center;
        align-items: center;
        gap: 12px 24px;
    }

    .depth3_tab a,
    .bbs_cate ul.tabs li a {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        max-width: none;
        min-height: auto;
        padding: 0 0 9px;
        line-height: 1.3;
        letter-spacing: 0;
    }

    .depth3_tab a {
        flex: 0 1 auto;
    }

    .bbs_cate ul.tabs li {
        flex: 0 1 auto;
        align-items: center;
        width: auto;
        height: auto;
        min-height: auto;
    }

    .depth3_tab a:after,
    .depth3_tab.depth3_tab_textline a:after,
    .depth3_tab.depth3_tab_textline a:hover:after,
    .depth3_tab.depth3_tab_textline a.on:after,
    .bbs_cate ul.tabs li a:after {
        display: block;
        bottom: 0;
        height: 2px;
    }

    .depth3_tab a:hover:after,
    .depth3_tab a.on:after,
    .depth3_tab.depth3_tab_textline a:hover:after,
    .depth3_tab.depth3_tab_textline a.on:after,
    .bbs_cate ul.tabs li.current a:after,
    .bbs_cate ul.tabs li.on a:after,
    .bbs_cate ul.tabs li:hover a:after {
        width: 100%;
    }

    .depth3_tab.depth3_tab_textline a span {
        position: static;
        display: inline;
        min-height: 0;
    }

    .depth3_tab.depth3_tab_textline a span:after {
        content: none;
        display: none;
    }
}

.honor_detail_photo {
    overflow: hidden;
    /* background: linear-gradient(145deg, #fffdf7 0%, #f5efe4 52%, #e8dcc7 100%); */
}

.honor_detail_photo img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1.05;
    object-fit: cover;
    object-position: center 42%;
}

.honor_detail_info {
    padding: 30px 24px 34px;
    box-sizing: border-box;
}

.honor_detail_rows {
    /* display: grid; */
    grid-template-columns: 1fr;
    /* gap: 22px 34px; */
}

.honor_detail_rows dl {
    margin: 0;
}

.honor_detail_rows .full dt {
    margin-bottom: 10px;
}

.honor_detail_rows dt {
    /* margin: 0 0 8px; */
    color: var(--col02);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
}

.honor_detail_rows dl:first-child dt {
    display: none;
}

.honor_detail_rows dd {
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.5;
    word-break: keep-all;
}

.honor_detail_rows .honor_intro_text {
    margin-bottom: 30px;
}

.honor_detail_name span {
    display: inline-block;
    color: #333;
    font-size : 1.5rem;
}

.honor_detail_name .dead {
    font-size: 1.125rem;
    font-weight: 500;
}

.honor_detail_btns {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: 26px;
}

.honor_detail_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    height: 48px;
    padding: 0 24px;
    border: 0;
    border-radius: 100px;
    background: #e7161a;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}

@media all and (min-width: 500px) {
    .honor_member_grid, .honor_etc_list {
        grid-template-columns:repeat(2, minmax(0, 16rem));
        justify-content: center;
    }
}

@media all and (min-width: 768px) {
    .honor_process_list {
        gap:2rem;
    }

    .honor_process_circle {
        width: min(100%, 11.5rem);
    }

    .honor_tab_wrap .tabs {
        margin-bottom: 60px;
    }

    .honor_tab_wrap .tabs li a {
        min-height: 58px;
        font-size: 1.25rem;
    }

    .honor_grade_tab_wrap .tabs li a {
        min-height: 58px;
        font-size: 1.25rem;
    }

    .honor_grade_title {
        font-size: 1.625rem;
    }

    .honor_intro_banner {
        min-height: 230px;
        margin-bottom: 54px;
        padding: 48px 54px;
    }

    .honor_intro_banner_text h3:before, .honor_intro_banner_text h3:after {
        width: 42px;
        height: 72px;
    }

    .honor_intro_banner_text h3 {
        margin-bottom: 20px;
        font-size: 2rem;
    }

    .honor_intro_banner_text p {
        /* font-size:22px; */
        line-height: 1.48;
    }

    .honor_visual {
        margin-bottom: 58px;
    }

    .honor_visual_card {
        min-height: 400px;
        padding: 62px 58px;
    }

    .honor_visual_text h3 {
        font-size: 3.4rem;
    }

    .honor_visual_text p {
        font-size: 1.15rem;
    }

    .honor_logo .mark {
        width: 128px;
        height: 88px;
    }

    .honor_logo .mark:before {
        width: 112px;
        height: 50px;
    }

    .honor_logo .mark:after {
        width: 88px;
        height: 58px;
    }

    .honor_logo p {
        font-size: 3rem;
    }

    .honor_logo small {
        font-size: 1.36rem;
    }

    .honor_search {
        margin: 42px 0 56px;
        padding: 24px;
    }

    .honor_filter {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        margin-bottom: 60px;
    }

    .honor_member_grid, .honor_etc_list {
        grid-template-columns: repeat(4, minmax(0, 16rem));
        justify-content: center;
    }

    .honor_member_grid {
        gap: 28px 22px;
    }

    .honor_member_card .info {
        min-height: 70px;
    }

    .honor_member_card .name {
        font-size: 1.125rem;
    }

    .honor_detail_pop {
        padding: 28px 28px 38px;
    }

    .litebox-overlay .honor_detail_pop_preview > .litebox-close {
        top: 30px;
        right: 30px;
        width: 40px;
        height: 40px;
        background-size: 20px;
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_rows dl:nth-child(2) {
        display: flex;
    }

    .litebox-overlay .honor_join_date {
        margin-left: 4px;
    }

    .honor_detail_top {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
    }

    .honor_detail_quote {
        font-size: 2.25rem;
    }

    .honor_detail_card {
        display: grid;
        grid-template-columns: 32% 1fr;
    }

    .honor_detail_pop_preview .honor_detail_card {
        grid-template-columns: 40.5% minmax(0, 1fr);
    }

    .litebox-overlay .honor_detail_pop_preview .honor_detail_photo {
        width: auto;
        margin: 0;
        border-radius: 0;
    }

    .honor_detail_photo img {
        height: 100%;
        aspect-ratio: auto;
    }

    .honor_detail_info {
        padding: 40px 50px;
    }

    .honor_detail_rows {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .honor_detail_name span {
        font-size: 2.5rem;
        margin-right: 5px;
    }

    .honor_detail_name .dead {
        font-size: 1.5rem;
    }

    .honor_detail_rows .full {
        grid-column: 1 / -1;
    }

    .honor_detail_rows .full dt {
        margin-bottom: 24px;
    }

    .honor_detail_btn {
        min-width: 160px;
    }

    .litebox-overlay .honor_detail_pop_preview {
        padding: 70px 40px 50px;
    }

    .litebox-overlay .honor_detail_name {
        text-align: left;
        color: #aa7f3c;
        margin-bottom: 30px;
    }

    .litebox-overlay .honor_intro_text {
        /* padding-left: 18px; */
        /* border-left: 1px solid #d3bd7a; */
    }

    .honor_detail_rows .honor_intro_text {
        margin-bottom: 0;
    }

    .honor_benefit .data_tbl th, .honor_benefit .data_tbl td, .honor_notice .data_tbl th, .honor_notice .data_tbl td {
        font-size: 1rem;
    }
}

@media all and (min-width: 1200px) {
    .honor_tab_wrap .tabs {
        margin-bottom:80px;
    }

    .honor_intro_banner {
        min-height: 260px;
        margin-bottom: 70px;
        padding: 58px 90px;
    }

    .honor_intro_banner_text h3:before, .honor_intro_banner_text h3:after {
        /* width:48px; */
        /* height:82px; */
    }

    .honor_intro_banner_text h3 {
        font-size: 3rem;
        margin-bottom: 15px;
    }

    .honor_intro_banner_text p {
        font-size: 1.25rem;
    }

    .honor_process_list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 3rem;
    }

    .honor_process_list li:not(:last-child):after {
        content: "chevron_right";
        position: absolute;
        left: calc(100% + 1.5rem);
        top: 50%;
        color: #d8c094;
        font-family: var(--ic);
        font-size: 2rem;
        transform: translate(-50%, -50%);
    }

    .honor_process_circle {
        /* width:min(100%, 12.5rem); */
    }

    .honor_process_circle .material-symbols-outlined {
        font-size: 3.25rem;
    }

    .honor_process_circle strong {
        font-size: 1.125rem;
    }

    .honor_benefit table {
        width: 100%;
        min-width: 0;
    }

    .honor_notice table {
        width: 100%;
        min-width: 0;
    }

    .honor_benefit .data_tbl th, .honor_benefit .data_tbl td, .honor_notice .data_tbl th, .honor_notice .data_tbl td {
        padding: 8px 4px;
        font-size: 0.9375rem;
        word-break: keep-all;
    }

    .honor_benefit th {
        white-space: normal;
    }

    .honor_benefit .honor_col_item {
        width: 15%;
    }

    .honor_visual_card {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        min-height: 350px;
        padding: 74px 90px;
    }

    .honor_visual_text {
        flex: 0 1 48%;
    }

    .honor_visual_text h3 {
        font-size: 4.2rem;
    }

    .honor_visual_logo {
        flex: 0 1 42%;
        justify-content: flex-end;
    }

    .honor_search {
        margin-bottom: 64px;
    }

    .honor_member_grid, .honor_etc_list {
        grid-template-columns: repeat(6, minmax(0, 13.5rem));
        justify-content: center;
    }

    .honor_member_grid {
        gap: 32px 22px;
    }

    .honor_member_card .name {
        font-size: 1.375rem;
    }
}

@media all and (min-width: 1600px) {
    .honor_intro_banner {
        min-height:280px;
        margin-bottom: 78px;
        padding: 66px 110px;
    }

    .honor_intro_banner_text h3:before, .honor_intro_banner_text h3:after {
        width: 54px;
        height: 92px;
    }

    .honor_intro_banner_text h3 {
        /* font-size:72px; */
    }

    .honor_intro_banner_text p {
        /* font-size:26px; */
    }

    .honor_process_circle {
        /* width:min(100%, 13.5rem); */
    }

    .honor_process_circle .material-symbols-outlined {
        font-size: 3.5rem;
    }

    .honor_benefit table {
        min-width: 0;
    }

    .honor_visual_card {
        padding-right: 110px;
        padding-left: 110px;
    }

    .honor_visual_text h3 {
        font-size: 4.55rem;
    }

    .honor_member_grid {
        gap: 34px 24px;
    }
}

.spinal_center {
    overflow-x: clip;
    color: #333;
    word-break: keep-all;
}

.spinal_center .pdinner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.spinal_center .pdinner > * {
    min-width: 0;
}

.spinal_intro {
    display: grid;
    gap: 1.5rem;
    max-width: none;
    margin-bottom: 0;
    align-items: flex-start;
}

.spinal_intro_text {
    max-width: 46rem;
}

.spinal_eyebrow {
    margin: 0 0 0.75rem;
    color: var(--col02);
    font-size: 1.125rem;
    font-weight: 500;
}

.split_block:has(.split_sec.half) .sec_tit, .spinal_intro h3 {
    margin-bottom: 20px;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.045rem;
}

.spinal_desc {
    margin: -0.25rem 0 1rem;
    /* color: #2f3f96; */
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0;
    word-break: keep-all;
}

.spinal_lead {
    max-width: 44rem;
    margin: 0;
    color: #666;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.8;
}

.spinal_intro_pic {
    overflow: hidden;
    margin: 0;
    border-radius: 20px;
    aspect-ratio: 16 / 10;
    background: #f3f4f6;
}

.spinal_intro_pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.spinal_need {
    display: grid;
    gap: 0.875rem;
}

.spinal_intro + .spinal_need {
    margin-top: 30px;
    /* padding-top: 36px; */
    border-top: 0;
}

.spinal_need + .spinal_block {
    margin-top: 36px;
    padding-top: 36px;
    border-top: 1px solid #e7ebf2;
}

.spinal_need + .spinal_roadmap_block {
    border-top: 0;
}

.spinal_roadmap_block + .spinal_block {
    border-top: 0;
}

.spinal_block + .spinal_block {
    margin-top: 36px;
}

.spinal_need_card {
    padding: 1.5rem;
    border: 1px solid #d2d6df;
    border-radius: 1rem;
    background: transparent;
}

.spinal_icon {
    display: none;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 1rem;
    border-radius: 0.65rem;
    background: transparent;
    color: #6fa6dc;
    font-size: 1.5rem;
}

.spinal_need_card h4 {
    margin: 0 0 0.65rem;
    color: #3f4fa7;
    font-size: 1.325rem;
    font-weight: 700;
    line-height: 1.4;
}

.spinal_need_card p {
    margin: 0;
    color: #666;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.75;
}

.spinal_section_head {
    margin-bottom: 1.25rem;
}

.spinal_section_head p {
    margin: 0 0 0.25rem;
    color: #6fa6dc;
    font-size: 1rem;
    font-weight: 600;
}

.spinal_section_head h3 {
    margin: 0;
    color: #3f4fa7;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4;
}

@media all and (min-width: 768px) {
    .spinal_intro {
        grid-template-columns:minmax(0, 1fr) minmax(18rem, 38%);
        gap: 2.25rem;
    }

    .split_block:has(.split_sec.half) .sec_tit, .spinal_intro h3 {
        font-size: 2.5rem;
        margin-bottom: 30px;
    }

    .spinal_desc {
        margin-bottom: 0.5rem;
        font-size: 1.5rem;
    }

    .spinal_intro_pic {
        aspect-ratio: 4 / 2.5;
    }

    .spinal_intro + .spinal_need {
        margin-top: 30px;
        /* padding-top: 52px; */
        border-top: 0;
    }

    .spinal_need + .spinal_block {
        margin-top: 52px;
        padding-top: 52px;
    }

    .spinal_need + .spinal_roadmap_block {
        border-top: 0;
    }

    .spinal_roadmap_block + .spinal_block {
        border-top: 0;
    }

    .spinal_block + .spinal_block {
        margin-top: 52px;
    }

    .spinal_need {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .spinal_need_card {
        padding: 1.75rem;
    }
}

@media all and (min-width: 1200px) {
    .spinal_intro {
        grid-template-columns:minmax(0, 1fr) minmax(26rem, 41%);
        gap: 3rem;
    }

    .split_block:has(.split_sec.half) .sec_tit, .spinal_intro h3 {
        font-size: 2.5rem;
        margin-bottom: 40px;
    }

    .spinal_intro + .spinal_need {
        margin-top: 50px;
        border-top: 0;
    }

    .spinal_need + .spinal_block {
        margin-top: 66px;
        padding-top: 66px;
    }

    .spinal_need + .spinal_roadmap_block {
        border-top: 0;
    }

    .spinal_roadmap_block + .spinal_block {
        border-top: 0;
    }

    .spinal_block + .spinal_block {
        margin-top: 66px;
    }

    .spinal_lead, .spinal_need_card p, .lined_box_cols .lined_box_item dd, .support_card > p, .support_account dd {
        font-size: 1.125rem;
    }

    .spinal_need {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1rem;
    }

    .spinal_need_card {
        /* min-height: 18rem; */
        padding: 2rem 1.75rem;
    }
}

@media all and (min-width: 1600px) {
    .split_block:has(.split_sec.half) .sec_tit, .spinal_intro h3 {
        /* font-size:3.25rem; */
    }

    .spinal_need_card {
        /* min-height: 19rem; */
        padding: 2.25rem 2rem;
    }

    .spinal_need_card h4 {
        font-size: 1.4rem;
    }

    .spinal_section_head h3 {
        font-size: 1.5rem;
    }
}

.spinal_roadmap_block {
    position: relative;
    left: 50%;
    width: 100vw;
    margin: 0;
    padding: 3.75rem 1rem 4rem;
    border: 0;
    border-radius: 0;
    background: #edf7ff;
    box-sizing: border-box;
    transform: translateX(-50%);
}

.spinal_need + .spinal_roadmap_block {
    padding-top: 3.75rem;
}

.spinal_roadmap_block > .left, .spinal_roadmap_block > .right {
    min-width: 0;
}

.spinal_roadmap_list {
    width: min(100%, 980px);
    margin: 0 auto;
}

.spinal_roadmap_circle {
    background: #fff;
    color: #3f4fa7;
    box-shadow: 0 18px 35px rgba(72,123,166,0.1);
}

.spinal_roadmap_circle .material-symbols-outlined {
    display: block;
    color: #c4c4c4;
}

.spinal_roadmap_circle small {
    display: block;
    margin-top: 0.35rem;
    color: #55708c;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.35;
    word-break: keep-all;
}

@media all and (min-width: 768px) {
    .spinal_roadmap_block {
        padding:4.5rem max(1.25rem, calc((100vw - 1400px) / 2));
    }

    .spinal_need + .spinal_roadmap_block {
        padding-top: 4.5rem;
    }

    .spinal_roadmap_list {
        gap: 2rem;
    }
}

@media all and (min-width: 1200px) {
    .spinal_roadmap_block {
        padding-top:5.5rem;
        padding-bottom: 5.75rem;
    }

    .spinal_need + .spinal_roadmap_block {
        padding-top: 5.5rem;
    }

    .spinal_roadmap_list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 3rem;
    }

    .spinal_roadmap_list li:not(:last-child):after {
        color: rgba(63,79,167,0.28);
    }
}

@media all and (min-width: 1600px) {
    .spinal_roadmap_block {
        padding-top:6rem;
        padding-bottom: 6.25rem;
    }

    .spinal_need + .spinal_roadmap_block {
        padding-top: 6rem;
    }
}

@media all and (min-width: 768px) {
    .spinal_block .spinal_need {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media all and (min-width: 1200px) {
    .spinal_block .spinal_need {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

/* migrated add-on styles */
#footer {
    background: #3a3a3a;
}
