@charset "utf-8";

/* CSS Document */

/****************************************************************************/

/**							共通項目用CSS									*/

/****************************************************************************/

/* ----------------------------------------------------

					初期化

---------------------------------------------------- */

html, body, div, span, iframe,

h1, h2, h3, h4, h5, h6, p, blockquote,

a, abbr, acronym, address, cite,

del, dfn, img, ins, kbd, q, samp,

strong, sub, sup, var, area,

dl, dt, dd, ol, ul, li,

fieldset, form, label, legend,

table, caption, tbody, tfoot, thead, tr, th, td {

	margin: 0;

	padding: 0;

	border: 0;

	outline: 0;

	vertical-align: baseline;

	background: transparent;

}

html {

	font-size: 62.5%;

}

body {

	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	color: #333333;

	font-size: 14px;

	font-size: 1.4rem;

	line-height: 1;

}

h1, h2, h3, h4, h5, h6 {

	font-size: 16px;

	font-size: 1.6rem;

}

ol, ul {

	list-style: none;

}

blockquote, q {

	quotes: none;

}

blockquote:before, blockquote:after,

q:before, q:after {

	content: '';

	content: none;

}

a:focus {

	outline: 0;

}



ins {

	text-decoration: none;

}

del {

	text-decoration: line-through;

}



table {

	border-collapse: collapse;

	border-spacing: 0;

}



a{

	color: #333333 ;

	text-decoration: none;

}



img {

	vertical-align: bottom;

}



label{

	white-space:nowrap;

}



address {

	font-style: normal;

}



button {

	cursor: pointer;

}



a:hover, button:hover {

	opacity:0.7;

}



/* ----------------------------------------------------

		段組

---------------------------------------------------- */

#wrapper{

	min-width: 1100px;

	background-color: #f5f5f5;

}



.container {

	width: 1000px;

	margin: 0 auto;

	position: relative;

	box-sizing: border-box;

}



.container::after{

	content: "";

	display: block;

	clear: both;

	

}



#main_box {

	float: right;

	width: 780px;

	background-color: #ffffff;

	padding: 45px 20px 60px;

	box-sizing: border-box;

}



#sub_box {

	width: 200px;

	float: left;

}





/* ----------------------------------------------------

		ヘッダー

---------------------------------------------------- */

header {

	background-color: #ffffff;

}



#logo {

	float: left;

	margin: 15px 0 0 30px;

}



#head_right {

	float: right;

}



#old_site_link {

	float: right;

}



#old_site_link a {

	width: 188px;

	height: 43px;

	line-height: 43px;

	display: block;

	background-color: #ececec;

	color: #ffffff;

	text-align: center;

	box-sizing: border-box;

	color: #333333;

	font-size: 1.8rem;

}



#head_lang_link {

	float: right;

}



#head_lang_link a {

	width: 128px;

	height: 43px;

	display: inline-block;

	background-color: #333333;

	color: #ffffff;

	text-align: center;

	padding-top: 15px;

	box-sizing: border-box;

}



#font_change {

	float: right;

}



#font_change dt {

	float: left;

	line-height: 43px;

	margin-right: 15px;

}



#font_change dd {

	float: left;

	background-color: #ececec;

	cursor: pointer;

	width: 43px;

	height: 43px;

	line-height: 43px;

	text-align: center;

}



#font_change dd.active {

	background-color: #2396f3;

	color: #ffffff;

	font-weight: bold;

}



#font_change dd:hover {

	opacity:0.8;

}



#font_s_btn {

	font-size: 14px;

}



#font_m_btn {

	font-size: 18px;

}



#font_l_btn {

	font-size: 24px;

}



#head_search_form {

	clear: both;

	float: right;

	margin: 10px 8px 7px;

	position: relative;

}



#head_search_form input[type="text"] {

	width: 250px;

	height: 30px;

	background-color: #ececec;

	border: none;

	padding: 0 40px 0 15px;

	box-sizing: border-box;

	border-radius: 15px;

}



#head_search_form input[type="image"] {

	position: absolute;

	top: 4px;

	right: 12px;

}



#head_search_form label {

	margin-right: 15px;

}



#sp_menu_btn {

	width: 30px;

	height: 30px;

	background-color: #2396f3;

	position: absolute;

	top: 10px;

	right: 10px;

	cursor: pointer;

	display: none;

}



#sp_menu_btn span {

	background-color: #ffffff;

	display: block;

	height: 2px;

	position: absolute;

	top: 11px;

	left: 10px;

	width: 10px;

}



