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

/*SPフォントサイズ*/
@media (max-width: 575px) {
	body,html{ font-size:16px;}
}

.site-body{
	padding-top:0;
}

/*site-body 背景画像*/
@media (min-width: 992px) {
.site-body{
	background: url('https://stage.mitsuho.co.jp/wp-content/uploads/2025/05/bg_mk3.png') no-repeat right top / 70%;
	background-attachment: fixed;
}
}

.site-header-logo{
margin-top:5px;
}
.scrolled .site-header-logo{
margin-top:0;
}
@media (max-width: 991px) {
.scrolled .site-header-logo{
margin-top:3px;
}	
}

@media (min-width: 992px) {
.site-header--layout--nav-float .site-header-logo {
	width:auto;
	text-align: left;
    padding-top: 0.2rem;
    margin-bottom: 0.3rem;
    margin-left: 0;
}
}/*PCでのロゴ調整*/

.site-body-container h2.wp-block-heading{
	font-weight:300;
}

.topSwipe p{
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
}
.txtshadow{
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
}

/*リンク 黒*/
.postListText_title a{
	color:#333;
}
/*ヘッダー幅 全幅*/
.site-header--layout--nav-float .site-header-container,.site-header--layout--nav-float .site-header-container.site-header-container--scrolled--logo-and-nav-full{
	width:90%;
	max-width: 90%;
	margin:0 auto;
}
@media (max-width: 1057px) {
.site-header--layout--nav-float .site-header-container,.site-header--layout--nav-float .site-header-container.site-header-container--scrolled--logo-and-nav-full{
	width:100%;
	max-width: 100%;
	margin:0 auto;
}	
}

/*ヘッダー-----------------------*/
@media (min-width: 992px) {
.header_scrolled .site-header {
	box-shadow: none;
	border-bottom:1px solid #999;
}/*スクロール時のヘッダーの線*/
}

/*ヘッダーロゴ SP*/
@media (max-width: 991px) {
    .site-header-logo--mobile-position--left img {
        /*max-height: 24px;*/
		/*max-height: 48px;*/
		/*max-height: 36px;*/
		width:180px;
    }
    .site-header-logo {
        padding-top: 0.5rem;
        margin-bottom: 0.3rem;
    }
}

/*モバイルヘッダー固定---------*/
@media (max-width: 991.98px){
	body:not(.home) .site-body {
  padding-top:60px;
}
	.site-header {
		position:fixed !important;
		top:0px;
	}
	.header_scrolled .site-header-logo{
		/*display:block;*/
	}
	body.header_scrolled {
		/* モバイル時のヘッダーの高さ */
		 padding-top:64px;
	}
	/* ヘッダー透過の時 */
	.site-header--trans--true+div {
		/* モバイル時のヘッダー高さ分マイナスオフセット */
		margin-top:-64px;
	}
	/*スクロール時に紺地のロゴ表示*/
	.header_scrolled .site-header-container--scrolled--logo-and-nav-full .site-header-logo a{
		display:block;
		width:220px !important;
		height:51px !important;
		max-height:51px !important;
	}
	.header_scrolled .site-header-container--scrolled--logo-and-nav-full .site-header-logo img{
		display:none;
	}
	.header_scrolled .site-header-container--scrolled--logo-and-nav-full .site-header-logo {
        width: 100%;
        display: block !important;
        /*margin: 10px 0;*/
		/*margin-top:9px;*/
        padding: 0;
        z-index: 1000;
background:url("https://stage.mitsuho.co.jp/wp-content/uploads/2025/05/logo-header-mitsuho-sml.png") no-repeat center left / 180px auto !important;
        /*display: flex;
        align-items: center
		height:60px;*/
}
	.home.header_scrolled .vk-mobile-nav-menu-btn{
background:url("https://stage.mitsuho.co.jp/wp-content/uploads/2025/02/mmenu_hum_open.png") no-repeat;
		background-size: 70%;
	}
}



/*モバイルメニュー*/
.vk-mobile-nav-menu-btn{
	border:none;
}
.vk-mobile-nav-menu-btn {
    border: none;
	background-color:#fff;
    background-image: url("http://new.mitsuho.co.jp/wp-content/uploads/2025/02/mmenu_hum_open.png");
	  background-size: 70%;
}
.home .vk-mobile-nav-menu-btn {
    border: none;
	background:none;
    background: url("https://new.mitsuho.co.jp/wp-content/uploads/2025/05/mmenu_hum_open_mb.png") no-repeat;
	  background-size: 70%;
}
.vk-mobile-nav-menu-btn.menu-open {
    border: none;
    background-image: url("http://new.mitsuho.co.jp/wp-content/uploads/2025/02/mmenu_hum_close.png");
	 background-size: 70%;
}
.vk-mobile-nav-menu-btn {
        width: 38px;/*32px*/
        height: 38px;
        /*margin-top: 7px;*/
	margin-top:14px;
        margin-right: 10px;
	padding:5px;
    }
.vk-mobile-nav nav>ul{
	border:none;
}
.vk-mobile-nav nav ul li a{
	border:none;
	text-align: left;
    font-weight: bold;
}

/*モバイルメニュー2*/
.mobile-logo{
	margin-top:-94px;
}
.vk-mobile-nav nav ul li a {
font-size:21px;
}
.vk-menu-acc ul.sub-menu li a {
font-size:18px;
}
.vk-mobile-nav nav ul li{
	border-top:1px solid #ccc;
}
.vk-mobile-nav nav ul li:last-child{
	border-bottom:1px solid #ccc;
}
.vk-mobile-nav nav ul.sub-menu.acc-child-open{
	padding:10px;
}
.vk-mobile-nav nav ul.sub-menu li{
	border:none;
}
.vk-mobile-nav nav ul.sub-menu li a{
	line-height:1;
	padding: 0.5em !important;
}

.vk-menu-acc .acc-btn{
	background: #2186D5 url(https://stage.mitsuho.co.jp/wp-content/uploads/2025/05/icons-plus.png) center 50% no-repeat;
background-size: 60%;
	border:1px solid #2186D5;
	border-radius:50%;
	margin-top:10px;
}
.vk-menu-acc .acc-btn-close{
	background: #2186D5 url(https://stage.mitsuho.co.jp/wp-content/uploads/2025/05/icons-minus.png) center 50% no-repeat;
background-size: 60%;
	border:1px solid #2186D5;
	border-radius:50%;
	margin-top:10px;
}
.vk-menu-acc li.menu-item-has-children>a {
	margin-right:0;
	padding-right:0;
}
li.acc-parent-open > a{
	border-bottom:1px dotted #ccc !important;
}

