@charset "utf-8";

.w-state {
	max-width: 980px;
}

.main-contents {
	padding-bottom: 60px;
}

@media screen and (min-width: 1280px) {
	.main-contents {
		padding-bottom: 120px;
	}
}

.part-header__ttl {
	font-size: 2.0rem;
}

.subsection {
	border: 1px solid rgba(0,0,0,0.2);
	border-radius: 5px;
	box-sizing: border-box;
	padding-bottom: 30px;
}

@media screen and (min-width: 1280px) {
	.subsection {
		padding-bottom: 40px;
	}
	
	.subsection .w-state {
		width: calc(100% - 120px);
	}
}

.ttl {
	font-size: 1.8rem;
	padding: 20px 20px 20px 30px;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}

.ttl:before {
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
}

.subttl {
	margin-bottom: 0.5em;
	font-size: 1.6rem;
	font-weight: bolder;
}

@media screen and (min-width: 1280px) {
	
	.ttl {
		margin-bottom: 40px;
	}
	
	.chapter-section {
		margin-bottom: 60px;
	}
}

/* ---------- */

.std-table {
	width: 100%;
	border: none;
}


.table-responsive {
	width: 100%;
	overflow-y: hidden;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	-webkit-overflow-scrolling: touch;
	        overflow-scrolling: touch;
	
	border: 1px dashed rgba(0,0,0,0.5);
	border-radius: 8px;
	padding: 10px;
	box-sizing: border-box;
}

.table-responsive > .std-table {
	margin-bottom: 0;
}

.table-responsive > .std-table th,
.table-responsive > .std-table td {
	text-align: left;
	white-space: nowrap;
	padding: 5px;
	box-sizing: border-box;
}

@media screen and (min-width: 768px) {
	
	.table-responsive {
		min-height: 0.01%;
		overflow-x: auto;
	}
}

/* ----------------------------------------------------- */

.opt {
	
}

.opt__item {
	
}

.opt__trm {
	
}

.opt__des {
	
}

.opt-color {
	
}

.opt-color .opt__trm {
	display: flex;
	align-items: center;
}

.opt-color .opt__trm:before {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.5em;
	border-radius: 5px;
	content: "";
}

.opt-color__link .opt__trm {
	color: var(--color-a-link);
	font-weight: bolder;
}

.opt-color__link .opt__trm:before {
	background-color: currentColor;
}

.opt-color__visited .opt__trm {
	color: var(--color-a-visited);
	font-weight: bolder;
}

.opt-color__visited .opt__trm:before {
	background-color: currentColor;
}


/* ----------------------------------------------------- */


.current-state p {
	border-radius: 5px;
	padding: 5px 1em;
	border: 1px dashed rgba(0,0,0,0.5);
}

.current-state noscript p {
	color: #c00;
	line-height: 20px;
	line-height: 2.0rem;
	padding: 5px 0;
}

.current-state span {
	background: #4f9800;
	color: #fff;
	padding: 3px;
	border-radius: 50%;
}
.current-state noscript span {
	background: #c00;
}


/* ----------------------------------------------------- */


.main-contents .util {
	border-bottom: 1px dashed rgba(0,0,0,0.4);
	margin-bottom: 1em;
}

.main-contents .util__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 1em;
	border-top: 1px dashed rgba(0,0,0,0.4);
}