@charset "UTF-8";
/* ==========================================================================
COMMON
Googlefont 400 500 600 700 900
font-family: "Zen Old Mincho", serif;

.zen-old-mincho-regular {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-weight: 600;
		font-weight: 500;
		font-weight: 700;
  font-weight: 900;
  font-style: normal;
}

カラー
コーポレートカラー：#1B1464
文字：#4E443E
========================================================================== */

/*===============================================
 レスポンシブ スマホサイズ　横幅 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: "Zen Old Mincho", serif;
	font-weight: 500;
	letter-spacing: 0.0em;
	line-height: 1.6;
	color: #4E443E;
	margin: 0px auto;
	background: url("../img/common/bg.jpg");
	background-size: 60rem 40rem;
/*	padding-top: 80px; */
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}
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, a:before, a: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: #4E443E;
}
a:hover {
	_opacity:0.6;
	color: #1B1464;
}

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: #4E443E;
	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);
}
.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 */
}
.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 #4E443E;
	border-right:2px solid #4E443E;
	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 #4E443E;
	border-right:2px solid #4E443E;
	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: "Zen Old Mincho", serif;
  font-weight: 500;
		letter-spacing: 0.0em;
		line-height: 1.6;
		color: #4E443E;
		margin: 0px auto;
	}
	#wrapper {
		width: 100%;
		min-width: 320px;
	}
	br.sp {
		display: none;
	}
}
/*===============================================
 レスポンシブ スマホサイズ　横幅 414px以下
===============================================*/
@media screen and (max-width: 414px) {}

/* ==========================================================================
   header　ホーム
   ========================================================================== */
header.top {
	position: fixed;
	_position: sticky;
	top: 0rem;
	left: 50%;
	width: 100vw;
	min-width: 96rem;
	background: rgba(0,0,0,0.0);
	transform: translate(-50%,0%);
	transition: all .3s ease-in-out;
	_z-index: 900;
}
header.top .header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
header.top .header h1 {
	display: block;
	width: 16.666vw;
	height: auto;
	margin: 1.8vw 2vw;
}
header.top .header h1 img {
	width: 100%;
	height: auto;
}
header.top.fixed {
	background: rgba(0,0,0,0.5);
}
header.fixed .header {}

/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
header.top {
	p_osition: sticky;
	top: 0rem;
	left: 0rem;
	width: 100vw;
	min-width: 32rem;
	background: rgba(0,0,0,0.0);
	transform: translate(0%,0%);
	transition: all .3s ease-in-out;
	_box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);
}
header.top .header {
	height: 6rem;
}
header.top .header h1 {
	display: block;
	width: 70vw;
	height: auto;
	max-width: 320px;
	margin: 0;
	padding: 0.5rem 0.5rem 0.5rem 1rem;
}
header.top .header h1 a {
	display: inline-block;
	width: 100%;
}
header.top .header h1 a figure {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
header.top .header h1 a figure img {
	margin: 0 0.5%;
}
header.top .header h1 a figure img {
	width: 15%;
	height: auto;
}
header.top .header h1 a figure img:nth-last-of-type(1) {
	width: calc( 70% - 3% );
	height: auto;
}

header.top.fixed .header {
	height: 6rem;
}
}

/* nav　グローバルナビ
------------------------------------------------------------ */
header.top .header nav#navi {}
header.top .header nav#navi ul.menu.top {
	display: flex;
	flex-wrap: wrap;
	margin: 0 1.25em;
}
header.top .header nav#navi ul.menu.top li {
	font-size: 1.2vw;
	margin: 0 1.25em;
}
header.top .header nav#navi ul.menu.top li a {
	font-size: 1.2vw;
	color: #ffffff;
	letter-spacing: 0.15em;
}

/* ==========================================================================
   header　ページ
   ========================================================================== */
header.page-h {
	position: sticky;
	top: 0px;
	width: 100%;
	min-width: 96rem;
	height: 16rem;
	background: rgba(255,255,255,1.0);
	transition: all .3s ease-in-out;
	_z-index:900;
}
header.page-h .header {
	height:  16rem;
}
header.page-h.fixed {
background: rgba(255,255,255,0.90);
}
header.page-h.fixed .header {}
header.page-h .header h1.sp {
	display: none;
}

