@charset "UTF-8";

/*
プラグイン用のCSS
*/
/*-------------------------------------------------------
	Simple Booking Calendar
-------------------------------------------------------*/

:root {

  /* 月 */
  --calendar-month-color: var(--pallet-black);
  --calendar-month-font-size: var(--font-size-34px);
  --calendar-month-font-family: var(--font-family-ja);
  --calendar-month-font-style: var(--font-style-ja);
  --calendar-month-font-weight: var(--font-weight-ja-medium);

  /* 曜日 */
  --calendar-day-color: inherit;
  --calendar-day-holiday-color: var(--pallet-black);
  --calendar-day-color: var(--pallet-black);
  --calendar-day-font-size: var(--font-size-14px);
  --calendar-day-font-family: var(--font-family-ja);
  --calendar-day-font-style: var(--font-style-ja);
  --calendar-day-font-weight: var(--font-weight-ja-medium);

  /* 日 */
  --calendar-date-color: inherit;
  --calendar-date-font-size: var(--font-size-18px);
  --calendar-date-font-family: var(--font-family-ja);
  --calendar-date-font-style: var(--font-style-ja);
  --calendar-date-font-weight: var(--font-weight-ja-medium);

  /* etc */
  --calendar-outer-frame-color: transform;
  --calendar-border-color: var(--pallet-dark-beige);
  --calendar-background-color: var(--pallet-white);
}

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

  :root {

    /* 月 */
    --calendar-month-font-size: var(--font-size-30px);

    /* 曜日 */
    --calendar-day-font-size: var(--font-size-12px);

    /* 日 */
    --calendar-date-font-size: var(--font-size-14px);
  }

}

.calendar {
  border: 1px solid var(--calendar-outer-frame-color);
  height: 100%;
  padding-block: 30px;
}

/* .calendar {
  border: 1px solid var(--calendar-outer-frame-color);
  padding: 30px 25px 10px;
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
} */

.wpsbc-calendars-wrapper {
  color: var(--calendar-day-color);
  max-width: 1060px;
  margin-inline: auto;
}

.wpsbc-calendar {
  margin: 0 auto;
  width: 100% !important;
  max-width: 1030px;
  /* border: 1px solid var( --calendar-outer-frame-color) !important; */
  border: none !important;
}

/* カレンダー本体のラッパー */

.wpsbc-container[data-columns] .wpsbc-calendars {
  margin-left: unset !important;
  margin-right: unset !important;
}

.wpsbc-calendars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 50px;
}

.wpsbc-container[data-columns] .wpsbc-calendars .wpsbc-calendar {
  float: none !important;
  margin: 0 auto !important;
  /* max-width: 480px !important; */
  max-width: 100% !important;
  padding: 37px 30px 20px;
  border-radius: 20px;
}

.wpsbc-container .wpsbc-calendars .wpsbc-calendar {
  background-color: var(--calendar-background-color) !important;
}

/* カレンダーの文字色を変更 */
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table th {
  text-align: center;
}

.wpsbc-container .wpsbc-calendars .wpsbc-calendar table thead tr th {
  padding: 0 0 10px 0 !important;
}

.wpsbc-container .wpsbc-calendars .wpsbc-calendar table td {
  text-align: center;
}

/* カレンダーの月を表示しているヘッダ部分 */
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header {
  background-color: transparent !important;
  padding: 0 !important;
  position: relative;
}

/* カレンダーの月送りのヘッダ部分 */
.wpsbc-container
  .wpsbc-calendars
  .wpsbc-calendar
  .wpsbc-calendar-header
  .wpsbc-calendar-header-navigation {
    line-height: 1 !important;
    position: static !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: 25px 1fr 25px;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
}

/* カレンダーの月移動の前ボタン */
.wpsbc-container
  .wpsbc-calendars
  .wpsbc-calendar
  .wpsbc-calendar-header
  .wpsbc-calendar-header-navigation
  .wpsbc-prev {
  background-color: transparent !important;
  position: static !important;
  margin-top: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1 !important;
  grid-column: 1 / 2;
}

