@charset "utf-8";

/*
基本的に、各ブロック毎に記載
追加する場合は、各ブロックに入れるように
*/

/* base ------------------------------------------ */

body, div, p, pre, blockquote, th, td, dl, dt, dd, ul, ol, li, a,
h1, h2, h3, h4, h5, h6, iframe, object, embed {
	margin:0;
	padding:0;
	border:none;
	text-align:left;
	font-weight:normal;
	text-decoration:none;
	-webkit-user-select:auto;
	-webkit-text-size-adjust:none;
}
input, button, textarea, select {
	/*-webkit-appearance:none;*/
	/*-moz-appearance:none;*/
	/*appearance:none;*/
}
ul, ol {
	list-style-position:outside;
	list-style-type:none;
}
body {
	margin:10px auto 20px auto;
	padding:0;
	font-family:sans-serif, "ＭＳゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
	text-align:center;
	font-size:14px;
	line-height:150%;
	width:100%;
	max-width:1240px;
}
a:link {
	text-decoration:none;
}
a:visited {
	text-decoration:none;
}
a:hover {
	text-decoration:underline;
}
a:active {
	text-decoration:underline;
}
img{
	border:0px;
}
th {
	font-weight:normal;
}
.s {
	font-size:90%;
}
.large {
	font-size:120%;
}
.xlarge {
	font-size:140%;
}
/* iOSで角丸のグラデーションになってしまう時の対処 */
input[type=submit] {
	-webkit-appearance:none;
	border-radius:0;
}

/* header ------------------------------------------ */

#header {
	/*position:fixed;*/
	position:absolute;
	top:0;
	left:auto;
	right:auto;
	height:50px;
	width:100%;
	max-width:1240px;
	padding:7px 0px 0px 0px;
	background:#fff;
	/*border-bottom:1px solid #ccc;*/
	/*border:1px solid #ccc;*/
}
#header #logo-box {
	float:left;
	padding:0px 0px 0px 5px;
	width:300px;
	border-left:13px solid #FF7E00;
}
#header #logo-box h1 a img {
	display:block;
	margin-top:6px;
}
#header #text-box {
	float:right;
	margin:5px 10px 0px 0px;
	font-size:92%;
	width:300px;
}
#header #text-box #header-tel {
	margin:0px 0px 0px 0px;
	text-align:right;
	color:#999;
}
#header #text-box #header-tel img {
}
#header:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

/* main ------------------------------------------ */

#main {
	margin:60px auto 0px auto;
	padding:0px 0px 0px 0px;
	text-align:left;
	min-height:600px;
	color:#333;
	border:1px solid #ccc;
}
h2 {
}
h2 b {
	font-weight:normal;
	font-size:80%;
}
h2 a {
	margin-left:20px;
	font-weight:normal;
	font-size:70%;
	color:#000;
}

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

.index-menu-area {
 	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	margin:0px auto 0px auto;
  	-webkit-box-orient: horizontal;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: row;
  	flex-direction: row;
	justify-content:space-evenly;
	align-items:center;
	/*width:960px;*/
	width:100%;
	max-width:1100px;
	height:500px;
}
.index-menu-block2, 
.index-menu-block {
	box-sizing: border-box;
	margin:0px 10px 0px 10px;
	padding:20px 20px 0px 20px;
	padding:20px 10px 0px 10px;
	/*width:25%;*/
	/*max-width:300px;*/
	width:300px;
	background:#eee;
	border:1px solid #ccc;
}
.index-menu-block2 {
	margin:20px 10px 0px 10px;
	width:100%;
	max-width:1100px;
}
.index-menu-block2 h2, 
.index-menu-block h2 {
	margin:10px 0px 10px 0px ;
	padding:0px 0px 0px 0px;
}
.index-menu-block2 a, 
.index-menu-block a {
	display:block;
	margin:-10px 0px 15px 0px ;
	padding:10px 0px 10px 0px;
	text-align:center;
	color:#000;
	background:#fff;
	border:1px solid #ccc;
}
.index-menu-block2 a {
	display:inline-block;
	margin:0px 1px 20px 0px ;
	width:200px;
}

/* menu ------------------------------------------ */

