@charset "utf-8";



/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*lightbox.cssの読み込み
---------------------------------------------------------------------------*/
@import url(https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.10.0/css/lightbox.css);

/*全体の設定
---------------------------------------------------------------------------*/
body,html {width: 100%;height: 100%;}
body {
	margin: 0px;
	padding: 0px;
	color: #d0d2db;	/*全体の文字色*/
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 15px;	/*文字サイズ*/
	line-height: 2.2;		/*行間*/
	background: #27292e;	/*背景色*/
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #d0d2db;		/*リンクテキストの色*/
	transition: 0.4s;	/*マウスオン時の移り変わるまでの時間設定。0.4秒。*/
}
a:hover {
	color: #6983a9;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*ヘッダー。最初に出てくるアニメーションのメニューブロック。
---------------------------------------------------------------------------*/
header {
	width: 100%;height: 110%;overflow: hidden;position: relative;
	background: #27292e url(../images/bg.jpg) no-repeat center center;	/*背景画像の設定（古いブラウザ用）*/
	background: #27292e url(../images/bg.jpg) no-repeat center center / cover;	/*背景画像の設定*/
}
/*h1タグ*/
header h1 {
	position: absolute;
	top: 0px;	/*上から0pxの場所に配置*/
	width: 100%;	/*幅*/
	text-align: center;		/*テキストをセンタリング*/
	background: #99918b;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.7);	/*背景色。0,0,0は黒の事で、最後の0.7は色が70%ついた状態。*/
	color: #d0d2db;	/*文字色*/
	font-weight: normal;	/*hタグのデフォルトの太字を標準に*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
	font-size: 12px;		/*文字サイズ*/
	z-index: 10;	/*重なりの順番。数字が大きい方が上に配置されます。*/
}

/*inner
---------------------------------------------------------------------------*/
.inner {
	overflow: hidden;
	max-width: 1400px;	/*コンテンツの最大幅*/
	padding: 50px 10%;	/*上下、左右へのボックス内の余白*/
}

/*背景色のスタイルです。contentsとセットで使います。
---------------------------------------------------------------------------*/
/*bg1*/
.bg1 {
	background: #18191c;	/*背景色のみ*/
}
/*bg2（Contactブロックで使用）*/
.bg2 {
	background: #000 url(../images/bg2.jpg) no-repeat center center;	/*背景画像の読み込み（古いブラウザ用）*/
	background: #000 url(../images/bg2.jpg) no-repeat center center / cover;	/*背景画像の読み込み*/
	color: #fff !important;	/*文字色*/
}
.bg2 a {
	color: #fff !important;	/*リンクテキストの文字色*/
}

/*contents
---------------------------------------------------------------------------*/
/*h2見出し*/
.contents h2 {
	clear: both;
	margin-bottom: 30px;	/*下に空けるスペース*/
	font-size: 40px;		/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
	line-height: 1.5;		/*行間をデフォルトから少し狭くする*/
}
/*h2見出し内のspanタグ。小文字表記部分。*/
.contents h2 span {
	display: block;
	font-size: 12px;	/*文字サイズ*/
}
/*h3見出し*/
.contents h3 {
	clear: both;
	margin-bottom: 20px;	/*下に空けるスペース*/
	font-size: 20px;		/*文字サイズ*/
	border-bottom: 2px solid rgba(255,255,255,.35);
	padding: 0 10px;	/*上下、左右へのブロック内の余白*/
}
/*段落タグ*/
.contents p {
	padding: 0px 10px 30px;		/*上、左右、下への余白*/
}
/*段落タグが続いた場合の設定*/
.contents p + p {
	margin-top: -10px;
}
/*setionが続いた場合の２つ目のsectionへの設定*/
.contents section + section {
	margin-top: 50px;	/*上に空けるスペース*/
}

/*Galleryページの各ボックス
---------------------------------------------------------------------------*/
.list {
	width: 33%;		/*幅。今は３列ですが、25%に変更すれば4列になります。*/
	float: left;	/*左に回り込み*/
	background: #000;	/*背景色。下の設定で透明度を半分にしているので、その際に出てくる色です。白にしておけば白っぽく表示されます。*/
}
/*画像の設定*/
.list a img {
	opacity: 0.5;	/*透明度50%。*/
}
/*マウスオン時の画像の設定*/
.list a:hover img {
	opacity: 1;		/*色が100%ついた状態*/
}

/*footerブロック
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;	/*センタリング*/
	background: #222;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 10px 0;	/*上下、左右へのボックス内の余白*/
}
footer a {text-decoration: none;color: #fff;}
footer .pr {display: block;font-size: 12px;}

/*「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*見出しを含まないお知らせブロック*/
#new dl {
	padding: 0 10px;	/*上下、左右へのボックス内の余白*/
}
/*日付設定*/
#new dt {
	float: left;	/*左に回り込み*/
	width: 9em;		/*幅*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
}
/*記事設定*/
#new dd {
	padding-left: 9em;	/*左に空ける余白*/
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 30px;	/*上、左右、下へのテーブルの外側へとるスペース*/
}
.ta1, .ta1 td, .ta1 th {
	border: 1px solid #d0d2db;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 15px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	border: 1px solid #d0d2db;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;		/*上のborderの指定から下線だけ消す設定*/
	padding: 10px 15px;	/*上下、左右へのボックス内の余白*/
	background: rgba(255,255,255,0.1);	/*背景色。255,255,255は白で、0.1は10%色がついた状態。古いブラウザでは適用されないので、必要ならこの上の行に通常のbackground指定を加えて下さい。*/
	text-align: left;		/*文字を左寄せ*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;	/*幅*/
	text-align: center;	/*センタリング*/
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.scroll-show {display: block;}
.scroll a {
	display: block;text-decoration: none;text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	position: fixed;
	right: 30px;		/*右からの配置場所指定*/
	bottom: 30px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	background: rgba(0,0,0,0.4);	/*背景色。0,0,0は黒色の指定で0.4は色が40%出た状態。*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
}
/*マウスオン時*/
.scroll a:hover {
	background: rgba(0,0,0,0.8);	/*背景色。0,0,0は黒色の指定で0.8は色が80%出た状態。*/
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #c3b5a2;background: rgba(0,0,0,0.1);padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.clear {clear: both;}
ul.disc {padding: 0em 25px 15px;list-style: disc;}
.color1, .color1 a {color: #b52654 !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
.fl {float: left;}
.fr {float: right;}
.big1 {font-size: 40px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}




/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){

/*inner
---------------------------------------------------------------------------*/
.inner {
	padding: 50px 3%;	/*上下、左右へのボックス内の余白*/
}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
.big1 {font-size: 20px;}
.fl {float: none;}
.fr {float: none;}
.sh {display:block;}
.pc {display:none;}

}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 12px;	/*文字サイズ*/
	line-height: 1.5;	/*行間*/
}

/*inner
---------------------------------------------------------------------------*/
.inner {
	padding: 30px 3%;	/*上下、左右へのボックス内の余白*/
}

/*contents
---------------------------------------------------------------------------*/
/*h2見出し*/
.contents h2 {
	margin-bottom: 20px;	/*下に空けるスペース*/
	font-size: 24px;		/*文字サイズ*/
	letter-spacing: normal;	/*文字間隔をデフォルトにする*/
}
/*h3見出し*/
.contents h3 {
	margin-bottom: 10px;	/*下に空けるスペース*/
	font-size: 16px;	/*文字サイズ*/
	padding-bottom: 5px;	/*下線と文字が近すぎるので、少し余白を作る*/
}
/*段落タグ*/
.contents p {
	padding: 0px 10px 20px;		/*上、左右、下への余白*/
}
/*setionが続いた場合の２つ目のsectionへの設定*/
.contents section + section {
	margin-top: 20px;	/*上に空けるスペース*/
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 16px;}

}

/* 超人バリスターマン
---------------------------------------------------------------------------*/
#baristarman-intro .baristarman-intro-section {
	display: flex;
	align-items: center;
	gap: 40px;
}

