@charset "UTF-8";
/**************************************************************************

	東北の夏祭り特集（JRE MALLショッピング）
	/feature/F000-10129/touhokumatsuri

***************************************************************************/
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@900&display=swap");
/**************************************************************************

	基本設定

***************************************************************************/
/* デフォルトH1テキストを非表示（読み上げ対策） */
.ec-featureRole .ec-featureRole__head {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/* 商品紐付けで自動表示されるアンカーリンクを非表示*/
.slideContentArea:has(.ec-featureItems.buttons) {
  display: none !important;
}

/* コンテンツ設定 */
.ec-layoutRole {
  overflow: clip;
  background-color: #dde9e9 !important;
}

.ec-featureRole__content .ec-featureRole__headdescription {
  padding: 0;
}

.ec-featureRole__content .ec-featureRole__headdescription:has(#matsuri_hanabi) {
  margin-bottom: 0;
}

/* パンくず調整 */
.ec-breadcrumbRole {
  color: #fff;
}

.ec-topicpath .ec-topicpath__item a {
  color: #fff;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .ec-topicpath .ec-topicpath__item a:hover {
    text-decoration: none;
  }
}

.ec-topicpath .ec-topicpath__item img,
.ec-topicpath .ec-topicpath__divider img,
.ec-topicpath .ec-topicpath__item--active img {
  filter: invert(100%);
}

/* 商品エリアのマージン調整 */
#content.gift .ec-giftArea,
#content.gift .ec-giftArea + .ec-giftArea {
  margin: 10.2564102564vw 0;
}
@media print, screen and (min-width: 768px) {
  #content.gift .ec-giftArea,
  #content.gift .ec-giftArea + .ec-giftArea {
    margin: min(6.6666666667vw, 80px) 0;
  }
}

/* 各県DRPバナーの直前の商品エリアのマージン調整 */
#content.gift .ec-giftArea:has(+ .matsuri_drp) {
  margin-bottom: 0;
}

/* 商品タイトルテキスト */
.ec-giftArea .giftItemsHeadImg {
  margin-bottom: 3.8461538462vw !important;
}
@media print, screen and (min-width: 768px) {
  .ec-giftArea .giftItemsHeadImg {
    margin-bottom: min(1.25vw, 15px) !important;
  }
}
.ec-giftArea .giftItemsHeadImg h3 {
  font-family: "Zen Old Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
  font-weight: 900;
  font-style: normal;
  color: #fff !important;
  font-size: clamp(15px, 4.8717948718vw, 36px) !important;
  padding-bottom: 3.0769230769vw !important;
  border-bottom: 2px solid #20ce60 !important;
}
@media print, screen and (min-width: 768px) {
  .ec-giftArea .giftItemsHeadImg h3 {
    font-size: clamp(20px, 2.3333333333vw, 28px) !important;
    padding-bottom: min(1.25vw, 15px) !important;
    border-width: 2px !important;
  }
}

/* 商品タイトルテキスト ※県別の色指定※ */
.ec-featureRole__headdescription:has(#matsuri_aomori) + .ec-giftArea .giftItemsHeadImg h3, .ec-featureRole__headdescription:has(#matsuri_aomori) + .ec-giftArea + .ec-giftArea .giftItemsHeadImg h3 {
  border-color: #a4e557 !important;
}
.ec-featureRole__headdescription:has(#matsuri_iwate) + .ec-giftArea .giftItemsHeadImg h3, .ec-featureRole__headdescription:has(#matsuri_iwate) + .ec-giftArea + .ec-giftArea .giftItemsHeadImg h3 {
  border-color: #e88785 !important;
}
.ec-featureRole__headdescription:has(#matsuri_miyagi) + .ec-giftArea .giftItemsHeadImg h3, .ec-featureRole__headdescription:has(#matsuri_miyagi) + .ec-giftArea + .ec-giftArea .giftItemsHeadImg h3 {
  border-color: #c76edb !important;
}
.ec-featureRole__headdescription:has(#matsuri_akita) + .ec-giftArea .giftItemsHeadImg h3, .ec-featureRole__headdescription:has(#matsuri_akita) + .ec-giftArea + .ec-giftArea .giftItemsHeadImg h3 {
  border-color: #ebd357 !important;
}
.ec-featureRole__headdescription:has(#matsuri_yamagata) + .ec-giftArea .giftItemsHeadImg h3, .ec-featureRole__headdescription:has(#matsuri_yamagata) + .ec-giftArea + .ec-giftArea .giftItemsHeadImg h3 {
  border-color: #77e2c5 !important;
}
.ec-featureRole__headdescription:has(#matsuri_fukushima) + .ec-giftArea .giftItemsHeadImg h3, .ec-featureRole__headdescription:has(#matsuri_fukushima) + .ec-giftArea + .ec-giftArea .giftItemsHeadImg h3 {
  border-color: #5ea1ef !important;
}