/*モバイルメニュー　問い合わせ*/
.mobile-contact.vk_button a{
	background-image: linear-gradient(90deg, #278bd8, #82c5fa) !important;
}
.mobile-contact.vk_button .vk_button_link.btn{
    padding: .4em 2rem;
}

/* グローバルナビリストのフォントサイズ変更 */
.global-nav-list>li .global-nav-name{
font-size:16px !important;
}
.global-nav-list{
gap:1em !important;
}

/*グロナビ　問い合わせボタン*/
.global-nav ul li:last-child a{
	background-image: linear-gradient(90deg, #278bd8, #82c5fa);
	border-radius: 30px;
	color:#fff;
}
body:not(.header_scrolled) .site-header--trans--true .global-nav-list > li:last-child > a{
	color:#fff;
}

.home .global-nav ul li:last-child a{
	background:#fff;
	border-radius: 30px;
}
body.home:not(.header_scrolled) .site-header--trans--true .global-nav-list > li:last-child > a{
	color:#004F8A;
}
/*グロナビ　問い合わせボタン　スクロール時*/
.header_scrolled .global-nav ul li:last-child a{
	background-image: linear-gradient(90deg, #278bd8, #82c5fa);
	color:#fff;
	border-radius: 20px;
}
.global-nav-list li{
	line-height:0.8;
	margin:15px 0;
	padding-top:0 !important;
	padding-bottom:0 !important;
}
.global-nav ul li:last-child a:hover{
	border-bottom:none;
}
.global-nav-list>li:last-child::before{
	border-bottom:0;
}
/*ロゴの大きさをスクロール時と非スクロール時で統一*/
@media (min-width: 992px) {
.site-header-logo img{align-content
	width:222px !important;
	height:51px !important;
	max-height:51px !important;
	}
.header_scrolled .site-header-logo img{
	/*width:115.32px;*/
	width:222px !important;
	height:51px !important;
	max-height:51px !important;
}
}

/*ヘッダー　グロナビ-----------------------*/
@media (min-width: 992px) {
.site-header-container{
	justify-content: space-around;
  padding: 0;
  gap: 0;
}
.site-header-logo{
	margin:0 !important;
	padding:0 !important;
	align-items:center !important;
	display:flex;
}
.mega-menu-wrap{
	margin:0 !important;
	padding:0 !important;
}
}
header .mega-menu-wrap{
	width:80% !important;
	justify-content:flex-end;
}/*カラムの幅*/


/*グロナビのカレント*/
.global-nav-list>li:before {
    /*border-bottom: none;*/
}
.global-nav-list>li:before {
    /* border-bottom: none; */
}
.global-nav-list>li.current_page_item:before{
    position: absolute;
    left: 20%;
    bottom: 0;
    content: "";
    width: 60%;
    border-bottom: 1px solid var(--vk-color-primary);
    transition: all .5s ease-out;
}

.header_scrolled .site-header-container--scrolled--logo-and-nav-full {
    /*justify-content: space-around;*/
}/*スクロール時のグロナビの配置*/
.home #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item > a.mega-menu-link{
	color:#fff;
	}/*ホームのグロナビ白字*/
.scrolled.home #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item > a.mega-menu-link{
	color:#222;
}/*ホームのスクロール時のグロナビ黒字*/
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item > a.mega-menu-link:hover{
    border:none;
    text-decoration: underline #2186d5;
	text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link{
	border:none;
    text-decoration: underline #2186d5;
	text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:hover, #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link:hover{
	border:none;
    text-decoration: underline #2186d5;
	text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}/*グロナビのカレントとホバー時の下線*/
#mega-menu-wrap-global-nav #mega-menu-global-nav li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
	margin: 0 0 0 2px;
}/*メニューと矢印の間*/

/*ヘッダー　メガメニュー-----------------------*/
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item > .mega-sub-menu{
	position: fixed !important;
  	left: 50% !important;
  	transform: translateX(-50%) !important;
	top:86px !important;
}/*メガメニューをブラウザ中心に配置*/
#mega-menu-wrap-global-nav #mega-menu-global-nav li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    padding: 5px 5px 5px 40px;
	margin:0;
}/*メガメニュー内のサブメニュー*/
#mega-menu-wrap-global-nav #mega-menu-global-nav li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item:first-child{
	padding-top:20px;
}/*メガメニュー内の上余白*/
/*#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard h4.mega-block-title, #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item h4.mega-block-title{
	color:#004f8a;
	font-size:20px;
}*//*メガメニュー内の大項目*/

#mega-menu-wrap-global-nav #mega-menu-global-nav p{
	margin-bottom:0;
}
#mega-menu-wrap-global-nav #mega-menu-global-nav p a{
	color:#004f8a;
	font-size:20px;
	font-weight:bold;
}

#mega-menu-wrap-global-nav #mega-menu-global-nav li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column:first-child{
	border-right:1px solid #ccc;
	padding-right:15px;
}/*メガメニュー内のしきり線*/
	
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link, #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item:first-child > a.mega-menu-link{
	padding-top:10px;
}/*メガメニュー内のサブメニューの配置を大項目より少し下げる*/
.mega-menu-column{
	padding-bottom:10px !important;
}/*メガメニューの下余白*/
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link
{line-height:1.4;margin-bottom:5px;}/*メガメニューの行間*/
	
/*グロナビ　問い合わせボタン*/
.home #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item:last-child a{
	background:#fff;
	color:#2186D5;
	border-radius: 30px;
	height: 34px;
	padding: 8px 20px;
	line-height: 1;
}
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item:last-child{
	margin-right:0;
}

.page-id-320 #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item.mega-current-menu-item > a,
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item:last-child a,/*デフォルト*/
.scrolled.home #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item:last-child a,/*ホームのスクロール時*/
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item:last-child a:hover,/*デフォルトのホバー時*/
.scrolled #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item:last-child a:hover/*デフォルトスクロールのホバー時*/{
	background-image: linear-gradient(90deg, #278bd8, #82c5fa);
	border-radius: 30px;
	color:#fff;
	height: 34px;
	padding: 8px 20px;
	line-height: 1;
	text-decoration: none;
}
#mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item:last-child a:hover,.home #mega-menu-wrap-global-nav #mega-menu-global-nav > li.mega-menu-item:last-child a:hover{
	text-decoration: none;
	opacity:0.8;
}

@media (max-width: 991px) {
	#mega-menu-wrap-global-nav{
		display:none;
	}
}


