@charset "UTF-8";
.tokyo2020 #contentsWrap {
  /*KVエリア
  ****************************/
  /*ムービーエリア
  ****************************/
  /*フードプロジェクト
  ****************************/
  /*スマイルリレー
  ****************************/
  /*おいしく成長プロジェクト
  ****************************/
  /*おいしく成長イベントレポート
  ****************************/
  /*POWER ひとくちの力
  ****************************/
}
.tokyo2020 #contentsWrap img {
  width: 100%;
  height: auto;
}
.tokyo2020 #contentsWrap a:hover {
  transition: 0.3;
  opacity: 0.7;
}
.tokyo2020 #contentsWrap .inner {
  margin-right: auto;
  margin-left: auto;
  padding: 0 3.125%;
}
.tokyo2020 #contentsWrap #kv {
  padding: 3.125% 0;
}
.tokyo2020 #contentsWrap #kv.-pattern_h1 {
  padding: 9.375% 0;
}
.tokyo2020 #contentsWrap #kv.-pattern_h1 .kv_ttl {
  color: #0093d0;
  line-height: 1;
  text-align: center;
  letter-spacing: -0.02em;
  font-size: 20px;
  font-size: 6.25vw;
}
.tokyo2020 #contentsWrap #kv.-pattern_h1 + .section_project {
  padding-top: 9.375%;
}
.tokyo2020 #contentsWrap #kv.-pattern_h1 + .section_project .craft_challenge {
  margin-top: 0;
}
.tokyo2020 #contentsWrap section {
  padding: 12.5% 0;
  display: block;
  position: relative;
  text-align: center;
}
.tokyo2020 #contentsWrap .kv_bnr {
  margin: 3.125% auto 0;
  display: block;
  width: 93.75%;
}
.tokyo2020 #contentsWrap .kv_bnr a {
  display: block;
}
.tokyo2020 #contentsWrap .section_movie {
  padding-top: 15.625%;
  background: #0093d0;
}
.tokyo2020 #contentsWrap .section_movie h2 {
  margin: 0 auto;
  width: 81.25%;
}
.tokyo2020 #contentsWrap .section_movie h3 {
  line-height: 1;
}
.tokyo2020 #contentsWrap .section_movie h3 img {
  display: inline-block;
  width: auto;
  height: 1em;
  font-size: 16px;
  font-size: 5vw;
}
.tokyo2020 #contentsWrap .movie_list {
  margin-top: 15.625%;
  padding: 0 3.125%;
}
.tokyo2020 #contentsWrap .movie_list > li {
  width: 100%;
}
.tokyo2020 #contentsWrap .movie_list > li + li {
  margin-top: 6.25%;
}
.tokyo2020 #contentsWrap .movie_wrap {
  margin: 20px auto 0;
  width: 100%;
}
.tokyo2020 #contentsWrap .movie_wrap img {
  width: 100%;
  height: auto;
}
.tokyo2020 #contentsWrap .iframe_wrap {
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}
.tokyo2020 #contentsWrap .iframe_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.tokyo2020 #contentsWrap .section_food_project {
  padding: 12.5% 3.125%;
  background: #f4f4f4;
}
.tokyo2020 #contentsWrap .section_food_project p {
  margin-top: 1em;
  padding: 10px 0;
  color: #fff;
  background-color: #b11d33;
  font-weight: bold;
  outline: 1px solid #fff;
  outline-offset: -5px;
}
.tokyo2020 #contentsWrap .section_food_project p:before {
  display: block;
  position: relative;
  top: 5px;
  left: 5px;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  content: "";
}
.tokyo2020 #contentsWrap .section_smile_relay {
  color: #333;
  font-size: 12px;
  font-size: 3.75vw;
}
.tokyo2020 #contentsWrap .section_smile_relay h2 {
  margin: 0 auto;
  width: 92.1875%;
}
.tokyo2020 #contentsWrap .section_smile_relay > figure {
  margin: 9.375% auto;
  display: block;
}
.tokyo2020 #contentsWrap .section_smile_relay > figure img {
  width: 42.96875%;
}
.tokyo2020 #contentsWrap .section_smile_relay figcaption {
  margin-top: 1.5em;
  padding: 0 3.125%;
  display: block;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
}
.tokyo2020 #contentsWrap .section_smile_relay a.btn_wrap {
  display: inline-block;
  width: 74.375%;
}
.tokyo2020 #contentsWrap .section_smile_relay small {
  margin-top: 0.5em;
  display: block;
  font-feature-settings: "palt";
  font-size: 9px;
  font-size: 2.8125vw;
}
.tokyo2020 #contentsWrap .section_project {
  background: #f4f4f4;
  /*栄養満点牛乳レシピ
  ****************************/
  /*おいしく、楽しく！工作チャレンジ
  ****************************/
}
.tokyo2020 #contentsWrap .section_project h2 {
  margin: 0 auto;
  width: 54.6875%;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe {
  margin-top: 12.5%;
  padding: 13.3333333333% 11.6666666667% 15.8333333333%;
  position: relative;
  overflow: hidden;
  background: url(/tokyo2020-common/images/hamauchi-bgi-top-sp.jpg) no-repeat center top, url(/tokyo2020-common/images/hamauchi-bgi-btm-sp.jpg) no-repeat center bottom, url(/tokyo2020-common/images/hamauchi-bgi-mid-sp.jpg) repeat-y center top;
  background-size: 100% auto, 100% auto, 100% auto;
  text-align: left;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe h3 {
  margin: 0 auto 13.0434782609%;
  width: 61.9565217391%;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .recipelist {
  display: block;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .recipelist li a {
  display: block;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .recipelist li img {
  width: 100%;
  height: auto;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .recipelist li p {
  margin-top: 0.25em;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0080c7;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.05em;
  font-feature-settings: "palt";
  font-size: 14px;
  font-size: 4.375vw;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .recipelist li p:before {
  margin-right: 0.25em;
  display: block;
  width: 1em;
  height: 1em;
  background: url(/hamauchi/images/pc/recipeList/icon_textLink-lb.svg) no-repeat;
  background-size: contain;
  font-size: 17px;
  font-size: 5.3125vw;
  content: "";
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .recipelist li + li {
  margin-top: 8.6956521739%;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .hamauchi_self .balloon {
  margin-top: 8.6956521739%;
  padding: 21.7391304348% 8.6956521739% 17.3913043478%;
  color: #fff;
  background: url(/tokyo2020-common/images/hamauchi-balloon.png) no-repeat left top;
  background-size: 100% 100%;
  line-height: 1.5;
  text-align: justify;
  font-feature-settings: "palt";
  font-size: 12px;
  font-size: 3.75vw;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .hamauchi_self .name {
  margin: 13.0434782609% 0 0;
  line-height: 1;
  font-size: 12px;
  font-size: 3.75vw;
  letter-spacing: -0.05em;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .hamauchi_self .name strong {
  font-size: 14px;
  font-size: 4.375vw;
}
.tokyo2020 #contentsWrap .section_project .hamauchi_recipe .hamauchi_self .img_self {
  position: absolute;
  right: 0;
  bottom: 0;
}
.tokyo2020 #contentsWrap .section_project .craft_challenge {
  margin: 6.25% auto 0;
  padding: 4.6875% 0;
  border: 4px solid #0093d0;
  width: 93.75%;
  background: url(/tokyo2020-common/images/bg-craft-challenge-sp.png);
}
.tokyo2020 #contentsWrap .section_project .craft_challenge h3 {
  margin: 0 auto 4.6875%;
  width: 94.5945%;
}
.tokyo2020 #contentsWrap .section_project .craft_challenge ul {
  margin: 0 auto;
  width: 91.2162%;
}
.tokyo2020 #contentsWrap .section_project .craft_challenge li {
  background: #FFF;
  line-height: 0;
}
.tokyo2020 #contentsWrap .section_project .craft_challenge li:not(:last-child) {
  margin: 0 0 0.78125%;
}
.tokyo2020 #contentsWrap .section_project .craft_challenge li a {
  display: block;
}
.tokyo2020 #contentsWrap .bnrwrap_event_report {
  margin-top: 6.25%;
  padding: 0 3.125%;
}
.tokyo2020 #contentsWrap .bnrwrap_event_report img {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.tokyo2020 #contentsWrap .aside_bnr {
  margin-top: 12.5%;
  padding: 0 3.125%;
  text-align: center;
}
.tokyo2020 #contentsWrap .aside_bnr a {
  display: block;
}

