/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description:
Author: 
Tags: 
Version: 0.6.0
*/
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
body {
	font-family:"Lato", "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック Pro",	"Hiragino Kaku Gothic Pro",	"sans-serif";
}

/*------------------------------------------------
 へッター
------------------------------------------------*/
.site-header-container {
	max-width: var(--wp--style--global--wide-size);
	max-height: 95px;
}
@media (min-width: 992px) {
	.site-header-logo {
		padding-top: 0.5rem;
		margin-bottom: 0.5rem;
	}
}
@media (min-width: 992px) {
/* スライドショー全画面表示 */
/*
	body.home:not(.header_scrolled) .site-header {
			background:rgba(255,255,255,0.5);
			position: absolute;
			top: 0;
			left: 0;
	}
	.site-header-logo {
		width: auto;
	}
*/
/* スクロール時もロゴ表示 */
	.site-header-logo, .header_scrolled .site-header-logo {
		display: flex;
		position: absolute;
	}
/* スクロール時のナビの位置揃えに必要 */
	.header_scrolled .site-header .global-nav {
		display: flex;
	}
	.header_scrolled .global-nav-list {
		height: auto;
	}
	.header_scrolled .global-nav--layout--float-right {
		align-items: center;
	}
	.header_scrolled .site-header .global-nav {
    		margin-right: 0;
	}
/* 電話番号表示(htmlはfuncrtion.phpに) */
	.logo-after {
		order:3;
		z-index:100;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-top: 5px;
	}
	.contact_txt span {
		display: block;
	}
	.contact_txt_catch, .contact_txt_time {
		font-size: 12px;
	}
	.contact_txt_tel {
	    font-size: 28px;
	    letter-spacing: 1px;
	    font-weight: 700;
	}
}
@media (max-width: 991px) {
	.logo-after {
		display: none;
	}
}
/*------------------------------------------------
 グローバルメニュー
------------------------------------------------*/
.global-nav-list>li .global-nav-name {
	font-size:16px;
	font-weight:600;
}
.global-nav-list>li .global-nav-description {
	font-size:12px;		
}
.global-nav-list .sub-menu li {
	font-size:14px;	
}

/*------------------------------------------------
 トップページ
------------------------------------------------*/
.w_shadow {
	text-shadow: 1px 2px 3px #FFFFFF;
}
@media (max-width: 781px) {
	.top_cover {
		min-height:80vh!important;
	}
	.text_catch {
		font-size:2.5rem!important;
	}
	.text_description {
		font-size:1.25rem!important;
	}
}

.top_sekisan_outer {
	position:relative;
}
.top_sekisan_content {
	display:inline-block!important;
}
@media (min-width: 782px) {
    .top_sekisan_content {
        margin-left: -200px;
    }
}
@media (max-width: 781px) {
	.top_sekisanbox_box {
		position:absolute;
		top:100px;

	}
    .top_sekisan_content {
		width: calc( 100% - ( 20px * 2 ) );
		max-width: 781px;
		display:block!important;
		margin-left:auto;
		margin-right:auto;
    }	
	.top_sekisan_outer {
		margin-bottom:150px;
	}	
}

.top_cotwo_outer {
	position:relative;
}
.top_cotwo_box {
	text-align:right;
}
.top_cotwo_content {
	display:inline-block!important;
}
@media (min-width: 782px) {
    .top_cotwo_content {
        margin-right: -200px;
    }
}
@media (max-width: 781px) {
	.top_cotwo_box {
		position:absolute;
		top:100px;
	}
	.top_cotwo_content {
		width: calc( 100% - ( 20px * 2 ) );
		max-width: 781px;
		display:block!important;
		margin-left:auto;
		margin-right:auto;
    }	
	.top_cotwo_outer {
		margin-bottom:150px;
	}	
}

.top_company_outer {
	position:relative;
}
.top_company_box {
	text-align:right;
}
.top_company_content {
	display:inline-block!important;
}
@media (min-width: 782px) {
    .top_company_content {
        margin-right: -200px;
    }
}
@media (max-width: 781px) {
	.top_company_box {
		position:absolute;
		top:100px;
	}
	.top_company_content {
		width: calc( 100% - ( 20px * 2 ) );
		max-width: 781px;
		display:block!important;
		margin-left:auto;
		margin-right:auto;
    }	
	.top_company_outer {

	}	
}

/*------------------------------------------------
 フッター
------------------------------------------------*/
.site-footer  {
	color:#FFF;
	background-color:#2a3132;
	border-top:none;
}
.site-footer a {
	color:#FFF;
	text-decoration-color:#FFF;
}
.site-footer-copyright {
	display: none;
}
.site-footer-content {
	padding-top: 1rem;
}

/*------------------------------------------------
 ページタイトルに背景画像を表示
------------------------------------------------*/
.page-header-title{
	letter-spacing:0.3rem;
	text-shadow: 1px 2px 3px #000000;
}
.page-header {
	min-height: 17rem;
}
/* 和の取組 */
.page-id-151 .page-header {
	color:#FFF;
	background-image: url("http://nasysdev.xsrv.jp/sample_nagomi/wp-content/uploads/2025/06/mission.jpg");
	background-color:rgba(0,0,0,0.1);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:center 60%;
}
/* 積算業務 */
.page-id-153 .page-header {
	color:#FFF;
	background-image: url("http://nasysdev.xsrv.jp/sample_nagomi/wp-content/uploads/2025/06/estimation.jpg");
	background-color:rgba(0,0,0,0.1);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:center 80%;
}
/* CO2算出業務 */
.page-id-155 .page-header {
	color:#FFF;
	background-image: url("http://nasysdev.xsrv.jp/sample_nagomi/wp-content/uploads/2025/06/co2.jpg");
	background-color:rgba(0,0,0,0.2);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:center 60%;
}
/* 実績紹介 */
.page-id-530 .page-header {
	color:#FFF;
	background-image: url("http://nasysdev.xsrv.jp/sample_nagomi/wp-content/uploads/2025/06/works.jpg");
	background-color:rgba(0,0,0,0.2);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:center 40%;
}
/* 企業情報 */
.page-id-156 .page-header {
	color:#FFF;
	background-image: url("http://nasysdev.xsrv.jp/sample_nagomi/wp-content/uploads/2025/06/company.jpg");
	background-color:rgba(0,0,0,0);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:center 70%;
}
/* 採用情報 */
.page-id-158 .page-header {
	color:#FFF;
	background-image: url("http://nasysdev.xsrv.jp/sample_nagomi/wp-content/uploads/2025/06/recruit.jpg");
	background-color:rgba(0,0,0,0.05);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:left 50%;
}
/* お問い合わせ */
.page-id-13 .page-header {
	color:#FFF;
	background-image: url("http://nasysdev.xsrv.jp/sample_nagomi/wp-content/uploads/2025/06/header_contact.jpg");
	background-color:rgba(0,0,0,0.1);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:left 45%;
}

/*------------------------------------------------
 テーブル
------------------------------------------------*/
table th, table td {
	font-size:1rem;
}
table, table th, table td {
	border-left:0!important;
	border-right:0!important;
	border-top-color: #EFEFEF!important;
	border-bottom-color: #EFEFEF!important;
}
table th {
	text-align:left;
	background-color:#FCFCFC;
	white-space: nowrap;
	font-weight:600;
}

/* レスポンシブ用の追加クラス */
@media (max-width: 781px){
	.table-resp {
  		width: 100%;
		table-layout: fixed;
	}
	.table-resp th {
		display: block;
		max-width:100%;
    } 
    .table-resp td {
	display: block;
	max-width:100%;
    }
}

/*------------------------------------------------
 おしゃれなボタン
------------------------------------------------*/
.vkp_button-through-arrow.vk_button .vk_button_link.is-style-outline {
 position: relative;
 z-index: 0; 
 border-radius: 0;
 padding: 8px 35px;
 letter-spacing: 0.1em;
 width: 240px;
 font-family: "Bebas Neue", sans-serif;
 font-size:1.2rem;
}
   
.vkp_button-through-arrow.vk_button .vk_button_link.is-style-outline::before {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 width: 0;
 height: 100%;
 background-color: currentColor;
 z-index: -1;
 transition: .3s;
}

.vkp_button-through-arrow.vk_button .vk_button_link.is-style-outline:hover::before {
 width: 100%;
}

.vkp_button-through-arrow.vk_button .vk_button_link.is-style-outline .vk_button_link_caption::before {
 content: '';
 position: absolute;
 display: block;
 width: 80px;
 height: 1px;
 bottom: 50%;
 right: -45px;
 border-bottom: solid 2px currentColor;
}

.vkp_button-through-arrow.vk_button .vk_button_link.is-style-outline .vk_button_link_caption:after {
 content: '';
 position: absolute;
 display: block;
 width: 14px;
 height: 2px;
 background: currentColor;
 bottom: calc(50% + 5px);
 right: -45px;
 transform: rotate(45deg);
}

.vkp_button-through-arrow.vk_button .vk_button_link.is-style-outline:hover {
 opacity: unset;
 box-shadow: unset;
 background-color:  transparent !important;
 border: solid 1px;
}

/*------------------------------------------------
 アニメーション（色が敷かれてから要素が現れる）
------------------------------------------------*/
.photoArea {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width:100%;
}
.photoArea::before {
  content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: #1f1f1f;
}
.photoArea.move::before {
  animation: barAnime forwards 1.5s 1 ease 0.1s normal;
}
.photoArea img,
.photoArea .movebox {
  opacity: 0;
  transform: scale(1.1);
}
.photoArea.move img,
.photoArea.move .movebox {
  animation: photoAnime forwards 1.5s 1 ease 0.5s normal;
}
@keyframes barAnime{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	68% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@keyframes photoAnime{
	0% {
    opacity: 0;
    transform: scale(1.1);
  }
	50% {
    opacity: 0;
    transform: scale(1.1);
  }
	100% {
    opacity: 1;
    transform: scale(1);
  }
}

/*------------------------------------------------
 数字入り見出し
------------------------------------------------*/
.tit_number {
	position: relative;
	text-align: center;
	padding-top:1rem;
	margin-bottom:1rem!important;
}

.tit_number::before {
	content: attr(data-number);
	display: block;
	margin-bottom: 30px;
	color: #90afc5;
	font-size: 30px;
}

.tit_number::after {
	content: '';
	position: absolute;
	top: 50px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 20px;
	background-color: #90afc5;
}

/*------------------------------------------------
 コンタクトフォーム
------------------------------------------------*/
input[type="text"],
input[type="url"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="tel"] {
	width: auto;
	max-width:100%;
}
@media (max-width: 640px){
	input[type="text"],
	input[type="url"],
	input[type="password"],
	input[type="email"],
	input[type="search"],
	input[type="tel"],
	textarea {
	width: 100%;
	}
	.table tbody tr td .form-control, .table tbody tr th .form-control, .table td .form-control, .table th .form-control, .table thead tr td .form-control, .table thead tr th .form-control, table tbody tr td .form-control, table tbody tr th .form-control, table td .form-control, table th .form-control, table thead tr td .form-control, table thead tr th .form-control {
	max-width: 100%;
	}
}
.attention {
	font-size:0.8em;
	font-weight:400;
}
input[type=submit].wpcf7-submit {
	width: 300px;
	margin:0 auto;
	margin-top:1rem;
	font-weight:600;
	border-radius:2rem;
	box-shadow: 0 2px 10px 0 rgba(0, 0, 0, .12);
	transition: all .3sease 0s;
	padding-top: .8rem;
	padding-bottom: .8rem;
}
.cf-turnstile {
	text-align: center;
}
.cf7-cf-turnstile {
	margin-bottom:-40px!important;
}

/*------------------------------------------------
 調整用
------------------------------------------------*/
.z100 {
	z-index:100;
}
@media (min-width: 992px) {
	.max800 {
		max-width:800px!important;
	}
}
@media (max-width: 991px) {
	.grp_sp {
		padding-left:1rem!important;
		padding-right:1rem!important;
	}
}

/* スクロールバー表示 */
.scrollbox {
	width: 100%;
	height: 20vh;
	overflow: scroll;
	border: 1px solid #ccc;
}

/* 実績紹介グリッド（スマホ） */

@media (max-width: 991px) {
	.wp-container-core-group-is-layout-1a149459 {
		grid-template-columns: repeat(3, minmax(0, 1fr))!important;
	}
	.wp-container-core-group-is-layout-1a149459 p {
		line-height:1;
	}
}

/* 既見出しデザイン修正 */
/* 直線 下線 黒 */
.is-style-vk-heading-solid_bottomborder_black, .editor-styles-wrapper .block-editor-block-list__layout .is-style-vk-heading-solid_bottomborder_black {
	border-bottom: solid 1px #ccc;
}

