@charset "UTF-8";
/* ==========================================================================
COMMON
Googlefont
			font-family: "Roboto", sans-serif;
			font-family: "Noto Sans JP", sans-serif;
			
.roboto-<uniquifier> {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

カラー
コーポレートカラー：#00B8B2
背景グリーン：#AFDFDE
背景ベージュ：#FFFDFA
文字：#3E3A39;
========================================================================== */

/*===============================================
 レスポンシブ スマホサイズ　横幅 414px以下
===============================================*/
@media screen and (max-width: 414px) {}
/*===============================================
 レスポンシブ	タブレットサイズ　横幅 570px以下
===============================================*/
@media screen and (max-width: 570px) {}
/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {}
/*===============================================
 レスポンシブ タブレットサイズ 横幅 992px以下
===============================================*/
@media screen and (min-width: 769px) and (max-width: 992px) {}
/*===============================================
 レスポンシブ PCサイズ 横幅 1,200px以下 以上
===============================================*/
@media screen and (min-width: 993px), print {}

* {
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
	
	text-rendering: optimizelegibility;
	
	-webkit-tap-highlight-color:rgba(0,0,0,0.2);
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	
	-moz-tap-highlight-color:rgba(0,0,0,0.2);
	-moz-text-size-adjust: none;
	-moz-font-smoothing: antialiased;
	
	-ms-tap-highlight-color:rgba(0,0,0,0.2); 
	-ms-text-size-adjust: none;
	-ms-font-smoothing: antialiased;

	/*
	-webkit-font-feature-settings: 'palt' 1; for Android 4.4
	font-feature-settings: 'palt' 1;*/
	/*	text-align: justify;*/
	word-break: break-all;
	text-justify: inter-ideograph;
}
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	width: 100%;
	min-width: 1080px;
	position: relative;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	letter-spacing: 0.0em;
	line-height: 1.6;
	color: #3E3A39;
	margin: 0px auto;
/*	padding-top: 80px; */
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: bold;
}
h1, h2, h3, h4, h5, p {
	display:block;
	margin:0;
}
img {
	vertical-align:top;
	margin: 0px;
}
ul, ol, dl, li, dt, dd {
	display:block;
	list-style-type:none;
	margin:0px;
	padding:0px;
}
em {
	font-style: normal;
}
a:not([href^="tel:"]), a:not([href^="tel:"]):before, a:not([href^="tel:"]):after {
	-webkit-transition: 0.2s ease-in-out;
	   -moz-transition: 0.2s ease-in-out;  
      -o-transition: 0.2s ease-in-out;  
         transition: 0.2s ease-in-out;
	text-decoration: none;
	color: #3E3A39;
}
a:not([href^="tel:"]):hover {
	_opacity:0.6;
	color: #00B8B2
}
a[href^="tel:"] {
	cursor: default;
}

