/*
------------------

 .clearfix

------------------
*/
.clearfix {
	zoom:1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/*
------------------

 Lib.

------------------
*/
.btn:hover{
	opacity:0.75;
	cursor:pointer;
}
.fl{
	float:left;
}
.fr{
	float:right;
}
.round{
	border-radius: 2px;        /* CSS3草案 */
    -webkit-border-radius: 2px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 2px;   /* Firefox用 */
}
/* マウスオーバーでグロー効果 */
.hovergrow{}
.hovergrow:hover{
	-webkit-box-shadow: 0 0 10px 0 #01b7dc;
	-moz-box-shadow: 0 0 10px 0 #01b7dc;
	box-shadow: 0 0 10px 0 #01b7dc;
}
/* 三角つきリスト */
ul.sankaku li{ padding-left:15px; position:relative; }
ul.sankaku li:before{ display: block; content: ""; position: absolute; top: 0;left: 0;width: 0;height: 0; margin-top: 8px;margin-left: 2px;
	border-left: 4px solid #01b7dc;border-top: 2px solid transparent;border-bottom: 2px solid transparent;border-right: 4px solid transparent;}

.h2bg{
	background: -webkit-gradient(linear, left top, right bottom, color-stop(1, #000), color-stop(0.9, #01b7dc), color-stop(0.1, #01b7dc), color-stop(0.00, #000));
	background: -webkit-linear-gradient(left, #000 0%, #01b7dc 10%, #01b7dc 90%, #000 100%);
	background: -moz-linear-gradient(left, #000 0%, #01b7dc 10%, #01b7dc 90%, #000 100%);
	background: -o-linear-gradient(left, #000 0%, #01b7dc 10%, #01b7dc 90%, #000 100%);
	background: -ms-linear-gradient(left, #000 0%, #01b7dc 10%, #01b7dc 90%, #000 100%);
	background: linear-gradient(to right, #000 0%, #01b7dc 10%, #01b7dc 90%, #000 100%);
}
img.flex{ width:100%; height:auto;}

.forpc{ display:inherit; } .forsp{	display:none; } /* visible */

@media screen and (max-width: 640px) {

.forpc{ display:none; }	 .forsp{ display:inherit; }  /* visible */

}
/*
------------------

 basic

------------------
*/
html{
	overflow:auto;
	font-size:62.5%; /*10px*/
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	width:100%;
	height:100%;
}
body{
	/*background-color:#efefef;*/
	width:100%;
	height:100%;
	color:#4d4d4d;
	position:relative;
}
a{
	color:#09C;
}
div#wrapper{
	width:100%;
	height:auto;
	position:relative;
}
/*
------------------

 H E A D E R

------------------
*/
div#header{
	width:100%;
	margin:0 auto;
	top:0;
	z-index:999;
	position:relative;
	/*box-shadow:rgba(0,0,0,0.5) 0px 2px 9px;*/
}
div#reserve{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:60px;
	z-index:100;
	overflow:hidden;
}
img#btn-reserve{
	position:absolute;
	left:100%;
	width:153px;
	height:auto;
	margin-left:-173px;
	margin-top:-63px;
}
img#btn-reserve:hover{
	margin-top:0;
	cursor:pointer;
	margin-top:0;
}
img#btn-reserve-sp{
	display:none;
}
div#blackbar{
	width:100%;
	height:80px;
	text-align:center;
	z-index:99;
	/*background:#000 url(../assets/img/base/header_bg.png) repeat;*/
}
div#blackbar > a{

}
div#blackbar img#logo-header{
	width:150px;
	height:auto;
	margin:10px auto 0 auto;
	z-index:1000;
	display:none;
}
img#logo-header-pc{
	width: 100%;
}
#logo-header-pc-a{
	width: 125px;
	position: absolute;
	top: 12px;
	left: 30px;
	display:block;
	z-index:2000;
}
#nv-lang {
	position: absolute;
	top: 15px;
	right: 20px;
	width: 120px;
	min-height: 3.6em;
	font-size: 12px;
	line-height: 1;
	border-radius: 12px;
	overflow: hidden;
	z-index: 9999;
}
#nv-lang dt {
	padding: 5px 8px 5px 10px;
	width: 120px;
	background: #f1f1f1 url(../img/common/icon_language.png) 6px center no-repeat;
	background-size: 1em;
	border-radius: 12px;
	z-index: 100;
	cursor: pointer;
}
#nv-lang dt a {
	padding: 0 20px 0 20px;
	background: url(../img/common/icon_down.png) right center no-repeat;
	background-size: 0.75em;
	color: #a4a4a4;
	text-decoration: none;
}
#nv-lang.open dt a {
	background-image: url(../img/common/icon_up.png);
}
#nv-lang dd {
	padding: 30px 0 12px;
	width: 120px;
	background-color: #2a2a2a;
	background-color: rgba(233,233,233,1);
	border-radius: 0 0 12px 12px;
	z-index: 90;
	display: none;
}
#nv-lang dd ul li {
	padding: 8px;
	display: block;
	color: #a4a4a4;
}
#nv-lang dd ul li a {
	color: #00aed6;
	text-decoration: underline;
}
#nv-lang dd ul li a.dis {
	color: inherit;
	text-decoration: none;
	cursor: text;
}

