@charset "utf-8";
/* CSS Document */

/********************************

 common

********************************/
* {
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
body {
	position: relative;
	font-family: Yu Gothic, YuGothic,'游ゴシック体','游ゴシック','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	min-width: calc(100vw - 120px);
	border-top: none;
	font-size: 18px;
	color: #262626;
	line-height: 3rem;
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	z-index: 0;
}
dd {
	margin: 0;
}
li {
	list-style: none;
}
img {
	border-style: none;
	max-width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
	display: inline-block;
	vertical-align: middle;
}
a:hover {
	/* opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)"; */
	transition: all .8s;
}
a:hover img {
	max-width: 100%;
	height: auto;/*opacity: 0.8;
  	filter: alpha(opacity=80);
		-ms-filter: "alpha(opacity=80)";
		-webkit-transition: opacity 0.5s ease-out;
		-moz-transition: opacity 0.5s ease-out;
		-ms-transition: opacity 0.5s ease-out;
  	transition: opacity 0.5s ease-out;*/
}
.sp {
	display: none!important;
}
.pc {
	display: block!important;
}
.body_contents {
	margin: 0 auto;
}
.instxt {
	display: none;
}
.js-animation {
	opacity: 0;
	visibility: hidden;
	transform: translateY(40px);
	transition: all 1s;
}
.js-animation.is-show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}
.pagetop {
	width: 12px;
	position: fixed;
	bottom: 60px;
	right: 60px;
}
.pagetop a {
	opacity: 1;
}
.share {
	position: fixed;
	top: 250px;
	right: 60px;
	height: 100px;
}
.share li:nth-child(2){
	position: fixed;
	top: 325px;
	right: 55px;
}
.share li:last-child{
	margin: 0;
	position: fixed;
	top: 365px;
	right: 60px;
	width: auto;
}
.share li:nth-child(2) img,
.share li:last-child img{
	width: auto;
	height: 20px;
}
.share a {
	opacity: 1;
}

.wf-sawarabimincho {
	font-family: "Sawarabi Mincho";
	transform: rotate(0.05deg);
}
.howtoentry {
	display: block;
	margin-top:-140px;
	padding-top: 140px;
}

.entryBtn {
	display: inline-block;
	margin: 0;
	background: #175b2c;
	padding: 7px 30px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}

@media screen and (max-width:640px) {
	.entryBtn {
			margin: 60px 0 0;
	}
}


@media screen and (max-width:640px) {
	html {
		font-size: 3.2vw;
		overflow-x: hidden;
	}
	body {
		font-family: Yu Gothic, YuGothic,'游ゴシック体','游ゴシック','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
		min-width: 100%;
		width: 100%;
		font-size: 1.4rem;
		font-size: 3.8vw;
		overflow-x: hidden;
		text-align: center;
		position: relative;
		margin: 0;
		padding: 0;
		line-height: 2rem;
	}
	html.android body {
		max-height: 999999px;
		-webkit-text-size-adjust: 100%;
		font-size: 1rem;
	}
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
	*:focus {
		outline: none;
	}
	dd {
		margin: 0;
		line-height: 2rem;
		max-height: 999999px;
		-webkit-text-size-adjust: 100%;
	}
	ul {
		padding: 0;
	}
	li {
		list-style: none;
	}
	.body_contents {
		width: 100%;
		margin: 0 auto;
		font-size: 1.1rem;
	}
	img {
		width: 100%;
		height: auto;
		-ms-interpolation-mode: bicubic;
		display: inline-block;
		vertical-align: middle;
	}
	a {
		color: #175b2c;
	}
	a:hover {
		color: #339966!important;
	}
	a:hover img {
	/*opacity: 0.8;
	filter: alpha(opacity=80);
		-ms-filter: "alpha(opacity=80)";
		-webkit-transition: opacity 0.5s ease-out;
		-moz-transition: opacity 0.5s ease-out;
		-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;*/
	}



	.howtoentry {
		display: block;
		margin-top:-120px;
		padding-top: 120px;
	}
	.instxt {
		display: none;
	}
	.pagetop {
		position: fixed;
		bottom: 3%;
		right: 3%;
	}
	.fs14 {
		font-size: 1.2rem;
	}
	.share {
		position: fixed;
		top: 30%;
		right: 3%;
		height: 65px;
	}
	.share li:nth-child(2){
		position: fixed;
		top: 40%;
		right: 2%;
	}
	.share li:last-child{
		margin: 0;
		position: fixed;
		top: 45%;
		right: 3.5%;
	}
	.share li:first-child img{
		width: auto;
		height: 45px;
	}
	.share li:nth-child(2) img,
	.share li:last-child img{
		width: auto;
		height: 16px;
	}
	.share a {
		opacity: 1;
	}

}
/********************************

 header

********************************/

