@charset "utf-8";
/**
@prefix : <http://purl.org/net/ns/doas#> .
<> a :CSSStylesheet;
 :title "NDLA:国立国会図書館典拠スタイルシート";
 :created "2010-02-04";
 :release [:revision "0.98"; :created "2025-05-09"].
*/
/* ----------------------------------------------- */
/** @global style */
/* ----------------------------------------------- */

@import url("https://fonts.googleapis.com/css?family=Vollkorn");
:root {
	--main-w: 1200px;
}
/** color scheme */
/* $common or #fff9f3 */
html, body, /*.spg .actor,*/ #twinbar1, .spg .info, #origin{
	background-color: #fffefd; /* $common */
}
.spg .info {
	border: none;
	border-top: solid 1px #fffdf0;
}
.spg .actor#twinbar1 {
	border-bottom: solid 1px #fffdf0 /*transparent*/;
}

/* $counter or #f6f0e6 */
dl.description, #twinbar .waiter:hover {
	background-color: #f8f8fb;
}

/* $accent */
.spg .waiter {
	/*color: white;
	background-color: #a3afce; *//*929ebd;*/
}

/* $accent2 or dotted 1px #369*/
.description dt, .description dd {
	border-top: solid 1px #ddd;
}
#twin .subjid {
	border-top: none;
}

/* Spring graph pane */
#f2, #twinbar2 {
	background: #f9f9fd;
}
.spg .actor#twinbar2 {
	border-bottom: solid 1px #f9f9fd /*transparent*/;
}
#f2 {
	border: silver solid 1px;
	border-top: none;
}

/* keyword search */
.switcher #t1, #fm1, fieldset#sq {
	background-color: #f6f4f3;
}
.switcher #t1.actor {
	border-bottom-color: #f6f4f3;
}
/* classification search */
.switcher #t2, #fm2, fieldset#sqc {
	background-color: #f0f0f0;
}
.switcher #t2.actor {
	border-bottom-color: #f0f0f0;
}

/* id search */
.switcher #t3, #fm3, fieldset#sqc {
	background-color: #f6f3ed /*f0ece3*/;
}
.switcher #t3.actor {
	border-bottom-color: #f6f3ed /*f0ece3*/;
}

.menu {
	background-color: #faf6fe;
}

.menu li a:hover /*, .nav a:hover*/, dl.altformat {
	background-color: #f6f0f2;
}

.menu li.current, .nav .current {
	background-color: #f3eae6;
}

.menu li.ndllink {
	background-color: #fcf9ff;
}

.menu li a, menu li.current {
	border-bottom-color: #b3aaa6;
	border-right-color: #b3aaa6;
}
.altformat dt, .altformat dd {
	border-top-color: #b3aaa6;
}
div.main {
	border-left-color: #d3cac6;
}





/** common style */
html, body{
	margin: 0;
	padding: 0;
}

/** header style */
.head a {
	text-decoration: none;
}
.head a img {
	border: none;
}

.head {
	height: 96px; /*95px*/
	padding: 0 1em;
}
.intro .head {
	height: 110px;
	margin-bottom: 2em;
	/*background: #43578b url(header_bg.png) repeat-x*/;
}
.head div {
	margin-top: 16px;
}
.head div span.NDLA {
	font-size: 180%;
	font-family: 'Vollkorn', serif;
	font-weight: bold;
}
button#langswitch {
	all: unset;
	/*
	border: none;
	background: transparent;
	color: inherit;
	padding: 0;
	font: inherit;
	*/
}
button#langswitch:focus-visible {
	border-radius: .25em;
	box-shadow: 0 0 0 1px currentColor;
}
.head .helpinfo,
.head #langswitch {
	position: absolute;
	top: 14px;
	font-size: 85%;
	z-index: 10;
}
.head .helpinfo {
	text-align: right;
	right: 1em;
	width: 42px;
}
.head #langswitch {
	right: 60px;
	width: 66px;
	cursor: pointer;
}
/*
span#langswitch::before {
	content: "▸";
}
*/
#skipnav {
	position: absolute;
	top: 0;
	right: 0;
	width: 114px;
	white-space: nowrap;
	overflow: hidden;
	font-size: 60%;
	color: white;/*navy*/
}
/*
.intro .head div span {
	font-size: 240%;
}
*/
.head, .foot {
	color: white;
	background: navy;
	border-top: navy solid 1px;
}

