@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap');

body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	line-height: 1.5em;
}


h1,h2,h3,h4,h5,p,a,b,strong,em,li,ul,ol,table {
	margin: 0;
	padding: 0;
	font-weight: normal;
}

a { color: blue; }
a:visited { color: blue; }

img {
	border: 0;
	vertical-align: bottom;
}

.clearleft{ clear:left; }
.errormsg {
	color: #f66;
	font-size: 0.8em;
}

.red {
	color: #f66;
	font-size: 0.8em;
	margin-left: 5px;
}

.pc { display: block; }
.sp { display: none; }

#main {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	padding: 0 0 100px 0;
}

h1 {
	font-size: 0.8em;
	text-align: center;
	padding: 1em 0;
}

.form_line { margin: 1em 0 0 0; }
.form_line .label {
	color: #2c805b;
	font-weight: bold;
	padding:0 0 0 1em;
}

.form_line .inputf {
	padding:0 0 0 2em;
}

input[type=text] { width:95%; }
input[type=email] { width:95%; }
input[name=last_name],
input[name=first_name],
input[name=last_name_kana],
input[name=first_name_kana] {
	width: 25%;
}

input[name=tel1],
input[name=tel2],
input[name=tel3] {
	width: 20%;
}

input[name=zip] { width:30%; }

.text, textarea {
	margin: 0.25em;
	border: 1px solid #ddd;
	padding: 0.5em;
	border-radius: 0.5em;
	font-size: 1em;
}

.err {
	border: solid 3px #f66;
	outline: none;
	margin: 0px;
}

input:focus {
	border: solid 3px #2c805b;
	outline: none;
	margin: 0px;
}

select::-ms-expand { display: none; }
.select_wrp {
	display:inline-block;
	border: 1px solid #B3B3B3;
	border-radius: 0.5em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #FFF url(../img/select_arr.gif) no-repeat right;
	overflow:hidden;
	width:20%;
	vertical-align:middle;
	margin-right: 0.25em;
}

.select_wrp > select {
	font-size: 100%;
	padding: 5px 50px 5px 10px;
	text-indent: .01px;
	text-overflow: "";
	width:180px;
	border:0;
	background: none transparent;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-indent: .01px;
	text-overflow: "";
}

.select_wrp.auto > select {
	width:auto;
}


span.form_label {
	font-size: 0.8em;
	line-height: 1em;
	padding-right: 0.25em;
	color: #999;
	font-weight: normal;
}
span.form_label.colorRed { color: #f66; }

div#form_footer { 
	position: fixed; 
	bottom: 0;
	width: 100%;
	background: #2c805b;
	text-align: center;
	padding: 10px;
}

#goukei_label {
	color: #fff;
}

.button {
	font-size: 1em;
	width: 8em;
	position: relative;
	border-style: none;
	background-color: #fff;
	border-radius: 0.25em;
	color: #2c805b;
	padding: 0.5em;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #ccc;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}
.button:hover {
	background-color: #f66;
	box-shadow: 0 3px 0 #a33f3f;
	color: #fff;
}
.button:active {
	top: 3px;
	box-shadow: none;
}

p.setsumei {
	font-size: 0.8em;
	line-height: 1.5em;
	margin: bottom;
	color: #666;
}


.loading {
	display:none;
	width:100vw;
	height:100vh;
	line-height:100vh;
	background:rgba(255,255,255,0.9);
	position:fixed;
	z-index:100;
	text-align:center;
	vertical-align:middle;

}
.loading img { vertical-align:middle; }

.calendarBox { padding:0 0 0 1em; }
.calBox {
	display: grid;
	grid-gap: 0;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	margin: 0.5em auto;
	border: #000 solid 1px;
	background: #f5f5f5;
}
.calBox li {
	list-style-type: none;
	line-height: 1em;
	padding: 1em 0.5em;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border-bottom: #ccc solid 1px;
}

.calBox li[ymd]{
	background:#fff;
	cursor:pointer;
}
.calBox li[ymd].bg { background: #e6f2ed; }

.calBox li[ymd]:hover{
	background:#f66;
	color: #fff;
}
.calBox li[ymd].select {
	background:#2c805b;
	color: #fff;
}
.calBox li.ttl {
	font-weight: bold;
	background: #2c805b;
	color: #fff;
}

.calBox li:nth-child(7n) { border-right: 0; }
.calBox li.ttl:nth-child(7n) { border-right: 0; }

.calBox li div.dateBox {
	display: block;
	font-size: 0.9em;
	margin: 0 0 0.25em;
}
.calBox li div.dateBox span {
	display: block;
	font-size: 0.6em;
	line-height: 1.25em;
}

ul.commentArea li {
	list-style-type: none;
	background:#2c805b;
	color: #fff;
	font-size: 0.85em;
	border-radius: 0.25em;
	padding: 0.5em 1em;
	margin-bottom: 0.25em;
}

.box3 {
	display: grid;
	grid-gap: 1em;
	grid-template-columns: 1fr 1fr 1fr;
	align-content: stretch;
}
.box3 input { width: 100px; }
.box3 span { text-align: right; }


.calBox .daycamponly { background: #ff0000; }
.calBox .kyuujitsu { background: #888; }


@media all and (min-width: 0px) and (max-width: 736px) {
	.sp { display: block; }
	.pc { display: none; }
	body { font-size: 4vw; }

	.box3 { grid-template-columns: 1.5fr 1fr; }
	.box3 input { width: 30%; }
}
