@charset "utf-8";

.preload * {
	transition: unset;
}

#winfo {
	width: 100px;
	position: fixed;
	top: 5px;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 30000;
	color: #fff;
}

#winfo:after {
	margin-left: 0.5em;
}

#winfo {
	display: none;
}
/*
*/

html {
	font-size: 62.5%;

/*
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
*/
	@media only screen and(-webkit-min-device-pixel-ratio: 2),(min-resolution: 2dppx) {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

body {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 86px);
	margin: 0;
	padding-top: 40px;

	text-align: center;
	line-height: 1.75;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	background: #fff;

	color: #1a1a1a;
	
}

.roman,
.serif {
	font-family: 'Noto Serif JP', serif !important;
}

.sans-serif {
	font-family: 'Noto Sans JP', sans-serif !important;
}

.greek {
	display: inline-block;
	margin-right: 0.08em;
	font-family: Arial, 'Noto Serif JP', serif !important;
	font-style: oblique;
	transform: scale(1.1, 1.1) translateY(-0.07em);
}


.serif-plane		{ font-family: serif !important; }
.sans-serif-plane	{ font-family: sans-serif !important; }


a,
map, 
area,
.breakall {
	text-decoration: none;
	word-break: break-all;
	outline: none;
}


/* EdgeのIEモードでも有効にするため */
/*
.ie body.typeSSC,
.edge body.typeSSC {
	word-wrap: break-word;
	word-break: break-all;
}
*/

img {
	display: inline-block;
	vertical-align: bottom;
}

sup,
sub {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
	margin: 0 0.08em;
}
 
sup { bottom: 0.5em; }
sub { top: 0.3em; }

.nowrap {
	display: inline-block;
	white-space: nowrap;
}

p .nowrap {
	display: inline;
}

.pos-sta	{ position: static; }
.pos-rel	{ position: relative; }
.pos-abs	{ position: absolute; }
.pos-flx	{ position: flex; }

.blk	{ display: block; }
.inblk	{ display: inline-block !important; }
.inlin	{ display: inline !important; }
.none, 
.hide	{ display: none; }

.text-emphasis-dot {
	padding-top: 0.52em;
	background-position: top center;
	background-repeat: repeat-x;
	background-size: 1em 1em;
	background-image: radial-gradient(circle, #333 0.1111111111em, transparent 0.1111111111em);
}

span[class^="space"] {
	clear: both;
	display: block;
}

.space0		{ height: 0; }
.space1		{ height: 1px; }
.space5		{ height: 5px; }
.space10	{ height: 10px; }
.space15	{ height: 15px; }
.space20	{ height: 20px; }
.space30	{ height: 30px; }
.space40	{ height: 40px; }
.space50	{ height: 50px; }
.space60	{ height: 60px; }
.space70	{ height: 70px; }
.space80	{ height: 80px; }
.space100	{ height: 100px; }
.space120	{ height: 120px; }
.space150	{ height: 150px; }
.space200	{ height: 200px; }

.space-ttl	{ height: 23px; }
.space-aut	{ height: 17px; }

.space-ttl2-aut2	{
	height: 12px;
}

.space-ttl1-aut2	{
	height: 11px;
}

.space-ttl2aut1-ttlaut2	{
	height: 5px;
}


.is-show	{ display: block !important; }
.is-hidden	{ display: none; }

.center, .fC		{
	margin-left: auto !important;
	margin-right: auto !important;
}
.fL	{ float: left; }
.fR	{ float: right; }
.fClr { clear: both; }

.align-C, .aC	{ text-align: center !important; }
.align-L, .aL	{ text-align: left !important; }
.align-R, .aR	{ text-align: right !important; }
.align-J, .aJ	{
	text-align: justify !important;
	text-justify: inter-ideograph !important;
	text-justify: inter-character !important;
}

.s0  { display: none; }
.s10 { font-size: 1.0rem !important; }
.s11 { font-size: 1.1rem !important; }
.s12 { font-size: 1.2rem !important; }
.s13 { font-size: 1.3rem !important; }
.s14 { font-size: 1.4rem !important; }
.s15 { font-size: 1.5rem !important; }
.s16 { font-size: 1.6rem !important; }
.s17 { font-size: 1.7rem !important; }
.s18 { font-size: 1.8rem !important; }
.s20 { font-size: 2.0rem !important; }
.s22 { font-size: 2.2rem !important; }
.s24 { font-size: 2.4rem !important; }
.s26 { font-size: 2.6rem !important; }
.s28 { font-size: 2.8rem !important; }
.s32 { font-size: 3.2rem !important; }

.l100	{ line-height: 1.0 !important; }
.l110	{ line-height: 1.1 !important; }
.l120	{ line-height: 1.2 !important; }
.l140	{ line-height: 1.4 !important; }
.l150	{ line-height: 1.5 !important; }
.l160	{ line-height: 1.6 !important; }
.l180	{ line-height: 1.8 !important; }

.k20	{ margin-right: 0.1em; }
.k10	{ margin-right: 0.05em; }
.k-10	{ margin-right: -0.05em; }
.k-20	{ margin-right: -0.1em; }
.k-30	{ margin-right: -0.15em; }
.k-40	{ margin-right: -0.2em; }
.k-50	{ margin-right: -0.25em; }
.k-60	{ margin-right: -0.3em; }
.k-80	{ margin-right: -0.4em; }
.k-100	{ margin-right: -0.5em; }
.k-150	{ margin-right: -0.75em; }
.k-200	{ margin-right: -1.0em; }
.k-400	{ margin-right: -2.0em; }

.tr50	{ letter-spacing: 0.05em !important; }
.tr40	{ letter-spacing: 0.04em !important; }
.tr30	{ letter-spacing: 0.03em !important; }
.tr20	{ letter-spacing: 0.02em !important; }
.tr10	{ letter-spacing: 0.01em !important; }
.tr0	{ letter-spacing: 0em !important; }
.tr-10	{ letter-spacing: -0.01em; }
.tr-20	{ letter-spacing: -0.02em; }
.tr-30	{ letter-spacing: -0.03em; }
.tr-40	{ letter-spacing: -0.04em; }
.tr-50	{ letter-spacing: -0.05em; }
.tr-60	{ letter-spacing: -0.06em; }
.tr-80	{ letter-spacing: -0.08em; }
.tr-100	{ letter-spacing: -0.10em; }
.tr-150	{ letter-spacing: -0.15em; }
.tr-200	{ letter-spacing: -0.20em; }
.tr-250	{ letter-spacing: -0.25em; }
.tr-300	{ letter-spacing: -0.30em; }
.tr-400	{ letter-spacing: -0.40em; }
.tr-600	{ letter-spacing: -0.60em; }
.tr-800	{ letter-spacing: -0.80em; }

.normal		{ font-weight: normal !important;}
.bold		{ font-weight: bold !important; }
.slanted	{ font-style: italic !important; }
.strike		{ text-decoration: line-through; }
.underline	{ text-decoration: underline; }
.italic {
	font-style: italic;
	font-family: serif;
	font-size: 116%;
	line-height: 0.9;
}
.lato {
	font-family: "Lato", sans-serif;
}
.boten {
	position: relative;
/*
	-webkit-text-emphasis: filled circle #000;
	text-emphasis: filled circle #000;
*/
}
.boten > span {
	position: relative;
}

.boten > span:before {
	content: "";
	width: 4px;
	height: 4px;
	overflow: hidden;
	border-radius: 50%;
	background: #000;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -30%);
}

.marker-yellow { background: #fff000; }
body.TS .check { background: rgba(255, 255, 0, 0.5); }

.wFull	{ width: 100%; }

div[class^="wrap"] {
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}

.wrap600 { width: 600px; }
.wrap720 { width: 720px; }
.wrap880 { width: 880px; }
.wrap960 { width: 960px; }

.flex {
	display: flex;
}

.flex.sb { justify-content: space-between; }
.flex.aC { justify-content: center; }
.flex.aL { justify-content: flex-start; }
.flex.aR { justify-content: flex-end; }

.iflex {
	display: inline-flex;
}

.br:after {
	content: "\A";
	white-space: pre;
	height: 0.1px;
}

.red { color: #f00; }
.gray { color: #8a8a8a; }
.blue { color: #00f; }
.bluegray { color: #4e6cb4; }

.wAuto		{ width: auto !important; }

.w10pcnt	{ width: 10% !important; }
.w20pcnt	{ width: 20% !important; }
.w30pcnt	{ width: 30% !important; }
.w40pcnt	{ width: 40% !important; }
.w50pcnt	{ width: 50% !important; }
.w60pcnt	{ width: 60% !important; }

.pad0	{ padding: 0 !important; }
.pad10	{ padding: 10px !important; }
.pad20	{ padding: 20px !important; }
.pad30	{ padding: 30px !important; }
.pad40	{ padding: 40px !important; }
.pad50	{ padding: 50px !important; }
.padS40	{
	padding-right: 40px !important;
	padding-left: 40px !important;
}

.pT0	{ padding-top: 0 !important; }
.pT10	{ padding-top: 10px !important; }
.pB0	{ padding-bottom: 0 !important; }
.pB10	{ padding-bottom: 10px !important; }

.mL0	{ margin-left: 0 !important; }
.mL5	{ margin-left: 5px !important; }
.mL10	{ margin-left: 10px !important; }
.mL20	{ margin-left: 20px !important; }
.mL30	{ margin-left: 30px !important; }
.mL40	{ margin-left: 40px !important; }
.mL50	{ margin-left: 50px !important; }
.mL1em	{ margin-left: 1.0em !important; }
.mL2em	{ margin-left: 2.0em !important; }
.mL3em	{ margin-left: 3.0em !important; }

.mL-10	{ margin-left: -10px !important; }
.mL-20	{ margin-left: -20px !important; }
.mL-30	{ margin-left: -30px !important; }


.mT0	{ margin-top: 0 !important; }
.mT2	{ margin-top: 2px !important; }
.mT3	{ margin-top: 3px !important; }
.mT4	{ margin-top: 4px !important; }
.mT5	{ margin-top: 5px !important; }
.mT10	{ margin-top: 10px !important; }
.mT20	{ margin-top: 20px !important; }
.mT30	{ margin-top: 30px !important; }
.mT40	{ margin-top: 40px !important; }
.mT50	{ margin-top: 50px !important; }
.mT60	{ margin-top: 60px !important; }
.mT80	{ margin-top: 80px !important; }
.mT100	{ margin-top: 100px !important; }

.mT1em	{ margin-top: 1.75em !important; }
.mT2em	{ margin-top: 2.4em !important; }
.mT3em	{ margin-top: 3.0em !important; }

.mB0	{ margin-bottom: 0 !important; }
.mB5	{ margin-bottom: 5px !important; }
.mB10	{ margin-bottom: 10px !important; }
.mB20	{ margin-bottom: 20px !important; }
.mB30	{ margin-bottom: 30px !important; }
.mB40	{ margin-bottom: 40px !important; }
.mB50	{ margin-bottom: 50px !important; }
.mB60	{ margin-bottom: 60px !important; }
.mB80	{ margin-bottom: 80px !important; }
.mB100	{ margin-bottom: 100px !important; }

.mB1em	{ margin-top: 1.75em !important; }
.mB2em	{ margin-top: 3.5em !important; }

.mR0	{ margin-right: 0 !important; }
.mR10	{ margin-right: 10px !important; }
.mR20	{ margin-right: 20px !important; }
.mR30	{ margin-right: 30px !important; }
.mR40	{ margin-right: 40px !important; }

.padL0	{ padding-left: 0 !important; }
.padL10	{ padding-left: 10px !important; }
.padL20	{ padding-left: 20px !important; }
.padL40	{ padding-left: 40px !important; }
.padL1em	{ padding-left: 1.0em !important; }
.padL2em	{ padding-left: 2.0em !important; }

ul.padL1em { max-width: calc(612px - 1.0em) !important; }
ul.padL2em { max-width: calc(612px - 2.0em) !important; }

ul.mL0	{
	padding-left: 20px;
}





/*===============================================
	トップバー
	#topBar
*/

#topBar {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	width: 100%;
	height: 40px;
	background: rgba(255,255,255,0.95);
	z-index: 20000;
}

/*

	2019-08-29
	問合せは準備が整うまで非表示

a#desk {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 40px;
	overflow: hidden;
	margin-right: 5px;
	text-indent: 110%;
	white-space: nowrap;
	color: #b2b2b2;
}

a#desk::before {
	content: "\f059";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 1.8rem;

	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;
	text-indent: 0;
}
*/

a#desk {
	display: none;
}

#root {
	position: fixed;
	top: 0;
	right: 12px;
	z-index: 21000;
}

#search {
	position: fixed;
	right: 140px;
	top: 0;
	text-align: left;
	cursor: pointer;
	z-index: 20000;
}

#search > form::after {
	content: "\f002";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 1.9rem;
	color: #b2b2b2;

	display: inline-block;
	height: 35px;
	line-height: 35px;

}

#search > form {
	display: inline-block;
	margin: 0;
	padding: 2px 0 0;
}

#search input {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
}

