/****************************************************
 * MODULE
 */
.m-contents-name {
  margin-bottom: 196px;
  color: #fff; }
  @media screen and (max-width: 768px) {
    .m-contents-name {
      padding-top: 94px;
      margin-bottom: 94px; }
      .m-contents-name:before {
        height: 76px; } }

/****************************************************
 * COMPONENT
 */
.cp-intro .intro__contents--en .txt {
  max-width: 760px; }

/****************************************************
 * STATE
 */
/****************************************************
 * STRUCTURE
 */
/****************************************************
 * STYLE
 */
.intro {
  padding-bottom: 206px; }
  @media screen and (max-width: 768px) {
    .intro {
      padding-bottom: 48px; } }

@media screen and (max-width: 768px) {
  .feature {
    padding-bottom: 94px; } }

.feature__unit {
  margin-bottom: 132px; }
  @media screen and (max-width: 768px) {
    .feature__unit {
      margin-bottom: 140px; }
      .feature__unit:last-child {
        margin-bottom: 30px; } }
  .feature__unit .m-inner {
    overflow: visible; }
    .feature__unit .m-inner:after {
      display: block;
      clear: both;
      content: ''; }
  .feature__unit:nth-child(2) {
    padding-bottom: 54px;
    margin-bottom: 170px; }
    @media screen and (max-width: 768px) {
      .feature__unit:nth-child(2) {
        padding-bottom: 0;
        margin-bottom: 0; } }
  .feature__unit__slide {
    position: relative; }
    @media screen and (max-width: 768px) {
      .feature__unit__slide {
        margin: 0 -13px 57px; } }
    .feature__unit__slide .swiper-group {
      position: relative; }
      @media screen and (max-width: 768px) {
        .feature__unit__slide .swiper-group {
          margin: 0 13px; } }
    .feature__unit__slide .swiper-container {
      width: 630px; }
      @media screen and (max-width: 768px) {
        .feature__unit__slide .swiper-container:nth-child(odd) {
          width: 100%; } }
      @media screen and (max-width: 768px) {
        .feature__unit__slide .swiper-container:nth-child(even) {
          display: none; } }
    .feature__unit__slide .swpr-controller {
      position: absolute;
      top: 100%; }
      @media screen and (max-width: 768px) {
        .feature__unit__slide .swpr-controller {
          top: inherit; } }
  .feature__unit__txt {
    display: inline-block;
    width: 470px;
    margin-top: -100px; }
    @media screen and (max-width: 768px) {
      .feature__unit__txt {
        display: block;
        width: 100%;
        margin-top: 0; } }
    .feature__unit__txt .inner {
      background-color: #002538;
      color: #c18259;
      position: relative;
      z-index: 100; }
    .feature__unit__txt .ttl {
      margin-bottom: 18px;
      font-size: 3em;
      font-size: 3rem;
      letter-spacing: 0.2em;
      line-height: 1; }
      @media screen and (max-width: 768px) {
        .feature__unit__txt .ttl {
          margin-bottom: 40px;
          font-size: 2.375em;
          font-size: 2.375rem; } }
    .feature__unit__txt p {
      letter-spacing: 0.1em; }
    .feature__unit__txt .ja, .feature__unit__txt .data {
      font-size: 0.875em;
      font-size: 0.875rem;
      line-height: 1.71429; }
    .feature__unit__txt .data {
      margin-bottom: 17px; }
      @media screen and (max-width: 768px) {
        .feature__unit__txt .data {
          margin-bottom: 10px; } }
    .feature__unit__txt .ja {
      margin-bottom: 43px;
      text-align: justify;
      text-justify: inter-ideograph; }
      .ie .feature__unit__txt .ja, .edge .feature__unit__txt .ja {
        font-feature-settings: initial; }
      @media screen and (max-width: 768px) {
        .feature__unit__txt .ja {
          margin-bottom: 13px; } }
    .feature__unit__txt .en {
      font-size: 0.75em;
      font-size: 0.75rem;
      line-height: 1.33333;
      text-align: justify;
      text-justify: inter-ideograph; }
      .ie .feature__unit__txt .en, .edge .feature__unit__txt .en {
        font-feature-settings: initial; }
      @media screen and (max-width: 768px) {
        .feature__unit__txt .en {
          font-size: 0.875em;
          font-size: 0.875rem;
          line-height: 1.57143; } }
    .feature__unit__txt .m-btn {
      margin-top: 94px; }
      @media screen and (max-width: 768px) {
        .feature__unit__txt .m-btn {
          margin-top: 45px; } }
  .feature__unit:nth-child(odd) .feature__unit__slide .swiper-container:nth-child(odd) {
    margin-left: 0;
    position: relative;
    z-index: 10; }
  .feature__unit:nth-child(odd) .feature__unit__slide .swiper-container:nth-child(even) {
    position: absolute;
    top: 170px;
    right: 0; }
  .feature__unit:nth-child(odd) .feature__unit__slide .swpr-controller {
    left: 505px; }
    @media screen and (max-width: 768px) {
      .feature__unit:nth-child(odd) .feature__unit__slide .swpr-controller {
        left: inherit;
        right: 13px;
        bottom: 0; } }
  .feature__unit:nth-child(odd) .feature__unit__txt .inner {
    padding: 47px 40px 0 2px; }
    @media screen and (max-width: 768px) {
      .feature__unit:nth-child(odd) .feature__unit__txt .inner {
        padding: 0 37px; } }
  .feature__unit:nth-child(even) .feature__unit__slide .swiper-container:nth-child(odd) {
    position: absolute;
    top: 170px;
    left: 0; }
    @media screen and (max-width: 768px) {
      .feature__unit:nth-child(even) .feature__unit__slide .swiper-container:nth-child(odd) {
        position: static; } }
  .feature__unit:nth-child(even) .feature__unit__slide .swiper-container:nth-child(even) {
    margin-right: 0;
    position: relative;
    z-index: 10; }
  .feature__unit:nth-child(even) .feature__unit__slide .swpr-controller {
    right: 505px; }
    @media screen and (max-width: 768px) {
      .feature__unit:nth-child(even) .feature__unit__slide .swpr-controller {
        right: 13px;
        left: inherit;
        bottom: 0; } }
  .feature__unit:nth-child(even) .feature__unit__txt {
    float: right; }
    @media screen and (max-width: 768px) {
      .feature__unit:nth-child(even) .feature__unit__txt {
        float: none; } }
    .feature__unit:nth-child(even) .feature__unit__txt .inner {
      padding: 47px 0 0 50px; }
      @media screen and (max-width: 768px) {
        .feature__unit:nth-child(even) .feature__unit__txt .inner {
          padding: 0 37px; } }

.system {
  background-color: #b4aca4;
  padding-bottom: 196px; }
  @media screen and (max-width: 768px) {
    .system {
      padding-bottom: 96px; } }
  .system .m-contents-name {
    padding-top: 200px;
    margin-bottom: 90px;
    font-size: 1.625em;
    font-size: 1.625rem; }
    @media screen and (max-width: 768px) {
      .system .m-contents-name {
        padding-top: 92px;
        margin-bottom: 44px;
        font-size: 0.875em;
        font-size: 0.875rem; } }
    .system .m-contents-name.is-show:before {
      height: 174px; }
      @media screen and (max-width: 768px) {
        .system .m-contents-name.is-show:before {
          height: 75px; } }
  .system__group {
    max-width: 1008px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .system__group {
        -webkit-flex-direction: column;
        flex-direction: column; } }
    .system__group__unit {
      width: 100%;
      padding: 0 42px;
      font-size: 0.875em;
      font-size: 0.875rem;
      line-height: 1.71429;
      letter-spacing: 0.1em;
      color: #fff; }
      @media screen and (max-width: 768px) {
        .system__group__unit {
          width: 100%;
          font-size: 0.75em;
          font-size: 0.75rem;
          line-height: 1.83333; }
          .system__group__unit:not(:last-child) {
            margin-bottom: 41px; } }
      .system__group__unit p {
        text-align: justify;
        text-justify: inter-ideograph; }
        .ie .system__group__unit p, .edge .system__group__unit p {
          font-feature-settings: initial; }
        .system__group__unit p:not(:last-child) {
          margin-bottom: 24px; }
          @media screen and (max-width: 768px) {
            .system__group__unit p:not(:last-child) {
              margin-bottom: 44px; } }
      @media screen and (max-width: 768px) {
        .system__group__unit--en {
          line-height: 1.58333; }
          .system__group__unit--en p:not(:last-child) {
            margin-bottom: 21px; } }
