@charset "UTF-8";

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-arrow {
  padding: 0;
  border: none;
  width: 32px;
  height: 41px;
  background: url(../../../img/sp/common/arrow_right.png) center center no-repeat;
  background-size: 7px 11px;
  text-indent: -9999px;
  position: absolute;
  z-index: 2;
}

.slick-arrow.slick-prev {
  transform: rotate(-180deg);
  left: 0px;
}

.slick-arrow.slick-next {
  right: 0px;
}

.slick-dots {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: center;
}

.slick-dots li button {
  width: 17px;
  position: relative;
  text-indent: -9999px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

.slick-dots li button:after {
  content: '';
  background: #fff;
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -4px 0 0 -4px;
}

.slick-dots li.slick-active button:after {
  background: #d10720;
}

/* トップ */
#topContent .roboto {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
}

#topContent .sp-block h2 {
  font-family: 'Ryumin Regular KL', 'Times New Roman', 'Hiragino Mincho ProN', serif;
  font-size: 24px;
  color: #cf0f28;
  margin: 0 0 25px;
  font-weight: normal;
}

#topContent #faq.sp-block h2,
#topContent #accessibility.sp-block h2 {
  margin: 0 0 6px;
}

#topContent a.unlink {
  pointer-events: none;
  cursor: unset;
}

#top .accordion {
  border-bottom: 1px solid #fff;
}

#top .accordion .inner {
  padding: 24px;
}

#top .accordion .inner.full {
  width: auto;
  padding: 0 24px;
}

#top .accordion dt {
  font-family: 'Ryumin Regular KL', 'Times New Roman', 'Hiragino Mincho ProN', serif;
  cursor: pointer;
  color: #fff;
  background: #cf0f28;
  padding: 13px 24px;
  position: relative;
  font-size: 15px;
  line-height: 1.1;
}

#top .accordion dt span {
  position: absolute;
  right: 24px;
  top: 15px;
  width: 12px;
  height: 12px;
  overflow: hidden;
}

#top .accordion dt span img {
  position: absolute;
  left: 0;
  top: 0;
}

#top .accordion.open span img {
  top: -25px;
}

#top .accordion dd {
  overflow: hidden;
  height: 0;
}

#top .accordion dd #bnrBlog a {
  display: block;
  border: 1px solid #ce102a;
  position: relative;
  height: 40px;
  line-height: 40px;
  padding: 0 0 0 55px;
  color: #ce102a;
}

#top .accordion dd #bnrBlog .arrow {
  background: url(../../../img/sp/common/arrow_right.png) 249px center no-repeat;
  background-size: 4px 10px;
}

#top #cm .link .arrow {
  border-color: #cf0f28ba;
  color: #cf0f28ba;
  background: url(../../../img/sp/common/arrow_right.png) 249px center no-repeat;
  background-size: 4px 10px;
}

#top .accordion dd #bnrBlog a img {
  position: absolute;
  left: 0;
  top: 0;
}

#top #dateSchedule {
  position: relative;
}

#top #dateSchedule:after {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 128px;
}

#top #dateSchedule .inner {
  padding: 0;
  width: 100%;
  color: #fff;
}

#top #dateSchedule h2 {
  line-height: 1.1;
  position: absolute;
  left: 0;
  top: 15px;
  font-family: 'Ryumin Regular KL', 'Hiragino Mincho ProN', serif;
  color: #fff;
  text-align: center;
  font-size: 17px;
  width: 128px;
}

#top #dateSchedule .detailInfo {
  overflow: hidden;
  display: flex;
  padding-top: 4px;
}

#top #dateSchedule .date {
  overflow: hidden;
  font-size: 11px;
  /*  display: none; */
}

#top #dateSchedule .date dt {
  line-height: 1.6;
}

#top #dateSchedule .date dd {
  overflow: hidden;
}

#top #dateSchedule p {
  width: 100%;
  overflow: hidden;
  font-size: 11px;
  white-space: nowrap;
}

#top #dateSchedule p span {
  display: block;
  transform: translate(100%, 0);
}

#top #todayClose,
#top #todayOpen {
  display: none;
}

#top #dateSchedule #todayClose .detailInfo {
  display: none;
}

