/**** default settings *****/

body,h1,h2,h3,h4,h5,h6,p,a,ul,ol,li,blockquote,button {
/*font-family:'Hiragino Kaku Gothic ProN', Meiryo,'Playfair Display SC','Lucida Grande',serif;*/
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

body {
        font-size: 15px;
	background-color:#F5F5F5;
}

a,
a code,
a img {
	text-decoration: none;
	-webkit-transition: 0.3s linear;
	   -moz-transition: 0.3s linear;
		 -o-transition: 0.3s linear;
			transition: 0.3s linear;
}

.en,
.en a {
	font-family: 'Lusitana', serif!important;
        font-weight:normal;
}

h2 {
    font-size: 30px;
    line-height: 1em;
}

h2 span.en,
h3 span.en,
h4 span.en,
h5 span.en {
    font-size:85%; 
   opacity:0.7;
}

a img:hover {
opacity:0.8;
}

section {
    padding:15px 0;
}

.bg_trans_light {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(255,255,255,0.5);
}

.bg_trans_dark {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
}


/* Bootstrap (Unify) Hack */

.lead {
     font-size:1.4em;
}

.thumbnail {
	padding:0;
}

.thumbnail h3,
.thumbnail h4,
.thumbnail p {
    padding-left:10px;
    padding-right:10px;
}

.dl-horizontal dt {
    width:80px;
    margin-bottom:10px;
    text-align:left;
}

.dl-horizontal dd {
    margin-left: 90px;
}

.panel-heading a:hover {
    text-decoration:none;
}

.panel-heading h4.panel-title {
    border:none;
    padding-bottom:0;
    font-size:inherit;
    font-weight:normal;
}

a.accordion-toggle:after {
    content: '\f077';
    font-family: FontAwesome;
    margin-left: 5px;
}

a.accordion-toggle.collapsed:after {
    content: '\f078';
    font-family: FontAwesome;
    margin-left: 5px;
}


.timeline-v2 > li .cbp_tmlabel h3 {
    border-bottom: 1px solid #ddd;
    color: #333;
    font-size: 21px;
    margin-bottom: 10px;
    margin-top: 0;
    padding: 0 0 5px;
    text-transform: capitalize;
}

.timeline-v2 > li span {
    font-size: 2em;
}


/* custom style */

/* header */

.header-fixed .header-v2.header-sticky {
    background:#222;
    height:auto;
}

.header-fixed .header-v2.header-fixed-shrink {
    background:#222;
    z-index: 2000;
}

.navbar-inverse {
    border: none;
}

.header-v2 .topbar-v2 {
    border:none;
}

.header-fixed .header-v2 .navbar-nav > li > a,
.header-fixed .header-v2.header-fixed-shrink .navbar-nav > li > a {
	padding-left:10px;	
	padding-right:10px;	
	color:#DDD;
	line-height:110%;
	text-align:center;
	border:none;
}

.nav.navbar-nav li small {
	opacity:0.7;
	font-size:0.8em;
}

.nav.navbar-nav li small:before {
	content:"\a";
	white-space:pre;
}


.header-fixed .header-v2.header-fixed-shrink .navbar-nav > li > a:hover {
	color:#FFF;
}

.header-fixed .header-v2.header-fixed-shrink .navbar-brand {
	padding:0;
}
.header-fixed-shrink #logo-header {
	width: 150PX;
}

.header-v2 .navbar-brand {
    margin-top: -30px;
 }

.header-fixed .header-v2.header-fixed-shrink .navbar-brand {
    margin-top: -8px;
}

.header-v2 .topbar-buttons .btn-u-light {
color: #FFF;
border-color: #FFF;
}

.header .contact .phone {
	font-size:20px;
}

button.navbar-toggle {
    padding:7px 14px!important;
    text-shadow:none;
    margin-top:-1px;
}

button.navbar-toggle .fa {
    font-size:1.1em;
    color:#FFF;
    margin:0;
    padding:0;
}

ul.footer-link-list > li a:hover {
	color:#DDD;
}

.tel {
	font-size:22px;
}

.tel-link {
	display:inline-block;
}


.anc_tab_content {
    margin-top:-70px;
    padding-top:70px;
}

/****** Top Page Visual ********/
.panel-scroll {
	position:relative;
	height:100vh;
	border-bottom:1px solid #666;
	min-height:100%;
}

.scroll {
	position:relative;
	font-size:12px;
	padding:40px 0px 0;
        margin:10px;
	width:100px;
	height:100px;
	display:inline-block;
	background:rgba(0,0,0,0.4);
	border-radius:50%!important;
	text-align:center;

	color:#FFF!important;
	z-index:1000;
}

