@charset "UTF-8";

/*

Theme Name:genki-1

Theme URI:

Description:「LightningPro」の子テーマ

Template:lightning-pro

Author:genki-1

Version:1.0.0

*/



:root {

  /* フォントサイズの基準値 */

  --root-font-size: 16;

  /* ベースカラー black */

  --root-font-color-default: #000000;

  /* ライトグレー 背景色 */

  --root-font-color-lightgray: #F8F9FA;

  /* ダークグレー 文字色 */

  --root-font-color-darkgray: #333333;

  /* グレー */

  --root-font-color-gray: #666666;

  /* グレー2 */

  --root-font-color-gray2: #999999;

  /* グレー3 */

  --root-font-color-gray3: #BBBBBB;

  /* グレー4 */

  --root-font-color-gray4: #EEEEEE;

  /* サブテーマ ブルー */

  --root-font-color-sub1: #00517A;

  /* ライトレッド */

  --root-font-color-sub2: #f5695f;

  /* orange */

  --root-font-color-orange: #fd7e00;

  /* white */

  --root-font-color-white: #ffffff;





  /* ダークブルー #1565C0; */

  /* ソフトグレー  #ECEFF1; */

  /* ライトオレンジ #FFCC80; */

  /* ライトライトグリーン #adce2a; */

  /* black #000000; */

  /* red #ff3333; */

  /* ライトグリーン #A4C619; */



  --easing: cubic-bezier(.2, 1, .2, 1);

  --transition: 1.5s var(--easing);



}



/* android文字色対策 */

.android:root {

  /* ダークグレー */

  --root-font-color-darkgray: #000000;

  /* グレー */

  --root-font-color-gray: #000000;

  /* グレー2 */

  --root-font-color-gray2: #000000;

  /* グレー3 */

  --root-font-color-gray3: #000000;

}





html {

  /* すべてのスタイルをリセット */

  all: unset;

  /* displayのみブラウザデフォルトに */

  display: revert;

  /* フォントを継承 */

  font-family: inherit;

  /* ブラウザのUser Agent Stylesheetに戻す */

  all: revert;

  font-size: 16px;

  font-feature-settings: "palt";

  scroll-behavior: smooth;

}



html,

body,

div,

p,

ol,

ul,

li,

dl,

dt,

dd,

blockquote,

figure,

fieldset,

legend,

textarea,

pre,

iframe,

hr,

h1,

h2,

h3,

h4,

h5,

h6 {

  margin: 0;

  padding: 0;

}





/* ====== 全体のフォントと背景 ====== */

body {

  width: 100%;

  /* font-family: YuGothic, "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; */

  /* font-family: 'Roboto', sans-serif; */

  font-family: "Roboto", "Noto Sans JP", "ゴシックMB101 L", "Hiragino Kaku Gothic W3", "Noto Sans JP", "Noto Sans Japanese", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif !important;



  /* Google FontsのJost 400-700 を使用 */

  /* font-family: "Jost", "Noto Sans JP", "ゴシックMB101 L", "Hiragino Kaku Gothic W3", "Noto Sans JP", "Noto Sans Japanese", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif !important; */

  /* font-family: ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,Osaka,ＭＳ Ｐゴシック,MS PGothic,sans-serif; */



  /* font-weight: 500; */

  background-color: var(--root-font-color-white);

  color: var(--root-font-color-default);

  line-height: 1.8;

  font-size: calc(13 / var(--root-font-size) * 1rem);

  margin: 0;

  padding: 0;

  overflow-x: hidden;

  /* 横スクロールを防ぐ */

  -webkit-text-size-adjust: 100%;

  /* モバイルでのフォントサイズ調整を無効化 */

  -webkit-font-smoothing: antialiased;

  /* フォントのアンチエイリアスを有効化 */

  -moz-osx-font-smoothing: grayscale;

  /* Mac OS Xでのフォントスムージングを有効化 */

  line-break: strict;

  /* 行の分割を厳密に制御 */

  word-break: break-all;

  /* 単語の途中で改行を許可 */

  word-wrap: break-word;

  /* 長い単語を折り返す */

  overflow-wrap: break-word;

  /* 長い単語を折り返す */

  animation: fadeIn 2s ease 0s 1 normal;

  /* ページ読み込み時のフェードインアニメーション */

}



header {

  background-color: var(--root-font-color-white);

}



/* 見出しのフォント指定 */

h1,

h2,

h3,

h4,

h5,

h6 {

  font-size: 100%;

  font-weight: normal;

  margin-bottom: 0.8em;

}



p {

  line-height: 1.8;

}



/* パンくずリスト,ページタイトル非表示 */

.breadcrumb,

.page-header_pageTitle {

  display: none;

}



/* お問い合わせボタン */

.veu_contact-layout-horizontal {

  width: 80%;

  margin: 50px auto 50px auto;

  background-color: var(--root-font-color-lightgray);

}



.contact_bt_txt {

  font-size: calc(17 / var(--root-font-size) * 1rem);

}



/* ====== default container ====== */

/* 通常コンテナ 最上位 */

.default_container {

  margin: 0 auto 0 auto;

  padding: 50px 25px 50px 25px;

  background-color: var(--root-font-color-lightgray);

  box-shadow: 0 0 6px 1px var(--root-font-color-lightgray), 0 0 6px 1px var(--root-font-color-lightgray) inset;

  border-radius: 30px;

  color: var(--root-font-color-gray);

  font-size: calc(13 / var(--root-font-size) * 1rem);

  text-align: center;

  width: 96%;

}



/* Hタグ用コンテナ 通常見出し */

.h_container {

  margin-inline: auto;

  margin: 0 auto 40px auto;

  width: 90%;

}



