@charset "UTF-8";
/* 統合CSS（@importチェーン解消によるページ速度改善） */

/**
 *
 * リセット、再定義
 *
**/


* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

/* 画像のはみ出し防止 */
img {
	max-width: 100%;
	height: auto;
}

table {
	color: #535353;
	font-family: "Meiryo","Meiryo UI","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック";
	font-size: 100%;
	line-height: 150%;
	letter-spacing: 0px;
}


table td,table td {
	empty-cells: show;
}

ul,ol {
	list-style: none;
}

a {
	color: #535353;
	text-decoration: none;
}

a:hover {
	color: #535353;
	text-decoration: underline;
}

img { border: none; }

em { font-style: normal; }

@charset "UTF-8";

/**
 *
 * 汎用スタイルシート
 *
**/


/**
 * フォントカラー
**/

.gray { color: #666666 !important; }
.red { color: #ff0000 !important; }
.pink { color: #d8658c !important; }

/**
 * フォントウェイト
**/

.bold { font-weight: bold !important; }


/**
 * フォントサイズ
**/

.font09 {
	font-size: 80%;
}

.font10 {
	font-size: 85%;
}

.font11 {
	font-size: 90%;
}

.font13 {
	font-size: 110%;
}

.font14 {
	font-size: 115%;
}

.font15 {
	line-height: 120%;
	font-size: 125%;
}

.font16 {
	line-height: 120%;
	font-size: 135%;
}

.font20 {
	line-height: 120%;
	font-size: 170%;
}

.font22 {
	line-height: 120%;
	font-size: 185%;
}

.font24 {
	line-height: 120%;
	font-size: 200%;
}


/**
 * テキストアライン
**/

.txt_right { text-align: right !important; }
.txt_left { text-align: left !important; }
.txt_center { text-align: center !important; }
.txt_center img {
	margin-left: auto !important;
	margin-right: auto !important;
}

/**
 * テキストインデント
**/

.txt_indent { text-indent: 1em !important; }


/**
 * マージン
**/

/* マージントップ */
.mt05 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mt55 { margin-top: 55px !important; }
.mt60 { margin-top: 60px !important; }

/* マージンボトム */
.mb05 { margin-bottom: 5px !important; }
.mb07 { margin-bottom: 7px !important; }
.mb08 { margin-bottom: 8px !important; }
.mb09 { margin-bottom: 9px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb85 { margin-bottom: 85px !important; }

/* マージンレフト */
.ml05 { margin-left: 5px !important; }
.ml09 { margin-left: 9px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }
.ml55 { margin-left: 55px !important; }
.ml60 { margin-left: 60px !important; }

/* マージンライト */
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }
.mr55 { margin-right: 55px !important; }
.mr60 { margin-right: 60px !important; }


/**
 * フロート
**/

.fl { float: left !important; }
.fr { float: right !important; }


/**
 * ワイド
**/

.w50 { width: 50px !important; }
.w100 { width: 100px !important; }
.w150 { width: 150px !important; }
.w200 { width: 200px !important; }
.w250 { width: 250px !important; }
.w300 { width: 300px !important; }
.w350 { width: 350px !important; }


/**
 * フォームパーツ
**/

.txt_w200 {
	width: 200px;
	max-width: 100%;
	height: 20px;
	line-height: 20px;
	background: #f4f2f3;
	border: 1px solid #cfcfcf;
}

.txt_w254 {
	width: 254px;
	max-width: 100%;
	height: 20px;
	line-height: 20px;
	background: #f4f2f3;
	border: 1px solid #cfcfcf;
}

.txt_w375 {
	width: 375px;
	max-width: 100%;
	height: 20px;
	line-height: 20px;
	background: #f4f2f3;
	border: 1px solid #cfcfcf;
}

.textarea {
	width: 375px;
	max-width: 100%;
	height: 88px;
	background: #f4f2f3;
	border: 1px solid #cfcfcf;
}

.comment_textarea {
	width: 718px;
	max-width: 100%;
	height: 138px;
	background: #ecf4f7;
	border: 1px solid #b7b3b2;
}


/**
 * コンテンツラッパー
**/

.content_wrap_01 {
	margin-bottom: 10px;
	padding-bottom: 11px;
	width: 749px;
	max-width: 100%;
	background: url("../images/content_back_02.png") no-repeat 0 bottom;
}

.content_wrap_01 .head_back {
	padding-top: 15px;
	width: 749px;
	max-width: 100%;
	background: url("../images/content_back_03.png") no-repeat 0 0;
}

.content_wrap_01 .wrap {
	padding: 0 0 10px 0;
	width: 749px;
	max-width: 100%;
	background: url("../images/content_back_01.png") repeat-y 0 0;
}


/**
 * タイトル
**/

.title_01 {
	margin-left: 15px;
	margin-right: 16px;
	padding: 6px 10px 6px 10px;
	font-weight: bold;
	font-size: 135%;
	background: #e0dcdd;
}

.title_02 {
	margin-left: 15px;
	margin-right: 16px;
	padding: 0 0 6px 0;
	font-weight: bold;
	font-size: 135%;
	border-bottom: 1px dotted #434343;
}


/**
 * クリアフィックス
**/

.clear {
	clear: both;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix { min-height: 1px; }
* html .clearfix { height: 1px; }


@charset "UTF-8";

/**
 *
 * レイアウト、共通コンテンツ
 *
**/


/**
 * ページ背景（グローバルオーバーライド）
**/

body {
	background: #f0f2f5 !important;
}


/**
 * ラッパー
**/

#wrapper {
	width: 100%;
}


/**
 * ヘッダー — フルワイド sticky ナビゲーションバー
**/

#header {
	position: sticky;
	top: 0;
	z-index: 500;
	width: 100%;
	max-width: none;
	height: 60px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.10);
	padding: 0;
	text-align: left;
	margin: 0;
}

/* SEO見出し（非表示・アクセシビリティ保持） */
#header .h1 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
}

/* ヘッダー内側コンテナ（1002px センタリング） */
.header-inner {
	max-width: 1002px;
	margin: 0 auto;
	height: 60px;
	display: flex;
	align-items: center;
	padding: 0 16px;
}

/* ロゴ */
#header #logo {
	position: static;
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
	line-height: 1.2;
	flex-shrink: 0;
	margin-right: 28px;
}

.logo-primary {
	font-size: 22px;
	font-weight: 800;
	color: #d8658c;
	letter-spacing: 0.02em;
}

.logo-secondary {
	font-size: 9px;
	color: #bbb;
	letter-spacing: 0.10em;
	font-weight: normal;
	text-transform: uppercase;
	margin-top: 2px;
}

/* PCナビゲーション */
.header-nav {
	display: flex;
	align-items: center;
	gap: 2px;
	flex: 1;
}

.header-nav a {
	color: #444;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	padding: 7px 10px;
	border-radius: 4px;
	white-space: nowrap;
	transition: background 0.15s, color 0.15s;
}

.header-nav a:hover {
	background: #fdf0f5;
	color: #d8658c;
	text-decoration: none;
}

/* ヘッダー右端アクション */
.header-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.header-username {
	font-size: 12px;
	color: #666;
	white-space: nowrap;
}

.btn-header-register {
	display: inline-block;
	background: #d8658c;
	color: #fff !important;
	padding: 7px 16px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.15s;
}

.btn-header-register:hover {
	background: #c4527a;
}

.btn-header-login {
	display: inline-block;
	background: transparent;
	color: #d8658c !important;
	border: 1.5px solid #d8658c;
	padding: 6px 16px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.15s, color 0.15s;
}

.btn-header-login:hover {
	background: #d8658c;
	color: #fff !important;
}

.btn-header-logout {
	display: inline-block;
	background: transparent;
	color: #888 !important;
	border: 1px solid #ddd;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 12px;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.15s;
}

.btn-header-logout:hover {
	background: #f5f5f5;
}

/* 旧ヘッダー要素を完全非表示 */
#header .social,
#header .ad,
#header .contry,
#header .sub_link,
#header .user,
#header .logout {
	display: none !important;
}


/**
 * コンテンツ
**/

#content {
	margin: 0 auto 30px auto;
	max-width: 1002px;
	width: 100%;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 9px;
}


/**
 * サイドコンテンツ
**/

#side {
	width: 243px;
	flex: 0 0 243px;
}


/**
 * メインコンテンツ
**/

#main {
	width: 750px;
	flex: 1 1 auto;
	min-width: 0;
}


/**
 * フッター
**/

#footer {
	padding: 11px 0 5px 0;
	width: 100%;
	font-size: 90%;
	color: #535353;
	background: #eceaeb;
	clear: both;
}

#footer a {
	color: #535353;
}

#footer .link li {
	display: inline;
}

.footer-inner {
	max-width: 1002px;
	margin: 0 auto;
	padding: 4px 16px 6px;
	text-align: center;
}


/**
 * ハンバーガーメニュー
**/

.hamburger-btn {
	display: none;
	position: absolute;
	top: 8px;
	right: 12px;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 6px;
	z-index: 600;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
}

.hamburger-btn span {
	display: block;
	width: 24px;
	height: 2px;
	background: #555;
	border-radius: 2px;
	transition: all 0.25s ease;
}

.hamburger-btn.active span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.hamburger-btn.active span:nth-child(2) {
	opacity: 0;
}

.hamburger-btn.active span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.mobile-nav {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 599;
	overflow-y: auto;
	padding: 64px 0 80px;
}

.mobile-nav.active {
	display: block;
}

.mobile-nav ul li {
	border-bottom: 1px solid #f0f0f0;
}

.mobile-nav ul li a {
	display: block;
	padding: 15px 20px;
	font-size: 15px;
	color: #333;
	text-decoration: none;
	font-weight: 500;
}

.mobile-nav ul li a:hover {
	background: #fdf0f5;
	color: #d8658c;
	text-decoration: none;
}

.mobile-nav ul li.nav-separator {
	margin-top: 12px;
	border-top: 2px solid #d8658c;
}


/**
 * タブレット対応（〜1024px）
**/

@media (max-width: 1024px) {
	.header-inner {
		padding: 0 10px;
	}

	#content {
		padding: 0 10px;
	}

	.header-nav a {
		font-size: 12px;
		padding: 7px 7px;
	}
}


/**
 * スマートフォン対応（〜767px）
**/

@media (max-width: 767px) {
	body {
		min-width: 0 !important;
		padding-bottom: 60px;
	}

	#header {
		height: 56px;
	}

	.header-inner {
		height: 56px;
		padding: 0 12px;
		padding-right: 56px;
	}

	.header-nav {
		display: none;
	}

	.header-actions {
		display: none;
	}

	.hamburger-btn {
		display: flex;
		top: 8px;
		right: 8px;
	}

	#content {
		flex-direction: column;
		padding: 0 10px;
	}

	#main {
		width: 100%;
		order: 1;
	}

	#side {
		width: 100%;
		flex: 0 0 100%;
		order: 2;
	}
}


/**
 * モバイル用ボトムナビゲーション
**/

.bottom-nav {
	display: none;
}

@media (max-width: 767px) {
	.bottom-nav {
		display: flex;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 56px;
		background: #fff;
		border-top: 1px solid #ddd;
		box-shadow: 0 -2px 8px rgba(0,0,0,0.08);
		z-index: 1000;
	}

	.bottom-nav-item {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-decoration: none !important;
		color: #535353;
		padding: 4px 2px;
		transition: background 0.15s;
		min-width: 0;
	}

	.bottom-nav-item:hover,
	.bottom-nav-item:active {
		background: #f5f0f0;
		color: #d8658c;
		text-decoration: none !important;
	}

	.bottom-nav-icon {
		font-size: 20px;
		line-height: 1;
		margin-bottom: 2px;
	}

	.bottom-nav-label {
		font-size: 9px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
		text-align: center;
	}
}


/**
 * サイドメニュー（マイページ）— 旧背景画像を排除してモダンCSSに置換
**/

#side .menu {
	width: auto !important;
	margin-bottom: 8px;
}

#side .menu .back_foot {
	width: auto !important;
	background: none !important;
	padding: 0 !important;
}

#side .menu .wrap {
	width: auto !important;
	background: none !important;
	padding: 0 !important;
}

#side .menu .wrap .tit {
	font-size: 1rem;
	font-weight: bold;
	color: #333;
	padding: 10px 12px 8px;
	border-bottom: 2px solid #d8658c;
	margin: 0 !important;
}

#side .menu .wrap .desc {
	width: auto !important;
}

#side .menu .wrap .link {
	margin: 0 !important;
}

#side .menu .wrap .link li,
#side .menu .wrap .link li a {
	width: 100% !important;
	height: auto !important;
	background: none !important;
}

#side .menu .wrap .link li {
	border-bottom: 1px solid #eee;
}

#side .menu .wrap .link li a {
	display: block !important;
	padding: 10px 14px !important;
	color: #444;
	font-size: 0.9rem;
	text-decoration: none;
	transition: background 0.12s, color 0.12s;
}

