@charset "UTF-8";

textarea {
  width: 100%;
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.4;
}

/* ================================================= *
 *        	Layout
 * ================================================= */
.inquiry_head img {
  width: 150px;
  margin: 8px 24px 0;
}
.content_wrap {
  display: flex;
  align-items: flex-start;
  gap: 60px;
  overflow: visible;
  justify-content: center;
}

@media print, screen and (max-width: 1024px) {
  .content_wrap {
    gap: 30px;
  }
}

.main-container {
  padding: 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 670px;
}

.sticky_area {
  position: sticky;
    top: 0;
    z-index: 100;
    background-color: #fff;
}

.status_wrapper {
    width: 80%;
}

.content-wrapper {
  padding: 0 18px;
}

.content-wrapper h1 {
  text-align: center;
}

.content-wrapper h1 img {
  width: 180px;
}

.content-wrapper .head-read {
  text-align: center;
}

.content-wrapper .head-read .head-read_ttl {
  font-size: 28px;
  font-weight: bold;
}

.content-wrapper .head-read .head-read_ttl span {
  font-size: 20px;
  color: #777;
}

.content-wrapper .head-read .head-read__txt_wrap {
  max-width: 300px;
  background-color: #fce0bd;
  margin: 0 auto;
}

.content-wrapper .head-read .head-read__txt_wrap .head-read__txt {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  padding: 4px;
  margin-top: 10px;
}

.content-wrapper .head-read .head-read__txt_wrap .head-read__txt::before {
  content: "";
  bottom: 0;
  left: 0;
  border-bottom: 40px solid transparent;
  border-left: 22px solid #fff;
  position: absolute;
  z-index: 0;
}

.content-wrapper .head-read .head-read__txt_wrap .head-read__txt::after {
  content: "";
  bottom: 0;
  right: 0;
  border-top: 40px solid transparent;
  border-right: 22px solid #fff;
  position: absolute;
  z-index: 0;
}

.content-wrapper .phone-inquiry {
  font-size: 16px;
  background: #f7f7f7;
  padding: 8px 4px 8px 0;
  margin: 16px 0;
}

.content-wrapper .phone-inquiry .phone-inquiry_list {
  padding-left: 30px;
}

.content-wrapper .phone-inquiry .phone-inquiry_list .phone-inquiry_list_item {
  position: relative;
  margin: 8px 0;
}

.content-wrapper .phone-inquiry .phone-inquiry_list .phone-inquiry_list_item a {
  text-decoration: underline;
}

.content-wrapper .phone-inquiry .phone-inquiry_list .phone-inquiry_list_item::before {
  content: "";
  position: absolute;
  border: solid 1px #ff8e00;
  border-radius: 16px;
  left: -25px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  color: #ff8e00;
  background: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff8e00'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19l11-11-1.41-1.41z'/%3E%3C/svg%3E");
}

#mail-inquiry .mail-inquiry__ttl {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 8px;
}

#mail-inquiry .form-content__item {
  font-size: 16px;
  margin-bottom: 24px;
}

#mail-inquiry .form-content__item dt {
  margin-bottom: 12px;
}

#mail-inquiry .form-content__item .form-content__item_label {
  display: flex;
  font-weight: bold;
}

#mail-inquiry .form-content__item .form-content__item_label .label-important {
  font-size: 16px;
  color: #f00;
  border: solid 2px #f00;
  border-radius: 16px;
  padding: 0px 8px;
}

#mail-inquiry .form-content__item .form-content__item_label .label-default {
  font-size: 16px;
  color: #888;
  border: solid 2px #888;
  border-radius: 16px;
  padding: 0px 8px;
}

#mail-inquiry .form-content__item .form-content__item_small {
  font-size: 14px;
  color: #555;
  margin: 0 0 4px;
}

#mail-inquiry .form-content__item .check_radio_required label {
  display: block;
  width: 100%;
  cursor: pointer;
  margin: 8px;
}

#mail-inquiry .form-content__item .check_radio_required .select_wrap {
  border: solid 1px #888;
  border-radius: 8px;
  padding: 8px;
}

#mail-inquiry .form-content__item .check_radio_required .select_wrap:has(input:checked) {
  background: #f5aa4b;
  border: solid 1px #f5aa4b;
}

#mail-inquiry .form-content__item .check_radio_required .select_wrap:has(input:checked)::after {
  content: "";
  position: absolute;
  background: #07a21c;
  border-radius: 16px;
  right: -8px;
  top: 3px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19l11-11-1.41-1.41z'/%3E%3C/svg%3E");
}

#mail-inquiry .form-content__item .check_radio_required .select_wrap input {
  cursor: pointer;
  margin-right: 8px;
}

#mail-inquiry .form-content__item dd input[type="text"],
#mail-inquiry .form-content__item dd input[type="tel"],
#mail-inquiry .form-content__item dd select {
  width: 100%;
  padding: 8px;
  border-radius: 8px;
  border: solid 1px #888;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.4;
}

