/*kiri Website CSS rule*/
* {
	box-sizing: border-box;
}
body {
	min-width: 360px;
	margin: 0;
}
body, th, td {
	font-family: 
		'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',
		Meiryo, メイリオ, Osaka, 'MS PGothic', 
		arial, helvetica, sans-serif;
}
body, p { 
	line-height: 1.6;
}

p, th, td, ul, ol {
	font-size: 93% !important;
}
ul ul, ol ol {
	font-size: 100% !important;
}

ul {
	margin: 0.5em 0;
	padding-left: 1em;
	margin-left: 1em;
}
ol {
	margin: 0.5em 0;
	padding-left: 2em;
}

a {
	color: #00476C;
	text-decoration: underline;
}

section {
	margin: 2em 0;
}

section:not(:nth-of-type(1)) {
	margin-top: 3em;
}

img {
	border: 0pt; /* old browser */
	vertical-align: middle;
	
	max-width: 100%;
	height: auto;
}

table.table-simple {
	margin: 0;
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #000;
}
table.table-simple th {
	background: #ccc;
}
table.table-simple th,
table.table-simple td {
	padding: 0.5em;
	border: 1px solid #000;
}
/* --- table-tile --- */
table.table-tile {
	margin: 0;
	border-collapse: separate;
	border-spacing: 1px;
}
table.table-tile th {
	background: #999;
	color: #fff;
}
table.table-tile td {
	background: #e3e3e3;
}
table.table-tile th,
table.table-tile td {
	padding: 0.5em;
}

/* --- table-product-schedule --- */


/* 画面表示 */
.mo-inline {
	display: none !important;
}
.pc-inline {
	display: inline !important;
}
.mo-block {
	display: none !important;
}
.pc-block {
	display: block !important;
}

@media screen and (max-width:640px) {
	.mo-inline {
		display: inline !important;
	}
	.pc-inline {
		display: none !important;
	}
	.mo-block {
		display: block !important;
	}
	.pc-block {
		display: none !important;
	}
}

/* ----------------------- */

#contents {
	max-width: 980px;
	min-width: 360px;
	margin: 0 auto;
	padding: 0 1em;
}

#contents-full {
	max-width: 980px;
	min-width: 360px;
	margin: 0 auto;
}


/* ----------------------- */
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}


.notice {
	color: #f33;
	font-weight: bold;
}

.content-title {
	border-bottom: dotted 2px #000;
	font-size: 150%;
	font-weight: bold;
	color: #666;
	margin: 2em 0 1em 0;
}
@media screen and (max-width:640px) {
	.content-title {
		margin: 1em 0;
	}
}

.section-title {
	font-size: 100%;
	font-weight: bold;
	color: #fff;
	background: -webkit-radial-gradient(100% 50%, circle, #57A, #135);
	background: -moz-radial-gradient(100% 50%, circle, #57A, #135);
	background: -ms-radial-gradient(100% 50%, circle, #57A, #135);
	background: radial-gradient(100% 50%, circle, #57A, #135);

	padding: 0.5em;
	margin: 0.5em 0;
}
.section-title-line {
	font-size: 100%;
	font-weight: bold;
	color: #333;
	
	padding: 0.5em;
	padding-left: calc(0.5em + 6px);
	margin: 0.5em 0;
	
	border-left: 6px solid #666;
	border-bottom: 1px dotted #666;
}

.section-title-with-comment {
	margin-bottom: 0.2em;
}

.section-title-comment-mark {
	font-size: 50%;
	font-weight: normal;
}

.section-title-comment {
	font-size: 75%;
	margin: 0px;
}

.box-column {
	border: 1px solid #000;
	background: #eea;
	border-radius: 6px;
	padding:0 1em;
	margin:0.5em 1em;
}

.btn-toggle {
	 color: #00476C;
	 text-decoration: underline;
	 cursor: pointer;
}
.box-toggle {
	display: none;
}

/* ul,ol */

ul.list-qa {
	list-style-type: none;
	margin-left: 0em;
	padding-left: 2em;
}
ul.list-qa>li:nth-child(2n) {
	margin-bottom: 1em;
}
ul.list-qa>li:nth-child(2n):before {
	content: "\ff21\ff0e";			/* Ａ． */
	margin-left: -2em;
}
ul.list-qa>li:nth-child(2n+1):before {
	content: "\ff31\ff0e";			/* Ｑ． */
	margin-left: -2em;
}

ul.list-comment {
	list-style: none;
	list-style-image: none;
	background-image: none !important;
	margin-left: 0em;
	padding-left: 1.5em;
}
ul.list-comment > li:before {
	content: '※ ';
	margin-left: -1.5em;
}

ul.list-comment-title {
	list-style: none;
	list-style-image: none;
	background-image: none !important;
	margin-left: 0em;
	padding-left: 0.3em;
}
ul.list-comment-title > li:before {
	content: '※ ';
	margin-left: -0.3em;
}

ol.list-bracket {
  margin-left: 2em;
}
ol.list-bracket > li {
  list-style-type: none;
  counter-increment: cnt;
  position: relative;
}
ol.list-bracket > li:before {
  content: "(" counter(cnt) ")";
  display: inline-block;
  margin-left: -4em;
  width: 3em;
  text-align: right;
  position: absolute;
  top: 0;
  left: 0;
}

.list-margined > li:not(:first-child) {
	margin-top: 2em;
}

/* header */
.header-content {
	max-width: 980px;
	width: 100%;
	
	margin: 0 auto;
	padding-bottom: 0.5em;
}
.header-content img {
	padding-left: 2em;
	height: 100%;
	width: auto;
}
.header-right {
	margin: 0 0.5em;
	float: right;
}
.header-right p {
	text-align: right;
}

	
/* menu */
#menu-btn {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	
	padding: 0.25em;
	font-size: 200%;
}
#menu {
	width:100%;
	cursor: pointer;
	background: #17b;
	font-size: 90%;
}
#menu .menu-toggle {
	padding: 0.5em 1em;
	position: absolute;
	top: 0;
	right: 0;
	color: #fff;
}
#menu .menu-splitter {
	border-top: 3px solid #fff;
}
#menu ul {
	max-width: 980px;
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
}
#menu > ul {
	letter-spacing: -0.5em;
}
#menu > ul > li {
	position: relative;
	
	display: inline-block;
	width: 25%;
	max-width: calc(980px / 4);
	
	letter-spacing: normal;
	border-left: 1px solid #fff;
}
#menu > ul > li:last-child {
	border-right: 1px solid #fff;
}
#menu > ul > li > a {
	background-color: #17b !important;
}
#menu > ul > li > ul {
	display: none;
	
	position: absolute;
	z-index: 1;
}
#menu > ul > li > ul > li {
	display: inline-block;
	width: 100%;
}
#menu > ul > li > ul > li a {
	border-top: 1px solid #fff;
}
#menu ul a {
	text-decoration: none;
	width: 100%;
	display: block;
	background-color: #39d;
	color: #fff;
	text-align: center;
	padding:0.5em 0.25em;
}