/* 商品タイトルテキストを非表示（画像タイトルの場合） */
/* 商品枠 */
@media only screen and (max-width: 767px) {
  .slideItem:has(.itemInfoArea) {
    padding: 10px 3px 0 !important;
  }
}
.itemInfoArea {
  padding: 10px;
  border-radius: 10px;
  background-color: #fff;
}
.itemInfoArea .itemName {
  font-weight: 700;
}

/* もっと見る */
.more-link {
  margin-top: 16px !important;
}
.more-link a {
  border: none;
}

/* ページの先頭へボタン */
.ec-blockTopBtn {
  z-index: 99;
}

/***************************************************************************

	コンテンツ

****************************************************************************/
.matsuri {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.matsuri * {
  font-size: inherit;
}
.matsuri img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

@media only screen and (max-width: 767px) {
  .matsuri_mv {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .matsuri_mv img {
    height: 47.4358974359vw;
    object-fit: cover;
    -o-object-fit: cover;
  }
}
@media print, screen and (min-width: 768px) {
  .matsuri_intro {
    /* background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/hanabi_bg_pc.png") no-repeat 50% 0/contain; */
  }
}
.matsuri_intro_inner {
  color: #09172c;
  margin: 0 calc(50% - 50vw);
  padding: 5.1282051282vw 4.27% 6.4102564103vw;
  padding-bottom: 0 !important;
  width: 100vw;
  /* background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/hanabi_bg_sp.png") no-repeat 50% 5%/contain; */
}
@media print, screen and (min-width: 768px) {
  .matsuri_intro_inner {
    margin: min(2.9166666667vw, 35px) auto 0;
    padding: min(1.6666666667vw, 20px) 0 min(5vw, 60px);
    width: 79.31%;
    background: none;
  }
}

.matsuri_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0;
  font-family: "Zen Old Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
  font-weight: 900;
  font-style: normal;
  font-size: clamp(16px, 5.1282051282vw, 38px);
  line-height: 1.45;
  text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .matsuri_title > span:nth-child(3) {
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  .matsuri_title {
    display: block;
    font-size: clamp(18px, 2.0833333333vw, 25px);
    line-height: 1.6;
  }
}

/* 本文 */
.matsuri_lead,
.matsuri_lead_fontS {
  font-weight: 700;
  line-height: 1.85;
}
@media print, screen and (min-width: 768px) {
  .matsuri_lead,
  .matsuri_lead_fontS {
    line-height: 2;
  }
}
.matsuri_lead p + p,
.matsuri_lead_fontS p + p {
  margin-top: 1.2em;
}

.matsuri_lead {
  font-size: clamp(11px, 3.5897435897vw, 25px);
}
@media print, screen and (min-width: 768px) {
  .matsuri_lead {
    font-size: clamp(12px, 1.25vw, 15px);
  }
}

.matsuri_lead_fontS {
  font-size: clamp(11px, 3.5897435897vw, 25px);
}
@media print, screen and (min-width: 768px) {
  .matsuri_lead_fontS {
    font-size: clamp(12px, 1.1666666667vw, 14px);
  }
}

/* 地図（SPは地図非表示） */
@media only screen and (max-width: 767px) {
  .matsuri_map {
    margin: 0 calc(50% - 50vw);
    padding: 0 4.27%;
    width: 100vw;
  }
}
@media print, screen and (min-width: 768px) {
  .matsuri_map {
    aspect-ratio: 1160/830;
    /* background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/map_pc.png") no-repeat 50% 0/contain; */
  }
}

.matsuri_navi {
  display: flex;
  flex-wrap: wrap;
  gap: 5.1282051282vw;
}
@media print, screen and (min-width: 768px) {
  .matsuri_navi {
    margin: auto;
    flex-wrap: wrap-reverse;
    flex-direction: column;
    align-content: space-between;
    gap: min(2.9166666667vw, 35px);
    width: min(72.0833333333vw, 865px);
    height: 100%;
  }
}

.matsuri_navi_btn {
  position: relative;
  width: calc((100% - 5.1282051282vw) / 2);
  height: auto;
  filter: drop-shadow(2px 2px 0 #fff);
}
@media only screen and (max-width: 767px) {
  .matsuri_navi_btn[href$=akita] {
    order: 3;
  }
  .matsuri_navi_btn[href$=miyagi] {
    order: 4;
  }
  .matsuri_navi_btn[href$=yamagata] {
    order: 5;
  }
  .matsuri_navi_btn[href$=fukushima] {
    order: 6;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .matsuri_navi_btn {
    width: 20.4166666667vw;
    height: 17.5vw;
  }
}
@media print, screen and (min-width: 1201px) {
  .matsuri_navi_btn {
    width: min(20.4166666667vw, 245px);
    height: min(18.75vw, 225px);
    filter: drop-shadow(4px 4px 0 #fff);
    transition-duration: 0.2s;
  }
  .matsuri_navi_btn:nth-child(4) {
    margin-top: auto;
  }
}
.matsuri_navi_btn::after {
  content: "";
  position: absolute;
  bottom: 2.0512820513vw;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 5.1282051282vw;
  height: 5.1282051282vw;
  /* background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/navi_arw.svg") no-repeat 0 0/contain; */
  transition-duration: 0.2s;
}
@media print, screen and (min-width: 768px) {
  .matsuri_navi_btn::after {
    bottom: min(0.6666666667vw, 8px);
    width: min(2.5vw, 30px);
    height: min(2.5vw, 30px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .matsuri_navi_btn:hover {
    transform: translate(2px, 2px);
    filter: drop-shadow(2px 2px 0 #fff);
  }
}

.matsuri_navi_btn_inner {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(5% 0%, 95% 0%, 100% 5%, 100% 95%, 95% 100%, 5% 100%, 0% 95%, 0% 5%);
          clip-path: polygon(5% 0%, 95% 0%, 100% 5%, 100% 95%, 95% 100%, 5% 100%, 0% 95%, 0% 5%);
}

.matsuri_navi_btn_desc {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2.0512820513vw 2.0512820513vw 1.2820512821vw;
  color: #000;
}
/* .matsuri_navi_btn[href$=aomori] .matsuri_navi_btn_desc {
  background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/navi_bg_aomori.png") repeat 0 0;
}
.matsuri_navi_btn[href$=iwate] .matsuri_navi_btn_desc {
  background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/navi_bg_iwate.png") repeat 0 0;
}
.matsuri_navi_btn[href$=miyagi] .matsuri_navi_btn_desc {
  background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/navi_bg_miyagi.png") repeat 0 0;
}
.matsuri_navi_btn[href$=akita] .matsuri_navi_btn_desc {
  background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/navi_bg_akita.png") repeat 0 0;
}
.matsuri_navi_btn[href$=yamagata] .matsuri_navi_btn_desc {
  background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/navi_bg_yamagata.png") repeat 0 0;
}
.matsuri_navi_btn[href$=fukushima] .matsuri_navi_btn_desc {
  background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/navi_bg_fukushima.png") repeat 0 0;
} */
@media print, screen and (min-width: 768px) {
  .matsuri_navi_btn_desc {
    padding: 0;
    height: min(6.6666666667vw, 80px);
  }
}

.matsuri_navi_btn_title {
  font-family: "Zen Old Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
  font-weight: 900;
  font-style: normal;
  font-size: clamp(14px, 4.358974359vw, 33px);
}
@media print, screen and (min-width: 768px) {
  .matsuri_navi_btn_title {
    font-size: clamp(17px, 2vw, 24px);
  }
}

.matsuri_navi_btn_date {
  font-size: clamp(10px, 2.8205128205vw, 20px);
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .matsuri_navi_btn_date {
    font-size: clamp(12px, 1.1666666667vw, 14px);
  }
}
.matsuri_navi_btn_date > b {
  font-size: 160%;
}

/* 各県の祭り紹介 */
.matsuri_contents {
  margin-top: 16.6666666667vw;
  color: #09172c;
}
@media print, screen and (min-width: 768px) {
  .matsuri_contents {
    margin-top: min(9.1666666667vw, 110px);
  }
}
.matsuri_contents.mt80 {
  margin-top: 14.1025641026vw;
}
@media print, screen and (min-width: 768px) {
  .matsuri_contents.mt80 {
    margin-top: min(6.6666666667vw, 80px);
  }
}

.matsuri_heading {
  position: relative;
  margin: 0 0 7.6923076923vw;
  padding-top: 10.2564102564vw;
  color: #09172c;
  font-family: "Zen Old Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
  font-weight: 900;
  font-style: normal;
  font-size: clamp(19px, 6.1538461538vw, 42px);
  line-height: 1.5;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .matsuri_heading {
    margin-bottom: min(3.75vw, 45px);
    padding-top: min(5.3333333333vw, 64px);
    font-size: clamp(23px, 2.6666666667vw, 32px);
    padding-top: 0 !important;
  }
}
.matsuri_heading > img {
  height: 16.4102564103vw;
}
@media print, screen and (min-width: 768px) {
  .matsuri_heading > img {
    height: min(7.75vw, 93px);
  }
}


.matsuri_heading > span {
  font-size: 0.5em;
  display: block;
}
/* .matsuri_heading::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 30.2564102564vw;
  height: 5.1282051282vw;
  background-color: #09172c;
  mask: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/heading_deco.png") no-repeat 50% 50%/contain;
  -webkit-mask: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/heading_deco.png") no-repeat 50% 50%/contain;
} */
#matsuri_aomori .matsuri_heading::before {
  background-color: #a4e557;
}
#matsuri_iwate .matsuri_heading::before {
  background-color: #e88785;
}
#matsuri_miyagi .matsuri_heading::before {
  background-color: #c76edb;
}
#matsuri_akita .matsuri_heading::before {
  background-color: #ebd357;
}
#matsuri_yamagata .matsuri_heading::before {
  background-color: #77e2c5;
}
#matsuri_fukushima .matsuri_heading::before {
  background-color: #5ea1ef;
}
@media print, screen and (min-width: 768px) {
  .matsuri_heading::before {
    width: min(14.0833333333vw, 169px);
    height: min(2.5vw, 30px);
  }
}

.matsuri_column {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .matsuri_column {
    display: flex;
    gap: min(4.1666666667vw, 50px);
    align-items: center;
  }
}
/* .matsuri_column::before, .matsuri_column::after {
  content: "";
  position: absolute;
  display: block;
  z-index: -1;
} */
#matsuri_aomori .matsuri_column::before, #matsuri_aomori .matsuri_column::after {
  background-color: #a4e557;
}
#matsuri_iwate .matsuri_column::before, #matsuri_iwate .matsuri_column::after {
  background-color: #e88785;
}
#matsuri_miyagi .matsuri_column::before, #matsuri_miyagi .matsuri_column::after {
  background-color: #c76edb;
}
#matsuri_akita .matsuri_column::before, #matsuri_akita .matsuri_column::after {
  background-color: #ebd357;
}
#matsuri_yamagata .matsuri_column::before, #matsuri_yamagata .matsuri_column::after {
  background-color: #77e2c5;
}
#matsuri_fukushima .matsuri_column::before, #matsuri_fukushima .matsuri_column::after {
  background-color: #5ea1ef;
}
.matsuri_column::before {
  transform: rotate(45deg);
  transform-origin: top left;
  top: 16.6666666667vw;
  left: -5.1282051282vw;
  width: 35.8974358974vw;
  height: 35.8974358974vw;
}
@media print, screen and (min-width: 768px) {
  .matsuri_column::before {
    top: min(7.5vw, 90px);
    left: calc(min(1.6666666667vw, 20px) * -1);
    width: min(22.0833333333vw, 265px);
    height: min(22.0833333333vw, 265px);
  }
}
.matsuri_column::after {
  transform: rotate(-45deg);
  transform-origin: top right;
  top: -10.2564102564vw;
  right: -10.2564102564vw;
  width: 30.2564102564vw;
  height: 30.2564102564vw;
}
@media print, screen and (min-width: 768px) {
  .matsuri_column::after {
    top: calc(min(5vw, 60px) * -1);
    right: calc(min(5vw, 60px) * -1);
    width: min(15.8333333333vw, 190px);
    height: min(15.8333333333vw, 190px);
  }
}

