/* --- Element --------------------------------------------------------------------------------------------------------------- */

* {
	margin				: 0;
	padding				: 0;
}

body{
	width				: 100% ; 
	background			: var(--c-white) url("/legacy/img/main_bg.png") repeat-y left top;
}
body,div,p,td,th,li,span,input,textarea,select,option,h1,h2,h3,h4,h5{
	font-size			: 14px;
	font-family			: 'Avenir Next',Avenir,Helvetica,Arial,sans-serif;
}

a:link, a:visited, a:active{
	text-decoration		: none;
}
a:hover{
	text-decoration		: underline;
}
img{
	border				: 0px;
}


/* --- Template --------------------------------------------------------------------------------------------------------------- */


.sub{
	font-size			: .8em;
}
.em{
	font-weight			: bold;
}

.loading{
	width				: 100%;
	height				: 40px;
	background			: url("/legacy/img/loading.gif") no-repeat center center;
}


/* Container */

#Content:after{
	content				: ".";
	display				: block;
	height				: 0;
	clear				: both;
	visibility			: hidden;
}

#Content{
	grid-area			: content;
	margin-left			: 15px;
	margin-right		: 15px;
}

#ln{
	grid-area			: ln;
	padding-top			: 9px;
}

/* Shell layout (modernized 2026-10-28): the page frame is a grid — header,
   global navi, sidebar (150px) and content — replacing the legacy float +
   absolutely-positioned sidebar. Geometry is unchanged. Pages without a
   sidebar do not get the has-ln class and keep the plain flow layout. */
body.has-ln{
	display				: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	grid-template-areas	: "header header" "gn gn" "ln content";
}
#header{ grid-area: header; }
#gn{ grid-area: gn; }

/ * Login Form */

#lb{
	background-image	: none;
}
#lf{
	position			: absolute;
	width				: 550px;
	height				: 100px;
	top					: 50%;
	left				: calc(50% - 25px);
	transform			: translate(-50%, -50%);
}
#lf th{
	padding				: 5px;
	width				: 200px;
	text-align			: right;
}
#lf td{
	padding				: 5px;
	width				: 350px;
	text-align			: left;
}
#lf .input_password, #lf .input_text{
	width				: 100%;
	font				: normal 10pt;
}
#lf .login{
	width				: 100%;
	text-align			: center;
	font				: normal 10pt;
}


/* header */

#header{
	width				: 100%;
	height				: 75px;
	display				: flex;
	justify-content		: space-between;
	align-items			: flex-start;
}
#header #logo{
	padding-left		: 8px;
}
#header #user_info{
	padding				: 22px 5px 0px 0px;
}
#header #user_info a:link, #header #user_info a:visited{
	text-decoration		: none;
}
#header #user_info a:hover{
	text-decoration		: underline;
}


/* global navi */

#gn{
	width				: 100%;
	height				: 36px;
	display				: flex;
	justify-content		: space-between;
	align-items			: flex-start;
}
#gn #gnList{
	padding				: 8px 0px 0px 7px;
}
#gn #gnConfig{
	padding				: 8px 7px 0px 0px;
}

#gn #gnConfig a:link, #gn #gnConfig a:visited{
	background			: url("/legacy/img/icon_setting.svg") no-repeat left top;
}

#gn #gnConfig a:hover, #gn #gnConfig a:active, #gn #gnConfig a.Current{
	background			: var(--c-white) url("/legacy/img/icon_setting_active.svg") no-repeat left top;
	color				: var(--c-accent);
	border-radius		: 10px;
}

#gn #gnConfig a{
	padding-left		: 20px;
}



#gn a:link, #gn a:visited{
	text-decoration		: none;
	padding				: 1px 10px;
}
#gn a:hover{
	text-decoration		: none;
	padding				: 1px 10px;
}
#gn a.Current:link, #gn a.Current:visited, #gn a.Current:hover{
	text-decoration		: none;
	padding				: 1px 10px;
}


