/* ---------------- S:Form Common ---------------- */
.form .block {
  margin-bottom:80px;
}

.form .block:last-child {
  margin-bottom:0px;
}

.form .title {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.form .title span {
  font-size:1.8rem;
  font-weight:400;
  color:#202020;
}

.form .title span i {
  font-style: normal;
  font-weight:700;
  color:#ff3a3a;
}

.form .form-table {
  display: table;
  table-layout: fixed;
  width:100%;
  border-collapse: collapse;
  border-top:2px solid #000;
  border-bottom:1px solid #f0f0f0;
}

.form .form-table .row {
  display: table-row;
  border-bottom:1px solid #f0f0f0;
}

.form .form-table .row:last-child {
  border-bottom:0px;
}

.form .form-table .th,
.form .form-table .td {
  display: table-cell;
  vertical-align: middle;
}

.form .form-table .th {
  width:240px;
  font-size:2rem;
  font-weight:500;
  padding:22px 40px;
  border-right:1px solid #f0f0f0;
}

.form .form-table .th span {
  font-weight:700;
  color:#ff3a3a;
}

.form .form-table .td {
  height:70px;
  padding:10px 20px;
}

.form .form-table input {
  width:100%;
  height:48px;
  padding:0px 20px;
  border-radius:0px;
}

.form .form-table select {
  width:100%;
  height:48px;
  padding:0px 20px;
  border-radius:0px;
}


.form .form-table input.read-active {
  pointer-events: none;
  background-color: #f1f1f1;
}

.form .form-table textarea {
  display: block;
  resize:none;
  width:100%;
  height:160px;
  padding:20px;
  border-radius:0px;
}

.form .form-table .file {
  width: 100%;
  height: 48px;
  padding: 0px 5px 0px 20px;
  border: 1px solid #ccc;
}

.form .form-table .file .box {
  width:100%;
  height:100%;
}

.form .form-table .file label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  width:100%;
  height:100%;
}

.form .form-table .file .file-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 10;
  cursor: pointer;
  border: 0px;
  padding: 0px;
}

.form .form-table .file span {
  display:inline-block;
  vertical-align: middle;
}

.form .form-table .file span.file-label {
  width:calc(100% - 160px);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size:1.8rem;
  color:#8a8a8a;
}

.form .form-table .file span.file-label::before {
  content:"";
  display:inline-block;
  vertical-align:middle;
  width:22px;
  height:20px;
  background:url('/en/img/icon/file_icon.svg') no-repeat center;
  margin-right:12px;
}

.form .form-table .file span.file-btn {
  width:160px;
  height:38px;
  line-height:38px;
  text-align: center;
  font-size: 1.6rem;
  color:#fff;
  background-color: #2f2f2f;
}

.form .form-table .agreement-textarea {
  width:100%;
  height:240px;
  border:1px solid #ccc;
  overflow-y: auto;
  margin-bottom:10px;
}

.form .form-table .agreement-textarea div {
  padding:20px;
}

.form .form-table .agreement-textarea p {
  font-size:1.6rem;
  line-height:1.6;
}

.form .form-table .agreement label {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  font-size:0px;
}

.form .form-table .agreement input {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility: hidden;
}

.form .form-table .agreement i {
  display: inline-block;
  vertical-align: middle;
  width:20px;
  height:20px;
  background-size: auto 20px;
  background-repeat: no-repeat;
  background-image: url('/en/img/form/check.png');
  margin-right:10px;
}

.form .form-table .agreement span {
  font-size:1.8rem;
}

.form .form-table .agreement input[type="checkbox"]:checked ~ i {
  background-image: url('/en/img/form/check_on.png');
}

.form .form-caution {
  font-size:0px;
  margin-top:20px;
}

.form .form-caution span {
  display: flex;
  align-items: center;
  font-size:2rem;
  line-height:1.5;
}

.form .form-caution i {
  font-style: normal;
  display: block;
  font-weight:600;
  color:#ff3a3a;
}

.form .form-caution i.pin {
  margin-right:6px;
}

.form .form-buttons {
  display: flex;
  justify-content: center;
  margin-top:60px;
}

.form .form-buttons .button {
  max-width:240px;
  width:100%;
  height:64px;
  font-size:2rem;
  font-weight:500;
  color:#fff;
  background-color: #c4b69d;
  border-radius:0px;
}

.form .group-box {
  display: none;
}

.form .group-box.on {
  display: block;
}

.form .payment-guide {
  padding:10px 20px;
  border-bottom: 1px solid #f0f0f0;
}

.form .payment-guide p {
  font-size:1.8rem;
  line-height:1.6;
}