#baristarman-intro .water-text {
	flex: 1;
}

#baristarman-intro .water-photo {
	width: 42%;
	max-width: 520px;
	border-radius: 4px;
	object-fit: cover;
}

#baristarman .baristarman-blog-page {
	display: block;
	max-width: 760px;
	margin: 0 auto;
}

#baristarman .baristarman-blog-hero {
	text-align: center;
	margin: 0 0 24px;
}

#baristarman .baristarman-blog-kicker {
	font-size: 10px;
	line-height: 1.5;
	letter-spacing: .08em;
	color: rgba(255,255,255,.62);
	margin: 0 0 8px;
}

#baristarman .baristarman-blog-lead {
	font-size: 11px;
	line-height: 1.9;
	color: rgba(255,255,255,.82);
	margin: 0 auto 18px;
	max-width: 560px;
}

#baristarman .baristarman-blog-main-photo {
	display: block;
	width: 100%;
	max-height: 520px;
	object-fit: cover;
	border-radius: 4px;
	margin: 0 auto;
}

#baristarman .baristarman-article-list {
	display: grid;
	gap: 18px;
}

#baristarman .baristarman-article {
	border-top: 1px solid rgba(255,255,255,.24);
	padding: 18px 0 0;
}

#baristarman .baristarman-article-head {
	margin: 0 0 10px;
}

