@charset "utf-8";

.marker {
	background: linear-gradient(transparent 60%, #F5D713 60%);
}

#area .h1-area {
	top: 20px;
	z-index: 2;
}

@media screen and (max-width: 768px){
	#area .h1-area {
		top: 0;
	}
}

/* -----------------------------------------------------------
    お急ぎ下さい
-------------------------------------------------------------- */
#area .top-prompt-area {
	background: url("../img/decoration01.png") no-repeat left top;
	padding-top: 60px;
	margin-top: 10px;
}

#area .top-prompt-area .yellow-bg {
	max-width: 1400px;
	background: linear-gradient(110deg, #FFF5D5 0%, #FFF5D5 50%, #FFE797 50%, #FFE797 100%);
	margin: 0 auto;
	padding: 60px 0;
	position: relative;
}

#area .top-prompt-area .txt-img-wrap {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}

#area .top-prompt-area .txt-img-wrap .txt-area {
	position: relative;
}

/*文字 黄色*/
#area .top-prompt-area .txt-img-wrap .txt-area .rotate {
	transform: rotate(-7deg);
    -moz-transform: rotate(-7deg);
    -webkit-transform: rotate(-7deg);
	position: absolute;
	top: -110px;
}

#area .top-prompt-area .txt-img-wrap .txt-area .catch {
	font-size: 3.5rem;
	font-weight: 700;
	background-color: #FFF600;
	display: inline;
    line-height: 1.8;
	-webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 8px 10px;
	white-space: nowrap;
}

#area .top-prompt-area .txt-img-wrap .txt-area .catch span {
	font-size: 4.5rem;
}

/**/
#area .top-prompt-area .txt-img-wrap .txt-area .ttl {
	font-size: 4.5rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 65px 0 30px;
}

/*悩み・解決*/
#area .top-prompt-area .txt-img-wrap .txt-area .txt-box {
	background-color: #fff;
	box-shadow: 0px 3px 20px #B8B8B8;
	padding: 20px 50px;
	position: relative;
	margin-bottom: 50px;
}
#area .top-prompt-area .txt-img-wrap .txt-area .txt-box:last-child {
	margin-bottom: 0px;
}

#area .top-prompt-area .txt-img-wrap .txt-area .txt-box.worry::before {
	content: "\f078";
	font-family: 'Font Awesome 5 Free';
	font-size: 3rem;
	font-weight: bold;
	color: #034A8F;
	position: absolute;
	bottom: -45px;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

#area .top-prompt-area .txt-img-wrap .txt-area .txt-box .circle-bg {
	font-size: 1.9rem;
	font-weight: 700;
	color: #fff;
	background-color: #4E6780;
	width: 70px;
	height: 70px;
	border-radius: 35px;
	text-align: center;
	padding-top: 15px;
	position: absolute;
	left: -36px;
    top: 23px;
}

#area .top-prompt-area .txt-img-wrap .txt-area .txt-box.resolution .circle-bg {
	background-color: #D88F21;
}

#area .top-prompt-area .txt-img-wrap .txt-area .txt-box .txt {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.5;
}

#area .top-prompt-area .txt-img-wrap .txt-area .marker-y {
	background-color: #F2EA00;
}

#area .top-prompt-area .txt-img-wrap .txt-area .plus {
	font-size: 4rem;
	font-weight: 700;
	text-align: center;
}

#area .top-prompt-area .txt-img-wrap .txt-area .plus-point {
	display: flex;
	justify-content: space-between;
}

#area .top-prompt-area .txt-img-wrap .txt-area .plus-point .txt {
	background-color: #FFE6BF;
	width: 210px;
	padding: 5px;
	text-align: center;
	margin-right: 25px;
	position: relative;
}

#area .top-prompt-area .txt-img-wrap .txt-area .plus-point .txt:last-child {
	margin-right: 0px;
}

#area .top-prompt-area .txt-img-wrap .txt-area .plus-point .txt::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 10px;
	background-color: #D88F21;
	position: absolute;
	top: -5px;
	left: -5px;
}

/*写真*/
#area .top-prompt-area .txt-img-wrap .img-area {
	margin-right: -30px;
}

/*コンタクト*/
#area .top-prompt-area .contact {
	background-color: #fff;
	padding: 20px;
	margin-top: 40px;
}

#area .top-prompt-area .contact .btn-area {
	display: flex;
	justify-content: space-around;
	align-items: center;
}

