@charset "utf-8";
/*
Theme Name: Lightning Child
Theme URI: https://lightning.vektor-inc.co.jp/
Template: lightning
Description: Lightningは厳しい審査を通過したWordPress公式ディレクトリ登録テーマです。
Author: 株式会社ベクトル
Tags: 
Version: 0.1.2
*/

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

:root{
--en: "Lato", sans-serif;
}
.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;
}
/* Contact Form7スマホ・タブレット用カスタマイズ */
@media(max-width:850px){
/* テーブルの見出しとフォーム */
table.inquiry th,table.inquiry td {
   display:block;
   padding:1em 0!important;
   width:100%;
   border:0;
}

/* 送信ボタン */
input.wpcf7-submit{
   margin-bottom:30px;
   width:100%;
}
}

/* 日付タグ上のテキストをPCとスマホで変更 */
@media(max-width:900px){
.pcdate{
   display: none;
}
}
@media(min-width:1000px){
.spdate{
   display: none;
}
/* 日付タグの幅を調整 */
.wpcf7-date.dateform{
   width: 25%;
}
}

/* Contact Form7全体カスタマイズ */

/* 自動入力されるPタグを無効にする */
.inquiry p {
   display: inline;
}

/*テーブル下に余白.枠線・テキストの行間 */
table.inquiry {
   margin-bottom: 30px;
   border:solid 1px #d7d7d7;
   line-height:1.2;
   vertical-align:middle;
}

/* テーブルの行 */
.inquiry tr {
   border:0!important;
}

/* テーブルの見出し側 */
.inquiry th{
   text-align:left;
   font-size:14px;
   color:#444;
   padding:1em 0.5em;
   width:0;
   background:#efefef;
   border:solid 1px #d7d7d7;
   white-space: nowrap;
}

/* 必須と任意タグ */
.inquiry th > p > span{
   font-size:13px;
   padding:5px;
   color:#fff;
   border-radius:2px;
   margin-right:5px;
   font-weight:normal;
   border-radius: 6px;
}

/* 任意タグの背景カラー */
.haveto{
   background-color:#ff9393;
}
.any{
	background-color:#999;
}

/* テーブルフォーム側 */
.inquiry td{
   font-size:13px;
   border:solid 1px #d7d7d7;	
}

/* 入力エリア幅最大 */
.wpcf7-form-control {
   width: 100%;
}

/* フォーム幅 */
@media (min-width: 992px) {
.wpcf7-form table.inquiry{width:90% !important; margin: 0 auto;}
}

/* フォーム入力欄の余白・背景カラー・枠線消す指定 */
.inquiry input,.inquiry select,.inquiry textarea {
   margin: 5px 0;
   background:#eff1f5;
   border: none;
   padding:0.7em;
}
.inquiry textarea {
   padding-bottom:10em;
}

/* チェックボックスとラジオボタンの位置調整 */
.wpcf7-list-item-label,.wpcf7-checkbox,input[type=checkbox],input[type=radio]{
   vertical-align:middle;
}
.wpcf7-list-item-label{
   padding:0 5px 0 2px;
}
/*ラジオボタンを縦並び指定*/
.verticallist{
   display:inline-grid;
}

/* 送信ボタンのデザイン */
.wpcf7-submit{
   display: block;
   margin:10px auto;
   padding:1em 0;
   width:80%;
   background:#09b555;
   color:#fff;
   font-size:18px;
   font-weight:bold;	 
   border-radius:4px;
   border: none;
}

/* 送信ボタンマウスホバー時 */
.wpcf7-submit:hover{
   opacity: 0.9;
   transition: 0.3s;
}

/* フォーム上部に表示されるエラーメッセージを非表示 */
.screen-reader-response {
    display: none;
}

/* フォーム内エラーメッセージを赤色に指定 */
.wpcf7-not-valid-tip {
    color: #e92323;
}

/* reCAPTCHAの保護マークの非表示 */
.grecaptcha-badge { visibility: hidden; }