#baristarman .baristarman-article-date,
#baristarman .baristarman-article-label {
	display: inline-block;
	font-size: 10px;
	line-height: 1.5;
	letter-spacing: .08em;
	color: rgba(255,255,255,.52);
	margin: 0 8px 6px 0;
}

#baristarman .baristarman-article-label {
	color: rgba(255,255,255,.38);
}

#baristarman .baristarman-article h3 {
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: .04em;
	margin: 0 0 10px;
}

#baristarman .baristarman-article-body p {
	font-size: 11px;
	line-height: 2;
	color: rgba(255,255,255,.82);
	margin: 0 0 10px;
}

/* 画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){
#baristarman-intro .baristarman-intro-section {
	display: block;
}

#baristarman-intro .water-photo {
	width: 100%;
	max-width: none;
	margin-top: 20px;
}

#baristarman .baristarman-blog-main-photo {
	max-height: none;
}

}





























/* お勧め珈琲カフェ 地図
---------------------------------------------------------------------------*/
#map.contents > .inner {
  overflow: visible;
  max-width: none;
  padding-left: 3%;
  padding-right: 3%;
  box-sizing: border-box;
}

#map .map-frame-section {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 30px 0;
  box-sizing: border-box;
}

#map .map-frame-lead {
  text-align: center;
  margin-bottom: 24px;
  line-height: 1.8;
}

#map .recommend-map-frame {
  display: block;
  width: 100%;
  height: 560px;
  margin: 0 auto;
  border: 0;
  overflow: hidden;
}

#map .map-frame-note {
  margin-top: 16px;
  text-align: center;
  font-size: 13px;
  color: #d0d2db;
  line-height: 1.7;
}

@media screen and (min-width: 801px) {
  #map.contents > .inner {
    max-width: none;
    padding-left: 3%;
    padding-right: 3%;
  }

  #map .map-frame-section {
    width: 100%;
    max-width: none;
    padding: 40px 0;
  }

  #map .recommend-map-frame {
    width: 100%;
    max-width: none;
    height: 820px;
  }
}

@media screen and (max-width: 800px) {
  #map.contents > .inner {
    padding-left: 3%;
    padding-right: 3%;
  }

  #map .recommend-map-frame {
    width: 100%;
    height: 560px;
  }
}

