@charset "utf-8";

.floating_bnr01 {
  z-index: 2000;
}

.sec02 {
  padding-bottom: 0;
}

.sec03 .step2_lead {
  margin-bottom: 1.8em;
  text-align: center;
  font-size: 1.8em;
  font-weight: bold;
  line-height: 1.5;
}

.oshi_tabs {
  width: 92%;
  max-width: 650px;
  margin: 0 auto;
}

.oshi_tabs_list {
  display: flex;
}

.oshi_tabs_button {
  flex: 0 0 48.85%;
  height: 14.18vw;
  max-height: 100.2px;
  padding: 0.2em;
  border: 0;
  border-radius: 0.5em;
  background: #999;
  box-shadow: 0 0.22em 0 #777;
  color: #fff;
  font-size: 1.45em;
  font-weight: bold;
  line-height: 1.15;
  cursor: pointer;
}

.oshi_tabs_button + .oshi_tabs_button {
  margin-left: 2.3%;
}

.oshi_tabs_button.is-active,
.oshi_tabs_button[aria-selected="true"] {
  background: #1700ff;
  box-shadow: 0 0.22em 0 #8078ff;
  color: #fff;
}

.oshi_tabs_panel {
  padding: 2em 0 0;
}

.oshi_tabs_panel[hidden] {
  display: none;
}

.oshi_slider {
  position: relative;
}

.oshi_slider .slick-slide img {
  width: 82.46%;
  max-width: 536px;
  height: auto;
  margin: 0 auto;
}

.oshi_media img,
.oshi_campaign img,
.dcard_bnr img {
  width: 100%;
  height: auto;
}

.oshi_slider .slick-arrow {
  position: absolute;
  z-index: 1;
  top: 37.5%;
  width: 4.77%;
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 0;
  line-height: 0;
  transform: translateY(-50%);
  cursor: pointer;
}

.oshi_slider .slick-prev {
  left: 2%;
}

.oshi_slider .slick-next {
  right: 2%;
  transform: translateY(-50%) scaleX(-1);
}

.oshi_slider .slick-arrow img {
  width: 100%;
  height: auto;
}

.oshi_links {
  width: 100%;
  max-width: 650px;
  margin: 2em auto 0;
}

.oshi_link_group p {
  margin-bottom: 0.8em;
  font-size: 1.25em;
  line-height: 1.4;
  text-align: center;
  font-weight: 500;
}

.oshi_link_group + .oshi_link_group {
  margin-top: 1.75em;
}

.oshi_link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 12.923vw;
  max-height: 84px;
  padding: 0 0.5em;
  border: 3px solid #cf003f;
  border-radius: 999px;
  background: #fff;
  color: #cf003f;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.oshi_link:visited {
  color: #cf003f;
}

.oshi_link:hover {
  opacity: 0.8;
}

.oshi_link span {
  font-family: Arial, sans-serif;
  font-size: 0.72em;
}

.dcard_bnr {
  display: block;
  width: 88.62%;
  max-width: 576px;
  margin: 2.5em auto 0;
}

.oshi_media {
  max-width: 768px;
  margin: 0 auto;
  padding: 4em 0;
  background: #fff;
}

.oshi_media img,
.oshi_campaign_overview {
  width: 688px;
  max-width: 89.58%;
  margin: 0 auto;
}

.oshi_media_notes {
  width: 688px;
  max-width: 89.58%;
  margin: 1.5em auto 0;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
}

.oshi_media_notes li + li {
  margin-top: 0.5em;
}

.oshi_campaign_title {
  width: 718px;
  max-width: 93.49%;
  margin: 0 auto;
}

.oshi_campaign {
  max-width: 768px;
  margin: 0 auto;
  background: #fff;
}

.oshi_campaign_link {
  display: block;
  margin: 4% auto 6%;
  color: #777;
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  text-decoration: underline;
}

.oshi_campaign_link:hover {
  opacity: 0.8;
}

.campaign_bnr > a {
  width: 87.8%;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}

.campaign_bnr_title {
  width: 100%;
  margin: 0 auto 7px;
}

.campaign_bnr_title--kaimaku {
  width: 73.65%;
}

.campaign_bnr_title--registration {
  width: 100%;
}

.campaign_bnr_title img {
  height: auto;
}

.kaimaku {
  display: none;
}

@media screen and (min-width: 561px) and (max-width: 640px) {
  .oshi_campaign_link {
    font-size: 2.65em;
  }
}

@media screen and (min-width: 641px) and (max-width: 720px) {
  .oshi_campaign_link {
    font-size: 3em;
  }
}

@media screen and (min-width: 721px) and (max-width: 760px) {
  .oshi_campaign_link {
    font-size: 3.3em;
  }
}

@media screen and (min-width: 761px) {
  .sec03.mt-60 {
    margin-top: 48px;
  }

  .sec03 .step2_lead {
    font-size: 1.625em;
  }

  .oshi_tabs_list {
    width: 536px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .oshi_tabs_button {
    height: 82.6px;
    padding: 0.1em 0.2em;
    font-size: 1.5em;
  }

  .oshi_links {
    max-width: 545px;
  }

  .oshi_link {
    height: 70.4px;
    font-size: 1.75em;
  }

  .dcard_bnr {
    width: 576px;
    max-width: 100%;
  }

  .oshi_media_notes {
    font-size: 1em;
  }

  .oshi_campaign_link {
    color: #797979;
    font-size: 1.625em;
  }

  .campaign_bnr > a {
    width: 640px;
    max-width: 100%;
  }

  .campaign_bnr_title--kaimaku {
    width: 537px;
    max-width: 100%;
  }

  .campaign_bnr_title--registration {
    position: relative;
    left: 50%;
    width: 729px;
    max-width: none;
    transform: translateX(-50%);
  }

  .sec06.mt-60 {
    margin-top: 0;
  }

  .campaign_bnr.kaimaku {
    margin-top: 64px;
  }
}

@media screen and (max-width: 600px) {
  .oshi_tabs_button {
    font-size: 1.7em;
  }

  .oshi_link_group p {
    font-size: 1.4em;
  }

  .oshi_link {
    border-width: 2px;
    font-size: 1.8em;
  }
}

@media screen and (max-width: 479px) {
  .oshi_campaign_link {
    font-size: 1.65em;
  }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .floating_bnr01 {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 2000;
  }

  .floating_item02 {
    display: flex;
  }

  .floating_link02 {
    display: flex;
    width: 66.666%;
  }

  .floating_text02 {
    display: flex;
    width: 33.333%;
  }
}
