@charset "UTF-8";
/* CSS Document */

body{
	position: relative;
	font-family: a-otf-gothic-bbb-pr6n,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 400;
	font-style: normal;
	-webkit-text-size-adjust: 100%;
	color: #4c4948;
}

/*フェードイン*/
.fadeInWrapTop{
	position: relative;
	transition-duration:1.0s;
	opacity: 0;
	bottom: -50px;
}

.fadeInWrapTop.active{
	opacity: 1;
	bottom: 0;
}

.fadeInWrapBegin{
	position: relative;
	transition-duration:1.0s;
	opacity: 0;
	bottom: -50px;
}

.fadeInWrapBegin.active{
	opacity: 1;
	bottom: 0;
}

.fadeInWrapRight{
	position: relative;
	transition-duration:1.0s;
	opacity: 0;
	right: -50px;
}

.fadeInWrapRight.active{
	opacity: 1;
	right: 0;
}

.fadeInWrapLeft{
	position: relative;
	transition-duration:1.0s;
	opacity: 0;
	left: -50px;
}

.fadeInWrapLeft.active{
	opacity: 1;
	left: 0;
}


svg {
  height: 100px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

header img{
	width: 100%;
	height: 100%;
}

header .contentsSP{
	display: none;
	position: relative;
}

header h1{
	width: 230px;
	margin: 30px auto 0;
}

header .iconWrap.secret {
	display: none;
}

header#slider {
    width: 100%;
    height: 700px;
	text-align: center;
	position: relative;
}

#menuBlock{
	display: none;
}

footer{
	position: relative;
	padding: 50px 0;
	height: 800px;
	background-color: #DDD;
	box-sizing: border-box;
	text-align: center;
	background-image: url(../img/common/bg_footer.jpg);
	background-size: cover;
	background-position: top;
}

footer.type01 {
	position: relative;
	padding: 0;
	height: 70px;
	background-color:inherit;
	background-image:none;
	z-index: 10;
}

footer .contents:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 250px;
	background-image: url(../img/common/border_footer.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	top: -200px;
	margin: auto;
	left: 0;
	right: 0;
	z-index: -1;
	pointer-events: none;
}

footer.type01 .contents:before {
	content: "";
	z-index: 100;
}

footer .inner{
	width: 1200px;
	margin: auto;
	z-index: 100;
	position: relative;
}

footer .contents{
	width: 100%;
	position: fixed;
	bottom:0;
	background-color: #FFF;
	padding: 10px 0;
	box-sizing: border-box;
	text-align: right;
	z-index: 100;
	line-height: 1.2em;
}

footer .contents .gnav{
	width: 50%;
	float: left;
}

footer .contents .gnav li{
	position: relative;
	float: left;
	font-size: 12px;
	margin-right: 50px;
}

footer .contents .gnav li:nth-child(1){
	bottom: 60px;
	transform: rotate(8deg);
}

footer .contents .gnav li:nth-child(2){
	bottom: 50px;
	transform: rotate(5deg);
}

footer .contents .gnav li:nth-child(3){
	bottom: 40px;
	transform: rotate(4deg);
}

footer .contents .gnav li:nth-child(4){
	bottom: 30px;
	transform: rotate(2deg);
}

footer .contents .gnav li:nth-child(5){
	bottom: 20px;
	margin-right: 0;
}


footer .contents .gnav li a{
	display: inline-block;
}

footer .contents .copy{
	display: inline-block;
	float: right;
	font-size: 12px;
}

.tel{
	pointer-events: none;
	cursor: default;
}

/*ページトップボタン　ここから*/
footer #pageTopBtn{
	position: fixed;
	bottom: 60px;
	right: 20px;
	z-index:100;
}

footer #pageTopBtn .btnWrap {
	display: block;
	position: relative;
	background-color: #fcee5e;
	border-radius: 100px;
	width: 120px;
	height: 120px;
	z-index: 999;
	text-decoration: none;
	text-align: center;
	padding: 35px 10px;
	box-sizing: border-box;
	font-weight: bold;
	line-height: 1.2em;
}

footer #pageTopBtn .btnWrap:before{
	content: "Why?";
	position: absolute;
	top:10px;
	left:0;
	right:0;
	margin: auto;
	font-size: 17px;
	font-family: house-script, sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 1px;	
}

footer #pageTopBtn .btnWrap:hover{
	opacity:0.8;
}

footer.type01 #pageTopBtn .btnWrap {
	width: 50px;
	height: 50px;
	padding: 12px 10px;
	font-size: 20px;
}

footer.type01 #pageTopBtn .btnWrap:before{
	content: none;
}

footer #pageTopBtn .btnWrap02 {
	display: block;
	position: relative;
	background-color: #fcee5e;
	border-radius: 100px;
	width: 50px;
	height: 50px;
	z-index: 999;
	text-decoration: none;
	text-align: center;
	padding: 15px 10px;
	box-sizing: border-box;
	font-weight: bold;
	line-height: 1.2em;
	top: 0;
	left: 70px;
}

.tel{
	pointer-events: none !important;
	cursor: default !important;
}

/*改行クラス（PC）*/
.breakLinePC{
	display:block;
}

/*改行クラス（SP）*/
.breakLineSP{
	display:inline;
}

.noLink{
	pointer-events: none;
	cursor: default;
}

/*画面サイズが1400px以下の場合*/
@media screen and (max-width: 1400px) {
	header#slider {
		height: 500px;
	}
}

