/* Existing styles */
.footer__horizontal-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.hpd-mail-form__error-message {
    color: red;
    font-size: 12px;
    margin-top: 5px;
}

.is-error {
    border-color: red !important;
}

/* Category Colors */

.hpd-top-2__item-category {
    background-color: #d1d1d1 !important;
}

.cat-bl-buhin {
    background-color: rgb(249, 209, 210) !important;
}

.cat-research {
    background-color: #c4e4e0 !important;
}

.cat-test {
    background-color: #cae7f9 !important;
}

.cat-performance {
    background-color: #fac77d !important;
}

.cat-about {
    background-color: #ddd !important;
}

.cat-stock {
    background-color: #dfdaec !important;
}

.cat-security {
    background-color: #dfdaec !important;
}

.cat-iso {
    background-color: #d2ead0 !important;
}

.cat-default {
    background-color: #ddd !important;
}

.mt-3 {
    margin-top: 3rem;
}

.mb-3 {
    margin-bottom: 3rem;
}

.hpd-main-5__section-link {
    color: inherit
}

.hpd-main-5__section-link,
.hpd-slider__track .hpd-slider__link {
    text-decoration: none;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.hpd-inquiry__recruit-contact {
    cursor: pointer;
}

/* Error Message Styling */
.hpd-inquiry__error-message {
    color: #e60012;
    font-size: 14px;
    margin-top: 5px;
    line-height: 1.4;
}

.hpd-inquiry__field {
    position: relative;
}

/* Specific positioning for Recruit School fields */
.hpd-inquiry__recruit-fields-content .hpd-inquiry__error-message {
    left: 130px !important;
    margin-left: 0 !important;
    width: calc(100% - 130px);
}

/* Ensure file upload errors are visible */
.hpd-inquiry__file-upload .hpd-inquiry__error-message {
    margin-top: 5px;
    display: block;
    left: 0 !important;
}

.hpd-contact-list__td.is-phone {
    text-align: center;
}

.hpd-about__accordion-subsection-title {
    font-weight: normal !important;
    margin-bottom: 0 !important;
}

/* CASBEE News Updates */
.hpd-003__news-list {
    height: 128px;
    overflow-y: auto;
}

.hpd-005-2__table-item-files-item-name a,
.hpd-003__news-text a {
    color: inherit;
    text-decoration: none;
}

.hpd-003__news-text a:hover {
    text-decoration: underline;
}

/* Per Page Active State */
.hpd-003__list-per-page-link.is-active {
    font-weight: bold;
}

.hpd-003__list-pdf-link-text-save {
    font-size: 10px;
    color: #999;
}

.hpd-heading__title.custom {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

#navcontainer.custom {
    margin-top: 20px;
}

ol.custom {
    list-style: decimal;
    padding-inline-start: 40px;
}

/* Youkou */
.youkou-html a {
    background-color: transparent;
}

.youkou-html a:active,
.youkou-html a:hover {
    outline: 0;
}

.youkou-html img {
    border: 0;
}

@media print {

    .youkou-html *,
    .youkou-html :after,
    .youkou-html :before {
        color: #000 !important;
        text-shadow: none !important;
        background: 0 0 !important;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
    }

    .youkou-html a,
    .youkou-html a:visited {
        text-decoration: underline;
    }

    .youkou-html a[href]:after {
        content: "" !important;
    }

    .youkou-html img {
        page-break-inside: avoid;
    }

    .youkou-html img {
        max-width: 100% !important;
    }

    .youkou-html p {
        orphans: 3;
        widows: 3;
    }
}

.youkou-html * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.youkou-html :after,
.youkou-html :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.youkou-html a {
    color: #337ab7;
    text-decoration: none;
}

.youkou-html a:focus,
.youkou-html a:hover {
    color: #23527c;
    text-decoration: underline;
}

.youkou-html a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

.youkou-html img {
    vertical-align: middle;
}

.youkou-html h6 {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
}

.youkou-html h6 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.youkou-html h6 {
    font-size: 12px;
}

.youkou-html p {
    margin: 0 0 10px;
}

.youkou-html ul {
    margin-top: 0;
    margin-bottom: 10px;
}

.youkou-html dl {
    margin-top: 0;
    margin-bottom: 20px;
}

.youkou-html dd,
.youkou-html dt {
    line-height: 1.42857143;
}

.youkou-html dt {
    font-weight: 700;
}

.youkou-html dd {
    margin-left: 0;
}

.youkou-html .panel {
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
    box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
}

.youkou-html .panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.youkou-html .panel-default {
    border-color: #ddd;
}

.youkou-html .panel-default>.panel-heading {
    color: #333;
    background-color: #f5f5f5;
    border-color: #ddd;
}

.youkou-html .well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
}

