@charset "UTF-8";

:root {
	--color-primary: #111D59;
	--color-secondary: #54A6F2;
	--color-accent: #C09F46;
	--color-text: #1a1a1a;
	--color-primary-bg: #f5f7fb;
	--color-border-1: #dcdcdc;
	--color-border-2: #eee;
	--color-neutral: #eee;

	--fontSize: 16px;
	--font-3xs: calc(var(--fontSize) * 0.6875);/* 11px */
	--font-2xs: calc(var(--fontSize) * 0.75);/* 12px */
	--font-xs: calc(var(--fontSize) * 0.875);/* 14px */
	--font-s: calc(var(--fontSize) * 0.9375);/* 15px */
	--font-m: calc(var(--fontSize) * 1);
	--font-l: calc(var(--fontSize) * 1.125);/* 18px */
	--font-xl: calc(var(--fontSize) * 1.375);/* 22px */
	--font-2xl: calc(var(--fontSize) * 1.728);/* 24px */
	--font-3xl: calc(var(--fontSize) * 2.125);/* 34px */
	--primary-font: "Noto Sans JP", sans-serif;
	--accent-font: "Quattrocento Sans", sans-serif;
}

body {
	position: relative;
	background-color: var(--color-primary-bg);
	font-size: var(--font-xs);
	font-family: var(--primary-font);
	line-height: 1.75;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	@media (min-width: 1120px) {
		font-size: var(--font-m);
	}
	@media (max-width: 330px) {
		font-size: var(--font-2xs);
	}
}
p {
	line-height: 1.75;
}
a {
	color: inherit;
}
strong {
	font-weight: 600;
}
.ib {
	display: inline-block;
}
.pc,
.pc-ib {
	display: none;
}
.sp {
	display: block;
}
.sp-ib {
	display: inline-block;
}
.mover {
	transition: opacity 0.2s ease-out;
}
.mover:hover {
	opacity: 0.8;
}
.inner,
.inner__min {
	padding: 0 4vw;
}
.inner {
	.inner__min {
		padding: 0;
	}
}
.content__wrap {
	padding: 41px 0 40px;
}
@media (min-width: 1120px) {
	.inner {
		width: 90%;
		max-width: 1240px;
		margin: auto;
		padding: 0;
	}
	.inner__min {
		width: 90%;
		max-width: 1020px;
		margin: auto;
		padding: 0;
	}
	.pc {
		display: block;
	}
	.pc-ib {
		display: inline-block;
	}
	.sp,
	.sp-ib {
		display: none;
	}
	.content__wrap {
		padding: 41px 0 160px;
	}
}

