
/* login
------------------------------------------------------------------------------*/

.login-table {
  margin: 40px auto;
  width: 60%;
}

.login-table th {
  padding: 0 20px 0 0;
  text-align: right;
  width: 6em;
}

.login-table td {
  padding: 8px 0;
}

.login-table+.error {
  color: #f00;
  font-weight: bold;
  text-align: center;
}

/* index
------------------------------------------------------------------------------*/

.mansion-search-table {
  width: 100%;
}

.mansion-search-table td {
  padding: 8px;
  width: 33%;
}

.mansion-search-table .select {
  width: 100%;
}

.mansion-search-table label+label {
  margin: 0 0 0 8px;
}

.mansion-search-table .button {
  background: #e6e6e6;
  border-bottom: #b3b3b3 solid 1px;
  border-radius: 4px;
  color: #666;
  height: 30px;
  width: 90px;
}

.mansion-search-table .button:hover {
  background: #ccc;
  transition: background .15s;
}

.mansion-table {
  border: #ccc solid 1px;
  font-size: 90%;
  width: 100%;
}

.mansion-table .hide {
  display: none;
}

.mansion-table th {
  background: #ccc;
  border: #e6e6e6 solid 1px;
  padding: 8px 12px;
}
.mansion-table th:nth-child(1) { width: 12em; }
.mansion-table th:nth-child(3) { width: 8em; }

.mansion-table td {
  border: #e6e6e6 solid 1px;
  cursor: default;
  line-height: 1.4;
  padding: 8px 12px;
}
.mansion-table td:nth-child(3) { text-align: center; }
.mansion-table td:nth-child(4) { text-align: center; }

.mansion-table .selected td {
  background: #e6e6e6;
}

.mansion-table a:hover {
  color: #999;
}

.mansion-table .flag-0:before {
  content: '非公開';
}

.mansion-table .flag-1:before {
  content: '公開済';
}

.mansion-table .button {
  background: #e6e6e6;
  border-bottom: #b3b3b3 solid 1px;
  border-radius: 4px;
  color: #666;
  font-size: 90%;
  height: 24px;
  margin: 0 0 0 4px;
  width: 40px;
}

.mansion-table .button:hover {
  background: #ccc;
  transition: background .15s;
}

/* account
------------------------------------------------------------------------------*/

.account-table {
  margin: 40px auto;
  width: 60%;
}

.account-table th {
  padding: 0 20px 0 0;
  text-align: right;
  width: 10em;
}

.account-table td {
  padding: 8px 0;
}

.account-table .value {
  padding: 0 8px;
}

.account-published {
  display: none;
}

/* contact all
------------------------------------------------------------------------------*/

#main.wide {
	width: 1024px;
}

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

.left {
	float: left;
}

.right {
	float: right;
}

.disp-ib {
	display: inline-block;
}

.disp-bl {
	display: block;
}

.small-hd {
	color: #666;
	font-size: 90%;
	margin: 0 0 6px;
}

.small-hd span {
	margin-left: 6px;
}

.komejiru {
	color: #999;
}

.color-red { color: red;}

.nyoro {
	display: inline-block;
	margin: 0 6px;
}

.txt-c {
	text-align: center;
}

.txt-r {
	text-align: right;
}

.w10 { width: 10%;}
.w15 { width: 15%;}
.w20 { width: 20%;}
.w25 { width: 25%;}
.w30 { width: 30%;}
.w40 { width: 40%;}
.w50 { width: 50%;}

/* ▲▲▲ 以上までは defailt.css にいずれ移動するもの */

.mansion-search-table td.search-date { width: 30%;}
.mansion-search-table td.search-mansion { width: 60%;}

.mansion-search-table td.search-button {
	vertical-align: bottom;
	width: 10%;
}

.mansion-search-table td.search-mansion .input-text {
	width: 90%;
}

.search-sort {
	margin-bottom: 20px;
	text-align: right;
	width: auto;
}

.search-sort label + label {
	margin-left: 10px;
}