@media (min-width:1201px) {
  .form .form-buttons .button:hover {
    background-color: #c0a258;
  }
}
@media (max-width:1200px) {
  .form .title span {
    font-size:1.6rem;
  }

  .form .form-caution span {
    font-size:1.8rem;
  }

  .form .form-table .th {
    font-size:1.8rem;
  }

  .form .form-table .file span.file-label {
    font-size:1.6rem;
  }

  .form .form-table .file span.file-btn {
    font-size:1.4rem;
  }

  .form .form-table .agreement-textarea {
    height:200px;
  }

  .form .form-table .agreement-textarea p {
    font-size:1.4rem;
  }

  .form .form-table .agreement span {
    font-size:1.6rem;
  }

  .form .form-buttons .button {
    max-width:200px;
    height:52px;
    font-size:1.8rem;
  }

  .form .payment-guide p {
    font-size:1.6rem  
  }
}
@media (max-width:1024px) {
  .form .form-caution {
    margin-top:16px;
  }

  .form .form-table .th {
    width:200px;
    padding:18px 30px;
  }

  .form .form-table .td {
    height:60px;
    padding:8px 16px;
  }

  .form .form-table input {
    height:38px;
    padding:0px 16px;
  }

  .form .form-table textarea {
    height:120px;
    padding:16px;
  }

  .form .form-table .file {
    height:38px;
    padding:0px 5px 0px 16px;
  }

  .form .form-table .file span.file-label {
    width:calc(100% - 100px);
  }

  .form .form-table .file span.file-btn {
    width:100px;
    height:30px;
    line-height:30px;
  }

  .form .form-table .agreement-textarea div {
    padding:16px;
  }

  .form .form-buttons {
    margin-top:40px;
  }

  .form .payment-guide {
    padding:8px 16px;
  }
}
@media (max-width:768px) {
  .form .title span {
    font-size:1.4rem;
  }

  .form .form-caution {
    margin-top:12px;
  }

  .form .form-caution span {
    font-size:1.6rem;
  }

  .form .form-table {
    display: block;
  }

  .form .form-table .row {
    display: flex;
    flex-wrap: wrap;
  }

  .form .form-table .th {
    width:100%;
    padding:12px;
    font-size:1.6rem;
    background-color: #f2f2f2;
    border:0px;
    text-align: center;
  }

  .form .form-table .td {
    width:100%;
    height:auto;
    padding:12px;
  }

  .form .form-table input {
    height:30px;
    padding:0px 12px;
  }

  .form .form-table textarea {
    height:100px;
    padding:12px;
  }

  .form .form-table .file {
    height:30px;
    padding:0px 5px 0px 12px;
  }

  .form .form-table .file span.file-label {
    width:calc(100% - 80px);
    font-size:1.4rem;
  }

  .form .form-table .file span.file-label::before {
    width:16px;
    height:14px;
    background-size:auto 14px;
    margin-right:6px;
  }

  .form .form-table .file span.file-btn {
    width:80px;
    height:24px;
    line-height:24px;
    font-size:1.3rem;
  }

  .form .form-table .agreement-textarea {
    height:160px;
    margin-bottom:6px;
  }

  .form .form-table .agreement-textarea div {
    padding:12px;
  }

  .form .form-table .agreement-textarea p {
    font-size:1.3rem;
  }

  .form .form-table .agreement i {
    width:16px;
    height:16px;
    background-size: auto 16px;
    margin-right:6px;
  }

  .form .form-table .agreement span {
    font-size:1.4rem;
  }

  .form .form-buttons {
    margin-top:30px;
  }

  .form .form-buttons .button {
    max-width:160px;
    height:44px;
    font-size:1.6rem;
  }

  .form .payment-guide {
    padding:12px;
  }

  .form .payment-guide p {
    font-size:1.4rem;
  }
}
@media (max-width:500px) {
  .form .title span {
    font-size:1.3rem;
  }

  .form .form-caution {
    margin-top:8px;
  }

  .form .form-caution span {
    font-size:1.4rem;
  }

  .form .form-table .th {
    font-size:1.4rem;
    padding:8px;
  }

  .form .form-table .td {
    padding:8px 0px;
  }

  .form .form-table .file span.file-label {
    font-size:1.3rem;
  }

  .form .form-table .file span.file-label::before {
    width:14px;
    height:12px;
    background-size:auto 12px;
    margin-right:4px;
  }

  .form .form-table .file span.file-btn {
    font-size:1.2rem;
  }

  .form .form-table .agreement i {
    width:12px;
    height:12px;
    background-size: auto 12px;
  }

  .form .form-table .agreement span {
    font-size:1.3rem;
  }

  .form .form-buttons {
    margin-top:20px;
  }

  .form .form-buttons .button {
    max-width:120px;
    height:36px;
    font-size:1.4rem;
  }

  .form .payment-guide {
    padding:8px 0px;
  }

  .form .payment-guide p {
    font-size:1.3rem;
  }
}
/* ---------------- E:Form Common ---------------- */

/* ---------------- S:Form Donate ---------------- */
.form--donate .amount ul {
  display: flex;
  flex-wrap: wrap;
  margin:-5px;
}

.form--donate .amount li {
  flex:1 1 33.33%;
  max-width:33.33%;
  padding:5px;
}

.form--donate .amount .button {
  width:100%;
  height:48px;
  border:1px solid #c6c6c6;
  border-radius:0px;
  font-size:1.8rem;
  color:#ababab;
}

.form--donate .amount li.active .button {
  color:#fff;
  background-color: #c4b69d;
  border-color: #c4b69d;
}


.form--donate .amount input {
  width:100%;
  height:48px;
  border-radius:0px;
  margin-top:10px;
}

.form--donate .address {
  width:100%;
}

.form--donate .address input:last-child {
  margin-bottom:0px;
}

.form--donate .sponsor-inputs {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width:830px;
  width:100%;
}

.form--donate .sponsor-inputs .box {
  width:46%;
}

.form--donate .sponsor-inputs span {
  display: block;
  padding:0px 30px;
}

.form--donate .sponsor-agreement {
  width:100%;
}

.form--donate .sponsor-agreement label {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  font-size:0px;
  margin:20px 0px;
}

.form--donate .sponsor-agreement input {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility: hidden;
}

.form--donate .sponsor-agreement i {
  display: inline-block;
  vertical-align: middle;
  width:20px;
  height:20px;
  background-size: auto 20px;
  background-repeat: no-repeat;
  background-image: url('/en/img/form/check.png');
  margin-right:10px;
}

.form--donate .sponsor-agreement span {
  font-size:1.8rem;
}

