@charset "utf-8";

/* reset */
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
html, body, article, section, div, span,
input, textarea, select, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}
:focus { outline: 0; }
html { overflow: auto; }
body {
  position: relative;
  line-height: 1;
  color: #000;
  overflow: auto;
}
html.active,
html.active body { overflow: hidden; }
ol, ul { list-style: none; }
table {
  margin: 0 auto;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
}
caption, th, td {
  padding: 30px 40px;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
  border: 1px solid #e9e6e4;
}
th { font-weight: bold; }
tr:nth-of-type(2n) { background: rgba(22,24,25,.02); }
strong, b { font-weight: bold; }
blockquote:before, blockquote:after,
q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
p { word-wrap: break-word; }
small { font-size: 75%; }
ruby > rt { font-weight: normal; }

/* rakuten */
#htlHeader { background: transparent!important; }
#htlHeader ul li#htlRnk span.avrgNum { width: auto!important; }

/* tag */
html { font-size: 6.25%; }
body {
  width: 100%;
  height: 100%;
  font-size: 16rem;
  line-height: 2.5;
  letter-spacing: .08em;
  color: #000;
  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);
  background-size: 1024px 1024px;
  background-repeat: repeat;
  background-position: center;
  background-image: url(https://www.tamaya-ryokan.jp/images/img_body_bg.jpg);
}

/* tamaya */
#tamaya {
  position: relative;
  /* max-width: 950px; */
  margin: 0 auto;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
#tamaya caption, th, td {
  border: 1px solid rgba(0,0,0,.1);
  line-height: 1.75;
  font-size: 14rem;
}
#tamaya table {
  width: 100%;
  background: none;
}
/*tr:nth-of-type(2n) { background: #efece9; }*/
#tamaya li { list-style: none; }
#tamaya img { border: none; }
#tamaya a { color: #000; }
#tamaya a, button { outline: none; }
#tamaya address { font-style: normal; }
#tamaya textarea { overflow: auto; }
#tamaya input,
#tamaya textarea,
#tamaya select,
#tamaya button {
  display: inline-block;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 14rem;
  vertical-align: middle;
}
#tamaya textarea { display: block; }
#tamaya input[type=text],
#tamaya input[type=password],
#tamaya input[type=email],
#tamaya input[type=tel],
#tamaya select,
#tamaya textarea {
  padding: 10px 20px;
  font-size: 14rem;
  border: 1px solid rgba(49,44,42,.1);
  background: #f7f7f7;
  line-height: 1;
}
#tamaya textarea { line-height: 1.5; }
#tamaya input[type=text]:focus,
#tamaya input[type=email]:focus,
#tamaya input[type=tel]:focus,
#tamaya textarea:focus { background: #fff; }
::-moz-selection
{
  color: #fff;
  background-color: #000;
}
::selection
{
  color: #fff;
  background-color: #000;
}
#tamaya input[type=text]::-webkit-input-placeholder,
#tamaya input[type=email]::-webkit-input-placeholder,
#tamaya input[type=tel]::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1;
}
#tamaya input[type=text]:-ms-input-placeholder,
#tamaya input[type=email]:-ms-input-placeholder,
#tamaya input[type=tel]:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}
#tamaya input[type=text]::-moz-placeholder,
#tamaya input[type=email]::-moz-placeholder,
#tamaya input[type=tel]::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}
#tamaya button,
#tamaya radio,
#tamaya checkbox,
#tamaya label { cursor: pointer; }
#tamaya button {
  display: block;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  border: none;
  background: none;
}
#tamaya sup {
  font-size: 9rem;
  vertical-align: top;
}
#tamaya section {
  text-align: left;
  position: relative;
  overflow: hidden;
}
#tamaya h2,
#tamaya h3,
#tamaya h4,
#tamaya h5 {
  font-weight: normal;
  text-align: center;
}
#tamaya h2 {
  font-size: 58rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.25;
}
#tamaya h3 {
  font-size: 48rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.25;
}
#tamaya h4 {
  position: relative;
  font-size: 36rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.25;
}
#tamaya h5 {
  font-size: 24rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.25;
}
#tamaya i {
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* common */
#tamaya .mt0 { margin-top: 0!important; }
#tamaya .mb0 { margin-bottom: 0!important; }
#tamaya .ml0 { margin-left: 0!important; }
#tamaya .mr0 { margin-right: 0!important; }
#tamaya .pt0 { padding-top: 0!important; }
#tamaya .pb0 { padding-bottom: 0!important; }
#tamaya .pl0 { padding-left: 0!important; }
#tamaya .pr0 { padding-right: 0!important; }
#tamaya .mt1em { margin-top: 1em!important; }
#tamaya .mb1em { margin-bottom: 1em!important; }
#tamaya .ml1em { margin-left: 1em!important; }
#tamaya .mr1em { margin-right: 1em!important; }
#tamaya .mt2em { margin-top: 2em!important; }
#tamaya .mb2em { margin-bottom: 2em!important; }
#tamaya .ml2em { margin-left: 2em!important; }
#tamaya .mr2em { margin-right: 2em!important; }
#tamaya .mt160 { margin-top: 120px!important; }
#tamaya .mb160 { margin-bottom: 120px!important; }
#tamaya .bt { border-top: 1px solid rgba(0,0,0,.1); }
#tamaya .bb { border-bottom: 1px solid #efece9; }
#tamaya .bl { border-left: 1px solid #efece9; }
#tamaya .br { border-right: 1px solid #efece9; }
#tamaya .btnone { border-top: none!important; }
#tamaya .bbnone { border-bottom: none!important; }
#tamaya .blnone { border-left: none!important; }
#tamaya .brnone { border-right: none!important; }
#tamaya .alignl { text-align: left!important; }
#tamaya .alignr { text-align: right!important; }
#tamaya .alignc { text-align: center!important; }
#tamaya .jcc {
  justify-content: center;
}
#tamaya .table_wrap {
  display: flex;
  justify-content: center;
}
#tamaya .pc { display: block!important; }
#tamaya .sp { display: none!important; }
#tamaya .img_wrap img {
  display: block;
  width: 100%;
  height: auto;
}
#tamaya .layout_flex {
  display: flex;
  justify-content: center!important;
}
#tamaya .bgcolor { background: #efece9; }
#tamaya .bgwhite { background: #fff; }

