﻿@charset "utf-8";

/*-----------------------------------
|- common
------------------------------------*/
#container {
    min-width: 1400px;
    width: 100%;
    padding: 0;
    margin: 0;

}

.hidden,
.hidden_btn {
    visibility: hidden;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    clear: both;
    overflow: hidden;
    display: none;
}

.readonly {
    background: #DDD;
}

.err_text {
    color: #FF0000;
    width: 100%;
    /* display: inline-block; */
    margin-top: 10px;
}

.err_text_excel {
    color: #FF0000;
    width: 100%;
    margin: 10px;
    text-align:center;
}

.err_area {
    margin-top: 10px;
    padding: 5px 0 2px 8px;
    background-color: #FFF;
    border: 1px solid #FF0000;
}

.errTitle {
    font-size: 0.8rem;
    font-weight: bold;
    color: #DF0101;
}

.err_area li {
    margin: 3px 0 3px 10px;
}

/* ==================================================
skip
================================================== */
.skip {
    width: 1px;
    color: #000000;
    font-size: 0.1%;
    line-height: 0.1;
    background-color: #FFFFFF;
    position: absolute;
    left: -3000px;
    z-index: 9999;
}

a.skip {
    color: #003377;
    background-color: #FFFFFF;
    text-align: center;
    padding: 2px 0;
    top: auto;
}

a.skip:active {
    display: block;
    width: 99.99%;
    font-size: 100%;
    line-height: 1.6;
    top: 0;
    left: 0;
}

a.skip:focus {
    display: block;
    width: 99.99%;
    font-size: 100%;
    line-height: 1.6;
    top: 0;
    left: 0;
}

/*-----------------------------------
	+ header
	------------------------------------*/
header {
    /* height: 150px; */
    padding: 10px 0;
    min-width: 960px;
    border-bottom: 6px solid #00913A;
}

header .inner {
    margin: auto;
    width: 1100px;
    height: 100px;
    vertical-align: middle;
}

header .inner .h_logo {
    max-width: 530px;
    margin-top: 15px;
}

header .symbol {
    height: 46%;
    margin: 45px 0 0 20px;
}

/*-----------------------------------
	+ admin header
	------------------------------------*/
#container .header_top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    /*垂直方向の中央揃え */
    padding: 0 50px;
    /* 両端に余白を追加 */
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
/*    height: 100px;*/
    height: 85px;
    /* 高さを指定して下揃えが効くように */
}

#container .header_top .logo {
    flex: 1;
}

    #container .header_top .logo .h_logo {
        /*    max-width: 400px;*/
        max-width: 350px;
    }

#container .header_top .login_nm {
    flex: 1;
    text-align: right;
    align-self: flex-end;
    /*この要素だけ下揃えに */
}

#container .header_top .login_nm span {
    width: 400px;
    /*任意の幅を指定*/
    /*文字の大きさ、間隔の設定 */
    font-size: 1rem;
/*    letter-spacing: 0.15rem;*/
    letter-spacing: 0.1rem;
    /*pxやemなどの単位で調整可能 */
    white-space: nowrap;
    /* 改行を防ぐ */
    font-weight:bold;
}

/* ヘッダーナビ */
#header_navi {
    position: static;
    width: 100%;
    clear: both;
    margin: 0 auto;
    background: #00913A;
    height: 50px;
    min-width: 100px;
    /*適切な幅を確保 */
    z-index: 1000;
    /*他の要素より高く */
}

#header_navi ul {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    width: 1400px;
}

#header_navi ul li {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    /*margin: 0 10px;*/
    cursor: pointer;
    /*追記*/
    width: 10%;
    padding: 4px 10px;
}

#header_navi ul li a {
    display: block;
    padding: 10px 25px;
    text-align: center;
    color: #fff;
    font-size: 0.85rem;
    font-weight: bold;
    letter-spacing: 0.05rem;
    /*margin: 5px 10px;* 文字を幅の中央に*/
    margin: 0 auto;
    writing-mode: horizontal-tb;
    /* 横書きにする */
    white-space: nowrap;
    /* 改行せず横に並べる */
    display: inline-block;
    /* 横並びを維持 */
}


