@charset "utf-8";
/* CSS Document */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video{
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    box-sizing: border-box;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}

body {
    line-height: 1.7;
    -webkit-text-size-adjust: 100%;
    font-family: YuGothic, "Yu Gothic medium", "游ゴシック", "Hiragino Sans", Meiryo, "sans-serif";
    min-width: 1536px;
    overflow: visible;
}
input{
    font-family: YuGothic, "Yu Gothic medium", "游ゴシック", "Hiragino Sans", Meiryo, "sans-serif";
    box-sizing: border-box;
}

select{
    padding: 0.3em;
}

img{
    max-width: 100%;
    height: auto;
}
table{
    border-collapse: collapse;
    margin-bottom: 0.5em;
}
input[type="button"]{
    letter-spacing: 1em;
    padding: 0 0.5em 0 1.5em;
    text-align: center;
    margin: 0 0.25em;
    background-color: #f4f4f4;
    border: #979797 1px solid;
    border-radius: 3px;
}
input[type="button"]:hover{
    background-color: #eee;
}
input.s_btn[type="button"]{
    letter-spacing: 0;
    padding: 0 1.5em;
}
input.ss_btn[type="button"]{
    letter-spacing: 0;
    padding: 0 0.5em;
}
.w100{ width: 100%; }
.w2e{ width: 2em; }
.w3e{ width:3em; }
.w4e{ width: 4em; }
.w5e{ width: 5em; }
.w6e{ width: 6em; }
.w7e{ width: 7em; }
.w8e{ width: 8em; }
.w9e{ width: 9em; }
.w10e{ width: 10em; }
.w11e{ width: 11em; }
.w12e{ width: 12em; }
.w13e{ width: 13em; }
.w14e{ width: 14em; }

.center{
    text-align: center !important;
}
.right{
    text-align: right !important;
}
.left{
    text-align: left !important;
}
.no_mb{ margin-bottom: 0; }
.mb_half{ margin-bottom: 0.5em;}
.mb_3{
    margin-bottom: 3em;
}
.mt_1{
    margin-top: 1em !important;
}
.ml_2{
    margin-left: 2em;
}
.no_p{
    padding: 0 !important;
}
.p_h7{
    
}
.pb_1{
    padding-bottom: 1em;
}
.border_b{
    border-bottom: #ccc 1px solid;
}
.note{
    display: block;
    padding-left: 1.5em;
    text-indent: -1.5em;
}
[class^="icon"]{
    display: inline-block;
    font-size: 0.928em;
    padding:0.1em 1em;
    border-radius: 5px;
}
a[class^="icon"]{
    text-decoration: none;
}

a[class^="icon"]:hover{
    opacity: 0.8;
}

table [class^="icon"]{
    margin: -0.5em;
}
.icon01{
    color: #fff;
    background-color: #004ea2;
}
a.icon01{
    padding: 0.1em 0.625em;
}
a.icon01::after{
    content: "";
    width: 0;
    haight:0;
    display: inline-block;
    border: 0.35em #fff solid;
    border-right: none;
    border-top-color:transparent;
    border-bottom-color: transparent;
    margin-left: 0.4em;
}
.icon02{
    background-color: #dedede;
    border: #ccc 1px solid;
}
.icon03{
    color: #fff;
    background-color: #595f6a;
}
.icon04{
    color: #fff;
    background-color: #1387cf;
}
.table_type01 th,
.table_type01 td{
    padding:0.7em 1em;
    border: #ccc 1px solid;
    line-height: 1.4em;
}
.table_type01 th{
    font-weight: normal;
    background-color: #eff0f2;
    vertical-align: middle;
    cursor: pointer;
}
.table_type01 th.no_sort{
    cursor: auto;
}
.table_type01 th:hover{
    text-decoration: underline;
}
.table_type01 th.no_sort:hover{
    text-decoration: none;
}

.table_type01 tr:nth-child(odd) td{
    background-color: #fafafb;
}

.table_type02 th,
.table_type02 td{
    padding:0.7em 1em;
    border: #ccc 1px solid;
    line-height: 1.4em;
}
.table_type02 th{
    background-color: #eff0f2;
    vertical-align: middle;
}

