@charset "utf-8";

/* 基本設定
----------------------------------------------------------- */
html {
	font-size: 62.5%;
}

body {
	font-family: "Meiryo", "MS PGothic", "Hiragino Kaku Gothic Pro", "Osaka", sans-serif;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.8;
}

a {
	color: #000;
	text-decoration: none;
	border:0;
}

a:visited {
	color: #000;
}

a.underline {
	text-decoration: underline;
}

em {
	font-weight: bold;
}

strong {
	font-weight: bold;
}

sup {
	margin: 0 0 0 1px;
	font-size: 10px;
	font-size: 1.0rem;
}
sub {
	margin: 0 0 0 1px;
	font-size: 10px;
	font-size: 1.0rem;
}

select {
	height: 35px;
	line-height: 35px;
	font-size: 1.6rem;
}

#wrap {
	position: relative;
	width: 100%;
	height: 100%;
	background: #fff;
	box-shadow: 5px 0 10px rgba(0, 0, 0, .5);
	font-size: 1.3rem;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 1;
}

.clearfix::after {
	display: block;
	clear: both;
	content: "";
}

.pc_view,
.tab_view {
	display: none !important;
}

/*----- .overlay -----*/
.side-open,
.side-open body {
	height: 100%;
	overflow: hidden;
}

#side_menu {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 300;
	display: none;
}

.side-open #side_menu {
	display: block;
}

#side_menu .overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #000;
	opacity: 0.6;
}

#side_menu_main {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #fff;
	-webkit-transition-timing-function: cubic-bezier(.68,-.25,.265,1.25);
	transition-timing-function: cubic-bezier(.68,-.25,.265,1.25);
	-webkit-transition-duration: .5s;
	transition-duration: .5s;
	-webkit-transition-property: -webkit-transform;
	transition-property: transform;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}

.open #side_menu_main {
	-webkit-transform: translateX(40px);
	transform: translateX(40px);
}

#side_menu_main::after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background: #000;
	width: 100%;
	height: 75px;
	content: "";
	border-bottom: 3px solid #e30920;
	z-index: 800;
}

/*----- #sp_gnav -----*/
#sp_gnav {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 1.4rem;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	z-index: -1;
}

#sp_gnav > ul {
	margin: 80px 40px 20px 25px;
}

#sp_gnav > ul > li {
	border-bottom: 1px solid #888;
}

#sp_gnav ul li ul {
	display: none;
}

#sp_gnav ul li ul li {
	border-top: 1px solid #888;
}

#sp_gnav ul li a,
#sp_gnav ul li span {
	position: relative;
	display: block;
	padding: 12px 10px 12px 20px !important;
	color: #333;
}

#sp_gnav ul li a::before,
#sp_gnav ul li span::before {
	position: absolute;
	left: 4px;
	font: normal normal normal 14px/1 FontAwesome;
}

#sp_gnav ul li a::before{
	top: 16px;
	left: 6px;
	content: "\f105";
}

#sp_gnav ul .icn_arrow a::before {
	top: 16px !important;
	left: 6px !important;
	content: "\f105" !important;
	margin: 0  !important;
}

#sp_gnav ul li a[target="_blank"]::before {
	top: 50%;
	left: 4px;
	display: block;
	content: "";
	width: 10px;
	height: 9px;
	margin: -4px 0 0;
	background: url(/common/img/icon_window_sp.png) 0 0 no-repeat;
	background-size: 10px 9px;
}

#sp_gnav ul li span::before {
	top: 50%;
	display: block;
	content: "";
	width: 8px;
	height: 8px;
	margin: -4px 0 0;
	background: url(/common/img/icon_plus_sp.png) 0 0 no-repeat;
	background-size: 8px 8px;
}

#sp_gnav ul li span.active::before {
	height: 2px;
	margin: -1px 0 0;
	background: url(/common/img/icon_minus_sp.png) 0 0 no-repeat;
	background-size: 8px 2px;
}

#sp_gnav ul li ul li a {
	padding-left: 36px !important;
}

#sp_gnav ul li ul li a::before {
	left: 24px;
}

@media screen and (max-height: 567px) {
	#sp_gnav {
		font-size: 1.3rem;
	}

	#sp_gnav ul li a {
		padding: 10px 0;

	}
}

/*----- .side-menu-btn -----*/

.side-menu-btn {
	position: absolute;
	top: 15px;
	right: 10px;
	width: 120px;
	height: 34px;
	background: url(../../img/common/menu_sp_01.png) 0 0 no-repeat;
	background-size: 100%;
	cursor: pointer;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 10;
}

.side-menu-btn.open {
	background: url(../../img/common/menu_sp_02.png) 0 0 no-repeat;
	background-size: 100%;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 1000;
}

#sp_header {
	height: 75px;
}

#sp_header #header_logo {
	padding: 20px 0 0 20px;
}

#sp_header #header_logo img {
	width: 60%;
	max-width: 281px;
}

/*----- #topic_path -----*/

#topic_path {
	width: 100%;
	padding: 8px 0px;
	box-sizing: border-box;
}

#topic_path ol li {
	float: left;
	margin: 0 10px 0 0;
}

#topic_path ol li a {
	margin: 0 10px 0 0;
	color: #fff;
	text-decoration: underline;
}

#footer_en.footer {
	background-color: #000000;
	font-family: Arial, Helvetica, sans-serif;
	color: #CCCCCC;
	text-align: center;
	padding-bottom: 50px;
	padding-top: 5px;
	font-size: small;
}