/*おいしく成長イベントレポート
****************************/
.eventreport #kv {
  margin: 0;
  padding: 0 0 6.25%;
  background: url(/tokyo2020-common/images/eventreport/kv-bgi-sp.jpg) no-repeat center top #fff;
  background-size: contain;
}
.eventreport #kv .title_area {
  margin: 0 auto;
  padding: 40.625% 0 0;
}
.eventreport #kv .hamauchi_img {
  margin-top: -3.59375%;
  position: relative;
  z-index: 700;
}
.eventreport #kv .lead {
  margin: -12.5% auto 0;
  padding: 8.125% 4.6875%;
  border: solid 8px #3691d3;
  position: relative;
  z-index: 800;
  width: 93.75%;
  color: #3691d3;
  background: #fff;
  line-height: 1.75;
  font-feature-settings: "palt";
  font-size: 12px;
  font-size: 3.75vw;
}
@media only screen and (max-width: 640px) {
  .eventreport #kv .lead {
    border-width: 8px;
  }
}
@media only screen and (max-width: 568px) {
  .eventreport #kv .lead {
    border-width: 7px;
  }
}
@media only screen and (max-width: 540px) {
  .eventreport #kv .lead {
    border-width: 7px;
  }
}
@media only screen and (max-width: 480px) {
  .eventreport #kv .lead {
    border-width: 6px;
  }
}
@media only screen and (max-width: 414px) {
  .eventreport #kv .lead {
    border-width: 5px;
  }
}
@media only screen and (max-width: 375px) {
  .eventreport #kv .lead {
    border-width: 5px;
  }
}
@media only screen and (max-width: 360px) {
  .eventreport #kv .lead {
    border-width: 5px;
  }
}
@media only screen and (max-width: 320px) {
  .eventreport #kv .lead {
    border-width: 4px;
  }
}
.eventreport .report_section {
  color: #3691d3;
}
.eventreport .report_section li {
  padding: 22.65625% 0 8.59375%;
  position: relative;
}
.eventreport .report_section li .inner {
  margin: 0 auto;
  position: relative;
  width: 93.75%;
}
.eventreport .report_section li h2 {
  margin-top: -19.6666666667%;
  position: absolute;
  top: 0;
  z-index: 800;
  width: 37.5%;
  height: auto;
}
.eventreport .report_section li .photo {
  display: block;
  position: relative;
}
.eventreport .report_section li .photo:after {
  margin: 1.3333333333% 0 0 1.3333333333%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(54, 145, 211, 0.25);
  content: "";
}
.eventreport .report_section li .photo + p {
  margin-top: 1em;
}
.eventreport .report_section li p {
  margin-left: -2%;
  width: 104%;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  letter-spacing: -0.066em;
  white-space: nowrap;
  font-feature-settings: "palt";
  font-size: 14px;
  font-size: 4.375vw;
}
.eventreport .report_section li:after {
  position: absolute;
  top: 0;
  z-index: -1;
  width: 50%;
  height: 100%;
  background: #def1ff;
  content: "";
}
.eventreport .report_section li:nth-child(odd) h2 {
  margin-right: -1.5625%;
  right: 0;
}
.eventreport .report_section li:nth-child(odd):after {
  right: 0;
  opacity: 0.5;
}
.eventreport .report_section li:nth-child(n+3) {
  margin-top: -4.6875%;
}
.eventreport .report_section li:nth-child(even) {
  margin-top: -4.6875%;
}
.eventreport .report_section li:nth-child(even) h2 {
  margin-left: -1.5625%;
  left: 0;
}
.eventreport .report_section li:nth-child(even):after {
  left: 0;
  width: 75%;
  opacity: 0.25;
}
.eventreport .report_section li.originalgoods {
  margin: 7.8125% auto 0;
  padding: 7.8125% 0;
}
.eventreport .report_section li.originalgoods .inner:after {
  display: block;
  clear: both;
  content: "";
}
.eventreport .report_section li.originalgoods h2 {
  margin: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -67%);
}
.eventreport .report_section li.originalgoods .photo {
  margin-top: 8.3333333333%;
  display: inline-block;
  position: relative;
  top: 0;
  float: left;
  width: 48.3333333333%;
}
.eventreport .report_section li.originalgoods .photo:after {
  margin: 2.7586206897% 0 0 2.7586206897%;
}
.eventreport .report_section li.originalgoods .photo + .photo {
  margin-top: 0;
  top: 0;
  float: right;
}
.eventreport .report_section li.originalgoods .photo + p {
  padding-top: 1em;
  clear: both;
}
.eventreport .section_smile_relay {
  padding: 15.625% 3.125%;
  border-bottom: solid 1px #ccc;
  text-align: center;
}
.eventreport .section_smile_relay .icon_mark-smile_relay {
  margin: 5% auto 6.6666666667%;
  width: 36.6666666667%;
}
.eventreport .section_smile_relay .olimpicmark {
  margin: 0 auto 16.6666666667%;
  width: 67.8333333333%;
}
.eventreport .section_smile_relay .btn_to-tokyo2020 {
  padding: 0.75em 1.3em;
  display: inline-block;
  color: #fff;
  background: #2f76c3;
  line-height: 1;
  font-size: 12px;
  font-size: 3.75vw;
}
.eventreport .section_smile_relay .btn_to-tokyo2020:hover {
  background: #3691d3;
}
.eventreport .aside_bnr {
  margin: 9.375% auto 0;
  padding: 0 3.125%;
}