@charset "UTF-8";
/* Footer */
footer {
  /*padding-top: 50px;*/
  /*border-top: 5px solid #00B3EC;*/
  line-height: 1.6em;
  background-color: #FFF;
  background-image: url("../images/f-bg.webp");
  background-size: cover;
  background-repeat: none;
  background-position: center top;
  padding: 80px 0; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 60px 0; } }
  @media screen and (max-width: 480px) {
    footer {
      padding: 40px 0; } }
  footer .inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #FFF;
    border-radius: 20px;
    padding: 40px 80px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      footer .inner {
        padding: 30px 40px; } }
    @media screen and (max-width: 480px) {
      footer .inner {
        padding: 20px 20px; } }
    footer .inner .f-logo {
      width: 285px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        footer .inner .f-logo {
          width: 220px; } }
      @media screen and (max-width: 480px) {
        footer .inner .f-logo {
          width: 200px; } }
    footer .inner nav {
      margin: 60px 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 10px 30px; }
      @media screen and (max-width: 1200px) {
        footer .inner nav {
          justify-content: center; } }
      @media screen and (max-width: 768px) {
        footer .inner nav {
          justify-content: center;
          margin: 40px 0;
          display: inline-block; }
          footer .inner nav p {
            margin: 5px 0; } }
      @media screen and (max-width: 480px) {
        footer .inner nav {
          justify-content: center;
          margin: 30px 0; } }
    footer .inner .copy-r {
      font-size: 1.3rem;
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      column-gap: 30px; }
      @media screen and (max-width: 480px) {
        footer .inner .copy-r {
          font-size: 1.2rem;
          column-gap: 0; } }

/* 固定バナーの基本デザイン */
#fixed-banner {
  position: fixed;
  bottom: 15px;
  left: 15px;
  width: 500px;
  /* バナーサイズ調整 */
  z-index: 1000;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); }
  @media screen and (max-width: 768px) {
    #fixed-banner {
      width: 400px; } }
  @media screen and (max-width: 480px) {
    #fixed-banner {
      width: 75%;
      bottom: 68px;
      right: 15px;
      left: auto; } }
  #fixed-banner img {
    display: block;
    width: 100%;
    height: auto; }
  #fixed-banner a {
    text-decoration: none; }
    #fixed-banner a:hover {
      text-decoration: none;
      transition: all .5s;
      opacity: 1.0; }

/* ×ボタン */
#close-banner {
  position: absolute;
  top: 3px;
  right: 3px;
  background: black;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  cursor: pointer;
  font-size: 16px;
  line-height: 24px;
  text-align: center; }
  #close-banner:hover {
    background: rgba(0, 0, 0, 0.8); }

#bnrArea {
  width: 95%;
  margin: 0 auto 60px; }
  @media screen and (max-width: 768px) {
    #bnrArea {
      width: 95%;
      margin-bottom: 50px; } }
  #bnrArea img {
    width: 100%;
    height: auto;
    display: block; }

.slick-slider .slick-slide {
  margin-right: 10px;
  /* バナー間のスペースを調整 */ }

/* 画像が余白で切れないように調整 */
.slick-slider {
  margin-left: -10px; }

#snsArea {
  margin-bottom: 10px;
  font-size: 1.2em;
  text-align: center; }
  #snsArea .snsBnr {
    font-size: 60px;
    line-height: 1.4em; }
    #snsArea .snsBnr a {
      color: #222;
      margin: 0 15px; }
