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


#logo {
	position: absolute;
	top: 0;
	left: 0;
	width:450px;
	height:auto;
}

/* ------------------------ パソコン ------------------------ */
@media only screen and (min-width:768px){


	body {
			background: none;
		}

	#main_visual , #statement , #contents , footer{
		transform: translate3d(0, 0, 1px);
	}

	#logo , article{
		transform: translate3d(0, 0, 2px);
		z-index:100;
	}

	#entry{
		transform: translate3d(0, 0, 3px);
		z-index:200;
	}

	body::before {
			content: "";
			display: block;
			position: fixed;
			top: 0;
			left: 0;
			transform: translate3d(0, 0, -1px);
			width: 100%;
			height: 120vh;
			background: url(../img/bg.jpg) center/cover no-repeat;
			-webkit-background-size: cover;
	}

	#main_visual {
		position: relative;
		overflow: hidden;
		padding: 130px 0 350px 0;
		margin-top:-40px;
	}

	#main_visual:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 120%;
		height: 80%;
		margin: 3% -10% 0;
		background-image: url(../img/main-visual-bg.jpg);
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		-webkit-transform-origin: left center;
		-ms-transform-origin: left center;
		transform-origin: left center;
		-webkit-transform: rotate(-7deg);
		-ms-transform: rotate(-7deg);
		transform: rotate(-7deg);
		z-index: -1;
	}

}


@media all and (-ms-high-contrast: none){

body{
	height: 100%;
	margin: 0 auto;
	background-image: url(../img/bg.jpg);
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

body::before {
	display:none;
}

}


#main_visual .box {
	width: 830px;
	margin: 0 auto;
	text-align:center;
	position:relative;
	
}

#main_visual .box h2 img{
	position:absolute;
	top:0;
	left:0;
}

#main_visual .box img{
	width:100%;
	height:auto;
}

#statement{
	margin:-140px 0 -40px 0;
}

#statement h3{
	font-size:28px;
	letter-spacing: 1px;
	color:#FFFFFF;
	font-weight:bold;
	text-shadow:1px 1px 2px #000000,2px 2px 2px #000000;
	margin-bottom: 30px;
}
#statement p{
	font-size:17px;
	letter-spacing: 1px;
	color:#FFFFFF;
	font-weight:bold;
	text-shadow:1px 1px 2px #000000,2px 2px 2px #000000;
}


/* ------------------------ パソコン ------------------------ */
@media only screen and (min-width:768px){

	#contents{
		position: relative;
		overflow: hidden;
		padding: 250px 0 400px 0;
	}

	#contents:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 120%;
		height: 80%;
		margin: 3% -10% 0;
		background: #FFFFFF; /* Old browsers */

		-webkit-transform-origin: left center;
		-ms-transform-origin: left center;
		transform-origin: left center;
		-webkit-transform: rotate(7deg);
		-ms-transform: rotate(7deg);
		transform: rotate(7deg);
		z-index: -1;
	}

}

#contents .inner{
	position:relative;
}

h3.p01 , .attractiveness h3{
	text-align:center;
	font-size:17px;
	font-weight:bold;
	margin:40px 0 60px 0;
}

h3.p01 img , .attractiveness h3 img{
	width:600px;
	height:auto;
	margin-bottom:15px;
}

.attractiveness .image{
	position:relative;
	margin-bottom:40px;
}

.attractiveness .image img{
	width:100%;
	height:auto;
}

.attractiveness .image .change{
	position:absolute;
	top:0;
	left:0;
}

.attractiveness .image .changeAnime{
	opacity:0;
}

.attractiveness .h_box{
	float:left;
	width:47%;
	color:#0071ba;
}

.attractiveness .h_box h4{
	font-size:23px;
	font-weight:bold;
	margin-bottom:7px;
	letter-spacing: 3px;
}

.attractiveness .h_box h5{
	font-size:27px;
	letter-spacing: 3px;
	line-height:1.7;
	background-image:url(../img/attractiveness_h_bg.jpg);
	background-position:top left;
	background-repeat:no-repeat;
	background-size:209px auto;
	padding:20px 25px;
}

.attractiveness .t_box{
	float:left;
	width:53%;
}

.attractiveness .t_box p{
	font-size:18px;
	margin-top:15px;
	letter-spacing: 2px;
}

.attractiveness .t_box div{
	margin-top:30px;
}

.attractiveness .t_box div a{
	border: 1px solid #0071ba;
	color:#0071ba;
	padding:7px 20px;
	transition: 0.6s ;
	display:inline-block;
}

.attractiveness .t_box div a:hover{
	color:#FFFFFF;
	background-color:#0071ba;
}

