/* ==================================================================
    SP
================================================================== */
@media screen and (max-width:640px){

img
	{
	max-width: 100%;
	height: auto;
	width /***/:auto;
	}

header
	{
	background: rgba(255,255,255,0.95);
	padding-bottom: 3px;
	border-bottom: 1px solid #00b6e3;
	z-index: 100;
	}

/*--  logo  --*/
header #logo
	{
	float: left;
	margin-top: 5px;
	margin-left: 20px;
	margin-bottom: 5px;
	width: 60px;
	height: 59px;
	background: url('../img/logo.png') no-repeat;
	background-size: contain;
	}

header #logo a
	{
	display: block;
	width: 60px;
	height: 59px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	}

/*--  inquiry/facebook  --*/
#facebook,
#inquiry
	{
	position: absolute;
	float: none;
	margin-top: 20px;
	right: 80px;
	}

#facebook
	{
	margin-right: 50px;
	}

#facebook a,
#inquiry a
	{
	padding: 10px 0;
	width: 30px;
	height: 10px;
	border-radius: 15px;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-ms-border-radius: 15px;
	}

#facebook .icon-facebook:before,
#inquiry .icon-inquiry:before
	{
	margin-left: -10px;
	}

#facebook a span,
#inquiry a span
	{
	display: none;
	}

/*--  nav-toggle  --*/
#nav-toggle
	{
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 73px;
	height: 73px;
	cursor: pointer;
	z-index: 101;
	}

#nav-toggle div
	{
	position: relative;
	}

#nav-toggle span
	{
	display: block;
	position: absolute;
	height: 2px;
	margin-left: 23px;
	margin-top: 23px;
	width: 34px;
	background: #00b6e3;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	}

#nav-toggle span:nth-child(1)
	{
	top: 0;
	}
#nav-toggle span:nth-child(2)
	{
	top: 11px;
	}
#nav-toggle span:nth-child(3)
	{
	top: 22px;
	}


/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle
	{
	background: rgba(0,182,227,0.9);
	}

.open #nav-toggle span
	{
	background: #ffffff;
	}

.open #nav-toggle span:nth-child(1)
	{
	top: 11px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
	}

.open #nav-toggle span:nth-child(2)
	{
	width: 0;
	left: 50%;
	}
.open #nav-toggle span:nth-child(3)
	{
	top: 11px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
	}

/*--  gnav  --*/
#gnav
	{
	position: absolute;
	top: 73px;
	right: -640px;
	width: 100%;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	box-shadow:0px 3px 7px -3px #039abf;
	-moz-box-shadow:0px 3px 7px -3px #039abf;
	-webkit-box-shadow:0px 3px 7px -3px #039abf;
	}

#gnav ul
	{
	list-style: none;
	position: static;
	right: 0;
	bottom: 0;
	font-size: 16px;
	}

header.open #gnav
	{
	right: 0;
	}

header #gnav li
	{
	border-bottom: 1px solid #ffffff;
	background: rgba(0,182,227,0.9);
	}


header #gnav li:last-child
	{
	border-bottom: 0;
	}

header #gnav li a
	{
	display: block;
	padding: 15px;
	text-decoration: none;
	color: #ffffff;
	}

header #gnav li a span[class*="icon-"] + span
	{
	padding-left: 10px;
	}

#gnav li a:hover,
#gnav li a:active
	{
	background: rgba(20,115,189,0.7);
	}

/* gnav_close */
header #gnav li.gnav_close
	{
	display: block;
	position: relative;
	background: rgba(122, 229, 255, 0.9);
	padding: 10px;
	color: #585858;
	cursor: pointer;
	}

.gnav_close div span
	{
	display: block;
	position: absolute;
	height: 2px;
	margin-left: 20px;
	margin-top: 12px;
	width: 25px;
	background: #585858;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	}

.gnav_close div span:nth-child(1)
	{
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
	}

.gnav_close div span:nth-child(2)
	{
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
	}

.gnav_close div + span
	{
	padding-left: 50px;
	}

/*--  contents  --*/
.open + #gray_panel
	{
	display: block;
	width: 100vw;
	height: 9999px;
	background: rgba(230, 230, 250, 0.5);
	}

/*  footer --------------------------------------------------------*/
footer {
    padding: 0 0 22px 0;
}

footer li,
footer li:first-child
	{
	float: none;
	background: #00b6e3;
	padding: 0;
	}

footer a,
footer a:link,
footer a:hover,
footer a:visited,
footer a:active
	{
	font-size: 1.2em;
	padding: 20px;
	display: block;
	background: #00b6e3;
	border-bottom: 1px solid #fff;
	color: #fff;
	text-decoration: none;
	}


footer .inner div
	{
	width: 100%;
	}

footer .inner div p {
	text-align: center;
}


/*  gotop --------------------------------------------------------*/
#gotop
	{
	position: fixed;
	bottom: 100px;
	right: 30px;
	z-index: 20;
	}

/* ------------------------------------------------------------------
    top
------------------------------------------------------------------ */
#main
	{
	width: 100%;
	margin: 150px auto 30px auto;
	background: rgba(255,255,255,0.6);
	padding: 10px 0;
	}

#top h1,
#main p
	{
	    text-shadow: 0 0 10px rgba(10,10,10,1);
	}


#spSubstitute
	{
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-image: url(/img/top/rime2.jpg);
	}



/* ------------------------------------------------------------------
    lower
------------------------------------------------------------------ */
.lower #wrap
	{
	margin-top: 0;
	border-top: 1px solid #ffffff;
	}

.lower #contents
	{
	margin: 103px auto 0 auto;
	padding: 0 0 110px 0;
	}

.lower #wrap #contents .inner
	{
	width: 95%;
	}

/*  pnav --------------------------------------------------------*/
#pnav
	{
	margin: 0 5px 10px 5px;
	}

/*  Heading --------------------------------------------------------*/
/* == h1 == */
.lower h1
	{
	width: auto;
	padding: 50px 20px 50px 20px;
	margin-bottom: 50px;
	}

/* == h2 == */
.lower h2
	{
	margin: 30px 0 30px 0;
	}

/* == h3 == */
.lower h3
	{
	margin: 30px 0 20px 0;
		}

/*  forSP --------------------------------------------------------*/
.forSP
	{
	display: block;
	}



/*  level2_list --------------------------------------------------------*/
.lower .level2_list
	{
	padding: 50px 0;
	}

.lower .level2_list li
	{
	display: block;
	width: 100%;
	height: 10vh;
	margin: 0 0 2em 0;
	}

.level2_list a
	{
	width: 88%;
	height: 58%;
	}

/*  table --------------------------------------------------------*/
table
	{
	width: 100%;
	margin: 30px 0 20px 0;
	}

table thead
	{
	display: none;
	}

table tbody
	{
	display: block;
	}

table tbody tr
	{
	display: block;
	margin-bottom: 1.5em;
	}

table tbody th,
table tbody td
	{
	display: list-item;
	border: none;
	}

table tbody th
	{
	margin-bottom: 10px;
	list-style-type: none;
	background: #f1f1e8;
	border-bottom: 2px solid #9a0505;
	text-align: left;
	}

table tbody td
	{
	margin-left: 20px;
	padding: 0;
	}

/* == schedule == */
#schedule table tbody td:nth-of-type(1):before 
	{
	content: "[実施月日] ";
	}

#schedule table tbody td:nth-of-type(2):before 
	{
	content: "[場所] ";
	}

#schedule table tbody td:nth-of-type(3):before 
	{
	content: "[宿泊] ";
	}

#schedule table tbody td:nth-of-type(4):before 
	{
	content: "[費用] ";
	}

#schedule table tbody td:nth-of-type(5):before 
	{
	content: "[締め切り] ";
	}

#schedule table tbody td:nth-of-type(6):before 
	{
	content: "[募集人員] ";
	}


/* ------------------------------------------------------------------
    club
------------------------------------------------------------------ */
#club.level2 #contents
	{
	background: none;
	}

.introduction
	{
	margin-top: 30px;
	}

/* ------------------------------------------------------------------
    voice
------------------------------------------------------------------ */
/*  remark --------------------------------------------------------*/
#voice .td
	{
	display: block;
	width: 100%;
	}

#voice .td.width30per,
#voice .td.width60per
	{
	width: 100%;
	}

.remark
	{
	float: none;
	width: auto;
	margin-top: 30px;
	}

.remark:after,
.remark:before
	{
	right: 45%;
	top: 0;
	}


.remark:before
	{
	border-right-color: transparent;
	border-bottom-color: #00b6e3;
	margin-top: -58px;
	}

.remark:after
	{
	border-right-color: transparent;
	border-bottom-color: #effcff;
	border-width: 25px;
	margin-top: -49px;
	margin-right: 2px;
	}

.speaker
	{
	float: none;
	text-align: center;
	width: 100%;
	display: inline-block;
	}




}
/* == SP end == */