@media screen and (min-width: 751px) {
	#nv-lang dt {
		position: absolute;
		box-sizing: border-box;
	}
	#nv-lang dt:hover {
		background-color: #d4d4d4;
	}
	#nv-lang dd ul li a:hover {
		color: #8fe3f7;
		text-decoration: none;
	}
	#nv-lang dd ul li a.dis:hover {
		color: inherit;
		text-decoration: none;
		cursor: text;
	}
}
@media screen and (max-width: 750px) {
	#nv-lang {
		top: 0;
		right: 0;
		width: 58px;
		min-height: 60px;
		font-size: 13px;
		line-height: 1;
		border-radius: 0 0 12px 12px;
		letter-spacing: 1px;
	}
	#nv-lang.open {
		width: 130px;
	}
	#nv-lang dt {
		position: absolute;
		right: 8px;
		border-radius: 0 0 12px 12px;
		padding: 10px;
		width: 30px;
		height: 38px;
		background: #cecece url(../img/common/icon_language-sp.png) center 8px no-repeat;
		background-size: 28px;
	}
	#nv-lang.open dt {
		background-color: #747474;
	}
	#nv-lang dt a {
		display: block;
		margin: 26px auto 0;
		padding: 0;
		width: 0.75em;
		height: 1em;
		background: url(../img/common/icon_down-sp.png) center bottom no-repeat;
		background-size: 0.75em;
		color: #e4e4e4;
		overflow: hidden;
		white-space: nowrap;
		text-indent: 100%;
	}
	#nv-lang.open dt a {
		background-image: url(../img/common/icon_up-sp.png);
	}
	#nv-lang dd {
		padding-top: 60px;
		width: 130px;
	}
	#nv-lang dd {
		font-size: 1.5em;
		font-weight: bold;
	}
	#nv-lang dd ul li {
		padding: 14px 8px;
	}
}


