@charset "UTF-8";

/*** 基本 ***/
body {
	padding: 0;
	/*font-size: large !important;*/
}

/*ヘッダ、フッタ*/
header,footer {
	padding: 15px;
}
header {
	border-bottom: solid 1px #ccc;
    margin-bottom: 10px;
}

/*見出し*/
h1,h2 {
	white-space: nowrap;
	font-size: 28px;
}
h1 span {
	font-size: 80%;
}

/*テーブル*/
th,
td {
	padding: 1px 3px;
    word-break: break-all;
    /*word-wrap: break-word;*/
}
th {
	background-color: #DFDFDF;
	font-weight: bold;
	text-align: center;
}
td {
	text-align: center;
}

/*フォーム*/
input {
	margin: 1px !important;
}
input[type="text"] {
	width: 100%;
}
input[type="checkbox"], input[type="radio"] {
    margin: 4px 3px;
}
input[readonly="readonly"]{
	border: none;
	font-weight: bold;
	overflow: hidden;
	padding: 0;
}
input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type='number'] {
    -moz-appearance:textfield;
}
textarea {
	width: 100%;
}
form input {
	font-family: initial;
	margin: 3px;
}
form input[type='text'],
form input[type='email'],
form input[type='tel'],
form textarea {
    border-color: #666;
}
/*リスト*/
ol.select li,
ul.select li,
dl.select dt,
dl.select dd {
	margin-right: 2em;
	font-size: 18px;
}

/*罫線*/
hr {
	margin-top: 10px !important;
	margin-bottom: 10px;
}

/*Bootstrap*/
p a.btn {
	margin-bottom: 5px;
}
.table th,
.table td {
	border-color: #999!important;
	padding: 5px;
	vertical-align: middle !important;
}
.table th {
	white-space: nowrap;
}
.table caption {
	font-size: 20px;
	color: #333;
	text-align: center;
	font-weight: bold;
	caption-side: top;
}
/*
.table.edit .odd th {
	background-color: #c2d2df;
}
.table.edit .even th {
	background-color: #dfd6c2;
}
*/


/*** 独自Class,ID ***/
#contents {
	padding: 15px !important;
	padding-top: 12px !important;
	border-bottom: solid 1px #ccc;
}
#contents > p,
#contents > h1,
#contents > h2,
#contents > h3,
#contents form > p {
	text-align: center;
}
#contents input[type="file"] {
	display: inline;
}
#contents .table {
	width: 100%;
	/*max-width: 1200px;*/
	margin-left: auto;
	margin-right: auto;
	border-bottom: solid 1px #aaa;
}
#edit .table.edit label.single {
	display: block;
	border: dotted 1px #aaa;
	padding: 0;
	line-height: 1em;
}
#edit.calendar .table td {
	white-space: nowrap;
}
.delete,
.control {
	text-align: right;
	padding: 15px;
}
.dupe {
	font-weight: normal;
}
.navi {
	text-align: center;
}
.checkbox,
.radio {
	display: inline !important;
}

/*ログインモードの区別*/
header.staff {
	border-top: solid 5px #1c215a;
}
/*header.members {
	border-top: solid 5px #1c215a;
}*/
body.members {
	border-top: solid 5px #1c215a;
}

/*サジェスト機能用*/
.suggest td {
	white-space: normal;
}
.suggest input[type="text"] {
	width: 5em;
}
.suggest ul,.suggest li {
	margin: 1em;
}

.suggest {
	position: relative;
}
.suggest_input {
	width: 6em;
}
.suggest_list {
	position: absolute !important;
	top: 25px;
	left: 0;
	z-index: 20;
	display: none;
	border: solid 1px #333;
	background-color: #fff;
	padding: 1em;
}
.suggest_list ul {
	margin: 0;
	padding: 0;
	overflow: auto;
}
.suggest_list li {
	float: left;
	cursor: pointer;
	cursor: hand;
	list-style: none;
	width: 14em;
	overflow: hidden;
	-o-text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	text-overflow: ellipsis;
}
.suggest_list li .tel,
.suggest_list li .fax {
	display: none;
}
.arrow_box {
	position: relative;
	background: #fff;
	border: 1px solid #666;
	max-width: 36em;
}
.arrow_box:after, .arrow_box:before {
	bottom: 100%;
	left: 50px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.arrow_box:after {
	border-color: rgba(255, 255, 255, 0);
	border-bottom-color: #fff;
	border-width: 6px;
	margin-left: -6px;
}
.arrow_box:before {
	border-color: rgba(102, 102, 102, 0);
	border-bottom-color: #000;
	border-width: 7px;
	margin-left: -7px;
}
.return {
	position: relative;
	z-index: 99999;
}

.touchable {
	text-decoration: underline;
}
.touchable:hover {
	cursor: pointer;
	text-decoration: none;
}
ul {
	display: inline-block;
	width: auto;
	margin: 0 auto;
}
ul li {
	margin-bottom: 1em;
}

.table th.odd,
.table.edit .odd th {
	background-color: #c2d2df;
}
.table th.even,
.table.edit .even th {
	background-color: #dfd6c2;
}

.exced + .fil_word,
.exced + input[name='submit'] {
    display: none;
}

.circle-image {
    width: 100px;          /* 表示したい円のサイズ */
    height: 100px;
    border-radius: 50%;    /* 正円にする */
    overflow: hidden;      /* はみ出した部分を隠す */
    display: block;
	margin: 15px auto;
}
.circle-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;     /* 画像を中央でトリミング */
    object-position: center;
    display: block;
}

/*lg*/
@media screen and (max-width: 1200px) {
}
@media screen and (max-width: 992px) {
}
@media screen and (max-width: 991px) {
	/*サイドバー消える*/
}
@media screen and (max-width: 768px) {
	/*iPad*/
}
@media screen and (max-width: 767px) {
	/*トグルメニュー出現*/
}
@media screen and (max-width: 599px) {
	/*SP*/
	h1, h2 {
		white-space: normal!important;
	}
	#contents .table {
		width: 100% ;
		min-width: auto;
	}
	#contents .table th,
	#contents .table td
	 {
		text-align:center;
		white-space: normal;
	}
	
	#edit .table th,
	#edit .table td
	{
		display: block;
	}
}

input[type='submit'] {
	background-color: #fff;
	color: #333;
	border: solid 1px #999;
}

@media print {
	.return,
	.delete,
	.dupe,
	.noprint,
	input[type=submit]
	{
		display: none!important;
	}
}

/*iOS対応*/
form input[type='submit'] {
	background-color: #fff;
	color: #333;
	border: solid 1px #999;
}
