@charset "utf-8";

/* Basic Settings */
body {
	font-family: 				"Arial","Helvetica","Meiryo",sans-serif;
	font-size: 					16px;
	background-color: 			#fff;
	color:						#000;
	margin-top:					20px;
	margin-right:				20px;
	margin-left:				20px;
	margin-bottom:				20px;
	text-align:					left;
}

h2 {
	font-size:					24px;
}

h3 {
	font-size:					18px;
}

hr {
	height:						0.5px; 
	width:						100%;
	background-color:			#b2b2b2;
	border:						none;
}

a {
}

a:hover {
	border-bottom:				0px;	
}

ol.lv1 {
	list-style-type:			decimal;
}

ol.lv2 {
	list-style-type:			upper-roman;
}

ol.lv3 {
	list-style-type:			lower-roman;
}

ol.lv4 {
	list-style-type:			lower-alpha;
}

ul.blacksquare {
	list-style-type:			square;
}

ul.nothing {
	list-style-type:			none;
}


/* Header Settings (excl. Navaigation) */
/* For PC Browser*/

@media screen and (min-width: 750px) {

	header {
		width:					96%;
		height:					120px;
		top:					0;
		background-color:		#fff;
		position:				fixed;
		margin-top:				0px;
		margin-bottom:			0px;
		margin-right:			0px;
		padding-top:			0px;
		padding-right:			0px;
		box-sizing:				border-box;
	}

	header .arrow-down:after {
		content:				'';
		display:				inline-block;
		width:					7px;
		height:					7px;
		margin:					0 0 0 10px;
		border-right:			3px solid;
		border-bottom:			3px solid;
		-webkit-transform:		rotate(45deg);
		-ms-transform:			rotate(45deg);
		transform:				rotate(45deg);
		border-radius:			2px;
	}

	header .arrow-right:after {
		content:				'';
		display:				inline-block;
		width:					7px;
		height:					7px;
		margin:					0 0 0 10px;
		border-right:			3px solid;
		border-bottom:			3px solid;
		-webkit-transform:		rotate(-45deg);
		-ms-transform:			rotate(-45deg);
		transform:				rotate(-45deg);
		border-radius:			2px;
	}

	/* Navigation Settings*/

	.navigation {
		width:					96%;
		height:					50px;
		background-color:		#ec111a;
		margin-top:				-6px;
		margin-left:			0px;
		margin-right:			20px;
		padding-top:			15px;
		box-sizing:				border-box;
		position:				fixed;
		font-size:				14px;
	}

	
	/* 1st Lv menu */
	.navigation ul {
		display:				flex;
		list-style:				none;
		margin-top:				0;
		margin-left:			20%;
	}

	/* 1st-3rd Lv links */
	.navigation ul li a {
		width:					200px;
		height:					35px;
		padding-top:			15px;
		display:				block;
		color:					#fff;
		margin-top:				-15px;
		text-align:				center;
	}

	/* Only the 1st level link */
	.navigation ul > li > a{
		background-color:		#ec111a;
		border-right:			0px solid #fff;
	}

	/* Action when link is hovered */
	.navigation ul li a:hover{
		text-decoration:		none;
		color:					#ec111a;
		background-color:		#ebebeb;
		transition:				.3s;
		opacity:				1
	}

	/* 2nd Lv menu */
	.navigation ul > ul{
		display:				block;
	}

	/* Usually hide 2nd-3rd Lv link */
	.navigation ul > li > ul{
		display:				none;
	}

	/* Only a certain 1st Lv link is hovered, show the 2nd Lv menu  */
	.navigation ul li:hover a + ul{
		display:				block;
	}

	/* Usually hide 3rd Lv link */
	.navigation ul > li > ul > li > ul > li {
		display:				none;
	}

	/* Only a certain 2nd Lv link is hovered, show the 3rd Lv menu  */
	.navigation ul > li > ul > li:hover a + ul > li {
		display:				block;
	}

	/* 2nd-3rd Lv menu  */
	.navigation ul > li > ul> li > a{
		margin-top:				0;
		margin-left:			-70px;
		height:					auto;
		padding:				3px 6px; 
		width:					300px;
		background-color:		#ec111a;
		border-right:			0px solid #fff;
		text-decoration:		none;
		text-align:				left;
		opacity:				0.9
	}

	/* 3rd Lv menu  */
	.navigation ul > li > ul> li > ul > li> a{
		margin-left:			-130px;
		width:					350px;
	}

	/* All base header menus */
	.navigation li {
		margin:					0;
	}

	/* All base header text */
	.navigation a {
		color:					#fff;
		text-decoration:		none;
	}
}
 
/* For Mobile Device */


	.hamburger_menu_input {
		display: 				none;
	}

	.hamburger_menu_background {
		/* height: 100vh; */
		position: absolute;
		width: 100%;
		z-index: -1;
	}

	.hamburger_menu_button {
		display: 				none;

	}

	/* Hamburger Button itself (represents a line) */
	.hamburger_menu_button_mark {
		background-color: 		#fff; /* line color */
		display: 				block;
		height: 				2px;
		transition: 			0.3s;
		width: 					20px;
	}

	#hamburger:checked ~ .hamburger_menu_background {
		display: 				block;
	}

