/*
Theme Name: Lightning
Text Domain: lightning
Theme URI: https://lightning.vektor-inc.co.jp/en/
Description: Lightning is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
Author: Vektor,Inc.
Author URI: https://www.vektor-inc.co.jp
Version: 15.31.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Lightning WordPress theme, Copyright (C) 2015-2025 Vektor,Inc.
Lightning WordPress theme is licensed under the GPL.

Lightning WordPress Theme bundles the following third-party resources:

Font Awesome icon font, Copyright 2012 Fonticons, Inc.
its fonts are licensed under the terms of the SIL OFL License 1.1, and its code is licensed under the terms of the MIT license
Source: https://fontawesome.com/

Bootstrap framework, Copyright 2011 Bootstrap Authors and Twitter, Inc.
Bootstrap is licensed under the terms of the MIT license
Source: https://getbootstrap.com/

CSS Simple Tree Shaking
CSS Simple Tree Shaking is licensed under the terms of the GNU General Public License v2 license
Source: https://celtislab.net/
*/


.entry-meta-item-updated,.entry-meta-item-author{
	display:none;
}
.localNavi>div>ul li, .localNavi>ul li, .widget .localNavi>div>ul li, .widget .localNavi>ul li, .widget_archive>div>ul li, .widget_archive>ul li, .widget_categories>div>ul li, .widget_categories>ul li, .widget_link_list>div>ul li, .widget_link_list>ul li, .widget_nav_menu>div>ul li, .widget_nav_menu>ul li, .widget_pages>div>ul li, .widget_pages>ul li, .widget_postlist>div>ul li, .widget_postlist>ul li{
	font-size: 1.5rem;
}
/** common *****************************************/
:root {
  /* メインカラー (青系) */
  --primary-color: #0E6EB5;
  --primary-color-light: #1094F5;
  --primary-color-dark: #0D72B6;

  /* アクセントカラー (オレンジ系) */
  --accent-orange: #FF9315;
  --accent-orange-dark: #FF7600;

  /* アクセントカラー (黄系) */
  --accent-yellow: #FFE855;
  --accent-yellow2: #f7fc3a;

  /* ステータスカラー */
  --status-success: #29CC35; /* 成功・完了 */
  --status-error: #EB3232;   /* エラー・警告 */

  /* 背景・薄い色 */
  --bg-light-blue: #DBF0FF;
  --bg-extra-light-blue: #EFF8FF;
  --bg-light-green: #E6FFE8;
  --bg-light-orange: #FFF3E5;
}
html{
	font-size: 62.5%;
}
body{
	 font-family: "游ゴシック体","YuGothic","游ゴシック","Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W6", sans-serif;
	color: #000102;
	font-weight: 500;
	font-size: 1.5rem;
}
a{
	color: var(--primary-color);
	font-size: 1.5rem;
	transition: 0.4s all;
}
img{
	vertical-align:top;
}
p{
	font-size: 1.5rem;
	margin-bottom: 16px;
	line-height: 2;
}
.site-header,.header_scrolled .site-header{
	background-color: var(--primary-color-light);
}
.site-header-logo a{
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 1px;
}
.nav li a, nav li a{
	color: #fff;
}
.device-pc .global-nav-list>li>a:hover{
	background-color: var(--primary-color-light);
}
.site-header{
	padding: 8px 0;
}
.header_scrolled .site-header{
	padding: 0;
}
.site-footer{
	border: none;
	background-color: var(--primary-color-light);
}
nav .footer-nav-list li a{
	color: #fff;
	font-size: 1.4rem;
}
.site-footer-copyright{
	background-color: var(--primary-color-light);
	color: #fff;
}
.site-footer-copyright p{
	font-size: 1.4rem;
}
table th,table td,ul li,ol li,dl dt,dl dd{
	font-size: 1.5rem;
}
.bl_table{
	margin-bottom: 40px;
}
.bl_table th{
	vertical-align: middle;
	text-align: center;
	background-color: #e5ebf4;
	padding: 16px;
	font-weight: bold;
	white-space: nowrap;
}
.bl_table td{
	padding: 16px;
	background-color: #fff;
}
.el_top_head{
	position: relative;
	padding: 16px;
	text-align: center;
	color: #fff;
	background-color: var(--primary-color-light);
	line-height: 1.5;
	font-size: 2.4rem;
	margin-bottom: 56px;
	font-weight: bold;
}

.el_sub_head{
	background-color: var(--primary-color-light);
	border-radius: 0;
	color: #fff;
	padding: 16px 16px 14px;
	margin-bottom: 56px;
	font-size: 2.4rem;
	letter-spacing: 4px;
	text-align: center;
}
.ly_sec h2 {
	color:  var(--primary-color-dark);
    border: none;
	font-size: 1.8rem;
	font-weight: bold;
	border-left: 3px solid var(--primary-color-dark);
	background-color: #F5F6FA;
	padding: 16px;
	margin-bottom: 40px;
}
a.el_btn{
	display: inline-block;
	font-weight: 700;
	position: relative;
	min-width: 240px;
	background-color: var(--primary-color-dark);
	border: 1px solid rgba(0,164,225,0);
	color: #fff;
	padding: 12px 16px;
	padding-right: 32px;
	font-size: 1.4rem;
	text-align: center;
	text-decoration: none;
	transition: 0.4s ease;
}

a.el_btn::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-top: -3px;
}
a.el_btn:hover{
	color: var(--primary-color-dark);
	border: 1px solid var(--primary-color-dark);
	background-color: #fff;
}
a.el_btn:hover:before{
	border-top: 2px solid var(--primary-color-dark);
  border-right: 2px solid var(--primary-color-dark);
}
.page-header{
	position: relative;
	background-color: var(--primary-color-dark);
}
/* .page-header:before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.4);
} */
.page-header-inner{
	padding-top: 4rem;
	padding-bottom: 4rem;
	position: relative;
}
h1.page-header-title{
	font-size: 2.4rem;
	letter-spacing: 4px;
}

