/* ============================================================
   内職47 - 共通スタイル（naishoku47.com 静的HTML版）
   モバイルファースト / 960px以上でPCレイアウト
   ============================================================ */

/* ---------- デザイントークン（ブランドカラー） ---------- */
:root {
	--n47-green: #00b862;    /* ブランド緑（h2背景・新着情報・見出し線など） */
	--n47-green-2: #0eb765;  /* ブランド緑（サイド見出し・h3） */
	--n47-gray: #919191;     /* パンくず・日付などの補助テキスト */
}

/* ---------- リセット ---------- */
html, body, div, span, h1, h2, h3, h4, p, a, img, dl, dt, dd, ul, ol, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
}
table { border-collapse: collapse; border-spacing: 0; }
ul, ol { list-style: none; }
img { border: 0; vertical-align: middle; max-width: 100%; height: auto; }
input, button, select, textarea { font-family: inherit; font-size: 100%; margin: 0; }
button, input { line-height: normal; }
input[type="text"], input[type="image"] { -webkit-appearance: none; appearance: none; }

/* ---------- ベース ---------- */
html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
	background: #ffffff;
	border-top: 5px solid #00b95e;
	color: #3d3d3d;
	font-family: "Rounded Mplus 1c", "PT Sans Caption", "Montserrat", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.6;
}
a {
	color: #2870ff;
	text-decoration: none;
}
a:hover {
	color: #2837ff;
}
p {
	font-size: 15px;
	line-height: 26px;
	margin-bottom: 20px;
}
.hidden {
	display: none;
}
.clearfix::before,
.clearfix::after {
	content: "";
	display: table;
}
.clearfix::after {
	clear: both;
}

/* ---------- ラッパー ---------- */
#wrapper {
	max-width: 1060px;
	margin: 0 auto;
	padding: 0 10px;
	background: #ffffff;
	overflow: hidden;
}

/* ============================================================
   ヘッダー
   ============================================================ */
#st-headwide {
	padding: 0;
}
#headbox {
	padding: 10px 0;
	text-align: center;
}
header .sitename {
	font-size: 22px;
	line-height: 30px;
	padding: 0;
	margin-bottom: 10px;
	padding-top: 10px;
}
header .sitename a {
	color: #1a1a1a;
	text-decoration: none;
	font-weight: bold;
}
header .sitename a:hover {
	opacity: 0.8;
}
.sitename img {
	max-width: 100%;
	margin: 0 auto;
}
header .descr {
	font-size: 14px;
	font-weight: normal;
	line-height: 24px;
	color: var(--n47-green) !important;
	border: 1px solid var(--n47-green);
	border-radius: 4px;
	padding: 10px;
	margin-bottom: 0;
	text-align: left;
}

/* ============================================================
   スマホ用メニュー（ハンバーガー）
   ============================================================ */
#s-navi dl.acordion {
	margin: 0;
	box-sizing: border-box;
	width: 100%;
}
#s-navi dt.trigger {
	cursor: pointer;
}
#s-navi dt.trigger .op {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 25px;
	color: #ffffff;
	padding: 7px 10px;
	background: #00b95e;
	display: block;
	float: right;
	height: auto;
	border-radius: 0 0 4px 0;
}
#s-navi:after {
	content: "";
	display: block;
	clear: both;
	margin-bottom: 5px;
}
#s-navi dd.acordion_tree {
	padding: 10px 0 20px;
	display: none;
	overflow: hidden;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
}
#s-navi dd.acordion_tree.open {
	display: block;
}
#s-navi dd.acordion_tree ul.menu li {
	font-size: 15px;
	padding: 10px 15px;
	list-style: none;
	border-bottom: dashed 1px #00b95e;
	color: #00b95e;
}
#s-navi dd.acordion_tree ul.menu li:last-child {
	border: none;
	padding-bottom: 0;
}
#s-navi dd.acordion_tree ul.menu li a {
	text-decoration: none;
	color: #00b95e;
}
#s-navi dd.acordion_tree ul.menu li a:hover {
	color: #2870ff;
}

/* ============================================================
   本文
   ============================================================ */
#content {
	clear: both;
}
#contentInner {
	width: 100%;
}
main {
	background: #f7fff4;
	border-radius: 4px;
	padding: 20px 15px;
	margin: 0 -10px 20px;
	overflow: hidden;
}
main > article {
	color: #3d3d3d;
}