#sp_menu_btn span:nth-of-type(2) {

	top: 15px;

}



#sp_menu_btn span:nth-of-type(3) {

	top: 19px;

}



#sp_menu {

	background-color: #ffffff;

	background-color: #cccccc;

	position: absolute;

	top: 41px;

	left: 2%;

	width: 96%;

	z-index: 99999;

	border: 1px solid #2396f3;

	box-sizing: border-box;

	display: none;

}



@media screen and (min-width:640px){

	#sp_menu {

		display: none !important;

	}

}



#sp_menu li {

	border-top: 1px solid #ffffff;

	font-size: 2rem;

	line-height: 1.2;

}



#sp_menu li:first-child {

	border-top: none;

}



#sp_menu li:first-child a {

	background-color: #4c4c4c;

}



#sp_menu li a, #sp_menu li span {

	display: block;

	padding: 15px 50px 15px 50px;

	color: #ffffff;

	background-repeat: no-repeat;

	background-position: left 10px center;

	position: relative;

	cursor: pointer;

	background-color: #2396f3;

}



#sp_menu li span::before, #sp_menu li span::after {

	content: "";

	position: absolute;

	top: 26px;

	right: 10px;

	width: 16px;

	height: 2px;

	background-color: #ffffff;

}



#sp_menu li span::after {

	transform:rotate(90deg);

}



#sp_menu li span.open::after {

	display: none;

}



#sp_menu li:nth-child(1) a {

	background-image: url(../images/ico_navi01.png);

}



#sp_menu li:nth-child(2) span {

	background-image: url(../images/ico_navi02.png);

}



#sp_menu li:nth-child(3) span {

	background-image: url(../images/ico_navi03.png);

}



#sp_menu li:nth-child(4) a {

	background-image: url(../images/ico_navi04.png);

}



#sp_menu li:nth-child(5) a {

	background-image: url(../images/ico_navi16.png);

}



#sp_menu li:nth-child(6) a {

	background-image: url(../images/ico_navi05.png);

}



#sp_menu li:nth-child(7) a {

	background-image: url(../images/ico_navi06.png);

}



#sp_menu li:nth-child(8) a {

	background-image: url(../images/ico_navi04.png);

}



#sp_menu li:nth-child(9) a {

	background-image: url(../images/ico_navi07.png);

}



#sp_menu li:nth-child(10) span {

	background-image: url(../images/ico_navi08.png);

}



#sp_menu li:nth-child(11) a {

	background-image: url(../images/ico_navi09.png);

}



#sp_menu li:nth-child(12) a {

	background-image: url(../images/ico_navi10.png);

}



#sp_menu li:nth-child(13) a {

	background-image: url(../images/ico_navi11.png);

}



#sp_menu li:nth-child(14) a {

	background-image: url(../images/ico_navi12.png);

}



#sp_menu li:nth-child(15) a {

	background-image: url(../images/ico_navi13.png);

}



#sp_menu li:nth-child(16) a {

	background-image: url(../images/ico_navi14.png);

}



#sp_menu li:nth-child(17) a {

	background-image: url(../images/ico_navi15.png);

}



#sp_menu li:nth-child(18) a {

	background-image: url(../images/ico_navi19.png);

}



#sp_menu li:nth-child(19) span {

	background-image: url(../images/ico_navi17.png);

}



#sp_menu li:nth-child(20) a {

	background-image: url(../images/ico_navi18.png);

}



#sp_menu li ul {

	display: none;

}



#sp_menu li li {

	border-top-color: #dedede;

	font-size: 1.6rem;

	background-color: #ffffff;

}



#sp_menu li li a {

	background: none !important;

	padding: 10px 10px 10px 60px;

	color: #333333;

}



#sp_menu li li:hover{

	background: #f0f8ff;

}





#sp_menu li li a::before {

	content: '';

	width: 5px;

	height: 1px;

	background-color: #2396f3;

	position: absolute;

	top: calc(50% - 1px);

	left: 50px;

}



#sp_menu li li a::after {

	content: '';

	width: 4px;

	height: 4px;

	border: 0px;

	border-top: solid 1px #2396f3;

	border-right: solid 1px #2396f3;

	transform: rotate(45deg);

	position: absolute;

	top: calc(50% - 3px);

	left: 50px;

}



header nav ul {

	clear: both;

	width: 100%;

	display: table;

	table-layout: fixed;

	border-top: 1px solid #cccccc;

	border-bottom: 1px solid #cccccc;

}



header nav ul li {

	display: table-cell;

	vertical-align: middle;

	text-align: center;

	border-left: 1px solid #cccccc;

	font-size: 2rem;

	font-weight: bold;

}