/*---Contact Form7カスタマイズここまで--*/





/*-------------------------------------------*/
/*	全体リンクのホバー設定
/*-------------------------------------------*/
a,a:hover{transition: .5s;}
a img {
    -webkit-transition: opacity 0.5s ease-out;
    -moz-transition: opacity 0.5s ease-out;
    -ms-transition: opacity 0.5s ease-out;
    transition: opacity 0.5s ease-out;
}
a:hover,a:hover img {
    opacity: 0.8;
    -webkit-opacity: 0.8;
    -moz-opacity: 0.8;
    filter: alpha(opacity=80);
    /* IE lt 8 */
    -ms-filter: “alpha(opacity=80)”;
    /* IE 8 */
}


/*-------------------------------------------*/
/*	ヘッダー
/*-------------------------------------------*/
#header-top .container,
#site-header-container.container{
	max-width:100%; min-width:1140px;
	}
.header-top ul>li>a, .header-top ul>li>span {/*ヘッダートップのTELの文字を大きく*/
    font-size: 16px;
	}


/*-------------------------------------------*/
/*	グローバルメニュー
/*-------------------------------------------*/
.global-nav-list>li .global-nav-name {
    font-size: 16px;
	}
.device-pc .global-nav-list>li>a {
    padding: 10px 3em; line-height:1.7;
}

   
/*-------------------------------------------*/
/*	Top
/*-------------------------------------------*/


	
	
/*-------------------------------------------*/
/*	下層ページ
/*-------------------------------------------*/

h1.entry-title,h1.archive-header-title{
	font-size:24px;
	}
.tlBd,.widget-title.sub-section-title{
	border-left: solid 5px var(--vk-color-primary); padding-left:15px;
	}



/*-------------------------------------------*/
/*	フッター
/*-------------------------------------------*/

.site-footer ul li{
	line-height:1.8; margin-bottom:30px;
	}
.site-footer ul li span{
	font-size:14px!Important;
	}



/*-------------------------------------------*/
/*	モバイルメニュー/ハンバーガーボタンを丸く
/*-------------------------------------------*/

.vk-mobile-nav-menu-btn,
.vk-mobile-nav-menu-btn.menu-open,
.menu-toggle {
  width: 44px;             /* ボタン幅 */
  height: 44px;            /* ボタン高さ */
  border-radius: 50%;      /* 完全な丸形 */
  background-color: var(--vk-color-custom-2); /* 背景色：変更可 */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease;
  }
div#vk-mobile-nav-menu-btn::after { /* 3本線アイコン */
  content: '\f0c9';
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  font-size: 20px;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 44px;
  width: 44px;
  text-align: center;
  text-indent: 0;
  }
div#vk-mobile-nav-menu-btn.menu-open::after {/* オープン後のアイコン */
        content: "\f00d";
    }
.vk-mobile-nav-menu-btn,.vk-mobile-nav-menu-btn.menu-open,
.vk-mobile-nav-menu-btn:hover,.vk-mobile-nav-menu-btn.menu-open:hover,
.menu-toggle:hover{/* デフォルトのボーダーと背景画像を削除 */
  border:none;
  background-image:none;
  }
.vk-mobile-nav-menu-btn:hover,
.menu-toggle:hover {/* ホバー・アクティブ時の色 */
  background-color: var(--vk-color-custom-2); 
  }
#vk-mobile-nav {/*モバイルメニュー背景色*/
        background-color: #f3f3f3;
    }
.vk-mobile-nav nav ul li a {/*モバイルメニューの文字設定*/
	font-weight:bold;
	font-size:16px;
	}

/* ============================================
   iOS Safari/Chrome 修正
   ============================================ */

/* Font Awesome 7対応: ハンバーガーメニューアイコン修正 */
div#vk-mobile-nav-menu-btn::after {
  font-family: "Font Awesome 7 Free" !important;
}

