@charset "utf-8";

/*	Reset
------------------------------------------------------------ */
h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li { margin: 0; padding: 0; }
h1 { font-size: 100%; }
ul, ol { list-style: none }
table { border-collapse: collapse; border-spacing: 0; width:100%; }
img { vertical-align: bottom; max-width: 100%; height: auto; }



/*	Common
------------------------------------------------------------ */
* {
	box-sizing: border-box;
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	background: #fff;
	color: #333;
	font-size: 14px;
	line-height: 1.4;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", Meiryo, arial, sans-serif;
	word-break: break-all;
	-webkit-text-size-adjust: 100%;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {
	
	.sp-none { display: none; }
	
	#one-column > div,
	#tow-column > div,
	#cat-link,
	#breadcrumb {
		padding: 0 10px;
		width: 100%;
	}
	
}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
	
	body { min-width:1260px; }
	.pc-none { display: none; }
	
	#header-wrap,
	#search-box,
	#breadcrumb,
	#cat-link,
	#tab,
	#one-column,
	#tow-column,
	#site-map-wrap,
	#footer-company-wrap {
		margin: 0 auto;
		width: 1200px;
	}
}



/*	link
------------------------------------------------------------ */
a {
	text-decoration: none;
	color: #333;
}

a:hover {
	text-decoration: underline;
	color: #6bb7e0;
}

#cat-link { display:block; margin-bottom:30px; padding:10px 20px 20px 20px; border-bottom:1px dotted #ddd; letter-spacing:-.4em; }
#cat-link li {display:inline-block; border:1px solid #6bb7e0; letter-spacing:normal; margin:0 10px 10px 0; }
#cat-link li a { display:block; padding:3px 10px; }
#cat-link li a:hover { text-decoration:none; }
#cat-link li a:before { content:'∨'; margin-right:5px; }


#cat-link.current-manual li { border:1px solid #6bb7e0; }
/*#cat-link.current-manual li a { color:#339dbb; }*/
#cat-link.current-manual li a:hover { color:#fff; background:#6bb7e0; }

#cat-link.current-faq li { border:1px solid #6bb7e0; }
/*#cat-link.current-faq li a { color:#55cb9d; }*/
#cat-link.current-faq li a:hover { color:#fff; background:#6bb7e0; }

#cat-link.current-function li { border:1px solid #6bb7e0; }
/*#cat-link.current-function li a { color:#55cb9d; }*/
#cat-link.current-function li a:hover { color:#fff; background:#6bb7e0; }

/*	form
------------------------------------------------------------ */
input[type="text"],
button {
	border: none;
	vertical-align: top;
	appearance: none;
	border-radius: 0;
}

button {
	background: none;
}



/*	header
------------------------------------------------------------ */
#header {
	border-bottom: 1px solid #ddd;
}

#header-wrap { position:relative; }

#header-wrap h1 { float: left; }
#header-wrap ul { float: right; }

#header-wrap ul { 
	display: flex;
	
}
#header-wrap ul li {
	background: #cecece; 
	text-align: center; 
	vertical-align: top; 
	border-left: 1px solid #fff;
}
#header-wrap ul li.btn-manual a { background-image:url("/static/v5/images/icon_note.svg"); }
#header-wrap ul li.btn-inq a { background-image:url(/static/v5/images/icon_mail.svg); }
#header-wrap ul li.btn-search a { background-image:url(/static/v5/images/icon_search.svg); }
#header-wrap ul li.btn-search .active a { background-image:url(/static/v5/images/icon_close.svg); }

