@charset "utf-8";

.kerning {
	letter-spacing: -4px;
}
.kerning-014 {
	letter-spacing: -1px;
}

body > .main-container .contents .youtube-block {
	text-align: center;
}
body > .main-container .contents figure.youtube {
	display: inline-block;
	text-align: left;
	margin-bottom: 25px;
}
@media screen and (max-width: 780px) {
	body > .main-container .contents figure.youtube {
		width: 100%;
	}
	body > .main-container .contents figure.youtube iframe {
		width: 95vw;
		height: 53vw;
	}
}

body > .main-container .contents .btn-pdf {
	display: inline-block;
	background-image: url("../img/btn_pdf.jpg");
	text-indent: -999px;
	overflow: hidden;
	width: 116px;
	height: 43px;
}

body.ruleguide > .main-container .contents > .textBlock {
	text-align: center;
}
body.ruleguide > .main-container .contents > .textBlock figure a {
	display: block;
	margin: auto;
}
body.ruleguide > .main-container .contents > .textBlock figure {
	display: inline-block;
	width: 300px;
}
body.comprehensive > .main-container .contents > .textBlock {
	text-align: center;
}
body.comprehensive > .main-container .contents > .textBlock figure a {
	display: block;
	margin: auto;
}
body.comprehensive > .main-container .contents > .textBlock figure {
	display: inline-block;
	width: 300px;
}
body.floor > .main-container .contents > .textBlock {
	text-align: center;
}
body.floor > .main-container .contents > .textBlock figure a {
	display: block;
	margin: auto;
}
body.floor > .main-container .contents > .textBlock figure {
	display: inline-block;
	width: 300px;
}

.cardlist > ul {
	position: relative;
	font-size: 0;
}
.cardlist > ul li {
	position: relative;
	display: inline-block;
	text-align: center;
	padding-top: 20px;
	padding-bottom: 20px;
}
.cardlist > ul.list-split-4 li {
	position: relative;
	width: 25%;
}
.cardlist > ul.list-split-4 li:nth-child(4)::after {
	border-right: 0;
	background: none;
}
.cardlist > ul.list-split-3 li {
	position: relative;
	width: 33%;
}
.cardlist > ul.list-split-3 li:nth-child(3)::after {
	border-right: 0;
	background: none;
}
.cardlist > dl.faq {
	margin: 50px 0;
}
.cardlist > dl.faq dt {
	font-size: 12px;
	font-weight: bold;
	margin-bottom: 10px;
}
.cardlist > .faqnull {
	margin: 25px 0 70px 0;
}

.cardlist > dl.errata {
	margin: 20px 0;
}
.cardlist > dl.errata dt {
	font-size: 12px;
	font-weight: bold;
	margin-bottom: 10px;
}


/** menulist **/
.menulist > ul {
	position: relative;
	font-size: 0;
}
.menulist > ul::after {
	position: absolute;
	content: "";
	display: block;
	bottom: 0;
	left: -100px;
	width: 1100px;
	height: 1px;
	background-image: url("../../common/img/wh_line.jpg");
	background-size: 100% auto;
}
.menulist > ul:nth-last-child(1)::after {
	background: none;
}
.menulist > ul li {
	position: relative;
	display: inline-block;
	text-align: center;
	padding-top: 25px;
	padding-bottom: 25px;
	vertical-align: top;
}
.menulist > ul li::after {
	position: absolute;
	content: "";
	display: block;
	bottom: 0px;
	right: -1px;
	height: 100%;
	width: 1px;
	border-right: 1px solid #999999;
}
.menulist > ul:nth-child(1) li::after {
	border-right: 0;
	background-image: url("../../common/img/wh_line_top.jpg");
	background-position: bottom;
	background-size: 100% 100%;
}
.menulist > ul:nth-last-child(1) li::after {
	position: absolute;
	content: "";
	display: block;
	top: 0px;
	right: -1px;
	height: 100%;
	width: 1px;
	border-right: 0;
	background-image: url("../../common/img/wh_line_bottom.jpg");
	background-position: bottom;
	background-size: 100% 100%;
}
.menulist > ul:nth-child(1):nth-last-child(1) li::after {
	background-image: url("../../common/img/wh_line_only.jpg");
}
.menulist > ul:nth-child(1):nth-last-child(1) li:nth-last-child(1)::after {
	border-right: 0;
	background: none;
}
.menulist > ul.list-split-4 li {
	position: relative;
	width: 25%;
}
.menulist > ul.list-split-4 li:nth-child(4)::after {
	border-right: 0;
	background: none;
}
.menulist > ul.list-split-4 li:nth-child(4n)::after {
	border-right: 0;
	background: none;
}
.menulist > ul li img {
	max-width: 100%;
}

