﻿@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=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');
@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');

/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap'); */

body {
	font-family: 'Lato', 'Zen Kaku Gothic New', sans-serif;
/*	font-family: 'Noto Sans JP', sans-serif;	*/
	font-weight: 400;
	font-size:16px;
	color: #333;
}

/* フリーダイヤルのアイコンフォント */
@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-container {
    max-width: var(--wp--style--global--wide-size);
}
@media (min-width: 992px) {
	body .site-header {
			background:rgba(255,255,255,0.5);
	}
	body:not(.header_scrolled) .site-header {
			background:rgba(255,255,255,0.5);
			position: absolute;
			top: 0;
			left: 0;
	}
	.header_scrolled .site-header {
			background:rgba(255,255,255,0.5);
	}
	.site-header-container {
    	height: 90px;
	}	
	.site-header-logo {
    	width: auto;
	}
	.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;
		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:500;
}
.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);
}

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

@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: 600;
}
.ltg-slide-text-title {
	font-size:2.5rem;
}
.ltg-slide-text-caption {
    font-size: 1.25rem;
	font-weight:600;
}
@media (min-width: 768px) {
	.ltg-slide-text-title {
		font-size:3rem;
	}
	.ltg-slide-text-caption {
    	font-size: 1.5rem;
		font-weight:600;
	}
}
@media (min-width: 992px){
	.ltg-slide-text-title {
		font-size:4.5rem;
	}
	.ltg-slide-text-caption {
    	font-size: 1.8rem;
	}
}

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

body:not(.home, .header_scrolled) .site-header {
	background:rgba(255,255,255,0.6);
}
@media (min-width: 992px){
	.page-header {
		min-height: 21rem!important;
		padding-top: 70px!important;
	}
}

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

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

.site-footer {
	background-color: #28A7E1;
    color: #FFFFFF;
    border-top:none;
	font-size:14px;
}
.site-footer a {
	color: #FFFFFF;
	text-decoration-color: #FFFFFF;
}
.site-footer-copyright {
	background-color: #28A7E1;
}
.site-footer .widget {
	margin-bottom:1rem;
}
.site-footer .widget p {
    line-height: 1.5em;
}
.site-footer .widget ul {
/*		margin-top: -0.5rem;	*/
}
.site-footer .widget li {
    	line-height: 1.2em;
}

@media (max-width: 991px){
	.site-footer p {
		margin-bottom:0;
	}
	.site-footer .widget ul {
		padding-left: 0;
		list-style-type:none;
	}
	.site-footer .widget li {
		float:left;
		padding: 0 0.5rem;
    	margin-bottom: 0;
	}
}

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

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

.page_top_btn {
	background: rgba(40,167,255,.8);
	border: 1px solid rgba(40,167,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(40,167,255,.8);
	opacity: 0;
}

/*------------------------------------------------
 見出し
------------------------------------------------*/
h1, h2, h3, h4, h5, .siteHeader_logo {
/*	font-family: 'Shippori Mincho B1', serif; */
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight:700;
}
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 #28A7E1;
}
.is-style-vk-heading-dotted_bottomborder_black {
    border-bottom: dotted 1px #ccc;
}

/* フォントサイズ調整 */
.h3, h3 {
    font-size: 1.5rem;
}
@media (max-width: 599px) {
	h2 {
		font-size: 1.5rem!important;
	}
	h3 {
		font-size: 1.25rem!important;
	}
.wp-block-cover__inner-container h2 {
		font-size: 1.23rem!important;
	}
	h4 {
		font-size: 1.25rem!important;
	}
	.has-large-font-size {
		font-size: 24px!important;
	}
	.has-huge-font-size {
		font-size: 28px!important;
	}
}

/* 追加デザイン下斜線 */
.midashi02 { 
	position:relative;
	padding:1.5rem 0
}
.midashi02: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;
}


/*------------------------------------------------
 ページタイトル
------------------------------------------------*/
.page-header-title{
	letter-spacing:0.3rem;
	text-align: left;
	text-shadow: 
    1px  1px 0 #FFF, -1px -1px 0 #FFF, 
    -1px  1px 0 #FFF,  1px -1px 0 #FFF,
    3px  3px 5px rgba(255,255,255,0.5); /* 最後の1つが影 */
}
.page-header {
    min-height: 12rem;
}
.page-id-11 .page-header {
	color:#333;
	background-image: url("https://ryushou.info/renew/wp-content/uploads/2025/12/header_company.jpg");
	background-color:rgba(255,255,255,0.3);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:left 50%;
}
.page-id-13 .page-header {
	color:#333;
	background-image: url("https://ryushou.info/renew/wp-content/uploads/2025/12/header_contact.jpg");
	background-color:rgba(255,255,255,0.3);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:left 90%;
}
.blog .page-header {
	color:#FFF;
	background-image: url("");
	background-color:rgba(0,0,0,0.2);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:left 55%;
}
.single-news .page-header {
	color:#FFF;
	background-image: url("");
	background-color:rgba(0,0,0,0.1);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:left 90%;
}

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

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

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

/* 下部ボタン */
.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%;
    }
}
.scroll-box {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/*------------------------------------------------
 Googleマップ
------------------------------------------------*/
.gmap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 75%;
}
.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%;
}

/*------------------------------------------------
 コンタクトフォーム
------------------------------------------------*/
@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;
}
.btn-lg {
	font-size: calc(var(--vk-size-text) * 1.25);
	font-weight:600;
}
div.wpcf7 .wpcf7-spinner {
    display: block;
}

/*------------------------------------------------
 デザイン調整
------------------------------------------------*/
/* ページ遷移時のエフェクト */
body {
    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}
}

/* 書体 */
.mincho {
	font-family: 'Shippori Mincho B1', serif!important;
}
.gothic {
	font-family: 'Noto Sans JP', sans-serif;
}

/* 区切り線調整 */
.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 )”;
}

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

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

/* スライダーの下余白 */
.vk_slider_item_container figure {
	margin:0;
}

/* 社長署名 */
.signature {
	font-family: 'Yuji Syuku', serif;
	font-size:1.25rem;
}

/*--------------------------------------------------
 バンザイ ＼　／
 --------------------------------------------------*/
.emphasis {
	display: flex;
	justify-content: center;
	align-items: center;
}
.emphasis::before,
.emphasis::after {
	width: 1px;
	height: 25px;
	background-color: #333333;
	content: '';
}
@media only screen and (max-width: 991px) {
	.emphasis::before,
	.emphasis::after {
		width: 1px;
		height: 20px;
	}
}
.emphasis::before {
	transform: rotate(-35deg);
	margin-right: 15px;
}
.emphasis::after {
	transform: rotate(35deg);
	margin-left: 15px;
}

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

  /* 以下任意のスタイル */
  padding: 20px;
}