@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
メインビジュアル
---------------------------------------------------------------------------------------------------------------------
*/
#back-image {
  position: fixed;
  top: 0;
  height: 100vh;
  width: 100%;
  background: url(../../assets-page/img/_member/2025-01-sp2.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top center;
  overflow: hidden; }
  @media (min-width: 1024px) {
    #back-image {
      background: url("../../assets-page/img/_member/2025-01-pc.webp");
      background-size: cover;
      background-position: center;
      width: 100%; } }
  #back-image:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to top, #111111 0%, #EDEDED 100%);
    height: 100%;
    z-index: 0;
    mix-blend-mode: multiply;
    opacity: 0.4; }

#MVabout {
  position: relative;
  height: 100vh; }
  #MVabout .MVTitle {
    position: absolute;
    bottom: 5%;
    left: 5%;
    color: #fff;
    z-index: 100; }
    #MVabout .MVTitle #TextRandomDisplay {
      opacity: 0; }
    #MVabout .MVTitle h3 {
      font-size: 1.0em;
      line-height: 1.2em;
      letter-spacing: 0.12em;
      color: #00A4E3;
      margin-bottom: 10px; }
      @media (min-width: 1024px) {
        #MVabout .MVTitle h3 {
          font-size: 1.5em; } }
    #MVabout .MVTitle h1 {
      font-size: 2.2em;
      font-weight: bold;
      line-height: 1.3em;
      margin-bottom: 10px; }
      @media (min-width: 1024px) {
        #MVabout .MVTitle h1 {
          font-size: 3.75em;
          margin-bottom: 30px; } }
    #MVabout .MVTitle h4 {
      font-size: 1.125em;
      line-height: 1.4em; }
      @media (min-width: 1024px) {
        #MVabout .MVTitle h4 {
          font-size: 1.75em; } }

.RandomDisplay {
  animation: fadeIn 1s linear;
  animation-fill-mode: both; }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*
