@charset "UTF-8";

/* -------------------------------
 共通
------------------------------- */



html,body{
     width: 100%;
}

@media print {
	body {
		overflow:visible !important;
	}

}

.spView,
.sp {
	display: none;
}

header .inner,
nav ul,
#slide,
#subMenu ul,
#container .inner,
#main #info,
#subContents ul,
#calendar #detail p,
footer #footMenu .inner,
footer #mainInfo .inner,
footer #mainInfo #address {
/*	display:-webkit-box;*/
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

#subContents ul li a {
/*	display:-webkit-box;*/
	display: -webkit-flex !important;
	display: -ms-flexbox !important;
	display: flex !important;
/*	-webkit-box-align: center;
 	box-align: center;*/
	align-items: center;
	-webkit-align-items: center;
	-ms-align-items: center;
}

header .inner,
#subMenu ul,
#subContents ul,
footer #mainInfo .inner {
/*	-webkit-box-pack:justify;
	box-pack:justify;*/
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
/*	-webkit-box-align: center;
	box-align: center;*/
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
}

#subContents ul,
#container .inner,
#main #info,
#footMenu .inner {
/*	-webkit-box-pack:justify;
	box-pack:justify;*/
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}

#container {
	background: url(../img/back.png);
	padding-top: 30px;
	padding-bottom: 80px;
}

#container .inner {
	width: 960px;
	margin: 0 auto;
}

#main > h2 {
	margin-bottom: 3px;
}

h2 {
	font-family: "Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-weight: bold;
	font-size: 1.4rem;
	text-align: left;
	margin-bottom: 10px;
}

.icon {
	display: inline-block;
	margin-right: 5px;
}

h3 .icon {
	display: inline-block;
	margin-right: 7px;
}

.btn .icon {
	font-size: 1rem;
	margin-right: 3px;
	vertical-align: -15%;
}

.btnOrange {
	color: #fff;
	background: #f0930e;
	border: 1px solid #c57400;
	-webkit-box-shadow: 0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	-moz-box-shadow:    0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	box-shadow:         0px 1px 3px 0px rgba(50, 50, 50, 0.3);
}

.btnDeepblue {
	color: #fff !important;
	background: #0E2C4A !important;
	border: 1px solid #0E2C4A !important;
	-webkit-box-shadow: 0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	-moz-box-shadow:    0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	box-shadow:         0px 1px 3px 0px rgba(50, 50, 50, 0.3);
}

.btnOrange:hover,
.btnOrange:active {
	color: #fff;
	background: #ffa31f;
}

.btnDeepblue:hover,
.btnDeepblue:active {
	color: #fff !important;
	background: #18446f !important;
}

.btnOrange .icon {
	margin-right: 3px;
}

/* contentsbox */
.boxAll {
	padding: 10px 15px;
}

.boxAll.bgWhite {
	padding: 15px;
}

.boxTop {
	padding: 0 15px 10px 15px;
}

.boxBottom {
	padding: 10px 15px 0 15px;
}

.boxVertical {
	padding: 0 15px;
}

.boxRight {
	padding: 10px 0 10px 15px;
}

.boxLeft {
	padding: 10px 15px 10px 0;
}

.boxHorizontal {
	padding: 15px 0;
}

.has_error {
  color: #BC0E10;
  background: #FBAFB0;
  border: 1px solid #FF9EA2;
  padding: 10px;
  margin-bottom: 20px;
  border-radius: 4px;
  padding-left: 16px;
  text-indent: -0.7em;
 }
.has_error p {
    padding-left: 1em;
    margin: 0;
}

/* -------------------------------
 ヘッダー
------------------------------- */
header {
	padding-top: 12px;
}

header .inner {
	width: 960px;
	margin: 0 auto 10px auto;
}

header .inner h1 a {
	display: block;
	line-height: 0;
}

#subMenu {
}

#subMenu ul {
	padding: 5px 10px 3px 10px;
	background: #d3e7fc;
	border: 1px solid #aec7e3;
	border-radius: 4px;
	margin-bottom: 8px;
}

#subMenu ul li {
	padding-left: 10px;
	margin-left: 15px;
	font-size: .8rem !important;
	background: url(../img/arrow_blue.png) left 40% no-repeat;
}

#subMenu ul li:first-child {
	margin-left: 0;
}

#subMenu ul li a {
	color: #000;
	text-decoration: none;
}

#subMenu ul li a:hover {
	text-decoration: underline;
}

#open {
	padding: 6px 10px 5px 10px;
	background: #b5364b;
	color: #fff;
	font-weight: bold;
	border-radius: 4px;
	font-size: .8rem;
	text-align: center;
}

