@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
メインビジュアル
---------------------------------------------------------------------------------------------------------------------
*/
.page-upper .page-upper-in .header-hito {
  width: 40%; }
  @media (min-width: 768px) {
    .page-upper .page-upper-in .header-hito {
      top: -120px;
      width: 45%; } }
  @media (min-width: 1024px) {
    .page-upper .page-upper-in .header-hito {
      top: -10%; } }
.page-upper .page-upper-in .hitohito {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60%; }
  @media (min-width: 768px) {
    .page-upper .page-upper-in .hitohito {
      width: 45%; } }
  @media (min-width: 1024px) {
    .page-upper .page-upper-in .hitohito {
      width: 43%; } }
  .page-upper .page-upper-in .hitohito h2 {
    position: absolute;
    bottom: -4.5px;
    right: 0;
    font-family: 'Montserrat', sans-serif;
    font-style: italic;
    font-size: 2.0em;
    line-height: 1.0em;
    color: #fff; }
    @media (min-width: 1024px) {
      .page-upper .page-upper-in .hitohito h2 {
        bottom: -7px;
        font-size: 3.25em; } }
    @media (min-width: 1250px) {
      .page-upper .page-upper-in .hitohito h2 {
        bottom: -15px;
        font-size: 6.25em; } }
.page-upper .page-upper-in .copy-text {
  position: absolute;
  right: 55%;
  bottom: 0; }
  @media (min-width: 768px) {
    .page-upper .page-upper-in .copy-text {
      right: 43%; } }
  .page-upper .page-upper-in .copy-text h3 {
    font-size: 5vw;
    line-height: 40px;
    color: #fff;
    display: inline-block;
    text-align: center;
    background-color: #000;
    width: 90px;
    height: 42px; }
    @media (min-width: 768px) {
      .page-upper .page-upper-in .copy-text h3 {
        line-height: 70px;
        width: 150px;
        height: 80px; } }
    @media (min-width: 1024px) {
      .page-upper .page-upper-in .copy-text h3 {
        font-size: 3em;
        line-height: 90px;
        width: 245px;
        height: 100px; } }
.page-upper .page-upper-in #photo-loop {
  background-color: rgba(255, 255, 255, 0);
  padding: 60px 0 80px; }
  @media (min-width: 768px) {
    .page-upper .page-upper-in #photo-loop {
      padding: 60px 0 120px; } }
  @media (min-width: 1024px) {
    .page-upper .page-upper-in #photo-loop {
      padding: 100px 0 280px; } }

.hitohito-2 {
  margin-left: calc( 45% - 90px ); }
  @media (min-width: 768px) {
    .hitohito-2 {
      margin-left: calc( 57% - 150px ); } }
  @media (min-width: 1024px) {
    .hitohito-2 {
      margin-left: calc( 57% - 245px ); } }

.copy-text h4, .copy-text h5 {
  line-height: 1.0em;
  color: #fff;
  display: inline-block;
  text-align: center;
  background-color: #000;
  font-feature-settings: "palt";
  letter-spacing: 0.02em; }
.copy-text h4 {
  font-size: 2.5vw;
  padding: 6px 15px 12px; }
  @media (min-width: 1024px) {
    .copy-text h4 {
      font-size: 2.5vw;
      padding: 10px 20px 18px; } }
.copy-text h5 {
  font-size: 3.5vw;
  padding: 6px 10px 10px; }
  @media (min-width: 1024px) {
    .copy-text h5 {
      font-size: 2.5vw;
      padding: 8px 20px 15px; } }

