@charset "UTF-8";

#application #mainImg02 {
	.mainImg02__inner {
		background-image: url(../img/application/bg_sp.png);
	}
	@media screen and (min-width: 600px) {
		.mainImg02__inner {
			background-image: url(../img/application/bg_pc.png);
		}
	}
}

/* application-flow
----------------------------------*/
.application-flow {
	padding-block: 50px;
	background: url(../img/renovation/bg_open01_sp.jpg) repeat 0 0 / 210px 210px;
}
.application-flow-anchor {
	padding: 30px 20px;
	border-radius: 20px;
	background: #fff;
	margin-top: 20px;
	display: grid;
	gap: 40px;
	border: 4px solid #EBE8DF;
}
.application-flow-anchor__area-img {
	position: relative;
}
.application-flow-anchor__ico {
	position: absolute;
	bottom: -33px;
	right: -5px;
	width: 104px;
}
.application-flow-attention {
	padding: 20px;
	border-radius: 20px;
	background: #FFE8E4;
	margin-top: 20px;
}
.application-flow-attention__head {
	padding-left: 39px;
	font-size: 2rem;
	font-weight: 700;
	color: #BF1B00;
	margin-bottom: 10px;
	position: relative;
	&::before {
		position: absolute;
		content: "";
		width: 31px;
		height: 28px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		background: url(../img/common/ico_caution01.png) no-repeat 0 100%/cover;
	}
}
@media screen and (min-width: 600px) {
	.application-flow {
		padding-block: 90px 110px;
		/*margin-inline: 35px;
        padding-inline: 35px;*/
        background-image: url(../img/renovation/bg_open01_pc.jpg);
        background-size: auto;
	}
	.application-flow-anchor {
		padding: 60px;
		margin-top: 40px;
		grid-template-columns: 465fr 455fr;
		gap: 60px;
	}
	.application-flow-anchor__area-img {
		order: 2;
	}
	.application-flow-anchor__ico {
		width: 216px;
		height: 135px;
		bottom: -40px;
		right: -40px;
	}
	.application-flow-attention {
		margin-top: 40px;
		padding: 30px 40px;
	}
	.application-flow-attention__head {
		font-size: 2.1rem;
	}
}

/* c-anchor01
----------------------------------*/
.c-anchor01 {
	display: grid;
	gap: 5px;
}
.c-anchor01__item {
	&:last-child {
		.c-anchor01__link {
			border-bottom: none;
		}
	}
}
.c-anchor01__link {
	display: grid;
	align-items: center;
	grid-template-columns: 30px 1fr 25px;
	gap: 10px;
	padding: 10px 0;
	border-bottom: dotted 1px #BDBAB3;
	font-size: 2rem;
	line-height: 1.6;
	font-weight: 700;
	.is-num {
		font-family: Poppins;
		display: grid;
		place-items: center;
		height: 30px;
		font-size: 1.6rem;
		background: #FF9600;
		border-radius: 50%;
		color: #fff;
	}
	.is-arw {
		display: grid;
		place-items: center;
		height: 25px;
		background: #4E4238;
		border-radius: 50%;
		position: relative;
		&::after {
			position: absolute;
			content: "";
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			background: #fff;
			height: 5px;
			width: 8px;
			clip-path: polygon(0 0, 100% 0, 50% 100%);
		}
	}
}
@media screen and (min-width: 600px) {
	.c-anchor01 {
		gap: 0;
	}
	.c-anchor01__link {
		padding: 15px 0;
		grid-template-columns: 40px 1fr 25px;
		gap: 15px;
		font-size: 2.1rem;
		.is-num {
			height: 40px;
			font-size: 1.8rem;
			line-height: 40px;
		}
	}
}

