/****************************************************
 * 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
 */
/****************************************************
 * STATE
 */
/****************************************************
 * STRUCTURE
 */
/****************************************************
 * STYLE
 */
.intro {
  padding-bottom: 208px; }
  @media screen and (max-width: 768px) {
    .intro {
      padding-bottom: 49px; } }

.prlx {
  height: 33.67496vw;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .prlx {
      height: 84vw; } }
  .prlx__inner {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    -webkit-transform: translateY(-60%);
    -moz-transform: translateY(-60%);
    -ms-transform: translateY(-60%);
    -o-transform: translateY(-60%);
    transform: translateY(-60%); }
    @media screen and (max-width: 768px) {
      .prlx__inner {
        right: -30%;
        left: -30%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); } }
  .prlx img {
    width: 100%; }

.feature .prlx {
  height: 44.94876vw;
  margin-bottom: 300px; }
  @media screen and (max-width: 768px) {
    .feature .prlx {
      height: 84vw;
      margin-bottom: 150px; } }

.feature-list {
  margin-bottom: 194px; }
  @media screen and (max-width: 768px) {
    .feature-list {
      margin-bottom: 95px; } }
  .feature-list__block:not(:last-child) {
    margin-bottom: 210px; }
  .feature-list__block:nth-child(odd) .swiper-slide:nth-child(n + 2) {
    display: none; }
  .feature-list__block:nth-child(odd) .m-slider-controller {
    visibility: hidden; }
    @media screen and (max-width: 768px) {
      .feature-list__block:nth-child(odd) .m-slider-controller {
        visibility: visible;
        right: 0; } }
  .feature-list__block:nth-child(odd) .row__unit--txt .inner {
    padding: 48px 50px 80px 131px; }
    @media screen and (max-width: 768px) {
      .feature-list__block:nth-child(odd) .row__unit--txt .inner {
        padding: 0 38px;
        right: 0; } }
    .feature-list__block:nth-child(odd) .row__unit--txt .inner:before {
      left: -80px; }
      @media screen and (max-width: 768px) {
        .feature-list__block:nth-child(odd) .row__unit--txt .inner:before {
          left: -13px; } }
  @media screen and (max-width: 768px) {
    .feature-list__block > .m-inner > .m-row {
      -webkit-flex-direction: column;
      flex-direction: column; } }
  .feature-list__block .inner {
    height: auto;
    margin: 37px 0 0 -154px; }
    @media screen and (max-width: 768px) {
      .feature-list__block .inner {
        margin: 0; } }
    .feature-list__block .inner:before {
      top: 130px; }
      @media screen and (max-width: 768px) {
        .feature-list__block .inner:before {
          top: 32px; } }
  .feature-list__block .ttl {
    margin-bottom: 38px; }
    @media screen and (max-width: 768px) {
      .feature-list__block .ttl {
        margin-bottom: 40px; } }

.feature .row__unit--img {
  width: 64.3339%; }
  @media screen and (max-width: 768px) {
    .feature .row__unit--img {
      width: 100%;
      margin-bottom: 57px; } }

.feature .row__unit--txt {
  width: 35.6661%; }
  @media screen and (max-width: 768px) {
    .feature .row__unit--txt {
      width: 100%; } }
  .feature .row__unit--txt .ja {
    margin-bottom: 24px; }
    @media screen and (max-width: 768px) {
      .feature .row__unit--txt .ja {
        margin-bottom: 15px; } }

@media screen and (max-width: 768px) {
  .feature__container {
    margin-bottom: 75px; } }

.feature__unit {
  margin-bottom: 205px; }
  @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: 140px; } }
  .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: 475px;
    min-height: 282px;
    margin-top: -100px; }
    @media screen and (max-width: 768px) {
      .feature__unit__txt {
        width: 100%;
        min-height: inherit;
        margin-top: 0; } }
    .feature__unit__txt .inner {
      background-color: #002538;
      color: #c18259;
      position: relative;
      z-index: 100; }
    .feature__unit__txt .ttl {
      margin-bottom: 38px;
      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: 43px;
          font-size: 2.375em;
          font-size: 2.375rem; } }
    .feature__unit__txt p {
      letter-spacing: 0.1em; }
    .feature__unit__txt .ja {
      margin-bottom: 14px;
      font-size: 0.875em;
      font-size: 0.875rem;
      line-height: 1.71429;
      text-align: justify;
      text-justify: inter-ideograph; }
      .ie .feature__unit__txt .ja, .edge .feature__unit__txt .ja {
        font-feature-settings: initial; }
    .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: 32px 40px 0 38px; }
    @media screen and (max-width: 768px) {
      .feature__unit:nth-child(odd) .feature__unit__txt .inner {
        padding: 0 27px 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: 32px 38px 0 75px; }
      @media screen and (max-width: 768px) {
        .feature__unit:nth-child(even) .feature__unit__txt .inner {
          padding: 0 37px; } }

.coffee {
  background-color: #627482;
  width: 995px;
  padding: 60px 65px;
  margin: 0 auto 200px;
  color: #e6e7e8; }
  @media screen and (max-width: 768px) {
    .coffee {
      -webkit-flex-direction: column;
      flex-direction: column;
      width: auto;
      padding: 30px 30px 25px;
      margin: 0 32px 100px; } }
  @media screen and (max-width: 768px) {
    .coffee__unit--image {
      margin-bottom: 20px; } }
  .coffee__unit--txt {
    width: 390px; }
    @media screen and (max-width: 768px) {
      .coffee__unit--txt {
        width: 100%; } }
  .coffee .ttl {
    margin-bottom: 28px;
    font-size: 3em;
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0.2em; }
    @media screen and (max-width: 768px) {
      .coffee .ttl {
        margin-bottom: 12px;
        font-size: 1.5625em;
        font-size: 1.5625rem; } }
  .coffee p {
    letter-spacing: 0.1em; }
  .coffee .ja {
    font-size: 0.875em;
    font-size: 0.875rem;
    line-height: 1.71429;
    text-align: justify;
    text-justify: inter-ideograph; }
    .ie .coffee .ja, .edge .coffee .ja {
      font-feature-settings: initial; }
    @media screen and (max-width: 768px) {
      .coffee .ja {
        font-size: 0.75em;
        font-size: 0.75rem;
        line-height: 1.83333; } }
  .coffee .en {
    padding-top: 13px;
    font-size: 0.75em;
    font-size: 0.75rem;
    text-align: justify;
    text-justify: inter-ideograph; }
    .ie .coffee .en, .edge .coffee .en {
      font-feature-settings: initial; }