.link__text--box {
	padding-top: 40px;
	p {
		&+p {
			margin-top: 1em;
		}
	}
	@media (min-width: 1120px) {
		padding-top: 80px;
	}
}
.link__text {
	position: relative;
	line-height: 1.5;
	display: inline-block;
	text-decoration: none;
	padding-left: 30px;
	&.line {
		text-decoration: underline;
	}
	&:before,
	&:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	&:before {
		width: 24px;
		height: 24px;
		border-radius: 50px;
		border: 1px solid var(--color-border-1);
		background-color: #fff;
		left: 0;
	}
	&:after {
		left: 7px;
		width: 6px;
		height: 6px;
		border: 0px;
		border-top: solid 1px var(--color-primary);
		border-right: solid 1px var(--color-primary);
		transform: rotate(45deg);
		z-index: 1;
	}
	&.right {
		padding-right: 30px;
		&:before {
			left: auto;
			right: 0;
		}
		&:after {
			left: auto;
			right: 0;
		}
	}
	&.bottom {
		text-decoration: underline;
		&:after {
			left: 9px;
			transform: rotate(135deg);
		}
	}
	&.white {
		&:before {
			background-color: transparent;
		}
		&:after {
			border-top: solid 1px #fff;
			border-right: solid 1px #fff;
		}
	}
}
.link__text--pdf {
	line-height: 1.5;
	display: inline-block;
	text-decoration: none;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--color-primary);
	span {
		position: relative;
		padding-right: 3em;
		&:before,
		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto;
		}
		&:before {
			width: 24px;
			height: 24px;
			border-radius: 50px;
			border: 1px solid var(--color-border-1);
			background-color: #fff;
			right: 0;
		}
		&:after {
			right: 10px;
			width: 6px;
			height: 6px;
			border: 0px;
			border-top: solid 1px var(--color-primary);
			border-right: solid 1px var(--color-primary);
			transform: rotate(45deg);
			z-index: 1;
		}
	}
	a {
		text-decoration: none;
		padding-left: 25px;
		&:before {
			content: "";
			display: block;
			background-image: url(../img/common/icon-pdf-red.svg);
			background-size: cover;
			width: 18px;
			height: 18px;
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			border: none;
			transform: none;
			margin: auto;
		}
	}
}
.content__title {
	&+.button__box {
		padding-top: 20px;
	}
}
.button__box {
	text-align: center;
	@media (min-width: 1120px) {
		&.pcright {
			text-align: right;
			.button {
				a {
					text-align: left;
					padding: 15px 20px;
				}
			}
		}
	}
}
/*
.button
---------------------------*/
.button {
	position: relative;
	display: inline-block;
	line-height: 1.4;
	width: 80%;
	max-width: 320px;
	padding: 0;
	transition: all 0.3s ease-out;
	zoom: 1;
	&:before,
	&:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		pointer-events: none;
	}
	&:before {
		width: 24px;
		height: 24px;
		border-radius: 50px;
		background-color: #fff;
		border: 1px solid var(--color-border-1);
		right: 18px;
		z-index: 2;
	}
	&:after {
		right: 28px;
		width: 6px;
		height: 6px;
		border: 0px;
		border-top: solid 1px var(--color-primary);
		border-right: solid 1px var(--color-primary);
		transform: rotate(45deg);
		z-index: 1;
		z-index: 3;
	}
	a, button, input {
		display: block;
		width: 100%;
		background-color: var(--color-primary);
		border: 1px solid var(--color-primary);
		color: #fff;
		font-size: var(--font-xs);
		line-height: 2;
		text-align: center;
		border-radius: 50px;
		text-decoration: none;
		padding: 12px 8px;
		cursor: pointer;
		&:hover {
			background-color: #fff;
			color: var(--color-primary);
		}
	}
	&.white {
		a, button, input {
			background-color: #fff;
			color: var(--color-primary);
			&:hover {
				background-color: var(--color-primary);
				color: #fff;
				border: 1px solid #fff;
			}
		}
	}
	&.disabled {
		a, button, input {
			cursor: default;
			background-color: #999;
			border-color: #999;
			&:hover {
				background-color: #999;
				color: #fff;
			}
		}
		&:before,
		&:after {
			content: none;
		}
	}
	&.back {
		&:before {
			left: 18px;
			right: auto;
		}
		&:after {
			left: 28px;
			right: auto;
			transform: rotate(225deg);
		}
	}
	&.gray__back {
		a, button, input {
			background-color: #999;
			border-color: #999;
			&:hover {
				background-color: #fff;
				color: var(--color-primary);
			}
		}
		&:before {
			left: 18px;
			right: auto;
		}
		&:after {
			left: 28px;
			right: auto;
			transform: rotate(225deg);
		}
	}
	&.reset {
		a, button, input {
			background-color: #999;
			border-color: #999;
			&:hover {
				background-color: #fff;
				color: var(--color-primary);
			}
		}
		&:before,
		&:after {
			content: none;
		}
	}
	&.blank {
		&:before {
			content: none;
		}
		&:after {
			content: "";
			display: block;
			background-image: url(../img/common/icon-blank.svg);
			background-size: cover;
			width: 14px;
			height: 14px;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 20px;
			border: none;
			transform: none;
			margin: auto;
		}
	}
	&.mypage {
		&:after {
			content: "";
			display: block;
			background-image: url(../img/common/icon-maypage.svg);
			background-size: cover;
			width: 18px;
			height: 18px;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 21px;
			border: none;
			transform: none;
			margin: auto;
		}
	}
	&.pdf {
		span {
			position: relative;
			padding-left: 25px;
			&:before {
				content: "";
				display: block;
				background-image: url(../img/common/icon-pdf.svg);
				background-size: cover;
				width: 18px;
				height: 18px;
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				border: none;
				transform: none;
				margin: auto;
			}
		}
		&:hover {
			span {
				&:before {
					background-image: url(../img/common/icon-pdf-red.svg);
				}
			}
		}
		&:before,
		&:after {
			content: none;
		}
	}
	&.minute {
		width: 130px;
		max-width: 100%;
		a, button, input {
			font-size: var(--font-xs);
			white-space: nowrap;
			padding: 5px;
		}
		&:before,
		&:after {
			content: none;
		}
	}
	@media (min-width: 1120px) {
		max-width: 340px;
		a, button, input {
			font-size: var(--font-m);
			padding: 12px;
		}
	}
	@media (max-width: 330px) {
		a, button, input {
			font-size: var(--font-xxs);
			padding: 12px;
		}
	}
}