div#navline{
	width:100%;
	height:50px;
	/*background:#000 url(../img/common/nav-bg.jpg) top no-repeat;*/
	/*background:#616161;*/
	background:#000 url(../img/top/btn-reserve-bg.jpg) repeat;
	text-align:center;
}
ul#nav{
	width:960px;
	margin:0 auto;
}
ul#nav li{
	display: inline-block;
	position: relative;
	margin-left: 2.1%;
	height: 45px;
	line-height: 45px;
	overflow: hidden;
	color: #efefef;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 2px;
}
ul#nav li:before{
	display: block; content: ""; position: absolute;
	top: 38px;
	left: 50%;
	width: 0;
	height: 0;
	margin-top: -4px;
	margin-left: -2px;
	border-left: 4px solid transparent;
	border-top: 4px solid #efefef;
	border-bottom: 4px solid transparent;
	border-right: 4px solid transparent;
}
ul#nav li:hover:before{
	margin-top: -2px;
}
ul#nav li:hover{ opacity:0.5; cursor:pointer; }
ul#nav li img{
	width:auto;
	height:13px;
	margin-top:13px;
	overflow:auto;
}
img#icn-spmenu,
img#icn-spmenu-top,div#spmenu, div#spmenu-container { display:none; }
@media screen and (max-width: 1023px) {
	div#navline, img#btn-reserve{ display:none; }
	img#btn-reserve-sp{
	display: block;
	width: 60px;
	height: 45px;
	position: absolute;
	left: 100%;
	top: 2px;
	margin-left: -60px;
	}
	img#icn-spmenu,
	img#icn-spmenu-top {
		display: block;
		position: absolute;
		width: 48px;
		top: 6px;
		left: 5px;
		z-index: 1001;
		}
	img#icn-spmenu:hover,
	img#icn-spmenu-top:hover { cursor:pointer; }
	/* spmenu */
	div#spmenu{
		position:absolute;
		width:100%;
		min-width:320px;
		height:700px;
		top:60px;
		background:#fff;
	}

	div#spmenu-top {
		position:absolute;
		width:100%;
		min-width:80px;
		height:200px;
		top:75px;
		background:#000 url(../img/top/btn-reserve-bg.jpg) repeat-y;
		border-top:#01b7dc thin solid;
		border-bottom:#01b7dc thin solid;
	}
	
	div#spmenu-container{ width:100%; min-width:300px; z-index:1000; display:block;}
	ul#anchormenu{
		display:table;
		width:100%;
	}
	div#anchormenu-row{display:table-row-group;}
	ul#anchormenu a {
		font-size:11px;
		color:#333;
		text-decoration:none;
		display:table-cell;
		width: 25%;
		background-color:#fff;
	}
	ul#anchormenu li{
		display:block;
		height: auto;
		text-align: center;
		margin:1px;
		background-color: #f5f5f5;
		font-size:2.8vw;
		position:relative;
		font-weight: 700;
	}
	ul#anchormenu li > div{
		position:absolute;
		top:12%;
		left:0px;
		width:100%;
		text-align: center;
		color: #79868a;
	}
	ul#anchormenu li img{
		display: block;
		height: 100%;
		width: 100%;
		max-height: 60px;
		max-width: 60px;
		vertical-align: middle;
		margin: 0 auto;
		padding: 22px 0px 5px;
	}
	img#spmenu-btn-reserve{ width:100%; max-width:300px; height:auto; }
	div#spmenu-footer-wrapper{ text-align:center; }
	ul#spmenu-footer{ display:inline-block; }
	ul#spmenu-footer li{ float:left; background:url(../img/common/liarrow.png) no-repeat left; padding-left:10px; margin-right:20px;}
	ul#spmenu-footer a{ text-decoration:none; color:#fff; font-size:14px; line-height: 32px}
	img.spmenu-opened{ background:#dedede; border-radius: 5px; -webkit-border-radius: 5px;  -moz-border-radius: 5px;}

	div#blackbar{
		margin-top:0;
		height: 60px;
	}
	div#blackbar img#logo-header{
		width:100px;
		height:auto;
		margin:8px auto 0 auto;
		z-index:1000;
		display:inline;
	}
	img#logo-header-pc {
		display:none;
	}


}
@media screen and (min-width: 480px) {
	ul#anchormenu li{
		font-size:14px;
	}

}

