@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
フッター
---------------------------------------------------------------------------------------------------------------------
*/
#footer {
  background-color: #8FC31F;
  padding: 30px 0 20px;
  position: relative; }
  @media (min-width: 768px) {
    #footer {
      padding: 60px 0 60px; } }
  #footer .footer-in {
    max-width: 1100px;
    margin: auto;
    width: 90%;
    position: relative; }
    #footer .footer-in .g-map iframe {
      width: 100%;
      height: 220px;
      border-radius: 20px; }
      @media (min-width: 768px) {
        #footer .footer-in .g-map iframe {
          height: 330px; } }
      @media (min-width: 1024px) {
        #footer .footer-in .g-map iframe {
          height: 500px; } }
    #footer .footer-in .info {
      margin-top: 30px;
      position: relative; }
      @media (min-width: 768px) {
        #footer .footer-in .info {
          display: flex;
          margin-top: 60px; } }
      @media (min-width: 768px) {
        #footer .footer-in .info .info-l {
          display: flex;
          width: 60%;
          padding-right: 2%; } }
      @media (min-width: 1024px) {
        #footer .footer-in .info .info-l {
          padding-right: 5%; } }
      #footer .footer-in .info .info-l .icon {
        display: none; }
        @media (min-width: 768px) {
          #footer .footer-in .info .info-l .icon {
            display: block;
            width: 23%;
            padding-right: 5%; } }
        @media (min-width: 1024px) {
          #footer .footer-in .info .info-l .icon {
            width: 25%; } }
      #footer .footer-in .info .info-l .txt {
        color: #fff; }
        @media (min-width: 768px) {
          #footer .footer-in .info .info-l .txt {
            width: 75%; } }
        #footer .footer-in .info .info-l .txt .logo {
          margin-bottom: 20px;
          width: 90%; }
          @media (min-width: 768px) {
            #footer .footer-in .info .info-l .txt .logo {
              width: 100%; } }
        #footer .footer-in .info .info-l .txt ul.txt-in {
          margin-bottom: 10px; }
          #footer .footer-in .info .info-l .txt ul.txt-in li {
            font-size: 0.9em;
            font-weight: 400;
            line-height: 1.2em;
            margin-bottom: 5px; }
            @media (min-width: 1024px) {
              #footer .footer-in .info .info-l .txt ul.txt-in li {
                font-size: 1.125em; } }
            #footer .footer-in .info .info-l .txt ul.txt-in li a {
              color: #fff; }
      #footer .footer-in .info .info-r {
        margin-top: 30px;
        padding-bottom: 100px; }
        @media (min-width: 768px) {
          #footer .footer-in .info .info-r {
            width: 40%;
            margin-top: 0;
            padding-bottom: 0; } }
        #footer .footer-in .info .info-r .tel {
          color: #fff; }
          #footer .footer-in .info .info-r .tel:first-child {
            margin-bottom: 20px; }
          #footer .footer-in .info .info-r .tel:nth-child(2) {
            margin-bottom: 20px; }
            @media (min-width: 1250px) {
              #footer .footer-in .info .info-r .tel:nth-child(2) {
                margin-bottom: 20px; } }
          #footer .footer-in .info .info-r .tel h3 {
            font-size: 0.9em;
            line-height: 1.2em;
            margin-bottom: 3px; }
            @media (min-width: 1250px) {
              #footer .footer-in .info .info-r .tel h3 {
                font-size: 1.125em;
                margin-bottom: 0px; } }
          #footer .footer-in .info .info-r .tel a {
            display: flex;
            align-items: center;
            color: #fff; }
            #footer .footer-in .info .info-r .tel a img {
              width: 18px;
              margin-right: 5px; }
              @media (min-width: 1250px) {
                #footer .footer-in .info .info-r .tel a img {
                  width: 26px; } }
            #footer .footer-in .info .info-r .tel a p {
              font-size: 2.0em;
              font-weight: 900;
              line-height: 1.0em; }
              @media (min-width: 1250px) {
                #footer .footer-in .info .info-r .tel a p {
                  font-size: 3.125em; } }
          #footer .footer-in .info .info-r .tel h4 a {
            font-size: 1.875em;
            font-weight: 700;
            line-height: 1.2em;
            color: #fff; }
    #footer .footer-in ul.yakkan {
      margin-top: 30px;
      position: absolute;
      bottom: 0; }
      @media (min-width: 768px) {
        #footer .footer-in ul.yakkan {
          position: inherit;
          margin-top: 10px; } }
      #footer .footer-in ul.yakkan.pcbtn {
        display: none; }
        @media (min-width: 768px) {
          #footer .footer-in ul.yakkan.pcbtn {
            display: block; } }
      @media (min-width: 768px) {
        #footer .footer-in ul.yakkan.spbtn {
          display: none; } }
      @media (min-width: 1250px) {
        #footer .footer-in ul.yakkan li {
          display: inline-block; } }
      #footer .footer-in ul.yakkan li a {
        font-size: 0.85em;
        font-weight: 400;
        line-height: 1.2em;
        color: #fff;
        transition: .5s;
        position: relative;
        display: inline-block; }
        #footer .footer-in ul.yakkan li a::after {
          position: absolute;
          bottom: 0;
          left: 0;
          content: '';
          width: 100%;
          height: 1px;
          background: #fff;
          transform: scale(0, 1);
          transform-origin: right top;
          transition: transform .3s; }
        #footer .footer-in ul.yakkan li a:hover::after {
          transform-origin: left top;
          transform: scale(1, 1); }
    #footer .footer-in .copy {
      margin-top: 20px; }
      @media (min-width: 768px) {
        #footer .footer-in .copy {
          float: right; } }
      #footer .footer-in .copy p {
        font-size: 0.7em;
        line-height: 1.2em;
        color: #fff; }
        @media (min-width: 768px) {
          #footer .footer-in .copy p {
            font-size: 0.8em; } }