.form--donate .sponsor-agreement input[type="checkbox"]:checked ~ i {
  background-image: url('/en/img/form/check_on.png');
}

.form--donate .sponsor-agreement .box {
  padding:40px;
  background-color: #f6f6f6;
}

.form--donate .sponsor-agreement p {
  font-size:2rem;
  font-weight:600;
  color:#1e1e1e;
  margin-bottom:20px;
}

.form--donate .sponsor-agreement p span {
  display: inline-block;
  vertical-align: middle;
  font-size:1.8rem;
  font-weight:400;
  color:#878787;
  margin-left:40px;
}

.form--donate .payment ul {
  display: flex;
  margin:-5px;
}

.form--donate .payment li {
  flex:1 1 33.33%;
  max-width:33.33%;
  padding:5px;
}

.form--donate .payment .button {
  width:100%;
  height:48px;
  border:1px solid #c6c6c6;
  border-radius:0px;
  font-size:1.8rem;
  color:#ababab;
}

.form--donate .payment li.active .button {
  color:#fff;
  background-color: #c4b69d;
  border-color: #c4b69d;
}

.form--donate .agreement label {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  font-size:0px;
}

.form--donate .agreement input {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility: hidden;
}

.form--donate .agreement i {
  display: inline-block;
  vertical-align: middle;
  width:20px;
  height:20px;
  background-size: auto 20px;
  background-repeat: no-repeat;
  background-image: url('/en/img/form/check.png');
  margin-right:10px;
}

.form--donate .agreement span {
  font-size:1.8rem;
}

.form--donate .agreement input[type="checkbox"]:checked ~ i {
  background-image: url('/en/img/form/check_on.png');
}

.form--donate .agreement ul {
  margin-bottom:10px;
  padding:40px;
  background-color: #f6f6f6;
}

.form--donate .agreement li {
  margin-bottom:20px;
}

.form--donate .agreement li:last-child {
  margin-bottom:0px;
}

.form--donate .agreement .box {
  position: relative;
}

.form--donate .agreement .button {
  position: absolute;
  top:50%;
  right: 0;
  transform: translateY(-50%);
  max-width:56px;
  width:100%;
  height:30px;
  background-color: #fff;
  border:1px solid #dfdfdf;
  border-radius:0px;
  font-size: 1.8rem;
}

.form--donate .agreements-guide {
  margin-top:40px;
}

.form--donate .agreements-guide__title {
  font-size:2rem;
  font-weight:600;
  color:#c4b69d;
  margin-bottom:20px;
}

.form--donate .agreements-guide__text {
  font-size:1.8rem;
  line-height:1.6;
}

.form .address .box {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}

.form .address .box input{
  max-width: 480px;
  background-color: transparent;
}

.form .address .box--full input{
  max-width: 100%
}

.form .address .button {
  font-size:1.6rem;
  font-weight:500;
  color:#001212;
  max-width:170px;
  width:100%;
  height:48px;
  margin-left: 10px;
  background-color: #f8f8f8;
  border-color:#c3c3c3;
  border-radius:0px;
}


