@charset "UTF-8";
/* CSS Document */
html {
    font-size: 62.5%;
}
body {
    width: 100%;
    height: 100%;
    font-size: 1.6em;
    line-height: 1.6;
}
*,
*:before,
*:after {
    box-sizing:border-box;
}
/* ------------------------------------- /
/   共通
/* ------------------------------------- */
.taC {
    text-align: center;
}
.taR {
    text-align: right;
}
.fwM {
    font-weight: 500;
}
.fwSB {
    font-weight: 600;
}
.fwB {
    font-weight: 700;
}
.dsp-none {
    display: none !important;
}
.pc-none {
    display: none;
}
.pc-none768 {
    display: none;
}
.pc-none__inline {
    display: none;
}
.pc-none__inline768 {
    display: none;
}
.pc-none__inline1200 {
    display: none;
}
@media screen and (max-width:1200px){
.pc-none__inline1200 {
    display: inline;
}
.sp-none1200 {
    display: none;
}
}
@media screen and (max-width:768px){
.pc-none768 {
    display: block;
}
.pc-none__inline768 {
    display: inline;
}
.sp-none768 {
    display: none;
}
}
@media screen and (max-width:600px){
.inner,
.inner1000 {
    width: 88.5%;
}
.pc-none {
    display: block;
}
.pc-none__inline {
    display: inline;
}
.sp-none {
    display: none !important;
}
}

/* ------------------------------------- /
/   サイトカラー、フォント
/* ------------------------------------- */
body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    background-color :#ffffff;
    position: relative;
}
main {
    width: max(100%, 1200px);
    overflow: hidden;
}
main.search {
    width: 100%;
}
a {
    color: #000;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
::selection {
    background: var(--color-blue);
    color: #fff;
}
/*
:root {
    --font-jp: 'Noto Sans JP', sans-serif;
    --font-en: 'Montserrat', sans-serif;
    --color-red: #F44336;
    --color-pink: #FF4081;
    --color-brown: #795548;
    --color-orange: #FB8C00;
    --color-yellow: #FFEB3B;
    --color-green: #00C853;
    --color-navy: #3949AB;
    --color-blue: #2196F3;
    --color-purple: #C2185B;
    --color-gray: #AAAAAA;
}
*/

:root {
    --font-jp: 'Noto Sans JP', sans-serif;
    --font-en: 'Montserrat', sans-serif;
    --color-red: #E35050;
    --color-pink: #FF4081;
    --color-brown: #795548;
    --color-orange: #FFA84E;
    --color-yellow: #F4B816;
    --color-green: #66BB6A;
    --color-navy: #3949AB;
    --color-blue: #0277BD;
    --color-purple: #6557B1;
    --color-ocean: #26A69A;
    --color-gray: #AAAAAA;
}
.font-jp {
    font-family: var(--font-jp);
}
.font-en {
    font-family: var(--font-en);
}
.bg-gray {background-color: var(--color-gray);}
.bg-red {background-color: var(--color-red);}
.bg-pink {background-color: var(--color-pink);}
.bg-brown {background-color: var(--color-brown);}
.bg-orange {background-color: var(--color-orange);}
.bg-yellow {background-color: var(--color-yellow);}
.bg-green {background-color: var(--color-green);}
.bg-navy {background-color: var(--color-navy);}
.bg-blue {background-color: var(--color-blue);}
.bg-purple {background-color: var(--color-purple);}
.bg-ocean {background-color: var(--color-ocean);}
.bg-white {background-color: #fff;}
.color-red {color: var(--color-red);a{color: var(--color-red);}}
.color-pink {color: var(--color-pink);a{color: var(--color-pink);}}
.color-brown {color: var(--color-brown);a{color: var(--color-brown);}}
.color-orange {color: var(--color-orange);a{color: var(--color-orange);}}
.color-yellow {color: var(--color-yellow);a{color: var(--color-yellow);}}
.color-green {color: var(--color-green);a{color: var(--color-green);}}
.color-navy {color: var(--color-navy);a{color: var(--color-navy);}}
.color-blue {color: var(--color-blue);a{color: var(--color-blue);}}
.color-purple {color: var(--color-purple);a{color: var(--color-purple);}}
.color-ocean {color: var(--color-ocean);a{color: var(--color-ocean);}}
.color-white {color: #fff;a{color: #fff;}}

button {
    border: none;
    font-family: var(--font-jp);
    box-sizing: border-box;
    appearance: none;
    cursor: pointer;
}
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
input[type=date],
input[type=month],
input[type=time],
input[type=number],
textarea,
select {
    display: block;
    width: 100%;
    border: none;
    background: none;
    font-family: var(--font-jp);
    box-sizing: border-box;
    appearance: none;
}

/* ------------------------------------- /
/  login
/* ------------------------------------- */
.login {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #fff;
}
.login_wrapper {
    > h1 {
        font-size: 4.0rem;
        & + p {
            font-size: 2.0rem;
        }
    }
}
.login_inner {
    width: min(100%, 460px);
    margin: 0 auto;
    border-radius: 5px;
    background-color: #f0f0f0;
}
.login-list__column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 1.8rem;
    align-items: center;
    > p {
        width: 30px;
    }
    > div {
        width: calc(100% - 40px);
        border-bottom: 1px #ccc solid;
        input {
            padding: 5px 10px;
            background-color: #fff;
            font-size: 1.8rem;
        }
    }
}
.login-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(100%, 200px);
    min-height: 60px;
    margin: 0 auto;
    border-radius: 5px;
    font-size: 2.0rem;
    box-shadow: 0 4px 15px 0 rgba(0,0,0,0.2);
    transition-duration: 0.2s;
    &:hover {
        opacity: 0.5;
    }
}
.copy-right {
    font-size: 1.4rem;
}

@media (max-width: 1200px) {
}

/* ------------------------------------- /
/  header
/* ------------------------------------- */
header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 40px;
    background-color: #fff;
    box-shadow: 0 4px 15px 0 rgba(0,0,0,0.2);
    position: fixed;
    left: 0;
    top: 0;
    z-index: 3;
}
.header-title {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    a {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        transition-duration: 0.2s;
        &:hover {
            text-decoration: none;
            opacity: 0.5;
        }
        img {
            display: block;
            width: 18px;
            margin: 0 10px 0 0;
            vertical-align: bottom;
        }
    }
}
.header-user__wrapper {
    width: calc(100% - 500px);
}
.header-user__link {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    column-gap: 10px;
    margin: 0 0 0 auto;
    padding: 0 25px 0 0;
    font-size: 1.5rem;
    position: relative;
    &:hover {
        text-decoration: none;
    }
    &::after {
        content: '';
        display: block;
        width: 8px;
        height: 8px;
        border-width: 0 2px 2px 0;
        border-color: #fff;
        border-style: solid;
        transform: rotate(45deg);
        position: absolute;
        right: 5px;
        top: calc(50% - 6px);
    }
    p {
        line-height: 1.2;
        margin: 0 0 2px;
    }
}