#header_navi ul li a:hover {
    color: #752100;
    background: #fff;
    opacity: 0.9;
}

/****クラス追記 ※ドロップダウン内内のaタグと分ける***/

.header-list {
    height: 100%;
}

#header_navi ul li .nav_link {
    display: inline-block;
    color: #fff;
    font-size: 0.85rem;
    font-weight: bold;
    letter-spacing: 0.05rem;
    margin: 0 auto;
    writing-mode: horizontal-tb;
    /* 横書きにする */
    white-space: nowrap;
    /* 横並びを維持 */
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}


/* ドロップダウンメニュー */
#header_navi ul li div {
    display: none;
    position: absolute;
    top: 40px;
    margin: 0;
    padding: 0;
    min-width: 200px;
    z-index: 500;
}

#header_navi ul li:hover div {
    display: block;
}

#header_navi ul li div ul {
    width: 100%;
    position: relative;
}

#header_navi ul li div ul li {
    width: 280px;
    background: #fff;
    border: solid 3px #026e2d;
    box-sizing: border-box;
    border-radius: 5px;
    padding: 5px;
    display: block;
}

#header_navi ul li div ul

/* 吹き出し（内側）*/
    {
    content: "";
    position: absolute;
    top: -10px;
    left: 15%;
    margin-left: -15px;
    border: 12px solid transparent;
    /* border-bottom: 12px solid #FFF; */
    z-index: 2;
}

#header_navi ul li div ul li a,
#header_navi ul li div ul li a:hover {
    display: block;
    width: 230px;
    box-sizing: border-box;
    background: #fff;
    border-bottom: 1px solid #c0c0c0;
    font-size: 0.8rem;
    font-weight: bold;
    color: #6a1917;
    padding: 8px 0;
    text-align: left;
    opacity: 1;
    transition: 0s;
    line-height: 1.5;
}

#header_navi ul li div ul li a:last-child,
#header_navi ul li div ul li a:hover:last-child {
    border-bottom: none;
}

#header_navi ul li div ul li a:hover {
    background: #fdf4f3;
    opacity: 1;
}



header table {
    width: 330px;
    height: 120px;
    border-collapse: separate;
    background-color: white;
    vertical-align: middle;
    border: 4px solid #B17043;
}

header table th {
    border-bottom: solid 3px white;
    border-left: solid 3px white;
    border-right: solid 3px white;
}

header table td {
    border-bottom: solid 2px white;
    border-left: solid 2px white;
    border-right: solid 2px white;
}

header table th {
    background-color: #B17043;
    color: white;
    font-size: 1rem;
    letter-spacing: 2.5px;
    font-weight: bold;
    text-align: center;
}

header table tr:first-child th {
    font-size: 0.8rem;
    background-color: white;
    color: black;
    letter-spacing: 0;
    vertical-align: middle;
    padding: 4px 0 0;
}

header table td {
    width: 77%;
    text-align: center;
    font-size: 1.3rem;
    font-weight: bold;
}

header table td a {
    color: #028ed5;
    text-decoration: underline;
    font-size: 0.8rem;
}

.header_area {
    width: 800px;
    margin: auto
}


.header_left {
    float: left;

}

.header_right {
    float: right;
    color: white;
    margin-top: 40px;
}

/*-----------------------------------
	+ main_contents
	------------------------------------*/
.main_contents {
    /*width: 960px; 横幅変更*/
    width: 1100px;
    /*background: url(../images/bg_main.jpg);*/
    margin: 0 auto;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    /*padding: 15px 35px;*/
    padding: 15px 0;
}

/*-----------------------------------
	+ admin_main_contents
	------------------------------------*/
.admin_main_contents {
    /*width: 960px;*/
    width: 1100px;
    padding: 0px 35px 15px 35px;
    background: url(../images/bg_main.jpg);
    margin: 0 auto;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;

}

