@charset "UTF-8";
.blue{
	color: #00f;
}
.red{
	color: #f00;
}
.orange{
	color: #FF7A00;
}

/*-------------------------------
	スマホ時の装飾を削除
-------------------------------*/

input[type="text"],
input[type="email"],
input[type="number"],
button,
input[type="submit"],
textarea  {
	border-radius: 0;
	border:none;
	-webkit-appearance: none;
}


input[type="text"],
input[type="email"],
input[type="number"] {
	background:#fff;
	width:100%;
	max-width:100%;
	font-size:16px;
	line-height:2;
	height: 2.5em;
	padding:0 1em;
	border-radius:0px;
	border:1px solid #ccc;
}

@-moz-document url-prefix() {
  /* Firefoxのみに適用 */
input[type="text"],
input[type="email"],
input[type="number"] {
	padding:0.65em 1em 0.65em;
}
}


/*-------------------------------
	select
-------------------------------*/

.f_select {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}

.sele_wrap {
	width:100%;
	max-width:80px;
	height: 30px;
    margin: 0;
    position: relative;
    border: 1px solid #ccc;
	border-radius: 0px;
	line-height:2;
}

.sele_wrap.sele_date {
	width:100%;
	max-width:200px;
}

.sele_wrap + span {
	padding:0 1.5em 0 1em;
	font-size: 16px;
}

.sele_wrap::before {
    position: absolute;
    top: 0;
	bottom:-2px;
	margin:auto 0;
    right: 8px;
    width: 6px;
    height: 6px;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	transform:rotate(45deg);
    content: "";
    display: block;
    pointer-events: none;
}

.sele_wrap::after {
    position: absolute;
    top: 0;
    right: 1.5em;
    width: 1px;
    height: 100%;
    content: "";
    display: block;
    background:#ccc;
    pointer-events: none;
}

.form_list select {
	width: 100%;
	height:100%;
    cursor: pointer;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 0 2.5em 0 1em;
	font-size: 16px;
	text-align:left;
}


select::-ms-expand { /* select要素のデザインを無効にする（IE用） */
display: none;
}

textarea {
	resize: vertical;
	background:#fff;
	width:100%;
	font-size:16px;
	line-height:2;
	height:220px;
    overflow: auto;
    padding: 1em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
	border-radius:0px;
	border:1px solid #ccc;
}

