#contact {
  padding: 95px 15px 140px; }
  #contact h3 {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 500;
    border-left: 4px solid #002c78;
    padding: 5px 15px; }

#sec01 {
  background-color: #f5f5f5;
  padding: 75px 175px 75px 75px;
  display: flex;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  #sec01 .ttl_wrap h3 {
    margin-bottom: 0; }
  #sec01 .tel_wrap a {
    display: block;
    font-weight: 700;
    font-size: 46px;
    font-size: 4.6rem;
    pointer-events: none; }
  #sec01 .tel_wrap span {
    display: block;
    font-weight: 500;
    font-size: 16px;
    font-size: 1.6rem;
    padding-top: 10px; }

#form {
  padding-top: 100px;
  padding-left: 75px; }
  #form h3 {
    margin-bottom: 50px; }
  #form p {
    line-height: 2; }
  #form dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 45px; }
    #form dl dt {
      width: 28%;
      padding-top: 12px;
      padding-left: 15px; }
      #form dl dt span {
        margin-left: 15px;
        display: inline-block;
        border-radius: 5px;
        padding: 3px 10px;
        text-align: center;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1;
        color: #fff; }
        #form dl dt span.hissu {
          background-color: #f04a4a; }
        #form dl dt span.ninni {
          background-color: #2ab8f3; }
    #form dl dd {
      width: 72%; }
      #form dl dd input,
      #form dl dd textarea {
        width: 100%;
        border: 1px solid #b9b9b9;
        background-color: #f5f5f5;
        padding: 10px;
        font-family: 'Noto Sans JP', sans-serif; }
      #form dl dd textarea {
        height: 300px;
        resize: none; }
      #form dl dd .error {
        padding-top: 0.5em; }
  #form .btn_wrap {
    padding-top: 45px;
    text-align: center; }
    #form .btn_wrap button {
      border-radius: 0;
      -webkit-box-sizing: content-box;
      -webkit-appearance: button;
      appearance: button;
      border: none;
      box-sizing: border-box;
      cursor: pointer;
      color: #fff;
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 1;
      padding: 30px 0;
      max-width: 390px;
      width: 100%;
      margin: 0 auto;
      background-color: #e5004f;
      border-radius: 10px;
      transition: all .3s; }
      #form .btn_wrap button:hover {
        opacity: 0.7; }

@media screen and (max-width: 1200px) {
  #contact {
    padding: calc(95 / 1200 * 100vw) calc(15 / 1200 * 100vw) calc(140 / 1200 * 100vw); }
    #contact h3 {
      font-size: calc(28 / 1200 * 100vw);
      padding: calc(5 / 1200 * 100vw) calc(15 / 1200 * 100vw); }

  #sec01 {
    padding: calc(75 / 1200 * 100vw) calc(40 / 1200 * 100vw) calc(75 / 1200 * 100vw) calc(40 / 1200 * 100vw); }
    #sec01 .tel_wrap a {
      font-size: calc(60 / 1200 * 100vw); }
    #sec01 .tel_wrap span {
      font-size: calc(20 / 1200 * 100vw);
      padding-top: calc(10 / 1200 * 100vw); }

  #form {
    padding-top: calc(100 / 1200 * 100vw);
    padding-left: calc(40 / 1200 * 100vw);
    padding-right: calc(40 / 1200 * 100vw); }
    #form h3 {
      margin-bottom: calc(50 / 1200 * 100vw); }
    #form dl {
      margin-bottom: calc(45 / 1200 * 100vw); }
      #form dl dt {
        padding-top: calc(12 / 1200 * 100vw);
        padding-left: calc(15 / 1200 * 100vw); }
        #form dl dt span {
          margin-left: calc(15 / 1200 * 100vw);
          padding: calc(3 / 1200 * 100vw) calc(10 / 1200 * 100vw);
          font-size: calc(14 / 1200 * 100vw); }
    #form .btn_wrap {
      padding-top: calc(45 / 1200 * 100vw); }
      #form .btn_wrap button {
        font-size: calc(26 / 1200 * 100vw);
        padding: calc(30 / 1200 * 100vw) 0; } }
@media screen and (max-width: 750px) {
  #contact {
    padding: calc(90 / 750 * 100vw) 0 calc(140 / 750 * 100vw); }
    #contact h3 {
      font-size: calc(36 / 750 * 100vw);
      padding: calc(10 / 750 * 100vw) calc(30 / 750 * 100vw); }

  #sec01 {
    padding: calc(60 / 750 * 100vw) calc(60 / 750 * 100vw); }
    #sec01 .tel_wrap a {
      font-size: calc(60 / 750 * 100vw);
      margin: calc(30 / 750 * 100vw) 0 calc(20 / 750 * 100vw);
      pointer-events: auto; }
    #sec01 .tel_wrap span {
      font-size: calc(28 / 750 * 100vw);
      padding-top: calc(20 / 750 * 100vw); }

  #form {
    padding: calc(100 / 750 * 100vw) calc(60 / 750 * 100vw) 0; }
    #form h3 {
      margin-bottom: calc(50 / 750 * 100vw); }
    #form dl {
      margin-bottom: calc(45 / 750 * 100vw); }
      #form dl dt {
        width: 100%;
        padding: calc(20 / 750 * 100vw) 0; }
        #form dl dt span {
          margin-left: calc(20 / 750 * 100vw);
          padding: calc(6 / 750 * 100vw) calc(16 / 750 * 100vw);
          font-size: calc(24 / 750 * 100vw); }
      #form dl dd {
        width: 100%; }
        #form dl dd input,
        #form dl dd textarea {
          padding: calc(16 / 750 * 100vw); }
        #form dl dd textarea {
          height: calc(500 / 750 * 100vw);
          resize: none; }
    #form .btn_wrap {
      padding-top: calc(60 / 750 * 100vw); }
      #form .btn_wrap button {
        font-size: calc(36 / 750 * 100vw);
        padding: calc(30 / 750 * 100vw) 0;
        width: 80%; } }
