html,
article,
aside,
audio,
blockquote,
body,
dd,
dialog,
div,
dl,
dt,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
input,
li,
mark,
menu,
nav,
ol,
p,
pre,
section,
td,
textarea,
th,
time,
ul,
video,
main {
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-feature-settings: "palt";
}

a:hover {
  text-decoration: none;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

q:after,
q:before {
  content: "";
}

embed,
object {
  vertical-align: top;
}

hr,
legend {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

abbr,
acronym,
fieldset,
img {
  border: 0;
}

li {
  list-style-type: none;
}

sup {
  font-size: 0.5em;
}

img {
  vertical-align: top;
}

i {
  font-style: normal;
}

svg {
  vertical-align: middle;
}

nav,
ul {
  list-style: none;
}

.page-content {
  padding-top: calc(var(--header-height, 90px));
}
@media screen and (max-width: 767px) {
  .page-content {
    padding-top: 60px;
  }
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

#group_footer {
  margin-top: 0 !important;
}

#abi_page {
  overflow: visible !important;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  min-height: 100vh;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
.u-ib {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  #footerContainerId + .footerLogo {
    padding-bottom: 100px;
  }
}

.l-flex {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .l-flex {
    flex-direction: column;
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .l-flex.--spreverce {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 767px) {
  .l-flex.--column {
    flex-direction: row;
  }
}
.l-flex + .p-detail__txt {
  margin-top: 50px;
}

.l-flex__item {
  width: calc((100% - 24px) / 2);
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-flex__item {
    width: 100%;
  }
}

.l-flex__img {
  border-radius: 8px;
  overflow: hidden;
}

.l-flex__caption {
  border-bottom-right-radius: 8px;
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 12px;
  font-weight: 700;
  padding: 5px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.3);
}
.l-flex__caption.--black {
  background-color: transparent;
  color: #4C4C4C;
}
.l-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 24px;
  grid-row-gap: 24px;
}

.l-grid__img {
  border-radius: 8px;
}

.l-grid__item {
  position: relative;
}

.l-grid__item:first-of-type {
  grid-area: 1/1/3/2;
}
.l-grid__item:first-of-type img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-grid__caption {
  border-bottom-right-radius: 8px;
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 12px;
  font-weight: 700;
  padding: 5px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.3);
}
.l-grid__caption.--bg-black {
  background-color: rgba(0, 0, 0, 0.3);
}

.pc_none {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc_none {
    display: block;
  }
}

.sp_none {
  display: block;
}
@media screen and (max-width: 767px) {
  .sp_none {
    display: none;
  }
}

/* 旧総合TOP用の style.css「.headerContainer.pattern02 .fixingInputArea（PC常時表示）」を打ち消す
 * 総合TOP・特集記事では SP の下部「空室検索」から開くときのみ表示する
 * ------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .headerContainer.pattern02 .fixingInputArea {
    display: none !important;
  }
}

/* SP：下部「空室検索」で開く検索ガジェット（fixingInputArea）をヘッダーの「ご宿泊予約」ガジェットのデザインに合わせる
 * （既存ページ共通の金色デザインは総合TOP・特集記事＝.pattern02 のみ上書き）
 * ------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .headerContainer.pattern02 .fixingInputArea,
  .headerContainer.pattern02 .fixingInputArea .inner {
    background-color: #fff;
  }
  .headerContainer.pattern02 .fixingInputArea {
    box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.16);
  }
  .headerContainer.pattern02 .fixingInputArea .inner {
    padding: 16px 16px 12px;
  }
  .headerContainer.pattern02 .fixingInputArea .inputAreaTabs {
    display: none;
  }
  .headerContainer.pattern02 .fixingInputArea .inputArea {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 10px;
    padding: 0;
  }
  .headerContainer.pattern02 .fixingInputArea .inputArea > * {
    width: 100%;
  }
  .headerContainer.pattern02 .fixingInputArea .formLabel04 {
    order: -1;
  }
  .headerContainer.pattern02 .fixingInputArea .inputText {
    font-size: 11px;
    font-weight: 700;
    color: #4C4C4C;
    line-height: 1.4;
  }
  .headerContainer.pattern02 .fixingInputArea .inputWrapper input,
  .headerContainer.pattern02 .fixingInputArea .inputWrapper select,
  .headerContainer.pattern02 .fixingInputArea .inputWrapper .inputDisplay {
    height: 46px;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    background-color: transparent;
    font-size: 14px;
    color: #4C4C4C;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .headerContainer.pattern02 .fixingInputArea .inputWrapper .inputDisplay {
    display: flex;
    align-items: center;
    line-height: 1.4;
  }
  .headerContainer.pattern02 .fixingInputArea button.commonSummitButton02 {
    margin-top: 6px;
    height: 40px;
    border: 0;
    border-radius: 4px;
    background-color: #a5852e;
    color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 13px;
    font-weight: 700;
  }
  .headerContainer.pattern02 .fixingInputArea .closeButton {
    margin-top: 12px;
    color: #4C4C4C;
    font-size: 14px;
  }
  /* 人数／室数ポップアップの「閉じる」「この内容で設定」 */
  .headerContainer.pattern02 .fixingInputArea .inputModalButtons button {
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
}

