/*--------------------------------
common
--------------------------------*/
* {margin: 0;padding: 0;}
*:focus {outline: none!important;}
body {
	position: relative;
	font-family: "メイリオ", "Meiryo", "Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",sans-serif;
	font-size:16px;
	color:#464646;
	max-width:640px;
	margin:0 auto;
}
h1, h2, h3, p {margin: 0;}
h2{
	position:relative;
	letter-spacing: 3px;
	font-style:italic;
	border-top:1px solid #666;
	border-bottom:1px solid #666;
	margin-top:1.5rem;
	margin-bottom:1.5rem;
	text-align:center;
	font-size: 1.3rem !important;
}
img {width: 100%;max-width: 100%;}

/*--------------------------------
body
--------------------------------*/

/* ERROR */
.error-text{
	display: inline-block;
	font-size: .75rem;
	color: #f00;
#	background: #e28b9c;
	background: #ffffff;
	padding: 2px 5px;
	border-radius: 5px;
	margin:0 5px;
}

input[type=text]
,input[type=tel]
,input[type=email]{
	-webkit-appearance: none;
	appearance: none;
	padding:10px;
	width:calc(100% - 22px);
	border-radius:5px;
	border:1px solid #aaa;
	background-color:#f8f8f8;
	font-size:16px;
}

textarea{
	-webkit-appearance: none;
	appearance: none;
	padding:10px;
	width:calc(100% - 22px);
	border-radius:5px;
	border:1px solid #aaa;
	background-color:#f8f8f8;
	font-size:16px;
}

select{
	-webkit-appearance: none;
	appearance: none;
	height:42px;
	padding:10px;
	width:calc(50% - 22px);
	border-radius:5px;
	border:1px solid #aaa;
	background-color:#f8f8f8;
}

::placeholder{
	font-size: 12px;
	color: #ccc;
}

/* CONTACT */
.header{
	width:100%;
}
.header p{
	width:100%;
	text-align:center;
}

.header p img{
	width:80%;
}

.progress{
	display: flex;
	margin: 20px auto;
	width: 100%;
	position:relative;
	height: 50px;
}

.progress div{
	width:calc(100% / 3);
	text-align: center;
	background-color: #d4d4d4;
	color: #666;
	padding: 15px 0;
	border-left: 1px solid #d4d4d4;
	border-right: 1px solid #d4d4d4;
}

.progress div.confirm{
	padding-left: 15px;
}
.progress div.complete{
	padding-left: 15px;
}
.progress div p{
	position:relative;
}

.progress div.input p:after
,.progress div.confirm p:after{
	content: "";
	position: absolute;
	top: calc(50% - 2.0px);
	left: calc(100% - 1.3px);
	margin-top: -25px;
	border: 25px solid transparent;
	border-left: 25px solid #d4d4d4;
}

.progress div.input p:before
,.progress div.confirm p:before{
	content: "";
	position: absolute;
	top: calc(50% - 2.0px);
	left: calc(100% + 1.8px);
	margin-top: -25px;
	border: 25px solid transparent;
	border-left: 25px solid #f8f8f8;
}

.progress div.selected{
	background-color: #181818;
	color:#fff;
	border-right: 1px solid #000;
}
.progress div.selected p:after{
	border-left: 25px solid #181818;
}

main{
	margin:15px;
}

.pmark-title{
	margin-top:20px;
	margin-bottom:5px;
	text-align:center;
	background-color:#dfdfdf;
	font-weight:bold;
	padding:10px;
}

.pmark{
	border:1px solid #ccc;
	padding:1.0rem;
	margin-bottom:20px;
}

.pmark ul{
	list-style: none;
}

.pmark.prohibit ul{
	margin-left:14px;
}

.pmark.prohibit ul > li {
	text-indent: -5px;
}
.pmark.prohibit ul > li:before {
	content: "・ ";
	margin-left:-14px;
}

.pmark.prohibit ul > li.style-none {
	text-indent: 0px;
	margin-top:10px;
	margin-left:-14px;
}

.pmark.prohibit ul > li.style-none:before {
	content: "";
	margin-left:0px;
}

.btns {position:relative;width:100%;max-width:400px;margin:auto;}
.btns::before,
.btn-contact::before{
	position:absolute;
	content:"";
	right:15px;
	top:50%;
	transform:rotate(-45deg) translate(0,-50%);
	width:10px;
	height:10px;
	border-bottom:2px solid #FFF;
	border-right:2px solid #FFF;
	z-index:5;
}
.btns input,
.btn-contact{
	background:#181818;
	width:100%;
	border:none;
	color:#FFF;
	opacity:1;
	transition:.5s;
	padding:1.5rem;
	position:relative;
	text-decoration:none;
	border-radius:5px;
	font-size: 16px;
}

a.return{
	text-decoration:none;
}

a.return p{
	background:#f8f8f8;
	color:#181818;
	opacity:1;
	transition:.5s;
	padding:1.5rem;
	position:relative;
	border-radius:5px;
	border: 1px solid #181818;
	margin-top: 20px;
	text-align: center;
	text-decoration:none;
}
a.return p::before{
	position:absolute;
	content:"";
	left:15px;
	transform:rotate(-225deg) translate(0,-50%);
	width:10px;
	height:10px;
	border-bottom:2px solid #484848;
	border-right:2px solid #484848;
	z-index:5;
}

.btn-contact:hover{opacity:0.7;color:#FFF;}
.formTable {width:100%;}

.form_col{
	margin-bottom:20px;
}

.title{
	margin-bottom:5px;
}

.title span{
	border:1px solid #ff9999;
	color:#ff9999;
	font-size:0.7rem;
	padding:1px 5px;
	display:block;
	float:right;
}

.body{
	width:100%;
}

.body .text{
	margin-top:5px;
	font-size:0.7rem;
}

.body input[type=checkbox]{
	vertical-align: middle;
}

.sel_day{
	position:relative;
	margin-top:0px;
}

.sel_day input[type=text]{
	width:calc(50% - 22px);
}

.sel_day::after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4.5px solid #181818;
  content: "";
  position: absolute;
  right: 25px;
  top: 18px;
  width: 0;
}

.clear_btn{
	position:absolute;
	left:calc(50% - 22px);
	top:6px;
}

.clear_btn a{
	text-decoration:none;
	color:#181818;
}

.plan_title{
	margin-bottom: 5px;
}

.plan_list
,.day_list{
	border:1px solid #aaa;
	background-color:#fcfcfc;
	padding:10px;
	margin-bottom:20px;
	border-radius:5px;
}

.day_list .title{
	margin-top:10px;
	font-size:14px;
}

.plan_list .form_col:last-of-type{
	margin-bottom:0;
}

/* confirm */
.conf .title{
	font-weight:bold;
	border-bottom:1px solid #666;
}

.conf .body{
	word-break: break-all;
}


/* complete */
.thanks{
	margin:40px auto;
	text-align:center;
	
}

/* calendar */
.ui-datepicker-calendar .day-sunday > a,
.ui-datepicker-calendar .day-holiday > a {
	background: #ffc0c0;
}
.ui-datepicker-calendar .day-saturday > a {
	background: #c0d0ff;
}

.policy{
}

footer{
	width:100%;
	margin-top:20px;
	background-color:#181818;
	color:#f8f8f8;
	padding:20px 0 40px;
}

footer .container p{
	width:100%;
	text-align:center;
}

/*- max-width ----------*/
@media (max-width: 1399px) {
}
@media (max-width: 1199px) {
}
@media (max-width: 991px) {
}
@media (max-width: 767px) {
}
@media (max-width: 575px) {
}

