@charset "utf-8";
/*
Theme Name: Lightning Child
Template: lightning
Author:アートフレア株式会社
Version: 1.2
*/
/* 標準データ最終更新日：2026/01/29  */


/*
 * WEBフォントの読み込み（@import url('https://fonts～'); ）はHeader.phpで行う
*/
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  general　全体的な設定
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* :root設定、@import、フォント読み込み、bodyへの上書き、カラー変数設定など */

a:not([class]) {
    text-decoration: underline;
	-webkit-text-decoration-style: solid;
	text-decoration-style: solid;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}
a:not([class]):hover {
    color: var(--vk-color-text-link-hover);
}

:root{
	--en:var(--wp--preset--font-family--lato), "Lato", sans-serif;
}
.en{
	font-family:var(--en);
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  common 汎用パーツ系
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

	/* 繰り返しボタン・見出し、余白設計など */
/* VK　ボタン */
.vk_button .vk_button_link {
    border-radius: 99px;
    min-width: 220px;
    transition: .3s;
}
.vk_button_link .vk_button_link_caption {
    font-weight: bold;
}
.vk_button .vk_button_link:hover {
    opacity: 1;
    box-shadow: none;
}
a.vk_button_link:not(.vk_button_link-type-text):hover {
    background: var(--vk-color-primary-dark) !important;
}
a.vk_button_link:not(.vk_button_link-type-text):hover * {
    color: #fff !important;
}
a.vk_button_link.has-vk-color-primary-background-color:hover {
    background: #fff !important;
}

a.vk_button_link.has-vk-color-primary-background-color:hover *{
    color: var(--vk-color-primary) !important;
}

a.vk_button_link.vk_button_link-type-text .vk_button_link_txt,
a.vk_button_link.vk_button_link-type-text:hover .vk_button_link_txt {
    text-decoration: underline;
    text-decoration-style: solid !important;
    text-underline-offset: .5em;
}
a.vk_button_link.has-text-color.vk_button_link-type-text .vk_button_link_txt {
    text-decoration-color: transparent;
}
a.vk_button_link.has-text-color.vk_button_link-type-text:hover .vk_button_link_txt {
    text-decoration-color:unset:
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  header ヘッダーまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

	/* ヘッダーウィジェット・グローバルナビ */

/* ヘッダー固定 */
body  {
	overflow-x: unset !important;
    display: flex;
    flex-direction: column;
}
.device-pc #site-header {
    position: sticky;
    top: 0;
}
.logged-in #site-header {
    top: 32px;
}

/* ヘッダースタイリング */
.site-header-logo {
    padding: 0;
}

div#site-header-container {
    max-width: unset !important;
    display: flex;
    align-items: stretch;
}



/* グローバルナビ */
ul#menu-headernavigation {
    height: 100%;
}
.device-pc .global-nav-list>li>a {
    display: flex;
    flex-direction: column-reverse;
	gap:10px;
}
.global-nav-list>li .global-nav-description {
    font-size: 20px;
    line-height: 1;
    opacity: 1;
    font-family: var(--en);
	font-weight:bold;
    color: var(--vk-color-primary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.global-nav-list>li .global-nav-name {
    font-size: 14px;
    padding-top.5em;
    display: block;
    width: 100%;
    color: #333;
    font-weight: normal;
}
.global-nav-list>li>a {
	transition: .3s;
	border-bottom: 5px solid transparent;
}
.global-nav-list>li.current-menu-item>a {
    border-bottom-color: var(--vk-color-primary);
}
.global-nav-list>li>a:hover {
    opacity:0.7;
}
.vk-menu-acc ul.sub-menu li a {
    font-size: 1rem;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  footer フッターまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.site-footer {
    font-size: 1rem;
}
.container.site-footer-content {
    margin: 0;
    padding: 0;
    max-width: unset;
}


ul#footer-nav {
    columns: 4;
    list-style: none;
    padding: 0;
	    column-width: 220px;
}
#footer-nav>li {
    margin-top: 0;
}
ul#footer-nav a {
    font-size: 14px;
    text-decoration: underline;
    transition: .3s;
    text-decoration-color: transparent;
}
ul#footer-nav a:hover {
    text-decoration-color: #fff;
    color: #fff;
    opacity: 0.8;
}
ul#footer-nav ul{
    list-style:none;
    padding-left: .5em;
}
ul#footer-nav>li>a {
	padding-bottom:5px;
    border-bottom: solid 1px;
    display: block;
    text-decoration: none;
}
#footer-nav li {
    break-inside: avoid;
}
ul#footer-nav a {
    font-size: 14px;
    text-decoration: underline;
    transition: .3s;
    text-decoration-color: transparent;
}
ul#footer-nav a:hover {
    text-decoration-color: #fff;
    color: #fff;
    opacity: 0.8;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  pageheader,breadcrumb 下層ページヘッダー
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

	/* 下層ページのページヘッダー、パンクズ設定 */



/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Toppage トップページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

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

/* top > product */

#top-product-images figure {
    position: relative;
	width: fit-content;
}

/* 横線オーバーレイエフェクト */
/* #top-product-images figure::after {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    z-index: 100;
    background-image: repeating-linear-gradient(
    0deg,
    rgb(0 0 0 / 5%) 0 2px,
    rgb(0 0 0 / 40%) 2px 3px  );
} */