/* ---------- 日本地図 ---------- */
.home_map {
	background: #e9f8ff; /* Old browsers */
	background: -webkit-linear-gradient(top, #0090ff 0%, #e9f8ff 100%);
	background: linear-gradient(to bottom, #0090ff 0%, #e9f8ff 100%);
	padding: 20px;
	border-radius: 4px 4px 0 0;
	margin: -20px -15px 30px;
}
.map-note {
	font-size: 14px;
	line-height: 22px;
	margin-bottom: 10px;
}
.map-marker {
	color: #ffcf00;
}
#topnews-box dd .map-marker {
	color: #de4536;
}
.map-note .map-note-text {
	color: #e4ffdb;
}

/* ---------- 検索フォーム ---------- */
#search {
	position: relative;
	width: 100%;
	margin: 20px 0;
}
#searchform {
	position: relative;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
}
#searchform input[type="text"] {
	width: 100%;
	box-sizing: border-box;
	border: none;
	outline: none;
	background: transparent;
	padding: 8px 55px 8px 12px;
	height: 32px;
	font-size: 14px;
	color: #000;
}
#searchform input[type="image"] {
	position: absolute;
	right: 2px;
	top: 2px;
	width: 50px;
	height: 34px;
	border: none;
	background: transparent;
	cursor: pointer;
	z-index: 20;
}

/* ---------- 日本地図テーブル ---------- */
#japan-map {
	width: 100%;
	border-collapse: separate;
	border-spacing: 2px;
}
#japan-map td {
	border: 0;
	text-shadow: 1px 1px 1px #000;
}
#japan-map td a {
	display: block;
	text-shadow: none;
}
#japan-map .pref {
	background: #00af54;
	min-height: 10px;
	font-size: 0.7em;
	text-align: center;
	border-radius: 5px;
	box-shadow: 0 0 3px 2px #fff;
	position: relative;
	overflow: hidden;
}
/* アンカーはインフローのまま（テーブルの自動レイアウトを維持） */
#japan-map .pref a {
	position: relative;
	display: block;
	min-height: 10px;
	text-decoration: none;
	color: #fff;
	line-height: 1.2;
	padding: 3px;
	cursor: pointer;
}
/* 疑似要素でクリック領域をタイルの上端・下端まで拡張（セルのoverflow:hiddenでクリップ） */
/* height:60px は余裕を持った値。タイル外にはクリップされるため見た目・レイアウトに影響なし */
#japan-map .pref a::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 60px;
}
#japan-map .pref a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 60px;
}
/* ホバー：タイル全体が山吹色・テキストは白 */
#japan-map .pref:hover {
	background: #e6c832;
}
#japan-map .pref a:hover {
	color: #fff;
	text-shadow: none;
}
/* 北海道タイル：元サイトと同様の高いタイル（#hokkaido margin相当） */
#japan-map .pref-tall {
	height: 59px;
}

/* ---------- スマホ用: 地域別・都道府県リンク一覧（600px未満で地図の代わりに表示） ---------- */
#japan-map-list {
	display: none;
}
@media only screen and (max-width: 599.98px) {
	#japan-map {
		display: none;
	}
	/* 地図の注記はリスト表示では不要（「下記の日本地図を…」と書かれているため） */
	.map-note {
		display: none;
	}
	#japan-map-list {
		display: block;
		margin: -15px 0 10px;
	}
	#japan-map-list .jml-region {
		margin: 18px 0 8px;
		font-size: 15px;
		font-weight: bold;
		color: #1a1a1a;
	}
	#japan-map-list .jml-region:first-child {
		margin-top: 4px;
	}
	#japan-map-list .jml-links {
		margin: 0;
		display: flex;
		flex-wrap: wrap;
		gap: 8px 18px;
	}
	#japan-map-list .jml-links a {
		color: #2870ff;
		text-decoration: underline;
		font-size: 16px;
	}
	#japan-map-list .jml-links a:hover {
		color: #1a55d9;
	}
}