.table_s th,
.table_s td{
    padding: 0.25em 0.5em;    
}
.nowrap_table th,
.nowrap_table td{
    white-space: nowrap;
}

.column_type01{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.table_container{
    overflow-x: auto;    
}



/*==============================================================
header
==============================================================*/
header{
   background-color: #004ea2;
    position: relative;
    padding: 0.625em 0.625em 0;
    display: grid;
    grid-template: 
        "ttl account mode" auto
        "ttl nav snav" auto /
        14em 1fr auto;
    gap:0.25em 2em; 
    color: #fff;
    align-items: center;
    z-index: 100;
}
header h1,
header #h_ttl{
    grid-area: ttl;
    width: 14em;
}




/* user_info
----------------------------------------------------------------------*/
header #user_info{
    grid-area: account;
    display: flex;
    align-items: center;
    font-size: 0.8125em;
}
header #user_info span:first-child{
    display:inline-flex;
    align-items: center;   
    margin-right:1.5em;
}

header #user_info span:first-child::before{
    content: "";
    width: 1.15em;
    height: 1.38em;
    display: block;
    background: url("../img/icon_hito.svg") no-repeat center /contain;
    margin-right: 0.5em;
}

header #user_info a{
    display: inline-block;
    margin: 0 0.5em;
    color: #f8bd00;
}



/* nav
----------------------------------------------------------------------*/
nav{
    grid-area: nav;
    font-size: 0.875em;
}
nav > ul {
    display: flex;
}
nav > ul > li {
    list-style: none;
}
nav > ul > li > span,
nav > ul > li > a{
    color: #fff;
    text-decoration: none;
    display: block;
    font-weight: bold;
    position: relative;
    padding:0.7em 3em 0.7em 1em;
    height: 100%;
    border-radius: 5px 5px 0 0;
    cursor: pointer;
}
nav > ul > li > span:hover,
nav > ul > li > a:hover{
    background-color: rgba(19,135,207,0.3);
}
nav > ul > li > span::before,
nav > ul > li > span::after,
nav > ul > li > a::before,
nav > ul > li > a::after{
    content: "";
    position: absolute;
    display: block;
}
nav > ul > li > span::before,
nav > ul > li > a::before{
    width: 1.2em;
    height: 1.2em;
    top: 50%;
    right: 1em;
    border: #fff 2px solid;
    transform: translateY(-50%);
    box-sizing: border-box;
}
nav > ul > li > span::after,
nav > ul > li > a::after{
    width:0;
    height:0;
    top: 50%;
    border:transparent 0.3em solid;
    transform: translateY(-50%);
    box-sizing: border-box;
}
nav > ul > li > span::after{
    right:1.35em;
    border-top-color: #fff;
    border-bottom: none;

}
nav > ul > li > a::after{
    right:1.4em;
    border-left-color: #fff;
    border-right: none;
}

nav > ul >li:first-child > a{
    padding:0.7em 1em 0.7em 2.5em;
}
nav > ul >li:first-child > a::before{
    width: 1.57em;
    height: 1.28em;
    right: auto;
    left: 0.5em;
    background: url("../img/icon_home.svg") no-repeat center /contain;
    border: none;
}
nav > ul >li:first-child > a::after{
    display: none;
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#mega_close{
    display: none;
        position: fixed;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 99;
}
#mega_close.mc_open{
    display: block;
animation:fade 0.5s;
}
nav > ul >li.mega_open > span{
    background-color: #fff !important;
    color:#3c414b;
}
nav > ul >li.mega_open > span::before{
    border-color: #3c414b;
}
nav > ul >li.mega_open > span::after{
    border-top-color: #3c414b;
}

nav > ul > li > div {
    display: none;
    position: absolute;
    left: 0.714em;
    top: 100%;
    background-color: #fff;
    width:calc(95% - 0.714em);
    padding: 1.5em 1.5em 4em 18em;
    border-radius: 0 0 3px 3px;

}

