@charset "utf-8";

/* ============================================================
   ページ基盤
   ============================================================ */

body { background: var(--bg-dark);}

.contact-page {
  background: #0a0a09;
  color: #fff;
  min-height: 100vh;
}

.contact-main {
  background: #0a0a09;
  color: #fff;
}

.contact-main p{
}


.contact-main .contact-form-switcher{
  text-align-last: center;
}

.btn--primary{
  font-size: 16px;
  min-width: 120px;
  font-weight: 700;
  letter-spacing: .05em;
  display: block;
  padding: 25px 0;
  margin-bottom:20px;
  background: var(--ink);
  color: var(--bg);
  border: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(255, 255, 255, 0.6);
}

.btn--primary:hover { border: 1px solid rgba(255, 255, 255, 0.2); transition: all 0.25s;}



/* ============================================================
   NAV
   ============================================================ */
.contact-page .nav {
  background: rgba(10,10,9,0.82) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
.contact-page .nav .nav__logo-en   { color: #fff; }
.contact-page .nav .nav__logo-ja   { color: rgba(255,255,255,0.4); }
.contact-page .nav .hamburger__bar { background: rgba(255,255,255,0.82); }
.contact-page .nav .lang-switcher  { border-color: rgba(255,255,255,0.25); }
.contact-page .nav .lang-switcher__btn       { color: rgba(255,255,255,0.5); }
.contact-page .nav .lang-switcher__btn.is-active {
  background: rgba(255,255,255,0.14);
  color: #fff;
}
.contact-page .nav .lang-switcher__sep { background: rgba(255,255,255,0.18); }

/* ============================================================
   PAGE HEADER
   ============================================================ */
.contact-header {
  background: #0a0a09;
  padding-top: var(--nav-h);
  padding-bottom: 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.contact-header__inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: clamp(3.5rem, 8vw, 6rem) var(--gutter) clamp(3rem, 6vw, 5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.7rem;
}
.contact-header__label {
  font-family: var(--font-en);
  font-weight: 300;
  font-size: clamp(0.56rem, 1vw, 0.66rem);
  letter-spacing: 0.65em;
  color: rgba(255,255,255,0.35);
}
.contact-header__title {
  font-family: var(--font-ja);
  font-weight: 700;
  font-size: clamp(1.65rem, 4.5vw, 2.8rem);
  letter-spacing: 0.2em;
  color: #fff;
  line-height: 1.15;
}
.contact-header__title-en {
  font-family: var(--font-en);
  font-weight: 300;
  font-size: clamp(0.72rem, 1.5vw, 0.88rem);
  letter-spacing: 0.42em;
  color: rgba(255,255,255,0.3);
}
.contact-header__lead {
  font-family: var(--font-ja);
  font-size: clamp(0.78rem, 1.4vw, 0.88rem);
  line-height: 2.2;
  color: var(--bg-section);
  letter-spacing: 0.05em;
  max-width: 520px;
  margin-top: 0.5rem;
}




/* ============================================================
   FORM AREA
   ============================================================ */
.contact-main {
  background: #0a0a09;

  padding: clamp(4rem, 8vw, 7rem) var(--gutter) clamp(5rem, 10vw, 9rem);
  color: var(--bg-section);
}
.contact-main__inner {
  max-width: 680px;
  margin: 0 auto;
}
.contact-main p{
margin-bottom: 2em;
}


/*
==========================================================================*/
/*【お問い合わせフォーム】*/
/*
==========================================================================*/


.contact-section h1{ font-size: 4.2em; text-align: center; line-height: 3em;}
.contact-section h2{ font-size: 3.2em; text-align: center; margin: 20px 0; }
.contact-section h3{ font-size: 2.2em; text-align: center; margin: 20px 0; }

.contact-section p{
    margin: 20px 0;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.8;
}

.mw-wp-form{
  max-width: 600px;
  margin: 0px auto 9em auto;
}

.mw-wp-form__list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 80px;
  font-size:120%;
}


.mw-wp-form dt,
.mw-wp-form dd {
  line-height: 1.75;
 /* font-size: 1.3em;*/
}

/*.mw-wp-form dt:not(:first-of-type),
.mw-wp-form dd:not(:first-of-type) {
  margin-top: 30px;
}*/

.mw-wp-form dt {
/*  width: 320px;*/
  width: 100%;
  padding-top: 45px;
  font-weight: bold;
}

.mw-wp-form dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  /*width: 660px;*/
  width: 100%;
  margin-top: 10px;
}

.mw-wp-form__label {
  margin-right: 15px;
  padding: 8px 22px;
  border-radius: 2px;
  color: #fff;
  font-size: 14px;
  vertical-align: 1px;
}

.mw-wp-form__label--req {
  background: #BE1D1D;
}

.mw-wp-form__label--opt {
  background: #878D8E;
}

.mw-wp-form dd input[type="text"],
.mw-wp-form dd input[type="email"],
.mw-wp-form dd textarea {
  box-sizing: content-box;
  /*width: calc(100% - (20px * 2));*/
  width: 100%;
  padding: 10px 18px;
  background: #F5F5F5;
}

.mw-wp-form dd input[type="text"]:nth-child(n + 2) {
  margin-top: 15px;
}

.mw-wp-form dd input[type="tel"] {
  box-sizing: content-box;
  width: 66px;
  padding: 15px 20px;
  background: #F5F5F5;
}

.mw-wp-form dd textarea {
  height: calc(1.75em * 10);
}

.mw-wp-form dd input[type="text"]::placeholder,
/*.mw-wp-form dd input[type="tel"]::placeholder,*/
.mw-wp-form dd input[type="email"]::placeholder,
.mw-wp-form dd textarea::placeholder {
  color: #797979;
}

/* Microsoft Edge */
.mw-wp-form dd input[type="text"]::-ms-input-placeholder,
/*.mw-wp-form dd input[type="tel"]::-ms-input-placeholder,*/
.mw-wp-form dd input[type="email"]::-ms-input-placeholder,
.mw-wp-form dd textarea::-ms-input-placeholder {
  color: #797979;
}

/* Internet Explorer */
.mw-wp-form dd input[type="text"]:-ms-input-placeholder,
/*.mw-wp-form dd input[type="tel"]:-ms-input-placeholder,*/
.mw-wp-form dd input[type="email"]:-ms-input-placeholder,
.mw-wp-form dd textarea:-ms-input-placeholder {
  color: #797979;
}

.mw-wp-form__automatic {
  margin: 0 0 0 20px;
  font-size: 15px;
}

.mw-wp-form__buttons {
  display: flex;
  justify-content: center;
}

.mw-wp-form__buttons button {
  display: block;
  position: relative;
  width: 360px;
  height: 60px;
  margin: 0 30px;
  border: 1px solid #03559A;
  color: #1B201A;
  transition: opacity .6s;
}

.mw-wp-form__buttons button {
    background: #FFF;
    max-width: 220px;
    color: #000;
    display: block;
    text-decoration: none;
}

.mw-wp-form__buttons #back button{
    background: #FFF;
    max-width: 220px;
    color: #000;
    display: block;
    text-decoration: none;
}

