@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
*/
/*
■共通
■共通＿ヘッダー
■共通＿フッター直前
■共通＿フッター
■共通＿タイトル
■トップページ
　メインビジュアル上のテキスト装飾　パターンA
　メインビジュアル上のテキスト装飾　パターンB
■お知らせ一覧ページ
■ギャラリーページ
■会社案内ページ
■問い合わせページ
*/

/* ==================================================
 * 固定フッターメニュー
 * ================================================== */

#fix_bottom_menu .menu_list {
    align-items: center;
    display: flex;
    height: 60px;
    justify-content: space-between;
    padding: 2px 0 0;
    position: relative;
    z-index: 1;
}

#fix_bottom_menu span {
    color: inherit;
    display: block;
    font-size: 21px;
    line-height: 1;
    margin-top: 4px;
    width: 100%;
}


/* --- SWELL標準のフッターをサイト全体で非表示にする --- */
#footer {
  display: none !important;
}


/* ==================================================
 * 5つの事業
 * ================================================== */

/* ==================================================
 * カードコンテナ（大枠）
 * ================================================== */
.custom-card-container {
  display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin: -100px auto 2em; /* 上に上げる */
    box-sizing: border-box;
    position: relative;
    z-index: 9999;
}

/* --- スマホ表示時の調整（画面が小さい時は重ねる量を少し減らす） --- */
@media screen and (max-width: 767px) {
    .custom-card-container {
        margin-top: -40px !important; 
    }
}
/* ==================================================
 * 各カードの基本スタイル（PC：5列）
 * ================================================== */
.custom-card-item {
  width: calc((100% - 64px) / 5); /* (全体の幅 - 隙間16px×4つ) ÷ 5列 */
  background-color: #ffffff;
  border-radius: 2px;
  /* 画像にある黄色・ゴールド系のやわらかい光と枠線を再現 */
  border: 1px solid rgba(240, 210, 130, 0.5);
  box-shadow: 0 0 15px rgba(235, 195, 80, 0.35);
  display: flex;
  flex-direction: column;
  text-decoration: none !important; /* SWELLのリンク装飾リセット */
  color: inherit !important;
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

/* ホバーで少しだけ浮くアニメーション（不要な場合は削除してください） */
.custom-card-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 5px 20px rgba(235, 195, 80, 0.6);
}

/* ==================================================
 * ① 上部画像エリア（グレーのダミー）
 * ================================================== */
.card-image-box {
  width: 100%;
  aspect-ratio: 4 / 3; /* 正方形比率 */
  background-color: #b3b3b3; /* ダミーのグレー */
  position: relative;
  overflow: hidden;
}

/* あとで画像を入れた時に綺麗に収まる設定 */
.card-image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ==================================================
 * ② 中央ロゴエリア（黒のダミー）
 * ================================================== */
.card-logo-box {
  width: 60px;
  height: 60px;
  background-color: #2b231f; /* ダミーの濃い茶色/黒 */
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  /* グレー画像と白背景の境目に半分重なるように配置 */
  margin: -30px auto 10px;
  position: relative;
  z-index: 2;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  box-sizing: border-box;
}

/* あとでロゴ画像を入れた時に綺麗に収まる設定 */
.card-logo-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* ==================================================
 * ③ 下部テキスト＆矢印エリア
 * ================================================== */
.card-body {
  padding: 0 12px 14px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}

.card-text {
  font-size: 11px;
  line-height: 1.6;
  color: #222222;
  margin: 0 0 8px 0;
}

/* 右下の水色ロングアロー */
.card-arrow {
  text-align: right;
  color: #66b3e8; /* 矢印の水色 */
  line-height: 1;
}

.card-arrow svg {
  width: 36px;
  height: 10px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
  vertical-align: middle;
}

/* ==================================================
 * スマホ表示時のレスポンシブ設定 (767px以下)
 * ================================================== */
@media (max-width: 767px) {
  .custom-card-container {
    gap: 12px; /* スマホでは隙間を少し狭く */
  }
  
  /* 上2列、真ん中2列、最後1つが真ん中になる魔法の幅指定 */
  .custom-card-item {
    width: calc((100% - 12px) / 2); /* (100% - 隙間12px) ÷ 2列 */
  }
  
  .card-text {
    font-size: 11px;
  }
}


/* ==========================================
 * フッター　会社案内＋フッターメニュー
 * ========================================== */

/* --- フッター全体コンテナ --- */
.custom-footer-wrapper {
  color: #222222; /* 黄色に映える少し濃いめのダークグレー */
  font-family: var(--font-family, sans-serif);
  /*padding: 3em 1em 1.5em;*/
  box-sizing: border-box;
}

/* --- 内側のレイアウト（左右並び） --- */
.custom-footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 2.5em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15); /* 区切り線のうっすらとした黒線 */
}

/* --- 左側：会社情報エリア --- */
.footer-company-info {
  flex: 1;
  padding-right: 2em;
}

/* 会社ロゴ（テキストまたは画像） */
.footer-logo a {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 800;
  color: #111111 !important;
  text-decoration: none !important;
  letter-spacing: 0.05em;
  margin-bottom: 0.5em;
}

/* 住所・電話番号のテキスト */
.footer-address {
  font-size: 0.95rem;
  line-height: 1.8;
  margin: 0 !important;
  color: #333333;
}

/* 電話番号リンク */
.tel-link {
  color: #222222 !important;
  text-decoration: none !important;
  font-weight: 700;
}

.footer-tel-row .divider {
  margin: 0 0.5em;
  color: rgba(0, 0, 0, 0.3);
}

