/*
Theme Name:bakuchis
Theme URI: https://wp-ninja.net
Description: Child Theme For Divi
Author: Eduard Ungureanu
Author URI: https://wp-ninja.net
Template: Divi
*/

/* Start your custom CSS bellow this comment
============================================ */
.demo {
  justify-content: space-between;
  align-items: baseline;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 128px;
}
@media screen and (max-width: 599px) {
  html {
    scroll-padding-top: 40px;
  }
}
#contact-form {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 4em;
  padding: 2em;
  background-color: #fff;
  color: #000000;
}
@media screen and (max-width: 599px) {
  #contact-form {
    width: 100%;
    margin-bottom: 0;
    padding: 1em;
  }
}
.contact-form-inner {
  padding: 16px;
  background-color: white;
}
.form-tr {
  width: 100%;
  display: flex;
  margin: 24px 0;
}
@media screen and (max-width: 599px) {
  .form-tr {
    display: block;
  }
}
.form-th {
  width: 25%;
  display: inline-flex;
  margin-bottom: 0.2em;

  font-family: Roboto;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 599px) {
  .form-th {
    width: 100%;
    font-size: 16px;
  }
}
.form-td {
  width: 75%;

  font-family: Roboto;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 599px) {
  .form-td {
    width: 100%;
    font-size: 16px;
  }
}
.form-th.form-required::after {
  content: "必須";
  margin-left: 0.5em;
  padding: 0.2em 0.5em;
  border-radius: 0.2em;
  font-size: 0.8em;
  background-color: red;
  color: white;
  align-items: center;
}

.form-th.form-any::after {
  content: "任意";
  margin-left: 0.5em;
  padding: 0.2em 0.5em;
  border-radius: 0.2em;
  font-size: 0.8em;
  background-color: cyan;
  color: black;
  align-items: center;
}
textarea,
input[type="email"],
input[type="date"],
input[type="tel"],
input[type="text"],
input[type="url"] {
  width: 100%;
  font-size: 24px;
  padding: 0.2em;
  outline: solid 1px #e0e0e0 !important;
  border-radius: 5px;
  border: unset;
  background-color: #fafafa;
}
@media screen and (max-width: 599px) {
  textarea,
  input[type="email"],
  input[type="date"],
  input[type="tel"],
  input[type="text"],
  input[type="url"] {
    width: 100%;
    font-size: 16px;
  }
}

textarea:focus-visible,
input[type="email"]:focus-visible,
input[type="date"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="url"]:focus-visible,
input[type="text"]:focus-visible {
  outline: solid 1px blue !important;
}

.form-acceptance {
  margin: 1em 0;
}
.form-acceptance.wpcf7-form-control-wrap {
  width: fit-content;
  margin: 0 auto;
}
.form-acceptance span.wpcf7-list-item {
  width: 100%;
  margin-bottom: 1em;
}
.form-acceptance input[type="checkbox"] {
  display: inline-flex;
  width: 10%;
  margin-left: 0;
  align-items: center;
}
.form-acceptance span.wpcf7-list-item-label {
  display: inline-block;
  width: 85%;
}
.wpcf7-list-item-label::before {
  display: none;
}
.form-btn-send {
  text-align: center;
}
input[type="submit"] {
  display: flex;
  width: 236px;
  height: 74px;
  margin: 0 auto;
  background-color: #ffffff;
  color: #000000;
  transition: 0.3s;
  border: solid 1px #000000;
  text-align: center;
  align-items: center;
	justify-content:center;

  font-family: Roboto;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  input[type="submit"] {
    width: 60%;
    aspect-ratio: 236/74;
  }
}

input[type="submit"][disabled] {
  background-color: #eeeeee;
  color: #000000;
  /* transition: 0.3s; */
  border: solid 1px #000000;
}
input[type="button"] {
  width: 100%;
  padding: 1em;
  border-radius: 0.5em;
  background-color: #aaaaaa;
  color: black;
  transition: 0.3s;
  border: solid 1px #aaaaaa;
}
input[type="button"]:hover,
input[type="submit"]:hover {
  opacity: 0.7;
  cursor: pointer;
}
/* 確認画面でtextareaの内容を改行も表示させる */
.form-td.form-textarea {
  white-space: pre-wrap;
}
/* form-acceptance-btnをボタン表示にする */
.form-btn-acceptance .wpcf7-list-item {
  width: 100%;
  margin: 0;
  text-align: center;
}

