@charset "utf-8";

@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 400;
  src: url("../css/notosans_light.woff") format("woff");
}
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 500;
  src: url("../css/notosans_regular.woff") format("woff");
}
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 600;
  src: url("../css/notosans_medium.woff") format("woff");
}

/* ==========================================================================
   共通
============================================================================= */
html,body,h1,h2,h3,h4,h5,p,dl, dt, dd, ol, ul, li,table,tr, th, td{
	margin: 0;
	padding: 0;
}

body {
	position: relative;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #000;
    font-family: "Noto Sans JP", "游ゴシック","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
ol,ul{
  list-style-type: none;
}
table{
	border-collapse:collapse;
	border-spacing:0;
}
a {
	color: #000;
	border: 0;
	outline: none;
	text-decoration: none;
}
a:hover {
	color: #e60012;
	border: 0;
	text-decoration: none;
}
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
img{
	border: 0;
	vertical-align:bottom
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#sp_navi_set{
	display: none;
}
.for_sp{display: none;}
.for_pc{display: block;}
@media screen and (max-width: 550px){
	.for_sp{display: block;}
	.for_pc{display: none;}
}
/* -------------------------------

ヘッダー

-------------------------------- */
#header_bar{
	position: relative;
	color: #fff;
	background-color: #e60012;
	border-bottom: solid 10px #edf1f2;
	z-index: 200;
}
.header_bar_inner{
	max-width: 1200px;/* 横幅最大値 */
	margin: 0 auto;
}
#header_bar #logo{
	float: left;
	width: 240px;
	margin: 23px 0 15px 30px;
}
#header_bar #logo img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
	overflow:hidden;
}
#header_bar ul{
	display: block;
	float: right;
	font-size: 0;
}
#header_bar ul li{
	display: inline-block;
	border-left: solid 1px #f54848;
}
#header_bar ul li.on{
	display: inline-block;
	border-left: solid 1px #f54848;
	background-color: #f54848;
}
#header_bar ul li a{
	color: #fff;
	text-align: center;
	display: block;
	font-size: 17px;
	font-weight: 600;
	padding: 25px 70px;
	transition: background-color 0.2s;
}
#header_bar ul li:last-child{
	border-right: solid 1px #f54848;
}
#header_bar ul li a:hover{
	background-color: #fa5b5b;
}
#main_title{
	border-bottom: solid 1px #eee;
}
#main_title h1{
	font-size: 30px;
	font-weight: 600;
	letter-spacing: 1px;
	padding: 30px 0 15px 0;
	display: inline-block;
	border-bottom: solid 2px #e60012;
}
#main_title h1.ln{
	letter-spacing: 0px;
}
@media screen and (max-width: 1140px){
	#header_bar ul li a{
		padding: 25px 60px;
	}
}
@media screen and (max-width: 1050px){
	#header_bar ul li a{
		padding: 25px 50px;
	}
}
/* tablet */
@media screen and (max-width: 1000px){
	#header_bar #logo{
		width: 35vw;
		max-width: 180px;
		margin: 20px 0 15px 15px;
	}
	#header_bar ul li a{
		font-size: 16px;
		padding: 20px 0px;
		width: 16.5vw;
	}
	#main_title h1{
		font-size: 3vw;
		margin: 0 15px;
	}
}
/* SP */
@media screen and (max-width: 650px){
	#cover{
		display: none;
		position: absolute;
		z-index: 100;
		width: 100%;
		height: 100%;
		background:url(../img/cover.png) 0 0 repeat;
	}
	#header_bar{
		height: 57px;
		border-bottom: solid 7px #edf1f2;
	}
	#header_bar #logo{
		width: 180px;
		margin: 13px 0 0 13px;
	}
	#header_bar ul{
		display: none;
	}
	/* SP NAVI */
	#sp_navi_set{
		display: block;
	}
	#sp_navi{
		position: absolute;
		top: 57px;
		left: 0px;
		width: 100%;
		height: 50px;
		z-index:1000;
	}
	#sp_navi_bt{
		width: 50px;
		height: 50px;
		cursor: pointer;
		position: absolute;
		top: -57px;
		right: 0px;
	}
	#sp_navi_bt img{
		width: 50px;
		height: 50px;
	}
	#sp_navi_list{
		display: none;
		font-size: 14px;
		font-weight: 500;
	}
	#sp_navi_list p.stl{
		color: #555;
		text-align: left;
		padding: 5px 0 5px 25px;
		border-bottom: solid 1px #ccc;
		background: url(../img/li1.png) 10px center no-repeat #ddd;
	}
	#sp_navi_list ul{
		display: flex;
		flex-wrap:wrap;
	}
	#sp_navi_list ul li{
		width: 50%;
		text-align: center;
		border-right: solid 1px #ddd;
		border-bottom: solid 1px #ddd;
		background-color: #fff;
	}
	#sp_navi_list ul li:nth-child(even){
		border-right: none;
	}
	#sp_navi_list ul li a{
		display: block;
		width: 100%;
		text-decoration: none;
		color: #000;
		padding: 10px 0;
	}
	#sp_navi_close{
		display: block;
		color: #fff;
		font-size: 14px;
		font-weight: 500;
		text-align: center;
		background-color: #666;
		padding: 7px 0;
		cursor: pointer;
	}
	#main_title h1{
		font-size: 5vw;
		padding: 20px 0 10px 0;
	}
}
/* -------------------------------

コンテンツーエリア

-------------------------------- */
#mainbody{
	background: url(../img/bg.png) center 0 no-repeat #fff;
	background-attachment: fixed;
	background-size: cover;
	padding: 40px 0 80px 0;
	position: relative;
}
#content{
	background-color: #fff;
	min-height: 500px;
	margin-right: 290px;
	border: solid 1px #eee;
	box-shadow: 10px 10px 0 rgba(0,0,0,0.03);
}
#content.single{
	margin-right: 0;
}
.inner{/* 横幅最大値 */
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
	position: relative;
}
@media screen and (max-width: 1220px){
	#content{
		margin-right: 280px;
	}
}
@media screen and (max-width: 1000px){
	#mainbody{
		padding: 20px 0 40px 0;
	}
	#content{
		margin-right: 210px;
		box-shadow: 6px 6px 0px rgba(0,0,0,0.03);
	}
	.inner{
		padding: 0 20px;
	}
}
/* tablet */
@media screen and (max-width: 830px){
	#content{
		margin-right: 0px;
	}
}
/* SP */
@media screen and (max-width: 550px){
	#mainbody{
		padding: 10px 0 30px 0;
	}
	.inner{
		padding: 0 5px;
	}
}
/* -------------------------------

サイドナビ

-------------------------------- */
#sidenavi{
	text-align: left;
	margin-left: 900px;
	width: 270px;
	background-color: #fff;
	border: solid 1px #eee;
	box-shadow: 10px 10px 0px rgba(0,0,0,0.03);
}
#sidenavi.fixed_top{
	position: absolute;
	top: 0;
}
#sidenavi.fixed{
	position: fixed;
	top: 0;
}
#sidenavi.fixed_bottom{
	position: absolute;
	bottom: 0;
}
#sidenavi .subttl{
	color: #fff;
	background-color: #e60012;
	padding: 10px 20px;
	font-weight: 600;
}
#sidenavi ul{
	font-size: 15px;
	font-weight: 600;
}
#sidenavi li a{
	color: #333;
	display: block;
	padding: 25px 20px 25px 40px;
	border-bottom: solid 1px #e4e8e9;
	background: url(../img/li2.png) 20px center no-repeat #fff;
	transition: background 0.3s;
}
#sidenavi li a:hover{
	color: #000;
	background: url(../img/li3.png) 20px center no-repeat #fff5f5;
}
#sidenavi li span{
	color: #e60012;
	display: block;
	padding: 25px 20px 25px 40px;
	border-bottom: solid 1px #e4e8e9;
	background: url(../img/li1.png) 20px center no-repeat #fff;
}
#sidenavi li:last-child span{
	padding: 25px 20px 25px 40px;
	border-bottom: none;
}
#sidenavi li a.org,
#sidenavi li span.org{
	border-bottom: none;
}
#sidenavi ul.sub{
	padding: 0 0 20px 0;
	font-size: 13px;
	font-weight: 500;
	border-bottom: solid 1px #e4e8e9;
}
#sidenavi ul.sub li a{
	padding: 6px 20px 6px 50px;
	border-bottom: none;
	background: url(../img/arrow1.png) 36px 12px no-repeat #fff;
	transition: background 0.2s;
}
#sidenavi ul.sub li a:hover{
	color: #000;
	background: url(../img/arrow1.png) 36px 12px no-repeat #fff5f5;
}
#sidenavi ul.sub li span{
	padding: 6px 20px 6px 50px;
	border-bottom: none;
	background: url(../img/arrow2.png) 36px 12px no-repeat #fff;
	transition: background 0.2s;
}
/* SmallPC */
@media screen and (max-width: 1220px){
	#sidenavi{
		margin-left: 0;
		width: 240px;
	}
	#sidenavi.fixed_top,
	#sidenavi.fixed,
	#sidenavi.fixed_bottom{
		right: 30px;
	}
}
/* tablet */
@media screen and (max-width: 1000px){
	#sidenavi{
		width: 200px;
		box-shadow: 6px 6px 0px rgba(0,0,0,0.03);
	}
	#sidenavi .subttl{
		padding: 10px 15px;
	}
	#sidenavi li a{
		display: block;
		padding: 25px 20px 25px 35px;
	}
	#sidenavi li span{
		padding: 25px 20px 25px 35px;
	}
	#sidenavi.fixed_top,
	#sidenavi.fixed,
	#sidenavi.fixed_bottom{
		right: 0px;
	}
}
/* SP */
@media screen and (max-width: 830px){
	#sidenavi{
		display: none;
	}
}
/* -------------------------------

パンくずリスト

-------------------------------- */
#breadcrumbs{
	background-color: #e60012;
}
#breadcrumbs ol{
	max-width: 1000px;
	margin: 0 auto;
}
#breadcrumbs li{
	font-size: 14px;
	color: #fff;
	display: inline-block;
	background-image: url(../img/arrow3.png);
	background-position: 0 center;
	background-repeat: no-repeat;
}
#breadcrumbs li:first-child,
#breadcrumbs li:first-child a:hover{
	background-image: none;
}
#breadcrumbs li a{
	color: #fff;
	display: block;
	font-weight: 500;
}
#breadcrumbs li a:hover{
	background-image: url(../img/arrow3.png);
	background-position: 0 center;
	background-repeat: no-repeat;
	background-color: #ff5052;
}
#breadcrumbs li span{
	display: block;
	padding: 15px;
	font-weight: 500;
}
/* tablet */
@media screen and (max-width: 830px){
	#breadcrumbs li a{
		font-size: 13px;
		padding: 15px 0;
	}
	#breadcrumbs li span{
		padding: 0 5px 0 10px;
	}
}
/* SP */
@media screen and (max-width: 550px){
	#breadcrumbs{
		border-top: solid 3px #e60012;
	}
	#breadcrumbs ol{
		display: none;
	}
}
/* -------------------------------

フッターエリア

-------------------------------- */
#footer_navi_set{
	position: relative;
}
#footer_aera{
	background-color: #f2f2f2;
}
#footer_aera_inner{
	max-width: 1000px;
	margin: 0 auto;
	width: 100%;
	padding: 40px 0;
}
#footer_aera_left{
	float: left;
	padding: 20px 0 50px 15px;
}
#footer_aera_left .logo_gray{
	width: 230px;
}
#footer_aera_left .logo_gray img{
	width: 100%;
}
#footer_aera_right{
	float: right;
	padding: 0 0 0 15px;
}
#footer_aera_right p{
	font-weight: 500;
	margin-bottom: 10px;
}
#footer_aera_right .block{
	float: left;
	padding: 20px 20px 20px 10px;
}
#footer_aera_right .block li{
	padding: 4px 0 4px 10px;
}
#footer_aera_right .block li a{
	font-size: 13px;
	padding-left: 11px;
	background:url(../img/arrow2.png) 0 center no-repeat;
}
#footer_aera_right .block li a:hover{
	color: #e60012;
}
#btn_pagetop{
	width: 63px;
	position: absolute;
	bottom: 65px;
	right: 20px;
	opacity: 0.5;
	transition: opacity 0.3s;
}
#btn_pagetop img{
	width: 100%;
	height: auto;
}
#btn_pagetop:hover{
	opacity: 1;
}
/* tablet */
@media screen and (max-width: 830px){
	#footer_aera_left{
		float: none;
		text-align: center;
		padding: 0 0 10px 0;
	}
	#footer_aera_left .logo_gray{
		margin: 20px auto 0;
		width: 180px;
	}
	#footer_aera_right{
		float: none;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	#footer_aera_right .block{
		text-align: center;
		padding: 20px 0 0 0;
		display: block;
		flex-basis: 50%;
	}
	#footer_aera_right p{
		font-size: 14px;
		font-weight: 500;
		margin: 0;
		padding: 6px 0;
		color: #fff;
		background-color: #999;
		border-bottom: solid 1px #e3e3e3;
		border-right: solid 1px #e3e3e3;
	}
	#footer_aera_right .block li{
		padding: 0;
	}
	#footer_aera_right .block li:before{
		content: "";
	}
	#footer_aera_right .block li a{
		display: block;
		font-size: 14px;
		font-weight: 500;
		color:#000;
		padding: 10px 0;
		border-bottom: solid 1px #e3e3e3;
		border-right: solid 1px #e3e3e3;
		background:url(../img/arrow1.png) 10px center no-repeat;
	}
	#footer_aera_right .block:first-child li a{
		border-left: solid 1px #e3e3e3;
	}
	#btn_pagetop{
		bottom: 7px;
		right: 20px;
		width: 50px;
	}
}
/* SP */
@media screen and (max-width: 550px){
	#footer_aera_inner{
		padding: 40px 0 0;
	}
	#footer_aera_left .logo_gray{
		margin: 20px auto 20px;
		width: 180px;
	}
	#footer_aera_right{
		display: block;
	}
	#footer_aera_right p{
		padding: 3px 0;
	}
	#footer_aera_right .block{
		text-align: center;
		padding: 0;
		display: block;
		width: 100%;
	}
	#footer_aera_right .block ul{
		display: flex;
		flex-wrap: wrap;
	}
	#footer_aera_right .block li{
		width: 100%;
	}
	#footer_aera_right .block li a{
		padding: 20px 0;
	}
	#footer_aera_right .block:first-child li a{
		border-left: none;
	}
	#btn_pagetop{
		width: 42px;
		bottom: 10px;
		right: 15px;
		opacity: 1;
	}
}
/* -------------------------------

フッターバー

-------------------------------- */
#footer_bar{
	color: #fff;
	background-color: #383838;
}
#footer_bar_inner{
	font-size: 14px;
	max-width: 1000px;
	margin: 0 auto;
}
#footer_bar_inner #copyright{
	float: left;
	padding: 15px;
}
#footer_bar_inner ul{
	display: block;
	font-size: 0;
	float: right;
}
#footer_bar_inner ul li{
	display: inline-block;
}
#footer_bar_inner ul li a{
	color: #fff;
	font-size: 14px;
	display: block;
	padding: 15px 25px;
	transition: background-color 0.2s;
}
#footer_bar_inner ul li a:hover{
	background-color: #666;
}

/* tablet */
@media screen and (max-width: 830px){
	#footer_bar_inner #copyright{
		float: none;
		padding: 26px 15px;
		text-align: center;
		color: #000;
		background-color: #fff;
	}
	#footer_bar_inner ul{
		float: none;
		text-align: center;
	}
	#footer_bar_inner ul li{
		width: 100%;
	}
	#footer_bar_inner ul li a{
		display: block;
		font-size: 13px;
		padding: 10px 0;
		text-align: center;
		font-weight: 500;
	}
}