@media print, screen and (min-width: 768px) {
  .matsuri_column_image {
    width: min(50.8333333333vw, 610px);
  }
}
.matsuri_column_image > picture {
  display: block;
      border-radius: 20px;
    overflow: hidden;
  /* -webkit-clip-path: polygon(5% 0, 95% 0, 100% 7%, 100% 93%, 95% 100%, 5% 100%, 0 93%, 0 7%);
          clip-path: polygon(5% 0, 95% 0, 100% 7%, 100% 93%, 95% 100%, 5% 100%, 0 93%, 0 7%); */
}

@media print, screen and (min-width: 768px) {
.matsuri_column_image > picture {
      border-radius: 40px;
}
}

.matsuri_column_image > picture img {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .matsuri_column_text {
    margin-top: 7.1794871795vw;
  }
}
@media print, screen and (min-width: 768px) {
  .matsuri_column_text {
    width: min(41.6666666667vw, 500px);
  }
}

/* 県名（PCのみ）*/
.matsuri_aria {
  float: right;
  margin-top: calc(min(11.6666666667vw, 140px) * -1);
  margin-left: min(3.3333333333vw, 40px);
  margin-bottom: min(13.3333333333vw, 160px);
  width: min(7.25vw, 87px);
}
@media only screen and (max-width: 767px) {
  .matsuri_aria {
    display: none;
  }
}