#top #mainVisual *,
#top .slideThumb * {
  -webkit-tap-highlight-color: transparent;
  backface-visibility: hidden;
}

#top #mainVisual .mainVisualBg {
  position: absolute;
}

#top #mainVisual .mainVisualBg.left-upper {
  left: -77px;
  top: 0;
  width: 196px;
  height: 212.3px;
  clip-path: polygon(100% 0, 100% 5%, 40% 100%, 0 100%, 0 0);
}

/* 三角画像配置 */
/* TODO 初期値ランダム取得 */
#top #mainVisual .mainVisualBg.left-upper img,
#top #mainVisual .mainVisualBg.right-lower img {
  width: 72px;
  position: absolute;
}

#top #mainVisual .mainVisualBg.left-upper .a0 {
  top: 0;
  left: 43px;
}

#top #mainVisual .mainVisualBg.left-upper .a1 {
  top: 0;
  right: 0;
}

#top #mainVisual .mainVisualBg.left-upper .b0 {
  top: 84px;
  left: 45px;
}

#top #mainVisual .mainVisualBg.left-upper .a2 {
  bottom: 3px;
  left: 45px;
}


#top #mainVisual .mainVisualBg.right-lower {
  right: -49px;
  bottom: 0;
  width: 154px;
  height: 201px;
  clip-path: polygon(0 96%, 100% -40%, 100% 100%, 0% 100%);
}

#top #mainVisual .mainVisualBg.right-lower .b1 {
  top: -6px;
  right: 0;
}

#top #mainVisual .mainVisualBg.right-lower .a3 {
  top: 57px;
  right: 0;
}

#top #mainVisual .mainVisualBg.right-lower .b2 {
  top: 67px;
  right: 41px;
}

#top #mainVisual .mainVisualBg.right-lower .a4 {
  bottom: 9px;
  right: 41px;
}

#top #mainVisual .mainVisualBg.right-lower .b3 {
  bottom: 0;
  left: 0;
}

#top #mainVisual .mainVisualBg.right-lower .b4 {
  bottom: 0;
  right: 0;
}

#top #mainVisual .mainVisualBg.middle {
  left: 0;
  top: -5px;
  width: 87px;
}

#top #mainVisual .mainVisualBg.middle img {
  width: 100%;
}

#top #mainVisual .openingTime {
  position: absolute;
  right: 21px;
  top: 18px;
  /* margin: 18px 32px 0 auto; */
  color: #ce102a;
  text-align: right;
  /* display: inline-block; */
}

#top #mainVisual .openingTime .todayTxt {
  font-size: 14px;
  border-bottom: 1px solid #ce102a;
  text-align: right;
  line-height: 1.6;
}

#top #mainVisual .openingTime .date {
  font-size: 10px;
}

#top #mainVisual .architecture {
  width: 230px;
  margin: 35px auto 0 0;
}

#top #mainVisual .architecture a {
  width: 100%;
  display: inline-block;
  text-align: right;
}

#top #mainVisual .architecture a img {
  display: inline-block;
  width: 100%;
  height: 155px;
  object-fit: cover;
}

#top #mainVisual .architecture a>p {
  font-size: 9px;
  color: #ce102a;
  border-bottom: 1px solid #ce102a;
  display: inline-block;
  position: relative;
}

#top #mainVisual .architecture a>p::after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 7px;
  background: url(../../../img/sp/common/arrow_right.png) right center no-repeat;
  background-size: 4px 7px;
  margin-left: 5px;
  position: relative;
}


.slick-dots li button:after {
  background: #ccc;
}

.slick-dots li.slick-active button:after {
  background: #d10720;
}

#top #urgentInfo {
  background: #fdf3f4;
}

#top #urgentInfo {
  display: block;
  padding: 10px 24px;
  z-index: 2;
}

#top #urgentInfo>p,
#top #parkingInfo>p {
  line-height: 1.4;
  margin-top: 3px;
}

#top #parkingInfo {
  padding: 10px 24px;
  display: block;
  position: relative;
  z-index: 2;
}

#top #urgentInfo .inner {
  padding: 11px 10px;
  width: 298px;
}

