@charset "utf-8";

/*  Typo
----------------------------------------------- */
* { margin: 0; padding: 0; }

body { line-height: 1.5 !important; }

td, p, ul, ol { line-height: 1.5 !important; } 

img { border: 0; vertical-align: top; }

ul, ol { list-style: none; }

a { text-decoration: underline; }
	
a:hover { text-decoration: none; }

a:hover img {
	filter: alpha(opacity=25);
	-moz-opacity: 0.25;
	opacity: 0.25;
	}

@media only screen and (max-width: 1024px) {
	.hover { text-decoration: none; }

	.hover img {
		filter: alpha(opacity=25);
		-moz-opacity: 0.25;
		opacity: 0.25;
		}
	}

/*  Layout
----------------------------------------------- */
#header .headinfo,
#container,
#footer .footinfo,
#footer .gutter {
	width: 95%;
	max-width: 960px;
	margin: 0 auto;
	}

#header {
	width: 100%;
	padding: 10px 0;
	background: #fff;
	background: -webkit-linear-gradient(top,  #69bcea 0%,#c9e8f9 20%,#fff 40%);
	background: linear-gradient(to bottom,  #69bcea 0%,#c9e8f9 20%,#fff 40%);
	}
	
#container { padding: 20px 0; }
	
#sidebar { display: none; }

#footer {
	padding: 20px 0 20%;
	background: #d5edfa;
	background: -webkit-linear-gradient(left,  #d5edfa 0%,#fffafc 50%,#d5edfa 100%);
	background: linear-gradient(to right,  #d5edfa 0%,#fffafc 50%,#d5edfa 100%);
	}
	
@media only screen and (min-width: 640px) {
	#footer { padding: 20px 0 15%; }
	}
	
@media only screen and (min-width: 768px) {
	#container {
		display: -moz-box;
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: stretch;
		-ms-align-items: stretch;
		align-items: stretch;
		padding: 0;
		}
		
	#sidebar {
		display: block;
		width: 200px;
		padding: 20px;
		box-sizing: border-box;
		background: #eeeeef;
		}
	
	#content {
		width: calc(100% - 200px);
		padding: 20px;
		box-sizing: border-box;
		}
	}
	
@media only screen and (min-width: 1024px) {
	#footer { padding: 20px 0; }
	}

/*  Header
----------------------------------------------- */
#header .headinfo .club {
	width: 100%;
	max-width: 400px;
	min-height: 57px;
	margin: 0 auto 10px;
	padding: 0 0 0 50px;
	font-size: 4vw;
	text-align: center;
	font-family: "ヒラギノ丸ゴ Pro W4", "Hiragino maru Gothic Pro", "HGMaruGothicMPRO","Verdana","Osaka",sans-serif;
	box-sizing: border-box;
	background: url(https://u.jimcdn.com/cms/o/s451ccc1bee6cdf30/userlayout/img/img-logo.png?t=1494466207) no-repeat left center;
	background-size: 50px auto;
	}
	
#header .headinfo .club strong {
	display: block;
	margin: 3px 0;
	font-size: 6vw;
	color: #0081c8;
	}
	
#header .headinfo .lead {
	font-size: 12px;
	text-align: center;
	}

@media only screen and (min-width: 426px) {
	#header .headinfo .club { font-size: 18px; }
	#header .headinfo .club strong { font-size: 24px; }
}

@media only screen and (min-width: 640px) {
	#header .headinfo {
		display: -moz-box;
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		}

	#header .headinfo .club { margin: 0; }
	
	#header .headinfo .lead {
		width: calc(100% - 420px);
		text-align: left;
		}
	}
	
.cycle-slideshow { display: none; }

.cc-page-index .cycle-slideshow {
	display: block;
	width: 95%;
	max-width: 960px;
	margin: 0 auto;
	}

.cc-page-index .cycle-slideshow img {
	width: 100%;
	height: auto;
	}
	
.cc-page-index .cycle-slideshow img.pc { display: none; }

@media only screen and (min-width: 1024px) {
	.cc-page-index .cycle-slideshow {
		width: 100%;
		max-width: initial;
		}
	.cc-page-index .cycle-slideshow img.sp { display: none; }
	.cc-page-index .cycle-slideshow img.pc { display: block; }
	}

/*  Footer
----------------------------------------------- */
#footer .footinfo { padding: 0 0 30px; }
	
#footer .footinfo .footarea {
	width: 100%;
	margin: 0 0 10px;
	}