---------------------------------------------------------------------------------------------------------------------
私たちの考え
---------------------------------------------------------------------------------------------------------------------
*/
#Idea {
  height: 660px;
  width: 100%;
  position: relative; }
  @media (min-width: 768px) {
    #Idea {
      background-position: center;
      height: 710px; } }
  @media (min-width: 1024px) {
    #Idea {
      height: 1114px; } }
  #Idea:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    height: 100%;
    z-index: 0;
    mix-blend-mode: multiply; }
  #Idea .Idea_Title {
    position: absolute;
    top: 3%;
    right: 3%;
    color: #fff;
    text-align: right; }
    @media (min-width: 768px) {
      #Idea .Idea_Title {
        top: 5%;
        right: 5%; } }
    @media (min-width: 1024px) {
      #Idea .Idea_Title {
        top: 11.5%;
        right: 11.5%; } }
    #Idea .Idea_Title h2 {
      font-size: 20px;
      margin-bottom: 5px; }
      @media (min-width: 768px) {
        #Idea .Idea_Title h2 {
          font-size: 24px;
          margin-bottom: 10px; } }
    #Idea .Idea_Title p {
      font-size: 12px; }
      @media (min-width: 768px) {
        #Idea .Idea_Title p {
          font-size: 14px; } }
  #Idea .Pc {
    display: none; }
    @media (min-width: 1024px) {
      #Idea .Pc {
        display: inherit; } }
    #Idea .Pc .Philosophy {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0; }
    #Idea .Pc .text1 {
      position: absolute;
      top: 203px;
      left: 4%; }
      @media (min-width: 1024px) {
        #Idea .Pc .text1 {
          top: 175px;
          left: 144px; } }
    #Idea .Pc .text2 {
      position: absolute;
      top: 343px;
      left: 4%; }
      @media (min-width: 1024px) {
        #Idea .Pc .text2 {
          top: 460px;
          left: 325px; } }
    #Idea .Pc .text3 {
      position: absolute;
      top: 495px;
      left: 4%; }
      @media (min-width: 1024px) {
        #Idea .Pc .text3 {
          top: 718px;
          left: 485px; } }
    #Idea .Pc .CommonText {
      color: #fff; }
      #Idea .Pc .CommonText h3 {
        font-size: 24px;
        margin-bottom: 10px;
        letter-spacing: 0.12em; }
      #Idea .Pc .CommonText p {
        font-size: 14px;
        margin-bottom: 15px; }
      #Idea .Pc .CommonText h4 {
        font-size: 26px;
        font-weight: bold;
        font-feature-settings: "palt";
        letter-spacing: 0.08em;
        margin-bottom: 15px;
        line-height: 1.0em; }
      #Idea .Pc .CommonText h5 {
        font-size: 15px;
        font-weight: normal;
        max-width: 400px;
        text-align: justify;
        line-height: 1.55em; }
  #Idea .Sp {
    color: #fff;
    width: 95%;
    /*タイムライン全体の設定*/ }
    @media (min-width: 1024px) {
      #Idea .Sp {
        display: none; } }
    #Idea .Sp .timeline {
      max-width: 400px;
      width: 100%;
      padding: 100px 15px 0;
      /*絶対配置で線を設定*/ }
      @media (min-width: 768px) {
        #Idea .Sp .timeline {
          max-width: 450px;
          margin: 0px 0 100px 2%; } }
      #Idea .Sp .timeline li {
        position: relative;
        list-style: none;
        padding: 0 0 20px 0; }
        #Idea .Sp .timeline li::after {
          content: '';
          position: absolute;
          top: 5px;
          left: 0;
          width: 16px;
          height: 16px;
          background: #fff;
          border-radius: 50%; }
        #Idea .Sp .timeline li dl {
          margin: 0px 0 20px 10%; }
          #Idea .Sp .timeline li dl dt {
            font-size: 20px;
            margin-bottom: 5px; }
            @media (min-width: 768px) {
              #Idea .Sp .timeline li dl dt {
                font-size: 24px; } }
          #Idea .Sp .timeline li dl dd {
            font-size: 13px;
            margin-bottom: 3px; }
            @media (min-width: 768px) {
              #Idea .Sp .timeline li dl dd {
                font-size: 14px; } }
          #Idea .Sp .timeline li dl h2 {
            font-size: 20px;
            font-weight: bold;
            font-feature-settings: "palt";
            letter-spacing: 0.08em;
            line-height: 1em; }
            @media (min-width: 768px) {
              #Idea .Sp .timeline li dl h2 {
                font-size: 26px;
                margin-bottom: 10px; } }
          #Idea .Sp .timeline li dl p {
            font-size: 11px;
            margin-top: 10px; }
            @media (min-width: 768px) {
              #Idea .Sp .timeline li dl p {
                font-size: 14px; } }
      #Idea .Sp .timeline .border-line {
        position: absolute;
        left: 8.0px;
        top: 10px;
        width: 1px;
        height: 0;
        background: #9EF1FF; }

