@charset "utf-8";
/* CSS Document */

body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.42857;
	padding-top: 138px;
	font-size: 15px;
}
@media (max-width: 1170px) {
	body{
		padding-top: 100px;
	}
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 300;
  line-height: 1.2;
}

h1 {
	font-size: 24px;
}

h2 {
	font-size: 21px;
}

h3 {
	font-size: 18px;
}

h4 {
	font-size: 16px;
}

/* --- margin --- */

.mt0 {margin-top:0px;}
.mt5 {margin-top:5px;}
.mt10 {margin-top:10px;}
.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}
.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}
.mt35 {margin-top:35px;}
.mt40 {margin-top:40px;}
.mt45 {margin-top:45px;}
.mt50 {margin-top:50px;}

.mb5 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px;}
.mb35 {margin-bottom:35px;}
.mb40 {margin-bottom:40px;}
.mb45 {margin-bottom:45px;}
.mb50 {margin-bottom:50px;}

.ml05 {margin-left:5px;}
.ml10 {margin-left:10px;}
.ml15 {margin-left:15px;}
.ml20 {margin-left:20px;}
.ml25 {margin-left:25px;}
.ml30 {margin-left:30px;}
.ml35 {margin-left:35px;}
.ml40 {margin-left:40px;}
.ml45 {margin-left:45px;}
.ml50 {margin-left:50px;}
.ml60 {margin-left:60px;}

.ml1em {margin-left:1em;}
.ml2em {margin-left:2em;}
.ml3em {margin-left:3em;}
.ml4em {margin-left:4em;}
.ml-1em {margin-left:-1em;}

.pt0 {padding-top:0px;}
.pt5 {padding-top:5px;}
.pt10 {padding-top:10px;}
.pt15 {padding-top:15px;}
.pt20 {padding-top:20px;}
.pt25 {padding-top:25px;}
.pt30 {padding-top:30px;}

.no-gutter > [class*='col-'] {
    padding-right:0;
    padding-left:0;
}

.pd10 {
	padding: 5px 0;
}

.pd20 {
	padding: 10px 0;
}

.pd30 {
	padding: 15px 0;
}

.pd40 {
	padding: 20px 0;
}

.pd50 {
	padding: 25px 0;
}

.pd60 {
	padding: 30px 0;
}

/* ５等分グリッド */
.col-xs-1-5, .col-sm-1-5, .col-md-1-5, .col-lg-1-5,
.col-xs-2-5, .col-sm-2-5, .col-md-2-5, .col-lg-2-5,
.col-xs-3-5, .col-sm-3-5, .col-md-3-5, .col-lg-3-5,
.col-xs-4-5, .col-sm-4-5, .col-md-4-5, .col-lg-4-5 {
	position: relative;
	min-height: 1px;
	padding-right: 2px;
	padding-left: 2px;
	padding-top: 2px;
}

.col-xs-1-5 {
	width: 20%;
	float: left;
}

.col-xs-2-5 {
	width: 40%;
	float: left;
}
	
.col-xs-3-5 {
	width: 60%;
	float: left;
}
	
.col-xs-4-5 {
	width: 80%;
	float: left;
}

@media (min-width: 768px) {
	.col-xs-1-5, .col-sm-1-5, .col-md-1-5, .col-lg-1-5,
	.col-xs-2-5, .col-sm-2-5, .col-md-2-5, .col-lg-2-5,
	.col-xs-3-5, .col-sm-3-5, .col-md-3-5, .col-lg-3-5,
	.col-xs-4-5, .col-sm-4-5, .col-md-4-5, .col-lg-4-5 {
		position: relative;
		min-height: 1px;
		padding-right: 0px;
		padding-left: 0px;
	}
	.col-sm-1-5 {
		width: 20%;
		float: left;
	}
	.col-sm-2-5 {
		width: 40%;
		float: left;
	}
	.col-sm-3-5 {
		width: 60%;
		float: left;
	}
	.col-sm-4-5 {
		width: 80%;
		float: left;
	}
}
@media (min-width: 992px) {
	.col-xs-1-5, .col-sm-1-5, .col-md-1-5, .col-lg-1-5,
	.col-xs-2-5, .col-sm-2-5, .col-md-2-5, .col-lg-2-5,
	.col-xs-3-5, .col-sm-3-5, .col-md-3-5, .col-lg-3-5,
	.col-xs-4-5, .col-sm-4-5, .col-md-4-5, .col-lg-4-5 {
		position: relative;
		min-height: 1px;
		padding-right: 2px;
		padding-left: 2px;
	}
	
	.col-md-1-5 {
		width: 20%;
		float: left;
	}
	
	.col-md-2-5 {
		width: 40%;
		float: left;
	}
	
	.col-md-3-5 {
		width: 60%;
		float: left;
	}
	
	.col-md-4-5 {
		width: 80%;
		float: left;
	}
}
@media (min-width: 1200px) {
	.col-xs-1-5, .col-sm-1-5, .col-md-1-5, .col-lg-1-5,
	.col-xs-2-5, .col-sm-2-5, .col-md-2-5, .col-lg-2-5,
	.col-xs-3-5, .col-sm-3-5, .col-md-3-5, .col-lg-3-5,
	.col-xs-4-5, .col-sm-4-5, .col-md-4-5, .col-lg-4-5 {
		position: relative;
		min-height: 1px;
		padding-right: 2px;
		padding-left: 2px;
	}
	.col-lg-1-5 {
		width: 20%;
		float: left;
	}
	.col-lg-2-5 {
		width: 40%;
		float: left;
	}
	.col-lg-3-5 {
		width: 60%;
		float: left;
	}
	.col-lg-4-5 {
		width: 80%;
		float: left;
	}
}	