/*
header
---------------------------*/
header {
	position: fixed;
	top: 0;
	width: 100%;
	background-color: rgba(255,255,255,.9);
	padding: 12px 0;
	border-top: 3px solid var(--color-primary);
	z-index: 50;
	transition: 0.5s ease;
	>div {
		width: 94vw;
		max-width: 1240px;
		position: relative;
		background-color: var(--color-primary-bg);
		padding: 15px 15px;
		box-shadow: inset 0 0 10px rgba(0, 0, 0, .05);
		border-radius: 10px;
		margin: auto;
	}
	.header__logo {
		width: 160px;
		margin-top: 3px;
		@media (max-width: 330px) {
			width: 140px;
			margin-top: 0px;
		}
	}
	&.open {
		height: 100%;
		border-radius: 0;
	}
	@media (min-width: 1120px) {
		padding: 20px 0;
		>div {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 0 30px;
			border-radius: 50px;
		}
		.header__logo {
			width: 250px;
		}
	}
	@media (min-width: 1500px) {
		>div {
			width: 90vw;
		}
	}
}
.exams {
	header {
		background-color: rgba(17,29,89,.9);
		border-color: rgba(17,29,89,.9);
	}
}
.courses {
	header {
		background-color: rgba(84,166,242,.9);
		border-color: rgba(84,166,242,.9);
	}
}
.sells {
	header {
		background-color: rgba(192,159,70,.9);
		border-color: rgba(192,159,70,.9);
	}
}
/*
nav
---------------------------*/
nav {
	position: absolute;
	top: 68px;
	text-align: center;
	display: none;
	background-color: rgba(255,255,255, .95);
	height: 100vh;
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
	overflow-y: auto;
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
	a, span {
		position: relative;
		display: block;
		font-size: var(--font-s);
		line-height: 1.4;
		text-decoration: none;
		padding: 15px 0;
		border-bottom: 1px solid var(--color-border-1);
	}
	a {
		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 0;
			width: 8px;
			height: 8px;
			border: 0px;
			border-top: solid 1px var(--color-primary);
			border-right: solid 1px var(--color-primary);
			transform: rotate(45deg);
			z-index: 1;
			margin: auto;
		}
	}
	.header__menu--parent {
		position: relative;
		&:after,
		&:before {
			display: block;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 0;
			left: auto;
			margin: auto;
			content: "";
			width: 16px;
			height: 1px;
			background-color: var(--color-primary);
			transition-duration: 0.4s;
		}
		&:after {
			transform: rotate(90deg);
		}
	}
	.header__menu {
		&.open {
			.header__menu--parent {
				border-bottom: none;
				&:after {
					transform: none;
				}
			}
			.header__menu--child {
				display: block;
			}
		}
	}
	.header__menu--child {
		display: none;
		a, span {
			border-bottom: none;
		}
		a {
			padding-left: 1em;
		}
		p {
			&+p {
				padding-top: 0;
			}
		}
	}
	ul {
		text-align: center;
		padding: 15px 4.8% 30px;
	}
	li {
		position: relative;
		white-space: nowrap;
		text-align: left;
	}
	.button {
		text-align: center;
		&.mypage {
			width: 100%;
			&:after {
				right: 13px;
			}
			&:before {
				right: 10px;
			}
		}
		a {
			padding: 10px 15px;
			&:before {
				content: none;
			}
		}
	}
	@media (min-width: 1120px) {
		display: flex!important;
		align-items: center;
		justify-content: flex-end;
		position: static;
		height: auto;
		background-color: transparent;
		margin: inherit;
		overflow: visible;
		box-shadow: none;
		a, span {
			position: relative;
			color: #000;
			padding: 30px 0;
			border-bottom: none;
			&:after {
				content: none;
			}
			&:before {
				content: '';
				display: block;
				position: absolute;
				height: 2px;
				background: var(--color-primary);
				left: 0;
				right: 0;
				margin: auto;
				bottom: 0;
				transition: all .3s ease;
				-webkit-transition: all .3s ease;
				width: 0;
			}
			&:hover {
				&:before {
					width: 100%;
				}
			}
		}
		li:has(.current) {
			a, span {
				&:before {
					width: 100%;
				}
			}
		}
		.header__menu--parent {
			position: relative;
			&:before {
				width: 0px;
				height: 2px;
				left: 0;
				right: 0;
				top: auto;
				bottom: 0;
			}
			&:after {
				content: none;
			}
			&:hover {
				+.header__menu--child {
					/*max-height: 9999px;
					opacity: 1;*/
					display: block;
				}
			}
		}
		li {
			position: inherit;
			padding: 0;
			border: none;
			&:before {
				content: none;
			}
			&+li {
				padding-left: 15px;
			}
		}
		ul {
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: left;
			padding: 0;
		}
		.header__menu--child {
			display: none;
			width: 100%;
			position: absolute;
			top: 81px;
			left: 0;
			right: 0;
			background-color: rgba(255,255,255, .95);
			margin: 10px auto 0;
			border-radius: 15px;
			/*transition: all .2s ease-in;
			max-height: 0;
			opacity: 0;
			overflow: hidden;*/
			box-shadow: 0 0 5px rgba(0, 0, 0, .1);
			padding: 35px 0 50px;
			&:before {
				content: "";
				display: block;
				width: 100%;
				height: 10px;
				position: absolute;
				top: -10px;
				left: 0;
				right: 0;
				margin: auto;
			}
			a, span {
				&:before {
					content: none;
				}
			}
			&:hover {
				/*max-height: 9999px;
				opacity: 1;*/
				display: block;
			}
			>div {
				display: flex;
				flex-wrap: wrap;
				width: 90%;
				max-width: 1000px;
				margin: auto;
				padding: 0;
				>p {
					position: relative;
					width: calc((100% - 50px) / 2);
					border-bottom: 1px solid var(--color-border-1);
					margin-top: 15px;
					a {
						padding: 15px 0;
					}
					&:nth-of-type(even){
						margin-left: 50px;
					}
					&:before,
					&:after {
						content: "";
						display: block;
						position: absolute;
						top: 0;
						bottom: 0;
						margin: auto;
						pointer-events: none;
					}
					&:before {
						width: 24px;
						height: 24px;
						border-radius: 50px;
						background-color: #fff;
						border: 1px solid var(--color-border-1);
						right: 0;
					}
					&:after {
						right: 10px;
						width: 6px;
						height: 6px;
						border: 0px;
						border-top: solid 1px var(--color-primary);
						border-right: solid 1px var(--color-primary);
						transform: rotate(45deg);
						z-index: 1;
					}
				}
			}
		}
		.button {
			text-align: left;
			&.mypage {
				width: 150px;
				margin-left: 20px;
				a {
					text-align: left;
				}
			}
		}
	}
	@media (min-width: 1500px) {
		li {
			&+li {
				padding-left: 25px;
			}
		}
		a, span {
			font-size: var(--font-m);
		}
	}
}