/*
---------------------------------------------------------------------------------------------------------------------
トップメッセージ
---------------------------------------------------------------------------------------------------------------------
*/
#TopMessage {
  position: relative;
  width: 100%;
  z-index: 10;
  height: auto;
  padding: 40px 0 0;
  background-color: #a1b5b6; }
  @media (min-width: 1024px) {
    #TopMessage {
      background: url("../img/Member/TopMessage_Md.webp");
      background-size: cover;
      background-position: center top;
      padding: 100px 0 100px; } }
  @media (min-width: 1250px) {
    #TopMessage {
      background: url("../img/Member/TopMessage.webp");
      background-size: cover;
      background-position: center top;
      padding: 140px 0 200px; } }
  #TopMessage .Message {
    padding-left: 5%;
    color: #fff; }
    #TopMessage .Message .Title {
      margin-bottom: 20px; }
      @media (min-width: 1024px) {
        #TopMessage .Message .Title {
          margin-bottom: 50px; } }
      #TopMessage .Message .Title h6 {
        font-size: 1.3em;
        line-height: 1.2em;
        letter-spacing: 0.12em;
        color: #E6E6E6; }
        @media (min-width: 1024px) {
          #TopMessage .Message .Title h6 {
            font-size: 1.5em; } }
      #TopMessage .Message .Title h3 {
        font-size: 0.8em;
        line-height: 1.2em;
        font-weight: normal;
        margin-top: 10px; }
        @media (min-width: 1024px) {
          #TopMessage .Message .Title h3 {
            font-size: 0.90em; } }
    #TopMessage .Message .Copy {
      margin-bottom: 30px; }
      @media (min-width: 1024px) {
        #TopMessage .Message .Copy {
          margin-bottom: 60px; } }
      #TopMessage .Message .Copy h2 {
        font-size: 1.4em;
        line-height: 1.2em;
        letter-spacing: 0.12em; }
        @media (min-width: 1024px) {
          #TopMessage .Message .Copy h2 {
            font-size: 1.75em; } }
        #TopMessage .Message .Copy h2 .first {
          margin-bottom: 20px; }
    #TopMessage .Message p {
      font-size: 0.90em;
      line-height: 1.8em;
      text-align: justify;
      width: 92%;
      margin-bottom: 20px;
      position: relative; }
      @media (min-width: 1024px) {
        #TopMessage .Message p {
          font-size: 0.95em;
          line-height: 2.2em;
          max-width: 480px;
          margin-bottom: 40px; } }
    #TopMessage .Message .Name {
      margin: 30px 0 0 0px;
      position: relative; }
      @media (min-width: 1024px) {
        #TopMessage .Message .Name {
          margin: 30px 0 0 60px; } }
      #TopMessage .Message .Name h4 {
        font-size: 0.75em;
        line-height: 1.2em;
        font-weight: normal; }
      #TopMessage .Message .Name img {
        max-width: 380px;
        width: 80%;
        height: auto;
        margin: 0px 0 0 0px; }
        @media (min-width: 1024px) {
          #TopMessage .Message .Name img {
            margin: -20px 0 0 60px; } }
  #TopMessage .SPimg {
    margin-top: -100px; }
    @media (min-width: 768px) {
      #TopMessage .SPimg {
        width: 60%;
        margin-left: 40%;
        margin-top: -200px; } }
    @media (min-width: 1024px) {
      #TopMessage .SPimg {
        display: none; } }
    #TopMessage .SPimg img {
      width: 100%;
      height: auto; }

/*
---------------------------------------------------------------------------------------------------------------------
メンバー紹介
---------------------------------------------------------------------------------------------------------------------
*/
.Introduction {
  position: relative;
  width: 100%;
  margin: auto;
  padding: 60px 5%; }
  @media (min-width: 1024px) {
    .Introduction {
      padding: 140px 5%; } }
  .Introduction .menber-list {
    position: relative;
    margin-bottom: 80px; }
    @media (min-width: 1024px) {
      .Introduction .menber-list {
        display: flex;
        margin-bottom: 60px; } }
    .Introduction .menber-list .MemberImg {
      width: 100%; }
      @media (min-width: 1024px) {
        .Introduction .menber-list .MemberImg {
          display: flex;
          width: 55%; } }
      .Introduction .menber-list .MemberImg img {
        width: 100%;
        height: auto;
        border-radius: 40px; }
    @media (min-width: 1024px) {
      .Introduction .menber-list .MemberBox {
        position: absolute;
        left: 58%;
        top: 0;
        bottom: 0;
        display: flex;
        align-items: center; } }
    .Introduction .menber-list .MemberBox h3 {
      color: #fff;
      font-size: 22px;
      font-weight: bold;
      line-height: 1.2em;
      margin: 20px auto 10px; }
      @media (min-width: 1024px) {
        .Introduction .menber-list .MemberBox h3 {
          font-size: 24px; } }
    .Introduction .menber-list .MemberBox h4 {
      color: #fff;
      font-size: 15px;
      margin-bottom: 10px;
      line-height: 1.5em; }
      @media (min-width: 1024px) {
        .Introduction .menber-list .MemberBox h4 {
          font-size: 16px;
          margin-bottom: 25px; } }
    .Introduction .menber-list .MemberBox h5 {
      color: #999999;
      font-size: 13px;
      font-weight: normal;
      line-height: 1.8em;
      text-align: justify;
      margin-bottom: 20px; }
      @media (min-width: 1150px) {
        .Introduction .menber-list .MemberBox h5 {
          font-size: 15px;
          margin-bottom: 30px; } }

