@charset "utf-8";

body.ptladm .helplink,
body.ptladm th a > .icon-question-sign:only-child,
body.ptladm td a > .icon-question-sign:only-child {
	display:none !important;
}

.color-dino {
	color: hsl(359, 57%, 49%); /* rgb(199, 54, 56) #c73638 */
}
.backgropund-color-dino {
	background-color: hsl(359, 57%, 49%); /* rgb(199, 54, 56) #c73638 */
}

*, *:before, *:after { box-sizing:border-box; }

html { overflow-y:scroll; overflow-x:auto; }
body { overflow-y:visible; overflow-x:visible; }

html, body, p {
	font-family:Arial, Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	
	font-size:13px;
	line-height:1.4;
	letter-spacing:normal;
}

h1, h2, h3, h4, h5, h6 {
	margin:1em 0 .5em 0;
	line-height:1.2;
}
h4, h5, h6 {
	line-height:1.4;
}
h1:first-child, h2:first-child, h3:first-child,
h4:first-child, h5:first-child, h6:first-child {
	margin-top:0;
}

/* 1rem = 16px -> 30,24,18,16,... */
h1 { font-size:1.876rem; }
h2 { font-size:1.5rem; }
h3 { font-size:1.125rem; }
h4 { font-size:1rem; }
h5 { font-size:1rem; }
h6 { font-size:1rem; }

h1 { font-size:187.6%; }
h2 { font-size:150%; }
h3 { font-size:112.5%; }
h4 { font-size:100%; }
h5 { font-size:100%; }
h6 { font-size:100%; }

section {
	margin-bottom:1em;
}


select,input, button, textarea{
	/* font-family: arial,helvetica,clean,sans-serif; */
	font-family:inherit;
	line-height:1.1;
}

label, select, button, input[type="button"], input[type="submit"], input[type="reset"] { cursor:pointer; }
select:disabled, button:disabled, input:disabled { cursor:not-allowed; }

pre, code, kbd, samp, tt, .code {
	font-family:monospace;
	line-height:1.1;
}

label {
	color:inherit;
}

label[for] {
	cursor:pointer;
}

label.label-inline {
	display:inline-block;
}

label > input[type="checkbox"]:first-child,
label > input[type="radio"]:first-child {
	/* display:inline; */
	display: inline-block;
	vertical-align: baseline;
	position: relative;
	bottom: -0.1em;	
}

/* bootstrap override */
input:not([type="checkbox"]):not([type="radio"]), textarea, select, .uneditable-input {
	max-width:100%;
	min-width:210px;
}

input[type="url"],
input[name$="_url"]:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]):not([type="reset"]) {
	width:420px;
}

input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
textarea, select, .uneditable-input {
	height:auto;
	font-size:inherit;
	
	border-radius:.4em;
	
	line-height:1.6; /* Firefox が select で line-height を無視するので、paddingで調整 (W3C) */
	/* ここを変えたら .btn も合わせるべし */
	padding:.35em .5em;
	
	
	/* from bootstrap */
	border: 1px solid #ccc;
	
	transition-property: border-color;
	transition-delay: 0s;
	transition-duration: .5s;
	transition-timing-function: linear;	
}

input[type="checkbox"] + label[for] {
	margin-right:1em;
}

label.label-inline{
	display:inline !important;
	margin-right:1em;
}

input.inline, select.inline, button.inline, .btn.inline {
	margin:.25em .25em .25em 0;
}

a,
.togglebox > label,
.hoverbox > *:not([data-onhover]) {
	/* color: #0088cc; */
	color: hsl(359, 57%, 49%); /* color-dino */
	text-decoration: none;
}
a:hover {
	/* color: #005580; */
	color: hsla(359, 57%, 49%, .8); /* color-dino */
	text-decoration: underline;
}

/*
#content-main a[target="_blank"]:after {
	font-family:FontAwesome;
	font-style:normal;
	font-weight:normal;
	text-decoration:none;
	text-shadow:none;
	content:'\f08e';
	
	font-size:.75em;
	padding-left:.25em;
	vertical-align:baseline;
}
#content-main a[target="_blank"]:hover:after {
	text-decoration:none;
}
*/

a[target="_blank"] {
	cursor:pointer;
	cursor:alias;
}


/*-- bootastrap Overwrite --*/

.table th, .table td {
	padding:.75rem;
	line-height:inherit;
}

form {
	margin:0;
}

select {
	width:auto;
	max-width:100%;
}

code {
	font-style:normal;
	display:inline-block;
	margin:.15em;
}

code, pre.code {
	color:hsl(117, 53%, 32%);
	letter-spacing:1px;
}

li,
dd,
dt {
	line-height:1.3;
}

li { padding:.25em 0; }
dt { padding:0; margin:1em 0 .5em 0; }
dd { padding:0; margin: .5em 0 1em 1em; }
dd + dd { margin-top:-.5em; }

ul.no-style {
	list-style:none;
	margin-left:.5em;
}

.nav-list { padding-left:0; padding-right:0; }

.nav-list > li {
	padding:0;
}
.nav-list > li > a,
.nav-list .nav-header {
	text-shadow: none;
	margin-left:0;
	margin-right:0;
}

.nav-list:not(.nav-list-ops) > li > a:not(.btn) {
	padding:.5em 1em;
	border-radius:0;
	border:none;
	line-height:1.2;
}
.nav-list-ops > li > a.btn {
	width:100%;
}