/* DRPバナーエリア＆東北の人気返礼品 */
.matsuri_drp {
  margin: 10.2564102564vw 0;
}
@media print, screen and (min-width: 768px) {
  .matsuri_drp {
    margin: min(6.6666666667vw, 80px) 0;
  }
  .matsuri_drp.mt60_pc {
    margin-top: min(5vw, 60px);
  }
}

.matsuri_heading_drp {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 4.1025641026vw;
  padding: 0 10.2564102564vw;
  color: #09172c;
  font-family: "Zen Old Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
  font-weight: 900;
  font-style: normal;
  font-size: clamp(13px, 4.1025641026vw, 31px);
  line-height: 1.5;
  text-align: center;
}
.matsuri_heading_drp.fontL {
  font-size: clamp(15px, 4.6153846154vw, 35px);
}
@media print, screen and (min-width: 768px) {
  .matsuri_heading_drp.fontL {
    font-size: clamp(17px, 2vw, 24px);
  }
}
@media print, screen and (min-width: 768px) {
  .matsuri_heading_drp {
    margin-bottom: min(2.0833333333vw, 25px);
    padding: 0 min(5.8333333333vw, 70px);
    font-size: clamp(17px, 1.8333333333vw, 22px);
  }
}
/* .matsuri_heading_drp::before, .matsuri_heading_drp::after {
  content: "";
  position: absolute;
  bottom: 0;
  display: block;
  width: 8.9743589744vw;
  height: 7.6923076923vw;
  mask: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/heading_drp_deco.png") no-repeat 50% 50%/contain;
  -webkit-mask: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/heading_drp_deco.png") no-repeat 50% 50%/contain;
} */
#matsuri_aomori_drp .matsuri_heading_drp::before, #matsuri_aomori_drp .matsuri_heading_drp::after {
  background-color: #a4e557;
}
#matsuri_iwate_drp .matsuri_heading_drp::before, #matsuri_iwate_drp .matsuri_heading_drp::after {
  background-color: #e88785;
}
#matsuri_miyagi_drp .matsuri_heading_drp::before, #matsuri_miyagi_drp .matsuri_heading_drp::after {
  background-color: #c76edb;
}
#matsuri_akita_drp .matsuri_heading_drp::before, #matsuri_akita_drp .matsuri_heading_drp::after {
  background-color: #ebd357;
}
#matsuri_yamagata_drp .matsuri_heading_drp::before, #matsuri_yamagata_drp .matsuri_heading_drp::after {
  background-color: #77e2c5;
}
#matsuri_fukushima_drp .matsuri_heading_drp::before, #matsuri_fukushima_drp .matsuri_heading_drp::after {
  background-color: #5ea1ef;
}
#matsuri_tohoku_furusato .matsuri_heading_drp::before, #matsuri_tohoku_furusato .matsuri_heading_drp::after {
  background-color: #20ce60;
}
@media print, screen and (min-width: 768px) {
  .matsuri_heading_drp::before, .matsuri_heading_drp::after {
    width: min(4.1666666667vw, 50px);
    height: min(3.6666666667vw, 44px);
  }
}
.matsuri_heading_drp::before {
  left: 0;
}
.matsuri_heading_drp::after {
  right: 0;
}

