/*
 * Hiraku Ver.1.0.2 (https://www.appleple.com)
 * Copyright appleple | MIT License
 *
 */

.js-hiraku-offcanvas-active {
	position: fixed;
	z-index: 100001;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .3);
}

.js-hiraku-offcanvas-open {
	display: block;
}

.js-hiraku-offcanvas-body {
	z-index: 0;
	left: 0;
	width: 100%;
	transition: left .3s ease-in-out;
}

.js-hiraku-offcanvas-body-right {
	position: fixed;
	left: -70%;
	overflow-y: hidden;
}

.js-hiraku-offcanvas-body-left {
	position: fixed;
	left: 70%;
	overflow-y: hidden;
}

.js-hiraku-offcanvas-body-moving {
	position: fixed;
	left: 0;
}

.js-hiraku-offcanvas-active .js-hiraku-offcanvas-sidebar {
	position: fixed;
	z-index: 10002;
	top: 0;
	bottom: 0;
	display: block;
	overflow-y: scroll;
	box-sizing: border-box;
	width: 70%;
	max-width: 100%;
	background-color: #fff;
	-webkit-overflow-scrolling: touch;
}

.js-hiraku-offcanvas:focus {
	background-color: rgba(0, 0, 0, .3);
}

.js-hiraku-offcanvas-active .js-hiraku-offcanvas-sidebar-right {
	right: 0;
	left: auto;
	margin-right: -70%;
	transition: margin-right .3s ease-in-out;
}

.js-hiraku-offcanvas-active .js-hiraku-offcanvas-sidebar-left {
	right: auto;
	left: 0;
	margin-left: -70%;
	transition: margin-left .3s ease-in-out;
}

.js-hiraku-offcanvas-active .js-hiraku-offcanvas-sidebar-right.active {
	margin-right: 0;
	transition: margin-right .3s ease-in-out;
}

.js-hiraku-offcanvas-active .js-hiraku-offcanvas-sidebar-left.active {
	margin-left: 0;
	transition: margin-left .3s ease-in-out;
}

.js-hiraku-header-fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	transition: margin-left .3s ease-in-out;
	z-index: 1000000;
}

.js-hiraku-offcanvas-body-right,
.js-hiraku-offcanvas-body-left {
	overflow: hidden;
}

.js-hiraku-offcanvas-body-right .js-hiraku-header-fixed {
	margin-left: -70%;
}

.js-hiraku-offcanvas-body-left .js-hiraku-header-fixed {
	margin-left: 70%;
}

.js-hiraku-offcanvas-close-btn {
	position: absolute;
	overflow: hidden;
	clip: rect(0 0 0 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

.hiraku-open-btn {
	padding: 6px;
	cursor: pointer;
	border: 1px solid #ccc;
	border-radius: 3px;
	background: transparent;
}

.hiraku-open-btn-line {
	position: relative;
	width: 18px;/*ハンバーガーの横幅*/
	margin: 6px auto;
	transition: .1s all;
	border-radius: 1px;
}

.hiraku-open-btn-line:before,
.hiraku-open-btn-line:after {
	position: absolute;
	width: 100%;
	content: '';
	transition: .3s all;
}


.hiraku-open-btn-line,
.hiraku-open-btn-line:before,
.hiraku-open-btn-line:after{
	display: block;
	height: 2px;/*ハンバーガーの太さ*/
	background-color: #FFF;/*ハンバーガーの色*/
	border-radius: 1px;
	}


.hiraku-open-btn-line:before {
	top: -6px;
}

.hiraku-open-btn-line:after {
	bottom: -6px;
}

[aria-expanded='true'] .hiraku-open-btn-line {
	background-color: transparent;
}

[aria-expanded='true'] .hiraku-open-btn-line:before,
[aria-expanded='true'] .hiraku-open-btn-line:after {
	width: 22px;
}

[aria-expanded='true'] .hiraku-open-btn-line:before {
	-ms-transform: translate(-2px, 6px) rotate(45deg);
	transform: translate(-2px, 6px) rotate(45deg);
}

[aria-expanded='true'] .hiraku-open-btn-line:after {
	-ms-transform: translate(-2px, -6px) rotate(-45deg);
	transform: translate(-2px, -6px) rotate(-45deg);
}


/*==============================================================*/
/* 装飾 */
/*==============================================================*/

/*768px以上*/
@media print, screen and (min-width: 768px) {
  .js-hiraku-header{
    display: none;
  }
}

.hiraku-navbar{
  padding: 0 2%;
  border-bottom: solid 1px #ccc;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
	background: #FFF;
	overflow:hidden;}

/*768px以上*/
@media print, screen and (min-width: 768px) {
  .hiraku-navbar{
    display: none;}
  
  .js-hiraku-offcanvas-body{
    padding-top:0px;/*バーの高さ分*/
  }
}

.hiraku-navbar .logo{
	float:left;
  height: 45px;
	box-sizing:border-box; 
	color:#FFF}

.hiraku-navbar .logo img{
  height: 100%;
}

/*ボタン装飾*/
.hiraku-btn{
	float: right;
  position: relative;
  margin:5px;
	height: 40px;
	width: 40px;
	padding:5px;
  padding-bottom: 15px;
  box-sizing: border-box;
	background: #055494;
	border: none;
	border-radius: 3px;
	text-align: center;
  line-height:1;
  color: #FFF;
}

.hiraku-btn-label{
  display:block;
  position: absolute;
  bottom: 5px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 38px;
	letter-spacing:normal;
  font-size: 10px;
}

.hiraku-btn.tel{
  background: #0079B8;
  color: #FFF
}

.hiraku-btn.tel:before{
	content: "\f095";
  font-size: 16px;
  font-family: 'Font Awesome 5 Free';
	font-weight: 900 /*solidの場合*/
}



/* 
========================================================== */

.hiraku-list{
  border-top: solid 1px #ccc;
  text-align: left;
  font-size: 14px;
}

.js-hiraku .logo{
  display: block;
  width: 80%;
  max-width: 277px;
  margin: 0 auto;
  padding: 10px 0 30px
}

.js-hiraku .logo img{
  width: 100%;
}

.hiraku-list li{
  border-bottom: solid 1px #ccc;
  box-sizing: border-box;
}

/*500px以上*/
@media print, screen and (min-width: 500px) {
  .hiraku-list li{
    float: left;
    width: 50%;
  }
}

.hiraku-list li:nth-of-type(even){
  border-left: solid 1px #ccc;
}

.js-hiraku-offcanvas-body {
    margin-top: 50px;
  }

/*768px以上*/
@media print, screen and (min-width: 768px) {
  
  .js-hiraku-offcanvas-body {
    margin-top: 0px;
  }
  
  .hiraku-list li{
    float: left;
    border: none;
  }
  
  .hiraku-list li+li{
    border-left: solid 1px #ccc;
  }
}

.hiraku-list a{
  display: block;
  position: relative;
  padding: 10px;
  padding-left: 30px;
}


.hiraku-list a::before{
  display: block;
  position: absolute;
  top: 15px;
  left: 10px;
  content:'';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 7px;
  border-color: transparent transparent transparent #055494;

}

