@charset "UTF-8";

/* -----------------------------------------
 基本
------------------------------------------- */
html {
  font-size: calc(100vw/64);
}
body {
  font-size: 1.4rem;
}
.sp--only {
  display: block;
}
.sp--only.iblock {
  display: inline-block;
}
.sp--only.inline {
  display: inline;
}
.pc--only {
  display: none;
}

/* -----------------------------------------
 レイアウト
------------------------------------------- */
.wrap {
  width: auto;
  min-width: 0;
}
section {
  min-width: 0;
}

/* -----------------------------------------
 共通
------------------------------------------- */
a:hover {
  opacity: 1;
}
a:hover img {
  opacity: 1;
}
button:hover {
  opacity: 1;
}

/* -----------------------------------------
 ページトップ
------------------------------------------- */
#page__top a {
  right: 1rem;
  bottom: 2rem;
  width: 5.4rem;
  height: 5.4rem;
}

/* -----------------------------------------
 見出し
------------------------------------------- */
.heading--a {
	bottom: -3.2rem;
	width: 26rem;
	padding: .6em 1em;
	font-size: 2.4rem;
}
.heading--a::before {
	top: .3rem;
	right: .3rem;
	bottom: .3rem;
	left: .3rem;
}
.heading--b {
  font-size: 2.4rem;
  margin-bottom: 1.3em;
}
.heading--b > span {
  padding: .3em 1em;
}
.heading--c {
  font-size: 1.8rem;
}

/* -----------------------------------------
 ヘッダー
------------------------------------------- */
.header {
  padding: 0 0 0 1.6rem;
  min-width: 0;
}
.header .header__logo {
  width: 16.6rem;
  margin-left: 0;
}
.header .header__logo-v2 {
  display: none;
}
.header .header__logo .right--side {
  padding-left: 1rem;
}
.header .feature {
	display: none;
}
.btn__menu--sp {
	display: block;
	padding: 1.4rem 1.6rem;
}
.btn__menu--sp div {
	position: relative;
	width: 2.4rem;
	height: 2.2rem;
	cursor: pointer;
}
.btn__menu--sp div::before,
.btn__menu--sp div::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: .3rem;
	background-color: #B17752;
}
.btn__menu--sp div::before {
	top: 1.8rem;
}
.btn__menu--sp div::after {
	bottom: 1.8rem;
}
.btn__menu--sp div span {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: .3rem;
	background-color: #B17752;
}

/* -----------------------------------------
 メインビジュアル
------------------------------------------- */
.mv {
  min-width: 0;
}
.mv__slide .slide__item .slide__item-inner {
  height: auto;
  position: relative;
}
.mv__slide .slide__item .slide__item-inner::before {
  content: "";
  display: block;
  padding-top: 63.2%;
}

.mv__slide .slide__item a:hover {
  opacity: 1;
}
.mv__slide .mv__title img {
  max-width: 29rem;
  top: 2em;
}
.mv__slide .slide__img {
  height: 24rem;
}
.mv__about {
  height: auto;
  position: relative;
}
.mv__about::before {
  display: block;
  content: "";
  padding-top: 52.533%;
}
.mv__about.access-mv {
  background-position-x: 80%;
}
.mv__about.guide-mv {
  background-position-y: 0%;
}
/* -----------------------------------------
 フッター
------------------------------------------- */
footer {
  padding: 3rem 0 7rem;
  min-width: 0;
}
.footer__link li {
  display: block;
}
.footer__link li:not(:last-child) {
	margin-bottom: .8em;
  margin-right: 0;
  padding-right: 0;
	border-right: none;
}
.copyright {
  font-size: 1.3rem;
}

/* -----------------------------------------
 ボタン
------------------------------------------- */
.btn, a.btn {
  min-width: 20rem;
  padding: .7em 1.7em;
  font-size: 1.6rem;
}
.btn::after {
  width: 1.7rem;
  height: 1.7rem;
}

/* -----------------------------------------
 ナビゲーション
------------------------------------------- */
.nav {
  display: none;
}

/* -----------------------------------------
 ニュース
------------------------------------------- */
.news {
  display: block;
  padding: 3.5rem 2rem 3rem;
}
.news__list {
  margin-bottom: 2rem;
}
.news .news__left {
  margin-right: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: baseline;
	align-items: baseline;
  -ms-flex-pack: justify;
	justify-content: space-between;
}
.news .news__left .heading--b {
  width: auto;
  font-size: 2.4rem;
  margin-bottom: 2.5rem;
}
.news .btn__accordion {
  margin: 0 auto;
  display: block;
  margin-top: 3rem;
}
.btn__accordion::before {
  height: 1.4rem;
  width: 1.4rem;
}
.news .news__left a.pc--only {
  display: none;
}
.news .news__link.sp--only {
  display: inline-block;
  padding: .5em 2em .5em 1.4em;
  font-size: 1.6rem;
  text-align: center;
}

/* -----------------------------------------
 来館案内
------------------------------------------- */
.about {
  padding: 4rem 2rem;
}
.about__history {
  padding: 0;
  display: block;
  margin-bottom: 3rem;
}
.about__history::before {
  width: .1rem;
  height: 100%;
}
.about__history .item {
  padding: .5rem 0 2rem 3rem;
}
.about__history .item::before {
  width: 4%;
  height: .1rem;
  right: auto;
  top: 2rem;
}
.about__history .item::after {
  width: .8rem;
  height: .8rem;
  top: 1.6rem;
  left: -.3em;
  right: auto;
}
.about__history .floor {
  font-size: 2rem;
  text-align: left;
  margin-bottom: .4em;
}
.floor--box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
	align-items: center;
}
.floor--box .about__thumb {
  width: 33%;
  margin-bottom: 0;
}
.floor--box .right--side {
  width: 50%;
  margin-left: 1.5rem;
}
.about__history h3 {
  width: 66%;
}
.about__history .title {
  font-size: 1.8rem;
}

/* -----------------------------------------
 営業日のご案内
------------------------------------------- */
.schedule {
  padding: 4rem 2rem;
}
.schedule .schedule__time .heading--c {
  margin-right: 0;
  margin-bottom: .5rem;
}
.schedule .schedule__time {
  display: block;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}
.schedule .schedule__time p {
  font-size: 1.6rem;
}
.schedule__day {
  margin-bottom: 3rem;
}
.schedule__day .left__side {
  float: none;
  width: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
	align-items: center;
  margin-bottom: 2rem;
}
.schedule__day .left__side .holiday {
  padding-left: 3rem;
  margin-left: 3rem;
}
.schedule__day .left__side .holiday::before {
  width: 2rem;
  height: 2rem;
}
.schedule__day .left__side .heading--c {
  margin-bottom: 0;
}
.schedule__day .right__side {
  display: block;
  float: none;
  width: auto;
  padding-top: 0;
}
.schedule__day .right__side .calendar__slide {
  display: block;
}
.schedule__day .right__side li {
	width: auto;
}
.schedule__day .right__side li:not(:last-child) {
  margin-right: 0;
}
.calendar__box .clndr-controls .month {
  font-size: 1.7rem;
}
.calendar__box .clndr-grid {
  font-size: 1.5rem;
  width: 80%;
  margin: 0 auto;
}
/* calendar__txt */
.calendar__txt {
  margin-top: 2rem;
}
.schedule .btn {
  min-width: 0;
  font-size: 1.6rem;
  padding: .7em 2.8em .7em 1em;
}
.btn.accordion::after {
  width: 1.2rem;
  height: 1.2rem;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}
.schedule .group__user {
  padding-top: 2rem;
}
.schedule .group__user .heading--c {
  margin-bottom: .5rem;
}
.group__user .inquiry {
  display: block;
  margin-bottom: 1em;
}
.group__user .inquiry p {
  font-size: 1.4rem;
  line-height: 1.5;
}
.group__user .inquiry .icon--tel {
  margin-left: 0;
  font-size: 2.4rem;
  padding-left: 4rem;
}
.group__user .inquiry .icon--tel::before {
  width: 3rem;
  height: 3rem;
}
.comment__list > li {
  font-size: 1.2rem;
}
.calendar__slide .slick-next {
  right: -1rem;
  top: 4rem;
  bottom: 0;
  margin: auto;
}
.calendar__slide .slick-next::before {
  border: none;
  background: url(../img/icon_arrow_b.svg) no-repeat;
  background-size: contain;
  height: 2.3rem;
  width: 2.3rem;
}
.calendar__slide .slick-prev {
  left: -1rem;
  top: 4rem;
  bottom: 0;
  margin: auto;
}
.calendar__slide .slick-prev::before {
  border: none;
  background: url(../img/icon_arrow_d.svg) no-repeat;
  background-size: contain;
  height: 2.3rem;
  width: 2.3rem;
}

/* -----------------------------------------
 アクセス
------------------------------------------- */
.access {
  padding: 4rem 2rem;
}
.access .location {
  display: block;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}
.access .location p {
  font-size: 1.4rem;
}
.access .location .heading--c {
  margin-right: 0;
  margin-bottom: .5rem;
}
.traffic__access {
  margin-bottom: 2rem;
}
.traffic__access .map {
  float: none;
  width: auto;
  margin-bottom: 1.5rem;
}
.traffic__access .route {
  float: none;
  width: auto;
}
.access .traffic .heading--c {
  margin-bottom: 1.5rem;
}
.traffic__access .route__detail:not(:last-child) {
  margin-bottom: 2rem;
}