/* バナーエリア */
.matsuri_bnr {
  display: flex;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .matsuri_bnr {
    max-width: min(50vw, 600px);
    margin: 0 auto;
  }
}
.matsuri_bnr > a, .matsuri_bnr > figure {
  width: 90%;
}
.matsuri_bnr figcaption {
  margin-bottom: 3.0769230769vw;
  color: #fff;
  font-size: clamp(11px, 3.5897435897vw, 25px);
  font-weight: 700;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .matsuri_bnr figcaption {
    margin-bottom: min(3.8461538462vw, 15px);
    font-size: clamp(15px, 1.6666666667vw, 20px);
    line-height: 1.6;
  }
}
.matsuri_bnr img {
  transition-duration: 0.1s;
  filter: drop-shadow(3px 3px 0 #fff);
}
@media print, screen and (min-width: 768px) {
  .matsuri_bnr img {
    filter: drop-shadow(5px 5px 0 #fff);
  }
}
@media (hover: hover) and (pointer: fine) {
  .matsuri_bnr a:hover img {
    transform: translate(3px, 3px);
    filter: drop-shadow(2px 2px 0 #fff);
  }
}

@media only screen and (max-width: 767px) {
  .matsuri_bnr_wrapper > .matsuri_bnr + .matsuri_bnr {
    margin-top: 8.9743589744vw;
  }
}
@media print, screen and (min-width: 768px) {
  .matsuri_bnr_wrapper {
    display: flex;
    gap: min(5vw, 60px);
  }
  .matsuri_bnr_wrapper > .matsuri_bnr {
    flex: 1;
  }
}
.matsuri_bnr_wrapper > .matsuri_bnr figcaption {
  font-size: clamp(11px, 3.5897435897vw, 25px);
}
@media print, screen and (min-width: 768px) {
  .matsuri_bnr_wrapper > .matsuri_bnr figcaption {
    font-size: clamp(12px, 1.3333333333vw, 16px);
    line-height: 1.7;
  }
}

/* 背景をコンテンツ幅からはみ出す */
.matsuri_ly_wrapper {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

/* mallのコンテンツ設定に合わせる */
@media print, screen and (min-width: 768px) {
  .matsuri_ly_inner1580 {
    padding: 0 40px;
    max-width: 1580px;
    margin-right: auto;
    margin-left: auto;
  }
  .matsuri_ly_inner1500 {
    padding: 0 20px;
    max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
  }
}
.matsuri_ly_inner {
  padding: 10.2564102564vw 4.27% 12.8205128205vw;
}
@media print, screen and (min-width: 768px) {
  .matsuri_ly_inner {
    max-width: 1200px;
    padding: min(5.4166666667vw, 65px) min(1.6666666667vw, 20px) min(6.6666666667vw, 80px);
    margin-right: auto;
    margin-left: auto;
  }
}
.matsuri_ly_inner .matsuri_heading {
  padding-top: 8.2051282051vw;
  margin-bottom: 5.641025641vw;
}
@media print, screen and (min-width: 768px) {
  .matsuri_ly_inner .matsuri_heading {
    padding-top: min(4.1666666667vw, 50px);
    margin-bottom: min(3.3333333333vw, 40px);
  }
}

/* 東北DRP */
@media only screen and (max-width: 767px) {
  #matsuri_tohoku_drp,
  #matsuri_hanabi {
    /* background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/drp_bg_sp.png") no-repeat 50% 0 #cfecda; */
    background-size: contain !important;
  }
}
@media print, screen and (min-width: 768px) {
  #matsuri_tohoku_drp,
  #matsuri_hanabi {
    margin-top: min(8.3333333333vw, 100px);
    /* background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/drp_bg.png") no-repeat 50% 0 #cfecda; */
  }
}
@media only screen and (max-width: 1200px) {
  #matsuri_tohoku_drp,
  #matsuri_hanabi {
    background-size: 170%;
  }
}

/* コンテンツ下部用 */
.matsuri_bottomContents {
  margin-top: 12.8205128205vw;
  /* background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/bottom_bg.png") repeat 50% 0; */
}
@media print, screen and (min-width: 768px) {
  .matsuri_bottomContents {
    margin-top: min(9.1666666667vw, 110px);
  }
}
.matsuri_bottomContents .ly_section + .ly_section {
  margin: 10.2564102564vw;
}
@media print, screen and (min-width: 768px) {
  .matsuri_bottomContents .ly_section + .ly_section {
    margin: min(6.6666666667vw, 80px) 0;
  }
}

/* 記事リンク */
.matsuri_media {
  display: grid;
  grid-template-columns: repeat(5, 56.4102564103vw);
  gap: 3.8461538462vw;
  padding-bottom: 5.1282051282vw;
  width: 100%;
  overflow-x: scroll;
}
@media print, screen and (min-width: 768px) {
  .matsuri_media {
    grid-template-columns: repeat(5, min(19.1666666667vw, 230px));
    gap: min(1.6666666667vw, 20px);
    padding-bottom: min(1.6666666667vw, 20px);
  }
}
.matsuri_media::-webkit-scrollbar {
  height: 8px;
}
.matsuri_media::-webkit-scrollbar-thumb {
  background: #eee;
  border-radius: 9999px;
}
.matsuri_media::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 9999px;
}

