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

html {
    /* ブラウザの標準（通常16px）を1remの基準にする */
    font-size: 100% !important;
}

h3
{ 
	font-size: 1.1rem !important;
}

@media screen and (min-width: 769px)
{
	h3
	{
		font-size: 1.25rem !important;
	}
}

.btn-primary {
	background-color: #ffc107;
	border-color: #ffc107;
	color: #000;
}
:where(:not(.wp-block-table))>table :is(th,td) {
    font-size: 1rem;
}
i.fa-solid.fa-arrow-up-right-from-square {
    color: #4b98d6;
}
:where(figure) {
    margin: 1em 0;
}

/* 見出し装飾 */
.heading-squares
{
	position: relative;
	padding: .5em 1.5em;
	color: #333333;
}
.heading-squares:before,
.heading-squares:after
{
	display: inline-block;
	position: absolute;
	transform: translateY(-50%);
	width: 23px;
	height: 23px;
	border: 4px solid #2589d0;
	content: '';
}
.heading-squares:before
{
	top: calc(50% - 5px);
	left: 0;
	background-color: #2589d0;
}
.heading-squares:after
{
	top: calc(50% + 6px);
	left: 12px;
	border: 4px solid #2589d0;
}
.heading-both-ends
{
	position: relative;
	display: inline-block;
	padding: 0 50px;
}
.heading-both-ends:before,
.heading-both-ends:after
{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 35px;
	height: 1px;
	background-color: black;
}
.heading-both-ends:after
{
	right: 0;
}
.heading-both-ends:before
{
	left: 0;
}


/*--- 文書アイコン ---*/
a[href *='adobe.com'] {
	background: url(img/icon_get_reader.gif) no-repeat;
	margin: 0;
	padding: 5px 0 0 30px;
	display: block;
	height: 35px;
}
/* PDF */
a[href $='.pdf'] {
	background: url(img/icon-pdf.jpg) no-repeat;
	margin: 0;
	padding: 5px 0 0 30px
}
/* WORD */
a[href $='.doc'] {
	background: url(img/icon-word.jpg) no-repeat;
	margin: 0;
	padding: 5px 0 0 30px;
}
/* WORD */
a[href $='.docx'] {
	background: url(img/icon-word.jpg) no-repeat;
	margin: 0;
	padding: 5px 0 0 30px
}
/* EXCEL */
a[href $='.xls'] {
	background: url(img/icon-excel.jpg) no-repeat;
	margin: 0;
	padding: 5px 0 0 30px
}
/* EXCEL */
a[href $='.xlsx'] {
	background: url(img/icon-excel.jpg) no-repeat;
	margin: 0;
	padding:5px 0 0 30px;
}

/* パンくず */
.breadcrumb {
	padding: 5px 0;
}

figure table td:nth-child(1) {
	white-space: nowrap;
}

/* テーブルの共通設定 */
.tb-border-table table
{
	border: none;
}
/* --- スマホ時のテーブルセル（縦並び）設定 --- */
.tb-border-table table tr th,
.tb-border-table table tr td
{
	width: 100%;
	display: block;
	border-left: none;
	border-right: none;

}
.tb-border-table table tr th
{
	padding: 1.5rem;
}
.tb-border-table table tr td
{
	padding: 0.5rem 1.5rem 1.5rem;
}
/* 1列目（ラベル）の設定 */
.tb-border-table table tr>*:first-child
{
	font-size: 1rem;
	font-weight: bold;
	font-family: "TBUDゴシック E";
	text-align: left;
	padding-bottom: 0.5rem;
	border-top: solid 1px #acacac;
	border-bottom: none;
	color: #666;
}

.tb-border-table table tr>*:first-child:before
{
	content: "■";
	margin-right: 0.5em;
}

/* 2列目（内容）の設定 */
.tb-border-table table tr>*:last-child
{
	border-top: none;
	border-bottom: none;
}

/* 最後の行の閉じ線 */
.tb-border-table table tr:last-child td:last-child
{
	border-bottom: solid 1px #acacac;
}

.tb-border-table table ul
{
	margin: 0;
}