div#spmenu-container-text {
	padding:0 10px;
}
div#spmenu-container-text ul{
	margin-top:8px;
}
div#spmenu-container-text ul > div{
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 4px;
	color: #808080;
	height:22px;
}
div#spmenu-container-text ul li{
	/*float:left;*/
	background:url(../img/common/liarrow.png) no-repeat left;
	padding-left:12px;
	margin-right:20px;
}
div#spmenu-container-text ul li a{
	font-size: 12px;
	color: #808080;
	text-decoration: none;
	line-height: 24px;
}
div#spmenu-container-text ul li a:hover{
	color:#808080;
	text-decoration:underline;
}
.swiper-logo {
	position: absolute;
	top: -97px;
	left: 20px;
	z-index: 100;
	background: url(/assets/img/base/bks.png) #20b8dd;
	width: 200px;
	text-align: center;
	border-radius: 10%;
	height: 200px;
}
.swiper-logo img {
	width: 150px;
	margin-top: 56%;
}
.swiper-menu {
	position: absolute;
	top: 10px;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 60px;
}
.swiper-menu ul {
	width: 570px;
	margin: 0 auto;
	text-align:center;
}
.swiper-menu ul li.menu {
	display: inline-block;
	overflow: hidden;
	color: #79868a;
	font-size: 11px;
	line-height: 11px;
	font-weight: bold;
	letter-spacing: 2px;
	text-align: center;
}
.swiper-menu ul li.sep {
	display: inline-block;
	overflow: hidden;
	color: #000;
	font-size: 12px;
	font-weight: bold;
	width:6px;
}
.swiper-menu ul li img {
	width: 40px;
}
@media screen and (max-width: 1023px) {
	.swiper-logo {
		display: none;
	}
	.swiper-menu {
		display: none;
	}
}

/*
------------------

 C O N T E N T S

------------------
*/
div#contents{
	width:100%;
}
div#container{
	width:100%;
	max-width:900px;
	margin:0 auto;
	font-size:140%;
}
@media screen and (max-width: 900px) {
	div#contents{  }
}
/*
------------------

 P A G E  T O P

------------------
*/
div#area-btntop{ position:fixed; z-index:999; top:100%; left:100%; margin-left:-100px; margin-top:-100px;}
div#btn-top-sp{ width:65px; height:65px; }
div#btn-top-sp img{ width:65px; height:65px; border-radius: 5px; -webkit-border-radius: 5px;  -moz-border-radius: 5px;}
@media screen and (max-width: 900px) {
	div#area-btntop{ position:inherit; top:0; left:0; margin:0; padding:20px 0; }
	div#btn-top-sp{
		background-color:#29abe2;
		width:90%;
		max-width: 640px;
		height:auto;
		margin:0 auto;
		text-align:center;
	}
}
/*
------------------

 F O O T E R

------------------
*/
div#footer{
	/* padding-top:30px; */
	width:100%;
	background-color:#fff;
}
div#footer-content-wrapper{
	width:100%;
	background-color:#ecf5f9;
}
div#footer-content{
	width:95%;
	max-width:960px;
	margin:0 auto;
	padding:9px 0;
	position:relative;
}
div#footer-logo img{
	width:209px;
	height:auto;
	margin-right:50px;
	margin-left:10px;
}
div#footer-content ul{
	margin-top:8px;
	width:200px;
	max-width:50%;
}
div#footer-content ul > div{
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 4px;
	color: #808080;
	height:22px;
}
div#footer-content ul li{
	/*float:left;*/
	background:url(../img/common/liarrow.png) no-repeat left;
	padding-left:12px;
	margin-right:20px;
}
div#footer-content ul li a{
	font-size: 12px;
	color: #808080;
	text-decoration: none;
	line-height: 24px;
}
div#footer-content ul li a:hover{
	color:#808080;
	text-decoration:underline;
}
div#footer-sns{
	position: relative;
	background-color: #fff;
	height: 51px;
	width: 172px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	margin-top: -20px;
	float: right;
	padding-top: 12px
}
div#footer-sns img#icn-tw, div#icn-line, div#footer-sns img#icn-fb, div#footer-sns img#icn-inst{
	width:40px; height:auto; float:left; margin-left:13px;
}
img#footer-tabshadow{
	position:absolute;
	top:100%;
	left:-11px;
	margin-top:-11px;
	width:11px;
	height:auto;
}
div#footer-bannam{
	margin:0 auto;
	width:100px;
	padding:30px 0 10px 0;
}
a#footer-banner-pic {
	display:inline-block;
	margin-top:10px;
}
a#footer-banner-pic img{
	width:160px;
}
div#projectican{
	text-align: right;
	/* max-width: 940px; */
	/* margin: 0px auto 0; */
	padding: 110px 0 0;
}
div#projectican img{
	width:150px;
	max-width:100%;
}
div#copyright{
	text-align: right;
	font-size: 12px;
	padding: 10px;
	max-width: 940px;
	margin: 0 auto;
	color: #454545;
}

