@charset "UTF-8";

/* common */
[data-browse-mode="P"] .sp {
  display: none;
}
[data-browse-mode="S"] .pc {
  display: none;
}
.pane-contents {
  padding-bottom: 0;
}
.pane-contents .container {
  width: 100%;
}
.pane-left-menu, .pane-right-menu {
  display: none;
}
.common-container {
  width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.block-event-page--header-freespace {
  color: #000;
}

[data-browse-mode="S"] .common-container {
  width: 100%;
}
[data-browse-mode="S"] .block-event-page--goods {
  margin-bottom: 0;
}

/* fv */
.fv {
  position: relative;
  background-color: #E1E1E1;
  padding: 60px 0 98px;
  font-family: "Noto Serif JP", serif;
  overflow: hidden;
}
.fv_ttl {
  font-size: 36px;
  font-weight: 900;
  text-align: center;
  padding-bottom: 10px;
  margin-top: 0;
  margin-bottom: 0;
}

.project-item {
  background-color: #fff;
  padding: 40px 50px 60px 50px;
  position: relative;
  margin-top: 30px;
}
.project-item-rbn {
  position: absolute;
  top: 40px;
  left: -10px;
}
.project-item_ttl {
  font-size: 34px;
  font-weight: bold;
  padding-bottom: 30px;
  text-align: center;
  border-bottom: 1px solid #D6D6D6;
}
.project-item_content {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 50px;
  padding-top: 20px;
}
.project-item_img {
  width: 50%;
}
.project-item_detail {
  width: calc(50% - 50px);
}
.project-item_funding {
  font-size: 18px;
  font-weight: bold;
  display: flex;
  justify-content: right;
  align-items: center;
}
.project-item_funding-price {
  font-size: 48px;
  margin-left: 10px;
}
.project-item_funding-price-en {
  font-size: 48px;
}
.project-item_target {
  font-size: 18px;
  font-weight: bold;
  display: flex;
  justify-content: right;
  align-items: center;
  margin-bottom: 20px;
}
.project-item_meter {
  width: 100%;
  height: 22px;
  font-size: 0px;
  line-height: 0;
  text-align: left;
  background-color: #fff;
  border: 1px solid #E77E1F;
  margin-bottom: 8px;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
.project-item_meter-bar {
  display: inline-block;
  position: relative;
  max-width: 100%;
  height: 22px;
  font-size: 15px;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
  word-break: keep-all;
  background-color: #E77E1F;
  box-sizing: border-box;
  z-index: 1;
  border-radius: 16px;
}
.project-item_meter-txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-family: "Noto Sans JP", sans-serif;
  z-index: 9;
  height: 22px;
  display: flex;
  justify-content: center;
  align-items: baseline;
}
.project-item_meter-num {
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
}
.project-item_meter-unit {
  font-size: 9px;
  padding-left: 2px;
  line-height: 22px;
  font-weight: 500;
}
.project-item_info {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 70px;
}
.project-item_supporter {
  font-size: 18px;
  font-weight: 600;
}
.project-item_supporter-num {
  font-size: 28px;
  font-weight: 700;
}
.project-item_limit {
  font-size: 18px;
  font-weight: 600;
}
.project-item_limit-num {
  font-size: 28px;
  font-weight: 700;
}
.project-item_link a {
  position: relative;
  background: #000000;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  width: 100%;
  height: 80px;
  line-height: 80px;
  text-align: center;
  font-size: 20px;
  margin: 22px 0 16px;
}
.project-item_link a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid;
  border-right: 1px solid;
  position: absolute;
  top: 52.5%;
  right: 23px;
  transform: translateY(-50%) rotate(45deg);
}
.project-item_anchor a {
  position: relative;
  border: 1px solid #000000;
  background: #fff;
  display: block;
  width: 100%;
  height: 60px;
  line-height: 60px;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
}
.project-item_anchor a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: 1px solid;
  border-right: 1px solid;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}
.fv_bk {
  position: absolute;
}
.fv_bk-top {
  top: -18px;
}
.fv_bk-top img {
  width: 2366px;
  max-width: initial;
}
.fv_bk-bottom {
  bottom: calc(-70 / 1920 *100vw);
  z-index:0;
  width: 100%;
}
.fv_bk-bottom img {
  width: 100%;
  max-width: initial;
}

@media screen and (min-width: 2366px) {
  [data-browse-mode="P"] .fv_bk-top {
    width: 100%;
  }
  [data-browse-mode="P"] .fv_bk-top img {
    width: 100%;
  }
}
@media screen and (max-width: 1200px) {
  [data-browse-mode="P"] .fv_bk-bottom {
    bottom: -45px;
  }
}


[data-browse-mode="S"] .fv {
  padding: 25px 0 60px;
}
[data-browse-mode="S"] .fv_ttl {
  font-size: 28px;
}
[data-browse-mode="S"] .project-item {
  margin: 30px 20px 0;
  padding: 18px 20px 30px;
}
[data-browse-mode="S"] .project-item-rbn {
  top: -10px;
  left: 10px;
}
[data-browse-mode="S"] .project-item-rbn img {
  width: 54px;
  height: auto;
}
[data-browse-mode="S"] .project-item_ttl {
  font-size: clamp(20px, 5.5vw, 25px);
  padding-bottom: 16px;
  padding-left: 49px;
}
[data-browse-mode="S"] .project-item_content {
  flex-wrap: wrap;
  gap: 10px;
}
[data-browse-mode="S"] .project-item_img {
  width: 100%;
}
[data-browse-mode="S"] .project-item_detail {
  width: 100%
}
[data-browse-mode="S"] .project-item_funding {
  font-size: clamp(16px, 4.75vw, 23px);
}
[data-browse-mode="S"] .project-item_funding-price {
  font-size: clamp(30px, 8.5vw, 40px);
  margin-left: calc(10 / 450 * 100vw);
}
[data-browse-mode="S"] .project-item_funding-price-en {
  font-size: clamp(32px, 9vw, 40px);
}
[data-browse-mode="S"] .project-item_target {
  font-size: clamp(16px,4.5vw,20px);
  font-weight: 600;
  margin-bottom: 15px;
}
[data-browse-mode="S"] .project-item_meter {
  height: 20px;
}
[data-browse-mode="S"] .project-item_meter-bar {
  height: 20px;
}
[data-browse-mode="S"] .project-item_meter-txt {
  line-height: 20px;
}
[data-browse-mode="S"] .project-item_meter-num {
  font-size: 13px;
}
[data-browse-mode="S"] .project-item_meter-unit {
  font-size: 7px;
}
[data-browse-mode="S"] .project-item_info {
  gap: 20px;
}
[data-browse-mode="S"] .project-item_supporter,
[data-browse-mode="S"] .project-item_limit {
  font-size: 17px;
}
[data-browse-mode="S"] .project-item_supporter-num,
[data-browse-mode="S"] .project-item_limit-num {
  font-size: 24px;
}
[data-browse-mode="S"] .project-item_link a {
  height: 70px;
  font-size: 17px;
  line-height: 70px
}
[data-browse-mode="S"] .project-item_link a::after {
  width: 8px;
  height: 8px;
  right: 17.5px
}
[data-browse-mode="S"] .project-item_anchor a {
  height: 55px;
  font-size: 17px;
  line-height: 55px;
}
[data-browse-mode="S"] .project-item_anchor a::after {
  width: 8px;
  height: 8px;
  right: 15px;
}
[data-browse-mode="S"] .fv_bk-top {
  top: -20px;
  left: -10px;
}
[data-browse-mode="S"] .fv_bk-top img {
  width: 755px;
  max-width: initial;
}
[data-browse-mode="S"] .fv_bk-bottom {
  bottom: -0px;
}
[data-browse-mode="S"] .fv_bk-bottom img {
  width: 533px;
  max-width: initial;
}

