@charset "utf-8";
/* ============================================================================
   nijinohashi.css  ―  譲渡型保護ねこカフェ にじのはし 専用スタイル

   ・njh-init.php から、にじのはし配下のページでのみ読み込まれる
   ・すべてのセレクタを .njh-wrap / body.njh-page に限定している
     （例外は body.njh-page header / #gNavi / footer / .fixBot の非表示指定。
       いずれも body クラスでスコープされているため、他ページには影響しない）
   ・既存サイトのトークンに合わせている
       1rem = 10px（html font-size:62.5%）
       コンテンツ幅 1100px
       ブレークポイント max-width:599px
       .pc / .sp の表示切替は common.css の定義をそのまま利用
   ============================================================================ */

/* ---- 変数（IE11は非対応だが、テーマ自体が既にIE非対応のため許容） -------- */
.njh-wrap {
	--njh-main: #0059a9;
	--njh-accent: #ea577a;
	--njh-accent-dark: #91374d;
	--njh-text: #534741;
	--njh-cream: #fcf9d3;
	--njh-cream-soft: #fffdf2;
	--njh-line: #e3dccf;
	--njh-orange: #ec723b;
	--njh-cyan: #38acc2;
}

/* ============================================================================
   1. 共通レイアウト
   ========================================================================= */
.njh-wrap {
	width: 1100px;
	margin: 0 auto;
	padding: 3rem 0 6rem;
	color: #534741;
	font-size: 1.6rem;
	line-height: 1.9;
	text-align: left;
}

.njh-wrap img {
	max-width: 100%;
	height: auto;
}

.njh-wrap p {
	margin: 0 0 1.6em;
}

.njh-wrap p:last-child {
	margin-bottom: 0;
}

.njh-wrap a {
	color: #0059a9;
}

.njh-wrap a:hover {
	opacity: .75;
}

/* セクションの区切り */
.njh-sec {
	margin: 0 0 6rem;
}

.njh-sec:last-child {
	margin-bottom: 0;
}

/* ---- パンくず ------------------------------------------------------------ */
.njh-breadcrumb {
	font-size: 1.3rem;
	line-height: 1.6;
	color: #8b8175;
	margin: 0 0 2.4rem;
}

.njh-breadcrumb a {
	color: #8b8175;
	text-decoration: none;
}

.njh-breadcrumb a:hover {
	text-decoration: underline;
}

.njh-bc-sep {
	margin: 0 .6em;
}

.njh-bc-current {
	color: #534741;
}

/* ============================================================================
   2. 見出し
   ========================================================================= */

/* ページタイトル（h1）※テンプレートが自動出力 */
.njh-ttl {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 3.8rem;
	line-height: 1.5;
	font-weight: normal;
	color: #534741;
	text-align: center;
	margin: 0 0 4rem;
	padding: 0 0 2rem;
	position: relative;
}

.njh-ttl::after {
	content: "";
	display: block;
	width: 8rem;
	height: 3px;
	background: #ea577a;
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -4rem;
	border-radius: 2px;
}

/* 大見出し（h2） */
.njh-wrap .njh-h2 {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 3rem;
	line-height: 1.5;
	font-weight: normal;
	color: #534741;
	text-align: center;
	margin: 0 0 3rem;
}

.njh-wrap .njh-h2 span {
	background: linear-gradient(transparent 62%, #fccae8 62%);
	padding: 0 .2em;
}

/* 中見出し（h3） */
.njh-wrap .njh-h3 {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 2.2rem;
	line-height: 1.6;
	font-weight: normal;
	color: #0059a9;
	margin: 4rem 0 1.6rem;
	padding: 0 0 .6rem 1.2rem;
	border-bottom: 1px solid #e3dccf;
	border-left: 5px solid #0059a9;
}

.njh-wrap .njh-h3:first-child {
	margin-top: 0;
}

/* リード文 */
.njh-lead {
	font-size: 1.8rem;
	line-height: 2;
	text-align: center;
	margin: 0 0 4rem;
}

/* ============================================================================
   3. ヒーロー（トップページ）
   ========================================================================= */
.njh-hero {
	margin: 0 0 5rem;
}

.njh-hero-img {
	margin: 0 0 3rem;
	border-radius: 8px;
	overflow: hidden;
	line-height: 0;
}

.njh-hero-img img {
	width: 100%;
	display: block;
}

.njh-hero h1 {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 3.6rem;
	line-height: 1.5;
	font-weight: normal;
	text-align: center;
	margin: 0 0 1.6rem;
	color: #534741;
}

.njh-hero .njh-hero-sub {
	font-size: 1.6rem;
	text-align: center;
	color: #8b8175;
	margin: 0;
}

/* ============================================================================
   4. テーブル
   ========================================================================= */
.njh-wrap .njh-table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	background: #fff;
	border: 1px solid #e3dccf;
	margin: 0 0 2rem;
	font-size: 1.5rem;
	line-height: 1.8;
}

