.kv_bg {
  background: url(../img/contact_fv.jpg) no-repeat center;
  background-size: cover; }
  @media only screen and (max-width: 767px) {
    .kv_bg {
      background: url(../img/sp_contact_fv.jpg) no-repeat center;
      background-size: cover; } }

/* contactBox
=========================================== */
form .target {
  top: -100px;
  display: block;
  position: relative;
  width: 1px; }

#contents table tbody tr {
  vertical-align: inherit; }
  #contents table tbody tr th {
    width: 260px !important;
    line-height: 3.0;
    vertical-align: middle;
    position: relative; }
    @media screen and (max-width: 767px) {
      #contents table tbody tr th {
        width: 100% !important;
        line-height: 1.2;
        text-align: left; } }
    #contents table tbody tr th span {
      width: 45px;
      padding: 4px;
      background-color: #e60012;
      color: #fff;
      line-height: 1.6;
      text-align: center;
      position: relative;
      vertical-align: middle;
      font-size: 12px;
      position: absolute;
      top: calc(50% - 15px);
      right: 10px; }
      @media screen and (max-width: 767px) {
        #contents table tbody tr th span {
          top: 6px; } }
  #contents table tbody tr td {
    vertical-align: middle; }
    #contents table tbody tr td ul li {
      display: inline-block;
      padding-left: 1em; }
      #contents table tbody tr td ul li label {
        display: block;
        position: relative;
        padding: 0 20px 0 20px; }
        #contents table tbody tr td ul li label input[type=checkbox],
        #contents table tbody tr td ul li label [type=radio] {
          visibility: hidden;
          position: absolute; }
          #contents table tbody tr td ul li label input[type=checkbox]:checked + span:after,
          #contents table tbody tr td ul li label [type=radio]:checked + span:after {
            opacity: 1; }
        #contents table tbody tr td ul li label span:before {
          content: "";
          position: absolute;
          left: -12px;
          top: -2px;
          width: 22px;
          height: 22px;
          background-color: #fff;
          border-radius: 100%;
          border: 1px solid #aaaaaa; }
          @media screen and (max-width: 767px) {
            #contents table tbody tr td ul li label span:before {
              top: 3px; } }
        #contents table tbody tr td ul li label span:after {
          content: "";
          position: absolute;
          left: -6px;
          top: 4px;
          width: 12px;
          height: 12px;
          background-color: #aaaaaa;
          opacity: 0;
          -webkit-transition: opacity .2s;
          -o-transition: opacity .2s;
          transition: opacity .2s;
          border-radius: 100%; }
          @media screen and (max-width: 767px) {
            #contents table tbody tr td ul li label span:after {
              top: 9px; } }
    #contents table tbody tr td input[type=text],
    #contents table tbody tr td input[type=tel] {
      width: 500px;
      margin-right: 10px;
      padding: 1.0em 0.6em;
      border: 1px solid #aaaaaa;
      border-radius: 3px;
      -webkit-transition: -webkit-box-shadow .2s;
      -o-transition: box-shadow .2s;
      transition: box-shadow .2s; }
      @media screen and (max-width: 767px) {
        #contents table tbody tr td input[type=text],
        #contents table tbody tr td input[type=tel] {
          font-size: 16px; } }
      @media screen and (max-width: 500px) {
        #contents table tbody tr td input[type=text],
        #contents table tbody tr td input[type=tel] {
          width: 100%;
          padding: 10px 8px; } }
    #contents table tbody tr td textarea {
      width: 100%;
      height: 200px; }
      @media screen and (max-width: 767px) {
        #contents table tbody tr td textarea {
          font-size: 16px; } }
    #contents table tbody tr td select {
      margin-right: 10px;
      padding: 1.0em 0.6em;
      border: 1px solid #aaaaaa;
      border-radius: 3px;
      -webkit-transition: -webkit-box-shadow .2s;
      -o-transition: box-shadow .2s;
      transition: box-shadow .2s;
      color: #333; }
      @media screen and (max-width: 767px) {
        #contents table tbody tr td select {
          font-size: 16px;
          padding: 10px 5px; } }
    #contents table tbody tr td .sizemax {
      width: 100% !important; }
    #contents table tbody tr td .sizehalf {
      width: 250px !important; }
      @media screen and (max-width: 500px) {
        #contents table tbody tr td .sizehalf {
          width: 100% !important; } }
    #contents table tbody tr td .sizesmall {
      width: 140px !important; }
#contents table tbody tr.switchItems {
  display: none; }

.privacy {
  margin-top: 50px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .privacy {
      margin-top: 0; } }
  .privacy a {
    text-decoration: underline;
    color: #2458b3; }
  .privacy label {
    display: inline-block;
    padding: 24px 30px 24px 60px;
    background-color: #eff2f9;
    position: relative; }
    .privacy label span {
      font-size: 14px; }
      .privacy label span:before {
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        background-color: #fff;
        border: 1px solid #aaa;
        -webkit-transition: all .1s;
        -o-transition: all .1s;
        transition: all .1s;
        border-radius: 3px;
        left: 28px;
        top: 26px; }
      .privacy label span:after {
        content: "";
        width: 5px;
        height: 11px;
        position: absolute;
        top: 29px;
        left: 36px;
        border-right: 2px solid #aaa;
        border-bottom: 2px solid #aaa;
        opacity: 0;
        -webkit-transition: opacity .1s;
        -o-transition: opacity .1s;
        transition: opacity .1s;
        transform: rotate(45deg); }
    .privacy label input[type=checkbox],
    .privacy label [type=radio] {
      visibility: hidden;
      position: absolute; }
      .privacy label input[type=checkbox]:checked + span:after,
      .privacy label [type=radio]:checked + span:after {
        opacity: 1; }
  .privacy p {
    margin-top: 10px; }
    .privacy p a {
      color: #333;
      text-decoration: underline; }

span.errMsg {
  display: block;
  color: #ff0000;
  margin-bottom: 3px; }

.form_text {
  margin-bottom: 20px;
  text-align: center; }

.btn {
  margin-top: 40px;
  text-align: center; }
  .btn input[type=submit] {
    background-color: #fff;
    display: inline-block;
    min-width: 320px;
    border: 2px #092875 solid;
    color: #092875;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    padding: 18px 0px;
    position: relative;
    outline: none; }
    .btn input[type=submit]:before {
      content: "";
      display: block;
      width: 7px;
      height: 7px;
      border-right: 1px #092875 solid;
      border-bottom: 1px #092875 solid;
      position: absolute;
      right: 17px;
      top: 45%;
      transform: rotate(-45deg); }
  @media only screen and (max-width: 767px) {
    .btn a {
      width: 100%; } }
