@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
:root {
 --fontfamily: 'Noto Sans JP', sans-serif;
 --mainecolor: #028760;
 --subcolor: #2f5d50;
}
* {
	margin:0;
	padding:0;
	box-sizing: border-box;
}
a {
	color:#006949;
	text-decoration:underline;
}
a:hover {
	text-decoration:none;
}
ul, li {
	list-style:none;
}
input[type="button"] {
	cursor: pointer;
}
img {
	border:0;
	max-width:100%;
	height:auto;
	vertical-align: bottom;
}
body {
	text-align:center;
	font-size:16px;
	line-height:160%;
	font-family:var(--fontfamily);
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
}
strong {
	font-weight:700;
}
#header {
	text-align:center;
	margin-bottom:15px;
}
/*　ログイン画面　*/
#login {
	background-color:var(--mainecolor);
	padding-top:70px;
}
#login_wrap {
	max-width: 840px;
	width:96%;
	margin: auto auto 60px auto;
	background-color: #FFF;
	padding: 90px 40px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#wrap {
	max-width: 1280px;
	width:96%;
	margin: auto auto 60px auto;
	padding:30px 0 60px 0;
}
#login_wrap .login_title {
	text-align:center;
	font-size:20px;
	color:var(--mainecolor);
	line-height:150%;
	font-weight:700;
	margin-bottom:40px;
	word-break: auto-phrase;
}
h1.view_title {
	text-align:center;
	font-size:30px;
	background-color:var(--mainecolor);
	color:#FFF;
	line-height:150%;
	padding:15px 5px;
	font-weight:700;
	margin-bottom:50px;
	word-break: auto-phrase;	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
.view h2 {
	margin-bottom:30px;
	text-align:left;
	font-size:30px;
	line-height:150%;
	font-weight:700;
	color: var(--mainecolor);
  text-align: center;
  padding: 0.25em;
  border-top: solid 2px var(--mainecolor);
  border-bottom: solid 2px var(--mainecolor);
  background: -webkit-repeating-linear-gradient(-45deg, #d6e9ca50, #d6e9ca50 3px,#FFF 3px, #FFF 7px);
  background: repeating-linear-gradient(-45deg, #d6e9ca50, #d6e9ca50 3px,#FFF 3px, #FFF 7px);
}
#login_wrap .login_title strong {
	font-size:30px;
}
#login_wrap form ul {
	max-width:500px;
	margin-left:auto;
	margin-right:auto;
}
#login_wrap form ul, #login_wrap form ul li {
	width:100%;
	position:relative;
	text-align:left;
}
#login_wrap form ul {
	margin-bottom:20px;
}
#login_wrap form ul li {
	padding-left:100px;
	padding-bottom:20px;
}
.pass_edit #login_wrap form ul li {
	padding-left:150px;
	padding-bottom:20px;
}
#login_wrap form ul li span {
	position:absolute;
	top:3px;
	left:0;
}
#login_wrap form ul li input[type="text"],
.flex_box .in_box input[type="text"] {
	width:100%;
	padding:8px;
	font-size:18px;
	border:1px solid #999;
}
.form_btn input {
	background:var(--mainecolor);
	padding:0.35em 0.5em 0.5em;
	font-size:18px;
	font-weight:bold;
	max-width:150px;
	width:100%;
	margin:auto;
	color:#FFF;
	border:none;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	letter-spacing:0.05em;
}
.pass_edit .form_btn input {
	max-width:200px;
}
.form_btn input:hover {
	background-color:var(--subcolor);
}
.form_btn.logout {
	position: absolute;
	top:0;
	right:30px;
}
.form_btn.edit {
	margin-bottom: 45px;
	position: sticky;
	top: 0;
	background:#FFFFFF;
	padding:15px;
	z-index:2;
}
.form_btn.edit input {
	background-color:#2ca9e1;
	max-width: 350px;
	position: relative;
}
.form_btn.edit input:hover {
	background-color:#0094c8;
}
.form_btn.logout input {
	background-color:#D70051;
}
.form_btn.logout input:hover {
	background-color:#AF044A;
}
.form_btn.logout.fixed input {
	border-radius: 0 0 5px 5px;
	-webkit-border-radius: 0 0 5px 5px;
	-moz-border-radius: 0 0 5px 5px;
}
table.date_table, table.view_table {
	width: 96%;
	margin: auto;
	border:1px solid #C8C8C8;
	border-collapse: collapse;
}
table.view_table {
	margin-bottom:90px;
}
table.view_table.bt_m45p {
	margin-bottom:45px;
}
table.view_table.parking {
	margin-bottom:0px;
}
table.date_table th, table.date_table td {
	padding:8px 10px;
	box-sizing:border-box;
	text-align:left;
	border:1px solid #C8C8C8;
}
table.view_table th, table.view_table td {
	padding:12px 10px;
	box-sizing:border-box;
	text-align:left;
	border:1px solid #C8C8C8;
}
table.date_table thead th, table.view_table thead th {
	background-color:var(--mainecolor);
	font-weight:500;
	color:#FFF;
	text-align:center;
}
table.date_table tbody tr:nth-child(even), table.view_table tbody tr:nth-child(even) {
 background-color:#f2fbec;
}
table.date_table tbody td {
	width:50%;
	text-align:center;
}
table.view_table {
	font-size:15px;
	line-height:130%;
word-break: auto-phrase;
}
table.view_table tbody th,
table.view_table tbody td.p-etc,
table.view_table tbody td.price,
table.view_table tbody td.etc {
	text-align:left;
}
table.view_table thead th.p-name {
	width:16%;
}
table.view_table thead th.p-time {
	width:10%;
}
table.view_table thead th.p-capacity {
	width:9%;
}
table.view_table thead th.p-price {
	width:21%;
}
table.view_table thead th.p-tel {
	width:10%;
}
table.view_table thead th.p-bus {
	width:7%;
}
table.view_table thead th.p-url {
	width:7%;
}
table.view_table thead th.p-etc {
	width:20%;
}
table.view_table tbody td.hpurl {
	font-size:14px;
}
table.view_table tbody td.hpurl a {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	padding: .5rem 1rem;
	font-weight: bold;
	border-radius: 0.3rem;
	border-bottom: 3px solid var(--mainecolor);
	background-color: #2ca360;
	color: #fff;
}
table.view_table tbody td.hpurl a:hover {
	margin-top: 2px;
	border-bottom: 1px solid var(--mainecolor);
	color: #fff;
}
table.view_table tbody td {
	text-align:center;
}
table.date_table tbody td label.btn {
	font-size:18px;
	line-height:100%;
	padding:10px 15px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	display: inline-block;
	position: relative;
	cursor: pointer;
}
table.date_table tbody td input {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
}
table.date_table tbody td label.btn.pt01, table.date_table tbody td label.btn.pt02, table.date_table tbody td label.btn.pt03, .pt-green, .pt-yellow, .pt-red {
	background-color:#E8E8E8;
	color:#000;
	border:1px solid #CCC;
}
.pt-green, .pt-yellow, .pt-red, .empty  {
	display:inline-block;
	padding:2px 10px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
table.date_table tbody td input[type="radio"]:checked + label.btn.pt01, .pt-green {
	background-color:#2ca360;
	border:1px solid #FFF;
	font-weight:bold;
	color:#FFF;
}
table.date_table tbody td input[type="radio"]:checked + label.btn.pt02, .pt-yellow {
	background-color:#ffd900;
	border:1px solid #FFF;
	font-weight:bold;
	color:#000;
}
table.date_table tbody td input[type="radio"]:checked + label.btn.pt03, .pt-red {
	background-color:#e60033;
	border:1px solid #FFF;
	font-weight:bold;
	color:#FFF;
}
.attention_box {
	width:98%;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
	background-color:#fff799;
	padding:30px;
	text-align:left;
 border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
 margin-bottom: 90px;
}
.attention_box p {
	text-indent:-1em;
	padding-left:1em;
word-break: auto-phrase;
}
.attention_box p strong {
	color:#cf2d04;
}
.img_access {
	margin-bottom:45px;
}
#footer {
	text-align:center;
	font-size:12px;
	line-height:130%;
}
small.last_date {
	font-size:14px;
	line-height:130%;
	font-weight:normal;
}
@media screen and (max-width: 1124px) {
body {
	font-size:18px;
	line-height:160%;
}
table.view_table,
table.view_table thead,
table.view_table tbody,
table.view_table tr {
	width:100%;
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 margin: auto;
 table-layout: fixed;
}
table.view_table {
    margin-bottom: 90px;
}
table.view_table.res thead th:first-child,
table.view_table.parking thead {
	display:none;
}
table.view_table tbody th:first-child,
table.view_table.res tbody td.tb_100{
	width:100%;
	text-align:center;
	border-bottom:0;
}
table.view_table.res tbody td.tb_100 {
	border-top:0;
	padding-bottom:15px;
	padding-top:0;
}
table.view_table.res thead th,
table.view_table.res tbody td {
	width:calc(100% / 7);
}
table.date_table.res th, table.date_table.res td, table.view_table.res th, table.view_table.res td {
    padding: 8px 5px;
				line-height:120%;
}
table.view_table.parking tbody td {
	width:100%;
	padding-left:8em;
	text-align:left;
	position:relative;
	border-bottom: dashed 1px #333!important;
}

table.view_table.parking tbody tr td:last-child {
	padding-top:2em;
	padding-left:8px;
}
table.view_table.parking tbody td::before{
 content: attr(data-label);
 position: absolute;
	top:9px;
 left: 11px;
 font-weight: bold;
}
table.view_table.parking tr {
	margin-bottom:30px;
	border:1px solid #999;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	padding:10px;
}
table.view_table.parking,
table.view_table.parking th,
table.view_table.parking td {
	border:0;
}
table.view_table.parking tbody th:first-child{
	font-size:20px;
	line-height:110%;
	color: var(--mainecolor);
}
.pt-green, .pt-yellow, .pt-red {
 padding: 2px 3px;
}
}

