@charset "utf-8";
/*
Theme Name: Lightning Child
Template: lightning
Author:アートフレア株式会社
Version: 1.2
*/
/* 標準データ最終更新日：2025/04/14  */
/*
 * WEBフォントの読み込み（@import url('https://fonts～'); ）はHeader.phpで行う
*/
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  General　全体的な設定
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* :root設定、bodyへの上書き、カラー変数設定など */
body, html {
  font-family: 'Roboto', "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Common 汎用パーツ系
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 繰り返しボタン・見出し、余白設計など 汎用パーツへの上書き */
h2 {
  font-size: 2rem;
}
/*見出し>逆順テキストの調整*/
.is-style-af-heading-reverse .vk_heading_subtext {
  line-height: 1.2em;
  margin-bottom: 0;
  font-weight: 600;
}
/*見出し > 左に線*/
.heading-bar-left {
  border-left: 5px solid var(--vk-color-primary);
  padding-left: 10px;
  line-height: 1em;
}
/*横幅テキストに合わせる*/
.width-fit {
  width: fit-content;
}
/*ボタン*/
.vk_button .vk_button_link.btn, .editor-styles-wrapper .vk_button .vk_button_link.btn {
  padding: 1em 2em;
  border-radius: 50px;
}
/*ボタン >　ホバーの下線を消す*/
.vk_button .has-text-color.vk_button_link-type-text:hover .vk_button_link_txt, .vk_button .has-text-color.vk_button_link-type-text:hover .vk_button_link_subCaption, .editor-styles-wrapper .vk_button .has-text-color.vk_button_link-type-text:hover .vk_button_link_txt, .editor-styles-wrapper .vk_button .has-text-color.vk_button_link-type-text:hover .vk_button_link_subCaption {
  text-decoration: none !important;
}
/*ボタン > フォント太さ*/
.vk_button .vk_button_link_caption, .editor-styles-wrapper .vk_button .vk_button_link_caption {
  word-break: initial;
  font-weight: 500;
}
/*ボタンホバー*/
.vk_button_link_caption, .vk_button_link_subCaption {
  z-index: 3 !important;
  position: relative;
}
.vk_button a {
  position: relative;
}
.vk_button a:hover {
  opacity: 1;
  box-shadow: none;
}
.vk_button a {
  border: medium none;
  overflow: hidden;
}
.vk_button a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: #fff;
  width: 100%;
  height: 100%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
  opacity: 0;
}
.vk_button a:hover::before {
  opacity: 0.3;
}
.vk_button a:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.vk_button .vk_button_link-type-text::before {
  display: none;
}
/*ボタンホバーの影を消す*/
.vk_button-color-custom a:hover, .editor-styles-wrapper .vk_button-color-custom a:hover {
  box-shadow: none !important;
}
/*ボタンアイコン拡大*/
.vk_button .vk_button_link-type-text:hover i {
  transform: scale(1.2);
  transition: all 0.3s ease-in-out;
}
.vk_button .vk_button_link i {
  transition: all 0.3s ease-in-out;
}
.vk_button .btn:hover i {
  transform: scale(1.2);
}
/*ボタン下線あり*/
.btn-underline .vk_button_link {
  padding: 0 0 10px 0 !important;
  border-bottom: 2px solid
}
.btn-underline:hover .vk_button_link {
  padding: 0 0 10px 0 !important;
}
.btn-underline .vk_button_link::after {
  display: none;
}
.btn-underline .vk_button_link_txt, .btn-underline i {
  transition: .6s;
}
.btn-underline:hover .vk_button_link_txt {
  transform: translate(5px, 0);
}
/*画像ホバーズームイン*/
figure.hover-move, .hover-move figure, .wp-block-cover.hover-move {
  overflow: visible;
}
.hover-move:hover img {
  transform: scale(1.1);
  transition: .6s;
}
.hover-move img {
  transition: .6s;
}
/* リンクエリア拡大 */
.stretched-linkitem {
  position: relative !important;
}
.stretched-linkitem a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}
.stretched-linkitem h2, h3, h4, h5, h6 {
  position: unset !important;
}
.stretched-linkitem a {
  text-decoration: none;
  color: #111;
}
.stretched-linkitem img {
  transition: .6s;
}
.stretched-linkitem:hover img {
  transform: scale(1.1);
  transition: .6s;
}
.stretched-linkitem a:hover {
  color: var(--vk-color-primary);
}
/*グリッドカラムカード hoverの透過を消す*/
.vk_gridcolcard_item a.vk_gridcolcard_item_container:hover {
  opacity: 1;
}
/*テーブルのフォントサイズリセット*/ :where(:not(.wp-block-table)) > table :is(th, td) {
  font-size: unset !important;
}
/*余白調整*/
.gap-none {
  gap: 0;
}
.gap-4em {
  gap: 4em;
}
.gap-3em {
  gap: 3em;
}
.gap-2em {
  gap: 2em;
}
.padding-none {
  padding: 0 !important;
}
/*カラム固定*/
.position-sticky-column {
  position: sticky;
  top: 100px;
  align-self: flex-start;
}
/*区切り線の太さ*/
.wp-block-separator {
  border-top: 1px solid;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Header ヘッダーまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ヘッダー固定 */
body {
  overflow-x: unset !important;
  display: flex;
  flex-direction: column;
}
.device-pc #site-header {
  position: sticky;
  top: 0;
}
.site-header {
  box-shadow: none;
}
.site-header .container {
  max-width: 100%;
  width: 100%;
  padding: 0;
  position: relative;
}
#site-header-container .site-header-logo {
  width: unset;
  margin: 20px 0 0 15px;
  align-self: center;
  padding-top: 0;
}
.logged-in.device-pc #site-header {
  top: 32px;
}
.header_nav_search_container {
  order: 3;
  position: unset !important;
  min-width: unset;
  margin-left: 0;
}
.head-btn {
  margin: 0 !important;
}
.head-btn .btn {
  min-width: 150px;
  width: 150px;
  height: 90px;
  border-radius: 0 !important;
  padding: .7em !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.head-btn .vk_button_link_caption {
  display: flex !important;
  flex-wrap: wrap;
  font-size: .9rem;
}
.head-btn .vk_button_link_caption i {
  width: 100%;
  margin: 0 0 5px 0;
}
.head-ad {
  position: absolute;
  right: 180px;
  top: .5em;
}
.head-subtext {
  position: absolute;
  left: 1.5em;
  top: .8em;
  font-size: .7rem;
  color: #999;
  margin: 0;
}
/* グローバルナビ */
.global-nav {
  margin-right: 20px;
  margin-top: 35px;
}
.global-nav-list > li .global-nav-name {
  font-size: 1rem !important;
}
.global-nav-list > li > a {
  transition: .3s;
  border-bottom: 3px solid transparent;
}
.global-nav-list > li > a:hover, .global-nav-list > li.current-menu-item > a {
  color: var(--vk-color-primary);
  border-bottom: 3px solid var(--vk-color-primary);
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Footer フッターまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* フッターウィジェット、フッターロゴ、コピーライト */
.site-footer {
  font-size: .9rem;
}
ul.sitemap-col2-list {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  grid-auto-rows: auto;
  list-style: none;
  gap: 0 3em;
}
.footer-sitemap p {
  margin: 0 0 10px 0;
}
.footer-sitemap ul {
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
}
.footer-sitemap li {
  padding: .2em 0 .2em 1em !important;
  margin: 0 !important;
  list-style: none;
  position: relative;
}
.footer-sitemap li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  left: 0;
  top: 14px;
}
.footer-sitemap a {
  color: #111;
  text-decoration: none;
}
.footer-sitemap a:hover {
  color: var(--vk-color-primary);
  text-decoration: none;
}
.site-footer-copyright {
  display: none;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Toppage トップページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */
/*グリッドカラム*/
.grid-link .wp-block-vk-blocks-gridcolcard-item {
  box-shadow: 0px 0px 15px -5px #777777;
}
.grid-link .wp-block-cover__inner-container {
  width: 100% !important;
}
/*お知らせ*/
ul.news-list {
  padding: 0;
  margin: 0;
}
ul.news-list li {
  padding: .8em 0;
  border-bottom: 1px solid #ddd;
  margin: 0;
  list-style: none;
  line-height: 1.4em;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Pageheader, Breadcrumb 下層ページヘッダー・パンくずリスト
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 下層ページのページヘッダー、パンクズ設定 */
.page-header .page-header-inner {
  background-color: #fff;
  width: auto;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
  padding: 1.5em 3em 1.5em 2em;
  letter-spacing: .2em;
}
.page-header .page-header-title {
  font-size: 2.4rem;
}
.page-header .page-header-title::first-letter {
  color: var(--vk-color-primary);
}
.page-header-subtext {
  color: var(--vk-color-primary);
}
.breadcrumb .container {
  max-width: 100%;
  padding: 0 2.8em;
}
.breadcrumb-list {
  margin: 0;
  padding: 15px 0 !important;
}
.breadcrumb-list a {
  color: var(--vk-color-primary);
  text-decoration: none;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Page 下層ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ページごと、パーツごとにコメントアウトで注釈を入れてください。 */
/*事業内容 > 左サイドリスト*/
ul.side-list {
  background-color: var(--vk-color-custom-3);
  border-radius: 10px;
  padding: 1.5em 2em 2.2em 2em;
  margin: 0;
}
ul.side-list li {
  list-style: none;
  position: relative;
  padding: .8em 0 .8em 1em;
  border-bottom: 1px solid #ddd;
  margin: 0;
}
ul.side-list li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  position: absolute;
  border-radius: 50px;
  left: 0;
  top: 1.5em;
  font-size: .8rem;
  color: var(--vk-color-primary);
}
ul.side-list li a {
  color: #333;
  text-decoration: none;
}
ul.side-list li a:hover {
  color: var(--vk-color-primary);
}
/*事業内容 > サービス項目*/
.service-item {
  position: relative;
  padding-top: 3em;
  border-top: 1px solid #ddd;
}
.service-item:before {
  content: "";
  display: inline-block;
  width: 100px;
  height: 5px;
  background-color: var(--vk-color-primary);
  position: absolute;
  left: 0;
  top: 0;
}
/*事業内容 > 検査項目の囲み*/
.check-item {
  position: relative;
}
.check-item:before, .check-item:after {
  content: '';
  width: 50px;
  height: 50px;
  position: absolute;
  display: inline-block;
}
.check-item:before {
  border-left: solid 1px var(--vk-color-primary);
  border-top: solid 1px var(--vk-color-primary);
  top: 0;
  left: 0;
}
.check-item:after {
  border-right: solid 1px var(--vk-color-primary);
  border-bottom: solid 1px var(--vk-color-primary);
  bottom: 0;
  right: 0;
}
/*事業内容 > 3カラムのリスト*/
.list-2col {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 0 15px;
  margin: 0 !important;
}
.list-3col {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 0 15px;
  margin: 0 !important;
}
.list-2col li, .list-3col li{
  list-style: disc;
  padding: 0;
  margin:.3em 0;
}
/*会社概要 > テーブル*/
.profile-table {}
.profile-table th {
  border: 1px solid #ddd;
  padding: 1em !important;
  background-color: #f9f9f9;
  vertical-align: top !important;
}
.profile-table td {
  border: 1px solid #ddd;
  padding: 1em !important;
}
/*事前登録*/
ul.list-bar {
  margin: 0 !important;
  padding: 0 !important;
}
.list-bar li {
  list-style: none;
  position: relative;
  padding: .8em 0 .8em 1em;
  border-bottom: 1px solid #ddd;
  margin: 0;
}
.list-bar li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  position: absolute;
  border-radius: 50px;
  left: 0;
  top: 1.5em;
  font-size: .8rem;
  color: var(--vk-color-primary);
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Archive　ブログ一覧ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Single　ブログ詳細ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  その他・追加機能
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */