@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
*/

/* 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カスタマイズここまで--*/


/*-------------------------------------------*/
/*	全体共通
/*-------------------------------------------*/
:root{
	    --vk-line-height: 2.0em;
	--en: "Lato", sans-serif;
}
ul:not(.wp-block-social-links).is-style-vk-numbered-circle-mark li:before, ol.is-style-vk-numbered-circle-mark li:before{
	line-height:1.5;
}
.txt18{
	font-size:18px;
}
.txt22{
	font-size:22px;
}
.txt36{
	font-size:36px;
}
.txt40{
	font-size:40px;
}
.white-title .vk_heading_subtext::after{
	background:#fff;
}
.btn_s i{
	color:#B10000
}
.footer_txt a{
	color:#fff !important;
}
.footer_link p{
	margin-bottom:5px !important;
	font-weight:600
}
.footer_link ul{
	padding:0 !important;
	list-style:none !important;
}
.footer_link li{
	margin:0 !important;
	opacity:0.7;
}
.footer_link li::before{
	 content: '';
  display: inline-block;
  width: 9px;
  height: 2px;
background-color:#707070;
	position:relative;
	top:-3px;
	margin-right:4px;
}
.list_number{
	list-style:none;
}
.list_number li{
	text-indent:-1.7rem;
	margin-left:1.5rem;
	margin-bottom:14px;

}
.list_number li:first-line{
	color:#0068BD;
	font-weight:600;
		font-size:1.1rem;
	line-height:2;
}
.table-base th,.table-base td{
	padding:13px !important;
}

/*-------------------------------------------*/
/*	全体リンクのホバー設定
/*-------------------------------------------*/
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;
	}
.site-header--layout--nav-float .site-header-logo{
	width:auto;
}
.site-header-logo{
	padding-top:1.5rem;
}
.header_scrolled.admin-bar .site-header{
	height:100px;
}
.header_scrolled #site-header .site-header-logo{
	margin-top:30px;
}
.header_scrolled .site-header-container--scrolled--logo-and-nav-full .site-header-logo img {
        max-height: 50px!important;
	
}

.header_scrolled .header-top, .header_scrolled .site-header-logo, .header_scrolled .site-header-sub, .header_scrolled .vk-campaign-text{
	display:block;
}
.header_scrolled .site-header-container--scrolled--logo-and-nav-full{
	display:block!important;
}
/*-------------------------------------------*/
/*	グローバルメニュー
/*-------------------------------------------*/
.global-nav-list>li .global-nav-name {
    font-size: 16px;
	}
.device-pc .global-nav-list>li>a {
    padding: 10px 3em; line-height:1.7;
}

#mega-menu-wrap-global-nav {
    position: absolute;
    left: 230px;
}

.mega-sub-menu .mega-menu-link{
	background-color:#fff!important;
	transition:0.3s;
}
.mega-sub-menu a:hover.mega-menu-link{
	background-color:var(--vk-color-primary)!important;
}
.header_btn1 a{
	height:100px!important;
	min-width:193px!important;
	padding-top:22px!important;
	border-left:solid 1px #ddd;
	box-shadow:none !important;
}
.header_btn1 i{
color:#51C115!important;}
.header_btn1 a:hover{
	    transform: translateY(0em) !important;
}
.header_btn2 {
	padding:13px 20px!important;
	border-left:solid 1px #ddd;
		height:100px!important;
}
.header_btn2 i{
	color:var(--vk-color-primary)!important;
}
.header_btn2 p{
	line-height:1.3;
}
.header_btn3 a{
	height:100px!important;
	min-width:193px!important;
	padding-top:32px!important;
}
.header_btn3 a:hover{
	    transform: translateY(0em) !important;
}
.site-header-sub{
	margin:0!important;
	padding:0!important;
}
.site-header-container{
	padding-right:0!important;
}
/*-------------------------------------------*/
/*	Top
/*-------------------------------------------*/
.teaser{
	height:80vh;
	position:relative;
}
.teaser_img{
	width:85%;
}
.teaser_txt{
	padding:50px;
}
.teaser h2{
	font-size:46px !important;
	margin-bottom:20px !important;
}
.teaser p{
font-size: 18px;
line-height: 38px;
}
.teaser .wp-block-cover .wp-block-cover__image-background{
	width:80%;
	left:auto !important;
}
.btn1 a{
	margin-top:30px!important;
	min-width:350px!important;
	font-size:18px!important;
	padding:25px!important;
	position:relative;
}
.btn1 a i{
	position:absolute;
	right:15px;
}
.top_box1{
padding:60px;
position:relative;
top:-240px;
margin-bottom:-240px;
}
	
.top_checkbox{
	padding:40px 40px 40px 70px!important;
}
.top_checkbox li{
font-size:20px;
font-weight:600;
}

.reason_ic{
	font-family:var(--en);
	width:130px;
	padding:5px!important;
	text-align:center;
	margin:15px auto 10px;
}
.top_reason_box h3{
	margin-bottom:20px!important;
}

.top_service .wp-block-group{
	border-radius:5px;
	padding:30px 40px 90px;
	position:relative;
	height:100%;
background: rgba(255, 255, 255, 0.93)!important;
}
.top_service h3{
	height:68px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:15px;
}
.top_service a{
position:absolute;
bottom:30px;
	left:50%;
	transform: translateX(-50%)
}
.top_service a:hover{
		left:50%!important;
	bottom:27px!important;
	transform: translateX(-50%)!important;
}
.top_service .row{
	justify-content: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;
	}


/* =========
   PC
========= */
.acc-flow{
  --navy:#0B2F4A; /* 画像の濃紺寄せ */
}

.acc-flow__table{
  width:100%;
  border-collapse:separate;
  border-spacing: 10px;
  table-layout:fixed;
	border:none;
	font-size:16px;
}
.acc-flow__table th,.acc-flow__table td{
	font-size:16px;
}
.acc-flow__box--empty{
	border:none;
}
.acc-flow__col-side{ width:120px; }
.acc-flow__col-main{ width:auto; }

.acc-flow__th-empty{ padding:0; border:0; background:transparent; }

.acc-flow__th-arrow{ padding:0; border:0; background:transparent; }
.acc-flow__th-arrow > span{
  display:block;
  background:var(--navy);
  color:#fff;
  font-weight:700;
  text-align:center;
  padding:14px 10px;
  /* 右だけ尖る（画像寄せ） */
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 50%, calc(100% - 28px) 100%, 0 100%);
}

.acc-flow__side{
  background:var(--navy);
  color:#fff;
  font-weight:700;
  text-align:center;
  padding:32px 12px;
}

.acc-flow__box{
  background:var(--navy);
  color:#fff;
  padding:22px 22px;
  min-height:230px;
}

.acc-flow__box ol,
.acc-flow__bottomBody ol{
  margin:0;
  padding-left:1.4em;
}

.acc-flow__box li,
.acc-flow__bottomBody li{
  margin:0 0 12px;
  line-height:1.75;
}

.acc-flow__box--empty{
  background:transparent;
  padding:0;
  min-height:0;
}

/* 下段（その他コンサル） */
.acc-flow__bottom{ padding:0; background:transparent; }
.acc-flow__bottomHead{
  background:var(--navy);
  color:#fff;
  font-weight:700;
  padding:14px 20px;
}
.acc-flow__bottomBody{
  border:2px solid var(--navy);
  background:#fff;
  padding:16px 20px;
}

/* =========
   SP：縦積み版（ここが本題）
   768px以下でtableを“カード縦積み”にする
========= */
@media (max-width: 768px){
	.acc-flow{
		overflow-x:auto;
	}
	.acc-flow table{
		width:800px;
	}
}


 .ma2{
    /* 画像寄せ色（必要なら微調整OK） */
    --navy:#0B395A;    /* 上帯の濃紺 */
    --blue:#CFE7FF;    /* 工程の淡い水色 */
    --red:#F8D4D4;     /* 強調の淡い赤 */
    --text:#0B395A;    /* 文字（濃紺） */
    --redText:#B10000; /* 赤文字 */
    --sep:#ffffff;     /* 区切り（白） */

    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 12px 0;
    font-family: system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;
  }

  /* 上段：帯（枠線なし） */
  .ma2__top{
    display:flex;
    background:var(--navy);
  }
  .ma2__topItem{
    flex:1;
    text-align:center;
    color:#fff;
    font-weight:600;
    letter-spacing:.02em;
    padding: 18px 10px;
	  font-size:18px;
	  border-right:1px solid #eee;
  }
.ma2__step p{
	font-size:16px;
}

  /* 下段：工程 */
  .ma2__steps{
    margin-top: 16px;
    display:flex;
    align-items:stretch;
    gap:0;
  }

  .ma2__step{
    flex:1;
    min-width:0;
    background:var(--blue);
    color:var(--text);
    font-weight:400;
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 22px 10px;

    /* 右に尖る（画像の角度寄せ） */
    clip-path: polygon(
      0 0,
      calc(100% - 12px) 0,
      100% 50%,
      calc(100% - 12px) 100%,
      0 100%,
      12px 50%
    );

    /* 白い区切り線（画像の見た目） */
/*     border-right: 4px solid var(--sep); */
  }

  .ma2__step--last{
    /* 最後は右が尖らない（画像寄せ） */
    clip-path: polygon(
      0 0,
      100% 0,
      100% 100%,
      0 100%,
      12px 50%
    );
    border-right: 0;
  }

  .ma2__step p{
    margin:0;
    line-height:1.25;
    font-size: 14px;
	  font-size:400!Important;
  }

  /* 中央の強調 */
  .ma2__step.is-highlight{
    background:var(--red);
  }
  .ma2__step.is-highlight p{
    color:var(--redText);
  }

  /* 注釈 */
  .ma2__note{
    margin: 18px 0 0;
    text-align:center;
    color: var(--redText);
    font-weight:400;
    font-size: 17px;
	  padding-right:140px;
  }

  /* SP：縦積み（読みやすさ優先） */
  @media (max-width: 820px){
	  .side_scroll{
		  overflow-x:auto;
	  }
	  .ma2{
		  width:800px;
	  }
  }

.box-check{
	padding:50px!Important;
}
.box-check ul{
	margin-left:50px;
}
.txt36{
	font-size:36px;
}
.pro-table td{
	font-size:1rem!Important;
}
.pro-table td:nth-of-type(1){
	width:130px!Important;
	vertical-align:top;
}
/*-------------------------------------------*/
/*	フッター
/*-------------------------------------------*/

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