@charset "UTF-8";

/* -------------------------------
 共通
------------------------------- */
* {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

html, body, #wrapper {
	height: 100%;
}

body {
	font-size: 15px;
}

/*
body > #wrapper {
    height: auto;
    min-height: 100%;
}
*/
.pcView,
.pc {
	display: none;
}


header #menuBtn,

#slide,
#subMenu ul,
#container .inner,
#subContents ul li a,
#banner ul,
#calendar #detail p,
footer #footMenu .inner,
footer #mainInfo .inner,
footer #mainInfo .inner #address p:last-child {
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display:-webkit-flex;/*--- safari（PC）用 ---*/
    display:flex;
}

#subMenu 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;
}

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

#subContents ul li a {
/*	-webkit-box-align: center;
	box-align: center;*/
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
}

header .inner,
nav ul,
#main #info,
#subContents ul,
#banner ul {
	-webkit-flex-wrap: wrap !important;
	-ms-flex-wrap: wrap !important;
	flex-wrap: wrap !important;
}

#main {
	width: 100%;
}

#container {
	width: 100%;
	background: url(../img/back.png);
	padding-top: 20px;
	padding-bottom: 60px;
}

#container .inner {
	width: 100%;
	margin: 0 auto;
}

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.2rem;
	text-align: left;
	padding: 0 8px 5px 8px;
/*	border-bottom:  1px solid #162f4c;*/
}

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

.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;
  font-size: 12px;
 }
.has_error p {
    padding-left: 1em;
    margin: 0;
}



/* -------------------------------
 ヘッダー
------------------------------- */
header {
	display: block;
}

header h1 {
	min-height: 54px;
	height: auto;
	padding: 12px;
	line-height: 0;
	width: 100%;
	display:block;
}

header .inner {
	text-align: left;
}

header .inner img {
	width: 70%;
}

#subMenu {
	width: 100%;
}

#subMenu ul {
	width: 100%;
	background: #162f4c;
}

#subMenu ul li {
	width: 33.3%;
	text-align: center;
	background: url(../img/arrow_blue.png) left 40% no-repeat;
}

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

#subMenu ul li a {
	color: #fff;
	padding: 10px;
	font-size: .9rem;
	font-weight: bold;
	text-decoration: none;
	border-right: 1px solid #9ab2cd;
	display: block;
}

#subMenu ul li:last-child a {
	border-right: none;
}

#subMenu ul li a:hover,
#subMenu ul li a:active {
	text-decoration: none;
}

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

#menuBtn,
.closeBtn {
	display: block;
}

#menuBtn {
	position: absolute;
	right: 7px;
	top: 9px;
}

#menuBtn a {
	width: 1.5em;
	height: 1.5em;
	padding: 5px;
	display: block;
	font-size: 1.5rem;
	text-align: center;
	border-radius: 4px;
	text-decoration: none;
	margin-left: 7px;
}

#menuBtn #calBtn {
	border: 1px solid #162f4c;
	line-height: 0;
	cursor: pointer;
}

#menuBtn #navBtn {
	background: #162f4c;
	line-height: 0;
	text-align: center;
	cursor: pointer;
}

#menuBtn span {
	text-align: center;
	vertical-align: middle;
	display: inline-block;
}

#menuBtn .icon-calendar {
	color: #162f4c;
}

#menuBtn .icon-list-unordered {
	color: #fff;
	padding-top: 1px;
}

/* -------------------------------
 ナビ
------------------------------- */
nav {
	display: none;
	width: 100%;
	background: #162f4c;
	z-index: 9999;
	position: absolute;
	-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);
}

nav ul {
	width: 100%;
}

nav ul li {
	width: 100%;
	position: relative;
}

nav ul li a {
	color: #fff;
	padding: 15px;
	display: block !important;
	text-decoration: none;
	text-align: left;
	font-size: .9rem;
	border-bottom: 1px solid #34547a;
/*	-webkit-tap-highlight-color: #2e4e72;*/
	cursor: pointer;
}

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

nav ul li a.current span {
	background: url(../img/arrow_white_current.png) no-repeat left center;
}

nav ul li a.close {
	text-align: right;
	cursor: pointer;
}

nav ul li a.close span {
	background: none;
}

nav ul.sub {
	width: 100%;
	z-index: 999;
	-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;
	border-bottom: 1px solid #7195bf;
	-webkit-tap-highlight-color: #799bc2;
}

nav ul.sub li:last-child a {
	border-bottom: none;
}

