@charset "UTF-8";

.pc_only{
  display:block;
}

.sp_only{
  display:none;
}

header h1{
  max-width: 1040px;
  margin: 15px auto 30px;
}

nav{
  width: 100%;
  display: block;
  margin: 0 auto 15px;
}

nav ul{
  display: flex;
  max-width: 1040px;
  margin: auto;
  padding: 0;
  justify-content: space-around;
}

nav ul li{
  list-style: none;
}

nav ul li a span{
  display: none;
}

nav ul li a{
  color: #000;
  text-decoration: none;
  font-size: 2.2rem;
}

nav ul li a:hover{
  text-decoration: underline;
}

.top_slider{
  width: 100%;
  margin: auto auto 100px;
  background-color: #eaeaea;
  padding: 15px 0;
  border-top: 1px solid #969696;
  border-bottom: 1px solid #969696;
}

.top_slider div img{
  width: 100%;
}

.title{
  text-align: center;
  margin: 0 0 70px;
}

.title.sub{
  margin: 0 0 30px;
}

.title h1{
  font-size: 2.2rem;
  color: #a27e39;
  border-bottom: 2px solid #a27e39;
  display: inline-block;
  text-align: center;
  padding: 0 22px 20px;
}

.title h1 span{
  display: block;
  margin-top: 20px;
  font-size: 2.5rem;
}

.sub_title{
  text-align: center;
  margin: 0 0 40px;
}

.sub_title h2{
  font-size: 2rem;
  font-weight: bold;
}

.sub_title p{
  font-size: 1.6rem;
  font-weight: bold;
  color: #a27e39;
}

.txt{
  width: 625px;
  margin: auto auto 70px;
}

.txt p{
  font-size: 1.8rem;
  line-height: 2;
}

/*room*/

#room .img.no01{
  max-width: 720px;
  margin: auto auto 100px;
}

#room .img.no02{
  width: 990px;
  margin: auto auto 150px;
}

#room .img.no02.flex{
  justify-content: space-between;
}

#room .img.no02.flex div{
  width: 494px;
  margin-bottom: 2px;
}

.btn.panorama{
  width: 100%;
  max-width: 400px;
  margin: auto auto 150px;
  text-align: center;
}

.btn.panorama a{
  display: block;
  width: 100%;
  border: 3px solid #000;
  border-radius: 10px;
  text-decoration: none;
  font-size: 2.2rem;
  padding: 20px 20px 20px 0;
  z-index: 1;
  position: relative;
}

.btn.panorama a:hover{
  text-decoration: underline;
  opacity: 0.7;
}

.btn.panorama a i{
  display: inline-block;
}

.btn.panorama a i::after{
  display: inline-block;
  content: "";
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 17px;
  height: 28px;
  background-image: url(../img/arrow.png);
  background-position: center;
  background-size: cover;
  z-index: 10;
}

#room .img.no03{
  max-width: 830px;
  width: 100%;
  margin: auto auto 100px;
}

#room .img.no04{
  max-width: 580px;
  width: 100%;
  margin: auto auto 100px;
}

#room .img.no04 p{
  font-size: 2rem;
  text-align: center;
  margin: 25px auto auto;
}

#room .img.no05{
  max-width: 725px;
  width: 100%;
  margin: auto auto 100px;
}

#dining h2{
  text-align: center;
  font-size: 2rem;
  line-height: 1.8;
  margin-bottom: 20px;
}

#dining .txt{
  width: 700px;
}

#dining .dining_slider{
  width: 100%;
  max-width: 830px;
  margin: auto auto 100px;
}

#dining .dining_slider .slick-prev,
#dining .dining_slider .slick-next{
  display: block;
  width: 42px;
  height: 51px;
}

#dining .dining_slider .slick-prev{
  left: -60px;
}

#dining .dining_slider .slick-next{
  right: -60px;
}

#dining .dining_slider .slick-prev::before,
#dining .dining_slider .slick-next::before{
  display: block;
  content: "";
  width: 42px;
  height: 51px;
  background-position: center;
  background-size: cover;
  opacity: 1!important;
}

