@media screen and (max-width: 828px) {
  .commonWidth-sp {
    width: 88.40579710144928%;
    margin-right: auto;
    margin-left: auto; } }

/**
 * Fonts
 */
/*
$fonts: (
  NotoSans:  'noto-sans, sans-serif', 
  // 400 -> Regular, 500 -> Regular, 700 -> Bold, 900 -> Black
  NotoSerif: 'Noto Serif JP, serif',  
  // 400 -> Regular, 
  Oswald:    'Oswald, sans-serif',
   // 400 -> Regular
  Roboto:    'Roboto, sans-serif',
   // 400 -> Regular
);

@mixin get_webfont( $font, $weight, $style: normal ) {
  $fonts: (
    NotoSans: 'noto-sans, sans-serif', 
    // 400 -> Regular, 500 -> Regular, 700 -> Bold, 900 -> Black
    NotoSerif:'Noto Serif JP, serif',  
    // 400 -> Regular
    Oswald:   'Oswald, sans-serif',
    // 400 -> Regular
    Roboto:   'Roboto, sans-serif',
    // 400 -> Regular
  );

  font-family: unquote( map-get( $fonts, $font ) );
  font-weight: $weight;
  font-style: $style;
  @content;
}
*/
.contact .pageHeader {
  background: url(../img/contact/contact_pageheader.png) no-repeat center center/cover; }
  @media screen and (max-width: 828px) {
    .contact .pageHeader {
      background: url(../img/contact/contact_pageheader_sp.png) no-repeat center center/cover; } }

.contact_main {
  padding-top: 64px; }
  @media screen and (max-width: 1366px) {
    .contact_main {
      padding-top: 4.68521vw; } }
  @media screen and (max-width: 828px) {
    .contact_main {
      padding-top: 9.66184vw; } }

.contact_message {
  margin-bottom: 56px;
  text-align: center;
  line-height: 2.0; }
  @media screen and (max-width: 1366px) {
    .contact_message {
      margin-bottom: 4.09956vw; } }
  @media screen and (max-width: 828px) {
    .contact_message {
      margin-bottom: 7.72947vw; } }