/*
#header__button
---------------------------*/
#header__button {
	width: auto;
	display: flex;
	align-items: center;
	position: absolute;
	top: 15px;
	right: 4vw;
	margin: auto;
	cursor: pointer;
	text-align: center;
	padding: 15px 8px;
	cursor: pointer;
	z-index: 60;
	background-color: transparent;
	box-shadow: none;
	p {
		font-family: var(--accent-font);
		font-size: var(--font-2xs);
		font-weight: 500;
		padding-left: 7px;
	}
	div {
		position: relative;
		width: 24px;
		height: 10px;
	}
	span {
		position: absolute;
		left: 2px;
		width: 20px;
		height: 1px;
		background-color: var(--color-primary);
		transition: all 0.4s;
		margin: auto;
		&:nth-of-type(1) {
			top: 0;
			.open & {
				-webkit-transform: translateY(5px) rotate(-45deg);
				transform: translateY(5px) rotate(-45deg);
			}
		}
		&:nth-of-type(2) {
			top: 0;
			bottom: 0;
			.open & {
				opacity: 0;
			}
		}
		&:nth-of-type(3) {
			top: auto;
			bottom: 0;
			width: 16px;
			.open & {
				-webkit-transform: translateY(-4px) rotate(45deg);
				transform: translateY(-4px) rotate(45deg);
				width: 20px;
			}
		}
	}
	@media (min-width: 1120px) {
		display: none;
	}
}

/*
footer
---------------------------*/
footer {
	background-color: #fff !important;
	margin: 0;
	padding: 60px 8vw 40px;
	.footer__inner {
		>div {
			&+div {
				padding-top: 20px;
				border-top: 1px solid var(--color-border-1);
			}
			&:first-of-type {
				padding-bottom: 20px;
			}
		}
		&+div {
			text-align: center;
			margin: 30px 0;
		}
	}
	.footer__inner--logo {
		display: block;
		width: 180px;
		height: auto;
		padding-bottom: 20px;
		align-self: flex-end;
	}
	a {
		text-decoration: none;
	}
	p {
		font-size: var(--font-xs);
	}
	dt {
		font-weight: 600;
		padding-bottom: 1.5em;
	}
	ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	li {
		width: 49%;
		font-size: var(--font-2xs);
		padding-bottom: 1.5em;
		a {
			position: relative;
			display: inline-block;
			line-height: 1.4;
			padding-left: 14px;
			&:after {
				content: "";
				display: block;
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				width: 6px;
				height: 6px;
				border: 0px;
				border-top: solid 1px var(--color-accent);
				border-right: solid 1px var(--color-accent);
				transform: rotate(45deg);
				z-index: 1;
				margin: auto;
			}
		}
	}
	.button {
		&+.button {
			margin-top: 20px;
		}
	}
	@media (min-width: 1120px) {
		margin: 0;
		padding: 80px;
		.footer__inner {
			display: flex;
			justify-content: space-around;
			>div {
				&+div {
					margin-top: 0;
					padding: 0 0 0 40px;
					border-top: none;
					border-left: 1px solid var(--color-border-2);
				}
				&:first-of-type {
					padding-bottom: 0;
				}
			}
			&+div {
				text-align: center;
				margin: 40px 0 0;
			}
		}
		.footer__inner--logo {
			display: block;
			width: 250px;
			height: auto;
			padding-bottom: 30px;
			align-self: flex-end;
		}
		ul {
			display: block
		}
		li {
			width: 100%;
			font-size: var(--font-xs);
		}
		.button {
			&+.button {
				margin: 0 0 0 20px;
			}
		}
	}
}
.copy {
	color: #fff;
	text-align: center;
	font-size: var(--font-3xs);
	background-color: var(--color-primary);
	padding: 10px;
	@media (min-width: 1120px) {
		font-size: var(--font-2xs);
	}
}
.pagetop {
	display: none;
	position: fixed;
	z-index: 11;
	bottom: 0;
	right: -0;
	background-color: var(--color-primary);
	opacity: 0.9;
	a {
		display: block;
		width: 40px;
		height: 40px;
	}
	&:before {
		content: '';
		width: 15px;
		height: 15px;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		transform: rotate(-45deg);
		position: absolute;
		bottom: 8px;
		right: 12px;
	}
}


