
html{
    scroll-behavior: smooth;
}
body{
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.disabled a,
a.disabled {
    pointer-events: none;
}

a:hover {
    color: #15848F;
}

a {
    color: #1798A5;
}

.side-nav li a:not(.button) {
    color: #15848F;
}

.side-nav li a:not(.button):hover {
    color: #15848F;
}

header {
    background-color: #D33C44;
    color: #ffffff;
    font-size: 30px;
    height: 84px;
    line-height: 64px;
    padding: 16px 0px;
    box-shadow: 0px 1px rgba(0, 0, 0, 0.24);
}

header .header-title {
    padding-left:80px
}

legend {
    color:#15848F;
}

.row {
    max-width: 80rem;
}

.actions.columns {
    margin-top:1rem;
    border-left: 5px solid #15848F;
    padding-left: 15px;
    padding: 32px 20px;
}

.actions.columns h3 {
    color:#15848F;
}

.related table {
    border: 0;
    width: 100%;
    /* table-layout: fixed; */
}

.index table thead {
    height: 3.5rem;
}

.header-help {
    float: right;
    margin-right:2rem;
    margin-top: -80px;
    font-size:16px;
}

.header-help span {
    font-weight: normal;
    text-align: center;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
    display: inline-block;
    padding: 0.25rem 0.5rem 0.375rem;
    font-size: 0.8rem;
    background-color: #0097a7;
    color: #FFF;
    border-radius: 1000px;
}

.header-help a {
    color: #fff;
}

ul.pagination li a {
    color: rgba(0, 0 ,0 , 0.54);
}

ul.pagination li.active a {
    background-color: #DCE47E;
    color: #FFF;
    font-weight: bold;
    cursor: default;
}
ul.pagination .disabled:hover a {
    background: none;
}

.paginator {
    text-align: center;
}

.paginator ul.pagination li {
    float: none;
    display: inline-block;
}

.paginator p {
    text-align: right;
    color: rgba(0, 0 ,0 , 0.54);
}

.asc:after {
    content: " \2193";
}
.desc:after {
    content: " \2191";
}

.form .error-message {
    display: block;
    padding: 0.375rem 0.5625rem 0.5625rem;
    margin-top: -1px;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: normal;
    font-style: italic;
    color: rgba(0, 0, 0, 0.54);
}

.required > label {
    font-weight: bold;
}
.required > label:after {
    content: ' *';
    color: #C3232D;
}

select[multiple] {
    min-height:150px;
    background: none;
}
input[type=checkbox],
input[type=radio] {
    margin-right: 0.5em;
}

.date select,
.time select,
.datetime select {
    display: inline;
    /* width: auto; */
    margin-right: 10px;
}

.error label,
.error label.error {
    color: #C3232D;
}

.view h2 {
    color: #6F6F6F;
}

.view .columns.strings {
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-right:0.7rem;
}

.view .numbers {
    background-color: #B7E3EC;
    color: #FFF;
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-right: 0.7rem;
}

.view .columns.dates {
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-right:0.7rem;
    background-color:#DCE47E;
    color: #fff;
}

.view .columns.booleans {
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-right:0.7rem;
    background-color: #8D6E65;
    color: #fff;
}

.view .strings p {
    border-bottom: 1px solid #eee;
}
.view .numbers .subheader, .view .dates .subheader {
    color:#747474;
}
.view .booleans .subheader {
    color: #E9E9E9
}

.view .texts .columns {
    margin-top:1.2rem;
    border-bottom: 1px solid #eee;
}

/** Notices and Errors **/
.cake-error,
.cake-debug,
.notice,
p.error,
p.notice {
    display: block;
    clear: both;
    background-repeat: repeat-x;
    margin-bottom: 18px;
    padding: 7px 14px;
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
}

.cake-debug,
.notice,
p.notice {
    color: #000000;
    background: #ffcc00;
}

.cake-error,
p.error {
    color: #fff;
    background: #C3232D;
}

pre {
    background: none repeat scroll 0% 0% #FFF;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin: 15px 0px;
    color: rgba(0, 0 ,0 , 0.74);
    padding:5px;
}

.cake-error .cake-stack-trace {
    margin-top:10px;
}

.cake-stack-trace code {
    background: inherit;
    border:0;
}

.cake-code-dump .code-highlight {
    display: block;
    background-color: #FFC600;
}

.cake-error a,
.cake-error a:hover {
    color:#fff;
    text-decoration: underline;
}

.checks {
    padding:30px;
    color: #626262;
    background-color: #B7E3EC;
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-bottom: 2em;
}

.checks h4 {
    margin-bottom: 1.5rem;
}

.checks hr {
    border: 0;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.checks .success,
.checks .problem {
    margin-left: 10px;
}
.checks .success:before,
.checks .problem:before {
    line-height: 0px;
    font-size: 28px;
    height: 12px;
    width: 12px;
    border-radius: 15px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    left: -11px;
}

.checks .success:before {
    content: "âœ“";
    color: green;
    margin-right: 9px;
}

.checks .problem:before {
    content: "âœ˜";
    color: red;
    margin-right: 9px;
}

.top-bar.expanded .title-area {
    background: #01545b;
}

.top-bar.expanded, .top-bar,.top-bar-section ul li,.top-bar-section li:not(.has-form) a:not(.button) {
    background: #171D61;
}

.top-bar-section li:not(.has-form) a:not(.button):hover {
    background-color: #308e97;
    background: #308e97;
}

.side-nav li.heading {
    color: #1798A5;
    font-size: 0.875rem;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0.4375rem 0.875rem;
}

#actions-sidebar {
    background: #fafafa;
}

.index table {
    margin-top: 0rem;
    border: 0;
    width: 100%;
    /* table-layout: fixed; */
}

table {
    background: #fff;
    margin-bottom: 1.25rem;
    border: none;
    /* table-layout: fixed; */
    width: 100%;
}

table thead {
    background: none;
}

table tr {
    border-bottom: 1px solid #ebebec;
}

table thead tr {
    border-bottom: 1px solid #1798A5;
}

table tr th {
    padding: 0.5625rem 0.625rem;
    font-size: 0.875rem;
    color: #1798A5;
    text-align: left;
    border-bottom: 2px solid #1798A5;
}

table tr:nth-of-type(even) {
    background: none;
}

fieldset {
    border: none;
    padding: 1.25rem;
    margin: 1.125rem 0;
}

fieldset legend {
    border-bottom: 2px solid #1798A5;
    width: 100%;
    line-height: 2rem;
}

.form button[type="submit"] {
    float: right;
    text-transform: uppercase;
    box-shadow: none;
}

.form button:hover, .form button:focus {
    background: #BE840B;
    box-shadow: none;
}

button {
    background: #966600;
}

div.message {
    text-align: center;
    cursor: pointer;
    display: block;
    font-weight: normal;
    padding: 0 1.5rem 0 1.5rem;
    transition: height 300ms ease-out 0s;
    background-color: #a0d3e8;
    color: #626262;
    top: 15px;
    right: 15px;
    z-index: 999;
    overflow: hidden;
    height: 50px;
    line-height: 2.5em;
}

div.message:before {
    line-height: 0px;
    font-size: 20px;
    height: 12px;
    width: 12px;
    border-radius: 15px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    left: -11px;
    background-color: #FFF;
    padding: 12px 14px 12px 10px;
    content: "i";
    color: #a0d3e8;
}

div.message.error {
    background-color: #C3232D;
    color: #FFF;
}

div.message.error:before {
    padding: 11px 16px 14px 7px;
    color: #C3232D;
    content: "x";
}
div.message.hidden {
    height: 0;
}


.vertical-table th {
    padding: 0.5625rem 0.625rem;
    font-size: 0.875rem;
    color: #1798A5;
    border: none;
    text-align: left;
}

.vertical-table {
    vertical-align: middle;
}

.vertical-table td {
    text-align: right;
}

.content {
    padding: 2rem;
}

/* Use 'one true layout' methods to get equal height columns */
.container {
    /* overflow: hidden; */
    min-height: 92%; /* full height almost always */
}

/* Force equal height by overflowing */
/* .content,
#actions-sidebar {
    margin-bottom: -99999px;
    padding-bottom: 99999px;
} */
@media(max-width: 640px) {
    #actions-sidebar {
        padding-bottom: 2rem;
        margin-bottom: 0;
    }
}