.wpsbc-container
  .wpsbc-calendars
  .wpsbc-calendar
  .wpsbc-calendar-header
  .wpsbc-calendar-header-navigation
  .wpsbc-prev
  .wpsbc-arrow {
  border-width: 0 !important;
}

.wpsbc-container
  .wpsbc-calendars
  .wpsbc-calendar
  .wpsbc-calendar-header
  .wpsbc-calendar-header-navigation
  .wpsbc-next {
  background-color: transparent !important;
  position: static !important;
  margin-top: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1 !important;
  grid-column: 3 / 4;
}

.wpsbc-container
  .wpsbc-calendars
  .wpsbc-calendar
  .wpsbc-calendar-header
  .wpsbc-calendar-header-navigation
  .wpsbc-next
  .wpsbc-arrow {
  border-width: 0 !important;
}

.wpsbc-container
.wpsbc-calendars
.wpsbc-calendar
.wpsbc-calendar-header
.wpsbc-calendar-header-navigation
.wpsbc-next::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 14px;
  background-image: url("../images/svg/calendar/calendar_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.wpsbc-container
.wpsbc-calendars
.wpsbc-calendar
.wpsbc-calendar-header
.wpsbc-calendar-header-navigation
.wpsbc-prev::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 14px;
  background-image: url("../images/svg/calendar/calendar_left.svg");
  background-size: contain;
	background-repeat: no-repeat;
  vertical-align: middle;
}

