/*
@mixin fontsize($size: 24, $base: 16) {
  font-size: $size + px;
  font-size: ($size / $base) * 1rem;
}
*/
.common--btn {
  width: 44.57143vw;
  margin-top: 2.85714vw;
  font-size: 0;
  position: relative;
  transition: opacity 0.5s; }
  .common--btn.b02 {
    width: 21.14286vw;
    margin-top: 2.14286vw; }
    @media only screen and (max-width: 767px) {
      .common--btn.b02 {
        width: 38.54167vw; } }
    .common--btn.b02.mini {
      max-width: 506px;
      width: 42.16667vw;
      display: block;
      margin: 30px auto 0; }
      @media only screen and (max-width: 767px) {
        .common--btn.b02.mini {
          max-width: unset; } }
      .common--btn.b02.mini.m45 {
        margin-top: 45px; }
        @media only screen and (max-width: 1200px) {
          .common--btn.b02.mini.m45 {
            margin-top: 3.75vw; } }
        @media only screen and (max-width: 767px) {
          .common--btn.b02.mini.m45 {
            margin-top: 7.8125vw; } }
      @media only screen and (max-width: 1200px) {
        .common--btn.b02.mini {
          margin: 2.5vw auto 0; } }
      @media only screen and (max-width: 767px) {
        .common--btn.b02.mini {
          margin: 3.90625vw auto 0;
          width: 65.88542vw; } }
  .common--btn:hover {
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  .common--btn.mini {
    max-width: 624px;
    width: 52vw;
    display: block;
    margin: 100px auto 0; }
    @media only screen and (max-width: 767px) {
      .common--btn.mini {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .common--btn.mini {
        margin: 8.33333vw auto 0; } }
    @media only screen and (max-width: 767px) {
      .common--btn.mini {
        margin: 7.8125vw auto 0;
        width: 81.25vw; }
        .common--btn.mini.m30 {
          margin: 11.71875vw auto 0; } }
  .common--btn.mini02 {
    max-width: 286px;
    width: 23.83333vw;
    display: block;
    margin: 100px auto 0; }
    @media only screen and (max-width: 767px) {
      .common--btn.mini02 {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .common--btn.mini02 {
        margin: 8.33333vw auto 0; } }
    @media only screen and (max-width: 767px) {
      .common--btn.mini02 {
        margin: 15.625vw auto 0;
        width: 38.54167vw; } }
  @media only screen and (max-width: 767px) {
    .common--btn {
      width: 81.25vw; } }

.common--line {
  position: absolute;
  top: 0;
  width: 100%;
  height: 62px;
  background-image: url(../img/common/line.png);
  background-size: contain; }
  @media only screen and (max-width: 1200px) {
    .common--line {
      height: 5.16667vw; } }
  @media only screen and (max-width: 767px) {
    .common--line {
      height: 7.8125vw; } }

.mv {
  position: relative; }
  .mv--bg {
    width: 100%;
    font-size: 0; }
  .mv--wrapper {
    width: 100%;
    height: 53.21429vw;
    position: absolute;
    top: 0;
    left: 0; }
    .mv--wrapper.un {
      height: 27.14286vw; }
      @media only screen and (max-width: 767px) {
        .mv--wrapper.un {
          height: 41.14583vw; } }
    @media only screen and (max-width: 767px) {
      .mv--wrapper {
        height: 141.40625vw; } }
  .mv--inner {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: 7.14286vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .mv--inner.un {
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      top: 50%; }
      @media only screen and (max-width: 767px) {
        .mv--inner.un {
          top: 50%; } }
    @media only screen and (max-width: 767px) {
      .mv--inner {
        top: 66.01562vw; } }
  .mv--logo {
    width: 25vw;
    font-size: 0; }
    .mv--logo.un {
      transition: opacity 0.5s; }
      .mv--logo.un:hover {
        opacity: 0.7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
    @media only screen and (max-width: 767px) {
      .mv--logo {
        width: 45.44271vw; }
        .mv--logo.un {
          width: 47.00521vw; } }
  .mv--text {
    width: 30.46429vw;
    margin-top: 0.71429vw;
    font-size: 0; }
    @media only screen and (max-width: 767px) {
      .mv--text {
        width: 61.06771vw; } }
  .mv--left {
    position: absolute;
    width: 7.78571vw;
    top: -0.35714vw;
    left: -21.35714vw; }
    @media only screen and (max-width: 767px) {
      .mv--left {
        top: -61.19792vw;
        left: -5.20833vw;
        width: 14.19271vw; } }
  .mv--right {
    position: absolute;
    width: 7.92857vw;
    top: -0.35714vw;
    right: -19vw; }
    @media only screen and (max-width: 767px) {
      .mv--right {
        top: -61.19792vw;
        right: -5.85938vw;
        width: 14.19271vw; } }

.ECM_CheckboxInput {
  padding: 12px 8px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer; }
  @media only screen and (max-width: 767px) {
    .ECM_CheckboxInput {
      padding: 3.51562vw; } }

.ECM_CheckboxInput-Input {
  margin: 0;
  width: 0;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }

.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput:before {
  content: "";
  display: block;
  width: 2.57143vw;
  height: 2.14286vw;
  background-image: url(../img/main/check.png);
  background-size: cover; }
  @media only screen and (max-width: 767px) {
    .ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput:before {
      width: 4.6875vw;
      height: 3.90625vw; } }

.ECM_CheckboxInput-DummyInput {
  position: relative;
  top: 0;
  left: 3.07143vw;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-size: cover;
  width: 3.28571vw;
  height: 3.42857vw;
  background-image: url(../img/main/box.png); }
  @media only screen and (max-width: 767px) {
    .ECM_CheckboxInput-DummyInput {
      top: -0.13021vw;
      left: 5.59896vw;
      width: 5.98958vw;
      height: 6.38021vw; } }

.ECM_CheckboxInput-LabelText {
  width: 31.35714vw; }
  @media only screen and (max-width: 767px) {
    .ECM_CheckboxInput-LabelText {
      width: 57.29167vw; } }

.main {
  position: relative;
  padding: 160px 0 150px; }
  @media only screen and (max-width: 1200px) {
    .main {
      padding: 13.33333vw 0 12.5vw; } }
  @media only screen and (max-width: 767px) {
    .main {
      padding: 15.625vw 0 26.04167vw; }
      .main.data {
        padding: 15.625vw 0 15.625vw; } }
  .main--inner {
    margin: 0 auto;
    width: 1200px;
    position: relative; }
    @media only screen and (max-width: 1200px) {
      .main--inner {
        width: 100%; } }
  .main--light {
    position: absolute;
    z-index: 0; }
    @media only screen and (max-width: 767px) {
      .main--light {
        display: none; } }
    .main--light.l01 {
      z-index: 0;
      left: -130px;
      top: -60px;
      max-width: 1572px;
      width: 131vw; }
      @media only screen and (max-width: 767px) {
        .main--light.l01 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--light.l01 {
          left: -10.83333vw;
          top: -5vw; } }
    .main--light.l02 {
      z-index: 0;
      left: -130px;
      top: 530px;
      max-width: 1572px;
      width: 131vw; }
      @media only screen and (max-width: 767px) {
        .main--light.l02 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--light.l02 {
          left: -10.83333vw;
          top: 44.16667vw; } }
  .main--chara {
    position: absolute;
    z-index: 0; }
    .main--chara.c01 {
      right: -50px;
      top: -20px;
      max-width: 395px;
      width: 32.91667vw; }
      @media only screen and (max-width: 767px) {
        .main--chara.c01 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--chara.c01 {
          right: -4.16667vw;
          top: -1.66667vw; } }
      @media only screen and (max-width: 767px) {
        .main--chara.c01 {
          width: 49.73958vw;
          right: 6.51042vw;
          top: 45.57292vw;
          z-index: 0; } }
    .main--chara.c02 {
      left: -95px;
      top: 578px;
      max-width: 625px;
      width: 52.08333vw; }
      @media only screen and (max-width: 767px) {
        .main--chara.c02 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--chara.c02 {
          left: -7.91667vw;
          top: 48.16667vw; } }
      @media only screen and (max-width: 767px) {
        .main--chara.c02 {
          width: 77.47396vw;
          left: -1.30208vw;
          top: 120.44271vw;
          z-index: -1; } }
    .main--chara.c03 {
      right: -85px;
      top: 1653px;
      max-width: 552px;
      width: 46vw; }
      @media only screen and (max-width: 767px) {
        .main--chara.c03 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--chara.c03 {
          right: -7.08333vw;
          top: 137.75vw; } }
      @media only screen and (max-width: 767px) {
        .main--chara.c03 {
          width: 68.75vw;
          right: -2.60417vw;
          top: 235.02604vw;
          z-index: -1; } }
    .main--chara.c04 {
      left: -35px;
      top: 3185px;
      max-width: 534px;
      width: 44.5vw; }
      @media only screen and (max-width: 767px) {
        .main--chara.c04 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--chara.c04 {
          left: -2.91667vw;
          top: 265.41667vw; } }
      @media only screen and (max-width: 767px) {
        .main--chara.c04 {
          width: 69.53125vw;
          left: 1.95312vw;
          top: 516.92708vw;
          z-index: -1; } }
    .main--chara.c05 {
      left: -40px;
      top: 4175px;
      max-width: 270px;
      width: 22.5vw; }
      @media only screen and (max-width: 767px) {
        .main--chara.c05 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--chara.c05 {
          left: -3.33333vw;
          top: 347.91667vw; } }
      @media only screen and (max-width: 767px) {
        .main--chara.c05 {
          width: 35.15625vw;
          left: 14.32292vw;
          top: 701.82292vw;
          z-index: -1; } }
    .main--chara.c06 {
      right: -15px;
      top: 4125px;
      max-width: 231px;
      width: 19.25vw; }
      @media only screen and (max-width: 767px) {
        .main--chara.c06 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--chara.c06 {
          right: -1.25vw;
          top: 343.75vw; } }
      @media only screen and (max-width: 767px) {
        .main--chara.c06 {
          width: 30.07812vw;
          right: 13.02083vw;
          top: 813.80208vw;
          z-index: -1; } }
  .main--h2 {
    position: relative;
    max-width: 624px;
    width: 52vw;
    margin: 0 auto;
    font-size: 0; }
    @media only screen and (max-width: 767px) {
      .main--h2 {
        max-width: unset; } }
    @media only screen and (max-width: 767px) {
      .main--h2 {
        width: 81.25vw; } }
    .main--h2.h2 {
      margin-top: 150px; }
      @media only screen and (max-width: 1200px) {
        .main--h2.h2 {
          margin-top: 12.5vw; } }
      @media only screen and (max-width: 767px) {
        .main--h2.h2 {
          margin-top: 26.04167vw; } }
    .main--h2.h3 {
      max-width: 740px;
      width: 61.66667vw;
      margin-top: 100px; }
      @media only screen and (max-width: 767px) {
        .main--h2.h3 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--h2.h3 {
          margin-top: 8.33333vw; } }
      @media only screen and (max-width: 767px) {
        .main--h2.h3 {
          width: 96.48438vw; } }
  .main--star {
    position: absolute;
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
    .main--star.s08 {
      top: 1660px;
      left: 10px;
      max-width: 138px;
      width: 11.5vw; }
      @media only screen and (max-width: 767px) {
        .main--star.s08 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--star.s08 {
          left: 0.83333vw;
          top: 138.33333vw; } }
      @media only screen and (max-width: 767px) {
        .main--star.s08 {
          display: none; } }
    .main--star.s09 {
      top: 1800px;
      left: 170px;
      max-width: 85px;
      width: 7.08333vw; }
      @media only screen and (max-width: 767px) {
        .main--star.s09 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--star.s09 {
          left: 14.16667vw;
          top: 150vw; } }
      @media only screen and (max-width: 767px) {
        .main--star.s09 {
          display: none; } }
    .main--star.s10 {
      display: none; }
      @media only screen and (max-width: 767px) {
        .main--star.s10 {
          display: block;
          width: 10.02604vw;
          top: 231.77083vw;
          left: 14.16667vw; } }
    .main--star.s01 {
      right: 120px;
      top: 3200px;
      max-width: 116px;
      width: 9.66667vw; }
      @media only screen and (max-width: 767px) {
        .main--star.s01 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--star.s01 {
          right: 10vw;
          top: 266.66667vw; } }
      @media only screen and (max-width: 767px) {
        .main--star.s01 {
          width: 10.02604vw;
          top: 687.5vw;
          right: 31.25vw; } }
    .main--star.s07 {
      right: 20px;
      top: 3330px;
      max-width: 82px;
      width: 6.83333vw; }
      @media only screen and (max-width: 767px) {
        .main--star.s07 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--star.s07 {
          right: 1.66667vw;
          top: 277.5vw; } }
      @media only screen and (max-width: 767px) {
        .main--star.s07 {
          display: none; } }
    .main--star.s02 {
      right: 410px;
      top: 4280px;
      max-width: 73px;
      width: 6.08333vw; }
      @media only screen and (max-width: 767px) {
        .main--star.s02 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--star.s02 {
          right: 34.16667vw;
          top: 356.66667vw; } }
      @media only screen and (max-width: 767px) {
        .main--star.s02 {
          width: 12.89062vw;
          top: 532.55208vw;
          right: 16.92708vw; } }
    .main--star.s03 {
      right: 1080px;
      top: 5100px;
      max-width: 160px;
      width: 13.33333vw; }
      @media only screen and (max-width: 767px) {
        .main--star.s03 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--star.s03 {
          right: 90vw;
          top: 425vw; } }
      @media only screen and (max-width: 767px) {
        .main--star.s03 {
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg);
          width: 16.92708vw;
          top: 800.78125vw;
          right: 61.19792vw; } }
    .main--star.s04 {
      right: -20px;
      top: 5200px;
      max-width: 211px;
      width: 17.58333vw; }
      @media only screen and (max-width: 767px) {
        .main--star.s04 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--star.s04 {
          right: -1.66667vw;
          top: 433.33333vw; } }
    .main--star.s05 {
      right: 1140px;
      top: 90px;
      max-width: 94px;
      width: 7.83333vw; }
      @media only screen and (max-width: 767px) {
        .main--star.s05 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--star.s05 {
          right: 95vw;
          top: 7.5vw; } }
    .main--star.s06 {
      right: 960px;
      top: 130px;
      max-width: 209px;
      width: 17.41667vw; }
      @media only screen and (max-width: 767px) {
        .main--star.s06 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--star.s06 {
          right: 80vw;
          top: 10.83333vw; } }
      @media only screen and (max-width: 767px) {
        .main--star.s06 {
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg);
          width: 7.42188vw;
          top: -14.32292vw;
          right: 50.78125vw; } }
  .main--text {
    margin: 0 auto;
    font-size: 0;
    position: relative; }
    .main--text.t01 {
      max-width: 643px;
      width: 53.58333vw;
      margin-top: 65px; }
      @media only screen and (max-width: 767px) {
        .main--text.t01 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--text.t01 {
          margin-top: 5.41667vw; } }
      @media only screen and (max-width: 767px) {
        .main--text.t01 {
          margin-top: 8.46354vw;
          width: 81.25vw; } }
    .main--text.t02 {
      max-width: 870px;
      width: 72.5vw;
      margin-top: 52px; }
      @media only screen and (max-width: 767px) {
        .main--text.t02 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--text.t02 {
          margin-top: 4.33333vw; } }
      @media only screen and (max-width: 767px) {
        .main--text.t02 {
          width: 96.35417vw;
          margin-top: 9.89583vw; } }
    .main--text.t03 {
      max-width: 1200px;
      width: 100vw;
      margin-top: 50px; }
      @media only screen and (max-width: 767px) {
        .main--text.t03 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--text.t03 {
          margin-top: 4.16667vw; } }
      @media only screen and (max-width: 767px) {
        .main--text.t03 {
          width: 86.84896vw; } }
  .main--item {
    max-width: 624px;
    width: 52vw;
    font-size: 0;
    margin: 65px auto 0;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .main--item {
        max-width: unset; } }
    .main--item.on:before {
      content: "";
      display: block;
      background-image: url(../img/main/stamp.png);
      width: 128px;
      height: 128px;
      background-size: contain;
      position: absolute;
      right: 0;
      -webkit-transform: translate(18%, -20%);
              transform: translate(18%, -20%); }
      @media only screen and (max-width: 1200px) {
        .main--item.on:before {
          width: 10.66667vw;
          height: 10.66667vw; } }
      @media only screen and (max-width: 767px) {
        .main--item.on:before {
          width: 16.66667vw;
          height: 16.66667vw; } }
    @media only screen and (max-width: 1200px) {
      .main--item {
        margin: 5.41667vw auto 0; } }
    @media only screen and (max-width: 767px) {
      .main--item {
        margin-top: 8.46354vw;
        width: 81.25vw; }
        .main--item.i01 {
          margin-top: 11.71875vw; } }
  .main--attention {
    max-width: 1000px;
    width: 83.33333vw;
    margin: 100px auto;
    font-size: 24px;
    position: relative;
    font-weight: bold;
    line-height: 1.2; }
    @media only screen and (max-width: 767px) {
      .main--attention {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .main--attention {
        margin: 8.33333vw auto;
        font-size: 2vw; } }
    @media only screen and (max-width: 767px) {
      .main--attention {
        width: 80.98958vw;
        font-size: 3.125vw; } }
    .main--attention > span {
      text-indent: -0.8em;
      padding-left: 0.8em;
      display: block; }
  .main--system {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 5.71429vw;
    position: relative; }
    @media only screen and (max-width: 1400px) {
      .main--system {
        margin-top: 80px; } }
    @media only screen and (max-width: 1200px) {
      .main--system {
        margin-top: 6.66667vw; } }
    @media only screen and (max-width: 767px) {
      .main--system {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: 11.71875vw; } }
    .main--system.s2 {
      -webkit-flex-direction: row-reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse;
      margin-top: 60px; }
      @media only screen and (max-width: 767px) {
        .main--system.s2 {
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column;
          margin-top: 6.51042vw; } }
      .main--system.s2 .main--system__img {
        margin-left: 50px; }
        @media only screen and (max-width: 1200px) {
          .main--system.s2 .main--system__img {
            margin-left: 4.16667vw; } }
        @media only screen and (max-width: 767px) {
          .main--system.s2 .main--system__img {
            margin-left: 0; } }
    .main--system.s3 {
      margin-top: 60px; }
      @media only screen and (max-width: 767px) {
        .main--system.s3 {
          margin-top: 6.51042vw; } }
      .main--system.s3 .main--system__img {
        margin-right: 60px; }
        @media only screen and (max-width: 1200px) {
          .main--system.s3 .main--system__img {
            margin-right: 5vw; } }
        @media only screen and (max-width: 767px) {
          .main--system.s3 .main--system__img {
            margin-right: 0; } }
    .main--system__img {
      max-width: 512px;
      width: 42.66667vw;
      font-size: 0; }
      @media only screen and (max-width: 767px) {
        .main--system__img {
          max-width: unset; } }
      @media only screen and (max-width: 767px) {
        .main--system__img {
          width: 86.71875vw; } }
    .main--system__text {
      margin-top: 20px; }
      @media only screen and (max-width: 1200px) {
        .main--system__text {
          margin-top: 1.66667vw; } }
      .main--system__text.t01 {
        max-width: 537px;
        width: 44.75vw; }
        @media only screen and (max-width: 767px) {
          .main--system__text.t01 {
            max-width: unset; } }
        @media only screen and (max-width: 767px) {
          .main--system__text.t01 {
            width: 69.92188vw; } }
      .main--system__text.t02 {
        max-width: 410px;
        width: 34.16667vw;
        margin-left: 30px; }
        @media only screen and (max-width: 767px) {
          .main--system__text.t02 {
            max-width: unset; } }
        @media only screen and (max-width: 1200px) {
          .main--system__text.t02 {
            margin-left: 2.5vw; } }
        @media only screen and (max-width: 767px) {
          .main--system__text.t02 {
            margin-left: 0;
            width: 53.38542vw; } }
      .main--system__text.t03 {
        max-width: 446px;
        width: 37.16667vw;
        margin-right: 30px; }
        @media only screen and (max-width: 767px) {
          .main--system__text.t03 {
            max-width: unset; } }
        @media only screen and (max-width: 1200px) {
          .main--system__text.t03 {
            margin-right: 2.5vw; } }
        @media only screen and (max-width: 767px) {
          .main--system__text.t03 {
            margin-right: 0;
            width: 57.94271vw; } }
    .main--system__bg {
      width: 100%;
      top: 2290px;
      height: 67.85714vw;
      background-image: url(../img/main/bg.png);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center 100%;
      position: absolute; }
      @media only screen and (max-width: 1400px) {
        .main--system__bg {
          height: 950px; } }
      @media only screen and (max-width: 1200px) {
        .main--system__bg {
          top: 190.83333vw;
          height: 79.16667vw; } }
      @media only screen and (max-width: 767px) {
        .main--system__bg {
          top: 300.78125vw; } }
  .main--movie {
    display: block;
    margin: 54px auto 0;
    max-width: 960px;
    width: 80vw;
    height: 540px;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .main--movie {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .main--movie {
        margin: 4.5vw auto 0;
        height: 45vw; } }
    @media only screen and (max-width: 767px) {
      .main--movie {
        margin: 10.41667vw auto 0;
        width: 81.38021vw;
        height: 45.70312vw; } }
  .main--main {
    position: relative;
    z-index: 2; }
    .main--main.m01 {
      max-width: 1000px;
      width: 83.33333vw;
      margin: -140px 0px 0 7px; }
      @media only screen and (max-width: 767px) {
        .main--main.m01 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--main.m01 {
          margin: -11.66667vw 0 0 0.58333vw; } }
      @media only screen and (max-width: 767px) {
        .main--main.m01 {
          width: 84.50521vw;
          margin: 4.42708vw auto 0; } }
    .main--main.m02 {
      max-width: 971px;
      width: 80.91667vw;
      margin: 10px 0px 0 180px; }
      @media only screen and (max-width: 767px) {
        .main--main.m02 {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .main--main.m02 {
          margin: 0.83333vw 0 0 15vw; } }
      @media only screen and (max-width: 767px) {
        .main--main.m02 {
          width: 90.36458vw;
          margin: 3.90625vw auto 0; } }
  .main--line {
    position: relative;
    margin-top: 35px; }
    @media only screen and (max-width: 1200px) {
      .main--line {
        margin-top: 2.91667vw; } }
    @media only screen and (max-width: 767px) {
      .main--line {
        margin-top: -5.85938vw; } }
  .main--text02 {
    width: 100%;
    position: relative;
    margin: 0 auto;
    margin-top: 50px; }
    @media only screen and (max-width: 767px) {
      .main--text02 {
        width: 90.23438vw;
        margin-top: -2.60417vw; } }
    @media only screen and (max-width: 767px) {
      .main--text02.mt0 {
        margin-top: 8.33333vw; } }
  .main--ren {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .main--ren__img {
      max-width: 584px;
      width: 48.66667vw;
      margin-top: 55px; }
      @media only screen and (max-width: 767px) {
        .main--ren__img {
          max-width: unset; } }
      .main--ren__img:nth-child(even) {
        margin-left: 30px; }
        @media only screen and (max-width: 1200px) {
          .main--ren__img:nth-child(even) {
            margin-left: 2.5vw; } }
        @media only screen and (max-width: 767px) {
          .main--ren__img:nth-child(even) {
            margin-left: 0;
            margin: 6.51042vw auto 0; } }
      @media only screen and (max-width: 767px) {
        .main--ren__img {
          width: 84.50521vw;
          margin: 6.51042vw auto 0; } }

.cboxPhoto {
  width: 100% !important;
  height: auto !important; }

.footer {
  position: relative;
  padding: 160px 0 75px; }
  @media only screen and (max-width: 1200px) {
    .footer {
      padding: 13.33333vw 0 6.25vw; } }
  @media only screen and (max-width: 767px) {
    .footer {
      padding: 22.78646vw 0 15.625vw; } }
  .footer--inner {
    width: 1200px;
    position: relative;
    margin: 0 auto; }
    @media only screen and (max-width: 1200px) {
      .footer--inner {
        width: 100%; } }
  .footer--banner {
    display: block;
    margin: 0 auto;
    max-width: 312px;
    width: 26vw;
    transition: opacity 0.5s; }
    @media only screen and (max-width: 767px) {
      .footer--banner {
        max-width: unset; } }
    .footer--banner:hover {
      opacity: 0.7;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
    @media only screen and (max-width: 767px) {
      .footer--banner {
        width: 81.25vw; } }
  .footer--sns {
    margin: 62px auto 0;
    max-width: 624px;
    width: 52vw;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .footer--sns {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .footer--sns {
        margin: 5.16667vw auto 0; } }
    @media only screen and (max-width: 767px) {
      .footer--sns {
        margin: 8.07292vw auto 0;
        width: 81.25vw; } }
    .footer--sns__inner {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      position: absolute;
      left: 50%;
      top: 80px;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }
      @media only screen and (max-width: 1200px) {
        .footer--sns__inner {
          top: 6.66667vw; } }
      @media only screen and (max-width: 767px) {
        .footer--sns__inner {
          top: 10.41667vw; } }
    .footer--sns__icon {
      max-width: 70px;
      width: 5.83333vw;
      transition: opacity 0.5s; }
      @media only screen and (max-width: 767px) {
        .footer--sns__icon {
          max-width: unset; } }
      .footer--sns__icon:hover {
        opacity: 0.7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
      @media only screen and (max-width: 767px) {
        .footer--sns__icon {
          width: 9.11458vw; } }
      .footer--sns__icon:nth-child(2) {
        margin: 0 75px; }
        @media only screen and (max-width: 1200px) {
          .footer--sns__icon:nth-child(2) {
            margin: 0 6.25vw; } }
        @media only screen and (max-width: 767px) {
          .footer--sns__icon:nth-child(2) {
            margin: 0 9.76562vw; } }
  .footer--info {
    margin: 100px auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    max-width: 624px;
    width: 52vw; }
    @media only screen and (max-width: 767px) {
      .footer--info {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .footer--info {
        margin: 8.33333vw auto 0; } }
    @media only screen and (max-width: 767px) {
      .footer--info {
        width: 81.25vw; } }
    .footer--info__icon {
      max-width: 72px;
      width: 6vw;
      margin-right: 20px; }
      @media only screen and (max-width: 767px) {
        .footer--info__icon {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .footer--info__icon {
          margin-right: 1.66667vw; } }
      @media only screen and (max-width: 767px) {
        .footer--info__icon {
          width: 18.61979vw; } }
    .footer--info__text {
      line-height: 1.5;
      font-size: 16px;
      font-weight: bold; }
      @media only screen and (max-width: 1200px) {
        .footer--info__text {
          font-size: 1.33333vw; } }
      @media only screen and (max-width: 767px) {
        .footer--info__text {
          font-size: 3.125vw; } }
  .footer--spec {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.3;
    margin: 40px auto 0;
    max-width: 624px;
    width: 52vw; }
    @media only screen and (max-width: 767px) {
      .footer--spec {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .footer--spec {
        font-size: 1.33333vw;
        margin: 3.33333vw auto 0; } }
    @media only screen and (max-width: 767px) {
      .footer--spec {
        -webkit-align-self: center;
            -ms-flex-item-align: center;
                    -ms-grid-row-align: center;
                align-self: center;
        font-size: 3.125vw;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        letter-spacing: 0;
        width: 81.25vw;
        margin: 7.16146vw auto 0;
        line-height: 1.5; } }
    .footer--spec__text:first-child {
      margin-right: 30px; }
  .footer--attention {
    max-width: 624px;
    width: 52vw;
    margin: 30px auto 0;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3; }
    @media only screen and (max-width: 767px) {
      .footer--attention {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .footer--attention {
        font-size: 1.33333vw;
        margin: 2.5vw auto 0; } }
    @media only screen and (max-width: 767px) {
      .footer--attention {
        font-size: 3.125vw;
        width: 81.25vw;
        line-height: 1.5;
        margin: 6.51042vw auto 0; }
        .footer--attention > span {
          display: block;
          text-indent: -1em;
          padding-left: 1em; } }
  .footer--link {
    margin: 90px auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media only screen and (max-width: 1200px) {
      .footer--link {
        margin: 7.5vw auto 0; } }
    @media only screen and (max-width: 767px) {
      .footer--link {
        margin: 15.625vw auto 0;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
    .footer--link__bar {
      max-width: 2px;
      width: 0.16667vw;
      height: 14px;
      background-color: #3e3f40; }
      @media only screen and (max-width: 767px) {
        .footer--link__bar {
          max-width: unset; } }
      @media only screen and (max-width: 1200px) {
        .footer--link__bar {
          height: 1.82292vw; } }
      @media only screen and (max-width: 767px) {
        .footer--link__bar {
          width: 0.52083vw;
          height: 2.60417vw; } }
    .footer--link__text {
      color: #3e3f40;
      font-size: 16px;
      font-weight: bold;
      padding-bottom: 1px;
      line-height: 1.1;
      text-decoration: none;
      border-bottom: 1px solid #3e3f40;
      padding-bottom: 1px;
      margin: 0 18px; }
      @media only screen and (max-width: 1200px) {
        .footer--link__text {
          margin: 0 1.5vw; } }
      @media only screen and (max-width: 767px) {
        .footer--link__text {
          margin: 0 3.38542vw;
          line-height: 2; }
          .footer--link__text.mr0 {
            margin-right: 0; }
          .footer--link__text.ml0 {
            margin-left: 0; } }
      .footer--link__text:hover {
        border-bottom: none;
        padding-bottom: 2px; }
      @media only screen and (max-width: 1200px) {
        .footer--link__text {
          font-size: 1.33333vw; } }
      @media only screen and (max-width: 767px) {
        .footer--link__text {
          font-size: 3.125vw;
          line-height: 1.5; } }
      .footer--link__text:first-child {
        margin-left: 0; }
      .footer--link__text:last-child {
        margin-right: 0; }
  .footer--copy {
    max-width: 668px;
    width: 55.66667vw;
    margin: 35px auto 0; }
    @media only screen and (max-width: 767px) {
      .footer--copy {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .footer--copy {
        margin: 2.91667vw auto 0; } }
    @media only screen and (max-width: 767px) {
      .footer--copy {
        width: 86.45833vw;
        margin: 7.8125vw auto 0; } }
  .footer--contact {
    box-sizing: border-box;
    background-image: url(../img/common/modal_bg.png);
    background-size: cover;
    max-width: 635px;
    width: 52.91667vw;
    height: 540px;
    padding: 70px 50px; }
    @media only screen and (max-width: 767px) {
      .footer--contact {
        max-width: unset; } }
    .footer--contact.kiyaku {
      background-image: url(../img/common/modal_bg_middle.png);
      background-size: contain;
      background-repeat: repeat-y;
      position: relative;
      height: auto;
      padding: 40px 50px;
      margin-top: 36px; }
      .footer--contact.kiyaku.not {
        background-size: cover; }
        @media only screen and (max-width: 767px) {
          .footer--contact.kiyaku.not {
            background-size: cover; }
            .footer--contact.kiyaku.not.con {
              background-size: contain; } }
      @media only screen and (max-width: 1200px) {
        .footer--contact.kiyaku {
          height: auto;
          padding: 3.33333vw 4.16667vw;
          margin-top: 3vw; } }
      @media only screen and (max-width: 767px) {
        .footer--contact.kiyaku {
          width: 82.68229vw;
          height: auto;
          padding: 5.20833vw 9.11458vw;
          margin-top: 4.6875vw; } }
      .footer--contact.kiyaku:before, .footer--contact.kiyaku:after {
        max-width: 635px;
        width: 52.91667vw;
        height: 37px;
        position: absolute;
        content: '';
        background-size: contain;
        background-repeat: no-repeat;
        left: 0; }
        @media only screen and (max-width: 767px) {
          .footer--contact.kiyaku:before, .footer--contact.kiyaku:after {
            max-width: unset; } }
        @media only screen and (max-width: 767px) {
          .footer--contact.kiyaku:before, .footer--contact.kiyaku:after {
            width: 82.68229vw; } }
      .footer--contact.kiyaku:before {
        background-image: url(../img/common/modal_bg_top.png);
        top: -36px; }
        @media only screen and (max-width: 1200px) {
          .footer--contact.kiyaku:before {
            top: -3.08333vw; } }
      .footer--contact.kiyaku:after {
        background-image: url(../img/common/modal_bg_bottom.png);
        bottom: -36px; }
    @media only screen and (max-width: 1200px) {
      .footer--contact {
        height: 45vw;
        padding: 5.83333vw 4.16667vw; } }
    @media only screen and (max-width: 767px) {
      .footer--contact {
        width: 82.68229vw;
        height: 110.67708vw;
        padding: 9.11458vw 9.11458vw; } }
    .footer--contact__h3 {
      font-size: 24px;
      text-align: center;
      color: #3c3228; }
      @media only screen and (max-width: 1200px) {
        .footer--contact__h3 {
          font-size: 2vw; } }
      @media only screen and (max-width: 767px) {
        .footer--contact__h3 {
          font-size: 4.16667vw; } }
    .footer--contact__text {
      font-size: 16px;
      margin-top: 45px;
      line-height: 1.3;
      color: #3c3228; }
      @media only screen and (max-width: 1200px) {
        .footer--contact__text {
          font-size: 1.33333vw;
          margin-top: get(45, 1200); } }
      @media only screen and (max-width: 767px) {
        .footer--contact__text {
          font-size: 3.125vw;
          margin-top: 5.20833vw; } }
      .footer--contact__text > a {
        color: #e02f9b; }
        .footer--contact__text > a:hover {
          text-decoration: none; }

#cboxClose {
  transition: opacity 0.5s;
  position: absolute;
  top: 40px;
  right: 0;
  background: url(../img/common/modal_close.png) no-repeat;
  background-size: 100%;
  width: 38px;
  height: 38px;
  text-indent: -9999px; }
  @media only screen and (max-width: 1200px) {
    #cboxClose {
      top: 3.33333vw;
      width: 3.16667vw;
      height: 3.16667vw; } }
  @media only screen and (max-width: 767px) {
    #cboxClose {
      top: 5.20833vw;
      width: 4.94792vw;
      height: 4.94792vw; } }

#cboxContent {
  padding: 85px 0; }
  @media only screen and (max-width: 1200px) {
    #cboxContent {
      padding: 7.08333vw 0; } }
  @media only screen and (max-width: 767px) {
    #cboxContent {
      padding: 11.06771vw 0; } }

.finish {
  box-sizing: border-box;
  background-image: url(../img/common/finish_bg.jpg);
  background-size: cover;
  background-position: center;
  width: 100vw;
  min-height: calc(100vh - 39px);
  top: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px 0 80px;
  position: relative; }
  @media only screen and (max-width: 1200px) {
    .finish {
      padding: 1.66667vw 0 6.66667vw; } }
  @media only screen and (max-width: 767px) {
    .finish {
      position: absolute;
      height: 100vh; } }
  .finish--logo {
    max-width: 218px;
    width: 18.16667vw; }
    @media only screen and (max-width: 767px) {
      .finish--logo {
        max-width: unset; } }
    @media only screen and (max-width: 767px) {
      .finish--logo {
        width: 45.44271vw; } }
  .finish--inner {
    box-sizing: border-box;
    background-image: url(../img/common/finish_text_bg.png);
    background-size: cover;
    height: 385px;
    max-width: 635px;
    width: 52.91667vw;
    margin-top: 30px;
    padding: 60px 0 50px;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media only screen and (max-width: 767px) {
      .finish--inner {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .finish--inner {
        height: 32.08333vw;
        margin-top: 2.5vw;
        padding: 5vw 0 4.16667vw; } }
    @media only screen and (max-width: 767px) {
      .finish--inner {
        width: 82.68229vw;
        height: 50.13021vw;
        padding: 7.8125vw 0 6.51042vw; } }
  .finish--h2 {
    font-size: 32px;
    color: #3c3228; }
    @media only screen and (max-width: 1200px) {
      .finish--h2 {
        font-size: 2.66667vw; } }
    @media only screen and (max-width: 767px) {
      .finish--h2 {
        font-size: 4.16667vw; } }
  .finish--text {
    font-size: 24px;
    color: #3c3228;
    line-height: 1.5; }
    @media only screen and (max-width: 1200px) {
      .finish--text {
        font-size: 2vw; } }
    @media only screen and (max-width: 767px) {
      .finish--text {
        font-size: 3.125vw; } }
  .finish--btn {
    max-width: 120px;
    width: 10vw;
    transition: opacity 0.5s; }
    @media only screen and (max-width: 767px) {
      .finish--btn {
        max-width: unset; } }
    @media only screen and (max-width: 767px) {
      .finish--btn {
        width: 15.625vw; } }
    .finish--btn:hover {
      opacity: 0.7;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  .finish--copy {
    max-width: 665px;
    width: 55.41667vw;
    position: absolute;
    bottom: 15px; }
    @media only screen and (max-width: 767px) {
      .finish--copy {
        max-width: unset; } }
    @media only screen and (max-width: 1200px) {
      .finish--copy {
        bottom: 1.25vw; } }
    @media only screen and (max-width: 767px) {
      .finish--copy {
        width: 86.97917vw;
        bottom: 2.60417vw; } }

/*========================================
*	common
========================================*/
html,
body {
  height: 100%;
  color: #3e3f40;
  background-color: #fff;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  background: url(../img/common/bg.jpg);
  background-size: 100%;
  width: 100%; }

*:focus {
  outline: 0; }

body {
  width: 100%; }

a {
  color: #000; }

h1,
h2,
h3 {
  line-height: 1; }

ul,
li {
  list-style: none; }

tr,
th,
td {
  font-weight: normal;
  text-align: left; }

.pc-none {
  display: none; }
  @media only screen and (max-width: 767px) {
    .pc-none {
      display: block; }
      .pc-none.ib {
        display: inline-block; } }

@media only screen and (max-width: 767px) {
  .sp-none {
    display: none !important; } }

.img {
  width: 100%;
  height: auto; }

@media only screen and (max-width: 767px) {
  #dmm_ntgnavi .navi_right {
    width: 33%; }
  #dmm_ntgnavi ul {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 88%; }
  #dmm_ntgnavi ul li {
    line-height: 1.2;
    width: 50%;
    height: 100%; }
  #dmm_ntgnavi .navi_left li > a {
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  #dmm_ntgnavi .navi_right li {
    width: 100%; }
  #dmm_ntgnavi .navi_right li > a {
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; } }

.wrapper {
  overflow: hidden; }

/*# sourceMappingURL=../maps/style.css.map */
