@charset "UTF-8";
.screen {
  position: relative;
  text-transform: uppercase;
  transition: all 1s ease-out; }

.screen.left {
  clip-path: inset(0 100% 0 0); }

.screen.left.show {
  clip-path: inset(0); }

.screen.right {
  clip-path: inset(0 0 0 100%); }

.screen.right.show {
  clip-path: inset(0); }

body {
  background-color: #fff; }

.kv {
  height: 100vh;
  max-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  /* video */ }
  .kv .main-copy {
    color: #fff;
    font-size: 100px;
    font-weight: 500;
    text-align: center;
    line-height: 1; }
  .kv .sub-copy {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.5em;
    margin: 20px auto 0; }
  .kv .video {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: -1;
    object-fit: cover; }
  .kv .video::after {
    content: '';
    width: 100%;
    height: 100%;
    background: url(../img/movie_texture.svg);
    background-repeat: repeat;
    background-size: auto;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    opacity: .22; }
  .kv .video video {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%); }
  .kv .video_wrap {
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.45);
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
  .kv .copies {
    position: absolute;
    left: 50px;
    top: 50%;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    font-weight: 300;
    z-index: 1;
    transform: translateY(-50%);
    pointer-events: none;
    letter-spacing: 0.1em; }
    .kv .copies .copy-item {
      display: none;
      opacity: 0;
      transform: translateY(20px);
      transition: none;
      animation: none; }
    .kv .copies .copy-item.active {
      display: block;
      animation: fadeInUpOut 4.5s linear forwards; }