/* Hamburger */
@media screen and (max-width: 750px) {
	.header_sp {
		top:					0;
		margin-top:				0;
		margin-bottom:			-60pt;
		position: 				fixed;
		width:					100%;
		height:					80px;
		background-color:		#fff;
	}

	header .arrow-down:after {
		content:				'';
		display:				inline-block;
		width:					7px;
		height:					7px;
		margin:					0 0 0 10px;
		border-right:			3px solid;
		border-bottom:			3px solid;
		-webkit-transform:		rotate(45deg);
		-ms-transform:			rotate(45deg);
		transform:				rotate(45deg);
		border-radius:			2px;
	}

	header .arrow-right:after {
		content:				'';
		display:				inline-block;
		width:					7px;
		height:					7px;
		margin:					0 0 0 10px;
		border-right:			3px solid;
		border-bottom:			3px solid;
		-webkit-transform:		rotate(45deg);
		-ms-transform:			rotate(45deg);
		transform:				rotate(45deg);
		border-radius:			2px;
	}

	
	/* List of menu when clicked */
	.hamburger_menu_list {
		background-color: 		#ec111a;
		align-items: 			flex-start;
		display: 				none;
		flex-direction: 		column;
		left: 					0;
		padding: 				0;
		position: 				relative;
		transform: 				translateX(-100%);
		transition: 			0.3s;
		width: 					95%;
	}

	.hamburger_menu_list ul {
		list-style-type:		none;
	}
	
	.hamburger_menu_list li {
		margin-left:			-30px;
		border-top:				1px solid #fff;
	}
	
	.hamburger_menu_list li li:last-of-type {
		border-bottom:			1px solid #fff;
	}

	.hamburger_menu_list li li {
		margin-left:			-15px;
		margin-right:			10px;	
	}

	.hamburger_menu_list li li li:last-of-type {
		border-bottom:			none;
	}
	
	.hamburger_menu_list a {
		display:				block; 
		color: 					#fff;
		text-decoration:		none;
		font-size:				10pt;
		padding-left:			3pt;
		padding-right:			10pt;
	}

	.hamburger_menu_list a:hover {
		color: 					#ec111a;
		background-color:		#ebebeb;
	}

	/* Hamburger Icon */
	.hamburger_menu_button {
		position:				absolute;
		top:					10pt;
		right:					30pt;
		align-items: 			center;
		appearance: 			none;	/* ignore default design */
		background-color: 		#ec111a;
		border: 				none;
		cursor: 				pointer;
		display: 				flex;
		flex-direction: 		column; /* line up elements */
		gap: 					5px; 	/* margin between lines */
		justify-content: 		center; /* vertical postion of 3 lines against redbox*/
		height: 				32px; 	/* height of red box */
		width: 					32px; 	/* width of redbox */
	}

	/* Movement Menu list sliding when clicked*/
	#hamburger:checked ~ .hamburger_menu_list {
		display: flex;
		transform: translateX(0%);
		transition: 0.3s;
	}

	/* Movement of 1st bar in Hamburger Icon when clicked */
	#hamburger:checked ~ .hamburger_menu_button .hamburger_menu_button_mark:nth-of-type(1) {
		transform: scale(1.5,1) translate(0px, 0px) rotate(45deg);
		transform-origin: 0%;
	}
	
	/* Movement of 2nd bar in Hamburger Icon when clicked */
	#hamburger:checked ~ .hamburger_menu_button .hamburger_menu_button_mark:nth-of-type(2) {
		opacity: 0;
	}

	/* Movement of 3rd bar in Hamburger Icon when clicked */
	#hamburger:checked ~ .hamburger_menu_button .hamburger_menu_button_mark:nth-of-type(3) {
		transform: scale(1.5,1) translate(0px, 0px) rotate(-45deg);
		transform-origin: 0%;
	}

}


/* Main Block Settings*/

.mainbody {
	background-color:		#fff;
	margin:					auto;
	max-width:				800px;
	min-width:				400px;
	padding-top:			120px;
	padding-left:			0px;	
	padding-right:			0px;
}

.mainbody a {
	color:					#000;
	text-decoration-line:	none;
	border-bottom:			1px dotted #000;
	padding-bottom:			1px;
}

.mainbody a:hover {
	border-bottom:			0px;
}

.mainbody img {
	margin:					10px;
}

.mainbody ol li {
	padding-bottom:			10px;
}

.normaltext {
}

.alignright {
	text-align:				right;
}

.vspace {
	padding-top:			25px;
}

.vspace_half {
	padding-top:			12px;
}

.redbox {
	background-color:		#ec111a;
	color:					#fff;
	margin:					0pt;
	padding-top:			20px;
	padding-left:			20px;	
	padding-right:			20px;
	padding-bottom:			20px;
}

.Lv1font {
	font-size:				24pt;
}


/* Footer Settings*/

.footer {
	color:					#333;
	font-size:				10pt;
	text-align:				center;
}
.disclaimers {
	color:					#333;
	font-size:				10pt;
	text-align:				center;
}

.disclaimers a {
	color:					#000;
	text-decoration-line:	none;
	border-bottom:			1px dotted #000;
	padding-bottom:			1px;
	target-new:				tab;
	target-name:			new;
}

.disclaimers a:hover {
	border-bottom:			0px;	

}