.l-header {
  background-color: #F9F7F3;
  width: 100%;
}
@media screen and (min-width: 787px) {
  .l-header {
    top: var(--header-height, 90px);
    z-index: 9;
  }
}
@media screen and (max-width: 786px) {
  .l-header {
    z-index: 100;
    z-index: 9;
    position: fixed;
    bottom: 0;
    left: 0;
    box-shadow: 0px -3px 6px 0px rgba(0, 0, 0, 0.25);
  }
}
.l-header::before {
  position: absolute;
  content: "";
  background-size: cover;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

body {
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  body.open .l-sp {
    display: block;
    z-index: 999;
    opacity: 1;
  }
}

.l-sp {
  position: fixed;
  inset: 0;
  height: 100dvh;
  opacity: 0;
  z-index: -1;
  background: url("https://img.dormy-hotels.com/static/img/alltop/top/menu.png") no-repeat;
  background-size: cover;
  transition: 0.5s;
}
#staging .l-sp {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/top/menu.png");
}
#develop .l-sp {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/top/menu.png");
}
@media screen and (min-width: 787px) {
  .l-sp {
    display: none;
  }
}

.l-sp__menu {
  padding-top: 42%;
  max-width: 120px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.l-sp__link {
  color: #987941;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  text-align: center;
}
.l-sp__link.--top {
  background-color: #fff;
  border: 1px solid #987941;
  padding: 10px;
  border-radius: 40px;
}

@media screen and (max-width: 786px) {
  .l-header__btn {
    display: flex;
    position: relative;
    width: 42px;
    height: 16px;
  }
}
.l-header__btn.open {
  z-index: 10000;
}
.l-header__btn.open .l-header__border:nth-of-type(1) {
  transform: rotate(45deg);
}
.l-header__btn.open .l-header__border:nth-of-type(2) {
  opacity: 0;
}
.l-header__btn.open .l-header__border:nth-of-type(3) {
  transform: rotate(-45deg);
  top: 0;
}

.l-header__border {
  width: 42px;
  height: 2px;
  background-color: #987941;
  transition: 0.5s;
}
.l-header__border:nth-of-type(1) {
  position: absolute;
  top: 0;
}
.l-header__border:nth-of-type(2) {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.l-header__border:nth-of-type(3) {
  position: absolute;
  bottom: 0;
}

.l-header__inr {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 786px) {
  .l-header__inr {
    justify-content: flex-end;
    gap: 0;
  }
}

.l-header__link {
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  width: 28.3333333333%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px;
  transition: 0.5s;
  border-bottom: 4px solid transparent;
  color: #666666;
}
@media screen and (min-width: 1272px) {
  .l-header__link:hover {
    color: #987941;
    border-bottom: 4px solid #987941;
    opacity: 1;
  }
}
@media screen and (max-width: 786px) {
  .l-header__link {
    width: 25%;
    border-top: 3px solid transparent;
  }
}
.l-header__link span {
  position: relative;
  display: inline-flex;
}
.l-header__link span::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #987941;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  opacity: 0;
  transition: 0.5s;
}
.l-header__link:nth-of-type(1) span::after {
  -webkit-mask-image: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-brand.svg");
          mask-image: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-brand.svg");
}
#staging .l-header__link:nth-of-type(1) span::after {
  -webkit-mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-brand.svg");
  mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-brand.svg");
}
#develop .l-header__link:nth-of-type(1) span::after {
  -webkit-mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-brand.svg");
  mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-brand.svg");
}
.l-header__link:nth-of-type(3) span::after {
  -webkit-mask-image: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-gift.svg");
          mask-image: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-gift.svg");
}
#staging .l-header__link:nth-of-type(3) span::after {
  -webkit-mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-gift.svg");
  mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-gift.svg");
}
#develop .l-header__link:nth-of-type(3) span::after {
  -webkit-mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-gift.svg");
  mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-gift.svg");
}
.l-header__link:nth-of-type(2) span::after {
  -webkit-mask-image: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-gray-carry.svg");
          mask-image: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-gray-carry.svg");
}
#staging .l-header__link:nth-of-type(2) span::after {
  -webkit-mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-gray-carry.svg");
  mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-gray-carry.svg");
}
#develop .l-header__link:nth-of-type(2) span::after {
  -webkit-mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-gray-carry.svg");
  mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-gray-carry.svg");
}
.l-header__link:nth-of-type(4) span::after {
  -webkit-mask-image: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-glass.svg");
          mask-image: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-glass.svg");
  transition: 0.5s;
}
#staging .l-header__link:nth-of-type(4) span::after {
  -webkit-mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-glass.svg");
  mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-glass.svg");
}
#develop .l-header__link:nth-of-type(4) span::after {
  -webkit-mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-glass.svg");
  mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-glass.svg");
}
@media screen and (min-width: 1272px) {
  .l-header__link:hover span::after {
    opacity: 1;
  }
}
.l-header__link:nth-of-type(1), .l-header__link:nth-of-type(3) {
  background-color: #E7E5E2;
}
@media screen and (max-width: 786px) {
  .l-header__link:nth-of-type(1), .l-header__link:nth-of-type(3) {
    background-color: #E7E5E2;
  }
}
.l-header__link.--top {
  background-color: #fff;
  border: 1px solid #987941;
  border-radius: 40px;
}
@media screen and (max-width: 786px) {
  .l-header__link {
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    height: 64px;
    padding: 11px 0px;
    font-size: 9px;
    font-weight: 500;
    color: #666;
    border-bottom: none;
    background-color: transparent;
  }
  .l-header__link img {
    width: 24px;
    height: 24px;
  }
  .l-header__link.is-active {
    border-bottom: none;
    border-top: 3px solid #987941;
    background-color: rgba(246, 246, 246, 0.9490196078);
  }
}
.l-header__link.search {
  background: #987941;
  color: #fff;
  width: 15%;
}
@media screen and (max-width: 786px) {
  .l-header__link.search {
    width: 25%;
  }
}
.l-header__link.search p {
  transition: 0.5s;
}
@media screen and (min-width: 1272px) {
  .l-header__link.search:hover {
    color: rgba(246, 246, 246, 0.9490196078);
    background-color: #fff;
  }
  .l-header__link.search:hover p {
    color: #987941;
  }
  .l-header__link.search:hover span:after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .l-header__link p {
    letter-spacing: 0px;
  }
}

