@charset "utf-8";
/*
Theme Name: lightning子テーマ
Theme URI: 
Template: lightning
Description: Generation3 Origin3
Author: エヌエー・システムズ
Tags: 
Version: 0.1.0
*/
@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=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');
/*------------------------------------------------
　コピーライト非表示
------------------------------------------------*/
div.site-footer-copyright p:last-child {
	display:none;
} 

/*------------------------------------------------
 フォント
------------------------------------------------*/
body {
	font-family: "Lato", "Zen Kaku Gothic New", sans-serif;
	font-weight:400;
	font-size:16px;
    color: #333;
}
h1, h2, h3, h4, h5, h6, .site-header-logo, .global-nav-name {

}

/* フリーダイヤルのアイコンフォント */
@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';
}
a {
    text-decoration: underline;
    -webkit-text-decoration-style: dotted;
    text-decoration-style: dotted;
    text-underline-offset: 2px;
    -webkit-text-decoration-color: rgba(0,0,0,.3);
    text-decoration-color: rgba(0,0,0,.3);
    text-decoration-thickness: 1px;
}
a:hover {
	text-decoration:none;
}

/*------------------------------------------------
 へッター
------------------------------------------------*/
.site-header-container {
    max-width: var(--wp--style--global--wide-size);
    max-height: 95px;
}
.site-header-logo {
	font-size:2rem;
}
@media (min-width: 992px) {
	.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;
		z-index:10;
		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;
	    font-weight: 700;
	}
/* お問い合わせボタン(htmlはfuncrtion.phpに) */
	.logo-after .vk_button {
		margin-left:10px;
	}
}
@media (max-width: 991px) {
	.logo-after .contact_txt {
		margin-bottom: 5px;
	}
	.logo-after .contact_txt_catch, .logo-after .vk_button {
		display: none;
	}
	.contact_txt_tel {
		display:block;
	    font-size: 18px;
		text-align:center;
		font-weight: 700;
	}
}

/*------------------------------------------------
 グローバルメニュー
------------------------------------------------*/
.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;	
}

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

/*------------------------------------------------
 フッター
------------------------------------------------*/
.site-footer  {
    color: #FFF;
    background-color:#21ADBA;
	border-top:none;
}
.site-footer a {
	color: #FFF;
    -webkit-text-decoration-color: rgba(255,255,255,.5);
    text-decoration-color: rgba(255,255,255,.5);
}

/*------------------------------------------------
 ページトップボタン
------------------------------------------------*/
.page_top_btn {
	background: rgba(33,173,186,.8);
	border: 1px solid rgba(33,173,186,.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(33,173,186,.8);
	opacity: 0;
}

/*------------------------------------------------
 ページタイトルに背景画像を表示
------------------------------------------------*/
.page-header-title{
	letter-spacing:0.3rem;
}
.page-header {
    min-height: 15rem;
}
.page-id-1033 .page-header {
	color:#000;
	text-shadow: 2px 2px 3px #FFF;
	background-image: url("https://cityhouse-saga.com//wp-content/uploads/2025/07/header_service.jpg");
	background-color:rgba(255,255,255,0.3);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:left 75%;
}
.page-id-1036 .page-header {
	color:#000;
	text-shadow: 2px 2px 3px #FFF;
	background-image: url("https://cityhouse-saga.com//wp-content/uploads/2025/08/header_companyjpg.jpg");
	background-color:rgba(255,255,255,0.3);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:left 45%;
}
.page-id-321 .page-header {
	color:#000;
	text-shadow: 2px 2px 3px #FFF;
	background-image: url("https://cityhouse-saga.com//wp-content/uploads/2025/08/header_contact.jpg");
	background-color:rgba(0,0,0,0.2);
	background-blend-mode:overlay;
	background-size:cover;
	background-position:left 50%;
}

/* 投稿ページ */
.single .page-header,
.archive .page-header {
    min-height: 3rem;
}
.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 70%;
}

/* 見出しデザイン追加 */
/* 左カラー+下線 */
.midashi01 {
	border-bottom: 1px solid #CCC;
	padding: 0.3em 0 0.5em 0.5em;
	border-left: solid 5px #3485F3;
}
/* 下斜線 */
.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;
}