#side .menu .wrap .link li a:hover {
	background: #fdf0f5 !important;
	color: #d8658c;
	text-decoration: none;
}

#side .menu .wrap .link li.last {
	border-bottom: none;
}


/**
 * サイド その他ブロック — 旧背景画像を排除
**/

#side .site_about,
#side .new_message {
	width: auto !important;
}

#side .site_about .back_foot,
#side .new_message .back_foot {
	width: auto !important;
	background: none !important;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 12px !important;
	margin-bottom: 8px;
}

#side .site_about .wrap,
#side .new_message .wrap {
	width: auto !important;
	background: none !important;
}
@charset "UTF-8";

/**
 *
 * コンテンツ
 *
**/


/**
 * サイドカラム
**/

#side .site_about {
	margin-bottom: 11px;
	padding: 7px 0 0 0;
	width: 243px;
	background: url("../images/side_back_01.png") no-repeat 0 0;
}

#side .site_about .back_foot {
	padding: 0 0 9px 0;
	width: 243px;
	background: url("../images/side_back_03.png") no-repeat 0 bottom;
}

#side .site_about .wrap {
	width: 243px;
	background: url("../images/side_back_02.png") repeat-y 0 0;
}

#side .site_about .wrap .tit {
	margin: 0 0 3px 8px;
}

#side .site_about .wrap .desc {
	margin: 0 0 15px 11px;
	padding: 11px 0 0 0;
	width: 217px;
	color: #434343;
	border-top: 1px dotted #434343;
}

#side .site_about .wrap .desc .about_this_site {
	margin: 0 0 5px -2px;
}

#side .site_about .wrap .link {
	margin: 0 0 11px 13px;
}

#side .new_message {
	margin-bottom: 11px;
	padding: 7px 0 0 0;
	width: 243px;
	background: url("../images/side_back_01.png") no-repeat 0 0;
}

#side .new_message .back_foot {
	padding: 0 0 9px 0;
	width: 243px;
	background: url("../images/side_back_03.png") no-repeat 0 bottom;
}

#side .new_message .wrap {
	padding: 7px 0 0 0;
	width: 243px;
	background: url("../images/side_back_02.png") repeat-y 0 0;
}

#side .new_message .wrap .tit {
	margin: 0 0 10px 10px;
}

#side .new_message .wrap .desc {
	margin: 0 0 5px 10px;
	padding: 10px 0 0 0;
	width: 224px;
	color: #434343;
	font-size: 90%;
	border-top: 1px dotted #434343;
	background: url("../images/side_back_04.jpg") no-repeat right bottom;
}

#side .new_message .wrap .desc .list {
	width: 224px;
}

#side .new_message .wrap .desc .list dt {
	padding: 0 0 7px 0;
	width: 80px;
	color: #3080a5;
	float: left;
	clear: both;
}

#side .new_message .wrap .desc .list dd {
	padding: 0 0 7px 0;
	width: 144px;
	overflow: hidden;
}

#side .new_message .wrap .desc .link {
	margin-left: 49px;
}

#side .new_message .wrap .desc .link img {
	display: block;
}

#side .menu {
	margin-bottom: 11px;
	width: 243px;
}

#side .menu .back_foot {
	padding: 0 0 9px 0;
	width: 243px;
	background: url("../images/side_back_03.png") no-repeat 0 bottom;
}

#side .menu .wrap {
	padding: 4px 0 0 0;
	width: 243px;
	background: url("../images/side_back_02.png") repeat-y 0 0;
}

#side .menu .wrap .tit {
	margin: 0 0 0 0;
}

#side .menu .wrap .link {
	margin: 0 0 0 5px;
}

#side .menu .wrap .link li {
	width: 227px;
	height: 34px;
}

#side .menu .wrap .link li a {
	padding: 7px 0 0 0;
	width: 227px;
	height: 27px;
	display: block;
	background: #ffffff url("../images/menu_back_01.jpg") no-repeat 0 bottom;
}

#side .menu .wrap .link li.last a {
	background: #ffffff;
}

#side .menu .wrap .link li a img {
	margin: 0 0 0 7px;
	display: block;
}



/**
 * 無料会員登録
**/

#regist .wrap {
	padding: 11px 0 0 0;
}

.regist_step {
	margin-left: 14px;
	width: 730px;
}

.regist_step li {
	padding: 0 35px 0 0;
	background: url("../images/arrow_01.jpg") no-repeat right 0;
	float: left;
}

.regist_step li:last-child {
	padding: 0;
}

.regist_step li img {
	display: block;
}

.regist_end_message {
	margin-bottom: 125px;
	line-height: 180%;
	text-align: center;
}

.regist_end_message .large {
	margin-bottom: 15px;
	line-height: 120%;
	font-weight: bold;
	font-size: 135%;
}

.form_01 {
	margin-left: 14px;
	width: 720px;
	border-top: 1px solid #d5d5d7;
	border-right: 1px solid #d5d5d7;
}

.form_01 th {
	padding: 10px 8px;
	width: 200px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	background: #f0eff4;
	border-left: 1px solid #d5d5d7;
	border-bottom: 1px solid #d5d5d7;
}

.form_01 td {
	padding: 10px 8px;
	background: #ffffff;
	border-left: 1px solid #d5d5d7;
	border-bottom: 1px solid #d5d5d7;
}

.form_01 td .list_01 {
}

.form_01 td .list_01 li {
	width: 140px;
	float: left;
}

.form_01 td .note {
	font-size: 85%;
}

.confirm_btn {
	margin: 0 0 50px 201px;
	width: 352px;
	line-height: 120%;
	font-size: 115%;
	text-align: center;
}

.confirm_btn .note {
	margin-bottom: 20px;
}

.confirm_btn .return {
	float: left;
}

.confirm_btn .regist {
	float: right;
}

.check_btn {
	margin: 0 0 20px 0;
	text-align: center;
}

.kiyaku_tit {
	margin-left: 14px;
	width: 720px;
	height: 34px;
	line-height: 34px;
	font-size: 115%;
	font-weight: normal;
	text-indent: 10px;
	color: #ffffff;
	background: #4b9ac1;
}

.kiyaku_wrap {
	margin: 0 0 25px 14px;
	width: 718px;
	height: 228px;
	border: 1px solid #d5d5d7;
	border-top: none;
	overflow: auto;
}

.kiyaku_wrap .desc {
	padding: 10px 0 10px 18px;
	width: 670px;
}


/**
 * ログイン
**/

#login .wrap {
	padding: 28px 0 125px 0;
	text-align: center;
}

#login .wrap .message {
	margin-bottom: 25px;
	font-size: 115%;
}

#login .wrap .btn {
	margin: 0 auto 15px auto;
}

#login .wrap a {
	color: #2c7598;
	text-decoration: underline;
}

#login .wrap a:hover {
	color: #2c7598;
	text-decoration: none;
}

.login_form {
	margin: 0 auto 27px auto;
	width: 546px;
	border-top: 1px solid #d5d5d7;
	border-right: 1px solid #d5d5d7;
}

.login_form th {
	padding: 10px 8px;
	width: 150px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	background: #f0eff4;
	border-left: 1px solid #d5d5d7;
	border-bottom: 1px solid #d5d5d7;
}

.login_form td {
	padding: 10px 8px;
	text-align: left;
	background: #ffffff;
	border-left: 1px solid #d5d5d7;
	border-bottom: 1px solid #d5d5d7;
}


/**
 * パーツ
**/

.parts_wrap_01 {
	margin: 0 0 11px 15px;
	width: 718px;
}

.parts_wrap_01 .list {
	width: 300px;
}

.parts_wrap_01 .list li {
	padding: 0 10px 10px 0;
	float: left;
}

.parts_wrap_01 .list li img {
	display: block;
}

.parts_list_01 {
	margin: 0 0 0 15px;
	width: 730px;
}

.parts_list_01 li {
	padding: 0 18px 15px 0;
	float: left;
}

.parts_list_01 li img {
	display: block;
}

.parts_list_01 li.long {
	padding-right: 197px;
}


/**
 * ホーム
**/

.home_content_01 {
	padding-bottom: 19px;
	width: 750px;
	background: url("../images/content_back_05.png") no-repeat 0 bottom;
}

.home_content_01 .catch_01 {
	margin: 0 10px 0 0;
	float: left;
	display: inline;
}

.home_content_01 .catch_02 {
	margin: 0 0 0 0;
	float: left;
	display: inline;
}

.home_content_01 .catch_03 {
	margin: 0 0 0 0;
	float: right;
	display: inline;
}

.home_content_01 .wrap {
	padding-top: 8px;
	width: 750px;
	background: url("../images/content_back_04.png") repeat-y 0 0;
	clear: both;
}

.home_content_01 .wrap .item_01 {
	margin: 0 10px 0 0;
	width: 243px;
	float: left;
	display: inline;
}

.home_content_01 .wrap .item_02 {
	width: 243px;
	float: left;
	display: inline;
}

.home_content_01 .wrap .item_03 {
	width: 243px;
	float: right;
	display: inline;
}

.home_content_01 .wrap .name {
	margin: 0 0 0 7px;
}

.home_content_01 .wrap .name2 {
	margin: -2px 0 0 6px;
}

.home_content_01 .wrap .link {
	margin: 0 0 0 15px;
	padding: 7px 0 0 0;
}

.home_content_01 .wrap .link li {
	padding: 0 0 4px 10px;
	width: 98px;
	background: url("../images/icon_01.jpg") no-repeat 0 4px;
	float: left;
}


/**
 * レストランガイド
**/

.restaurant_search {
	margin: 0 0 0 15px;
	padding: 5px 0 0 0;
	width: 727px;
}

.restaurant_search .form {
	width: 727px;
}

.restaurant_search .form dt {
	padding: 0 0 7px 30px;
	line-height: 26px;
	font-size: 110%;
	font-weight: bold;
	color: #fa6705;
}

.restaurant_search .form dt.kodawari {
	background: url("../images/form_icon_kodawari.jpg") no-repeat 0 0;
}

.restaurant_search .form dt.genre {
	background: url("../images/form_icon_genre.jpg") no-repeat 0 0;
}

.restaurant_search .form dt.kind {
	background: url("../images/form_icon_kind.jpg") no-repeat 0 0;
}

.restaurant_search .form dt.word {
	background: url("../images/form_icon_word.jpg") no-repeat 0 0;
}

.restaurant_search .form dd {
	padding: 0 0 5px 0;
}

.restaurant_search .form dd .list li {
	width: 119px;
	float: left;
}

.restaurant_search .form dd .list li:nth-child(6) {
	width: 130px;
}

.restaurant_search .form dd input.fl {
	margin: 0 18px 0 0;
	display: inline;
}

.restaurant_basiv_data {
	margin: 0 0 0 15px;
	padding: 9px 0 0 0;
	width: 716px;
	color: #303030;
}

.restaurant_basiv_data .image {
	margin: 0 15px 0 0;
	float: left;
	display: inline;
}

.restaurant_basiv_data .info {
	width: 325px;
	float: left;
	display: inline;
}

.restaurant_basiv_data .info .name {
	min-height: 55px;
	line-height: 120%;
	font-size: 170%;
	font-weight: bold;
}

.restaurant_basiv_data .info .genre {
	line-height: 150%;
	font-size: 90%;
}

.restaurant_basiv_data .option {
	width: 285px;
	float: right;
	display: inline;
}

.restaurant_basiv_data .option .point {
	padding: 0 0 0 8px;
	line-height: 26px;
	font-size: 145%;
	font-weight: bold;
	color: #535353;
	float: left;
	display: inline;
}

.restaurant_basiv_data .option .bookmark {
	float: right;
	display: inline;
}

.restaurant_basiv_data .option .price {
	padding: 20px 0 5px 10px;
	font-size: 90%;
	clear: both;
}

.restaurant_basiv_data .option .label {
	width: 285px;
}

.restaurant_basiv_data .option .label li {
	padding: 0 0 0 9px;
	float: left;
}

.restaurant_basiv_data .option .label li img {
	display: block;
}

.restaurant_tab {
	margin: 0 0 0 12px;
	padding: 15px 0 0 0;
	width: 722px;
}

.restaurant_tab li {
	float: left;
}

.restaurant_tab li img {
	display: block;
}

.pr_message {
	margin: 10px 0 16px 15px;
	padding: 7px 9px 7px 9px;
	width: 700px;
	border: 1px solid #4d9dc2;
	background: #edf8fc;
}

.pr_message .tit {
	margin: 0 0 8px 0;
	padding: 0 0 5px 0;
	line-height: 120%;
	font-size: 135%;
	border-bottom: 1px dotted #434343;
}

.gallery_photo_min {
	margin: 0 0 0 15px;
	width: 750px;
}

.gallery_photo_min li {
	padding: 0 30px 12px 0;
	float: left;
	display: inline;
}

.new_kuchikomi {
	margin: 0 0 0 15px;
	width: 720px;
}

.new_kuchikomi .article {
	margin: 0 0 12px 0;
	padding: 0 0 15px 0;
	width: 720px;
	border-bottom: 1px dotted #434343;
}

