@charset "utf-8";
/*==========================================================================

   base width

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

 body { min-width: 1020px;} 幅狭時のスクロールで見切り調整
 container { width: 1020px; margin-right: auto; margin-left: auto;}
 
 ★bootstrap grid system 採用により上記は使用しない

*/


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

   base frame

==========================================================================*/
#header {
    position: relative;
    padding-bottom: 12px;
    background: #fff;
}
#main {
    margin: 0 auto;
}
#footer {
	background: #f5f6f5;
}

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

   momentary style

==========================================================================*/
.gnav__item__nolink,
.fnav__item__nolink{
    color: #ccc;
}


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

   header

==========================================================================*/
.home #header { margin-top: -72px;}
.other #header { margin-top: -146px;}
.home .header-wrap { padding-top: 72px;}
.other .header-wrap { padding-top: 146px;}

.header-row {
    position: relative;
    min-width: 1028px;
	height: 72px;
    margin: 0 auto;
}
.header-face {
    display: inline-block;
    margin: 12px 0 0 10px;
    font-size: 0;
    vertical-align: top;
}
.header-logo {
    display: inline-block;
    vertical-align: top;
}
.header-text {
    display: inline-block;
    font-size: 12px;
}
.header-face__aside {
    display: inline-block;
    margin: 3px 0 0 20px;
    font-size: 11px;
}
.home .header-face__aside {
    margin-top: 18px;
}
.header-face__copy {
    margin-bottom: 3px;
}
.header-face__btn {
    margin-top: 8px;
    font-size: 12px;
    font-weight: bold;
}
.home .header-face__btn {
    display: none;
}
.header-face__btn__target:before {
    display: inline-block;
    font: bold 14px/1 FontAwesome;
    content: "\f144";
    position: relative;
    top: -.1em;
    margin-right: .25em;
    vertical-align: middle;
}
.header-guide {
    position: absolute;
    right: 0;
    top: 0;
    width: 372px;
    text-align: center;
}
.header-tel__header {
    margin-bottom: 5px;
    font-size: 11px;
}
.header-contact {
	display: inline-block;
}
.header-contact__item + .header-contact__item {
	padding-left: 1px;
}
.header-contact__btn {
    height: 36px;
}
.header-contact__btn .btn {
	height: 36px;
	font-size: 13px;
}
.header-contact__btn.btn--contact .btn { width: 114px;}
.header-contact__btn.btn--consult .btn { width: 114px;}
.header-contact__btn.btn--reserve .btn { width: 140px;}

.header-tel {
    padding: 5px 0;
	background: #f6f5f5;
}
.header-tel__header {
    margin-bottom: 5px;
    font-size: 11px;
}
.header-tel__number {
    font: 22px/1 'DIN Next LT W01 Regular';
    letter-spacing: .05em;
}
.header-tel__time {
    font-size: 11px;
}
.header-tel__note {
	margin-top: 5px;
	font-size: 11px;
}

/* ---------------------------------------------------- gnav */
.gnav {
    margin: 50px auto 0;
	text-align: center;
    line-height: 1.25;
}
.home .gnav {
    position: absolute;
    width: 100%;
    margin-top: 110px;
    z-index: 10;
}
.home .gnav {top: 300px;}
.index-kv { height: 300px;}

.gnav__list {
    width: 1028px;
    margin: 0 auto;
    font-size: 0;
    text-align: center;
    border-right: 1px solid #cbc8c7;
}
.gnav__item {
    position: relative;
    box-sizing: border-box;
    display: inline-block;
    width: 11.1%;
	padding: 6px 3px;
    font-size: 13px;
    text-align: center;
    vertical-align: middle;
    border-left: 1px solid #cbc8c7;
}
.gnav__item > a {
}
.gnav__item > a:hover {
    color: #288283;
}
.page-option__list {
	text-align: right;
}
.page-option__item {
	display: inline-block;
}


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

   header - scroll

==========================================================================*/
#header.scroll {
    position: fixed;
    top: 0;
    margin-top: 0;
    opacity: .9;
    transition: background .3s, margin .3s;
    width: 100%;
	height: 100px;
    z-index: 100;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