@media screen and (max-width:640px) {
	.header-content {
		height: 70px;
		border: none;
		border-bottom: 1px solid #17b;
	}
	.header-content img {
		padding-left: 1em;
	}
	.header-right {
		display: none;
	}
	
	#menu-btn {
		display: block;
	}
	#menu {
		display: none;
		font-size: 120%;
	}
	#menu .menu-toggle, #menu  ul a{
		padding: 0.25em;
	}
	#menu ul {
		width: 100%;
		margin: 0;
		letter-spacing: normal;
	}
	#menu > ul > li:not(:first-child) > a {
		border-top: 1px solid #fff;
	}
	#menu > ul > li {
		display: block;
		width: 100%;
		max-width: 100%;
		border: none !important;
	}
	#menu > ul > li > ul{
		position: relative;
	}
}
@media screen and (min-width:641px) {
	#menu {
		display: block !important;
	}
}

/* footer */
footer {
	background: #ccc;
	padding: 0.25em 1em;
}
#footer-content {
	max-width: 980px;
	width: 100%;
	
	margin: 0 auto;
	font-size: 90%;
}
#footer-content a {
	display: inline-block;
}
#footer-left {
	float: left;
}
#footer-right {
	white-space: nowrap;
	float: right;
}

/* --sitemap -- */
.sitemap {	
	padding: 1em 0.5em;
	line-height: 1.8em;
	font-size: 80%;
	background: #eee;
}
.sitemap-box {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	
	max-width: 980px;
	margin: 0 auto;
}
.sitemap-item {
	margin: 0.5em;
	width: 230px;
}
.sitemap-item-title {
	font-weight: bold;
	color: #099; 
}
.sitemap-item-list {
	list-style: none;
	padding: 0;
	margin: 0 0.5em;
}
.sitemap-item-list > ul {
	padding: 0;
	margin: 0;
}
.sitemap-item-list a {
	text-decoration: none;
	color: #444;
}
.sitemap-tm {
	max-width: 980px;
	
	text-align: right;
	padding: 0 0.5em;
	margin: 1em auto 0 auto;

	line-height: 1.5;
	font-size: 85%;
}
@media screen and (max-width:640px) {
	.sitemap {
		display: none;
	}
}

/* try button */
.btn-try {
	display: inline-block;
	font-size: 100%;
	padding: 0.1em 1em;
	text-decoration: none;
	
	color: #fff !important;
	background: #36f !important;
	
	border: solid 2px #36f !important;
	border-radius: 3px;
	transition: .4s;
}
.btn-try:hover {
	background: #fff !important;
	color: #36f !important;
}

/* temp -------------------------------- */

.sitemaplist {
	padding-left: 0em;
}
.sitemaplist > li {
	text-indent: 0em;
}
/* ------------------------------------- */

span.attention {
	text-decoration: underline;
	font-weight: bold;
}

/* --------------------- Anchor and Caption layout, abbreviation : AaC */
.AaC_frame { display: table; width: 100%; margin-top: 0.5em; line-height: 1.2em; border: 0px; border-collapse: collapse; }
.AaC_head { display: table-cell; width: 30%; vertical-align: middle; background-color: #dfdfdf; padding-top: 0.4em; padding-right: 0.5em; padding-bottom: 0.4em; padding-left: 0.5em; }
.AaC_sep { display: table-cell; width: 6%; vertical-align: middle; text-align: center; }
.AaC_body { display: table-cell; width: 64%; vertical-align: middle; padding-top: 0.5em; padding-bottom: 0.5em; color: #333; }

.AaC_head a:hover { color: #666; text-decoration: underline; text-align: left; display: block; font-weight: bold; margin-left: 5px; padding-left: 5px; }
.AaC_head a:link { color: #666; text-decoration: none; text-align: left; display: block; font-weight: bold; padding-left: 5px; margin-left: 5px; }
.AaC_head a:visited { color: #666; text-decoration: none; text-align: left; display: block; font-weight: bold; margin-left: 5px; padding-left: 5px; }
@media screen and (max-width:640px) {
	.AaC_head { display:block; width: 100%; }
	.AaC_sep { display: none; }
	.AaC_body { display:block; width: 100%; }
}