.c-width {
  max-width: 1250px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-width {
    padding: 0 20px;
  }
}
.c-width.--1520 {
  max-width: 1620px;
}
.c-width.--1568 {
  max-width: 1668px;
}

.c-ttl {
  font-size: 24px;
  font-weight: 700;
  position: relative;
  padding-left: 54px;
  line-height: 1.8;
  z-index: 1;
}
.c-ttl::before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 40px;
  height: 40px;
  background: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-purpose.svg") no-repeat;
  background-size: contain;
}
#staging .c-ttl::before {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-purpose.svg");
}
#develop .c-ttl::before {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-purpose.svg");
}
.c-ttl + .c-purpose-list {
  margin-top: 10px;
}
.c-ttl.--region {
  padding-left: 54px;
}
@media screen and (max-width: 767px) {
  .c-ttl.--region {
    padding-left: 50px;
  }
}
.c-ttl.--region::before {
  width: 48px;
  height: 48px;
  background: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-leaf.svg");
  background-size: contain;
}
#staging .c-ttl.--region::before {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-leaf.svg");
}
#develop .c-ttl.--region::before {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-leaf.svg");
}
@media screen and (max-width: 767px) {
  .c-ttl.--region::before {
    width: 40px;
    height: 40px;
  }
}
.c-ttl.--feature::before {
  width: 48px;
  height: 48px;
  background: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-carry.svg");
  background-size: contain;
}
#staging .c-ttl.--feature::before {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-carry.svg");
}
#develop .c-ttl.--feature::before {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-carry.svg");
}
@media screen and (max-width: 767px) {
  .c-ttl.--feature::before {
    width: 40px;
    height: 40px;
  }
}
.c-ttl.--brand {
  padding-left: 50px;
}
@media screen and (max-width: 767px) {
  .c-ttl.--brand {
    padding-left: 50px;
  }
}
.c-ttl.--brand::before {
  width: 48px;
  height: 48px;
  background: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-brand.svg");
  background-size: contain;
}
#staging .c-ttl.--brand::before {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-brand.svg");
}
#develop .c-ttl.--brand::before {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-brand.svg");
}
@media screen and (max-width: 767px) {
  .c-ttl.--brand::before {
    width: 38px;
    height: 38px;
  }
}
.c-ttl.--info::before {
  width: 48px;
  height: 48px;
  background: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-hotel.svg");
  background-size: contain;
}
#staging .c-ttl.--info::before {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-hotel.svg");
}
#develop .c-ttl.--info::before {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-hotel.svg");
}
@media screen and (max-width: 767px) {
  .c-ttl.--info::before {
    width: 40px;
    height: 40px;
  }
}
.c-ttl.--value {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .c-ttl.--value {
    padding-left: 0;
    padding-top: 48px;
    text-align: center;
  }
}
.c-ttl.--value::before {
  width: 48px;
  height: 48px;
  background: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-star.svg");
  background-size: contain;
}
#staging .c-ttl.--value::before {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-star.svg");
}
#develop .c-ttl.--value::before {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-star.svg");
}
@media screen and (max-width: 767px) {
  .c-ttl.--value::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.c-ttl.--value .sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-ttl.--value .sp {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl.--sns {
    padding-left: 48px;
  }
}
.c-ttl.--sns::before {
  width: 48px;
  height: 48px;
  background: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-rss.svg");
  background-size: contain;
}
#staging .c-ttl.--sns::before {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-rss.svg");
}
#develop .c-ttl.--sns::before {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-rss.svg");
}
@media screen and (max-width: 767px) {
  .c-ttl.--sns::before {
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl.--style {
    padding-left: 48px;
  }
}
.c-ttl.--style::before {
  width: 48px;
  height: 48px;
  background: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-globe.svg");
  background-size: contain;
}
#staging .c-ttl.--style::before {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-globe.svg");
}
#develop .c-ttl.--style::before {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-globe.svg");
}
@media screen and (max-width: 767px) {
  .c-ttl.--style::before {
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl.--other {
    padding-left: 48px;
  }
}
.c-ttl.--other::before {
  width: 48px;
  height: 48px;
  background: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-other.svg");
  background-size: contain;
}
#staging .c-ttl.--other::before {
  background-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-other.svg");
}
#develop .c-ttl.--other::before {
  background-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-other.svg");
}
@media screen and (max-width: 767px) {
  .c-ttl.--other::before {
    width: 40px;
    height: 40px;
  }
}
.c-ttl.--lg {
  padding-left: 56px;
  font-size: 32px;
  color: #4C4C4C;
}
@media screen and (max-width: 767px) {
  .c-ttl.--lg {
    font-size: 24px;
    padding-left: 48px;
  }
}
.c-ttl.--lg::before {
  width: 48px;
  height: 48px;
}

