/* Footer */
footer {
  /*background-image: linear-gradient(0deg, #B10009 55%, #CC0A14 95%, rgba(255,255,255,0.00) 95%);*/
  background-image: linear-gradient(0deg, #B10009 55%, #CC0A14 100%, rgba(255, 255, 255, 0) 100%); }
  @media screen and (max-width: 768px) {
    footer {
      padding-bottom: 70px; } }
  footer .f-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    color: #FFF;
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      footer .f-info {
        margin-bottom: 40px; } }
    @media screen and (max-width: 480px) {
      footer .f-info {
        margin-bottom: 30px; } }
    footer .f-info .box {
      width: 46%;
      margin: 0;
      display: flex;
      flex-direction: column; }
      @media screen and (max-width: 768px) {
        footer .f-info .box {
          width: 100%;
          margin-bottom: 2em; }
          footer .f-info .box:last-of-type {
            margin-bottom: 0; } }
      footer .f-info .box .title {
        font-size: 2.4rem;
        font-weight: 700;
        margin: 10px 0 5px; }
        @media screen and (max-width: 768px) {
          footer .f-info .box .title {
            font-size: 2.2rem; } }
        @media screen and (max-width: 480px) {
          footer .f-info .box .title {
            font-size: 2.0rem; } }
      footer .f-info .box .text {
        flex: 1; }
      footer .f-info .box .btn-area {
        padding-top: 1em;
        margin-top: 1em;
        border-top: 1px solid #FFF; }
        footer .f-info .box .btn-area a {
          display: flex;
          align-items: center;
          font-weight: 700; }
        footer .f-info .box .btn-area img {
          width: 40px;
          margin-right: 10px; }
      footer .f-info .box .img-border img {
        border: 2px solid #CC0A14;
        border-radius: 20px; }
  footer .f-contact {
    /*background-image:url("../images/f-bg.webp");
    background-size: cover;
    background-position: center center;*/
    padding: 50px 0 0;
    text-align: center;
    color: #FFF; }
    @media screen and (max-width: 768px) {
      footer .f-contact {
        padding: 30px 0 0; } }
    @media screen and (max-width: 480px) {
      footer .f-contact {
        padding: 20px 0 0; } }
    footer .f-contact .f-titlearea {
      text-align: center;
      margin-bottom: 20px;
      /*display: flex;
      text-align: left;
      align-items: center;
      .f-title{
        margin-right: 2em;
      }*/ }
    footer .f-contact .title, footer .f-contact .title-sub {
      font-weight: 700; }
    footer .f-contact .title {
      font-family: 'Montserrat', sans-serif;
      font-size: 5.0rem;
      line-height: 1.3em; }
      @media screen and (max-width: 768px) {
        footer .f-contact .title {
          font-size: 4.0rem; } }
      @media screen and (max-width: 480px) {
        footer .f-contact .title {
          font-size: 3.0rem; } }
    footer .f-contact .title-sub {
      font-size: 2.6rem;
      /*margin-bottom: 1em;*/ }
      @media screen and (max-width: 768px) {
        footer .f-contact .title-sub {
          font-size: 2.2rem;
          line-height: 1.5em; } }
      @media screen and (max-width: 480px) {
        footer .f-contact .title-sub {
          font-size: 2.0rem;
          line-height: 1.4em; } }
    footer .f-contact .f-box {
      background-color: rgba(255, 255, 255, 0.9);
      color: #222;
      display: flex;
      flex-wrap: wrap;
      border-top-left-radius: 30px;
      border-top-right-radius: 30px;
      font-size: 1.4rem;
      padding: 2.5em 0; }
      @media screen and (max-width: 768px) {
        footer .f-contact .f-box {
          padding: 2em 1.5em;
          margin-top: 1.5em;
          border-top-left-radius: 20px;
          border-top-right-radius: 20px; } }
      footer .f-contact .f-box .f-box-in {
        width: 50%;
        padding: 0 1em; }
        @media screen and (max-width: 768px) {
          footer .f-contact .f-box .f-box-in {
            width: 100%; } }
        footer .f-contact .f-box .f-box-in:first-of-type {
          border-right: 1px solid #DCDCDC; }
          @media screen and (max-width: 768px) {
            footer .f-contact .f-box .f-box-in:first-of-type {
              border-right: none;
              border-bottom: 1px solid #DCDCDC;
              padding-bottom: 1.5em;
              margin-bottom: 1.5em; } }
        footer .f-contact .f-box .f-box-in .font-b {
          font-size: 2.0rem;
          font-weight: 700;
          margin-bottom: 8px; }
        footer .f-contact .f-box .f-box-in .tel {
          width: 250px;
          margin: 0 auto 5px; }
        footer .f-contact .f-box .f-box-in .btn-area {
          width: 300px;
          margin: 0 auto;
          font-weight: 700; }
          footer .f-contact .f-box .f-box-in .btn-area .button {
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            padding: .7em 3.5em .7em 1em;
            border: 1px solid #CC0A14;
            background-color: #CC0A14;
            border-radius: 30px;
            color: #FFF;
            font-size: 1.3em; }
            footer .f-contact .f-box .f-box-in .btn-area .button::after {
              position: absolute;
              right: 2em;
              transform: translateY(-50%);
              transform-origin: left;
              width: 2em;
              height: .5em;
              background-color: #FFF;
              clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
              content: '';
              transition: transform .6s; }
            footer .f-contact .f-box .f-box-in .btn-area .button:hover::after {
              transform: translateY(-50%) scaleX(1.4); }
  footer .f-nav {
    background-image: url("../images/f-bg.webp");
    background-size: cover;
    background-position: center center;
    /*background: #101010;*/
    padding: 40px 0 30px;
    font-size: 1.5rem; }
    @media screen and (max-width: 480px) {
      footer .f-nav {
        padding: 25px 0 10px;
        font-size: 1.4rem; } }
    footer .f-nav .inner {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start; }
      footer .f-nav .inner ul {
        margin-bottom: 15px;
        border-left: 1px solid #FFF;
        padding-left: 10px; }
        @media screen and (max-width: 768px) {
          footer .f-nav .inner ul {
            width: 50%; } }
        footer .f-nav .inner ul li {
          padding: 5px 0 0;
          list-style: none; }
          footer .f-nav .inner ul li:first-of-type {
            padding-top: 0; }
    footer .f-nav a {
      color: #FFF; }
  footer .info-copy {
    font-size: 1.4rem;
    line-height: 1.5em;
    background-color: #000000;
    color: #FFF;
    padding: 15px 2%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end; }
    footer .info-copy div {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      footer .info-copy div figure {
        width: 180px;
        margin-right: 2em; }
        @media screen and (max-width: 480px) {
          footer .info-copy div figure {
            margin-right: 0;
            margin-bottom: 1em; } }
      footer .info-copy div a {
        color: #FFF; }
    footer .info-copy .copyright {
      color: rgba(255, 255, 255, 0.35);
      margin-top: 1em; }
      @media screen and (max-width: 480px) {
        footer .info-copy .copyright {
          font-size: 1.2rem; } }

nav.side {
  position: fixed;
  right: 0;
  /*bottom: 36%;*/
  bottom: 20%;
  width: 90px;
  z-index: 100; }
  @media screen and (max-width: 768px) {
    nav.side {
      right: 0;
      bottom: 0;
      width: 100%;
      display: flex; } }
  nav.side figure {
    margin-bottom: 2px;
    background-color: rgba(0, 0, 0, 0.85);
    border-top-left-radius: 10px;
    text-align: center; }
    nav.side figure:hover {
      background-color: rgba(184, 0, 9, 0.9);
      transition: all .5s; }
    @media screen and (max-width: 768px) {
      nav.side figure {
        border-top-left-radius: 0;
        margin-bottom: 0;
        background-color: rgba(0, 0, 0, 0.9);
        border-left: 1px solid #333;
        /*width: 25%;*/
        width: 50%;
        box-sizing: border-box; }
        nav.side figure:first-of-type {
          border-left: none; } }
    nav.side figure img {
      height: auto; }
      @media screen and (max-width: 768px) {
        nav.side figure img {
          height: 70px; } }
    nav.side figure a:hover {
      opacity: 1.0; }