/* --- 右側：メニューエリア --- */
.footer-nav {
  flex: 1;
  max-width: 450px;
}

.footer-menu-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0.8em 1.5em; /* 項目同士の余白（縦0.8em / 横1.5em） */
}

.footer-menu-list li {
  margin: 0 !important;
  padding: 0 !important;
  width: calc(50% - 1.5em); /* 綺麗に2列に並べる計算 */
}

.footer-menu-list li a {
  display: inline-block;
  color: #222222 !important;
  text-decoration: none !important;
  font-size: 0.95rem;
  font-weight: 500;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* メニューのマウスオーバー時：少し透けて右にスッと動く */
.footer-menu-list li a:hover {
  opacity: 0.6;
  transform: translateX(3px);
}

/* --- 一番下：コピーライト --- */
.footer-copyright {
  text-align: center;
  font-size: 0.8rem;
  color: rgba(0, 0, 0, 0.6);
  margin-top: 1.5em;
  letter-spacing: 0.05em;
}

/* =========================================================
   ★スマホ・狭い画面用のレスポンシブ調整（画面幅768px以下）
========================================================= */
@media (max-width: 768px) {
  /* 左右並びから「縦並び」に変更 */
  .custom-footer-inner {
    flex-direction: column;
    gap: 2em;
    padding-bottom: 2em;
  }

  .footer-company-info {
    padding-right: 0;
    width: 100%;
  }

  .footer-nav {
    width: 100%;
    max-width: 100%;
  }

  /* スマホでもメニューは押しやすいよう2列を維持（少し余白を調整） */
  .footer-menu-list {
    gap: 1em;
  }
  
  .footer-menu-list li {
    width: calc(50% - 0.5em);
  }
}



/* ==========================================
 * フッター　CTAボタン調整
 * ========================================== */

/* --- コンテナ全体のレイアウト（背景透過） --- */
.contact-box-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 900px;
  margin: 0 auto;
  padding: 2em 1em;
  color: #ffffff; /* 白文字 */
  box-sizing: border-box;
}

/* --- 左右の各エリア --- */
.contact-box-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0.5em 1em;
  box-sizing: border-box;
}

/* --- アイコン --- */
.contact-box-icon {
  color: #ffffff;
  margin-bottom: 0.3em;
  line-height: 1;
}

/* --- タイトルテキスト --- */
.contact-box-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff !important;
  margin: 0 0 1.2em 0 !important;
  letter-spacing: 0.05em;
}

/* --- 白い長方形ボタン --- */
.contact-box-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff !important;
  color: #18235c !important; /* 画像風の濃い紺色 */
  text-decoration: none !important;
  width: 100%;
  max-width: 280px;
  height: 54px;
  padding: 0 1.5em;
  border-radius: 0; /* ★ここを変更: 9999px から 0（四角・通常の長方形）に！ */
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

/* --- ボタンのマウスオーバー時 --- */
.contact-box-btn:hover {
  transform: translateY(-2px);
  opacity: 0.95;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}
.contact-box-btn:active {
  transform: translateY(0);
}

/* --- 「フォームはこちら」の右矢印 --- */
.btn-arrow {
  font-size: 1.3rem;
  margin-left: 0.4em;
  line-height: 1;
  transform: translateY(-1px);
}

/* --- 中央の白い縦線 --- */
.contact-box-divider {
  width: 1px;
  align-self: stretch; /* アイコン〜ボタンの高さに合わせて上下に伸びる */
  background-color: rgba(255, 255, 255, 0.4); /* 半透明の白線 */
  margin: 0.5em 0;
}

/* =========================================================
   ★スマホ・狭い画面用のレスポンシブ調整（画面幅768px以下）
========================================================= */
@media (max-width: 768px) {
  /* スマホでは縦並びに切り替え */
  .contact-box-wrapper {
    flex-direction: column;
    gap: 1.5em;
    padding: 1.5em 0.5em;
  }
  
  .contact-box-item {
    width: 100%;
  }

  /* 縦並びになるため、区切り線を「横線」に変更 */
  .contact-box-divider {
    width: 60%;
    height: 1px;
    align-self: center;
    margin: 0.5em auto;
  }
}
/* --- ボタン上の小文字補足テキスト（追加部分） --- */
.contact-box-subtext {
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9) !important; /* 少し柔らかい白で強弱をつける */
  margin: -0.6em 0 0.8em 0 !important;       /* タイトルとの余白を少し詰めてボタンに寄せる */
  letter-spacing: 0.05em;
}

/* スマホ時のボタンの文字サイズを大きくする */
  .contact-box-btn {
    font-size: 1.3rem; 
  }

}

/* ==========================================
 * インスタフォローボタン
 * ========================================== */

/* --- ボタン全体の配置 --- */
.insta-btn-wrap {
  margin: 1.5em auto;
  text-align: center;
  width: 100%; /* 親要素の幅に合わせる */
  box-sizing: border-box;
}

/* --- ボタン本体（基本スタイル） --- */
.insta-follow-btn {
  position: relative;
  display: flex;
	margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  width: 100%;          /* ★変更: 親の幅に合わせて自動伸縮 */
  max-width: 250px;     /* ★追加: PCなど広い画面での最大幅は250pxに制限 */
  height: 56px;
  padding: 6px 6px 6px 16px;
  border-radius: 9999px;
  text-decoration: none !important;
  color: #ffffff !important;
  font-weight: 700;
  font-size: 1.05rem;
  background-color: #000000;
  overflow: hidden;
  box-sizing: border-box; /* ★追加: 枠線や余白を含めてサイズ計算させる */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* --- 通常時のグラデーション背景 --- */
.insta-follow-btn::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(90deg, #feda75 0%, #fa7e1e 25%, #d62976 50%, #962fbf 75%, #4f5bd5 100%);
  z-index: 1;
  opacity: 1;
  transition: opacity 0.35s ease;
}

.insta-follow-btn:hover::before {
  opacity: 0;
}

.insta-follow-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}
.insta-follow-btn:active {
  transform: translateY(0);
}

