/* ===========================================================

	Title:	common.css
	Last Created:	2016-05-11

=========================================================== */
/*

	body
	header
	global-navigation
	contens
	footer

=========================================================== */

/* ===========================================================
==============================================================
	Bace Tag set
==============================================================	
=========================================================== */¥
/*
h1 { font-family: 'Open Sans', Arial, serif; font-weight: 400; }
*/
html,body { height:100%; position: relative; }
body {
	font-size: 10px;
	line-height: 1;
	background-color: #fff;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Arial, Helvetica, sans-serif, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


a { font-style: inherit; font-weight: inherit; text-decoration: none; color: #333; }
a:link,
a:visited { color: #333; }
a:hover { color: #fa0046; }

img { }

sup, sub { font-size: 0.78em; line-height: 100%; font-style: inherit; font-weight: inherit; }
sup { vertical-align: text-top; }
sub { vertical-align: baseline; }

small { font-size: 0.78em; }

.red { color: #C00; }
.white { color: #FFF; }

.pngfix {}

.blank {}
.blank_simple {}
.blank_pdf {}
.blank_word {}

.blank img,
.blank_simple img,
.blankPdf img{ vertical-align: baseline; }


/* ===========================================================
	clear-box set	
=========================================================== */


#header, #footer,
#globalmenu, #footer_nav,
div, ul, ol,
nav,
section,
.fix-box { display: block; zoom: 100%; }

#header:after, #footer:after,
#globalmenu:after, #footer_nav:after,
div:after, ul:after, ol:after,
nav:after,
section:after,
.fix-box:after { display: block; clear: both; content: " "; }



/* ===========================================================

	header

=========================================================== */
#header {
	display: block;
	margin: 0;
	padding: 0;
	background-color: #fff;
	width: 100%;
	clear: both;
	z-index: 2000;
	border-top: solid 4px #fa0046;
	box-shadow: 0 0 5px rgba(0,0,0,0.10);
	font-size: 1.2em; line-height: 1.2;
}

#header .inner {
	display: block; padding: 20px 0; margin: 0 auto; width: 1000px;
}
/* -----------------------------------------------------------

	mainlogo

----------------------------------------------------------- */

#mainlogo {
	display: block; margin: 0; padding: 0; float: left;
}
#mainlogo a {
	display: block; margin: 0; padding: 1px 0;
}
#mainlogo a img {
	display: block; margin: 0; padding: 0;
	vertical-align: bottom;
}


/* -----------------------------------------------------------

	header_function

----------------------------------------------------------- */
#header_function {
	display: block; margin: 0; padding: 0;
	float: right; line-height: 2em;
}

/* fontsize */

#fontsize {
	display: block;
	margin: 0 0 0 0; padding: 0;
	float: left; white-space: nowrap;
}
#fontsize dt,
#fontsize dd {
	display: block;
	margin: 0 10px 0 0; padding: 0;
	float: left;
}
#fontsize dt { margin: 0 0.5em 0 0; }
#fontsize dd ul { display: block; margin: 0; padding: 0; }
#fontsize dd ul li {
	display: block; margin: 0; padding: 0;
	float: left; text-align: center;
}
#fontsize dd ul li a { display: block; margin: 0; padding: 0; background-color: #ccc; color: #fff; }
#fontsize dd ul li a:hover { background-color: #d1023c; }
#fontsize dd ul li span { display: block; margin: 0; padding: 0; width: 2em; height: 2em; }


#header_function p {
	display: block;
	margin: 0 0 0 10px; padding: 0;
	float: left; white-space: nowrap;
	width: 120px; text-align: center;
}
#header_function p a { display: block; margin: 0; padding: 0; background-color: #fa0046; color: #fff; }
#header_function p a:hover { background-color: #d1023c; }

#header_function #header_config a { background-color: #999; }
#header_function #header_config a:hover { background-color: #666; }



#fontsize dd ul li.font-size-s a,
#fontsize dd ul li.font-size-s a:hover {
	background-color: #fa0046;
	cursor: default;
}

#fontsize dd ul li.font-size-l a,
#fontsize dd ul li.font-size-l a:hover {
	background-color: #ccc;
}


/* -----------------------------------------------------------

	globalmenu

----------------------------------------------------------- */

#globalmenu {
	display: block;
	margin: 0; padding: 0;
	clear: both; background-color: #f3f3f3;
	border-top: solid 1px #ddd; border-bottom: solid 1px #ddd;
}
#globalmenu .inner {
	display: block; padding: 0; margin: 0 auto; width: 1000px;
}
#globalmenu dl {
	display: block;
	margin: 0; padding: 0;
	width: calc(1000px / 6);
	float: left;
	text-align: center;
	position: relative;
	background-color: #fff;
}
#globalmenu dl dt {
	display: block; margin: 0; padding: 0;
	transition: all .5s;
	background-color: #fff;
}
#globalmenu dl dt a {
	display: block; margin: 0; padding: 0;
	border-left: solid 1px #ddd;
}

#globalmenu dl:last-child dt a { border-right: solid 1px #ddd; }
#globalmenu dl dt a span {
	display: block; margin: 0; padding: 0 0 5px 0;
	border-bottom: solid 3px #f0f0f0; position: relative;
	transition: all .5s;
}
#globalmenu dl dt a span:after {
	display: block; margin: 0 auto; padding: 0;
	width: 100%;
	content: "\f107"; font-family: FontAwesome;
	font-size: 1.0em; line-height: 1; color: #666;
	position: absolute; bottom: 2px; left: 0;
	transition: all .5s;
}