@media screen and (max-width: 480px) {
  #map.contents > .inner {
    padding-left: 3%;
    padding-right: 3%;
  }
}
/* お勧め珈琲カフェ 地方選択
---------------------------------------------------------------------------*/
#map .map-region-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 24px;
}

#map .map-region-label {
  margin: 0;
  padding: 0 !important;
}

#map .map-region-select {
  width: auto;
  min-width: 180px;
  margin: 0;
  padding: 8px 34px 8px 12px !important;
  color: #fff;
  background: #2e2e2e;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 2px;
  font-family: inherit;
  line-height: 1.5;
}

#map .map-region-select:focus {
  outline: none;
  border-color: rgba(255,255,255,.75);
}

@media screen and (max-width:480px){
  #map .map-region-nav {
    display: block;
    text-align: center;
    margin-bottom: 18px;
  }

  #map .map-region-label {
    display: block;
    margin-bottom: 8px;
  }

  #map .map-region-select {
    width: 100%;
    max-width: 260px;
  }
}
/* お勧め珈琲カフェ iframe枠
---------------------------------------------------------------------------*/
#map .recommend-map-frame {
  border: 1px solid rgba(255,255,255,.35);
  background: #111;
  box-sizing: border-box;
}

#map .map-shop-grid .card.is-active,
#map .map-shop-grid .card:hover {
  background: rgba(179, 0, 0, 0.45) !important;
  border-color: #ff5a5a !important;
  box-shadow: 0 0 0 2px rgba(255, 90, 90, 0.65);
}

#map .stay-map-section .map-shop-grid .card.is-active,
#map .stay-map-section .map-shop-grid .card:hover {
  background: rgba(0, 139, 186, 0.42) !important;
  border-color: #55d7ff !important;
  box-shadow: 0 0 0 2px rgba(85, 215, 255, 0.5);
}

/* 店舗詳細
---------------------------------------------------------------------------*/
#cafe-detail .cafe-detail-page {
	max-width: 760px;
	margin: 0 auto;
}

#cafe-detail .cafe-detail-kicker {
	font-size: 10px;
	line-height: 1.5;
	letter-spacing: .08em;
	color: rgba(255,255,255,.62);
	text-align: center;
	margin: 0 0 8px;
}

#cafe-detail .cafe-detail-lead {
	margin: 18px auto 20px;
	max-width: 620px;
	text-align: center;
}

#cafe-detail .cafe-detail-lead p {
	font-size: 14px;
	line-height: 2;
	color: rgba(255,255,255,.84);
	margin: 0 0 10px;
}

#cafe-detail .cafe-detail-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	max-width: 620px;
	margin: 20px auto 18px;
}

#cafe-detail .cafe-detail-gallery img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 4px;
}

#cafe-detail .cafe-detail-info {
	margin: 18px auto;
	border-top: 1px solid rgba(255,255,255,.22);
	border-bottom: 1px solid rgba(255,255,255,.22);
}

#cafe-detail .cafe-detail-info div {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 14px;
	padding: 13px 0;
	border-top: 1px solid rgba(255,255,255,.12);
}

#cafe-detail .cafe-detail-info div:first-child {
	border-top: none;
}

#cafe-detail .cafe-detail-info dt,
#cafe-detail .cafe-detail-info dd {
	font-size: 14px;
	line-height: 1.8;
	margin: 0;
}

#cafe-detail .cafe-detail-info dt {
	color: rgba(255,255,255,.58);
}

#cafe-detail .cafe-detail-map {
	aspect-ratio: 16 / 10;
	min-height: 320px;
	background: #111;
	border: 1px solid rgba(255,255,255,.28);
}

#cafe-detail .cafe-detail-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

#cafe-detail .cafe-detail-back {
	text-align: center;
	margin: 18px 0 0;
}

#cafe-detail .cafe-detail-back a {
	display: inline-block;
	border: 1px solid rgba(255,255,255,.28);
	color: rgba(255,255,255,.82);
	font-size: 11px;
	line-height: 1;
	padding: 10px 14px;
	text-decoration: none;
}