#header.scroll .header-row {
    position: relative;
    box-sizing: border-box;
    min-width: 1080px;
    padding: 10px;
}
#header.scroll .header-face {
	margin: 0;
}
#header.scroll .header-logo {
    position: relative;
    top: -3px;
    left: -3px;
}
#header.scroll .header-logo__target {
	width: 195px;
	height: 36px;
	background: url(../img/logo_header02.png) no-repeat;
	background-size: 195px;
}
#header.scroll .header-logo__primary,
#header.scroll .header-logo__secondary {
    display: inline-block;
}
#header.scroll .header-tel__header,
#header.scroll .header-tel__time{
	display: none;
}
#header.scroll .gnav {
    position: static;
    top: 0;
	margin-top: -10px;
}
#header.scroll .gnav__list {
    margin: 10px auto 0;
}

#header.scroll .header-guide {
	width: 565px;
}
#header.scroll .header-tel,
#header.scroll .header-contact {
    display: inline-block;
    background: #fff;
}
#header.scroll .header-tel {
    position: relative;
	top: -10px;
	margin-right: 5px;
}


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

   section

==========================================================================*/
.section-body01 {
	margin: 25px 0 35px;
}

.section-header01 {
	margin-bottom: 35px;
}
.section-header01__title {
	padding-bottom: .5em;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	border-bottom: 1px dashed #ccc;
}
.section-header01__desc {
	margin-top: 1em;
	font-size: 14px;
	line-height: 1.4;
	color: #666;
}
.section-header02 {
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3;
}


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

   footer-calendar

==========================================================================*/
.sec-footer-calendar {
    margin-top: 100px;
    padding: 50px 0;
    background: #f6f5f5;
}
.footer-calendar-footer {
    margin-top: 35px;
    text-align: center;
}
.footer-calendar-body {
    display: table;
    width: 100%;
}
.footer-calendar-col {
    display: table-cell;
    vertical-align: top;
    box-sizing: border-box;
    width: 50%;
    padding: 10px;
}
.footer-fair__list {
    height: 333px;
    overflow-y: scroll;
}
.footer-fair__item + .footer-fair__item {
    margin-top: 15px;
}
.footer-fair__item-title {
	line-height: 1.7;
}
.footer-fair__item-title a {
    color: #05428b;
}
.footer-calendar-footer
 .btn-outer {
    width: 288px;
    height: 36px;
    margin: 0 auto;
}
.footer-fair__item-aside img {
    width: 100px;
    height: auto;
}
.footer-fair__item {
    display: table;
    width: 100%;
}
.footer-fair__item-aside {
    display: table-cell;
    vertical-align: top;
    width: 100px;
}
.footer-fair__item-body {
    display: table-cell;
    vertical-align: top;
    padding-left: 15px;
}


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

   recent-fair

