@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Montserrat:300,300i,500');

@font-face {
  font-family: "NotoSansCJKjp-Jxck";
  font-style: normal;
  font-weight: 400;
  src: local("NotoSansCJKjp-Regular.otf"),
       local("NotoSansJP-Regular.otf"),
       url("https://www.yoshidashikaiin.net/font/NotoSansRegularWeb.woff?ver=20180117") format("woff");
}
@font-face {
  font-family: "NotoSansCJKjp-Jxck";
  font-style: normal;
  font-weight: 300;
  src: local("NotoSansCJKjp-Light.otf"),
       local("NotoSansJP-Light.otf"),
       url("https://www.yoshidashikaiin.net/font/NotoSansLightWeb.woff?ver=20180117") format("woff");
}
@font-face {
  font-family: "NotoSansCJKjp-Jxck";
  font-style: normal;
  font-weight: 500;
  src: local("NotoSansCJKjp-Medium.otf"),
       local("NotoSansJP-Medium.otf"),
       url("https://www.yoshidashikaiin.net/font/NotoSansMediumWeb.woff?ver=20180117") format("woff");
}

body {
	text-align: center;
	font-family: "Noto Sans", "Noto Sans CJK JP", "NotoSansCJKjp-Jxck", 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: .15em;
	line-height: 2.0em;
	padding: 0;
	margin: 0;
	background: #fff;
	color: #5b5b5b;
	-webkit-text-size-adjust: 100%;
}


div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fildset,p,blockquote{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font-style:normal;
}

img{
    max-width: 100%;
    height: auto;
    width: auto\9; /* ie8 */
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	vertical-align: top;
}
table {
    font-size:inherit;
    font:100%;
	border-collapse: collapse;
}

address{
	font-style:normal;
}

ul{
	list-style:none;
}
ul img{
	vertical-align: top;
	margin:0;
}

a{
	color:#5b5b5b;
	text-decoration:none;
	outline:0;
	-webkit-transition: opacity 1.0s, color 1.0s, background-color 1.0s;
	-moz-transition: opacity 1.0s, color 1.0s, background-color 1.0s;
	transition: opacity 1.0s, color 1.0s, background-color 1.0s;
}
a:hover{
	-webkit-transition: opacity 0.6s, color 0.6s, background-color 0.6s;
	-moz-transition: opacity 0.6s, color 0.6s, background-color 0.6s;
	transition: opacity 0.6s, color 0.6s, background-color 0.6s;
}

.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

.blocklink,
.blocklink_out {
	cursor:pointer;
}

.ft_mont {
	font-family: 'Montserrat', sans-serif;
}

/* スマホで電話をかけるボタン：画像対応 */
.sp_tel_btn {
	position: relative;
}
.sp_tel_btn img {
	position: relative;
	z-index: 0;
}
.sp_tel_btn span,
.sp_tel_btn a {
	display: block;
}
.sp_tel_btn a {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}


/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 480px) {	
/* スマホのときはビューポートを基準にサイズ調節する */
/* スマホ時：emまたは%で指定する */
/* スマホ以外でビューポート基準にするときは、その都度「vw」で指定する */
body {
	font-size: 4.1vw;
	letter-spacing: .05em;
	line-height: 1.8em;
}
}



/*共通
---------------------------------------------------------*/
.w1500 {
	width: 94%;
	padding: 0 3%;
	max-width: 1500px;
	margin: 0 auto;
	text-align: left;
}
.w1300 {
	width: 94%;
	padding: 0 3%;
	max-width: 1300px;
	margin: 0 auto;
	text-align: left;
}
.w1240 {
	width: 94%;
	padding: 0 3%;
	max-width: 1240px;
	margin: 0 auto;
	text-align: left;
}
.w1200{
	width: 94%;
	padding: 0 3%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: left;
}
.w1100{
	width: 94%;
	padding: 0 3%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: left;
}
.w1000{
	width: 94%;
	padding: 0 3%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;}