#top #urgentInfo .inner h3 {
  font-family: 'Ryumin Regular KL', 'Times New Roman', 'Hiragino Mincho ProN', serif;
  color: #d10720;
  margin-bottom: 4px;
}

#top #urgentInfo .inner p {
  line-height: 1.53;
}

#top #importantInfo {
  background: #fdf3f4;
}

/*.en #top #importantInfo {
  background: #fdf3f4;
  display: none;
}*/

#top #importantInfo .inner p {
  padding: 0 10px;
}

#top #mainVisual {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding-bottom: 72px;
  border-bottom: none;
}

#top #mainVisual .infoTitles {
  position: absolute;
  top: 216px;
  right: 245px;
  width: 62px;
  height: 230px;
  overflow: hidden;
}

#top #mainVisual .infoTitles li {
  height: 230px;
  display: inline-block;
  text-align: right;
  display: flex;
  flex-direction: column;
}

#top #mainVisual .infoTitles li a {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin-top: auto;
  color: #000;
}


#top #mainVisual .infoThumbs {
  width: 215px;
  height: 298px;
  margin-left: auto;
  position: relative;
}

#top #mainVisual .infoThumbs .infoThumb {
  position: relative;
}

#top #mainVisual .infoThumbs .infoThumb a {
  display: block;
  width: 215px;
  height: 298px;
}

#top #mainVisual .infoThumbs .infoThumb a .image_list img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background-color: #f2f2f2;
}

#top #mainVisual .infoTexts .slick-dots {
  position: absolute;
  padding: 0;
  justify-content: end;
  flex-direction: column;
  align-items: center;
  width: 6px;
  bottom: 26px;
  right: 7px;
}

#top #mainVisual .infoTexts .slick-dots li {
  height: 11px;
}

#top #mainVisual .infoTexts .slick-dots li button {
  width: 4px;
  height: 4px;
}

#top #mainVisual .infoTexts .slick-dots li.slick-active button:after {
  width: 4px;
  height: 4px;
  background: #ce102a;
  margin-left: -5px;
}

#top #mainVisual .infoTexts .slick-dots li button:after {
  width: 2px;
  height: 2px;
  border: 1px solid #ce102a;
  background: #fff;
}

/* スライド再生/停止ボタン設定 */
#top #mainVisual .mainExbSlider .play_button_wrap {
  position: absolute;
  right: 6px;
  bottom: 0px;
}

#top #mainVisual .mainExbSlider .play_button_wrap .btn {
  width: 12px;
  height: 10px;
  background-color: transparent;
  border: unset;
  position: relative;
  cursor: pointer;
  display: flex;
  justify-content: center;
}

#top #mainVisual .mainExbSlider .play_button_wrap .btn:after {
  content: '';
  width: 5px;
  height: 10px;
  border-width: 0 2px 0 2px;
  border-color: transparent #CE102A transparent #CE102A;
  border-style: solid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ios #top #mainVisual .mainExbSlider .play_button_wrap .btn:after {
  margin-left: 5px;
}

#top #mainVisual .mainExbSlider .play_button_wrap .btn.playback:after {
  width: 0;
  height: 0;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #CE102A;
}

#top #mainVisual .mainExbSlider {
  position: relative;
  margin: 83px auto 0;
}

#top #mainVisual .infoTexts {
  overflow: hidden;
  position: relative;
  /*height: 358.59px;*/
  max-height: 384.59px;
  padding-right: 21px;
}

#top #mainVisual .infoTexts h3,
#top #mainVisual .infoTexts .date {
  width: 211px;
  margin-left: auto;
}

#top #mainVisual .infoTexts .infoText {
  text-align: center;
  color: #555;
}

#top #mainVisual .infoTexts .infoText a {
  display: block;
  width: 100%;
  text-align: right;
  clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%, 0 37%);
}

#top #mainVisual .infoTexts .infoText a .detail {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

#top #mainVisual .infoTexts .infoText a .detail .image_list {
  width: 215px;
  height: 298px;
}

#top #mainVisual .infoTexts .infoText a .detail .image_list li {
  width: 100%;
  height: 100%;
}

#top #mainVisual .infoTexts .infoText a .detail .image_list .slick-track {
  display: flex;
}