/* ---------- 新着情報 ---------- */
h3#top_news {
	font-family: "Rounded Mplus 1c";
	position: relative;
	padding: 0.25em 0 0.5em 0.75em;
	border-left: 6px solid #ccc;
	font-weight: normal;
	margin-bottom: 20px;
	color: var(--n47-green);
	font-size: 20px;
}
h3#top_news::before {
	position: absolute;
	left: -6px;
	bottom: 0;
	content: '';
	width: 6px;
	height: 50%;
	background-color: var(--n47-green);
}
h3#top_news::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: '';
	width: 100%;
	height: 0;
	border-bottom: 1px solid #ccc;
}
#topnews-box {
	padding: 10px 0;
}
#topnews-box > div {
	padding: 0 10px 10px;
}
/* 新着一覧（日付なし・左寄せ） */
#topnews-box dd {
	padding: 4px 10px 6px;
	border-bottom: 1px dashed var(--n47-green);
	font-size: 14px;
	line-height: 22px;
	margin-bottom: 8px;
	text-align: left;
}
#topnews-box div dl dd a {
	color: #333;
	text-decoration: none;
}
#topnews-box div dl dd a:hover {
	color: #b22222;
}

/* ============================================================
   SNS
   ============================================================ */
.sns {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 20px;
}
.sns ul {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	display: flex;
	flex-wrap: wrap;
}
.sns li {
	list-style: none;
	width: 50%;
	box-sizing: border-box;
}
.sns li a {
	font-size: 15px;
	position: relative;
	display: block;
	padding: 5px 10px 5px 15px;
	color: #fff;
	border-radius: 3px;
	text-decoration: none;
	height: 28px;
	margin: 5px;
	cursor: pointer;
	vertical-align: middle;
	line-height: 25px;
}
.sns .fa {
	font-size: 20px;
}
.snstext {
	font-size: 13px;
	vertical-align: middle;
	padding-left: 10px;
}
/* インラインSVGアイコン（X・TikTok） */
.sns .snsicon {
	display: inline-block;
	vertical-align: -4px;
	margin-right: 0;
}
/* X（旧Twitter） */
.sns .x a { background: #000; }
.sns .x a:hover { background: #2f3b46; }
.sns .x .snsicon { border-right: 1px solid #536471; padding-right: 15px; }
/* Facebook */
.sns .facebook a { background: #3b5998; }
.sns .facebook a:hover { background: #324c81; }
.sns .facebook .fa-facebook { border-right: 1px solid #607bb2; padding-right: 15px; }
/* はてなブックマーク */
.sns .hatebu a { background: #00a5de; }
.sns .hatebu a:hover { background: #008cbd; }
.sns .hatebu .fa-hatena { border-right: 1px solid #48b6db; padding-right: 15px; }
/* LINE */
.sns .line a { background: #25af00; }
.sns .line a:hover { background: #219900; }
.sns .line .fa-comment { border-right: 1px solid #29c200; padding-right: 15px; }

/* ============================================================
   サイドバー
   ============================================================ */
#side aside {
	clear: both;
	width: auto;
	padding: 10px 0;
}
#side h4 {
	font-family: "Rounded Mplus 1c";
	font-size: 18px;
	position: relative;
	padding-bottom: 0.1em;
	border-bottom: 4px solid #ccc;
	margin-bottom: 0.8em;
	color: var(--n47-green-2); /* 元サイト: サイド見出しは緑 */
	line-height: 24px;
}
#side h4::after {
	position: absolute;
	bottom: -4px;
	left: 0;
	z-index: 2;
	content: '';
	width: 20%;
	height: 4px;
	background-color: var(--n47-green);
}
#side aside > * {
	color: #3f3f3f;
}
.myfav_side {
	color: #ffc43d;
	border: 1px solid #ffe29f;
	padding: 10px;
	font-size: 13px;
	background: #fffaed;
	margin-bottom: 10px;
}
.myfav_side ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.myfav_side .fav-note {
	color: #ffb202;
}
/* お気に入りリスト（js/main.js が社名＋県名で描画・長い社名は … で省略） */
.myfav_side .fav-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.myfav_side .fav-item {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 0;
}
.myfav_side .fav-item + .fav-item {
	border-top: 1px dashed #ffe29f;
}
.myfav_side .fav-link {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #d98a00;
	text-decoration: none;
}
.myfav_side .fav-link:hover {
	color: #b37200;
	text-decoration: underline;
}
.myfav_side .fav-del {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	margin: 0;
	padding: 0;
	border: 1px solid #f0c060;
	border-radius: 50%;
	background: #fff;
	color: #e08900;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	cursor: pointer;
}
.myfav_side .fav-del:hover {
	background: #e8544f;
	border-color: #e8544f;
	color: #fff;
}
.myfav_side .fav-count {
	margin: 8px 0 0;
	text-align: right;
	font-size: 12px;
	color: #d98a00;
}
/* トーストメッセージ: 画面中央にふわっとフェード表示→自動消去（js/main.js が .show を切り替え） */
.myfav_side .fav-msg {
	position: fixed;
	left: 50%;
	top: 50%;
	z-index: 9999;
	margin: 0;
	padding: 12px 22px;
	max-width: 86vw;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	color: #fff;
	background: rgba(33, 46, 36, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.3);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, -44%) scale(0.94);
	transition: opacity 0.28s ease, transform 0.28s ease;
}
.myfav_side .fav-msg.show {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}
/* お気に入りメッセージの背景ぼかし（js/main.js が .show を切り替え・メッセージz-index:9999 の下） */
.n47-fav-blur {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(255, 255, 255, 0.35);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.28s ease;
}
.n47-fav-blur.show {
	opacity: 1;
}
/* 内職業者さん情報（ランダム表示: js/main.js が assets/data/listings.js から10件を乱数で選んで描画） */
.randombox {
	border: 1px solid #bfe8d2;
	background: #f7fff4;
	padding: 4px 10px;
	margin: 10px 0;
}
.randombox .random-list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
}
.randombox .random-list li {
	padding: 6px 0;
}
.randombox .random-list li + li {
	border-top: 1px dashed #bfe8d2;
}
.randombox .random-list a {
	display: block;
	color: #1a6e3c;
	text-decoration: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.randombox .random-list a:hover {
	color: #0d4d27;
	text-decoration: underline;
}
.randombox .random-note {
	color: #7a9b8a;
	font-size: 12px;
}
#scrollad {
	padding: 20px 0;
}
#scrollad .textwidget img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
#scrollad a {
	display: block;
	line-height: 0;
}
#scrollad a img {
	transition: opacity .15s ease;
}
#scrollad a:hover img {
	opacity: .85;
}

/* ============================================================
   フッター
   ============================================================ */
#footer {
	background: #ffffff;
	text-align: center;
	padding-bottom: 20px;
	color: #1a1a1a;
}
#footer .footermenubox {
	text-align: center;
	padding-top: 10px;
}
#footer .footermenust {
	list-style: none;
	padding: 0;
	margin: 0 0 10px;
}
#footer .footermenust li {
	display: inline-block;
	padding: 0 10px;
}
#footer .footermenust a {
	padding: 0;
	margin: 0;
	font-size: 12px;
	color: #757575;
}
#footer .footermenust a:hover {
	color: #b22222;
}
#footer h3 {
	font-size: 22px;
	line-height: 30px;
	margin-bottom: 10px;
}
#footer h3 img {
	max-width: 300px;
	margin: 0 auto 10px;
	display: block;
	text-align: center;
}
#footer p {
	font-size: 12px;
	margin-bottom: 5px;
}
#footer a {
	text-decoration: none;
	color: #212121;
}
#footer a:hover {
	color: #b22222;
}
#footer .copy,
#footer .copy a {
	font-size: 12px;
	color: #999;
	line-height: 18px;
	padding: 20px 10px 0;
	display: block;
}
#footer .copy:last-child {
	padding-top: 2px;
}