/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
header.page-h {
	p_osition: sticky;
	top: 0rem;
	left: 0rem;
	width: 100vw;
	min-width: 32rem;
	height: auto;
	background: rgba(78,68,62,1.00);
	transform: translate(0%,0%);
	transition: all .3s ease-in-out;
	_box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);
}
header.page-h .header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	height: 6rem;
}
header.page-h .header h1.sp {
	display: block;
	width: 70vw;
	height: auto;
	max-width: 320px;
	margin: 0;
	padding: 0.5rem 0.5rem 0.5rem 1rem;
}
header.page-h .header h1.sp img {
	width: 100%;
	height: auto;
}
header.page-h .header h1.sp a {
	display: inline-block;
	width: 100%;
}
header.page-h .header h1.sp a figure {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
header.page-h .header h1.sp a figure img {
	margin: 0 0.5%;
}
header.page-h .header h1.sp a figure img {
	width: 15%;
	height: auto;
}
header.page-h .header h1.sp a figure img:nth-last-of-type(1) {
	width: calc( 70% - 3% );
	height: auto;
}

header.page-h.fixed {
	background: rgba(78,68,62,0.5);
}
header.page-h.fixed .header {
	height: 6rem;
}
}

/* nav　グローバルナビ
------------------------------------------------------------ */
header.page-h nav#navi {
	box-sizing:border-box;
	margin: 0 auto;
	height:  16rem;
}
header.page-h nav#navi ul.menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	width: 100%;
	max-width: 92rem;
	margin: 0 auto;
}
header.page-h nav#navi ul.menu > li {
	margin: 0 0 -6rem 0;
}
header.page-h nav#navi ul.menu > li > a {
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: column;
	text-align:center;
	align-items: center;
	font-size: 1.5rem;
	line-height: 1em;
	padding: 0rem;
	margin: 0 0 4rem 0;
}
header.page-h nav#navi ul.menu > li a em {
	padding: 0.25em 0.25em;
	transition: all .3s ease-in-out;
}
header.page-h nav#navi ul.menu > li a:hover {
	opacity: 1.0;
	color: #1B1464;
}
header.page-h nav#navi ul.menu > li a img {
	transform: scale(1.0,1.0);
	transition: all .3s ease-in-out;
}
header.page-h nav#navi ul.menu > li a:hover img {
	transform: scale(1.075,1.075);
}

/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
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);*/
	background-color: #1B1464;
	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,0,0,0.00);
/*	background-color: rgba(0,28,169,1.00);*/
/* background-color: transparent;*/
/*	background-color: #e8e6e9;*/
/*	background-color: rgba(0,184,178,1.00);*/
/*	background-color: #68CEB4;*/
	border-radius: 50%;
}
#drawer_head .drawer-hamburger:hover {
	background-color: rgba(0,0,0,1.00);
/*	background-color: #68CEB4;*/
}

.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;
	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: 301!important;
}
#drawer_head.drawer-navbar {
	z-index: 302!important;
}
#drawer_head nav.drawer-nav {
	z-index: 303;
}
.drawer-overlay {
	z-index: 300!important;
}
#drawer_head .drawer-hamburger {
	z-index: 304;
}
/*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: 120rem;
	margin: 0 auto;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.6rem;
}
#b_navi .breadcrumbs > span {
	padding: 1rem 1.2em;
	font-weight: 500;
}
#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 #4E443E;
	border-right: 1px solid #4E443E;
	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: 500;
}
#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: #2E3192;
}
section#contact_area .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	width: calc( 100% );
	max-width: 960px;
	margin: 0 auto;
	padding: 0;
	text-align:center;
	color: #ffffff;
}
#contact_area .wrap h2 {
	font-size: 3rem;
	letter-spacing: 0.15em;
	margin: 0rem;
}
#contact_area .wrap h2 span {}
#contact_area .wrap dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: column;
	margin: 0rem;
}
#contact_area .wrap dl dt {
	display: flex;
	flex-wrap: wrap;
	align-items:center;
}
#contact_area .wrap dl dt .icon {
	display: block;
	margin: 0.5em 0.25em 0 0;
}
#contact_area .wrap dl dt em {
	font-size: 3.6rem;
	line-height: 1.4em;
	letter-spacing: 0.05em;
}
#contact_area .wrap dl dd {
	font-size: 1.6rem;
	line-height: 1em;
	letter-spacing: 0.1em;
	text-align: right;
}

#contact_area .wrap .btn {
	margin: 0;
	text-align: center;
}
#contact_area .wrap .btn a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	color: #fff;
	font-size:2.1rem;
	line-height: 1em;
	padding: 1.5rem 3rem 1.5rem 3rem;
	margin: 0 0rem;
	border: 1px solid #fff;
	transform: scale(1);
}
#contact_area .wrap .btn a:hover {
	transform: scale(1.02);
}


/*===============================================
 レスポンシブ タブレットサイズ 横幅 768px以下
===============================================*/
@media screen and (max-width: 768px) {
section#contact_area {
	width: 100%;
	margin: 0 auto;
	padding: 3rem 1rem;
	background: #2E3192;
}
section#contact_area .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	text-align:center;
}
#contact_area .wrap h2 {
	font-size: 2.4rem;
	letter-spacing: 0.0em;
	margin: 0rem auto;
	width: 100%;
}
#contact_area .wrap dl {
	text-align: center;
	margin: 0rem auto 2rem;
	width: 100%;
}
#contact_area .wrap dl dt {
	display: flex;
	flex-wrap: wrap;
	align-items:center;
	justify-content: center;
}
#contact_area .wrap dl dt .icon {
	width: 2.4rem;
	margin: 0.5em 0.25em 0 0;
}
#contact_area .wrap dl dt .icon img {
	width: 100%;
	height: auto;
}
#contact_area .wrap dl dt em {
	font-size: 2.7rem;
	line-height: 1.4em;
	letter-spacing: 0em;
}
#contact_area .wrap dl dd {
	font-size: 1.2rem;
	line-height: 1em;
	letter-spacing: 0em;
	text-align: center;
	padding-left: 1.5em;
}

