@charset "UTF-8";
/* Reset
------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}
address,em,strong,th {
	font-style: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th {
	text-align: left;
}

hr,legend {
	display: none;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}

img,fieldset {
	border: 0;
}

li {
	list-style-type: none;
}

img {
	vertical-align: top;
}

/*IE6*/
* html img{
	vertical-align: bottom;
}
/*IE7*/
*:first-child+html img{
	vertical-align: bottom;
}

img{
	width: 100%;
}

a{
	outline:none;
}

.ani_none,
.ani_none > *,
.ani_none:before,
.ani_none:after{
	transition:none !important;
	-webkit-transition:none !important;
	-moz-transition:none !important;
}

/* Fonts
------------------------------------------------------------*/
body {
	font-size: 75%;
	font-family: "Yu Mincho", "YuMincho", serif!important;
	-webkit-text-size-adjust: 100%;
	background:#FFFFFF;
	padding-bottom: 0 !important;
	letter-spacing: 1.5px;
}

.light{
	font-weight:300;
}
.reg{
	font-weight:400;
}
.mid{
	font-weight:500;
}
.bold{
	font-weight:700;
}

html>/**/body {
	font-size: 14px; /* Except IE */
}

/* clearfix
------------------------------------------------------------*/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

* html .clearfix { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */


/*------------ 初期設定 ------------*/
p {
	color: #000000;
	line-height: 1.7;
}

/*------------ 全体 ------------*/
html {
}

body {
	width:100%;
	overflow-x:hidden;
	/*padding-top:68px;*/
}

._hover{
	opacity:1;
	transition: all 0.4s;
}

._hover:hover{
	opacity:0.7;
}

.fade{
	opacity: 0;
}
.fade_in{
	opacity: 1.0 !important;
	transition: 2s;
}


/*------------ HEADER ------------*/
header{
	background:#FFFFFF;
	padding:30px;
	left:0;
	top:0;
	width:100%;
	z-index:3001;
}

header h1,
header .logo{
	width:122px;
	float:left;
}

header #navi{
	/*width:480px;*/
	width: 370px;
	float:right;
	padding-top:25px;
	position:relative;
	margin-right: 35px;
}

header ul li{
	display:inline-block;
}

header ul li a{
	font-size:15px;
	color:#010101;
	text-decoration:none;
	transition: all 0.4s;
	width:100%;
	display:block;
    position:relative;
}

header ul li a:hover,
header ul li a:active{
	color:#010101;
}

header ul li a:after{
	content:"";
	display:block;
	height:1px;
	width:0px;
	background:#010101;
	position:absolute;
	left:0;
	top:-2px;
	transition: all 0.4s;
}

header ul li a:before{
	content:"";
	display:block;
	height:1px;
	width:0px;
	background:#010101;
	position:absolute;
	right:0;
	bottom: -1px;
	transition: all 0.4s;
}

header ul li a:hover:before,
header ul li a:hover:after
{
	width:100%;
}

.sp{
	display:none;
}

.f12{
	font-size: 12px;
}

.yoyaku{
	position:fixed;
	right:0;
	top:130px;
	z-index:100;
	width:250px;
}

