:root {
	--color-text: #666;
	--color-main-light: #f4ffff;
	--color-main-mid: #b0c4de;
	--color-main-dark: #1BAAB2;
}

.book-img {
	margin-top: 1em;
	margin-bottom: 1em;
	border: 1px solid var(--color-main-mid);
}

.intro {
	margin: 1em;
	font-size: 16px;
}

.intro a {
	color: var(--color-main-dark);
}

.intro a:visited {
	color: var(--color-main-dark);
}

.intro big {
	margin-top: 1em;
	margin-bottom: 2em;
}

.one-book {
	margin-bottom: 2em;
	border: 1px dotted var(--color-main-mid);
}

.head-img {
	margin-top: 2em;
	margin-bottom: 4em;
}

.main-div {
	max-width: 750px;
}

.intro2 {
	color: var(--color-text);
	margin: 50px auto;
	font-size: 16px;
	background: var(--color-main-light);
	padding: 50px 30px;
	position: relative;
}

.intro2::before, .intro2::after {
	content:'';
	width: 140px;
	height: 140px;
	position: absolute;
	display: inline-block;
}

.intro2::before {
	border-left: solid 1px var(--color-main-dark);
	border-top: solid 1px var(--color-main-dark);
	top:0;
	left: 0;
}

.intro2::after {
	border-right: solid 1px var(--color-main-dark);
	border-bottom: solid 1px var(--color-main-dark);
	bottom:0;
	right: 0;
}

.intro2 p:not(:last-child){
	margin-bottom: 28px;
}

mark.active{
	background-position: -100% .8em;
}

mark{
	background-image: -webkit-linear-gradient(to right,transparent 50%, var(--color-main-mid) 50%);
	background-image: -moz-linear-gradient(to right,transparent 50%,var(--color-main-mid) 50%);
	background-image: linear-gradient(to right,transparent 50%,var(--color-main-mid) 50%);
	background-color:initial;
	font-weight: 700;
	background-repeat: repeat-x;
	background-size: 200% .6em;
	background-position: 0 .7em;
	transition: all 1s ease;
	font-weight: 700;
	padding:0;
	padding-bottom: 7px;
}

.flow-title{
	font-size: 34px;
	font-weight: 700;
	position: relative;
	padding-left: 14px;
	margin-top: max(80px, min(6vw,100px));
	text-indent: -0.7em;
	margin-left: 0.7em;
	line-height: 1.4;
}
.flow-title::before{
	content: '';
	position: relative;
	border-left: 22px solid var(--color-main-dark);
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
	background: transparent;
	display: inline-block;
	left: -14px;
	top: 0px;
}

/* xsの時 */
@media screen and (max-width: 767px){
	.intro2 {
		font-size: 14px;
	}
	.intro2{
		margin: 40px auto;
		padding: 30px 20px;
	}
	.flow-title{
		font-size: 20px;
	}
	.flow-title::before{
		border-left: 14px solid var(--color-main-dark);
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
	}
	.book-img {
		max-height: 300px;
	}
}