#globalmenu dl:hover dt { background-color: #fef4f3; }
#globalmenu dl:hover dt a span { border-bottom: solid 3px #fa0046; }
#globalmenu dl:hover dt a span:after { color: #fa0046; }

#globalmenu dl dd {
	display: block; margin: 0; padding: 0;
	background-color: #fff; width: 100%;
	position: relative;
}
#globalmenu dl dd { display: none; }
#globalmenu dl dd ul {
	display: block; margin: 0; padding: 0;
	border: solid 1px #ddd; border-top: none;
	background-color: #fff; width: 100%;
	z-index: 1000; position: absolute;
	top: 0; left: 0;
}
#globalmenu dl dd ul li {
	display: block; margin: 0; padding: 0;
}
#globalmenu dl dd ul li a {
	display: block; margin: 0; padding: 15px 5px;
	position: relative;
}
#globalmenu dl dd ul li a:after {
	display: block; margin: 0 0 0 -20px; padding: 0;
	width: 40px;
	content: ""; border-bottom: solid 1px #ddd;
	position: absolute; bottom: 0; left: 50%;
}
#globalmenu dl dd ul li:last-child a:after { display: none; }

#globalmenu dl dd ul li a.current-link,
#globalmenu dl dd ul li a.current-link:hover {
	color: #333;
	font-weight: bold;
}

#globalmenu dl dt a span.selected,
#globalmenu dl:hover dt a span.selected { border-bottom: solid 3px #fa0046; }
#globalmenu dl dt a span.selected:after,
#globalmenu dl:hover dt a span.selected:after { color: #fa0046; }

/* ===========================================================

	main

=========================================================== */
#main {
	display: block; padding: 0; margin: 0;
	font-size: 1.3em; line-height: 1.8;
}

/* ===========================================================

	breadcrumb

=========================================================== */
#breadcrumb {
	font-size: 0.857em; display: block; padding: 10px 0; margin: 0 0 40px 0;
	background-color: #fff; border-bottom: solid 1px #ddd;
}
#breadcrumb ul {
	display: block; padding: 0; margin: 0 auto; width: 1000px; clear: both;
}
#breadcrumb ul li {
	display: inline-block; padding: 0; margin: 0 0;
}
#breadcrumb ul li a:after {
	display: inline-block; padding: 0; margin: 0 1em; content: "\f105"; color: #fa0046;
	font-family: FontAwesome;
}
#breadcrumb ul li a {
	display: inline-block; padding: 0; margin: 0 0 0; text-decoration: none;
}



/* ===========================================================

	contents

=========================================================== */
#contents {
	display: block; padding: 0 0 50px 0; margin: 0 auto; width: 1000px; clear: both;
}

/* ===========================================================

	main-contents

=========================================================== */
#main-contents { display: block; width: 770px; float: left; }

.fullsize#main-contents { display: block; width: 770px; float: none; margin: 0 auto; }
#main-contents h1 {
	display: block; padding: 30px 20px 30px 40px; margin: 0 0 35px 0;
	font-size: 1.857em;
	line-height: 1.2;
	color: #333; font-weight: normal;
	border-top: solid 5px #fa0046;
	border-bottom: solid 1px #ddd;
	position: relative;
}
#main-contents h1:before {
	display: block; padding: 0; margin: -5px 0 0 0;
	height: 10px; width: 0px;
	border-left: solid 10px #c71b21; border-right: solid 10px #ff2500;
	content: "";
	position: absolute; top: 50%; left: 0;
	
}

#main-contents h2 {
	display: block; padding: 0; margin: 2em 0 1em 0; font-size: 1.4em;
	color: #333; font-weight: normal;
	border-left: solid 2px #c71b21; background-color: #f3f3f3;
}
#main-contents h2 span {
	display: block; padding: 5px 0 5px 20px; margin: 0;
	border-left: solid 2px #ff2500;
	
}


#main-contents h3 {
	display: block; padding: 0 0 0 20px; margin: 1.8em 0 1.0em 0; font-size: 1.2em;
	color: #333; font-weight: normal;
	border-left: solid 4px #fa0046;
}



#main-contents h4 {
	display: block; padding: 10px; margin: 1em 0 0.5em 0; font-size: 1.0em;
	background-color: #f2f5f8;
	color: #fa0046; font-weight: normal;
}
#main-contents h5 {
	display: block; padding: 0; margin: 1em 0 0.5em 0; font-size: 1.0em;
	color: #333; font-weight: normal;
}
#main-contents p {
	padding: 0; margin: 0.75em 0;
}


/* ---------------------------------------------------------------------------------
	list
--------------------------------------------------------------------------------- */

#main-contents ul,
#main-contents ol {
	font-size: 1em;
	margin: 1em 0;
	text-indent: 0;
}
#main-contents ul > li,
#main-contents ol > li {
	margin: 0.5em 0;
	list-style-position: outside;
}
#main-contents ul > li:last-child,
#main-contents ol > li:last-child { margin: 0.5em 0 0 0; }

#main-contents ul.list-circle > li { list-style-type: circle; }
#main-contents ul.list-disc > li { list-style-type: disc; }
#main-contents ul.list-square > li { list-style-type: square; }

