@charset "UTF-8";

html {
    background-color: #d0e2ec;
}

html * {
    box-sizing: border-box;
}

body {
    color: #0f0d0d;
    font-family: 'Yu Gothic';
    margin: 0;
    padding: 0;
}

img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
    color: #333333;
}

a :hover {
    text-decoration: underline;
}

p {
    color: #222;
    line-height: 1em;
}

.wrapper_1 {
    max-width: 1170px;
    margin: 0 auto;
}

/* ヘッダーここから */
.header {
    background-color: #ffffff;
    width: 100%;
    height: auto;
    margin: 0 auto 50px auto;
    padding: 15px 0 10px 0;
}

.header_inner {
    max-width: 1170px;
    height: auto;
    display: flex;
    margin: 0 auto;
}

.title_logo {
    height: auto;
}

.title_logo p {
    color: #2d2bb4;
    font-size: 20px;
    margin: 10px auto;
    font-weight: 600;
}

.hand-chan_1 {
    height: 100px;
    width: auto;
    margin: 5px 0 0 5px;
}

.title_img {
    display: flex;
}

/* ヘッダー　ボタン */
.header_btn_wrapper_1 {
    margin: auto 0 auto auto;

}

.header_btn_wrapper_2 {
    width: 250px;
    display: flex;
    margin: 0 0 0 auto;
}

.header_btn_wrapper_2 p {
    margin: 10px;
}

.header_btn {
    margin: auto 3px;
}

.header_btn :hover {
    opacity: 0.6;
}

/* ヘッダー　サイズ変更ボタン */
.size_btn {
    width: 50px;
    height: 30px;
    padding: 0.2em;
    margin-left: 3px;
    color: #fff;
    background-color: #03a5c7;
    font-weight: bold;
    text-align: center;
    border-radius: 3px;
}

/* ヘッダー　色変更ボタン */
.color_btn_white,
.color_btn_black,
.color_btn_blue {
    width: 30px;
    height: 30px;
    padding: 0.2em;
    font-weight: bold;
    text-align: center;
    border-radius: 3px;
}

.color_btn_white {
    margin-left: 17px;
    color: #333333;
    background-color: #fff;
    border: #9c9c9c solid 1px;
}

.color_btn_black {
    color: #fff;
    background-color: #000;
    border: #9c9c9c solid 1px;
}

.color_btn_blue {
    color: #dfdf20;
    background-color: #0000ff;
    border: #9c9c9c solid 1px;
}

/* ヘッダーここまで */



/* メインここから */
.main_contents_top {
    width: 100%;
    height: auto;
}

.main_inner_top {
    width: auto;
    height: auto;
    display: flex;

}

/* 新着情報 */
.news_contents {
    background-color: #ffffff;
    width: 100%;
    height: auto;
    padding: 5px 110px 20px 110px;
    text-align: center;
    display: block;
    margin-bottom: 30px;
}

.news_list {
    width: 100%;
}

.news_list ul {
    text-align: left;
    padding-left: 0;
    display: inline;
}

.news_list li {
    list-style: none;
    border-bottom: #DDDCD6 1px solid;
    margin: 10px;
    padding: 5px 0;
}

.news_btn {
    width: 180px;
    background-color: #ffffff;
    border: hsl(0, 0%, 49%) 1px solid;
    margin: 30px auto;
    cursor: pointer;
    display: block;
    text-align: center;
}

.news_btn a {
    padding: 10px 40px;
    display: block;
}

.news_btn:hover {
    text-decoration: none;
    background-color: #eee;
}

.new {
    color: #EF4123;
    font-weight: bold;
    margin-left: 5px;
    animation: animation_text_blink 2s linear 0s infinite normal both;
}

