/* ----------------------------------------------------------------header*/
header {
	text-align: left;
}
#header {
	font-size: 0;
}
h1 {
	text-align: center;
	font-size: 11px;
	margin: 3px 0 10px;
}
.header_logo {
	display: inline-block;
}
.header_logo img {
	width: 150px;
	height: auto;
}
.header_contact {
	display: inline-block;
	float: right;
	padding: 0;
}
.header_contact img {
	width: 40px;
	height: 40px;
}
.header_contact a:nth-last-of-type(1) {
	margin-left: 10px;
}
@media print, screen and (min-width:768px) {
h1 {
	text-align: left;
}
.header_logo img {
	width: auto;
	height: auto;
}
.header_contact img {
	width: auto;
	height: auto;
}
}
/*----------------------------------------------------------mainnavi*/
nav#mainnavi {
	display: block;
	clear: both;
	height: auto;
	margin: 10px auto;
}
#mainnavi ul#m_menu {
	margin: auto;
	padding-top: 45px;
	border-radius: 3px;
	background: #363636;
	height: 45px;
	position: relative;
}
#m_menu li {
	display: none;
}
#sub_menu01 {
	display: none;
}
#mainnavi ul#m_menu > li:not(#toggle) ul li {
	text-align: center;
	padding: 0;
	margin: 0 0 1px 0;
	background: rgba(54,54,54,1.00);
}
#mainnavi ul#m_menu > li:first-child {
	margin-top: 1px;
}
#mainnavi ul#m_menu > li a {
	background: rgba(54,54,54,1.00);
}
#mainnavi ul#m_menu > li#toggle {
	text-align: center;
	padding: 10px;
	margin: 0 0 1px 0;
	background: rgba(54,54,54,1.00);
}

@media print, screen and (min-width:768px) {
#mainnavi ul#m_menu {
	display: block;
	padding: 0 10px;
	font-size: 0;
}
#mainnavi ul#m_menu > li {
	display: inline-block!important;
}
#mainnavi ul#m_menu li#sub_menu01 ul#sm_lst li {
	display: none;
}
}
#mainnavi ul#m_menu li#sub_menu01 {
	position: static;
	margin: auto;
}

@media print, screen and (min-width:768px) {
#mainnavi ul#m_menu li#sub_menu01 {
	position: absolute;
	top: 46px;
	left: 342px;
	background: rgba(255,255,255,0.6);
}
}
#mainnavi ul#m_menu > li#sub_menu01 ul li {
}
#mainnavi ul#m_menu > li#sub_menu01 ul li a {
	display: block;
	margin: 0px auto 1px;
	padding: 10px 5px;
	background: rgba(54,54,54,1.00);
	color: #fff;
	height: 45px;
}

@media print, screen and (min-width:768px) {
#mainnavi ul#m_menu > li#sub_menu01 ul li a {
	width: 130px;
}
}
#mainnavi ul#m_menu > li a {
	display: block;
	padding: 10px 5px;
	margin: 0 0 1px 0;
	text-decoration: none;
	color: #fff;
	text-align: center;
}
#mainnavi ul#m_menu > li a:hover {
	background: #5e5e5e;
}
#mainnavi ul#m_menu li.dropdown {
	color: #fff;
	padding: 10px 5px;
}
#mainnavi ul#m_menu > li.dropdown:after {
	content: "";
	display: inline-block;
	border: 6px solid transparent;
	border-top-color: #fff;
	margin-bottom: -0.3em;
}
#mainnavi ul#m_menu > li#toggle:hover {
	cursor: pointer;
	background: #5e5e5e;
}
#mainnavi ul#m_menu > li#sub_menu01 > ul li {
	display: block;
	width: auto;
}
#mainnavi ul#m_menu > li#sub_menu01 > ul li a {
	display: block;
	margin: 0px 0px 1px 0px;
	padding: 10px 5px;
	background: rgba(54,54,54,1.00);
	color: #fff;/*border-bottom: 1px #fff solid;*/
}
#mainnavi ul#m_menu > li#sub_menu01 > ul li a:hover {
	background: #5e5e5e;
}
#toggle {
	background: rgba(54,54,54,1.00);
}
#m_menu li ul#sub_menu01 li {
}

