@charset "UTF-8";
/* clear
===============================================================*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, a, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

html, body {
  height: auto;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

*, *::before, *::after {
  box-sizing: border-box;
}

i, u, abbr, code, pre, address {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
}

blockquote, q {
  quotes: none;
}

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

input, select {
  vertical-align: middle;
}

button:hover img {
  opacity: 0.85;
}

button {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;
}

button::before, button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
}

button, button::before, button::after {
  box-sizing: border-box;
  transition: all 0.3s;
}

button:hover {
  cursor: pointer;
}

ul, ol, li {
  list-style: none;
}

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

img {
  max-width: 100%;
  height: auto;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

/* reset
===============================================================*/
html {
  width: 100%;
  font-size: 62.5%;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1;
}

h1, h2, h3, h4, h5, h6 {
  word-break: break-all;
  font-weight: normal;
  font-size: 1.4rem;
  margin: 0;
}

a {
  color: #0090d2;
  text-decoration: none;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

img {
  image-rendering: -webkit-optimize-contrast;
  vertical-align: bottom;
}

picture {
  display: block;
}

@font-face {
  font-family: "LINESeedJP";
  src: url("../font/LINESeedJP_OTF_Th.woff2") format("woff2"), url("../font/LINESeedJP_OTF_Th.woff") format("woff");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "LINESeedJP";
  src: url("../font/LINESeedJP_OTF_Rg.woff2") format("woff2"), url("../font/LINESeedJP_OTF_Rg.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "LINESeedJP";
  src: url("../font/LINESeedJP_OTF_Bd.woff2") format("woff2"), url("../font/LINESeedJP_OTF_Bd.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "LINESeedJP";
  src: url("../font/LINESeedJP_OTF_Eb.woff2") format("woff2"), url("../font/LINESeedJP_OTF_Eb.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
/*----------------------------------------------------------------------------
	base
----------------------------------------------------------------------------*/
:root {
  --font-size-text-large: 1.6rem;
  --font-size-text-medium: 1.4rem;
  --font-size-text-small: 1.2rem;
  --font-size-text-xsmall: 1rem;
  --font-size-text-xs-to-s: 1.2rem;
}

@media screen and (max-width: 767px) {
  :root {
    --font-size-text-xs-to-s: 1.4rem;
  }
}
html {
  width: 100%;
  font-size: 62.5%;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.6666666667vw;
  }
  html:has(.l-header__trigger.is-open) {
    overflow: hidden;
  }
}

body {
  color: #3E3A39;
  font-size: var(--font-size-text-medium);
  font-family: "LINESeedJP", sans-serif;
  font-weight: 400;
  line-height: 1.75;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: justify;
  background: #FFFEFA;
}

pictrure,
figure {
  display: block;
  width: 100%;
}

a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a {
    transition: opacity 0.5s;
  }
  a:hover {
    opacity: 0.7;
  }
}

select,
input,
textarea,
button {
  font-family: "LINESeedJP", sans-serif;
}

_::-webkit-full-page-media, _:future, :root select {
  -webkit-appearance: none;
  padding: 0 3rem 0 1rem !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233E3A39' d='M7 10 L12 18 L17 10 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 20px 20px; /* 矢印のサイズ */
}

@-moz-document url-prefix() {
  select {
    padding: 0 3rem 0 1rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233E3A39' d='M7 10 L12 18 L17 10 Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 20px 20px; /* 矢印のサイズ */
  }
}
/*----------------------------------------------------------------------------
	c-link
----------------------------------------------------------------------------*/
.c-link {
  padding-right: 3.3rem;
  background: url(../images/common/icon_arrow.svg) no-repeat right center/2.4rem auto;
  filter: brightness(0) saturate(100%) invert(5%) sepia(31%) saturate(2211%) hue-rotate(118deg) brightness(87%) contrast(101%);
}
.c-link--white {
  filter: none;
}

/*----------------------------------------------------------------------------
	c-pager
----------------------------------------------------------------------------*/
.c-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  margin-top: 6rem;
}
.c-pager .page-numbers {
  text-decoration: none !important;
}
.c-pager .page-numbers.prev, .c-pager .page-numbers.next {
  width: 4.8rem;
  line-height: 2.4rem;
  color: #EE721F;
  font-weight: 700;
  text-align: center;
  background: url(../images/common/bg_pock-sp.png) center center/80% auto;
  border-radius: 0.5rem;
}
.c-pager__item {
  text-decoration: none !important;
}
.c-pager__item--disabled {
  opacity: 0.5;
}

/*----------------------------------------------------------------------------
	c-button
----------------------------------------------------------------------------*/
.c-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.3rem;
  width: 25rem;
  height: 4rem;
  margin: 0 auto;
  color: #EE721F;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  background-color: #fff;
  border-radius: 3rem;
  border: 1px solid #EE721F;
  box-shadow: 0px 2px 2px 0px #FFCCA2;
  transition: background-color 0.3s, color 0.3s;
}
.c-button::after {
  display: inline-block;
  aspect-ratio: 9/18;
  width: 0.8rem;
  background: url(../images/common/icon_arrow.svg) no-repeat center center/contain;
  content: "";
}
.c-button:hover {
  color: #fff;
  background-color: #EE721F;
  opacity: 1;
}
.c-button:hover::after {
  filter: brightness(0) saturate(100%) invert(99%) sepia(0%) saturate(629%) hue-rotate(258deg) brightness(110%) contrast(100%);
}
.c-button--special {
  background-color: #EE721F;
  color: #fff;
}
.c-button--special::after {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(5835%) hue-rotate(26deg) brightness(101%) contrast(111%);
}
.c-button--special:hover {
  color: #EE721F;
  background-color: #FFF;
  opacity: 1;
}
.c-button--special:hover::after {
  filter: initial;
}

/*----------------------------------------------------------------------------
	c-button-menu
----------------------------------------------------------------------------*/
.c-button-menu {
  position: relative;
  width: 4.2rem;
  height: 4.2rem;
  margin-left: 1rem;
  font-weight: 700;
  border-radius: 50%;
  border: 1px solid #D5ECE5;
  background-color: #fff;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-button-menu {
    margin-left: 0;
  }
}
.c-button-menu span {
  display: inline-block;
  position: absolute;
  left: 1.2rem;
  width: 1.6rem;
  height: 0.2rem;
  background: #3E3A39;
  border-radius: 0.2rem;
  transition: all 0.4s;
}
.c-button-menu span:nth-of-type(1) {
  top: 1.4rem;
}
.c-button-menu span:nth-of-type(2) {
  top: 1.9rem;
}
.c-button-menu span:nth-of-type(3) {
  top: 2.4rem;
}
.c-button-menu.is-open span:nth-of-type(1) {
  top: 1.9rem;
  transform: rotate(-45deg);
}
.c-button-menu.is-open span:nth-of-type(2) {
  opacity: 0;
}
.c-button-menu.is-open span:nth-of-type(3) {
  top: 1.9rem;
  transform: rotate(45deg);
}