.youkou-html a {
    background-color: transparent;
}

.youkou-html a:active,
.youkou-html a:hover {
    outline: 0;
}

.youkou-html img {
    border: 0;
    display: inline;
    vertical-align: middle;
}

@media print {
    .youkou-html img {
        page-break-inside: avoid;
    }

    .youkou-html *,
    .youkou-html :after,
    .youkou-html :before {
        background: 0 0 !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    .youkou-html a,
    .youkou-html a:visited {
        text-decoration: underline;
    }

    .youkou-html a[href]:after {
        content: "" !important;
    }

    .youkou-html img {
        max-width: 100% !important;
    }

    .youkou-html p {
        orphans: 3;
        widows: 3;
    }
}

.youkou-html *,
.youkou-html :after,
.youkou-html :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.youkou-html a {
    color: #4671b2;
    text-decoration: none;
}

.youkou-html a:focus,
.youkou-html a:hover {
    color: rgba(20, 44, 64, .82);
    text-decoration: underline;
}

.youkou-html a:focus {
    outline: dotted thin;
    outline: -webkit-focus-ring-color auto 5px;
    outline-offset: -2px;
}

.youkou-html h6 {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
}

.youkou-html h6 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.youkou-html h6 {
    font-size: 12px;
}

.youkou-html p {
    margin: 0 0 10px;
}

.youkou-html dd,
.youkou-html dt {
    line-height: 1.42857143;
}

.youkou-html dt {
    font-weight: 700;
}

.youkou-html dl,
.youkou-html ul {
    margin-top: 0;
}

.youkou-html ul {
    margin-bottom: 10px;
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 40px;
    unicode-bidi: isolate;
}

.youkou-html.setsumeikai ul {
    padding-inline-start: 0;
}

.youkou-html dl {
    margin-bottom: 20px;
}

.youkou-html dd {
    margin-left: 0;
}

.youkou-html .panel {
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
    box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
}

.youkou-html .panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
}

.youkou-html .panel-default {
    border-color: #ddd;
}

.youkou-html .panel-default>.panel-heading {
    color: #333;
    background-color: #f5f5f5;
    border-color: #ddd;
}

.youkou-html .well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
}

.youkou-html .well.second {
    margin-top: 20px;
}

.youkou-html .panel {
    color: gray-dark;
}

.youkou-html h6 {
    text-shadow: 1px 1px 1px #ddd;
    font-size: 1em;
}

.youkou-html .panel-heading {
    font-size: 1.2em;
}

.youkou-html .youkou_t {
    font-size: 26px;
    margin: 36px 0 16px 0;
}

.youkou-html .youkou_txt {
    line-height: 120%;
    margin-left: 26px;
}

.youkou-html .youkou_txt dl {
    margin-top: 40px;
}

.youkou-html .youkou_txt dt {
    margin: 20px 0 20px 0;
}

.youkou-html .youkou_txt dd {
    margin: 10px 10px 10px;
}

.youkou-html h6 {
    border-bottom: solid 1px #bbb;
    margin: 26px 0 12px 0;
}

.youkou-html .sche {
    margin-left: 4px;
}

.youkou-html .sche ul {
    display: flex;
    list-style: none;
}

.youkou-html .sche ul li {
    margin-right: 0.4em;
}

.youkou-html .li_date {
    width: auto;
    text-align: right;
}

.youkou-html .li_time {
    margin-left: 0.4em;
}

.notification-html ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 1.5em;
    unicode-bidi: isolate;
    margin-top: 0;
    margin-bottom: 0;
}

.notification-html ul li {
    line-height: 1.6em;
}

.notification-html img {
    display: inline;
}

.notification-html-hantei ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 40px;
    unicode-bidi: isolate;
    margin-top: 0;
    margin-bottom: 0;
}

