@charset "UTF-8";


.em-text {
	font-size: var(--font-l);
	font-weight: 600;
	line-height: 1.8;
	background: linear-gradient(transparent 50%, rgb(247, 210, 18, .5) 0%);
	@media (min-width: 1000px) {
		font-size: var(--font-xl);
	}
}
/*
q_and_a
---------------------------*/
.q_and_a_content {
	margin: 20px 0 0;
	&+.q_and_a_content {
		margin-top: 30px;
	}
	.q_and_a_wrap {
		&+.q_and_a_wrap {
			padding-top: 20px;
		}
	}
	@media (min-width: 768px) {
		margin: 40px 0 0;
		&+.q_and_a_content {
			margin-top: 30px;
		}
		.q_and_a_wrap {
			&+.q_and_a_wrap {
				padding-top: 10px;
			}
		}
	}
}
.q_and_a {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	overflow: hidden;
	.icon {
		width: 60px;
		img{
			width: 100%;
			height: auto;
			border-radius: 50%;
		}
		&.imageType {
			aspect-ratio: 1;
			overflow: hidden;
			border-radius: 50px;
			img{
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}

	}
	&.vendor {
		.icon {
			order: 2;
		}
		.bubble {
			order: 1;
		}
		.bubbleInner {
			min-height: 70px;
			background: var(--color-primary-bg);
			&:after {
				content: "";
				position: absolute;
				top: 3px;
				left: auto;
				right: -19px;
				border: 8px solid transparent;
				border-left: 18px solid var(--color-primary-bg);
				-webkit-transform: rotate(-35deg);
				transform: rotate(-35deg);
			}
		}
	}
	&.supervisor {
		.bubbleInner {
			min-height: 70px;
			background: #EBF5EF;
			&:after {
				border-right: 18px solid var(--color-primary-bg);
			}
		}
	}
	.bubble {
		width: calc(100% - 80px);
		text-align: left;
	}
	.bubbleInner {
		display: inline-block;
		position: relative;
		width: 100%;
		font-size: var(--font-l);
		padding: 10px;
		border-radius: 12px;
		background: var(--color-primary-bg);
		&:after {
			content: "";
			display: inline-block;
			position: absolute;
			top: 20px;
			left: -19px;
			border: 8px solid transparent;
			border-right: 18px solid var(--color-primary-bg);
			-webkit-transform: rotate(35deg);
			transform: rotate(35deg);
		}
	}
	@media (min-width: 1000px) {
		align-items: center;
		.icon {
			width: 180px;
		}
		.bubble {
			width: calc(100% - 200px);
			text-align: left;
		}
		.bubbleInner {
			padding: 20px;
		}
	}
}

.flow-list {
	padding: 50px 0 30px;
	.flow-content {
		position: relative;
		background-color: var(--color-primary-bg);
		padding: 25px 15px 15px;
		border-radius: var(--radius03);
		&+.flow-content {
			margin-top: 30px;
		}
		.no {
			position: absolute;
			top: -20px;
			left: 0;
			right: 0;
			margin: auto;
			color: #fff;
			font-family: var(--accent-font);
			text-align: center;
			font-size: var(--font-5xl);
			span {
				position: relative;
				display: flex;
				justify-content: center;
				align-items: center;
				width: 40px;
				height: 40px;
				z-index: 1;
				margin: auto;
				&:before {
					content: "";
					display: block;
					width: 40px;
					height: 40px;
					background-color: var(--color-primary);
					border-radius: 50px;
					position: absolute;
					top: 0;
					bottom: 0;
					left: 0;
					right: 0;
					margin: auto;
					z-index: -1;
				}
			}
		}
		.arrow-style {
			text-align: center;
			&.left {
				text-align: left;
			}
			dt {
				position: relative;
				padding-bottom: 40px;
				margin-bottom: 5px;
				&:after {
					content: "";
					display: block;
					position: absolute;
					bottom: 0;
					left: 0;
					right: 0;
					margin: auto;
					background-image: url(../img/consult_support/arrow.svg);
					background-size: cover;
					width: 22px;
					height: 34px;
				}
			}
		}
		dt, dd {
			line-height: 1.6;
		}
		dt,
		.em {
			font-weight: 600;
			font-size: var(--font-l);
			padding-bottom: .5em;
			>* {
				font-weight: 600;
			}
		}
	}
	@media (min-width: 1000px) {
		display: flex;
		padding: 50px 0;
		&.column4 {
			.flow-content {
				width: calc((100% - 80px) / 4);
			}
		}
		&.column3 {
			flex-wrap: wrap;
			.flow-content {
				width: calc((100% - 60px) / 3);
				&:nth-of-type(n+4){
					margin-top: 50px;
				}
			}
		}
		.flow-content {
			width: calc((100% - 80px) / 5);
			padding: 45px 15px 30px;
			margin-right: 20px;
			.no {
				span,
				span:before {
					width: 50px;
					height: 50px;
				}
			}
			&:last-of-type {
				margin-right: 0;
			}
			&+.flow-content {
				margin-top: 0;
			}
		}
	}
}
.check_list {
	li {
		position: relative;
		padding-top: 30px;
		font-size: var(--font-l);
		line-height: 1.6;
		&:after {
			content: "";
			display: block;
			width: 100px;
			height: 28px;
			background-image: url(../img/consult_support/check-icon.svg);
			background-size: cover;
			position: absolute;
			top: 0;
			left: 0;
		}
		&+li {
			margin-top: 30px;
		}
	}
	@media (min-width: 1000px) {
		li {
			padding: 0 0 0 130px;
			&:after {
				width: 116px;
				height: 32px;
			}
			&+li {
				margin-top: 30px;
			}
		}
	}
}
.check-list-box {
	background-color: var(--color-primary-bg);
	box-shadow: var(--card-shadow);
	border-radius: var(--radius02);
	padding: 30px 4vw;
	border: 1px solid var(--color-primary);
	dl + dl {
		margin-top: 15px;
	}
	dt {
		font-weight: 600;
		line-height: 1.4;
		color: var(--color-primary);
		font-size: var(--font-xl);
		padding-bottom: .5em;
	}
	li {
		font-size: var(--font-l);
		line-height: 1.6;
		&+li {
			margin-top: 10px;
		}
	}
	.check {
		li {
			position: relative;
			padding-left: 30px;
			&:after {
				content: "";
				display: block;
				width: 22px;
				height: 22px;
				background-image: url(../img/consult_support/check-icon02.svg);
				background-size: cover;
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				margin: auto;
			}
		}
	}
	@media (min-width: 1000px) {
		padding: 40px 40px 30px;
		dl + dl {
			margin-top: 25px;
		}
		li {
			display: inline-block;
			margin: 0 10px 10px 0;
			&+li {
				margin-top: 0;
			}
		}
	}
}
.infomation-text {
	font-size: var(--font-l);
	font-weight: 600;
	padding-top: 2em;
	@media (min-width: 1000px) {
		text-align: center;
	}
}
.memo_box {
	position: relative;
	border: 1px solid var(--color-secondary);
	border-radius: var(--radius03);
	background-color: var(--color-primary-bg);
	&:before,
	&:after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
	}
	&:after {
		width: 29px;
		height: 42px;
		background-image: url(../img/consult_support/pin.svg);
		background-size: cover;
		top: -25px;
	}
	&:before {
		width: 40px;
		height: 10px;
		top: -1px;
		background-color: var(--color-primary-bg);
	}
	.illust {
		position: absolute;
		right: 20px;
		bottom: 0;
		width: 80px;
	}
	>div {
		padding: 20px 4vw 110px;
	}
	.read {
		font-weight: 600;
		font-size: var(--font-xl);
		padding-bottom: .5em;
	}
	p {
		font-size: var(--font-l);
		&+p {
			padding-top: .5em;
		}
	}
	@media (min-width: 1000px) {
		.illust {
			width: 160px;
		}
		>div {
			padding: 40px 200px 40px 40px;
		}
		.illust {
			right: 30px;
		}
	}
}
.support-detail {
	.support-box {
		background-color: var(--color-primary-bg);
		box-shadow: var(--card-shadow);
		border-radius: var(--radius02);
		padding: 20px 4vw;
		&+.support-box {
			margin-top: 30px;
		}
		&.illust {
			text-align: center;
			background-color: transparent;
			box-shadow: none;
			img {
				width: 50%;
			}
		}
	}
	.support-title {
		font-size: var(--font-xl);
		font-weight: 600;
		color: var(--color-primary);
		line-height: 1.6;
		padding-bottom: .5em;
	}
	p {
		font-size: var(--font-l);
	}
	.note {
		font-size: var(--font-s);
		padding-top: .5em;
	}
	@media (min-width: 1000px) {
		.support-box {
			padding: 30px;
			min-height: 340px;
			&+.support-box {
				margin-top: 0;
			}
			&:nth-of-type(3n) {
				margin-right: 0;
			}
			&:nth-of-type(n+4) {
				margin-top: 50px;
			}
			&.illust {
				img {
					width: auto;
				}
			}
		}
	}
}