/* カレンダーの月を表示しているヘッダ部分の後ろに画像を追加 */
.wpsbc-container
.wpsbc-calendars
.wpsbc-calendar
.wpsbc-calendar-header::after {
    content: '';
    display: inline-block;
    width: 70px;
    height: 16px;
    background-image: url("../images/svg/calendar/close_day.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    right: 50px;
    transform: translate(0, -50%);
}

.wpsbc-container .wpsbc-calendars .wpsbc-calendar-wrapper {
  position: relative;
  padding-inline: 0 !important;
  /* top: -25px;
  margin-bottom: -40px; */
}

/* カレンダー説明部分 */
.wpsbc-legend {
  display: grid;
  border-color: transparent !important;
  margin: 0;
  padding: 8px 0 5px 0;
  max-width: max-content;
  margin-inline: auto;
  padding-right: 35%;
}

.wpsbc-legend-item:first-child {
  display: none;
}

.wpsbc-legend .wpsbc-legend-item {
  margin-bottom: 3px !important;
  margin-left: 6px;
}

/* 説明 */
.wpsbc-legend .wpsbc-legend-item-icon-color {
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
}

.wpsbc-legend-item-icon[data-type=single] div:first-of-type {
  top: 50% !important;
  left: 50%  !important;
}

.calendar_note_txt {
  font-size: var(--font-size-13px);
  line-height: 1.2;
  text-align: center;
}

/* カレンダーの該当なし日付の背景を変更 */
.wpsbc-container
  .wpsbc-calendars
  .wpsbc-calendar
  table
  tr
  td
  .wpsbc-date.wpsbc-gap {
  background-color: transparent !important;
}

/* カレンダーの通常の背景を変更 */
.calendar .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-1 div:first-of-type {
  background-color: transparent !important;
}

/* カレンダーの定休日の背景を変更 */
/* .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-2 div:first-of-type,
.wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-5 div:first-of-type,
.wpsbc-container.wpsbc-calendar-2 .wpsbc-legend-item-icon-6 div:first-of-type,
.wpsbc-container.wpsbc-calendar-2 .wpsbc-legend-item-icon-color:first-of-type {
  border-radius: 50%;
  width: 26px;
  height: 26px;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -55%);
  right: 50%;
} */

.wpsbc-legend-item-icon-color:first-of-type {
  border-radius: 50%;
  width: 26px;
  height: 26px;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  right: 50%;
}

.wpsbc-calendars .wpsbc-legend-item-icon {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  width: 26px;
  height: 26px;
  transform: translate(-50%, -50%);
}

/* カレンダーの営業日でも定休日でもない時の背景色を変更 */
.wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-3 div:first-of-type {
  background-color: transparent !important;
}

.wpsbc-date-inner {
  height: 35px !important;
  line-height: 35px !important;
}

/* カレンダーの日付のフォントサイズ */
.wpsbc-container
  .wpsbc-calendars
  .wpsbc-calendar
  table
  tr
  td
  .wpsbc-date-inner
  .wpsbc-date-number {
  font-size: var(--calendar-date-font-size) !important;
  font-family: var(--calendar-date-font-family);
  font-style: var(--calendar-date-font-style);
  font-weight: var(--calendar-date-font-weight);
  color: var(--calendar-date-color);
  line-height: 1.8;
}

/* カレンダーのプルダウンの非表示 */
.wpsbc-calendars-wrapper .wpsbc-select-container select {
  display: none;
}

/* カレンダーのプルダウンの代わりに月の数字を表示する */
.wpsbc-container .wpsbc-select-container::before {
  font-family: var(--calendar-month-font-family);
  font-style: var(--calendar-month-font-style);
  font-weight: var(--calendar-month-font-weight);
  font-size: var(--calendar-month-font-size);
  color: var(--calendar-month-color) !important;
  display: block;
}

.wpsbc-select-container {
  grid-column: 2 / 3;
}

.wpsbc-month-label {
  grid-column: 2 / 3;
}

.wpsbc-month-label {
  font-family: var(--calendar-month-font-family);
  font-style: var(--calendar-month-font-style);
  font-weight: var(--calendar-month-font-weight);
  font-size: var(--calendar-month-font-size);
  color: var(--calendar-month-color) !important;
  display: block;
}

.wpsbc-container .wpsbc-select-container::after {
  font-size: 18px;
  display: block;
}

.wpsbc-container[data-current_month="1"] .wpsbc-select-container::before {
  content: "1";
}

.wpsbc-container[data-current_month="2"] .wpsbc-select-container::before {
  content: "2";
}

.wpsbc-container[data-current_month="3"] .wpsbc-select-container::before {
  content: "3";
}

.wpsbc-container[data-current_month="4"] .wpsbc-select-container::before {
  content: "4";
}

.wpsbc-container[data-current_month="5"] .wpsbc-select-container::before {
  content: "5";
}

.wpsbc-container[data-current_month="6"] .wpsbc-select-container::before {
  content: "6";
}

.wpsbc-container[data-current_month="7"] .wpsbc-select-container::before {
  content: "7";
}

.wpsbc-container[data-current_month="8"] .wpsbc-select-container::before {
  content: "8";
}

.wpsbc-container[data-current_month="9"] .wpsbc-select-container::before {
  content: "9";
}

.wpsbc-container[data-current_month="10"] .wpsbc-select-container::before {
  content: "10";
}

.wpsbc-container[data-current_month="11"] .wpsbc-select-container::before {
  content: "11";
}

.wpsbc-container[data-current_month="12"] .wpsbc-select-container::before {
  content: "12";
}

/* デフォルトの曜日表記を非表示にして英語表記の曜日に変更 */
/* #main_contents .wpsbc-calendar-wrapper thead {
  border-bottom: 1px solid var(--calendar-border-color) !important;
} */

#main_contents .wpsbc-calendar-wrapper tbody:before {
	content: "";
	height: 1px;
	width: 100%;
	display: block;
  padding: 2px 0;
}

.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tbody {
  border-top: 1px solid var(--calendar-border-color) !important;
}

.wpsbc-calendar-wrapper th {
  font-size: 0 !important;
}

.wpsbc-calendar-wrapper th::after {
  color: var(--calendar-day-color);
  font-size: var(--calendar-day-font-size);
  font-family: var(--calendar-day-font-family);
  font-style: var(--calendar-day-font-style);
  font-weight: var(--calendar-day-font-weight);
}

.wpsbc-calendar-wrapper th:nth-child(1)::after {
  content: "日";
  color: var(--calendar-day-holiday-color);
}

.wpsbc-calendar-wrapper th:nth-child(2)::after {
  content: "月";
}

.wpsbc-calendar-wrapper th:nth-child(3)::after {
  content: "火";
}