.nav-list > li.active > a:not(.btn),
.nav-list > li.active > a:not(.btn):hover {
	color: white;
	text-shadow: none;
	background-color: hsl(359, 57%, 49%); /* rgb(199, 54, 56) #c73638 */
}
.nav-list > li > a:not(.btn):hover {
	/* background-color: hsla(359, 57%, 49%, .1); /* rgb(199, 54, 56) #c73638 */
	text-shadow:none;
}

.nav-list-ops > li + li {
	margin-top:.5em;
}

.nav-list + .nav-list {
	margin-top:1em;
}

.nav-list > li.divider {
	display:block;
	height:0; max-height:0; width:100%;
	padding:0; margin:1em 0;
	border-bottom:1px solid #ccc;
}


.nav-tabs {
	display:flex;
	flex-wrap:wrap;
	margin-bottom:1em;
	/* border:1px solid #ccc; */
	border-bottom: 1px solid #ccc;
}
.nav-tabs:after {
	content:"";
	clear:both;
	display:block;
	/* border-bottom: 1px solid #ccc; */
	border-bottom:none;
}
.nav-tabs > li {
	margin-bottom: 0;
	float:none;
	margin:0;
	margin-right:-1px;
	padding:0;
}
.nav-tabs > li > a {
	color:inherit;
}
.nav-tabs > li > a {
	padding:.5em 1em;
	margin:0;
	border-radius:0;
	border:none;
	line-height:1.2;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li > a:hover {
	/* background-color: hsl(359, 57%, 49%); /* rgb(199, 54, 56) #c73638 */
	/* border:1px solid hsl(359, 57%, 49%); /* rgb(199, 54, 56) #c73638 */
	color:inherit;
	border:none;
	border-bottom:3px solid hsl(359, 57%, 49%);
	margin-bottom:-1px;
	background:transparent;
}
.nav-tabs > li > a:hover {
	border-bottom-color:hsla(359, 57%, 49%, .3);
}

input.xlarge {
	color:#000;
}

p {
	margin:1em 0 1.5em 0;
}

p:first-child,
dl:first-child,
dt:first-child,
ul:first-child,
.alert:first-child {
	margin-top:0;
}

p:last-child,
.alert:last-child {
	margin-bottom:0;
}

.alert {
	padding:.5rem 1rem;
	margin-bottom:1rem;
	text-shadow:none;
	color:inherit;
	background:hsl(50, 81%, 94%);
	/* border:1px solid hsl(39, 83%, 91%); */
	border:none;
	border-radius:0;
}

/* ページング */
.paging-wrap {
	margin:1em 0;
}

.pagination {
	height: auto;
	margin:.5em 0;
}
.pagination ul {
	box-shadow:none;
}
.pagination a {
	border:none;
	padding:.5em 1em;
	line-height:1;
}
.pagination a:hover {
	text-decoration:none;
}
.pagination a > .icon-arrow-right {
	margin-left:.25em;
}
.pagination a > .icon-arrow-left {
	margin-right:.25em;
}

.pagination .active a {
	color:black;
	font-weight:bold;
	background:none;
}

/****************************************************************************************
 * togglebox : シンプルな開閉box。マークアップ + 簡単なJS
 *
 * MARKUP:
 * <div class="togglebox">
 *   <label>label<input type="checkbox"></label>
 *   <div>contents</div>
 * </div>
 * 
 * helper script (jQuery)
 * $(document).on('click', '.togglebox > label:first-item > input[type="checkbox"]', function(){
 *   $(this).parent().toggleClass('checked', !!this.checked);
 * });<script>
 
 * helper script (Native)
 * document.addEventListener('change', function(ev){
 *   var e=ev.target;
 *   if (e.matches('label>input[type="checkbox"]')) {
 *   e.parentNode.classList[e.checked?'add':'remove']('checked')
 *   }
 * });
 *   
 * })
 *
 */

.togglebox > label {
	cursor:pointer;
	-webkit-user-select:none;
	user-select:none;
	margin:0;
}
.togglebox > label > input[type=checkbox] {
	opacity:0;
	position:relative;
	z-index:0;
	max-width:0;
	max-height:0;
	width:0;
	height:0;
	overflow:hidden;
	display:inline-block;
	border:none;
	outline:none;
	visibility:hidden;
	moz-appearance:none; /* Fxはcheckboxにwidthが効かない */
}
.togglebox > label { display:block; }
.togglebox > label:before {
	display: inline-block;
	margin-right: 0.3em;
	font-family: FontAwesome;
	font-weight:normal;
	font-style:normal;
	text-decoration:none;
	text-shadow:none;
	content: '\f0da';
	-webkit-transition: transform .3s ease-in-out;
	-moz-transition: transform .3s ease-in-out;
	transition: transform .3s ease-in-out;
}
.togglebox > label.checked:before {
	/* content: '\f0d7'; /* fa-caret-down */
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	transform: rotate(90deg);
}
.togglebox > label + div {
	padding:.5em 1em 1em 1em;
}
.togglebox > label:not(.checked) + div {
	/* display:none; */
	padding-top:0;
	padding-bottom:0;
	max-height:0;
	margin:0;
	overflow:hidden;
}
.togglebox.inline { display:inline-block; vertical-align:top; }
.togglebox.inline > label:not(:hover):before { display:none; }
.togglebox.inline > label:not(.checked) + div { display:none; }

/**** hover popup ***/
/* <elm class="hoverbox">
 *   <elm>some content for hover target</elm>
 *   <div data-onhover="{pos}">
 *     onhover contents
 *   </div>
 * </elm>
 * {pos} = left, right, over left, over right, below left, below right
 */
.hoverbox { position:relative; }
.hoverbox:not(:hover) > [data-onhover] { display:none; }
.hoverbox:hover > [data-onhover] {
	display:block;
	z-index:999;
	position:absolute;
  min-width:200px;
	max-width:50vw;
	max-height:50vh;
	overflow:auto;
	
	/* default pos: below right */
	top:100%; left:0; right:auto; bottom:auto; margin-top:-.5em; margin-left:.5em;
  
	border:1px solid #ccc;
	padding:.75em;
	background:white;
  
}

.hoverbox:hover > [data-onhover*="over"] { bottom:100%; top:auto; margin-bottom:-.5em; }
.hoverbox:hover > [data-onhover*="below"] { top:100%; bottom:auto; margin-top:-.5em; }
.hoverbox:hover > [data-onhover*="left"] { right:0; left:auto; margin-right:.5em; }
.hoverbox:hover > [data-onhover*="right"] { left:0; right:auto; margin-left:.5em; }
.hoverbox:hover > [data-onhover="left"] { top:0; bottom:auto; right:100%; left:auto; margin-right:-.5em; }
.hoverbox:hover > [data-onhover="right"] { top:0; bottom:auto; left:100%; right:auto; margin-left:-.5em; }

@media (max-width:767px) {
	.hoverbox:hover > [data-onhover] {
		max-width:90vw;
		max-height:90vw;
	}
}


/**** hover popup ***/
/* <elm class="hoverbox">
 *   <elm>some content for hover target</elm>
 *   <div data-onhover="{pos}">
 *     onhover contents
 *   </div>
 * </elm>
 * {pos} = left, right, over left, over right, below left, below right
 */
.hoverbox { position:relative; }
.hoverbox:not(:hover) > [data-onhover] { display:none; }
.hoverbox:hover > [data-onhover] {
	display:block;
	z-index:999;
	position:absolute;
  min-width:200px;
	max-width:50vw;
	max-height:50vh;
	overflow:auto;
  
  /* default pos: below right */
	top:100%; left:0; right:auto; bottom:auto; margin-top:-.5em; margin-left:.5em;
  
	border:1px solid #ccc;
	padding:.75em;
	background:white;
  
}
@media (max-width:767px) {
	.hoverbox:hover > [data-onhover] {
		max-width:90vw;
		max-height:90vw;
	}
}

.hoverbox:hover > [data-onhover*="over"] { bottom:100%; top:auto; margin-bottom:-.5em; }
.hoverbox:hover > [data-onhover*="below"] { top:100%; bottom:auto; margin-top:-.5em; }
.hoverbox:hover > [data-onhover*="left"] { right:0; left:auto; margin-right:.5em; }
.hoverbox:hover > [data-onhover*="right"] { left:0; right:auto; margin-left:.5em; }
.hoverbox:hover > [data-onhover="left"] { top:0; bottom:auto; right:100%; left:auto; margin-right:-.5em; }
.hoverbox:hover > [data-onhover="right"] { top:0; bottom:auto; left:100%; right:auto; margin-left:-.5em; }


/* Body Base(for footer bottom)
---------------------------------------------*/
html{
	/* overflow: hidden; *//* for IE bug */
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	height:100%;
	/* letter-spacing: 1px;
	line-height: 18px;
	*/
	/* overflow: auto; */
	margin: 0;
	padding: 0;
}


/* DesignParts all page
---------------------------------------------*/
.align-center {
	margin:0px auto;
	text-align:center;
}

.display-none {
	display: none !important;
}

/* clearfix
---------------------------------------------*/

.clearfix{
	clear:both;
}

/* For modern browsers */
.cf:before,.cf:after {
	content:"";
	display:table;
}
.cf:after {
	clear:both;
}

/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom:1;
}