/*
#voice
---------------------------*/
#voice {
	text-align: center;
	background-color: var(--color-primary-bg);
	border-radius: var(--radius01);
	padding: 40px 0;
	.voice-title {
		text-align: center;
		font-weight: 600;
		font-size: var(--font-4xl);
		line-height: 1.5;
		color: var(--color-primary);
		margin-bottom: 1em;
		&.bottom {
			font-size: var(--font-3xl);
			color: var(--color-secondary);
			margin-top: 1em;
			margin-bottom: 0;
		}
	}
	.voice-box {
		position: relative;
		background-color: #fff;
		text-align: center;
		box-shadow: var(--card-shadow);
		border-radius: var(--radius02);
		padding: 20px 4vw;
		.voice-box-title {
			text-align: center;
			color: var(--color-primary);
			font-weight: 600;
			font-size: var(--font-2xl);
			line-height: 1.5;
			padding-bottom: .5em
		}
		.image {
			margin: 10px 0;
		}
		p {
			text-align: left;
			font-size: var(--font-l);
		}
	}
	@media (min-width: 1000px) {
		padding: 80px 0;
		.voice-title {
			font-weight: 500;
			margin-bottom: 1.5em;
			&.bottom {
				margin-top: 2em;
			}
		}
		.voice-box {
			padding: 30px;
			.voice-box-title {
				font-weight: 500;
			}
			.image {
				margin: 20px 0;
			}
		}
	}
}