.head a:link, .head a:visited, .foot a:link {
	color: white;
}
/*.head a:visited, */
.foot a:visited {
	color: #ffeeee;
}

#infonav {
	/*height:16px;*/
	font-size: 90%;
	/*background: #ececec;*/
}
#bringmeback {
	/*top: 110px;*/
	/*right: 1em;
	font-size: 110%;*/
	cursor: pointer;
	padding-left: 3px;
	color: #00d;
	position: absolute;
}

/** footer style */
.foot {
	padding: 0.7em 1em;
	height: 20px;
	clear: both;
}
.foot ul {
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0;
}
.foot li {
	display: inline-block;
	margin-right: 1em;
}
.foot .servicenavi {
	width: 25em;
	float: left;
}

.foot .inquiry {
	width: 24em;
	float: right;
}

.rights {
	font-size: 80%;
	text-align: center;
}

/* see color scheme at the top for background-color */

/** main division */
div.main {
	/*margin: 0 3em 1.5em 10.3em;
	border-left-width: 1px;
	border-left-style: solid;*/
	margin: 0 2em 1em 1em;
	max-width: var(--main-w);	/*1000px;*/
	min-height: 30em;	/*28em;*/
	padding: 0 1em 0 2em;
	line-height: 1.4;
}


.detail div.main, .detail h1 {
	/*margin-right: 15em;*/
	margin-right: 22%;
}

h1 {
	font-size: 180%;
	margin: 0 0 0 1.67em;
	padding-top: 30px;
}

h1, h2, h3 {
	color: #32467a;
}

dfn {
	font-style: normal;
	font-weight: bold;
}
table {
	border-collapse: collapse; margin: 1em 0;
}
table, th, td {
	border: gray solid 1px;
}
th, td {
	padding: 0.5em 0.3em;
}

/** menu */
.menu {
	width: 10.3em;
	position: absolute;
	left: 0;
	top: 70px;
	/*border-right: gray solid 1px;*/
}
.menu h2 {
	display: none;
}
.menu ul {
	margin: 0;
	padding:0;
}
.menu li {
	font-size: 90%;
	list-style: none /*url(menu-item.gif) inside*/;
}
.menu li a, .menu li.current {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
}
.menu li a {
	display: block;
	text-decoration: none;
}
.menu li a:link, .menu li a:visited {
	color: black;
}
.menu li a:hover {
	/*text-decoration: underline;*/
	color: #33c;
	border-bottom-style: solid;
	border-right-style: solid;
	border-right-width: 1px;
}


.menu li a, .menu li.current {
	padding: 0.8em 10px 0.8em 12px;
	height: 2em;
}

.menu li.ndllink a {
	padding-top: 1.8em;
}

.menu li.current img {
	position: absolute;
	left: 0;
}


/** aside for related link etc. */
div.aside {
	/*width: 14em;*/
	width: 20%;
	/*float: right;
	margin-right: 1em;
	margin-top: -30px;*/
	position: absolute;
	top: 128px;
	right: 1em;
}
.aside h2 {
	margin-top: 0;
}


#relmenu li {
	list-style: none;
	margin-bottom: 0.65em;
	padding: 0;
}
#relmenu li a{
	border: thin outset silver;
	border-radius: 10px;
	padding: 0.2em;
	width: 10em;
	display: block;
	text-decoration: none;
	color: black;
	background: #eee;
	text-align: center;
	appearance: button;
	-moz-appearance: button;
	-webkit-appearance: button;
}

/** documentation page style */

.doc h2 {
	margin: 2em 0 1.5em;
	font-size: 125%;
	color: white;
	background: #929ebd url(heading-bg.png);
	padding: 0.1em 0.4em;
}

.example {
	border: gray solid 1px;
	padding: 1em;
	margin: 1em 0;
	background: white;
}
.example pre {
	margin: 0;
}
.example code {
	color: #c00;
}


/* ----------------------------------------------- */
/** @form and search result style */
/* ----------------------------------------------- */

/** form style **/

table {
	background-color: white;
}

.doc form {
	margin-top: 2em;
	margin-bottom: 2em;
}