.njh-wrap .njh-table th,
.njh-wrap .njh-table td {
	border: 1px solid #e3dccf;
	padding: 1.4rem 1.8rem;
	text-align: left;
	vertical-align: top;
}

.njh-wrap .njh-table th {
	width: 26%;
	background: #fcf9d3;
	font-weight: normal;
	color: #534741;
	white-space: nowrap;
}

/* [njh_shop_info] のラッパー */
.njh-info {
	margin: 0 0 2rem;
}

.njh-info .njh-table {
	margin-bottom: 0;
}

.njh-kana {
	display: block;
	font-size: 1.2rem;
	color: #8b8175;
	line-height: 1.6;
}

.njh-wrap .njh-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.njh-wrap .njh-list li {
	position: relative;
	padding: 0 0 0 1.4em;
	margin: 0;
}

.njh-wrap .njh-list li::before {
	content: "●";
	color: #ea577a;
	font-size: .8em;
	position: absolute;
	left: 0;
	top: .1em;
}

.njh-wrap .njh-pay {
	margin: 0;
}

.njh-wrap .njh-pay dt {
	font-weight: normal;
	color: #0059a9;
	margin: 0;
}

.njh-wrap .njh-pay dd {
	margin: 0 0 1em;
}

.njh-wrap .njh-pay dd:last-child {
	margin-bottom: 0;
}

/* ============================================================================
   5. 料金表
   ========================================================================= */
/* [njh_price_table] のラッパー */
.njh-price {
	margin: 0;
}

.njh-price-lead {
	text-align: center;
	font-size: 1.7rem;
	margin: 0 0 3rem;
}

.njh-price-cols {
	display: flex;
	justify-content: space-between;
	margin: 0 0 2rem;
}

.njh-price-col {
	width: 48.5%;
}

.njh-wrap .njh-table-price th {
	width: 30%;
	white-space: nowrap;
}

.njh-wrap .njh-table-price td {
	text-align: left;
}

.njh-wrap .njh-table-price .njh-yen {
	text-align: right;
	white-space: nowrap;
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 1.8rem;
	color: #ea577a;
}

.njh-price-ext {
	text-align: right;
	font-size: 1.4rem;
	color: #8b8175;
	margin: 0;
}

.njh-wrap .njh-table-opt th {
	width: 60%;
	white-space: normal;
}

.njh-wrap .njh-notes {
	margin: 2.4rem 0 0;
	padding: 2rem 2.4rem;
	list-style: none;
	background: #fffdf2;
	border: 1px dashed #e3dccf;
	border-radius: 6px;
	font-size: 1.4rem;
	line-height: 1.9;
}

.njh-wrap .njh-notes li {
	position: relative;
	padding: 0 0 0 1.4em;
	margin: 0;
}

.njh-wrap .njh-notes li::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
	color: #8b8175;
}

/* ============================================================================
   6. 第一種動物取扱業の掲示
   ========================================================================= */
.njh-license {
	margin: 5rem 0 0;
	padding: 3rem;
	background: #fffdf2;
	border: 1px solid #e3dccf;
	border-radius: 6px;
}

.njh-license .njh-h3 {
	margin-top: 0;
}

.njh-wrap .njh-table-license {
	margin-bottom: 0;
	font-size: 1.4rem;
}

.njh-wrap .njh-table-license th {
	width: 32%;
}