@media screen and (max-width: 599px) {
  .form-btn-acceptance
    .wpcf7-form-control-wrap[data-name="your-acceptance-btn"]
    .wpcf7-list-item-label {
    width: 100%;
  }
}

/* チェックボックスがオンの時のスタイル変更 */
.form-btn-acceptance
  .wpcf7-form-control-wrap[data-name="your-acceptance-btn"]
  input[type="checkbox"]:checked
  + .wpcf7-list-item-label {
  /* background-color: blue; */
}
/*  */
.wpcf7-spinner {
  display: none;
}
.g-recaptcha div {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2em;
}
/* チェックボックス選択肢 */
.form-td .wpcf7-form-control-wrap[data-name="your-checkbox"] .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
}
.wpcf7-form-control-wrap[data-name="your-checkbox"]
  .wpcf7-checkbox
  .wpcf7-list-item {
  margin-left: 0;
}

input[name="your-acceptance"],
input[name="your-checkbox[]"] {
  margin-right: 1em;
  appearance: none; /* デフォルトの見た目を無効化 */
  -webkit-appearance: none; /* Safari対応 */
  width: 20px;
  height: 20px;
  border: 1px solid #e0e0e0;
  border-radius: 0px; /* 角を少し丸める（不要なら削除） */
  background: #d9d9d9; /* ←未チェック時は薄いグレー */
  cursor: pointer;
  transition: background 0.2s ease;
  vertical-align: sub;
}

/* チェック時の背景色 */
input[name="your-acceptance"]:checked,
input[type="checkbox"]:checked {
  background: blue; /* ←オレンジ */
  border-color: blue; /* 枠もオレンジにすると統一感UP */
}

/* sp */
@media screen and (max-width: 599px) {
  .header-menu-nav {
    display: flex;
    justify-content: space-between;
  }
}

#mission .et_pb_column.et_pb_column_1_2.et_pb_column_2 {
  width: 41.4vw;
  max-width: 795px;
  margin-right: 77px;
}
#mission .mission-img img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 599px) {
  .et_pb_column.et_pb_column_1_2.et_pb_column_2 {
    margin-bottom: 0;
  }
}
#service .et_pb_column.et_pb_column_1_4.et_pb_column_4 {
  width: auto;
  margin-right: 0;
}
#service .et_pb_row.et_pb_row_3.et_pb_row_1-4_3-4 {
  display: flex;
  align-items: center;
}
#service .service-btn {
  display: flex;
  width: 236px;
  height: 74px;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
#message .et_pb_column.et_pb_column_1_2.et_pb_column_10 {
  max-width: 867px;
  width: 45.2vw;
}
#message .et_pb_column.et_pb_column_1_2.et_pb_column_11 {
  max-width: 656px;
  width: 34.2vw;
}
#message .et_pb_module.et_pb_heading.et_pb_heading_4 {
  margin-bottom: 0;
}
#message .et_pb_module.et_pb_text.et_pb_text_8 {
  margin-bottom: 27px;
}
#message .et_pb_module.et_pb_text.et_pb_text_9 {
  margin-bottom: 27px;
}
#message .et_pb_module.et_pb_heading.et_pb_heading_5 {
  margin-bottom: 27px;
}

#company .et_pb_row.table-row {
  max-width: 740px;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
}
#company .et_pb_row.table-row .et_pb_column:nth-of-type(1) {
  width: 35% !important;
  margin-right: unset;
}
@media screen and (max-width: 599px) {
  #company .et_pb_row.table-row .et_pb_column:nth-of-type(1) {
    margin-bottom: 0 !important;
  }
}
#company .et_pb_row.table-row .et_pb_column:nth-of-type(2) {
  width: 65% !important;
}
@media screen and (max-width: 599px) {
  #company .et_pb_row.table-row .et_pb_column:nth-of-type(2) {
    margin-bottom: 0;
  }
}
#company .et_pb_row .et_pb_module {
  width: 100%;
}
#company p {
  padding-bottom: 0;
}
#company address {
  font-style: unset;
}
ul.et-menu.nav {
  column-gap: 78px;
}

/* メニュー末尾の「閉じる」はモバイルのみ表示 */
@media (min-width: 981px) {
  .c-menu__item--close {
    display: none !important;
  }
}
.c-menu__item--close a {
  font-weight: 700;
}

.w50p{
	width:50% !important;
}