/*-----------------------------------
	+ to_top
	------------------------------------*/
.to_top {
    margin-top: 20px;
    text-align: right;
    gap: 10px;
    display: flex;
    flex-direction: column;
    align-items: end;
}

/*-----------------------------------
	+ pagetop
	------------------------------------*/
.pagetop {
    margin-top: 20px;
    text-align: right;
}

.pagetop a {
    font-size: 80%;
}

/*-----------------------------------
	+ login_user_area
	------------------------------------*/
.login_user_area {
    width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: end;
}

.login_user {
    width: 450px;
    background-color: #1C1C1C;
    color: #FFF;
    float: right;
    box-shadow: 0px 8px 2px 1px #BDBDBD;
    margin-left: 50px;
}

.login_user span {
    font-weight: bold;
}

.login_user div {
    font-weight: bold;
}

.login_user .text {
    font-size: 0.8rem;
    float: left;
    padding: 5px 12px;
}

.login_user .user_name {
    font-size: 1rem;
}

.login_user .logout {
    font-size: 0.8rem;
    float: right;
    width: 90px;
    text-align: center;
    padding: 7px 0px;
}

.login_user .logout:hover {
    cursor: pointer;
}

.login_user .border_vartical {
    font-size: 0.8rem;
    float: right;
    border-right: 1px solid #585858;
    padding-top: 7px;
    position: relative;
    top: 3px;
}

.login_text {
    width: 1100px;
    margin: 20px auto 0;
    padding: 20px;
    border: 3px double #00913A;
    margin-bottom: 30px;
    box-sizing: border-box;
}

.login_text .text {
    color: #00f;
}

/*-----------------------------------
+ footer
------------------------------------*/
footer {
    width: 100%;
    background-color: #00913A;
    position: sticky;
    top: 100vh;
}

footer div {
    width: 960px;
    text-align: right;
    margin: 0 auto;
    color: #fff;
    padding: 2px 0;
}

footer div a {
    color: #fff;
}

.footer.admin {
    min-width: 1400px;
    width: 100%;
    padding: 15px 0;
    text-align: center;
}

.footer.admin div {
    width: 100%;
    text-align: center;
    margin: 0 auto;
    color: #fff;
    padding: 2px 0;
}

caption {
    font-size: 1.5rem;
    text-align: center;
    padding-top: 5px;
}

#to_top a,
.to_top a,
.btn_area a,
.button_area a,
.button_area_1col a {
    display: inline-block;
}


/*-----------------------------------
	+ pager
	------------------------------------*/

.pager-wrapper {
    text-align: center;
    /* 中央寄せ */
    margin-top: 20px;
}

.pager {
    display: inline-block;
    /* 中央寄せのために inline-block にする */
    padding-left: 0;
    list-style: none;
}

.pager li {
    display: inline;
    margin: 0 5px;
}

.paginationlia,
.paginationlispan {
    display: inline-block;
    padding: 6px 12px;
    text-decoration: none;
    border: 1pxsolid #ccc;
    border-radius: 4px;
    color: #007bff;
}

.paginationli.activespan {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
}

.fixed {
    position: fixed;
    top: 0;
    /*一番上なら0pxに指定*/
    z-index: 1;
    background: white;
    width: 100%;
}

.pager_area {
    margin: 0;
    font-size: 1rem;
}

.pager_area td {
    padding: 6px;
}

.pager_area a {
    padding: 2px 5px;
}

.pager_area.back_color {
    text-align: center;
    color: White;
    background-color: #0F195D;
}



/*-----------------------------------
	ファイルアップロードエラー
	------------------------------------*/
.error-section {
    text-align: center; /* 中央寄せ */
    margin-top: 20px; /* 上に余白 */
    width: 100%; /* 横幅いっぱい */
}

.error-message {
    color: red; /* エラーメッセージを赤に */
    margin-bottom: 15px; /* ボタンとの間に余白 */
    display: block; /* ブロック要素で改行 */
}