#footer .footinfo .footarea .club {
	width: 100%;
	max-width: 450px;
	height: 78px;
	padding: 0 0 0 75px;
	text-align: center;
	font-family: "ヒラギノ丸ゴ Pro W4", "Hiragino maru Gothic Pro", "HGMaruGothicMPRO","Verdana","Osaka",sans-serif;
	box-sizing: border-box;
	background: url(https://u.jimcdn.com/cms/o/s451ccc1bee6cdf30/userlayout/img/img-logo.png?t=1494466207) no-repeat left center;
	background-size: 70px auto;
	}
	
#footer .footinfo .footarea .club strong {
	display: block;
	font-size: 5.5vw;
	}
	
#footer .footinfo .footarea .address { font-size: 12px; }
	
#footer .footinfo .footarea .address strong {
	display: block;
	color: #0061ae;
	font-size: 16px;
	}

@media only screen and (min-width: 426px) {
	#footer .footinfo .footarea .club strong { font-size: 24px; }
}
	
@media only screen and (min-width: 1024px) {
	#footer .footinfo {
		display: -moz-box;
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		padding: 0 0 30px;
		}
	
	#footer .footinfo .footarea { width: 450px; }
	}

/*  Head Navigation
----------------------------------------------- */
#navigation { display: none; }

@media only screen and (min-width: 1024px) {
	#navigation {
		display: block;
		width: 100%;
		padding: 10px 0;
		background: #036eb8;
		}
		
	#navigation ul.cc-nav-level-0 {
		*zoom: 1; /*forIE6,7*/
		display: -moz-box;
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: row wrap;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		width: 95%;
		max-width: 960px;
		margin: 0 auto;
		}

	#navigation ul.cc-nav-level-0 li {
		*zoom: 1; /*forIE6,7*/
		white-space: nowrap;
		}

	#navigation ul.cc-nav-level-0 li a {
		display: block;
		padding: 0 10px;
		color: #fff !important;
		}
	
	#navigation ul.cc-nav-level-0 li a:hover { color: #b79903 !important; }
		
	#navigation ul.cc-nav-level-0 li a:hover:before {
		content: "\0025b6";
		color: #b79903;
		}

	#navigation ul.cc-nav-level-0 li ul {
		visibility: hidden;
		position: absolute;
		z-index: 300000 !important;
		margin: 0;
		}

	#navigation ul.cc-nav-level-0 li:hover > ul { visibility: visible; }

	#navigation ul.cc-nav-level-0 li ul li {
		position: relative;
		clear: left;
		width: auto !important;
		margin: 0;
		padding: 0;
		line-height: normal;
		}
		
	#navigation ul.cc-nav-level-0 li ul li+li { border-top: 1px solid #fff; }

	#navigation ul.cc-nav-level-0 li ul li ul {
		top: 0;
		left: 100%;
		}

	* html #navigation ul.cc-nav-level-0 li a { /*forIE6*/
		zoom: 1;
		}
		
	#navigation ul.cc-nav-level-1 li,#navigation ul.cc-nav-level-2 li { font-size: 14px !important; }

	#navigation ul.cc-nav-level-1 a,#navigation ul.cc-nav-level-2 a {
		filter: alpha(opacity=9) !important;
		-ms-filter: "alpha(opacity=90)" !important;
		-moz-opacity: 0.9 !important;
		-khtml-opacity: 0.9 !important;
		opacity: 0.9 !important;
		display: block;
		width: 250px;
		padding: 5px 10px !important;
		text-align: center;
		text-decoration: none !important;
		background: #32556d !important;
		}

	#navigation ul.cc-nav-level-1 a:hover,#navigation ul.cc-nav-level-2 a:hover {
		color: #213949 !important;
		text-decoration: none !important;
		}
	}

/*  Foot Navigation
----------------------------------------------- */	
#footer .footinfo .footmenu {
	z-index: 10000;
	position: fixed;
	bottom: 0;
	width: 100%;
	background: #036eb8;
	}
	
#footer .footinfo .footmenu ul { margin: 0; }

#footer .spmenu {
	position: fixed;
	bottom: 0;
	display: -moz-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
	background: #036eb8;
	}
	
#footer .spmenu li { width: 23%; }
		
#footer .spmenu li+li { border-left: 1px solid #fff; }

#footer .spmenu li img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	}
		
#footer .spmenu li.toggle {
	cursor: pointer;
	display: block;
	padding: 10px 0;
	}
		
#footer .spmenu li a {
	display: block;
	width: 100%;
	padding: 10px 0;
	}