.bg_hover_li li {
	-webkit-transition: background-color 1.0s;
	-moz-transition: background-color 1.0s;
	transition: background-color 1.0s;
}
.bg_hover_li li:hover {
	-webkit-transition: background-color 0.6s;
	-moz-transition: background-color 0.6s;
	transition: background-color 0.6s;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.w1500, .w1300, .w1240 {
	width: 90%;
	padding: 0 5%;
}
}



/*wrapper
---------------------------------------------------------*/
#wrapper {
}



/*header
---------------------------------------------------------*/
#header {
	padding: 80px 3% 40px;
}
.frontpage #header {
	padding-bottom: 30px;
}

#header .head_box {
	position: relative;
	z-index: 100;
}
#header .head_box .h_logo {
	position: absolute;
	width: 20%;
	left: 0;
	top: 30px;
}
#header .head_box .h_right {
	width: 90%;
	max-width: 930px;
	margin-left: auto;
	margin-right: 0;
	/*margin-bottom: 110px;*/
	text-align: right;
}
#header .head_box .h_right .in_box {
	width: 100%;
	max-width: 870px;
	margin-left: 0;
	margin-right: auto;
}

#header .h_tel {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: center;
    align-items: center;
	margin-bottom: 70px;
}
#header .h_tel dt {
	font-size: 96%;
	line-height: 1.2em;
}
#header .h_tel dd {
	margin-left: .8em;
	font-size: 156%;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.2em;
}
#header .h_tel dd i {
	font-size: 80%;
	margin-right: .8em;
}

#header .m_nav {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
	position: relative;
}
#header .m_nav > li > a {
	display: block;
	padding-bottom: 1.4em;
	font-size: 96%;
	font-weight: bold;
	line-height: 1.2em;
	border-bottom: double 3px transparent;
	-webkit-transition: border-color 1.0s;
	-moz-transition: border-color 1.0s;
	transition: border-color 1.0s;
}
#header .m_nav > li > a.select,
#header .m_nav > li > a:hover {
	color: #ada287;
	border-color: #5b5b5b;
	-webkit-transition: border-color 0.6s;
	-moz-transition: border-color 0.6s;
	transition: border-color 0.6s;
}
#header .m_nav > li:first-child a {
	padding-left: .2em;
	padding-right: .2em;
}
/* 下層メニュー */
#header .m_nav .in_menu {
	display: none;
	position: absolute;
	width: 100%;
	left: 0;
	top: 100%;
	text-align: left;
}
#header .m_nav .in_menu ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	border-left: solid 1px #fff;
}
#header .m_nav .in_menu li {
	width: 25%;
	box-sizing: border-box;
	border-bottom: solid 1px #fff;
	border-right: solid 1px #fff;
	background: rgba(206,206,206,0.9);
}

#header .m_nav .menu_med .in_menu li:last-child{
	background:rgba(189,204,212,0.90);
}
#header .m_nav .in_menu a {
	display: block;
	padding: 1.0em;
}

#header .h_title {
	width: 80%;
	margin-left: auto;
	margin-right: 0;
	position: relative;
	text-align: right;
}
#header .h_title::before {
	content: "";
	display: block;
	padding-top: 240px;	/* 高さ */
}
#header .h_title .in_box {
	position: absolute;
	z-index: 0;
	width: 100%;
	right: 0;
	bottom: 0;
}

.frontpage #header .h_title {
	width: 70%;
	max-width: 651px;
}
.frontpage #header .h_title::before {
	padding-top: 310px;	/* 高さ */
}
.frontpage #header .h_title p {
	width: 80%;
	margin: 0 auto;
	box-sizing: border-box;
	padding-left: 20%;
	margin-bottom: 8px;	
}

.rawer-nav .hover_list{
	opacity:0.2;
}

/* 下層ページ */
.contentpage #header .h_title .in_box {
	box-sizing: border-box;
	padding-right: 8%;
}
.contentpage #header p.ft_mont {
	color: #000;
	font-size: 540%;
	font-weight: 300;
	letter-spacing: normal;
	line-height: 1.2em;
}
.contentpage #header h1 {
	font-size: 90%;
	font-weight: normal;
	letter-spacing: .15em;
	line-height: 1.6em;
}

