@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: 'Lato', "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  letter-spacing: 0.2px;
}
.fw-bold {
  font-weight: bold;
}
a:not([class]):hover {
  color: var(--vk-color-primary);
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Common 汎用パーツ系
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 繰り返しボタン・見出し、余白設計など 汎用パーツへの上書き */
h1, h2, h3, h4, h5, h6, .page-header-title {
  font-family: "Zen Maru Gothic", sans-serif !important;
  letter-spacing: 0.2px;
  text-transform: uppercase;
}
/*見出しサイズ*/
h2 {
  font-size: 2.2rem;
}
/*見出し>逆順テキストの調整*/
.is-style-af-heading-reverse .vk_heading_subtext {
  line-height: 1.2em;
  margin-bottom: 0;
  font-weight: 600;
  text-transform: uppercase;
}
/*見出し下線*/
.heading-under-bar {
  position: relative;
  padding-bottom: .6em;
}
.heading-under-bar::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 6px;
  background-color: var(--vk-color-primary);
  border-radius: 10px;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 0;
}
/*ボタン*/
.vk_button .vk_button_link.btn, .editor-styles-wrapper .vk_button .vk_button_link.btn {
  padding: .8em 3em;
  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 .has-text-color.is-style-outline, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline {
  border: 3px solid currentColor;
}
.vk_button .has-text-color.is-style-outline:hover, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover {
  border: 3px solid currentColor;
}
/*ボタンホバー*/
.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);
}
/*テーブルのフォントサイズリセット*/ :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;
}
/*横幅コンテンツに応じて中央揃え*/
.fit-content {
  width: fit-content;
  margin-inline: auto;
}
/*画像白反転*/
.img-white img {
  filter: contrast(0) brightness(3);
}
/*区切り線の太さ*/
.wp-block-separator {
  border-top: 1px solid;
}
/*ページ余白*/
  .site-body {
    padding-bottom:0;
  }
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Header ヘッダーまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.site-header {
  padding: 1em !important;
}
.site-header .container {
  max-width: 100%;
  width: 100%;
  padding: 0;
}
/* ヘッダー固定 */
body {
  overflow-x: unset !important;
  display: flex;
  flex-direction: column;
}
.device-pc #site-header {
  position: sticky;
  top: 0;
}
.logged-in.device-pc #site-header {
  top: 32px;
}
/* HOMEだけFVに透過にする */
.home header#site-header {
  position: fixed;
  transition: .5s;
  background-color: #fff;
}
.home:not(.scrolled) header#site-header {
  background-color: transparent;
  box-shadow: none;
}
body:not(.home) .site-header {
  background-color: #fff;
}
/* グローバルナビ */
.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);
}
/*ヘッダーお問い合わせ*/
.head-contact {
  gap: 1em;
}
.head-contact .btn {
  padding-left: 1.5em !important;
  padding-right: 1.5em !important;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Footer フッターまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* フッターウィジェット、フッターロゴ、コピーライト */
/*ブランクリンク*/
.link-blank {
  display: flex;
  gap: 0.5em;
  align-items: center;
}
.link-blank::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  background-image: url("../../../wp-content/uploads/blank_icon.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}
/*代理店お問い合わせボタン*/
.ft-contact .btn {
  padding: .5em 1.5em !important;
}
.ft-contact .btn .vk_button_link_txt {
  text-align: left;
}
/* フッターサイトマップ */
.foot-sitemap {
  margin: 0;
  padding: 0;
}
.foot-sitemap p {
  font-size: .9rem;
  line-height: 2em;
  margin: 0;
}
.foot-sitemap ul {
  margin: 0 !important;
  padding: 0 !important;
}
.foot-sitemap li {
  display: flex;
  align-items: center;
  list-style: none;
  font-size: .8rem;
  line-height: 1.4em;
  margin: 5px 0 !important;
  gap: 0.5em;
}
.foot-sitemap li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 1px;
  background-color: currentColor;
}
.foot-sitemap a {
  text-decoration: none;
}
.foot-sitemap a:hover {
  text-decoration: underline;
}
.site-footer-copyright {
  display: none;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Toppage トップページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/*FV*/
.fv-copy {
  font-weight: 600;
}
.fv-copy mark {
  background-color: var(--vk-color-custom-2);
  color: #fff;
}
.fv-copy strong {
  background: linear-gradient(transparent 40%, #ff6 40%);
}
/*導入企業 ループアニメーション*/
.roop-logo .is-layout-flex {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
}
/* 各ロゴの枠（figureタグ）の設定 */
.roop-logo .wp-block-image {
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 160px;
}
.roop-logo img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
}
.roop-right, .roop-left {
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  margin-bottom: 1em;
}
/* アニメーションさせる中身（figureタグ）の動き */
.roop-right figure, .roop-left figure {
  display: inline-block;
  flex-shrink: 0;
  margin: 0;
  padding: 0 10px;
}
.roop-right figure {
  animation: infinity-loop-right 20s linear infinite;
}
.roop-left figure {
  animation: infinity-loop-left 20s linear infinite;
}
/* 右から左へ流れるアニメーションの定義 */
@keyframes infinity-loop-right {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes infinity-loop-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
/*サービス一覧*/
.service-item {
  padding-bottom: 3em;
}
.service-item .vk_gridColumn_item {
  display: flex;
  flex-direction: column;
}
.service-item .wp-block-group {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.service-item .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  flex-grow: 1;
}
.service-item .text-area {
  flex-grow: 1;
  margin-bottom: 2em;
}
.service-item .vk_button {
  margin-top: auto;
}
.service-fig01, .service-fig02, .service-fig03 {
  padding: .5em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center top;
}
.service-fig01 {
  background-image: url("../../../wp-content/uploads/bubble01.png");
}
.service-fig02 {
  background-image: url("../../../wp-content/uploads/bubble02.png");
}
.service-fig03 {
  background-image: url("../../../wp-content/uploads/bubble03.png");
}
/*背景テキスト*/
.title .hidden-text {
  top: -40px;
}
.hidden-text {
  position: absolute;
  left: 0;
  right: 0;
  top: 40px;
  margin: 0 auto;
  font-size: 8em;
  line-height: 1em;
  text-align: center;
  opacity: .2;
  z-index: -1;
  font-weight: 700;
}
/*サービス案内*/
.number {
  background-color: #fff;
  border-radius: 50px;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: -30px;
  display: inline-flex;
  justify-content: center;
  width: fit-content;
  padding: .2em .3em;
  font-weight: 600;
  font-size: 3rem;
  line-height: 1em;
}
/*CTA*/
.cta-contact {
  gap: 2em;
}
.cta .is-style-outline:hover {
  background-color: var(--vk-color-custom-1) !important;
  border-color: var(--vk-color-custom-1) !important;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Pageheader, Breadcrumb 下層ページヘッダー・パンくずリスト
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 下層ページのページヘッダー、パンクズ設定 */
.page-header-title, h1.page-header-title {
  font-size: 2.8rem;
}
.page-header-subtext {
  font-size: 1.1rem;
  color: var(--vk-color-primary);
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.breadcrumb {
  font-size: 12px;
  border-top: 1px solid #eee;
  padding: 1em 0;
  margin-top: 5em;
}
.breadcrumb a{
	text-decoration: none;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Page 下層ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/*サービス案内*/
.pickup-text {
  font-size: 8rem;
  color: var(--vk-color-primary);
  opacity: 0.1;
  text-transform: uppercase;
  position: absolute;
  left: 0;
  font-weight: 800;
}
/*機能一覧*/
.function-item .wp-block-vk-blocks-gridcolcard-item {
  margin-bottom: 1.5em;
}
.function-item .vk_gridcolcard_item_body h3 {
  background-color: var(--vk-color-custom-1);
  color: #fff !important;
  min-height: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px;
  margin: 0 0 15px 0;
  text-align: center;
  line-height: 1em !important;
}
.function-item .vk_gridcolcard_item_body h3 span {
  display: block;
}
.function-item .vk_gridcolcard_item_body .wp-block-group {
  padding: 0 1em 1em 1em;
}
/*導入の流れ*/
.flow-item .vk_gridColumn_item_inner{
  border:3px solid var(--vk-color-primary);
  border-radius: 10px;
}
.flow-item .step{
  width: fit-content !important;
  margin: 0 auto;
}
/*よくあるご質問*/
.is-style-vk_faq-bgfill-circle .vk_faq_title::before, .is-style-vk_faq-bgfill-square .vk_faq_title::before, .is-style-vk_faq-bgfill-rounded .vk_faq_title::before {
  background-color: var(--vk-color-primary) !important;
}
.is-style-vk_faq-bgfill-circle .vk_faq_content::before, .is-style-vk_faq-bgfill-square .vk_faq_content::before, .is-style-vk_faq-bgfill-rounded .vk_faq_content::before {
   background-color: var(--vk-color-custom-2) !important;
}
/*料金について > 流れ*/
.step-item{
  position: relative;
}
.step-item::before{
  content: "";
  display: inline-block;
  width: 100%;
  height: 3px;
  background-color: #ccc;
  position: absolute;
  left: 0;
  top:60px;
}
.step-item .wp-block-column{
  position: relative;
}
.step-item .wp-block-column::before{
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50px;
  background-color: var(--vk-color-primary);
  position: absolute;
  left: 0;
  top: 52px;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Archive　ブログ一覧ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */
/*投稿リスト*/
.vk_post {
	padding: 10px !important;
}
.card-body {
  padding: 10px;
}
.vk_post .vk_post_title {
  font-size: 1rem;
}
/*投稿サイドメニュー*/
.sub-section {
  padding-bottom: 2em !important;
}
.sub-section .sub-section-title, .site-body-bottom .sub-section-title {
  padding: .6em .8em;
  background-color: var(--vk-color-custom-3);
  color: #fff;
  font-size: 1em;
}
.veu_postList .postList_title {
  font-size: .9rem;
}
.veu_postList .postList a:hover {
  text-decoration: none;
}
.sub-section .widget_archive > ul li a, .sub-section .widget_nav_menu > ul li a {
  border: none;
  padding: 1em 0;
  color: unset;
}
.sub-section .widget_archive > ul li:not(:last-child), .sub-section .widget_nav_menu > ul li:not(:last-child) {
  border-bottom: 1px solid #eee;
}
.localNavi {
  border-bottom: 1px solid #eee;
}
.localNavi > li {
  position: relative;
  padding-left: 20px;
}
.localNavi li::before {
  position: absolute;
  content: '\f0da';
  font-family: 'Font Awesome 5 Free';
  font-weight: 600;
  padding-right: .2em;
  left: 0;
  top: 18px;
  font-size: .9rem;
  color: #999;
}
.localNavi li a:hover {
  text-decoration: none !important;
}
.sub-section .widget_archive > ul li a:hover, .sub-section .widget_nav_menu > ul li a:hover {
  text-decoration: underline;
  background: none;
}
.sub-section .widget_nav_menu ul.children {
  border-top: 1px solid #eee;
}
.sub-section .widget_nav_menu ul.children a {
  padding-left: 1em;
  position: relative;
}
.sub-section .widget_nav_menu ul.children a::before {
  position: absolute;
  content: '\f0da';
  font-family: 'Font Awesome 5 Free';
  font-weight: 600;
  padding-right: .2em;
  left: 0;
  top: 18px;
  font-size: .9rem;
  color: #999;
}
.sub-section ul li.current-cat a {
  background-color: transparent !important;
}
.entry-header .entry-title, .archive-header-title {
  margin-bottom:.8em;
  font-size: 2rem;
  position: relative;
  z-index: 0;
  padding: 0 0 .8em 0;
  border-bottom: 1px solid #111;
}
.entry-meta-item {
  color: #999;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  お問い合わせ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.scroll-box {
  padding: 0 2em;
  height: 300px;
  overflow: auto;
}
.agree-box .smf-checkbox-control{
    text-align: center;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Single　ブログ詳細ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 導入事例 */
.single-cases h2.wp-block-heading{
font-size: 1.6rem!important;
}


/* パーツごとにコメントアウトで注釈を入れてください。 */
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  その他・追加機能
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */