@charset "utf-8";
/*
Theme Name: lightning子テーマ
Theme URI: 
Template: lightning
Description: 
Author: エヌエー・システムズ
Tags: 
Version: 0.1.2
*/

/* デザインスキン Generration3 プレーン 用 */

/*------------------------------------------------
 フォント
------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Zen+Kaku+Gothic+New:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@700&display=swap');

body {
    font-family: "Lato", "Zen Kaku Gothic New", sans-serif;
	font-size:16px;
	font-feature-settings: "palt";
	color: #000;
}

/* フリーダイヤルのアイコンフォント */
@font-face{
    font-family:'condenseicon';
    src: url('font/CONDENSEicon.ttf') format('truetype'),url('font/CONDENSEicon.otf') format('opentype'),url('font/CONDENSEicon.woff') format('woff');
}
.mojiicon{
	font-family:'condenseicon';
	display:inline!important;
}

/*------------------------------------------------
　コピーライト、フッターのウィジェット非表示
------------------------------------------------*/
.site-footer-copyright p:last-child {
        display:none;
}

/*------------------------------------------------
 ヘッダー
------------------------------------------------*/
.site-header {
	background-color:#D85B5B;
}
body.header_scrolled .site-header {
	background-color:#D85B5B;
}
.site-header-container {
/*    max-width: var(--wp--style--global--wide-size); */
	min-height:80px;
}
@media (min-width: 1200px) {
	.site-body {
		padding-top: 3rem;
	}
}			
@media (min-width: 992px) {
	body:not(.header_scrolled) .site-header {
/*			background:rgba(255,255,255,0.5);	*/
			position: absolute;
			top: 0;
			left: 0;
	}
	.site-header-logo {
		padding-top: 0.5rem;
		margin-bottom: 0;
	}	
	.device-pc .global-nav-list>li>a {
    	padding-top: 0;
	}
/* スクロール時もロゴ表示 */
	.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;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
.contact_txt {
	margin-bottom:0;
}
.contact_txt span {
	display: block;
	line-height:1.4;
}
.contact_txt_catch, .contact_txt_time {
    font-size: 12px;
}
.contact_txt_tel {
	font-size: 28px;
	font-weight: 700;
}
.contact_txt_tel i {
	margin-right:0;
}
.header_button {
	z-index:100;
	margin-left: 20px;;
}
@media (max-width: 991px){
	.logo-after {
		display: none;
	}
}

/*------------------------------------------------
 グローバルメニュー
------------------------------------------------*/
.global-nav-list>li .global-nav-name {
	font-size:16px;
    font-weight:700;
}
.global-nav-list>li .global-nav-description {
	font-size:12px;		
}
.global-nav-list .sub-menu li {
	font-size:14px;	
}
.global-nav-list>li>ul.sub-menu {
	background:rgba(255,255,253,0.7);
}
.global-nav-list .sub-menu li a {
	border-bottom: 1px dotted #EFEFEF;
}
global-nav-list .sub-menu li a, .global-nav-list .sub-menu li a {
	font-size:16px;
	color: #333;
}

/* モバイル用ボタンにMENUのテキスト表示 */
.vk-mobile-nav-menu-btn {
    top: 0;
    left: 0;
    width: 42px;
    height: 45px;
    border: none;
    background-position: center -4px;
    text-indent: unset;
    font-size: 10px;
    font-weight: 500;
    line-height: 7.5;
    text-align: center;
    border-radius: 0;
}
.vk-mobile-nav-menu-btn.menu-open {
    border: initial;
    background: var(--vk-mobile-nav-menu-btn-close-bg-src) center 50% no-repeat rgba(255,255,255,.8);
}

/* グローバルナビ：下線アニメーション（中央から伸びる） */
#global-nav .global-nav-list > .menu-item > a{
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding-bottom: 6px;
}

#global-nav .global-nav-list > .menu-item > a::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform 0.28s ease;
}

#global-nav .global-nav-list > .menu-item > a:hover::after,
#global-nav .global-nav-list > .menu-item > a:focus-visible::after{
  transform: translateX(-50%) scaleX(1);
}