/* local navi */


#ln h1{
	font-weight			: bold;
	margin				: 1em 0;
	padding				: 3px 6px;
}
#ln .MenuItem{
	padding				: 5px 3px;
}
#ln fieldset{
	border				: 0px;
	padding				: 3px;
}
#ln fieldset .inputfield{
	width				: 120px;
}
#ln fieldset .submitbtn{
	margin-top			: 5px;
	cursor				: pointer;
	padding				: 1px 15px;
}
#ln .openfolder{
	background			: url("/legacy/img/icon_openfolder.svg") no-repeat left top;
	background-size		: 20px;
	padding-left		: 20px;
}
#ln .closefolder{
	background			: url("/legacy/img/icon_closefolder.svg") no-repeat left top;
	background-size		: 20px;
	padding-left		: 20px;
}
#ln .add{

}
#ln .Separator{
	margin				: .5em 0;
}

#ln SELECT{
	margin-bottom		: 5px;
}


/* content */

#Content h1{
	margin				: 1em 0em;
	font-weight			: bold;
	font-size			: 18px;
}

#Content h1 SPAN.keyword{
	font-weight			: bold;
	font-size			: 1.1em;
	font-style			: italic;
}

#Content h2{
	margin				: 2em 0em .4em 0em;
	font-weight			: bold;
	font-size			: 16px;
	padding-left		: .3em;
}

#Content h3{
	margin				: 1.5em 0em .2em 0em;
	font-weight			: bold;
	font-size			: 16px;
}

#Content DIV#Summary{
	margin-top			: 1.2em;
	padding				: 0.5em;
}

#Content DIV#Summary, #Content DIV#Summary SPAN{
	font-size			: 14px;
}

/* content navi */

#cn{
	margin-top			: 1em;
	background			: var(--c-white);
	margin-bottom		: 1em;
}
#cn input{
	margin-top			: -5px;
}

#cn select{
	margin-top			: -3px;
}


/* List DIV */

#Content H1.DashboardTitle{
	margin-top			: 1.5em;
	margin-bottom		: .5em;
}

#Content H1.DashboardTitle SPAN.info{
	font-weight			: normal;
}

#Content DIV.Board{
	display				: inline-block;
	vertical-align		: top;
	width				: 380px;
	margin				: .5em 1em .5em 0em;
	padding				: 1em .5em .5em 1em;
	border				: 1px solid var(--c-line-soft);
	border-bottom		: 1px solid #bbbbbb;
	border-radius		:.5em;
	background-color	: #f9f9f9;
}

#Content DIV.Board H3{
	margin				: 0px;
	font-size			: 16px;
	font-weight			: 500;
}

#Content DIV.Board H3 A{
	color				: #0d5897;
}

#Content DIV.Board DIV.Client{
	font-size			: 14px;
	padding-top			: 2px;
	color				: #333333;
}

#Content DIV.Board DIV.Details{
	margin-top			: 5px;
	padding-top			: 5px;
	color				: #666666;
	border-top			: 1px solid var(--c-line-soft);
	line-height			: 1.5em;
	font-size			: 12px;
}

#Content DIV.Board DIV.Details SPAN{
	font-size			: inherit;
}

#Content DIV.Board DIV.Number{
	font-size			: 10px;
	text-align			: right;
	margin-top			: -1.6em;
	color				: #aaaaaa;
}


/* List Table */

Table.List{
	width				: 100%;
	border-collapse		: collapse;
	border-spacing		: 0;
}

Table.List th{
	padding				: 0.2em 1em;
	white-space			: nowrap;
	font-weight			: normal;
	font-size			: 11px;
}

Table.List td{
	padding				: .6em 1em;
	font-size			: 11px;
}

Table.List th.header{
	text-align			: left;
	padding				: 0px;
}

.price{
	text-align			: right;
}