#top-menu {
	margin:10px 0px 0px 10px;
	position:relative;
}
#top-menu a {
	margin-right:10px;
	color:#666;
}
#top-menu .mr10 {
	position:absolute;
	right:10px;
}
#top-menu b {
	margin-right:10px;
	color:#666;
	font-weight:normal;
}

/* left-block ------------------------------------------ */

#left-block {
	float:left;
	margin:0px 0px 30px 0px;
	padding:0px 0px 0px 0px;
	width:305px;
}

/* right-block ------------------------------------------ */

#right-block {
	float:left;
	margin:30px 0px 30px 15px;
	padding:0px 0px 0px 0px;
	width:613px;
}

/* full-block ------------------------------------------ */

#full-block {
	margin:20px 20px 20px 20px;
	padding:0px 0px 0px 0px;
	width:calc(100% - 40px);
}
#full-block h2 {
	margin:0px 0px 20px 0px;
}
#information {
	margin:0px 0px 0px 0px;
	color:#666;
	font-size:92%;
}
.form-w-tbl {
	margin:0px auto 25px auto;
	min-width:300px;
}
.form-w-tbl td {
	padding:1px 1px;
	vertical-align:bottom;
}
.form-w-tbl input[type="text"] {
	border:0;
	padding:5px 10px;
	font-size:1.0em;
	color:#000;
	width:113px;
	border:solid 1px #ccc;
	border-radius:3px;
}
.form-w-tbl .nyo {
	margin-left:0px;
	margin-right:4px;
}
.form-w-tbl input[type="submit"] {
	margin-top:10px;
	padding:5px 10px;
}
.form-tbl {
	margin:0px auto 25px auto;
	min-width:600px;
	/*border-top:solid 5px #000;*/
}
.form-tbl td, 
.form-tbl th {
	padding:3px 8px 5px 8px;
	text-align:left;
	font-weight:normal;
}
.form-tbl th {
	padding-top:5px;
	text-align:right;
	line-height:1.1;
}
.form-tbl th b {
	font-weight:normal;
	font-size:80%;
}
.form-tbl input[type="password"],
.form-tbl input[type="text"] {
	padding:5px 10px;
	font-size:1.0em;
	color:#000;
	width:280px;
	border:0;
	border:solid 1px #ccc;
	border-radius:3px;
}
.form-tbl input[type="text"].wide {
	width:480px;
}
.form-tbl .narrow input[type="text"] {
	width:109px;
}
.nyo {
	margin-right:8px;
}
.form-tbl .cbtn input[type="text"] {
	width:280px;
}
.form-tbl i.clearButton {
	display:inline-block;
	margin:0px 16px 0 -30px;
	font-size:150%;
	vertical-align:middle;
	opacity:0.3;
	cursor:pointer;
}
.form-tbl i.clearButton:hover {
	opacity:0.8;
}
.form-tbl .radioArea input[type="radio"] {
	width:22pt;
	height:22pt;
	vertical-align:top;
	display:none;
}
.form-tbl textarea {
	padding:5px 10px;
	font-size:1.0em;
	width:280px;
	height:80px;
	border:solid 1px #ccc;
	border-radius: 3px;
}
/* --- チェックボックス直後のlabel --- */
.form-tbl .radioArea input[type="radio"] + label {
	padding:4px 6px;
	/*font-size:19pt;*/
	cursor:pointer;
	transition:.2s;
	background:#fff;
	border:1px solid #ccc;
	border-radius:3px;
}
/* --- 選択されたチェックボックス直後のlabel --- */
.form-tbl .radioArea input[type="radio"]:checked + label {
	color:#fff;
	background:#000;
	border:1px solid #000;
	/*border-radius:3px;*/
	/*border:none;*/
}
/* --- 選択されていないチェックボックス直後のlabelにマウスが乗った --- */
.form-tbl .radioArea input[type="radio"]:not(:checked) + label:hover {
	background:#eee;
}

.fmsmall a {
	color:#999;
}

/* select ------------------------------------------ */

.select {
	overflow:hidden;
	width:300px;
	position:relative;
	border:1px solid #bbbbbb;
	border-radius:3px;
	background:#ffffff;
}
.sort-row-box .select {
	width:100px;
}