/*ボタンの設定*/
.btn{
	border-radius:30px;
}
.dftbtn .btn,.post-type-products .btn{
	background-image: linear-gradient(90deg, #278bd8, #82c5fa);
}
.vk_button .vk_button_link.btn.btn-md {
    padding: .3em 1.7rem;
    font-size: calc(1rem* 0.9);
}
/*ボタンのhover*/
.vk_button a:hover.vk_button_link.btn.btn.has-background{
	border:1px solid #2186D5 !important;
	background:none !important;
	color:#2186D5 !important;
}
.vk_button a:hover{
	box-shadow:none;
	opacity:1;
}
.dftbtn a.btn:hover,.post-type-products a.btn:hover{
	border:1px solid #2186D5 !important;
	background:none !important;
	color:#2186D5 !important;
}

/*四角いボタン*/
.btnsquare .btn{
	border-radius:5px;
}
.btnsquare .vk_button .vk_button_link.btn, .btnsquare .editor-styles-wrapper .vk_button .vk_button_link.btn {
    padding: 1em 1.7rem;
    /*font-size: calc(1rem* 0.9);*/
	font-weight:bold;
}
/*四角いボタンの矢印をはじに*/
.btnsquare .vk_button_link_caption {
    width: 100%;
}
.vk_button_link_txt {
    flex: 1;
}

/*ローカルナビボタン　pc・スマホ localNavBは事業案内 localNavは製品案内---------------*/
/* 共通のボタンスタイル */
.localNav .btn, .localNavSp .btn{
	border-radius: 0;	
  	border: none;
}
.localNavProduct .btn, .localNavProductSp .btn {
	border-radius: 30px;
  	border: 1px solid #FFF;
}
/* ボタンのフォントサイズとパディング */
.localNav .vk_button .vk_button_link.btn,
.localNav .vk_button .vk_button_link.btn.btn-md,
.localNavSp .vk_button .vk_button_link.btn,
.localNavSp .vk_button .vk_button_link.btn.btn-md,
.localNavProduct .vk_button .vk_button_link.btn,
.localNavProduct .vk_button .vk_button_link.btn.btn-md,
.localNavProductSp .vk_button .vk_button_link.btn,
.localNavProductSp .vk_button .vk_button_link.btn.btn-md{
    font-size: 14px;
}
.localNav .vk_button .vk_button_link.btn.btn-md,
.localNavSp .vk_button .vk_button_link.btn.btn-md {
    padding: 0.8rem 1.7rem;
    font-weight: 600;
}
.localNavProduct.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content,
.localNavProductSp.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{
	border:1px solid #fff;
	border-radius:30px;
	color:#fff;
	padding: 0.2rem 1rem;
  	font-weight: 600;
}/*製品案内*/
.localNavProduct.wp-block-navigation .current-menu-item .wp-block-navigation-item__content,
.localNavProductSp.wp-block-navigation .current-menu-item .wp-block-navigation-item__content
{
	background:#fff;
	color: #004F8A;
}/*製品案内カレント*/
/* ホバー時の背景と色変更 */
.localNav .vk_button a:hover.vk_button_link.btn.btn.has-background,
.localNavProduct .vk_button a:hover.vk_button_link.btn.btn.has-background {
    background: #E0E8F5 !important;
    color: #004F8A !important;
}
.localNavSp .vk_button a:hover.vk_button_link.btn.btn.has-background,.localNavProductSp .vk_button a:hover.vk_button_link.btn.btn.has-background {
    border: 1px solid #004F8A !important;
    background: none !important;
    color: #004F8A !important;
}
.localNavProductSp .vk_button a:visited,.localNavProductSp .vk_button a:active{
	border: 1px solid #FFF !important;
	color:#FFF !important;
}
/* フレックスレイアウトの間隔 */
.localNav.is-layout-flex, .localNavSp.is-layout-flex {
    gap: 0;
}
.localNavProduct.is-layout-flex, .localNavProductSp.is-layout-flex {
    gap: 10px;
}
.localNavProductSp.wp-block-navigation
.wp-block-navigation-item:first-child{
	margin-left:20px;
}
/* その他のスタイル */
.localNav .btn {
    min-width: 100px;
}
.localNavSp .vk_button {
    margin-bottom: 0;
}
.localNavSp.swiper {
    padding-bottom: 0;
}
.localNavSp .container {
    padding: 0;
}
.localNavSp .vk_button .vk_button_link.btn.btn-md {
    padding: 0.6em 0.8rem;
    font-size: 18px;
    font-weight: bold;
}
.localNavSp .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    margin: 0;
    max-width: 100%;
}
.localNavSp .btn {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/*製品案内のローカルナビをスマホで横スクロールする*/
.localNavProductSp{
overflow-x: auto;
}
.localNavProductSp .vk_button{
	white-space: nowrap;
	width: max-content;
}
.localNavProductSp.wp-block-navigation{
	flex-wrap: nowrap;
}
.localNavProductSp.wp-block-navigation a.wp-block-navigation-item__content.wp-block-navigation-item__content{
	white-space: nowrap;
}
.localNavProduct,.localNavProductSp{
	margin-bottom:20px;
}

/*スライド ページネーションの点*/
.swiper-pagination-bullet-active{
	background-color:#2186D5;
}



/*トップページのお知らせ投稿リスト１行テキストタイプ*/
.site-body .postListText_title a::after {
content: "\f138"; 
font-family: "Font Awesome 5 Free"; 
font-weight: 900; 
margin-left: 8px; 
position: absolute;
top: 0;
right: 0;
color:#2186D5;
font-size:22px;
line-height: 1;
}/*矢印*/
.site-body .postListText_title a:hover::after {
color:#E0E8F5;
}/*矢印のhover*/
.site-body .postListText_title a{
width:100%;
display: block;
position: relative;
padding-right:34px;
line-height: 1.5;
text-decoration:none;
}
.site-body .postListText_title a:hover{
color:#2186D5;
}
.site-body .postListText_date,
.site-body .postListText_singleTermLabel,
.site-body .vk_posts .postListText_title{
	font-size:16px;
	min-width: 76px;
}/*日付*/
.site-body .postListText_singleTermLabel .postListText_singleTermLabel_inner{
	border:1px solid #2186D5;
	border-radius:20px;
	background:none !important;
	color:#2186D5 !important;
	padding-top:2px;
	padding-bottom:2px;
}/*線*/
.site-body .postListText_singleTermLabel {
    min-width: 112px;
}/*カテゴリ表示の幅*/
.site-body .postListText:first-child{
	border-top: 1px solid #999;
}
.site-body .postListText {
    border-bottom: 1px solid #999;
}/*一番上の線*/

.swiper{
	padding-bottom:40px;
}
.swiper-pagination-bullet {
    width: 8px; /* 幅を固定 */
    height: 8px; /* 高さを幅と同じにする */
    border-radius: 50%; /* 正円にする */
}
.swiper a:hover{
	background:#fff;
	opacity:0.2;
}

/*トップに戻る*/
.page_top_btn {
width: 44px;
height: 42px;
background:#2186D5;
border-radius: 50%;
background-image: url(/wp-content/uploads/2025/02/backbtn.png);
background-size:40%;
background-repeat: no-repeat;
background-position: center;
box-shadow: none;
opacity: 0.7 !important;
bottom: 20px;
}

/*フッター*/

.footerMenu h4{
	font-size:16px;
	text-align:left;
	color:#fff;
}
.footerMenu h4 a{
	color:#fff;
}
.footerMenu li{
	list-style:none;
	font-size:13px;
	font-weight:300;
}
.footerMenu ul{
	padding-left:0;
}
.vk_button.footerBtnContact .vk_button_link.btn{
	padding: .3em 1.0rem;
	font-weight:bold;
}

footer .footerBtnContact a:hover{
	border:1px solid #fff !important;
	color:#FFF !important;
}
footer .footerBtnContact a{
	background:#f00;
}
footer .vk_button a:hover.vk_button_link.btn.btn.has-background{
	border:1px solid #FFF !important;
	background:none !important;
	color:#FFF !important;
}
footer .vk_button a:hover{
	box-shadow:none;
	opacity:1;
}


footer .sectionBox {
    display:none !important;
    }

footer .copySection {
    display:block !important;
    border-top:none !important;
    }
footer .vk_gridColumn [class*=col-] {
    padding: 0 10px 0 5px;
}
footer .vk_gridColumn [class*=col-]:last-child{
	padding: 0 0 5px 0;
}
@media (max-width: 991px) {
footer .vk_gridColumn [class*=col-]{
	padding-bottom:30px;
}
}
@media (max-width: 781px) {
footer .vk_gridColumn [class*=col-]{
	padding-left:30px;
}
	.footerLogo{
		width:200px;/*160px*/
		margin-left:30px;
	}
}

footer .has-text-color a{
	color:#fff;
	text-decoration:none;
}

footer .has-text-color a:hover{
	text-decoration:underline;
}

/*ブロックテンプレートに子ページリストをいれるとなぜか設定が効かないのでcssで消している*/
footer .postListText_date,footer .postListText_singleTermLabel{
	display:none;
}

/*フッター*/
footer .vk_posts-layout-postListText{
	border:none;
}
footer .postListText{
	border:none;
}
footer .vk_posts .postListText_title {
  font-size: 12px;
	line-height:normal;
}
footer .postListText_title a {
    color: #fff;
}
footer .postListText{
    padding: 3px 0;
}
footer .postListText p a{
    text-decoration: none;
}
footer .vk_childPage{
	margin-top:0;
}
footer h4{
	margin-bottom:0.5rem;
}

/*トップ 製品案内スライダー*/
.topSliderItem{
	/*width:288px;*/
	/*max-width:288px;*/
	width:100%;
  height:288px;
  border-radius:10px;
  align-items:start;
  padding:10px;
}
@media (max-width: 1220px) {
	.topSliderItem{
	width:100%;
  border-radius:10px;
  align-items:start;
  padding:10px;
	}
	.topSliderItemSpace{
	height:80px;
}
}
@media (max-width: 991px) {
	.topSliderItemSpace{
	height:170px;
}
}
@media (max-width: 781px) {
	.topSliderItemSpace{
	height:100px;
}
}

.topSliderItem .vk_outer_container{
  position: relative;
	height:270px;
}
.topSliderItem .topSliderItemText{
	position: absolute;
	bottom:0;
	margin-bottom:10px;
}

/*ページヘッダー非表示*/
.page-header { display:none; }
/*詳細ページ下部のメタデータ（カテゴリ表示）*/
.entry-meta-data-list{
	display:none;
}

/*問い合わせフォームでプライバシーポリシーにチェックでボタンの色変更*/
.wpcf7-submit:disabled {
background-color: #999;
border:1px solid #999;
}

.wpcf7 .wpcf7-submit{
	font-size:18px;
}
.wpcf7 h4{
	font-size:20px;
	font-weight:600;
	color:#004F8A;
	text-align:left;
	margin-bottom:6px;
}
.wpcf7 h4 span.required{
	background-color:#FD813F;
	color:#fff;
	margin-left:10px;
	font-size:14px;
	padding:1px 8px 2px 8px;
}

.wpcf7 input[type=date], .wpcf7 input[type=email], .wpcf7 input[type=number], .wpcf7 input[type=password], .wpcf7 input[type=tel], .wpcf7 input[type=text], .wpcf7 input[type=url], .wpcf7 select, .wpcf7 textarea {
    font-size: 1rem;
    border: 1px solid #999;
    border-radius: 0;
    padding: .8em 1em;
    margin: 0 0 .5rem;
    width: 100%;
    color: var(--vk-color-text-body);
    background-color: #fff;
}
.wpcf7 input[type=submit] {
    border-radius: 20px;
}
#wpcf7cpcnf table,#wpcf7cpcnf th,#wpcf7cpcnf td{
	border:none;
}
#wpcf7cpcnf th,#wpcf7cpcnf td{
	border-top:1px solid #ccc;
}
#wpcf7cpcnf th{
	width:25%;
	text-align:left;
	color:#004F8A;
}
#wpcf7cpcnf p{
	margin-top:10px;
	font-size:16px;
}
#wpcf7cp-btns{
	/*text-align:center;*/
}
button.wpcf7-form-control{
	border:none;
	border-radius:30px;
  padding: .5em 2em;
  font-size: 18px;
	background:#999;
	color:#fff;
}