header nav ul li:first-child {

	width: 100px;

}



header nav ul li a {

	display: block;

	height: 78px;

	line-height: 78px;

	opacity: 1;

}



header nav ul li a:hover, header nav ul li a.active {

	background-color: rgba(35,150,243,0.08);

}



header nav ul li img {

	vertical-align: middle;

}





/* ----------------------------------------------------

		フッター

---------------------------------------------------- */

#foot_bnr {

	background-color: #ffffff;

	padding: 60px 0 90px;

	margin-top: 60px;

}



.foot_bnr_box {

	background-color: #f5f5f5;

	padding: 15px 20px 25px;

	box-sizing: border-box;

}



.foot_bnr_box h1 {

	border-left: 3px solid #333333;

	padding-left: 10px;

	height: 20px;

	line-height: 20px;

	margin-bottom: 15px;

}



.foot_bnr_box .bx-wrapper {

	padding: 0 35px;

}





#foot_bnr_link {

	margin-top: 30px;

  padding-right: 0;

  padding-bottom: 15px;

}



#foot_bnr_link ul {

	display: flex;

  flex-wrap: wrap;

  align-items: center;

}



#foot_bnr_link li {

  width: 20%;

  margin-bottom: 10px;

  padding-right: 20px;

  text-align: center;

  box-sizing: border-box;

  /*

	width: auto !important;

	float: none !important;

	display: inline-block;

  */

}



#foot_bnr_link li img {

  max-width: 100%;

	vertical-align: middle;

}



footer {

	padding-bottom: 50px;

	border-top: 1px solid #cccccc;

}



#foot_navi {

	px 0 50px;

	border-bottom: 1px solid #000000;

}



#foot_navi > ul {

	float: left;

	width: 25%;

	font-size: 1.3rem;

	font-weight: bold;

}



#foot_navi ul li {

	margin-top: 20px;

	line-height: 1.3;

}



#foot_navi ul li a {

	position: relative;

	padding-left: 17px;

	display: inline-block;

}



#foot_navi ul li a::before {

	content: '';

	width: 6px;

	height: 6px;

	border: 0px;

	border-top: solid 2px #333333;

	border-right: solid 2px #333333;

	transform: rotate(45deg);

	position: absolute;

	top: 0.4rem;

	left: 0;

}



#foot_navi ul li ul {

	margin-left: 15px;

}



#foot_navi ul li li {

	margin-top: 13px;

}



#foot_navi ul li li a {

	padding-left: 15px;

}



#foot_navi ul li li a::before {

	border-width: 1px;

	width: 5px;

	height: 5px;

	top: calc(50% - 3px);

}



#foot_lower {

	padding-top: 20px;

}



#foot_link {

	float: right;

	font-size: 1.3rem;

	font-weight: bold;

}



#foot_link li {

	margin: 0 0 5px 25px;

	float: left;

}



#foot_link li:nth-child(3) {

	clear: both;

}



#foot_link li a {

	position: relative;

	padding-left: 15px;

}



#foot_link li a::before {

	content: '';

	width: 5px;

	height: 5px;

	border: 0px;

	border-top: solid 1px #333333;

	border-right: solid 1px #333333;

	transform: rotate(45deg);

	position: absolute;

	top: calc(50% - 3px);

	left: 0;

}



#foot_address {

	float: left;

	width: 50%;

}



#foot_address h1 {

	font-size: 1.5rem;

	margin-bottom: 10px;

}



#foot_address p {

	font-size: 1.3rem;

	line-height: 1.6;

}



#foot_address p span {

	margin-right: 15px;

	display: inline-block;

}



#copyright {

	float: right;

	margin-top: 250px;

	font-size: 1.2rem;

}



#to_top {

	width: 62px;

	height: 52px;

	position: fixed;

	bottom: 85px;

	right: 50px;

	white-space: nowrap;

	overflow: hidden;

	cursor: pointer;

	z-index: 99999;

	display: none;

}



#to_top:hover {

	opacity: 0.7;

}



@media print {

	#to_top {

		display: none !important;

	}

}





/* ----------------------------------------------------

		パンくずリスト

---------------------------------------------------- */

#topic_path {

	font-size: 1.3rem;

	line-height: 1.3;

	margin: 15px 0;

}



#topic_path li {

	display: inline;

}



#topic_path li:before {

	display: inline-block;

	margin: 0 12px 0 7px;

	content: '>';

}



