@charset "utf-8";

/*===============================================
	form
===============================================*/
#form {
	max-width: 960px;
	margin: 0 auto 80px;
}
#form .top-com {
 	 margin: 0 0 50px;
	text-align: center;
}
#form .top-com h2 {

	margin: 0 0 20px;
	font-size: 30px;
	font-weight: 700;
}
#form .top-com p {
	margin-bottom: 25px;
	line-height: 1.6;
	font-size: 18px;
}


#form h3 {
	position: relative;
	padding-bottom: 10px;
	font-size: 16px;
	font-weight: 700;
}

#form h4 {
	margin:0 0 15px;
	padding:1px 0 1px 10px;
	font-weight: bold;
	font-size:1.2em;
	border-left: 3px solid #000;
}
#form p.txt {
	margin:0 0 25px;
	line-height:160%;
}
#form .privacy {
	margin: 0 0 40px;
	padding:20px 20px 0;
	border: 1px solid #CCC;
}
@media screen and (max-width:900px){
#form {
	margin:0 5% 50px;
}
#form .top-com {
 	 margin: 0 0 30px;
}
#form .top-com h2 {

	position: relative;
	margin: 40px 0 40px;
	font-size: 30px;
	font-weight: 700;
}

#form .top-com p {
	line-height: 1.6;
	font-size: 14px;
	text-align: left;
}
#form p.txt {
	font-size: 0.9rem;
}
}

/* table */
#form table  {
	width:100%;
	margin-bottom:50px;
	border-top: 1px solid #CCC;
}
#form table th  {
	position: relative;
	width:260px;
	margin:0 0 5px;
	padding:10px 0;
	color:#333;
	border-bottom: 1px solid #CCC;
	text-align:center;
	font-weight: 700;
	background-clip: padding-box;
}
th.attention::after {
	position: absolute;
	top:50%;
	right: 20px;
    transform: translateY(-50%);
	padding:1px 5px;
	border-radius: 3px;
	font-size:0.75rem;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
	background-color:#e11720;
	color:#FFF;
	content:"必須";
	color:#FFF;
}
th.any::after {
	position: absolute;
	top:50%;
	right: 20px;
    transform: translateY(-50%);
	padding:1px 5px;
	border-radius: 3px;
	font-size:0.75rem;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
	background-color:#8B8B8B;
	color:#333;
	content:"任意";
	color:#FFF;
}


#form table td  {
	padding:10px 15px;
	line-height:160%;
	border-bottom: 1px solid #CCC;
}
#form table td input {
	margin:3px 5px 3px 0;
	padding:8px;
	border:1px solid #CCC;
	border-radius: 3px;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
}
#form .table td select {
  padding: 8px;
  font-size: 14px;
  border: 1px solid #CCC;
  background-color: #FFF;
  border-radius: 3px;
}
#form table td input:focus {
	border:2px solid #b5d1e5;
	
}
input[type=checkbox] {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}
input[type=radio] {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}	
#form table td textarea {
	width:100%;
	padding:8px;
	border:1px solid #CCC;
	border-radius: 3px;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
}
#form table td textarea:focus {
	border:2px solid #b5d1e5;

}
#form table td input.il  {
	width:400px;
}
#form ul.enq {
	margin:0 0 5px;
}
#form table td ul li,#form ul.enq li {
	display: inline-block;
	margin: 0 15px 0 0;
	padding:8px 0;
	font-size:1.1em;
}
#form table td ul li:last-child {
	border:none;
}
#form table td textarea  {
	height:80px;
	padding:2px;
}
	
@media screen and (max-width:640px){

#form table  {
	margin-bottom: 0;
	border: none;
}
#form table tr{
	display: block;
}
#form th,#form td{
	display:list-item;
	list-style:none;
	border: none;
}
#form table th  {
	width:auto;
	padding:5px 10px;
	text-align:left;
	line-height:180%;
	background-color:#e7e7e7;
	border: none;
}


th.attention:after {
	margin-left: 10px;
	position:static;
}
th.any::after {
	margin-left: 10px;
	position:static;
}
#form table td  {
	padding:5px 10px 20px;
	line-height:180%;
	border: none;
}
#form table td input {
	margin:3px 3px 3px 0;
	border:1px solid #CCC;
}

#form table td textarea  {
	width:98%;
	border:1px solid #CCC;

}
#form table td input.il  {
	width:97%;
}
}


/* submit */
#form .button {
	margin:30px 0 25px;
	padding:0;
	text-align:center;
}
#form .button form {
	display:inline;
}
#form .button input {
	padding:15px 20px !important;
	color:#FFF;
	font-size:18px;
	cursor:pointer;
	background-color:#0C558C;
/*	background: -moz-linear-gradient(top center, #9A8419 0%, #685712 100%);
	background: -webkit-gradient(linear, center top, center bottom, from(#9A8419), to(#685712));
	background: linear-gradient(top center, #9A8419 0%, #685712 100%);*/
	border:0;
	border-radius: 5px;
}
#form .button input.send{
	background-color: #8d1226;
}

div.errorComment {
	border: 1px solid #ce0000;
    color: #ce0000;
    margin: 0 0 15px;
    padding: 15px 20px;
}
div.errorComment ul {
	margin-left:15px;
}
div.errorComment li {
	list-style-type:disc;
}
div.errorComment .error_messe {
	margin: 0 0 5px !important;
}





    /* 日曜日のカラー設定 */
    td.ui-datepicker-week-end:first-child a.ui-state-default{
      background-color: #ffecec;   /* 背景色を設定 */
      color: #f00!important;       /* 文字色を設定 */
    }
    /* 土曜日のカラー設定 */
    td.ui-datepicker-week-end:last-child a.ui-state-default{
      background-color: #eaeaff;   /* 背景色を設定 */
      color: #00f!important;       /* 文字色を設定 */
    }
    /* ホバー時の動作 */
    td.ui-datepicker-week-end a.ui-state-hover{
      opacity: 0.8;
    }
    /* 当日を示す色はそのまま */
    td.ui-datepicker-week-end a.ui-state-highlight{
      background-color: #fffa90!important;
    }


div.errorComment {
	border: 1px solid #ce0000;
    color: #ce0000;
    margin: 0 0 15px;
    padding: 15px 20px;
}
div.errorComment p {
	margin-bottom: 15px;
}
div.errorComment ul {
	margin-left:15px;
}
div.errorComment li {
	list-style-type:disc;
}