/* 汎用
---------------------------------------------*/
.text-caution {
	color: #F00;
}

.small-note{
	font-size: 90% !important;
}

/* ajax
---------------------------------------------*/
#ajax-loading, #ajax-error, #ajax-message {
	position: fixed;
	top: 0px;
	left: 0px;
	padding: 2px 10px;
	color: #FFFFFF;
	font-size: 100%;
	display: none;
}

#ajax-loading{
	background-color: #CCCCFF;
	width: 120px;
	text-align: center;
	padding: 3px;
	margin-top:5px;
	z-index:9002;
}
#ajax-error, #ajax-message{
	background-color: #FA8072;
	z-index:19002;
}


.warn-box{
	position:relative;
}

.warn-box .warn {
	position:absolute;
	float:left;
	left: 39px;
	top: 15px;
}


/* ボタン (.btn-rvlvrcommon, .btn, .btn-danger ...)
---------------------------------------------*/
.min-keep {
	min-width: 100px;
}

/*
	通常のボタン：灰地黒文字
		.btn
		input[type="button"]
		button[type="button"]
	重要系なボタン：赤地白文字 - ただし .btn-normal をつければ通常扱い
		.btn.btn-danger
		input[type="submit"]
		button
		button[type="submit"]
*/

.nav-list-ops > li > a.btn,
.btn, .btn-rvlvrcommon,
button,
input[type="button"], input[type="submit"], input[type="reset"] {
	display:inline-block;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	vertical-align:middle;
	
	/* input 系と同じメトリックスにしておくべし */
	line-height:1.6; /* FireFox select 問題で変えられない。複数行では要注意。 */
	padding:.35em 1em;
	
	position:relative;
	border-radius:0;
	text-shadow:none;
	box-shadow:none;
	
	color:black;
	background:#eee;
	border:1px solid #ccc;
	
	/* shadow分があるので十分にとっておくべし */
	margin:.25em .25em .5em 0;
}