.bl_closeBanner{
	max-width: 800px;
	margin: 0 auto;
	background-color: var(--primary-color-dark);
	display: flex;
	align-items: flex-end;
	flex-direction: row-reverse;
}
.el_closeImg{
	width: 25%;
	height: auto;
}
.bl_close_desc{
	width: 75%;
}
.bl_close_desc h2{
	border: none;
	color: #fff;
	margin: 16px;
	font-size:2.2rem;
	background: transparent;
}
.bl_close_innerBox{
	padding: 12px;
	margin: 16px;
	background-color: #fff;
}
.el_closeLead{
	font-size: 2rem;
	margin-bottom: 0;
	font-weight: bold;
}
.bl_closeNum{
	display: flex;
	align-items: center;
}
a.el_closeNumber{
	display: inline-block;
	margin-left: 8px;
	color: #000102;
	text-decoration: none;
	font-size: 4rem;
	font-family: 'Jost', sans-serif;
}
.bl_closeMail{
	display: flex;
}
.bl_closeMail p{
	font-size: 1.8rem;
	font-weight: bold;
	margin-right: 24px;
	margin-bottom: 0;
}
a.el_closeBtn{
	position: relative;
	background-color: var(--status-error);
	display: inline-block;
	padding: 8px 24px;
	color: #fff;
	font-weight: bold;
}
@media (max-width: 800px){
	.bl_closeBanner{
	display: block;
	padding: 16px;
}
	.bl_close_desc h2{
	line-height: 1.8;
	padding-top: 0;
}
.el_closeImg{
	display: none;
}
.bl_close_desc{
	width: 100%;
}
.bl_close_desc h2{
	margin: 0;
	text-align: center;
}
.bl_close_innerBox{
	padding: 16px;
	margin: 0;
	text-align: center;
}
	.el_closeLead{
		line-height: 1.8;
	}
	.bl_closeNum{
	justify-content: center;
}
.bl_closeMail{
	align-items: center;
	flex-direction: column;
}
	.bl_closeMail p{
	margin-right: 0;
		line-height: 1.8;
	margin-bottom: 16px;
}
}
@media (max-width: 767px){

	.page-header-inner{
		padding-top: 4rem;
		padding-bottom: 4rem;
}
	.el_top_head:before{
	width: 80px;
	transform: translateX(-40px);
}
	.el_sub_head{
		font-size: 2rem;
		margin-bottom: 40px;
	}
}
@media (max-width: 480px){
	.bl_close_desc h2{
	font-size: 2rem;
}
	.el_closeLead{
		font-size: 1.6rem;
	}
	a.el_closeNumber{
	font-size: 3.2rem;
}
a.el_closeBtn{
	padding: 12px 32px;
	font-size: 1.6rem;
	color: #fff;
	font-weight: bold;
}
}
.sub-section h4.sub-section-title{
	margin-bottom: 16px;
}
/** layout_style *****************************************/
.ly_top_sec{
	padding: 56px 0;
}
.ly_sec:first-child{
	margin-top: 32px;
}
.ly_sec{
	margin-bottom: 72px;
}
.ly_condensed_sec{
	max-width: 720px;
	height: auto;
	margin: 0 auto;
}
.ly_flex{
	display: flex;
	justify-content: center;
}
.ly_inline_flex{
	display: flex;
	align-items: start;
}
.ly_inline_flex .bl_flex_item{
	display: inline-block;
}
.ly_start{
	justify-content: start;
	align-items: start;
}
.ly_center{
	align-items: center;
}
.ly_reverse{
	flex-direction: row-reverse;
}
.ly_flex__thumbnail{
	gap: 24px;
}
.bl_flex_item{
	width: 100%;
	height: auto;
	margin-bottom: 24px;
	margin-right: 24px;
}
.ly_flex_condensed .bl_flex_item{
	display: inline-block;
	width: auto;
}
.bl_flex_item:last-child{
	margin-right: 0;
}
.ly_reverse .bl_flex_item:first-child{
	margin-right: 0;
	margin-left: 24px;
}
.ly_reverse .bl_flex_item:last-child{
	margin-right: 0;
}
.ly_flex__thumbnail {
  flex-direction: row-reverse;
}
.ly_flex__thumbnail .bl_flex_item:first-child {
  flex: 1;
}
.ly_flex__thumbnail .bl_flex_item:last-child {
  flex: 3;
}

/* 20251117 作業実績のボタン位置訂正*/
.container .btn_sec{
	text-align: center;
}
/* 20251117 作業実績のボタン位置訂正終わり*/