#header-wrap ul li a { 
	display: inline-block; 
	width:100px;
	height:70px;
	color: #fff;
	vertical-align: bottom;
	position:relative;
	background-repeat:no-repeat;
	background-size:40%;
	background-position:center 7px; 
}
#header-wrap ul li a:hover { background-color: #6bb7e0; text-decoration: none; color: #fff; }
#header-wrap ul li a div { position:absolute; bottom:7px; left:0; right:0; }
#header-wrap ul li dl { 
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-direction: row-reverse;
	-moz-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	-o-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {
	
	#header {
		margin-bottom: 20px;
	}

	#header-wrap {
		height: 50px;
	}
	
	#header-wrap h1 {
		margin: 10px 0 0 5px;
		width: 30%;
		height: auto;
	}
	
	#header-wrap ul {
		width: 60%;
	}

	#header-wrap ul li {
		width: 33.5%;
	}

	#header-wrap ul li a { 
		height:50px;
		width: 100%;
		background-position: center;
	}
	#header-wrap ul li a:hover { background-color: transparent; }
	#header-wrap ul li dt {
		height:50px; 
		width: 100%;
	}
	#header-wrap ul li dt.active { background-color: #6bb7e0; }
	#header-wrap ul li dt div.open { display: block; }
	#header-wrap ul li dt div.close { display: none; }
	#header-wrap ul li dt div.close::after { content: ""; position: absolute; top: 25px; left: 50%; margin-left: -8px; border: 10px solid transparent; border-top: 10px solid #6bb7e0; z-index: 1500; }
	#header-wrap ul li a div { display:none!important; }
	
	#header-wrap ul li.btn-manual a {
		-webkit-background-size: auto 70%;
		background-size: auto 70%;
	}

}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
	
	#header {
		margin-bottom: 50px;
	}
	
	#header-wrap {
		height: 70px;
		overflow: hidden;
	}

	#header-wrap h1 {
		margin-top: 10px;
		width: 200px;
		height: auto;
	}
	#header-wrap ul li.btn-manual a {
		width: 120px;
		background-position: center top 2px;
	}
	
	
	#header-wrap ul li:first-child {
		background: #fff;
	}
}



/*	search box
------------------------------------------------------------ */

#search-box-wrap {
	display: table;
	background: rgba(0, 0, 0, .7);
}

#search-box-wrap p {
	display: table-cell;
	vertical-align: top;
}

#search-box-wrap input[type="text"] {
	padding: 12px;
	height: 40px;
}

#search-box-wrap button {
	width: 40px;
	height: 40px;
	background: #6bb7e0;
	cursor:pointer;
}

#search-box-wrap button:hover {
	background: #4069a9;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {

	#search-box {
		position: absolute;
		display: none;
		width: auto;
		left: 0;
		top: 50px;
	}
	#search-box-wrap {
		top: -19px;
		padding: 20px 10px;
		width: 100%;
	}
	
	#search-box-wrap p,
	#search-box-wrap input[type="text"] {
		width: 100%;
	}

}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
	#header-wrap ul li dt { 
		display:block; 
		width:100px; 
		height:70px; 
		background:url(/static/v5/images/icon_search.svg) no-repeat;
		background-position: center 7px;
		background-size: 40%;
		color: #fff;
		position: relative;
	}
	
	#header-wrap ul li dt div {
		position: absolute;
    bottom: 7px;
    left: 0;
    right: 0;
	}

	/*#search-box {
		position: absolute;
		display:none;
		width:403px;
		height:100px;
		top:70px;
		right:0;
	}*/

	#search-box-wrap {
		/*
		top: -69px;
		*/
		/*top: -49px;*/ /* 20170922 修正 */
		background: none;
		padding: 15px;
	}
	
	#search-box-wrap p {
		border: solid 1px #cecece;
	}
	
	#search-box-wrap p + p {
		border: solid 1px #6ab7e0;
	}

	#search-box-wrap input[type="text"] {
		width: 300px;
	}
	
}



/*	tab
------------------------------------------------------------ */
#tab ul::after {
	content: "";
	clear: both;
	display: block;
}

#tab ul {
	border-bottom: 1px solid #ddd;
	font-size: 18px;
	text-align: center;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}

#tab ul li {
	/*float: left;*/
	width: 30%;
	line-height: 3;
}
#tab ul li:not(:first-child) {
	margin-left: 3%;
}

#tab ul li a {
	display: block;
	border-top: 4px solid #fff;
	background: #fff;
	text-decoration: none;
	color: #999;
}

#tab ul li a:hover {
	color: #333;
}

#tab ul li.current-manual a,
#tab ul li.current-faq a,
#tab ul li.current-function a {
	margin-bottom: -1px;
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
	padding-bottom: 1px;
	color: #333;

}
	#tab ul li.current-manual a,
	#tab ul li.current-faq a,
	#tab ul li.current-function a { border-top: 4px solid #6bb7e0; }