/*tel*/
#area .contact .btn-area .f-c-btn.tel-area {
	position: relative;
}

#area .contact .tel-area {
	text-align: center;
	font-weight: 700;
	padding-left: 10px;
}

#area .contact .tel-area .tel {
	font-size: 6rem;
	line-height: 1;
	display: flex;
	flex-wrap: nowrap;
    align-items: flex-end;
	margin-bottom: 10px;
}

#area .contact .tel-area .txt {
	font-size: 2rem;
	font-weight: 700;
	text-align: left;
	padding-left: 85px;
}

#area .contact .tel-area .tel img {
	margin-right: 10px;
	width: 73px;
	height: 100%;
}

/*ビックリマーク*/
#area .top-prompt-area .exclamation {
	position: absolute;
	top: -100px;
	left: 50%;
	z-index: 0;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.roll {
    animation-name: rotateRightZAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
@keyframes rotateRightZAnime{
	from{
		transform: rotateZ(0);
		}
	to{
		transform: rotateZ(360deg);
		}
}

/*--スマホ--*/
@media screen and (max-width: 768px){
	#area .top-prompt-area {
		background: none;
		padding-top: 60px;
		margin-top: 10px;
	}

	#area .top-prompt-area .yellow-bg {
		max-width: 100%;
		background: linear-gradient(110deg, #FFF5D5 0%, #FFF5D5 50%, #FFE797 50%, #FFE797 100%);
		margin: 0 auto;
		padding: 15px 0 40px;
		position: relative;
	}

	#area .top-prompt-area .txt-img-wrap {
		display: block;
		justify-content: space-between;
		position: relative;
		z-index: 1;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area {
		position: relative;
	}

	/*文字 黄色*/
	#area .top-prompt-area .txt-img-wrap .txt-area .rotate {
		top: -90px;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .catch {
		font-size: 1.5rem;
		line-height: 2.5;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .catch span {
		font-size: 1.9rem;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .ttl {
		font-size: 3rem;
		margin: 55px 0 20px;
	}

	/*悩み・解決*/
	#area .top-prompt-area .txt-img-wrap .txt-area .txt-box {
		box-shadow: 0px 3px 20px #B8B8B8;
		padding: 10px 15px 10px 35px;
		margin: 0 0px 30px 10px;
	}
	#area .top-prompt-area .txt-img-wrap .txt-area .txt-box:last-child {
		margin-bottom: 0px;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .txt-box.worry::before {
		content: "\f078";
		font-family: 'Font Awesome 5 Free';
		font-size: 2rem;
		position: absolute;
		bottom: -27px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .txt-box .circle-bg {
		font-size: 1.1rem;
		width: 45px;
		height: 45px;
		padding-top: 13px;
		left: -22px;
		top: 10px;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .txt-box .txt {
		font-size: 1.6rem;
		line-height: 2;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .marker-y {
		padding: 5px;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .plus {
		font-size: 2.5rem;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .plus-point {
		display: flex;
		justify-content: space-between;
		ax-width: 460px;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .plus-point .txt {
		width: 210px;
		padding: 5px;
		text-align: center;
		margin-right: 25px;
		font-size: 1.2rem;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .plus-point .txt:last-child {
		margin-right: 0px;
	}

	#area .top-prompt-area .txt-img-wrap .txt-area .plus-point .txt::before {
		content: "";
		display: block;
		width: 12px;
		height: 12px;
		border-radius: 10px;
		top: -5px;
		left: -5px;
	}
	
	/*tel*/
	#area .contact .tel-area {
		padding-left: 0px;
	}

	#area .contact .tel-area .tel {
		font-size: 3.6rem;
		margin-bottom: 0px;
	}

	#area .contact .tel-area .txt {
		font-size: 1.2rem;
		text-align: left;
		padding-left: 55px;
	}

	#area .contact .tel-area .tel img {
		width: 45px;
	}

	/*ビックリマーク*/
	#area .top-prompt-area .exclamation {
		top: -27px;
    	left: 70%;
		z-index: 0;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
	.roll {
		width: 55px;
	}
}


/* -----------------------------------------------------------
    お悩み
-------------------------------------------------------------- */
#area .area-problem {
	background: url("../img/area-problem-bg.jpg") center top / cover;
	padding: 60px 0;
	margin: 80px 0 0;
}
#area .area-problem .catch {
	font-size: 5.0rem;
	font-weight: 600;
	color: #fff;
	text-align: center;
}
#area .area-problem .area-problem-list {
	display: flex;
	justify-content: space-between;
}
#area .area-problem .area-problem-list li {
	position: relative;
}
#area .area-problem .area-problem-list li img {
	width: 280px;
	border: 5px solid #fff;
	border-radius: 50%;
}
#area .area-problem .area-problem-list li .caption {
	width: 250px;
	background: #fff;
	padding: 15px;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.4;
	position: absolute;
	bottom: 20px;
	left: 0;
	z-index: 2;
}