#main-contents ol.list-decimal > li { list-style-type: decimal; }
#main-contents ol.list-decimal-zero > li { list-style-type: decimal-leading-zero; }
#main-contents ol.list-lower-roman > li { list-style-type: lower-roman; }
#main-contents ol.list-lower-alpha > li { list-style-type: lower-alpha; }
#main-contents ol.list-upper-alpha > li { list-style-type: upper-alpha; }
#main-contents ol.list-cjk-ideographic > li { list-style-type: cjk-ideographic; }
#main-contents ol.list-hiragana > li { list-style-type: hiragana; }
#main-contents ol.list-hiragana-iroha li { list-style-type: hiragana-iroha; }
#main-contents ol.list-katakana > li { list-style-type: katakana; }
#main-contents ol.list-katakana-iroha > li { list-style-type: katakana-iroha; }

#main-contents ul.list-circle,
#main-contents ul.list-disc,
#main-contents ul.list-square,
#main-contents ol.list-decimal,
#main-contents ol.list-decimal-zero,
#main-contents ol.list-lower-roman,
#main-contents ol.list-lower-alpha,
#main-contents ol.list-upper-alpha,
#main-contents ol.list-cjk-ideographic,
#main-contents ol.list-hiragana,
#main-contents ol.list-hiragana-iroha,
#main-contents ol.list-katakana,
#main-contents ol.list-katakana-iroha,
#main-contents ol.list-text-1 { margin: 1em 0 1em 1.5em; }

#main-contents ol.list-text-1 {  text-indent: -1.5em; }
#main-contents ol.list-text-1 > li > span { display: inline-block; width: 1em; margin: 0 0.5em 0 0;  text-indent: 0;  }


#main-contents ol.list-num { margin: 1em 0 1em 2.5em; }
#main-contents ol.list-num > li {
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
  text-indent: -2.5em;
 }
#main-contents ol.list-num > li:before{
  display: inline-block; width: 2.5em; text-indent: 0;
  content: "(" counter(cnt) ") ";
}



#main-contents ul.catch-list,
#main-contents ol.catch-list {
	font-size: 1.0em;
	margin: 1em 0 1em 0; padding: 10px 20px 10px 60px;
	text-indent: 0;
	border: solid 10px #eee;
}
#main-contents ul.catch-list > li,
#main-contents ol.catch-list > li {
	margin: 1.0em 0; padding: 1em 0;
	list-style-position: outside;
	text-indent: -2.0em;
	border-bottom: dotted 1px #ddd;
}
#main-contents ul.catch-list > li:last-child,
#main-contents ol.catch-list > li:last-child {
	border-bottom: none;
}
/*
#main-contents ul.catch-list > li:before,
#main-contents ol.catch-list > li:before {
  display: inline-block; width: 1.0em; text-indent: 0;
  content: "";  height: 5px; margin: 0 1.0em 0 0;
  border-left: solid 0.5em #c71b21; border-right: solid 0.5em #ff2500;
  vertical-align: middle;
}*/
#main-contents ul.catch-list > li:before,
#main-contents ol.catch-list > li:before {
  display: inline-block; width: 1.0em; text-indent: 0;
  margin: 0 1.0em 0 0;
  vertical-align: middle;
  content: "\f061"; color: #fa0046; font-family: FontAwesome;
}
#main-contents ul.catch-list > li > ul,
#main-contents ul.catch-list > li > ol,
#main-contents ol.catch-list > li > ul,
#main-contents ol.catch-list > li > ol {
	margin: 1em 0 0.5em 0; padding: 20px 20px 20px 40px; font-size: 0.875em;
	list-style-position: outside;
	text-indent: 0; border: solid 1px #ddd; background-color: #FFF3F6;
}

/*0.875em*/
/* ---------------------------------------------------------------------------------
	text menu
--------------------------------------------------------------------------------- */

#main-contents .text-menu { display: block; margin: 0; }

#main-contents .text-menu li {
	display: inline-block;
	padding: 0 5px; margin: 0;
	border-left: solid 1px #ccc;
	white-space: nowrap;
}
#main-contents .text-menu li:last-child {  border-right: solid 1px #ccc; }
#main-contents .text-menu li a { display: block; padding: 2px 10px; margin: -2px 0; width: 6em; }
#main-contents .text-menu li a:hover { background-color: #fa0046; color: #fff; }

#main-contents .text-menu li a.current-link,
#main-contents .text-menu li a.current-link:hover {
	background-color: #fa0046; color: #fff;
	font-weight: bold;
	text-decoration: none; cursor: default;
}


#main-contents .text-menu-box { display: block; margin: 0 0 10px 0; }
#main-contents .text-menu-box li {
	display: block;
	padding: 0; margin: 0 10px 0 0;
	text-align: center;
	float: left;
	line-height: 1.1;
	width: 5em;
}
#main-contents .text-menu-box li:last-child { margin: 0 0 0 0; }
#main-contents .text-menu-box li a {
	display: block;
	padding: 5px; margin: 0;
	white-space: nowrap;
	background-color: #999;
	text-decoration: none;
	color: #fff;
	border-bottom: solid 2px #666;
}
#main-contents .text-menu-box li a:hover { background-color: #fef4f3; color: #fa0046; }
#main-contents .text-menu-box li a.current-link {
	color: #fff;
	padding: 5px 5px 3px 5px;
	background-color: #fa0046;
	border-bottom: solid 2px #fa0046;
}