.PageNav{
	text-align			: center;
}
.PageNav a:link, .PageNav a:visited, .PageNav a:hover{
	text-decoration		: none;
}
.PageNav span.next, .PageNav span.pre{
	padding				: 3px 20px;
}

Table.Index td{
	cursor				: pointer;
}



/* Calendar */

Table.Calendar{
	width				: 100%;
	border-collapse		: collapse;
	border-spacing		: 0;
}
Table.Calendar th, Table.Calendar td{
	margin				: 0px;
	width				: 14.2857143%;
	text-align			: center;
}

Table.Calendar th{
	padding				: 3px 0px;
}

Table.Calendar td.day{
	text-align			: right;
	padding				: 3px 10px;
}

Table.Calendar td.data{
	height				: 75px;
	text-align			: left;
	padding				: 3px;
	vertical-align		: top;
}

Table.Calendar td.data div{
	line-height			: 1.3em;
	padding				: 4px 0;
	font-size			: 10px;
}


/* Content Data */

Table.SheetData{
	width				: 100%;
	border-collapse		: collapse;
	border-spacing		: 0;
}
Table.SheetData th, Table.SheetData td{
	margin				: 0px;
	white-space			: nowrap;
}
Table.SheetData th{
	width				: 10%;
	text-align			: center;
}
Table.SheetData td{
	width				: 40%;
	padding				: 3px 5px;
}

Table.SheetData td Table.InputList{
	width				: 100px;
	border				: none;
}

Table.SheetData td Table.InputList TD{
	border				: none;
	padding				: 0px;
	padding-right		: .5em;
}

Table.SheetData td input, Table.InputData td input{
	width				: 100%;
	margin				: -1px;
	height				: 16px;
	padding-top			: 2px;
	cursor				: default;
}

Table.InputData th, Table.InputData td input, Table.InputData td select, Table.InputData td option, Table.InputData td button{
	font-size			: 12px;
}


Table.SheetData td input.datefield{
	width				: 10em;
}

Table.SheetData td input.numfield, Table.InputData td input.numfield{
	width				: 2em;
}

Table.SheetData td input.timefield, Table.InputData td input.timefield{
	width				: 4em;
}

.pricefield{

}

Table.SheetData td textarea{
	width				: 100%;
	height				: 5em;
	margin				: -1px;
	overflow			: auto;
	line-height			: 1.2em;
	cursor				: default;
}
Table.SheetData select{
	height				: 20px;
	width				: 100%;
}
Table.SheetData td input.focus, Table.SheetData td textarea.focus, Table.InputData td input.focus{
	cursor				: text;
}
Div.formnavi{
	text-align			: right;
	margin-top			: .5em;
	margin-bottom		: 1em;
}

button{
	padding				: 1px 1em;
}

button.able{
	cursor				: pointer;
}

button.deletebtn{
	cursor				: pointer;
}


#AnnualReport {
    border: 1px solid var(--c-line-soft);
    border-bottom: 1px solid #bbbbbb;
    border-radius: 8px;
    background-color: #f9f9f9;
    overflow: hidden;
    margin: 1em 0;
}

#AnnualReport table {
    width: 100%;
    border-collapse: collapse;
}

/* 月カラムを等幅にして、当月ハイライト帯やグラフを縦に正確整列させる */
#AnnualReport, #AnnualReport table {
    table-layout: fixed;
}

/* ラベル列とTOTAL列に幅を与え、残り12ヶ月を均等幅に保つ（グラフ整列のため） */
#AnnualReport th:first-child, #AnnualReport td:first-child { width: 96px; }
#AnnualReport th:last-child,  #AnnualReport td:last-child  { width: 120px; }

#AnnualReport tr:first-child th {
    background: #f0f0f0;
    color: #666666;
    padding: 4px 6px;
    font-size: 11px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
}

#AnnualReport tr:first-child th:first-child {
    text-align: left;
}