.panel-scroll .scroll {
	position:absolute;
	bottom:20px;
	left:50%;
	margin-left:-50px;
}

.scroll:hover {
	text-decoration:none;
	color:#333!important;
	background:rgba(230,230,230,0.8);
}

.scroll:after {
	content: '\f103';
    font-family: FontAwesome;
    display: inline-block;
	font-size:18px;
    width: 1.2em;
	height:10px;
	position:absolute;
	bottom:25px;
	right:0;
	left:0;
	margin:auto;

	-webkit-animation:3s arrow infinite ease;
	animation:3s arrow infinite ease;
}

@-webkit-keyframes arrow {
	0%,100% {
		top:50px;
	}
	50% {
		top:80px;
	}
}
@keyframes arrow {
	0%,100% {
		top:50px;
	}
	50% {
		top:80px;
	}
}

.panel-scroll .btn-u.btn-brd {
	border:1px #666 solid;
	color:#333;
}

.panel-scroll .btn-u.btn-brd.btn-u-light {
	border:1px #ccc solid;
	color:#DDD;
        text-shadow:none;
}

.catch {
    display:inline-block;
    padding:100px 25px 30px 25px;
    top:0px;
    background: -moz-linear-gradient(top,rgba(0,0,0,0.9),rgba(0,0,0,0));
    background: -o-linear-gradient(rgba(0,0,0,0.9),rgba(0,0,0,0));
    background: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0.9)),to(rgba(0,0,0,0)));
    background: linear-gradient(top,rgba(0,0,0,0.9),rgba(0,0,0,0));
    background: linear-gradient(to bottom,rgba(0,0,0,0.9),rgba(0,0,0,0));
    width:100%;
}

.catch h2,
.catch p {
    color:#eee;
    text-shadow:0 0 6px rgba(0,0,0,1);
}

.catch h2 small {
    color:#eee;
    opacity:0.6;
}

.catch a.btn.btn-default {
    background-color:rgba(255,255,255,0.8);
    border:none;
    text-shadow:none;
}

.catch a.btn.btn-default:hover {
    background-color:rgba(255,255,255,1);
}

.bg_home_wrapper {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:30%;
    background: -webkit-linear-gradient(rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
    background: linear-gradient(rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
}


.home {
	padding-top:180px;
	background:url(images/visual_top_01c.jpg) no-repeat;
	background-size:cover;
	background-position:center center;
}

.home h1 {
	padding:0;
	color:#FFF;
}

.home p {
	color:#FFF;
}

.home .catch {
        position:absolute;
        top:20%;
        left:50%;
        margin-left:-80px;
        padding:0;
        background:none;
        width:157px;
}

.home .catch img{
        width:100%;
}

#top_info {
	background:rgba(0,0,0,0.3);
}

#top_info h3,
#top_info p a
{
	color:#DDD;
}

#top_info p a:hover {
	color:#FFF;
}


.concept {
/*	background:url(../../../../mediagallery/mediaobjects/orig/3/3_0043.jpg) no-repeat;*/
	background:url(../../../../mediagallery/mediaobjects/orig/c/c__dsc8192.jpg
) no-repeat;
	background-size:cover;
	background-position:center center;
	text-align:left;
}

.concept .catch {
        position:absolute;
        left:0;
}


.room {
	background:url(../../../../mediagallery/mediaobjects/orig/8/8_dsc_3607.jpg) no-repeat;
	background-size:cover;
	background-position:center center;
	text-align:left;
}

.room .catch {
        position:absolute;
        left:0;
}

.cuisine {
	background:url(../../../../mediagallery/mediaobjects/orig/a/a_dsc_3402.jpg) no-repeat;
	background-size:cover;
	background-position:center center;
	text-align:left;
}

.cuisine .catch {
        position:absolute;
        left:0;
}

.spa {
	background:url(../../../../mediagallery/mediaobjects/orig/f/f_0008.jpg) no-repeat;
	background-size:cover;
	background-position:center right;
}

.spa .catch {
        position:absolute;
        left:0;
}

.spa .inner p{
	color:#ccc;
}

.plan {
	padding-top:120px;
	background:#FFF;
}

.plan h2 {
	text-align:center;
	color:#444;
        line-height:100%;
        margin-bottom:15px;
}

.plan-list .thumbnail {
	background:rgba(255,255,255,0.85);
	border:1px #DDD solid;
}

