@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

html {
  font-size: 62.5%; }

body {
  line-height: 1.6;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.03em;
  font-size: 14px;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  background: #000;
  -webkit-font-feature-settings: "palt";
     -moz-font-feature-settings: "palt";
          font-feature-settings: "palt"; }

.sp {
  display: none; }

::-moz-selection {
  background: #e30d65;
  color: #000; }

::selection {
  background: #e30d65;
  color: #000; }

a {
  color: #000; }
  a:hover {
    color: #0d0d0d; }

img {
  vertical-align: top; }

ul, ol {
  list-style: none; }

.cf {
  zoom: 1; }
  .cf:before, .cf:after {
    content: '';
    display: table; }
  .cf:after {
    clear: both; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 300; }

header {
  position: fixed;
  top: 30px;
  right: 44px;
  font-family: futura-pt-bold, sans-serif;
  font-weight: 700;
  z-index: 1000; }
  header div.container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    header div.container ul.lang-box {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      header div.container ul.lang-box li {
        font-size: 20px; }
        header div.container ul.lang-box li:nth-child(n+2) {
          margin-left: 22px; }
        header div.container ul.lang-box li.selected a {
          color: #e30d65; }
      header div.container ul.lang-box a {
        color: #fff;
        text-decoration: none;
        transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
    header div.container .btnNavi {
      position: relative;
      width: 32px;
      height: 32px;
      padding: 9px 0;
      box-sizing: border-box;
      margin-left: 40px;
      cursor: pointer;
      transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
      header div.container .btnNavi span {
        position: relative;
        display: block;
        width: 32px;
        height: 3px;
        background: #fff;
        transition: all 250ms cubic-bezier(0.645, 0.045, 0.355, 1);
        margin: 0 auto; }
        header div.container .btnNavi span:nth-child(n+2) {
          margin: 9px auto 0; }
      header div.container .btnNavi.active span:nth-child(1) {
        -webkit-transform: translate(0px, 6px) rotate(45deg);
            -ms-transform: translate(0px, 6px) rotate(45deg);
                transform: translate(0px, 6px) rotate(45deg); }
      header div.container .btnNavi.active span:nth-child(2) {
        -webkit-transform: translate(0px, -6px) rotate(-45deg);
            -ms-transform: translate(0px, -6px) rotate(-45deg);
                transform: translate(0px, -6px) rotate(-45deg); }

#video-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  #video-container .video-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    #video-container .video-box video {
      position: absolute;
      opacity: 0.8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; }
    #video-container .video-box .cover {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #000;
      opacity: 0.3;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; }

#wrap {
  position: relative;
  width: 100%;
  overflow: hidden; }
  #wrap section.main {
    position: relative;
    height: 100vh; }
    #wrap section.main h1 {
      position: absolute;
      top: 44.5%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
      #wrap section.main h1 img {
        height: 61vh;
        width: auto; }
    #wrap section.main .scrolldown {
      position: absolute;
      bottom: 0;
      left: 50%; }
      #wrap section.main .scrolldown p {
        position: absolute;
        top: -22px;
        left: 0;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        white-space: nowrap;
        font-family: futura-pt-bold, sans-serif;
        font-weight: 700;
        font-size: 12px; }
      #wrap section.main .scrolldown .line {
        position: relative;
        left: -1px;
        width: 3px;
        height: 60px;
        margin-top: 10px;
        overflow: hidden; }
        #wrap section.main .scrolldown .line .inner {
          position: absolute;
          top: 0px;
          left: 0px;
          width: 2px;
          height: 60px;
          background: #fff; }
  #wrap .wrap-cont {
    position: relative;
    width: 100%;
    background: url("../img/bg.png");
    background-attachment: fixed; }
    #wrap .wrap-cont section.project {
      position: relative;
      width: 100%;
      text-align: center; }
      #wrap .wrap-cont section.project section.head-cont {
        padding: 150px 0 160px;
        background: url("../img/bg_concept.png") center center no-repeat;
        background-attachment: fixed;
        background-position: 50% 50%;
        background-size: auto 150%; }
        #wrap .wrap-cont section.project section.head-cont h1 {
          font-size: 48px;
          text-align: center; }
          #wrap .wrap-cont section.project section.head-cont h1 em {
            font-weight: 700;
            color: #e30d65; }
          #wrap .wrap-cont section.project section.head-cont h1 span.en {
            font-size: 26px;
            font-family: "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
            font-weight: 500;
            letter-spacing: 0.03em; }
          #wrap .wrap-cont section.project section.head-cont h1 span.pink {
            color: #e30d65; }
        #wrap .wrap-cont section.project section.head-cont h2 {
          font-size: 32px;
          line-height: 1.5;
          margin: 54px 0 0; }
          #wrap .wrap-cont section.project section.head-cont h2 span.jp {
            font-size: 54px; }
          #wrap .wrap-cont section.project section.head-cont h2 span.en {
            font-size: 25px;
            font-family: "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
            font-weight: 500;
            letter-spacing: 0.03em; }
            #wrap .wrap-cont section.project section.head-cont h2 span.en span.pink {
              color: #e30d65; }
          #wrap .wrap-cont section.project section.head-cont h2 .garamond {
            position: relative;
            left: -0.4em; }
        #wrap .wrap-cont section.project section.head-cont .p-box {
          margin: 52px 0 0; }
          #wrap .wrap-cont section.project section.head-cont .p-box p {
            font-size: 21px;
            line-height: 2.3;
            width: 720px;
            margin: 0 auto;
            text-align: center; }
            #wrap .wrap-cont section.project section.head-cont .p-box p.jp {
              text-align: center; }
            #wrap .wrap-cont section.project section.head-cont .p-box p:nth-child(n+2) {
              margin: 32px 0 0; }
            #wrap .wrap-cont section.project section.head-cont .p-box p.en {
              line-height: 2;
              font-size: 19px; }
      #wrap .wrap-cont section.project .movie-box {
        position: relative;
        width: 100%;
        height: 480px;
        cursor: pointer;
        overflow: hidden; }
        #wrap .wrap-cont section.project .movie-box .background {
          position: relative;
          width: 100%;
          height: 100%;
          background: url("../img/img_movie.jpg") center center no-repeat;
          background-size: cover;
          transition: all 2s cubic-bezier(0.19, 1, 0.22, 1); }
        #wrap .wrap-cont section.project .movie-box .btn-play {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); }
          #wrap .wrap-cont section.project .movie-box .btn-play .image {
            width: 100px;
            transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
            transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
            transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
            #wrap .wrap-cont section.project .movie-box .btn-play .image img {
              width: 100%;
              height: auto; }
      #wrap .wrap-cont section.project section.about-box {
        position: relative;
        width: 100%;
        background: url("../img/bg_concept_2.jpg") center center no-repeat;
        background-size: cover;
        background-attachment: fixed;
        padding: 108px 0 172px; }
        #wrap .wrap-cont section.project section.about-box article {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          #wrap .wrap-cont section.project section.about-box article .text-box {
            text-align: left;
            padding: 88px 0 0;
            width: 400px; }
            #wrap .wrap-cont section.project section.about-box article .text-box h1 {
              font-size: 44px;
              line-height: 1.65; }
              #wrap .wrap-cont section.project section.about-box article .text-box h1 em {
                font-size: 48px;
                color: #e30d65; }
              #wrap .wrap-cont section.project section.about-box article .text-box h1.en {
                font-size: 40px; }
                #wrap .wrap-cont section.project section.about-box article .text-box h1.en em {
                  font-size: 40px;
                  color: #e30d65; }
            #wrap .wrap-cont section.project section.about-box article .text-box p {
              margin: 40px 0 0;
              font-size: 16px;
              line-height: 2.8;
              white-space: nowrap; }
              #wrap .wrap-cont section.project section.about-box article .text-box p.en {
                line-height: 2;
                font-size: 15px;
                white-space: normal; }
          #wrap .wrap-cont section.project section.about-box article .image-box {
            width: 620px;
            margin-left: 100px; }
            #wrap .wrap-cont section.project section.about-box article .image-box .image img {
              width: 100%;
              height: auto; }
          #wrap .wrap-cont section.project section.about-box article:nth-child(2) {
            margin: 120px 0 0; }
            #wrap .wrap-cont section.project section.about-box article:nth-child(2) .text-box {
              margin-left: 80px;
              padding: 0; }
            #wrap .wrap-cont section.project section.about-box article:nth-child(2) .image-box {
              margin: 0; }
    #wrap .wrap-cont section.story section.ttl-box {
      position: relative;
      width: 100%;
      background: url("../img/img_story_head.jpg") center center;
      background-attachment: fixed;
      padding: 108px 0 160px;
      text-align: center; }
      #wrap .wrap-cont section.story section.ttl-box h1 {
        font-size: 60px;
        font-family: futura-pt-bold, sans-serif;
        font-weight: 700;
        color: #e30d65; }
        #wrap .wrap-cont section.story section.ttl-box h1 em {
          font-weight: 700;
          color: #e30d65; }
      #wrap .wrap-cont section.story section.ttl-box p {
        margin: 24px 0 0;
        font-size: 18px;
        line-height: 2.45; }
        #wrap .wrap-cont section.story section.ttl-box p.en {
          width: 800px;
          margin: 24px auto 0;
          font-size: 16px;
          line-height: 2; }
        #wrap .wrap-cont section.story section.ttl-box p span.smallCaps {
          font-size: 13px; }
          #wrap .wrap-cont section.story section.ttl-box p span.smallCaps.asterisk {
            position: relative;
            top: -5px; }
          #wrap .wrap-cont section.story section.ttl-box p span.smallCaps.note {
            position: relative;
            display: block;
            margin: 20px 0 0; }
      #wrap .wrap-cont section.story section.ttl-box .appli-box {
        margin: 96px 0 0; }
        #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box {
          position: relative;
          width: 236px;
          margin: 0 auto; }
          #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box:before {
            position: absolute;
            content: "";
            top: -50px;
            left: -34px;
            background: url("../img/img_appli_base.png") no-repeat;
            width: 304px;
            height: 553px;
            background-size: contain; }
          #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container {
            width: 100%; }
            #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container .flickity-viewport {
              overflow: hidden; }
            #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container img {
              position: relative;
              width: 100%;
              height: auto; }
              #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container img:nth-child(n+2) {
                position: absolute;
                top: 0;
                left: 0; }
            #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container .flickity-page-dots {
              position: relative;
              display: -webkit-flex;
              display: -ms-flexbox;
              display: flex;
              -webkit-justify-content: center;
                  -ms-flex-pack: center;
                      justify-content: center;
              margin: 88px 0 0; }
              #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container .flickity-page-dots li {
                width: 10px;
                height: 10px;
                border-radius: 50%;
                background: #7a7a7a;
                cursor: pointer;
                transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
                #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container .flickity-page-dots li:nth-child(n+2) {
                  margin-left: 12px; }
                #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container .flickity-page-dots li.is-selected {
                  background: #e30d65; }
                #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container .flickity-page-dots li:hover {
                  opacity: 0.7;
                  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
    #wrap .wrap-cont section.story section.story-box {
      position: relative;
      width: 100%;
      padding: 84px 0 216px;
      text-align: center;
      background: url("../img/bg_story_1.jpg") top center no-repeat;
      background-size: cover;
      background-attachment: fixed; }
      #wrap .wrap-cont section.story section.story-box.story-2 {
        background: url("../img/bg_story_2_new.jpg") top center no-repeat;
        background-size: cover;
        background-attachment: fixed; }
        #wrap .wrap-cont section.story section.story-box.story-2.jp {
          background: url("../img/bg_story_2_new.jpg") top center no-repeat;
          background-size: cover;
          background-attachment: fixed; }
      #wrap .wrap-cont section.story section.story-box.story-3 {
        background: url("../img/bg_story_3.jpg") top center no-repeat;
        background-size: cover;
        background-attachment: fixed; }
      #wrap .wrap-cont section.story section.story-box.story-4 {
        background: url("../img/bg_story_4_new.jpg") top center no-repeat;
        background-size: cover;
        background-attachment: fixed; }
        #wrap .wrap-cont section.story section.story-box.story-4.jp {
          background: url("../img/bg_story_4_new.jpg") top center no-repeat;
          background-size: cover;
          background-attachment: fixed; }
      #wrap .wrap-cont section.story section.story-box.story-2 .container .image-box, #wrap .wrap-cont section.story section.story-box.story-4 .container .image-box {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        margin-left: 60px; }
      #wrap .wrap-cont section.story section.story-box.story-2 .container .text-box, #wrap .wrap-cont section.story section.story-box.story-4 .container .text-box {
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        margin-left: 0px; }
      #wrap .wrap-cont section.story section.story-box .number {
        position: relative;
        font-size: 37px;
        font-family: futura-pt-bold, sans-serif;
        font-weight: 700;
        text-align: center;
        display: inline-block; }
        #wrap .wrap-cont section.story section.story-box .number:before {
          position: absolute;
          content: "";
          background: url("../img/ico_circle_s.png") no-repeat;
          width: 80px;
          height: 80px;
          background-size: 100% 100%;
          top: -11px;
          left: -28px; }
        #wrap .wrap-cont section.story section.story-box .number:after {
          position: absolute;
          content: "";
          top: -158px;
          left: 11px;
          width: 1px;
          height: 150px;
          background: #fff; }
      #wrap .wrap-cont section.story section.story-box h1 {
        font-size: 42px;
        margin: 48px 0 0; }
        #wrap .wrap-cont section.story section.story-box h1.small {
          font-size: 36px; }
      #wrap .wrap-cont section.story section.story-box > .container {
        position: relative;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 60px 0 0; }
        #wrap .wrap-cont section.story section.story-box > .container .image-box {
          position: relative;
          width: 596px; }
          #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box {
            position: relative;
            width: 100%;
            overflow: hidden; }
            #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box img {
              width: 100%;
              height: auto; }
            #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box .flickity-prev-next-button {
              position: absolute;
              top: 50%;
              -webkit-transform: translateY(-50%);
                  -ms-transform: translateY(-50%);
                      transform: translateY(-50%);
              background: url("../img/ico_slider_next.png") no-repeat;
              background-size: 100% 100%;
              width: 24px;
              height: 24px;
              border: none;
              cursor: pointer;
              outline: none;
              padding: 0;
              -webkit-appearance: none;
                 -moz-appearance: none;
                      appearance: none;
              transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
              #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box .flickity-prev-next-button svg {
                display: none; }
              #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box .flickity-prev-next-button.previous {
                left: 10px;
                background: url("../img/ico_slider_prev.png") no-repeat;
                background-size: 100% 100%; }
              #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box .flickity-prev-next-button.next {
                right: 10px; }
          #wrap .wrap-cont section.story section.story-box > .container .image-box .thumb-box {
            width: 100%;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
            margin: 4px 0 0;
            -webkit-justify-content: space-between;
                -ms-flex-pack: justify;
                    justify-content: space-between; }
            #wrap .wrap-cont section.story section.story-box > .container .image-box .thumb-box li {
              cursor: pointer;
              border: 1px solid transparent;
              width: calc(33.333% - 4px);
              margin: 0 0 3px; }
              #wrap .wrap-cont section.story section.story-box > .container .image-box .thumb-box li.selected {
                border: 1px solid #e30d65; }
              #wrap .wrap-cont section.story section.story-box > .container .image-box .thumb-box li img {
                width: 100%;
                height: auto; }
            #wrap .wrap-cont section.story section.story-box > .container .image-box .thumb-box.size-s li {
              width: calc(20% - 4px); }
        #wrap .wrap-cont section.story section.story-box > .container .text-box {
          width: 380px;
          margin-left: 60px;
          padding: 40px 0 0; }
          #wrap .wrap-cont section.story section.story-box > .container .text-box p {
            text-align: left;
            font-size: 16px;
            line-height: 2.5; }
    #wrap .wrap-cont section.story section.future-box {
      position: relative;
      width: 100%;
      background: url("../img/img_story_head.jpg") center center;
      background-attachment: fixed;
      padding: 90px 0 0px;
      text-align: center; }
      #wrap .wrap-cont section.story section.future-box .number {
        position: relative;
        font-size: 24px;
        font-family: futura-pt-bold, sans-serif;
        font-weight: 700;
        text-align: center;
        display: inline-block; }
        #wrap .wrap-cont section.story section.future-box .number:before {
          position: absolute;
          content: "";
          background: url("../img/ico_circle_l.png") no-repeat;
          width: 174px;
          height: 174px;
          background-size: 100% 100%;
          top: -58px;
          left: -44px; }
        #wrap .wrap-cont section.story section.future-box .number:after {
          position: absolute;
          content: "";
          top: -206px;
          left: 43px;
          width: 1px;
          height: 150px;
          background: #fff; }
      #wrap .wrap-cont section.story section.future-box h1 {
        font-size: 42px;
        margin: 104px 0 0;
        padding: 0 20px;
        box-sizing: border-box; }
        #wrap .wrap-cont section.story section.future-box h1 em {
          font-weight: 700;
          color: #e30d65; }
      #wrap .wrap-cont section.story section.future-box p {
        margin: 40px 0 0;
        font-size: 18px;
        line-height: 2.45; }
        #wrap .wrap-cont section.story section.future-box p.en {
          width: 800px;
          margin: 24px auto 0;
          font-size: 16px;
          line-height: 2; }
      #wrap .wrap-cont section.story section.future-box .slider-box {
        width: 100%;
        margin: 80px 0 0; }
        #wrap .wrap-cont section.story section.future-box .slider-box .image {
          width: 3600px;
          text-align: left;
          white-space: nowrap;
          letter-spacing: -0.4em;
          font-size: 0; }
          #wrap .wrap-cont section.story section.future-box .slider-box .image img {
            width: 50%;
            height: auto; }
    #wrap .wrap-cont section.report {
      position: relative;
      width: 100%;
      padding: 96px 0 200px;
      text-align: center;
      background: url("../img/img_story_head.jpg") center center;
      background-attachment: fixed; }
      #wrap .wrap-cont section.report h1 {
        font-size: 60px;
        font-family: futura-pt-bold, sans-serif;
        font-weight: 700;
        color: #e30d65; }
        #wrap .wrap-cont section.report h1 em {
          font-weight: 700;
          color: #e30d65; }
      #wrap .wrap-cont section.report ul.report-box {
        width: 980px;
        margin: 70px auto 0;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
        #wrap .wrap-cont section.report ul.report-box.jp li:nth-child(n+4) {
          margin-top: 60px; }
        #wrap .wrap-cont section.report ul.report-box.jp li:nth-child(n+7) {
          display: none; }
        #wrap .wrap-cont section.report ul.report-box li {
          width: 280px;
          text-align: left; }
          #wrap .wrap-cont section.report ul.report-box li a {
            display: block;
            color: #fff;
            text-decoration: none;
            transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
          #wrap .wrap-cont section.report ul.report-box li .image-box {
            width: 100%; }
            #wrap .wrap-cont section.report ul.report-box li .image-box .image img {
              width: 100%;
              height: auto; }
          #wrap .wrap-cont section.report ul.report-box li:not(:nth-child(3n+1)) {
            margin-left: 70px; }
          #wrap .wrap-cont section.report ul.report-box li:nth-child(n+4) {
            margin-top: 60px; }
          #wrap .wrap-cont section.report ul.report-box li h2 {
            font-size: 20px;
            margin: 26px 0 0; }
          #wrap .wrap-cont section.report ul.report-box li time {
            display: block;
            margin: 12px 0 0;
            font-size: 15px;
            font-family: futura-pt, sans-serif;
            font-weight: 600;
            color: #e30d65; }
      #wrap .wrap-cont section.report .btn-more {
        position: relative;
        width: 280px;
        height: 64px;
        text-align: center;
        margin: 72px auto 0;
        font-family: futura-pt-bold, sans-serif;
        border: 1px solid #fff;
        font-size: 20px;
        line-height: 64px;
        cursor: pointer;
        transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
        #wrap .wrap-cont section.report .btn-more:before {
          position: absolute;
          content: "";
          top: 26px;
          right: 22px;
          background: url("../img/icon_plus.png") center center no-repeat;
          width: 10px;
          height: 10px;
          background-size: contain;
          transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
    #wrap .wrap-cont section.team {
      position: relative;
      width: 100%;
      background: url("../img/bg_team.png") center center no-repeat;
      background-attachment: fixed;
      padding: 104px 0 172px;
      text-align: center; }
      #wrap .wrap-cont section.team h1 {
        font-size: 60px;
        font-family: futura-pt-bold, sans-serif;
        font-weight: 700;
        color: #e30d65; }
      #wrap .wrap-cont section.team ul.team-box {
        margin: 32px 0 0; }
        #wrap .wrap-cont section.team ul.team-box > li:nth-child(n+2) {
          margin: 60px 0 0; }
        #wrap .wrap-cont section.team ul.team-box > li h2 {
          font-size: 26px;
          font-family: futura-pt-bold, sans-serif;
          font-weight: 700; }
          #wrap .wrap-cont section.team ul.team-box > li h2 span {
            border-bottom: 2px solid #fff;
            padding-bottom: 0px; }
        #wrap .wrap-cont section.team ul.team-box > li ul.logo-box {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          margin: 16px 0 0; }
          #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team {
            display: block;
            text-align: center; }
            #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team li {
              width: 100%; }
              #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team li.dentsu {
                margin-bottom: 36px; }
                #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team li.dentsu img {
                  width: 160px;
                  height: auto; }
              #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team li:nth-child(n+2) {
                margin-left: 0px; }
                #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team li:nth-child(n+2) img {
                  width: 96px;
                  height: auto; }
          #wrap .wrap-cont section.team ul.team-box > li ul.logo-box li {
            width: 200px; }
            #wrap .wrap-cont section.team ul.team-box > li ul.logo-box li:nth-child(n+2) {
              margin-left: 80px; }
            #wrap .wrap-cont section.team ul.team-box > li ul.logo-box li img {
              height: 70px;
              width: auto; }
            #wrap .wrap-cont section.team ul.team-box > li ul.logo-box li a {
              transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
  #wrap footer section.contact-box {
    position: relative;
    padding: 106px 0 136px;
    text-align: center; }
    #wrap footer section.contact-box .cover {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #000;
      opacity: 0.4;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; }
    #wrap footer section.contact-box h1 {
      position: relative;
      font-size: 48px;
      font-family: futura-pt-bold, sans-serif;
      font-weight: 700;
      color: #e30d65; }
    #wrap footer section.contact-box h2 {
      position: relative;
      font-size: 36px;
      margin: 36px 0 0; }
    #wrap footer section.contact-box .btn-mail {
      position: relative;
      width: 320px;
      height: 76px;
      border: 1px solid rgba(255, 255, 255, 0.8);
      box-sizing: border-box;
      margin: 26px auto 0;
      font-family: futura-pt, sans-serif;
      font-weight: 600;
      font-size: 22px;
      transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
      #wrap footer section.contact-box .btn-mail a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 16px 0 0;
        box-sizing: border-box;
        color: #fff;
        text-decoration: none;
        letter-spacing: 0em;
        transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
  #wrap footer section.copyright {
    position: relative;
    width: 100%;
    padding: 100px 0 100px;
    background: url("../img/bg.png") center center;
    background-attachment: fixed;
    text-align: center;
    font-family: futura-pt, sans-serif;
    font-weight: 600; }
    #wrap footer section.copyright .logo-dentsu {
      position: relative;
      width: 160px;
      margin: 0 auto; }
      #wrap footer section.copyright .logo-dentsu a {
        width: 100%;
        display: block;
        transition: all 0.1s ease; }
        #wrap footer section.copyright .logo-dentsu a img {
          width: 100%;
          height: auto; }
    #wrap footer section.copyright .copyright {
      margin-top: 60px; }
    #wrap footer section.copyright ul.award-box {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-top: 72px; }
      #wrap footer section.copyright ul.award-box li {
        width: 145px; }
        #wrap footer section.copyright ul.award-box li:nth-child(n+2) {
          margin-left: 30px; }
        #wrap footer section.copyright ul.award-box li img {
          width: 100%;
          height: auto; }
        #wrap footer section.copyright ul.award-box li a {
          display: block;
          transition: all 0.1s ease; }
        #wrap footer section.copyright ul.award-box li.designaward {
          width: 166px; }

