#main {
  padding: 60px 0 0 0;
  background: #ccc; }
  #main > .page-title {
    width: 900px;
    padding: 60px 0 0 0;
    margin: 0 auto 20px auto;
    font-size: 40px;
    color: #333; }
    #main > .page-title h1 {
      padding: 0 10px; }

#contact {
  padding: 0 0 100px 0;
  font-size: 16px; }
  #contact .container {
    width: 900px;
    padding: 40px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    margin: 0 auto;
    background: #fff;
    *zoom: 1; }
    #contact .container:after {
      content: "";
      display: table;
      clear: both; }
  #contact .description {
    padding: 20px;
    border: 4px solid #0c3138;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px; }
    #contact .description a {
      color: #1a8ea4; }
    #contact .description a:hover, #contact .description a:focus, #contact .description a:active {
      text-decoration: none; }
    #contact .description .email {
      display: inline-block;
      margin: 4px 8px; }
      #contact .description .email img {
        width: 160px;
        position: relative;
        top: -2px;
        vertical-align: middle;
        -moz-transition: filter 0.2s ease 0s;
        -o-transition: filter 0.2s ease 0s;
        -webkit-transition: filter 0.2s ease;
        -webkit-transition-delay: 0s;
        transition: filter 0.2s ease 0s; }
      #contact .description .email:hover img, #contact .description .email:focus img, #contact .description .email:active img {
        -webkit-filter: brightness(130%);
        filter: brightness(130%); }
  #contact .notice {
    padding: 20px 20px 22px 20px;
    border: 1px solid #0c3138;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    margin: 50px 0 40px 0; }
    #contact .notice .required {
      display: inline-block;
      padding: 4px 8px;
      margin: 4px 6px 4px 0;
      border: 1px solid #e34f4f;
      -moz-border-radius: 4px;
      -webkit-border-radius: 4px;
      border-radius: 4px;
      position: relative;
      top: -2px;
      font-family: "a-otf-midashi-go-mb31-pr6n";
      font-size: 12px;
      color: #e34f4f; }
  #contact .real-estates {
    padding: 20px;
    border: 4px solid #1e7b8c;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    background: #bbb url(../../img/page/index/real_estates_bg.jpg) no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    -webkit-background-size: cover;
    background-size: cover; }
    #contact .real-estates h5 {
      padding: 10px;
      border-bottom: 2px solid #fff;
      margin: 0 0 20px 0;
      font-size: 20px;
      color: #fff; }
    #contact .real-estates .entries {
      padding: 0;
      margin: 0;
      list-style: none;
      *zoom: 1; }
      #contact .real-estates .entries:after {
        content: "";
        display: table;
        clear: both; }
      #contact .real-estates .entries .entry {
        width: 33.33%; }
      #contact .real-estates .entries .entry-container {
        position: relative; }
      #contact .real-estates .entries .delete {
        display: inline-block;
        height: 30px;
        padding: 0 12px;
        -moz-border-radius-bottomleft: 4px;
        -webkit-border-bottom-left-radius: 4px;
        border-bottom-left-radius: 4px;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
        background: #d5564d;
        font-size: 12px;
        line-height: 30px;
        color: #fff;
        text-decoration: none;
        -moz-user-select: -moz-none;
        -ms-user-select: none;
        -webkit-user-select: none;
        user-select: none;
        -moz-transition: background 0.2s ease 0s;
        -o-transition: background 0.2s ease 0s;
        -webkit-transition: background 0.2s ease;
        -webkit-transition-delay: 0s;
        transition: background 0.2s ease 0s; }
        #contact .real-estates .entries .delete:before {
          content: "\f00d";
          display: inline-block;
          margin: 0 6px 0 0;
          font-family: "Font Awesome 5 Free";
          font-size: 12px;
          font-weight: 900;
          line-height: 30px;
          color: #fff; }
        #contact .real-estates .entries .delete:hover, #contact .real-estates .entries .delete:focus, #contact .real-estates .entries .delete:active {
          background: #c1372e; }
  #contact .form {
    padding: 0 0 30px 0;
    margin: 0 0 20px 0; }
    #contact .form .input-container {
      padding: 10px 0;
      *zoom: 1; }
      #contact .form .input-container:after {
        content: "";
        display: table;
        clear: both; }
    #contact .form .input {
      display: inline-block; }
    #contact .form .input.required:before {
      display: none; }
    #contact .form label {
      font-size: 16px; }
    #contact .form .prefix, #contact .form .separator, #contact .form .suffix {
      display: inline-block;
      margin: 0 10px;
      font-size: 18px;
      line-height: 50px; }
    #contact .form > .inputs, #contact .form > .input {
      display: block;
      border-bottom: 1px solid #ccc;
      margin: 0 0 40px 0; }
      #contact .form > .inputs > label, #contact .form > .input > label {
        display: block;
        padding: 10px;
        font-family: "a-otf-midashi-go-mb31-pr6n";
        font-size: 20px;
        border-bottom: 2px solid #0c3138; }
        #contact .form > .inputs > label .title, #contact .form > .input > label .title {
          margin: 0 20px 0 0; }
        #contact .form > .inputs > label .required, #contact .form > .input > label .required {
          display: inline-block;
          padding: 4px 8px;
          border: 1px solid #e34f4f;
          -moz-border-radius: 4px;
          -webkit-border-radius: 4px;
          border-radius: 4px;
          margin: 6px 0 0 0;
          position: relative;
          top: -3px;
          font-size: 12px;
          color: #e34f4f; }
      #contact .form > .inputs .rule, #contact .form > .input .rule {
        display: inline-block;
        padding: 4px 8px;
        -moz-border-radius: 2px;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        margin: 4px 0 0 0;
        float: left;
        background: #3978c6;
        font-size: 12px;
        color: #fff; }
    #contact .form .input.checkbox label, #contact .form .input.radio label {
      display: inline-block;
      margin: 0 10px;
      line-height: 50px; }
    #contact .form .input.textarea {
      display: block; }
      #contact .form .input.textarea textarea {
        height: 200px; }
    #contact .form .types .other, #contact .form .send-types .other, #contact .form .contact-types .other {
      display: inline-block; }
    #contact .form .names .last, #contact .form .names .first, #contact .form .kanas .last, #contact .form .kanas .first {
      display: inline-block; }
    #contact .form .zip-codes .input.text {
      width: 150px; }
    #contact .form .zip-codes .separator + .input.text {
      width: 200px; }
    #contact .form .addresses .input-container {
      position: relative; }
    #contact .form .addresses .input.select {
      position: absolute;
      top: 10px;
      left: 0;
      z-index: 2; }
      #contact .form .addresses .input.select select {
        width: 130px; }
    #contact .form .addresses .input.text {
      width: 100%;
      padding: 0 0 0 140px;
      position: relative;
      z-index: 1; }
    #contact .form .tel .input.text, #contact .form .fax .input.text, #contact .form .mobile-phone .input.text {
      display: block;
      margin: 0 10px 0 0;
      float: left; }
    #contact .form .email .input, #contact .form .other-contact .input {
      display: block;
      width: 100%; }
    #contact .form .funds-and-income .funds, #contact .form .funds-and-income .income {
      display: inline-block; }
    #contact .form .funds-and-income input {
      width: 200px; }
    #contact .form .demand {
      border: none; }
    #contact .form .submit {
      margin: 40px auto 0 auto; }