/* ============================================================
   ページトップボタン
   ============================================================ */
#page-top {
	position: fixed;
	z-index: 9999;
	bottom: 20px;
	right: 0;
	font-size: 20px;
	display: none;
}
#page-top.show {
	display: block;
}
#page-top a {
	text-decoration: none;
	background: #00b95e;
	color: #fff;
	padding: 12px 16px;
	text-align: center;
	display: block;
	opacity: 0.6;
	border-radius: 4px 0 0 4px;
}
#page-top a:hover {
	color: #fff;
	opacity: 0.9;
}

/* ============================================================
   600px以上（タブレット）
   ============================================================ */
@media only screen and (min-width: 600px) {
	.sns {
		width: 90%;
	}
	.sns li {
		width: 25%;
	}
}

/* ============================================================
   960px以上（PC：右サイドバーレイアウト）
   ============================================================ */
@media print, screen and (min-width: 960px) {
	#wrapper {
		overflow: visible;
	}
	.pcnone {
		display: none;
	}
	header .sitename {
		padding-top: 10px;
	}
	#headbox {
		padding: 10px 0;
		margin: 0;
		text-align: center;
	}
	#headbox img {
		margin: 0 auto;
	}
	/* 2カラム（右サイドバー300px） */
	#contentInner {
		float: left;
		width: 100%;
		margin-right: -300px;
	}
	main {
		margin-right: 320px;
		margin-left: 0;
		background-color: #f7fff4;
		border-radius: 4px;
		padding: 30px 50px;
		overflow: visible;
	}
	.home_map {
		margin: -30px -50px 30px;
	}
	#search {
		width: 70%;
		margin: 20px 0 20px 30px;
	}
	/* 新着一覧：日付なし・左寄せ（適切なパディング付き） */
	#topnews-box dd {
		padding: 6px 15px;
		margin-bottom: 8px;
		font-size: 14px;
		text-align: left;
	}
	/* サイドバー（clearを解除して右にfloatさせる）
	   ※ box-sizing: border-box は必須：
	   padding-right:10px を含むと content-box だと 310px になり、
	   #contentInner の負margin領域（300px分）と 10px 重なって
	   float 判定で下に押し出される（PCでサイドバーが下へ落ちる原因） */
	#side aside {
		box-sizing: border-box;
		float: right;
		width: 300px;
		clear: none;
		padding: 30px 10px 20px 0;
	}
	#side h4 {
		font-size: 18px;
		line-height: 24px;
	}
}

