@charset "UTF-8";

/*
#topMainVisual
---------------------------*/
#topMainVisual {
	text-align: center;
	padding: 20px 20px 0;
	img {
		max-width: inherit;
		width: 100%;
	}
	@media (min-width: 1000px) {
		padding: 40px 40px 0;
	}
	@media (max-width: 330px) {

	}
}

.contentBox {
	text-align: left;
	padding-bottom: 40px;
	.emText {
		font-weight: 500;
		font-size: var(--font-l);
		&.spaceType {
			margin-bottom: 15px;
		}
	}
	.small-emText {
		font-weight: 550;
	}
	.no {
		position: relative;
		padding-left: 26px;
		margin-bottom: 1em;
		&:after {
			content: "";
			display: block;
			width: 20px;
			height: 20px;
			position: absolute;
			top: 4px;
			left: 0;
			background-image: url(../img/top/icon-no01.svg);
			background-size: cover;
		}
		&.no02 {
			&:after {
				background-image: url(../img/top/icon-no02.svg);
			}
		}
	}
	.definition {
		&+.definition {
			padding-top: 15px;
		}
		dt {
			position: relative;
			line-height: 1.5;
			padding-left: 20px;
			margin-bottom: .5em;
			&:after {
				content: "";
				display: block;
				width: 14px;
				height: 14px;
				position: absolute;
				top: 5px;
				left: 0;
				background-color: var(--color-primary);
				border-radius: 50px;
			}
		}
	}
	.definitionList {
		li {
			line-height: 1.6;
			&+li {
				padding-top: 4px;
			}
			&.ind {
				padding-left: 1.65em;
				text-indent: -1.65em;
			}
		}
	}
	@media (min-width: 768px) {
		padding-bottom: 100px;
		.emText {
			&.spaceType {
				margin-bottom: 20px;
			}
		}
		.no {
			padding-left: 30px;
			&:after {
				top: 4px;
				width: 24px;
				height: 24px;
			}
		}
		.definition {
			&+.definition {
				padding-top: 15px;
			}
			dt {
				line-height: 1.5;
				padding-left: 20px;
				margin-bottom: .5em;
				padding-left: 24px;
				&:after {
					width: 16px;
					height: 16px;
					top: 7px;
				}
			}
		}
		.definitionList {
			li {
				line-height: 1.8;
			}
		}
	}
}
.contentBgBox {
	background-color: var(--color-primary-bg);
	padding: 15px 4vw;
	border-radius: var(--radius01);
	&+.contentBgBox {
		margin-top: 30px;
	}
	.note {
		padding-top: 1em;
	}
	@media (min-width: 768px) {
		padding: 45px 50px;
		&+.contentBgBox {
			margin-top: 50px;
		}
	}
	.mt10 {
		margin-top: 10px;
	}
}
.detailBox {
	&+.detailBox {
		margin-top: 30px;
	}
	.detailTitle {
		color: #fff;
		font-weight: 600;
		font-size: var(--font-2xl);
		background-color: var(--color-secondary);
		padding: 12px 3vw;
		border-top-left-radius: var(--radius02);
		border-top-right-radius: var(--radius02);
		h4 {
			display: flex;
			align-items: center;
		}
		span {
			display: inline-block;
			font-weight: 600;
			line-height: 1.2;
			padding-left: 5px;
		}
		.circle {
			margin-bottom: 0;
			&:before {
				border: 5px solid #fff;
			}
		}
	}
	.detailBoxInner {
		background-color: #fff;
		border-bottom-left-radius: var(--radius02);
		border-bottom-right-radius: var(--radius02);
		padding: 15px 4vw;
	}
	.innerBox {
		&+.innerBox {
			padding-top: 15px;
			margin-top: 15px;
			border-top: 1px solid var(--color-border-1);
		}
	}
	p {
		line-height: 1.6;
		&+p {
			padding-top: 1em;
		}
		.em {
			font-weight: 600;
		}
	}
	.btnWrap {
		padding-top: 15px;
	}
	.btnWrap .btn .sp-only {
		display: none;
	}
	@media screen and (max-width: 1000px) {
		.btnWrap .btn .sp-only {
			display: inline;
		}
	}
	@media (min-width: 1000px) {
		&+.detailBox {
			margin-top: 40px;
		}
		.detailTitle {
			padding: 15px;
		}
		.detailBoxInner {
			padding: 30px;
		}
		.innerBox {
			&+.innerBox {
				padding-top: 20px;
				margin-top: 20px;
			}
		}
		.btnWrap {
			padding-top: 20px;
		}
		p {
			line-height: 1.8;
		}
	}
}
.scheduleList {
	background-color: #fff;
	padding: 5px 2vw;
	border-radius: var(--radius02);
	li {
		padding: 15px 10px;
		&+li {
			border-top: 1px solid var(--color-border-1);
		}
	}
	dl {
		dt, dd {
			font-size: var(--font-l);
			line-height: 1.6;
		}
		dt {
			position: relative;
			color: var(--color-primary);
			font-weight: 600;
			padding-left: 20px;
			margin-bottom: 10px;
			&:before {
				content: "";
				display: block;
				width: 16px;
				height: 16px;
				border: 5px solid var(--color-primary);
				position: absolute;
				top: 6px;
				left: 0;
				margin: auto;
				border-radius: 50px;
			}

		}
	}
	@media (min-width: 1000px) {
		padding: 20px 50px;
		li {
			padding: 20px;
		}
		dl {
			display: flex;
			align-items: center;
			dt, dd {
				font-size: var(--font-xl);
				line-height: 1.8;
			}
			dt {
				min-width: 200px;
				margin-bottom: 0;
				&:before {
					top: 12px;
				}
			}
		}
	}
}
.iconBtnWrap {
	max-width: 1028px;
	margin: auto;
	padding-top: 20px;
	@media (min-width: 1000px) {
		padding-top: 30px;
	}
}
.iconBtn {
	position: relative;
	background: var(--color-primary);
	color: #fff;
	padding: 10px;
	border-radius: var(--radius02);
	overflow: hidden;
	margin-bottom: 15px;
	box-shadow: 5px 5px 0px 0px #fff;
	&.type02 {
		background: var(--color-secondary);
	}
	a {
		display: block;
		position: relative;
		font-size: var(--font-l);
		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 10px;
			margin: auto;
			width: 12px;
			height: 12px;
			background-image: url(../img/common/btn-arrow.svg);
			background-size: cover;
			transition: all 0.3s ease-out;
		}
		&:hover {
			&:after {
				right: 5px;
			}
		}
	}
	.iconBtnInner {
		display: flex;
		align-items: center;
		.image {
			width: 90px;
			border-radius: var(--radius02);
			img {
				border-radius: 5px;
			}
		}
		.text {
			width: calc(100% - 110px);
			padding-left: 10px;
			p {
				font-weight: 500;
				* {
					font-weight: 500;
				}
			}
		}
	}
	@media (min-width: 1000px) {
		margin-bottom: 20px;
		.iconBtnInner {
			.image {
				width: 133px;
			}
			.text {
				width: calc(100% - 133px);
				padding-left: 20px;
			}
		}
	}
}
/*
電子申請の方はこちらdisabled
*/
.iconBtn.disabled {
	position: relative;
	background: #c5d7a6;
	color: #4e553c;
	padding: 10px;
	border-radius: var(--radius02);
	overflow: hidden;
	box-shadow: 5px 5px 0px 0px #fff;
	opacity: 0.7;
	filter: grayscale(40%);
	pointer-events: none;
}
.iconBtn.disabled::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.1);
}
.iconBtn.disabled .preparation {
	display: inline-block;
	font-size: 12px;
	white-space: nowrap;
	color: #fff;
	background-color: var(--color-primary);
	padding: 4px 12px;
	border-radius: 50px;
}.iconBtn.disabled .mover02 {
	color: #4e553c;
}
/*
.titleBlock
---------------------------*/
.titleBlock {
	position: relative;
	text-align: left;
	margin-top: 45px;
	margin-bottom: 25px;
	.titleBlockInner {
		background-color: var(--color-primary);
		padding: 15px 4%;
	}
	.title {
		line-height: 1.8;
		font-size: 22px;
		font-weight: 600;
		color: #fff;
	}
	@media (min-width: 1000px) {
		margin-bottom: 25px;
		.speechBlockInner {
			padding: 30px;
		}
	}
}
/*
.notice
---------------------------*/
.notice {
	margin-top: 20px;
	font-size: var(--font-l);
	@media (min-width: 1000px) {
		margin-top: 40px;
	}
}
.btnWrap.faq {
	margin-top: 10px;
	@media (min-width: 1000px) {
		margin-top: 30px;
	}
}