#topic_path li:first-child:before{

	content: url(../images/ico_home2.png);

	margin: 0 5px 0 0;

	vertical-align: top;

}



#topic_path li a {

	text-decoration: underline;

}





/* ----------------------------------------------------

		見出し

---------------------------------------------------- */

.headline {

	font-size: 2.4rem;

	line-height: 1.2;

	margin-bottom: 20px;

	padding-bottom: 10px;

	border-bottom: 3px solid #2396f3;

}



.subheading {

	font-size: 2rem;

	color: #2396f3;

	line-height: 1.2;

	margin:40px 0 20px;

}



.subheading a {

	color: #2396f3;

}



.subtitle {

	font-size: 1.6rem;

	line-height: 1.3;

	margin: 20px 0 10px;

}



.ttl {

	font-size: 1.4rem;

	line-height: 1.5;

	margin-top: 20px;

}





/* ----------------------------------------------------

		左ナビ

---------------------------------------------------- */

#side_navi {

	background-color: #ffffff;

}



#side_navi h1 {

	background-color: #2396f3;

	min-height: 110px;

	color: #ffffff;

	font-size: 1.8rem;

	text-align: center;

	padding: 20px 5px 10px;

	box-sizing: border-box;

}



#side_navi h1::before {

	display: block;

	margin-bottom: 8px;

}



#side_navi li.active {

	background-color: #f1f8ff;

}



#side_navi li a {

	display: block;

	border-top: 1px solid #dedede;

	padding: 10px 0 10px 15px;

	margin: 0 10px;

	position: relative;

	line-height: 1.3;

	font-weight: bold;

}



#side_navi ul li a::before {

	content: '';

	width: 5px;

	height: 1px;

	background-color: #2396f3;

	position: absolute;

	top: calc(50% - 1px);

	left: 0;

}



#side_navi ul li a::after {

	content: '';

	width: 4px;

	height: 4px;

	border: 0px;

	border-top: solid 1px #2396f3;

	border-right: solid 1px #2396f3;

	transform: rotate(45deg);

	position: absolute;

	top: calc(50% - 3px);

	left: 0;

}



#side_navi li:first-child a {

	border: none;

}



#side_navi ul li ul {

	margin: 0 10px;

	padding: 5px 0 5px 5px;

	border-top: 1px solid #dedede;

}



#side_navi ul li li a {

	border: none;

	padding: 5px 0 5px 10px;

	font-weight: normal;

}



#side_navi ul li li a.active {

	color: #2396f3;

}



#side_navi ul li li a::before {

	border: none;

	width: 3px;

	height: 3px;

	border-radius: 50%;

	top: 0.9em;

}



#side_navi ul li li a::after {

	border: none;

}



#side_navi .side_navi_act ul {

  display: none;

}

#side_navi .side_navi_act ul.is-show {

  display: block;

}



#side_contact {

	margin-top: 20px;

}

#side_contact a {

  display: block;

  background-color: #f3a611;

  text-align: center;

}



#side_purpose h1 {

	margin: 15px 0;

}



#side_purpose li {

	margin-top: 10px;

}



#side_purpose li a {

	display: block;

	width: 100%;

	height: 60px;

	font-size: 1.3rem;

	line-height: 1.2;

	padding-left: 40px;

	padding-top: 23px;

	box-sizing: border-box;

	background: #ffffff url(../images/ico_info.png) no-repeat left 10px center;

	background-size: 22px;

}



#side_purpose li:nth-child(2) a {

	background-image: url(../images/ico_bldg.png);

}



#side_purpose li:nth-child(3) a {

	background-image: url(../images/ico_chart.png);

	padding-top: 15px;

}



#side_purpose li:nth-child(4) a {

	background-image: url(../images/ico_mono.png);

}



.side_navi_main {

  border-top: 1px solid #cccccc;

}

.side_navi_main li {

  border-bottom: 1px solid #cccccc;

}

.side_navi_main li a {

  display: flex;

  align-items: center;

  padding: 0.75em 0 0.75em 8px;

  background-color: #2396f3;

  color: #fff;

  font-weight: bold;

}

.side_navi_main li a p {

  display: flex;

  align-items: center;

  width: 1.5em;

  margin-right: 0.5em;

}

.side_navi_main li a p img {

  max-width: 100%;

}



.side_group {

  margin-top: 10px;

}



.side_group h2 {

  display: flex;

  align-items: center;

  padding: 0.75em 0 0.75em 8px;

  background-color: #2396f3;

  color: #fff;

  font-weight: bold;

}