/* 微調整 (1400px以下)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1450px) {
#header {
	padding: 4% 3% 2%;
}

#header .head_box .h_logo {
	width: 20%;
	top: 3%;
}

#header .h_tel {
	margin-bottom: 6%;
}

#header .h_title::before {
	padding-top: 200px;	/* 高さ */
}
.frontpage #header .h_title::before {
	padding-top: 250px;	/* 高さ */
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#header {
	padding: 6% 3% 3%;
}

#header .head_box .h_logo {
	width: 20%;
	top: 3%;
}

#header .h_tel {
	margin-bottom: 6%;
	font-size: 90%;
}

#header .m_nav {
	font-size: 1.8vw;
	letter-spacing: .05em;
}

#header .h_title::before {
	padding-top: 25%;	/* 高さ */
}
.frontpage #header .h_title::before {
	padding-top: 36%;	/* 高さ */
}
.frontpage #header .h_title p {
	padding-left: 14%;	
}
.frontpage #header .h_title h1 {
	padding-left: 10%;	
}
	
/* 下層ページ */
.contentpage #header .h_title .in_box {
	padding-right: 0;
}
.contentpage #header p.ft_mont {
	font-size: 8.0vw;
}
.contentpage #header h1 {
	font-size: 80%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#header {
	padding: 3% 3% 4%;
	position: relative;
}

#header .head_box {
	position: static;
	padding-top: 50px;
}
#header .head_box .h_logo {
	width: 26%;
	max-width: 100px;
	left: 6%;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#header .head_box .h_right {
	display: none !important;
}

#header .m_nav {
	display: none !important;
}

/* スマホ電話ボタン：スマホメニューと合わせる */
#header .sp_tel {
	position: fixed;
	z-index: 101;
	right: 50px;
	top: 0px;
	display: block;
	width: 50px;
	line-height: 50px;
	background-color: rgba(255,255,255,0.8);
	font-size: 18px;
	text-align: center;
}

#header .h_title {
	width: 80%;
	margin-left: auto;
	margin-right: 0;
}
#header .h_title::before {
	padding-top: 28%;	/* 高さ */
}

.frontpage #header .h_title::before {
	padding-top: 45%;	/* 高さ */
}
.frontpage #header .h_title p {
	width: 75%;
	margin-left: auto;
	margin-right: 4%;
	padding: 0;
}
	.frontpage #header .h_title h1{
		width:92%;
		text-align: right;
		margin: 0 0 0 auto;
	}
	
/* 下層ページ */
.contentpage #header .head_box .h_logo {
	width: 20%;
}
.contentpage #header .h_title .in_box {
	padding-right: 0;
}
.contentpage #header p.ft_mont {
	font-size: 10.0vw;
	margin-bottom: .2em;
}
.contentpage #header h1 {
	width: 80%;
	margin-left: auto;
	margin-right: 0;
	font-size: 70%;
	opacity: 0.6;
}
}



/*スクロールメニュー
---------------------------------------------------------*/
#scl_menu {
	display: none;
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	width: 100%;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}
#scl_menu.is-fixed {
	display: block;
	-webkit-transform: translateY(0);
	transform: translateY(0);
   	-webkit-animation: sclAnimation 1.0s;
    -moz-animation: sclAnimation 1.0s;
    -o-animation: sclAnimation 1.0s;
    -ms-animation: sclAnimation 1.0s;
    animation: sclAnimation 1.0s;
}
#scl_menu .flex_box {
	width: 100%;
	box-sizing: border-box;
	padding: 30px 2% 20px;
	background: rgba(255,255,255,0.9);
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
}
#scl_menu .m_nav {
	width: 72%;
	max-width: 900px;
}
#scl_menu .scl_tel {
	width: 26%;
	max-width: 250px;
	text-align: left;
}
#scl_menu .scl_tel dt {
	font-size: 90%;
	line-height: 1.2em;
	margin-bottom: .5em;
}
#scl_menu .scl_tel dd {
	font-size: 150%;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.2em;
}
#scl_menu .scl_tel dd i {
	font-size: 80%;
	margin-right: .6em;
}

