@charset "UTF-8";
/*------------------------------
PC用レイアウト（768px以上スクリーン）
------------------------------*/

/*----------
共通設定(PC)
-----------*/

/* 初期スタイル調整 */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* body全体の初期スタイル調整 */
body {
	font-size: 62.5%;
	line-height: 1.5;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	color: #333;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
}

/*リンク文字の設定*/
a {
	text-decoration: underline;
}

a:link,
a:visited {
	color: #39f;
}

a:hover,
a:active {
	color: #f60;
}

p {
	margin: 0 !important;
	padding: 0 !important;
	font-feature-settings: "palt";
}

section {
	clear: both;
	/* 配置設定をクリアにしておくため（初期で設定している左右配置をクリアにする） */
	overflow: auto;
	/* 要素の内容が要素自体の領域を超えた場合「aute」 */
}

/* -------------------------------------
見出しタグ設定（PC)
--------------------------------------*/
h2 {
	margin: 0.5em 0 0.5em;
	font-size: 1.8em;
	font-weight: bold;
	text-align: center;
}

h3 {
	margin: 0 0 0.2em;
	padding: 0.3em;
	font-weight: bold;
}


/*カラムが狭くなってもテーブルタグがはみ出ないようにする*/
table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-word;
}

/* <section> 間の隙間（margin）をなくすため */
h2,
p {
	margin-top: 0;
	margin-bottom: 0;
}


/* 自動カーニング */
.selector {
	font-feature-settings: "palt";
}


/*--------------------------------------------------------
全体レイアウト/背景設定（PC）
--------------------------------------------------------*/

/*全体エリア(全体背景の設定はここ)*/
.main {
	background-color: #f2f2f2;
}

/*記事(ボディ)エリアの行間*/
.atcl_inr p {
	line-height: 1.6em;
	margin-bottom: 1em;
}

/*記事(ボディ)エリアのフォントサイズ*/
.article {
	font-size: 1.7em;
}

/*カラム全体の幅を変更する*/
.header_inr,
.atcl_inr,
.top_image_in {
	width: 950px;
	margin: 0 auto
}

/*PC画面とスマホ画面の切り替え*/

.gamen_pc {
	display: block;
}

.gamen_rps {
	display: none;
}

/*--------------------------------------------------------
上部固定ヘッダー設定
--------------------------------------------------------*/

/*上部固定ヘッダー全体*/
.header {
	position: sticky;
	/* ポジションがピタッとくっつく設定 */
	position: -webkit-sticky;
	top: 0;
	z-index: 5000;
	background-color: #fff;
	border-bottom: 1px solid #fe7e00;
	overflow: auto;
}

/* ヘッダー内部をカラム幅にする */
.header_inr {
	max-width: 950px;
	margin: 0 auto;
	overflow: hidden;
}

/*ヘッダーロゴ*/
.header_logo {
	float: left;
	width: 20%;
	margin: 0.5em 0em 0em;
}


.header_text {
	float: left;
	margin-top: 1.6em;
}

.header_text_inr {
	background-color: #fe7e00;
	padding: 0.5em;
	color: #fff;
	font-weight: bold;
	font-size: 1.8em;
}

/*ヘッダー 電話ボタン*/
.header_tel {
	width: 25%;
	float: right;
	margin: 0.5em 0.5em 0em;
}

/*ヘッダー 問い合わせボタン*/
.header_mail,
.header_line {
	width: 8%;
	float: right;
	margin: 0.8em 0.3em 0em;
}


/*ヘッダー内の画像はエリア幅に合わせる*/
.header_logo img,
.header_tel img,
.header_mail img,
.header_line img {
	width: 100%;
}

/*-----------------------
ファーストビュー設定
-----------------------*/

.top_image {
	position: relative;
	z-index: 1;
	background: url(../images/haikei_gaiju_top.png) center no-repeat #fff;
	height: auto;
	padding-top: 2em;
	padding-bottom: 2em;
}

.top_image_in img {
	width: 100%;
}

/*-----------------------
害獣リストエリア設定
-----------------------*/
.sec_gaiju_list {
	background-color: #fe7e00;
	position: relative;
	z-index: 10;
	overflow: visible;
}