.side_group h2 p {

  display: flex;

  align-items: center;

  width: 1.5em;

  margin-right: 0.5em;

}



.side_group h2 p img {

  max-width: 100%;

}



.side_group ul {

  background-color: #fff;

}



.side_group li {

  border-bottom: 1px solid #cccccc;

}

.side_group li a {

  display: flex;

  align-items: center;

  width: 100%;

  padding: 0.75em 0 0.75em 0.5em;

  line-height: 1.3;

  box-sizing: border-box;

}

.side_group li a::before {

  content: '';

  display: block;

  width: 6px;

  height: 10px;

  margin-right: 0.5em;

  background: url(../images/navi_arrow.png) no-repeat;

}

.side_group li span {

  flex: 1;

}





/* ----------------------------------------------------

		ブロック要素

---------------------------------------------------- */

.f_left {

	float: left !important;

}



.f_right {

	float: right !important;

}



.table_box {

	display: table;

}



.table_box_cell {

	display: table-cell;

	vertical-align: top;

}



.content2_1 {

	width: 48%;

	float: left;

}



.content2_2 {

	width: 48%;

	float: right;

}



.content3_1 , .content3_2 , .content3_3 {

	width: 32%;

	float: left;

}



.content3_2 {

	margin-right: 2%;

	margin-left: 2%;

}



.content4_1 , .content4_2 , .content4_3 , .content4_4 {

	width: 22%;

	float: left;

}



.content4_2 {

	margin-left: 4%;

	margin-right: 4%;

}



.content4_3 {

	margin-right: 4%;

}



.two_col_list:after, .three_col_list:after, .three_col_list:after, .four_col_list:after, .five_col_list:after {

	content: ".";

	display: block;

	height: 0;

	clear: both;

	

}



.two_col_list li {

	float: left;

	width: 49%;

	margin-top: 2%;

	box-sizing: border-box;

}



.two_col_list li:nth-child(2n) {

	margin-left: 2%;

}



.three_col_list li {

	float: left;

	width: 32%;

	margin-right: 2%;

	box-sizing: border-box;

}



.four_col_list li {

	float: left;

	width: 23.5%;

	margin-right: 2%;

	box-sizing: border-box;

}



.five_col_list li {

	float: left;

	width: 18.5%;

	margin-right: 1.5%;

	box-sizing: border-box;

}



.three_col_list li:nth-child(3n), .four_col_list li:nth-child(4n), .five_col_list li:nth-child(5n) {

	margin-right: 0;

}



.two_col_box li {

	width: 48%;

	margin-top: 2%;

	box-sizing: border-box;

	display: inline-block;

	vertical-align: top;

}



.two_col_box li:nth-child(2n) {

	margin-left: 2%;

}



.clearfix {

	min-height: 1px;

}



.clearfix:after {

	content: ".";

	display: block;

	clear: both;

	height: 0;

	

}



.box_center {

	margin-left: auto;

	margin-right: auto;

}



.width_max {

	width: 100% !important;

}



.box_hide {

	display: none;

}



.hide {

	

}



.sp_br {

	display: none;

}





/* ----------------------------------------------------

		余白

---------------------------------------------------- */

.no_margin {

	margin: 0 !important;

}



.top_margin_5 {

	margin-top: 5px !important;

}



.top_margin_10 {

	margin-top: 10px !important;

}



.top_margin_15 {

	margin-top: 15px !important;

}



.top_margin_20 {

	margin-top: 20px !important;

}



.top_margin_30 {

	margin-top: 30px !important;

}



.top_margin_40 {

	margin-top: 40px !important;

}



.top_margin_50 {

	margin-top: 50px !important;

}



.left_margin_5 {

	margin-left: 5px !important;

}



.left_margin_10 {

	margin-left: 10px !important;

}



.left_margin_20 {

	margin-left: 20px !important;

}



.left_margin_30 {

	margin-left: 30px !important;

}



.left_margin_40 {

	margin-left: 40px !important;

}



.left_margin_50 {

	margin-left: 50px !important;

}



.right_margin_5 {

	margin-right: 5px !important;

}



.right_margin_10 {

	margin-right: 10px !important;

}



.right_margin_20 {

	margin-right: 20px !important;

}



.right_margin_30 {

	margin-right: 30px !important;

}



.left_padding_10 {

	padding-left: 10px !important;

}



.left_padding_20 {

	padding-left: 20px !important;

}



.left_padding_30 {

	padding-left: 30px !important;

}



.right_padding_10 {

	padding-right: 10px !important;

}



.right_padding_20 {

	padding-right: 20px !important;

}



