@charset "utf-8";


#step01,#step02,#step03,#step04,#step05,#step06{
	padding-top: 130px;
	margin-top: -130px;
}

@media screen and (max-width: 768px){
	
	#step01,#step02,#step03,#step04,#step05,#step06{
		padding-top: 30px;
	margin-top: -30px;
	}
	
}


/* -----------------------------------------------------------
    イントロ
-------------------------------------------------------------- */
.intro-area{
	padding: 70px 0 70px;
	position: relative;
	background: url("../img/bg-red.png") no-repeat left top / cover;
	color: #fff;
}
.intro-area .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.intro-area .section-catch{
	font-size: 3.4rem;
	flex-basis: 45%;
	line-height: 1.5;
}
.intro-area .basic-txt{
	flex-basis: 55%;
	border-left: 1px dashed #fff;
	padding: 0 0 0 50px;
}

@media screen and (max-width: 768px){
	
	.intro-area{
		padding: 40px 20px;
	}
	.intro-area .inner{
		display: block;
	}
	.intro-area .section-catch{
		font-size: 2.4rem;
		flex-basis: auto;
		padding: 0 0 0;
		margin: 0 0 20px;
	}
	.intro-area .basic-txt{
		border-left: none;
		background: #fff;
		padding: 20px;
		border-radius: 5px;
		color: #333;
	}
	
}


/* -----------------------------------------------------------
    flow-area
-------------------------------------------------------------- */
.flow-area{
	background: url("../img/bg-gray01.png") repeat left top;
	padding: 80px 0 60px;
	margin: 0 0 60px;
}

.flow-area .cmn-title-area{
	margin: 0 0 50px;
}

.flow-area .cmn-title-area .txt-block{
	flex: 1;
}

/* list */
.flow-list{
	position: relative;
}
.flow-list::before{
	content: '';
	position: absolute;
	width: 1px;
	height: calc(100% - 330px);
	background: var(--red);
    top: 0px;
	left: 70px;
	margin: 60px 0 0;
	z-index: 1;
}
.flow-list .list-item {
	width: 100%;
	background: #fff;
	padding: 60px 60px 60px 40px;
	margin: 0 0 50px;
}

.flow-list .txt-box {
	display: flex;
	align-items: center;
    position: relative;
}
.flow-list .txt-box.st {
	align-items: flex-start;
}

.flow-list .num {
	position: absolute;
	top: -30px;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	text-align: center;
	background: var(--red);
	color: #fff;
	font-size: 1.2rem;
	font-weight: 600;
	
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}
.flow-list .num span {
	display: block;
	font-size: 2.4rem;
}

.flow-list .photo {
	width: 350px;
	margin: 0 0 0 100px;
}
.flow-list .photo img {
	width: 100%;
	height: 240px;
	object-fit: cover;
}
/*
.flow-list .photo.full img {
	height: 100%;
}
*/

.flow-list .txt-area {
	width: 600px;
	margin: 0 0 0 auto;
}

.flow-list .foot-contact-area .btn-area .txt-area{
	font-size: 1.9rem;
}

.flow-list .txt-area .section-title {
	font-size: 2.8rem;
}
.flow-list .txt-area .basic-txt {
	margin: 15px 0 0;
	line-height: 1.8;
}
.flow-list .txt-area .basic-txt .s {
	font-size: 1.4rem;
	display: block;
	margin: 10px 0 0;
	line-height: 1.6;
}
.flow-list .txt-area .time {
	color: var(--red);
	font-weight: 500;
	margin: 5px 0 10px;
	font-size: 1.4rem;
}

.flow-area .next-link{
	text-align: right;
}


/*フロー：コンタクト部*/
.flow-list .tel-area{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 30px 0 0;
}
.flow-list .tel-area .tel{
	font-size: 3rem;
	font-weight: 500;
	font-family: 'Lato';
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding: 0 0 0 40px;
}
.flow-list .tel-area .tel::before {
    content: "";
    display: inline-block;
    background: url("../img/icon-tel.svg") center/cover, no-repeat;
    width: 30px;
    height: 22px;
    position: absolute;
    left: 0;
	top: 6px;
}
.flow-list .tel-area .tel span{
	display: block;
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: 500;
	margin: 5px 0 0;
}

