@charset "utf-8";

/* -----------------------------
	-area
-------------------------------- */
.contents{
	background: var(--lightblue);
}

#wrapper{
	overflow: clip;
}
@media screen and (max-width: 768px){
}

/* -----------------------------
	intro-area
-------------------------------- */
.intro-area .catch-l{
	padding: 30px 0 0;
}
.intro-area .basic-txt{
	padding: 30px 0 0;
	width: 750px;
}
@media screen and (max-width: 768px){
	.intro-area {
		position: relative;
		margin: 50px 0 0;
	}
	.intro-area .catch-l{
		padding: 20px 0 0;
	}
	.intro-area .basic-txt{
		padding: 20px 0 0;
		width: 100%;
	}
}

/* -----------------------------
	service-area
-------------------------------- */
.service-area{
	margin: 150px 0 0;
}
.service-area .txt-area{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.service-area .txt-area .catch-l{
	padding: 30px 0 0;
}
.service-area .block .box{
	margin: 80px 0 0;
	display: flex;
	align-items: center;
	gap: 50px;
}
.service-area .block .box.right-img{
	flex-direction: row-reverse;
}
.service-area .block .box .subcatch{
	color: var(--blue);
    font-size: 2rem;
    line-height: 1.6;
    font-weight: bold;
    border-bottom: 1px dashed var(--blue);
    padding: 0 0 5px;
}
.service-area .block .box .catch-l{
	padding: 10px 0 0;
}
.service-area .block .box .basic-txt{
	padding: 15px 0 0;
}


/* list-box */
.list-box{
	margin: 50px 0 0;
}
.list-box .title{
	color: var(--blue);
	text-align: center;
	font-size: 2.3rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	position: relative;
	align-items: center;
	display: flex; 
	justify-content: center;
}
.list-box .title::before,
.list-box .title::after {
	background-color: var(--blue);
	content: "";
	height: 1px;
	width: 16%;
}
.list-box .title::before {
  margin-right: 15px;
}
.list-box .title::after {
  margin-left: 15px; 
}

.list-box ul{
	background: #fff;
	padding: 30px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 30px;
	margin: 10px 0 0;
	border: dotted 1px var(--blue);
}
.list-box ul li{
	font-size: 1.8rem;
	font-weight: bold;
	position: relative;
	padding: 0 0 0 25px;
	letter-spacing: 0.05em;
}
.list-box ul li::before{
	content: '\f058';
	position: absolute;
	font-family: var(--webicon);
	font-weight: 900;
	top: 0;
	left: 0;
	color: var(--blue);
}

/* support-box */
.support-box{
	margin: 50px 0 0;
}
.support-box .title{
	color: var(--blue);
	text-align: center;
	font-size: 2.3rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	position: relative;
	align-items: center;
	display: flex; 
	justify-content: center;
}
.support-box .title::before,
.support-box .title::after {
	background-color: var(--blue);
	content: "";
	height: 1px;
	width: 30%;
}
.support-box .title::before {
  margin-right: 15px;
}
.support-box .title::after {
  margin-left: 15px; 
}
.support-box ul{
	display: flex;
	gap: 20px;
	margin: 30px 0 0;
}
.support-box ul li{
	background: #fff;
	padding: 35px 20px 20px;
	border: dotted 1px var(--blue);
	width: calc((100% / 2) - 20px);
	position: relative;
}
.support-box ul li .subtitle{
	background: var(--blue);
	color: #fff;
	font-size: 1.8rem;
	position: absolute;
	padding: 2px 20px 3px;
	border-radius: 30px;
	top: -15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	white-space: nowrap;
}

@media screen and (max-width: 768px){
	.service-area{
		margin: 50px 0 0;
	}
	.service-area .txt-area{
		display: block;
	}
	.service-area .txt-area .catch-m{
		padding: 20px 0 0;
	}
	.service-area .block .box{
		display: block;
		margin: 30px 0 0;
	}
	.service-area .block .box img{
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	
	.service-area .block .box.right-img{
	}
	.service-area .block .box .subcatch{
		font-size: 1.6rem;
		line-height: 1.5;
		margin: 20px 0 0;
	}
	.service-area .block .box .catch-l{
		margin: 5px 0 0;
	}
	.service-area .block .box .basic-txt{
	}
	
	
	/* list-box */
	.list-box{
		margin: 20px 0 0;
	}
	.list-box .title{
		font-size: 1.8rem;
		line-height: 1.4;
		white-space: nowrap;
	}
	.list-box .title::before,
	.list-box .title::after {
	}
	.list-box .title::before {
	}
	.list-box .title::after {
	}

	.list-box ul{
		padding: 15px;
		gap: 10px;
	}
	.list-box ul li{
		font-size: 1.6rem;
		line-height: 1.4;
	}

	.service-area .support-box{
		margin: 20px 0 0;
	}
	.service-area .support-box .catch-ss{
	}
	.service-area .support-box .title{
		font-size: 1.8rem;
		line-height: 1.4;
		white-space: nowrap;
	}
	.service-area .support-box ul{
		display: block;
	}
	.service-area .support-box ul li{
		width: 100%;
		padding: 25px 10px 10px;
	}
	.service-area .support-box ul li:nth-child(n + 2){
		margin: 20px 0 0;
	}
	.support-box ul li .subtitle{
		font-size: 1.5rem;
	}
	.service-area .support-box .top-txt{
		font-size: 1.5rem;
		padding: 5px 20px;
	}
	.service-area .support-box .top-txt::before{
		height: 10px;
		bottom: -9px;
	}
	.service-area .support-box .top-txt::after{
		border-right: 20px solid transparent;
		border-left: 20px solid transparent;
		border-top: 15px solid var(--blue);
		bottom: -20px;
	}
	.service-area .support-box .bottom-txt{
		font-size: 1.8rem;
		line-height: 1.5;
	}
}


/* -----------------------------
	-area
-------------------------------- */
.emergency-area{
	margin: 50px 0 0;
}

.emergency-area.top .txt-area{
}
.emergency-area .txt-area .catch-m{
	color: var(--blue);
	text-decoration: underline;
	text-underline-offset: 8px;
}
.emergency-area .txt-area .catch-m{
	padding: 30px 0 0;
}
.emergency-area .txt-area .basic-txt{
	padding: 30px 0 0;
}

.emergency-block{
	margin: 30px 0 0;

}
.emergency-block .top-box{
	margin: 10px 0 0;
}
.emergency-block > div{
}
.emergency-block .title{
	font-size: 1.8rem;
	font-weight: bold;
}
.emergency-block > div ul{
	display: flex;
	gap: 5px;
	justify-content: space-between;
	margin: 10px 0 0;
}
.emergency-block > div ul li{
	
	padding: 10px 20px 25px;
	border: 2px solid var(--blue);
	width: calc((100% / 3) - 5px);
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	background: #fff;

}
.emergency-block > div ul li .ft_cv_tel_num{
	font-size: 3rem;
	margin: 10px 0 0;
}
.emergency-block > div ul li .ft_cv_tel_num::before{
	font-size: 2.3rem;
}

.emergency-block .bottom-box{
	margin: 10px 0 0;
}
.emergency-block .bottom-box .logo{
	margin: 0 auto;
	display: table;
}
.emergency-block .bottom-box ul{
	background: none;
	border: none;
}
.emergency-block .subcatch{
	background: #ddd;
	font-size: 1.4rem;
	padding: 0 10px;
	border-radius: 30px;
}
.company-block{
	margin: 10px 0 0;
}


.company-block > div{
	display: flex;
	align-items: center;
	background: #fff;
	padding: 30px;
	border: 2px solid var(--blue);
	justify-content: space-between;
}
.company-block .subtitle{
	font-size: 1.8rem;
	font-weight: bold;
}

.company-block .ft_cv_tel_num{
	font-size: 4rem;
}

@media screen and (max-width: 768px){
	.emergency-area{
		margin: 50px 0 0;
	}
	.emergency-area.top .txt-area{
		text-align: left;

	}

	.emergency-area .txt-area .catch-m{
		padding: 20px 0 0;
		font-size: 2rem;
        line-height: 1.6;
	}
	.emergency-area.top .txt-area .catch-m{
		padding: 0 0 0;
	}
	.emergency-area .txt-area .basic-txt{
		padding: 20px 0 0;
	}

	.emergency-block{

	}
	.emergency-block .top-box{
	}
	.emergency-block > div{
	}
	.emergency-block .title{

	}
	.emergency-area .title span{
		font-size: 1.4rem;
	}
	.emergency-block > div ul{
		display: block;

	}
	.emergency-block > div ul li{
		width: 100%;
		padding: 10px 20px 15px;

	}
	.emergency-block > div ul li:nth-child(n + 2){
		margin: 5px 0 0;
	}
	.emergency-block > div ul li .tel{
		text-decoration: none!important;
	}
	.emergency-block > div ul li .ft_cv_tel_num{
		margin: 5px 0 0;
	}
	.emergency-block > div ul li .ft_cv_tel_num::before{
	}

	.emergency-block .bottom-box{
		margin: 0 0 0;
	}
	.emergency-block .bottom-box .logo{
	}
	.emergency-block .bottom-box ul{
		margin: 5px 0 0;
	}
	.emergency-block .subcatch{
		font-size: 1.2rem;
	}
	
	.company-block{
		margin: 20px 0 0;
	}

	.company-block > div{
		display: block;
		padding: 15px;
	}
	.company-block .subtitle{

	}
	.emergency-area .ft_cv_tel{
		margin: 10px 0 0;
		
	}
	.emergency-area .ft_cv_tel_num{
		font-size: 3rem;
	}
	.emergency-area .ft_cv_tel_time .ft_cv_tel_title{
		padding: 3px 10px;
	}
}

/* -----------------------------
	faq-area
-------------------------------- */
.faq-area{
	padding: 100px 0 150px;
}
@media screen and (max-width: 768px){
	.faq-area{
		padding: 50px 0;
	}
}