@media screen and (max-width: 768px){
	#area .area-problem {
		padding: 40px 0 30px;
		margin: 40px 0 0;
	}
	#area .area-problem .catch {
		font-size: 2.3rem;
	}
	#area .area-problem .area-problem-list {
		flex-wrap: wrap;
	}
	#area .area-problem .area-problem-list li {
		width: 48%;
		margin: 0 0 70px;
	}
	#area .area-problem .area-problem-list li img {
		width: 100%;
	}
	#area .area-problem .area-problem-list li .caption {
		width: 120px;
		font-size: 1.5rem;
		padding: 10px;
		bottom: -50px;
	}

}

/* -----------------------------------------------------------
    お悩み
-------------------------------------------------------------- */
#area .area-point {
	padding: 50px 0 80px;
	background: url("../img/decoration01.png") no-repeat bottom 10% right 0,
		url("../img/top-aboutus-bg01.jpg") no-repeat bottom center / 100% auto;
	position: relative;
}

#area .area-point .inner {
	width: 1300px;
	height: 235px;
	background: url("../img/top-aboutus-bg02.png") no-repeat top 20px center;
}

/*タイトルエリア*/
#area .area-point .top-aboutus-ttl-wrap {
	text-align: center;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}

#area .area-point .top-aboutus-ttl-wrap .logo {
	margin: 20px 0;
}

#area .area-point .top-aboutus-ttl-wrap h3 {
	font-size: 4.5rem;
	font-weight: 700;
}

/*---------スライド------------ */
#area .area-point .illust_slide{
	position: absolute;
	left: 50px;
	top: 0;
	width: 20%;
	height: 100%;
	padding: 0px 0px 0px 0px;
	margin: 0px 0;
	display: block;
	background:url("../img/illust_slide.png") repeat-y top left;
	-webkit-animation:bgscroll 50s linear infinite, fadein 5s linear 0s 1;
	animation:bgscroll 50s linear infinite, fadein 5s linear 0s 1;
	background-size: 100%;
}

@-webkit-keyframes bgscroll {
	0% {background-position:center 0;}
	100% {background-position:0px 2500px;}
}

@keyframes bgscroll {
	0% {background-position:center 0;}
	100% {background-position:0px 2652px;}
}

#area .area-point .illust_slide2{
	position: absolute;
	right: 5%;
	top: 0;
	width: 20%;
	height: 100%;
	padding: 0px 0px 0px 0px;
	margin: 0px 0;
	display: block;
	background:url("../img/illust_slide2.png") repeat-y top right;
	-webkit-animation:bgscroll_2 50s linear infinite, fadein 5s linear 0s 1;
	animation:bgscroll_2 50s linear infinite, fadein 5s linear 0s 1;
	background-size: 100%;
	z-index: 0;
}

@-webkit-keyframes bgscroll_2 {
	0% {background-position:center 0;}
	100% {background-position:0px 2500px;}
}

@keyframes bgscroll_2 {
	0% {background-position:center 0;}
	100% {background-position:0px 2652px;}
}
#area .area-point .strong-point{
    width: 100%;
    margin: 40px 0 0;
}
#area .area-point .strong-point.first {
    margin: 0;
}
#area .area-point .pc-left{
    background: linear-gradient( 90deg , #003894 0% , #003894 85% , transparent 15% , transparent 0%);
}
#area .area-point .pc-right{
    background: linear-gradient( 270deg , #003894 0% , #003894 85% , transparent 15% , transparent 0%);
}
#area .area-point .strong-point .strong-flex{
    display: flex;
    margin: 0 auto;
    justify-content: flex-start;
    padding: 40px 0;
    width: 1200px;
    position: relative;
    background-color: #003894;
}
#area .area-point .pc-left .strong-flex::before{
    content: "";
    width: 48px;
    height: 100%;
    position: absolute;
    top: 0;
    right: -48px;
    background-color: #003894;
}
#area .area-point .pc-right .strong-flex::before{
    content: "";
    width: 48px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -48px;
    background-color: #003894;
}

