@charset "utf-8";
/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description:
Author:アートフレア株式会社
Tags: 
Version: 0.1.2
*/
/*
 * WEBフォントの読み込み（@import url('https://fonts～'); ）はHeader.phpで行う
*/
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  General　全体的な設定
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* :root設定、bodyへの上書き、カラー変数設定など */ :root {
  --vk-color-text-link-hover: var(--vk-color-primary);
  --vk-size-radius: 0;
  /* 	--en: "Figtree", sans-serif; */
}
body {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
}
li a, p a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: .3s;
}
.site-body {
  letter-spacing: 0.1em;
  font-feature-settings: 'palt';
}
:where(:not(.wp-block-table))>table :is(th,td) {
    font-size: 1rem;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Common 汎用パーツ系
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 繰り返しボタン・見出し、余白設計など 汎用パーツへの上書き */
h2 {
  font-size: 2.4rem;
}
h3 {
  font-size: 1.8rem;
}
/*見出し逆順*/
.heading-reverse .vk_heading {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
}
.heading-reverse .vk_heading_title{
	width:100%;
}
.heading-reverse .vk_heading .vk_heading_subtext {
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 600;
}
/*中央寄せ*/
.is-style-vkp-heading-short_both_ends {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  border: 0;
}
/*見出し左右線*/
.is-style-vkp-heading-short_both_ends:before, .is-style-vkp-heading-short_both_ends:after {
  content: '';
  width: 30px;
  height: 2px;
  background-color: currentColor !important;
  /*Lightning見出しデザイン設定のCSS対策*/
  position: unset;
  border: unset;
  margin-left: unset;
  margin-right: unset;
  flex-grow: unset;
}
.is-style-vkp-heading-short_both_ends:before {
  margin-right: 14px;
}
.is-style-vkp-heading-short_both_ends:after {
  margin-left: 14px;
}
/*見出し・右側にボーダー*/
.heading-border-left {
  position: relative;
  padding-left: .8em;
  padding-bottom: 0;
}
.heading-border-left::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--vk-color-primary);
}
/*見出し・上部にボーダー*/
.heading-border-top {
  position: relative;
  padding-top: 1.5em;
  padding-bottom: 0;
  border-top: 1px solid #ddd;
}
.heading-border-top::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--vk-color-primary);
}
/*吹き出し*/
.heading-fukidashi {
  background-color: var(--vk-color-primary);
  position: relative;
  color: #fff;
  padding: .2em 1em;
  width: fit-content;
}
.heading-fukidashi::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid var(--vk-color-primary);
}
/*ボタン*/
.vk_button .vk_button_link.btn, .wp-block-button.is-style-outline .wp-block-button__link {
  border-width: 2px;
}
.vk_button .vk_button_link_caption, .editor-styles-wrapper .vk_button .vk_button_link_caption {
  font-weight: 500;
}
.vk_button .has-text-color.is-style-outline, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline {
  border-width: 2px;
}
.vk_button-color-custom a:hover, .editor-styles-wrapper .vk_button-color-custom a:hover {
  opacity: 1;
  background: none !important;
  border: 2px solid var(--vk-color-primary) !important;
  color: var(--vk-color-primary) !important;
  box-shadow: none;
}
.vk_button .has-text-color.is-style-outline:hover, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover {
  background-color: var(--vk-color-primary) !important;
}
.vk_button .vk_button_link i {
  transition: .3s;
}
.vk_button:hover .vk_button_link i {
  transform: scale(1.3);
  transition: .3s;
}
.vk_button .has-text-color.is-style-outline:hover.has-vk-color-light-color .vk_button_link_before, .vk_button .has-text-color.is-style-outline:hover.has-vk-color-light-color .vk_button_link_txt, .vk_button .has-text-color.is-style-outline:hover.has-vk-color-light-color .vk_button_link_after, .vk_button .has-text-color.is-style-outline:hover.has-vk-color-light-color .vk_button_link_subCaption, .vk_button .has-text-color.is-style-outline:hover.has-white-color .vk_button_link_before, .vk_button .has-text-color.is-style-outline:hover.has-white-color .vk_button_link_txt, .vk_button .has-text-color.is-style-outline:hover.has-white-color .vk_button_link_after, .vk_button .has-text-color.is-style-outline:hover.has-white-color .vk_button_link_subCaption, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover.has-vk-color-light-color .vk_button_link_before, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover.has-vk-color-light-color .vk_button_link_txt, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover.has-vk-color-light-color .vk_button_link_after, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover.has-vk-color-light-color .vk_button_link_subCaption, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover.has-white-color .vk_button_link_before, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover.has-white-color .vk_button_link_txt, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover.has-white-color .vk_button_link_after, .editor-styles-wrapper .vk_button .has-text-color.is-style-outline:hover.has-white-color .vk_button_link_subCaption {
  color: #fff !important;
}
.vk_button-color-custom .vk_button_link-type-text:hover, .editor-styles-wrapper .vk_button-color-custom .vk_button_link-type-text:hover {
  border: none !important;
}
/*画像ホバーズームイン*/
figure.hover-move, .hover-move figure, .wp-block-cover.hover-move {
  overflow: hidden;
}
.hover-move:hover img {
  transform: scale(1.07);
  transition: 1s;
}
.hover-move img {
  transition: 1s;
}