/*----------------------------------------------------------------------------
	c-button-coupon
----------------------------------------------------------------------------*/
.c-button-coupon {
  position: relative;
  width: 9rem;
  height: 4rem;
  padding-left: 2rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 4rem;
  background-color: #76C593;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0.8rem 50%);
}
@media screen and (max-width: 767px) {
  .c-button-coupon {
    width: 7rem;
    height: 3.6rem;
    padding-left: 1.5rem;
    line-height: 3.6rem;
  }
}
.c-button-coupon--glnavi {
  height: 3.6rem;
  line-height: 3.6rem;
}
.c-button-coupon::before {
  position: absolute;
  top: 0;
  left: 2rem;
  width: 1px;
  height: 100%;
  background-size: 1px 6px;
  background-image: linear-gradient(to bottom, #fff, #fff 4px, transparent 4px, transparent 6px);
  background-repeat: repeat-y;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-button-coupon::before {
    left: 1.5rem;
  }
}

/*----------------------------------------------------------------------------
	c-button-pagetop
----------------------------------------------------------------------------*/
.c-button-pagetop {
  position: sticky;
  bottom: 3rem;
  right: 0;
  width: 5.2rem;
  height: 5.2rem;
  margin: 0 3rem 3rem auto;
  text-align: right;
  z-index: 99;
}
@media screen and (max-width: 767px) {
  .c-button-pagetop {
    bottom: 2rem;
    width: 4rem;
    height: 4rem;
    margin: 0 1rem 2rem auto;
  }
}
.c-button-pagetop a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px solid #EE721F;
  background-color: #fff;
  box-shadow: 0px 2px 2px 0px #FFCCA2;
  z-index: 99;
}