/* ============================================================================
   7. CTA（電話＋予約フォームへのボタン）
   ========================================================================= */
.njh-cta {
	background: #fcf9d3;
	border-radius: 8px;
	padding: 3.6rem 3rem;
	text-align: center;
	margin: 5rem 0;
}

.njh-cta-ttl {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 2.4rem;
	line-height: 1.5;
	margin: 0 0 1.6rem;
	color: #534741;
}

.njh-cta-tel {
	margin: 0 0 .6rem;
}

.njh-cta-hours {
	font-size: 1.4rem;
	color: #8b8175;
	margin: 0 0 2.4rem;
}

.njh-cta-note {
	font-size: 1.4rem;
	color: #8b8175;
	margin: 2rem 0 0;
}

/* 電話番号（PCはテキスト／SPはリンク） */
.njh-tel {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 3.4rem;
	line-height: 1.3;
	color: #ea577a;
	letter-spacing: .02em;
}

.njh-tel a {
	color: #ea577a;
	text-decoration: none;
}

/* テーブル内の電話番号は本文サイズに落とす */
.njh-wrap .njh-table .njh-tel {
	font-size: 2rem;
}

/* ---- ボタン（既存テーマと同じ「角丸5px＋影を消して10px沈む」挙動） ------- */
.njh-cta-btn {
	margin: 0;
}

.njh-cta-btn a,
.njh-btn a {
	display: inline-block;
	min-width: 42rem;
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 2.4rem;
	line-height: 1.5;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background: #ea577a;
	border-radius: 5px;
	padding: 1.4rem 4rem;
	box-shadow: 0 10px 0 #91374d;
	transition: .5s;
}

.njh-cta-btn a:hover,
.njh-btn a:hover {
	transform: translate3d(0, 10px, 0);
	box-shadow: none;
	opacity: 1;
}

.njh-btn {
	text-align: center;
	margin: 3rem 0;
}

/* 副ボタン（青） */
.njh-btn-sub a {
	background: #0059a9;
	box-shadow: 0 10px 0 #003f77;
	font-size: 2rem;
	min-width: 34rem;
}

/* ============================================================================
   8. カード・写真並び
   ========================================================================= */
.njh-cards {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 0 3rem;
}

.njh-card {
	width: 32%;
	background: #fff;
	border: 1px solid #e3dccf;
	border-radius: 8px;
	overflow: hidden;
	margin: 0 0 2rem;
}

.njh-card img {
	width: 100%;
	display: block;
}

.njh-card-body {
	padding: 1.8rem 2rem;
}

.njh-card-body p {
	font-size: 1.4rem;
	line-height: 1.8;
	margin: 0;
}

.njh-figure {
	margin: 0 0 3rem;
	text-align: center;
}

.njh-figure img {
	border-radius: 8px;
}

.njh-figure figcaption {
	font-size: 1.3rem;
	color: #8b8175;
	margin: 1rem 0 0;
}

/* 2カラム */
.njh-cols {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 3rem;
}

.njh-col {
	width: 48.5%;
}

/* ============================================================================
   9. 目次（トップの各ページへの案内）
   ========================================================================= */
.njh-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	list-style: none;
}

.njh-menu li {
	width: 48.5%;
	margin: 0 0 1.6rem;
}

.njh-menu li a {
	display: block;
	background: #fff;
	border: 1px solid #e3dccf;
	border-radius: 6px;
	padding: 1.8rem 4rem 1.8rem 2rem;
	font-size: 1.7rem;
	line-height: 1.6;
	color: #534741;
	text-decoration: none;
	position: relative;
	transition: .3s;
}

.njh-menu li a::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #ea577a;
	border-right: 2px solid #ea577a;
	transform: rotate(45deg);
	position: absolute;
	right: 2rem;
	top: 50%;
	margin-top: -5px;
}

.njh-menu li a:hover {
	background: #fffdf2;
	border-color: #ea577a;
	opacity: 1;
}

.njh-menu li a span {
	display: block;
	font-size: 1.3rem;
	color: #8b8175;
	line-height: 1.6;
}