#search.active > form,
#search > form:focus-within,
#search > form:hover {
	border-bottom: 1px solid #b2b2b2;
}

#search #txt {
	width: 0;
	font-size: 1.6rem;
	line-height: 1.4;
	transition: all 0.2s ease-out 0s;
}

#search.active #txt,
#search:hover #txt,
#search #txt:focus {
	width: 120px;
}

#search #txt::placeholder {
	font-size: 1.3rem;
	color: #b6b6b6;
}

#search #btn {
	position: absolute;
	top: 0px;
	right: -2px;
	width: 30px;
	height: 40px;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 1.6rem;
	line-height: 1.4;
	opacity: 0;
	cursor: pointer;
}



/***
 ***	Menu for Mobile
 ***/

#mm {
	position: fixed;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	overflow: hidden;
	text-align: center;
	line-height: 1.0;
	z-index: 20000;
	cursor: pointer;
	transition: all 0.35s ease-in-out 0s;
}

#mm > span {
	position: relative;
	display: inline-block;
	margin: 18px 0 0;
}

#mm > span, 
#mm > span:before, 
#mm > span:after {
	display: inline-block;
	width: 24px;
	height: 3px;
	border-radius: 1px;
	background: #000;
	transition: all 0.35s ease-in-out 0s;
}