/*----------------------------------------------------------------------------
	c-modal
----------------------------------------------------------------------------*/
.c-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
}
.c-modal.is-active {
  display: block;
}
.c-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5); /* オーバーレイ */
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-modal__inner {
  position: relative;
  max-width: 100rem;
  width: calc(100% - 8rem);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
.c-modal__content {
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: 90%;
  position: relative;
  flex-grow: 1;
  min-height: 0;
  padding: 4rem;
  border-radius: 1rem;
  background: #fff;
}
.c-modal__close {
  position: absolute;
  right: 0;
  top: -5.3rem;
  width: 4.2rem;
  height: 4.2rem;
  font: 0/0 a;
  background: url(../images/common/icon_close.svg) no-repeat center center/contain;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-modal__close {
    top: -10rem;
    width: 8rem;
    height: 8rem;
  }
}

/*----------------------------------------------------------------------------
	c-widget-weather
----------------------------------------------------------------------------*/
.c-widget-weather {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.c-widget-weather__today-year {
  font-size: 1.2rem;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .c-widget-weather__today-year {
    font-size: 1rem;
  }
}
.c-widget-weather__today-day {
  font-size: 2rem;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-widget-weather__today-day {
    font-size: 1.8rem;
  }
}
.c-widget-weather__today-day strong {
  font-weight: 700;
}
.c-widget-weather__today-week {
  display: inline-block;
  margin-left: -0.4em;
  font-size: 1.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-widget-weather__today-week {
    display: inline-block;
    margin-left: -0.5em;
    font-size: 1rem;
  }
}
.c-widget-weather__data {
  display: flex;
  align-items: center;
}
.c-widget-weather__area {
  font-size: 1.2rem;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .c-widget-weather__area {
    font-size: 1rem;
  }
}
.c-widget-weather__temp {
  font-size: 2rem;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-widget-weather__temp {
    font-size: 1.8rem;
  }
}
.c-widget-weather__temp-high, .c-widget-weather__temp-low {
  font-size: 1.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-widget-weather__temp-high, .c-widget-weather__temp-low {
    font-size: 1rem;
  }
}
.c-widget-weather__temp-high strong, .c-widget-weather__temp-low strong {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-widget-weather__temp-high strong, .c-widget-weather__temp-low strong {
    font-size: 1.8rem;
  }
}
.c-widget-weather__icon {
  width: 4.2rem;
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 50%;
  border: 1px solid #D5ECE5;
  overflow: hidden;
}
.c-widget-weather__icon img {
  width: 100%;
}

/*----------------------------------------------------------------------------
	c-list-sns
----------------------------------------------------------------------------*/
.c-list-sns {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.c-list-sns__item {
  width: 2.4rem;
}
.c-list-sns__item a {
  display: block;
}
.c-list-sns__item img {
  width: 100%;
}

/*----------------------------------------------------------------------------
	c-list-control
----------------------------------------------------------------------------*/
.c-list-control {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  font-size: 1.2rem;
  font-weight: 700;
}
.c-list-control__link {
  padding-left: 2rem;
}
.c-list-control__link--login {
  background: url(../images/common/icon_login.svg) no-repeat left center/1.6rem auto;
}
.c-list-control__link--register {
  background: url(../images/common/icon_register.svg) no-repeat left center/1.6rem auto;
}

/*----------------------------------------------------------------------------
	c-list-popular-tag
----------------------------------------------------------------------------*/
.c-list-popular-tag {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding: 2rem;
  color: #EE721F;
  background: url(../images/common/bg_pock-sub.png) center center/80% auto #FFFEFA;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .c-list-popular-tag {
    flex-direction: column;
    gap: 1rem;
  }
}
.c-list-popular-tag__title {
  padding-left: 2rem;
  font-size: 1.5rem;
  font-weight: 700;
  background: url(../images/common/icon_tag.svg) no-repeat left center/1.6rem auto;
}
.c-list-popular-tag__list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.4rem;
       column-gap: 0.4rem;
  row-gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .c-list-popular-tag__list {
    gap: 1rem;
  }
}
.c-list-popular-tag__item {
  padding: 0.4rem 1.2rem 0.3rem 1.2rem;
  color: #EE721F;
  font-size: var(--font-size-text-xsmall);
  line-height: 1;
  border: 1px solid #EE721F;
  background-color: #fff;
  border-radius: 2rem;
  transition: background-color 0.3s, color 0.3s;
}
.c-list-popular-tag__item::before {
  content: "#";
}
.c-list-popular-tag__item:hover {
  color: #fff;
  background-color: #EE721F;
  opacity: 1;
}

/*----------------------------------------------------------------------------
	c-form-search
----------------------------------------------------------------------------*/
.c-form-search {
  display: flex;
  height: 4.2rem;
}
@media screen and (max-width: 767px) {
  .c-form-search {
    height: 3.6rem;
  }
}
.c-form-search--glnavi {
  margin: 0 5rem 0 0;
  height: 3.6rem;
}
@media screen and (max-width: 767px) {
  .c-form-search--glnavi {
    margin: 0;
  }
}
.c-form-search--glnavi .c-form-search__select select {
  line-height: 3.6rem;
}
.c-form-search--glnavi .c-form-search__input {
  width: 100%;
  max-width: 63.3rem;
}
.c-form-search__select {
  white-space: nowrap;
}
.c-form-search__select select,
.c-form-search__select ::picker(select) {
  -webkit-appearance: base-select;
     -moz-appearance: base-select;
          appearance: base-select;
}
.c-form-search__select select {
  height: 100%;
  padding: 0 1rem;
  color: #3E3A39;
  font-size: 1.2rem;
  line-height: 4.2rem;
  background-color: #D5ECE5;
  border: none;
  border-radius: 3rem 0 0 3rem;
}
@media screen and (max-width: 767px) {
  .c-form-search__select select {
    line-height: 3.6rem;
  }
}
.c-form-search__select ::picker(select) {
  font-size: 1.6rem;
}
.c-form-search__input {
  padding: 1rem;
  font-size: 1.2rem;
  border: none;
  border-top: 1px solid #D5ECE5;
  border-bottom: 1px solid #D5ECE5;
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .c-form-search__input {
    flex: 1;
    min-width: 0;
  }
}
.c-form-search__submit {
  width: 4.2rem;
  padding-right: 1rem;
  color: #fff;
  font-size: 1.2rem;
  white-space: nowrap;
  background-color: #EE721F;
  border-radius: 0 3rem 3rem 0;
  border: none;
}

/*----------------------------------------------------------------------------
	c-navi-mega
----------------------------------------------------------------------------*/
.c-navi-mega {
  display: flex;
  justify-content: space-between;
  padding: 0 0.5rem;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-navi-mega {
    flex-direction: column;
    background-color: #fff;
    padding: 0 1rem;
  }
}
.c-navi-mega--glnavi {
  position: relative;
}
.c-navi-mega--glnavi .c-navi-mega__link {
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  .c-navi-mega--glnavi .c-navi-mega__link {
    padding: 1rem 0 1rem 2rem;
  }
}
.c-navi-mega--glnavi .c-navi-mega__submenu {
  width: calc(100% + 8rem);
  left: -4rem;
}
@media screen and (max-width: 767px) {
  .c-navi-mega--glnavi .c-navi-mega__submenu {
    width: calc(100% + 6rem);
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .c-navi-mega__item:hover > .c-navi-mega__submenu {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .c-navi-mega__item {
    position: relative;
    border-bottom: 1px solid rgba(62, 58, 57, 0.3);
  }
  .c-navi-mega__item:has(.c-navi-mega__submenu) {
    padding-right: 6rem;
  }
  .c-navi-mega__item:has(.c-navi-mega__submenu)::before, .c-navi-mega__item:has(.c-navi-mega__submenu)::after {
    position: absolute;
    top: 2.2rem;
    right: 2.3rem;
    width: 1.3rem;
    height: 0.4rem;
    background-color: #EE721F;
    transition: all 0.3s;
    content: "";
  }
  .c-navi-mega__item:has(.c-navi-mega__submenu)::after {
    transform: rotate(90deg);
    transform-origin: center;
  }
  .c-navi-mega__item:has(.c-navi-mega__submenu).is-open::after {
    transform: rotate(0);
  }
}
.c-navi-mega__link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  width: 100%;
  height: 100%;
  padding: 1.8rem 0;
}
@media screen and (max-width: 767px) {
  .c-navi-mega__link {
    padding: 1rem 3rem;
    justify-content: flex-start;
  }
}
.c-navi-mega__link.is-current, .c-navi-mega__link:hover {
  color: #EE721F;
  opacity: 1;
}
.c-navi-mega__link.is-current::before, .c-navi-mega__link:hover::before {
  filter: brightness(0) saturate(100%) invert(54%) sepia(88%) saturate(3143%) hue-rotate(353deg) brightness(102%) contrast(87%);
}
.c-navi-mega__link::before {
  filter: brightness(0) saturate(100%) invert(18%) sepia(0%) saturate(3607%) hue-rotate(192deg) brightness(95%) contrast(83%);
  content: "";
}
@media screen and (max-width: 767px) {
  .c-navi-mega__link::before {
    width: 2rem !important;
  }
}
.c-navi-mega__link--home::before {
  width: 1.3rem;
  height: 1.5rem;
  background: url(../images/common/icon_home.svg) no-repeat center center/contain;
}
.c-navi-mega__link--gourmet::before {
  width: 1.6rem;
  height: 1.5rem;
  background: url(../images/common/icon_gourmet.svg) no-repeat center center/contain;
}
.c-navi-mega__link--living::before {
  width: 2.1rem;
  height: 1.6rem;
  background: url(../images/common/icon_living.svg) no-repeat center center/contain;
}
.c-navi-mega__link--hospital::before {
  width: 1.6rem;
  height: 1.6rem;
  background: url(../images/common/icon_hospital.svg) no-repeat center center/contain;
}
.c-navi-mega__link--sightseeing::before {
  width: 1.7rem;
  height: 1.6rem;
  background: url(../images/common/icon_sightseeing.svg) no-repeat center center/contain;
}
.c-navi-mega__link--event::before {
  width: 1.5rem;
  height: 1.6rem;
  background: url(../images/common/icon_event.svg) no-repeat center center/contain;
}
.c-navi-mega__link--topics::before {
  width: 1.8rem;
  height: 1.4rem;
  background: url(../images/common/icon_topics.svg) no-repeat center center/contain;
}
.c-navi-mega__link--special::before {
  width: 1.8rem;
  height: 1.6rem;
  background: url(../images/common/icon_special.svg) no-repeat center center/contain;
}
.c-navi-mega__link--others::before {
  width: 1.6rem;
  height: 1.6rem;
  background: url(../images/common/icon_others.svg) no-repeat center center/contain;
}
.c-navi-mega__submenu {
  position: absolute;
  top: 100%;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  row-gap: 1.8rem;
  width: 100%;
  padding: 3rem 4rem;
  color: #fff;
  background: url(../images/common/bg_pock-main.png) center center/80% auto #fff;
  display: none;
}
@media screen and (max-width: 767px) {
  .c-navi-mega__submenu {
    position: static;
    display: block;
    width: calc(100% + 6rem);
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: url(../images/common/bg_pock-sp.png) center center/80% auto #fff;
  }
}
.c-navi-mega__submenu-link {
  padding-right: 2rem;
  background: url(../images/common/icon_link.svg) no-repeat right center/1.6rem auto;
}
@media screen and (max-width: 767px) {
  .c-navi-mega__submenu-link {
    width: 100%;
    padding: 0.5rem 0 0.5rem 5rem;
    color: #EE721F;
    background: none;
  }
}

/*----------------------------------------------------------------------------
	c-navi-pages
----------------------------------------------------------------------------*/
.c-navi-pages {
  display: flex;
  -moz-column-gap: 3.1rem;
       column-gap: 3.1rem;
  row-gap: 0.5rem;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-navi-pages {
    flex-wrap: wrap;
    padding: 1rem;
    background-color: #fff;
  }
}

/*----------------------------------------------------------------------------
	c-aside-banner
----------------------------------------------------------------------------*/
.c-aside-banner {
  padding: 2.4rem;
  background: url(../images/common/bg_pock-sub.png) center center/80% auto #FFFEFA;
}
.c-aside-banner__list {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: repeat(auto-fit, minmax(24.5rem, auto));
  justify-content: center;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .c-aside-banner__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem;
  }
}
.c-aside-banner__list a {
  display: block;
}
.c-aside-banner__list img {
  width: 100%;
}

/*----------------------------------------------------------------------------
	c-card-article
----------------------------------------------------------------------------*/
.c-card-article > a {
  display: block;
}
.c-card-article__title {
  padding: 0 1rem;
  font-weight: bold;
}
.c-card-article__thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
}
.c-card-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
  padding: 0 1rem;
}
.c-card-article__tags-item {
  padding: 0.4rem 1.2rem 0.3rem 1.2rem;
  color: #EE721F;
  font-size: var(--font-size-text-xsmall);
  line-height: 1;
  border: 1px solid #EE721F;
  background-color: #fff;
  border-radius: 2rem;
}
.c-card-article__tags-item::before {
  content: "#";
}
.c-card-article__tags-item--area {
  color: #2C3E50;
  border-color: #2C3E50;
}
.c-card-article__tags-item--for-paid-customer {
  color: #76C593;
  border-color: #76C593;
}
.c-card-article__date {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0 1rem;
  font-size: var(--font-size-text-xsmall);
}
.c-card-article--pickup .c-card-article__thumbnail {
  margin-bottom: 1rem;
  aspect-ratio: 335/188;
  overflow: hidden;
  border-radius: 0 2rem 0 2rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
}
@media screen and (max-width: 767px) {
  .c-card-article--pickup .c-card-article__thumbnail {
    border: 0 1rem 0 1rem;
  }
}
.c-card-article--pickup .c-card-article__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-card-article--pickup .c-card-article__thumbnail::before {
  position: absolute;
  top: 0;
  left: 1rem;
  width: 5.3rem;
  height: 3.4rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  line-height: 3.5rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 90%, 0 100%);
  background: url(../images/common/bg_pock-main.png) center center/80% auto;
  content: "PICK UP";
  z-index: 1;
  pointer-events: none;
}
.c-card-article--pickup .c-card-article__title {
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-card-article--pickup .c-card-article__title {
    font-size: 1.4rem;
  }
}
.c-card-article--basic {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .c-card-article--basic {
    gap: 0.8rem;
  }
}
.c-card-article--basic > a {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .c-card-article--basic > a {
    gap: 0.8rem;
  }
}
.c-card-article--basic .c-card-article__thumbnail {
  aspect-ratio: 1;
  width: 10rem;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
}
@media screen and (max-width: 767px) {
  .c-card-article--basic .c-card-article__thumbnail {
    width: 6rem;
  }
}
.c-card-article--basic .c-card-article__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-card-article--basic .c-card-article__content {
  flex: 1;
}
.c-card-article--basic .c-card-article__title {
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-card-article--basic .c-card-article__title {
    font-size: 1.3rem;
  }
}
.c-card-article--basic .c-card-article__tags,
.c-card-article--basic .c-card-article__date {
  padding: 0;
}
.c-card-article--popular {
  position: relative;
}
.c-card-article--popular::before {
  position: absolute;
  top: 0;
  left: 3%;
  width: 3rem;
  height: 2.7rem;
  color: #fff;
  font-size: var(--font-size-text-large);
  font-weight: 900;
  text-align: center;
  line-height: 1.6;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 90%, 0 100%);
  background: url(../images/common/bg_pock-main.png) center center/80% auto;
  counter-increment: number 1;
  content: counter(number) " ";
  z-index: 1;
  pointer-events: none;
}
.c-card-article--popular:not(.p-top-popular__slider > div):first-child::before {
  width: 6rem;
  height: 5.4rem;
  font-size: 3.2rem;
}
.c-card-article--popular .c-card-article__thumbnail {
  margin-bottom: 1rem;
  aspect-ratio: 250/141;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
}
.c-card-article--popular .c-card-article__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-card-article--popular .c-card-article__title {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: 1.5;
}

