@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設定、bodyへの上書き、カラー変数設定など */

:root {
    /*--vk-color-text-body:#4b4b4b;*/
    --bxshadow:0px 5px 10px rgba(0, 0, 0, 0.1);
    --min:"Noto Serif JP", serif;
	--kaku:"Zen Kaku Gothic New", sans-serif;
	--blue: #1670c9;
    --blue-deep: #0d4f92;
    --green: #84bd2f;
	--line: #e3ebf2;
    --bg: #eef5fb;
    --grad: linear-gradient(118deg, var(--blue-deep) 0%, var(--blue) 48%, var(--green) 100%);
}

body,p,a,li,th,td,span {
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.min {
	font-family: var(--min);
}
.kaku {
	font-family: var(--kaku);
}
.fw-medium {
	font-weight:500;
}
.gap-4 {
	gap:1.5rem;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Common 汎用パーツ系
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 繰り返しボタン・見出し、余白設計など 汎用パーツへの上書き */


/*ボタンのリセット（下線消しとか）*/
.vk_button .vk_button_link.btn:hover {box-shadow:none;}
.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{
  text-decoration:none!important;
}

/*テーブル*/
.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table>table tr td {
	border-color:#999;
	font-size:1rem;
}
.wp-block-flexible-table-block-table.is-style-border-rows>table {
	border-top:none;
}
.wp-block-flexible-table-block-table.is-style-border-rows>table tr th,
.wp-block-flexible-table-block-table.is-style-border-rows>table tr td {	
    padding:1rem;
}


/*背景白すりガラス風*/
.bgw {
	background:rgba(255,255,255,.7);
	backdrop-filter: blur(10px);
}

/*CTAボタン*/
.cta-btn .vk_button_link.btn {
	padding:1rem;
}


.gap-5 {
	gap:3rem;
}

/* Mediaとテキスト */
.wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content {
    padding-right: 0;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding-left: 0;
}

/*HR*/
.wp-block-separator {
	border-width:1px!important;
}


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  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;
}

/* グローバルナビ */
.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);
}

.site-header-container.container {
	min-width:100%;
}
.site-header {
	box-shadow:none;
}