.h2_title_text {

  font-size: calc(15 / var(--root-font-size) * 1rem);

  border: none;

  display: flex;

  align-items: center;

  color: var(--root-font-color-default);

  flex-grow: 0.5;

  text-shadow: 0 0 1px var(--root-font-color-gray2);

}



.h2_title_text::before,

.h2_title_text::after {

  background-color: var(--root-font-color-sub1);

  height: 0.5px;

  /* border-radius: 5px; */

  content: "";

  flex-grow: 1.0;

  margin: 0 10px;

}



h3,

h3::after {

  border: none;

}



.h3_title_text {

  font-size: calc(15 / var(--root-font-size) * 1rem);

  border: none;

  display: block;

  text-align: left;

  margin: 0 auto;

  /* justify-content:center; */

  /* align-items: center; */

  /* color: var(--root-font-color-white); */

  color: var(--root-font-color-sub1);

  /* background-color: var(--root-font-color-gray); */

  padding: 7px 0 0 20px;

  width: 98%;

  border-left: 10px solid var(--root-font-color-sub1);

  /* border-right: 1px solid var(--root-font-color-sub1); */

  /* border-top: 1px solid var(--root-font-color-sub1); */

  border-bottom: 1px solid var(--root-font-color-sub1);

  height: 35px;

}









.div_text_default {

  font-size: calc(14 / var(--root-font-size) * 1rem);

  color: var(--root-font-color-gray);

  text-shadow: 0 0 3px var(--root-font-color-white);

  line-height: 2.0;

  /* background-color:#00517A11; */

}



.div_text_center {

  text-align: center;

  vertical-align: middle;

}



.div_text_left {

  text-align: left;

  vertical-align: middle;

}













/* +++++++ ヘッダートップ +++++++ */



/* Header Menu                                                                      */

/* ヘッダーコンテナ 背景色 */

.siteHeadContainer {

  /* background-color: #22222299; */

  background-color: #ffffff55;

}



/* メニュー下線 */

.gMenu>li:before {

  border-bottom: 2px solid #00517ABB;

}



/* スクロールなし 初期状態処理 */

body:not(.header_scrolled) .gMenu a {

  /* color: var(--root-font-color-white) !important; */

  color: var(--root-font-color-default) !important;



  margin: 0 !important;

  padding: 0 !important;

}



.menu-header-navigation-container {

  margin: 0 !important;

  padding: 0 !important;

  height: 70px;

}



body:not(.header_scrolled) #menu-item-414,

body:not(.header_scrolled) #menu-item-2266,

body:not(.header_scrolled) #menu-item-416,

body:not(.header_scrolled) #menu-item-417 {

  width: 180px !important;

  border-top: none !important;

  border-bottom: none !important;

  border-right: none !important;

  border-left: 1px solid #36363633;

  margin: 0 !important;

  padding: 16px 0 16px 0 !important;

  height: 100%;

}





body:not(.header_scrolled) .gMenu li {



  /* アイコン・文字 */

  .gMenu_name {

    font-size: calc(12 / var(--root-font-size) * 1rem);

    font-weight: 500;

  }



  /* description */

  .gMenu_description {

    font-size: calc(9 / var(--root-font-size) * 1rem);

    font-weight: 400;

  }

}







/* scrolled スクロール時のメニュー */

.header_scrolled #menu-header-navigation-1 {

  justify-content: flex-end;

  margin: 0;

  padding: 0;

  width: 100%;

}



.header_scrolled .gMenu a {

  /* color: var(--root-font-color-default) !important; */

  color: var(--root-font-color-white) !important;



  margin: 0 !important;

  padding: 0 !important;

  height: 70px;

}



.header_scrolled #menu-item-414,

.header_scrolled #menu-item-2266,

.header_scrolled #menu-item-416,

.header_scrolled #menu-item-417 {

  width: 180px;

  border-top: none !important;

  border-bottom: none !important;

  border-right: none !important;

  border-left: 1px solid #36363633;

  margin: 0 !important;

  padding: 8px 0 0 0 !important;

  height: 100%;



}



/* 背景色 */

.header_scrolled .gMenu_outer {

  margin: 0 !important;

  background-color: #ffffff55;

  background-color: #22222299;



}



.header_scrolled .gMenu>li {



  /* アイコン・文字 */

  .gMenu_name {

    font-size: calc(12 / var(--root-font-size) * 1rem);

    font-weight: 500;

  }



  /* description */

  .gMenu_description {

    font-size: calc(10 / var(--root-font-size) * 1rem);

    font-weight: 400;

  }

}





