/* -----------------------------------------
 バナーエリア
------------------------------------------- */
.bnr__area {
  padding: 4rem 2rem 2rem;
  min-width: 0;
}
.bnr__list {
  width: 100%;
  margin: 0 auto;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.bnr__list li {
  width: 48%;
}
.bnr__list li:not(:last-child) {
  margin-right: 0;
}
.bnr__list li:nth-child(n+5) {
  margin-top: 0;
}
.bnr__list li {
  margin-bottom: 1.5rem;
}
.bnr__list p {
  margin-top: .5em;
}

/* -----------------------------------------
 来館案内（下層ページ） 2020.01.16
------------------------------------------- */
/* ごあいさつ */
.message {
  padding: 7rem 0 3rem;
}
.message .wrap {
  width: auto;
  min-width: 0;
}
.message--txt {
  padding: 0 2rem;
}
.message--txt p {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
.message--txt p.mb60 {
  margin-bottom: 2rem;
}

/* フロアマップ／展示コーナー */
.floormap {
  padding: 4rem 0 2rem;
}
.floor-wrap {
  padding: 0 2rem;
}
.wrap.floor--map {
  width: auto;
  display: block;
  padding-bottom: 4rem;
}
.wrap.floor--map .floormap--right {
  padding-left: 0;
}
.wrap.floor--map .floormap--left {
  margin-bottom: 3rem;
  width: auto;
}
.floormap--heading {
  font-size: 1.8rem;
  margin-bottom: 2rem;
  line-height: 1.5;
}
.floormap--right__box {
  padding: 1.5rem 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
	align-items: center;
}
.floormap--right__box .top--side {
  margin-bottom: 0;
}
.floormap--right__box .btm--side {
  width: 100%;
  padding-left: 1rem;
}
.floormap--right__box .btm--side p {
  line-height: 1.4;
  font-size: 1.2rem;
}
.floormap--right__box .floormap--heading {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
.floor--history__wrap {
  width: auto;
  padding: 0;
}
.floormap--heading {
  margin-bottom: 1rem;
}
.floor--history__wrap .floormap--heading {
  font-size: 2rem;
}
.floor--history__list li {
  width: auto;
  padding: 3rem 2rem 2rem;
  margin-bottom: 2rem;
}
.floor--history__list li::before {
  font-size: 1.6rem;
}
.floor--history__list li:nth-child(even) {
  margin-left: 0;
}
.floor--history__top {
  margin-bottom: 1.5rem;
}
.floor--history__heading {
  font-size: 1.8rem;
  margin-bottom: .5rem;
}
.floor--history__sub {
  font-size: 1.4rem;
  padding: .7rem 0;
}

/* 見どころ */
.highlight {
  padding: 4rem 0;
}
.highlight--list {
  display: block;
}
.highlight--list {
  padding: 0 2rem;
}
.highlight--list li {
  width: auto;
  margin-right: 0;
  line-height: 1.5;
  margin-bottom: 3rem;
}
.highlight--list li:last-child {
  margin-bottom: 0;
}
.highlight--heading {
  font-size: 1.6rem;
  padding: 1rem 0 0.7rem 3rem;
}
.highlight--heading::before {
  height: 1.7rem;
  width: 2rem;
}
.heighlight--img {
  width: 100%;
  margin: 0 auto;
  max-width: 40rem;
}

/* -----------------------------------------
 アクセス(下層ページ)
------------------------------------------- */
.access--map {
  padding: 7rem 0 3rem;
}
.access--map .wrap {
  padding: 0 2rem;
}
.access--map .location {
  display: block;
  margin-bottom: 0;
}
.access--map .location .location-inner {
  display: block;
  margin-right: auto;
  margin-bottom: 3rem;
}
.access--map .location .location-inner .mb30 {
  margin-bottom: 1.5rem;
}
.access--map .location .location-inner .sp-center {
  text-align: center;
}
.access--map .location .access-img {
  width: 55%;
  margin: 0 auto;
}
.access--map .location .heading--c {
  margin-right: 0;
  font-size: 1.8rem;
  margin-bottom: 1rem;
}
.access--map .location p {
  font-size: 1.4rem;
}
.btn.large {
  font-size: 1.6rem;
}
.access--map .border--btm {
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
}
.access--map .traffic .heading--c {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}
.access--map .traffic__access .route {
  width: auto;
  float: none;
  margin-left: 0;
  margin-bottom: 1.5rem;
}
.access--map .traffic__access .route:last-child {
  margin-bottom: 0;
}
.access--map .heading--d::before {
  height: .7rem;
  width: .7rem;
}
.access--map .traffic__access .route:first-child .route__time dd {
  padding-left: 6rem;
}
.access--map .traffic__access .route .route__time dd {
  padding-left: 7rem;
}
.access--map .traffic__access .route:first-child .route__time dd::before {
  width: 5rem;
  left: 0;
}
.access--map .traffic__access .route .route__time dd::before {
  width: 6rem;
}
.access--map .closed {
  display: block;
}
.closed--left {
  width: auto;
  padding: 1.5rem;
  line-height: 1.5;
}
.closed--right {
  padding-left: 0;
  padding-top: 1rem;
}

/* -----------------------------------------
 よくある質問
------------------------------------------- */
.faq {
  padding: 7rem 0 3rem;
}
.faq .wrap {
  padding: 0 2rem;
}
.accordion__heading {
  padding-top: 0;
  padding-bottom: .5rem;
}
.accordion__heading a.btn__accordion {
  font-size: 1.8rem;
  padding-right: 3rem;
  display: inline-block;
}
.accordion__heading a.btn__accordion::before {
  width: 1.3rem;
  height: 1.3rem;
}
.faq__accordion dl dt {
  padding: 1rem 0 1rem 5rem;
}
.faq__accordion dl dt::before {
  height: 2.5rem;
  width: 2.5rem;
  font-size: 1.4rem;
  line-height: 1.8;
}
.faq__accordion dl dd {
  padding: 1.5rem 0 2rem 5rem;
}
.faq__accordion dl dd::before {
  height: 2.5rem;
  width: 2.5rem;
  font-size: 1.4rem;
  line-height: 1.8;
  top: .9em;
}

/* -----------------------------------------
 ニュース(下層ページ)
------------------------------------------- */
.news--page {
  padding: 7rem 0 3rem;
}
.news--page .wrap {
  padding: 0 2rem;
}
.news__list li:not(:last-child),.news__list--inner:not(:last-child) {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}
.news__list .left--side {
  float: none;
  padding-bottom: .3em;
}
.news__list .right--side {
  float: none;
  width: auto;
}
.news__list li,.news__list--inner {
  display: block;
}
.news__list .category {
  min-width: auto;
  margin-right: 1.5rem;
  font-size: 1.2rem;
  padding: 0 .7em;
}
.news__list .left--side .date {
  margin-right: 0;
  width: auto;
}
.news__more {
  margin-top: 3rem;
}

/* -----------------------------------------
 ご利用案内
------------------------------------------- */
.guide {
  padding: 7rem 0 3rem;
}
.guide .wrap {
  padding: 0 2rem;
}
.guide-column.border--btm {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
}
.guide-column .heading--b {
  margin: 5rem auto 2rem;
}
.guide-column .heading--c {
  margin-bottom: .5rem;
}
.guide-column p {
  font-size: 1.4rem;
  margin-bottom: 0;
}
.guide-column p.f14 {
  font-size: 1.2rem;
}
.guide-column_inner .heading--d {
  font-size: 1.6rem;
}
.guide-column ul li {
  font-size: 1.4rem;
}
ul.number-disc {
  margin-bottom: .5rem;
}
ul.number-disc li ul.disc {
  margin: 1rem 0
}
.guide-column ul.inner-disc li {
  font-size: 1.2rem;
}

/* -----------------------------------------
 ニュース モジュール
------------------------------------------- */
.news--date {
  font-size: 1.4rem;
  margin-bottom: .5rem;
}
.news--title {
  font-size: 1.8rem;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  line-height: 1.4;
}
.news--sub__title {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
.f--small {
  font-size: 1.4rem;
}
.f--middle {
  font-size: 1.8rem;
}
.f--large {
  font-size: 2.2rem;
}
.img--small img {
  width: 45%;
}
.img--middle img {
  width: 70%;
}
.btn.size--l {
  min-width: 27rem;
  padding: 1em 1.7em;
}
.column2-box.img-left .left-side {
  float: none;
  padding-right: 0;
  width: 100%;
}
.column2-box.img-right .right-side {
  float: none;
  padding-left: 0;
  width: 100%;
}
.column2-box .left-side.img--small img,.column2-box .right-side.img--small img {
  width: 45%;
}
.column2-box .left-side.img--middle img, .column2-box .right-side.img--middle img {
  width: 70%
}
.column2-box .left-side.img--large img,.column2-box .right-side.img--large img {
  width: 100%;
}
.column2-box-img .left-side,.column2-box-img .right-side {
  width: 100%;
  float: none;
}
.column2-box .left-side.img--small,.column2-box .left-side.img--middle,.column2-box .left-side.img--large,
.column2-box .right-side.img--small,.column2-box .right-side.img--middle,.column2-box .right-side.img--large {
  text-align: center;
  margin-bottom: 1rem;
}
.column2-box-img .left-side {
  margin-bottom: 1rem;
}
.mb-m {
  margin-bottom: 2rem;
}
.mb-l {
  margin-bottom: 3rem;
}

/* -----------------------------------------
 スマホサイズ
------------------------------------------- */
@media screen and (max-width: 599px){
html {
  font-size: calc(100vw/38);
}
body {
  font-size: 1.4rem;
}
.about__history .item::before {
  width: 7%;
}
.floor--box .about__thumb {
  width: 50%;
}
.about__history h3 {
  width: 100%;
}
}