@charset "UTF-8";

/*-------------------------------------------------------------*/
/* login */

/* section style */
/* type D 0 */
.section_typeD1 { padding: 100px 0 120px; }
.section_typeD2 { padding: 60px 0 120px; }

/* color */
.bg_type06 {
  background-color: #F6F6F6;
  background-image: url("../../img/common/reserve/title_read_bg.e09e1e101b47.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100% 43.20vw;
}

.bg_type07 {
  background-color: #FFF;
  background-image: url("../../img/common/reserve/title_read_bg.e09e1e101b47.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100% 43.20vw;
}

@media (max-width:1040px) {
  /* inner */
  .section_typeD1 .inner,
  .section_typeD2 .inner {
    width: 100%;
    max-width: 65pc;
    margin: 0;
  }
}

@media (max-width:767px) {
  .section_typeD1 { padding: 60px 0 39px; }
  .section_typeD2 { padding: 20px 0 83px; }

  .bg_type07,
  .bg_type06 {
    background-size: 100% 600px;
  }
}

/* login contents */

.login-title {
  position: relative;
  font-weight: 600;
  font-size: 32px;
  color: #000;
  text-align: center;
  margin-bottom: 64px;
}

.login-title::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  border-bottom: solid 4px #333;
  width: 60px;
  transform: translateX(-50%);
}

.login-area {
  max-width: 400px;
  margin: auto;
}

.login-box {
  background: white;
  border-radius: 8px;
  padding: 64px 60px 40px;
}

.login-logo {
  max-width: 160px;
  margin: auto;
}

.login-area-title {
  font-weight: 600;
  font-size: 28px;
  color: #000;
  text-align: center;
  margin: 40px 0 20px;
}

.login-text {
  font-size: 14px;
  margin-bottom: 40px;
}

@media (max-width:767px) {
  .login-area {
    max-width: 306px;
  }

  .login-box {
    padding: 64px 12px 40px;
		width:90%;
		margin:0 auto;
  }
}

/* login form */

.form-name {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.form-name p {
  color: #000;
  font-weight: 700;
}

.form-name .required {
  display: grid;
  place-items: center;
  font-weight: 600;
  font-size: 13px;
  color: #CC0000;
  background: #FFFFFF;
  border-radius: 4px;
  border: 1px solid #CC0000;
  width: 40px;
  height: 24px;
  padding-bottom: 2px;
}

.form-name .required.bg-red {
  background: #CC0000;
  color: white;
}

.form-name .required.bg-gray {
  background: #CDD6DD;
  border: 1px solid #CDD6DD;
  color: white;
}

.text-error {
  font-weight: 600;
  font-size: 14px;
  line-height: 26px;
  text-align: left;
  color: #f00;
  margin-top: -2px;
}

.form-input {
  font-size: 16px;
  border: solid 1px #CDD6DD;
  border-radius: 4px;
  width: 100%;
  padding: 11px 10px 13px;
  margin-bottom: 16px;
}

.form-input::placeholder {
  color: #CDD6DD;
}

.form-forgot {
  font-weight: 600;
  text-decoration: underline;
  font-size: 13px;
  line-height: 29px;
  color: #EA3323;
}

.form-error {
  font-weight: 600;
  font-size: 11px;
  letter-spacing: -0.1em;
  line-height: 20px;
  color: #EA3323;
}

.form-btn {
  cursor: pointer;
  display: block;
  font-weight: 600;
  line-height: 29px;
  color: #fff;
  border: none;
  border-radius: 4px;
  background: #CC0000;
  width: 100%;
  padding: 10px 0 11px;
  margin: 42px 0 16px;
  transition: .3s;
}

.form-btn:hover {
  opacity: .8;
}

.form-create {
  font-size: 13px;
  line-height: 29px;
}

.form-create a {
  font-weight: 600;
  font-size: 13px;
  color: #ea3323;
}

@media (max-width:767px) {
  .form-btn {
    font-size: 14px;
  }
}

/* subnav */

.subnav-list {
  display: flex;
  justify-content: center;
  gap: 40px;
  font-size: 14px;
  margin-top: 60px;
}

@media (max-width:767px) {
  .subnav-list {
    gap: 16px;
    margin-top: 40px;
  }
}

/*-------------------------------------------------------------*/
/* reserve */

.page_head05 {
  position: relative;
  font-weight: 600;
  font-size: 32px;
  color: #000;
  text-align: center;
  margin-bottom: 64px;
}

.page_head05::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  border-bottom: solid 4px #333;
  width: 60px;
  transform: translateX(-50%);
}

.read {
  font-weight: normal;
  line-height: 29px;
  text-align: center;
  margin-bottom: 60px;
}

.read span {
  font-size: 14px;
}

.form-wrap {
  background: white;
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(0,0,0,.08);
  max-width: 940px;
  padding: 80px 60px 0;
  margin: auto;
}

.form-group + .form-group {
  margin-top: 32px;
}

.form-body {
  margin-top: 10px;
}

.form-radio-box {
  display: flex;
  align-items: flex-start;
  gap: 23px;
  padding-top: 10px;
}

.form-radio-box + .form-radio {
  margin-top: 10px;
}

.form-radio-scroll {
  overflow-y: scroll;
  height: 400px;
}

.form-radio label {
  display: flex;
  align-items: center;
}

.form-radio label + label {
  margin-top: 19px;
}

.form-radio input[type="radio"] {
  cursor: pointer;
  position: relative;
  width: 30px !important;
  height: 30px;
  border: 1px solid #CDD6DD;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin-right: 10px;
}

.form-radio input[type="radio"]::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #49BE54;
  content: '';
  opacity: .2;
}