@media screen and (min-width: 769px)
{
	.tb-border-table table tr th
	{
		vertical-align: top;
	}
	/* テーブルを横並び（標準の挙動）に戻す */
	.tb-border-table table tr th,
	.tb-border-table table tr td
	{
		width: auto;
		display: table-cell;
		border-top: solid 1px #acacac;
		border-bottom: solid 1px #acacac;
	}
	.tb-border-table table tr>*:first-child
	{
		text-align: center;
		padding-bottom: 1.5rem;
		border-bottom: solid 1px #acacac;
	}
	.tb-border-table table tr>*:first-child:before
	{
		content: none;
	}
	.tb-border-table table tr>*:last-child
	{
		padding-top: 1.5rem;
		border-top: solid 1px #acacac;
	}
}


/*--- サイトヘッダー ---*/

.site-header-container
{
	max-width: none;
}
.site-branding
{
	float: none;
	display: table;
	width: 97%;
	table-layout: fixed;
}
.site-brand-inner
{
    display: table-row;
}
.site-branding .site-logo-div
{
    display: table-cell;
	vertical-align: middle;
	width: 40%;
}
.site-branding .site-info
{
    display: none;
	vertical-align: middle;
}
.site-branding .site-info table
{
    margin: 0;
    border: none !important;
}
.site-branding .site-info table td
{
    padding: 0;
    border: none;
}
.site-branding .site-info .site-description
{
	text-align: right;
	margin: 5px 0;
	font-size: 13px;
	font-weight: bold;
	position: initial;
}
.site-branding .site-info  .inquiry-time
{
	margin: 5px;
    font-size: 14px;
    text-align: center;
}
.site-branding .site-info ul
{
    display: flex;
    list-style-type: none;
    justify-content: end;
    align-items: center;
    margin: 0;
}
.site-branding .site-info ul li
{
    margin: 0;
}
	
@media screen and (min-width: 992px)
{
	.header_scrolled .site-header-logo
	{
		display: block; /* スクロール時も表示 */
	}
	.site-branding .site-info
	{
    	display: table-cell;
	}
}

/*--- グローバルメニュー ---*/
.global-nav
{
	display: none !important;
}
body.device-pc .vk-mobile-nav-menu-btn,
body.device-pc .vk-mobile-nav
{
	display: block;
}


/*--- サイトボディ ---*/
.site-body
{
	padding: 1rem 0 2rem;
}
.site-body-bottom
{
	background-color: #004278;
	color: #fff;
    padding: 3em;
}

.site-body-bottom .widget {
    margin-bottom: 0;
}
.site-body-bottom .wp-block-group {
    min-height: auto;
}
/*--- サイトフッター ---*/
.site-footer
{
	background-color: #004278;
	color: #fff;
	font-size: 16px;
}
.site-footer-content
{
	padding-top: 3rem;
	padding-bottom: 3rem;
}
.site-footer-content .widget
{
	padding-top: 15px;
	padding-bottom: 15px;
}
.site-footer-content a
{
	color: #fff;
}
.site-footer-bottom
{
    background-color: #333333;
    color: #fff;
}