.notification-html-hantei ul li {
    line-height: 1.4em;
}

.notification-html img {
    display: inline;
}

.hpd-banner__content-title.custom {
    margin: 0;
    height: auto;
}

.table-hantei {
    border: none !important;
}

.table-hantei .panel-body {
    padding: 0 !important;
}

.table-hantei .panel-heading {
    border: 1px solid #ddd;
    border-bottom: 0;
}

/* Table Scroll for Mobile */
.hpd-003__list-table,
.hpd-003__table {
    min-width: 600px;
}

.hpd-003__list-table,
.hpd-003__download-table {
    overflow-x: auto;
}


/* ========================================
   Editor Content Styles
   For content from TinyMCE editor
   ======================================== */

.hpd-notice-box__content h1,
.hpd-notice-box__content h2,
.hpd-notice-box__content h3,
.hpd-notice-box__content h4,
.hpd-notice-box__content h5,
.hpd-notice-box__content h6 {
    color: var(--gray-dark-color-700);
    line-height: 1.4;
    margin-top: 1em;
    margin-bottom: 0.5em;
}

.hpd-notice-box__content h1:first-child,
.hpd-notice-box__content h2:first-child,
.hpd-notice-box__content h3:first-child,
.hpd-notice-box__content h4:first-child,
.hpd-notice-box__content h5:first-child,
.hpd-notice-box__content h6:first-child {
    margin-top: 0;
}

.hpd-notice-box__content h1 {
    font-size: 2em;
    font-weight: 600;
}

.hpd-notice-box__content h2 {
    font-size: 1.5em;
    font-weight: 600;
}

.hpd-notice-box__content h3 {
    font-size: 1.25em;
    font-weight: 600;
}

.hpd-notice-box__content h4 {
    font-size: 1.1em;
    font-weight: 600;
}

.hpd-notice-box__content h5 {
    font-size: 1em;
    font-weight: 600;
}

.hpd-notice-box__content h6 {
    font-size: 0.9em;
    font-weight: 600;
}

.hpd-notice-box__content p {
    color: var(--gray-dark-color-700);
    line-height: 1.8;
    margin-bottom: 1em;
}

.hpd-notice-box__content p:last-child {
    margin-bottom: 0;
}

.hpd-notice-box__content a {
    color: var(--sidebar-link-color);
    text-decoration-line: none;
    transition: color 0.2s ease;
    font-size: inherit;
}

.hpd-notice-box__content a:hover {
    color: var(--sidebar-link-hover-color);
    text-decoration-line: underline;
}

.hpd-notice-box__content ul,
.hpd-notice-box__content ol {
    color: var(--gray-dark-color-700);
}

.hpd-notice-box__content ul {
    list-style-type: disc;
}

.hpd-notice-box__content ol {
    list-style-type: decimal;
}

.hpd-notice-box__content li {
    line-height: 1.6;
    margin-bottom: 0;
    font-size: 14px;
}

.hpd-notice-box__content li:last-child {
    margin-bottom: 0;
}

.hpd-notice-box__content blockquote {
    margin: 1em 0;
    padding: 1em 1.5em;
    border-left: 4px solid var(--gray-color-300);
    background-color: var(--gray-color-50);
    color: var(--gray-dark-color-700);
    font-style: italic;
}

.hpd-notice-box__content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
}

.hpd-notice-box__content table th,
.hpd-notice-box__content table td {
    border: 1px solid var(--download-table-border-color);
    padding: 10px 15px;
    text-align: left;
    color: var(--gray-dark-color-700);
}

.hpd-notice-box__content table th {
    background-color: var(--gray-color-50);
    font-weight: 600;
}

.hpd-notice-box__content img {
    max-width: 100%;
    height: auto;
}

.hpd-notice-box__content strong,
.hpd-notice-box__content b {
    font-weight: 600;
}

.hpd-notice-box__content em,
.hpd-notice-box__content i {
    font-style: italic;
}

.hpd-notice-box__content u {
    text-decoration: underline;
}

.hpd-notice-box__content s,
.hpd-notice-box__content strike {
    text-decoration: line-through;
}

.hpd-top-1__link-banners .hpd-top-1__link-banner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.row.row-custom {
    justify-content: normal;
}