@charset "UTF-8";

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}

/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"], button {
	appearance: none;
	cursor: pointer;
}

@font-face {
	font-family: 'Noto Sans JP';
	src: local(''), url('font/NotoSansJP.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: min(3.3333vw, 25px);
	color: var(--black);
	background: #fbf0b3;
}
.serif {
	font-family: 'Noto Serif JP', serif;
}
.zen-maru-gothic {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-style: normal;
}
.m-plus-2 {
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

a {
	text-decoration: none;
	color: #000;
}
@media ( max-width: 1140px ){
	.sptab {
		display: none !important;
	}
}
@media ( min-width: 769px ){
	body {
		width: 530px;
		margin: 0 auto;
		padding-right: min(calc(100% - 530px), 530px);
	}
	.sp {
		display: none !important;
	}
	.wrapper {
		position: absolute;
		width: 750px;
		transform: scale(0.68);
		transform-origin: top left;
		border-left: 15px solid #fff;
		border-right: 15px solid #fff;
	}
}
@media ( max-width: 768px ){
	.pc,
	.pctab {
		display: none !important;
	}
	body {
		padding: 0 0 min(26.6667vw, 200px);
	}
}

.inner {
	padding: 0 min(4.6667vw, 35px);
}
:root {
	--black: #292929;
	--red: #e00000;
    --orange: #ff6732;
    --orange2: #ffc000;
    --yellow: #fdff53;
    --yellow2: #ffe100;
	--cream: #ffef80;
	
}

/*-----------------------------------
.pc_nav_wrap
-----------------------------------*/
.pc_nav_wrap {
	position: fixed;
	top: 0;
	bottom: 0;
	left: calc( max(50%, 530px) + 75px );
	width: 490px;
	display: flex;
	align-items: center;
}
.pc_nav_wrap .in {
	width: 490px;
	max-height: calc(100vh / 0.8);
	padding: 30px 0;
	box-sizing: border-box;
	transform: scale(0.8);
	overflow: auto;
}
.pc_nav_wrap .logo {
	margin: 0 0 40px;
}
.pc_nav_wrap .nav {
	width: 280px;
	margin: 0 auto 68px;
	position: relative;
}
.pc_nav_wrap .nav ul {
	width: 280px;
	text-align: left;
}
.pc_nav_wrap .nav ul li a {
	display: block;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 16px 0 16px 40px;
	background: url("img/menu_arw.png")no-repeat 0 center/25px auto;
	border-bottom: 1.5px solid var(--orange2);
}
.pc_nav_wrap .nav ul li:first-of-type a {
	border-top: 1.5px solid var(--orange2);
}
.pc_nav_wrap .cta {
	border-radius: 28px;
	padding: 40px 19px 24px;
	margin: 0;
}
.pc_nav_wrap .cta::after {
	width: 127px;
	height: 179px;
}
.pc_nav_wrap .cta .speech_bubble {
	top: -30px;
}
.pc_nav_wrap .cta .speech_bubble .fukidashi {
	font-size: 20px;
	padding: 9px 50px;
}
.pc_nav_wrap .cta .speech_bubble .fukidashi .mini {
	font-size: 14px;
	display: block;
	margin-top: 5px;
}
.pc_nav_wrap .cta .speech_bubble .fukidashi::after {
	width: 15px;
	height: 11px;
	bottom: -10px;
}
.pc_nav_wrap .cta .tel {
	font-size: 47px;
	padding: 0 0 0 39px;
	background: url(img/icon_tel.png) no-repeat 0 17px / 32px auto;
	margin: 0 0 10px;
}
.pc_nav_wrap .cta .reception {
	font-size: 15px;
	margin: 0 0 12px;
}
.pc_nav_wrap .cta .btn_wrap {
	width: 360px;
	gap: 0 12px;
}
.pc_nav_wrap .cta .btn_wrap a {
	font-size: 20px;
}
.pc_nav_wrap .cta .btn_wrap a:nth-child(1) {
	padding: 25px 28px 23px 68px;
	background: #06c755 url(img/icon_line.png) no-repeat 17px center / 40px auto;
}
.pc_nav_wrap .cta .btn_wrap a:nth-child(2) {
	padding: 25px 28px 23px 58px;
	background: #06c755 url(img/icon_mail.png) no-repeat 20px center / 31px auto;
}

/*-----------------------------------
.header
-----------------------------------*/
.header {
	background: #fff;
	height: 13.3333vw;
}
.header.ver2 {
	height: min(13.3333vw, 100px);
}
.header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 0 3.6vw;
}
.header.ver2 .inner {
	display: block;
	padding: 0 0 0 min(3.6vw, 27px);
}
.header .logo {
	width: 38.533vw;
}
.header.ver2 .logo {
	width: min(34.1333vw, 255.9997px);
	padding: min(3.3333vw, 24.999px) 0 min(3.3333vw, 24.999px);
}
.header .btns {
	display: flex;
}
.header .btns .btn {
	width: 13.3333vw;
}
.header .btns .btn a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.1333vw;       
	font-weight: 700;
	height: 13.3333vw;
	color: #fff;
}
.header .btns .btn.tel a {
	background: #ff6732;
}
.header .btns .btn.tel a .text {
	padding-top: 6.6667vw;
	background: url(img/icon_tel02.png)no-repeat top center/5.6vw auto;
}
.header .btns .btn.line a {
	background: #06c755;
}
.header .btns .btn.line a .text {
	padding-top: 6.6667vw;
	background: url(img/icon_line.png)no-repeat top center/5.6vw auto;
}
.header .btns .menu_btn {
	background: #ffe349;
	box-sizing: border-box;
	cursor: pointer;
	width: 13.3333vw;
	height: 13.3333vw;
	padding: 4.4vw 3.7333vw;
}
.header .btns .menu_btn .lines {
	position: relative;
	height: 100%;
}
.header .btns .menu_btn .lines span {
	position: absolute;
	left: 0;
	width: 100%;
	background: var(--black);
	height: 0.4vw;
}
.header .btns .menu_btn .lines span:first-child {
	top: 0;
}
.header .btns .menu_btn .lines span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}
.header .btns .menu_btn .lines span:last-child {
	bottom: 0;
}

/* =gnav_wrap
-------------------------------------------------------------- */
.gnav_wrap {
	background: #ffe349;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
}
.gnav_wrap.show {
	opacity: 1;
	visibility: visible;
}
.gnav_wrap .in {
	position: relative;
	height: 100%;
	overflow: auto;
	box-sizing: border-box;
	padding: 15.2vw 7.3333vw 0;
}
.gnav_wrap .close {
	position: absolute;	
	cursor: pointer;
	top: 3.7333vw;
	right: 3.7333vw;
	width: 7.2vw;
	height: 6.9333vw;
	background: url(img/icon_close.png)no-repeat center/7.2vw auto;
}
.gnav_wrap .in .nav {
	margin: 0 0 7.3333vw;
}
.gnav_wrap .in .nav ul li {
	text-align: left;
}
.gnav_wrap .in .nav ul li a {
	display: block;
	font-size: 4.4vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 3.3333vw 0 3.3333vw 9.3333vw;
	background: url("img/menu_arw.png")no-repeat 0 center/6vw auto;
	border-bottom: min(0.2667vw, 2px) solid var(--orange2);
}
.gnav_wrap .in .nav ul li:first-of-type a {
	border-top: min(0.2667vw, 2px) solid var(--orange2);
}
.gnav_wrap .in .tel {
	display: block;
	background: #d6002d;
	padding: 4vw;
	border-radius: 2.9333vw;
	box-shadow: 0px 0.8vw 0px 0px rgb(135, 0, 28);
	margin: 0 0 3.0667vw;
}
.gnav_wrap .in .tel span {
	display: inline-block;
	background: url("img/icon_tel02.png")no-repeat 0 center/6.5333vw auto;
	color: #fff;
	font-size: 4.4vw;
	font-weight: 700;
	padding: 4vw;
	padding: 0 0 0 9.3333vw;
}
.gnav_wrap .in .btn_wrap {
	display: flex;
	justify-content: space-between;
}
.gnav_wrap .in .btn_wrap a {
	display: inline-block;
	color: #fff;
	font-size: min(4vw, 30px);
	font-weight: 600;
	border-radius: 2.6667vw;
	box-shadow: 0px 0.8vw 0px 0px rgb(0, 117, 48);
	white-space: nowrap;
}
.gnav_wrap .in .btn_wrap a {
	display: inline-block;
	color: #fff;
	font-size: 4vw;
	font-weight: 600;
	border-radius: 2.6667vw;
	box-shadow: 0px 0.8vw 0px 0px rgb(0, 117, 48);
	white-space: nowrap;
}
.gnav_wrap .in .btn_wrap a.line {
	padding: 4.6667vw 6vw 4.6667vw 14.4vw;
	background: #06c755 url(img/icon_line.png) no-repeat 3.4667vw center / 8vw auto;
}
.gnav_wrap .in .btn_wrap a.mail {
	padding: 4.6667vw 5.3333vw 4.6667vw 12vw;
	background: #06c755 url(img/icon_mail.png) no-repeat 4vw center / 6.2667vw auto;
}