rp,rt {
	font-size: small;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	border: none;
	empty-cells: show;
}
hr {
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	border-color: #999;
	height: 1px;
	clear: both;
}
header,nav,section,article,aside,footer {
	display: block;
}
figure {
	display: block;
	margin: 0px;
}
/* shadow */
.bg_shadow {
	-webkit-box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);
	-moz-box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);
	-o-box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);
	box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);
	behavior:url(../js/PIE.htc);
}
.bg_shadow2 {
	box-shadow:0px 5px 0px 0px #1E1418,0px -5px 0px 0px #1E1418;
}
.corner_circle {
	border-radius: 6px;
  -webkit-border-radius: 6px;    /* Safari,Google Chrome */  
  -moz-border-radius: 6px;   /* Firefox */
	behavior:url(../js/PIE.htc);
}
.transition {
	-webkit-transition: 0.2s ease-in-out;
	   -moz-transition: 0.2s ease-in-out;  
       -o-transition: 0.2s ease-in-out;  
          transition: 0.2s ease-in-out;
}
.txt_scale {
	transform: scale( 0.75 , 1 );
	letter-spacing: -0.1em;
}
.arrow a:after {
	display:block;
	content:"";
	position:absolute;
	border-top:2px solid #FFFFFF;
	border-right:2px solid #FFFFFF;
	width:6px;
	height:6px;
	top:50%;
	right:8px;
	margin-top:-4px;
	-webkit-transform: rotate(45deg);
  	      transform: rotate(45deg);
}
.arrow2 a:after {
	display:block;
	content:"";
	position:absolute;
	border-top: none;
	border-bottom:2px solid #FFFFFF;
	border-right:2px solid #FFFFFF;
	width:6px;
	height:6px;
	top:50%;
	right:16px;
	margin-top:-4px;
	-webkit-transform: rotate(45deg);
  	      transform: rotate(45deg);
}
.gradient {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.50, #f39000), color-stop(0.00, #f89900));
	background: -webkit-linear-gradient(top, #f89900 0%, #f39000 50%);
	background: -moz-linear-gradient(top, #f89900 0%, #f39000 50%);
	background: -o-linear-gradient(top, #f89900 0%, #f39000 50%);
	background: -ms-linear-gradient(top, #f89900 0%, #f39000 50%);
	background: linear-gradient(to bottom, #f89900 0%, #f39000 50%);
}
a img.transform01 {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
a:hover img.transform01 {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
a img.transform02 {
	-webkit-transform: rotate(0) scale(1);
	transform: rotate(0) scale(1);
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
a:hover img.transform02 {
	-webkit-transform: rotate(-4deg) scale(1.2);
	transform: rotate(-4deg) scale(1.2);
}
.clearfix:after {
	content:"";
	display:block;
	clear:both;
	height:0px;
}
#wrapper {
	width: 100%;
	min-width: 1140px;
}
.transform {
	transform: scale(1);
	transition: all .15s ease-in-out;
	box-shadow: 0px 0px 5px 0px rgba(79,57,32,0.0);
}
.transform:hover {
	transform: scale(1.04);
	box-shadow: 0px 0px 5px 0px rgba(79,57,32,0.1);
}

/*===============================================
 レスポンシブ PCサイズ 横幅 769px以上
===============================================*/
@media screen and (min-width: 769px), print {
	#drawer_head {
		display: none;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
}
/*===============================================
 レスポンシブ TB・SPサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
	body {
		width: 100%;
		min-width: 320px;
		position: relative;
		font-size: 1.6rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		letter-spacing: 0.0em;
		line-height: 1.6;
		color: #3E3A39;
		margin: 0px auto;
	}
	#wrapper {
		width: 100%;
		min-width: 320px;
	}
}
/*===============================================
 レスポンシブ スマホサイズ　横幅 414px以下
===============================================*/
@media screen and (max-width: 414px) {}

/* ==========================================================================
   header
   ========================================================================== */
header {
	position: fixed;
	top: 0px;
	_z-index:900;
	width: 100%;
	min-width: 960px;
	background: rgba(62,58,57,0.0);
	transition: all .3s ease-in-out;
}
header .header {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items:center;
	justify-content: space-between;
	max-width: 1200px;
	width: 100%;
	height: 100px;
	margin: 0px auto;
	transition: all .3s ease-in-out;
}
header .header h1 {
	display: inline-block;
	margin: 0;
}
header .header h1 a {
	display: block;
}
header .header h1 a figure {
	display: flex;
	flex-wrap: wrap;
	align-items:center;
}
header .header h1 a figure img {
	margin: 0 10px;
}
header .header h1 a figure img:nth-of-type(1) {
	width: 100px;
	height: auto;
}
header .header h1 a figure img:nth-of-type(2) {
	width: 244px;
	height: auto;
}
#wrapper header.fixed {
	background: rgba(62,58,57,0.50);
}
header.fixed .header {
	height:  100px;
}

/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
/* ==========================================================================
   header
   ========================================================================== */
header {
	position:fixed;
	min-width: 320px;
	_background: rgba(62,58,57,0.0);
	_box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);
}
header .header {
	height: 6rem;
}
header .header h1 {
	display: block;
	width: 60vw;
	height: auto;
	max-width: 300px;
	margin: 0;
	padding: 0.5rem 0.5rem 0.5rem 1rem;
}
header .header h1 a {
	display: inline-block;
	width: 100%;
}
header .header h1 a figure {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
header .header h1 a figure img {
	margin: 0 1%;
}
header .header h1 a figure img:nth-of-type(1) {
	width: calc( 30% - 2% );
	height: auto;
}
header .header h1 a figure img:nth-of-type(2) {
	width: calc( 70% - 2% );
	height: auto;
}
header.fixed .header {
	height: 6rem;
}
}

/* nav　グローバルナビ
------------------------------------------------------------ */
header nav#navi {
	box-sizing:border-box;
}
header nav#navi .h_cont {
	position: absolute;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	top: 2rem;
	right: 2rem;
	color: #FFF;
}
header nav#navi .h_cont span {
	text-align: right;
	margin: 0px 2rem 0 0;
}
header nav#navi .h_cont span i {
	font-size: 1.7rem;
	line-height: 1em;
	margin: 0 0.2em 0 0;
}
header nav#navi .h_cont span em {
	font-family: "Roboto", sans-serif;
	font-size: 2.6rem;
	line-height: 1em;
}
header nav#navi .h_cont span p {
	font-size: 1.1rem;
	line-height: 1em;
	font-weight: 700;
}
header nav#navi .h_cont a:not([href^="tel:"]) {
	display: inline-block;
	background: #00B8B2;
	color: #fff;
	font-size:1.5rem;
	line-height: 1em;
	padding: 1.25rem 2.5rem;
	border-radius: 2rem;
	transform: scale(1);
}
header nav#navi .h_cont a:not([href^="tel:"]):hover {
	transform: scale(1.00);
}

