/*=================================
メインビジュアル画像
=================================*/
#contact {
background: url("../img/page_main_airport.jpg") no-repeat center center;
background-size: cover;
}

#reservation {
background: url("../img/page_main_reservation.jpg") no-repeat center center;
background-size: cover;
}

/*=================================
ページコンテンツ
=================================*/
/* はじめに */
#contact_intro {
margin-bottom: 1.1rem;
}

#contact_intro p {
font-size: 0.16rem;
line-height: 1.8;
}

#contact_intro .list_caption {
font-size: 0.16rem;
line-height: 1.7;
padding-top: 0.1rem;
}

#contact_intro .list_caption li {
text-indent: -0.16rem;
padding-left: 0.16rem;
padding-top: 0.1rem;
}

#contact_intro .list_caption li a {
color: #DF1615;
font-weight: 600;
}

#contact_intro .list_caption li a[target="_blank"]::after {
  content: "";
  width: 0.16rem;
  height: 0.11rem;
  background-image: url(../img/icon_newwin_red.svg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  position: relative;
  margin-right: 0.02rem;
}

#contact_intro .list_caption li a i {
padding-left: 0.2rem;
}

/*=================================
フォーム
=================================*/
#form_wrapper {
margin-bottom: 0.6rem;
}

#form_wrapper p {
font-size: 0.16rem;
line-height: 1.8;
padding-bottom: 0.2rem;
}

/* 注意事項 */
.form_mobile_caption {
background: #F1F1F1;
padding: 0.2rem;
margin-bottom: 0.2rem;
}

.form_mobile_caption h4 {
font-size: 0.2rem;
font-weight: 700;
}

@media(max-width: 767px){
.form_mobile_caption h4 {
font-size: 0.16rem;
line-height: 1.6;
}
}

.form_mobile_caption dl {
font-size: 0.16rem;
line-height: 1.7;
padding-top: 0.1rem;
padding-bottom: 0.1rem;
font-weight: 700;
display: flex;
justify-content: flex-start;
}

@media(max-width: 767px){
.form_mobile_caption dl {
display: block;
}
}

.form_mobile_caption dt {
background: #DF1615;
padding: 0.02rem;
width: 80px;
text-align: center;
font-size: 0.12rem;
color: #FFF;
border-radius: 3px;
}

@media(max-width: 767px){
.form_mobile_caption dt {
background: #DF1615;
width: 100px;
}
}

.form_mobile_caption dd {
padding-left: 0.1rem;
}

@media(max-width: 767px){
.form_mobile_caption dd {
padding-left: 0;
font-size: 0.16rem;
}
}

.form_mobile_caption p {
font-size: 0.14rem;
line-height: 1.7;
}

.form_mobile_caption h5 {
font-size: 0.16rem;
font-weight: 700;
padding-bottom: 0.1rem;
}

@media(max-width: 767px){
.form_mobile_caption h5 {
line-height: 1.5;
}
}

.form_mobile_caption ul {
line-height: 1.7;
font-size: 0.14rem;
}

.form_mobile_caption ul a {
color: #222;
}

.form_mobile_caption ul a i {
padding-right: 5px;
}


/* テーブル用 */
#form_wrapper form {
padding-top: 20px;
font-size: 0.16rem;
line-height: 1.7;
}

#policyDouiBox {
background: rgba(140,89,57,0.1);
padding: 0.1rem;
border-radius: 3px;
margin-bottom: 0.2rem;
font-size: 0.16rem;
position: relative;
}

#policyDouiBox a {
font-weight: 700;
color: #DF1615;
}

#form_wrapper form span.required {
background: #DF1615;
display: inline-block;
font-size: 0.12rem;
color: #FFF;
font-weight: 700;
padding: 1px;
padding-left: 5px;
padding-right: 5px;
border-radius: 3px;
position: absolute;
top:0.13rem;
right: 0;
}