/* application-sec
----------------------------------*/
.application-sec {
	padding-block: 50px;
	&.bg-yellow {
		padding-block: 100px 70px;
		background: #F8EACF;
		clip-path: polygon(100% 0, 100% calc(100% - 45px), 50% 100%, 0% calc(100% - 45px), 0 0, 50% 45px);
	}
}
.application-sec__wrap {
	position: relative;
	&::before {
		position: absolute;
		content: "";
		width: 14px;
		height: 80px;
		top: -40px;
		left: 50%;
		transform: translateX(-50%);
		background: url(../img/application/line_dot01_sp.png) no-repeat 0 100%/cover;
		z-index: 2;
	}
	&.has-line-bottom {
		&::after {
			position: absolute;
			content: "";
			width: 14px;
			height: 480px;
			bottom: -20px;
			left: 30px;
			transform: translateX(0);
			background: url(../img/application/line_dot02_sp.png) no-repeat 0 100%/cover;
		}
	}
	&.no-line {
		&::before {
			display: none;
		}
	}
}
.application-sec__wrap:has(.bg-yellow) {
	&::before {
		top: 0;
	}
}
.application-sec__lead {
	font-size: 1.6rem;
	&+& {
		margin-top: 15px;
	}
}
.application-sec__head {
	padding-bottom: 15px;
	border-bottom: solid 1px #BDBAB3;
	margin-bottom: 15px;
	font-size: 3.6rem;
	line-height: 1.6;
	.is-txt {
		display: grid;
		grid-template-columns: 40px 1fr;
		align-items: center;
		gap: 10px;
	}
	.is-num {
		font-family: Poppins;
		display: grid;
		place-items: center;
		height: 40px;
		font-size: 1.8rem;
		background: #FF9600;
		border-radius: 50%;
		color: #fff;
	}
}
.application-sec__content {
	display: grid;
	.application-sec__img {
		margin-bottom: 20px;
	}
}
@media screen and (min-width: 600px) {
	.application-sec {
		padding-block: 110px 60px;
		&.bg-yellow {
			margin-inline: 35px;
			padding-inline: 35px;
			padding-block: 250px 210px;
			clip-path: polygon(100% 0, 100% calc(100% - 150px), 50% 100%, 0% calc(100% - 150px), 0 0, 50% 150px);
		}
	}
	.application-sec__wrap {
		position: relative;
		&::before {
			width: 14px;
			height: 119px;
			top: -60px;
			background: url(../img/application/line_dot01_pc.png) no-repeat 0 100%/cover;
		}
		&.has-line-bottom {
			&::after {
				width: 14px;
				height: 615px;
				bottom: -60px;
				left: 50%;
				transform: translateX(-50%);
				margin-left: -460px;
				background-image: url(../img/application/line_dot02_pc.png);
			}
		}
	}
	.application-sec__wrap:has(.bg-yellow) {
		&::before {
			top: 90px;
		}
	}
	.application-sec__lead {
		font-size: 1.7rem;
		&+& {
			margin-top: 30px;
		}
	}
	.application-sec__head {
		font-size: 3.8rem;
		margin-bottom: 40px;
		.is-txt {
			width: fit-content;
			margin: 0 auto;
			grid-template-columns: 53px 1fr;
			gap: 20px;
		}
		.is-num {
			font-size: 2.2rem;
			height: 53px;
			line-height: 53px;
		}
	}
	.application-sec__content {
		grid-template-columns: 595fr 465fr;
		gap: 0 40px;
		.application-sec__head {
			grid-column: 1/3;
		}
		.application-sec__img {
			grid-column: 2/3;
			grid-row: 2/3;
			margin-bottom: 20px;
		}
	}
}

/* application-sec-list
----------------------------------*/
.application-sec-list {
	padding: 20px;
	background: #fff;
	margin-top: 20px;
	display: grid;
	gap: 20px;
	border-radius: 20px;
}
.application-sec-list__item {
	padding-bottom: 20px;
}
.application-sec-list__head {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 5px;
}
@media screen and (max-width: 599px) {
	.application-sec-list__item {
		display: grid;
		grid-template-columns: 60px 1fr;
		gap: 30px;
		border-bottom: dotted 1px #BDBAB3;
	}
}
@media screen and (min-width: 600px) {
	.application-sec-list {
		margin-top: 40px;
		grid-template-columns: repeat(3, 1fr);
		gap: 5px 0;
		padding: 50px 20px 40px;
	}
	.application-sec-list__item {
		padding: 0 30px 40px;
		border-right: dotted 1px #BDBAB3;
		&:nth-child(3n) {
			border-right: none;
		}
		&:nth-child(n+4) {
			padding-top: 30px;
			position: relative;
			&::before {
				position: absolute;
				content: "";
				top: 0;
				left: 50%;
				transform: translateX(-50%);
				width: calc(100% - 60px);
				height: 1px;
				border-top: dotted 1px #BDBAB3;
			}
		}
	}
	.application-sec-list__ico {
		width: 91px;
		margin: 0 auto 25px;
	}
	.application-sec-list__head {
		font-size: 2.2rem;
		text-align: center;
	}
}

/* application-discussion
----------------------------------*/
.application-discussion-detail {
	padding: 30px 20px;
	border-radius: 20px;
	background: #fff;
	margin-top: 20px;
	display: grid;
	gap: 25px;
}
.application-discussion-detail__head {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	color: #fff;
	background: #41AA50;
	padding: 5px;
	border-radius: 10px;
	margin-bottom: 15px;
}
.application-discussion-detail__content {
	display: grid;
	gap: 10px;
}
.application-discussion-detail__sub {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 5px;
}
.application-discussion-detail__box {
	margin-top: 10px;
	padding: 15px 10px;
	border-radius: 10px;
	background: #FAF6EC;
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 10px;
	align-items: center;
}
.application-discussion-detail__box-head {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
}
.application-discussion-detail__box-txt {
	grid-column: 1/3;
	line-height: 1.6;
}
@media screen and (min-width: 600px) {
	.application-discussion-detail {
		padding: 50px;
		margin-top: 40px;
		gap: 60px;
	}
	.application-discussion-detail__head {
		font-size: 2.1rem;
		margin-bottom: 30px;
	}
	.application-discussion-detail__content {
		grid-template-columns: 495fr 465fr;
		gap: 40px;
	}
	.application-discussion-detail__img {
		order: 2;
	}
	.application-discussion-detail__sub {
		font-size: 2.7rem;
		margin-bottom: 10px;
	}
	.application-discussion-detail__box {
		margin-top: 25px;
		padding: 25px 20px;
		grid-template-columns: 100px 1fr;
	}
	.application-discussion-detail__box-ico {
		grid-row: 1/3;
	}
	.application-discussion-detail__box-txt {
		grid-column: 2/3;
	}
}