/* marker */
#tamaya .marker {
  font-weight: bold;
  background:linear-gradient(transparent 60%, #eaddee 60%);
}

/* img_hover */
#tamaya .hover_brightness {
  transition: all .4s linear;
}
#tamaya .hover_brightness:hover {
  -webkit-filter: brightness(1.25);
  filter: brightness(1.25);
}

/* btn */
#tamaya .btn_wrap {
  display: flex;
  justify-content: center;
  margin-top: 4em;
}
#tamaya .btn_wrap ul {
  display: flex;
  justify-content: center;
}
#tamaya .btn_wrap ul li:nth-of-type(n+2) { margin: 0 0 0 1em; }

/* タブレット横 */
@media screen and (max-width: 1400px) {
  #tamaya .btn_wrap ul { display: block; }
  #tamaya .btn_wrap ul li:nth-of-type(n+2) { margin: 1em 0 0 0; }
}

#tamaya .btn {
  display: block;
  cursor: pointer;
  text-decoration: none;
}
#tamaya .btn span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 1em 4em;
  color: #fff;
  font-size: 16rem;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
  text-align: left;
  text-decoration: none;
  transition: all .5s cubic-bezier(.215,.61,.355,1);
  background: #000;
  border-radius: 3px;
}
#tamaya .btn.reservation span {
  background: #551c41;
  background: linear-gradient(-30deg, #551c41 0%, #772d5d 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#551c41', endColorstr='#772d5d', GradientType=1);
}
#tamaya .btn:hover span,
#tamaya .btn:focus span {
  -webkit-filter: brightness(1.5);
  filter: brightness(1.5);
}
#tamaya .btn small {
  font-size: 12rem;
  font-weight: normal;
}

/* icon */
#tamaya i.calendar_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_calendar_black.png); }
#tamaya i.calendar_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_calendar_white.png); }
#tamaya i.bestrate_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_bestrate_black.png); }
#tamaya i.bestrate_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_bestrate_white.png); }
#tamaya i.phone_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_phone_black.png); }
#tamaya i.phone_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_phone_white.png); }
#tamaya i.mail_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_mail_black.png); }
#tamaya i.mail_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_mail_white.png); }
#tamaya i.wifi_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_wifi_black.png); }
#tamaya i.wifi_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_wifi_white.png); }
#tamaya i.nosmoking_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_nosmoking_black.png); }
#tamaya i.nosmoking_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_nosmoking_white.png); }
#tamaya i.reservation_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_reservation_black.png); }
#tamaya i.reservation_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_reservation_white.png); }

/* icon sns */
#tamaya i.twitter_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_twitter_black.png); }
#tamaya i.twitter_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_twitter_white.png); }
#tamaya i.facebook_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_facebook_black.png); }
#tamaya i.facebook_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_facebook_white.png); }
#tamaya i.instagram_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_instagram_black.png); }
#tamaya i.instagram_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_instagram_white.png); }
#tamaya i.tiktok_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_tiktok_black.png); }
#tamaya i.tiktok_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_tiktok_white.png); }
#tamaya i.youtube_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_youtube_black.png); }
#tamaya i.youtube_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_youtube_white.png); }
#tamaya i.line_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_line_black.png); }
#tamaya i.line_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_line_white.png); }
#tamaya i.trip_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_trip_black.png); }
#tamaya i.trip_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_trip_white.png); }

/* icon access */
#tamaya i.map_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_map_black.png); }
#tamaya i.map_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_map_white.png); }
#tamaya i.car_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_car_black.png); }
#tamaya i.car_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_car_white.png); }
#tamaya i.train_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_train_black.png); }
#tamaya i.train_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_train_white.png); }
#tamaya i.airplane_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_airplane_black.png); }
#tamaya i.airplane_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_airplane_white.png); }
#tamaya i.bus_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_bus_black.png); }
#tamaya i.bus_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_bus_white.png); }
#tamaya i.walk_black { background-image: url(https://www.tamaya-ryokan.jp/images/i_walk_black.png); }
#tamaya i.walk_white { background-image: url(https://www.tamaya-ryokan.jp/images/i_walk_white.png); }

  /* small */
#tamaya .btn_wrap.small { margin-top: 3em; }
#tamaya .btn_wrap.small .btn { font-size: 18rem; }
#tamaya .btn_wrap.small .btn:before {
  width: 20px;
  height: 2px;
}
#tamaya .btn_wrap.small .btn:hover:before,
#tamaya .btn_wrap.small .btn:focus:before {
  background: rgba(0,0,0,.9);
  width: 30px;
}
#tamaya .btn_wrap.small .btn span { margin-left: 30px; }