@media screen and (max-width: 768px) {

	.yoyaku{
		position:fixed;
		right:0;
		top:auto;
		bottom:5vw;
		z-index:100;
		width:40vw;
	}

	.sp{
		display:block;
	}

	.pc{
		display:none;
	}


	header{
	background:#FFFFFF;
	padding:15px;
	position:relative;
	left:0;
	top:0;
	width:100%;
	z-index:3001;
}

	header h1,
	header .logo{
		width:14vw;
		float:left;
	}

	header #navi{
		width:100%;
	}

	header #navi li{
		margin-right:0;
	}

	body ,
	html{
		width:100%;
		min-width:320px;
		overflow-x:hidden;
	}
	body{overflow: hidden;}
	#btn_menu{
		position:absolute;
		right:50px;
		top:50%;
		margin-top: -21px;
		width: 42px;
		height:42px;
		display:block;
		z-index:4001;
		cursor:pointer;
		background-color: #010101;
	}

	#btn_menu.active{
		position: fixed;
		top: 8.1vw;
    right: 5.3vw;
	}

	#btn_menu span {
		display: block;
		background: #FFFFFF;
		width: 24px;
		height: 2px;
		position: absolute;
		left: 9px;
		transition: all 0.4s;
		-webkit-transition: all 0.4s;
		-moz-transition: all 0.4s;
	}
	#btn_menu.active span {
		background: #FFFFFF;
	}
	#btn_menu span:first-child {
		top: 12px;
	}
	#btn_menu span:nth-child(2) {
		margin-top: -1px;
		top: 50%;
	}
	#btn_menu span:last-child {
		bottom: 12px;
	}
	#btn_menu.active span:first-child {
		-webkit-transform: translateY(8px) rotate(45deg);
		-moz-transform: translateY(8px) rotate(45deg);
		-ms-transform: translateY(8px) rotate(45deg);
		transform: translateY(8px) rotate(45deg);
	}
	#btn_menu.active span:nth-child(2) {
		opacity: 0;
	}
	#btn_menu.active span:last-child {
		-webkit-transform: translateY(-8px) rotate(-45deg);
		-moz-transform: translateY(-8px) rotate(-45deg);
		-ms-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}

	header #navi.active {
		transform: scale(1);
		opacity: 1;
		visibility: visible;
		position: fixed;
	}

	header #navi {
		float: none;
		margin-right: 0;
		padding-top: 0;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0,0,0,0.7);
		transform: scale(0.4);
		visibility: hidden;
		transition: all 0.3s linear;
		z-index:2000;
		opacity: 0;
	}

	header #navi li a {
		font-size: 7.5vw;
		color: #FFF;
	}

	header #navi ul{
		position: absolute;
		text-align: center;
		width: 100%;
		top: 50%;
		transform: translateY(-50%);
	}

	header #navi li{
		display: block;
		vertical-align: top;
		margin-left: 0;
		padding: 15px 0;
		opacity: 0;
		-webkit-transition-delay: 200ms;
		transition-delay: 200ms;
		-webkit-transition-timing-function: ease;
		transition-timing-function: ease;
		-webkit-transition-duration: 300ms;
		transition-duration: 300ms;
		-webkit-transition-property: opacity,-webkit-transform;
		transition-property: opacity,-webkit-transform;
		transition-property: opacity,transform;
		transition-property: opacity,transform,-webkit-transform;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}

	header #navi.active li{
		transform: translateY(0px);
		opacity: 1;
	}

	header #navi.active li:nth-child(1){
		-webkit-transition-delay: 400ms;
		transition-delay: 400ms;
	}

	header #navi.active li:nth-child(3){
		-webkit-transition-delay: 550ms;
		transition-delay: 550ms;
	}

	header #navi.active li:nth-child(5){
		-webkit-transition-delay: 700ms;
		transition-delay: 700ms;
	}

	header #navi.active li:nth-child(7){
		-webkit-transition-delay: 850ms;
		transition-delay: 850ms;
	}
	header #navi li:nth-child(2),
	header #navi li:nth-child(4),
	header #navi li:nth-child(6){
		display: none;
	}


	header ul li a:hover:before,
	header ul li a:hover:after{
	width:0;
	}

	.f12{
		font-size: 3.2vw;
	}

}

/*------------ NAVI ------------*/


/*------------ TOP ------------*/


/*------------ FOOTER ------------*/

.footer{
	padding: 20px 50px 0 75px;
	box-sizing: border-box;
	width: 100%;
	height: 110px;
	background-color: #eeeeee;
	background-image:url(../images/common/line.png);
	background-repeat: repeat-x;
	background-position: bottom;
	background-size: auto 8px;
	position: relative;
}

.footer .logo{
	width: 122px;
}

.footer .train{
	width: 53px;
	position: absolute;
	bottom: 3px;
	right: 255px;
}