/*
mainvisual
---------------------------*/
.mainvisual {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 120px;
	background-color: #fff;
	background-image: url(../img/common/bg-pattern.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 0 4vw;
	margin: 12px 0 0;
	p {
		display: block;
		width: 100%;
		padding-bottom: 5px;
	}
	h1 {
		font-size: var(--font-l);
		font-weight: 600;
		span {
			vertical-align: middle;
			display: inline-block;
		}
		>* {
			font-weight: 600;
		}
	}
	.tag {
		display: inline-block;
		font-size: var(--font-xs);
		background-color: var(--color-secondary);
		color: #fff;
		font-weight: 400;
		padding: 6px 8px;
		border-radius: 50px;
		margin-right: 6px;
		span {
			font-weight: 600;
		}
	}
	@media (min-width: 1120px) {
		min-height: 200px;
		background-position: left top;
		background-size: 100%;
		padding: 0 3vw;
		margin: 40px 0 0;
		p {
			padding-bottom: 8px;
		}
		h1 {
			font-size: var(--font-2xl);
			font-weight: 500;
			>* {
				font-weight: 500;
			}
		}
		.tag {
			font-size: var(--font-l);
			letter-spacing: .1em;
			padding: 10px 15px;
			margin-right: 12px;
		}
	}
	@media (max-width: 330px) {
		h1 {
			font-size: var(--font-l);
		}
	}
}
.topic {
	text-align: left;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	padding: 10px 0;
	overflow-y: scroll;
	p {
		font-size: var(--font-2xs);
		white-space: nowrap;
		&+p {
			position: relative;
			padding-left: 15px;
			margin-left: 15px;
			&:before {
				position: absolute;
				left: 0;
				top: 0;
				bottom: 0;
				content: "";
				display: block;
				width: 1px;
				height: 15px;
				background-color: var(--color-accent);
				margin: auto;
				transform: rotate(25deg);
			}
		}
	}
	@media (min-width: 1120px) {
		overflow-y: default;
		padding: 20px 0;
		p {
			font-size: var(--font-xs);
		}
	}
}

/*
.single__content
---------------------------*/
.single__content {
	padding-top: 20px;
	>section{
		&+section {
			padding-top: 50px;
		}
	}
	@media (min-width: 1120px) {
		padding-top: 30px;
		>section{
			&+section {
				padding-top: 60px;
			}
		}
	}
}
/*
.column__content
---------------------------*/
.column__content {
	padding-top: 20px;
	.column__content--main {
		>section{
			&+section {
				padding-top: 50px;
			}
		}
	}
	.column__content--nav {
		background-color: #fff;
		padding: 20px 4vw 30px;
		margin-top: 50px;
		dt,
		dd {
			font-size: var(--font-xs);
			a {
				display: inline-block;
				position: relative;
				text-decoration: none;
				letter-spacing: 0;
				line-height: 1.6;
				padding-left: 30px;
				&:after {
					content: "";
					display: block;
					position: absolute;
					top: 0;
					bottom: 0;
					left: 7px;
					width: 6px;
					height: 6px;
					border: 0px;
					border-top: solid 1px var(--color-primary);
					border-right: solid 1px var(--color-primary);
					transform: rotate(45deg);
					z-index: 1;
					margin: auto;
				}
			}
		}
		dt {
			a {
				font-weight: 600;
				&:before {
					content: "";
					display: block;
					position: absolute;
					top: 0;
					bottom: 0;
					left: 0;
					width: 24px;
					height: 24px;
					border-radius: 50px;
					background-color: #fff;
					border: 1px solid var(--color-border-1);
					margin: auto;
				}
			}
		}
		dd {
			padding-top: 15px;
		}
		dl {
			&+dl {
				padding-top: 30px;
				/*margin-top: 20px;
				border-top: 1px solid var(--color-border-2);*/
			}
		}
		>div {
			text-align: center;
			padding-top: 20px;
			margin-top: 20px;
			border-top: 1px solid var(--color-border-2);
		}
		.button {
			&+.button {
				margin-top: 15px;
			}
		}
	}
	@media (min-width: 1120px) {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding-top: 30px;
		.column__content--main {
			width: calc(100% - 376px);
			>section{
				&+section {
					padding-top: 60px;
				}
			}
		}
		.column__content--nav {
			width: 326px;
			background-color: #fff;
			padding: 40px 20px;
			margin-top: 0;
			margin-left: 50px;
			>div {
				padding-top: 40px;
				margin-top: 40px;
				border-top: 1px solid var(--color-border-2);
			}
			dt,
			dd {
				font-size: var(--font-m);
			}
			dd {
				padding-top: 20px;
			}
			dl {
				&+dl {
					padding-top: 50px;
				}
			}
			>div {
				padding-top: 30px;
				margin-top: 30px;
			}
			.button {
				max-width: 100%;
				width: 100%;
				text-align: left;
				&+.button {
					margin-top: 20px;
				}
			}
		}
	}
}
/*
content
---------------------------*/
.content__title {
	font-size: var(--font-l);
	line-height: 1.6;
	font-weight: 500;
	padding-bottom: 5px;
	margin-bottom: 15px;
	border-bottom: 1px solid var(--color-accent);
	@media (min-width: 1120px) {
		font-size: var(--font-xl);
		line-height: 1.75;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
}
.content__title--secondary {
	font-size: var(--font-s);
	line-height: 1.6;
	font-weight: 500;
	padding: 6px 12px;
	margin-bottom: 15px;
	background-color: var(--color-secondary);
	color: #fff;
	@media (min-width: 1120px) {
		font-size: var(--font-l);
		line-height: 1.75;
		padding: 8px 15px;
		margin-bottom: 20px;
	}
}
.content__title--tertiary {
	font-size: var(--font-m);
	line-height: 1.75;
	font-weight: 500;
	padding: 6px 12px;
	margin-bottom: 15px;
	background-color: var(--color-primary);
	color: #fff;
	text-align: center;
	@media (min-width: 1120px) {
		font-size: var(--font-l);
		padding: 8px 15px;
		margin-bottom: 20px;
	}
}

.title__caption {
	position: relative;
	font-weight: 500;
	font-size: var(--font-s);
	line-height: 1.5;
	padding-left: 20px;
	margin-bottom: 2px;
	>* {
		font-weight: 500;
		line-height: 1.5;
	}
	&:before {
		content: "";
		display: block;
		width: 14px;
		height: 14px;
		background-color: var(--color-accent);
		border-radius: 50px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}
	@media (min-width: 1120px) {
		font-size: var(--font-l);
		margin-bottom: 4px;
	}
	@media (max-width: 330px) {
		font-size: var(--font-s);
		margin-bottom: 4px;
	}
}
div:has(.content__top--nav),
section:has(.content__title),
div:has(>.button__box),
div:has(>.information__list),
section:has(>.content__table.wide) {
	&+section,
	&+section:has(.content__title),
	&+div:has(>.button__box),
	&+div:has(>.information__list)  {
		padding-top: 40px;
	}
	@media (min-width: 1120px) {
		&+section,
		&+section:has(.content__title),
		&+div:has(>.button__box),
		&+div:has(>.information__list)  {
			padding-top: 80px;
		}
	}
}
div {
	&+section:has(.content__title) {
		padding-top: 30px;
	}
	@media (min-width: 1120px) {
		&+section:has(.content__title) {
			padding-top: 60px;
		}
	}
}
/*
.content__top--nav
---------------------------*/
.content__top--nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background-color: #fff;
	padding: 20px 2vw 0;
	border-top: solid 1px var(--color-primary);
	border-bottom: solid 1px var(--color-primary);
	&+p {
		padding-top: 20px;
	}
	>div {
		width: 49%;
		padding-bottom: 20px;
	}
	&.wide__content {
		display: block;
		>div {
			width: 100%;
		}
	}
	&.anchor {
		a {
			&:after {
				top: 7px;
				bottom: auto;
				left: 6.5px;
				transform: rotate(135deg);
			}
		}
	}
	a {
		font-size: var(--font-xs);
		position: relative;
		line-height: 1.5;
		display: inline-block;
		text-decoration: none;
		padding-left: 25px;
		&:before,
		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto;
		}
		&:before {
			width: 18px;
			height: 18px;
			border-radius: 50px;
			border: 1px solid var(--color-border-1);
			background-color: #fff;
			left: 0;
		}
		&:after {
			left: 5px;
			width: 5px;
			height: 5px;
			border: 0px;
			border-top: solid 1px var(--color-primary);
			border-right: solid 1px var(--color-primary);
			transform: rotate(45deg);
			z-index: 1;
		}
	}
	@media (min-width: 1120px) {
		padding: 30px 20px 5px;
		&+p {
			padding-top: 40px;
		}
		>div {
			padding-bottom: 25px;
		}
		&.wide__content {
			display: flex;
			>div {
				width: 49%;
			}
		}
		&.anchor {
			a {
				&:after {
					top: 8px;
					left: 9px;
				}
			}
		}
		a {
			font-size: var(--font-m);
			padding-left: 30px;
			&:before {
				width: 24px;
				height: 24px;
			}
			&:after {
				left: 7px;
				width: 6px;
				height: 6px;
			}
		}
	}
	@media (max-width: 330px) {
		a {
			font-size: var(--font-xxs);
		}
	}
}