#global-nav .global-nav-list > .current-menu-item > a::after,
#global-nav .global-nav-list > .current_page_item > a::after{
  transform: translateX(-50%) scaleX(1);
}
.vk-menu-acc .acc-btn:hover {
	background-color: #4267b2;
}

/*------------------------------------------------
 スライドショー全画面表示
------------------------------------------------*/

@media (min-width: 992px){
	.ltg-slide-inner picture img {
		height: 100vh;
		object-fit: cover;
	}
}
@keyframes zoom-in {
  0% {
	  transform: scale(1);
  }
  100% {
	  transform: scale(1.1);
  }
}

.swiper-slide-active picture img,
.swiper-slide-duplicate-active picture img,
.swiper-slide-prev picture img {
  animation: zoom-in 10s linear 0s 1 reverse both;
}

.swiper-button-next:after, .swiper-button-prev:after, .swiper-pagination-bullet {
	display:none;
}

@media (max-width: 991px){
	.ltg-slide-text-set {

	}
}

/* スライドショー内テキスト　*/
.ltg-slide-text-set h3 {
	font-family: 'Shippori Mincho B1', serif;
	font-weight: 700;
}
.ltg-slide-text-set h3 span {
	letter-spacing:-0.5em;	
}
.ltg-slide-text-set .container {
	font-family: 'Shippori Mincho B1', serif;
	font-weight: 700;	
}

@media (max-width: 767px) {
	.ltg-slide-text-title {
		font-size:1.5rem!important;
	}
	.ltg-slide-text-caption {

	}
}
@media (min-width: 768px) {
	.ltg-slide-text-title {
    	font-size: 2.5rem;
	}
	.ltg-slide-text-caption {

	}
}
@media (min-width: 992px){
	.ltg-slide-text-title {
		font-size:4rem;
	}
	.ltg-slide-text-caption {
		font-size:2rem;
	}
}

/*------------------------------------------------
 フッター
------------------------------------------------*/
.site-footer-content {
    max-width: var(--wp--style--global--wide-size);
}

/***** (必須)テーマカラーを指定 *****/
.site-footer {
	background-color:#D85B5B;
    color: #FFFFFF;
    border-top:none;
	font-size:14px;
}
.site-footer a {
	color: #FFFFFF;
	text-decoration-color: #FFFFFF;
}
.site-footer-copyright {
	background-color:#D85B5B;
}
.site-footer .widget p {
    line-height: 1.5em;
}
.site-footer .widget ul {
		margin-top: -0.5rem;
}
.site-footer .widget li {
    	line-height: 1.2em;
}

/*------------------------------------------------
 ページトップボタン
------------------------------------------------*/

/***** (必須)テーマカラーを指定 *****/
.page_top_btn {
	background: rgba(216,91,91,.8);
	border: 1px solid rgba(255,255,255,.8);
	background-image: url(../../plugins/vk-all-in-one-expansion-unit/assets/images/to-top-btn-icon.svg);
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center;
	box-shadow: 0 0 0 1px rgba(255,255,255,.8),0 0 0 2px rgba(216,91,91,.8);
	opacity: 0;
}

/*------------------------------------------------
 下層ページヘッダー
------------------------------------------------*/
.page-header {
	display:none;
}