/* hover shadow */
.nav-list-ops > li > a.btn:hover,
.btn:hover, .btn-rvlvrcommon:hover,
button:hover,
input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover,
.nav-list-ops > li > a.btn:focus,
.btn:focus, .btn-rvlvrcommon:focus,
button:focus,
input[type="button"]:focus, input[type="submit"]:focus, input[type="reset"]:focus {
	position:relative;
	box-shadow:2px 2px rgba(0, 0, 0, .2);
	/* top:-2px; left:-2px; */
	/* transition:top 0s linear .5s, left 0s linear .5s; */
}
.nav-list-ops > li > a.btn:active,
.btn:active, .btn-rvlvrcommon:active
button:active,
input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active {
	position:relative;
	box-shadow:none;
	top:2px; left:2px;
	/* top:0; left:0; */
}

.nav-list-ops > li > a.btn:hover,
.btn:hover, .btn-rvlvrcommon:hover,
button:hover,
input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover {
	color:black;
	background:#eee;
	border:1px solid #ccc;
}
.nav-list-ops > li > a.btn:active,
.btn:active, .btn-rvlvrcommon:active
button:active,
input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active {
	color:black;
	background:#eee;
}

.btn-danger, .btn-danger:hover, .btn-danger:active, .btn-danger[disabled], .btn-danger[disabled]:hover,
input[type="button"].btn-danger, input[type="button"].btn-danger:hover, input[type="button"].btn-danger:active,
button:not([type]):not(.btn-normal),
button[type="submit"]:not(.btn-normal), input[type="submit"]:not(.btn-normal),
button[type="submit"]:not(.btn-normal):hover, input[type="submit"]:not(.btn-normal):hover,
button[type="submit"]:not(.btn-normal):active, input[type="submit"]:not(.btn-normal):active {
	color:white;
	border:1px solid hsl(359, 57%, 49%);
	/* border:1px solid hsl(359, 57%, 28%); */
	background:hsl(359, 57%, 49%);
}

.btn-small {
	font-size:85%;
}

input[disabled], select[disabled], textarea[disabled], button[disabled],
.btn.disbabled, .btn[disabled] {
	cursor:default;
	cursor:not-allowed;
	cursor:no-drop;
	opacity:.3;
}

button[data-contentselector]:before,
input[data-fileselector] + button:before,
.btn.back:before {
	display:inline-block;
	font-family:FontAwesome;
	font-style:normal;
	font-weight:norma;
	text-decoration:none;
	text-shadow:none;
	margin-right:.25em;
}

.btn.back:before {
	content:'\f060'; /* fa-arrow-left */
}


input[data-fileselector] + button:before {
	content:'\f03e'; /* fa-picture-o */
}

button[data-contentselector]:before {
	content:'\f1ea'; /* fa-newspaper-o */
}


input[data-fileselector] + button {
	margin-top:.2em;
}

.btns-v {
	display:flex;
	flex-direction:column;
	align-items:stretch;
	margin-top: .5em;
}

/* フォーム等
---------------------------------------------*/
.form-input-error{
	background-color: #FFCCCC;
}

#form-has-error,
ul.errorlist {
	background:hsl(0, 100%, 90%);
	color:hsl(0, 100%, 30%);
}

#form-has-error:before,
ul.errorlist li:before {
	font-family:FontAwesome;
	font-style:normal;
	font-weight:normal;
	text-decoration:normal;
	content:'\f071'; /* fa-warning */
	margin-right:.25em;
}

ul.errorlist {
	margin:0 0 1em 0;
	padding:1em 1em;
	list-style:none;
}

.mark-required {
	color: #F99;
	color: hsl(359, 57%, 49%);
	color:red;
	font-weight:bold;
}

.ui-datepicker select{
	min-width: 10px !important;
	width: auto;
}
.ui-datepicker button{
	margin-top:0;
}
.add_language {
	margin: 0  2em;
	text-align: right;
}
.add_language_form select{
	margin-bottom: 0 !important;
}
.category_select label,
.category_select input{
	display: inline;
}
.category_select ul{
	list-style: none;
}
.category_select ul > li {
	padding-top:0;
	padding-bottom:0;
}

table.input-table-basic {
	/* width: 600px !important; */
	width: 100%;
}
table.input-table-basic tr th,
table.input-table-basic tr td{
	vertical-align: middle;
}
table.input-table-basic .required {
	color: #F99;
	font-weight: bold;
}
table.input-table-basic textarea,
/* table.input-table-basic input[type="text"] */
table.input-table-basic
	input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="number"]):not(.inline) {
	/* width: 400px !important; */
	/* width: 90%; */
	width:100%;
}
table.input-table-basic input[type="text"].form-text-price {
	width: 100px !important;
	text-align: right !important;
}

table.input-table-basic textarea {
	height: 100px;
}



table.list-table tr td{
	vertical-align: middle;
}
td.td-thumb{
	width: 70px;
	text-align: center;
	vertical-align:top;
}

thead + tbody > tr > th:first-child,
tbody:first-child > tr:not(:first-child) > th:first-child {
	vertical-align:top;
}


/* ボーダーテーブル上書き */
table.table-bordered {
	border:none;
	border-collapse:separate; /* for border-radius */
}