.plan-list .thumbnail h4{
	font-size:1.1em;
	overflow: hidden;
	text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	margin-bottom:5px;
}

.plan-list .thumbnail p {
	overflow: hidden;
	text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

.information {
	padding-top:80px;
	background:#FFF;
}

.information h2 {
	text-align:left;
	color:#333;
}

.information .thumbnail {
	background:rgba(255,255,255,0.85);
	padding:0 10px 0 0;
	border:1px #CCC solid;
}

.information .thumbnail img{
	width:30%;
	float:left;
	margin-right:10px;	
}

.information .thumbnail h4{
	font-size:1.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.information .thumbnail p {
	overflow: hidden;
	text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

.top_contact {
	padding-top:50px;
	position:relative;
	background:url(images/visual_top_front.jpg) no-repeat #333;
	background-size:cover;
	background-position:right center;
	text-align:left;
}

.top_contact_info {
    position:absolute;
    left:30px;
    bottom:50px;
    width:100%;
	background:rgba(0,0,0,0.5);
	padding:15px 20px;
}


/* top visual movie */
.covervid-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/* sub pages custon style */

.page_content .page_top_visual {
    position:relative;
    max-height:650px;
    overflow:hidden;
}

.page_content .page_top_visual.sub {
    max-height:none;
}


.page_content .page_top_visual .bg_page_top_visual {
    width:100%;
}

.page_content .page_top_caption  {
    position:absolute;
    background: -webkit-linear-gradient(rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
    background: linear-gradient(rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
    top:0;
    left:0;
    width:100%;
    padding:30px 20px 30px;
}

.page_content .page_top_caption.bottom  {
    background: -webkit-linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
    background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
    top:inherit;
    bottom:0;
    left:0;
    width:100%;
    padding:30px 20px 30px;
}

.page_content .page_top_caption  h2,
.page_content .page_top_caption  h3  {
    color:#FFF;
    text-shadow:0 0 8px rgba(0,0,0,0.7);
}

.page_content .page_top_caption  h2 small{
    color:#FFF;
    opacity:0.5;
}

.page_content .page_top_caption  p {
    color:#FFF;
    opacity:0.9;
    text-shadow:0 0 6px rgba(0,0,0,0.7);
}

.page_content h3 {
    font-size:28px;
    padding:20px 0 20px 40px;
    background:url(images/bg_title_icon.png) no-repeat;
    margin-bottom:20px;
    line-height:120%;
}

.page_content h4 {
    font-size:22px;
    font-weight:bold;
    padding-bottom:5px;
    border-bottom:2px #ccc solid;
}

.page_content .panel-heading h4 {
    border-bottom:none;
    padding-bottom:0;
}
.page_content h5 {
    font-size:16px;
    font-weight:bold;
    padding-bottom:5px;
    text-align:left;
}
.thumbnail h4 {
    font-size:16px;
    padding-bottom:2px;
    border-bottom:0px none;
    text-align:left;
    line-height:120%;
}
.portfolio-item h4 {
    font-size:16px;
    padding-bottom:2px;
    border-bottom:0px none;
    text-align:left;
    line-height:120%;
}
.carousel-caption h4 {
    color:#FFF;
    padding-bottom:0;
    margin-bottom:0;
}


.menu_list {
    border-top:1px #ccc solid;
    padding-top:10px;
}

.menu_list dt {
    padding-bottom:5px;
}
.menu_list dd {
    border-bottom:1px #ccc solid;
    padding-bottom:10px;
    margin-bottom:10px;
}

.table_list {
    border-top:1px #ccc solid;
    padding-top:10px;
}

.table_list dt {
    padding-bottom:5px;
    min-width:130px;
    float:left;
}
.table_list dd {
    border-bottom:1px #ccc solid;
    padding-bottom:10px;
    margin-bottom:10px;
}
@media (max-width: 767px) {
.table_list dt {
    width:100%;
    float:none;
}
}


/* Footer style */

.top_contact_info h2,
.top_contact_info p,
.top_contact_info ul li, 
.top_contact_info ul li a,
.footer-area h2,
.footer-area p,
.footer-area ul li,
.footer-area ul li a {
	color:#DDD;
	margin-bottom:0;
}	

.footer-area h2,
.top_contact_info h2  {
    font-size:22px;
}

.footer-area {
    position:relative;
	background:url(images/visual_top_front.jpg) no-repeat #333;
	background-size:cover;
	background-position:center center;
    padding:15px 20px;
}

.footer_contact_info {
    position:relative;
}

#topcontrol {
    z-index:9999;
    bottom:4px!important;
}

.bottombar {
    display:none;
}
.panel-default>.panel-heading .badge {
    background:#2ecc71!important;
}

/* directin hack */

#frmplanseek {
	display:inline-block;
	background:#FFF;
	padding:0;
	margin:0 auto;
	color:#444;
	text-align:left;
}

#frmplanseek.form_top {
	position:fixed;
	box-shadow:0px 2px 5px rgba(0,0,0,0.3);
	top:200px;
	right:-260px;
	width:260px;
	height:auto;
	z-index:5000;

	-webkit-transition-property:right;
    -webkit-transition-duration:300ms;
    -webkit-transition-timing-function:swing;
    
	-moz-transition-property:right;
    -moz-transition-duration:300ms;
    -moz-transition-timing-function:swing;

    -o-transition-property:right;
    -o-transition-duration:300ms;
    -o-transition-timing-function:swing;

    transition-property:right;
    transition-duration:300ms;
    transition-timing-function:swing;
}

form#frmplanseek.panel-open {
	right:0;
}

.btn-panel-trigger {
	position:absolute;
	top:0px;
	width:80px;
	height:80px;
	left:-80px;
	padding:0 0 5px;
	text-align:center;
	cursor:pointer;
	background:url(images/bg_title_icon.png) no-repeat;
/*	background:rgba(176,143,5,0.85);*/
	z-index:5000;
/*	border-radius:100% 0 0 100%!important;*/


	-webkit-animation:2.5s fuwafuwa infinite ease;
	animation:2.5s fuwafuwa infinite ease;
}


@-webkit-keyframes fuwafuwa {
	0%,100% {
		top:0px;
	}
	50% {
		top:10px;
	}
}
@keyframes fuwafuwa {
	0%,100% {
		top:0px;
	}
	50% {
		top:10px;
	}
}


form#frmplanseek label {
	font-weight:normal;
}

