@charset "UTF-8";


/* 共通スタイル
--------------------------------------------------------------------------------------------------------------------------------------------- */
/* リンク */

a{
	color:#0076CA;
	text-decoration:none;
	transition-duration: 0.5s;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
}
a:hover{ color:#999;}

/* ボタン */
.btn{
	padding:10px 15px 7px;
	margin-bottom:10px;
	display:inline-block;
	/* 白文字とのコントラスト比を 4.5:1 以上にするため、ブランドの金色を暗くした
	   （旧 #908338 は 3.82:1 で WCAG AA 未達だった / ticket-001 G8） */
	background:#7A6F2E;
	color:#FFF;
	clear:both;
	text-align:left;
}
		.btn:hover{
			background:#666;
			color:#FFF;
		}

.btn-waku{
	padding:10px 45px 7px;
	margin-bottom:10px;
	display:inline-block;
	border:#000 solid 2px;
	color:#000;
	font-weight:bold;
	clear:both;
	text-align:left;
}
.btn-waku:hover{
	background:#000;
	color:#FFF;
}



/* アイコン */
.ico-arrow:before{
  display:inline-block;
	font-size:12px;
	margin-right:7px;
	position:relative;
	top:-1px;
  font-family: 'FontAwesome';
  content: "\f105";
}

.ico-blank:before{
  display:inline-block;
	font-size:12px;
	margin-right:7px;
  font-family: 'FontAwesome';
  content: "\f08e";
}

.ico-bus:before{
  display:inline-block;
	margin-right:7px;
  font-family: 'FontAwesome';
  content: "\f207";
}


.ico-car:before{
  display:inline-block;
	margin-right:7px;
  font-family: 'FontAwesome';
  content: "\f1b9";
}

.ico-blank:before{
  display:inline-block;
	font-size:12px;
	margin-right:7px;
  font-family: 'FontAwesome';
  content: "\f08e";
}

.ico-pdf:before{
  display:inline-block;
	font-size:12px;
	margin-right:7px;
  font-family: 'FontAwesome';
  content: "\f1c1";
}

.ico-tel:before{
  display:inline-block;
	font-size:12px;
	margin-right:7px;
  font-family: 'FontAwesome';
  content: "\f095";
}

.ico-fax:before{
  display:inline-block;
	font-size:12px;
	margin-right:7px;
  font-family: 'FontAwesome';
  content: "\f02f";
}

.ico-tw:before{
	display:inline-block;
	font-size:16px;
	margin:5px;
  font-family: 'FontAwesome';
  content: "\f099";
}

.ico-fb:before{
	display:inline-block;
	font-size:16px;
	margin:5px;
  font-family: 'FontAwesome';
  content: "\f09a";
}



/* float */
.img-right{	float:right; margin-left:20px; margin-bottom:10px;}
.img-left{ float:left; margin-right:20px;	margin-bottom:10px; }
/*.left{ float:left; }
.right{ float:right; }*/


.fc-green{ color:#00A988 !important; }
.fc-red{ color:#EB7992 !important; }
.fc-blue{ color:#0078C6 !important; }
.fs-bold{ font-weight:bold !important;}
.underline{ text-decoration:underline; }


.bg-darkblue01{ background-color:#202935 !important;}
.bg-darkblue02{ background-color:#273038 !important;}
.bg-gray{ background-color:#F3F3F3 !important;}
.bg-yellow{ background-color:#F2F2D3 !important;}

.ta-right{ text-align:right !important;}
.ta-left{ text-align:left !important;}
.ta-center{ text-align:center !important;}

.separator{display:block; height:1px; width:100%; margin:20px 0; background:#DDDDDD;}
.hide-txt{ display:block;	text-indent: 100%; white-space: nowrap; overflow: hidden; }
.txt-break{ display:block; } /* PCのみ */
/*.smt-txt-break{ display:block; }  SMTのみ */


.row,
.article{ width:100%; box-sizing:border-box; }
		.row:after,
		.article:after{ content: ""; clear: both;	height: 0; display: block; visibility: hidden; }

/*.col-md-1 { width: 8.333%; }
.col-md-2 { width: 16.663%; }
.col-md-3 { width: 24.99%; }
.col-md-4 { width: 33.332%; }
.col-md-5 { width: 41.665%; }
.col-md-6 { width: 49.998%; }
.col-md-7 { width: 58.331%; }
.col-md-8 { width: 66.664%; }
.col-md-9 { width: 74.997%; }
.col-md-10 { width: 83.33%; }
.col-md-11 { width: 91.663%;}
.col-md-12 { width: 99.996%; }*/

[class*="col-md-"] img {
    max-width: 100%;
}

.idx-about-02 {
  margin: 60px 0 0 0;
}

.col-md-6-02 {
  width:98%;
  margin: 0 0 30px 0;
}

.ahover:hover {
  opacity: 0.5;
}

.txt-center {
  text-align: center;
}

.markar{ background: linear-gradient(transparent 0%, #ffff66 0%); padding-left:3px; padding-right:3px; }


.en, .abel{ font-family: 'Abel', sans-serif; }
.jp{ font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }


/* wrapper
--------------------------------------------------------------------------------------------------------------------------------------------- */

#wrapper { padding: 0; box-sizing:border-box;}
		#wrapper:after{ content: ""; clear: both;	height: 0; display: block; visibility: hidden; }

.inner{ box-sizing:border-box; position:relative; width:100%; margin-left:auto; margin-right:auto; }
		.inner:after{ content: ""; clear: both;	height: 0; display: block; visibility: hidden; }

@media screen and (min-width: 1280px){
	#header{
	width:100%;
}

}






/* header
--------------------------------------------------------------------------------------------------------------------------------------------- */
#header{
	box-sizing:border-box;
	padding:18px 0  18px  18px;
	width:100%;
	background-color:#FFF;
	position:relative;
}
#header:after{ content: ""; clear: both;	height: 0; display: block; visibility: hidden; }

.logo{
	display:block; text-indent: 100%; white-space: nowrap; overflow: hidden;
	width:147px;
	height:22px;
	background-repeat:no-repeat;
	background-position:0 0;
	background-image: url(../images/common/logo.png);
	background-size:147px 22px;
	float:left;
}


body.open .gnav{
display: block;
}


body.open:before{
	display:block;
	content:"";
	width:100%;
	height:120%;
	background:rgba(0,0,0,.8);
	position: fixed;
	left:0;
	top:0;
	z-index: 9990;
}


.gnav{
	display:none;
	font-family: 'Abel', sans-serif;
	box-sizing:border-box;
  position: fixed;
  top: 0;

	padding:10px 10px 20px;
  right: -240px;
  width: 240px;
  height: 100%;
  background: #FFF;
  z-index: 9999;
  color: #173872;
}

.gnav li{
	box-sizing:border-box;
	font-size:16px;
	position:relative;
	margin:8px 0;
}


.gnav a{
	display:block;
	font-size:16px;
	padding:0 16px 5px;
	border-bottom:#FFF solid 2px;
	color:#1F2733;
}

.gnav a:before{
	display:inline-block;
	margin-right:7px;
  font-family: 'FontAwesome';
  content: "\f105";
}


a.nav-reservation{
	padding:12px 14px 8px;
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size:14px;
	background:#202935;
	color:#FFF !important;
	position:relative;
}

a.nav-reservation:hover{ border-bottom:#FFF solid 2px; background:#908528; }





/* ==================================
スマホメニュー
=====================================*/
#sp-menu {
    display: block;
    width: 58px;
    height:58px;
		background:#FFF;
    position: fixed;
    top: 0;
    right:0;
    z-index: 9999;
}
#sp-menu.active{ background:#FFF; }

#sp-menu span {
    display: block;
    background: #000;
    width: 32px;
    height: 1px;
    position: absolute;
    left: 13px;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}
#sp-menu span:first-child {
    top: 20px;
}
#sp-menu span:nth-child(2) {
    margin-top: -1px;
    top: 50%;
}
#sp-menu span:last-child {
    bottom: 20px;
}
#sp-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);
}
#sp-menu.active span:nth-child(2) {
    opacity: 0;
}
#sp-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);
}





/* コンテンツ
--------------------------------------------------------------------------------------------------------------------------------------------- */
.page-main{
	width:100%;
	height:200px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	position:relative;
}
		.page-main.gallery{ background-image:url(../images/gallery/main01.jpg); }
		.page-main.spa{ background-image:url(../images/spa/main01.jpg); }
		.page-main.amabe{ background-image:url(../images/amabe/main01.jpg); }
		.page-main.access{ background-image:url(../images/access/main01.jpg); }
		.page-main.room{ background-image:url(../images/room/main01.jpg); }
		/* お知らせページ。専用の背景画像が無いためブランドの濃紺で表示する */
		.page-main.info{ background-color:#202935; }

		.page-main h1{
			padding-top:60px;
			color:#FFF;
			text-align:center;
			font-size:32px;
			font-family: 'Abel', sans-serif;
			position:relative;
			z-index:2;
		}
				.page-main h1 span{ display:block; font-size:14px; }

.overlay{
	width:100%;
	height:200px;
	background-color:rgba(0,0,0,.4);
	position:absolute;
	left:0;
	top:0;
	z-index:1;
}



.inner{ box-sizing:border-box; position:relative; width:90%; margin-left:auto; margin-right:auto; }
		.inner:after{ content: ""; clear: both;	height: 0; display: block; visibility: hidden; }


.contents{ padding:50px 0;}
		.end-mb100{ margin-bottom:50px !important;}
		.end-mb50{ margin-bottom:25px !important;}
		.mb20{ margin-bottom:10px !important;}


.headline1{
	margin-bottom:35px;
	font-size:24px;
}

.headline2{
	padding-bottom:7px;
	margin-bottom:15px;
	font-size:18px;
	color:#908431;
	border-bottom:#908431 solid 1px;
}

.headline3 {
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 22px !important;
  font-weight: normal !important;
  border-bottom: #CCC solid 1px;
}

.margin_b30 {
  margin: 0 0 10px 0;
}

.headline2 .sub{
	font-size:13px;
	display:block;
}

.headline2 .en{
	font-size:13px;
	margin-left:15px;
	color:#666;
}


.sentence p{
	margin-bottom:15px;
}

.list-disc{ margin-bottom:15px; }
.list-disc li{
	padding:5px 0;
	margin-left:20px;
	list-style:outside disc;
}


.note-box{
	box-sizing:border-box;
	padding:2.5%;
	border:#DDDDDD solid 1px;
}



/* ==================================================
ギャラリー
===================================================== */
[class*="slide-gallery"] div{ width:100%; margin-bottom:5px; }
[class*="slide-gallery"] div img{ width:100%; }


[class*="slider-nav"] div{
	padding:5px;
	cursor:pointer;
}
[class*="slider-nav"] div img{ width:100%; }

.slick-next {
    right: 0px !important;
}
.slick-prev {
    left: 0px !important;
		z-index:2;
}

.slick-current{ background:#000;}


.slick-prev,
.slick-next{
		background:rgba(0, 0, 0, .7) !important;
    width: 40px !important;
    height: 80px !important;
}
		.slick-next{
			-webkit-border-top-left-radius: 4px;
			-webkit-border-bottom-left-radius: 4px;
			-moz-border-radius-topleft: 4px;
			-moz-border-radius-bottomleft: 4px;
			border-top-left-radius: 4px;
			border-bottom-left-radius: 4px;
		}

		.slick-prev{
			-webkit-border-top-right-radius: 4px;
			-webkit-border-bottom-right-radius: 4px;
			-moz-border-radius-topright: 4px;
			-moz-border-radius-bottomright: 4px;
			border-top-right-radius: 4px;
			border-bottom-right-radius: 4px;
}

.slick-prev:hover,
.slick-next:hover{
		background:rgba(105, 94, 71, .7)!important;
}



.slick-prev:before,
.slick-next:before{
    font-family: 'FontAwesome' !important;
    font-size: 20px;
    line-height: 1;
    opacity: .75;
}

.slick-prev:before{ content: "\f104" !important; }
[dir='rtl'] .slick-prev:before{ content: "\f105" !important; }

.slick-next:before{ content: "\f105" !important; }
[dir='rtl'] .slick-next:before { content: "\f104" !important; }





/* 	footer
--------------------------------------------------------------------------------------------------------------------------------------------- */
/* 1351以上 */
@media screen and (min-width: 1351px) {
}

/* 769〜1350まで */
@media screen and (min-width: 769px) and (max-width: 1350px) {
}

#footer{
	padding:70px 0;
	width:100%;
	background: url(../images/common/bg_footer.png) repeat center 0;
	text-align:center;
	color:#FFF;
	position:relative;
}
		#footer:after{ content: ""; clear: both;	height: 0; display: block; visibility: hidden; }


#footer h2{
	display:block; text-indent: 100%; white-space: nowrap; overflow: hidden;
	width:100%;
	height:17px;
	margin-bottom:50px;
	background-repeat:no-repeat;
	background-position:center 0;
	background-image: url(../images/common/logo_footer.png);
	background-size:auto 17px;
}

#footer h2 span{
	font-weight:bold;
}

#footer p{ width:80%; margin:0 auto; }

#footer dt{
	margin:20px auto;
	font-size:33px;
}