.matsuri_media_btn {
  position: relative;
  display: block;
  width: 100%;
  padding: 5.1282051282vw 3.8461538462vw 7.6923076923vw;
  border-radius: 10px;
  background-color: #fff;
  color: inherit !important;
  text-decoration: none;
  transition-duration: 0.2s;
}
@media print, screen and (min-width: 768px) {
  .matsuri_media_btn {
    padding: min(2.0833333333vw, 25px) min(1.5vw, 18px) min(2.9166666667vw, 35px);
  }
}
.matsuri_media_btn[target=_blank]::after {
  content: "";
  position: absolute;
  bottom: 3.8461538462vw;
  right: 3.8461538462vw;
  display: block;
  width: 2.8205128205vw;
  height: 2.8205128205vw;
  /* background: url("/html/upload/user_data/feature/touhokumatsuri/img/2025/icon_blank_gray.svg") no-repeat 0 0/contain; */
}
@media print, screen and (min-width: 768px) {
  .matsuri_media_btn[target=_blank]::after {
    bottom: 16px;
    right: 16px;
    width: 13px;
    height: 13px;
  }
}
.matsuri_media_btn figcaption {
  margin-top: 3.8461538462vw;
  font-size: clamp(11px, 3.3333333333vw, 23px);
  font-weight: 700;
  line-height: 1.6;
}
@media print, screen and (min-width: 768px) {
  .matsuri_media_btn figcaption {
    margin-top: min(1.25vw, 15px);
    font-size: clamp(12px, 1.1666666667vw, 14px);
  }
}
.matsuri_media_btn img {
  width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .matsuri_media_btn:hover {
    opacity: 0.7;
  }
}

