/* CSS Document */

/* reset settings */
body, header, footer, h1, h2, h3, div, form, img, ul, dl, li, dt, dd, span, a, hr, iframe {
	margin: 0;
	padding: 0;
	border-width: 0;
}

a {
	text-decoration: none;
}
div a {
	color: #007FEB;
}
div a:visited {
	color: #999999;
}



/* font settings */
body {
	/*font-family: "游ゴシック", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Lucida Grande", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "ＭＳ Ｐゴシック", sans-serif;*/
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Lucida Grande", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "ＭＳ Ｐゴシック", sans-serif, "游ゴシック", YuGothic;
	padding-top: 57px;
}
/* header settings */
header div#header_menus_pc {
	display: none;
}
header {
	position: fixed;
	top: 0;
	z-index: 10;
	background-color: #000000;
	color: #ffffff;
	height: 57px;
	width: 100vw;
	font-size: 0.5em;
}
header > div#header_menus {
	display: flex;
	justify-content: space-around;
	text-align: center;
	width: 95vw;
	margin: 0 auto;
}
header > div#header_menus > div.header_menus_block {
	height: 57px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
header > div#header_menus > div.header_menus_block:first-child {
	width: 24px;
}
header > div#header_menus > div.header_menus_block > a,
header > div#header_menus > div.header_menus_block > a:visited {
	color: #ffffff;
}
header > div#header_menus > div.header_menus_block > a img {
	margin-top: 12px;
}
header > div#header_menus > div.header_menus_block > a div.menu_text {
}
header > div#header_menus > div.header_menus_block.header_logo {
	/*border: 1px solid #000000;*/
	height: 56px;
}
header > div#header_menus > div.header_menus_block.header_logo.new_logo {
	background-color: #ffffff;
}
header > div#header_menus > div.header_menus_block.header_logo > a {
	display: block;
	width: 100%;
	height: 100%;
}
header > div#header_menus > div.header_menus_block.header_logo > a > img {
	margin: 1px 4px 0 6px;
}
header > div#header_menus > div.header_menus_block.header_logo.new_logo > a > img {
	margin: 14px 4px 0 6px;
}


div#hamburger_menu {
	position: fixed;
	top: 12px;
	left: 14px;
	z-index: 100;
	color: #ffffff;
	font-size: 0.5em;
	text-align: center;
}

div#main_menu_box.open {
	left: 0;
	background-color: rgba(0,0,0,0.70);
	transition: left 0.5s cubic-bezier(0, 0, 0, 1), background-color 0.4s cubic-bezier(0, 0, 0, 1.1) 0.4s;
}

div#main_menu_box {
	z-index: 110;
	position: fixed;
	top: 0;
	left: -100vw;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.0);
	transition: left 0.5s cubic-bezier(0, 0, 0, 1);
}
div#main_menu_box > div#main_menu {
	width: 80vw;
	background-color: #ffffff;
}
div#main_menu_box > div#main_menu > div#hamburger_menu_box_close {
	background-color: rgba(255,255,255,1.0);
	font-size: 24px;
	padding-left: 24px;
	width: 100vw;
	height: 57px;
	display: table-cell;
	vertical-align: middle;
}
div#main_menu_box > div#main_menu > ul#main_menus li {
	padding: 0 30px 0 24px;
	display:flex;
	align-items: center;
	list-style-type: none;
	border-top: 1px solid #000000;
	position: relative;
	height: 50px;
}
div#main_menu_box > div#main_menu > ul#main_menus li:not(#main_menus_title)::after {
	content: "〉";
	position: absolute;
	right: 6px;
	top:50%;
	margin-top: -0.75em;
}
div#main_menu_box > div#main_menu > ul#main_menus > li#main_menus_title {
	background-color: #000000;
	color: #ffffff;
	font-weight: bold;
	height: 46px;
}
div#main_menu_box > div#main_menu > ul#main_menus a,
div#main_menu_box > div#main_menu > ul#main_menus a:visited {
	color: #000000;
}


/* footer settings */
footer {
	background-color: #000000;
	color: #ffffff;
	text-align: center;
	/*padding: 40px 26px 0;*/
}
footer > ul {
	display: flex;
	flex-wrap: wrap;
	text-align: left;
	list-style-type: none;
	padding: 20px 0 0 0;
}
footer > ul > li {
	width: 46vw;
	font-size: 0.9rem;
	line-height: 60px;
}
footer > ul > li > a {
	display: inline-block;
	width: 40vw;
	padding: 0 0 0 20px;
	color: #ffffff;
}
footer > ul > li > a:visited {
	color: #ffffff;
}
footer > img {
	text-align: center;
}
footer > div#copyright {
	padding: 12px;
	font-size: 0.7rem;
	color: #eeeeee;
}


/* ページ共通設定 */
div#contents_box {
	text-align: center;
	padding: 40px 0 0;
}

div#contents_box > h1#contents_head {
	line-height: 110%;
	/*margin-top: 40px;*/
}

div#contents_box > div#sub_contents_head {
	line-height: 100%;
}

@media screen and (min-width:769px) {
	header > div#header_menus {
		display: none;
	}
	header > div#header_menus_pc {
		display: flex;
		justify-content:space-between;
		align-items: center;
		width: 768px;
		margin: 0 auto;
	}
	header > div#header_menus_pc > div.header_logo {
		padding: 0 10px;
	}
	header > div#header_menus_pc > div.header_logo.new_logo {
		background-color: #ffffff;
	}
	header > div#header_menus_pc > div.header_menus_block > a {
		display: flex;
		align-items: center;
	}
	header > div#header_menus_pc > div.header_menus_block > a > img {
		width: 20px;
		height: 20px;
	}
	header > div#header_menus_pc > div.header_logo > a > img {
		width: 60px;
		height: 60px;
	}
	header > div#header_menus_pc > div.header_menus_block > a > div.menu_text {
		font-size: 1.1rem;
		color: #ffffff;
		margin: 0 0 0 6px;
	}
	header > div#header_menus_pc > div.header_menus_block > a:visited > div.menu_text {
		color: #ffffff;
	}
	header > div#header_menus_pc > ul {
		display: flex;
		list-style-type: none;
	}
	header > div#header_menus_pc > ul > li {
		font-size: 0.9rem;
		margin-right: 10px;
	}
	header > div#header_menus_pc > ul > li > a,
	header > div#header_menus_pc > ul > li > a:visited {
		color: #ffffff;
	}
	header > div#header_menus_pc > ul > li::after {
		content: "|";
		margin-left: 10px;
		color: #707070;
		font-weight: bold;
	}
	header > div#header_menus_pc > ul > li:nth-last-child(1)::after {
		content: none;
	}
	div#hamburger_menu {
		display: none;
	}
	footer {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row-reverse;
		justify-content: space-around;
		margin: 0;
		padding: 0;
	}
	footer > ul {
		width: 330px;
		padding: 0;
		margin: 20px auto 0 40px;
	}
	footer > ul > li {
		width: 160px;
		margin: 0;
		padding: 0;
	}
	footer > ul > li > a {
		width: 160px;
		margin: 0;
		padding: 0;
	}
	footer > a {
		margin: 70px 40px 0 auto;
	}
	footer > div#copyright {
		width: 100vw;
		font-size: 1em;
	}
}

@media screen and (min-width:1000px) {
	header > div#header_menus_pc {
		width: 1000px;
	}
	header > div#header_menus_pc > ul {
		margin-left: 60px;
	}
}