header nav#navi ul.menu {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 60px 0 0 0;
}
header nav#navi ul.menu > li {}
header nav#navi ul.menu > li > a {
	display:block;
	text-align:center;
	font-size:1.5rem;
	padding: 1.2rem 1.8rem;
	color: #fff;
}
header nav#navi ul.menu > li a em {
	padding: 0.25em 0.25em;
	border-bottom: 2px solid rgba(255,255,255,.00);
	transition: all .3s ease-in-out;
}
header nav#navi ul.menu > li a:hover {
	opacity: 1.0;
	color: #fff;
}
header nav#navi ul.menu > li a:hover em {
	padding: 0.2em 0.25em;
	border-bottom: 2px solid rgba(96,192,189,1.00);
}

/*下層ページ header*/
#wrapper.page header {
	position: sticky;
	background: rgba(255,255,255,1.0);
	box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.0);
}
#wrapper.page header.fixed {
	_background: rgba(255,255,255,1.0);
	box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);
}
#wrapper.page header .h_cont {
	color: #3E3A39;
}
#wrapper.page header nav#navi ul.menu > li > a {
	color: #3E3A39;
}
#wrapper.page header nav#navi ul.menu > li a:hover {
	opacity: 1.0;
	color: #3E3A39;
}

/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
/* 下層ページ */
#wrapper.page header {
	position:fixed;
}
#wrapper.page header .header {
	height: 6rem;
}
}

/*DropMenu*/
header nav#navi ul.menu > li {}
/* ▼ ドロップダウン */
.dropdown {
 position: absolute;
 top: 100px;
 left: 0;
 width: 100%;
	padding: 2rem 0;

  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);

  transition:
    opacity .3s ease,
    transform .3s ease,
    visibility .3s;

  z-index: 100;
}
header .dropdown.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* ▼ hover で表示 */
header .nav-item:hover .dropdown {
		visibility: visible;
  opacity: 1;
		transform: translateY(0);
}

/* ▼ 背景オーバーレイ */
.dropdown-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 90; /* ドロップダウンの下、ヘッダーの上に */
}
.dropdown-overlay.show {
  opacity: 1;
  visibility: visible;
}