/*
.content__bottom--nav
---------------------------*/
.content__bottom--nav {
	>div {
		position: relative;
		background-color: #fff;
		border-radius: 5px;
		box-shadow: 0 0 5px rgba(0, 0, 0, .1);
		&+div {
			margin-top: 20px;
		}
		a {
			display: block;
			width: 100%;
			text-decoration: none;
			padding: 20px;
		}
		dl {
			width: calc(100% - 60px);
			dt {
				font-size: var(--font-m);
				font-weight: 600;
				letter-spacing: .1em;
				padding-bottom: .5em;
			}
			dd {
				line-height: 1.75;
			}
		}
		&:after,
		&:before {
			content: "";
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
		}
		&:after {
			right: 20px;
			display: inline-block;
			width: 36px;
			height: 36px;
			background-color: var(--color-primary);
			border-radius: 50px;
		}
		&:before {
			right: 36px;
			width: 8px;
			height: 8px;
			border: 0px;
			border-top: solid 1px #fff;
			border-right: solid 1px #fff;
			transform: rotate(45deg);
			z-index: 1;
		}
	}
	@media (min-width: 1120px) {
		>div {
			min-height: 180px;
			border-radius: 10px;
			&+div {
				margin-top: 20px;
			}
			a {
				padding: 40px 30px;
			}
			dl {
				dt {
					font-size: var(--font-xl);
				}
			}
			&:after {
				right: 30px;
				width: 50px;
				height: 50px;
			}
			&:before {
				right: 52px;
				width: 10px;
				height: 10px;
			}
		}
	}
}