.select select {
	width:100%;
	padding-right:1em;
	cursor:pointer;
	text-indent:0.01px;
	text-overflow:ellipsis;
	border:none;
	outline:none;
	background:transparent;
	background-image:none;
	box-shadow:none;
	-webkit-appearance:none;
	appearance:none;
}
.select select::-ms-expand {
	  display:none;
}
.select::before {
	position:absolute;
	top:0.8em;
	right:0.9em;
	width:0;
	height:0;
	padding:0;
	content:'';
	border-left:6px solid transparent;
	border-right:6px solid transparent;
	border-top:6px solid #666666;
	pointer-events:none;
}
.select select {
	padding:5px 38px 5px 8px;
	color:#000;
	font-size:100%;
}

/* table ------------------------------------------ */

.form-tbl input.narrow {
	width:10em;
}
.form-tbl input.wide {
	width:30em;
}
.form-tbl input:focus {
	border:solid 1px #EEA34A;
}
.multi-tbl-staff,
.multi-tbl {
	margin:0px 0px 25px 0px;
	width:100%;
	min-width:1190px;
}
.multi-tbl-staff {
	min-width:1760px!important;
}
.multi-tbl-staff td,
.multi-tbl td {
	padding:3px 8px 3px 8px;
	max-width:200px;
	border-bottom:solid 1px #ccc;
}
.multi-tbl-staff th,
.multi-tbl-staff td.top,
.multi-tbl th, 
.multi-tbl td.top {
	padding-left:8px;
	font-weight:normal;
	background-color:#eee;
	border-bottom:solid 1px #ccc;
}
.multi-tbl-staff td.bottom,
.multi-tbl td.bottom {
	border-bottom:none;
}
.multi-tbl-staff input[type="checkbox"],
.multi-tbl input[type="checkbox"] {
	font-size:120%;
}

.sort-row-box {
	margin:0px 0px 5px 0px;
}
.sort-row-tbl {
	margin:0px 0px 0px auto;
	width:220px;
}


/* calendar title ------------------------------------------ */

.calendar-ttl {
	margin:0px 0px 5px 0px;
	text-align:center;
}
.calendar-ttl b {
	margin:0px 10px 0px 10px;
	text-align:center;
	font-size:120%;
}
.calendar-ttl a {
	margin:0px 5px 0px 5px;
	font-size:90%;
	color:#666;
}

.calendar-ttl .refine-box {
	display:none;
}

/* calendar2 ------------------------------------------ */

.calendar2-tbl-box {
	margin:0px 0px 0px 0px;
	width:100%;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}
.calendar2-tbl {
	margin:0px 0px 0px 0px;
	font-size:80%;
	border-collapse:collapse;
}
.calendar2-tbl thead,
.calendar2-tbl tbody {
	display:block;
	width:1180px;
}
.calendar2-tbl tbody {
	/*height: 500px;*/
	height: calc(100vh - 260px);
	overflow-y: auto;
	overflow-x: hidden;
        -ms-overflow-style: none;    /* IE, Edge 対応 */
        scrollbar-width: none;       /* Firefox 対応 */
}
.calendar2-tbl tbody::-webkit-scrollbar {  /* Chrome, Safari 対応 */
	display:none;
}
.calendar2-tbl tr {
	min-height:52px;
}
.calendar2-tbl th,
.calendar2-tbl td {
	padding:4px 3px 3px 3px;
	border:solid 1px #ccc;
	vertical-align:top;
	box-sizing: border-box;
	width:280px;
}
.calendar2-tbl td a {
	color:#000;
	text-decoration:none;
}
.calendar2-tbl td a b {
	display:none;
}
.calendar2-tbl td a .fa {
	display:inline-block;
	margin:0px 0px 2px 0px;
	font-size:120%;
	color:#999;
}
.calendar2-tbl td a .fa:hover {
	font-size:140%;
	color:#000;
}
.calendar2-tbl .l11 {
	padding-top:8px;
	line-height:1.1;
}
.calendar2-tbl td.sat {
	background-color:#def9ff;
}
.calendar2-tbl tr.sat-light {
	background-color:#f5ffff;
}
.calendar2-tbl td.sun {
	background-color:#ffd0d0;
}
.calendar2-tbl tr.sun-light {
	background-color:#fff5f5;
}
.calendar2-tbl .date-td,
.calendar2-tbl .youbi-td {
	text-align:center;
	vertical-align:center;
	padding:17px 0;
	min-width:28px;
	width:28px;
}
.calendar2-tbl th {
	border:solid 3px #ccc;
}
.calendar2-tbl th.top, 
.calendar2-tbl td.top {
	padding:3px 0px 0px 3px;
	vertical-align:center;
	background-color:#eee;
}
.calendar2-tbl col:nth-child(2n+4) {
	background:#f9f9f9;
}

