﻿@charset "UTF-8";
/**************************
common
***************************/

.wrapper_ {
  overflow-x: hidden;
}

.forcms_block {
  background: #F0F4FF;
  position: relative;
}
.forcms_block:has(#header_wrap) {
  z-index: 3;
}

.content-header {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  position: relative;
  color: #0A1F4A;
}

.content-ttl-en {
  font-size: 65px;
  letter-spacing: 0em;
  color: #0A1F4A;
}

.content-ttl-en::before {
  content: none;
}

.content-ttl {
  font-size: 30px;
  position: absolute;
  top: -15px;
  left: calc(50% + 50px);
  color: #0A1F4A;
  font-weight: bold;
}

.common-content {
  max-width: 1440px;
  width: 95%;
  margin: 60px auto 130px;
}

.common-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px 80px;
}

.common-item {
  width: 390px;
  background: #fff;
  padding: 13px 13px 27px;
  box-shadow: 2px 2px 5px #AAAAAA;
}

.common-item-img-wrapper {
  position: relative;
}

.common-item-img {
  width: 100%;
}

.common-item-img img {
  width: 100%;
}

.common-item-cat {
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 17px;
  font-family: "Shippori Mincho", serif;
  border-radius: 18px;
  padding: 0 10px;
}
.common-item-cat[data-color="日本遺産"]  {
  background: #B75454;
}

.common-item-cat[data-color="国立公園"] {
  background: #44A1A8;
  color: #fff;
}

.common-item-cat[data-color="ガストロノミー"] {
  background: #C18550;
  color: #fff;
}

.common-item-cat[data-color="ふるさと体験"] {
  background: #5DA250;
}

.common-item-cat[data-color="ANAスペシャル"] {
  background: #5176BE;
  color: #fff;
}

.common-item-cat[data-color="親子イベント"] {
  background: #530CA4;
  color: #fff;
}

.common-item-pref-img {
  position: absolute;
  bottom: 5px;
  right: 5px;
  width: 115px;
  height: 115px;
}

.common-item-pref-img[data-pref="北海道"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_hokkaido.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="青森県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_aomori.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="岩手県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_iwate.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="宮城県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_miyagi.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="秋田県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_akita.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="山形県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_yamagata.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="福島県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_fukushima.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="茨城県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_ibaraki.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="栃木県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_tochigi.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="群馬県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_gumma.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="埼玉県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_saitama.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="千葉県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_chiba.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="東京都"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_tokyo.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="神奈川県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_kanagawa.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="新潟県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_niigata.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="富山県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_toyama.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="石川県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_ishikawa.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="福井県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_fukui.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="山梨県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_yamanashi.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="長野県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_nagano.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="岐阜県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_gifu.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="静岡県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_shizuoka.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="愛知県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_aichi.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="三重県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_mie.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="滋賀県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_shiga.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="京都府"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_kyoto.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="大阪府"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_osaka.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="兵庫県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_hyogo.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="奈良県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_nara.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="和歌山県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_wakayama.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="鳥取県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_tottori.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="島根県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_shimane.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="岡山県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_okayama.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="広島県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_hiroshima.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="山口県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_yamaguchi.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="徳島県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_tokushima.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="香川県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_kagawa.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="愛媛県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_ehime.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="高知県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_kochi.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="福岡県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_fukuoka.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="佐賀県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_saga.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="長崎県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_nagasaki.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="熊本県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_kumamoto.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="大分県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_oita.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="宮崎県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_miyazaki.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="鹿児島県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_kagoshima.png) no-repeat;
  background-size: cover;
}

.common-item-pref-img[data-pref="沖縄県"] {
  background: url(/cms/feature/donationandfly/img/pref/icon_okinawa.png) no-repeat;
  background-size: cover;
}

.common-item-content {
  width: calc(100% - 16px);
  margin: 16px auto 0;
}

.common-item-ttl {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif;
}

.common-item-event-term-area {
  background: #F6F6F6;
  display: inline-block;
  padding: 5px 10px;
  font-size: 17px;
  font-weight: bold;
  margin-top: 16px;
  color: #7D7D7D;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.common-item-event-term {
  font-size: 21px;
  color: #333333;
}

.common-item-modified {
  text-align: right;
  font-size: 19px;
  color: #959595;
  margin-top: 8px;
  font-family: "Bebas Neue", sans-serif;
}


@media screen and (max-width: 1024px) {
  .content-ttl-en {
    font-size: 50px;
  }

  .content-ttl {
    font-size: 30px;
    letter-spacing: 5px;
  }

  .common-content {
    margin: 40px auto 80px;
  }

  .common-list {
    gap: 30px 40px;
  }

  .common-item {
    width: 330px;
    padding: 8px 8px 17px;
  }

  .common-item-cat {
    top: 10px;
    left: 10px;
    font-size: 15px;
  }

  .common-item-pref-img {
    width: 90px;
  }

  .common-item-ttl {
    font-size: 18px;
  }

  .common-item-event-term-area {
    padding: 3px 7px;
    margin-top: 12px;
    font-size: 15px;
  }

  .common-item-event-term {
    font-size: 18px;
  }

  .common-item-modified {
    font-size: 17px;
  }
}

@media screen and (max-width: 768px) {
  .content-ttl-en {
    text-align: left;
    font-size: calc((36 / 390) *100vw);
  }

  .content-ttl {
    left: calc((80 / 390) *100vw);
    font-size: calc((17 / 390) *100vw);
    top: calc((-15 / 390) * 100vw);
  }

  .common-content {
    margin: calc((30 / 390) *100vw) auto calc((40 / 390) *100vw);
    width: 100%;
  }

  .common-list {
    gap: calc((20 / 390) *100vw);
  }

  .common-item {
    width: calc((290 / 390) *100vw);
    padding: calc((10 / 390) *100vw) calc((10 / 390) *100vw) calc((20 / 390) *100vw)
  }

  .common-item-cat {
    top: calc((10 / 390) *100vw);
    left: calc((10 / 390) *100vw);
    font-size: calc((12 / 390) *100vw);
  }

  .common-item-pref-img {
    width: calc((85 / 390) *100vw);
    height: calc((85 / 390) *100vw);
  }

  .common-item-ttl {
    font-size: calc((16 / 390) *100vw)
  }

  .common-item-event-term-area {
    padding: calc((3 / 390) *100vw) calc((7 / 390) *100vw);
    margin-top: calc((12 / 390) *100vw);
    font-size: calc((13 / 390) *100vw);
  }

  .common-item-event-term {
    font-size: calc((16 / 390) *100vw);
  }

  .common-item-modified {
    font-size: calc((14 / 390) *100vw)
  }
}