/* ▼ サービスメニュー */
header .dropdown {
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-end;
}
header .dropdown .srvmenu {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #fff;
 border-radius: 2rem;
 padding: 0;
 list-style: none;
 min-width: 18rem;
	box-shadow: 0 0 .6rem 0 rgba(26, 26, 26, 0.15);
}
header .dropdown .srvmenu h2 {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 700;
	height: 100%;
	padding: 2rem 4rem;
	margin-right: 2rem;
	background: #00B8B2;
	border-top-left-radius: 2rem;
	border-bottom-left-radius: 2rem;
}
header .dropdown .srvmenu ul {
	padding: 3rem 2rem 3rem 0;
}

header .dropdown .srvmenu ul li a {
  padding: 0rem 1rem;
  display: block;
  color: #3E3A39;
  text-decoration: none;
		font-size: 1.6rem;
		font-weight: 500;
}
header .dropdown .srvmenu li a:hover {
	color: #00B8B2!important;
}



/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
/* ==========================================================================
   header
   ========================================================================== */

/* nav　グローバルナビ
------------------------------------------------------------ */
header nav#navi {
	display: none;
}
}


/*!------------------------------------*\
    Drawer 3.2.2　Navi 
\*!------------------------------------*/
#drawer_head.drawer-navbar {
	z-index: 102;
	top: 0;
	width: 100%;
}
#drawer_head.drawer-navbar .drawer-navbar-header {
	width: 100%;
	height: 100%;
}

#drawer_head {
}
#drawer_head li, #drawer_head li a {
	color: rgba(255,255,255,1.00);
}
#drawer_head li a:hover {
	background: rgba(0,0,0,0.30);
}
#drawer_head li a:active {
	background: rgba(0,0,0,0.75);
}
#drawer_head div.drawer-container {}
#drawer_head nav.drawer-nav {
	position: fixed;
	z-index: 101;
	top: 0;
	overflow: hidden;
	width: 23.25rem;
	height: 100%;
	background-color: rgba(0,184,178,1.00);
	padding: 0px 0px 0px 0px;
	margin-top: 0px;
}
#drawer_head ul.drawer-menu {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 80px 0px;
	list-style: none;
	border-top:1px solid rgba(0,0,0,0.25);
}
#drawer_head ul.drawer-menu li {
	float: none;
	display: block;
	text-align: left;
}
#drawer_head ul.drawer-menu li:last-child {}
#drawer_head .drawer-brand {
	display: block;
	font-size: 1.2rem;
	text-decoration: none;
	letter-spacing: 0.25em;
	line-height: 5rem;
	padding: 0px 0.75rem 0px 1.0rem;
	font-weight: 900;
	text-align: center;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	color: #FFFFFF!important;
}
#drawer_head .drawer-brand figure {
	width: 90px;
	height: 40px;
}
#drawer_head .drawer-brand figure img {
	width: 100%;
	height: auto;
}

#drawer_head ul.drawer-menu li a {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
#drawer_head li a.drawer-menu-item {
	display: block;
	position:relative;
	font-size: 1.4rem;
	line-height: 1.4em;
	padding: 1.1rem 5.0rem 1.1rem 2.0rem;
	text-decoration: none;
}
#drawer_head li:first-child a.drawer-menu-item {
	line-height: 42px;
}
.drawer-menu-item:hover {
  text-decoration: underline;
  background-color: transparent;
}
#drawer_head a.drawer-menu-item {}

#drawer_head li.drawer-dropdown {}
#drawer_head ul.drawer-dropdown-menu {}
#drawer_head li a.drawer-dropdown-menu-item {}

#drawer_head li a i {
	position:absolute;
	display:block;
	top: 7px;
	left: 2px;
	font-size:1.6rem;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	vertical-align: middle;
}
#drawer_head li:first-child a i {
	position:absolute;
	display:block;
	top: 10px;
	left: 2px;
	font-size:1.6rem;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	vertical-align: middle;
}

#drawer_head li a.drawer_arrow:after {
	display:block;
	position:absolute;
	content:'';
	top:50%;
	right: 18px;
	width: 6px;
	height: 6px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin:-4px 0px 0px -6px;
	border-top: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
}