/*製品案内検索*/
@media (min-width: 992px) {
.productsearch{
	width:500px;
	margin:0 auto;
}
}
.vkfs .btn[type=submit] {
	width:auto;
	letter-spacing:0;
    padding: .5em 2em ;
}

.productCatBox .vk_gridColumn_item_inner{
  border-radius:5px;
  border:1px solid #ccc;
}

/*製品案内とサービス一覧グリッドカラム page-id-863製品案内 page-id-311サービス一覧*/
.productCatBox2.vk_gridColumn [class*=col-] {
	padding:0;
	margin-bottom:1px solid #ccc;
	border:1px solid #ccc;
	border-right:none;
	background:#fff;
	/*margin-bottom:10px !important;*/
  /*box-shadow: inset 0 0 0 2px #ccc;*/
}

@media (min-width: 576px){
	.page-id-311 .productCatBox2.vk_gridColumn [class*=col-]:nth-child(even) ,.productThird.productCatBox2.vk_gridColumn [class*=col-]:nth-child(even) {	
	border-right:1px solid #ccc;
}/*サービス一覧*//*productThirdは製品詳細の第3階層*/ .productThird2.productCatBox2.vk_gridColumn [class*=col-]:nth-of-type(n+2)  {	
	border-right:1px solid #ccc;
}/*productThird2は製品詳細の第3階層の３列のもの-照明*/
}

@media (min-width: 768px){
.page-id-863 .productCatBox2.vk_gridColumn [class*=col-]:nth-child(3n) {	
	border-right:1px solid #ccc;
}/*製品案内・3の倍数のみ右の線*/
	.productThird2.productCatBox2.vk_gridColumn [class*=col-]:nth-of-type(n+2)  {	
	border-right:none;
}
.productThird2.productCatBox2.vk_gridColumn [class*=col-]:nth-child(3n) {	
	border-right:1px solid #ccc;
}/*productThird2は製品詳細の第3階層の３列のもの-照明*/
}

/*3階層タイトルバー*/
.third-title span{
background-image: linear-gradient(90deg, rgba(0, 79, 138, 1), rgba(39, 139, 216, 1)) !important;
}
.third-title{
	border-bottom:2px solid #FECA00;
}


/* 外枠を囲む */
.productCatBox2.vk_gridColumn .row {

}

@media (min-width: 576px) and (max-width: 767px) {
.page-id-863 .productCatBox2.vk_gridColumn [class*=col-]:nth-child(even) {	
	border-right:1px solid #ccc;
}/*製品案内偶数のみ右の線*/
.page-id-863 .productCatBox2.vk_gridColumn [class*=col-]:nth-child(9) {
		border-right:1px solid #ccc;
	}/*製品案内の九番目の要素*/
}
@media (max-width: 575px) {
	.productCatBox2{
		margin-right:15px;
		margin-left:15px;
	}
	.productCatBox2.vk_gridColumn [class*=col-]{
		border-right:1px solid #ccc;
	}
}/*スマホで一列の場合*/
.productCatBox-image.wp-block-cover{
	align-items:flex-start;
}

/*沿革・SP・ライン*/
	/*短い版*/
.histroySpBorderSt{
	height:20px;
	margin:0;
}
	/*長い版*/
.histroySpBorderlg{
	height:30px;
	margin:0;
}

/*事業案内の下層　業務の流れ*/
.flowBox .row .wp-block-vk-blocks-grid-column-item {
    padding: 0 5px !important;
}

.flowItem{
	height:100px;
	clip-path: polygon(0% 0%, 75% 0%, 100% 50%, 75% 100%, 0% 100%);
  padding:8px;
  margin-bottom:0;
}
.flowItemLast{
	height:100px;
	margin-bottom:0;
}
.flowText{
	font-size:14px;
	line-height:1.3;
}
@media (max-width: 991px) {
.flowItem{
	height:80px;
  padding:0 10px;
  margin-bottom:0;
}
	.flowItemLast{
	height:80px;
	margin-bottom:0;
}
	.vk_gridColumn.flowBox .row{
		margin:0;
	}
	.flowText{
	font-size:14px;
		line-height:1.3;
}
}

