@charset "UTF-8";
:root {
  --interval05em: 0.8rem;
  --interval1em: 1.6rem;
  --interval2em: 3.2rem;
  --interval3em: 4.8rem;
  --interval4em: 6.4rem;
  --interval5em: 8rem;
  --interval6em: 9.6rem;
  --interval7em: 11.2rem;
  --color_y: #F7DF77;
  --color_font: #9E723D;
  --color_marker: #FFF34E;
  --top_color_g: #D9ECD8;
  --top_color_y: #FFF5D1;
  --top_color_cpbtn_mousikomi: #F7B656;
  --ft_bg_color: #F6E7AC;
  --color_topic_event: #FFF78F;
  --color_topic_shop: #F5BBD4;
  --color_topic_komeko: #98D6F6;
  --color_topic_colum: #F9C587;
  --color_topic_all: #D2BED9;
  --color_topic_inactive: #B5B5B6;
  --lineH_n: 1.4em;
  --lineH_m: 1.6em;
  --lineH_l: 1.8em;
}

/********************************************
KVcss
********************************************/
.kv_sec {
  padding: var(--interval5em) var(--interval1em);
  position: relative;
}
@media screen and (max-width: 1416px) {
  .kv_sec {
    padding: var(--interval4em) var(--interval1em);
  }
}
@media screen and (max-width: 968px) {
  .kv_sec {
    padding: var(--interval3em) var(--interval1em);
  }
}
@media screen and (max-width: 480px) {
  .kv_sec {
    padding: var(--interval2em) var(--interval1em);
  }
}
.kv_sec::after {
  content: "";
  width: 100%;
  background-image: url("../img/bg_kome.svg");
  background-repeat: space;
  top: 0;
  left: 0;
  position: absolute;
  height: 30px;
}
@media screen and (max-width: 1280px) {
  .kv_sec::after {
    height: 25px;
  }
}
@media screen and (max-width: 480px) {
  .kv_sec::after {
    height: 18px;
  }
}
.kv_sec::before {
  content: "";
  width: 100%;
  background-image: url("../img/bg_kome.svg");
  background-repeat: space;
  bottom: 1em;
  left: 0;
  position: absolute;
  height: 30px;
}
@media screen and (max-width: 1280px) {
  .kv_sec::before {
    height: 25px;
  }
}
@media screen and (max-width: 480px) {
  .kv_sec::before {
    height: 18px;
  }
}

.kv_sec--main {
  background-image: url("../img/kv_bg.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 1920/600;
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .kv_sec--main {
    background-image: url("../img/kv_bg_mobile.svg");
    aspect-ratio: 778/677;
    margin-bottom: 1em;
    position: relative;
  }
}

.kv_sec--main--inner {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .kv_sec--main--inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

.kv_sec--main--txt {
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
  color: var(--color_font);
  font-weight: bold;
  font-size: clamp(3.2rem, 3.365vw, 4.8rem);
  margin-bottom: 0.8em;
}
@media screen and (max-width: 968px) {
  .kv_sec--main--txt {
    font-size: clamp(1.8rem, 3.33vw, 3rem);
  }
}
@media screen and (max-width: 768px) {
  .kv_sec--main--txt {
    font-size: clamp(2.2rem, 5.92vw, 4.2rem);
    margin-bottom: 0.6em;
    margin-top: 0.3em;
  }
}

.kv_sec--main--logo {
  aspect-ratio: 439/416;
  width: 26%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .kv_sec--main--logo {
    width: 50%;
  }
}
@media screen and (max-width: 480px) {
  .kv_sec--main--logo {
    width: 53%;
  }
}
.kv_sec--main--logo h1 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.kv_sec--main--logo h1 img {
  width: 100%;
}

.kv_sec--slider {
  position: relative;
}
@media screen and (max-width: 480px) {
  .kv_sec--slider {
    margin-bottom: 1em;
  }
}

.kv_sec--slider--inner {
  margin: 0 var(--interval2em);
  overflow: visible;
}
@media screen and (max-width: 968px) {
  .kv_sec--slider--inner {
    margin: 0;
  }
}
.kv_sec--slider--inner li a {
  aspect-ratio: 400/275;
  width: 100%;
  height: 100%;
  display: block;
}
.kv_sec--slider--inner li a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* スライダーがはみ出して表示されるように設定 */
.kv_sec--slider--inner .slick-slide {
  margin: 0 10px; /* スライド間の余白を調整 */
}

.slick-list {
  overflow: visible; /* はみ出し表示を有効にする */
}

.slick-arrow {
  z-index: 2 !important;
  width: 60px !important;
  height: 60px !important;
}
@media screen and (max-width: 968px) {
  .slick-arrow {
    width: 30px !important;
    height: 30px !important;
  }
}
.slick-arrow::before {
  content: "" !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.slick-next {
  right: -30px !important;
}
@media screen and (max-width: 968px) {
  .slick-next {
    right: -10px !important;
  }
}
.slick-next::before {
  background: url("../img/slider_arrow_r.svg") !important;
  background-size: contain !important;
}

.slick-prev {
  left: -30px !important;
}
@media screen and (max-width: 968px) {
  .slick-prev {
    left: -10px !important;
  }
}
.slick-prev::before {
  background: url("../img/slider_arrow_l.svg") !important;
  background-size: contain !important;
}

#toggleAutoplay {
  padding: 17px 17px;
  font-size: 16px;
  background-color: #fff;
  color: #fff;
  cursor: pointer;
  position: absolute;
  right: 3em;
  bottom: calc(100% + 1em);
  border: 3px solid #888;
}
@media screen and (max-width: 968px) {
  #toggleAutoplay {
    right: 7px;
  }
}

#toggleAutoplay:hover {
  opacity: 0.8;
}

