@media screen and (max-width: 750px) {

/* common
--------------------------------- */
html{
  font-size: 88%;
  line-height: 1.5;
}

body{
  -webkit-text-size-adjust : 100%;
  border-top: none;
}

.noPC{ display: block!important;}
.noSP{ display: none!important;}

.fl_l, .fl_r{
  float: none!important;
}

img{
  max-width: 100%!important;
  height: auto!important;
  display: block;
  margin: 0 auto;
  float: none;
}

/* add by k.toma */
.paver__fallbackMessage {
  display: none;
}
.panorama img {
  height: 100% !important;
  object-fit: cover; /* add by k.toma */
}

.btn_list{
  overflow: hidden;
}

.btn_list li{
  display: block;
  width: 49%;
  float: left;
  margin: 0 0 5px 0; 
}

.btn_list li:nth-child(even){
  float: right;
}

.btn_list li a{
  display: block;
  min-width: initial!important;
  min-width: auto!important;
}
  

/* ヘッダー
---------------------------------------------- */
body{
  padding-top: 40px;
}

#header{
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 400;
  display: block;
  background: #fff;
}

#header p.logo{
  height: 40px;
}

#header p.logo a img{
  width: auto!important;
  height: 20px!important;
}

#dr_open{
  width: 40px;
  height: 40px;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  font-size: 25px;
  background: #212121;
}

#dr_open span {
  display: block;
  width: 20px;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 10px;
}

#dr_open span:nth-of-type(1) { top: 10px;}
#dr_open span:nth-of-type(2) { top: 16px;}
#dr_open span:nth-of-type(3) { top: 23px;}

#dr_open::after{
  content: "MENU";
  font-size: 0.5rem;
  line-height: 1;
  width: 100%;
  text-align: center;
  position: absolute;
  top: 28px;
  left: 0;
}

#dr_close{
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 2rem;
  color: #fff;
  background: #212121;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
}

#gnav{
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  padding: 0 0 0 40px;
  box-sizing: border-box;
  text-align: left;
  transition: left .5s, right .5s, opacity .5s;
  background: #e6e6e6;
  z-index: 500;
  opacity: 0;
}

#gnav.open{
  right: 0;
  overflow-y: scroll;
  opacity: 1;
}

#gnav > ul{
  display: block;
  background: #212121;
}

#gnav > ul > li{
  display: block;
  width: auto!important;
  box-sizing: border-box!important;
  border-bottom: 1px solid #c8c8c8;
}

#gnav > ul > li > a,
#gnav span.sol{
  height: auto;
  line-height: 1.2;
  font-size: 1rem!important;
  padding: 1rem!important;
  box-sizing: border-box!important;
  position: relative;
}

#gnav span.sol::after{
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: scaleX(0.8) rotate(135deg);
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  transition: all 0.3s ease 0s;
}

#gnav span.sol.active{
  background-color: #9c1905;
}

#gnav span.sol.active::after{
	margin-top: -2px;
	transform: scaleX(0.8) rotate(-45deg);
}
	
#gnav .nav_wrap {
  display: block!important;
  position: static!important;
  height: auto!important;
  max-height: 0;
  padding: 0!important;
  box-sizing: border-box;
  background: none;
  overflow: hidden!important;
  -webkit-transition: max-height .4s;
  transition: max-height .4s;
}

#gnav .nav_wrap.open{
	display: block;
  max-height: 100vh;
  background: #e6e6e6;
}

#gnav .nav_wrap .nav_in {
  margin: 0;
  padding: 0;
  height: auto;
}

.nav_in li{
  width: 100%!important;
  float: none!important;
  margin-right: 0;
  background: #404040;
  border-bottom: 1px solid #fff;
}

.nav_in li a{
	padding-left: 2em;
	padding-right: 1em;
}
	
#gnav .nav_link{
  overflow: hidden;
  padding: 1rem;
  box-sizing: border-box;
}

#gnav .nav_link li{
  width: 49.5%!important;
  box-sizing: border-box;
  float: left;
  margin-bottom: 2px;
  border: none!important;
}

#gnav .nav_link li:nth-child(even){
  float: right;
}

#gnav .nav_link li a{
  display: block;
  width: 100%;
  text-align: center;
  font-size: 0.875rem!important;
  padding: 0.875rem!important;
  box-sizing: border-box;
  color: #fff;
  text-decoration: none;
  background: #9c1905;
}