nav > ul >li.mega_open > div{
    display: block;
    animation:fade 0.7s;
}
nav > ul >li > div::before{
    color: #3c414b;
    font-size: 1.6em;
    font-weight: bold;
    text-align: right;
    display: block;
    position: absolute;
    top: 1.5em;
    left: 1.5em;
    width: 8em;
    height:8em;
    border-radius: 50%;
    box-sizing: border-box;

}
nav > ul >li:nth-child(2) > div::before{
    content: "業務";
    background: #ecedf0 url("../img/img03.svg") no-repeat -0.5em 1em / 7em;
    padding: 2.4em 1.5em 0 0;
    letter-spacing: 0.25em;
}
nav > ul >li:nth-child(3) > div::before{
    content: "ポータル";
    background: #ecedf0 url("../img/img02.svg") no-repeat -0.5em 1em / 7em;
    padding: 2.4em 0.5em 0 0;
}
nav > ul >li.mega_open > div > ul:first-of-type {
    columns: 4;
    padding-bottom: 1.5em;
    border-bottom: #ced2d8 1px solid;
}
nav > ul >li.mega_open > div > ul:last-of-type {
    display: flex;
    padding-top: 0.5em;
}
nav > ul >li.mega_open > div > ul:last-of-type li{
    margin-right: 1.5em;
}
nav > ul >li.mega_open > div span{
 color: #004ea2;
    font-weight: bold;
}
nav > ul >li.mega_open > div a{
    color: #3c414b;
    display: inline-flex;
    text-decoration: none;
}
nav > ul >li.mega_open > div a::before{
    content: "";
    width: 0.35em;
    height: 0.35em;
    border-top: #3c414b 1px solid;
    border-right:  #3c414b 1px solid;
    transform: rotate(45deg);
    margin: 0.5em 0.75em 0 0;
}
nav > ul >li.mega_open > div a:hover{
    text-decoration: underline;
    color: #004ea2;
}
nav > ul >li.mega_open > div > ul > li > ul{
    padding-bottom:1.5em;
}
nav > ul >li.mega_open > div .maga_close_btn{
    position: absolute;
    bottom: 1.5em;
    right: 1.5em;
    width: 3em;
    height: 3em;
    border: #3c414b 1px solid;
    border-radius: 5px;
    cursor: pointer;
}
nav > ul >li.mega_open > div .maga_close_btn::before,
nav > ul >li.mega_open > div .maga_close_btn::after{
    content: "";
    width: 2px;
    height: 1.6em;
    background-color: #3c414b;
    position: absolute;
    top: calc(50% - 0.8em);
    left: calc(50% - 1px);
}
nav > ul >li.mega_open > div .maga_close_btn::before{
    transform: rotate(45deg);
}
nav > ul >li.mega_open > div .maga_close_btn::after{
    transform: rotate(-45deg);
}

/* user_mode
----------------------------------------------------------------------*/
#user_mode{
    grid-area: mode;
    font-size: 0.875em;
    font-weight: bold;
    text-align:right;
}

/* sub_nav
----------------------------------------------------------------------*/
#sub_nav{
    grid-area: snav;
    display: flex;
}

#sub_nav li{
    list-style: none;
    margin-left: 2em;
}
#sub_nav li a{
    display: flex;
    align-items: center;
    font-size: 0.875em;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    height: 100%;

}

#sub_nav li a:hover span{
    text-decoration: underline;
}

#sub_nav li:first-child{
    font-size: 1.5em;
}
#sub_nav li:first-child span{
    font-size: 0.66em;
    margin-left: 0.125em;
    letter-spacing: 0.1em;
}


#sub_nav li:nth-child(2) a::before{
    content: "";
    display: block;
    width: 1.64em;
    height: 1.14em;
    background: url("../../image/icon_mail.svg") no-repeat center /contain;
    margin-right: 0.5em;
}

#sub_nav li:last-child a::after{
    content: "";
    display: block;
    width: 1.57em;
    height: 1.14em;
    margin-left: 0.5em;
    background: url("../img/icon_logout.svg") no-repeat center / contain;
}

/*==============================================================
footer
==============================================================*/
footer p{
    width: 260px;
    margin: 3em auto;
}
/*==============================================================
local_nav
==============================================================*/
.gyoumu nav > ul > li:nth-child(2) > span,
.portal nav > ul > li:nth-child(3) > span,
.product nav > ul > li:nth-child(4) > a{
    background-color: #1387cf;
}