/*-----------------------------------
.fix_bnr
-----------------------------------*/
.fix_bnr {
	display: none;
	position: fixed;
	z-index: 100;
	background: var(--orange2);
	bottom: 0;
	left: 0;
	width: 100%;
	border-radius: min(6vw, 45px) min(6vw, 45px) 0 0;
	padding: min(6.6667vw, 50px) min(3.6vw, 27px) min(3.8667vw, 29px);
	box-sizing: border-box;
}
.fix_bnr .speech_bubble {
	position: absolute;
	top: max(-6vw, -45px);
	left: 50%;
	transform: translateX(-50%);
}
.fix_bnr .speech_bubble .fukidashi {
	display: inline-block;
	background: #e84d17;
	color: #fff;
	font-size: min(3.7333vw, 28px);
	font-weight: 600;
	padding: min(1.6vw, 12px) min(3.7333vw, 28px) min(1.7333vw, 13px);
	white-space: nowrap;
	border-radius: min(0.9333vw, 7px);
	box-shadow: 0.1666em 0.1666em 0.3em 0px rgba(0, 0, 0, 0.2);
	position: relative;
	z-index: 1;
}
.fix_bnr .btn_wrap {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 0 min(18px, 2.4vw);
	box-sizing: border-box;
}
.fix_bnr .speech_bubble .fukidashi .mini {
	display: block;
	font-size: min(2.666vw, 20px);
	margin-top: min(0.666vw, 5px);
}
.fix_bnr .btn_wrap a {
	display: block;
	width: min(26.6667vw, 200px);
	height: min(13.3333vw, 100px);
	background: #06c755;
	color: #fff;
	font-size: min(3.7333vw, 28px);
	font-weight: 500;
	border-radius: min(2.6667vw, 20px);
	box-shadow: 0px min(0.8vw, 6px) 0px 0px rgb(0, 117, 48);
	white-space: nowrap;
	box-sizing: border-box;
	padding: min(4.6667vw, 35px) 0;
}
.fix_bnr .btn_wrap a.tel {
	width: min(34.6667vw, 260px);
	background: #d6002d;
	box-shadow: 0px min(0.8vw, 6px) 0px 0px rgb(135, 0, 28);
	padding: min(3.3333vw, 25px) 0 min(2.6667vw, 20px);
}
.fix_bnr .btn_wrap a.tel .reception {
	font-size: 2.4vw;
	margin: 0.9333vw 0 0;
}
.fix_bnr .btn_wrap a span {
	position: relative;
}
.fix_bnr .btn_wrap a.tel span {
	padding: 0 0 0 min(5.4667vw, 41px);
}
.fix_bnr .btn_wrap a.line span {
	padding: 0 0 0 min(9.0667vw, 68px);
}
.fix_bnr .btn_wrap a.mail span {
	padding: 0 0 0 min(7.7333vw, 58px);
}
.fix_bnr .btn_wrap a span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.fix_bnr .btn_wrap a.tel span::before {
	background: url(img/icon_tel02.png) no-repeat 0 0 / contain;
	width: min(4.1333vw, 31px);
	height: min(3.0667vw, 23px);
}
.fix_bnr .btn_wrap a.line span::before {
	background: url(img/icon_line.png) no-repeat 0 0 / contain;
	width: min(8vw, 60px);
	height: min(7.7333vw, 58px);
}
.fix_bnr .btn_wrap a.mail span::before {
	background: url(img/icon_mail.png) no-repeat 0 0 / contain;
	width: min(6.2667vw, 47px);
	height: min(4.9333vw, 37px);
}

/*-----------------------------------
.fv
-----------------------------------*/
.fv {
	background: url(img/fv_bg.jpg) no-repeat 0 0 / 100% auto;
	padding: min(3.7333vw, 28px) 0 0;
}
@media ( max-width: 768px ){
	.fv {
		background: url(img/fv_bg.jpg) no-repeat 0 -8vw / 100% auto;
	}
}
.fv .logo {
	width: min(42vw, 315px);
	margin: 0 auto min(4.5333vw, 34px);
}
.fv .main_img {
	width: min(98vw, 735px);
	margin: 0 auto 0 0;
}
	
/*-----------------------------------
.vermin_list
-----------------------------------*/
.vermin_list {
	background: url(img/bg_stripe.jpg) repeat-y 0 0 / 100% auto;
	padding: min(6vw, 45px) 0 min(19.333vw, 145px);
}
.vermin_list ul {
	display: flex;
	gap: 0 min(2vw, 15px);
}
.vermin_list ul + ul {
	margin: min(2vw, 15px) 0 0;
}
.vermin_list ul li {
	width: min(16.4vw, 123px);
}
.vermin_list ul li .img_box {
	margin: 0 0 min(1.3333vw, 10px);
}
.vermin_list ul li span {
	display: block;
	color: #ffe349;
	font-size: min(2.4vw, 18px);
	white-space: nowrap;
}
.vermin_list ul li span.ls {
	letter-spacing: -0.05em;
}
.vermin_list .vermin_wrap {
	display: flex;
	align-items: center;
  justify-content: space-between;
  gap: 0 5%;
  margin-bottom: min(4vw, 30px);
}
.vermin_list .vermin_wrap .text {
	font-size: min(5.333vw, 40px);
}