@media (max-width:1200px) {
  .form--donate .amount .button {
    font-size:1.6rem;
  }

  .form--donate .sponsor-inputs span {
    font-size:1.4rem;
  }

  .form--donate .sponsor-agreement span {
    font-size:1.6rem;
  }

  .form--donate .sponsor-agreement p {
    font-size:1.8rem;
  }
  
  .form--donate .sponsor-agreement p span {
    font-size:1.6rem;
  }

  .form--donate .payment .button {
    font-size:1.6rem;
  }

  .form--donate .agreement .button {
    font-size: 1.6rem;
  }

  .form--donate .agreements-guide__title {
    font-size:1.8rem;
  }
  
  .form--donate .agreements-guide__text {
    font-size:1.6rem;
  }
  
  .form .address .button {
    font-size:1.4rem;
    max-width:120px;
  }
  
}
@media (max-width:1024px) {
  .form--donate .amount ul {
    margin:-2px;
  }
  
  .form--donate .amount li {
    padding:2px;
  }

  .form--donate .amount .button {
    height:38px;
  }

  .form--donate .amount input {
    height:38px;
    margin-top:6px;
  }

  .form--donate .sponsor-inputs span {
    padding:0px 22px;
  }

  .form--donate .sponsor-agreement label {
    margin:16px 0px;
  }

  .form--donate .sponsor-agreement .box {
    padding:30px;
  }
  
  .form--donate .sponsor-agreement p {
    margin-bottom:16px;
  }

  .form--donate .sponsor-agreement p span {
    display: block;
    margin-left:0px;
    margin-top:12px;
  }

  .form--donate .payment ul {
    margin:-2px;
  }
  
  .form--donate .payment li {
    padding:2px;
  }

  .form--donate .payment .button {
    height:38px;
  }

  .form--donate .agreement ul {
    padding:30px;
  }

  .form--donate .agreement li {
    margin-bottom:16px;
  }

  .form--donate .agreement .button {
    height:26px;
  }

  .form--donate .agreements-guide {
    margin-top:30px;
  }  

  .form--donate .agreements-guide__title {
    margin-bottom:16px;
  }
  
  .form .address .box {
    margin-bottom: 12px;
  }
  
  .form .address .button {
    height:38px;
  }
}
@media (max-width:768px) {
  .form--donate .amount .button {
    height:30px;
    font-size:1.4rem;
  }

  .form--donate .amount input {
    height:30px;
  }

  .form--donate .sponsor-inputs {
    flex-wrap: wrap;
  }

  .form--donate .sponsor-inputs .box {
    width:100%;
  }

  .form--donate .sponsor-inputs .box:first-child {
    margin-bottom:6px;
  }

  .form--donate .sponsor-inputs span {
    display: none;
    font-size:1.3rem;
    padding:0px 18px;
  }

  .form--donate .sponsor-agreement .box {
    padding:22px;
  }

  .form--donate .sponsor-agreement p {
    font-size:1.6rem;
    margin-bottom:12px;
  }

  .form--donate .sponsor-agreement p span {
    margin-top:8px;
    font-size:1.4rem;
  }

  .form--donate .sponsor-agreement label {
    margin:12px 0px;
  }

  .form--donate .sponsor-agreement i {
    width:16px;
    height:16px;
    background-size: auto 16px;
    margin-right:6px;
  }

  .form--donate .sponsor-agreement span {
    font-size:1.4rem;
  }

  .form--donate .payment .button {
    height:30px;
    font-size:1.4rem;
  }

  .form--donate .agreement ul {
    padding:22px;
    margin-bottom:6px;
  }

  .form--donate .agreement li {
    margin-bottom:12px;
  }

  .form--donate .agreement .button {
    max-width:38px;
    height:22px;
    font-size:1.4rem;
  }

  .form--donate .agreements-guide {
    margin-top:22px;
  }

  .form--donate .agreements-guide__title {
    font-size:1.6rem;
    margin-bottom:12px;
  }
  
  .form--donate .agreements-guide__text {
    font-size:1.4rem;
  }
  
  .form .address .box {
    margin-bottom: 8px;
  }
  
  .form .address .button {
    font-size:1.3rem;
    max-width:100px;
    height:30px;
    margin-left: 6px;
  }
}
@media (max-width:500px) {
  .form--donate .amount .button {
    font-size:1.3rem;
  }

  .form--donate .sponsor-inputs .box:first-child {
    margin-bottom:4px;
  }

  .form--donate .sponsor-inputs span {
    font-size:1.2rem;
    padding:0px 8px;
  }

  .form--donate .sponsor-agreement label {
    margin:8px 0px;
  }

  .form--donate .sponsor-agreement i {
    width:12px;
    height:12px;
    background-size: auto 12px;
  }

  .form--donate .sponsor-agreement .box {
    padding:18px 12px;
  }

  .form--donate .sponsor-agreement span {
    font-size:1.3rem;
  }

  .form--donate .sponsor-agreement p {
    font-size:1.4rem;
    margin-bottom:8px;
  }

  .form--donate .sponsor-agreement p span {
    font-size: 1.3rem;
    margin-top:4px;
  }

  .form--donate .payment .button {
    font-size:1.3rem;
  }

  .form--donate .agreement ul {
    padding:18px 12px;
  }

  .form--donate .agreement li {
    margin-bottom:8px;
  }

  .form--donate .agreement .button {
    max-width:30px;
    height:18px;
    font-size:1.2rem;
  }

  .form--donate .agreements-guide {
    margin-top:16px;
  }

  .form--donate .agreements-guide__title {
    font-size:1.4rem;
    margin-bottom:8px;
  }
  
  .form--donate .agreements-guide__text {
    font-size:1.3rem;
  }
  
  .form .address .box {
    margin-bottom: 4px;
  }
  
  .form .address .button {
    font-size:1.2rem;
    max-width:80px;
    margin-left: 4px;
  }
}
/* ---------------- E:Form Donate ---------------- */

/* ---------------- S:Form Reserve ---------------- */
.form--reserve .block {
  margin:0px;
}

.form--reserve .period {
  display: flex;
  align-items: center;
  margin:-20px;
}

.form--reserve .period .left,
.form--reserve .period .right {
  flex:1 1 50%;
  max-width:50%;
  padding:20px;
}

.form--reserve .period-calendar {
  display: flex;
  /*justify-content: center;*/
  /* align-items: center; */
  padding:40px 0px;
  gap: 0 10px;
  background-color: #ffffff;
  border:1px solid #dfdfdf;
}

.form--reserve .period-calendar .ui-datepicker {
  display: flex !important;
  width:100% !important;
}

.form--reserve .period-calendar .ui-datepicker-group {
  flex:1 1 50%;
  max-width:50%;
  padding:0px 20px;
}

.form--reserve .period-calendar .ui-datepicker-header {
  display: flex;
  justify-content: center;
  position: relative;
  width:100%;
  height:36px;
  margin-bottom:20px;
}

.form--reserve .period-calendar .ui-datepicker-title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:2.4rem;
  font-weight:600;
}

.form--reserve .period-calendar .ui-icon {
  display: block;
  position: absolute;
  top:50%;
  transform: translateY(-50%);
  font-size:0px;
  width:36px;
  height:36px;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}

.form--reserve .period-calendar .ui-icon-circle-triangle-w {
  left:0;
  background-image: url('/en/img/form/calendar_prev.png');
}

.form--reserve .period-calendar .ui-icon-circle-triangle-e {
  right:0;
  background-image: url('/en/img/form/calendar_next.png');
}

.form--reserve .period-calendar .ui-datepicker-calendar {
  width:100%;
  text-align: center;
}

.form--reserve .period-calendar .ui-datepicker-calendar thead {
  background-color: #f1f1f1;
}

.form--reserve .period-calendar .ui-datepicker-calendar th,
.form--reserve .period-calendar .ui-datepicker-calendar td {
  width:36px;
  height:36px;
  font-size:1.6rem;
}

.form--reserve .period-calendar .ui-datepicker-calendar th {
  font-weight:600;
}

.form--reserve .period-calendar .ui-datepicker-calendar td {
  font-weight:500;
}