#mm > span:before, 
#mm > span:after {
	content: "";
	position: absolute;
	left: 0;
}

#mm > span:before	{ top: -8px; }
#mm > span:after	{ top: 8px; }

#mm.selected {
	background: #09f;
}

#mm.selected > span {
	background: rgba(102, 102, 102, 0);
}

#mm.selected > span:before, 
#mm.selected > span:after {
	background: #fff;
}

#mm.selected > span:before {
	top: 0;
	transform: rotate(405deg);
}
#mm.selected > span:after {
	top: 0;
	transform: rotate(-405deg);
}

#mm, 
#mainNav > ul {
	display: none;
}




/*===============================================
*/


#siteTitle h1 {
	margin: 0;
	padding: 0;
}



/*===============================================
	フッター
	footer
*/

.toTop {
/*
	display: none;
*/
	position: fixed;
	left: 0;
	right: 0;
	bottom: 20px;
	width: 960px;
	margin: 0 auto;
	z-index: 1000;
}

.toTop > span,
.toTop a {
	float: right;
	width: 32px;
	height: 20px;
	overflow: hidden;
	margin-right: 20px;
	padding-bottom: 12px;
	line-height: 20px;
	text-align: center;
	border-radius: 3px;
	color: #fff;
	background: rgba(0, 34, 92, 0.3);
}