/* ============================================================
   シングルページ（サイト説明・お問合せ・規約免責・運営 など）
   共通構造: #breadcrumb + h1.entry-title + .mainbox + .blogbox
   ============================================================ */

/* ぱんくず（元サイト: 文字色#919191） */
#breadcrumb {
	font-size: 13px;
	color: var(--n47-gray);
	padding: 0 0 5px;
	margin: 0;
	clear: both;
}
#breadcrumb a {
	color: var(--n47-gray);
	text-decoration: none;
}

/* 記事タイトル（元サイト: 文字色#000） */
.entry-title {
	font-family: "Rounded Mplus 1c";
	font-size: 24px;
	line-height: 35px;
	color: #000;
	margin-bottom: 10px;
	padding-bottom: .1em;
	border-bottom: 4px solid #00b95e;
}
.entry-title:first-letter {
	margin-right: .1em;
	font-size: 1.5em;
}
#st-page .entry-title {
	margin-bottom: 20px;
}
.entry-title a {
	color: #000;
	text-decoration: none;
}
.entry-title a:hover {
	text-decoration: underline;
}

/* 中見出し（h2：元サイト=緑背景・白文字・下部に三角） */
h2 {
	font-family: "Rounded Mplus 1c";
	background: var(--n47-green);
	color: #ffffff;
	font-size: 20px;
	line-height: 27px;
	margin-bottom: 25px;
	padding: 10px 20px;
	border: none;
	position: relative;
}
h2::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 30px;
	border-top: 10px solid var(--n47-green);
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	border-radius: 2px;
}

/* 小見出し（h3：元サイト=緑文字・緑の左ボーダー） */
.post h3 {
	font-family: "Rounded Mplus 1c";
	font-size: 18px;
	line-height: 27px;
	margin: 10px 0 20px;
	padding: 5px 10px 5px 15px;
	color: var(--n47-green-2);
	border-left: 5px solid var(--n47-green-2);
	border-bottom: none;
	background-color: transparent;
}

/* 小見出し（h4：元サイト=緑文字+淡い背景） */
.post h4 {
	color: var(--n47-green-2);
	background-color: #fbfeff;
}

/* 本文エリア */
.post {
	padding-bottom: 10px;
}
.mainbox {
	padding-bottom: 20px;
}

/* 中央揃え画像 */
.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto;
}

/* タイトル下の日付行 */
.blogbox {
	margin-bottom: 20px;
	padding: 0;
}
.blogbox p {
	font-size: 12px;
	margin: 0;
	color: var(--n47-gray);
	line-height: 18px;
}

/* 本文リスト */
.post ul {
	list-style-type: disc;
	padding: 10px 20px 10px 30px;
	margin-bottom: 20px;
}
.post ul li {
	font-size: 17px;
	line-height: 26px;
}

/* サイドバーの見出し（h5：新着情報などのタイトル） */
#side h5 {
	font-family: "Rounded Mplus 1c";
	font-size: 15px;
	line-height: 25px;
	margin-bottom: 5px;
}

