/*  Cascade Style Sheet */
/*  General */
body {
    width: 1160px;
    margin: auto;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
    background-image: url(../images/bg.png);
    position: relative;
    font-size: 100%;
    /* font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; */
    font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN",
        "ヒラギノ角ゴ ProN W3", sans-serif;
}

a {
    text-decoration: none;
    cursor: pointer;
    color: #233388;
}

a:hover {
    color: #882333;
    font-weight: bold;
}

/*  共通リンク  */
nav {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgb(0 0 0 / 0.5);

    z-index: 10;
    display: block;
}

nav div {
    width: 1160px;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    /* background-color: rgb(255 255 255 / 0.5); */
}

nav ul {
    background-color: white;
    z-index: 9;
    width: 180px;
    /* display: flex;
    flex-flow: column;
    -webkit-justify-content: space-around;
    justify-content: space-between; */
    border-radius: 0.75em;
    padding: 1em;
    border: 1px solid #888888;
    /* box-shadow: #222222 0.5em 0.5em 0.2em; */
    display: block;
    margin-left: auto;
    margin-right: 20px;
}

nav ul li {
    list-style: none;
    padding-bottom: 1em;
    height: 1em;
}

nav ul li.right {
    text-align: right;
}

nav ul li a {
    width: 100%;
    height: 25px;
    display: block;
    background-color: white;
    color: #46b1e1;
    font-size: 100%;
    text-align: center;
    border-radius: 5px;
}

nav ul li a:hover {
    font-weight: bolder;
    color: #46b1e1;
}

nav ul li span#batsu {
    margin-left: auto;
    /* position: absolute;
    right: 10px; */
}

input[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/*  popup   */
article,
content#backborn {
    background-color: rgb(0 0 0 / 0.5);
    z-index: 10;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

article div {
    background-color: white;
    z-index: 9;
    width: 500px;
    height: 250px;
    border-radius: 0.75em;
    padding: 1em;
    border: 1px solid #888888;
    /* box-shadow: #222222 0.5em 0.5em 0.2em; */
    display: block;
    margin: 150px auto;
}

article div ul {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    margin: 0;
}

article div ul li {
    display: flex;
    list-style: none;
    color: #46b1e1;
    justify-content: flex-end;
}

article div span {
    display: flex;
    color: #444444;
    align-items: right;
    justify-content: right;
    /* padding-right: 0.5em;
    padding-bottom: 1em; */
    cursor: pointer;
}

article div span#submit {
    padding: 0.2em 1.5em;
}

#batsu {
    display: block;
    position: relative;
    width: 20px;
    height: 20px;
    cursor: pointer;
}

#batsu::before,
#batsu::after {
    /* 共通設定 */
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    /* 棒の幅（太さ） */
    height: 20px;
    /* 棒の高さ */
    background: #888888;
    border-radius: 2.5px;
}

#batsu::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

#batsu::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

form {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/*  header  */
header {
    width: 1160px;
    height: 70px;
    color: white;
    background-color: #46b1e1;
    font-weight: 700;
    margin: auto;
    box-sizing: border-box;
    display: flex;
}

header div.h_left {
    width: 423px;
}

header div.h_center {
    width: 380px;
}

header div.h_right {
    width: 325px;
}

header div.h_link {
    width: 32px;
}

header div {
    display: flex;
    align-items: center;
    /* border: 1px solid black; */
}

header div#nav {
    align-items: flex-start;
}

header div span {
    display: block;
}

header img {
    width: 75px;
    height: 30px;
    margin-left: 2em;
    margin-right: 1.5em;
}

header span.title {
    padding-right: 4em;
    vertical-align: 5px;
}

header span.id {
    padding-left: 1em;
    padding-right: 0.5em;
    padding-top: 1em;
    font-size: 100%;
}

header span.idCom {
    padding-left: 1em;
    padding-right: 0.5em;
    font-size: 75%;
}

header span.com {
    padding-left: 1em;
}

header span a {
    color: white;
}

header span.com a {
    padding-right: 2em;
    text-decoration: underline;
}

header span.end {
    padding-right: 1em;
    vertical-align: 5px;
}

/*  footer  */
footer {
    box-sizing: border-box;
    width: 1160px;
    height: 80px;
    color: black;
    background-color: white;
    border-left: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: x-small;
    margin: auto;
}