/*!------------------------------------*\
    Dropdown
\*!------------------------------------*/
#drawer_head .drawer-dropdown-menu {
  display: none;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: transparent!important;
}
#drawer_head .drawer-dropdown-menu > li {
  width: 100%;
  list-style: none;
}
#drawer_head .drawer-dropdown-menu-item {
	line-height: 4rem;
	display: block;
	position: relative;
	padding: 0;
	padding-right: .75rem;
	padding-left: 3rem;
	text-decoration: none;
	font-size: 1.2rem;
	background: rgba(230,230,230,1.00);
	color: #3E3A39;
}
#drawer_head .drawer-dropdown-menu-item:hover {
  text-decoration: none;
  color: none;
  background-color: rgba(104,94,100,0.50);
}
#drawer_head .drawer-dropdown-menu-item:after {
	display:block;
	content: "";
	position:absolute;
	top:50%;
	left: 20px;
	width: 5px!important;
	height: 5px!important;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin:-4px 0px 0px -6px;
	border-top: 1px solid #3B3839;
	border-right: 1px solid #3B3839;
}

#drawer_head .drawer-dropdown-menu-item.top_level {
	_border-bottom: 4px solid rgba(200,0,20,1.00);
}
#drawer_head .drawer-dropdown-menu-item.second_level {
	background: rgba(30,20,10,0.95);
	color: #fff;
}
#drawer_head .drawer-dropdown-menu-item.second_level:after {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
#drawer_head .drawer-dropdown-menu-item.third_level {}


/*! open */
#drawer_head .drawer-dropdown.open > .drawer-dropdown-menu {
	display: block;
}

/*! drawer-caret */
#drawer_head .drawer-dropdown .drawer-caret {
	display:inline-block;
	position:absolute;
	-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;
	vertical-align: middle;
	top:50%;
	right: 18px;
/*
	width: 8px!important;
	height: 8px!important;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	border-top: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
	border-left: none!important;
	border-bottom: none!important;
*/
	width: 0;
	height: 0;
	margin-left: 6px;
	-webkit-transform: rotate(0deg);
									transform: rotate(0deg);
	vertical-align: middle;
	border-top: 6px solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;

	margin:-6px 0px 0px -8px;
}

/*! open */
#drawer_head .drawer-dropdown.open .drawer-caret {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/*! overlay */
.drawer-overlay {
  position: fixed;
  z-index: 200;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
}
.drawer-open .drawer-overlay {
  display: block;
}


/*!------------------------------------*\
    Hamburger
\*!------------------------------------*/
#drawer_head div.drawer-navbar-header {}

#drawer_head .drawer-hamburger {
	position: fixed;
	z-index: 204;
	top: .75rem;
	right: .75rem;
	display: block;
	box-sizing: content-box;
	width: 2.0rem;
	height: 0.7rem;
	padding: 0;
	padding-top: 1.75rem;
	padding-bottom: 1.75rem;
	padding-right: 1.1rem;
	padding-left: 1.1rem;
	-webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	-webkit-transform: translate3d(0, 0, 0);
									transform: translate3d(0, 0, 0);
	border: 0;
	outline: 0;
/*	background-color: rgba(0,28,169,1.00);*/
/* background-color: transparent;*/
/*	background-color: #e8e6e9;*/
	background-color: rgba(0,184,178,1.00);
	border-radius: 50%;
}
#drawer_head .drawer-hamburger:hover {
	_background-color: rgba(0,0,0,1.00);
	background-color: rgba(0,184,178,1.00);
}

.drawer--right.drawer-open .drawer-hamburger {
	background-color: transparent!important;
}

#drawer_head .drawer-hamburger:hover {
	cursor: pointer;
/* background-color: transparent;*/
}