.dual form, 
.multi form {
	margin-top: 0;
}

fieldset {
	padding: 0.7em;
	border: #ddd solid 1px;
}
input.keyword,
input.ids {
	width: 30em;
}
input.clssf {
	width: 23.6em;
}
input.keyword, input.clssf, input.ids {
	height: 1.8em;
}
.sub input.keyword, .sub input.clssf, .sub input.ids {
	height: 1.5em;
}
.submit {
	width: 5em;
}
select#pfx {
	width: 6em;
}
label span {
	display: none;
}
html[lang=ja] span[lang=ja],
html[lang=en] span[lang=en],
html[lang=ja] label[lang=ja],
html[lang=en] label[lang=en] {
	display: inline-block;
}
html[lang=ja] span[lang=en],
html[lang=en] span[lang=ja],
html[lang=ja] label[lang=en],
html[lang=en] label[lang=ja] {
	display: none;
}

table.qres pre {
	white-space: pre-wrap;
}


legend.novis {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/** small form displayed in Subject Detail page */
div.sub {
	position: absolute;
	top: 15px; /*14px*/
	right: 1em;
	width: 29.5em; /*26em;*/
	font-size: 85%;
}

.sub fieldset {
	padding: 0.4em 0.5em 0.1em;
}
.sub input.keyword /*,
.sub input.ids*/ {
	width: 20em; /*19em;*/
	color: black;
}
.sub input.clssf,
.sub input.ids {
	width: 13.8em; /*13em;*/
	color: black;
}
.nash label {
	font-size: 75%;
}
label.void {
	color: silver;
}
/* initial state (no default value) */
/* 2026-01-30 */
input:focus::placeholder{
	opacity: 0;
}

/** form switcher */
/* form border */
.switcher #t0, #fm0,
.switcher #t1, #fm1, .switcher #t2, #fm2, .switcher #t3, #fm3 {
	border: 1px solid  #bbb;
}
.dual #fm1, .dual #fm2,
.multi #fm0, .multi #fm1, .multi #fm2, .multi #fm3 {
	border-top:none;
}



/* switching tab 2026-01-30 */
#switchbar.switcher{
	margin: 0;
	padding: 0;
	list-style: none;

	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end;
	gap: 0;
}

#switchbar.switcher > li[role="tab"]{
	flex: 0 0 auto;
	margin: 0;
	padding: 0.2em;
	white-space: nowrap;

	border: 1px solid #bbb;
	border-bottom: 1px solid #bbb;  /* underline for non select tab */
}
#switchbar.switcher > li[role="tab"][aria-selected="true"]{
	border-bottom-color: transparent; /* no underline for selected tab */
}

#switchbar.switcher > li[role="tab"] + li[role="tab"]{
	border-left: 0;	/* avoid double border btw tabs */
}
/* right holiz line, instead of li.info */
#switchbar.switcher::after{
	content: "";
	flex: 1 1 auto;
	border-bottom: 1px solid #bbb;
}





#fm0 fieldset, #fm1 fieldset, #fm2 fieldset, #fm3 fieldset {
	border: none;
}
/* upper right form in detail */
.sub #fm0, .sub #fm1, .sub #fm2, .sub #fm3 {
	border-top: none;
	clear: left;
}
.switcher #t2,
.switcher #t3 {
	border-left: none;
}
.switcher li {
	font-size: 85%;
	text-align: center;
	list-style: none;
	margin-left: 0;
	border: none;
	padding: 0.2em;
}
.sub .switcher li {
	font-size: 75%;
	padding: 0.1em;
}
ul.switcher {
	margin-bottom: 0;
	margin-left:0;
	padding-left:0;
}
.sub ul.switcher {
	margin-top: 0;
}
.switcher .actor, .switcher .waiter {
	display: block;
	width: 9em;
	float: left;
	white-space: nowrap;
	overflow: hidden;
}
.sub .switcher .actor, .sub .switcher .waiter {
	width: 7.8em;
}
/*.sub .switcher #t3 {
	width: 7em;
}
*/
.switcher .actor {
	cursor: default;
	outline: none;
}
.switcher .waiter,
.switcher .waiter label {
	cursor: pointer;
}

form.waiter {
	display: none;
}

