@charset "UTF-8";
.craft-challenge {
  color: #152a76;
}
.craft-challenge p, .craft-challenge h1, .craft-challenge h2, .craft-challenge h3, .craft-challenge h4, .craft-challenge h5, .craft-challenge h6, .craft-challenge a, .craft-challenge li, .craft-challenge caption, .craft-challenge td, .craft-challenge th, .craft-challenge dt, .craft-challenge dd, .craft-challenge input, .craft-challenge textarea, .craft-challenge select, .craft-challenge address {
  font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  letter-spacing: 0.025em;
}

.pcOnly {
  display: none;
}

.spOnly {
  display: block;
}

.nowrap_pc {
  white-space: normal;
}

#js_mediaFlag {
  width: 1px;
}

seciton {
  display: block;
}

.inner {
  margin: 0 auto;
  padding: 0 3.125%;
  display: block;
}

img {
  width: 100%;
  height: auto;
}

a {
  transition: 0.3s;
}
a:hover {
  color: inherit;
  opacity: 0.8;
}

#kv {
  background: #3bb3eb;
}

.howto_wrap {
  background: url(/tokyo2020-common/images/craft-challenge/bg-blue-net.png);
  background-position-y: -21%;
}

.movie_thumb:hover {
  opacity: 1;
}
.movie_thumb:hover .movie_thumb-btn {
  background: #3bb3eb;
}

.movie_thumb-btn {
  padding: 2.8125% 1.875% 2.96875% 4.0625%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 901;
  transform: translate(-50%, -50%);
  background: #152a76;
  line-height: 1;
  transition: 0.3s;
}
.movie_thumb-btn img {
  width: auto;
  height: 1em;
  font-size: 12.5px;
  font-size: 3.90625vw;
}

.iframe_wrap {
  margin-bottom: 6.25%;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}
.iframe_wrap a > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 900;
  width: 100%;
  height: 100%;
  cursor: pointer;
  transition: 0.3s;
}
.iframe_wrap a > img.hover_on {
  z-index: 899;
}
.iframe_wrap a > img:hover.hover_off {
  opacity: 0;
}
.iframe_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ruby_wrap {
  padding-top: 0.25em;
}

.ruby {
  display: inline-block;
  position: relative;
  line-height: 1;
}
.ruby span {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -85%) scale(0.5);
  width: auto;
  font-weight: normal;
  line-height: 1;
  text-align: center;
  letter-spacing: 0;
  white-space: nowrap;
  font-size: 12px;
  font-size: 3.75vw;
}