@media print, screen and (min-width:768px) {
#mainnavi ul#m_menu > li {
	display: inline-block;
}
#mainnavi ul#m_menu > li a {
	padding: 10px 5px;
	margin: 0px 3px 0px 0;
}
#mainnavi ul#m_menu > li#sub_menu01 > ul li a {
	border-bottom: 0px #fff solid;
}
}
#mainnavi .container {
	position: relative;
	z-index: 1;
}
/*-------------------------------------------------HamburgerMenu Icon*/
#mainnavi .container .menu_btn {
	display: inline-block;
	position: absolute;
	margin: auto;
	right: 25px;
	width: 41px;
	height: 41px;
	background: rgba(255,255,255,0.2);
	top: 0;
	bottom: 0;
	z-index: 999;
	border-radius: 3px;
}
#mainnavi .container .menu_btn:hover {
	cursor: pointer;
}
#mainnavi .container .menu_btn .hambgr {
	display: inline-block;
	position: absolute;
	margin: auto;
	right: 0px;
	left: 0;
	top: 0;
	bottom: 0;
	width: 35px;
	height: 4px;
	background: #fff;
	z-index: 999;
	transition-duration: 0.3s;
}
#mainnavi .container .menu_btn .hambgr:before {
	content: "";
	display: block;
	margin: -10px auto 0;
	width: 35px;
	height: 4px;
	background: #fff;
}
#mainnavi .container .menu_btn .hambgr:after {
	content: "";
	display: block;
	margin: 16px auto 0;
	width: 35px;
	height: 4px;
	background: #fff;
}
#mainnavi .container .menu_btn .hambgr.hbg_close {
	display: inline-block;
	position: absolute;
	margin: auto;
	right: 0px;
	left: 0;
	top: 0;
	bottom: 0;
	width: 35px;
	height: 4px;
	background: #fff;
	z-index: 999;
	transform: rotate(-45deg);
}
#mainnavi .container .menu_btn .hambgr.hbg_close:before {
	content: "";
	display: block;
	margin: -10px auto 0;
	width: 35px;
	height: 0px;
	background: #fff;
}
#mainnavi .container .menu_btn .hambgr.hbg_close:after {
	content: "";
	display: block;
	margin: 16px auto 0;
	width: 35px;
	height: 4px;
	background: #fff;
	transform: rotate(90deg);
	transform-origin: 58% 0;
	transition-duration: 0.3s;
}

@media print, screen and (min-width:768px) {
#mainnavi .container .menu_btn {
	display: none;
}
}
/*------------------------------------------------------------pagetitle*/
#pagetitle {
	margin-bottom: 10px;
}

@media print, screen and (min-width:768px) {
#pagetitle {
	margin-bottom: 30px;
}
}
/*------------------------------------------------------------content*/
#content {
	text-align: left;
}
.section {
	clear: both;
	margin-bottom: 10px;
}

@media print, screen and (min-width:768px) {
.section {
	margin-bottom: 30px;
}
}
/* ----------------------------------------------------------------footer*/
footer {
	text-align: left;
	padding: 30px 0;
	background: #C0C0C0;
}
/*footernavi*/
footer ul {
	border-top: 1px dotted #6D6D6D;
	margin-bottom: 20px;
}
footer ul li {
	border-bottom: 1px dotted #6D6D6D;
}
footer ul li a {
	padding: 10px 0;
	display: block;
	color: #6D6D6D;
	text-decoration: none;
}
footer ul li a:hover {
	text-decoration: underline;
}
/*footerinfo*/
#footerinfo {
	margin-bottom: 20px;
}
#footerinfo dl {
	color: #6D6D6D;
}

@media print, screen and (min-width:480px) {
#footerinfo dl dd {
	float: left;
	margin-right: 20px;
}
}

@media print, screen and (min-width:768px) {
#footerinfo {
	margin-bottom: 0px;
}
}

@media print, screen and (min-width:992px) {
#footerinfo dl dd {
	float: none;
	margin-right: 0px;
}
}
/*footerbanner*/
#footerbanner {
	margin-top: 20px;
}
#footerbanner div {
	margin-bottom: 10px;
}