.new_kuchikomi .article a {
	color: #2a779b;
	text-decoration: underline;
}

.new_kuchikomi .article a:hover {
	color: #2a779b;
	text-decoration: none;
}

.new_kuchikomi .article .fl {
	width: 80px;
}

.new_kuchikomi .article .fl .point {
	margin-bottom: 5px;
	width: 80px;
}

.new_kuchikomi .article .fl .point dt {
	width: 80px;
	height: 19px;
	overflow: hidden;
}

.new_kuchikomi .article .fl .point dd {
	width: 80px;
	height: 27px;
	line-height: 26px;
	text-align: center;
	font-siz:e 115%;
	background: #e0dcdd url("../images/kuchikomi_back_01.jpg") no-repeat 0 0;
	overflow: hidden;
}

.new_kuchikomi .article .fl .user {
	line-height: 120%;
	font-size: 90%;
	text-align: center;
}

.new_kuchikomi .article .fl .user a {
	text-decoration: underline;
	color: #266f92;
}

.new_kuchikomi .article .fl .user a:hover {
	text-decoration: none;
	color: #266f92;
}

.new_kuchikomi .article .image {
	margin: 0 12px 0 15px;
	float: left;
	display: inline;
}

.new_kuchikomi .article .image {
	margin: 0 12px 0 15px;
	float: left;
	display: inline;
}

.restaurant_title {
	margin: 0 16px 7px 15px;
	padding: 5px 6px 5px 6px;
	background: #e0dcdd;
}

.restaurant_title .tit {
	margin-right: 15px;
	line-height: 25px;
	font-weight: bold;
	font-size: 170%;
	float: left;
	display: inline;
}

.restaurant_title .area {
	margin-right: 15px;
	line-height: 25px;
	font-size: 90%;
	float: left;
	display: inline;
}

.restaurant_title .genre {
	margin-right: 15px;
	line-height: 25px;
	font-size: 90%;
	float: left;
	display: inline;
}

.restaurant_title .kuchikomi {
	margin-left: 5px;
	float: right;
	display: inline;
}

.restaurant_title .point {
	line-height: 25px;
	font-size: 145%;
	font-weight: bold;
	float: right;
	display: inline;
}

.restaurant_result {
	margin-left: 15px;
	width: 717px;
}

.restaurant_result .image {
	margin-right: 23px;
	float: left;
	display: inline;
}

.restaurant_result .desc {
	width: 435px;
	float: left;
	display: inline;
}

.restaurant_result .desc .catch {
	margin: 0 0 20px 0;
	padding: 0 0 6px 0;
	line-height: 120%;
	font-size: 130%;
	font-weight: bold;
	border-bottom: 1px dotted #434343;
}

.restaurant_result .desc .price {
	margin: 0 0 8px 0;
	font-size: 90%;
}

.restaurant_result .desc .list {
	margin: 0 0 5px 0;
}

.restaurant_result .desc .list li {
	padding: 0 9px 0 0;
	float: left;
}

.restaurant_result .desc .list li img {
	display: block;
}

.restaurant_result .desc .comment {
	padding: 8px 10px 8px 35px;
	width: 390px;
	line-height: 140%;
	background: #edf8fd url("../images/icon_comment.jpg") no-repeat 7px 6px;
	border: 1px solid #4f9dc2;
}
* html .restaurant_result .desc .comment { width: 435px; }

.restaurant_result .option_link {
	padding: 4px 0 0 0;
	width: 95px;
	float: right;
}

.restaurant_result .option_link li {
	padding: 20px 0 0 0;
}

.restaurant_result .option_link li a {
	width: 93px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	font-size: 90%;
	text-decoration: none;
	color: #4b9bc1;
	border: 1px solid #58a2c7;
	display: block;
}

.restaurant_result .option_link li a:hover {
	text-decoration: underline;
}

.restaurant_result .option_link li a .photo {
	padding: 0 0 0 20px;
	background: url("../images/mini_icon_01.jpg") no-repeat 0 0;
}

.restaurant_result .option_link li a .kuchikomi {
	padding: 0 0 0 20px;
	background: url("../images/mini_icon_02.jpg") no-repeat 0 1px;
}

.restaurant_result .option_link li a .bookmark {
	padding: 0 0 0 20px;
	background: url("../images/mini_icon_03.jpg") no-repeat 0 0;
}


/**
 * アクセス
**/

#access_tit {
	padding: 6px 10px 6px 34px;
	background: #e0dcdd url("../images/icon_access.jpg") no-repeat 5px 4px;
}

.data_tb {
	margin-left: 15px;
	width: 720px;
	color: #303030;
	border-top: 1px solid #d5d5d7;
	border-right: 1px solid #d5d5d7;
}

.data_tb th {
	padding: 10px 8px;
	width: 200px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	background: #f0eff4;
	border-left: 1px solid #d5d5d7;
	border-bottom: 1px solid #d5d5d7;
}

.data_tb td {
	padding: 10px 8px;
	background: #ffffff;
	border-left: 1px solid #d5d5d7;
	border-bottom: 1px solid #d5d5d7;
}

.google_map {
	margin: 0 0 0 15px;
}


/**
 * メニュー
**/

#menu_tit {
	padding: 6px 10px 6px 34px;
	background: #e0dcdd url("../images/icon_menu.jpg") no-repeat 5px 4px;
}

.menu_photo {
	margin: 0 0 20px 15px;
	width: 720px;
}

.menu_photo li {
	float: left;
	display: inline;
}

.menu_photo li img {
	display: block;
}


/**
 * フォトギャラリー
**/

#gallery_tit {
	padding: 6px 10px 6px 34px;
	background: #e0dcdd url("../images/icon_gallery.jpg") no-repeat 5px 4px;
}

.gallery_photo {
	margin: 0 0 0 15px;
	width: 780px;
}

.gallery_photo .article {
	margin: 0 44px 0 0;
	padding: 0 0 15px 0;
	width: 210px;
	float: left;
	display: inline;
}

.gallery_photo .article:nth-child(3n+1) {
	clear: both;
}

.more_photo {
	margin: 0 0 0 591px;
}


/**
 * 口コミ
**/

#kuchikomi_tit {
	padding: 6px 10px 6px 34px;
	background: #e0dcdd url("../images/icon_kuchikomi.jpg") no-repeat 5px 4px;
}

.kuchikomi_entry_link {
	margin: 0 0 10px 15px;
}

.kuchikomi_list {
	margin: 0 0 0 15px;
	width: 718px;
	overflow: hidden;
}

.kuchikomi_list .article {
	margin: 0 0 -1px 0;
	padding: 13px 0 17px 0;
	width: 718px;
	border-bottom: 1px dotted #434343;
}

.kuchikomi_list .article .fl {
	width: 80px;
}

.kuchikomi_list .article .fl .point {
	margin-bottom: 12px;
	width: 80px;
}

.kuchikomi_list .article .fl .point dt {
	width: 80px;
	height: 19px;
	overflow: hidden;
}

.kuchikomi_list .article .fl .point dd {
	width: 80px;
	height: 27px;
	line-height: 26px;
	text-align: center;
	font-siz:e 115%;
	background: #e0dcdd url("../images/kuchikomi_back_01.jpg") no-repeat 0 0;
	overflow: hidden;
}

.kuchikomi_list .article .fl .user {
	width: 80px;
	font-size: 90%;
	text-align: center;
}

.kuchikomi_list .article .fl .user img {
	margin: 0 auto;
}

.kuchikomi_list .article .fl .user a {
	text-decoration: underline;
	color: #266f92;
}

.kuchikomi_list .article .fl .user a:hover {
	text-decoration: none;
	color: #266f92;
}

.kuchikomi_list .article .fr {
	width: 638px;
	background: url("../images/kuchikomi_back_02.jpg") repeat-y right 0;
}

.kuchikomi_list .article .fr .back_01 {
	padding: 8px 0 0 0;
	width: 638px;
	background: url("../images/kuchikomi_back_03.jpg") no-repeat right 0;
}

.kuchikomi_list .article .fr .back_02 {
	padding: 0 0 13px 0;
	width: 638px;
	background: url("../images/kuchikomi_back_04.jpg") no-repeat right bottom;
}

.kuchikomi_list .article .fr .desc {
	padding: 0 34px 0 38px;
	position: relative;
}

.kuchikomi_list .article .fr .desc .image_list {
}

.kuchikomi_list .article .fr .desc .image_list li {
	padding: 0 20px 0 0;
	float: left;
	display: inline;
}

.kuchikomi_list .article .fr .desc .image_list li img {
	display: block;
}

.kuchikomi_list .article .fr .desc .violation {
	position: absolute;
	bottom: 0;
	right: 13px;
}

.more_kuchikomi {
	margin: 0 0 0 591px;
}


/**
 * 交流掲示板
**/

.bbs_search {
	margin: 0 0 0 15px;
	padding: 5px 0 0 0;
	width: 717px;
}

.bbs_search .form {
	width: 717px;
}

.bbs_search .form dt {
	padding: 0 0 7px 30px;
	line-height: 26px;
	font-size: 110%;
	font-weight: bold;
	color: #ad1b27;
}

.bbs_search .form dt.genre {
	background: url("../images/form_icon_genre.jpg") no-repeat 0 0;
}

.bbs_search .form dt.word {
	background: url("../images/form_icon_word.jpg") no-repeat 0 0;
}

.bbs_search .form dd {
	padding: 0 0 5px 0;
}

.bbs_search .form dd .list li {
	width: 110px;
	float: left;
}

.bbs_search .form dd input.fl {
	margin: 0 18px 0 0;
	display: inline;
}

.bbs_title {
	margin-left: 15px;
	margin-right: 16px;
	padding: 5px 6px 5px 6px;
	background: #e0dcdd;
}

.bbs_title .label {
	margin: 2px 8px 0 0;
	float: left;
	display: inline;
}

.bbs_title .tit {
	line-height: 25px;
	font-weight: bold;
	font-size: 135%;
	float: left;
	display: inline;
}

.bbs_title .more {
	margin-left: 5px;
	float: right;
	display: inline;
}

.bbs_title .user {
	line-height: 25px;
	float: right;
	display: inline;
}

.bbs_title .user a {
	color: #1c7098;
}

.bbs_short_message {
	margin-left: 15px;
	padding: 7px 0 0 0;
	width: 717px;
}

.search_result_01 {
	margin-bottom: 10px;
	padding: 0 15px;
	width: 719px;
	height: 42px;
	line-height: 40px;
	background: url("../images/content_back_06.png") no-repeat 0 0;
}
* html .search_result_01 { width: 749px; }

.search_result_01 .sort {
	float: right;
}

.search_result_01 a {
	text-decoration: underline;
}

.search_result_01 a:hover {
	text-decoration: none;
}

.paging_01 {
	margin-bottom: 10px;
	width: 749px;
	height: 42px;
	background: url("../images/content_back_06.png") no-repeat 0 0;
}

.paging_01 ul {
	padding: 6px 0 0 0;
	text-align: center;
}

.paging_01 ul li {
	padding: 0 5px;
	display: inline-block;
	*display: inline;  
	*zoom: 1;
}

.paging_01 ul li a {
	padding: 0 7px;
	height: 24px;
	line-height: 24px;
	text-decoration: none;
	font-size: 115%;
	color: #535353;
	background: #ffffff;
	border: 1px solid #b9b5b5;
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

.paging_01 ul li a:hover {
	color: #535353;
	background: #dfdcdc;
	text-decoration: none;
}

.paging_01 ul li .active {
	padding: 0 7px;
	height: 23px;
	line-height: 23px;
	color: #535353;
	background: #dfdcdc;
	border: 1px solid #b9b5b5;
	display: inline-block;
	*display: inline;  
	*zoom: 1;
}

.paging_01 ul li.prev a {
	font-size: 100%;
	text-decoration: underline;
	border: none;
	background: none;
}

.paging_01 ul li.prev a:hover {
	text-decoration: none;
	border: none;
	background: none;
}

.paging_01 ul li.next a {
	font-size: 100%;
	text-decoration: underline;
	border: none;
	background: none;
}

.paging_01 ul li.next a:hover {
	text-decoration: none;
	border: none;
	background: none;
}

.bbs_wrap {
	margin-left: 15px;
	width: 720px;
	overflow: hidden;
}

.bbs_wrap .article {
	margin-bottom: -1px;
	padding: 10px 0 10px 0;
	width: 720px;
	border-bottom: 1px dotted #434343;
}

.bbs_wrap .article .user {
	width: 72px;
	line-height: 120%;
	font-size: 90%;
	text-align: center;
	float: left;
}

.bbs_wrap .article .user a {
	text-decoration: underline;
	color: #266f92;
}

.bbs_wrap .article .user a:hover {
	text-decoration: none;
	color: #266f92;
}

.bbs_wrap .article .desc_01 {
	width: 636px;
	float: right;
}

.bbs_wrap .article .violation {
	text-align: right;
}

.bbs_wrap .article .desc_02 {
	width: 636px;
	background: url("../images/bbs_back_01.jpg") repeat-y 0 0;
	float: right;
}

.bbs_wrap .article .desc_02 .back_01 {
	padding: 8px 0 0 0;
	width: 636px;
	background: url("../images/bbs_back_02.jpg") no-repeat 0 0;
}

.bbs_wrap .article .desc_02 .back_02 {
	padding: 0 9px 11px 34px;
	background: url("../images/bbs_back_03.jpg") no-repeat 0 bottom;
}

#comment_edit_tit {
	padding: 6px 10px 6px 34px;
	background: #e0dcdd url("../images/icon_comment_edit.jpg") no-repeat 5px 4px;
}