#gnav .nav_link .widget-sidebar{
  width: 100%;
  overflow: hidden;
}

#gnav .nav_link li.en li{
  width: 100%!important;
  float: none!important;
  margin-bottom: 0!important;
}

#gnav .nav_link li.en li a{
  line-height: 1.2;
}
  
#gnav .nav_link2 li{
  border-bottom: none;
}

#gnav .nav_link2 li a{
  font-size: 0.875rem;
  padding: 0.5rem 1rem!important;
}

#gnav p.copy{
  font-size: 0.5rem;
  color: #fff;
  line-height: 1.2;
  padding: 1rem 1rem 1rem 1rem;
  background: #212121;
}

#home_mv{
  margin-top: 0;
}

/* フッター
---------------------------------------------- */
#footer ul.bnr{
  width: 100%;
  margin-top: 50px;
  padding: 1rem 0;
  box-sizing: border-box;
  display:-webkit-box;
  display:-moz-box;
  display:-ms-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:-ms-flex;
  display:flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

#footer ul.bnr li{
  margin: 0;
  padding: 0.5rem 1rem;
  width: 50%;
  box-sizing: border-box;
}

#footer ul.bnr a,
#footer ul.bnr a img{
  display: block;
}

#footer .wrap2{
  display: block;
  padding: 1rem 0 0 0;
  font-size: 0.78rem;
}

#footer .wrap2 p{
  display: block;
  width: 100%!important;
  margin: 0;
  box-sizing: border-box;
}

#footer .wrap2 p{
  padding: 0 1rem 1rem 1rem;
}

#footer .wrap2 p.logo img{
  margin-left: 0;
  width: 60%;
}

#footer .wrap2 ul{
  width: 100%;
  overflow: hidden;
  margin: 0;
  box-sizing: border-box;
  display: table;
  table-layout: fixed;
  background: #9c1905;
}

#footer .wrap2 li{
  display: table-cell;
  margin: 0;
  font-size: 0.9rem;
  vertical-align: middle!important;
}

#footer .wrap2 li:first-child a{
  border-right: 1px solid #fff;
}

#footer .wrap2 .widget-area li{
  width: 100%;
}

#footer .wrap2 .lang-item{
  margin-top: 0;
}

#footer .wrap3{
  padding: 15px;
  font-size: 0.5rem;
}

#pagetop{
  bottom: 3px;
  right: 3px;
  opacity: 0.6;
}

#pagetop a::after{
  display: none;
}

/* トップページ
------------------------------------------*/
.panorama {
  margin-top: 0;
}

.home .pickup{
  padding: 2rem 3rem 3rem 3rem;
  background: #952223;
}

.home .pickup h2{
  font-size: 1.4rem;
  padding-left: 0;
}

.home .pickup .slick-slide a{
  margin: 0;
}

.home .pickup .slick-slide .img{
  height: 100px;
}

.home .event_cal{
  padding: 2rem 1rem 3rem 1rem;
}

.home .event_cal h2{
  margin: 0 0 1.5rem 0!important;
}

.event_list{
  border: none;
}

.event_list, .event_list thead, .event_list tbody{
  display: block;
}


.event_list tr, .event_list td{
  display: block;
  width: 100%;
  box-sizing: border-box;
}

.event_list td{
  padding: 0;
  border: none;
}

.event_list td a{
  padding: .5rem 1rem .5rem 2.5rem;
  color: #fff;
  background: #2e3843;
}

.event_list td a::before{
  left: 10px;
  background: #fff;
}

.event_list td a::after{
  margin-left: 15px;
  border-right: 2px solid #2f3944;
  border-top: 2px solid #2f3944;
}

.event_list td.date{
  padding: 1em 0 0 0;
}

.event_list td.place{
  padding: 0.5em 0 1em 0;
}

.event_list td.date::before{
  content: "開催日：";
}

.event_list td.place::before{
  content: "会場：";
}

.tb_wrap{
  display: block;
}

.tb_wrap .cell{
  display: block;
  padding: 0 1rem;
}

.home h2{
  margin: 4rem 0 1.5rem;
}

.related_news ul.list{
  width: 100%;
  float: none;
  margin-right: 0;
}

.related_news ul.list:nth-child(2),
.related_news ul.list:nth-child(3){
  display: none;
}