footer img {
    width: 75px;
    height: 30px;
    margin-top: 0.75em;
    margin-bottom: 0.75em;
}

/*  main contents   */
main {
    box-sizing: border-box;
    width: 1160px;
    padding-top: 30px;
    padding-bottom: 70px;
    background-color: white;
    border-left: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
    text-align: center;
    margin: auto;
    z-index: 90;
}

main content {
    margin: auto;
    display: flex;
    flex-wrap: wrap;
}

main content#edit {
    z-index: 1;
}

main content#search {
    background-color: white;
    z-index: 100;
    position: relative;
    border-radius: 10px;
}

main content#result {
    z-index: 2;
}

main content.full {
    width: 1130px;
    padding: 15px;
    box-sizing: border-box;
}

main content.login {
    width: 600px;
}

main content.upload {
    width: 800px;
}

main content>div *,
main content div {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

main h1 {
    width: 100%;
    border-top: #888888 1px solid;
    border-bottom: #888888 1px solid;
    padding: 0.25em;
    font-size: 1.5em;
    color: #444444;
}

ul li a span {
    display: inline-block;
    width: 180px;
}

main content#search ul {
    width: 100%;
    list-style: none;
    display: flex;
    justify-content: flex-end;
    margin: 0;
}

.buttonDiv {
    background-color: #eeeeee;
    border: none;
    padding: 0.5em 2em;
    margin-left: 0.2em;
    cursor: pointer;
    font-size: 80%;
}

.buttonDiv:hover {
    background-color: #cccccc;
}

.buttonDiv:active {
    background-color: #888888;
}

.c1 {
    width: 150px;
}

.c2 {
    width: calc(100% - 150px);
}

.c3 {
    width: 200px;
}

.c4 {
    width: 900px;
}

.c5 {
    width: 700px;
}

.full_width {
    width: 100%;
}

.r1 {
    height: 40px;
}

.sp {
    height: 25px;
}

.r2 {
    height: 30px;
}

.r3 {
    height: 45px;
}

.r4 {
		height: 20px;
}

.r5 {
		height: 50px;
}

.minus {
	padding-top: -10px;
}

.col1 {
    width: 110px;
}

.col2 {
    width: 80px;
}

.col3 {
    width: 350px;
}

.col4 {
    width: 60px;
}

.col5 {
    width: 110px;
}

.col6 {
    width: 50px;
}

.col7 {
    width: 340px;
}

.col8 {
    width: 780px;
}

.col9 {
    width: 130px;
}

.col10 {
    width: 990px;
}

.Bcol1 {
    width: 100px;
}

.Bcol2 {
    width: 250px;
}

.Ecol1 {
    width: 100px;
}

.Ecol2 {
    width: 240px;
}

.Ecol3 {
    width: 120px;
}

.Ocol1 {
    width: 100px;
}

.Ocol2 {
    width: 880px;
}

.Ocol3 {
    width: 120px;
}

.Lcol1 {
    width: 100px;
}

.Lcol2 {
    width: 500px;
}
.l1 {
    width: 400px;
}
.l2 {
    width: 200px;
}
.l3 {
    width: 100px;
}
.l4 {
    width: 500px;
}
.l5 {
    width: 550px;
}
.l6 {
    width: 150px;
}

.grid {
    border: 1px solid black;
    font-size: small;
}

.referer {
    font-size: x-small;
}

.narrow {
    font-size: small;
    justify-content: left;
}
.right {
    justify-content: right;
    text-align: right;
}
.left {
    justify-content: left;
    padding-left: 1em;
    text-align: left;
}

.indent-left {
    margin: auto;
    text-align: left;
    justify-content: flex-start;
}

.center {
    text-align: center;
}

.editLine {
    padding: 2px;
}

.sort:hover {
    cursor: pointer;
    color: #233388;
}

.caution {
    color: red;
    font-size: xx-small;
    text-align: center;
}

.year {
		color: green;
		font-weight: bold;
}

.alert {
    color: red;
}

.point {
    cursor: pointer;
}

.brandNew {
    font-weight: bolder;
}

.quitted {
    color: #aaaaaa;
}

.selected {
    background-color: #cccccc;
}