#cafe-detail .cafe-detail-back a:hover {
	background: #b30000;
	color: #fff;
}

@media screen and (min-width:801px){
#cafe-detail .cafe-detail-kicker {
	font-size: 13px;
}

#cafe-detail .cafe-detail-lead p,
#cafe-detail .cafe-detail-info dt,
#cafe-detail .cafe-detail-info dd {
	font-size: 18px;
}

#cafe-detail .cafe-detail-back a {
	font-size: 14px;
}
}


/* 超人バリスターマン 小画像モーダル
---------------------------------------------------------------------------*/
#baristarman .baristarman-thumb-list,
#water .baristarman-thumb-list,
.top-magazine-block .baristarman-thumb-list {
	display: flex;
	justify-content: center;
	gap: 12px;
	padding: 0 10px 30px;
}

#baristarman .baristarman-thumb,
#water .baristarman-thumb,
.top-magazine-block .baristarman-thumb {
	display: block;
	width: 110px;
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	cursor: pointer;
}

#baristarman .baristarman-thumb img,
#water .baristarman-thumb img,
.top-magazine-block .baristarman-thumb img {
	display: block;
	width: 100%;
	height: auto;
}

#water .baristarman-thumb-list {
	padding-bottom: 8px;
}

#water .baristarman-caption {
	text-align: center;
	margin: 0 0 28px;
}

.top-magazine-block {
	margin-top: 18px;
}

.top-magazine-block .baristarman-caption {
	text-align: center;
}

@media screen and (min-width: 801px) {
	.top-magazine-block .baristarman-thumb-list {
		gap: 24px;
	}

	.top-magazine-block .baristarman-thumb {
		width: 220px;
	}
}

.baristarman-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
}

.baristarman-modal.is-open {
	display: block;
}

.baristarman-modal-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: none;
	background: rgba(0,0,0,0.75);
	cursor: pointer;
}

.baristarman-modal-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(90vw, 900px);
	max-height: 90vh;
}

.baristarman-modal-gallery {
	display: grid;
	gap: 16px;
	max-height: 90vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.baristarman-modal-image {
	display: block;
	width: 100%;
	max-height: 90vh;
	object-fit: contain;
	background: #000;
}

.baristarman-modal-close {
	position: absolute;
	top: -42px;
	right: 0;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid #fff;
	background: rgba(0,0,0,0.6);
	color: #fff;
	font-size: 24px;
	line-height: 34px;
	cursor: pointer;
}

/* お勧め珈琲カフェ 地方選択 色変更
---------------------------------------------------------------------------*/
#map .map-region-label {
	color: #ff5a5a;
	font-weight: bold;
	font-size: 2.2em;
}

#map .map-region-select {
	color: #fff;
	background: #8b0000;
	border-color: #ff5a5a;
	font-weight: bold;
}

#map .map-region-select:focus {
	border-color: #ffb3b3;
	box-shadow: 0 0 0 2px rgba(255,90,90,0.35);
}

/* トップページ ヒーロー画像切り替え
---------------------------------------------------------------------------*/
.hero-slider {
	position: relative;
	width: 100%;
	height: 1570px;
	overflow: hidden;
	z-index: 1;
}

.hero-slider .hero-slide {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	opacity: 0;
	object-fit: cover;
	object-position: center center;
	transform: translateX(100%);
	transition: none;
}

.hero-slider .hero-slide.is-active {
	z-index: 2;
	opacity: 1;
	transform: translateX(0);
	transition: transform 0.8s ease, opacity 0.8s ease;
}

.hero-slider .hero-slide.is-prev {
	z-index: 1;
	opacity: 1;
	transform: translateX(-100%);
	transition: transform 0.8s ease, opacity 0.8s ease;
}

.hero .hero-logo-link,
.hero .hero-copy,
.hero .nav-toggle {
	z-index: 10;
}