#top #mainVisual .infoTexts .infoText a .detail .image_list img {
  display: inline-block;
  width: 215px;
  height: 298px;
  object-fit: contain;
}

#top #mainVisual .infoTexts .infoText a .detail .image_list .image_list_item:not(.vertical) img {
  background-color: #eee;
}

#top #mainVisual .infoTexts .infoText a .detail .title {
  text-align: justify;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1.5;
  margin-right: 7px;
  overflow: hidden;
  color: #666;
  max-height: 230px;
  height: auto;
}

.android #top #mainVisual .infoTexts .infoText a .detail .title {
  text-orientation: upright;
}

.ios #top #mainVisual .infoTexts .infoText a .detail .title {
  text-combine-upright: digits 4;
}

#top #mainVisual .infoTexts .infoText a .date {
  font-size: 13px;
  text-align: right;
}

#top #mainVisual .infoTexts .infoText a .date span {
  font-size: 9px;
}

#top #mainVisual .infoTexts h3 {
  font-family: 'Ryumin Regular KL', 'Times New Roman', 'Hiragino Mincho ProN', serif;
  color: #cf0f28;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 0;
  font-size: 21px;
  border-bottom: 1px solid #ce102a;
}

#top #mainVisual .infoTexts h3.prev {
  position: absolute;
  top: 0;
  left: -72px;
  display: none;
}

#top #mainVisual .infoTexts h3.next {
  position: absolute;
  top: 0;
  right: -72px;
  display: none;
}

#top #mainVisual .infoTexts .current h3.next {
  right: -59px;
}

#top #mainVisual .infoTexts .nextnext h3.prev {
  left: -59px;
}

#top #mainVisual .infoTexts .slick-arrow {
  top: 50%;
  margin-top: -27px;
}

.arrowthumb {
  position: relative;
}

.arrowthumb img {
  width: 100%;
}

.arrowthumb .more {
  position: absolute;
  right: 0;
  bottom: 0;
  color: #fff;
  background: #d10720;
  box-sizing: border-box;
  width: 61px;
  height: 22px;
  padding: 7px 19px 8px 10px;
  text-align: left;
  font-size: 10px;
  line-height: 1;
}

.arrowthumb .more:after {
  content: '';
  display: block;
  width: 6px;
  height: 10px;
  background: url("../../../img/sp/common/arrow_right_white.png") center top no-repeat;
  background-size: 6px 10px;
  margin-top: -5px;
  position: absolute;
  top: 50%;
  right: 8px;
}

#top #schedule {
  position: relative;
  padding: 20px 24px 12px;
}

#top #prev-cal-btn-sp::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 9px;
  background: url(../../../img/sp/common/arrow_right.png) right center no-repeat;
  background-size: 5px 9px;
  position: relative;
  transform: scale(-1, 1);
}

#top #next-cal-btn-sp::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 9px;
  background: url(../../../img/sp/common/arrow_right.png) right center no-repeat;
  background-size: 5px 9px;
  position: relative;
}

#top .schedule .cal-btn-sp {
  width: 100%;
  display: flex;
  justify-content: space-between;
  color: #cf0f28;
  z-index: 101;
  margin-bottom: -16px;
  position: relative;
}

#top .schedule .cal-btn-sp div {
  width: 20px;
  cursor: pointer;

}

#top #schedule a {
  display: block;
  width: 90px;
  height: 16px;
}

#top #schedule .prev {
  position: absolute;
  left: 24px;
  top: 20px;
}

#top #schedule .next {
  position: absolute;
  right: 24px;
  top: 20px;
}

#top #schedule .prev img {
  position: absolute;
  left: 0;
  top: 3px;
}

#top #schedule .next img {
  position: absolute;
  right: 0;
  top: 3px;
}

#top #schedule .title {
  text-align: center;
  margin: 0 0 20px;
  color: #cf0f28;
}

#top #schedule table {
  border-collapse: separate;
  table-layout: fixed;
  margin: 0 auto 14px;
}

#top #schedule th {
  width: 38px;
  height: 20px;
  vertical-align: middle;
  text-align: center;
  border-bottom: 1px dotted #cf0f28;
  border-right: 1px dotted #cf0f28;
  color: #cf0f28;
}