ul.list li, ul.list_img li{
  height: auto!important;
  }

ul.list li a, ul.list_img li a{
  font-size: 1rem;
}

.home .event_list td a::after{
  left: .5rem;
}

.news_more{
  margin: 15px 15px 35px 15px;
  text-align: center;
}

.news_more a{
  display: block;
  height: 40px;
  line-height: 40px;
  text-decoration: none;
  border-radius: 5px;
  border: 1px solid #333;
}

.news_more a .fa{
  vertical-align: middle;
  margin-left: 0.5em;
}

/* 下層
---------------------------------------------- */
#sns{
  display: table;
  margin: 1rem 0 1rem auto;
}

#mv{
  margin-top: 0;
  margin-bottom: 1em;
  height: 150px;
  line-height: 1.3;
  font-size: 1.4rem;
  padding: 0 1rem;
}

#single_tt{
  height: 150px;
  margin-top: 0;
}

#single_tt span{
  padding: 0 10px;
  font-size: 1.4rem;
}

.tt2,
#single_wrap h2,
#page_wrap h2,
#tribe-events-content h2{
  font-size: 1.25rem;
  position: relative;
  padding: 0.5rem 0.75rem;
}

.tt2::after{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 3px;
  left: 0;
  background: #fff;
}

.tt3,
#single_wrap h3,
#page_wrap h3,
#tribe-events-content h3,
.tt4,
#single_wrap h4,
#page_wrap h4,
#tribe-events-content h4,
.tt5,
#single_wrap h5,
#page_wrap h5,
#tribe-events-content h5{
  font-size: 1.25rem;
  margin: 2rem 0 0.75rem 0;
}

.tb_gr,  .tb_gr .box{
  display: block;
  width: 100%!important;
  padding: 0!important;
  margin-bottom: 1rem;
}

.caption{
  margin-top: 0.5rem;
}

.col_wrap .col2{
  width: 100%;
  float: none!important;
  margin-bottom: 1em;
}

.arrow_link_s a{
  margin: 0.25rem 0;
}

ul.list02 li a{
  padding: 0.5rem 3rem 0.5rem 1rem;
  border-radius: 0;
}

ul.list02 li a::before{
  width: 15px;
  height: 15px;
  left: auto;
  right: 1rem;
}

ul.list02 li a::after{
  margin-left: auto;
  margin-right: 1.4rem;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  left: auto;
  right: 0;
  margin-top: -5px;
}

ul.list02 li > ul li a {
  background:transparent;
  margin-left:0rem;
  padding-left: 2.5rem;
}

/**/
#page_wrap ul.link li a {
    padding: 0.2rem 1rem 0.2rem 1.5rem;
    display: inline-block;
    text-align: left;
}
#page_wrap ul.link li a:after {
    margin-left: 0;
}

  
/*table横スクロール*/
.tb_scroll{
  overflow: auto;
  white-space: nowrap;
}

.tb_scroll::-webkit-scrollbar{
  height: 5px;
}

.tb_scroll::-webkit-scrollbar-track{
  background: #f1f1f1;
}

.tb_scroll::-webkit-scrollbar-thumb {
    background: #bcbcbc;
}

/*フォーム*/
.tb_form{
  display: block;
  border-top: none:
}

.tb_form tr{
  display: block;
  border-bottom: 1px dotted #808080;
}

.tb_form th, .tb_form td{
  display: block;
  width: 100%;
  border-bottom: none;
  color: #000;
  background: none;
}

.tb_form th{
  padding: 1em 0.25rem 0 0.25rem;
}

.tb_form td{
  font-size: 1rem;
  padding: 0.25rem 0.25rem 1em 0.25rem;
}

.tb_form td li{
  display: inline-block;
  margin-right: 1rem;
}

.tb_form td li{
  display: block;
  margin-right: 0;
}

textarea{
  height: 8rem;
}

.tb2, .tb2 tr, .tb2 tbody{
  display: block;
  border-top: none;
}

.tb2 th, .tb2 td{
  display: block;
  padding: 0.5rem;
  font-size: 1rem;
  border: none;
}

.tb2 td{
  padding: 0.5rem 0;
}

.tb3 tr{
  display: block;
  padding: 0.25rem 0;
  border-top: 1px dotted #808080;
}

.tb3 tr.nb, .tb3 tr.nb + tr{
  border: none;
}