@media screen and (max-width: 950px) {
  #contact .real-estates .entries .entry {
    width: 50%; } }
@media screen and (max-width: 940px) {
  #main > .page-title {
    width: auto;
    padding: 60px 20px 0 20px; }

  #contact .container {
    width: auto;
    margin: 0 20px; } }
@media screen and (max-width: 900px) {
  #contact .form .funds-and-income .input-container {
    padding: 10px 0 4px 0; }
  #contact .form .funds-and-income .funds, #contact .form .funds-and-income .income {
    display: block;
    margin: 0 0 6px 0;
    position: relative; }
  #contact .form .funds-and-income .prefix {
    width: 72px;
    position: absolute;
    top: 0;
    left: 0; }
  #contact .form .funds-and-income input {
    width: 100%; }
  #contact .form .funds-and-income .separator {
    display: none; }
  #contact .form .funds-and-income .suffix {
    width: 54px;
    position: absolute;
    top: 0;
    right: 0; }
  #contact .form .funds-and-income .input.text {
    width: 100%;
    padding: 0 74px 0 92px; } }
@media screen and (max-width: 768px) {
  #main {
    padding: 40px 0 0 0; }
    #main > .page-title {
      padding: 0 20px 10px 20px; } }
@media screen and (max-width: 700px) {
  #contact .real-estates .entries .entry {
    width: 100%;
    padding: 20px 0; }
  #contact .form .names .input-container, #contact .form .kanas .input-container {
    padding: 10px 0 4px 0; }
  #contact .form .names .last, #contact .form .names .first, #contact .form .kanas .last, #contact .form .kanas .first {
    display: block;
    margin: 0 0 6px 0;
    position: relative; }
  #contact .form .names .prefix, #contact .form .kanas .prefix {
    position: absolute;
    top: 0;
    left: 0; }
  #contact .form .names .input.text, #contact .form .kanas .input.text {
    width: 100%;
    padding: 0 0 0 38px; }
  #contact .form .addresses .input-container {
    padding: 10px 0 4px 0; }
  #contact .form .addresses .input.select {
    display: block;
    margin: 0 0 6px 0;
    position: static; }
    #contact .form .addresses .input.select select {
      width: 100%; }
  #contact .form .addresses .input.text {
    display: block;
    padding: 0;
    margin: 0 0 6px 0; } }
@media screen and (max-width: 600px) {
  #contact .container {
    padding: 40px 20px; }
  #contact .description ul {
    padding: 0 0 0 30px; }
  #contact .form {
    padding: 0 0 10px 0;
    margin: 0; }
    #contact .form .submit {
      width: 100%; }
      #contact .form .submit input {
        padding: 20px;
        font-size: 16px; } }
@media screen and (max-width: 550px) {
  #contact .form .zip-codes .input.text {
    width: 60px; }
  #contact .form .zip-codes .separator {
    margin: 0 6px; }
  #contact .form .zip-codes .separator + .input.text {
    width: 100px; } }
@media screen and (max-width: 500px) {
  #main > .page-title {
    font-size: 30px; } }
@media screen and (max-width: 425px) {
  #contact .real-estates {
    padding: 20px 10px; }
    #contact .real-estates h5 {
      font-size: 18px;
      text-align: center; }
    #contact .real-estates .entry .image {
      height: 140px; }
  #contact .form .funds-and-income .prefix, #contact .form .funds-and-income .suffix {
    font-size: 14px; }
  #contact .form .funds-and-income .prefix {
    width: 62px; }
  #contact .form .funds-and-income .suffix {
    width: 46px; }
  #contact .form .funds-and-income .input.text {
    padding: 0 66px 0 82px; } }
@media screen and (max-width: 375px) {
  #main > .page-title {
    font-size: 24px; } }