.gaiju_list {
	position: relative;
	transform: translateY(-15px);
	z-index: 30;
	text-align: center;
	/* 引き上げた分だけ押し戻す */
}

.gaiju_list img {
	margin: 0 auto;
	max-width: 880px;
}


/*-----------------------
キャンペーンエリア設定
-----------------------*/
.sec_10off_campaign {
	background: url(../images/haikei_gaiju_10off.png) center no-repeat #fff;
	background-size: cover;
	text-align: center;
	padding-top: 1em;
}

.sec_10off_campaign img {
	display: block;
	margin: 0 auto;
}

/* --------------------------
cv設定
----------------------------*/
/* ① CV全体 */
.cv_area,
.cv_area02 {
	background-color: #fe7e00;
	text-align: center;
	margin: 0 auto;
	overflow: visible;
	padding-bottom: 1em;
}



.cv_tel_text {
	font-size: 1.3em;
}


.cv_area img,
.cv_area02 img {
	display: block;
	max-width: 100%;
	height: auto
}

.cv_inr {
	background: #fff;
	border-radius: 12px;
	max-width: 950px;
	margin: 0 auto;
	padding: 0.5em;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}

.cv_cntnr {
	display: flex;
	gap: 20px;
	padding: 0.5em 2em;
}



/* ⑦ 備考（住所/営業時間/決済） */
.cv_Annotation_text {
	display: flex;
	justify-content: center;
	gap: 28px;
	flex-wrap: wrap;
	margin-top: 8px;
	padding-bottom: 6px;
}

.cv_Annotation_text p {
	margin: 0;
	font-weight: 600;
	letter-spacing: .2px;
	color: #333;
	font-size: .95em;
}

/* クレジットカードエリア */
.cv_credit,
.cv_credit_img{
	display: flex;
	justify-content: center;
	gap: 8px;
}


.cv_credit_text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px; /* 文字と線の間隔 */
}

.cv_credit img{
max-width: 50px;
}


/* --------------------------
共通エリア設定
----------------------------*/
.gaiju_title {
	background-color: #3e823f;
	margin: 0 auto;
	text-align: center;

}


/* --------------------------
悩みエリア設定
----------------------------*/
.nayami_list {
	background: url(../images/haikei_gaiju_nayami.png) center #fff;
}

/* 悩み・予兆エリア */
.nayami_list_inr {
	text-align: center;
	width: 950px;
	margin: 0 auto;
	padding-top: 1.5em;
}

.nayami_list img {
	width: 100%;
}

.nayami_arrow {
	max-width: 400px;
	margin: 0 auto;

}


/* 悩みエリア */
.nayami_woman {
	text-align: center;
	padding-top: 1em;
}

.nayami_woman img {
	max-width: 700px;
}

/*----- 被害・危険エリア -----*/


.nayami_danger_area {
	background: url(../images/haikei_gaiju_nayami_danger.png) center #fff;
	background-size: cover;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
}

.nayami_higai {
	text-align: center;
	padding-top: 1em;
}

.nayami_higai img {
	max-width: 700px;
}

.danger_card {
	position: relative;
	z-index: 1;
	max-width: 950px;
	margin: 0 auto;
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
	border: 2px solid rgba(0, 0, 0, .06);
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	overflow: hidden;
	/* 角丸適用のため */
}

.danger_card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.6);
	/* 白20% */
	z-index: -1;
}

/* ---- 見出し・小見出し ---- */
.danger_title {
	margin: 0 0 10px;
	text-align: center;
	font-size: clamp(20px, 3vw, 28px);
	font-weight: bold;
	text-shadow: 0 0 3px #fff, 0 0 6px #fff;
}

.danger_title strong {
	color: #e53935;
	font-size: 1.2em;
}

/*----- 危険グリッドエリア -----*/
.nayami_danger_glid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}

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

.danger_lead {
	margin: 0 0 16px;
	text-align: center;
	color: #555;
	font-size: clamp(16px, 2.2vw, 20px);
	font-weight: bold;
}

.danger_lead span {
	color: #e53935;
	font-weight: 700;
}

/* ---- グリッド ---- */
.nayami_danger_grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin: 14px auto 18px;
	max-width: 900px;
}