/**************************
mv
***************************/
.mv {
  position: relative;
  height: 100vh;
}
@media screen and (min-width:769px) {
  .sp_only {
    display: none !important;
  }
}
@media screen and (max-width:768px) {
  .pc_only {
    display: none !important;
  }
  #site_footer_wrap_async .pane-footer {
    margin-top: 0px;
    padding-top: 40px;
    background: #F5F5F5;
  }
}
.mv_fixed {
  position: fixed;
  z-index: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
}
.mv_fixed .slick-list {
  width: 100vw;
  height: 100vh;
}
.mv_fixed .slick-list .slick-track {
  height: 100vh;
}

.mv_fixed img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mv-header-wrapper {
  position: absolute;
  top: 39%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 1024px) {
  .mv-header-wrapper {
    width: 75%;
  }
}

@media screen and (max-width: 768px) {
  .mv-header-wrapper {
    width: 90%;
    top: calc(50% - 20px);
  }

  .mv_fixed {
    height: calc(100vh - 100px);
    top: 99px
  }

  .content-header {
    width: 95%;
    text-align: left;
    margin: 0 auto;
  }
}


/**************************
about
***************************/

.about {
  position: relative;
  z-index: 1;
}

.about::after {
  content: "";
  position: absolute;
  bottom: -100px;
  left: -10%;
  width: 120%;
  height: 430px;
  background: #0A1F4A;
  border-radius: 0 0 100% 100% / 0 0 100% 100%;
  box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.25);
  z-index: 1;
}