/* 既見出しデザイン修正 */
/* 直線 下線 黒 */
.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-background_fill_lightgray {
    background-color: #F5F5F5;
}
/* 左右線 */
.is-style-vk-heading-both_ends::before, .is-style-vk-heading-both_ends::after, .editor-styles-wrapper .block-editor-block-list__layout .is-style-vk-heading-both_ends::before, .editor-styles-wrapper .block-editor-block-list__layout .is-style-vk-heading-both_ends::after {
	border-bottom: 1px solid #ccc;
}

/* 子ページリスト見出し */
.sub-section-title:after {
	border-bottom: 0;
}

/*------------------------------------------------
 投稿
------------------------------------------------*/
article.entry {

}

/* 非表示項目 */
.entry-meta-item-author, .entry-meta-item-updated, .vk_post_date  {
	display:none!important;
}
/* アイコンの色 */
.entry-meta-data-list dt {
	background-color: rgba(52,133,243,.7);
}
.card-intext .card-intext-inner .vk_post_body {
    background-color: rgba(52,133,243,.7)
}

/*------------------------------------------------
 テーブル
------------------------------------------------*/
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;
}

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

/*------------------------------------------------
 Googleマップ
------------------------------------------------*/
.gmap iframe {
  width: 100%;
  aspect-ratio: 5/3;
}

.page-id-26 .site-body {
    padding-bottom: 0;
}

/*------------------------------------------------
 コンタクトフォーム
------------------------------------------------*/
.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);
}

/*------------------------------------------------
 アニメーション（色が敷かれてから要素が現れる）
------------------------------------------------*/
.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: #21ADBA;
}
.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);
  }
}
@media (min-width: 992px) {
    .max1100 {
        max-width: 1050px !important;
    }
}
/*------------------------------------------------
 デザイン調整
------------------------------------------------*/
/* ページ遷移時のエフェクト */
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}
}

/* スライドエフェクト */
@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;
}

/* スライドテキスト */
.ltg-slide-text-set {
	top: 47%;
	left: 50%;
}
@media (max-width: 640px){
	.ltg-slide-text-title {
		font-size:4.5rem!important;
	}
}

/* スライドテキストエフェクト */
.ltg-slide-text-title, .ltg-slide-text-caption {
  position: relative;
  opacity: 0;
  transform: translateY(30%);
  animation: fadeInFromBottom 2s forwards;
}
@keyframes fadeInFromBottom {
  to {
    opacity: 1; /* アニメーション終了時に完全に表示 */
    transform: translateY(0); /* アニメーション終了時の位置 */
  }
}

/* リンク画像エフェクト */
a:hover img{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: “alpha( opacity=50 )”;
}

/* ギャラリー */
.wp-block-gallery.has-nested-images figure.wp-block-image {
  flex-grow: 0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    font-size: 16px;
	font-weight: 700;
}
.center .wp-block-gallery {
	justify-content: center;
}

/* 子ページインデックスタイトル */
.veu_card .veu_card_title {
	font-size:20px;
}

/* 区切線 */
.delimiterb {
	border: 3px solid var(--vk-color-border-hr);
	margin-bottom: var(--vk-margin-headding-bottom);
	width:50px;
}
.is-style-vk-heading-dotted_bottomborder_black {
	border-bottom: 1px dotted #CCC;
}

/* CTA */
.home ul.is-style-vk-check-mark li {
    margin: 0;
    line-height: 16px;
}
.mih-none {
	min-height:0!important;
}

/* ウィジット下余白 */
.widget {
	margin-bottom:0;
}

/* 明朝体 */
.mincho {
		font-family: "Noto Serif JP", serif;
}

/* フローチャート */
.vk_flow .vk_flow_frame_image {
    max-width: 180px;
    margin: 0 auto;
}

/* グループ余白 */
@media (max-width: 991px) {
	.grp_sp {
		padding-left:1rem!important;
		padding-right:1rem!important;
	}
}

/* テキストシャドウ */
.w_shadow_s {
	text-shadow: 1px 1px 2px #FFFFFF;
}