/*2カラム時のサイドのウィジェットのマージンを削る（お知らせの見出しのマージン）*/
.sub-section--col--two .widget{
	margin-bottom:10px;
}
/*お知らせ 右サイト*/
.single-news .site-body .vk_posts-layout-postListText{
	border:none;
}
.single-news .site-body .postListText_title a::after{
	content: none;
}
.single-news .sub-section .vk_post {
    margin-left: 0;
    margin-right: 5px;
}
.single-news .sub-section .wp-block-group{
	border:none;
}




/*2階層目の紺地のページタイトル*/
.secondPageTitle {
	margin-right:40px;
}

/*事業案内の下層ページで使用する紺枠線、角丸のボックス*/
.nabyBorderBox{
	border-radius:8px;
  border:1px solid #004F8A;
}

/*沿革------------*/
.histroryLeftBox::after {
  content: "";
  position: absolute;
  top: 50%; /* ボックスの中央に線を配置 */
  right: -30px; /* 右端から少し外に出す */
  width: 30px; /* 横線の長さ */
  height: 2px; /* 横線の太さ */
  background-color: black; /* 横線の色 */
  transform: translateY(-50%); /* 中央に配置 */
}
.histroryRightBox::after {
  content: "";
  position: absolute;
  top: 50%; /* ボックスの中央に線を配置 */
  left: -30px; /* 右端から少し外に出す */
  width: 30px; /* 横線の長さ */
  height: 2px; /* 横線の太さ */
  background-color: black; /* 横線の色 */
  transform: translateY(-50%); /* 中央に配置 */
}
.histroryTopBox::after {
  content: "";
  position: absolute;
  left: 20%; /* ボックスの中央に線を配置 */
  top: -20px; /* 右端から少し外に出す */
  width: 5px; /* 横線の長さ */
  height: 40px; /* 横線の太さ */
  background-color: /*#E2F3F9*/#F1F5FB; /* 横線の色 */
  transform: translateY(-50%); /* 中央に配置 */ 
}

/*記事詳細　次の記事前の記事*/
.next-prev-prev.card-horizontal .card-body {
display: flex;
padding: 0;
align-items: center;
justify-content: flex-start;
}

.next-prev-prev.card-horizontal .card-body:before {
font-family: "Font Awesome 5 Free";
content: "\f053";
font-weight: bold;
position: absolute;
font-size: 1rem;
color: rgba(0,0,0,0.1);
top: calc(50% - 0.5rem);
left: 1rem;
}

.next-prev-prev.card-horizontal.vk_post .card-body .vk_post_title a {
display: block;
padding: 1.5rem 1.0rem 1.5rem 3.5rem;
}

.next-prev-next.card-horizontal .card-body {
display: flex;
padding: 0;
align-items: center;
justify-content: flex-end;
}

.next-prev-next.card-horizontal .card-body:before {
font-family: "Font Awesome 5 Free";
content: "\f054";
font-weight: bold;
position: absolute;
font-size: 1rem;
color: rgba(0,0,0,0.1);
top: calc(50% - 0.5rem);
right: 1rem;
}

.next-prev-next.card-horizontal.vk_post .card-body .vk_post_title a {
display: block;
padding: 1.5rem 3.5rem 1.5rem 1.0rem;
}

/*業務実績--計画停電時の電源供給*/
@media (max-width: 767px) {
.workBox .vk_gridColumn_item{
	padding: 0 5px !important;
	margin-bottom:10px !important;
}
	.workBox .wp-block-group{
		border-radius:15px !important;
		padding:11px !important;
	}
}

/*製品案内トップ　各製品リンクの見出しの位置調整 カラムにつけている*/
.productH2Box{
	height:5rem
}

/*-----------------------
製品情報関連
------------------------*/
/* 電源車・可搬型空調システム詳細ページ */
/* --- メインコンテナ（全体レイアウト） --- */
.productscat-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}

/* --- タイトル下の所在地表示（バッジ風） --- */
.productscat-location {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
}

.productscat-location-icon {
    font-size: 18px;
    color: #003366;
}

.productscat-location-badge {
    background: #003366;
    color: #fff;
    padding: 5px 12px;
    border-radius: 5px;
}

/* --- メイン画像（3列横並び + 高さ統一） --- */
.productscat-main-images {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.productscat-main-images a {
    width: 32%;
    display: block;
}

.productscat-main-images img {
    width: 100%;
    height: 200px; /* 高さを固定 */
    object-fit: cover; /* はみ出た部分をトリミングしてバランスを統一 */
    aspect-ratio: 16 / 9; /* 画像の比率を固定 */
    border-radius: 5px;
}

/* --- スペック情報のレイアウト（2カラム均等配置） --- */
.productscat-spec-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding: 10px 0;
}

/* --- スペック情報の左右カラム --- */
.productscat-spec-columns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.productscat-spec-column {
    width: 48%;
    display: flex;
    flex-direction: column;
}

/* --- スペックの各項目（備考含む） --- */
.productscat-spec-item, .productscat-spec-full {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 10px 0;
    font-size: 16px;
    border-bottom: 1px solid #ddd;
    gap: 20px;
}

/* --- 各項目のラベル（左側） --- */
.productscat-spec-label {
    font-weight: bold;
    text-align: left;
    white-space: nowrap;
    font-size: 16px;
    min-width: 180px;
}

/* --- 各項目の値（左寄せ & ズレ防止） --- */
.productscat-spec-value {
    flex-grow: 1;
    text-align: left;
    display: block;
    word-break: break-word;
}

/* --- 備考欄のデザインを統一（ズレ防止） --- */
.productscat-spec-full {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 10px 0;
    font-size: 16px;
    border-bottom: 1px solid #ddd;
}

/* --- 備考の項目名はボールド、値はノーマル（統一） --- */
.productscat-spec-full .productscat-spec-label {
    font-weight: bold;
}

.productscat-spec-full .productscat-spec-value {
    font-weight: normal;
}

/* --- キャプション付き画像（4列均等配置） --- */
.productscat-captioned-images {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    justify-content: center;
    margin-top: 30px;
}

.productscat-captioned-image {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    width: 100%;
}

.productscat-captioned-image img {
    max-width: 100%;
    border-radius: 5px;
}

.productscat-caption {
    font-size: 14px;
    color: #333;
    margin-top: 5px;
}

/* --- スペック情報とキャプション付き画像の間に余白を作る --- */
.productscat-spec-wrapper + .productscat-captioned-images {
    margin-top: 30px;
}

/* カテゴリ、タグ情報非表示 */
.entry-meta-data-list--productcat,.entry-meta-data-list--producttag {
	display:none;
}
/* 電源車詳細：スマホ対応 */
@media screen and (max-width: 768px) {
    /* 所在地バッジを左寄せ */
    .productscat-location {
        justify-content: flex-start;
    }

    /* メイン画像を1列に変更 */
    .productscat-main-images {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .productscat-main-images a {
        width: 100%;
    }

    .productscat-main-images img {
        width: 100%;
        height: auto;
        aspect-ratio: auto;
    }

    /* スペック情報のレイアウト調整 */
    .productscat-spec-columns {
        flex-direction: column;
        align-items: flex-start;
    }

    .productscat-spec-column {
        width: 100%;
    }

    .productscat-spec-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        font-size: 14px;
        padding: 8px 0;
    }

    /* 各項目のラベル（左側） */
    .productscat-spec-label {
        font-weight: bold;
        text-align: left;
        white-space: nowrap;
        font-size: 14px;
        min-width: 120px;
    }

    /* 各項目の値（右寄せ & 改行防止） */
    .productscat-spec-value {
        flex-grow: 1;
        text-align: left; 
        display: block;
        white-space: normal; 
        word-break: break-word;
    }

    /* キャプション付き画像を2列に変更 */
    .productscat-captioned-images {
        grid-template-columns: repeat(2, 1fr);
    }
}