/*
.content__detail--nav
---------------------------*/
.content__detail--nav {
	padding-top: 40px;
	border-top: 1px solid var(--color-border-2);
	>div {
		position: relative;
		background-color: #fff;
		border-radius: 5px;
		box-shadow: 0 0 5px rgba(0, 0, 0, .1);
		&+div {
			margin-top: 15px;
		}
		a {
			display: flex;
			align-items: center;
			height: 100%;
			width: 100%;
			text-decoration: none;
			padding: 15px;
		}
		p {
			width: 85%;
			font-size: var(--font-m);
			font-weight: 500;
			line-height: 1.5;
			letter-spacing: .1em;
		}
		&:after,
		&:before {
			content: "";
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto;
		}
		&:after {
			right: 15px;
			display: inline-block;
			width: 22px;
			height: 22px;
			background-color: var(--color-primary);
			border-radius: 50px;
		}
		&:before {
			right: 25px;
			width: 6px;
			height: 6px;
			border: 0px;
			border-top: solid 1px #fff;
			border-right: solid 1px #fff;
			transform: rotate(45deg);
			z-index: 1;
		}
	}
	@media (min-width: 1120px) {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		flex-wrap: wrap;
		padding-top: 80px;
		>div {
			width: 49%;
			min-height: 80px;
			border-radius: 10px;
			&+div {
				margin-top: 0;
			}
			&:nth-of-type(n+3){
				margin-top: 20px;
			}
			a {
				padding: 30px 20px;
			}
			p {
				font-size: var(--font-l);
			}
			&:after {
				right: 30px;
				width: 30px;
				height: 30px;
			}
			&:before {
				right: 43px;
				width: 8px;
				height: 8px;
			}
		}
		
	}
}
/*
.news__list
---------------------------*/
.news__list {
	li {
		a {
			display: flex;
			align-items: flex-start;
			text-decoration: none;
		}
		&+li {
			padding-top: 15px;
		}
	}
	.news__list--date {
		min-width: 6em;
		&+p {
			margin-top: 0;
		}
	}
	@media (min-width: 1120px) {
		li {
			&+li {
				padding-top: 20px;
			}
		}
	}
}
p {
	&+.content__table {
		padding-top: 20px;
	}
}
.content__table {
	width: 100%;
	&+.content__table {
		padding-top: 20px;
	}
	&+.button__box {
		padding-top: 20px;
	}
	&.wide {
		dl {
			text-align: left;
			dt {
				font-weight: 600;
				line-height: 1.6;
				padding-bottom: .5em;
			}
		}
	}
	&.harf {
		th, td {
			width: 50%;
			text-align: left;
		}
	}
	&.js-scrollable {
		table {
			width: 800px;
		}
	}
	table {
		width: 100%;
		background-color: #fff;
		border-collapse: collapse;
		border: 1px solid var(--color-border-1);
	}
	th {
		white-space: nowrap;
	}
	th,
	td {
		vertical-align: middle;
		font-size: var(--font-s);
		line-height: 1.6;
		border: 1px solid var(--color-border-1);
		padding: 10px 15px;
	}
	thead {
		th {
			background-color: var(--color-primary);
			color: #fff;
			.note {
				display: block;
				font-size: var(--font-2xs);
				padding-top: 2px;
			}
		}
	}
	tbody {
		th {
			text-align: left;
		}
		&.right {
			td {
				text-align: right;
			}
		}
	}
	&+ul {
		padding-top: 5px;
		&+.content__table {
			padding-top: 20px;
		}
		li {
			font-size: var(--font-xs);
			line-height: 1.75;
			padding-left: 1em;
			text-indent: -1em;
		}
	}
	@media (min-width: 1120px) {
		&.wide {
			th,
			td {
				vertical-align: middle;
				font-size: var(--font-m);
				text-align: center;
			}
			dl {
				padding: 15px;
				text-align: left;
			}
		}
		&.minute {
			tbody {
				th {
					min-width: 100px;
				}
			}
		}
		&+.content__table {
			padding-top: 40px;
		}
		&+.button__box {
			padding-top: 40px;
		}
		&.js-scrollable {
			table {
				width: 100%;
			}
		}
		tbody {
			th {
				min-width: 150px;
				text-align: center;
			}
			&.left {
				th {
					text-align: left;
				}
			}
		}
		&+ul {
			padding-top: 10px;
			&+.content__table {
				padding-top: 40px;
			}
			li {
				font-size: var(--font-s);
			}
		}
	}
}
p {
	&+.list__table {
		padding-top: 20px;
	}
}
.list__table {
	&.harf {
		th,
		td {
			width: 50%;
			text-align: left;
		}
	}
	&+.list__table {
		padding-top: 20px;
	}
	&.js-scrollable {
		table {
			width: 800px;
		}
	}
	&.column {
		display: flex;
		>div {
			width: 50%;
		}
		th {
			width: 50%;
		}
	}
	table {
		width: 100%;
		background-color: #fff;
		border-collapse: collapse;
		border: 1px solid var(--color-border-1);
	}
	th,
	td {
		vertical-align: middle;
		line-height: 1.6;
		border: 1px solid var(--color-border-1);
		padding: 10px;
	}
	th {
		background-color: var(--color-primary);
		color: #fff;
		white-space: nowrap;
	}
	td {
		text-align: left;
	}
	.title__caption {
		margin-bottom: 5px;
	}
	@media (min-width: 1120px) {
		&+.list__table {
			padding-top: 40px;
		}
		&.js-scrollable {
			table {
				width: 100%;
			}
		}
		&.column {
			th {
				width: 150px;
			}
		}
		th,
		td {
			padding: 10px 20px;
		}
		th {
			width: 150px;
		}
		.title__caption {
			margin-bottom: 4px;
		}
	}
}
.definition__content {
	.read {
		padding-bottom: 2em;
	}
	p, dt, li {
		line-height: 1.75;
	}
	ul {
		padding: .5em 0;
	}
	li {
		text-indent: -1em;
		padding-left: 1em;
	}
	dt {
		font-size: var(--font-s);
		font-weight: 600;
		padding-bottom: .5em;
	}
	dl {
		padding: 15px 0;
		&+dl {
			border-top: 1px solid var(--color-border-1);
		}
	}
	@media (min-width: 1120px) {
		dl {
			padding: 20px 0;
		}
		dt {
			font-size: var(--font-l);
		}
	}
}
.information__list {
	li {
		text-indent: -1em;
		padding-left: 1em;
		line-height: 1.75;
		&+li {
			padding-top: .5em;
		}
	}
}
.column__box {
	>div {
		&+div {
			margin-top: 20px;
		}
	}
	@media (min-width: 768px) {
		display: flex;
		flex-wrap: wrap;
		>div {
			width: calc((100% - 20px) / 2);
			&+div {
				margin-top: 0;
			}
			&:nth-of-type(even) {
				margin-left: 20px;
			}
			&:nth-of-type(n + 3) {
				margin-top: 40px;
			}
		}
	}
}
.caption__list {
	margin-top: 20px;
	.content__title--secondary {
		margin-bottom: 10px;
	}
	dl {
		&+dl {
			margin-top: 20px;
		}
	}
	@media (min-width: 1120px) {
		margin-top: 40px;
		dl {
			&+dl {
				margin-top: 40px;
			}
		}
	}
}