@import url("https://matsumotohotel-kagetsu.com/css/lightbox.css");
/* @import url("https://matsumotohotel-kagetsu.com/css/slick.css"); */
@import url("https://matsumotohotel-kagetsu.com/css/jquery.inview.css");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap");

/* tag */
.matsumoto489 table { width: 90%; }
.matsumoto489 caption, th, td { border: 1px solid #e6e6e6; }
.matsumoto489 tr:nth-child(2n) { background: rgba(22,24,25,.02); }
.matsumoto489 li { list-style: none; }
.matsumoto489 img { border: none; }
.matsumoto489 a { color: #333; }
.matsumoto489 a, button { outline: none; }
.matsumoto489 address { font-style: normal; }
.matsumoto489 textarea { overflow: auto; }
.matsumoto489 input,
.matsumoto489 textarea,
.matsumoto489 select,
.matsumoto489 button {
  display: inline-block;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 16px;
  vertical-align: middle;
}
.matsumoto489 textarea { display: block; }
.matsumoto489 input[type=text],
.matsumoto489 input[type=password],
.matsumoto489 input[type=email],
.matsumoto489 input[type=tel],
.matsumoto489 select,
.matsumoto489 textarea {
  padding: 10px 20px;
  font-size: 16px;
  border: 1px solid rgba(49,44,42,.1);
  background: #f7f7f7;
  line-height: 1;
}
.matsumoto489 textarea { line-height: 1.5; }
.matsumoto489 input[type=text]:focus,
.matsumoto489 input[type=email]:focus,
.matsumoto489 input[type=tel]:focus,
.matsumoto489 textarea:focus { background: #fff; }
::-moz-selection
{
  color: #fff;
  background-color: #000;
}
::selection
{
  color: #fff;
  background-color: #000;
}
.matsumoto489 input[type=text]::-webkit-input-placeholder,
.matsumoto489 input[type=email]::-webkit-input-placeholder,
.matsumoto489 input[type=tel]::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1;
}
.matsumoto489 input[type=text]:-ms-input-placeholder,
.matsumoto489 input[type=email]:-ms-input-placeholder,
.matsumoto489 input[type=tel]:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}
.matsumoto489 input[type=text]::-moz-placeholder,
.matsumoto489 input[type=email]::-moz-placeholder,
.matsumoto489 input[type=tel]::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}
.matsumoto489 button,
.matsumoto489 radio,
.matsumoto489 checkbox,
.matsumoto489 label { cursor: pointer; }
.matsumoto489 button {
  display: block;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  border: none;
  background: none;
}
.matsumoto489 sup {
  font-size: 9px;
  vertical-align: top;
}
.matsumoto489 section {
  text-align: left;
  position: relative;
  overflow: hidden;
  background: #fff;
}
.matsumoto489 h2,
.matsumoto489 h3,
.matsumoto489 h4,
.matsumoto489 h5 {
  font-weight: normal;
  line-height: 1.5;
  text-align: center;
}
.matsumoto489 h2 {
  font-size: 60px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.2;
}
.matsumoto489 h3 {
  position: relative;
  font-size: 48px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.2;
}
.matsumoto489 h3:before {
  position: absolute;
  left: 50%;
  top: -48px;
  transform: translateX(-50%);
  width: 28px;
  height: 28px;
  background-image: url(https://matsumotohotel-kagetsu.com/images/img_tile9.svg);
  background-size: 29px 29px;
  content: "";
}
.matsumoto489 h3.white:before { background-image: url(https://matsumotohotel-kagetsu.com/images/img_tile9_white.svg); }
/* IE8〜11 */
@media screen\0 {
  .matsumoto489 h3:before {
    transform: translateX(-10%);
  }
}
.matsumoto489 h4 {
  position: relative;
  font-size: 32px;
  font-weight: bold;
}
.matsumoto489 h4:before {
  position: absolute;
  left: 50%;
  top: -28px;
  transform: translateX(-50%);
  width: 18px;
  height: 18px;
  background-image: url(https://matsumotohotel-kagetsu.com/images/img_tile6.svg);
  background-size: 18px 18px;
  content: "";
}
.matsumoto489 h4.white:before { background-image: url(https://matsumotohotel-kagetsu.com/images/img_tile6_white.svg); }
.matsumoto489 h5 {
  font-size: 20px;
  font-weight: bold;
}
.matsumoto489 i {
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

/* common */
.matsumoto489 .mt0 { margin-top: 0!important; }
.matsumoto489 .mb0 { margin-bottom: 0!important; }
.matsumoto489 .ml0 { margin-left: 0!important; }
.matsumoto489 .mr0 { margin-right: 0!important; }
.matsumoto489 .pt0 { padding-top: 0!important; }
.matsumoto489 .pb0 { padding-bottom: 0!important; }
.matsumoto489 .pl0 { padding-left: 0!important; }
.matsumoto489 .pr0 { padding-right: 0!important; }
.matsumoto489 .mt1em { margin-top: 1em!important; }
.matsumoto489 .mb1em { margin-bottom: 1em!important; }
.matsumoto489 .ml1em { margin-left: 1em!important; }
.matsumoto489 .mr1em { margin-right: 1em!important; }
.matsumoto489 .bt { border-top: 1px solid #e6e6e6; }
.matsumoto489 .bb { border-bottom: 1px solid #e6e6e6; }
.matsumoto489 .bl { border-left: 1px solid #e6e6e6; }
.matsumoto489 .br { border-right: 1px solid #e6e6e6; }
.matsumoto489 .btnone { border-top: none!important; }
.matsumoto489 .bbnone { border-bottom: none!important; }
.matsumoto489 .blnone { border-left: none!important; }
.matsumoto489 .brnone { border-right: none!important; }
.matsumoto489 .alignl { text-align: left; }
.matsumoto489 .alignr { text-align: right; }
.matsumoto489 .alignc { text-align: center; }

.matsumoto489 .table_wrap { margin-bottom: 2em; }
.matsumoto489 .pc { display: block!important; }
.matsumoto489 .sp { display: none!important; }

.matsumoto489 .accordion dd,
.matsumoto489 .accordion_hover dd { display: none; }

.matsumoto489 .hover_h > li > a {
  display: inline-block;
  position: relative;
  overflow: hidden;
  line-height: 1.5;
}
.matsumoto489 .hover_h > li > a:before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  opacity: 0;
  background-color: rgba(255,255,255,.5);
  transition: opacity .3s ease-out;
  transform: translate(-100%,0);
  content: "";
}
.matsumoto489 .hover_h > li > a.active:before {
  opacity: 1;
  transform: translate(0,0);
}
.matsumoto489 .hover_h > li > a:hover:before,
.matsumoto489 .hover_h > li > a:hover:after,
.matsumoto489 .hover_h > li > a:focus:before,
.matsumoto489 .hover_h > li > a:focus:after {
  opacity: 1;
  transform: translate(0,0);
}

.matsumoto489 .hoverimg > a > div {
  float: none;
  width: 100%;
  overflow: hidden;
}
.matsumoto489 .hoverimg > a > div * {
  transition: all .4s cubic-bezier(.215,.610,.355,1);
}
.matsumoto489 .hoverimg > a > div img {
  display: block;
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  opacity: 1;
}
.matsumoto489 .hoverimg > a > div:hover img,
.matsumoto489 .hoverimg > a > div.hover img {
  transform: scale(1.05);
}
.matsumoto489 .btn_wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2em;
}
.matsumoto489 .btn_wrap li:nth-child(n+2) { margin: 1em 0 0 0; }
.matsumoto489 .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-width: 320px;
  margin: 0 auto;
  padding: 18px 60px;
  color: #333;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.45);
  transition: all .5s cubic-bezier(.215,.610,.355,1);
  cursor: pointer;
}
.matsumoto489 .btn.white {
  border: 1px solid rgba(255,255,255,.45);
  color: #fff;
}
.matsumoto489 .btn:before {
  position: absolute;
  top: 50%;
  right: -20px;
  width: 40px;
  height: 1px;
  background: rgba(0,0,0,.45);
  transition: all .5s cubic-bezier(.215,.610,.355,1);
  transform: translateX(0);
  content: "";
}
.matsumoto489 .btn.white:before { background: rgba(255,255,255,.45); }
.matsumoto489 .btn span { display: block; }
.matsumoto489 .btn:hover:before,
.matsumoto489 .btn:focus:before {
  background: rgba(0,0,0,.9);
  transform: translateX(5px);
}
.matsumoto489 .btn.white:hover:before,
.matsumoto489 .btn.white:focus:before {
  background: rgba(255,255,255,.9);
  transform: translateX(5px);
}
.matsumoto489 .btn i {
  width: 18px;
  height: 18px;
  margin: 0 5px 2px 0;
}
.matsumoto489 .btn.phone {
  padding: 16px 60px;
  font-size: 18px!important;
}
.matsumoto489 .btn.phone i {
  width: 18px;
  height: 18px;
  margin: 0 5px 2px 0;
}
.matsumoto489 .img_wrap img {
  display: block;
  width: 100%;
  height: auto;
}
.matsumoto489 .layout_flex {
  display: flex;
  justify-content: center;
}
.matsumoto489 .bgcolor { background: #f4f2f0; }
.matsumoto489 .bgwhite { background: #fff; }

/* icon */
.matsumoto489 i.facebook_color { background-image: url(https://matsumotohotel-kagetsu.com/images/i_facebook_color.svg); }

/* header */
header.matsumoto489 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 2;
  letter-spacing: .08em;
  color: #333;
  text-align: center;
  vertical-align: baseline;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  pointer-events: none;
  width: 100%;
  z-index: 100;
}
header.matsumoto489.en {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
}
header.matsumoto489 .head {
  display: flex;
  justify-content: space-between;
  position: relative;
  width: 100%;
  height: 80px;
  transition: all .5s linear;
  box-shadow: 0 0 5px 2px rgba(0,0,0,.05);
  border-bottom: 1px solid rgba(255,255,255,.25);
  background: transparent;
}
header.matsumoto489 a {
  text-decoration: none;
  transition: all .5s cubic-bezier(.215,.610,.355,1);
  color: #fff;
}
header.matsumoto489 .left,
header.matsumoto489 .right {
  display: flex;
  align-items: center;
  width: 50%;
}
header.matsumoto489 .left {
  justify-content: flex-start;
}
header.matsumoto489 .right {
  justify-content: flex-end;
}
header.matsumoto489 h1 {
  display: none;
  position: fixed;
  top: 50%;
  right: 0;
  padding: 0;
  font-size: 12px;
  font-weight: normal;
  transform: translateY(-50%);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 80px;
  letter-spacing: .3em;
  color: #666;
  pointer-events: none;
  z-index: 99;
}
header.matsumoto489 .logo {
  padding-left: 120px;
  pointer-events: auto;
}
header.matsumoto489 .logo a {
  display: block;
  height: 24px;
  overflow: hidden;
}
header.matsumoto489 .logo img {
  display: block;
  height: 24px;
  transition: all .25s cubic-bezier(.215,.610,.355,1);
  transform: translateY(-100%);
}
header.matsumoto489 .gnav {
  padding-left: 2em;
  pointer-events: auto;
}
header.matsumoto489 .gnav li .accordion { position: relative; }
header.matsumoto489 .gnav li .accordion dt {
  position: relative;
  padding: 0 .75em 0 0;
  line-height: 1.5;
}
header.matsumoto489 .gnav li .accordion dt:after {
  position: absolute;
  top: 34%;
  right: 0;
  width: 5px;
  height: 5px;
  border-top: 1px solid rgba(39,37,32,.75);
  border-right: 1px solid rgba(39,37,32,.75);
  transform: rotate(135deg);
  content: "";
  transition: all .3s cubic-bezier(.215,.610,.355,1);
}
header.matsumoto489 .gnav li .accordion.active dt:after {
  transform: rotate(315deg);
}
header.matsumoto489 .gnav li .accordion dd {
  position: absolute;
  top: 2em;
  left: 50%;
  padding: 1.5em;
  transform: translateX(-50%);
  background: #fff;
  box-shadow: 0 0 5px 2px rgb(0 0 0 / 5%);
  pointer-events: none;
}
header.matsumoto489 .gnav li .accordion dd ul {
  display: block;
  text-align: left;
}
header.matsumoto489 .gnav li .accordion dd li {
  margin: 0;
  padding: 0;
  border-left: none;
  line-height: 1.5;
}
header.matsumoto489 .gnav li .accordion dd li:nth-child(n+2) { margin-top: 1em; }
header.matsumoto489 .gnav li .accordion dd a { pointer-events: auto;}
header.matsumoto489 .gnav ul,
header.matsumoto489 .right .language ul {
  display: flex;
  margin: 0;
  font-size: 14px;
}
header.matsumoto489 .gnav li,
header.matsumoto489 .right .language li {
  height: 100%;
  margin-left: 1em;
  padding-left: 1em;
  border-left: 1px solid rgba(255,255,255,.25);
  line-height: 1;
  white-space: nowrap;
}
header.matsumoto489 .gnav li:first-child,
header.matsumoto489 .right .language li:first-child {
  padding-left: 0;
  margin-left: 0;
  border-left: none!important;
}
header.matsumoto489 .language {
  padding-right: 120px;
  pointer-events: auto;
}

header.matsumoto489.scrolled:before { top: 0!important; }
header.matsumoto489.scrolled .head,
header.matsumoto489.scrolled a { color: #333!important; }
header.matsumoto489.scrolled .head { background: rgba(255,255,255,1); }
header.matsumoto489.scrolled #hnav_btn { border-right: 1px solid rgba(0,0,0,.1)!important; }
header.matsumoto489.scrolled #rsv_btn { border-left: 1px solid rgba(0,0,0,.1)!important; }
header.matsumoto489.scrolled #hnav_btn .hnav_icon span { background: #000; }
header.matsumoto489.scrolled .gnav li:nth-child(n+2) {}
header.matsumoto489.scrolled .hover_h > li > a:before { background-color: rgba(0,0,0,.5); }
header.matsumoto489.scrolled .language li:nth-child(n+2) { border-left: 1px solid rgba(0,0,0,.1)!important; }
header.matsumoto489.scrolled .logo img {
  transform: translateY(0);
}
header.matsumoto489.scrolled #rsv_btn { color: #333; }
header.matsumoto489.scrolled #rsv_btn .rsv_icon i {
  transform: translateY(0);
}
header.matsumoto489.scrolled .gnav li,
header.matsumoto489.scrolled .right .language li { border-left: 1px solid rgba(0,0,0,.1); }

/* footer */
footer.matsumoto489 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  position: relative;
  width: 100%;
  font-size: 12px;
  background: #fff;
}
footer.matsumoto489 .img_wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 800px;
  overflow: hidden;
}
footer.matsumoto489 .img_wrap .illu {
  position: absolute;
  width: 400px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
footer.matsumoto489 .text_wrap {
  display: flex;
  justify-content: space-between;
  padding: 840px 80px 40px 80px;
  text-align: left;
  line-height: 1.5;
}
footer.matsumoto489 .left .logo { margin-bottom: 1em; }
footer.matsumoto489 .left .logo img { width: 160px; }
footer.matsumoto489 .right {
  display: flex;
}
footer.matsumoto489 .right a { text-decoration: none; }
footer.matsumoto489 .right .fnav {
  display: flex;
  margin-right: 3em;
}
footer.matsumoto489 .right .fnav ul { line-height: 2; }
footer.matsumoto489 .right .fnav li a {
  position: relative;
  padding-left: .75em;
}
footer.matsumoto489 .right .fnav li a:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 3px;
  height: 1px;
  border-top: 1px solid rgba(39,37,32,.5);
  content: "";
}
footer.matsumoto489 .right .sns ul {
  display: flex;
}
footer.matsumoto489 .right .sns li:nth-child(n+2) { margin: 0 0 0 10px; }
footer.matsumoto489 .right .sns li:first-child { margin-left: 0; }
footer.matsumoto489 .right .sns li a {
  display: block;
  padding: 0;
}
footer.matsumoto489 .right .sns i {
  display: block;
  width: 20px;
  height: 20px;
}

/* copyright */
.copyright {
  display: none;
  position: fixed;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 12px;
  line-height: 80px;
  letter-spacing: .2em;
  color: #666;
  pointer-events: none;
  z-index: 99;
}

@media screen and (max-width: 959px) {
  /* tag */
  .matsumoto489 input,
  .matsumoto489 textarea,
  .matsumoto489 select,
  .matsumoto489 button { font-size: 14px; }
  .matsumoto489 td,
  .matsumoto489 th { line-height: 1.5; }
  .matsumoto489 h2 { font-size: 36px; }
  .matsumoto489 h3 { font-size: 26px; }
  .matsumoto489 h4 { font-size: 18px; }
  .matsumoto489 h5 { font-size: 14px; }
  .matsumoto489 table { width: 100%; }
  .matsumoto489 caption,
  .matsumoto489 th,
  .matsumoto489 td {
    padding: 10px;
    font-size: 12px;
  }
  .matsumoto489 input[type=text],
  .matsumoto489 input[type=email],
  .matsumoto489 input[type=tel],
  .matsumoto489 select,
  .matsumoto489 textarea {
    padding: 15px;
    font-size: 14px;
  }

  /* common */
  .matsumoto489 .btn_wrap {
    display: block;
    margin-top: 1em;
  }
  .matsumoto489 .btn_wrap li { margin: 1em 0 0 0; }
  .matsumoto489 .btn {
    min-width: auto;
    width: 100%;
    max-width: 270px;
    min-width: 220px;
    padding: 14px 0;
  }
  .matsumoto489 .btn:before {
    right: -10px;
    width: 20px;
  }
  .matsumoto489 .btn.phone i {
    width: 16px;
    height: 16px;
  }
  .matsumoto489 .table_wrap { margin-bottom: 1em; }
  .matsumoto489 .pc { display: none!important; }
  .matsumoto489 .sp { display: block!important; }

  /* header */
  header.matsumoto489 {
    font-size: 14px;
    height: 60px;
  }
  header.matsumoto489.en { font-size: 13px; }
  header.matsumoto489 .head {
    display: block;
    width: 100%;
    height: 100%;
    background: transparent;
  }
  header.matsumoto489 h1 {
    font-size: 10px;
    line-height: 25px;
    letter-spacing: .2em;
  }
  header.matsumoto489 .logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    padding: 0;
  }
  header.matsumoto489 .logo a { height: 24px; }
  header.matsumoto489 .logo img {
    display: block;
    height: 24px;
    transition: all .25s cubic-bezier(.215,.610,.355,1);
    transform: translateY(-100%);
  }
  header.matsumoto489 .gnav { display: none; }
  header.matsumoto489 .right .language { display: none; }

  /* footer */
  footer.matsumoto489 { font-size: 10px; }
  footer.matsumoto489 .img_wrap { height: 250px; }
  footer.matsumoto489 .img_wrap .illu { width: 200px; }
  footer.matsumoto489 .text_wrap {
    display: block;
    padding: 275px 25px 25px 25px;
  }
  footer.matsumoto489 .left .logo img { width: 130px; }
  footer.matsumoto489 .right {
    margin-top: 2em;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  footer.matsumoto489 .right .fnav { margin: 0 2em 2em 0; }

  /* copyright */
  .copyright {
    line-height: 25px;
    font-size: 10px;
  }
}