.search-sort .small-hd {
	margin: 0 20px 0 0;
	vertical-align: text-top;
}

.paginate-wrap {
	margin: 0 0 30px;
	text-align: right;
}

.paginate-wrap .back {}
.paginate-wrap .next {}

.paginate-wrap .center-area {
	margin: 0 30px;
}

.paginate-wrap a {
	text-decoration: underline;
}

.paginate-wrap a:hover {
	text-decoration: none;
}

.paginate-wrap .paginate-bottom {
	margin-top: 10px;
}

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

.paginate-wrap li {
	display: inline-block;
}

.paginate-wrap .paginate-bottom li > * {
/*	background: #f6f6f6;*/
	border-radius: 4px;
	display: inline-block;
	font-size: 82%;
	letter-spacing: 0;
	line-height: 1;
	margin-top: 3px;
	min-width: 19px;
	padding: 6px 2px;
	text-align: center;
}

.paginate-wrap .paginate-bottom a:hover {
	background: #e6e6e6;
}

.paginate-wrap .paginate-bottom .current-page {
	font-weight: bold;
}

/* .mansion-table のCSSをベースに最適化しています */
.contact-table {
	border: #ccc solid 1px;
	font-size: 90%;
	margin-bottom: 30px;
	width: 100%;
}

.contact-table .hide {
	display: none;
}

.contact-table th {
	background: #ccc;
	border: #e6e6e6 solid 1px;
	padding: 8px 12px;
}

.contact-table td {
	border: #e6e6e6 solid 1px;
	cursor: default;
	line-height: 1.4;
	padding: 8px 12px;
}

.contact-table a:hover {
	color: #999;
}

.contact-table .button {/* default */
	background: #e6e6e6;
	border-bottom: #b3b3b3 solid 1px;
	border-radius: 4px;
	color: #666;
	display: inline-block;
	font-size: 90%;
	letter-spacing: 2px;
	line-height: 1;
	margin: 0;
	padding: 8px 10px 8px 12px;
}

.contact-table .button:hover {/* default */
	background: #ccc;
	transition: background .15s;
}

.contact-table .details {
	background: #5ea97f;
	color: #fff;
}

.contact-table .details:hover {
	background: darkgreen;
	color: #fff;
}

.contact-table .button.delete {
	background: #fff;
	border: 2px solid red;
	color: red;
	padding: 6px 8px 7px 10px;
}

.contact-table .button.delete:hover {
	background: #d60000;
	border-color: #d60000;
	color: #fff;
}

.contact-table .button + .button {
	margin-left: 6px;
}

.contact-table .col1 { width: 8%;}
.contact-table .col2 { width: auto;}
.contact-table .col3 { width: 13%;}
.contact-table .col4 { width: 15%;}
.contact-table .col5 { width: 7%;}

.contact-table .status {
	font-size: 86%;
	letter-spacing: 1px;
}

