@charset "UTF-8";

html,
body,
ul ,
ol ,
li ,
dl ,
dt ,
dd ,
p ,
img ,
h1 ,
h2 ,
h3 ,
h4 ,
h5 ,
h6 ,
hr ,
address ,
em ,
strong ,
abbr ,
dfn ,
object ,
form,
table,
tr,
td,
th,
iframe
{
	margin : 0 ;
	padding : 0 ;
	font-style : normal ;
	font-weight : normal ;
	font-size : 100% ;
	list-style-type : none ;
	background-color : transparent ;
	border-style : none ;
}


html,
body
{
	height : 100% ;
	width : 100% ;
}

/* body */
body
{
	margin : 0 ;
	padding : 0 ;
	color : rgb(66,66,66) ;
	font-size : 100% ;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, "ms pgothic", sans-serif;
	text-align : center ;
	-webkit-text-size-adjust : none;
	line-height : 1.5 ;
	background-color : rgb(255,255,255) ;
}

/* 段落（パラグラフ） */
p
{
	text-align : justify ;
	text-justify : inter-ideograph ;
	margin-bottom : 1em ;
}

/* 改行 */
br.b240,
br.b480
{
	display : none ;
}

/* 約物 */
hr
{
	display : none ;
}

/* 回り込みクリア */
hr.line
{
	display : block ;
	margin-top : -1px ;
	height : 1px ;
	overflow : hidden ;
	visibility : hidden ;
	clear : both ;
}

a img
{
	border-style : none ;
}

img.icon
{
	width : 80px ;
}

/* 強調関係 */
em,
.notice
{
	font-size : 85% ;
}

dfn
{
	font-weight : bold ;
}

strong
{
	color : rgb(0,162,154) ;
	font-weight : bold ;
}

.silent
{
	display : none ;
}

.read
{
	color : rgb(96,154,68) ;
	font-weight : bold ;
}

/* 回り込み */
.fll
{
	float : left ;
	margin-right : 1.5em ;
	margin-bottom : 1em ;
}

.flr
{
	float : right ;
	margin-left : 1.5em ;
	margin-bottom : 1em ;
}

.flr img
{
	vertical-align : top ;
}

.center
{
	text-align : center ;
}

.center_justify
{
	text-align : center ;
	text-align: justify;
	text-justify: distribute-all-lines;
}

.center_justify:after
{
    content:"";
    display: inline-block;
    width: 100%;
    line-height:0;
    height: 0;
}

.right
{
	text-align : right ;
}

.left
{
	text-align : left;
}

.tw6
{
	width : 6em ;
}

/* コラム */
.column
{
	padding : 10px ;
	background-color : rgb(255,248,230) ;
	border : 2px dotted rgb(100,100,100) ;
	border-radius : 8px ;
}

/* 著作者表示 */
address
{
	text-align : right ;
}

img.cover
{
	width : 100% ;
}

/* リスト系 */
ol.marks,
ol.marks li
{
	list-style-type : decimal ;
	list-style-position : inside ;
}

ul.marks,
ul.marks li
{
	list-style-type : disc ;
	list-style-position : inside ;
}

ol.marks,
ul.marks
{
	margin : 1em 0 1em 0 ;
}

ol.marks li,
ul.marks li
{
	margin : 0.4em 0 0.4em 0 ;
}

/* ページ内インデックス */
div.page_index
{
}

div.page_index ul
{
	text-align : center ;
}

div.page_index ul li
{
	display : inline-block ;
}

div.page_index ul li a
{
	display : table-cell ;
	vertical-align : middle ;
	font-weight : bold ;
	line-height : 1.2 ;
	text-decoration : none ;
	color : rgb(255,255,255) ;
	background-color : rgb(82,102,135) ;
	overflow : hidden ;
	background-image : url(/Images/page_index_arrow.svg) ;
	background-repeat : no-repeat ;
	background-position : bottom center ;
	background-size : auto 100% ;
}