table.table-bordered th,
table.table-bordered td {
	border:1px solid #ddd;
}

table.table-bordered > tr:first-child > *,
table.table-bordered > thead:first-child > tr:first-child > *,
table.table-bordered > tbody:first-child > tr:first-child > * {
	border-top:1px solid #ddd;
}

table.table-bordered > tr > *:not(:first-child),
table.table-bordered > * > tr > *:not(:first-child) {
	border-left-width:0;
}

table.table-bordered > thead:first-child > tr:not(:first-child) > *,
table.table-bordered > tbody:first-child > tr:not(:first-child) > *,
table.table-bordered > thead + tbody > tr:first-child > *,
table.table-bordered > thead + tbody > tr:not(.noborder) + tr > * {
	border-top-width:0;
}

/* .noborder tr */
table.table-bordered > tr.noborder:not(last-child) > *,
table.table-bordered > *:last-child > tr.noborder:not(last-child) > *,
table.table-bordered > *:not(:last-child) > tr.noborder > * {
	border-width:0;
}

table.table-bordered > thead:first-child > tr:first-child > *:first-child,
table.table-bordered > tbody:first-child > tr:first-child > *:first-child,
table.table-bordered > tr:first-child > *:first-child {
	border-radius:4px 0 0 0;
}

/* ストライプテーブル上書き */
table.table-striped {}

table.table-striped > tr:nth-child(even) > *,
table.table-striped > tbody:first-child > tr:nth-child(odd) > *,
table.table-striped > thead + tbody > tr:nth-child(even) > *,
table.table-striped > thead > tr > *{
	background:#f8f8f8;
}

table.table-striped > tr:nth-child(odd) > *,
table.table-striped > tbody:first-child > tr:nth-child(even) > *,
table.table-striped > thead + tbody > tr:nth-child(odd) > * {
	background:transparent;
}

/* table no wrap */
table.table-nowrap > * > tr > th,
table.table-nowrap > * > tr > td { white-space:nowrap; }
table.table-nowrap > * > tr > tr.allow-wrap > th,
table.table-nowrap > * > tr > tr.allow-wrap > td,
table.table-nowrap > * > tr > th.allow-wrap,
table.table-nowrap > * > tr > td.allow-wrap { white-space:normal; }
table.table-nowrap > * > tr > tr[class*="title"] > th,
table.table-nowrap > * > tr > tr[class*="title"] > td,
table.table-nowrap > * > tr > th[class*="title"],
table.table-nowrap > * > tr > td[class*="title"] { white-space:normal; }

/* table break all */
table.table-nowrap > * > tr > td.break-all { word-break:break-all; }