#main-contents .text-menu-btn { display: block; }
#main-contents .text-menu-btn li {
	display: inline-block;
	padding: 0; margin: 0 20px 0 0;
	text-align: center;
	float: left;
}
#main-contents .text-menu-btn li:last-child { margin: 0 0 0 0; }
#main-contents .text-menu-btn li a {
	display: block;
	padding: 5px 10px; margin: 0;
	white-space: nowrap;
	background-color: #fff;
	text-decoration: none;
	color: #fa0046;
	border: solid 1px #fa0046;
}
#main-contents .text-menu-btn li a .arrow { color: #fa0046; }
#main-contents .text-menu-btn li a:hover { background-color: #fa0046; border: solid 1px #fa0046; color: #fff; }
#main-contents .text-menu-btn li a:hover .fa { color: #fff; }
#main-contents .text-menu-btn li a.current-link {
	background-color: #fff;
	color: #fa0046;
}



/* ---------------------------------------------------------------------------------
	text-align set
--------------------------------------------------------------------------------- */
.tex-aln-c { text-align: center !important; }
.tex-aln-r { text-align: right !important; }
.tex-aln-l { text-align: left !important; }



/* ---------------------------------------------------------------------------------
	table.cap set
--------------------------------------------------------------------------------- */
#main-contents table.cap { margin: 1em 0 1em 0; font-size: 0.786em; width: auto; }
#main-contents table.cap th {
	width: auto;
	color: #666;
	padding: 0 5px 0 0;
	font-weight: normal;
	vertical-align: top;
	border: none;
	text-align: center;
	white-space: nowrap;
}
#main-contents table.cap td {
	padding: 0;
	color: #666;
	vertical-align: top;
	border: none;
}


/* ---------------------------------------------------------------------------------
	table set
--------------------------------------------------------------------------------- */
#main-contents table {
	width: 100%;
	margin: 0 0 2em;
	line-height: 1.6;
}
#main-contents table th {
	width: 30%;
	padding: 20px 10px;
	font-weight: normal;
	vertical-align: top;
	text-align: center;
}
#main-contents table tr.lastChild th { }
#main-contents table td {
	padding: 20px 0;
	vertical-align: top;
}
#main-contents table th.nowrap,
#main-contents table td.nowrap {
	white-space: nowrap;
}


#main-contents table dl.table_in {
	display: block; padding: 0; margin: 0;
}
#main-contents table dl.table_in dt {
	display: block; padding: 5px; margin: 0;
	background-color: #FEF4F3; color: #FA0145;
}
#main-contents table dl.table_in dd {
	display: block; padding: 5px; margin: 0;
}
/* ---------------------------------------------------------------------------------
	table.table-simple set
--------------------------------------------------------------------------------- */
#main-contents table.table-simple { }
#main-contents table.table-simple th {
	color: #fa0046;
	border-bottom: solid 1px #fa0046;
}
#main-contents table.table-simple tr.lastChild th { }
#main-contents table.table-simple td {
	border-bottom: solid 1px #ddd;
}





#main-contents table.flex th {
	width: auto;
}

#main-contents table.table-border.small-font { font-size: 0.857em; line-height: 1.4; }

#main-contents table.table-border thead th,
#main-contents table.table-border thead td {
	width: auto;
	padding: 10px;
	background-color: #ebeef7;
	border: solid 1px #ddd;
	color: #fa0046;
	vertical-align: middle;
	text-align: center;
	white-space: nowrap;
}
#main-contents table.table-border th,
#main-contents table.table-border td {
	width: auto;
	padding: 10px;
	border: solid 1px #ddd;
	vertical-align: middle;
}
#main-contents table.table-border th {
	white-space: nowrap;
}


#main-contents table.cont-margin {
	width: 100%;
	margin: 1em 0;
	line-height: 1.6;
}
#main-contents table.cont-margin th,
#main-contents table.cont-margin td {
	border-bottom: none; padding: 0.5em 0; color: #333;
}
#main-contents table.cont-margin th { width: 1px; white-space: nowrap; }

#main-contents .sitemap {
	padding: 30px 0 0;
}
#main-contents .sitemap ul {
	float: left;
	width: 340px;
	margin: 0;
	padding: 0;
}
#main-contents .sitemap li {
	margin: 0 0 15px;
}
#main-contents .sitemap li a {
	display: block;
	line-height: 20px;
	height: 20px;
	text-decoration: none;
	color: #333;
}
#main-contents .sitemap li a:before {
	display: inline-block;
	padding: 0;
	margin: 0 0.5em 0 0;
	
	content: "\f054"; color: #fa0046;
	font-family: FontAwesome;
	
}
#main-contents .sitemap li a:hover {
	color: #fa0046;
	text-decoration: none;
}
#main-contents .sitemap li a:hover:before {
}



#sub_menu { display: block; width: 250px; float: right; line-height: 1.2; }
#sub_menu ul { display: block; padding: 0; margin: 0; border-top: solid 1px #eee; }
#sub_menu ul li { display: block; padding: 0; margin: 0; border-bottom: solid 1px #eee; }
#sub_menu ul li a { display: block; padding: 20px 10px; margin: 0; text-decoration: none; }
#sub_menu ul li a:hover { color: #fa0046; }