#back button{
    color: #000; !important;
    background: #FFF !important;
}


.mw-wp-form__buttons button[type="submit"]:hover {
  opacity: .7;
}

.mw-wp-form__buttons button[type="submit"]:before {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 1px solid #1B201A;
  border-right: 1px solid #1B201A;
  content: '';
}

.mw_wp_form_confirm .mw-wp-form dd {
  padding-top: 15px;
}

.red{
    /*color: #B70000;*/
    font-size: 80%;
}

.mwform-checkbox-field{
    width: 100%;
}

.mwform-checkbox-field.horizontal-item{
    margin: 0 0 0 10px;
}

.mw_wp_form .error {
    background: #fff;
    padding: 0 10px;
    margin-top: 5px;
}




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

.contact-section h2{font-size: 2.4em;}

.mw-wp-form{
  margin: 0px auto 70px auto;
}

}




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

  .mw-wp-form{
    margin: 30px 0 70px 0;
  }

  .mw-wp-form__list {
    margin-bottom: 60px;
  }

  .mw-wp-form dt {
    width: 100%;
  padding-top: 0px;
  }

  .mw-wp-form dd {
    width: 100%;
  }

  .mw-wp-form dd:first-of-type,
  .mw-wp-form dd:not(:first-of-type) {
    margin-top: 15px;
  }

  .mw-wp-form dd input[type="text"]:nth-child(n + 2) {
    margin-top: 10px;
  }

  .mw-wp-form dd textarea {
    height: calc(1.75em * 8);
  }

  .mw-wp-form__automatic {
    margin: 5px 0 0;
    font-size: 14px;
  }

  .mw-wp-form__buttons {
    flex-direction: column;
    align-items: center;
  }

  .mw-wp-form__buttons button[type="submit"] {
    width: 300px;
    margin: 0;
  }

  .mw-wp-form__buttons button[type="submit"]:not(:first-child) {
    margin-top: 30px;
  }


  .mw_wp_form_confirm .mw-wp-form dd {
    padding-top: 0;
  }

  .mw-wp-form__label {
    padding: 6px 16px;
  }

.mw-wp-form dt:not(:first-of-type), .mw-wp-form dd:not(:first-of-type) {
    margin-top: 20px;
}


    .contact-section h1{ font-size: 3.2em; line-height: 2em;}
    .contact-section h2{ font-size: 2.8em; margin: 10px 0; }


    #contact{ width: 90%; margin: 0 auto;}

}


/* コンタクトフォーム内プライバシーポリシー */

.privacy-policy {
    height: 130px;
    padding: 0px 5px;
    border: 1px solid #ccc;
    overflow-y: scroll;
    margin: 20px 0 0 0;
    font-size: 12px;
}
.privacy-policy p{
    text-align:left;
    margin: 5px 0;
    font-size: 12px;
}

.privacy-policy__box{
    margin-top:15px;
    margin-bottom:15px;
}

.privacy-policy__box ul li, .privacy-policy__box ol li{
    text-align: left;
    margin: 5px 0 5px 10px;
    font-size: 12px;
}

.left-p{
    text-align:left;
    margin: 5px 0 20px 0;
}