.insta-btn-text,
.insta-btn-icon {
  position: relative;
  z-index: 2;
}

.insta-btn-text {
  flex-grow: 1;
  text-align: center;
  letter-spacing: 0.05em;
  margin-left: 4px;
  white-space: nowrap; /* ★追加: 文字が2行に折れ曲がるのを防ぐ */
}

.insta-btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #000000;
  color: #ffffff;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}

.insta-btn-icon::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, #feda75 0%, #fa7e1e 30%, #d62976 60%, #962fbf 100%);
  z-index: 1;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.insta-follow-btn:hover .insta-btn-icon::before {
  opacity: 1;
}

.insta-btn-icon svg {
  position: relative;
  z-index: 2;
  transition: transform 0.25s ease;
}
.insta-follow-btn:hover .insta-btn-icon svg {
  transform: translateX(2px);
}

/* =========================================================
   ★スマホ・狭い画面用の調整（画面幅600px以下のときに適用）
========================================================= */
@media (max-width: 600px) {
  .insta-follow-btn {
    height: 46px;              /* ボタンの高さを少しスリムに */
    padding: 4px 4px 4px 10px; /* 左右の余白を詰めて幅を節約 */
    font-size: 0.85rem;        /* 文字サイズを少し小さくして2列でも収まるように */
  }
  
  .insta-btn-text {
    letter-spacing: 0;         /* 文字間隔を詰める */
    margin-left: 2px;
  }
  
  .insta-btn-icon {
    width: 38px;               /* 右側の丸アイコンも少し小さく */
    height: 38px;
  }
  
  .insta-btn-icon svg {
    width: 16px;               /* 中の矢印も少し小さく */
    height: 16px;
  }
}


/* ==========================================
 * メインビジュアル上テキスト調整
 * ========================================== */
/* ==========================================
 * トップ画像：追加テキストとボタンの設定（修正版）
 * ========================================== */

/* 1. テキスト（若い力が〜） */
.hero-catchphrase {
    text-align: center;
    color: #ffffff;             /* 文字色（白） */
    font-size: 24px;            /* 文字サイズ */
    font-weight: bold;
    margin: 40px auto 30px;     /* 上のボックスとの余白、下のボタンとの余白 */
    letter-spacing: 0.1em;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); /* 背景と同化しないように影をつける */
    line-height: 1.5;
}

/* 2. ボタン枠 */
.hero-btn-wrap {
    text-align: center;
    margin-bottom: 50px;        /* ボタン下の余白 */
    padding: 0 20px;            /* スマホ表示時に画面端にピッタリくっつくのを防ぐ余白 */
}

/* ボタン本体のデザイン（角丸なし・幅広・レスポンシブ） */
.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #008acd;  /* ボタンの背景色（オレンジ） */
    color: #ffffff;             /* ボタンの文字色（白） */
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    width: 100%;                /* スマホなどの狭い画面では横幅いっぱいに広がる */
    max-width: 440px;           /* PC表示時のボタンの最大横幅（広めに設定） */
    padding: 18px 20px;         /* ボタンの内側の余白（上下 左右） */
    border-radius: 0;           /* ★角丸をなし（長方形）に */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); /* 通常時の影 */
    box-sizing: border-box;     /* パディングを含めて幅を計算する（レスポンシブ用） */
    transition: all 0.3s ease;  /* アニメーションの滑らかさ */
}

/* ボタンの中の矢印（→）の設定 */
.hero-btn .btn-arrow {
    margin-left: 15px;          /* 文字と矢印の間隔 */
    display: inline-block;
    transition: transform 0.3s ease; /* 矢印が動くスピード */
}

/* マウスオーバー（ホバー）時の動き */
.hero-btn:hover {
    background-color: #161e30;  /* ★背景色をブランドカラーの紺色にチェンジ */
    color: #ffffff;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); /* 影を少し強くする */
}

/* マウスオーバー時に矢印（→）を少し右に動かすエフェクト */
.hero-btn:hover .btn-arrow {
    transform: translateX(6px); /* 右に6pxスライド */
}

/* スマホ表示向けのサイズ調整（画面幅480px以下） */
@media screen and (max-width: 480px) {
    .hero-catchphrase {
        font-size: 18px;        /* スマホでは文字を少し小さくして改行崩れを防ぐ */
        margin: 30px auto 20px;
    }
    .hero-btn {
        font-size: 16px;        /* スマホ用のボタン文字サイズ */
        padding: 16px 20px;     /* スマホ用のボタンの高さ */
    }
}