.inquiry #sub_menu ul li.sn_inquiry a,
.inquiry #sub_menu ul li.sn_inquiry a:hover,
.disclaimer #sub_menu ul li.sn_disclaimer a,
.disclaimer #sub_menu ul li.sn_disclaimer a:hover,
.privacy #sub_menu ul li.sn_privacy a,
.privacy #sub_menu ul li.sn_privacy a:hover,
.antisocial #sub_menu ul li.sn_antisocial a,
.antisocial #sub_menu ul li.sn_antisocial a:hover,
.compliance #sub_menu ul li.sn_compliance a,
.compliance #sub_menu ul li.sn_acompliance a:hover,
.complaints #sub_menu ul li.sn_complaints a,
.complaints #sub_menu ul li.sn_complaints a:hover,
.risk #sub_menu ul li.sn_risk a,
.risk #sub_menu ul li.sn_risk a:hover { color: #fa0046; background-color: #f2f5f8; }





#main-contents .dl-3sel { display: block; }
#main-contents .dl-3sel dl { display: block; width: 240px; float: left; margin: 0 15px 15px 0; }
#main-contents .dl-3sel dl:nth-child(3n) { margin: 0 0 15px 0; }
#main-contents .dl-3sel dl:nth-child(3n+1) { clear: both; }

#main-contents .dl-2sel { display: block; }
#main-contents .dl-2sel dl { display: block; width: 370px; float: left; margin: 0 30px 30px 0; }
#main-contents .dl-2sel dl:nth-child(2n) { margin: 0 0 30px 0; }
#main-contents .dl-2sel dl:nth-child(2n+1) { clear: both; }

#main-contents .box-3sel { display: block; }
#main-contents .box-3sel > div { display: block; width: 240px; float: left; margin: 0 25px 25px 0; }
#main-contents .box-3sel > div:nth-child(3n) { margin: 0 0 25px 0; }
#main-contents .box-3sel > div:nth-child(3n+1) { clear: both; }

#main-contents .box-2sel { display: block; }
#main-contents .box-2sel > div { display: block; width: 370px; float: left; margin: 0 30px 30px 0; }
#main-contents .box-2sel > div:nth-child(2n) { margin: 0 0 30px 0; }
#main-contents .box-2sel > div:nth-child(2n+1) { clear: both; }

/* ===========================================================

	externallink

=========================================================== */

#externallink { text-align: center; padding: 20px 0; }

#externallink h1 {
	display: block;
	padding: 20px; margin: 0 0 20px 0;
	background-color: #fa0046; color: #fff;
	font-size: 1.429em; font-weight: normal;
}
#externallink h2 {
	display: block;
	padding: 20px 0; margin: 0 0 20px 0;
	color: #333;
	font-size: 1.0em; font-weight: normal;
}
#externallink h2 strong {
	padding: 0; margin: 0;
	color: #c00;
	font-size: 1.429em; font-weight: normal;
}

#externallink p {
	display: block;
	padding: 0; margin: 0 0 20px 0;
}
#externallink p.btn {
	display: block;
	padding: 5px 0; margin: 0;
}

#externallink p.btn.close {
	display: block;
	padding: 20px 0 0 0; margin: 0;
}

#externallink p.btn a {
	display: inline-block;
	padding: 15px 40px; margin: 0;
	border: solid 1px #fa0046;
	text-decoration: none;
	color: #fa0046;
}
#externallink p.btn a:hover {
	background-color: #fa0046;
	color: #fff;
}

#externallink p.btn a:before {
	display: inline-block;
	padding: 0;
	margin: 0 0.5em 0 0;
	
	content: "\f064";
	font-family: FontAwesome;
	
}
#externallink p.btn.close a {
	padding: 5px 10px; margin: 0;
	border: solid 1px #ddd;
	color: #333;
}
#externallink p.btn.close a:hover {
	background-color: #333;
	color: #fff;
}

#externallink p.btn.close a:before {
	content: "\f060";
}

/* ===========================================================

	sidemenu

=========================================================== */

#sidemenu { display: block; width: 200px; padding: 0; margin: 0; float: right; }
#sidemenu dl { display: block; padding: 0; margin: 0; }
#sidemenu dl dt { display: block; padding: 0; margin: 0; font-size: 1.286em; }
#sidemenu dl dt a {
	display: block; padding: 40px 10px; margin: 0;
	border-top: solid 1px #fa0046;
	background-color: #f1f1f1;
	text-align: center; color: #fa0046;
}
#sidemenu dl dd { display: block; padding: 0; margin: 0; }
#sidemenu dl dd ul { display: block; padding: 0; margin: 0; }
#sidemenu dl dd ul li { display: block; padding: 0; margin: 0; }
#sidemenu dl dd ul li a {
	display: block; padding: 15px 5px 15px 2em; margin: 0;
	border-bottom: solid 1px #ddd;
	text-indent: -2em;
}
#sidemenu dl dd ul li a:hover { background-color: #fef4f3; }
#sidemenu dl dd ul li a:before {
	display: inline-block;
	width: 2em;
	padding: 0;
	margin: 0 0 0 0;
	text-indent: 0;
	text-align: center;
	content: "\f138"; color: #fa0046;
	font-family: FontAwesome;
	
}

