@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Playball');
@import url('https://fonts.googleapis.com/css?family=Parisienne');

body {
	min-width: 1000px;
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho",  Century, "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3", "Hiragino Mincho ProN" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 16px;
	color: #333333;
	line-height: 2;
	background: url(../img/bg.png) left top repeat;
	-webkit-text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;
}
#container{
	padding-top: 113px;
	opacity: 0;
	position: relative;
	transition: all 0.75s linear;
}
#container.loaded{
	opacity: 1;
}
.innerWrap{
	max-width: 1280px;
	min-width: 1000px;
	margin: 0 auto;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.loading{
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	text-align: center;
	background: rgba(255,255,255,0.9);
	z-index: 9999;
}
.loading img{
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin-top: -25px;
}
img{
	-webkit-backface-visibility: hidden;
}
a{
	color: rgba(51,51,51,1);
}
a:hover{
	color: rgba(51,51,51,0.6);
	transition: all 0.15s linear;
}
a:hover img,
.ro:hover{
	opacity:0.8;
	transition: all 0.15s linear;
}
.ro:hover img,
.ro a:hover,
.ro a:hover img{
	transition: none;
	opacity: 1;
}
.spCont{
	display:none;
}
#spMenuOverlay,
#spMenu{
	display: none;
}
.butterfly{
	display:none !important;
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/* commons */
.bold,strong{font-weight: bold;}
.tac{text-align: center;}
.tal{text-align: left;}
.tar{text-align: right;}
.f_left{float:left;}
.f_right{float:right;}
.clear{clear:both;}

/*font-family*/
.playball{ font-family: 'Playball', Century, serif;}
.times{ font-family: 'Times New Roman', Century, serif;}
.parisienne{ font-family: 'Parisienne', Century, serif;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
header{
	min-width: 1000px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: auto;
	overflow: hidden;
	line-height: 1;
	padding: 30px 40px;
	background: #ffffff;
	z-index: 5000;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
header h1{
	float: left;
	margin-top:-8px;
}
header nav{
	float: right;
}
/*------------------------------
gNav
------------------------------*/
header nav .gNav{
	float: left;
	margin-right: 10px;
}
header nav .gNav li{
	float: left;
	text-align: center;
	padding: 0 30px;
	position: relative;
	transition: all 0.25s linear;
}
header nav .gNav li:after{
	content: "";
	display: block;
	width: 1px;
	height: 50px;
	background: #cccccc;
	position: absolute;
	right: 0;
	top: -1px;
	-webkit-transform : rotate(15deg) ;
	transform:rotate(15deg);
}
header nav .gNav li:last-child:after{
	display: none;
}
header nav .gNav li span{
	font-size: 26px;
	letter-spacing: 0.02em;
}
header nav .gNav li small{
	display: block;
	font-size: 13px;
	color: #787878;
	margin-top: 7px;
}
header nav .gNav li span .ja{
	display:inline-block;
	margin-left: 4px;
	font-size:15px;
}
@media screen and (max-width: 1100px){
	header nav .gNav li{
		padding: 0 20px;
	}
}
/*------------------------------
contact
------------------------------*/
header nav .contact{
	float: left;
	width: 160px;
	margin-top: -5px;
}
header nav .contact .tel,
footer .addressTel .tel{
	font-size: 22px;
	letter-spacing: 0.03em;
	padding-left: 22px;
	background: url(../img/ico_tel.png) left top no-repeat;
	-webkit-background-size: auto 20px;
	background-size: auto 20px;
}
header nav .contact .mail{
	margin-top: 6px;
}
header nav .contact .mail a{
	display: block;
	color: #ffffff;
	letter-spacing: 0.03em;
	text-align: center;
	padding: 7px 10px 7px 15px;
	background: #c21818 url(../img/ico_mail.png) 20px center no-repeat;
	-webkit-background-size: auto 12px;
	background-size: auto 12px;
	border-radius: 50px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*------------------------------
access
------------------------------*/
.access{
	padding-top: 75px;
}
.access .map{
	margin-top: 22px;
	position: relative;
}
.access .map .link{
	position: absolute;
	top: -54px;
	right: 50px;
	padding-right: 20px;
	background: url(../img/ico_arrow01.png) right 9px no-repeat;
	-webkit-background-size: auto 12px;
	background-size: auto 12px;
}
.access #map_area{
	height: 400px;
}
/*------------------------------
sns
------------------------------*/
.sns{
	padding: 60px 0;
	background: #f5f5f5;
}
.sns .innerWrap{
    overflow: hidden;
}
.sns .facebook{
	width: 500px;
	float: left;
}
.sns .bnrs{
	padding-left: 540px;
}
.sns .bnrs > ul > li{
	text-align: center;
	border: 2px solid #e5e5e5;
	margin-bottom: 20px;
	background: #fff url(../img/ico_arrow01.png) 97% 87% no-repeat;
	-webkit-background-size: auto 16px;
	background-size: auto 16px;
}
.sns .bnrs > ul > li:last-child{
	margin-bottom: 0;
	padding: 32px 0 24px;
	background: #fff;
}
.sns .bnrs > ul > li > a{
	display: block;
	padding: 33px 0 30px;
}
.sns .bnrs > ul > li > ul{
	font-size: 0;
	margin-top: 15px;
}
.sns .bnrs > ul > li > ul > li{
	display: inline-block;
	margin: 0 5px;
}
/*------------------------------
footer
------------------------------*/
footer{
	color: #666666;
	padding: 50px 40px;
	position: relative;
}
footer .logo{
	float: left;
}
footer .addressTel{
	float: left;
}
footer .addressTel{
	margin-top: -9px;
	margin-left: 35px;
}
footer .addressTel .tel{
	font-size: 28px;
	line-height: 1;
	color: #333;
	padding-left: 24px;
	-webkit-background-size: auto 24px;
	background-size: auto 24px;
}
footer .copyright{
	float: right;
	line-height: 48px;
}
/* pageTop */
footer .pageTop,
footer .hotpepper{
	opacity: 0;
	width: 120px;
	height: 120px;
	display: table;
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 1000;
	transition: opacity 0.25s linear;
}
footer .pageTop.active,
footer .hotpepper.active{
	opacity: 1;
}
footer .pageTop.stop,
footer .hotpepper.stop{
	position: absolute;
	bottom: 191px;
}
footer .pageTop a,
footer .hotpepper a{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	background: #fff;
	border: 1px solid #dedede;
	border-radius: 50%;
	box-shadow: 0 0 5px rgba(0,0,0,0.15);
}
footer .pageTop a p,
footer .hotpepper a p{
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0.03em;
	margin-top: 10px;
}
footer .hotpepper{
	bottom: 170px;
}
footer .hotpepper.stop{
	bottom: 321px;
}
footer .hotpepper a{
	background: #8f3356;
	border: none;
}
footer .hotpepper a p{
	color: #fff;
	font-size: 15px;
	margin-top: 15px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■contents
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*------------------------------
#mainImg
------------------------------*/
#mainImg{
	display: table;
	width: 100%;
	height: 220px;
	background: center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	margin-bottom:45px;
}
#mainImg .innerWrap{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	padding-top:18px;
	background: url(../img/lace_top.png) center top repeat-x;
	-webkit-background-size: auto 28px;
	background-size: auto 28px;
}
/*------------------------------
hd
------------------------------*/
/* hd01 */
.hd01{
	text-align: center;
}
.hd01 h2{
	display: inline-block;
	line-height: 1;
	text-align: center;
}
.hd01 span{
	display: block;
	font-size: 56px;
	letter-spacing: 0.06em;
	margin-bottom: 10px;
}
.hd01 small{
	font-size: 18px;
}
.hd01 small.ja{
	font-size:28px;
	font-weight:bold;
	margin-left: 8px;
}
.hd01 span:before,
.hd01 span:after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 30px;
	height: 22px;
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: 30px 22px;
	background-size: 30px 22px;
}
.hd01 span:before{
	left: -30px;
	background-image: url(../img/ribbon_left.png);
}
.hd01 span:after{
	right: -30px;
	background-image: url(../img/ribbon_right.png);
}
/* hd02 */
.hd02{
	text-align: center;
	font-size:24px;
	margin-bottom:25px;
}
.hd02 span:before,
.hd02 span:after{
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	-webkit-background-size: 15px 15px;
	background-size: 15px 15px;
	width:15px;
	height:15px;
}
.hd02 span:before{
	background-image: url(../img/ico_point01.png);
	background-position: left center;
	padding-left:20px;
}
.hd02 span:after{
	background-image: url(../img/ico_point01.png);
	background-position: right center;
	padding-right:20px;
}
.hd02.white{
	color: #ffffff;
	background: #333;
}
.hd02.white span:before{
	background-image: url(../img/ico_point02.png);
	background-position: left center;
	padding-left:20px;
}
.hd02.white span:after{
	background-image: url(../img/ico_point02.png);
	background-position: right center;
	padding-right:20px;
}

/*------------------------------
btn
------------------------------*/
.btn{
	text-align: center;
}
.btn a{
	display: inline-block;
	min-width: 300px;
	border: 1px solid #333;
	border-radius: 50px;
	font-size: 20px;
	padding: 7px 50px;
	background: url(../img/ico_arrow01.png) 94% center no-repeat;
	-webkit-background-size: auto 12px;
	background-size: auto 12px;
}
.btn02{
	text-align: center;
}
.btn02 a{
	display: inline-block;
	min-width: 300px;
	border-radius: 50px;
	font-size: 20px;
	padding: 8px 50px;
	background: url(../img/ico_arrow02.png) 94% center no-repeat #8f3356;
	-webkit-background-size: auto 12px;
	background-size: auto 12px;
	color:#fff;
}

/*------------------------------
note
------------------------------*/
.note{
	font-size: 14px;
	margin-top: 10px;
}

/*------------------------------
fukidashi
------------------------------*/
.fukidashi{
	line-height: 1;
}
.fukidashi:before,
.fukidashi:after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 2px;
	height: 1.25em;
	margin-top: -10px;
	background: #333;
}
.fukidashi:before{
	margin-right: 30px;
	-webkit-transform : rotate(-15deg) ;
	transform:rotate(-15deg);
}
.fukidashi:after{
	margin-left: 30px;
	-webkit-transform : rotate(15deg) ;
	transform:rotate(15deg);
}