/* --- topbar --- */

.topbar{
	font-size: 1.1em;
	color: #fff;
}

.topbar ul{
	display: table;
	float: right;
	margin: 0;
	padding: 0;
	line-height: 1.42857;
	margin-top: 30px;
}

.topbar ul li{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

.topbar ul li a{
	color: #fff;
	display: block;
}

.topbar .twitter_icon a{
	background-color: #009CFF;
	font-size: 1.313em;
	width: 1.667em;
	padding: 2px 0 3px;
	margin-right: 5px;
}

.topbar .lang{
	width: 6.389em;
	background-color: #999999;
}

.topbar .active{
	width: 6.389em;
	background: #AC1F24;
}

/* --- nav --- */

.foo {
	box-shadow:0px 0px 5px 1px #aaa;
	-moz-box-shadow:0px 0px 5px 1px #aaa;
	-webkit-box-shadow:0px 0px 5px 1px #aaa;
	padding: 0;
}

.navbar-default{
	background-color: #fff;
	border-bottom: none;
}
.navbar-brand{
	padding-top: 0;
	padding-bottom: 10px;
}
.navbar-brand img{
	margin-top: -45px;
}

.navbar-default .navbar-toggle{
	margin-top: 15px;
	margin-bottom: 15px;
}

@media (max-width: 768px) {
	.navbar-brand{
		max-width: 100%;
		padding-right: 0px;
	}
	.navbar-brand img{
		margin-top: -15px;
		margin-top: 30px;
		max-height: 100%;
		width: auto;
	}
}

.navbar-nav{
	width: 100%;
	margin-top: -30px;
}

.navbar-nav li{
	width: 25%;
	text-align: center;
}

.navbar-nav li a{
	padding: 1em .8em;
	border-bottom: 3px solid #999;
	transition: .3s;
	position: relative;
	font-weight: bold;
}

.navbar-nav li a:before{
	content: "";
	width: 1px;
	height: 16px;
	background-color: #666;
	position: absolute;
	top: 16px;
	left: 0;
}
.navbar-nav li:last-child a:after{
	content: "";
	width: 1px;
	height: 16px;
	background-color: #666;
	position: absolute;
	top: 16px;
	right: 0;
}

.navbar-default .navbar-nav li a.active,
.navbar-default .navbar-nav li a:hover,
.navbar-default .navbar-nav li a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus{
	border-bottom: 3px solid #AC1F24;
	color: #AC1F24;
	background-color: transparent;
}

/* breadcrumb */
#main ol.breadcrumb li{
	margin-bottom: 0;
	font-size: 15px;
	line-height: 1.42857;
}

/* dropdown */
.dropdown-menu{
	min-width: 228px;
	padding: 0;
}

.navbar-default .navbar-nav .open .dropdown-menu > li{
	width: 100%;
}

.navbar-default .navbar-nav .open .dropdown-menu > li > a{
	border-top: 1px solid #999;
	border-bottom: none;
	background-color: #f6f6f6;
	text-align: left;
	width: 284px;
	white-space: normal;
}

.navbar-default .navbar-nav .open .dropdown-menu > li a:before{
	content: "";
	width: 0px;
	height: 0;
}
.navbar-default .navbar-nav .open .dropdown-menu > li a:after{
	content: "";
	width: 0px;
	height: 0px;
}