/* brush */
#tamaya .brush_wrap {
  position: relative;
  pointer-events: none;
}
#tamaya .brush { z-index: -1; }
#tamaya .brush img {
  position: absolute;
  mix-blend-mode: multiply;
}
#tamaya .brush img.brush01 {
  width: 1600px;
  height: 864px;
  top: 100px;
  left: 50%;
  transform: translateX(-50%);
}
#tamaya .brush img.brush02 {
  width: 1600px;
  height: 678px;
}

/* slideshow */
#tamaya .slideshow .slick-slide {
  position: relative;
  overflow: hidden;
  width: 100%;
}
#tamaya .slideshow .slick-slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
#tamaya .slideshow .caption {
  position: absolute;
  display: block;
  text-align: left;
  bottom: 20px;
  left: 50%;
  width: 100%;
  padding: 0 20px;
  transform: translateX(-50%);
  font-size: 12rem;
  text-align: right;
  text-shadow: 0 0 5px rgba(0,0,0,50%);
  color: #fff;
  white-space: nowrap;
  line-height: 1;
  z-index: 1;
}

/* header */
#tamaya header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50vh;
  z-index: 2;
  pointer-events: none;
}
#tamaya header.home { height: 100vh; }
#tamaya header .head {
  position: absolute;
  display: flex;
  justify-content: space-between;
  width: 100%;
  top: 0;
  left: 0;
}
#tamaya header h1 {
  position: absolute;
  top: 50%;
  right: 0;
  padding: 0;
  font-size: 10rem;
  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: .5em;
  color: rgba(255,255,255,.4);
  white-space: nowrap;
  pointer-events: none;
  z-index: 99;
}
#tamaya header a {
  text-decoration: none;
  color: #fff;
}
#tamaya header .left {
  position: relative;
  display: flex;
}

/* left */
#tamaya header .left {
  justify-content: center;
  width: 100%;
}
#tamaya header .left .logo {}
#tamaya header .left .logo li {
  display: flex;
  align-items: center;
  width: 130px;
  height: 80px;
  transition: all .5s cubic-bezier(.215,.61,.355,1);
}
#tamaya header .left .logo li:nth-of-type(1) {
  opacity: 1;
  pointer-events: auto;
}
#tamaya header .left .logo li:nth-of-type(2) {
  transform: translateY(-120px);
  opacity: 0;
  pointer-events: none;
}
#tamaya header .left .logo a {
  display: block;
  margin: 0 auto;
  overflow: hidden;
}
#tamaya header .left .logo img {
  display: block;
  width: 100%;
  height: auto;
}

/* footer */
#tamaya footer > .inner {
  position: relative;
  width: 100%;
  font-size: 12rem;
  color: #fff;
  overflow: hidden;
}
#tamaya footer > .inner > .img_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  z-index: -1;
}
#tamaya footer > .inner > .img_wrap img {
  width: 100%;
  height: auto;
}
#tamaya footer .text_wrap {
  display: flex;
  justify-content: space-between;
  padding: 80px;
  text-align: left;
  line-height: 1.5;
}

/* タブレット横 */
@media screen and (max-width: 1400px) {
  #tamaya footer > .inner > .img_wrap,
  #tamaya footer .text_wrap { height: 700px; }
}

#tamaya footer .left .logo {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
}
#tamaya footer .left .logo img {
  display: block;
  width: 130px;
  height: auto;
}
#tamaya footer .left .sns { margin-left: 20px; }
#tamaya footer .left .sns ul {
  display: flex;
}
#tamaya footer .left .sns li:nth-of-type(n+2) { margin-left: 10px; }
#tamaya footer .left .sns i {
  display: block;
  width: 25px;
  height: 25px;
}
#tamaya footer .left .group { margin-top: 40px; }
#tamaya footer .left .group > p { text-align: center; }
#tamaya footer .left .group li { margin-top: 10px; }
#tamaya footer .left .group li a {
  display: flex;
  align-items: center;
  padding: 5px;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.2);
}
#tamaya footer .left .group li img { display: block; }
#tamaya footer .left .group li p { margin-left: 1em; }
#tamaya footer .right .img_wrap { margin: 30px 0 0 0; }
#tamaya footer .right .img_wrap img {
  display: block;
  width: 310px;
}
#tamaya footer .right a { text-decoration: none; }
#tamaya footer .right .fnav {
  display: flex;
  justify-content: flex-end;
}
#tamaya footer .right .fnav ul { line-height: 2; }
#tamaya footer .right .fnav ul:nth-of-type(n+2) { margin-left: 3em; }
#tamaya footer .right .fnav li a {
  position: relative;
  padding-left: .75em;
  color: #fff;
}
#tamaya footer .right .fnav li a:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 3px;
  height: 1px;
  border-top: 1px solid rgba(255,255,255,.5);
  content: "";
}

/* mv */
#tamaya .mv {
  position: relative;
  width: 100%;
  height: 400px;
  /* background: #000; */
  overflow: hidden;
}
#tamaya .mv.home { height: 700px; }
#tamaya .mv > div.inner {
  width: 100%;
  height: 100%;
}
#tamaya .mv .content_wrap {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50vh;
  overflow: hidden;
  z-index: -1;
}
#tamaya .mv .img_wrap {
  position: absolute;
  width: 100%;
  height: 600px;
  top: 0;
  left: 0;
  -webkit-animation-name: scaleup;
  animation-name: scaleup;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-duration: 5s;
  animation-duration: 5s;
  overflow: hidden;
}
#tamaya .mv .img_wrap > div {
  position: relative;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
