@charset "utf-8";



/* 全体設定
----------------------------- */
body {
	font-family: 'Meiryo', sans-serif;	/* フォント指定 メイリオ優先 */
	overflow-y: scroll;	/* 常に縦スクロールバー出してメニューガタつき解消 */

	background: url("../img/base/bg.jpg") fixed top center;
	background-size: cover;

}


/* webfont
----------------------------- */
footer, header .dropdown li {
	font-family: 'Tinos', 'Meiryo', sans-serif;
}
header, h2  {	/* h2は下のbootstrapで再設定必要 */
	font-family: 'Tinos', 'Meiryo', sans-serif;
}
h2  {
/*	font-weight: 200;	*/
}
.mobilemenubtn p {	/* モバイルメニューボタンの文字 各デバイスで文字サイズ合わせるためにwebfont必須 */
	font-family: 'Denk One', sans-serif;
}


/* ヘッダーアニメーション Headroom.js
----------------------------- */
.headroom {position: fixed;top: 0;left: 0;right: 0;transition: all .2s ease-in-out;}
.headroom--unpinned {top: -12%;}	/* 隠す要素の高さに合わせて要調整 */
.headroom--pinned {top: 0;}

@media (max-width: 960px) {	/* モバイル時は専用メニューあるから無効化 */
	.headroom {position: relative;top: auto;left: auto;right: auto;transition: none;}
	.headroom--unpinned {top: auto;}
	.headroom--pinned {top: auto;}
}



/* bootstrap修正
----------------------------- */
h1,h2,h3,h4,h5,h6 {	/* bootstrapフォント再指定 */
	font-family: 'Averia Gruesa Libre', 'Meiryo', sans-serif;
}

/* モバイル時.rowの横マージン解除
----------------------------- */
@media (max-width: 767px) {
	.container > .row > [class*='col-'] {
	    padding-right:0;
	    padding-left:0;
	}
}


@media (max-width: 768px) {
	.navbar-fixed-top, .navbar-fixed-bottom {
		position: static;	/* モバイル時にメニュー固定解除 */
	}
	body {
		padding-top: 0;
	}
	.row:first-child {	/* モバイル用メニュー内のタイトルロゴ位置 */
		margin-top: 5px;
	}
}


.navbar {
	margin-bottom: 0;	/* 下マージン解除 */

}

.navbar-fixed-top, .navbar-fixed-bottom {
	position: static;	/* スクロール固定 */
}

.navbar-default {	/* メインメニュー背景 */
	background-color: transparent;
	border-color: transparent;
	background-image: none;
	box-shadow: none;
}
.navbar-fixed-top {	/* メインメニュー ボタンの下 謎のborder幅消し */
	border-width: 0 0 0px;
}
.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus {	/* メインメニュー アクティブボタン */
	background: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #CC0000;
	text-shadow: 0 0 15px rgba(255, 0, 0, 0.3);
}


.navbar-nav {	/* メインメニュー ボタンリスト範囲 */
	margin-top: .5em;

}
@media (min-width: 960px) {
	.navbar-nav {	/* PC解像度のみ整列 */
		display: flex;
		justify-content: space-between;
	}
}
@media (min-width: 1200px) {	/* 解像度でメニュー上マージン調整 */
	.navbar-nav {margin-top: 1em;}
}

.navbar-nav li {	/* メインメニューの各ボタン */
	padding: 0;

	text-align: center;
	font-size: 2rem;
}
@media (max-width: 992px) {	/* この解像度間はメニューに入りきってないので文字サイズ調整 */
	.navbar-nav li {
		font-size: 1.3rem;
	}
}
@media (max-width: 768px) {	/* モバイル時のメニューボタン範囲拡大 */
	.navbar-nav li {
		font-size: 1.8rem;
		padding: .3em;
	}
}
.navbar-nav li img {	/* メインメニューの画像ボタンセンタリング */
	margin: auto;
	text-align: center;
}


.navbar .nav > li > a {	/* メインメニューの各ボタン */
	padding: 0;
	line-height: 1;
/*	color: #f5f5f5;	*/
	color: #555;
/*		text-shadow: 0 0 1px #fff,
				2px 0 2px #000,
				-2px 0 2px #000,
				0 2px 2px #000,
				0 -2px 2px #000;
*/
	-moz-transition: all .3s ease-out;
	-webkit-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.navbar .nav > li {	/* メインメニューの各ボタン 非リンク文字 */
	color: #ddd;
		text-shadow: none;
	line-height: 1;
	margin-left: .5em;
}
@media (max-width: 960px) {	/* モバイル時のメニューボタン範囲拡大 */
	.navbar .nav > li {
		padding: .5em;
	}
}

.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {	/* メインメニューのhover時カラーここ */
	background-color: transparent;

	color: #990000;
	text-shadow: 0 0 5px rgba(255, 0, 0, 0.3);


}

.navbar-collapse {	/* モバイル時メインメニューの高さ固定しない */
	max-height: none;
}




/* メインメニュー設定
----------------------------- */
header {
	text-transform: uppercase;

	position: relative;
	z-index: 20;

	text-shadow: none;
	background: #eee;


	border-bottom: 1px solid transparent;
	box-shadow: 0 0 50px #FF0000;
	max-height: 60px;
}
.menu_ruby {
	font-size: 1rem;
	letter-spacing: .2em;
	line-height: 1.2;
	display: block;
	font-weight: bold;
}

.menu_title_m {	/* モバイル用メニュータイトル */
	font-size: 3rem;
	margin: 0em 0.25em 0;
	color: #555;
	text-align: center;
	border-bottom: 1px solid #ccc;
	margin-bottom: .7em;
	padding-bottom: .2em;
}

#title_logo {
	margin: auto;	/* モバイル時センタリング */
	margin-top: 0;
/*	margin-bottom: -80px;	*/
	position: relative;
	z-index: 21;
}
@media (max-width: 990px) {
	#title_logo {
		margin-top: 0;
		margin-bottom: 0;
		display: inline-block;
	}
}