header {
	position: fixed;
	top: 0;
	display: flex;
	z-index: 100;
	background: rgba(255,255,255,.8);
	padding: 10px;
	height: 100px;
	width: 100%;
	justify-content: space-between;

}
#header {
	width: 100%;
}
header .logo_entry .logo {
	width: 202px;
	margin: 5px;
}


.logo_entry {
	width: calc(100% - 80px);
	display: flex;
	justify-content: space-between;
}
.logo_entry .entryBtn {
	display: block;
	margin: 5px;
	background: #175b2c;
	padding: 15px;
	width: 150px;
	height: 60px;
	color: #fff;
	text-align: center;
	font-size: 20px;
	cursor: pointer;
}
.logo_entry .entryBtn:hover {
	opacity: .8;
}

header .logo_entry .logo_wrap {
	display: flex;
	justify-content: flex-start;
}
header .logo_entry .logo_wrap .logo {
	width: 202px;
	margin: 5px;
}

.h_navi {
	display: flex;
	width: calc(100% - 200px);
	/* justify-content: flex-start;
	align-items: flex-end; */
}
.h_navi_item {
	display: block;
	margin: 25px 5px 10px;
	font-size: 16px;
}
.h_navi_item a {
	color: #000000;
	text-decoration: none;
}
.h_navi_item a:hover {
	text-decoration: underline;
}
@media screen and (max-width:1020px) {
	.h_navi_item {
		font-size: 11px;
	}
}

@media screen and (max-width:900px) {
	header .logo_entry .logo_wrap .logo {
		width: 150px;
	}
	.h_navi {
		display: none;
	}
}
/* HAMBURGER */

.global-nav {
	position: fixed;
	right: -750px;
	/* top: -50px; */
	top: 0;
	width: 615px;
	height: 100vh;
	padding: 0 45px;
	background-color: #175b2c;
	color: #ffffff;
	transition: all .6s;
	z-index: 1000;
	overflow-y: auto;
}
.hamburger_wrap {
	position: fixed;
	top: 15px;
	right: 10px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	z-index: 10000;
	border: 1px solid #175b2c;
	background: #ffffff;
	/* border-radius: 50px; */
}
.hamburger {
	position: fixed;
	top: 22px;
	right: 3px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	z-index: 10000;
}
.global-nav__list {
	margin: 50px auto 30px;
	padding: 0;
	list-style: none;
}
.global-nav__item {
	text-align: left;
	padding: 0 14px;
}
.global-nav__item--em {
	font-weight: bold!important;
	font-size: 18px!important;
}
.global-nav__item a {
	display: block;
	padding: 10px 15px;
	text-decoration: none;
	color: #fff;
}
.global-nav__sub {
	padding-left: 10px;
}
.global-nav__sub .global-nav__item a {
	padding: 10px;
	font-weight: normal;
	font-size: 16px;
}

.global-nav__item a:hover {
	background-color: rgba(255,255,255,.2);
	transition: all .6s;
}
.hamburger__line {
	position: absolute;
	left: 11px;
	width: 25px;
	height: 2px;
	background-color: #175b2c;
	transition: all .6s;
}
.hamburger__line--1 {
	top: 14px;
}
.hamburger__line--2 {
	top: 22px;
}
.hamburger__line--3 {
	top: 30px;
}
.black-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: calc(100vw - 100px);
	height: 100vh;
	z-index: 999;
	background-color: #000;
	opacity: 0;
	visibility: hidden;
	transition: all .6s;
	cursor: pointer;
}
/* 表示された時用のCSS */
.nav-open .global-nav {
	right: -50px;
}
.nav-open .black-bg {
	opacity: .8;
	visibility: visible;
}
.nav-open .hamburger__line--1 {
	transform: rotate(45deg);
	top: 20px;
}
.nav-open .hamburger__line--2 {
	width: 0;
	left: 50%;
}
.nav-open .hamburger__line--3 {
	transform: rotate(-45deg);
	top: 20px;
}

.global-nav #entry_h_btn {
		width: 230px;
		border: 1px solid #fff;
		display: block;
		padding: 10px;
		color: #fff;
		font-size: 16px;
		margin: 20px 0;
		text-align: center;
}
.global-nav .entry_h_btn:hover {
		background: rgba(255,255,255,.5);
		text-decoration: none;
}