#tamaya .mv .img_wrap > div.guestrooms { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_guestrooms.jpg); }
#tamaya .mv .img_wrap > div.guestrooms_premium { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_guestrooms_premium.jpg); }
#tamaya .mv .img_wrap > div.cuisine { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_cuisine.jpg); }
#tamaya .mv .img_wrap > div.facilities { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_facilities.jpg); }
#tamaya .mv .img_wrap > div.onsen { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_onsen.jpg); }
#tamaya .mv .img_wrap > div.sightseeing { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_sightseeing.jpg); }
#tamaya .mv .img_wrap > div.access { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_access.jpg); }
#tamaya .mv .img_wrap > div.privilege { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_privilege.jpg); }
#tamaya .mv .img_wrap > div.privacy { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_privacy.jpg); }
#tamaya .mv .img_wrap > div.contact { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_contact.jpg); }
#tamaya .mv .img_wrap > div.blog { background-image: url(https://www.tamaya-ryokan.jp/images/img_mv_blog.jpg); }

#tamaya .mv {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
  pointer-events: auto;
}
#tamaya .mv > img {
  position: absolute;
  display: block;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
}
#tamaya .mv.home { height: 800px; }
#tamaya .mv .carousel {
  height: 800px;
  /* background: #000; */
  z-index: -1;
}
#tamaya .mv .mv {
  width: 100%;
  height: 390px;
  background-repeat: no-repeat;
  background-attachment: inherit;
  background-position: center bottom;
  background-size: auto 100%;
}
@-webkit-keyframes fade_slides {
  0% { opacity:0; }
  5% { opacity:1; }
  20% { opacity:1; }
  25% { opacity:0; }
  100% { opacity:0; }
}
@keyframes fade_slides {
  0% { opacity:0; }
  5% { opacity:1; }
  20% { opacity:1; }
  25% { opacity:0; }
  100% { opacity:0; }
}
#tamaya .mv.home li {
  position: absolute;
  top: 0;
  width: 100%;
  height: 800px;
  text-align: center;
  opacity: 0;
  overflow: hidden;
  /* css3 animation */
  -webkit-animation-name: fade_slides;
  -webkit-animation-duration: 30.0s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
  -webkit-animation-delay: 0;
  -webkit-animation-play-state: running;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-name: fade_slides;
  -moz-animation-duration: 30.0s;
  -moz-animation-timing-function: linear;
  -moz-animation-iteration-count: infinite;
  -moz-animation-direction: normal;
  -moz-animation-delay: 0;
  -moz-animation-play-state: running;
  -moz-animation-fill-mode: forwards;
  -o-animation-name: fade_slides;
  -o-animation-duration: 30.0s;
  -o-animation-timing-function: linear;
  -o-animation-iteration-count: infinite;
  -o-animation-direction: normal;
  -o-animation-delay: 0;
  -o-animation-play-state: running;
  -o-animation-fill-mode: forwards;
  -ms-animation-name: fade_slides;
  -ms-animation-duration: 30.0s;
  -ms-animation-timing-function: linear;
  -ms-animation-iteration-count: infinite;
  -ms-animation-direction: normal;
  -ms-animation-delay: 0;
  -ms-animation-play-state: running;
  -ms-animation-fill-mode: forwards;
}
/* css3s */
#tamaya .mv.home li:nth-child(2) {
  -webkit-animation-delay: 5.0s;
  -moz-animation-delay: 5.0s;
  -o-animation-delay: 5.0s;
  -ms-animation-delay: 5.0s;
}
#tamaya .mv.home li:nth-child(3) {
  -webkit-animation-delay: 10.0s;
  -moz-animation-delay: 10.0s;
  -o-animation-delay: 10.0s;
  -ms-animation-delay: 10.0s;
}
#tamaya .mv.home li:nth-child(4) {
  -webkit-animation-delay: 15.0s;
  -moz-animation-delay: 15.0s;
  -o-animation-delay: 15.0s;
  -ms-animation-delay: 15.0s;
}
#tamaya .mv.home li:nth-child(5) {
  -webkit-animation-delay: 20.0s;
  -moz-animation-delay: 20.0s;
  -o-animation-delay: 20.0s;
  -ms-animation-delay: 20.0s;
}
#tamaya .mv.home li:nth-child(6) {
  -webkit-animation-delay: 25.0s;
  -moz-animation-delay: 25.0s;
  -o-animation-delay: 25.0s;
  -ms-animation-delay: 25.0s;
}
#tamaya .mv.home li img {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
}

#tamaya .mv .carousel li:nth-of-type(2).slick-slide:before,
#tamaya .mv .carousel li:nth-of-type(3).slick-slide:before,
#tamaya .mv .carousel li:nth-of-type(4).slick-slide:before,
#tamaya .mv .carousel li:nth-of-type(5).slick-slide:before,
#tamaya .mv .carousel li:nth-of-type(6).slick-slide:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 75%, rgba(0,0,0,.25) 100%);
  z-index: 1;
  content: "";
  pointer-events: none;
}
#tamaya .mv .img_wrap .guestrooms:before,
#tamaya .mv .img_wrap .cuisine:before,
#tamaya .mv .img_wrap .facilities:before,
#tamaya .mv .img_wrap .sightseeing:before,
#tamaya .mv .img_wrap .privilege:before,
#tamaya .mv .img_wrap .privacy:before,
#tamaya .mv .img_wrap .contact:before,
#tamaya .mv .img_wrap .blog:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%);
  z-index: 1;
  content: "";
  pointer-events: none;
}

@-webkit-keyframes scroll {
  0% { transform:translateY(-100%) }
  100% { transform:translateY(200%) }
}
@keyframes scroll {
  0% { transform:translateY(-100%) }
  100% { transform:translateY(200%) }
}