.header-user__menu {
    width: min(100%, 200px);
    background-color: #f5f5f5;
    box-shadow: 0 4px 15px 0 rgba(0,0,0,0.2);
    font-size: 1.4rem;
    position: absolute;
    right: 0;
    top: 40px;
    &.hide {
        display: none;
    }
    a {
        color: #000;
    }
}

/* ------------------------------------- /
/  side-nav
/* ------------------------------------- */
.side-nav {
    width: 260px;
    height: calc(100vh - 40px);
    background-color: #eee;
    box-shadow: 0 4px 15px 0 rgba(0,0,0,0.2);
    font-size: 1.5rem;
    line-height: 1.4;
    position: fixed;
    left: 0;
    top: 40px;
}
.side-nav__list {
    height: 100%;
    overflow: auto;
}
.side-nav__cate,
.side-nav__link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0 25px 0 0;
    position: relative;
    &:hover {
        text-decoration: none;
        background-color: #ddd;
    }
    i {
        display: block;
        width: 20px;
        color: #aaa;
        position: relative;
        top: 1px;
    }
    p {
        width: calc(100% - 25px);
    }
}
.side-nav__cate::after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-width: 0 2px 2px 0;
    border-color: #aaa;
    border-style: solid;
    transform: rotate(45deg);
    position: absolute;
    right: 10px;
    top: calc(50% - 6px);
}

.side-nav__detail {
    height: 0;
    overflow: hidden;
    transition-duration: 0.2s;
    transition-timing-function: ease-out;
}
.side-nav__inner {
    padding: 0 0 10px 20px;
}