body.report-page .movie-box {
  cursor: pointer;
  transition: all 0.1s ease; }

body.report-page .glonav a {
  text-decoration: none;
  color: #fff;
  transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1); }

body.report-page a {
  color: #fff;
  text-decoration: underline; }

body.report-page h1 {
  position: fixed;
  top: 26px;
  left: 40px;
  width: 66px;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  z-index: 100; }
  body.report-page h1 a {
    display: block;
    width: 100%;
    transition: all 0.1s ease; }
  body.report-page h1 img {
    width: 100%;
    height: auto; }

body.report-page #wrap {
  padding-top: 156px; }
  body.report-page #wrap main section.title-box h2 {
    font-size: 60px;
    color: #e30d65;
    font-family: futura-pt-bold, sans-serif;
    text-align: center; }
  body.report-page #wrap main section.report-box {
    position: relative;
    width: 900px;
    margin: 124px auto 0; }
    body.report-page #wrap main section.report-box .article-title {
      font-size: 36px;
      font-weight: bold; }
      body.report-page #wrap main section.report-box .article-title h2 {
        font-weight: bold;
        line-height: 1.5;
        letter-spacing: 0.03em; }
      body.report-page #wrap main section.report-box .article-title p.date {
        margin: 18px 0 0;
        letter-spacing: 0.04em;
        color: #e30d65;
        font-family: futura-pt-bold, sans-serif;
        font-size: 16px; }
    body.report-page #wrap main section.report-box .article-box {
      margin-top: 60px; }
      body.report-page #wrap main section.report-box .article-box.text-left article .text-image .text-box {
        text-align: left !important; }
      body.report-page #wrap main section.report-box .article-box article {
        padding-bottom: 80px;
        padding-top: 80px;
        border-top: 1px solid #333333; }
        body.report-page #wrap main section.report-box .article-box article:first-child {
          padding-top: 0px;
          border-top: none; }
        body.report-page #wrap main section.report-box .article-box article .image-full {
          width: 100%;
          margin-bottom: 70px; }
          body.report-page #wrap main section.report-box .article-box article .image-full img {
            width: 100%;
            height: auto; }
          body.report-page #wrap main section.report-box .article-box article .image-full.inner {
            margin-top: 100px; }
          body.report-page #wrap main section.report-box .article-box article .image-full p.caption {
            margin: 20px 0 0;
            font-size: 16px; }
        body.report-page #wrap main section.report-box .article-box article h3 {
          margin: 80px 0 0;
          font-size: 33px;
          font-weight: bold; }
          body.report-page #wrap main section.report-box .article-box article h3.first {
            margin: 21px 0 0; }
        body.report-page #wrap main section.report-box .article-box article h4 {
          margin: 40px 0 30px;
          font-size: 18px;
          font-weight: bold;
          line-height: 2; }
          body.report-page #wrap main section.report-box .article-box article h4.first {
            margin: 0 0 20px; }
        body.report-page #wrap main section.report-box .article-box article .text-image {
          position: relative;
          margin: 48px 0 0;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; }
          body.report-page #wrap main section.report-box .article-box article .text-image .text-box {
            -webkit-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            text-align: left;
            font-size: 16px;
            line-height: 2.3; }
            body.report-page #wrap main section.report-box .article-box article .text-image .text-box.full {
              margin: 0 80px; }
          body.report-page #wrap main section.report-box .article-box article .text-image .image-box {
            position: relative;
            padding-top: 10px;
            width: 320px;
            margin-left: 70px; }
            body.report-page #wrap main section.report-box .article-box article .text-image .image-box li .image {
              width: 100%; }
              body.report-page #wrap main section.report-box .article-box article .text-image .image-box li .image img {
                width: 100%;
                height: auto; }
            body.report-page #wrap main section.report-box .article-box article .text-image .image-box li p.caption {
              margin: 12px 0 0;
              font-size: 15px; }
            body.report-page #wrap main section.report-box .article-box article .text-image .image-box li:nth-child(n+2) {
              margin: 44px 0 0; }
    body.report-page #wrap main section.report-box .profile {
      margin: 0 0 50px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      border-top: 1px solid #222;
      border-bottom: 1px solid #222;
      padding: 50px 0; }
      body.report-page #wrap main section.report-box .profile .image-box {
        width: 160px;
        margin-right: 40px; }
        body.report-page #wrap main section.report-box .profile .image-box img {
          width: 100%;
          height: auto; }
      body.report-page #wrap main section.report-box .profile div.profile-box {
        width: 200px;
        margin-right: 40px; }
      body.report-page #wrap main section.report-box .profile h4 {
        font-size: 16px;
        margin-bottom: 16px; }
      body.report-page #wrap main section.report-box .profile p {
        margin: 8px 0 0;
        font-size: 13px;
        line-height: 1.8; }
      body.report-page #wrap main section.report-box .profile p.text {
        margin-top: 0;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; }
    body.report-page #wrap main section.report-box .credit {
      font-family: futura-pt-bold, sans-serif;
      font-size: 12px;
      letter-spacing: 0.06em; }
      body.report-page #wrap main section.report-box .credit a {
        color: #fff; }
  body.report-page #wrap main section.report-nav {
    position: relative;
    width: 900px;
    margin: 80px auto 0;
    border-top: 1px solid #333333;
    padding: 80px 0 0; }
    body.report-page #wrap main section.report-nav p.btn-prev, body.report-page #wrap main section.report-nav p.btn-next {
      position: absolute; }
      body.report-page #wrap main section.report-nav p.btn-prev a, body.report-page #wrap main section.report-nav p.btn-next a {
        color: #fff;
        text-decoration: none;
        font-family: futura-pt-bold, sans-serif;
        font-size: 18px;
        letter-spacing: 0.06em;
        transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
      body.report-page #wrap main section.report-nav p.btn-prev.btn-prev, body.report-page #wrap main section.report-nav p.btn-next.btn-prev {
        top: 102px;
        left: 0; }
      body.report-page #wrap main section.report-nav p.btn-prev.btn-next, body.report-page #wrap main section.report-nav p.btn-next.btn-next {
        top: 102px;
        right: 0; }
    body.report-page #wrap main section.report-nav p.btn-top {
      position: relative;
      width: 280px;
      height: 70px;
      border: 1px solid #fff;
      margin: 0 auto; }
      body.report-page #wrap main section.report-nav p.btn-top a {
        display: block;
        width: 100%;
        height: 100%;
        color: #fff;
        text-decoration: none;
        text-align: center;
        padding-top: 18px;
        font-family: futura-pt-bold, sans-serif;
        font-size: 20px;
        letter-spacing: 0.03em;
        box-sizing: border-box;
        transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); }