.calendar2-tbl td .item-block{
	margin-top:-1px;
	width:272px;
	display: table;
}
.calendar2-tbl td .item2-block{
	margin-top:-1px;
	width:290px;
	display: table;
}
.kbn-sp,
.time-sp,
.receipt-sp,
.cable-sp,
.details2-sp, 
.details-sp {
	display:table-cell;
	vertical-align:middle;
	text-align:left;
	padding:4px 0px 2px 0px;
	line-height:1.2;
	background-color:#fff;
	border:1px solid #ccc;
	border-left:none;
}
.kbn-sp,
.time-sp {
	text-align:center;
	/*width:84px;*/
	/*width:86px;*/
	min-width:84px;
	width:84px;
	border-left:1px solid #ccc;
}
.receipt-sp,
.cable-sp {
	text-align:center;
	min-width:23px;
	width:23px;
}
.fa-square-o {
	color:#fff!important;
}
.fa-square-o:hover {
	font-size:100%!important;
}
.details2-sp, 
.details-sp {
	padding:4px 4px 2px 4px;
}
.place-sp,
.comment-sp {
	display:block;
	/*width:140px;*/
	/*width:138px;*/
	width:130px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.details2-sp .place-sp,
.details2-sp .comment-sp {
	display:block;
	width:150px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.top .kbn-sp,
.top .time-sp,
.top .receipt-sp,
.top .cable-sp,
.top .details-sp {
	vertical-align:middle;
	font-size:90%;
	line-height:1;
	height:15px;
}
.top .cable-sp {
	padding:0px 0px 0px 0px;
}

/* calendar3 ------------------------------------------ */

.calendar3-tbl {
	margin:0px 0px 0px 0px;
	width:100%;
	font-size:80%;
	border-collapse:collapse;
}
.calendar3-tbl td.top {
	background-color:#eee;
}
.calendar3-tbl .kbn-sp {
	text-align:center;
	width:60px;
	border-left:1px solid #ccc;
}

.calendar3-tbl .details2-sp .place-sp,
.calendar3-tbl .details2-sp .comment-sp {
	display:block;
	width:100%;
}
.calendar3-tbl .details2-sp a {
	color:#000;
}

/* calendar ------------------------------------------ */

.calendar-tbl-box {
	margin:0px 0px 0px 0px;
	width:100%;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}
.calendar-tbl {
	margin:0px 0px 0px 0px;
	/*width:100%;*/
	/*min-width:1000px;*/
	/*width:1180px;*/
	font-size:80%;
	border-collapse:collapse;
}
.calendar-tbl thead,
.calendar-tbl tbody {
	display:block;
	/*width:1180px;*/
	width:1182px;
}
.calendar-tbl tbody {
	/*height: 500px;*/
	height: calc(100vh - 260px);
	overflow-y: auto;
	overflow-x: hidden;
        -ms-overflow-style: none;    /* IE, Edge 対応 */
        scrollbar-width: none;       /* Firefox 対応 */
}
.calendar-tbl tbody::-webkit-scrollbar {  /* Chrome, Safari 対応 */
	display:none;
}
.calendar-tbl tbody tr {
	min-height:52px;
}
.calendar-tbl td {
	padding:4px 3px 3px 3px;
	border:solid 1px #ccc;
	vertical-align:top;
	box-sizing: border-box;
	/*width:160px;*/
	width:187px;
}
.calendar-tbl td .ellipsis{
	width:160px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.calendar-tbl col:nth-child(2n+4) {
	background:#f9f9f9;
}
.calendar-tbl td a {
	color:#000;
	text-decoration:none;
}
.calendar-tbl td a b {
	display:none;
}
.calendar-tbl td a .fa {
	display:inline-block;
	margin:0px 0px 2px 0px;
	font-size:120%;
	color:#999;
}
.calendar-tbl td a .fa:hover {
	font-size:140%;
	color:#000;
}
.calendar-tbl .date-td,
.calendar-tbl .youbi-td {
	text-align:center;
	vertical-align:center;
	padding:17px 0;
	width:30px;
}
.calendar-tbl .l11 {
	/*padding-top:8px;*/
	/*line-height:1.1;*/
}

/*イベント項目*/
.calendar-tbl td a.item {
	display:block;
	margin-top:-1px;
	padding:5px 8px 3px 8px;
	line-height:1.1;
	/*width:152px;*/
	width:179px;
	box-sizing: border-box;
	min-height:38px;
	border:solid 1px #ccc;
	background-color:#fff;
}
.calendar-tbl td a.item:hover {
	/*border:solid 1px #000;*/
}
.calendar-tbl .place-td {
}
.calendar-tbl .place2-td {
}

.calendar-tbl td.top {
	padding:3px 0px 0px 0px;
	font-weight:normal;
	vertical-align:center;
	background-color:#eee;
}
.calendar-tbl td.sat {
	background-color:#def9ff;
}
.calendar-tbl tr.sat-light {
	background-color:#f5ffff;
}
.calendar-tbl td.sun {
	background-color:#ffd0d0;
}
.calendar-tbl tr.sun-light {
	background-color:#fff5f5;
}

.scroll-tbl {
  overflow-y: scroll;
  height: 300px!important;
}

/* colorbox ------------------------------------------ */

#cboxClose{
	position:absolute; bottom:0px;
}
#cboxLoadedContent{
	margin-bottom:0px;
}

/* input ------------------------------------------ */

/* キャンセルなど */
input[type="button"] {
	padding:5px 15px;
	font-size:1.2em;
	background-color:#fff;
	color:#000;
	cursor:pointer;
	border-style:none;
	border:1px solid #ccc;
	border-radius:3px;
}
input[type="button"]:hover {
	color:#999;
}
input[type="submit"] {
	padding:5px 15px;
	font-size:1.2em;
	background-color:#666;
	color:#fff;
	cursor:pointer;
	border-style:none;
	border-radius:3px;
}
input[type="submit"]:hover {
	background-color:#999;
}
.refine-box {
	margin:20px 0px 20px 0px;
	width:300px;
}
.boxes {
	margin:auto;
	padding:0px 0px;
	background:#fff;
}
/*Checkboxes styles*/
.boxes input[type="checkbox"] { display:none; }
.boxes input[type="checkbox"] + label {
	display:block;
	position:relative;
	padding-left:35px;
	margin-bottom:20px;
	font:14px/20px 'Open Sans', Arial, sans-serif;
	color:#fff;
	cursor:pointer;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
}
.boxes input[type="checkbox"] + label:last-child { margin-bottom:0; }
.boxes input[type="checkbox"] + label:before {
	content:'';
	display:block;
	width:20px;
	height:20px;
	border:1px solid #000;
	position:absolute;
	left:0;
	top:0;
	opacity:.6;
	-webkit-transition:all .12s, border-color .08s;
	transition:all .12s, border-color .08s;
}
.boxes input[type="checkbox"]:checked + label:before {
	width:10px;
	top:-5px;
	left:5px;
	border-radius:0;
	opacity:1;
	border-top-color:transparent;
	border-left-color:transparent;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}

/* pnavi ------------------------------------------ */

#pnavi {
	margin:20px 0px;
	width:100%;
	text-align:right;
}
#pnavi a {
	display:inline-block;
	*display:inline;
	*zoom:1;
	padding:5px 0px;
	width:150px;
	text-align:center;
	color:#fff;
	background-color:#999;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
}
#pnavi a.pbtn {
	width:80px;
}
#pnavi a:hover {
	color:#000;
	text-decoration:none;
	background-color:#ccc;
}