/*----------- ■共通 -----------*/
a{/*php8で aの下にラインが出てしまうので、追記*/
	text-decoration: none !important;
}
.pad0{/*padding 0*/
	padding:0 !important;
}
.p_lh1-8{/*line-height（行間） 1.8*/
	line-height:1.8 !important;
}
.p_lh1-9{/*line-height（行間） 1.9*/
	line-height:1.9 !important;
}
.mt1em{/*margin-top（上部余白） 1em*/
	margin-top:1em !important;
}
.mt2em{/*margin-top（上部余白） 2em*/
	margin-top:2em !important;
}
.mt3em{/*margin-top（上部余白） 3em*/
	margin-top:3em !important;
}
.mt4em{/*margin-top（上部余白） 4em*/
	margin-top:4em !important;
}
.mb10px{/*margin-bottom（下部余白） 10px*/
margin-bottom:10px !important;
}
.mb1em{/*margin-bottom（下部余白） 1em*/
margin-bottom:1em !important;
}
.mb3em{/*margin-bottom（下部余白） 3em*/
margin-bottom:3em !important;
}
.mb4em{/*margin-bottom（下部余白） 4em*/
margin-bottom:4em !important;
}
.fw700{/*font-weight（太字） 700*/
	font-weight:700;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {/*chrome 画像が拡大縮小でぼかしたり滑らかに処理されずエッジを保った表示になるように*/
	img {
		image-rendering: -webkit-optimize-contrast;
	}
}
.clear_b{/*クリア処理*/
	clear:both;
}
.post_content .cap_box,.post_content .wp-block-columns,.post_content .wp-block-embed,.post_content .wp-block-table{/* 各コンテンツのデフォルトのマージンを3em→6emに */
	margin:6em auto
}
.post_content .wp-block-column h3{/*カラム分けの中のh3上部・下部のデフォルトのマージンを無くす*/
	margin: 0 0 0;
}
.post_content h2{/*見出しh2下部のマージンをデフォルト2em→1emに*/
	margin: 4em 0 1em;
}
.p-postListWrap{/*トップ呼び出し「お知らせ」の下のデフォルトのマージンを変更*/
	margin-bottom: 1em!important;
}
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}
.post_content .cap_box, .post_content .wp-block-columns, .post_content .wp-block-embed, .post_content .wp-block-table{/*カラム上部6emのマージン3emに変更*/
	margin: 3em auto 6em auto !important;
}
.post_content .wp-block-table.t1em{/*テーブル上部のマージン1emに変更*/
	margin: 1em auto 6em auto !important;
}
.post_content .wp-block-table.t0b1em_tb{/*テーブル上部のマージン0、下部のマージン1emに変更*/
	margin: 0 auto 1em auto !important;
}
.post_content .wp-block-table.t1emb1em_tb{/*テーブル上部のマージン1em、下部のマージン1emに変更*/
	margin: 1em auto 1em auto !important;
}
.post_content .wp-block-table.t1emb2em_tb{/*テーブル上部のマージン1em、下部のマージン2emに変更*/
	margin: 1em auto 2em auto !important;
}
.post_content .wp-block-table.t1emb3em_tb{/*テーブル上部のマージン1em、下部のマージン3emに変更*/
	margin: 1em auto 3em auto !important;
}
.post_content .wp-block-table.t1emb5em_tb{/*テーブル上部のマージン1em、下部のマージン5emに変更*/
	margin: 1em auto 5em auto !important;

}

.post_content .wp-block-table.t2emb2em_tb{/*テーブル上部のマージン2em、下部のマージン2emに変更*/
	margin: 2em auto 2em auto !important;

}


.post_content .wp-block-columns.b0{/*カラム下部のマージン0に変更*/
	margin: 3em auto 0 auto !important;
}
.post_content .wp-block-columns.b1em{/*カラム下部のマージン1emに変更*/
	margin: 3em auto 1em auto !important;
}
.post_content .wp-block-columns.b2em{/*カラム下部のマージン2emに変更*/
	margin: 3em auto 2em auto !important;
}
.post_content .wp-block-columns.t0b0em{/*カラム上部のマージン0に下部のマージン0に変更*/
	margin: 0em auto 0em auto !important;
}
.post_content .wp-block-columns.t0b1em{/*カラム上部のマージン0に下部のマージン1emに変更*/
	margin: 0em auto 1em auto !important;
}
.post_content .wp-block-columns.t0b1-5em{/*カラム上部のマージン0に下部のマージン1.5emに変更*/
	margin: 0em auto 1.5em auto !important;
}
.post_content .wp-block-columns.t0b2em{/*カラム上部のマージン0に下部のマージン2emに変更*/
	margin: 0em auto 2em auto !important;
}
.post_content .wp-block-columns.t1emb1em{/*カラム上部のマージン1emに下部のマージン1emに変更*/
	margin: 1em auto 1em auto !important;
}
.post_content .wp-block-columns.t2emb1em{/*カラム上部のマージン2emに下部のマージン1emに変更*/
	margin: 2em auto 1em auto !important;
}
.post_content .wp-block-columns.t2emb2em{/*カラム上部のマージン2emに下部のマージン2emに変更*/
	margin: 2em auto 2em auto !important;
}
.post_content .wp-block-columns.t2emb4em{/*カラム上部のマージン2emに下部のマージン4emに変更*/
	margin: 2em auto 4em auto !important;
}
.post_content .wp-block-columns.t3emb2em{/*カラム上部のマージン3emに下部のマージン2emに変更*/
	margin: 3em auto 2em auto !important;
}
.post_content h3{/*php8で 修正が必要だったので追記*/
	font-size: 1.1em !important;
}
.post_content h2{/*php8で 修正が必要だったので追記*/
	font-size: 1.2em !important;
}
@media (min-width: 600px){
	.post_content h3 {
		font-size: 1.3em !important;
	}
}
.titserif {/*明朝体に変更*/
	font-family: 'Noto Serif JP', serif; 
}
.red {/*テキストを赤色に変更*/
	color: #ff0000!important; 
}
.kaigyo{/*文章中の改行文字を反映する*/
	white-space: pre-wrap;
	word-wrap: break-word;/*文字がはみ出すのを防ぐ*/
}



/*----------- ■共通＿ヘッダー -----------*/
/*PageSpeed Insights で LCP がエラーになるためopacityを0以外に設定*/
.l-header,
.l-header__inner {
    opacity: 0.01;
}