/* iOS Safari/Chrome: background-attachment:fixedの拡大表示バグを修正 */
@media (max-width: 991.98px) {
  .page-header {
    background-attachment: scroll !important;
    background-position: center center !important;
  }
}

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

@media (max-width: 768px) {
	.wp-block-media-text .wp-block-media-text__content {
		padding:0;
		margin-top:1em;
	}
}

/* TOP */
/* FV */
.fv_cover {
	position: relative;
	display: flex;
	align-items: center;
	min-height: calc(100svh - 200px);
	padding: 0 !important;
	background-size: cover !important;
	background-position: 50% 50% !important;
	overflow: hidden;
}

/* 左側の黒グラデーション */
.fv_cover::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		90deg,
		rgba(0, 0, 0, .72) 0%,
		rgba(0, 0, 0, .62) 22%,
		rgba(0, 0, 0, .42) 40%,
		rgba(0, 0, 0, .15) 58%,
		rgba(0, 0, 0, 0) 75%
	);
	pointer-events: none;
}

/* VK Outer標準マスク */
.fv_cover > .vk_outer-background-area {
	z-index: 0;
}

/* コンテンツをマスクより上へ */
.fv_cover > div {
	position: relative;
	z-index: 2;
	width: 100%;
}

.fv_cover .vk_outer_container {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 5.5vw;
}

/* 見出し */
.fv_cover h2 {
	margin: 0 0 38px;
	font-size: clamp(46px, 4vw, 68px);
	line-height: 1.42;
	letter-spacing: .02em;
	font-weight: 700;
	color: #fff;
}

/* 本文 */
.fv_cover h2 + p {
	margin: 0 0 58px;
	font-size: clamp(17px, 1.25vw, 21px);
	line-height: 2;
	font-weight: 600;
	letter-spacing: .02em;
	color: #fff;
}

/* ボタンエリア */
.fv_cover .wp-block-group {
	display: flex;
	flex-wrap: nowrap;
	gap: 32px;
}

/* VKボタン */
.fv_cover .vk_button {
	margin: 0;
}

.fv_cover .vk_button_link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 320px;
	height: 94px;
	padding: 0 38px;
	border-radius: 0 !important;
	font-size: 18px;
	font-weight: 600;
	box-shadow: none;
	transition: .3s ease;
}