/***************************************************************************

	汎用クラス

****************************************************************************/
.indent {
  padding-left: 1em;
  text-indent: -1em;
}

.txt_center {
  text-align: center !important;
}

.txt_left {
  text-align: left !important;
}

@media only screen and (max-width: 1200px) {
  .txt_center_sptab {
    text-align: center !important;
  }
  .txt_left_sptab {
    text-align: left !important;
  }
}
@media only screen and (max-width: 767px) {
  .txt_center_sp {
    text-align: center !important;
  }
  .txt_left_sp {
    text-align: left !important;
  }
}
.txt_grd {
  color: #09172c;
  /* background: linear-gradient(0deg, rgb(254, 249, 151) 0%, rgb(255, 255, 255) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent; */
}

.txt_blue {
  color: #09172c !important;
}

.txt_white {
  color: #fff !important;
}

.fontsize85 {
  font-size: 85%;
}

.fontsize120 {
  font-size: 120%;
}

.font_bold {
  font-weight: 700;
}

.mt0 {
  margin-top: 0 !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

@media only screen and (max-width: 767px) {
  .mt10_sp {
    margin-top: 2.5641025641vw !important;
  }
  .mt15_sp {
    margin-top: 3.8461538462vw !important;
  }
  .mt20_sp {
    margin-top: 5.1282051282vw !important;
  }
  .mt25_sp {
    margin-top: 6.4102564103vw !important;
  }
  .mt30_sp {
    margin-top: 7.6923076923vw !important;
  }
}
@media only screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}
@media only screen and (max-width: 1200px) {
  .pc_only {
    display: none;
  }
}/*# sourceMappingURL=style2025.css.map */