/* 微調整 (1100px以下)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1100px) {
#scl_menu .flex_box {
	padding: 3% 2% 2%;
}
#scl_menu .m_nav {
	width: 72%;
}
#scl_menu .scl_tel {
	width: 24%;
}
#scl_menu .m_nav {
	font-size: 1.4vw;
}
#scl_menu .scl_tel {
	font-size: 1.5vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#scl_menu .m_nav {
	font-size: 1.5vw !important;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#scl_menu {
	display: none !important;
}
}/* スクロールメニューアニメーション */
@-webkit-keyframes sclAnimation {
	0% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@-moz-keyframes sclAnimation {
	0% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@-o-keyframes sclAnimation {
	0% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@-ms-keyframes sclAnimation {
	0% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@keyframes sclAnimation {
	0% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}



/*pagebody
---------------------------------------------------------*/
#pagebody {
	max-height: 100%;
}



/*共通
---------------------------------------------------------*/
.com_index {
	text-align: center;
	background: url(../images/point@2x.png) no-repeat center bottom;
	background-size: 65px 12px;
	padding-bottom: 30px;
}
.com_index.ft_mont {
	color: #000;
	font-size: 220%;
	font-weight: 300;
	letter-spacing: normal;
	line-height: 1.2em;
}

.com_link {
	width: 11em;
	margin: 0 auto;
	font-size: 90%;
	letter-spacing: .15em;
	line-height: 1.2em;
	text-align: center;
}
.com_link a {
	display: block;
	position: relative;
	border-top: solid 1px #5b5b5b;
	padding-top: 1.8em;
	padding-bottom: .8em;
	padding-right: 2.6em;
	background: url(../images/arrow1@2x.png) no-repeat right bottom;
	background-size: 2.8em 2.8em;
}
.com_link a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0;
	top: 2px;
	background: #5b5b5b;
}
.com_link a:hover {
	opacity: 0.5;
}

/* 上に二重線 */
.bdr_double_t {
	border-top: solid 1px #5b5b5b;
	position: relative;
}
.bdr_double_t::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #5b5b5b;
	left: 0;
	top: 2px;	/* 適宜変更 */
}
/* 下に二重線 */
.bdr_double_b {
	border-bottom: solid 1px #5b5b5b;
	position: relative;
}
.bdr_double_b::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #5b5b5b;
	left: 0;
	bottom: 2px;	/* 適宜変更 */
}

