/* common
------------------------------------------------ */
.cms-search { position: relative; height: 41px; background-color: #eee; }
.cms-search > form { display: block; width: 100%; height: 100%; }
.cms-search-fieldset { display: block; margin: 0; padding: 0; width: 100%; height: 100%; border: none; }
.cms-search-fieldset__legend { display: none; }
.cms-search-field__input { margin-left: auto; width: calc(100% - 40px); height: 100%; }
.cms-search-field__input input { padding: 0 8px; width: 100%; height: 100%; font-size: 1.2rem; letter-spacing: 0.05em; }
.cms-search-submit { position: absolute; top: 50%; left: 14px; transform: translateY(-50%); width: 15px; }
.cms-tags { display: flex; flex-wrap: wrap; gap: 7px; position: relative; }
.cms-tags > a { display: inline-block; padding: 8px 14px; border: 1px solid #eee; text-decoration: none; vertical-align: top; font-size: 1.2rem; line-height: 1.2; color: #333; }
.cms-tags > a.is-active { border-color: #333; }
.cms-tabs { display: flex; flex-wrap: wrap; }
.cms-tabs-item { position: relative; padding: 6px 0; text-align: center; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.cms-tabs-item > a { display: inline-block; position: relative; text-decoration: none; vertical-align: top; color: #333; }
.cms-tabs-item > a:not(.is-active) { color: #aaa; }
.cms-tabs-item > a.is-active::after { content: ''; position: absolute; bottom: -3px; left: 0; width: 100%; height: 1px; background-color: #000; }
.cms-filter-cancel { margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.5; }
.cms-filter-cancel > a { display: inline-block; position: relative; padding-right: 14px; text-decoration: none; vertical-align: top; color: #333; }
.cms-filter-cancel > a::after { content: ''; position: absolute; bottom: -1px; left: 0; width: calc(100% - 14px); height: 1px; background-color: #333; }
.cms-filter-cancel span { display: inline-block; position: relative; vertical-align: top; }
.cms-filter-cancel span::before,
.cms-filter-cancel span::after { content: ''; position: absolute; top: 50%; right: -14px; width: 11px; height: 1px; background-color: #333; }
.cms-filter-cancel span::before { transform: translateY(-50%) rotate(45deg); }
.cms-filter-cancel span::after { transform: translateY(-50%) rotate(-45deg); }
.cms-archive-more { display: flex; justify-content: center; align-items: center; margin-top: 37px; width: 100%; height: 45px; border: 1px solid #000; font-size: 1.4rem; font-weight: 700; letter-spacing: 1px; line-height: 1.5; }
.cms-archive-more::after { content: ''; display: inline-block; transform: rotate(90deg); margin-left: 20px; width: 8px; height: 16px; background: url(../img/icon/arrow1.svg) no-repeat center center; background-size: 100%; vertical-align: top; }
.cms-btn-back { margin: 32px 0 0; }
.cms-btn-back > a { display: flex; justify-content: center; align-items: center; width: 100%; height: 45px; border: 1px solid #000; text-decoration: none; font-size: 1.4rem; font-weight: 700; letter-spacing: 1px; line-height: 1.5; color: #333; }
.cms-pager { display: flex; }
.cms-pager > a { display: inline-block; position: relative; padding: 2px 0; text-decoration: none; vertical-align: top; font-size: 1.2rem; font-weight: 600; line-height: 1.6666666666; color: #333; }
.cms-pager > a::before { content: ''; position: absolute; top: 50%; width: 10px; height: 18px; background: url(../img/icon/arrow1.svg) no-repeat center center; background-size: 100% 100%; }
.cms-pager > a::after { content: ''; position: absolute; bottom: 0; width: calc(100% - 22px); height: 1px; background-color: #333; }
.cms-pager > a.is-prev { padding-left: 22px; }
.cms-pager > a.is-prev::before { left: 0; transform: scaleX(-1) translateY(-50%); }
.cms-pager > a.is-prev::after { right: 0; }
.cms-pager > a.is-next { margin-left: auto; padding-right: 22px; text-align: right; }
.cms-pager > a.is-next::before { right: 0; transform: translateY(-50%); }
.cms-pager > a.is-next::after { left: 0; }

@media screen and (max-width: 768px) {
  .cms-tags { justify-content: center; margin-top: 15px; }
  .cms-tabs { row-gap: 6px; }
  .cms-tabs-item { width: 50%; }
  .cms-tabs-item:nth-of-type(2n)::before { content: ''; position: absolute; top: 0; left: 0; width: 1px; height: 100%; background-color: #aaa; }
}

@media screen and (min-width: 769px) {
  .cms-search { width: 280px; height: 32px; }
  .cms-search-field__input { width: calc(100% - 40px); }
  .cms-search-field__input input { font-size: 1.2rem; }
  .cms-search-submit { width: 14px; }
  .cms-tags > a { padding: 8px 14px; font-size: 1.2rem; }
  .cms-tabs { justify-content: center; gap: 12px; }
  .cms-tabs-item { padding: 5px 0; width: 236px; font-size: 1.6rem; }
  .cms-tabs-item > a.is-active::after { bottom: -4px; }
  .cms-tabs-item:not(:first-child)::before { content: ''; position: absolute; top: 0; left: 0; width: 1px; height: 100%; background-color: #aaa; }
  .cms-filter-cancel { font-size: 1.2rem; line-height: 1.5; }
  .cms-filter-cancel > a { padding-right: 16px; }
  .cms-filter-cancel > a::after { bottom: 1px; width: calc(100% - 16px); }
  .cms-filter-cancel span::before,
  .cms-filter-cancel span::after { right: -16px; width: 14px; }
  .cms-archive-more { margin: 55px auto 0; width: 360px; height: 48px; font-size: 1.4rem; }
  .cms-btn-back { margin-top: 33px; }
  .cms-btn-back > a { margin: 0 auto; width: 390px; height: 48px; font-size: 1.4rem; }
  .cms-pager > a { font-size: 1.4rem; line-height: 1.4285714285; }
}

/* feature
------------------------------------------------ */
/* archive */
.feature-archive { padding-top: 14px; }
.feature-archive .title-page { margin-bottom: 30px; }
.feature-archive-above { margin-bottom: 24px; }

@media screen and (min-width: 769px) {
  .feature-archive { padding-top: 30px; }
  .feature-archive .title-page { margin-bottom: 58px; }
  .feature-archive-above { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; margin-bottom: 47px; }
}

/* lists */
.feature-lists-item > a { display: block; position: relative; text-decoration: none; }
.feature-lists-photo { position: relative; aspect-ratio: 2 / 1; margin-bottom: 9px; overflow: hidden; }
.feature-lists-info { position: relative; }
.feature-lists-title { margin: 0; width: calc(100% - 28px); font-size: 1.4rem; font-weight: 500; line-height: 1.2857142857; color: #251E1C; }
.feature-lists-time { display: block; margin-top: 9px; font-size: 1.2rem; line-height: 1.3333333333; color: #aaa; }
.feature-lists-share { position: absolute; top: 4px; right: 0; width: 14px; }

@media screen and (max-width: 768px) {
  .feature-lists[data-column-mobile] { display: grid; }
  .feature-lists[data-column-mobile='1'] { gap: 38px; }
}

@media screen and (min-width: 769px) {
  .feature-lists-photo { margin-bottom: 11px; }
  .feature-lists-title { width: calc(100% - 30px); font-size: 1.6rem; line-height: 1.3125; }
  .feature-lists-time { margin-top: 11px; font-size: 1.4rem; line-height: 1.2857142857; }
  .feature-lists-share { top: 6px; width: 16px; }

  .feature-lists[data-column-desktop] { display: grid; }
  .feature-lists[data-column-desktop='3'] { row-gap: 53px; column-gap: 18px; grid-template-columns: repeat(3, calc((100% / 3) - (18px / (3 / 2)))); }
}

/* raffles
------------------------------------------------ */
/* archive */
.raffles-archive { padding-top: 14px; }
.raffles-archive .title-page { margin-bottom: 30px; }
.raffles-archive-above { margin-bottom: 24px; }

@media screen and (min-width: 769px) {
  .raffles-archive { padding-top: 30px; }
  .raffles-archive .title-page { margin-bottom: 58px; }
  .raffles-archive-above { margin-bottom: 48px; }
}

/* lists */
.raffles-lists-item > a { display: block; position: relative; text-decoration: none; }
.raffles-lists-photo { position: relative; aspect-ratio: 2 / 1; margin-bottom: 12px; overflow: hidden; }
.raffles-lists-info { position: relative; }
.raffles-lists-label { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; width: calc(100% - 28px); }
.raffles-lists-label > span { display: inline-block; padding: 4px 8px; border: 1px solid #333; vertical-align: top; font-size: 1.4rem; font-weight: 500; line-height: 1.2857142857; color: #333; }
.raffles-lists-title { margin: 0; width: calc(100% - 28px); font-size: 1.4rem; font-weight: 500; line-height: 1.2857142857; color: #251E1C; }
.raffles-lists-label + .raffles-lists-title { width: 100%; }
.raffles-lists-price { margin: 2px 0 0; font-size: 1.2rem; line-height: 1.3333333333; color: #333; }
.raffles-lists-announce { margin: 8px 0 0; font-size: 1.2rem; font-weight: 500; line-height: 1.3333333333; color: #333; }
.raffles-lists-title + .raffles-lists-announce { margin-top: 10px; }
.raffles-lists-share { position: absolute; top: 0; right: 0; width: 14px; }

@media screen and (max-width: 768px) {
  .raffles-lists[data-column-mobile] { display: grid; }
  .raffles-lists[data-column-mobile='1'] { gap: 38px; }
}

@media screen and (min-width: 769px) {
  .raffles-lists-photo { aspect-ratio: 1.9960784313 / 1; margin-bottom: 17px; }
  .raffles-lists-label { margin-bottom: 7px; width: calc(100% - 30px); }
  .raffles-lists-label > span { padding: 4px 12px 5px; font-size: 1.6rem; line-height: 1.3125; }
  .raffles-lists-title { width: calc(100% - 30px); font-size: 1.6rem; line-height: 1.3125; }
  .raffles-lists-price { margin-top: 6px; font-size: 1.2rem; }
  .raffles-lists-announce { margin-top: 12px; font-size: 1.4rem; line-height: 1.2857142857; }
  .raffles-lists-title + .raffles-lists-announce { margin-top: 10px; }
  .raffles-lists-share { top: 0; width: 16px; }

  .raffles-lists[data-column-desktop] { display: grid; }
  .raffles-lists[data-column-desktop='3'] { row-gap: 52px; column-gap: 20px; grid-template-columns: repeat(3, calc((100% / 3) - (20px / (3 / 2)))); }
}

/* news
------------------------------------------------ */
/* archive */
.news-archive { padding-top: 14px; }
.news-archive .title-page { margin-bottom: 30px; }
.news-archive-above { margin-bottom: 24px; }
.news-archive-above .cms-tags > a { padding-right: 4px; padding-left: 4px; text-align: center; font-weight: 500; }

@media screen and (max-width: 768px) {
  .news-archive-above .cms-tags { display: grid; gap: 9px; grid-template-columns: repeat(4, calc((100% / 4) - (9px / (4 / 3)))); }
  .news-archive-above .cms-filter-cancel { margin-top: 12px; text-align: right; }
}

@media screen and (min-width: 769px) {
  .news-archive { padding-top: 30px; }
  .news-archive .title-page { margin-bottom: 60px; }
  .news-archive-above { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 36px; margin-bottom: 46px; }
  .news-archive-above .cms-tags { gap: 12px; }
  .news-archive-above .cms-tags > a { min-width: 96px; }
}

/* lists */
.news-lists-item > a { display: block; position: relative; text-decoration: none; }
.news-lists-photo { position: relative; aspect-ratio: 2 / 1; margin-bottom: 12px; overflow: hidden; }
.news-lists-info { position: relative; }
.news-lists-brand { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; width: calc(100% - 28px); }
.news-lists-brand > span { display: inline-block; padding: 3px 8px; min-width: 84px; border: 1px solid #eee; text-align: center; vertical-align: top; font-size: 1rem; font-weight: 500; line-height: 1.3; color: #333; }
.news-lists-title { margin: 0; width: calc(100% - 28px); font-size: 1.4rem; font-weight: 500; line-height: 1.2857142857; color: #251E1C; }
.news-lists-brand + .news-lists-title { width: 100%; }
.news-lists-time { display: block; margin-top: 8px; font-size: 1.2rem; line-height: 1.3333333333; color: #aaa; }
.news-lists-share { position: absolute; top: 1px; right: 0; width: 14px; }

@media screen and (max-width: 768px) {
  .news-lists[data-column-mobile] { display: grid; }
  .news-lists[data-column-mobile='1'] { gap: 38px; }
}

@media screen and (min-width: 769px) {
  .news-lists-photo { margin-bottom: 16px; }
  .news-lists-brand { margin-bottom: 12px; width: calc(100% - 30px); }
  .news-lists-brand > span { padding: 3px 8px 4px; min-width: 96px; font-size: 1rem; line-height: 1.3; }
  .news-lists-title { width: calc(100% - 30px); font-size: 1.6rem; line-height: 1.3125; }
  .news-lists-time { margin-top: 11px; font-size: 1.4rem; line-height: 1.2857142857; }
  .news-lists-share { top: 0; width: 16px; }

  .news-lists[data-column-desktop] { display: grid; }
  .news-lists[data-column-desktop='3'] { row-gap: 52px; column-gap: 20px; grid-template-columns: repeat(3, calc((100% / 3) - (20px / (3 / 2)))); }
}

/* detail */
.news-detail { padding-top: 14px; }
.news-detail .title-page { margin-bottom: 30px; }
.news-detail-eyecatch { aspect-ratio: 2.5 / 1; margin: 0 -16px 32px; width: calc(100% + (16px * 2)); overflow: hidden; }

@media screen and (min-width: 769px) {
  .news-detail { padding-top: 30px; }
  .news-detail .title-page { margin-bottom: 64px; }
  .news-detail-eyecatch { margin: 0 -15px 56px; width: calc(100% + (15px * 2)); }
}

/* article */
.news-article { position: relative; }
.news-article-hd { position: relative; }
.news-article-brand { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.news-article-brand > span { display: inline-block; padding: 3px 8px; min-width: 84px; border: 1px solid #eee; text-align: center; vertical-align: top; font-size: 1rem; font-weight: 500; line-height: 1.3; color: #333; }
.news-article-title { margin: 0; font-size: 1.8rem; font-weight: 500; line-height: 1.2777777777; }
.news-article-time { display: block; margin-top: 10px; width: 100%; font-size: 1.2rem; line-height: 1.3333333333; color: #aaa; }
.news-article-share { position: absolute; bottom: 0; right: 0; width: 14px; }
.news-article-content { margin-top: 32px; font-size: 1.4rem; line-height: 1.7142857142; }
.news-article-content p { margin: 30px 0; }
.news-article-content p:first-child { margin-top: 0; }
.news-article-content p:last-child { margin-bottom: 0; }
/*.news-article-content figure { display: block; margin: 0; width: 100% }*/
.news-article-content > .wp-block-image:not(:first-child),
.news-article-content > .wp-block-group:not(:first-child) { margin-top: 24px; }
.news-article-ft { margin-top: 47px; }

@media screen and (min-width: 769px) {
  .news-article { margin: 0 auto; max-width: 1280px; }
  .news-article-hd { margin: 0 auto; max-width: 960px; }
  .news-article-brand { margin-bottom: 19px; }
  .news-article-brand > span { padding: 3px 8px 4px; min-width: 96px; font-size: 1rem; line-height: 1.3; }
  .news-article-title { font-size: 2.4rem; line-height: 1.2916666666; }
  .news-article-time { margin-top: 15px; font-size: 1.4rem; line-height: 1.2857142857; }
  .news-article-share { width: 16px; }
  .news-article-content { margin-top: 59px; font-size: 1.4rem; line-height: 1.7142857142; }
  .news-article-content p { margin: 51px 0; }
  .news-article-content > p { margin-right: auto; margin-left: auto; max-width: 960px; }
  .news-article-content > .wp-block-image:not(:first-child),
  .news-article-content > .wp-block-group:not(:first-child) { margin-top: 40px; }
  .news-article-ft { margin-top: 73px; }
  .news-article-ft .cms-pager { margin: 0 auto; max-width: 960px; }
}

/* related */
.news-related { margin-top: 49px; padding-top: 26px; border-top: 1px solid #eee; }

@media screen and (max-width: 768px) {
  .news-related .news-lists[data-column-mobile='1'] { gap: 24px; }
  .news-related .news-lists-item > a { display: grid; column-gap: 11px; grid-template-columns: 46.9273743016% calc(100% - (46.9273743016% + 11px)); }
  .news-related .news-lists-photo { aspect-ratio: 1.5 / 1; margin-bottom: 0; }
  .news-related .news-lists-brand { margin-bottom: 9px; }
  .news-related .news-lists-brand > span { max-width: 82px; }
  .news-related .news-lists-title { font-size: 1.2rem; line-height: 1.3333333333; }
  .news-related .news-lists-time { margin-top: 7px; font-size: 1.1rem; line-height: 1.2727272727; }
  .news-related .news-lists-share { display: none; }
}

@media screen and (min-width: 769px) {
  .news-related { margin-top: 65px; padding-top: 50px; }
}