#contact_area .wrap .btn {
	margin: 0;
}
#contact_area .wrap .btn a {
	font-size: 1.8rem;
	line-height: 1em;
	padding: 1.0rem 2rem 1.4rem 2rem;
}

}


/* ==========================================================================
   footer
   ========================================================================== */
footer {
	overflow:hidden;
	padding: 0 0 0 0;
}
footer a {}
footer #footer {
	padding: 8rem 0 0 0;
	width: 100vw;
	height: 43.333vw;
	max-height: 50rem;
	background: url("../img/common/footer_bg.png") no-repeat center bottom;
	background-size: 100% auto;
}
footer #footer .wrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	max-width: 960px;
	height: calc( 100% );
	margin: 0 auto;
	padding: 0;
}
footer #footer #f_unit {
	text-align: center;
	padding: 0;
}
footer #footer #f_unit h2 {
	display: block;
	padding: 0;
	margin: 0 auto 1rem;
}
footer #footer #f_unit h2 figure {
	padding: 0;
	margin: 0 auto;
	width: 20rem;
}
footer #footer #f_unit h2 figure img {
	width: 100%;
	height: auto;
}

footer #footer #f_unit ul {
	font-size: 1.5rem;
	margin: 0 auto;
}
footer #footer #f_unit ul li {
	line-height: 1.8em;
	margin: 0.0rem auto;
}
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_box {
	text-align: center;
}
footer #footer .f_box ul.sns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
footer #footer .f_box ul.sns li {
	margin: 0 0.5rem;
}
footer #footer .f_box ul.sns li a {
	display: inline-block;
}


footer #footer .copyright {
	font-size: 1.5rem;
	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;
	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: #4E443E;
	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 {
	overflow:hidden;
	padding: 0 0 0 0;
}
footer a {}
footer #footer {
	padding: 4rem 0 0 0;
	width: 100vw;
	height: auto;
	max-height: auto;
	background: url("../img/common/footer_bg.png") no-repeat center bottom;
	background-size: 120% auto;
}
footer #footer .wrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	max-width: 960px;
	height: auto;
	margin: 0 auto;
	padding: 0;
}
footer #footer #f_unit {
	text-align: center;
	padding: 1rem;
}
footer #footer #f_unit h2 {
	display: block;
	padding: 0;
	margin: 0 auto 1rem;
}
footer #footer #f_unit h2 figure {
	padding: 0;
	margin: 0 auto;
	width: 50vw;
	max-width: 20rem;
}
footer #footer #f_unit ul {
	font-size: 1.2rem;
	margin: 0 auto;
}
footer #footer #f_unit ul li {
	line-height: 1.8em;
	margin: 0.0rem auto;
}

footer #footer .f_box {
	text-align: center;
}
footer #footer .f_box ul.sns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 2rem auto 2rem;
}
footer #footer .f_box ul.sns li {
	margin: 0 0.5rem;
	width: 4rem;
	height: auto;
}
footer #footer .f_box ul.sns li a {
	display: inline-block;
}
footer #footer .f_box .sns a img {
	width: 100%;
	height: auto;
}

footer #footer .copyright {
	font-size: 1.1rem;
	width: 100%;
	margin: 0rem auto;
	padding: 1rem;
}
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;
}
}