form#frmplanseek.form_top h2 {
	position:relative;
	font-size:16px;
	display:inline-block;
	color:#ddd;
	padding-top:25px;
	padding-bottom:0;
}

form#frmplanseek.form_top h2:after {
	position:relative;
	margin-left:-10px;
	color:#333;
	content: 'ご予約';
}

form#frmplanseek.form_top.panel-open h2:after {
	content: '閉じる';
}

#booking_inner {
	postion:relative;
	top:0;
	left:0;
 	padding:10px 15px;
}


#booking_inner .btn-brd {
	margin-bottom:3px;
	color:#444;
}

#booking_inner hr {
    margin: 10px 0;
}
.btn-seek-submit {
	min-width:100px;
	margin:5px 0 10px 0;
}

#booking_inner input,
#booking_inner select {
	color:#333;
	margin-bottom:3px;
    font-size:12px;
}

#booking_inner .tel-link a {
	color:#444;
}


/* responsive device difinition */

@media (max-width: 991px) {
	
	.container {
		padding:0px 15px;
	}

	#logo-header {
		 width:170px;
	}

    .header-v2 .navbar-brand {
        margin-top: -12px;
     }

	.header-fixed .header-v2 {
		background:#222;
		height:auto;
	}

	
	.header-fixed .header-v2 .navbar-nav > li > a {
		border-top:1px #333 solid;
		border-bottom:1px #000 solid;
	}
	
	.header-fixed .header-v2 .navbar-nav > li {
		float:left;
		width:33%;
		border-left:1px #333 solid;
		border-right:1px #000 solid;
		font-size: 12.5px;

	}

	.header-fixed .header-v2 .navbar-nav > li.nav-block {
		display:block;
		width:100%;
        text-align:center!important;
	}

	.header-fixed .header-v2 .navbar-nav > li > a {
		padding:10px 0;
		border-top:1px #333 solid;
		border-bottom:1px #000 solid;
	}

	.catch {
			top:0;
			padding:20px;
	}

	.home .catch{
      		width:80px;
                margin-left:-40px;
	}

    .concept .catch {
        padding:10px;
        margin-top:0;
    }

	.panel-scroll h1 {
		font-size:3.3em;
	}
	
	.panel-scroll {
		min-height:480px;
		height:auto;
	}
	
	.panel-scroll .scroll {
		display:none;
	}
} /*end @media*/