.form-radio input[type="radio"]:checked::before {
  opacity: 1;
}

.form-checkbox input[type="checkbox"] {
  position: relative;
  width: 30px !important;
  height: 30px;
  border: 1px solid #CDD6DD;
  border-radius: 4px;
  vertical-align: -9px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin-right: 10px;
  cursor: pointer;
}

.form-checkbox input[type="checkbox"]::before {
  position: absolute;
  top: 4px;
  left: 10px;
  transform: rotate(50deg);
  width: 7px;
  height: 13px;
  border-right: 2px solid #EFF4EF;
  border-bottom: 2px solid #EFF4EF;
  content: '';
}

.form-checkbox input[type="checkbox"]:checked:before {
  border-right: 2px solid #49BE54;
  border-bottom: 2px solid #49BE54;
}

.form-checkbox label {
  display: block;
}

.form-checkbox label + label {
  margin-top: 19px;
}

.form-body textarea {
  font-size: 16px;
  width: 100%;
  height: 160px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #cdd6dd;
  padding: 8px 20px;
}

.form-body .form-input {
  max-width: 340px;
  padding: 12px 20px;
  margin-bottom: 0;
}

.form-body .form-input.sm {
  max-width: 100px;
}

.form-body .form-input.md {
  max-width: 280px;
}

.form-body .form-input.lg {
  max-width: 460px;
}

.form-body .form-input.xl {
  max-width: 100%;
}

.form-input.password {
  background: #FFFFFF url("../../img/common/reserve/icon-eye.84ef4b6cf1dc.svg") no-repeat right 12px center / 16px 14px;
}

.form-body .form-input.date {
  background: #FFFFFF url("../../img/common/reserve/icon-calender.0e780bf55042.svg") no-repeat right 16px center / 16px 16px;
}

.form-body .selectbox select.error,
.form-body .form-input.error {
  background-color: #FFEBEB;
}

.form-body .form-input::placeholder,
.form-body textarea::placeholder {
  color: rgba(0,0,0,.4);
}

.form-body .selectbox select {
  display: block;
  -webkit-appearance: none;
  appearance: none;
  font-size: 16px;
  border: solid 1px #CDD6DD;
  border-radius: 4px;
  width: 340px;
  padding: 12px 20px;
  cursor: pointer;
}