#dining .dining_slider .slick-prev::before{
  background-image: url(../img/prev.png)!important;
}

#dining .dining_slider .slick-next::before{
  background-image: url(../img/next.png)!important;
}

#dining .markup{
  text-align: center;
  margin: auto auto 35px;
}

#dining .markup p{
  font-size: 1.8rem;
}

#dining .dining_room .txt{
  width: 750px;
}

#dining .dining_room .img{
  width: 100%;
  max-width: 988px;
  margin: auto auto 140px;
}

#facility .box01,
#facility .box02,
#facility .box03,
#facility .box04{
  width: 100%;
  max-width: 988px;
  margin: auto auto 25px;
}

#facility .box01 .img{
  width: 100%;
  max-width: 494px;
}

#facility .box01 .txt{
  width: 100%;
  max-width: 494px;
  margin: 0;
  padding-left: 55px;
}

#facility .box01.flex{
  align-items: flex-start;
}

#facility .box03 p,
#facility .box04 p{
  font-size: 1.8rem;
  line-height: 2;
  margin-bottom: 20px;
}

#facility .box03{
  margin-bottom: 140px;
}

#facility .box04 p{
  margin: 20px auto;
}

#facility .box04{
  margin-bottom: 140px;
}

#information .running h2,
#information .initial h2{
  text-align: center;
  margin-bottom: 25px;
  font-size: 2.5rem;
  font-weight: normal;
}

#information .running,
#information .initial{
  width: 100%;
  max-width: 944px;
  margin: auto auto 55px;
}

#information .running table,
#information .initial table{
  width: 100%;
  max-width: 944px;
  margin: auto auto 30px;
  border-collapse: collapse;
  border: 2px solid #a27e39;
}

#information .running table th.price,
#information .initial table th.price{
  background-color: #a27e39;
  color: #fff;
  font-size: 2.5rem;
  text-align: center;
  vertical-align: middle;
  padding: 0;
}

#information .running table th,
#information .running table td,
#information .initial table th,
#information .initial table td{
  font-size: 2rem;
  font-weight: normal;
  padding: 20px 0 20px 25px;
  border: 1px solid #a27e39;
  text-align: left;
}

#information .running table th,
#information .initial table th{
  background-color: #dcd6d2;
  width: 180px;
}

#information .running p{
  font-size: 2rem;
}

#information .initial table{
  margin-bottom: 5px;
}

#information .initial table.contract{
  margin-bottom: 55px;
}

#information .initial table.contract tr td.first{
  width: 180px;
}

.note{
  width: 100%;
  max-width: 944px;
  margin: auto auto 100px;
  background-color: #efefef;
  padding: 25px 70px;
}

.note h2{
  border: 1px solid #000;
  text-align: center;
  font-size: 2.5rem;
  font-weight: normal;
  background-color: #c3c3c3;
  padding: 15px;
  margin-bottom: 35px;
}

.note ul{
  padding: 0;
}

.note ul li{
  list-style: none;
  font-size: 2rem;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 25px;
}

#question dl{
  width: 966px;
  margin: auto auto 140px;
}

#question dt,
#question dd{
  position: relative;
  font-size: 2rem;
  margin-bottom: 35px;
  padding: 5rem 0 10px 6rem;
}

#question dt{
  border-bottom: 1px solid #606060;
  background-image: url(../img/arrow02.png);
  background-position: right 5rem;
  background-repeat: no-repeat;
  background-size: 40px 28px;
  cursor: pointer;
}

#question dt.active{
  background-image: url(../img/arrow03.png);
}

#question dt::before,
#question dd::before{
  position: absolute;
  display: block;
  font-size: 5rem;
  left: 0;
  top: 20px;
}

#question dt::before{
  content: "Q.";
  color: #606060;
}

#question dd::before{
  content: "A.";
}

#outline .img{
  width: 348px;
  margin: auto auto 100px;
}

#outline .summary{
  width: 966px;
  margin: auto auto 140px;
}