@media screen and (max-width:640px) {

	header {
		height: 75px;
	}
	header .uk-navbar-container {
		display: none;
	}
	/* UIkit end */
	header .logo_entry .logo {
		width: 150px;
		margin: 5px;
	}

	.logo_entry {
		width: calc(100% - 50px);
		display: flex;
		justify-content: space-between;
	}
	.logo_entry .entryBtn {
		display: block;
		margin: 5px;
		background: #175b2c;
		padding: 10px;
		width: 100px;
		height: 45px;
		color: #fff;
		text-align: center;
		font-size: 18px;
		cursor: pointer;
	}


	.global-nav {
		position: fixed;
		right: -100%;
		top: 0;
		width: 100%;
		height: 100vh;
		padding: 0;
		background-color: #175b2c;
		color: #ffffff;
		transition: all .6s;
		z-index: 1000;
		overflow: hidden;
	}
	.hamburger_wrap {
		position: fixed;
		top: 15px;
		right: 3%;
		width: 45px;
		height: 45px;
	}
	.hamburger {
		position: absolute;
		top: 0;
		left: 0;
		width: 45px;
		height: 45px;
		cursor: pointer;
		z-index: 10000;
	}
	.global-nav__list {
		margin: 5% auto;
		padding: 0;
		list-style: none;
	}
	.global-nav__item {
		text-align: left;
		padding: 0 14px;
	}
	.global-nav__item a {
		display: block;
		padding: 2%;
		text-decoration: none;
		color: #ffffff;
	}
	.global-nav__item a:hover {
		background-color: #eee;
		transition: all .6s;
	}
	.hamburger__line {
		position: absolute;
		left: 12px;
		width: 22px;
		height: 2px;
		background-color: #175b2c;
		transition: all .6s;
	}
	.hamburger__line--1 {
		top: 14px;
	}
	.hamburger__line--2 {
		top: 20px;
	}
	.hamburger__line--3 {
		top: 26px;
	}
	.black-bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 999;
		background-color: #000;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}
	.nav-open .global-nav {
		right: 0;
	}
	.nav-open .black-bg {
		opacity: .8;
		visibility: visible;
	}
	.nav-open .hamburger__line--1 {
		transform: rotate(45deg);
		top: 20px;
	}
	.nav-open .hamburger__line--2 {
		width: 0;
		left: 50%;
	}
	.nav-open .hamburger__line--3 {
		transform: rotate(-45deg);
		top: 20px;
	}
	/* gNav_button */

	.global-nav .button-2 {
		box-sizing: border-box;
		overflow: hidden;
		width: 85%;
		height: 55px;
		margin: 5% auto;
		padding: 0;
	}
	.global-nav .button-2 a {
		width: 85%;
		margin: 5% auto 0;
	}
	.global-nav .sns {
		width: 85%;
		margin: 0 auto;
	}
	.global-nav .sns li {
		display: inline-block;
		width: 50px;
		height: 50px;
		margin: 0 3%;
	}

	.global-nav .sns li a{
		display: inline-block;
		width: 50px;
		height: 50px;
		margin: 5% 5%;
		border-radius: 50px;
		background: #185e33;
	}

	.global-nav .sns li img {
		display: block;
		width: auto;
		height: 18px;
		margin: 16px auto 0;
	}

	.global-nav .tel{
		padding-left: 0;
	}

}
/********************************

  kv

********************************/

#ttlkv {
	width: 100%;
	margin: 100px 0 0 0;
	padding: 0;
	text-align: center;
}
#ttlkv img {
	width: 100%;
	max-width: 1680px;
	margin: 0 auto;
}
@media screen and (max-width: 640px) {
	#ttlkv {
		width: 100%;
		margin: 75px 0 0 0;
		/* position: relative; */
	}
}

/********************************

 リンクボタン（hoverで色が左からでてくるボタン）

********************************/
/* button */

.page_navi {
	width: 90%;
	margin: 50px auto 0;
  display: flex;
	justify-content: center;
}
.page_navi li {
		width: 24%;
		margin: .5%;
		max-width: 220px;
}
.navbtn {
	display: block;
	padding: 10px;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, #175b2c 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: all .2s ease 0s;
	text-decoration: none;
	border: 2px solid #175b2c;
	border-radius: 30px;
	text-align: center;
	color: #175b2c;
}
.navbtn:hover{
	cursor: pointer;
	background-position: -100% 0;
	color: #ffffff!important;
	text-decoration: none;
	opacity: 1;
}
.navbtn:hover:before{
  width: 100%;
}
@media screen and (max-width:640px) {
	.page_navi {
		width: 98%;
		margin: 20px auto 0;
	  flex-wrap: wrap;
		justify-content: space-around;
	}
	.page_navi li {
			width: 48%;
			margin: 5px 0;
	}
}

/********************************

  movie

********************************/
.movieW {
	width: 100%;
 	aspect-ratio: 16 / 9;
}

.movieW iframe {
	width: 100%;
	height: 100%;
}




/********************************

 footer

********************************/

