@charset "UTF-8";

/* Public subpage design. Loaded by the two portal layouts, including AJAX views. */
.portal-subpage {
    --sub-ink: #06194f;
    --sub-blue: #006da8;
    --sub-line: #dce5ee;
    --sub-surface: #f3f8fc;
    --sub-gradient: linear-gradient(100deg, #0c9ead, #003089);
    --sub-radius: 1.25rem;
}

/* Location menus keep their existing dropdown and sharing behavior. */
.portal-subpage .sub-nav-wrap {
    background: #f7f9fc;
    border-top: 1px solid var(--sub-line);
    border-bottom: 1px solid var(--sub-line);
}
.portal-subpage .sub-nav-wrap > div {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: min(var(--pub-content-max), calc(100% - 2 * var(--pub-gutter)));
    max-width: none;
    padding-inline: 0;
}
.portal-subpage #sub-nav {
    flex: 1;
    min-width: 0;
    height: auto;
    min-height: 3.75rem;
    flex-wrap: nowrap;
}
.portal-subpage #sub-nav > li {
    flex: 0 1 19rem;
    width: auto;
    min-width: 0;
}
.portal-subpage #sub-nav > li:first-child { flex: 0 0 3rem; }
.portal-subpage #sub-nav > li > a {
    min-height: 3.75rem;
    color: #526174;
    border-color: var(--sub-line);
}
.portal-subpage #sub-nav > li > a:not(.home) {
    padding: .875rem 2.5rem .875rem 1.25rem;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.5;
}
.portal-subpage #sub-nav > li > a.home {
    width: 3rem;
    padding: 0;
    justify-content: center;
    background: none;
    border-left: 0;
}
.portal-subpage #sub-nav > li > a.home::before {
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    background: currentColor;
    -webkit-mask: url(../images/common/icn_home.svg) center / contain no-repeat;
    mask: url(../images/common/icn_home.svg) center / contain no-repeat;
}
.portal-subpage #sub-nav > li > a:not(.home)::after {
    width: .4375rem;
    height: .4375rem;
    margin: 0;
    top: calc(50% - .375rem);
    right: 1.125rem;
    background: none;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
}
.portal-subpage #sub-nav > li.is-active > a::after { transform: rotate(225deg); }
.portal-subpage #sub-nav > li:last-child > a,
.portal-subpage #sub-nav > li.is-active > a { color: var(--sub-ink); font-weight: 700; }
.portal-subpage #sub-nav ul {
    border: 1px solid var(--sub-line);
    border-radius: .875rem;
    padding: .5rem;
    text-align: left;
}
.portal-subpage #sub-nav ul li a { min-height: 2.75rem; border-radius: .5rem; }
.portal-subpage #sub-nav ul li.is-current a { background: #edf5fb; color: var(--sub-blue); font-weight: 700; }
.portal-subpage .acctoggle { position: static; flex: none; transform: none; }
.portal-subpage .acctoggle :is(.sns_btn, .sub-print) {
    width: 3rem;
    height: 3rem;
    color: #526174;
    border-color: var(--sub-line);
    border-radius: .75rem;
    background: #fff;
}
.portal-subpage .acctoggle :is(.sns_btn:hover, .sns_btn.is-active, .sub-print:hover) {
    color: var(--sub-blue);
    background: #edf5fb;
    border-color: #a8c8df;
    transform: none;
}
.portal-subpage .sub-breadcrumb ol { color: #526174; }
.portal-subpage .sub-breadcrumb :is([aria-current="page"], a:hover) { color: var(--sub-ink); }

/* Match the main page's fluid content edges and establish a clear heading rhythm. */
.portal-subpage #contents.inner {
    width: min(var(--pub-content-max), calc(100% - 2 * var(--pub-gutter)));
    max-width: none;
    padding: clamp(2rem, 4vw, 4rem) 0 clamp(3rem, 6vw, 6rem);
}
.portal-subpage .content-title {}
.portal-subpage .content-title h2 {
    position: relative;
    padding-top: 1rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.04em;
    overflow-wrap: anywhere;
}
.portal-subpage .content-title h2::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 2.5rem;
    height: .25rem;
    border-radius: 1rem;
    background: var(--sub-gradient);
    display:none;
}
.portal-subpage .content-title p { margin-top: .75rem; font-size: 1.125rem; line-height: 1.6; color: #526174; }
.portal-subpage .lnb-dept2 { gap: .625rem; margin-bottom: 2rem; }
.portal-subpage .lnb-dept2 a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: .75rem 1.375rem;
    font-size: 1.0625rem;
    line-height: 1.5;
    border-color: var(--sub-line);
}
.portal-subpage .lnb-dept2 a:hover { background: var(--sub-surface); color: var(--sub-blue); border-color: #a8c8df; }
.portal-subpage .lnb-dept2 a.is-current { background: var(--sub-ink); color: #fff; border-color: var(--sub-ink); }
.portal-subpage .tab-nav { border-color: var(--sub-line); border-radius: .875rem; }
.portal-subpage .tab-nav li { min-width: 0; }
.portal-subpage .tab-nav :is(a, [role="tab"]) {
    height: auto;
    min-height: 3.5rem;
    padding: .875rem 1rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
    border-color: var(--sub-line);
}
.portal-subpage .tab-nav a:hover { color: var(--sub-blue); background: var(--sub-surface); }
.portal-subpage .tab-nav :is(a.is-current, [role="tab"].is-current, [role="tab"][aria-selected="true"]) {
    background: var(--sub-ink);
    color: #fff;
}

/* Introductory panels use the illustrations already supplied for each service. */
/*.portal-subpage .page-hero {
    margin: 0 0 2.5rem;
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border: 1px solid #e3edf5;
    border-radius: var(--sub-radius);
    background: linear-gradient(110deg, #f0f8fc, #f5f7fd);
}*/
.portal-subpage .page-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(9rem, 24rem); gap: 2rem; }
.portal-subpage .page-hero-text { min-width: 0; }
.portal-subpage .page-hero-eyebrow {margin-bottom: 1rem;font-size: 1rem;font-weight: 700;color: var(--sub-blue);}
.portal-subpage .page-hero .tit {line-height: 1.4;}
.portal-subpage .page-hero-desc {max-width: 48rem;margin-top: 1rem;font-size: 1.2rem;line-height: 1.75;color: #526174;}
.portal-subpage .page-hero-visual img { width: 100%; max-width: 24rem; height: auto; object-fit: contain; }
.portal-subpage .page-hero-btn {
    min-width: 0;
    max-width: 100%;
    height: auto;
    min-height: 3rem;
    margin-top: 1.5rem;
    padding: .75rem 1.5rem;
    font-size: 1rem;
    line-height: 1.5;
}
.portal-subpage .page-hero-btn:hover { background: var(--sub-ink); color: #fff; }
.portal-subpage .basic-text-box01 {
    padding: 1.25rem;
    border: 1px solid var(--sub-line);
    border-radius: .875rem;
    background: #fff;
    line-height: 1.7;
}
.portal-subpage .page-hero .basic-text-box01 {
    margin-top: 2rem;
    background: #fff;
    border: 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
}
.portal-subpage .page-hero .basic-text-box01  .icon {
    margin-top: 0.2rem;
}


/* Lists, detail headings and actions share borders, radii and selection colors. */
.portal-subpage .search-area:is(.search-area--basic, .search-area--filters) {
}
.portal-subpage .search-area:is(.search-area--basic, .search-area--filters) .search-btn {min-height: 3.0625rem;background: var(--sub-blue);border-radius: 30px;background: linear-gradient(90deg, #0a9eb6, #2157bc);width: 100px;}
.portal-subpage .list-top-info { gap: 1rem; }
.portal-subpage .board-list[data-board-type="table"] { border-top-color: var(--sub-ink); }
.portal-subpage .board-list[data-board-type="table"] thead { background: var(--sub-surface); }
.portal-subpage .board-list[data-board-type="table"] tbody tr:hover { background: #f7fafc; }
.portal-subpage .card-list .card-box { border-color: var(--sub-line); border-radius: var(--sub-radius); }
.portal-subpage .card-list .card-box:hover {
    transform: none;
    border-color: #91b8d4;
    box-shadow: 0 .375rem 1.25rem rgba(6, 25, 79, .06);
}
.portal-subpage .card-list .card-box:focus-within { border-color: var(--sub-blue); }
.portal-subpage .card-list .item-tit .tit b { color: var(--sub-ink); line-height: 1.5; }
.portal-subpage .board-view .board-view-head {
    padding: 2rem 1.5rem;
    border-top-color: var(--sub-ink);
    border-bottom-color: var(--sub-line);
    background: var(--sub-surface);
}
.portal-subpage .board-view .board-view-title b { color: var(--sub-ink); font-weight: 700; line-height: 1.5; }
.portal-subpage .detail-view { gap: 3rem; }
.portal-subpage .deatil-head-inner {
    border-color: var(--sub-line);
    border-radius: var(--sub-radius);
    padding: clamp(1.25rem, 3vw, 2rem);
}
.portal-subpage .detail-title { color: var(--sub-ink); line-height: 1.45; overflow-wrap: anywhere; }
.portal-subpage .detail-info-grid { background: var(--sub-surface); border-radius: .875rem; }
.portal-subpage .detail-nav { border-color: var(--sub-line); border-radius: .875rem; }
.portal-subpage .detail-nav :is(a, [role="tab"]) {
    min-height: 3.5rem;
    height: auto;
    padding: .875rem 1rem;
    line-height: 1.5;
    border-color: var(--sub-line);
}
.portal-subpage .detail-nav a:hover { background: var(--sub-surface); color: var(--sub-blue); }
.portal-subpage .detail-nav :is(a.is-current, [role="tab"][aria-selected="true"]) { background: var(--sub-ink); color: #fff; }
.portal-subpage .detail-view .section-bg { margin: 1.5rem 0 0; border: 1px solid var(--sub-line); border-radius: var(--sub-radius); }
.portal-subpage .detail-view .section-bg::before { display: none; }
.portal-subpage .detail-section-title { color: var(--sub-ink); }
.portal-subpage .pagination { margin-top: 2.5rem; }
.portal-subpage .pagination .page-item .page-link {
    min-width: 3.0625rem;
    min-height: 3.0625rem;
    max-height: none;
    padding: .5rem;
    border-radius: .75rem;
    line-height: 1.5;
}
.portal-subpage .pagination .page-item.active .page-link { background: var(--sub-ink); }
.portal-subpage .pagination .page-item:not(.active) .page-link:hover { background: var(--sub-surface); }
.portal-subpage #contents .btn:hover { opacity: 1; filter: brightness(.94); }
.portal-subpage #contents .btn:disabled:hover { filter: none; }
.portal-subpage .accordion-trigger { padding: 1.5rem 3.25rem 1.5rem 1.25rem; }
.portal-subpage .accordion-trigger b { color: var(--sub-ink); font-size: 1.125rem; line-height: 1.6; }
.portal-subpage .accordion-trigger[aria-expanded="true"] { background: var(--sub-surface); }
.portal-subpage .accordion-panel-inner { padding: 1.5rem; background: var(--sub-surface); line-height: 1.75; }
.portal-subpage .login-card { border-color: var(--sub-line); border-radius: var(--sub-radius); box-shadow: 0 .75rem 2.5rem rgba(6, 25, 79, .04); }
.portal-subpage .site-process-list li { border-color: var(--sub-line); border-radius: var(--sub-radius); }
.portal-subpage .site-process-list li > span { border-top-left-radius: var(--sub-radius); }
.portal-subpage .site-process-list i { color: var(--sub-blue); background: #edf5fb; border-radius: 1rem; }

/* Contacts form a quiet closing panel, with no extra nested container gutters. */
.portal-subpage .wrap-rating { margin-top: 3rem; }
.portal-subpage .wrap-rating .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 2rem;
    padding: 1.5rem 2rem;
    background: #fff;
    border: 1px solid var(--brd-color);
    border-radius: var(--radius-md);
}
.portal-subpage .wrap-rating :is(.title, .title2, .person, .modify) { display: block; width: auto; margin: 0; }
.portal-subpage .wrap-rating .title { flex: none; color: var(--sub-ink); font-weight: 700; }
.portal-subpage .wrap-rating .title::after { display: none; }
.portal-subpage .wrap-rating .title p { padding: 0; background: none; }
.portal-subpage .wrap-rating .person { display: flex; flex: 1 1 22rem; flex-wrap: wrap; gap: .75rem 2rem; }
.portal-subpage .wrap-rating .person :is(.team, .tel),
.portal-subpage .wrap-rating .modify .date { margin: 0; padding: 0; background: none; line-height: 1.7; overflow-wrap: anywhere; }
.portal-subpage .wrap-rating .person b { margin-right: .75rem; color: #526174; }
.portal-subpage .wrap-rating .person a { color: var(--sub-blue); text-underline-offset: .1875rem; }
.portal-subpage .wrap-rating .person a:hover { text-decoration: underline; }

@media (max-width: 63.9375em) {
    .portal-subpage #sub-nav { display: none; }
    .portal-subpage .sub-nav-wrap > div { min-height: 3.75rem; padding-block: .5rem; }
}
@media (max-width: 47.9375em) {
    .portal-subpage .sub-nav-wrap > div { gap: .5rem; }
    .portal-subpage .acctoggle { gap: .375rem; }
    .portal-subpage .content-title {}
    .portal-subpage .page-hero {margin-bottom: 2rem;}
    .portal-subpage .page-hero-inner { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .portal-subpage .page-hero-visual {/* display: none; */width: 150px;margin-left: auto;}
    .portal-subpage .lnb-dept2 { gap: .5rem; }
    .portal-subpage .lnb-dept2 a { padding-inline: 1rem; font-size: 1rem; }
    .portal-subpage .tab-nav ul,

    .portal-subpage .tab-nav.is-tab {flex-wrap: wrap;gap: var(--space-2);display: grid;grid-template-columns: repeat(2, 1fr);}
    .portal-subpage .tab-nav li,
    .portal-subpage .tab-nav.is-tab > [role="tab"] { flex: 1 1 50%; }
    .portal-subpage .tab-nav { border:0; border-radius:0; gap:var(--space-1);}
    .portal-subpage .tab-nav li {border: 1px solid var(--brd-color);border-radius: var(--radius-md);overflow: hidden;}
    .tab-nav a, .tab-nav [role="tab"] {  border:0;}

    .portal-subpage .board-view .board-view-head { padding: 1.5rem 1rem; }
    .portal-subpage .detail-view { gap: 2rem; }
    .portal-subpage .detail-view .section-bg { padding: 1.25rem; }
    .portal-subpage .wrap-rating .inner { padding: 1.25rem; gap: .75rem; }
    .portal-subpage .wrap-rating .person { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .portal-subpage :is(.card-box, .lnb-dept2 a, .accordion-trigger, .accordion-panel) { transition: none; }
}