.form-body .selectbox.selected select {
  color: #3B4043;
}

.form-body .selectbox.md select {
  width: 280px;
}

.form-body .selectbox.sm select {
  width: 100px;
}

.form-body .selectbox option {
  color: #3B4043;
}

.form-body .selectbox option[selected][disabled] {
  display: none;
}

.form-body .selectbox .time {
  background: url("../../img/common/reserve/icon-clock.a50f012796e2.svg") no-repeat right 11px center / 20px 20px #FFFFFF;
}

.form-body .selectbox .intende {
  background: url("../../img/common/reserve/icon-bag.454c90c6090c.svg") no-repeat right 16px center / 17px 17px #FFFFFF;
}

.form-body .selectbox .number {
  background: url("../../img/common/reserve/icon-human.b534fe6200aa.svg") no-repeat right 12px center / 22px 16px #FFFFFF;
}

.form-body .selectbox .arrow {
  background: url("../../img/common/reserve/icon-arrow-d.a341352ff1df.svg") no-repeat right 19px center / 10px 7px #FFFFFF;
}

.form-body .selectbox + .form-location-text {
  margin-top: 30px;
}

.form-body .form-location-result,
.form-body .form-location-box {
  border-radius: 4px;
  background: rgba(205, 214, 221, .1);
  padding: 20px 20px 80px;
}

.form-body .form-location-result .form-location-text,
.form-body .form-location-box .form-location-text {
  border-bottom: solid 1px #CDD6DD;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.form-body .form-location-block {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.form-body .form-location-result {
  display: none;
}

.form-body .form-location-result.show {
  display: block;
}

.form-body .form-location-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.form-body .form-desire-box {
  display: flex;
  align-items: center;
  gap: 20px;
}

.form-body .form-desire-box p {
  flex: 1;
}

.form-body .form-desire-box + .form-desire-box {
  margin-top: 10px;
}

.form-body .form-name-box {
  display: flex;
  gap: 20px;
}

.form-body .bar {
  display: inline-block;
  color: #188623;
  margin: 0 6px;
}

.btn-plan {
  pointer-events: none;
  display: grid;
  place-items: center;
  width: 166px;
  height: 50px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #cdd6dd;
  color: #CDD6DD;
  margin-top: -10px;
}

.btn-plan.active {
  pointer-events: auto;
  border: 1px solid #333333;
  color: #333333;
}

.btn-plan:hover {
  opacity: 1;
}

.btn-plan.active {
  pointer-events: auto;
  border: 1px solid #333;
  color: #333;
}

.caution-area {
  background: #F3F3F2;
  border-radius: 0 0 8px 8px;
  width: calc(100% + 120px);
  padding: 40px 0 80px;
  margin-left: -60px;
  margin-top: 40px;
}

.caution-area.bg-white {
  background: white;
  padding-top: 0;
}

.caution-box {
  border-radius: 8px;
  background: #fff;
  border: 2px solid #e7674c;
  max-width: 700px;
  padding: 40px;
  margin: 0 auto 40px;
}

.caution-box h2 {
  font-weight: 700;
  font-size: 24px;
  line-height: 40px;
  text-align: center;
  color: #e7674c;
  margin-bottom: 40px;
}

.caution-area .privacy {
  text-align: center;
  margin-bottom: 40px;
}

.caution-area .privacy a {
  text-decoration: underline;
}

.btn-confirm {
  display: grid;
  place-items: center;
  width: 220px;
  height: 50px;
  border-radius: 4px;
  background: #49be54;
  border: none;
  font-weight: 600;
  color: #fff;
  margin: 0 auto;
  cursor: pointer;
  transition: .3s;
}

.btn-confirm:hover {
  opacity: .8;
}

.btn-again,
.btn-location {
  display: grid;
  place-items: center;
  width: 140px;
  height: 48px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #333;
  line-height: 29px;
  color: #000;
  transition: .3s;
}

.btn-location:hover {
  color: #49BE54;
}

.remodal-overlay {
  background: rgba(0, 0, 0, 0.4);
}

