@charset "utf-8";
/* 「お盆玉」レスポンシブCSS */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900&display=swap&subset=japanese');
/**/
/*★ リセット ★*/
.main div:not([class])::after {
  content: none;
}
.main a {
  text-decoration: none;
}
.main b {
  font-weight: normal;
}
.main .is-em {
  font-weight: bold;
}
/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
}
:root {
  /*--icon-arrow-right-white: url("/cmn/icon/icon_arrow_right_white.svg");
  --icon-blank-white: url("/cmn/icon/icon_launch_white.svg");*/
  --icon-arrow-right-black: url("/cmn/icon/icon_arrow_right_black.svg");
  --icon-blank-black: url("/cmn/icon/icon_launch_black.svg");
  --default-color-bg: #185384;
  --default-font-size-pc-val: 16;
  --default-font-size-pc: 16px;
  --default-font-size-sp: calc(20vw / 7.5);
  --default-font-size: min(var(--default-font-size-sp), var(--default-font-size-pc));
  --default-width-pc: 992px;
  --default-width: min((670vw / 7.5), var(--default-width-pc));
  --default-bg-width-pc: max(100%, 1920px);
  --default-bg-setting: no-repeat center center / cover;
  --default-icon-arrow-right-black: var(--icon-arrow-right-black) var(--default-bg-setting);
  --default-icon-blank-black: var(--icon-blank-black) var(--default-bg-setting);
}
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
  color: #000;
  line-height: calc(22 / var(--default-font-size-pc-val));
  overflow: hidden;
  background: var(--default-color-bg);
}
.main.is-bg-gradation {
  position: relative;
  @media (width >=860px) {
    --bg-size-h: 1121px;
    --bg-posi: 759px;
  }
  &::before {
    content: "";
    display: block;
    width: 100%;
    height: var(--bg-size-h, calc(1121vw / 7.5));
    background: linear-gradient(to top, var(--default-color-bg) 0%, rgba(0,161,199,.15) 38%, transparent 100%);
    position: absolute;
    top: var(--bg-posi, calc(683vw / 7.5));
  }
  > * {
    position: relative;
  }
}
.is-inline-block {
  display: inline-block;
}
.base-button {
  display: grid;
  justify-content: center;
}
.base-button__link {
  display: grid;
  justify-items: center;
  align-items: center;
  text-align: center;
  grid-template-columns: 1fr 1em;
  gap: 0 .5em;
  line-height: 1.2;
  height: 100%;
  min-height: 3em;
  min-width: min((670vw/ 7.5), 400px);
  font-size: min((28vw/ 7.5), 20px);
  font-weight: bold;
  color: inherit;
  background: #ffd900;
  border-radius: 200px;
  padding: .4em 1em .5em 1.5em;
  text-indent: .5em;
  box-shadow: 0px 3px 0px 0px rgb(0 0 0 / .23);
}
.base-button__link::after {
  content: "";
  width: 100%;
  height: 1.5em;
  background: var(--default-icon-arrow-right-black);
}
.base-button__link[target="_blank"]::after {
  height: 1em;
  background: var(--default-icon-blank-black);
}
.base-button__link[href^="#"]:not([target="_blank"])::after {
  transform: rotate(90deg);
}
/*------------------------------------------------*/
/*★ ＝＝ headerArea ＝＝ ★*/
/*mv*/
.mv {
  background: url("../images/mv_bg_firework_sp.png") no-repeat center top / 100%, url("../images/mv_bg_people_sp.png") no-repeat center bottom/ 100%;
}
.mv__inner {
  display: grid;
  justify-content: center;
  padding: calc(93vw / 7.5) 0 calc(209vw / 7.5);
}
@media (width >=860px) {
  .mv {
    background: url("../images/mv_bg_firework_pc.png") no-repeat center top / 1916px, url("../images/mv_bg_people_pc.png") repeat-x center bottom/ 1916px;
  }
  .mv__inner {
    padding: 75px 0 318px;
  }
}
#lead {
  padding: min((100vw / 7.5), 100px) 0;
  color: #fff;
  font-weight: bold;
  font-size: min((20vw / 7.5), 24px);
  line-height: calc(42 / 24);
  text-align: center;
}
/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
#mainArea {
  padding: min((108vw / 7.5), 90px) 0 min((80vw / 7.5), 100px);
}
.main:has(#lead) #mainArea {
  padding-top: 0;
}
.section__inner, .contents__wrapper {
  width: var(--default-width);
  margin: auto;
  position: relative;
}
.winning__inner, .campaign__detail {
  border-radius: min((20vw / 7.5), 20px);
  padding: min((40vw / 7.5), 40px);
  font-weight: bold;
}
.section + .section {
  padding-top: min((60vw / 7.5), 60px);
}
/*winning*/
.winning__inner {
  background: rgba(255, 255, 255, .9);
  padding-top: 0;
  text-align: center;
}
.winning__inner::before, .winning__inner::after {
  content: "";
  display: block;
  background: url("../images/winning_kazari_flag.png") no-repeat 0 0 / contain;
  width: min((168vw / 7.5), 247px);
  height: min((77vw / 7.5), 113px);
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  .winning__inner::before, .winning__inner::after {
    top: max((-12vw / 7.5), -12px);
  }
}
.winning__inner::after {
  transform: scale(-1, 1);
  right: 0;
  left: auto;
}
.winning__title, .winning__detail {
  position: relative;
  z-index: 1;
}
.winning__title--text, .winning__detail--title--text {
  width: auto;
  object-fit: contain;
}
.winning__title {
  margin-bottom: min((10vw / 7.5), 10px);
}
.winning__title--text {
  height: min((125vw / 7.5), 125px);
  margin-top: max((-60vw / 7.5), -60px);
}
.winning__detail {
  display: grid;
  gap: min((50vw / 7.5), 50px);
}
.winning__detail::before, .winning__detail::after {
  content: "";
  background: no-repeat 0 0 / contain;
  position: absolute;
}
.winning__detail::before {
  background-image: url("../images/winning_kazari_cracker_left.png");
  width: min((178vw / 7.5), 281px);
  height: min((203vw / 7.5), 319px);
  top: min((250vw / 7.5), 165px);
  left: max((-82vw / 7.5), -81px);
}
.winning__detail::after {
  background-image: url("../images/winning_kazari_cracker_right.png");
  width: min((173vw / 7.5), 272px);
  height: min((207vw / 7.5), 325px);
  top: min((248vw / 7.5), 162px);
  right: max((-83vw / 7.5), -75px);
}
.winning__detail--title {
  margin-bottom: min((20vw / 7.5), 20px);
}
.winning__detail--item.is-toku .winning__detail--title--text {
  height: min((145vw / 7.5), 145px);
}
.winning__detail--item.is-1st .winning__detail--title--text {
  height: min((77vw / 7.5), 77px);
}
.winning__detail--item.is-2nd .winning__detail--title--text {
  height: min((68vw / 7.5), 68px);
}
.winning__detail--item.is-3rd .winning__detail--title--text {
  height: min((60vw / 7.5), 60px);
}
.winning__detail--item.is-4th .winning__detail--title--text {
  height: min((57vw / 7.5), 57px);
}
.winning__detail--target {
  display: grid;
  grid-template-columns: min((580vw / 7.5), 580px);
  row-gap: min((10vw / 7.5), 10px);
  justify-content: center;
}
.winning__detail--item.is-1st .winning__detail--target {
  grid-template-columns: min((360vw / 7.5), 360px);
}
.winning__detail--item.is-2nd .winning__detail--target {
  grid-template-columns: repeat(2, 1fr);
  column-gap: min((40vw / 7.5), 40px);
}
.winning__detail--item:is(.is-3rd, .is-4th) .winning__detail--target {
  grid-template-columns: repeat(3, 1fr);
  column-gap: min((14vw / 7.5), 14px);
}
@media screen and (min-width: 961px) {
  .winning__detail--item.is-1st .winning__detail--target {
    grid-template-columns: repeat(2, 1fr);
    column-gap: min((40vw / 7.5), 40px);
  }
  .winning__detail--item.is-2nd .winning__detail--target {
    grid-template-columns: repeat(3, 1fr);
    column-gap: min((10vw / 7.5), 10px);
  }
  .winning__detail--item:is(.is-3rd, .is-4th) .winning__detail--target {
    grid-template-columns: repeat(4, 1fr);
    column-gap: min((20vw / 7.5), 20px);
  }
}
.winning__detail--target--item {
  background: #fff;
  border-radius: 500px;
  color: #d81230;
  font-size: min((60vw / 7.5), 60px);
  line-height: 1;
  padding: .2em .5em .35em;
  text-decoration: none;
}
.winning__detail--item.is-1st .winning__detail--target--item {
  font-size: min((36vw / 7.5), 40px);
}
.winning__detail--item.is-2nd .winning__detail--target--item {
  font-size: min((28vw / 7.5), 30px);
}
.winning__detail--item:is(.is-3rd, .is-4th) .winning__detail--target--item {
  font-size: min((20vw / 7.5), 20px);
}
/*campaign*/
.campaign__detail {
  background: #fff;
  display: grid;
  gap: 1em 0;
}
.campaign__detail:not(:last-child) {
  margin-bottom: min((45vw / 7.5), 50px);
}
.campaign__detail--title {
  display: inline-block;
  background: #ff005a;
  color: #fff;
  font-size: min((16vw / 7.5), 12px);
  line-height: 1;
  padding: .4em 1em .5em;
  margin-bottom: .25em;
}
.campaign__detail--notes {
  font-size: min((15vw / 7.5), 14px);
  margin-top: .2em;
}
.campaign__detail--notes--item {
  text-indent: -1em;
  padding-left: 1em;
}
.campaign__detail--notes--item:not(:first-child) {
  margin-top: .3em;
}
.campaign__detail--item [class*="is-indent-"] {
  display: block;
}
.campaign__detail--item [class*="is-indent-"]:not(:first-child) {
  margin-top: .25em;
}
.is-indent-6 {
  text-indent: -6em;
  padding-left: 6em;
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .base-button__link {
    transition: background .3s;
  }
  .base-button__link:hover {
    background: #ffee00;
  }
}