/* ----------- フローティング(PC：右サイド スマホ：フッター) ----------- */
.floating
{
	position: fixed;
	bottom: 0;
	width: 100vw;
	top: auto;
	opacity: 1;
	z-index: 100;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.floating>.inner
{
	display: flex;
	position: relative;
	padding: 0;
	margin: 0;
	list-style-type: none;
	text-align: center;
}
.floating>.inner>.inner-inner.tel
{
	width: 50%;
	margin: 0;
	padding: 0;
	background: #ffc107;
	border: none;
}
.floating>.inner>.inner-inner.line
{
	width: 50%;
	margin: 0;
	padding: 0;
	background: #02950d;
	border: none;
}

.header-function>.inner>.inner-inner a,
.floating>.inner>.inner-inner a
{
	display: block;
	width: 100%;
	border-radius: 0;
	padding: 0;
	background: none;
	margin: 10px 0;
	text-decoration: none;
	font-size: 1.1rem;
    font-family: "TBUDゴシック R" !important;
}

.floating>.inner>.inner-inner.tel a
{
	color: #000;
}
.floating>.inner>.inner-inner.line a
{
	color: #fff;
}

/*--- サイド（ウィジェット） ---*/
.sub-section .widget
{
	margin-bottom: 1rem;
}

.sub-section .widget .sub-section-title
{
    border-bottom: 3px solid #eef3ed;
    position: relative;
    margin-top: 2rem;
}
.sub-section .widget .sub-section-title:after
{
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #004278;
    bottom: -3px;
    width: 20%;
}


.global-nav .menu-item i
{
	color: #ffc107;
}

.global-nav .sub-menu i
{
	color: #fff;
}
.vk-mobile-nav-menu-outer .menu-item i
{
	color: #ffc107;
}

.device-mobile .global-nav-list > li {
    padding: 14px 2.0em;
    font-size: 14px;
}

.device-mobile .global-nav-list > li .global-nav-name {
    font-size: 14px;
}

.device-mobile .global-nav-list > li {
    padding: 14px 2.0em;
    font-size: 14px;
}


/* 指定サイズ以上の設定 */
@media screen and (min-width: 576px) {
	.site-body {
	    padding: 1rem 0 4rem;
	}
}
@media screen and (min-width: 768px) {
	.floating
	{
		display: none;
	}
}
@media screen and (min-width: 992px) {
	.pageprint
	{
		display: block;
	}
	.site-header-logo {
		text-align: left;
		padding-top: 0.5rem;
		margin-bottom: 0.5rem;
		margin-left: 0;
	}
	.site-body
	{
	    padding: 1rem 0 4rem;
	}
}
@media screen and (min-width: 1200px) {
	.site-body
	{
	    padding: 1rem 0 4rem;
	}
}

/*----------------------------------
 ホーム
 -----------------------------------*/
/*- ブロック設定 -*/
.top-block
{
	position: relative;
	padding-top: 2rem;
    padding-bottom: 2rem;
}
.top-block h2
{
	position: relative;
}
.top-block h2:before
{
	position: absolute;
	left: 50%;
	bottom: -10px;
	width: 120px;
	margin: 0;
	content: "";
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	border-radius: 10px;
	border-bottom: solid 1px #000;
}
.top-block hr
{
	border-top: 1px solid;
}
.top-block h5:first-letter {
    color: #33cc00;
}


/*- スライド -*/
.vk_slider.main-visual .swiper-wrapper
{
	transition-timing-function: linear;
}
section.main-visual-wrap
{
	position: relative;
}
section.main-visual-wrap .lead-text-wrap
{
	position: absolute;
	z-index: 800;
	top: 20%;
	left: 20%;
	transform: translate(-50%, -50%);
}
.lead-text-wrap h2
{
	font-size: 2.5rem;
}
.lead-text-wrap h2 span.text-nowrap
{
	line-height: 4.5rem;
	padding: 0 15px 0;
	background: #fff;
	border-radius: 3px;
	color: #fff;
	background-color: rgba(0, 0, 0, 0.5);
	font-family: "秀英にじみ丸ゴシック B";
}

#service h3
{
	border-bottom: solid 1px #004278;
	padding-bottom: 10px;
}
#service img
{
	box-shadow: 10px 10px 0px 0px #004278;
}
#flow .flow-item
{
	border-width: 1px;
	padding-top: 0.75rem;
	padding-right: 1.5rem;
	padding-bottom: 0.75rem;
	padding-left: 1.5rem;
	box-shadow: 6px 6px 0px 0px #004278;
}


#contact h2:before
{
	border-bottom: solid 1px #fff !important;
}


/* アコーディオン全体 */
.accordion-area
{
    list-style: none;
    width: 100%;
    max-width: 100%;
    margin:0 auto;
    padding: 0;
}
.accordion-area section
{
    margin: 10px 0;
}
/*アコーディオンタイトル*/
.accordion-title
{
	color: #000;
}
.accordion-title
{
	position: relative;
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: normal;
    padding: 0.5rem 2.25rem 0.5rem 0.5rem;
    transition: all .5s ease;
    margin: 0 !important;
    line-height: 1.2;
    display: flex;
    align-items: center;
    border-bottom: 2px solid #000;
}
.accordion-title:hover
{
    background-color: #17a2b8;
    color: #fff;
}
.accordion-title:hover::before,
.accordion-title:hover::after
{
    background-color: #fff;
}
.accordion-title span
{
    font-size: 2rem;
	margin: 0 10px 0 0;
}
/*アイコンの＋と×*/
.accordion-title::before,
.accordion-title::after
{
    position: absolute;
    content:"";
    width: 15px;
    height: 2px;
    background-color: #000;
    top: 50%;
    right: 10px;
    transition: all .5s ease;
}
.accordion-title::before
{
    transform: rotate(0deg);
}
.accordion-title::after
{
    transform: rotate(90deg);
}
/*closeというクラスがついたら形状変化*/
.accordion-title.accordion-close::before
{
	transform: rotate(45deg);
}
.accordion-title.accordion-close::after
{
	transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.accordion-box
{
	display: none;/*はじめは非表示*/
	background: #f3f3f3;
	margin: 0.5rem 0 1.5rem !important;
	padding: 1.5rem;
	border-radius: 5px;
}
.accordion-box a
{
    color: blue !important;
}

.accordion-box .answer
{
	font-size: 1.25rem;
	margin-bottom: 0.5rem !important;
}
.accordion-box .answer::first-letter
{
	color: #ff0000;
	font-size: 2rem !important;
	font-weight: bold;
	margin: 0 10px 0 0;
	line-height: 0.5;
}


@media screen and (min-width: 992px)
{
	.accordion-area
	{
		max-width: 95%;
	}
	.accordion-title
	{
    	font-size: 1.5rem;
		padding: 0.5rem 3rem 0.5rem 2rem;
	}
	.accordion-title:before,
	.accordion-title:after
	{
	    right: 20px;
	}
	.accordion-title span
	{
	    font-size: 3rem;
	}
	.accordion-box
	{
		margin: 1.0rem 0 1.5rem !important;
		padding: 2rem;
	}
	.accordion-title span
	{
		margin: 0 10px 0 0;
	}
}

/* ----------- 施工事例 ----------- */

.post-list.vk_posts.vk_posts-mainSection
{
	margin: 40px 0 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	justify-items: center;
}

.works-wrap a
{
	color: #000;
}

.works-wrap a:hover
{
	color: #409be5;
}

.works-thumbnail
{
	width: 100%;
	height: auto;
	aspect-ratio: 340 / 240;
	overflow: hidden;
	-ms-flex-negative: 0;
	flex-shrink: 0;
    position: relative;
}

.works-thumbnail .works-type
{
	position: absolute;
	top: 5px;
	left: 0;
	text-align: center;
	background-color: #ffbf00;
	color: #000;
	padding: 5px 12px;
}

.works-info
{
	padding: 10px;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.works-info .works-title
{
	font-size: 1.25rem;
	font-weight: 500;
	margin: 14px 0;
	font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}


@media screen and (min-width: 576px)
{
	.post-list.vk_posts.vk_posts-mainSection
	{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 768px)
{
	.post-list.vk_posts.vk_posts-mainSection
	{
		grid-template-columns: repeat(3, 1fr);
	}
}


/*----------------------------------
 お知らせ
 -----------------------------------*/
.post .entry-title
{
	border-bottom: solid 1px #000;
	padding: 10px 0;
	margin-bottom: 1rem;
}

span.entry-meta-item.entry-meta-item-author
{
    display: none;
}

/*----------------------------------
 個別ページ
 -----------------------------------*/
.page-header
{
/*
	background-image: repeating-linear-gradient(45deg, rgb(181, 244, 255), rgb(181, 244, 255) 10px, transparent 10px, transparent 20px);
	color: #004278;
	text-shadow: 3px 3px #fff;
*/
	color: #fff;
	background-color: #004278;
	font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 2px;
}

.single h1.entry-title
{
	border-bottom: solid 1px #000;
	padding-bottom: 10px;
}

/*----------------------------------
 施工事例－詳細
 -----------------------------------*/
.works .works-infomation,
.works .contact-infomation
{
	margin:30px 0;
}

.works h2
{
	border-bottom: solid 2px #17a2b8;
	padding: 10px 20px;
	position: relative;
	font-size: 1.5rem;
	margin: 40px 0;
}
.works h2:before
{
	content: "";
	width: 7px;
	background: #17a2b8;
	height: 75%;
	top: 10px;
	left: 0;
	position: absolute;
}

.works .single-works-info
{
	margin: 30px 0;
}
.works .single-works-info .works-type
{
	text-align: center;
	background-color: #ffbf00;
	color: #000;
	padding: 5px 12px;
	display: inline-block;
	border-radius: 5px;
}

/* - 概要 - */
.works-photos
{
	display: flex;
	flex-wrap: wrap;
}

/* スライダー基本 */
.works-slider-top,
.works-slider-buttom
{
	width: 100%;
}
.works-slider-top
{
	margin-right: 0;
	margin-bottom: 10px;
}
.works-slider-top ul,
.works-slider-bottom ul
{
	padding: 0;
	margin: 0;
}
.works-slider-top li.is-active,
.works-slider-bottom li.is-active
{
	list-style: none;
	margin: 0;
}
.works-slider_cstnavi img
{
	border: solid 1px #ccc;
}

.bx-wrapper
{
	border: none;
	margin-bottom: 0;
}

.bx-wrapper img
{
	max-width: 100%;
	width: 100%;
	display: block;
}

.bx-wrapper .bx-prev {
    left: 10px;
    background: url(/images/common/controls.png) no-repeat 0 -32px;
}
.bx-wrapper .bx-next {
    right: 10px;
    background: url(/images/common/controls.png) no-repeat -43px -32px;
}

/* 画像自体のドラッグ（ブラウザ標準機能）を禁止する */
.bxslider img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
}


@media screen and (min-width: 768px)
{
	.works-slider-top
	{
		width: 60%;
		margin-bottom: 0;
		margin-right: 10px;
	}
	.works-slider-bottom
	{
		width: 38%;
	}
}

/* PC表示（マウス操作）の場合のカーソルをリセット */
@media (min-width: 1025px) {
    .bx-viewport, .bxslider, .bxslider li {
        cursor: default !important;
    }
}

/* ----------- 施工事例 - 下部お問い合わせ ----------- */
.contact-box
{
	display: flex;
	flex-direction: row;
	margin: 20px 0;
}
.contact-box-tel-wrap
{
	color: #000;
	background-color: #fcb900;
}
.contact-box-line-wrap
{
	color: #fff;
	background-color: #02950d;
}
.contact-box-tel-wrap,
.contact-box-line-wrap
{
	width: 48%;
	margin: 10px auto;
	padding: 25px 10px;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	border-radius: 3px;
	line-height: 1.7rem;
	position: relative;
	text-align: center;
}

.contact-box-tel-wrap a,
.contact-box-line-wrap a
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.administration-section-tel,
.administration-section-line
{
	font-size: 1.5rem;
	vertical-align: revert;
}
.operation-text
{
	font-size: 1.0rem;
}
@media screen and (max-width: 768px)
{
	.contact-box
	{
		flex-direction: column;
	}
	.contact-box-tel-wrap,
	.contact-box-line-wrap
	{
		width: 100%;
	}
}


/*----------------------------------
 Contact From7
 -----------------------------------*/
.wpcf7 form table,
.wpcf7 form table tbody,
.wpcf7 form table tr th,
.wpcf7 form table tr td
{
	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: 1px solid #fff;
	
}
.wpcf7 form table tr:nth-child(odd)
{
	background: #efefef;
}
.wpcf7 form table tr th
{
    white-space: nowrap;
}
table tr th span.hissu,
table tr th span.nini
{
	margin-right: 1em;
	padding: 5px;
	border-radius: 5px;
	color: #fff;
	font-weight:bold;
}
table tr th span.hissu
{
	background: #bf0008;
}
table tr th span.nini
{
	background: #0068b7;
}
.wpcf7 form table p
{
	margin-bottom: 0;
	text-align: left;
}
.contact-btn-wrap
{
	text-align: center;
	margin: 2em 1em;
}
.tbl-r02 .wpcf7-list-item
{
	margin: 0;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner
{
	border-radius: 25px;
	border: none;
	padding: calc(0.667em + 2px) calc(1.333em + 2px);
	background-color: #004278;
}
span.wpcf7-spinner
{
	display: block;
	margin: 0 auto;
}

@media screen and (min-width: 769px) {
	table.tbl-r02
	{
		width: 100%;
	}
	.tbl-r02 th,
	.tbl-r02 td
	{
		display: block;
		width: 100%;
	}
	.tbl-r02 th
	{
		padding: 15px 10px 5px;
	}
	.tbl-r02 td
	{
		padding: 5px 10px 15px;
	}
}