footer {
	margin: 0 auto;
	color: #222222;
	font-size: 14px;
	border-top: 50px solid #ffffff;
}

footer .sns {
	display: inline-block;
	width: 175px;
	vertical-align: middle;
	margin-top: 5px;
}

footer .sns li {
	display: inline-block;
	width: 45px;
}

footer .sns li img {
	display: block;
	width: auto;
	height: 20px;
	margin: 0 auto;
}

footer p {
	text-align: center;
	margin: 0;
	padding: 0 0 15px 0;
}

footer .logo {
	display: block;
	margin: 15px auto;
	border-top: 1px solid #222222;
}

footer .logo img {
	display: block;
	width: 150px;
	margin: 30px auto 15px;
}

footer span img {
	padding: 0 0 0 10px;
}
/* UIkit */

footer .uk-navbar-container {
	display: block;
	width: 750px;
	height: 50px;
	margin: 0 auto;
}

footer .uk-navbar-nav>li>a {
	font-size: 14px;
	color: #222222;
	transform: rotate(0.05deg);
	vertical-align: middle;
	display: inline-block;
}

footer .uk-navbar-container:not(.uk-navbar-transparent) {
	width: 570px;
	background: none;
}

/* UIkit end */

@media screen and (max-width:768px) {
	footer {
		margin: 0 auto;
		color: #222222;
		font-size: 14px;
		border-top: 50px solid #ffffff;
	}

	footer .sns {
		display: inline-block;
		width: 175px;
		vertical-align: middle;
		margin-top: 5px;
	}

	footer .sns li {
		display: inline-block;
		width: 45px;
	}

	footer .sns li img {
		display: block;
		width: auto;
		height: 20px;
		margin: 0 auto;
	}

	footer p {
		text-align: center;
		margin: 0;
		padding: 0 0 15px 0;
	}

	footer .logo {
		display: block;
		margin: 15px auto;
		border-top: 1px solid #222222;
	}

	footer .logo img {
		display: block;
		width: 150px;
		margin: 30px auto 15px;
	}

	footer span img {
		padding: 0 0 0 10px;
	}
	/* UIkit */

	footer .uk-navbar-container {
		display: block;
		width: 750px;
		height: 50px;
		margin: 0 auto;
	}

	footer .uk-navbar-nav>li>a {
		font-size: 14px;
		color: #222222;
		vertical-align: middle;
		display: inline-block;
	}

	footer .uk-navbar-container:not(.uk-navbar-transparent) {
		width: 570px;
		background: none;
	}

	/* UIkit end */

	.uk-sticky{
		width: 100%;
		margin: 0 auto;
		position: static!important;
	}
}


@media screen and (max-width:640px) {
	footer {
		width: 100%;
		margin: 0 auto;
		color: #222222;
		font-size: 14px;
		border: none;
		background-color: #f9f9f9;
		text-align: left;
	}

	footer .nav_area {
		width: 95%;
		margin: 0 auto;
		overflow: hidden;
	}

	footer .nav_area a {
		color: #222222;
	}

	footer .nav01 {
		width: 45%;
		margin: 5% 5%;

		float: left;
	}

	footer .nav01 ul li {
		display: inline-block;
		width: 100%;
		padding: 0;
	}

	footer .nav01 ul li a span {
		display: inline-block;
		width: 6%;
		padding-left: 3%;
	}

	footer .nav02 {
		width: 45%;
		margin: 5% auto;
		float: left;
	}

	footer .nav02 ul li {
		display: inline-block;
		width: 100%;
		margin: -15% auto 0;
		padding: 0;
	}

	footer .nav02 ul li a {
		display: inline-block;
		width: 100%;
		padding: 0;
	}

	footer .sns {
		display: block;
		width: 35%;
		margin: 0 auto;
		float: none;
		padding-top: 30px;
	}

	footer .sns li {
		display: inline-block;
		width: 30%;
	}

	footer .sns li img {

		display: block;

		width: auto;
		height: 18px;
		margin: 0 auto;
	}

	footer p {
		text-align: center;
		margin: 0;
		padding: 0 0 15px 0;
	}

	footer .logo {
		display: block;
		margin: 5% auto 0;
		border-top: 1px solid #222222;
	}

	footer .logo img {
		width: 30%;
		margin: 5% auto 2%;
	}

	footer span img {
		padding: 0 0 0 2%;
	}

	footer .link {
		overflow: hidden;
		width: 100%;
		margin: 0;
	}

	footer .link a{
		float: left;
		width: 50%;
		padding: 5% 0;
		background: #f4f4f4;
	}

	footer .link a:last-child{
		background: #eaeaea;
	}

	footer .link li img{
		display: block;
		width: auto;
		height: 18px;
		margin: 0 auto;
	}
}