#menuBtn,
.closeBtn {
	display: none;
}

/* -------------------------------
 ナビ
------------------------------- */
nav {
	background: #162f4c;
	font-size: 14px;
	display: block !important;
}

nav ul {
	width: 960px;
	margin: 0 auto;
}

nav ul li {
	width: 100%;
	text-align: center;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

nav ul li:nth-child(5),
nav ul li:nth-child(9) {
	-webkit-flex: 1.5;
	-ms-flex: 1.5;
	flex: 1.5;
}

nav ul li:nth-child(2) {
	-webkit-flex: 1.4;
	-ms-flex: 1.4;
	flex: 1.4;
}

nav ul li:nth-child(6) {
	-webkit-flex: 1.2;
	-ms-flex: 1.2;
	flex: 1.2;
}

nav ul li a {
	color: #fff;
	padding: 15px 5px;
	display: block !important;
	text-decoration: none;
	cursor: pointer;
}

nav ul li a:hover {
	color: #fff;
}

nav ul li:hover,
nav ul li.current {
	background: #496e99;
}

nav ul li {
	position: relative;
}

nav ul.sub {
	min-width: 5em;
	max-width: 15em;
	position: absolute;
	z-index: 999;
	-webkit-box-shadow: 0px 2px 3px 0px rgba(50, 50, 50, 0.75);
	-moz-box-shadow:    0px 2px 3px 0px rgba(50, 50, 50, 0.75);
	box-shadow:         0px 2px 3px 0px rgba(50, 50, 50, 0.75);
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	display: none;
}

nav ul.sub li {
	text-align: left;
}

nav ul.sub li a {
	display: block;
	padding: .8em 1em;
	background: #496e99;
}

nav ul.sub li a span {
	display: inline-block;
	padding-left: 13px;
	background: url(../img/arrow_white.png) no-repeat left 43%;
}

nav ul.sub li a:hover {
	background: #799bc2;
}


/* -------------------------------
 コンテンツ
------------------------------- */
#slide {
	height: 345px;
	background: #fff;
	background-size: cover;
}

#slide .inner {
	width: 960px;
	margin: 0 auto;
	position: relative;
}

#slide .inner a {
	display: block;
	position: absolute;
	right: 0px;
	bottom: 30px;
}

#banner ul li {
	margin-bottom: 10px;
}

#banner img {
	width: 165px;
	height: auto;
	border: 1px solid #bbb;
	padding: 1px;
}

#contents {
	width: 75%;
}

/* -------------------------------
 カレンダー
------------------------------- */
#leftNav {
	width: 210px;
}

#calendar {
	font-size: 13px;
}

#calendar h2 {
	font-size: 1.1rem;
	margin-top: 3px;
	margin-bottom: 7px;
	padding-left: 5px;
}

#calendar p {
	font-size: 13px;
	margin-bottom: 5px;
}

#calendar #calInner {
	margin-bottom: 5px;
	text-align: center;
}

#calendar #calInner #disp1{
	display: block;
}

#calendar #calInner #disp2{
	display: none;
}

#calendar #detail {
	margin-bottom: 20px;
}

#calendar table {
	width: 100%;
	border: 1px solid #aaa;
	-webkit-box-shadow: 0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	-moz-box-shadow:    0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	box-shadow:         0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	border-collapse: separate;
}

#calendar thead th {
	color: #fff;
	background: #666 !important;
	font-size: .9rem;
}

#calendar tr th,
#calendar tr td {
	background: #fff;
	padding: 4px 5px !important;
	border: none !important;
	text-align: center;
}

#calendar tr:last-child td {
	border-bottom: 1px solid #aaa !important;
}

#calendar table .sat {
	color: #4e76d0;
}

#calendar table .sun {
	color: #cd4444;
}
#calendar table .holiday {
	background: #ee8c9c;
}

/*
#calendar table .holiday {
	background: #c8c8c8;
}

#calendar table .spOpen {
	background: #ffdd62;
}*/

#calendar thead th {
	text-align: center !important;
	vertical-align: middle !important;
}

#calendar thead th a {
	color: #fff;
	text-decoration: none;
}

#calendar thead th span {
	vertical-align: middle;
	margin: 0;
}

.legend {
	font-size: .9rem;
	font-weight: bold;
}

#sp01 {
	color: #ffdd62;
	font-size: 1.3rem;
	vertical-align: middle;
}

#sp02 {
	color: #ee8c9c;
	font-size: 1.3rem;
	vertical-align: middle;
}