==========================================================================*/
.recent-fair {
    background: #fff;
}
.recent-fair__list {
    height: 333px;
    padding: 10px;
    overflow-y: scroll;
}
.recent-fair__item {
    display: table;
    width: 100%;
}
.recent-fair__item + .recent-fair__item {
    margin-top: 10px;
}
.recent-fair__item-aside {
    display: table-cell;
    width: 100px;
    vertical-align: top;
}
.recent-fair__item-aside img {
    width: 100%;
    height: auto;
}
.recent-fair__item__body {
    display: table-cell;
    padding-left: 10px;
    vertical-align: top;
}
.recent-fair__item-date {
    font: 24px/1 'DIN Next LT W01 Regular';
    letter-spacing: .06em;
}
.recent-fair__item-date__week {
    font-size: 12px;
}
.recent-fair__item-date.date--sat { color: #1c26d1;}
.recent-fair__item-date.date--sun { color: #d1462b;}
.recent-fair__item__title {
    margin: 5px 0 6px;
    font-size: 14px;
    line-height: 1.5;
}
.recent-fair__item__title a {
    color: #288283;
}
.recent-fair__item__icon .icon01__list {
    margin: 5px 0;
    text-align: left;
}
.recent-fair__item__icon .icon01__item {
    display: inline-block;
    margin: 0 2px 2px 0;
    padding: 3px 6px;
    font-size: 12px;
}


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

   footer

==========================================================================*/
/* footer-access */
.footer-access-header {
	padding: 32px 0 50px;
	text-align: center;
    background: #d3cecd;
}
.footer-access-header__title {
    font: 30px/1 'DIN Next LT W01 Medium';
    text-align: center;
}
.footer-access-header__text {
    margin: 20px 0 46px;
    font-size: 16px;
    line-height: 1.7;
}
.footer-access-body {
    display: table;
    width: 100%;
}
.footer-access-info {
    vertical-align: top;
}
.footer-access-map {
    width: 100%;
}
#footer-map-canvas {
    width: 100%;
    height: 410px;
}
.footer-access-info__number {
    margin: 10px 0 0;
    font: 26px/1 'DIN Next LT W01 Regular';
    letter-spacing: .06em;
}
.footer-access-info__time {
    margin: 3px 0 35px;
    font-size: 11px;
}
.footer-access-contact {
    margin-top: 35px;
}
.footer-access__item.contact01__item {
	margin: 2px;
	font-size: 14px;
}
.footer-access__item.contact01__item .btn-important {
    width: 100%;
}
.footer-access__btn .btn {
    width: 233px;
    height: 48px;
}
.footer-access-main-inner {
    display: table;
	padding: 38px 0 0;
}
.footer-access-face,
.footer-access-way {
    display: table-cell;
    box-sizing: border-box;
    width: 50%;
    vertical-align: top;
}
.footer-access-face-inner {
    display: table;
    width: 100%;
}
.footer-access-face__logo {
    display: table-cell;
	width: 80px;
    vertical-align: top;
}
.footer-access-face__body {
    padding: 7px 0 0 30px;
    vertical-align: top;
}
.footer-access-face__name {
    font-size: 18px;
	font-weight: bold;
}
.footer-access-face__number {
    margin: 7px 0 5px;
    font: 26px/1 'DIN Next LT W01 Regular';
}
.footer-access-face__time {
    font-size: 11px;
}
.footer-access-face__address {
    margin-top: 15px;
    font-size: 14px;
}
.footer-access-btn {
    width: 288px;
    margin: 36px auto 48px;
    text-align: center;
}
.footer-access-btn .btn {
    width: 288px;
    height: 36px;
    margin: 0 auto;
}
.footer-access-way {
	font-size: 14px;
	line-height: 1.5;
}


/*---------------------------------------------------- footer-menu */
.footer-menu {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
	background: #f5f6f5;
}
.footer-menu-inner {
	display: table;
}
.footer-menu-col {
    display: table-cell;
    vertical-align: top;
}
.footer-face {
    width: 305px;
	padding: 20px 0;
	text-align: center;
}
.footer-face-contact__btn.btn-outer {
    width: 87px;
    height: 40px;
	font-size: 12px;
}
.fnav {
    border-right: 1px solid #ccc;
}
.fnav-inner {
    display: table;
    width: 100%;
}
.fnav-col {
    display: table-cell;
    width: 25%;
    padding: 0 0 40px;
    vertical-align: top;
    border-left: 1px solid #ccc;
}
.fnav-row {
    padding: 25px 25px 15px;
}
.fnav-row + .fnav-row {
    margin-top: 20px;
	border-top: 1px solid #ccc;
}
.fnav-row__header {
    margin-bottom: 15px;
    font: 12px 'AvenirNextLTW01-Italic';
    font-weight: bold;
}
.fnav__item {
    position: relative;
    font: 13px/1.25 'YuGothic', '游ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    padding-left: 1em;
}
.fnav__item + .fnav__item {
    margin-top: .7em;
}
.fnav__item span {
    color: #ccc;
}
.fnav__item a {
	transition: .3s;
}
.fnav__item + .fnav__item {
    margin-top: 5px;
}
.fnav__item:before {
    display: inline-block;
    font: normal 12px/1 FontAwesome;
    content: "\f105";
    position: absolute;
    top: .12em;
    margin-left: -1em;
    vertical-align: middle;
}
.footer-sns {
    margin-bottom: 60px;
    color: #b3aca9;
}
.footer-sns__item {
    display: inline-block;
}
.footer-sns__item a {
    margin-bottom: 15px;
    font: bold 16px 'AvenirNextLTW01-Italic';
    color: #b9b2af;
}
.footer-sns__item + .footer-sns__item {
    margin-left: 35px;
}
.footer-guide {
    padding: 33px 0 65px;
    text-align: center;
	background: #503e38;
}
.footer-guide__list {
    margin: 96px 0 16px;
}
.footer-guide__item {
    display: inline-block;
	font-size: 12px;
}
.footer-guide__item + .footer-guide__item {
    margin-left: 10px;
}
.footer-guide__item a {
    color: #fff;
}
.footer-guide__item a:before {
    display: inline-block;
    font: bold 11px/1 FontAwesome;
    content: "\f105";
    position: relative;
    top: -.1em;
    margin-right: .5em;
    vertical-align: middle;
}
.copyright {
	display: block;
	font-size: 11px;
	color: #fff;
}
.copyright a {
	color: #fff;
}