.wpsbc-calendar-wrapper th:nth-child(4)::after {
  content: "水";
}

.wpsbc-calendar-wrapper th:nth-child(5)::after {
  content: "木";
}

.wpsbc-calendar-wrapper th:nth-child(6)::after {
  content: "金";
}

.wpsbc-calendar-wrapper th:nth-child(7)::after {
  content: "土";
}

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

  .wpsbc-legend {
    padding-right: 0;
  }

}

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

  .wpsbc-calendars {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .calendar {
    border: 1px solid var(--calendar-outer-frame-color);
    height: 100%;
    padding-block: 30px 0;
    max-width: 500px;
    margin-inline: auto;
  }

  .wpsbc-container
  .wpsbc-calendars
  .wpsbc-calendar
  .wpsbc-calendar-header::after {
      right: 35px;
  }

}

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



  /* .wpsbc-calendars-wrapper {
    padding-top: 0;
  }

  .wpsbc-date-inner {
    height: 25px !important;
    line-height: 25px !important;
  }

  .wpsbc-container .wpsbc-select-container::before {
    font-size: var(--calendar-month-font-size);
    display: block;
    position: relative;
  }

  .wpsbc-container .wpsbc-select-container::after {
    font-size: 15px;
    display: block;
  }

  .wpsbc-container
    .wpsbc-calendars
    .wpsbc-calendar
    table
    tr
    td
    .wpsbc-date-inner
    .wpsbc-date-number {
    font-size: 13px !important;
    font-weight: 400;
  }

  .wpsbc-container
    .wpsbc-calendar-1
    .wpsbc-legend-item-icon-1
    div:first-of-type {
    border-radius: 100%;
    width: 20px;
    height: 20px;
    left: 28.5%;
  }

  .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-2 div:first-of-type,
  .wpsbc-container.wpsbc-calendar-2 .wpsbc-legend-item-icon-6 div:first-of-type {
    width: 22px;
    height: 22px;
  }

  .wpsbc-container[data-columns] .wpsbc-calendars {
    margin-left: initial !important;
    margin-right: initial !important;
  }

  .wpsbc-container[data-columns] .wpsbc-calendars .wpsbc-calendar {
    width: 90%;
    padding: 15px;
  }

  .wpsbc-container
    .wpsbc-calendars
    .wpsbc-calendar
    .wpsbc-calendar-header::after {
    top: -44px;
  } */

  .wpsbc-container
  .wpsbc-calendars
  .wpsbc-calendar
  .wpsbc-calendar-header
  .wpsbc-calendar-header-navigation {
    margin-bottom: 0;
  }

  .calendar_note_txt {
    font-size: var(--font-size-12px) !important; 
  }

  .wpsbc-legend .wpsbc-legend-item-name {
    font-size: var(--font-size-12px);
  }

  .wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date-inner .wpsbc-date-number {
    top: 3px;
  }

}


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

  .wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date-inner .wpsbc-date-number {
    top: 5px;
  }

}

/*-------------------------------------------------------
	 Contact Form 7
-------------------------------------------------------*/

.contact {
  padding: 75px 5% 85px;
}

.contact-form {
  max-width: 765px;
  margin: 0 auto;
  /* padding-right: 5%;
  padding-left: 5%; */
}

.contact_column {
  display: grid;
  grid-template-columns: 47px 100px 1fr;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
  gap: 9px;
}

.contact_column:last-of-type {
  margin-bottom: 17px;
}

.contact_column.contact_column_message {
  align-items: start;
}

/* .wpcf7-form-control-wrap {
  grid-column: 1 / 3;
} */

.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"] {
    /* width: 100%; */
    padding: 13px;
    font-family: var(--font-family-ja);
    font-style: var(--font-style-ja);
    font-weight: var(--font-weight-ja);
    font-size: var(--font-size-16px);
    height: auto;
    line-height: 1.5;
    border: 1px solid var(--pallet-white);
    background-color: var(--pallet-white);
    border-radius: 10px;
    color: var(--pallet-black);
}

