@charset "utf-8";
/* CSS Document */


@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans CJK JP Regular"),
	     url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
}


body {
	color: #333;
	font-family: Noto Sans JP, "sans-serif";
	font-size: 13px;
}

body * {
	background-repeat:no-repeat;
}

body.fixed {
	overflow: hidden;
}
body .page:before {
  background: rgba(0,0,0,0.0);
	bottom:0;
	content: '';
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: -1;
  -webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition:         all 600ms cubic-bezier(0.23, 1, 0.32, 1); 
}
body.fixed .page:after {
  background: rgba(0,0,0,0.65);
	bottom:0;
	content: '';
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 500;
}


a {
	color: #333;
	text-decoration:none;
}
li {
	list-style-type: none;
}
img {
  height: auto;
	max-width: 100%;
}
.wraper {
	margin-left: auto;
	margin-right: auto;
}


/*------------------------------------------------------------
  ヘッダー
------------------------------------------------------------*/
.header {
	border-top: 3px solid #282828;
  position: relative;
}
.header__top {
	padding: 15px 10px 0 10px;
}

.header__logo,
.header__news {

}
.header__news {


}
.header__logo {
  margin-bottom: 15px;
}
	
.header__logo img {
  width: 220px;
}
.header__news li + li {
  margin-top: 10px;
}

.header__news li {

}
.header__news li a {
	background-image:url(../img/common/icon_arrow01.png);
	background-size: 12px auto;
	background-position: 9px center;
	border: 1px solid #cacaca;
  display: block;
	line-height:1.3;
	padding: 7px 15px 7px 30px;
}


/*------------------------------------------------------------
  ハンバーガーボタン
------------------------------------------------------------*/
.hamburger {
  cursor: pointer;
  display: inline-block;
  height: 40px;
  position: absolute;
	right:8px;
	top: 8px;
  width: 40px;
}

.hamburger span {
  background-color: #666;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  height: 3px;
  margin: 0 5px;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  text-indent: -9999px;
}

.hamburger span:before, .hamburger span:after {
  background-color: #666;
  content: '';
  display: inline-block;
  height: 3px;
  position: absolute;
  left: 0;
  right: 0;
}

.hamburger span:before {
  top: -8px;
}

.hamburger span:after {
  bottom: -8px;
}

.hamburger.active span {
  right: 30px;
}

.hamburger.active span:before, .hamburger.active span:after {
  right: -30px;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}