/*バナー*/
.com_bnr {
	text-align: center;
	margin-top: 70px;
}
.com_bnr a {
	display: inline-block;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_link a::before {
	top: 1px;
}
	
/*バナー*/
.com_bnr {
	margin-top: 7%;
}
.com_bnr a {
	width: 45%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_index.ft_mont {
	font-size: 180%;
}

.com_link a {
	padding-top: 1.0em;
	padding-bottom: .5em;
	padding-right: 1.5em;
	background-size: 2.2em 2.2em;
}
.com_link a::before {
	top: 1px;
}
	
/*バナー*/
.com_bnr {
	margin-top: 9%;
}
	
}



/*下層共通
---------------------------------------------------------*/
.contentpage .m_img {
	margin-bottom: 85px;
	position:relative;
}
.m_img .slide_box{
	position:absolute !important;
	left:0;
	top:0;
}
.m_img .slide_box2{
	position:absolute !important;
	left:0;
	bottom:0;
}

.bg_gray {
	background: #bfbfbf;
}

/*リード文*/
.com_lead {
	text-align:center;
	padding: 0 3%;
	margin-bottom: 90px;
}
.com_lead dt{
	font-weight: 700;
	font-size:175%;
	letter-spacing: 0.15em;
	margin-bottom: 55px;
	line-height: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.contentpage .m_img {
	margin-bottom: 8%;
}
	
/*リード文*/
.com_lead {
	margin-bottom: 60px;
}
.com_lead dt{
	margin-bottom: 40px;
}	
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.contentpage .m_img {
	margin-bottom: 10%;
}

/*リード文*/
.com_lead {
	margin-bottom: 10%;
}
.com_lead dt{
	font-size:170%;
	margin-bottom: 5%;
}
.com_lead dd{
	text-align:left;
}	
}



/*下層共通
---------------------------------------------------------*/
.f_bnr {
	width: 94%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 70px 0;
	text-align: center;
	border-top: solid 1px #5b5b5b;
	position: relative;
}
.f_bnr::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #5b5b5b;
	left: 0;
	top: 2px;
}
.f_bnr ul {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
}
.f_bnr li {
	width: 32%;
	max-width: 300px;
}
.f_bnr li a {
	display: block;
	padding: 55px 0;
	color: #fff;
	font-size: 70%;
	font-weight: normal;
	letter-spacing: .15em;
	line-height: 1.2em;
	position: relative;
}
.f_bnr li:nth-child(1) a {background: #b3b3b3;}
.f_bnr li:nth-child(2) a {background: #b3afa0;}
.f_bnr li:nth-child(3) a {background: #bfacaf;}
.f_bnr li span {
	display: block;
	padding-bottom: .2em;
	font-size: 260%;
	font-weight: 300;
	letter-spacing: normal;
	line-height: 1.2em;
}
.f_bnr li a::before {
	content: "";	/* 矢印 */
	position: absolute;
	width: 3.8em;
	height: 3.8em;
	right: 1.0em;
	bottom: 1.0em;
	background: url(../images/arrow2@2x.png) no-repeat center center;
	background-size: contain;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.f_bnr {
	padding: 6% 0;
}
.f_bnr li a {
	padding: 40px 0;
}
.f_bnr li a::before {
	width: 2.6em;
	height: 2.6em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.f_bnr {
	padding: 6% 0;
}
.f_bnr::before {
	top: 1px;
}
.f_bnr li a {
	padding: 1.5em 0 2.5em;
	font-size: 120%;
	letter-spacing: .15em;
	line-height: 1.2em;
}
.f_bnr li span {
	padding-bottom: .2em;
	font-size: 70%;
}
.f_bnr li a::before {
	width: 1.6em;		/* 矢印 */
	height: 1.6em;
	right: .2em;
	bottom: .2em;
}
}



/*footer
---------------------------------------------------------*/
#footer .bg {
	background: #bfbfbf;
	color: #fff;
	position: relative;
}
#footer .bg a {
	color: #fff;
}
#footer #map_canvas {
	width: 50%;
	height: 520px;
}
#footer #map_canvas iframe {
	width: 100%;
	height: 100%;
	display: block;
	margin: auto;
}
#footer .bg .r_box {
	position: absolute;
	z-index: 0;
	width: 50%;
	left: 50%;
	bottom: 40px;
	box-sizing: border-box;
	padding: 0 3%;
}

#footer .bg .f_clinc dt {
	line-height: 1.0em;
	margin-bottom: 1.0em;
}
#footer .bg .f_clinc dt img {
	display: block;
	margin: auto;
}
#footer .bg .f_clinc dd {
	font-size: 94%;
	letter-spacing: .05em;
	line-height: 1.6em;
}
#footer .bg .f_clinc dd.com_link {
	margin-top: 40px;
	width: 13em;
}
#footer .bg .f_clinc dd.com_link a {
	border-color: #fff;
	background-image: url(../images/arrow2@2x.png);
}
#footer .bg .f_clinc dd.com_link a::before {
	background: #fff;
}

#footer .bg .f_point {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	width: 100%;
	max-width: 570px;
	margin: 100px auto 0;
	font-size: 90%;
	letter-spacing: .05em;
	line-height: 1.4em;
}
#footer .bg .f_point p:last-child {
	margin-top: 1.0em;
}