#AnnualReport th {
    background: #f0f0f0;
    color: #666666;
    padding: 4px 6px;
    font-size: 11px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* データセル */
#AnnualReport td {
    padding: 6px 8px;
    font-size: 11px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    text-align: right;
    background: var(--c-white);
    border-bottom: 1px solid #f0f0f0;
}

#AnnualReport td.em {
	font-weight: bold;
}

#AnnualReport tr:last-child td {
    border-bottom: none;
}

/* 当月カラムのハイライト（背景のみ・枠線なし） */
#AnnualReport td.cm,
#AnnualReport th.cm {
    background-color: #fff7e6 !important;
}

/* CUMULATIVE は補足情報なので控えめに（黒字→灰色／赤字→薄い赤） */
#AnnualReport tr.cumulative-row,
#AnnualReport tr.cumulative-row a {
    color: #999999;
}
#AnnualReport tr.cumulative-row span:not(.jpy_data) {
    color: #d98b8b !important;
}

#AnnualReport .usd_data {
    font-size: 11px;
}

div.usd_data{position:relative;cursor: default;}

div.usd_data .jpy_data{visibility: hidden;position: absolute;z-index: 1;bottom: 100%;left: 0%;text-align:center;background-color:#dcdcdc;color:#454545;padding:2px 4px;font-size: 10px;}

div.usd_data:hover span.jpy_data{visibility:visible;opacity:1;}
	

/* Input Data */

Table.InputData{
	width				: 100%;
	border-collapse		:	collapse;
	border-spacing		:	0;
}
Table.InputData th{
	padding				: 0.2em 1em;
	white-space			: nowrap;
	text-align			: center;
}
Table.InputData td{
	padding				: 3px 10px;
	text-align			: left;
}
Table.InputDataTotal th{
	text-align			: right;
}

Table.InputData .file_title{
	width				: 30%;
}
Table.InputData .file_name{
	width				: 25%;
}
Table.InputData .file_suffixes{
	width				: 8%;
}
Table.InputData .file_playlist{
	width				: 12%;
	text-align			: center;
}

Div.FileList{
	margin-bottom		: 6px;
}

Div.FileList button.deletebtn{
	font-size			: 10px;
}

Table.FileUpload{
	border-collapse		: collapse;
	border-spacing		: 0;
}

Table.FileUpload TD{
	padding				: 1em;
}

SPAN.nofile{
	color				: white;
	background-color	: #c33636;
	font-size			: 8px;
	padding				: 1px 5px;
	font-weight			: bold;
}

DIV.nofile{
	white-space			: nowrap;
	text-align			: center;
	margin				: 4px 0px;
}


/* Calendar */

Table.SheetData td Table.SiriusInputCalendar{
	border				: none;
	border-collapse		: collapse;
	border-spacing		: 0;
	}
Table.SheetData td Table.SiriusInputCalendar td, Table.SheetData td Table.SiriusInputCalendar th{
	border				: none;
	text-align			: center;
	vertical-align		: middle;
	width				: 20px;
	height				: 12px;
	padding				: 1px;
	font-size			: 9px;
	font-family			: Arial;
	filter				: alpha(opacity=95);
	-moz-opacity		: 0.95;
	opacity				: 0.95;
}
Table.SheetData td Table.SiriusInputCalendar td span, Table.SheetData td Table.SiriusInputCalendar th span{
	font-size			: 9px;
	display				: block;
	text-decoration		: none;
	cursor				: pointer;
}
Table.SheetData td Table.SiriusInputCalendar td span:hover{
	text-decoration		: none;
}

Table.SiriusInputCalendar{
	border				: none;
	border-collapse		: collapse;
	border-spacing		: 0;
}
Table.SiriusInputCalendar td, Table.SiriusInputCalendar th{
	border				: none;
	text-align			: center;
	vertical-align		: middle;
	width				: 20px;
	height				: 12px;
	padding				: 1px;
	font-size			: 9px;
	font-family			: Arial;
	filter				: alpha(opacity=95);
	-moz-opacity		: 0.95;
	opacity				: 0.95;
}
Table.SiriusInputCalendar td span, Table.SiriusInputCalendar th span{
	font-size			: 9px;
	display				: block;
	text-decoration		: none;
	cursor				: pointer;
}
Table.SiriusInputCalendar td span:hover{
	text-decoration		: none;
}


/* NumList */

Table.SheetData td Table.SiriusInputNumList{
	border				: none;
	border-collapse		: collapse;
	border-spacing		: 0;
}
Table.SheetData td Table.SiriusInputNumList td, Table.SheetData td Table.SiriusInputNumList th{
	border				: none;
	text-align			: center;
	vertical-align		: middle;
	width				: 20px;
	height				: 12px;
	padding				: 1px;
	font-size			: 9px;
	font-family			: Arial;
	filter				: alpha(opacity=95);
	-moz-opacity		: 0.95;
	opacity				: 0.95;
}
Table.SheetData td Table.SiriusInputNumList td span, Table.SheetData td Table.SiriusInputNumList th span{
	font-size			: 9px;
	display				: block;
	text-decoration		: none;
	cursor				: pointer;
}
Table.SheetData td Table.SiriusInputNumList td span:hover{
	text-decoration		: none;
}


/* TimeList */

Table.SheetData td Table.SiriusInputTimeList, Table.TimeCard td Table.SiriusInputTimeList{
	border				: none;
	border-collapse		: collapse;
	border-spacing		: 0;
}
Table.SheetData td Table.SiriusInputTimeList td, Table.SheetData td Table.SiriusInputTimeList th, Table.TimeCard td Table.SiriusInputTimeList td, Table.TimeCard td Table.SiriusInputTimeList th{
	border				: none;
	text-align			: center;
	vertical-align		: middle;
	width				: 30px;
	height				: 12px;
	padding				: 1px 2px;
	font-size			: 9px;
	font-family			: Arial;
	filter				: alpha(opacity=95);
	-moz-opacity		: 0.95;
	opacity				: 0.95;
}
Table.SheetData td Table.SiriusInputTimeList td span, Table.SheetData td Table.SiriusInputTimeList th span, Table.TimeCard td Table.SiriusInputTimeList td span, Table.TimeCard td Table.SiriusInputTimeList th span{
	font-size			: 9px;
	display				: block;
	text-decoration		: none;
	cursor				: pointer;
}
Table.SheetData td Table.SiriusInputTimeList td span:hover, Table.TimeCard td Table.SiriusInputTimeList td span:hover{
	text-decoration		: none;
}


/* List  */

Ul.List{
	margin			: .5em 1em 2em 2em;
}

Ul.List li{
	line-height		: 1.5em;
}



/* Dialog */

#SiriusBG{
	position			: absolute;
	top					: 0px;
	left				: 0px;
	background-color	: #000000;
	filter				: alpha(opacity:60);
	opacity				: .6;
	MozOpacityopacity	: .6;
	z-index				: 10;
}
#SiriusDialog{
	position			: absolute;
	top					: 50%;
	left				: 50%;
	width				: 300px;
	margin-left			: -150px;
	margin-top			: -40px;
	padding				: 10px;
	border				: 1px solid #000000;
	background-color	: #efefef;
	font-size			: 10pt;
	text-align			: center;
	color				: #000000;
	z-index				: 11;
}
#SiriusDialog button{
	margin-top			: 5px;
	font-size			: 10px;
	padding				: 1px 10px;
	cursor				: pointer;
}


/* Error */

#Error h1{
	text-align			: center;
}

#Error p{
	text-align			: center;
	line-height			: 1.5em;
}


/* for print */
@media print {
	#header, #gn, #ln{
		display	: none;
	}
	#Content{
		margin	: 0px;
	}
}