.danger_item {
	overflow: hidden;
}

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

.nayami_red_arrow {
	text-align: center;
}

.nayami_red_arrow img {
	display: inline-block;
	max-width: 450px;
	width: 100%;
	height: auto;
}



/* --------------------------
TEL_CTAエリア設定
----------------------------*/

.sec_tel_cv_area {
	background-color: #fe7e00;
	padding-top: 1em;
	padding-bottom: 1em;
}

.tel_cv_area_text {
	text-align: center;
	color: #fff;

}

.tel_text01 {
	font-size: 1.7em;
	font-weight: bold;
}

.tel_text_small {
	font-size: 0.8em;

}

.tel_text02 {
	font-size: 1.3em;
	font-weight: bold;
}


.tel_cv_area_inr img {
	width: 100%;
}

.tel_cv_area_inr {
	background: #fff;
	border-radius: 12px;
	max-width: 750px;
	margin: 0 auto;
	padding: 0.5em 1em 0.2em;

}

.tel_cv_area_mms {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0px 40px;
}

.tel_cv_area_mms p {
	margin: 0;
	padding: 0.3em 0.8em;
	font-weight: bold;
	font-size: 1.5em;
}

/* 左：太字＋赤文字 */
.tel_cv_area_mms p:first-of-type {
	color: #e53935;
}

/* 右：赤枠＋赤文字 */
.tel_cv_area_mms p:last-of-type {
	color: #e53935;
	border: 2px solid #e53935;
	padding: 0.5em 0.8em;
}



/* --------------------------
解決エリア設定
----------------------------*/

.sec_gaiju_kaiketu {
	background: url(../images/haikei_gaiju_kaiketu.png) center #fff;
	background-size: cover;
}

.kaiketu_title {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

.kaiketu_title img {
	max-width: 500px;
}

.gaiju_kaiketu_mms {
	text-align: center;
}

.gaiju_skill {
	text-align: center;
}

.gaiju_skill img {
	max-width: 700px;
}


.gaiju_security {
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
	margin-top: 1em;
	margin-bottom: 1em;
}



.security_mds_inr {
	background-color: #fe7e00;
	color: #fff;
	padding: 0.5em 1em 0.3em;
}



/* 安心の保証制度 */
.security_mds_inr {
	font-size: 1.2em;
}

.gaiju_security_cntnr {
	display: flex;
	gap: 20px;
	background-color: #fff;
	border: 2px solid #fe7e00;
	padding: 1em;

}

.security_img {
	flex: 2;
}

.security_img img {
	width: 100%;
}

.security_text {
	text-align: left;
	flex: 3;
}

/* --------------------------
施工風景エリア設定
----------------------------*/
.sec_gaiju_seko {
	background-color: #f8f5e4;
	padding-bottom: 2em;
}

.gaiju_seko_title {
	padding-top: 0.8em;
	padding-bottom: 1em;
}

.gaiju_seko_title h2 {
	color: #fff;
	line-height: 1.1em;
}

.seko_title_inr {
	font-size: 0.7em;
}

.seko_jirei_area {
	background-color: #fff;
	max-width: 800px;
	border: 5px solid #fe7e00;
	margin: 0 auto;
	margin-top: 1.5em;
	padding-bottom: 1em;
}

.seko_jirei_inr {
	padding: 0em 2em;

}

.seko_jirei_flex {
	display: flex;
	padding: 1em 0em;
}

.seko_jirei_flex img {
	width: 48%;
	justify-content: center;
	height: auto;
}

.seko_warning {
	text-align: center;
}

.seko_jirei_higai {
	background-color: #fbeef1;
	padding: 0.5em 1em;
}

.seko_jirei_higai_mds {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
}

.seko_jirei_higai_mds img {
	width: 150px;
}

.seko_jirei_higai_mds p {
	font-size: 1.3em;
	color: #cd060c;
	font-weight: bold;
}



.seko_arrow_irai {
	text-align: center;
}

.seko_arrow_irai img {
	display: inline-block;
	max-width: 350px;
	/* 必要なら制限 */
	width: 100%;
	height: auto;
}

.seko_jirei_grid {
	display: flex;
	justify-content: center;
	max-width: 900px;
	margin: 0 auto;
	flex-wrap: wrap;
}

.seko_jirei_grid img {
	width: 24%;
}

/*---- 見積もり無料のエリア ----*/
.gaiju_survey_area {
	max-width: 950px;
	margin: 0 auto;
	overflow: visible;
	padding-top: 2em;
}

/* 親：茶色の帯 */
.gaiju_survey_area_title {
	position: relative;
	/* バッジの基準 */
	background: #4e3a1d;
	padding: 1.5em 0em 1em;
	border-radius: 12px 12px 0 0;
	text-align: center;
	overflow: visible;
}

/* 黄色バッジ（吹き出し）を帯の“上端から半分”だけはみ出させる */
.survey_badge {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	font-size: 1.2em;
	display: inline-block;
	background: #ffec34;
	padding: 3px 16px !important;
	border-radius: 999px;
	font-weight: bold;
	white-space: nowrap;
	box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
	margin: 1em 0;
}

/* 吹き出しの三角 */
.survey_badge::after {
	content: "";
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	border-width: 16px 20px 0 20px;
	border-style: solid;
	border-color: #ffec34 transparent transparent transparent;

}

/* リード文 */
.survey_lead-strong {
	color: #fff;
	font-weight: bold;
	font-size: 1.2em;
	margin: 0;

}

/* 方眼紙の本文枠（下側だけ角丸） */
.gaiju_survey_area_inr {
	background: url(../images/haikei_graph_paper.png) center #fff;
	border-radius: 0 0 12px 12px;
	padding-top: 1em;
}

/* 小見出し */
.survey_lead {
	text-align: center;
}

.gaiju_survey_cntnr {
	max-width: 700px;
	margin: 0 auto;
	padding: 0.3em 0em 0.5em;
}

.gaiju_survey_cntnr img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* --------------------------
料金エリア設定
----------------------------*/
.sec_gaiju_price {
	background-color: #f8f5e4;
}

.gaiju_price_title {
	padding-top: 1.5em;
	padding-bottom: 1.5em;
}

.gaiju_price_title h2 {
	color: #fff;
	line-height: 1.1em;
}


/* ここからレイアウト */
.gaiju_price_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 28px 36px;
	max-width: 1100px;
	padding: 32px 16px 56px;
	margin: 0 auto;
}