.hamburger.active span:before {
  margin-top: 8px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.hamburger.active span:after {
  margin-bottom: 8px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}


/*------------------------------------------------------------
  グローバルナビ
------------------------------------------------------------*/
.gnavi {
	margin-bottom:18px;

}
.gnavi li {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;

	text-align:center;

}
.gnavi li:first-child {


}
.gnavi li a {
  display: block;
	padding:15px 0;
}

.gnavi__menu {
	background: #fff;
	border-top: 3px solid #e03710;
	bottom: 0;
	overflow: scroll;
	position: fixed;
	right: 0;
	top: 0;
	-webkit-transform: translateX(150%);
	transform: translateX(150%);
  -webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition:         all 600ms cubic-bezier(0.23, 1, 0.32, 1); 
	width: calc(100% - 70px);
	z-index: 1000;
}
.gnavi__menu.is-open {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.gnavi__menu ul {
  border-top: 1px solid #666;
}
.gnavi__menu li {
	border-bottom: 1px solid #cacaca;
  text-align: left;
}
.gnavi__menu li a {
	background-image:url(../img/common/icon_arrow01.png);
	background-position: 5px center;
	background-size: 15px auto;
  display: block; 
	padding: 18px 10px 18px 30px;
}
.gnavi__menu__close {
	text-align: right;
	padding: 7px;
}
.gnavi__menu__close span {
	display: inline-block;
	height: 26px;
	text-indent: 9999px;
  width: 26px;
	position: relative;
}
.gnavi__menu__close span:before,
.gnavi__menu__close span:after {
	background: #231815;
	content: '';
  display: inline-block;
	height: 2px;
	width: 100%;
	position: absolute;
	line-height: 34px;
	left: 0;
	margin-top: -1px;
	top: 50%;
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;	
}
.gnavi__menu__close span:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.gnavi__menu__close span:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}


/*------------------------------------------------------------
  ぱんくず
------------------------------------------------------------*/
.path {
	color: #666;
	font-size: 10px;
  padding: 0 10px;
}
.path ol li {
  display: inline;
	line-height: 1.7;
}
.path ol li + li {
  margin-left: 2px;
}
.path ol li + li:before {
  content: '＞';
	font-size: 10px;
	padding-right: 4px;
}
.path ol li a {
  color: #666;
	text-decoration: underline;
}


/*------------------------------------------------------------
  content
------------------------------------------------------------*/
.content {
	line-height: 1.6;
	padding-left: 10px;
	padding-right: 10px;

}
.content:after {
	clear:both;
	content: '';
	display:block;
	height:0;
}


/*------------------------------------------------------------
  メインエリア
------------------------------------------------------------*/
.main {

}

.page-title {
  font-size: 14px;
  font-weight: normal;
	margin: 20px -10px 15px -10px;
  position: relative;
  text-align: center;
}
.page-title:before {

}

.page-title h2 {
	color: #e03710;
	display: block;
  font-size: 25px;
	font-weight: normal;
	line-height:1.3;
}

/*------------------------------------------------------------
  メインエリア 基本スタイル
------------------------------------------------------------*/
.main h3 {
	border-top: 2px solid #ccc;
  font-size: 21px;
	font-weight: normal;
	line-height: 1.4;
	margin: 45px -10px 14px -10px;
	padding: 15px 10px 0 10px;
	position: relative;
	text-align: center;
}
.main .page-title + h3 {
  margin-top: 35px;
}
.main h3:before {
	background: #e03710;
	top: -2px;
  content: '';
	height: 2px;
  left: 50%;
  margin-left: -15%;
	position: absolute;
	width: 30%;
}
.main h4 {
	border-left: 5px solid #333;
	font-size: 18px;
	font-weight: normal;
	margin-bottom: 14px;
	margin-top: 40px;
	padding-left: 6px;

}
.main h5 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 14px;
	margin-top: 40px;
}
.main strong,
.main b {
  font-weight: bold;
}
.main u {
  text-decoration: underline;
}
.main a {
  color: #e03710;
	text-decoration: underline;
}
.main > * + * {
  margin-top: 10px;
}
.main .lead * + * {
  margin-top: 10px;
}
.main ul,
.main ol {
	margin-bottom: 20px;
  margin-top: 20px;
	
}
.main ul li {
  padding-left: 22px;
  position: relative;
}
.main ul li + li {
  margin-top: 8px;
}
.main ul li:before {
	background-color: #e03710;
  content: '';
  display: inline-block;
  height: 10px;
  left: 0;
  position: absolute;
  top: 4px;
  width: 10px;
}
.main ol {
  margin-left: 1.5em;
}
.main ol li {
  list-style-type: decimal;
	list-style-position: outside;
}
.main ol li + li {
  margin-top: 8px;
}

.main table {
	font-size: 12px;
	margin-bottom: 20px;
  margin-top: 20px;
	width:100%;
}
.main table th,
.main table td{
	border: 1px solid #999;
  padding: 7px;
	vertical-align:middle;
}
.main table th {
  background: #f8f6f3;
	font-weight: normal;
	width: 1px;
	white-space: nowrap;
}


.main .link,
.main .btn {
	margin-bottom: 10px;
	margin-top: 10px;
}
.main img {
  display: block;
	margin-left: auto;
	margin-right: auto;
}
figure {
  display: block;
	margin-left: auto;
	margin-right: auto;
}
figcaption {
  font-size: 12px;
	margin-top: 10px;
	text-align: center;
}