nav ul.sub li a span {
	display: inline-block;
	padding-left: 15px;
	background: url(../img/arrow_white_sub.png) no-repeat 1px center;
}

/* -------------------------------
 コンテンツ
------------------------------- */
#slide {
	width: 100%;
	min-height: 150px;
	background-size: cover;
	position: relative;
}

#slide .inner {
	width: 100%;
	min-height: 150px;
	margin: 0 auto;
	padding-left: 15px;
}

#slide .inner a {
	width: 100%;
	display: block;
	margin-top: 5%;
}

#slide .inner a img {
	width: 95%;
	height: auto;
}

/* -------------------------------
 カレンダー
------------------------------- */
#leftNav {
	display: none;
	width: 100%;
	position: absolute;
	z-index: 9999;
	background: #162f4c;
}

#calendar {
	color: #fff;
	padding: 15px 10px;
}

#calendar h2 {
	font-size: 1.1rem;
	padding-left: 0;
}

#calendar p {
	margin-bottom: 10px;
}

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

#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: #333;
	background: #fff !important;
	font-size: .9rem;
}

#calendar th,
#calendar td {
	background: #455970;
	padding: 5px !important;
	border: none !important;
}

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

#calendar table .sat {
	color: #c0d7ff;
}

#calendar table .sun {
	color: #ffc0c0;
}

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

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

#leftNav .close {
	width: 100%;
	display: block;
	font-size: .9rem;
	text-align: right;
	text-decoration: none;
	color: #fff;
	padding: 15px;
	border-top: 1px solid #34547a;
}

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

#sp01 {
	color: #e4c861;
	font-size: 1.3rem;
	vertical-align: -10%;
	margin-right: 3px;
}

#sp02 {
	color: #ffc0c0;
	font-size: 1.3rem;
	vertical-align: -10%;
	margin-left: 10px;
	margin-right: 2px;
}

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

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

.listSquare {
	display: inline-block;
	color: #b5364b;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

#calendar h2 .icon {
	color: #fff;
	display: inline-block;
	margin-right: 5px;
}

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

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

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



/* -------------------------------
 お知らせ
------------------------------- */
#info {
	width: 100%;
	margin-bottom: 10px;
}

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

#infoDetail {
	width: 100%;
	height: 250px;
	overflow: auto;
	padding: 10px 0;
	margin-bottom: 10px;
}

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

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

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

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

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

#infoDetail .item p {
	margin-left: 10px;
	text-align: left;
}

#banner {
	width: 100%;
	text-align: center;
	padding: 10px;
}

#banner ul {
	width: 100%;
	display:block;
	clear:both;
}

#banner ul:after {
   content:"";
    display:block;
    clear:both;
}

#banner ul li {
	width: 48%;
	margin-bottom: 10px;
	display:block;
	float: left;
}





#banner ul li:nth-child(2n+1) {
	margin-right: 10px;
}

#contents {
	width: 100%;
}

#banner a {
	display: block;
}

#banner img {
	width: 100%;
	border: 1px solid #bbb;
	padding: 1px;
}

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

#subContents ul li {
	width: 100%;
	padding: 10px;
	background: #444;
	text-align: left;
	border: 1px solid #262626;
	margin-bottom: 10px;
}

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

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

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

#subContents ul li a img {
	width: 35%;
	height: auto;
	border: 1px solid #b3b3b3;
	display:block;
}

#subContents h3 {
	font-size: 1.2rem;
	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;
}

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

footer #footMenu {
	display: none;
}

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

footer #mainInfo .inner {
	width: 100%;
	margin: 0 auto;
}

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

footer #mainInfo .inner p:first-child {
	margin-bottom: 8px;
}

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

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

footer #copy p {
	width: 100%;
	margin: 0 auto;
	color: #9ab0cb;
	text-align: center;
	font-size: .75rem;
}

#pagetop {
	height: 43px;
	background: #162f4c;
	border-radius: 10px 0 0 0;
	padding: 10px;
	text-align: center;
	right: 0;
	cursor: pointer;
}

#pagetop img {
	width: 50%;
	height: auto;
}

.shadow {
	-webkit-box-shadow: -1px -2px 5px 0px rgba(50, 50, 50, 0.5);
	-moz-box-shadow:    -1px -2px 5px 0px rgba(50, 50, 50, 0.5);
	box-shadow:         -1px -2px 5px 0px rgba(50, 50, 50, 0.5);
}