/*ヘッダーレイアウト*/
.site-header-container.container {
	max-width:100%;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: repeat(2, auto);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
.site-header-logo {
	grid-area: 1 / 1 / 3 / 2;
}
.header_nav_search_container {
	grid-area: 1 / 2 / 2 / 3;
}
.global-nav {
	grid-area: 2 / 2 / 3 / 3;
	margin-bottom:10px;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Footer フッターまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* フッターウィジェット、フッターロゴ、コピーライト */
.fnav {
	list-style:none;
}
.fnav li {
	font-size:1rem;
}
.fnav li a {
	text-decoration:none;
	color:#fff;
}
.fnav li a:hover {
	text-decoration:underline;
}

.site-footer-content > div.row div:last-child {
	align-self:flex-end;
}
.privacy-mark img {
	width:80px;
}

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

/*teaser*/
.main-teaser {
	position:relative;
}
.main-teaser .teaser-inr {
	position:absolute;
	left:5%;
	top:50%;
	transform:translateY(-50%);
}
.main-teaser figure {
	margin-left:25%;
	width:calc(100% - 25%);
}
.main-teaser figure img {
	width:100%;
	aspect-ratio:16/9;
}

/*service背景*/
.bgblock-left {
	position:relatvie;
}
.bgblock-left:before {
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:70%;
	height:100%;
	background:#e5f6fc;
}
.bgtext-service {
	font-size:clamp(5rem, 1.591rem + 17.05vw, 14.375rem);
	position:absolute;
	right:15%;
	bottom:0;
	z-index:-1;
	line-height:0;
}
.bgtext-news {
	font-size:clamp(5rem, 1.591rem + 17.05vw, 14.375rem);
	position:absolute;
	right:5%;
	bottom:-1rem;
	z-index:-1;
	line-height:0;
}

/*事業内容　リスト */
.service-list {
	background:#fff;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 2px 4px rgba(13, 79, 146, .04);
    transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s;
	position:relative;
}
.service-list:hover {
	    box-shadow: 0 24px 50px rgba(13, 79, 146, .15);
}

.service-list .wp-block-media-text__media {
	overflow:hidden;
	position:relative;
}
.service-list .wp-block-media-text__media:before {
	content:"";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, rgba(13, 79, 146, .42) 0%, rgba(22, 112, 201, .16) 50%, rgba(132, 189, 47, .32) 100%);
	width:100%;
	height:100%;
	z-index:1;
}
.service-list .wp-block-media-text__media img {
	transition: transform .6s ease;
}
.service-list:hover .wp-block-media-text__media img {
	transform: scale(1.05);
}

.service-list .data-code {
    position: absolute;
    left: 1.5rem;
    bottom: 1rem;
    z-index: 2;
    font-weight: 900;
    font-size: 74px;
    color: rgba(255, 255, 255, .9);
    letter-spacing: -.03em;
    line-height: 1;
    text-shadow: 0 1px 10px rgba(0, 0, 0, .5);
}
.service-list .data-no {
	position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    z-index: 2;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .3em;
    border: 1.5px solid rgba(255, 255, 255, .85);
    border-radius: 30px;
    padding: 4px 14px;
    background: rgba(13, 79, 146, .22);
    backdrop-filter: blur(2px);
	text-align:center;
}

/*画像右側の場合*/
.service-list.has-media-on-the-right .data-code {
	left:unset;
	right:1.5rem;
}
.service-list.has-media-on-the-right .data-no {
	left:unset;
	right:1.5rem;
}

/*テキスト側*/
.service-list .wp-block-media-text__content {
	padding:2rem!important;
}
.service-list .is-style-title-leftblock:before {
	background:var(--wp--preset--color--vk-color-custom-1) !important;
}
.service-list .vk_button_link_caption {
	display: inline-flex;
    align-items: center;
    gap: 8px;	
    align-self: flex-start;	
}
.service-list .vk_button_link_txt {
	font-weight:700;	
    color: var(--blue-deep);
}
.service-list .vk_button_link_after{
    color: var(--blue-deep);
    transform: translateX(4px);
	width: 32px;
    height: 32px;
	line-height:32px;
    border-radius: 50%;
    background: var(--bg);
    transition: background .3s, transform .3s;
	margin-left:0;
	font-size:.8em;
}
.service-list .vk_button_link:after {
	content:"";
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	z-index:10;
}
.service-list .vk_button_link:hover .vk_button_link_after {	
	background: var(--grad);	
    transform: translateX(8px);
    color:#fff;
}

/*下層ページでの余白*/
.page-id-5271 .service-list .wp-block-media-text__content {
	padding:3rem!important;
}


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Pageheader, Breadcrumb 下層ページヘッダー・パンくずリスト
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 下層ページのページヘッダー、パンクズ設定 */


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

.bgtext {
	font-size:clamp(5rem, 1.591rem + 17.05vw, 14.375rem);
	position:absolute;
	right:0;
	bottom:5%;
	z-index:-1;
	line-height:0;
}

/*会社情報 ＞沿革*/
.vk_timeline .vk_timeline_item_caption {
	color:var(--vk-color-primary);
	margin-bottom:1rem;
	font-weight:700;
	font-size:1.5rem;
}
.vk_timeline .vk_timeline_item_style {
	top:12px;
}
.vk_timeline_item_lineStyle-default::before {
	top:30px;
}

/*採用情報*/
.tag {
	display:inline-block;
	background:#f2f2f2;
	padding:.5em 1em;
}

.is-style-af-timeline-2col {
	--time-width: 5rem;
}
.is-style-af-timeline-2col .vk_timeline_item_caption {	
	font-size:3rem;
	line-height:1;
	margin-bottom:1rem;
	top:-10px;
}
.is-style-af-timeline-2col.vk_timeline .vk_timeline_item_style {
	top:10px;
}
.is-style-af-timeline-2col.vk_timeline .vk_timeline_item_lineStyle-default::before {
	top:30px;
}

/*技術スタック*/
.stack-list .vk_button_link.btn {
	padding:.4em 1em .6em;
}
.stack-list .vk_button_link.btn .vk_button_link_txt {
	text-align:left;
}


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Archive　ブログ一覧ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

.sub-section .widget {
	background:#f2f2f2;
	padding:1rem;
}
.sub-section .widget h4 {
	font-weight:700;
	margin-bottom:.5em!important;
	display:flex;
	margin-left:unset;
	width:fit-content;
}
.sub-section .widget h4:before {
	content:"";
	display:inline-block;
	width:10px;
	height:10px;
	background:var(--vk-color-custom-1);
	margin-right:8px;
	margin-top:8px;
	flex-shrink:0;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Single　ブログ詳細ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

/* 次の記事、前の記事　サムネイルなし */
.vk_posts.next-prev {
    display: flex;
    justify-content: center;
    align-items: center;
}
.vk_posts.next-prev .card {
    background: none;
}
.vk_posts.next-prev .vk_post_imgOuter {
    display: none;
}
.vk_posts.next-prev .next-prev-prev .card-body::before,
.vk_posts.next-prev .next-prev-next .card-body::before{
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.vk_posts.next-prev .next-prev-prev .card-body {
    padding-right: 1rem !important;
    padding-left: 40px !important;
}
.vk_posts.next-prev .next-prev-prev .card-body::before{
    content: '\f104';
    left: 15px;
}
.vk_posts.next-prev .next-prev-next .card-body {
    padding-right: 40px !important;
    padding-left: 1rem !important;
}
.vk_posts.next-prev .next-prev-next .card-body::before{
    content: '\f105';
    right: 15px;
}
.vk_posts.next-prev .next-prev-next h5.vk_post_title.card-title{
    width: fit-content !important;
    margin-right: 0;
}
.vk_posts.next-prev .next-prev-next .vk_post_date{
    text-align: right;
}
/* 中央の区切り線 */
.device-pc .vk_posts.next-prev::after {
    content: '';
    position: absolute;
    right: 50%;
    height: 100%;
    width: 1px;
    background: var(--vk-color-border-hr);
}


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

/* ページネーション */
ul.page-numbers {
    display: flex;
    gap: 10px;
}
ul.page-numbers li {
    float: none;
}
ul.page-numbers li>.page-numbers {
    font-size: 20px;
    font-weight: bold;
}
ul.page-numbers li>.page-numbers{
    border: solid 1px transparent !important;
		border-radius: 0 !important;
		margin-left: 0 !important;
	width:40px;
	line-height:40px;
}
ul.page-numbers li>.page-numbers:not(.current) {
    border: solid 1px #eee !important;
    border-radius: 0 !important;
    margin-left: 0 !important;
    font-size: 20px;
    font-weight: bold;
}
ul.page-numbers li>.page-numbers:not(.current){
	transition:.3s;
}
ul.page-numbers li>.page-numbers:not(.current):hover{
	filter: brightness(0.9);
}
ul.page-numbers li a, ul.page-numbers li span.page-numbers {
	padding:0;
}

ul.page-numbers li>a.prev.page-numbers,
ul.page-numbers li>a.next.page-numbers {
    background: #fff;
    border-color:transparent !important;
}