/* スクロール固定Column */
.position-sticky-wrap {
    overflow: visible !important;　/* 包含するouterに */
}
.device-pc .wp-block-column.position-sticky-column {
    position: sticky; /* PCにのみ反映。 */
    top: 130px;
    align-self: flex-start;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Header ヘッダーまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ヘッダー固定 */
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;
}
#site-header-container {
  max-width: unset;
/*   display: grid;
  grid-template-columns: 400px 1fr auto;
  grid-template-rows: repeat(2, auto);
  grid-column-gap: 0px;
  grid-row-gap: 0px; */
}
.header_nav_search_container{
	min-width:unset;
}
/* #site-header-container .site-header-logo {
  grid-area: 1 / 1 / 3 / 2;
}
#site-header-container .header_nav_search_container {
  grid-area: 2 / 3 / 3 / 4;
}
#site-header-container .header_subnavigation {
  grid-area: 1 / 2 / 2 / 4;
}
#site-header-container nav#global-nav {
  grid-area: 2 / 2 / 3 / 3;
} */

#site-header-container .site-header-logo {
    padding: 10px 0;
}
/* ヘッダーグローバルナビ */
.global-nav-list > li > a {
  transition: .3s;
  border-bottom: 8px solid transparent;
}
.global-nav-list > li .global-nav-name {
  font-size: 1rem;
}
.global-nav-list > li:before {
  display: none;
}
.global-nav-list > li > a:hover, .global-nav-list > li.current-menu-item > a {
  color: var(--vk-color-primary);
  border-bottom: 8px solid var(--vk-color-primary);
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Footer フッターまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* フッターウィジェット、フッターロゴ、コピーライト */


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Toppage トップページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

/*product*/
/* .top-product::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 50px;
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: var(--vk-color-custom-3);
} */
.products-slide {
  width: calc((100% + (100vw - 100%) / 2) - 10px);
}
.products-slide .wp-block-vk-blocks-slider-item {
  clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
}

/*サービス*/
.top-service {
  position: relative;
  top: -2em;
  background-color: #fff;
  padding-left: 2em;
  padding-right: 2em;
}
.top-service .wp-block-columns {
  gap: 3em;
}

/*CTA*/
.cta-btn {
  gap: 1.5em;
}

/*グリッドテキストボタン*/
.grid-btn-text-type .wp-block-vk-blocks-gridcolcard-item a:hover p{
  transform: translate(10px, 0);
  transition: .3s;
  color: var(--vk-color-primary);
}
.grid-btn-text-type .wp-block-vk-blocks-gridcolcard-item p{
  transition: .3s;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Pageheader, Breadcrumb 下層ページヘッダー・パンくずリスト
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 下層ページのページヘッダー、パンクズ設定 */
/*ページヘッダー*/
.page-header-title,
h1.page-header-title {
    font-size: 3rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.page-header-subtext {
  text-transform: uppercase;
  letter-spacing: .1em;
}
/*パンくず*/
#breadcrumb {
  font-size: 0.775rem;
  border: none;
  position: relative;
}
ol.breadcrumb-list {
  position: absolute;
  left: 0;
  top: -40px;
  background-color: #fff;
  padding: 1em 2em 1em 1.5em;
  z-index: 999;
}
ol.breadcrumb-list a {
  text-decoration: none;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Page 下層ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 規約関係など、幅狭ページ */
.terms {
  max-width: 900px;
  margin-inline: auto;
}
.terms h2 {
  font-size: 1.2rem;
}
.terms h3 {
  font-size: 1rem;
}
.contactform-table th {
  background: none;
}

/* 製品　index */
.wp-block-group.products__gridlist {
    gap: 1.5rem 1rem;
}
.wp-block-group.products__gridlist h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
	position:unset !important;
}

/* 製品 データ */
.wp-block-group.product__division {
    display: flex;
    justify-content: center;
}
.wp-block-group.product__division .wp-block-group {
    width: 100%;
}
.wp-block-group.product__division h3 {
    width: 100%;
}




/* 問い合わせフォーム用 */
table.contactform-table, .contactform-table th, .contactform-table td {
  border-left: none;
  border-right: none;
}
.device-pc .contactform-table th, .device-pc .contactform-table td {
  padding: 1em;
}
/*グリッドの連番・見出しに番号を付与*/
.numbered-grid .row {
  counter-reset: flow-counting;
}
.numbered-grid .row .vk_gridColumn_item .wp-block-heading::before {
  counter-increment: flow-counting;
  content: counter(flow-counting, decimal-leading-zero);
  position: absolute;
  color: var(--vk-color-custom-2);
  width: 5em;
  font-size: 8rem;
  line-height: 5em;
  line-height: 1em;
  top: -50px;
  opacity: .5;
  z-index: -1;
}
/*テキスト中央配置*/
.fit-content-text {
  width: fit-content;
  margin-inline: auto;
}
/*区切り線*/
.wp-block-separator {
  border-top: 1px solid;
}
/*背景にロゴマーク*/
.bg-logomark::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-image: url("../../../wp-content/uploads/logomark.png");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  top: 0;
  opacity: .5;
}
/*フロー横並び*/
.is-style-af-list-horizon {
  display: flex;
  list-style: none;
  padding-left: 0;
  flex-direction: row;
  flex-wrap: wrap;
}
.is-style-af-list-horizon li {
  margin-top: 0;
}
.is-style-af-list-horizon li:not(:last-child)::after {
  content: '/';
  padding: 0 0.5em;
}
.edit-post-visual-editor .is-style-af-list-horizon {
  gap: 0.7em;
}
.edit-post-visual-editor .is-style-af-list-horizon li:not(:last-child)::after {
  display: none;
}
.edit-post-visual-editor .is-style-af-list-horizon li {
  outline: dashed 1px #333;
  border-radius: 1px;
  flex-grow: 1;
  text-align: center;
}
.is-style-af-heading-reverse .vk_heading {
  display: flex;
  flex-direction: column-reverse;
}
.is-style-af-heading-reverse .vk_heading_title {
  width: 100%;
  margin-bottom: 0;
}
.is-style-af-heading-reverse .vk_heading_subtext {
  margin-bottom: var(--vk-margin-headding-bottom);
}
.is-style-vk-blocks-steps-vertical {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
}
.is-style-vk-blocks-steps-vertical.vk_step .block-editor-block-list__block {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  margin: 0;
}
.is-style-vk-blocks-steps-vertical.vk_step .vk_step_item_content {
  display: block;
  width: 100%;
  order: 2;
}
.is-style-vk-blocks-steps-vertical.vk_step .vk_step_item .vk_step_item_dot {
  position: unset;
  margin: 0 auto;
  order: 1;
  z-index: 2;
}
.is-style-vk-blocks-steps-vertical.vk_step .vk_step_item .vk_step_item_dot.vk_step_item_style-outlined {
  background: #fff;
}
.is-style-vk-blocks-steps-vertical .vk_step_item_lineStyle-default::before {
  width: 100%;
  height: 3px;
  top: 23px;
  left: calc(50% + 23px);
  z-index: 1;
}
.is-style-vk-blocks-steps-vertical .block-editor-inner-blocks {
  width: 100%;
}
.is-style-vk-blocks-steps-vertical > .block-editor-inner-blocks > .block-editor-block-list__layout {
  display: flex !important;
}
.is-style-vk-blocks-steps-vertical .wp-block-vk-blocks-step-item.vk_step_item {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
}

/*アコーディオン*/
.vk_accordion-trigger .vk_accordion-toggle-open {
  border: medium none !important;
}
.vk_accordion-trigger {
  background-color: var(--vk-color-primary);
  border: 1px solid  var(--vk-color-primary);
  color: #fff;
}
.vk_accordion-trigger .vk_accordion-toggle-close::after, .vk_accordion-trigger .vk_accordion-toggle-open::after {
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
}
.vk_accordion-trigger p {
  font-size: 1.2rem !important;
}
.vk_accordion-target {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/*スペックのテーブル*/
.single-table th{
  background-color: #efefef !important;
}


/*会社案内girdリンクアイテム*/
.link-box .wp-block-cover {
  padding: 0;
}
.top-service-button .vk_button_link:hover {
  color: #fff !important;
  background-color: var(--vk-color-primary) !important;
}

/* タイムライン2カラム */
.history {
  --time-width: 8rem;
}
.history.vk_timeline .vk_timeline_item {
  min-height: 50px;
  padding-left: calc(var(--time-width) + 40px);
}
.history.vk_timeline .vk_timeline_item_lineStyle-default::before {
  left: var(--time-width);
  top: 0px;
}
.history.vk_timeline .vk_timeline_item_style {
  left: calc(var(--time-width) - 6px);
  top: 0;
  background: #fff;
}
.history.vk_timeline .vk_timeline_item_caption {
  position: absolute;
  left: 0;
  top: -0.5em;
  width: calc(var(--time-width) - 20px);
  font-variant: tabular-nums;
  font-feature-settings: "tnum";
  font-size: 1rem;
  font-weight: bold;
  opacity: 0.7;
    font-size: 2rem;
    font-weight: normal;
    top: -4px;
    line-height: 1;
}
.history.vk_timeline .vk_timeline_item_content {
  transform: translateY(-0.5em);
}
.vk_timeline .vk_timeline_item_content>*:last-child {
    margin-bottom: 4rem;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Archive　ブログ一覧ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */
/*投稿リスト*/
.postListText {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.vk_posts .postListText_title a {
  text-decoration: none;
	font-size:1rem;
}
.postListText_date {
  min-width: 95px;
}
.postListText_singleTermLabel {
  min-width: 100px;
}
.postListText_singleTermLabel_inner {
  border-radius: 0;
}
/*投稿ページのタイトル*/
.entry-header .entry-title, .archive-header-title {
  margin-bottom: var(--vk-margin-meta);
  font-size: 2.4rem;
  position: relative;
  z-index: 0;
  padding: .8em 0;
}
.entry-header .entry-title::before, .archive-header-title::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 5px;
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--vk-color-primary);
}
.entry-header .entry-title::after, .archive-header-title::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 5px;
  position: absolute;
  left: 30px;
  top: 0;
  background-color: var(--vk-color-custom-2);
}
/*エントリーmeta*/
.entry-meta {
  color: #999;
}



/* リンクエリア拡張 */
.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 figure{
    overflow:hidden;
}
.stretched-linkitem img {
    transition:.3s;
}
.stretched-linkitem:hover img {
    transform:scale(1.1);
    filter:brightness(0.8);
}