.comment_edit_form {
	margin: 0 0 18px 15px;
}


/**
 * 売ります･買います
**/

.buy_sell_search {
	margin: 0 0 0 15px;
	padding: 5px 0 0 0;
	width: 717px;
}

.buy_sell_search .form {
	width: 717px;
}

.buy_sell_search .form dt {
	padding: 0 0 7px 30px;
	line-height: 26px;
	font-size: 110%;
	font-weight: bold;
	color: #518d26;
}

.buy_sell_search .form dt.kind {
	padding-top: 3px;
	background: url("../images/form_icon_kind.jpg") no-repeat 0 0;
}

.buy_sell_search .form dt.genre {
	background: url("../images/form_icon_genre.jpg") no-repeat 0 0;
}

.buy_sell_search .form dt.word {
	background: url("../images/form_icon_word.jpg") no-repeat 0 0;
}

.buy_sell_search .form dd {
	padding: 0 0 5px 0;
}

.buy_sell_search .form dd .list li {
	width: 110px;
	float: left;
}

.buy_sell_search .form dd input.fl {
	margin: 0 18px 0 0;
	display: inline;
}

.buy_sell_result {
	margin-left: 15px;
	width: 717px;
}

.buy_sell_result .image {
	width: 78px;
	height: 78px;
	border: 1px solid #c0c0c0;
	position: relative;
	float: left;
}

.buy_sell_result .image .image_wrap {
	width: 78px;
	height: 78px;
	display: table;
}
* html .buy_sell_result .image .image_wrap {
	position: relative;
}
*+html .buy_sell_result .image .image_wrap {
	position: relative;
}

.buy_sell_result .image .image_wrap .wrap_middle {
	display: table-cell;
	vertical-align: middle;
}
* html .buy_sell_result .image .image_wrap .wrap_middle {
	position: absolute;
	top: 50%;
}
*+html .buy_sell_result .image .image_wrap .wrap_middle {
	position: absolute;
	top: 50%;
}

.buy_sell_result .image .image_wrap img {
	margin: 0 auto;
	display: block;
}
* html .buy_sell_result .image .image_wrap img {
	position: relative;
	top: -50%;
}
*+html .buy_sell_result .image .image_wrap img {
	position: relative;
	top: -50%;
}

.buy_sell_result .desc {
	width: 625px;
	float: right;
	overflow: hidden;
}

.buy_sell_result .desc a {
	color: #2a779b;
	text-decoration: underline;
}

.buy_sell_result .desc a:hover {
	color: #2a779b;
	text-decoration: none;
}

.buy_sell_result .desc .link {
	float: right;
}

.buy_sell_title {
	margin: 0 16px 15px 15px;
	padding: 5px 6px 5px 6px;
	background: #e0dcdd;
}

.buy_sell_title .label {
	margin: 2px 8px 0 0;
	float: left;
	display: inline;
}

.buy_sell_title .tit {
	margin-top: 2px;
	line-height: 20px;
	font-weight: bold;
	font-size: 135%;
	float: left;
	display: inline;
}

.buy_sell_title .more {
	margin-left: 10px;
	float: right;
	display: inline;
}

.buy_sell_title .price {
	float: right;
	display: inline;
}

.buy_sell_title .price .num {
	line-height: 120%;
	font-size: 145%;
	font-weight: bold;
}

.buy_sell_pr {
	margin: 0 16px 10px 15px;
}

.buy_sell_pr .violation {
	text-align: right;
}

.buy_sell_image {
	margin: 0 0 13px 15px;
	width: 750px;
}

.buy_sell_image .image {
	margin: 0 30px 0 0;
	width: 118px;
	height: 118px;
	border: 1px solid #c0c0c0;
	position: relative;
	float: left;
}

.buy_sell_image .image .image_wrap {
	width: 118px;
	height: 118px;
	display: table;
}
* html .buy_sell_image .image .image_wrap {
	position: relative;
}
*+html .buy_sell_image .image .image_wrap {
	position: relative;
}

.buy_sell_image .image .image_wrap .wrap_middle {
	display: table-cell;
	vertical-align: middle;
}
* html .buy_sell_image .image .image_wrap .wrap_middle {
	position: absolute;
	top: 50%;
}
*+html .buy_sell_image .image .image_wrap .wrap_middle {
	position: absolute;
	top: 50%;
}

.buy_sell_image .image .image_wrap img {
	margin: 0 auto;
	display: block;
}
* html .buy_sell_image .image .image_wrap img {
	position: relative;
	top: -50%;
}
*+html .buy_sell_image .image .image_wrap img {
	position: relative;
	top: -50%;
}

.buy_sell_contact {
	margin: 0 0 0 28px;
	width: 604px;
}

.buy_sell_contact .user {
	width: 72px;
	line-height: 120%;
	font-size: 90%;
	text-align: center;
	float: left;
}

.buy_sell_contact .user a {
	text-decoration: underline;
	color: #266f92;
}

.buy_sell_contact .user a:hover {
	text-decoration: none;
	color: #266f92;
}

.buy_sell_contact .fr {
	margin-top: 16px;
	display: inline;
}

/* バナーラップ */
.bnr_wrap_01 {
	width: 750px;
	height: 83px;
}

.bnr_wrap_01 a {
	width: 750px;
	height: 83px;
	background: url("../images/bnr_back_01.png") no-repeat 0 0;
	display: block;
	position: relative;
}

.bnr_wrap_01 a:hover {
	background: url("../images/bnr_back_01-on.png") no-repeat 0 0;
}

.bnr_wrap_01 a .txt {
	line-height: 120%;
	color: #c31b2e;
	font-size: 165%;
	font-weight: bold;
	text-shadow: 0 0 10px #ffffff;
	position: absolute;
	top: 16px;
	left: 14px;
}

.bnr_wrap_01 a:hover .txt {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;	
}

/**
 * 追加
**/


.kuchikomi_list .option_link {
	padding: 4px 0 0 0;
	width: 95px;
	float: right;
}

.kuchikomi_list .option_link li {
	padding: 20px 0 0 0;
}

.kuchikomi_list .option_link li a {
	width: 93px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	font-size: 90%;
	text-decoration: none;
	color: #4b9bc1;
	border: 1px solid #58a2c7;
	display: block;
}

.kuchikomi_list .option_link li a:hover {
	text-decoration: underline;
}

.kuchikomi_list .option_link li a .photo {
	padding: 0 0 0 20px;
	background: url("../images/mini_icon_01.jpg") no-repeat 0 0;
}

.kuchikomi_list .option_link li a .kuchikomi {
	padding: 0 0 0 20px;
	background: url("../images/mini_icon_02.jpg") no-repeat 0 1px;
}

.kuchikomi_list .option_link li a .bookmark {
	padding: 0 0 0 20px;
	background: url("../images/mini_icon_03.jpg") no-repeat 0 0;
}

.contain {
    display: inline-block;
    background-color: #ffffff;
    background-position: center center;
    background-repeat: no-repeat;
    margin-bottom: 10px;
    width: 160px;
    height: 160px;
    border: 1px solid #e0e0e0;
    background-size: contain;
}

.contain_s {
    display: inline-block;
    background-color: #ffffff;
    background-position: center center;
    background-repeat: no-repeat;
    margin-bottom: 10px;
    width: 80px;
    height: 80px;
    border: 1px solid #e0e0e0;
    background-size: contain;
}


/* ===================================
 * レスポンシブ対応（タブレット: 〜1024px）
 * =================================== */
@media (max-width: 1024px) {
	.home_content_01,
	.home_content_01 .wrap {
		width: 100%;
	}

	.form_01,
	.login_form,
	.data_tb {
		width: 100%;
		margin-left: 0;
	}

	.restaurant_search,
	.restaurant_search .form,
	.bbs_search,
	.bbs_search .form,
	.buy_sell_search,
	.buy_sell_search .form {
		width: 100%;
		margin-left: 0;
	}

	.restaurant_result,
	.restaurant_tab,
	.new_kuchikomi,
	.kuchikomi_list,
	.bbs_wrap,
	.buy_sell_result,
	.bbs_short_message {
		width: 100%;
		margin-left: 0;
	}
}


/* ===================================
 * レスポンシブ対応（スマホ: 〜767px）
 * =================================== */
@media (max-width: 767px) {

	/* --- サイドカラム --- */
	#side .site_about,
	#side .site_about .back_foot,
	#side .site_about .wrap,
	#side .new_message,
	#side .new_message .back_foot,
	#side .new_message .wrap,
	#side .menu,
	#side .menu .back_foot,
	#side .menu .wrap {
		width: 100%;
	}

	#side .site_about .wrap .desc {
		width: auto;
		margin-right: 11px;
	}

	#side .new_message .wrap .desc {
		width: auto;
		margin-right: 10px;
	}

	#side .new_message .wrap .desc .list {
		width: 100%;
	}

	#side .menu .wrap .link li,
	#side .menu .wrap .link li a {
		width: 100%;
		height: auto;
		padding: 10px 0;
	}

	/* --- ホーム --- */
	.home_content_01 {
		width: 100%;
		background: none;
		padding-bottom: 10px;
	}

	.home_content_01 .catch_01,
	.home_content_01 .catch_02,
	.home_content_01 .catch_03 {
		float: none;
		display: block;
		margin: 0 0 5px 0;
	}

	.home_content_01 .wrap {
		width: 100%;
		background: #f8f8f8;
		padding-bottom: 10px;
	}

	.home_content_01 .wrap .item_01,
	.home_content_01 .wrap .item_02,
	.home_content_01 .wrap .item_03 {
		width: 100%;
		float: none;
		display: block;
		margin: 0 0 10px 0;
	}

	.home_content_01 .wrap .link li {
		width: auto;
	}

	/* --- 会員登録フォーム --- */
	.regist_step {
		width: 100%;
		margin-left: 0;
	}

	.regist_step li {
		float: none;
		display: block;
		padding: 8px 0;
		background: none;
		border-bottom: 1px solid #d5d5d7;
		margin-bottom: 8px;
	}

	.kiyaku_tit {
		width: 100%;
		margin-left: 0;
	}

	.kiyaku_wrap {
		width: 100%;
		margin-left: 0;
	}

	.kiyaku_wrap .desc {
		width: auto;
		padding-right: 18px;
	}

	.confirm_btn {
		margin-left: 0;
		width: 100%;
		text-align: center;
	}

	/* --- フォームテーブル --- */
	.form_01 {
		width: 100%;
		margin-left: 0;
		display: block;
		overflow-x: auto;
	}

	.form_01 th {
		width: 120px;
	}

	.login_form {
		width: 100%;
		display: block;
		overflow-x: auto;
	}

	.login_form th {
		width: 100px;
	}

	/* --- データテーブル --- */
	.data_tb {
		width: 100%;
		margin-left: 0;
		display: block;
		overflow-x: auto;
	}

	.data_tb th {
		width: 120px;
	}

	/* --- 検索フォーム --- */
	.restaurant_search,
	.restaurant_search .form,
	.bbs_search,
	.bbs_search .form,
	.buy_sell_search,
	.buy_sell_search .form {
		width: 100%;
		margin-left: 0;
	}

	.restaurant_search .form dd .list li,
	.bbs_search .form dd .list li,
	.buy_sell_search .form dd .list li {
		width: auto;
		float: none;
		display: inline-block;
	}

	/* --- レストラン詳細 --- */
	.restaurant_basiv_data {
		width: 100%;
		margin-left: 0;
	}

	.restaurant_basiv_data .info,
	.restaurant_basiv_data .option {
		width: 100%;
		float: none;
	}

	.restaurant_tab {
		width: 100%;
		margin-left: 0;
		overflow-x: auto;
	}

	.pr_message {
		width: auto;
		margin-left: 0;
		margin-right: 0;
	}

	.restaurant_result {
		width: 100%;
		margin-left: 0;
	}

	.restaurant_result .desc {
		width: 100%;
		float: none;
		clear: both;
	}

	.restaurant_result .desc .comment {
		width: 100%;
		box-sizing: border-box;
	}

	.restaurant_result .option_link {
		width: 100%;
		float: none;
		display: flex;
		gap: 10px;
		padding: 10px 0 0 0;
	}

	.restaurant_result .option_link li {
		padding: 0;
		flex: 1;
	}

	.restaurant_result .option_link li a {
		width: 100%;
	}

	/* --- 口コミ --- */
	.new_kuchikomi {
		width: 100%;
		margin-left: 0;
	}

	.new_kuchikomi .article {
		width: 100%;
	}

	.kuchikomi_list {
		width: 100%;
		margin-left: 0;
	}

	.kuchikomi_list .article {
		width: 100%;
	}

	.kuchikomi_list .article .fr,
	.kuchikomi_list .article .fr .back_01,
	.kuchikomi_list .article .fr .back_02 {
		width: 100%;
		background: none;
	}

	.kuchikomi_list .option_link {
		width: 100%;
		float: none;
		display: flex;
		gap: 10px;
		padding: 10px 0 0 0;
	}

	.kuchikomi_list .option_link li {
		padding: 0;
		flex: 1;
	}

	.kuchikomi_list .option_link li a {
		width: 100%;
	}

	.more_kuchikomi,
	.more_photo {
		margin-left: 0;
		text-align: right;
	}

	/* --- 掲示板 --- */
	.bbs_search,
	.bbs_search .form {
		width: 100%;
		margin-left: 0;
	}

	.bbs_short_message {
		width: 100%;
		margin-left: 0;
	}

	.bbs_wrap {
		width: 100%;
		margin-left: 0;
	}

	.bbs_wrap .article {
		width: 100%;
	}

	.bbs_wrap .article .desc_01,
	.bbs_wrap .article .desc_02 {
		width: calc(100% - 80px);
		float: right;
	}

	.bbs_wrap .article .desc_02 .back_01 {
		width: 100%;
		background: none;
	}

	/* --- 売買 --- */
	.buy_sell_search,
	.buy_sell_search .form {
		width: 100%;
		margin-left: 0;
	}

	.buy_sell_result {
		width: 100%;
		margin-left: 0;
	}

	.buy_sell_result .desc {
		width: calc(100% - 90px);
		float: right;
	}

	.buy_sell_image {
		width: 100%;
		margin-left: 0;
	}

	/* --- 検索結果・ページング --- */
	.search_result_01 {
		width: 100%;
		height: auto;
		line-height: 1.8;
		padding: 8px 15px;
		background: none;
		background-color: #f0f0f0;
	}

	.paging_01 {
		width: 100%;
		height: auto;
		background: none;
		background-color: #e8e8e8;
		padding: 8px 0;
	}

	/* --- バナー --- */
	.bnr_wrap_01 {
		width: 100%;
		height: auto;
	}

	.bnr_wrap_01 a {
		width: 100%;
		height: auto;
		min-height: 60px;
		background: none;
		background-color: #f5f0f0;
		display: block;
		padding: 12px 14px;
	}

	.bnr_wrap_01 a .txt {
		position: static;
	}

	/* --- ギャラリー --- */
	.gallery_photo {
		width: 100%;
		margin-left: 0;
	}

	.gallery_photo .article {
		width: 30%;
		margin-right: 3%;
	}

	.gallery_photo_min {
		width: 100%;
		margin-left: 0;
	}

	/* --- その他パーツ --- */
	.parts_list_01 {
		width: 100%;
		margin-left: 0;
	}

	.parts_wrap_01 {
		width: 100%;
		margin-left: 0;
	}
}
@charset "UTF-8";
/*
 * commu.css — 掲示板系（trade/club/job/housing/bbs）共通スタイル
 * モバイルファースト設計
 */

