@charset "UTF-8";
.con_intro .floor_map { max-width: 1200px; margin: auto; }
@media only screen and (max-width: 1199px) { .con_intro .floor_map { width: 95%; } }

.con_common:after { content: ""; display: table; clear: both; }

html.lower #contents .page_title { background: url(../../../facilities/images/img_main.jpg) no-repeat center/cover; }

@media only screen and (min-width: 1025px) and (max-width: 1319px) { .container { max-width: 95%; } }

#layout_gnav { position: fixed; right: 0; top: 45%; z-index: 999; display: none; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); background: rgba(255, 255, 255, 0.8); background: rgba(255, 255, 255, 0.8); background: rgba(255, 255, 255, 0.8); background: rgba(255, 255, 255, 0.8); background: rgba(255, 255, 255, 0.8); background: rgba(255, 255, 255, 0.8); padding: 2em; -webkit-border-radius: 0.8em; -moz-border-radius: 0.8em; -ms-border-radius: 0.8em; -o-border-radius: 0.8em; border-radius: 0.8em; }
@media only screen and (min-width: 1025px) and (max-width: 1799px) { #layout_gnav { top: 30%; } }
@media only screen and (min-width: 1300px) and (max-width: 1350px) { #layout_gnav { right: 6em; } }
#layout_gnav h3 { font-size: 84%; letter-spacing: 10px; }
#layout_gnav ul li { margin-top: 15px; }
@media only screen and (min-width: 1025px) and (max-width: 1799px) { #layout_gnav ul li { margin-top: 10px; } }
#layout_gnav ul li a { text-decoration: none; display: block; position: relative; letter-spacing: 2px; font-weight: bold; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; }
#layout_gnav ul li a:before { content: ''; width: 10px; height: 1px; top: 8px; left: -15px; opacity: 0; position: absolute; background: #c65b13; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; }
#layout_gnav ul li a:hover { -webkit-transform: translateX(15px); -moz-transform: translateX(15px); -ms-transform: translateX(15px); -o-transform: translateX(15px); transform: translateX(15px); }
#layout_gnav ul li a:hover:before { opacity: 1; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; }
#layout_gnav ul li.active a { -webkit-transform: translateX(15px); -moz-transform: translateX(15px); -ms-transform: translateX(15px); -o-transform: translateX(15px); transform: translateX(15px); }
#layout_gnav ul li.active a:before { opacity: 1; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; }

.con_intro .floor_map { position: relative; margin-bottom: 50px; }
@media only screen and (max-width: 767px) { .con_intro .floor_map { margin-bottom: 1em; } }
.con_intro .floor_map .txt_desc { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; position: absolute; top: 50%; right: 5%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); }
.con_intro .floor_map .txt_desc span { color: #fff; }
.con_intro .floor_map .txt_desc span.jp { font-size: 150%; letter-spacing: .2em; }
@media only screen and (max-width: 1199px) { .con_intro .floor_map .txt_desc span.jp { font-size: 134%; } }
.con_intro .con_lnk { max-width: 1100px; }
@media only screen and (min-width: 768px) and (max-width: 1199px) { .con_intro .con_lnk { padding: 0; } }
@media only screen and (min-width: 768px) { .con_intro .con_lnk ul li { padding: 0.4902%; width: 32.35294%; margin: 0; } }
@media only screen and (max-width: 767px) { .con_intro .con_lnk ul li { width: 32%; margin: 0; } }

.con_common { padding: 50px 0 30px; border-bottom: 1px solid #ebebeb; }
@media only screen and (max-width: 767px) { .con_common { padding: 1.5em 0 1em; } }
@media only screen and (min-width: 1200px) { .con_common .container { max-width: 90%; } }
@media print { .con_common .container { max-width: 90%; } }
.con_common .container h3 span.en { font-size: 84%; }
.con_common .container h3 span.jp { font-size: 134%; }
.con_common .container [class^="slide_common"] { margin-bottom: 0 !important; }
.con_common .container [class^="slide_common"] span { display: block; position: relative; overflow: hidden; }
@media only screen and (min-width: 768px) { .con_common .container [class^="slide_common"] span { height: 0; padding-bottom: 32.31293%; }
  .con_common .container [class^="slide_common"] span img { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 100%; } }
@media only screen and (max-width: 767px) { .con_common .container [class^="slide_common"] span { overflow: hidden; }
  .con_common .container [class^="slide_common"] span img { position: relative; width: 150%; max-width: none; margin-left: -25%; } }
.con_common .container [class^="js-dots"] { display: flex; align-items: center; justify-content: center; margin-top: 15px; }
@media only screen and (max-width: 767px) { .con_common .container [class^="js-dots"] { margin-top: 1em; } }
.con_common .container [class^="js-dots"] .prev, .con_common .container [class^="js-dots"] .next { text-align: center; cursor: pointer; }
@media only screen and (max-width: 767px) { .con_common .container [class^="js-dots"] .prev, .con_common .container [class^="js-dots"] .next { margin-top: .2em; } }
.con_common .container [class^="js-dots"] .prev:before, .con_common .container [class^="js-dots"] .next:before { margin: 0 !important; color: #403c38; font-size: 142%; }
@media only screen and (min-width: 768px) and (max-width: 1199px) { .con_common .container [class^="js-dots"] .prev:before, .con_common .container [class^="js-dots"] .next:before { font-size: 134%; } }
@media only screen and (max-width: 767px) { .con_common .container [class^="js-dots"] .prev:before, .con_common .container [class^="js-dots"] .next:before { font-size: 126%; } }
.con_common .container [class^="js-dots"] .prev { order: 0; margin-right: 2.5em; }
.con_common .container [class^="js-dots"] .prev:before, .con_common .container [class^="js-dots"] .prev:after { font-family: FontAwesome; }
.con_common .container [class^="js-dots"] .prev > * { vertical-align: middle; }
.con_common .container [class^="js-dots"] .prev:before { content: ""; margin-right: .5em; }
.con_common .container [class^="js-dots"] .next { order: 2; margin-left: 2.5em; }
.con_common .container [class^="js-dots"] .next:before, .con_common .container [class^="js-dots"] .next:after { font-family: FontAwesome; }
.con_common .container [class^="js-dots"] .next > * { vertical-align: middle; }
.con_common .container [class^="js-dots"] .next:before { content: ""; margin-right: .5em; }
.con_common .container [class^="js-dots"] .slick-dots { text-align: right; bottom: -2.5em; z-index: 1; width: auto; position: absolute; left: 50%; -webkit-transform: translate(-50%, 0); -moz-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); -o-transform: translate(-50%, 0); transform: translate(-50%, 0); position: static; transform: translate(0); width: auto !important; }
@media only screen and (max-width: 767px) { .con_common .container [class^="js-dots"] .slick-dots { bottom: .5em; width: 100%; text-align: center; } }
.con_common .container [class^="js-dots"] .slick-dots li { position: relative; width: 4px; height: 0; padding-top: 4px; margin: 0; display: inline-block; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; -o-border-radius: 50%; border-radius: 50%; overflow: hidden; -webkit-transition: background 300ms; -moz-transition: background 300ms; -o-transition: background 300ms; transition: background 300ms; background: #cbcbcb; }
.con_common .container [class^="js-dots"] .slick-dots li:not(.slick-active) button { cursor: pointer; }
.mouse .con_common .container [class^="js-dots"] .slick-dots li:not(.slick-active):hover, .touch .con_common .container [class^="js-dots"] .slick-dots li:not(.slick-active).touchstart { background: #868482; }
.touch .con_common .container [class^="js-dots"] .slick-dots li:not(.slick-active) { -webkit-tap-highlight-color: transparent; }
.touch .con_common .container [class^="js-dots"] .slick-dots li:not(.slick-active).touchend { -webkit-transition-delay: 200ms; -moz-transition-delay: 200ms; -o-transition-delay: 200ms; transition-delay: 200ms; }
.con_common .container [class^="js-dots"] .slick-dots li:not(:first-child) { margin-left: 1.5em; }
@media only screen and (max-width: 767px) { .con_common .container [class^="js-dots"] .slick-dots li:not(:first-child) { margin-left: 1em; } }
.con_common .container [class^="js-dots"] .slick-dots li.slick-active { background-color: #403c38; }
@media only screen and (max-width: 767px) { .con_common .container [class^="js-dots"] .slick-dots li { width: 1em; padding-top: 1em; } }
.con_common .container [class^="js-dots"] .slick-dots li button { position: absolute; left: 0; top: 0; width: 100%; height: 100%; opacity: 0; margin: 0; padding: 0; }
.con_common .container [class^="js-dots"] .slick-dots li { vertical-align: middle; }
.con_common .container [class^="js-dots"] .slick-dots li.slick-active { width: 10px; padding-top: 10px; }
@media only screen and (max-width: 767px) { .con_common .container [class^="js-dots"] .slick-dots li { width: .5em; padding-top: .5em; }
  .con_common .container [class^="js-dots"] .slick-dots li.slick-active { width: 1em; padding-top: 1em; } }
.con_common .container .img_one span { display: block; position: relative; overflow: hidden; }
@media only screen and (min-width: 768px) { .con_common .container .img_one span { height: 0; padding-bottom: 32.31293%; }
  .con_common .container .img_one span img { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 100%; } }
@media only screen and (max-width: 767px) { .con_common .container .img_one span { overflow: hidden; }
  .con_common .container .img_one span img { position: relative; width: 150%; max-width: none; margin-left: -25%; } }
.con_common .container .box_common { padding-top: 50px; }
@media only screen and (max-width: 767px) { .con_common .container .box_common { padding-top: 2em; } }
.con_common .container .box_common .txt { max-width: 550px; margin: 15px auto; letter-spacing: .2em; }
@media only screen and (min-width: 768px) { .con_common .container .box_common .txt.txt2 { text-align: center; } }
.con_common .container .box_btn { text-align: center; }
.con_common .container .box_btn .btn { display: inline-block; width: 30em; }
@media only screen and (max-width: 767px) { .con_common .container .box_btn .btn { width: 95%; } }
