@charset "UTF-8";
/*---------------------------
common
----------------------------*/
main {
  padding: 5.0em 0; }
  @media screen and (max-width: 640px) {
    main {
      /*sp*/
      padding: 2.0rem 0; } }

/*---------------------------
contact
----------------------------*/
#contact .inner {
  max-width: 1000px; }
  @media only screen and (min-width: 769px) and (max-width: 1024px) {
    #contact .inner {
      /*769px~1000px(inner1000pxの場合)*/
      max-width: 1000px; } }
  @media only screen and (min-width: 641px) and (max-width: 768px) {
    #contact .inner {
      /*tablet*/
      width: 92%; } }
  @media screen and (max-width: 640px) {
    #contact .inner {
      /*sp*/
      width: 90%; } }
  #contact .inner > ul {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    align-content: space-between;
    -webkit-align-content: space-between;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    list-style: none;
    margin-bottom: 6.0em; }
    #contact .inner > ul li {
      width: 48%;
      position: relative; }
      #contact .inner > ul li a {
        display: block;
        border: 1px solid #18925A;
        padding: 1.5em;
        font-size: 1.4em;
        font-weight: bold;
        text-decoration: none;
        color: #18925A; }
        @media screen and (max-width: 640px) {
          #contact .inner > ul li a {
            /*sp*/
            font-size: 1.0rem;
            padding: 1.0rem 0.5rem; } }
        #contact .inner > ul li a.on {
          background-color: #18925A;
          color: #fff;
          position: relative; }
          #contact .inner > ul li a.on::before {
            position: absolute;
            content: "";
            display: block;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 15px 15px 0 15px;
            border-color: #18925A transparent transparent transparent;
            bottom: -15px;
            left: 0;
            right: 0;
            margin: auto; }
        #contact .inner > ul li a:hover {
          background: #18925A;
          color: #fff; }
  #contact .inner .tel_group h2,
  #contact .inner .mail_group h2 {
    margin-bottom: 2.0em;
    text-align: left;
    font-size: 1.8em;
    font-weight: 300;
    color: #18925A;
    position: relative; }
    @media screen and (max-width: 640px) {
      #contact .inner .tel_group h2,
      #contact .inner .mail_group h2 {
        /*sp*/
        font-size: 1.2rem;
        padding-left: 14%; } }
    #contact .inner .tel_group h2::before,
    #contact .inner .mail_group h2::before {
      content: "";
      display: block;
      position: absolute;
      top: -10px;
      left: -60px;
      background-image: url(../img/common/icon_title.png);
      background-repeat: no-repeat;
      background-size: 100%;
      width: 50px;
      height: 40px; }
      @media screen and (max-width: 640px) {
        #contact .inner .tel_group h2::before,
        #contact .inner .mail_group h2::before {
          /*sp*/
          top: 0;
          left: 5px;
          background-size: 60%; } }
    #contact .inner .tel_group h2.mn,
    #contact .inner .mail_group h2.mn {
      margin-bottom: 0.5em; }
  #contact .inner .tel_group form > span,
  #contact .inner .mail_group form > span {
    display: block;
    margin-bottom: 2.0em;
    font-size: 0.9em;
    color: #18925A;
    text-align: left; }
  #contact .inner .tel_group form > .txt,
  #contact .inner .mail_group form > .txt {
    margin-bottom: 4.0em;
    text-align: left; }
    #contact .inner .tel_group form > .txt textarea,
    #contact .inner .mail_group form > .txt textarea {
      width: 100%;
      margin-top: 2.0em;
      padding: 2.0em; }
  #contact .inner .tel_group > span,
  #contact .inner .mail_group > span {
    display: block;
    margin-bottom: 2.0em;
    font-size: 0.9em;
    color: #18925A;
    text-align: left; }
  #contact .inner .tel_group > .txt,
  #contact .inner .mail_group > .txt {
    margin-bottom: 4.0em;
    text-align: left; }
    #contact .inner .tel_group > .txt textarea,
    #contact .inner .mail_group > .txt textarea {
      width: 100%;
      margin-top: 2.0em;
      padding: 2.0em; }
  #contact .inner .tel_group {
    margin-bottom: 6.0em; }
    #contact .inner .tel_group .row .col {
      width: 48%;
      display: flex;
      display: -webkit-flex;
      flex-wrap: wrap;
      justify-content: space-between;
      -webkit-justify-content: space-between;
      align-content: space-between;
      -webkit-align-content: space-between;
      align-items: flex-start;
      -webkit-align-items: flex-start; }
      @media screen and (max-width: 640px) {
        #contact .inner .tel_group .row .col {
          /*sp*/
          width: 100%; }
          #contact .inner .tel_group .row .col:nth-of-type(1) {
            margin-bottom: 1.5rem; } }
      #contact .inner .tel_group .row .col .img {
        width: 30%; }
      #contact .inner .tel_group .row .col .txt {
        width: 65%;
        text-align: left; }
        #contact .inner .tel_group .row .col .txt h3 {
          font-size: 1.4em;
          font-weight: bold;
          color: #18925A;
          margin-bottom: 1.0em; }
          @media screen and (max-width: 640px) {
            #contact .inner .tel_group .row .col .txt h3 {
              /*sp*/
              font-size: 1.2rem;
              margin-bottom: 0.5rem; } }
        #contact .inner .tel_group .row .col .txt .number {
          height: 80px; }
          @media only screen and (min-width: 641px) and (max-width: 768px) {
            #contact .inner .tel_group .row .col .txt .number {
              /*tablet*/
              height: auto;
              margin-bottom: 1.0rem; } }
          @media screen and (max-width: 640px) {
            #contact .inner .tel_group .row .col .txt .number {
              /*sp*/
              height: auto;
              margin-bottom: 0.5rem; } }
          #contact .inner .tel_group .row .col .txt .number p {
            font-size: 30px;
            font-family: 'Oswald', sans-serif;
            font-weight: 500;
            line-height: 1.1em;
            color: #18925A;
            padding-left: 20px;
            letter-spacing: 2px; }
            @media only screen and (min-width: 641px) and (max-width: 768px) {
              #contact .inner .tel_group .row .col .txt .number p {
                /*tablet*/
                font-size: 1.2rem; } }
            #contact .inner .tel_group .row .col .txt .number p a {
              text-decoration: none;
              color: #18925A; }
            @media screen and (max-width: 640px) {
              #contact .inner .tel_group .row .col .txt .number p {
                /*sp*/
                font-size: 1rem;
                margin-bottom: 5px; } }
            #contact .inner .tel_group .row .col .txt .number p span {
              font-size: 10px;
              display: inline-block;
              vertical-align: top;
              margin-right: 10px;
              font-weight: bold; }
            #contact .inner .tel_group .row .col .txt .number p:nth-of-type(1) {
              background: url(../img/common/icon_tel.png);
              background-repeat: no-repeat;
              background-position: left center;
              background-size: auto; }
            #contact .inner .tel_group .row .col .txt .number p:nth-of-type(2) {
              background: url(../img/common/icon_fax.png);
              background-repeat: no-repeat;
              background-position: left center;
              background-size: auto; }
        #contact .inner .tel_group .row .col .txt > p {
          font-size: 1.2em; }
  #contact .inner .mail_group {
    margin-bottom: 3.0em; }
    #contact .inner .mail_group ul {
      display: flex;
      display: -webkit-flex;
      flex-wrap: wrap;
      justify-content: space-between;
      -webkit-justify-content: space-between;
      align-content: space-between;
      -webkit-align-content: space-between;
      align-items: flex-start;
      -webkit-align-items: flex-start;
      list-style: none;
      margin-bottom: 4.0em; }
      #contact .inner .mail_group ul li {
        width: 33.333333%;
        background: #ccc;
        padding: 1.5em 1.0em;
        font-size: 1.2em;
        font-weight: bold;
        border-right: 1px solid #fff; }
        @media screen and (max-width: 640px) {
          #contact .inner .mail_group ul li {
            /*sp*/
            font-size: 1.0rem;
            padding: 1.0rem 0.5rem; } }
        #contact .inner .mail_group ul li.on {
          background: #18925A;
          color: #fff;
          position: relative; }
          #contact .inner .mail_group ul li.on::before {
            position: absolute;
            content: "";
            display: block;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 10px 10px 0 10px;
            border-color: #18925A transparent transparent transparent;
            bottom: -10px;
            left: 0;
            right: 0;
            margin: auto; }
    #contact .inner .mail_group dl {
      display: block; }
      #contact .inner .mail_group dl > div {
        display: flex;
        display: -webkit-flex;
        flex-wrap: wrap;
        justify-content: space-between;
        -webkit-justify-content: space-between;
        align-content: space-between;
        -webkit-align-content: space-between;
        align-items: flex-start;
        -webkit-align-items: flex-start; }
        #contact .inner .mail_group dl > div dt {
          width: 25%;
          padding: 25px 0;
          text-align: left;
          position: relative; }
          @media screen and (max-width: 640px) {
            #contact .inner .mail_group dl > div dt {
              /*sp*/
              width: 100%;
              padding: 0 0 1.0rem 0; } }
          #contact .inner .mail_group dl > div dt span {
            display: block;
            position: absolute;
            top: 25px;
            right: 0;
            color: orange; }
            @media screen and (max-width: 640px) {
              #contact .inner .mail_group dl > div dt span {
                /*sp*/
                top: 0; } }
        #contact .inner .mail_group dl > div dd {
          width: 70%;
          padding: 25px 0 10px;
          text-align: left; }
          @media screen and (max-width: 640px) {
            #contact .inner .mail_group dl > div dd {
              /*sp*/
              width: 100%;
              padding: 0 0 1.0rem 0; } }
          #contact .inner .mail_group dl > div dd input[type="text"],
          #contact .inner .mail_group dl > div dd input[type="email"],
          #contact .inner .mail_group dl > div dd input[type="tel"] {
            font-size: 1.2em;
            width: 100%;
            border: 1px solid #999;
            padding: 0.5em 1.0em; }
            #contact .inner .mail_group dl > div dd input[type="text"].w50,
            #contact .inner .mail_group dl > div dd input[type="email"].w50,
            #contact .inner .mail_group dl > div dd input[type="tel"].w50 {
              width: 50%; }
              @media screen and (max-width: 640px) {
                #contact .inner .mail_group dl > div dd input[type="text"].w50,
                #contact .inner .mail_group dl > div dd input[type="email"].w50,
                #contact .inner .mail_group dl > div dd input[type="tel"].w50 {
                  /*sp*/
                  width: 100%; } }
            #contact .inner .mail_group dl > div dd input[type="text"].w75,
            #contact .inner .mail_group dl > div dd input[type="email"].w75,
            #contact .inner .mail_group dl > div dd input[type="tel"].w75 {
              width: 75%; }
              @media screen and (max-width: 640px) {
                #contact .inner .mail_group dl > div dd input[type="text"].w75,
                #contact .inner .mail_group dl > div dd input[type="email"].w75,
                #contact .inner .mail_group dl > div dd input[type="tel"].w75 {
                  /*sp*/
                  width: 100%; } }
          #contact .inner .mail_group dl > div dd textarea {
            font-size: 1.2em;
            width: 100%;
            height: 200px;
            border: 1px solid #999;
            padding: 0.5em 1.0em; }
          #contact .inner .mail_group dl > div dd.radio input[type="radio"] {
            width: 20px;
            height: 20px;
            margin-right: 1.0em;
            border: 1px solid #ccc;
            vertical-align: text-top; }
            #contact .inner .mail_group dl > div dd.radio input[type="radio"]:nth-of-type(2) {
              margin-left: 20px; }
          #contact .inner .mail_group dl > div dd.tel input[type="text"] {
            width: 100px; }
            @media only screen and (min-width: 641px) and (max-width: 768px) {
              #contact .inner .mail_group dl > div dd.tel input[type="text"] {
                /*tablet*/
                width: 25%;
                font-size: 1.0rem; } }
            @media screen and (max-width: 640px) {
              #contact .inner .mail_group dl > div dd.tel input[type="text"] {
                /*sp*/
                width: 28%; } }
          #contact .inner .mail_group dl > div dd.select .check {
            width: 100%;
            margin-bottom: 1.5em; }
            #contact .inner .mail_group dl > div dd.select .check input[type="checkbox"] {
              width: 20px;
              height: 20px;
              vertical-align: middle;
              margin-right: 10px; }
              @media screen and (max-width: 640px) {
                #contact .inner .mail_group dl > div dd.select .check input[type="checkbox"] {
                  /*sp*/
                  margin-right: 0.3rem; } }
            #contact .inner .mail_group dl > div dd.select .check span {
              font-weight: bold;
              display: inline-block;
              margin-right: 1.0em;
              font-size: 1.2em; }
              @media screen and (max-width: 640px) {
                #contact .inner .mail_group dl > div dd.select .check span {
                  /*sp*/
                  font-size: 1.0rem;
                  margin-right: 0.3rem; } }
          #contact .inner .mail_group dl > div dd.select .col span {
            font-weight: bold;
            display: inline-block;
            margin-right: 1.0em;
            font-size: 1.2em; }
            @media screen and (max-width: 640px) {
              #contact .inner .mail_group dl > div dd.select .col span {
                /*sp*/
                font-size: 1.0rem;
                margin-right: 0.3rem; } }
          #contact .inner .mail_group dl > div dd.select .col p {
            margin-top: 4px;
            margin-bottom: 10px; }
    #contact .inner .mail_group .privacy a {
      width: 33%;
      display: block;
      color: #18925A;
      margin: auto;
      padding: 2.0em 0;
      font-size: 1.4em;
      padding-left: 30px;
      background: url(../img/common/icon_note.png);
      background-repeat: no-repeat;
      background-position: left center;
      background-size: auto; }
      @media only screen and (min-width: 641px) and (max-width: 768px) {
        #contact .inner .mail_group .privacy a {
          /*tablet*/
          width: 50%; } }
      @media screen and (max-width: 640px) {
        #contact .inner .mail_group .privacy a {
          /*sp*/
          width: 80%; } }
    #contact .inner .mail_group .privacy .box {
      width: 80%;
      margin: auto;
      border: 2px solid #ccc;
      padding: 2.0em;
      margin-bottom: 1.5em; }
      @media only screen and (min-width: 641px) and (max-width: 768px) {
        #contact .inner .mail_group .privacy .box {
          /*tablet*/
          width: 90%; } }
      @media screen and (max-width: 640px) {
        #contact .inner .mail_group .privacy .box {
          /*sp*/
          width: 100%; } }
      #contact .inner .mail_group .privacy .box input[type="checkbox"] {
        border: 1px solid #999;
        padding: 0.5em;
        margin-right: 1.0em;
        width: 20px;
        height: 20px; }
    #contact .inner .mail_group .btn {
      padding-top: 1.0em;
      display: flex;
      display: -webkit-flex;
      flex-wrap: wrap;
      justify-content: center;
      -webkit-justify-content: center;
      align-content: center;
      -webkit-align-content: center;
      align-items: flex-start;
      -webkit-align-items: flex-start; }
      @media screen and (max-width: 640px) {
        #contact .inner .mail_group .btn {
          /*sp*/
          width: 80%;
          margin: auto; } }
      #contact .inner .mail_group .btn input[type="submit"].back {
        width: 30%;
        border: none;
        background: #ccc;
        padding: 1.0em 2.0em;
        font-size: 1.2em;
        color: #fff;
        box-sizing: border-box; }
        @media only screen and (min-width: 641px) and (max-width: 768px) {
          #contact .inner .mail_group .btn input[type="submit"].back {
            /*tablet*/
            width: 48%; } }
        @media screen and (max-width: 640px) {
          #contact .inner .mail_group .btn input[type="submit"].back {
            /*sp*/
            width: 100%;
            margin-bottom: 0.3rem; } }
      #contact .inner .mail_group .btn input[type="submit"].submit {
        width: 30%;
        border: none;
        background: #18925A;
        padding: 1.0em 2.0em;
        margin-left: 1.0em;
        font-size: 1.2em;
        color: #fff;
        box-sizing: border-box; }
        @media only screen and (min-width: 641px) and (max-width: 768px) {
          #contact .inner .mail_group .btn input[type="submit"].submit {
            /*tablet*/
            width: 48%; } }
        @media screen and (max-width: 640px) {
          #contact .inner .mail_group .btn input[type="submit"].submit {
            /*sp*/
            width: 100%; } }
    #contact .inner .mail_group.check div dl {
      margin-bottom: 4.0em; }
      #contact .inner .mail_group.check div dl div {
        border-bottom: 1px dotted #ccc; }
        #contact .inner .mail_group.check div dl div dd.select .col {
          display: none; }
    #contact .inner .mail_group.check .privacy {
      display: none; }
    #contact .inner .mail_group.comp > .txt {
      max-width: 70%;
      margin: auto;
      margin-bottom: 3.0em;
      text-align: left;
      line-height: 1.8em; }
      @media screen and (max-width: 640px) {
        #contact .inner .mail_group.comp > .txt {
          /*sp*/
          max-width: 100%;
          margin-bottom: 1.5rem; } }
      #contact .inner .mail_group.comp > .txt span {
        display: block;
        margin-bottom: 2.0em;
        font-size: 2.0em;
        color: #18925A;
        text-align: center; }
    #contact .inner .mail_group.comp .btn {
      max-width: 70%;
      margin: auto;
      text-align: center;
      padding: 2.0em 0; }
      @media screen and (max-width: 640px) {
        #contact .inner .mail_group.comp .btn {
          /*sp*/
          max-width: 90%; } }
      #contact .inner .mail_group.comp .btn a {
        display: inline-block; }

/*# sourceMappingURL=contact.css.map */