#area .area-point .strong-point .strong-flex{
    
}
#area .area-point .strong-point .strong-flex .strong-img{
    margin: 0 30px 0 0;
}
#area .area-point .strong-point .strong-txt{
    color: #fff;
    width: 635px;
}
#area .area-point .strong-point .strong-catch{
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1.3;
    margin: 0 0 20px 0;
}
#area .area-point .strong-point .strong-catch .yellow-txt{
    color: #FFF700;
}

@media screen and (max-width: 768px){
	#area .area-point {
		padding: 40px 0;
		background: none,url("../img/top-aboutus-bg01.jpg") no-repeat bottom center / 100% auto;
		position: relative;
	}

	#area .area-point .inner {
		width: 100%;
		background: url("../img/top-aboutus-bg02.png") no-repeat top 10px  center /100% auto;
	}

	/*タイトルエリア*/
	#area .area-point .top-aboutus-ttl-wrap {
		text-align: center;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
		z-index: 1;
		position: relative;
	}
	
	#area .area-point .top-aboutus-ttl-wrap .symbol img {
		width: 60px;
	}

	#area .area-point .top-aboutus-ttl-wrap .logo {
		margin: 20px 0;
	}

	#area .area-point .top-aboutus-ttl-wrap h3 {
		font-size: 2.7rem;
	}

	/*---------スライド------------ */
	#area .area-point .illust_slide{
		position: absolute;
		left: 20px;
	}

	#area .area-point .illust_slide2{
		position: absolute;
		right: 18px;
	}

	#aboutus .photo_slide .sp_img{
		display: none;
	}
	
    #area .area-point{
        margin: 0;
        padding: 40px 20px;
    }
    #area .area-point .strong-wrap{
        width: 100%;
        padding: 30px 20px;
    }
    #area .area-point .strong-wrap .point{
        display: block;
    }
    #area .area-point .strong-wrap .point .ttl-p{
        padding: 0;
        font-size: 2.6rem;
    }
    #area .area-point .strong-wrap .point div{
        padding: 50px 0 0;
        width: 100%;
    }
    #area .area-point .strong-wrap .point div::before{
        width: 40px;
        height: 50px;
        left: 42%;
        top: -5px;
    }
    #area .area-point .strong-wrap .strong-txt{
        padding: 35px 0 0 0;
        font-size: 1.8rem;
    }
    #area .area-point .strong-wrap .strong-txt .marker-y{
        font-size: 2.3rem;
        text-align: left;
    }
    #area .area-point .strong-wrap .catch03{
        font-size: 2.5rem;
        line-height: 1.3;
        padding: 0 0 10px;
        margin: 35px 0 0;
    }
    #area .area-point .strong-wrap .catch03 span{
        font-size: 4rem;
    }
    
    #area .area-point .strong-wrap .txt{
        text-align: left;
        margin: 0;
    }
    
    /*
     ------- strong-point-area内contact --------
    */
	#area .strong-point-wrap {
		position: relative;
		top: -200px;
		margin: 0 0 -200px;
	}
    #area .area-point .strong-point .strong-flex{
        padding: 0;
        display: block;
        width: 100%;
    }
    #area .area-point .pc-left{
        background: #003894;
    }
    #area .area-point .pc-right{
        background: #003894;
    }
    #area .area-point .pc-left .strong-flex::before{
        display: none;
    }
    #area .area-point .pc-right .strong-flex::before{
        display: none;
    }
    #area .area-point .strong-point .strong-flex .strong-img{
        width: 100%
    }
    #area .area-point .strong-point .strong-flex .strong-img img{
        width: 100%;
    }
    #area .area-point .strong-point .strong-flex .strong-txt{
        width: 100%;
        padding: 30px 25px;
    }
    #area .area-point .strong-point .strong-catch{
        font-size: 2.8rem;
    }
    #area .area-point .strong-point .txt{
        font-size: 1.5rem;
    }
}


/* -----------------------------------------------------------
    修理費用
------------------------------------------------------------------------------------------------------------ */

#area .area-insurance .area1 {
	background-color: #F8EEF2;
	padding: 0 0 40px;
	margin: 80px 0 0;
}