.remodal {
  border-radius: 8px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, .04);
  text-align: left;
  max-width: 640px;
  padding: 42px 34px 43px;
}

.remodal .remodal-close {
  top: 4px;
  width: 40px;
}

.remodal .remodal-close::before {
  font-size: 30px;
}
.remodal p {
  margin-bottom: 18px;
}

.remodal p.bar {
  border-bottom: solid 1px #CDD6DD;
  padding-bottom: 10px;
}

.remodal .modal-list {
  display: flex;
  margin-bottom: 25px;
}

.remodal .modal-list li:not(:first-child)::before {
  content: ">";
  display: inline-block;
  color: #CDD6DD;
  margin: 0 10px;
}

.remodal-confirm {
  display: block;
  width: 100%;
  max-width: 220px;
  height: 50px;
  border-radius: 4px;
  background: #49be54;
  margin: 60px auto 0;
}

.remodal-confirm.disabled {
  background: #CDD6DD;
  pointer-events: none;
}

@media (max-width:1000px) {
  .form-wrap {
    max-width: calc(100% - 40px);
    padding: 40px 20px 0;
  }

  .caution-area {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}

@media (max-width:900px) {
  .form-body .form-desire-box {
    display: block;
  }

  .form-body .form-desire-box + .form-desire-box,
  .form-body .selectbox + p,
  .form-body .form-desire-box p + .form-input.date {
    margin-top: 16px;
  }

  .form-body .form-input.date + .selectbox {
    margin-top: 10px;
  }

  .form-body .selectbox .time {
    background: url("../../img/common/reserve/icon-clock.a50f012796e2.svg") no-repeat right 16px center / 16px 16px;
  }

  .caution-area {
    padding: 40px 20px;
  }
}

@media (max-width:767px) {
  .page_head05 {
    font-size: 24px;
    margin-bottom: 38px;
  }

  .page_head05::after {
    bottom: -16px;
    border-bottom: solid 2px #333;
    width: 40px;
  }

  .read {
    font-size: 14px;
    line-height: 24px;
    text-align: left;
    padding: 0 16px;
    margin-bottom: 40px;
  }

  .read span {
    font-size: 12px;
  }

  .form-wrap {
    max-width: calc(100% - 32px);
    padding: 40px 13px 0;
  }

  .form-body {
    margin-top: 10px;
  }

  .form-body .form-input {
    padding: 12px 10px;
  }

  .form-body .form-input::placeholder {
    font-size: 14px;
  }

  .form-radio input[type="radio"] {
    width: 24px !important;
    height: 24px;
  }

  .form-radio input[type="radio"]::before {
    width: 14px;
    height: 14px;
  }

  .form-radio label span {
    font-size: 14px;
  }

  .form-radio-box {
    gap: 20px;
    padding-top: 0;
  }

  .form-radio-box.sp-block {
    display: block;
  }

  .form-checkbox {
    font-size: 14px;
  }

  .form-checkbox input[type="checkbox"] {
    width: 24px !important;
    height: 24px;
    vertical-align: -7px;
  }

  .form-checkbox input[type="checkbox"]::before {
    top: 2px;
    left: 8px;
    width: 5px;
    height: 11px;
  }

  .btn-plan {
    font-size: 14px;
    width: 154px;
    margin: 10px 0 0;
  }

  .form-body textarea {
    height: 200px;
    padding: 16px 10px;
  }

  .form-body textarea::placeholder {
    font-size: 14px;
  }

  .form-body .selectbox select {
    font-size: 14px;
    width: 100%;
    max-width: 340px;
    padding: 14px 10px;
  }

  .form-body .selectbox + .form-location-text {
    margin-top: 20px;
  }

  .form-body .form-name-box {
    gap: 16px;
  }

  .form-body .form-tel-box {
    display: flex;
    align-items: center;
  }

  .form-body .form-body-inner {
    background: #FAFBFC;
    width: calc(100% + 26px);
    padding: 20px 13px;
    margin-left: -13px;
  }

  .form-body .form-location-box {
    border-radius: 0;
    background: none;
    width: 100%;
    padding: 0;
  }

  .form-body .form-location-box .form-location-text {
    font-size: 14px;
    border-bottom: none;
    padding: 0;
    margin-bottom: 10px;
  }

  .form-body .form-location-result {
    border-radius: 0;
    width: calc(100% + 26px);
    padding: 20px 13px 40px;
    margin-left: -13px;
  }

  .form-body .form-location-inner {
    display: block;
  }

  .form-body .form-location-result .form-location-text {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .form-body .form-location-result .form-location-name {
    font-size: 14px;
    margin-bottom: 16px;
  }

  .form-name p {
    font-size: 14px;
  }

  .form-name .required {
    font-size: 12px;
    height: 20px;
  }

  .form-body .form-desire-box p {
    font-size: 14px;
  }

  .form-accordion-wrap {
    width: calc(100% + 26px);
    margin-left: -13px;
  }

  .form-accordion-wrap .form-accordion:last-child {
    border-bottom: solid 1px #CDD6DD;
  }

  .form-accordion-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FFFFFF;
    border-top: solid 1px #CDD6DD;
    padding: 11px 10px;
    cursor: pointer;
  }

  .form-body .form-location-box .form-accordion-title p {
    font-size: 12px;
    margin-bottom: 0;
  }

  .form-accordion-title .arrow {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    background: #fff;
    border: 1px solid #cdd6dd;
  }

  .form-accordion-title .arrow::before,
  .form-accordion-title .arrow::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 1px;
    background-color: #CDD6DD;
    position: absolute;
    right: 25%;
    top: 50%;
    transform: translateY(-50%);
    transition: .3s;
  }

  .form-accordion-title .arrow::after {
    transform: translateY(-50%) rotate(90deg);
  }

  .form-accordion-title.show .arrow::after {
    transform: translateY(-50%) rotate(180deg);
  }

  .form-accordion-body {
    display: none;
  }

  .form-accordion-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    background: #FAFBFC;
    border-top: solid 1px #CDD6DD;
    padding: 16px;
  }

  .form-district-wrap {
    position: absolute;
    top: 76px;
    right: 0;
    width: 100%;
    padding: 0 16px;
    z-index: 1;
    transition: .5s;
    transform: translateX(-100%);
  }

  .form-district-wrap.show {
    transform: translateX(0);
  }

  .form-district {
    position: relative;
    background-color: #FFFFFF;
  }

  .form-district-list {
    border-bottom: solid 1px #CDD6DD;
  }

  .form-district-list li {
    border-top: solid 1px #CDD6DD;
  }

  .form-district-list li a {
    position: relative;
    display: block;
    font-size: 12px;
    color: #000;
    padding: 12px 43px 13px 10px;
  }

  .form-district-list li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    border-bottom: solid 1px #49BE54;
    border-right: solid 1px #49BE54;
    width: 5px;
    height: 5px;
    transform: translateY(-50%) rotateZ(-45deg);
  }

  .form-district-list li a.form-district-back {
    padding: 12px 43px 13px 30px;
    background: #F3F3F3;
  }

  .form-district-list li a.form-district-back,
  .form-district-list li a.form-district-all {
    background: #F3F3F3;
  }

  .form-district-list li a.form-district-all::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    border-radius: 2px;
    background: #fff;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
  }

  .form-district-list li a.form-district-back::after {
    content: none;
  }

  .form-district-list li a.form-district-back span {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    background: #fff;
    border: 1px solid #cdd6dd;
    transform: translateY(-50%);
  }

  .form-district-list li a.form-district-back span::after,
  .form-district-list li a.form-district-back span::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 1px;
    background-color: #CDD6DD;
    position: absolute;
    right: 25%;
    top: 50%;
    transform: translateY(-50%);
  }

  .form-district-list li a.form-district-back span::after {
    transform: translateY(-50%) rotate(90deg);
  }

  .form-district-box {
    padding: 80px 0;
  }

  .btn-location {
    position: relative;
    justify-items: flex-start;
    border: 1px solid #cdd6dd;
    line-height: 29px;
    font-size: 12px;
    line-height: 29px;
    width: 129px;
    height: 42px;
    padding-left: 16px;
  }

  .btn-location::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    border-bottom: solid 1px #49BE54;
    border-right: solid 1px #49BE54;
    width: 7px;
    height: 7px;
    transform: translateY(-50%) rotateZ(-45deg);
  }

  .btn-again {
    border: 1px solid #cdd6dd;
    line-height: 29px;
    font-size: 12px;
    line-height: 29px;
    width: 129px;
    height: 42px;
    margin-left: auto;
  }

  .form-location-result .btn-again {
    font-size: 14px;
    border: 1px solid #333333;
    width: 154px;
  }

  .caution-area {
    width: calc(100% + 27px);
    margin-left: -14px;
    padding: 20px 12px 40px;
    margin-top: 44px;
  }

  .caution-area.bg-white {
    background: white;
    padding-top: 0;
    padding-bottom: 60px;
    margin-top: 60px;
  }

  .caution-box {
    padding: 19px 14px 42px;
    margin: 0 auto 30px;
  }

  .caution-box h2 {
    font-weight: 600;
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 20px;
  }

  .caution-box p {
    font-size: 14px;
    line-height: 29px;
  }

  .caution-area .privacy {
    font-weight: 600;
    font-size: 14px;
    line-height: 29px;
    text-align: left;
  }

  .remodal-wrapper {
    padding: 16px 16px 0;
  }

  .remodal {
    padding: 20px 16px 50px;
  }

  .remodal p {
    font-size: 14px;
    margin-bottom: 16px;
  }

  .remodal .modal-list {
    margin-bottom: 16px;
  }

  .remodal .modal-list li {
    font-size: 14px;
  }

  .remodal .modal-list li:not(:first-child)::before {
    content: "|";
    color: #000000;
    margin: 0 5px;
  }

  .form-radio label + label {
    margin-top: 16px;
  }

  .remodal-confirm {
    margin: 16px auto 0;
  }

  .btn-confirm {
    font-size: 14px;
  }
}