input[name="your-address"], input[name="your-email"], input[name="your-email-confirm"] {
  width: 100%;
}

input[name="your-post-code"] {
  width: 35%;
  min-width: 210px;
}

input[name="your-name"], input[name="your-furigana"], input[name="your-tel"] {
  width: 66%;
  min-width: 400px;
}


/* .wpcf7 input[type="email"] {
  width: 100%;


  min-width: 250px;
  border: 1px solid var(--pallet-white);
  background-color: var(--pallet-white);
  color: var(--pallet-black);
} */

/* お問い合わせ内容 */
textarea.wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 15px;
  color: var(--pallet-black);
  font-family: var(--font-family-ja);
  font-style: var(--font-style-ja);
  font-weight: var(--font-weight-ja);
  font-size: var(--font-size-16px);
  line-height: 1.5;
  border: 1px solid var(--pallet-white);
  background-color: var(--pallet-white);
  border-radius: 10px;
}

input::placeholder {
  color: var(--pallet-gray);
  font-size: var(--font-size-14px);
  line-height: 1.6;
}

/* focus */
#contact-form :focus-visible {
  outline: var(--pallet-orange) auto 1px;
}

/* 必須アイコン */
.contact_column_required {
  width: 47px;
  height: 24px;
  background: var(--pallet-orange);
  text-align: center;
  font-size: var(--font-size-14px);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pallet-white);
  letter-spacing: 0.08rem;
  text-indent: 0.08rem;
  border-radius: 5px;
  padding-bottom: 1px;
}

/* 送信ボタン */

#submit_button_row {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 15px;
}

#submit_button_block {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 250px;
}

input.wpcf7-form-control.has-spinner.wpcf7-submit {
  padding: 14px;
  width: 280px;
  min-width: 0;
  height: auto;
  display: inline-block;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--pallet-orange);
  background-color: var(--pallet-orange);
  border-radius: 9999px;
  color: var(--pallet-white);
  font-size: var(--font-size-16px);
  letter-spacing: 1rem;
  text-indent: 1rem;
  position: relative;
}

#submit_button_block::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 11px;
  aspect-ratio: cos(30deg);
  clip-path: polygon(0 0,100% 50%,0 100%);
  background: var(--pallet-white);
  top: 22px;
  right: 9px;
}

input.wpcf7-form-control.has-spinner.wpcf7-submit:hover {
  opacity: 0.7;
  cursor: pointer;
}

/* 送信完了 */
.wpcf7 form.sent .wpcf7-response-output {
  text-align: center;
  text-wrap: balance;
}

.wpcf7 form .wpcf7-response-output {
  margin: 2em 5% 1em;
}

/* 入力注意 */
.wpcf7-not-valid-tip {
  font-weight: var(--font-weight-ja);
  margin-top: 3px;
}

/* 同意 */
.wpcf7-list-item label {
  display: flex;
  gap: 10px;
  line-height: 1.5;
  font-size: 13px;
}

/* 送信エラー */
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  text-align: center;
  text-wrap: balance;
}

/* reCAPTCHA */
/* .recaptcha_wrapper {
  display: block;
  text-align: center;
}

.recaptcha {
  font-size: var(--font-size-11px);
  line-height: 1.8;
  text-align: center;
}

.recaptcha a.recaptcha-link {
  text-decoration: underline;
}

.grecaptcha-badge {
  visibility: hidden;
} */

/* @media screen and (max-width: 900px) {

  .l-contact {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .l-contact__txt {
    font-size: var(--font-size-14px);
  }

  .wpcf7 input {
    font-size: var(--font-size-15px);
  }

  .wpcf7 input[type="email"] {
	    width: 100%;
  }

} */

#index_page .contact_column_tel {
  grid-column: 1 / 3;
}

#index_page .contact_column_address {
  grid-column: 1 / 3;
}

.contact_column_address {
  grid-column: 1 / 3;
}

.contact_message_note {
  /* grid-column: 1 / 3; */
  font-size: var(--font-size-14px);
  line-height: 1.5;
  padding-top: 8px;
  padding-left: 10px;
  padding-bottom: 10px;
}

