@charset "UTF-8";

/*----------------------------------------
フォーム
----------------------------------------*/
.contact-width{
    max-width: 900px;
    margin: auto
}
#lp-form {
	/*padding:20px 0 10%;*/
   padding: 3% 0 6%;
}
.lp-form-title h3 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1em;
	margin-bottom: 10px;
	padding: 11px 10px 8px 22px;
	border: 1px solid #ccc;
	border-radius: 0 5px 5px 0;
	border-left: 7px solid #004ea2;
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top,  #ffffff 0%, #f1f1f1 50%, #e1e1e1 51%, #f6f6f6 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #ffffff 0%,#f1f1f1 50%,#e1e1e1 51%,#f6f6f6 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #ffffff 0%,#f1f1f1 50%,#e1e1e1 51%,#f6f6f6 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f6f6f6',GradientType=0 ); /* IE6-9 */
}
.lp-form-table {
	width:100%;
	margin-bottom:50px;
	border-radius: 5px;
	border-spacing: 10px;
}
     .lp-form-table tr:first-child th,.lp-form-table tr:first-child td {
         border-top: 1px solid #D3D3D3;
    }
.lp-form-table th,.lp-form-table td {
	padding:25px 15px;
	text-align: left;
}
.lp-form-table th {
	position:relative;
	width:40%;
	font-weight:bold;
	vertical-align: top;
	border-bottom:1px solid #D3D3D3;
}
.lp-form-table td {
	width:60%;
	border-bottom:1px solid #D3D3D3;
	position: relative;
    font-family: sans-serif;
}
.lp-form-table td.border-none {
	border-bottom:none;
}
.form-text {
	font-size:14px;
	line-height: 1.5em;
}
.color-red {
	color:red;
}
.under-line {
	text-decoration: underline;
}
.hissu {
	position:absolute;
	top:15px;
	right:-7px;
	font-size:13px;
	background:red;
	color:white;
	padding:2px 10px;
}
input[type="radio"] + label {
    padding-left:5px;
    padding-right:10px;
    line-height:2.2em;
    font-family: sans-serif;
}
input[type="date"] {
    font-size: 105%
}
textarea{font-size: 105%;width: 100%}
input[type="text"], input[type="date"], input[type="password"], input[type="email"], textarea,select{
	border:1px solid #D3D3D3;
	padding:10px;
    font-size: 105%
}
input[type="text"]:focus,input[type="date"]:focus, input[type="password"]:focus, input[type="email"]:focus, textarea:focus{
	border:1px solid #0682c5;
}
.address {
	display: block;
	margin-bottom:20px;
}
.link {
	text-decoration:underline;
	padding-left:10px;
}
.pravacy{
    background: #EEE;
    padding: 20px;
    line-height: 1.5rem;
    margin: 30px 0;
    height: 200px;
    overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	font-size:14px;
}
.pravacy a{
	color:blue;
	text-decoration:underline;
}
.submit {
	cursor: pointer;
	background-color: var(--acc-color);
	border-radius:7px;
	color: white;
border: solid 2px var(--acc-color);
	font-weight: bold;
	margin:5% auto 0;
	padding: 18px 15px;
	text-align: center;
width: 80%;
	max-width: 500px;
    transition: all .4s ease;
}
.submit:hover{
	background-color: white;
	color: var(--acc-color);
}
label[for="doui"] {
	font-size:14px;
}
label[for="doui"]::after {
	content:"必須";
	font-size:13px;
	background:red;
	color:white;
	padding:2px 10px;
	margin-left:5px;
}
.form_item{
    padding: 10px 10px 8px 15px;
    background-color: #004ea2;
    border-radius: 4px;
    font-size: 16px;
    line-height: 1;
    color: #fff;
}
input[type="text"]{
    font-size: 105%;
}
input[type="checkbox"]{
	/*transform: scale(1.4);*/
  
}
input[type="checkbox"] + label {
    padding-left:10px;
    padding-right:5px;
    line-height:2.2em;
    font-family: sans-serif;
}
.form textarea {
    width: 390px;
    height: 88px;
    border: 1px solid #969696;
    background: #f8f7f2;
    vertical-align: middle;
    margin: 10px 0 0;
}
.confirmbtn{
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
}
@media screen and (max-width:599px){
      input[type="checkbox"]{
          transform: scale(1.4);
    }

     #lp-form {
      width:100%;
      padding:35px 0 35px;
     }
     .lp-form-title h3 {
      font-size:16px;
      margin-bottom:20px;
      padding: 11px 10px 8px 10px;
      font-weight: normal;
     }
     .lp-form-table {
      margin-bottom:20px;
      border:none;
      border-radius: 0;
      border-spacing: 0;
     }

    .lp-form-table th,.lp-form-table td {
      padding:15px 10px;
      text-align: left;
      width:100%;
      display:block;
     }
    .lp-form-table th{
        padding-bottom: 0
    }
    .lp-form-table tr:first-child th,.lp-form-table th{
        border-bottom: none
    }
     .lp-form-table tr:first-child td,.lp-form-table td {
      border-top:none;
     }
     .form-text {
      font-size:12px;
     }
     .hissu {
      position:absolute;
      top:15px;
      right:10px;
      font-size:13px;
      background:red;
      color:white;
      padding:2px 10px;
     }
     input[type="radio"] + label {
      padding-left:5px;
      padding-right:10px;
      line-height:2.2em;
     }
     input[type="text"], input[type="password"], input[type="email"], input[type="date"], textarea,select{
      border:1px solid #CCCCCC;
      padding:8px;
      box-shadow: 5px 5px 5px -5px rgba(0,0,0,0.2) inset;
      border-radius: 5px;
      width:100%;
     }
     input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus,input[type="email"]:focus, textarea:focus{
      border:1px solid #0682c5;
     }
     input[name="yyyy"],input[name="mm"],input[name="dd"] {
      width:50% !important;
      margin-bottom:10px;
     }
    input[type="date"]{
         width:50% !important;
    }
     .lp-form-table select {
      width:100% !important;
     }
    .lp-form-table .birth-form select{
        width: 4em!important
    }
    .lp-form-table .birth-form select:first-child{
        width: 6em!important
    }
    
    .address{
        margin-bottom: 0
    }
}
.req{
    font-size: 90%;
    color: red;
}
input::placeholder,textarea::placeholder {color: #bbb}
/*---------------------------------
確認画面
--------------------------------*/
.submit.confirm{
    margin-top: 40px;
    display: flex;
        width: 80%;
    max-width: 500px;
    justify-content: center;
}
.back {
    cursor: pointer;
    background-color: #fff;
    border-radius:7px;
    color: var(--acc-color);
    font-weight: bold;
    margin:15px auto 0;
    display: flex;
    padding:18px 15px;
    text-align: center;
    width: 80%;
    max-width: 500px;
    justify-content: center;
    border: solid 2px var(--acc-color);
}
.back:hover{
    background-color: #F1F5F9;
}
.h4-confirm{
    padding: 0 10px;
    margin-bottom: 20px;
}
.head-confirm{
    padding-bottom: 10px;
}
.head-confirm .plpar3{
    padding-left: 0;
}
#lp-confirm{
    padding: 2% 0 7%
}
.button-group .confirmbtn,.button-group .backbtn{
    max-width: 100%;
}
.button-group .backbtn{
    background: #999;
    border: solid 2px #999;
}
.button-group .backbtn:hover{
    background: white
}
.button-group{
    display: flex;
    justify-content: center;
    gap:20px;
    margin-bottom: 60px;
}
.button-group .submit{
    margin-top: 2%;
}
.button-group .confirmbtn{
    margin-bottom: 0;
}

/*-----------------
予約フォーム
-------------------*/
.ttl-reserve-price{
    color: var(--acc-color)
}
.just-validate-error-label {
    color: red;
    font-size: 14px;
    display: block;
    margin-top: 5px;
}
#errors-visit_time_group{
    display: flex;
    flex-wrap: wrap;
}
#errors-visit_time_group .control-wrapper{
    margin-right: 1em
}
#errors-visit_time_group .just-validate-error-label {
  flex-basis: 100%;
}