.price_item {
	flex: 0 1 31%;
	max-width: 250px;
}

.price_item img {
	width: 100%;
	height: auto;
	display: block;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
}


/* --------------------------
お客様の声エリア設定
----------------------------*/

.sec_gaiju_voice {
	background: url(../images/haikei_gaiju_voice.png) center #fff;
	background-size: cover;
}

.voice_title {
	margin: 0 auto;
	text-align: center;
	padding-top: 2em;
}

.voice_title img {
	max-width: 350px;
}


.voice_cntnr {
	max-width: 800px;
	background-color: #fff;
	border: 2px solid #333;
	border-radius: 10px;
	margin: 0 auto;
	padding: 0.5em 1.5em;
	margin-bottom: 1em;
}

.voice_cntnr_img {
	display: flex;
	justify-content: center;
}

.voice_cntnr img {
	width: 100%;
}

.voice_cntnr_img {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	/* PC時の間隔 */
}

/* PC時（横並びで3:2） */
.voice_cntnr_img img:first-child {
	flex: 3;
	max-width: 60%;
	height: auto;
	object-fit: contain;
}

.voice_cntnr_img img:last-child {
	flex: 2;
	max-width: 40%;
	height: auto;
	object-fit: contain;
}

/* --------------------------
流れエリア設定
----------------------------*/
.sec_gaiju_nagare {
	background-color: #f1fbf2;
	padding-bottom: 2em;
}

.gaiju_nagare_title {
	padding-top: 1.7em;
	padding-bottom: 1.5em;
}

.gaiju_nagare_title h2 {
	color: #fff;
	line-height: 1.1em;
}

.sec_gaiju_nagare_inr {
	margin: 0 auto;

}

.nagare_cntnr {
	display: flex;
	gap: 20px;
	background-color: #fff;
	max-width: 800px;
	margin: 0 auto;
	margin-top: 1em;
	margin-bottom: 0.5em;
	padding: 0.5em;
	justify-content: space-between;
}