/* ============================================================================
   10. 注意書き・強調ボックス
   ========================================================================= */
.njh-box {
	background: #fffdf2;
	border: 1px solid #e3dccf;
	border-radius: 6px;
	padding: 2.4rem 3rem;
	margin: 0 0 3rem;
}

.njh-box-attention {
	background: #fff5f7;
	border-color: #f2c4cf;
}

.njh-box .njh-h3 {
	margin-top: 0;
}

.njh-box > *:last-child {
	margin-bottom: 0;
}

.njh-alert {
	background: #fff5f7;
	border: 1px solid #ea577a;
	border-radius: 6px;
	padding: 1.8rem 2.4rem;
	color: #91374d;
	font-size: 1.5rem;
	line-height: 1.8;
	margin: 0 0 3rem;
}

.njh-must {
	color: #ea577a;
	font-size: 1.3rem;
	margin-left: .5em;
}

/* ルール一覧 */
.njh-wrap .njh-rules {
	margin: 0 0 3rem;
	padding: 0;
	list-style: none;
	counter-reset: njhrule;
}

.njh-wrap .njh-rules li {
	position: relative;
	padding: 1.6rem 0 1.6rem 4.4rem;
	border-bottom: 1px dashed #e3dccf;
	margin: 0;
}

.njh-wrap .njh-rules li::before {
	counter-increment: njhrule;
	content: counter(njhrule);
	position: absolute;
	left: 0;
	top: 1.6rem;
	width: 2.8rem;
	height: 2.8rem;
	line-height: 2.8rem;
	text-align: center;
	background: #ea577a;
	color: #fff;
	border-radius: 50%;
	font-size: 1.4rem;
}

/* ============================================================================
   11. 地図
   ========================================================================= */
.njh-map {
	position: relative;
	width: 100%;
	padding-top: 45%;
	margin: 0 0 3rem;
	border-radius: 8px;
	overflow: hidden;
}

.njh-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ============================================================================
   12. 予約フォーム（MW WP Form）
   ========================================================================= */
.njh-form {
	background: #fffdf2;
	border: 1px solid #e3dccf;
	border-radius: 8px;
	padding: 4rem;
	margin: 0 0 3rem;
}

.njh-form-row {
	display: flex;
	align-items: flex-start;
	padding: 2.2rem 0;
	border-bottom: 1px dashed #e3dccf;
}

.njh-form-row:first-child {
	padding-top: 0;
}

.njh-form-label {
	width: 30%;
	font-size: 1.5rem;
	line-height: 1.7;
	padding-top: .6rem;
}

.njh-form-field {
	width: 70%;
}

.njh-form-field .njh-hint {
	display: block;
	font-size: 1.3rem;
	color: #8b8175;
	line-height: 1.7;
	margin-top: .6rem;
}

.njh-form input[type="text"],
.njh-form input[type="tel"],
.njh-form input[type="email"],
.njh-form input[type="date"],
.njh-form input[type="number"],
.njh-form select,
.njh-form textarea {
	font-family: inherit;
	font-size: 1.6rem;
	line-height: 1.6;
	color: #534741;
	background: #fff;
	border: 1px solid #cfc7b8;
	border-radius: 4px;
	padding: 1rem 1.2rem;
	box-sizing: border-box;
	max-width: 100%;
}

.njh-form input[type="text"],
.njh-form input[type="tel"],
.njh-form input[type="email"],
.njh-form textarea {
	width: 100%;
}

.njh-form input[type="number"] {
	width: 8rem;
}

/* ご希望時間帯：「時」「分」の2つのプルダウン */
.njh-form-time select {
	width: auto;
	min-width: 8rem;
}

/* ご利用人数：「大人 ○名」「小学生以下 ○名」を横並びにする */
.njh-people {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.2rem 3rem;
}

.njh-people-item {
	display: inline-flex;
	align-items: center;
	gap: .8rem;
	white-space: nowrap;
	font-size: 1.5rem;
}

/* 直前の .njh-form input[type="text"]{width:100%} より詳細度を上げて上書きする */
.njh-form .njh-people-item input[type="text"] {
	width: 6rem;
	text-align: center;
}

.njh-form textarea {
	min-height: 12rem;
}

