@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-line-height: 2.1em;
}

li a, p a{
	    text-decoration: none;
    text-decoration-style: none;
}

/* 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;
	margin-bottom:40px!important;
		border-left:none!important;
	border-right:none!important;
}

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

/* テーブルの見出し側 */
.inquiry th{
   text-align:left;
   font-size:14px;
   color:#444;
   padding:1em 1.5em;
   width:0;
   border-top:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	border-left:none!important;
	border-right:none!important;
   white-space: nowrap;
}

.inquiry td{
	   border-top:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	border-left:none!important;
	border-right:none!important;
}
/* 必須と任意タグ */
.inquiry th{
	position:relative;
	padding-right:100px;
}
.inquiry th > p > span{
   font-size:13px;
   padding:3px 8px;
	line-height:1.4;
   color:#fff;
   border-radius:2px;
   margin-right:5px;
   font-weight:normal;
   border-radius: 3px;
	position:absolute;
	right:10px;
}

/* 任意タグの背景カラー */
.haveto{
   background-color:#F70000;
}
.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 */
}

.title1 h2{
	font-family:var(--en);
}

h3 {
    font-size: 1.4rem;
}

.base_btn a{
	min-width:240px!important;
	position:relative;
	padding:10px 60px!important;
background: linear-gradient(90deg,#86d033 0%, #35a875 100%);

}
.base_btn i{
	position:absolute;
	right:15px;
}

.base_btn2 a{
	min-width:240px!important;
	position:relative;
background:#fff;
	border:solid 1px #2F5BD1;

}
.base_btn2 i{
	position:absolute;
	right:15px;
	color:#2F5BD1;
}
.txt26{
	font-size:26px;
}
.txt30{
	font-size:30px;
}
.txt30{
	font-size:30px;
}

.page-id-5288 .txt30{
	font-size:28px;
}

/* CTA */
.cta_box{
	margin:0 5vw;
	border-radius:30px;
	padding-left:2vw;
	padding-right:2vw;
}
.cta_box .wp-block-columns{
	padding:0 3vw;
	gap:0 !important;
}

.contact_btn a{
	min-width:400px !important;
	font-size:20px !important;
}
.contact_btn a:hover{
opacity:1 !important;
}
.left_border{
	border-left:solid 1px rgba(255, 255, 255, 0.27);
		
}

.site-footer-copyright{
	max-width:100%;
	background-color:rgba(122, 203, 188, 0.16);
		padding:7px
}
/*-------------------------------------------*/
/*	ヘッダー
/*-------------------------------------------*/
#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;
	}


.page-header-title, h1.page-header-title{
	font-weight:400;
font-size: 42px;
letter-spacing: 0.05em;
	    font-family: "Noto Serif JP", serif;


}

/*-------------------------------------------*/
/*	グローバルメニュー
/*-------------------------------------------*/
.global-nav-list>li .global-nav-name {
    font-size: 15px;
	}
.device-pc .global-nav-list>li>a {
    padding: 10px 1.2em; line-height:1.7;
}
.global-nav-list>li:before{
	border-bottom:2px solid var(--vk-color-primary);
}
body:not(.header_scrolled) .site-header--trans--true .global-nav-list>li:before{
	border-bottom:2px solid var(--vk-color-primary);
}
.current-menu-item a{
	color:var(--vk-color-primary) !important;
}

#menu-item-4386 a{
background: linear-gradient(90deg,#35a875 0%, #4ac479 100%);
	border-radius:60px;
	padding-left:30px;
	padding-right:30px;
	color:#fff!important;
	margin-left:10px

}
#menu-item-4386:before{
	display:none
}
.header_scrolled #menu-item-4386 a{
	border-radius:0;
	margin-right:0px;
}
.header_scrolled #site-header-container{
	padding-right:0;
	margin-right:0;
}
.global-nav-name{
	font-weight:400!important;
}
   
/*-------------------------------------------*/
/*	Top
/*-------------------------------------------*/
.teaser_copy{
	font-size:38px !important; 
	font-family: "Noto Serif JP", serif !important; 
	font-weight:300 !important; 
	left:-4vw !important; 
	

	white-space: nowrap;
}

#main .teaser, .teaser:is(.swiper-container,.teaser .vk_slider,.teaser .wp-block-image,.teaser .wp-block-cover-image,.teaser .wp-block-cover){
		  margin-left: calc(50% - 40vw) !important;
	
	    overflow: visible !important;
}
#main .teaser img{
	border-radius:0 0 0 40px !important;
}
.top_service1{
	padding-left:60px;
	padding-right:330px;
}
	
.top_section1{
	background-size:70% !important;
}

.top_working{
	padding-left:50px;
	border-radius:30px;
}
.txt_blue .vk_heading_subtext {
  text-transform: uppercase;
background: linear-gradient(90deg,#8bb8ff 0%, #2f5bd1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.txt_btn i{
	color:#35A875
}
.postListText_singleTermLabel_inner {
    display: block;
    overflow: hidden;
    font-size: 12px;
    white-space: nowrap;
    padding: 5px 1rem;
    line-height: 16px;
    border-radius: 2px !important;
    text-align: center;
}

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

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

#main .sub_main{
	background-size:70%!important;
	background-position:left top!important;
}
.feature_tab{
	padding:8px 15px!important;
	line-height:1.5;
	font-family:var(--en);
	text-transform: uppercase;
	font-size:13px;
	display:inline-block;
	border-radius:3px;
}

.vk_step .vk_step_item .vk_step_item_dot{
	width:115px;
	height:115px;
}
.vk_step .vk_step_item {
    padding: 0 0 0 calc(1rem * 8.5);
}
.vk_step_item_lineStyle-default::before{
	left:56px;
}
.vk_step .vk_step_item .vk_step_item_dot_caption{
	font-size:20px;
	font-family:var(--en;);
	padding-top:18px
}
.vk_step .vk_step_item .vk_step_item_dot_num{
	font-size:40px;
	font-family:var(--en;);
	    line-height: 1.5;
}
.vk_faq .vk_faq_title:before{
	border-color:#04874D;
	color:#04874D;
	font-family:var(--en;);
}
.wp-block-vk-blocks-faq2.vk_faq {
	padding:0!important;
	box-shadow:0!important;
}

.company-table td{
	padding:18px!important;
	font-size:16px!important;
}
.company-table td:nth-of-type(1){
	font-weight:600;
	color:#04874D;
	width:25%;
}
.wp-block-table td, .wp-block-table th{
	border-right:none;
	border-left:none;
}

/* スクロール固定Column */
.position-sticky-wrap {
    overflow: visible !important;　/* 包含するouterに */
}
.device-pc .wp-block-column.position-sticky-column {
    position: sticky !important; /* PCにのみ反映。 */
    top: 130px;
    align-self: flex-start !important;
}

.list_tab{
	display:flex;
	flex-wrap:wrap;
	list-style:none;
	padding:0;
}
.list_tab li{
	padding:5px 10px;
	background-color:#eee;
	border-radius:3px;
	margin:0 7px 7px 0;
}
/*-------------------------------------------*/
/*	フッター
/*-------------------------------------------*/

.site-footer ul li{
	line-height:1.8; margin-bottom:30px;
	}
.site-footer ul li span{
	font-size:14px!Important;
	}
.site-footer a{
	transition:0.3;
}
.site-footer a:hover{
	color:#04874D
}


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

.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-1); /* 背景色：変更可 */
  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-1); 
  }
#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;
  }
}