/* footer ------------------------------------------ */

#footer {
	clear:both;
	margin:0px auto 10px auto;
	padding:0px 0px 0px 0px;
	width:100%;
}
#copyright {
	text-align:center;
	font-size:90%;
}

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

#page-top {
	display:none;
	position: fixed;
	bottom: 20px;
	right: 10px;
}
#page-top a {
	padding: 11px 16px 16px 16px;
	color: #fff;
	line-height:1;
	text-align: center;
	text-decoration: none;
	background-color: #999;
	/*border-radius: 50%;*/
}
#page-top a:hover {
	text-decoration: none;
	background-color: #666;
}

/* parts ------------------------------------------ */

.scroll-x-box {
	width:100%;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}

.error, 
#errorList {
	color:red;
}
.msg {
	margin:10px auto;
	text-align:center;
	color:green;
}
.tc {
	text-align:center!important;
}
.tl {
	text-align:left!important;
}
.tr {
	text-align:right!important;
}
.sp10 {
	margin-top:10px;
	margin-bottom:10px;
}
.sp10t {
	margin-top:10px;
}
.sp10b {
	margin-bottom:10px;
}
.sp20 {
	margin-top:20px;
	margin-bottom:20px;
}
.sp20t {
	margin-top:20px;
}
.sp20b {
	margin-bottom:20px;
}
.sp30t {
	margin-top:30px;
}
.sp30b {
	margin-bottom:30px;
}
.sp-h100 {
	height:100px;
}
.sp-h50 {
	height:50px;
}