.navbar-default .navbar-nav .open .dropdown-menu li:first-child a{
	border-top: none;
}

@media (max-width: 1170px) {
	.navbar-header {
			float: none;
			border-bottom: 3px solid #999;
	}
	.navbar-toggle {
			display: block;
	}
	.navbar-collapse {
			border-top: 1px solid transparent;
			box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
	}
	.navbar-collapse.collapse {
			display: none!important;
	}
	.navbar-nav {
			float: none!important;
			margin: 0;
	}
	.navbar-nav>li {
			float: none;
			width: 100%;
	}
	.navbar-nav>li>a {
			padding-top: 15px;
			padding-bottom: 15px;
	}
	.navbar-collapse.collapse.in {
			display: block!important;
	}
	.collapsing {
			overflow: hidden!important;
	}
	.navbar-nav li a:before{
		content: none;
	}
	.navbar-nav li:last-child a:after{
		content: none;
	}
	.navbar-fixed-top .navbar-collapse.in {
		max-height: 340px;
		overflow-y: auto !important;
	}
	.open .dropdown-menu {
		position: static;
		float: none;
		width: auto;
		margin-top: 0;
		border: 0;
		box-shadow: none;
	}
	.open .dropdown-menu > li > a,
		.dropdown-header {
		padding: 12px 15px;
	}
	
	.navbar-default .navbar-nav .open .dropdown-menu > li > a{
		width: 100%;
	}
}

@media (max-width: 768px) {
	.navbar-default .navbar-nav .open .dropdown-menu > li > a{
		padding: 12px 15px;
	}
}

/* --- hr --- */
hr.red{
	height: 1px;
	background-color: #AC1F24;
	border: none;
	color: #AC1F24;
}

/* --- banner --- */
.banner{
	margin-bottom: 30px;
}

.bg-gray{
	background-color: #EEE;
	padding: 25px 0;
	margin-top: 30px;
}

.bg-gray a img:hover,
.bg-gray a img:focus{
	opacity: 0.7;
	filter: alpha(opacity=70);
}


/* --- page-top --- */
#page-top{
	position: fixed;
	bottom: 20px;
	right: 20px;
}

#page-top a{
	background-color: #59595C;
	color: #FFF;
	font-size: 2.4em;
	width: 55px;
	line-height: 1em;
	padding: 8px 0 8px;
	text-align: center;
	display: block;
}

#page-top a:hover,
#page-top a:focus{
	opacity: 0.8;
	filter: alpha(opacity=80);
	transition: .3s;
}

/* --- footer --- */
footer{
	background-color: #5E5F5F;
	padding: 20px 0 55px;
	color: #fff;
	font-size: 0.857em;
	margin-top: 30px;
}

footer .foot_nav{
	margin-left: 1em;
	margin-bottom: 1.5em;
}

footer .foot_nav li{
	border-color: #FFF;
	padding-left: 10px;
	border-left: 1px solid #FFF;	
}

footer .foot_nav li:first-child{
	border-left: none;
}

footer .foot_nav li a{
	color: #fff;
}

@media (max-width: 992px) {
	footer{
		padding-bottom: 20px;
	}
	footer .foot_nav,
	footer .copyright{
		text-align: center;
		float: none !important;
	}
}

/* -- 印刷時URL表示を消す --*/
@media print {
  a[href]:after {
    content: "" !important;
  }
  abbr[title]:after {
    content: "" !important;
  }
}

ul.square li {
	list-style: square;
}

/* -- 多言語翻訳メニュー --*/
.topbar .others {
    width: 6.389em;
    background-color: #c5c5c5;
    position: relative;
}

.hidden_box label {
    cursor :pointer;
    text-align: center;
    vertical-align: middle;
}

.topbar .others:hover {
    background: #efefef;
}

/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
    background: #c5c5c5;
    position: absolute;
    top: 40px;
    right: 0px;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
    padding: 10px;
    height: auto;
    filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
    text-align: center;
    z-index: 9999;
}

label {
    margin-bottom: 0;
    font-weight: normal;
}

@media (max-width: 768px) {
	.topbar{
		position: absolute;
		top: 80px;
		width: 94%;
		margin-top: -30px;
	}
	.navbar-default .navbar-toggle{
		margin-top: 30px;
		margin-bottom: 15px;
	}

	.topbar .lang, .topbar .active, .topbar .others{
		width: 30%;
		font-size: 0.8em;
	}
	.navbar-header {
		height: 130px;
	}
}