/*
---------------------------------------------------------------------------------------------------------------------
写真ループ
---------------------------------------------------------------------------------------------------------------------
*/
#photo-loop {
  background-color: #111;
  position: relative;
  padding: 0 0 0 0; }
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
  #photo-loop .recruit-btn {
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    height: 55px; }
    #photo-loop .recruit-btn a {
      color: #000;
      text-align: center;
      border-radius: 50px;
      transition: .5s;
      background-color: #fff;
      font-size: 1.45em;
      font-weight: bold;
      padding: 10px 50px 12px;
      position: relative;
      max-width: 350px;
      width: 80%; }
      #photo-loop .recruit-btn a::after {
        position: absolute;
        top: 50%;
        right: 20px;
        content: '';
        margin: -5px 0 0 0;
        width: 10px;
        height: 10px;
        border: 0px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        transition: .5s;
        opacity: 0; }
      #photo-loop .recruit-btn a::before {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 18px;
        content: '';
        margin: auto;
        width: 10px;
        height: 10px;
        background-color: #000;
        -webkit-border-radius: 50%;
        border-radius: 50%;
        transition: .5s;
        transform: scale(1); }
      #photo-loop .recruit-btn a:hover::after {
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        opacity: 1; }
      #photo-loop .recruit-btn a:hover::before {
        background-color: #000;
        transform: scale(3); }
  #photo-loop .scroll-infinity-wrap {
    display: flex;
    overflow: hidden; }
    #photo-loop .scroll-infinity-wrap.ue ul {
      animation: infinity-scroll-left 50s infinite linear 0.5s both; }
      @media (min-width: 1024px) {
        #photo-loop .scroll-infinity-wrap.ue ul {
          animation: infinity-scroll-left 100s infinite linear 0.5s both; } }
    #photo-loop .scroll-infinity-wrap ul {
      display: flex;
      list-style: none;
      padding: 0;
      margin: 0; }
      #photo-loop .scroll-infinity-wrap ul li {
        width: 200px;
        height: auto;
        padding-right: 10px; }
        @media (min-width: 768px) {
          #photo-loop .scroll-infinity-wrap ul li {
            width: 400px;
            padding-right: 20px; } }
        #photo-loop .scroll-infinity-wrap ul li img {
          border-radius: 10px;
          vertical-align: bottom;
          width: 100%; }
  #photo-loop a {
    margin: 0 auto 80px;
    display: flex;
    justify-content: center; }
    #photo-loop a:hover .btn > img {
      right: 7px; }
  #photo-loop .btn {
    position: relative;
    display: inline-block;
    width: 210px;
    height: 54px;
    border-radius: 50px;
    background-color: #fff;
    margin-top: 20px; }
    #photo-loop .btn h4 {
      font-size: 0.9em;
      color: #000;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 24px;
      display: flex;
      align-items: center;
      margin: 0; }
    #photo-loop .btn img {
      width: 14px;
      height: auto;
      position: absolute;
      top: -1px;
      bottom: 0;
      right: 15px;
      display: flex;
      align-items: center;
      margin: auto;
      transition: .5s; }

#footer {
  background-color: #111; }

#menberfooter {
  background-color: #111;
  position: relative;
  padding-top: 100px; }
  @media (min-width: 768px) {
    #menberfooter {
      padding-top: 200px; } }
  #menberfooter #footer-mega-menu {
    margin: 0 auto; }
  #menberfooter .PcMenu .PcMenu2 {
    z-index: 10;
    position: relative; }