div.page_index ul li a:hover
{
	color : rgb(255,255,255) ;
/*	background-color : rgb(178,28,34) ;*/
	background-color : rgb(60,60,60) ;
}

/* ディレクトリインデックス */
div.directory_index
{
	margin-top : 1em ;
}

div.directory_index ul
{
}

div.directory_index ul li
{
	display : inline-block ;
	margin : 0 5px 5px 0 ;
}

div.directory_index ul li:first-child,
div.directory_index ul li span.bookmak_icon
{
	display : none ;
}

div.directory_index ul li a
{
	display : block ;
	padding : 2px 6px 2px 6px ;
	color : rgb(255,255,255) ;
	background-color : rgb(86,80,80) ;
	border-radius : 4px ;
}

div.directory_index ul li a:hover
{
	background-color : rgb(236,108,0) ;
}

div.directory_index ul li a span.bookmak_text:after
{
	content : " ▶"
}

/* アンカーの疑似クラス（共通） */

a:link,
a:visited {
	color : rgb(50,88,182) ;
	text-decoration : none ;
}

a:hover {
	color : rgb(193,39,45) ;
	text-decoration : none ;
}

a:active {
	color : rgb(255,0,0) ;
	text-decoration : none ;
}

/* 100%ブロック */
/* chapter */
div.chapter
{
	height : 100% ;
	padding : 0 ;
	text-align : left ;
}

body > div.chapter
{
	height : auto ;
	min-height : 100% ;
}

/* テーブル 共通 */
/* テーブル　メールフォームは別途 */
table
{
	width : 100% ;
	margin-bottom : 1em ;
	border-collapse : collapse ;
}

table tr th
{
	font-weight : bold ;
	text-align : center ;
}

table tr td,
table tr th
{
	vertical-align : middle ;
	padding : 0.5em ;
	border : 1px solid rgb(180,180,180) ;
}

table.inspection_table tr td,
table.inspection_table tr th
{
	border-top : 1px solid rgb(180,180,180) ;
	border-right : 1px solid rgb(100,100,100) ;
	border-bottom : 1px solid rgb(180,180,180) ;
	border-left : 1px solid rgb(100,100,100) ;
}

table tr td.price,
table tr th.price,
table tr.total th
{
	text-align : right ;
}

table tr.total td.price,
table tr.total th.price,
table tr.total th
{
	text-align : center ;
}

table tr:nth-child(odd)
{
	background-color : rgb(245,245,245) ;
}

table tr:nth-child(even)
{
	background-color : rgb(250,250,250) ;
}

table tr.total td,
table tr.total th
{
	border-top : 2px solid rgb(140,140,140) ;
	font-weight : bold ;
/*	background-color : rgb(220,213,200) ;*/
}

table tr:hover
{
	background-color : rgb(230,245,210) !important;
}

/* テーブル レイアウト用 layout */
table.layout tr td
{
	vertical-align : top ;
	border-style : none ;
	background-color : transparent ;
}

table.tri tr td
{
	width : 33% ;
}

table.layout tr:nth-child(odd),
table.layout tr:nth-child(even),
table.layout tr:hover
{
	background-color : transparent !important;
}


option
{
	color : rgb(80,80,80) ;
}

optgroup
{
	color : rgb(60,60,60) ;
}


/* 本文中アンカー */
div.passage a:link,
div.passage a:visited
{
	text-decoration : none ;
}

div.passage a:hover
{
	text-decoration : none ;
}

div.passage a:active
{
	text-decoration : none ;
}

body div.chapter div.article div#H201.section div.passage ul li p.notice
{
	margin-bottom : 0.2em ;
}

/* アンカーボックス accesslink */
div.passage a.accesslink
{
	padding : 4px 6px 4px 6px ;
	font-size : 12px ;
	font-weight : bold ;
	color : rgb(245,245,245) ;
	background-color : rgb(82,102,135) ;
	border-radius : 4px ;
}