/* 停止ボタンスタイル */
#toggleAutoplay.playing:after {
  content: "❚❚";
  color: #888;
  font-size: 24px;
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* 再生ボタンスタイル */
#toggleAutoplay.paused:after {
  content: "▶";
  color: #888;
  font-size: 19px;
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sec_sub_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--interval2em);
}
@media screen and (max-width: 480px) {
  .sec_sub_ttl {
    margin-bottom: var(--interval2em);
  }
}
.sec_sub_ttl h4 {
  line-height: var(--lineH_m);
  font-size: 4rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
}
@media screen and (max-width: 1280px) {
  .sec_sub_ttl h4 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .sec_sub_ttl h4 {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 480px) {
  .sec_sub_ttl h4 {
    font-size: clamp(1.8rem, 5.37vw, 2.4rem);
  }
}

.sec_txt {
  text-align: center;
  font-weight: 600;
  line-height: var(--lineH_l);
  margin-bottom: var(--interval3em);
}
@media screen and (max-width: 480px) {
  .sec_txt {
    font-size: 1.4rem;
  }
}

.sec_btn_wrap {
  margin-bottom: var(--interval5em);
  display: flex;
  justify-content: center;
  align-items: center;
}

.sec_youtube {
  position: relative;
  padding-bottom: var(--interval3em);
  margin-bottom: var(--interval5em);
}

.sec_youtube_inner {
  display: flex;
  justify-content: space-between;
  gap: 20px 2%;
  flex-wrap: wrap;
  height: auto;
  overflow: visible;
}
@media screen and (max-width: 480px) {
  .sec_youtube_inner {
    flex-direction: column;
  }
}

.sec_youtube_item {
  aspect-ratio: 16/9;
  width: 49%;
}
@media screen and (max-width: 480px) {
  .sec_youtube_item {
    width: 100%;
  }
}
.sec_youtube_item iframe {
  height: 100%;
  width: 100%;
}
.sec_youtube_item > div {
  height: 100%;
  width: 100%;
}

.sec_event_inner {
  border: 3px solid #000;
  padding: var(--interval2em) var(--interval4em);
  background-color: #FFF491;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec_event_inner {
    padding: var(--interval2em) var(--interval3em);
  }
}
@media screen and (max-width: 480px) {
  .sec_event_inner {
    padding: var(--interval2em) var(--interval1em);
  }
}
.sec_event_inner::after, .sec_event_inner::before {
  content: "";
  position: absolute;
  top: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.sec_event_inner::after {
  background-image: url("../img/top_event_decoration_l.svg");
  left: 0;
  aspect-ratio: 160/92;
  width: 12%;
}
.sec_event_inner::before {
  background-image: url("../img/top_event_decoration_r.svg");
  right: 0;
  aspect-ratio: 160/92;
  width: 12%;
}

.sec_event_inner--ttl {
  display: flex;
  justify-content: center;
  margin-bottom: var(--interval3em);
}
@media screen and (max-width: 480px) {
  .sec_event_inner--ttl {
    margin-bottom: var(--interval2em);
  }
}
.sec_event_inner--ttl h3 {
  width: 48%;
  position: relative;
  display: flex;
  aspect-ratio: 503.5/64.5;
  justify-content: center;
  align-items: center;
  font-size: 2.8rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  background-image: url("../img/event_ttl.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 968px) {
  .sec_event_inner--ttl h3 {
    width: 55%;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .sec_event_inner--ttl h3 {
    width: 95%;
  }
}
@media screen and (max-width: 480px) {
  .sec_event_inner--ttl h3 {
    width: 100%;
    font-size: 1.8rem;
  }
}

.sec_event_list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sec_event_list--item {
  text-decoration: none;
  color: #000;
  display: flex;
  gap: 20px;
}
.sec_event_list--item:hover .sec_event_list--item--img img {
  transform: scale(1.2);
  opacity: 0.8;
}
@media screen and (max-width: 480px) {
  .sec_event_list--item {
    flex-direction: column;
  }
}

.sec_event_list--item--img {
  width: calc(46% - 10px);
  aspect-ratio: 16/9;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .sec_event_list--item--img {
    width: 100%;
  }
}
.sec_event_list--item--img img {
  transition: all 0.5s;
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.sec_event_list--item--txt {
  width: calc(54% - 10px);
}
@media screen and (max-width: 480px) {
  .sec_event_list--item--txt {
    width: 100%;
  }
}

.sec_event_list--item--txt--ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: var(--interval1em);
  line-height: var(--lineH_m);
}
@media screen and (max-width: 480px) {
  .sec_event_list--item--txt--ttl {
    font-size: 1.6rem;
  }
}

.sec_event_list--item--txt--p {
  line-height: var(--lineH_m);
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .sec_event_list--item--txt--p {
    font-size: 1.4rem;
  }
}

.section_topics {
  border-top: 4px solid #000;
  border-bottom: 4px solid #000;
  background-color: var(--top_color_g);
}

.sec_shopsearch {
  margin-bottom: var(--interval5em);
}

.sec_shopsearch_ttl {
  display: flex;
}
.sec_shopsearch_ttl h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  margin: 0 1em;
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .sec_shopsearch_ttl h3 {
    font-size: clamp(1.8rem, 5.37vw, 2.4rem);
    margin: 0 0.5em;
  }
}

.sec_shopsearch_searchwrap {
  display: flex;
  border-bottom: 3px solid #000;
  padding: var(--interval3em) 0;
  margin-bottom: var(--interval5em);
}
@media screen and (max-width: 768px) {
  .sec_shopsearch_searchwrap {
    flex-direction: column;
    padding: var(--interval1em) 0;
  }
}

.sec_shopsearch_form {
  position: relative;
}
.sec_shopsearch_form form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}
.sec_shopsearch_form::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 5px;
  height: 100%;
  background-size: 5px 24px;
  background-position: left bottom;
  background-repeat: repeat-y;
  background-image: linear-gradient(to top, #000000 17px, transparent 16px);
}
@media screen and (max-width: 768px) {
  .sec_shopsearch_form::before {
    display: none;
  }
}
.sec_shopsearch_form::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  display: none;
  height: 5px;
  background-size: 24px 5px;
  background-position: left bottom;
  background-repeat: repeat-x;
  background-image: linear-gradient(to right, #000000 13px, transparent 13px);
}
@media screen and (max-width: 768px) {
  .sec_shopsearch_form::after {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .sec_shopsearch_form::after {
    background-size: 13px 6px;
    background-image: linear-gradient(to right, #000000 9px, transparent 9px);
  }
}

.sec_shopsearch_form,
.sec_search_map {
  align-items: center;
  justify-content: space-between;
  width: 50%;
  padding: var(--interval2em) var(--interval5em);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 968px) {
  .sec_shopsearch_form,
  .sec_search_map {
    padding: var(--interval2em) var(--interval2em);
  }
}
@media screen and (max-width: 768px) {
  .sec_shopsearch_form,
  .sec_search_map {
    width: 100%;
    padding: var(--interval3em) 0;
  }
}

.sec_search_list_all {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: var(--interval2em);
}
.sec_search_list_all .sec_search_name--label--inner {
  margin-bottom: 1em;
}

.sec_search_name--label--inner {
  padding-left: 2em;
  position: relative;
  font-weight: bold;
}
.sec_search_name--label--inner::after {
  content: "■";
  position: absolute;
  font-size: 1.2em;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.sec_search_input input,
.sec_search_input select {
  -webkit-appearance: none;
  appearance: none;
  border: 3px solid #000;
  width: 100%;
  padding: 0.4em 0.2em;
  font-size: 1.8rem;
}
@media screen and (max-width: 480px) {
  .sec_search_input input,
  .sec_search_input select {
    font-weight: bold;
    font-size: 1.4rem;
    padding: 0.5em;
  }
}

.sec_search_list_half {
  display: flex;
  margin-bottom: var(--interval2em);
  gap: 20px;
  align-items: center;
}
.sec_search_list_half .sec_search_name {
  width: calc(45% - 10px);
}
.sec_search_list_half .sec_search_input {
  width: calc(55% - 10px);
}
.sec_search_list_half .sec_search_input select {
  background-color: #fff;
  width: 100%;
  color: #000;
}

@media screen and (max-width: 480px) {
  .sec_search_map--btn {
    width: 55%;
  }
}

.section_search {
  border-bottom: 4px solid #000;
  background-color: var(--top_color_y);
}
@media screen and (max-width: 480px) {
  .section_search {
    padding-bottom: 1px;
  }
}

.sec_campaign {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--interval5em);
}
@media screen and (max-width: 968px) {
  .sec_campaign {
    max-width: 500px;
  }
}
@media screen and (max-width: 768px) {
  .sec_campaign {
    max-width: 400px;
  }
}

.sec_campaign--ttl--wrap {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.sec_main_ttl--campaign--img {
  width: 14%;
  margin-bottom: var(--interval1em);
}
@media screen and (max-width: 768px) {
  .sec_main_ttl--campaign--img {
    width: 20%;
  }
}
@media screen and (max-width: 480px) {
  .sec_main_ttl--campaign--img {
    width: 28%;
  }
}
.sec_main_ttl--campaign--img img {
  width: 100%;
}

.sec_main_ttl--campaign--txt {
  display: flex;
  justify-content: center;
  padding: 0 var(--interval2em);
  position: relative;
  background: linear-gradient(transparent 65%, var(--color_marker) 65%);
}
@media screen and (max-width: 768px) {
  .sec_main_ttl--campaign--txt {
    padding: 0;
  }
}

.sec_main_ttl--campaign--txt--inner {
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 4rem;
  position: relative;
  padding: 0 1.5em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sec_main_ttl--campaign--txt--inner {
    font-size: 3.2rem;
    padding: 0 1em;
  }
}
@media screen and (max-width: 480px) {
  .sec_main_ttl--campaign--txt--inner {
    font-size: clamp(2rem, 6vw, 2.8rem);
  }
}
.sec_main_ttl--campaign--txt--inner::after, .sec_main_ttl--campaign--txt--inner::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 3px;
  height: 110%;
  background: black;
  transform: translateY(-50%);
}
.sec_main_ttl--campaign--txt--inner::after {
  left: 1em;
  transform: rotate(-35deg) translateY(-50%);
}
.sec_main_ttl--campaign--txt--inner::before {
  right: 1em;
  transform: rotate(35deg) translateY(-50%);
}

.sec_campaign_inner {
  margin-bottom: var(--interval2em);
}
.sec_campaign_inner:last-child {
  margin-bottom: 0;
}

.sec_campaign_ttl {
  font-weight: bold;
  padding-left: 1.5em;
  position: relative;
  font-size: 2rem;
  margin-bottom: var(--interval2em);
}
@media screen and (max-width: 768px) {
  .sec_campaign_ttl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 480px) {
  .sec_campaign_ttl {
    font-size: 1.6rem;
  }
}
.sec_campaign_ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-40deg);
  width: 1em;
  display: flex;
  aspect-ratio: 1/1;
  height: 100%;
  align-items: center;
  justify-content: center;
  background-image: url(../img/h_nav_icon01.svg);
  background-repeat: no-repeat;
  background-position: center;
}

.sec_campaign_li li {
  margin-bottom: var(--interval05em);
  line-height: var(--lineH_m);
  margin-left: 1.5em;
  position: relative;
  list-style: none;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .sec_campaign_li li {
    font-size: 1.4rem;
  }
}
.sec_campaign_li li:last-child {
  margin-bottom: 0;
}
.sec_campaign_li li::after {
  content: "・";
  position: absolute;
  top: 1em;
  left: -1em;
  transform: translateY(-50%);
}

.sec_campaign_btns--inner {
  width: 30%;
}
@media screen and (max-width: 768px) {
  .sec_campaign_btns--inner {
    width: 40%;
  }
}
@media screen and (max-width: 480px) {
  .sec_campaign_btns--inner {
    width: 90%;
  }
}

.sec_campaign_btns {
  justify-content: center;
  display: flex;
  gap: 40px;
  margin-bottom: var(--interval5em);
}
@media screen and (max-width: 480px) {
  .sec_campaign_btns {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
}

.sec_campaign_btns--inquiry {
  background-color: var(--color_marker);
}

.sec_campaign_btns--app {
  background-color: var(--top_color_cpbtn_mousikomi);
}

.free_inner {
  margin-top: var(--interval6em);
}
@media screen and (max-width: 480px) {
  .free_inner {
    margin-top: var(--interval3em);
  }
}

.sec_txt--inner {
  max-width: 850px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec_txt--inner {
    text-align: left;
  }
}

.scrl_gsap {
  opacity: 0;
  transform: translateY(50px); /* 初期位置を少し下げておく */
  visibility: hidden; /* 初期状態では非表示にする */
}

.kv_sec--main--txt span,
.kv_sec--main--logo {
  opacity: 0;
  visibility: hidden; /* 初期状態で表示しない */
}

.kv_sec--main--txt {
  opacity: 0; /* 初期状態で透明にする */
  visibility: hidden; /* 初期状態で非表示扱いにする */
}

#toggleAutoplay {
  opacity: 0;
  visibility: hidden; /* 初期状態で表示しない */
}/*# sourceMappingURL=top.css.map */