.footer .page_top a{
	display: block;
	position: absolute;
	bottom: 0;
	right:50px;
	width:140px;
	height: 40px;
	z-index:10;
	font-size: 10px;
	background:#272524;
	color: #FFFFFF;
	text-decoration: none;
	padding: 17px 0 0 45px ;
	box-sizing: border-box;
	background-image:url(../images/common/arrow.png);
	background-repeat:no-repeat;
	background-size: 5px auto;
	background-position: 30px 19px;
	transition: all 0.4s;
	font-weight: 100;
}

.footer .page_top a:hover{
	transition: all .3s;
	padding: 12px 0 0 45px;
	background-position: 30px 14px;
}


footer{
	background:#272524;
	padding:50px 50px 50px 75px;
	margin: 0;
	box-sizing: border-box;
	position:relative;
	height: 280px;
	color:#FFFFFF;
	font-family: "Hiragino Kaku Gothic ProN", sans-serif;
	}

footer p,
footer ul li{
	font-size: 14px;
	color:#FFFFFF;
	font-weight: 100;
	}

footer p{
	margin-bottom: 10px;
}

footer p a,
footer ul li a{
	text-decoration: none;
	color: #FFFFFF;
	transition: all 0.4s;
}

footer p a:hover {
	color: #FFFFFF !important;
}

footer ul{
	margin-top: 30px;
}

footer ul li{
	display:inline-block;
	margin-right: 30px;
	position:relative;
}

footer ul li a{
	 display:block;
	 position:relative;
}

footer ul li a:after {
	content:"";
	display:block;
	height:2px;
	width:24px;
	background:#bf262b;
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	bottom:-5px;
}


footer ul li a:hover{
	color: #bf262b;
}

footer address{
	font-size: 10px;
	margin-top: 40px;
	color: #757575;
	text-align: right;
}

footer ul li:nth-child(3){
	margin-right:60px;
}

footer ul li:nth-child(4) a:after,
footer ul li:nth-child(5) a:after,
footer ul li:nth-child(6) a:after,
footer ul li:nth-child(7) a:after,
footer ul li:nth-child(8) a:after {
	background:url(../images/common/icon_blank.png) no-repeat left top;
	background-size:100% auto;
	width:12px;
	height:12px;
	left:-18px;
	top:3px;
	transform:none;
}

@media screen and (max-width: 768px) {
	.footer{
		padding: 20px 20px 0 ;
		box-sizing: border-box;
		width: 100%;
		height: 27vw;
		background-color: #eeeeee;
		background-image:url(../images/common/line.png);
		background-repeat: repeat-x;
		background-position: bottom;
		background-size: auto 8px;
		position: relative;
	}

	.footer .logo{
		width: 14vw;
	}

	.footer .train{
		width: 12vw;
		position: absolute;
		bottom: 3px;
		right: 45vw;
	}

	.footer .page_top a{
		display: block;
		position: absolute;
		bottom: 0;
		right:5vw;
		width:30vw;
		height: 12vw;
		z-index:10;
		font-size: 3vw;
		background:#272524;
		color: #FFFFFF;
		text-decoration: none;
		padding: 4vw 0 0 8vw ;
		box-sizing: border-box;
		background-image:url(../images/common/arrow.png);
		background-repeat:no-repeat;
		background-size: 5px auto;
		background-position: 4vw 5vw;
		transition: all 0.4s;
		font-weight: 100;
	}

	.footer .page_top a:hover{
		transition: all .3s;
		padding: 3vw 0 0 8vw ;
		background-position: 4vw 4vw;
	}


	footer{
		padding:20px 20px 0;
		margin: 0;
		box-sizing: border-box;
		position:relative;
		height: 90vw;
		color:#FFFFFF;
		font-family: "Hiragino Kaku Gothic ProN", sans-serif;
		}

	footer p,
	footer ul li{
		font-size: 3.5vw;
		color:#FFFFFF;
		font-weight: 500;
		}

	footer p{
		margin-bottom: 5vw;
	}

	footer ul{
		margin-top: 8vw;
	}

	footer ul.mt_min{
		margin-top:5vw;
	}

	footer ul li{
		margin-right: 8vw;
	}

	footer ul li:first-child a:after {
		width:6vw;
	}


	footer address{
		font-size: 3vw;
		margin-top: 10vw;
		text-align:center;
	}

	footer ul.sns{
		padding-left:4vw;
	}

	footer ul.sns li:nth-child(1) a:after,
	footer ul.sns li:nth-child(2) a:after,
  footer ul.sns li:nth-child(3) a:after,
  footer ul.sns li:nth-child(4) a:after{
		background:url(../images/common/icon_blank.png) no-repeat left top;
		background-size:100% auto;
		width:12px;
		height:12px;
		left:-18px;
		top:3px;
		transform:none;
	}
}