@keyframes fadeInUpOut {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  30% {
    opacity: 1;
    transform: translateY(0); }
  70% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0;
    transform: translateY(-20px); } }
  .kv .copy-item {
    display: none;
    /* 初期状態では非表示 */ }
  .kv .copy-item.active {
    display: block;
    /* `active`クラスが付いたら表示 */ }
  .kv .ec {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    background-color: #AC2437;
    width: 240px;
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition-duration: .5s; }
    .kv .ec:hover {
      background-color: white; }
      .kv .ec:hover p {
        font-size: 16px;
        font-weight: 400;
        line-height: 1;
        color: #AC2437;
        text-align: left; }
        .kv .ec:hover p span {
          display: block;
          font-size: 10px;
          font-weight: 300;
          letter-spacing: 0.2em;
          color: #AC2437;
          margin-bottom: 10px;
          position: relative; }
        .kv .ec:hover p span:after {
          content: "";
          background-image: url(../img/kv_ec_arrow_on.svg);
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          width: 27px;
          height: 8px;
          position: absolute;
          right: 15px; }
    .kv .ec p {
      font-size: 16px;
      font-weight: 400;
      line-height: 1;
      color: #fff;
      text-align: left; }
      .kv .ec p span {
        display: block;
        font-size: 10px;
        font-weight: 300;
        letter-spacing: 0.2em;
        color: #fff;
        margin-bottom: 10px;
        position: relative; }
      .kv .ec p span:after {
        content: "";
        background-image: url(../img/kv_ec_arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 27px;
        height: 8px;
        position: absolute;
        right: 30px;
        transition-duration: .5s; }
  .kv .scroll {
    position: absolute;
    bottom: 80px;
    left: 10px;
    z-index: 1; }
    .kv .scroll p {
      color: #fff;
      font-size: 10px;
      font-weight: 300;
      line-height: 1;
      transform: rotate(90deg);
      position: relative; }
      .kv .scroll p:after {
        content: "";
        background-image: url(../img/scroll_arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        position: absolute;
        left: 62px;
        transform: rotate(-90deg);
        bottom: -9px;
        width: 8px;
        height: 27px;
        animation: scroll-updown 2.4s infinite ease-in-out; }
@keyframes scroll-updown {
  0% {
    transform: translateX(0) rotate(-90deg);
    opacity: 0; }
  50% {
    transform: translateX(20px) rotate(-90deg);
    opacity: 1; }
  100% {
    transform: translateX(0) rotate(-90deg);
    opacity: 0; } }
  .kv .movie_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .kv .movie_logo img {
      width: 96px;
      opacity: 0.6; }

.contents {
  width: 100%;
  margin: 0 auto; }
  .contents h2 {
    font-size: 20px;
    writing-mode: vertical-rl;
    font-weight: 400;
    letter-spacing: 0.2em;
    color: #0A0A0A;
    position: relative; }
    .contents h2 span {
      position: absolute;
      font-size: 10px;
      font-weight: 400;
      letter-spacing: 0.1em;
      top: 0;
      right: -14px;
      color: #0A0A0A; }
    .contents h2 span:after {
      content: "";
      width: 1px;
      height: 100px;
      background-color: #999;
      position: absolute;
      top: 120%;
      left: 50%;
      transform: translateX(-50%); }
  .contents .inner {
    width: 90%;
    max-width: 1262px;
    margin: 0 auto;
    padding: 130px 0; }
    .contents .inner .s1 {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; }
      .contents .inner .s1 p {
        font-size: 14px;
        font-weight: 400;
        line-height: 2.3;
        width: 100%;
        max-width: 532px;
        color: #000; }
    .contents .inner .s2 {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; }
      .contents .inner .s2 ul {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        width: 100%;
        max-width: 532px; }
        .contents .inner .s2 ul li {
          flex-basis: 250px;
          width: 100%;
          max-width: 250px;
          display: flex;
          flex-direction: column;
          margin-bottom: 30px; }
          .contents .inner .s2 ul li .photo {
            width: 250px; }
            .contents .inner .s2 ul li .photo img {
              max-width: 100%; }
          .contents .inner .s2 ul li h6 {
            font-size: 18px;
            font-weight: 500;
            line-height: 1;
            color: #000;
            margin: 15px 0; }
          .contents .inner .s2 ul li p {
            font-size: 14px;
            font-weight: 400;
            line-height: 1.9;
            color: #000;
            margin: 0 0 20px; }
          .contents .inner .s2 ul li .enbtn {
            width: 100%;
            height: 42px;
            margin: 0 auto;
            border: 1px solid #D9D9D9;
            display: flex;
            justify-content: center;
            align-items: center;
            transition-duration: .5s; }
            .contents .inner .s2 ul li .enbtn:hover {
              background-color: #AC2437;
              border: 1px solid #AC2437; }
              .contents .inner .s2 ul li .enbtn:hover p {
                font-size: 14px;
                margin: 0;
                font-weight: 400;
                line-height: 1;
                color: #fff;
                width: 100%;
                position: relative; }
                .contents .inner .s2 ul li .enbtn:hover p:after {
                  content: "";
                  background-image: url(../img/arrow_wh.svg);
                  background-size: contain;
                  background-repeat: no-repeat;
                  background-position: center;
                  width: 27px;
                  height: 8px;
                  position: absolute;
                  right: 10px;
                  top: 50%;
                  transform: translateY(-50%); }
            .contents .inner .s2 ul li .enbtn p {
              font-size: 14px;
              margin: 0;
              font-weight: 400;
              line-height: 1;
              color: #0A0A0A;
              width: 100%;
              position: relative; }
              .contents .inner .s2 ul li .enbtn p:after {
                content: "";
                background-image: url(../img/arrow_bk.svg);
                background-size: contain;
                background-repeat: no-repeat;
                background-position: center;
                width: 27px;
                height: 8px;
                position: absolute;
                right: 20px;
                top: 50%;
                transform: translateY(-50%);
                transition-duration: .5s; }
    .contents .inner .s3 {
      margin: 0 auto; }
      .contents .inner .s3 ul {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%; }
        .contents .inner .s3 ul li {
          flex-basis: 50%;
          height: 700px;
          text-align: center; }
          .contents .inner .s3 ul li h3 {
            font-size: 20px;
            writing-mode: vertical-rl;
            font-weight: 400;
            letter-spacing: 0.2em;
            color: #0A0A0A;
            position: relative;
            margin: 100px auto 0; }
            .contents .inner .s3 ul li h3 span {
              position: absolute;
              font-size: 10px;
              font-weight: 400;
              letter-spacing: 0.1em;
              top: 0;
              right: -14px;
              color: #0A0A0A; }
            .contents .inner .s3 ul li h3 span:after {
              content: "";
              width: 1px;
              height: 100px;
              background-color: #999;
              position: absolute;
              top: 120%;
              left: 50%;
              transform: translateX(-50%); }
          .contents .inner .s3 ul li .link_arrow {
            width: 50px;
            height: 50px;
            background-image: url(../img/link_arrow_bg.svg);
            display: inline-block;
            margin: 120px 0 60px 35px;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            position: relative; }
          .contents .inner .s3 ul li .link_arrow:after {
            content: "";
            background-image: url(../img/arrow_bk.svg);
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            width: 27px;
            height: 8px;
            position: absolute;
            left: 12px;
            transition: left 0.3s;
            top: 50%;
            transform: translateY(-50%);
            transition-duration: .5s; }
          .contents .inner .s3 ul li .link_arrow:hover:after {
            left: 32px;
            transition-duration: .5s; }
          .contents .inner .s3 ul li p {
            font-size: 14px;
            font-weight: 400;
            line-height: 1.9;
            color: #000;
            margin: 0 auto;
            max-width: 310px;
            text-align: left; }
          .contents .inner .s3 ul li .photo01 {
            background-image: url(../img/home_contents01.webp);
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            width: 100%;
            height: 700px; }
          .contents .inner .s3 ul li .photo02 {
            background-image: url(../img/home_contents02.webp);
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            width: 100%;
            height: 700px; }
          .contents .inner .s3 ul li .photo03 {
            background-image: url(../img/home_contents03.webp);
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            width: 100%;
            height: 700px; }
          .contents .inner .s3 ul li .photo04 {
            background-image: url(../img/home_contents04.webp);
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            width: 100%;
            height: 700px; }
    .contents .inner .s4 {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; }
      .contents .inner .s4 ul {
        width: 50%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start; }
        .contents .inner .s4 ul li {
          width: 100%;
          padding-bottom: 15px;
          margin-bottom: 15px;
          border-bottom: 1px solid #ECEDEC; }
          .contents .inner .s4 ul li .date {
            font-size: 12px;
            font-weight: 400;
            line-height: 1;
            color: #0a0a0a; }
          .contents .inner .s4 ul li a {
            text-decoration: none; }
            .contents .inner .s4 ul li a p {
              font-size: 16px;
              font-weight: 400;
              line-height: 1.9;
              color: #0a0a0a;
              margin: 0; }
          .contents .inner .s4 ul li .btn_more {
            width: 180px;
            height: 42px;
            background-color: #fff;
            border: 1px solid #D9D9D9;
            display: flex;
            justify-content: center;
            align-items: center;
            transition-duration: .5s;
            margin: 0; }
            .contents .inner .s4 ul li .btn_more p {
              font-size: 12px;
              font-weight: 400;
              line-height: 1;
              color: #0a0a0a; }
            .contents .inner .s4 ul li .btn_more p:after {
              content: "";
              background-image: url(../img/arrow_bk.svg);
              background-size: contain;
              background-repeat: no-repeat;
              background-position: center;
              width: 27px;
              height: 8px;
              position: absolute;
              right: -14px;
              top: 50%;
              transform: translateY(-50%);
              transition-duration: .5s; }
            .contents .inner .s4 ul li .btn_more:hover p:after {
              right: -32px; }
        .contents .inner .s4 ul li:last-child {
          margin-bottom: 0;
          padding-bottom: 0;
          border-bottom: none; }
    .contents .inner .s5 {
      padding: 160px 0 0;
      text-align: center;
      margin: 0 auto; }
      .contents .inner .s5 h6 {
        font-size: 20px;
        font-weight: 400;
        line-height: 1;
        color: #0A0A0A;
        letter-spacing: 0.1em;
        margin: 0 auto 40px; }
      .contents .inner .s5 .feed {
        margin: 0 auto 40px;
        text-align: center; }
        .contents .inner .s5 .feed img {
          max-width: 980px; }
      .contents .inner .s5 ul {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px; }
      .contents .inner .s5 li p {
        font-size: 14px;
        font-weight: 400;
        line-height: 1;
        color: #0A0A0A; }
  .contents .section_img {
    width: 100%;
    height: 420px;
    background-image: url(../img/home_section_img01.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative; }
    .contents .section_img .section_logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .contents .section_img .section_logo img {
        width: 90px;
        opacity: 0.67; }
  .contents .section_img02 {
    width: 100%;
    height: 420px;
    background-image: url(../img/home_section_img02.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative; }
  .contents .section_img03 {
    width: 100%;
    height: 420px;
    background-image: url(../img/home_section_img03.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative; }

@media (max-width: 780px) {
  #wrapper {
    width: 100%;
    overflow-x: hidden; }

  .kv {
    height: 100vh;
    max-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    /* video */ }
    .kv .video {
      width: 100%;
      height: 100vh;
      position: absolute;
      top: 0;
      left: 0;
      overflow: hidden;
      z-index: -1;
      object-fit: cover; }
    .kv .video::after {
      content: '';
      width: 100%;
      height: 100%;
      background: url(../img/movie_texture.svg);
      background-repeat: repeat;
      background-size: auto;
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      opacity: .22; }
    .kv .video video {
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%); }
    .kv .video_wrap {
      width: 100%;
      height: 100vh;
      background-color: rgba(0, 0, 0, 0.45);
      mix-blend-mode: multiply;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1; }
    .kv .copies {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      color: #fff;
      font-size: 3.8461538462vw;
      line-height: 1;
      font-weight: 300;
      z-index: 1;
      pointer-events: none;
      letter-spacing: 0.1em; }
      .kv .copies .copy-item {
        display: none;
        opacity: 0;
        transform: translateY(2vw);
        transition: none;
        animation: none; }
      .kv .copies .copy-item.active {
        display: block;
        animation: fadeInUpOut 4.5s linear forwards; }
  @keyframes fadeInUpOut {
    0% {
      opacity: 0;
      transform: translateY(2vw); }
    30% {
      opacity: 1;
      transform: translateY(0); }
    70% {
      opacity: 1;
      transform: translateY(0); }
    100% {
      opacity: 0;
      transform: translateY(-2vw); } }
    .kv .copy-item {
      display: none;
      /* 初期状態では非表示 */ }
    .kv .copy-item.active {
      display: block;
      /* `active`クラスが付いたら表示 */ }
    .kv .ec {
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: 1;
      background-color: #AC2437;
      width: 240px;
      height: 90px;
      display: flex;
      justify-content: center;
      align-items: center;
      transition-duration: .5s; }
      .kv .ec p {
        font-size: 16px;
        font-weight: 400;
        line-height: 1;
        color: #fff;
        text-align: left; }
        .kv .ec p span {
          display: block;
          font-size: 10px;
          font-weight: 300;
          letter-spacing: 0.2em;
          color: #fff;
          margin-bottom: 10px;
          position: relative; }
        .kv .ec p span:after {
          content: "";
          background-image: url(../img/kv_ec_arrow.svg);
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          width: 27px;
          height: 8px;
          position: absolute;
          right: 30px;
          transition-duration: .5s; }
    .kv .scroll {
      position: absolute;
      bottom: 13vw;
      left: -1vw;
      z-index: 1; }
      .kv .scroll p {
        color: #fff;
        font-size: 2.5641025641vw;
        font-weight: 300;
        line-height: 1;
        transform: rotate(90deg);
        position: relative; }
        .kv .scroll p:after {
          content: "";
          background-image: url(../img/scroll_arrow.svg);
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          position: absolute;
          left: 12vw;
          transform: rotate(-90deg);
          bottom: -.2vw;
          width: 1vw;
          height: 3vw;
          animation: scroll-updown 2.4s infinite ease-in-out; }
  @keyframes scroll-updown {
    0% {
      transform: translateX(0) rotate(-90deg);
      opacity: .2; }
    50% {
      transform: translateX(1.5vw) rotate(-90deg);
      opacity: 1; }
    100% {
      transform: translateX(0) rotate(-90deg);
      opacity: .2; } }
    .kv .movie_logo {
      position: absolute;
      top: 34%;
      left: 50%;
      transform: translateX(-50%); }
      .kv .movie_logo img {
        width: 15vw;
        opacity: 0.8; }

  .contents {
    width: 100%;
    margin: 0 auto; }
    .contents h2 {
      font-size: 4.358974359vw;
      writing-mode: horizontal-tb;
      font-weight: 400;
      letter-spacing: 0.2em;
      color: #0A0A0A;
      position: relative; }
      .contents h2 span {
        position: absolute;
        font-size: 2.5641025641vw;
        font-weight: 400;
        letter-spacing: 0.1em;
        top: initial;
        bottom: -4vw;
        right: inherit;
        left: 50%;
        transform: translateX(-50%);
        color: #0A0A0A;
        white-space: nowrap; }
      .contents h2 span:after {
        content: none; }
    .contents .inner {
      width: 90vw;
      max-width: 90vw;
      margin: 0 auto;
      padding: 10vw 0; }
      .contents .inner .s1 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap; }
        .contents .inner .s1 p {
          font-size: 3.0769230769vw;
          font-weight: 400;
          line-height: 2;
          width: 100%;
          max-width: 80vw;
          color: #1a1a1a;
          margin: 15vw auto 0; }
      .contents .inner .s2 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap; }
        .contents .inner .s2 ul {
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          flex-wrap: wrap;
          width: 90vw;
          margin: 15vw auto 0; }
          .contents .inner .s2 ul li {
            flex-basis: 42.3076923077vw;
            width: 100%;
            max-width: 250px;
            display: flex;
            flex-direction: column;
            margin-bottom: 30px; }
            .contents .inner .s2 ul li .photo {
              width: 42.3076923077vw; }
              .contents .inner .s2 ul li .photo img {
                max-width: 100%; }
            .contents .inner .s2 ul li h6 {
              font-size: 3.3333333333vw;
              font-weight: 500;
              line-height: 1;
              color: #000;
              margin: 4vw 0 2vw; }
            .contents .inner .s2 ul li p {
              font-size: 2.8205128205vw;
              font-weight: 400;
              line-height: 1.9;
              color: #000;
              margin: 0 0 20px; }
            .contents .inner .s2 ul li .enbtn {
              width: 100%;
              height: 9vw;
              margin: 0 auto;
              border: 1px solid #D9D9D9;
              display: flex;
              justify-content: center;
              align-items: center;
              transition-duration: .5s; }
              .contents .inner .s2 ul li .enbtn:hover {
                background-color: #fff;
                border: 1px solid #D9D9D9; }
                .contents .inner .s2 ul li .enbtn:hover p {
                  font-size: 2.5641025641vw;
                  margin: 0;
                  font-weight: 400;
                  line-height: 1;
                  color: #0A0A0A;
                  width: 100%;
                  position: relative; }
                  .contents .inner .s2 ul li .enbtn:hover p:after {
                    content: "";
                    background-image: url(../img/arrow_bk.svg);
                    background-size: contain;
                    background-repeat: no-repeat;
                    background-position: center;
                    width: 3vw;
                    height: 1vw;
                    position: absolute;
                    right: 2vw;
                    top: 50%;
                    transform: translateY(-50%); }
              .contents .inner .s2 ul li .enbtn p {
                font-size: 2.5641025641vw;
                margin: 0;
                font-weight: 400;
                line-height: 1;
                color: #0A0A0A;
                width: 100%;
                position: relative; }
                .contents .inner .s2 ul li .enbtn p:after {
                  content: "";
                  background-image: url(../img/arrow_bk.svg);
                  background-size: contain;
                  background-repeat: no-repeat;
                  background-position: center;
                  width: 3vw;
                  height: 1vw;
                  position: absolute;
                  right: 2vw;
                  top: 50%;
                  transform: translateY(-50%);
                  transition-duration: .5s; }
      .contents .inner .s3 {
        margin: 0 auto;
        padding: 15vw 0 0; }
        .contents .inner .s3 ul:nth-child(1), .contents .inner .s3 ul:nth-child(3) {
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          flex-wrap: wrap;
          width: 100%;
          margin-bottom: 15vw; }
          .contents .inner .s3 ul:nth-child(1) li, .contents .inner .s3 ul:nth-child(3) li {
            flex-basis: 100%;
            text-align: left;
            height: auto; }
            .contents .inner .s3 ul:nth-child(1) li h3, .contents .inner .s3 ul:nth-child(3) li h3 {
              font-size: 4.358974359vw;
              writing-mode: horizontal-tb;
              font-weight: 400;
              letter-spacing: 0.2em;
              color: #0A0A0A;
              position: relative;
              margin: 0 auto; }
              .contents .inner .s3 ul:nth-child(1) li h3 span, .contents .inner .s3 ul:nth-child(3) li h3 span {
                position: absolute;
                font-size: 2.5641025641vw;
                font-weight: 400;
                letter-spacing: 0.1em;
                top: inherit;
                bottom: -4vw;
                right: inherit;
                left: 0;
                color: #0A0A0A;
                display: block; }
              .contents .inner .s3 ul:nth-child(1) li h3 span:after, .contents .inner .s3 ul:nth-child(3) li h3 span:after {
                content: none; }
            .contents .inner .s3 ul:nth-child(1) li .link_arrow, .contents .inner .s3 ul:nth-child(3) li .link_arrow {
              width: 10vw;
              height: 10vw;
              background-image: url(../img/link_arrow_bg.svg);
              display: inline-block;
              margin: -5vw 0 0 70vw;
              background-size: contain;
              background-repeat: no-repeat;
              background-position: center;
              position: relative; }
            .contents .inner .s3 ul:nth-child(1) li .link_arrow:after, .contents .inner .s3 ul:nth-child(3) li .link_arrow:after {
              content: "";
              background-image: url(../img/arrow_bk.svg);
              background-size: contain;
              background-repeat: no-repeat;
              background-position: center;
              width: 4vw;
              height: 2vw;
              position: absolute;
              left: 50%;
              top: 50%;
              transform: translateY(-50%) translateX(-50%); }
            .contents .inner .s3 ul:nth-child(1) li .link_arrow:hover:after, .contents .inner .s3 ul:nth-child(3) li .link_arrow:hover:after {
              left: 50%; }
            .contents .inner .s3 ul:nth-child(1) li p, .contents .inner .s3 ul:nth-child(3) li p {
              font-size: 3.0769230769vw;
              font-weight: 400;
              line-height: 1.9;
              color: #000;
              margin: 10vw 0 5vw;
              max-width: 80vw;
              text-align: left;
              position: relative; }
            .contents .inner .s3 ul:nth-child(1) li p:after, .contents .inner .s3 ul:nth-child(3) li p:after {
              content: "";
              background-color: rgba(232, 232, 232, 0.36);
              width: 90vw;
              height: 54.2307692308vw;
              position: absolute;
              top: -7vw;
              left: -5vw;
              z-index: -1; }
            .contents .inner .s3 ul:nth-child(1) li .photo01, .contents .inner .s3 ul:nth-child(3) li .photo01 {
              background-image: url(../img/home_contents01-s.webp);
              background-size: cover;
              background-position: center;
              background-repeat: no-repeat;
              width: 80vw;
              max-width: 80vw;
              margin-left: 15vw;
              height: 61.1538461538vw;
              margin-right: 0; }
            .contents .inner .s3 ul:nth-child(1) li .photo03, .contents .inner .s3 ul:nth-child(3) li .photo03 {
              background-image: url(../img/home_contents03-s.webp);
              background-size: cover;
              background-position: center;
              background-repeat: no-repeat;
              width: 80vw;
              max-width: 80vw;
              margin-left: 15vw;
              height: 61.1538461538vw;
              margin-right: 0; }
        .contents .inner .s3 ul:nth-child(2), .contents .inner .s3 ul:nth-child(4) {
          display: flex;
          flex-direction: column-reverse;
          justify-content: space-between;
          align-items: flex-start;
          flex-wrap: wrap;
          width: 100%;
          margin-bottom: 15vw; }
          .contents .inner .s3 ul:nth-child(2) li, .contents .inner .s3 ul:nth-child(4) li {
            flex-basis: 100%;
            text-align: left; }
            .contents .inner .s3 ul:nth-child(2) li h3, .contents .inner .s3 ul:nth-child(4) li h3 {
              font-size: 4.358974359vw;
              writing-mode: horizontal-tb;
              font-weight: 400;
              letter-spacing: 0.2em;
              color: #0A0A0A;
              position: relative;
              margin: 0 auto; }
              .contents .inner .s3 ul:nth-child(2) li h3 span, .contents .inner .s3 ul:nth-child(4) li h3 span {
                position: absolute;
                font-size: 2.5641025641vw;
                font-weight: 400;
                letter-spacing: 0.1em;
                top: inherit;
                bottom: -4vw;
                right: inherit;
                left: 0;
                color: #0A0A0A;
                display: block; }
              .contents .inner .s3 ul:nth-child(2) li h3 span:after, .contents .inner .s3 ul:nth-child(4) li h3 span:after {
                content: none; }
            .contents .inner .s3 ul:nth-child(2) li .link_arrow, .contents .inner .s3 ul:nth-child(4) li .link_arrow {
              width: 10vw;
              height: 10vw;
              background-image: url(../img/link_arrow_bg.svg);
              display: inline-block;
              margin: -5vw 0 0 70vw;
              background-size: contain;
              background-repeat: no-repeat;
              background-position: center;
              position: relative; }
            .contents .inner .s3 ul:nth-child(2) li .link_arrow:after, .contents .inner .s3 ul:nth-child(4) li .link_arrow:after {
              content: "";
              background-image: url(../img/arrow_bk.svg);
              background-size: contain;
              background-repeat: no-repeat;
              background-position: center;
              width: 4vw;
              height: 2vw;
              position: absolute;
              left: 50%;
              top: 50%;
              transform: translateY(-50%) translateX(-50%); }
            .contents .inner .s3 ul:nth-child(2) li .link_arrow:hover:after, .contents .inner .s3 ul:nth-child(4) li .link_arrow:hover:after {
              left: 50%; }
            .contents .inner .s3 ul:nth-child(2) li p, .contents .inner .s3 ul:nth-child(4) li p {
              font-size: 3.0769230769vw;
              font-weight: 400;
              line-height: 1.9;
              color: #000;
              margin: 10vw 0 5vw 15vw;
              max-width: 80vw;
              text-align: left;
              position: relative; }
            .contents .inner .s3 ul:nth-child(2) li p:after, .contents .inner .s3 ul:nth-child(4) li p:after {
              content: "";
              background-color: rgba(232, 232, 232, 0.36);
              width: 90vw;
              height: 54.2307692308vw;
              position: absolute;
              top: -7vw;
              right: -5vw;
              z-index: -1; }
            .contents .inner .s3 ul:nth-child(2) li .photo02, .contents .inner .s3 ul:nth-child(4) li .photo02 {
              background-image: url(../img/home_contents02-s.webp);
              background-size: cover;
              background-position: center;
              background-repeat: no-repeat;
              width: 80vw;
              max-width: 80vw;
              margin-right: 15vw;
              height: 61.1538461538vw;
              margin-left: -5vw; }
            .contents .inner .s3 ul:nth-child(2) li .photo04, .contents .inner .s3 ul:nth-child(4) li .photo04 {
              background-image: url(../img/home_contents04-s.webp);
              background-size: cover;
              background-position: center;
              background-repeat: no-repeat;
              width: 80vw;
              max-width: 80vw;
              margin-right: 15vw;
              height: 61.1538461538vw;
              margin-left: -5vw; }
      .contents .inner .s4 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        padding: 10vw 0 0; }
        .contents .inner .s4 ul {
          width: 100%;
          max-width: 90vw;
          display: flex;
          flex-direction: column;
          flex-wrap: wrap;
          justify-content: space-between;
          align-items: flex-start;
          margin: 10vw auto 0; }
          .contents .inner .s4 ul li {
            width: 100%;
            padding-bottom: 3vw;
            margin-bottom: 3vw;
            border-bottom: 1px solid #ECEDEC; }
            .contents .inner .s4 ul li .date {
              font-size: 2.5641025641vw;
              font-weight: 400;
              line-height: 1;
              color: #0a0a0a;
              margin-bottom: 1vw; }
            .contents .inner .s4 ul li a {
              text-decoration: none; }
              .contents .inner .s4 ul li a p {
                font-size: 3.0769230769vw;
                font-weight: 400;
                line-height: 1.7;
                color: #0a0a0a;
                margin: 0; }
            .contents .inner .s4 ul li .btn_more {
              width: 40vw;
              height: 9vw;
              background-color: #fff;
              border: 1px solid #D9D9D9;
              display: flex;
              justify-content: center;
              align-items: center;
              transition-duration: .5s;
              margin: 0 auto; }
              .contents .inner .s4 ul li .btn_more p {
                font-size: 2.5641025641vw;
                font-weight: 400;
                line-height: 1;
                color: #0a0a0a; }
              .contents .inner .s4 ul li .btn_more p:after {
                content: "";
                background-image: url(../img/arrow_bk.svg);
                background-size: contain;
                background-repeat: no-repeat;
                background-position: center;
                width: 3vw;
                height: 1vw;
                position: absolute;
                right: -2vw;
                top: 50%;
                transform: translateY(-50%);
                transition-duration: .5s; }
              .contents .inner .s4 ul li .btn_more:hover p:after {
                right: -2vw; }
          .contents .inner .s4 ul li:last-child {
            margin-bottom: 0;
            padding-bottom: 0;
            border-bottom: none; }
      .contents .inner .s5 {
        padding: 15vw 0;
        text-align: center;
        margin: 0 auto; }
        .contents .inner .s5 h6 {
          font-size: 3.8461538462vw;
          font-weight: 400;
          line-height: 1;
          color: #0A0A0A;
          letter-spacing: 0.1em;
          margin: 0 auto 5vw; }
        .contents .inner .s5 .feed {
          margin: 0 auto 5vw;
          text-align: center; }
          .contents .inner .s5 .feed img {
            max-width: 80vw; }
        .contents .inner .s5 ul {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 2vw; }
        .contents .inner .s5 li p {
          font-size: 3.0769230769vw;
          font-weight: 400;
          line-height: 1;
          color: #0A0A0A; }
    .contents .section_img {
      width: 100%;
      height: 53.8461538462vw;
      background-image: url(../img/home_section_img01-s.webp);
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      position: relative; }
      .contents .section_img .section_logo {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
        .contents .section_img .section_logo img {
          width: 12vw;
          opacity: 0.67; }
    .contents .section_img02 {
      width: 100%;
      height: 53.8461538462vw;
      background-image: url(../img/home_section_img02.webp);
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      position: relative; }
    .contents .section_img03 {
      width: 100%;
      height: 53.8461538462vw;
      background-image: url(../img/home_section_img03.webp);
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      position: relative; } }

/*# sourceMappingURL=home.css.map */