#lower {
  margin: 20px 0 0 0; }
  @media (min-width: 1250px) {
    #lower {
      margin: -200px 0 0 0; } }
  #lower h3 {
    font-family: 'Montserrat', sans-serif;
    font-style: italic;
    line-height: 1.0em; }
  #lower .vision {
    overflow: hidden; }
    @media (min-width: 768px) {
      #lower .vision {
        display: flex; } }
    #lower .vision .vision-left {
      position: relative; }
      @media (min-width: 1024px) {
        #lower .vision .vision-left {
          width: 55%;
          max-width: 800px;
          margin-bottom: 10px; } }
      @media (min-width: 1250px) {
        #lower .vision .vision-left {
          width: 45%; } }
      #lower .vision .vision-left img {
        width: 80%; }
        @media (min-width: 768px) {
          #lower .vision .vision-left img {
            width: 55%; } }
        @media (min-width: 1024px) {
          #lower .vision .vision-left img {
            width: 100%; } }
      #lower .vision .vision-left .moji {
        position: absolute;
        bottom: 0; }
        #lower .vision .vision-left .moji .slideAnimeLeftRight {
          padding: 0 5px 0 0; }
        #lower .vision .vision-left .moji h3 {
          font-size: 1.125em;
          line-height: 0.8;
          color: #fff;
          margin: 0 0 -4px 10px; }
          @media (min-width: 768px) {
            #lower .vision .vision-left .moji h3 {
              font-size: 1.5em; } }
          @media (min-width: 1024px) {
            #lower .vision .vision-left .moji h3 {
              font-size: 2.1em; } }
        #lower .vision .vision-left .moji .copy-text .second {
          display: flex;
          justify-content: flex-end; }
    #lower .vision .vision-right {
      position: relative; }
      @media (min-width: 1024px) {
        #lower .vision .vision-right {
          width: 45%; } }
      @media (min-width: 1250px) {
        #lower .vision .vision-right {
          width: 65%; } }
      #lower .vision .vision-right .slideAnimeLeftRight {
        padding: 0 0 5px; }
      #lower .vision .vision-right h2 {
        font-family: 'Montserrat', sans-serif;
        font-style: italic;
        font-size: 20vw;
        line-height: 1em; }
        @media (min-width: 768px) {
          #lower .vision .vision-right h2 {
            font-size: 14vw;
            line-height: 0.71em;
            position: absolute;
            bottom: 0;
            right: -10px; } }
        @media (min-width: 1024px) {
          #lower .vision .vision-right h2 {
            font-size: 13vw;
            bottom: 10px; } }
        @media (min-width: 1250px) {
          #lower .vision .vision-right h2 {
            font-size: 16vw; } }
  #lower .slogan {
    margin: 20px 0 80px; }
    @media (min-width: 768px) {
      #lower .slogan {
        margin: 40px 0 120px; } }
    @media (min-width: 1024px) {
      #lower .slogan {
        margin: 80px 0 100px; } }
    #lower .slogan p {
      font-size: 1.25em;
      font-weight: 900;
      line-height: 1.6em;
      margin-left: 5%;
      padding-right: 5%; }
      @media (min-width: 768px) {
        #lower .slogan p {
          font-size: 1.5em; } }
      @media (min-width: 1024px) {
        #lower .slogan p {
          font-size: 2.50em;
          margin-left: 10%; } }
  #lower .who {
    position: relative;
    float: right; }
    #lower .who .hito2 {
      position: relative;
      margin-left: -22%; }
      @media (min-width: 1024px) {
        #lower .who .hito2 {
          margin-left: -10%; } }
      #lower .who .hito2 .slideAnimeLeftRight {
        padding: 2px 5px 0 0; }
      #lower .who .hito2 h3 {
        font-size: 8vw;
        line-height: 0.7em; }
        @media (min-width: 1024px) {
          #lower .who .hito2 h3 {
            font-size: 5.3vw; } }
      #lower .who .hito2 img {
        width: 60%;
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: -5; }
        @media (min-width: 1024px) {
          #lower .who .hito2 img {
            width: 50%; } }
  #lower .philosophy {
    margin: 100px 0 0 0; }
    #lower .philosophy .hito3 {
      position: relative;
      clear: both; }
      @media (min-width: 1250px) {
        #lower .philosophy .hito3 {
          clear: none; } }
      #lower .philosophy .hito3 .slideAnimeLeftRight {
        padding: 0 5px 0 0; }
      #lower .philosophy .hito3 img {
        width: 40%; }
        @media (min-width: 1024px) {
          #lower .philosophy .hito3 img {
            width: 30%; } }
      #lower .philosophy .hito3 h3 {
        font-size: 8.5vw;
        line-height: 0.75em;
        position: absolute;
        bottom: -2.5px;
        left: 20%; }
        @media (min-width: 1024px) {
          #lower .philosophy .hito3 h3 {
            font-size: 4.5vw; } }
        @media (min-width: 1250px) {
          #lower .philosophy .hito3 h3 {
            color: #000;
            right: 0; } }