/* ------------------------------------- /
/  main
/* ------------------------------------- */
main.admin {
    padding: 40px 0 0 260px;
    .inner {
        min-height: calc(100vh - 85px);
    }
    h3 {
        width: min(100%, 1080px);
        padding: 0 0 5px;
        border-bottom: 1px #ccc  solid;
        font-size: 2.0rem;
        letter-spacing: 0.1em;
    }
    .det_box {
        width: min(100%, 1080px);
        font-size: 1.5rem;
        > p {
            margin-top: 10px;
        }
        > h1 {
            margin-top: 20px;
            font-size: 2.4rem;
            font-weight: bold;
        }
        > h2 {
            margin-top: 20px;
            font-size: 2.2rem;
            font-weight: bold;
        }
        > h3 {
            margin-top: 20px;
            padding: 0;
            border: none;
            letter-spacing: 0;
            font-size: 2.0rem;
            font-weight: bold;
        }
        > h4 {
            margin-top: 20px;
            font-size: 1.9rem;
            font-weight: bold;
        }
        > h5 {
            margin-top: 20px;
            font-size: 1.7rem;
            font-weight: bold;
        }
        > h6 {
            margin-top: 20px;
            font-size: 1.5rem;
            font-weight: bold;
        }
    }
}
main.search {
    .h1-wrapper {
        font-size: 2.0rem;
        p {
            width: 30px;
        }
        h1 {
            width: calc(100% - 30px);
        }
    }
}
body:has(main.search) .side-nav,
body:has(main.search) header {
    display: none;
}

/* ------------------------------------- /
/  h1
/* ------------------------------------- */
.h1-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    font-size: 3.4rem;
    p {
        width: 60px;
    }
    h1 {
        width: calc(100% - 60px);
    }
}

/* ------------------------------------- /
/  page-text
/* ------------------------------------- */
.page-text {
    border-radius: 5px;
}

/* ------------------------------------- /
/  list-table
/* ------------------------------------- */
.list-table {
    table-layout: fixed;
    border-collapse: collapse;
    width: 100%;
    font-size: 1.5rem;
    col.col200 {
        width: 13%;
    }
    col.col180 {
        width: 11.7%;
    }
    col.col160 {
        width: 10.4%;
    }
    col.col140 {
        width: 9.1%;
    }
    col.col120 {
        width: 7.8%;
    }
    col.col100 {
        width: 6.5%;
    }
    col.col80 {
        width: 5.2%;
    }
    th {
        background-color: #f5f5f5;
        border: 1px #ccc solid;
        padding: 2px 10px;
    }
    td {
        padding: 5px 10px;
        border: 1px #ccc solid;
        vertical-align: middle;
    }
}
.list-edit__wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 5px;
    row-gap: 5px;
    a {
        display: flex;
        display: block;
        width: 100%;
        padding: 2px 0;
        border-radius: 3px;
        font-size: 1.4rem;
        text-align: center;
        letter-spacing: 0.1em;
        text-indent: 0.1em;
        box-shadow: 0 2px 5px 0 rgba(0,0,0,0.15);
        &.edit,
        &.delete {
            width: calc(50% - (5px / 2));
        }
        &:hover {
            opacity: 0.5;
            text-decoration: none;
        }
    }
    &:has(a:nth-child(3):last-child) a.edit,
    &:has(a:nth-child(3):last-child) a.delete {
        width: calc((100% - 10px) / 3);
    }
}
@media screen and (max-width:1700px){
.list-table {
    col.col200 {
        width: 180px;
    }
    col.col180 {
        width: 160px;
    }
    col.col160 {
        width: 140px;
    }
    col.col140 {
        width: 120px;
    }
    col.col120 {
        width: 110px;
    }
    col.col100 {
        width: 90px;
    }
    col.col80 {
        width: 72px;
    }
}
}