body.report-page #wrap footer section.copyright {
  background: none; }

nav.glonav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none; }
  nav.glonav.active {
    display: block; }
  nav.glonav .cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/bg.png") center center;
    opacity: 0.9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"; }
  nav.glonav ul {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
    nav.glonav ul li {
      font-family: futura-pt-bold, sans-serif;
      font-weight: 700;
      font-style: normal;
      text-align: center;
      font-size: 40px;
      line-height: 1;
      width: 200px;
      margin: 0 auto;
      text-align: center;
      cursor: pointer;
      transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
      nav.glonav ul li:nth-child(n+2) {
        margin: 30px auto 0; }

#youtube {
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 1005; }
  #youtube .cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.95;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=95)";
    cursor: pointer; }
  #youtube .box {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 980px;
    height: 550px;
    margin-left: -490px;
    margin-top: -275px;
    background-color: #000; }
    #youtube .box .player {
      width: 980px;
      height: 550px; }
  #youtube .btn-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 27px;
    height: 27px;
    cursor: pointer;
    transition: all 0.1s ease; }
    #youtube .btn-close img {
      width: 100%;
      height: auto; }

#bnr-partner {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 10000;
  width: 325px;
  cursor: pointer; }
  #bnr-partner a {
    display: block;
    transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1); }
  #bnr-partner img {
    width: 100%;
    height: auto; }

