@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p');
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600');

/* html,bodyタグの設定 */
html, body{
    margin: 0;      /* 余白の削除 */
    padding: 0;     /* 余白の削除 */
	width: 100%;    /* 横の表示領域を100% */
	height: 100%;   /* 縦の表示領域を100% */
}

a {
	color:#333;
	text-decoration:none;
/*	border-bottom: dotted 2px #999; */
}

.tbl {
	display:table;
	margin: auto;
}

.tr {
	display:table-row;
}

.td {
	display:table-cell;
}

.popupLink {
	border-bottom: dotted 2px #999;
}

.popupLink::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url("../icon_imgs/popup.png") no-repeat;
    background-size: 12px 12px;
    margin-bottom :-1px;
    margin-left: 3px;
}

.memberPopupLink::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url("../icon_imgs/popup.png") no-repeat;
    background-size: 12px 12px;
    margin-bottom :-1px;
    margin-left: 0px;
}

body {
	font-family: 'M PLUS 1p', sans-serif;
	margin:0;
	padding:0;
	min-height:100%;
	height:auto !important;
	height:100%;
	position:relative;
}


body,#wrapper {
	display: flex;
	flex-direction: column;
}

article{
	padding-bottom:30px;
}




ul {
	padding-left: 0px;
}

/* ヘッダー */
header {
  z-index: 10;
}

#headerMenu {
	position: relative;
}

#headerTitle {
	position:fixed;
	background-color:#000;
	border:0px;
	padding:0;
	margin:0;
	width:100%;
	height:50px;
}

/* ヘッダータイトル列定義 */
.headerTitleCol {
	position:absolute;
	display:inline-block;
	color:#FFFFFF;
}
/* タイトル画像 */
.headerTitleCol:nth-of-type(1) {
    top :4px;
	left:5px;
}
/* ハンバーガーメニュー */
.headerTitleCol:nth-of-type(2) {
    top: 5px;
	right:5px;
}
/* お気に入り */
.headerTitleCol:nth-of-type(3) {
    top: 5px;
	right:48px;
}
/* 求 情報提供 */
.headerTitleCol:nth-of-type(4) {
    top: 5px;
	right:91px;
}


#pageTitle {
	font-family: 'M PLUS 1p', sans-serif;
	font-size:12px;
    color: #FFFFFF;
}

/* ページタイトル */
.pageTitleArea {
	display: flex;
	padding:0 10px 5px 5px;
}

.pageTitleBox {
	display: inline-block;
}

.pageSubTitle {
	display: flex;
	align-items: center;
	font-family: 'Montserrat';
	font-size	: 9px;
	font-weight: 600;
	color:#666;
}
.pageSubTitle:before {
	border-top: 3px solid #666;
	content: "";
	flex-grow: 1;
	margin-right: 0.1rem;
}
.pageSubTitle:after {
	border-top: 3px solid #666;
	content: "";
	flex-grow: 1;
	margin-left: 0.1rem;
}

.pageMainTitle {
	font-size: 24px;
	font-weight: bold;
	color:#444;
	line-height:22px;
}


/* フッター */
footer{
	width:100%;
	height:24px;
	bottom:0;
	font-size:14px;
	color:#fff;
	background: #333;
 	border-top: 2px solid #555;
	text-align:center;
}




#navi {
  position: relative;
	background: #FFFFFF;
	border-radius:4px;
	width :40px;
	height:40px;
	margin:0px;
	opacity: 1;
}

#naviOpenFrame {
	position: absolute;
	top :7px;
	left:5px;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#naviIcon span, #naviIcon span:before, #naviIcon span:after {
	position: absolute;
	height: 5px;/*線の太さ*/
	width: 30px;/*長さ*/
	border-radius: 2px;
	background: #CCCCCC;
	display: block;
	content: '';
	cursor: pointer;
}
#naviIcon span:before {
	top :10px;
}
#naviIcon span:after {
	top :20px;
}

/*アイコンのスペース*/
#naviIcon {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
}

/*チェックボックス等は非表示に*/
.naviNoDisp {
  display:none;
}

/*閉じる用の薄黒カバー*/
#navClose {
    display: none;/*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;/*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}

/*中身*/
#naviContent {
	position		: absolute;
    opacity:0;
	overflow: auto;
    top: 50px;
    left: 0;
    z-index: 9999;/*最前面に*/
    width: 100%;/*右側に隙間を作る*/
    background: #f00;/*背景色*/
/*    transform: translateX(-105%); *//*左に隠しておく*/
    text-align: center;
}

#naviChkbox input:checked ~ #naviContent {
    opacity:1;
	-webkit-transform: translateX(0%);
    transform: translateX(0%);/*中身を表示*/
}

.naviTitle {
	font-family: 'M PLUS 1p', sans-serif;
	font-size:20px;
    color: #000000;
}







/* ページ最上部遷移ボタン */
.pageTopBtn {
	position: fixed;
    bottom: 0%;
    right: 0%;
    display: block;
    margin-bottom: 136px;
}
.pageTopBtn:before{
    content:'';
    display:block;
    position:absolute;
    height:0;
    width:0;
    top:-3px;
    left:15px;
	border-top: 18px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 15px solid #fff;
	border-left: 10px solid transparent;
}

/* ページ最下部遷移ボタン */
.pageBottomBtn {
	position: fixed;
    bottom: 0%;
    right: 0%;
    display: block;
    margin-bottom: 30px;
}
.pageBottomBtn:before{
    content:'';
    display:block;
    position:absolute;
    height:0;
    width:0;
    top:17px;
    left:15px;
	border-top: 15px solid #fff;
	border-right: 10px solid transparent;
	border-bottom: 18px solid transparent;
	border-left: 10px solid transparent;
}

/* スケジュール絞り込みボタン */
.searchBtn {
	position: fixed;
    bottom: 0%;
    right: 0%;
    display: block;
    margin-bottom: 83px;
}
.searchBtn:before{
    content:'';
    display:block;
    position:absolute;
    height:23px;
    width:23px;
    top:6px;
    left:6px;
    border-radius:30px;
    border:4px solid #fff;
}
.searchBtn:after{
    content:'';
    display:block;
    position:absolute;
    height:18px;
    width:7px;
    top:28px;
    left:33px;
    background:#fff;
    border-radius:10px;
    transform:rotate(-45deg);
    -webkit-transform:rotate(-45deg);
    -o-transform:rotate(-45deg);
}

/* 祝日色 */
.holidayColor {
	color:#933;
}

/* 土曜日色 */
.saturdayColor {
	color:#369;
}