/*----------------------------------------------------------------------------
	c-card-gourmet
----------------------------------------------------------------------------*/
.c-card-gourmet {
  position: relative;
}
.c-card-gourmet--has-coupon::before, .c-card-gourmet--has-coupon::after {
  position: absolute;
  top: 0.4rem;
  height: 2.4rem;
  pointer-events: none;
  z-index: 1;
}
.c-card-gourmet--has-coupon::before {
  left: 0;
  width: 7rem;
  padding-left: 0.3rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 2.4rem;
  background-color: #76C593;
  clip-path: polygon(0 0, 100% 0, 90% 50%, 100% 100%, 0 100%);
  content: "クーポン";
}
.c-card-gourmet--has-coupon::after {
  position: absolute;
  left: 5.5rem;
  width: 1px;
  background-size: 1px 5px;
  background-image: linear-gradient(to bottom, #fff, #fff 4px, transparent 4px, transparent 5px);
  background-repeat: repeat-y;
  content: "";
}
.c-card-gourmet > a {
  display: block;
}
.c-card-gourmet__thumbnail {
  aspect-ratio: 213/159;
  margin-bottom: 1rem;
  border-radius: 0 0.5rem 0 0.5rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
  overflow: hidden;
}
.c-card-gourmet__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-card-gourmet__content {
  padding: 0 0.5rem;
}
.c-card-gourmet__title {
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
  font-weight: 700;
}
.c-card-gourmet__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.c-card-gourmet__tags-item {
  padding: 0.4rem 1.2rem 0.3rem 1.2rem;
  color: #EE721F;
  font-size: var(--font-size-text-xsmall);
  line-height: 1;
  border: 1px solid #EE721F;
  background-color: #fff;
  border-radius: 2rem;
}
.c-card-gourmet__tags-item::before {
  content: "#";
}
.c-card-gourmet__tags-item--area {
  color: #2C3E50;
  border-color: #2C3E50;
}
.c-card-gourmet__date {
  margin-bottom: 1rem;
  font-size: 1.1rem;
}
.c-card-gourmet__date span {
  display: block;
}
.c-card-gourmet__buttons {
  display: flex;
  gap: 0.5rem;
}
.c-card-gourmet__button {
  flex: 1;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  line-height: 2.4rem;
  border-radius: 0.5rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
}
.c-card-gourmet__button--special {
  background: url(../images/common/bg_pock-main.png) center center/80% auto #fff;
}
.c-card-gourmet__button--coupon {
  background-color: #76C593;
}

/*----------------------------------------------------------------------------
	c-card-hospital
----------------------------------------------------------------------------*/
.c-card-hospital__flex {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .c-card-hospital__flex {
    flex-direction: column;
    margin-bottom: 1rem;
  }
}
.c-card-hospital__thumbnail {
  aspect-ratio: 200/143;
  width: 20rem;
  border-radius: 0.5rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-card-hospital__thumbnail {
    aspect-ratio: 355/236;
    width: 100%;
    border-radius: 1rem;
  }
}
.c-card-hospital__thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
}
.c-card-hospital__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-card-hospital__content {
  flex: 1;
}
.c-card-hospital__title {
  margin-bottom: 0.5rem;
  color: #EE721F;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-card-hospital__title {
    font-size: 2rem;
  }
}
.c-card-hospital__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.c-card-hospital__tags-item {
  padding: 0.4rem 1.2rem 0.3rem 1.2rem;
  color: #EE721F;
  font-size: var(--font-size-text-xsmall);
  line-height: 1;
  border: 1px solid #EE721F;
  background-color: #fff;
  border-radius: 2rem;
}
.c-card-hospital__tags-item::before {
  content: "#";
}
.c-card-hospital__tags-item--area {
  color: #2C3E50;
  border-color: #2C3E50;
}
.c-card-hospital__data {
  display: flex;
  align-items: flex-start;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-card-hospital__data {
    font-size: 1.4rem;
  }
}
.c-card-hospital__data dt::after {
  content: "：";
}
.c-card-hospital__data dd {
  flex: 1;
}
.c-card-hospital__description {
  margin-bottom: 2rem;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-card-hospital__description {
    margin-bottom: 1rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-card-hospital__timetable {
    overflow-x: auto;
    padding-bottom: 0.5rem;
    scrollbar-width: thin;
    scrollbar-color: #EE721F #FFFEFA;
  }
  .c-card-hospital__timetable::-webkit-scrollbar {
    width: 1rem;
  }
  .c-card-hospital__timetable::-webkit-scrollbar-thumb {
    background-color: #EE721F;
  }
  .c-card-hospital__timetable::-webkit-scrollbar-track {
    background-color: #FFFEFA;
    border: 1px solid #C9BEB7;
  }
  .c-card-hospital__timetable::-webkit-scrollbar-corner {
    background-color: transparent;
  }
}
.c-card-hospital__timetable table {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-card-hospital__timetable table {
    white-space: nowrap;
  }
}
.c-card-hospital__timetable table th, .c-card-hospital__timetable table td {
  padding: 1rem;
  font-size: 1.3rem;
  font-weight: 400;
  text-align: center;
  border: 1px solid rgba(62, 58, 57, 0.3);
}
.c-card-hospital__timetable table th:first-child, .c-card-hospital__timetable table td:first-child {
  width: 14rem;
}
@media screen and (max-width: 767px) {
  .c-card-hospital__timetable table th:first-child, .c-card-hospital__timetable table td:first-child {
    min-width: 14rem;
  }
}
.c-card-hospital__timetable table th:not(:first-child), .c-card-hospital__timetable table td:not(:first-child) {
  width: 8rem;
}
@media screen and (max-width: 767px) {
  .c-card-hospital__timetable table th:not(:first-child), .c-card-hospital__timetable table td:not(:first-child) {
    min-width: 8rem;
  }
}
.c-card-hospital__timetable table th {
  color: #fff;
  background-color: #EE721F;
  border: 1px solid #FFFEFA;
}
.c-card-hospital__timetable table td {
  background-color: #fff;
  border: 1px solid #C9BEB7;
}
.c-card-hospital__note {
  margin-top: 1rem;
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .c-card-hospital__note {
    font-size: 1.2rem;
  }
}
.c-card-hospital__link {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
}
.c-card-hospital__link a {
  width: 100%;
}

/*----------------------------------------------------------------------------
	c-card-sightseeing
----------------------------------------------------------------------------*/
.c-card-sightseeing > a {
  display: block;
}
.c-card-sightseeing__thumbnail {
  aspect-ratio: 213/142;
  margin-bottom: 1rem;
  border-radius: 0.5rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
  overflow: hidden;
}
.c-card-sightseeing__thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
}
.c-card-sightseeing__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-card-sightseeing__content {
  padding: 0 0.5rem;
}
.c-card-sightseeing__description {
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}
.c-card-sightseeing__title {
  margin-bottom: 0.5rem;
  color: #EE721F;
  font-size: 1.6rem;
  font-weight: 700;
}
.c-card-sightseeing__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.c-card-sightseeing__tags-item {
  padding: 0.4rem 1.2rem 0.3rem 1.2rem;
  color: #EE721F;
  font-size: var(--font-size-text-xsmall);
  line-height: 1;
  border: 1px solid #EE721F;
  background-color: #fff;
  border-radius: 2rem;
}
.c-card-sightseeing__tags-item::before {
  content: "#";
}
.c-card-sightseeing__tags-item--area {
  color: #2C3E50;
  border-color: #2C3E50;
}
.c-card-sightseeing__date {
  margin-bottom: 1rem;
  font-size: 1.1rem;
}
.c-card-sightseeing__date span {
  display: block;
}

