@charset "utf-8";

* {
    margin: 0;
    padding: 0;
}

body {
    font-family: "游ゴシック体", Yu Gothic, "游ゴシック Medium", "Yu Gothic M", sans-serif;
    font-size: 1em;
}

img {
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

a:link {
    color:#3e62ad;
    text-decoration:none;
}

a:visited {
    color:#6c0053;
    text-decoration:none;
}

a:hover {
    text-decoration:underline;
}

a:active {
    color:#666;
}

hr {
    border-top: 3px solid #286cad;
    border-bottom: 1px solid #FFFFFF;
    margin: 10px 0;
}

.main {
    margin: 20px;
}


h1 {
    text-align: center;
    margin-bottom: 20px;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
}

h2 {
    text-align: center;
}

h3 {
    text-align: center;
}


input[type=text] {
    height: 24px;
    border-radius: 3px;
    border: 1px solid #a1a1a1;
}
input[type=password] {
    height: 24px;
    border-radius: 3px;
    border: 1px solid #a1a1a1;
}
input[type=url] {
    height: 24px;
    border-radius: 3px;
    border: 1px solid #a1a1a1;
}
input[type=number] {
    height: 24px;
    border-radius: 3px;
    border: 1px solid #a1a1a1;
}
input[type=file] {
    height: 24px;
    border-radius: 3px;
    border: 1px solid #a1a1a1;
}
input[type=checkbox] {
    cursor: pointer;
    vertical-align: middle;
}

select {
    margin: 5px;
    padding: 5px;
    height: 30px;
    border-radius: 3px;
    border: 1px solid #a1a1a1;
    cursor: pointer;
}


.errmsg {
    color: red;
    text-align: center;
}

.t_c {
    text-align: center;
}

.t_l {
    text-align: left;
}

.t_r {
    text-align: right;
}

.t_red {
    color: red;
}

.t_09 {
    font-size: 0.9em;
}


.btn_blue {
    border-radius: 5px;
    box-shadow: 0 4px 0 #e6e6e6;
    background: #00aaff;
    color: #fff;
    cursor: pointer;
    padding: 0.6em 1.5em;
}

.btn_blue:hover {
    opacity: 0.8;
}


.btn_gray {
    border-radius: 5px;
    box-shadow: 0 4px 0 #e6e6e6;
    background: #f2f2f2;
    cursor: pointer;
    padding: 0.6em 1.5em;
}

.btn_gray:hover {
    opacity: 0.8;
}


.btn_orange {
    border-radius: 5px;
    box-shadow: 0 4px 0 #e6e6e6;
    background: rgb(255,202,191);
    cursor: pointer;
    padding: 0.6em 1.5em;
}

.btn_orange:hover {
    opacity: 0.8;
}


.btn_blue_att {
    border-radius: 5px;
    box-shadow: 0 4px 0 #e6e6e6;
    background: #00aaff;
    color: #fff;
    cursor: pointer;
    padding: 0.3em 0.8em;
}

.btn_blue_att:hover {
    opacity: 0.8;
}


.btn_gray_att {
    border-radius: 5px;
    box-shadow: 0 4px 0 #e6e6e6;
    background: #f2f2f2;
    cursor: pointer;
    padding: 0.3em 0.8em;
}

.btn_gray_att:hover {
    opacity: 0.8;
}


.btn_like_aTag {
    cursor: pointer;
    border: none;
    background: none;
    color:#3e62ad;
}
.btn_like_aTag:hover {
    text-decoration:underline;
    color:#666;
}
.btn_like_aTag:active {
    color:#666;
}


/* ヘッダ */
.div_header {
    margin: 10px auto;
    width: 90%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.div_header >:first-child {
    
}

.div_header div:last-of-type {
    margin-left: auto;
    align-self: flex-end;
}

.logoimg {
    margin: 0 20px 0 0;
    padding: 0;
    max-width: 200px;
    max-height: 100px;
}

.div_header_title {
    color: #3b3b3b;
    font-size: x-large;
    font-weight: bold;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
    align-self: center;
}

.div_header_title a:link {
    color:#3b3b3b;
    text-decoration:none;
}

.div_header_title a:visited {
    color:#3b3b3b;
    text-decoration:none;
}

.div_header_title a:hover {
    text-decoration:none;
}

.div_header_title a:active {
    color:#3b3b3b;
}


.hr_header {
    border-top: 3px double #009844;
}


/* フッタ */
footer {
    background:#009844;
    font-size: x-small;
    color: #fff;
    padding-right: 5%;
    padding-top: 5px;
    padding-bottom: 5px;
    margin: 70px 0 0 0;
    text-align: right;
}

footer a:link {
    color: #fff;
    text-decoration: none;
}

footer a:visited {
    color: #fff;
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}

footer a:active {
    color: #666;
}

/* モーダル */
.kinda_modal {
    display:none;
    z-index:1;
    background-color:#fff;
    width:90%;
    padding:15px;
    text-align:left;
    border:2px solid #333;
    opacity:0.8;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    -moz-box-shadow: 0 0 50px #ccc;
    -webkit-box-shadow: 0 0 50px #ccc;
}

#prompt {
    display:none;
}
#confirm {
    display:none;
}
#modify {
    display:none;
}