/* 新着情報ウィジェット（サムネイル＋タイトル＋抜粋） */
.kanren {
	padding-top: 10px;
}
.kanren dl {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px dashed #ccc;
}
.kanren dl:last-child {
	border-bottom: none;
}
.kanren dt {
	float: left;
	width: 100px;
}
.kanren dt img {
	width: 100px;
	height: auto;
}
.kanren dd {
	padding-left: 115px;
}
.kanren dl p {
	margin-bottom: 0;
}
.kanren .clearfix dd p {
	font-size: 13px;
	color: #1a1a1a;
	line-height: 18px;
}
.kanren .clearfix dd h5 a {
	color: #3f3f3f;
	text-decoration: none;
}
.kanren .clearfix dd h5 a:hover {
	color: #b22222;
}
.smanone2 {
	padding-top: 6px;
}
/* サムネイルを丸くする */
.kadomaru img {
	border-radius: 100px;
}

/* ============================================================
   シングルページ：600px以上（タブレット）
   ============================================================ */
@media only screen and (min-width: 600px) {
	.post h3 {
		font-size: 22px;
		line-height: 32px;
	}
	.post ul li {
		font-size: 20px;
		line-height: 35px;
	}
	#side h5 {
		font-size: 20px;
		line-height: 35px;
	}
	.kanren .clearfix dd p {
		font-size: 16px;
		line-height: 26px;
	}
}

/* ============================================================
   シングルページ：960px以上（PC）
   ============================================================ */
@media only screen and (min-width: 960px) {
	.post h3 {
		font-size: 20px;
		line-height: 30px;
	}
	.post ul li {
		font-size: 15px;
		line-height: 25px;
	}
	#side h5 {
		font-size: 16px;
		line-height: 26px;
	}
	.kanren .clearfix dd p {
		font-size: 13px;
		line-height: 18px;
	}
}

/* ============================================================
   都道府県ページ：業者一覧ボックス（元サイト=stingerplusテーマ）
   ============================================================ */

/* 記事まとまり枠 */
.itiran_box {
	border: 1px solid #eee;
	padding: 14px 14px 0px 14px;
	border-radius: 4px;
	background: #fff;
	margin-bottom: 10px;
}

/* 業者名（緑の左ボーダー＋青リンク） */
/* .post h3 が与える緑ボーダー・padding をリセット（二重ボーダー解消） */
.post h3.cat_h3 {
	margin: 0 0 8px;
	padding: 0;
	color: inherit;
	border-left: none;
	background-color: transparent;
}
h3.cat_h3 a {
	border-left: 5px solid var(--n47-green);
	padding-left: 10px;
	font-size: 120%;
	color: #003de1;
}
h3.cat_h3 a:hover {
	color: #0000e2;
}

/* 読み仮名 */
.itiran_yomi {
	color: #787878;
	font-size: 80%;
}

/* ダッシュ区切り */
hr.style9 {
	border-top: 1px dashed #ccc;
	border-bottom: 1px dashed #fff;
	margin: 4px 0;
}

/* カテゴリ表示 */
.kanren .blog_info p {
	margin: 0 0 5px;
	font-size: 13px;
	color: #666;
	line-height: 18px;
}
.blog_info p a {
	color: #666;
	text-decoration: none;
}