@media screen and (max-width: 960px) {
	/* 640 - 960px */
	ul#nav{
		width:100%;
	}
	div#reserve{
		max-width:none;
		left:0;
		margin-left:0;
	}
	div#container{
		width:93.75%;
		margin:0 auto;
		font-size:140%;
	}
}

@media screen and (max-width: 640px) {
	/*  - 640px */
	body{
		background-image:none;
	}
	ul#nav{
		display:none;
	}
	div#reserve{
		max-width:none;
		left:0;
		margin-left:0;
	}
	div#container{
		width:93.75%;
		margin:0 auto;
		font-size:140%;
	}
}
@media screen and (max-width: 900px) {
	/*
	div#footer-content-wrapper{
		display:none;
	}
	*/
	div#footer-content{
		height:auto;
	}
	div#footer-logo{
		padding: 0 0 20px 0;
		width:100%;
	}
	div#footer-content ul{
		padding-top:60px;
	}
	div#footer-content ul li{
		float:none;
		background:url(../img/common/liarrow.png) no-repeat left;
		padding-left:10px;
	}
	div#footer-sns{
		position: absolute;
		top: 48px;
		left: 100%;
		margin-left: -172px;
		background-color: #fff;
		height: 51px;
		width: 172px;
		border-radius: 10px;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		margin-top: -60px;
		float: right;
		padding-top: 12px;
	}
	div#footer-content .sns-group:before {
		content: "";
		display: block;
		clear: both;
	}
	div#footer-content .sns-group{
		float:inherit;
		width:100%;
	}
	div#projectican {
		padding: 40px 0 10px;
	}
	a#footer-banner-pic {
		display:none;
	}

}



/*
------------------

 etc.

------------------
*/
.h2title {
	font-size: 30px;
	color: #858585;
}

div#etc-layoutbox h1{
	font-size:140%;
	max-width:640px;
	font-weight:bold;
	margin:30px auto 0 auto;
	color:#fff;
	padding:5px 30px;
	text-align:center;
	background:url(../img/common/h2-bg.jpg) center repeat-y;
	background-size: cover;
}
div#etc-layoutbox h2{
	font-size:120%;
	font-weight:bold;
	color:#01b7dc;
	margin-bottom:20px;
}

div#etc-layoutbox{
	margin-top:150px;
	color:#fff;
}
div#etc-layoutbox h2{ font-size:18px; font-weight:bold; }
div.etc-txtbox{
	margin-top:20px;
	padding:40px 0; text-align:center;
	background:#000 url(../img/top/btn-reserve-bg.jpg) repeat-y;
	background-size:cover;
}

/* reserve.css から移植 */

div#container h1{
	font-size:140%;
	max-width:640px;
	font-weight:bold;
	margin:30px auto 0 auto;
	color:#fff;
	padding:5px 30px;
	text-align:center;
	background:url(../img/common/h2-bg.jpg) center repeat-y;
	background-size: cover;
}
div#container h2{
	font-size:120%;
	font-weight:bold;
	color:#01b7dc;
	margin-bottom:20px;
}

.centerd{
	display: inline-block;
	/* vertical-align: middle; */
 	width: 90%;
}

div#container{ padding: 10px 0 60px 0; }/* override */

/* テキスト表示用コンテナ（最大横幅640px） */
div.text-container{
	font-size:100%;
	padding:30px;
	background-color:#fff;
	margin-top:10px;
	border:#efefef solid thin;
	box-shadow: rgba(113, 135, 164, 0.14902) 0px 0px 10px 0px;
	max-width:640px;
	margin:10px auto 0 auto;
}
div.text-container p, div.text-container ul{
	margin-bottom:15px;
}
div.text-container ul.numeric li{
	list-style:outside decimal;
	margin-left: 20px;
}
div.text-container ul li{
	margin-bottom:10px;
}
div.text-container ul li ul{
	margin-top:10px;
}
div.text-container ul li ul li{
	font-size: 12px;
	list-style: none !important;
	margin-left: 0!important;
	line-height:18px;
	margin-bottom: 5px;
}
div.text-container strong{
	color:#c00;
}
div.text-container p.caption{
	margin-top:30px;
	color:#808080;
	font-size:90%;
}