.about_overlay {
  height: calc((570 / 1920) * 100vw);
  background: linear-gradient(180deg, transparent, #0A1F4A)
}

.about_content {
  background: #0A1F4A;
  text-align: center;
  position: relative;
  z-index: 2;
}

.about_content_catch-wrapper {
  color: #fff;
  padding: 120px 0 150px;
  font-family: "Shippori Mincho", serif;
}
@media screen and (min-width:769px){
  .about_content_catch-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .about_content_catch {
    margin-right: 52px;
  }
}

.about_content_catch {
  color: #fff;
  font-size: 45px;
  line-height: 1.666;
  text-align: left;
}

.about_content_catch span {
  font-size: 45px;
}

.about_content_catch::before {
  content: none;
}

.about_content_desc {
  font-size: 18px;
  line-height: 2.5;
  text-align: left;
}

.about_content_link {
  margin-top: 90px;
}

.about_content_link a {
  color: #fff;
  font-size: 16px;
  padding-right: 20px;
  position: relative;
}

.about_content_link a::before {
  content: "";
  background: #273B64;
  height: 27px;
  width: 27px;
  border-radius: 50%;
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
}

.about_content_link a::after {
  content: "";
  height: 8px;
  width: 8px;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  position: absolute;
  right: -8px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.about_img {
  position: absolute;
  transform: translateX(-50%)
}

.about_img img {
  width: 100%;
}

.about_img-01 {
  top: 0;
  left: calc(50% - 500px);
  width: 317px;
}

.about_img-02 {
  top: 50%;
  left: calc(50% - 680px);
  width: 202px;
}

.about_img-03 {
  top: 80%;
  left: calc(50% - 550px);
  width: 267px;
}

.about_img-04 {
  top: 10px;
  left: calc(50% + 500px);
  width: 267px;
}

.about_img-05 {
  top: 35%;
  left: calc(50% + 680px);
  width: 223px;
}

.about_img-06 {
  top: 75%;
  left: calc(50% + 420px);
  width: 396px;
}

@media screen and (max-width: 1024px) {
  .about_content_catch-wrapper {
    padding-bottom: 190px;
  }

  .about::after {
    bottom: -210px;
    height: 430px;
  }

  .about_content_catch {
    font-size: 50px;
  }

  .about_content_catch span {
    font-size: 40px;
  }

  .about_content_desc {
    font-size: 16px;
  }

  .about_img-01 {
    left: calc(50% - 400px);
  }

  .about_img-02 {
    left: calc(50% - 500px);
  }

  .about_img-03 {
    left: calc(50% - 360px);
  }

  .about_img-04 {
    left: calc(50% + 380px);
  }

  .about_img-05 {
    left: calc(50% + 500px);
  }

  .about_img-06 {
    left: calc(50% + 360px);
  }
}

@media screen and (max-width: 768px) {
  .about_content_catch-wrapper {
    padding-bottom: calc((100 / 390) *100vw);
    padding-top: calc((42.5 / 390) *100vw);
  }

  .about::after {
    bottom: calc((-100 / 390) *100vw);
    height: calc((285 / 390) *100vw);
  }

  .about_content_catch {
    margin: 0 calc((20/390)*100vw);
    font-size: calc((36 / 390) *100vw);
    text-align: left;
  }

  .about_content_catch span {
    font-size: calc((21 / 390) *100vw);
  }

  .about_content_desc {
    font-size: calc((14 / 390) *100vw);
    margin: calc((30 / 390) *100vw) calc((20/390)*100vw) 0;
    letter-spacing: 1px;
    text-align: left;
  }
  .about_content_detail {
    margin: calc((23/390)*100vw) calc((50/390)*100vw) 0 auto;
  }
  .about_content_detail a {
    position: relative;
    margin-left: auto;
    width: calc((100/390)*100vw);
    display: flex;
    align-items: center;
    font-size: calc((13/390)*100vw);
    line-height: calc((20/390)*100vw);
    color: #FFF;
  }
  .about_content_detail a::after {
    content: '';
    position: absolute;
    width: calc((27/390)*100vw);
    height: calc((27/390)*100vw);
    background: #273B64;
    border-radius: 100px;
    top: 50%;
    right: calc((-37/390)*100vw);
    transform: translate(-50%,-50%);
    z-index: 1;
  }
  .about_content_detail a::before {
    content: '';
    position: absolute;
    width: calc((8 / 390) * 100vw);
    height: calc((8 / 390) * 100vw);
    border-top: 2px solid #FFF;
    border-left: 2px solid #FFF;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(135deg);
    right: calc((-17.5/390)*100vw);
    z-index: 2;
  }
  .about_content_link {
    margin-top: 30px;
  }

  .about_content_link a {
    font-size: calc((13 / 390) *100vw);
  }

  .about_img-01 {
    top: 0;
    left: calc((145 / 390) *100vw);
    width: calc((198 / 390) * 100vw);
  }

  .about_img-02 {
    left: calc((285 / 390) *100vw);
    width: calc((127 / 390) *100vw);
    top: calc((155 / 390) *100vw);
  }

  .about_img-03 {
    left: calc((85 / 390) *100vw);
    width: calc((132 / 390) *100vw);
    top: calc((185 / 390) *100vw);
  }

  .about_img-04 {
    left: calc((300 / 390) *100vw);
    width: calc((111 / 390) *100vw);
    top: calc((775 / 390) *100vw);
  }

  .about_img-05 {
    left: calc((155 / 390) *100vw);
    width: calc((140 / 390) *100vw);
    top: calc((840 / 390) *100vw);
  }

  .about_img-06 {
    left: calc((115 / 390) *100vw);
    width: calc((185 / 390) *100vw);
    top: calc((695 / 390) *100vw);
  }
}



/**************************
pick up
***************************/

.pickup {
  padding-top: 400px;
  padding-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .pickup {
    padding-top: calc((240 / 390) *100vw);
    padding-bottom: calc((40 / 390) *100vw);
  }
}


/**************************
participate
***************************/
.forcms_block:has(.participate) {
  padding-bottom: 0px;
}

.participate {
  padding: 100px 0 120px;
  width: calc(100% - 40px);
  /* background: rgba(255, 255, 255, 0.3); */
  margin: 0 auto;
  /* border-radius: 60px; */
}

.participate-content {
  width: 100%;
  max-width: initial;
  overflow: hidden;
}

.participate-slider {
  overflow-x: visible;
  padding: 0 calc((100% - 850px) / 2);
  margin-top: 75px;
}

.participate-slider .slick-list {
  overflow: visible;
}

.participate-slider .slick-track {
  display: flex;
  align-items: stretch;
}

.participate-slide {
  width: 770px;
  margin: 0 40px;
  box-sizing: border-box;
  height: auto;
  background: #fff;
  border: 1px solid #707070;
}
.participate-slide-inner {
  padding: 75px 40px;
  display: flex;
  justify-content:center;
  align-items: flex-start;
  gap: 5%;
}
.participate-slide-img {
  width: 45%;
}
.participate-slide-text {
  width: 50%
}
.participate-slide-ttl {
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 12px;
  color: #0A1F4A;
}
.participate-slide-desc {
  font-size: 18px;
  font-weight: 500;
  /* font-family: "Noto Sans JP", sans-serif; */
  color: #444444;
}
.participate-slider .slick-arrow {
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 50%;
  font-size: 0;
  border: 1px solid #707070;
  z-index: 2;
}

.participate-slider .slick-arrow::before {
  content: "";
  width: 15px;
  height: 15px;
  border-top: 2px solid #707070;
  border-left: 2px solid #707070;
  position: absolute;
  top: 50%;
}

.participate-slider .slick-prev {
  left: calc(50% - 410px);
}

.participate-slider .slick-prev::before {
  left: 55%;
  transform: translate(-50%, -50%) rotate(-45deg)
}
.participate-slider 
.slick-next {
  right: calc(50% - 410px);
}

.participate-slider .slick-next::before {
  left: 45%;
  transform: translate(-50%, -50%) rotate(135deg)
}
.participate-slider .slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
  opacity: 1;
}
.participate-slider .slick-prev.slick-disabled , .slick-next.slick-disabled {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .forcms_block:has(.participate) {
    padding-bottom: 0;
  }
  .participate {
    padding: calc((50 / 390) *100vw) 0 calc((100 / 390) *100vw);
    width: 100%;
    border-radius: 0;
  }

  .participate-slider {
    padding: 0 calc((20 / 390) *100vw);
    margin-top: calc((40 / 390) *100vw);
  }
  .participate-slide {
    width: 100%;
    margin: 0 10px;
    border-radius: 0;
  }
  .participate-slide-inner {
    padding: 20px;
    flex-wrap: wrap;
  }
  .participate-slide-img {
    width: 100%;
  }
  .participate-slide-img img {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
  .participate-slide-text {
    width: 100%;
    margin-top: calc((16 / 390) *100vw);
  }
  .participate-slide-ttl {
    font-size: calc((18 / 390) *100vw);
    margin-bottom: calc((12 / 390) *100vw);
  }
  .participate-slide-desc {
    font-size: calc((12 / 390) *100vw);
  }
  .participate-slider .slick-arrow {
    width: 27px;
    height: 27px;
    background: #273B64 !important;
    border: none;
  }
  .participate-slider .slick-arrow::before {
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff !important;
    border-left: 2px solid #fff !important;
  }
  .participate-slider .slick-prev {
    left: 5px;
  }  
  .participate-slider .slick-next {
    right: 5px;
  }
}


/**************************
event
***************************/
.event {
  background: #0A1F4A;
}
.event-header {
  color: #fff;
  text-align: left;
  max-width: 1440px;
  margin: 0 auto;
  width: 95%;
  font-family: "Shippori Mincho", serif;
}

.event-ttl-en {
  color: #fff;
  text-align: left;
  font-size: 68px;
  letter-spacing: 0;
  margin-bottom: 0;
  margin-top: 0;
}

.event-ttl-en span {
  font-size: 50px;
}

.event-ttl-en::before {
  content: none;
}

.event-ttl {
  font-size: 30px;
  letter-spacing: 5px;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .event-ttl-en {
    font-size: calc((36 / 390) *100vw);
  }

  .event-ttl-en span {
    font-size: calc((26 / 390) *100vw);
  }

  .event-ttl {
    font-size: calc((14 / 390) *100vw);
  }
}


/**************************
first event
***************************/
.firstEvent {
  padding-top: 300px;
  padding-bottom: 100px;
  background: #F0F4FF;
}
.firstEvent .event-header {
  color: #0A1F4A;
}

.firstEvent .event-ttl-en {
  color: #0A1F4A;
}
.firstEvent-content {
  width: calc(100% - 40px);
  background: #F0F4FF;
  padding: 170px 0 60px;
  margin: 40px auto;
  border-radius: 60px;
  text-align: center;
  position: relative;
}
.firstEvent-content .firstEvent-inner > img {
  max-width: 100%;
}
.firstEvent-inner {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
  position: relative;
}

.firstEvent-pin {
  position: absolute;
}

.firstEvent-pin span {
  background: #fff;
  width: 31px;
  height: 31px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  border-radius: 50%;
  z-index: 2;
  position: relative;
  font-family: "Century", serif;
}

.firstEvent-pin[data-color="日本遺産"] span {
  color: #B75454;
}

.firstEvent-pin[data-color="国立公園"] span {
  color: #44A1A8;
}

.firstEvent-pin[data-color="ガストロノミー"] span {
  color: #C18550;
}

.firstEvent-pin[data-color="ふるさと体験"] span {
  color: #5DA250;
}

.firstEvent-pin[data-color="ANAスペシャル"] span {
  color: #5176BE;
}
.firstEvent-pin[data-color="親子イベント"] span {
  color: #530CA4;
}

.firstEvent-pin::before {
  content: "";
  width: 39px;
  height: 41px;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  z-index: 1;
  transform: translate(-50%, -50%)
}

.firstEvent-pin::after {
  content: "";
  width: 33px;
  height: 22px;
  position: absolute;
  bottom: -16px;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.firstEvent-pin[data-color="日本遺産"]:before,
.firstEvent-pin[data-color="日本遺産"]:after {
  background: #B75454;
}

.firstEvent-pin[data-color="国立公園"]:before,
.firstEvent-pin[data-color="国立公園"]:after {
  background: #44A1A8;
}

.firstEvent-pin[data-color="ガストロノミー"]:before,
.firstEvent-pin[data-color="ガストロノミー"]:after {
  background: #C18550;
}

.firstEvent-pin[data-color="ふるさと体験"]:before,
.firstEvent-pin[data-color="ふるさと体験"]:after {
  background: #5DA250;
}

.firstEvent-pin[data-color="ANAスペシャル"]:before,
.firstEvent-pin[data-color="ANAスペシャル"]:after {
  background: #5176BE;
}

.firstEvent-pin[data-color="親子イベント"]:before,
.firstEvent-pin[data-color="親子イベント"]:after {
  background: #530CA4;
}

.firstEvent-map-event {
  position: absolute;
  /* transform: translate(-50%, -50%); */
  text-align: left;
  padding: 5px 5px 10px;
  max-width: 350px;
  font-family: "Noto Serif JP", serif;
  width: 100%;
}

.firstEvent-map-event[data-color="日本遺産"] {
  background: #B75454;
}

.firstEvent-map-event[data-color="国立公園"] {
  background: #44A1A8;
}

.firstEvent-map-event[data-color="ガストロノミー"] {
  background: #C18550;
}

.firstEvent-map-event[data-color="ふるさと体験"] {
  background: #5DA250;
}

.firstEvent-map-event[data-color="ANAスペシャル"] {
  background: #5176BE;
}

.firstEvent-map-event[data-color="親子イベント"] {
  background: #530CA4;
}

.firstEvent-map-event-cat {
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 4px;
}

.firstEvent-map-event-content {
  background: #fff;
  padding: 8px;
  border-radius: 4px;
}

.firstEvent-map-event-place {
  display: flex;
  justify-content: left;
  gap: 10px;
  align-items: center;
}

.firstEvent-map-event-place-num {
  color: #fff;
  border-radius: 50%;
  font-size: 18px;
  display: flex;
  width: 32px;
  height: 32px;
  justify-content: center;
  align-items: center;
  font-family: "Century", serif;
  line-height: 32px;
}

.firstEvent-map-event-place[data-color="日本遺産"] .firstEvent-map-event-place-num {
  background: #B75454;
}

.firstEvent-map-event-place[data-color="国立公園"] .firstEvent-map-event-place-num {
  background: #44A1A8;
}

.firstEvent-map-event-place[data-color="ガストロノミー"] .firstEvent-map-event-place-num {
  background: #C18550;
}

.firstEvent-map-event-place[data-color="ふるさと体験"] .firstEvent-map-event-place-num {
  background: #5DA250;
}

.firstEvent-map-event-place[data-color="ANAスペシャル"] .firstEvent-map-event-place-num {
  background: #5176BE;
}

.firstEvent-map-event-place[data-color="親子イベント"] .firstEvent-map-event-place-num {
  background: #530CA4;
}

.firstEvent-map-event-place-area {
  font-size: 16px;
  font-weight: bold;
}

.firstEvent-map-event-ttl {
  font-size: 15px;
  font-weight: bold;
  margin-top: 6px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.firstEvent-map-event-term-area {
  background: #F6F6F6;
  display: inline-block;
  padding: 5px 10px;
  font-size: 13px;
  font-weight: bold;
  margin-top: 8px;
  color: #7D7D7D;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  margin-bottom: 20px;
}

.firstEvent-map-event-term {
  font-size: 16px;
}

.firstEvent-map-event-link {
  text-align: right;
  color: #fff;
  background: #0A1F4A;
  font-size: 12px;
  position: absolute;
  bottom: 15px;
  right: 10px;
  padding: 2px 10px 3px;
  border-radius: 20px;
}

@media screen and (max-width: 1340px) and (min-width: 769px) {
  .firstEvent-inner {
    width: 1300px;
    transform-origin: top left;
    transform: scale(var(--scale, 1));
  }

  .firstEvent-content {
    width: calc(1300px * var(--scale, 1));
    overflow: hidden;
    max-height: 105vw;
    padding: 10vw 20px 10vw;
  }
}

@media screen and (max-width: 768px) {
  .firstEvent {
    padding-top: calc((125 / 390) *100vw);
    padding-bottom: calc((50 / 390) *100vw);
  }
  .firstEvent-content {
    background: transparent;
    width: calc(100% - ((40 / 390) *100vw));
    padding: 0;
    border-radius: 0;
    margin: calc((10 / 390) *100vw) auto;
  }

  .firstEvent-content .firstEvent-inner > img {
    display: none;
  }

  .firstEvent-inner {
    width: 100%;
  }

  .firstEvent-item+.firstEvent-item {
    margin-top: calc((12 / 390) *100vw);
  }

  .firstEvent-pin {
    display: none;
  }

  .firstEvent-map-event {
    position: relative;
    top: initial !important;
    left: initial !important;
    max-width: initial;
    padding: calc((6 / 390) *100vw) calc((6 / 390) *100vw) calc((10 / 390) *100vw);
  }

  .firstEvent-map-event-cat {
    font-size: calc((15 / 390) *100vw)
  }
  .firstEvent-map-event-content {
    padding: calc((8 / 390) *100vw)
  }
  .firstEvent-map-event-place-num {
    width: calc((32 / 390) *100vw);
    height: calc((32 / 390) *100vw);
    font-size: calc((18 / 390) *100vw);
    line-height: calc((32 / 390) *100vw);
  }
  .firstEvent-map-event-place-area {
    font-size: calc((16 / 390) *100vw)
  }
  .firstEvent-map-event-ttl {
    font-size: calc((15 / 390) *100vw)
  }
  .firstEvent-map-event-term-area {
    font-size: calc((13 / 390) *100vw);
    padding: calc((5 / 390) *100vw) calc((10 / 390) *100vw);
    margin-top: calc((8 / 390) *100vw);
  }
  .firstEvent-map-event-term {
    font-size: calc((16 / 390) *100vw);
  }
  .firstEvent-map-event-link {
    font-size: calc((12 / 390) *100vw);
    bottom: calc((15 / 390) *100vw);
    right: calc((11 / 390) *100vw);
    padding: calc((2 / 390) *100vw) calc((10 / 390) *100vw) calc((3 / 390) *100vw);
    border-radius: calc((20 / 390) *100vw);
  }
}

/**************************
second event
***************************/
.secondEvent {
  padding-bottom: 130px;
  padding-top: 130px;
}
@media screen and (max-width: 768px) {
  .secondEvent {
    padding-bottom: calc((40 / 390) *100vw)
  }
}



/**************************
finished campaign
***************************/
.finishedCampaign {
  padding-top: 100px;
  padding-bottom: 130px;
  background: #F5F5F5;
  display: none;
}
.campaign-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 60px;
}

.campaign-tab {
  font-size: 18px;
  font-weight: bold;
  color: #A4A4A4;
  border-bottom: 2px solid #A4A4A4;
  padding: 0 8px;
  cursor: pointer;
  transition: 0.2s;
  font-family: "Noto Serif JP", serif;
}

.campaign-tab[data-id="1"].-current,
.campaign-tab[data-id="1"]:hover {
  color: #B75454;
  border-color: #B75454;
}

.campaign-tab[data-id="2"].-current,
.campaign-tab[data-id="2"]:hover {
  color: #44A1A8;
  border-color: #44A1A8;
}

.campaign-tab[data-id="3"].-current,
.campaign-tab[data-id="3"]:hover {
  color: #C18550;
  border-color: #C18550;
}

.campaign-tab[data-id="4"].-current,
.campaign-tab[data-id="4"]:hover {
  color: #5DA250;
  border-color: #5DA250;
}

.campaign-tab[data-id="5"].-current,
.campaign-tab[data-id="5"]:hover {
  color: #5176BE;
  border-color: #5176BE;
}

.campaign-tab[data-id="6"].-current,
.campaign-tab[data-id="6"]:hover {
  color: #530CA4;
  border-color: #530CA4;
}

.campaign-content {
  display: none;
}

.campaign-content.-current {
  display: block;
}

.campaign-list {
  gap: 80px 60px;
}
.campaign-list:has(.common-item) p.campaign-none {
  display: none;
}

.campaign-content[data-id="日本遺産"] .common-item-cat {
  background: #D10707;
}

.campaign-content[data-id="国立公園"] .common-item-cat {
  background: #2E921B;
}

.campaign-content[data-id="ガストロノミー"] .common-item-cat {
  background: #FFEF74;
}

.campaign-content[data-id="ふるさと体験"] .common-item-cat {
  background: #D29300;
}

.campaign-content[data-id="ANAスペシャル"] .common-item-cat {
  background: #530CA4;
}

@media screen and (max-width: 1024px) {
  .campaign-list {
    gap: 30px 40px;
  }
 
}
@media screen and (max-width: 768px) {
  .finishedCampaign {
    padding-top: calc((60 / 390) *100vw);
    padding-bottom: 10px;
  }
  .finishedCampaign-header .content-ttl {
    left: calc((95 / 390) * 100vw);
  }
  .finishedCampaign .common-content {
    margin-top: calc((48 / 390) * 100vw);
  }
  .campaign-list {
    gap: calc((20 / 390) *100vw);
  }
  .campaign-tab-wrapper {
    overflow-x: scroll;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    margin-bottom: calc((10 / 390) *100vw);
    padding-bottom: calc((10 / 390) *100vw);
    padding-left: calc((10 / 390) *100vw);
    padding-right: calc((10 / 390) *100vw);
  }
  .campaign-tab-wrapper::-webkit-scrollbar {
    -webkit-appearance: none;
    display: none;
  }
  .campaign-tabs {
    gap: calc((6 / 390) *100vw);;
    width: max-content;
    margin-bottom: 0;
  }
  .campaign-tab {
    font-size: calc((14 / 390) *100vw);
  }
}





/************************
detail
************************/
.donationandfly-detail .forcms_block {
  background: #F5F5F5;
  overflow-x: hidden;
}


.content-inner {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

.detail-mv {
  padding-top: 54px;
  /* background: #fff; */
}
.mv-inner {
  position: relative;
}
.mv-info {
  display: flex;
  gap: 20px;
  justify-content: left;
  align-items: center;
  margin-bottom: 12px;
}

.mv-event-cat {
  font-size: 18px;
  font-family: "Shippori Mincho", serif;
  background: #FFEF74;
  border-radius: 18px;
  padding: 0 12px;
}
.mv-event-cat[data-color="日本遺産"]  {
  background: #B75454;
  color: #FFF;
}

.mv-event-cat[data-color="国立公園"] {
  background: #44A1A8;
  color: #FFF;
}

.mv-event-cat[data-color="ガストロノミー"] {
  background: #C18550;
  color: #FFF;
}

.mv-event-cat[data-color="ふるさと体験"] {
  background: #5DA250;
  color: #FFF;
}

.mv-event-cat[data-color="ANAスペシャル"] {
  background: #5176BE;
  color: #FFF;
}
.mv-event-cat[data-color="親子イベント"] {
  background: #530CA4;
  color: #FFF;
}
.mv-event-term-area {
  font-size: 19px;
  font-weight: bold;
  color: #7D7D7D;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.mv-event-term {
  font-size: 28px;
  color: #333333;
}

.mv-event-item-modified {
  position: absolute;
  top:0;
  right: 0;
  font-size: 20px;
  color: #959595;
  font-family: "Bebas Neue", sans-serif;
}
.mv-event-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 31px;
  font-weight: bold;
  text-align: left;
  color: #333333;
  margin-bottom: 36px;
}
.mv-event-ttl:before {
  content: none;
}

.mv-event-img-wrapper {
  position: relative;
  width: 1200px;
  margin: 0 auto 100px;
}
.mv-event-img {
  width: 100%;
  height: auto;
  margin: 0 auto
}
.mv-event-img img {
  width: 100%;
}
.mv-event-pref-img {
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 300px;
  height: 300px;
  background-size: cover;
}
.mv-event-pref-img[data-pref="北海道"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_hokkaido.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="青森県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_aomori.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="岩手県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_iwate.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="宮城県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_miyagi.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="秋田県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_akita.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="山形県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_yamagata.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="福島県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_fukushima.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="茨城県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_ibaraki.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="栃木県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_tochigi.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="群馬県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_gumma.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="埼玉県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_saitama.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="千葉県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_chiba.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="東京都"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_tokyo.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="神奈川県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_kanagawa.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="新潟県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_niigata.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="富山県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_yamanashi.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="石川県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_nagano.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="福井県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_toyama.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="山梨県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_ishikawa.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="長野県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_fukui.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="岐阜県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_gifu.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="静岡県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_shizuoka.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="愛知県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_aichi.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="三重県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_mie.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="滋賀県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_shiga.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="京都府"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_kyoto.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="大阪府"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_osaka.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="兵庫県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_hyogo.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="奈良県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_nara.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="和歌山県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_wakayama.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="鳥取県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_tottori.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="島根県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_shimane.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="岡山県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_oakayama.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="広島県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_hiroshima.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="山口県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_yamaguchi.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="徳島県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_tokushima.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="香川県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_kagawa.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="愛媛県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_ehime.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="高知県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_kochi.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="福岡県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_fukuoka.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="佐賀県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_saga.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="長崎県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_nagasaki.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="熊本県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_kumamoto.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="大分県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_oita.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="宮崎県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_miyazaki.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="鹿児島県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_kagoshima.png) no-repeat; background-size: cover;}
.mv-event-pref-img[data-pref="沖縄県"] {  background: url(/cms/feature/donationandfly/img/pref2/icon_okinawa.png) no-repeat; background-size: cover;}

.mv-event-pref-img img {
  width: 100%;
}
.mv-event-desc {
  font-size: 20px;
  /* font-family: "Noto Sans JP", sans-serif; */
  line-height: 1.6;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 768px) {
  .mv-inner {
    padding-top: 30px;
  }
  .mv-info {
    gap: 10px;
  }
  .mv-event-cat {
    font-size: 16px;
  }
  .mv-event-term-area {
    font-size: 13px;
  }
  .mv-event-term {
    font-size: 19px;
  }
  .mv-event-item-modified {
    font-size:14px;
  }
  .mv-event-ttl {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .mv-event-img-wrapper {
    width: 100%;
    margin-bottom: 30px;
  }
  .mv-event-pref-img {
    width: 130px;
    height: 130px;
    bottom: -20px;
    right: -15px;
  }
  .mv-event-desc {
    font-size: 14px;
  }
}


.article {
  /* font-family: "Noto Sans JP", sans-serif; */
  /* background: #fff; */
  padding-top: 80px;
}
.article-full {
  width: 100%;
}
.article img {
  margin-bottom: 30px;
}
.article p {
  font-size: 16px;
  margin-bottom: 30px;
  line-height: 1.6;
}

.article-half {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.article-half > div {
  width: calc((100% - 20px) / 2)
}
@media screen and (max-width: 768px) {
  .article {
    padding-top: 40px;
  }
  .article img {
    margin-bottom: 12px;
  }
  .article p {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .article-half {
    gap: 12px;
    flex-wrap: wrap;
  }
  .article-half > div {
    width: 100%;
  }
  .article-half > div:has(img) {
    order: 1;
  }
  .article-half > div:has(p) {
    order: 2;
  }
}


.galley {
  /* background: #fff; */
}

.galley-slider {
  overflow-x: visible;
  padding: 0 calc((100% - 1200px) / 2);
  padding-top: 75px;
}

.galley-slider .slick-list {
  overflow: visible;
}

.galley-slider .slick-track {
  display: flex;
  align-items: stretch;
}

.galley-slide {
  width: 560px;
  margin: 0 10px;
  border-radius: 10px;
  box-sizing: border-box;
  height: auto;
}

@media screen and (max-width: 768px) {
  .galley-slider {
    padding: 40px 2.5% 0;
  }
  .galley-slide {
    width: 280px;
  }
  .galley-slide:first-of-type {
    margin-left: 0;
  }
}


.detail {
  /* background: #fff; */
  padding: 50px 0;
}
.detail-inner {
  max-width: 1000px;
  margin: 0px auto 40px;
  background: #EFEBE8;
  padding: 40px 175px;
  font-family: "Noto Serif JP", serif;
}
.detail-ttl {
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  
  color: #0A1F4A;
  margin-bottom: 24px;
}
.detail-inner table {
  width: 470px;
  margin: 0 auto;
  font-size: 14px;
  margin-bottom: 40px
}
.detail-inner table tr + tr th,
.detail-inner table tr + tr td {
  padding-top: 16px;
}
.detail-inner table th {
  width: 60px;
  font-weight: bold;
}
.detail-inner table td {
  width: calc(100% - 60px);
  padding-left: 10px;
}
.detail-inner iframe {
  width: 100%;
  height: 375px;
  margin: 0 auto;
  max-width: 600px;
  display: block;
}

@media screen and (max-width: 768px) {
  .detail {
    
padding: 10px 0 30px;
  }
  .detail-inner {
    margin: 0 auto;
    padding: 20px 20px 40px;
  }
  .detail-ttl {
    font-size: 19px;
    margin-bottom: 10px;
  }
  .detail-inner table {
    width: 100%;
    max-width: 470px;
    margin-bottom: 20px;
  }
  .detail-inner table tr + tr th, .detail-inner table tr + tr td {
    padding-top: 12px;
  }
  .detail-inner iframe {
    width: 100%;
    aspect-ratio: 31 / 18;
    height: auto;
  }
}

.registration {
  /* background: #fff; */
  text-align: center;
  padding-bottom: 70px;
}
.registration-button {
  background: #0A1F4A;
  width: 350px;
  height: 70px;
  display: flex;
  justify-content: center;
  margin:  0 auto;
  color:  #fff;
  align-items: center;
  font-size:  17px;
  font-family: "Noto Serif JP", serif;
  position: relative;
}
.registration-button::after {
  content:"";
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 769px){
  .registration-button {
    width: 650px;
    height: 115px;
    font-size: 30px;
  }
}
@media screen and (max-width: 768px){
  .registration {
    padding-bottom: 50px;
  }
}





.returnGift {
  background: #EFEBE8;
  padding-top: 100px;
}
.returnGift-content {
  max-width: 1050px;
  padding-bottom: 100px;
  margin:  30px auto 0;
}
.returnGift-content .block-event-page--goods {
  padding-bottom: 60px;
}


.returnGift-add-box-inner {
  width: 1000px;
  padding: 50px;
  margin: 0 auto 0;
  background: #F5F5F5;
  display: flex;
  gap: 30px;
  font-family: "Noto Serif JP", serif;
}
.returnGift-add-box-img {
  width: 390px;
}
.returnGift-add-box-img img {
  width: 100%;
}
.returnGift-add-box-text {
  width: calc(100% - 420px);
}
.returnGift-add-box-ttl {
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: bold;
}
.returnGift-add-box-desc {
  font-size: 15px;
}

.returnGift-content .block-pickup-list-p--items > li {
  display: flex;
}
.returnGift-content .block-pickup-list-p--items > li .block-pickup-list-p--item-body {
  max-width: 240px;
  margin-right: 30px;
  flex:  0 0 240px;
  width: 240px;
  margin-top: 20px;
  margin-bottom: 10px;
  margin-left: 0;
}
.returnGift-content .block-pickup-list-p--items > li .block-pickup-list-p--item-body:nth-child(4n) {
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .returnGift {
    padding-top: 40px;
  }
  .returnGift-content {
    width: 95%;
    margin: 25px auto 0;
    padding-bottom: 30px;
  }
  .returnGift-content .block-event-page--goods .block-ranking-r li {
    justify-content: center;
    gap: 20px 18px;
  }
  .returnGift-content .block-event-page--goods .block-ranking-r--goods {
    width: calc((100% - 18px) / 2);
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0;
    flex: 0 0 calc((100% - 18px) / 2);
  }
  .returnGift-content .block-event-page--goods .block-ranking-r--goods:nth-child(2n) {
    margin-left: 0;
  }
  .returnGift-add-box-inner {
    width: 95%;
    background: #EFEBE8;
    flex-wrap: wrap;
    padding: 20px 20px 30px;
  }
  .returnGift-add-box-img {
    width: 100%;
  }
  .returnGift-add-box-text {
    width: 100%;
  }
  .returnGift-add-box-ttl {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .returnGift-add-box-desc {
    font-size: 14px;
  }
  .returnGift-content .block-pickup-list-p--items > li {
    flex-wrap: wrap;
    gap: 18px;
  }
  .returnGift-content .block-pickup-list-p--items > li + li {
    margin-top: 18px;
  }
  .returnGift-content .block-pickup-list-p--items > li .block-pickup-list-p--item-body {
    flex:  0 0 calc((100% - 18px) / 2);
    width: calc((100% - 18px) / 2);
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0;
  }
}





.currentEvent {
  padding-top: 100px;
  background: #EFEBE8;
  padding-bottom: 50px;
}

.currentEvent .common-content {
  max-width: initial;
  width: 100%;
}
.currentEvent  .common-item {
  margin: 0 20px;
}

.currentEvent .common-list {
  overflow-x: visible;
  padding: 0 calc((100% - 1200px) / 2);
  display: block;
}

.currentEvent .slick-list {
  overflow: visible;
}

.currentEvent .slick-track {
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .currentEvent {
    padding-top: 50px;
    padding-bottom: 75px;
  }
  .currentEvent .common-content {
    margin: 0;
  }
  .currentEvent .common-list {
    padding: 0 0 0 5%;
  }
}


.fixedItem {
  position: fixed;
  bottom: -60px;
  left: -53px;
  color: #fff;
  background: #0A1F4A;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  z-index: 999;
}
.fixedItem-inner {
  width: 155px;
  height: 155px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: repeating-conic-gradient(currentColor 0% 1%, transparent 1% 2%);
  -webkit-mask-image: radial-gradient(transparent 69%, currentColor 69% 70%, transparent 70%);
  mask-image: radial-gradient(transparent 69%, currentColor 69% 70%, transparent 70%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.fixedItem a {
  color: #fff;
  text-align: center;
  font-size: 14px;
  position: absolute;
  top: 25px;
  right: 25px;
  z-index: 100000;
}
@media screen and (min-width: 769px) {
  .fixedItem {
    display: none;
  }
}


.content-6-inner p,
.content-6-inner span {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif !important;
}





/************************
precautions
************************/

.precautions {
  padding-top: 1px;
  padding-bottom: 140px;
}
.precautions-header .content-ttl {
  left: calc(50% + 120px);
  font-size: 21px;
  top: 0;
}
.precautions-content {
  width: 95%;
  max-width: 1200px;
  margin: 40px auto 0;
  background: #fff;
  padding: 25px 25px 25px 70px;
  font-family: "Noto Sans JP", sans-serif
}
.precautions-inner {
  max-height: 600px;
  overflow-x: auto;
  padding-right: 35px;
  padding-top: 35px;
  padding-bottom: 30px;
}
.precautions-inner::-webkit-scrollbar {
  width: 10px;
  height: 10px;
  background-color: #F1F4FF;
  margin-left:3px;
  border-radius: 5px;
}
.precautions-inner::-webkit-scrollbar-thumb {
  background: #0A1F4A;
  border-radius: 5px;
  width: 10px;
}
.precautions-inner li {
  margin-left: 1em;
  position:relative;
}
.precautions-inner li + li {
  margin-top: 2em;
}
.precautions-inner li::before {
  content:"・";
  display: block;
  position: absolute;
  top: 0;
  left: -1.5em;
  font-size: 13px;
}
.precautions-links {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 32px;
}
.precautions-link {
  width: 300px;
  text-align: center;
}
.precautions-link-btn {
  width: 100%;
  height: 50px;
  line-height: 47px;
  display: block;
  border-radius: 25px;
  background:#0A1F4A;
  color: #fff;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 18px;
  position: relative;
}
.precautions-link-btn::after {
  content:"";
  background: url(/cms/feature/donationandfly/img/icon_targetBlank.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .precautions-content {
    margin-top: calc(20 / 390 * 100vw);
    width: calc(100% - 40px);
    padding: calc(20 / 390 * 100vw);
    padding-right: calc(7.5 / 390 * 100vw);
  }
  .precautions-inner {
    padding: calc(15 / 390 * 100vw);
    padding-left: 0;
    padding-right: calc(7.5 / 390 * 100vw);
    max-height: calc(550 / 390 * 100vw);
  }
  .precautions-inner::-webkit-scrollbar {
    width: calc(7 / 390 *100vw);
    height: calc(7 / 390 *100vw);
  }
  .precautions-inner::-webkit-scrollbar-thumb {
    width: calc(7 / 390 *100vw);
  }
  .precautions-header .content-ttl {
    left: calc((163 / 390) *100vw);
    font-size: calc(14 / 390 *100vw);
    letter-spacing: calc(2 / 390 *100vw);
  }
  .precautions-links {
    flex-wrap: wrap;
    gap: calc(20 / 390 *100vw) calc(40 / 390 *100vw);
  }
  .precautions-link-btn {
    font-size: clamp(13px,calc(15 / 390 *100vw), 18px);
  }
}

.precautions-links.-detail {
  margin-bottom: 65px;
}
.precautions-link-btn.-detail {
  background: #fff;
  border: 1px solid #0A1F4A;
  color: #0A1F4A;
}
.precautions-link-btn.-detail::after {
  background: url(/cms/feature/donationandfly/img/icon_targetBlank_b.png) no-repeat;
  background-size: contain;
}
.checkbox-wrapper {
  text-align: center;
  margin-top: 1.5rem;
  margin-bottom: 1.5em;
}
.checkbox-wrapper label {
  cursor: pointer;
  color: #0A1F4A;
  transition: color 0.3s;
  font-size: 20px;
}
.checkbox-wrapper input[type=checkbox] + label.checkbox::before {
  border: 2px solid #0A1F4A;
}
input[type="checkbox"]:disabled + label {
  opacity: 0.5;
  cursor: not-allowed;
}
.registration-button.is-disabled {
  opacity: 0.7;
  pointer-events: none;
  cursor: not-allowed;
}

@media screen and (max-width: 768px) {
  .precautions-links.-detail {
    margin-bottom: 32px;
  }
}

@media screen and (min-width: 769px) {
.heading-image img {
        height: 240px;
        margin: 0 auto;
        object-fit: cover;
}
}

.ambassador-img img {
    height: 289px;
}