@media (min-width: 768px){
	.ly_sec{
	margin-bottom: 72px;
}
}
@media (max-width: 767px){
.ly_top_sec{
	padding: 32px 0;
}
.ly_sec{
	margin-bottom: 56px;
}
	.ly_flex{
	flex-direction: column;
	align-items: center;
}
.bl_flex_item{
	margin-right: 0 !important;
	margin-left: 0 !important;
}
.ly_flex_condensed .bl_flex_item{
	display: inline-block;
	width: auto;
	max-width: 100%;
}
.ly_flex__thumbnail .bl_flex_item:first-child{
		text-align: center;
	}
.ly_flex__thumbnail .bl_flex_item img{
	max-width: 32%;
	height: auto;
}
}
/** toppage *****************/
.bl_cautionBox{
	max-width: 800px;
	padding: 2.4rem;
	border: 2px solid var(--status-error);
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
}
.bl_cautionBox h2{
	border: none;
	padding-top: 0;
	margin-bottom: 0;
	font-size: 2.4rem;
	color: var(--status-error);
	letter-spacing: 2px;
}
.bl_cautionBox p{
	color: var(--status-error);
	max-width: 560px;
	margin-bottom: 0;
}
.bl_topConcept_desc p{
	font-size: 1.8rem;
}
.bl_topConcept_desc p .md_marker_yellow{
	font-size: 2rem;
}
.bl_top_advList .ly_flex{
	margin-bottom: 5.6rem;
}
.bl_mainv{

}
p.el_advLabel{
	display: inline-flex;
	align-items: center;
	background-color: var(--primary-color-dark);
	color: #fff;
	padding: 6px 16px;
	margin-bottom: 24px;
	letter-spacing: 2px;
	border-radius: 8px;
	line-height: 2.2;
}
.el_advNumber{
	display: inline-block;
	font-weight: bold;
	font-size: 3.2rem;
	padding-left: 8px;
	line-height: 1;
	letter-spacing: 0;
}
.bl_top_advBox h2{
	margin-top: 0;
	font-size: 2.2rem;
	border: none;
	letter-spacing: 1px;
	padding: 0;
	padding-left: 12px;
	border-left: 10px solid var(--primary-color-dark);
	line-height: 1.8;
}
.bl_exPriceBox{
	max-width: 800px;
	margin: 0 auto;
}
.bl_exPriceBox h4{
	background-color: var(--primary-color);
	border-radius: 0;
	color: #fff;
	padding: 16px 16px 14px;
	margin-bottom: 0;
	font-size: 2.4rem;
	letter-spacing: 4px;
	text-align: center;
}
.bl_exPriceInner{
	padding: 2.4rem;
	background-color: #fff;
	display: flex;
}
.bl_exPriceInner img{
	width: 48%;
	height: auto;
}
.bl_exPriceDesc{
	margin-left: 2%;
	width: 50%;
}
.el_detail{
	text-align: right;
	font-weight: bold;
	letter-spacing: 1px;
	font-size: 1.8rem;
}
p.el_exPriceNum{
	color: var(--status-error);
	font-size: 4rem;
	text-align: right;
	line-height: 1.2;
	margin-bottom: 0;
}
.elTacLabel{
	font-size: 50%;
}
.bl_top_serviceBox{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.bl_serviceLink{
	display: block;
	max-width: 400px;
	margin-bottom: 24px;
}
.bl_serviceLink:nth-of-type(2n){
	margin-left: 24px;
}
.bl_serviceLink h4{
	background-color: var(--primary-color-dark);
	color: #fff;
	border-radius: 0;
	padding: 12px;
	font-size: 1.8rem;
	text-align: center;
}
.el_ownerName{
	font-size: 2rem;
	font-weight: bold;
	font-family:  "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.el_nameLabel{font-size: 80%;display: inline-block;margin-right: 8px;letter-spacing: 2px;}

.work_list_item{
	background-color: #fff;
		text-align: center;
	box-shadow: 0 4px 8px rgba(0,0,0,0.4);
	padding: 10px;
	margin-bottom: 32px;
	}
	.work_list_item:last-child{
		margin-right: 0;
	}
	.item_thumb{
		display: block;
		background-color: var(--bg-extra-light-blue);
		overflow: hidden;
		width: 100%;
		height: 250px;
	}
.item_thumb a{
	display: block;
	width: 100%;
	height: 100%;
}
.item_thumb img{
	width: 100%;
	height: 100%;
 transition: 0.4s all;
	object-fit: cover;
}
.item_thumb img:hover{
  transform:scale(1.2,1.2);
}
.works_desc{
	text-align: left;
	padding-top: 8px;
}
.works_title{
	font-size: 1.5rem;
	display: block;
	margin-top: 4px;
}
	.works_date{
		font-size: 1.2rem;
		letter-spacing: 1px;
		font-weight: bold;
}
.bl_work_case{
	background-color: #fff;
	border-radius: 12px;
	margin-bottom: 40px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.bl_work_case h1{
	background-color: var(--primary-color);
	display: flex;
	align-items: center;
    border-radius: 0;
    color: #fff;
	border-radius: 12px 12px 0 0;
    padding: 16px 16px 14px;
    margin-bottom: 0;
    font-size: 2.4rem;
	letter-spacing: 1px;
	font-weight: bold;
}
.el_caseLabel{
	display: inline-block;
	color: var(--primary-color);
	background-color: #fff;
	padding: 4px 24px 2px;
	border-radius: 12px;
	font-size: 1.4rem;
	letter-spacing: 1px;
	margin-right: 16px;
}
.bl_work_case_inner{
	padding: 24px 24px 0;
}
.bl_priceTable,.bl_breakdown{
	margin-bottom: 16px;
}
.bl_work_case_inner .bl_table th{
	background-color: var(--primary-color-light);
	color: #fff;
}
.bl_work_case_inner table td,.bl_work_case_inner table th{
	border-color: rgba(66,87,97, 0.4);
}
.bl_breakdown td{
	font-size: 1.8rem;
	font-weight: bold;
	text-align: right;
}
.el_priceTableNum{
	display: block;
	text-align: center;
	font-size: 4rem;
	font-weight: bold;
	color: var(--status-error);
}
@media (min-width: 768px){
	.works_flex{
		display: flex;
	}
	.work_list_item{
		width: 30.5%;
		margin-right: 4%;
	}
}
@media (max-width: 767px){
	.item_thumb{
		height: 180px;
	}
	.bl_cautionBox h2{
	font-size: 2rem;
}
.bl_exPriceInner{
	flex-direction: column;
	align-items: center;
}
.bl_exPriceBox h4{
	font-size: 1.8rem;
}
.bl_exPriceInner img{
	width: 80%;
	height: auto;
}
.bl_exPriceDesc{
	margin-top: 24px;
	margin-left: 0%;
	width: 100%;
}
.bl_top_serviceBox{
	flex-direction: column;
}
.bl_serviceLink:nth-of-type(2n){
	margin-left: 0;
}
	.el_priceTableNum{
		font-size: 3.2rem;
	}
	.el_ownerName{
		text-align: center;
		font-size: 2.4rem;
	}
	.el_nameLabel{
		margin-right: 0;
		display: block;
		margin-bottom: 8px;
	}
	.bl_work_case h1{
		flex-direction: column;
		align-items: flex-start;
		font-size: 2rem;
	}
	.el_caseTitle{
		display: block;
		margin-top: 4px;
	}
	.bl_priceTable th{
		width: 40%;
	}
	.bl_priceTable td{
		color: var(--primary-color-light);
		font-size: 1.8rem;
    	font-weight: bold;
    	text-align: right;
	}
	.work_list_item{
		margin-right: 16px;
	}
	.work_list_item:last-child{
		margin-right: 0;
	}
}

/** spacial_clean *****************/
.bl_qaList dt,.bl_qaList dd{
	position: relative;
	padding-left: 48px;
}
.bl_qaList dt:before,.bl_qaList dd:before{
	position: absolute;
	content: "";
	left: 0;
	top: -16px;
	font-size: 3.2rem;
}
.bl_qaList dt{
	font-size: 1.8rem;
	line-height: 2.4;
	margin-bottom: 16px;
}
.bl_qaList dt:before{
	content: "Q";
	color: var(--primary-color-dark);
}
.bl_qaList dd{
	padding-bottom: 16px;
	margin-bottom: 32px;
	border-bottom: 2px dashed var(--bg-extra-light-blue);
	line-height: 2.4;
	font-size: 1.8rem;
}

.bl_target_wrap{
	padding: 40px;
}
.bl_target_list{
	margin: 0;
	padding: 24px;
	background-color: #fff;
	box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.bl_target_list li{
	list-style: none;
	letter-spacing: 1px;
	font-size: 1.8rem;
	position: relative;
	padding-bottom: 12px;
	padding-left: 40px;
	padding-top: 4px;
	margin-bottom: 16px;
	border-bottom: 2px dashed var(--bg-extra-light-blue);
}
.bl_target_list li:last-child{
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
.bl_target_list li:before{
	position: absolute;
	left: 0;
	top: 0;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f00c";
	color: #fff;
	padding: 8px;
	border-radius: 50%;
	background-color: var(--primary-color);
}
.bl_achieve {
	padding: 40px;
}
.bl_achieve .bl_btn_sec{
	padding-bottom: 0;
}
.bl_resolve_sec{
	flex-wrap: wrap;
}
.bl_resolve_sec .bl_flex_item{
	width: 30%;
}
.bl_resolve_sec .bl_flex_item:nth-of-type(3n){
	margin-right: 0;
}
.bl_resolveItem{
	background-color: var(--bg-extra-light-blue);
	padding: 8px;
}
.bl_resolveItem h4{
	color: #fff;
	background-color: var(--accent-yellow);
	border-radius: 0;
	font-size: 1.8rem;
	padding: 8px 8px 6px;
	letter-spacing: 2px;
	margin-bottom: 8px;
}
.bl_resolveItem p{
	background-color: #fff;
	padding: 8px;
	margin-bottom: 0;
	line-height: 1.8;
	font-size: 1.6rem;
}
.bl_spService_wrap{
	padding: 40px;
}
.bl_spService_box{
	position: relative;
    background-color: #fff;
    border-radius: 12px;
    margin-bottom:40px;
    padding: 24px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.bl_spService_box:last-child{
	margin-bottom: 0;
}
.bl_spService_desc h3{
	border: none;
	background-color: var(--accent-yellow);
	border-radius: 0 0 12px 12px;
	padding: 16px 16px 14px;
	color: #fff;
	font-size: 2.2rem;
}
.bl_spService_desc h3:after{
	display: none;
}
.bl_voiceItem{
	display: flex;
	align-items: center;
	flex-direction: column;
	margin-bottom: 40px;
}
.bl_voiceItem img{
	margin: 0 auto 24px;
	border-radius: 50%;
	width: 64%;
	height: auto;
}
.bl_voiceDesc ul{
	padding-left: 0;
}
.bl_voiceDesc li{
	font-size: 1.4rem;
	list-style: none;
	border-bottom: 1px dashed rgba(240,146,46,0.3);
	padding-bottom: 12px;
	margin-bottom: 24px;
}
.bl_machine_sec{
	background-color: var(--primary-color);
	padding: 24px;
	margin-bottom: 40px;
	color: #fff;
}
.bl_machine_sec h2{
	border: none;
	text-align: center;
	color: #fdfe00;
	font-size: 2rem;
}
.bl_machine_sec p{
	font-size: 1.8rem;
}
.el_voiceHead_p{
	color: var(--accent-yellow);
	font-size: 2.4rem;
	text-align: center;
}
@media (min-width: 768px){
	.bl_machine_sec h2{
	font-size: 2.4rem;
}
	.bl_machine_sec{
		padding: 56px;
	}
	.bl_machine_sec img{
		max-width: 64%;
		height: auto;
	}
	.bl_spService_box{
	display: flex;
		align-items: flex-start;
}
.bl_spService_box img{
	width: 35%;
}
.bl_spService_desc{
	width: 63%;
	margin-left: 2%;
}
	.bl_voiceItem{
	flex-direction: row-reverse;
	justify-content: center;
}
	.bl_voiceItem:last-child{
		flex-direction: row;
	}
	.bl_voiceDesc{
		width: 64%;
		margin-right: 16px;
	}
	.bl_voiceItem img{
	width: 240px;
	height: auto;
}
	.bl_voiceDesc li{
		font-size: 1.6rem;
	}
}
@media (max-width: 767px){
	.el_voiceHead_p{
		font-size: 1.8rem;
	}
	.bl_machine_sec p{
	font-size: 1.5rem;
}
	.bl_resolve_sec{
		flex-direction: column;
	}
	.bl_resolve_sec .bl_flex_item{
		width: 100%;
	}
	.bl_spService_wrap{
		padding: 4px;
	}
	.bl_spService_box{
		padding: 12px;
		margin-bottom: 24px;
	}
	.bl_spService_desc h3{
		font-size: 1.8rem;
	}
	.bl_spService_box img{
		border-radius: 12px 12px 0 0;
	}
	.bl_qaList dd{
		font-size: 1.5rem;
		line-height: 1.8;
	}
}
/** price *****************/
.el_plusPrice{
	color: var(--primary-color);
}
/** company *****************/
.bl_greetingWrap{
	background-color: #fff;
	padding: 24px;
}

/** flow *****************/
	.bl_flow .ly_flex {
		margin-bottom: 56px;
	}
.bl_flow_item_desc h3{
	border: none;
	color: var(--primary-color);
	line-height: 56px;
	font-size: 2rem;
}
.bl_flow_item_desc h3:after{
	display: none;
}
.el_flowLabel{
	display: inline-block;
	text-align: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: var(--primary-color-dark);
	color: #fff;
	font-size: 2.4rem;
	margin-right: 12px;
}
@media (min-width: 768px){
	.bl_flow .ly_flex .bl_flex_item:first-child{
		width: 72%;
	}
.bl_flow .ly_flex .bl_flex_item:last-child{
	width: 25%;
}
}
@media (max-width: 767px){
.bl_flow_item_desc h3{
	display: flex;
	margin-bottom: 4px;
	flex-direction: column;
	align-items: center;
	line-height: 2;
}
	.el_flowLabel{
		margin-right: 0;
		padding-top: 4px;
		margin-bottom: 16px;
	}
}
/** qa *****************/
.bl_qa_list dt,.bl_qa_list dd{
	position:  relative;
	padding-left: 3.2rem;
	line-height: 2.4;
	border:  none;
}
.bl_qa_list dd{
	padding-bottom: 8px;
	margin-bottom: 16px;
	border-bottom: 1px solid #ccc;
}
.bl_qa_list dt:before,.bl_qa_list dd:before{
	content: "";
	font-size: 2.4rem;
	position: absolute;
	top: -10px;
	left: 0;
	font-family: 'Hahmlet', serif;
}

.bl_qa_list dt:before{
	content: "Q";
	color: var(--primary-color-dark);
}
.bl_qa_list dd:before{
	content: "A";
	color: var(--status-error);
}

/** contact *****************/
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea{
	font-size: 1.6rem;
}
.bl_submitSec{
	text-align: center;
	margin-top: 40px;
}
.bl_submitSec input[type=submit]{
	font-size: 1.8rem;
	padding: 12px 64px 10px;
}
.el_formLabelEm{
	display: inline-block;
	font-size: 1.3rem;
	margin-left: 8px;
	color: #fff;
	letter-spacing: 4px;
	padding: 2px 12px 0;
	border-radius: 4px;
	background-color: var(--status-error);
}
.el_postCode input[type=text]{
	width: 30%;
	margin-left: 4px;
}
.el_postCodeHolder{
	display: inline-block;
	margin-left: 8px;
}
@media (max-width: 767px){
	.el_postCode input[type=text]{
	width: 80%;
}
.wpcf7-form table.bl_table tr{
	display: flex;
	flex-direction: column;
}
	.wpcf7-form table.bl_table th{
		text-align: left;
	}
.bl_submitSec{
	text-align: left;
}
}
/** component *****************/
.bl_pickup_info{
	border:solid 2px var(--primary-color);
	padding:.5em 1em .5em 2.2em;
	text-indent:-.7em;
	font-size:1.1em;
	font-weight:bolder;
	color:var(--primary-color);
}

.md_text_red{
	color: var(--status-error);
}
.el_btnL{
	min-width: 360px;
	text-align: center;
	border:  2px solid #fff;
	color: #fff;
	background-color: var(--primary-color-dark);
	border: 2px solid var(--primary-color-dark);
    display: inline-block;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 1.6rem 4.8rem;
    padding-right: 5.6rem;
    position: relative;
    text-decoration: none;
    transition: 0.3s ease;
}
.el_btnL:before{
	border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
    height: 7px;
    margin-top: -3px;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: rotate(45deg);
    width: 7px;
}
.el_btnL:hover{
	text-decoration: none;
	background-color: #fff;
    color: var(--primary-color-dark);
    }
.el_btnL:hover:before{
	border-right: 2px solid var(--primary-color-dark);
    border-top: 2px solid var(--primary-color-dark);
}
.bl_news{
	max-width: 720px;
	margin: 0 auto;
	padding-left: 0;
}
.bl_news_item{
	border-bottom: 1px solid rgba(33,37,41,0.3);
    padding: 16px 16px 14px;
	list-style: none;
}

.el_news_date{
	font-size: 1.4rem;
	display: inline-block;
	margin-right: 8px;
}
.el_news_title a{
	color: #000102;
}
.el_news_title a:hover{
	opacity: 0.8;
}
.bl_cercle_list{
	border: 8px solid #e3f3ff;
	padding: 24px;
	max-width: 800px;
	margin: 0 auto 40px;
}
.bl_cercle_list li{
	list-style: none;
	position: relative;
	font-size: 1.8rem;
	font-weight: 700;
	padding-left: 40px;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px dashed #ccc;
}
.bl_cercle_list li:before{
	content:"●";
	font-size: 1.8rem;
	position: absolute;
	top: 0;
	left: 0;
	color: var(--primary-color-dark);
}
.bl_cercle_list li:last-child{
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 0;
}
@media (max-width: 767px){
	.el_btnL{
		min-width: auto;
	width: 80%;
}
}
/** modi *****************/
.md_marker_yellow{
	background:linear-gradient(transparent 60%, #ff6 60%);
	font-weight: bold;
}
.md_text_orange{
	color: var(--accent-yellow);
}
.md_inner_padding{
	padding: 40px;
}
.md_text_center{
	text-align: center;
}
.md_text_left{
	text-align: left;
}
.md_lightblue_bg{
	background-color: var(--bg-extra-light-blue);
}
.el_headDesc{
	font-size: 1.8rem;
}
.spbr,.spbr_inline{
	display: inline-block;
}
.bl_btn_sec{
	padding: 24px 0;
	text-align: center;
}
.bl_btn_flex{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 24px;
}
.bl_btn_flex a{
	margin-bottom: 16px;
}
.el_close_p{
	text-align: center;
	font-size: 1.6rem;
}
.el_first_p{
	text-align: center;
	font-size: 2rem;
}
h3.el_sideContent_lead{
	border: none;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 2px;
}
h3.el_sideContent_lead:after{
	display: none;
}
@media(min-width: 768px){
	.bl_btn_flex a{
	margin-right: 16px;
}
.bl_priceTable td{
	font-size: 1.8rem;
	}
.bl_thCondensed th{
	width: 40%;
}
.bl_thCondensed dd{
	width: 60%;
}
}
@media(max-width: 767px){
	.md_inner_padding .bl_flex_item:last-child{
		margin-bottom: 0;
	}
	.md_inner_padding{
		padding: 24px;
	}
	.md_br_brake_sp{
		display: none;
	}
	.bl_btn_flex{
		flex-direction: column;
	}
	.spbr{
		display: block;
	}
	.el_first_p{
		font-size: 1.8rem;
		text-align: left;
	}
	.el_headDesc{
	font-size: 1.6rem;
}
}
/** line追加 **/
.bl_lineBox{
	background-color: #fff;
	max-width: 800px;
	padding: 2.4rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
}
.bl_lineBox h2{
	width: 100%;
	border: none;
	background-color: var(--primary-color);
    background-image: repeating-linear-gradient(-45deg,var(--primary-color), var(--primary-color) 3px,transparent 0, transparent 8px);
	border-radius: 0;
	color: #fff;
	padding: 16px 16px 14px;
	margin-bottom: 32px;
	font-size: 2.4rem;
	letter-spacing: 4px;
	text-align: center;
}

/* no image */

.noimg{
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--bg-extra-light-blue);
	color: var(--primary-color);
	width: 100%;
	height: 100%;
}
/** トップページ追加 **/

.aboutTrouble_item{}
.aboutTrouble_item h3{
	border: none;
	border-left: 8px solid var(--primary-color-light);
	background-color: var(--bg-light-blue);
	padding: 10px;
}
.aboutTrouble_item h3:after{
	display: none;
}
.aboutTrouble_item p{
	font-size: 1.4rem;
}
/** トップページ追加_当社の特徴 **/
.numberListBox {
    display: flex;
    gap: 56px;
}
.numberList_item {
    flex: 2;
}
.numberList_img {
    flex: 1;
}
.gurisyu_caption{
	background-color: var(--primary-color);
	color: #fff;
	padding: 8px;
	margin-bottom: 0;
	text-align: center;
	font-weight: bold;
}
.numberList_img img {
    width: 100%;
    height: auto;
    display: block;
}
.numberList_item ol {
    list-style: none;
    padding-left: 0;
    margin: 0;
    counter-reset: custom-counter;
    display: flex;
    flex-direction: column;
    gap: 1em;
}
.numberList_item li {
	position: relative;
    display: flex;
	font-size: 1.8rem;
	font-weight: bold;
	align-items: flex-start;
    line-height: 1.7;
	padding-left: 2.8em;
}
.numberList_item li::before {
	position: absolute;
	top: -5px;
	left: 0;
    counter-increment: custom-counter;
    content: counter(custom-counter);
    color: var(--primary-color-light);
    background-color: var(--bg-light-blue);
    font-weight: bold;
    font-size: 1em;
    min-width: 2.2em;
    height: 2.2em;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}
@media (max-width: 991px) {
	.numberList_item li {
		display: block;
	}
}
@media (max-width: 768px) {
    .numberListBox {
        flex-direction: column;
        gap: 32px;
    }
}
/** トップページ追加_災害対応（床下浸水・災害清掃・消毒脱臭） **/
.exsample_list h3 {
  background-color: var(--bg-extra-light-blue);
	border: none;
  border-left: 8px solid var(--primary-color-dark);
  padding: 0.8rem 1rem;
  margin: 0 0 1.5rem 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #333;
}
.exsample_list h3:after{
	display: none;
}
.exsample_list ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 12px 10px;
}

.exsample_list li {
  background-color: var(--primary-color-dark);
  color: #ffffff;
  padding: 0.7rem 1.5rem;
  border-radius: 50px;
  font-weight: bold;
  font-size: 1.3rem;
  line-height: 1.4;
  white-space: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  box-sizing: border-box;
	min-width: 160px;
	text-align: center;
}

@media (max-width: 600px) {

  .exsample_list li {
    width: calc(50% - 5px); 
    text-align: center;
    
    /* 2列にした際にテキストがはみ出ないように改行を許可 */
    white-space: normal;
    flex-shrink: 1;
  }
}

.saigaiFlow_wrap {
  padding: 1rem;
}
ol.saigai_flow {
  list-style: none;
  padding-left: 0;
  margin-left: 15px;
  counter-reset: saigai-counter;
}

.saigai_flow li {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 20px;
  position: relative;
  padding-bottom: 40px;
	margin-bottom: 0;
	margin-top: 0;
  counter-increment: saigai-counter;
}

.saigai_flow li:last-child {
  padding-bottom: 0;
}

.saigai_flow li::before {
  content: '';
  position: absolute;
  left: 11px;
  top: 0;
  bottom: 0;
  width: 8px;
  background-color: var(--bg-extra-light-blue);
}

.saigai_flow li:first-child::before {
  top: 30px;
}

.saigai_flow li:last-child::before {
  bottom: auto;
  height: 15px;
}
.saigai_flow li::after {
  content: counter(saigai-counter);
  grid-column: 1;
  grid-row: 1;
  width: 30px;
  height: 30px;
  line-height: 30px;
  background-color: var(--primary-color-dark);
  color: white;
  font-weight: bold;
  border-radius: 50%;
  text-align: center;
  position: relative;
  z-index: 1;
}

.saigaiFlow_item {
  grid-column: 2;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.saigaiFlow_item dl {
  flex: 1 1 300px;
  margin: 0;
}

.saigaiFlow_item .saigaiFlow_img {
  flex: 1 1 320px;
  max-width: 480px;
}

.saigaiFlow_img img {
  width: 100%;
  height: auto;
  display: block;
}

.saigaiFlow_item dt {
  font-weight: bold;
  font-size: 2rem;
  color: var(--primary-color-dark);
}

.saigaiFlow_item dd {
  margin-top: 10px;
  color: #555;
  font-size: 1.5rem;
  line-height: 1.6;
}

/* --- レスポンシブ対応 (768px以下) --- */
@media (max-width: 768px) {
  .saigaiFlow_wrap {
    margin-left: 0;
    margin-right: 0;
  }
  
  /* スマホではテキストと画像を縦積みに */
  .saigaiFlow_item {
    display: block; /* Flexを解除 */
  }
  
  .saigaiFlow_item .saigaiFlow_img {
    margin-top: 15px; /* テキストと画像の間に余白 */
    max-width: 100%;
  }

  .saigaiFlow_item li {
    grid-template-columns: 30px 1fr;
    gap: 15px; /* 丸とコンテンツの間を少し詰める */
  }
}
/* --- レスポンシブ対応 (768px以下) --- */
@media (max-width: 768px) {
  .saigaiFlow_wrap {
    margin-left: 0;
    margin-right: 0;
  }
  
  /* スマホではテキストと画像を縦積みに */
  .saigaiFlow_item {
    display: block; /* Flexを解除 */
  }
  
  .saigaiFlow_item .saigaiFlow_img {
    margin-top: 15px; /* テキストと画像の間に余白 */
    max-width: 100%;
  }

  .saigaiFlow_item li {
    grid-template-columns: 30px 1fr;
    gap: 15px; /* 丸とコンテンツの間を少し詰める */
  }
}
/** トップページ追加_災害・水害等に備えたその他のサービス **/
.serviceListBox {
	margin-bottom: 56px;
    display: flex;
    align-items: flex-start;
    gap: 40px;
}
.serviceList_img {
    flex: 1;
    min-width: 200px;
}
.serviceList_img img {
    width: 100%;
    height: auto;
    display: block;
}
.serviceList_item {
    flex: 2;
}
.serviceList_item h3{
	font-size: 2rem;
	border: none;
	border-left: 8px solid var(--status-success);
	background-color: var(--bg-light-green);
	padding: 10px;
}
.serviceList_item h3:after{
	display: none;
}
.serviceList_label{
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 32px;
	padding:0;
}
.serviceList_label li{
	font-size: 1.4rem;
	background-color: var(--status-success);
	color: #fff;
	border-radius: 16px;
	min-width: 120px;
	text-align: center;
	margin: 0;
	padding: 6px 12px;
	list-style: none;
}
.serviceList_item .el_btn{
	background-color: var(--status-success);
}
.serviceList_item a.el_btn:hover{
	background-color: #fff;
	color: var(--status-success);
	border: 1px solid var(--status-success);
}
.serviceList_item a.el_btn:hover:before {
    border-top: 2px solid var(--status-success);
    border-right: 2px solid var(--status-success);
}
.boxOrange h3{
	font-size: 2rem;
	border: none;
	border-left: 8px solid var(--accent-orange);
	background-color: var(--bg-light-orange);
	padding: 10px;
}
.boxOrange .serviceList_label li{
	font-size: 1.4rem;
	background-color: var(--accent-orange);
	color: #fff;
	border-radius: 16px;
	min-width: 120px;
	text-align: center;
	margin: 0;
	padding: 6px 12px;
}
.boxOrange .el_btn{
	background-color: var(--accent-orange);
}
.boxOrange a.el_btn:hover{
	background-color: #fff;
	color: var(--accent-orange);
	border: 1px solid var(--accent-orange);
}
.boxOrange a.el_btn:hover:before {
    border-top: 2px solid var(--accent-orange);
    border-right: 2px solid var(--accent-orange);
}
.otherServiceFlex {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
	margin-top: 56px;
}

.serviceCard h2 {
  background-color: var(--primary-color-light);
  color: #fff;
	border: none;
	margin-bottom: 16px;
}

.serviceCard img {
  max-width: 100%;
  height: auto;
  display: block;
}
.serviceCard p{
	margin-top: 16px;
}
@media (max-width: 767px) {
  .otherServiceFlex {
    grid-template-columns: 1fr;
  }
}
.place_item h3 {
  background-color: var(--primary-color-light);
  border-radius: 16px;
	color: #fff;
	border: none;
  text-align: center;
  font-size: 1.4rem;
  padding: 1rem;
  margin-top: 8px;
  margin-bottom: 0;
}
.place_item h3:after { display: none;}
.placeList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .placeList {
    grid-template-columns: repeat(5, 1fr);
  }
}

.place_item img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 6px;
}

/** ご依頼の流れ **/
ol.flow_list {
  list-style-type: none;
	max-width: 900px;
  padding: 0;
  margin: 0 auto;
  counter-reset: flow-counter;
}

ol.flow_list li {
  position: relative;
  padding-left: 80px;
  padding-bottom: 60px;
  margin-bottom: 30px;
}

ol.flow_list li::before {
  content: counter(flow-counter);
  counter-increment: flow-counter;
  
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: var(--primary-color-dark);
  color: white;
  font-size: 24px;
  font-weight: bold;
  
  position: absolute;
  left: 0;
  top: 0;
}

ol.flow_list li::after {
  content: '';
  display: block;
  
  width: 0;
  height: 0;
  border-left: 48px solid transparent;
  border-right: 48px solid transparent;
/*  border-top: 32px solid var(--bg-extra-light-blue);*/
  border-top: 32px solid #a9daff;
  position: absolute;
  bottom: 15px;
  left: 50%;
  margin-left: -10px;
}

ol.flow_list dt {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
  padding-top: 10px;
	color: var(--primary-color-dark);
}
.flow_list dl{
	padding-bottom: 24px;
	margin-bottom: 32px;
	border-bottom: 1px solid #cccccc;
}
ol.flow_list dd {
  margin: 0;
  line-height: 1.7;
}

ol.flow_list dd p {
  margin: 0 0 1em 0;
}

.flow_telNum {
  margin-top: 20px;
}

.flow_telNum {
  font-size: 32px;
  color: var(--accent-orange);
  font-weight: bold;
  display: block;
}

span.flow_telDate {
	color: #333;
  font-size: 14px;
  display: block;
  margin-bottom: 16px;
}


p.flowLast_p {
  background-color: var(--accent-orange);
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 20px;
  margin-top: 40px;
}

/** 下層主要ページの共通スタイル **/
.worksEx_box {
  background-color: var(--bg-extra-light-blue);
  border: 1px solid var(--primary-color);
  padding: 24px;
	margin-bottom: 40px;
  display: flex;
  flex-direction: column; 
  gap: 24px; 
}

.worksEx_img {
  width: 100%;
}

.worksEx_img img {
  max-width: 100%;
  height: auto;
  display: block;
	border-radius: 16px;
}

.worksEx_desc {
}

.worksEx_desc h2 {
  font-size: 2rem;
  color: var(--primary-color);
	border: none;
	background-color: transparent;
  margin: 0 0 16px; 
	padding: 0;
  line-height: 1.4;
}

.worksEx_desc p {
  margin: 0;
  line-height: 1.7;
}

p.worksEx_label {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .worksEx_box {
    flex-direction: row;
    align-items: flex-start;
  }
  
  .worksEx_img {
    flex: 2; 
    min-width: 0; 
	  order: 1;
  }
  
  .worksEx_desc {
    flex: 3;
    min-width: 0;
  }
}
dl.qa_list {
  margin: 0;
}
dl.qa_list dt {
  display: flex;
  align-items: flex-start;
	color: var(--primary-color);
  gap: 10px;
  font-size: 18px;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 16px;
}
dl.qa_list dt::before {
  content: "Q";
  flex-shrink: 0; 
  color: var(--primary-color);
  font-size: 24px;
  line-height: 1;
  font-weight: bold;
  width: 24px;
  text-align: center;
}
dl.qa_list dd {
  font-size: 16px;
  margin-left: 34px; 
  line-height: 1.6;
  padding-bottom: 16px;
	margin-bottom: 24px;
	border-bottom: 1px solid #cccccc;
}
dl.qa_list dt:first-of-type {
  margin-top: 0;
}
.price_box{
	margin-bottom: 24px;
}
.price_box h3{
	font-size: 2rem;
	padding-bottom: 16px;
	margin-bottom: 16px;
}
@media (max-width: 768px) {
    .serviceListBox {
        flex-direction: column;
        gap: 24px;
    }
}
.lineBlock {
	border-radius: 24px;
  padding: 16px;
  border: 1px solid var(--status-success);
  margin: 0;
  list-style: none;
}

.lineBlock li {
  border-bottom: 1px dashed var(--status-success);
  position: relative;
  padding-left: 32px;
  padding-bottom: 12px;
	margin-bottom: 15px;
}

.lineBlock li:last-child {
  border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.lineBlock li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 34%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  background-color: var(--status-success);
  border-radius: 50%;
}
/** トップページ追加_施工事例 **/
.works_category a{
	display: inline-block;
	padding: 4px 12px;
	background-color: #000;
	color: #fff;
	font-size: 1.2rem;
	margin-left: 4px;
}
.cat-saigai a{
	background-color: var(--primary-color-light);
}
.cat-bassai a{
	background-color: var(--status-success);
}
.cat-others a{
	background-color: var(--accent-orange);
}
/** トップページ追加_お知らせ **/
.info_newBox{
	background-color: var(--bg-extra-light-blue);
}
/** トップページ追加_企業情報 **/
.licenseListBox{
    background-color: var(--bg-extra-light-blue);
    padding: 16px;
    display: flex;
    gap: 32px;
	align-items: center;
	justify-content: center;
}
.license_img{}

.license_name h3{
    border: none;
	padding: 12px;
	background-color: var(--primary-color-light);
	margin-bottom: 0;
	color: #fff;
	text-align: center;
	letter-spacing: 1px;
}
.license_name h3:after{
    display: none;
}
.license_name ul{
    margin: 0;
    border: 1px solid #707070;
    padding: 16px;
	background-color:#fff;
}
.license_name li{
    position: relative;
	list-style: none;
	padding-left: 24px;
    position: relative;
	margin-bottom: 15px;
}
.license_name li:before{
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 3px;
    background-color: var(--primary-color-light);
	border-radius: 50%;
}
@media (max-width: 768px) {
    .licenseListBox{
    flex-direction: column;
}
}
/****** closeBanner **/
.closeBanner{
	max-width: 960px;
	margin: 0 auto 40px;
	background-color: var(--primary-color-light);
	padding: 32px;
}
.closeBanner_inner{
	background-color: #fff;
	padding: 16px;
}
.closeCopy{
	background-color: var(--primary-color);
	color: var(--accent-yellow2);
	font-size: 1.8rem;
	font-weight: 700;
	padding: 8px;
	text-align: center;
}
.closeContentFlex{
    display:flex;
    align-items:flex-start;
    gap:16px;
    flex-wrap:nowrap;
}


.closeBanner_desc{
    flex:6.5 1 0%;
    order:1;
}
.closeBanner_image{
    flex:3.5 1 0%;
    order:2;
    display:flex;
    align-items:center;
    justify-content:center;
}


.closeBanner_image img{
    width:100%;
    height:auto;
    display:block;
    object-fit:cover;
}

@media (max-width:991px){
	.closeCopy{
		font-size: 1.6rem;
	}
    .closeContentFlex{
        flex-direction:column;
        gap:12px;
    }
    .closeBanner_desc,
    .closeBanner_image{
        order:0; 
        flex:0 0 auto;
        width:100%;
    }
}
.closeBannerDesc_inner{
    display:flex;
    align-items:center;
    gap:4px;
    flex-wrap:nowrap;
}
.closeBannerDesc_image{
	display: flex;
	flex-direction: column;
    flex:3.5 1 0%;
    min-width:0;
    align-items:center;
    justify-content:center;
	order:2;
}
.closeDesc_content{
    flex:6.5 1 0%;
    min-width:0;
	order:1;
}
.closeDesc_content p{
	margin-bottom: 0;
}
.closeDesc_firstP{
	font-size: 2.8rem;
	font-weight: 700;
	vertical-align: bottom;
	line-height: 1.6;
}
.closeDesc_emText{
	color:var(--status-error);
	font-size: 90%;
}
.closeDesc_secondP{
	font-size: 2.2rem;
	line-height: 1.6;
	font-weight: 700;
}
.closeBannerDesc_image img{
    width:100%;
    max-width:120px;
    height:auto;
    display:block;
    object-fit:contain;
}
.closeBannerDesc_image p{
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	padding: 4px;
	background-color: var(--accent-orange-dark);
}
.closeFreedial{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
	margin-bottom: 16px;
}

.dialIcon{
    flex:2 1 0%;
    display:flex;
    align-items:center;
	flex-direction: column;
    min-width:0;
}
.emergency_text{
	font-size: 1.1rem;
	color: var(--status-error);
	font-weight: 700;
	line-height:1;
}

.dialIcon img{
    width:40px;
    height:40px;
    object-fit:contain;
    display:block;
}

.closeFreedial_num{
    flex:8 1 0%;
    min-width:0;
    font-weight:700;
    font-size:3.2rem;
    line-height:1.8;
	color: var(--primary-color);
}
.close_btn_sec a.el_btn{
	background-color: var(--status-error);
	text-align: left;
}
.close_btn_sec a.el_btn:hover{
	color: var(--status-error);
	background-color: #fff;
	border: 1px solid var(--status-error);
}
.close_btn_sec a.el_btn:hover:before{
	    border-top: 2px solid var(--status-error);
    border-right: 2px solid var(--status-error);
}
@media (max-width:991px){
    .closeBannerDesc_inner{
        gap:8px;
    }

    .closeBannerDesc_image img{
        max-width:50%;
    }
}
@media (max-width:767px){
    .closeBannerDesc_inner{
        flex-direction: column;
    }

	.closeBannerDesc_image,.closeDesc_content{
		order: 0;
	}
}
@media (max-width:420px){
	.closeCopy{
		font-size: 1.3rem;
		line-height: 1.5;
	}
.dialIcon{
    flex:2.5 1 0%;
}
	.closeFreedial_num{
		flex:7.5 1 0%;
	}
	.closeDesc_firstP{
		font-size: 2rem;
	}
	.closeDesc_secondP{
		font-size: 1.6rem;
	}
    .dialIcon img{ width:32px; height:32px; }
    .closeFreedial_num{ font-size:2.4rem; }
}
/** お問い合わせ **/

.contactNum{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 420px;
	margin: 0 auto;
}
.contactNum .closeFreedial_num,.contactNum .emergency_text{
	margin-bottom: 0;
}
.dialRedP{
	background-color: var(--status-error);
	color: #fff;
	text-align: center;
	max-width: 420px;
	margin: 0 auto;
	padding: 4px;
	font-size: 2rem;
}