@media (max-width:400px) {
  .form-body .selectbox.sm {
    width: calc((100% - 40px) / 3);
  }

  .form-body .selectbox.sm select {
    width: 100%;
  }
}

/*-------------------------------------------------------------*/
/* confirm */

.confirm-wrap {
  background: white;
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .08);
  max-width: 940px;
  padding: 80px 60px;
  margin: auto;
}

.confirm-group {
  background: #fafbfc;
  padding: 20px 40px 30px;
}

.confirm-group + .confirm-group {
  margin-top: 10px;
}

.privacy a {
  font-weight: 700;
}

.confirm-group + .privacy {
  font-size: 14px;
  margin-top: 32px;
}

.confirm-group + .privacy a {
  text-decoration: underline !important;
}

.confirm-name {
  font-weight: 700;
  line-height: 26px;
  color: #707f89;
}

.confirm-body {
  margin-top: 10px;
}

.confirm-body p {
  line-height: 26px;
}

.confirm-body + .confirm-name {
  margin-top: 30px;
}

.confirm-body-list {
  display: flex;
  gap: 30px;
}

.confirm-box {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 90px;
}

.confirm-box .btn-back,
.confirm-box .btn-confirm {
  margin: 0;
}

@media (max-width: 1000px) {
  .confirm-wrap {
    max-width: calc(100% - 40px);
    padding: 40px 20px;
  }
}