.flow-list .foot-contact-area  {
	width: 300px;
}
.flow-list .foot-contact-area.bot  {
	margin: 30px 0 0;
	width: 390px;
}

.flow-list .foot-contact-area .btn-area li {
	width: 100%;
}
.flow-list .foot-contact-area .btn-area li a{
	padding: 15px 10px 15px 30px;
	min-height: inherit;
	width: 100%;
	height: 100%;
}
.flow-list .foot-contact-area .btn-area li a{
	padding: 20px 10px 20px 30px;
	min-height: inherit;
	width: 100%;
	height: 100%;
}
.flow-list .foot-contact-area .btn-area li.repair a{
	/*
	padding: 20px 10px 20px 45px;]
	*/
	padding: 20px 10px 20px 30px;
}

.flow-list .foot-contact-area .btn-area .line .txt-area {
	width: calc(100% - 60px);
}
.flow-list .foot-contact-area .btn-area li a::after {
	background: url("../img/icon-arrow-black.svg") center/cover, no-repeat;
}

/*サブフロー*/
.flow-list .sub-list {
}
.flow-list .sub-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 30px 0 0;
}
.flow-list .sub-list li:first-child {
	margin: 20px 0 0;
}
.flow-list .sub-list li .thumb {
	width: 160px;
	order: 2;
}
.flow-list .sub-list li .thumb img {
	width: 100%;
}
.flow-list .sub-list li .basic-txt {
	width: calc(100% - 160px);
	margin: 0;
	padding: 0 30px 0 0;
	line-height: 1.8;
	order: 1;
}


@media screen and (max-width: 768px) {
	
	.flow-area{
		padding: 40px 20px;
		margin: 0 0 30px;
		/*
		background-size: 100% auto;
		*/
		background: #F3F4F5;
	}

	.flow-area .title-area{
		padding: 0 0 50px;
	}
	.flow-area .title-area .section-catch{
		margin: 0 0 15px;
	}

	/* list */
	.flow-list{
	}
	.flow-list::before{
		display: none;
	}
	.flow-list .list-item {
		padding: 30px 20px;
		margin: 0 0 40px;
	}

	.flow-list .txt-box {
		display: block;
	}

	.flow-list .num {
		position: absolute;
		width: 50px;
		height: 50px;
		left: -35px;
		top: -50px;
		font-size: 1rem;
	}
	.flow-list .num span {
		font-size: 2rem;
	}

	.flow-list .photo {
		width: 100%;
		margin: 0 auto 20px;
		text-align: center;
	}
	.flow-list .photo img,
	.flow-list .photo.full img{
		width: 150px;
		height: 150px;
		border-radius: 50%;
		min-height: inherit;
	}

	.flow-list .txt-area {
		width: auto;
		margin: 0;
	}
	.flow-list .txt-area .section-title {
		font-size: 2.2rem;
		text-align: center;
	}
	.flow-list .txt-area .basic-txt {
	}
	.flow-list .txt-area .time {
		margin: 5px 0 10px;
		text-align: center;
	}
	
	.flow-area .next-link{
		text-align: center;
		padding: 0;
	}
	
	
	/*フロー：コンタクト部*/
	.flow-list .tel-area{
		padding: 0;
		width: 100%;
		margin: 20px 0 20px;
		display: block;
		text-align: center;
	}
	.flow-list .tel-area .tel{
		font-size: 3rem;
	}
	.flow-list .tel-area .tel::before{
	}
	
	.flow-list .foot-contact-area  {
		width: 100%;
		margin: 20px 0 0;
	}
	.flow-list .foot-contact-area.bot  {
		margin: 25px 0 10px;
		width: 100%;
	}
	
	.flow-list .foot-contact-area .btn-area li {
		width: 100%;
		text-align: left;
		max-width: 300px;
	}
	.flow-list .foot-contact-area .btn-area li a,
	.flow-list .foot-contact-area .btn-area li.repair a{
		padding: 15px 20px;
		display: flex;
		/*
		justify-content: center;
		*/
	}
	.flow-list .foot-contact-area .btn-area .txt-area {
		/*
		width: calc(100% - 70px)!important;
		*/
		width: auto!important;
	}
	
	/*サブフロー*/
	.flow-list .sub-list {
	}
	.flow-list .sub-list li,
	.flow-list .sub-list li:first-child{
		align-items: flex-start;
		margin: 20px 0 0;
	}
	.flow-list .sub-list li .thumb {
		width: 100px;
		padding: 8px 0 0;
		order: 1;
	}
	.flow-list .sub-list li .thumb img {
		border-radius: 6px;
	}
	.flow-list .sub-list li .basic-txt {
		width: calc(100% - 100px);
		margin: 0;
		padding: 0 0 0 15px;
		line-height: 1.6;
		order: 2;
	}
	
	    
}