#footer .f_col3 {
	padding-top: 60px;
	padding-bottom: 60px;
}
#footer .f_col3 .in_box {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	position: relative;
}
#footer .f_col3 .in_box > div {
	box-sizing: border-box;
	text-align: center;
}
#footer .f_col3 .f_timetable {
	width: 42%;
	padding: 50px 3% 30px;	/* 揃える */
	padding-left: 0;
}
#footer .f_col3 .f_contact {
	width: 34%;
	padding: 50px 3% 30px;	/* 揃える */
	border-left: solid 1px #bfbfbf;
	border-right: solid 1px #bfbfbf;
}
#footer .f_col3 .f_copy {
	width: 24%;
	position: relative;
}

#footer .f_col3 h3 {
	font-size: 130%;
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1.2em;
	margin-bottom: 70px;
}

#footer .f_col3 .f_timetable dl {
	text-align: left;
	font-size: 86%;
	letter-spacing: .05em;
	line-height: 1.6em;
}
#footer .f_col3 .f_timetable dt {
	margin-bottom: 60px;
}
#footer .f_col3 .f_timetable dd {
	margin-bottom: .4em;
}

#footer .f_col3 .f_contact p {
	font-size: 86%;
	letter-spacing: .05em;
	line-height: 2.0em;
}
#footer .f_col3 .f_contact p.tel_item {
	font-size: 160%;
	font-weight: 500;
	letter-spacing: .15em;
	line-height: 1.2em;
	padding-top: 2.0em;
	position: relative;
	margin-bottom: 60px;
}
#footer .f_col3 .f_contact p.tel_item::before {
	font-family: 'fontello';
	content: '\e802';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	font-size: 120%;
}

#footer .f_col3 .f_copy .abs_box {
	box-sizing: border-box;
	width: 80%;
	position: absolute;
	left: 20%;
	bottom: 40px;
}
#footer .f_col3 .f_copy ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	width: 100%;
	max-width: 180px;
	margin-bottom: 30px;
}
#footer .f_col3 .f_copy li {
	width: 48%;
	max-width: 80px;
}
#footer .f_col3 .f_copy .f_menu {
	cursor: pointer;
}
#footer .f_col3 .f_copy p.ft_mont {
	text-align: left;
	font-size: 80%;
	font-weight: 300;
	letter-spacing: .15em;
	line-height: 1.6em;
}

#footer .com_bnr {
	text-align: left;
}

/* Tablet (1100px以下)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1100px) {
#footer .bg .f_point br {
	display: block !important;
}

#footer .f_col3 {
	padding-top: 4%;
	padding-bottom: 4%;
}
#footer .f_col3 .f_timetable {
	width: 42%;
	padding: 4% 3% 3%;	/* 揃える */
	padding-left: 0;
}
#footer .f_col3 .f_contact {
	width: 34%;
	padding: 4% 3% 3%;	/* 揃える */
}

#footer .f_col3 h3 {
	font-size: 100%;
	letter-spacing: .15em;
	margin-bottom: 2.0em;
}

#footer .f_col3 .f_timetable dl {
	font-size: 80%;
}
#footer .f_col3 .f_timetable dt {
	margin-bottom: 2.0em;
}

#footer .f_col3 .f_contact p {
	font-size: 80%;
	line-height: 1.6em;
	text-align: left;
}
#footer .f_col3 .f_contact p.tel_item {
	font-size: 3.0vw;
	letter-spacing: .05em;
	padding-top: 1.5em;
	margin-bottom: 1.5em;
	text-align: center;
}
#footer .f_col3 .f_contact p.tel_item::before {
	font-size: 100%;
}

#footer .f_col3 .f_copy .abs_box {
	width: 84%;
	left: 16%;
	bottom: 3%;
}
#footer .f_col3 .f_copy ul {
	margin-bottom: 2.0em;
}
#footer .f_col3 .f_copy p.ft_mont {
	font-size: 70%;
	letter-spacing: .05em;
}
#footer .f_col3 .f_copy p.ft_mont br {
	display: none;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#footer #map_canvas {
	width: 100%;
	height: 300px;
}
#footer .bg .r_box {
	position: relative;
	width: 100%;
	left: auto;
	bottom: auto;
	padding: 8% 5% 4%;
}