@media (max-width: 767px) {
  .confirm-box {
    display: block;
    margin-top: 40px;
  }

  .confirm-box .btn-back,
  .confirm-box .btn-confirm {
    margin: 0 auto;
  }

  .confirm-box .btn-back {
    margin-bottom: 10px;
  }

  .confirm-wrap {
    max-width: calc(100% - 32px);
    padding: 40px 13px;
  }

  .confirm-group {
    padding: 20px 13px;
  }

  .confirm-body-list {
    display: block;
  }

  .confirm-body-list li + li {
    margin-top: 10px;
  }

  .confirm-name {
    font-size: 14px;
  }

  .confirm-body p {
    font-size: 14px;
  }

  .confirm-group + .privacy {
    line-height: 29px;
    margin-top: 20px;
  }
}

/*-------------------------------------------------------------*/
/* complete */

.complete-wrap {
  background: white;
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .08);
  max-width: 940px;
  padding: 80px 60px;
  margin: auto;
}

.complete-title {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  margin-bottom: 10px;
}

.complete-text {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  margin-bottom: 40px;
}

.btn-back {
  display: grid;
  place-items: center;
  font-weight: 700;
  color: #49be54;
  width: 220px;
  height: 50px;
  border-radius: 4px;
  background: #fff;
  border: 2px solid #49be54;
  margin: auto;
  transition: .3s;
}