/*------------------------------
list_box
------------------------------*/
.list_box li.box{
	background:#fff;
}
.list_box li.box:nth-of-type(2n+1){
	background:#f5f4ec;
}
.list_box li.box .ttl{
	font-size:32px;
}

/*------------------------------
butterfly
------------------------------*/
.butterfly span{
	position: absolute;
	overflow: hidden;
}
.butterfly .right{
	right: 0;
}
.butterfly .left{
	left: 0;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　system
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.system{
	padding: 75px 0 80px;
	border-bottom: 1px solid #ccc;
}
.system .copy{
	text-align: center;
	font-size: 32px;
	margin-top: 35px;
}
.system .copy:after{
	margin-left: 19px;
}
.system ul.price{
	height: auto;
	overflow: hidden;
	margin-top: 45px;
	
	text-align:center;
}
.system ul.price li{
	width: 49.21875%;
	float: left;
	text-align: center;
	font-size: 24px;
	line-height: 1;
	margin-right: 1.5625%;
	padding: 25px 0 16px 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	
	float:none;
	display:inline-block;
}
.system ul.price li:last-child{
	margin-right: 0;
}
.system ul.price li .price{
	margin-top: 10px;
}
.system ul.price li .price span{
	font-size: 56px;
	font-style: italic;
	margin-right: 8px;
}
.system .btn{
	margin-top: 8px;
}
.system ul.price + .note{
	text-align:center;
}
/* basic */
.system ul.price li.basic{
	color: #d61d1d;
	border: 2px solid #d61d1d;
}
/* vip */
.system ul.price li.vip{
	color: #ffffff;
	background: #a9944e;
	background: -moz-linear-gradient(-45deg, #a9944e 0%, #9b8942 30%, #b7a763 67%, #9c8a43 100%);
	background: -webkit-linear-gradient(-45deg, #a9944e 0%,#9b8942 30%,#b7a763 67%,#9c8a43 100%);
	background: linear-gradient(135deg, #a9944e 0%,#9b8942 30%,#b7a763 67%,#9c8a43 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a9944e', endColorstr='#9c8a43',GradientType=1 );
}
/* other */
.system .other{
	margin-top: 30px;
	margin-bottom: 50px;
}
.system .hd02{
	margin-bottom: 0;
}
.system ul.anchor{
	width: 100%;
	display: table;
	table-layout: fixed;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
}
.system ul.anchor li{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.system ul.anchor li a,
.system ul.anchor li .wrap{
	display: block;
	font-size: 18px;
	line-height: 1.4;
	padding: 185px 0 35px;
	background: url(../img/ico_arrow01.png) 95% 94% no-repeat;
	-webkit-background-size: auto 16px;
	background-size: auto 16px;
}
.system ul.anchor li .wrap{
	background: none;
}
.system ul.anchor li a strong,
.system ul.anchor li .wrap strong{
	display: block;
	font-size: 22px;
	color: #d61d1d;
}
.system ul.anchor li:nth-child(1){
	background: url(../img/index/system_ico01.png) center 40px no-repeat;
}
.system ul.anchor li:nth-child(2){
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	background: url(../img/index/system_ico04.png) center 40px no-repeat;
}
.system ul.anchor li:nth-child(3){
	background: url(../img/index/system_ico05.png) center 40px no-repeat;
}