.form--reserve .period-calendar .ui-datepicker-calendar td.ui-datepicker-week-end:first-child a {
  color:#f00;
}

.form--reserve .period-info {
  text-align: center;
}

.form--reserve .period-info__title {
  font-size:2rem;
  margin-bottom:20px;
}

.form--reserve .period-info__table {
  display: table;
  table-layout: fixed;
  border-collapse: collapse;
  width:100%;
  background-color: #fff;
  border:1px solid #dfdfdf;
}

.form--reserve .period-info__table .row {
  display: table-row;
  border-bottom:1px solid #dfdfdf;
}

.form--reserve .period-info__table .th,
.form--reserve .period-info__table .td {
  display: table-cell;
  vertical-align: middle;
  height:70px;
  padding:20px 10px;
  font-size:2rem;
  line-height: 1;
}

.form--reserve .period-info__table .th {
  border-right:1px solid #dfdfdf;
}

.form--reserve .period-info__pin {
  display: flex;
  justify-content: center;
  align-items: center;
  width:100%;
  height:70px;
  padding:20px 10px;
  background-color: #c4b69d;
}

.form--reserve .period-info__pin span {
  font-size:2.4rem;
  font-weight:500;
  color:#fff;
}

.form--reserve .period-check {
  width: 100%;
  margin-top: 20px;
  padding: 15px;
  text-align: center;
  background-color: #fff;
  border: 1px solid #c4b69d;
}

.form--reserve .period-check .period-check__text {
  font-size: 2rem;
}

.form--reserve .period-check .period-con {
  margin: 15px 0; 
}

.form--reserve .period-check .period-item {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  font-size: 1.8rem;
}

.form--reserve .period-check .period-item p {
  display: flex;
  align-items: center;
}
.form--reserve .period-check .period-item p:first-of-type {
  margin-right: 5px;
}

.form--reserve .period-check .period-item .empty {
  color: red;
}

.form--reserve .period-check .period-item:last-of-type {
  margin: 0;
}

.form--reserve .facility {
  border-top:2px solid #000;
}

.form--reserve .facility li {
  border-bottom:1px solid #f0f0f0;
}

.form--reserve .facility .box {
  display: flex;
  align-items: center;
  padding:40px;
}

.form--reserve .facility .image {
  position: relative;
  width:228px;
  font-size:0px;
}

.form--reserve .facility .context {
  width:calc(100% - 228px);
  padding-left:40px;
}

.form--reserve .facility-name {
  font-size:2.4rem;
  font-weight:600;
}

.form--reserve .facility-select {
  font-size:0px;
  margin:20px 0px;
}

.form--reserve .facility-select select,
.form--reserve .facility-excess select {
  display: inline-block;
  vertical-align: middle;
  max-width:150px;
  width:100%;
  height:48px;
  border-radius:0px;
  background-size: auto 8px;
  background-repeat: no-repeat;
  background-position:right 16px center;
  background-image: url('/en/img/icon/select_icon.svg');
}

.form--reserve .facility-select .caution {
  display: inline-block;
  vertical-align: middle;
  font-size:1.8rem;
  line-height:1.3;
  margin-left:40px;
}

.form--reserve .facility-select .caution i {
  font-style: normal;
  font-weight:700;
  color:#ff3a3a
}

.form--reserve .facility-radio {
  display: flex;
  align-items: center;
}

.form--reserve .facility-radio p, 
.form--reserve .facility-excess p {
  font-size:1.8rem;
  font-weight:600;
}

.form--reserve .facility-radio dl {
  margin-left:40px;
}

.form--reserve .facility-radio dd {
  display: inline-flex;
  align-items: center;
  padding-right:40px;
}

.form--reserve .facility-radio dd:last-child {
  padding-right:0px;
}

.form--reserve .facility-radio label {
  display:inline-flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  font-size:0px;
}

.form--reserve .facility-radio input {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility: hidden;
}

.form--reserve .facility-radio i {
  display: inline-block;
  vertical-align: middle;
  width:16px;
  height:16px;
  background-size: auto 16px;
  background-repeat: no-repeat;
  background-image: url('/en/img/form/radio.png');
  margin-right:10px;
}

.form--reserve .facility-radio span {
  font-size:1.8rem;
  font-weight:600;
}

.form--reserve .facility-radio input[type="radio"]:checked ~ i {
  background-image: url('/en/img/form/radio_on.png');
}

.form--reserve .facility-caution {
  margin-top:20px;
  padding:0px 20px;
}

.form--reserve .facility-caution p {
  font-size:1.8rem;
  line-height:1.4;
}

.form--reserve .facility-caution b {
  font-size:2rem;
  font-weight:400;
}

.form--reserve .facility-caution span {
  font-weight:600;
  color:#ff3434;
}

.form--reserve .meal {
  display: flex;
  align-items: center;
}

.form--reserve .meal select {
  display: inline-block;
  vertical-align: middle;
  max-width:150px;
  width:100%;
  height:48px;
  border-radius:0px;
  background-size: auto 8px;
  background-repeat: no-repeat;
  background-position:right 16px center;
  background-image: url('/en/img/icon/select_icon.svg');
}

.form--reserve .meal input {
	display: inline-block;
  vertical-align: middle;
  max-width:150px;
  width:100%;
  height:48px;
  border-radius:0px;
}

.form--reserve .meal_caution {
  display: inline-block;
  vertical-align: middle;
  font-size:1.8rem;
  line-height:1.3;
  margin-left:40px;
}

.form--reserve .meal_caution i {
  font-style: normal;
  font-weight:700;
  color:#ff3a3a
}

.form--reserve .lecture_checkbox dd {
  display: inline-flex;
  align-items: center;
  padding-right:40px;
}

