/* ==================================================================================== */
/* contact */
/* ==================================================================================== */
.mwform__row {
  display: grid;
  grid-template-columns: 250px 1fr;
  column-gap: 24px;
  align-items: center;
  margin-bottom: 18px;
}
.mw_wp_form_confirm .mwform__row {
    border-bottom: 1px solid #CCC;
    padding-bottom: 18px;
}
.mwform__label {
  font-weight: 700;
}
.mwform__req {
  display: inline-block;
  margin-left: 10px;
  padding: 2px 8px;
  background: #e33;
  color: #fff;
  font-size: 12px;
  border-radius: 3px;
}
.mwform__field input, .mwform__field select, .mwform__field textarea {
  width: 100%;
  padding: 14px 16px;
  border: 0;
  border-radius: 8px;
  background: #fff;
    border: 1px solid #ccc;
}
.mwform__agree {
  display: flex;
  justify-content: center;
  margin: 0 0 22px;
}
.mwform__agree .mwform-checkbox-field-text{
  display:none;
}
.mwform__agree .mwform__check{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.mwform__agree .mwform-checkbox-field{
  order:1;
}
.mwform__agree .agree-text{
  order:2;
}
.mw_wp_form .mwform__agree .error{
  order:3;
}



.mwform__btn {
  display: flex;
  justify-content: center;
  margin-top: 28px;
    gap:0.5rem;
}
.mwform__btn button {
  appearance: none;
  border: none;
  border-radius: 9999px;
  padding: 14px 25px;
  font-weight: 600;
  cursor: pointer;
    background: #0b1f3f;
    color: #FFF;
}

.mw_wp_form_confirm input[type="submit"]{
  background:#172A88;
  color:#fff;
  border-radius:999px;
  padding:14px 28px;
  border:none;
  font-weight:600;
}

.mw_wp_form_confirm .mwform-btn-back{
  background:none;
  color:#172A88;
  text-decoration:underline;
}

/* select必須の英語を日本語に差し替え（フォーム全体に効く） */
.mwform .mwform__field select + .error{
  font-size: 0 !important;
}
.mwform .mwform__field select + .error::before{
  content: "お問い合わせ項目を選択してください。";
  font-size: 14px;
  line-height: 1.4;
}
/* チェックボックスの自動テキスト（children）を消す */
.mwform__agree .mwform-checkbox-field-text{
  display:none;
}

/* ついでに見た目整える */
.mwform__agree{
  text-align:center; /* いま中央寄せなら */
}
.mwform__agree input[type="checkbox"]{
  margin-right:8px;
}
.mwform__agree a{
  color: inherit;          /* 好みで */
  text-decoration: underline;
}
/* agree のエラーだけ日本語に差し替え（最終手段） */
.mwform__agree .error{
  font-size: 0 !important; /* 元の英文を見えなくする */
}
.mwform__agree .error::after{
  content: "同意が必要です。";
  font-size: 14px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
.mwform__row {
  display: block;
}
    .mwform__label{
        margin-bottom: 0.5em;
    }
}

/* ========================================================================================== */
/* tab */
/* ========================================================================================== */
section.tab {
  margin-top: 60px;
}

section.tab .container {
  width: 76.5625%;
  margin: auto;
  max-width: 1366px;
}

section.tab .box .tab_item {
  background: #F0F5F8;
  padding: 15px;
  width: 33.333333%;
  position: relative;
  border: 0.5px solid #707070;
  color: #838282;
  height: 50px;
}

section.tab .box .tab_item:nth-of-type(2) {
  border-right: unset;
}
section.tab .box .tab_item:nth-of-type(3) {
  border-left: unset;
}

section.tab .box .tab_item.active {
  background: var(--blue);
  border: 0.5px solid var(--blue);
  color: var(--white);
}

section.tab .box .tab_item:not(:last-of-type):before {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 20px solid #f0f5f8;
  position: absolute;
  top: 50%;
  margin-top: -25px;
  left: 100%;
  z-index: 2;
}

section.tab .box .tab_item:not(:last-of-type).active:before {
  border-left: 20px solid var(--blue);
}
section.tab .box .tab_item:not(:last-of-type).active:after {
  border-left: 20px solid transparent;
}

section.tab .box .tab_item:not(:last-of-type):after {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 20px solid #707070;
  position: absolute;
  top: 50%;
  margin-top: -25px;
  margin-left: 0.5px;
  left: 100%;
  z-index: 1;
}

/* responsive */
@media screen and (max-width: 768px) {
    section.tab .container {
        width: 90%;
    }

    section.tab .container .box {
        flex-direction: column;
    }

    section.tab .box .tab_item {
        width: 100%;
    }

    section.tab .box .tab_item:not(:last-of-type):before {
        display: none;
    }

    section.tab .box .tab_item:not(:last-of-type):after {
        display: none;
    }

    section.tab .box .tab_item {
        border: unset;
        border-bottom: 1px solid #b2b2b2;
    }

    section.tab .box .tab_item:last-of-type {
        border-bottom: unset;
    }

    section.contact {
        margin-top: 40px;
    }

    section.contact .box {
        margin-top: 40px;
    }

    section.contact .box .form_box {
        padding-top: 40px;
    }
}

@media screen and (max-width: 480px) {
    section.tab {
        margin-top: 40px;
    }

    section.contact {
        margin-top: 30px;
    }

    section.contact .box .form_box {
        padding-top: 20px;
    }
}

/* ========================================================================================== */
/* privacy */
/* ========================================================================================== */
section.contact section.privacy .container {
  width: 95%;
}

section.privacy h3.sub_ttl {
  margin: 20px 0;
}

section.privacy .contents_box .item {
  margin-top: 15px;
}

section.privacy .contact_box p:first-of-type {
  width: 10%;
}

section.privacy .contact_box .box_item {
  margin-top: 10px;
}

section.privacy .contact_box p:last-of-type {
  width: 89%;
}

section.privacy a {
  color: var(--blue);
  text-decoration: underline;
  text-decoration-color: var(--blue);
  text-underline-offset: 3px;
}

section.privacy .link_txt {
  margin-top: 15px;
}

.policy_box a {
    text-decoration: underline;
    color: #0000FF;
}