@media screen and (max-width: 640px) {
#login_wrap {
 padding: 40px 1rem;
}
table.date_table th, table.date_table td, table.view_table th, table.view_table td {
 padding: 12px 10px;
}
table.date_table tbody td label.btn {
 padding: 20px 20px;
}
.form_btn input {
 padding: 0.65em 0.5em 0.8em;
	font-size:25px;
}
table.date_table tbody td {
 width: auto;
}
#login_wrap form ul li input[type="text"],
.flex_box .in_box input[type="text"] {
	padding:10px;
	font-size:20px;
}
.pt-green, .pt-yellow, .pt-red, .empty {
padding:10px 0;
width: 100%;
font-size: 19px;
}
table.view_table.res thead th {
 padding: 14px 0;
}
table.view_table.res tbody th:first-child {
 padding: 14px 0;
 font-size: 21px;
 line-height: 110%;
}
table.date_table.res th, table.date_table.res td, table.view_table.res th, table.view_table.res td {
padding: 3px;
}
table.view_table.parking tbody th:first-child {
 font-size: 27px;
line-height: 110%;
}
table.view_table.parking tbody td,
table.view_table.parking tbody td::before {
 font-size: 20px;
line-height: 110%;
}
table.view_table.parking tbody td::before {
top: 12px;
}
}