#footer .bg .f_clinc dt {
	font-size: 150%;
}
#footer .bg .f_clinc dd {
	font-size: 100%;
}
#footer .bg .f_clinc dd.com_link {
	margin-top: 1.5em;
}

#footer .bg .f_point {
	margin-top: 6%;
}
#footer .bg .f_point p:last-child {
	margin-top: .5em;
}

#footer .f_col3 {
	padding-top: 2%;
	padding-bottom: 100px;
}
#footer .f_col3 .in_box {
	display: block;
}
#footer .f_col3 .in_box > div {
	padding: 6% 3% 4% !important;
}
#footer .f_col3 .f_timetable {
	width: 100%;
}
#footer .f_col3 .f_contact {
	width: 100%;
	border-left: none;
	border-right: none;
	border-top: solid 1px #bfbfbf;
	border-bottom: solid 1px #bfbfbf;
}
#footer .f_col3 .f_copy {
	width: 100%;
}

#footer .f_col3 h3 {
	font-size: 110%;
	margin-bottom: 1.0em;
}

#footer .f_col3 .f_timetable dl {
	font-size: 90%;
}
#footer .f_col3 .f_timetable dt {
	margin-bottom: 1.5em;
}
#footer .f_col3 .f_timetable dd {
	margin-bottom: 0;
}

#footer .f_col3 .f_contact p {
	font-size: 90%;
	line-height: 1.8em;
	text-align: left;
}
#footer .f_col3 .f_contact p.tel_item {
	text-align: center;
	padding-top: 0;
	margin-bottom: .5em;
	display: inline-block;
	padding-left: 1.5em;
}
#footer .f_col3 .f_contact p.tel_item::before {
	font-size: 100%;
	right: auto;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

#footer .f_col3 .f_copy .abs_box {
	width: 100%;
	position: static;
}
#footer .f_col3 .f_copy ul {
	display: none;
}
#footer .f_col3 .f_copy p.ft_mont {
	padding-right: 15%;
}
#footer .f_col3 .f_copy p.ft_mont br {
	display: none;
}
}



/*スマホフッター
---------------------------------------------------------*/
@media only screen and (min-width: 768px) {
#sp_footer {display: none;}
}

#sp_footer {
	position: fixed;
	width: 100%;
	background: #bfbfbf;
	left: 0;
	bottom: 0;
	z-index: 999;
	box-sizing: border-box;
	padding: 15px 3% 20px
}
#sp_footer img {
	display: block;
	margin: auto;
	width: auto;
	max-height: 14px;
}
#sp_footer .sp_tel_btn img {
	max-height: 20px;
}
#sp_footer p {
	width: 80%;
	margin: 0 auto;
}
#sp_footer .sp_tel_btn {
	width: 100%;
	margin-bottom: 8px;
}



/*pagetop
---------------------------------------------------------*/
#page_top {
	width: 8%;
	max-width: 70px;
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 9999;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#page_top {
	width: 12%;
	bottom: 80px;
	right: 0;
}
}



/* PC
------------------------------------------*/
@media only screen and (min-width: 768px)  {
.tb_only{display:none !important;}
.sp_only{display:none !important;}
.sp_tb{display:none !important;}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.pc_only{display:none !important;}
.tb_only{display:inherit !important;}
.sp_only{display:none !important;}
.tb_pc{display:inherit !important;}
.sp_tb{display:inherit !important;}

/*body{background:#ccc;}*/
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pc_only{display:none;}
.tb_only{display:none;}
.sp_only{display:inherit;}
.tb_pc{display:none;}
.sp_tb{display:inherit;}
}

/* Mobile (Landscape)
------------------------------------------*/
@media only screen and (min-width: 480px) and (max-width: 767px) {}