/*
#consultation
---------------------------*/
#consultation {
	text-align: center;
	.consultation-box {
		position: relative;
		background-color: var(--color-primary-bg);
		text-align: left;
		box-shadow: var(--card-shadow);
		border-radius: var(--radius02);
		border: 1px solid #fff;
		a {
			display: inline-block;
			padding: 20px 4vw;
			border-radius: var(--radius02);
			box-shadow: 0 0 0 1px transparent;
			transition: all 0.3s ease-out;
			&:hover {
				box-shadow: 0 0 0 1px var(--color-primary);
			}
		}
		dl {
			padding-bottom: 20px;
		}
		dt {
			color: var(--color-primary);
			font-weight: 500;
			font-size: var(--font-xl);
			line-height: 1.5;
			padding-bottom: .5em;
		}
		dd {
			line-height: 1.6;
		}
		&:hover {
			.minit {
				&:after {
					right: 12px;
				}
			}
		}
	}
	.supportmap-bnr {
		margin-top: 30px;
		border-radius: var(--radius02);
		box-shadow: var(--card-shadow);
		img {
			border-radius: var(--radius02);
			box-shadow: 0 0 0 1px transparent;
			transition: all 0.3s ease-out;
			&:hover {
				box-shadow: 0 0 0 1px var(--color-primary);
			}
		}
	}
	@media (min-width: 1000px) {
		.consultation-box {
			a {
				padding: 30px;
			}
			dt {
				font-size: var(--font-2xl);
			}
		}
		.supportmap-bnr {
			margin-top: 50px;
		}
	}
}