/* 詳細ボタン（青グラデーション） */
.itiran_btn_class {
	margin-top: 10px;
	font-size: 16px;
	font-weight: normal;
	border-radius: 8px;
	border: 1px solid #337fed;
	padding: 9px 18px;
	text-decoration: none;
	background: linear-gradient(to bottom, #3d94f6 5%, #1e62d0 100%);
	background-color: #3d94f6;
	color: #ffffff;
	display: inline-block;
	text-shadow: 1px 1px 0px #1570cd;
	box-shadow: inset 1px 1px 0px 0px #97c4fe;
}
.itiran_btn_class:hover {
	background: linear-gradient(to bottom, #1e62d0 5%, #3d94f6 100%);
	background-color: #1e62d0;
	color: #eee;
}
.itiran_btn_class:active {
	position: relative;
	top: 1px;
}

/* ページャー */
.st-pagelink {
	padding: 20px 0px;
}
.st-pagelink a {
	text-decoration: none;
	font-size: 13px;
}

/* 一覧なし表示 */
.kanren > p {
	color: #787878;
}

/* ============================================================
   会社詳細ページ（singleページ）
   ============================================================ */

/* 仕様テーブル */
.post .table-block {
	width: 100%;
	background: #fff;
	border: 1px solid #ccc !important;
	color: #353535;
	border-collapse: collapse;
}
.post .table-block td,
.post .table-block th {
	padding: 16px;
	border: 1px solid #ccc !important;
}

/* テーブル幅指定 */
.w05 { width: 5%; } .w10 { width: 10%; } .w15 { width: 15%; } .w20 { width: 20%; }
.w25 { width: 25%; } .w30 { width: 30%; } .w35 { width: 35%; } .w40 { width: 40%; }
.w45 { width: 45%; } .w50 { width: 50%; } .w55 { width: 55%; } .w60 { width: 60%; }
.w65 { width: 65%; } .w70 { width: 70%; } .w75 { width: 75%; } .w80 { width: 80%; }
.w85 { width: 85%; } .w90 { width: 90%; } .w95 { width: 95%; } .w100 { width: 100%; }

/* お気に入りボタン */
#myfav_waku {
	text-align: right;
	margin: 0 0 10px 0;
}
.myfav {
	font-size: 13px;
	font-family: Arial, sans-serif;
	font-weight: normal;
	border-radius: 8px;
	border: 1px solid #268a16;
	padding: 5px 10px;
	text-decoration: none;
	background: linear-gradient(to bottom, #77d42a 5%, #5cb811 100%);
	background-color: #77d42a;
	color: #306108;
	display: inline-block;
	text-shadow: 1px 1px 0px #aade7c;
	box-shadow: inset 1px 1px 0px 0px #caefab;
}
.myfav:hover {
	background: linear-gradient(to bottom, #5cb811 5%, #77d42a 100%);
	background-color: #5cb811;
}
.myfav:active {
	position: relative;
	top: 1px;
}
/* お気に入り登録済み状態（業者ページ） */
.myfav.added {
	background: linear-gradient(to bottom, #c3e39a 5%, #b5dd8a 100%);
	background-color: #b5dd8a;
	border-color: #7fb069;
	color: #2c5210;
	text-shadow: 1px 1px 0px #e2f3d2;
	box-shadow: inset 1px 1px 0px 0px #dcefcc;
}
.myfav.added:hover {
	background: linear-gradient(to bottom, #b5dd8a 5%, #c3e39a 100%);
	background-color: #b5dd8a;
}

/* 口コミ注意書き */
.kuchikomi_waku_tyuui {
	font-size: 70% !important;
	color: #787878;
}

/* 口コミフォームの開閉（アコーディオン） */
#accordion {
	width: auto;
}
#accordion dt {
	font-size: 16px;
	font-family: Arial, sans-serif;
	font-weight: normal;
	border-radius: 8px;
	border: 1px solid #ffaa22;
	padding: 9px 18px;
	text-decoration: none;
	background: linear-gradient(to bottom, #ffec64 5%, #ffab23 100%);
	background-color: #ffec64;
	color: #333333;
	display: inline-block;
	text-shadow: 1px 1px 0px #ffee66;
	box-shadow: inset 1px 1px 0px 0px #fff6af;
	cursor: pointer;
}
#accordion dt:after {
	content: " [+]";
}
#accordion dd {
	display: none;
	font-size: 14px;
	line-height: 140%;
	margin: 0;
	padding: 15px;
}
#accordion dt.active {
	position: relative;
	top: 1px;
	background: #eee;
}
#accordion dt.active:after {
	content: " [閉じる]";
}
#accordion dt.over {
	background: linear-gradient(to bottom, #ffab23 5%, #ffec64 100%);
	background-color: #ffab23;
}

/* 口コミ一覧 */
.commentlist2 {
	list-style-type: none !important;
}
.commentlist2 li {
	overflow: hidden;
	margin-top: 15px;
}
.commentlist2 .author {
	text-align: center;
	width: 100px;
}
.commentlist2 .balloon2 {
	position: relative;
	color: #fff;
	font-size: 14px;
	line-height: 20px;
	padding: 15px;
	border-radius: 5px;
}
.commentlist2 .balloon-lef2 .balloon2 {
	margin-left: 110px;
	background-color: #00B862;
}
.commentlist2 .balloon-lef2 .author2 {
	float: left;
}
.commentlist2 .balloon-rig2 .balloon2 {
	margin-right: 110px;
	background-color: #bef18c;
}
.commentlist2 .balloon-rig2 .author2 {
	float: right;
}
.commentlist2 .balloon2:before,
.commentlist2 .balloon2:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
}
/* 吹き出しの尾（左向き・上下中央に配置した綺麗な三角） */
.commentlist2 .balloon-lef2 .balloon2:before {
	top: 50%;
	left: -10px;
	margin-top: -8px;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-right: 10px solid #00B862;
}
.commentlist2 .balloon-lef2 .balloon2:after {
	display: none;
}
.commentlist2 .balloon-rig2 .balloon2:before {
	top: 50%;
	right: -10px;
	margin-top: -8px;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 10px solid #bef18c;
}
.commentlist2 .balloon-rig2 .balloon2:after {
	display: none;
}