/*PCヘッダー高さ調整*/
.l-header__inner,
#gnav{
height: 90px;
}

/*ヘッダーメニュー上部の間隔調整*/
/*#gnav {
padding-top: 30px;
}*/

/*PC 追従ヘッダー時のロゴ周りの間隔調整*/
.l-fixHeader__logo{
	padding: 10px 16px 16px 0;
}

/*PC 追従ヘッダーの全体の高さ調整*/
[data-scrolled=true] .l-fixHeader[data-ready]{
height: 88px;
}

/*PC 追従ヘッダー内ナビリンクの高さ調整*/
/*[data-scrolled=true] .l-fixHeader[data-ready] .l-fixHeader__inner{
padding-top: 16px !important;
}*/

/* 通常時（非スクロール時）のナビゲーションの高さ調整 */
#header .c-gnav > li > a {
    height: 72px; /* ここをお好みの高さに変更してください（例: 80px, 100px など） */
    min-height: auto; /* デフォルトの指定を解除します */
}

/* スクロール時の固定ヘッダーナビゲーションの高さ調整 */
#fix_header .c-gnav > li > a {
    height: 80px; /* ここをお好みの高さに変更してください（例: 50px, 60px など） */
    min-height: auto; /* SWELLのデフォルト指定を解除して高さを強制します */
}

.w-header__inner {/*PC ヘッダー内部ウィジェット_電話番号と営業時間*/
position: absolute;
top: 0px; 
right: 65px;
padding-top: 10px;
font-size: 20px;
font-weight:bold;
color: var(--color_header_text);color:var(--color_main);/*メインカラー*/
}
.pch-tel{/*PC ヘッダーの電話番号横営業時間*/
	font-size:75%;
}
.w-header__inner i{/*PC ヘッダーの電話番号アイコン*/
font-size: 18px;
}
.mainbtn-bg a span{/*main_menu　背景に色*/
	background:#008acd;
	color:#fff !important;
	padding:12px;
	font-weight:bold;
	border-radius:10px;
}


/*PC ヘッダーメニューのフォントサイズ調整*/
.c-gnav>.menu-item>a .ttl {
    display: block;
    font-size: 16px;
}


/* =========================================
  スマホ表示時のヘッダー高さ・余白調整
========================================= */
@media screen and (max-width: 959px) {
  .l-header__inner.l-container {
	height: 70px;
  }

}

/*----------- ■共通＿フッター直前 -----------*/
.w-beforeFooter{/*全ページ共通＿フッター直前*/
	margin: 0em auto 0em;
	
}
#before_footer_widget{/*全ページ共通＿フッター直前背景色*/
	background-color:none;
}
.h2_kyotsu{/*全ページ共通＿フッター直前タイトル英語部分*/
	line-height:1; 
	text-align:center; 
}
.w-beforeFooter .wp-block-button__link:hover{/*問い合わせフォームボタン hover時*/
	text-decoration: none !important;
	opacity:1 !important;/*不透明*/
}



/*----------- ■共通＿フッター -----------*/
.footer1_all{/*全ページ共通＿フッター1ALL*/
	flex-basis:100% !important;
	margin:0;
}
.footer_p_text{/*全ページ共通＿フッターテキスト*/
	margin-bottom:0; 
}
.footer_p_text{/*全ページ共通＿フッターテキスト*/
	margin-bottom:0; 
}



/*----------- ■共通＿タイトル -----------*/
.c-pageTitle{/*全ページ共通＿タイトル*/
	font-size:2.2em !important;
	text-align:center;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25);
	
}
.c-pageTitle__subTitle{/*全ページ共通＿サブタイトル*/
	font-style:initial !important;/*css解除*/
}
@media screen and (max-width:599px){
	.c-pageTitle{/*全ページ共通＿タイトル*/
		font-size:1.7em !important;
	}
}



/*----------- ■トップページ -----------*/
.top_info .-type-card .p-postList__title{/*トップページ＿お知らせタイトル*/
	font-size:initial !important;/*css解除*/
	font-size: 1.3em !important;
	line-height: 1.4 !important;
}
.top_info .-type-card .p-postList__excerpt{/*トップページ＿お知らせ抜粋文*/
	font-size: .9em !important;
	line-height: 1.5 !important;
	margin-top:0 !important;
}
@media screen and (max-width:599px){
	.top_info .-type-card .p-postList__title{/*トップページ＿お知らせタイトル*/
		font-size:initial !important;/*css解除*/
		font-size: 1em !important;
	}
}
.p-mainVisual__slideTitle {/*トップページ＿メインビジュアル メインテキスト*/
    font-size: 6vw !important;
	/*font-family:serif,MS P明朝,ヒラギノ明朝,Times;*/
	line-height:1.2;
	text-shadow:0px 0px 6px rgb(0 0 0 / 100%) !important;/*影*/
}
.p-mainVisual__slideText {/*トップページ＿メインビジュアル サブテキスト*/
	font-size: 3.6vw !important;
	/*font-family:serif,MS P明朝,ヒラギノ明朝,Times;*/
	line-height:1.9;
	text-shadow:0px 0px 6px rgb(0 0 0 / 100%) !important;/*影*/
}
@media (min-width: 600px){
	.p-mainVisual__slideTitle {/*トップページ＿メインビジュアル メインテキスト*/
		font-size: 33px !important;
		/*font-family:serif,MS P明朝,ヒラギノ明朝,Times;*/
		line-height:1.2;
	}
	.p-mainVisual__slideText {/*トップページ＿メインビジュアル サブテキスト*/
		font-size: 19px !important;
		/*font-family:serif,MS P明朝,ヒラギノ明朝,Times;*/
		line-height:1.9;
	}
}
/* -----############## ▼メインビジュアル上のテキスト装飾　パターンA ##############----- */
/* ----- ▼トップページ＿メインビジュアル メインテキスト（装飾あり）01 ----- */
	.p-mainVisual__slideTitle p.slideTitle01{/* ----- PC用 ----- */
		font-size:140%;/*フォントサイズ*/
		font-weight:bold;/*文字の太さ*/
		text-shadow:none !important;/*文字の影*/
		color:#00916F;/*文字色*/
		margin-bottom:0px;/*下部の余白*/
	}
	@media only screen and (max-width: 820px) {
		.p-mainVisual__slideTitle p.slideTitle01{/* ----- タブレット用 ----- */
			font-size:100%;/*フォントサイズ*/
			margin-bottom:0px;/*下部の余白*/
		}
	}
	@media only screen and (max-width: 750px) {
		.p-mainVisual__slideTitle p.slideTitle01{/* -----スマホ用 ----- */
			font-size:80%;/*フォントサイズ*/
			margin-bottom:5px;/*下部の余白*/
		}
	}