.njh-form input:focus,
.njh-form select:focus,
.njh-form textarea:focus {
	outline: none;
	border-color: #0059a9;
	box-shadow: 0 0 0 3px rgba(0, 89, 169, .12);
}

.njh-form .mwform-radio-field,
.njh-form .mwform-checkbox-field {
	display: inline-block;
	margin: 0 2rem .6rem 0;
	font-size: 1.5rem;
}

/* 送信ボタン */
.njh-form input[type="submit"],
.njh-form button[type="submit"] {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 2.2rem;
	line-height: 1.5;
	color: #fff;
	background: #ea577a;
	border: none;
	border-radius: 5px;
	padding: 1.4rem 5rem;
	box-shadow: 0 8px 0 #91374d;
	cursor: pointer;
	transition: .3s;
	-webkit-appearance: none;
	appearance: none;
}

.njh-form input[type="submit"]:hover,
.njh-form button[type="submit"]:hover {
	transform: translate3d(0, 8px, 0);
	box-shadow: none;
}

.njh-form-submit {
	text-align: center;
	padding: 3rem 0 0;
	border: none;
}

/* MW WP Form のエラー表示 */
.njh-form .error {
	display: block;
	color: #d0021b;
	font-size: 1.4rem;
	line-height: 1.7;
	margin-top: .6rem;
}

/* ---- ハニーポット：人間には見えない。CSSが効かない環境でも
        画面外に飛ばすだけなので、スクリーンリーダー利用者の誤入力を避けるため
        aria-hidden と tabindex="-1" を本文側で併用する ------------------- */
.njh-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* ============================================================================
   13. にじのはし専用ヘッダー・フッター
       テーマ共通の <header>（ロゴ・電話・ハンバーガーメニュー）と
       <footer>（WAVYの住所・地図・フッターナビ）、その開閉メニューである
       #gNavi は、にじのはし配下では非表示にする。
       代わりに njh_site_header() / njh_site_footer()（njh-init.php）が出す
       専用のヘッダー・フッターをここでスタイリングする。

       注意：WAVYの元の <header>/<footer> にはclass名が付いていないため
       タグ名だけで非表示にしているが、njh_site_header()/njh_site_footer()
       も同じ <header>/<footer> タグを使っているので :not() で明示的に除外し、
       自分自身まで隠してしまわないようにしている。
   ========================================================================= */
body.njh-page header:not(.njh-site-header),
body.njh-page #gNavi,
body.njh-page footer:not(.njh-site-footer) {
	display: none !important;
}

.njh-site-header {
	background: #fffdf2;
	border-bottom: 1px solid #e3dccf;
}