.btn-back:hover {
  opacity: .8;
}

@media (max-width: 1000px) {
  .complete-wrap {
    max-width: calc(100% - 40px);
    padding: 40px 20px;
  }
}

@media (max-width: 767px) {
  .complete-wrap {
    max-width: calc(100% - 32px);
    padding: 40px 13px;
  }

  .complete-title {
    text-align: left;
    margin-bottom: 8px;
  }

  .complete-text {
    line-height: 2;
    text-align: left;
    margin-bottom: 40px;
  }

  .complete-title.sp-center,
  .complete-text.sp-center {
    text-align: center;
  }

  .btn-back {
    font-size: 14px;
  }
}

/*-------------------------------------------------------------*/
/* mypage_regist */

.form-name .text-sm {
  font-size: 13px;
  margin-left: 10px;
}

.form-birth-box {
  display: flex;
  gap: 20px;
}

.form-checkbox-privacy {
  display: flex;
  align-items: center;
}

.form-checkbox-privacy input[type="checkbox"] {
  position: relative;
  width: 30px !important;
  height: 30px;
  border: 1px solid #CDD6DD;
  border-radius: 4px;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin-right: 10px;
  cursor: pointer;
}

.form-checkbox-privacy input[type="checkbox"]::before {
  position: absolute;
  top: 4px;
  left: 10px;
  transform: rotate(50deg);
  width: 7px;
  height: 13px;
  border-right: 2px solid #EFF4EF;
  border-bottom: 2px solid #EFF4EF;
  content: '';
}

.form-checkbox-privacy input[type="checkbox"]:checked:before {
  border-right: 2px solid #49BE54;
  border-bottom: 2px solid #49BE54;
}

.form-checkbox-privacy a {
  color: #0058FF;
  text-decoration: underline;
}

.btn-confirm-box {
  padding-bottom: 60px;
  margin-top: 50px;
}

@media (max-width: 767px) {
  .form-name {
    flex-wrap: wrap;
    gap: 8px 10px;
  }

  .form-name .text-sm {
    display: block;
    font-size: 12px;
    width: 100%;
    margin-left: 0;
  }

  .form-checkbox-privacy {
    font-size: 14px;
  }

  .form-checkbox-privacy input[type="checkbox"] {
    width: 24px !important;
    height: 24px;
  }

  .form-checkbox-privacy input[type="checkbox"]::before {
    top: 2px;
    left: 8px;
    width: 5px;
    height: 11px;
  }
}

/*-------------------------------------------------------------*/
/* ui-datepicker */

#ui-datepicker-div {
  display: none;
}