/* ファイル */
.wpcf7 input[type="file"] {
  font-size: var(--font-size-13px);
}

/* 求人応募フォーム */

#recruit-page_static_page .contact_column  {
  grid-template-columns: 47px 125px 1fr;
}

.recruit-contact-form {
    background-color: var(--pallet-deep-beige);
    padding-top: 80px;
    padding-bottom: 80px;
    padding-inline: 5%;

  .c-title__en {
    padding-bottom: 0;
  }

}

.entry__title {
  padding-bottom: 43px;
}

.recruit-contact-form__txt {
  padding-bottom: 52px;
}

.wpcf7-list-item-label {
  font-size: var(--font-size-16px);
}

.your-birth-year,
.your-birth-month,
.your-birth-day {
  max-width: 100%;
  width: 100%;
}

.your-birthday-content {
  display: grid;
  grid-template-columns: 150px 1fr 1fr 1fr;
  column-gap: 20px;
  align-items: center;
}

.your-birthday-number {
  display: flex;
  column-gap: 5px;
  align-items: center;
}

.wpcf7-select {
  padding: 15px 30px 15px 14px;
  border-radius: 10px !important;
  border-color: transparent;
  position: relative;
  min-width: 266px;
}

.wpcf7-select::after {
  position: absolute;
  right: 15px;
  width: 10px;
  height: 7px;
  background-color: var(--pallet-orange);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
  pointer-events: none;
}

/* select {
  -webkit-appearance: none;
  appearance: none;
} */

/* Cloudflare */
.wpcf7-turnstile.cf-turnstile {
  text-align: center;
}

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

  .recruit-contact-form .c-title__en img {
    width: 90px !important;
    height: auto !important;
  }

  .recruit-contact-form__txt {
    padding-bottom: 52px;
    font-size: var(--font-size-15px);
  }

  .recruit-contact-form .recruit-contact-form__txt {
    padding-bottom: 28px;
  }

  .wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"] {
    width: 100% !important;
  }

  input[name="your-name"], input[name="your-furigana"], input[name="your-tel"] {
    min-width: 0;
  }

  .contact_column {
    display: grid;
    grid-template-columns: 43px 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    gap: 9px;
  }

  #recruit-page_static_page .contact_column {
    grid-template-columns: 43px 1fr;
  }

  .contact_column_required {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    font-size: var(--font-size-12px);
    width: 43px;
    height: 22px;
    line-height: 0.82;
  }

  .contact_column_text {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    font-size: var(--font-size-14px);
  }

  .contact_message_block {
    font-size: var(--font-size-14px);
  }

  .wpcf7-form-control-wrap {
    grid-column: 1 / 4;
    grid-row: 2 / 3;
  }

  .recruit-contact-form {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .contact_column_no_required {
    display: none;
  }

  .contact_column:has(.contact_column_no_required) .contact_column_text {
    grid-column: 1 / 3;
  }

  .contact {
    padding: 52px 5% 52px;

    .c-title__en-img {
      width: 132px;
    }

    .contact__note {
      font-size: var(--font-size-15px);
    }

  }

  .wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"] {
    padding: 10px;
  }

  textarea.wpcf7-form-control.wpcf7-textarea {
    padding: 10px;
  }

  .your-birthday-content {
    grid-column: 1 / 4;
    grid-row: 2 / 3;
  }

  #recruit-page_static_page .contact_column:has(.your-birthday-content) {
    grid-template-columns: 43px 1fr;
    /* grid-template-rows: auto auto auto; */
  }

  .your-birthday-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    column-gap: 20px;
    align-items: center;
  }

  .your-birthday-number:has(.your-birth-era-name) {
    grid-column: 1 / 4;
    grid-row: 1 / 2;
  }

  .your-birthday-number:has(.your-birth-year) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  .your-birthday-number:has(.your-birth-month) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  .your-birthday-number:has(.your-birth-day) {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
  }

  .wpcf7-list-item-label {
    font-size: var(--font-size-14px);
  }

  .your-birthday-number.your-birth-era-name__wrapper {
    grid-column: 1 / 4;
  }

}


