@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
*/

.bg_pink {
  background-color: #fff8ff;
}
.bg_blue {
  background-color: #e9f8ff;
}

.bg_daigo {
    background-image: url('/wp-content/uploads/2026/02/07daigo_bg.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.bg_hiro {
    background-image: url('/wp-content/uploads/2026/02/07hiro_bg.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* 左右の余白 */
.plr5 {
    padding: 0 5px;
}
.plr10 {
    padding: 0 10px;
}
.plr15 {
    padding: 0 15px;
}

/* PC表示では改行なし、スマホで改行 */
.sp-br {
    display: none;
}

@media (max-width: 767px) {
    .sp-br {
        display: block;
    }
}

/* メインビジュアルの高さを自動調整 */
.p-mainVisual {
  min-height: auto !important;
  height: auto !important;
  padding: 0 !important;
}

/* テキストレイヤーの高さを自動調整 */
.p-mainVisual__textLayer {
  height: auto !important;
  min-height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* コンテナの余白も削除 */
.p-mainVisual .l-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ブログパーツの余白も削除 */
.p-mainVisual .p-blogParts {
  margin: 0 !important;
}

/* FV下の余白を消す */
/* メインビジュアルの下余白を削除 */
.p-mainVisual {
  margin-bottom: 0 !important;
}

/* メインビジュアルの次のコンテンツの上余白を削除 */
.l-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* トップページのコンテンツの上余白を削除 */
.top #content {
  padding-top: 0 !important;
}

/* コンテナの上余白も削除 */
.l-container {
  margin-top: 0 !important;
}

/* プリヘッド */
.prehead {
    background-color: #062a58;
    line-height: 1;
    padding-bottom: 10px;
    padding-top: 10px;
	text-align:center;
}


/* SWELLの全幅ブロックを確実に全幅にする */
.swell-block-fullWide.alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* FVとメインコンテンツの間の余白を削除 */
.l-mainContent,
#main_content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.l-article {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* トップページの場合のみ適用する場合 */
.home .l-mainContent,
.home #main_content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* より強力な全幅設定 */
.swell-block-fullWide.alignfull {
  width: 100vw !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  position: relative !important;
}

/* 親要素の制限を解除 */
.l-article,
.l-mainContent,
#main_content {
  overflow-x: visible !important;
  max-width: none !important;
}

/*追従ボタン*/
/* スマホ追従ボタン */
.sp-fixed-button {
  position: fixed;
  bottom: 10px; /* 下からの距離 */
  left: 50%; /* 中央寄せの基準 */
  transform: translateX(-50%); /* 完全に中央寄せ */
  z-index: 99999; /* 最前面に表示 */
  width: 90%; /* ボタンの幅 */
  max-width: 250px; /* 最大幅 */
  display: none; /* PC時は非表示 */
  animation: shake 10s ease-in-out infinite; /* 4秒ごとに繰り返し */
}

.sp-fixed-button a {
  display: block;
  width: 100%;
}

.sp-fixed-button img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* 影をつける */
  border-radius: 8px; /* 角を丸くする(お好みで) */
}

/* スマホのみ表示 */
@media screen and (max-width: 768px) {
  .sp-fixed-button {
    display: block;
  }
}

/* スマホ時のフッター下余白 */
@media screen and (max-width: 768px) {
  .l-footer,
  footer {
    padding-bottom: 100px !important; /* ボタンの高さ+余裕分 */
  }
}
/*追従ボタンここまで*/

/* 背景ロゴ */
.bg_logo {
  background-image: url('https://www.fukugyo01.com/wp-content/uploads/2026/01/05bg.webp');
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain; /* または contain */
background-size: 400px auto; /* 幅400px、高さは自動で縦横比維持 */
  position: relative;
}
@media screen and (max-width: 768px) {
.bg_logo {
background-size: 200px auto; /* 幅400px、高さは自動で縦横比維持 */
  position: relative;

}
}


/* 文字を読みやすくする場合は透過オーバーレイを追加 */
.bg_logo::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height:100%;
  background-color: rgba(255, 255, 255, 0.1); /* 白の半透明オーバーレイ */
  z-index: 0;
}

.bg_logo > * {
  position: relative;
  z-index: 1;
}


/* プルプルアニメーション */
@keyframes shake {
  0%, 90%, 100% { 
    transform: translateX(-50%) rotate(0deg); 
  }
  92%, 96% { 
    transform: translateX(-50%) rotate(-3deg); 
  }
  94%, 98% { 
    transform: translateX(-50%) rotate(3deg); 
  }
}

.pb-0 {
	padding-bottom: 0px !important;
}

/* アイコンのベースライン */
.icon_line {
    vertical-align: middle;
    margin-top: -0.5em;
}