/* 電源車トップ */
.productscat-product-list {
    max-width: 1200px;
    margin: 0 auto 6em;
}

.productscat-category-title {
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 3px solid #ddd;
}

.productscat-product-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.productscat-product-item {
    display: flex;
    align-items: center;
    background: #f9f9f9;
    padding: 1.5rem;
    border-radius: 10px;
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1);
	transition: background 0.2s ease-in-out, transform 0.2s ease-in-out;
}
.productscat-product-item:hover {
		transform: scale(1.02);
		transition: transform 0.2sease-in-out;
}
.productscat-product-image {
    flex: 0 0 220px;
    max-width: 220px;
}

.productscat-product-image img {
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.productscat-product-info {
    flex: 1;
    padding-left: 1.5rem;
}

.productscat-product-title {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 0.75rem;
    text-align: left;
}

.productscat-product-details {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.2rem;
}

.product-icon {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 1.2rem;
    color: #333;
}

.product-icon i {
    color: #004F8A;
    font-size: 1.5rem;
}

.productscat-product-tags {
    margin-top: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.2rem;
}

.productscat-product-tags i {
    color: #004F8A;
    font-size: 1.5rem;
}

.product-tag {
    background: #004F8A;
    color: white;
    padding: 6px 12px;
    border-radius: 5px;
    font-size: 1.1rem;
    display: inline-block;
}

.productscat-product-cta {
    margin-left: auto;
}

.productscat-product-cta  {
    font-size: 1rem;
    font-weight: bold;
    color: #004F8A;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.products-item__link i::before  {
		font-size: 20px;
    color: #2186D5;
    margin-left: 0.5em;
}
.label-ug {
		display: inline-block;
		margin-left: 8px;
		padding: 2px 4px;
		font-size: 0.5em !important;
		border: 1px solid #ccc;
		background-color: #eef6ff;
		color: #333;
		border-radius: 3px;
    line-height: 1.5;
		vertical-align:middle;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .productscat-category-title {
        font-size: 1.5rem;
        text-align: center;
    }

    .productscat-product-item {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        padding: 1rem;
    }

    .productscat-product-image {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%;
    }

    .productscat-product-image img {
        max-width: 100%;
        height: auto;
        border-radius: 6px;
    }

    .productscat-product-info {
        padding-left: 0;
        padding-top: 1rem;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start; /* 左寄せ */
    }

    .productscat-product-title {
        font-size: 1.4rem;
        text-align: center;
    }

    .productscat-product-details {
        display: flex;
        flex-direction: column;
        align-items: flex-start; /* 左寄せ */
        font-size: 1rem;
    }

    .product-icon {
        display: flex;
        align-items: center; /* アイコンと文字を揃える */
        gap: 0.4rem;
        font-size: 1rem;
        color: #333;
    }

    .product-icon i {
        color: #004F8A;
        font-size: 1.2rem;
        vertical-align: middle; /* ズレ修正 */
    }

    .productscat-product-tags {
        display: flex;
        align-items: center; /* ピンアイコンとタグを横並び */
        gap: 0.5rem;
        font-size: 1rem;
    }

    .productscat-product-tags i {
        color: #004F8A;
        font-size: 1.2rem;
    }

    .product-tag {
        background: #004F8A;
        color: white;
        padding: 6px 12px;
        border-radius: 5px;
        font-size: 1rem;
        display: inline-block;
    }

    .productscat-product-cta {
        margin-left: 0;
        margin-top: 1rem;
        width: 100%;
        text-align: left; /* 左寄せ */
        display: flex;
        align-items: center;
    }

    .productscat-product-cta span {
        font-size: 1rem;
    }
}


/* --- アイコン説明ブロックのデザイン --- */
.productscat-header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.productscat-icons-description {
    display: flex;
    gap: 20px;
    align-items: center;
    font-size: 14px;
    font-weight: bold;
    color: #333;
		flex-wrap: wrap;
}

.productscat-icons-description .icon-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.productscat-icons-description i {
    color: #004F8A;
    font-size: 18px;
}
@media screen and (max-width: 768px) {
		.productscat-header {
			flex-wrap: wrap;
			align-items: flex-start;
		}
    .productscat-icons-description {
			flex-direction: column;
			align-items: flex-start;
			gap: 0.5rem;
    }
    .productscat-icons-description .icon-item {
			font-size: 1rem;
    }
}
.productscat-pagination {
    text-align: center;
    margin: 20px 0;
}

.productscat-pagination .page-numbers {
    display: inline-block;
    padding: 8px 12px;
    margin: 0 5px;
    text-decoration: none;
    font-size: 16px;
    color: #1d5b9f;
    border: 1px solid #1d5b9f;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.productscat-pagination .page-numbers:hover {
    background-color: #1d5b9f;
    color: white;
}

.productscat-pagination .current {
    background-color: #1d5b9f;
    color: white;
    font-weight: bold;
}

.productscat-pagination .prev,
.productscat-pagination .next {
    color: #1d5b9f;
    padding: 8px 15px;
    border: 1px solid #1d5b9f;
    border-radius: 4px;
}

.productscat-pagination .prev:hover,
.productscat-pagination .next:hover {
    background-color: #1d5b9f;
    color: white;
}


/* 🔹 全体のリスト（縦並び） */
.products-category-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.products-category-title {
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 3px solid #ddd;
}

/* 🔹 各アイテムのコンテナ（横並び） */
.products-item {
    display: flex;
    align-items: center;
    background: #f9f9f9;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    position: relative;
    width: 100%;
    transition: transform 0.2s ease-in-out;
}

.products-item:hover {
    transform: scale(1.02);
}

/* 🔹 ブロック全体をクリック可能にする */
.products-item-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
    width: 100%;
}

