.page-contact {
  padding-top: 12rem;
  padding-bottom: 12rem; }

@media screen and (max-width:768px) {
  .page-contact {
    padding-top: 8.8rem;
    padding-bottom: 8.8rem; } }
  .page-contact_text {
    font-size: 1.6rem;
    line-height: 1.8; }
    @media screen and (max-width: 768px) {
      .page-contact_text {
        font-size: 1.4rem; } }
  .page-contact_box {
    margin-top: 8rem; }
    @media screen and (max-width: 768px) {
      .page-contact_box {
        margin-top: 4.8rem; } }
    .page-contact_box_form {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      background-color: #F8F8F8;
      border-top: solid 2px #fff;
      padding: 3.2rem 4rem; }
      @media screen and (max-width: 768px) {
        .page-contact_box_form {
          padding: 2.4rem 1.6rem; } }
      .page-contact_box_form:first-of-type {
        border-top: none; }
      .page-contact_box_form dt,
      .page-contact_box_form dd {
        font-size: 1.6rem; }
        @media screen and (max-width: 768px) {
          .page-contact_box_form dt,
          .page-contact_box_form dd {
            font-size: 1.4rem; } }
      .page-contact_box_form dt {
        font-weight: 600;
        width: 200px;
        padding-right: 4rem; }
        @media screen and (max-width: 768px) {
          .page-contact_box_form dt {
            width: 100%; } }
        .page-contact_box_form dt .required {
          display: block;
          text-align: center;
          font-size: 1.2rem;
          font-weight: 300;
          line-height: 20px;
          background-color: #E50019;
          color: #fff;
          width: 70px;
          height: 20px;
          margin-top: 0.8rem; }
          @media screen and (max-width: 768px) {
            .page-contact_box_form dt .required {
              display: inline-block;
              vertical-align: top;
              margin-top: 0;
              margin-left: 0.8rem; } }
      .page-contact_box_form dd {
        width: calc(100% - 200px);
        width: -webkit-calc(100% - 200px); }
        @media screen and (max-width: 768px) {
          .page-contact_box_form dd {
            width: 100%;
            margin-top: 0.8rem; } }
        .page-contact_box_form dd .mwform-radio-field {
          display: block;
          position: relative;
          margin-top: 0.8rem; }
          .page-contact_box_form dd .mwform-radio-field:first-of-type {
            margin-top: 0; }
          .page-contact_box_form dd .mwform-radio-field input {
            position: absolute;
            top: 3px;
            left: 0;
            margin-left: 0;
            margin-right: 0; }
            @media screen and (max-width: 768px) {
              .page-contact_box_form dd .mwform-radio-field input {
                top: 1px; } }
          .page-contact_box_form dd .mwform-radio-field span {
            display: inline-block;
            padding-left: 20px; }
        .page-contact_box_form dd .horizontal-item + .horizontal-item {
          margin-left: 0; }
        .page-contact_box_form dd .address_box {
          padding-top: 2.4rem; }
          .page-contact_box_form dd .address_box:first-of-type {
            padding-top: 0; }
          .page-contact_box_form dd .address_box_title {
            font-size: 1.6rem;
            margin-bottom: 0.8rem; }
            @media screen and (max-width: 768px) {
              .page-contact_box_form dd .address_box_title {
                font-size: 1.4rem; } }
          .page-contact_box_form dd .address_box_input {
            margin-top: 0.8rem; }
          .page-contact_box_form dd .address_box .postal_code {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
            -ms-flex-pack: justify;
            justify-content: space-between;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            position: relative;
            max-width: 320px;
            width: 100%;
            margin-top: 0; }
            @media screen and (max-width: 768px) {
              .page-contact_box_form dd .address_box .postal_code {
                max-width: 260px; } }
            .page-contact_box_form dd .address_box .postal_code input[type="text"] {
              width: 100%; }
            .page-contact_box_form dd .address_box .postal_code button[type="button"] {
              position: absolute;
              top: 0;
              right: 0;
              font-size: 1.4rem;
              letter-spacing: 0.08rem;
              width: 80px;
              height: 48px;
              border: none;
              background-color: #ccc;
              color: #333;
              cursor: pointer; }
              .page-contact_box_form dd .address_box .postal_code button[type="button"]:hover {
                background-color: #999; }
              @media screen and (max-width: 768px) {
                .page-contact_box_form dd .address_box .postal_code button[type="button"] {
                  font-size: 1.2rem; } }
          .page-contact_box_form dd .address_box_select {
            position: relative;
            max-width: 320px;
            width: 100%; }
            @media screen and (max-width: 768px) {
              .page-contact_box_form dd .address_box_select {
                max-width: 260px; } }
            .page-contact_box_form dd .address_box_select:after {
              content: "";
              position: absolute;
              top: 0;
              bottom: 0;
              display: inline-block;
              background-repeat: no-repeat;
              background-size: contain;
              margin-top: auto;
              margin-bottom: auto;
              right: 0;
              bottom: auto;
              width: 47px;
              height: 47px;
              background-color: #ccc;
              background-image: url(../../image/common/button_arrow2_white.svg);
              background-size: 8px 14px;
              background-position: center;
              pointer-events: none;
              -webkit-transform: rotate(90deg);
              -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
            .page-contact_box_form dd .address_box_select select {
              cursor: pointer; }
        .page-contact_box_form dd input[type="text"],
        .page-contact_box_form dd input[type="email"],
        .page-contact_box_form dd textarea,
        .page-contact_box_form dd select {
          border: none;
          padding: 1.5rem 1.6rem; }
        .page-contact_box_form dd .form_text {
          font-size: 1.2rem;
          padding-top: 0.8rem; }
    .page-contact_box_privacypolicy {
      position: relative;
      margin-top: 6.4rem; }
      @media screen and (max-width: 768px) {
        .page-contact_box_privacypolicy {
          margin-top: 4.8rem; } }
      .page-contact_box_privacypolicy_title {
        font-size: 1.6rem;
        font-weight: 600; }
      .page-contact_box_privacypolicy_box {
        overflow: hidden;
        width: 100%;
        background-color: #F8F8F8;
        padding: 4rem 0;
        margin-top: 1.6rem; }
        @media screen and (max-width: 768px) {
          .page-contact_box_privacypolicy_box {
            padding: 2.4rem 0; } }
        .page-contact_box_privacypolicy_box_area {
          overflow-y: scroll;
          height: 200px;
          padding: 0 4rem; }
          @media screen and (max-width: 768px) {
            .page-contact_box_privacypolicy_box_area {
              height: 160px;
              padding: 0 1.6rem; } }
          .page-contact_box_privacypolicy_box_area p {
            font-size: 1.4rem;
            line-height: 1.8; }
          .page-contact_box_privacypolicy_box_area .privacypolicy_title {
            font-weight: 600;
            padding-top: 3.2rem; }
            @media screen and (max-width: 768px) {
              .page-contact_box_privacypolicy_box_area .privacypolicy_title {
                padding-top: 1.6rem; } }
          .page-contact_box_privacypolicy_box_area .privacypolicy_text {
            padding-top: 0.8rem; }
            .page-contact_box_privacypolicy_box_area .privacypolicy_text:first-of-type {
              padding-top: 0; }
          .page-contact_box_privacypolicy_box_area .privacypolicy_list {
            font-size: 1.4rem;
            counter-reset: number 0; }
            .page-contact_box_privacypolicy_box_area .privacypolicy_list li:before {
              counter-increment: number 1;
              content: counter(number) ")"; }
          .page-contact_box_privacypolicy_box_area .privacypolicy_name {
            text-align: right;
            padding-top: 5.6rem; }
            @media screen and (max-width: 768px) {
              .page-contact_box_privacypolicy_box_area .privacypolicy_name {
                font-size: 1.2rem;
                padding-top: 3.2rem; } }
    .page-contact_box_submit {
      text-align: center;
      padding-top: 4rem; }
      @media screen and (max-width: 768px) {
        .page-contact_box_submit {
          padding-top: 3.2rem; } }
      .page-contact_box_submit_text {
        font-size: 1.2rem; }
        .page-contact_box_submit_text input {
          width: 24px;
          height: 24px;
          margin: 0;
          cursor: pointer; }
      .page-contact_box_submit_button {
        margin-top: 8rem; }
        @media screen and (max-width: 768px) {
          .page-contact_box_submit_button {
            margin-top: 4.8rem; } }
        .page-contact_box_submit_button input[type="submit"] {
          display: block;
          text-align: center;
          font-size: 1.8rem;
          line-height: 88px;
          background-color: #E50019;
          color: #fff;
          border: none;
          max-width: 400px;
          width: 100%;
          height: 88px;
          margin-left: auto;
          margin-right: auto; }
          .page-contact_box_submit_button input[type="submit"]:hover {
            background-color: #FC270D; }
  .page-contact .error {
    font-size: 1.2rem !important;
    color: #E50019 !important;
    margin-top: 0.8rem; }
  .page-contact .inquiry-type .wpcf7-list-item {
    margin: 0.3em 0;
    display: block; }
    .page-contact .inquiry-type .wpcf7-list-item input[type="radio"] {
      accent-color: #E50019;
      inline-size: 1.8rem;
      block-size: 1.8rem; }

.mw_wp_form_input.-mb {
  margin-bottom: -7.8rem; }

.address_flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media only screen and (max-width: 766px), screen and (max-width: 768px) {
    .address_flex {
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }

.form_text.-type2 {
  padding-top: 0;
  width: 130px; }

.form_text.-type3 {
  margin-left: 13rem; }
  @media only screen and (max-width: 766px), screen and (max-width: 768px) {
    .form_text.-type3 {
      margin-left: 0; } }

.page-contact_box_form dd .address_box_select.-type2:after {
  top: 8px; }

.address_box_select.-type2.-inhert {
  position: inherit; }

.wpcf7-form-control-wrap.recaptcha {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 20px; }
