/*
 * base css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
}

@media (min-width: 600px) and (max-width:959px) {
}

@media (min-width: 960px) {
}

@media (max-width: 480px) {
}

@media (min-width: 481px) and (max-width:767px) {
}

@media (min-width: 768px) and (max-width:959px) {
}

@media (min-width: 960px) {
}

@media (max-width: 767px) {
}

@media (min-width: 768px) {
}

/* ---------------------------------------- common */

@media (max-width: 767px) {
}

@media (min-width: 768px) {
	article { padding: 0 1.5em; }
}

/* ---------------------------------------- tabMenu */

#tabMenu { 
	display: flex;
	width: 100%;
	margin: 0 0 5em; 
}

#tabMenu input {
    display: none;
}
#tabMenu label {  
	display: block;
	width: 49%;
	text-align: center;
	font-weight: 500;
	padding: 1.5em 1em calc( 1.5em + 8px );
	cursor: pointer;
}
#tabMenu span {
	display: block;
	width: 2%;
	border-bottom: 1px #b5b5b5 solid;
}

#tabMenu input:not(:checked) + label {
	color: #777;
    border-top: 10px #dcdcdc solid;
	border-right: 1px #dcdcdc solid;
	border-left: 1px #dcdcdc solid;
	border-bottom: 1px #b5b5b5 solid;
	background: #dcdcdc;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

#tabMenu input:checked + label {
	color: #da1c1c;
    border-top: 10px #da1c1c solid;
	border-right: 1px #b5b5b5 solid;
	border-left: 1px #b5b5b5 solid;
}

#tabMenu input:not(:checked) + label:hover {
	color: #fff;
    border-top: 10px #da1c1c solid;
	border-right: 1px #da1c1c solid;
	border-left: 1px #da1c1c solid;
	background: #da1c1c;
}

.tab_content { display: none; }
.tab_content.active { display: block; }

/* ---------------------------------------- common */

section + section { margin: 3em 0 0; }

section h2 {
	text-align: center;
	font-weight: 600;
	margin: 0 0 2em;
}
section .lead {
	text-align: center;
	font-weight: 600;
	line-height: 1.8;
	margin: 0 0 3em;
}

@media (max-width: 767px) {

	section h2 {
		font-size: clamp(0.938rem, 0.714rem + 1.12vw, 1.25rem);
	}
}

@media (min-width: 768px) {

	section h2 {
		font-size: clamp(1.125rem, -1.358rem + 5.17vw, 1.875rem);
	}
}

/* linefollow */

.linefollow {
	font-weight: 500;
	font-size: clamp(1rem, -0.241rem + 2.59vw, 1.375rem);
	margin: 0 0 1em;
	position: relative;
}
.linefollow::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #da1c1c;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: -1;
}
.linefollow span {
	display: inline-block;
	background: #fff;
	line-height: 1.4;
	padding: 0 1em 0 0;
}

section ul.disc {
	list-style: outside disc;
	line-height: 2;
	margin: 0 0 0 1.25em;
}
section ul.disc li a:hover {
	color: #da1c1c;
}

/* ---------------------------------------- regulations */

#regulations .banner {
	margin: 3em 0 0;
}
#regulations .banner figure {
	text-align: center;
}
#regulations .banner figure a {
	display: inline-block;
}
#regulations .banner figure img {
	width: 75%;
	max-width: 465px;
}
#regulations .banner figcaption {
	margin: 1em 0 0;
}

/* ---------------------------------------- jpnNat */

#newsjp { margin: 8em 0 0; }
#newsjp ul {
	border-top: 2px #b5b5b5 solid;
	font-family: "Oswald", 'Noto Sans JP', sans-serif;
}
#newsjp ul li {
	border-bottom: 1px #b5b5b5 solid;
	line-height: 1.6;
}
#newsjp ul li a {
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#newsjp ul li a:hover {
	color: #fff;
	background: #da1c1c;
}

@media (max-width: 767px) {

	#newsjp ul li a {
		display: block;
		padding: 1em;
	}
	#newsjp ul li a > p {
		margin: 0 0 .5em;
	}
}

@media (min-width: 768px) {

	#newsjp ul li a {
		display: table;
		width: 100%;
	}
	#newsjp ul li a > * {
		display: table-cell;
		vertical-align: middle;
		padding: 1em;
	}
	#newsjp ul li a > p {
		width: 15%;
	}
}
