@charset "UTF-8";
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	スタイル
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#contents #imamukashi_cont {
  overflow: hidden;
  padding: 25px 0 43px;
  background: #fffad9 url(/info/img/contents_bg.png) no-repeat 0 0;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #contents #imamukashi_cont {
    background-position: 50% 0;
    padding-top: 0;
  }
}
#contents #map_cont {
  position: relative;
  background: url(/info/img/map_img.png) no-repeat 234px 60px;
  margin-bottom: 16px;
}
#contents #map_cont .intro {
  position: relative;
  top: -18px;
  left: 52px;
}
#contents #map_cont .ballon li {
  position: absolute;
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  line-height: 16px;
  padding-top: 12px;
}
#contents #map_cont .ballon li:first-of-type {
  top: 82px;
  left: 718px;
  width: 143px;
  height: 115px;
  background: url(/info/img/map_ballon01_d.png) no-repeat 0 0;
}
#contents #map_cont .ballon li:nth-of-type(2) {
  top: 268px;
  left: 302px;
  width: 142px;
  height: 116px;
  padding-top: 27px;
  background: url(/info/img/map_ballon01_u.png) no-repeat 0 0;
}
#contents #map_cont .ballon li:nth-of-type(3) {
  top: 180px;
  left: 516px;
  width: 143px;
  height: 88px;
  padding-left: 16px;
  background: url(/info/img/map_ballon02.png) no-repeat 0 0;
}
#contents #map_cont .ballon li:nth-of-type(4) {
  top: 150px;
  left: 254px;
  width: 143px;
  height: 88px;
  padding-right: 16px;
  background: url(/info/img/map_ballon03.png) no-repeat 0 0;
}
#contents #map_cont .ballon li:nth-of-type(5) {
  top: 39px;
  left: 482px;
  width: 143px;
  height: 104px;
  background: url(/info/img/map_ballon04.png) no-repeat 0 0;
}
#contents #map_cont .ballon li img {
  margin-bottom: 4px;
}
#contents #map_cont .ballon li span {
  display: block;
  font-size: 12px;
  font-weight: normal;
}
#contents #map_cont .place_info {
  position: absolute;
  right: 0;
  bottom: 12px;
  width: 293px;
}
@media screen and (max-width: 767px) {
  #contents .map_cont_pc {
    display: none;
  }
}
#contents .map_cont_sp {
  height: 0;
  margin: 0 auto;
  padding-top: 122%;
  position: relative;
}
@media screen and (min-width: 768px) {
  #contents .map_cont_sp {
    display: none;
  }
}
#contents .map_cont_sp img {
  width: 100%;
}
#contents .map_cont_sp_ttl, #contents .map_cont_sp_intro, #contents .map_cont_sp_map, #contents .map_cont_sp_place {
  position: absolute;
}
#contents .map_cont_sp_ttl {
  max-width: 35%;
  top: 0;
  left: 0;
}
#contents .map_cont_sp_intro {
  max-width: 59.375%;
  top: 6%;
  right: 2.34%;
}
#contents .map_cont_sp_map {
  width: 100%;
  top: 32%;
  left: 0;
}
#contents .map_cont_sp_place {
  width: auto;
  top: 69%;
  left: 0;
  right: 0;
}
#contents #map_explanation {
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  #contents #map_explanation {
    padding: 0 10px;
  }
}
#contents #map_explanation ol {
  overflow: hidden;
  width: 920px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #contents #map_explanation ol {
    width: auto;
    max-width: 600px;
  }
}
#contents #map_explanation li {
  width: 440px;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  #contents #map_explanation li {
    width: 100%;
    margin-bottom: 15px;
  }
}
#contents #map_explanation li:nth-of-type(odd) {
  float: left;
}
#contents #map_explanation li:nth-of-type(even) {
  float: right;
}
#contents #map_explanation li dt {
  margin-bottom: 10px;
}
#contents #map_explanation li dt img {
  width: 440px;
  height: auto;
}
@media screen and (max-width: 767px) {
  #contents #map_explanation li dt img {
    width: 100%;
    height: auto;
  }
}
#contents #map_explanation li dd {
  padding: 0 12px;
}
@media screen and (max-width: 767px) {
  #contents #map_explanation li dd {
    padding: 0 3.33%;
  }
}
#contents #map_explanation li dd ul {
  overflow: hidden;
  margin-bottom: 6px;
}
#contents #map_explanation li dd li {
  width: 200px;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #contents #map_explanation li dd li {
    width: 47.8%;
  }
}
#contents #map_explanation li dd li img {
  width: 200px;
  height: 140px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  #contents #map_explanation li dd li img {
    width: 100%;
    height: auto;
  }
}
#contents #map_explanation li dd p {
  clear: both;
  color: #333;
  font-size: 13px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #contents #map_explanation li dd p br {
    display: none;
  }
}
#contents .reserve {
  display: table;
  width: 828px;
  background: #fff;
  border: solid 2px #ffae00;
  border-radius: 5px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #contents .reserve {
    display: block;
    width: 93.75%;
  }
}
#contents .reserve::after {
  content: '';
  display: block;
  clear: both;
}
#contents .reserve__ico, #contents .reserve__description, #contents .reserve__info {
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  #contents .reserve__ico, #contents .reserve__description, #contents .reserve__info {
    display: block;
    float: left;
  }
}
#contents .reserve__ico {
  width: 105px;
  padding: 15px 0 15px 15px;
}
@media screen and (max-width: 767px) {
  #contents .reserve__ico {
    margin-top: 1.3%;
  }
}
@media screen and (max-width: 375px) {
  #contents .reserve__ico {
    margin-top: 5%;
  }
}
#contents .reserve__ttl {
  display: table;
  width: 91px;
  height: 91px;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  background: url(/info/img/reserve_title_bg.png);
}
#contents .reserve__ttl span {
  display: table-cell;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  #contents .reserve__ttl {
    width: 80px;
    height: 80px;
    font-weight: normal;
    font-size: 13px;
    background-size: 100% 100%;
  }
}
#contents .reserve__description {
  width: 500px;
  font-size: 13px;
  line-height: 1.4;
  color: #333;
  padding: 0 15px;
}
@media screen and (max-width: 767px) {
  #contents .reserve__description {
    width: 82%;
    font-size: 12px;
    padding: 15px 15px 0 0;
  }
}
@media screen and (max-width: 640px) {
  #contents .reserve__description {
    width: 80%;
  }
}
@media screen and (max-width: 639px) {
  #contents .reserve__description {
    width: 71%;
  }
}
@media screen and (max-width: 413px) {
  #contents .reserve__description {
    width: 66%;
  }
}
@media screen and (max-width: 374px) {
  #contents .reserve__description {
    width: 63%;
  }
}
#contents .reserve__description__txt, #contents .reserve__description__btn {
  display: table-cell;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  #contents .reserve__description__txt, #contents .reserve__description__btn {
    display: block;
  }
}
#contents .reserve__description__txt {
  width: 240px;
  padding-right: 15px;
}
@media screen and (max-width: 767px) {
  #contents .reserve__description__txt {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #contents .reserve__description__btn {
    margin-top: 10px;
  }
}
#contents .reserve__description__btn a {
  display: block;
  width: 215px;
  height: 43px;
  font-weight: bold;
  line-height: 43px;
  font-size: 15px;
  color: #fff;
  text-align: center;
  background: url(/info/img/pdf_icon.png) no-repeat 7% 50%, url(/info/img/reserve_btn_arrow.png) no-repeat 93% 50%, url(/info/img/reserve_btn_bg.png) repeat-x 0 0;
  -webkit-transition: .3s;
  transition: .3s;
}
@media screen and (max-width: 767px) {
  #contents .reserve__description__btn a {
    width: 100%;
    height: 35px;
    font-weight: normal;
    font-size: 12px;
    line-height: 35px;
    background-size: 15px, 6px, auto 100%;
  }
}
#contents .reserve__description__btn a:hover {
  opacity: .6;
}
@media screen and (max-width: 767px) {
  #contents .reserve__description br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #contents .reserve__description br:last-of-type {
    display: inline;
  }
}
#contents .reserve__info {
  width: 223px;
  background: #f2f2f2;
  padding: 0 15px;
}
@media screen and (max-width: 767px) {
  #contents .reserve__info {
    width: 100%;
    margin-top: 15px;
  }
}
#contents .reserve__info__table {
  color: #333;
}
@media screen and (max-width: 767px) {
  #contents .reserve__info__table {
    display: table;
    width: 100%;
    padding: 10px 0;
  }
}
@media screen and (max-width: 767px) {
  #contents .reserve__info__header, #contents .reserve__info__data {
    display: table-cell;
    vertical-align: middle;
  }
}
#contents .reserve__info__header {
  font-size: 12px;
  border-bottom: solid 1px #666;
  padding-bottom: 3px;
}
@media screen and (max-width: 767px) {
  #contents .reserve__info__header {
    width: 25%;
    border-right: solid 1px #666;
    border-bottom: none;
    padding-right: 10px;
  }
}
@media screen and (max-width: 413px) {
  #contents .reserve__info__header {
    font-size: 11px;
  }
}
@media screen and (max-width: 374px) {
  #contents .reserve__info__header {
    width: 30%;
  }
}
@media screen and (min-width: 768px) {
  #contents .reserve__info__header br {
    display: none;
  }
}
#contents .reserve__info__data {
  margin-top: 6px;
}
@media screen and (max-width: 767px) {
  #contents .reserve__info__data {
    width: 75%;
    padding-left: 10px;
  }
}
@media screen and (max-width: 374px) {
  #contents .reserve__info__data {
    width: 70%;
  }
}
#contents .reserve__info__name {
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  #contents .reserve__info__name {
    font-size: 12px;
  }
}
@media screen and (max-width: 413px) {
  #contents .reserve__info__name {
    font-size: 11px;
  }
}
#contents .reserve__info__tel, #contents .reserve__info__fax {
  font-size: 18px;
  line-height: 1.1;
  letter-spacing: .03em;
  margin-top: 3px;
}
@media screen and (max-width: 767px) {
  #contents .reserve__info__tel, #contents .reserve__info__fax {
    display: inline;
    font-size: 12px;
    letter-spacing: normal;
    margin-top: 0;
  }
}
@media screen and (max-width: 413px) {
  #contents .reserve__info__tel, #contents .reserve__info__fax {
    font-size: 11px;
  }
}
@media screen and (max-width: 374px) {
  #contents .reserve__info__tel, #contents .reserve__info__fax {
    display: block;
    margin-top: 3px;
  }
}
@media screen and (max-width: 767px) {
  #contents .reserve__info__tel:first-child, #contents .reserve__info__fax:first-child {
    padding-right: 10px;
  }
}