.contact-table .status .notyet { color: red;}
.contact-table .status .process { color: #037303;}
.contact-table .status .completed { color: #aeaeae;}

/* contact id
------------------------------------------------------------------------------*/

.status-info-wrap {
	margin: 0 auto;
	width: calc(100% - 6em);/* お問い合わせ内容のテキスト幅にほぼ等しい */
}

.status-info-wrap .status {
	width: 70%;
}

.status-info-wrap .status .txt {
	background: #f6f6f6;
	border-left: 4px solid #999;
	font-size: 100%;
	line-height: 1;
	margin: 1em auto;
	padding: 15px 25px;
}

.status-info-wrap .status .highlight {
	color: #666;
	font-size: 110%;
	font-weight: bold;
	margin: 0 8px;
}

.status-info-wrap .update-status-wrap {
	line-height: 45px;
	padding: 1em 0;
	width: 30%
}

.status-info-wrap .update-status-wrap .select {
	display: inline-block;
	margin-left: 45px;
	padding: 0 12px 0 20px;
	vertical-align: middle;
}

.status-info-wrap .action-button {
	display: inline-block;
	margin-left: 30px;
	vertical-align: middle;
}

.status-info-wrap .button {
	background: #e6e6e6;
	border-bottom: #b3b3b3 solid 1px;
	border-radius: 4px;
	color: #666;
	display: inline-block;
	font-size: 90%;
	line-height: 1;
	padding: 8px 15px;
}

.status-info-wrap .button:hover {
	background: #ccc;
	transition: background .15s;
}

.contact-info {
	margin: 0 auto;
	padding: 0 0 1em;
	width: calc(100% - 6em);/* お問い合わせ内容のテキスト幅にほぼ等しい */
}

.contact-info .left,
.contact-info .right {
	max-width: 50%;
	width: auto;
}

.contact-info p {
	font-size: 105%;
	margin: 0 0 10px;
}

.contact-info .id-num span {
	display: inline-block;
	font-size: 115%;
	font-weight: bold;
	letter-spacing: 1px;
}

.contact-info .mansion {
	color: #393939;
	font-size: 110%;
	margin-top: 6px;
}

.contact-info a:hover {
	color: #999;
}

.output-contact {/* お問い合わせ内容表示部 */
	border: 1px solid #e6e6e6;
	color: #393939;
	font-size: 105%;
	letter-spacing: 1px;
	line-height: 1.8;
	margin: 0 auto 20px;
	padding: 2em 3em;
	width: 800px;/* 長文が読みやすい幅に調整している */
}

.hissu-txt,
.output-contact-table {
	margin: 0 auto;
	width: calc(100% - 6em);/* お問い合わせ内容のテキスト幅にほぼ等しい */
}

.output-contact-table {
	margin-bottom: 20px;
}

.output-contact-table th,
.output-contact-table td {
	padding: 20px 25px;
}

.output-contact-table th {
	text-align: left;
	width: 30%;
}

.output-contact-table td {
	font-size: 120%;
	width: 70%;
}

.output-contact-table .hissu {
	font-size: 105%;
	letter-spacing: 1px;
	margin-left: 6px;
}

/* password remind & resetting
------------------------------------------------------------------------------*/

/* .wide ページの標準的なボタン幅 */
#main.wide .foot .publish {
  width: 40%;
}

/* .output-contact をいずれこちらに統合して汎用化する方針 */
.simple-waku-box {
	border: 1px solid #e6e6e6;
	color: #393939;
	font-size: 105%;
	letter-spacing: 1px;
	line-height: 1.8;
	margin: 0 auto 20px;
	padding: 2em 3em;
	width: 800px;/* 長文が読みやすい幅に調整している */
}

/* 以下の“.layout-yutori”系に .output-contact-table をいずれ統合して汎用化する方針 */
.hissu-txt,
.layout-yutori {
	margin: 0 auto;
	width: calc(100% - (6em + 2px));/* .simple-waku-box のテキスト幅にほぼ等しい */
}

.layout-yutori {
	margin-bottom: 20px;
}

.layout-yutori th,
.layout-yutori td {
	padding: 20px 25px;
}

.layout-yutori th {
	text-align: left;
	width: 30%;
}

.layout-yutori td {
	font-size: 120%;
	width: auto;
}

.layout-yutori .hissu {
	font-size: 105%;
	letter-spacing: 1px;
	margin-left: 6px;
}

/* site index
------------------------------------------------------------------------------*/

.site-index-list {
  list-style: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
}

.site-index-list li {
  animation: fade-in .25s;
  -webkit-animation: fade-in .25s;
  float: left;
  height: 280px;
  text-align: center;
  width: 24.9%;
}

.site-index-list a {
  border: #e6e6e6 solid 1px;
  border-radius: 2px;
  color: inherit;
  display: block;
  margin: 8px;
}

.site-index-list.free a:hover {
  border-color: #ccc;
  box-shadow: 0 0 4px #ccc;
  transition: .15s;
}

.site-index-list .icon {
  background: #f7f7f7;
  line-height: 100px;
  text-align: center;
}

.site-index-list .icon img {
  vertical-align: middle;
  width: 40%;
}

.site-index-list .title {
  background: #f7f7f7;
  overflow: hidden;
  padding: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-index-list .title .en {
  text-transform: uppercase;
}

.site-index-list input {
  vertical-align: -2px;
}

.site-index-list .button {
  background: #e6e6e6;
  border-bottom: #b3b3b3 solid 1px;
  border-radius: 4px;
  margin: 4px 0 0;
  padding: 4px 0;
  width: 80%;
}

.site-index-list .button:hover {
  background: #ccc;
  color: #666;
  transition: background .15s;
}

.search-texts table {
  width: 100%;
}

.search-texts td {
  padding: 2px;
  width: 33%;
}

.add-page .wrap {
  border: #ccc dashed 2px;
  border-radius: 4px;
  color: #ccc;
  cursor: pointer;
  margin: 16px;
  padding: 24px;
  text-align: center;
}

.add-page .wrap:hover {
  border-color: #999;
  color: #999;
  transition: .2s;
}

.add-page .wrap span {
  font-size: 80px;
  line-height: 1;
}

.modal-bg {
  background: rgba(0, 0, 0, .5);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 11;
}

.modal {
  background: #fff;
  display: none;
  height: 320px;
  left: 50%;
  margin: -160px 0 0 -180px;
  position: fixed;
  top: 50%;
  width: 480px;
  z-index: 111;
}

.modal-bg.active,
.modal.active {
  display: block;
}

.modal .cap {
  background: #e6e6e6;
  font-weight: bold;
  padding: 8px;
  text-align: center;
}

.modal p {
  font-size: 80%;
  line-height: 1.4;
  margin: 8px 20px;
}

.modal table {
  margin: 8px 20px;
}

.modal th {
  font-weight: normal;
  padding: 2px 0;
  text-align: left;
  width: 8em;
}

.modal td {
  padding: 2px 0;
}

.modal .button {
  background: #e6e6e6;
  border-bottom: #b3b3b3 solid 1px;
  border-radius: 4px;
  margin: 4px 0 0;
  padding: 8px 32px;
}

.modal .button:hover {
  background: #ccc;
  color: #666;
  transition: background .15s;
}

/* top
------------------------------------------------------------------------------*/

.sortable-img {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sortable-img li {
  background: #f7f7f7;
  border-radius: 2px;
  margin: 0 0 4px;
  padding: 8px 12px;
}

.sortable-img li:hover {
  background: #f2f2f2;
  cursor: move;
  transition: background .15s;
}

.main-text-pos-table {
  margin: 4px 8px 0;
}

.main-text-pos-table th {
  font-weight: normal;
  padding: 4px 0;
  text-align: left;
  width: 6em;
}

.main-text-pos-table td {
  padding: 4px 0;
  width: 60px;
}

.main-text-pos-table .border td {
  border: #ccc solid 1px;
  text-align: center;
}

/* outline
------------------------------------------------------------------------------*/

.outline-addr-table {
  margin: 0;
}

.outline-addr-table th {
  font-size: 90%;
  font-weight: normal;
  padding: 8px 12px;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.outline-addr-table td {
  padding: 0 0 8px;
  width: 400px;
}

.outline-addr-table select {
  width: 200px;
}

/* blog index
------------------------------------------------------------------------------*/

.blog-search-table {
  width: 100%;
}

.blog-search-table td {
  padding: 8px;
  width: 22%;
}

.blog-search-table .select {
  width: 100%;
}

.blog-search-table .button {
  background: #e6e6e6;
  border-bottom: #b3b3b3 solid 1px;
  border-radius: 4px;
  color: #666;
  height: 30px;
  width: 90px;
}

.blog-search-table .button:hover {
  background: #ccc;
  transition: background .15s;
}

.blog-index-table {
  border: #ccc solid 1px;
  font-size: 90%;
  width: 100%;
}

.blog-index-table .hide {
  display: none;
}

.blog-index-table th {
  background: #ccc;
  border: #e6e6e6 solid 1px;
  padding: 8px 12px;
}
.blog-index-table th:nth-child(1) { width: 8em; }
.blog-index-table th:nth-child(3) { width: 8em; }
.blog-index-table th:nth-child(4) { width: 6em; }
.blog-index-table th:nth-child(5) { width: 3em; }

.blog-index-table td {
  border: #e6e6e6 solid 1px;
  cursor: default;
  line-height: 1.4;
  padding: 8px 12px;
}
.blog-index-table td:nth-child(1) { text-align: center; }
.blog-index-table td:nth-child(3) { text-align: center; }
.blog-index-table td:nth-child(4) { text-align: center; }
.blog-index-table td:nth-child(5) { text-align: center; }

.blog-index-table .selected td {
  background: #e6e6e6;
}

.blog-index-table a:hover {
  color: #999;
}

.blog-index-table .flag-0:before {
  content: '下書き';
}

.blog-index-table .flag-1:before {
  content: '公開';
}

.add-blog {
  margin: 0 0 8px;
  text-align: right;
}

.add-blog .button {
  background: #e6e6e6;
  border-bottom: #b3b3b3 solid 1px;
  border-radius: 4px;
  color: #666;
  display: inline-block;
  padding: 4px 24px;
}

.add-blog .button:hover {
  background: #ccc;
  transition: background .15s;
}

/* blog
------------------------------------------------------------------------------*/

.blog-text .manage {
  text-align: right;
}

.blog-text .button {
  background: #f7f7f7;
  border-bottom: 1px solid #ccc;
  border-radius: 4px;
  margin: 0 0 8px;
  padding: 4px 12px;
}

.blog-text .button:hover {
  background: #e6e6e6;
  color: #666;
}

.blog-text textarea {
  height: 480px;
}

.manage-file-box {
  background: rgba(51, 51, 51, .8);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 111;
}

.manage-file-box iframe {
  background: #fff;
  border: 0;
  height: 480px;
  margin: -260px 0 0 -320px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 640px;
}

/* gallery
------------------------------------------------------------------------------*/

.close .n-img {
  display: none;
}

.gallery-item {
  background: #f7f7f7;
  border-radius: 2px;
  margin-bottom: 4px;
  padding: 8px 12px;
}

.gallery-item:hover {
  background: #f2f2f2;
  cursor: move;
  transition: background .15s;
}

.gallery-item img {
  margin: 0 12px 0 0;
  max-width: 120px;
  vertical-align: middle;
}

.add-gallery {
  background: #e6e6e6;
  border-radius: 4px;
  box-shadow: 0 1px 1px #999;
  margin: 4px 0;
  padding: 8px 40px;
}

.add-gallery:hover {
  background: #f2f2f2;
  box-shadow: 0 1px 1px #ccc;
}

.manage-gallery-box {
  background: rgba(51, 51, 51, .8);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 111;
}

.manage-gallery-box iframe {
  background: #fff;
  border: 0;
  height: 320px;
  margin: -200px 0 0 -200px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 400px;
}

/* published
------------------------------------------------------------------------------*/

.published-text {
  font-size: 125%;
  margin: 20px 40px 60px;
  overflow: hidden;
  text-align: center;
}

.published-link {
  margin: 0 40px;
  text-align: center;
}

.published-link a:hover {
  color: #999;
}

/* qa
------------------------------------------------------------------------------*/

.qa-list {
  margin: 12px;
}

.qa-list dt {
  border-bottom: #ccc solid 1px;
  padding: 4px;
}

.qa-list dd+dt {
  margin: 24px 0 0;
}

.qa-list dd {
  line-height: 1.6;
  margin: 12px 0;
  padding: 0 0 0 32px;
  position: relative;
}

.qa-list .q:before,
.qa-list .a:before {
  font: bold 140%/1 'Courier New', serif;
  left: 8px;
  position: absolute;
  top: 0;
}

.qa-list .q:before {
  color: #4c0;
  content: 'Q.';
}

.qa-list .a:before {
  color: #c04;
  content: 'A.';
}
