@charset "UTF-8";
/*-------------------------
 #page_ttl
-------------------------*/
#page_ttl h2 {
  position: relative;
  background: url(../images/ph_main.jpg) top center no-repeat;
  background-size: cover;
}

/*-------------------------
 #intro
-------------------------*/
#intro .copy b span {
  display: inline-block;
  font-size: 4rem;
  line-height: 1;
  margin: 0 3px;
}

/*-------------------------
 #price
-------------------------*/
#price {
  position: relative;
}
#price .inner {
  padding: 0 40px 0 40px;
}
@media screen and (max-width: 620px) {
  #price .inner {
    padding: 0 5% 0 5%;
  }
}
#price h3 {
  font-size: 2.4rem;
  font-weight: 900;
  margin-bottom: 5px;
}
#price h3 span {
  display: inline-block;
  vertical-align: middle;
}
#price h3 img {
  display: inline-block;
  width: 30px;
  height: 30px;
  vertical-align: middle;
  margin-right: 5px;
}
#price .detail {
  margin-bottom: 50px;
}
#price .detail table {
  width: 100%;
  border: solid #AEAEAE 1px;
  border-collapse: collapse;
  margin-bottom: 15px;
}
#price .detail table th {
  font-size: 1.4rem;
  color: white;
  background-color: #2A1802;
}
#price .detail table td {
  background-color: white;
}
#price .detail table td b {
  font-family: "Century Gothic", "Zen Kaku Gothic New", sans-serif;
  font-size: 2.2rem;
  padding-right: 3px;
}
#price .detail table th, #price .detail table td {
  border: solid #AEAEAE 1px;
  line-height: 1.1;
  text-align: center;
  vertical-align: middle;
  padding: 10px 0;
}
#price .detail table th {
  font-size: 1.2rem;
  color: white;
}
#price .detail table th b {
  font-size: 2.2rem;
}
#price .detail .note {
  line-height: 1.4;
  margin-left: 1.25rem;
}
#price .detail .note li {
  text-indent: -1.25rem;
  margin-bottom: 10px;
}
#price .detail .note li::before {
  content: "・";
}
#price #list table {
  width: 100%;
  border: solid #AEAEAE 1px;
  border-collapse: collapse;
  margin-bottom: 15px;
}
#price #list table tr:first-of-type th {
  width: calc(50% - 100px);
}
#price #list table tr:first-of-type th:first-child {
  width: 100px;
}
#price #list table td span {
  display: block;
  width: 8rem;
  font-weight: 900;
  text-align: right;
  margin: 0 auto;
}
#price #list table tr.kihon th {
  background-color: #D48E26;
}
#price #list table tr.short th {
  background-color: #C61B17;
}
#price #list table tr.long th {
  background-color: #613703;
}
#price #list table tr.night th {
  background-color: #081D61;
}
#price #rental table tr th {
  width: 160px;
  font-size: 1.4rem;
}
#price #rental table tr th span {
  font-size: 1.2rem;
}
#price #rental table tr td {
  font-weight: 900;
}
#price #rental table tr td span {
  display: block;
  width: 6rem;
  text-align: right;
  margin: 0 auto;
}
#price #pay .box {
  background-color: white;
  border-radius: 15px;
  padding: 20px 20px;
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
}
#price #pay .box h4 {
  font-size: 1.5rem;
  font-weight: bold;
}
#price #pay .box h4.line {
  border-top: dotted gray 1px;
  padding-top: 15px;
}
#price #pay .box p {
  margin-bottom: 15px;
}
#price #pay .box .note li {
  margin-bottom: 5px;
}
#price #precautions h3 {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 20px;
}
#price .bottom_bg {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 65px;
}
#price .bottom_bg:before {
  display: block;
  content: "";
  width: 150%;
  height: 500px;
  background-color: white;
  border-radius: 50% 50% 0 0;
  position: absolute;
  left: -25%;
  top: 0;
}

#first .inner {
  padding: 0 40px 60px 40px;
}
@media screen and (max-width: 620px) {
  #first .inner {
    padding: 0 5% 15% 5%;
  }
}
#first h3 {
  font-size: 2.8rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 25px;
}
#first h3 img {
  display: inline-block;
  width: 25px;
  height: auto;
}
#first .box > li {
  background-color: #f3f3f3;
  border-radius: 10px;
  padding: 25px;
  margin-bottom: 55px;
  position: relative;
}
#first .box > li::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 13px solid transparent;
  border-left: 13px solid transparent;
  border-top: 20px solid #FBC64A;
  border-bottom: 0;
  position: absolute;
  bottom: -40px;
  left: calc(50% - 13px);
}
#first .box > li:last-of-type {
  margin-bottom: 30px;
}
#first .box > li:last-of-type::after {
  display: none;
}
#first .box > li h4 {
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: 10px;
}
#first .box > li h4 span {
  display: inline-block;
  font-size: 1.8rem;
  color: white;
  background-color: #FBC64A;
  border-radius: 5px;
  padding: 0 10px;
  margin-right: 10px;
}
#first .box > li .ph {
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 15px;
}
#first .box > li .ph li {
  border-radius: 15px;
  overflow: hidden;
}
#first .box > li .btn.red {
  margin-top: 10px;
}
#first .box > li dl {
  display: flex;
  flex-wrap: wrap;
  margin-top: 15px;
}
#first .box > li dl dt {
  width: 26px;
  color: white;
  background-color: #303030;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#first .box > li dl dt:last-of-type {
  margin-bottom: 0;
}
#first .box > li dl dt span {
  writing-mode: vertical-rl;
}
#first .box > li dl dd {
  width: calc(100% - 26px);
  padding-left: 5px;
  margin-bottom: 10px;
}
#first .box > li dl dd:last-of-type {
  margin-bottom: 0;
}
#first .box > li dl dd h4 {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: -0.075rem;
  color: #3f6b08;
  margin-bottom: 10px;
}
#first .box > li dl dd p {
  letter-spacing: -1px;
}
#first .faq p {
  font-size: 1.8rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 20px;
}/*# sourceMappingURL=style.css.map */