@keyframes animation_text_blink {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

/* バナー */
.banner {
    width: 250px;
    height: auto;
    margin: 0 0 0 auto;
    display: block;
}

.banner img {
    width: 250px;
    height: auto;
    display: block;
    margin: 0 0 5px 10px;
}

.banner :hover {
    opacity: 0.9;
}


/* ログインメニュー */
.login {
    width: 100%;
    height: auto;
    display: flex;
    background-color: #fff;
    border-top: 6px solid #a9c8fb;
}

.login p {
    color: #333333;
    font-size: 20px;
    font-weight: bold;
    margin: 20px auto;
}

.login_inner {
    width: auto;
    height: auto;
    display: flex;
    margin: 50px auto;
}

.login_btn {
    width: 100%;
    margin: 0 20px;
    text-align: center;
}

/* ログイン ボタン */
.Office_login,
.staff_login,
.share_login {
    width: 300px;
    height: 80px;
    padding: 1.2em;
    margin: 10px 0;
    display: block;
    color: #fff !important;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
    border-radius: 6px;
    text-align: center;
}

.Office_login {
    background: linear-gradient(to right, #1276e8, #0ca1d6);
    box-shadow: 0 5px 0 #1872da;
}

.staff_login {
    background: linear-gradient(to right, #f28121, #f6b990);
    box-shadow: 0 5px 0 #d57b2c;
}

.share_login{
    background: linear-gradient(to right, #2fa967, #54c985);
    box-shadow: 0 5px 0 #3cb371;
}

a.Office_login:after,
a.staff_login:after,
a.share_login:after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url(../images/login.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
}

a.Office_login:after {
    margin: 0 0 0 60px;
}

a.staff_login:after {
    margin: 0 0 0 75px;
}

a.share_login:after {
    margin: 0 0 0 60px;
}

a.Office_login:hover,
a.staff_login:hover,
a.share_login:hover {
    opacity: 0.9;
}

/* メインここまで */




/* フッターここから */
.footer {
    font-size: 14px;
    height: auto;
    background-image: url(../images/footer_img.png);
    background-repeat: repeat-x;
    margin-top: 200px;
    padding: 20px 0;
    text-align: center;
}

.footer p {
    font-size: 14px;
    line-height: 1em;
}

.hand-chan_2 {
    height: 100px;
    width: auto;
}

/* フッターここまで */



/* 画面サイズ　767px */
@media screen and (max-width:767px) {

    html * {
        font-size: 14px;
    }

    /* ヘッダー　767px */
    .header {
        padding: 10px 0 10px 0;
        margin-bottom: 0;
    }

    .header_inner {
        flex-direction: column;
    }

    .title_img {
        order: 2;
        padding: 10px 10px 0 10px;
    }

    .hand-chan_1 {
        margin: 0 0 0 0px;
    }

    .header_btn_wrapper_1 {
        order: 1;
        display: flex;
        width: 100%;
        padding-bottom: 10px;
        border-bottom: #d0e2ec solid 2px;
    }

    .title_logo {
        margin-top: 5px;
    }

    .title_logo p {
        font-size: 18px;
        line-height: 1.1em;
        margin: 10px auto 0 0;
        font-weight: 600;
    }

    .title_logo span {
        font-size: 20px;
        line-height: 1.3em;
        display: inline-block;
    }

    .color_btn_white {
        margin-left: 3px;
    }


    /* 新着情報　767px */
    .main_contents_top {
        width: 100%;
        margin: 0 0 50px 0;
    }

    .main_inner_top {
        display: block;
        margin: 0 10px;
    }

    .news_contents {
        width: auto;
        padding: 5px 10px 20px 5px;
        margin-top: 50px;
    }

    .news_list li {
        margin: 5px 10px;
    }

    h2 {
        font-size: 24px;
    }

    /* ログイン　767px */
    .login_inner {
        display: block;
    }

    .login {
        width: 100%;
        height: 100%;
        margin: 50px 0 0 0;
    }

    .login_btn {
        margin: 30px auto;
    }


    /* バナー　767px */
    .banner {
        margin: 0 auto;
    }

    .banner img {
        margin: 5px 0;
    }


    /* フッター　767px */
    .footer {
        margin-top: 100px;
    }

    .footer span {
        display: inline-block;
        line-height: 2em;
    }

}


/* 画面サイズ　768px ～ 1150px */
@media screen and (min-width: 768px) and (max-width: 1024px) {

    .header {
        padding: 10px 20px 10px 20px;
    }

    .wrapper_1 {
        margin: 0 20px 0 20px;
    }

    .news_contents {
        padding: 5px 50px 20px 50px;
    }

    .Office_login,
    .staff_login {
        width: 250px;
    }

    a.Office_login::after {
        margin: 0 0 0 20px;
    }

    a.staff_login:after {
        margin: 0 0 0 35px;
    }

    .banner img {
        width: 90%;
        display: block;
        margin: 0 0 5px auto;
    }

    .login_btn {
        margin: 0 10px;
    }

}

/* 画面サイズ　344px */
@media screen and (max-width:344px) {

    .size_btn {
        width: 40px;
        height: 30px;
    }

    .header_btn_wrapper_2 p {
        margin: auto 5px;
    }

}



/* 新着情報ページ */
.news_title {
    font-size: 28px;
}

.news_contents_2 {
    background-color: #ffffff;
    width: 100%;
    height: auto;
    padding: 20px 110px 50px 110px;
    text-align: center;
    display: block;
}

.news_list_2 {
    width: 100%;
    height: auto;
    margin: 50px 0;
}

.news_list_2 ul {
    text-align: left;
    padding-left: 0;
}

.news_list_2 li {
    list-style: none;
    border-bottom: #DDDCD6 1px solid;
    margin: 20px;
    padding: 5px 0;
}

/* 新着情報ページ 画面サイズ　767px */
@media screen and (max-width:767px) {

    .news_contents_2 {
        width: auto;
        padding: 20px 0 50px 0;
        margin: 0;
    }

    .subject {
        display: block;
    }

    .news_list_2 li {
        margin: 5px 10px;
    }

}



/* 新着情報　詳細ページ */
.news_wrap {
    width: 90%;
    margin: 80px auto;
    text-align: center;
}

.news_contents_3 {
    width: 100%;
    height: auto;
    margin: 0 auto 80px auto;
    text-align: left;
}

.news_contents_3 h2 {
    margin: 0 auto 30px auto;
    border-bottom: #a9c8fb solid 6px;
}

.text_box {
    width: 100%;
    height: auto;
}

.text_box p {
    line-height: 1.5em;
}

.text_box a {
    color: #333;
    text-decoration: underline;
}

.data {
    font-size: 20px;
}


/* 新着情報 詳細ページ 767px */
@media all and (max-width: 767px) {

    .news_wrap {
        width: 100%;
        margin: 40px auto;
        padding: 10px 20px;
    }

    .news_contents_3 {
        margin: 0 auto 40px auto;
    }

    .news_contents_3 h2 {
        font-size: 18px;
    }

    .data {
        font-size: 18px;
    }

}



/* ログインページ */
.login_2 {
    width: 80%;
    height: auto;
    background-color: #fff;
    margin: 0 auto;
}

.login_inner_2 {
    width: 70%;
    height: auto;
    padding: 60px 0;
    margin: 0 auto;
    text-align: center;
}

.login_office_h2,
.login_staff_h2,
.login_share_h2 {
    width: auto;
    height: 60px;
    color: #fff;
    line-height: 60px;
    padding-left: 30px;
}

.login_office_h2 h2,
.login_staff_h2 h2,
.login_share_h2 h2{
    margin: 0;
}

/* 事業所ログイン */
.login_office_h2 {
    background-color: #1276e8;
}

/* 職員ログイン */
.login_staff_h2 {
    background-color: #f28121;
}

/* 共有ログイン */
.login_share_h2 {
    background-color: #3cb371;
}


.username,
.password {
    width: 400px;
    height: 40px;
    margin: 0 0 20px 0;
    background-color: #f5f5f5;
    border: #a9a9a9 solid 1px;
}

.login_inner_2 input {
    display: inline-block;
}

.input p {
    font-size: 18px;
    font-weight: 600;
    margin: 10px 0;
    text-align: left;
}

.input {
    display: inline-block;
}

.login_btn_2 {
    margin-top: 40px;
    display: inline-block;
}

.login_btn_2 a {
    margin: 0 auto;
}

/* ログインページ　767px */
@media screen and (max-width:767px) {

    .login_2 {
        width: auto;
        margin: 50px 10px 0 10px;
    }

    .login_inner_2 {
        width: auto;
    }

    .username,
    .password {
        width: 300px;
    }

    .login_btn_2 {
        margin: 60px auto;
    }

}



/* ダウンロードページ */
.main_inner {
    width: auto;
    height: auto;
    display: flex;
}

.main_contents {
    width: 80%;
    height: auto;
}


/* 上部メニュー （アップロード含む） */
.upload {
    height: 150px;
    display: flex;
    background-color: #fff;
    margin: auto 0;
    padding: 0 15px;
    border-top: 6px solid #a9c8fb;
}

/* セレクトメニュー */
.select_contents {
    display: flex;
    margin: 0 auto;
    padding: 20px 0 5px 0;
}

.select_btn_wrapper {
    margin: 0 10px;
}

/* 上部セレクトボタン */
.select_btn {
    width: 220px;
    height: 70px;
    line-height: 20px;
    padding: 1.3em;
    display: block;
    color: #2f46a3;
    background-color: #bfdff8;
    box-shadow: 0 3px 0 #90ccfa;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

.select_btn_wrapper :hover {
    background-color: #aad7fa;
}

/* 選択されたセレクトボタン */
.menu_item_active {
    width: fit-content;
    height: fit-content;
    border: #2f46a3 2px solid;
    background-color: #8195e4;
    box-shadow: 0 3px 0 #2f46a3;
    color: #ffffff;
    margin-top: -1px;
}




/* 上部セレクトボタン 全社協*/
.select_btn_1 {
    width: 220px;
    height: 70px;
    line-height: 20px;
    padding: 1.3em;
    display: block;
    color: #006600;
    background-color: #90EE90;
    box-shadow: 0 3px 0 #009900;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

.select_btn_wrapper_1 :hover {
    background-color: #90DD90;
}

/* 選択されたセレクトボタン */
.menu_item_active_1 {
    width: fit-content;
    height: fit-content;
    border: #009900 2px solid;
    background-color: #90EE90;
    box-shadow: 0 3px 0 #009900;
    color: #ffffff;
    margin-top: -1px;
}

.upload_backgroundcolor_1 {
    background-color: #90EE90;
}

.upload_textcolor_1 {
    color: #4CBF4C;
}

/* 上部セレクトボタン 他団体*/
.select_btn_3 {
    width: 220px;
    height: 70px;
    line-height: 20px;
    padding: 1.3em;
    display: block;
    color: #f6909a;
    background-color: #fbd2d6;
    box-shadow: 0 3px 0 #dd818a;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

.select_btn_wrapper_3 :hover {
    background-color: #fac7cc;
}

.upload_textcolor_3 {
    color: #FF8298;
}

/* 選択されたセレクトボタン */
.menu_item_active_3 {
    width: fit-content;
    height: fit-content;
    border: #f69ba4 2px solid;
    background-color: #f7a6ae;
    box-shadow: 0 3px 0 #dd818a;
    color: #ffffff;
    margin-top: -1px;
}

.upload_backgroundcolor_3 {
    background-color: #ffe3e8;
}





/* 上部セレクトボタン 個別*/
.select_btn_4 {
    width: 220px;
    height: 70px;
    line-height: 20px;
    padding: 1.3em;
    display: block;
    color: #006600;
    background-color: #90EE90;
    box-shadow: 0 3px 0 #009900;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

.select_btn_wrapper_4 :hover {
    background-color: #90DD90;
}

/* 選択されたセレクトボタン */
.menu_item_active_4 {
    width: fit-content;
    height: fit-content;
    border: #009900 2px solid;
    background-color: #90EE90;
    box-shadow: 0 3px 0 #009900;
    color: #ffffff;
    margin-top: -1px;
}

.upload_backgroundcolor_4 {
    background-color: #f5deb3;
}

.upload_textcolor_4 {
    color: #4CBF4C;
}




/* アップロードボタン */
.upload_btn {
    width: 90px;
    height: 70px;
    margin: 0;
    display: block;
    background-color: #fff;
    text-align: center;
    background-image: url(../images/upload_file.png);
    background-repeat: no-repeat;
    background-size: 70px;
    background-position: 50%;
    background-position-y: 50%;
}

a.upload_btn:hover,
a.folder_btn:hover {
    background-color: #a1e9f8;
}

/* フォルダ追加ボタン */
.folder_btn {
    width: 90px;
    height: 70px;
    margin: 0;
    display: block;
    background-color: #fff;
    text-align: center;
    background-image: url(../images/create_folder.png);
    background-repeat: no-repeat;
    background-size: 70px;
    background-position: 50%;
    background-position-y: 50%;
}

.upload_wrapper {
    margin: auto;
}

/* ログアウトボタン */
.logout {
    width: auto;
    height: auto;
    background-color: #fff;
    padding: 10px;
}

.logout_btn {
    width: 120px;
    height: 40px;
    background-color: #f1f7fc;
    border: #2f46a3 1px solid;
    color: #2f46a3;
    font-weight: bold;
    font-size: 16px;
    padding: 7px 0;
    display: block;
    text-align: center;
    border-radius: 3px;
    margin: 0 0 0 auto;
}

a.logout_btn:after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-left: 2px;
    background-image: url(../images/logout.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

a.logout_btn:hover {
    background-color: #e3eef9;
}

/* 上部メニュー下 */
.main_contents_2 {
    background-color: #fff;
    padding: 0px 10px 30px 10px;
}

/* 選択されたカテゴリー 見出し */
.main_contents_2 h2 {
    color: #2f46a3;
    margin: 0 0 0 0;
    padding: 10px 0 10px 35px;
    background-image: url(../images/h2_img.png);
    background-repeat: no-repeat;
    background-size: 1em;
    background-position-y: 10px;
    line-height: 1em;
    font-size: 24px;
}

/* 見出し下 情報が表示されるエリア */
.d_item {
    width: 100%;
    height: auto;
    margin: 30px 0 60px 0;
}

/*検索ボックス全体*/
.search {
    width: 300px;
    height: 40px;
    display: flex;
    justify-content: center;
    border: solid 2px #aaaaaa;
    margin: 0 auto 5px 0;
    border-radius: 4px;
}

/*入力フォーム*/
.search input {
    width: 370px;
    padding: 0 15px;
    border-radius: initial;
    background: transparent;
    border: none;
    outline: 0;
}

/*検索ボタン*/
.search a {
    width: 50px;
    background-image: url(../images/search.png);
    background-repeat: no-repeat;
    background-size: 30px;
    background-position: 50%;
    background-color: #fff;
    border-radius: initial;
    border: none;
    font-size: 18px;
    cursor: pointer;
    display: block;
}

.search a:hover {
    background-color: #eee;
}


/* ダウンロード情報　一覧 */
.d_item table {
    width: 100%;
    height: auto;
    margin: 5px 0 10px 0;
    border-collapse: collapse;
    border: solid 1px #d8d8d8;
}

/* 詳細のリンクを強調する */
.d_item table td a span {
    color: #3d6cba;
    display: block;
    text-align: center;
}

/* 行の色を交互に変える */
.d_item table tr:nth-child(odd) td {
    background: #f0f0f0;
}

.d_item tr {
    width: auto;
    height: 50px;
    border: solid 1px #d8d8d8;
}

.d_item th {
    background-color: #42a2e6;
    color: #fff;
    border: solid 1px #d8d8d8;
}

.d_item td {
    padding: 5px;
}

/* 表スクロール */
.table-scroll {
    width: 100%;
    margin-inline: auto;
    overflow: hidden;
    overflow-x: auto;
    margin: 30px 0 40px 0;
}

/* 表の日付部分を固定 */
.fixed {
    width: 90px;
    position: sticky;
    left: 0;
    background-color: #fff;
    border: solid 1px #d8d8d8;
    table-layout: fixed;
}

/* ダウンロードボタン */
.download_btn {
    width: 130px;
    height: 30px;
    padding: 0.3em;
    margin: auto 0;
    display: block;
    color: #fff !important;
    background-color: #999;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    border-radius: 20px;
    text-align: center;
}

a.download_btn:after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: -3px 0 0 8px;
    background: url(../images/download_2.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
}

a.download_btn:hover {
    background-color: #777;
    text-decoration: none;
}

.download {
    width: 150px;
    height: auto;
    margin: 0 auto;
    text-decoration: none;
    display: inline-block;
}


/* ページネーション */
.pagination {
    width: 100%;
    margin: 0 auto;
    vertical-align: middle;
    text-align: center;
    padding-left: 0px;
}

.pagination li {
    list-style-type: none;
    display: inline-block;
    border: solid 1px #aaaaaa;
    padding: 7px 10px;
    margin: 0 2px;
    border-radius: 3px;
    cursor: pointer;
}

.pagination .this {
    background-color: #cccccc;
}

.pagination li:hover {
    text-decoration: none;
    background-color: #eee;
}


/* 右側メニュー ボタン */
.menu_btn {
    width: 220px;
    height: 55px;
    line-height: 16px;
    padding: 1.2em 0;
    margin: 0 0 15px 0;
    display: block;
    background-color: #356cc0;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}

.menu_btn_active {
    width: 220px;
    height: 55px;
    line-height: 16px;
    padding: 1.2em 0;
    margin: 0 0 15px 0;
    display: block;
    color: #356cc0;
    background-color: #fff;
    border: #356cc0 1px solid;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}

.menu {
    padding-left: 0;
    margin-top: 0;
}

.menu li {
    list-style-type: none;
}

.menu li :hover {
    background-color: #2a589e;
}

.menu_wrapper {
    margin: 0 0 0 auto;
}

/* レスポンシブ の際に表示される */
.nav_toggle,
.nav_warapper p {
    display: none;
}


/* ダウンロードページ　767px */
@media screen and (max-width:767px) {

    .main_inner {
        flex-direction: column-reverse;
        margin: 0;
    }

    .main_contents {
        width: 100%;
        margin: 0 0 50px 0;
    }

    .menu_wrapper {
        margin: 0 auto;
        width: 400px;
    }

    .menu_btn {
        width: 250px;
        height: 50px;
        margin: 20px 0;
    }


    /* セレクトメニュー 767px */
    .upload {
        width: 100%;
        height: auto;
        background-color: #fff;
        margin: 0 auto;
        padding: 10px 10px;
        display: block;
    }

    .select_contents {
        height: auto;
        margin: 0 auto;
        padding: 20px 0;
        justify-content: center;
    }

    .select_btn_wrapper {
        margin: 0 3px;
    }

    .select_btn {
        width: 105px;
        height: 60px;
        line-height: 1.5em;
        font-size: 13px;
        padding: 1.7em 0;
    }

    .select_btn_1 {
        width: 105px;
        height: 60px;
        line-height: 1.5em;
        font-size: 13px;
        padding: 1.7em 0;
    }

    .select_btn_3 {
        width: 105px;
        height: 60px;
        line-height: 1.5em;
        font-size: 13px;
        padding: 1.7em 0;
    }

    /* アップロードボタン フォルダ追加ボタン 767px */
    .upload_btn,
    .folder_btn {
        width: 50px;
        height: 60px;
        margin: 0;
        background-size: 30px;
    }

    .upload_wrapper {
        width: auto;
    }

    .main_contents_2 h2 {
        font-size: 20px;
    }

    /* 検索フォーム 767px */
    #form2 {
        max-width: 300px;
        margin: 0 auto;
    }

    /* ダウンロード ボタン 767px */
    .download_btn {
        width: 100px;
        height: 30px;
        padding: 0.6em;
        font-size: 10px;
    }

    a.download_btn:after {
        width: 20px;
        height: 20px;
        margin: -1px 0 0 7px;
    }

    .download {
        width: 100px;
        height: auto;
        margin: 0 auto;
    }

    /* 右側メニュー 767px */
    .nav_warapper {
        height: auto;
        background-color: #fff;
        padding: 10px;
        text-align: right;
    }

    .nav_warapper p {
        margin: 5px 0 0 auto;
        line-height: 1em;
        display: inline-block;
    }

    /* レスポンシブの際のメニューボタン */
    .nav_toggle {
        display: block;
        position: relative;
        width: 2.2rem;
        height: 2rem;
        margin: 0 0 0 auto;
        z-index: 2;
    }

    .nav_toggle i {
        display: block;
        width: 100%;
        height: 3px;
        background-color: #333;
        position: absolute;
        transition: transform 0.3s, opacity 0.3s;
    }

    .nav_toggle i:nth-child(1) {
        top: 0;
    }

    .nav_toggle i:nth-child(2) {
        top: 0;
        bottom: 0;
        margin: auto;
    }

    .nav_toggle i:nth-child(3) {
        bottom: 0;
    }

    /* クリックされた後のメニューのマーク */
    .nav_toggle.show i:nth-child(1) {
        transform: translateY(14px) rotate(-45deg);
    }

    .nav_toggle.show i:nth-child(2) {
        opacity: 0;
    }

    .nav_toggle.show i:nth-child(3) {
        transform: translateY(-14px) rotate(45deg);
    }

    /* クリックで表示されるメニュー：クリックされる前 */
    .menu_wrapper {
        height: 100%;
        display: flex;
        position: fixed;
        align-items: center;
        justify-content: center;
        top: 0;
        bottom: 200px;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.5s, visibility 0.5s;
        background-color: #fff;
        z-index: 1;
    }

    .menu_wrapper {
        margin: 0 auto;
        width: 100%;
    }

    /* クリックで表示されるメニュー：クリックされた後 */
    .menu_wrapper.show {
        opacity: 1;
        visibility: visible;
    }
}

/* ダウンロードページ　768px ～ 1150px */
@media screen and (min-width: 768px) and (max-width: 1024px) {

    .select_contents {
        margin: 0 auto;
        padding: 0;
        align-items: center;
    }

    .select_btn_wrapper {
        margin: 0 5px;
    }

    /* 上部セレクトボタン 768px ～ 1150px */
    .select_btn {
        width: 105px;
        height: 60px;
        line-height: 16px;
        padding: 1.5em 0;
        font-size: 16px;
    }

    .select_btn_1 {
        width: 105px;
        height: 60px;
        line-height: 16px;
        padding: 1.5em 0;
        font-size: 16px;
    }

    .select_btn_3 {
        width: 105px;
        height: 60px;
        line-height: 16px;
        padding: 1.5em 0;
        font-size: 16px;
    }

    /* アップロードボタン フォルダ追加ボタン 768px ～ 1150px */
    .upload_btn,
    .folder_btn {
        width: 60px;
        height: 60px;
        margin: 0;
        background-size: 40px;
    }

    .menu_btn {
        width: 200px;
        height: 55px;
        line-height: 14px;
        padding: 1.4em 0;
        font-weight: bold;
        font-size: 14px;
    }

    .main_contents {
        width: 70%;
        height: auto;
    }

    /* ダウンロードボタン */
    .download_btn {
        width: 100px;
        height: 30px;
        padding: 0.6em;
        font-size: 10px;
    }

    a.download_btn:after {
        width: 20px;
        height: 20px;
        margin: -1px 0 0 7px;
    }

}


/* ダウンロードページ　344px */
@media screen and (max-width: 344px) {

    .title_logo p {
        font-size: 16px;
        line-height: 1.3em;
        margin-top: 15px;
    }

    /* アップロードボタン フォルダ追加ボタン 344px */
    .upload_btn,
    .folder_btn {
        width: 45px;
    }

}


/* ダウンロード　詳細ページ */
.d_item_summary {
    width: auto;
}

.d_item_summary th {
    width: 20%;
    height: auto;
}

.d_item_summary td {
    padding: 10px 20px;
}

/* ダウンロード　詳細ページ 767px */
@media screen and (max-width:767px) {

    .news_contents_2 {
        width: auto;
        padding: 20px 0 50px 0;
    }

    .subject {
        display: block;
    }

}



/* アップロードページ */
.u_item {
    width: 100%;
    height: auto;
    margin: 60px 0;
    padding-left: 25px;
}

/* 宛先 */
.select_wrap {
    display: flex;
}

.select_wrap_2 p {
    font-size: 18px;
    font-weight: 600;
    margin: 10px 0;
    text-align: left;
    line-height: 1.4em;
}

/* セレクトボックス */
select {
    border: solid 2px #aaaaaa;
    width: 200px;
    height: 200px;
}

.select_wrap_3 {
    height: 200px;
    margin: auto 20px;
}

.select_wrap_4 {
    width: auto;
    margin-bottom: 30px;
}

/* 宛先セレクトボタン 左 */
.select_left_1,
.select_left_2 {
    width: 60px;
    height: 40px;
    margin: 10px 0;
    border: solid 1px #aaaaaa;
    box-shadow: 0 1px 0 #ddd;
    border-radius: 5px;
    background-repeat: no-repeat;
    background-position: 50%;
    display: block
}

.select_left_1 {
    background-image: url(../images/selectbox_left_1.png);
}

.select_left_2 {
    background-image: url(../images/selectbox_left_2.png);
}

/* 宛先セレクトボタン 右 */
.select_right_1,
.select_right_2 {
    width: 60px;
    height: 40px;
    margin: 10px 0;
    border: solid 1px #aaaaaa;
    box-shadow: 0 1px 0 #ddd;
    border-radius: 5px;
    background-repeat: no-repeat;
    background-position: 50%;
    display: block
}

.select_right_1 {
    background-image: url(../images/selectbox_right_1.png);
}

.select_right_2 {
    background-image: url(../images/selectbox_right_2.png);
}

.select_left_1:hover,
.select_left_2:hover,
.select_right_1:hover,
.select_right_2:hover {
    background-color: #ddd;
}

.text_wrap {
    margin: 50px 0;
}

.input_2 p {
    font-size: 18px;
    font-weight: 600;
    margin: 10px 0;
    text-align: left;
}

.upload_wrap {
    align-items: center;
    margin: 0 auto;
}

.upload_wrap p {
    font-size: 18px;
    font-weight: 600;
    margin: 10px 0;
    text-align: left;
}

/* タイトル */
.text_wrap input {
    border: solid 2px #aaaaaa;
    height: 35px;
    width: 350px;
    margin-bottom: 20px;
}

/* コメント */
.text_wrap textarea {
    border: solid 2px #aaaaaa;
    min-width: 350px;
    min-height: 100px;
}

/* アップロード 画像選択 */
.uploadfile_wrap p {
    font-size: 18px;
    font-weight: 600;
    margin: 10px 0;
    text-align: left;
}

.uploadfile_wrap span {
    font-size: 14px;
    font-weight: normal;
    margin: 10px 0;
    text-align: left;
}

/* 送信ファイル追加ボタン */
.file_btn {
    width: 200px;
    height: 40px;
    padding: 0.5em;
    margin: auto 0;
    display: block;
    color: #fff !important;
    background-color: #777;
    box-shadow: 0 3px 0 #555;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}

a.file_btn:hover {
    background-color: #666;
    text-decoration: none;
}

/* 送信ファイル一覧 表 */
.table_file {
    width: 100%;
    height: auto;
    margin: 30px 0;
    border-collapse: collapse;
    background: #fff;
}

/* 行の色を交互に変える */
.table_file tr:nth-child(odd) td {
    background: #f0f0f0;
}

.table_file th,
td {
    width: auto;
    height: 50px;
    border: solid 1px #d8d8d8;
}


.table_file th {
    background-color: #04b4d8;
    color: #fff;
}

.table_file td {
    padding: 0 5px;
}

/* 表内の削除ボタン */
.table_file span {
    color: #f3716b;
    font-weight: 600;
}

/* ファイル送信ボタン */
.file_btn_2 {
    width: 210px;
    height: 55px;
    display: block;
    color: #fff !important;
    background-color: #02bbc4;
    box-shadow: 0 3px 0 #459ea2;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 1em;
    margin: 0 auto;
    padding: 0.8em 0 0.8em 1em;
    font-family: 'Yu Gothic';
    text-align: center;
    border: none;
}

.file_btn_2:hover {
    background-color: #0badb5;
}

/* 削除ボタン */
.delete_btn {
    width: 210px;
    height: 55px;
    display: block;
    margin: 0 auto 0 30px;
    color: #fff !important;
    background-color: #f3716b;
    box-shadow: 0 3px 0 #e45750;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 1em;
    padding: 0.8em 0 0.8em 1em;
    font-family: 'Yu Gothic';
    text-align: center;
    border: none;
}

.delete_btn:hover {
    background-color: #e75e58;
}

.file_btn_2_wrap {
    width: auto;
    margin: 0 auto;
    margin-top: 20px;
    display: flex;
}


/* アップロードページ 767px */
@media all and (max-width: 767px) {

    .u_item {
        width: 100%;
        height: auto;
        margin: 30px 0;
    }

    .select_wrap {
        display: flexbox;
        flex-direction: column-reverse;
    }

    .select_wrap_3 {
        height: auto;
        display: flex;
        margin: auto 0;
    }

    .select_wrap_4 {
        width: 100px;
        margin: 0;
    }


    /* 宛先セレクトボックス 左 */
    .select_left_1,
    .select_left_2 {
        width: 50px;
        height: 70px;
        margin: 10px 20px;
        transform: rotate(-90deg)
    }

    /* 宛先セレクトボックス 右 */
    .select_right_1,
    .select_right_2 {
        width: 50px;
        height: 70px;
        margin: 10px 20px;
        transform: rotate(-90deg)
    }

    /* タイトル */
    .text_wrap input {
        width: 100%;
    }

    /* コメント */
    .text_wrap textarea {
        min-width: 100%;
    }

}

/* アップロードページ　768px ～ 1150px */
@media screen and (min-width: 768px) and (max-width: 1024px) {

    .select_wrap_3 {
        margin: auto 10px
    }

    /* 検索ボックス */
    .search {
        width: 200px;
        height: 40px;
    }

    /* 入力フォーム */
    .search input {
        width: 160px;
    }

}



/* 掲示板 */
/* 上部見出し */
.contents_name {
    width: 100%;
    height: 150px;
    background-color: #FFF;
    display: block;
    padding: 10px;
    margin-bottom: 0;
}

.contents_name h2 {
    width: 100%;
    text-align: center;
    font-size: 28px;
}

.btn_area {
    height: auto;
    display: flex;
    background-color: #fff;
    margin-top: 0;
    padding: 10px;
}

/* 新規作成ボタン */
.new_write_btn {
    width: 150px;
    height: 50px;
    background-color: #7d7d7d;
    box-shadow: 0 3px 0 #555;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    padding: 0.6em 0;
    display: block;
    text-align: center;
    border-radius: 5px;
    margin: auto 0 auto auto;
}

.new_write_btn:hover {
    background-color: #666;
}

.new_write_btn:after {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-left: 20px;
    background-image: url(../images/new_write.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

/* 掲示板 投稿一覧 */
.bb_item table {
    width: 100%;
    height: auto;
    margin: 30px 0 10px 0;
    border-collapse: collapse;
    border: dotted 1px #d8d8d8;
}

.bb_item tr {
    width: auto;
    height: 70px;

    border: dotted 1px #d8d8d8;
}

.bb_item th {
    background-color: #5fbeb8;
    color: #fff;
    border: solid 1px #d8d8d8;
    border: dotted 1px #d8d8d8;
}

.bb_item td {
    padding: 0 10px;
    border: dotted 1px #d8d8d8;
}

/* 行の色を交互に変える */
.bb_item table tr:nth-child(odd) td {
    background: #f0f0f0;
}

/* 詳細のリンクを強調する */
.bb_item table td a span {
    color: #3d6cba;
    display: block;
    text-align: center;
}

/* 件名を強調する */
.bold {
    font-weight: 600;
    font-size: 18px;
    color: #444;
}



/* 掲示板 返信 */
.main_contents_2 h3 {
    padding: 0.75rem 1.5rem;
    font-size: 22px;
    margin: 0;
}

/* 選択された記事 */
.main_contents_2 h3 {
    position: relative;
    padding: 1rem 1.5rem;
    border-bottom: 6px solid #25c49f;
    background: #ffffff;
}

/* 記事の日付 */
.main_contents_2 h3 span {
    font-size: 22px;
    margin-right: 20px;
}

/* タイトル */
.input_3 input {
    border: solid 2px #aaaaaa;
    height: 35px;
    width: 70%;
    margin-bottom: 20px;
}

/* コメント */
.input_3 textarea {
    border: solid 2px #aaaaaa;
    min-width: 70%;
    min-height: 300px;
}

.input_3 p {
    font-size: 18px;
    font-weight: 600;
    margin: 10px 0;
    text-align: left;
}



/* アップロードページ 掲示板 返信 767px */
@media all and (max-width: 767px) {

    .input_3 input,
    .input_3 textarea {
        min-width: 100%;
    }

    h3 span {
        display: block;
    }

}



/* 掲示板 返信一覧 */

.bbs_wrap {
    padding-left: 25px;
}

/* 返信ボタン */
.reply_btn {
    width: 150px;
    height: 50px;
    background-color: #7d7d7d;
    box-shadow: 0 3px 0 #555;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 1em;
    padding: 0.6em 0;
    display: block;
    text-align: center;
    border-radius: 5px;
    margin: auto 0 auto auto;
}

.reply_btn:hover {
    background-color: #666;
}

.reply_btn:before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: 20px;
    background-image: url(../images/reply.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

/* 返信内容 */
.write {
    width: 90%;
    height: auto;
    padding: 30px 20px 20px 20px;
    border-bottom: 2px solid #ddd;
    margin: 0 auto;
}

/* 返信タイトル */
.write h4 {
    font-weight: 500;
    font-size: 18px;
}

.write p {
    line-height: 1.5em;
}

.write_inner_2 {
    display: flex;
}

/* 編集ボタン */
.edit_btn {
    width: 80px;
    height: 40px;
    padding: 0.5em 0;
    color: #fff;
    background-color: #02bbc4;
    font-weight: bold;
    letter-spacing: 0.3em;
    text-align: center;
    border-radius: 3px;
    display: block;
}

.edit_btn:hover {
    background-color: #0badb5;
}

.edit_btn:after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 3px;
    background-image: url(../images/new_write.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

/* 削除ボタン */
.delete_btn_2 {
    width: 80px;
    height: 40px;
    padding: 0.5em 0;
    margin-left: 10px;
    color: #fff;
    background-color: #f3716b;
    font-weight: bold;
    letter-spacing: 0.3em;
    text-align: center;
    border-radius: 3px;
    display: block;
}

.delete_btn_2:hover {
    background-color: #e75e58;
}

.delete_btn_2:after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 3px;
    background-image: url(../images/delete.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

.write_inner_3 {
    display: flex;
    margin: 0 0 0 auto;
}

.write_inner {
    display: flex;
}

.name {
    margin-right: 20px;
}

.write_wrap {
    width: 100%;
    margin-bottom: 40px;
}


/* 掲示板 返信一覧 767px */
@media all and (max-width: 767px) {

    .contents_name h2 {
        font-size: 24px;
    }

    .write {
        width: 95%;
        padding: 20px 0;
    }

    .write_inner_2 {
        display: block;
    }

    .reply_btn,
    .new_write_btn {
        width: 130px;
        height: 45px;
        font-size: 16px;
    }

    .main_contents_2 h3 {
        padding: 0.75rem 0.5em;
        font-size: 18px;
    }

    h3 span {
        font-size: 18px;
        padding: 0;
    }

}

/* 掲示板 返信一覧　768px ～ 1150px */
@media screen and (min-width: 768px) and (max-width: 1024px) {

    .reply_btn,
    .new_write_btn {
        width: 130px;
        height: 45px;
        font-size: 16px;
    }

}

.new {
    display: none;
}

.new.is-show {
    display: inline-block;
}

.training_summary {
    background-color: #CCE7D3;
    font-size: 17px;
    padding: 30px 20px;
    border-top: #FFE500 4px solid;
    border-bottom: #FFE500 4px solid;
}

#fixed {
    font-size: 20px;
    color: #FF0000;
}

#changeSelect {
    width: 60px;
    height: 40px;
}

.select_wrap td {
    height: auto;
    padding: 5px;
}

.addition {
    margin-top: 20px;
}

#p1row7 span {
    color: #FF0000;
}

#p1row8 textarea {
    width: 333px;
    height: 100px;
}

.section02 {
    width: 100%;
}

.application {
    margin: 0 auto;
    text-align: center;
}

.checkbox_wrap {
    width: 700px;
    margin: 0 auto;
}

.btn-square {
    padding: 1.5px;
    font-weight: bold;
    padding: 0.8em 0 0.8em 1em;
    font-family: 'Yu Gothic';
    text-align: center;
}

.box15 label {
    color: #222;
}

.box15 p {
    text-align: right;
    line-height: 1.5em;
}



/* 研修申し込み 767px */
@media all and (max-width: 767px) {

    .box15 {
        width: 300px !important;
        height: auto !important;
    }

    .box15 p {
        text-align: left;
    }

    .checkbox_wrap {
        width: 300px;
        margin: 0 auto;
    }

}

/* 研修申し込み　768px ～ 1150px */
@media screen and (min-width: 768px) and (max-width: 1024px) {

    .box15 {
        width: 450px !important;
        height: auto !important;
    }

    .checkbox_wrap {
        width: 450px;
        margin: 0 auto;
    }

    .box15 p {
        text-align: left;
    }

}

.btn-square-confirm {
    width: auto;
    height: 55px;
    background-color: #02bbc4 !important;
    border-bottom: solid 4px #459ea2 !important;
    font-size: 18px;
    padding: 1.5em;
    font-weight: bold;
    font-family: 'Yu Gothic';
    text-align: center;
}

.file_btn_2_wrap {
    width: fit-content;
    margin: 0 auto;
    margin-top: 20px;
}

.btn01 {
    width: fit-content;
    margin: 0 auto;
    margin-top: -10px;
}

.text_wrap td {
    padding: 5px;
}

.btn-square-back {
    width: auto;
    height: 55px;
    font-size: 18px;
    padding: 1.5em;
    font-weight: bold;
}

.required {
    color: #D11C2C;
}

.table-scroll input {
    width: 300px;
}

.email input {
    width: 310px;
}

.group input {
    width: 20px;
}

@media all and (max-width: 767px) {

    .required {
        display: block;
    }

    .table-scroll input {
        width: 300px;
    }

    .table-scroll{
        overflow: auto; 
        white-space: nowrap;
    }

}

.pdf {
    text-align: right;
}

.pdf img {
    width: 120px;
}



/* 202503追加ここから　↓ */

/* ダウンロード表_上のスクロールバー */
.scrollbar {
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
}

.bar_inner {
    height: 1px;
}

.scrollbox {
    width: 100%;
    margin-top: 5px;
    overflow-x: scroll;
    overflow-y: hidden;
}

.box_inner {
    margin-bottom: 5px;
}

.table {
    min-width: 900px;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #979797;
    box-sizing: border-box;
}

.table th {
    border: 1px solid #979797;
    text-align: center;
}

/* ダウンロード表_見出し_サイズ指定 */
.th_title {
    width: 250px;
}

.th_download {
    width: 150px;
}

.th_sender {
    width: 150px;
}

.th_detail,
.th_edit {
    width: 40px;
}


/* まとめてダウンロード */
.download_group {
    display: flex;
    align-items: flex-end;
}

.download_group span {
    font-weight: bold;
}

/* まとめてダウンロード */
.download_group {
    display: flex;
    align-items: flex-end;
}

.download_group span {
    font-weight: bold;
    font-size: 13px;
}

/* まとめてダウンロードボタン */
.download_group_btn {
    width: 160px;
    height: 25px;
    padding: 2px;
    margin: auto 5px;
    display: block;
    color: #fff !important;
    background-color: #4b70cc;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    border-radius: 20px;
    text-align: center;
}

a.download_group_btn:hover {
    background-color: #3d5799;
    text-decoration: none;
}

/* 202503追加ここまで　↑ */