#drawer_head .drawer-hamburger-icon {
	position: relative;
	display: block;
	margin-top: 0px;
	font-size: 0.7rem;
	letter-spacing: -0.1em;
	text-align: center;
	line-height: 3.6rem;
	color: #FFFFFF;
	white-space: nowrap;
	word-break: normal;
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  width: 100%;
  height: 2px!important;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		background-color: #FFFFFF!important;
}
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  position: absolute;
  top: -8px!important;
  left: 0;
  content: ' ';
}
.drawer-hamburger-icon:after {
  top: 8px!important;
}
.drawer-open .drawer-hamburger-icon {
	background-color: transparent!important;
	color: #FFFFFF!important;
}
.drawer-open .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger-icon:after {
  top: 0;
		background-color: #FFFFFF!important;
}
.drawer-open .drawer-hamburger-icon:before {
  top: 0px!important;
}
.drawer-open .drawer-hamburger-icon:after {
  top: 0px!important;
}

.drawer-open .drawer-hamburger-icon:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.drawer-open .drawer-hamburger-icon:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#drawer_head .drawer-hamburger:after {
	display: block;
	position: absolute;
	content: "";
	height: 12px;
	width: 3rem;
	left: 50%;
	bottom: 15px;
	margin-left: -1.5rem;
}
#drawer_head .sr-only {}

/*drawer z-index*/
header {
	z-index: 101!important;
}
#drawer_head.drawer-navbar {
	z-index: 102!important;
}
#drawer_head nav.drawer-nav {
	z-index: 103;
}
.drawer-overlay {
	z-index: 100!important;
}
#drawer_head .drawer-hamburger {
	z-index: 104;
}
/*drawer end*/


/* #page 下層ページ*/
#wrapper.page
#page {}
#wrapper.page #drawer_head .drawer-hamburger {}


/*パンくず*/
#b_navi {}
#b_navi .breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 108rem;
	margin: 0 auto;
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.6rem;
}
#b_navi .breadcrumbs > span {
	padding: 1rem 1.2em;
	font-weight: 400;
}
#b_navi .breadcrumbs a {
	position: relative;
	padding: 1rem 1.2em;
	margin-right: 0.0em;
}
#b_navi .breadcrumbs > a.home {
	padding: 1rem 1.2em;
	margin-right: 0.5em;
}
#b_navi .breadcrumbs a > span {
	padding: 0;
}
#b_navi .breadcrumbs a:after {
	display: block;
	content: "";
	position: absolute;
	border-top: 1px solid #3E3A39;
	border-right: 1px solid #3E3A39;
	width: 5px;
	height: 5px;
	top: 50%;
	right: -0.5em;
	margin-top: -2px;
	-webkit-transform: rotate(45deg);
  	      transform: rotate(45deg);
}
#b_navi .breadcrumbs a:hover {}

/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
	#b_navi .breadcrumbs {
		overflow: hidden;
		width: 100%;
	}
	#b_navi .breadcrumbs > span {
	padding: 10px 0.5em;
	font-weight: 400;
}
#b_navi .breadcrumbs a {
	position: relative;
	padding: 10px 0.5em;
	margin-right: 1.0em;
}
#b_navi .breadcrumbs > a.home {
	padding: 10px 0.5em;
	margin-right: 0.5em;
}
	#b_navi .breadcrumbs a > span:nth-last-of-type(1) {
		width: calc( 100% / 3 );
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* ==========================================================================
   article
   ========================================================================== */
article {
	overflow: hidden;
}
/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
article {
	margin-top: 50px;
}
}

/* ==========================================================================
   footer
   ========================================================================== */
section#contact_area {
	width: 100%;
	margin: 0 auto;
	padding: 8rem 0;
	background: #AFDFDE;
}
section#contact_area .wrap {
	width: calc( 90% );
	max-width: 1200px;
	margin: 0 auto;
	padding: 4rem 0!important;
	text-align:center;
	background: #ffffff;
	border-radius: 2rem;
	box-shadow: 0px 0px 6px 0px rgba(26, 26, 26, 0.15);
}
#contact_area .wrap h2 {
	color: #00B8B2;
	margin: 0 0 2.5rem 0;
}
#contact_area .wrap h2 em {
	display: block;
	font-family: "Roboto", sans-serif;
	font-size: 8.4rem;
	line-height: 1em;
	padding: 0;
}
#contact_area .wrap h2 span {
	display: block;
	font-size: 2.1rem;
	line-height: 1em;
	padding: 0;
}
#contact_area .wrap p {
	margin: 0 0 4rem 0;
}