/* about */
.about {
  position: relative;
  color: #fff;
  text-align: center;
}
.about_bk {
  width: 100%;
}
.about_bk img {
  width: 100%;
  height: auto;
  aspect-ratio: 1920 / 715;
  min-height: 700px;
  object-fit: cover;
}
.about .common-container{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.about_ttl {
  margin-top: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-weight: bold;
  margin-bottom: 40px;
}
.about_ttl span {
  font-size: 35px;
  padding: 0 10px;
}
.about_desc {
  font-size: 20px;
  line-height: 2.25;
}

[data-browse-mode="S"] .about_bk img {
  aspect-ratio: auto;
  min-height: initial;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
[data-browse-mode="S"] .about_ttl {
  font-size: clamp(24px, calc(30 / 450 * 100vw) ,30px);
  background: transparent;
}
[data-browse-mode="S"] .about_ttl span {
  font-size: clamp(20px, calc(18 / 450 * 100vw) ,23px);
}
[data-browse-mode="S"] .about_desc {
  font-size: clamp(14px, calc(18 / 450 * 100vw) ,18px);
  line-height: 2;
}

/* feature */
.feature {
  background-color: #E1E1E1;
}
.feature_inner {
  width: 1100px;
  margin: 0 auto;
  padding: 100px 0;
  display: flex;
  justify-content: left;
  align-items: flex-start;
  gap: 88px;
}
.feature_ttl {
  padding-left: 20px;
  border-left: 2px solid #000;
  width: 185px;
}
.feature_ttl_en {
  font-family: "Abril Fatface", serif;
  font-size: 20px;
}
.feature_ttl_ja {
  font-size: 32px;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  margin-top: 0;
  margin-bottom: 0;
}
.feature_deac {
  width: calc(100% - 273px);
}
.feature_deac p {
  font-size: 20px;
  line-height: 2.25;
}

[data-browse-mode="S"] .feature_inner {
  width: calc(100% - 80px);
  flex-wrap: wrap;
  gap: 20px;
  padding: 40px 0;
}
[data-browse-mode="S"] .feature_ttl {
  width: 100%;
}
[data-browse-mode="S"] .feature_ttl_en {
  font-size: clamp(16px, calc(20 / 450 * 100vw) ,20px);
}
[data-browse-mode="S"] .feature_ttl_ja {
  font-size: clamp(24px, calc(31 / 450 * 100vw) ,31px);
  background-color: transparent;
  padding: 0;
}
[data-browse-mode="S"] .feature_deac {
  width: 100%;
}
[data-browse-mode="S"] .feature_deac p {
  font-size: clamp(14px, calc(18 / 450 * 100vw) ,18px);
  line-height: 2;
}

/* return */
.return {
  background-color: #E1E1E1;
}
.return-container {
  padding: 100px 0 150px;
  position: relative;
}
[data-browse-mode="P"] .return-container.return-01::after {
  content:"";
  background-image: url(/img/event/zippo/img_path_923.png);
  background-repeat: no-repeat;
  position:absolute;
  bottom: 150px;
  right: 0px;
  width: 175px;
  height: 938px;
}
[data-browse-mode="P"] .return-container.return-02::after {
  content:"";
  background-image: url(/img/event/zippo/img_path_700.png);
  background-repeat: no-repeat;
  position:absolute;
  bottom: 250px;
  left: 0px;
  width: 166px;
  height: 697px;
}
.return_bk {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
.return_bk img {
  width: 100%;
  height: auto;
}
.return_ttl {
  text-align: center;
  position: relative
}
.return_ttl::after {
  content: "";
  width: 80px;
  height: 2px;
  background: #000;
  display: block;
  margin: 0 auto;
}
.return_ttl_en {
  font-family: "Abril Fatface", serif;
  font-size: 16px;
}
.return_ttl_num {
  margin: 10px 0 20px
}
.return_ttl_ja {
  font-size: 40px;
  font-weight: 900;
  font-family: "Noto Serif JP", serif;
  margin-top: 0;
}
.return-main_img {
  width: 100%;
  margin-top: 50px;
}
.return-main_img img {
  width: 100%;
  height: auto;
}
.return-imgs {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  margin: 50px 0 60px;
}
.return-imgs_item {
  background-color: #fff;
  width: 200px;
  height: 200px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
.return-imgs_item img {
  width: 90%;
  height: auto;
}
.return-bottom {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 100px;
}
.return-bottom_img {
  width: 50%
}
.return-bottom_img img {
  width: 100%;
  height: auto;
}
.return-bottom_txt {
  width: calc(50% - 100px);
}
.return-bottom_desc {
  font-size: 18px;
  margin-bottom: 20px;
  line-height: 2;
}
.return-bottom_note {
  font-size: 14px;
  margin-bottom: 50px;
}
.return-bottom_link a {
  position: relative;
  background: #000000;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  width: 100%;
  height: 80px;
  line-height: 80px;
  text-align: center;
  font-size: 20px;
}
.return-bottom_link a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid;
  border-right: 1px solid;
  position: absolute;
  top: 52.5%;
  right: 23px;
  transform: translateY(-50%) rotate(45deg);
}


[data-browse-mode="S"] .return {
  padding-bottom: 80px;
}
[data-browse-mode="S"] .return-container {
  padding: 50px 0 0;
}
[data-browse-mode="S"] .return-02 {
  margin-top: 56px;
}
[data-browse-mode="S"] .return_bk img {
  width: 100%;
  min-height: 342px;
  object-fit: cover;
}
[data-browse-mode="S"] .return_ttl_num {
  max-width: 72px;
  margin: 8px auto 10px;
  width: 15vw;
}
[data-browse-mode="S"] .return_ttl_ja {
  background-color: transparent;
  font-size: 28px;
  padding: 0 0 16px;
}
[data-browse-mode="S"] .return-main_img {
  width: calc(100% - 40px);
  margin: 36px auto 0;
}
[data-browse-mode="S"] .return-imgs {
  margin: 20px auto;
  gap: 10px;
  padding: 0 calc(40 / 450 * 100vw);
}
[data-browse-mode="S"] .return-imgs_item {
  max-width: 66px;
  max-height: 66px;
  width: 15vw;
  height: 15vw;
}
[data-browse-mode="S"] .return-bottom {
  width: calc(100% - 40px);
  margin: 20px auto 0;
  flex-wrap: wrap;
  gap: 20px;
}
[data-browse-mode="S"] .return-bottom_img {
  width: 100%;
}
[data-browse-mode="S"] .return-bottom_txt {
  width: 100%;
}
[data-browse-mode="S"] .return-bottom_desc {
  line-height: 1.945;
}
[data-browse-mode="S"] .return-bottom_note {
  font-size: 16px;
  margin-bottom: 20px;
}
[data-browse-mode="S"] .return-bottom_link a {
  height: 70px;
  line-height: 70px;
  font-size: 17px;
}
[data-browse-mode="S"] .return-bottom_link a::after {
  width: 8px;
  height: 8px;
}


/* modal */
.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.modal-container.is-open {
  display: flex;
}
.modal-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}
.modal-body {
  position: relative;
  width: 80vh;
  height: 80vh;
  background-color: #fff;
  z-index: 1;
  max-width: 90vw;
  max-height: 90vw;
}
.modal-slider-container {
  overflow: hidden;
}
.modal-slider {
  display: flex;
  height: 100%;
  transition: transform 0.3s ease-in-out;
  align-items: center;
}
.modal-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
}
.modal-slide img {
  max-width: calc(80vw - 80px);
  max-height: calc(80vw - 80px);
  object-fit: contain;
  width: calc(80vh - 80px);
  height: calc(80vh - 80px);
}
.modal-prev, .modal-next {
  position: absolute;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  cursor: pointer;
  padding: 10px;
  font-size: 24px;
  width: 40px;
  height: 40px;
}
.modal-body .modal-close {
  top: -22.5px;
  right: -22.5px;
  position: absolute;
  z-index: 10;
  background-color: #707070;
  color: white;
  border: none;
  cursor: pointer;
  padding: 10px;
  font-size: 32px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
}
.modal-prev {
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}
.modal-prev::after {
  content:"";
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal-next {
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.modal-next::after {
  content:"";
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 45%;
  transform: translate(-50%, -50%) rotate(45deg);
}


[data-browse-mode="S"] .modal-body {
  width: 87.5vw;
  height: 87.5vw;
}
[data-browse-mode="S"] .modal-body .modal-close {
  width: 40px;
  height: 40px;
  font-size: 20px;
  top: -20px;
  right: -20px;
}


/* overview */
.overview {
  background-color: #E1E1E1;
  padding-bottom: 160px;
}
.overview_ttl {
  margin-top: 0;
  text-align: center;
  font-size: 33px;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 70px;
}
.overview-list {
  width: 1100px;
  margin: 0 auto;
}
.overview-item {
  display:flex;
  justify-content: space-between;
  gap: 30px;
  margin-top: 30px;
}
.overview-item dt {
  font-size: 21px;
  font-weight: 700;
  width: 150px;
  border-bottom: 2px solid #000000;
  padding-bottom: 30px;
}
.overview-item dd {
  width: calc(100% - 180px);
  padding-bottom: 30px;
  border-bottom: 1px solid #A1A1A1;
  padding-top: 3px;
  font-size: 18px;
  line-height: 1.66;
}
.overview-item dd > p {
  font-size: 20px;
  font-weight: 700;
}
.overview-item dd > p::before {
  content: "■";
  font-size: 12px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  margin-top: -3px;
}
.overview-item dd > div {
  padding-left: 20px;
}
.overview-item_indent::before {
  content: "・";
  font-size: 12px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
}


[data-browse-mode="S"] .overview {
  padding-bottom: 80px;
}
[data-browse-mode="S"] .overview_ttl {
  font-size: 28px;
  background-color: transparent;
  margin-bottom: 20px;
}
[data-browse-mode="S"] .overview-list {
  width: calc(100% - 40px);
}
[data-browse-mode="S"] .overview-item {
  display: block;
  margin-top: 25px;
}
[data-browse-mode="S"] .overview-item dt {
  width: 100%;
  text-align: center;
  padding-bottom: 10px;
  font-size: 20px;
}
[data-browse-mode="S"] .overview-item dd {
  width: 100%;
  padding: 15px 0;
  font-size: 16px;
}
[data-browse-mode="S"] .overview-item dd > p {
  font-size: 18px;
  display: flex;
  align-items: flex-start;
}
[data-browse-mode="S"] .overview-item dd > p::before {
  margin-top: 5px;
}
.overview-item_indent {
  font-size: 15px;
}
.overview-item dd > div {
  margin-bottom: 10px;
}