@charset "UTF-8";

.faq .sub-mv {
  background: url(../image/faq/mv@2x.webp) no-repeat center center / cover;
}

.faq .subpage-head.ttl::after {
  background-image: url(../image/faq/text_faq.png);
}

.faq .container {
  padding-bottom: 80px;
  font-size: 1rem;
  line-height: 2;
}

.faq .container h3 {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: bold;
}

.faq .content a {
  display: inline;
  text-decoration: underline;
  word-break: break-all;
}

.faq .dtl {
  border-radius: 20px;
  border: 1px solid #dcefee;
  overflow: hidden;
}

.faq .dtl + .dtl {
  margin-top: 20px;
}

.faq .sum {
  display: flex;
  align-items: flex-start;
  gap: 1em;
  width: 100%;
  padding: 20px;
  background-color: #dcefee;
  cursor: pointer;
}

.faq .sum .fa-solid {
  display: grid;
  place-content: center;
  height: 1.5em;
  margin-left: auto;
  color: #167b88;
  font-size: 1.25em;
}

.faq .sum::-webkit-.dtl-marker {
  display: none;
}

.faq .dtl .fa-minus {
  display: none;
}

.faq .dtl[open] .fa-plus {
  display: none;
}

.faq .dtl[open] .fa-minus {
  display: grid;
}

.faq .dtl span {
  color: #167b88;
  font-family: "Lora", serif;
  font-size: 1.5em;
  line-height: 1;
}

.faq .dtl span + div {
  width: calc(100% - 2.5em);
}

.con {
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: 1em;
  padding: 20px;
}

.con span {
  display: block;
}

.con p + p {
  margin-top: 20px;
}

.con .flex {
  display: flex;
  gap: 0.5em;
  flex-direction: row;
  align-items: flex-start;
}

.con .flex span {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.con .flex .term {
  flex: 0 0 auto;
}

#booking,
#lodging,
#room,
#service,
#sightseeing {
  padding-top: 85px;
}