.futura-demi {
  font-family: futura-pt, sans-serif;
  font-weight: 600;
  font-style: normal; }

.futura-bold {
  font-family: futura-pt-bold, sans-serif;
  font-weight: 700;
  font-style: normal; }

.garamond {
  font-family: 'EB Garamond', serif;
  letter-spacing: 0.02em; }

@media screen and (max-width: 768px){
  .pc{
    display: none; }
  .sp{
    display: block; }
  header{
    top: 16px;
    right: 22px; }
  header div.container ul.lang-box li{
    font-size: 16px; }
  header div.container ul.lang-box li:nth-child(n+2){
    margin-left: 18px; }
  header div.container .btnNavi{
    margin-left: 24px;
    padding: 8px 0; }
  header div.container .btnNavi span{
    width: 24px;
    height: 2px; }
  header div.container .btnNavi span:nth-child(n+2){
    margin: 6px auto 0; }
  header div.container .btnNavi.active span:nth-child(1){
    -webkit-transform: translate(0px, 4px) rotate(45deg);
        -ms-transform: translate(0px, 4px) rotate(45deg);
            transform: translate(0px, 4px) rotate(45deg); }
  header div.container .btnNavi.active span:nth-child(2){
    -webkit-transform: translate(0px, -4px) rotate(-45deg);
        -ms-transform: translate(0px, -4px) rotate(-45deg);
            transform: translate(0px, -4px) rotate(-45deg); }
  #wrap section.main{
    height: 90vh; }
  #wrap section.main h1{
    top: 42%; }
  #wrap section.main h1 img{
    height: 40.5vh; }
  #wrap section.main .scrolldown{
    display: none; }
  #wrap section.main .scrolldown p{
    font-size: 10px; }
  #wrap section.main .scrolldown .line{
    height: 60px;
    margin-top: 6px;
    -webkit-transform: scale(0.5, 1);
        -ms-transform: scale(0.5, 1);
            transform: scale(0.5, 1); }
  #wrap .wrap-cont{
    background-attachment: scroll; }
  #wrap .wrap-cont section.project section.head-cont{
    background-attachment: scroll;
    background-size: auto 100%; }
  #wrap .wrap-cont section.project section.head-cont{
    padding: 72px 0 78px; }
  #wrap .wrap-cont section.project section.head-cont h1{
    font-size: 26px;
    line-height: 1.5; }
  #wrap .wrap-cont section.project section.head-cont h1 span.en{
    font-size: 16px;
    line-height: 3; }
  #wrap .wrap-cont section.project section.head-cont h1.en{
    font-size: 24px;
    line-height: 1.6; }
  #wrap .wrap-cont section.project section.head-cont h2 span.jp{
    font-size: 32px;
    display: block;
    line-height: 1.4;
    margin: 6px 0 0; }
  #wrap .wrap-cont section.project section.head-cont h2{
    font-size: 19px;
    margin: 36px 0 0;
    line-height: 1.7; }
  #wrap .wrap-cont section.project section.head-cont h2 span.en{
    font-size: 16px; }
  #wrap .wrap-cont section.project section.head-cont .p-box{
    margin: 36px 0 0; }
  #wrap .wrap-cont section.project section.head-cont .p-box p{
    font-size: 13px;
    width: 100%;
    padding: 0 6%;
    box-sizing: border-box; }
  #wrap .wrap-cont section.project section.head-cont .p-box p:nth-child(n+2){
    margin: 18px 0 0; }
  #wrap .wrap-cont section.project section.head-cont .p-box p.en{
    line-height: 1.8;
    padding: 0 20px;
    font-size: 14px;
    box-sizing: border-box;
    text-align: left; }
  #wrap .wrap-cont section.project .movie-box{
    height: 60vw; }
  #wrap .wrap-cont section.project .movie-box .btn-play .image{
    width: 60px; }
  #wrap .wrap-cont section.project section.about-box{
    padding: 76px 6% 100px;
    box-sizing: border-box;
    background: url("../img/bg_concept_2_sp.jpg") center center no-repeat;
    background-attachment: scroll;
    background-size: cover; }
  #wrap .wrap-cont section.project section.about-box article{
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  #wrap .wrap-cont section.project section.about-box article .text-box{
    padding: 0;
    width: 100%; }
  #wrap .wrap-cont section.project section.about-box article .text-box h1{
    font-size: 26px;
    text-align: center;
    line-height: 1.6; }
  #wrap .wrap-cont section.project section.about-box article .text-box h1 em{
    font-size: 28px; }
  #wrap .wrap-cont section.project section.about-box article .text-box h1.en{
    font-size: 27px;
    line-height: 1.5; }
  #wrap .wrap-cont section.project section.about-box article .text-box h1.en em{
    font-size: 27px; }
  #wrap .wrap-cont section.project section.about-box article .text-box p{
    font-size: 12px;
    line-height: 2.2;
    margin: 22px 0 0;
    white-space: normal; }
  #wrap .wrap-cont section.project section.about-box article .text-box p.en{
    font-size: 12px;
    line-height: 2.2;
    margin: 22px 0 0; }
  #wrap .wrap-cont section.project section.about-box article .image-box{
    width: 92%;
    margin: 28px auto 0; }
  #wrap .wrap-cont section.project section.about-box article:nth-child(2){
    margin: 40px 0 0; }
  #wrap .wrap-cont section.project section.about-box article:nth-child(2) .text-box{
    margin-left: 0px;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  #wrap .wrap-cont section.project section.about-box article:nth-child(2) .image-box{
    margin: 28px auto 0;
    width: 100%;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  #wrap .wrap-cont section.story section.ttl-box{
    padding: 56px 0 78px;
    background: url("../img/img_story_head_sp.jpg") top center;
    background-attachment: scroll;
    background-size: 100% auto; }
  #wrap .wrap-cont section.story section.ttl-box h1{
    font-size: 35px; }
  #wrap .wrap-cont section.story section.ttl-box p.en{
    width: auto;
    font-size: 12px;
    line-height: 2.3;
    margin: 9px 0 0;
    padding: 0 20px;
    box-sizing: border-box; }
  #wrap .wrap-cont section.story section.ttl-box p{
    font-size: 12px;
    line-height: 2.3;
    margin: 9px 0 0; }
  #wrap .wrap-cont section.story section.ttl-box p span.smallCaps{
    font-size: 10px; }
  #wrap .wrap-cont section.story section.ttl-box p span.smallCaps.asterisk{
    top: -3px; }
  #wrap .wrap-cont section.story section.ttl-box p span.smallCaps.note{
    margin: 16px 0 0; }
  #wrap .wrap-cont section.story section.ttl-box .appli-box{
    margin: 72px 0 0; }
  #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box{
    width: 180px; }
  #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box:before{
    width: 232px;
    height: 422px;
    left: -27px;
    top: -38px; }
  #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container .flickity-page-dots{
    margin: 68px 0 0; }
  #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container .flickity-page-dots li{
    width: 8px;
    height: 8px; }
  #wrap .wrap-cont section.story section.ttl-box .appli-box .appli-slider-box .container .flickity-page-dots li:nth-child(n+2){
    margin-left: 10px; }
  #wrap .wrap-cont section.story section.story-box{
    padding: 56px 6% 102px;
    box-sizing: border-box;
    background: url("../img/bg_story_1_sp.jpg") top center no-repeat;
    background-attachment: scroll;
    background-size: cover; }
  #wrap .wrap-cont section.story section.story-box.story-2{
    background: url("../img/bg_story_2_sp_new.jpg") top center no-repeat;
    background-attachment: scroll;
    background-size: cover; }
  #wrap .wrap-cont section.story section.story-box.story-2.jp{
    background: url("../img/bg_story_2_sp_new.jpg") top center no-repeat;
    background-attachment: scroll;
    background-size: cover; }
  #wrap .wrap-cont section.story section.story-box.story-3{
    background: url("../img/bg_story_3_sp.jpg") top center no-repeat;
    background-attachment: scroll;
    background-size: cover; }
  #wrap .wrap-cont section.story section.story-box.story-4{
    background: url("../img/bg_story_4_sp_new.jpg") top center no-repeat;
    background-attachment: scroll;
    background-size: cover; }
  #wrap .wrap-cont section.story section.story-box.story-4.jp{
    background: url("../img/bg_story_4_sp_new.jpg") top center no-repeat;
    background-attachment: scroll;
    background-size: cover; }
  #wrap .wrap-cont section.story section.story-box.story-2 .container .image-box, #wrap .wrap-cont section.story section.story-box.story-4 .container .image-box{
    margin-left: 0px; }
  #wrap .wrap-cont section.story section.story-box .number{
    font-size: 22px; }
  #wrap .wrap-cont section.story section.story-box .number:before{
    width: 45px;
    height: 45px;
    top: -5px;
    left: -16px; }
  #wrap .wrap-cont section.story section.story-box .number:after{
    left: 6px;
    height: 88px;
    top: -92px; }
  #wrap .wrap-cont section.story section.story-box h1{
    font-size: 25px;
    margin: 28px 0 0; }
  #wrap .wrap-cont section.story section.story-box h1.small{
    font-size: 24px; }
  #wrap .wrap-cont section.story section.story-box > .container{
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin: 18px 0 0; }
  #wrap .wrap-cont section.story section.story-box > .container .image-box{
    width: 100%;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    margin: 28px 0 0; }
  #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box .flickity-prev-next-button{
    width: 20px;
    height: 20px; }
  #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box .flickity-prev-next-button.previous{
    left: 5px; }
  #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box .flickity-prev-next-button.next{
    right: 5px; }
  #wrap .wrap-cont section.story section.story-box > .container .text-box{
    width: 100%;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin-left: 0px;
    padding: 0; }
  #wrap .wrap-cont section.story section.story-box > .container .text-box p{
    font-size: 12px;
    line-height: 2.3; }
  #wrap .wrap-cont section.story section.future-box{
    padding: 66px 0 0px;
    box-sizing: border-box;
    background: url("../img/img_story_head_sp.jpg") top center;
    background-attachment: scroll;
    background-size: 100% auto; }
  #wrap .wrap-cont section.story section.future-box .number{
    font-size: 14px; }
  #wrap .wrap-cont section.story section.future-box .number:before{
    width: 100px;
    height: 100px;
    top: -33px;
    left: -24px; }
  #wrap .wrap-cont section.story section.future-box .number:after{
    left: 26px;
    height: 100px;
    top: -132px; }
  #wrap .wrap-cont section.story section.future-box h1{
    font-size: 25px;
    margin: 62px 0 0; }
  #wrap .wrap-cont section.story section.future-box h1.en{
    font-size: 24px; }
  #wrap .wrap-cont section.story section.future-box p{
    font-size: 12px;
    line-height: 2.3;
    margin: 22px 0 0; }
  #wrap .wrap-cont section.story section.future-box p.en{
    width: auto;
    font-size: 12px;
    line-height: 2.3;
    margin: 9px 0 0;
    padding: 0 20px;
    box-sizing: border-box; }
  #wrap .wrap-cont section.story section.future-box .slider-box{
    margin: 52px 0 0;
    -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
            transform-origin: 0% 0%;
    -webkit-transform: scale(0.5);
        -ms-transform: scale(0.5);
            transform: scale(0.5);
    height: 187px; }
  #wrap .wrap-cont section.story section.future-box .slider-box .image{
    margin: 52px 0 0; }
  #wrap .wrap-cont section.report{
    padding: 42px 0 80px;
    background: url("../img/img_story_head_sp.jpg") top center;
    background-attachment: scroll;
    background-size: 100% auto; }
  #wrap .wrap-cont section.report h1{
    font-size: 35px; }
  #wrap .wrap-cont section.report ul.report-box{
    width: 225px;
    margin: 40px auto 0; }
  #wrap .wrap-cont section.report ul.report-box.jp{
    width: 88%; }
  #wrap .wrap-cont section.report ul.report-box.jp li{
    width: calc(50% - 10px); }
  #wrap .wrap-cont section.report ul.report-box.jp li:not(:nth-child(3n+1)){
    margin: 0; }
  #wrap .wrap-cont section.report ul.report-box.jp li:nth-child(n+4){
    margin: 0; }
  #wrap .wrap-cont section.report ul.report-box.jp li:nth-child(2n){
    margin-left: 20px; }
  #wrap .wrap-cont section.report ul.report-box.jp li:nth-child(n+3){
    margin-top: 30px; }
  #wrap .wrap-cont section.report ul.report-box.jp li h2{
    font-size: 14px;
    margin: 12px 0 0; }
  #wrap .wrap-cont section.report ul.report-box li{
    width: 100%; }
  #wrap .wrap-cont section.report ul.report-box li:not(:nth-child(3n+1)){
    margin: 44px 0 0; }
  #wrap .wrap-cont section.report ul.report-box li h2{
    font-size: 18px;
    margin: 20px 0 0; }
  #wrap .wrap-cont section.report ul.report-box li time{
    margin: 8px 0 0;
    font-size: 12px; }
  #wrap .wrap-cont section.team{
    padding: 62px 0 70px;
    background-attachment: scroll;
    background-size: 120% auto; }
  #wrap .wrap-cont section.team h1{
    font-size: 35px; }
  #wrap .wrap-cont section.team ul.team-box{
    margin: 24px 0 0; }
  #wrap .wrap-cont section.team ul.team-box > li:nth-child(n+2){
    margin: 38px 0 0; }
  #wrap .wrap-cont section.team ul.team-box > li h2{
    font-size: 18px; }
  #wrap .wrap-cont section.team ul.team-box > li ul.logo-box{
    margin: 10px 0 0; }
  #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team li img{
    width: 100px;
    height: auto; }
  #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team li.dentsu{
    margin-bottom: 24px; }
  #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team li.dentsu img{
    width: 120px; }
  #wrap .wrap-cont section.team ul.team-box > li ul.logo-box.team li:nth-child(n+2) img{
    width: 72px;
    height: auto; }
  #wrap .wrap-cont section.team ul.team-box > li ul.logo-box li{
    width: 110px; }
  #wrap .wrap-cont section.team ul.team-box > li ul.logo-box li:nth-child(n+2){
    margin-left: 40px; }
  #wrap .wrap-cont section.team ul.team-box > li ul.logo-box li img{
    height: 40px;
    width: auto; }
  #wrap footer section.contact-box{
    padding: 68px 0 80px; }
  #wrap footer section.contact-box h1{
    font-size: 27px; }
  #wrap footer section.contact-box h2{
    font-size: 21px;
    margin: 22px 0 0; }
  #wrap footer section.contact-box .btn-mail{
    margin: 14px auto 0;
    width: 184px;
    height: 44px;
    font-size: 14px; }
  #wrap footer section.contact-box .btn-mail a{
    padding: 8px 0 0; }
  #wrap footer section.copyright .logo-dentsu{
    width: 120px; }
  #wrap footer section.copyright .copyright{
    margin-top: 40px; }
  #wrap footer section.copyright ul.award-box{
    margin-top: 40px; }
  #wrap footer section.copyright ul.award-box li{
    width: 88px; }
  #wrap footer section.copyright ul.award-box li:nth-child(n+2){
    margin-left: 12px; }
  #wrap footer section.copyright ul.award-box li.designaward{
    width: 100px; }
  #wrap footer section.copyright{
    font-size: 9px;
    padding: 60px 0 120px; }
  body.report-page h1{
    top: 18px;
    left: 24px;
    width: 52px; }
  body.report-page #wrap{
    padding-top: 120px; }
  body.report-page #wrap main section.title-box h2{
    font-size: 35px; }
  body.report-page #wrap main section.report-box{
    width: 100%;
    padding: 0 25px;
    margin: 50px auto 0;
    box-sizing: border-box; }
  body.report-page #wrap main section.report-box .article-title{
    font-size: 22px; }
  body.report-page #wrap main section.report-box .article-title p.date{
    margin: 10px 0 0;
    font-size: 14px; }
  body.report-page #wrap main section.report-box .article-box{
    margin-top: 36px; }
  body.report-page #wrap main section.report-box .article-box article{
    padding-bottom: 60px;
    padding-top: 60px; }
  body.report-page #wrap main section.report-box .article-box article .image-full{
    margin-bottom: 40px; }
  body.report-page #wrap main section.report-box .article-box article .image-full.inner{
    margin-top: 50px; }
  body.report-page #wrap main section.report-box .article-box article .image-full p.caption{
    margin: 8px 0 8px;
    font-size: 12px; }
  body.report-page #wrap main section.report-box .article-box article h3{
    margin: 45px 0 0;
    font-size: 20px; }
  body.report-page #wrap main section.report-box .article-box article h3.first{
    margin: 0 0 0; }
  body.report-page #wrap main section.report-box .article-box article h4{
    font-size: 14px;
    line-height: 1.8;
    margin: 30 0 20px; }
  body.report-page #wrap main section.report-box .article-box article h4.first{
    margin: 0 0 20px; }
  body.report-page #wrap main section.report-box .article-box article .text-image{
    margin: 24px 0 0;
    display: block; }
  body.report-page #wrap main section.report-box .article-box article .text-image .text-box{
    font-size: 12px;
    line-height: 2; }
  body.report-page #wrap main section.report-box .article-box article .text-image .text-box.full{
    margin: 0; }
  body.report-page #wrap main section.report-box .article-box article .text-image .image-box{
    width: 100%;
    margin: 40px 0 0;
    padding-top: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  body.report-page #wrap main section.report-box .article-box article .text-image .image-box li{
    width: calc(50% - 4px); }
  body.report-page #wrap main section.report-box .article-box article .text-image .image-box li p.caption{
    margin: 8px 0 8px;
    font-size: 12px; }
  body.report-page #wrap main section.report-box .article-box article .text-image .image-box li:nth-child(n+2){
    margin: 0px; }
  body.report-page #wrap main section.report-box .article-box article .text-image .image-box li:nth-child(2n){
    margin-left: 8px; }
  body.report-page #wrap main section.report-box .article-box article .text-image .image-box li:nth-child(n+3){
    margin-top: 8px; }
  body.report-page #wrap main section.report-box .profile{
    display: block;
    padding: 32px 0; }
  body.report-page #wrap main section.report-box .profile .image-box{
    width: 120px;
    margin: 0 auto; }
  body.report-page #wrap main section.report-box .profile div.profile-box{
    margin: 10px 0 0; }
  body.report-page #wrap main section.report-box .profile h4{
    font-size: 14px; }
  body.report-page #wrap main section.report-box .profile p{
    font-size: 10px; }
  body.report-page #wrap main section.report-box .profile p.text{
    margin: 16px 0 0; }
  body.report-page #wrap main section.report-box .credit{
    font-size: 10px; }
  body.report-page #wrap main section.report-nav{
    width: calc(100% - 50px);
    padding: 50px 0 0; }
  body.report-page #wrap main section.report-nav p.btn-prev a, body.report-page #wrap main section.report-nav p.btn-next a{
    font-size: 12px; }
  body.report-page #wrap main section.report-nav p.btn-prev.btn-prev, body.report-page #wrap main section.report-nav p.btn-next.btn-prev{
    top: 60px; }
  body.report-page #wrap main section.report-nav p.btn-prev.btn-next, body.report-page #wrap main section.report-nav p.btn-next.btn-next{
    top: 60px; }
  body.report-page #wrap main section.report-nav p.btn-top{
    width: 140px;
    height: 43px; }
  body.report-page #wrap main section.report-nav p.btn-top a{
    padding-top: 12px;
    font-size: 12px; }
  nav.glonav ul li:nth-child(n+2){
    margin: 26px auto 0; }
  nav.glonav ul li{
    font-size: 26px; }
  #youtube .box{
    width: 100%;
    height: 240px;
    margin-left: -50%;
    margin-top: -120px; }
  #youtube .box .player{
    width: 100%;
    height: 100%; }
  #youtube .btn-close{
    width: 32px;
    height: 32px;
    top: 10px;
    right: 10px; }
  #bnr-partner{
    right: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 250px;
    bottom: 10px; } }