/* --- SP ---------- */
@media screen and (max-width: 768px) {
	
	#tab.tab-top { /* 20170922 追加 */
		margin-bottom: 20px;
	}

	/*
	#tab {
		margin-bottom: 20px;
	}
	*/

}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
	
	#tab.tab-top { /* 20170922 追加 */
		margin-bottom: 50px;
	}
	
	/*
	#tab {
		margin-bottom: 20px;
	}
	*/

}



/*	breadcrumb 20170922追加
------------------------------------------------------------ */
#breadcrumb:after {
	content: "";
	clear: both;
	display: block;
}

#breadcrumb {
	font-size: 12px;
}

#breadcrumb li {
	float: left;
}

#breadcrumb li:not(:last-child)::after {
	content: ">";
	margin: 0 10px;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {

	#breadcrumb {
		padding: 10px;
	}

}

/* --- PC ---------- */
@media screen and (min-width: 769px) {

	#breadcrumb {
		padding-top: 17px;
		height: 50px;
	}

}



/*	1column
------------------------------------------------------------ */
#one-column {
	margin-bottom: 40px;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {
}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
}



/*	2column
------------------------------------------------------------ */
#tow-column {
	margin-bottom: 40px;
}

#primary > h2 {
	padding: 12px;
	font-size: 14px;
	color: #fff;
}

#secondary dl dt {
  color: #333;
  padding: 0 0 12px 0;
  font-weight: normal;
}

#secondary dl dt {
	position: relative;
	padding-bottom: 12px;
	border-bottom: 2px solid #ddd;
	font-size: 16px;
}

#secondary dl dt::after {
	position: absolute;
	bottom: -2px;
	left: 0;
	z-index: 2;
	content: '';
	width: 20%;
	height: 2px;
	background-color: #666;
}

#secondary dl dd a:hover{
	text-decoration: none;
	color: #aaa;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {

	#primary {
		margin-bottom: 50px;
	}	
	
	#primary article {
		padding-top: 15px;
	}
	
	#secondary dl:first-child {
		margin-bottom: 40px;
	}
	
	#secondary dl dd a {
	position: relative;
		display: block;
		border-bottom: 1px dotted #ddd;
		padding: 15px 30px 15px 0;
	}

	#secondary dl dd a:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 10px;
		display: block;
		margin-top: -6px;
		border-top: 2px solid #ccc;
		border-right: 2px solid #ccc;
		width: 10px;
		height: 10px;
		transform: rotate(45deg);
	}
	
}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
	
	#tow-column:after {
		content: "";
		clear: both;
		display: block;
	}

	#primary {
		float: left;
		width: 69%;
	}

	#secondary {
		float: right;
		width: 25%;
	}
	
	#primary article {
		padding: 15px;
	}
	
	#secondary dl {
		width: 100%;
	}

	#secondary dl:first-child {
		margin-bottom: 70px;
	}
	
	

	#secondary dl dd {
		border-bottom: 1px dotted #ddd;
		padding: 15px 0;
	}
	
}

/*	btn_print
------------------------------------------------------------ */
p.btn_print { padding:10px; text-align:right; }

p.btn_print a { padding-left:20px; text-decoration: underline; color: #6bb7e0;
background-image:url(/static/v5/images/ico_print.png);
background-repeat:no-repeat;
background-position:0 2px;
background-size:16px 16px;
}

p.btn_print a:hover { opacity: .5; }

/* --- SP ---------- */
@media screen and (max-width: 768px) {
}


/*	page top
------------------------------------------------------------ */
#page-top {
	position: fixed;
	right: 5%;
	bottom: 10%;
	z-index: 2000;
}

#page-top a {
	display: block;
	position: relative;
	width: 50px;
	height: 50px;
	background: #6bb7e0;
}

#page-top a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 50%;
	display: block;
	margin: -4px -9px 0 0;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 15px;
	height: 15px;
	transform: rotate(-45deg);
}

#page-top a:hover {
	background: #4069a9;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {
}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
}



/*	site map
------------------------------------------------------------ */
#site-map {
	background: #f6f6f6;
}

#site-map-wrap dl dt {
	font-weight: bold;
}

#site-map-wrap div {
	position: relative ;
	border: 10px #fbfbfb solid ;
	padding: 20px ;
	background: #fbfbfb;
	z-index: 100;
}

#site-map-wrap div::before {
	content: "" ;
	position: absolute ;
	top: 0 ;
	right: 0 ;
	bottom: 0 ;
	left: 0 ;
	border: 1px #f6f6f6 solid ;
	margin: 1px ;
	display: block ;
	z-index: -1 ;
}