.mail{ color:#908431; display:block; margin-bottom:7px; }
.url{ color:#57667A; }

.ico-tel,.ico-fax{ margin:10px; display:block; color:#FFFFFF !important; }

.ico-tel:before,
.ico-fax:before{
	font-size:18px;
	position:relative;
	top:-5px;
}

.ico-tw,
.ico-fb{
	display:inline-block;
	margin-top:30px;
	color:#58677B;
}


#footer .tel-link{ color:#FFFFFF; }

.copyright{ position:absolute;bottom:0; font-size:12px; color:#8A99AC; background:#1B242F; /* 白系を明るくして背景 #1B242F とのコントラスト比を 5.40:1 に（旧 #57667A は 2.67:1 で AA 未達 / ticket-001 G8） */ text-align:center; width:100%; padding:7px 0 5px;}



/* ページトップ */
.page-top{
	box-sizing:border-box;
	display:block; text-indent: 100%; white-space: nowrap; overflow: hidden;
	width:48px;
	height:48px;
	background-repeat:no-repeat;
	background-position:0 0;
	background-image: url(../images/page_top.png);
	background-size:48px 48px;
	position: absolute;
	right:0;
	bottom:0;
	z-index:999;
}

.page-top:hover{
	opacity:.4;
}

.page-top:before {
  font-family: 'FontAwesome';
  content: "\f106 ";
}/* ------------------------------------------------------------------
   ticket-001 で追加した共通ユーティリティ
   ------------------------------------------------------------------ */

/* 視覚的には隠すが、スクリーンリーダーと検索エンジンには読ませる。
   display:none や visibility:hidden だと読まれないので使わない。 */
.visually-hidden{
	position:absolute !important;
	width:1px; height:1px; padding:0; margin:-1px;
	overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ヘッダーのロゴ。以前は h1 だったが、1ページ1つの h1 にするため p に変更した。
   見た目は .logo クラスで従来どおり。 */
.site-logo{ margin:0; }

/* トップのオープン告知バッジ。以前は href="" のリンクで囲まれていた */
.badge-open{ margin:0; }
/* フッターのお知らせリンク。背景 #1B242F 上でコントラスト比 5.4:1 を確保 */
.footer-info-link{ margin:0 0 8px; font-size:13px; }
.footer-info-link a{ color:#C9B85F; text-decoration:underline; }
.footer-info-link a:hover{ color:#E4D89B; }

/* ==================================================================
   2026-07-30: 第三者ライブラリ（jQuery / fancyBox / slick）撤去にともなう追加
   ================================================================== */

/* ---- ヒーロー背景のクロスフェード（旧 bgFade.js の jQuery アニメーション） ---- */
#bgFade.is-ready div{ opacity:0; transition:opacity 3s ease; }
#bgFade.is-ready div.is-active{ opacity:1; }
/* JSが動かなかった場合でも1枚目は見えるようにしておく */
#bgFade:not(.is-ready) div:first-child{ opacity:1; }

/* ---- 画像の拡大表示（旧 fancyBox） ---- */
.tpz-lb{
	position:fixed; inset:0; z-index:10000;
	display:flex; align-items:center; justify-content:center;
	background:rgba(0,0,0,.88); padding:40px 60px;
}
.tpz-lb[hidden]{ display:none; }
.tpz-lb-inner{ max-width:100%; max-height:100%; text-align:center; }
.tpz-lb-img{ max-width:100%; max-height:80vh; display:block; margin:0 auto; }
.tpz-lb-cap{ margin:10px 0 0; color:#FFF; font-size:13px; }
.tpz-lb-close, .tpz-lb-prev, .tpz-lb-next{
	position:absolute; background:rgba(255,255,255,.15); color:#FFF;
	border:none; cursor:pointer; line-height:1;
}
.tpz-lb-close{ top:12px; right:12px; width:44px; height:44px; font-size:26px; }
.tpz-lb-prev, .tpz-lb-next{ top:50%; transform:translateY(-50%); width:44px; height:66px; font-size:30px; }
.tpz-lb-prev{ left:8px; }
.tpz-lb-next{ right:8px; }
.tpz-lb-close:hover, .tpz-lb-prev:hover, .tpz-lb-next:hover{ background:rgba(255,255,255,.32); }
.tpz-lb button:focus-visible{ outline:3px solid #C9B85F; outline-offset:2px; }

/* ---- ギャラリーのスライダー（旧 slick） ---- */
.tpz-slider{ position:relative; }
.tpz-slider .tpz-slide{ display:none; }
/* スライドの画像は枠幅に合わせる（撤去した slick.css が担っていた指定） */
.tpz-slider .tpz-slide img{ width:100%; height:auto; display:block; }

.tpz-slider .tpz-slide.is-active{ display:block; }
.tpz-thumbs-wrap{ position:relative; display:flex; align-items:center; gap:6px; margin-top:10px; }
.tpz-thumbs{
	display:flex; gap:6px; overflow-x:auto; flex:1 1 auto;
	scroll-behavior:smooth; -webkit-overflow-scrolling:touch;
}

/* サムネイル列のスクロールバーは隠す（矢印とサムネイルのクリックで操作するため）。
   キーボード操作は tabindex と矢印ボタンで担保している。 */
.tpz-thumbs{ scrollbar-width:none; -ms-overflow-style:none; }
.tpz-thumbs::-webkit-scrollbar{ display:none; }
.tpz-thumbs .tpz-thumb{
	flex:0 0 calc((100% - 12px) / 3); cursor:pointer;
	opacity:.55; transition:opacity .2s;
}
.tpz-thumbs .tpz-thumb.is-active{ opacity:1; outline:3px solid #908338; outline-offset:-3px; }
.tpz-thumbs .tpz-thumb:hover{ opacity:.85; }
.tpz-thumbs .tpz-thumb img{ width:100%; height:auto; display:block; }
.tpz-thumb-arrow{
	flex:0 0 auto; width:32px; height:56px; font-size:22px; line-height:1;
	background:#202935; color:#FFF; border:none; cursor:pointer;
}
.tpz-thumb-arrow:hover{ background:#39434F; }
.tpz-thumb:focus-visible, .tpz-thumb-arrow:focus-visible{ outline:3px solid #B3261E; outline-offset:2px; }

/* ---- 動きを減らす設定の端末では、切り替えのアニメーションを止める ---- */
@media (prefers-reduced-motion: reduce){
	#bgFade.is-ready div{ transition:none; }
	.tpz-thumbs{ scroll-behavior:auto; }
}

/* ---- SPメニューのスライドイン ----
   旧 common.js は jQuery の .animate() で right の値を動かしていた。
   jQuery を撤去したため CSS の transition に置き換える。
   JS はクラス（body.open / #sp-menu.active）の付け外しだけを行う。 */
.gnav{ display:block !important; transition:right .3s ease; }
body.open .gnav{ right:0; }
#sp-menu{ transition:right .3s ease; }
body.open #sp-menu{ right:240px; }
body{ transition:right .3s ease; position:relative; }
body.open{ right:240px; }

@media (prefers-reduced-motion: reduce){
	.gnav, #sp-menu, body{ transition:none; }
}