#calendar #detail p .listSquare {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

#calendar #detail p .txt {
	-webkit-flex: 12;
	-ms-flex: 12;
	flex: 12;
}

.listSquare {
	display: inline-block;
	color: #b5364b;
}

#calendar h2 .icon {
	color: #b5364b;
}

#calendar thead th#prev,
#calendar thead th#next {
	cursor: pointer;
}

/* -------------------------------
 お知らせ
------------------------------- */
#info {
	margin-bottom: 20px;
}

#main > h2 .icon {
	color: #238a42;
	vertical-align: -10%;
	margin-right: 3px;
}

#infoDetail {
	width: 75%;
	height: 410px;
	margin-right: 20px;
	background: #fff;
	padding: 10px 5px 10px 15px;
	border: 1px solid #aaa;
	font-size: .85rem;
	-webkit-box-shadow: 0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	-moz-box-shadow:    0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	box-shadow:         0px 1px 3px 0px rgba(50, 50, 50, 0.3);
	overflow: auto;
}



.mCSB_inside > .mCSB_container {
	margin-right: 25px !important;
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
	background: #666 !important;
}

#infoDetail .item {
	padding: 10px 5px;
	border-bottom: 1px dashed #aaa;
	text-align: left;
	min-height: 1px;
}

#infoDetail .item:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

#infoDetail .item:last-child {
	border-bottom: none;
}

#infoDetail .item time {
	width: 7.5em;
	text-align: left;
	float: left;
	margin-right: 1em;
	display: inline-block;
	padding-left: 10px;
	background: url(../img/arrow_blue.png) left 45% no-repeat;
}

#infoDetail .item p {
	width: 24em;
	text-align: left;
	float: left;
	font-size: .9rem;
}

/* -------------------------------
 サブコンテンツ
------------------------------- */
#subContents {
}

#subContents ul li {
	width: 49%;
	padding: 13px;
	background: #444;
	text-align: left;
	border: 1px solid #262626;
}

#subContents ul li a {
	text-decoration: none;
}

#subContents ul li div {
	width: 15em;
	color: #fff;
	padding-left: 13px;
}

#subContents ul li div p {
	line-height: 1.6;
	font-size: .85rem;
}

#subContents ul li a img {
	width: 135px;
	height: 99px;
	border: 1px solid #b3b3b3;
}

#subContents h3 {
	font-size: 1.3rem;
	font-family: "Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	margin-bottom: 8px;
	padding-bottom: 2px;
	border-bottom: 1px solid #aaa;
}

#banner a {
	display: block;
	line-height: 0;
}

/* -------------------------------
 フッター
------------------------------- */
footer {
	font-size: 13px;
}

footer #footMenu {
	background: #446080;
	color: #d6e3f2;
	padding: 30px;
}

footer #footMenu .inner {
	width: 960px;
	margin: 0 auto;
}

footer #footMenu ul {
	margin-bottom: 10px;
}

footer #footMenu ul:last-child {
	margin-bottom: 0;
}

footer #footMenu ul li {
	padding-left: 17px;
	text-align: left;
	line-height: 1.7;
}

footer #footMenu ul li:first-child {
	background: url(../img/arrow_footer.png) left 40% no-repeat;
	font-weight: bold;
}

footer #footMenu ul li a,
footer #footMenu ul li a:hover {
	color: #d6e3f2;
}

footer #footMenu ul li a {
	text-decoration: none;
}

footer #footMenu ul li a:hover {
	text-decoration: underline;
}

footer #footMenu ul li.footerSub {
	margin-left: .5em;
}

footer #mainInfo {
	padding: 20px;
	color: #fff;
	background: #162f4c;
	text-align: left;
}

footer #mainInfo .inner {
	width: 960px;
	margin: 0 auto;
	position: relative;
}

footer #mainInfo .inner p span {
	display: inline-block;
	margin-right: .7em;
	font-size: 13px;
}

footer #mainInfo .inner p.flex span {
	display: inline-block;
	margin-right: 1.5em;
}

footer #mainInfo .inner strong {
	font-size: 1.1rem;
	display: inline-block;
	margin-bottom: 5px;
}

footer #mainInfo #address p:first-child {
	margin-right: .7em;
}

footer #copy {
	background: #030f1c;
	padding: 8px 10px;
}

footer #copy p {
	width: 960px;
	margin: 0 auto;
	color: #9ab0cb;
	text-align: right;
	font-size: .75rem;
}

#pagetop {
	cursor: pointer;
	line-height: 0;
	text-align: center;
	position: absolute;
	right: 10px;
	bottom: 0 !important;
}