/*画面サイズが1200px以下の場合*/
@media screen and (max-width: 1200px) {
	footer{
		height: 500px;
	}
	
	footer .inner{
		width: auto;
		padding: 0 20px;
	}
}

/*画面サイズが1000px以下の場合*/
@media screen and (max-width: 1000px) {
	
	footer .contents:before {
		content: "";
		height: 250px;
		top: -220px;
	}
	
	footer .contents .gnav li{
		font-size: 12px;
		margin-right: 20px;
	}
	
}

/*画面サイズが680px以下の場合*/
@media screen and (max-width: 680px) {
	header .contentsSP h1{
		width: 40%;
		margin: 0 auto;
		top: 0;
		opacity: 1.0;
	}
	
	header .vegas-wrapper>h1{
		display: none;
	}
	
	header .contentsSP{
		display: block;
		width: 100%;
		background-color: #FFF;
		position: fixed;
		padding: 10px 20px;
		box-sizing: border-box;
		z-index: 100;
		top: 0;
	}
	
	header .contentsSP .inner{
		position: relative;
		width: 100%;
		padding: 10px 20px;
		box-sizing: border-box;
	}
	
	
	header #menuBtn {
		display: block;
		padding: 10px 20px;
		box-sizing: border-box;
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		width: 40px;
		height: 40px;
		margin: auto;
	}
	
	header #menuBtn{
	  display: inline-block;
	}
	
	header #menuBtn:after{
		content: "";
		position:absolute;
		width: 40px;
		height: 40px;
		top:0;
		bottom:0;
		right:0;
		margin: auto;
	}
	
	#menuBlock{
		display: block;
	}	
	
	header #menuBtn,
	header #menuBtn span {
	  display: inline-block;
	  transition: all .4s;
	  box-sizing: border-box;
	}
	
	
	header #menuBtn.open {
		z-index: 1100;
	}
	
	header #menuBlock {
		position: absolute;
		overflow-y: scroll;
		display: block;
		top: -100vh !important;
		right: 0;
		left: 0;
		height: 100vh;
		width: auto;
		background-color: rgba(255,255,255,0.9);
		transition: all 0.7s ease-in-out;
		z-index: 1000;
		color: #000;
		margin: auto;
		padding: 40px 0;
		box-sizing: border-box;
		visibility:visible;
		opacity: 0;
	}
	
	header #menuBlock.open {
		opacity: 1;
		top: 0 !important;
	}
	
	header #menuBtn span {
	  position: absolute;
	  left: 0;
	  width: 100%;
	  height: 3px;
	  background-color: #000;
	}
	header #menuBtn span:nth-of-type(1) {
	  top: 0;
	}
	header #menuBtn span:nth-of-type(2) {
	  top: 13px;
	}
	header #menuBtn span:nth-of-type(3) {
	  top: 26px;
	}
	
	header #menuBtn.open span:nth-of-type(1) {
	  -webkit-transform: translateY(13px) rotate(-45deg);
	  transform: translateY(13px) rotate(-45deg);
	}
	header #menuBtn.open span:nth-of-type(2) {
	  opacity: 0;
	}
	header #menuBtn.open span:nth-of-type(3) {
	  -webkit-transform: translateY(-13px) rotate(45deg);
	  transform: translateY(-13px) rotate(45deg);
	}
	
	header #menuBtn:after{
		content: "";
		position:absolute;
		width: 40px;
		height: 40px;
		top:0;
		left:0;
		right:0;
	}

	header #menuBlock .gnav li{
		margin-bottom: 30px;
		font-size: 16px;
		letter-spacing: 1px;
	}
	
	footer{
		padding: 20px 0;
		height: 500px;
		background-size: cover;
	}
	
	footer .contents{
		position: absolute;
	}
	
	footer #pageTopBtn .btnWrap {
		border-radius: 100px;
		width: 100px;
		height: 100px;
		font-size: 12px;
		padding: 35px 10px;
	}
	
	footer .contents .gnav{
		width: 90%;
		float: none;
		margin: 0 auto 10px;
	}

	footer .contents .copy{
		display: block;
		float: none;
		text-align: center;
	}

	footer .contents .gnav li{
		width: 25%;
		text-align: center;
		margin-right: 0;
	}
	
	footer .contents .gnav{
		display: none;
	}
	
	/*改行クラス（SP）*/
	.breakLineSP{
		display:block;
	}
	
	/*改行クラス（PC）*/
	.breakLinePC{
		display:inline;
	}
	
	.noLink{
		pointer-events:auto;
		cursor:auto;
	}
	
	.tel{
		pointer-events: auto !important;
		cursor: auto !important;
	}
}


/*画面サイズが600px以下の場合*/
@media screen and (max-width: 600px) {
	header .contentsSP h1{
		width: 60%;
		margin: 0 auto;
	}
	
	footer{
		height: 400px;
	}
	
	footer #pageTopBtn {
		bottom: 50px;
	}
	
	footer .contents:before {
		content: "";
		height: 50px;
		top: -35px;
		background-size: cover;
		background-position: center;
	}
}

/*画面サイズが560px以下の場合*/
@media screen and (max-width: 560px) {

}

/*画面サイズが480px以下の場合*/
@media screen and (max-width: 480px) {

}

/*画面サイズが400px以下の場合*/
@media screen and (max-width: 400px) {

}

/*回り込み解除クラス*/
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}