/*--------------------------------------
  カード型_01
--------------------------------------*/
.eventlist_wrapper {
  margin: 3rem 0 0;
}

        @media print, screen and (min-width: 768px) {
.eventlist_wrapper {
  margin: 6rem 0 0;
}
        }

.matsuri_heading_small {
display: flex
;
    flex-direction: column;
    align-items: center;
    margin-top: 0;
    font-family: "Zen Old Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
    font-weight: 900;
    font-style: normal;
    font-size: clamp(22px, 5.083333vw, 36px);
    line-height: 1.45;
    text-align: center;
            border-bottom: 2px solid #09172c;
                margin-bottom: 20px;
        }

        @media print, screen and (min-width: 768px) {
.matsuri_heading_small {
display: block;
        font-size: clamp(22px, 5.083333vw, 36px);
        line-height: 1.6;    margin-bottom:30px;
}
        }

.l-wrapper {
  gap: 20px;
  display: grid;
  grid-template-columns: 1fr;
        gap: min(6vw, 20px);
}

@media print, screen and (min-width: 768px) {
  .l-wrapper {
  grid-template-columns: 1fr 1fr 1fr;
        gap: min(1.6666666667vw, 20px);
}
}

.card {
  background-color: #fff;
  color: #09172c;
  text-decoration: none;
  border-radius: 20px;
  overflow: hidden;
      display: flex
;
    flex-direction: column;
}

.card__header {
  display: flex;
flex-wrap: wrap;
    flex-direction: column;
}

.card__title {
  padding: 1rem 1.5rem 0;
  font-size: 1.8rem;
  order: 1;
  margin-bottom: 10px;
  font-weight: bold;
  text-decoration: none;
}
@media print, screen and (max-width: 767px) {
.card__title {
    font-size: clamp(16px, 5.1282051282vw, 38px);
}
}

.card__thumbnail {
  margin: 0;
  order: 0;
}

.card__image {
  width: 100%;
}

.card__body {
  padding: 0 1.5rem;
      display: flex
;
    flex-direction: column;
    flex-grow: 1;
}

.card__text {
  font-size: 1.4rem;
  text-align:center;
  text-decoration: none;
	padding-bottom: 0;
}

.card__text2 {
  margin-top: 0;
  margin-bottom: 1rem;
      display: flex
;
    align-items: flex-start;
}

@media print, screen and (max-width: 767px) {
  .card__text2 {
        flex-direction: column;
  }
}

.card__text2 .tag{
  line-height: 1;
  font-weight: 600;
  background: #09172c;
  color: #fff;
  border-radius: 50vh;
  padding: 6px 10px;
  margin-right: 10px;
      display: inline-block;
    text-align: center;
  min-width: 100px;
}

.card__text2 .small{
  font-size: 0.75em;
      display: contents;
}

.card__text + .card__text {
  margin-top: .5rem;
}

.card__footer {
  padding: 0 0 2rem;
}

.card-btn {
  display: inline-block;
  text-decoration: none;
  transition: background-color .3s ease-in-out;
  text-align: center;
}

.card-btn a {
  text-decoration: none;
}

.card-btn.-compact {
  padding: 10px 20px;
  border-radius: 50vh;
  background-color: #09172c;
  color: #fff;
  font-weight: bold;
	text-decoration: none;
      font-size: 2rem;
      min-width: 200px;
}

@media print, screen and (max-width: 767px) {
  .card-btn.-compact {
        font-size: clamp(16px, 2.1538461538vw, 20px);
  }
}

.card-btn.-compact:hover,
.card-btn.-compact:focus {
  background-color: #09172c;
}

.bottombnr_img {
  display: block;
  margin-top: 20px;
}