/* layout_access */
#tamaya .layout_access .inner { padding: 120px 0; }
#tamaya .layout_access .text_wrap {
  margin: 0 auto;
  padding: 0 80px;
}
#tamaya .layout_access .text_wrap h3 { margin-bottom: 1em; }
#tamaya .layout_access .title {
  position: relative;
  font-size: 16rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin: 0 20px;
  padding: 25px;
  background: rgba(0,0,0,.05);
  border-radius: 3px;
}
#tamaya .layout_access .title:after {
  position: absolute;
  bottom: 20px;
  left: 50%;
  width: 5px;
  height: 5px;
  border-top: 1px solid rgba(0,0,0,.75);
  border-right: 1px solid rgba(0,0,0,.75);
  content: "";
  transition: all .5s cubic-bezier(.215,.61,.355,1);
  transform: rotate(135deg);
}
#tamaya .layout_access .active .title:after {
  transform: rotate(315deg);
}
#tamaya .layout_access .title i {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 auto;
}
#tamaya .layout_access .title i.airplane_black { height: 30px; }
#tamaya .layout_access .title small {
  font-size: 14rem;
  font-weight: normal;
}
#tamaya .layout_access .title img {
  display: block;
  max-width: 100%;
  margin-bottom: .5em;
}
#tamaya .layout_access .access_detail_wrap {
  display: flex;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: center;
}
#tamaya .layout_access .access_detail {
  width: 25%;
  max-width: 320px;
  padding: 20px 0 0 0;
}
#tamaya .layout_access .access_detail ul {
  display: none;
  margin: 0 40px;
  padding: 20px 0;
}

@media screen and (min-width: 1024px) {
  #tamaya .layout_access .title:after { display: none; }
  #tamaya .layout_access .accordion { pointer-events: none; }
  #tamaya .layout_access .accordion ul {
    display: block!important;
    height: 100%!important;
    padding: 25px 0!important;
  }
  #tamaya .layout_access .accordion.active ul {
    display: block!important;
    height: 100%!important;
    padding: 25px 0!important;
  }
}

#tamaya .layout_access .access_detail li {
  width: auto;
  min-height:auto;
}
#tamaya .layout_access .access_detail li:nth-of-type(odd) {
  position: relative;
  margin: 0;
  padding-left: 48px;
  font-size: 16rem;
  font-weight: bold;
  line-height: 28px;
}
#tamaya .layout_access .access_detail li:nth-of-type(odd):before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #000;
  content: "";
}
#tamaya .layout_access .access_detail li:nth-of-type(odd):after {
  display: block;
  position: absolute;
  top: 8px;
  left: 8px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  content: "";
}
#tamaya .layout_access .access_detail li:nth-of-type(even) {
  display: flex;
  align-items: center;
  position: relative;
  height: 100px;
  margin: 0 0 0 11px;
  padding: 0 0 0 32px;
  font-size: 12rem;
  line-height: 1.5;
  border-left: 6px solid rgba(0,0,0,.1);
}
#tamaya .layout_access .access_detail li:nth-of-type(even).x2 { height: 228px; }
#tamaya .layout_access .access_detail li:nth-of-type(even).x3 { height: 356px; }
#tamaya .layout_access .access_detail li:nth-of-type(even) span {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#tamaya .layout_access .access_detail li:last-child:before {
  background: #551c41;
  border-radius: 0;
}
#tamaya .layout_access .access_detail li:last-child:after { border-radius: 0; }
#tamaya .layout_access .access_detail.train li:nth-of-type(even) {
  margin: 0 0 0 12px;
  border-left: 4px dashed rgba(0,0,0,.1);
}
#tamaya .layout_access .access_detail.train li:nth-of-type(even):before,
#tamaya .layout_access .access_detail.train li:nth-of-type(even):after {
  display: block;
  position: absolute;
  top: 0;
  width: 1px;
  height: 100px;
  font-size: 0;
  content: "";
}
#tamaya .layout_access .access_detail.train li.notrain:nth-of-type(even) { border-left: 4px solid rgba(0,0,0,.1); }
#tamaya .layout_access .access_detail.train li.x2:nth-of-type(even):before,
#tamaya .layout_access .access_detail.train li.x2:nth-of-type(even):after { height: 228px; }
#tamaya .layout_access .access_detail.train li.x3:nth-of-type(even):before,
#tamaya .layout_access .access_detail.train li.x3:nth-of-type(even):after { height: 356px; }
#tamaya .layout_access .access_detail.train li:nth-of-type(even):before {
  left: 0;
  background: rgba(0,0,0,.1);
}
#tamaya .layout_access .access_detail.train li:nth-of-type(even):after {
  left: -5px;
  background: rgba(0,0,0,.1);
}
#tamaya .layout_access .access_detail li span {
  font-weight: normal;
  font-size: 14rem;
}
#tamaya .layout_access .note {
  max-width: 950px;
  margin: 2em auto 0 auto;
}
#tamaya .layout_access .note p { text-align: center; }

/* layout_outline */
#tamaya .layout_outline .text_wrap {
  padding: 120px 80px;
  max-width: 960px;
  margin: 0 auto;
}
#tamaya .layout_outline .text_wrap h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1em;
}
#tamaya .layout_outline .text_wrap > div {
  display: flex;
  align-items: center;
  justify-content: center;
}
#tamaya .layout_outline .img_wrap {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
}
#tamaya .layout_outline .img_wrap img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  height: auto;
}
/* access */
#tamaya .layout_outline.access .text_wrap {
  justify-content: center;
  padding: 120px;
}
#tamaya .layout_outline.access .text_wrap h2 {
  width: auto;
  padding: 0;
}