.c-txt {
  color: #4C4C4C;
  line-height: 2;
  font-size: 16px;
  font-weight: 500;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-txt {
    font-size: 14px;
  }
}

.c-purpose-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .c-purpose-list {
    gap: 0;
  }
}

.c-purpose-list__item {
  width: calc((100% - 50px) / 6);
}
@media screen and (max-width: 767px) {
  .c-purpose-list__item {
    width: 33.3333333333%;
  }
}

.c-purpose-list__link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  aspect-ratio: 1/1;
  padding-right: 5px;
  transition: 0.5s;
}
@media screen and (min-width: 1272px) {
  .c-purpose-list__link:hover {
    opacity: 0.7;
    transform: scale(0.8);
  }
}

.c-purpose-list__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: -1;
}

.c-purpose-list__ttl {
  color: #fff;
  font-weight: 700;
  font-size: 20px;
}
@media screen and (max-width: 1271px) {
  .c-purpose-list__ttl {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .c-purpose-list__ttl {
    font-size: 12px;
  }
}

.c-purpose-list__icon {
  margin-top: 5px;
}

.c-detail-btn {
  display: flex;
  background-color: #fff;
  border: 1px solid #4C4C4C;
  color: #4C4C4C;
  font-weight: 500;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 100px;
  text-decoration: none;
  padding: 20px 54px 20px 24px;
  position: relative;
  transition: 0.5s;
  line-height: 1.2;
}
@media screen and (min-width: 1272px) {
  .c-detail-btn:hover {
    background-color: #987941;
    color: #fff;
    border: 1px solid #987941;
  }
  .c-detail-btn:hover::after {
    background-color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-btn {
    font-size: 12px;
    padding: 15px 44px 15px 20px;
  }
}
.c-detail-btn::after {
  position: absolute;
  content: "";
  -webkit-mask: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-common-arrow.svg") no-repeat;
          mask: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-common-arrow.svg") no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #987941;
  width: 32px;
  height: 32px;
  -o-object-fit: contain;
     object-fit: contain;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.5s;
}
#staging .c-detail-btn::after {
  -webkit-mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-common-arrow.svg");
  mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-common-arrow.svg");
}
#develop .c-detail-btn::after {
  -webkit-mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-common-arrow.svg");
  mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-common-arrow.svg");
}
@media screen and (max-width: 767px) {
  .c-detail-btn::after {
    width: 29px;
    height: 29px;
    right: 10px;
  }
}
.c-detail-btn.--reserve::after {
  -webkit-mask: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-arrow-white.svg") no-repeat;
          mask: url("https://img.dormy-hotels.com/static/img/alltop/common/icon-arrow-white.svg") no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: 0.5s;
  background-color: #fff;
}
#staging .c-detail-btn.--reserve::after {
  -webkit-mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-arrow-white.svg");
  mask-image: url("https://staging-img.kyoritsu-hotels.net/static/img/alltop/common/icon-arrow-white.svg");
}
#develop .c-detail-btn.--reserve::after {
  -webkit-mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-arrow-white.svg");
  mask-image: url("https://develop-img.kyoritsu-hotels.net/static/img/alltop/common/icon-arrow-white.svg");
}