/*-----------------------------------
.cta
-----------------------------------*/
.cta {
	background: var(--orange2);
	position: relative;
	border-radius: min(8vw, 60px) min(8vw, 60px) 0 0;
	padding: min(8vw, 60px) min(4vw, 30px) min(4.9333vw, 37px);
	margin: max(-8vw, -60px) 0 0;
}
.cta.v2 {
	margin: max(-9vw, -45px) 0 0;
}
.cta::after {
	content: "";
	background: url(img/cta_person_tokai.png) no-repeat right bottom / contain;
	width: min(25.0667vw, 188px);
	height: min(34.8vw, 261px);
	position: absolute;
	bottom: 0;
	right: 0;
}
.cta.ver2::after {
	background: url(img/cta_person_tokai02.png) no-repeat right bottom / contain;
}
.cta.ver3::after {
	background: url(img/cta_person_tokai03.png) no-repeat right bottom / contain;
}
.cta .speech_bubble {
	position: absolute;
	top: max(-6vw, -45px);
	left: 50%;
	transform: translateX(-50%);
}
.cta .speech_bubble .fukidashi {
	display: inline-block;
	background: #e84d17;
	color: #fff;
	font-size: min(3.7333vw, 28px);
	font-weight: 600;
	padding: min(1.6vw, 12px) min(3.7333vw, 28px) min(1.7333vw, 13px);
	white-space: nowrap;
	border-radius: min(0.9333vw, 7px);
	box-shadow: 0.1666em 0.1666em 0.3em 0px rgba(0, 0, 0, 0.2);
	position: relative;
	z-index: 1;
}
.cta .speech_bubble .fukidashi .mini {
	display: block;
	font-size: min(2.666vw, 20px);
	margin-top: min(0.666vw, 5px);
}
.cta .speech_bubble .fukidashi::after {
	content: "";
	background: #e84d17;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	width: min(2.9333vw, 22px);
	height: min(2.1333vw, 16px);
	position: absolute;
	bottom: max(-2.0667vw, -15.5px);
	left: 50%;
	transform: translateX(-50%);
}
.cta .tel {
	display: block;
	text-align: left;
	font-size: min(9.7333vw, 73px);
	font-weight: 700;
	padding: 0 0 0 min(8vw, 60px);
	background: url(img/icon_tel.png) no-repeat 0 min(5.3333vw, 24px) / min(6.5333vw, 49px) auto;
	margin: 0 0 min(1.3333vw, 10px);
}
.cta .reception {
	font-size: min(2.9333vw, 22px);
	margin: 0 0 min(2.6667vw, 20px);
}
.cta .tel_sp {
	display: block;
	width: 73.3333vw;
	background: #d6002d;
	padding: 3.3333vw 4vw 2vw;
	border-radius: 2.6667vw;
	box-shadow: 0px 0.8vw 0px 0px rgb(135, 0, 28);
	margin: 0 0 3.0667vw;
	box-sizing: border-box;
}
.cta .tel_sp span {
	display: inline-block;
	background: url("img/icon_tel02.png")no-repeat 0 center/6.5333vw auto;
	color: #fff;
	font-size: 4.4vw;
	font-weight: 700;
	padding: 0 0 0 9.3333vw;
}
.cta .tel_sp .reception_sp {
	font-size: 2.4vw;
	color: #fff;
	margin: 1.3333vw 0 0;
}
.cta .btn_wrap {
	width: min(73.3333vw, 550px);
	display: flex;
	gap: 0 min(2.6667vw, 20px);
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}
.cta .btn_wrap a {
	display: inline-block;
	color: #fff;
	font-size: min(4vw, 30px);
	font-weight: 600;
	border-radius: min(2.6667vw, 20px);
	box-shadow: 0px min(0.8vw, 6px) 0px 0px rgb(0, 117, 48);
	white-space: nowrap;
}
.cta .btn_wrap a:nth-child(1) {
	padding: min(4.6667vw, 35px) min(6vw, 45px) min(4.6667vw, 35px) min(14.4vw, 108px);
	background: #06c755 url(img/icon_line.png) no-repeat min(3.4667vw, 26px) center / min(8vw, 60px) auto;
}
.cta .btn_wrap a:nth-child(2) {
	padding: min(4.6667vw, 35px) min(5.3333vw, 40px) min(4.6667vw, 35px) min(12vw, 90px);
	background: #06c755 url(img/icon_mail.png) no-repeat min(4vw, 30px) center / min(6.2667vw, 47px) auto;
}

/*-----------------------------------
.reassurance
-----------------------------------*/
.reassurance {
	background: var(--cream);
	padding: min(6.6667vw, 50px) 0 0;
}
.reassurance .sec_ttl img {
	width: min(41.2vw, 309px);
}
.reassurance .sec_ttl .txt {
	display: inline-block;
	font-size: min(5.6vw, 42px);
	font-weight: 800;
	vertical-align: bottom;
	padding-bottom: min(1.066vw, 8px);
}
.reassurance .sec_ttl .logo_area {
	vertical-align: text-bottom;
}
.reassurance .sec_ttl .txt .f60 {
	font-size: min(8.0667vw, 60.5px);
}
.reassurance .sec_ttl .txt.f65 {
	display: block;
	font-size: min(8.6667vw, 65px);
	margin: min(4vw, 30px) 0 min(3.4667vw, 26px);
}
.reassurance .txt01 {
	font-size: min(4.1333vw, 31px);
	font-weight: 800;
	position: relative;
	z-index: 2;
}
.reassurance .main_img {
	position: relative;
}
.reassurance .main_img::after {
	content: "";
	background: var(--cream);
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	width: 100%;
	height: min(13.3333vw, 100px);
	position: absolute;
	top: max(-0.4vw, -3px);
	left: 0;
}