/* layout_half */
#tamaya .layout_half .inner { padding: 120px 0; }
#tamaya .layout_half .inner > .text_wrap { margin-bottom: 80px; }
#tamaya .layout_half .inner > ul {}

/* タブレット横 */
@media screen and (max-width: 1400px) {
  #tamaya .layout_half .inner > ul {}
}

#tamaya .layout_half .inner > ul > li {
  display: flex;
  align-items: center;
  padding: 0 80px;
}
#tamaya .layout_half .inner > ul > li:nth-of-type(n+2) { margin-top: 80px; }
#tamaya .layout_half .inner > ul > li:nth-of-type(2n) {
  flex-direction: row-reverse;
}
#tamaya .layout_half .inner > ul > li:nth-of-type(2n+1) .img_wrap,
#tamaya .layout_half .inner > ul > li:nth-of-type(2n) .text_wrap { padding-right: 40px; }
#tamaya .layout_half .inner > ul > li:nth-of-type(2n+1) .text_wrap,
#tamaya .layout_half .inner > ul > li:nth-of-type(2n) .img_wrap { padding-left: 40px; }
#tamaya .layout_half .inner > ul > li:nth-of-type(2n+1) .brush_wrap img {
  top: 0;
  left: -900px;
}
#tamaya .layout_half .inner > ul > li:nth-of-type(2n) .brush_wrap img {
  top: 0;
  right: -900px;
}
#tamaya .layout_half .inner > ul > li .text_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
}
#tamaya .layout_half .inner > ul > li .text_wrap .icon {
  margin-bottom: 2em;
  padding: 0 40px;
}
#tamaya .layout_half .inner > ul > li .text_wrap .icon ul {
  display: flex;
  justify-content: flex-end;
}
#tamaya .layout_half .inner > ul > li .text_wrap .icon ul li:nth-of-type(n+2) { margin-left: 10px; }
#tamaya .layout_half .inner > ul > li .text_wrap .icon ul li i {
  display: block;
  width: 25px;
  height: 25px;
}
#tamaya .layout_half .inner > ul > li .text_wrap h3 { margin-bottom: 1em; }
#tamaya .layout_half .inner > ul > li .text_wrap h3 small {
  display: block;
  margin: 0 0 .5em 0;
  font-size: 24rem;
}
#tamaya .layout_half .inner > ul > li .text_wrap h3 .menu {
  display: flex;
  justify-content: center;
  margin-top: .25em;
}
#tamaya .layout_half .inner > ul > li .text_wrap h3 .menu small {
  display: block;
  margin: 0;
  padding: .5em 2em;
  font-size: 14rem;
  font-weight: normal;
  line-height: 1.5;
  border: 1px solid rgba(0,0,0,.2);
}
#tamaya .layout_half .inner > ul > li .text_wrap p.small {
  font-size: 12rem;
  margin-top: 1em;
  line-height: 2;
}
#tamaya .layout_half .inner > ul > li .text_wrap .frame {
  display: inline-block;
  border: 1px solid rgba(0,0,0,.2);
  margin-bottom: .5em;
  padding: .5em 1em;
  font-size: 14rem;
  line-height: 1;
}
#tamaya .layout_half .inner > ul > li .img_wrap {
  position: relative;
  width: 50%;
}
#tamaya .layout_half .inner > ul > li .img_wrap img {
  width: auto;
  height: 100%;
}
#tamaya .layout_half .inner > ul > li .img_wrap .privilege {
  position: absolute;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100% - 40px);
  max-width: 720px;
  padding: .75em 0;
  background: #36397e;
  z-index: 1;
}
#tamaya .layout_half .inner > ul > li:nth-of-type(2n+1) .img_wrap .privilege {
  left: calc(50% - 20px);
  transform: translateX(-50%);
}
#tamaya .layout_half .inner > ul > li:nth-of-type(2n) .img_wrap .privilege {
  right: calc(50% - 20px);
  transform: translateX(50%);
}
#tamaya .layout_half .inner > ul > li .img_wrap .privilege span {
  display: block;
  color: #fff;
  line-height: 1;
}
#tamaya .layout_half .inner > ul > li .slideshow {
  max-width: 720px;
  height: 720px;
  margin: 0 auto;
}
#tamaya .layout_half .inner > ul > li .slideshow li {
  position: relative;
  height: 100%;
  overflow: hidden;
}
#tamaya .layout_half .inner > ul > li .slideshow li img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: auto;
  height: 100%;
}
#tamaya .layout_half .inner > ul > li .table_wrap.spec table { max-width: calc(100% - 320px); }
#tamaya .layout_half .inner > ul > li .table_wrap.spec { margin-top: 2em; }

/* タブレット横 */
@media screen and (max-width: 1400px) {
  #tamaya .layout_half .inner > ul > li .table_wrap.spec table { max-width: 100%; }
}

#tamaya .layout_half .inner > ul > li .table_wrap.spec th,
#tamaya .layout_half .inner > ul > li .table_wrap.spec td {
  border: 1px solid rgba(0,0,0,.1);
  padding: 1em 2em;
  font-size: 14rem;
  text-align: center;
}