/* ------------------------------------- /
/  input-list
/* ------------------------------------- */
.input-list {
    width: min(100%, 1080px);
    input[type=text],
    input[type=tel],
    input[type=email],
    input[type=password],
    input[type=date],
    input[type=month],
    input[type=time],
    input[type=number],
    textarea {
        display: block;
        padding: 6px 10px;
        border: 1px #808080 solid;
    }
    input[type=text].short,
    input[type=number].short,
    input[type=tel],
    input[type=password],
    input[type=date],
    input[type=month],
    input[type=time] {
        width: min(100%, 150px);
    }
    textarea {
        width: 100%;
        min-height: 200px;
    }
    input[type=radio],
    input[type=checkbox] {
        display: none;
    }
}
.input-list__column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.input-list__title {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    width: min(100%, 200px);
    padding: 5px 10px;
    background-color: #f5f5f5;
    border-bottom: 1px #fff solid;
    font-size: 1.4rem;
    i {
        margin: 0 0 0 5px;
    }
}
.input-list__detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    width: calc(100% - 200px);
    padding: 5px 10px;
    border-bottom: 1px #f0f0f0 solid;
    span {
        font-size: 0.8em;
    }
}
.input-list__check {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 20px;
    row-gap: 5px;
    padding: 4px 0;
    label {
        display: block;
        padding: 0 0 0 20px;
        font-size: 0.85em;
        position: relative;
        cursor: pointer;
        &::before {
            content: '';
            display: block;
            border: 1px #808080 solid;
            background-color: #fff;
            position: absolute;
            left: 0;
        }
        &::after {
            content: '';
            display: block;
            position: absolute;
            opacity: 0;
        }
    }
    /* ラジオボタン */
    input[type=radio] + label {
        &::before {
            width: 15px;
            height: 15px;
            border-radius: 50%;
            top: calc(50% - (15px / 2));
        }
        &::after {
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background-color:  var(--color-blue);
            left: 3px;
            top: calc(50% - (9px / 2));
            transition-duration: 0.2s;
        }
    }
    input[type=radio]:checked + label::after {
        opacity: 1;
    }
    /* チェックボックス */
    input[type=checkbox] + label {
        &::before {
            width: 15px;
            height: 15px;
            border-radius: 2px;
            top: calc(50% - (15px / 2));
        }
        &::after {
            width: 10px;
            height: 16px;
            border-width: 0 3px 2px 0;
            border-color: var(--color-blue);
            border-style: solid;
            left: 3px;
            top: calc(50% - 12px);
            transform: translateY(-5px) rotate(40deg);
            transition-duration: 0.2s;
        }
    }
    input[type=checkbox]:checked + label::after {
        transform: translateY(0px) rotate(40deg);
        opacity: 1;
    }
}
.input-list__select {
    width: min(100%, 250px);
    border: 1px #808080 solid;
    position: relative;
    &::before {
        content: '';
        display: block;
        border-width: 8px 5px 0 5px;
        border-color: #505050 transparent transparent transparent;
        border-style: solid;
        position: absolute;
        right: calc((20px - 10px) / 2);
        top: calc(50% - (8px / 2));
    }
    &:has(select:disabled)::before {
        display: none;
    }
    select {
        padding: 6px 30px 6px 10px;
        position: relative;
        color: #000;
        &:disabled {
            color: #000;
            opacity: 1;
        }
    }
}

/* ------------------------------------- /
/  input-submit
/* ------------------------------------- */
.input-submit {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
    column-gap: 20px;
    row-gap: 20px;
    button {
        display: flex;
        justify-content: center;
        align-items: center;
        width: min(100%, 200px);
        min-height: 60px;
        border-radius: 5px;
        font-size: 2.0rem;
        letter-spacing: 0.2em;
        text-indent: 0.2em;
        box-shadow: 0 4px 15px 0 rgba(0,0,0,0.2);
        transition-duration: 0.2s;
        &:hover {
            opacity: 0.5;
        }
    }
}