/* -----------------------------------------------------------
    流れトップ
-------------------------------------------------------------- */
.index .link-area{
	background: url("../img/bg-gray01.png") repeat left top;
	padding: 80px 0;
}
.index .link-area .inner{
	padding: 0 80px;
}
.index .link-area a{
}
.index .link-area .link-list{
	display: flex;
	justify-content: space-between;
}
.index .link-area .link-list li{
	width: calc((100% - 50px) / 2);
	position: relative;
}
.index .link-area .link-list li::after{
	display: inline-block;
	content: "";
	background: url("../img/icon-arrow-red.svg") no-repeat center center / cover;
	width: 40px;
	height: 7px;
	position: absolute;
	right: 20px;
	bottom: 25px;
	transition: all 0.3s ease-in-out;
	z-index: 2;
}
.index .link-area .link-list li a{
	width: 100%;
	height: 100%;
	display: block;
	font-weight: bold;
	position: relative;
}
.index .link-area .link-list li a:hover{
	color: var(--red);
}
.index .link-area .link-list li .thumb{
	overflow: hidden;
}
.index .link-area .link-list li .thumb img{
	width: 100%;
	height: 300px;
	object-fit: cover;
	transition-duration: 0.3s;
}

.index .link-area .link-list li:hover::after{
	right: 10px;
}
.index .link-area .link-list li:hover .thumb img{
	transform: scale(1.1);
	transition-duration: 0.3s;
}
.index .link-area .link-list li .txt-box{
	padding: 30px 20px 25px 0;
	line-height: 1.3;
}
.index .link-area .link-list li .txt-box .link-ttl{
	font-size: 2.8rem;
	font-weight: bold;
	transition: all 0.3s ease-in-out;
}
.index .link-area .link-list li .copy{
	font-size: 1.6rem;
	color: var(--red);
	font-weight: 600;
	transition-duration: 0.3s;
	line-height: 1.4;
	margin: 0 0 5px;
}



@media screen and (max-width: 768px){
	.index .link-area{
		padding: 50px 20px;
		background: #F3F4F5;
	}
	.index .link-area .inner{
		padding: 0;
	}
	
	.index .link-area .link-list{
		display: block;
	}
	.index .link-area .link-list li{
		display: block;
		width: 100%;
		margin: 0 0 25px;
		box-shadow: 0 5px 20px rgba(0,0,0,.1);
		background: #fff;
	}
	.index .link-area .link-list li:last-child{
		margin: 0;
	}
	.index .link-area .link-list li::after,
	.index .link-area .link-list li:hover::after{
		width: 40px;
		height: 7px;
		right: 10px;
		bottom: 10px;
	}
	.index .link-area .link-list li a{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.index .link-area .link-list li .thumb{
		overflow: inherit;
		width: 100px;
		line-height: 1;
	}
	.index .link-area .link-list li .thumb img{
		width: 100%;
		height: 110px;
		vertical-align: bottom;
	}
	.index .link-area .link-list li:hover .thumb img{
		transform: scale(1);
	}
	.index .link-area .link-list li .txt-box{
		padding: 16px 15px 16px 20px;
		width: calc(100% - 100px);
	}
	.index .link-area .link-list li .txt-box .link-ttl{
		font-size: 2.2rem;
	}
	.index .link-area .link-list li .copy{
		font-size: 1.4rem;
	}

	
}