.howto_box_wrap {
  margin: 0 auto 4.6875%;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.howto_box .howto_box_after, .howto_box-shadow .howto_box_after {
  margin-top: 3.125vw;
  font-size: 10px;
  font-size: 3.125vw;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(100% - 6.25vw);
  content: "";
}

.howto_box {
  position: relative;
  z-index: 800;
  background: url(/tokyo2020-common/images/craft-challenge/waku-1-top-sp.png) no-repeat, url(/tokyo2020-common/images/craft-challenge/waku-1-bottom-sp.png) no-repeat;
  background-position: center top, center bottom;
  background-size: 100% auto, 100% auto;
}
.howto_box .howto_box_after {
  background: url(/tokyo2020-common/images/craft-challenge/waku-1-middle-sp.png) repeat-y;
  background-size: 100% auto;
}

.howto_box-shadow {
  margin: 1.09375%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 700;
  width: 100%;
  height: 100%;
  background: url(/tokyo2020-common/images/craft-challenge/waku-shadow-top-sp.png) no-repeat, url(/tokyo2020-common/images/craft-challenge/waku-shadow-bottom-sp.png) no-repeat;
  background-position: center top, center bottom;
  background-size: 100% auto, 100% auto;
}
.howto_box-shadow .howto_box_after {
  background: url(/tokyo2020-common/images/craft-challenge/waku-shadow-middle-sp.png) repeat-y;
  background-size: 100% auto;
}

.howto_box {
  padding: 9.375%;
  letter-spacing: -0.05em;
}
.howto_box h2 {
  padding-bottom: 9.6153846154%;
  line-height: 1;
  text-align: center;
}
.howto_box h2 img {
  width: auto;
  height: 1em;
  font-size: 21px;
  font-size: 6.5625vw;
}
.howto_box ul {
  font-size: 14px;
  font-size: 4.375vw;
  font-weight: bold;
}

.howto_box_prepare li {
  border-bottom: solid 1px #ccc;
  line-height: 2.5;
}
.howto_box_prepare li:first-child {
  border-top: solid 1px #ccc;
}

.pack_img {
  margin-top: 18.75%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 802;
  width: 31.09375%;
}

.notice_box {
  margin-top: 3.8461538462%;
  border: solid 2px #c00;
  border-top: none;
  color: #c00;
  letter-spacing: -0.05em;
}
.notice_box p {
  padding: 5.8139534884% 7.7519379845%;
  line-height: 1.4;
  font-size: 12px;
  font-size: 3.75vw;
  letter-spacing: 0;
}
.notice_box .ruby_wrap-multiline {
  line-height: 1.8;
}

.headline_notice {
  padding: 0.5em 0;
  background: #c00;
  line-height: 1;
  text-align: center;
}
.headline_notice img {
  width: auto;
  height: 1em;
}

.howto_box_howtomake {
  margin-bottom: 7.8125%;
}
.howto_box_howtomake h2 {
  margin: 0 auto 5.7692307692%;
  border-bottom: solid 4px #152a76;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .howto_box_howtomake h2 {
    border-bottom-width: 4px;
  }
}
@media only screen and (max-width: 568px) {
  .howto_box_howtomake h2 {
    border-bottom-width: 4px;
  }
}
@media only screen and (max-width: 540px) {
  .howto_box_howtomake h2 {
    border-bottom-width: 3px;
  }
}
@media only screen and (max-width: 480px) {
  .howto_box_howtomake h2 {
    border-bottom-width: 3px;
  }
}
@media only screen and (max-width: 414px) {
  .howto_box_howtomake h2 {
    border-bottom-width: 3px;
  }
}
@media only screen and (max-width: 375px) {
  .howto_box_howtomake h2 {
    border-bottom-width: 2px;
  }
}
@media only screen and (max-width: 360px) {
  .howto_box_howtomake h2 {
    border-bottom-width: 2px;
  }
}
@media only screen and (max-width: 320px) {
  .howto_box_howtomake h2 {
    border-bottom-width: 2px;
  }
}
.howto_box_howtomake ul {
  font-weight: normal;
}
.howto_box_howtomake li + li {
  padding-top: 5.7692307692%;
  border-top: solid 1px #ccc;
}
.howto_box_howtomake li img {
  border: solid 2px #069;
}
.howto_box_howtomake li p {
  padding: 6.25%;
  line-height: 1.8;
  text-align: left;
}
.howto_box_howtomake li .headline_label-blue {
  margin-bottom: 5.7692307692%;
  padding: 5.3846153846% 3.8461538462% 3.8461538462%;
  color: #fff;
  background: #152a76;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  font-size: 16px;
  font-size: 5vw;
}
.howto_box_howtomake li.no-text {
  padding: 5.7692307692% 0;
}
.howto_box_howtomake h3 {
  margin-bottom: 5.7692307692%;
  margin-left: -7.6923076923%;
  padding: 3.8461538462% 0 6.7307692308%;
  width: 115.3846153846%;
  background: #0cf;
  line-height: 1;
  text-align: center;
  font-size: 22.5px;
  font-size: 7.03125vw;
}
.howto_box_howtomake h3 img {
  width: auto;
  height: 1em;
}
.howto_box_howtomake .yellowtext {
  margin-top: 2.6666666667%;
  margin-bottom: -3.5%;
  display: block;
  color: #ff0;
  font-weight: bold;
  line-height: 1.5;
  font-size: 15px;
  font-size: 4.6875vw;
}

.watch_movie-btn {
  padding: 3.3333333333% 0;
  display: block;
  background: #152a76;
  line-height: 1;
  text-align: center;
}
.watch_movie-btn img {
  width: auto;
  height: 1em;
  font-size: 13px;
  font-size: 4.0625vw;
}
.watch_movie-btn:hover {
  background: #3bb3eb;
  opacity: 1;
}

.snsLine {
  margin-top: 6.6666666667%;
  padding-bottom: 9.375%;
  display: flex;
  justify-content: center;
  text-align: center;
}
.snsLine li {
  padding: 0 0.8333333333%;
  width: 11.6666666667%;
}
.snsLine a {
  display: block;
  transition: 0.3s;
}
.snsLine a:hover {
  opacity: 0.8;
}