/* ----- ▲＿end----- */

/* ----- ▼トップページ＿メインビジュアル メインテキスト（装飾あり）02 ----- */
	.p-mainVisual__slideTitle p.slideTitle02{/* ----- PC用 ----- */
		color: #fff;
		font-size:380%;/*フォントサイズ*/
		font-weight:bold;/*文字の太さ*/
		/*text-shadow:none !important;/*文字の影*/
		text-shadow: /*縁どり文字*/
		   2px  2px 1px #00916F,
		  -2px  2px 1px #00916F,
		   2px -2px 1px #00916F,
		  -2px -2px 1px #00916F,
		   2px  0px 1px #00916F,
		   0px  2px 1px #00916F,
		  -2px  0px 1px #00916F,
		   0px -2px 1px #00916F;
	}
	@media only screen and (max-width: 820px) {
		.p-mainVisual__slideTitle p.slideTitle02{/* -----タブレット用  ----- */
			font-size:270%;/*フォントサイズ*/
		}
	}
	@media only screen and (max-width: 750px) {
		.p-mainVisual__slideTitle p.slideTitle02{/* -----スマホ用 ----- */
			font-size:160%;/*フォントサイズ*/
		}
	}
/* ----- ▲＿end----- */

/* ----- ▼トップページ　サブテキスト（装飾あり） ----- */
	.p-mainVisual__slideText p.slideText01 span{/* ----- PC用 ----- */
		display: inline; /* 背景色をテキストにのみ適用する */
		color:#fff100;/*文字色*/
		/*background-color: #F7D80B;/*背景色*/
		background:rgba(0,145,111,0.7);/*背景色(透過させたい)　rgba(R,G,B,透明度)*/
		padding:10px 25px;/*余白（上下 左右）*/
		font-size:230%;/*フォントサイズ*/
		font-weight:bold;/*文字の太さ*/
		text-shadow:none !important;/*文字の影*/
		line-height:2;/*行間*/
		-webkit-box-decoration-break: clone;/* 行ごとに左右の余白を適用する */
		box-decoration-break: clone;/* 行ごとに左右の余白を適用する */
	}
	@media only screen and (max-width: 820px) {
		.p-mainVisual__slideText p.slideText01 span{/* ----- タブレット用 ----- */
			padding:7px 15px;/*余白（上下 左右）*/
			font-size:170%;/*フォントサイズ*/
			line-height:2;/*行間*/
			margin-bottom:10px;/*行 下部の余白*/
		}
	}
	@media only screen and (max-width: 750px) {
		.p-mainVisual__slideText p.slideText01 span{/* -----スマホ用 ----- */
			padding:5px 7px;/*余白（上下 左右）*/
			font-size:110%;/*フォントサイズ*/
			line-height:2.1;/*行間*/
			margin-bottom:5px;/*行 下部の余白*/
		}
	}
/* ----- ▲＿end----- */

/* ----- ▼トップページ　サブテキスト内（装飾あり）　ボタン ----- */
	p.mainVisual_btn{/* ----- PC用 ----- */
		margin-top:30px;/*ボタン 上部の余白*/
	}	
	p.mainVisual_btn a{/* ----- PC用 ----- */
		color:#fff;/*文字色*/
		background-color: #ff5a00;/*背景色*/
		padding:15px 30px;/*余白（上下 左右）*/
		font-size:130%;/*フォントサイズ*/
		font-weight:bold;/*文字の太さ*/
		text-shadow:none !important;/*文字の影*/
		border-radius: 100vh;/*角丸*/
		border-bottom: 3px solid #ee5a00;/*ボタンの高さ部分*/
	}
	p.mainVisual_btn a:hover{/* ----- クリック時  PC用 ----- */
		background-color:#f25000;/*背景色*/
		border-bottom: 3px solid #dd460b;/*ボタンの高さ部分*/
	}

	@media only screen and (max-width: 820px) {
		p.mainVisual_btn{/* ----- タブレット用 ----- */
			margin-top:30px;/*ボタン 上部の余白*/
		}	
		p.mainVisual_btn a{/* ----- タブレット用 ----- */
			padding:15px 30px;/*余白（上下 左右）*/
			font-size:130%;/*フォントサイズ*/
			border-bottom: 3px solid #ee5a00;/*ボタンの高さ部分*/
		}
	}

	@media only screen and (max-width: 750px) {
		p.mainVisual_btn{/* ----- スマホ用 ----- */
			margin-top:20px;/*ボタン 上部の余白*/
		}	
		p.mainVisual_btn a{/* ----- スマホ用 ----- */
			padding:10px 20px;/*余白（上下 左右）*/
			font-size:110%;/*フォントサイズ*/
			border-bottom: 3px solid #ee5a00;/*ボタンの高さ部分*/
		}
	}