#history {
  max-width: 1400px;
  margin: 100px auto 100px;
  width: 90%; }
  @media (min-width: 768px) {
    #history {
      margin: 150px auto 100px; } }
  @media (min-width: 1250px) {
    #history {
      margin: 0 auto 100px; } }
  #history .history-title {
    position: relative; }
    #history .history-title .slideAnimeRightLeft {
      padding: 0 15px 0 0; }
    #history .history-title h2 {
      font-family: 'Montserrat', sans-serif;
      font-style: italic;
      font-size: 12vw;
      line-height: 1.0em;
      text-align: right;
      position: relative;
      z-index: 5;
      bottom: 20px; }
      @media (min-width: 768px) {
        #history .history-title h2 {
          font-size: 9vw;
          bottom: 40px; } }
      @media (min-width: 1250px) {
        #history .history-title h2 {
          font-size: 8.4em;
          bottom: 60px; } }
    #history .history-title .hitophoto {
      position: absolute;
      bottom: -10px;
      right: 0;
      width: 60%; }
      @media (min-width: 768px) {
        #history .history-title .hitophoto {
          width: 50%; } }
      @media (min-width: 1024px) {
        #history .history-title .hitophoto {
          width: 40%; } }
  @media only screen and (min-width: 768px) {
    #history .o-6column .col-lg-6 {
      padding: 0 10px; }
    #history .o-6column {
      margin: 0 -10px; } }
  @media only screen and (min-width: 1024px) {
    #history .o-6column .col-lg-6 {
      padding: 0 15px; }
    #history .o-6column {
      margin: 0 -15px; } }
  #history .history-box {
    margin-bottom: 50px; }
    #history .history-box .title {
      display: flex;
      background-color: #17ADAA;
      height: 40px;
      position: relative; }
      @media (min-width: 1024px) {
        #history .history-box .title {
          height: 50px; } }
      #history .history-box .title h3 {
        font-family: 'Montserrat', sans-serif;
        font-style: italic;
        font-size: 3.0em;
        line-height: 1.0em;
        position: absolute;
        top: -20px;
        left: 25px; }
        @media (min-width: 1250px) {
          #history .history-box .title h3 {
            font-size: 4.0em;
            top: -25px; } }
      #history .history-box .title h4 {
        font-size: 0.75em;
        line-height: 1.0em;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 100%;
        padding-right: 30px; }
    #history .history-box .contents {
      display: flex;
      padding: 15px 10px 0; }
      @media (min-width: 1024px) {
        #history .history-box .contents {
          padding: 20px; } }
      #history .history-box .contents .photo {
        width: 40%; }
      #history .history-box .contents .text {
        width: 100%;
        padding-left: 5%; }
        #history .history-box .contents .text p {
          font-size: 0.9em;
          line-height: 1.8em; }
          @media (min-width: 1250px) {
            #history .history-box .contents .text p {
              font-size: 1.1em; } }
          #history .history-box .contents .text p a {
            color: #17ADAA;
            position: relative; }
            #history .history-box .contents .text p a::after {
              position: absolute;
              bottom: 0;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #17ADAA;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            #history .history-box .contents .text p a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
        #history .history-box .contents .text ul li {
          font-size: 0.9em;
          line-height: 1.4em;
          margin-bottom: 10px; }
          @media (min-width: 1250px) {
            #history .history-box .contents .text ul li {
              font-size: 1.1em; } }
          #history .history-box .contents .text ul li a {
            color: #17ADAA;
            position: relative; }
            #history .history-box .contents .text ul li a::after {
              position: absolute;
              bottom: 0;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #17ADAA;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            #history .history-box .contents .text ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }

#page-banner .b-about-us {
  display: none; }
#page-banner .btn-right {
  display: none; }