#mail-inquiry .form-content__item dd .error input[type="text"],
#mail-inquiry .form-content__item dd .error input[type="tel"],
#mail-inquiry .form-content__item dd.error select {
  border: solid 2px #f00;
}

#mail-inquiry .form-content__item .wrap {
  position: relative;
}

#mail-inquiry .form-content__item .wrap .input-content:not(#inquiry_comments,#mail_address),
#mail-inquiry .form-content__item .wrap .input-content:not(#inquiry_comments,#mail_address):-webkit-autofill,
#mail-inquiry .form-content__item .wrap .input-content:not(#inquiry_comments,#mail_address):-webkit-autofill,
#mail-inquiry .form-content__item .wrap .input-content:not(#inquiry_comments,#mail_address):-webkit-autofill:focus {
  background-color: #f5aa4b !important;
  border: solid 1px #f5aa4b !important;
  -webkit-box-shadow: 0 0 0px 1000px #f5aa4b inset !important;
}

#mail-inquiry .form-content__item .wrap:has(.input-content)::after {
  content: "";
  position: absolute;
  background: #07a21c;
  border-radius: 16px;
  right: -8px;
  top: 3px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19l11-11-1.41-1.41z'/%3E%3C/svg%3E");
}

#mail-inquiry .form-content__item .wrap .error,
#mail-inquiry .form-content__item .error p.error {
  color: #f00;
}

#mail-inquiry .attention_area {
  text-align: center;
  margin: 24px 0;
}

#mail-inquiry .attention_area .attention {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 16px;
}

#mail-inquiry .attention_area .attention a {
  color: #000;
  text-decoration: underline;
}

#mail-inquiry .attention_area button {
  background-color: #f00;
  color: #fff;
  font-size: 20px;
  padding: 18px 48px;
  border: none;
  border-radius: 30px;
}

.form-content {
  padding: 16px;
}

#send_mail .form_title {
  font-size: 24px;
  font-weight: bold;
  text-decoration: underline;
  text-align: center;
  margin-bottom: 20px;
}

#send_mail .check_message {
  font-size: 16px;
  margin: 0 2% 2% 2%;
}

#send_mail .check_message span {
  display: inline-block;
  font-weight: bold;
}

#send_mail .check_message a {
  display: inline-block;
}

#send_mail .check_message.center {
  text-align: center;
}

/* サイドメニューの固定 */
.side-menu {
  position: sticky;
  top: 20px;
  width: 370px;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex-shrink: 0;
  border: solid 1px #ccc;
  padding: 18px 25px 20px;
  margin-right: 16px;
}

.side-menu::-webkit-scrollbar {
  display: none;
}

.side-menu .aside_item {
  margin-bottom: 24px;
}

.side-menu .aside_item .aside_title {
  font-size: 22px;
  font-weight: bold;
  margin: 0 0 8px;
}

.side-menu .aside_item .aside_title .label-strong {
  color: #f18700;
}

.side-menu .aside_item .aside_contents {
  font-size: 14px;
}

.banner_SP {
  display: none;
}

@media print, screen and (max-width: 1024px) {
  .content-wrapper {
    padding: 0 8px;
  }

  .side-menu {
    width: 340px;
    padding: 18px 8px 20px;
  }
}

@media print, screen and (max-width: 768px) {
  .content_wrap {
    display: block;
  }
  .main-container {
    margin: 0 auto;
  }
  .side-menu {
    width: 370px;
    position: unset;
    max-height: unset;
    overflow: unset;
    padding: 18px 25px 20px;
    margin: 0 auto 24px;
  }

  .banner_PC {
    display: none;
  }

  .banner_SP {
    display: block;
    margin: 0 auto;
    max-width: 640px;
  }

  .banner_SP img {
    margin-bottom: 42px;
  }

}

@media print, screen and (max-width: 425px){
  .side-menu {
    width: auto;
    border: none;
    border-top: solid 1px #ccc;
    padding: 18px 16px 20px;
  }
}


.status_wrapper {
    padding: 40px 20px;
    margin: 0 auto;
}

.progress-stepper {
    position: relative;
    width: 100%;
    height: 4px;
}

.progress-track {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #e0e0e0;
    z-index: 1;
}

.progress-bar {
    width: 0%;
    height: 100%;
    background-color: #ff6b00;
    transition: width 0.4s ease;
}

.step-item {
    position: absolute;
    top: -8px;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
    white-space: nowrap;
}

.step-circle {
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 3px solid #e0e0e0;
    border-radius: 50%;
    margin: 0 auto 8px;
    transition: all 0.4s ease;
}

.step-label {
    display: block;
    font-size: 12px;
    color: #999;
    font-weight: bold;
}

.step-item.active .step-circle {
    border-color: #ff6b00;
    background-color: #ff6b00;
}
.step-item.active .step-label {
    color: #ff6b00;
}