#top #schedule td {
  width: 38px;
  height: 23px;
  vertical-align: middle;
  text-align: center;
  border-bottom: 1px dotted #cf0f28;
  border-right: 1px dotted #cf0f28;
}

#top #schedule tr th:last-child,
#top #schedule tr td:last-child {
  border-right: none;
  width: 39px;
}

#top #schedule .today {
  color: #fff;
  background: #cf0f28;
}

#top #schedule .open {
  color: #cf0f28;
}

#top #schedule .term {
  background: #f5cfd4;
}

#top #schedule .attention {
  text-align: right;
  color: #cf0f28;
  position: relative;
  margin: 0 0 15px;
  line-height: 1.1;
}

#top #schedule .attention span {
  display: block;
  background: #f5cfd4;
  width: 11px;
  height: 11px;
  position: absolute;
  right: 6.5em;
  top: 0;
}

#top #schedule #todaySchedule {
  text-align: center;
  color: #cf0f28;
  line-height: 1.1;
}

#top #schedule .separator {
  margin: 0 0 14px;
}

#top .section .inner {
  padding: 32px 0;
  width: 87%;
  margin: 0 auto;
}

#top #faq.section .inner {
  padding: 32px 0 21px;
}

#top #accessibility.section .inner {
  padding: 32px 0 12px;
}

#top #appearanceSP .inner img {
  width: 100vw !important;
  margin-left: calc(50% - 50vw);
}

#top .section .arrowTxtWrap {
  text-align: right;
  margin-top: 24px;
}

#top #faq.section .arrowTxtWrap,
#top #accessibility.section .arrowTxtWrap {
  margin-top: 0;
}

#top .section .arrowTxtWrap+.arrowTxtWrap {
  margin-top: 14px;
}

#top .section .arrowTxtWrap .arrowTxt {
  display: inline-block;
}

#top .section .arrowTxtWrap .arrowTxt:after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 9px;
  background: url(../../../img/sp/common/arrow_right.png) right center no-repeat;
  background-size: 5px 9px;
  margin-left: 5px;
  position: relative;
}

#top .sectionTitle {
  font-size: 21px;
  line-height: 1.6;
  margin-bottom: 24px;
}

#top .sectionTitle span {
  display: block;
  font-size: 11px;
  line-height: 1.6;
  margin-top: 4px;
}

#top .newsList {
  overflow: hidden;
  position: relative;
}

#top .newsList li+li {
  margin-top: 24px;
}

#top .newsList li a {
  width: 100%;
  color: #555555;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#top .newsList li .thumb {
  width: 100px;
  height: 100px;
  margin-right: 14px;
}

#top .newsList li .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f2f2f2;
}

#top .newsList li a .thumb.no_thumb {
  background: url(../../../img/sp/top/thumb_base.png) left top no-repeat;
  background-size: 100% 100%;
}

#top .newsList li .text {
  width: 174px;
}

#top .newsList li .text>span,
#top #blogInfo .blogPickup .text>span {
  font-size: 10px;
  line-height: 10px;
  margin-bottom: 4px;
}

#top .newsList li .text>span>span {
  color: #d10720;
}

#top .newsList li .text h3 {
  text-decoration: underline;
  font-size: 14px;
  line-height: 1.4;
}

#top .newsList .slick-arrow {
  top: 50%;
  margin-top: 20px;
}

#top #marunouchiNews {
  overflow: hidden;
}

#top #marunouchiNews .sectionTitle {
  text-align: center;
}

#top #marunouchiNews .sectionTitle span.hasUnderLine {
  display: inline-block;
  font-size: 21px;
  border-bottom: 1px solid #ce102a;
}

#top #marunouchiNews .sectionTitle span.hasUnderLine .kana {
  font-size: 21px;
}

#top #marunouchiNews .hasExtLinkIcon {
  position: relative;
  display: block;
}

#top #marunouchiNews .hasExtLinkIcon::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 26px;
  background: center / contain no-repeat url("../../../img/sp/top/icn_ext-link.svg");
  width: 12px;
  height: 12px;
}

#top #marunouchiNews .marunouchiList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#top #marunouchiNews .marunouchiList li {
  width: 50%;
  box-sizing: border-box;
}