/* layout_plan */
#tamaya .layout_plan { padding: 120px 80px 0 80px; }
#tamaya .layout_plan > .inner .text_wrap { margin-bottom: 80px; }
#tamaya .layout_plan > .inner .text_wrap h3 small {
  display: block;
  margin: 0 0 .5em 0;
  font-size: 24rem;
}
#tamaya .layout_plan > .inner > ul {
  display: flex;
  flex-wrap: wrap
}
#tamaya .layout_plan > .inner > ul li { width: 33.3333%; }
#tamaya .layout_plan > .inner > ul li:nth-of-type(3n-1) { margin-top: 80px; }
#tamaya .layout_plan > .inner > ul li:nth-of-type(3n) { margin-top: 120px; }
#tamaya .layout_plan > .inner > ul li a,
#tamaya .layout_plan > .inner > ul li > div {
  display: block;
  width: calc(100% - 40px);
  margin: 0 auto;
  text-decoration: none;
}
#tamaya .layout_plan > .inner > ul li .img_wrap {
  position: relative;
  height: 400px;
  overflow: hidden;
}
#tamaya .layout_plan > .inner > ul li .img_wrap img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%,-50%);
}
#tamaya .layout_plan > .inner > ul li .text_wrap h4,
#tamaya .layout_plan > .inner > ul li .text_wrap h5 {
  padding: 1em 0 0 0;
  line-height: 1.75;
}
#tamaya .layout_plan > .inner > ul li .text_wrap h5 { font-size: 20rem; }
#tamaya .layout_plan.privilege > .inner > ul li .text_wrap h5 {
  display: flex;
  justify-content: center;
}
#tamaya .layout_plan.privilege > .inner > ul li .text_wrap h5 span {
  display: block;
  padding: .75em 2em;
  font-size: 16rem;
  font-weight: normal;
  line-height: 1;
  color: #fff;
  background: #36397e;
  border-radius: 3px;
}
#tamaya .layout_plan > .inner > ul li .text_wrap p {
  margin-top: .5em;
  text-align: center;
  line-height: 2;
}
#tamaya .layout_plan.privilege > .inner > ul li .text_wrap p { margin-top: 1em; }
#tamaya .layout_plan > .inner > ul li .text_wrap dl {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1em;
  font-size: 12rem;
  line-height: 2;
  text-align: left;
}

/* layout_bnr */
#tamaya .layout_bnr {
  padding: 120px 0 80px 0;
  background: rgba(0,0,0,.04);
}
#tamaya .layout_bnr > .inner { padding: 0 80px; }
#tamaya .layout_bnr > .inner .text_wrap h3 { margin-bottom: 1em; }
#tamaya .layout_bnr > .inner > ul {
  display: flex;
  flex-wrap: wrap
}
#tamaya .layout_bnr > .inner > ul li { width: 33.3333%; }
#tamaya .layout_bnr > .inner > ul li a {
  display: block;
  width: calc(100% - 40px);
  max-width: 390px;
  margin: 0 auto;
  text-decoration: none;
}
#tamaya .layout_bnr .img_wrap {
  position: relative;
  height: 260px;
  border-radius: 3px;
  overflow: hidden;
}
#tamaya .layout_bnr .img_wrap img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%,-50%);
}
#tamaya .layout_bnr .text_wrap h5 { padding: 1em 0 0 0; }
#tamaya .layout_bnr .text_wrap p {
  margin-top: 1em;
  text-align: center;
  line-height: 2;
}

/* layout_nav */
#tamaya .layout_nav { padding: 120px 0 0 0; }
#tamaya .layout_nav > .inner { padding: 0 80px; }
#tamaya .layout_nav > .inner .text_wrap h3 { margin-bottom: 1em; }
#tamaya .layout_nav > .inner > ul {
  display: flex;
  flex-wrap: wrap
}
#tamaya .layout_nav > .inner > ul li { width: 33.3333%; }
#tamaya .layout_nav > .inner > ul li:nth-of-type(3n-1) { margin-top: 80px; }
#tamaya .layout_nav > .inner > ul li:nth-of-type(3n) { margin-top: 120px; }
#tamaya .layout_nav > .inner > ul li a {
  display: block;
  width: calc(100% - 40px);
  max-width: 390px;
  margin: 0 auto;
  text-decoration: none;
}
#tamaya .layout_nav .img_wrap {
  position: relative;
  height: 260px;
  overflow: hidden;
  border-radius: 3px;
}
#tamaya .layout_nav .img_wrap img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%,-50%);
}
#tamaya .layout_nav .text_wrap h5 { padding: 1em 0 0 0; }
#tamaya .layout_nav .text_wrap p {
  margin-top: 1em;
  text-align: center;
  line-height: 2;
}
#tamaya .layout_nav .text_wrap dl {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1em;
  font-size: 12rem;
  line-height: 2;
  text-align: left;
}

/* layout_common */
#tamaya .layout_common .inner {
  max-width: 950px;
  margin: 0 auto;
  padding: 120px 0;
}
#tamaya .layout_common.guestrooms .inner { max-width: 1200px; }
#tamaya .layout_common .capture ul {
  display: flex;
  justify-content: center;
}
#tamaya .layout_common .capture ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 33.3333%;
  margin: 0 20px;
  padding: 40px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 3px;
}
#tamaya .layout_common .capture ul li i {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto;
}
#tamaya .layout_common .capture ul li p {
  margin-top: 1em;
  font-size: 13rem;
  line-height: 1.75;
}
#tamaya .layout_common .text_wrap h4 { margin: 1em 0; }
#tamaya .layout_common .brush img.brush01 { top: 200px; }