/* 🔹 左側の画像部分 */
.products-item__image {
    flex: 0 0 180px;
    height: 180px;
    margin-right: 20px;
    background: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.products-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

/* 🔹 画像がない場合のプレースホルダー */
.products-item__image-placeholder {
    width: 100%;
    height: 100%;
    background: #e0e0e0;
    border-radius: 8px;
}

/* 🔹 中央のテキスト部分 */
.products-item__content {
    /* flex: 1;*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
	  width: 550px;
    word-break: break-word;
}

/* 🔹 タイトル */
.products-item__title {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 12px;
    text-align: left;
    width: 100%;
}

/* 🔹 巻線・相数情報 */
.products-item__details {
    display: flex;
    gap: 25px;
    margin-bottom: 10px;
}

/* 🔹 各情報（巻線・相数） */
.products-item__detail {
    display: flex;
    align-items: center;
    gap: 0;
    font-size: 16px;
    font-weight: bold;
    color: #004494;
}

/* 🔹 巻線アイコン */
.icon-coil::before {
    content: "🌀";
    font-size: 18px;
    color: #003366;
}

/* 🔹 所在地リスト */
.products-item__locations {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    margin-top: 10px;
    align-items: center;
}

.products-item__locations i,
.products-item__details i {
    color: #004F8A;
    font-size: 1.5rem;
}

/* 所在地 */
.products-item__location {
    display: inline-flex;
    align-items: center;
    background: #004F8A;
    color: white;
    font-size: 16px;
    font-weight: bold;
    padding: 6px 14px;
    border-radius: 10px;
    white-space: nowrap;
    transition: background-color 0.2s ease-in-out;
}

.products-item__location:hover {
    background: #005bb5;
}

/* 右端の詳細ページリンク */
.products-item__link-container {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

/* 🔹 製品詳細ページリンク */
.products-item__link {
    font-size: 16px;
    color: #2186D5;
    font-weight: bold;
    text-decoration: none;
    display: flex;
    align-items: center;
}

/* 🔹 スマホ対応 */
@media screen and (max-width: 1024px) {
    .products-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 15px;
    }

    .products-item__image {
        width: 100%;
        height: 200px;
        margin: 0 0 15px 0;
    }

    .products-item__content {
        text-align: left;
        width: 100%;
    }

    .products-item__title {
        font-size: 22px;
        margin-bottom: 8px;
    }

    .products-item__details {
        flex-direction: column;
        gap: 5px;
        margin-bottom: 8px;
    }

    .products-item__locations {
        align-items: flex-start;
    }

    .products-item__link-container {
        position: static;
        transform: none;
        margin-top: 10px;
    }
}

@media screen and (max-width: 768px) {
    /* 🔹 タイトル、画像、情報を完全に縦並び */
    .products-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
        padding: 15px;
    }

    .products-item-link {
        display: block;
    }

    /* 🔹 画像の親要素を100%幅に */
    .products-item__image-container {
        width: 100%;
    }

    /* 🔹 画像を100%幅で中央配置 */
    .products-item__image {
        width: 100% !important;
        max-width: none;
        height: auto;
        display: block;
        margin-bottom: 10px;
    }

    /* 🔹 所在地情報（ロケーション）を横並びにする */
    .products-item__locations {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: 13px;
        margin-top: 5px;
        width: auto;
    }

    /* 🔹 アイコンとラベルを横並びに固定 */
    .products-item__locations i {
        font-size: 1.2rem;
        color: #004F8A;
        margin-right: 5px;
        flex-shrink: 0;
    }

    /* 🔹 所在地ラベル */
    .products-item__location {
        font-size: 12px;
        padding: 5px 8px;
        border-radius: 6px;
        display: inline-block;
        white-space: nowrap; /* 折り返し防止 */
    }

    /* 🔹 製品詳細ページリンク */
    .products-item__link-container {
        margin-top: 10px;
        width: 100%;
    }

    .products-item__link {
        font-size: 13px;
    }

    /* 🔹 矢印アイコンのサイズ */
    .fa-chevron-right::before {
        font-size: 14px;
    }
}






/***** 子ターム内の投稿一覧 *****/

/* タイトル部分 */
.tax-productcat .archive-header {
	padding-top:2em;
}

/* メイン画像 */
.main-images {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    max-width: 90%;
    margin: 0 auto 30px;
    flex-wrap: nowrap;
}

/* 画像のスタイル */
.main-images img {
    width: auto;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #ccc;
    padding: 5px;
}

/* 画像が1枚なら中央寄せ */
.main-images img:nth-child(1):nth-last-child(1) {
    display: block;
    margin: 0 auto;
}

/* 画像が2枚の時は適度に中央寄せ */
.main-images img:nth-child(2):nth-last-child(1),
.main-images img:nth-child(2):nth-last-child(2) {
    justify-content: space-between; 
}


.main-image {
    width: 100%;
    height: auto;
    border-radius: 5px;
    transition: transform 0.2s ease-in-out;
}

.main-image:hover {
    transform: scale(1.05);
}

@media screen and (max-width: 768px) {
    .main-images {
        grid-template-columns: repeat(2, 1fr); /* タブレットでは2分割 */
    }
}

@media screen and (max-width: 480px) {
    .main-images {
        grid-template-columns: repeat(1, 1fr); /* スマホでは1カラム */
    }
}



/* 画像の高さを統一 */
.product-card img {
    width: 298px;
    height: 250px;
    object-fit: cover;
    display: block;
}

/* 画像を中央揃え */
.product-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    align-items: center;
    justify-content: flex-start;
	margin-top:1.5em
}

/* グリッド内の不要なスペースを無効化 */
.product-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
    grid-auto-flow: dense;
    gap: 20px 40px;
    max-width: 1200px;
    margin: auto;
    align-items: stretch;
}