.ui-datepicker {
  border: solid 1px #CDD6DD;
  box-shadow: none;
  width: 100%;
  max-width: 340px;
  padding: 0 10px 12px;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-title {
  background-color: #FFFFFF;
  color: #707F89;
}

.ui-datepicker .ui-datepicker-header a.ui-datepicker-prev span:before {
  left: 4px;
  border: none;
  border-bottom: solid 2px #98A6B5;
  border-left: solid 2px #98A6B5;
  width: 5px;
  height: 5px;
  transform: rotateZ(45deg);
}

.ui-datepicker .ui-datepicker-header a.ui-datepicker-next span:after {
  right: 4px;
  border: none;
  border-bottom: solid 2px #98A6B5;
  border-left: solid 2px #98A6B5;
  width: 5px;
  height: 5px;
  transform: rotateZ(-135deg);
}

.ui-datepicker table th,
.ui-datepicker table td {
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
}

.ui-datepicker table th.ui-datepicker-week-end a,
.ui-datepicker table td.ui-datepicker-week-end a {
  background-color: #EFF4EF;
}

.ui-datepicker table th.ui-datepicker-week-end:first-child a,
.ui-datepicker table td.ui-datepicker-week-end:first-child a {
  background-color: #EFF4EF;
}

.ui-datepicker-calendar {
  width: 100%;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-title .ui-datepicker-year {
  font-size: 12px;
  font-weight: normal;
  color: #707F89;
  margin-right: 0;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-title .ui-datepicker-month {
  font-size: 24px;
  color: #3B4043;
  margin-right: 0;
}

.ui-datepicker table th span,
.ui-datepicker table th a {
  font-size: 16px;
  background-color: #FFFFFF;
  display: block;
  padding: 0;
  text-align: center;
  color: #CDD6DD;
}

.ui-datepicker table th.ui-state-disabled span,
.ui-datepicker table td.ui-state-disabled span {
  background-color: #EFF4EF;
  color: #3B4043;
  opacity: 1;
  padding: 4px 0 6px;
}

.ui-datepicker table td span,
.ui-datepicker table td a {
  background-color: #EFF4EF;
  color: #3B4043;
  padding: 4px 0 6px;
}

.ui-datepicker table th.ui-datepicker-week-end a:hover,
.ui-datepicker table td.ui-datepicker-week-end a:hover {
  background: #49BE54;
  color: #FFFFFF;
}

.ui-datepicker table td,
.ui-datepicker table td span,
.ui-datepicker table td a {
  width: auto;
}

.ui-datepicker table td a.ui-state-highlight {
  background: #49BE54;
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .ui-datepicker {
    max-width: 282px;
  }
}

@media (max-width: 340px) {
  .ui-datepicker {
    max-width: 262px;
  }
}


/*-------------------------------------------------------------*/
/* 2025/06 Add */

.form-accordion-wrap_r {
  margin-top: -21px;
}

.form-accordion-wrap_r .form-accordion_r:last-child {
  border-bottom: solid 1px #CDD6DD;
}

.form-accordion-title_r {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #FFFFFF;
  border-top: solid 1px #CDD6DD;
  padding: 11px 10px;
  cursor: pointer;
  color: #000;
}

.form-accordion-title_r .arrow {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 2px;
  background: #fff;
  border: 1px solid #cdd6dd;
}

.form-accordion-title_r .arrow::before,
.form-accordion-title_r .arrow::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 1px;
  background-color: #CDD6DD;
  position: absolute;
  right: 25%;
  top: 50%;
  transform: translateY(-50%);
  transition: .3s;
}

.form-accordion-title_r .arrow::after {
  transform: translateY(-50%) rotate(90deg);
}

.form-accordion-title_r.show .arrow::after {
  transform: translateY(-50%) rotate(180deg);
}

.form-accordion-body_r {
  display: none;
}

.form-accordion-list_r {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  background: #FAFBFC;
  border-top: solid 1px #CDD6DD;
  padding: 16px;
}

.form-radio-scroll_r {
  overflow-y: scroll;
  height: calc(100vh - 450px);
}

.form-radio label {
  cursor: pointer;
}

@media (max-width: 767px) {
  .form-accordion-wrap_r {
    width: calc(100% + 26px);
    margin-left: -13px;
    margin-top: 0;
  }

  .form-body .form-location-box .form-accordion-title_r p {
    font-size: 12px;
    margin-bottom: 0;
  }
}

.text-danger {
  color: #CC0000;
}