input::placeholder,
textarea::placeholder {
  color: #acacac;
  font-size:16px;
  line-height:2;
  font-weight:500;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-textarea-placeholder {
	color: #acacac;
	font-size:16px;
	line-height:2;
	font-weight:500;
  }

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-textarea-placeholder {
	color: #acacac;
	font-size:16px;
	line-height:2;
	font-weight:500;
  }

/*-------------------------------
	button
-------------------------------*/


.blog-text button,
.form_wrap button {
	border:none;
	background:none;
	padding:0;
	margin:0;
	cursor:pointer;
	outline:none;
	appearance: none;
	font-family: 'Noto Sans JP', sans-serif;
}

.form-area .send-btn .submit-btn,
.button_orange,
input[type="submit"].button_orange,
button.button_orange,
button.button_blue {
	display: block;
	width:300px;
	height:40px;
	line-height:38px;
	background:#FFC75F;
	border:1px solid #FFC75F;
	color:#fff;
	border-radius:6px;
	margin:0 auto;
	text-align:center;
	transition: all .3s;
	font-size:16px;
	font-weight:500;
	padding:0 0.5em;
	cursor:pointer;
}

button.button_blue {
	background:#28BFE7;
	border:1px solid #28BFE7;
}

.form-area .send-btn .submit-btn:hover,
.button_orange:hover,
input[type="submit"].button_orange:hover,
button.button_orange:hover {
	background:#fff;
	color:#FFC75F;
}

button.button_blue:hover {
	background:#fff;
	color:#28BFE7;
}

button.button_cancel{
	width: 100%;
	height:30px;
	line-height:28px;
	font-size:14px;
	background: #28BFE7;
	color: #fff;
}


.form_wrap {
	width:100%;
	max-width:1340px;
	margin:0 auto ;
}

.inner {
	width:100%;
	max-width:1200px;
	margin:0 auto ;
	padding:0 50px;
}

.blog_title_bottom {
	padding:0 70px;
}

.blog_title_bottom p {
	font-size:16px;
}

.blog_title_bottom p.red {
	padding-left: 1em;
	text-indent: -1em;
}

.form-area{
	max-width: 100%;
}
.scroll_table{
	width: 100%;
	overflow-x: auto;
	margin: 25px auto;
}
.calendar th{
	position: sticky;
	left: 0;
	top: 0;
	border: 1px solid #ccc;
	background: #444;
	color: #fff;
	padding: 0.5em 1em;
	text-align: left;
	font-size: 16px;
	width: 200px;
	font-weight: 500;
}

.scroll_table th:first-child {
	background: #444;
}
.calendar tr:nth-of-type(1) td{
	background: #efefef;
}
.calendar td{
	width: 100px;
	padding: .5em;
	border: 1px solid #ccc;
	text-align: center;
	font-size: 16px;
	background: #fff;
	line-height:1.5;
}
.calendar tr:nth-of-type(1) td {
	font-size:14px;
}
.calendar td a,
.calendar td button{
	color: #0294e9;
	font-weight: 700;
	margin: 0 auto;
	font-size:18px;
}
input[name='start_date'],
input[name='end_date']{
	width: 7em;
}
.submit-btn{
	margin-left: 1em;
}
.flex{
	align-items: center;
}
.consumables_wrap,
.reserve-form-inner,
.user_info_wrap {
	background: #fff;
	padding: 20px;
	margin: 0 auto 20px;
	max-width: 1000px;
}

.reserve-form-inner {
	padding:0 20px;

}
.cons_list_wrap h3,
.user_info h3 {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 25px;
	text-align:center;
}
.consumables_wrap dl{
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #ccc;
	font-size: 13px;
	margin-bottom: 0 !important;
}
.consumables_wrap dt{
	width: 240px;
	padding: 0.75em 1em;
	background: #444;
	color: #fff;
	font-size: 16px;
	line-height:1.5;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;

}
.consumables_wrap dl dt:not(:last-of-type),
.consumables_wrap dl dd:not(:last-of-type){
	border-bottom: 1px solid #ccc;
}
.consumables_wrap dd{
	width: calc(100% - 240px);
	padding: 0.75em 1em;
	font-size:16px;
	line-height:1.5;
}
.cons_list select{
	width: 100%;
	flex-shrink: 0;
	font-size:15px;
}
.cons_list .sele_wrap{
	display: flex;
}
.cons_block{
	display: flex;
	align-items: center;
}
.cons_list .f_select{
	display: flex;
	align-items: center;
}
.unit{
	margin-left: 1em;
}
.cons_block h4{
	font-size: 16px;
	margin-right: 1em;
}
.tool_list{
	font-size: 16px;
	width:100%;
	min-width:900px;
	margin:0 auto;
}
.tool_list thead{
	background: #444;
	color: #fff;
}
.tool_list thead tr th:first-of-type {
	width:280px;
}

.tool_list th{
	padding:0.75em 0.5em;
	font-size:16px;
	border: 1px solid #ccc;
	line-height:1.5;
}
.tool_list td{
	font-size:16px;
	padding:0.75em 0.5em;
	border: 1px solid #ccc;
	line-height:1.5;
}
.tool_list .sele_date,
.tool_list .sele_date select {
	font-size:15px;
}

.tool_list .sele_wrap {
	height:40px;
}
.submit-btn{
	margin: 0 auto;
}
.cons_list_wrap .cons_list:not(:last-of-type){
	margin-bottom: 15px !important;
}

.member_list dt {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}

.member_list dt span {
	font-size:16px;
	font-weight:500;
}

.member_list dd textarea {
	padding:0.75em 1.5em;
	font-size:16px;
}


.member_list span.label-required {
	position:relative;
}

.member_list span.label-required::after {
	content:"＊";
	display: block;
	font-size:12px;
	font-weight:500;
	position:absolute;
	top:-0.5em;
	right:-1.25em;
	color:#fff;
}

.form_list input[type="text"],
.form_list input[type="email"] {
	font-size:16px;
}

.cons_list_wrap,
.reserve-form-inner {
	overflow-x:auto;
	padding-bottom:10px;
}

.reserve-form-inner {
	padding-bottom:0;
}

.bihin_list_wrap {
	display: none;
}

.cons_list_wrap .cons_list,
.cons_list_wrap .member_list {
	min-width:620px;
}

/* radio checkbox */

.cons_bottom p {
	padding:0.5em 0 0.25em 0;
	margin:1em 0 0.75em;
}

.cons_bottom .label_wrap {
	margin-right:1em;
	margin-bottom:0.5em;
	display: inline-block;
}


input[type="radio"],
input[type="checkbox"] {
    display: none;
}

input[type="radio"] + span,
input[type="checkbox"] + span {
    padding-left: 1.5em;
    position: relative;
}

input[type="radio"] + span::before {
	content: "";
    display: block;
	/*
    width: 1em;
    height: 1em;
	*/
	width:15px;
	height:15px;
	border: 1px solid #ccc;
	background:#fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    border-radius: 50%;
	box-sizing: border-box;
}

input[type="radio"]:checked + span::before {
	content: "";
	border: 1px solid #3577CA;
	background:#3577CA;
}


input[type="radio"]:checked + span::after {
    content: "";
    display: block;
	/*
    width: 0.555em;
    height: 0.555em;
    */
	width:6px;
	height:6px;
	background: #fff;
    position: absolute;
    top: 0;
    left: 4.5px;
    bottom: 0;
    margin: auto 0;
	border-radius:50%;
	box-sizing: border-box;
}

/*-------------------------------
	member list
-------------------------------*/

.member_list {
	display: -webkit-box;
	display: flex;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	margin:0 auto;
	border:none;
}

.member_list dt {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}

.member_list dt.d_none,
.member_list dd.d_none {
	display: none;
}

.member_list dt,
.member_list dd {
	position:relative;
	font-size:16px;
	border-bottom:1px solid #ccc;
}

.member_list dt:first-of-type,
.member_list dd:first-of-type {
	border-top:1px solid #ccc;
}

.member_list dt:last-of-type,
.member_list dd:last-of-type {
	border-bottom:1px solid #ccc;
}

.member_list dt {
	width:280px;
	padding:0.75em 1.5em;
	line-height:1.75;
	border-right:1px solid #ccc;
	border-left:1px solid #ccc;
	background:#444;
	color:#fff;
}

.member_list span.label-required {
	position:relative;
}

.member_list span.label-required::after {
	content:"＊";
	display: block;
	font-size:12px;
	font-weight:500;
	position:absolute;
	top:-0.5em;
	right:-1.25em;
	color:#f00;
}

.member_list dd {
	width:calc(100% - 280px);
	padding:0.75em 1.5em;
	border-right:1px solid #ccc;
}

.member_list dd.check_wrap {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	padding:2.5em 2.5em 1em;
}

.member_list dd.check_wrap > span {
	display:inline-block;
	width:33.333%;
	width:calc(100% / 3);
	min-width:250px;
	padding-right:1em;
	margin-bottom:1.5em;
}


.member_list dd span {
	font-size:16px;
}

/*-------------------------------
	policy_wrap
-------------------------------*/

.policy_wrap {
	background:#fcf9f7;
	padding:30px 40px;
	border-radius: 10px;
	margin-top:80px;
}

.policy_wrap h3 {
	text-align:center;
	font-size:20px;
	margin:0 0 1.5em 0;
	position:relative;
	padding-bottom:1em;
}

.policy_wrap h3::after {
	content:"";
	display: block;
	width:4em;
	height:2px;
	background:rgb(64, 64, 64);
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:0 auto;
}

.ten_list li {
	position:relative;
	padding:0 0 0 1.25em;
	font-size:16px;
	line-height:1.75;
}

.ten_list li:not(:last-of-type) {
	margin-bottom:0.25em;
}

.ten_list li::before {
	content:"・";
	display: block;
	width:1em;
	height:1em;
	position:absolute;
	left:0;
	top:0;
}


/*-------------------------------
	tool list
-------------------------------*/

.tool_list input[type="text"].quantity {
	border:none;
	outline:none;
	text-align:center;
	max-width:80px;
	margin:0 auto;
}

/*-------------------------------
	reserve-confirm.php 予約内容確認画面
-------------------------------*/

.form-area .send-btn:not(:last-of-type) {
	margin-bottom:20px;
}

.form-area .send-btn:last-of-type .submit-btn {
	background:#28BFE7;
	border:1px solid #28BFE7;
}

.form-area .send-btn:last-of-type .submit-btn:hover {
	background:#fff;
	color:#28BFE7;
}

/*-------------------------------
	responsive
-------------------------------*/

@media screen and (max-width:768px) {

/*-------------------------------
	スマホ時の装飾を削除
-------------------------------*/

input[type="text"],
input[type="email"],
input[type="number"] {
	font-size:14px;
}

/*-------------------------------
	select
-------------------------------*/

.sele_wrap {
	width:100%;
	max-width:80px;
	height: 30px;
    margin: 0;
    position: relative;
    border: 1px solid #ccc;
	border-radius: 0px;
	line-height:2;
}

.sele_wrap.sele_date {
	width:100%;
	max-width:100%;
}

.sele_wrap + span {
	padding:0 0 0 1em;
	font-size: 15px;
}

.sele_wrap::before {
    position: absolute;
    top: 0;
	bottom:-2px;
	margin:auto 0;
    right: 8px;
    width: 6px;
    height: 6px;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	transform:rotate(45deg);
    content: "";
    display: block;
    pointer-events: none;
}

.form_list select {
	font-size: 15px;
}


select::-ms-expand { /* select要素のデザインを無効にする（IE用） */
display: none;
}

textarea {
	font-size:15px;
	line-height:2;
}

input::placeholder,
textarea::placeholder {
  color: #acacac;
  font-size:15px;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-textarea-placeholder {
	font-size:15px;
}

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-textarea-placeholder {
	font-size:15px;
}

/*-------------------------------
	button
-------------------------------*/

.form-area .send-btn .submit-btn,
.button_orange,
input[type="submit"].button_orange,
button.button_orange,
button.button_blue {
	width:100%;
	max-width:300px;
	font-size:15px;
}

.form_wrap {
	max-width:100%;
}

.inner {
	max-width:100%;
	padding:0 25px;
}

.blog_title_bottom {
	padding:0 25px;
}

.blog_title_bottom p,
.blog_title_bottom p span {
	font-size:15px;
}

.calendar th{
	font-size: 14px;
	width: 150px;
}

.calendar td{
	width: 80px;
	font-size: 14px;
}
.calendar tr:nth-of-type(1) td {
	font-size:13px;
}
.calendar td a,
.calendar td button{
	font-size:16px;
}

.consumables_wrap,
.reserve-form-inner,
.user_info_wrap {
	padding: 20px 0;
	max-width: 100%;
}
.cons_list_wrap h3,
.user_info h3 {
	font-size: 20px;
}

.consumables_wrap dl{
	font-size: 13px;
}
.consumables_wrap dt{
	width: 100%;
	font-size: 15px;
}
.consumables_wrap dl dt:not(:last-of-type),
.consumables_wrap dl dd:not(:last-of-type){
	border-bottom:none;
}
.consumables_wrap dd{
	width: 100%;
	font-size:15px;
}
.cons_list select{
	width: 100%;
	flex-shrink: 0;
	font-size:15px;
}
.unit{
	margin-left: 0.5em;
}
.cons_block h4{
	font-size: 14px;
	margin-right: 1em;
}
.tool_list{
	font-size: 15px;
	width:100%;
	min-width:760px;
}
.tool_list thead tr th:first-of-type {
	width:220px;
}

.tool_list th{
	font-size:15px;
}
.tool_list td{
	font-size:15px;
}
.tool_list .sele_date,
.tool_list .sele_date select {
	font-size:15px;
}

.tool_list .sele_wrap {
	height:40px;
}
.submit-btn{
	margin: 0 auto;
}
.cons_list_wrap .cons_list:not(:last-of-type){
	margin-bottom: 15px !important;
}

.member_list dt span {
	font-size:15px;
}

.member_list dd textarea {
	font-size:15px;
	padding:0.75em 1em;
	height:100%;
	min-height:240px;
}

.form_list input[type="text"],
.form_list input[type="email"] {
	font-size:15px;
}

.cons_list_wrap,
.reserve-form-inner {
	padding:0 0 10px 0;
	margin:0 auto 20px;
}

.cons_list_wrap .cons_list,
.cons_list_wrap .member_list {
	min-width:auto;
}

/* radio checkbox */

.cons_bottom p {
	padding:0.5em 0 0.25em 0;
	margin:1em 0 0.75em;
}

.cons_bottom .label_wrap {
	margin-right:1em;
	margin-bottom:1em;
	display: inline-block;
}

/*-------------------------------
	member list
-------------------------------*/

.member_list {
	border:1px solid #ccc;
}

.member_list dt,
.member_list dd {
	font-size:15px;
	border-bottom:none;
	padding:0.75em 1em;
}

.member_list dt:first-of-type,
.member_list dd:first-of-type {
	border-top:none;
}

.member_list dt:last-of-type,
.member_list dd:last-of-type {
	border-bottom:none;
}

.member_list dt {
	width:100%;
	border-right:none;
	border-left:none;
}

.member_list dd {
	width:100%;
	border-right:none;
}

.member_list dd span {
	font-size:15px;
}

/*-------------------------------
	policy_wrap
-------------------------------*/

.policy_wrap {
	padding:20px 15px;
	border-radius: 6px;
	margin-top:40px;
}

.policy_wrap h3 {
	font-size:18px;
}

.ten_list li {
	font-size:14px;
}

@media screen and (max-width:375px) {

	.calendar th {
		font-size:13px;
		padding:0.5em 0.75em;
	}

	.cons_block h4 {
		font-size:13px;
		max-width:50%;
	}

	.sele_wrap + span {
		font-size:13px;
	}

} /* end 350px */

} /* end 768px */