.half {
    height: 10px;
    padding-bottom: 10px;
}
.input {
    height: 27.5px;
}
div.referer button,
div.referer button:hover,
div.referer button:active {
    background-color: #f8f8f8;
    border: #f0f0f0;
    padding: 0.15em 1em;
}

div.referer div.authority {
    height: 25px;
    width: 25px;
}

main content div.title {
    font-size: large;
    font-weight: bold;
    color: #444444;
    text-align: center;
    vertical-align: middle;
    border-left: 1px solid #cccccc;
    border-top: 1px solid #cccccc;
}

main content div.comment {
    color: #444444;
    font-size: smaller;
    border-left: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    justify-content: left;
    padding-left: 1.5em;
}

main content.full div.adminComment {
		display: flex;
		flex-direction: row;
		align-items: flex-end;
}

main content.full div.adminComment div {
		display: flex;
		flex-direction: column;
}

main content.full div.adminComment > div {
		margin-right: 7px;
}

main content.full div.adminComment div:has(span) {
		align-items: flex-start;
}

main content div.notice {
    font-size: small;
    color: #444444;
}

main content div.head_C {
    /*  edit page   */
    font-size: smaller;
    color: #46b1e1;
    justify-content: center;
}

main content div.head_L {
    /*  login page  */
    font-size: x-small;
    color: #46b1e1;
    justify-content: left;
    padding-left: 2em;
}

main content div.head_R {
    /*  login page  */
    font-size: x-small;
    color: #46b1e1;
    justify-content: right;
    padding-right: 2em;
}

main content div.line {
    cursor: pointer;
}

main content div.line:hover {
    background-color: #cccccc;
}

main content div.line:active {
    background-color: #888888;
}

main content div input,
main content div select {
    width: 100%;
    height: 100%;
    border: 1px solid #cccccc;
}
.small {
    font-size: small;
}
main content div input::placeholder {
    font-size: smaller;
}
main content div input[type="file"] {
    border: none;
}
main content div .error {
	border-color: red;
}
main content div a {
    color: #46b1e1;
}

main content div.button {
    justify-content: right;
}

main content div button {
    background-color: #eeeeee;
    border: 2px solid white;
    padding: 0.5em 2em;
    margin-left: 0.2em;
}
main content div button:hover {
    cursor: pointer;
    background-color: #cccccc;
}

main content div button:active {
    background-color: #888888;
}
main content div button:disabled {
    color: #aaaaaa;
    background-color: #f0f0f0;
    cursor:not-allowed;
}

main content.upload form input.uploadInput {
    margin: auto;
    width: 70%;
}
main content.upload form input.uploadInput::file-selector-button {
    padding: 0.5em 1em;
    margin-right: 1em;
    font-size: 110%;
    border: 1px solid #888888;
}
main content.upload button.uploadButton {
    padding: 0.5em 1em;
    margin: auto;
    font-size: 110%;
    border: 1px solid #888888;
}
main content.upload button.resultButton {
    padding: 0.3em 1em;
    margin: auto;
/*    font-size: 90%;*/
    border: 1px solid #888888;
}

main content.upload form button.uploadSubmit {
    padding: 0.5em 2em;
    margin-left: auto;
    margin-right: 20px;
    font-size: 110%;
    border: 1px solid #888888;
}

/*  Password Eye    */
.togglePassword {
    position: relative;
    display: inline-block;
    z-index: 1;
}

/* 目の輪郭 */
div span.eye {
    position: absolute;
    width: 30px;
    height: 30px;
    border-radius: 90% 0 90% 0;
    transform: rotate(45deg);
    top: 40%;
    right: 5%;
    border: solid 0.1rem #888888;
    margin-top: -11px;
    background: white;
}

/* 黒目 */
.iris {
    position: absolute;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    top: 40%;
    margin-top: -7px;
    right: 15%;
    background: #888888;
}

/* 黒目に入る光 */
.light {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin-top: 12px;
    right: 40%;
    background: white;
}

/* スラッシュ */
#slash,
#slash2 {
    position: absolute;
    height: 45px;
    width: 2px;
    transform: rotate(65deg);
    top: 15%;
    margin-top: -12px;
    right: 8%;
    background-color: #444444;
}
