@charset "utf-8";

.reservation_page{}

/* sec ttl */ 
.reservation_page .sec_ttl{background-image: url(/src/images/reservation/rsrv_bg_01.jpg);}

.reservation_page .contents{
  padding: 55px 20px 0;
  box-sizing: border-box;
  }
.rsrv_ttl{
  margin-bottom: 65px;
  font-size: 34px;
  text-align: center;
  line-height: 1;
  }
.rsrv_ttl2{
  margin-bottom: 2rem;
  font-size: 24px;
  text-align: center;
  line-height: 1;
  }
  .rsrv_itr{
    max-width: 780px;
    margin: 0 auto 60px;
    }
    .rsrv_itr_ttl{
      padding-bottom: 10px;
      font-size: 26px;
      color: rgba(15,114,2,1);  
      text-align: center;
      line-height: 1;
      border-bottom: 1px solid rgba(15,114,2,1);
      }
    .rsrv_itr_txt{
      text-align: center;
      padding-top: 35px;
      }

/* reservation index */      
  .rsrv_flow{
    display: flex;
    width: 100%;
    max-width: 1025px;
    margin: 0 auto 100px;
    }
    .rsrv_flow_nikengoya{
      width: 30%;
      margin-right: 4.5%;
      } 
    .rsrv_flow_sawarajima{width: 65.5%;}
    .stay_lodge{
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 105px;
      margin-bottom: 50px;
      font-size: 23px;
      text-align: center;
      }
      .rsrv_flow_nikengoya .stay_lodge{
        color: rgba(255,255,255,1);
        background-color: rgba(12,66,126,1);
        }
      .rsrv_flow_sawarajima .stay_lodge{background-color: rgba(232,198,95,1);}
      .sl_rsrv_end{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        }
        .rsrv_flow_nikengoya .sl_rsrv_end{
          width: 100%;
          height: 566px;
          padding: 30px;
          background-color: rgba(213,214,216,1);
          box-sizing: border-box;
          }
        .sl_grp_greater .sl_rsrv_end{
          width: 100%;
          height: 411px;
          padding: 30px;
          background-color: rgba(239,232,212,1);
          box-sizing: border-box;
          }
         .sl_busy-sasn .sl_rsrv_end{
            height: 130px;
            background-color: rgba(239,232,212,1);
            }
          .sl_low-sasn .sl_rsrv_end{
            height: 130px;
            border: 3px solid rgba(245,221,148,1);
            box-sizing: border-box;
            }
      .stay_lodge_note{text-align: center;}  
        .sl_grp_nop .stay_lodge_note{font-size: 14px;}
      .ncsr_txt{
        width: 100%;
        font-size: 28px;
        font-weight: bold;
        color: rgba(255,1,1,1);
        text-align: center;
        }
        .rsrv_flow_nikengoya .ncsr_txt{
          width: 100%;
          margin-bottom: 15px;
          }
        .sl_low-sasn .ncsr_txt{
          font-size: 19px;
          font-weight: normal;
          color: rgba(21,21,21,1);
          }
      .sl_branch_nop{display: flex;}
        .sl_grp_greater{
          width: 44%;
          margin-right: 5%;
          }
        .sl_grp_less{width: 51%;}
        .sl_grp_nop{
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          width: 100%;
          height: 105px;
          margin-bottom: 50px;
          background-color: rgba(232,198,95,1);
          }
          .grp_nop_txt{font-size: 19px;}
      .sl_branch_prd{display: flex;}
        .sl_busy-sasn{
          width: 48%;
          margin-right: 4%;
          }
        .sl_low-sasn{width: 48%;}
        .sl_prd_sasn{
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 231px;
          margin-bottom: 50px;
          font-size: 19px;
          text-align: center;
          background-color: rgba(245,221,148,1);
          }
    .rf_arw{position: relative;}
      .rf_arw::before{
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 23px 13px 0 13px;
        border-color: rgba(232,198,95,1) transparent transparent transparent;
        position: absolute;
        top: -36px;
        left: 50%;
        transform: translateX(-50%);
        }
        .rsrv_flow_nikengoya .rf_arw::before{border-color:rgba(12,66,126,1) transparent transparent transparent;}

  .rsrv_about{
    width: 100%;
    max-width: 1025px;
    margin: 0 auto 85px;
    }
    .rsrv_about .rsrv_itr_txt{font-size: 21px;}
    .ra_lst_itm{
      margin-bottom: 0.5em;
      padding: 0 0 0.5em 35px;
      border-bottom: 1px solid rgba(147,145,145,1);
      position: relative;
      }
      .ra_lst_num{
        font-weight: bold;
        position: absolute;
        top: 0px;
        left: 0;
        }
      .ra_lst_emp{color: rgba(255,0,0,1);}
      .rsrv_download{
        color: rgba(255,0,0,1);
        text-decoration: underline;
        }
        .rsrv_download:hover{text-decoration: none;}
		.rsrv_about_lst > .ra_lst_itm > ul {
			list-style:disc;
			padding-left:2em;
		}
    .rsrv_about_lst > .ra_lst_itm > .rsrv_about_lst {
      list-style:none;
      padding-left:0;
    }
    .rsrv_about_lst > .ra_lst_itm > .rsrv_about_lst .ra_lst_itm {
      border-bottom: none;
    }
		.rsrv_about_lst > .ra_lst_itm > ol {
			list-style:decimal;
			padding-left:2em;
		}

  .rsrv_btn_area{padding-bottom: 150px;}
    .rsrv_btn_area .glbl_btn_blue-gd{
      width: 395px;
      height: 94px;
      font-size: 25px;
      }
      .rsrv_btn_area .glbl_btn_blue-gd::before{top: 37px;}