.right_padding_30 {

	padding-right: 30px !important;

}





/* ----------------------------------------------------

		文字列・インライン要素

---------------------------------------------------- */

.font_s {

	font-size: 55%;

}



.font_m {

	font-size: 62.5%;

}



.font_l {

	font-size: 70%;

}



.txt_font_s {

	font-size: 1.2rem !important;

}



.txt_font_m {

	font-size: 1.4rem !important;

}



.txt_font_l {

	font-size: 1.8rem !important;

}



.txt_font_2l {

	font-size: 2.0rem !important;

}



.font_bold {

	font-weight: bold !important;

}



.txt {

	line-height: 1.5 !important;

}



.txt_s {

	line-height: 1.2 !important;

}



.txt_l {

	line-height: 1.8 !important;

}



.txt_center {

	text-align: center !important;

}



.txt_right {

	text-align: right !important;

}



.txt_left {

	text-align: left !important;

}



.txt_indent {

	text-indent: 1em;

}



.txt_indent-1 {

	padding-left: 1em;

	text-indent: -1em;

}

.txt_indent-2 {

	padding-left: 2em;

	text-indent: -2em;

}



.normal_txt {

	font-size: 1.4rem;

	font-weight: normal;

}



.inline_block {

	display: inline-block;

}



.vertical_top {

	vertical-align: top !important;

}



.vertical_middle {

	vertical-align: middle !important;

}



.underline {

	text-decoration: underline;

}



.strike {

	text-decoration: line-through;

}



.txt_hide {

	white-space: nowrap;

	text-indent: 100%;

	overflow: hidden;

}



.nowrap {

	white-space: nowrap;

}



.round_img {

	border-radius: 10px;

}



.pointer {

	cursor: pointer;

}



.caution {

	color: #a33535;

}



.attention {

	color: #ff0000;

}



.require {

	color: #c90000;

}



.arrow_link, .arrow_link_wh {

	position: relative;

	padding-left: 15px;

}



.arrow_link::before, .arrow_link_wh::before {

	content: '';

	width: 6px;

	height: 6px;

	border: 0px;

	border-top: solid 2px #2396f3;

	border-right: solid 2px #2396f3;

	transform: rotate(45deg);

	position: absolute;

	top: 0.6rem;

	left: 0;

}



.arrow_link_wh::before {

	border-color: #ffffff;

}



.btn_link, .btn_link_l {

	background-color: #2396f3;

	display: inline-block;

	text-align: center;

	text-decoration: none;

	position: relative;

	padding: 10px 15px;

	color: #ffffff;

}



.btn_link_l {

	font-size: 2rem;

}



.btn_link::before, .btn_link_l::before {

	content: '';

	display: inline-block;

	width: 6px;

	height: 6px;

	border: 0px;

	border-top: solid 2px #ffffff;

	border-right: solid 2px #ffffff;

	transform: rotate(45deg);

	margin-right: 8px;

}



.btn_link_l::before {

	width: 10px;

	height: 10px;

	border-width: 3px;

}





/* ----------------------------------------------------

		リスト

---------------------------------------------------- */

.disc_list {

	list-style-type: disc;

	margin-left: 20px;

	line-height: 1.7;

}



.decimal_list {

	list-style-type: decimal;

	margin-left: 20px;

	line-height: 1.5;

}



.parenthesis_decimal_list {

	list-style-position: inside;

	margin: 0;

	line-height: 1.5;

	padding-left: 2em;

}



.parenthesis_decimal_list li{

	counter-increment: cnt;

	text-indent: -1.7em;

	margin-top: 10px;

}



.parenthesis_decimal_list li:before {

	display: marker;

	content: "(" counter(cnt) ") ";

}



.parenthesis_decimal_list li ul li {

	text-indent: 0;

	padding-left: 0;

}



.parenthesis_decimal_list li ul li:before {

	content: "";

}





.circle_list {

	margin: 10px 0;

}



.circle_list li {

	line-height: 1.3;

	position: relative;

	padding-left: 15px;

	margin-top: 10px;



}



.circle_list li::before {

	content: "";

	width: 5px;

	height: 5px;

	border: 3px solid #2396f3;

	border-radius: 50%;

	position: absolute;

	top: 5px;

	left: 0;

}



.iroha_list {

	line-height: 1.5;

}



.iroha_list li {

	padding-left: 2em ;

	text-indent: -2em ;

}



.inline_list li {

	display: inline-block;

}



.list_margin_none li {

	margin-top: 0 !important;

}



.list_margin_20 li {

	margin-top: 20px !important;

}