/*----------------------------------------------------------------------------
	c-card-event
----------------------------------------------------------------------------*/
.c-card-event {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .c-card-event {
    gap: 1.5rem;
  }
}
.c-card-event > a {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .c-card-event > a {
    gap: 1.5rem;
  }
}
.c-card-event__title {
  margin-bottom: 1rem;
  color: #EE721F;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-card-event__title {
    font-size: 1.2rem;
  }
}
.c-card-event__thumbnail {
  aspect-ratio: 1;
  width: 21.3rem;
  padding: 1rem;
  border: 1px solid #C9BEB7;
}
@media screen and (max-width: 767px) {
  .c-card-event__thumbnail {
    width: 13rem;
  }
}
.c-card-event__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
}
.c-card-event__content {
  flex: 1;
}
.c-card-event__description {
  margin-bottom: 1rem;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-card-event__description {
    font-size: 1rem;
  }
}
.c-card-event__data.c-block-basic-information {
  padding: 0;
  background-color: initial;
  border-radius: 0;
}
.c-card-event__data.c-block-basic-information__title {
  display: none;
}
.c-card-event__data dl {
  display: flex;
  align-items: flex-start;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-card-event__data dl {
    font-size: 1rem;
  }
}
.c-card-event__data dl:first-of-type dt, .c-card-event__data dl:first-of-type dd {
  color: #EE721F;
  font-weight: 700;
}