#top #marunouchiNews .marunouchiList li a {
  display: block;
  color: gray;
  width: 100%;
}

#top #marunouchiNews .marunouchiList li:nth-child(odd) {
  padding-right: 2px;
}

#top #marunouchiNews .marunouchiList li:nth-child(even) {
  padding-left: 2px;
}

#top #marunouchiNews .marunouchiList li .thumbWrapper {
  position: relative;
  width: 100%;
}

#top #marunouchiNews .marunouchiList li .thumbBase {
  background: #fff;
  width: 100%;
  height: 158px;
  position: relative;
  overflow: hidden;
}

#top #marunouchiNews .marunouchiList li .thumbBase:after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.05);
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
}

#top #marunouchiNews .marunouchiList li .thumbBase img {
  filter: blur(5px);
  width: 318px;
  height: 196px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -98px 0 0 -159px;
}

#top #marunouchiNews .marunouchiList li .thumb {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  margin-top: -39px;
  margin-bottom: 0;
  width: 100%;
}

#top #marunouchiNews .marunouchiList li .thumb img {
  width: 100%;
}

#top #marunouchiNews .marunouchiList li .textWrapper {
  text-align: left;
  padding: 17px 11px 27px;
}

#top #marunouchiNews .marunouchiList li .textWrapper .mDate {
  display: block;
  font-size: 10px;
  line-height: 1;
  margin-bottom: 4px;
}

#top #marunouchiNews .marunouchiList li .textWrapper .mCategory {
  display: block;
  color: #d10720;
  font-size: 10px;
  margin-bottom: 4px;
  line-height: 1.5;
  display: block;
}

#top #marunouchiNews .marunouchiList li .textWrapper p {
  font-size: 14px;
  line-height: 22px;
  text-decoration: underline;
}

#top .column2 {
  position: relative;
}

#top .column2:after {
  content: '';
  display: block;
  width: 2px;
  height: 100%;
  background: #f2f2f2;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  margin-left: -1px;
}

#top .column2 .inner {
  display: flex;
  padding: 47px 0 30px;
}

#top .column2 .sectionTitle {
  margin-bottom: 43px;
}

#top .column2 .column {
  width: 50%;
  box-sizing: border-box;
}

#top .column2 .column:nth-child(odd) {
  padding-right: 1px;
}

#top .column2 .column:nth-child(even) {
  padding-left: 1px;
}

#top .column2 .column a {
  display: block;
  color: #555555;
}

#top .column2 .column p {
  text-align: justify;
  padding: 0 10px;
  font-size: 14px;
  line-height: 22px;
}

#top .column2 .column p img {
  width: 42px;
  height: 36px;
  margin: 0 0 9px;
}

#top #important_still a,
#top #mss a,
#top #directoreTalk a,
#top #discount a,
#top #architecture a {
  color: #555555;
}

#top #important_still h3,
#top #mss h3,
#top #directoreTalk h3,
#top #event h3,
#top #discount h3,
#top #architecture h3 {
  padding: 13px 0 0;
}

#top #important_still p,
#top #mss p,
#top #directoreTalk p,
#top #event p,
#top #discount p,
#top #architecture p,
#top #support p {
  padding: 0 13px;
  text-align: center;
  font-size: 14px;
  line-height: 22px;
}

#top #important_still p span,
#top #mss p span,
#top #directoreTalk p span,
#top #event p span,
#top #discount p span,
#top #architecture p span {
  font-size: 17px;
}

html:lang(ja) #top .kana,
html:lang(ja) #top .sectionTitle span.kana {
  letter-spacing: -0.1em;
}

#top .kana,
#top .sectionTitle span.kana {
  font-size: 24px;
  display: inline-block;
}

#top #important_still .thumb {
  margin-bottom: 14px;
}

#top #important_still h3 {
  font-size: 17px;
  line-height: 22px;
  padding-top: 0px;
  margin-bottom: 9px;
}

#top #important_still ul {
  text-align: left;
  margin: 0 17px;
  font-size: 14px;
  line-height: 22px;
}

#top #important_still .arrowTxt {
  color: #cf0f28;
  margin-top: 30px;
}

#top #mss .sectionTitle {
  line-height: 26px;
}

#top #mss p {
  text-align: left;
}