@media(max-width: 767px){
#form_wrapper form span.required {
right: 10px;
}
}

#form_wrapper form #policyDouiBox span.required {
right: 0.1rem;
}

#form_wrapper form table {
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}

#form_wrapper form tr:nth-child(even) {
background: #F1F1F1;
}

@media(max-width: 767px){
#form_wrapper form tr:nth-child(even) {
background: none;
}
}

#form_wrapper form th {
text-align: left;
font-weight: 600;
padding: 10px;
width: 25%;
box-sizing: border-box;
border-bottom: 1px solid #CCC;
vertical-align: top;
font-size: 0.16rem;
position: relative;
min-width: 270px;
}

@media(max-width: 767px){
#form_wrapper form th {
width: 100%;
box-sizing: border-box;
display: block;
background: #F1F1F1;
}
}

#form_wrapper form td {
box-sizing: border-box;
padding: 10px;
border-bottom: 1px solid #CCC;
font-size: 0.16rem;
}

@media(max-width: 767px){
#form_wrapper form td {
width: 100%;
box-sizing: border-box;
display: block;
}
}

#form_wrapper form td span {
font-size: 0.13rem;
display: block;
}

#form_wrapper form .even {
background: #F1F1F1;
}

#form_wrapper .ERR {
color: #E30003;
font-weight: 700;
}

#form_wrapper form td input[type="text"] {
border: 1px solid #CCC;
border-radius: 3px;
padding: 3px;
font-size: 0.14rem;
box-sizing: border-box;
}

#form_wrapper form td input.w100 {
width: 100%;
border: 1px solid #CCC;
border-radius: 3px;
padding: 3px;
font-size: 0.14rem;
box-sizing: border-box;
}

#form_wrapper form td input.w80 {
width: 80%;
border: 1px solid #CCC;
border-radius: 3px;
padding: 3px;
font-size: 0.14rem;
box-sizing: border-box;
}

#form_wrapper form td input.w30 {
width: 10%;
border: 1px solid #CCC;
border-radius: 3px;
padding: 3px;
font-size: 0.14rem;
box-sizing: border-box;
min-width: 30px;
}

#form_wrapper form td input.w40 {
width: 15%;
border: 1px solid #CCC;
border-radius: 3px;
padding: 3px;
font-size: 0.14rem;
box-sizing: border-box;
min-width: 40px;
}

#form_wrapper form td input.timepicker {
width: 20%;
border: 1px solid #CCC;
border-radius: 3px;
padding: 3px;
font-size: 0.14rem;
box-sizing: border-box;
min-width: 40px;
}

.ui-timepicker-viewport {
width: 1rem !important;
overflow-x: hidden;
}

.ui-menu-item {
font-size: 0.14rem;
}

.ui-timepicker-standard a {
transition: none;
}

.reserve_date {
width: 160px;
}

#form_wrapper form td select {
font-size: 0.14rem;
}

#form_wrapper form td textarea {
width: 100%;
height: 200px;
border: 1px solid #CCC;
border-radius: 3px;
padding: 3px;
font-size: 0.14rem;
box-sizing: border-box;
}

#form_wrapper form td dl:first-child {
overflow: hidden;
padding-bottom: 0.1rem;
}

#form_wrapper form td dt {
display: inline-block;
font-weight: 700;
padding-right: 0.1rem;
}

#form_wrapper form td dd {
display: inline-block;
}

#form_wrapper form td dd label {
position: relative;
}

#form_wrapper form td dd label i {
position: absolute;
left: 5px;
top:50%;
transform: translateY(-50%);
z-index: 1;
}

#form_wrapper form td dd em {
display: inline-block;
padding-left: 0.1rem;
padding-right: 0.04rem;
}

@media(max-width: 767px){
#form_wrapper form td dd em {
display: inline-block;
padding-left: 0;
padding-right: 0.04rem;
}
}

#SubmitBtn {
text-align: center;
padding-top: 20px;
}