.form--reserve .lecture_checkbox dd:last-child {
  padding-right:0px;
}

.form--reserve .lecture_checkbox label {
  display:inline-flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  font-size:0px;
}

.form--reserve .lecture_checkbox input {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:auto;
  opacity:0;
  visibility: hidden;
}

.form--reserve .lecture_checkbox i {
  display: inline-block;
  vertical-align: middle;
  width:20px;
  height:20px;
  background-size: auto 20px;
  background-repeat: no-repeat;
  background-image: url('/en/img/form/check.png');
  margin-right:10px;
}

.form--reserve .lecture_checkbox span {
  font-size:1.8rem;
  font-weight:600;
}

.form--reserve .lecture_checkbox input[type="checkbox"]:checked ~ i {
  background-image: url('/en/img/form/check_on.png');
}

.form--reserve .apply-total p {
  font-size:2rem;
}

.form--reserve .apply-total span {
  font-weight:600;
}

.form--reserve .apply-payment dl {
  display: flex;
  align-items: center;
}

.form--reserve .apply-payment dd {
  display: inline-flex;
  align-items: center;
  padding-right:40px;
}

.form--reserve .apply-payment dd:last-child {
  padding-right:0px;
}

.form--reserve .apply-payment label {
  display:inline-flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  font-size:0px;
}

.form--reserve .apply-payment input {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility: hidden;
}

.form--reserve .apply-payment i {
  display: inline-block;
  vertical-align: middle;
  width:16px;
  height:16px;
  background-size: auto 16px;
  background-repeat: no-repeat;
  background-image: url('/en/img/form/radio.png');
  margin-right:10px;
}

.form--reserve .apply-payment span {
  font-size:1.8rem;
  font-weight:600;
}

.form--reserve .apply-payment input[type="radio"]:checked ~ i {
  background-image: url('/en/img/form/radio_on.png');
}

.form--reserve .facility-excess {
  display: flex;
  align-items: center;
  width: 100%;
  margin-top: 15px;
}

.form--reserve .facility-excess p {
  width: 150px;
  margin-right: 40px;
}