.toTop > span {
	cursor: pointer;
}

.toTop > span:before {
	display: inline-block;
	content: "\f062";
	font-family: "Font Awesome 5 Free";
	cursor: pointer;
}

.toTop > span:hover,
.toTop a:hover {
	background: #00225c;
}

.toTop > span:hover:before, 
.toTop a:hover .fas {
	transform: translateY(-3px);
}

.toTop a .fas {
	display: inline-block;
}

.toTop > span, 
.toTop > span:before, 
.toTop a, 
.toTop a .fas {
	transition: all .2s linear 0s;
}

footer {
	margin-top: auto;
	
}

footer p {
	margin: 0;
	padding: 0;
} 

footer small {
	font-size: 1.0rem;
}



/*
*/

li {
	text-align: justify;
	text-justify: inter-ideograph;
}

.list-num {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.list-num > li {
	padding-left: 1.5em;
	text-align: justify;
	text-justify: inter-ideograph;
}

.list-num > li > .h {
	float: left;
	display: block;
	margin-left: -1.5em;
}

.list-h {
	margin-left: 0 !important;
	padding-left: 0;
	list-style: none;
}

.list-h0 {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.list-h > li, 
.list-h0 > li {
	padding-left: 1.2em;
	text-align: justify;
	text-justify: inter-ideograph;
}

.list-h > li > .h, 
.list-h0 > li > .h {
	float: left;
	display: block;
	margin-left: -1.2em;
	padding: 0 !important;
}

.list-h2 {
	margin-left: 0 !important;
	padding-left: 0;
	list-style: none;
}

.list-h2 > li {
	padding-left: 2.2em;
	text-align: justify;
	text-justify: inter-ideograph;
}

.list-h2 > li > .h {
	float: left;
	display: block;
	margin-left: -2.2em;
	padding: 0 0 1px !important;
}

.list-h3 {
	margin-left: 0 !important;
	padding-left: 0;
	list-style: none;
}

.list-h3 > li {
	padding-left: 3.2em;
	text-align: justify;
	text-justify: inter-ideograph;
}

.list-h3 > li > .h {
	float: left;
	display: block;
	margin-left: -3.2em;
	padding: 0 0 1px !important;
}

.list-h4 {
	margin-left: 0 !important;
	padding-left: 0;
	list-style: none;
}

.list-h4 > li {
	padding-left: 4.2em;
	text-align: justify;
	text-justify: inter-ideograph;
}

.list-h4 > li > .h {
	float: left;
	display: block;
	margin-left: -4.2em;
	padding: 0 0 1px !important;
}


.list-h.hw-z7 > li {
	padding-left: 112px;
}

.list-h.hw-z7 > li > .h {
	width: 112px;
	margin-left: -112px;
}

.list-h .h.do {
	text-align: center;
}

.list-numWfree {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.list-numWfree > li {
	padding-left: 1.5em;
}

.list-numWfree > li > .h {
	float: left;
	display: block;
	margin-left: -1.5em;
	margin-right: 0.5em;
}

.list-li-mB10 > li + li { margin-top: 0.8em; }
.list-li-mB20 > li + li { margin-top: 1.75em; }

.list-dot {
	list-style: none;
}

.list-dot > li:before {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #333;
	float: left;
	margin: 0.5lh 0 0 -15px;
	transform: translateY(-50%);
}

.list-dot.fit {
	max-width: calc(612px - 1.0em) !important;
	padding-left: 1.0em !important;
}

.comf .list-dot {
	margin-top: 0;
	margin-bottom: 0;
}

.comf .list-dot > li:before {
	margin-top: 0.5em;
	background: #fff;
}

.comf a {
	color: #fff !important;
}

.comf .com {
	background: none;
	bottom: auto;
}



.list-dot-up {
	list-style: none;
}

.list-dot-up > li:before {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #333;
	float: left;
	margin: calc(0.8em - 2.5px) 0 0 -1.0em;
}

.list-dot-up > li {
	padding-left: 2.0em;
}

.list-noitem {
	margin-left: 0;
	padding: 0;
	list-style: none;
}

/*
	コメント（注釈）
*/

sup.com {
	min-width: 1.0em;
	margin: 0 1px;
	padding: 0 3px;
	font-size: 1.3rem;
	border-radius: 5px;
	background: rgba(255, 221, 51, 0.5);
	cursor: help;
}

sup.com:hover {
	background: rgba(255, 221, 51, 1.0);
}

.comf {
	position: absolute;
	min-width: 360px;
	margin: 30px 20px 0 0;
	padding: 12px 20px;
	font-size: 1.4rem;
	font-family: sans-serif;
	line-height: 1.3;
	color: #fff;
	background: rgba(0,0,0,0.7);
	border-radius: 6px;
	box-shadow: 0 3px 8px rgba(0,0,0,0.4);
	z-index: 2000;
}

.magNumber > .s, 
.magMonth > .s, 
.artNumber > .s {
	font-size: 87.5%;
}




/* 回り込み（とくに画像を文章の最終行に揃える時に使う）*/
.wrapBox {
	overflow: hidden;
}

.spacer { height: max-content; }
.aroundR .spacer { float: left; }
.aroundL .spacer { float: right; }

.wrapBox .fig {
	clear: both;
}



/* 条文*/

.jo {
	margin: 0;
	padding: 0;
	list-style: none;

	text-align: justify;
	text-justify: inter-ideograph;
}

.jo > li {
	display: block;
	margin: 0 0 0.5em;
	padding: 0 0 0 4.0em;
	list-style: none;
}

.jo.h0 > li { padding: 0 0 0 1.0em; }
.jo.h4 > li { padding: 0 0 0 5.0em; }
.jo.h5 > li { padding: 0 0 0 6.0em; }
.jo.h6 > li { padding: 0 0 0 7.0em; }
.jo.h7 > li { padding: 0 0 0 8.0em; }
.jo.h8 > li { padding: 0 0 0 9.0em; }

.jo > li > .h, 
.jo > li > .no-pad {
	float: left;
	display: block;
	margin-left: -4.0em;
}

.jo.h0 > li > .h { margin-left: -1.0em; margin-right: 1.0em; text-align: left; }
.jo.h4 > li > .h { margin-left: -5.0em; }
.jo.h5 > li > .h, 
.jo.h5 > li > .no-pad { margin-left: -6.0em; }
.jo.h6 > li > .h { margin-left: -7.0em; }
.jo.h7 > li > .h { margin-left: -8.0em; }
.jo.h8 > li > .h { margin-left: -9.0em; }

.jo > li.ko > .h {
	width: 3.0em;
	text-align: right;
}
.jo.h0 > li.ko > .h { margin-right: 1.0em; text-align: left; }
.jo.h4 > li.ko > .h { width: 4.0em; }
.jo.h5 > li.ko > .h { width: 5.0em; }
.jo.h6 > li.ko > .h { width: 6.0em; }
.jo.h7 > li.ko > .h { width: 7.0em; }
.jo.h8 > li.ko > .h { width: 8.0em; }


.jo > li > .h {
	width: 3.0em;
}
.jo.h0 > li > .h { width: auto; }
.jo.h4 > li > .h { width: 4.0em; }
.jo.h5 > li > .h { width: 5.0em; }
.jo.h6 > li > .h { width: 6.0em; }
.jo.h7 > li > .h { width: 7.0em; }
.jo.h8 > li > .h { width: 8.0em; }

.jo .go {
	margin: 0;
	padding: 0;
	list-style: none;
}

.jo .go > li {
	display: block;
	margin: 0;
	padding: 0 0 0 2.0em;
	list-style: none;
}

.jo.h0 .go > li {
	padding: 0 0 0 1.0em;
}

.jo .go > li > .h {
	float: left;
	display: block;
	margin-left: -2.0em;
}

.jo.h0 .go > li > .h {
	margin-left: -1.0em;
	margin-right: 1.0em;
}

.jo .colspan {
	display: inline-block;
	margin-left: -4.0em;
}
.jo.h0 .colspan { margin-left: -1.0em; }
.jo.h4 .colspan { margin-left: -5.0em; }
.jo.h5 .colspan { margin-left: -6.0em; }
.jo.h6 .colspan { margin-left: -7.0em; }
.jo.h7 .colspan { margin-left: -8.0em; }
.jo.h8 .colspan { margin-left: -9.0em; }


/* ※ */
.kome {
	padding-left: 1.0em;
}

.kome > .h {
	float: left;
	display: block;
	margin-left: -1.0em;
}
/**/


/* dl */
dl.fC {
	display: inline-block;
}

.dl-inline {
	margin: 0;
	padding: 0;
	text-align: left;
	line-height: 1.4;
}

.dl-inline > dt {
	float: left;
	display: inline-block;
	margin: 5px 0 0;
	padding: 0;
}

.dl-inline > dd {
	display: block;
	margin: 0;
	padding: 5px 0 0;
}

/**/



/* コピー禁止 Copy Prohibit */

.gd {
	position: relative;
}

.gd > img {
	pointer-events: none;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-touch-callout: none;
	-moz-user-select: none;
	touch-callout: none;
	user-select: none;
}

.g {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.g > img {
	width: 100%;
	height: 100%;
}

/**/

img.border {
	display: inline-block;
	vertical-align: bottom;
	border: 1px solid #a2a2a2;
}

.zoom,
.imgBorder,
.imgBorderTP {
	position: relative;
	display: block;
}

.imgBorder > img,
.imgBorderTP > img {
	display: inline-block;
	vertical-align: bottom;
}

.imgBorder:after, 
.imgBorderTP:after {
	content: "";
	display: block;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
	border: 1px solid rgba(0, 0, 0, 0.12);

	position: absolute;
	left: 0;
	top: 0;

	transition: all 0.2s ease-out 0s;
}

a.imgBorder {
	border-bottom: none !important;
}

a.imgBorder:after		{ border-color: rgba(0,   0,   0, 0.12); }
a.imgBorderTP:after		{ border-color: rgba(0,   0,   0, 0.00); }

a.imgBorder:hover:after, 
a.imgBorderTP:hover:after	{ border-color: rgba(0, 128, 234, 1.00); }

a.zoom:before {
	content: "\f00e";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.0;
	color: rgba(255,255,255,0.6);

	display: inline-block;
	padding: 4px;
	background: rgba(0, 128, 234, 0.64);
	border-radius: 0 0 6px 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;

	transition: all 0.2s ease-out 0s;
}

a.zoom:hover:before {
	color: rgba(255,255,255,1.0);
	background: rgba(0, 128, 234, 1.0);
}

hr {
	border: 0;
	height: 0;
	margin: 50px 0;
	border-top: 1px solid rgba(0, 0, 0, 1.0);
}


.scrollBox {
	margin-bottom: 10px;
	overflow: auto;
}

.scrollBox > table {
	min-width: 480px;
}

.list-download {
	display: block;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
	line-height: 1.2;
	font-size: 1.5rem;
}

.list-download li,
.list-download > li:first-child {
	border-width: 0;
	border-style: dotted;
	border-color: #ccc;
}

.list-download li {
	display: block;
	border-bottom-width: 1px;
}

.list-download > li:first-child {
	border-width: 1px 0;
}

.list-download.wLabel > li {
	padding-left: 72px;
}

.list-download.wLabel > li > .label {
	float: left;
	display: block;
	margin-left: -72px;
	font-size: 1.4rem;
	transform: translateY(1px);
}

.list-download li > a {
	display: flex;
	align-content: flex-start;
	align-items: center;
	width: 100%;
}

.list-download li > a,
.list-download > li > .label {
	padding: 7px 0;
}

.list-download li > a:after {
	content: "\f019";
	font-family: "Font Awesome 5 Free";
	display: inline-block;
	margin-left: auto;
	padding-left: 16px;
	font-size: 120%;
	color: #c2c2c2;
	transform: translateY(1px);
	transition: color 0.2s ease-out 0s;
}

.list-download li > a > .h {
	display: inline-block;
	width: 60px;
	white-space: nowrap;
}

.list-download li > a:hover,
.list-download li > a:hover:after {
	color: #5f9bfc !important;
}

.list-download ul {
	margin: 0;
	padding: 0;
}

.list-download ul > li:last-child {
	border-bottom: none;
}


table.thead-small thead th,
table.thead-small thead td {
	font-size: 1.3rem;
}

table.thead-normal thead th,
table.thead-normal thead td {
	font-weight: normal;
}

table.border,
table.border th,
table.border td {
	border: solid #5a5a5a;
} 

table.border {
	border-collapse: collapse;
	border-width: 1px 0 0 1px;
}

table.border th,
table.border td {
	padding: 4px 8px;
	border-width: 0 1px 1px 0;
}

table.th-normal th {
	font-weight: normal;
}

table.th-center th,
table.td-center td {
	text-align: center;
}

table.th-top th,
table.td-top td {
	vertical-align: top;
}

table.th-middle th,
table.td-middle td {
	vertical-align: middle;
}

table.th-bgcolor th {
	background: rgba(211, 233, 251, 0.85);
}

.obi {
	display: inline-block;
	padding-right: 4px;
	padding-left: 4px;
	color: #fff;
	background: #3a3a3a;
}



.list-disc {
	margin: 1em 0;
	padding: 0;
	list-style: none;
}

.list-disc > li {
	position: relative;
	margin: 0 0 4px;
	padding: 0 0 0 18px;
}

.list-disc > li:last-child {
	margin: 0;
}

.list-disc > li:before {
	content: " ";
	display: inline-block;
	width: 6px;
	height: 6px;
	overflow: hidden;
	border-radius: 50%;
	background: #333;
	position: absolute;
	top: 0.60em;
	left: 0.2em;

}










/*
	ルビ
*/

ruby[data-ruby] {
	position: relative;
	margin-right: 0px;
	margin-left: 0px;
	white-space: nowrap;
	padding-left: 0.01em;
	padding-right: 0.01em;
}

html:not([class*="firefox"]) ruby[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	top: -.6em;
	left: 0;
	right: 0;
	margin: 0 -1.0em 0;
	padding: 0;
	font-weight: normal;
	font-size: 1.0rem;
	white-space: nowrap;
	line-height: 1.0;
	text-indent: 0;
	display: inline-block;
	text-align: center;
}

.safari ruby[data-ruby]::after {
	content: " ";
	margin-right: -0.20em;
}

ruby > rt {
	margin-bottom: -0.5em;			/* for Firefox*/
	transform: translateY(0);
}

.safari ruby > rt	{ transform: translateY(.5em); }

html:not([class*="firefox"]) ruby[data-ruby] > rt {
	display: none;
}

@supports (-ms-ime-align: auto) {
	#P_forkids rt {
		position: relative;
		top: .5em;
	}
}

.firefox p rt {
	text-align: left !important;
}

.list-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.list-links > li {
	border-bottom: 1px dotted #b6b6b6;
}

.list-links > li > a,
.list-links > li > .nolink {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 5px 0;
	padding: 5px 0;
	line-height: 1.2;
}

.list-links > li > a:after {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	color: rgba(0, 128, 234, 0.3);
}

#ssW_Regular .main .list-links > li > a:link {
	background-size: 100% 0;
	border-bottom: none;

}

#ssW_Regular .main .list-links > li > a:hover {
	background-size: 100% 100%;
}

.list-links .n {
	width: 80px;
	font-size: 1.2rem;
}

.list-links .t {
	flex-basis: 45%;
}

.list-links .a {
	flex-basis: 45%;
	font-size: 1.4rem;
}

.list-links .labels,
.list-links .labels .n,
.list-links .labels .t,
.list-links .labels .a {
	font-size: 1.2rem !important;
	color: #6a6a6a;
}

.intro {
	margin: 20px 0 0;
	padding: 10px 10px 10px 120px;
	background: #fff;
	border: 1px solid #e2e2e2;
	transition: all .2s ease-in 0s;
	cursor: pointer;
}

.intro:hover {
	background: rgba(0, 128, 234, 0.1);
	box-shadow: 0 5px 8px rgba(0,0,0,0.3);
}

.intro .thumb {
	display: block;
	float: left;
	width: 96px;
	height: 128px;
	overflow: hidden;
	margin-left: -110px;
}

.intro .thumb img {
	max-width: 100px;
	height: auto;
}

.intro h3 {
	margin: 0 0 2px;
	padding: 0;
	font-size: 1.5rem;
	line-height: 1.3;
}

#ssW_Regular .main .intro h3 a {
	background: none;
	border: none;
}

.intro .a {
	font-size: 1.3rem;
}

#ssW_Regular .main .intro p {
	margin: 0.6em 0 0;
	padding: 0;
	font-size: 1.2rem;
	line-height: 1.25;

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	word-break: break-all;
	max-height: calc(1.2rem*1.25*4);

}

.memo {
	padding: 0 0 0 1.0em;
}

.memo > .h {
	display: block;
	float: left;
	margin-left: -1.0em;
}

a.aboutprsninfo {
	display: inline-block;
	margin-top: 10px;
	color: #3a3a3a;
}

a.aboutprsninfo:hover {
	color: #06f;
}


.crossbar {
	background-image: linear-gradient(
		to top right, 
		transparent, 
		transparent 49.6%, 
		#1a1a1a 49.9%,
		#1a1a1a 50.1%,   /* 線の太さ */
		transparent 50.4%,
		transparent
	) !important;
}

.kakomi {
	border: 1px solid #666;
}