.account nav:not([class*="opened_m_condition"]) > ul > li:nth-child(5) > a{
    background-color: #fafafb;
    color: #484949;
}
.account nav:not([class*="opened_m_condition"]) > ul > li:nth-child(5) > a::before{
    border-color: #484949;
}
.account nav:not([class*="opened_m_condition"]) > ul > li:nth-child(5) > a::after{
    border-left-color: #484949;
}
.gyoumu nav.opened_m_condition > ul > li:nth-child(2) > span,
.portal nav.opened_m_condition > ul > li:nth-child(3) > span,
.product nav.opened_m_condition > ul > li:nth-child(4) > a,
.account nav.opened_m_condition > ul > li:nth-child(5) > a{
    background-color: rgba(19,135,207,0.3);
}


#local_nav{
    display: flex;
    background-color: #1387cf;
    font-size: 0.8125em;
    padding:0 1em;
    position: relative;
}
#local_nav li{
    list-style: none;
}
#local_nav > li > a{
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 0.7em 1em;
    height: 100%;
    border-radius: 5px 5px 0 0;
}
#local_nav > li >a:hover{
    background-color: rgba(255,255,255,0.2);
    
}

#local_nav > li.current > a{
    background-color: #fafafb;
    color: #484949;
    padding: 0.7em 0.5em;
}
#local_nav > li.current > a::after{
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border:  #484949 0.5em solid;
    border-bottom: none;
    border-left-color: transparent;
    border-right-color: transparent;
    margin-left: 0.5em;
}
#local_local_nav{
    width: 100%;
    display: flex;
    background:linear-gradient(#fafafb , #f2f2f3);
    padding: 0 1em;
    border-bottom: #ced2d8 1px solid;
    font-size: 0.8125em;
}
#local_local_nav li{
    padding: 0.7em 1em;
    list-style: none;
}
#local_local_nav a{
    color: #3c414b;
    text-decoration: none;
    text-align: center;
    display: inline-block;
}
#local_local_nav li.current a{
        color: #004ea2;
    font-weight: bold;
    
}
#local_local_nav a:hover{
    text-decoration: underline;
    color: #004ea2;
}




/*==============================================================
main
==============================================================*/
main{
    font-size: 0.875em;
    padding:1em;
}
main h1{
    font-size: 1.2857em;
    color: #484949;
    border-left: #484949 4px solid;
    padding: 0 0.5em;
    margin-bottom: 1em;
}
main p{
    margin-bottom: 1em;
}



.home main{
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0;

}
.home main .greeting{
    color: #3c414b;
    font-size: 1.5em;
    display: flex;
    align-items: center;
    padding:0.5em 0;
    margin-bottom:0.25em;
    font-weight: bold;
}

.home main .greeting::before{
    content: "";
    width: 4.5em;
    height: 4.5em;
    border-radius: 50%;
    background: #ecedf0 url("../img/img01.svg") no-repeat center 1em / 4em;
    margin-right: 1em;
}


.home main h2{
    color:#3c414b;
    font-size: 1.15em;
}

/*==============================================================
width_left_cont
==============================================================*/
#width_left_cont{
    width:100%;
    display: grid;
    grid-template: 
        "left main" auto
        "left footer" auto /
        185px calc(100% - 185px);
}
#width_left_cont aside{
    grid-area: left;
    font-size: 0.8125em;
    font-weight: bold;
    background-color: #fafafb;
    border-right: #ced2d8 1px solid;
    padding: 1em 1em 5em;
    line-height: 1.3;
}
#width_left_cont aside h2{
    text-align: center;
    font-size: 1.14em;
}
#width_left_cont aside select{
    width:5.5em;
}
#width_left_cont aside p{
    margin-bottom:0.5em;
}

#width_left_cont aside p span{
    display: block;
    margin-top: 0.25em;
    color: #92aac2;
    padding: 0.5em;
    border: #0b85a1 2px dotted;
}
#width_left_cont main{
    grid-area: main;
}

#width_left_cont footer{
    grid-area: footer;
}



