/* Extra small devices (phones, less than 768px) */
@media (max-width: 767px) {

    .dl-horizontal dd {
        margin-left: 10px;
        margin-bottom:10px;
    }

	#logo-header {
		width:160px;
	}


    .header-v2 .navbar-brand {
        margin-top: -5px;
     }
	
	.footer-v1 {
		position:relative;
		left:0;
		padding-top:0px;
	}
	
	.panel-scroll h1 {
		font-size:3.3em;
	}
	
	.panel-scroll {
		min-height:480px;
		height:auto;
	}
	
	
	.panel-scroll .scroll {
		display:none;
	}

         .catch h2 {
                font-size:1.3em;
        }

         .catch p {
                font-size:0.9em;
        }

	.home .catch{
      		width:70px;
                margin-left:-35px;
	}

	.cuisine {
		background-position:left center;
	}

	.plan h2 {
		font-size:1.3em;
	}


	.top_contact_info {
		position:absolute;
		left:0px;
		bottom:50px;
		width:100%;
		background:rgba(0,0,0,0.5);
		padding:15px 20px;
	}

	#frmplanseek.form_top,
	#frmplanseek.form_page {
		position:relative;
                display:block;
		top:0;
		left:0;
		width:auto;
		height:auto;
                padding-bottom:15px;
	}

	#booking_inner {
		text-align:center
	}

	.btn-panel-trigger {
		position:relative;
		top:0;
		width:auto;
		height:auto;
		left:0;
		margin-left:0;
		margin-bottom:10px;
		cursor:default;
		background:none;
	-webkit-animation:none;
	animation:none;

	}
	
	.btn-panel-trigger:hover {
		background:none;
	}
	
	
	form#frmplanseek.form_top h2 {
                display:block;
                background:none;
                width:auto;
		color:#333;
                font-weight:bold;
		text-align:center;
                padding-bottom:5px;
                border-bottom:2px #CCC solid;
	}
	
	form#frmplanseek.form_top h2:after {
		content: 'ご予約';
	}
	
	form#frmplanseek.form_top.panel-open h2:after {
		content: 'ご予約';
	}


	.overlay-zoom .zoom-icon,
	.fancybox-overlay.fancybox-overlay-fixed,
	.fancybox-skin  {
		display:none;
		opacity:0;
	 }
	
	.bottombar {
		display:block;
		position:fixed;
		width:100%;
		bottom:0;
		left:0;
		padding:5px 0 0 5px;
		background:rgba(0,0,0,0.5);
		z-index:6000;
	}
	
	.page_content .page_top_visual .page_top_caption.bottom  {
		position:relative;
		background:none!important;
	}
	
	.page_content .page_top_visual .page_top_caption  h3 {
		font-size:20px;
	}
	.page_content .page_top_visual .page_top_caption  p.lead {
		font-size:18px;
	}
	
	.page_content .page_top_visual .page_top_caption.bottom  h3,
	.page_content .page_top_visual .page_top_caption.bottom  p {
		color:#333;
		text-shadow:none;
	}

}  /*end @media*/


/* Geeklog Custom style*/

.MG_autotag_caption {
width:0;
display:none;
}

.in {
    padding:0;
}

.spf_required {
font-size:9px;
}
#form_step li {
	width: 110px;
}
#form_step li {
list-style: none;
border: none;
background: #CCC;
margin-right:5px;
}

#form_step li.on {
background: #a85770;
color: #FFF;
}
#FORM .table th {
color:#FFF;
background: #a85770;
}

dl.flow_access {
    margin-bottom:50px;
}

dl.flow_access dt {
    display:block;
    width:100%;
    background:#CCC;
    padding:10px;
    text-align:center;
    border-radius:25px;
}
dl.flow_access dt:first-child {
    font-size:130%;
    background:#666;
    color:#FFF;
    border-radius:5px;
}

dl.flow_access dt:last-child {
    font-size:130%;
    background:#fff;
    color: rgb(0, 40, 112);
    border-radius:5px;
    border:1px rgb(0, 40, 112) solid;
}

dl.flow_access dd {
    display:inline-block;
    margin-left:25px;
    padding:10px 0 10px 15px;
    border-left:2px #333 dotted;
}

/*google map responsive*/
.googlemapWrapper > iframe {
    width:100%;
    height:500px;
    /*pointer-events: none;*/
    border:none;
}

.googlemapWrapper_s > iframe {
    width:100%;
    height:200px;
    /*pointer-events: none;*/
    border:none;
}

/*観光スポット用*/
.caption p{
font-weight:bold;
}
.caption p span{
font-size:17px;
color:#CC0000;
}
.caption span.label {
color:#FFF;
font-size:13px;
text-align:center;
margin-bottom:5px;
}

/*横幅100%*/
.uk-responsive-width {
    max-width: 100% !important;
    height: auto;
}