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



.midashi_jp {/*日本語見出し用*/
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight:700;
  font-style: normal;
}



.text-shadow-normal {/*テキストシャドウ*/
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/*--------------------------------- ■フッター ---------------------------------*/

.swl-inline-icon:after {
    background: #3F51B5;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    -webkit-mask-image: var(--the-icon-svg);
    mask-image: var(--the-icon-svg);
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    max-width: 2ch;
    position: absolute;
    top: 0;
    width: 1em;
    width: 100%;
}

/* =========================================
   お問合せエリア全体の白背景＋影
========================================= */

.c-contact-box {
  background-color: #ffffff !important; /* 念のため背景を確実に白に指定 */
  box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.08) !important; /* ★ふんわりと上品に浮き上がる影 */
  border-radius: 16px !important; /* ★角の丸み（少し丸くすると親しみやすさが出ます） */
  overflow: hidden;
}

/* --- スマホ表示用の微調整 --- */
@media screen and (max-width: 767px) {
  .c-contact-box {
    box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.06) !important; /* スマホでは影を少し控えめに */
    border-radius: 12px !important;
  }
}


/* =========================================
   お見積り・ご相談無料 赤色バナー
========================================= */

.c-free-banner {
  background-color: #d9433b;
  color: #ffffff;
  padding: 4px 16px; /* ★端まで広がらない分、左右の内側余白を少し広め(20px→40px)にとると綺麗です */
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  width: fit-content; 
  margin: 0 auto; 
	margin-bottom: 12px;
}

/* アイコンとテキストの並び調整 */
.c-free-banner__item {
  display: inline-flex;
  align-items: center;
}

/* SWELLのチェックアイコンの微調整 */
.c-free-banner__item .icon-check {
  margin-right: 6px;
  font-size: 1.1em;
}

/* --- スマホ表示用（画面幅が767px以下の場合） --- */

@media screen and (max-width: 767px) {
  .c-free-banner {
    /* 縦並びの指定をなくし、PCと同じ横並びを維持します */
    flex-direction: row; 
    gap: 16px; /* 2つの項目の間の隙間を少し狭める */
    font-size: 14px; /* 1行に収まるように文字を小さくする */
    padding: 4px 10px; /* 左右の余白も少し詰めて余裕を持たせる */
  }
}


/* =========================================
   お問合せ誘導見出し（3段構成）
========================================= */

/* 見出し全体の枠組み */
.c-contact-heading {
  text-align: center;
  margin-bottom: 12px;
}

/* --- 上段：オレンジの装飾テキスト --- */
.c-contact-heading__sub {
  display: flex; /* 斜め線とテキストを横並びにする */
  align-items: center; /* 縦のど真ん中で揃える */
  justify-content: center; /* 全体を中央揃えにする */
  gap: 12px; /* 斜め線とテキストの隙間 */
  color: #f17823; /* オレンジ色 */
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px; /* 下の行との余白 */
  line-height: 1.4;
}

/* 両サイドの斜め線をCSSで描画 */
.c-contact-heading__sub::before,
.c-contact-heading__sub::after {
  content: "";
  display: block;
  width: 3px; /* 線の太さ */
  height: 28px; /* 線の長さ */
  background-color: #f17823;
  flex-shrink: 0; /* スマホで画面が狭くなっても線が縮まないようにする */
}

/* 左側の線を傾ける */
.c-contact-heading__sub::before {
  transform: rotate(-22deg);
}

/* 右側の線を傾ける */
.c-contact-heading__sub::after {
  transform: rotate(22deg);
}

/* --- 中段：青ブロック混じりのメインテキスト --- */
.c-contact-heading__main {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 10px;
}

/* 青い背景ブロックのスタイル */
.c-contact-heading__main .bg-blue {
  display: inline-block; /* 横並びにしつつ、高さを保つ */
  /*background-color: #28589c; */
  color: #28589c;
  /*padding: 4px 12px;*/
  margin: 0 4px; /* 文字同士の左右の隙間 */
  line-height: 1.2;
}

/* --- 下段：お気軽にお問合せ〜 --- */
.c-contact-heading__bottom {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
	color: #333;
}