/*----------------------------------------------------------------------------
	c-card-special
----------------------------------------------------------------------------*/
.c-card-special > a {
  display: block;
}
.c-card-special__thumbnail {
  aspect-ratio: 213/142;
  margin-bottom: 1rem;
  border-radius: 0.5rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
  overflow: hidden;
}
.c-card-special__thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
}
.c-card-special__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-card-special__content {
  padding: 0 0.5rem;
}
.c-card-special__title {
  margin-bottom: 0.5rem;
  color: #EE721F;
  font-size: 1.6rem;
  font-weight: 700;
}
.c-card-special__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.c-card-special__tags-item {
  padding: 0.4rem 1.2rem 0.3rem 1.2rem;
  color: #EE721F;
  font-size: var(--font-size-text-xsmall);
  line-height: 1;
  border: 1px solid #EE721F;
  background-color: #fff;
  border-radius: 2rem;
  transition: background-color 0.3s, color 0.3s;
}
.c-card-special__tags-item::before {
  content: "#";
}
.c-card-special__tags-item:hover {
  color: #fff;
  background-color: #EE721F;
  opacity: 1;
}
.c-card-special__tags-item--area {
  color: #2C3E50;
  border-color: #2C3E50;
}
.c-card-special__date {
  margin-bottom: 1rem;
  font-size: 1.1rem;
}
.c-card-special__date span {
  display: block;
}

/*----------------------------------------------------------------------------
	c-card-coupon
----------------------------------------------------------------------------*/
.c-card-coupon {
  position: relative;
}
.c-card-coupon--for-paid-customer::before, .c-card-coupon--for-paid-customer::after {
  position: absolute;
  top: 1rem;
  height: 2.4rem;
  pointer-events: none;
  z-index: 1;
}
.c-card-coupon--for-paid-customer::before {
  left: 0;
  width: 13rem;
  padding-left: 0.4rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 2.4rem;
  background-color: #76C593;
  clip-path: polygon(0 0, 100% 0, 90% 50%, 100% 100%, 0 100%);
  content: "プレミアム会員限定";
}
.c-card-coupon--for-paid-customer::after {
  position: absolute;
  left: 11.3rem;
  width: 1px;
  background-size: 1px 5px;
  background-image: linear-gradient(to bottom, #fff, #fff 4px, transparent 4px, transparent 5px);
  background-repeat: repeat-y;
  content: "";
}
.c-card-coupon > a {
  background-color: rgba(238, 114, 31, 0.15);
  border: 1px solid #C9BEB7;
  border-radius: 0.5rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
  overflow: hidden;
}
.c-card-coupon__thumbnail {
  margin-bottom: 0.8rem;
  aspect-ratio: 213/142;
  overflow: hidden;
}
.c-card-coupon__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-card-coupon__title {
  margin-bottom: 0.3rem;
  padding: 0 1rem;
  color: #EE721F;
  font-size: 1.6rem;
  font-weight: 700;
}
.c-card-coupon__shop {
  margin-bottom: 0.3rem;
  padding: 0 1rem;
  font-size: 1.1rem;
}
.c-card-coupon__limit {
  margin-bottom: 0.8rem;
  padding: 0 1rem;
  font-size: 1.1rem;
}
.c-card-coupon__content {
  margin-bottom: 0.8rem;
  padding: 0.5rem 1rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 900;
  text-align: center;
  background: url(../images/common/bg_pock-main.png) center center/80% auto #fff;
}
.c-card-coupon__get {
  padding-bottom: 0.5rem;
  color: #EE721F;
  font-size: 1.6rem;
  font-weight: 900;
  text-align: center;
}

/*----------------------------------------------------------------------------
	c-promotion
----------------------------------------------------------------------------*/
.c-promotion {
  padding: 8rem 0 0 0;
  text-align: center;
}
.c-promotion__title {
  margin-bottom: 0.5rem;
  padding-top: 6.2rem;
  font-size: 4rem;
  font-weight: 700;
  background: url(../images/common/icon_lock.png) no-repeat center top/5.4rem auto;
}
@media screen and (max-width: 767px) {
  .c-promotion__title {
    margin-bottom: 1rem;
    padding-top: 5rem;
    font-size: 3rem;
    background-size: 4rem;
  }
}
.c-promotion__title strong {
  color: #EE721F;
  font-weight: 700;
}
.c-promotion__lead {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
}
.c-promotion__box {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 60rem;
  margin: 3rem auto 0 auto;
  padding: 4rem 2rem;
  font-size: 1.6rem;
  border: 1px solid #D8D8D8;
  border-radius: 2rem;
  background-color: #fff;
}
.c-promotion__box--single {
  width: 100%;
  max-width: initial;
  text-align: center;
}
.c-promotion__box-title {
  font-size: 3rem;
  font-weight: 700;
}
.c-promotion__box-text a {
  color: #EE721F;
  font-weight: 700;
}
.c-promotion__button--paid {
  margin-top: 4rem;
}
.c-promotion__premium-link {
  color: #A98A3E;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}
.c-promotion__premium-link a {
  text-decoration: underline;
}

/*----------------------------------------------------------------------------
	c-sidebar
----------------------------------------------------------------------------*/
.c-sidebar__search input[type=text] {
  flex: 1;
}
.c-sidebar > *:first-of-type .c-sidebar__title {
  margin-top: 0;
}
.c-sidebar__title {
  position: relative;
  margin: 4rem 0 2rem 0;
  color: #EE721F;
  font-size: 2.2rem;
  text-align: center;
}
.c-sidebar__title::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #EE721F;
  content: "";
}
.c-sidebar__title span {
  position: relative;
  display: inline-block;
  padding: 0 1.5rem;
  background-color: #FFFEFA;
}
.c-sidebar__category-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: flex-start;
  gap: 1.6rem;
}
.c-sidebar__category-link {
  position: relative;
  padding-left: 2.1rem;
}
.c-sidebar__category-link::before {
  position: absolute;
  top: 50%;
  left: 0;
  aspect-ratio: 1;
  width: 1.6rem;
  background: url(../images/common/icon_link.svg) no-repeat center center/contain;
  transform: translateY(-50%);
  filter: brightness(0) saturate(100%) invert(61%) sepia(82%) saturate(3600%) hue-rotate(349deg) brightness(97%) contrast(92%);
  content: "";
}
.c-sidebar__popular-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.c-sidebar__popular-card {
  display: flex;
  gap: 2rem;
}
.c-sidebar__popular-card > a {
  display: flex;
  gap: 2rem;
}
.c-sidebar__popular-thumbnail {
  aspect-ratio: 1;
  width: 9rem;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 1px 1px 8px 0px rgba(255, 204, 162, 0.4);
}
@media screen and (max-width: 767px) {
  .c-sidebar__popular-thumbnail {
    width: 6rem;
  }
}
.c-sidebar__popular-thumbnail a {
  display: block;
  height: 100%;
}
.c-sidebar__popular-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-sidebar__popular-content {
  flex: 1;
}
.c-sidebar__popular-title {
  margin-bottom: 1rem;
  font-size: 1.3rem;
  font-weight: 700;
}
.c-sidebar__popular-date {
  font-size: 1rem;
}
.c-sidebar__popular-date span {
  display: block;
}