div.passage a.accesslink:hover
{
	color : rgb(255,255,255) ;
	background-color : rgb(80,80,80) ;
	text-decoration : none ;
}

div.passage a.accesslink:visited
{
	text-decoration : none ;
}

/* 定義リスト */
div.section dl
{
	margin-top : 1em ;
	margin-bottom : 0.5em ;
}

div.section dl dt
{
	font-weight : bold ;
	margin-bottom : 0.5em ;
	color : rgb(82,102,135) ;
}

div.section dl dd
{
	margin-left : 1em ;
}

div.section dl.pickup
{
}

div.section dl.pickup dt
{
	margin-top : 0 auto 0 auto ;
	color : rgb(255,255,255) ;
	background-color : rgb(100,100,100) ;
}


/* 見出し h2 */
h2
{
	color : rgb(0,66,148) ;
	font-size : 160% ;
	font-weight : bold ;
	padding-left : 1.2em ;
	margin-top : 0.8em ;
	margin-bottom : 1em ;
	border-bottom : 1px solid rgb(120,120,120) ;
	background-image : url(/Images/h2_before.svg) ;
	background-repeat : no-repeat ;
	background-position : center left ;
	background-size : 1em 1em ;
}


h2 img
{
	vertical-align : bottom ;
}

/* 見出し h3 */
h3
{
	font-size : 125% ;
	font-weight : bold ;
	padding-left : 1.2em ;
	margin-top : 4em ;
	margin-bottom : 1.5em ;
	color : rgb(0,66,148) ;
/*	background-color : rgb(236,108,0) ;*/
	border-bottom : 1px solid rgb(120,120,120) ;
	clear : both ;
	background-image : url(/Images/h3_before.svg) ;
	background-repeat : no-repeat ;
	background-position : center left ;
	background-size : 1em 1em ;
}

h3.tabletitle
{
	padding : 8px 12px 8px 12px ;
	color : rgb(250,250,250) ;
	font-size : 100% ;
	font-weight : bold ;
	margin-top : 1.5em ;
	margin-bottom : 0 ;
/*	background-color : rgb(236,108,0) ;*/
	background-color : rgb(100,100,102) ;
	clear : both ;
}

h3.tabletitle:before
{
	content : "» " ;
}

div.passage h3.tabletitle a
{
	color : rgb(255,248,230) ;
}

div.passage h3.tabletitle a:hover
{
	color : rgb(10,10,10) ;
}

body.home h3.tabletitle
{
	margin-bottom : 0 ;
}



/* 見出し h4 */
h4
{
	color : rgb(0,162,154) ;
	font-size : 116% ;
	font-weight : bold ;
	padding-left : 1.2em ;
	margin-top : 1.5em ;
	margin-bottom : 0.5em ;
	background-image : url(/Images/h4_before.svg) ;
	background-repeat : no-repeat ;
	background-position : center left ;
	background-size : 1em 1em ;
}

td h4
{
	margin-bottom : 0 ;
}

div.h4
{
	margin-bottom : 3em ;
}

/* ブックマークリストの中のイメージ要素 */
div.bookmark ul li a img
{
	vertical-align : middle ;
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
	opacity : 0.7;
}

div.bookmark ul li a:hover img
{
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
	opacity: 1;
}

/* 囲みリストの中の段落 */

body div.chapter div.article div.section#H201 ul.square li p
{
	text-align : left ;
	margin-bottom : 0 ;
}

body div.chapter div.article div.section#H201 ul.square li p.notice
{
	text-align : left ;
	margin-bottom : 0.5em 0 0.5em 0 ;
}

/* Twiiter 埋込 */
div.twitterboard
{
	margin-right : auto ;
	margin-left : auto ;
	margin-bottom : 24px ;
	text-align : center ;
}