#footer .footinfo .footmenu ul.cc-nav-level-0 {
	position: fixed;
	bottom: 10%;
	display: none;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 100%;
	}
	
#footer .footinfo .footmenu ul li { font-size: 16px !important; }
	
#footer .footinfo .footmenu ul.cc-nav-level-0 li+li { border-top: 1px solid #fff; }
	
#footer .footinfo .footmenu ul.cc-nav-level-0 li a {
	display: block;
	width: 100%;
	padding: 5px 10px;
	color: #fff;
	text-decoration: none !important;
	box-sizing: border-box;
	background: #32556d;
	}

#footer .footinfo .footmenu ul.cc-nav-level-0 li .hover { background: #6597b8; }
		
#footer .footinfo .footmenu ul.cc-nav-level-0 li ul {
	visibility: visible;
	position: static;
	}
		
#footer .footinfo .footmenu ul.cc-nav-level-0 li ul li a { padding: 5px 10px 5px 30px; }
	
.j-textWithImage figure { z-index: 0 !important; }

@media only screen and (min-width: 480px) {	
	#footer .footinfo .footmenu ul.cc-nav-level-0 { bottom: 13%; }
	}

@media only screen and (min-width: 640px) {	
	#footer .spmenu li img {
		width: 100%;
		max-width: 130px;
		height: auto;
		}
	}	

@media only screen and (min-width: 1024px) {
	#footer .footinfo .footmenu {
		position: static;
		width: calc(100% - 320px);
		background: none;
		}
		
	#footer .spmenu { display: none; }
		
	#footer .footinfo .footmenu ul.cc-nav-level-0 {
		*zoom: 1; /*forIE6,7*/
		position: static;
		display: -moz-box;
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: row wrap;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		width: 95%;
		max-width: 960px;
		margin: 0 auto;
		}

	#footer .footinfo .footmenu ul.cc-nav-level-0 li {
		*zoom: 1; /*forIE6,7*/
		white-space: nowrap;
		margin: 7px 0;
		padding: 0 10px;
		line-height: 1;
		}
		
	#footer .footinfo .footmenu ul.cc-nav-level-0 li:first-child,
	#footer .footinfo .footmenu ul.cc-nav-level-0 li+li {
		border-top: none;
		border-right: 1px solid #fff;
		}

	#footer .footinfo .footmenu ul.cc-nav-level-0 li a {
		display: inline;
		padding: 0;
		color: #6b7a99 !important;
		text-decoration: underline !important;
		background: none;
		}
	
	#footer .footinfo .footmenu ul.cc-nav-level-0 li a:hover { text-decoration: none !important; }

	#footer .footinfo .footmenu ul.cc-nav-level-0 li ul { display: none; }
	}

/*  Page
----------------------------------------------- */
#content h1 {
	width: 100%;
	margin: 0 0 5px;
	padding: 5px 10px;
	box-sizing: border-box;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	background: #0059a9;
	background: -webkit-linear-gradient(left,  #0059a9 0%,#0085c9 50%,#68c3ef 100%);
	background: linear-gradient(to right,  #0059a9 0%,#0085c9 50%,#68c3ef 100%);
	}
	
#content h2 {
	width: 100%;
	margin: 0 0 5px;
	padding: 5px 10px;
	box-sizing: border-box;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	background: #2a82c5;
	}

#content h3 {
	width: 100%;
	margin: 0 0 5px;
	padding: 5px 10px;
	box-sizing: border-box;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	background: #ec7995;
	}
	
#content table.timetable {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #a5a5a6;
	border-collapse: collapse;
	}
	
#content table.timetable th,
#content table.timetable td {
	padding: 5px;
	border: 1px solid #a5a5a6;
	border-collapse: collapse;
	}

#content table.timetable th {
	font-size: 16px;
	font-weight: normal;
	background: #bce3f8;
	}
	
#content table.timetable td {
	font-size: 12px;
	font-weight: bold;
	}

#content table.timetable td.day {
	vertical-align: middle;
	font-size: 16px;
	font-weight: normal;
	background: #fff47a;
	}

@media only screen and (max-width: 479px) {
	.j-textWithImage .cc-imagewrapper {
		float: none;
		margin: 0 auto;
		}

	#cc-inner .j-textWithImage p { margin: 12px 0 0; }

	.cc-imagewrapper img {
		display: block;
		margin: 0 auto;
		}

	.cc-m-hgrid-column.last {
		float: none;
		width: 100% !important;
		}

	.cc-m-hgrid-column {
		float: none;
		width: 100% !important;
		}
	}