/* 画像プレビューの背景と枠 */
.bg-checkerboard,
.bg-checkerboard-light,
.bg-checkerboard-dark,
#id-main-form td img[src$=".svg"],
#id-main-form td img[src$=".png"],
#id-main-form td img[src$=".gif"] {
	background-color: #fff;
	background-repeat: repeat;
	
	background-size: 20px 20px;
	
	background-position:
		0 0,
		10px 10px;
	background-image:
		-webkit-gradient( linear, left top, right bottom, from(#ccc), color-stop(25%, #ccc), color-stop(25%, transparent), color-stop(75%, transparent), color-stop(75%, #ccc), to(#ccc) ),
		-webkit-gradient( linear, right bottom, left top, from(#ccc), color-stop(25%, #ccc), color-stop(25%, transparent), color-stop(75%, transparent), color-stop(75%, #ccc), to(#ccc) );
	background-image:
		-moz-linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%, #ccc),
		-moz-linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%, #ccc);
	background-image:
		linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%, #ccc),
		linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%, #ccc);
	
	outline:1px solid #eee;
}
@keyframes bg-checkerboard-ticker {
	  0% { background-color: #fff; }
	 10% { background-color:#666; }
	 50% { background-color:#666; }
	 60% { background-color:#fff; }
	100% { background-color:#fff; }
}
.bg-checkerboard,
#id-main-form td img[src$=".svg"],
#id-main-form td img[src$=".png"],
#id-main-form td img[src$=".gif"] {
	animation-name: bg-checkerboard-ticker;
	animation-duration: 6s;
	animation-iteration-count: infinite;
}

.bg-checkerboard-light { background-color:#fff; }
.bg-checkerboard-dark { background-color:#666; }


/* 全体
-----------------------------------------------*/
.container-body {
	box-sizing:border-box;
	width:100%;
	padding:10px;
}

@media (max-width:1px) {
#page-body {
	margin:0px 0px 0px 0px;
	padding:30px 0px 0px 0px;
	width:100%;
	/*border-top: solid 1px #f0f0f0;*/
}
}
@media (min-width:767px) {
	/* #page-body { padding-top:30px; } */
}


/* ヘッダ 
-----------------------------------------------*/
.rvlvrcommon-left-menu,
.rvlvrcommon-right-menu { max-width:100vw; overflow-x:auto; }

.rvlvr-header-container { position:relative; }
.rvlvr-header-container ul { list-style:none; margin:0; padding:0; }
.rvlvr-header-container li { display:block; padding:0; }
.rvlvr-header-container a,
.rvlvr-header-container a:hover {
	color:inherit;
	text-decoration:none;
	display:block; position:relative;
	padding:.5em;
}
.rvlvr-header-container a:hover {
	background:#eee;
}

.rvlvr-header-container .topbar,
.rvlvrcommon-left-menu,
.rvlvrcommon-left-menu > li,
.rvlvrcommon-right-menu {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:stretch;
	align-content:stretch;
	
	justify-content:space-between;
}
.rvlvrcommon-header-body {
	border-bottom:1px solid #ccc;
}
.rvlvrcommon-left-menu, 
.rvlvrcommon-right-menu,
.rvlvrcommon-left-menu > li, 
.rvlvrcommon-left-menu > li > *, 
.rvlvrcommon-right-menu > li {
	flex:0 0 auto;
	
	display:flex;
	align-items: center;
}

.rvlvrcommon-left-menu > li > .rvlvr-header {
	flex-shrink:1;
	overflow-x:auto;
}

.rvlvrcommon-left-menu {
	justify-content:flex-start;
}
.rvlvrcommon-right-menu {
	justify-content:flex-end;
}

@media (max-width:767px) {
	.rvlvrcommon-left-menu,
	.rvlvrcommon-right-menu {
		width:100%;
	}
}

.rvlvr-header-logo-link {
	display:block; position:relative;
}
img#header-logo {
	display:block; height:18px;
}

/* コンテンツ領域
---------------------------------------------------------------------------- */
#content-main {
	margin-left:220px;
	height:auto;
}

.nav-tabs + .tab-content{
	padding-top: 1em;
}

.page-explain {
	/* margin: 10px 10px 30px 10px; */
	/* margin: 0; */
	margin:1em 0 2em 0; /* p */
}
.page-explain:first-child {
	margin-top:0;
}

.helplink{
	text-align: right;
	margin: 10px;
}
.helplink a {
	/* text-decoration: underline; */
}

td .alert,
th .alert{
	margin-top: 10px;
}

img.radius {
	border-radius:5px;
}

/*
button.back {
	background: none repeat scroll 0 0 #FFFFFF;
	color: #3F86BB;
	filter: none;
	text-decoration: none;
}
*/

.message2 {
	padding: 0;
	margin: 5px;
	color: #999;
}

.message,
.alert {
	position:relative;
	overflow:hidden;
	
	line-height:1.6;
	padding:.75em 1em .75em 2.25em;
	margin-top:1rem;
	margin-bottom:1rem;
}
.message {
	/* font-style:italic; */
	/* color:#888; */
	background:white;
	max-width:40rem;
}

.message.full-width {
	max-width:none;
}

.message > :not(code):not(span):first-child,
.alert > :not(code):not(span):first-child { margin-top:0; }
.message > :not(code):not(span):last-child,
.alert > :not(code):not(span):last-child { margin-bottom:0; }
.message > :not(code):not(span):not(input):not(textarea):not(select):not(.btn):not(pre):first-child,
.alert > :not(code):not(span):not(input):not(textarea):not(select):not(.btn):not(pre):first-child { padding-top:0; }
.message > :not(code):not(span):not(input):not(textarea):not(select):not(.btn):not(pre):last-child,
.alert > :not(code):not(span):not(input):not(textarea):not(select):not(.btn):not(pre):last-child { padding-bottom:0; }

.message::before,
.alert::before {
	display:inline-block;
	font-family:FontAwesome;
	font-style:normal;
	font-weight:normal;
	text-shadow:none;
	text-decoration:none;
	
	font-size:1.2rem;
	line-height:1;
	
	position:absolute;
}

.alert::before {
	content:'\f071'; /* exclamation-triangle */
	top:.75em;
	left:.45em;
}

.message::before,
.alert-info::before,
.alert-well::before {
	content:'\f05a'; /* info-circle */
	top:.7em;
	left:.5em;
}
.alert { background:hsl(59, 79%, 84%); }
.alert::before { color:hsl(59, 57%, 49%); }

.alert-error::before { color:hsl(0, 57%, 49%); }
.alert-error { background:hsl(0, 79%, 95%); }

.alert-danger::before { color:hsl(0, 57%, 49%); }
.alert-danger { background:hsl(0, 79%, 95%); }

.alert-info::before { color:hsl(214, 57%, 49%); color:white; }
.alert-info { background:hsl(214, 79%, 90%); }

.alert-well::before { color:hsl(214, 57%, 49%); color:white; }
.alert-well { background:hsl(214, 79%, 90%); }

.message.no-icon,
.alert.no-icon { padding-left:1em; }
.message.no-icon::before,
.alert.no-icon::before {
	content:'';
}

.message > .togglebox {
	margin-top:1em;
}

.message > *:first-child {
	margin-top:0;
}
.message > *:last-child {
	margin-bottom:0;
}


/* アイコンを FontAwesomeに置き換え - 気づいたら <i class="fa fa-xxx"></i> に置き換えるべし
--------------------------------------------*/
.icon-align-justify,
.icon-arrow-left,
.icon-arrow-right,
.icon-trash,
.icon-ok,
.icon-pencil,
.icon-warning-sign,
.icon-plus,
.icon-chevron-up,
.icon-chevron-down,
.icon-chevron-left,
.icon-chevron-right,
.icon-edit,
.icon-question-sign {
	background:none;
	width:auto;
	height:auto;
	vertical-align:middle;
}
.icon-align-justify:before,
.icon-arrow-left:before,
.icon-arrow-right:before,
.icon-trash:before,
.icon-ok:before,
.icon-pencil:before,
.icon-warning-sign:before,
.icon-plus:before,
.icon-chevron-up:before,
.icon-chevron-down:before,
.icon-chevron-left:before,
.icon-chevron-right:before,
.icon-edit:before,
.icon-question-sign:before {
	display:inline-block;
	font-family:FontAwesome;
	text-decoration:none;
	font-style:normal;
	font-weight:normal;
	text-shadow:none;
	background:none;
}
.icon-align-justify:before {
	content:'\f0c9'; /* fa-bars */
}
.icon-arrow-left:before {
	content:'\f060'; /* fa-arrow-left */
}
.icon-arrow-right:before {
	content:'\f061'; /* fa-arrow-right */
}
.icon-trash:before {
	content:'\f014'; /* fa-trash-o */
	content:'\f1f8'; /* fa-trash */
}
.icon-ok:before {
	content:'\f00c'; /* fa-check */
}
.icon-pencil:before {
	/* content:'\f040'; /* fa-pencil */ 
	content:'\f044'; /* fa-pencil-square-o */ 
}
.icon-warning-sign:before {
	content:'\f071'; /* fa-exclamation-triangle */
}
.icon-plus:before {
	content:'\f067'; /* fa-plus */
	/*conttent:'\f055'; /* fa-plus-circle */
}
.icon-chevron-up:before {
	content:'\f077' /* fa-chevron-up */
}
.icon-chevron-down:before {
	content:'\f078' /* fa-chevron-down */
}
.icon-chevron-left:before {
	content:'\f053' /* fa-chevron-left */
}
.icon-chevron-right:before {
	content:'\f054' /* fa-chevron-right */
}
.icon-edit:before {
	content:'\f044'; /* fa-pancil-square-o */
}
.icon-question-sign:before {
	/* content:'\f29c'; /* fa-question-circle-o : only in cdn */
	content:'\f059'; /* fa-question-circle */
}

/* FontAwesomeのユーティリティ
-------------------------------------*/
.fa-append {
	
}
.fa-append > :first-child { font-size:.8em; vertical-align:top; }
.fa-append > :last-child { font-size:.5em; margin-left:-.7em; vertical-align:bottom; background:white; }

.fa.fa-stack-times:after {
	content:"\f00d";
	font-size:.8em;
	margin-left:-.6em;
}
.fa.fa-stack-times-circle:after {
	content:"\f057";
	font-size:.8em;
	margin-left:-.6em;
}
.fa.fa-stack-plus:after {
	content:"\f067";
	font-size:.8em;
	margin-left:-.6em;
}
.fa.fa-stack-plus-circle:after {
	content:"\f055";
	font-size:.8em;
	margin-left:-.6em;
}
.fa.fa-stack-minus:after {
	content:"\f068";
	font-size:.8em;
	margin-left:-.6em;
}
.fa.fa-stack-minus-circle:after {
	content:"\f056";
	font-size:.8em;
	margin-left:-.6em;
}

/* twitter-x */

.fa-x::before {
	content: "";
	background-image: url(/static/img/x-logo.svg);
	background-color: black;
	width: .85em;
	height: .85em;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 100%;
}


/* 設定フォーム用テーブルをフラットに
-------------------------------------*/
table.input-table-basic,
table.input-table-basic > * > tr > th,
table.input-table-basic > * > tr > td {
	border: none !important;
	border-radius: 0 !important;
}
table.input-table-basic > * > tr > th:not(:only-child),
table.input-table-basic > * > tr > td:not(:only-child) {
	padding:1.5rem 1rem 2.5rem .5rem;
	vertical-align: top;
}

@media (min-width:768px) {
	table.input-table-basic > * > tr > th:not(:only-child) {
		width:15em;
		text-align:right;
	}
	table.input-table-basic:not(.table-collapse) > * > tr > th:not(:only-child) {
		width:10em;
	}
}

table.input-table-basic > * > tr > td > input:not(.inline):not([type="checkbox"]):not([type="radio"]):first-child,
table.input-table-basic > * > tr > td > select:not(.inline):first-child {
	margin-top:-.5rem;
}

td > :first-child,
td > :first-child {
	margin-top:0;
}

table.input-table-basic * > tr > td
	input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
table.input-table-basic > * > tr > td select,
table.input-table-basic > * > tr > td textarea {
	transition-property:border-color;
	transition-delay:0s;
	transition-duration:.5s;
	transition-timing-function:linear;
}

table.input-table-basic > * > tr:hover > td
	input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
table.input-table-basic > * > tr:hover > td select,
table.input-table-basic > * > tr:hover > td textarea {
	border-color:black;
}

table.list-table tr td.td-ops {
	vertical-align:top;
}
td.td-ops {
	white-space:nowrap;
	padding:.5em 0;
}
td.td-ops a,
td.td-ops .togglebox {
	display:block;
	padding:.25em .75em;
}
td.td-ops > hr {
	margin:.25em 0;
}

td.td-ops .togglebox > label:before {
	width:1.28571429em; /* fa-fw*/
	text-align:center;
}
td.td-ops .togglebox > label + div {
	padding:0;
}

/* 管理機能のメニュー（左カラム）
------------------------------------ */
#page-menu {
	padding-bottom:20px;
	width: 200px;
	float:left;
}

#page-menu .menu-item {
	padding:0;
	background-color:#fff;
}
#page-menu .menu-item + .menu-item {
	margin-top:5px;
}

/* 折り返しなし、省略に */
#page-menu ul.nav-list li > a {
	max-width: 200px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	
	margin:0;
}

#page-menu ul.nav-list:not(.nav-list-ops) li:not(.active) > a {
	color:inherit;
}


/*
#page-menu ul.nav-list li > a > .fa:first-child {
	margin:0 .25em 0 -.25em;
}
*/

@keyframes blink-mark-new {
	  0% { opacity:0; }
	 50% { opacity:1;  }
	100% { opacity:0; }
}

#page-menu ul.nav-list li.mark-new {
	color:hsl(359, 57%, 49%);
	font-weight:bold;
}
ul.nav-tabs li.mark-new > a:after,
#page-menu ul.nav-list li.mark-new > a:after {
	font-family:FontAwesome;
	/* content:'\f069'; /* fa-asterisk */
	/* content:'\f06a'; /* fa-exclamation-circle */
	content:'\f071'; /* fa-exclamation-triangle */
	font-weight:normal;
	font-style:normal;
	text-decoration:none;
	text-shadow:none;
	margin-left:.25em;
	
	opacity:1;
	animation:blink-mark-new 1s ease 0s infinite;
	
	color:hsl(359, 57%, 49%);
}