.fv_cover .vk_button_link_caption {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

/* 赤ボタン */
.fv_cover .has-vk-color-primary-background-color {
	background: var(--primary) !important;
	border: 1px solid var(--primary) !important;
	color: #fff !important;
}

/* 白枠ボタン */
.fv_cover .vk_button_link.is-style-outline {
	background: rgba(0, 0, 0, .1) !important;
	border: 2px solid rgba(255, 255, 255, .85) !important;
	color: #fff !important;
}
.fv_cover  a:hover{
	opacity:1 !important;
}

/* Font Awesome矢印 */
.fv_cover .vk_button_link_after {
	margin-left: 30px;
	font-size: 14px;
	transition: transform .3s ease;
}

.fv_cover .vk_button_link:hover .vk_button_link_after {
	transform: translateX(6px);
}

.fv_cover .has-vk-color-primary-background-color:hover {
	opacity: .88;
}

.fv_cover .vk_button_link.is-style-outline:hover {
	background: #fff !important;
	color: #111 !important;
}
.fv_service {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	width: 100vw;
	height: 85px;
	margin-left: calc(50% - 50vw);
	background: #fff;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.fv_service_item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 0 30px;
	border-right: 1px solid #ddd;
	color: #111;
	text-decoration: none;
	position: relative;
	transition: background-color .3s ease;
}

.fv_service_item:last-child {
	border-right: 0;
}

.fv_service_num {
	flex-shrink: 0;
	font-size: 32px;
	line-height: 1;
	font-weight: 600;
	color: #bbb;
}

.fv_service_text {
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
}

.fv_service_text::before {
	content: "";
	display: block;
	width: 36px;
	height: 2px;
	margin-bottom: 8px;
	background: var(--primary);
}

.fv_service_arrow {
	margin-left: auto;
	flex-shrink: 0;
	font-size: 14px;
	line-height: 1;
	transition: transform .3s ease;
}

.fv_service_item:hover {
	background: #f7f7f7;
}

.fv_service_item:hover .fv_service_arrow {
	transform: translateX(6px);
}


.reason_subtitle{
	padding:5px;
	width:160px;
	font-family:var(--en);
	margin:0 auto;
	position:relative;
	bottom:-20px;
}
.sv_box{
	position:relative;
}
.sv_box h3{
	font-size:clamp(20px , 2vw , 30px);
	margin-top:50px;
	position:relative;
	z-index:2;
}
.teaser_title{
	font-size:clamp(30px , 4vw , 55px) !important;
}
.sv_number{
	position:absolute;
	font-size:clamp(40px , 7vw , 90px);
	left:5px;
	top:0;
	line-height:1;
	font-weight:600;
	font-family:var(--en);
}
.long_btn a{
	min-width:340px !important;
}
.top_company .row{
	gap:0;
}
.top_company .wp-block-vk-blocks-grid-column-item{
	border-right:solid 1px #ccc;
}
.top_company .wp-block-vk-blocks-grid-column-item:first-child{
	border-left:solid 1px #ccc;
}
.top_company .wp-block-vk-blocks-grid-column-item{
	position:relative;
}
.top_company .wp-block-vk-blocks-grid-column-item a::after{
	position: absolute !important;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 2;
pointer-events: auto;
content: "" !important;
display:block !important;
background-color: transparent;
}
.top_company .vk_button_link_caption{
	transition:0.3s;
}
.top_company a:hover .vk_button_link_caption{
	opacity:0.5;
}

/* 下層ページ */
.flex_center .row{
	justify-content:center;
}

.flow_arrow{
	margin-top:50px !important;
}

.btn_big a{
	padding:45px 10px !important;
}

.vk_faq .vk_faq_title:before{
		font-family:var(--en);
	color:#000;
}
.vk_faq .vk_faq_content:before{
	font-family:var(--en);
	color:#000;
	opacity:0.5
}
.list_2{
	display:flex;
	flex-wrap:wrap;
}
.list_2 li{
	width:50%;
	padding-right:1rem;
		font-size:clamp(16px , 2vw , 22px);
}

.fit-content{
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.has-fixed-layout th,.has-fixed-layout td{
	padding:20px 15px !important;
}
.tel i{
	font-size:clamp(26px , 3vw , 45px);
	position:relative;
	top:3px;
}
.tel .vk_button_link_txt{
	font-family:var(--en);
font-weight: 600;
	font-size:clamp(40px , 3vw , 55px);

}
.contactpage_tel i{
	color:var(--vk-color-primary);
}
.contactpage_tel .vk_button_link_txt{
	color:var(--vk-color-primary);
}

#menu-item-4386 a{
	background-color:#000;
	color:#fff;
	padding-top:28px;
	padding-bottom:28px;
}
.global-nav-list li{
	font-size:16px;
}

.vk_button_link_subCaption{
	font-size:12px;
	opacity:0.7;
}
.btn_big a{
	position:relative;
}
.btn_big i{
	position:absolute;
	left:50%;
	bottom:10px;
	transform: translateX(-50%);
}
#site-header-container{
	padding-right:0;
}

.bottom_bn .wp-block-cover{
	position:relative;
}
/* .bottom_bn .wp-block-cover a::after{
	position: absolute !important;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 5;
	width:100%;
	height:100%;
pointer-events: auto;
content: "" !important;
display:block !important;
background-color: transparent;
} */
/* フッター */
.footer_link{
	flex-wrap:wrap;
}
.footer_link li{
	padding-right:20px;
	margin:0 0 15px !important;
	font-size:15px;
}