@media screen and (max-width: 768px) {
    .product-list {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* スペックのコンテナ */
.product-spec {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: 100%;
}

.spec-item {
    display: flex;
    /* flex-wrap: wrap; */
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #ccc;
}

/* ラベル（左側） */
.spec-label {
    font-weight: bold;
    color: #333;
    max-width: 20%;
    min-width: 120px;
    margin-bottom: 4px;
    text-align: left;
    display: block; 
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* 値（右側） */
.spec-value {
    text-align: left;
    color: #222;
    width: 70%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
	word-break: break-all;
}

/* 取扱営業所のボタン */
.spec-tag-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 0;
}

.spec-tag {
    display: inline-block;
    background-color: #003366;
    color: #fff;
    padding: 6px 12px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5;
}

/* 検索フォーム */
.custom-search-form {
	background-color: #e0e8f5;
	padding: 30px;
	border-radius: 10px;
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
}
.custom-search-form h2 {
	font-size: 24px;
	margin-bottom: 30px;
	font-weight: normal;
}
.custom-search-form .form-group {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
}
@media screen and (max-width: 768px) {
	.custom-search-form .form-group {
		gap: 15px;
}
}
.custom-search-form label {
	/*font-weight: bold;
	margin-bottom: 5px;
	margin-right: 5px;
}
.custom-search-form label {
	font-weight: bold;*/
	margin: 0;
	white-space: nowrap;
}
	
.custom-search-form select {
	width: 200px;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 5px;
	background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 10px center;
	background-size: 12px;
	cursor: pointer;
}
.custom-search-form input {
	margin-top:10px;
}

.custom-search-form .search-button {
	background-color: none;
	background-image: linear-gradient(90deg, #278bd8, #82c5fa);
	color: #ffffff;
	border: none;
	padding: .5em 2em;
	font-size: 14px;
	border-radius: 30px;
	cursor: pointer;
	transition: background 0.3s ease, transform 0.1s ease;
	font-weight: bold;
}
.custom-search-form .search-button:hover {
	transform: scale(1.05);
	border:1px solid #2186D5;
	background:none;
	color:#2186D5;
}
.custom-search-form .form-group {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 15px;
}


.custom-search-form .form-group {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 15px;
}

.custom-search-form .form-group > div {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.custom-search-form select,
.custom-search-form input {
	height: 40px; /* 高さを統一 */
	padding: 8px 12px;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 14px;
	box-sizing: border-box;
	margin: 0;
}
.custom-search-form select {
	width: 300px; 
}
.custom-search-form input {
	width: 250px; 
}
.custom-search-form .search-button {
	margin-top: 8px;
}
@media (max-width: 576px) {
	.custom-search-form label {
		display:block;
		text-align:center;
		width:100%;
	}
	.custom-search-form input,.custom-search-form select {
		width:100%;
		margin-right:auto;
		margin-left:auto;
	}
}
.office-search-section {
	margin-top: 30px;
	margin-bottom: 40px;
}

/* 取り扱い営業所選択ボタン */
.office-search-section {
	background-color: #e0e8f5;
	padding: 30px;
	border-radius: 10px;
	text-align: center;
	margin-top: 30px;
}

.office-search-section h3 {
	font-size: 20px;
	margin-bottom: 20px;
	font-weight: normal;
}

.office-buttons {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
}

.office-button {
	display: inline-block;
	padding: 12px 24px;
	border: 1px solid #333;
	border-radius: 8px;
	background-color: #fff;
	text-decoration: none;
	color: #000;
	font-weight: bold;
	transition: all 0.3s ease;
}

.office-button:hover {
	background-color: #2186D5;
	color: #fff;
	border-color: #2186D5;
}


/* 検索結果ページ */
.search-results-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
}
.search-result-item {
    display: flex;
    align-items: center;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}
.search-result-image {
    flex: 0 0 120px;
    margin-right: 20px;
}
.search-result-image img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}
.search-result-content {
    flex: 1;
}
.search-result-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}
.search-result-tags {
    display: flex;
    gap: 10px;
}
.search-result-tags .tag {
    background: #004a80;
    color: #fff;
    padding: 5px 10px;
    border-radius: 15px;
    font-size: 14px;
}
.search-detail-link {
    display: inline-block;
    margin-top: 10px;
    color: #004a80;
    font-weight: bold;
    text-decoration: none;
}
.search-detail-link span {
    font-size: 16px;
    font-weight: bold;
    margin-left: 5px;
}
.search-detail-link:hover {
    text-decoration: underline;
}
.no-results {
    text-align: center;
    font-size: 18px;
    margin-top: 20px;
}


/* 電源車個別記事のタイトル2重表示解消 */
.entry-header .entry-title {
	display:none;
}

/* スペックアイコン */
.list-icon {
	width: 1.5rem;
	filter: brightness(0) saturate(100%) invert(23%) sepia(48%) saturate(2224%) hue-rotate(182deg) brightness(91%) contrast(103%);
	margin-right:5px
}

/* 検索結果ページ */
/* 🔹 「検索結果」のタイトルの上に余白を追加 */
.search-results-header {
    margin-top: 40px; /* 上部の余白を増やす */
}

/* 🔹 検索条件のデザイン調整 */
.search-conditions {
	display:flex;
	gap: 15px;
}
.search-condition {
    display: flex;
}

/* 🔹 検索条件のラベル部分を太字に */
.search-conditions .search-label {
    font-weight: bold;
}

/* 🔹 検索条件の値部分は通常のフォントウェイト */
.search-conditions .search-value {
    font-weight: normal;
}

/* 🔹 検索条件のラベルと値の間隔を統一 */
.search-condition::after {
    content: " "; /* スペースを追加して可読性を向上 */
}

/* 🔹 検索条件と検索結果リストの間に余白を追加 */
.products-category-list {
    margin-top: 20px; /* 検索条件との間隔 */
}

/*問い合わせフォーム ボタン*/
button.wpcf7-form-control,input.wpcf7-form-control{
cursor: pointer;
}
button.wpcf7-form-control:hover{
	background:#dd0000;
	color:#fff;
	border:1px solid #fff;
}
button.wpcf7cp-cfm-submit-btn{
	background:#004f8a;
	border:1px solid #fff;
}

button.wpcf7cp-cfm-edit-btn{
	background:#fff;
	border:1px solid #004f8a;
	color:#004f8a;
}


strong{
	font-weight:700 !important;
}

/* 事業所別製品一覧 */
.offices-all {
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 20px;
}

.office-block {
  margin-bottom: 60px;
}

.office-heading {
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 3px solid #ddd;
}

.category-bubbles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}

.category-bubbles a {
  display: inline-block;
  padding: 10px 20px;
  border: 2px solid #333;
  border-radius: 25px;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.category-bubbles a:hover {
  background-color: #2186D5;
  color: #fff;
  border-color: #2186D5;
}




/*SCROLL-------------------*/
.mv-vedeo {
  position: relative;  /* 動画内で絶対配置を有効にする */
}

.scroll_txt {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 200;  /* 他の要素に隠れないようにする */
}

.scroll_inner {
  writing-mode: vertical-rl;
  text-align: center;
  color: #fff;
  font-size: 16px;
  display: inline-block;  /* 横幅調整が必要な場合 */
  line-height: 1.4;  /* 文字の高さ調整 */
}

/* 線の表示 */
.line {
  display: block;
  width: 2px;
  height: 54px;
  margin: 6px auto 0;
  position: relative;
}

/* アニメーション線 */
.line::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 54px;
  background: #eee;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 1;
}

@keyframes pathmove {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(100%);
    opacity: 0;
  }
}


/*トップページのモバイル用動画のアスペクト*/
@media (max-width: 431px){
.vkvbp .vkvbp_video_mobile{
	object-fit: contain !important;
}
}

/*2階層めページタイトル*/
@media (max-width: 576px){
	.pagetitle-mv {
		padding-left:30px !important;
	}
.pagetitle-mv h1{
	font-size:44px !important;
}
	.pagetitle-mv2 h1{
	font-size:28px !important;
}
	.pagetitle-mv2 p{
		font-size:15px;
	}
}
/*トップページ事業案内スライド*/
@media (max-width: 576px){
	.top-business-copy{line-height:1;}
}

/*会社概要 モバイルでのテーブル幅*/
@media (max-width: 576px){
.page-id-868 .site-body-container .wp-block-column:first-child{
	flex-basis: 20% !important;
}
.page-id-868 .site-body-container .wp-block-column:not(:first-child){
	flex-basis: 79% !important;
	padding-right:0 !important;
}
}
/*沿革・FFでborderが太いので調整*/
.page-id-309 .has-vk-color-primary-border-color{
	border-width:1px;
}

/*トップページの四角いボタン*/
@media (max-width: 576px){
	.vk_button.sqr-btn  .vk_button_link_txt{
	font-size:18px;
}
}

@media (max-width: 576px){
	.home .wp-block-cover{
		min-height:304px;
	}
}
@media (max-width: 576px){
.home .vk_slider_item_container  p{
	font-size:18px !important;
}
}

/*フッター コピーライト部分の幅調整*/
.copyright,.breadcrumb .container {
	width:90% !important;
	max-width:90% !important;
	padding:0 !important;
 }
@media (max-width: 1057px) {
.copyright,.breadcrumb .container {
	width:100% !important;
	max-width: 100% !important;
	padding:0 15px !important;
}	
}

/*パンくず*/
.breadcrumb-list a{
	color:#2186D5;
	text-decoration:none;
}
.breadcrumb-list li:after {
	content:" > "
}
.breadcrumb-list i.fas {
	display:none;
}

@media (max-width: 576px){
.topSwipe .container{
	padding-left:8px;
	padding-right:8px;
}
}/*トップページの製品案内スライドのアイテムの間隔*/

@media (max-width:410px){
	.custom-search-form label.productcatselect {
		display:block;
	}
	.custom-search-form select.producttagselct{
		width:150px;
	}
	.custom-search-form select{
		margin-top:10px;
	}
	
}
/*フッター上部のCTAのリンク*/
.wp-block-cover.has-link:hover {
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

/*flexible-table背景色k*/
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td{
	background:none;
}

/*製品案内　詳細ページリンク*/
.productscat-product-cta{
color:#2186D5
}

/*TOPに戻る*/
.page_top_btn{
		z-index:200 !important;
}