/* フッター
---------------------------------------------------------------------------- */
#page-footer {
	position:relative;
	padding:1.5em 3em;
	border-top:1px solid #ccc;
	text-align:center;
	clear:both;
}

#page-footer a {
	display:inline-block;
	color:inherit;
	text-decoration:none;
}

.rvlvr-footer ul {
	display:block;
	margin:0; padding:0;
	list-style:none;
}
.rvlvr-footer ul li {
	margin:0; padding:0;
	display:inline-block;
	list-style:none;
}

.rvlvr-footer ul li > a {
	padding:0 .25em;
}
.rvlvr-footer ul li > a:hover {
	background:#eee;
}

.rvlvr-footer ul li + li:before {
	content:'|';
	margin-right:.25em;
}

/* 絞り込み検索箱等
---------------------------------------------------------------------------------- */

#content-main .content-item .content-item-body {
	margin: 10px 10px 10px 10px;
	padding:10px 10px 0px 10px;
	background-color:#fff;
}


#content-main .page-input-box{
	margin:10px 10px;
	padding:10px;
	color:#32486b;
	background-color: #fff;
}

/* 絞り込み系？ #433 あたり */
/* 抜け漏れがあるので、.refine-search とかで再定義すべし */
#content-main .page-input-box {
	border: 1px dashed #ccc;
	padding:.75em 1em .75em 2.5em;
	margin:1em 0;
	
	position:relative;
}

