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

/*フォント関連*/
@font-face {
	font-family: 'FONTJ';
	src:	url('/fonts/MPLUS1p-Medium.woff2') format('woff2'),
		url('/fonts/MPLUS1p-Medium.woff') format('woff'),
		url('/fonts/MPLUS1p-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'FONTJ';
	src:	url('/fonts/MPLUS1p-Bold.woff2') format('woff2'),
		url('/fonts/MPLUS1p-Bold.woff') format('woff'),
		url('/fonts/MPLUS1p-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'FONTJ';
	src:	url('/fonts/MPLUS1p-Regular.woff2') format('woff2'),
		 url('/fonts/MPLUS1p-Regular.woff') format('woff'),
		 url('/fonts/MPLUS1p-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}

.font_J{
	font-family: 'FONTJ';
	font-weight: 400;
}
.font_JB{
	font-family: 'FONTJ';
	font-weight: 700;
}
.font_JM{
	font-family: 'FONTJ';
	font-weight: 500;
}


.title_font:lang(ja){
	font-family: "FONTJ" !important;
	font-weight: 500 !important;
}
h1,h2,h3,h4,h5,h6,.page-header-title,.global-nav-name{
	font-family: "FONTJ" !important;
	font-weight: 500 !important;
}
h1 strong,h2 strong,h3 strong,h4 strong,h5 strong,h6 strong{
	font-family: "FONTJ" !important;
	font-weight: 700 !important;
}

/*テキスト色*/
:root {
	--vk-color-text-link-hover: var(--vk-color-primary);
    --vk-color-text-body: #333333;
    --vk-color-text-link: #dd6677;
}
::selection {
  background-color: rgba(200,10,40,.2);
}
a[href="#"]{
	pointer-events: none;
	color: var(--vk-color-text-body);
}

/*PAGETOPボタン*/
.page_top_btn{
	box-shadow: none;
	width: 50px;
	height: 50px;
	background-color: rgba(0,0,0,.5);
	z-index: 10 !important;
}

/*モバイルメニューボタン*/
.vk-mobile-nav{
	padding-top: 60px;
	padding-bottom: 60px;
	z-index: 9;
}
.vk-mobile-nav-menu-btn{
	width: 50px;
	height: 50px;
	background-color: rgba(255,255,255,.8);
	border: none !important;
	z-index: 10 !important;
}

/*フォーム*/
input:focus,
textarea:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(200,10,40,.4);
}
.wpcf7-response-output{
	border-color: var(--vk-color-primary) !important;
}
input[type="submit"]{
	border: none;
}

/*ヘッダ・タイトル関連==============================================*/

/*ヘッダ 影をスクロール後だけにする*/
.site-header{
	box-shadow: none;
	/*border-top: solid 5px var(--vk-color-primary);*/
	z-index: 8;
}
.header_scrolled.admin-bar .site-header{
	box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

/*ヘッダのロゴ画像*/
.site-header-logo a img{
	width: 200px !important;
	height: 48px !important;
	object-fit: contain;
}
@media (max-width:991.98px){
	.site-header-logo a img{
		width: 180px !important;
	}
}
@media (max-width: 575.98px){
	.site-header-logo a img{
		width: 160px !important;
	}
}

/*パンくず*/
.breadcrumb{
	border: none;
	display: none;
}
.breadcrumb a,
.breadcrumb{
	color: #999999;
}

/*ページタイトル*/
.page-header{
	background-color: transparent;
	min-height: 6rem;
}
div.page-header-inner{
	margin-bottom: 0;
}
h1.page-header-title{
	border: solid 1px var(--vk-color-primary);
	color: var(--vk-color-primary);
	/*font-size: 2.4rem;*/
	padding: 10px 0;
}
@media (max-width: 575.98px){
	h1.page-header-title{
		font-size: 1.6rem;
	}
}


/*フッタ関連================================================*/
body{
	min-height: 100vh;/*フッタをウィンドウ下に固定するため*/
	position: relative;
}

/*フッタ*/
footer.site-footer{
	position: absolute;
	width: 100vw;
	left: 0;
	bottom: 0;
	background-color: var(--vk-color-primary);	
}

/*フッタナビ*/
nav.footer-nav{
	border-color: rgba(255,255,255,.1) !important;
}
@media (min-width: 768px) {
	nav.footer-nav .container { text-align: center; }
}
nav.footer-nav
ul.footer-nav-list li{
	border-color: rgba(255,255,255,.3) !important;
}
ul.footer-nav-list a{
	color: rgba(255,255,255,.7);
}
ul.footer-nav-list a:hover{
	color: rgba(255,255,255,1);
}

/*フッタ下部*/
.site-footer-content{
	padding-top: 20px;
	padding-bottom: 10px;
}

/*フッタウィジェットの分割変更*/
@media (min-width: 768px) {
	footer .col-lg-4{
		flex: 0 0 auto !important;
	}
	footer .col-lg-4:nth-child(1){
		max-width: 65%;
		width: 65%;
	}
	footer .col-lg-4:nth-child(2){
		max-width: 35%;
		width: 35%;
		text-align: right;
	}
}

/*フッタrowの文字色変更*/
footer.site-footer div.row,
footer.site-footer div.row a{
	color: rgba(255,255,255,.7);
}

/*AddToAny カスタマイズ*/
.widget_a2a_share_save_widget{
	margin-bottom: 0;
}
.widget_a2a_share_save_widget:before{
	content: "share >";
	display: inline-block;
	vertical-align: 6px;
	font-size: 14px;
	color: rgba(255,255,255,.7);
}

/*コピーライト消す*/
.site-footer-copyright{
	display:none !important ;
}

/*キャッチ・リード============================================*/
.top_catch{
	position: relative;
	font-size: 8vw;
	line-height: 1.6em;
	display: inline-block;
	margin: 0 0 0em .5em !important;
}
.top_catch:after{
	content: "";
	display: block;
	width: 120%;
	padding-top: 12%;
	position: relative;
	left: -14%;
	top: -.2em;
	background-image: url(/wp-content/uploads/2025/10/catch_line.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center bottom;
}
.top_read{
	font-size: 4vw;
	line-height: 1.4em;
	margin-bottom: 1.5em !important;
}
@media(min-width:576px){
	.top_catch{ font-size: 40px; }
	.top_read{ font-size: 20px; }
}
@media(min-width:768px){
	.top_catch{ font-size: 50px;}
	.top_read{ font-size: 25px;}
}

/*ギャラリー用==================================================*/
/*トップページ　Worksギャラリーのエリア　ざぶに色をつける*/
@media(min-width:576px){
	.top_works_area{
		/*background-color: #f3f3f3;*/
	}
}

/*Foo リンク先が無い場合*/
.my_gallery .foogallery .fg-item:has(a[href="#"]){
	pointer-events: none !important;
}

/*Foo ローディング中のグレーがいやだから*/
.my_gallery .foogallery .fg-item-inner{
	background-color: transparent;
}

/*Foo サイズ決め*/
.my_gallery .foogallery{
	margin: 0 auto;
	max-width: 80%;
	border-left: solid 5px #ffffff;
	border-right: solid 5px #ffffff;
}

.my_gallery .foogallery .fg-item{
	background-color: #ffffff !important;
}
@media(min-width:576px){
	.my_gallery .foogallery{
		max-width: 100% !important;
	}
	.my_gallery .foogallery .fg-item{
		flex-basis: calc(50% - 2px) !important;
	}
}
@media(min-width:768px){
	.my_gallery .foogallery{
		max-width: 100% !important;
	}
	.my_gallery .foogallery .fg-item{
		flex-basis: calc(33% - 2px) !important;
	}
	.my_gallery.top_gallery .foogallery{
		max-width: 730px !important;
	}
	.my_gallery.top_gallery .foogallery .fg-item{
		flex-basis: calc(50% - 2px) !important;
	}
}
@media(min-width:1024px){
	.my_gallery.top_gallery .foogallery,
	.my_gallery .foogallery{
		max-width: 1600px !important;
	}
	.my_gallery.top_gallery .foogallery .fg-item,
	.my_gallery .foogallery .fg-item{
		flex-basis: calc(25% - 2px) !important;
	}
}

/*Foo キャプション*/
.my_gallery .fg-caption{
	margin-top: 10px !important;
	padding: 0 10px !important;
	min-height: 50px !important;
	display: block !important;
}
.my_gallery .fg-caption-inner{
	padding-left: 5px !important;
	border-left: solid 1px var(--vk-color-primary) !important;
	display: block !important;
}
.my_gallery .fg-caption-title{
	display: block !important;
	margin-top: 0 !important;
	color: #333333 !important;
	font-size: 13px !important;
}
.my_gallery .fg-caption-desc{
	display: block !important;
	color: #333333 !important;
	font-size: 13px !important;
	margin-bottom: 0 !important;
}

/*Fancy Box*/
.fancybox__container{
}
.fancybox__backdrop{
	background-color: rgba(0,0,0,.8);
}
.fancybox__container + .fancybox__container .fancybox__backdrop {/*２重に開いた時*/
	background-color: rgba(34,34,34, 1) !important;
}

.fancybox__content{
	padding: 15px;
	border-radius: 6px;
}
@media(min-width:768px){
	.fancybox__content{
		padding: 30px;
		border-radius: 10px;
	}
}

.fancybox__content h5{
	padding-left: .5em;
	border-left: solid 5px var(--vk-color-primary);
}

.fancybox__iframe{
	margin: 0 !important;
}

.fancybox__container *:focus {
  outline: none !important;
}

.fancybox__content p:empty{
	display: none;
}

/*モーダルウィンドウ*/
/*各Worksのリンクボタンエリア*/
.link_btns{
	max-width: 640px;
	gap: 5px;
	margin-top: 10px;
}
.link_btns a{
	margin: 0;
	border-radius: 0;
	padding: .6em 1em !important;
	user-select: none;
	outline: none !important;
}
.link_btns a:hover{
	border-color: var(--vk-color-primary) !important;
	box-shadow: unset !important;
}
@media (hover: none) {
	.link_btns a:hover,
	.link_btns a:hover *{
		background-color: transparent !important;
		border-color: var(--vk-color-primary) !important;
		color: var(--vk-color-primary) !important;
		box-shadow: unset !important;
		opacity: 1;
	}
	.link_btns a:active{
		background-color: rgba(200,10,40,.3) !important;
	}
}

/*パーツ==========================================================*/

/*テーブル*/
.my_table{
}
.my_table td{
	vertical-align: top;
	border-color: transparent;
	padding: 0 1rem 1rem 0;
}
.my_table td:first-child{
	white-space: nowrap;
}

/*ボタン*/
.my_btn a{
	border-radius: 0 !important;
	min-width: 12em !important;
	user-select: none !important;
}
.my_btn a:hover{
	border-color: var(--vk-color-primary) !important;
	box-shadow: unset !important;
}
@media (hover: none) {
	.my_btn a:hover,
	.my_btn a:hover *{
		background-color: transparent !important;
		border-color: var(--vk-color-primary) !important;
		color: var(--vk-color-primary) !important;
		box-shadow: unset !important;
		opacity: 1;
	}
	.my_btn a:active{
		background-color: rgba(200,10,40,.3) !important;
	}
}

.my_btn.no_border a{
	border: none !important;
}




/*リスト*/
.my_list{
}
.my_list li{
	color: var(--vk-color-text-body);
	margin: 0 0 1rem 0;
}

.float_list{
	padding: 0 !important;
}
.float_list:after{
	height:0;
	visibility:hidden;
	content:".";
	display:block;
	clear:left;
}
.float_list>li{
	float: left;
	vertical-align: bottom;
	list-style:none;
	display: inline-block;
	margin: 0 .5em .5em 0;
	padding: 0 .5em;
	line-height: 1.8em;
	background-color: #eeeeee;
	border-radius: 5px;
}

/*グリッド*/
.grid_table{
	grid-template-columns: 1fr !important;
	gap: .5em 0;
}
.grid_table>*{
	margin: 0 !important;
}
.grid_table>*:nth-child(even){
	margin-left: 1em !important;
}


.grid_table>*:nth-child(odd) {
	white-space: nowrap;	/* 改行しない */
	overflow: hidden;	/* はみ出し防止（任意） */
	text-overflow: ellipsis;	/* 省略記号を出したい場合 */
}
.grid_table>*:nth-child(even) {
  white-space: normal;
  word-break: break-word;
}

@media(min-width:768px){
	.grid_table{
		grid-template-columns: min-content 1fr !important;
	}
}


/*汎用===========================================================*/
.cmnt{
	display: none !important;
}
.ib{
	display: inline-block;
	vertical-align: middle;
}
.ibt{
	display: inline-block;
	vertical-align: top;
}
.mgn0{
	margin: 0 !important;
}
.pdg0{
	padding: 0 !important;
}

.m_t0{
	margin-top: 0px !important;
}
.m_t5{
	margin-top: 5px !important;
}
.m_t10{
	margin-top: 10px !important;
}
.m_t15{
	margin-top: 15px !important;
}
.m_t20{
	margin-top: 20px !important;
}
.m_t25{
	margin-top: 25px !important;
}
.m_t30{
	margin-top: 30px !important;
}

.m_b0{
	margin-bottom: 0px !important;
}
.m_b5{
	margin-bottom: 5px !important;
}
.m_b10{
	margin-bottom: 10px !important;
}
.m_b15{
	margin-bottom: 15px !important;
}
.m_b20{
	margin-bottom: 20px !important;
}
.m_b25{
	margin-bottom: 25px !important;
}
.m_b30{
	margin-bottom: 30px !important;
}

.indent{
	padding-left: 1.5em;
}
.indent2{
	padding-left: 1.8em;
}
@media(min-width:768px){
	.indent_pc{
		padding-left: 1.5em;
	}
	.indent2_pc{
		padding-left: 1.8em;
	}
}

.hvr{
	transition: all .3s;
}
.hvr:hover{
	opacity: .7;
}

.right{
	text-align: right;
}
.center{
	text-align: center;
}

.smaller{
	font-size: .8em;
}


/*文字サイズ*/
.size_M{
	font-size: var(--vk-size-text);
}
.size_ML{
	font-size: calc(var(--vk-size-text) * 1.1);
}
.size_L{
	font-size: var(--vk-size-text-lg);
}
.size_S{
	font-size: var(--vk-size-text-sm);
}
.size_SS{
	font-size: calc(var(--vk-size-text-sm) * 0.95);
}
@media(max-width:991.98px){
	.size_M{
		font-size: calc(var(--vk-size-text) * 0.875);
	}
	.size_ML{
		font-size: calc(var(--vk-size-text) * 1.1 * 0.875);
	}
	.size_L{
		font-size: calc(var(--vk-size-text-lg) * 0.875);
	}
	.size_S{
		font-size: calc(var(--vk-size-text-sm) * 0.875);
	}
	.size_SS{
		font-size: calc(var(--vk-size-text-sm) * 0.95 * 0.875);
	}
	
	h1.entry-title{
		font-size: 1.5rem;
	}
}