#area .area-insurance .area1 .in {
	position: relative;
	display: flex;
	justify-content: space-between;
    align-items: center;
}

#area .area-insurance .area1 .pink-circle {
	background-color: #DD7994;
	width: 142px;
	height: 142px;
	border-radius: 75px;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
	padding-top: 50px;
	position: absolute;
	left: -70px;
}

#area .area-insurance .area1 .pink-circle::before {
	content: "";
	width: 34px;
	height: 36px;
	background-image: url("../img/top-guarantee-deco.png");
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top: -8px;
	left: -8px;
}

#area .area-insurance .area1 .txt-wrap {
	display: flex;
	padding-left: 100px;
	align-items: center;
}

#area .area-insurance .area1 .ttl-wrap h3 {
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.4;
}

#area .area-insurance .area1 .ttl-wrap .en {
	font-size: 1.8rem;
	font-weight: 700;
	color: #DD7994;
	font-family: 'Roboto', sans-serif;
}

#area .area-insurance .area1 .catch {
	margin-bottom: 0px;
	font-size: 4.5rem;
	margin-left: 40px;
}

#area .area-insurance .area-ins-list {
	display: flex;
	justify-content: space-between;
	width: 1110px;
	margin: 40px auto 0;
}
#area .area-insurance .area-ins-list li {
	width: 350px;
	background: #fff;
}
#area .area-insurance .area-ins-list li .title {
	background: url("../img/area-ins-bg1.png") center top / cover;
	width: 100%;
	height: 106px;
	color:#fff;
	font-weight: 600;
	text-align: center;
	padding: 10px 0 0;
}
#area .area-insurance .area-ins-list li .title.style2 {
	background: url("../img/area-ins-bg2.png") center top / cover;
}
#area .area-insurance .area-ins-list li .title.style3 {
	background: url("../img/area-ins-bg3.png") center top / cover;
}
#area .area-insurance .area-ins-list li .title span {
	color:#FFCC00;
}
#area .area-insurance .area-ins-list li .title2 {
	font-size: 3.0rem;
	margin: 5px 0 0;
}
#area .area-insurance .area-ins-list li .inbox {
	padding: 20px;
}
#area .area-insurance .area-ins-list li .inbox .caption {
	font-size: 2.0rem;
	font-weight: 600;
	background: #FFEAC7;
	text-align: center;
	padding: 5px;
}
#area .area-insurance .area-ins-list li img {
	margin: 20px 0 0;
	width: 100%;
}

#area .area-insurance .area2 {
	background:#FFE400;
	padding: 40px;
}
#area .area-insurance .area2 .catch {
	font-size: 4.5rem;
	text-align: center;
}
#area .area-insurance .area2 .catch img {
	margin: 0 10px 0 0 ;
	position: relative;
	top: -3px;
}
#area .area-insurance .area2 .area-cau-list {
}
#area .area-insurance .area2 .area-cau-list li {
	background: #fff;
	padding: 22px 20px 15px 30px;
	position: relative;
	margin: 20px 0 0;
}
#area .area-insurance .area2 .area-cau-list li img {
	position: absolute;
	bottom: 0;
	right: 20px;
}
#area .area-insurance .area2 .area-cau-list li::before {
	content: "";
	background: #FFE400;
	width: 20px;
	height: 5px;
	position: absolute;
	top: 30px;
	left: 0;
}
#area .area-insurance .area2 .area-cau-list li .bold {
	font-weight: 600;
	margin: 0 0 10px;
	line-height: 1.4;
}