body:not(.home, .header_scrolled) .site-header {
	background:rgba(255,255,255,0.6);
}
@media (min-width: 992px){
	#breadcrumb {
		margin-top:79px;
	}
}
/*
.page-header {
	background: rgba(66,111,188,.8);
	color: #FFF;
	min-height: 8rem!important;
}
@media (min-width: 992px){
	.page-header {
		margin-top:79px;
	}
}
@media (max-width: 991px){
	.page-header {

	}
}
.page-header-title, h1.page-header-title {
    font-size: 2.2rem;
    text-align: left;
}
*/
/*------------------------------------------------
 見出し
------------------------------------------------*/
h1, h2, h3, h4, h5, .siteHeader_logo {

}
h6 {
	font-weight: 400;
}
/* 見出しスタイル */
h2.is-style-default {
	border-bottom: 1px solid #CCC;
	padding: 0.3em 0 0.5em 0.5em;
	border-left: solid 5px #426FBC;
}
.is-style-vk-heading-solid_bottomborder_black {
    border-bottom: solid 1px #ccc;	
}
.is-style-vk-heading-dotted_bottomborder_black {
    border-bottom: dotted 1px #ccc;
}
/* 追加デザイン下斜線 */
.diagonal { 
	position:relative;
	padding:1.5rem 0
}
.diagonal:after {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:10px;
	content:'';
	background-image:-webkit-repeating-linear-gradient(135deg,#CCC,#CCC 1px,transparent 2px,transparent 5px);background-image:repeating-linear-gradient(-45deg,#CCC,#CCC 1px,transparent 2px,transparent 5px);
	background-size:7px 7px;
	-webkit-backface-visibility: hidden;
	backface-visibility:hidden;
}
.diagonal_wh { 
	position:relative;
	padding:1.5rem 0
}
.diagonal_wh:after {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:10px;
	content:'';
	background-image:-webkit-repeating-linear-gradient(135deg,#FFF,#FFF 1px,transparent 2px,transparent 5px);background-image:repeating-linear-gradient(-45deg,#FFF,#FFF 1px,transparent 2px,transparent 5px);
	background-size:7px 7px;
	-webkit-backface-visibility: hidden;
	backface-visibility:hidden;
}

.border-underline {
	border-bottom: 1px solid #ccc;
	padding-bottom: 5px;
	display:inline-block;
}

/* フォントサイズ調整 */
.h3, h3 {
    font-size: 1.5rem;
}
@media (max-width: 599px) {
	h1 {
		font-size: 2rem!important;		
	}
	h2 {
		font-size: 1.5rem!important;
	}
	h3 {
		font-size: 1.25rem!important;
	}
	h4 {
		font-size: 1.25rem!important;
	}
	p {
		font-size:1rem!important;
	}
}

.page-header_pageTitle {
	letter-spacing:0.3rem;
}

/*------------------------------------------------
 投稿
------------------------------------------------*/
/* 非表示項目 */
.entry-meta-item-author, .entry-meta-item-updated {
	display:none!important;
}
.next-prev {
	display:none;
}
/*
.vk_post_imgOuter {
    display: none;
}
*/

/***** テーマカラーを指定 *****/

/* アイコンの色 */
.entry-meta_items_term a {
	background-color: #D85B5B;
}
.entry-meta-data-list dt {
    background-color: #D85B5B;
}
.card-img-overlay span {
    background-color: rgba(216,91,91,.7)!important;
}
.card-intext .card-intext-inner .vk_post_body {
	background-color: rgba(216,91,91,.8);
}
@media (max-width: 599px) {
	.sub-section--col--two {
		display:none;
	}
}

.wp-block-latest-posts__post-title {
	font-weight:700;
}

/* 下部ボタン */
.works_foot{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.works_foot .back {
  position: absolute;
  right: 0;
}

/*------------------------------------------------
 テーブル
------------------------------------------------*/

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 {
	background-color:#FCFCFC;
	white-space: nowrap;
	font-weight:600;
}

/* レスポンシブ用の追加クラス */
@media (max-width: 640px){
	table {
  		width: 100%;
		table-layout: fixed;
	}
	.table-resp th {
        display: block;
		max-width:100%;
    } 
    .table-resp td {
        display: block;
		max-width:100%;
		text-align:center;
 ?  }
}
.scroll-box {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* レスポンシブにしない場合 */
@media (max-width: 640px) {
    table {
         table-layout: inherit;
    }
}

/*------------------------------------------------
 Googleマップ
------------------------------------------------*/
.gmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 60%;
}
.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.gmap_w {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 35%;
}
.gmap_w iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*------------------------------------------------
 コンタクトフォーム
------------------------------------------------*/
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 {
	max-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%;
	}
}
.btn-lg {
	font-size: calc(var(--vk-size-text) * 1.25);
}
.attention {
	color:#666666;
	font-size:0.8em;
	font-weight:normal;
}
.wpcf7-spinner {
    display: none !important;
}

/*------------------------------------------------
 デザイン調整
------------------------------------------------*/
/* フォント */
.mincho {
	font-family: "Shippori Mincho B1", serif;
}
.jfs {
	font-family: "Josefin Sans", serif;	
}
.oswald {
  font-family: "Oswald", sans-serif;
}

/* ナンバー用 */
.number {
	font-family: "Oswald", sans-serif;
}

.num_feauturs {
	font-family: "Oswald", sans-serif;
	font-size:5rem!important;
	line-height:1;
}
@media (max-width: 768px) {
  .num_feauturs {
    	font-size:3rem!important;
  }
}

.ltg-slide-text-set h3 span {
	letter-spacing:-0.5em;	
}

/* 区切り線調整 */
.wp-block-separator {
    border-bottom: 0px solid;
}

/* アンカーリンクのジャンプ位置調整 */
.anchor {
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}

/* リンク画像エフェクト */
a:hover img{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: “alpha( opacity=50 )”;
}
.floatsoft a img {
	transition: .3s;
}
.floatsoft a:hover img {
	transform: translateY(-8px);
	opacity:1;
}

/* 行間の調整 */
.entry-body ul li {
    margin-bottom: 0;
    line-height: 1.6em;
}

/* 記号の文字間調整 */
span.lh {
	letter-spacing:-0.5em;	
}

/* 画像サイズ調整 */
@media (max-width: 640px) {
	.img-responsive img {
		max-width:70%;
		margin: 0 auto;
	}
}

/* 画像下にシャドウで背景 */
.bg_zurashi {
	box-shadow: 10px 10px 0 #426FBC;
}

/*背景画像に色を重ねる */
.img_bg::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
	background-color: rgba(255, 255, 255, 0.4);
}

/* フロー */
.vk_flow .vk_flow_frame {
    padding: 20px 25px;
    border: 3px solid #E8E0D6;
    border-radius: 15px;
}
.vk_flow .vk_flow_frame_text_title {
    border-bottom: 1px dotted #E8E0D6;
}
@media (max-width:781px) {
	.vk_flow .vk_flow_frame_image {
    	max-width: 60%;
    	margin: 0 auto;
	}
}

/* コンテンツずらし */
@media (min-width:782px) {
	.shift_l {
		margin-left:-100px;
	}
}
@media (min-width:782px) {
	.shift_r {
		margin-right:-100px;
	}
}

/* gapで上詰めできない箇所に */
ul.children {
	margin-bottom:2rem!important;
}
.mt_-2 {
	margin-top:-2rem!important;
}

/* 方眼背景 */
.gridbox {
  /* 方眼紙模様に必須のスタイル */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f080 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f080 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  /* 以下任意のスタイル */
  padding: 20px;
}

/* faqアイコンの色 */
.is-style-vk_faq-bgfill-square .vk_faq_title::before {
	background-color: #E07572;
}
.is-style-vk_faq-bgfill-square .vk_faq_content::before {
	background-color: #678CCA;
}

/* ページ遷移時のエフェクト */
body.home {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.slide_target {
  pointer-events: none;
}

/*------------------------------------------------
 高さ統一ボタン下揃えのボックス
------------------------------------------------*/
/* タブレット縦くらい */
@media (max-width: 1024px) {
 ?.btnbox-grid {

  }
}
/* スマホ：1カラム */
@media (max-width: 768px) {
  .btnbox-grid {
    grid-template-columns: 1fr!important;
  }
}
/* ボックスを縦並びのFlexコンテナにする */
.btnbox {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.btnbox h2, .btnbox h3 {
	width:100%;
}
/* ボタンを一番下に押し下げる */
/* パターン1：ボタンが wp-block-button の場合 */
.btnbox .wp-block-vk-blocks-button {
	margin-top: auto;
}

/* 上余白が必要無しの場合 */
.sitebody-t-none {
	margin-top: -2rem;
}
@media (min-width:768px) {
	.sitebody-t-none {
		margin-top: -2.5rem;
	}
}
@media (min-width:992px) {
	.sitebody-t-none {
		margin-top: -3rem;
	}
}
@media (min-width:1200px) {
	.sitebody-t-none {
		margin-top: -3.5rem
	}
}

/* ロゴ */
/*
.site-header-logo::after {
	content:"株式会社○○○○";
	font-size:1.2rem;
	padding-top:1rem;
}
@media (max-width: 767px) {
	.site-header-logo {
		font-size:1rem!important;
		line-height:1.5;
	}
	.site-header-logo::after {
		padding-top:0;
	}
}
*/