.c-card-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .c-card-list {
    gap: 16px;
    margin-top: 10px;
  }
}
.c-card-list__link {
  width: calc((100% - 48px) / 3);
  text-decoration: none;
  transition: 0.5s;
}
@media screen and (min-width: 1272px) {
  .c-card-list__link:hover .c-card-list__img {
    transform: scale(1.2);
  }
}
.c-card-list__link:focus-visible {
  outline: 2px solid #987941;
  outline-offset: 2px;
}
@media screen and (max-width: 767px) {
  .c-card-list__link {
    width: calc((100% - 16px) / 2);
  }
}
.c-card-list__subTtl {
  font-size: 16px;
  font-weight: 700;
  color: #987941;
  line-height: 1.5;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .c-card-list__subTtl {
    font-size: 12px;
    margin-top: 4px;
  }
}
.c-card-list__imgWrap {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 8px;
}
.c-card-list__img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.8s;
}
.c-card-list__ttl {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 6px;
  color: #4C4C4C;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-card-list__ttl {
    font-size: 14px;
    margin-top: 4px;
  }
}

.c-card-list--lg .c-card-list__imgWrap {
  border-radius: 11.527px;
}
@media screen and (max-width: 767px) {
  .c-card-list--lg .c-card-list__imgWrap {
    border-radius: 9.198px;
  }
}
@media screen and (max-width: 767px) {
  .c-card-list--lg .c-card-list__link {
    width: 100%;
  }
}
.c-card-list--lg .c-card-list__ttl {
  -webkit-line-clamp: 3;
  line-clamp: 3;
}
@media screen and (max-width: 767px) {
  .c-card-list--lg .c-card-list__ttl {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .c-card-list--lg .c-card-list__subTtl {
    font-size: 12px;
  }
}

.c-card-list--sm {
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .c-card-list--sm {
    gap: 16px;
  }
}
.c-card-list--sm .c-card-list__link {
  width: calc((100% - 120px) / 4);
}
@media screen and (max-width: 767px) {
  .c-card-list--sm .c-card-list__link {
    width: calc((100% - 16px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .c-card-list--sm .c-card-list__imgWrap {
    border-radius: 4px;
  }
}
.c-card-list--sm .c-card-list__ttl {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .c-card-list--sm .c-card-list__ttl {
    font-size: 14px;
  }
}