.tb3 th, .tb3 td{
  display: block;
  padding: 0.5rem;
  font-size: 1rem;
  border: none;
}

.tb3 td{
  padding: 0.1rem 0;
}

.tb3 tr.bg_g{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

blockquote {
    padding: 1rem;
}

blockquote:before{
    display: block;
    position: static;
}

blockquote cite{
    display: block;
    text-align: left;
    color: #666;
    font-size: 0.875em;
  margin-top: 0.5rem;
}

.pager li a{
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.ui-tabs-nav li a{
  padding: 0.5rem 1rem!important;
}

.ui-tabs-panel{
  padding: 1rem 0;
}

.card_list li{
  width: 100%;
  float: none;
  margin: 0 0 1rem 0;
}

ul.media_list li a{
  height: auto;
}

ul.media_list li a .img{
  margin: 0 auto 1rem auto;
  position: static;
}

ul.media_list li a .txt{
  height: auto;
  float: none;
  padding-left: 0;
}

ul.media_list li a .txt p.tt{
  font-size: 1.125rem;
}

ul.media_list li a .txt p.more{
  font-size: 1rem;
}

ul.information_list li,
ul.information_list li p.date,
ul.information_list li .txt{
  display: block;
}

ul.information_list li .txt p{
  padding-left: 0;
}

ul.information_list li p.tt{
  padding-left: 2rem;
  margin-bottom: 0.5rem;
  background-position: 0 0.5rem;
}

ul.staff_list li{
  width: 100%;
  float: none;
  margin: 0 0 1.25rem 0;
  text-align: left;
}

ul.staff_list li .img{
  width: 80px;
  float: left;
}

ul.staff_list li p{
  padding-left: 95px;
}

ul.staff_list li p.name{
  margin-bottom: 0.25rem;
}

/* 交通アクセス
---------------------------------------------- */
ul.map_nav{
  overflow: hidden;
}

ul.map_nav li{
  display: block;
  width: 50%;
  float: left;
  margin: 0 0 4px 0;
  padding: 0 2px;
  box-sizing: border-box;　
}

.access-e ul.map_nav li a{
  letter-spacing: 0;
  background-position: 8px center;
  background-size: auto 50%;
}

.car_route{
  overflow: hidden;
}

.car_route li{
  display: block;
  width: 49%;
  float: left;
  margin: 0;
}

.car_route li:nth-child(even){
  float: right;
}

.case_wrap .acc_btn{
  padding: 1rem 2rem;
  font-size: 1rem;
}

.case_wrap .acc_box a.marker{
  height: 20px!important;
  width: 20px!important;
  margin: -10px 0 0 -10px!important;
    -webkit-animation: ripple 1.5s ease-out;
  -webkit-animation-iteration-count: infinite;
    -moz-animation: ripple 1.5s ease-out;
  -moz-animation-iteration-count: infinite;
  -webkit-backface-visibility: hidden;
}

/********/
#floor_map_wrap .slick-dots li:nth-child(2){
  margin-bottom: 32px;
}

#floor_map_wrap .slick-dots::after{
  height: 30px;
  line-height: 30px;
  top: 62px;
}

#floor_map_wrap .slick-dots li button{
  width: 40px;
  height: 30px;
}

#floor_map_wrap .slick-dots li button::after{
  width: 40px;
  height: 30px;
  line-height: 30px;
}

.floor_map_in{
  padding: 2rem 0;
}

.pin_entrance{
  width: 104px;
  height: 24px;
  top: -3%;
  left: 22%;
}

.pin_el{
  width: 22px;
  height: 29px;
}

.pin_kaidan, .pin_kaidan2{
  width: 22px;
  height: 22px;
}

.pin_kaidan2{ top: 14%; left: 77%;}

.floor_map_in .f_base a{
  width: 30px;
  height: 42px;
  padding-top: 8px;
  font-size: 0.55rem;
}

/* 1F */
.pin1_1 { top: 2%; left: 53%; } /*A104*/
.pin1_2 { top: 30%; left: 23%; } /*B101*/
.pin1_3 { top: 37%; left: 60%; } /*C105*/