.list_margin_10 li {

	margin-top: 10px !important;

}



.arrow_list li {

	position: relative;

	padding-left: 15px;

	line-height: 1.3;

	margin-top: 10px;

}



.arrow_list li:before {

	content: '';

	width: 6px;

	height: 6px;

	border: 0px;

	border-top: solid 2px #2396f3;

	border-right: solid 2px #2396f3;

	transform: rotate(45deg);

	position: absolute;

	top: 0.6rem;

	left: 0;

}



.underline_list a {

	text-decoration: underline;

}



a.underline_list {

	text-decoration: underline;

}



#link {

	font-size: 1.6rem;

}



.link_list li {

	position: relative;

	padding-left: 15px;

	line-height: 1.3;

	margin-top: 30px;

	line-height: 1.5;

}



.link_list li li {

	margin-top: 10px;

}



.link_list li li li {

	margin-left: 20px;

	display: inline-block;

	vertical-align: top;

	



}



.link_list li li li li {

	display: inline-block;



}



.link_list li:before {

	content: '';

	width: 6px;

	height: 6px;

	border: 0px;

	border-top: solid 2px #2396f3;

	border-right: solid 2px #2396f3;

	transform: rotate(45deg);

	position: absolute;

	top: 0.8rem;

	left: 0;

}



.link_list li li:before {

	transform: rotate(0);

	position: absolute;

	width: 0;

	height: 0;

	border-style: solid;

	border-width: 3.5px 0 3.5px 6px;

	border-color: transparent transparent transparent #2396f3;

}



.link_list li a {

	text-decoration: underline;

}



.business_list {

	display: table;

	border-spacing: 40px 0;

	margin: 0 -40px 30px;

}



.business_list li {

	width: 350px;

	display: table-cell;

}



.business_box {

	background-color: #f0f8ff;

	padding: 20px;

	box-sizing: border-box;

	margin-top: 30px;

}



.business_box h2 {

	color: #2396f3;

	line-height: 1.5;

	margin-bottom: 10px;

}



.business_box h3 {

	font-size: 1.4rem;

	line-height: 1.7;

	margin-top: 10px;

}



.business_box p {

	line-height: 1.7;

}





/* ----------------------------------------------------

		テーブル

---------------------------------------------------- */

.common_table {

	width: 100%;

	line-height: 1.5;

}



.common_table th {

	background-color: #f5f5f5;

	border: 1px solid #ebebeb;

	box-sizing: border-box;

	text-align: left;

	padding: 15px;

	vertical-align: top;

}



.common_table td {

	border: 1px solid #ebebeb;

	padding: 15px 10px;

	box-sizing: border-box;

}



.basic_table th {

	width: 150px;

}



.form_table th {

	width: 225px;

}



.form_table td {

	font-size: 1.3rem;

}



.form_table td span {

	display: inline-block;

	margin-top: 8px;

}



.scroll_table {

	overflow: auto;

	-webkit-overflow-scrolling: touch;

	overflow-scrolling: touch;

}





/* ----------------------------------------------------

		フォーム

---------------------------------------------------- */

.form_table input, .form_table  select {

	border: 1px solid #cccccc;

	width: 300px;

	height: 30px;

}



.form_table textarea {

	border: 1px solid #cccccc;

	width: 450px;

	height: 160px;

}



.btn_box p {

	text-align: center;

	margin-top: 20px;

}



.btn_submit, .btn_reset {

	background-color: #000000;

	border: none;

	display: inline-block;

	text-align: center;

	text-decoration: none;

	font-size: 2rem;

	font-weight: bold;

	height: 60px;

	line-height: 60px;

	box-sizing: border-box;

	width: 450px;

	color: #ffffff;

}



.btn_reset {

	background-color: #929292;

}



.btn_submit::before, .btn_reset::before {

	content: "";

	display: inline-block;

	width: 8px;

	height: 8px;

	border-top: 3px solid #ffffff;

	border-right: 3px solid #ffffff;

	transform: rotate(45deg);

	margin: 0 10px 2px 0;

}





/* ----------------------------------------------------

		コンンテンツ

---------------------------------------------------- */

.news {

	font-size: 10px;

	width: 90px;

	height: 23px;

	display: inline-block;

	line-height: 23px;

	box-sizing: border-box;

	color: #ffffff;

	text-align: center;

	font-weight: bold;

}



.news01 {

	background-color: #ff6fb3;

}



.news02 {

	background-color: #cf8447;

}



.news03 {

	background-color: #2a9239;

	font-size: 1rem;

}



