@charset "UTF-8";

.courses__content {
	.courses__content--image {
		padding-top: 170px;
		margin-bottom: 20px;
	}
	p {
		&+p {
			margin-top: 1em
		}
	}
	.news {
		.button__box {
			padding-top: 20px;
		}
	}
	.courses__detail {
		dl {
			&+dl,
			&+p {
				padding-top: 15px;
			}
		}
		dt,
		.em {
			position: relative;
			line-height: 1.5;
			padding-left: 20px;
			margin-bottom: .5em;
			&:before {
				content: "";
				display: block;
				width: 12px;
				height: 12px;
				background-color: var(--color-secondary);
				border-radius: 50px;
				position: absolute;
				top: 6px;
				left: 0;
				margin: auto;
			}
		}
		dd {
			line-height: 1.5;
		}
		p {
			&+p {
				margin-top: .5em;
			}
		}
		.em {
			margin-bottom: 0;
		}
		ul {
			li {
				line-height: 1.5;
				padding-left: 1em;
				text-indent: -1em;
				&+li {
					padding-top: 5px;
				}
			}
		}
	}
	.problem__list {
		.problem__list--content {
			position: relative;
			background-color: #fff;
			padding: 45px 4vw 15px;
			border: 1px solid var(--color-border-2);
			&+.problem__list--content {
				margin-top: 15px;
			}
			.no {
				display: inline-block;
				position: absolute;
				top: 0;
				left: 0;
				background-color: var(--color-primary);
				color: #fff;
				font-family: var(--accent-font);
				padding: 6px 12px 4px;
				border-bottom-right-radius: 10px;
				>span {
					display: inline-block;
					font-size: 22px;
					font-weight: 600;
					padding-left: .25em;
				}
			}
			>div {
				display: flex;
				justify-content: space-between;
				>div {
					width: calc(100% - 120px);
					&+div {
						width: 100px;
					}
				}
			}
		}
	}
	.target {
		background-color: #fff;
		padding: 15px 4vw;
		>div {
			&+div {
				margin-top: 15px;
			}
		}
	}
	.dot__list {
		li {
			position: relative;
			line-height: 1.5;
			padding-left: 20px;
			&+li {
				margin-top: 10px;
			}
			&:before {
				content: "";
				display: block;
				width: 12px;
				height: 12px;
				background-color: var(--color-secondary);
				border-radius: 50px;
				position: absolute;
				top: 6px;
				left: 0;
				margin: auto;
			}
		}
	}
	.voice__list {
		>div {
			display: flex;
			justify-content: space-between;
			align-items: center;
			background-color: #fff;
			border-radius: 10px;
			padding: 15px 4vw;
			&+div {
				margin-top: 15px;
			}
			>div {
				width: calc(100% - 75px);
			}
			.icon {
				width: 60px;

			}
		}
	}
	@media (min-width: 768px) {
		.problem__list {
			display: flex;
			flex-wrap: wrap;
			.problem__list--content {
				width: calc((100% - 20px) / 2);
				padding: 60px 25px 25px;
				&:nth-of-type(even) {
					margin-left: 20px;
				}
				&+.problem__list--content {
					margin-top: 0;
				}
				&:nth-of-type(n+3) {
					margin-top: 20px;
				}
			}
		}
		.target {
			display: flex;
			padding: 20px;
			>div {
				width: 50%;
				&+div {
					margin-top: 0;
				}
			}
			ul {
				padding-right: 20px;
			}
		}
		.voice__list {
			>div {
				padding: 20px;
			}
		}
	}
	@media (min-width: 1120px) {
		.exams__content--image {
			margin-bottom: 40px;
		}
		.news {
			.button__box {
				padding-top: 30px;
			}
		}
		.problem__list--content {
			p {
				font-size: 18px;
			}
			.no {
				font-size: 18px;
				padding: 6px 20px 4px;
				>span {
					font-size: 24px;
					padding-left: .5em;
				}
			}
		}
		.target {
			padding: 30px;
			.dot__list {
				li {
					font-size: 18px;
					&:before {
						top: 10px;
					}
					&+li {
						margin-top: 20px;
					}
				}
			}
		}
		.voice__list {
			>div {
				display: flex;
				justify-content: space-between;
				align-items: center;
				padding: 30px;
				&+div {
					margin-top: 20px;
				}
				>div {
					width: calc(100% - 120px);
				}
				.icon {
					width: 100px;
					
				}
				&:nth-of-type(even) {
					.icon {
						order: 1;
						transform:rotateY(180deg);
					}
				}
			}
		}
	}
}

.problem__list--content > div,
.target {
    /* Flexboxで縦方向の揃え方を指定 */
    align-items: center;
}

.voice__list > div {
    /* こちらも念のため中央揃えを指定 */
    align-items: center;
}

@media (min-width: 1120px) {
    .target {
        align-items: center;
    }
}