/* --- スマホ表示用（画面幅が767px以下の場合） --- */
@media screen and (max-width: 767px) {
  .c-contact-heading {
    margin-bottom: 30px;
  }

  /* 上段：文字が長いので適度に縮小しつつ、斜め線も少し小さく */
  .c-contact-heading__sub {
    font-size: 14px; 
    gap: 8px;
  }
  .c-contact-heading__sub::before,
  .c-contact-heading__sub::after {
    height: 20px;
    width: 2px;
  }

  /* 中段：スマホでも小さくなりすぎない22pxを確保 */
  .c-contact-heading__main {
    font-size: 22px; 
    line-height: 1.8; /* ★改行された時に青ブロックが上下で重ならないように行間を広くとる */
  }
  .c-contact-heading__main .bg-blue {
    padding: 4px 8px; /* 青ブロックの余白を少しスリムに */
    margin: 0 2px;
  }

  /* 下段：メインメッセージなので24pxと少し大きめに残す */
  .c-contact-heading__bottom {
    font-size: 24px; 
  }
}

/* --- スマホ表示用（画面幅が767px以下の場合） --- */
@media screen and (max-width: 767px) {
  
  /* ▼これを追記（スマホの時だけブロック要素にして改行させる） */
  .c-contact-heading__main .sp-break {
    display: block; 
    margin-bottom: 2px; /* 改行した後の、下の青ブロックとの隙間 */
  }

  /* （これ以降はすでにあるCSSコードをそのまま残してください） */
  .c-contact-heading {
    margin-bottom: 30px;
  }
  /* ...略... */
}

/* --- PC表示（デフォルト） --- */
.c-contact-heading__main {
  font-size: 24px; /* PC用の文字サイズ（環境に合わせて調整してください） */
  line-height: 1.5;
  text-align: center; /* 中央揃えにすると収まりが良くなります */
}

/* PCでは「住まいの」と「困った」の間に少しだけ余白を作る（半角スペースの代わり） */
.c-contact-heading__main .sp-break {
  display: inline-block;
  /*margin-right: 0.25em; */
}

.c-contact-heading__bottom {
  font-size: 18px; /* 上の文章(24px)より小さく設定 */
  margin-top: 10px; /* 上の文章との隙間（お好みで調整） */
  text-align: center; /* 中央揃え */
  color: #333;
}
/* --- スマホ表示（画面幅768px以下） --- */
@media (max-width: 768px) {
  .c-contact-heading__main {
    font-size: 20px; /* スマホに合わせて少し文字を小さく */
    line-height: 1.6; /* 2行になったときに読みやすいよう行間を少し広く */
  }

  /* スマホでは横の余白を消す（改行されるため） */
  .c-contact-heading__main .sp-break {
    margin-right: 0;
  }
  
  /* 下の段「お気軽にお問合せください」との余白調整 */
  .c-contact-heading__bottom {
    margin-top: 12px;
    font-size: 14px;
  }
}

/* =========================================
   お問合せカラムのバランス調整
========================================= */

/* カラム全体の幅を制限して中央に寄せる */
.c-contact-columns {
  max-width: 1000px !important; /* ★ここを調整して左右の距離を決めます（数値を小さくすると近づきます） */
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: center !important; /* 左右のブロックを縦の「ど真ん中」で揃える */
}

/* --- PC表示時の左右の隙間 --- */
@media screen and (min-width: 768px) {
  .c-contact-columns {
    gap: 10px !important; /* 左右のブロック間の隙間 */
  }
}

/* --- スマホ表示時（縦並び）の上下の隙間 --- */
@media screen and (max-width: 767px) {
  .c-contact-columns {
    gap: 20px !important; /* 縦に並んだ時の、電話番号とボタンの隙間 */
  }
}

/*--------------------------------- ■オレンジの点4つ（装飾用） ---------------------------------*/


/*.c-orange-dots {
  display: flex;
  justify-content: center; 
  align-items: center;
  gap: 15px;
  margin: 10px 0; 
}*/

.c-orange-dots .dot {
  display: inline-block;
  width: 8px; /* ★点の大きさ（幅） */
  height: 8px; /* ★点の大きさ（高さ） */
  background-color: #f17823; /* 以前使用したオレンジ色 */
  border-radius: 50%; /* 正方形を完全な丸にする */
}


/*--------------------------------- ■トップページコンテンツ下部とフッターの距離0に ---------------------------------*/

.l-content {
    margin: 0 auto 0em;
    padding-top: 2em;
    position: relative;
    z-index: 1
}

/*--------------------------------- ■メインビジュアルテキスト部分 ---------------------------------*/

/* =========================================
   トップイメージ 文字組みレイアウト (PC)
========================================= */
.hero-text-area {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
/*padding-top: 40px !important;*/
  padding-left: 20px !important;
  padding-right: 20px !important;
  padding-bottom: 410px !important;
  
  box-sizing: border-box !important;
  text-align: left !important;	
	
  box-sizing: border-box;
  text-align: left;
}