#sidemenu dl dd ul li a.current-link {
	background-color: #fa0046; color: #fff;
}
#sidemenu dl dd ul li a.current-link:before { color: #fff; }

/* ===========================================================

	pagetop 

=========================================================== */
#bt-pagetop {
	display: block;
	margin: 0; padding: 0;
	position: fixed; bottom: 40px; right: 40px;
	z-index: 1000;
}
#bt-pagetop a {
	display: block;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	outline: none;
	background-color: #eee; color: #fa0046;
	position: relative;
}
#bt-pagetop a:after {
	display: block;
	margin: 0;
	padding: 0;
	text-indent: 0;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	font-size: 3.0em;
	content: "\f102";
	font-family: FontAwesome;
	position: absolute; top: 0; left: 0;
}
#bt-pagetop a:hover { background-color: #fa0046; color: #fff; }

/* ===========================================================

	footer_sitemap

=========================================================== */

#footer_sitemap {
	display: block;
	margin: 0; padding: 0;
	background-color: #fff;
	width: 100%;
	clear: both;
	font-size: 1.2em;
	line-height: 1.6;
	border-top: solid 1px #ddd;
}
#footer_sitemap .inner {
	display: block; padding: 20px 0; margin: 0 auto; width: 1000px;
}
#footer_sitemap dl {
	display: block;
	margin: 0 20px 0 0; padding: 0;
	width: 150px;
	float: left;
}
#footer_sitemap dl:last-child { margin: 0; }
#footer_sitemap dl dt {
	display: block;
	margin: 0 0 1em 0; padding: 0;
	border-bottom: solid 1px #ddd;
}
#footer_sitemap dl dt a {
	display: block;
	margin: 0; padding: 10px 0;
	font-size: 1.167em;
}
#footer_sitemap dl dt a:before {
	display: inline-block; margin: 0 0.25em 0 0; padding: 0;
	content: "\f054"; font-family: FontAwesome; color: #fa0046;
}

#footer_sitemap dl dd {
	display: block;
	margin: 0; padding: 0;
}
#footer_sitemap dl dd ul {
	display: block;
	margin: 0; padding: 0;
}
#footer_sitemap dl dd ul li {
	display: block;
	margin: 0.5em 0; padding: 0;
}
#footer_sitemap dl dd ul li a {
	display: block;
	margin: 0; padding: 0 0 0 1.25em;
	text-indent: -1.25em;
}
#footer_sitemap dl dd ul li a:before {
	display: inline-block; margin: 0 0.25em 0 0; padding: 0; width: 1.0em;
	content: "\f105"; font-family: FontAwesome; color: #fa0046; text-align: center;
	text-indent: 0;
}
#footer_sitemap dl dd ul li a.current-link,
#footer_sitemap dl dd ul li a.current-link:hover {
	color: #333;
	font-weight: bold;
}

/* ===========================================================

	footer

=========================================================== */

#footer {
	display: block;
	margin: 0; padding: 0;
	background-color: #f1f1f1;
	width: 100%;
	clear: both;
	font-size: 1.2em;
	border-top: solid 5px #fa0046;
}

#footer .inner {
	display: block; padding: 20px 0; margin: 0 auto; width: 1000px;
}

#footer a {
	text-decoration: none;
}
#footer_menu {
	display: block; float: left;
}
#footer_menu ul { display: block; }
#footer_menu ul li { display: inline-block; padding: 0; margin: 0 1em 0 0; }

#footer_menu ul li a:before {
	display: inline-block; margin: 0 0.25em 0 0; padding: 0;
	content: "\f054"; font-family: FontAwesome; color: #fa0046;
}
#footer_menu ul li a.current-link,
#footer_menu ul li a.current-link:hover {
	color: #333;
	font-weight: bold;
}

#copyright {
	display: block; float: right; padding: 0; margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	color: #666;
}