@media print, screen and (min-width:992px) {
#footerbanner {
	margin-top: 0px;
}
}
address {
	margin-top: 20px;
	font-size: 11px;
}
/*カレンダー更新プログラム（フッター）フォーマット*/
.calendar {
	width: 100%;
	padding: 10px 9px;
	margin: 0 0 10px;
	background: #fff;
	position: relative;
}
.calendar .cal_title {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 10px;
}
.calendar .month {
	font-size: 11px;
	line-height: 1.2;
	font-weight: bold;
	text-align: right;
	position: absolute;
	top: 12px;
	right: 10px;
	z-index: 999;
}
.calendar .month strong {
	font-size: 16px;
}
.calendar table {
	width: 100%;
	border-collapse: collapse;
}
.calendar table th, .calendar table td {
	font-size: 12px;
	text-align: center;
	padding: 10px 0;
}
.calendar table th {
	background: #C0C0C0;
	font-weight: bold;
}
.calendar table td.color01 {
	font-weight: bold;
	background: url(../img/common_img/holiday.png) no-repeat center center;
}
.calendar table td.color02 {
	font-weight: bold;
	background: url(../img/common_img/half.png) no-repeat center center;
}
.calendar table td.color03 {
	color: #fff;
	font-weight: bold;
	background: url(../img/common_img/monday.png) no-repeat center center;
}
.calendar ul.page_ctl {
	text-align: center;
	padding: 8px 10px;
	margin: 0 0 10px;
}
.calendar ul.page_ctl li {
	font-size: 12px;
	color: #389e7c;
}
.calendar ul.page_ctl li a {
	text-decoration: underline;
}
.calendar ul.page_ctl li a:hover {
	color: #999;
}
.calendar ul.page_ctl .ctl_left {
	float: left;
}
.calendar ul.page_ctl .ctl_right {
	float: right;
}
.calendar .tx_color01 {
	float: left;
	margin-right: 20px;
	padding: 0 0 0 15px;
	background: url(../img/common_img/holiday_s.png) no-repeat left center;
}
.calendar .tx_color02 {
	float: left;
	padding: 0 0 0 15px;
	background: url(../img/common_img/half_s.png) no-repeat left center;
}
.calendar .tx_color03 {
	clear: both;
	padding: 0 0 0 15px;
	background: url(../img/common_img/monday_s.png) no-repeat left center;
}

@media print, screen and (min-width:768px) {
.calendar {
	width: 60%;
	margin: 0 auto 10px;
}
}

@media print, screen and (min-width:992px) {
.calendar {
	width: 100%;
	margin: 0 0 10px;
}
}
/*カレンダー更新プログラム（メインカラム）フォーマット*/
.calender02 .note {
	display: inline-block;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	background-color: #969696;
	top: 0px;
	border-radius: 4px;
	padding: 5px 10px;
	margin-bottom: 20px;
}
.calender02 .calender_nav {
	width: 260px;
	margin: 0 auto;
	text-align: center;
}
.calender02 div.date {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}
.calender02 .calender_table {
	overflow-x: auto;
	clear: both;
	position: relative;
}
.calender02 table {
	width: 600px;
	border-collapse: collapse;
	margin-bottom: 10px;
}
.calender02 table tr th {
	text-align: center;
	background: #CBCBCB;
	border: 1px dotted #6F6F6F;
	border-bottom: 1px solid #6F6F6F;
	padding: 10px;
	width: 14%;
}
.calender02 table tr td {
	text-align: center;
	border: 1px dotted #6F6F6F;
	padding: 10px;
}
.calender02 table tr.tr_date td {
	background: #E5E5E5;
}
.calender02 table tr.tr_text td {
	height: 60px;
	vertical-align: top;
}
.calender02 .bg_color01 {
	background: #D5A8A9;
}
.calender02 .bg_color02 {
	background: #B1CAD8;
}
.calender02 .tx_color01 {
	color: #D5A8A9;
}
.calender02 .tx_color02 {
	color: #B1CAD8;
}

@media print, screen and (min-width:768px) {
.calender02 .note {
	display: none;
}
.calender02 table {
	width: 100%;
}
}
/*------------------------------------------------------------Pankuzu*/
/*pankuzu*/
#pankuzu {
	width: 100%;
	margin: 5px 0 15px;
	clear: both;
}
#pankuzu ol {
	list-style: none;
}
#pankuzu ol li {
	float: left;
	font-size: 11px;
	padding: 0 7px 0 10px;
	background: url(../img/common_img/icon_pankuzu.gif) no-repeat 0 50%;
}
#pankuzu ol li em {
	font-style: normal;
}
#pankuzu ol li.home {
	padding-left: 0;
	background: none;
}
#pankuzu ol li a:link, #pankuzu ol li a:visited {
	text-decoration: underline;
}
#pankuzu ol li a:hover, #pankuzu ol li a:active {
	text-decoration: underline;
}
/* ----------------------------------------------------------------rayout*/
.center {
	display: block;
	margin: auto;
}
/*------------------------------------------------------------table*/
.sheet_basic {
	width: 100%;
	border-collapse: collapse;
}
.sheet_basic tr th, .sheet_basic tr td {
	border: 1px dotted #6D6D6D;
	padding: 10px;
	text-align: left;
	vertical-align: top;
	display: block;
}