@media screen and (min-width: 781px) {
	.menulist-rules > ul.list-split-4.list-single {
		position: relative;
	}
	.menulist-rules > ul.list-split-4.list-single::before {
		position: absolute;
		content: "";
		inset: 0;
		pointer-events: none;
		background-image:
			linear-gradient(to bottom, rgba(153, 153, 153, 0), #999 12%, #999 88%, rgba(153, 153, 153, 0)),
			linear-gradient(to bottom, rgba(153, 153, 153, 0), #999 12%, #999 88%, rgba(153, 153, 153, 0)),
			linear-gradient(to bottom, rgba(153, 153, 153, 0), #999 12%, #999 88%, rgba(153, 153, 153, 0));
		background-size: 1px 100%, 1px 100%, 1px 100%;
		background-position: 25% center, 50% center, 75% center;
		background-repeat: no-repeat;
	}
	.menulist-rules > ul.list-split-4.list-single > li::after {
		display: none;
	}
	.menulist-rules > ul.list-split-4.list-single > li:nth-child(n + 5):nth-child(4n + 1)::before {
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		width: 400%;
		height: 1px;
		background-image: url("../../common/img/wh_line.jpg");
		background-size: 100% auto;
		background-repeat: no-repeat;
	}
}

.menulist-rules > ul li {
	font-size: 14px;
	line-height: 1.5;
	padding-top: 18px;
	padding-bottom: 18px;
}
.menulist-rules > ul li a {
	display: inline-block;
	max-width: 95%;
	text-align: left;
	text-decoration: none;
	color: #333333;
	font-family: var(--heading-font);
	position: relative;
	padding-left: 14px;
}
.menulist-rules > ul li a::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0.5em;
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid #333333;
}
.menulist-rules > ul li a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 780px) {
	.menulist > ul.list-split-4 li {
		position: relative;
		width: 50%;
	}
	.menulist > ul li img {
		max-width: 95%;
	}
	.menulist > ul:nth-last-child(n + 2)::before, .menulist > ul.border::before {
		position: absolute;
		content: "";
		display: block;
		top: calc(12.4vw + 50px);
		left: -2.5vw;
		width: 100vw;
		height: 1px;
		background: url("../../common/img/wh_line.jpg") no-repeat;
		background-size: 100% auto;
	}
	.menulist > ul:nth-last-child(1) li:nth-child(1):nth-last-child(n + 3)::after {
		border-right: 1px solid #999999;
		background: none;
	}
	.menulist > ul:nth-child(-n + 1) li:nth-child(3n)::after {
		border-right: 1px solid #999999;
		background: none;
	}
	.menulist > ul::after {
		left: -2.5vw;
		width: 100vw;
	}
	.menulist > ul li:nth-child(2n)::after {
		background: none;
		border: 0;
	}
	.menulist-rules > ul li {
		font-size: 3.2vw;
		padding-top: 12px;
		padding-bottom: 12px;
	}
}

body > .main-container .contents > nav.chapter {
	display: block;
	text-align: right;
	margin-bottom: 25px;
}
body > .main-container .contents > nav.attribute {
	display: block;
	text-align: right;
	margin-bottom: 25px;
}
body > .main-container .contents > nav a {
	text-decoration: none;
}
body > .main-container .contents > nav a.active {
	font-weight: bold;
}
body > .main-container .contents > nav a:hover {
	text-decoration: underline;
}
body > .main-container .contents > nav a::before {
	content: "▶";
	display: inline-block;
	margin-right: 3px;
	font-size: 70%;
}
body > .main-container .contents > nav a.active::before {
	content: "▼";
}
body > .main-container .contents > nav.chapter a {
	padding: 0 5px 0 5px;
	white-space: nowrap;
}
body > .main-container .contents > nav.chapter a:nth-last-child(1) {
	padding-right: 0;
}
.select-wrapper {
	display: inline-block;
}
.opusselect {
	border: 1px solid #6e6e6e;
	color: #333333;
	padding: 5px 10px;
	width: 200px;
	text-align: left;
}
body > .main-container .contents > nav.attribute > span {
	padding-right: 10px;
}
body > .main-container .contents > nav.attribute a {
	display: inline-block;
	border-left: 1px solid #333333;
	padding: 0 5px 0 5px;
	margin-bottom: 3px;
}
body > .main-container .contents > nav.attribute a:nth-last-child(1) {
	padding-right: 0;
}
@media screen and (max-width: 780px) {
	body > .main-container .contents > nav.attribute a {
		padding: 0 0 0 5px;
		margin-bottom: 3px;
	}
}

body.errata > .main-container .contents > p {
	margin-bottom: 50px;
	margin-top: 50px;
}
body.errata > .main-container .contents > h3 {
	position: relative;
	padding-bottom: 25px;
	font-family: var(--heading-font);
	font-size: 12px;
	font-weight: bold;
}
body.errata > .main-container .contents > h3::after {
	position: absolute;
	content: "";
	display: block;
	bottom: 0;
	left: -100px;
	width: 1100px;
	height: 1px;
	background-image: url("../../common/img/wh_line.jpg");
	background-size: 100% auto;
}
@media screen and (max-width: 780px) {
	body.errata > .main-container .contents > h3::after {
		left: -2.5vw;
		width: 100vw;
	}
}
body > .main-container .contents ul.errata-list {
	margin-top: 0;
	margin-bottom: 25px;
}
body > .main-container .contents ul.errata-list li {
	padding-top: 25px;
	padding-bottom: 25px;
	border-bottom: 1px dotted #999999;
}
body > .main-container .contents ul.errata-list li:last-child {
	border-bottom: 0;
}
body > .main-container .contents ul.errata-list li > .title {
	display: inline-block;
	vertical-align: top;
	width: 100px;
	font-weight: bold;
}
body > .main-container .contents ul.errata-list li > .image {
	display: inline-block;
	vertical-align: top;
	width: 110px;
	margin-right: 25px;
}
body > .main-container .contents ul.errata-list li > .image img {
	width: 100%;
}
body > .main-container .contents ul.errata-list li > .text {
	display: inline-block;
	vertical-align: top;
	width: 665px;
}
body > .main-container .contents ul.errata-list li > .text > h3 {
	font-size: 15px;
	margin-bottom: 10px;
}
body > .main-container .contents ul.errata-list li > .text > p {
	margin-top: 15px;
	line-height: 1.6;
}
@media screen and (max-width: 780px) {
	body > .main-container .contents ul.errata-list li > .title {
		display: block;
		width: 100%;
		margin-bottom: 1vw;
	}
	body > .main-container .contents ul.errata-list li > .image {
		width: 20vw;
		margin-right: 1vw;
	}
	body > .main-container .contents ul.errata-list li > .text {
		display: inline-block;
		vertical-align: top;
		width: 72vw;
	}
}