#SubmitBtn p {
font-size: 1em;
padding-bottom: 10px;
}

#SubmitBtn input.reset {
border: 0;
padding: 15px;
font-size: 1em;
color: #FFF;
background: #999;
border-radius: 4px;
box-shadow: 0 2px 0 rgba(0,0,0,0.2);
margin-left: 5px;
margin-right: 5px;
cursor: pointer;
transition: all 0.3s ease;
-webkit-appearance: button;
}

#SubmitBtn input.submit {
border: 0;
padding: 15px;
font-size: 1em;
color: #FFF;
background: rgba(241,90,36,1);
border-radius: 4px;
box-shadow: 0 2px 0 rgba(241,90,36,0.3);
margin-left: 5px;
margin-right: 5px;
cursor: pointer;
transition: all 0.3s ease;
-webkit-appearance: button;
}

#SubmitBtn input.submit.disabled {
cursor: not-allowed;
background: rgba(0,0,0,0.5);
box-shadow: 0 2px 0 rgba(0,0,0,0.1);
color: #CCC;
}

#SubmitBtn input:hover {
opacity: 0.7;
}

.archiveBtn {
clear: both;
padding: 10px;
text-align: center;
}

.archiveBtn a {
padding: 15px;
padding-left: 25px;
padding-right: 25px;
box-shadow: 0 2px 0 rgba(0,0,0,0.2);
display: inline-block;
font-size: 0.14rem;
color: #FFF;
text-decoration: none;
border-radius: 4px;
background: #222;
}

.archiveBtn a i {
padding-left: 5px;
padding-right: 5px;
opacity: 0.5;
}

.archiveBtn a:hover {
background: #666;
}

/* 電話・FAXでのお問い合わせ */
#tel_wrapper {
padding-bottom: 0.4rem;
}

#tel_wrapper h4 {
font-size: 0.2rem;
line-height: 1.7;
font-weight: 700;
}

#tel_wrapper p {
font-size: 0.16rem;
line-height: 1.7;
}

#tel_wrapper address {
font-size: 0.24rem;
line-height: 1.7;
font-weight: 300;
}

@media(max-width: 767px){
#tel_wrapper address {
font-size: 0.18rem;
line-height: 1.7;
font-weight: 400;
}
}

/*=================================
施設予約
=================================*/
/*施設リスト */
.fac_list_wrapper {
padding-top: 0.3rem;
}

.fac_list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 0.3rem;
}

@media(max-width: 767px){
.fac_list {
display:block;
padding-top: 0.3rem;
}
}

.fac_list_photo {
width: 30%;
}

.fac_list_photo img {
width: 100%;
}

.fac_list_text {
width: 68%;
}

@media(max-width: 767px){
.fac_list_photo {
width: 100%;
}
.fac_list_text {
width: 100%;
}
}

.fac_list_text h5 {
font-size: 0.2rem;
font-weight: 700;
padding-bottom: 0.1rem;
}

@media(max-width: 767px){
.fac_list_text h5 {
font-size: 0.16rem;
line-height: 1.5;
}
}

.fac_list_text table {
font-size: 0.14rem;
line-height: 1.5;
border-top: 1px solid #CCC;
}

.fac_list_text th {
text-align: left;
padding-top: 0.06rem;
padding-bottom: 0.06rem;
border-bottom: 1px solid #CCC;
font-weight: 600;
width: 240px;
vertical-align: top;
}

@media(max-width: 767px){
.fac_list_text th {
width: 35%;
}
}

.fac_list_text th span,
.fac_list_text td span {
font-size: 0.12rem;
font-weight: 400;
}

.fac_list_text td {
text-align: left;
padding-top: 0.06rem;
padding-bottom: 0.06rem;
border-bottom: 1px solid #CCC;
}

.fac_list_caption {
padding-top: 0.2rem;
}

.fac_list_caption ul {
font-size: 0.13rem;
line-height: 1.8;
}