/* SNSボタン
----------------------------- */
.jssocials-share-link {
	font-size: 1.4rem;
}
.share {
	text-align: center;
}
@media (max-width: 800px) {
	.jssocials-share-link {
		font-size: 1.6rem;
	}
}

.jssocials-share-link {	/* plainテーマのボタンの見た目 */
  border-radius: 0;
  border: 1px solid #acacac;
  color: #acacac;
}
.jssocials-share-link:hover, .jssocials-share-link:focus, .jssocials-share-link:active {
  border: 1px solid #939393;
  color: #939393;
}




/* 高さが足りなくてもfooter下に貼り付け
----------------------------- */
html {
	min-height: 100%;
	position: relative;
}
body {
	margin-bottom: 3em;	/* footerと同じ数値+マージン数値にする */
}

/* 最下部ロゴとコピーライト
----------------------------- */
footer {
	/* 下貼り付け用数値 */
	height: 3em;	/* bodyのmargin-bottomと同じ数値にする */
	bottom: 0;
	position: absolute;
	width: 100%;

	display: flex;
	justify-content: center;
	align-items: center;
}
small {	/* コピーライトテキスト */
	font-size: 1.2rem;
	letter-spacing: .1em;
	color: #999;
	text-shadow: 0 0 10px #FF0000;
	font-weight: bold;
}












/* 汎用ボックス
----------------------------- */
.box {
	padding: 1em;
	box-shadow: 0 0 30px rgba(255,255,255,0.4);
	color: #330000;
	border-radius: 3px;
	background: url("../img/base/bg-box.jpg");
	background-size: cover;

	text-shadow: 0 0 10px rgba(0,0,0,0.5);
	/* windows環境で無理やりテキストアンチエイリアス */
	transform: rotate(0.028deg);
	-ms-transform: rotate(0.028deg);
	-moz-transform: rotate(0.028deg);
	-webkit-transform: rotate(0.028deg);
}
@media (max-width: 767px) {
	.box {
		padding: 1em .5em;
	}
}
.box img {	/* 画像にはアンチエイリアスの回転かけない */
	transform: rotate(-0.028deg);
	-ms-transform: rotate(-0.028deg);
	-moz-transform: rotate(-0.028deg);
	-webkit-transform: rotate(-0.028deg);
}


h2 {
	line-height: .7;
	margin-bottom: 1em;

	text-align: center;
	margin: -.5em -.5em 1em;
	padding: .7em 2em 0;
	color: #330000;


}
@media (max-width: 767px) {
	h2 {
		margin: -.5em -.25em 1em;
	}
}
h2:first-letter {
	text-shadow: 0 0 20px rgba(150, 0, 0, 0.7);
}
h2:after {
	content: ".";
}

.title_ruby {
	font-size: 1.3rem;
	letter-spacing: 1em;
	padding-left: .5em;
}








/* 18歳以上確認ウィンド
----------------------------- */
.check18 a:link, .check18 a:visited {	/* 年齢確認ウィンドのリンクカラー */
	color: #444;
}
.check18 {
	display: none;	/* クッキー認証通ったら消す */
}




/* モバイル用サイドメニュー
----------------------------- */
.offcanvas-toggle {
	background: -webkit-repeating-linear-gradient(top,rgba(255, 255, 255, 0.9) 0%,rgb(255, 255, 255) 30%,rgb(255, 255, 255) 70%,rgba(255, 255, 255, 0.9) 100%);
	background: repeating-linear-gradient(to bottom,rgba(255, 255, 255, 0.9) 0%,rgb(255, 255, 255) 30%,rgb(255, 255, 255) 70%,rgba(255, 255, 255, 0.9) 100%);
	background: -ms-repeating-linear-gradient(top,rgba(255, 255, 255, 0.9) 0%,rgb(255, 255, 255) 30%,rgb(255, 255, 255) 70%,rgba(255, 255, 255, 0.9) 100%);
}	/* トグルの背景のカラー */
.offcanvas-toggle-bars-color { background-color: #000; }	/* トグルのアイコンバーのカラー */

@media (max-width: 767px) {
	.navbar-default {	/* メインメニュー背景 */
		background-color: #eee;	/* モバイル用メニューの背景色 */
		border-color: transparent;
		background-image: none;
		box-shadow: none;

	}
}

/* モバイル用サイドメニュー ボタン
----------------------------- */
.navbar-toggle {	/* bootstrap修正 */
	border-radius: 0;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}
.mobilemenubtn {
	position: fixed;
	z-index: 100;
	margin: 0;
	bottom: 0;	/* ボタン下寄せ */
	box-shadow: 0 0 25px rgba(0,0,0,0.2);
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}
.mobilemenubtn p {	/* MENU文字 */
	font-size: 1rem;
	line-height: 1;
	margin-top: .5em;
}
.mobilemenubtn button {	/* ボタンタッチ範囲 */
	margin: 0;
	padding: .8em 1em 0;
}
.mobilemenubtn button span {	/* ボタンの横線 */
	margin-left: .2em;
}


.mtitle {	/* モバイル時のページ先頭タイトル */
	margin: 0 auto 2em;
}