/* full */
#tamaya .layout_common .full .text_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 80px;
}
#tamaya .layout_common .full .text_wrap h3 { margin: 1em 0; }
#tamaya .layout_common .full .text_wrap h3 small {
  display: block;
  margin: 0 0 .5em 0;
  font-size: 24rem;
}
#tamaya .layout_common .full .text_wrap h3 .menu {
  display: flex;
  justify-content: center;
  margin-top: .25em;
}
#tamaya .layout_common .full .text_wrap h3 .menu small {
  display: block;
  margin: 0;
  padding: .5em 2em;
  font-size: 14rem;
  font-weight: normal;
  line-height: 1.5;
  border: 1px solid rgba(0,0,0,.2);
}
#tamaya .layout_common .full .text_wrap .frame {
  display: inline-block;
  border: 1px solid rgba(0,0,0,.2);
  margin-bottom: .5em;
  padding: .5em 1em;
  font-size: 14rem;
  line-height: 1;
}
#tamaya .layout_common .full .text_wrap p.small {
  font-size: 12rem;
  margin-top: 1em;
  line-height: 2;
}
#tamaya .layout_common .full .text_wrap .icon {
  margin: 4em 0 2em 0;
  padding: 0 40px;
}
#tamaya .layout_common .full .text_wrap .icon ul {
  display: flex;
  justify-content: flex-end;
}
#tamaya .layout_common .full .text_wrap .icon ul li:nth-of-type(n+2) { margin-left: 10px; }
#tamaya .layout_common .full .text_wrap .icon ul li i {
  display: block;
  width: 25px;
  height: 25px;
}
#tamaya .layout_common .full .text_wrap .table_wrap.spec { margin-top: 2em; }
#tamaya .layout_common .full .text_wrap .table_wrap.spec table { max-width: calc(100% - 320px); }
#tamaya .layout_common .full .text_wrap .madori {
  display: flex;
  justify-content: center;
  margin-top: 3em;
}
#tamaya .layout_common .full .text_wrap .madori img {
  display: block;
  max-width: 600px;
}
#tamaya .layout_common .full .text_wrap .madori p {
  margin-top: 1em;
  text-align: center;
  font-size: 12rem;
}
#tamaya .layout_common .full .text_wrap .table_wrap.spec th,
#tamaya .layout_common .full .text_wrap .table_wrap.spec td {
  border: 1px solid rgba(0,0,0,.1);
  padding: 1em 2em;
  font-size: 14rem;
  text-align: center;
}
#tamaya .layout_common .full .slideshow {
  margin: 0 auto;
  max-width: 960px;
}
#tamaya .layout_common .full .slideshow li { position: relative; }
#tamaya .layout_common .full .slideshow li img { display: block; }
/* mini */
#tamaya .layout_common .mini .text_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
#tamaya .layout_common .mini .text_wrap h4 { margin: 1em 0; }
#tamaya .layout_common .mini .text_wrap p.small {
  font-size: 12rem;
  margin-top: 1em;
  line-height: 2;
}
#tamaya .layout_common .mini .slideshow {
  display: flex;
  justify-content: center;
}
#tamaya .layout_common .mini .slideshow li { position: relative; }
#tamaya .layout_common .mini .slideshow li { height: 600px; }
#tamaya .layout_common .mini .slideshow li img {
  display: block;
  width: auto;
  height: 100%;
}
/* bnr */
#tamaya .layout_common .bnr ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#tamaya .layout_common .bnr ul li { width: 50%; }
#tamaya .layout_common .bnr ul li a {
  display: block;
  width: calc(100% - 80px);
  margin: 0 auto;
  text-decoration: none;
}
#tamaya .layout_common .bnr ul li .img_wrap {
  position: relative;
  height: 260px;
  border-radius: 3px;
  overflow: hidden;
}
#tamaya .layout_common .bnr ul li .img_wrap img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%,-50%);
}
#tamaya .layout_common .bnr ul li .text_wrap p {
  margin-top: 1em;
  text-align: center;
  line-height: 2;
}

/* layout_map */
#tamaya .layout_map #map_canvas {
  width: 100%;
  height: 500px;
}

/* bnr_wrap */
#tamaya .layout_plan .bnr_wrap {
  padding: 0 0 80px 0;
  border-top: none;
}
#tamaya .bnr_wrap {
  display: flex;
  justify-content: center;
  padding: 80px;
  border-top: 1px solid rgba(0,0,0,.1);
}
#tamaya .bnr_wrap a {
  width: 640px;
  padding: 40px;
  color: #fff;
  text-decoration: none;
  background-size: 1024px 1024px;
  background-repeat: repeat;
  background-position: center;
  background-image: url(https://www.tamaya-ryokan.jp/images/img_bnr_bg.jpg);
  border-radius: 3px;
}
#tamaya .bnr_wrap a > div {
  display: flex;
  justify-content: center;
}
#tamaya .bnr_wrap a img { display: block; }
#tamaya .bnr_wrap a p {
  margin-top: .75em;
  font-size: 24rem;
  line-height: 1.5;
  text-align: center;
}

/* rakuten_bnr */
#RthCustomizeW .rakuten_bnr {
  display: flex;
  justify-content: center;
  padding: 20px 0;
}
#RthCustomizeW .rakuten_bnr a { display: block; }
#RthCustomizeW .rakuten_bnr a img { display: block; }

/* premium_bnr */
.premium_bnr .inner {
  display: flex;
  justify-content: center;
  padding: 80px 6.25vw 0 6.25vw;
}
.premium_bnr a { text-decoration: none; }
.premium_bnr img {
  display: block;
  width: 50vw;
  max-width: 700px;
}