/*-------- text_right --------*/
.t_right {
	text-align: right;
}

/*-------- text_left --------*/
.t_left {
	text-align: left;
}

/*-------- center --------*/
.t_center {
	text-align: center !important;
}

/*-------- left --------*/
.left {
	float: left;
}

/*-------- right --------*/
.right {
	float: right;
}

/*-------- ClearBoth --------*/
.cb {
	clear: both;
}

/*-------- COLOR --------*/

.red{
	color:#FF0000;
}

.orange{
	color:#FF6600;
}

.blue{
	color:#0097B2;
}

/*-------- FONT --------*/

.bold{
	font-weight:700;
}

.f10{
	font-size:10px;
}

.f14{
	font-size:14px;
}

/*-------- WIDTH --------*/

.w149{
	width:149px;
}

.w180{
	width:180px;
}

.w287{
	width:287px;
}

.w380{
	width:380px;
}

.w304{
	width:304px;
}

/*-------- HEIGHT --------*/

.h350{
	height:350px;
}

.h375{
	height:375px;
}

.h500{
	height:420px;
}

.h600{
	height:470px;
}

/*-------- MARGIN --------*/

.ml3{
	margin:0 0 0 3px;
}

.ml10{
	margin:0 0 0 10px;
}

.ml30{
	margin:0 0 0 30px;
}

.ml40{
	margin:0 0 0 40px;
}

.ml60{
	margin:0 0 0 60px;
}

.ml70{
	margin:0 0 0 70px;
}

.mb10{
	margin:0 0 10px 0;
}

.mb15{
	margin:0 0 15px 0;
}

.mt3{
	margin:3px 0 0 0;
}

.mt10{
	margin:10px 0 0 0;
}


.mt20{
	margin:20px 0 0 0;
}

.mt30{
	margin:30px 0 0 0;
}

/*-------- PADDING --------*/

.pt5{
	padding-top:5px;
}

.pt10{
	padding-top:10px;
}

.pt15{
	padding-top:15px;
}

.pt20{
	padding-top:20px;
}

.pt25{
	padding-top:25px;
}

.pt30{
	padding-top:30px;
}

.pt40{
	padding-top:40px;
}

.pt60{
	padding-top:60px;
}

.pl10{
	padding-left:10px;
}

.pl12{
	padding-left:12px;
}

.pl15{
	padding-left:15px;
}

.pl20{
	padding-left:20px;
}

.pl30{
	padding-left:30px;
}

.pl40{
	padding-left:40px;
}

.pl50{
	padding-left:50px;
}

.pl60{
	padding-left:60px;
}

.pl70{
	padding-left:70px;
}

.pl80{
	padding-left:80px;
}

.pl100{
	padding-left:100px;
}

.pr100{
	padding-right:100px;
}


.pb20{
	padding-bottom:20px;
}

/*-------- COMMON --------*/

.pic{
	padding:2px;
	display:block;
	border:1px solid #CCCCCC;
}

.hidden{
	overflow:hidden;
}

.abs{
	position:absolute;
}

.ondes{
	color:#999999;
}

.anc{
	display:block;
	margin-top:-68px;
	padding-top:68px;
}
/*-------- 追加2019.12.16 --------*/
.hotel_link {
	text-decoration: underline;
	transition: all 0.4s;
}
.hotel_link:hover {
	text-decoration: none;
}