.nagare_img img {
	max-height: 170px;
}

.nagare_mds {
	display: flex;
	align-items: center;

}

.nagare_mds img {
	max-width: 60px;
}

.nagare_mds h3 {
	padding-top: 1em;
	font-size: 1.2em;
	color: #fe7e00;
}


/* --------------------------
Q&Aエリア設定
----------------------------*/

.sec_gaiju_qa {
	background: url(../images/haikei_gaiju_kaiketu.png) center #fff;
	background-size: cover;
	padding: 2em 0em;
}




/*------------
よくある質問(アコーディオンver.)
-------------*/
.faq {
	max-width: 800px;
	margin: 0 auto;
}

.faq dl,
.faq dt,
.faq dd {
	margin: 0;
	padding: 0;
}

.faq dl+dl {
	margin-top: 1rem;
}

.faq dt,
.faq dd {
	padding: 10px;
}

.faq dl {
	position: relative;
	overflow: hidden;
}

.faq dl>input {
	display: none;
}

.faq dt {
	position: relative;
	z-index: 1;
	padding-right: 40px;
	padding-left: 2.5em;
	cursor: pointer;
	background: #fff;
	transition: .4;
	transition: .4s;
	border: 1px solid #333;
}

.faq dd {
	position: absolute;
	visibility: hidden;
	transform: translateY(-100%);
	transition: .4s;
	background: #fff;
	border-top: none;
	padding-left: 2.5em;
	border-left: 1px solid#333;
	border-bottom: 1px solid#333;
	border-right: 1px solid#333;
	border-top: 0;
}

.faq dl>input:checked+label>dt {
	border-bottom-color: transparent;
	/* または border-bottom: 0; でもOK */
}

.faq dl>input:checked+label+dd {
	position: relative;
	visibility: visible;
	transform: translateY(0);
}

.faq dt::before {
	content: '';
	position: absolute;
	width: 20px;
	height: 3px;
	top: 50%;
	right: 10px;
	background: #333;
	transform: translateY(-50%);
}

.faq dt::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	width: 20px;
	height: 3px;
	background: #333;
	transition: .4s;
	transform: translateY(-50%) rotate(90deg);
}




.faq dl>input:checked+label>dt::after {
	transform: translateY(-50%) rotate(180deg);
}

.faq dt span,
.faq dd span {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fe7e00;
	color: #fff;
	top: 50%;
	left: .5em;
	width: 1.5em;
	height: 1.5em;
	transform: translateY(-50%);
}


.faq dd span {
	top: 10px;
	transform: translateY(0);
	background-color: #e60000;
}



/*---------
フッター部分
-------*/

.footer {
	background: #fe7e00;
	padding: 2em 0 0.5em;
	text-align: center;
	font-size: 1.4em;
	color: #fff;
}

.footer a {
	color: #fff;
}

/*スマホ用下部固定メニュー*/
.fix_menu_smartphone {
	display: none;
}



/* --------------------------
表エリア設定
----------------------------*/

.low_pase{
	background-color: #fff;
}
.low_pase_inr{
	max-width: 770px;
}
/*カラムが狭くなってもテーブルタグがはみ出ないようにする*/
table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-word;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #959595;
	border-left: 1px solid #959595;
	margin-top: 1em;
	margin-bottom: 1em;
}

th,
td {
	padding: 0.5em;
	border-right: 1px solid #959595;
	border-bottom: 1px solid #959595;
}

th {
	background-color: #f0f0f0;
	font-weight: bold;
	text-align: left;
	width: 35%;
}

td {
	background-color: #fff;
	text-align: left;
	width: 65%;
}

.table_style_01 {
	text-align: left;
	vertical-align: middle;
}

table.table-style01 th,
table.table-style01 td {
	text-align: left;
	vertical-align: middle;
}


/* --------------------------
特商法フッターエリア設定
----------------------------*/

/* 特商法ページ専用レイアウト */
.law-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* 画面全体の高さ確保 */
  background-color: #fff;
}

.law-page .main {
  flex: 1; /* メインを広げてフッターを押し下げる */
    background-color: #fff;

}

.law-page .law_footer {
  margin-top: auto; /* フッターを最下部へ */
}