#contact_area .wrap .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
#contact_area .wrap .box span {
	display: block;
	margin: 0px 2rem 0 0;
	padding: 0;
	text-align: left;
}
#contact_area .wrap .box span h3 {
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 0.25rem;
}
#contact_area .wrap .box span i {
	font-size: 2.8rem;
	line-height: 1em;
	margin: 0 0.2em 0 0;
}
#contact_area .wrap .box span em {
	font-family: "Roboto", sans-serif;
	font-size: 4.4rem;
	line-height: 1em;
}
#contact_area .wrap .box span p {
	display: block;
	font-size: 1.4rem;
	line-height: 1em;
	font-weight: 700;
	text-align: right;
	margin: 0 0 auto 0;
}
#contact_area .wrap .box a:not([href^="tel:"]) {
	display: block;
	background: #00B8B2;
	color: #fff;
	font-size: 2.0rem;
	line-height: 1em;
	padding: 2.0rem 8rem;
	border-radius: 3rem;
	margin: 0 0 0 2rem;
	transform: scale(1.00);
}
#contact_area .wrap .box a:not([href^="tel:"]):hover {
	transform: scale(1.00);
}
/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {

section#contact_area {
	padding: 4rem 0;
}
section#contact_area .wrap {
	width: calc( 90% )!important;
	padding: 4rem 0 1rem 0!important;
}

#contact_area .wrap h2 {
	margin: 0 auto;
}
#contact_area .wrap h2 em {
	font-size: 3.6rem;
}
#contact_area .wrap h2 span {
	font-size: 1.8rem;
}
#contact_area .wrap p {
	margin: 0 auto;
	padding: 2rem;
	text-align: left;
}
#contact_area .wrap .box {
	flex-direction: column;
	padding: 0 2rem 2rem 2rem;
}
#contact_area .wrap .box span {
	display: block;
	margin: 0px auto 2rem;
	padding: 0;
	text-align: left;
}
#contact_area .wrap .box span h3 {
	font-size: 1.4rem;
	margin-bottom: 0.25rem;
}
#contact_area .wrap .box span i {
	display: inline-block;
	font-size: 2.1rem;
	line-height: 1em;
	margin: 0 0.2em 0 0;
}
#contact_area .wrap .box span em {
	font-family: "Roboto", sans-serif;
	font-size: 3.6rem;
	line-height: 1em;
}
#contact_area .wrap .box span p {
	display: block;
	font-size: 1.2rem;
	line-height: 1em;
	font-weight: 700;
	text-align: right;
	margin: 0;
	padding: 0;
}
#contact_area .wrap .box a {
	font-size:1.4rem;
	line-height: 1em;
	padding: 1.6rem 4rem;
	margin: 0 auto;
}

}


/* ==========================================================================
   footer
   ========================================================================== */
footer {
	overflow:hidden;
	padding: 0;
}
footer a {}
footer #footer {
	background: #F3F4F9;
	padding: 8rem 0 0 0;
}
footer #footer .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}
footer #footer #f_unit {
	width: 32%;
	text-align: left;
	padding: 0;
}
footer #footer #f_unit h2 {
	display: block;
	padding: 0;
	margin: 0 0 1rem 0;
}
footer #footer #f_unit h2 figure {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 0;
	margin: 0;
}
footer #footer #f_unit h2 figure img:nth-of-type(1) {
	margin-right: 1.5rem;
}

footer #footer #f_unit ul {
	font-size: 1.4rem;
	font-weight: 400;
	margin: 0 0 0 3rem;
}
footer #footer #f_unit ul li {
	line-height: 1.6em;
	margin: 3px 0px;
}
footer #footer #f_unit ul li.add {}
footer #footer #f_unit ul li.tel {}
footer #footer #f_unit ul li.tel a {}
footer #footer #f_unit ul li.time {}