.hero-sub-catch {
  display: inline-block !important;
  font-size: 0.75em !important; /* メインの文字サイズの75%に自動で縮小 */
  font-weight: normal !important; /* 太字を少し和らげて上品さを出す（太い方が良ければ bold に変更OK！） */
  margin-top: 10px !important; /* 1行目との間に少し行間をあけて窮屈感をなくす */
  line-height: 1.5 !important;
}

/* 1. ロゴエリア */
.hero-logo-area {
  margin-bottom: 20px; /* ロゴと下のタグとの隙間 */
}

.hero-logo {
  max-height: 100px; /* ロゴの最大の高さ（お好みで調整してください） */
  width: auto;
  display: block;
}

/* 2. サービスリスト（ゴシック体） */
.hero-services {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  /* タグ部分はパキッと読みやすいゴシック体を指定 */
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
}

.hero-services li {
  background-color: #ffffff; /* 白背景 */
  color: #004098; /* 濃い青文字 */
  font-size: 15px;
  font-weight: bold;
  padding: 8px 16px;
  border-radius: 2px;
  line-height: 1.4;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); /* 上品な薄い影 */
}

/* 3. メインキャッチコピー（明朝体） */
.hero-catchphrase {
  color: #ffffff;
  font-size: clamp(20px, 2.5vw, 34px);
  font-weight: bold;
  line-height: 1.7;
  margin: 0 !important;
  /* メインコピーは上品で信頼感のある明朝体を指定 */
  font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGSMinchoE', 'MS PMincho', serif;
  /* 白文字でも空やトラックに溶け込まない青の2重ドロップシャドウ */

	
	text-shadow: 
    0 0 3px #001233,
    0 0 4px #001233,
    2px 3px 6px #001233,
    3px 5px 10px rgba(0, 20, 50, 0.95),
    0 0 20px #003380,
    0 0 35px rgba(0, 51, 128, 0.8);
    
  /* さらに要素全体へ立体的な影を追加し、背景からの独立感を高める */
  filter: drop-shadow(0px 4px 6px rgba(0, 15, 40, 0.7));
}

/* --- レスポンシブ（スマホ・タブレット向けの調整） --- */
@media (max-width: 768px) {
  .hero-text-area {
    /* スマホで顔に被らないよう余白を調整 */
    padding: 100px 0px 80px; 
  }

  .hero-logo-area {
    margin-bottom: 15px;
  }

  .hero-logo {
    max-height: 60px; /* スマホ画面に合わせてロゴを少し小さく調整 */
  }

  .hero-services {
    gap: 6px;
    margin-bottom: 14px !important;
  }

  .hero-services li {
    font-size: 13px;
    padding: 5px 12px;
  }
  
  .hero-catchphrase {
    font-size: 19px; 
    line-height: 1.6;
  }
}

/*--------------------------------- ■ヘッダー問い合わせ部分 ---------------------------------*/

/* --- カラム全体の縦位置を中央に揃える --- */
.header-contact-cols {
  align-items: center !important; /* 縦のズレをなくす */
	margin-bottom: 0 !important;
}

/* --- 電話番号画像の調整 --- */
.header-tel-img {
  text-align: right; /* 右寄せにする */
}
.header-tel-img img {
  width: 100%;
  max-width: 320px; /* ★画像が大きすぎる場合はこの数値を小さくします */
  height: auto;
}

/* --- お問い合わせボタン画像の調整 --- */
.header-btn-img img {
  width: 100%;
  max-width: 280px; /* ★ボタン画像の最大幅を制限します */
  height: auto;
}

/* スマホ閲覧時（画面幅が狭い時）の調整 */
@media screen and (max-width: 767px) {
  .header-tel-img img,
  .header-btn-img img {
    max-width: 100%; /* スマホでは画面幅に合わせる */
  }
}


/* =========================================
   2. 左側ロゴの微調整
========================================= */


/* ロゴ画像のサイズ調整 */
.c-headLogo__img {
  max-width: 320px !important; /* ★ ロゴを小さく、または大きくしたい場合はこの数値を変更 */
  height: auto !important;
}

.l-header__logo {
  margin-top: 28px !important;  /* ★ここの数値を大きくするほど、ロゴが下に移動します */
}

.c-gnav > .menu-item > a::after {/* ヘッダーメニューの高さ */
    bottom: 10px !important; /* ★ここの数値を大きくするほど、線が上（テキスト寄り）に移動します */
}