@media (max-width:1200px) {
  .form--reserve .period-calendar .ui-datepicker-title {
    font-size: 2.2rem;
  }
  
  .form--reserve .period-info__title {
    font-size:1.8rem;
  }

  .form--reserve .period-info__table .th,
  .form--reserve .period-info__table .td {
    height:64px;
    padding:16px 10px;
    font-size:1.8rem;
  }

  .form--reserve .period-info__pin {
    height:64px;
    padding:16px 10px;
  }

  .form--reserve .period-info__pin span {
    font-size:2rem;
  }

  .form--reserve .facility-name {
    font-size:2rem;
  }

  .form--reserve .facility-select .caution {
    font-size:1.6rem;
  }

  .form--reserve .facility-radio p,
  .form--reserve .facility-excess p {
    font-size:1.6rem;
  }

  .form--reserve .facility-radio span {
    font-size:1.6rem;
  }

  .form--reserve .meal_caution {
    font-size:1.6rem;
  }

  .form--reserve .lecture_checkbox span {
    font-size:1.6rem;
  }

  .form--reserve .apply-total p {
    font-size:1.8rem;
  }

  .form--reserve .apply-payment span {
    font-size:1.6rem;
  } 
  
  .form--reserve .period-check .period-check__text {
    font-size: 1.8rem;
  }
  
  .form--reserve .period-check .period-item {
    font-size: 1.6rem;
  }
}
@media (max-width:1024px) {
  .form--reserve .period {
    flex-wrap: wrap;
    margin:-16px;
  }

  .form--reserve .period .left,
  .form--reserve .period .right {
    flex:1 1 100%;
    max-width:100%;
    padding:16px;
  }
  
  .form--reserve .period-calendar {
    padding: 35px 0;
  }
  
    
  .form--reserve .period-calendar .ui-icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-size: cover;
  }

  .form--reserve .period-info__title {
    margin-bottom:16px;
  }

  .form--reserve .period-info__table .th,
  .form--reserve .period-info__table .td {
    height:52px;
    padding:12px 10px;
  }

  .form--reserve .period-info__pin {
    height:52px;
    padding:12px 10px;
  }

  .form--reserve .facility .box {
    padding:30px;
  }

  .form--reserve .facility .context {
    padding-left:30px;
  }

  .form--reserve .facility-select {
    margin:16px 0px;
  }

  .form--reserve .facility-select .caution {
    margin-left:30px;
  }

  .form--reserve .facility-radio dl {
    margin-left:30px;
  }

  .form--reserve .facility-radio dd {
    padding-right:30px;
  }

  .form--reserve .facility-select select,
  .form--reserve .facility-excess select {
    max-width:100px;
    height:38px;
  }

  .form--reserve .meal select {
    max-width:100px;
    height:38px;
  }

	.form--reserve .meal input {
		max-width:100px;
    height:38px;
	}
  
  .form--reserve .meal_caution {
    margin-left:30px;
  }

  .form--reserve .lecture_checkbox dd {
    padding-right:30px;
  }

  .form--reserve .apply-payment dd {
    padding-right:30px;
  }
  
  .form--reserve .period-check {
    margin-top: 15px;
    padding: 12px;
  }
  
  .form--reserve .period-check .period-con {
    margin: 12px 0; 
  }
  
  .form--reserve .period-check .period-item {
    margin-bottom: 6px;
  }
  
  .form--reserve .facility-excess {
    margin-top: 12px;
  }
  
  .form--reserve .facility-excess p {
    width: 135px;
    margin-right: 30px;
  }
}
@media (max-width:768px) {
  .form--reserve .period {
    margin:-12px;
  }

  .form--reserve .period .left,
  .form--reserve .period .right {
    padding:12px;
  }
  
  .form--reserve .period-calendar {
    padding: 30px 0;
  }

  .form--reserve .period-calendar .ui-datepicker-title {
    font-size: 2rem;
  }
  
  .form--reserve .period-calendar .ui-datepicker-group {
    padding: 0 15px;
  }
    
  .form--reserve .period-calendar .ui-icon {
    width: 28px;
    height: 28px;
  }
  
  .form--reserve .period-calendar .ui-datepicker-calendar th, .form--reserve .period-calendar .ui-datepicker-calendar td {
    font-size: 1.4rem;
  }
  
  .form--reserve .period-info__title {
    font-size:1.6rem;
    margin-bottom:12px;
  }

  .form--reserve .period-info__table .th,
  .form--reserve .period-info__table .td {
    height:44px;
    padding:8px 6px;
    font-size:1.6rem;
  }

  .form--reserve .period-info__pin {
    height:44px;
    padding:8px 6px;
  }

  .form--reserve .period-info__pin span {
    font-size:1.8rem;
  }

  .form--reserve .facility .box {
    padding:22px;
  }

  .form--reserve .facility .context {
    padding-left:22px;
  }

  .form--reserve .facility-name {
    font-size:1.8rem;
  }

  .form--reserve .facility-select {
    margin:12px 0px;
  }

  .form--reserve .facility-select select,
  .form--reserve .facility-excess select {
    max-width:80px;
    height:30px;
    background-position:right 12px center;
    background-size: auto 6px;
  }

  .form--reserve .facility-select .caution {
    font-size:1.4rem;
    margin-left:22px;
  }

  .form--reserve .facility-radio p,
  .form--reserve .facility-excess p {
    font-size:1.4rem;
  }

  .form--reserve .facility-radio dl {
    margin-left:22px;
  }

  .form--reserve .facility-radio dd {
    padding-right:22px;
  }

  .form--reserve .facility-radio i {
    width:12px;
    height:12px;
    background-size:auto 12px;
    margin-right:6px;
  }

  .form--reserve .facility-radio span {
    font-size:1.4rem;
  }

  .form--reserve .meal select {
    max-width:100%;
    height:30px;
    background-position:right 12px center;
    background-size: auto 6px;
  }

	.form--reserve .meal input {
		max-width:100%;
    height:30px;
	}

  .form--reserve .meal {
    flex-wrap: wrap;
  }

  .form--reserve .meal_caution {
    display: block;
    width:100%;
    font-size:1.4rem;
    margin-left:0px;
    margin-top:8px;
  }

  .form--reserve .lecture_checkbox dd {
    padding-right:22px;
  }

  .form--reserve .lecture_checkbox i {
    width:16px;
    height:16px;
    background-size: auto 16px;
    margin-right:6px;
  }

  .form--reserve .lecture_checkbox span {
    font-size:1.4rem;
  }

  .form--reserve .apply-total p {
    font-size:1.6rem;
  }

  .form--reserve .apply-payment i {
    width:12px;
    height:12px;
    background-size:auto 12px;
    margin-right:6px;
  }

  .form--reserve .apply-payment span {
    font-size:1.4rem;
  }  
  
  .form--reserve .period-check {
    margin-top: 15px;
    padding: 12px;
  }
  
  .form--reserve .period-check .period-check__text {
    font-size: 1.6rem;
  }
  
  .form--reserve .period-check .period-con {
    margin: 10px 0; 
  }
  
  .form--reserve .period-check .period-item {
    margin-bottom: 6px;
    font-size: 1.4rem;
  }
  
  .form--reserve .facility-excess {
    margin-top: 10px;
  }
  
  .form--reserve .facility-excess p {
    width: 117px;
    margin-right: 22px;
  }
}
@media (max-width:640px) {
  .form--reserve .facility .box {
    flex-wrap: wrap;
  }

  .form--reserve .facility .image {
    flex:1 1 100%;
    max-width:100%;
  }

  .form--reserve .facility .context {
    flex:1 1 100%;
    max-width:100%;
    padding-left:0px;
    padding-top:22px;
  }
}
@media (max-width:500px) {
  .form--reserve .period {
    margin:-8px;
  }

  .form--reserve .period .left,
  .form--reserve .period .right {
    padding:8px;
  }

  .form--reserve .period-calendar {
    padding: 25px 0;
  }
  
  .form--reserve .period-calendar .ui-datepicker-title {
    font-size: 1.8rem;
  } 
  
  .form--reserve .period-calendar .ui-datepicker-group {
    padding: 0 8px;
  }
  
  .form--reserve .period-calendar .ui-datepicker-group-first {
    padding-right: 5px;
  }
  
  .form--reserve .period-calendar .ui-datepicker-group-last {
    padding-left: 5px;
  }
  
  .form--reserve .period-calendar .ui-icon {
    width: 22px;
    height: 22px;
  }
  
  .form--reserve .period-info__title {
    font-size:1.4rem;
    margin-bottom:8px;
  }

  .form--reserve .period-info__table .th,
  .form--reserve .period-info__table .td {
    height:36px;
    padding:6px 4px;
    font-size:1.4rem;
  }

  .form--reserve .period-info__pin {
    height:36px;
    padding:6px 4px;
  }

  .form--reserve .period-info__pin span {
    font-size:1.6rem;
  }

  .form--reserve .facility .box {
    padding:18px 0px;
  }

  .form--reserve .facility .context {
    padding-top:18px;
  }

  .form--reserve .facility-name {
    font-size:1.6rem;
  }

  .form--reserve .facility-select {
    margin:8px 0px;
  }

  .form--reserve .facility-select select {
    max-width:100%;
  }

  .form--reserve .facility-excess select {
    max-width: 105px;
  }
  
  .form--reserve .facility-select .caution {
    display: block;
    font-size:1.3rem;
    margin-left:0px;
    margin-top: 8px;
  }

  .form--reserve .facility-radio p,
  .form--reserve .facility-excess p {
    font-size:1.3rem;
  }

  .form--reserve .facility-radio span {
    font-size:1.3rem;
  }

  .form--reserve .facility-radio dl {
    margin-left:18px;
  }

  .form--reserve .facility-radio dd {
    padding-right:18px;
  }

  .form--reserve .meal_caution {
    font-size:1.3rem;
    margin-top:4px;
  }

  .form--reserve .lecture_checkbox dd {
    padding-right:18px;
  }

  .form--reserve .lecture_checkbox i {
    width:12px;
    height:12px;
    background-size: auto 12px;
  }

  .form--reserve .lecture_checkbox span {
    font-size:1.3rem;
  }

  .form--reserve .apply-total p {
    font-size:1.4rem;
  }

  .form--reserve .apply-payment span {
    font-size:1.3rem;
  } 
  
  .form--reserve .period-check {
    margin-top: 12px;
    padding: 10px;
  }
  
  .form--reserve .period-check .period-check__text {
    font-size: 1.4rem;
  }
  
  .form--reserve .period-check .period-con {
    margin: 8px 0; 
  }
  
  .form--reserve .period-check .period-item {
    margin-bottom: 5px;
    font-size: 1.2rem;
  }
  
  .form--reserve .facility-excess {
    margin-top: 8px;
  }
  
  .form--reserve .facility-excess p {
    width: 109px;
    margin-right: 18px;
  }
}


