@charset "utf-8";

/* ==========================
  初期設定
========================== */
*,
.drawer-nav ::before,
.drawer-nav ::after {
  /*box-sizing: border-box;*/
}
header button {
  border: 0!important;
}


.drawer-nav {
	position: fixed;
	z-index: 9997;
	top: 0;
	overflow: hidden;
	height: 100%;
	color: #222;
}
.drawer-brand {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 3.75rem;
	display: block;
	padding-right: .75rem;
	padding-left: .75rem;
	text-decoration: none;
	color: #222
}
.drawer-menu {
	margin: 0;
	padding: 0;
	list-style: none
}
.drawer-menu-item {
	font-size: 1rem;
	display: block;
	padding: .75rem;
	text-decoration: none;
	color: #222
}
.drawer-menu-item:hover {
	text-decoration: underline;
	color: #555;
	background-color: transparent
}
.drawer-overlay {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.2)
}
.drawer-open .drawer-overlay {
	display: block
}
.drawer--top .drawer-nav {
	top: -100%;
	left: 0;
	width: 100%;
	height: auto;
	max-height: 100%;
	-webkit-transition: top .6s cubic-bezier(.19, 1, .22, 1);
	transition: top .6s cubic-bezier(.19, 1, .22, 1)
}
.drawer--top.drawer-open .drawer-nav {
	top: 0
}
.drawer--top .drawer-hamburger, .drawer--top.drawer-open .drawer-hamburger {
	right: 0
}
.drawer--left .drawer-nav {
	left: -16.25rem;
	-webkit-transition: left .6s cubic-bezier(.19, 1, .22, 1);
	transition: left .6s cubic-bezier(.19, 1, .22, 1)
}
.drawer--left .drawer-hamburger, .drawer--left.drawer-open .drawer-nav, .drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
	left: 0
}
.drawer--left.drawer-open .drawer-hamburger {
	left: 16.25rem
}
.drawer--right .drawer-nav {
	right: -16.25rem;
	-webkit-transition: right .6s cubic-bezier(.19, 1, .22, 1);
	transition: right .6s cubic-bezier(.19, 1, .22, 1)
}
.drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-nav, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
	right: 0
}
.drawer--right .drawer-nav section {
	padding-top: 42px;
}
.drawer--right.drawer-open .drawer-hamburger {
	right: 16.25rem
}
.drawer-hamburger {
	position: fixed;
	z-index: 9999;
	top: 0px;
	display: block;
	box-sizing: content-box;
	width: 1.4rem;
	padding: 0;
	padding: 4px .75rem 26px;
	-webkit-transition: all .6s cubic-bezier(.19, 1, .22, 1);
	transition: all .6s cubic-bezier(.19, 1, .22, 1);
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	border: 0;
	outline: 0;
	/*background-color: transparent;*/
	background:url(../image/spmenu_bg.gif?v=2) center top -15px no-repeat;
	background-size:100%;
		
}
.drawer-hamburger:hover {
	cursor: pointer;
	background-color: transparent
}
.drawer-hamburger-icon {
	position: relative;
	display: block;
	margin-top: 15px
}
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
	width: 100%;
	height: 2px;
	-webkit-transition: all .6s cubic-bezier(.19, 1, .22, 1);
	transition: all .6s cubic-bezier(.19, 1, .22, 1);
	background-color: #222
}
.drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
	position: absolute;
	top: -6px;
	left: 0;
	content: ' '
}
.drawer-hamburger-icon:after {
	top: 6px
}
.drawer-open .drawer-hamburger-icon {
	background-color: transparent
}
.drawer-open .drawer-hamburger-icon:after, .drawer-open .drawer-hamburger-icon:before {
	top: 0
}
.drawer-open .drawer-hamburger-icon:before {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg)
}
.drawer-open .drawer-hamburger-icon:after {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg)
}
.sr-only {
	position: absolute;
	overflow: hidden;
	clip: rect(0,0,0,0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0
}
.sr-only-focusable:active, .sr-only-focusable:focus {
	position: static;
	overflow: visible;
	clip: auto;
	width: auto;
	height: auto;
	margin: 0
}






.drawer-dropdown-menu {
	display: none;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff
}
.drawer-dropdown-menu>li {
	width: 100%;
	list-style: none
}
.drawer-dropdown-menu-item {
	line-height: 3.75rem;
	display: block;
	padding: 0;
	padding-right: .75rem;
	padding-left: 1.5rem;
	text-decoration: none;
	color: #222
}
.drawer-dropdown-menu-item:hover {
	text-decoration: underline;
	color: #555;
	background-color: transparent
}
.drawer-dropdown.open>.drawer-dropdown-menu {
	display: block
}
.drawer-dropdown .drawer-caret {
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 4px;
	-webkit-transition: opacity .2s ease, -webkit-transform .2s ease;
	transition: opacity .2s ease, -webkit-transform .2s ease;
	transition: transform .2s ease, opacity .2s ease;
	transition: transform .2s ease, opacity .2s ease, -webkit-transform .2s ease;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
	vertical-align: middle;
	border-top: 4px solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent
}
.drawer-dropdown.open .drawer-caret {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg)
}
.drawer-container {
	margin-right: auto;
	margin-left: auto
}

.drawer-nav {
    width: 100%;
}
.drawer--right .drawer-nav {
    right: -100%;
}
.drawer--right.drawer-open .drawer-hamburger {
    /*right: 21rem!important;*/
    right: 0rem!important;
}

