/* ----------------------------------------
特集 > 高校生もおトク！「学割8」の対象に！ 2024.04
gakuwari8.css
ver.1.0.0
---------------------------------------- */

/* reset */
.single #content .mainText h2,
.single #content .mainText h3,
.single #content .mainText h4,
.single #content .mainText h5 {
	background: 0 0;
	border: none;
	color: inherit;
	line-height: 1;
	margin: 0;
	padding: 0;
}

.single #content .mainText ol li:before,
.single #content .mainText ul li:before {
	content: none;
}

.single #content .mainText img {
	margin-top: 0;
	margin-bottom: 0;
}

.single #content .mainText .item {
	float: none;
}

/*
 * ======================================
 * PC
 * ======================================
 */

/* section */
.single #content .mainText .section {
	margin: 10% 0 0 0;
}

.single #content .mainText .section+.section {
	margin-top: 15%;
}

/* block */
.single #content .mainText .block {
	margin-top: 10%;
}

/* flex */
.single #content .mainText .flex {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.single #content .mainText .flex .item {
	width: 68%;
}

.single #content .mainText .flex .item:has(img) {
	width: 28%;
}

/* heading */
.single #content .mainText h2 {
	font-size: 37px;
	line-height: 1.5;
	margin: 0 0 5%;
}

.single #content .mainText h3 {
	font-size: 30px;
	line-height: 1.5;
	margin: 0 0 5%;
}
.single #content .mainText h5 {
	font-size: 15px;
	line-height: 1.5;
	margin: 0;
}

.single #content .mainText .blue {
	color: #5987D4;
}
.single #content .mainText .green {
	color: #6DB900;
}

.single #content .mainText .marker {
	background: linear-gradient(transparent 65%, #FFF76F 65%);
	display: table;
	margin: 0 auto;
}

/* paragraph */
.single #content .mainText p {
	font-size: 18px;
	line-height: 1.8;
	padding: 0 0.2em;
	text-align: justify;
}

/* image */
.single #content .mainText .image {
	margin: 0 0 4%;
}

/* button */
.single #content .mainText .button {
	margin: 8% auto 0;
	width: 350px;
}

.single #content .mainText .balloon p {
	display: table;
	font-weight: bold;
	margin: 0 auto 0.7em;
	padding: 0 30px;
	position: relative;
	text-align: center;
}

.single #content .mainText .balloon p:after,
.single #content .mainText .balloon p:before {
	background-color: #000;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	width: 1px;
}

.single #content .mainText .balloon p:before {
	left: 0;
	transform: rotate(-30deg);
}

.single #content .mainText .balloon p:after {
	right: 0;
	transform: rotate(30deg);
}

.single #content .mainText .button a {
	background-color: #fff;
	border: 2px solid #000;
	border-radius: 50px;
	box-shadow: 3px 3px 0 0 #000;
	display: block;
	font-size: 18px;
	line-height: 1.5;
	padding: 0.9em 1.33em;
	position: relative;
	text-align: center;
	width: 100%;
}

.single #content .mainText .button a:hover {
	color: #333333;
}

.single #content .mainText .button.color01 a {
	background-color: #9FC71A;
}

.single #content .mainText .button.color02 a {
	background-color: #FFF76F;
}

.single #content .mainText .button.color03 a {
	background-color: #000;
	color: #C4FF6F;

}

.single #content .mainText .button a::after {
	border-right: 1px solid #C4FF6F;
	border-bottom: 1px solid #C4FF6F;
	content: '';
	display: inline-block;
	height: 12px;
	margin-top: -6px;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: rotate(-45deg);
	width: 12px;
}

/* detail */
.single #content .mainText .detail figcaption {
	border: 1px solid #231815;
	font-size: 28px;
	line-height: 1.5;
	margin: 0 0 5%;
	padding: 0.22em 1em;
	text-align: center;
}

.single #content .mainText .detail ul li {
	font-weight: normal;
}

.single #content .mainText .detail ul li::before {
	color: inherit;
	content: '■';
	font-size: 1em;
	margin: 0;
	vertical-align: middle;
}

.single #content .mainText .detail ul li span {
	font-size: 0.83em;
}

/*
 * ======================================
 * SP
 * ======================================
 */

@media screen and (max-width: 767px) {

	/* flex */
	.single #content .mainText .flex .item,
	.single #content .mainText .flex .item:has(img) {
		width: 48%;
	}

	/* heading */
	.single #content .mainText h2 {
		font-size: 25px;
	}
	.single #content .mainText h2 br{
		display: none;
	}
	.single #content .mainText h3 {
		font-size: 20px;
	}

	/* paragraph */
	.single #content .mainText p {
		font-size: 15px;
		line-height: 2;
	}

	/* button */
	.single #content .mainText .button {
		max-width: 280px;
		width: 100%;
	}

	.single #content .mainText .button p {
		font-size: 15px;
	}

	.single #content .mainText .button a {
		font-size: 15px;
		padding: 0.6em 1.33em;
	}

	.single #content .mainText .button a::after {
		height: 8px;
		margin-top: -4px;
		right: 12px;
		width: 8px;
	}

	.single #content .mainText .detail figcaption {
		font-size: 20px;
	}
}