/*----------------------------------------------------------------------------
	c-event-calendar
----------------------------------------------------------------------------*/
.c-event-calendar .c-sidebar__title {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .c-event-calendar .c-sidebar__title {
    display: none;
  }
}
.c-event-calendar {
  /* 共通枠 */
}
.c-event-calendar__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 12px 0 28px;
  padding: 10px;
  box-sizing: border-box;
}
.c-event-calendar {
  /* 使い方メッセージ */
}
.c-event-calendar__notice {
  font-size: 13px;
  color: #666;
  margin: 12px 0 8px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-event-calendar__notice {
    font-size: 12px;
    margin: 0 0 8px;
  }
}
.c-event-calendar__meta {
  width: 360px;
  max-width: 100%;
  margin-top: 12px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
}
.c-event-calendar__meta strong {
  color: #EE721F;
}
.c-event-calendar__clear {
  text-decoration: underline;
  cursor: pointer;
}
.c-event-calendar {
  /* flatpickr 本体の幅（ベース） */
}
.c-event-calendar .flatpickr-calendar {
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: none;
}
.c-event-calendar {
  /* PC：中央寄せ＆幅固定（ズレ対策） */
}
@media screen and (min-width: 768px) {
  .c-event-calendar .flatpickr-calendar {
    margin: 0 auto;
    width: 360px;
    max-width: 100%;
  }
  .c-event-calendar .flatpickr-rContainer,
  .c-event-calendar .flatpickr-days,
  .c-event-calendar .dayContainer {
    width: 360px;
    min-width: initial;
    max-width: 100%;
  }
}
.c-event-calendar .flatpickr-day.selected,
.c-event-calendar .flatpickr-day.selected:hover {
  background-color: #EE721F !important;
  border-color: #EE721F !important;
}

/*----------------------------------------------------------------------------
	c-event-image
----------------------------------------------------------------------------*/
.c-event-image-button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.c-event-image-button:hover {
  transform: scale(1.02);
  opacity: 0.92;
}
.c-event-image-button img {
  display: block;
  width: 100%;
  height: auto;
}
.c-event-image-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.22s ease, visibility 0.22s ease;
}
.c-event-image-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.c-event-image-modal.is-open .c-event-image-modal__dialog {
  transform: translate(-50%, -50%) scale(1);
}
.c-event-image-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}
.c-event-image-modal__dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.96);
  width: min(92vw, 960px);
  max-height: 90vh;
  transition: transform 0.22s ease;
}
.c-event-image-modal__image {
  display: block;
  width: 100%;
  max-height: 90vh;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 12px;
  background: #fff;
}
.c-event-image-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #333;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

body.is-event-image-modal-open {
  overflow: hidden;
}

/*----------------------------------------------------------------------------
	c-filter
----------------------------------------------------------------------------*/
.c-filter {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin: 1.2rem 0 1.6rem;
}
.c-filter__button {
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #fff;
  border-radius: 999px;
  padding: 0.6rem 1.2rem;
  cursor: pointer;
  font-size: 1.3rem;
}
.c-filter__button.is-active {
  border-color: rgba(0, 0, 0, 0.45);
  font-weight: 700;
}

/*----------------------------------------------------------------------------
  .l-inner
----------------------------------------------------------------------------*/
.l-inner {
  max-width: 110rem;
  margin: 0 auto;
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding: 0 1rem;
  }
}
.l-inner--large {
  max-width: 144rem;
}
.l-inner--small {
  max-width: 98rem;
}
.l-inner--xsmall {
  max-width: 86rem;
}