#top .links ul {
  margin: 0 13px;
}

#top .links ul li {
  margin-bottom: 13px;
}

#top .links ul li:last-child {
  margin-bottom: 0;
}

#top .links ul li a {
  display: block;
  border: 1px solid #ccc;
}

#top .links ul li a img {
  width: 100%;
}

#top #access #map {
  width: 100%;
  height: 163px;
  margin: 0 0 17px;
  font-size: 1px;
  line-height: 1;
}

#top #access #map iframe {
  width: 100%;
  height: 100%;
}

#top #access .text {
  text-align: center;
  font-size: 13px;
  line-height: 13px;
  margin-bottom: 32px;
}

#top #snsInfo .snsList {
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  margin: 34px auto 0;
  width: 92%;
}

#top #snsInfo .snsList li {
  text-align: center;
}

#top #snsInfo .snsList li a {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#top #snsInfo .snsList li .snsListImg {
  width: 56px;
  height: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 7px;
}

#top #snsInfo .snsList li img {
  display: inline-block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#top #snsInfo .snsList li:nth-of-type(1) img {
  width: 37px;
  height: 37px;
}

#top #snsInfo .snsList li:nth-of-type(2) img {
  width: 36px;
  height: 36px;
}

#top #snsInfo .snsList li:nth-of-type(3) img {
  width: 37px;
  height: 37px;
}

#top #snsInfo .snsList li:nth-of-type(4) img {
  width: 42px;
  height: 29px;
}

#top #snsInfo .snsList li .snsListTxt {
  margin-top: auto;
  font-size: 12px;
}

#top #snsInfo .snsList {
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  margin: 34px auto 0;
  width: 92%;
}

#top #calendar .inner {
  padding-bottom: 0;
}

#top #calendar .schedule #calFrame {
  width: 100%;
}

#top .facilityList {
  margin-top: 27px;
}

#top #facilityInfo .facilityList .facilityListItem+.facilityListItem {
  margin-top: 73px;
}

#top #facilityInfo .facilityList .facilityListItem .facilityThumb {
  position: relative;
  border: 1px solid #ce102a;
  padding: 20px;
  width: 100%;
  height: 278px;
  box-sizing: border-box;
}

#top #facilityInfo .facilityList .facilityListItem .facilityThumb .facilityLogo {
  width: 109px;
  height: 83px;
  position: absolute;
  bottom: 10px;
  right: 0;
}

#top #facilityInfo .facilityList .facilityListItem .facilityThumb a {
  width: 100%;
  height: 100%;
  display: inline-block;
}

#top #facilityInfo .facilityList .facilityListItem .facilityThumb a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#top #facilityInfo .facilityList .facilityListItem .facilityThumb .facilityName {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-95%);
  font-size: 27px;
  color: #ce102a;
  line-height: 1;
}

#top #facilityInfo .facilityList .facilityListItem .facilityThumb .facilityName-ec {
  font-size: 20px;
}

#top #facilityInfo .facilityList .facilityListItem .facilityText {
  margin: 16px auto 0;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  width: 200px;
}

#top #grandBouquet .gb_inner {
  display: flex;
  justify-content: space-between;
}

#top #grandBouquet .gb_inner .thumb {
  width: 50%;
  height: auto;
}

#top #grandBouquet .gb_inner .gb_status p {
  border-bottom: 1px solid #ce102a;
  color: #ce102a;
}

#top #grandBouquet .gb_inner img {
  height: auto;
}

#top #blogInfo .blogPickup .text {
  border-bottom: 1px solid #ce102a;
}

#top #blogInfo .blogPickup .text .title {
  font-size: 18px;
}

#top #blogInfo .blogPickup .thumb {
  margin-top: 24px;
  width: 100%;
  height: 163px;
}

#top #blogInfo .blogPickup .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#top #blogInfo .blogPickup .content {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.7;
}

.en #top #news2 ul {
  min-height: auto;
}

.en #top #news2 .slick-dots {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.en #top #news2 .slideList li a .text h3 {
  margin-bottom: 32px;
}

.en #top #news2 .slideList .slick-arrow {
  top: 50%;
  margin-top: -20px;
}

.en #top #access .text {
  line-height: 1.5;
}