/* -------------------------------
 * NotoSansCJKjp
 ------------------------------- */
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 700;
  src: url(../font/NotoSansCJKjp-Bold.woff2) format("woff2"), url(../font/NotoSansCJKjp-Bold.woff) format("woff"), url(../font/NotoSansCJKjp-Bold.otf) format("opentype"); }
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 500;
  src: url(../font/NotoSansCJKjp-Medium.woff2) format("woff2"), url(../font/NotoSansCJKjp-Medium.woff) format("woff"), url(../font/NotoSansCJKjp-Medium.otf) format("opentype"); }
.stage {
  width: 95%;
  max-width: 1000px;
  margin: auto; }
  .stage h1 {
    width: 100%;
    max-width: 331px; }
    .stage h1.title_en {
      max-width: 213px; }
    @media screen and (max-width: 767px) {
      .stage h1 {
        width: 50%;
        max-width: none; }
        .stage h1.title_en {
          width: 33.8%; } }
  .stage ol > li {
    margin-bottom: 80px; }
    .stage ol > li:last-child {
      margin-bottom: 0; }
    .stage ol > li h3 {
      font-size: 24px;
      color: #ffa408;
      background-image: url(../images/stage_intro/stage_title_bg.png);
      background-size: 45.8% 100%;
      background-repeat: no-repeat;
      padding: 20px 20px 0; }
    .stage ol > li div {
      padding: 0 20px;
      margin: 19px 0;
      background-image: url(../images/stage_intro/stage_bg_middle.png);
      background-size: contain;
      position: relative; }
      .stage ol > li div:before {
        content: "";
        position: absolute;
        top: -20px;
        left: 0;
        width: 100%;
        height: 20px;
        background-image: url(../images/stage_intro/stage_bg_top.png);
        background-size: 100% 100%;
        background-repeat: no-repeat; }
      .stage ol > li div:after {
        content: "";
        position: absolute;
        bottom: -20px;
        left: 0;
        width: 100%;
        height: 20px;
        background-image: url(../images/stage_intro/stage_bg_bottom.png);
        background-size: 100% 100%;
        background-repeat: no-repeat;
        background-position: bottom left; }
      .stage ol > li div ul {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        .stage ol > li div ul li {
          width: 50%;
          margin: 0 10px; }
          .stage ol > li div ul li:first-child {
            margin-left: 0; }
          .stage ol > li div ul li:last-child {
            margin-right: 0; }
      .stage ol > li div dl {
        color: #fff;
        font-size: 18px;
        margin-top: 20px;
        line-height: 1.4; }
        .stage ol > li div dl dt {
          float: left;
          width: 8em;
          padding-left: 10px; }
        .stage ol > li div dl dd {
          padding-left: calc(8em + 60px);
          border-bottom: 2px solid rgba(255, 255, 255, 0.15);
          padding-bottom: 14px;
          margin-bottom: 14px; }
          .stage ol > li div dl dd:last-child {
            border-bottom: none;
            padding-bottom: 0;
            margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .stage ol > li {
      margin-bottom: 15%; }
      .stage ol > li h3 {
        font-size: 4.2vw;
        background-size: 46% 100%;
        padding: 3% 3% 0; }
      .stage ol > li div {
        padding: 0 3%;
        margin: 3.6% 0; }
        .stage ol > li div:before {
          top: -3.4vw;
          width: 100.1%;
          height: 3.4vw; }
        .stage ol > li div:after {
          bottom: -3.2vw;
          width: 100.1%;
          height: 3.4vw; }
        .stage ol > li div ul {
          display: block; }
          .stage ol > li div ul li {
            width: 100%;
            margin: 0 0 3%; }
            .stage ol > li div ul li:last-child {
              margin-bottom: 0; }
        .stage ol > li div dl {
          font-size: 3.5vw;
          margin-top: 5%; }
          .stage ol > li div dl dt {
            padding-left: 3%; }
          .stage ol > li div dl dd {
            padding-left: calc(8em + 10%);
            padding-bottom: 3%;
            margin-bottom: 3%; } }