@media screen and (max-width: 768px){
	#area .area-insurance .area1 {
		padding: 0 0 40px;
		margin: 40px 0 0;
	}

	#area .area-insurance .area1 .in {
	}

	#area .area-insurance .area1 .pink-circle {
		width: 100px;
		height: 100px;
		font-size: 1.4rem;
		padding-top: 35px;
		left: 20px;
		top: 40px;
	}

	#area .area-insurance .area1 .txt-wrap {
		padding-left: 135px;
		padding-top:55px;
	}

	#area .area-insurance .area1 .ttl-wrap h3 {
		font-size: 2.5rem;
	}

	#area .area-insurance .area1 .ttl-wrap .en {
		font-size: 1.8rem;
		font-weight: 700;
		color: #DD7994;
		font-family: 'Roboto', sans-serif;
	}

	#area .area-insurance .area1 .catch {
		margin-bottom: 0px;
		font-size: 4.5rem;
		margin-left: 40px;
	}

	#area .area-insurance .area-ins-list {
		display: block;
		width: 100%;
		margin: 30px auto 0;
	}
	#area .area-insurance .area-ins-list li {
		width: 100%;
	}
	#area .area-insurance .area-ins-list li .title {
		background: url("../img/area-ins-bg1-sp.png") center top / cover;
		padding: 10px 0 20px;
		height: auto;
	}
	#area .area-insurance .area-ins-list li .title.style2 {
		background: url("../img/area-ins-bg2-sp.png") center top / cover;
	}
	#area .area-insurance .area-ins-list li .title.style3 {
		background: url("../img/area-ins-bg3-sp.png") center top / cover;
	}
	#area .area-insurance .area-ins-list li .title span {
		color:#FFCC00;
	}
	#area .area-insurance .area-ins-list li .title2 {
		font-size: 2.5rem;
		margin: 5px 0 0;
	}
	#area .area-insurance .area-ins-list li .inbox {
		padding: 20px;
	}
	#area .area-insurance .area-ins-list li .inbox .caption {
		font-size: 2.0rem;
		font-weight: 600;
		background: #FFEAC7;
		text-align: center;
		padding: 5px;
	}
	#area .area-insurance .area-ins-list li img {
		margin: 20px 0 0;
		width: 100%;
	}

	#area .area-insurance .area2 {
		padding: 40px 20px;
	}
	#area .area-insurance .area2 .catch {
		font-size: 2.5rem;
		position: relative;
		text-align: left;
		padding: 0 0 0 45px;
	}
	#area .area-insurance .area2 .catch img {
		width: 40px;
		position: absolute;
		top: 0;
		left:0;
	}
	#area .area-insurance .area2 .area-cau-list li img {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 75px;
	}

}

/* -----------------------------------------------------------
    施工実績
------------------------------------------------------------------------------------------------------------ */

#area .top-case-area {
	padding: 80px 0 20px;
	margin-top: 80px;
	background: url("../img/top-case-bg.png") no-repeat top left / 100% auto;
}

.top-case-area .ttl-triangle:before {
    border-bottom: 21px solid #eff3fb;
}

#area .top-case-area .ttl-img {
	display: flex;
	position: relative;
}

#area .top-case-area .ttl-img .img-area {
	position: absolute;
    right: -200px;
    top: -80px;
}

#area .top-case-area .ttl-img .img-area {
	position: absolute;
    right: -200px;
    top: -80px;
}

#area .top-case-area .img-under.txt {
	margin-top: 60px;
}

/*スライド部分*/
#area .top-case-area .case-box {
	display: flex;
	width: 2500px;
}
#area .top-case-area .case-box.style-wide {	
	width: 100%;
	margin: 0 0 20px;
}
#area .top-case-area .case-scroll {
	overflow-x: scroll;
	overflow-y: hidden;
	display: flex;
}
#area .top-case-area .case-box li {
	background-color: #fff;
	box-shadow: 0px 3px 20px #B8B8B8;
	width: 580px;
	margin:15px;
}

#area .top-case-area .case-box li:nth-child(n+5) {
	display: none;
}

#area .top-case-area .case-box li a {
	padding: 30px;
}

#area .top-case-area .case-box li .cate-area-wrap {
	display: flex;
}

#area .top-case-area .case-box li .cate-area-wrap .cate {
	background-color: #CF1434;
	padding: 0 5px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	margin-right: 10px;
}
#area .top-case-area .case-box li .cate-area-wrap .cate.style1 {
	background-color: #CF1434;
}

#area .top-case-area .case-box li .cate-area-wrap .area {
	font-weight: 700;
}

#area .top-case-area .case-box li .ttl {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 10px 0;
}

#area .top-case-area .case-box li .img-txt-wrap {
	display: flex;
	align-items: center;
}

#area .top-case-area .case-box li .img-txt-wrap .img-area {
	margin-right: 30px;
}

#area .top-case-area .case-box li .img-txt-wrap .img-area img {
	width: 140px;
    height: 140px;
    border-radius: 70px;
	object-fit: cover;
}

#area .top-case-area .case-box li .img-txt-wrap .overview p {
	font-size: 1.8rem;
	font-weight: 700;
}