#main .mrg-t-0 { margin-top:   0 !important; }
#main .mrg-t-5 { margin-top:   5px !important; }
#main .mrg-t-10 { margin-top:  10px !important; }
#main .mrg-t-15 { margin-top:  15px !important; }
#main .mrg-t-20 { margin-top:  20px !important; }
#main .mrg-t-25 { margin-top:  25px !important; }
#main .mrg-t-30 { margin-top:  30px !important; }
#main .mrg-t-35 { margin-top:  35px !important; }
#main .mrg-t-40 { margin-top:  40px !important; }
#main .mrg-t-45 { margin-top:  45px !important; }
#main .mrg-t-50 { margin-top:  50px !important; }
#main .mrg-t-55 { margin-top:  55px !important; }
#main .mrg-t-60 { margin-top:  60px !important; }
#main .mrg-t-65 { margin-top:  65px !important; }
#main .mrg-t-70 { margin-top:  70px !important; }
#main .mrg-t-75 { margin-top:  75px !important; }
#main .mrg-t-80 { margin-top:  80px !important; }
#main .mrg-t-85 { margin-top:  85px !important; }
#main .mrg-t-90 { margin-top:  90px !important; }
#main .mrg-t-95 { margin-top:  95px !important; }
#main .mrg-t-100 { margin-top: 100px !important; }
#main .mrg-t-105 { margin-top: 105px !important; }
#main .mrg-t-110 { margin-top: 110px !important; }
#main .mrg-t-115 { margin-top: 115px !important; }
#main .mrg-t-120 { margin-top: 120px !important; }
#main .mrg-t-125 { margin-top: 125px !important; }
#main .mrg-t-130 { margin-top: 130px !important; }
#main .mrg-t-135 { margin-top: 135px !important; }
#main .mrg-t-140 { margin-top: 140px !important; }
#main .mrg-t-145 { margin-top: 145px !important; }
#main .mrg-t-150 { margin-top: 150px !important; }
#main .mrg-t-155 { margin-top: 155px !important; }
#main .mrg-t-160 { margin-top: 160px !important; }
#main .mrg-t-165 { margin-top: 165px !important; }
#main .mrg-t-170 { margin-top: 170px !important; }
#main .mrg-t-175 { margin-top: 175px !important; }
#main .mrg-t-180 { margin-top: 180px !important; }
#main .mrg-t-185 { margin-top: 185px !important; }
#main .mrg-t-190 { margin-top: 190px !important; }
#main .mrg-t-195 { margin-top: 195px !important; }
#main .mrg-t-200 { margin-top: 200px !important; }
#main .mrg-b-0 { margin-bottom:   0 !important; }
#main .mrg-b-5 { margin-bottom:   5px !important; }
#main .mrg-b-10 { margin-bottom:  10px !important; }
#main .mrg-b-15 { margin-bottom:  15px !important; }
#main .mrg-b-20 { margin-bottom:  20px !important; }
#main .mrg-b-25 { margin-bottom:  25px !important; }
#main .mrg-b-30 { margin-bottom:  30px !important; }
#main .mrg-b-35 { margin-bottom:  35px !important; }
#main .mrg-b-40 { margin-bottom:  40px !important; }
#main .mrg-b-45 { margin-bottom:  45px !important; }
#main .mrg-b-50 { margin-bottom:  50px !important; }
#main .mrg-b-55 { margin-bottom:  55px !important; }
#main .mrg-b-60 { margin-bottom:  60px !important; }
#main .mrg-b-65 { margin-bottom:  65px !important; }
#main .mrg-b-70 { margin-bottom:  70px !important; }
#main .mrg-b-75 { margin-bottom:  75px !important; }
#main .mrg-b-80 { margin-bottom:  80px !important; }
#main .mrg-b-85 { margin-bottom:  85px !important; }
#main .mrg-b-90 { margin-bottom:  90px !important; }
#main .mrg-b-95 { margin-bottom:  95px !important; }
#main .mrg-b-100 { margin-bottom: 100px !important; }
#main .mrg-b-105 { margin-bottom: 105px !important; }
#main .mrg-b-110 { margin-bottom: 110px !important; }
#main .mrg-b-115 { margin-bottom: 115px !important; }
#main .mrg-b-120 { margin-bottom: 120px !important; }
#main .mrg-b-125 { margin-bottom: 125px !important; }
#main .mrg-b-130 { margin-bottom: 130px !important; }
#main .mrg-b-135 { margin-bottom: 135px !important; }
#main .mrg-b-140 { margin-bottom: 140px !important; }
#main .mrg-b-145 { margin-bottom: 145px !important; }
#main .mrg-b-150 { margin-bottom: 150px !important; }
#main .mrg-b-155 { margin-bottom: 155px !important; }
#main .mrg-b-160 { margin-bottom: 160px !important; }
#main .mrg-b-165 { margin-bottom: 165px !important; }
#main .mrg-b-170 { margin-bottom: 170px !important; }
#main .mrg-b-175 { margin-bottom: 175px !important; }
#main .mrg-b-180 { margin-bottom: 180px !important; }
#main .mrg-b-185 { margin-bottom: 185px !important; }
#main .mrg-b-190 { margin-bottom: 190px !important; }
#main .mrg-b-195 { margin-bottom: 195px !important; }
#main .mrg-b-200 { margin-bottom: 200px !important; }
#main .mrg-r-0 { margin-right:   0 !important; }
#main .mrg-r-5 { margin-right:   5px !important; }
#main .mrg-r-10 { margin-right:  10px !important; }
#main .mrg-r-15 { margin-right:  15px !important; }
#main .mrg-r-20 { margin-right:  20px !important; }
#main .mrg-r-25 { margin-right:  25px !important; }
#main .mrg-r-30 { margin-right:  30px !important; }
#main .mrg-r-35 { margin-right:  35px !important; }
#main .mrg-r-40 { margin-right:  40px !important; }
#main .mrg-r-45 { margin-right:  45px !important; }
#main .mrg-r-50 { margin-right:  50px !important; }
#main .mrg-r-55 { margin-right:  55px !important; }
#main .mrg-r-60 { margin-right:  60px !important; }
#main .mrg-r-65 { margin-right:  65px !important; }
#main .mrg-r-70 { margin-right:  70px !important; }
#main .mrg-r-75 { margin-right:  75px !important; }
#main .mrg-r-80 { margin-right:  80px !important; }
#main .mrg-r-85 { margin-right:  85px !important; }
#main .mrg-r-90 { margin-right:  90px !important; }
#main .mrg-r-95 { margin-right:  95px !important; }
#main .mrg-r-100 { margin-right: 100px !important; }
#main .mrg-r-105 { margin-right: 105px !important; }
#main .mrg-r-110 { margin-right: 110px !important; }
#main .mrg-r-115 { margin-right: 115px !important; }
#main .mrg-r-120 { margin-right: 120px !important; }
#main .mrg-r-125 { margin-right: 125px !important; }
#main .mrg-r-130 { margin-right: 130px !important; }
#main .mrg-r-135 { margin-right: 135px !important; }
#main .mrg-r-140 { margin-right: 140px !important; }
#main .mrg-r-145 { margin-right: 145px !important; }
#main .mrg-r-150 { margin-right: 150px !important; }
#main .mrg-r-155 { margin-right: 155px !important; }
#main .mrg-r-160 { margin-right: 160px !important; }
#main .mrg-r-165 { margin-right: 165px !important; }
#main .mrg-r-170 { margin-right: 170px !important; }
#main .mrg-r-175 { margin-right: 175px !important; }
#main .mrg-r-180 { margin-right: 180px !important; }
#main .mrg-r-185 { margin-right: 185px !important; }
#main .mrg-r-190 { margin-right: 190px !important; }
#main .mrg-r-195 { margin-right: 195px !important; }
#main .mrg-r-200 { margin-right: 200px !important; }
#main .mrg-l-0 { margin-left:   0 !important; }
#main .mrg-l-5 { margin-left:   5px !important; }
#main .mrg-l-10 { margin-left:  10px !important; }
#main .mrg-l-15 { margin-left:  15px !important; }
#main .mrg-l-20 { margin-left:  20px !important; }
#main .mrg-l-25 { margin-left:  25px !important; }
#main .mrg-l-30 { margin-left:  30px !important; }
#main .mrg-l-35 { margin-left:  35px !important; }
#main .mrg-l-40 { margin-left:  40px !important; }
#main .mrg-l-45 { margin-left:  45px !important; }
#main .mrg-l-50 { margin-left:  50px !important; }
#main .mrg-l-55 { margin-left:  55px !important; }
#main .mrg-l-60 { margin-left:  60px !important; }
#main .mrg-l-65 { margin-left:  65px !important; }
#main .mrg-l-70 { margin-left:  70px !important; }
#main .mrg-l-75 { margin-left:  75px !important; }
#main .mrg-l-80 { margin-left:  80px !important; }
#main .mrg-l-85 { margin-left:  85px !important; }
#main .mrg-l-90 { margin-left:  90px !important; }
#main .mrg-l-95 { margin-left:  95px !important; }
#main .mrg-l-100 { margin-left: 100px !important; }
#main .mrg-l-105 { margin-left: 105px !important; }
#main .mrg-l-110 { margin-left: 110px !important; }
#main .mrg-l-115 { margin-left: 115px !important; }
#main .mrg-l-120 { margin-left: 120px !important; }
#main .mrg-l-125 { margin-left: 125px !important; }
#main .mrg-l-130 { margin-left: 130px !important; }
#main .mrg-l-135 { margin-left: 135px !important; }
#main .mrg-l-140 { margin-left: 140px !important; }
#main .mrg-l-145 { margin-left: 145px !important; }
#main .mrg-l-150 { margin-left: 150px !important; }
#main .mrg-l-155 { margin-left: 155px !important; }
#main .mrg-l-160 { margin-left: 160px !important; }
#main .mrg-l-165 { margin-left: 165px !important; }
#main .mrg-l-170 { margin-left: 170px !important; }
#main .mrg-l-175 { margin-left: 175px !important; }
#main .mrg-l-180 { margin-left: 180px !important; }
#main .mrg-l-185 { margin-left: 185px !important; }
#main .mrg-l-190 { margin-left: 190px !important; }
#main .mrg-l-195 { margin-left: 195px !important; }
#main .mrg-l-200 { margin-left: 200px !important; }