/*--------------------------------- ■アバウト・イントロ文章 部分 ---------------------------------*/
/* =========================================
   青帯の白文字に少しだけ影をつける
========================================= */

.subtle-shadow-text {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4) !important; 
}


/* =========================================
   セクション見出し（ABOUT US 等）
========================================= */

/* 見出し全体を囲む枠 */
.c-section-heading {
  text-align: left; /* 左揃え */
  margin-bottom: 40px; /* 見出しの下の余白 */
}

/* 上段：英語テキスト（青背景・白文字） */
.c-section-heading .heading-en {
  display: inline-block;
  background-color: #005da6; /* これまでのコーポレートブルーに統一 */
  color: #ffffff;
  font-size: 18px;
  font-weight: 900; /* より太くはっきりと */
  padding: 4px 12px; /* 背景の広さ（上下4px 左右12px） */
  margin-bottom: 10px; /* 下段の日本語との隙間 */
  letter-spacing: 0.08em; /* 文字の隙間を少し空けてスタイリッシュに */
  line-height: 1.2;
}

/* 下段：日本語テキスト（青文字） */
.c-section-heading .heading-ja {
  /*color: #28589c;*/
  /*font-size: 36px;*/
  font-weight: bold;
  margin: 0; /* h2標準の余白をリセット */
  line-height: 1.4;
  letter-spacing: 0.05em;
}

/* --- スマホ表示用（画面幅が767px以下の場合） --- */
@media screen and (max-width: 767px) {
  .c-section-heading {
    margin-bottom: 30px; /* スマホでは下の余白を少し狭く */
  }
  
  .c-section-heading .heading-en {
    font-size: 14px; /* 英語を少し小さく */
    padding: 3px 10px;
  }

  .c-section-heading .heading-ja {
    font-size: 24px; /* 日本語もスマホに合わせて縮小 */
  }
}

/* =========================================
   セクション見出し（中央揃えアレンジ用）
========================================= */

.c-section-heading-center {
  text-align: center !important; /* ★全体を強制的に中央揃えにする */
}



/*----------- ■共通 -----------*/
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-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;
}


.l-header__inner,
*#gnav{/*ヘッダー部分*/
height: 120px;
	font-weight:bold;

}

#gnav {
padding-top:20px;
	margin-top: -10px !important;

}
.c-gnav{/*メニューボタンの高さ*/
    display: flex;
    height: 64%;
    text-align: center;
    margin-top: 50px;
		font-size:16px;
}
.l-fixHeader__logo{/*ロゴ*/
	padding: 0 16px 16px 0;
	margin-top: 8px !important;
}


.l-fixHeader .l-fixHeader__logo {
  transform: translateY(18px) !important; /* ★ここの数値を大きくするほど、ロゴだけが下に移動します */
}

[data-scrolled=true] .l-fixHeader[data-ready]{/*PC 追従ヘッダー設定*/
	font-weight:bold;
height: 120px;
}

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

.w-header__inner {/*PC ヘッダー内部ウィジェット_電話番号と営業時間*/
position: absolute;
top: 0px; 
right: 65px;
padding-top: 10px;
font-size: 14px;
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;
}

/* お問い合わせ画像を配置しているエリアの下余白を強制的にゼロにする */
.w-header {
  margin-bottom: 0 !important;
}

.mainbtn-bg a span{/*main_menu　背景に色*/
	background:#8A4F4B;
	color:#fff !important;
	padding:10px;
	font-weight:bold;
}


[class*=is-style-btn_].-size-l{/*ヘッダー問い合わせボタン調整*/
    --the-min-width: 100%;
    --the-padding: 12px 3em!important;
	margin:10px;
}


.my-button-nobr{/*ヘッダー問い合わせ折り返し無し*/
	white-space : nowrap;
}


.post_content .wp-block-columns.menu_col{/*ヘッダー上部問い合わせボタンのカラム高さ調整*/
    margin: 0em auto 0em auto !important;
}

/* =========================================
  スマホ表示時のヘッダー高さ・余白調整
========================================= */
@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;
}
.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;
}



/*----------- ■問い合わせページ -----------*/
.snow-monkey-form option,
.snow-monkey-form textarea,
.snow-monkey-form input[type=text],
.snow-monkey-form input[type=tel],
.snow-monkey-form input[type=email],
.snow-monkey-form input[type=search],
.snow-monkey-form input[type=url],
.snow-monkey-form input[type="file"] {
  width: 100%;
}