.button{
	text-align:center;
	margin-bottom:50px;
}


.button a {
  display: inline-block;
  height: 54px;
  text-align: center;
  text-decoration: none;
  outline: none;
  position: relative;
  z-index: 2;
  background-color: #0071ba;
  border: 2px solid #0071ba;
  color: #fff;
  line-height: 50px;
  padding:0 30px;
  font-size:17px;
  font-weight:bold;
}


.button a::before,
.button a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button a,
.button a::before,
.button a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.button a:hover {
  background-color: #fff;
  border-color: #0071ba;
  color: #0071ba;
}
.button a::before,
.button a::after {
  left: 0;
  width: 100%;
  height: 50%;
  background-color: #0071ba;
}
.button a::before {
  top: 0;
}
.button a::after {
  bottom: 0;
}
.button a:hover::before,
.button a:hover::after {
  height: 0;
  background-color: #0071ba;
}

#entry{
	position:fixed;
	bottom: 0;
	z-index:100;
	text-align:center;
	width: 100%;
	min-width: 320px;
}

#entry:before{
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	transition:0.5s;
	background: linear-gradient(#0e86c7, #005b95);
}
 
#entry:after{
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	z-index:-2;
	top:0;
	left:0;
	background: linear-gradient(#eb8f20, #d35e00);
}
 
#entry:hover:before{
	opacity:0;
}

#entry.end:hover:before{
	opacity:1;
}

#entry a{
	display:block;
	width: 100%;
	padding:25px;
}

#entry a img{
	width:450px;
	height:auto;
	vertical-align: middle;
}

.entry_button02{
	text-align:center;
	margin-bottom:70px;
	transition: 0.6s ;
}

.entry_button02:hover{
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

.entry_button02 a{
	display:inline-block;
	padding:25px 60px;
	background: linear-gradient(#0e86c7, #005b95);
}

.entry_button02.end{
	margin-bottom:20px;
}

.entry_button02.end:hover{
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.entry_button02 img{
	width:500px;
	height:auto;
	vertical-align: middle;
}

.end_entry{
	margin-bottom:40px;
	text-align:center;
	font-size:18px;
	font-weight:bold;
	color:#FF0004;
}

.end_entry a{
	color:#FF0004;
}

.end_entry u{
	font-weight:bold;
}

.comment{
	border:2px solid #0071ba;
	padding:20px 40px;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

#main_visual {
	display:none;
}

#statement{
	margin: -130px 0 0 0;
	padding:130px 0 0 0;
	background-image: url(../img/bg.jpg);
	background-position: center right;
	background-size: cover;
	background-repeat: no-repeat;
}

#statement h3{
	font-size:19px;
	margin-bottom: 20px;
}

#statement p{
	font-size:16px;
	margin-bottom: 30px;
}

.entry_button01{
	margin:10px 0 30px 0;
	text-align:center;
}

.entry_button01 a{
	padding:25px 0;
}

.entry_button01 img{
	width:80%;
	height:auto;
}

h3.p01 , .attractiveness h3{
	text-align:center;
	font-size:15px;
	margin:0 0 30px 0;
}

h3.p01 img , .attractiveness h3 img{
	width:100%;
	margin-bottom:15px;
}

.attractiveness .image{
	margin-bottom:30px;
}

.attractiveness .h_box{
	width:100%;
}

.attractiveness .h_box h4{
	font-size:15px;
	margin-bottom:7px;
	letter-spacing: 3px;
}

.attractiveness .h_box h5{
	font-size:18px;
	letter-spacing: 3px;
	line-height:1.7;
	background-size:209px auto;
	padding:20px 25px;
}

.attractiveness .t_box{
	width:100%;
}

.attractiveness .t_box p{
	font-size:15px;
	margin-top:15px;
	letter-spacing: 2px;
}

.attractiveness .t_box div{
	margin-top:20px;
	text-align:center;
}

.button{
	margin-bottom:50px;
}


.button a {
  height: 54px;
  line-height: 50px;
  padding:0 30px;
  font-size:15px;
  font-weight:bold;
}

#entry{
	text-align:center;
	width: 100%;
}

#entry a{
	padding:15px;
}

#entry a img{
	width:90%;
}

.entry_button02{
	margin-bottom:30px;
}

.entry_button02 a{
	padding:25px 0;
}

.entry_button02 img{
	width:80%;
	height:auto;
}

.end_entry{
	margin-bottom:30px;
	font-size:15px;
}

.comment{
	padding:20px;
}

}

.text-rink{
	text-align: center;
}
.text-rink a{
	font-size: 18px;
	color: #0071ba;
	font-weight: bold;
	text-decoration: underline;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	.text-rink a{
		font-size: 16px;
	}

}