#site-map-wrap div dl {
	display: table;
	table-layout: fixed; /* ie10-11 */
	border-collapse: separate; 
	border-spacing: 10px 0;
	width: 100%;
}

#site-map-wrap div dl:first-child {
	margin-bottom: 10px;
}

#site-map-wrap div dl > * {
	display: table-cell;
	vertical-align: middle;
}
	#site-map-wrap div dl dt { width: 30%; }
	#site-map-wrap div dl dd { width: 70%; }

/* --- SP ---------- */
@media screen and (max-width: 768px) {
	
	#site-map-wrap {
		padding: 20px 10px;
	}
	
	#site-map-wrap > dl,
	#site-map-wrap dl dd.sitemap-mb {
		margin-bottom: 10px;
	}
	
	#site-map-wrap div {
		padding: 10px;
	}
	
}

/* --- PC ---------- */
@media screen and (min-width: 769px) {

	#site-map-wrap {
		display: table;
		padding:  40px 0;
	}

	#site-map-wrap > * {
		display: table-cell;
		vertical-align: top;
	}
		#site-map-wrap > dl:first-child { width: 16%; }
		#site-map-wrap > dl:nth-of-type(2) { width: 30%; }
		#site-map-wrap > dl:nth-of-type(3) { width: 18%; }
		#site-map-wrap > div { width: 30%; }
	
	#site-map-wrap dl dd.sitemap-mb {
		margin-bottom: 30px;
	}
	
}



/*	footer
------------------------------------------------------------ */
#footer-company {
	background: #ebebeb;
	font-size: 12px;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {
	
	#footer-company-wrap {
		padding: 20px 10px;
	}

	#footer-company-wrap p:first-child,
	#footer-company-wrap dl {
		margin-bottom: 10px;
	}
	
}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
	
	#footer-company-wrap {
		display: table;
		padding:  40px 0;
	}

	#footer-company-wrap > * {
		display: table-cell;
		vertical-align: middle;
	}
		#footer-company-wrap p:first-child { width: 10%; }
		#footer-company-wrap dl { width: 30%; }
		#footer-company-wrap dl + dl { width: 40%; }
		#footer-company-wrap p:last-child { width: 20%; }

	#footer-company-wrap p:last-child {
		text-align: right;
	}
	
}



/*	title
------------------------------------------------------------ */
@media screen and (min-width: 769px) {
	section#tow-column > h1 { float:left; width:69%; margin:15px 0; }
	section#tow-column > h1:after { content: ""; clear: both; display: block; }
	.btn_print { float:right; width:25%; }
}

section > h1 {
	position: relative;
	border-left: 6px solid #ddd;
	font-size: 22px;
	font-weight: normal;
}

section > h1::before {
	position: absolute;
	left: -6px;
	bottom: 0;
	content: '';
	width: 6px;
	height: 50%;
}
	section.manual-box > h1::before,
	section.faq-box > h1::before,
	section.function-box > h1::before { background: #6bb7e0; }
	section.search-results-box > h1::before { background: #bbb; }

section > h1 span {
	font-size: 14px;
	color: #666;
	vertical-align: 3px;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {

	section > h1 {
		margin-bottom: 10px;
		padding-left: 10px;
	}
	
	section > h1 span {
		display: block;
	}

}

/* --- PC ---------- */
@media screen and (min-width: 769px) {

	section > h1 {
		margin-bottom: 20px;
		padding: 0 15px;
	}
	
	section > h1 span {
		padding-left: 20px;
	}

}



/*	parts
------------------------------------------------------------ */
ul.disc {
	margin-left: 15px;
	list-style: disc;
}

ol.decimal {
	margin-left: 20px;
	list-style: decimal;
}

ul.disc li,
ol.decimal li {
	margin-bottom: 5px;
}
.list-link {
	display: block;
	text-align: right;
}

/* --- SP ---------- */
@media screen and (max-width: 768px) {
	.sp-img-fixed img { 
		max-width: 70px !important; 
	}
	#footer-company-wrap {
		text-align: center;
	}
	#site-map-wrap div dl dt.sp-img-fixed { 
		text-align: center;
	}
}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
    .u-sp {
        display: none !important;
    }
}

/* --- no search ---------- */
#search-box-wrap {
	display: none;
}