/* オレンジ色背景のボタン */
div.btn-standard{
	margin-top:30px;
	background-color:#f7931e;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #ffa220), color-stop(0.00, #f7931e));
	background: -webkit-linear-gradient(top, #f7931e 0%, #ffa220 88%);
	background: -moz-linear-gradient(top, #f7931e 0%, #ffa220 88%);
	background: -o-linear-gradient(top, #f7931e 0%, #ffa220 88%);
	background: -ms-linear-gradient(top, #f7931e 0%, #ffa220 88%);
	background: linear-gradient(to bottom, #f7931e 0%, #ffa220 88%);
	color:#fff;
	font-size:140%;
	text-align:center;
	height:40px;
	box-shadow: rgba(113, 135, 164, 0.14902) 0px 0px 10px 0px;
	font-weight:bold;
	border:#eeeff0;
}
div.btn-standard p{
	text-shadow: 0px 0px 5px rgba(241, 90, 36, 0.8);
}
div.btn-standard:hover{
	box-shadow: rgba(247, 147, 30, 1) 0px 0px 5px 0px;
	cursor:pointer;
}

/* グレー色背景のボタン */
div.btn-negative{
	margin-top:30px;
	background-color:#ccc;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #999), color-stop(0.00, #878787));
	background: -webkit-linear-gradient(top, #878787 0%, #999 88%);
	background: -moz-linear-gradient(top, #878787 0%, #999 88%);
	background: -o-linear-gradient(top, #878787 0%, #999 88%);
	background: -ms-linear-gradient(top, #878787 0%, #999 88%);
	background: linear-gradient(to bottom, #878787 0%, #999 88%);
	color:#fff;
	font-size:140%;
	text-align:center;
	height:40px;
	box-shadow: rgba(120, 120, 120, 0.14902) 0px 0px 10px 0px;
	font-weight:bold;
	border:#eeeff0;
}
div.btn-negative p{
	text-shadow: 0px 0px 5px rgba(50, 50, 50, 0.8);
}
div.btn-negative:hover{
	box-shadow: rgba(1, 183, 220, 1) 0px 0px 5px 0px;
	cursor:pointer;
}

/* 青色背景のボタン */
div.btn-blue{
	margin-top:30px;
	background-color:#01b7dc;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #01b7dc), color-stop(0.00, #29abe2));
	background: -webkit-linear-gradient(top, #29abe2 0%, #01b7dc 88%);
	background: -moz-linear-gradient(top, #29abe2 0%, #01b7dc 88%);
	background: -o-linear-gradient(top, #29abe2 0%, #01b7dc 88%);
	background: -ms-linear-gradient(top, #29abe2 0%, #01b7dc 88%);
	background: linear-gradient(to bottom, #29abe2 0%, #01b7dc 88%);
	color:#fff;
	font-size:140%;
	text-align:center;
	height:40px;
	box-shadow: rgba(113, 135, 164, 0.14902) 0px 0px 10px 0px;
	font-weight:bold;
	border:#eeeff0;
}
div.btn-blue p{
	text-shadow: 0px 0px 5px rgba(27, 112, 142, 0.8);
}
div.btn-blue:hover{
	box-shadow: rgba(41, 171, 26, 1) 0px 0px 5px 0px;
	cursor:pointer;
}

/* 横幅いっぱいに広がるボタン（テキスト上下センター） */
.widebtn{
	width:100%;
	text-align: center;
	height:300px;
 	max-width:480px;
	margin:0 auto;
}
.widebtn:before{
	content: '';
	display: inline-block;
 	height: 100%;
 	vertical-align: middle;
 	margin-right: -0.25em;
}