.supervision {
  padding: 50% 9.375% 64.0625%;
  color: #000;
  background: #ff0;
  background: url(/tokyo2020-common/images/craft-challenge/supervision-bnr-top-sp.png) no-repeat center top, url(/tokyo2020-common/images/craft-challenge/supervision-bnr-bottom-sp.jpg) no-repeat center bottom, url(/tokyo2020-common/images/craft-challenge/supervision-bnr-middle-sp.png) repeat-y center top;
  background-size: 100% auto, 100% auto, 100% auto;
  text-align: center;
  font-size: 12px;
  font-size: 3.75vw;
}
.supervision .inner {
  position: relative;
}
.supervision p {
  line-height: 1.5;
  text-align: justify;
  font-feature-settings: "palt";
}
.supervision a {
  display: block;
  color: #000;
}

.challenge_link_wrap {
  padding: 9.375% 0;
  background: #3bb3eb;
  font-weight: bold;
  line-height: 1.14;
  text-align: center;
  font-size: 12px;
  font-size: 3.75vw;
}
.challenge_link_wrap > ul {
  padding: 0;
}
.challenge_link_wrap li {
  padding: 0 3.125%;
  display: inline-block;
  width: 31.25%;
  vertical-align: top;
}
.challenge_link_wrap li:nth-child(1) a.current {
  background: url(/tokyo2020-common/images/craft-challenge/challenge_link_icon-1-hover.png) no-repeat;
  background-size: contain;
}
.challenge_link_wrap li:nth-child(2) a.current {
  background: url(/tokyo2020-common/images/craft-challenge/challenge_link_icon-2-hover.png) no-repeat;
  background-size: contain;
}
.challenge_link_wrap li:nth-child(3) a.current {
  background: url(/tokyo2020-common/images/craft-challenge/challenge_link_icon-3-hover.png) no-repeat;
  background-size: contain;
}
.challenge_link_wrap li:nth-child(4) a.current {
  background: url(/tokyo2020-common/images/craft-challenge/challenge_link_icon-4-hover.png) no-repeat;
  background-size: contain;
}
.challenge_link_wrap li:nth-child(5) a.current {
  background: url(/tokyo2020-common/images/craft-challenge/challenge_link_icon-5-hover.png) no-repeat;
  background-size: contain;
}
.challenge_link_wrap li:nth-child(n+4) {
  margin-top: 1.5625%;
}
.challenge_link_wrap a {
  display: block;
  color: #fff;
}
.challenge_link_wrap a img {
  transition: 0.3s;
}
.challenge_link_wrap a.current {
  opacity: 1;
}
.challenge_link_wrap a.current img {
  opacity: 0;
}
.challenge_link_wrap img {
  margin-bottom: 9.375%;
  width: 100%;
  height: auto;
}
.challenge_link_wrap p {
  white-space: nowrap;
}

.aside_bnr {
  padding: 9.375% 3.125% 0;
}
.aside_bnr li + li {
  margin-top: 3.3333333333%;
}

.isAndroidBrowser .howto_box_howtomake li p {
  letter-spacing: -0.05em;
}

.popup {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  transition: opacity 0s;
  opacity: 0;
}
.popup > * {
  z-index: 900;
}
.popup .popupBgi {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 800;
  width: 100%;
  height: 100%;
}
.popup.open {
  z-index: 999;
  transition: opacity 0.2s;
  opacity: 1;
}
.popup .popupPlate {
  margin: 0 auto;
  padding: 0 0 56.25%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 0;
  background: #fff;
}
.popup .popupPlate .popupClose {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(-100%);
  color: #fff;
  line-height: 1;
  text-align: right;
  opacity: 0.6;
  font-size: 30px;
  font-size: 9.375vw;
}

.craft_challenge .mfp-bg, .craft_challenge .mfp-wrap {
  z-index: 999;
}
.craft_challenge .mfp-container {
  padding: 0;
}
.craft_challenge .mfp-content {
  padding: 0;
}
.craft_challenge .mfp-content .mfp-close {
  margin: 0;
  padding: 0;
  border: none;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(-100%);
  width: auto;
  height: auto;
  color: #fff;
  font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  line-height: 1;
  text-align: right;
  opacity: 0.6;
  font-size: 30px;
  font-size: 9.375vw;
}
.craft_challenge .mfp-content .mfp-close:hover {
  opacity: 1;
}