/** search result */

.facet {
	float: left;
	border: none;
	margin-top: 1.4em;
	max-width: 11.5em;
}
.facet ul {
	padding-left: 0.4em;
	margin: 0.5em 0;
	list-style-image: url(menu-item.gif);
	/*list-style: none;*/
}
.facet ul ul {
	/* 2022-07-12 nonsub-topical */
	padding-left: 1em; /*0.6em*/
	margin-top: 0.1em;
}
.facet .unfocus {
	list-style: none;
}
.facet .unfocus a:link {
	color: #99c;
}
.facet ul li {
	padding-right: 0.5em;
}
.facet .unfocus a:visited {
	color: #cbb;
}
.facet .target {
	background: #eee;
	list-style-image: url(menu-item.gif);
}
.facet .unfocus .target a {
	color: black;
}
/*
.facet .selected .target a:visited {
	color: purple;
}
*/


div.reslist {
	margin-left: 12em;
}
.reslist ul {
	padding-left: 0;
}
.reslist ul li {
	border: silver solid 1px;
	padding: 0.3em 0.3em 0.3em 1.3em;
	text-indent: -1em;
	list-style: none;
	position /**/: relative;
}
.reslist li > span {
	/*float: right;*/
	position /**/: absolute;
	top: 3px;
	right: 0.4em;
	text-indent: 0;
}
.reslist li > div {
	text-indent: 0;
}
/* IE6 style */
* html .reslist li span {
	margin-left: 2em;
	font-size: 80%;
	color: gray;
}

/*li.exact {
	margin-bottom: 1em;
}
*/
li.exact a {
	font-weight: bold;
}
li.exact div a {
	font-weight: normal;
}

.nav {
	margin-top: 2em;
	font-size: 92%;
}
/*.nav span,*/ .nav a {
	border: #ddd solid 1px;
	padding: 0.2em 0.3em;
	margin-right: 0.3em;
}

.nav .current {
	border: gray solid 1px;
	padding: 0.2em 0.3em;
	margin-right: 0.3em;
}
.nav .numdisp {
	margin-left: 0.5em;
}
.nav .numdisp a, .nav .numdisp .cur {
	border: none;
	padding: 0.1em;
}
.nav .numdisp .cur {
	font-weight: bold;
}

/* see color scheme at the top for background-color */





/* ----------------------------------------------- */
/** @description detail */
/* ----------------------------------------------- */

#f1 h2, #f2 h2, #f2 p, #dualform h2, #multiform h2 {
	display: none;
}

.spg li, .aside h2, .detail h2{
	font-size: 114%;
	color: navy;
	font-weight: bold;
}
dl.description {
	display: table;
	width: 100%;
}
dl.description div {
	display:table-row;
}
.description dt{
	font-weight: bold;
	display: table-cell;
	width: 15em;
	vertical-align: top;
	padding: 0.3em 0.1em 0.5em 0.5em;
}
dl.description dt:not(.subjid){
	height: 3.08em;
}
.description dd {
	display: table-cell;
	margin-left: 0;
	margin-bottom: 0.1em;
	padding: 0.3em 0 1.3em 1em;
	background-color: white;
}
/* property pname */
.description dt span:not([lang]) {
	font: normal normal 80% sans-serif;
	color: rgb(80 80 80 / 81%);
	display: block;
}
.description dt span[lang] {
	color: black;
	font-weight: bold;
	font-size: 100%;
	overflow: hidden;
	margin-bottom: -0.3em;
}
.description dt span.l[lang='en'] {
	letter-spacing: -0.02em;
}
.description dd span {
	font: normal normal 85% sans-serif;
}
.description dd span[lang],
dd#wpwd span {
	font-size: 100%;
}
.description dt small {
	font-weight: normal;
}
.description dd small {
	color: gray;
}
dd#wpwd a {
	display: block;
}
dl.description div.asking {
	display: none;
}

rp, rt {
	/*font-size: 60%;*/
	color: #666;
}

dl.altformat {
	margin-top: 2em;
}
dl.altformat dt {
	font-weight: normal;
}
div.altformat {
	text-align: center;
	border-top: silver 1px solid;
	margin-top: 2em;
	padding-top: 0.7em;
}

/*Spring Graphは廃止 */