#area .top-case-area .case-box li .img-txt-wrap .overview p span {
	font-size: 2.5rem;
	font-weight: 700;
	padding-left: 20px;
}

#area .top-case-area .case-box li .img-txt-wrap .overview p::before {
    display: inline-block;
    content: "\f058";
    font-weight: normal;
    font-family: 'FontAwesome';
    color: #003894;
	margin-right: 5px;
}

#area .case-box.style-wide li {
	width: 100%;
	padding: 40px;
}
#area .case-box.style-wide .comment {
	background: #ECFAFF;
	padding: 20px;
	display: flex;
	justify-content: space-between;
	margin: 20px 0 0;
}
#area .case-box.style-wide .comment .icon {
	width: 95px;
	margin: 0 30px 0 0;
}
#area .case-box.style-wide .comment .icon span {
	background: #14AFCF;
	padding: 2px 10px;
	color: #fff;
	font-weight: 600;
	display: inline-block;
	position: relative;
	top: -20px;
	left: 12px;
}
#area .case-box.style-wide .textbox {
	
}
@media screen and (max-width: 768px){
	#area .top-case-area {
		padding: 40px 0 20px;
		margin-top: 40px;
		background: url("../img/top-case-bg.png") no-repeat top left / 100% auto;
	}
	
	.top-case-area .ttl-triangle:before {
		border-bottom: 23px solid #e3edf9;
	}

	#area .top-case-area .ttl-img .img-area {
		position: absolute;
		right: -50px;
		top: 0px;
	}
	
	#area .top-case-area .ttl-img .img-area img {
		width: 200px;
		position: relative;
		top: -50px;
		right: -20px;
	}

	#area .top-case-area .img-under.txt {
		margin-top: 0px;
	}

	/*スライド部分*/
	#area .top-case-area .case-scroll {
		overflow-x: scroll;
	}
	
	#area .top-case-area .case-scroll .case-slide {
		display: flex;
	}
	
	#area .top-case-area .case-box {
		display: flex;
	}
	
	#area .top-case-area .case-box li {
		background-color: #fff;
		width: 305px;
		margin: 20px 15px;
	}

	#area .top-case-area .case-box li:nth-child(n+5) {
	  display: none;
	}
	#area .top-case-area .case-box.style-wide li {
		width: 100%;
		padding: 20px;
		margin: 30px 0 0;
	}
	#area .top-case-area .case-box li a {
		padding: 20px;
	}

	#area .top-case-area .case-box li .cate-area-wrap {
		display: flex;
	}

	#area .top-case-area .case-box li .cate-area-wrap .cate {
		padding: 0 5px;
		font-size: 1.4rem;
		margin-right: 10px;
	}
	
	#area .top-case-area .case-box li .cate-area-wrap .area {
		font-weight: 1.4rem;
	}

	#area .top-case-area .case-box li .ttl {
		font-size: 2rem;
	}

	#area .top-case-area .case-box li .img-txt-wrap .img-area {
		margin-right: 15px;
	}

	#area .top-case-area .case-box li .img-txt-wrap .img-area img {
		width: 90px;
		height: 90px;
	}

	#area .top-case-area .case-box li .img-txt-wrap .overview p {
		font-size: 1.5rem;
	}

	#area .top-case-area .case-box li .img-txt-wrap .overview p span {
		font-size: 1.7rem;
		padding-left: 20px;
	}
	#area .case-box.style-wide .comment {
		display: block;
		margin: 50px 0 0;
		padding: 80px 20px 20px;
		position: relative;
	}
	#area .case-box.style-wide .comment .icon {
		position: absolute;
		top: -40px;
		left: 50%;
		margin: 0 0 0 -47px;
	}

}

/* -----------------------------------------------------------
    対応地域
------------------------------------------------------------------------------------------------------------ */
#area .area-place {
	margin: 80px 0 0;
}

@media screen and (max-width: 768px){
	#area .area-place {
		margin: 40px 0 0;
	}
}

/* -----------------------------------------------------------
    このエリアの特徴
------------------------------------------------------------------------------------------------------------ */
#area .area-place2 {
	margin: 60px 0 0;
}
#area .area-place2 .inner {
	background: #f8f8f8;
	padding: 50px;
}

@media screen and (max-width: 768px){
	#area .area-place2 {
		margin: 40px 0 0;
	}
	#area .area-place2 .inner {
		padding: 40px 20px;
	}
}