.contact_navi {
  width: 263px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 1366px) {
    .contact_navi {
      width: 19.25329vw; } }
  @media screen and (max-width: 828px) {
    .contact_navi {
      width: 63.52657vw; } }
  .contact_navi::before {
    content: "";
    width: 228px;
    height: 1px;
    background: #51005B;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto; }
    @media screen and (max-width: 1366px) {
      .contact_navi::before {
        width: 16.69107vw; } }
    @media screen and (max-width: 828px) {
      .contact_navi::before {
        width: 55.07246vw; } }
  .contact_navi_item {
    text-align: center; }
    .contact_navi_item-current .contact_navi_text, .contact_navi_item-current .contact_navi_step {
      color: #51005B; }
    .contact_navi_item-current .contact_navi_text::before {
      background: #51005B; }
  .contact_navi_step, .contact_navi_text {
    min-width: 40px;
    font-size: 1.2rem; }
    @media screen and (max-width: 1366px) {
      .contact_navi_step, .contact_navi_text {
        font-size: 0.87848vw; } }
    @media screen and (max-width: 828px) {
      .contact_navi_step, .contact_navi_text {
        font-size: 2.89855vw; } }
  .contact_navi_text {
    margin-top: 8px;
    padding-top: 32px; }
    @media screen and (max-width: 1366px) {
      .contact_navi_text {
        margin-top: 0.58565vw;
        padding-top: 2.34261vw; } }
    @media screen and (max-width: 828px) {
      .contact_navi_text {
        margin-top: 1.93237vw;
        padding-top: 7.72947vw; } }
    .contact_navi_text::before {
      content: "";
      width: 25px;
      height: 25px;
      background: #F2F2F2;
      border: 1px solid #51005B;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: auto; }
      @media screen and (max-width: 1366px) {
        .contact_navi_text::before {
          width: 1.83016vw;
          height: 1.83016vw; } }
      @media screen and (max-width: 828px) {
        .contact_navi_text::before {
          width: 6.03865vw;
          height: 6.03865vw; } }

.contactFormWrapper {
  background: #F8F8F8;
  margin-top: 64px;
  padding: 72px 0 120px; }
  @media screen and (max-width: 1366px) {
    .contactFormWrapper {
      margin-top: 4.68521vw;
      padding: 5.27086vw 0 8.78477vw; } }
  @media screen and (max-width: 828px) {
    .contactFormWrapper {
      margin-top: 11.5942vw;
      padding: 11.5942vw 0 11.5942vw; } }

.contactForm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  /*
    &_confirm {
      padding: 20px 30px;
      font-weight: 100;
      @include bp( max, 1366px ) {
        padding: vw_pc( 20 ) vw_pc( 30 );
      }
      @include bp( max, 828px ) {
        padding: vw_sp( 20 ) vw_sp( 30 );
      }
    }
    */ }
  @media screen and (max-width: 828px) {
    .contactForm {
      display: block; } }
  .contactForm_item {
    width: 48%; }
    @media screen and (max-width: 828px) {
      .contactForm_item {
        width: 100%; } }
    .contactForm_item:nth-child(n+3) {
      margin-top: 40px; }
      @media screen and (max-width: 1366px) {
        .contactForm_item:nth-child(n+3) {
          margin-top: 2.92826vw; } }
      @media screen and (max-width: 828px) {
        .contactForm_item:nth-child(n+3) {
          margin-top: 9.66184vw; } }
    @media screen and (max-width: 828px) {
      .contactForm_item:nth-child(n+2) {
        margin-top: 9.66184vw; } }
    .contactForm_item:nth-child(n+7) {
      width: 100%; }
  .contactForm_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: nowrap; }
    .contactForm_title_main {
      font-size: 1.5rem;
      font-weight: 700; }
      @media screen and (max-width: 1366px) {
        .contactForm_title_main {
          font-size: 1.0981vw; } }
      @media screen and (max-width: 828px) {
        .contactForm_title_main {
          font-size: 3.62319vw; } }
    .contactForm_title_required {
      margin-left: 16px;
      color: #51005B;
      font-size: 1.5rem;
      font-weight: 700;
      letter-spacing: 0.2em; }
      @media screen and (max-width: 1366px) {
        .contactForm_title_required {
          margin-left: 1.1713vw;
          font-size: 1.0981vw; } }
      @media screen and (max-width: 828px) {
        .contactForm_title_required {
          margin-left: 3.86473vw;
          font-size: 3.62319vw; } }
  .contactForm_body {
    margin-top: 10px;
    width: 100%; }
    @media screen and (max-width: 1366px) {
      .contactForm_body {
        margin-top: 0.73206vw; } }
    @media screen and (max-width: 828px) {
      .contactForm_body {
        margin: 2.41546vw 0 0 0; } }
  .contactForm_form {
    line-height: 2.0; }
    .contactForm_form input[type="text"],
    .contactForm_form input[type="email"],
    .contactForm_form input[type="tel"],
    .contactForm_form textarea {
      width: 100%;
      display: block;
      background: #fff;
      border: 1px solid #D6D6D6;
      padding: 16px 24px;
      font-size: 1.6rem;
      line-height: 1.8; }
      @media screen and (max-width: 1366px) {
        .contactForm_form input[type="text"],
        .contactForm_form input[type="email"],
        .contactForm_form input[type="tel"],
        .contactForm_form textarea {
          padding: 1.1713vw 1.75695vw;
          font-size: 1.1713vw; } }
      @media screen and (max-width: 828px) {
        .contactForm_form input[type="text"],
        .contactForm_form input[type="email"],
        .contactForm_form input[type="tel"],
        .contactForm_form textarea {
          padding: 3.86473vw 5.7971vw;
          font-size: 3.62319vw; } }
      .contactForm_form input[type="text"]::-webkit-input-placeholder,
      .contactForm_form input[type="email"]::-webkit-input-placeholder,
      .contactForm_form input[type="tel"]::-webkit-input-placeholder,
      .contactForm_form textarea::-webkit-input-placeholder {
        color: #999; }
      .contactForm_form input[type="text"]:-ms-input-placeholder,
      .contactForm_form input[type="email"]:-ms-input-placeholder,
      .contactForm_form input[type="tel"]:-ms-input-placeholder,
      .contactForm_form textarea:-ms-input-placeholder {
        color: #999; }
      .contactForm_form input[type="text"]::-ms-input-placeholder,
      .contactForm_form input[type="email"]::-ms-input-placeholder,
      .contactForm_form input[type="tel"]::-ms-input-placeholder,
      .contactForm_form textarea::-ms-input-placeholder {
        color: #999; }
      .contactForm_form input[type="text"]::placeholder,
      .contactForm_form input[type="email"]::placeholder,
      .contactForm_form input[type="tel"]::placeholder,
      .contactForm_form textarea::placeholder {
        color: #999; }
    .contactForm_form textarea {
      resize: vertical;
      min-height: 200px;
      max-height: 600px; }
      @media screen and (max-width: 1366px) {
        .contactForm_form textarea {
          min-height: 14.64129vw;
          max-height: 43.92387vw; } }
      @media screen and (max-width: 828px) {
        .contactForm_form textarea {
          min-height: 77.29469vw;
          max-height: 193.23671vw; } }
    .contactForm_form-input {
      /*
        max-width: 500px;
        @include bp( max, 828px ) {
          max-width: 100%;
        }
        */ }
    .contactForm_form-radio {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      /*
        & ~ & {
          margin-top: 8px;
          @include bp( max, 1366px ) {
            margin-top: vw_pc( 8 );
          }
          @include bp( max, 828px ) {
            margin-top: vw_sp( 8 );
          }
        }
        */ }
      @media screen and (max-width: 828px) {
        .contactForm_form-radio {
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between; } }
      @media screen and (max-width: 828px) {
        .contactForm_form-radio span.mwform-radio-field {
          width: 48%; } }
      .contactForm_form-radio span.mwform-radio-field:not(:first-child) {
        margin-left: 32px; }
        @media screen and (max-width: 1366px) {
          .contactForm_form-radio span.mwform-radio-field:not(:first-child) {
            margin-left: 2.34261vw; } }
        @media screen and (max-width: 828px) {
          .contactForm_form-radio span.mwform-radio-field:not(:first-child) {
            margin: 0vw; } }
      @media screen and (max-width: 828px) {
        .contactForm_form-radio span.mwform-radio-field:nth-child(n+3) {
          margin-top: 3.86473vw; } }
    @media screen and (max-width: 828px) {
      .contactForm_form-tel input {
        max-width: 30%; } }
    .contactForm_form span.error {
      display: table;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      background: #51005B;
      padding: 4px 16px;
      color: #fff !important;
      font-size: 1.2rem;
      letter-spacing: 0.2em;
      font-weight: 700;
      text-align: center; }
      @media screen and (max-width: 1366px) {
        .contactForm_form span.error {
          padding: 0.29283vw 1.1713vw;
          font-size: 0.87848vw; } }
      @media screen and (max-width: 828px) {
        .contactForm_form span.error {
          padding: 0.96618vw 3.86473vw;
          font-size: 2.89855vw; } }
  .contactForm_item-userType span.error, .contactForm_item-contactType span.error {
    margin-left: 24px; }
    @media screen and (max-width: 1366px) {
      .contactForm_item-userType span.error, .contactForm_item-contactType span.error {
        margin-left: 1.75695vw; } }
    @media screen and (max-width: 828px) {
      .contactForm_item-userType span.error, .contactForm_item-contactType span.error {
        margin-left: 5.7971vw; } }
  .contactForm_item-userName span.error, .contactForm_item-email span.error, .contactForm_item-body span.error {
    margin-top: 8px; }
    @media screen and (max-width: 1366px) {
      .contactForm_item-userName span.error, .contactForm_item-email span.error, .contactForm_item-body span.error {
        margin-top: 0.58565vw; } }
    @media screen and (max-width: 828px) {
      .contactForm_item-userName span.error, .contactForm_item-email span.error, .contactForm_item-body span.error {
        margin-top: 1.93237vw; } }
  .contactForm_buttonContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 48px;
    width: 100%; }
    @media screen and (max-width: 1366px) {
      .contactForm_buttonContainer {
        margin-top: 3.51391vw; } }
    @media screen and (max-width: 828px) {
      .contactForm_buttonContainer {
        display: block;
        margin-top: 7.72947vw; } }
  .contactForm input {
    position: relative; }
    .contactForm input.contactForm_button {
      background: #333;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 100%;
      height: 80px;
      cursor: pointer;
      font-size: 1.5rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-align: center;
      color: #fff; }
      @media screen and (max-width: 1366px) {
        .contactForm input.contactForm_button {
          height: 5.85652vw;
          font-size: 1.0981vw; } }
      @media screen and (max-width: 828px) {
        .contactForm input.contactForm_button {
          height: 19.32367vw;
          font-size: 3.62319vw; } }
      .contactForm input.contactForm_button-back {
        margin-right: 40px; }
        @media screen and (max-width: 1366px) {
          .contactForm input.contactForm_button-back {
            margin-right: 2.92826vw; } }
        @media screen and (max-width: 828px) {
          .contactForm input.contactForm_button-back {
            margin: 0 0 3.86473vw 0; } }

.contact_thanks {
  letter-spacing: 0.06em;
  text-align: center; }
  .contact_thanks_text {
    line-height: 2.0; }
    @media screen and (max-width: 828px) {
      .contact_thanks_text {
        line-height: 1.7;
        letter-spacing: 0;
        font-size: 3.38164vw; } }
    .contact_thanks_text ~ .contact_thanks_text {
      margin-top: 32px; }
      @media screen and (max-width: 1366px) {
        .contact_thanks_text ~ .contact_thanks_text {
          margin-top: 2.34261vw; } }
      @media screen and (max-width: 828px) {
        .contact_thanks_text ~ .contact_thanks_text {
          margin-top: 7.72947vw; } }

.contact_backButton {
  margin-top: 72px; }
  @media screen and (max-width: 1366px) {
    .contact_backButton {
      margin-top: 5.27086vw; } }
  @media screen and (max-width: 828px) {
    .contact_backButton {
      margin-top: 9.66184vw; } }
  .contact_backButton a {
    background: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 80px;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
    color: #fff; }
    @media screen and (max-width: 1366px) {
      .contact_backButton a {
        height: 5.85652vw;
        font-size: 1.0981vw; } }
    @media screen and (max-width: 828px) {
      .contact_backButton a {
        height: 19.32367vw;
        font-size: 3.62319vw; } }
