@charset "utf-8";
/* header
--------------------------------------------------------------------*/
header {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: left;
	position: fixed;
	top: 0px;
	left: 0px;
	padding: 20px 0 20px 40px;
	width: 100%;
	min-width: 1100px;
	z-index: 100;
}
header:after {
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
	content: "";
	position: absolute;
	top: 100%;
	left: 0px;
	width: 100%;
	height: 7px;
}
header .header__siteid {
	flex: 1;
	font-size: 0;
	line-height: 0;
}
header .header__siteid p {
	border-bottom: 1px solid #9c9c9c;
	display: inline-block;
	padding-bottom: 5px;
}
header .header__siteid a {
	display: block;
	position: relative;
}
header .header__siteid img {
	height: 40px;
}
header .header__navi {
}
header .header__navi > ul:nth-of-type(1) {
	display: flex;
	align-items: center;
}
header .header__navi > ul:nth-of-type(1) > li {
	margin-right: 40px;
}
header .header__navi > ul:nth-of-type(1) > li.search {
	position: relative;
	margin-right: 10px;
}
header .header__navi > ul:nth-of-type(1) > li.search > p {
	background: #1d1d1d url(/common/images/icon_search.png) center center no-repeat;
	background-size: 21px auto;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
	position: relative;
	width: 60px;
	height: 46px;
}
header .header__navi > ul:nth-of-type(1) > li.search.opened > p {
	background: #1d1d1d url(/common/images/arw_dropdown.png) center center no-repeat;
	z-index: +2;
}

header .header__navi > ul:nth-of-type(1) > li.search ul {
}