@media screen and (min-width: 769px){
  header div.container ul.lang-box a:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  header div.container .btnNavi:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  #wrap .wrap-cont section.project .movie-box:hover .background{
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    -webkit-transform: scale(1.03);
        -ms-transform: scale(1.03);
            transform: scale(1.03); }
  #wrap .wrap-cont section.project .movie-box:hover .btn-play .image{
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }
  #wrap .wrap-cont section.story section.story-box > .container .image-box .slider-box .flickity-prev-next-button:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  #wrap .wrap-cont section.report ul.report-box li a:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  #wrap .wrap-cont section.report .btn-more:hover{
    background: #fff;
    color: #000; }
  #wrap .wrap-cont section.report .btn-more:hover:before{
    background: url("../img/icon_plus_bk.png") center center no-repeat;
    background-size: contain; }
  #wrap .wrap-cont section.team ul.team-box > li ul.logo-box li a:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  #wrap footer section.contact-box .btn-mail:hover{
    background: #fff; }
  #wrap footer section.contact-box .btn-mail:hover a{
    color: #000; }
  #wrap footer section.copyright .logo-dentsu a:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  #wrap footer section.copyright ul.award-box li a:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  body.report-page .movie-box:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  body.report-page .glonav a:hover{
    color: #e30d65; }
  body.report-page h1 a:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  body.report-page #wrap main section.report-nav p.btn-prev a:hover, body.report-page #wrap main section.report-nav p.btn-next a:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  body.report-page #wrap main section.report-nav p.btn-top a:hover{
    background: #fff;
    color: #000; }
  nav.glonav ul li:hover{
    color: #e30d65; }
  #youtube .btn-close:hover{
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  #bnr-partner a:hover{
    opacity: 0.6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; } }

@media (aspect-ratio: 16 / 9), (min-aspect-ratio: 16 / 9){
  #video-container .video-box video{
    width: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); } }

@media (max-aspect-ratio: 16 / 9){
  #video-container .video-box video{
    height: 100%;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); } }