.close {
    cursor: pointer;
    border: none;
    background: none;
    color: gray;

}
.close:hover {
    color: #000000;

}

.cmn_table {
    width: 90%;
    border-collapse: collapse;
    margin:0 auto;
}
.cmn_table th {
    font-size: 100% !important;
    color: gray !important;
    cursor: default;
}
.cmn_table td {
    border-bottom: 1px dashed #d1d1d1;
}
.cmn_table th, .cmn_table tr:last-child {
    border-bottom: 2px solid #d1d1d1;
}
.cmn_table td, .cmn_table th {
    padding: 10px;
}


/* システム管理者向けメニュー */
.cp_navi {
    background-color: #ffffff;
    color: #888888;
    display: block;
    margin: 0 auto;
    overflow: hidden;
    width: 90%;
}
.cp_navi ul {
    margin: 0;
    padding: 0;
}
.cp_navi ul li {
    display: inline-block;
    list-style-type: none;
    -webkit-transition: all 0.2s;
            transition: all 0.2s;
}
.cp_navi > ul > li > a > .caret {
    border-top: 4px solid #aaaaaa;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    content: '';
    display: inline-block;
    height: 0;
    width: 0;
    vertical-align: middle;
    -webkit-transition: color 0.1s linear;
            transition: color 0.1s linear;
}
.cp_navi > ul > li > a {
    color: #aaaaaa;
    display: block;
    line-height: 56px;
    padding: 0 10px;
    text-decoration: none;
}
.cp_navi > ul > li:hover {
    background-color: #f62e36;
}
.cp_navi > ul > li:hover > a {
    color: rgb( 255, 255, 255 );
}
.cp_navi > ul > li:hover > a > .caret {
    border-top-color: rgb( 255, 255, 255 );
}
.cp_navi > ul > li > div {
    background-color: #f62e36;
    border-top: 0;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);
    display: none;
    margin: 0;
    opacity: 0;
    position: absolute;
    width: 165px;
    visibility: hidden;
    -webkit-transiton: opacity 0.2s;
           transition: opacity 0.2s;
}
.cp_navi > ul > li:hover > div {
    display: block;
    opacity: 1;
    visibility: visible;
    z-index: 1;
}
.cp_navi > ul > li > div ul > li {
    display: block;
}
.cp_navi > ul > li > div ul > li > a {
    color: #ffffff;
    display: block;
    padding: 12px 24px;
    text-decoration: none;
}
.cp_navi > ul > li > div ul > li:hover > a {
    background-color: rgba( 255, 255, 255, 0.1);
}