.content h3 {
    color: #be140b;
    padding-bottom: 0.5rem;
    margin-bottom: 20px;
}

.content h4 {
    color: #be140b;
    padding-bottom: 0.5rem;
    margin-bottom: 20px;
    border-bottom: 2px solid #be140b;
}

.content .related h4 {
    color: #4d8f97;
    padding-bottom: 0.5rem;
    margin-top: 20px;
    margin-bottom: 10px;
    border-bottom: 0px;
}

table td {
    vertical-align: top;
    word-break: break-all;
}
	button.submit {
		position: fixed;
    top: 80px;
    right: 30px;
	}

button.divide {
	right: 200px;
}
table{
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
}


table.main th{
  /* text-align: center; */
  color:white !important;
  background: linear-gradient(#829ebc,#225588);
  border-left: 1px solid #3c6690;
  border-top: 1px solid #3c6690;
  border-bottom: 1px solid #3c6690;
  box-shadow: 0px 1px 1px rgba(255,255,255,0.3) inset;
  /* width: 25%; */
  padding: 1px 5px !important;
}

table.main td{
  /* text-align: center; */
  vertical-align: middle !important;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px -3px 5px 1px #eee inset;
  /* width: 25%; */
  padding: 1px 5px !important;
}

table.main td:last-child{
  border-right: 1px solid #a8b7c5;
}

table.main tr:last-child td:first-child {
  border-radius: 0 0 0 5px;
}

table.main tr:last-child td:last-child {
  border-radius: 0 0 5px 0;
}
input, select {
	margin: 0 !important;
	padding: 2px !important;
	height: 30px !important;
    border-radius: 4px;
}
input[type="checkbox"] {
	height: 20px !important;
}
td p {
	margin: 0;
}

.menu {
    position: relative;
    width: 100%;
    height: 50px;
    max-width: 1280px;
    /* margin: 0 auto; */
    margin: 0;
}

.menu > li {
    float: left;
    width: 13%;
    height: 50px;
    line-height: 50px;
    /* background: rgb(29, 33, 19); */
    /* padding-left: 10px; */
}

.menu > li a {
    display: block;
    color: #fff;
    font-size: 14px;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    /* z-index: 1; */
    z-index: 9999 !important;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu > li:hover {
    background: #5057a7;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 1px solid #111;
    padding: 10px;
}
.menu__second-level li:hover{
    background: #5057a7;
}

.menu__third-level li {
    border-top: 1px solid #111;
}

.menu__third-level li a:hover {
    background: #2a1f1f;
}

.menu__fourth-level li a:hover {
    background: #1d0f0f;
}

/* ä¸‹çŸ¢å° */

.init-bottom{
    display: block;
    text-align: center;
}

.init-bottom:after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0px 0px 3px 15px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* floatã‚¯ãƒªã‚¢ */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

/* .menu {
    *zoom: 1;
} */
.menu > li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 40px;
    right: 0;
    width: 100%;
    background: #171D61;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__single:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}

    div.flex input.w60 {
		width: 60px;
	}
    div.flex input.w80 {
		width: 80px;
	}
	div.flex input.w100 {
		width: 100px;
	}
	div.flex input.w200 {
		width: 200px !important;
	}
    div.flex input.w250 {
		width: 250px !important;
	}
	div.flex input.w300 {
		width: 300px !important;
	}

	div.flex {
		display: flex;
		flex-direction: row;
        margin: 0 auto;
  	}

	div.float-left {
		float: left;
		margin-right: 30px;
    }
    div.float-clear {
        clear: both;
    }

    .submit_botton {
        border-style: solid;
        border-width: 0;
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
        font-weight: normal;
        line-height: normal;
        position: relative;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 1rem;
        background-color: #008CBA;
        border-color: #007095;
        color: #fff;
    }

    li.menu__title {
        margin-left: 20px;
        width: 360px;
    }
    .title_sub {
        font-size: 11px;
        padding-top: 5px;
        margin-right: 5px;
        float: left;
    }
    .title_main {
        font-family: 'Inter', sans-serif;
        font-size: 32px;
        font-weight: bold;
        float: left;
        margin-right: 2px;
    }
    .title_tm {
        font-family: 'Inter', sans-serif;
        font-size: 9px;
        font-weight: bold;
        float: left;
        line-height: 30px;
        margin-right: 2px;
    }
    .title_ver {
        font-family: 'Inter', sans-serif;
        font-size: 11px;
        /* font-weight: bold; */
        padding-top: 6px;
        float: left;
        /* line-height: 30px; */
    }

/* .main_flex{
    display: flex;
    flex-direction: row;
    margin: 0 auto;
} */
div.submit {
    margin-left: 30px;
}
div.flex p {
    margin-right: 12px;
    padding-top: 3px;
}
.slide_btn {
    background: #e0e0e0;
    color: #000;
    border: none;
    font-size: 1rem;
    padding: 0.5rem 1rem;
    text-align: center;
    /* z-index: 2;
    width: 400px;
    height: 40px; */
    /* display:block */
    clear: both;
}
.container {
    max-width: 1140px;
    margin-right: auto;
    margin-left: auto;
}
div.container {
    max-width: 100%;
}

td.nowrap {
    white-space: nowrap;
}

label {
    float: left;
    /* position: absolute; */
    /* vertical-align:middle; */
    /* margin: 10px; */
    /* display: inline-block; */
    display: table-cell;
}

label input[name=mode] {
    width: 20px !important;
    height: 20px !important;
}

img.large {
    height: 400px;
}

.reduction {
    text-align: right;
}

p.co2 {
    margin: 1rem 0 0;
}

table thead tr td,
table thead tr th {
    /* margin: 0; */
    padding: 0.5rem 0.325rem 0.625rem;
}

table tr td,
table tr th {
    /* margin: 0; */

    padding: 0.5625rem 0.325rem;
}


/* 追加CSS */
.page_ttl{
    font-size: 1.5rem;
    padding: 1rem 0;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
}
.sub_ttl{
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.logout a{
    color: #fff;
    margin-right: 1rem;
}
.line{
    width: 100%;
    margin-top: 0.5rem;
    border: 1px #ddd solid;
}
.w80{
    width: 80px;
}
.w200{
    width:200px;
}
.w100{
    width:100px;
}
.w60{
    width:60px;
}
.w_auto{
    width: 100%;
}
.d-none{
    display: none;
}
div.flex_box{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.align_items{
    align-items: center;
}
div.flex .between{
    margin-left: 12px;
}
div.flex_child{
    flex: 1;
    margin: 0 10px;
    margin-bottom:10px;
}
div.flex_child p{
    font-weight: bold;
    margin-bottom: 5px;
}
div.flex input{
    border-radius: 4px;
}
div.flex label{
    display: inline-block;
    margin-right: 10px;
}
div.flex span{
    margin-left: 10px;
    vertical-align: top;
}
div.justify_end{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    /* margin-top: 0.8rem; */
    margin-bottom: 1rem;
}
div.justify_end p{
    margin-right: 1rem;
}
div.justify_end span{
    margin-right: 10px;
    margin-left: 10px;
    vertical-align: top;
}

div.slide_box {
    width: 50%;
    /* margin-top: 20px; */
    padding: 0 1rem;
}
div.w_auto{
    width: 100%;
}
.search_btn{
    display: block;
    padding: 0.5rem 1.5rem;
    border-radius: 4px;
    color: #fff;
    background: #262626;
    margin-bottom: 0;
}
.search_btn:hover{
    background: #262626;
}
input.excel{
    padding: 0.5rem 1rem!important;
    border-radius: 4px;
    color: #fff;
    background-color: #029558;
    height: auto!important;
}

input.pdf{
    padding: 0.5rem 1rem!important;
    border-radius: 4px;
    color: #fff;
    background-color: #c93636;
    height: auto!important;
}

input.export_btn{
    padding: 0.5rem 1rem!important;
    border-radius: 4px;
    color: #ffffff;
    background-color: #171D61;
    height: auto!important;
}

.mb_0{
margin-bottom: 0!important;
}
.mr_0{
    margin-right: 0rem!important;
}
.mt_0{
margin-top: 0!important;
}
.py_2{
    padding: 2rem 0.5rem;
}
.check_pt{
    padding-top: 4px;
}

.mt_x{
    margin-left: 0!important;
    margin-right: 0!important;
}
table thead tr th{
    color: #fff;
}
table tbody tr td{
    line-height: 0.8rem;
    padding: 0.3rem;
    vertical-align: middle;
}

thead tr th{
    vertical-align: middle;
    text-align: center;
}


.index .table_border{
    border: solid 1px #eee;
}

.table_border th{
    background-color: #599695;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 2;
}
table tr th{
    border-bottom: none;
}

th a{
    color: #ffffff;
}
th a:hover{
    color: #d6e6fa;
}
th,td{
    border: 1px solid #f4f4f4;
}

td a{
    color: #202020;
}
td a:hover{
    color: #4273aa;
}

.num{
    text-align: right;
}
.cal{
    text-align: center;
}
.pc_none{
    display: none;
}
.history_btn{
    display: block;
    text-align: center;
    padding:0.5rem;
    background-color: #505050;
    border-radius: 4px;
    color: #fff;
    margin-bottom: 5px;
}
.history_btn:hover{
    color: #fff;
}
.actions a{
    display: block;
    padding: 0.5rem;
    background-color: #ccc;
    border-radius: 4px;
    color: #fff;
    margin-bottom: 5px;
    text-align: center;
}
.actions a:hover {
    background-color: #171D61;
    color: #fff;
    transition: 0.5s;
}

.slide_box h4{
font-size: 1.2rem;
font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
div.col_6{
    width: 60%;
}
div.col_4{
    width: 40%;
}

.page_top {
    height: 45px;
    width: 45px;
    position: fixed;
    right: 15px;
    bottom: 10px;
    background: #171D61;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
.page_top__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #e3ded5;
    border-right: 3px solid #e3ded5;
    transform: translateY(20%) rotate(-45deg);
}
@media screen and (max-width:1600px){
    .pc_none{
        display: block;
    }
}

@media screen and (max-width:1400px){

    .menu{
        max-width: 1170px;
    }
    .menu > li a {
        font-size: 13px;
    }
    .logout a{
        font-size: 13px;
    }
    .ex_label{
        font-size: 15px;
    }
}