/*----------------------------------------------------------------------------
	.l-header
----------------------------------------------------------------------------*/
.l-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  padding: 2.4rem 0 0 0;
  background: url(../images/common/bg_pock-sub.png) center center/80% auto #FFFEFA;
  box-shadow: 0px 0.4rem 2rem 0px rgba(171, 156, 133, 0.51);
  transition: transform 0.4s ease-in-out;
  z-index: 999;
}
@media screen and (max-width: 899px) {
  .l-header {
    padding: 1rem 0 1.5rem 0;
  }
}
.l-header__inner {
  padding: 0 3rem;
}
@media screen and (max-width: 899px) {
  .l-header__inner {
    padding: 0 1rem;
  }
}
.l-header__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 1099px) {
  .l-header__row {
    row-gap: 1.5rem;
  }
}
.l-header__logo {
  width: 22rem;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    width: 14rem;
    margin-right: 1rem;
  }
}
.l-header__logo a {
  display: block;
}
.l-header__logo img {
  width: 100%;
}
@media screen and (max-width: 899px) {
  .l-header__weather {
    width: calc(100% - 25rem);
  }
}
@media screen and (max-width: 767px) {
  .l-header__weather {
    width: auto;
    margin-right: 0;
  }
  .l-header__weather .c-widget-weather__data {
    display: none;
  }
}
.l-header__sns {
  margin: 0 auto 0 1rem;
}
@media screen and (max-width: 899px) {
  .l-header__sns {
    order: 5;
  }
}
@media screen and (max-width: 767px) {
  .l-header__sns {
    display: none;
  }
}
.l-header__search {
  margin-left: auto;
}
@media screen and (max-width: 1099px) {
  .l-header__search {
    order: 7;
    width: 100%;
  }
  .l-header__search .c-form-search__input {
    width: 100%;
  }
}
.l-header__coupon {
  margin-left: 1rem;
}
@media screen and (max-width: 899px) {
  .l-header__coupon {
    order: 4;
  }
}
@media screen and (max-width: 767px) {
  .l-header__coupon {
    order: 2;
    margin: 0 auto 0 0;
  }
}
.l-header__control {
  margin-left: 1rem;
}
@media screen and (max-width: 899px) {
  .l-header__control {
    order: 6;
  }
}
@media screen and (max-width: 767px) {
  .l-header__control {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .l-header__trigger {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header__trigger {
    order: 3;
  }
}
@media screen and (max-width: 899px) {
  .l-header__megamenu {
    display: none;
  }
}

/*----------------------------------------------------------------------------
	.l-footer
----------------------------------------------------------------------------*/
.l-footer {
  background: url(../images/common/bg_pock-sub.png) center center/80% auto #FFFEFA;
}
.l-footer__inner {
  padding: 2rem 3rem;
  background: rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    padding: 4rem 2rem;
  }
}
.l-footer__flex {
  display: grid;
  grid-template-columns: 16rem 1fr;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .l-footer__flex {
    align-items: flex-start;
    grid-template-columns: 16.2rem 15rem;
  }
}
.l-footer__sitelogo {
  width: 16rem;
}
@media screen and (max-width: 767px) {
  .l-footer__sitelogo {
    margin-top: 2rem;
  }
}
.l-footer__sitelogo a {
  display: block;
}
.l-footer__sitelogo img {
  width: 100%;
}
.l-footer__copyright {
  margin-top: 1rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    text-align: center;
  }
}
.l-footer__menu {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .l-footer__menu {
    grid-column: 2/3;
    grid-row: 1/5;
    margin: 0;
  }
}
.l-footer__menu .c-navi-pages {
  justify-content: flex-end;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .l-footer__menu .c-navi-pages {
    flex-direction: column;
    row-gap: 0.4rem;
    padding: 0;
    background: none;
  }
}
.l-footer__sns {
  margin-top: -1rem;
}
@media screen and (max-width: 767px) {
  .l-footer__sns {
    margin-top: 3rem;
  }
}
.l-footer__sns .c-list-sns {
  justify-content: flex-end;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .l-footer__sns .c-list-sns {
    justify-content: center;
    gap: 3rem;
  }
}

/*----------------------------------------------------------------------------
	.l-glnavi
----------------------------------------------------------------------------*/
.l-glnavi.is-open {
  visibility: visible;
  opacity: 1;
}

.l-glnavi {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 2.4rem 3rem 3rem 3rem;
  z-index: 9999;
  background: url(../images/common/bg_pock-sub.png) center center/80% auto #FFFEFA;
  box-shadow: 0px 0.4rem 2rem 0px rgba(171, 156, 133, 0.51);
}
@media screen and (max-width: 767px) {
  .l-glnavi {
    height: 100%;
    padding: 0;
    overflow-y: auto;
  }
}
.l-glnavi__row01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .l-glnavi__row01 {
    padding: 1rem 1rem 0 1rem;
    margin-bottom: 1rem;
  }
}
.l-glnavi__row02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-glnavi__row02 {
    flex-wrap: wrap;
    row-gap: 1rem;
    padding: 0 1rem 1.5rem 1rem;
  }
}
.l-glnavi__logo {
  width: 13.5rem;
  margin-right: 1rem;
}
@media screen and (max-width: 767px) {
  .l-glnavi__logo {
    width: 9.8rem;
  }
}
.l-glnavi__logo a {
  display: block;
}
.l-glnavi__logo img {
  width: 100%;
}
.l-glnavi__weather {
  margin: 0 2rem 0 auto;
}
@media screen and (max-width: 767px) {
  .l-glnavi__weather {
    margin: 0 auto 0 0;
  }
}
.l-glnavi__sns {
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .l-glnavi__sns {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-glnavi__control {
    min-width: 40%;
  }
}
.l-glnavi__search {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .l-glnavi__search {
    order: 5;
  }
}
.l-glnavi__coupon {
  margin: 0 2rem 0 auto;
}
@media screen and (max-width: 767px) {
  .l-glnavi__coupon {
    margin: 0 1rem 0 0;
  }
}
.l-glnavi__megamenu {
  margin: 0.5rem 0 1rem 0;
}
@media screen and (max-width: 767px) {
  .l-glnavi__megamenu {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-glnavi__menu .c-navi-pages {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.5rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .l-glnavi__menu .c-navi-pages__item {
    text-align: center;
  }
}

/*----------------------------------------------------------------------------
  .l-column
----------------------------------------------------------------------------*/
.l-column {
  display: flex;
  gap: 5rem;
}
@media screen and (max-width: 899px) {
  .l-column {
    flex-direction: column;
  }
}
.l-column__main {
  flex: 1;
}
.l-column__side {
  width: 32rem;
}
@media screen and (max-width: 767px) {
  .l-column__side {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .l-column__side .c-event-calendar {
    margin-top: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .u-hide--pc {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-hide--sp {
    display: none !important;
  }
}

.u-inlineblock {
  display: inline-block;
}

.u-animate--fadeInUp {
  visibility: hidden;
}
.u-animate--fadeInUp.is-animated {
  animation: animate-fadeInUp 1.5s ease 0s both 1 normal;
  visibility: visible !important;
}

@keyframes animate-fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}/*# sourceMappingURL=common.css.map */