/* ===== リセット・基本 ===== */
*, *::before, *::after { box-sizing: border-box; }

/* 既存のmin-width上書き */
body { min-width: 0 !important; text-align: left !important; }

/* [I-CATE1] が生成する旧ラベル画像を非表示（テキストのみ使用） */
.bb-card__badge img,
.bb-thread__badge img,
.bb-detail-badge img { display: none !important; }

/* ===== セクションタイトルバー ===== */
.bb-page-title {
	font-size: 1.1em;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(90deg, #d8658c 0%, #e8829f 100%);
	padding: 10px 14px;
	border-radius: 6px 6px 0 0;
	margin: 0 0 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* ===== 検索ボックス ===== */
.bb-search {
	background: #fff;
	border: 1.5px solid #e0b0c8;
	border-radius: 8px;
	padding: 12px 14px;
	margin-bottom: 12px;
	box-shadow: 0 1px 4px rgba(216,101,140,0.08);
}
.bb-search-label {
	font-size: 0.82em;
	font-weight: bold;
	color: #999;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 6px;
	display: block;
}
.bb-word-row {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-top: 8px;
}
.bb-word-row input[type="text"] {
	flex: 1;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 0.95em;
	font-family: inherit;
	min-width: 0;
}
.bb-btn-search {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #d8658c;
	color: #fff !important;
	border: none;
	border-radius: 6px;
	padding: 8px 16px;
	font-size: 0.92em;
	font-weight: bold;
	cursor: pointer;
	white-space: nowrap;
	text-decoration: none;
	flex-shrink: 0;
}
.bb-btn-search:hover { background: #c5507a; }

/* フィルターチップ */
.bb-filter-list {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	list-style: none;
	padding: 0;
	margin: 6px 0 0;
}
.bb-filter-list li { margin: 0; }
.bb-filter-list label {
	display: inline-block;
	padding: 4px 10px;
	border: 1px solid #ddd;
	border-radius: 14px;
	font-size: 0.78em;
	cursor: pointer;
	background: #fafafa;
	color: #555;
	transition: background 0.12s, color 0.12s, border-color 0.12s;
	line-height: 1.5;
}
.bb-filter-list label:has(input:checked) {
	background: #d8658c;
	border-color: #d8658c;
	color: #fff;
}
.bb-filter-list input[type="radio"],
.bb-filter-list input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
}

/* ===== 件数表示 ===== */
.bb-result-count {
	font-size: 0.83em;
	color: #999;
	padding: 2px 0 10px;
}

/* ===== CTA（未ログイン） ===== */
.bb-cta-login {
	background: #fffbf0;
	border: 1.5px solid #e0a030;
	border-radius: 8px;
	padding: 14px 16px;
	text-align: center;
	margin: 8px 0 20px;
}
.bb-cta-login p {
	font-size: 0.9em;
	margin: 0 0 10px;
	color: #333;
}
.bb-cta-login .bb-btn-register {
	display: inline-block;
	background: #e0a030;
	color: #fff !important;
	padding: 9px 20px;
	border-radius: 4px;
	font-weight: bold;
	font-size: 0.88em;
	text-decoration: none;
	margin: 3px;
}
.bb-cta-login .bb-btn-login-sm {
	display: inline-block;
	background: #777;
	color: #fff !important;
	padding: 9px 16px;
	border-radius: 4px;
	font-size: 0.88em;
	text-decoration: none;
	margin: 3px;
}
.bb-btn-post {
	display: block;
	text-align: center;
	background: #e0a030;
	color: #fff !important;
	padding: 12px 20px;
	border-radius: 6px;
	font-size: 0.95em;
	font-weight: bold;
	text-decoration: none;
	margin: 8px 0 20px;
}
.bb-btn-post:hover { background: #c88a20; }

/* ===== カード共通（commu: trade/club/job/housing） ===== */
.bb-cards { display: block; padding-top: 4px; }

.bb-card {
	display: flex;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.09);
	margin-bottom: 10px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s;
}
.bb-card:hover { box-shadow: 0 3px 12px rgba(0,0,0,0.14); }

/* サムネイル（横並び用） */
.bb-card__thumb {
	width: 90px;
	min-width: 90px;
	height: 90px;
	overflow: hidden;
	flex-shrink: 0;
	background: #eeeff2;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ccc;
	font-size: 1.6em;
}
.bb-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* カード本文 */
.bb-card__body {
	flex: 1;
	padding: 10px 12px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.bb-card__badge {
	display: inline-block;
	font-size: 0.7em;
	font-weight: bold;
	color: #d8658c;
	background: #fdf0f5;
	border: 1px solid #f5c0d0;
	border-radius: 3px;
	padding: 1px 6px;
	white-space: nowrap;
	line-height: 1.6;
	align-self: flex-start;
}
.bb-card__title {
	font-size: 0.92em;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.4;
	margin: 0;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.bb-card__title a {
	color: inherit;
	text-decoration: none;
}
.bb-card__excerpt {
	font-size: 0.79em;
	color: #666;
	line-height: 1.55;
	margin: 0;
	overflow: hidden;
	max-height: calc(1.55em * 3);
	white-space: normal;
}
.bb-card__price {
	font-size: 0.98em;
	font-weight: bold;
	color: #d04010;
	margin: 0;
}
.bb-card__meta {
	font-size: 0.73em;
	color: #aaa;
	margin: 0;
	margin-top: auto;
}
.bb-card__more {
	font-size: 0.75em;
	color: #d8658c;
	font-weight: bold;
	text-decoration: none;
	display: inline-block;
	margin-left: 4px;
}

/* ===== TRADE: グリッドレイアウト ===== */
body.sub-trade .bb-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
body.sub-trade .bb-card {
	flex-direction: column;
	margin-bottom: 0;
}
body.sub-trade .bb-card__thumb {
	width: 100%;
	min-width: 0;
	height: 0;
	padding-bottom: 85%;
	position: relative;
	background: #eeeff2;
}
body.sub-trade .bb-card__thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.sub-trade .bb-card__thumb span {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.sub-trade .bb-card__body {
	padding: 8px 10px 12px;
}
body.sub-trade .bb-card__title {
	font-size: 0.86em;
}

/* ===== BBS スレッド型 ===== */
.bb-thread {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.09);
	margin-bottom: 10px;
	padding: 12px 14px;
	transition: box-shadow 0.15s;
}
.bb-thread:hover { box-shadow: 0 3px 12px rgba(0,0,0,0.14); }
.bb-thread__top {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 5px;
}
.bb-thread__badge {
	display: inline-block;
	font-size: 0.71em;
	font-weight: bold;
	color: #4466cc;
	background: #eef2fc;
	border: 1px solid #c0d0f0;
	border-radius: 3px;
	padding: 1px 7px;
	white-space: nowrap;
	line-height: 1.6;
	flex-shrink: 0;
}
.bb-thread__title {
	font-size: 0.93em;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.4;
	margin: 0;
}
.bb-thread__title a {
	color: inherit;
	text-decoration: none;
}
.bb-thread__excerpt {
	font-size: 0.81em;
	color: #555;
	line-height: 1.6;
	margin: 0 0 6px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
.bb-thread__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px;
}
.bb-thread__meta { font-size: 0.74em; color: #aaa; }
.bb-thread__more {
	font-size: 0.79em;
	color: #d8658c;
	font-weight: bold;
	text-decoration: none;
}
.bb-thread__more:hover { color: #c5507a; }

/* ===== ページング ===== */
.bb-paging { margin: 14px 0; }
.bb-paging ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
}
.bb-paging li a,
.bb-paging li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 6px;
	font-size: 0.87em;
	text-decoration: none;
	background: #fff;
	color: #555;
	border: 1px solid #ddd;
	transition: all 0.12s;
}
.bb-paging li span.active {
	background: #d8658c;
	color: #fff;
	border-color: #d8658c;
}
.bb-paging li a:hover {
	background: #fdf0f5;
	border-color: #d8658c;
	color: #d8658c;
}

/* ===== 詳細ページ ===== */
.bb-detail-wrap {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 1px 6px rgba(0,0,0,0.10);
	overflow: hidden;
	margin-bottom: 16px;
}

/* 詳細ヘッダー */
.bb-detail-header {
	padding: 14px 16px 12px;
	border-bottom: 1px solid #f2f2f2;
}
.bb-detail-badge {
	display: inline-block;
	font-size: 0.76em;
	font-weight: bold;
	color: #d8658c;
	background: #fdf0f5;
	border: 1px solid #f5c0d0;
	border-radius: 4px;
	padding: 2px 8px;
	margin-bottom: 8px;
}
.bb-detail-badge--bbs {
	color: #4466cc;
	background: #eef2fc;
	border-color: #c0d0f0;
}
.bb-detail-title {
	font-size: 1.12em;
	font-weight: 800;
	color: #1a1a1a;
	line-height: 1.45;
	margin: 0 0 6px;
}
.bb-detail-price {
	font-size: 1.25em;
	font-weight: bold;
	color: #d04010;
	margin: 6px 0;
}
.bb-detail-meta {
	font-size: 0.78em;
	color: #aaa;
}

/* 詳細本文 */
.bb-detail-body {
	padding: 14px 16px;
	font-size: 0.92em;
	line-height: 1.85;
	color: #333;
	border-bottom: 1px solid #f2f2f2;
	white-space: pre-wrap;
	word-break: break-word;
}

/* 画像ギャラリー */
.bb-detail-gallery {
	padding: 12px 16px;
	border-bottom: 1px solid #f2f2f2;
}
.bb-detail-gallery__label {
	font-size: 0.8em;
	color: #aaa;
	margin-bottom: 8px;
}
.bb-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
}
.bb-gallery-item a {
	display: block;
	border-radius: 6px;
	overflow: hidden;
	aspect-ratio: 1;
}
.bb-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 0.15s;
}
.bb-gallery-item a:hover img { opacity: 0.85; }

/* 投稿者 */
.bb-detail-user {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1px solid #f2f2f2;
}
.bb-detail-user__avatar {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.bb-detail-user__name {
	font-size: 0.86em;
	color: #555;
}
.bb-detail-user__label {
	font-size: 0.72em;
	color: #aaa;
	display: block;
}

/* アクションボタン */
.bb-detail-actions {
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.bb-btn-contact {
	display: block;
	text-align: center;
	background: linear-gradient(90deg, #d8658c, #e8829f);
	color: #fff !important;
	padding: 13px 20px;
	border-radius: 8px;
	font-size: 0.97em;
	font-weight: bold;
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: opacity 0.15s;
}
.bb-btn-contact:hover { opacity: 0.88; }
.bb-btn-comment {
	display: block;
	text-align: center;
	background: linear-gradient(90deg, #4466cc, #5580d8);
	color: #fff !important;
	padding: 13px 20px;
	border-radius: 8px;
	font-size: 0.97em;
	font-weight: bold;
	text-decoration: none;
	transition: opacity 0.15s;
}
.bb-btn-comment:hover { opacity: 0.88; }
.bb-btn-report {
	display: block;
	text-align: center;
	font-size: 0.76em;
	color: #ccc;
	text-decoration: none;
	padding: 4px;
}
.bb-btn-report:hover { color: #e06030; }

/* ===== セクション別詳細ページ ===== */

/* 価格表示: デフォルトは全て非表示、各セクションで1つだけ表示 */
.bb-detail-price--job,
.bb-detail-price--housing { display: none; }

body.sub-job .bb-detail-price--trade,
body.sub-job .bb-detail-price--housing { display: none; }
body.sub-job .bb-detail-price--job { display: block; color: #2255bb; }

body.sub-housing .bb-detail-price--trade,
body.sub-housing .bb-detail-price--job { display: none; }
body.sub-housing .bb-detail-price--housing { display: block; color: #337744; }

/* お問い合わせボタン: デフォルト以外は非表示 */
.bb-btn-contact--job,
.bb-btn-contact--housing { display: none; }

body.sub-job .bb-btn-contact--default,
body.sub-job .bb-btn-contact--housing { display: none; }
body.sub-job .bb-btn-contact--job {
	display: block;
	background: linear-gradient(90deg, #2255bb, #4477dd);
}

body.sub-housing .bb-btn-contact--default,
body.sub-housing .bb-btn-contact--job { display: none; }
body.sub-housing .bb-btn-contact--housing {
	display: block;
	background: linear-gradient(90deg, #337744, #55aa66);
}

/* Job ヘッダー */
body.sub-job .bb-detail-header {
	background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
	border-bottom: 2px solid #c8d8f0;
}
body.sub-job .bb-detail-badge {
	color: #2255bb;
	background: #eef2fc;
	border-color: #c0d0f0;
}
body.sub-job .bb-detail-title {
	color: #1a2a5a;
}

/* Housing ヘッダー */
body.sub-housing .bb-detail-header {
	background: linear-gradient(135deg, #f0fff4 0%, #e8f8ee 100%);
	border-bottom: 2px solid #b8e0c0;
}
body.sub-housing .bb-detail-badge {
	color: #337744;
	background: #eefaf2;
	border-color: #b0dcc0;
}
body.sub-housing .bb-detail-title {
	color: #1a3a22;
}

/* Job 本文に情報ラベル風スタイル */
body.sub-job .bb-detail-body,
body.sub-housing .bb-detail-body {
	background: #fafcff;
	border-left: 3px solid #c0d0f0;
	padding-left: 14px;
}
body.sub-housing .bb-detail-body {
	border-left-color: #b0dcc0;
	background: #fafff8;
}

/* BBS コメント一覧 */
.bb-replies { padding: 0 16px 14px; }
.bb-replies__title {
	font-size: 0.85em;
	color: #888;
	padding: 10px 0 8px;
	border-bottom: 1px solid #f2f2f2;
	margin-bottom: 10px;
}
.bb-reply {
	display: flex;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid #f8f8f8;
}
.bb-reply:last-child { border-bottom: none; }
.bb-reply__avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.bb-reply__body { flex: 1; min-width: 0; }
.bb-reply__name {
	font-size: 0.78em;
	font-weight: bold;
	color: #555;
	margin-bottom: 4px;
}
.bb-reply__text {
	font-size: 0.86em;
	color: #333;
	line-height: 1.7;
	word-break: break-word;
}

/* BBS投稿CTAバナー */
.bb-post-bnr {
	background: linear-gradient(135deg, #d8658c 0%, #e89050 100%);
	color: #fff;
	border-radius: 8px;
	padding: 16px;
	text-align: center;
	margin: 12px 0;
}
.bb-post-bnr p {
	font-size: 0.88em;
	margin: 0 0 10px;
}
.bb-post-bnr a {
	display: inline-block;
	background: #fff;
	color: #d8658c !important;
	font-weight: bold;
	font-size: 0.88em;
	padding: 8px 18px;
	border-radius: 20px;
	text-decoration: none;
	margin: 3px;
}

/* ===== フォーム共通 ===== */
.bb-form-wrap {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 1px 6px rgba(0,0,0,0.09);
	padding: 18px 16px 20px;
	margin-bottom: 14px;
}
.bb-form-title {
	font-size: 1.05em;
	font-weight: 700;
	color: #333;
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 2px solid #fdf0f5;
}

/* ステップバー */
.bb-steps {
	display: flex;
	margin-bottom: 20px;
}
.bb-steps__item {
	flex: 1;
	text-align: center;
	padding: 7px 4px;
	font-size: 0.8em;
	font-weight: bold;
	color: #ccc;
	border: 1px solid #e8e8e8;
	background: #fafafa;
	border-right: none;
}
.bb-steps__item:last-child { border-right: 1px solid #e8e8e8; }
.bb-steps__item.is-active {
	color: #d8658c;
	background: #fdf0f5;
	border-color: #f5c0d0;
}
.bb-steps__item.is-done {
	color: #999;
	background: #f8f8f8;
}

/* エラーボックス */
.bb-error-box {
	background: #fff0f0;
	border: 1px solid #e08080;
	border-radius: 6px;
	padding: 10px 14px;
	margin-bottom: 14px;
	color: #c00;
	font-size: 0.88em;
	line-height: 1.7;
}

/* フォームテーブル */
.bb-form-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 16px;
}
.bb-form-table tr { border-bottom: 1px solid #f5f5f5; }
.bb-form-table tr:last-child { border-bottom: none; }
.bb-form-table th,
.bb-form-table td {
	text-align: left;
	padding: 9px 10px;
	font-size: 0.88em;
	vertical-align: top;
}
.bb-form-table th {
	width: 130px;
	font-weight: bold;
	color: #555;
	white-space: nowrap;
}
.bb-form-table input[type="text"],
.bb-form-table input[type="email"],
.bb-form-table input[type="password"],
.bb-form-table textarea {
	width: 100%;
	padding: 7px 10px;
	border: 1px solid #ddd;
	border-radius: 5px;
	font-size: 0.95em;
	font-family: inherit;
	transition: border-color 0.12s;
}
.bb-form-table input[type="text"]:focus,
.bb-form-table input[type="email"]:focus,
.bb-form-table input[type="password"]:focus,
.bb-form-table textarea:focus {
	border-color: #d8658c;
	outline: none;
}
.bb-form-table textarea { min-height: 100px; resize: vertical; }
.bb-form-table input[type="file"] {
	font-size: 0.85em;
	max-width: 100%;
}
.bb-form-table img { max-width: 180px; height: auto; border-radius: 4px; }

/* セレクトボックス */
.bb-form-select {
	padding: 6px 10px;
	border: 1px solid #ddd;
	border-radius: 5px;
	font-size: 0.92em;
	font-family: inherit;
	background: #fff;
}
.bb-form-select--sm { padding: 5px 6px; font-size: 0.88em; }
.bb-dob-cell { white-space: nowrap; }
.bb-dob-cell select { margin-right: 2px; }

/* ラジオボタン行 */
.bb-radio-cell label { margin-right: 14px; font-size: 0.92em; }
.bb-radio-cell input[type="radio"] { margin-right: 4px; }

/* 郵便番号行 */
.bb-postalcode-row {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}
.bb-postalcode-row input { flex: 0 0 auto; }
.bb-btn-lookup {
	padding: 6px 14px;
	background: #555;
	color: #fff;
	border: none;
	border-radius: 5px;
	font-size: 0.85em;
	cursor: pointer;
	white-space: nowrap;
}
.bb-btn-lookup:hover { background: #333; }
.bb-btn-lookup:disabled { opacity: 0.6; cursor: default; }
.bb-field-note {
	font-size: 0.78em;
	color: #aaa;
	margin: 4px 0 0;
}

/* 確認ページ */
.bb-conf-note {
	font-size: 0.92em;
	color: #666;
	margin-bottom: 12px;
	padding: 10px 14px;
	background: #f9f9f9;
	border-radius: 6px;
}
.bb-conf-table td { word-break: break-all; }
.bb-required {
	display: inline-block;
	font-size: 0.7em;
	background: #e05050;
	color: #fff;
	padding: 1px 5px;
	border-radius: 3px;
	margin-left: 4px;
	vertical-align: middle;
}

/* アクションボタン行 */
.bb-form-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.bb-btn-submit {
	flex: 1;
	min-width: 120px;
	display: block;
	text-align: center;
	background: linear-gradient(90deg, #d8658c, #e8829f);
	color: #fff !important;
	padding: 13px 16px;
	border-radius: 8px;
	font-size: 0.97em;
	font-weight: bold;
	border: none;
	cursor: pointer;
	text-decoration: none;
	transition: opacity 0.15s;
}
.bb-btn-submit:hover { opacity: 0.88; }
.bb-btn-back {
	flex: 1;
	min-width: 120px;
	display: block;
	text-align: center;
	background: #888;
	color: #fff !important;
	padding: 13px 16px;
	border-radius: 8px;
	font-size: 0.97em;
	border: none;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.12s;
}
.bb-btn-back:hover { background: #666; }

/* 完了ページ */
.bb-complete {
	text-align: center;
	padding: 30px 16px 24px;
}
.bb-complete__icon { font-size: 2.8em; margin-bottom: 10px; }
.bb-complete__msg {
	font-size: 1.05em;
	font-weight: bold;
	color: #333;
	margin-bottom: 8px;
}
.bb-complete__sub {
	font-size: 0.88em;
	color: #888;
	margin-bottom: 20px;
}
.bb-complete a {
	display: inline-block;
	background: #d8658c;
	color: #fff !important;
	padding: 11px 28px;
	border-radius: 6px;
	text-decoration: none;
	font-weight: bold;
	font-size: 0.95em;
}

/* ===== 既存クラスの上書き（旧デザイン無効化） ===== */
.content_wrap_01 > h2 > a > img { display: none !important; }
.buy_sell_title, .buy_sell_pr, .buy_sell_image,
.buy_sell_contact, .buy_sell_result, .buy_sell_search,
.bbs_title, .bbs_wrap, .bbs_short_message,
.bnr_wrap_01, .article, .desc_01, .desc_02 {
	/* 既存コンテナは残すが余白リセット */
}
.head_back { background: transparent !important; }

/* ===== レスポンシブ ===== */
@media (max-width: 767px) {
	.bb-form-table th {
		display: block;
		width: 100%;
		border-bottom: none;
		padding-bottom: 2px;
	}
	.bb-form-table td {
		display: block;
		width: 100%;
		padding-top: 2px;
		padding-bottom: 10px;
	}
	.bb-form-table tr { display: block; border-bottom: 1px solid #f0f0f0; }
	.bb-gallery-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 768px) {
	body.sub-trade .bb-cards {
		grid-template-columns: repeat(3, 1fr);
		gap: 14px;
	}
	body.sub-trade .bb-card__thumb {
		padding-bottom: 75%;
	}
	.bb-card__thumb {
		width: 100px;
		min-width: 100px;
		height: 100px;
	}
	.bb-gallery-grid { grid-template-columns: repeat(5, 1fr); }
	.bb-detail-body { white-space: pre-wrap; }
}
/* ============================================================
   shop.css — Restaurant & Shop pages (list, detail, review)
   Mobile-first, used by shop/ shop_kuchi/ shop_gallery/ etc.
   ============================================================ */

/* ── 共通リセット ── */
.shop-page body { text-align: left !important; }

/* ============================================================
   1. LIST PAGE
   ============================================================ */

/* 検索フォーム */
.shop-search {
  background: #fff;
  border: 1.5px solid #e8c8a0;
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 1px 4px rgba(180,120,40,.08);
}
.shop-search fieldset { border: none; padding: 0; margin: 0; }
.shop-search legend {
  font-size: .85rem;
  font-weight: bold;
  color: #b07030;
  margin-bottom: 10px;
}
.shop-search-row { margin-bottom: 12px; }
.shop-search-row label {
  display: block;
  font-size: .78rem;
  font-weight: bold;
  color: #555;
  margin-bottom: 4px;
}
.shop-search select,
.shop-search input[type="text"] {
  width: 100%;
  padding: 8px 10px;
  border: 1.5px solid #ddd;
  border-radius: 6px;
  font-size: .9rem;
  box-sizing: border-box;
  background: #fafafa;
}
.shop-search select:focus,
.shop-search input[type="text"]:focus {
  border-color: #c08040;
  outline: none;
  background: #fff;
}
.shop-search-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.shop-search-checks li { list-style: none; }
.shop-search-checks label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .8rem;
  background: #f5f0e8;
  border: 1px solid #ddd;
  border-radius: 20px;
  padding: 4px 10px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.shop-search-checks input[type="checkbox"]:checked + span,
.shop-search-checks label:has(input:checked) {
  background: #c08040;
  color: #fff;
  border-color: #c08040;
}
.shop-search-btn {
  width: 100%;
  padding: 11px;
  background: linear-gradient(90deg, #c08040, #e0a050);
  color: #fff;
  border: none;
  border-radius: 7px;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  margin-top: 4px;
}
.shop-search-btn:hover { background: linear-gradient(90deg, #a06030, #c08040); }

/* 検索結果ヘッダー */
.shop-result-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
  font-size: .82rem;
  color: #777;
}
.shop-sort-links a {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  color: #666;
  text-decoration: none;
  font-size: .78rem;
  transition: background .15s;
}
.shop-sort-links a:hover { background: #f0e8d8; border-color: #c08040; color: #c08040; }

/* カードグリッド */
.shop-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}
@media (min-width: 640px) {
  .shop-cards { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}
@media (min-width: 900px) {
  .shop-cards { grid-template-columns: repeat(4, 1fr); }
}

/* カード */
.shop-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0,0,0,.09);
  transition: box-shadow .2s, transform .2s;
  display: flex;
  flex-direction: column;
}
.shop-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.14); transform: translateY(-2px); }

.shop-card__img-wrap {
  position: relative;
  padding-top: 66%;
  overflow: hidden;
  background: #f0e8d8;
}
.shop-card__img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s;
}
.shop-card:hover .shop-card__img-wrap img { transform: scale(1.05); }

.shop-card__body { padding: 8px 10px; flex: 1; display: flex; flex-direction: column; gap: 3px; }

.shop-card__name {
  font-size: .88rem;
  font-weight: bold;
  color: #333;
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.shop-card__name a { color: inherit; text-decoration: none; }
.shop-card__name a:hover { color: #c08040; }

.shop-card__area { font-size: .72rem; color: #888; }
.shop-card__genre { font-size: .72rem; color: #999; }

.shop-card__stars {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: .78rem;
  color: #e09020;
  font-weight: bold;
  margin-top: auto;
  padding-top: 4px;
}
.shop-card__stars img { display: none; } /* hide system star images */

.shop-card__meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.shop-card__price { font-size: .72rem; color: #777; }

.shop-card__fav {
  display: block;
  text-align: center;
  padding: 6px 0;
  background: #f5f0e8;
  font-size: .75rem;
  color: #c08040;
  text-decoration: none;
  border-top: 1px solid #f0e8d8;
  transition: background .15s;
}
.shop-card__fav:hover { background: #e8d8c0; }

.shop-card__review-count { font-size: .7rem; color: #aaa; margin-top: 2px; }

.shop-sort-links a.active { background: #f0e8d8; border-color: #c08040; color: #c08040; font-weight: bold; pointer-events: none; }

/* CTAバナー（店舗掲載依頼） */
.shop-request-cta {
  display: block;
  background: linear-gradient(135deg, #c08040, #e0a050);
  color: #fff;
  text-align: center;
  padding: 14px 16px;
  border-radius: 10px;
  text-decoration: none;
  margin: 16px 0;
  font-weight: bold;
}
.shop-request-cta small { display: block; font-size: .78rem; font-weight: normal; opacity: .85; }
.shop-request-cta:hover { background: linear-gradient(135deg, #a06030, #c08040); color: #fff; }

/* ============================================================
   2. DETAIL PAGE
   ============================================================ */

.shop-detail { max-width: 100%; }

/* ヒーロー */
.shop-hero {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0,0,0,.09);
  margin-bottom: 12px;
}
.shop-hero__photos {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 4px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.shop-hero__photos::-webkit-scrollbar { display: none; }
.shop-hero__photos a {
  flex: 0 0 100%;
  scroll-snap-align: start;
}
.shop-hero__photos img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
@media (min-width: 640px) {
  .shop-hero__photos a { flex: 0 0 48%; }
  .shop-hero__photos img { height: 260px; }
}

.shop-hero__info { padding: 14px 16px; }
.shop-hero__name { font-size: 1.25rem; font-weight: bold; color: #333; margin-bottom: 6px; }
.shop-hero__area { font-size: .82rem; color: #888; margin-bottom: 4px; }
.shop-hero__genre { font-size: .82rem; color: #999; margin-bottom: 8px; }

.shop-hero__rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.shop-hero__stars { font-size: 1.3rem; color: #e09020; letter-spacing: 1px; }
.shop-hero__stars img { display: none; }
.shop-hero__rating-num { font-size: 1.2rem; font-weight: bold; color: #333; }
.shop-hero__rating-count { font-size: .8rem; color: #888; }

.shop-hero__price { font-size: .85rem; color: #666; margin-bottom: 10px; }
.shop-hero__tags { display: flex; flex-wrap: wrap; gap: 4px; }
.shop-hero__tag {
  font-size: .72rem;
  background: #f5f0e8;
  color: #b07030;
  border: 1px solid #e8d8c0;
  border-radius: 12px;
  padding: 2px 8px;
}

/* タブナビゲーション（CSS） */
.shop-tabs {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  background: #fff;
  border-radius: 10px 10px 0 0;
  border: 1.5px solid #e8d8c0;
  border-bottom: none;
  margin-bottom: 0;
}
.shop-tabs::-webkit-scrollbar { display: none; }
.shop-tab {
  flex: 1;
  min-width: 72px;
  text-align: center;
  padding: 10px 6px;
  font-size: .75rem;
  color: #888;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  transition: color .15s, border-color .15s;
}
.shop-tab:hover { color: #c08040; }
.shop-tab--active {
  color: #c08040;
  font-weight: bold;
  border-bottom: 2px solid #c08040;
}
.shop-tabs + .shop-section { border-radius: 0 0 10px 10px; }

/* 詳細セクション */
.shop-section {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 1px 6px rgba(0,0,0,.09);
  padding: 16px;
  margin-bottom: 12px;
}
.shop-section__title {
  font-size: 1rem;
  font-weight: bold;
  color: #b07030;
  border-left: 3px solid #c08040;
  padding-left: 8px;
  margin-bottom: 12px;
}

/* PRテキスト */
.shop-pr__title { font-size: 1rem; font-weight: bold; margin-bottom: 6px; color: #333; }
.shop-pr__body { font-size: .88rem; color: #444; line-height: 1.7; white-space: pre-wrap; }

/* フォトグリッド */
.shop-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
@media (min-width: 500px) { .shop-photo-grid { grid-template-columns: repeat(4, 1fr); } }
.shop-photo-grid a { display: block; }
.shop-photo-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 4px; }

.shop-more-link {
  display: block;
  text-align: center;
  padding: 8px;
  background: #f5f0e8;
  border-radius: 6px;
  color: #c08040;
  text-decoration: none;
  font-size: .85rem;
  font-weight: bold;
  margin-top: 8px;
  transition: background .15s;
}
.shop-more-link:hover { background: #e8d8c0; }

/* お気に入りボタン */
.shop-fav-btn {
  display: inline-block;
  padding: 9px 20px;
  background: #fff;
  border: 2px solid #c08040;
  color: #c08040;
  border-radius: 7px;
  font-size: .85rem;
  font-weight: bold;
  text-decoration: none;
  transition: background .15s;
}
.shop-fav-btn:hover { background: #f5f0e8; }

/* 投稿CTAフローティング */
.shop-review-cta-float {
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 100;
}
.shop-review-cta-float a {
  display: flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(90deg, #e09020, #f0b040);
  color: #fff;
  padding: 12px 20px;
  border-radius: 30px;
  font-size: .9rem;
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(200,120,0,.35);
  transition: box-shadow .2s;
}
.shop-review-cta-float a:hover { box-shadow: 0 6px 18px rgba(200,120,0,.5); }

/* ============================================================
   3. REVIEW PAGE (shop_kuchi)
   ============================================================ */

/* ログイン促進CTA */
.shop-login-cta {
  background: #fffbf0;
  border: 2px solid #e0a030;
  border-radius: 10px;
  padding: 16px;
  text-align: center;
  margin-bottom: 16px;
}
.shop-login-cta p { font-weight: bold; margin-bottom: 10px; color: #333; }
.shop-login-cta__btns { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.shop-login-cta__register {
  display: inline-block;
  background: linear-gradient(90deg, #e09020, #f0b040);
  color: #fff;
  padding: 10px 22px;
  border-radius: 7px;
  font-weight: bold;
  text-decoration: none;
  font-size: .9rem;
  transition: opacity .15s;
}
.shop-login-cta__register:hover { opacity: .85; }
.shop-login-cta__login {
  display: inline-block;
  background: #555;
  color: #fff;
  padding: 10px 18px;
  border-radius: 7px;
  text-decoration: none;
  font-size: .9rem;
  transition: opacity .15s;
}
.shop-login-cta__login:hover { opacity: .85; }

/* 投稿ボタン（ログイン済み） */
.shop-review-write-btn {
  display: block;
  background: linear-gradient(90deg, #e09020, #f0b040);
  color: #fff;
  text-align: center;
  padding: 12px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  margin-bottom: 16px;
  transition: opacity .15s;
}
.shop-review-write-btn:hover { opacity: .85; color: #fff; }

/* レビューカード */
.shop-reviews { display: flex; flex-direction: column; gap: 14px; }

.shop-review-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 1px 5px rgba(0,0,0,.08);
  padding: 14px 16px;
}
.shop-review-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.shop-review-card__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background: #f0e8d8;
}
.shop-review-card__meta { flex: 1; min-width: 0; }
.shop-review-card__name { font-size: .85rem; font-weight: bold; color: #333; }
.shop-review-card__date { font-size: .72rem; color: #aaa; }
.shop-review-card__stars { font-size: 1rem; color: #e09020; margin-top: 2px; }
.shop-review-card__stars img { display: none; }

.shop-review-card__comment {
  font-size: .88rem;
  color: #444;
  line-height: 1.7;
  white-space: pre-wrap;
  margin-bottom: 8px;
}

.shop-review-card__photos {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  margin-bottom: 8px;
  scrollbar-width: none;
}
.shop-review-card__photos::-webkit-scrollbar { display: none; }
.shop-review-card__photos a { flex-shrink: 0; }
.shop-review-card__photos img {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 6px;
}

/* 違反報告ボタン */
.shop-violation-btn {
  display: inline-block;
  background: none;
  border: 1px solid #ddd;
  color: #aaa;
  font-size: .72rem;
  padding: 3px 10px;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  transition: border-color .15s, color .15s;
}
.shop-violation-btn:hover { border-color: #e05050; color: #e05050; }

/* ============================================================
   4. ページング
   ============================================================ */
.shop-paging {
  display: flex;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
  padding: 12px 0;
}
.shop-paging a, .shop-paging span {
  display: inline-block;
  min-width: 32px;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
  text-align: center;
  font-size: .82rem;
  color: #666;
  text-decoration: none;
  transition: background .15s;
}
.shop-paging a:hover { background: #f5f0e8; border-color: #c08040; color: #c08040; }
.shop-paging .current { background: #c08040; color: #fff; border-color: #c08040; font-weight: bold; }

/* ============================================================
   5. レスポンシブ微調整
   ============================================================ */
@media (max-width: 480px) {
  .shop-hero__name { font-size: 1.1rem; }
  .shop-cards { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .shop-card__name { font-size: .82rem; }
  .shop-review-cta-float a { padding: 10px 16px; font-size: .85rem; }
}
@charset "UTF-8";

/*
 * W2Life ボタンスタイル
 * 画像ボタン廃止・CSS完全移行版
 * 旧: common/images/*.jpg → 本CSSクラスに置換
 */

/* ============================================================
   共通リセット（input[type=submit] / button / a ボタン共用）
   ============================================================ */
.btn-confirm,
.btn-submit,
.btn-register,
.btn-login,
.btn-back,
.btn-danger,
.btn-cancel,
.btn-search,
.btn-review-write,
.btn-entry,
.btn-comment,
.btn-message,
.btn-bookmark-add,
.btn-bookmark-del,
.btn-friend,
.btn-more,
.btn-request,
.btn-admin {
  box-sizing: border-box;
  font-family: "Meiryo", "Hiragino Kaku Gothic Pro", "MS PGothic", sans-serif;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-appearance: none;
  appearance: none;
}

/* ============================================================
   1. アクションボタン（フォーム送信系）
   ============================================================ */

/* 確認画面へ（旧: check_btn_01.jpg） */
.btn-confirm {
  display: inline-block;
  padding: 11px 32px;
  background: linear-gradient(135deg, #c08040, #e0a050);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  letter-spacing: .05em;
  box-shadow: 0 2px 6px rgba(192,128,64,.35);
  transition: background .2s, transform .1s, box-shadow .2s;
}
.btn-confirm:hover {
  background: linear-gradient(135deg, #a06030, #c08040);
  box-shadow: 0 4px 12px rgba(192,128,64,.45);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}
.btn-confirm:active { transform: translateY(0); }

/* 送信・保存（旧: send_btn_01.jpg） */
.btn-submit {
  display: inline-block;
  padding: 11px 32px;
  background: linear-gradient(135deg, #d8658c, #e8859c);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  letter-spacing: .05em;
  box-shadow: 0 2px 6px rgba(216,101,140,.35);
  transition: background .2s, transform .1s, box-shadow .2s;
}
.btn-submit:hover {
  background: linear-gradient(135deg, #b8456c, #d8658c);
  box-shadow: 0 4px 12px rgba(216,101,140,.45);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

/* 登録（旧: regist_btn_01.jpg） */
.btn-register {
  display: inline-block;
  padding: 11px 32px;
  background: linear-gradient(135deg, #2ecc71, #27ae60);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  letter-spacing: .05em;
  box-shadow: 0 2px 6px rgba(39,174,96,.35);
  transition: background .2s, transform .1s;
}
.btn-register:hover {
  background: linear-gradient(135deg, #27ae60, #219a52);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

/* ログイン（旧: login_btn_01.jpg） */
.btn-login {
  display: inline-block;
  padding: 11px 32px;
  background: linear-gradient(135deg, #d8658c, #e8859c);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  letter-spacing: .05em;
  box-shadow: 0 2px 6px rgba(216,101,140,.35);
  transition: background .2s, transform .1s;
}
.btn-login:hover {
  background: linear-gradient(135deg, #b8456c, #d8658c);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

/* 戻る（旧: return_btn_01.jpg / return_btn_02.jpg / b_back02.jpg） */
.btn-back {
  display: inline-block;
  padding: 10px 24px;
  background: #fff;
  color: #666;
  font-size: 13px;
  font-weight: bold;
  border: 1.5px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  letter-spacing: .03em;
  transition: background .2s, border-color .2s, color .2s;
}
.btn-back::before { content: "\2190\a0"; }
.btn-back:hover {
  background: #f5f5f5;
  border-color: #999;
  color: #444;
  text-decoration: none;
}

/* 退会（旧: retire_btn_01.jpg） */
.btn-danger {
  display: inline-block;
  padding: 10px 24px;
  background: #fff;
  color: #e53935;
  font-size: 13px;
  font-weight: bold;
  border: 1.5px solid #e53935;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.btn-danger:hover {
  background: #e53935;
  color: #fff;
  text-decoration: none;
}

/* キャンセル（旧: retire_cancel_btn_01.jpg） */
.btn-cancel {
  display: inline-block;
  padding: 10px 24px;
  background: #fff;
  color: #888;
  font-size: 13px;
  font-weight: bold;
  border: 1.5px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s;
}
.btn-cancel:hover {
  background: #f5f5f5;
  text-decoration: none;
}

/* 検索（旧: search_btn_01/02/03.jpg） */
.btn-search {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: linear-gradient(135deg, #c08040, #e0a050);
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(192,128,64,.3);
  transition: background .2s, transform .1s;
}
.btn-search:hover {
  background: linear-gradient(135deg, #a06030, #c08040);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

/* ============================================================
   2. コンテンツ投稿系ボタン
   ============================================================ */

/* 口コミを書く（旧: kuchikomi_entry_01.jpg） */
.btn-review-write {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: linear-gradient(135deg, #d8658c, #e8859c);
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(216,101,140,.3);
  transition: background .2s, transform .1s, box-shadow .2s;
}
.btn-review-write:hover {
  background: linear-gradient(135deg, #b8456c, #d8658c);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(216,101,140,.4);
  color: #fff;
  text-decoration: none;
}

/* 投稿する / エントリー（旧: entry_btn_01.jpg / gallery_entry_01.jpg） */
.btn-entry {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: linear-gradient(135deg, #c08040, #e0a050);
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(192,128,64,.3);
  transition: background .2s, transform .1s;
}
.btn-entry:hover {
  background: linear-gradient(135deg, #a06030, #c08040);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

/* コメント投稿（旧: comment_btn_01.jpg） */
.btn-comment {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  background: #fff;
  color: #c08040;
  font-size: 13px;
  font-weight: bold;
  border: 1.5px solid #c08040;
  border-radius: 20px;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.btn-comment:hover {
  background: #c08040;
  color: #fff;
  text-decoration: none;
}

/* メッセージ送信（旧: message_send_01.jpg） */
.btn-message {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: linear-gradient(135deg, #3498db, #2980b9);
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(52,152,219,.3);
  transition: background .2s, transform .1s;
}
.btn-message:hover {
  background: linear-gradient(135deg, #2980b9, #2471a3);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

/* ============================================================
   3. お気に入り・フレンド系
   ============================================================ */

/* お気に入り追加（旧: bookmark_add_01.jpg） */
.btn-bookmark-add {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 16px;
  background: #fff;
  color: #d8658c;
  font-size: 12px;
  font-weight: bold;
  border: 1.5px solid #d8658c;
  border-radius: 20px;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.btn-bookmark-add::before { content: "\2661\a0"; font-size: 14px; }
.btn-bookmark-add:hover,
.btn-bookmark-add.is-active {
  background: #d8658c;
  color: #fff;
  text-decoration: none;
}
.btn-bookmark-add.is-active::before { content: "\2665\a0"; }

/* お気に入り削除（旧: bookmark_del_01.jpg） */
.btn-bookmark-del {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 16px;
  background: #d8658c;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  border: 1.5px solid #d8658c;
  border-radius: 20px;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.btn-bookmark-del::before { content: "\2665\a0"; font-size: 14px; }
.btn-bookmark-del:hover {
  background: #b8456c;
  border-color: #b8456c;
  text-decoration: none;
}

/* 友達追加（旧: friend_add_01.jpg） */
.btn-friend {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 16px;
  background: #fff;
  color: #3498db;
  font-size: 12px;
  font-weight: bold;
  border: 1.5px solid #3498db;
  border-radius: 20px;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.btn-friend::before { content: "\ff0b\a0"; }
.btn-friend:hover {
  background: #3498db;
  color: #fff;
  text-decoration: none;
}

/* ============================================================
   4. リンク・ナビゲーション系
   ============================================================ */

/* もっと見る（旧: more_01/02/03.jpg） */
.btn-more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 20px;
  background: transparent;
  color: #c08040;
  font-size: 13px;
  font-weight: bold;
  border: 1.5px solid #c08040;
  border-radius: 20px;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.btn-more::after { content: "\a0\2192"; }
.btn-more:hover {
  background: #c08040;
  color: #fff;
  text-decoration: none;
}

/* リクエスト（旧: request_btn_01.jpg） */
.btn-request {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 9px 20px;
  background: linear-gradient(135deg, #9b59b6, #8e44ad);
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(155,89,182,.3);
  transition: background .2s, transform .1s;
}
.btn-request:hover {
  background: linear-gradient(135deg, #8e44ad, #7d3c98);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

/* ============================================================
   5. 属性タグバッジ（店舗詳細の特徴表示）
   ============================================================ */

.tag-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: .02em;
  white-space: nowrap;
}

.tag-reserve  { background: #fdecea; color: #c62828; border: 1px solid #ef9a9a; }
.tag-children { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.tag-terrace  { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }
.tag-credit   { background: #e0f2f1; color: #00695c; border: 1px solid #80cbc4; }
.tag-price    { background: #fff3e0; color: #e65100; border: 1px solid #ffcc80; }
.tag-parking  { background: #f3e5f5; color: #6a1b9a; border: 1px solid #ce93d8; }
.tag-takeout  { background: #fce4ec; color: #880e4f; border: 1px solid #f48fb1; }
.tag-english  { background: #e8eaf6; color: #283593; border: 1px solid #9fa8da; }
.tag-wifi     { background: #e0f7fa; color: #006064; border: 1px solid #80deea; }

/* ============================================================
   6. 管理画面ボタン（旧: html_a/img/b_*.jpg）
   ============================================================ */

.btn-admin {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 16px;
  background: #546e7a;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s;
}
.btn-admin:hover {
  background: #37474f;
  color: #fff;
  text-decoration: none;
}

.btn-admin.btn-admin-primary {
  background: linear-gradient(135deg, #c08040, #e0a050);
  box-shadow: 0 1px 4px rgba(192,128,64,.3);
}
.btn-admin.btn-admin-primary:hover {
  background: linear-gradient(135deg, #a06030, #c08040);
}

.btn-admin.btn-admin-danger { background: #e53935; }
.btn-admin.btn-admin-danger:hover { background: #c62828; }


/* ===== 言語切替（日本語 / English） ===== */
.lang-switch{
	display:inline-flex; align-items:center; gap:6px;
	font-size:12px; line-height:1; margin-right:10px; white-space:nowrap;
}
.lang-switch .lang-cur{
	color:#d8658c; font-weight:bold; cursor:default;
}
.lang-switch .lang-alt{
	color:#888; text-decoration:none; border-bottom:1px dotted #bbb;
}
.lang-switch .lang-alt:hover{
	color:#d8658c; border-bottom-color:#d8658c; text-decoration:none;
}
/* スマホのドロワー内 */
.mobile-nav .nav-lang{ padding:12px 16px; }
.mobile-nav .nav-lang .lang-switch{ margin-right:0; font-size:14px; gap:8px; }
/* 狭い画面ではPC側を隠し、ドロワーに任せる */
@media (max-width:900px){
	.header-actions .lang-switch{ display:none; }
}

/* ------------------------------------------------------------------
   写真が未登録の掲載
   画像欄には 1x1 の透明GIF（s.gif）が入るため、そのままだと
   カードが空白になってしまう。src で見分けて代替表示に差し替える。
   ------------------------------------------------------------------ */
img[src$="/s.gif"] {
  background: #f4efe6 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='96'%3E%3Cg fill='none' stroke='%23b9aa92' stroke-width='2.4' stroke-linejoin='round' stroke-linecap='round'%3E%3Crect x='30' y='30' width='60' height='42' rx='6'/%3E%3Cpath d='M46 30l5-7h18l5 7'/%3E%3Ccircle cx='60' cy='51' r='12'/%3E%3C/g%3E%3Ctext x='60' y='89' text-anchor='middle' font-size='11' font-family='Helvetica,Arial,sans-serif' fill='%23b9aa92'%3ENo Photo%3C/text%3E%3C/svg%3E") center center / auto 78% no-repeat;
  object-fit: contain !important;
}
.shop-card:hover .shop-card__img-wrap img[src$="/s.gif"] { transform: none; }

/* ------------------------------------------------------------------
   投稿詳細の画像ギャラリー
   画像が未登録の枠には 1x1 の透明GIF（s.gif）が入る。
   HTMLコメントは入れ子にできず、テンプレート側で1枚ずつ隠すと
   コメントが途中で閉じて「-->」が画面に出てしまうため、ここで隠す。
   ------------------------------------------------------------------ */
.bb-gallery-item:has(img[src$="/s.gif"]) { display: none; }


/**
 *
 * 見出し・タブ・ステップ（旧・日本語入り画像の置き換え）
 * EEは英語表示が主のため、文字を焼き込んだ画像をやめてテキストにしている。
 *
**/
.w2-pagetit {
	display: block;
	background: linear-gradient(135deg, #d8658c, #c05078);
	color: #fff;
	padding: 16px 20px;
	border-radius: 6px;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.4;
}
.w2-tab {
	display: inline-block;
	padding: 10px 18px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: #555;
	font-size: 0.9rem;
	white-space: nowrap;
	text-decoration: none;
}
a:hover .w2-tab {
	background: #fdf3f6;
	border-color: #d8658c;
	color: #c05078;
}
.w2-tab.is-on {
	background: #eee;
	color: #333;
	font-weight: bold;
}
.w2-step {
	display: inline-block;
	padding: 8px 22px;
	border-radius: 20px;
	background: #eee;
	color: #999;
	font-size: 0.85rem;
}
.w2-step.is-on {
	background: #d8658c;
	color: #fff;
	font-weight: bold;
}
.w2-cta {
	display: block;
	background: linear-gradient(135deg, #f0a0b8, #e8845a);
	color: #fff;
	padding: 18px 22px;
	border-radius: 6px;
	font-size: 0.95rem;
	line-height: 1.6;
}