/* ---------------- E:Form Reserve ---------------- */

/* ---------------- S:Form Popup ---------------- */
.form-popup .textarea {
  width: 100%;
  height:300px;
  border:1px solid #ccc;
}

.form-popup .textarea div {
  width:100%;
  height:100%;
  padding:20px;
  overflow-y: auto;
}
input[readonly] {
  background-color: #E2E2E2;
}
/* ---------------- E:Form Popup ---------------- */

#calenderDate .ui-state-active {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #b99744;
  color: #fff;
  height: 100%;
  width: 100%;
}

.period-calendar .dates {
  display: block;
  position: relative;
}

.daterangepicker .drp-calendar {
  max-width: 450px;
}

.daterangepicker.show-calendar .drp-buttons {
  display: none;
}

.daterangepicker td.active, .daterangepicker td.active:hover {
  background-color: #b99744;
}

.daterangepicker td.in-range {
  background-color: #ede9e1;
  color: #000;
}

.daterangepicker .drp-calendar.left {
  padding: 40px 0 40px 40px;
}

.daterangepicker .drp-calendar.right {
  padding: 40px;
}

.daterangepicker .drp-calendar.left .calendar-table {
  padding: 0;
}

.daterangepicker .calendar-table tr {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.daterangepicker .calendar-table th.available {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #b99744;
}

.daterangepicker .calendar-table .next span, 
.daterangepicker .calendar-table .prev span {
  border-color: #fff;
}


.daterangepicker .calendar-table thead tr:nth-of-type(1) {
  margin-bottom: 20px;
}

.daterangepicker .calendar-table thead tr:nth-of-type(2) {
  background-color: #f1f1f1;
  border-radius: 0;
}

.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {
  width: 36px;
  height: 36px;
}

.daterangepicker .calendar-table th {
  display: block;
  height: fit-content;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 0;
}

.daterangepicker .calendar-table td {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 500;
}

.daterangepicker .calendar-table  .month  {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: space-between;
  width: 100px;
}

.daterangepicker .calendar-table  .yearselect,
.daterangepicker .calendar-table  .monthselect {
  width: fit-content;
  border: none;
  padding: 0 5px;
  font-size: 2.4rem;
  font-weight: 600;
  background-color: transparent;
}


.daterangepicker  {
  width: 100%;
}


/* 20250307 추가퍼블 */
.reserve-guide-text {
	width: 100%;
	padding:60px 40px;
  margin-top: 40px;
	margin-bottom:80px;
	text-align: center;
	background-color: #fff;
	border:1px solid #c4b69d;
}

.reserve-guide-text h5 {
	font-size:2.8rem;
	margin-bottom:20px;
}

.reserve-guide-text p {
	font-size:1.8rem;
	line-height:1.6;
}

@media (max-width:1200px) {
	.reserve-guide-text h5 {
		font-size:2.4rem;
	}

	.reserve-guide-text p {
		font-size:1.6rem;
	}
	
}
@media (max-width:1024px) {
	.reserve-guide-text {
    padding:40px 30px;
    margin-top: 30px;
		margin-bottom:60px;
	}
	
	.reserve-guide-text h5 {
		margin-bottom:16px;
	}
}
@media (max-width:768px) {
	.reserve-guide-text h5 {
		font-size:2rem;
	}

	.reserve-guide-text p {
		font-size:1.4rem;
	}
}
@media (max-width:640px) {
	.reserve-guide-text {
		padding:30px 20px;
    margin-top: 20px;
		margin-bottom:40px;
	}
	
	.reserve-guide-text h5 {
		margin-bottom:10px;
	}
}
@media (max-width:500px) {
  .reserve-guide-text h5 {
		font-size:1.8rem;
	}

	.reserve-guide-text p {
		font-size:1.2rem;
	}
}
