#osterialucca {
  display: block;
  margin: 0;
  padding: 0px 0 0 0;
  overflow: hidden;
}
#osterialucca figure {
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
}
#osterialucca figure img {
  width: 100%;
  height: auto;
  margin: 0;
}
#osterialucca figure figcaption {
  margin: 10px 0;
  font-size: 13px;
}
#osterialucca figure.mainttl {
  width: 90%;
  max-width: 960px;
  margin: 0 auto 5% auto;
  padding: 0;
}
#osterialucca figure.shefs {
  position: relative;
  width: 50%;
  margin: 0 auto;
  padding: 0;
  font-size: 0;
}
#osterialucca figure.shefs img {
  width: 100%;
  height: auto;
  margin: 0;
}
#osterialucca figure.shefs figcaption p {
  padding: 20px 25px;
  background: #fff;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.15);
  font-size: 16px;
  font-family: serif;
  text-align: center;
}
#osterialucca figure.shefs figcaption p.shaf1 {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(-40%, -70%) rotate(-5deg);
  background: url("../img/osteria/kokki.png") left top no-repeat #fff;
  background-size: 200% 3px;
}
#osterialucca figure.shefs figcaption p.shaf2 {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(30%, -130%) rotate(-5deg);
  background: url("../img/osteria/kokki.png") right top no-repeat #fff;
  background-size: 200% 3px;
}
#osterialucca figure.logo1 {
  position: absolute;
  top: 35%;
  left: 10%;
  width: 20%;
  margin: 0;
  padding: 0;
}
#osterialucca figure.logo2 {
  position: absolute;
  top: 40%;
  right: 10%;
  width: 22%;
  margin: 0;
  padding: 0;
}
#osterialucca figure.dish {
  position: relative;
  width: 100%;
  margin: -12px 0 0 0;
  padding: 0;
  font-size: 0;
}
#osterialucca figure.dish img {
  display: inline-block;
  width: 50%;
  margin: 0;
  padding: 0;
  font-size: 0;
}
#osterialucca figure.pool {
  position: relative;
  width: 100%;
  margin: 0 0 8% 0;
  padding: 0;
  font-size: 0;
}
#osterialucca figure.pool img {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 0;
}
#osterialucca .cnt {
  display: block;
  position: relative;
  margin: 0;
  padding: 5% 0;
}
#osterialucca .cnt.nmg {
  padding: 0;
}
#osterialucca .cnt.ttl {
  margin: 0;
  padding: 8% 0 0 0;
  background: url("../img/osteria/bg_ttl.jpg") center top no-repeat #fff;
  background-size: cover;
  color: #000000;
  color: #000000;
  font-size: 0;
}
#osterialucca .cnt.ttl::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 10px;
  background: url("../img/osteria/kokki.png") center top repeat-y;
  background-size: cover;
  content: "";
}
#osterialucca .cnt.intro {
  margin: 5% 0;
}
#osterialucca .cnt.intro::after {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  width: 75%;
  height: 96%;
  transform: translate(0, 0);
  background: #dcf3e6;
  content: "";
}
#osterialucca .cnt.intro2 {
  margin: 5% 0;
}
#osterialucca .cnt.intro2::after {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 45%;
  height: 96%;
  transform: translate(0, 0);
  background: #f8e8ea;
  content: "";
}
#osterialucca .mds {
  margin: 0 0 1em 0;
  padding: 0;
  font-size: 28px;
  line-height: 1.6;
  font-family: serif;
}
#osterialucca .mds.lrg {
  font-size: 34px;
  line-height: 1.6;
}
#osterialucca .mds span {
  width: 6em;
  margin: 0 0 1em 0;
  padding: 5px 10px 2px 10px;
  border-radius: 20px;
  background: #fff;
  background: #E0030A;
  color: #fff;
  font-style: normal;
  font-size: 16px;
  line-height: 1.6;
  font-family: sans-serif;
  text-align: center;
}
#osterialucca .mds.kokki_f {
  position: relative;
}
#osterialucca .mds.kokki_f::before {
  display: block;
  width: 3em;
  height: 5px;
  margin: 0 0 1em 0;
  background: url("../img/osteria/kokki.png") left top repeat-y;
  background-size: 200%;
  content: "";
}
#osterialucca .mds.kokki_i {
  position: relative;
}
#osterialucca .mds.kokki_i::before {
  display: block;
  width: 3em;
  height: 5px;
  margin: 0 0 1em 0;
  background: url("../img/osteria/kokki.png") right top repeat-y;
  background-size: 200%;
  content: "";
}
#osterialucca .mds.kokki_i.txc::before {
  width: 2em;
  margin: 0 auto 1em auto;
}
#osterialucca p {
  margin: 0 0 1em 0;
  font-size: 16px;
  line-height: 1.8;
  font-family: serif;
}
#osterialucca p.lead {
  margin: 0 0 5% 0;
  font-size: 20px;
  line-height: 1.8;
  font-family: serif;
}
#osterialucca p.lead.lrg {
  font-size: 24px;
  line-height: 2;
}
#osterialucca p.lead.sml {
  font-size: 18px;
  line-height: 2;
}
#osterialucca p.lead.lh2 {
  line-height: 2;
}
#osterialucca p.tel {
  display: block;
  margin: 0;
}
#osterialucca p.tel .tel_num {
  margin: 0 5px;
  font-size: 24px !important;
}
#osterialucca p.tel .tel_num a {
  color: #E0030A;
  text-decoration: underline;
}
#osterialucca .wrapper {
  width: 90%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0;
}
#osterialucca .wrapper.wide {
  max-width: 1200px;
}
#osterialucca .wrapper.xwide {
  max-width: none;
}
#osterialucca .column {
  box-sizing: content-box;
  display: block;
  position: relative;
  margin: 0 -5% 0 0;
  padding: 0 0 0 0;
  clear: both;
  font-size: 0;
  text-align: center;
}
#osterialucca .column::after {
  display: block;
  clear: both;
  content: "";
}
#osterialucca .column.mgn {
  margin: 5% -5% 5% 0;
}
#osterialucca .column .row {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0 5% 0 0;
  font-size: 18px;
  text-align: left;
  vertical-align: top;
}
#osterialucca .column .row.vmid {
  vertical-align: middle;
}
#osterialucca .column .row.wht {
  color: #fff;
}
#osterialucca .column .row.w2 {
  width: 50%;
}
#osterialucca .column .row.w3 {
  width: 33.33%;
}
#osterialucca .column .row.w3_2 {
  width: 66.66%;
}
#osterialucca .column .row.fltr {
  float: right;
}
#osterialucca .column .row.fltl {
  float: left;
}
#osterialucca dl.detail_list {
  display: block;
  margin: 0 0 3% 0;
  padding: 0;
  font-size: 0;
  text-align: left;
}
#osterialucca dl.detail_list.nomgn {
  margin: 0;
}
#osterialucca dl.detail_list dt {
  display: inline-block;
  width: 9em;
  margin: 0;
  padding: 0 0 10px 0;
  font-weight: normal;
  font-size: 18px;
  font-family: serif;
  vertical-align: top;
  white-space: nowrap;
}
#osterialucca dl.detail_list dd {
  display: inline-block;
  width: calc(100% - 9em);
  margin: 0;
  padding: 0 0 10px 0;
  font-size: 18px;
  font-family: serif;
  vertical-align: top;
}
#osterialucca dl.detail_list dd p {
  margin: 0 0 4px 0;
  font-weight: 400;
  line-height: 1.8 !important;
  text-align: left;
}
#osterialucca dl.detail_list dd p.tel {
  font-size: 18px;
}
#osterialucca dl.detail_list dd p.tel .tel_num {
  font-size: 18px;
}
#osterialucca dl.detail_list dd .txtlist {
  margin: 0;
}
#osterialucca dl.detail_list dd .scrl {
  margin: 10px 0;
  padding: 0;
}
#osterialucca dl.detail_list.bdr {
  border-bottom: 1px solid #eee;
}
#osterialucca dl.detail_list.bdr dt {
  padding: 20px 0;
  border-top: 1px solid #eee;
}
#osterialucca dl.detail_list.bdr dd {
  padding: 20px 0;
  border-top: 1px solid #eee;
}
#osterialucca .shefslist {
  box-sizing: border-box;
  display: block;
  margin: 2% -5% 5% 0;
  padding: 0;
  font-size: 0;
  list-style: none;
  text-align: center;
}
#osterialucca .shefslist li {
  box-sizing: border-box;
  display: inline-block;
  width: 33.33%;
  margin: 0;
  padding: 0 5% 5% 0;
  text-align: center;
  vertical-align: top;
}
#osterialucca .shefslist li figure {
  display: block;
  width: 50%;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 50%;
}
#osterialucca .shefslist li figure img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  transition: all 0.3s ease;
}
#osterialucca .shefslist li figure figcaption {
  display: block;
  width: 100%;
  margin: 0;
  padding: 30px 0 0 0;
}
#osterialucca .shefslist li .inner {
  display: block;
  margin: 0;
  padding: 20px 0 0 0;
}
#osterialucca .shefslist li .inner h3 {
  margin: 0 0 0.8em 0;
  font-weight: normal;
  font-size: 20px;
  font-family: serif;
}
#osterialucca .shefslist li .inner h3 span {
  font-size: 28px;
}
#osterialucca .shefslist li .inner h3 span.en {
  display: block;
  font-weight: normal;
  font-size: 14px;
}
#osterialucca .shefslist li .inner p {
  margin: 0;
  font-size: 14px;
  line-height: 2;
  text-align: left;
}
#osterialucca .shefslist li .inner a {
  color: #e02a2a;
}
#osterialucca .shefslist li .inner a:hover {
  text-decoration: underline;
}
@media (max-width: 680px) {
  #osterialucca {
    padding: 0 0 0 0;
  }
  #osterialucca figure.shefs {
    width: 70%;
  }
  #osterialucca figure.shefs figcaption p {
    padding: 5px 10px;
    font-size: 11px;
  }
  #osterialucca figure.shefs figcaption p.shaf1 {
    transform: translate(-20%, -20%) rotate(-5deg);
  }
  #osterialucca figure.shefs figcaption p.shaf2 {
    transform: translate(20%, -10%) rotate(-5deg);
  }
  #osterialucca figure.logo1 {
    left: 5%;
  }
  #osterialucca figure.logo2 {
    right: 5%;
  }
  #osterialucca .cnt.ttl::before {
    height: 5px;
    background-size: cover;
  }
  #osterialucca .cnt.intro::after {
    width: 80%;
    height: 28%;
  }
  #osterialucca .cnt.intro2::after {
    top: inherit;
    bottom: 0;
    width: 80%;
    height: 30%;
    transform: translate(0, 0);
  }
  #osterialucca .mds {
    font-size: 20px;
  }
  #osterialucca .mds.lrg {
    font-size: 28px;
  }
  #osterialucca .mds span {
    font-size: 14px;
  }
  #osterialucca p {
    font-size: 14px;
  }
  #osterialucca p.lead.lrg {
    font-size: 18px;
  }
  #osterialucca p.lead.sml {
    font-size: 16px;
  }
  #osterialucca p.lead {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0;
  }
  #osterialucca p.lead br {
    display: none;
  }
  #osterialucca p.tel {
    font-size: 18px;
  }
  #osterialucca p.tel .tel_num {
    font-size: 20px;
  }
  #osterialucca p.tel .tel_num a {
    font-size: 20px;
  }
  #osterialucca .column .row.w3 {
    width: 100%;
  }
  #osterialucca .column .row.w3_2 {
    width: 100%;
  }
  #osterialucca .column .row.fltr {
    float: none;
  }
  #osterialucca .column .row.fltl {
    float: none;
  }
  #osterialucca .column .row figure {
    margin: 0 0 5% 0;
  }
  #osterialucca dl.detail_list dt {
    display: block;
    width: inherit;
    padding: 0;
  }
  #osterialucca dl.detail_list dd {
    display: block;
    width: inherit;
    padding: 0;
    border-top: none;
    font-size: 14px;
  }
  #osterialucca dl.detail_list dd p {
    font-size: 14px;
  }
  #osterialucca dl.detail_list dd p.tel {
    font-size: 14px;
  }
  #osterialucca dl.detail_list dd p.tel .tel_num {
    font-size: 14px;
  }
  #osterialucca dl.detail_list.bdr dt {
    display: block;
    width: inherit;
    padding: 10px 0 0 0;
  }
  #osterialucca dl.detail_list.bdr dd {
    display: block;
    width: inherit;
    padding: 0 0 10px 0;
    border: none;
  }
  #osterialucca .shefslist li {
    display: block;
    width: 100%;
    padding: 0 5% 15% 0;
    font-size: 0;
    text-align: left;
  }
  #osterialucca .shefslist li .inner {
    display: block;
    padding: 5%;
  }
  #osterialucca .shefslist li .inner h3 {
    font-size: 16px;
    text-align: center;
  }
  #osterialucca .shefslist li .inner p {
    font-size: 14px;
  }
  #osterialucca .shefslist li .inner p br {
    display: none;
  }
  #osterialucca .shefslist li .inner .btn {
    display: block;
    text-align: left;
  }
}
@media (max-width: 834px) {
  #osterialucca p.lead {
    font-size: 18px;
    text-align: left;
  }
  #osterialucca .column .row.w2 {
    width: 100%;
  }
}
/*-------------------------ホテル一覧------------------------*/
.special_hotellist {
  margin: 0;
  padding: 3em 0 0;
  background: #ddd;
  display: block;
}

.special_hotellist #hotellist {
  width: 880px;
  margin: 0 auto;
  padding: 0 40px 2em;
}

.special_hotellist #hotellist h2 {
  text-align: center;
  font-size: 22px;
  color: #000;
}

.special_hotellist #hotellist .flexslider a {
  font-size: 0.8em;
}

@media (max-width: 880px) {
  .special_hotellist #hotellist {
    width: 80%;
  }
}
@media (max-width: 680px) {
  .special_hotellist #hotellist {
    width: 70%;
  }
}