/*-----------------------------------
.problem
-----------------------------------*/
.problem {
	background: linear-gradient(
		to bottom,
		#4e515d 0%,
		#4e515d 40%,
		#ffef80 70%,
		#ffef80 100%
	);
	position: relative;
	padding: 0 0 min(21.7333vw, 163px);
}
.problem::before {
	content: "";
	background: #4e515d;
	clip-path: polygon(100% 100%, 100% 0, 0 100%);
	width: 100%;
	height: min(9.8667vw, 74px);
	position: absolute;
	top: max(-9.7333vw, -73px);
	left: 0;
}
.problem .sec_ttl {
	margin: 0 0 min(6vw, 45px);
}
.problem .list_box {
	position: relative;
	padding: 0 0 min(26.6667vw, 200px);
	margin: 0 0 min(6vw, 45px);
}
.problem .list_box::after {
	content: "";
	background: url("img/problem_img01.png") no-repeat 0 0 / contain;
	width: min(90.4vw, 678px);
	height: min(31.0667vw, 233px);
	position: absolute;
	bottom: 0;
	left: 0;
}
.problem .list_box li {
	text-align: left;
	background: #e5e5e7;
	border-radius: min(2vw, 15px);
	padding: min(4.9333vw, 37px) min(3.6vw, 27px);
}
.problem .list_box li:not(:last-child) {
	margin: 0 0 min(2.6667vw, 20px);
}
.problem .list_box li p {
	position: relative;
	font-size: min(4vw, 30px);
	font-weight: 700;
	line-height: 1.2;
	padding: 0 0 0 min(6.2667vw, 47px);
}
.problem .list_box li p::before {
	content: "";
	background: url("img/icon_check.png") no-repeat 0 0 / contain;
	width: min(5.0667vw, 38px);
	height: min(3.7333vw, 28px);
	position: absolute;
	top: min(0.6667vw, 5px);
	left: 0;
}
.problem .list_box li p span {
	color: var(--red);
}
.problem .lead {
	font-size: min(5.2vw, 39px);
	color: #fff;
	line-height: 1.435;
	margin: 0 0 min(8vw, 60px);
}
.problem .lead span {
	color: var(--yellow);
}
.problem .main_img {
	margin: 0 0 min(6.6667vw, 50px);
}
.problem .speech_balloon {
	font-weight: 700;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.problem .speech_balloon.v1 {
	font-size: min(4vw, 30px);
	line-height: 1.35;
	padding: min(7vw, 52.5px) 0 0 min(20vw, 150px);
	margin: 0 0 min(14.6667vw, 110px);
	letter-spacing: -0.05em;
}
.problem .speech_balloon::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.problem .speech_balloon.v1::before {
	background: url("img/speech_bubble01.png") no-repeat 0 0 / contain;
	width: min(95.8666vw, 715px);
	height: min(33.0666vw, 245px);
}
.problem .speech_balloon.v1 .emphasis {
	display: inline-block;
	color: var(--orange);
	font-size: min(6vw, 46px);
	font-weight: 700;
	border-bottom: min(0.2667vw, 2px) solid var(--orange);
}
.problem .speech_balloon.v2 {
	font-family: "Zen Maru Gothic", serif;
	font-size: min(3.4667vw, 26px);
	font-weight: 900;
	line-height: 1.4;
	color: #4e515d;
	text-align: left;
	padding: min(7.3333vw, 55px) 0 0 min(6.6667vw, 50px);
	margin: 0 0 min(10vw, 75px);
}
.problem .speech_balloon.v2::before {
	right: auto;
	left: 0;
	background: url("img/speech_bubble02.png") no-repeat 0 0 / contain;
	width: min(91.4667vw, 686px);
	height: min(34.1333vw, 256px);
}
.problem .speech_balloon.v2 .emphasis {
	display: block;
	font-size: min(4.8vw, 36px);
}
.problem .speech_balloon.v2 .color {
	color: var(--orange);
}
.problem .speech_balloon.v3 {
	padding: min(10vw, 75px) 0 0 min(24vw, 180px);
}
.problem .speech_balloon.v3::before {
	background: url("img/speech_bubble03.png") no-repeat 0 0 / contain;
	width: min(92.8vw, 696px);
	height: min(34.4vw, 258px);
}
.problem .speech_balloon.v3 .bdr {
	display: inline-block;
	position: relative;
	font-size: min(4.6667vw, 35px);
	padding: 0 0 min(1.0667vw, 8px);
	margin: 0 0 min(2vw, 15px);
}
.problem .speech_balloon.v3 .bdr::after {
    content: "";
    background: var(--black);
    width: 100%;
    height: min(0.2667vw, 2px);
    position: absolute;
    bottom: 0;
    left: 0;
}
.problem .speech_balloon.v3 .emphasis {
	display: inline-block;
	color: var(--red);
	font-size: min(6.6667vw, 50px);
	font-weight: 900;
	padding: 0 0 min(0.6667vw, 5px);
	border-bottom: min(0.4vw, 3px) solid var(--red);
}
.problem .then {
	display: block;
	font-family: "Zen Maru Gothic", serif;
	font-size: min(6.6667vw, 50px);
	font-weight: 700;
	color: #525252;
	margin: 0 0 min(1.3333vw, 10px);
}
.ellipses {
	display: inline-block;
	position: relative;
	top: -0.333em;
}
.problem .harm_wrap {
	padding: 0 0 min(9.3333vw, 70px);
}
.problem .harm {
	background: #e8e8e8;
	padding: min(6.6667vw, 50px) min(8vw, 60px);
	border-radius: min(4.8vw, 36px);
	position: relative;
	box-shadow: 0.1666em 0.1666em 0.3em 0px rgba(0, 0, 0, 0.1);
}
.problem .harm::before {
    content: "";
    width: min(100vw, 750px);
    position: absolute;
    left: max(-4.6667vw, -35px);
}
.problem .harm:nth-child(1)::before {
	background: url("img/problem_img04.png") no-repeat 0 0 / contain;
    height: min(17.0667vw, 128px);
    top: min(6.6667vw, 50px);
}
.problem .harm:nth-child(2)::before {
	background: url("img/problem_img06.png") no-repeat 0 0 / contain;
    width: min(99.0667vw, 743px);
    height: min(20.1333vw, 151px);
    top: max(-2.2667vw, -17px);
	left: auto;
    right: max(-4.6667vw, -35px);
}
.problem .harm:nth-child(3)::before {
	background: url("img/problem_img08.png") no-repeat 0 0 / contain;
    height: min(18.4vw, 138px);
    top: max(-2.2667vw, -17px);
}
.problem .harm:nth-child(4)::before {
	background: url("img/problem_img10.png") no-repeat 0 0 / contain;
    height: min(14.1333vw, 106px);
    top: min(2.6667vw, 20px);
}
.problem .harm:first-child {
	border-radius: 0 0 min(4.8vw, 36px) min(4.8vw, 36px);
	padding: min(19.3333vw, 145px) min(8vw, 60px) min(6.6667vw, 50px);
}
.problem .harm:first-child::after {
    content: "";
    background: var(--cream);
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    width: 100%;
    height: min(13.3333vw, 100px);
    position: absolute;
    top: 0;
    left: 0;
}
.problem .harm:not(:last-child) {
	margin: 0 0 min(5.2vw, 39px);
}
.problem .harm .sub_ttl {
	font-family: "Zen Maru Gothic", serif;
	font-size: min(8vw, 60px);
	font-weight: 700;
	color: #3c5479;
	margin: 0 0 min(4vw, 30px);
}
.problem .harm dl dt {
	width: min(65.0667vw, 488px);
	background: #61677a;
	color: #fff;
	font-size: min(4.8vw, 36px);
	font-weight: 700;
	padding: min(2.5333vw, 19px) 0 min(2.6667vw, 20px);
	border-radius: min(2.2667vw, 17px);
	margin: -1em auto min(5.3333vw, 40px);
	position: relative;
	z-index: 1;
}
.problem .harm dl dt::after {
    content: "";
    background: #61677a;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    width: min(4.2667vw, 32px);
    height: min(3.8667vw, 29px);
    position: absolute;
    bottom: max(-3.8vw, -28.5px);
    left: 50%;
    transform: translateX(-50%);
}
.problem .harm dl dd {
	text-align: left;
	font-size: min(3.3333vw, 25px);
	line-height: 1.6;
}

/*-----------------------------------
.reason1
-----------------------------------*/
.reason1 {
	background: var(--cream);
	padding: 0 0 min(6vw, 45px);
}
.reason1 .sec_ttl {
	background: var(--cream);
	font-size: min(7.3333vw, 55px);
	font-weight: 900;
	padding: 0 0 min(13.3333vw, 100px);
	border-radius: 0 0 min(7.3333vw, 55px) 0;
}
.reason1 .sec_ttl span {
	font-size: min(10vw, 75px);
}
.reason1 .sec_ttl .color {
	color: var(--orange);
}
.reason1 .reason_box_wrap {
	background: #fff;
}
.reason1 .reason_box {
	background: var(--cream);
	display: flex;
	position: relative;
	padding: 0 0 min(12vw, 90px);
}
.reason1 .reason_box::after {
	content: "";
	width: min(7.8667vw, 59px);
	height: min(7.8667vw, 59px);
	position: absolute;
	bottom: min(4.1333vw, 31px);
}
.reason1 .reason_box:nth-child(odd)::after {
	background: url("img/reason1_radius01.png") no-repeat 0 0 / contain;
	right: 0;
}
.reason1 .reason_box:nth-child(even)::after {
	background: url("img/reason1_radius02.png") no-repeat 0 0 / contain;
	left: 0;
}
.reason1 .reason_box:nth-child(1) {
	border-radius: 0 0 0 min(7.3333vw, 55px);
}
.reason1 .reason_box:nth-child(2) {
	flex-direction: row-reverse;
}
.reason1 .reason_box dt {
	flex: 0 0 min(18.6667vw, 140px);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.reason1 .reason_box dt span {
	display: inline-block;
}
.reason1 .reason_box dt .icon {
	width: min(8.8vw, 66px);
	margin: 0 auto min(8vw, 60px);
}
.reason1 .reason_box dt .ttl {
	writing-mode: vertical-rl;
	font-size: min(6.6667vw, 50px);
	font-weight: 800;
}
.reason1 .reason_box dd {
	flex: 1 1 auto;
	background: #fff;
	padding: min(10vw, 75px) min(8.6667vw, 65px);
	border-radius: min(10vw, 75px) 0 0 min(10vw, 75px);
	box-sizing: border-box;
}
.reason1 .reason_box:nth-child(2) dd {
	border-radius: 0 min(10vw, 75px) min(10vw, 75px) 0;
}
.reason1 .reason_box dd .img_box {
	margin: 0 0 min(8vw, 60px);
}
.reason1 .reason_box dd p {
	text-align: left;
	font-size: min(4vw, 30px);
	line-height: 1.66;
}
.reason1 .txt {
	font-size: min(4.6vw, 35px);
	font-weight: 700;
	line-height: 1.4;
}
.reason1 .txt .emphasis {
	display: block;
	font-size: min(6.6667vw, 50px);
	font-weight: 900;
	margin: 0.3em 0 min(6.6667vw, 50px);
}
.reason1 .txt .color {
	color: var(--red);
}

/*-----------------------------------
.vermin
-----------------------------------*/
.vermin {
	background: url(img/bg_stripe.jpg) repeat-y 0 0 / 100% auto;
	padding: min(11.3333vw, 85px) 0;
}
.vermin .sec_ttl {
	color: #fff;
	font-size: min(6.6667vw, 50px);
	font-weight: 700;
	margin: 0 0 min(10.6667vw, 80px);
}
.vermin .sec_ttl span {
	color: var(--yellow);
}
.vermin ul {
	display: flex;
	justify-content: center;
	gap: 0 min(2.4vw, 18px);
}
.vermin ul + ul {
	margin: min(4.2667vw, 32px) 0 0;
}
.vermin ul li {
	width: min(19.0667vw, 143px);
}
.vermin ul li .img_box {
	margin: 0 0 min(1.3333vw, 10px);
}
.vermin ul li span {
	display: block;
	color: #ffe349;
	font-size: min(2.4vw, 18px);
	white-space: nowrap;
}
.vermin ul li span.ls {
	letter-spacing: -0.05em;
}
.vermin .txt {
	color: #fff;
	padding: min(9.3333vw, 70px) min(1.3333vw, 10px) 0;
	text-align: left;
	font-size: min(4vw, 30px);
	line-height: 1.83;
	letter-spacing: -0.05em;
}

/*-----------------------------------
.voice
-----------------------------------*/
.voice {
	background: var(--yellow2);
}
.voice .sec_ttl {
	background: var(--cream);
	position: relative;
	padding: min(7.4667vw, 56px) min(6vw, 45px) 0;
	z-index: 1;
}
.voice .sec_ttl::before {
	content: "";
	background: url("img/voice_ttl_bg.jpg") no-repeat 0 0 / contain;
	width: 100%;
	height: min(26.6667vw, 200px);
	position: absolute;
	bottom: max(-16.6667vw, -125px);
	left: 0;
	z-index: -1;
}
.voice .sec_ttl .ttl:not(:last-child) {
	display: inline-block;
	border-bottom: 2px solid var(--black);
}
.voice .sec_ttl .ttl:not(:last-child) {
	margin: 0 0 min(4vw, 30px);
}
.voice .sec_ttl .ttl img {
	width: min(41.3333vw, 310px);
	vertical-align: text-bottom;
}
.voice .sec_ttl .ttl span {
	display: inline-block;
	font-size: min(5.3333vw, 40px);
	font-weight: 700;
	padding: 0 0 min(2.4vw, 18px);
}
.voice .sec_ttl .ttl:nth-child(2) span {
	font-size: min(6.933vw, 52px);
	font-weight: 900;
	padding: 0 0 min(1.3333vw, 10px);
	letter-spacing: 0.05em;
}
.voice .sec_ttl .ttl .color {
	color: var(--orange);
}
.voice .sec_in {
	padding: min(18vw, 135px) 0 min(9.2vw, 69px);
	margin: 0 0 0 max(-1.7333vw, -13px);
}
.voice .voice_box {
	display: flex;
	justify-content: space-between;
}
.voice .voice_box:not(:last-child) {
	margin: 0 0 min(7.4667vw, 56px);
}
.voice .voice_box dt {
	width: min(17.6vw, 132px);
	margin: 0 min(4.8vw, 36px) 0 0;

}
.voice .voice_box dt .icon {
	width: min(17.6vw, 132px);
	margin: 0 0 min(3.2vw, 24px);
}
.voice .voice_box dt span {
	font-size: min(3.3333vw, 25px);
	line-height: 1.2;
}
.voice .voice_box dd {
}
.voice .voice_box dd .comment {
	width: min(69.3333vw, 520px);
	box-sizing: border-box;
	text-align: left;
	font-size: min(4vw, 30px);
	font-weight: 700;
	line-height: 1.285;
	background: #fff;
	padding: min(4.6667vw, 35px) min(4.6667vw, 35px) min(4.2667vw, 32px);
	position: relative;
	border-radius: min(3.7333vw, 28px);
	margin: 0 0 min(3.0667vw, 23px);
}
.voice .voice_box dd .comment::before {
	content: "";
	background: #fff;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	width: min(4vw, 30px);
	height: min(4.6667vw, 35px);
	position: absolute;
	top: 50%;
	left: max(-3.8667vw, -29px);
	transform: translateY(-50%);
}
.voice .voice_box dd .img_box {
	border-radius: min(3.7333vw, 28px);
	overflow: hidden;
}

/*-----------------------------------
.reason2
-----------------------------------*/
.reason2 {
	background: var(--cream);
	padding: min(13.3333vw, 100px) 0;
	position: relative;
}
.reason2::after {
	content: "";
	background: url("img/wavy_line.png") no-repeat 0 0 / contain;
	width: 100%;
	height: min(4.1333vw, 31px);
	position: absolute;
	bottom: 0;
	left: 0;
}
.reason2 .sec_ttl {
	font-size: min(8vw, 60px);
	font-weight: 800;
	margin: 0 0 min(11.3333vw, 85px);
}
.reason2 .sec_ttl span {
	color: var(--orange);
}
.reason2 .reason_box_wrap {
	margin: 0 0 min(12vw, 90px);
}
.reason2 .reason_box {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}
.reason2 .reason_box:not(:last-child) {
	margin-bottom: min(12vw, 90px);
}
.reason2 .reason_box:nth-child(odd) {
	margin-left: max(-0.6667vw, -5px);
}
.reason2 .reason_box:nth-child(even) {
	margin-right: max(-0.6667vw, -5px);
	flex-direction: row-reverse;
}
.reason2 .reason_box::before {
	content: "";
	background: url("img/reason2_bg.png") no-repeat 0 center / contain;
	width: min(91.8667vw, 689px);
	height: min(81.2vw, 609px);
	position: absolute;
	top: min(5.3333vw, 40px);
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.reason2 .reason_box:nth-child(3)::before {
	top: max(-4.6667vw, -35px);
}
.reason2 .reason_box dt {
	flex: 0 0 min(20.6667vw, 155px);
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: min(10vw, 75px) 0 0;
}
.reason2 .reason_box:nth-child(3) dt {
	padding: 0;
}
.reason2 .reason_box dt span {
	display: inline-block;
}
.reason2 .reason_box dt .icon {
	width: min(20.6667vw, 155px);
	margin: 0 auto min(6.6667vw, 50px);
}
.reason2 .reason_box dt .ttl {
	writing-mode: vertical-rl;
	font-size: min(6.6667vw, 50px);
	font-weight: 800;
}
.reason2 .reason_box dd {
	flex: 1 1 auto;
	box-sizing: border-box;
	padding: 0 min(1.3333vw, 10px);
}
.reason2 .reason_box:nth-child(3) dd {
	padding: min(2.9333vw, 22px) min(1.3333vw, 10px) 0;
}
.reason2 .reason_box dd .img_box {
	width: min(57.6vw, 432px);
	margin: 0 auto min(8vw, 60px);
}
.reason2 .reason_box:nth-child(3) dd .img_box {
	width: min(64.8vw, 486px);
}
.reason2 .reason_box dd .ttl {
	display: block;
	text-align: left;
	font-size: min(4.6667vw, 35px);
	font-weight: 700;
	margin: 0 0 min(4vw, 30px);
}
.reason2 .reason_box dd p {
	text-align: left;
	font-size: min(4vw, 30px);
	line-height: 1.66;
}
.reason2 .reason_box dd p span {
	color: var(--red);
}
.reason2 .video {
	background: var(--orange2);
	border-radius: min(8vw, 60px);
	padding: min(10.4vw, 78px) min(4vw, 30px);
}
.reason2 .video .sub_ttl {
	font-size: min(6vw, 45px);
	font-weight: 800;
	margin: 0 0 min(6.6667vw, 50px);
}
.reason2 .video .sub_ttl span {
	display: block;
	font-size: min(8.6667vw, 65px);
	margin: 0 0 min(2.6667vw, 20px);
}
.video .iframe_wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.video .iframe_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*-----------------------------------
.area
-----------------------------------*/
.area {
	padding: min(12vw, 90px) 0 min(18.6667vw, 140px);
	background: var(--yellow2);
}
.area .sec_ttl {
	font-size: min(8vw, 60px);
	font-weight: 800;
	margin: 0 0 min(8vw, 60px);
}
.area .txt1 {
	font-size: min(4vw, 30px);
	line-height: 1.2;
	margin: 0 0 1em;
}
.area .txt1 span {
	font-weight: 700;
}
.area .txt1 .num {
	font-size: min(6vw, 45px);
}
.area .txt1 .color {
	color: var(--red);
}
.area .txt2 {
	line-height: 1.4;
	margin: 0 0 min(5.3333vw, 40px);
}
.area .img_box {
	width: min(87.4667vw, 656px);
	margin: 0 auto;
}

/*-----------------------------------
.fee
-----------------------------------*/
.fee {
	padding: min(12vw, 90px) 0 min(22.6667vw, 170px);
	background: #fff7c1;
	border-radius: min(12vw, 90px) min(12vw, 90px) 0 0;
	margin: max(-12vw, -90px) 0 0;
}
.fee .sec_ttl {
	font-size: min(8vw, 60px);
	font-weight: 800;
	margin: 0 0 min(9.3333vw, 70px);
}
.fee .main_box {
	background: #fff;
	border: min(0.2667vw, 2px) solid #f5774b;
	border-radius: min(5.3333vw, 40px);
	padding: min(4.9333vw, 37px) min(3.0667vw, 23px) min(5.3333vw, 40px);
	margin: 0 0 min(4.6667vw, 35px);
}
.fee .main_box ul {
	display: flex;
	justify-content: center;
	gap: 0 min(1.6vw, 12px);
	margin: 0 0 min(3.4667vw, 26px);
}
.fee .main_box .price {
	display: inline-block;
	width: min(21.7333vw, 163px);
	margin: 0 auto;
}
.fee .plan {
	background: #fff;
	border: min(0.2667vw, 2px) solid var(--orange2);
	border-radius: min(4.9333vw, 37px);
	margin: 0 0 min(4.6667vw, 35px);
}
.fee .plan.v2 {
	margin: min(4.5333vw, 34px) 0;
}
.fee .plan dt {
	background: var(--orange2);
	border-radius: min(4.5333vw, 34px) min(4.5333vw, 34px) 0 0;
	padding: min(3.7333vw, 28px) 0;
}
.fee .plan dt span {
	font-size: min(6.6667vw, 50px);
	font-weight: 800;
	padding: 0 0 0 min(10.1333vw, 76px);
	background: url("img/vermin_icon01.png") no-repeat 0 min(1.6vw, 12px) / min(7.6vw, 57px) auto;
}
.fee .plan.v2 dt span {
	background: url("img/vermin_icon02.png") no-repeat 0 min(1.6vw, 12px) / min(7.6vw, 57px) auto;
}
.fee .plan dd {
	padding: min(5.6vw, 42px) min(3.3333vw, 25px) min(6vw, 45px);
}
.fee .plan.v2 dd {
	padding: min(5.6vw, 42px) min(3.3333vw, 25px) min(3.7333vw, 28px);
}
.fee .plan dd .txt1 {
	font-size: min(4.4vw, 33px);
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 min(2vw, 15px);
}
.fee .plan dd .txt1 .color {
	display: inline-block;
	color: var(--orange);
	margin: 0 0.15em;
}
.fee .plan dd .txt1 .emphasis {
	display: block;
	font-size: min(5.6vw, 42px);
}
.fee .plan dd .example {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 min(3.7333vw, 28px);
	margin: 0 0 min(4.6667vw, 35px);
 } 
.fee .plan dd .example .circle {
	width: min(16.9333vw, 127px);
	height: min(16.9333vw, 127px);
	border-radius: 50%;
	background: #e00000;
	position: relative;
}
.fee .plan dd .example .circle span {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	color: #ffd300;
	font-size: min(3.733vw, 28px);
	line-height: 1.38;
}
.fee .plan dd .example .price {
	width: min(43.4667vw, 326px);
	margin: min(1.3333vw, 10px) 0 0;
}
.fee .plan dd .txt2 {
	font-size: min(3.6vw, 27px);
	line-height: 1.4;
}
.fee .plan dd .note {
	font-size: min(3.2vw, 24px);
	line-height: 1.4;
	font-weight: 400;
	margin-top: min(2.4vw, 18px);
}
.fee .plan.v2 dd .txt1 {
	margin: 0 0 min(4vw, 30px);
}
.fee .plan.v2 dd .txt1 .emphasis {
	font-size: min(5.6vw, 42px);
}
.fee .plan.v2 dd .caution {
	padding: min(5.7333vw, 43px) min(4vw, 30px);
	background: #ffecec;
	border-radius: min(1.3333vw, 10px);
}
.fee .plan.v2 dd .caution .txt2 {
	color: var(--red);
	font-size: min(4vw, 30px);
	font-weight: 700;
	line-height: 1.26;
	text-align: left;
	position: relative;
	padding: 0 0 min(5.0667vw, 38px) min(16.9333vw, 127px);
	border-bottom: 2px solid var(--red);
	margin: 0 0 min(4.9333vw, 37px);
}
.fee .plan.v2 dd .caution .txt2::before {
	content: "";
	background: url("img/icon_caution.png") no-repeat 0 0 / contain;
	width: min(12.8vw, 96px);
	height: min(11.6vw, 87px);
	position: absolute;
	top: min(1.4667vw, 11px);
	left: min(1.0667vw, 8px);
}
.fee .plan.v2 dd .caution .txt2::after {
	content: "";
	background: url("img/fee_img01.png") no-repeat 0 0 / contain;
	width: min(21.3333vw, 160px);
	height: min(20.8vw, 156px);
	position: absolute;
	bottom: max(-0.1333vw, -1px);
	right: min(1.4667vw, 11px);
}
.fee .plan.v2 dd .caution .txt3 {
	text-align: left;
	font-size: min(3.4667vw, 26px);
	line-height: 1.4;
}
.fee .payment {
	background: #fff;
	border: min(0.2667vw, 2px) solid #868686;
	border-radius: min(4.9333vw, 37px);
	padding: min(6.6667vw, 50px) min(6.6667vw, 50px) min(5.3333vw, 40px);
}
.fee .payment dt {
	font-size: min(5.0667vw, 38px);
	font-weight: 700;
	margin: 0 0 1em;
}
.fee .payment dd p {
	font-size: min(3.6vw, 27px);
	line-height: 1.4;
	margin: 0 0 min(2.6667vw, 20px);
}

/*-----------------------------------
.flow1
-----------------------------------*/
.flow1 {
	padding: min(13.3333vw, 100px) 0 min(11.3333vw, 85px);
	background: var(--cream);
	position: relative;
}
.flow1::after {
	content: "";
	background: url("img/wavy_line.png") no-repeat 0 0 / contain;
	width: 100%;
	height: min(4.1333vw, 31px);
	position: absolute;
	bottom: 0;
	left: 0;
}
.flow1 .sec_ttl {
	font-size: min(8vw, 60px);
	font-weight: 800;
	margin: 0 0 min(10.6667vw, 80px);
}
.flow1 .apply {
	background: #fff;
	padding: min(5.3333vw, 40px) min(4.6667vw, 35px) min(5.3333vw, 40px) min(5.0667vw, 38px);
	border-radius: min(7.3333vw, 55px) 0 0 min(7.3333vw, 55px);
	margin: 0 max(-4.6667vw, -35px) min(6.5333vw, 49px) 0;
	position: relative;
}
.flow1 .apply:nth-child(even) {
	padding: min(5.3333vw, 40px) min(5.0667vw, 38px) min(5.3333vw, 40px) min(4.6667vw, 35px);
	border-radius: 0 min(7.3333vw, 55px) min(7.3333vw, 55px) 0;
	margin: 0 0 min(6.5333vw, 49px) max(-4.6667vw, -35px);
}
.flow1 .apply::after {
	content: "";
	background: url("img/flow_arw.png") no-repeat 0 0 / contain;
	width: min(4.8vw, 36px);
	height: min(7.2vw, 54px);
	position: absolute;
	bottom: max(-4.8vw, -36px);
	left: 50%;
	transform: translateX(-50%);
}
.flow1 .apply:nth-child(even)::after {
	left: calc(50% + min(4.6667vw, 35px));
}
.flow1 .apply:last-child::after {
	display: none;
}
.flow1 .apply dt {
	color: var(--orange);
	font-size: min(4.6667vw, 35px);
	font-weight: 700;
	margin: 0 0 min(4vw, 30px);
}
.flow1 .apply dd {
	display: flex;
	justify-content: space-between;
	gap: 0 min(4vw, 30px);
}
.flow1 .apply:nth-child(even) dd {
	flex-direction: row-reverse;
}
.flow1 .apply:last-child dd {
	flex-direction: column;
	gap: min(4vw, 30px) 0;
}
.flow1 .apply dd p {
	text-align: left;
	font-size: min(3.3333vw, 25px);
	line-height: 1.4;
}
.flow1 .apply dd p span {
	color: var(--red);
	font-weight: 700;
}
.flow1 .apply dd .img_box {
	flex: 0 0 min(36vw, 270px);
}
.flow1 .apply:last-child dd .img_box {
	border: min(0.1333vw, 1px) solid #adadad;
	border-radius: min(2.4vw, 18px);
	padding: min(2.9333vw, 22px) 0 min(1.6vw, 12px);
	flex: auto;
}
.flow1 .apply:last-child dd .img_box span {
	display: block;
	font-size: min(3.0667vw, 23px);
	margin: 0 0 min(1.3333vw, 10px);
}
.flow1 .apply:last-child dd .img_box img {
	width: min(61.0667vw, 458px);
	margin: 0 auto;
}

/*-----------------------------------
.flow2
-----------------------------------*/
.flow2 {
	padding: min(12vw, 90px) 0 min(2.6667vw, 20px);
	background: var(--yellow2);
}
.flow2 .sec_ttl {
	font-size: min(8vw, 60px);
	font-weight: 800;
	margin: 0 0 min(11.3333vw, 85px);
}
.flow2 .extermination {
	background: #fff;
	padding: min(6.6667vw, 50px) min(8vw, 60px);
	border-radius: min(7.3333vw, 55px);
	position: relative;
}
.flow2 .extermination:not(:last-child) {
	margin: 0 0 min(9.7333vw, 73px);
}
.flow2 .extermination:not(:last-child)::after {
	content: "";
	background: #fff;
	width: min(1.0667vw, 8px);
	height: min(10vw, 75px);
	position: absolute;
	bottom: max(-9.8667vw, -74px);
	left: 50%;
	transform: translateX(-50%);
}
.flow2 .extermination dt {
	color: var(--orange);
	font-size: min(5.3333vw, 40px);
	font-weight: 700;
	margin: 0 0 1em;
}
.flow2 .extermination dd .img_box {
	margin: 0 0 min(4.6667vw, 35px);
}
.flow2 .extermination dd p {
	text-align: left;
	font-size: min(3.3333vw, 25px);
	line-height: 1.6;
	font-feature-settings: "palt";
}
.flow2 .extermination dd p span {
	color: var(--red);
}

/*-----------------------------------
.staff
-----------------------------------*/
.staff {
	padding: min(44vw, 330px) 0 min(18.6667vw, 140px);
	background: var(--cream) url("img/staff_bg.png") no-repeat 0 0 / 100% auto;
	position: relative;
	z-index: 1;
}
.staff .sec_ttl {
	font-size: min(8vw, 60px);
	font-weight: 800;
	margin: 0 0 min(8vw, 60px);
}
.staff .lead {
	color: var(--red);
	font-size: min(5.0667vw, 38px);
	font-weight: 700;
	line-height: 1.44;
	margin: 0 0 min(5.3333vw, 40px);
}
.staff .txt1 {
	font-size: min(3.3333vw, 25px);
	line-height: 1.6;
	margin: 0 0 min(7.3333vw, 55px);
}
.staff .introduction {
	width: calc(100% - min(1.0667vw, 8px));
	box-sizing: border-box;
	background: #fff;
	padding: min(7.8667vw, 59px) min(6.6667vw, 50px) min(4vw, 30px);
	border: 5px solid var(--orange2);
	border-radius: min(3.7333vw, 28px);
	position: relative;
}
.staff .introduction:not(:last-child) {
	margin: 0 0 min(4.8vw, 36px);
}
.staff .introduction::before {
	content: "";
	background: #ffe057;
	width: 100%;
	height: 100%;
	border-radius: min(3.7333vw, 28px);
	position: absolute;
	bottom: max(-2.6vw, -20px);
	right: max(-2.6vw, -20px);
	z-index: -1;
}
.staff .introduction .profile {
	display: flex;
	gap: 0 min(5.3333vw, 40px);
	margin: 0 0 min(4vw, 30px);
}
.staff .introduction:nth-child(even) .profile {
	flex-direction: row-reverse;
	justify-content: space-between;
	
}
.staff .introduction .img_box {
	flex: 0 0 min(34.6667vw, 260px);
}
.staff .introduction .txt_box {
	text-align: left;
}
.staff .introduction .txt_box .name {
	display: block;
	color: var(--orange);
	font-size: min(4.2667vw, 32px);
	font-weight: 700;
	margin: 0 0 min(2.6667vw, 20px);
}
.staff .introduction .txt_box dl {
	margin: 0 0 min(2.6667vw, 20px);
	font-feature-settings: "palt";
}
.staff .introduction .txt_box dl.inline dt,
.staff .introduction .txt_box dl.inline dd {
	display: inline-block;
}
.staff .introduction .txt_box dl.inline dt {
	margin: 0 min(2vw, 15px) 0 0;
}
.staff .introduction .txt_box dl dt {
	color: #666;
	font-size: min(3.3333vw, 25px);
	margin: 0 0 min(1.3333vw, 10px);
}
.staff .introduction .txt_box dl dd {
	font-size: min(3.4667vw, 26px);
	line-height: 1.36;
}

/*-----------------------------------
.warranty
-----------------------------------*/
.warranty {
	padding: min(12vw, 90px) 0 ;
	background: #fff7c1;
}
.warranty .sec_ttl {
	width: min(79.6vw, 597px);
	margin: 0 auto min(6.6667vw, 50px);
}
.warranty .txt {
	font-size: min(3.3333vw, 25px);
	line-height: 1.4;
	margin: 0 0 min(8vw, 60px);
}
.warranty .img_box {
	padding: 0 min(0.6667vw, 5px);
	margin: 0 0 min(7.4667vw, 56px);
}
.warranty .notes {
	text-align: left;
	font-size: min(2.9333vw, 22px);
	line-height: 1.36;
}

/*-----------------------------------
.faq
-----------------------------------*/
.faq {
	padding: min(14.6667vw, 110px) 0 min(8vw, 60px);
	background: var(--yellow2);
}
.faq .sec_ttl {
	font-size: min(8vw, 60px);
	font-weight: 800;
	margin: 0 0 min(12vw, 90px);
}
.faq .cat {
	text-align: left;
	font-size: min(4.6667vw, 35px);
	font-weight: 700;
	padding: 0 0 0 min(7.7333vw, 58px);
	position: relative;
	margin: 0 0 min(5.3333vw, 40px);
}
.faq .cat::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.faq .payment {
	margin: 0 0 min(9.3333vw, 70px);
}
.faq .payment .cat::before {
	background: url("img/icon_calculator.png") no-repeat 0 0 / contain;
	width: min(4.9333vw, 37px);
	height: min(6.8vw, 51px);
}
.faq .work .cat::before {
	background: url("img/vermin_icon03.png") no-repeat 0 0 / contain;
	width: min(6.6667vw, 50px);
	height: min(6.6667vw, 50px);
}
.faq .cat span {
	font-feature-settings: "palt";
}
.faq dl {
	background: #fff;
	border-radius: min(2vw, 15px);
	padding: min(5.6vw, 42px) min(4.5333vw, 34px);
	text-align: left;
	margin: 0 0 min(3.3333vw, 25px);
}
.faq dl dt {
	font-size: min(3.7333vw, 28px);
	font-weight: 700;
	line-height: 1.28;
	padding: 0 min(6vw, 45px) 0 min(8.6667vw, 65px);
	position: relative;
	cursor: pointer;
}
.faq dl dt::before {
	content: "";
	background: url("img/icon_q.png") no-repeat 0 0 / contain;
	width: min(7.2vw, 54px);
	height: min(7.2vw, 54px);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.faq dl dt::after {
    content: '';
    display: inline-block;
    width: min(2.4vw, 18px);
    height: min(2.4vw, 18px);
    box-sizing: border-box;
    border-top: solid min(0.5333vw, 4px) #818181;
    border-right: solid min(0.5333vw, 4px) #818181;
    transform-origin: center center;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(135deg);
    transition: transform 0.2s ease;
}
.faq dl dt.active::after {
    transform: translateY(-50%) rotate(315deg);
}
.faq dl dd {
	display: none;
	padding: min(5.3333vw, 40px) 0 0;
	border-top: min(0.2667vw, 2px) solid var(--yellow2);
	margin: min(5.3333vw, 40px) 0 0;
	font-size: min(3.4667vw, 26px);
	font-weight: 400;
	line-height: 1.538;
}

/*-----------------------------------
.contact
-----------------------------------*/
.contact {
	padding: min(13.3333vw, 100px) 0 min(24vw, 180px);
	background: var(--cream);
}
.contact .sec_ttl {
	font-size: min(7.3333vw, 55px);
	font-weight: 800;
	margin: 0 0 1em;
}
.contact .lead {
	font-size: min(4vw, 30px);
	line-height: 1.4;
	padding: 0 0 min(4vw, 30px);
	border-bottom: min(0.2667vw, 2px) solid #fff;
	margin: 0 0 min(6.6667vw, 50px);
}
.contact .lead .color {
	color: var(--red);
	font-size: min(4.6667vw, 35px);
	font-weight: 700;
}
.contact .lead .num {
	font-size: min(6vw, 45px);
}
.contact .form_dl {
	text-align: left;
}
.contact .form_dl dt,
.contact .form_dl dd p {
	font-size: min(4vw, 30px);
	margin: 0 0 min(2.6667vw, 20px);
	line-height: 1.4;
}
.contact .form_dl dt .must {
	display: inline-block;
	background: var(--red);
	color: #fff;
	font-size: min(3.3333vw, 25px);
	padding: 9px 14px;
	border-radius: 4px;
	margin: 0 0 0 14px;
}
.contact .form_dl dd {
	margin: 0 0 40px;
}
.contact .form_dl dd input[type="text"],
.contact .form_dl dd textarea {
    background-color: #fff;
    box-sizing: border-box;
    outline: none;
	border: min(0.2667vw, 2px) solid #d6d6d6;
	height: min(10.6667vw, 80px);
	padding: 0.2em 1em;
	border-radius: min(1.8667vw, 14px);
	width: 100%;
}
.contact .form_dl dd input[type="text"].w1 {
	width: min(60vw, 450px);
}
.contact .form_dl dd input[type="text"].w2 {
	width: min(49.3333vw, 370px);
}
.contact .form_dl dd textarea {
	height: min(38.6667vw, 290px);
}
.contact .form_dl dd .note {
	font-size: min(2.9333vw, 22px);
	margin: 0.5em 0 0;
}
.contact form .err {
	display: block;
	font-size: min(2.9333vw, 22px);
	margin: 0.5em 0 0;
	color: var(--red);
}
::-webkit-input-placeholder {
  color: #c1c1c1;
}
::-moz-placeholder {
  color: #c1c1c1; opacity: 1;
}
:-ms-input-placeholder {
  color: #c1c1c1;
}
.contact .form_note .txt {
	font-size: min(2.9333vw, 22px);
	line-height: 1.59;
	margin: 0 0 min(4vw, 30px);
}
.contact .form_note .privacy_policy {
    background-color: #fff;
    box-sizing: border-box;
	border: min(0.2667vw, 2px) solid #d6d6d6;
	height: min(38.6667vw, 290px);
	padding: min(4.6667vw, 35px);
	overflow-y: scroll;
	text-align: left;
	font-size: min(3.3333vw, 25px);
	line-height: 1.6;
	margin: 0 0 min(8vw, 60px);
}
.contact .form_note .privacy_policy dl {
	font-size: min(2.9333vw, 22px);
}
.contact .form_note .privacy_policy dl dt {
	font-weight: 700;
}
.contact .form_note .privacy_policy dl dd {
	margin: 0 0 1em;
}
.contact .form_note label {
    display: inline-block;
    box-sizing: border-box;
	padding: 0 0 0 min(5.3333vw, 40px);
	font-size: min(2.9333vw, 22px);
}
.contact .form_note {
	margin: 0 0 min(6vw, 45px);
}
.contact .form_note input[type="checkbox"] {
	opacity: 0;
	appearance: none;
	position: absolute;
}
.contact .form_note input[type="checkbox"] + label {
	position:relative;
}
.contact .form_note input[type="checkbox"] + label::before {
	content: "";
	display: block;
	width: min(4.6667vw, 35px);
	height: min(4.6667vw, 35px);
	border: min(0.2667vw, 2px) solid #989898;
	position: absolute;
	top: 50%;
	left: 0;
	box-sizing: border-box;
	background: #fff;
	transform: translateY(-50%);
}
.contact .form_note input[type="checkbox"]:checked + label::after {
    content: "";
	background: url("img/icon_check02.png") no-repeat 0 0 / contain;
	width: min(4.6667vw, 35px);
	height: min(4.6667vw, 35px);
    position: absolute;
	top: 50%;
    left: 0;
	transform: translateY(-50%);
}
.contact .form_btn.ver2 {
  display: flex;
  gap: 3%;
}
.contact .form_btn button,
.contact .form_btn input,
.contact .form_btn a {
    all: unset;
    position: relative;
    display: block;
    margin: 0 auto;
    font-weight: 700;
    color: #fff;
    background-color: #06c755;
    box-sizing: border-box;
    cursor: pointer;
	width: min(73.3333vw, 550px);
	height: min(13.3333vw, 100px);
	font-size: min(4vw, 30px);
	border-radius: min(2.6667vw, 20px);
	box-shadow: 0px 0.3em 0px 0px rgb(0, 117, 48);
}
.contact .form_btn.ver2 button {
	width: 40%;
	background-color: #999da9;
	box-shadow: 0px 0.3em 0px 0px #61677a;
}
.contact .form_btn a {
	padding: min(4.6667vw, 35px) min(6vw, 45px);
}

/*-----------------------------------
.company
-----------------------------------*/
.company {
	padding: min(12vw, 90px) 0 min(9.3333vw, 70px);
	background: #fff;
}
.company .sec_ttl {
	font-size: min(6vw, 45px);
	font-weight: 500;
	padding: 0 0 min(3.3333vw, 25px);
	position: relative;
	margin: 0 0 min(12vw, 90px);
}
.company .sec_ttl::after {
	content: "";
	background: var(--orange);
	width: min(30.1333vw, 226px);
	height: min(0.2667vw, 2px);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.company .campany_profile {
	display: inline-block;
	position: relative;
}
.company .campany_profile::after {
	content: "";
	background: #666;
	width: min(0.1333vw, 1px);
	height: 100%;
	position: absolute;
	top: 0;
	left: min(22.6667vw, 170px);
}
.company .campany_profile dl {
	display: flex;
	gap: 0 min(6vw, 45px);
	font-size: min(3.3333vw, 25px);
	line-height: 1.6;
	text-align: left;
}
.company .campany_profile dl:not(:last-child) {
	margin: 0 0 min(5.3333vw, 40px);
}
.company .campany_profile dl dt {
	color: #666;
	width: min(22.6667vw, 170px);
}
.company .campany_profile dl dd ul li:not(:last-child) {
	margin: 0 0 0.5em;
}
.copy {
	padding: min(5.3333vw, 40px) 0;
	font-size: min(2.9333vw, 22px);
	font-weight: 400;
	background: #fff;
}