/* ----- ▲＿end----- */

/* ----- ▼トップページ　サブテキスト内（装飾あり）　注意書き ----- */
	.p-mainVisual__slideText p.slideText02{/* ----- PC用 ----- */
		color:#000;/*文字色*/
		font-size:60%;/*フォントサイズ*/
		font-weight:normal;/*文字の太さ normal（通常） bold（太い）*/
		text-shadow:none !important;/*文字の影*/
		margin-top:15px;/*上部の余白*/
	}

	@media only screen and (max-width: 820px) {
		.p-mainVisual__slideText p.slideText02{/* ----- タブレット用 ----- */
			font-size:60%;/*フォントサイズ*/
			font-weight:normal;/*文字の太さ normal（通常） bold（太い）*/
			margin-top:15px;/*上部の余白*/
		}
	}

	@media only screen and (max-width: 750px) {
		.p-mainVisual__slideText p.slideText02{/* ----- スマホ用 ----- */
			font-size:70%;/*フォントサイズ*/
			font-weight:normal;/*文字の太さ normal（通常） bold（太い）*/
			margin-top:10px;/*上部の余白*/
		}
	}
/* ----- ▲＿end----- */
/* -----############## ▲end＿メインビジュアル上のテキスト装飾　パターンA ##############----- */

/* -----############## ▼メインビジュアル上のテキスト装飾　パターンB ##############----- */
/* ----- ▼トップページ＿メインビジュアル メインテキスト（装飾あり）01-b ----- */
	p.slideTitle01-b{/* ----- PC用 ----- */
		font-size:2.1vw;/*フォントサイズ*/
		font-weight:bold;/*文字の太さ normal（通常） bold（太い）*/
		text-shadow:none !important;/*文字の影*/
		color:#14425C;/*文字色*/
		margin-bottom:0px;/*下部の余白*/
	}
	@media only screen and (max-width: 820px) {
		p.slideTitle01-b{/* ----- タブレット用 ----- */
			font-size:200%;/*フォントサイズ*/
			padding-top:20px;/*上部の余白*/
			margin-bottom:0px;/*下部の余白*/
		}
	}
	@media only screen and (max-width: 750px) {
		p.slideTitle01-b{/* -----スマホ用 ----- */
			font-size:110%;/*フォントサイズ*/
			padding-top:15px;/*上部の余白*/
			margin-bottom:5px;/*下部の余白*/
		}
	}
/* ----- ▲＿end----- */

/* ----- ▼トップページ＿メインビジュアル メインテキスト（装飾あり）02-b ----- */
	h2.slideTitle02-b{/* ----- PC用 ----- */
		font-size:3.4vw !important;/*フォントサイズ*/
		font-weight:bold;/*文字の太さ normal（通常） bold（太い）*/
		text-shadow:none !important;/*文字の影*/
		color:#14425C;/*文字色*/
		margin-bottom:20px;/*下部の余白*/
		line-height:1.2;/*行間*/
	}
	h2.slideTitle02-b span{
		color:#E96300;/*文字色*/

	}
	@media only screen and (max-width: 820px) {
		h2.slideTitle02-b{/* ----- タブレット用 ----- */
			font-size:220% !important;/*フォントサイズ*/
			margin-bottom:15px;/*下部の余白*/
		}
	}
	@media only screen and (max-width: 750px) {
		h2.slideTitle02-b{/* -----スマホ用 ----- */
			font-size:120% !important;/*フォントサイズ*/
			margin-bottom:10px;/*下部の余白*/
		}
	}
/* ----- ▲＿end----- */

/* ----- ▼トップページ＿メインビジュアル サブテキスト（装飾あり）01-b ----- */
	p.slideText01-b{/* ----- PC用 ----- */
		font-size:1vw !important;/*フォントサイズ*/
		font-weight:bold;/*文字の太さ normal（通常） bold（太い）*/
		text-shadow:none !important;/*文字の影*/
		color:#14425C;/*文字色*/
		margin-bottom:0px;/*下部の余白*/
		line-height:1.2;/*行間*/
	}
	p.slideText01-b span{/* ----- PC用 span ----- */
		color:#fff;/*文字色*/
		background-color: #14425C;/*背景色*/
		font-weight:bold;/*文字の太さ normal（通常） bold（太い）*/
		padding:2px 7px;/*余白（上下 左右）*/
		text-shadow:none !important;/*文字の影*/
		border-radius: 1vh;/*角丸*/

	}
	@media only screen and (max-width: 820px) {
		p.slideText01-b{/* ----- タブレット用 ----- */
			font-size:150% !important;/*フォントサイズ*/
			margin-bottom:0px;/*下部の余白*/
		}
	}
	@media only screen and (max-width: 750px) {
		p.slideText01-b{/* -----スマホ用 ----- */
			font-size:95% !important;/*フォントサイズ*/
			margin-bottom:5px;/*下部の余白*/
		}
	}
/* ----- ▲＿end----- */