/* 3F */
.pin3_1 { top: 21%; left: 9%; } /*A301*/
.pin3_2 { top: 19%; left: 14%; } /*A302*/
.pin3_3 { top: 17%; left: 20%; } /*A303*/
.pin3_4 { top: 6%; left: 40%; } /*A307*/
.pin3_5 { top: 37%; left: 19%; } /*B301*/
.pin3_6 { top: 32%; left: 27%; } /*B302*/
.pin3_7 { top: 27%; left: 35%; } /*B303*/
.pin3_8 { top: 23%; left: 43%; } /*B304*/
.pin3_9 { top: 18%; left: 51%; } /*B305*/
.pin3_10 { top: 14%; left: 59%; } /*B306*/
.pin3_11 { top: 10%; left: 68%; } /*B307*/
.pin3_12 { top: 56%; left: 27%; } /*C301*/
.pin3_13 { top: 71%; left: 33%; } /*D301*/

/* 4F */
.pin4_1 { top: 15%; left: 23%; } /*A402*/
.pin4_2 { top: -2%; left: 53%; } /*A405*/
.pin4_3 { top: -4%; left: 59%; } /*A406*/
.pin4_4 { top: 34%; left: 18%; } /*B401*/
.pin4_5 { top: 29%; left: 30%; } /*B402*/
.pin4_6 { top: 20%; left: 47%; } /*B403*/
.pin4_7 { top: 14%; left: 58%; } /*B404A*/
.pin4_8 { top: 10%; left: 67%; } /*B404B*/

.br_ie, .br_m{ display: none!important;}

#floor_map_smp{
  display: block;
}

#floor_map_smp #f4 .wrap{
  position: relative;
  z-index: 30;
  background: url(../img/floor_map/floor_4f_smp.png) no-repeat 0 0;
  background-size: 100% auto;
}

#floor_map_smp #f4 .wrap::before{
  content: "";
  display: block;
  padding-top: 84%;
}

#floor_map_smp #f4 .wrap a{
  display: block;
  position: absolute;
  z-index: 40;
  text-indent: -99999px;
}

#floor_map_smp #f4 .wrap a.pin4_1{
  width: 23%;
  height: 18%;
  top: 0;
  left: 22%;
}

#floor_map_smp #f4 .wrap a.pin4_2{
  width: 6%;
  height: 18%;
  top: 0;
  left: 70%;
}

#floor_map_smp #f4 .wrap a.pin4_3{
  width: 6%;
  height: 18%;
  top: 0;
  left: 77%;
}

#floor_map_smp #f4 .wrap a.pin4_4{
  width: 12%;
  height: 18%;
  top: 22%;
  left: 11%;
}

#floor_map_smp #f4 .wrap a.pin4_5{
  width: 21%;
  height: 18%;
  top: 22%;
  left: 23%;
}

#floor_map_smp #f4 .wrap a.pin4_6{
  width: 21%;
  height: 18%;
  top: 22%;
  left: 45%;
}

#floor_map_smp #f4 .wrap a.pin4_7{
  width: 11%;
  height: 18%;
  top: 22%;
  left: 66%;
}

#floor_map_smp #f4 .wrap a.pin4_8{
  width: 11%;
  height: 18%;
  top: 22%;
  left: 78%;
}

#floor_map_smp .room{
  margin-top: 2rem;
}
  
/*ギャラリー詳細*/
.galleria .tt4.al_r{
  text-align: center!important;
}

.galleria .btn_dl{
  margin-top: 2rem;
  text-align: center;
}

#gallery_nav{
  margin: 50px 1.5rem;
}
  
/* お知らせ関連
---------------------------------------------- */
#single_wrap h2.tt2{
  margin-bottom: 1rem;
}

#single_wrap p.date{
  margin-bottom: 1rem;
}

.pager_txt{
  margin-top: 40px;
}

.pager_txt li a{
  display: block;
}

.pager_txt li.prev a{
  display: block;
}

#related_tt{
  position: relative;
  top: -100px;
}

/* イベントカレンダー
---------------------------------------------- */
.event_cal_btn{
  margin-top: 2em;
  text-align: right;
  overflow: hidden;
}



/* スタッフ
---------------------------------------------- */
.people_wrap .detail,
.people_wrap .pilot{
  width: auto;
  float: none;
}

.people_wrap .pilot{
  margin-bottom: 20px;
}

.pilot2{
  display: block;
  border: 1px solid #ccc;
}

.pilot2 p{
  display: block;
  padding: 10px;
}

}/**/

}/**/