/* reservation stay */
.stay_about{
  width: 100%;
  max-width: 780px;
  margin: 0 auto 110px;
  }
  .stay_about_lst{
    margin-left: 20px;
    list-style: disc
    }
    .sa_lst_itm{margin-bottom: 10px;}
      .sa_lst_itm:last-of-type{margin-bottom: 0;}
.stay_agree{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 1025px;
  height: 115px;
  margin: 0 auto 85px;
  background-color: rgba(237,238,237,1);
  } 
  .sty_agr_inr{
    font-size: 18px;
    font-weight: bold;
    }
    .sty_agr_cb{
      margin-left: 10px;
      position: relative;
      top: -3px;
      }

/* reservation status */
.status_page .contents{padding: 105px 20px 120px;}
  .status_note{
    margin-bottom: 85px;
    text-align: center;
    }
    .status_calender{
      width: 100%;
      max-width: 1025px;
      margin: 0 auto;
      }
    .status_calender iframe{
      width: 100%;
      height: 650px;
      }

.contactArea {
	padding:4em 2em 1em;
}
.contactArea p {
	text-align:center;
}
@media screen and (max-width: 1100px) {

/* reservation index */
.stay_lodge{font-size: 20px;}
  .sl_grp_nop .stay_lodge_note{font-size: 12px;}
  .ncsr_txt{font-size: 22px;}
    .grp_nop_txt{font-size: 16px;}  
      .sl_prd_sasn{font-size: 16px;}
        .sl_low-sasn .ncsr_txt{font-size: 16px;}

} /* max-width: 1100px */

@media screen and (min-width: 1001px) {

/* reservation index */
.stay_lodge br{display: none;}

} /* min-width: 1001px */

@media screen and (max-width: 850px) {

/* reservation index */  
.rsrv_flow{flex-wrap: wrap;}
  .rsrv_flow_nikengoya{
    width: 100%;
    margin: 0 0 80px 0;
    } 
  .rsrv_flow_sawarajima{width: 100%;}
    .rsrv_flow_nikengoya .sl_rsrv_end{height: auto;}
      .sl_grp_greater .sl_rsrv_end{height: 270px;}
      .sl_prd_sasn{height: 120px;}
        .sl_busy-sasn .sl_rsrv_end{height: 100px;}
        .sl_low-sasn .sl_rsrv_end{height: 100px;}

.rsrv_about {margin: 0 auto 60px;}
  .rsrv_btn_area{padding-bottom: 100px;}
    .rsrv_btn_area .glbl_btn_blue-gd{
      width: 320px;
      height: 65px;
      font-size: 17px;
      }
      .rsrv_btn_area .glbl_btn_blue-gd::before{top: 24px;}     
      
/* reservation stay */
.stay_about{margin: 0 auto 60px;}
.stay_agree{
  height: 80px;
  margin: 0 auto 65px;
  } 
  .sty_agr_inr{font-size: 16px;}
    .sty_agr_cb{top: -2px;}      
    
} /* max-width: 850px */

@media screen and (max-width: 780px) {

  .rsrv_ttl{
    margin-bottom: 55px;
    padding-top: 45px;
    font-size: 26px;
    }
  .rsrv_ttl2 {
    margin-bottom: 1rem;
    font-size: 20px;
    }
  .rsrv_itr{margin: 0 auto 40px;}    
    .rsrv_itr_ttl{font-size: 22px;}
      .rsrv_itr_txt{padding-top: 20px;}    
      .rsrv_about .rsrv_itr_txt{font-size: 18px;}      

} /* max-width: 780px */

@media screen and (min-width: 601px) {

  .rsrv_ttl br{display: none;}

}

@media screen and (max-width: 600px) {

.rsrv_ttl{line-height: 1.4;}  
  
/* reservation index */
.stay_lodge{
  margin-bottom: 40px;
  font-size: 18px;
  }  
.sl_branch_nop{flex-wrap: wrap;}  
  .sl_grp_greater{
    width: 100%;
    margin: 0 0 80px 0;
    }
  .sl_grp_less{width: 100%;}
    .sl_grp_greater .sl_rsrv_end{height: auto;}
    .sl_grp_nop{margin-bottom: 40px;}
      .sl_grp_nop.rf_arw::before{display: none;}
  .ncsr_txt{font-size: 18px;}
    .rsrv_flow_nikengoya .ncsr_txt{margin-bottom: 10px;}
    .sl_prd_sasn{margin-bottom: 40px;}
      .rf_arw::before{
        border-width: 18px 9px 0 9px;
        top: -29px;
        }

/* reservation status */
.status_calender iframe{height: 450px;}        

} /* max-width: 600px */

/* 20230515用 */

.rsrv_tableBlock {
	max-width:100%;
	overflow:auto;
}
.rsrv_tableBlock table {
	width:100%;
	border-top:1px solid #999;
	border-left:1px solid #999;
}
.rsrv_tableBlock table th {
	background-color:#ddd;
	text-align:center;
	font-weight:normal;
	border-right:1px solid #999;
	border-bottom:1px solid #999;
	padding:0.25rem 0.5rem;
	vertical-align:middle;
}
.rsrv_tableBlock table td {
	border-right:1px solid #999;
	border-bottom:1px solid #999;
	padding:0.25rem 0.5rem;
	vertical-align:middle;
}
.rsrv_tableBlock table td.tcenter {
	text-align:center;
}

.rsrv_itr_dl {
	display:flex;
	margin:1rem 0;
}
.rsrv_itr_dl dt {
	width:4rem;
	white-space:nowrap;
}
.rsrv_itr_dl dd {
	width:calc(100% - 4rem);
}