/* ----- ▼トップページ＿メインビジュアル （装飾あり）　サブ画像全体　02-b ----- */
	.post_content .wp-block-columns .slideImg01-b{/* ----- PC用 ----- */
		margin: 1em auto 0em auto !important;/*余白　上部 auto 下部 auto*/
	}
	@media only screen and (max-width: 820px) {
		.post_content .wp-block-columns .slideImg01-b{/* ----- タブレット用 ----- */
			margin: 1em auto 0em auto !important;/*余白　上部 auto 下部 auto*/
		}
	}
	@media only screen and (max-width: 750px) {
		.post_content .wp-block-columns .slideImg01-b{/* -----スマホ用 ----- */
			margin: 1em auto 0em auto !important;/*余白　上部 auto 下部 auto*/
		}
	}
/* ----- ▲＿end----- */

/* ----- ▼トップページ＿メインビジュアル サブテキスト（装飾あり）　注意書き　02-b ----- */
	p.slideText02-b{/* ----- PC用 ----- */
		font-size:0.8vw !important;/*フォントサイズ*/
		font-weight:normal;/*文字の太さ normal（通常） bold（太い）*/
		text-shadow:none !important;/*文字の影*/
		color:#000;/*文字色*/
		margin-bottom:30px;/*下部の余白*/
		line-height:1.2;/*行間*/
	}
	@media only screen and (max-width: 820px) {
		p.slideText02-b{/* ----- タブレット用 ----- */
			font-size:100% !important;/*フォントサイズ*/
			margin-bottom:10px;/*下部の余白*/
		}
	}
	@media only screen and (max-width: 750px) {
		p.slideText02-b{/* -----スマホ用 ----- */
			font-size:80% !important;/*フォントサイズ*/
			margin-bottom:10px;/*下部の余白*/
		}
	}
/* ----- ▲＿end----- */
/* -----############## ▲end＿メインビジュアル上のテキスト装飾　パターンB ##############----- */

/*----------- ■お知らせ一覧ページ -----------*/
.-type-card h2.p-postList__title{/*お知らせ一覧ページ＿タイトル*/
	font-size:1.5em !important;
}
.-type-card .p-postList__excerpt{/*お知らせ一覧ページ＿抜粋文*/
	font-size: 1.1em !important;
	line-height: 1.9 !important;
	margin-top:0 !important;
}
@media screen and (max-width:599px){
	.-type-card h2.p-postList__title{/*お知らせ一覧ページ＿タイトル*/
		font-size:initial !important;/*css解除*/
		font-size: 1.2em !important;
	}
}
[class*=page-numbers]{/*お知らせ一覧ページ＿ページャー*/
	border-radius: 3px 3px 3px 3px !important;
}



/*----------- ■ギャラリーページ -----------*/
.wp-pagenavi{/*ページネーションを中央に表示*/
	text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {/*ページネーション余白*/
	padding: 5px 10px !important;
    margin: 4px !important;
}
.kensaku_works{/*プルダウン検索を中央に配置*/
	width:100%;
	margin:0 auto 20px auto;
	text-align:center;
	
}
.kensaku_works div{/*「●●で絞り込む」を中央に配置*/
	width:100%;
	text-align:center;
}
.kensaku_works_title{/*タイトルを中央に配置*/
	text-align:center;
	margin: 2em 0 3em !important;
}
a .p-postList__body{/*検索結果のリンクの付いているタイトルと文章の色を黒に*/
	color:#000 !important;
}
@media screen and (max-width:599px){
	.kensaku_works{/*プルダウン検索を左に配置*/
		width:100%;
		margin:0 auto 25px auto;
	}
	.kensaku_works div{/*「●●で絞り込む」を中央に配置*/
		text-align:center;
	}
	.kensaku_works_title{/*タイトルを左に配置*/
		text-align:center;
		margin: 1em 0 2em !important;
	}
}
.current{/*ページャー*/
	border-radius: 3px 3px 3px 3px !important;
}
.ichiranimg img{/*一覧：イメージを横幅100％縦は230pxで切る*/
	width: 100% !important;
	height: 230px !important;
	object-fit:contain !important;/*画像の幅と高さのうち大きい方のサイズに合わせて比率を保持して画像を表示*/
	background-color:#F9F9F9;/*背景色*/
	box-shadow: 0 2px 8px rgba(0,0,0,.1), 0 4px 4px -4px rgba(0,0,0,.1);
}
.syousaiimg-g img{/*詳細 下部3列イメージを横幅100％縦は220pxで切る*/
	width: 100% !important;
	height:220px !important;
	/*object-fit:contain !important;画像の幅と高さのうち大きい方のサイズに合わせて比率を保持して画像を表示*/
	background-color:#EDE7EA;/*背景色*/
}
@media screen and (max-width:599px){/*スマホ用設定*/
	.ichiranimg img{/*一覧：イメージを横幅100％縦はautoで切る*/
		width: 100% !important;
		height: auto !important;
		background-color:none;/*背景色なし*/
		box-shadow:none;
	}
	.syousaiimg-g img{/*詳細 下部3列イメージを横幅100％縦はautoで切る*/
		width: 100% !important;
		height:auto !important;
		/*object-fit:none !important;*/
		background-color:none;/*背景色なし*/
	}
}



/*----------- ■会社案内ページ -----------*/
.post_content .td_to_th_ tbody td:first-child, .post_content tbody th{/*テーブル1列目*/
	/*background-color:#013F69 !important;
	color:#fff !important;*/
	font-size: 1.1em !important;
}
.post_content tr:last-child>td,/*テーブルtd 縦中央配置*/
.is-style-stripes tbody td,
.post_content .min_width30_ td{
	vertical-align:middle !important;
}



/*----------- ■問い合わせページ -----------*/
.smf-text-control__control,
.smf-textarea-control__control,
.smf-select-control__control {
    width: 100% !important;
}
.smf-checkbox-control__control,
.smf-radio-button-control__control {
    padding: 0;
}