#top-product-images figure img{
	aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
}
.top-product-nav {
    z-index: 2;
    position: relative;
}
.top-product-nav a.wp-block-button__link {
    text-align: left;
    font-size: 1rem;
    font-weight: bold;
    border-radius: 0;
    background: linear-gradient(45deg, #2cbedc, #20529f);
	position:relative;
}
/* .top-product-nav a.wp-block-button__link em {
    font-style: normal;
    font-family: var(--en);
    font-weight: bold;
    display: inline-block;
    background: #fff;
    padding: .3em;
    border-radius: 99px;
    color: var(--vk-color-primary);
    font-size: 18px;
    margin-right: 15px;
} */
.top-product-nav a.wp-block-button__link em {
    font-family: var(--en);
    font-style: normal;
    font-weight: bold;
    display: block;
    text-transform: uppercase;
    font-size: 2rem;
    letter-spacing: 0.08em;
}
.top-product-nav a.wp-block-button__link::after {
    font-family:  "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f105";
    position: absolute;
    top: 50%;
    right: 30px;
    transform:translateY(-50%);
    transition:.3s;
}
.top-product-nav a.wp-block-button__link:hover::after {
    transform:translate(10px,-50%);
}
.top-product-nav a.wp-block-button__link:hover{
    filter: grayscale(0.9);
}


/* CTA */
.cta-btn-tel a.vk_button_link, .cta-btn-form a.vk_button_link {
    height: 90px;
    display: grid;
    align-content: center;
    box-shadow: 0 5px 15px rgb(0 0 0 / 20%);
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  page 下層ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

	/* ページごと、パーツごとにコメントアウトで注釈を入れてください。 */
/* スクロール固定Column */
.position-sticky-wrap,
.wp-block-vk-blocks-outer{
    overflow: visible !important;　/* 包含するouterに */
}
.device-pc .wp-block-column.position-sticky-column {
    position: sticky; /* PCにのみ反映。 */
    top: 130px;
    align-self: flex-start;
}

/* Table */
:where(:not(.wp-block-table))>table :is(th,td) {
    font-size: 1rem;
    padding: 1rem 0;
}
table dl {
    margin: 0;
}
table dt {
    margin-bottom: 0;
}
table dt:not(:first-child) {
    margin-top: 0.8em;
}
table dd {
    padding-left: 1em;
}


/* 拠点一覧 */
.colations-gridlist .wp-block-columns {
    margin: 0;
}
.colations-gridlist h3 {
    font-size: 1.2rem;
    margin-bottom: 0.5em;
}
.colations-gridlist p {
    margin-bottom: .5em;
}

/* 沿革 */
/* タイムライン2カラム */
@media (min-width: 992px) {
.timeline-2column {
    --time-width:200px;
}
.timeline-2column.vk_timeline .vk_timeline_item {
    padding-left: calc( var(--time-width) + 20px);
}
.timeline-2column.vk_timeline .vk_timeline_item_lineStyle-default::before {
    left: var(--time-width);
    top: 30px;
}
.timeline-2column.vk_timeline .vk_timeline_item_style {
    left: calc( var(--time-width) - 5px);
    top: 12px;
}
.timeline-2column.vk_timeline .vk_timeline_item_caption {
    position: absolute;
    left: 0;
/*     top: 5px; */
    width: calc( var(--time-width) - 20px);
    text-align: right;
}
.vk_timeline_item_content {
    padding-top: 5px;
}
}
.timeline-2column.vk_timeline .vk_timeline_item_caption {
    color: var(--vk-color-primary);
    font-family: var(--en);
    font-weight: bold;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    margin-top: 0.1em;
}


/* CEO メッセージ */
.wp-block-group.ceomassage {
    max-width: 900px;
    margin: auto;
}
.wp-block-group.ceomassage p {
    font-size: 18px;
    line-height: 2.5;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Archive / Single ブログ一覧ページ、ブログ詳細ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

	/* パーツごとにコメントアウトで注釈を入れてください。 */
/* テキスト１カラム　記事リスト */
.vk_post.postListText {
    margin-left: 0;
    margin-right: 0;
    border-bottom-style: solid;
	display: flex;
    align-items: baseline;
    flex-wrap: wrap;
}
a.postListText_singleTermLabel_inner {
    border-radius: 999px;
    font-size: 14px;
    padding: 3px 0;
}
.postListText_title a {
    text-decoration: none;
    transition: .3s;
}
p.postListText_title {
    font-size: 1rem;
}
.postListText_title a:hover {
    color: #777;
}



/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  CPT「products／商品」
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.single-products h1.entry-title {
    background: var(--vk-color-primary);
    padding: .3em;
    color: #fff;
    font-size: 1.5rem;
}


/* サイドナビ */
.product-sidebar-box {
    background: #f2f2f2;
}
.product-sidebar-title {
    font-size: 1.2rem;
    padding: 0.7rem;
    background: #ddd;
    margin-block-end: 0 !important;
}
ul.product-sidebar-nav,
ul.product-sidebar-nav ul {
    list-style: none;
    padding: 0;
}
ul.product-sidebar-nav a {
    display: block;
}

ul.product-sidebar-nav li {
    margin: 0;
    padding: .5rem .8rem;
}
ul.product-sidebar-nav>li:not(:last-child) {
    border-bottom: solid 1px #aaa;
}
ul.product-sidebar-nav>li>a {
    text-decoration: none;
    color: var(--vk-color-primary);
    font-weight: bold;
}
ul.product-sidebar-nav li li {
    color: #777;
    font-weight: bold;
	font-size: 14px;
}
ul.product-sidebar-nav ul ul li {
    list-style-type: square;
    margin-left: 1.9em;
    padding: 0.3rem;
}
ul.product-sidebar-nav ul ul li a {
    text-decoration: none;
	font-weight:normal;
}