/* このエリア近隣の内職情報！見出し */
.post h4.point {
	font-family: "Rounded Mplus 1c", sans-serif;
	margin-bottom: 40px;
	position: relative;
	border-bottom: solid 1px #f3f3f3;
	padding: 20px 15px 10px;
	background-color: transparent;
}
.post h4 .point-in {
	padding: 3px 20px;
	margin: 0;
	font-size: 15px;
	font-weight: bold;
	background: #f3f3f3;
	color: #000;
	position: absolute;
	top: 15px;
	left: 0;
}

/* 投稿タグ */
.tagst {
	background: #FFF;
	border-radius: 4px;
	font-size: 13px;
	color: #ccc;
	padding: 16px;
	margin: 20px 0;
	border: 1px solid rgba(9, 194, 108, 0.47);
}

/* ============================================================
   メンテナンスモード
   （make-status.ps1 が _maintenance.txt に従い <!--N47MAINT--> を挿入）
   ============================================================ */
.n47-maint-box {
	background: #FFF;
	border: 1px solid rgba(9, 194, 108, 0.47);
	border-radius: 6px;
	text-align: center;
	padding: 48px 24px;
	margin: 20px 0;
}
.n47-maint-ico {
	font-size: 42px;
	line-height: 1;
	margin-bottom: 14px;
}
.n47-maint-box h2 {
	font-size: 19px;
	color: #009A52;
	margin: 0 0 10px;
}
.n47-maint-box p {
	font-size: 14px;
	color: #555;
	margin: 0 0 20px;
}
.n47-maint-btn {
	display: inline-block;
	background: #00B862;
	color: #FFF;
	text-decoration: none;
	font-size: 14px;
	padding: 10px 26px;
	border-radius: 20px;
}
.n47-maint-btn:hover {
	background: #009A52;
}

/* お問い合わせフォームの送信ボタン */
.wpcf7-submit {
	width: 100%;
	border-radius: 20px;
	background: #f3f3f3;
	color: #000;
	border: none;
	margin: 0 auto;
	padding: 10px;
	display: block;
	box-sizing: border-box;
	cursor: pointer;
}
.wpcf7-submit:hover {
	opacity: 0.9;
}

/* レスポンシブ（スマートフォン） */
@media (max-width: 600px) {
	.commentlist2 .author2 {
		float: none;
	}
	.commentlist2 .balloon-lef2 .balloon2,
	.commentlist2 .balloon-rig2 .balloon2 {
		margin-left: 0;
		margin-right: 0;
	}
	.commentlist2 .balloon2:before,
	.commentlist2 .balloon2:after {
		display: none;
	}
	.post .table-block td,
	.post .table-block th {
		display: block;
		width: 100% !important;
	}
	.wpcf7-submit {
		width: 50%;
	}
}

/* ============================================================
   右クリック（コンテキスト）メニュー
   （ネイティブメニューのないアプリ内ブラウザ向け・js/main.js が表示）
   ============================================================ */
.n47-ctx {
	position: fixed; z-index: 999999;
	min-width: 190px; padding: 6px;
	background: #fff; border: 1px solid #cfdccf; border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0,0,0,.20);
	font-family: 'Rounded Mplus 1c','Hiragino Kaku Gothic ProN','Meiryo',sans-serif;
}
.n47-ctx-item {
	display: flex; align-items: center; gap: 9px;
	width: 100%; padding: 9px 11px; margin: 1px 0;
	border: 0; background: none; border-radius: 7px;
	font-size: 13.5px; font-weight: 600; color: #2c3a2f; text-align: left;
	cursor: pointer; font-family: inherit; line-height: 1.3;
	transition: background .12s, color .12s;
}
.n47-ctx-item:hover { background: #e8f6ec; color: #0a7d3b; }
.n47-ctx-ico { flex: none; width: 20px; text-align: center; font-size: 14px; }