@media print, screen and (min-width:768px) {
.sheet_basic tr th, .sheet_basic tr td {
	display: table-cell;
}
}
/*------------------------------------------------------------Decoration*/
/*Line*/
hr.line_01 {
	height: 1px;
	clear: both;
	margin: 20px 0px;
	border-top: 1px dotted #CCC;
	border-right: 0 dotted #CCC;
	border-bottom: 0 dotted #CCC;
	border-left: 0 dotted #CCC;
}
.space_10 {
	height: 10px;
	clear: both;
}
.space_20 {
	height: 20px;
	clear: both;
}
.space_30 {
	height: 30px;
	clear: both;
}
.space_10 hr, .space_20 hr, .space_30 hr {
	display: none;
}
/*------------------------------------------------------------Text*/
/*title*/
.title01 {
	font-size: 20px;
	font-weight: bold;
	color: #6D6D6D;
	background: #C0C0C0;
	padding: 10px 15px;
	margin-bottom: 10px;
	border-radius: 4px;
}
.title02 {
	font-size: 18px;
	font-weight: bold;
	color: #6D6D6D;
	margin-bottom: 10px;
	border-bottom: 1px dotted #6D6D6D;
}
.title03 {
	font-size: 16px;
	font-weight: bold;
	color: #6D6D6D;
	padding-left: 10px;
	margin-bottom: 10px;
	border-left: 3px solid #6D6D6D;
}
.title03 span {
	font-size: 12px;
}
/*TextRight*/
.tx_right {
	text-align: right;
}
/*TextLeft*/
.tx_left {
	text-align: left;
}
/*TextCenter*/
.tx_cent {
	text-align: center;
}
/*bold*/
.tx_bold {
	font-style: normal;
	font-weight: bold;
}
/*TextRed*/
.tx_red {
	color: #C33;
}
/*attention*/
.attention {
	font-size: 10px;
	line-height: 130%;
	margin: 5px 0;
}
/*------------------------------------------------------------Float*/
/*FloatLeft*/
.float_left {
	float: left;
}
/*FloatRight*/
.float_right {
	float: right;
}
/*ClearBoth*/
.clearboth {
	clear: both;
}
/*phbox*/
.phbox_right {
	text-align: center;
}
.phbox_right img {
	max-width: 100%;
	height: auto;
	margin-bottom: 20px;
}
.phbox_left {
	text-align: center;
}
.phbox_left img {
	max-width: 100%;
	height: auto;
	margin-bottom: 20px;
}
.ov_hidden {
	overflow: hidden;
}

@media print, screen and (min-width:768px) {
.phbox_right {
	float: right;
	margin-left: 10px;
	margin-bottom: 0px;
}
.phbox_left {
	float: left;
	margin-right: 10px;
	margin-bottom: 0px;
}
}
/*------------------------------------------------------------Margin*/
/*MarginTop*/
.margin_t05 {
	margin-top: 5px;
}
.margin_t10 {
	margin-top: 10px;
}
.margin_t20 {
	margin-top: 20px;
}
.margin_t30 {
	margin-top: 30px;
}
.margin_t40 {
	margin-top: 40px;
}
.margin_t50 {
	margin-top: 50px;
}
/*MarginBottom*/
.margin_b05 {
	margin-bottom: 5px;
}
.margin_b10 {
	margin-bottom: 10px;
}
.margin_b20 {
	margin-bottom: 20px;
}
.margin_b30 {
	margin-bottom: 30px;
}
.margin_b40 {
	margin-bottom: 40px;
}
.margin_b50 {
	margin-bottom: 50px;
}
/*MarginRight*/
.margin_r05 {
	margin-right: 5px;
}
.margin_r10 {
	margin-right: 10px;
}
.margin_r15 {
	margin-right: 15px;
}
.margin_r20 {
	margin-right: 20px;
}
/*MarginLeft*/
.margin_l05 {
	margin-left: 50px;
}
.margin_l10 {
	margin-left: 10px;
}
.margin_l15 {
	margin-left: 15px;
}
.margin_l20 {
	margin-left: 20px;
}
/*Margin_device*/
.margin-xs-b10 {
	margin-bottom: 10px;
}

@media print, screen and (min-width:768px) {
.margin-xs-b10 {
	margin-bottom: 0px;
}
}
/*------------------------------------------------------------ClearFix*/
.clearfix {
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/*------------------------------------------------------------Hoverimg*/
a:hover img.hoverimg {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
}
/*------------------------------------------------------------other*/
/*Pagetop*/
#pagetop {
	position: fixed;
	bottom: 20px;
	right: 0px;
}