.index_list {

	display: table;

	border-collapse: separate;

	border-spacing: 15px 10px;

	margin: 0 -15px;

}



.index_list li {

	width: 230px;

	display: table-cell;

	border: 5px solid #9bcaf0;

	box-sizing: border-box;

	position: relative;

	vertical-align: top;

}



.index_list li:nth-child(3n) {

	margin-right: 0;

}



.index_list li::after {

	content: "";

	position: absolute;

	bottom: 5px;

	right: 5px;

	width: 0;

	height: 0;

	border-style: solid;

	border-width: 0 0 12px 12px;

	border-color: transparent transparent #2396f3 transparent;

}



.index_list li a {

	display: block;

	padding: 20px 10px;

	height: 100%;

	box-sizing: border-box;

}



.index_list li h2 {

	font-size: 1.8rem;

	color: #2396f3;

	line-height: 1.3;

	margin-bottom: 5px;

}



.index_list li p {

	line-height: 1.5;

}



.heading_list li {

	padding: 15px 20px;

	line-height: 1.4;

}



.heading_list li:nth-child(odd) {

	background-color: #f0f8ff;

}



.heading_list li h2 a{

	text-decoration: underline;

}



.heading_list li p {

	margin: 7px 0 0 15px;

}





.access_map {

	margin: 5% 0 2%;

}



.aside_box {

	background-color: #f5f5f5;

	padding: 15px;

	line-height: 1.5;

	margin-top: 50px;

}





/* ----------------------------------------------------

		ページング

---------------------------------------------------- */

.pagination{

	text-align: center;

	margin-top: 30px;

}



.pagination li {

	display: inline-block;

	width: 25px;

	height: 25px;

	line-height: 25px;

	background-color: #ffffff;

	border: 1px solid #cccccc;

	text-align: center;

}



.pagination li.current {

	background-color: #e7e7e7;

	color: #333333;

}



.pagination li a {

	display: block;

}





/* ----------------------------------------------------

		スライダー

---------------------------------------------------- */

.bx-wrapper {

	position: relative;

}



.slider01 .bx-wrapper .bx-controls-direction a {

	position: absolute;

	top: calc(50% - 12px);

	width: 25px;

	height: 25px;

	z-index: 1000;

	white-space: nowrap;

	text-indent: 100%;

	overflow: hidden;

	background-color: #333333;

	border-radius: 50%;

}



.slider01 .bx-wrapper .bx-controls-direction a::before {

	content: '';

	width: 8px;

	height: 8px;

	border: 0px;

	border-top: solid 2px #ffffff;

	border-right: solid 2px #ffffff;

	transform: rotate(45deg);

	position: absolute;

	top: calc(50% - 5px);

	left: 6px;

}



.slider01 .bx-prev {

	left: 0px;

}



.slider01 .bx-prev::before {

	transform: rotate(225deg) !important;

	left: 10px !important;

}



.slider01 .bx-next {

	right: 0px;

}





/* ----------------------------------------------------

		アイコン

---------------------------------------------------- */

.ico_export {

	background: url(../images/ico_export.png) no-repeat;

	display: inline-block;

	width: 15px;

	height: 12px;

	margin-left: 5px;

}



.ico_pdf {

	background: url(../images/ico_pdf.png) no-repeat;

	display: inline-block;

	width: 22px;

	height: 26px;

	margin-left: 5px;

	vertical-align: middle;

	white-space: nowrap;

	text-indent: 100%;

	overflow: hidden;

}



.ico_pdf02 {

	background: url(../images/ico_pdf02.png) no-repeat;

	display: inline-block;

	width: 22px;

	height: 26px;

	margin-left: 5px;

	vertical-align: middle;

	white-space: nowrap;

	text-indent: 100%;

	overflow: hidden;

}



.ico_doc {

	background: url(../images/ico_doc.png) no-repeat;

	display: inline-block;

	width: 22px;

	height: 26px;

	margin-left: 5px;

	vertical-align: middle;

	white-space: nowrap;

	text-indent: 100%;

	overflow: hidden;

}



.ico_xlsx {

	background: url(../images/ico_xlsx.png) no-repeat;

	display: inline-block;

	width: 22px;

	height: 26px;

	margin-left: 5px;

	vertical-align: middle;

	white-space: nowrap;

	text-indent: 100%;

	overflow: hidden;

}



.ico_search {

	background: url(../images/ico_search2.png) no-repeat;

	display: inline-block;

	width: 13px;

	height: 13px;

	margin-right: 5px;

	vertical-align: middle;

}

