@charset "utf-8";


/* footer
=========================================================================================== */

  .l-footer {
    clear: both;
    position: relative;
    background-color: var(--footer-bgcolor);
    color: var(--footer-textcolor);
    }
    @media print, screen and (min-width: 768px) {
      .l-footer {
        }
    }
    @media (max-width: 767px) {
      .l-footer {
        }
    }

	/* --- sns --- */
    .l-sns {
      text-align: center;
      }
    .l-sns > a {
      display: inline-block;
      text-decoration: none;
      background-color: var(--sns-bgcolor);
      color: var(--sns-iconcolor);
      margin: 0 15px;
      border: var(--sns-bordercolor) solid 2px;
        -webkit-border-radius: 50%;
       -moz-border-radius: 50%;
            border-radius: 50%;
        -ms-border-radius: 50%;
      }
    @media print, screen and (min-width: 768px) {
      .l-sns {
        padding: 30px 0;
        }
      .l-sns > a {
        font-size: 4.0rem;
        width: 80px;
        height: 80px;
        line-height: 80px;
        }
      .l-sns > a:hover {
        border-color: var(--sns-bordercolor-hover);
        color: var(--sns-iconcolor);
        }
    }
    @media (max-width: 767px) {
      .l-sns {
        padding: 25px 0;
        }
      .l-sns > a {
        font-size: 2.6rem;
        width: 50px;
        height: 50px;
        line-height: 50px;
        }
    }




	/* --- address --- */
  .l-faddress {
    font-style: normal;
    display: -webkit-flex;
    display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
    }
    .l-faddress > * {
      padding: 0 5%;
      display: -webkit-box!important;
      display: -moz-box!important;
      display: -ms-flexbox!important;
      display: -webkit-flex!important;
      display: flex!important;
      -webkit-flex-direction: column;
      flex-direction: column;
      -webkit-justify-content: center;
      justify-content: center;
      }
      .l-faddress > * img {
        flex-shrink: 0;
        }
    @media print, screen and (min-width: 768px) {
      .l-faddress {
        padding: 50px 0;
        }
      
      .l-faddress > * {
        border-right: #999 solid 2px;
        padding: 0 3%;
        }
      .l-faddress > *:first-child {
        }
      .l-faddress > *:last-child {
        border-right: none;
        }
    }
      @media screen and (min-width:768px) and (max-width:1060px){
        .l-faddress > * {
          }
        .l-faddress > *:first-child { 
          padding-right: 0;
          width: 100%;
          margin-bottom: 20px;
          border-right: none;
          text-align: center;
          }
        .l-faddress > *:last-child {
          }
      }
    @media (max-width: 767px) {
      .l-faddress {
        padding: 30px 3%;
        }
      
      .l-faddress > * {
        border-bottom: #999 solid 2px;
        padding: 3% 0;
        width: 100%;
        text-align: center;
        }
      .l-faddress > *:first-child {
        }
        .l-faddress > *:first-child img {
          max-width: 200px;
          width: 80%;
          }
      .l-faddress > *:last-child {
        border-bottom: none;
        }
    }
     


	/* --- copyright --- */
  .l-copyright {
    position: relative;
    clear: both;
    width: 100%;
    display: -webkit-box!important;
    display: -webkit-flex!important;
    display: flex!important;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    text-align: center;
    background-color: var(--copyright-bgcolor);
	  color: var(--copyright-textcolor)!important; 
    }
    @media print, screen and (min-width: 768px) {
      .l-copyright {
        height: 100px;
        }
    }
    @media (max-width: 767px) {
      .l-copyright {
        height: 60px;
        }
    }





	/* --- fnav --- */
    .l-fnav a {
      display: block;
      }
    @media print, screen and (min-width: 768px) {
      .l-fnav a {
        font-size: 6.0rem;
        height: 60px;
        width: 60px;
        line-height: 60px;
        color: var(--fnav-iconcolor-pc)!important; 
        -webkit-text-stroke-width: 1px;
        -webkit-text-stroke-color: var(--fnav-iconcolor-pc-shadow);
        text-stroke-width: 1px;
        text-stroke-color: var(--fnav-iconcolor-pc-shadow);
        }
      .l-fnav a:hover {
        color: var(--fnav-iconcolor-pc-hover)!important;
        }
      .l-fnav a.l-ftel {
        left: 20px;
        }
      .l-fnav a.l-fcontact {
        left: 50%;
        margin-left: -30px;
        }
      .l-fnav a.l-pagetop {
        right: 20px;
        }
      .l-fnav a.l-fcontact,
      .l-fnav a.l-ftel {
        visibility: hidden; 
        }
    }
    @media (max-width: 767px) {
      .l-fnav a {
        font-size: 2.0rem;
        height: 46px;
        width: 46px;
        line-height: 45px;
        letter-spacing: 0;
        background-color: var(--fnav-bgcolor-sp);
        color: var(--fnav-iconcolor-sp)!important; 
        text-align: center;
/*        border: #fff solid 2px; */
        -webkit-border-radius: 50%;
       -moz-border-radius: 50%;
            border-radius: 50%;
        -ms-border-radius: 50%;
        }
      .l-fnav a.l-ftel {
        left: 8%;
        }
      .l-fnav a.l-fcontact {
        left: 50%;
        margin-left: -23px;
        }
      .l-fnav a.l-pagetop {
        right: 8%;
        }
      .l-fnav a.l-fcontact,
      .l-fnav a.l-ftel {
        visibility: visible;
        }
    }

  
  .l-fnav a {
    position: fixed;
    z-index: 2;
    opacity: 0;
    transform: translateY(100px);
    }

  /*　上に上がる動き　*/
  .l-fnav a.UpMove {
    animation: UpAnime 0.5s forwards;
    }
    @keyframes UpAnime{
      from {
        opacity: 0;
      transform: translateY(150px);
      }
      to {
        opacity: 1;
      transform: translateY(0);
      }
    }

  /*　下に下がる動き　*/
  .l-fnav a.DownMove {
    animation: DownAnime 0.5s forwards;
    }
    @keyframes DownAnime{
      from {
        opacity: 1;
      transform: translateY(0);
      }
      to {
        opacity: 1;
      transform: translateY(150px);
      }
    }