/* ===========================================================

	accordion

=========================================================== */

/* link-button__open / link-button__close
----------------------------------------------------------- */
.link-button__open, .link-button__close {
	height: 35px;
	line-height: 34px;
	padding: 0 40px 0 55px;
	display: inline-block;
	color: #fa0046 !important;
	font-size: 13px;
	text-align: center;
	border: solid 1px #fa0046;
	position: relative;
	overflow: hidden;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all .2s ease;
	text-decoration: none !important;
}
.link-button-a:hover,  .link-button-b:hover,  .link-button__open:hover,  .link-button__close:hover {
	background: #fa0046;
	border: solid 1px #fa0046;
	text-decoration: none !important;
	color: #fff !important;
}
.link-button-a:before,  .link-button-b:before,  .link-button__open:before,  .link-button__close:before,  .link-button__close:after {
	position: absolute;
	content: " ";
	vertical-align: middle;
}
/* link-button__open */
.link-button__open:before {
	top: 50%;
	left: 35px;
	width: 5px;
	height: 5px;
	margin: -3px 0 0 0;
	border-right: 1px solid #fa0046;
	border-bottom: 1px solid #fa0046;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.link-button__open:hover:before {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
/* link-button__close */
.link-button__close:before, .link-button__close:after {
	top: 50%;
	left: 27px;
	width: 14px;
	height: 14px;
	border-right: 1px solid #fa0046;
}
.link-button__close:before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin: -10px 0 0 0;
}
.link-button__close:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin: -1px 0 0 0;
}
.link-button__close:hover:before, .link-button__close:hover:after {
	border-right: 1px solid #fff;
}