/* -----------------------------------------------------------
    エリア
-------------------------------------------------------------- */
#area .top-support-area {
	margin-top: 80px;
	padding: 80px 0;
	background-color: #F9F5E4;
}

#area .top-support-area .ttl-area {
	display: flex;
	align-items: center;
}

#area .top-support-area .ttl-area .catch {
	margin: 0 0px 0 40px;
}

.top-support-area .support-area {
	width: 1300px;
	margin: 0px auto;
	background-color: #fff;
	padding: 50px;
	position: relative;
}

/*表部分*/
.top-support-area .support-area .area-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
}

.top-support-area .support-area .area-wrap .area {
	width: 100%;
}

.top-support-area .support-area .area-wrap .area .region {
	background-color: #E9F2FC;
	font-size: 2rem;
	font-weight: 700;
	padding: 12px 0px 12px 50px;
	text-align: left;
	position: relative;
	height: 45px;
}

.top-support-area .support-area .area-wrap .area .region::after {
	content: url("../img/area-deco.png");
	position: absolute;
	left: 0;
	top: 0px;
	height: 45px;
}

.top-support-area .support-area .area-wrap .area .prefectures {
	padding: 20px 0 0;
	text-align: left;
}

.top-support-area .support-area .area-wrap .area .prefectures .p-name {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 10px;
}

.top-support-area .support-area .area-wrap .area .city-list {
	display: flex;
	gap: 15px 20px;
    flex-wrap: wrap;
}

.top-support-area .support-area .area-wrap .area .city-list li {
	border: solid 1px #A2CDFC;
	box-shadow: 2px 2px 0px #A2CDFC;
}

.top-support-area .support-area .area-wrap .area .city-list li a {
	padding: 10px 20px;
	display: inline-block;
	position: relative;
}

.top-support-area .support-area .area-wrap .area .city-list li a::before {
    content: "\f105";
    font-family: 'Font Awesome 5 Free';
    font-size: 1.6rem;
    font-weight: bold;
    color: #A2CDFC;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

@media screen and (max-width: 768px){
	#area .top-support-area {
		margin-top: 0;
		padding: 40px 0;
		background-color: #F9F5E4;
	}

	#area .top-support-area .ttl-area {
		align-items: flex-start;
		flex-direction: column;
	}

	#area .top-support-area .ttl-area .catch {
		margin: 0 0px 0 0px;
	}

	.top-support-area .support-area {
		width: 100%;
		padding:10px 10px 20px;
		border-radius: 10px;
		margin: 0;
	}

	.top-support-area .support-area .area-wrap {
		display: flex;
		flex-wrap: wrap;
		margin-top: 0px;
		gap: 60px;
	}

	.top-support-area .support-area .area-wrap .area {
		width: 100%;
	}

	.top-support-area .support-area .area-wrap .area .region {
		font-size: 2rem;
		padding: 12px 0px 12px 50px;
		text-align: left;
		position: relative;
		height: 45px;
	}

	.top-support-area .support-area .area-wrap .area .region::after {
		content: url("../img/area-deco.png");
		position: absolute;
		left: 0;
		top: 0px;
		height: 45px;
	}

	.top-support-area .support-area .area-wrap .area .prefectures {
		padding: 20px 0 0;
		text-align: left;
	}

	.top-support-area .support-area .area-wrap .area .prefectures .p-name {
		font-size: 2rem;
		margin-bottom: 10px;
	}

	.top-support-area .support-area .area-wrap .area .city-list {
		display: flex;
		gap: 15px 20px;
		flex-wrap: wrap;
	}

	.top-support-area .support-area .area-wrap .area .city-list li {
		border: solid 1px #A2CDFC;
		box-shadow: 2px 2px 0px #A2CDFC;
	}

	.top-support-area .support-area .area-wrap .area .city-list li a {
		padding: 10px 20px;
		display: inline-block;
		position: relative;
	}

	.top-support-area .support-area .area-wrap .area .city-list li a::before {
		content: "\f105";
		font-family: 'Font Awesome 5 Free';
		font-size: 1.6rem;
		font-weight: bold;
		color: #A2CDFC;
		position: absolute;
		top: 50%;
		right: 5px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}

	/*ドット*/
	#area .top-support-area .dot p {
		text-align: center;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.5;
		margin-top: 10px;
	}
}