.disp-none {
	display:none;
}
.sp-hide {
	display:block;
}
.sp-hide-i {
	display:inline-block;
}
.pc-hide {
	display:none;
}

/* for iPhone and iPad -------------------------- */

.form-tbl td.narrow input,
.form-tbl td.narrow select,
.form-tbl td.cbtn input,
.form-tbl td.cbtn select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 100%;
	width:160px;
	height:20px;
	border: 1px solid #ccc;
}
.form-tbl td.narrow input,
.form-tbl td.narrow select {
	width:109px;
}

/* message ------------------------------------------ */


.msg-cat2, 
.msg-cat3, 
.msg-cat31 {
	cursor: pointer;
}
.msg-cat2 b, 
.msg-cat3 b, 
.msg-cat31 b {
	font-weight:normal;
	font-size:80%;
	color:#999;
}

.message-box {
	margin:40px 0 40px 40px;
}

.msg-cat1, 
h2.msg-cat1 {
	margin:10px 0 0 0px;
	font-size:140%;
}
.msg-cat31,
.msg-cat2 {
	margin:10px 0 15px 15px;
	font-size:130%;
}

.msg-cat31 span,
.msg-cat2 span {
	margin:0px 10px 0 0;
	/*font-size:130%;*/
	/*color:#999;*/
	font-weight:bold;
}

.msg-cat3 {
	margin:10px 0 10px 30px;
	font-size:90%;
}
.msg-ttl3 {
	margin:10px 0 0 20px;
	font-size:90%;
}
.msg-cat31 > .msg-ttl3 {
	margin:10px 0 0 50px;
	font-size:90%;
}

.msg-ttl3 {
	/*margin:10px 0 0 20px;*/
	/*font-size:90%;*/
}
.msg-ttl2 a,
.msg-ttl3 a {
	color:#000;
}
.msg-ttl2 b,
.msg-ttl3 b {
	margin-left:10px;
	font-size:90%;
	font-weight:normal;
}

.right-line {
	margin: 20px 0px 20px 0px;
	padding: 8px 0 10px 20px;
	font-weight:bold;
	font-size:140%;
	line-height:1;
	/*vertical-align: -10%;*/
	border-left:5px solid #fbb03b;
}
.right-line {
	display: flex;
	align-items: center;
}
.right-line:after {
	padding-top:6px;
	content: "";
	/*height: 1px;*/
	flex-grow: 1;
	/*background-color: #666;*/
	border-top: 1px solid;
}
.right-line:after {
	margin-left: 1rem;
}

hr.dot {
	margin-left:0px;
	text-align:left;
	width:300px;
	border: none;
	border-top: 2px dotted lightgray;
}

