/* 20250925 yoshida */
@charset "UTF-8";
.department_modal {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.6);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (min-width: 800px) {
}
.department_modal.show {
    opacity: 1;
    visibility: visible;
}
@media (min-width: 800px) {
}
.modal_content {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    transform: translateY(-20px);
    transition: transform 0.4s ease;
}
@media (min-width: 800px) {
}
.department_modal.show .modal_content {
  transform: translateY(0);
}

@media (min-width: 800px) {
}

.modal_title {
    position: relative;
    color: var(--0082-d-8, #0082d8);
    font-feature-settings: "palt" on;
    font-weight: 800;
    line-height: 100%;
}

@media (min-width: 800px) {
    .modal_title {
        font-size: 2rem;
        letter-spacing: .04rem;
        padding-bottom: 1.6rem;
        margin-bottom: 1.2rem;
    }
}
.modal_title:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
}
@media (min-width: 800px) {
    .modal_title:after {
        background-image: linear-gradient(to right, #E0E0E0 2px, transparent 2px);
        background-size: 4px 1px;
        background-repeat: repeat-x;
        background-position: left bottom;
    }
}
.modal_close {
    cursor: pointer;
    font-size: 20px;
    color: #555;
    position: absolute;
    top: 5px;
    right: 5px;
    font-weight: bold;
    transition: color 0.2s;
}
@media (min-width: 800px) {
}

.modal_open {
    position: absolute;
    right: 15px;
    bottom: 0px;
    display: flex;
    align-items: center;
    color: rgb(0, 130, 216);
    text-decoration: underline;
}
@media (min-width: 800px) {
}

.modal_ul {
}
@media (min-width: 800px) {
    .modal_ul {
        margin-bottom: .3rem;
    }
}

.modal_ul li {
    position: relative;
    text-align: justify;
    font-feature-settings: "palt" on;
    font-weight: 500;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
@media (min-width: 800px) {
    .modal_ul li {
        font-size: 1.5rem;
        letter-spacing: .03rem;
        line-height: 200%;
        padding-left: 2rem;
    }
}

.modal_ul li:before {
    content: "";
    position: absolute;
    left: 0;
    transform: translateY(-50%);
    background-color: #0082d8;
    border-radius: 50%;
}
@media (min-width: 800px) {
    .modal_ul li:before {
        top: 1.2em;
        width: .6rem;
        height: .6rem;
    }
}