.njh-site-header-in {
	width: 1100px;
	margin: 0 auto;
	padding: 1.6rem 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.njh-site-brand {
	display: block;
	text-decoration: none;
	color: #534741;
}

.njh-site-brand:hover {
	opacity: .8;
}

.njh-site-brand-name {
	display: block;
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 2.2rem;
	line-height: 1.4;
}

.njh-site-header-tel .njh-tel {
	font-size: 2.4rem;
}

.njh-site-footer {
	background: #534741;
	color: #fff;
	margin-top: 6rem;
}

.njh-site-footer-in {
	width: 1100px;
	margin: 0 auto;
	padding: 4rem 0;
	text-align: center;
}

.njh-site-footer-name {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 2rem;
	margin: 0 0 1.6rem;
}

.njh-site-footer-addr {
	font-size: 1.4rem;
	line-height: 1.9;
	margin: 0 0 1.6rem;
	color: #e3dccf;
}

.njh-site-footer-addr a {
	color: #fff;
}

/* [njh_tel_html] のデフォルト3.4remは大きすぎるため、本文サイズに合わせる */
.njh-site-footer-addr .njh-tel {
	font-size: 1.4rem;
}

.njh-site-footer-links {
	font-size: 1.4rem;
	margin: 0 0 2.4rem;
}

.njh-site-footer-links a {
	color: #fff;
	text-decoration: underline;
}

.njh-site-footer-sep {
	margin: 0 .8em;
	color: #8b8175;
}

.njh-site-footer-op {
	font-size: 1.3rem;
	margin: 0 0 .8rem;
	color: #cfc7b8;
}

.njh-site-footer-op a {
	color: #cfc7b8;
}

.njh-site-footer-copy {
	font-size: 1.2rem;
	margin: 0;
	color: #8b8175;
}

/* ============================================================================
   14. 画面下部の専用固定バー
       テーマ共通の .fixBot（火葬の電話番号）はにじのはし配下では隠す。
       このCSSはにじのはし配下でしか読み込まれないため、他ページには影響しない。
   ========================================================================= */
body.njh-page .fixBot {
	display: none !important;
}

.njh-fixbar {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	background: rgba(83, 71, 65, .92);
	padding: 1rem 0;
	z-index: 100;
}

.njh-fixbar-in {
	width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.njh-fixbar-ttl {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 1.9rem;
	line-height: 1.4;
	color: #fff;
	margin: 0;
}

.njh-fixbar-btns {
	display: flex;
	align-items: center;
}

.njh-fixbar-tel {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 2.6rem;
	line-height: 1.2;
	color: #fff;
	text-decoration: none;
	margin-right: 2.4rem;
	white-space: nowrap;
}

.njh-fixbar-form {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.4;
	color: #fff;
	text-decoration: none;
	background: #ea577a;
	border-radius: 5px;
	padding: 1.1rem 2.4rem;
	white-space: nowrap;
	transition: .3s;
}

.njh-fixbar-form:hover {
	opacity: .85;
}

/* ============================================================================
   15. スマホ（599px以下）
   ========================================================================= */
@media screen and (max-width: 599px) {

	.njh-wrap {
		width: 100%;
		padding: 2rem 1.5rem 4rem;
		box-sizing: border-box;
		font-size: 1.5rem;
		line-height: 1.85;
	}

	.njh-sec {
		margin-bottom: 4rem;
	}

	.njh-breadcrumb {
		font-size: 1.1rem;
		margin-bottom: 1.6rem;
	}

	.njh-ttl {
		font-size: 2.4rem;
		margin-bottom: 2.6rem;
		padding-bottom: 1.4rem;
	}

	.njh-ttl::after {
		width: 5rem;
		margin-left: -2.5rem;
	}

	.njh-wrap .njh-h2 {
		font-size: 2.1rem;
		margin-bottom: 2rem;
	}

	.njh-wrap .njh-h3 {
		font-size: 1.8rem;
		margin: 3rem 0 1.2rem;
		padding-left: 1rem;
	}

	.njh-lead {
		font-size: 1.5rem;
		text-align: left;
		margin-bottom: 2.6rem;
	}

	/* ヒーロー */
	.njh-hero {
		margin-bottom: 3rem;
	}

	.njh-hero-img {
		margin-bottom: 2rem;
		border-radius: 6px;
	}

	.njh-hero h1 {
		font-size: 2.2rem;
	}

	.njh-hero .njh-hero-sub {
		font-size: 1.3rem;
	}

	/* テーブルは縦積みにする */
	.njh-wrap .njh-table {
		font-size: 1.4rem;
	}

	.njh-wrap .njh-table th,
	.njh-wrap .njh-table td {
		display: block;
		width: auto;
		white-space: normal;
		padding: 1rem 1.4rem;
		border: none;
		border-bottom: 1px solid #e3dccf;
	}

	.njh-wrap .njh-table th {
		border-bottom: none;
		font-size: 1.3rem;
		color: #8b8175;
		padding-bottom: .2rem;
		background: #fcf9d3;
	}

	.njh-wrap .njh-table tr:last-child td {
		border-bottom: none;
	}

	/* 料金表は「時間／ドリンク／金額」を1行に保つ */
	.njh-price-cols {
		display: block;
	}

	.njh-price-col {
		width: 100%;
		margin-bottom: 2.6rem;
	}

	.njh-wrap .njh-table-price th,
	.njh-wrap .njh-table-price td {
		display: table-cell;
		width: auto;
		border: 1px solid #e3dccf;
		padding: .9rem 1rem;
		font-size: 1.4rem;
		color: #534741;
	}

	.njh-wrap .njh-table-price th {
		width: 26%;
		white-space: nowrap;
		padding-bottom: .9rem;
	}

	.njh-wrap .njh-table-price .njh-yen {
		font-size: 1.6rem;
	}

	.njh-wrap .njh-table-opt th {
		width: 62%;
		white-space: normal;
	}

	.njh-price-lead {
		font-size: 1.5rem;
		text-align: left;
		margin-bottom: 2rem;
	}

	.njh-wrap .njh-notes {
		padding: 1.6rem 1.8rem;
		font-size: 1.3rem;
	}

	/* 掲示・ボックス */
	.njh-license {
		padding: 2rem 1.8rem;
		margin-top: 3.4rem;
	}

	.njh-box {
		padding: 1.8rem 1.8rem;
	}

	/* CTA */
	.njh-cta {
		padding: 2.6rem 1.8rem;
		margin: 3.4rem 0;
	}

	.njh-cta-ttl {
		font-size: 1.9rem;
	}

	.njh-tel {
		font-size: 2.8rem;
	}

	.njh-wrap .njh-table .njh-tel {
		font-size: 1.9rem;
	}

	.njh-cta-btn a,
	.njh-btn a {
		min-width: 0;
		width: 100%;
		box-sizing: border-box;
		font-size: 1.8rem;
		padding: 1.3rem 2rem;
		box-shadow: 0 5px 0 #91374d;
	}

	.njh-cta-btn a:hover,
	.njh-btn a:hover {
		transform: translate3d(0, 5px, 0);
	}

	.njh-btn-sub a {
		box-shadow: 0 5px 0 #003f77;
		font-size: 1.7rem;
	}

	/* カード・カラム */
	.njh-cards,
	.njh-cols {
		display: block;
	}

	.njh-card,
	.njh-col {
		width: 100%;
		margin-bottom: 1.8rem;
	}

	.njh-menu {
		display: block;
	}

	.njh-menu li {
		width: 100%;
		margin-bottom: 1.2rem;
	}

	.njh-menu li a {
		font-size: 1.5rem;
		padding: 1.4rem 3.4rem 1.4rem 1.6rem;
	}

	/* 地図 */
	.njh-map {
		padding-top: 75%;
	}

	/* フォーム */
	.njh-form {
		padding: 2rem 1.6rem;
	}

	.njh-form-row {
		display: block;
		padding: 1.6rem 0;
	}

	.njh-form-label,
	.njh-form-field {
		width: 100%;
	}

	.njh-form-label {
		padding-top: 0;
		margin-bottom: .8rem;
		font-size: 1.4rem;
		color: #8b8175;
	}

	.njh-form input[type="submit"],
	.njh-form button[type="submit"] {
		width: 100%;
		font-size: 1.8rem;
		padding: 1.3rem 2rem;
		box-shadow: 0 5px 0 #91374d;
	}

	/* サイト専用ヘッダー・フッター */
	.njh-site-header-in {
		width: 100%;
		box-sizing: border-box;
		padding: 1.2rem 1.5rem;
		flex-wrap: wrap;
		gap: .8rem;
	}

	.njh-site-brand-name {
		font-size: 1.7rem;
	}

	.njh-site-header-tel .njh-tel {
		font-size: 1.8rem;
	}

	.njh-site-footer-in {
		width: 100%;
		box-sizing: border-box;
		padding: 3rem 2rem;
	}

	.njh-site-footer-addr {
		font-size: 1.3rem;
	}

	/* 固定バー */
	.njh-fixbar {
		padding: .8rem 1.2rem;
		box-sizing: border-box;
	}

	.njh-fixbar-in {
		width: 100%;
		display: block;
	}

	.njh-fixbar-ttl {
		display: none;
	}

	.njh-fixbar-btns {
		justify-content: space-between;
	}

	.njh-fixbar-tel,
	.njh-fixbar-form {
		width: 48.5%;
		margin: 0;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.4;
		padding: 1.1rem 0;
		border-radius: 5px;
		box-sizing: border-box;
	}

	.njh-fixbar-tel {
		background: #0059a9;
		font-family: inherit;
	}
}