.comment-tbl {
	margin:20px 0 20px 0;
}
.comment-tbl textarea {
	width:300px;
	height:100px;
	resize: both;
}
#recomForm {
	margin:5px 0 10px 0;
}
#recomForm textarea {
	width:550px;
	height:21px;
	resize: both;
	border:1px solid #ccc;
}
#recomForm input[type="submit"] {
	margin-top:0px;
	padding:4px 10px;
	font-size:80%;
	background-color:#fff;
	color:#666;
	cursor:pointer;
	vertical-align:top;
	/*border-style:none;*/
	border:1px solid #ccc;
	border-radius:3px;
}

.comment-tree {
	margin:-10px 0 0 0;
}
.comment-tree a {
	color:#999;
}
.comment-item {
	margin:10px 0 0 0;
	padding:10px 0 0 0;
	line-height:1.2;
	font-size:100%;
	border-top:1px dotted #999;
}
.re-comment-item {
	margin:7px 0 10px 20px;
	line-height:1.2;
	font-size:90%;
}
.comment-item b, 
.re-comment-item b {
	margin-left:10px;
	color:#999;
	font-weight:normal;
}

.detail-box {
	margin:0 auto 40px auto;
	width:100%;
	max-width:800px;
}
.detail-cat {
	margin:0 0 10px 0;
}
.detail-cat a {
	color:#000;
}

h1.detail-ttl {
	margin:40px 0 5px 0;
	padding:0;
	font-size:180%;
	line-height:1.2;
}
.detail-info {
	margin:0 0 20px 0;
	font-size:90%;
}
.detail-day {
	margin:0 20px 0px 0;
}
.detail-body {
	margin:0 0 20px 0;
}
.detail-file {
	margin:0 0 20px 0;
}
.detail-file {
	margin:0px auto 20px auto;
	width: 100%;
	text-align:center;
}
.detail-box img {
	max-width: 100%;
}
.detail-tag {
	margin:20px 0 0px 0;
}
.edit-btn-link a {
	display:inline-block;
	margin:0 0 0 20px;
	padding:3px 10px 1px 10px;
	font-size:100%;
	background-color:#666;
	color:#fff;
	border-radius:3px;
}
.edit-btn-link a:hover {
	text-decoration:none;
	background-color:#999;
}

.processingtime {
	margin:20px 0 20px 0;
	font-size:80%;
}

.like {
	margin:15px 0 30px 0;
	/*text-align:right;*/
	text-align:left;
	font-size:140%;
}
.like img {
	display:inlne-block;
	width:50px;
	vertical-align:middle;
}
.search-result-msg {
	margin:0 0 20px 0;
	font-size:120%;
	line-height:1.5;
}
.search-result-msg-sub {
	font-size:84%;
}
.search-result-tbl {
	margin:0 0 0 0;
	width:100%;
	border-collapse:collapse;
}
.search-result-tbl th {
	width:40%;
}
.search-result-tbl th,
.search-result-tbl td {
	padding:5px 10px 5px 10px;
	border:1px solid #ccc;
}
.search-result-tbl th.top,
.search-result-tbl td.top {
	background:#eee;
}
.search-result-tbl th a,
.search-result-tbl td a {
	color:#000;
}
.serch-box {
	margin:10px 0px 0px 0px;
}
.serch-box input[type="text"] {
	padding:5px 10px;
	font-size:1.0em;
	color:#000;
	width:150px;
	border:solid 1px #ccc;
	border-radius:3px;
}
.serch-box input[type="submit"] {
	padding:5px 15px;
	font-size:1.0em;
	background-color:#eee;
	color:#000;
	cursor:pointer;
	border-style:none;
	border-radius:3px;
}
.serch-up {
	margin:-31px 0 0 0;
	height:0;
}
@media screen and (max-width:480px) {
	.serch-box input[type="text"] {
		padding:5px 5px;
		width:120px;
	}
	.serch-box input[type="submit"] {
		padding:5px 10px;
	}
	.sort-row-tbl {
		margin:0px 0px 0px auto;
		width:150px;
	}
	.sort-row-box .select {
		width:88px;
	}
}
@media screen and (max-width:390px) {
	.serch-up {
		margin:0px 0 0 0;
	}
}