@media (max-width:767px) {
	#content-main .page-input-box {
		padding:3em .5em .5em .5em;
	}
}

#content-main .page-input-box:before {
	font-family:FontAwesome;
	font-style:normal;
	font-weight:normal;
	text-decoration:none;
	text-shadow:none;
	opacity:.2;
	content:'\f002'; /* fa-search */
	position:absolute;
	top:.8em;
	left: .5rem;
	font-size:1.5rem;
	line-height:1;
}

#content-main .page-input-box form dl:first-child {
	margin-top:-.5em;
}
#content-main .page-input-box form dl {
	display:flex;
	flex-wrap:wrap;
	position:relative;
}
#content-main .page-input-box form dl > dt {
	box-sizing:border-box;
	margin:0;
	width:10em;
	padding:.5em;
	text-align:right;
}
#content-main .page-input-box form dl > dt:after {
	content:' :';
}
#content-main .page-input-box form dl > dd {
	box-sizing:border-box;
	margin:0;
	padding:.5em;
	width:calc(100% - 10em);
}
#content-main .page-input-box form dl > dd > input:not([type="checkbox"]):not([type="radio"]):first-child,
#content-main .page-input-box form dl > dd > textarea:first-child,
#content-main .page-input-box form dl > dd > select:first-child {
	margin-top:-.5em;
}

#content-main .page-input-box form dl > dd > input + label {
	margin-right:1em;
}

/* タグ箱
---------------------------------------------------------------------------------- */
#id-tags-select {
	border: dashed 1px #ccc;
	background: white;
	padding:.5em;
}
#id-tags-select:before {
	content:'Preset Tags';
	display:block;
	position:relative;
	margin:-.25em 0 .25em 0;
	opacity:.5;
	font-style:italic;
}

#id-tags-select > a {
	display:inline-block;
	padding:.25em .5em;
	border:1px solid transparent;
	position:relative;
}
#id-tags-select > a:hover {
	border:1px solid #ccc;
	border-radius:4px;
	text-decoration:none;
}

#id-tags-select > a:hover:after {
	content:'+';
	color:black;
	font-size:.8em;
	line-height:1;
	font-weight:bold;
	position:absolute;
	top:-.2em;
	left:-.2em;
}

ul.tagit {
	background:white !important;
	padding:.5em !important;
}
ul.tagit li.tagit-new {
	padding:0!important;
	margin:0!important;
}

/* 他雑多なもの
---------------------------------------------------------------------------------- */
.content-add {
	margin:1em 0;
}

#term input,
#term select {
	margin:.25em;
}

table, .table { margin-top:1em; margin-bottom:1em; }
table:first-child:last-child, .table:fist-child:last-child { margin:0; }

.no-margin { margin:0!important; }
.no-padding { padding:0!important; }

body.is-widget #close-ifr { float:none; }

iframe.widget-fileselector {
	outline:1px solid #666;
	border:none;
	display:block;
	background:white;
	position:fixed;
	top:10%;
	left:10%;
	width:80%;
	height:80%;
	z-index:1000;
}

/* ui-datepicker */
#ui-datepicker-div { z-index:999999!important; }
