@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/






/*-------------------------------------------------------
 *     ローディングアニメーション
 * ----------------------------------------------------*/

.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  display: flex !important;
  align-items: center;
  justify-content: center;
  animation: fadeOut 4s 1s forwards;
}

.loading img {
  opacity: 0;
  animation: logo_fade 4s 0.4s forwards;
  width: 250px; /* ロゴのサイズを指定（パソコン） */
}

@media screen and (max-width: 959px) {
  .loading img {
    width: 200px; /* ロゴのサイズを指定（スマホ） */
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes logo_fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}





/*-------------------------------------------------------------------------------------

#header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: var(--swl-adminbarH, 0px);
}
/* ヘッダーの背景を透明にした場合の固定 */ /*
#header.-transparent {  
  position: fixed !important;
}

--------------------------------------------------------------------------*/

@media screen and (max-width: 959px) {
    body {
        padding-bottom: 60px; /* 固定メニューの高さに合わせて余白を設定 */
    }
    .p-fixBtnWrap {
        bottom: 5.5em; /* 上に戻るボタンの位置を上に */
    }
    #fixed-bottom-menu {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: 99;
        background-color: #000;
        padding: .3em .3em;
    }
    #fixed-bottom-menu .swell-block-column {
        padding: .5em;
    }
    #fixed-bottom-menu .swell-block-button__link[data-has-icon] {
        padding: 1em 1em;
    }    
}
@media screen and (min-width: 960px) {
    #fixed-bottom-menu, #fixed-sidebar-menu {
        display: none; /* PCでは非表示にする */
    }
}