/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/

@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');
body {
	font-family: "Lato", "Zen Kaku Gothic New", sans-serif;
	font-weight:400;
	font-size:16px;
 ? ?color: #333;
}

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

/*------------------------------------------------
 ヘッダー
------------------------------------------------*/
.site-header-container {
    max-width: var(--wp--style--global--wide-size);
	min-height:80px;
}
			
@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;
	}
}

.nav, nav {
    margin-top: 10px;
}

/* グローバルナビ：下線アニメーション（中央から伸びる） */
#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: #000000;
}

/*------------------------------------------------
 スライドショー全画面表示
------------------------------------------------*/
@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 .container {
	font-family: 'Shippori Mincho B1', serif;
	font-weight: 700;	
}
@media (max-width: 767px) {
	.ltg-slide-text-title {
		font-size:1.25rem!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:3.5rem;
	}
	.ltg-slide-text-caption {
		font-size:2rem;
	}
}

/* タイプライター　*/
/* タイプライター文字 */
.ltg-slide-text-title .tw-char {
  display: inline;
  opacity: 1;
}

/* 点滅カーソル */
.ltg-slide-text-title .tw-cursor {
  display: inline-block;
  width: 2px;
  height: 1em;
  background: #ffffff;
  margin-left: 4px;
  animation: tw-cursor-blink 0.8s step-end infinite;
  vertical-align: -0.1em;
}

/* カーソル点滅 */
@keyframes tw-cursor-blink {
  50% {
    opacity: 0;
  }
}

/*------------------------------------------------
 下層ページヘッダー
------------------------------------------------*/

.page-header {
	font-family: 'Shippori Mincho B1', serif;
}
@media (min-width: 992px){
	.page-header {
		text-align:left;
		margin-top:80px;
		background: rgba(0,0,0,.8);		
		color: #FFF;
		min-height: 8rem!important;
	}
}
@media (max-width: 991px){
	.page-header {
		text-align:left;
		background: rgba(0,0,0,.8);		
		color: #FFF;
		min-height: 8rem!important;
	}
}

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

.site-footer-content {
    max-width: var(--wp--style--global--wide-size);
}

/***** (必須)テーマカラーを指定 *****/
.site-footer {
	background-color:rgba(0,0,0,.8);
    color: #FFFFFF;
    border-top:none;
	font-size:14px;
}
.site-footer a {
	color: #FFFFFF;
	text-decoration-color: #FFFFFF;
}
.site-footer-copyright {
	background-color:rgbaa(0,0,0,.8);
}
.site-footer .widget p {
    line-height: 1.5em;
}
.site-footer .widget ul {
	margin-top: -0.5rem;
	list-style: none;
	padding-left: 1.5em;	
}
.site-footer .widget li {
	position: relative;
	line-height: 1.2em;
}
.site-footer .widget li::before {
	content: "";
	position: absolute;
	left: -1.2em;
	top: 0.6em;
	width: 0.6em;
	height: 1px;
	background: currentColor;
}
.footer-nav a {
	color:#FFF;
}

/*------------------------------------------------
 テーブル
------------------------------------------------*/
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;
}
table p {
	margin-bottom:0;
}
/* レスポンシブ用の追加クラス */
@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%;
    }
}
.scroll-box {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/*------------------------------------------------
 コンタクトフォーム
------------------------------------------------*/
.attention {
	font-size:0.8em;
	font-weight:400;
}
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"] {
		width:100%;
	}
}
.wpcf7 textarea[name="your-message"] {
	width: 100%;
}
.wpcf7-submit {
	display:block;
	margin:0 auto;
}
.attention {
	font-size:0.8em;
	font-weight:400;
}
.btn-lg {
	font-size: calc(var(--vk-size-text) * 1.25);
}

/*------------------------------------------------
 高さ統一ボタン下揃えのボックス
------------------------------------------------*/
/* タブレット縦くらい */
@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
	}
}

/*------------------------------------------------
 投稿
------------------------------------------------*/
/* 非表示項目 */
.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: ;
}
.entry-meta-data-list dt {
    background-color: ;
}
.card-img-overlay span {
    background-color: rgba(0,0,0,.7)!important;
}
.card-intext .card-intext-inner .vk_post_body {
	background-color: rgba(0,0,0.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;
}


/*------------------------------------------------
 デザイン調整
------------------------------------------------*/
/* FLOW BOX */
.vk_flow .vk_flow_frame {
    border-radius: 10px;
}
/* FAQ */
.vk_faq .vk_faq_title:before {
    color: #333132;
}
.is-style-vk_faq-border-circle .vk_faq_title:before, .is-style-vk_faq-border-square .vk_faq_title:before, .is-style-vk_faq-border-rounded .vk_faq_title:before {
    border: 1px solid #333132;
}
.vk_faq .vk_faq_content:before {
    color: #333132;
}
.is-style-vk_faq-border-circle .vk_faq_content:before, .is-style-vk_faq-border-square .vk_faq_content:before, .is-style-vk_faq-border-rounded .vk_faq_content:before {
    border: 1px solid #333132;
}

/* 既見出しデザイン修正 */
/* 直線 下線 黒 */
.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;
}
.is-style-vk-heading-dotted_bottomborder_black, .editor-styles-wrapper .block-editor-block-list__layout .is-style-vk-heading-dotted_bottomborder_black {
    border-bottom: dotted 1px #ccc;
}

/* 比較表 */
@media (max-width: 991px){
	.hikaku .wp-block-column-is-layout-flow:not(:first-child) {
		min-width:350px!important;
	}
}

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

/*------------------------------------------------
 クラシックエディタ用
------------------------------------------------*/
/* 左寄せ */
.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1em;
}

/* 右寄せ */
.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1em;
}

/* 中央揃え */
.aligncenter {
    display: block;
    margin: 0 auto 1em;
}