.drawer-menu-header {
	height:42px;
	background-color: #fff;
	text-align: right;
}
.drawer-menu-header p {
	line-height:42px;
	padding-right:15%;
}
.drawer-menu-header p a{
	color:#000;
	font-size:14px;
	text-decoration: none;
}

@media (min-width:737px) {
	.drawer-hamburger {
		display:none!important;
	}
}

@media (max-width:736px) {
	.drawer-hamburger {
    	z-index: 9998!important;
	}
	
	.drawer-nav ul li.sidemenu_top{
		border-top:0px;
	}
}

.bl_accordion {
    position:relative;
	height:100VH;
	width:100%;
	font-size:14px;
}
.bl_accordion .bl_accordionContent {
    position:absolute;
    top:82px;
    right:0px;
}
/* ==========================
  アコーディオンメニュー
========================== */
.bl_accordion {
	background:url(../image/bl_accordion_bg2.gif) left 55% top no-repeat;
	background-size: 200%;
}
.bl_accordionHeader {
  	height:42px;
	text-align: right;
    line-height: 42px;
    padding-right: 15%;
}
.bl_accordionHeader a{
  	text-decoration: underline;
	color:#000;
	/*background:url(../image/icon_mail.png) right 8.5em center no-repeat;
	background-size: 20px;
	background-color: #fff;*/
}
.bl_accordionTitle {
	width:45%;
    font-weight: bold;
    background-color: #6e6b6b;
    padding: 0px 2% 0 4%;
	padding-left:23%!important;
    transition: 0.3s;
    cursor: pointer;
    position: relative;
	color: #fff;
}
.bl_accordionTitle.twolines,
.bl_accordionContent .twolines {
    padding: 17px 2% 0 4%;
	line-height: 16px;
}
.bl_accordionTitle a {
	color:#fff;
	text-decoration: none;
}
.bl_accordionTitle::before {
  	content: "";
	width: 8px;
    height: 8px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    position: absolute;
    top: 28px;
    transform: rotate(315deg);
    right: 12px;
    transition: 0.3s;
}

.bl_accordionTitle.active::before {
  transform: rotate(225deg);
  top: 30px;
}

.bl_accordionTitle.active::before {
  border-right: 4px solid #0075c2;
  border-bottom: 4px solid #0075c2;
}
.bl_accordionTitle.active {
  background-color: #0075c2;
  color: #fff;
}
#title01 {
	background:url(../image/gnavi01sp.jpg) left top no-repeat;
	background-size: 70px;
}
#title01.active {
	background:url(../image/gnavi01sp.jpg) left top no-repeat;
	background-size: 70px;
  	background-color: #0075c2;
}
#title02 {
	background:url(../image/gnavi02sp.jpg) left top no-repeat;
	background-size: 70px;
}
#title02.active {
	background:url(../image/gnavi02sp.jpg) left top no-repeat;
	background-size: 70px;
  	background-color: #0075c2;
}
#title03 {
	background:url(../image/gnavi03sp.jpg) left top no-repeat;
	background-size: 70px;
}
#title03.active {
	background:url(../image/gnavi03sp.jpg) left top no-repeat;
	background-size: 70px;
  	background-color: #0075c2;
}
#title04 {
	background:url(../image/gnavi04sp.jpg) left top no-repeat;
	background-size: 70px;
}
#title04.active {
	background:url(../image/gnavi04sp.jpg) left top no-repeat;
	background-size: 70px;
  	background-color: #0075c2;
}
#title05 {
	background:url(../image/gnavi05sp.jpg) left top no-repeat;
	background-size: 70px;
}
#title05.active {
	background:url(../image/gnavi05sp.jpg) left top no-repeat;
	background-size: 70px;
  	background-color: #0075c2;
}
#title06 {
	background:url(../image/gnavi06sp.jpg) left top no-repeat;
	background-size: 70px;
}
#title06.active {
	background:url(../image/gnavi06sp.jpg) left top no-repeat;
	background-size: 70px;
  	background-color: #0075c2;
}
.bl_accordionContent {
  padding: 0 0px;
  opacity: 0;
  height: 0;
  line-height: 0;
  transition: 0.3s;
  background-color: #fff;
	right: -60% !important;
}
.bl_accordionContent {
	width:55%;
}
.bl_accordionContent a {
	color:#000;
}
.bl_accordionContent li {
	width:100%;
	padding:0 4%;
}
.bl_accordionTitle,
.bl_accordionContent li {
	height:70px;
	line-height:70px;
	border-bottom:1px solid #666;
	box-sizing: border-box;
}
.bl_accordionTitle　{
    position:relative;
}
.bl_accordionTitle img {
    position:absolute;
    top:0px;
    left:0px;
	width:70px;
	display:none;
}
.bl_accordionContent > * + * {
  margin-top: 0;
}
.bl_accordionContent img {
  height: 0;
}

.bl_accordionContent.open {
  padding: 0px;
  opacity: 1;
  line-height: normal;
  height: auto;
	right: 0 !important;
}
.bl_accordionContent.open > * + * {
  /*margin-top: 10px;*/
}
.bl_accordionContent.open img {
  height: auto;
}

#title00 {
	width:92%;
	background-color: #000;
	padding:0 4%;
}
#title00 a{
	color:#fff;
	text-decoration: none;
	line-height:40px;
	font-weight:bold;
}
/* ==========================
  タブ以外のコンテンツの中身
========================== */


/* ====================================
  ここからPC幅
==================================== */
@media screen and (min-width: 768px) {
  .hp_displaySP {
    display: none !important;
  }
}

/* ====================================
  ここからスマホ幅
==================================== */
@media screen and (max-width: 767px) {
  .hp_displayPC {
    display: none !important;
  }
}