.explanation {
	margin:10px 0px 10px 0px;
	padding:5px 10px 5px 10px;
	font-size:90%;
	background:#eee;
}

/* tab-w ------------------------------------------ */

@media screen and (max-width:1025px) {
	#main {
		border-width: 1px 0 1px 0;
	}
}

/* tab-s ------------------------------------------ */

/*@media screen and (max-width:620px) {*/
@media screen and (max-width:768px) {

	#full-block {
		margin:20px 20px 0px 20px;
	}
	
	.calendar-ttl .refine-box {
		display:block;
	}
	.index-menu-area {
		display:block;
		margin:0px auto 0px auto;
		width:100%;
		height:auto;
	}
	.index-menu-block2, 
	.index-menu-block {
		display:block;
		margin:0px 0px 0px 0px;
		padding:0px 20px 10px 20px;
		width:100%;
		background:#fff;
		border:none;
	}
	.index-menu-block2 h2, 
	.index-menu-block h2 {
		margin:0px 0px 3px 0px ;
		padding:0px 0px 0px 0px;
		font-size:100%;
	}
	.index-menu-block2 a, 
	.index-menu-block a {
		display:block;
		margin:-10px 0px 15px 0px ;
		padding:6px 0px 6px 0px;
		text-align:center;
		color:#000;
		width:100%;
		background:#fff;
		border:1px solid #ccc;
	}
	
	.calendar-tbl {
		margin:0px 0px 0px 0px;
		/*width:100%;*/
	}
	
	.calendar2-tbl td a b, 
	.calendar-tbl td a b {
		display:inline-block;
		margin:0 0 0 0.5em;
		font-weight:normal;
		color:#ccc;
		text-decoration:none;
	}
	
	.calendar-tbl tbody {
		height: calc(100vh - 352px);
	}
	
}

/* smartphone ------------------------------------------ */

@media screen and (max-width:480px) {

	.sp-hide-i,
	.sp-hide {
		display:none;
	}
	.pc-hide {
		display:block;
	}
	
	#main {
		/*margin:100px auto 0px auto;*/
		min-height:460px;
		border:none;
	}
	#header {
		padding:7px 0px 3px 0px;
		border-bottom:1px solid #ccc;
	}
	#header #text-box {
		display:none;
	}
	#full-block {
		margin:0px auto 10px auto;
		padding:15px 10px 0px 10px;
		width:calc(100% - 20px);
	}
	#full-block h2 {
		margin:0px 0px 10px 0px;
	}
	.form-w-tbl input[type="text"] {
		width:calc(80%);
	}
	.form-w-tbl .nyo {
		margin-left:-8px;
		margin-right:8px;
	}
	.form-tbl {
		margin:0px auto 25px auto;
		min-width:auto;
		width:100%;
	}
	.form-tbl th, 
	.form-tbl td {
		padding:0px 0px 5px 0px;
		display:block;
		text-align:left;
		width:100%;
	}
	.form-tbl th {
		padding:10px 0 1px 0;
	}
	.form-tbl th b {
		margin-left:13px;
	}
	.form-tbl input[type="password"],
	.form-tbl input[type="text"] {
		width:calc(100% - 30px);
	}
	.form-tbl .narrow input[type="text"] {
		width:calc(36%);
	}
	.form-tbl .cbtn input[type="text"] {
		width:calc(100% - 32px);
	}
	.form-tbl textarea {
		width:calc(100% - 32px);
	}
	.form-tbl #cable-tr th {
		margin-bottom:6px;
	}
	
	.select {
		width:calc(100% - 10px);
	}
	.calendar-tbl {
		/*width:1180px;*/
	}
		#footer {
		margin:0px auto 10px auto;
		border-top:1px solid #ccc;
	}
	.message-box {
		margin:30px 0 30px 0px;
	}

	.search-result-msg-sub {
		display:block;
	}
	#searchForm th,
	#searchForm td {
		display:inline-block;
		width:auto;
	}
	#searchForm th {
		vertical-align:top;
		width:80%;
	}
	#searchForm input[type="text"] {
		margin-top:-5px;
	}
}