.application-discussion-other {
	margin-top: 66px;
	position: relative;
	padding: 20px;
	border-radius: 20px;
	background: rgba(255, 150, 0, 0.20);
	display: grid;
	gap: 10px;
}
.application-discussion-other::before {
	position: absolute;
	content: "";
	top: -45px;
	left: 50%;
	transform: translateX(-50%);
	background: #FF9600;
	width: 52px;
	height: 26px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.application-discussion-other__txt {
	font-weight: 700;
	line-height: 1.6;
	font-size: 1.6rem;
}
.application-discussion-other__txt + .application-discussion-other__txt {
	margin-top: 10px;
}
@media screen and (max-width: 599px) {
	.application-discussion-other__area-img {
		width: 146px;
		margin: 0 auto;
	}
}
@media screen and (min-width: 600px) {
	.application-discussion-other {
		margin-top: 106px;
		padding: 40px;
		grid-template-columns: 245px 1fr;
		gap: 30px;
		align-items: center;
	}
	.application-discussion-other::before {
		top: -66px;
	}
	.application-discussion-other__area-txt {
		order: 2;
	}
	.application-discussion-other__txt {
		font-size: 1.7rem;
	}
}

/* application-procedure
----------------------------------*/
.application-procedure-list {
	display: grid;
	gap: 20px;
	margin-top: 20px;
	position: relative;
	z-index: 2;
}
.application-procedure-list__item {
	padding: 20px 20px 30px;
	border-radius: 20px;
	background: #fff;
	display: grid;
	gap: 10px;
	position: relative;
}
.application-procedure-list__item:last-child::before {
	display: none;
}
.application-procedure-list__item::before {
	position: absolute;
	content: "";
	bottom: -13px;
	left: 50%;
	transform: translateX(-50%);
	background: #41AA50;
	width: 52px;
	height: 26px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.application-procedure-list__item.is-small {
	margin-left: 50px;
}
.application-procedure-list__head {
	font-size: 2.7rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 10px;
}
.application-procedure-list__box {
	padding: 14px 20px;
	background: #F7F4EB;
	border-radius: 10px;
	margin-top: 15px;
}
.application-procedure-list__box-txt {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
}
@media screen and (min-width: 600px) {
	.application-procedure-list {
		margin-top: 40px;
		gap: 40px;
	}
	.application-procedure-list__item {
		padding: 40px;
		grid-template-columns: 1fr 345px;
		gap: 50px;
	}
	.application-procedure-list__item.is-small {
		margin-left: 150px;
	}
	.application-procedure-list__img {
		order: 2;
	}
	.application-procedure-list__area-txt {
		display: grid;
		grid-template-rows: auto 1fr auto;
	}
	.application-procedure-list__head {
		margin-bottom: 20px;
	}
}

.application-staff {
	@media screen and (min-width: 600px) {
		padding-bottom: 110px;
	}
}

/* application-last
----------------------------------*/
.application-last {
	padding-block: 90px 60px;
	background: url(../img/application/bg_dot01.png) repeat;
	background-size: 35px 35px;
}
.application-last__head {
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 20px;
	position: relative;
	&::before {
		position: absolute;
		content: "";
		width: 104px;
		height: 34px;
		top: -40px;
		left: 50%;
		transform: translateX(-50%);
		background: url(../img/application/ico_last01.png) no-repeat 0 100%/cover;
	}
}
.application-last__content {
	display: grid;
	gap: 20px;
}
.application-last__txt {
	line-height: 2;
}
.application-last__txt + .application-last__txt {
	margin-top: 20px;
}
@media screen and (max-width: 599px) {
	.application-last__img {
		width: 128px;
		margin: 0 auto;
	}
}
@media screen and (min-width: 600px) {
	.application-last {
		padding-block: 110px 100px;
	}
	.application-last__content {
		grid-template-columns: 1fr 275px;
		gap: 75px;
		align-items: center;
	}
	.application-last__head {
		font-size: 3.2rem;
		margin-bottom: 30px;
		text-align: left;
		&::before {
			width: 104px;
			height: 34px;
			top: -30px;
			left: -55px;
			transform: translateX(0) rotate(-25deg) scale(1.4);
		}
	}
	.application-last__txt {
		font-size: 2rem;
	}
}