.header_scrolled .gMenu_outer nav {

  /* ヘッダーロゴ画像の URL */

  background-image: url(https://genki-1.jp/wp-content/uploads/2025/11/top-footer-logo1.png);

  background-repeat: no-repeat;

  background-size: 160px;

  background-position: 30px 50%;

}



.header_scrolled .gMenu_outer nav>ul {

  -webkit-box-pack: end;

  -ms-flex-pack: end;

  justify-content: flex-end;

}



.header_scrolled .gMenu_outer nav>ul>li {

  width: auto;

}



.header_scrolled .gMenu_outer nav>ul>li {

  border-right: none;

  border-left: none;

}



.header_scrolled .gMenu_outer nav>ul>li:last-child {

  border-right: none;

}















/* ====== 共通設定 ====== */



/* 中央揃え */

.center-block {

  justify-content: center;

  align-items: center;

  vertical-align: middle;

}



/* image-shadow */

.image-shadow {

  border: 1px solid var(--root-font-color-lightgray);

  filter: drop-shadow(2px 2px 2px #99999999);

  -webkit-transition: var(--transition);

  transition: var(--transition);

  overflow: hidden;

}



.image-shadow:hover {

  filter: drop-shadow(4px 4px 4px #999999cc);

  -webkit-transition: var(--transition);

  /* transform: translate(-1px, -5px); */

  /* opacity: 0.8; */

  transform: scale(1.05);

  opacity: 0.8;





}





















/* ====== コンテナの中央寄せと余白調整 ====== */



.container,

.wrap,

.l-container {

  margin: 0 auto;

  /* padding: 2rem 1rem; */

}









/* ====== ヘッダー・ナビゲーション調整 ====== */

/* ----------未使用---------- */

.header,

.l-header {

  background-color: #ffffff;

  border-bottom: 1px solid #ffffff;

}





/* +++++++ ヘッダートップ +++++++ */

/* header                                                                     */

/* ----------未使用---------- */

body:not(.header_scrolled) .siteHeader {

  position: absolute;

  top: 0;

  background-color: rgba(255, 255, 255, 0);

  background-color: transparent !important;

  box-shadow: none;

  border-bottom: none;

}



/* ----------未使用---------- */

body:not(.header_scrolled) .headerTop {

  background-color: var(--root-font-color-lightgray);

}



/* スライドイメージ Ajax */

.entry-body .wrap {

  margin: 0 !important;

  padding: 0 !important;

}



.section .container .row .mainSection-col-one {

  margin: 0 !important;

  padding: 0 !important;

}



.slide-img img {

  margin-top: -5px;

  height: auto;

  width: 100%;

  background-color: #336633;

}











@keyframes zoomUp {

  0% {

    transform: scale(1);

  }



  100% {

    transform: scale(1.15);

  }

}



.swiper-slide-active .slide-img,

.swiper-slide-duplicate-active .slide-img,

.swiper-slide-prev .slide-img {

  animation: zoomUp 7s linear 0s normal both;

  height: auto;

  width: 100%;



}





















/* ----------未使用---------- */

/* スライドイメージの高さ調整 */

.carousel {

  border-bottom: 20px solid var(--root-font-color-lightgray);

  display: block;

  overflow: hidden;

  width: 100%;

  top: 10px;

  z-index: -1;

}



/* ----------未使用---------- */

/* 説明文 */

.headerTop .headerTop_description {

  font-size: calc(10 / var(--root-font-size) * 1rem);

}



/* ----------未使用---------- */

/* 電話番号 */

.headerTop .headerTop_tel_wrap {

  font-size: calc(12 / var(--root-font-size) * 1rem);

  color: var(--root-font-color-default);

  margin-right: 0;

  display: flex;

  align-items: center;

  font-weight: bold;

}



/* ----------未使用---------- */

/* お問い合わせボタン */

.headerTop .headerTop_contactBtn a.btn {

  font-size: calc(12 / var(--root-font-size) * 1rem);

  background-color: var(--root-font-color-sub1);

  color: #ffffff;

  border: none;

  position: relative;

  top: -1px;

  right: 0;

  z-index: 100;

}



/* ----------未使用---------- */

/* お問い合わせボタンホバー時の色変更 */

.headerTop .headerTop_contactBtn a.btn:hover {

  background-color: var(--root-font-color-default);

}















.vk-mobile-nav-menu-btn.menu-open {

  background-color: #ffffff55;

  border: 1px solid var(--root-font-color-gray);



}



/* ハンバーガーメニューヘッダー */

.vk-mobile-nav-header {

  display: flex;

  display: -webkit-flex;

}



.vk-mobile-nav-header-logo {

  align-self: flex-start;



}



.vk-mobile-nav-header-text {

  align-self: flex-end;

  font-size: calc(12 / var(--root-font-size) * 1rem);

  margin-left: 30px;

  color: var(--root-font-color-sub1);

}



.global-nav #menu-moblie-navigation li a {



  color: var(--root-font-color-sub1);



}

























/* +++++++ 固定ページ +++++++ */

/* HOME                                                                     */

/* 写真縦横比サイズ調整　TOP 3段ブロック */



.image-3blocks {

  /* width: 100% !important; */

  /* height: 340px !important; */

  object-fit: cover !important;

}







/* ------------------代表挨拶------------------ */

/* 吹き出し */

.balloon-color {

  display: flex;

  flex-wrap: wrap;

  margin-top: calc(50 / var(--root-font-size) * 1rem);

  margin-bottom: calc(50 / var(--root-font-size) * 1rem);

  justify-content: flex-end;

  position: relative;

}



.balloon-color.right {

  /* 右から左に並べる */

  /* flex-direction: row-reverse; */

  padding-bottom: calc(11 / var(--root-font-size) * 1rem);

  /* background: linear-gradient(transparent 88%, var(--root-font-color-sub4) 95%); */



}



/* 吹き出しの下の斜線 */

.balloon-color_dummy::before {

  position: absolute;

  left: -5px;

  bottom: 5px;

  width: 100%;

  height: 15px;

  transform: skew(-45deg);

  background-image: repeating-linear-gradient(90deg, transparent 0 5px, var(--root-font-color-default) 5px 10px);

  content: '';

  z-index: -1;

}







/* 文字部分 */

.text-color {

  color: var(--root-font-color-default);

  font-size: calc(13 / var(--root-font-size) * 1rem);

}



/* 画像部分 */

.balloon-color figure img {

  width: 90%;

  height: auto;

  margin: -40px 2px 0px 2px;

  z-index: 2;

}



/* 画像の大きさ */

.icon-color {

  position: absolute;

  top: 0;

  right: 0;

  width: calc(15%);

  height: auto;

}



.right .chatting-color {

  position: relative;

  display: inline-block;

  margin: 0 5% 0 0;

  padding: 30px 18% 30px 30px;

  /* background-color: var(--root-font-color-default); */

  /* border: 5px double #ffffff99; */

  line-height: 2.0rem;

  text-align: left;

  border-radius: 15px;

  /* height: -40vw; */

  width: calc(85%);

  max-width: 900px;

  /* filter: drop-shadow(0 0 2px #38AECC); */



}



.right .chatting-color_dummy::after {

  content: "";

  border: 20px solid transparent;

  border-top-color: var(--root-font-color-default);

  position: absolute;

  top: calc(50%);

  right: -20px;

}







/* +++++++ TOP VKブロック 3カラム +++++++ */



/* VKブロック背景色,ボーダー色 */

.vk_prBlocks_item_icon_outer {

  background-color: transparent !important;

  border: 1px solid var(--root-font-color-gray) !important;

  /* border :none !important; */

}



/* VKブロックアイコンの色 */

.vk_prBlocks_item_icon {

  color: var(--root-font-color-gray) !important;

  font-size: calc(26 / var(--root-font-size) * 1rem) !important;

}



/* VKブロックアイコンのホバー時の色変更 */

.vk_prBlocks_item_icon_outer:hover {



  .vk_prBlocks_item_icon {

    color: var(--root-font-color-white) !important;

    font-size: calc(36 / var(--root-font-size) * 1rem) !important;

  }



  background-color: var(--root-font-color-darkgray) !important;

  /* ホバー時の背景色変更 */

  border: 1px solid var(--root-font-color-white) !important;

  /* ホバー時のボーダー色変更 */

}



/* VKブロックタイトルの色とフォントサイズ */

.vk_prBlocks_item_title {

  font-size: calc(12 / var(--root-font-size) * 1rem) !important;

  color: var(--root-font-color-default) !important;

  margin-bottom: calc(12 / var(--root-font-size) * 1rem) !important;

}



/* VKブロックサマリーの色とフォントサイズ */

.vk_prBlocks_item_summary {

  font-size: calc(13 / var(--root-font-size) * 1rem) !important;

  color: var(--root-font-color-darkgray) !important;

  line-height: 1.6 !important;

  margin-bottom: calc(10 / var(--root-font-size) * 1rem) !important;

}





/* +++++++ VKブロック下 3blocks 写真 +++++++ */

/* wp-block-column > wp-3blocks-image > slide-media-wp-3blocks | image-label */



.wp-block-columns {

  overflow: visible;

}



.wp-3blocks-image {

  -webkit-transition: var(--transition);

  transition: var(--transition);

}



.wp-3blocks-image img {

  -webkit-transition: var(--transition);

  transition: var(--transition);

}



/* 画像 */

.slide-media-wp-3blocks {

  position: relative;

  overflow: hidden;

  background-color: transparent;

  /* margin-top: calc(2 / var(--root-font-size) * 1rem); */

  border-radius: 5px;

}



.slide-media-wp-3blocks img {

  /* height: calc(100% + 16px); */

  -webkit-transform: translateY(-16px);

  transform: translateY(-16px);



}



.no-slide-media-wp-3blocks {

  /* cursor: cell; */

  max-width: 780px;

  overflow: hidden;

  width: 100%;

}



.no-slide-media-wp-3blocks img {

  /* border-radius: 5px; */

  height: auto;

  -webkit-transition: var(--transition);

  transition: var(--transition);

}



.no-slide-media-wp-3blocks img:hover {

  transform: scale(1.05);

  opacity: 0.5;



}



.vertical-image .no-slide-media-wp-3blocks img {

  height: 100%;
  /* 高さ基準で表示 */

  width: auto;
  /* 横幅は自動で縦横比を維持 */

  display: block;

  margin: 0 auto;
  /* 中央寄せ */

}







/* 画像が3カラムになった場合だけ処理する */

@media (min-width: 780px) {



  /* @media (width > 780px) { */



  .wp-3blocks-image:hover {

    -webkit-transform: translateY(-16px);

    transform: translateY(-16px);

    opacity: 0.8;



  }



  .wp-3blocks-image:hover img {

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }



}



/* 画像が1カラムになった場合のマージン処理 */

@media (max-width: 779.99px) {



  /* @media (width <=780px) { */

  .slide-media-wp-3blocks,

  .gallery-top {

    margin-top: calc(35 / var(--root-font-size) * 1rem);

  }

}



/* 画像用文字 */

.image-label {

  text-align: center;

  position: absolute;

  top: calc(100% - 37px);

  left: 0;

  background-color: #f8f9fafa;

  background-color: var(--root-font-color-gray);

  font-size: calc(13 / var(--root-font-size) * 1rem);

  color: var(--root-font-color-darkgray);

  color: var(--root-font-color-white);

  padding: 10px 0 10px 0;

  border-radius: 0 0 5px 5px;

  width: 100%;

  -webkit-box-shadow: calc(10 / var(--root-font-size) * 1rem) calc(10 / var(--root-font-size) * 1rem) calc(14 / var(--root-font-size) * 1rem) rgba(0, 0, 0, .08), calc(10 / var(--root-font-size) * 1rem) calc(10 / var(--root-font-size) * 1rem) calc(14 / var(--root-font-size) * 1rem) #70707077;

  box-shadow: calc(10 / var(--root-font-size) * 1rem) calc(10 / var(--root-font-size) * 1rem) calc(14 / var(--root-font-size) * 1rem) rgba(0, 0, 0, .08), calc(10 / var(--root-font-size) * 1rem) calc(10 / var(--root-font-size) * 1rem) calc(14 / var(--root-font-size) * 1rem) #70707077;

}





/* 理念 */

.philosophy {

  font-size: calc(16 / var(--root-font-size) * 1rem) !important;

  margin-bottom: 35px;

}



.div_philosophy {

  margin: 400px auto 100px auto;

}













































/* +++++++ VKブロック下 ブロック +++++++ */



.box-tape-block {

  display: flex;

  justify-content: center;

  align-items: center;

}



/* 780px以下では1カラム */

@media (max-width: 779.99px) {

  .box-tape-block {

    object-fit: cover !important;

    display: block;

  }

}



.box-tape-figure {

  width: 100%;

}





.is-style-vk-image-photoFrame-tilt-left {

  transform: rotate(5deg) !important;

}


/* 992px以上のみ表示 */
.line_add{
    justify-content:flex-end;
    /* padding:0 0 0 20px; */
    /* flex-basis: 160px; */
}

@media (max-width: 991.99px) {
.line_add{
    display: none;
}
}



/* セロテープ風 */

.box_tape {

  position: relative;

  margin: 40px auto 0 auto;

  padding-top: 10px;

  background-color: var(--root-font-color-lightgray);

  color: var(--root-font-color-darkgray);

  box-shadow: 0 0 5px silver;

  width: 100%;

}



.box_tape .box-title {



  color: var(--root-font-color-sub1);

  background-color: rgba(197, 197, 197, 0.15);

  /* テープ背景色と透過 */

  border-left: 2px dotted rgb(0 0 0 / .1);

  /* テープのギザギザ左 */

  border-right: 2px dotted rgb(0 0 0 / .1);

  /* テープのギザギザ右 */

  box-shadow: 0 0 5px rgb(0 0 0 / .12);

  /* テープ影 */

  transform: rotate(-3deg);

  /* テープの傾き */

  padding: 10px 20px;

  /* タイトルの余白 */

  line-height: 1;

  /* タイトルの行の高さ */

  position: absolute;

  /* 親要素の左上に固定 */

  top: -1em;

  /* 上端に配置 */

  left: 1em;

  /* 左端に配置 */

  display: inline-block;

  /* タイトルの幅を内容に合わせる */

  font-size: calc(13 / var(--root-font-size) * 1rem);

  /* タイトルのフォントサイズ */

  width: 270px;

  /* タイトル幅を内容に応じて可変にする */

  max-width: calc(100% - 2em);

  /* 左右の余白を考慮して最大幅を調整 */

  white-space: nowrap;

  /* タイトルを1行に固定 */

  overflow: hidden;

  /* はみ出した部分を非表示 */

  text-overflow: ellipsis;

  /* 省略記号（...）を表示 */

}



.box_tape .box-content {

  text-align: left;

  padding: 25px 15px 15px 15px;

  /* コンテンツ内の余白 */

}



/* pタグの余白を0にする */

.box_tape p {

  margin: 0;

}



/* リストスタイル */

.box_tape .box-content ul {

  padding: 0;

  position: relative;

}



.box_tape .box-content ul li {

  line-height: 2.0;

  padding: 0.5em 0.5em 0.5em 2em;

  border-bottom: 1px dashed var(--root-font-color-gray);

  list-style-type: none !important;

  font-size: calc(13 / var(--root-font-size) * 1rem);



}



/* アイコンカラー */

.box_tape .box-content path {

  position: absolute;

  left: 0.5em;

  top: 0.5em;

  color: var(--root-font-color-gray);

  /* color: #2E7D3299; */

  font-size: calc(14 / var(--root-font-size) * 1rem);

}



.box_tape .box-content ul li:last-of-type {

  border-bottom: none;

  /*最後のliの線だけ消す*/

}



























.box_yuru_title {

  text-align: center;

  margin-bottom: 1em;

  width: 100%;

  display: flex;

  justify-content: center;

  align-items: center;

}



.box_yuru_centerline {

  background-color: var(--root-font-color-sub6);

  height: 2px;

  /* width: calc((100% - 170px) / 2); */

  flex-grow: 2.5;

  /* display: inline-block; */

  vertical-align: middle;

}



.box_yuru_titletext {

  font-size: calc(14 / var(--root-font-size) * 1rem);

  color: var(--root-font-color-default);

  font-weight: bold;

  align-self: center;

  flex-grow: 0.5;

  display: flexblock;

  vertical-align: middle;



  /* width: 170px; */

}









.h_title_text::before {

  margin-right: 15px;

}



.h_title_text::after {

  margin-left: 15px;

}



















/* 具体的な援助 */

.box_assistance {

  margin: 40px auto 0 auto;

  padding: 30px;

  background-color: var(--root-font-color-lightgray);

  color: var(--root-font-color-default);

  box-shadow: 0 0 5px silver;

  width: 96%;

  /* background-image: url("../../uploads/2025/06/noslide-006.png"); */

  background-color: rgba(255, 255, 255, 0.8);

  background-blend-mode: lighten;

}





/* LIST 2段ブロック */

.list-2blocks {

  object-fit: cover !important;

  flex-basis: calc(98% / 2);

}







.box_assistance .list-contents {

  margin-top: 20px;

}



.box_assistance .list-title {

  color: var(--root-font-color-default);

  font-size: calc(14 / var(--root-font-size) * 1rem);

  text-align: left;

}





.list-contents ul li {

  position: relative;

  list-style-type: none !important;

  /*ポチ消す*/

  padding: 0.5em 0.5em 0.5em 0.5em;

  margin-bottom: 5px;

  line-height: 1.5;

  background-color: var(--root-font-color-gray);

  vertical-align: middle;

  color: var(--root-font-color-white);

  border-radius: 12px 12px 12px 12px;

  /*左側の角丸く*/

  text-align: left;

  font-size: calc(13 / var(--root-font-size) * 1rem);



}



.list-contents ul li:before {

  display: inline-block;

  vertical-align: middle;

  /*以下白丸つくる*/

  content: '';

  width: 1em;

  height: 1em;

  background: #fff;

  border-radius: 50%;

  margin-right: 8px;

}



















/* +++++++ 新着記事 +++++++ */

.new-post {

  display: flex;

  margin: 0 auto 0 0;

  width: 100%;

  line-height: 1.2;

  border: 1px solid #22222211;

  height: 75px;

  box-shadow: 0 0 6px 1px var(--root-font-color-lightgray), 0 0 6px 1px var(--root-font-color-lightgray) inset;

  background-color: var(--root-font-color-white);





}



.thumbnail {

  width: auto;

  height: 100%;

  flex-grow: 0.5;

}



.post-text {

  width: 100%;

  flex-grow: 2.5;

  align-self: flex-start;

  text-align: left;

  padding: 5px 10px 5px 10px;

}



.post-text-title {

  /* margin-bottom: 10px; */

}



.post-date {

  margin-top: 10px;

  font-size: calc(9 / var(--root-font-size) * 1rem) !important;

}







/* +++++++ フッター +++++++ */

/* footer                                                                     */



footer {

  background-color: var(--root-font-color-gray);

  border-top: 1px solid var(--root-font-color-sub1);

  color: var(--root-font-color-white);

}



.footer_information {

  font-size: calc(12 / var(--root-font-size) * 1rem);

}



.footer_contact {

  font-size: calc(12 / var(--root-font-size) * 1rem);

}



#menu-footer-navigation li a {

  color: var(--root-font-color-white);

}









/* +++++++ 会社概要 +++++++ */

.company-title {

  color: var(--root-font-color-white);

  background-color: var(--root-font-color-sub1);

  font-size: calc(11 / var(--root-font-size) * 1rem);

  text-align: center;

  width: 100%;

  max-width: 150px;

  border: 1px solid var(--root-font-color-sub1);

  margin: 0 20px 0 auto;

  padding: 10px 20px;

}



.company-textbox {

  text-align: left;

  color: var(--root-font-color-default);

  font-size: calc(15 / var(--root-font-size) * 1rem);

  width: 100%;

  max-width: 700px;

  border-bottom: 1px solid var(--root-font-color-sub1);

  margin: 0 0 0 10px;

  padding: 10px 10px 10px 20px;



}



/* +++++++ スタッフ紹介 +++++++ */

.staff-top-picture {

  color: var(--root-font-color-default);

}



.staff-top-picture p {

  line-height: 2.2;

}



.staff-top-picture img {

  border-radius: 3px;

  box-shadow: 0 0 5px var(--root-font-color-gray3);

}



.staff-picture {

  font-size: calc(11 / var(--root-font-size) * 1rem);

  text-align: center;

  width: 100%;

  max-width: 500px;

  margin: 0 auto 0 auto;

  padding: 0;

  box-shadow: 0 0 5px var(--root-font-color-gray3);

  /* filter: drop-shadow(2px 2px 2px var(--root-font-color-gray)); */

  overflow: hidden;

  border-radius: 3px;

  /* background-color:var(--root-font-color-gray); */

}



.staff-picture-name {

  color: var(--root-font-color-gray3);

  filter: drop-shadow(1px 1px 2px var(--root-font-color-gray3));



}



.staff-picture img {

  height: auto;

  transition: var(--transition);

  filter: contrast(120%);

}



.staff-picture img:hover {

  transition: var(--transition);

  transform: scale(1.05);

  opacity: 0.8;

}



.staff-picture-re {

  margin: 0 auto 0 20px;

}



.staff-textbox {

  text-align: left;

  color: var(--root-font-color-darkgray);

  font-size: calc(12 / var(--root-font-size) * 1rem);

  width: 100%;

  max-width: 600px;

  /* border-bottom: 1px solid var(--root-font-color-sub1); */

  /* border: 5px solid #00517A22; */

  border-top: 5px solid #00517A22;

  border-bottom: 5px solid #00517A22;

  margin: 0 auto 0 10px;

  padding: 30px 25px 30px 52px;

  /* border-radius: 8px 8px 8px 8px; */

  background-color: #00517A02;

}



.staff-textbox p {

  line-height: 2.0;

}



.staff-textbox-re {

  margin: 0 10px 0 auto;

  border-top: 5px solid #f5695f22;

  border-bottom: 5px solid #f5695f22;



}



.staff-portrait {

  position: absolute;

  top: -75px;

  left: -30px;

  width: 94px;

  height: 203px;

  z-index: 3;

}







/* +++++++ 採用情報 +++++++ */

.recruitment-title {

  color: var(--root-font-color-white);

  background-color: var(--root-font-color-sub1);

  font-size: calc(11 / var(--root-font-size) * 1rem);

  text-align: center;

  width: 100%;

  max-width: 150px;

  border: 1px solid var(--root-font-color-sub1);

  margin: 0 20px 0 auto;

  padding: 10px 20px;

}



.recruitment-textbox {

  text-align: left;

  color: var(--root-font-color-gray);

  font-size: calc(13 / var(--root-font-size) * 1rem);

  width: 100%;

  max-width: 700px;

  /* border-bottom: 1px solid var(--root-font-color-sub1); */

  border: 1px solid #00517A22;

  margin: 0 auto 0 10px;

  padding: 20px;

  border-radius: 8px 8px 8px 8px;

  background-color: #00517A02;

}















/* +++++++ 問い合わせフォーム +++++++ */

.mainSection-pos-right {

  width: 100%;

}



.form-title {

  color: var(--root-font-color-white);

  background-color: var(--root-font-color-darkgray);

  font-size: calc(11 / var(--root-font-size) * 1rem);

  text-align: center;

  width: 100%;

  max-width: 150px;

  /* margin: 0 auto; */

  /* max-width: 220px; */

  padding: 5px 0px 5px 0px;

  border-radius: 8px 8px 8px 8px;

  /* border-top: 1px solid var(--root-font-color-sub1); */

  /* border-left: 1px solid var(--root-font-color-sub1); */

  /* border-right: 1px solid var(--root-font-color-sub1); */

  /* margin: 0px 0px 20px 0px; */

  margin: 0 20px 0 auto;

}



.form-textbox input {

  color: var(--root-font-color-default);

  font-size: calc(14 / var(--root-font-size) * 1rem);

  width: 100%;

  max-width: 700px;

  margin: 2px 0 0 0;

}



.form-textbox textarea {

  color: var(--root-font-color-default);

  font-size: calc(14 / var(--root-font-size) * 1rem);

  width: 100%;

  max-width: 700px;



}









.form-checkbox {

  display: flex;

  display: -webkit-flex;

  justify-content: flex-start;

  align-items: flex-start;

  flex-wrap: nowrap;

  margin: 0;

  text-align: left;

  font-size: calc(16 / var(--root-font-size) * 1rem);

  width: 100%;

}



.form-accept {

  flex: 1;

  max-width: 140px;

  height: auto;

}



.form-privacy-policy {

  flex: 2;

  height: auto;

}



/* 480px以下では1カラム */

@media (max-width: 479.99px) {



  /* 480px以下でプライバシーポリシーを折り返す */

  .form-checkbox {

    flex-direction: column;

    align-items: flex-start;

  }



  .form-accept {

    margin-top: 5px;

  }



  .form-privacy-policy {

    margin: -10px 0 0 15px;

  }





}







.form-submit {

  text-align: center;

  margin: 25px auto 10px auto;



}



.wpcf7-not-valid-tip {

  font-size: calc(8 / var(--root-font-size) * 1rem) !important;

  letter-spacing: 0.05em;

}



.form-submit .typesquare_tags {

  width: 150px;

}





/* +++++++ プライバシーポリシー +++++++ */

.privacy-textbox {

  width: 90%;

  margin: 0 auto;

}



.ol-step2 {

  margin: 0 0 0 20px;

  padding: 0;

}



.ol-step3 {

  margin: 0 0 0 40px;

  padding: 0;

}





/* +++++++ BLOG +++++++ */



body.single .page-header {

  display: none;

}



.entry-meta {

  margin-top: 30px;

}





.entry-title {

  font-size: calc(15 / var(--root-font-size) * 1rem) !important;

  display: block;

  text-align: left;

  margin: 0 auto;

  /* justify-content:center; */

  /* align-items: center; */

  /* color: var(--root-font-color-white); */

  color: var(--root-font-color-sub1);

  /* background-color: var(--root-font-color-gray); */

  padding: 7px 0 0 20px;

  width: 100%;

  /* border-bottom: none !important; */

  border-left: 10px solid var(--root-font-color-sub1) !important;

  /* border-right: 1px solid var(--root-font-color-sub1); */

  /* border-top: 1px solid var(--root-font-color-sub1); */

  /* border-bottom: 1px solid var(--root-font-color-sub1); */

  height: 34px;







}



.entry-meta_items_term_button,

.entry-meta-dataList {

  display: none;

}





/* +++++++ 汎用タグ +++++++ */

.left-p {

  text-align: left;

}



.center-p {

  text-align: center;

  vertical-align: middle;

}



.strong-p {

  font-size: 1.1em;

  font-weight: bold;

  margin-bottom: 10px;

}



.div10 {

  font-size: calc(10 / var(--root-font-size) * 1rem);

}



.div_border {

  border: 1px solid var(--root-font-color-darkgray);

}



.div_border_bottom {

  border-bottom: 1px solid var(--root-font-color-darkgray);

}



.div_padding10 {

  padding: 10px;

}



.div_padding30 {

  padding: 30px;

}



.div_padding100 {

  padding: 100px;

}





/* +++++++ COLOR +++++++ */

.color_default {

  color: var(--root-font-color-default);

}



.color_darkgray {

  color: var(--root-font-color-darkgray);

}



.color_gray {

  color: var(--root-font-color-gray);

}



.color_sub1 {

  color: var(--root-font-color-sub1);

}



.color_white {

  color: var(--root-font-color-white);

}



.color_orange {

  color: var(--root-font-color-orange);



}



/* +++++++ FLEX +++++++ */

/* FLEXコンテナ(親) 中ー上 揃え */

.flex_block-flex-start {

  display: flex;

  display: -webkit-flex;

  justify-content: center;

  align-items: flex-start;

  flex-wrap: nowrap;

  min-width: 0px;

  width: 95%;

  margin: 0 auto 0 auto;

}



/* FLEXコンテナ(親) 中ー中 揃え */

.flex_block-center {

  display: flex;

  display: -webkit-flex;

  justify-content: center;

  align-items: center;

  flex-wrap: nowrap;

  min-width: 0px;

  width: 95%;

  margin: 0 auto 0 auto;

}



/* FLEXコンテナ(親) 中ー下 揃え */

.flex_block-flex-end {

  display: flex;

  display: -webkit-flex;

  justify-content: center;

  align-items: flex-end;

  flex-wrap: nowrap;

  min-width: 0px;

  width: 95%;

  margin: 0 auto 0 auto;

}



/* FLEXコンテナ(親) 均等ー中 揃え */

.flex_block-between-justify {

  display: flex;

  display: -webkit-flex;

  justify-content: space-between;

  align-items: center;

  flex-wrap: nowrap;

  min-width: 0px;

  width: 95%;

  margin: 0 auto 0 auto;

}





/* FLEXアイテム(子)  上 揃え */

.flex_item-flex-start {

  align-self: flex-start;

  width: 100%;

  height: auto;

}



/* FLEXアイテム(子)  中 揃え */

.flex_item-center {

  align-self: center;

  width: 100%;

  height: auto;

}



/* FLEXアイテム(子)  下 揃え */

.flex_item-flex-end {

  align-self: flex-end;

  width: 100%;

  height: auto;

}



.flex_item-center-reverse {

  flex-direction: row-reverse;

}



.flex_grow-1 {

  flex: 1;

}



.flex_grow-2 {

  flex: 2;

}



.flex_grow-3 {

  flex: 3;

}

.flex_grow-4 {

  flex: 4;

}









/* +++++++ BLOCK +++++++ */

.block-center {

  display: block;

  margin: 0 auto 0 auto;

  text-align: center;

}





























/* +++++++ サブページ +++++++ */



.section.page-header {

  height: 300px;

}





.page-header_pageTitle {

  font-size: calc(16 / var(--root-font-size) * 1rem) !important;

  margin-top: 200px !important;

  color: var(--root-font-color-default);

}



.page-header_pageTitle::before {

  content: "- "

}





/* ------------------------------------------------------------------------------------ */

/* +++++++ レスポンシブ +++++++ */



@media (min-width: 768px) {



  /* @media (width>=768px) { */

  .footerMenu ul {

    justify-content: center;

  }



  .footerMenu li a {

    border-left: 1px solid #ccc;

    padding: 0 1em;

    color: var(--root-font-color-white);

  }

}



/* 780px以下では1カラム */

@media (max-width: 779.99px) {



  /* 780px以下で問い合わせフォームを1カラムにする */

  .flex_block-flex-start,

  .flex_block-center,

  .flex_block-flex-end,

  .flex_block-between-justify {

    flex-direction: column;

    align-items: flex-start;



  }



  .form-title,

  .company-title,

  .staff-top-picture,

  .staff-picture,

  .staff-picture-re,

  .staff-textbox-re,

  .recruitment-title,

  .recruitment-textbox {

    margin: 0;

  }



  .company-textbox {

    padding: 10px 10px 10px 30px;

  }



  .staff-textbox,

  .staff-textbox-re {

    margin: 30px auto 0 auto;

  }



  .staff-top-picture img,

  .staff-picture img {

    text-align: center;

    margin: 0 auto;

  }



  .staff-top-picture .div_padding100 {

    padding: 20px;

  }



}



/* ヘッダーメニュー表示・折り返し設定 */

/* 992px以上でメニューを横一列で表示 */

@media (min-width: 992px) {

  /* @media (width>=992px) { */





  /* スライドイメージ */

  .slide-item-img {

    margin: 15px 0 0 0;

  }



  .gMenu_outer {

    right: 0;

    float: right;

    width: unset;

  }



  /* ヘッダーロゴ */

  .siteHeader_logo {

    float: left;

    width: 200px;

    height: 68px;

    margin: 0 0 0 0 !important;

    /* background-color: var(--root-font-color-default); */

    padding: 13px 20px 10px 20px;

    /* display:none; */

  }



  /* ヘッダーコンテナ ヘッダーメニューの位置指定 */

  .siteHeader .container {

    padding: 0;

  }

}





/* 992px未満 */

@media (max-width: 991.99px) {



  /* @media (width<992px) { */





  /* スライドイメージ */

  .slide-item-img {

    margin: 30px 0 0 0;

  }





  /* 991px対策 非表示を明示化する */

  .headerTop .container {

    display: none;

  }



  /* ヘッダーロゴ */

  .siteHeader_logo {

    float: left;

    width: 130px;

    margin: 0 !important;

    /* background-color: var(--root-font-color-default); */

    padding: 0px 10px 4px 10px;

    /* display:none; */

  }



  /* ヘッダーコンテナ ヘッダーメニューの位置指定 */

  .siteHeadContainer {

    /* background-color: rgba(100, 100, 100, 0.3); */

    /* background-color: rgba(255, 255, 255, 0.1); */

    /* background-color: #22222299; */

    background-color: #ffffff55;

    padding: 0 0 0 12px;

  }





  /* ハンバーガーメニュー */

  .vk-mobile-nav {

    transition: all 0.8s ease-out;

    color: var(--root-font-color-default);



  }



  .vk-mobile-nav nav ul li a {

    color: var(--root-font-color-default);

    font-size: calc(13 / var(--root-font-size) * 1rem);

  }







  /* ハンバーガーメニュー右寄せ */

  .vk-mobile-nav-menu-btn {

    top: 5px;

    right: 5px;

    left: inherit;

    width: 35px;

    height: 35px;

    background-color: #ffffffee;

    /* background-color: transparent !important; */

    color: #000000;

    border: 1px solid var(--root-font-color-gray);

    /* border: none; */

  }

}



/* コンテナ フルHD対応 */

@media (max-width: 1999.99px) {



  /* @media (width < 2000px) { */

  .container {

    max-width: initial !important;

    width: 100% !important;

  }



  .headerTop .headerTop_description {

    width: calc(100% - 290px);

  }

}



/* サブページ パンくず下余白 */

@media (min-width: 768px) {



  /* @media (width > 768px) { */



  .siteContent {

    padding: 1.0em 0 1.0em !important;

  }

}



.siteContent {

  padding: 1.5em 0 1.5em !important;

}