/*------------------------------------------------------------
  サイドメニュー
------------------------------------------------------------*/
.sidemenu {
  margin-top: 50px;
	margin: 50px -10px 0 -10px;
}
.siemenu__title {
  background: #f8f6f3;
	border-bottom: 2px solid #ccc;
	padding: 10px 10px;
	text-align: center;
}
.siemenu__title h2 {
  font-size: 18px;
	font-weight: normal;
	width: 100%;
}
ul.sidemenu__list li {
  font-size: 16px;
}
ul.sidemenu__list li + li {
	border-top: 2px solid #ccc;
}
ul.sidemenu__list li a{
	background-image:url(../img/common/icon_arrow01.png);
	background-size: 11px auto;
	background-position: right 12px center;
  display: block;
	padding: 10px 30px 10px 20px;
}
ul.sidemenu__list li.current a{
  color: #e03710;
}
ul.sidemenu__list li.pdf a{
  background-image: url(../img/common/icon_pdf.png);
	background-size: 16px auto;
	background-position: right 8px center;
}




/*------------------------------------------------------------
  フッター
------------------------------------------------------------*/
.footer {
  background-color: #f8f6f3;
	border-top: 1px solid #293234;
	margin-top: 60px;
	padding-top: 20px;
	position: relative;
	
}
.footer__inner {
	padding: 0 10px;

}
.footer__face {
  margin-bottom: 20px;
}
.footer__logo {
	margin-bottom: 10px;
	text-align: center;
}
.footer__logo img {
  width: 220px;
}
.footer__address {
	font-size: 12px;
  font-style: normal;
	line-height:1.4;
	margin-bottom: 10px;
	text-align: center;
}
.footer__address span {
	display: block;
}
.footer__tel {
	font-size: 13px;
  line-height:1.4;
	text-align: center;
}
.footer__tel a {
  color: #e03710;
}
.footer__tel span {
  display: block;
}
.footer__tel span + span {
  margin-top: 5px;
}

/* フッターメニュー */
.footer__sitemap {


}
.footer__sitemap:after {

}
.footer__sitemap__block {

}
.footer__sitemap__block + .footer__sitemap__block {
  margin-top: 2px;
}
ul.footer__sitemap__list li {
  background-color: #fff;
}
ul.footer__sitemap__list li + li {
  margin-top: 2px;
}
ul.footer__sitemap__list li a {
	display: block;
	padding: 3px 0;
}
ul.footer__sitemap__list li span {
	display: block;
	padding: 3px 0;
}
ul.footer__sitemap__list > li > a{
	background-image: url(../img/common/icon_arrow02.png);
	background-size: 8px auto;
	background-position: right 10px center;
	padding: 12px 25px 12px 10px;
}
ul.footer__sitemap__list > li > span{
	padding: 12px 25px 12px 10px;
}
ul.footer__sitemap__list ul {
  color: #666;
	padding-bottom: 7px;
}
ul.footer__sitemap__list ul li{
  display: inline-block;
	width: 49%;
}
ul.footer__sitemap__list ul li a {
  color: #666;
	display: inline-block;
	padding: 7px 10px 7px 15px;
}
ul.footer__sitemap__list ul li a:after {
  content: '＞';
	display: inline-block;
	font-size:12px;
	margin-left: 5px;
}

/* コピーライト */
.footer__bottom {
	background-color: #293234;
	color: #6c7375;
	font-size: 11px;
	line-height: 1.6;
	margin-top: 40px;
	padding: 8px 0;
	text-align: center;
}
.footer__bottom span {
  display: block;
}

/*------------------------------------------------------------
  ページトップボタン
------------------------------------------------------------*/
.footer__pagetop {

}
.footer__pagetop .pagetop a{
	background: #e03711;
	background-image:url(../img/common/icon_pagetop.png);
	background-size: 14px auto;
	background-position: center center;
	background-repeat: no-repeat;
	display: none;
	height: 30px;
	position: absolute;
	right: 10px;
	text-indent: -9999px;
	top: -31px;
	width: 30px;
}

.footer__pagetop .pagetop {

}

.footer__pagetop .pagetop.is-fixed {

}
.footer__pagetop .pagetop.is-fixed a{
	bottom: 10px;
	right: 10px;
  position: fixed;
	top: inherit;
	
}