#outline .summary table{
  width: 100%;
}

#outline .summary table tr{
  display: block;
  border-bottom: 1px solid #c3c3c3;
  margin-bottom: 30px;
}

#outline .summary table tr:nth-last-child(2),
#outline .summary table tr:last-child{
  padding-bottom: 15px;
}

#outline .summary table th,
#outline .summary table td{
  font-size: 1.8rem;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}

#outline .summary table th{
  width: 215px;
  padding: 0 30px 10px 0;
}

#access .gmap,
#access .access_data{
  width: 100%;
  max-width: 937px;
  margin: auto auto 45px;
}

#access .gmap iframe{
  width: 100%;
  height: 568px;
}

#access .access_data{
  border: 1px solid #7f7f7f;
  padding: 35px;
  margin-bottom: 100px;
}

#access .access_data p{
  font-size: 1.8rem;
  line-height: 2;
}

#access .access_data p span{
  font-size: 2.5rem;
}

#access .access_data p span.pc_only{
  display: inline-block;
}

#access .access_data div{
  position: relative;
  margin: 40px 0 15px;
  padding-left: 25px;
}

#access .access_data div p{
  line-height: 1;
}

#access .access_data i.human{
  position: absolute;
  display: inline-block;
  width: 21px;
  height: 40px;
  background-image: url(../img/human.png);
  background-position: center;
  background-size: cover;
  bottom: 0;
  left: 0;
}

#join .fukidashi_title{
  width: 830px;
  margin: auto auto 80px;
  text-align: center;
}

#join .fukidashi_title h1{
  position: relative;
  width: 100%;
  color: #fff;
  font-size: 2.5rem;
  background-color: #464646;
  padding: 25px 0;
}

#join .fukidashi_title h1::after{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #464646 transparent transparent transparent;
  border-width: 43.3px 25px 0px 25px;
  position: absolute;
  bottom: -43px;
  left: 0;
  right: 0;
  margin: auto;
}

#join .txt{
  width: 830px;
  margin: auto auto 80px;
}

#join .apply{
  position: relative;
  width: 595px;
  margin: auto auto 80px;
  border: 2px solid #464646;
  border-radius: 10px;
  padding: 45px 60px;
}

#join .apply::before{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #464646 transparent transparent transparent;
  border-width: 40px 34px 0px 34px;
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
  margin: auto;
}

#join .apply h2{
  font-size: 2rem;
  text-align: center;
  color: #f00;
  border-bottom: 1px solid #f00;
  width: 420px;
  margin: auto auto 30px;
}

#join .apply h3{
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 25px;
}

#join .apply h4{
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
}

#join .apply h4 span{
  display: block;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: center;
  margin: 20px auto 50px;
}

#join .apply p{
  width: 455px;
  font-size: 2rem;
}

#join .txt02{
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 30px;
}

#join .tel{
  width: 430px;
  margin: auto auto 30px;
  font-size: 3.3rem;
  text-align: center;
}

#join .tel p{
  position: relative;
}

#join .tel p::before{
  display: inline-block;
  content: "";
  width: 65px;
  height: 65px;
  position: absolute;
  background-image: url("../img/tel.png");
  background-position: center;
  background-size: cover;
  left: 30px;
  top: -10px;
}

#join .ventvert{
  text-align: center;
  margin-bottom: 30px;
}

#join .ventvert p{
  font-size: 1.8rem;
}

#join .ventvert p strong{
  font-size: 2rem;
}

#join .txt03{
  width: 670px;
  margin: auto auto 100px;
}

#join .txt03 p{
  font-size: 2rem;
}

footer address{
  background-color: #eaeaea;
  padding: 15px 20px;
}

footer address p{
  width: 100%;
  max-width: 1040px;
  margin: auto;
  font-size: 1.6rem;
}

footer address p strong{
  font-size: 2rem;
  font-weight: normal;
}

footer .copy{
  font-size: 1.5rem;
  text-align: center;
  margin: 15px auto 60px;
}