/* ASH Style Sheet (http://ash.jp/) */
/* 全体の属性定義 */
body,p,pre,div,th,td,ul,ol,li,dl,dt,dd {
	color: #000000; /* 文字色の定義 */
}
/* リンク用の属性定義 */
a:link    {color: #0000df}
a:visited {color: #5f00af}
a:active  {color: #7f006f}
a:hover   {color: #af009f}
/* タグ毎の属性定義 */
body, .bg {
	background: #e7ffec;
	margin: 0px;
	padding: 0px;
}

.bg m-title {
	color: black;
	background-color: #d0d0d0;
	font-size: 130%;
	font-weight: bold;
}
h1 {
	color: #6f3f3f;
	font-size: 150%;
	margin: 0.1em;
	padding: 0.1em;
}
h2 {
	color: #001f00;
	background-color: #bfdfbf;
	border-color: #577f5f;
	border-style: solid;
	border-top-width: 2px;
	border-left: none;
	border-bottom-width: 2px;
	border-right: none;
	padding: 0em 0em 0em 0.2em;
	font-weight: bold;
	font-size: 120%;
	margin-top: 0.5em; margin-bottom: 0.3em;
	clear: both;
}
h3 {
	color: #5f0000;
	font-size: 110%;
	margin-top: 0.6em; margin-bottom: 0.2em;
	margin-left: 0.3em;
	clear: both;
}
h4, h5 {
	color: #000000;
	font-size: 100%;
	margin-top: 0.5em; margin-bottom: 0.2em;
	margin-left: 0.5em;
	clear: both;
}
div, pre {
	margin: 0px;
}
div.page-link {
	text-align: center;
}
div.anchor-link {
	color: #001f00;
	text-align: center;
	background-color: #bfdfbf;
	border-color: #577f5f;
	border-style: solid;
	border-width: 2px 0;
	padding-bottom: 0.2em;
	margin: 0.3em 0 0.3em 0;
}
p {
	margin-top: 0.3em; margin-bottom: 0.2em;
	margin-left: 0.5em; margin-right: 0.2em;
}
body > table, body > h2 ~ div, div.detail, .header .menu,
body > div.anchor-link ~ div, body > div.page-link ~ div:not(.anchor-link) {
	margin-left: 0.5em; margin-right: 0.2em;
}
.menu.right {
	margin-top: 0; margin-bottom: 0;
}
th, td {
	padding: 0.1em;
}
table.wide, .placelist.wide {
	width: calc(100% - 0.7em);
	margin-left: 0.5em; margin-right: 0.2em;
}
.placelist, .placelist div {
	box-sizing: border-box;
}
div.placelist a.info {
	display: block;
	box-sizing: border-box;
}
div.placelist .info {
	margin: 0 2px 2px 2px;
}
div.placelist .info:first-child {
	margin-top: 2px;
}
.placelist .info>div:nth-child(n+2) {
	margin-left: 2px;
}
.placelist.tbl {
	display: table;
	border-spacing: 2px;
}
.tbl.fix {
	table-layout: fixed;
}
.placelist.tbl>.info {
	display: table-row;
}
.placelist.tbl>.info>div {
	display: table-cell;
}
table.bdr {
	line-height: 1.3em;
}
table.bdr, table.bdr>tbody>tr>th, table.bdr>tbody>tr>td,
div.placelist.bdr, div.placelist.bdr>.info>div {
	border: 1px solid;
}
table.bg>tbody>tr>td, div.placelist.bg>.info>div {
	background: #f7fff7;
}
table.bg>tbody>tr.minor>td, div.placelist.bg>.info.minor>div {
	color: #3f3f3f;
	background: #efefef;
}
table.bg>tbody>tr>th, div.placelist.bg>.head>div, div.placelist.bg>.info>.head {
	font-weight: bold;
	text-align: center;
	background: #bfdfbf;
}
a.info {
	text-decoration: none;
}
a.info:not(.head):hover>div {
	background: #fffff0 !important;
}
.selitm {
	color: #ffffff !important;
	background:#1f1f7f !important;
}
.selitm>div {
	color: black !important;
	background:#fffff0 !important;
}
.tbl.fix>.info>div {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.tbl>.info.head.no>div:first-child,
.tbl>.info>.no {
	width: 2.5em;
}
.tbl:not(.nolst)>.info>div:last-child,
.tbl.lst2>.info>div:nth-last-child(2) {
	width: 4.2em;
	text-overflow: ellipsis;
}
.tbl.l1-m2>.info>div:last-child,
.tbl.l2-m2>.info>div:nth-last-child(2),
.tbl.l3-m2>.info>div:nth-last-child(3),
.tbl.l4-m2>.info>div:nth-last-child(4),
.tbl.l5-m2>.info>div:nth-last-child(5),
.tbl.l6-m2>.info>div:nth-last-child(6) {
	width: 2.3em;
	padding: 0 0.05em;
}
.tbl.l1-m3>.info>div:last-child,
.tbl.l2-m3>.info>div:nth-last-child(2),
.tbl.l3-m3>.info>div:nth-last-child(3),
.tbl.l4-m3>.info>div:nth-last-child(4),
.tbl.l5-m3>.info>div:nth-last-child(5),
.tbl.l6-m3>.info>div:nth-last-child(6) {
	width: 3.4em;
	padding: 0 0.05em;
}
.tbl.l1-m4>.info>div:last-child,
.tbl.l2-m4>.info>div:nth-last-child(2),
.tbl.l3-m4>.info>div:nth-last-child(3),
.tbl.l4-m4>.info>div:nth-last-child(4),
.tbl.l5-m4>.info>div:nth-last-child(5),
.tbl.l6-m4>.info>div:nth-last-child(6) {
	width: 4.3em;
	padding: 0 0.05em;
}
.tbl.l1-m4n>.info>div:last-child,
.tbl.l2-m4n>.info>div:nth-last-child(2),
.tbl.l3-m4n>.info>div:nth-last-child(3),
.tbl.l4-m4n>.info>div:nth-last-child(4),
.tbl.l5-m4n>.info>div:nth-last-child(5),
.tbl.l6-m4n>.info>div:nth-last-child(6) {
	width: 5em;
	padding: 0 0.05em;
}
.tbl.l1-r>.info:not(.head)>div:last-child,
.tbl.l2-r>.info:not(.head)>div:nth-last-child(2),
.tbl.l3-r>.info:not(.head)>div:nth-last-child(3),
.tbl.l4-r>.info:not(.head)>div:nth-last-child(4),
.tbl.l5-r>.info:not(.head)>div:nth-last-child(5),
.tbl.l6-r>.info:not(.head)>div:nth-last-child(6) {
	text-align: right;
	padding-right: 2px;
}
.tbl.l1-c>.info:not(.head)>div:last-child,
.tbl.l2-c>.info:not(.head)>div:nth-last-child(2),
.tbl.l3-c>.info:not(.head)>div:nth-last-child(3),
.tbl.l4-c>.info:not(.head)>div:nth-last-child(4),
.tbl.l5-c>.info:not(.head)>div:nth-last-child(5),
.tbl.l6-c>.info:not(.head)>div:nth-last-child(6) {
	text-align: center;
}
.tbl.fix>.info.head>div {
	text-overflow: clip;
}
table.bdr>tbody>tr>th:has(form, input) {
	vertical-align: top;
}

/* 写真一覧 */
.placelist.img, .imglist.view:has(figure) {
	padding: 2px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
.placelist.img figure, .imglist.view figure {
	min-width: 100px;
	min-height: 100px;
}
.placelist.img figure {
	border: 1px solid black;
	margin: 2px;
	padding: 3px;
}
.imglist.view figure {
	margin: 0;
	padding: 2px;
}
.placelist.img figure>div:has(>img) {
	text-align: center;
}
.placelist.img figure>div>img, .imglist.view figure img{
	width: calc(100% - 8px);
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.placelist.img figure>figcaption {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

ul {
	margin-top: 0.1em; margin-bottom: 0.2em;
}
li {
	margin-top: 0.1em; margin-bottom: 0.2em;
}
li>ul {
	padding-left: 1em;
}

ul.breadcrumbs {
    list-style: none;
    margin: 0;
    margin-left: 5px;
    padding: 2px;
}
ul.breadcrumbs li {
    display: inline;
    list-style: none;
}
ul.breadcrumbs li:after {
    content: ' > ';
}
ul.breadcrumbs li:last-child:after {
    content: '';
}

.linktop, .linkbottom {
	float: right;
	font-weight: bold;
	font-size: 85%;
	line-height: 2em;
	margin-right: 0.5em;
}
#page_view .linktop {
	margin-top: 0.2em;
}
div.sig {
	margin-top: 0.3em; margin-bottom: 0.2em;
	margin-left: 0.5em; margin-right: 0.2em;
}

div.figbox {
	display: flex;
	flex-wrap: wrap;
/*	justify-content: space-around; */
/*	justify-content: center; */
	margin-top: 0.2em; margin-bottom: 0.2em;
	margin-left: 0.5em; margin-right: 0.2em;
}
div.figbox>figure {
	border: 1px solid;
	margin: 0.2em;
}
div.figbox>figure img {
	height: 220px;
	margin: 0px;
	vertical-align: bottom;
}
div.figbox>figure a:hover {
	opacity: 0.5;
	-moz-opacity: 0.5;
	filter:alpha(opacity=50);
}
div.figbox>figure figcaption {
	background: #f1fff5;
	text-align: center;
	font-size: 80%;
	margin: 0px;
	padding: 0px;
}
hr {
	margin-top: 1.0em; margin-bottom: 0.5em;
}
nw, .nw, .nowrap {
	white-space: nowrap;
}

/* 回り込み制御 */
.l, .left {
	float: left;
	margin: 3px;
}
.r, .right {
	float: right;
	margin: 3px;
}
.clear {
	clear: both;
}
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}
.clearfix:before {
	content: "";
	display: table;
	clear: both;
}
.clearfix {
	display: block;
}

/* 画像用 */
.waku, img.pic, img.lost, img.picu, img.cap, img.ext-link, img.icon, .listmap {
	border-width: 4px;
	margin: 0px;
}
.listmap {
	margin-right: 4px;
}
.waku, img.pic, img.ext-link, .listmap {
	border-style: double;
	border-color: #3f7f2f;
}
img.lost {
	border-style: double;
	border-color: #000000;
}
img.picu {
	margin: 1px 0px;
	border-width: 3px;
	border-style: dashed;
	border-color: #1f1f7f;
}
img.cap {
	border-style: double;
	border-color: #7f1f1f;
}
img.cap.admin {
	margin: 1px 0px;
	border-width: 3px;
	border-style: double;
}
img.cap.lost {
	margin: 2px 0px;
	border-width: 2px;
	border-style: dotted;
}
img.icon {
	border-style: double;
	border-color: #0f0f8f;
}
div.icon, .icon:has(img) {
	margin-left:auto;
	min-height: 50px;
}
img.more { /* 複数画像枠 */
    box-shadow: 3px 3px 0 gray;
}

/* 外部リンク画像用 */
a:has(>img.ext-link), span:has(>img.ext-link) {
  position: relative;
}
a:has(>img.ext-link):after, span:has(>img.ext-link):after {
  content: url("/ext-link.svg");
  display: block;
  width: 10%;
  min-width: 24px;
  position: absolute;
  bottom: 0;
  left: 5px;
}

/* アフィリエイト用 */
div.ad {
	display: grid;
	margin: 5px;
	grid-gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(265px, 1fr));
}
div.ad > a {
	display: block;
	text-decoration: none;
	white-space: normal;
}
div.ad div.ad_box {
	vertical-align: top;
	border: 2px #331111 solid;
	margin: 0;
	padding: 2px;
	height: 81px;
	overflow: hidden;
}
div.ad img {
	margin: 3px;
	float: left;
	border: none;
}
div.ad div.ad_title {
	margin: 3px;
	font-size: 14px;
}
div.ad div.ad_info {
	margin: 3px;
	font-size: 12px;
}

/* 見出しのボタン */
h2.placelist>.btn {
	margin-top: 0.15rem;
	margin-right: 0.2rem;
	font-size: 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: end;
}
h2.placelist button {
	height: 1.3rem;
	padding: 0;
	outline: none;
	border: solid 1px black ;
	border-radius: 10%;
	font-size: 0.9rem;
	line-height: 1rem;
}

table.placelist td.info {
	vertical-align: top;
}

button.idx_state {
	width: 4em;
	border-radius: 1em;
	padding: 0;
	margin-top: 1px;
	text-align: center;
	vertical-align: bottom;
}
button:not(.nopointer):not(.m-disabled):hover {
	cursor: pointer;
}

/* 情報一覧アイコン */
.info div.icon {
	float: right;
	margin: 4px;
}
.info div.icon img {
	width: 88px;
	height: 66px;
	object-fit: cover;
	vertical-align: bottom;
}

.assign { /* 指定 */
	border: 1px solid black;
	border-radius: 50%;
}

/* 子要素 */
tr.child {
	display: none;
}

/* 地図インデックス背景色 */
div.yellow, div.yellow .bg {
	background-color: #fefede;
}
div.yellow h1 {
	color: #005f00;
}
div.yellow h2 {
	color: #5f0000;
	background-color: #fefedf;
	border-color: #a7775f;
}
div.yellow h3 {
	color: #5f0000;
}
div.yellow td, div.yellow table.bg>tbody>tr>td, div.yellow div.placelist.bg>.info>div {
	background-color: #fcf2e6;
}
div.yellow th, div.yellow table.bg>tbody>tr>th, div.yellow div.placelist.bg>.head>div, div.yellow div.placelist.bg>.info>.head {
	font-weight: bold;
	text-align: center;
	background-color: #fefeee;
}
div.yellow div.anchor-link {
	color: #5f0000;
	background-color: #fefedf;
	border-color: #a7775f;
}

/* 追加モード背景色 */
div.brown, div.brown .bg {
	background-color: #fff5df;
}
div.brown h1 {
	color: #005f00;
}
div.brown h2 {
	color: #570000;
	background-color: #fef1e7;
	border-color: #af7f5f;
}
div.brown h3 {
	color: #570000;
}
div.brown td, div.brown table.bg>tbody>tr>td, div.brown div.placelist.bg>.info>div {
	background-color: #f9f9f9;
}
div.brown th, div.brown table.bg>tbody>tr>th, div.brown div.placelist.bg>.head>div, div.brown div.placelist.bg>.info>.head {
	font-weight: bold;
	text-align: center;
	background-color: #d7d7d7;
}
div.brown div.anchor-link {
	color: #570000;
	background-color: #fef1e7;
	border-color: #af7f5f;
}

/* 追加モード背景色2 */
div.blue, div.blue .bg {
	background-color: #f3f7ff;
}
div.blue h1 {
	color: #00005f;
}
div.blue h2 {
	color: #00007f;
	background-color: #e7e7ff;
	border-color: #000094;
}
div.blue h3 {
	color: #00007f;
}
div.blue td, div.blue table.bg>tbody>tr>td, div.blue div.placelist.bg>.info>div {
	background-color: #e7e7ff;
}
div.blue th, div.blue table.bg>tbody>tr>th, div.blue div.placelist.bg>.head>div, div.brown div.placelist.bg>.info>.head {
	background-color: #fefeff;
}
div.blue div.anchor-link {
	color: #00007f;
	background-color: #e7e7ff;
	border-color: #000094;
}
code {
	display: flex;
	font-size: 1.1em;
	line-height: 1.3em;
	text-align: left;
	tab-size: 4;
	white-space: pre;
	overflow-x: auto;
	margin: 5px 15px; padding: 5px;
	border: 1px solid;
	background: #f5fff5;
	clear: both;
}