footer #footer .f_navi {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-around;
	text-align: left;
	padding: 0 0 4rem 0;
	width: 66%;
	margin: 0;
}

footer #footer .f_navi dl {
	margin: 0;
}
footer #footer .f_navi dl a {
	display: inline-block;
	box-sizing: border-box;
	line-height: 1em;
	padding: 0.5em 0.5em;
}
footer #footer .f_navi dl a:hover {}
footer #footer .f_navi dl dt, footer #footer .f_navi dl dd {
	margin: 0;
	padding: 0;
}
footer #footer .f_navi dl dt {
	font-size: 1.6rem;
	font-weight: 700;
}
footer #footer .f_navi dl dd {
	font-size: 1.4rem;
	font-weight: 400;
	text-indent: 0.5em;
}
footer #footer .f_navi dl dt a {}
footer #footer .f_navi dl dd a {}


footer #footer .copyright {
	clear: both;
	font-size: 1.4rem;
	font-weight: 400;
	width: 100%;
	margin: 3rem auto 1rem;
	padding: 0 1rem;
}
footer #footer .copyright > a {}


#page-top {
	position: fixed;
	bottom: -1rem;
	left: 50%;
	margin-left:48rem;
	z-index:920;
}
#page-top a {
	position: relative;
	display: block;
	box-sizing: border-box;
	font-size: 1.2rem;
	text-align: center;
	font-family: "Roboto", sans-serif;
	letter-spacing: 0.05em;
	width: calc( 3em + 3rem );
	height: calc( 3em + 3rem );
	line-height: 1em;
	padding: 2.4rem 1.5rem 1.6rem 1.5rem;
	background: #00B8B2;
	color: #FFF;
	border-top-left-radius: 1.2rem;
	border-top-right-radius: 1.2rem;
	box-shadow: 0 0 .3rem 0 rgba(0, 0, 0, 0.25);
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all .1s ease-in-out;
	transition: all .3s ease-in-out;
}
#page-top a:hover {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
#page-top a:before {
	display: block;
	content: "";
	position: absolute;
	top: 1.2rem;
	left: 50%;
	width: .6rem;
	height: 6px;
	margin: 0 0 0 -0.5rem;
	border-top: solid .2rem #FFF;
	border-left: solid .2rem #FFF;
	-webkit-transform: rotate(45deg);
  	      transform: rotate(45deg);
}

/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
footer #footer {
	padding: 3rem 0 1rem 0;
}
footer #footer .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
	margin: 0px auto;
	padding: 0px 1rem;
}
footer #footer #f_unit {
	width: 80vw;
	text-align: center;
	margin: 0 auto 1rem;
}
footer #footer #f_unit h2 {
	display: block;
	padding: 0;
	margin: 0 0 1rem 0;
}
footer #footer #f_unit h2 figure {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0;
	margin: 0 auto;
}
footer #footer #f_unit h2 figure img {
	height: auto;
}
footer #footer #f_unit h2 figure img:nth-of-type(1) {
	width: 40%;
	max-width: 82.3526px;
}
footer #footer #f_unit h2 figure img:nth-of-type(2) {
	width: 60%;
	max-width: 197.9997px;
}

footer #footer #f_unit ul {
	display: inline-block;
	font-size: 1.0rem;
	margin: 0 auto;
}
footer #footer #f_unit ul li {
	line-height: 1.4em;
	margin: 0px;
}

footer #footer .f_navi {
	display: none;
}
footer #footer .copyright {
	font-size: 1.0rem;
	text-align: center;
	letter-spacing: 0em;
	width: 100%;
	margin: 10px auto;
	padding: 0px;

}
footer #footer .copyright > a {}

#page-top {
	position: fixed;
	bottom: -10px;
	left: auto;
	right: -5px;
	margin-left: 0px;
	z-index:920;
}
#page-top a {
	font-size: 1.2rem;
	text-align: center;
	width: calc( 4em + 6px );
	height: calc( 3em + 25px );
	letter-spacing: 0.05em;
	padding: 20px 10px 15px 10px;
}

#page-top, #page-top a {
	display: none;
}
}