header .header__navi > ul:nth-of-type(1) > li.search dl {
	background-color: #1d1d1d;
	color: #ffffff;
	display: none;
	font-size: 1.4rem;
	position: absolute;
	top: 0px;
	right: 0px;
	white-space: nowrap;
	z-index: +1;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dt {
	border-bottom: 1px solid #ffffff;
	padding: 0 19px 0 30px;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dt span {
	color: #ffffff;
	display: block;
	font-weight: bold;
	line-height: 46px;
	padding-right: 70px;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dd a {
	color: #ffffff;
	display: block;
	position: relative;
	padding: 6px 10px 6px 30px;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dd a:after {
	border-top: 1px solid #ffffff;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 10px;
}
header .header__navi > ul:nth-of-type(1) > li.mail {
	margin-right: 0;
}
header .header__navi > ul:nth-of-type(1) > li.mail a {
	background: #c91011 url(/common/images/icon_mail.png) center center no-repeat;
	display: block;
	font-size: 0;
	line-height: 0;
	width: 60px;
	height: 46px;
}
header .header__menu {
	display: none;
}



@media (min-width: 668px) {
.header__overlay {
	display: none !important;
}
header .header__siteid span {
	display: none !important;
}
header .header__navi {
	display: block !important;
}
header .header__navi > ul:nth-of-type(1) > li.top {
	display: none;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dd a:hover {
	background-color: #ffffff;
	color: #c81011;
	text-decoration: none;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dd a:hover:after {
	border-top: 1px solid #c81011;
}
header .header__navi > ul:nth-of-type(1) > li.search > p {
	-webkit-transition: background-color .3s;
	transition: background-color .3s;
}
header .header__navi > ul:nth-of-type(1) > li.search > p:hover {
	background-color: #606060;
}
header .header__navi > ul:nth-of-type(1) > li.mail a {
	-webkit-transition: background-color .3s;
	transition: background-color .3s;
}
header .header__navi > ul:nth-of-type(1) > li.mail a:hover {
	background-color: #d95758;
}
header .header__navi > ul:nth-of-type(2) {
	display: none !important;
}
}

@media only screen and (min-width:668px) and (max-width:1220px) {
	header{
	padding: 20px 40px;
}
}

@media (max-width: 667px) {
.header__overlay {
	background-color: rgba(0,0,0,0.5);
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100vh;
	z-index: 99;
}
header {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: background-color .3s;
	transition: background-color .3s;
	background-color: #ffffff;
	display: block;
	align-items: center;
	justify-content: space-between;
	text-align: right;
	position: fixed;
	top: 0px;
	left: 0px;
	padding: 0 0 0 0;
	width: 100%;
	min-width: inherit;
	z-index: 100;
}
header.opened {
	background-color: #1a1a1a;
	height: 100%;
}
header:after {
	display: none;
}
header .header__siteid {
	flex: 1;
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 2.7667vw;
	left: 4vw;
}
header .header__siteid p {
	-webkit-transition: border-bottom .3s;
	transition: border-bottom .3s;
	border-bottom: 1px solid #9c9c9c;
	display: inline-block;
	padding-bottom: 0.8vw;
}
header.opened .header__siteid p {
	border-bottom: 1px solid #ffffff;
}
header .header__siteid a {
	display: block;
	position: relative;
}
header .header__siteid span {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
}
header .header__siteid img {
	height: 6.6666vw;
}
header .header__siteid > img {
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
	opacity: 1;
}
header.opened .header__siteid > img {
	opacity: 0;
}
header .header__siteid span {
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
	opacity: 0;
}
header.opened .header__siteid span {
	opacity: 1;
}
header .header__navi {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #ffffff;
	display: none;
	overflow-y: auto;
	text-align: left;
	position: absolute;
	top: 13vw;
	left: 0px;
	width: 100%;
	max-height: calc(100% - 13vw);
}
header .header__navi > ul:nth-of-type(1) {
	background-color: #f5f5f5;
	display: block;
	align-items: center;
	padding: 4vw 4vw 8vw 4vw;
}
header .header__navi > ul:nth-of-type(1) > li {
	margin-right: 0;
}
header .header__navi > ul:nth-of-type(1) > li:nth-of-type(1) a,  header .header__navi > ul:nth-of-type(1) > li:nth-of-type(2) a,  header .header__navi > ul:nth-of-type(1) > li:nth-of-type(3) a,  header .header__navi > ul:nth-of-type(1) > li:nth-of-type(4) a,  header .header__navi > ul:nth-of-type(1) > li:nth-of-type(5) a {
	display: block;
	font-size: 5.0666vw;
	position: relative;
	padding: 3vw 0 3vw 8.6666vw;
}
header .header__navi > ul:nth-of-type(1) > li:nth-of-type(1) a:after,  header .header__navi > ul:nth-of-type(1) > li:nth-of-type(2) a:after,  header .header__navi > ul:nth-of-type(1) > li:nth-of-type(3) a:after,  header .header__navi > ul:nth-of-type(1) > li:nth-of-type(4) a:after,  header .header__navi > ul:nth-of-type(1) > li:nth-of-type(5) a:after {
	border-top: 0.2666vw solid #1d1d1d;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	width: 3.3333vw;
}
header .header__navi > ul:nth-of-type(1) > li.search {
	position: relative;
	margin: 4vw 0 0 0;
}
header .header__navi > ul:nth-of-type(1) > li.search > p {
	background: #1d1d1d none;
	background-size: 21px auto;
	cursor: pointer;
	color: #ffffff;
	font-size: 5.0666vw;
	line-height: 13vw;
	position: relative;
	padding: 0 3.3333vw;
	width: auto;
	height: auto;
}
header .header__navi > ul:nth-of-type(1) > li.search > p span {
	background: url(/common/images/icon_search.png) right center no-repeat;
	background-size: 5.6vw auto;
	display: block;
	text-align: center;
	flex: 1;
}
header .header__navi > ul:nth-of-type(1) > li.search.opened > p {
	background: #1d1d1d none;
	z-index: +2;
}
header .header__navi > ul:nth-of-type(1) > li.search.opened > p span {
	background: url(/common/images/arw_dropdown.png) right center no-repeat;
	background-size: 5.6vw auto;
}
header .header__navi > ul:nth-of-type(1) > li.search dl {
	background-color: #1d1d1d;
	color: #ffffff;
	display: none;
	font-size: 3.7333vw;
	position: relative;
	top: auto;
	right: auto;
	white-space: inherit;
	width: 100%;
	z-index: +1;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dt {
	display: none;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dd {
	padding: 4vw;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dd a {
	color: #ffffff;
	display: block;
	position: relative;
	padding: 1.3vw 0 2.6vw 8.66vw;
}
header .header__navi > ul:nth-of-type(1) > li.search dl dd a:after {
	border-top: 0.2666vw solid #ffffff;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	width: 3.3333vw;
}
header .header__navi > ul:nth-of-type(1) > li.mail {
	margin: 4vw 0 0 0;
}
header .header__navi > ul:nth-of-type(1) > li.mail a {
	background: #c91011 none;
	color: #ffffff;
	display: block;
	font-size: 5.0666vw;
	line-height: 13vw;
	text-align: center;
	padding: 0;
	width: 100%;
	height: auto;
}
header .header__navi > ul:nth-of-type(1) > li.mail a:after {
	display: none;
}
header .header__navi > ul:nth-of-type(2) {
	background-color: #ffffff;
	display: flex;
	padding: 4vw;
	flex-wrap : wrap;
}
header .header__navi > ul:nth-of-type(2) > li {
	width: 50%;
}

header .header__navi > ul:nth-of-type(2) > li:nth-of-type(n + 3) {
	margin-top: 2vw;
}

header .header__navi > ul:nth-of-type(2) > li a {
	display: block;
	font-size: 3.7333vw;
	position: relative;
	padding: 0 0 0 6.6666vw;
}
header .header__navi > ul:nth-of-type(2) > li a:after {
	border-top: 0.2666vw solid #aaaaaa;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	width: 3.3333vw;
}
header .header__menu {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #c91011;
	display: inline-block;
	font-size: 0;
	line-height: 0;
	padding: 4vw;
	width: 13vw;
	height: 13vw;
}
header .header__menu p {
	position: relative;
	height: 100%;
}
header .header__menu p:after {
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
	border-top: 0.4vw solid #ffffff;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	opacity: 1;
	width: 100%;
}
header.opened .header__menu p:after {
	opacity: 0;
}
header .header__menu p span {
	display: block;
	position: relative;
	height: 100%;
}
header .header__menu p span:before {
	-webkit-transition: all .3s;
	transition: all .3s;
	border-top: 0.4vw solid #ffffff;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	margin-top: -2.4vw;
	width: 100%;
}
header .header__menu p span:after {
	-webkit-transition: all .3s;
	transition: all .3s;
	border-top: 0.4vw solid #ffffff;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	margin-top: 2.2666vw;
	width: 100%;
}
header.opened .header__menu p span:before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-top: 0px;
}
header.opened .header__menu p span:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-top: 0px;
}
}
/* footer
--------------------------------------------------------------------*/
footer {
	background-color: #1a1a1a;
	color: #ffffff;
	font-size: 1.4rem;
	margin-top: 60px;
	padding: 15px 0;
}
footer .footer__inner {
	text-align: left;
	margin: 0 auto;
	max-width: 1020px;
}
footer .footer__inner dl {
	margin-bottom: 15px;
	padding-top: 15px;
}
footer .footer__inner dt {
	font-weight: bold;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
footer .footer__inner dd {
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	margin-top: 15px;
	padding-bottom: 15px;
}
footer .footer__inner dd li {
	float: left;
	padding-top: 15px;
	margin-right: 30px;
}
footer .footer__inner dd li:nth-of-type(7) {
	clear: left;
}
footer .footer__inner dd li a {
	color: #ffffff;
	display: block;
	position: relative;
	padding-left: 20px;
}
footer .footer__inner dd li a:after {
	border-top: 1px solid #d12610;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	width: 12px;
}
footer .footer__inner p {
	font-size: 1.2rem;
	text-align: right;
}
@media (max-width: 667px) {
footer {
	background-color: #1a1a1a;
	color: #ffffff;
	font-size: 3.2vw;
	margin-top: 9.375vw;
	padding: 4vw;
}
footer .footer__inner {
	text-align: left;
	margin: 0;
	max-width: inherit;
}
footer .footer__inner dl {
	margin-bottom: 4vw;
	padding-top: 0;
}
footer .footer__inner dd {
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	margin-top: 4vw;
	padding-bottom: 4vw;
}
footer .footer__inner dd li {
	float: left;
	padding-top: 4vw;
	margin-right: 0;
	width: 50%;
}
footer .footer__inner dd li:nth-of-type(6) {
	clear: none;
}
footer .footer__inner dd li a {
	color: #ffffff;
	display: block;
	position: relative;
	padding-left: 5.3333vw;
}
footer .footer__inner dd li a:after {
	border-top: 1px solid #d12610;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	width: 3.2vw;
}
footer .footer__inner p {
	font-size: 2.6666vw;
	text-align: left;
}
}