/* ------------------------------------- /
/  list-search
/* ------------------------------------- */
.list-search {
    display: flex;
    justify-content: flex-end;
    column-gap: 10px;
    input[type=text],
    input[type=date],
    input[type=month],
    input[type=time] {
        display: block;
        width: min(100%, 200px);
        padding: 6px 10px;
        border: 1px #808080 solid;
    }
    button {
        display: block;
        width: min(100%, 80px);
        border-radius: 3px;
        letter-spacing: 0.2em;
        font-size: 1.35rem;
        text-align: center;
        text-indent: 0.2em;
        box-shadow: 0 2px 5px 0 rgba(0,0,0,0.15);
        &:hover {
            opacity: 0.5;
        }
        &.m_ky_history_button,
        &.m_ky_search_button {
            width: min(100%, 180px);
            margin: 0 auto 0 0;
            letter-spacing: 0;
        }
    }
}
.search-cate {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: min(100%, 170px);
    span {
        display: block;
        width: min(100%, 50px);
        font-size: 1.4rem;
    }
    .input-list__select {
        width: calc(100% - 50px);
    }
}
.search-genba {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: min(100%, 220px);
    span {
        display: block;
        width: min(100%, 50px);
        font-size: 1.4rem;
    }
    input[type=text] {
        width: calc(100% - 50px);
    }
}
.search-staff {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: min(100%, 220px);
    span {
        display: block;
        width: min(100%, 80px);
        font-size: 1.4rem;
    }
    input[type=text] {
        width: calc(100% - 80px);
    }
}
.search-date {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: min(100%, 210px);
    span {
        display: block;
        width: min(100%, 80px);
        font-size: 1.4rem;
        &:first-child {
        
        }
    }
    input[type=date],
    input[type=month],
    input[type=time] {
        width: calc(100% - 80px);
    }
}
.search-dates {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: min(100%, 340px);
    span {
        display: block;
        width: min(50%, 40px);
        font-size: 1.4rem;
        &:first-child {
        
        }
    }
    input[type=date],
    input[type=month],
    input[type=time] {
        width: calc(50% - 40px);
    }
}

/* ------------------------------------- /
/  list-new
/* ------------------------------------- */
.list-new {
    display: flex;
    justify-content: flex-end;
    column-gap: 10px;
    a {
        display: block;
        width: min(100%, 80px);
        padding: 6px 0;
        border-radius: 3px;
        text-align: center;
        box-shadow: 0 2px 5px 0 rgba(0,0,0,0.15);
        font-size: 1.35rem;
        &:hover {
            opacity: 0.5;
            text-decoration: none;
        }
        &.long {
            width: min(100%, 120px);
        }
    }
}

/* ------------------------------------- /
/  list-pagenation
/* ------------------------------------- */
.list-pagenation {
    font-size: 1.4rem;
    ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        column-gap: 10px;
        width: min(100%, 430px);
        margin: 5px 0 0;
       a,
        span {
            display: block;
            min-width: 35px;
            padding: 3px 5px;
            border: 1px #ccc solid;
            text-align: center;
        }
        a:hover {
            text-decoration: none;
            background-color: #ccc;
        }
        span {
            font-weight: bold;
            border: 1px #505050 solid;
        }
    }
}

/* ------------------------------------- /
/  upload_button
/* ------------------------------------- */
.input_file__wrapper {
    width: min(100%, 200px);
    .thumb_a {
        display: block;
    }
}
.upload_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(100%, 120px);
    min-height: 40px;
    border-radius: 5px;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    box-shadow: 0 4px 15px 0 rgba(0,0,0,0.2);
    transition-duration: 0.2s;
    &:hover {
        opacity: 0.5;
    }
}
.upload_delete  {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(100%, 60px);
    min-height: 30px;
    margin: 10px 0 0;
    border-radius: 2px;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    box-shadow: 0 4px 15px 0 rgba(0,0,0,0.2);
    transition-duration: 0.2s;
    &:hover {
        opacity: 0.5;
    }
}

.category_login_wrapper {
    width: min(100%, 768px);
    margin: 0 auto;
}

/* ------------------------------------- /
/  view_mode
/* ------------------------------------- */
.view_mode_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 20px;
    row-gap: 20px;
}
.view_mode {
    color: #808080;
    &.active {
        font-weight: bold;
        color: #000;
    }
}
.file_icon_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 10px;
    row-gap: 10px;
}
.file_icon_column {
    width: min(100%, 200px);
    padding: 15px;
    border: 1px #ddd solid;
    position: relative;
}
.file_icon_draft {
    position: absolute;
    right: 5px;
    top: 5px;
}
.file_icon_link {
    display: block;
    text-align: center;
    position: relative;
    i.category {
        font-size: 5em;
        color: #FFE082;
    }
    i.file {
        font-size: 4.35em;
        color: #B2EBF2;
    }
}
.file_icon_lock {
    position: absolute;
    left: calc(50% - 5px);
    top: 40%;
    font-size: 1.8em;
    transform: translateX(-50%) translateY(-50%);
    color: #000;
}

/* ------------------------------------- /
/  logo
/* ------------------------------------- */
.login_logo {
    display: block;
    width: min(100%, 200px);
    margin: 0 auto 20px;
}